All work

Ball Balancing on a UR3e

A UR3e balancing a ball on a plate, from PID to MPC to trajectory tracking and solving a maze.

A ball on a plate, held by an industrial arm. Simple to describe, and a good way to take the same problem through progressively better controllers.

PID first

Model predictive control

MPC needs a model of what it's controlling, so I derived the state-space model of the ball on the tilting plate by hand. The controller was developed against it in simulation first, then moved to the real arm.

Pushing the ball and letting the controller recover

Trajectory tracking

With MPC and P control, the ball follows circles and then arbitrary trajectories.

Solving a maze

A custom maze on the plate. A planner finds the path and the controller drives the ball through it. There's also an interactive mode where you steer the ball yourself with a controller.

Manual mode

Next project

RL Ball Bouncer