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
![](lab8/challenge-arena)
- Copy the file SortCylinders.ian into your
~/project/worlds directory. Look through this file for examples of the
syntax for defining Mirage worlds.
- 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.
- Run the WorldBuilder on SortCylinders.ian to produce a SortCylinders.mirage file.
(You should be in your project/worlds directory when you do this.)
- 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.
- 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
![](lab8/grasp-cylinder)
-
Copy the files SortSample1.cc.fsm and SortSample2.cc.fsm to your project
directory.
- Examine the SortSample1.cc.fsm file to see how the world map is
constructed. Then, compile for the Calliope2SP robot.
- Run the SortSample1 behavior and examine the world map.
- 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.
|