ROS 2-based navigation system with mapping, path planning, and path following nodes. A user can set a goal position, and the robot will autonomously navigate to it while avoiding obstacles along the way.
- Mapping – Generates a map of the environment using onboard sensors.
- Path Planning – Calculates an optimal path from the robot’s current position to the goal using the A* algorithm on a costmap.
- Path Following – Executes the planned path, dynamically avoiding obstacles, with emergency stop if a new obstacle appears directly in front of the robot.
- Supports goal input via RViz or custom interfaces.
The path planning module uses A* on a costmap to compute an optimal route to the goal.
- Black line – Path computed by the A* algorithm.
- Red line – Interpolated path for smoother following.
The following plot compares the desired and measured robot orientation during path following, as well as the tracking error.
- ROS 2
nav_msgs,geometry_msgs,sensor_msgs,tf2_ros- A robot setup with odometry and sensor data (e.g., LiDAR)
ros2 launch mapping mapping.launch.py ros2 launch path_planning path_planning.launch.pyros2 launch path_following path_following.launch.py 