Final Report

Robot Design

Software Design

About Us

During this semester we were able to build a lego robot that chases red targets and shoots them with a laser pointer when they are in range and moving. The robot has a little intelligence, enough to not chase or shoot non-moving objects and to remember to search for new targets in the direction the previous target was last seen. It chases distant targets at a faster speed than near ones, and it is able to avoid objects using its sonar and bumpers. The target detection is reasonably fast as well, since the CMU camera resides in its own thread.

We fell significantly short of our goals however, because our metal robot platform was poorly designed and planned out. Unexpected and unplanned for difficulities made it impossible to make it work in the time alloted or within budget. This experience has taught us the importance of sound engineering practices. Careful planning of both hardware and software before beginning implementation can save a lot of time and wasted effort later in the development process. We also learned that real-world performance of components can fall far short of documented or theoretical performance, so it's important to determine the actual performance of components being used, rather than relying on manufacturer's specifications.

In retrospect, buliding the metal robot platform is probably too much work to complete in a semester for students who have other classes and jobs. Were we to do it over, we might choose another project, or do more planning of the robot platform before the semester starts so that the robot platform would be ready for implementation when the semester begins.

We feel that we've come out of the experience with much more wisdom and some insight into real-life problems we might experience trying to develop a commercial product. Wisdom comes from experience, and experience comes from making mistakes.