15-494 Cognitive Robotics
Note: you can avoid having to type a password when transferring files
to the robot by adding the following line to the end of your
~/.profile file: "ssh-add ~/.ssh/robots_id_rsa". Remember to do
sendtekkotsu at the start of the lab so the robot is running the same
version of the Tekkotsu runtime library as your workstation.
Part I: Working with the Calliope
Part II: Building Local Maps
You can do this exercise either on the real robot or in Mirage. Construct a scene consisting of a few lines (from masking tape) and a few easter eggs or coffee canisters. The scene should be big enough that the robot cannot take in the entire extent in one camera image. Use the MapBuilder to build a local map of the scene by setting pursueShapes = true in the request. You must use CALLIOPE5KP for this, since pursueShapes doesn't yet work for CREATE.
Note: due to some issues with the line extractor algorithm, your lines should not meet at the endpoints, i.e., if they touch, it should be in an X or T configuration, not an L configuration. Or they might not touch at all. If you're using Mirage, you can use the blue square world you defined previously, but shorten the line lengths (without shifting their positions) so that the lines don't touch. If you're running on the real robot you might want to put it in the playpen to have better control over its visual environment.
Position some objects so that they occlude a line, and use the addOccluderColor option to correct for this.
Part III: Sketch Operations
Make a "vee" shape from two lines of masking tape, but don't make the lines actually touch; leave a small gap between them. Extract the lines using the MapBuilder. Use the visops::topHalfPlane operation to generate sketches for the top half plane of each line, and intersect these sketches to form a wedge. Place some easter eggs of a different color than the lines in the scene, with some inside the vee and some outside. Use visops::labelcc to find the regions of these eaggs, and intersect these regions with the wedge to find which ones appear inside the vee. Genereate a result sketch showing only these eggs.
Part IV: The Depth Map
You must run this part of the assignment on the robot because we do not yet have Kinect support in Mirage.
What to Hand In
Hand in your source code and appropriate screen shots for each of parts II through IV. Due Friday, February 24.
Dave Touretzky and Ethan Tira-Thompson