Autonomous Driving
Autonomous controlling to drive the robot

Obstacle Detection
The TurtleBot3 can be moved or stopped by Realsense data. When the TurtleBot3 moves, it stops when it detects an obstacle ahead.
roslaunch turtlebot3_example turtlebot3_pointop_key.launch

Navigation Point
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.
roslaunch turtlebot3_example turtlebot3_pointop_key.launch

Patrol
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.
rosrun turtlebot3_example turtlebot3_server
roslaunch turtlebot3_example turtlebot3_client.launch

SLAM
The SLAM (Simultaneous Localization and Mapping) is a technique to draw a map by estimating current location in an arbitrary space. The SLAM is a well-known feature of TurtleBot from its predecessors. The video here shows you how accurately TurtleBot3 can draw a map with its compact and affordable platform.
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Navigation
Navigation is to move the robot from one location to the specified destination in each environment. For this purpose, a map that contains geometry information of furniture, objects, and walls of the given environment is required. As described in the previous SLAM section, the map was created with the distance information obtained by the sensor and the pose information of the robot itself.