Update Turtlebot3 authored by Olivier BOISSIER's avatar Olivier BOISSIER
......@@ -4,7 +4,7 @@ The TurtleBot3 version adopts ROBOTIS smart actuator DYNAMIXEL for driving. Turt
[[_TOC_]]
# Working with the TurtleBot3 burger
# Working with the TurtleBot3 Burger
The TurtleBot3 burger is the smallest turtlebot3 mobile robot. It is composed of 2 DYNAMIXEL servomotors (one for each wheel), 1 OpenSource control card (OpenCR ARM Cortex-M7), 1 Raspberry Pi3, sensors for the navigation with 360° LiDAR.
......@@ -27,7 +27,9 @@ The TurtleBot3 burger is the smallest turtlebot3 mobile robot. It is composed of
## Getting started with ROS 1
### Configuring the Remote PC
### Configuring
+ Configuring the Remote PC
Add the following lines in the .bashrc of your Remote PC to define the necessary environment variables for runnning ROS:
......@@ -65,31 +67,37 @@ Reinitialize the environment of your Burger:
```
(Burger)> source ~/.bashrc
```
### Launching ROS
+ Launching roscore
```
(Remote PC)>roscore
```
+ Start the burger
+ Starting the burger
```
(Remote PC)>ssh pi@{IP_ADDRESS_OF_BURGER}
(Burger)>[ROS_NAMESPACE=myspace] roslaunch turtlebot3_bringup turtlebot3_robot.launch multi_robot_name:="myspace" set_lidar_frame_id:="myspace/base_scan"
(Remote PC)>[ROS_NAMESPACE=myspace] roslaunch turtlebot3_bringup turtlebot3_remote.launch multi_robot_name:=myspace
```
+ Use simulated burger with gazebo
+ Using a simulated burger with _gazebo_
```
(Remote PC)>roslaunch turtlebot3_gazebo turtlebot3_world.launch
(Remote PC)>roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
```
(if you need to use /clock in your ros package, you have to be aware about /use_sim_time parameter defined in the launch file)
<img src="./images/turtlebot3_burger2.png" width="600" height="250">
+ Use simulated burger with rviz
+ Using a simulated burger with _rviz_
```
(Remote PC)>[ROS_NAMESPACE=/myspace] roslaunch turtlebot3_fake turtlebot3_fake.launch
```
(if you use a specific namespace, dont forget to change it in the rviz interface (/odom by /myspace/odom))
(if you use a specific namespace, dont forget to change it in the rviz interface (e.g. /odom by /myspace/odom))
<img src="./images/turtlebot3-rviz.png" width="400" height="300">
+ Control burger with keyboard
+ Controlling the burger with keyboard
```
(Remote PC)>[ROS_NAMESPACE=/myspace] roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
```
......@@ -98,12 +106,15 @@ Reinitialize the environment of your Burger:
TODO
# Working with turtlebot3 waffle with arm
The waffle follows the same philosophy as the burger. The main difference is a bigger platfom and the possibility of installing a robotic arm. Also the waffle can be used as a mobile manipulator capable of manipulating an object by attaching a manipulator like OpenMANIPULATOR.
# Working with TurtleBot3 Waffle with arm
The waffle follows the same philosophy as the burger. The main difference is a bigger platfom and the possibility of installing a robotic arm on it. Also the waffle can be used as a mobile manipulator capable of manipulating an object by attaching a manipulator like OpenMANIPULATOR.
<img src="./images/turtlebot3-waffle1.jpg" width="300" height="350">
## Mobile part Specification
## Specifications
### Mobile part Specification
+ Max translational speed: 0,26 m/s
+ Max rotational speed: 104,27°/s
......@@ -120,7 +131,7 @@ The waffle follows the same philosophy as the burger. The main difference is a b
+ 360° LiDAR
+ Raspberry Pi Camera
## Arm part Specification (OpenManipulator RM-X52 TNM)
### Arm part Specification (OpenManipulator RM-X52 TNM)
+ 5xServomotors: Dynamixel XM430-W350-T x 5
+ Power: 12V
......@@ -132,41 +143,73 @@ The waffle follows the same philosophy as the burger. The main difference is a b
+ Weight: 700g
+ Range: 380mm
## getting started with ROS 1
## Getting started with ROS 1
### Configuring
+ Configuring the Remote PC
Add the following lines in the .bashrc of your Remote PC to define the necessary environment variables for runnning ROS:
+ Configure environment variable of remote PC in bashrc
```
(Remote PC)>export TURTLEBOT3_MODEL=waffle_pi
(Remote PC)>export ROS_MASTER_URI=http://IP_OF_ROSCORE:11311
(Remote PC)>export ROS_HOSTNAME=IP_OF_REMOTEPC
(Remote PC)source your bashrc
+ export TURTLEBOT3_MODEL=waffle_pi
+ export ROS_MASTER_URI=http://IP_OF_SERVER_RUNNING_ROSCORE:11311
+ export ROS_HOSTNAME=IP_OF_REMOTE_PC
```
+ Configure environment variable of waffle in bashrc
Reinitialize the environment of your Remote PC:
```
(Waffle)>export TURTLEBOT3_MODEL=waffle_pi
(Waffle)>export ROS_MASTER_URI=http://IP_OF_ROSCORE:11311
(Waffle)>export ROS_HOSTNAME=IP_OF_WAFFLE
(Waffle)source your bashrc
(Remote PC)> source ~/.bashrc
```
+ Launch roscore
Note: IP_OF_SERVER_RUNNING_ROSCORE can be equal to IP_OF_REMOTE_PC in case you run /roscore/ on the Remote PC. The ROS_MASTER_URI is necessary for connecting the ros node running on your Remote PC to the ros master node, i.e. the one running /roscore/.
+ Configuring the TurtleBot3 Waffle
From the remote PC, connect to the Waffle by ssh:
```
(Remote PC)> ssh pi@{IP_ADDRESS_OF_WAFFLE}
```
Add the following lines in the .bashrc of the Waffle to define the necessary environment variables for runnning ROS:
```
+ export TURTLEBOT3_MODEL=waffle_pi
+ export ROS_MASTER_URI=http://IP_OF_SERVER_RUNNING_ROSCORE:11311
+ export ROS_HOSTNAME=IP_OF_WAFFLE
```
Reinitialize the environment of your Waffle:
```
(Waffle)> source ~/.bashrc
```
### Launching ROS
+ Launching roscore
```
(Remote PC)>roscore
```
+ Start waffle
+ Starting the Waffle
```
(Remote PC)>ssh pi@{IP_ADDRESS_OF_BURGER}
(Waffle)>roslaunch turtlebot3_bringup turtlebot3_robot.launch
(Remote PC)>ssh pi@{IP_ADDRESS_OF_WAFFLE}
(Waffle)>[ROS_NAMESPACE=myspace] roslaunch turtlebot3_bringup turtlebot3_robot.launch
```
+ Use simulated waffle with gazebo
+ Using a simulated Waffle with _gazebo_
```
(Remote PC)>roslaunch turtlebot3_gazebo turtlebot3_world.launch
```
(if you need to use /clock in your ros package, you have to be aware about /use_sim_time parameter defined in the launch file)
+ Control waffle with keyboard
<img src="./images/turtlebot3_burger2.png" width="600" height="250">
+ Controlling the Waffle with keyboard
```
(Remote PC)>roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
```
+ Control waffle arm
+ Controlling the Waffle Arm
+ Run Bringup node for OpenMANIPULATOR on TurtleBot3
```
roslaunch turtlebot3_manipulation_bringup turtlebot3_manipulation_bringup.launch
......@@ -179,7 +222,7 @@ roslaunch turtlebot3_manipulation_bringup turtlebot3_manipulation_bringup.launch
```
(Remote PC)>roslaunch turtlebot3_manipulation_moveit_config moveit_rviz.launch
```
+ Launch GUI controller
+ Launching the GUI controller
```
(Remote PC)>roslaunch turtlebot3_manipulation_gui turtlebot3_manipulation_gui.launch
```
......
......