
Autonomous Rover
ROS 2 · SLAM · Navigation · 2026
- Role
- Navigation & Controls Software
- Timeline
- Jan 2026 – Apr 2026
- Team
- Team of 3
- Tools
- ROS 2, Python, C++, Arduino, Nav2, LiDAR SLAM
Built a ROS 2 rover that maps a room with LiDAR, localizes itself without drift, and navigates it autonomously.
The Problem
We wanted to build a fully autonomous mobile robot from the ground up. It had to localize itself and navigate an unknown space in real time, not rely on a pre-mapped route or a joystick.
My Approach
I worked with two teammates and built the ROS 2 stack bridging Python and C++ navigation nodes to low-level Arduino motor control, over a custom serial bridge I wrote myself. I integrated an SL LiDAR for 2D SLAM mapping, wrote dual-track encoder ISRs for wheel odometry, and tuned the PID motor controllers by hand. Nav2 handled path planning, and I built a joystick teleop mode for manual runs when we needed one.
Outcome
The rover localized without drift and built usable SLAM maps in real time. It navigated test environments autonomously through Nav2, no manual correction needed.
