Robotics: Search and Retrieve


Robots are often used in emergencies for retrieving people or items in environments where it is dangerous for rescue workers to go. Alternatively, robots that explore in space often retrieve rock samples of various sorts. We'll simulate these ideas in this assignment by building a robot that collects plastic eggs.

Your goal is to create a robot that explores our hexagonal arena and puts as many plastic eggs as you can next to one wall in particular which you designate as the "home base" for the robot. It is entirely up to you how to get the eggs to the home base: I suspect pushing them in some fashion is easier than picking them up, but perhaps you will come up with some creative idea. How you recognize your home base is up to you as well: you might put a colored piece of paper over one of the walls, or perhaps you might put the lamp behind one of the walls. Again, feel free to be creative about this. Once the robot has succeeded in actually touching an egg to your home wall, you can remove it with your hands from the arena. If you wish, you can try to find a way to get the robot to to hurl the egg over the wall, though this is not essential.

Pay particular attention to the software architecture that you use to design your robot. Choose one of the models that we discussed in class as a baseline on which to build your design. I suspect you will need to violate the strict form of the model in some way regardless of what system you choose, but I'd like you to think carefully about your design for this assignment.

When done, in addition to submitting your code, submit a 1 page writeup describing your software architecture. What model did you base your design on? What modules/layers/behaviors/etc are within?

Good luck, and have fun!


Authored by Dave Musicant.