Projects

Boulderbot

Team lead, 4 people · Bison Robotics · 30 lb · UIUC Robobrawl XI

Second-generation combat robot. I took over as captain halfway through development and led design reviews, CAD, fabrication, and competition prep; every major decision traced back to a documented failure mode from Cowbot. High-RPM horizontal beater bar, chain-driven 4WD on brushless motors, and an aluminum truss frame between machined side rails, with the weight budget managed in CAD.

Boulderbot from the front, showing the weapon uprights, chain drive, and orange wheels.
Competition-ready chassis.
CAD render of Boulderbot: top plate, side rails, chain drive, and weapon mount.
Full chassis CAD.

Cowbot

Contributor, 5 people · Bison Robotics · 30 lb · UIUC Robobrawl X

My first combat robot, from concept to competition day. I worked on wheel placement, motor-mount geometry, and the structural framing for the drivetrain, and helped fabricate the weapon. Its failure modes at competition became the design brief for Boulderbot.

Cowbot in the combat arena at Robobrawl X facing an opponent.
Robobrawl X.
Cowbot outdoors with a cow-print top plate labeled MOOOO.
Before a match.
Drilling a white polymer plate in the Bison Robotics shop.
In the shop.
CAD render of Cowbot with green armor panels and a front spinner.
CAD.

3D Gaussian Splatting under lunar lighting

Research intern · NASA JPL · Jun – Aug 2026 · Python, 3DGS

Near the lunar poles the sun sits a few degrees above the horizon, lighting terrain with long, hard shadows. I ran ordered image sequences of a lunar surface through a 3DGS pipeline, swept the lighting conditions that matter most at the poles, and quantified where reconstruction quality breaks down and how, to inform perception for rover path planning.

Playground design package

Team lead, 4 students · ME 212 Visual Communication for Engineers

Site analysis, safety compliance, and a full drawing package for a playground in Fargo: an exploded view with a parts list, plus dimensioned and toleranced detail drawings for each part.

Exploded isometric assembly drawing of the playground with numbered balloons and a parts list.
Exploded assembly.
Detail drawing BB001, balance beam.
BB001 Balance beam.
Detail drawing PF004, ground to platform stairs.
PF004 Stairs.
Detail drawing PF015, platform to platform ramp.
PF015 Ramp.

Line-following robot

Team member, 5 students · ENGR 321 Introduction to Robotics

Assembled a two-tier kit chassis, integrated a reflectance sensor array, and wrote the line-following controller in Python with a PID loop on the sensor error.

CAD render of the line-following robot's two-tier chassis.
Chassis CAD.
The assembled line-following robot on a black course with a white line.
As built.

Carabiner material analysis

Team project · ME 331 Materials Science

Took an industrial carabiner and worked out what it would take to make it safe for climbing: material selection, stress analysis, and a fatigue-life model for the loaded gate.

CAD render of an oval screw-gate carabiner.
Carabiner model.
Log-log fatigue strength plot of stress amplitude against cycles at R = -1.
Fatigue model, R = −1.

Dorm speaker mount

Solo · Onshape · FDM printing

A bracket that hooks onto the campus bed frame and holds a rear surround speaker, designed in Onshape and printed on the NDSU library's 3D printers.

CAD model of the 3D-printed speaker bracket with two hook tabs.
Bracket model.
A bookshelf speaker on the printed bracket, hooked to a wooden bed frame.
Installed.

On the bench: self-balancing cube, reaction-wheel balancing with LQR control on an ESP32.