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

Tekkotsu Links:   Tutorial Resources Wiki Bugs CVS

Cognitive Robotics: Lab 5

Part I: Preparation

One time only: log in to the robot and do:
cd ~/project/ms
cvs update -dP
gettekkotsu username
Also do the "cvs update" in your ~/project/ms/data/motion directory on your workstation.

Set up a Relax script for the robot as you may be testing postures that put undue stress on the motors and joints. (Relax causes all the joints to relax so the robot de-stresses and you can move the limbs. Running the script again turns off Relax mode.) In ControllerGUI, go to Root Control > Background Behaviors and select the Relax behavior. Click the Add button (below the Scripts pane) and Relax should be added to your list of scripts, so that you can run it at any time by double clicking on it.

Use Root Control > File Access > Posture Editor to move the arm to some position you select. Save the posture in a file called mypos1.pos. Then use your Relax script to relax the robot, and move the arm to a new posture. Save that in mypos2.pos. Note that these files are being stored on the robot, in ~student/project/ms/data/motion/chiara. Edit the posture files to remove everything except the arm joint values. Then load mypos1 followed by mypos2 to make the arm move from one position to the other.

Part II: Exercises

You may wish to review the Postures and Motion Sequences chapter of the Tekkotsu tutorial.

We only expect you to complete and demonstrate the swimming task for today, while the other two tasks will form your homework. So if you finish the lab with time remaining, feel free to press on. Email your completed assignment to Ian by Friday, Feb. 19.

1. Synchronized Swimming

Robots like to have a good time too. You can use the posture editor to create a sequence of movements in order to show the robot dancing (or swimming) to music. Consider three such projects that were done with the Aibo dogs: Harder, Better, Faster, Stronger, Cupid's Shuffle, and Who Let the Dogs Out.

Create a 30 second motion sequence that uses various postures in a swimming routine. Your chiara should rest on its belly (so you don't have to stand) and wave its legs in the air in interesting patterns. You can move the head and arm too, if you wish. You can also add your own wav file to accompany the dance. (Your wav files should go in project/ms/data/sound on the robot.)

2. Step In Arm

The Knife Trick is a demonstration of skill in which a person taps a knife in rapid sequence between outstretched fingers. It was made famous in the movie Alien, as you can see here. The Chiara's c-bracket gripper and a front leg can be used to do a simple version of this game.

For one side of the robot (either left or right) set a fixed position for the arm and have the robot's leg tap to the left, center, and then right of the arm position (as if it was going through the robot's fingers). Your robot can remain seated on its' belly for this exercise. Challenge: have the robot respond to a text event and switch between the left and right side.

3. Stand and Weight Shift

One of the goals for having you work with postures is to develop an understanding of the limitations of the hardware. For this activity you will be creating postures where the Chiara stands on four of its six legs. Be careful! If you hear beeping or clicking noises, the motors are overloaded and you should immediately relax the Chiara or pick it up (your posture is inappropriate).

Have the robot start out resting on its belly with its legs off the ground. Create a motion sequence that allows it to stand up on its middle and back legs, with its front legs in the air. Then extend this sequence so that it transfers its weight to its middle and front legs, with its back legs in the air. During the transition you may put all six legs on the ground, but you may not rest the robot on its belly.

Note: Try this sequence for finding appropriate postures - Load the walk remote and save that posture in order to give you a reference point. Put wood blocks under the robot and turn off the walk manager. Then think about the individual (multi step) sequences that would be required in order to make this work. You need to load each intermediate posture separately.

Dave Touretzky and Ethan Tira-Thompson