Autonomous Navigation Robot
ROS 2 mobile robot with mapping, localization and autonomous navigation
- ROS 2
- Nav2
- SLAM Toolbox
- Gazebo
- Raspberry Pi
- Arduino
Problem Statement
Indoor mobile platforms in institutions and small factories still rely on manual driving or fixed line-following, which cannot adapt to changing layouts, dynamic obstacles or rescue scenarios.
Objectives
- Build a ROS 2 differential-drive robot capable of autonomous point-to-point navigation.
- Generate reliable 2D maps of indoor environments.
- Achieve stable localization and dynamic obstacle avoidance.
- Create a modular base for future Surveillance and Rescue payloads.
Hardware Used
- Raspberry Pi 4 (ROS 2 compute)
- Arduino motor controller
- 2D LiDAR
- DC geared motors with quadrature encoders
- Motor driver and Li-ion power distribution
Software Used
- ROS 2
- Nav2
- SLAM Toolbox
- Gazebo
- RViz
- Python
- C++
- Linux
System Architecture
- Sensor layer: LiDAR scans and wheel encoders publish /scan and /odom.
- State layer: robot_state_publisher and TF tree maintain frames.
- Mapping layer: SLAM Toolbox builds and serves the occupancy grid.
- Navigation layer: Nav2 planner, controller and behaviour trees output /cmd_vel.
- Actuation layer: microcontroller firmware converts velocity to PWM.
Challenges
- TF timing mismatches causing localization drift.
- Noisy encoder odometry on uneven floors.
- Tuning Nav2 costmaps for narrow corridors.
Solutions
- Synchronised timestamps and corrected the TF tree hierarchy.
- Applied odometry filtering and recalibrated wheel parameters.
- Tuned inflation radius, footprint and controller gains iteratively in Gazebo before hardware runs.
Key Features
- 2D occupancy mapping with SLAM Toolbox
- AMCL localization and Nav2 path planning
- Gazebo simulation before hardware deployment
- Differential-drive base with encoder odometry
- Obstacle avoidance using LiDAR scans
Future Improvements
- Integrate a camera for Surveillance and Rescue (SAR) mode.
- Add YOLO-based human detection for rescue alerts.
- Multi-floor navigation and fleet coordination.