Navigate TurtleBot3 - cyberbotics/webots_ros2 GitHub Wiki
Before proceeding, make sure you have the
webots_ros2
package installed — Getting Started.
In this tutorial, we want to show you how to navigate TurtleBot3 Burger in Webots simulation. You will see that Webots uses a standard ROS2 interface that can be used with the TurtleBot3 Navigation2 package without modifications.
sudo apt install ros-${ROS_DISTRO}-turtlebot3-navigation2
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
Once the turtlebot3_navigation2
package is ready you can launch a Webots simulation:
ros2 launch webots_ros2_turtlebot robot_launch.py nav:=true
This will run RViz and the Navigation 2 package in addition to the Webots simulation. The map file is provided to the launcher file and is centered and rotated to match the robot's initial position. The initial position is therefore (x=0.0, y=0.0, yaw=0.0)
and is provided to the navigation package in the configuration file nav2_params.yaml
. Once every node is started, you can choose a goal position and orientation with the Navigation2 Goal
button in RViz. The robot will plan a trajectory and move to the pose you defined inside Webots and RViz.
On the official TurtleBot3 website you can find more information about navigation.