Past Projects

Optimal Planning and Control of a Noisy Car-Like Robot with Obstacle Avoidance

[This was my course project for EN.530.678 - Nonlinear Control and Planning in Robotics. Report (PDF), Github repo]
This project focused on optimal trajectory generation and robust feedback control for a car-like robot. The generalized task is moving between a starting and desired vehicle configuration while avoiding obstacles and exclusion zones and compensating for control noise. See the report PDF for technical details and example scenarios.

Optimal Control of a Mobile Manipulator with 3D Obstacle Avoidance

[This was my course project for EN.530.603 - Applied Optimal Control. Note that the following report was limited to three pages and thus discussion of some implementation details were omitted for brevity: Report (PDF), Github repo]
This project focuses on optimal control of a mobile manipulator with a car-like base and an attached robotic arm. The primary goal of this project was to optimize the path between a given initial state and a desired final state using minimum control effort while satisfying state and control constraints and avoiding multiple 3D obstacles of different shapes, sizes, and positions. In addition, this project investigated the effects of varying the control penalties in the running cost on the optimal path chosen by the solver.

From-Scratch Implementation of Move-And-Place Task with UR5 Arm

[This was my course project for EN.530.646 - Robot Devices, Kinematics, Dynamics, and Control. Report (PDF)]
The objective of this project was to simulate the UR5 robot arm using RViz to perform a move-and-place task. Specifically, this task involves moving the arm from a starting configuration to a target configuration, while pausing above each desired configuration to ensure that the final motion in each instance is strictly vertical. The arm begins and ends the move-and-place sequence in a chosen home configuration. Three implementations of the move-and-place task are given. The first uses inverse kinematics, the second uses resolved-rate control, and the third uses transpose Jacobian control. A number of safety checks were implemented to ensure that the arm does not hit the floor or encounter singular conditions.

A Novel Staged Warm Gas Thruster for CubeSats

[This was my senior project in undergrad. It took 2nd place in the 2021 AIAA Region VI Student Conference Team Category. Report (PDF)]
Small satellites are highly power-constrained. We developed a novel warm gas thruster that employs a staged heating approach to skirt the power inefficiencies of traditional warm gas thrusters. The resulting design outperforms an industry-leading warm gas thruster and consumes 80% less power, enabling new missions and capabilities for CubeSats.

The Hyperion-1 Engine

[This was the flagship project of the Advanced Spacecraft Propulsion and Energy (ASPEN) Laboratory at USC, which is a student-led research group that I co-founded with my brother Connor. We obtained funding through the university and industry sponsors including Northrop Grumman and Boeing. The lab grew to 10+ dedicated undergrads and is alive and well today, even after Connor and I both left for grad school.]
In short, the Hyperion-1 engine is the closest thing to a solid-core nuclear thermal rocket engine that the university would let us build. See our first meeting slides for an overview of why nuclear thermal propulsion is important. It is a high-fidelity physical analogue of a NERVA-type axial flow engine. We used induction heating to serve as the volumetric heat generation method, which is the same method that the NASA NTREES facility uses to simulate the heat generation from fission in the core. For an overview of the project, check out our presentation from NETS 2019, which was my first conference presentation! For a more in-depth and technical presentation, check out the Test Readiness Review for the single-channel test campaign of Hyperion-1.