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

Tekkotsu Links:   Wiki Tutorial Resources Bugs CVS
Reference:

Cognitive Robotics: Lab 5


Part I: Preparation

If you don't already have one, set up a Relax Behavior 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 Behavior 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. Use gedit or vi to edit the posture files to remove everything except the arm joint values. Then, in the Posture Editor, 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, and there is no homework for this lab because you'll be getting a special assignment on Monday instead. Just read the other two tasks below; you don't need to do them.

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