Lab: Teleoperation and Sensor Observer

From Tekkotsu Wiki

Jump to: navigation, search

Learning Objective: In this lab you will learn how to talk to your robot using Tekkotsu's ControllerGUI, and how to explore its sensors using the Sensor Observer tool.



1. See the Create/ASUS Quick Start page for basic information about powering up the robot and logging in to the ASUS netbook.

2. You should have a Tekkotsu project directory called ~/project. If you don't have one, you can create one:

cp -rp /usr/local/Tekkotsu/project ~

3. You should have /usr/local/Tekkotsu/tools/bin on your search path. To check this, type:

echo $PATH

If it does not appear on your search path, edit the file ~/.profile and add the following line at the end:

export PATH=/usr/local/Tekkotsu/tools/bin:$PATH

Then log out and log back in again. Verify that your search path is set up correctly by typing "ControllerGUI"; you should get back usage instructions. If you get "command not found" then the edit to ~/.profile was not successful.


If you run into any problems with the instructions below, see the Create/ASUS Troubleshooting Guide.

  1. Start up your robot and connect to it with the ControllerGUI. (See Create/ASUS Quick Start for instructions.)
  2. Raw Camera View: Click on the Raw button to start up a RawCamera viewer. This lets you see what the robot sees.
  3. Tooltips: Notice that the ControllerGUI contains a row of three buttons labeled Teleop. The buttons are H, W, and A. Place the mouse over a button and a tooltip will tell you what that button is for.
  4. E-Stop: In the bottom left corner of the ControllerGUI window is the Emergency Stop (E-Stop) indicator. If it's green, your robot is free to move. If it's red, your robot is stopped; click on the UnStop button to allow it to move. If the indicator looks like >< click on it to update the status display.
  5. Create or Calliope robots: Try picking up the robot. Notice that it immediately plays a squealing brakes sound and goes into E-Stop (emergency stop). Put the robot back down, and use the ControllerGUI to take the robot out of E-Stop. If you try to run the robot off the edge of the table, the same thing will happen.
  6. Head Controller: If your robot has a pan/tilt head, click on the H button to start up a Head Controller. Click and drag the red dot to move the head. Notice that the view in the RawCam window changes.
  7. Walk Controller: If your robot is mobile, you can use the Walk Controller to make it move. First make sure the robot is in a safe location, i.e., not perched on the edge of a table. Click on the W button in the Teleop row (not the Sketch row) to start up a Walk Controller. Then click and drag the red dot to make the robot move. Dragging the dot upward causes the robot to move forward; dragging it to the left causes the robot to turn left.
  8. Arm Controller: If your robot has an arm, click on the A button to start up an Arm Controller. Clicking and dragging the red dot moves the location of the robot's gripper. Depending on the type of arm, there may also be slider controls to rotate the wrist or open and close the gripper.

Sensor Observer Exercise

Suggested reading: chapter 8, Simple Sensors, from The Robotics Primer (Mataric, 2007), or chapter 6, Common Sensing Techniques, from An Introduction to AI Robotics (Murphy, 2000).

You can use Tekkotsu's Sensor Observer tool to monitor the values of any of the robot's sensors, or log them to a file. First, visit Create/ASUS Sensors to learn about the iRobot Create's sensors. Run the Sensor Observer from the ControllerGUI by going to Root Control > Status Reports > Sensor Observer.

  1. Bump sensors: In the Sensor Observer, go to the Buttons section and select the buttons LBump and RBump; then go back to the main Sensor Observer menu and activate Realtime View. Press and release the left and right bump sensors, and watch the values in the ControllerGUI display change from 0 to 1 and back to 0.
  2. Cliff detection: The Create has two methods of cliff detection: IR sensors, and wheel drop switches. Go to the Sensors section and select the CliffLeft, CliffLeftFront, CliffRightFront, and CliffRight sensors. Then go the the Buttons section and select the CasterDrop, LWheelDrop, and RWheelDrop buttons. Go to Realtime View and note the state of these sensors and buttons. Then gently lift the robot off the table and watch how the values change. Note: if your Create has the optional wheel locks installed, you might not get left or right wheel drop indications, but the caster drop signal will still work.
  3. Wall reflectance: Go to the Sensors section and monitor the Wall reflectance sensor. Hold your hand up to the wall sensor (on the right front of the robot) and watch the values change.
  4. Other potential sensor investigations:
  • Virtual walls (requires optional virtual wall accessory)
  • IR data bytes (requires another Create to transmit IR messages)

Fun With Teleoperation

  1. Obstacle course: If you have two robots, set up an obstacle course and race them.
  2. Mars rover: What's it like to teleoprate a robot on another planet? Hide a target (perhaps a soda can) somewhere in the room, and use the Walk Control and RawCam viewer to search for it. Don't let the robot driver look at the robot! They are only allowed to look at the ControllerGUI windows and see what the robot itself sees. Driving a robot this way is harder than it sounds.