Edit on GitHub

Basic Examples

WARNING: Make sure to run the Bringup instruction before performing this examples, and be careful when testing the robot on the table as the robot might fall.


  • This instruction was tested on Ubuntu 16.04 and ROS Kinetic Kame.
  • This instruction is supposed to be running on the remote PC. Follow the instruction on your Remote PC.


  • We are happy to announce a new ROS book: “ROS Robot Programming, A Handbook is written by TurtleBot3 Developers”. This book has been published in Korean, English, Chinese and Japanese. It contains the following:
    • ROS Kinetic Kame: Basic concept, instructions and tools
    • How to use sensor and actuator packages on ROS
    • Embedded board for ROS: OpenCR
    • SLAM & Navigation with TurtleBot3
    • How to program a delivery robot using ROS Java
    • OpenMANIPULATOR simulation using MoveIt! and Gazebo
  • Please refer to this book for more information on ROS, SLAM, and Navigation that are not covered in this e-manual. You can download the pdf of this book.

The contents in e-Manual can be updated without a previous notice. Therefore, some video may differ from the contents in e-Manual.

Move using Interactive Markers

The TurtleBot3 can be moved by Interactive Markers on RViz. You can move the TurtleBot3 to rotate or linear using Interactive Markers.

[Remote PC] Open a new terminal and launch the remote file.

TIP: Before executing this command, you have to specify the model name of TurtleBot3. The ${TB3_MODEL} is the name of the model you are using in burger, waffle, waffle_pi. If you want to permanently set the export settings, please refer to Export TURTLEBOT3_MODEL page.

$ roslaunch turtlebot3_bringup turtlebot3_remote.launch

[Remote PC] launch the interactive markers file.

$ roslaunch turtlebot3_example interactive_markers.launch

[Remote PC] Visualize the model in 3D with RViz.

$ rosrun rviz rviz -d `rospack find turtlebot3_example`/rviz/turtlebot3_interactive.rviz

Obstacle Detection

The TurtleBot3 can be moved or stopped by LDS data. When the TurtleBot3 moves, it stops when it detects an obstacle ahead.

[Remote PC] Launch the obstacle file.

$ roslaunch turtlebot3_example turtlebot3_obstacle.launch

Point Operation

The TurtleBot3 can be moved by 2D point (x, y) and z-angular. For example, if you insert (0.5, 0.3, 60), TurtleBot3 moves to point (x = 0.5m, y = 0.3m) and then rotates 60 deg.

[Remote PC] launch the pointop file.

$ roslaunch turtlebot3_example turtlebot3_pointop_key.launch


The TurtleBot3 can be moved by custom routes. There are three routes(rectangle, triangle and circle). This example uses action topic. Action client translates patrol data(mode, area, count) to action server. And then action server translates cmd_vel to TurtleBot3. Please refer to the above tutorial video for more detailed usage.

[Remote PC] Launch the patrol server file.

$ rosrun turtlebot3_example turtlebot3_server

[Remote PC] Launch the patrol client file.

$ roslaunch turtlebot3_example turtlebot3_client.launch