Academic Projects
EEC106B: Robotics - ROAR IndyCar EKF
Implemented 14-state Extended Kalman filter to leverage sensor readings to provide state estimation for MPC control of a Dallara Indy race car
Interfaced with OSSDC simulation environment
Collaborated with the AI Racing Tech team (a coalition between UC Berkeley Robot Open Autonomous Racing (ROAR) team, CMU, UCSD, and the University of Hawaii), competitors in the Indy Autonomous Challenge (IAC)
Collaborated with Blake Werner, Bryan Yang, and Kai Yun
ME 218B: Mechatronics - NIMBY
Built a fully-autonomous mobile robot from scratch to navigate a game field and interact with game pieces as part of the ME218B Squrling tournament
Software: Developed hierarchical state machines and event-driven firmware in C on the PIC32 microcontroller for higher-level autonomy, including navigation and adaptive location of game pieces on the field
Electrical: Designed and assembled analog and digital circuits (for sensor signal conditioning, power distribution, motor driving, etc) using KiCAD. Integrated H-bridges, DC gearmotors, IR phototransistors, LEDs, encoders, opto-reflectance sensors, bandpass filters, etc to enable high-level autonomy
Mechanical: Designed, prototyped, and manufactured custom mobile robotic platform (differential-drive drivetrain, flywheel intake system, sensor/PCB mounting) using Fusion360, 3D printing, and lasercutting
WINNER of the Stanford ME 218B Winter 2024 Squrling Tournament
Link to Site (Check out these videos of the robot in action at the tournament!)
Collaborated with Annika Yong and Bryan Yang
Animation of Track Run
ME131: Vehicle Dynamics - BARC Vehicle Controller
Implemented a low-overhead classical controller in simulation to traverse a track using only knowledge of track curvature and dynamics model
Derived dynamic bicycle model from vehicle parameters and measurements
Built on the UC Berkeley MPC Lab's BARC stack and hardware
EEC106A: Robotics - Dartboi
Implemented robotic pipeline for 6DOF Rethink Sawyer robotic arm to launch a dart at a dartboard
Performed computer vision-based target acquisition using thresholding and the Hough transform, back-tracing the projectile motion of the launcher dart, and calculating coordinate transformations to extract desired robot pose
Planned and executed shortest-path robotic arm motion to desired pose using ROS and the MoveIt Path Planner with PID control
Designed and fabricated a custom spring-powered dart launcher with Solidworks and 3D-printing to reliably launch at consistent velocity/orientation, upon actuation of Sawyer's gripper
Collaborated with Blake Werner, Bryan Yang, and Kai Yun
ME 218A: Mechatronics - Eddie Spaghetti 2000
Developed an integrated mechatronic road trip companion to provide food, napkins, and (most importantly) entertainment on long stints on the road
Software: Implemented event-driven firmware in C to interface between user inputs, analog sensors, contactless sensors, motor drivers, solenoid actuators, and audio outputs
Electrical: Designed analog and digital circuits integrated with PIC32 microcontroller, using KiCAD
Mechanical: Designed, prototyped, and manufactured custom solenoid-powered Starburst dispenser using Fusion360, 3D printing, and lasercutting
Link to Site (Check out a video demo of the device in action!)
Collaborated with Dylan Goff and Max Hunter
ME 102B: Mechatronics - Drawbot
Developed a mobile robot that takes in a form of pseudo-GCode (with XY coordinates and various pen commands) and accurately draw a picture
Omnidirectional H-Drive drivetrain (NEMA23 stepper motors w/DM542T motor drivers) and servo-powered pen changer for multi-colored drawings
Used Arduino (AccelStepper package) and Bluetooth to process offboard pseudo-GCode commands into actuator commands
Augmented by a Python image processing pipeline which takes in a camera image, vectorizes it using thresholding and the Canny Edge Detector, then converts vectorized image to pseudo-GCode with shortest traveled distance
Collaborated with Lekha Duvvoori, Erik Francis, and Bryan Yang
ME100: Electronics for IoT - Autofarmer
Created an IoT-enabled plant waterer capable of both auto-watering and remotely-activated watering
Used ESP32 running Micropython, MQTT, and IFTTT to incorporate sensors (DHT11 Humidity/Temperature sensor), a peristaltic pump, motor, and remote user input into a cohesive system
Implemented longterm water datalogging with a remote user interface
Collaborated with Blake Werner
E27: Manufacturing/Tolerancing- Regenebrace
Designed a multimodal brace with Solidworks to serve as both support and resistance for physical therapy of muscle atrophy patients, using a torsion spring joint for resistance in both flexion and extension
Conducted FEA simulation and market study to assess design feasibility
Performed in-depth scale-up manufacturing/tolerancing analysis, complete with engineering drawings, to simulate pushing product to mass production
Collaborated with Travis Carroll and Haoxiang (Lucas) Huang