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

Turtlebot Bringup

Basics

Close the lid of your TurtleBot laptop, place it on the TurtleBot and connect the USB cables. Press the power button for your mobile base. If you have a Create, the power button is on the top left, hidden behind the edge of the lowest deck and a green light will turn on. If you have a Kobuki, the power button is a switch on the left hand side and it will chirp and flash led's excitedly as soon as you turn it on.

Firstly ssh into your TurtleBot computer from your workstation computer (need more help about ssh) .

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

Bringup Modes

There are three different ways of bringing up the turtlebot:

  • Minimal : this starts up turtlebot with your garden variety single master ros environment in which all processes can be started/stopped via roslaunchers.

  • App Manager : can do everything minimal does, but also offers the option of managing your programs as robot apps via the app manager.

  • Android Enabled : starts private/public masters and allows the app manager to be controlled by a remote android device via the public master.

It might be benficial if teaching with turtlebots to progressively move through the three modes. The exact instructions then differ depending on whether you have a prepared usb derived release, from debs, or from source.

Live Usb Installation

Debs Installation

Source Installation

Live USB Bringup Instructions

This is pending information/testing of the live usb release.

Deb Bringup Instructions

> source /opt/ros/hydro/setup.bash
# Without the app manager/android capabilities
> roslaunch turtlebot_bringup minimal.launch
# Launching with the app manager
> roslaunch turtlebot_bringup minimal_with_appmanager.launch
# For dual master app manager/android connectivity
> rocon_launch turtlebot_bringup bringup.concert

Source Bringup Instructions

> source ~/turtlebot/devel/setup.bash
# Without the app manager/android capabilities
> roslaunch turtlebot_bringup minimal.launch
# Launching with the app manager
> roslaunch turtlebot_bringup minimal_with_appmanager.launch
# For dual master app manager/android connectivity
> rocon_launch turtlebot_bringup bringup.concert

The tutorials that follow for the turtlebot generally assume you have started turtlebot as always in the simplest configuration via the minimal launcher.

Bringup Troubleshooting

If your turtlebot came with a netbook or a USB drive installer, the turtlebot software may already be running on the turtlebot netbook. You can check by running rosnode list on the netbook. If you get a list of nodes (instead of an error) ROS is already running. Note that ROS will only start if the netbook is connected to the network - if ROS is not running check this first.

Otherwise, you may see something like this:

> rosnode list
ERROR: Unable to communicate with master!

If this is the case manually launch as explained above (from the netbook). Be sure to preset the appropriate environment variables if you have a create base

Workstation Bringup

Preparation

This assumes you have finished the workstation install and also the network configuration that enables turtlebot and workstation to communicate.

Dashboard

/!\ To see what is happening on the TurtleBot please keep the turtlebot_dashboard up as much as possible when running the robot.

If you have a Turtlebot 2 based on the Kobuki base you should launch the Kobuki dashboard.

> rqt -s kobuki_dashboard

Otherwise, if you have a Turtlebot based on the iRobot Create base, the following environment variables should be set.

> export TURTLEBOT_BASE=create
> export TURTLEBOT_STACKS=circles
> export TURTLEBOT_3D_SENSOR=kinect

And the following command to launch the Create dashboard.

> roslaunch turtlebot_dashboard turtlebot_dashboard.launch

You should see the TurtleBot dashboard appear.

turtlebot_bringup/Tutorials/groovy/TurtleBot Bringup/turtlebot_dashboard.png

If buttons remain grey, your ROS_MASTER_URI or ROS_IP are not set, see above.

What Next?

Wiki: turtlebot_bringup/Tutorials/hydro/TurtleBot Bringup (last edited 2013-10-13 15:20:45 by DanielStonier)