Professional Documents
Culture Documents
Bipedal Robots Control Crash Course
Bipedal Robots Control Crash Course
For the uneducated, here are some good places to learn the background of the field. None of
this is really a pre-req, but I think it’s helpful if you are interested in it as a career option.
We’ve been doing solid legged robotic solutions since 1980’s, when Marc Raibert (founder of
Boston Dynamics) first began experimenting with legged systems with simplified dynamic
representations (https://www.youtube.com/watch?v=XFXj81mvInc). Nowadays legged studies
have evolved from exclusively simplified models/control to also include more complicated
formulations such as Model Predictive Control.
Watch Lectures 11-16 of Underactuated Robotics for a more in depth understanding of some of
these concepts.
https://www.researchgate.net/publication/315471039_Design_of_Dynamic_Legged_Rob
ots/figures?lo=1
https://www.ri.cmu.edu/pub_files/2016/8/kaloucheThesis.pdf
Design Ideologies
● High torque, low inertia: https://ieeexplore.ieee.org/abstract/document/9035049
Contact Models
When a foot comes into contact with the ground, there will be a returning ground reaction force
that acts on the rest of the robot. This force can be represented a few different ways with
differing results from a control perspective.
Soft Contact models use a virtual spring/damper model between the foot and the ground to
establish the ground reaction force (F=kx+damping). Soft models are typically the best ways to
represent what will happen in the real world. The downside of good soft contact models is that
they are more difficult to analyze because they lead to “stiff” differential equations and require
large spring constant values.
Hard Contact models have no spring/damper representation. They are worse at reflecting
reality, but are far better for numerical analysis.
For the most part, biology adheres to these two models for locomotion. Some animals exhibit
just spring-mass models, such as birds, while other animals can exhibit a mixture. Elephants are
funky because their front legs “walk” and their rear legs “run” according to these models.
Spring Loaded Inverted Pendulum (SLIP)
SLIP is probably the most famous robot locomotion algorithm. It was originally coined by Raibert
in his PhD from his experimentation with his single legged “Raibert Hoppers.” After studying
nature, it was found that spring-mass templates represent animals moving in nature pretty
accurately. Fundamentally, this algorithm approaches legged locomotion as an open loop
process, where the only closed loop process is the leg touchdown angle around a neutral point
and sometimes the pitch of the robot (for rigid bodies and the classical raibert hoppers).
More specifically, the cart-pole problem can instead be represented as a “cart-table” model,
which can represent the dynamics more accurately. The cart-table model also makes a direct
relation to what is known as the Zero Moment Point (ZMP), which is one of the most common
stable algorithms.
Cart Pole Inverted
● https://www.youtube.com/watch?v=qjhAAQexzLg
● https://www.youtube.com/watch?v=M_jchYsTZvM
● https://www.youtube.com/watch?v=1_UobILf3cc
Inverted Pendulum for Walking
● https://arxiv.org/abs/1910.00684
● https://ieeexplore.ieee.org/document/5651082
● https://www.cs.cmu.edu/~hgeyer/Teaching/R16-899B/Papers/KajiitaEA01IEEE_ICIRS.p
df
● https://www.techunited.nl/media/files/humanoid/SwanVanDalen_GRAD2012_A_Linear_I
nverted_Pendulum_Walk_Implemented_on_TUlip.pdf
Zero Moment Point (ZMP)
In the last decade, Zero Moment Point (ZMP) has emerged as one of the main control
methods to maintain stability. Asimo from Honda [1], HRP-3 from AIST [2], KHR-3 (HUBO) from
KAIST [3], and Nao from Aldebaran-Robotics [4] all use this method. ZMP was originally
discovered by Vukobratovic and Juricic in [5].
The ZMP is the point on the ground around which the sum of all the moments of the
active forces equals zero. Under the assumption that no external forces exists, the ZMP position
can be computed rather easily based on the forces on the feet about the CoM [6].
ZMP was the main algorithm used for walking in the 2015 DRC and can definitely be
considered a “standard” by many accounts in the walking community. It has a requirement to
know more about the environment than other, more passive, methods, but works great in flat
areas and steps. Part of what made Asimo awkward at first was the fact that it maintained a
constant Center of Mass (CoM) height, with no impact events, and linear CoM dynamics.
Cons:
- This model does not have good control of angular momentum, which can make it fragile
in very unstructured environments. However it works great for flat surface environments
and stepping.
Feedback Linearization
Pros:
- Easy control of a biped (originally done with Asimo in 1990’s)
Cons:
- Not natural and energy inefficient
- [2] https://link.springer.com/referenceworkentry/10.1007%2F978-94-007-7194-9_43-1
Bipedal SLIP
ATRIAS (Hubicki/Hurst) was developed to embody the SLIP template model. It was one
of the first big projects to make a case for Passive Dynamics. Zero Moment Pole strategies rely
on planning with respect to the environment to ensure ZMQ criteria. A passive dynamic system
is one that locomotes as a self-stable phenomenon; one that rejects disturbances without formal
feedback.
One of the other interesting contributions that was made clear with ATRIAS was the
effects of the “toe off force” or “energy injection” to improve the efficiency of the system. The
simple process of adding a little extra force in the last moments of the take-off flight stage
will dramatically improve the efficiency of locomotion (10x the energy efficiency in some
cases). For a SLIP model, energy injection can be done by simply extending the leg.
- [3] https://mime.oregonstate.edu/research/drl/publications/_documents/hubicki_2018.pdf
Where E is the energy input to the system, with a mass m, that is used to move the system a
distance d, and g is gravity. Another definition uses the power input to the system P used to
move the system at a constant velocity v.
https://www.researchgate.net/publication/315471039_Design_of_Dynamic_Legged_Robots/figu
res?lo=1
Impedance - Mechanical Impedance is the ratio of force output to motion input. A “spring
constant” defines the force output for a displacement of a spring. A “damping constant” defines
the force output for a velocity input. These constants can thus be adjusted as a gain to control
the force of resistance to external disturbances.
Admittance - The inverse of Impedance. It defines the motion that results from a force
input. For example, if a mechanism applies a force to the environment, the environment may, or
may not, move depending on the force.
Impedance and Admittance Control can be applied at subsystem levels (e.g Impedance
Control of just the legs or arms to respond to external forces) or at the Whole-Body Level (e.g
Admittance Control to make sure the CoM doesn’t move too far after disturbed). Especially as
systems evolve to embrace more hierarchical control schemes with varying levels of
optimization.
Both Impedance and Admittance Control expand the Manipulator Equation to
incorporate disturbances and control inputs. For example, the MIT Cheetah 3 [1] uses a
feedforward PD impedance controller.
- https://www.researchgate.net/publication/330591547_Dynamic_Locomotion_in_th
e_MIT_Cheetah_3_Through_Convex_Model-Predictive_Control
1. http://www.roboticsproceedings.org/rss14/p54.pdf
2. https://homes.cs.washington.edu/~todorov/papers/KoenemannIROS15.pdf
3. https://www.researchgate.net/publication/281374074_Whole-body_Motion_Planning_wit
h_Centroidal_Dynamics_and_Full_Kinematics
4. https://ieeexplore.ieee.org/document/7487270
5. https://arxiv.org/pdf/1901.08505.pdf
6. https://ieeexplore.ieee.org/document/7384453
7. https://arxiv.org/pdf/1702.08742.pdf
8. https://ieeexplore.ieee.org/document/8246930
9. https://ieeexplore.ieee.org/document/7384453
10. https://ieeexplore.ieee.org/document/7353843
11. https://ieeexplore.ieee.org/document/4651055
12. https://ieeexplore.ieee.org/document/4115592
Small Notes on LQR
LQR is a great tool to work with legged robots so they work how you want. They can avoid the
common pitfalls of feedback linearized systems (like Asimo in the early 2000’s that made it walk
funny).
Consider the following guidelines:
- Minimal Coordinates -> LQR
- Maximal Coodrinates -> Equality Constrained LQR
Problems with LQR:
- Can’t handle push recovery that well. And we are kinda stuck there as well. Constraints
change. You have to take extra steps to recover. LQR and Constrained LQR can’t do
that.
An equivalent system of linearized LQR can be considered Mixed Integer MPC. 2015 MIT
Darpa team used MI MPC to great success. Specifically try to linearize the centroidal dynamics
Using the CMM, A, an affine relationship between joint acceleration and external wrenches
applied to the robot can be defined.
A high level behavior, such as a walking or driving behavior, sets up a quadratic program (QP)
with the following data: (i) desired motions in the form of motion tasks, (ii) information about
available contacts, and (iii) a rate of change of centroidal momentum objective. The QP
reconciles the motion tasks with the available contact by exploiting the CMM and Euler Law
relationship. The QP solver outputs joint accelerations and ground reaction wrenches exerted at
the robot links in contact to calculate desired joint torques via Inverse Dynamics
● https://www.researchgate.net/publication/280839675_Design_of_a_Momentum-Based_
Control_Framework_and_Application_to_the_Humanoid_Robot_Atlas
● https://arxiv.org/pdf/2004.12083.pdf
● https://hal.archives-ouvertes.fr/hal-01875387/document
Step Planning
Periodic Gaits - Locomotion gaits that have somewhat consistent contact timing and positioning
Non Periodic Gaits - Locomotion gaits that do not follow consistent contact timing or positioning
Typically you can solve footstep placement using optimization. Define a convex approximation
of the reachable sets of footstep positions.
Be on the lookout for proper footstep planners!!! There are some dead giveaways of good/bad
planners/controllers. Look for someone pushing the robot hard to the left when the right
foot is in the air. Typically the robot will fail because the legs get crossed, causing the
robot to fail.
- Boston Dynamics gets around the “Crossed Leg” problem by “hopping” as it moves
sideways
Be aware of partial footholds and limited contact. Alot of the time you wont have a perfectly flat
surface, causing uneven forces and/or narrow pressure points on the robot.
General Recipe:
1) Find abstract regions for hand/feet placement
2) On a second pass, fill in the details for how/where feet and hands will move to those
areas.
Best References
- https://hal.laas.fr/hal-01859108/document
- https://www.youtube.com/watch?v=PqLZP8TANlg
- https://arxiv.org/abs/1907.08673