Autonomous Hip Replacement Robot
CMU School of Computer Science
September 2021 - December 2022
Autonomous Hip Replacement Robot
CMU School of Computer Science
September 2021 - December 2022
For this project myself and my four teammates were tasked with developing a robotic system which was capable of autonomously reaming a patient's acetabulum based on positioning data determined by a pre-operative surgical plan created using a 3D-model of a patient's pelvis and a desired acetabular cup implant. It is difficult for surgeons to accurately ream a patient's acetabulum manually, leading to less than 50% of surgeries being within surgical safe zones, which could lead to many patients dealing with hip dislocations and discomfort. As such, the robotic system we developed was focused on improving the reaming accuracy.
I took the role of a mechatronics engineer for the team, focusing on the development of an end-effector that we could fit onto the end of a Kinova Gen-3 robotic arm and control to accurately ream the acetabulum. I designed a novel linearly-actuated design which worked by utilizing a ball screw to linearly move a carriage adapting the reaming motor and reaming shaft forward. This end-effector was also held at an angle to the robot arm and included several bearings and couplings which helped to minimize vibrations during a procedure. I led the design, prototyping, and manufacturing of this end-effector, partnering with Xometry in order to develop aluminum parts for the structural components for the final design. I then collaborated with the team to develop a cover for the overall end-effector, leading to a final product which looks as professional as it is functional.
I also took the lead in building the electrical system to power the end-effector allowing it to interface with our main ROS architecture. Utilizing an Arduino Mega, two Cytron MD30C motor controllers, an ACS712 current sensor for indirect force measurements, and limit switches, myself and a teammate were able to develop a system and Arduino script which could receive commands from ROS and apply PID admittance and velocity controls to ream to a specified depth with less than 0.1 mm error and without exceeding a force threshold of 100 Newtons.
I also took a role in verifying the accuracy to which we were reaming our pelvises to. To do this myself and a teammate used a Creaform HandyScan to create an STL file of a sawbone pelvis before and after a reaming procedure. Utilizing knowledge of the desired position of the acetabular cup for each trial, we utilized a combination of Meshmixer, Blender, and CloudCompare to determine the final accuracy of our system, which was found to have an average error of less than 1 mm across all trials.
Throughout my time working on this project I did not work on solely the mechatronic design of the system, as I helped to plan the system architecture for the project, developed project management skills from using Confluence and Jira, learned about how to set-up and utilize a ROS workspace, learned about fiducial tracking and modern surgical perception systems, helped to design the user interface, and learned about the modern hip and knee replacement procedure.
A link to the teams website can be seen below as well as a copy of our final report.
Decomposition-Free Coverage Planning
CMU School of Computer Science
September 2022 - December 2022
For this project myself and four teammates were tasked with implementing a decomposition-free coverage planner in ROS which worked with an Ackermann steering robot. As part of the team I focused on setting up the ROS environment primarily working with teammates to set up the local planner and mapping sub-systems as well as an Ackermann steering package. I focused on optimizing the performance of these sub-system extensively, verifying that we could successfully pass movement commands along a ROS topic to the Ackermann robot which it could follow. I also aided my teammates extensively, helping with developing the architecture for our code and debugging the motion planners. Through this project I gained a lot of experience working with ROS, Gazebo, and Rviz and deepened my understanding of A* motion planning.
Training a Franka Arm to Clean a Table
CMU School of Computer Science
January 2022 - May 2022
For this project myself and three teammates were tasked with adapting a convolutional neural network trained in simulation for pushing and grasping objects to clean up a cluttered workspace to function on a real Franka Arm. As part of the team I focused on adapting the pre-existing code to work for a Franka Arm instead of a UR5. Working with a teammate, I developed the pushing and grasping primitive actions for the Franka Arm as well as developed an automated scaffolding action which reset the workspace by dragging over a cardboard box and dumping out all of blocks which were previously cleaned up. This allowed us to further train our system in reality as the system was capable of resetting after it cleaned up all the blocks. Through this project I gained experience working with ROS and in working with actual robotic arms.
Testing Fixtures for ASTM F2624
UCSD Bioengineering Department
September 2020 - June 2021
For this project myself and four teammates were tasked with designing, prototyping, manufacturing, and testing stainless steel testing fixtures for the static, dynamic, and wear assessment of extra-discal single level spinal constructs for a senior design project in collaboration with SeaSpine. As part of the team I focused on designing a testing fixture which could test the lateral bending of these spinal constructs. Using Fusion 360 I was able to come up with a design which I verified the efficacy of by printing it out on an Ender 3 Pro 3D-printer. This design allowed for the spacing between the vertebrae to be adjusted such that spinal constructs of different sizes could be tested using leadscrews. Two leadscrews were included in the design, on the top and bottom half of the assembly to allow for the axis of rotation that would exist in-vivo to be maintained despite any adjusted spacing. With the design finalized I then developed GD&T compliant drawings which were sent off to manufacturers for our final parts to be made of stainless steel. Throughout this process, I also aided my teammates with creating compression/tension testing fixtures, flexion/extension testing fixtures, and an isolation chamber such that wear assessment could be performed. Through this project I gained a lot of experience with ASTM standards, mechanical design and testing, CAD modeling, and GD&T. A link to the teams website can be seen below.
https://sites.google.com/eng.ucsd.edu/2021-group7/home?authuser=0
3D-Printed 5-DoF Robotic Arm
UCSD Electrical Engineering Department
September 2020 - December 2020
For this project, I set out to build and control a custom 3D-printed robot arm. This project was undertaken during the pandemic and I wanted to prove to myself that I was capable of creating a functional robot arm by myself. Using Fusion 360 I designed the 5-DoF robot arm including a custom gripper design. The arm was comprised of 5 different servo motors, each of which directly controlled a joint of the robot. These servo motors were controlled using an Arduino which was connected to a Raspberry Pi. I developed a basic user interface using Tkinter which ran on the Raspberry Pi and was capable of individually controlling all the joints of the arm as well as saving and executing a set of instructions, allowing for tasks to be repeated. This project helped me to establish a better foundation in robotic mechanical and electrical design, motor control, motion planning, and basic computer vision before I attended Carnegie Mellon.
Low-Cost Telesurgical Robot and BMES
UCSD Biomedical Engineering Society
December 2019 - June 2020
This project is a bit of a catch-all for my entire involvement in BMES at UCSD. While an officer of BMES I founded a project team which was focused on determining an interesting bioengineering design problem, brainstorming solutions, and developing a prototype, in order to help younger members develop project skills. While the pandemic derailed our project plan, we had created a plan to develop a low-cost telesurgical robot system which utilized a python socket library to transmit data collected with a Leap Motion hand tracker to a remote robotic arm which would move in coordination with the hand. As a part of this team and as a BMES officer in general I helped to set up educational workshops, including workshops on 3D Printing, Arduino, Finite Element Analysis, Laser Cutting, Python, Solidworks, and Wood Working. I also served as a mentor for younger members, providing help with adjusting to college life as well as questions about coursework.