Robot Rover Derby
Course enrollment will be available for this course once it is scheduled.
Engineers design useful or desirable objects, employing scientific principles. In Robot Rover Derby you and your teammates will design, construct, and program a useful and desirable rover that will compete with other rover teams in a ladder tournament.
Your rover can navigate autonomously by on-board computer signals. The rover will start remotely by 900MHz wireless transmission. Work on the rover can be divided into three parts: Mechanical, Electrical, and Programming; we expect that each student will learn something about each aspect of their rover but may take responsibility for one.
A rover team's mechanical specialist will assemble the rover chassis from sections of grooved aluminum 80/20 rail or Tetrix parts. On the chassis, the mechanic will connect #25 chain from drive wheel sprockets to independent stepping motors gears. The wheels should align on an axle going through the rover's center of gravity for tank steering. Check out our steppers and drivers. Motor driver circuit boards will be mounted near and connected to the steppers. The mechanic will make provisions on the chassis for wall-detecting sensors, and for photo-transistor stalks to search for a bright light over the team's goal. The mechanical specialist will be concerned with shop safety: proper use of power tools, vises, safety goggles, etc.
A rover will be in contests where weighing less than its opponent counts for a bonus point, so the mechanic will want no unnecessary features. Model rovers weigh about 20 pounds.
The electrical specialist on the team will put together the rover's power unit and learn how to charge the two 12v lead-acid batteries in parallel. A triple-pole switch will convert the batteries to 24 volts when in "drive" mode. The electrician will learn about toggle switches, heat-sensitive circuit breakers, voltage regulators, and proper grounding techniques for electrical assembly. On the rover will be an Arduino microprocessor board; the electrician will hook up wires connecting the computer "ports" to the motor drivers and sensors. The Arduino board will have a 900MHz XBee receiver for remote control. The electrician will assemble a handheld XBee transmitter unit with help from the programmer. The electrician will also learn how to solder reliable connections, and how to use terminal blocks, quick-disconnects, and banana and binding post connectors. She or he will be concerned with safety issues for soldering.
The two stepping motor drivers each have 3 inputs: Clock, Direction and Enable, to be controlled from the on-board computer. Clock rate determines rotation speed. The team programmer will learn the fundamentals of embedded C and the architecture of the Atmega 328 microprocessor used by Arduino. The programmer will be given sample code to start with. Programming basics will include C syntax, data types, conditional branching, iteration, timers, functions to call, interrupts, and header files. The programmer will learn to upload code from a laptop to the Arduino board. The Arduino editor 1.0.5 generates a *.ino file that insulates the programmer from some details of C. An Arduino program normally has an "infinite while loop" executing the control code for the rover. Debugging is achieved by a "serial monitor" that can print out variables as the program executes.
To begin the course, six functioning rovers will be available for contests, programming challenges, and build models.
Teams will invariably spend considerable time troubleshooting problems. Teams that do best will learn to communicate, cooperate, compromise, and collaborate (the 4 Cs). The 5th C - Cleanup up at the end of each day - will also turn out to be important. The 6th C - Competing - should be done with humility by winners and gracefulness by losers.
*Please note: This course has a supplemental fee of $250