
Deltoid: A Desktop Delta-Style Parallel Robot
For my final project in Advanced Intro to Robotics (Harvard), I designed and built a low-cost delta-style parallel robot. Using analytical expressions for the forward kinematics, the geometry of the robot was selected by parametric analyses with respect to the workspace volume. The selected geometry was implemented in hardware using rapid prototyping methods, hobby servos and off-the-shelf hardware. The hardware implementation was validated against the simulated model in terms of reachable workspace, and the prototypical robot was able to demonstrate some basic functions, including trajectory execution and teleoperation.
Course: ES259: Advanced Introduction to Robotics (Harvard)

(left) CAD rendering of Deltoid with callouts to relevant features, (right) image of fabricated prototype
(left) CAD rendering of Deltoid with callouts to relevant features, (right) image of fabricated prototype

(a) point cloud generated by performing an angle sweep of each joint, (b) convex hull fitted to the point cloud for volumetric workspace computation, (c) parameter sweep over different geometric rattios to determine workspace dependency


Measured vs. simulated workspace volumes
(Teleoperation results for a complicated 2D trajectory, (from left) visualization showing commanded vs. executed path, (top) joint angle vs. time and error, (bottom) task space position vs. time and error

Driftoid: An Autonomous Robot
In my spare time, I wanted to design and build a robot with a very simple goal: drive around my apartment and try not to run into things (essentially a Roomba sans all practical functionality). Thus, Driftoid was born. Driftoid features an octagonal chassis and four independent DC motors with omniwheels positioned in such a way to allow for holonomic motion. Driftoid also has a litany of sensors to help it understand its location in space (and time):
​
-
(8X) Ultrasonic Rangefinding Sensors
-
(1X) 3-Axis Accelerometer
-
(1X) 3-Axis Gyro
-
(1X) Real-time clock
-
(1X) Resistive light sensor
-
(3X) pushbuttons
​
RGB LED strips placed on the underside of the bot allow Driftoid to exhibit 'moods', and an active piezo buzzer allows it to sing songs. A simple state machine is implemented on board an Arduino Mega 2560 to dictate Driftoid's behavior (example: 'looks like I'm in a hallway, I'll try to stay in the middle of it and not run into the side' or 'looks like I'm in a corner, better head the other way'). A 12V LiPo battery allows Driftoid to run around the apartment untethered.
​
Course: Just for fun
Driftoid running circles around Deltoid (red flashes indicate that Driftoid is 'too close' to Deltoid)

Driftoid

Mr. Struggles: Kalman Filtering of a Balancing Robot
In this project, myself and two colleagues (Ye Ding, Mie Kunio) investigated the effects of implementing a discrete-time linear Kalman filter to control the orientation of a balancing robot with inherently nonlinear dynamics. The robot, named Mr. Struggles (designed and built by Ye Ding as a pet project), is unable to balance itself with the raw on-board 6-axis IMU readings. My role in the project was to characterize the accelerometer and gyroscope's noise properties and design a discrete-time Kalman filter to estimate the true orientation of the robot. I also developed a nonlinear model of the robot in Simulink to tests the performance of the Kalman filter and different PID gains in software. I worked with Ye Ding to implement the Kalman filter in hardware and test on Mr. Struggles. Ultimately we showed that the addition of the Kalman Filter allowed the robot to stabilize vertically.
Course: 2.151: Advanced Dynamics and Control (MIT)
Project overview

Grover: (Another) Autonomous Robot
An homage to the president supported by the group of Republican activists from which the design team got its name, Grover is a fully autonomous robot designed to compete in the $uperPAC robot competition for ME210: Intro to Mechatronics. Designed and built from scratch in just under 3 weeks, Grover employs several strategic capabilities including line-following, IR beacon sensing, bumper detection, and token depositing. During the $uperPAC competition, Grover made it to the quarterfinals via a "sweep" of GOP-AMP, but ultimately succumbed to finalist RIP Van Winkle. Grover prides itself on being compact, lightweight, aesthetically pleasing, yet still able to compete with the big boys.
Course: ME210: Mechatronics (Stanford)
Here Grover demonstrates the minimum functionality necessary to qualify for the SuperPAC competition
After a nerve-racking 45 seconds where a failed beacon tracking attempt lured Grover into a corner, Grover's Lost Path Correction Maneuvers (LPCM's) allowed the bot to finally find tape and perform a full sweep of its opponent in the first round of the SuperPAC