Research & Open-Source Builds.
Click on a Panel to See the Full Project Page.
Research Projects
Projects from my Ph.D. Research with Accompanying Code.
Research projects in safe autonomous control for unmanned aerial and ground vehicles.
01
RTD-RAX
Runtime-assurance trajectory planning for quadrotors, with online reachability verification and repair instead of overly conservative offline safety buffers.
Tap anywhere on this panel to open the project page.
RTD-RAX
Runtime-assurance trajectory planning for quadrotors, with online reachability verification and repair instead of overly conservative offline safety buffers.
Tap anywhere on this panel to open the project page.
RTD-RAX extends Reachability-based Trajectory Design by separating fast candidate generation from online safety certification. The planner stays agile, while a verifier certifies each trajectory under the actual measured conditions and repairs unsafe candidates before execution.
- Mixed-monotone reachability verification at runtime via
immrax. - Hybrid repair loop when a candidate cannot be certified safe.
- Three case studies with manuscript-ready figure generation and Dockerized reproducibility.
02
NMPC for Quadrotors
A clean NMPC baseline for quadrotor research built around Acados and QPOASES, with a full ROS 2 interface and real-time-ready generated code.
Tap anywhere on this panel to open the project page.
Custom NMPC Implementation
Fast Computation
Aggressive Trajectory Control
Smart, De-Coupled Yaw Tracking
Acados
QPOASES
ROS 2
NMPC for Quadrotors
A clean NMPC baseline for quadrotor research built around Acados and QPOASES, with a full ROS 2 interface and real-time-ready generated code.
Tap anywhere on this panel to open the project page.
Custom NMPC Implementation
This controller served as the main comparison baseline for the Newton-Raphson Flow work. It is a solid reference implementation if you want a rigorous NMPC starting point rather than a highly specialized demo.
- Jointly tracks position, velocity, and Euler angles.
- Handles wrapped yaw error correctly.
- Uses hard thrust and body-rate constraints with a clean command-line interface.
03
Interval STL Runtime Assurance
Safe control from signal temporal logic safety specifications for linear systems with bounded uncertainty, using interval STL and runtime assurance with real-time MILP-based correction.
Tap anywhere on this panel to open the project page.
NAHS 2025 submission
Linear systems with bounded uncertainty
Minimal runtime input correction
Miniature autonomous blimp demo
iSTL
MILP
NAHS
Interval STL Runtime Assurance
Safe control from signal temporal logic safety specifications for linear systems with bounded uncertainty, using interval STL and runtime assurance with real-time MILP-based correction.
Tap anywhere on this panel to open the project page.
NAHS 2025 submission
This project addresses safe control from signal temporal logic safety specifications for linear systems with bounded uncertainty in a static environment. A runtime-assurance layer evaluates the nominal controller's proposed input at each update step and minimally adjusts it whenever needed to maintain specification satisfaction under all realizations of the uncertainty.
- Leverages interval signal temporal logic so uncertainty can be handled directly with only a modest program-size increase.
- Solves a mixed-integer linear program at each controller update step and includes conditions that guarantee long-horizon feasibility.
- Ensures a safe backup input is always available if a computation deadline is ever missed, and demonstrates real-time tractability on a miniature autonomous blimp.
04
Newton-Raphson Flow Control: Fast, Efficient, & Modular Control Algorithm
A research-grade quadrotor controller that reframes tracking as a continuous-time Newton-Raphson problem and runs on real onboard hardware.
Tap anywhere on this panel to open the project page.
Fast, Efficient Control Algorithm
ACC 2024
TCST 2025
Onboard Quadrotor Deployment
JAX JIT
ROS 2
PX4
Newton-Raphson Flow Control: Fast, Efficient, & Modular Control Algorithm
A research-grade quadrotor controller that reframes tracking as a continuous-time Newton-Raphson problem and runs on real onboard hardware.
Tap anywhere on this panel to open the project page.
Fast, Efficient Control Algorithm
NR Flow uses a continuous-time version of the traditional Newton-Raphson algorithm and poses it as a tracking controller. It is fast, computationally lightweight, and easily deployable on different kinds of systems with very little tuning or overhead required. Most importantly, it provides accurate tracking control even in comparison to powerful controllers such as NMPC. We utilize integral control barrier functions (I-CBFs) to smoothly enforce actuator limits.
- Runs comfortably on a Raspberry Pi 4 onboard a quadrotor.
- Supports both simulation and hardware workflows.
- Backed by multiple peer-reviewed papers rather than a one-off demo implementation.
Independent Projects
Open-source tools and infrastructure.
Standalone codebases, utilities, and templates that grew out of day-to-day research needs.
01
MoCap4ROS2 Packages
My ROS 2 C++ packages that bridge Vicon and OptiTrack motion-capture systems to the PX4 autopilot EKF for indoor quadrotor flight experiments. They handle coordinate conversion, quaternion reordering, timestamping, and full-state relay out of the box.
Tap anywhere on this panel to open the project page.
Motion Capture → PX4 EKF Pipeline
ENU → NED frame conversion
External vision EKF fusion
Full-state relay for control & logging
Vicon
OptiTrack
ROS 2
PX4
MoCap4ROS2 Packages
My ROS 2 C++ packages that bridge Vicon and OptiTrack motion-capture systems to the PX4 autopilot EKF for indoor quadrotor flight experiments. They handle coordinate conversion, quaternion reordering, timestamping, and full-state relay out of the box.
Tap anywhere on this panel to open the project page.
Motion Capture → PX4 EKF Pipeline
Running indoor flight experiments means solving the same infrastructure problem every time: getting motion-capture position data into the drone's state estimator reliably. Vicon4PX4 and OptiTrack4PX4 handle the entire pipeline — coordinate frame conversion, quaternion reordering, PX4 timestamping, and optional full-state merging — so you can focus on your controller, not the plumbing.
- Vicon4PX4 connects via the DataStream SDK (vendored — no system install).
- OptiTrack4PX4 connects via NatNet (vendored — no system install).
- Both publish
VehicleOdometryon/fmu/in/vehicle_visual_odometryfor direct PX4 EKF external-vision fusion. - Adopted by Georgia Tech's Indoor Flight Lab as part of its official codebase.
02
QuartoCV
A Quarto-based joint CV-and-Resume build tool that updates shared sections once and propagates them across every output document automatically. Comes with docker/make infrastructure so you don't have to set anything up yourself or remember any commands. Just add new entries, update the content, and write 'make' on the command line and you're done!
Tap anywhere on this panel to open the project page.
Build once, reuse everywhere
Shared sections
Incremental PDF rebuilds
Academic + Industry Style Templates
Quarto
XeLaTeX
Make
QuartoCV
A Quarto-based joint CV-and-Resume build tool that updates shared sections once and propagates them across every output document automatically. Comes with docker/make infrastructure so you don't have to set anything up yourself or remember any commands. Just add new entries, update the content, and write 'make' on the command line and you're done!
Tap anywhere on this panel to open the project page.
Build once, reuse everywhere
I made QuartoCV for my recurring problem of having to shift everything around on my Canva CV when I had a new entry to add, and then having to repeat my efforts multiple times for the shorter Resume version, and add/delete personal details for the public versions of these documents vs the private versions I give to recruiters. In QuartoCV, shared section files feed multiple outputs in a modular fashion so you edit one common source of truth, and all documents that highlight the information will be automatically updated. Moreover, my docker/make infrastructure allows you to rebuild documents when changes are made with a simple 'make' command, and to never have to download and set up any dependencies yourself. Check it out!
- One source section can feed multiple document variants.
- Dependency-aware incremental builds keep edits fast.
- Layouts are designed for both compact academic and cleaner standard resume styles.
03
Quarto Georgia Tech Slides
A Georgia Tech-branded RevealJS presentation theme that installs into an existing Quarto project in one command. This is a fork of my labmate Brendan Gould's project with a whole set of custom features. Maybe one day we'll merge them :)
Tap anywhere on this panel to open the project page.
Quarto GT Theme for your presentation needs
Official GT palette
Title + section backgrounds
RevealJS fragments + callouts
Quarto
RevealJS
SCSS
Quarto Georgia Tech Slides
A Georgia Tech-branded RevealJS presentation theme that installs into an existing Quarto project in one command. This is a fork of my labmate Brendan Gould's project with a whole set of custom features. Maybe one day we'll merge them :)
Tap anywhere on this panel to open the project page.
Quarto GT Theme for your presentation needs
This extension packages Georgia Tech colors, backgrounds, typography, and presentation utilities so branded slides can be spun up quickly in a normal Quarto workflow.
- Built to be installed into an existing project with a single template command.
- Includes branded title and section slide treatments.
- Designed for presentations that still feel like Quarto, not a hard-coded slide deck.
04
Beginner Homelab on a Raspberry Pi
A build-one-job-at-a-time guide to a private Raspberry Pi homelab: media streaming, network-wide ad blocking, pretty HTTPS URLs, a one-URL dashboard, phone access, and a VPN — all over a Tailscale mesh with no port forwarding and nothing exposed to the public internet.
Tap anywhere on this panel to open the project page.
One Pi, one tailnet, nothing exposed
Audiobookshelf + Pi-hole + Caddy + dashboard
Private over Tailscale, no port forwarding
An honest VPN-on-the-road chapter
Raspberry Pi
Tailscale
Docker
Beginner Homelab on a Raspberry Pi
A build-one-job-at-a-time guide to a private Raspberry Pi homelab: media streaming, network-wide ad blocking, pretty HTTPS URLs, a one-URL dashboard, phone access, and a VPN — all over a Tailscale mesh with no port forwarding and nothing exposed to the public internet.
Tap anywhere on this panel to open the project page.
One Pi, one tailnet, nothing exposed
A beginner-friendly homelab guide I wrote and tested on my own hardware. Each chapter does exactly one job and verifies it: a headless Pi on Tailscale, Audiobookshelf for media, Pi-hole for network-wide ad blocking, Caddy for real-HTTPS pretty URLs, a single home.home dashboard, phone remoting, and a VPN — all private by default, with secrets read from a git-ignored .env and nothing on the public internet.
- Reached entirely over a Tailscale WireGuard mesh — no port forwarding, no dynamic DNS.
- Manual commands first, with small auditable helper scripts beside them.
- A Quarto source builds per-chapter READMEs, standalone PDFs, and a whole-book PDF.
- An honest VPN chapter on why a privacy VPN and your homelab can't both be live at once — and what I actually run.