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.
(!) It is appreciated that problems/questions regarding this tutorial are asked on answers.ros.org. Don't forget to include in your question the link to this page, 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

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 turtlebot_bringup/Tutorials/TurtleBot Bringup/video.jpg 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.

  • turtlebot_dashboard/turtlebot_dashboard.png

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.

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.
(!) It is appreciated that problems/questions regarding this tutorial are asked on answers.ros.org. Don't forget to include in your question the link to this page, 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

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

The instructions then differ depending on whether you have a prepared usb derived release, from debs, or from source.

Live USB Installation Instructions

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

Deb Installation Instructions

> source /opt/ros/groovy/setup.bash
> roslaunch turtlebot_bringup minimal.launch

If you have overlaid your own rosbuild environment on top of the installed debs, use that setup.bash instead.

Source Installation Instructions

> source ~/turtlebot-rosbuild/setup.bash
> roslaunch turtlebot_bringup minimal.launch

Initial Bringup

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 you can manually start the turtlebot ROS nodes from a terminal on the netbook.

> roslaunch turtlebot_bringup minimal.launch

If you have a Turtlebot based on the iRobot Create base, the following environment variables should be set before executing the minimal.launch command.

> export TURTLEBOT_BASE=create
> export TURTLEBOT_STACKS=circles
> export TURTLEBOT_3D_SENSOR=kinect
> roslaunch turtlebot_bringup minimal.launch

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_dashboard.png

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

What Next?

Wiki: turtlebot_bringup/Tutorials/TurtleBot Bringup (last edited 2013-01-30 01:44:39 by Jorge Santos)