Button-Pressing Competition Machine
As a team, we designed, built, programmed, and tuned a four-bar linkage system to hit buttons in a randomly generated order as fast as possible, while keeping the mechanism small and its transmission-angle deviation low. The budget was $100, not counting the motor, Arduino, and aluminum stock.
I led electronics and controls, Arduino firmware and PID tuning, and also contributed to CNC machining and the linkage synthesis itself.
I ran a random-search optimization in MATLAB to minimize the linkage's transmission-angle deviation, then used FEA to size each link's cross-section and material, and matched inertia across the linkage to maximize acceleration.
On the controls side, Arduino C++ firmware with PID-tuned motor control handled accurate button hits. The trickiest mechanical problem was the optional bonus button, which had to fold out and lock during the homing sequence using only one DC motor and one linear actuator. I solved it with a gate-latch concept borrowed from door hardware. The finished machine ran one of the smallest mechanism volumes in the class and scored correctly under the competition's plus/minus point system.