Projects

Technical project pages across hardware, robotics, aerospace, and applied machine learning.

I use this page to break down the engineering context, design choices, validation process, and what changed after testing.

Custom SO101 robotic arm CAD used for the MAE 148 autonomous trash collection robot
UCSD MAE 148

MAE 148 - Autonomous Trash Collection Robot

Built an autonomous robot that could detect trash, drive to it, stop at the right distance, and pick it up on real hardware

Mechanical Lead and Systems IntegrationWinter 2026

I built and integrated an autonomous trash collection robot that used OAK-D Lite vision, YOLO-based detection, LD19 LiDAR stop logic, ROS2 /cmd_vel control, and a custom-mounted SO101 robotic arm. I worked on the LiDAR stop logic, arm integration, and CAD for the system, and then tested the package on the real vehicle until the sensing and control behavior lined up.

System
Vision-guided mobile manipulation
Stop Logic
Forward-cone clustering with ~0.16 m standoff
Primary Ownership
LiDAR processing, arm integration, CAD, and packaging
ROS2OAK-D LiteYOLOLD19 LiDARSolidWorksRaspberry Pi 5
Engineering Focus
  • I built the LiDAR processing path that filtered LD19 scans to a forward cone, clustered adjacent returns, and reduced them to a centroid-based stop distance for the approach controller.
  • I integrated the robotic arm mechanically and in CAD so the manipulator, sensor mast, and trash bin could coexist on the platform without breaking line of sight or the arm reach envelope.
Validation and Outcome
  • Subsystem testing was staged: standalone OAK-D validation, standalone LiDAR clustering validation, then integrated ROS2 navigation on the vehicle.
  • We got the robot to detect a target, follow it, stop before contact, and hand off to the arm from a usable vehicle package.
Crazyflie micro-drone used in multi-agent robotics experiments
UCSD Multi-Agent Robotics Lab

Multi-Agent Robotics Coverage

Distributed coverage and controls work in simulation and Crazyflie hardware experiments

Undergraduate Researcher2025 - Present

I work on distributed coverage and control problems in the UCSD Multi-Agent Robotics Lab and test how they hold up in both simulation and hardware. Most of the work is in the loop between ROS feedback, tuning, logging, and seeing what changes once the controller leaves the clean simulation case.

Research Focus
Coverage control and hardware validation
Platform
Crazyflie micro-quadrotors
My Work
ROS feedback, tuning, logging, and experiment execution
PythonROSCrazyflieCentroid controlVoronoi coverageSystem identification
Engineering Focus
  • I use ROS and Python tooling to make runs easy to log, compare, and debug rather than treating hardware experiments as one-off demos.
  • The work combines centroid control, coverage logic, and repeatable experiment structure so controller changes can be tied to measured behavior.
Validation and Outcome
  • I compare simulation traces against Crazyflie hardware runs and use those gaps to refine controller structure and gain selection.
  • The work sharpened how I think about disturbance, measurement quality, and controller robustness on small robotic platforms.
Final poster for the robot navigation command classification machine learning project
Machine Learning Coursework

Robot Navigation Command Classification

Supervised machine learning study classifying wall-following robot commands from ultrasonic sensor readings

Student Research Project2026

I built an offline supervised learning pipeline that classified pre-labeled robot wall-following commands from ultrasonic sensor snapshots. The useful part was treating it like an engineering validation problem: build a baseline, compare model families, keep preprocessing inside the training folds, and explain where the classifier still confused commands.

Dataset
UCI Wall-Following Robot Navigation Data Set
Best Model
MLP neural network, 94.0% test accuracy
Evaluation
Held-out test set, macro F1, confusion-matrix error analysis
Pythonscikit-learnSVMMLP neural networkGridSearchCVConfusion matrices
Engineering Focus
  • I built the pipeline around scikit-learn models, including a dummy majority baseline, logistic regression, linear SVM, RBF-kernel SVM, and an MLP neural network.
  • I used stratified 5-fold GridSearchCV with macro F1 so model selection paid attention to every command class, not just the largest labels.
Validation and Outcome
  • I evaluated the final models on a held-out stratified test set and compared accuracy, precision, recall, macro F1, and confusion matrices.
  • The project connected machine learning back to robotics in a grounded way: sensor readings, command labels, model comparison, and error analysis.
Rocket technical diagram representing the Project Daedalus case study
UCSD Rocket Propulsion Lab

Rocket Propulsion Lab – Project Daedalus

Structural design and simulation for a student rocket targeting a simulated 4,000-foot apogee

Structures Lead10/2024 - 6/2025

I led structural design work for Project Daedalus, including CAD development, component interfaces, manufacturing constraints, tolerance checks, and early simulation. I also worked with the avionics and propulsion teams to keep the rocket mechanically integrated as the design changed.

Simulated Apogee
Approx. 4,086 ft
Simulated Stability
1.23 calibers
Modeled Mass
0.471 kg
SolidWorksOpenRocketFEA3D PrintingTolerance AnalysisAerospace Structures
Engineering Focus
  • I developed structural CAD around the body tube, fin assembly, nose cone, avionics bay, motor region, and recovery hardware interfaces.
  • I used OpenRocket as a design guide to compare geometry, component placement, mass distribution, and predicted stability before fabrication decisions.
Validation and Outcome
  • I used preliminary FEA as an early design check, not as formal structural qualification.
  • The project changed how I make structural decisions because every part had to be checked against assembly, mass distribution, recovery motion, and neighboring subsystems.