Simulink model accompanying the paper
Decoupled Modeling and Cascaded Control of a Two-Degrees of Freedom Pendulum-Driven Spherical Robot (authors, venue, year — to be added)
spherical_robot_demo_plots.mp4
Recorded run replayed at 2× speed: position from the overhead camera (Luxonis OAK 4 D Pro), measured heading from the IMU (red arrow) and heading reference (yellow arrow), together with a separate run filmed with a phone.
The robot (top: in the arena, bottom: with the upper half of the shell removed) is driven by a brushless motor on the shaft and tilted laterally by a servo; two IMUs on the pendulum measure the heading and the tilt. The position is measured by an overhead camera (Luxonis OAK 4 D Pro), and the controllers run on a host computer (ROS 2, 50 Hz) that communicates with the robot over ESP-NOW. The robot was designed and built by Hanjo Claassen at Delft University of Technology.
| File | Description |
|---|---|
simulink_model/spherical_robot_2DOF.slx |
Simulink model with the decoupled model and the multibody (Simscape) model of the robot, controlled by the same cascaded controller |
docs/ |
Figures used in this README |
The model contains two plants that are simulated in parallel with the same references and controllers:
-
System model: the decoupled model of the paper, i.e. two planar
Lagrangian models (longitudinal and lateral axis) closed by the heading
kinematics,
$\dot\psi = (v/r)\tan\varphi_y$ ,$\dot X = v\cos\psi$ ,$\dot Y = v\sin\psi$ . - Simscape model: a three-dimensional multibody model of the shell and the two-axis pendulum with compliant ground contact and friction, in which turning emerges from the dynamics.
-
Longitudinal axis: speed loop
$C_v$ → shaft-rate loop$C_\omega$ → motor torque$u_x$ -
Lateral axis: heading loop
$C_\psi$ → relative pendulum roll loop$C_\gamma$ → servo torque$u_y$
- MATLAB / Simulink R2026b (the model can be saved for older releases with Save As)
- Simscape
- Simscape Multibody
- Open
simulink_model/spherical_robot_2DOF.slx. - Select the reference with the manual switches at the top level of the model (speed step, tilt step, heading step, heading ramp, circle, figure-eight).
- Run the simulation. The scopes and XY graphs show the responses and paths of both models.
If you use this model, please cite the paper:
@article{TODO,
title = {Decoupled Modeling and Cascaded Heading Control of a
Pendulum-Driven Spherical Robot},
author = {TODO},
journal = {TODO},
year = {TODO}
}MIT, see LICENSE.



