-
-
Notifications
You must be signed in to change notification settings - Fork 176
SLAM with TurtleBot3
Darko Lukić edited this page Dec 13, 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.
sudo apt install ros-foxy-turtlebot3-cartographeror 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.bashOnce the turtlebot3_cartographer package is ready to launch a Webots simulation:
ros2 launch webots_ros2_turtlebot robot_launch.pybefore webots_ros2 1.0.3
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.wbtIn the second terminal, launch cartographer as:
ros2 launch turtlebot3_cartographer cartographer.launch.py \
use_sim_time:=trueYou may need to run the command 2 or 3 times to get it working. The cartographer package seems to be buggy.

On the official TurtleBot3 website you can find more information about SLAM configuration.
- The Ros2Supervisor Node
- Using URDF or Xacro
- Import your URDF Robot in Webots
- Refresh or Add URDF a Robot in a Running Simulation
- Wheeled robots
- Robotic arms
- Automobiles
- Drones