A ground-based testbed reproducing a CubeSat's three-axis attitude dynamics on the bench.
I owned this project from start to finish: I derived the nonlinear equations of motion from first principles and designed a pole-placement state-feedback controller with integral disturbance rejection. Validated on hardware, with a closed-loop settling time matching the theoretical prediction.
A LOX/IPA rocket engine capstone for Portland State Aerospace Society, where a 4-person team designed and built a new 240 N engine and injector module.
My piece was verifying the nozzle geometry in CFD and modeling heat transfer through the chamber wall. That analysis found regenerative cooling barely helped at this engine's small scale — extending wall survival time by only 0.2 seconds.
Click the image for more details.
A 5-DOF robotic arm that autonomously writes words on a whiteboard, built on a team project.
I 3D-printed the arm's links and wrote the MATLAB and Arduino code for its kinematics, trajectory planning, and motor tuning, including velocity kinematics that scaled each joint's speed to its travel distance so all five arrived at each waypoint together. After tuning the motor gains at the joints, the arm wrote legibly, though not perfectly.
Click the image for more details.
A cold-gas-jet roll control system, controlled via two opposed thruster pairs on PSAS's high power rocket.
I derived the equation of motion from a torque balance, converted it to state-space form, and placed the closed-loop poles — a dominant root for the no-overshoot requirement, with a second root ten times farther out to hit the rise-time target. The first-pass design left a steady-state error; I added an integrator to fix it, then extended the design to a digital controller.
Click the image for more details.