Skip to content

Emaaaad/Autonomous_Navigation_TurtleBot

Repository files navigation

Autonomous TurtleBot3 Navigation

In this project we implement autonomous navigation for the TurtleBot3 in a simulated maze environment using ROS 2. It includes SLAM mapping, path planning, and goal-based navigation using Nav2.

Demo Video

🎥 Click here to watch the demo

Installation & Build

Clone the repository:

git clone https://github.com/Emaaaad/autonomous_turtle_bot3.git
cd autonomous_turtle_bot3

Install dependencies:

sudo apt update && rosdep install --from-paths src --ignore-src -r -y

Build the package:

colcon build
source install/setup.bash

Running the Simulation

Launch Gazebo & SLAM:

ros2 launch autonomous_tb3 maze_navigation.launch.py

Save the map (after exploration):

ros2 run nav2_map_server map_saver_cli -f <path_to_save>

Run autonomous navigation:

ros2 run autonomous_tb3 maze_solver

Notes:

Notes

  • The robot starts at (-9, 8) in the maze.
  • The project supports both Google Cartographer and SLAM Toolbox for mapping. You have to choose one before running.
  • If the robot spawns in the wrong location, restart Gazebo.
  • To reset the map and start fresh, delete the previous map files before launching SLAM.
  • If you experience localization issues, check that /map and /tf topics are being published.
  • Always source the workspace before running commands:
    source install/setup.bash
  • If the robot is not moving, check that Nav2 is active and the goal is correctly set.

About

Autonomous navigation project using ROS2 with SLAM Toolbox & Google Cartographer for mapping. The robot navigates a custom-designed map, leveraging Nav2 for path planning and AMCL for localization. Implements waypoint navigation via API commands. Includes mapping, obstacle avoidance, and path optimization.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors