0620
0620
performance on the other. robot with a parallel elastic jumping mechanism, built
Our goal is to develop an indoor robot that combines the from topology optimized parts.
versatility of legs to overcome obstacles by jumping and • Dedicated software for controlling the robot.
wheels, which are efficient for fast movement on flat ground. • Successful experimental evaluation of the idea on a real
world prototype.
∗ Contributed equally to this work. The remainder of this paper is structured as follows: In
All authors are members of the Autonomous Systems Lab, ETH Zurich,
Switzerland. Contact: [email protected], [email protected], [email protected] section II, we describe the system’s mechanical design and
1 Video accompanying paper: https://youtu.be/U8bIsUPX1ZU list the integrated hardware. In section III, a brief outline
7516
TABLE I: Components and suppliers We further introduce the generalized coordinates vector
Component Name q = [θ s γ]⊺ , which is used in III-C to model the
Wheel Motor Maxon EC90 Frameless system, and the LQR state vector x = [θ θ̇ v ω]⊺ for
Wheel Motor Motion Controller Maxon EPOS4 Compact
Hip Motor ANYbotics ANYdrive
stabilization feedback control as described in IV-A.
Wheel Motor USB-to-CAN ixxat USB-to-CAN V2
y-axis
Hip Motor USB-to-CAN Lawicel CANUSB ω
Motor Battery Hacker LiPo 5000 mAh 3S g m pendulum g β
θ g
Computer Battery Turnigy LiPo 2200 mAh 4S I pendulum γ
Onboard Computer Intel NUC KIT NUC7i7BNH y
Microcontroller Arduino Uno h
mwheel, r mwheel, l s
IMU Analog Devices ADIS16460 I wheel, r I wheel, l
Wheel Encoder AEDL-5810-Z12
ToF Distance Sensors Terabee TeraRanger Multiflex v
3D Mouse 3Dconnexion SpaceMouse starting point x x-axis
Gesture Control Device Leap Motion Controller
Fig. 4: Generalized coordinates of the simplified Ascento
robot model, in a diagonal, back and top view. We use
originates either from a 3D mouse or a gesture control device mbody for mass and Ibody for the inertia tensor with the
[18] offering easy and intuitive steering. The controller block corresponding name of the described body as a subscript. g
includes the stabilizing, jump and fall recovery controllers as indicates the Earth’s gravitational acceleration.
well as a high level position controller. Jumping and driving
maneuvers are considered decoupled due to the optimized
B. Assumptions
leg geometry and are therefore controlled independently. The
stabilizing controller computes and sends torque commands To keep modeling efforts low and the model simple, the
to actuate the wheel motors. Similarly, the jump and fall following assumptions were made:
recovery controllers take full control of the hip and wheel 1) The dynamics of the leg linkages are neglected.
motors. 2) Perfect joints with no friction or hysteresis are as-
sumed.
Controller 3) Friction between floor and wheels is simplified by
IMU
Position Stabilizing
Wheel
implying a no-slip condition.
Controller Controller
State Motors 4) The motor dynamics are neglected, as they are signif-
Encoders
Estimation Jump icantly faster than the rest of the system.
Controller Hip
Motors 5) System delay is left unmodeled.
User Input Fall Recovery
Controller
6) All links and bodies are rigid.
Assumption 1 implies a fixed hip motor, rendering the model
Fig. 3: Overview of the controller architecture. 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.
III. M ODELING All remaining assumptions can successfully be modeled
To apply model-based control strategies and advanced as unknown external disturbances and compensated by a
state estimation techniques a system model to describe the sufficiently fast and robust controller as shown in section V.
robot’s rigid body dynamics is derived. C. Rigid Body Model
A. Coordinates and Conventions The assumption of fixed leg geometry reduces the robot’s
model on a specific height to a two-wheeled inverted pendu-
1) Notation convention: ȧ denotes a temporal derivative,
lum model, consisting of three bodies: Two wheels and an
â represents an estimate, A⊺ a matrix transpose and al a
inverted pendulum body with a substitute mass, length and
symmetrically occurring quantity on the left, ar on the right,
inertia tensor, combined from all included bodies. Using spa-
respectively.
tial velocity-transport formulae [19], the kinematics of each
2) Generalized coordinates and states: In order to model
body are formulated using only the generalized coordinates
the simplified system as described in III-C, we introduce a
introduced in III-A. From these expressions, the kinetic and
set of system state variables shown in Figure 4. θ denotes the
potential energies of all bodies, T and V , respectively, can
forward tilt angle of the robot, v the planar linear velocity
be derived, leading to the Lagrangian energy function given
and ω the normal angular velocity. The robot’s leg positions
by
are modeled by the sideways tilt angle β (currently only used
L = T − V. (1)
for an experimental lean mode introduced in section VI) and
the distance h to the substitute center of mass. For odometry The equations of motion of the system are obtained by using
considerations, we use x, y and γ as planar coordinates for the Lagrange equation of the first kind
position and orientation and s as the traveled distance on the d ∂L ∂L
surface. ( )− = J⊺ · c (2)
dt ∂ q̇ ∂q
7517
where t is the continuous time variable, J is the Jacobian to the LQR. When the operator steers the robot, a reference
transformation matrix of the system and c is the external setpoint is added to v or ω in the state vector before it is fed
Cartesian forces vector. In c, the horizontal and vertical force into the controller, thereby commanding the robot to reach
components of all rigid bodies were set to zero. The torque a specific target velocity.
components were set equal to the particular motor and spring To take into account varying knee angles, the dynamic
torques acting on the corresponding rigid body. equations were linearized around ten different, equally
From Equation 2 the implicit equations of motion spaced leg heights. This yields ten fourth order state-space
models and feedback gain matrices K, between which linear
M · q̈ = f (3)
interpolation is used. Thereby, the restrictions of the sim-
are derived, with M being the mass matrix of the system plified model introduced by assumption 1 in III-B can be
and f being the forcing term. resolved.
All system parameters, such as lengths, masses and mo- The system is regulated by the LQR control law
ments of inertia, are determined from precise mass mea-
surements of all used components and calculated by using u = −K(ĥ) · x̂ (6)
the computer-aided design (CAD) models, assuming constant
where the input vector u consists of the left and right wheel
density of all components.
torque and ĥ is used for linear interpolation between the gain
IV. C ONTROL matrices. Here x̂ and ĥ are directly supplied by the state
observer, as described in II-C. According to the separation
A two-wheeled robot is inherently unstable. Thus, dedi-
principle, this estimation and control setup is guaranteed to
cated control strategies are required not only for jumping,
be stable and to lead to the robot returning to its perfectly
but even standing still and driving. Additionally, to get into
upright equilibrium position as long as noise, disturbances,
operational mode or recover from a fall a specific control
modeling errors and actuator saturation have no influence on
maneuver is required.
the system’s dynamics.
A. Stabilizing Control
Being able to drive, jump and land again, while staying B. Jump Control
upright on two wheels, requires a reliable stabilization algo- The activation of the jump controller triggers a predefined
rithm. Robustness is also crucial. The robot should be able jump sequence which overrides the current drive controllers
to handle external disturbances while using as little space and takes full control of the robot. The jump controller is a
as possible to regain its equilibrium. The used approach is heuristic feed-forward controller, inspired by human jumping
an LQR, which is an optimal control strategy for regulating motion, with discrete, successive phases (Figure 5). In the
a linear system at minimal cost. Li, Yang and Fan [20] following, the jump phases required for the jump on a step
showed that an LQR controller can successfully provide high are described in further detail.
reliability and robustness for two-wheeled inverted pendulum
stabilization applications.
The optimal solution of the LQR’s infinite horizon prob-
lem is found by solving the discrete-time algebraic Riccati
equation
F⊺ ·S·G·[R+G⊺ ·S·G]−1 G⊺ ·S·F+S−F⊺ ·S·F−Q = 0
(4) Retract Legs Trigger Jump Extract Legs Fly Phase Land
with F and G being the discrete-time state-space represen-
tation matrices of the system, Q and R being the weight Fig. 5: The discrete phases of the jump sequence. In each
matrices and S being the unknown matrix of the equation. phase a different control strategy is applied.
The optimal feedback gain matrix K is given by
1) Retract Legs: Using a controller that follows a specific
K = [R + G⊺ · S · G]−1 · G⊺ · S · F. (5)
trajectory for the hip motors, the robot’s legs are retracted.
Q and R were selected based on the importance of each During this process, the stabilizing controller is active.
state and the desired aggressiveness of the overall system. To 2) Trigger Jump: As soon as nominal stability after the
simplify this process, the weight matrices were assumed to height change is detected, the robot gathers forward velocity.
be diagonal, which reduces the number of adjustable weight Using the ToF distance sensors, the following leg extraction
parameters to six. To tune these values, intricate tests were is triggered when a predefined distance to the step is reached.
performed on the real system. 3) Extract Legs: The legs are then extracted by the two
The choice of the LQR state vector as x = [θ θ̇ v ω]⊺ hip motors, which are regulated by a proportional integral
omits spatial position and orientation. The idea behind this derivative (PID) controller for synchronous extraction. Once
selection is to leave the problem of position tracking to a the legs are completely extracted, the stabilizing controller
dedicated controller which gives direct velocity commands is disabled and ground contact is lost.
7518
4) Fly Phase: A PID loop is used on the hip motor 2) Controlled Extraction: This step only applies for the
positions with reference on a retracted leg position. Thereby, laying position. Following a predetermined trajectory, the
a virtual spring damper element is simulated. This behaviour legs are extracted and later retracted again. This induces a
is desirable to either jump over high obstacles or prevent the rotation around the knee, and the robot achieves the sitting
wheels from touching the stair edge. position. A controlled extraction of the legs is required as
5) Land: Ground contact is detected when the torques in too fast an extraction would make the robot lose ground
the hip joints exceed a specific threshold. Upon detection contact and have a hard impact. On the other hand, too slow
of ground contact, stabilizing control is resumed. Again, a an extraction would not suffice to tip the robot over to the
virtual spring-damper element in the hip motors is simulated, sitting position.
allowing for a smooth energy dissipation and controlled 3) Apply Torque: A constant torque is applied to the
landing. wheel motors, backwards for the sitting position and for-
The jump height and forward velocity during the jump wards for the planking position. The constant torque is
can be set by the user via a graphical user interface (GUI). applied until the robot has enough rotational energy to
This adjusts the parameters of the jump phases for different reach zero tilt angle. Once the robot stands vertically, the
scenarios such as jumping on spot, jumping while driving stabilizing controller is turned on and the robot brakes to
and jumping onto a step. reach its upright idle position.
Entering a resting position in a controlled manner is
C. Fall Recovery Control achieved by turning off the stabilizing controller and apply-
ing a small torque to the wheel motors to control the fall
After a fall or during start-up, the robot is not in its
direction.
upright position. Stand up procedures are addressed for three
out of four resting positions (Figure 6) [21]. Furthermore, V. E XPERIMENTS
the system is able to go into these resting positions in a A. Simulation
controlled manner. All the control algorithms were tested in a simulation,
based on Gazebo [22] 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
Laying Sitting Planking Sideways
the experiments suggests the validity of subsection III-B and
Fig. 6: All four stable positions the robot may fall into. The allows for further development section VI.
contact points between robot and ground are represented by B. Experimental Results
red dots.
In this section, results from a series of experiments with
the prototype system are presented. The dimensions and
The resting positions are defined by the contact points other technical specifications of the robot are shown in
between ground and robot. In the laying position, the robot Figure 8 and Table II, respectively. Multiple experiments
contacts the ground with the legs and rear parts of the body. are presented to demonstrate the robot’s specific capabilities
When in sitting position, it touches the ground with the legs regarding stabilizing performance (V-B.1), jumping (V-B.2)
and wheels and in the planking position with the front part and fall recovery (V-B.3).
of the body and wheels. When the robot lays on its side
contacting a single leg and wheel (sideways position), it is TABLE II: Technical specifications
310 – 660 mm
neither able to recover from nor achieve this resting position of the robot.
in a controlled manner. Category Value
Similar to the jump procedure, the stand up procedure is Weight
km
10.4 kg
composed of discrete, successive phases (Figure 7) which Max. linear velocity 8.0 km h−1
are similar for all resting positions. The event is triggered Max. angular velocity 1.1 rad s−1
by the user and overrides the current drive controller. Max. jumping height 0.4 m
Fig. 8: Main system Battery lifetime 1.5 h
dimensions.
7519
A
A B
B
0.5
2 2
left hip
-0.5 right hip 0
A B A 1.5
left wheel hub motor
-1.5 -2
right wheel hub motor
0 1 2 3 4 5 6 1
0 0.5 1 1.5 2 2.5 0 1 2 3
1.5 left wheel hub motor
right wheel hub motor
0 Fig. 11: Image: The system is able to stand up by first getting
A B A
-1.5 itself into a sitting position (A) and then to the standing
0 1 2 3 4 5 6
position (B). Graphs: The left graph shows the hip motor
Fig. 9: Image: The system on the left (A) is in an unstable angle movements in order that the system sits up (A). The
equilibrium position and about to be disturbed by a red right graph represents the wheel motor torque commands for
stick. On the right side (B) the robot is recovering from standing up (B).
the disturbance. Graphs: The top graph shows the angular
velocity θ̇ response, and the bottom one shows the left and
right wheel motor torque responses u over time. 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
2) Jumping: The system is able to jump on small steps unknown environment. Using the occupancy information of
with a height of 10 cm as demonstrated in Figure 10. The such a map, the robot is able to find and follow a collision-
robot needs at least 90 cm both before and after a step to free path from its current position to any desired destination
accelerate to the target velocity and in order to land safely. [23], [24]. 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 [25]
or model predictive control (MPC).
A B C D E VII. C ONCLUSION
50 left hip motor
A B C D E
0
right hip motor
This work presented the Ascento platform, a two-wheeled
-50
balancing robot that is able to navigate quickly on flat
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
surfaces and to overcome obstacles by jumping. The sys-
heighest point
1
A B C E
lowest point tem’s topology optimized, 3D-printed mechanical design
0.5 D has proven to be both lightweight and impact-resistant.
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Additionally, a robust, model-based LQR controller has
been successfully implemented on the prototype system. In
Fig. 10: Image: The jump of the system onto a real step multiple experiments with the prototype system we demon-
with the five phases: Retract Legs (A), Trigger Jump (B), strated autonomous jumping onto a step and the ability to
Extract Legs (C), Fly Phase (D) and Land (D). Graphs: In recover from downfalls into various positions. Finally, the
the top graph the hip torques and in the bottom the highest robot’s operating environment could be extended from indoor
and lowest points of the system are plotted over time during to outdoor by incorporating terrain-adaptive principles of
a jump cycle. legged robotics [26].
ACKNOWLEDGMENT
3) Fall Recovery: The standing up procedure from all
recoverable resting positions requires less than 2 m of space. The authors would like to acknowledge the generous
In Figure 11 the stand up procedure is shown for the laying support of ETH Zurich and the Autonomous Systems Lab
position. (ASL), Swiss Robotics, ANYbotics, Thyssenkrupp, Anewa
AG, Maxon Motors, Wyss Zurich, Conrad, Matrix Vision
VI. E XPERIMENTAL F EATURES and pmdtechnologies for their financial, technical, and moral
Besides the capabilities tested on the real-world prototype, support, without which this project would not have been
the system also has some experimental features which are to possible.
7520
R EFERENCES [26] C. Gehring, S. Coros, M. Hutler, C. D. Bellicoso, H. Heijnen,
R. Diethelm, M. Bloesch, P. Fankhauser, J. Hwangbo, M. Hoepflinger
[1] M. Hutter, R. Diethelm, S. Bachmann, P. Fankhauser, C. Gehring, et al., “Practice makes perfect: An optimization-based approach to
V. Tsounis, A. Lauber, F. Guenther, M. Bjelonic, L. Isler, H. Kolven- controlling agile motions for a quadruped robot,” IEEE Robotics &
bach, K. Meyer, and M. Hoepflinger, “Towards a generic solution for Automation Magazine, vol. 23, no. 1, pp. 34–43, 2016.
inspection of industrial sites.” ETH Zurich, 2017, 11th Conference
on Field and Service Robotics (FSR) 2017.
[2] R. Siegwart and I. R. Nourbakhsh, Autonomous Mobile Robots. The
MIT Press Cambridge, Massachusetts, 2004.
[3] M. Kamel, S. Verling, O. Elkhatib, C. Sprecher, P. Wulkop, Z. Taylor,
R. Siegwart, and I. Gilitschenski, “Voliro: An omnidirectional hexa-
copter with tiltable rotors,” Computing Research Repository (CoRR),
vol. abs/1801.04581, 2018.
[4] M. Hutter, C. Gehring, A. Lauber, F. Gunther, C. D. Bellicoso,
V. Tsounis, P. Fankhauser, R. Diethelm, S. Bachmann, M. Blösch
et al., “Anymal-toward legged robots for harsh environments,” Ad-
vanced Robotics, vol. 31, no. 17, pp. 918–931, 2017.
[5] Spotmini. Accessed: 29.07.2018. [Online]. Available: https://www.
bostondynamics.com/spot-mini
[6] Atlas. Accessed: 29.07.2018. [Online]. Available: https://www.
bostondynamics.com/atlas
[7] Asimo. Accessed: 29.07.2018. [Online]. Available: http://www.asimo.
honda.com
[8] R. Armour, K. Paskins, A. Bowyer, J. Vincent, and W. Megill,
“Jumping robots: a biomimetic solution to locomotion across rough
terrain,” Bioinspiration & biomimetics, vol. 2, no. 3, p. S65, 2007.
[9] Gita. Accessed: 29.07.2018. [Online]. Available: http://www.vespa.
com/us_EN/news-promo/Piaggio-Gita.html
[10] Rezero. Accessed: 29.07.2018. [Online]. Available: http://www.rezero.
ethz.ch
[11] Garm. Accessed: 29.07.2018. [Online]. Available: https://www.
youtube.com/watch?v=Q5PeCkewteo
[12] J. R. Salton, S. Buerger, L. Marron, J. Feddema, G. Fischer, C. Little,
B. Spletzer, P. Xavier, A. A. Rizzi, M. P. Murphy et al., “Urban
hopper,” vol. 7692. International Society for Optics and Photonics,
2010, p. 76920Z.
[13] Z. Miao, J. Mo, G. Li, Y. Ning, and B. Li, “Wheeled hopping
robot with combustion-powered actuator,” International Journal of
Advanced Robotic Systems, vol. 15, no. 1, p. 1729881417745608,
2018.
[14] G. Song, K. Yin, Y. Zhou, and X. Cheng, “A surveillance robot
with hopping capabilities for home security,” IEEE Transactions on
Consumer Electronics, vol. 55, no. 4, pp. 2034–2039, November 2009.
[15] Handle. Accessed: 29.07.2018. [Online]. Available: https://www.
bostondynamics.com/handle
[16] R. S. Hartenberg and J. Danavit, Kinematic Synthesis of Linkages.
New York, San Francisco, Toronto, London: McGraw-Hill Book
Company, 1964, algebraic Methods of Synthesis using Displacement
Equations.
[17] M. P. Bendsøe, Topology Optimization. Boston, MA: Springer US,
2001, pp. 2636–2638.
[18] L. Gulich, “Gesture Control of a two-wheeled inverted Pendulum,”
2018, Bachelor Thesis, Swiss Federal Institute of Technology, ETH
Zurich, 2018.
[19] M. Sayir, J. Dual, S. Kaufmann, and E. Mazza, Ingenieurmechanik 1,
Grundlagen und Statik. Springer Fachmedien Wiesbaden, 2015.
[20] Z. Li, C. Yang, and L. Fan, Advanced Control of Wheeled Inverted
Pendulum Systems. Springer Publishing Company, Incorporated,
2012.
[21] C. Salzmann and F. Weber, “Fall Recovery and Controlled Resting
Position of a Two-Wheeled Robot,” 2018, Bachelor Thesis, Swiss
Federal Institute of Technology, ETH Zurich, 2018.
[22] N. Koenig and A. Howard, “Design and use paradigms for gazebo, an
open-source multi-robot simulator,” in 2004 IEEE/RSJ International
Conference on Intelligent Robots and Systems (IROS) (IEEE Cat.
No.04CH37566), vol. 3, Sept 2004, pp. 2149–2154 vol.3.
[23] A. Morra, “Autonomous Single Floor Exploration by a Two-Wheeled
Robot with a Local and Global Planner Approach,” 2018, Bachelor
Thesis, Swiss Federal Institute of Technology, ETH Zurich, 2018.
[24] N. Küng, “Path Planning and Following of a Non-Holonomic Robot
in a Given Map,” 2018, Bachelor Thesis, Swiss Federal Institute of
Technology, ETH Zurich, 2018.
[25] C. Pfister, “One-Legged Stabilization Controller Design of a Two-
Legged Inverted Pendulum Robot,” 2018, Bachelor Thesis, Swiss
Federal Institute of Technology, ETH Zurich, 2018.
7521