Project Design Lab in Electrical & Computer Engineering

The 2004 ECE Design Project

This year's project is inspired by sports car rallies.

The following description is preliminary and subject to (perhaps considerable) revision. We'll start with the end in mind.

Final Trials

The robots will individually run a course in an arena. The course will not be known beforehand although it will be the same for each robot.

  1. At the beginning of the competition all robots will be sequestered in an area set aside for the purpose. They may be on charge but no communications (or alterations) of any kind will be permitted once they have been sequestered.
  2. The order of competition will be randomly chosen.
  3. Each robot trial will begin with a two minute setup period, during which a designated handler from the team will take the robot from the sequestration area, place it at the designated start point and connect it to its computer tether. The team's designated operator will boot up the team's computer software and establish communications with the robot.
  4. The setup period ends when both the operator stands away from the computer and announces, "Ready", and the handler stands away from the robot and announces, "Ready." Thereafter, except as may be provided for below, neither shall touch the robot or the remote computer again.
  5. At the beginning of the trial, a go at wp1 to wp2 command will be issued to the team's software by the judging software, via a socket.
  6. Once the robot receives its go, it will proceed from wayPoint wp1 to wayPoint wp2 at its best possible speed.
  7. The waypoint vicinity will be marked by a taped boundary on the floor. As soon as any part of the robot crosses the waypoint boundary the wayPoint will be deemed to have been achieved. The robot may query whether or not it has achieved the vicinity by issuing a queryAt wp1 string to which it will receive a yes or no response. Note that because corners can have two wayPoints associated with them, wayPoint vicinities may be shared by multiple wayPoints.
  8. Each wayPoint will be marked with a clearly identifiable paper target mounted on the wall at a standard height. The target will give both the wayPoint designation and, optionally, the next wayPoint. Once the wayPoint has been achieved (the robot has received a yes string in response to its queryAt wp1 string), the robot will identify the wayPoint and the next wayPoint, and send a to wp2 command string to the judging software, which will once again respond with a yes or no string. In the event the response is no (the next wayPoint is incorrect), the robot has two more tries to get it right. If it receives three no strings it will be deemed to be have missed its target and its run will terminate.
  9. Upon receiving a yes string , the robot will once again,proceed to that wayPoint at its best possible speed. The handler may keep the tether from fouling but may not use it to direct or 'jog' the robot in any fashion.
  10. The last wayPoint will have a special end marker in place of the next wayPoint marker. Once the robot has identified the next wayPoint is in fact the finish it will send an at end string to the judging software.

Two complete trials will be run. Robots will receive the score of their best trial.

Judging Software

The judging software will run a large timer on the computer screen while the trial is being run, as well as posting the wayPoint list (including times achieved). Robots will be judged on how much of the course they are able to complete (as evidenced by their wayPoint list) as well as how quickly they were able to traverse the course.

The judging software protocol is available as a pdf.

Here is the beta release version

The Arena

The rally arena will be in the northeast corner of the Senior Electrical Computing Lab and will be laid out approximately as below. The width is about 12 feet.

WayPoints: The wayPoint locations are marked by letters on the sketch below and will be marked on the actual arena walls using standard letter size sheets form a laser printer marked with the wayPoint (and optionally, the next wayPoint) using a black and white barcode

Waypoint images will be 13.8 x 13.8 cm, and will be mounted with the centre 35cm above the floor.

Here is the arena with all the dimensions noted. Dimensions are in cm. and waypoint locations refer to the centre of the target.

Waypoint Marking

The code for wayPoint marking has been defined in a Word document. Basically, it's a checkerboard design with a lot of standard information to allow you to calibrate your image.

Here are some code examples: The final images will be 13.8 x 13.8 cm, and will be mounted with the centre 35cm above the floor.









First Trial

In the first trial the robot will be placed on a line on the floor which will be from 5 to 12 feet away from the wall. It will simply have to advance straight until it encounters a wall. then execute a 90 degree left turn and advance straight again until it encounters another wall. It should output the co-ordinates (x,y) where x is the distance of the first wall and y the distance of the second wall, both as measured from the start point.

General procedures will be similar to those defined for the final trials (robots sequestered at the beginning, best of two trials, etc.)


Robots will receive 5 points for measuring the distance to the first wall and five for the distance to the second. Touching a wall will cost them two points as will measuring the distance incorrectly (error of geater than .25 meters).

Interim Release Points

Teams will define their own interim release point trials on their schedules, as well as the trial, subject to approval by the instructors. They will have 10 minutes to demonstrate

  1. That they can still execute the test for their last release point (first trial for release point 1).
  2. Execution of their new test.

Robots should also be capable of executing every prior trial they have successfully completed and may be called upon to do so at the instructors' sole discretion.