Lego Robot Project - Comp 2673 project 3

Due June 2, 2003

 

Problem Statement

 

Build a robot that will search an enclosed area and identify different target polygons.

 

The area will be enclosed by one and a half inch diameter plastic (PVC) pipe. The enclosed area will be polygonal in shape.  Each pipe section will be at least two feet in length.  The pipe sections will be connected so that all angles are right angles.  Example regions are:

 

 

 

 

 

 


The target polygons are pieces of white poster board.  A target is either an equilateral triangle, square, hexagon, or an L-shape.  Each side of the targets will be approximately one foot in length.  Each target will also have a black square (approximately one inch in size) in the middle of one its sides.

 

The robot should identify which target has been found by beeping once for a triangle, two times for a square, three times for a hexagon, and four times for an L-shape. There will be 3 targets (each of a different shape) in the enclosed area.

 

The robot should be able to detect and identify all the targets in the enclosed area. After determining that all the targets have been identified, the robot must stop.

 

In addition to moving around and detecting targets, the robot should be able to receive messages transmitted by an IR tower.  During the demo exercise, an IR tower will continuously transmit one particular message. The message will consist of a number between one and four.  Each number corresponds to a particular target polygon. When the robot finds that particular target polygon the robot should play some music (you choose the tune).  A “1” message designates a triangle target, a “2” message indicates a square target, a “3” message indicates a hexagon target, and a “4” message indicates an L-shape target.

All robots will start from a designated part of the enclosed area, but are free to initially point in any direction of the team’s choosing.

 

Grades will be assigned as follows. The grades are cumulative. For e.g., to get an A you need to do everything needed for a C, everything needed for a B and everything needed for an A.

 

C : Robot can gracefully handle bumping into the pipe, and can move around the enclosed area and detect the targets. The robot should be capable of finding all of the targets, but does not have to identify their shape.  The robot must follow the edges of each target it encounters until it has gone around the target at least once.

 

B : Robot can identify the various targets (by beeping a different number of times for each type of target).

 

A : Robot detects and identifies all the targets in the enclosed area and stops after determining that it has found all of them. It should also be able to receive a message from the IR tower and respond to it appropriately (playing music after identifying the target corresponding to the message).

 

Each team must demo their project. Please remember to bring a set of batteries for the demo. Each team should turn in their source code (print out and by email to comp2376@cs.du.edu).

 

 

Robot Construction

 

The robot can be built using any of the parts contained in the kits.

 

The robot may use any form of locomotion.  We recommend starting with the standard robot body (or chassis) shown in the lab seven handout.  This standard robot body will allow many different possibilities including wheels (of the same or different sizes), tracks, and legs.

 

The robot should have at least one touch sensor (for detecting when the robot has hit one of the enclosing walls) and at least one light sensor (for detecting the target polygons.  Note that the RCX brick can only support three sensors.

 

Programming Environment

 

The robot should be programmed using the NQC language and  preferably using the BricxCC environment.