Because of the popularity of the annual robocup soccer competition, an effort is underway to generate large-scale interest in other robotic tasks -- in particular, marketable ones. For instance, this year's robocup will include a search-and-rescue component. In keeping with this trend, your task in this assignment is to build and program a robot that can rescue a victim from a burning house. In addition, because two lab groups will be working on this project at the same time, we will add a bit of (friendly) competition to the task, running the two robots head-to-head at the time the assignment is due. (The inspiration for this assignment is a yearly fire-fighting competition at Trinity College in Hartford, CT.)
At the end of this lab assignment, we will fashion a "house" in the center of the research lab (BK120) consisting of rigid walls and obstacles. The layout of the house will not be known beforehand, but teams can count on the following:
Some part of the house will be set on fire. Rather, to simulate this, a lit candle will be placed on top of a six-inch platform either against a wall, in a corner, or between two walls in the house. Thus, the height of the flame will be six inches plus whatever the height of the candle is. (Leeway will be made to raise or lower the candle if it's the "wrong" height for a particular mechanism a team has constructed.) The robot will start in one of the four corners of the house and will be aligned initially with the walls. The goal of the robot will be to seek out the candle and extinguish it. Keep in mind that this is the highest-level goal -- other goals include maintaining the robot's health and keeping it from getting stuck.
Warnings These are general cautions that you should keep in mind throughout this lab project.
The computational brains of the robots are MIT's handyboards, based on the 68HC11 microcontroller. Each team will have one handyboard (again, for which they are responsible) and a copy of Fred Martin's technical reference for the handyboard. In addition, each team will have at least
The programming environment available for the Handyboards is Interactive C, for which an online reference is available, as well as documentation in the Handy Board Technical Reference.
The first thing to do is to read the handyboard technical reference. This is a must as it explains everything you will need to know about the board. It is available here in PDF format. In particular, be sure you understand how to keep the board charged. You should leave your board in trickle-charge mode when not using it. For safety, I would advise avoiding "zap" charge -- forgetting that a board is "zap" charging can fry it.
From there, the project is wide-open. Some things to consider (and references):
On the day the assignment is due (or the day after), each team will need to schedule a time to demonstrate their robot's search-and-rescue performance. There will be at least three trials for each robot on its own.
The first trial will involve a setup like the one below. This maze will be available for testing at least a week before the end of the project. The robot is indicated by the green rectangle (positioned upper left, facing toward the wall at the bottom of the diagram), and the candle is represented by the yellow circle (in the middle on the right).
The second trial will involve a similar set up, in that the maze and robot starting position will be identical, but the candle will be in an unknown location in the maze.
The third trial will involve an unknown maze (though not substantially different from the one depicted above) and unknown positions for the candle and robot.
Finally, if it seems feasible with the robot designs that the teams have created, there will be a head-to-head run with both robots located in an unknown (but symmetric) environment at equal distance from the candle.
In each case, the robots will be judged according to these criteria:In your write up, be sure to include at least a paragraph on each of the following items: