A ROS 2 Gazebo simulation of a differential drive robot.
- SLAM thanks to slam_toolbox
- Autonmous navigation thanks to nav2
- Multi-robot simulation
- Gazebo Classic 11.10.2
| ROS Version | Ubuntu Version | Branch | Multi-Robot Support |
|---|---|---|---|
| ROS 2 Foxy | 20.04 | main | ☐ No |
| ROS 2 Humble | 22.04 | Humble | ☑ Yes |
cd ~/ros2_ws/src
git clone https://github.com/hcdiekmann/pathfinder.gitcd ~/ros2_ws
colcon build
. install/setup.bashros2 launch pathfinder single_bot_sim.launch.py world:=~/ros2_ws/src/pathfinder/worlds/test.worldros2 run teleop_twist_keyboard teleop_twist_keyboardcd ~/ros2_ws
rviz2 -d src/pathfinder/config/view_lidar_sim.rviz cd ~/ros2_ws
rviz2 -d src/pathfinder/config/view_nav2_slam.rviz This has currently only been tested on ROS 2 Humble
ros2 launch pathfinder multi_bot_sim.launch.pyLaunching the simulation with multiple robots automatically starts RViz for each robot.
NOTE: Spawning multiple robots with online SLAM and the full navigation stack in each namespace requires a capable dev machine.
An explotation node was added to ensure autonomous exploration.
Run in terminal: ros2 launch pathfinder single_bot_sim.launch.py
If you want to test it on different worlds: ros2 launch pathfinder single_bot_sim.launch.py world:=/usr/share/gazebo-11/worlds/willowgarage.world
To visualize in rviz: rviz2 -d ~/ros2_ws/src/pathfinder/config/view_nav2_slam.rviz
In rviz dont forget to add tf, robotmodel,path (topic /plan) ,laserscan (topic /scan)


