Research
Teaching a Car to Drift - 1:10 Scale Ford Mustang
The goal is simple to state and hard to do: make an autonomous car lose traction on purpose, and keep it exactly where I want it.
Most autonomous vehicles are built to never get near the edge. Stay below the friction limit, keep the tires gripping, keep the math linear. That works right up until it doesn’t: black ice, a child stepping out from behind a parked van, a truck jackknifing across two lanes.
In those moments the safest move is often the one a rally driver would make, throwing the car sideways and steering with the rear. Human experts do this with no model and no solver. My work is about giving a machine the same ability, with math behind it instead of intuition.
Why it’s hard
Drifting pushes tires near their friction limits, where vehicle dynamics become highly nonlinear. Sustaining an unstable drift equilibrium requires fast feedback despite uncertain tire–road friction and limited steering and throttle authority.
Why it’s worth studying
Everything past the friction limit is where crashes happen.
- Emergency maneuvers. Avoiding an obstacle at highway speed can demand more lateral acceleration than a grip-limited controller is willing to ask for.
- Ice, snow, gravel, rain. On low-friction surfaces, ordinary driving already lives at the limit, so “never lose grip” isn’t a strategy.
- Recovery, not just avoidance. A car that’s already sliding is already in the unstable regime. A controller that only knows the linear region has nothing useful to say.
- It generalizes. The real question isn’t cars. It’s how you guarantee performance in the regime where a robot’s model is least trustworthy.
The approach: Real-time Optimization-based Controller
I use model predictive control (MPC) to stabilize an RC car around a drift equilibrium, optimizing steering and throttle over a short horizon while respecting actuator limits:
\[\min_{u_{0:N-1}} \; \sum_{k=0}^{N-1} \|x_k - x^\star\|_Q^2 + \|u_k - u^\star\|_R^2 \quad \text{s.t.} \quad x_{k+1} = f(x_k, u_k), \;\; u_k \in \mathcal{U}\]Future directions include neural network controllers with stability or safety guarantees and contraction-based control for reliable autonomous drifting.
The platform
Everything is validated on a Traxxas 1:10 Mustang RC car to test performance under model mismatch, uncertainty, and real-world hardware constraints.
Undergraduate Research
My undergraduate work focused on the design of mechatronic systems and rapid prototyping of robotic and medical devices, translating engineering concepts into functional, experimentally validated hardware.
Minimally invasive healing of bone implant-cement interfaces by aerogel cement and remote heating
Predicting biaxial failure strengths of aortic tissues using a dispersed fiber failure model
Senior Design: An Implantable Finger Prosthetic
More detail on my My old website, built during undergrad.
Class Projects
Nonlinear System Analysis & Control: Control of a two-link robot manipulator
Mechatronics: Omni-Wheel Robot
