Machine Design:
Rapid Robotic Button Presser
Project Description
Check out the SolidWorks model of this project on GrabCad!
​
The Rapid Robotic Button Presser is a custom designed and fabricated linkage mechanism created as a team project for Columbia's Machine Design course. The objective for the course was to build and tune a machine to automatically press buttons on a playing board in a randomly generated order as quickly as possible. The team was given a $100 budget and evaluated on the playing score, mechanism volume, and transmission angle deviation.
I was responsible for kinematic planning, designing and creating the 3D model, and spearheaded much of the optimization efforts to reduce mechanism volume. I led the implementation of electronics and the development and tuning of the PID-based control algorithm to obtain the best performance from our mechanism. This effort included coming up with novel innovations in our control implementation with transition-based inertia compensation adjustments.

Methods
-
Designed a four-bar linkage mechanism to hit sets of required buttons
-
Optimized linkage to minimize transmission angle deviation using numerical optimization in Python
-
Fabricated links, ground plate, and motor mount using CAM and CNC mills and lathes
-
Selected transmission system via inertia matching to maximize linkage acceleration
-
Designed mechanism joints with adequate bearings and lubrication to minimize friction losses
-
Constructed circuitry for DC motor, solenoid, limit switches, motor drivers, MOSFETs, and encoders
-
Tuned PID-control system and significantly boosted performance by introducing transition-based custom gains, smart velocity control, gravity compensation, friction compensation, and inertia compensation
-
With a class average of 122 points, we achieved a score of 182
Media
Full Mechanism

Kinematic Planning Diagram

Solenoid-Actuated Button Pressing Mechanism

Mechanism Joint Design
