How to Connect to the OU TurtleBots
These instructions are designed for your use with the CS desktop computers and TurtleBot 2 mobile robots in Felgar Hall 300.
Connecting to an OU TurtleBot
The following steps should be followed to get a TurtleBot running and connected to one of the desktop computers in the lab.
- Check to make sure that the following are set up correctly and ready to go.
- TurtleBot base is turned on.
- Unplug the base from its power adapter and move the TurtleBot to the location where it will be used by picking up the base with two hands. Do not pick up the TurtleBot by the 3D sensor. The sensor is not a handle! Carrying the robot by the sensor risks damage to the components of the robot, including any laptop that may be carried in the tower. If the robot is damaged due to carrying the robot by the sensor, you will be responsible for the replacement cost of the damaged hardware.
- After you place the robot on the floor for use, turn on the power switch next to the power jack. Do not place the robot base on any elevated surface, including a desk, table, or workbench. It is too easy to knock the robot off the surface, or to have the robot unexpectedly drive off the surface, causing it to fall and become damaged. If the robot is damaged due to placement on an elevated surface, you will be responsible for the replacement cost of the damaged hardware.
- TurtleBot laptop is turned on, awake, and connected to the robotics course WiFi hub.
- Select a laptop computer that matches the base you are using.
- If you are using a TurtleBot with a tower in which all of the plates are black and roughly hexagonal, you must use the smaller laptops that can fit horizontally within the tower. (See 3.1 below.)
- If you are using a TurtleBot with a tower in which some of the plates are black hexes and some are white circles, you must use the larger laptops that will not fit horizontally within the tower of the other bases.
- If the laptop is not already on, open the lid and turn on using the power button.
- Log in using the same username and password as for the desktop computers and click on the WiFi icon near the top, right corner of the user window. Ensure that the laptop WiFi is connected to CS4023, not WIFI@OU, OUGUEST, or other available WiFi networks.
- If you do not know the IP address of the laptop you are using, open a terminal and use the
ifconfig
command to get the IP address of the laptop (192.168.0.something
, where something
differs from laptop to laptop).
- TurtleBot laptop is connected to its base via one USB cable and to its 3D sensor via a second USB cable.
- After you have noted the IP address of the laptop, close it up and place it into the tower of the TurtleBot horizontally on the lowest plate of the tower. If you place the laptop at a diagonal within the tower and/or on a plate other than the lowest one, you risk damaging the tower and/or the laptop. If the tower and/or laptop are damaged due to your incorrect placement of the laptop within the tower, you will be responsible for the replacement cost of the damaged hardware.
- After you have placed the laptop in the tower at the correct location.
- Desktop computer is connected to the switch with the WiFi router.
- Ensure that the Ethernet cable is connected to the desktop computer and that the Ethernet cables are all connected to the WiFi router or the Ethernet hub.
At this point, everything should be set up and ready for you to start communicating between the desktop system and the laptop to control the robot.
- Establish a connection between the desktop and laptop.
- Open a terminal on the desktop computer and connect to the laptop using the
ssh
command as follows: ssh -Y 192.168.0.something
where something
is the value you noted previously.
- If the desktop computer reports that there is no route to host, recheck steps 1.2 and 1.3, above.
The desktop computer should now be connected to an OU TurtleBot and you should be able to start using it. Any commands you type in the terminal opened in step 2 will run on the TurtleBot laptop. Note that you can follow step 2, above, for as many terminals as you need for running code on the laptop. Some code, such as that talking to the sensors and motors directly (e.g,. bringing up the TurtleBot base or connecting to the 3D sensor) should be run on the laptop. Other code, particularly that with large memory and/or computational demands such as heavy processing of data streams, substantial deliberation, or graphical displays for the user, should be run on the desktop computer instead.
Things to Try
The following commands can be run in various combinations to get the TurtleBot doing things. Pick and choose to get the results you want. Note that some later commands on this list require the use of earlier commands. For example, to do navigation, you would start up the TurtleBot, start up the 3D sensing services, start up gmapping, then start up navigation.
- Minimal startup. Start up TurtleBot nodes by entering the following command on the laptop (required):
roslaunch turtlebot_bringup minimal.launch
- Hardware status. Start up the dashboard by entering the following command on the desktop (preferably):
rqt -s kobuki_dashboard
- Visualization of nodes/communication. Show the graph of communicating nodes by entering the following command on the desktop (preferably):
rosrun rqt_graph rqt_graph
- Teleoperation. Start keyboard teleoperation by entering the following command on either the desktop or laptop:
roslaunch turtlebot_teleop keyboard_teleop.launch
- 3D sensing. Start up 3D sensor services by entering the following command on the laptop (required):
roslaunch turtlebot_bringup 3dsensor.launch
- Visualization of robot in sensed environment. Start RViz by entering the following command on the desktop (strongly recommended):
roslaunch turtlebot_rviz_launchers view_robot.launch
- Mapping. Start gmapping by entering the following command on the laptop (strongly recommended):
roslaunch turtlebot_navigation gmapping_demo.launch
- Navigation. Start navigation by entering the following command on the desktop (recommended):
roslaunch turtlebot_rviz_launchers view_navigation.launch
Using an OU TurtleBot
You must follow these directions when using OU TurtleBots.
- Before you command the TurtleBot to move, be sure
to unplug both the laptop and the base from their power supplies
and close the laptop and stow it safely within the tower as
demonstrated in class. When stowed, the laptop should not extend
beyond the front of the robot's base in order to minimize the
possibility of damage to the laptop.
- When you have finished using the TurtleBot,
please return it to its starting location and plug in both the
laptop and the base. Be sure to turn off the base.