Projects

lathe in workshop

Hands-On Engineering Projects

Want to see my work, thought process, and hands-on skll? Check out the projects I’ve listed below.

Autonomy Simulation Showcase

Rocket landing autonomously while avoiding obstacle.

Autonomous Vertical Rocket Landing with Obstacle Avoidance

Vertical Landings save roughly 85% of launch cost by allowing safe reusability.

This autonomous control law uses Sequential Quadratic Programming (SQP) to execute a safe, gently vertical landing. The simulation converges in 50 iterations. The rocket successfully avoids obstacles in the landing zone through control barrier functions.

Project source files on Github

Extended Kalman Filter projection Tracking with Poor Observer Visibility

Extended Kalman Filtering allows engineering designs to operate more efficiently with fewer sensors

This nonlinear filter implements a highly modular 3-degree-of-freedom unicycle model with 2-degree-of-freedom range sensors. The system emulates low-level hardware constraints by implementing a zero-allocation circular ring buffer for streaming sensory data. This make the code easy to translate to RTOS or embedded systems.

This system suffers from noticeable error as is due to nonlinearity strength and sensor placement.

Future work will include adaptive filtering solutions, modularity, and conversion to C++.

Project source files on Github

Autonomous Orbital Debri Evasion through MPC Receding Horizon Lookahead

Developed a nonlinear constrained Model Predictive Control (MPC) framework for satellite proximity operations and autonomous collision avoidance.

Modeled spacecraft translation kinematics as a double-integrator system, translating orbital keep-out zones and dynamic space debris hazards into hard mathematical inequality constraints. Solved with CVXPY, the controller calculates real-time optimal micro-thruster input sequences to execute predictive evasive maneuvers, successfully balancing fuel conservation with strict collision-risk mitigation.

Custom Memory-Safe Control Barrier Function (CBF) Engine for Autonomy Simulation in Dynamic Environments

Created a jax prototyped CBF Engine framework designed for high-frequency autonomous controller synthesis. Attempts to bridge rapid research prototyping and embedded C++ performance. Leverages on jax’s autodiff for rapid gradient computation and sub-millisecond constraint iteration. It also enforces memory isolation, and uses a custom “Swap-and-Pop” buffer, for C++ real-time deployments. Formulates constraints with cvxpy as standardized linear inequalities for full trajectory optimization control. Built on modular Protocol architecture, allowing for rapid deployment of arbitrary, non-linear geometric constraintes (e.g. smooth geometry) with zero additional computational overhead.

Project source files on Github

Custom Particle Filter for Nonlinear Estimation

Created a modular, object-oriented particle filter with resampling in JAX for nonlinear state estimation. Uses a predictor–corrector architecture with clear separation of concerns across dynamics, observation, and filter models, supporting both stateful and stateless implementations. Leverages vectorization and JIT compilation to improve computational efficiency and handle particle overhead, along with numerically stable weight updates and resampling. This visualization demonstrates the filter’s ability to represent multiple modes along a trajectory, enabling awareness of ambiguous state hypotheses—a capability not captured by standard EKF approaches.

Project source files on Github