Note: This tutorial assumes that you have completed the previous tutorials: This tutorial assumes you have installed your robot and setup networking for instructions see TurtleBot#installation. |
Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
TurtleBot Bringup
Description: How to start the TurtleBot software.Tutorial Level: BEGINNER
Next Tutorial: TurtleBot Care and Feeding
Contents
Prerequisites
This assumes you have followed the instructions for installing software on the turtlebot and your workstation
Bringup
Close the lid of your TurtleBot laptop, place it on the TurtleBot and connect the USB cables. Press the power button of the Create so that the green light turns on. The Power Button is on top of the create on the left, hidden behind the edge of the lowest deck. Now ssh into your TurtleBot computer from your workstation computer (Need more help) .
To ssh in to a TurtleBot from a workstation computer:
determine the IP_OF_TURTLEBOT by using ifconfig (Need more help)
To determine a computer's IP address and network interface in linux:
ifconfig
You will see something like:
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:6658055 errors:0 dropped:0 overruns:0 frame:0 TX packets:6658055 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:587372914 (587.3 MB) TX bytes:587372914 (587.3 MB) wlan1 Link encap:Ethernet HWaddr 48:5d:60:75:58:90 inet addr:10.0.129.17 Bcast:10.0.129.255 Mask:255.255.254.0 inet6 addr: fe80::4a5d:60ff:fe75:5890/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:101983 errors:0 dropped:0 overruns:0 frame:0 TX packets:37244 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:49326141 (49.3 MB) TX bytes:7588044 (7.5 MB)
the network interface for the wireless card is wlan1
the IP address of the computer is 10.0.129.17
use ssh to connect to the TurtleBot
ssh turtlebot@IP_OF_TURTLEBOT
On Your TurtleBot
Now that you have powered up the Create and ssh-ed into your TurtleBot, you can use a service to start and stop the TurtleBot, when the TurtleBot laptop boots the service will start automatically. Try to stop and start the service now.
Stop the TurtleBot:
$ sudo service turtlebot stop
Start the TurtleBot Watch the Video :
$ sudo service turtlebot start
Note: the service will be restarted when a new IP is achieved.
This brings up the basic TurtleBot software. Now you can run the TurtleBot applications in turtlebot_apps.
If you do not have the service installed on your TurtleBot, you can install it:
$ roscd turtlebot_bringup/upstart $ sudo ./install.bash <WIRELESS_NETWORK_INTERFACE>
Then you can use the service:
$ sudo service turtlebot start
(Need more help looking up WIRELESS_NETWORK_INTERFACE)
To determine a computer's IP address and network interface in linux:
ifconfig
You will see something like:
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:6658055 errors:0 dropped:0 overruns:0 frame:0 TX packets:6658055 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:587372914 (587.3 MB) TX bytes:587372914 (587.3 MB) wlan1 Link encap:Ethernet HWaddr 48:5d:60:75:58:90 inet addr:10.0.129.17 Bcast:10.0.129.255 Mask:255.255.254.0 inet6 addr: fe80::4a5d:60ff:fe75:5890/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:101983 errors:0 dropped:0 overruns:0 frame:0 TX packets:37244 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:49326141 (49.3 MB) TX bytes:7588044 (7.5 MB)
the network interface for the wireless card is wlan1
the IP address of the computer is 10.0.129.17
OR launch the following:
$ roslaunch turtlebot_bringup minimal.launch
(More information to disable the upstart script on your Turtlebot)
Disable Upstart Script
After you install the Turtlebot image, the Turtlebot node will start up automatically by default. To disable this feature, simply remove the turtlebot.conf file in /etc/init. A copy of this file is stored in the turtlebot_bringup package if you need to restore it.
On Your Workstation
ROS Install
This assumes you have installed ROS on your workstation, as well as the ros-<distro>-turtlebot-desktop variant. If not, see workstation install instructions
Connectivity
This assumes that you have set ROS_MASTER_URI and ROS_HOSTNAME. If not, look at TurtleBot network setup instructions
Dashboard
To see what is happening on the TurtleBot please keep the turtlebot_dashboard up as much as possible when running the robot.
$ rosrun turtlebot_dashboard turtlebot_dashboard&
You should see the TurtleBot dashboard appear.
If buttons remain grey, your ROS_MASTER_URI or ROS_IP are not set, see above.
Notes
After charging the TurtleBot restarting the openni_camera nodelet is required. (roslaunch openni_camera openni_node.launch) Ticketed to be fixed. If a seperate roscore is started, you can Ctrl-C robot.launch and relaunch it with all other systems running.
The use of GNU screen is highly recommended. Also the byobu wrapper makes for a slightly easier user interface.
Now that your TurtleBot is up and running let's learn how to care for the TurtleBot.