sponsored by:


February 22-26, 2004




High School Lego Robot Competition
Monday, Feb 23, 2004
9:00am-4:30pm, Thwing Ballroom

Please direct any questions to Ana R. Badillo at arb14@case.edu.

QuickLinks:

Overview of Events

9:00 a.m. High School Lego Robotics Challenge participants meet in Thwing Ballroom
9:30 a.m. Welcome to Case
9:45 a.m. Overview of the competition
10:00 a.m. Seeding round begins
11:00 p.m. First round of head to head competition begins
1:00 p.m. Second round of head to head competition (32 entrants) begins
4:30 p.m. High School Competition Ends and Award presentation

(Box Lunches and snacks provided by The Case School of Engineering)

(top)

Tournament Structure

The tournament will consist of two portions: a seeding round and a “head to head” single elimination competition. The purpose of the seeding round is twofold: (1) to determine the group of teams to receive a “bye” in the first round of the single elimination competition and (2) to determine the seeding in the second round of the “head to head” competition. The purpose of this structure is to insure that there will be exactly 32 robots competing at the beginning at the second round of the “head to head” competition.

In the first portion of the tournament, the time that a robot takes to reach the target area of an illuminated bulb will be used to determine its seeding for the first round and (if needed) for the second round of the “head to head” single elimination competition.

The robots that receive the highest rankings in the seeding runs will receive a “bye” for the first round of the single elimination tournament. The remaining robots will then need to compete in a single round “head to head” competition with each other. The winners of this round will advance to the “head to head” single elimination competition against the robots who received a “bye” in the first round. The pairing of robots in the first and second rounds will be based on seeding, e.g., a lowest vs. highest seeding will compete with one other, the next lowest will compete with the next highest, etc.

An example may help clarify the structure of the competition. If 40 teams are participating in the tournament, then the seeding round is used to assign to each robot a ranking from 1 to 40 (with 1 being the highest ranking). The robots having the highest 24 rankings from this round will advance automatically to the second round of the single-elimination competition. The first round of the single-elimination competition will be a “head to head” contest among the robots having the lowest 16 rankings (ranging from 25 to 40). The 8 winners of this “head to head” competition will then advance to the second round of the single-elimination portion of the tournament (thus having 24 + 8 = 32 competing teams).

(top)

The Competition

The competition will begin with a one minute individual round for all teams in order to determine seeding. In this round, each team will be timed on how quickly they can travel from a fixed starting location and orientation to the target area surrounding a light, randomly chosen, in the arena. Each robot will be permitted to begin movement only after receiving an IR signal of “102” from an RCX Brick facing it. It should then move to the target area surrounding the only illuminated bulb as quickly as possible. The shorter the time that is taken to reach the target area, the higher the ranking will be. The teams will then be ranked and this ranking will determine their seeding in the next two rounds of a single elimination tournament. In this round the bulbs will all be 60 Watts and there will be no obstacles in the arena. Note that NO robot will be eliminated based on the performance during the seeding competition.

In the tournament, two robots will go head to head in the competition arena. Both should be able to sense light and race as quickly as possible to reach the randomly lit bulb. The first to reach the target area surrounding the lit bulb will score a point. At the conclusion of each head to head battle, the winning robot will move on to the next level. As the rounds progress, the task will be made increasingly difficult. In some rounds two light bulbs will be lit and the robot will have to race to the brightest one. In higher rounds there will be cylindrical obstacles scattered about the arena around which the robot will have to maneuver.

Head to head battles will last for three to five minutes, depending on how far the tournament has progressed. In the case of a tie, a sudden death overtime will occur. If neither team had scored a point during regular play, the arena will be simplified to make play easier.

(top)

The Arena

The competition arena consists of a hexagonal area approximately five feet to a side, with a polished hardwood floor. Each wall will have a light bulb placed in its center that will be randomly lighted by a control board. Each bulb is 8.25" from the floor surface and will have a target area of one square foot surrounding it that will be marked by masking tape.

In the preliminary and subsequent rounds of the tournament, 1 to 5 obstacles will be randomly placed in the arena as an added challenge. These obstacles will consist of standard gallon-sized paint cans that have been reduced in height so as to interfere with the movement of the robots through the arena, but not interfere with the transmission of light in and around the arena. The obstacles will be heavy enough that they will not be able to be moved by the robots.

(top)

Robot programming language

All robots must be programmed using the NQC programming language developed by Dave Baum. The current release (2.5) should be used and this compiler can be downloaded from Dave Baum’s official website:

http://www.baumfamily.org/nqc/

This site also contains important documentation of the compiler, an NQC FAQ, and links to IDE (Integrated Design Environments) for both Windows based PCs and the Mac. The use of an IDE such as BricxCC or MacNQC is highly recommended, though it is not necessary for your program development.

For the Windows IDE:

Bricx Command Center (BricxCC) is a Windows (95, 98, ME, NT, W2K, XP) program commonly known as an integrated development environment (IDE) for programming the RCX (all versions), Scout, Cybermaster, and Spybot programmable bricks using Dave Baum's Not Quite C (NQC) language. It also supports programming the Scout, RCX2, and Spybot using The LEGO Company's MindScript(tm) and LASM(tm) languages via the Mindstorms 2.5 SDK. It supports programming RCX bricks in C, C++, Pascal, Forth, and Java using the brickOS, pbForth, and leJOS alternate firmwares. Version 3.3 of BricxCC is an enhanced revision to Mark Overmars' original program. See his web page for an overview of the basic functionality upon which this release was built.

Bricx CC website: http://members.aol.com/johnbinder/bricxcc.htm

For the Mac IDE:

The main window of the program is an editor for the NQC language. The editor color-codes the syntax of the language. Multiple files can be edited at the same time. From the editor you can call the compiler and download the code to the robot. There are many other functions, like windows to watch what is going on in the robot, to control the robot directly, to control the robot with a joystick, diagnostics, to let the RCX make music, and tools for downloading firmware, etc. Online documentation is also available for both MacNQC and the NQC language.

MacNQC website: http://homepage.mac.com/rbate/MacNQC/

(top)

Design Guidelines

You should note that several robot design parameters should be considered. Below are some basic robot attributes that you should try to balance. Please be aware that this list is not all-encompassing. Spend some time thinking about the robot design before you dive into its programming and construction.

Realizing that there are two robots in the arena at any given time, it is important that you build a robust robot. If they bump into one another, it is possible that parts of a robot may break off and impede its movement. At the very least you will need to make sure that your robots are easily repairable.

As your robots will need to sense the brighter light source and move toward it, you should try to program an algorithm that will zero in on the light very quickly.

The faster the robot moves the better, though you will need to be careful of balancing robot robustness and agility, two contrary design parameters.

Remain aware of the parts available to you. You should think about several gearing designs and methods of gaining traction on a glossy floor. Transferring power from your motor for locomotion is not a trivial matter, especially when it comes to developing the fastest robot you can. You are required to use only the parts available form one (1) Lego “Team Challenge” Robotics Kit. Do not include any extra parts from other kits you may purchase. All robots are subject to inspection to insure that this requirement is met. The use of any parts not included in the standard kit will result in immediate disqualification. Please also note that inside the kit there is a block that comes with a small bulb. There is an extra funnel shape metal piece that can attach to the small bulb (making it a flashlight). This bulb cannot be used on your robot, as it may interfere with competitors' light sensing strategies.

(top)