Completed · Oct – Nov 2026
A robot arm holds a payload of unknown mass. Its controller's model is then wrong, and a policy that learned from demonstrations on the empty arm does not reach its targets. I compare ways to correct the model, monitors that detect when the policy fails, and a handover to a model-based controller. Simulation in MuJoCo, on a two-link arm and a Franka Panda.
Completed · Oct – Nov 2026 · Course project, ELEC9304
A boat on fully submerged foils cannot hold its height without feedback, and its only height sensor, at the bow, measures the distance to the water surface, so it sees the waves as well as the boat. I model the heave and pitch of a solar boat, design an observer-based controller that runs at 50 Hz, compare the observer with pole placement, and run the controller as a separate real-time process against a Simulink model of the boat.
Completed · Sep – Nov 2026 · Course project, ELEC5308
Our team of five extended a lane-following library into a car that drives a city loop in Webots. It stops at STOP signs and red lights, yields to cars that cross its path and plans around obstacles, and it uses only the sensors a real car has. I built the shared interfaces, the bird's-eye-view grid and the segmentation model it depends on, and I integrated the system. An evaluation harness scores every drive against the simulator's ground truth.