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

Tekkotsu Links:   Wiki Tutorial Resources Bugs CVS
Reference:

Cognitive Robotics: Lab 8 & Homework 7


In this lab you will experiment with the Grasper using the Callieope2SP robot in Mirage. The lab is based on the 2014 ARTSI Robotics Competition that was held at the Tapia Conference in Seattle on February 8, 2014.

Part I: An Arena with Graspable Cylinders


  1. Copy the file SortCylinders.ian into your ~/project/worlds directory. Look through this file for examples of the syntax for defining Mirage worlds.

  2. See the Mirage WorldBuilder syntax page for an explanation of the syntax, and how to generate a Mirage world from an ian file. Also see the Mirage Tips page for more explanation of Mirage features.

  3. Run the WorldBuilder on SortCylinders.ian to produce a SortCylinders.mirage file. (You should be in your project/worlds directory when you do this.)

  4. Run Mirage on your SortCylinders.mirage file, and try the "h" command to see the collision models that underlie these cylinders. Type "h" again to return to normal mode.

  5. In your project directory, do "make tekkotsu-CALLIOPE2SP" to compile for the Calliope2SP robot. Then run Tekkotsu and run the robot around in your Mirage world.

Part II: Introduction to the Grasper


  1. Copy the files SortSample1.cc.fsm and SortSample2.cc.fsm to your project directory.

  2. Examine the SortSample1.cc.fsm file to see how the world map is constructed. Then, compile for the Calliope2SP robot.

  3. Run the SortSample1 behavior and examine the world map.

  4. Run the SortSample2 behavior and watch how the Grasper picks up and moves a cylinder. Try toggling the collision model with "h" to see how the cyinder is "grasped" in Mirage.

Part III: Sort the Cylinders

Two of the cylinders have AprilTag id's of 10, while the other two have id's of 11. Your task is to put the cylinders with id 10 in the west goal box, and the cylinders with id 11 in the east goal box. You can use the code for SortSample2 as a starting point. Some advice:
  • You don't have to use the blue lines to find the goal boxes; you know their coordinates because you have the source code for the Mirage world.

  • The Grasper relies on the Pilot's path planning function. Some cylinders might not be moveable to their goal location because other cylinders are in the way. So you'll need to be clever about the order in which you select cylinders to move.

Hand In

Hand in your cylinder sorting code by Friday, March 28.