my research on using power-electronic loads as a replacement for constant-power loads to improve numerical stability of the fast-timescale simulations required for inverter-dominated power grids
a Julia package for high dimensional plotting and parameter sweeps of simulations with PowerSimulationsDynamics.jl
. Used to produce the beautiful interactive plots from the zipe loads paper.
swing-up and balancing of an inverted pendulum on a cart implemented on a custom-built physical test setup. double pendulum coming soon.
mpc implemented with casadi for following a path through state space. Impossible racing line in demo demonstrates track constraints.
global trajectory optimization given a track. Minimizes lap time subject to drive power, steering, and tire friction constraints.
fast Rust implementation of GraphSLAM with a Python interface, demonstrating solving the loop closing problem even with non-zero-mean, non-gaussian noise.
turret-mounted automatic crossbow with onboard facial recognition.
mpc implementation for mecanum-wheeled robots. dynamics model derived using lagrangian mechanics by Max Cai and Alec Petridis (teammates) adding onto work by Inigo M. Caireta. mpc outputs motor voltages.
using AI to predict meme spread based on textual descriptions by predicting parameters for the SIR epidemiology model.
a mecanum wheel that can lock its rollers to transition to standard wheels for extra traction when needed. no slip rings necessary.
A bunch of nice images of the robots i've worked on during my time with FIRST.
A snapshot of the documentation I wrote for Kuriosity Hardware. Not maintained, but still very relevant. Exported from Notion, so some embeds are just links.
A cheap, bare-bones brushless servo driver from scratch to learn about embedded systems, field oriented control, and circuit design. Inspired by the ODrive project.