ROS 2 · Autonomous mobile robotics
Autonomous Patrol Robot Using ROS 2 + Nav2.
An autonomous mobile robot system using a TortoiseBot Pro Max for indoor patrol, built with ROS 2 Humble, Nav2, AMCL localization, occupancy-grid mapping, dynamic replanning, and custom mission-level autonomy.
Estimate the robot pose using LiDAR and an occupancy map.
Generate paths to each patrol waypoint.
Dispatch goals and monitor navigation status.
Retry, clear costmaps, or skip unreachable waypoints.
01 / Problem
A patrol robot needs more than one-shot navigation.
A patrol robot must localize itself, visit multiple waypoints, recover from failures, and adapt when obstacles appear. Simply sending one navigation goal is not enough for continuous autonomous patrol.
02 / Solution
A complete navigation and mission-management stack.
I built a ROS 2 Humble simulation using Gazebo, Nav2, AMCL, LiDAR, odometry, and occupancy-grid maps.
I added a custom Python Patrol Manager node that loads patrol waypoints, sends NavigateToPose goals, monitors goal status, retries failed goals, clears costmaps, skips unreachable waypoints, and continuously loops through the patrol route.
03 / Mission-Level Autonomy
Navigation behavior beyond the default Nav2 demo.
Read a predefined patrol route containing multiple waypoints.
Send each waypoint as a NavigateToPose action goal.
Track navigation feedback and the final status of each goal.
Retry failed goals, clear costmaps, and skip waypoints that remain unreachable.
Continuously loop through the complete patrol route.
04 / Impact
Continuous and failure-aware autonomous patrol.
The system demonstrated autonomous goal execution, runtime obstacle avoidance, dynamic replanning, and mission-level patrol behavior beyond basic Nav2 navigation.
05 / Simulation Videos
Autonomous patrol in simulation.
These simulation runs demonstrate multi-waypoint navigation, autonomous patrol execution, obstacle avoidance, and runtime replanning.
Multi-waypoint autonomous patrol
Obstacle avoidance and dynamic replanning
06 / Technologies