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

Tekkotsu Links:   Tutorial Resources Bugs CVS

Cognitive Robotics: Lab 1

Part I: Account Setup

  1. Log in as username@ANDREW.CMU.EDU (the domain name must be uppercase), using your Andrew password.

  2. From the pulldown menu at the top of the screen, go to Applications > System Tools, and click and drag the Terminal icon onto the tool bar; you'll be using this a lot. Then go to Applications > Programming and click and drag the "Emacs Text Editor" icon to the tool bar. You only have to do these things once.

  3. Go to System > Preferences > Look and Feel > Screensaver and turn off the screensaver. If the screensaver gets activated, you will not be able to unlock your machine.

  4. Start up a web browser (click on the icon in the launcher at top of screen) and visit your to http://tekkotsu.no-ip.org. From there you will see a link to the Cognitive Robotics course page. Go to the course page, and then make that your home page by going to Edit & Preferences.

Part II: 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. Note the dog number, a value between 1 and 6, written on tape just below the power button.

  3. Start up the ControllerGUI. If you are using dog #6, you would type: the following.
    > ControllerGUI cogrob6

  4. Open a telnet connection to the dog on port 59000 so you can read console messages:
    > telnet cogrob6 59000
    Note: you can open additional tabs in your gnome-terminal 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 on its own, but allows you to move its joints. 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's Root Control 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, or put the dog back into E-Stop.

  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, shut down the HeadRemoteControl and WalkRemoteControl by double clicking on them. Then go to the Root Control menu, and from there 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. Go to you project directory: > cd ~/project

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

  3. 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.

  4. 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.

  5. 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.

  6. Insert the memory stick into the writer; make sure the label is facing up. Type "make update" from within your project directory. Wait until the memory stick has been unmounted before removing it.

  7. Reboot the dog and try out your new behavior, which you will find listed under the Mode Switch menu in the ControllerGUI. (Go to the top-level Root Control menu and click on Mode Switch.)

  8. Feel free to explore other ControllerGUI menu items if you wish.

  9. When you're done with the AIBO, power it down and make sure it's seateed properly on the charger so the battery status display lights up.


Dave Touretzky and Ethan Tira-Thompson