kc_vision: Open source-robot kombinerer SLAM, Nav2 og GPS-basert dekningsplanlegging

3 min lesetid

**En masterstudent i robotikk og AI har sluppet kc_vision, et komplett open source-prosjekt for autonome bakkeroboter.** Prosjektet kombinerer SLAM-basert kartlegging, Nav2-navigasjon og en GPS-styrt dekningsplanlegger som selvstendig kan sveipe hele utendørsområder. La oss se hva dette kan gjøre for hobbyister og studenter som vil bygge egne robotplattformer.

Autonome bakkeroboter har lenge vært forbeholdt de med tilgang til dyr maskinvare og komplekse programvarestacker. Med kc_vision senkes terskelen betraktelig — hele simuleringsmiljøet kjører ut av boksen på Ubuntu 24.04, uten behov for fysisk robot.

Fra kartlegging til autonom navigasjon

Kjernen i prosjektet er en fleksibel navigasjonsstack bygget på ROS 2 Jazzy og Gazebo Harmonic. Roboten kan bygge sine egne kart ved hjelp av enten SLAM Toolbox eller Google Cartographer, og deretter navigere autonomt til mål man klikker på direkte i RViz. Selve navigasjonen håndteres av Nav2, som gir robust hinderdeteksjon og -unngåelse underveis.

For sensorfusjon brukes robot_localization med et Extended Kalman Filter (EKF), som kombinerer data fra flere kilder for mer nøyaktig posisjonsestimering. Drivverket styres via ros2_control med differensialdrift-konfigurasjon, en velkjent og pålitelig løsning for mobile roboter.

GPS-basert dekningsplanlegging — det virkelig interessante

Det som skiller kc_vision fra mange andre navigasjonsprosjekter er GPS-dekningsplanleggeren. I stedet for å kreve et forhåndsbygget kart, kan roboten navigere utendørs ved hjelp av GPS-waypoints alene.

Drive to 4 corners of an area, log the GPS waypoints with gps_waypoint_logger.py, then run gps_coverage_planner.py. It computes parallel sweep rows (0.2 m spacing, configurable) and autonomously drives the entire boundary.

Praktisk betyr dette at man kjører roboten manuelt til fire hjørner av et område, logger GPS-koordinatene, og deretter lar planleggeren beregne parallelle sveiperader — et såkalt boustrophedon-mønster (samme prinsipp som når man slår gresset i rader frem og tilbake). Radavstanden er konfigurerbar, standard satt til 0,2 meter, noe som gjør løsningen aktuell for oppgaver som gressklipping, jordovervåking eller inspeksjon av åpne arealer.

Teknisk stack og fremtidsplaner

Hele prosjektet er bygget rundt en moderne ROS 2-arkitektur:

ROS 2 Jazzy · Gazebo Harmonic · Nav2 · SLAM Toolbox / cartographer_ros · robot_localization · ros2_control

Utvikleren planlegger å legge til micro-ROS-støtte i en kommende maskinvarefase, noe som vil gjøre det mulig å overføre simuleringen direkte til fysiske mikrokontrollere og ekte robotplattformer. Dette gjør kc_vision spesielt interessant for studenter og hobbyister som vil teste konsepter i simulering før man investerer i fysisk maskinvare.

Siden hele stacken er åpen kildekode og bygget på standard ROS 2-komponenter, er prosjektet godt egnet som utgangspunkt for egne prosjekter innen presisjonslandbruk, overvåking eller generell utendørs robotikk. Kombinasjonen av innendørs SLAM-navigasjon og utendørs GPS-dekning gjør plattformen fleksibel nok til å dekke svært ulike bruksområder.

Kilde: ROS Discourse

Mer om robotikk og ros

Se alle →