... | ... | @@ -19,6 +19,7 @@ The TurtleBot3 version adopts ROBOTIS smart actuator DYNAMIXEL for driving. Turt |
|
|
* [Gazebo with multi-turtlebot3s](#gazebo-with-multi-turtlebot3s)
|
|
|
* [configure gazebo launch file](#configure-gazebo-launch-file)
|
|
|
* [Control robot](#control-robot)
|
|
|
* [TurtleBot3 Administration](#turtlebot3-administration)
|
|
|
|
|
|
# Working with the TurtleBot3 Burger
|
|
|
|
... | ... | @@ -45,8 +46,6 @@ The TurtleBot3 burger is the smallest turtlebot3 mobile robot. It is composed of |
|
|
|
|
|
### 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:
|
|
|
|
|
|
```plaintext
|
... | ... | @@ -63,28 +62,6 @@ Reinitialize the environment of your Remote PC: |
|
|
|
|
|
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 Burger
|
|
|
|
|
|
From the remote PC, connect to the Burger by ssh ([Our burger configuration](/Our-robots'specification)):
|
|
|
|
|
|
```plaintext
|
|
|
(Remote PC)> ssh pi@{IP_ADDRESS_OF_BURGER}
|
|
|
```
|
|
|
|
|
|
Add the following lines in the .bashrc of the Burger to define the necessary environment variables for runnning ROS:
|
|
|
|
|
|
```plaintext
|
|
|
export TURTLEBOT3_MODEL=burger
|
|
|
export ROS_MASTER_URI=http://IP_OF_SERVER_RUNNING_ROSCORE:11311
|
|
|
export ROS_HOSTNAME=IP_OF_BURGER
|
|
|
```
|
|
|
|
|
|
Reinitialize the environment of your Burger:
|
|
|
|
|
|
```plaintext
|
|
|
(Burger)> source ~/.bashrc
|
|
|
```
|
|
|
|
|
|
### Launching ROS
|
|
|
|
|
|
* Launching roscore
|
... | ... | @@ -95,11 +72,9 @@ Reinitialize the environment of your Burger: |
|
|
|
|
|
* Starting a real robot burger
|
|
|
|
|
|
Define a specific namespace for each robot and initialize two parameters *multi_robot_name* and *set_lidar_frame_id* with the same namespace name ([Our burger configuration](/Our-robots'specification)):
|
|
|
Define a specific namespace for each robot and initialize the *multi_robot_name* parameter with that namespace ([Our burger configuration](/Our-robots'specification)):
|
|
|
|
|
|
```plaintext
|
|
|
(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
|
|
|
```
|
|
|
|
... | ... | @@ -175,8 +150,6 @@ The waffle follows the same philosophy as the burger. The main difference is a b |
|
|
|
|
|
### 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:
|
|
|
|
|
|
```plaintext
|
... | ... | @@ -193,28 +166,6 @@ Reinitialize the environment of your Remote PC: |
|
|
|
|
|
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:
|
|
|
|
|
|
```plaintext
|
|
|
(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:
|
|
|
|
|
|
```plaintext
|
|
|
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:
|
|
|
|
|
|
```plaintext
|
|
|
(Waffle)> source ~/.bashrc
|
|
|
```
|
|
|
|
|
|
### Launching ROS
|
|
|
|
|
|
* Launching roscore
|
... | ... | @@ -226,8 +177,6 @@ Reinitialize the environment of your Waffle: |
|
|
* Starting a real robot Waffle
|
|
|
|
|
|
```plaintext
|
|
|
(Remote PC)>ssh pi@{IP_ADDRESS_OF_WAFFLE}
|
|
|
(Waffle)>[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
|
|
|
```
|
|
|
|
... | ... | @@ -278,7 +227,7 @@ TODO |
|
|
|
|
|
# Gazebo with multi-turtlebot3s
|
|
|
|
|
|
Gazebo is a robotics simulation framework that allows several different robots to evolve in a predefined spatial environment. By example, it is possible to deploy several turtlebot3 burgers in a simulated environment of the 4th floor of Fayol building.
|
|
|
Gazebo is a robotics simulation framework that allows several different robots to evolve in a predefined spatial environment. For example, it is possible to deploy several turtlebot3 burgers in a simulated environment of the 4th floor of Fayol building.
|
|
|
|
|
|

|
|
|
|
... | ... | @@ -399,3 +348,61 @@ In last, we configure the robot deployment using group syntax: |
|
|
```
|
|
|
|
|
|

|
|
|
|
|
|
# TurtleBot3 Administration
|
|
|
|
|
|
By default, TurtleBot3 Burger and Waffle robots get automatically configured at startup. The following instructions only apply in case of problem, e.g. if a robot's topics are not advertised properly.
|
|
|
|
|
|
* Configuring the TurtleBot3 Burger
|
|
|
|
|
|
From the remote PC, connect to the Burger by ssh ([Our burger configuration](/Our-robots'specification)):
|
|
|
|
|
|
```plaintext
|
|
|
(Remote PC)> ssh pi@{IP_ADDRESS_OF_BURGER}
|
|
|
```
|
|
|
|
|
|
Add the following lines in the .bashrc of the Burger to define the necessary environment variables for runnning ROS:
|
|
|
|
|
|
```plaintext
|
|
|
export TURTLEBOT3_MODEL=burger
|
|
|
export ROS_MASTER_URI=http://IP_OF_SERVER_RUNNING_ROSCORE:11311
|
|
|
export ROS_HOSTNAME=IP_OF_BURGER
|
|
|
```
|
|
|
|
|
|
Reinitialize the environment of your Burger:
|
|
|
|
|
|
```plaintext
|
|
|
(Burger)> source ~/.bashrc
|
|
|
```
|
|
|
|
|
|
Define a specific namespace for your robot and initialize two parameters *multi_robot_name* and *set_lidar_frame_id* with that namespace ([Our burger configuration](/Our-robots'specification)):
|
|
|
|
|
|
```plaintext
|
|
|
(Burger)>[ROS_NAMESPACE=myspace] roslaunch turtlebot3_bringup turtlebot3_robot.launch multi_robot_name:="myspace" set_lidar_frame_id:="myspace/base_scan"
|
|
|
```
|
|
|
|
|
|
* Configuring the TurtleBot3 Waffle
|
|
|
|
|
|
From the remote PC, connect to the Waffle by ssh:
|
|
|
|
|
|
```plaintext
|
|
|
(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:
|
|
|
|
|
|
```plaintext
|
|
|
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:
|
|
|
|
|
|
```plaintext
|
|
|
(Waffle)> source ~/.bashrc
|
|
|
```
|
|
|
|
|
|
```plaintext
|
|
|
(Waffle)>[ROS_NAMESPACE=myspace] roslaunch turtlebot3_bringup turtlebot3_robot.launch multi_robot_name:="myspace" set_lidar_frame_id:="myspace/base_scan"
|
|
|
``` |
|
|
\ No newline at end of file |