Skip to content

SLAM with TurtleBot3

ad-daniel edited this page Sep 22, 2022 · 20 revisions

TurtleBot3 Burger SLAM

Before proceeding, make sure you have the webots_ros2 package installed — Getting Started.

In this tutorial, we want to show you how to use SLAM with Webots simulated TurtleBot3 Burger. You will see that Webots uses a standard ROS2 interface that can be used with the TurtleBot3 SLAM package without modifications.

Install turtlebot3_cartographer Package for ROS2

sudo apt install ros-${ROS_DISTRO}-turtlebot3-cartographer
or compile the package from source

To compile the turtlebot3_navigation2 package do the following:

source /opt/ros/${ROS_DISTRO}/local_setup.bash

# Retrieve the sources
cd /path/to/ros2_ws
git clone -b ${ROS_DISTRO}-devel https://github.com/ROBOTIS-GIT/turtlebot3.git src/turtlebot3

# Check dependencies
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}

# Building packages
colcon build --packages-up-to turtlebot3_navigation2
source install/local_setup.bash

Run Cartographer

Once the turtlebot3_cartographer package is ready to launch a Webots simulation:

ros2 launch webots_ros2_turtlebot robot_launch.py

In the second terminal, launch cartographer as:

ros2 launch turtlebot3_cartographer cartographer.launch.py \
    use_sim_time:=true

You may need to run the command 2 or 3 times to get it working. The cartographer package seems to be buggy.

TurtleBot3 Burger SLAM

On the official TurtleBot3 website you can find more information about SLAM configuration.

Clone this wiki locally