A single-wheel rolling robot, capable of driving and jumping by internal mass displacement.

CAD Assembly

Real System

Jump Height Plot


During my bachelor’s thesis I designed, built, and programmed a mobile robot that can dynamically shift its center of mass and thereby execute dynamic maneuvers. The first sketches and ideas originated from my research project on spherical rolling robots.
The unique feature of this robot, compared to other rolling robots, is that a movable mass is used both in static conditions (gravity generated torque) and for dynamic maneuvers (by using the mass’ inertia).

I built a CAD model to make sure all components in the assembly fit to each other. A dynamic model of the robot allowed me to make simulations with different control strategies and parameters. It turned out that the highest jumps can be achieved by gathering as much upward momentum as possible before taking off and then raising the frame as high as possible relative to the center of gravity. The video below shows how the robot takes a jump of approximately 12 cm.



I programmed a communication library in MATLAB to achieve low-level communication between a computer and the motor controllers, using a RS232 connection. On top, higher level functions and a graphical user interface are available to conveniently build control algorithms. The code is available on Github.

Building this robot has showed me what it takes to progress from a mere idea to the first prototype. I especially improved my CAD design skills, gained experience in system modeling and simulation, and practiced my presentation competence.