CS460 Project 3

There was discussion yesterday about the nest and floor colors being too similar. I ran some tests with the help of one of the students groups and found that the nest and the floor gave considerably different values when read using the reflectance/tophat sensor. Please note that a good distance to take these readings is about 2 lego bricks and a lego plate in height off of the surface that you are reading. If you get too close you get uniform reading for pretty much everything. However, the two nests, though differeent, were not different enough. Small error factors made them all but indistinguishable. Therefore I am replacing the yellow nest with a blue one. This has already been done.

In class demo: Thursday May 4th with project report turned by 5pm the following Tuesday May 9th. One report per group once again. At the time that your report is handed in, your group must have disassembled your robot and rebaged all of its sensors. Failure to do so will result in a 40% loss of  credit for this labfor each group member.

Overview and Objective:

You will design a robot which will try to move desirable (blue) plastic eggs to its own nest while keeping the undesirable plastic eggs (painted black) out of its nest. You will be competing with another robot who will be trying to collect eggs itself. This lab is adapted from one used a several other colleges including UMass Lowel where the inventor of our handyboard robot controller teaches a course in robotics.


You have the same materials to work with as in project 2. If you wish to bring in your own legos you are more than welcome to do so. If your design needs a few extra parts, you may ask your instructor for them.

Your Task:

Your task is to build a robot that will collect eggs from the game world and deposit them in the appropriate nest. There will be blue painted eggs that look like this

blue egg

The blue eggs are worth one point to which ever robot gets one in its nest.

There are also black painted eggs. These look like this

 black egg

The black eggs are worth -4 (minus four) points to which ever robot gets one in its nest. In the final demo competition, there will be 24 blue eggs and 6 black eggs. Therefore, if you manage to put all of the eggs in your own nest, you will have a total score of 0.

The Game board

The board or game world is setup as shown in the image below

drawing of board
game board setup.
The outer edge of the board is 1 1/4" white PVC pipe. The bottom of the board is a slightly off white surface made of posterboard and masking tape. The two nests, shown in color above, are of colored posterboard. There is a yellow nest and a bright red-orange nest. Teams will be randomly assigned a nest for each of their trials. The team assigned to the yellow nest will start at the position shown above by a yellow X (It will be black in the actual map). The team assigned to the bright red-orange nest will start at the position shown above by a red-orange X (once again it will be black in the actual map)

Egg distribution

Eggs will be distributed randomly accross the white part of the board. Before the two teams are randomly assigned a nest, each team will have the opportunity to protest the arraingement. If either team does so, the eggs will be recollected and randomly distributed again. Each team can protest only two egg layouts in the entire contest. Eggs must be entirely inside the nest to be considered in the nest.

Autonomous Robots

Your robot must work atonomously through each heat of the contest. Your team will be able to callibrate your robot on its own nest after nest assignments are made, then you must put your robot on your start X. When the instructor begins the heat, you can press one button to begin your robots autonomous mode, then you must let your robot compete unaided for the two minutes of the heat.

The Heats

Each heat will be two minutes long. Two robots will compete in the heat. Your robot will try to put black eggs in the opponants nest and/or blue eggs in its own nest during that time. The robot with the highest score at the end of the two minutes (even if that score is negative) wins. In the event of a tie, if both teams have a score of 0 or less, both are considered to have lost. If both teams have a positive score, the robots will be reset for a sudden death round. The first time there is a score change, the one with the highest score wins the heat. When a robot loses any two heats, it is eliminated from the contest.

Robot specification and behavior

Your robot may put eggs in either nest. All eggs in your nest count for you (or against you as the case may be) even if placed their by the opposing team. Your robot may not try to damage the other robot. However, you should build your robot to be strong enough to survive being run into by accident. (The instructor will be the final abitrator of what is and is not acceptable). You are working in a multi robot environment and must understand that this changes how your robot will interact with the world. Your robot may not leave the gameboard at any time during the heat (it can't jump the PVC boundry and then come back). Your robot may play a negative game so long as it doesn't try to harm the opposing robot. For example, it might collect three black eggs, deposit them into the opposing nest, and then sit in front of the next, blocking the nest to prevent the robot from putting any more blue eggs in the nest (or from expelling the black ones.). Robots may be no larger than on cubic foot at the start of a heat. Robots may "open up" after the heat starts if needed.


As always, grading will be a mixture of
  1. Your robot's performance in the demo
  2. The in-demo interview.
  3. Your project reports.
For the demo part of your grade, the grading will be done using the following scheme (thanks to the CMU undergrad robotics program for this idea)
As always - have lots of fun. I can answer any further questions that you have.