Terry Tao
As a current undergraduate student at the University of Michigan, I'm taking a computing-focused autonomy pathway and graduating in April 2025 with a B.S.E in Robotics Engineering. This is my portfolio website. You can find some cool projects I've worked on in the past.
My Projects
MRacing
I am the Autonomous System Director for the 23-24 design cycle for the Formula Student Racing team at the University of Michigan - Ann Arbor. It is my second year on the team, but a first for this autonomous subsystem at UofM. My role as driverless director is to oversee the design, manufacturing and integration of the autonomous steering, brakes and safety electronics, as well as develop our perception, mapping, and policy control software stack for this year's car.
![Team picture with MR23 at MIS](assets\pitt-23.jpg)
One of the priorities of the autonomous system is a robust, vision + INS based mapping pipeline. I have created this ROS based mapping package that takes a camera stream, applies a custom YOLO traffic cone detection, filters the detections to track cones across frames, and integrates the perspective shifted detections into a global coordinate map for racing line optimization.
This project is still under development, and as such, cannot be fully showcased just yet. However, I am able to answer any questions about the system, and I'd be happy to tell you all about it in person.
![Epoch 2 YOLOv7](assets\epoch2.gif)
![Launching MR23 at MIS](assets\MIS23launch.png)
![Mapping Animation](assets\ekf.gif)
- Python
- C++
- Torch
- Docker
- CAN
- OpenCV
- ROS
First Robotics
I designed and programmed this robot for the FIRST Tech Challenge 2021-2022 season. Our robot qualified for the Maryland Tech Invitational, which is a prestigious event that only accepts the top 40 teams internationally.
![Robot CAD](./assets/oscar-cad.png)
This is a video of the robot operating autonomously as it localizes and changes state in order to deposit cubes onto the platform as fast as possible.
![Robot Moving](assets\robot.gif)
Another mechanism on our robot is the 3 degrees of freedom tape measure turret, which is operated by a driver in order to place the plastic cup on top of the platform.
![Robot Moving](assets\capping.gif)
- Fusion 360
- Solidworks
- Java
Stewart Platform
This is a 6 degree of freedom parallel manipulator that I designed and programmed.
![Robot CAD](./assets/Stewart-CAD.png)
One application of this project could be a sailboat table or cooktop, so when the boat is under way, your food does not slide off. I used an IMU to dampen the acceleration in all 6 axes, demonstrated below:
![Robot CAD](./assets/Stewart-Motions.gif)
- Solidworks
- C++
- Shop Skills
Custom 3D Printers
I designed a custom dual nozzle, water-cooled 3D printer so that I could print structural material alongside dissolvable supports, making complex geometries easier to print.
![Robot CAD](./assets/chimera-printing.gif)
Here is my custom built open source small format printer (Voron-v0). The goal of this one was to print at higher temperatures, so a heated chamber was used to prevent warping.
![Robot Moving](assets\PXL_20210925_213851009.jpg)
![Robot Moving](assets\voron-printing.gif)
- Fusion 360
- Solidworks
- Slicing Software
Loft
My apartment has very high ceilings, so I welded together a loft for my bed.
![Loft bolt](assets\loft-bolt.png)
Assembly test at the shop, fully assembled in apartment:
![Mapping Animation](assets\loft-combined.png)
After decoration:
![Loft with net](assets\loft-with-net.jpg)
- TIG Welding
Differential Swerve
In 2020, I developed a differential swerve drivetrain for FIRST Robotics, which used two motors per drive wheel to spin around both the z and x axes.
![Robot CAD](./assets/IMG_20210206_190535.jpg)
Because of the way the ring gears are designed, this swerve drive was capable of continuous rotation of the wheels to face any direction, which made positioning of this chassis faster than if mecanum wheels were used instead.
![Robot CAD](./assets/IMG_20210105_180944__01.jpg)
- Fusion 360
- Java
Thrust Vectoring
I developed a model rocket using a custom thrust vectoring module, which can be used to correct or control the trajectory during flight.
![Epoch 2 YOLOv7](assets\tvc_v2_render3.png)
Parachute ejection mechanism testing:
![Mapping Animation](assets\para-testing.gif)
Static fire test:
![Mapping Animation](assets\static-test.gif)
- Fusion 360
- C++
Skills
- Solidworks
- Fusion 360
- Inventor
- Onshape
- C++
- Java
- Python
- R
- MATLAB
- Git
- HTML
- Mathematica
- ROS
- OpenCV
- Pytorch
- Blender
- Simplify3D
- CLI
- CAN-HS
- CAN-FD
- I2C
- SPI
- UART
- Fiber Laser
- CO2 Laser
- Waterjet
- GTAW
- FDM Printing
- Wire Harnessing
- Chinese
Contact
- terrytao19@gmail.com
- 631-951-7354