Turtlebot3 Tutorial
# References
[emanual](https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/#pc-setup)
[ROBOTIS-GIT/turtlebot3](https://github.com/ROBOTIS-GIT/turtlebot3)
# Installation
## Install ROS and dependences
Install ROS noetic:
```sh
$ sudo apt update
$ sudo apt upgrade
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_noetic.sh
$ chmod 755 ./install_ros_noetic.sh
$ bash ./install_ros_noetic.sh
```
Install ROS dependencies:
```sh
$ sudo apt-get install ros-melodic-joy ros-melodic-teleop-twist-joy \
ros-melodic-teleop-twist-keyboard ros-melodic-laser-proc \
ros-melodic-rgbd-launch ros-melodic-depthimage-to-laserscan \
ros-melodic-rosserial-arduino ros-melodic-rosserial-python \
ros-melodic-rosserial-server ros-melodic-rosserial-client \
ros-melodic-rosserial-msgs ros-melodic-amcl ros-melodic-map-server \
ros-melodic-move-base ros-melodic-urdf ros-melodic-xacro \
ros-melodic-compressed-image-transport ros-melodic-rqt* \
ros-melodic-gmapping ros-melodic-navigation ros-melodic-interactive-markers
```
## Install Turtlebot3
```sh
$ sudo apt install ros-noetic-dynamixel-sdk ros-noetic-turtlebot3-msgs ros-noetic-turtlebot3
```
## Get Source code
```sh
cd catkin_ws/src
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
```
# Network Configuration
# [Gazebo Simulation](https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/#gazebo-simulation)
Empty World
```sh
$ export TURTLEBOT3_MODEL=burger
$ roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch
```
TurtleBot3 World
```sh
$ export TURTLEBOT3_MODEL=waffle
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
```
TurtleBot3 House
```sh
$ export TURTLEBOT3_MODEL=waffle_pi
$ roslaunch turtlebot3_gazebo turtlebot3_house.launch
```
# Operate Robot
## Teleoperation
```sh
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
```
#### [PS3 Joystick](https://emanual.robotis.com/docs/en/platform/turtlebot3/basic_operation/#ps3-joystick)
```sh
sudo apt-get install ros-melodic-joy ros-melodic-joystick-drivers ros-melodic-teleop-twist-joy
$ roslaunch teleop_twist_joy teleop.launch
```
#### [XBOX 360 Joystick](https://emanual.robotis.com/docs/en/platform/turtlebot3/basic_operation/#xbox-360-joystick)
```sh
$ sudo apt-get install xboxdrv ros-melodic-joy ros-melodic-joystick-drivers ros-melodic-teleop-twist-joy
$ sudo xboxdrv --silent
$ roslaunch teleop_twist_joy teleop.launch
```
# SLAM
```sh
$ export TURTLEBOT3_MODEL=${TB3_MODEL}
$ roslaunch turtlebot3_slam turtlebot3_slam.launch
```
**Gmapping**
```sh
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
```
**Cartographe**
See https://emanual.robotis.com/docs/en/platform/turtlebot3/slam/#run-slam-node
**Hector**
See https://emanual.robotis.com/docs/en/platform/turtlebot3/slam/#run-slam-node
# [Save Map](https://emanual.robotis.com/docs/en/platform/turtlebot3/slam/#save-map)
```sh
rosrun map_server map_saver -f ~/map
```
# [Navigation](https://emanual.robotis.com/docs/en/platform/turtlebot3/navigation/#navigation)
No comments