Projects

[Lego Robots] [Groups] [Lab Hours] [First Project] [Second Project]

Lego Robots

The projects will use Lego Mindstorms robot kits. These kits are supplied by me rather than the department, so, please guard the kits carefully and make sure you don't drop the box with the kit in it on the subway.

The kits contains an assortment of parts some or all of which you can use to build your robot. There is no restriction on what you can build except that it can only be constructed with the parts you have been given.

If you want to use additional parts (for instance because you need an extra three grommets to build the robot of your dreams), come and see me, and we can discuss if you can have some extra components. (I will only agree if the parts you want are essential to what you robot is doing and don't give the robot an unfair advantage.)

You will need to download the current version of Not Quite C (NQC) (version 2.4 r2 or higher) for the platform you intend to use.

You can also download the User Manual and Programmer's Guide for Not Quite C.

You might also be interested in the Bricx Command Center which is an integrated development environment for NQC (I prefer to use the old-fashioned combination of text editor and compiler).

Finally, Aaron Gibbs has put together a LEGO Mindstorms page which include information on how to get started, how to use NQC, and has a bunch of sample programs that you might like to look at.

[Lego Robots] [Groups] [Lab Hours] [First Project] [Second Project]

Groups

These are group projects, and the groups are:

Group A

Bina

Group B

Ghazi
Ozlu

Group C

Kammet
Lee

Group D

Chiu
Stroude

Group E

Arpe
Meyer

Group F

Friedman
Liu

Group G

Carmichael
Feng

Group H

Montes
Vongjirad

[Lego Robots] [Groups] [Lab Hours] [First Project] [Second Project]

Lab Hours

There will be certain periods when the lab is available for project work. These periods are:

for the first project, and:

for the second project.

I will only open the lab when requested (since I can't just leave it open), so you will have to come to my office during those periods, and I will then open the lab for you.

I also need to know that you will be coming to the lab at least the day before. I have to rearrange my life considerably in order to make sure the lab is open at these hours, and will be very unhappy if I have to do this for no reason.

Note that the aim of these periods is to give you time to test the robots, not to develop the robots.

In other words, you will do best of you work on the robots outside of these periods (at home say) and use the lab time to tweak your design rather than trying to do everything in the lab.

[Lego Robots] [Groups] [Lab Hours] [First Project] [Second Project]

First Project

Using the Lego Mindstorms kit, you will have to build a robot which follows a line, detects obstacles (and backs up when it hits an obstacle) and can detect various coloured regions that the line passes through.

A course which incorporates these elements will be provided for you to practice on with the robots. This will be placed in Ingersoll 5301 for you to use. We will set up a schedule of times that this room is open for you.

At the end of the project these robots will compete over this kind of course; the aim is to complete the course in the minimum time.

Doing badly in the competition will not hurt your grade for the project, but doing well in the competition may increase your grade for the project.

The robot control programs should be written in the "stimulus-response" style we discussed in Lecture 2.

Competition details

The following notes should be consulted in conjunction with the line following course.

They describe the procedure that will be followed during the competition.

Place the robot at the end of the black line where the line touches the edge of the board.

Let the robot start line-following and start timing.

At some point between the third and fourth corners place an object (for example a box).

When the robot touches the object, it should stop, back up slightly and wait

When the robot has stopped after backing up, remove the object.

When the robot reaches the green patch (between the 4th and 5th corners) it should play a sound.

When the robot reaches the silver patch after the last corner, stops, and plays a second sound (to show it recognises the silver patch) stop the clock.

NOTE:

What you have to hand in

Everyone has to submit a project report which is their own work (and we will be checking that group members have not just cut and pasted between reports).

Each report should be 4-5 pages long (standard letter paper, 10-12pt type, single spaced), and should describe the design of the robot and the design of the code which controls the robot.

You must not only describe the design choices made, but also justify them.

In addition to the 4-5 pages of report, you must submit two other items:

  1. A listing of the code of the control program of the robot. This should be properly commented (I expect to be able to understand exactly what the code is doing from the comments).
  2. A single sheet which describes the contribution to the project of the author of the report. This should be signed by all the group members indicating that they agree that the description is an accurate picture of the author's contribution to the project.
[Lego Robots] [Groups] [Lab Hours] [First Project] [Second Project]

Second Project

Using the Lego Mindstorms kit, you will have to build a robot which searches a "maze" for the same kind of coloured regions that you looked for in the first project.

The difference is that this time you will have to search to find the coloured regions, and that you get both a training run (where you find the regions) and a test run where you have to go to those regions as quickly as possible.

The "maze" is a 6 x 4 grid of squares, drawn out as below, using the same balck tape as in project 1 on the same white foamcore background.

The arrow indicates where your robot will enter the grid.

For the competition, I will place green figures (just like those in the first project) in some of the squares (one, two, maybe three) and silver figures in a single square.

Each team is allowed a training run (which must take less than 5 minutes) in which your robot can wander through the maze locating the figures.

At the end of the run, the robot is taken back to the start, and runs through the course again.

On this test run, the robot must go first to the green figures, indicate it has found them by playing a sound (and as before, playing a sound not at the green figures will be penalised), and then go to the silver figure and play a different sound.

The test run will be timed, and the competition will be won by the team that takes the minimum time to locate the silver figure (once any penalty for mis-detecting or failing to detect green figures is taken into account).

What you have to hand in

Everyone has to submit a project report which is their own work (and we will be checking that group members have not just cut and pasted between reports).

Each report should be 4-5 pages long (standard letter paper, 10-12pt type, single spaced), and should describe the design of the robot and the design of the code which controls the robot.

You must not only describe the design choices made, but also justify them.

In addition to the 4-5 pages of report, you must submit two other items:

  1. A listing of the code of the control program of the robot. This should be properly commented (I expect to be able to understand exactly what the code is doing from the comments).
  2. A single sheet which describes the contribution to the project of the author of the report. This should be signed by all the group members indicating that they agree that the description is an accurate picture of the author's contribution to the project.

[Lego Robots] [Groups] [Lab Hours] [First Project] [Second Project]