Hi ROS community! I’m sharing kc_vision, a fully open-sourced autonomous ground robot project I built during my M.Tech in Robotics & AI. The complete simulation stack runs out of the box on Ubuntu 24.04 — no hardware needed to try it.
What it does
- Builds its own maps (SLAM Toolbox or Google Cartographer)
- Navigates autonomously to clicked goals in RViz (Nav2 + obstacle avoidance)
- Follows GPS waypoints outdoors without a pre-built map
- Sweeps entire outdoor areas with a boustrophedon coverage planner — mark 4 GPS corners, it handles the rest
Tech stack
- ROS 2 Jazzy
- Gazebo Harmonic
- Nav2
- SLAM Toolbox / cartographer_ros
- robot_localization (EKF sensor fusion)
- ros2_control (differential drive)
- micro-ROS (planned for hardware phase)
The GPS coverage planner (the interesting part)
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 boustrophedon pattern. No map needed — EKF sensor fusion via robot_localization keeps the position accurate outdoors.
Hardware (parallel build in progress)
Raspberry Pi 5 · STM32 via micro-ROS · YDlidar · BNO086 · NEO-M8N GPS
Mechanical design done .
GitHub: git@github.com:bingikiranchand932-hub/kc_vision_ws.git
Happy to answer any questions about the GPS coverage planner implementation or the EKF sensor fusion tuning!
cc: @smac2 @SteveMacenski @JWhitleyWork @joshnewans