Safe-Ballbot: Tilt-Consistent MPC with Control Barrier Functions for Ballbot Navigation
TL;DR A ballbot navigation scheme in which a fast MPC on a simple jerk model of the ball plans around static, moving, rotating and concave obstacles with control barrier functions, while a sliding-mode tracker balances the robot and enforces the tilt limit. In MuJoCo it keeps over 10 cm of clearance and plans in 9-12 ms, 10-15x faster than a full-model nonlinear MPC that enters the inflated obstacles.
What they do
A ballbot balances on one ball driven by three omni wheels and has to lean to accelerate, so its planner must respect the balance dynamics. Planning on the full nonlinear model is slow, and a separate tilt filter can then refuse the leans the plan needs. Safe-Ballbot plans on a model of the ball alone and leaves balancing and the tilt limit to a tracking controller, linking the two layers with an acceleration bound. All results are in MuJoCo, on a model adapted from the asRoBallet base with omni-wheel roller contacts and ±4 N m torque saturation.
How it works
- Planner. An MPC on a jerk model (three integrators per axis) replans at 10 Hz over 2.5 s. Discrete-time control barrier functions keep the ball outside obstacle ellipses inflated by the footprint plus a 10 cm tracking margin; concave obstacles are split into convex pieces, each bounded by an ellipse.
- Tracker. A 500 Hz hierarchical sliding mode controller with an extended state observer and a robust exponential CBF keeps the tilt within 5.73°.
- Interface. The robust barrier holds a steady tilt of at most 3.54° in one plane, so the planner’s acceleration bound comes from that value rather than the limit and never asks for a lean the tracker refuses.
- Predicted obstacles. Constant-velocity predictions are inflated by conformal prediction radii (90% per-step coverage), with soft barriers and a fallback plan to keep the MPC feasible.
Results
- Known obstacles: over 10 cm clearance, tilt under the limit, median solve 9-12 ms. A full-model NMPC with a tilt filter enters the inflated obstacles in all four scenarios (by up to 12 cm) and takes 108-150 ms per solve.
- An acceleration bound taken from the tilt limit raises the RMS tracking error 1.8-7x and fails the concave scenario.
- 50 random two-obstacle runs: no collision, fall or solver failure, median RMS tracking error 2.4 cm; ±20% body mass or COM height causes no collision.
- Conformal inflation cuts collisions from 7 of 30 random runs (constant-velocity prediction alone) to 0, at the cost of wider detours (median clearance 28 cm vs 13 cm for an oracle).
Limitations
Simulation only; the authors list hardware validation as open. In a 90 s endless run among three obstacles, conformal inflation reduces collisions from three to one but does not remove them, since coverage holds per step, not per run. Maneuvers outside the calibration data defeat the prediction, and the planner replans from its previous plan rather than the measured state.
Videos
Figures



Abstract
Ball-balancing robots (ballbots) must lean to accelerate, and the lean is limited by the wheel torques and by safety. Planners that use the full robot model are expensive, while planners that ignore the balance dynamics produce references that cannot be followed. This paper presents a two-layer navigation scheme for a three-omni-wheel ballbot. The upper layer is a model predictive controller on a \emph{jerk model} of the ball position, with discrete-time control barrier functions for static, moving, rotating and concave obstacles. The lower layer is a hierarchical sliding mode controller with an extended state observer and a robust exponential control barrier function on the tilt (HSMC-ESO-ECBF). The layers are linked by an acceleration bound derived in closed form from the largest steady tilt that the barrier function admits, so that the plan never asks for a lean the tracker refuses. For obstacles whose motion is only predicted, the obstacles are inflated by conformal prediction radii that bound the prediction error with a prescribed probability. In MuJoCo, with omni-wheel roller contacts and torque saturation, the scheme keeps at least $10$\,cm of clearance, tracks the plan within $2$\,cm RMS, keeps the tilt below the limit and plans in $9$--$12$\,ms, $10$--$15$ times faster than a full-model nonlinear MPC that enters the inflated obstacles; with predicted obstacles, the conformal inflation removes the collisions of a constant-velocity predictor in $30$ random crossing scenarios and reduces them in an endless run on a closed path.The source code and video illustrations are available at https://safe-ballbot.github.io
Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.
