The Main Bringup Must Be Run Before You Can Run Any Application Bringups

The Main Bringup Must Be Run Before You Can Run Any Application Bringups

Turtlebot Main Bringup

THE MAIN BRINGUP MUST BE RUN BEFORE YOU CAN RUN ANY APPLICATION BRINGUPS

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.

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.

Turtlebot Minimal Bringup

First ssh into the Turtlebot computer from the workstation computer. This is done in a terminal with the following command:

# username refers to the username on the Turtlebot machine

> ssh username@IP_ADDRESS_OF_TURTLEBOT

Once connected to the Turtlebot run the following commands:

> sudo chmod 777 /dev/ttyUSB0

> source /opt/ros/hydro/setup.bash

# Without the app manager/android capabilities

> roslaunch turtlebot_bringup minimal.launch

IMPORTANT: the first command (chmod) is critical. This command is changing the ownership on the USB port that the mobile base is connected to. If you do not run that command first every time you plug in the mobile base, then the main application will throw an error.

You should see a number of applications start up. I found that the last thing to finish is the Kinect breaker. Once you hear the mobile base beep once you know the robot is ready.

Workstation Main Bringup

Dashboard

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

Run 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

Bringup With Android Connectivity

IMPORTANT: if you want to use android devices and applications to communicate with the Turtlebot you must run this bringup. This bringup replaces the minimal bringup explained previously.

It is also important to note that only applications run on the android device will work with this bringup by default. You will not be able to launch other applications via the terminal. A solution for running more applications is explained in another tutorial.

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.

This bringup must be run locally on the Turtlebot machine (additional software is required to run the command over an ssh connection).

> chmod 777 /dev/ttyUSB0

> source /opt/ros/hydro/setup.bash

# For dual master app manager/android connectivity

> rocon_launch turtlebot_bringup bringup.concert

You should see two additional terminals open. As with the minimal launch, after the robot beeps the bringup is complete. You should be able to plug in the IP Address of the Turtlebot on an android device and connect. Android device must be on same LAN as the Turtlebot computer.

The following tutorials explain how to bringup various Turtlebot applications on both the Turtlebot computer and the workstation computer. These bringup instructions should be used in combination with the minimal bring up tutorial.

3D Visualisation Bringup

Starting the 3D sensor

Plug in your sensor to the netbook.

Be sure that you do not connect it on a usb 3.0 port (these are usually, but not always, coloured if they are of the 3.0 kind) since these devices still only work in usb 2.0.

First open a new terminal and ssh into the Turtlebot computer from the workstation computer. This is done in a terminal with the following command:

# username refers to the username on the Turtlebot machine

> ssh username@IP_ADDRESS_OF_TURTLEBOT

Assuming you have already launched the turtlebot software you can proceed to launch the 3D sensor functionality on top:

> roslaunch turtlebot_bringup 3dsensor.launch

By default, this will launch the 3d sensor with all the processing modules ON. You can turn these off by sending the appropriate arguments to the launch command (look inside 3dsensor.launch for more information).

The turtlebot apps themselves do this - they only enable exactly what they need to minimize the amount of processing that is done for their task.

Start Rviz

On your workstation computer start rviz already configured to visualize the robot and its sensor's output. In a terminal run the following:

> roslaunch turtlebot_rviz_launchers view_robot.launch

Note that this also lets you various other aspects of the robot as well.

Enable the desired displays

To visualize any display you want, just click on its check button. These are the displayed sensors:

  • DepthCloud
  • Registered DepthCloud
  • Image
  • PointCloud
  • Registered PointCloud

For example, in the following screen capture both LaserScan and Registered DepthCloud are enabled.

rviz Turtlebot capture

Keyboard Teleop Bringup

On the TurtleBot

First open a new terminal and ssh into the Turtlebot computer from the workstation computer. This is done in a terminal with the following command:

# username refers to the username on the Turtlebot machine

> ssh username@IP_ADDRESS_OF_TURTLEBOT

Next run the following:

roslaunch turtlebot_teleop keyboard_teleop.launch

Key presses in this terminal can now be used to control the robot.

Follower Bringup

The follower demo will cause the TurtleBot to look for objects in a window in front of it. And it will seek to keep the centroid of the observed objects directly in front of it and a fixed distance away. If the centroid of the object is too far away it will drive forward, too close backward, and if offset to the side it will turn toward the centroid.

Start Demo

First open a new terminal and ssh into the Turtlebot computer from the workstation computer. This is done in a terminal with the following command:

# username refers to the username on the Turtlebot machine

> ssh username@IP_ADDRESS_OF_TURTLEBOT

Then run the following:

  • roslaunch turtlebot_follower follower.launch

Changing Follower Parameters

  1. Run the dynamic reconfigure gui in a terminal on your workstation computer.
  2. rosrun rqt_reconfigure rqt_reconfigure
  3. Select camera/follower on the reconfigure gui
  4. Play with the parameters using the sliders; you will see the TurtleBot's following behavior change as you move the sliders.