15-494 Cognitive Robotics
Spring 2006
Course Links:  Main Lectures Labs Homeworks

Tekkotsu Links:  Tutorials Bugs CVS
Reference:

Cognitive Robotics: Lab 1


Part I: Walking the Dog

Goal: learn how to boot up the AIBO, connect to it via a PC, and teleoperate it using TekkotsuMon.

  1. Insert the pink memory stick into the dog; there's a slot for it in the dog's underside. The memory stick label faces outward, i.e., toward the dog's side, not toward its midline. Then place the dog back on the charger, making sure it seats properly. When it does, the charger display will light up.

  2. Boot the dog by pressing the power button between its shoulders, at the base of its neck. Note: if the dog is booted without a memory stick installed, it will run Sony's standard AIBO personality software, not Tekkotsu. Power it down again and then insert the memory stick.

  3. Start up the ControllerGUI. If you are using dog #6, you would type:
    > cd ~/Tekkotsu
    
    > tools/mon/ControllerGUI cogrob6.wv.cs.cmu.edu
    

  4. Open a telnet connection to the dog on port 59000 so you can read console messages:
    > telnet cogrob6.wv.cs.cmu.edu 59000
    
    Note: you can open additional tabs in your xterm window by typing control-shift-T. Then use the mouse, or control-Page-Up and control-Page-Down, to switch between tabs.

  5. Click the "RawCam" button in the ControllerGUI window. Turn the AIBO's head to look at you, and check the camera image.

  6. For safety reasons, Tekkotsu starts up in Emergency Stop (E-Stop) mode, which prevents the dog from moving. Turn off E-Stop by clicking on the Un-Stop button in the ControllerGUI. When you do this, the dog gives a short bark to indicate that it is ready for action.

    Another way to toggle E-Stop mode is to double press the dog's back button. Try it out. Notice that the dog makes a "screeching tires" sound to indicate that E-Stop mode has been activated. Also, the status indicator in the ControllerGUI window changes from green to red. Try activating and deactivating E-Stop mode several times.

  7. From the ControllerGUI menu, select the TekkotsuMon submenu. You can do this either by double clicking on the entry, or by selecting the entry (single click, or arrow keys) and then hitting Enter. From the TekkotsuMon submenu, activate HeadRemoteControl.

  8. Use the HeadRemoteControl tool to move the dog's head around. If the head doesn't move, it's because you forgot to turn off E-Stop.

  9. Put the AIBO on the floor. Be careful when handling it that you don't accidentally press the back or head buttons.

  10. In the ControllerGUI, activate the WalkRemoteControl. Take the dog for a short walk.

  11. Get a pink ball from the AIBO supply cabinet.

  12. In the ControllerGUI, go to the Root Control menu, then go to Mode Switch, and activate the Chase Ball behavior. Hold the ball in front of the AIBO and it should run after it Clicking on Chase Ball again will deactivate the behavior. Or you can use E-stop to temporarily disable the behavior.

  13. Shut down the dog by clicking the power button. After it powers down, remove the memory stick.

Part II: Compiling Tekkotsu Behaviors

  1. Make up a name for your team, e.g., "poodles". (Don't use this; make up your own name.)

  2. Create a fresh project directory with your team name:
    > cvs checkout -d ~/poodles project
    
    > cd ~/poodles
    

  3. Copy the standard behavior template to create a new behavior:
    > cp templates/behavior.h PoodleDemo.h
    

  4. Behaviors are instances of classes. Edit PoodleDemo.h to fill in the template for the PoodleDemo class. Specifically, replace CLASSNAME with PoodleDemo, and replace YOURNAMEHERE and DESCRIPTION with appropriate text.

  5. In the body of PoodleDemo's DoStart() method, add the following startup code:
    std::cout << "PoodleDemo is starting up." << std:endl;
    
    Put a similar message in the shutdown code in the body of the DoStop() method.

  6. Edit the file StartupBehavior_SetupModeSwitch.cc. You will need to copy two lines of code:

    1. Search for the #include of SampleBehavior.h, and insert a line just below it to include PoodleDemo.h

    2. Search for the addItem entry for SampleBehavior, and insert a line just below it to do an addItem of PoodleDemo. Note that both instances of SampleBehavior on this line must be changed to PoodleDemo.

  7. Insert the memory stick into the writer; the label should face to the left. Type "make update" from within your project directory. Wait until the memory stick has been unmounted before removing it.

  8. Reboot the dog and try out your new behavior, which you will find listed under the Mode Switch menu in the ControllerGUI.

 


Dave Touretzky and Ethan Tira-Thompson