Design, build and program a robot that will compete against other robots to achieve a goal.

Project Instructions and Rules - UPDATED 6/1/17

Parts List - UPDATED 5/12/17

Part Replacement Form

Verification Schedule

Project schedule and deliverables (accurate as of 5/5/17)

Week #
1 -
2 General safety training
3 Initial sketch due
4 -
5 Verification test: CAD
6 -
7 Verification tests: Mechanical and Electrical fabrication
8 Verification test: Experimental
9 Verification test: Controls
10 In-Lab competition
Finals week Final competition

Verification tests

These tests are designed to ensure that the group is progressing towards the end goal of a functional robot. As such, we will focus on how prepared the robot is to moved to the next phase of development.

Verification Schedule -- Be on time or lose 20% immediately! 0% if more than one week late


Although not required, it would help for all team members to work together to develop an initial design for their robot, and produce a sketch that sufficiently details their design. Graphics for the sketch might be hand drawn or computer generated. In addition to graphics, the sketch might state some specific design goals and consider how your design will set your robot apart from others in achieving those two goals. Consider aspects of performance that you anticipate needing to sacrifice in order to excel at those two goals. (e.g. “Maneuverability—Our robot will use a tricycle design with a one-way-bearing driven front wheel that will allow it to rotate in place and get itself unstuck from collisions. This will sacrifice the stability of a four-wheel design.”)

CAD Verification

CAD verification test checklist

Parts list with links to dimensions

Solidworks part file for air cylinder

Mechanical Verification

Mechanical verification test checklist

Connections Verification

Connections verification test checklist

Wiring diagram magnetometer, servo, and solenoid

The Arduino can be powered directly from the 12 V battery. In order to do so, you will have to use the VIN and GND pins. Do not use any other pin to power the Arduino! From the Arduino documentation: "Vin. The input voltage to the Uno board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin." The recommended input voltage range when not using the USB is 7-12 V, but it should be able to take up to 20 V. The battery voltage is well within that limit.

Control Verification

Control verification test checklist

Control training (LED Brightness)

Simulation guide

Robot Simulation GUI

Smooth2.m Matlab Script

Certain student editions of Matlab do not have the smooth.m function so I wrote a basic version of it that works identically for this situation.You can place the attached smooth2.m file in the same directory as your robotSimulation.m file, then change line 109 from impulse_response_M(:,n) = smooth(interp1(IR_time,IR_speed,time),.25/dt); to impulse_response_M(:,n) = smooth2(interp1(IR_time,IR_speed,time),.25/dt); Also remember to change line 107 from IR_time = [0 IR_ticks(1:end-1)+diff(IR_ticks)/2 IR_ticks(end) Inf]; to IR_time = [0 IR_ticks(1:end-1)+diff(IR_ticks)/2 IR_ticks(end) 100];

Reed switch handout

Arduino Code for Magnetometer Servo Demo

Experimental Verification

Experimental verification test checklist

Project roles

Generic placeholder thumbnail

CAD and Mechanical Fabrication

Generic placeholder thumbnail

Electrical Fabrication, Connections, and Experiment

Generic placeholder thumbnail

Control System

CAD designer and Mechanical Fabrication

Create a detailed 3D model of the robot. Ensures the all components move through their range of motion and are ready for fabrication.

Builds mechanical structure of the robot. Ensures mechanical components such as the air cylinder, and steering mechanisms are functional and ready for electrical connections.

Electrical fabrication and experiment

Connectivity and wiring. Makes sure electrical, mechanical, and pneumatic connections are correct and solid. Confirms sensors can be read by microcontroler.

Experimental testing. Performs experiment with controlled robot, testing different control gains and parameters, in order to optimize robot performance


Programs robot to achieve basic performance capability in the competition.

Fourth team member

Only when the number of students enrolled in a lab section requires it, teams will have 4 members. The fourth member will have responsiblity for the Experimental testing, described above.

Previous years