Ascento: A Two-Wheeled Jumping Robot

by   Victor Klemm, et al.
ETH Zurich

Applications of mobile ground robots demand high speed and agility while navigating in complex indoor environments. These present an ongoing challenge in mobile robotics. A system with these specifications would be of great use for a wide range of indoor inspection tasks. This paper introduces Ascento, a compact wheeled bipedal robot that is able to move quickly on flat terrain, and to overcome obstacles by jumping. The mechanical design and overall architecture of the system is presented, as well as the development of various controllers for different scenarios. A series of experiments with the final prototype system validate these behaviors in realistic scenarios.



There are no comments yet.


page 1

page 6


NimbRo Rescue: Solving Disaster-Response Tasks through Mobile Manipulation Robot Momaro

Robots that solve complex tasks in environments too dangerous for humans...

Real-Time Freespace Segmentation on Autonomous Robots for Detection of Obstacles and Drop-Offs

Mobile robots navigating in indoor and outdoor environments must be able...

Bruce – Design and Development of a Dynamic Hexapod Robot

This paper introduces Bruce, the CSIRO Dynamic Hexapod Robot capable of ...

Design and Development of a Flexible Steel Surface Climbing Inspection Robot

Motivated by a high demand for automated inspection of civil infrastruct...

The Design of Stretch: A Compact, Lightweight Mobile Manipulator for Indoor Human Environments

Mobile manipulators for indoor human environments can serve as versatile...

Catch the Ball: Accurate High-Speed Motions for Mobile Manipulators via Inverse Dynamics Learning

Mobile manipulators consist of a mobile platform equipped with one or mo...

Learning Fuzzy Controllers in Mobile Robotics with Embedded Preprocessing

The automatic design of controllers for mobile robots usually requires t...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

The emergence of competent mobile robots over the past decade has pushed the development of inspection robotics in research and industry [Hutter2017], [illahautonomous]. While flying systems such as drones already show great maneuverability [DBLP:journals/corr/abs-1801-04581], they are very limited in payload and flight time. Ground robots that can navigate quickly and master indoor obstacles are still the topic of ongoing research, and typically lack speed or versatility in their maneuvers.

The locomotion of ground robots can be categorized roughly into two main fields; either a leg- and foot-based [Hutter2017a], [spotmini], [atlas], [asimo], [Armour_2007] or a wheel-based approach [vespa], [rezero]. Whilst some walking robots for indoor spaces show great performance overcoming obstacles such as stairs or slippery terrain, they usually still take a significant amount of time to execute these complex movements. In contrast, robots with rotating elements such as wheels are well suited for flat grounds as they can move smoothly, efficiently and fast. However, they usually fail to handle rough terrain, especially if there are obstacles larger than their wheel’s radius. An exception are systems with continuous tracks [garm]. These can overcome rough terrain and small obstacles with ease but are imprecise and inefficient for turning maneuvers due to slippage.

Fig. 1: Current prototype of the Ascento robot.

Robots which combine these two core abilities, fast and smooth maneuvering on flat grounds and dynamic overcoming of obstacles, are rare. Most systems are designed primarily for either one of those tasks, neglecting their performance on the other.

Our goal is to develop an indoor robot that combines the versatility of legs to overcome obstacles by jumping and wheels, which are efficient for fast movement on flat ground. Tight indoor environments may compromise a robot’s mobility to a large extent. Accordingly, the system must come in a highly compact design.

Current systems, which combine jumping and driving, exist and focus either on jumping very high at the cost of repeatability [urban_hopper], [doi:10.1177/1729881417745608] or require a significantly long time to recharge their jumping mechanism [5373766]. To the best knowledge of the authors, the system presented in [handle] is the most similar design to the Ascento robot. It manages to combine legs and wheels efficiently for this purpose, but its size renders it unfit for indoor spaces. In this work, we present Ascento, a two-wheeled jumping robot in a small form factor especially well-suited for indoor environments. The structural components were created with topology optimization and are fully 3D-printed. An optimized leg geometry decouples the driving and jumping motion and allows the robot to recover from various fall scenarios. Stabilization and driving is achieved through a linear quadratic regulator (LQR) controller. For jumping and fall recovery maneuvers, a sequential feed forward controller with feedback tracking is used. To validate this concept, the real-world prototype demonstrated stabilized driving, jumping and fall recovery in multiple experiments.

The three main contributions can be summarized as:

  • The mechanical design of a two-wheeled balancing robot with a parallel elastic jumping mechanism, built from topology optimized parts.

  • Dedicated software for controlling the robot.

  • Successful experimental evaluation of the idea on a real world prototype.

The remainder of this paper is structured as follows: In section II, we describe the system’s mechanical design and list the integrated hardware. In section III, a brief outline of the system’s model used for model-based control is given. An explanation of the system’s control architecture is given in section IV, highlighting the control strategies used for stabilizing IV-A, jumping IV-B and fall recovery IV-C. The evaluation of real-world experiments is presented in section V. We further list the robot’s features which are under development in section VI, before we conclude in section VII.

Ii System Description

Ii-a Mechanical Design

The presented system consists of two legs ending with actuated wheels. The legs are attached to a body that houses all electronics as shown in Figure 1. Each leg can be extended and retracted independently by actuating the corresponding motor installed in the hip of the body. This way, the system’s total height can be adjusted between and . The goal of the leg mechanism is to decouple stabilizing and jumping control as much as possible. This was realized through a three bar linkage which approximates a linear motion of the wheels perpendicular to the ground as seen in Figure 2. By making the line pass through the system’s center of mass the leg motion dictates a jump trajectory that does not cause a body rotation. As such a mechanism cannot achieve a perfectly straight line [hartenberg:kinematic_linkages], the linkage is optimized numerically for six geometric design parameters with a mean squared error approach to the desired linear trajectory, whereby the optimal lengths and angles of the bars were obtained.

Fig. 2: Left leg assembly and its main components. The optimal linear motion is depicted with a blue dotted line passing through the robot’s center of mass and the achieved optimized motion is depicted in green.

To reduce mass and increase the strength of the system the leg components have been designed using topology optimization [Bendsøe2001] inspired geometries. Topology optimization is a numerical method that finds a geometry for given set of loads, design space, boundary conditions and a target mass with the goal of minimizing stresses within the structure. The raw topology optimized structure is impractical for post-processing steps and numerical analysis such as finite element method (FEM). The structure was therefore redesigned manually using the optimized structure as template. Manufacturing the optimized parts would be challenging with classical manufacturing processes because of their complex shape. Therefore, all structural parts are 3D-printed from polyamide 12 (PA12) using selective laser sintering (SLS) technology. This technology has also enabled fast prototyping iterations.

To provide smooth stabilization and to counteract disturbances of the tilt angle of the system, near-zero backlash and high wheel torques are required. For this purpose, a custom wheel assembly with frameless hub motors was constructed. This direct drive configuration allows an almost backlash free motion and is very compact. Torsion springs installed in the inner joints as shown in Figure 2 counteract the system’s own weight and reduce the control effort of the hip motors when driving or standing, increasing overall efficiency and jumping height.

Ii-B Hardware

The remaining hardware components have been chosen to best fulfill the system’s performance requirements. To jump and be able to counteract the spring, when the system has no ground contact, high torques are needed in the hip motor. For this purpose ANYdrive [Hutter2017a] series-elastic actuators are used. They can deliver high peak torques of up to and have built-in position and torque control. Maxon EC90 frameless electronically commutated (EC) motors with a maximum torque of are utilized in the wheel hub motor. Each wheel motor is equipped with an encoder for precise position and velocity feedback and requires an additional motion controller for torque control. All four motors communicate via a controller area network (CAN) and use an adapter to communicate with the onboard computer. As the main processing unit, which takes full control of the system, an Intel NUC with i7 processor is used. The system is also equipped with an inertial measurement unit (IMU) and a microcontroller to allow communication between the IMU and the computer. Two time-of-flight (ToF) distance sensors used for triggering of a jump are installed next to the wheels. To power all motors, a battery pack composed of four 3-cell lithium-ion polymer (LiPo) batteries connected in series is used. The onboard computer and the remaining electronic devices are powered by a single 4-cell LiPo Battery. A complete component list is shown in Table I.

As a whole, the presented system weights and has an operation time of approximately .

Component Name
Wheel Motor Maxon EC90 Frameless
Wheel Motor Motion Controller Maxon EPOS4 Compact
Hip Motor ANYbotics ANYdrive
Wheel Motor USB-to-CAN ixxat USB-to-CAN V2
Hip Motor USB-to-CAN Lawicel CANUSB
Motor Battery Hacker LiPo 3S
Computer Battery Turnigy LiPo 4S
Onboard Computer Intel NUC KIT NUC7i7BNH
Microcontroller Arduino Uno
IMU Analog Devices ADIS16460
Wheel Encoder AEDL-5810-Z12
ToF Distance Sensors Terabee TeraRanger Multiflex
3D Mouse 3Dconnexion SpaceMouse
Gesture Control Device Leap Motion Controller
TABLE I: Components and suppliers

Ii-C Software

The control-related software must be computationally efficient to enable high bandwidth controllers, hence all software is written using C++. In addition, the robot operating system (ROS

) framework is used for high level communication. A Kalman filter is implemented using sensor data obtained by the

IMU and motor encoder measurements. In combination with the model knowledge from III-C

, the Kalman filter provides an estimate of the system’s state dependent on the hip motor position as described in

IV-A. The estimated state information is fed to the controller together with the desired pose from the user as shown in Figure 3. The user input originates either from a 3D mouse or a gesture control device [Gulich2018] offering easy and intuitive steering. The controller block includes the stabilizing, jump and fall recovery controllers as well as a high level position controller. Jumping and driving maneuvers are considered decoupled due to the optimized leg geometry and are therefore controlled independently. The stabilizing controller computes and sends torque commands to actuate the wheel motors. Similarly, the jump and fall recovery controllers take full control of the hip and wheel motors.

Fig. 3: Overview of the controller architecture.

Iii Modeling

To apply model-based control strategies and advanced state estimation techniques a system model to describe the robot’s rigid body dynamics is derived.

Iii-a Coordinates and Conventions

Iii-A1 Notation convention

denotes a temporal derivative, represents an estimate, a matrix transpose and a symmetrically occurring quantity on the left, on the right, respectively.

Iii-A2 Generalized coordinates and states

In order to model the simplified system as described in III-C, we introduce a set of system state variables shown in Figure 4. denotes the forward tilt angle of the robot, the planar linear velocity and the normal angular velocity. The robot’s leg positions are modeled by the sideways tilt angle (currently only used for an experimental lean mode introduced in section VI) and the distance to the substitute center of mass. For odometry considerations, we use , and as planar coordinates for position and orientation and as the traveled distance on the surface.

We further introduce the generalized coordinates vector

, which is used in III-C to model the system, and the LQR state vector for stabilization feedback control as described in IV-A.

Fig. 4: Generalized coordinates of the simplified Ascento robot model, in a diagonal, back and top view. We use for mass and

for the inertia tensor with the corresponding name of the described body as a subscript.

indicates the Earth’s gravitational acceleration.

Iii-B Assumptions

To keep modeling efforts low and the model simple, the following assumptions were made:

  1. The dynamics of the leg linkages are neglected.

  2. Perfect joints with no friction or hysteresis are assumed.

  3. Friction between floor and wheels is simplified by implying a no-slip condition.

  4. The motor dynamics are neglected, as they are significantly faster than the rest of the system.

  5. System delay is left unmodeled.

  6. All links and bodies are rigid.

Assumption 1 implies a fixed hip motor, rendering the model only applicable to a specific leg configuration. This limitation is addressed using interpolated control strategy which lowers the significance of the assumption as described in

section IV. All remaining assumptions can successfully be modeled as unknown external disturbances and compensated by a sufficiently fast and robust controller as shown in section V.

Iii-C Rigid Body Model

The assumption of fixed leg geometry reduces the robot’s model on a specific height to a two-wheeled inverted pendulum model, consisting of three bodies: Two wheels and an inverted pendulum body with a substitute mass, length and inertia tensor, combined from all included bodies. Using spatial velocity-transport formulae [mazza], the kinematics of each body are formulated using only the generalized coordinates introduced in III-A. From these expressions, the kinetic and potential energies of all bodies, and , respectively, can be derived, leading to the Lagrangian energy function given by


The equations of motion of the system are obtained by using the Lagrange equation of the first kind


where is the continuous time variable, is the Jacobian transformation matrix of the system and is the external Cartesian forces vector. In , the horizontal and vertical force components of all rigid bodies were set to zero. The torque components were set equal to the particular motor and spring torques acting on the corresponding rigid body.

From Equation 2 the implicit equations of motion


are derived, with being the mass matrix of the system and being the forcing term.

All system parameters, such as lengths, masses and moments of inertia, are determined from precise mass measurements of all used components and calculated by using the

computer-aided design (CAD) models, assuming constant density of all components.

Iv Control

A two-wheeled robot is inherently unstable. Thus, dedicated control strategies are required not only for jumping, but even standing still and driving. Additionally, to get into operational mode or recover from a fall a specific control maneuver is required.

Iv-a Stabilizing Control

Being able to drive, jump and land again, while staying upright on two wheels, requires a reliable stabilization algorithm. Robustness is also crucial. The robot should be able to handle external disturbances while using as little space as possible to regain its equilibrium. The used approach is an LQR, which is an optimal control strategy for regulating a linear system at minimal cost. Li, Yang and Fan [Li:2012:ACW:2349034] showed that an LQR controller can successfully provide high reliability and robustness for two-wheeled inverted pendulum stabilization applications.

The optimal solution of the LQR’s infinite horizon problem is found by solving the discrete-time algebraic Riccati equation


with and being the discrete-time state-space representation matrices of the system, and being the weight matrices and being the unknown matrix of the equation.

The optimal feedback gain matrix is given by


and were selected based on the importance of each state and the desired aggressiveness of the overall system. To simplify this process, the weight matrices were assumed to be diagonal, which reduces the number of adjustable weight parameters to six. To tune these values, intricate tests were performed on the real system.

The choice of the LQR state vector as omits spatial position and orientation. The idea behind this selection is to leave the problem of position tracking to a dedicated controller which gives direct velocity commands to the LQR. When the operator steers the robot, a reference setpoint is added to or in the state vector before it is fed into the controller, thereby commanding the robot to reach a specific target velocity.

To take into account varying knee angles, the dynamic equations were linearized around ten different, equally spaced leg heights. This yields ten fourth order state-space models and feedback gain matrices , between which linear interpolation is used. Thereby, the restrictions of the simplified model introduced by assumption in III-B can be resolved.

The system is regulated by the LQR control law


where the input vector consists of the left and right wheel torque and is used for linear interpolation between the gain matrices. Here and are directly supplied by the state observer, as described in II-C. According to the separation principle, this estimation and control setup is guaranteed to be stable and to lead to the robot returning to its perfectly upright equilibrium position as long as noise, disturbances, modeling errors and actuator saturation have no influence on the system’s dynamics.

Iv-B Jump Control

The activation of the jump controller triggers a predefined jump sequence which overrides the current drive controllers and takes full control of the robot. The jump controller is a heuristic feed-forward controller, inspired by human jumping motion, with discrete, successive phases (

Figure 5). In the following, the jump phases required for the jump on a step are described in further detail.

Fig. 5: The discrete phases of the jump sequence. In each phase a different control strategy is applied.

Iv-B1 Retract Legs

Using a controller that follows a specific trajectory for the hip motors, the robot’s legs are retracted. During this process, the stabilizing controller is active.

Iv-B2 Trigger Jump

As soon as nominal stability after the height change is detected, the robot gathers forward velocity. Using the ToF distance sensors, the following leg extraction is triggered when a predefined distance to the step is reached.

Iv-B3 Extract Legs

The legs are then extracted by the two hip motors, which are regulated by a proportional integral derivative (PID) controller for synchronous extraction. Once the legs are completely extracted, the stabilizing controller is disabled and ground contact is lost.

Iv-B4 Fly Phase

A PID loop is used on the hip motor positions with reference on a retracted leg position. Thereby, a virtual spring damper element is simulated. This behaviour is desirable to either jump over high obstacles or prevent the wheels from touching the stair edge.

Iv-B5 Land

Ground contact is detected when the torques in the hip joints exceed a specific threshold. Upon detection of ground contact, stabilizing control is resumed. Again, a virtual spring-damper element in the hip motors is simulated, allowing for a smooth energy dissipation and controlled landing.

The jump height and forward velocity during the jump can be set by the user via a graphical user interface (GUI). This adjusts the parameters of the jump phases for different scenarios such as jumping on spot, jumping while driving and jumping onto a step.

Iv-C Fall Recovery Control

After a fall or during start-up, the robot is not in its upright position. Stand up procedures are addressed for three out of four resting positions (Figure 6) [SalzmannWeber2018]. Furthermore, the system is able to go into these resting positions in a controlled manner.

Fig. 6: All four stable positions the robot may fall into. The contact points between robot and ground are represented by red dots.

The resting positions are defined by the contact points between ground and robot. In the laying position, the robot contacts the ground with the legs and rear parts of the body. When in sitting position, it touches the ground with the legs and wheels and in the planking position with the front part of the body and wheels. When the robot lays on its side contacting a single leg and wheel (sideways position), it is neither able to recover from nor achieve this resting position in a controlled manner.

Similar to the jump procedure, the stand up procedure is composed of discrete, successive phases (Figure 7) which are similar for all resting positions. The event is triggered by the user and overrides the current drive controller.

Fig. 7: Phases of the stand up procedure. The controlled extraction step only applies for the laying position.

Iv-C1 Retract Legs

Using a controller that follows a specific trajectory for the hip motors, the robot’s legs are retracted.

Iv-C2 Controlled Extraction

This step only applies for the laying position. Following a predetermined trajectory, the legs are extracted and later retracted again. This induces a rotation around the knee, and the robot achieves the sitting position. A controlled extraction of the legs is required as too fast an extraction would make the robot lose ground contact and have a hard impact. On the other hand, too slow an extraction would not suffice to tip the robot over to the sitting position.

Iv-C3 Apply Torque

A constant torque is applied to the wheel motors, backwards for the sitting position and forwards for the planking position. The constant torque is applied until the robot has enough rotational energy to reach zero tilt angle. Once the robot stands vertically, the stabilizing controller is turned on and the robot brakes to reach its upright idle position.

Entering a resting position in a controlled manner is achieved by turning off the stabilizing controller and applying a small torque to the wheel motors to control the fall direction.

V Experiments

V-a Simulation

All the control algorithms were tested in a simulation, based on Gazebo [gazebo] as a physics engine. A model of the robot with mass and inertia values from the CAD model allows for a realistic and computationally efficient testing environment. The similar behaviour of the simulation and the experiments suggests the validity of subsection III-B and allows for further development section VI.

V-B Experimental Results

In this section, results from a series of experiments with the prototype system are presented. The dimensions and other technical specifications of the robot are shown in Figure 8 and Table II, respectively. Multiple experiments are presented to demonstrate the robot’s specific capabilities regarding stabilizing performance (V-B1), jumping (V-B2) and fall recovery (V-B3).

Fig. 8: Main system dimensions.

TABLE II: Technical specifications of the robot.
Category Value
Max. linear velocity
Max. angular velocity
Max. jumping height
Battery lifetime

V-B1 Stabilizing Performance

The goal of the system is to stay upright at all times. Without compromising stability, the system is able to sustain large external disturbances. The robot’s response to a hit from a wooden stick is shown in Figure 9. Beside impulsive disturbances, the system is also able to go back to its equilibrium position if permanent or longer-lasting disturbances are applied to the system (pulling, pushing or adding weight).

Fig. 9: Image: The system on the left (A) is in an unstable equilibrium position and about to be disturbed by a red stick. On the right side (B) the robot is recovering from the disturbance. Graphs: The top graph shows the angular velocity response, and the bottom one shows the left and right wheel motor torque responses over time.

V-B2 Jumping

The system is able to jump on small steps with a height of as demonstrated in Figure 10. The robot needs at least both before and after a step to accelerate to the target velocity and in order to land safely.

Fig. 10: Image: The jump of the system onto a real step with the five phases: Retract Legs (A), Trigger Jump (B), Extract Legs (C), Fly Phase (D) and Land (D). Graphs: In the top graph the hip torques and in the bottom the highest and lowest points of the system are plotted over time during a jump cycle.

V-B3 Fall Recovery

The standing up procedure from all recoverable resting positions requires less than of space. In Figure 11 the stand up procedure is shown for the laying position.

Fig. 11: Image: The system is able to stand up by first getting itself into a sitting position (A) and then to the standing position (B). Graphs: The left graph shows the hip motor angle movements in order that the system sits up (A). The right graph represents the wheel motor torque commands for standing up (B).

Vi Experimental Features

Besides the capabilities tested on the real-world prototype, the system also has some experimental features which are to this date only validated in the simulation environment. An exploration algorithm was developed which can, depending on a local and global planning strategy, map a previously unknown environment. Using the occupancy information of such a map, the robot is able to find and follow a collision-free path from its current position to any desired destination [Morra2018], [Kueng2018]. Additionally, a force-compensating lean mode is introduced to allow the system to be able to turn faster without tipping sideways. This is done by varying each leg angle individually to tilt the robot inwards in . The system’s unique design and modular setup make it also an interesting object for further academic investigation, e.g., developments of new control strategies such as balancing on one leg [Pfister2018] or model predictive control (MPC).

Vii Conclusion

This work presented the Ascento platform, a two-wheeled balancing robot that is able to navigate quickly on flat surfaces and to overcome obstacles by jumping. The system’s topology optimized, 3D-printed mechanical design has proven to be both lightweight and impact-resistant. Additionally, a robust, model-based LQR controller has been successfully implemented on the prototype system. In multiple experiments with the prototype system we demonstrated autonomous jumping onto a step and the ability to recover from downfalls into various positions. Finally, the robot’s operating environment could be extended from indoor to outdoor by incorporating terrain-adaptive principles of legged robotics [gehring2016practice].


The authors would like to acknowledge the generous support of ETH Zurich and the Autonomous Systems Lab (ASL), Swiss Robotics, ANYbotics, Thyssenkrupp, Anewa AG, Maxon Motors, Wyss Zurich, Conrad, Matrix Vision and pmdtechnologies for their financial, technical, and moral support, without which this project would not have been possible.