... | ... | @@ -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
|
|
|
```
|
... | ... | |