I love working on projects in my spare time. Through each of these projects I have developed a greater appreciation of 3D Printing, CAD, Numerical Simulation, Robotics, Electronics and more.
FEATURED PROJECT
12 servos are controlled using inverse kinematics to produce a robot capable of 6 degrees of freedom (rotation and translation about x y and z)
Designed using Solidworks
Programmed and controlled using Arduino
3D printed on my desktop 3D printer
Gears are produced by a parametric gear generator for Solidworks I created using equations from Shigley's Mechanical Engineering Design
Printed using my desktop 3D printer
Biomimetic Prosthetic Hand
This 3D printed prosthetic hand, named Chiral Control, is an accessible, highly dexterous, and non-invasive prosthetic hand that is designed to give users who have experienced partial-hand amputation the ability to better interact with their environment
3D Printed Robotic Arm
This planar 2R manipulator is the first robotic arm I designed and manufactured myself. It is used as a test bed for signal processing, motion planning algorithms, and understanding how robots interact with their environment
Rocket Injector Water Flow Testing
During the pandemic, it was difficult for students in project based clubs to work together. I designed a device that allowed other students to 3D print their own testing apparatus that could fit on their kitchen sink
3D Printed, Hand Painted P-51D
Coincidentally, both my grandfather and my favorite aircraft is the P-51D Mustang. I loved creating this model from designing it in CAD based off of engineering drawings from the 1940's, to 3D printing it and post-processing it to look as real as possible
3D Printed Lithophane Nightlight
A lithophane uses the translucence of a material to produce an image. I wanted to incorporate this interesting phenomenon into a device, so I modeled a height map of a grey-scale image, which when 3D printed and backlit produces that image
Klein Bottle Salt Shaker
I was fascinated by the shape of Klein Bottles, and always wondered if they could be used for anything. Well, now I can use one to put salt on my food
Programmable Arduino Macro Pad
Saving time helps me to be more productive. I used this Arduino Pro Micro to simulate a keyboard, then programmed it to type special commands and shortcuts whenever I press a button. This allows me to use software such as SOLIDWORKS more quickly.
Laboratory 3D Printing Technician
Besides working as a researcher and developing prototype robots, I also spend a lot of free time in the lab where I learn more about maintaining 3D Printers, making custom slicer profiles, and more
Chiral Control is the most recent development in a series of prototype prosthetic hands I have designed. Currently the biggest challenge is refining the CAD for the individual fingers, as they have many small features and components which must fit together with precise tolerances. It has taken careful tuning of my desktop 3D printer to achieve a working prototype, in this video I showcase the natural movement achieved by Version 4.
Chiral Control uses a clever mechanism that removes the need for a 3rd motor to control each finger. Notice that it is difficult to bend only the tip of your finger, and for almost all daily tasks, the tip of the finger moves with the intermediate segment. Chiral Control takes advantage of this by removing the need for actuation of all three revolute joints.
Here one can see the internal components that allow control of the tip of the finger by passive actuation. An internal tendon must travel along an internal cavity and is fixed at both ends. This causes the two end segments to move together.
This video demonstrates this concept in more detail. As the second segment moves relative to the base segment, the tip of the finger also actuates.
Removing this motor reduces the cost of each finger, the number of components necessary to assemble, decreases the power requirements and makes the prosthetic more accessible to people who can benefit from such a device.
Here one can see a video showcasing the CAD for Version 5. The finger was designed in SOLIDWORKS and, is constantly being improved and revised as I print and test more iterations of the device.
This robotic arm was designed to help me learn more about motion planning, position control, and signal processing in robotic arms. It is currently controlled by an Arduino reading analog data from 2 potentiometers, which I map directly to an angle to control the servos. This control scheme is problematic, but allows me to test the functionality of the arm. The arm's links are designed to be light-weight yet strong. I placed the second servo that controls the second link near the first joint to reduce the torque on the first servo. A pulley mechanism translates the rotation of the second servo to the second joint.
Ultimately, I will control this arm using pre-generated paths made in an algorithm I am currently developing in Matlab. Here is an example of a path simply generated by interpolating across a sine wave and calculating the inverse kinematics at each point, then graphing the result in a simulation I made. I plan to eventually finish a numerical simulation which generates Linear Segment Parabolic Blend (LSPB) paths based on the maximum torque of the servos and the mass of the arm.
Here is a video showing more testing of the robotic arm. The mechanical components of this arm are designed to be modular, so I can easily change segments or add onto it in the future.
I will be revisiting this concept in the future, with the lessons I learned from prototyping this arm I plan to make a more capable robotic arm with more degrees of freedom.
This video shows the first version of the arm being printed on my Ender 3.
I have had the pleasure to be a part of several student engineering organizations, including Students for the Exploration and Development of Space (SEDS) at UC San Diego, where I currently work on Thrust Vector Control.
During the pandemic, students were unable to do most of the hands-on manufacturing and testing required when designing a rocket engine. In order to help with this, I designed this device which replaces the aerators found on kitchen sinks with an apparatus that allows students to water flow test different liquid fuel injector designs.
I love planes almost as much as my grandfather, and it turns out we share a favorite; the P-51D Mustang. I designed, 3D Printed, and hand-painted this model for him, which uses a built-in DC motor connected to an Arduino-controlled 3D printed master control board.
This lithophane recreates a photo using varying thicknesses of a translucent plastic. The thicker portions appear darker and the thinner portions appear lighter, giving the illusion of a greyscale image.
To make this lithophane, I generated a height map using a greyscale photo, which I then turned into an STL in Blender. I designed the case in SOLIDWORKS, so that all of the components would fit together without fasteners.
The circuit design was very simple, just using a 12V LED soldered to a standard connection for a plug-in power source. I plan to revisit this idea and incorporate a method for dimming the LEDs.
I was fascinated by the idea of a Klein Bottle, a shape which has no "outside" or "inside".
I designed this Klein Bottle in SOLIDWORKS using surfaces, and specially designed it to print in one piece without any internal support.
This was accomplished by ensuring all of the internal cavities had a teardrop shaped cross section, so no overhangs above 60 degrees were present.
When using some CAD, or other software, I found the layout of some keyboard shortcuts to be unintuitive or uncomfortable. While some programs allow the user to make custom shortcuts, I often use computers on campus or at the lab that don't have my custom settings.
I present this macro pad, which can take advantage of the Arduino Pro Micro's ability to communicate with computers over a micro USB cable. The digital inputs are connected to internal pullup resistors; when a button is pressed, it reads a low value, and when it is released it goes back to a high value. Some logic uses this to detect when a button has either been pressed once, or is being held.
This macro pad can be programmed to do anything a keyboard can do, and even more (such as typing a whole paragraph at the push of a button!).
More often than not I spend my free time back in the lab. Besides my responsibilities as a researcher, I also maintain and tune 3D printers.
My favorite printer so far has been the Creality Ender 5. Although Creality printers take a lot more babysitting and tuning than some of their competitors, I find the process of upgrading and modifying these cheap printers to out-print their more expensive counterparts to be enjoyable.