Sheep Herding

15-494: Cognitive Robotics, Spring 2009
Daegun Won, Siyuan Feng

Our final project, sheep herding, can be broken down into these major components:

Our approach can be outlined as these steps:
1. Build a local map of the environment which will contain at least part of the convex hull shaped boundary.
2. Generate the next way point using the boundary from step 1.
3. Use that boundary to check if any blue object is inside, if there isn't any, jump to step 8.
4. Calculate the position of the blue object, generate a target position and a direction of hitting for it.
5. Use the object position and target position from step 4 to generate a desired pose for the robot, and walk there.
6. Build a local map for the object we are manipulating, use RRT to correct the arm's relative position if necessary, then hit the object towards the target.
7. Restore the robot's pose.
8. Turn towards the next way point.
9. Build a partial boundary, and check if any green objects are outside. If there is any, use steps 4 to 7 to hit it inside.
10. Move to the way point, and turn towards the centroid of the convex hull generated in step 1.
11. Repeat from step 1.