Skip to content

SLAM with TurtleBot3

Darko Lukić edited this page Oct 19, 2020 · 20 revisions

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

Unfortunately, the turtlebot3_cartographer package is not yet available as a Debian package so you have to build it manually:

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/cyberbotics/webots_ros2.git

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

# Building packages
colcon build --packages-up-to turtlebot3_cartographer

Run Cartographer

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

ros2 launch webots_ros2_core robot_launch.py \
    executable:=webots_differential_drive_node \
    node_parameters:=$(ros2 pkg prefix webots_ros2_examples --share)/resource/turtlebot3_burger.yaml \
    world:=$(ros2 pkg prefix webots_ros2_examples --share)/worlds/turtlebot3_burger_example.wbt

In the second terminal, launch cartographer as:

ros2 launch turtlebot3_cartographer cartographer.launch.py \
    use_sim_time:=true
Clone this wiki locally