FIRST ROBOTICS
f.or i.nspiration and r.ecognition of s.cience and t.echnology

The Ithaca High School, BorgWarner, and Cornell University FIRST Robotics team participates in a yearly robotics competition. A six week build period is given to teams to build a 130lb robot to be able to compete in a game. There is an 15 second autonomous period where robots must be able to operate independent of their drivers. Teams can accomplish this through use of sensors or timing.

Sample C Program Screenshot

Cornell University students work at the Science Center with middle school students from around Tompkins County to build and program a small robot made from Lego. The robot was programmed using RoboLab, which is made by Labview. The Lego brick has 5 program slots where 5 different programs can be loaded into the robot. These programs are created to accomplish the missions of each years game, this year's being connected with the Mars Mission.

Sample RoboLab Program Screenshot


FIRST Robotics Competition Programming

For the 2004 FIRST robotics season, the task of programming the robot was made significantly more interesting and challenging with the switch from the PBASIC programming language to C. As well, the autonomous mode in which the robot navigates without driver intervention is now a much more integral part of the game- if the robot does not complete a certain task during autonomous, the whole alliance is at a significant disadvantage.

Given the much more powerful platform now available for programming the robot, a change in last year's driver code and autonomous code was in order- and not just because of the language change. In 2003 and before, with space being scarce and the processor being slow, manipulations like joystick control were relatively simple, and didn't really enhance the drivers control over the robot. In 2004, the robo filters the input through several stages, including an efficient exponential algorithm, which provides much higher control over the track drive system.

In terms of the autonomous code, 2004 is proving to be way ahead of 2003. In 2003, a simple 'dead reckoning' system was utilized, which didn't rely on any sensors (with tweaking, it worked fairly good, however). This year, the list of sensors is quite impressive: IR sensors mounted on servos to track beacons mounted on the side of the field, a yaw rate sensor, an accelerometer, current sensors to measure torque and motor speed, and a pressure sensor for the pneumatic system. Essentially all of these are being used to track the robot on a virtual grid, and the grid is used to provide a waypoint system. Given a simple list of coordinates and subsystem states (eg, whether the arms should be out or not), the autonomous code navigates to each coordinate location, and executes any other commands needed. To do this, it has to calculate the distance between the points, as well as the angle, which required the addition of a trig library to the code. Overall, the 2004 season has provided a much more interesting challenge for programming the robot- one can only imagine what will be required next year!

Links:

FIRST Robotics Website
FIRST Lego League Website
Code Red Robotics Team 639 Website
Team 639 SVN Directory
Parallax - Basic Stamp Microcontrollers

This year's BOOM presentation done by:

Cornell Students:
Matthew Bays
Ameya Agaskar
Michael Ferguson
Mark Desnoyer
Patrick Dingle
Vicki Niebrzydowski

IHS Students:
Nick Elser
Yan Wang


Funded in part by the SAFC