I just finished leading a team of over 40 engineering students to design and build a 6-axis robot arm with a 2 foot radius and 1 lb payload capacity for under $300. This project was hosted through the University of Illinois chapter of the American Society of Mechanical Engineers and was presented at UIUC's Engineering Open House on April 4-5th.
The project was split into three subteams: mechanical, electrical, and programming. The mechanical team was primarily focused on CAD and physical assembly including motor mounts, torque transmission, weight reduction, and wiring. Electrical mainly focused on power requirements and motor and driver specifications, as well as controls, including running 4 stepper motors and 2 DC motors simultaneously using Arduino and Python, which turned out to be a much greater challenge than expected. Programming's main goal was to turn theoretical tasks into sets of motor angles in python that could then be transmitted to Arduino, which was done using inverse kinematics as well as image processing and a custom-made package-based communication system to solve memory overflow issues introduced by the Arduino hardware.
Some of the many skills from this project include iterative 3D printing, motor torque testing, encoder control loops, high- and low-power circuit design, wire management, forward and inverse kinematic scripts, motion planning, Arduino-Python interfacing, and simultaneous motor control. This was by far my most complicated project ever with so many moving parts, but it was also the most rewarding. The leadership and teamwork skills I gained from this are invaluable and can only be learned outside the classroom. Find more information here!
Last year, I was the Engine Analysis subteam lead for Illinois's Liquid Rocketry Club where I led multiple structural and thermal analysis projects relating to liquid rocket engines. At the time, the team was focusing on two engines, one with an ablative and one with a regenerative cooling system. For the ablative engine, I wrote a python script that intakes a nozzle contour and material and outputs a graph of nozzle retaining ring thickness vs. bearing safety factor. It also can graph the safety factor against shear, but normally this is high enough to be ignored.
For the regenerative engine, I created a quasi-1D flow simulation script that intakes an engine contour, fuel and oxidizer types, and initial guesses of thermodynamic properties at the injector face and uses a one-dimensional flow analysis with heat transfer and friction losses using iterative rk-4 methods to calculate the heat flux as well as all other thermodynamic and flow properties along the contour.
We used the second script as validation for a preliminary design review for the regenerative cooling engine and, in the future, will add in calculations for heat flux through the wall and into the coolant and collect experimental data to validate the model. This project was an amazing introduction into the fields of compressible fluid flow and heat transfer. Find more information here!
Also through UIUC's ASME, this project was aimed at modifying a drone controller to attach to a hand-mounted accelerometer and control a quadcopter drone with hand movements. The final goal was to make it a sort of hand-controlled drone claw machine game for the 2024 UIUC Engineering Open House. My personal role was to design and build the remote-controlled claw mechanism that would attach to the bottom of the drone.
The main challenge was weight reduction - the drone could not fly with over 60g of payload, and the items we were picking up were no less than 10g each, meaning the entire claw attachment needed to weigh 50g or less. To do this, we used a 9g micro-servo as an actuator and soldered it to a RF receiver connected to a low-pass filter. We then created a separate circuit with an Arduino connected to an RF transmitter and manually timed the circuit to transmit the correct PWM signal to hold the servo in place, meaning that there was no need for any type of microcontroller onboard the drone.
After wiring it up, we were able to create a three-pronged, remote-controlled claw mechanism that snap fit to the drone's battery cover and ran off a spliced connection from the drone's own battery. This was my first large engineering project and I learned more about the engineering process here than I ever had before. Schematics and pictures can be found here along with more info about this project!
I know I know. "But that isn't a robot that's a rabbit." Right. That's a rabbit that was drawn by a robot that I programmed. My final project for my Introduction to Robotics (ECE 470) class was to create a program that interfaced with a Modern Robotics UR3 robot arm using ROS that would take an image and have the robot draw it on a piece of paper.
Throughout the semester we had been learning about concepts like forward and inverse kinematics, motion planning, and sensing. For this final project, we used OpenCV to find keypoints in the input image and then create multiple contours from that point in image coordinates. We then converted the image coordinates to world coordinates and used these contours in world coordinates as inputs to our inverse kinematics function. Once our IK function returned the sets of angles corresponding to the world points in the contours, we passed these to the robot using ROS. This had the robot draw each contour on the sheet of paper with relatively high accuracy and speed. There was, however, a tradeoff between the two, as higher accuracy meant more points per contour and therefore more time spent drawing.
Overall, I thoroughly enjoyed this cumulative robotics project and it gave me lots of encouragement to continue with my other 6-axis robotic arm project. I'm definitely planning on using the skills I learned from this project to create the code for the light painting drawing replication application, and I'm very excited to see how it all turns out!
This was my first-ever CAD project for my freshman year design course. The task was to create a new invention with at least three moving parts in Fusion 360, and my group decided to create a device that was a mix between an electric kettle and a deep fryer. You simply open the lid, put your food inside, close the lid, and push a button, and the Easy Boiler will make a noise when the food is finished boiling.
The second part of the project was to perform a cost analysis of your invention to see whether or not it would be a feasible business idea. Using the aPriori cost analysis software, we were able to select the manufacturing method (either sheet metal methods or injection molding due to the project requirements) for each part and re-design them to lower the cost by better fitting the manufacturing method. This gave amazing insight into designing for manufacturing, especially with concepts like pull direction, cores, and die casting.
At the end if the day, while it may not be a Fortune-500 idea, the Easy Boiler was certainly enough to get me some thorough CAD experience, especially designing components like mesh baskets and latching mechanisms. Like all group projects, someone had the majority of the work, and that somebody was me. By the end of the project, we had 13 unique parts, and I had designed 7 of them! Take a look here.
As I started college, I knew I would be interested in robotics, so I tried out the largest robotics team at Illinois: iRobotics. I'm not big into combat robotics, so I joined a smaller subteam called PacBots. This team competes in the annual Harvard PacBot competition, which is pretty much exactly what it sounds like - an autonomous large-scale Pac-Man game.
The year I joined, unfortunately, the robot was not getting too big of a revamp, but we were in the works to host the first-ever Illinois PacBots competition, so the mechanical team was busy designing and manufacturing a wooden life-size, to-scale version of the Pac-Man arena. My job was to design and build an 8-foot tall projector stand to hang above the field as well as a PCB mount that would attach next to the projector.
In all honesty, this is the worst project I've ever been a part of, and my designs did not end up being used in the end - a devastating reminder that things don't always go our way. My PCB mount did, however, get some good usage and I cut and drilled enough wood to last me a lifetime, and I gained valuable experience regarding when to stay and when to leave a project. That being said, we did end up hosting the first ever Illinois PacBots competition in November of 2023 and winning first place at both the Illinois and Harvard competitions!
While I was initiating the Illinois chapter of the Tau Beta Pi Engineering Honor Society, I joined their Engineering Open House committee to expand my horizons and learn new things. Luckily for me, they were working on a computer-controlled stoplight project to run races with small remote-controlled cars and were using some very basic Arduino circuits. This was my first real exposure to Arduino, relatively simultaneous to the drone project, and I wrote most of the code relating to the stoplight controls in the Arduino IDE, which uses a variation of C/C++.
While it was a relatively simple project with assembly mostly consisting of PVC and bungee cords, it was a great way to get introduced to basic circuitry and microcontrollers, and it sparked a love for electronics, which would eventually lead to me deciding to pursue a minor in electrical engineering.