Block Pushing Robot

MAE3780 is Cornell's mechatronics class for mechanical engineers. The first half of the class is an introduction to circuits- analyzing them, building them, and debugging them through multimeters and oscilloscpes. The second half of the class is an introduction to the Arduino Uno- toggling the microcontroller registers and implementing various sensors. The programming of the Arduino was done in C instead of using the Arduino language.

The final project was to create and control a robot to compete in a competition to move as many cubes from your zone into the opponent’s zone in a one minute period. The board is a 4'x4' field, split into two 3.5'x1.75' colored zones (blue and yellow) and a 3'' black border around both zones. The board is made of ¾'' plywood, the two zones are made of a glossy self-adhesive vinyl, and the border is spray-painted. The cubes are 1'' colored wooden blocks. In groups of three, this involved designing a mechanism to effectively push blocks, assembling and wiring the robot, and interpreting the sensors so that the robot would move effectively in the minute of competition. To move blocks, we used a laser cut piece of acrylic. The sensors used were a QTI sensor to detect the black border on the board, a color sensor to detect the two different sides of the board, and a gyroscope to detect robot heading and to counter wheel drift. Servo motors were used to move the robot, as well as to rotate the robot arm.

The following years after taking the class, I was on the other side as a TA. In this role, I held the weekly 30 student lab sections, held office hours and review sessions, answered questions on Piazza, graded lab reports and homeworks, and set up the double elimination bracket for the final competition.