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.
![](https://static.wixstatic.com/media/556040_a371a707928b4345bc89a42bef570e37f000.jpg/v1/fill/w_265,h_471,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/556040_a371a707928b4345bc89a42bef570e37f000.jpg)
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
![Screenshot 2025-02-02 at 18.20.32.png](https://static.wixstatic.com/media/556040_fc932701140c40b9bce13245d1409b23~mv2.png/v1/fill/w_289,h_289,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screenshot%202025-02-02%20at%2018_20_32.png)
Kinematic Planning Diagram
![Screenshot 2025-02-03 at 01.11.17.png](https://static.wixstatic.com/media/556040_c62de1bc31e84edf857996fcc08ef0f5~mv2.png/v1/crop/x_3,y_0,w_1455,h_1460/fill/w_288,h_289,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screenshot%202025-02-03%20at%2001_11_17.png)
Solenoid-Actuated Button Pressing Mechanism
![Screenshot 2025-02-03 at 01.10.39.png](https://static.wixstatic.com/media/556040_d56726fbd5214eac8132df941ae34e25~mv2.png/v1/fill/w_289,h_289,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screenshot%202025-02-03%20at%2001_10_39.png)
Mechanism Joint Design
![Screenshot 2025-02-03 at 01.11.45.png](https://static.wixstatic.com/media/556040_dfac02a0901940309ced2ecbdbc47ea6~mv2.png/v1/crop/x_183,y_0,w_1986,h_1230/fill/w_281,h_174,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screenshot%202025-02-03%20at%2001_11_45.png)