ArticlePDF Available

Abstract and Figures

Whole-body control (WBC) is a generic task-oriented control method for feedback control of loco-manipulation behaviors in humanoid robots. The combination of WBC and model-based walking controllers has been widely utilized in various humanoid robots. However, to date, the WBC method has not been employed for unsupported passive-ankle dynamic locomotion. As such, in this article, we devise a new WBC, dubbed the whole-body locomotion controller (WBLC), that can achieve experimental dynamic walking on unsupported passive-ankle biped robots. A key aspect of WBLC is the relaxation of contact constraints such that the control commands produce reduced jerk when switching foot contacts. To achieve robust dynamic locomotion, we conduct an in-depth analysis of uncertainty for our dynamic walking algorithm called the time-to-velocity-reversal (TVR) planner. The uncertainty study is fundamental as it allows us to improve the control algorithms and mechanical structure of our robot to fulfill the tolerated uncertainty. In addition, we conduct extensive experimentation for: (1) unsupported dynamic balancing (i.e., in-place stepping) with a six-degree-of-freedom biped, Mercury; (2) unsupported directional walking with Mercury; (3) walking over an irregular and slippery terrain with Mercury; and 4) in-place walking with our newly designed ten-DoF viscoelastic liquid-cooled biped, DRACO. Overall, the main contributions of this work are on: (a) achieving various modalities of unsupported dynamic locomotion of passive-ankle bipeds using a WBLC controller and a TVR planner; (b) conducting an uncertainty analysis to improve the mechanical structure and the controllers of Mercury; and (c) devising a whole-body control strategy that reduces movement jerk during walking.
Content may be subject to copyright.
The International Journal of
Robotics Research
ÓThe Author(s) 2020
Article reuse guidelines:
DOI: 10.1177/0278364920918014
Dynamic locomotion for passive-ankle
biped robots and humanoids using
whole-body locomotion control
Donghyun Kim
, Steven Jens Jorgensen
, Jaemin Lee
Junhyeok Ahn
, Jianwen Luo
and Luis Sentis
Whole-body control (WBC) is a generic task-oriented control method for feedback control of loco-manipulation behaviors
in humanoid robots. The combination of WBC and model-based walking controllers has been widely utilized in various
humanoid robots. However, to date, the WBC method has not been employed for unsupported passive-ankle dynamic loco-
motion. As such, in this article, we devise a new WBC, dubbed the whole-body locomotion controller (WBLC), that can
achieve experimental dynamic walking on unsupported passive-ankle biped robots. A key aspect of WBLC is the relaxa-
tion of contact constraints such that the control commands produce reduced jerk when switching foot contacts. To achieve
robust dynamic locomotion, we conduct an in-depth analysis of uncertainty for our dynamic walking algorithm called the
time-to-velocity-reversal (TVR) planner. The uncertainty study is fundamental as it allows us to improve the control algo-
rithms and mechanical structure of our robot to fulfill the tolerated uncertainty. In addition, we conduct extensive experi-
mentation for: (1) unsupported dynamic balancing (i.e., in-place stepping) with a six-degree-of-freedom biped, Mercury;
(2) unsupported directional walking with Mercury; (3) walking over an irregular and slippery terrain with Mercury; and
4) in-place walking with our newly designed ten-DoF viscoelastic liquid-cooled biped, DRACO. Overall, the main contri-
butions of this work are on: (a) achieving various modalities of unsupported dynamic locomotion of passive-ankle bipeds
using a WBLC controller and a TVR planner; (b) conducting an uncertainty analysis to improve the mechanical structure
and the controllers of Mercury; and (c) devising a whole-body control strategy that reduces movement jerk during
Legged robots, dynamic locomotion, humanoid robots
1. Introduction
Passive-ankle walking has some key differences with
respect to ankle actuated biped legged locomotion:
(1) bipeds with passive ankles have fewer degrees of free-
dom (DoFs) than ankle actuated legged robots resulting in
lower mechanical complexity and lighter lower legs; (2)
bipeds with passive ankles have tiny feet, which leads to a
small horizontal footprint of the robot. Our article targets
passive- and quasi-passive-ankle legged robots in lever-
aging the above characteristics. In addition, there is a dis-
connect between dynamic legged locomotion methods
(e.g., Hartley et al., 2017; Rezazadeh et al., 2015) and
humanoid control methods (e.g., Escande et al., 2014;
Koolen et al., 2016; Kuindersma et al., 2015), the latter
focusing on coordinating loco-manipulation behaviors.
Humanoid robots such as those used during the DARPA
robotics challenges (DRCs) have often employed task-
oriented inverse kinematics and inverse dynamics methods
coupled with control of the robots’ horizontal center of
mass (CoM) demonstrating versatility for whole-body
behaviors (Feng et al., 2015; Johnson et al., 2015;
Kohlbrecher et al., 2014; Radford et al., 2015a). However,
they have been practically slower and less robust to external
disturbances than bipeds employing dynamic locomotion
Massachusetts Institute of Technology, Cambridge, MA, USA
University of Texas at Austin, Austin, TX, USA
Robotics Lab, Stanford University, Palo Alto, CA, USA
Corresponding author:
Luis Sentis, University of Texas at Austin, 2617 Wichita Street, Austin,
TX 78712, USA.
methods, which do not rely on horizontal CoM control.
This article aims to explore and offer a solution to close the
gap between these two lines of controls, i.e., versatile task-
oriented controllers and dynamic locomotion controllers.
There is a family of walking control methods (Hubicki
et al., 2018; Raibert et al., 1984) that do not rely on explicit
control of the horizontal CoM movement enabling passive-
ankle walking and also fulfilling many of the benefits listed
above. These controllers use foot placements as a control
mechanism to stabilize the under-actuated horizontal CoM
dynamics. At no point do they attempt to directly control
the CoM instantaneous state. Instead, they calculate a con-
trol policy in which the foot location is a feedback weighted
sum of the sensed CoM state. Our dynamic locomotion
control policy falls into this category of controllers albeit
using a particular CoM feedback gain matrix based on the
concept of time-to-velocity-reversal (TVR) (Kim et al.,
2014). Another important dynamic locomotion control
strategy relies on the concept of hybrid zero dynamics
(HZD) (Westervelt et al., 2007). HZD considers an orbit for
dynamic locomotion and a feedback control policy that
warranties asymptotic stability to the orbit (Hartley et al.,
2017; Hereid et al., 2016).Although these two lines of
dynamic walking controls have had an enormous impact in
the legged locomotion field, they have not been extended
yet to full humanoid systems. In particular, humanoid sys-
tems employing task-based whole-body control strategies
require closing the gap with the above dynamic locomotion
methods. This is precisely the main objective of this article.
The main contribution of this article is to achieve unsup-
ported dynamic walking of passive-ankle and full huma-
noid robots using the whole-body control method. To do
so, we: (1) devise a new task-based whole-body locomo-
tion controller (WBLC) that fulfills maximum tracking
errors and significantly reduces contact jerks; (2) conduct
an uncertainty analysis to improve the robot mechanics and
controls; (3) integrate the whole-body control method with
our dynamic locomotion planner into two experimental
bipeds robots; and (4) experiment extensively with unsup-
ported dynamic walking such as throwing balls, pushing a
biped, or walking in irregular terrains.
One important improvement we have incorporated in
our control scheme is to switch from joint torque control to
joint position control. This low-level control change is due
to the lessons we have learned regarding the overall system
performance difference between low-level joint control ver-
sus torque control. Namely that joint position control used
in this article works better than a joint torque control (Kim
et al., 2016). In addition, our decision to use a low-level
joint-level control is supported by previous studies that tor-
que control reduces the ability to achieve a high-impedance
behavior (Calanca et al., 2016), which is needed for achiev-
ing dynamic biped locomotion with passive-ankle bipeds.
Indeed, switching to joint position control has been a strong
performance improvement to achieve the difficult experi-
mental results.
From the uncertainty analysis of our TVR dynamic loco-
motion planner, we found that to achieve stable locomotion
the robot requires higher position tracking accuracy than
initially expected. Our uncertainty analysis concludes that
the landing foot positions need to be controlled within a 1
cm error and the CoM state needs to be estimated within a
0.5 cm error. Both the robot’s posture control and the swing
foot control require high tracking accuracy. For this reason,
we remove the torque feedback in the low-level controller
and instead impose a feedforward current command to
compensate for whole-body inertial, Coriolis, and gravita-
tional effects. However, this is not enough to overcome fric-
tion and stiction of the joint drivetrain. To overcome this
issue, we introduce a motor position feedback controller
(Pratt et al., 2004).
Next, the low-level joint commands are computed by
our proposed WBLC. WBLC consists of two sequential
blocks: a kinematics-level whole-body control, hereafter
referred to as KinWBC, and a dynamics-level whole-body
controller (DynWBC). The first block, KinWBC, computes
joint position commands as a function of the desired opera-
tional task commands using feedback control over the
robot’s body posture and its foot position.
Given these joint position commands, DynWBC com-
putes feedforward torque commands while incorporating
gravity and Coriolis forces, as well as friction cone con-
straints at the contact points. One key characteristic of
DynWBC is the formulation of reduced jerk torque com-
mands to handle sudden contact changes. Indeed, in our
formulation, we avoid formulating contacts as hard con-
straints (Herzog et al., 2016; Saab et al., 2013; Wensing
and Orin, 2013) and instead include them as a cost func-
tion. We then use the cost weights associated with the con-
tacts to change behavior during contact transitions in a way
that it significantly reduces movement jerk. For instance,
when we apply heavy cost weights to the contact accelera-
tions, we effectively emulate the effect of contact con-
straints. During foot detachment, we continuously reduce
the contact cost weights. By doing so, we accomplish
smooth transitions as the contact conditions change. An
approach based on whole-body inverse dynamics has been
proposed for smooth task transitions (Salini et al., 2011),
but has not been proposed for contact transitions such as
ours, neither has it been implemented in experimental
The above WBLC and joint-level position feedback
controller can achieve high-fidelity real-time control of
bipeds and humanoid robots. For locomotion control, we
employ the TVR planner presented by Kim et al. (2016).
We use the TVR planner to update foot landing locations
at every step as a function of the CoM state. We do so by
planning in the middle of leg swing motions. By continu-
ously updating the foot landing locations, bipeds accom-
plish dynamic walking that is robust to control errors and
to external disturbances. The capability of our walking con-
troller is tested extensively in a passive-ankle biped robot
2The International Journal of Robotics Research 00(0)
and in a quasi-passive-ankle lower-body humanoid robot.
By relying on foot landing location commands, our control
scheme is generic to various types of bipeds and therefore,
we can accomplish similar walking capabilities across vari-
ous robots by simply switching the robot parameters. To
demonstrate the generality of our controller, we test not
only two experimental bipeds, but also a simulation of
other humanoid robots.
Indeed, experimental validation is a main contribution of
this article. The passive-ankle biped, Mercury, is used for
extensive testing of dynamic balancing, directional walking,
and rough terrain walking. We also deploy the same meth-
ods to our new biped, DRACO, and accomplish dynamic
walking within a few days after the robot had its joint posi-
tion controllers developed. Such timely deployment show-
cases the robustness and versatility of the proposed control
This article is organized as follows. Section 3 introduces
our robot hardware and its characteristic features. In
Section 4, we explain the control framework consisting of
the dynamic locomotion planner, WBLC, and the joint-
level position controller. Section 5 explains how the
measurement noise and landing location error affect the
stability of our dynamic locomotion controller, and ana-
lyzes the required accuracy for state estimation and swing
foot control to asymptotically stabilize bipeds. In Section
6, we address implementation details. Section 7 discusses
extensively experimental and simulation results. Finally,
Section 8 concludes and summarizes our works.
2. Related work
ATRIAS (Hartley et al., 2017; Rezazadeh et al., 2015) is
the closest example to our proposed work for this article. It
is one of the first passive-ankle biped robots that is able to
dynamically balance and walk unsupported. The key differ-
ence is that our framework focuses on methods applicable
to whole-body humanoid robot control applied to passive-
ankle bipeds. Both our proposed dynamic locomotion plan-
ner and WBLC are novel and unique. In particular, our
dynamic locomotion planner is based on the concept of
TVR and incorporate an uncertainty analysis that drive the
mechanical and control design of robots to improve their
performance. In addition, our WBLC evolves from a long
line of research on task-based whole-body humanoid robot
control from our group by incorporating tools to signifi-
cantly reduce contact-induced movement jerk.
There are several pioneering examples of dynamic biped
locomotion: ATLAS (Boston Dynamics, 2018) and
ASIMO (Honda, 2011). It is difficult to tell how much
these robots rely on ankle actuation and foot support
because of the lack of published work. It is also impossible
for us to tell what kind of dynamic locomotion planners
and whole-body control methods are implemented.
Passive walking robots (Collins et al., 2005; McGeer,
1990) also fall into the dynamic locomotion category.
These studies shed light on the important aspects of biped
locomotion, but do not provide direct application for feed-
back control related to our methods. On the other hand, the
progress made in actuated planar biped locomotion is
impressive. Raibert et al. (1989) and Sreenath et al. (2012)
presented biped robots running and their capability to
recover from disturbances on irregular terrains. However,
there is an obvious gap between supported (or constrained)
locomotion and unsupported walking. Raibert et al. (1984)
presented unsupported single-leg hopping, which is a
remarkable accomplishment. In addition to the strong con-
tribution in dynamic locomotion of that work, the study
omitted several important aspects of unsupported biped
locomotion such as body posture control, continuous inter-
action of the stance leg through the ground contact phases,
and disturbances from the other limbs’ motion, which are a
focus of our article.
3. Mercury experimental robot
The methods described in this article have been tested
extensively in two biped platforms. Most experiments are
performed in our biped robot, Mercury, which we describe
here. An additional experiment was performed on a new
biped, called DRACO, which is described in Ahn et al.
(2019). Mercury has six actuators that control the hip
abduction/adduction, flexion/extension, and knee flexion/
extension joints. Mercury uses series-elastic actuators
(SEAs), which incorporate a spring between the drivetrains
and the joint outputs. The springs protect the drivetrains
from external impacts and are used for estimating torque
outputs at the joints. In addition, Mercury went through
significant hardware upgrades from our previous robot,
Hume (Kim et al., 2016). In this section, we provide an
overview of our system and discuss the upgrade. We also
explain similarities and differences with respect to other
humanoid robots in terms of mass distribution.
3.1. Robot configuration
Figure 1 shows the sensing system and configuration of
Mercury. Mercury’s configuration starts from a set of vir-
tual joints fixed to ground, representing the floating base
dynamics of the robot. The end joint of the 6-DoF virtual
joint is attached to the physical base of Mercury. The orien-
tation of the virtual ball joint is represented by a quaternion
and its angular velocity is represented by the space so(3)
with respect to the local base frame. The actuated joints
start from the right hip abduction/adduction and goes down
to the hip flexion/extension, and knee flexion/extension
joints. Then, the joint labels continue on to the left leg start-
ing also at the hip joint. Three LED sensors are attached to
the front of robot’s body frame to estimate the robot’s linear
velocity and its global position via MoCap. In addition, we
also estimate the relative robot position using joint encoder
data with respect to the stance foot. This last sensing proce-
dure is partially used to control foot landing locations, and
Kim et al. 3
therefore, the reference frame changes every time the robot
switches contact.
Mercury’s SEA actuators were built in 2011 by Meka,
each having three encoders to measure joint position,
spring deflection, and motor position. An absolute position
encoder is used to measure the joint output position, qj,
while a low-noise quadrature encoder measures motor posi-
tion, u. Joint position and joint velocity sensing can be
done either using the absolute encoder or via applying a
transmission ratio transformation on the motor’s quadrature
encoder data (qm). In our experiment, we use the absolute
encoders to obtain joint positions and motor quadrature
encoders to obtain joint velocities. The transmission ratio
of all Mercury’s joints has a constant value except for the
abduction/adduction joints which are non-constant. The
constant ratio occurs for transmissions consisting of a
pulley mechanism with constant radius. On the other hand,
the hip abduction/adduction joints consist of a spring cage
directly connected to the joints, which results in a change
of the moment arm. To account for this change, we use a
look-up table mapping the moment arm length with respect
to the joint position.
3.2. Hardware Upgrades
The original biped, Hume, was mostly built in 2011 by
Meka as a custom robot for our laboratory. It had several
limitations that made dynamic locomotion difficult. It had
a low-performance inertial measurement unit (IMU), which
made it difficult to control the robot’s body orientation.
Hume’s legs were not strong enough causing buckling of
the structure when supporting the robot’s body mass.
Owing to this structural buckling, the estimated foot posi-
tions obtained from the joint encoders was off by 5 cm
from their actual positions. We estimated this error by com-
paring the joint encoder data with the MoCap system data.
Hume terminated its legs with cylindrical cups that would
make contact with the ground. These cups had a extremely
small contact surface with the ground. During walking,
Hume suffered from significant vertical rotation, i.e., yaw
rotation, owing to the minimal contact of its supporting
foot with the ground. All of these problems, i.e., structural
buckling, poor IMU sensor, and small contact surfaces,
prevented Hume from accomplishing stable walking.
Therefore, for the proposed work, we have significantly
upgraded the robot in all of these respects and changed its
name to Mercury.
To improve on state estimation, we upgraded the original
IMU, a Microstrain 3DM-GX3-25-OEM, to a tactical one,
a STIM-300 (Figure 2(a)). Both IMUs are microelectrome-
chanical system (MEMS)-based but the bias instability of
the tactical IMU is only 0.0087 rad/h. Such low-bias noise
allows us to estimate the robot’s body orientation by simply
integrating over the angular velocity from the initial orienta-
tion. Another problem we were facing with our original
biped is the aging electronics, originally built by Meka in
2011. For this reason, all control boards (Figure 2(d)) have
been replaced with new embedded electronics manufac-
tured by Apptronik. These new control boards are equipped
with, a powerful micro-controller, a TI Delfino, that per-
forms complex computations with low latency for signal
processing and control. The control boards are installed in a
special board case (Figure 2(b)) holding safely all cables
connected to the board. This wiring routing and housing
detail is important because Mercury hits the ground hard
when walking in rough terrains and performs experiments
by being hit by people and balls. It secures signal and
power cables to enable solid signal communications.
Third, we manufactured carbon shells (Figure 2(c)) to
reinforce the thigh linkages. We also redesigned the robot’s
shank to increase structural stiffness by including two car-
bon fiber cylinders as supporting linkages. In addition, we
designed new passive feet in the form of thin and short
prisms that are a few centimeters long. The feet pivot about
a pin fulcrum which connects in parallel to a spring
between the foot support and the pivoting ankle. A contact
switch is located on the front of the foot and engages when
the foot makes contact with the ground (see Figure 2(e) for
mechanical details). These contact switches are used to ter-
minate swing foot motion controls when the swing foot
touches the ground earlier than anticipated. The main pur-
pose of the line feet is to prevent yaw rotations of the entire
robot turning around the supporting foot. Previously, our
robot had quasi-pointed feet, which caused the robot’s
Fig. 1. Configuration of Mercury. To represent the floating base
dynamics, we connect virtual joints at the base of Mercury. The
virtual joints consist of three prismatic joints and a ball joint that
is expressed as a quaternion. Each leg has an actuated abduction/
adduction (q6,q9), hip flexion/extension (q7,q10), and knee
flexion/extension (q8,q11)joints. Lastly, three LED sensors are
attached on the front of the robot’s body to estimate the velocity
of its physical base.
4The International Journal of Robotics Research 00(0)
heading to turn due to any vertical moments. The mechani-
cal line contacts provided by the passive feet interact with
the ground contacts as a friction moment preventing exces-
sive body rotations.
3.3. Challenges in passive-ankle locomotion
To discuss the locomotion challenges presented by
Mercury, it is necessary to discuss the mass distribution of
Mercury against other bipeds (Figure 3). The robots’
inertia information used for this comparison is taken from
open-source robot models found in public repositories.See (Valkyrie), https:// (ATLAS), and
avinash/atrias-matlab (ATRIAS). Mercury was built using
linear SEAs to minimize actuator friction. It is known that
ball screws have less friction than other gears, such as har-
monic drives. The use of linear SEAs led to a leg design
based on a serial configuration, which results on a mass dis-
tribution with significant distal mass. Thus, Mercury’s mass
distribution is similar to anthropomorphic humanoids such
as Valkyrie (Radford et al., 2015a) or Atlas (Kuindersma
Fig. 2. Hardware upgrades of Mercury. (a) The IMU was upgraded to the Sensonor’s STIM-300, which has low angular velocity drift
and bias, enabling accurate orientation estimates even with simple forward integration. (b) The on-board electronics have been
installed with cases to secure the electric cables in place. Keeping the cables in place significantly reduces losses of connections and
cable damage during robot operations. (c) Carbon fiber cases were installed on Mercury’s thighs to increase structural stiffness. (d) All
of the embedded electronics were replaced with Apptronik’s Medulla and Axon boards that come with a variety of low-level
controllers for SEAs. (e) Spring-loaded passive ankles with limit switches were also added to limit the uncontrollable yaw body
rotation and detect ground contacts.
Fig. 3. Mass distribution of various biped robots. Note that the robots shown here are not scaled equally. They are shown to compare
the relative location of their CoM. The CoM locations are superimposed on the upper-body and leg links of each robot. The bar graph
depicts the ratio of the total leg mass over the upper body mass. Note that ATRIAS has a mass distribution different than typical
humanoids by having the torso CoM near the hip joint and a small leg-to-upper-body-mass ratio.
Kim et al. 5
et al., 2015). These robots have (1) a torso CoM located
around the center of its body, and (2) a ratio between the
total leg mass and the torso mass of about 40%. As such,
the effects due to the distal leg mass become non-negligible
during swing phases. On the other hand, ATRIAS (Hubicki
et al., 2018) has a mass distribution optimized to be a
mechanical realization of the inverted pendulum model,
which is designed to aid with the implementation of loco-
motion controllers. Unlike other humanoid robots,
ATRIAS’s torso CoM location is close to the hip joints and
the ratio between the total leg mass to the torso is negligi-
ble, which is less than 0.1.
Although Mercury and ATRIAS are similar in their lack
of ankle actuation and number of DoFs, the difference in
mass distributions creates difficulties on locomotion con-
trol. As ATRIAS has its torso CoM close to the hip joint
axis, the link inertia reflected to the hip joint is small, which
reduces the difficulty of controlling the robot body’s orien-
tation. In contrast, the CoM of Mercury and other huma-
noid robots mentioned above are located well above the hip
joint, which creates a larger moment arm and increases the
difficulty of body orientation control.
Next, because ATRIAS has negligible leg mass com-
pared with its body, body perturbations caused by the
swing leg are also negligible. However, Mercury, having
significant leg mass, causes noticeable body perturbations
during the swing phase. Thus, it becomes necessary for
Mercury to have a whole-body controller that can compen-
sate against Coriolis and gravitational forces introduced by
the swing leg to maintain desired body configurations, fol-
low inverted pendulum dynamics, and control the swing
foot to desired landing locations. Overall, in addition to
Mercury’s SEAs and lack of ankle actuation, its mass dis-
tribution makes it more diff icult to control.
4. Locomotion control architecture
Our proposed control architecture (Figure 4) consists of
three components: (1) a WBLC, which coordinates joint
commands based on desired operational space goal trajec-
tories, (2) a set of joint-level feedback controllers, which
execute the commanded joint trajectories; and (3) a
dynamic locomotion planner for passive-ankle bipeds
which generates the foot landing locations based on TVR
considerations. In this section, we describe the details of
these layers as well as their interaction.
4.1. WBLC
Many WBCs include a robot dynamic model to compute
joint torque/force commands to achieve desired operational
space trajectories. If we had ideal motors with perfect gears,
the computed torque commands of a WBC could be sent
out as open-loop motor currents. However, excluding some
special actuator designs (Wensing et al., 2017), it is non-
trivial to achieve the desired torque/force commands using
open-loop motor currents because most actuators have high
friction and stiction in their drivetrains. One established
way to overcome drivetrain friction is to employ torque/
force sensor feedback at the joint level. However, negative
torque/force feedback control is known to reduce the maxi-
mum achievable close-loop stiffness of joint controllers
(Calanca et al., 2016). In addition, torque/force feedback
controllers used in combination with position control are
known to be more sensitive to contact disturbance and time
delay. Therefore, we need a solution that addresses all of
these limitations.
Another consideration is related to the task space impe-
dance behavior that is needed to achieve dynamic walking.
Fig. 4. Diagram of the WBLC control scheme. Our WBLC controller has a cascaded structure with three feedback loops. Here bland
brare left and right foot contact signals, and xLED is the position of the sensed MoCap LED markers. (1) An inverse kinematics
controller computes joint positions and their first two derivatives based on desired operational space tasks. (2) An inverse dynamics
whole-body controller computes contact-consistent torque commands to handle robot dynamics subject to unilateral constraints.
(3) Low-level PD controllers on motor positions with feedforward currents from the computed torques are used to achieve the desired
joint conf igurations. A TVR footstep planner plans foot landing locations, one per step at the midpoint of swing leg trajectories. Note
that qmare joint positions computed from the motor positions via a transmission ratio and qjare joint positions measured by absolute
joint encoders.
6The International Journal of Robotics Research 00(0)
Our observation is that a high impedance behavior in task
space is preferred for dynamic walking because: (1) the
foot landing location must be fairly accurate to stabilize the
biped; (2) the swing leg must be able to overcome external
disturbances; and (3) the robot’s body posture needs to sup-
press oscillations caused by the effect of moving limbs or
other disturbances. High stiffness control of robots with
sizable mechanical imperfections is the only way to achieve
stable passive-ankle biped walking despite making them
less compliant with respect to the terrain.
To accomplish high gain position control, we have opted
to remove sensor-based torque feedback at the joint level
and replace it with motor position feedback control. Our
observation is that this change significantly reduces the
effect of the imperfect mechanics and achieves higher posi-
tion control bandwidth than using torque feedback. In addi-
tion to the joint position commands, the desired torque
commands computed via WBC are incorporated as feedfor-
ward motor current commands. Thus, to combine motor
position and feedforward motor current commands for
dynamic locomotion, we devise a new WBC formulation
that we call WBLC.
WBLC is sequentially implemented with two control
blocks. The first block is a kinematic-level WBC
(KinWBC) that computes joint position, velocity, and
acceleration commands. KinWBC does not rely on a dyna-
mical model of the robot, instead it relies only on a kine-
matics model to coordinate multiple prioritized operation
space tasks. The second block, called the dynamic-level
WBC (DynWBC), takes the joint commands from
KinWBC and computes the desired torque commands that
are consistent with the robot dynamics and the changing
contact constraints. The output of WBLC is therefore com-
posed of desired joint torque, position, and velocity com-
mands, which are sent out to the joint-level feedback
4.1.1. KinWBC. We first formulate a kinematic whole-
body controller to obtain joint commands given operational
space commands. The basic idea is to compute incremental
joint positions based on operational space position errors
and add them to the current joint positions. This is done
using null-space task prioritization as follows:
where Ji,xdes
i, and Dqiare the ith task Jacobian, a desired
position of the ith task, and the change of joint configura-
tion related to the ith task iteration. The fgydenotes an
singular value decomposition (SVD)-based pseudo-inverse
operator in which small singular values are set to 0. Note
that there is no feedback gain terms in this formulation,
which can be interpreted as gains being equal to unity. In
addition, the prioritized Jacobians take the form:
Jijpre =JiNi1ð4Þ
i1jpreJi1jpre ð6Þ
Then, the joint position commands can be found with
where Dqis joint increment computed in the ith task in (3).
In addition, the joint velocity and acceleration for every
task iteration can be computed as
ijpre _
xdes Ji_
xdes _
Finally, the joint commands, qd,_
qdare sent out to
the block, DynWBC. We note that qis the full configura-
tion of the robot containing both floating base and actuated
joints. The task breakdown and their priorities used in our
walking experiments are explained in Section 6.2.
4.1.2. DynWBC. Given joint position, velocity, and accel-
eration commands from the KinWBC, the DynWBC com-
putes torque commands while considering the robot
dynamic model and various constraints. The optimization
algorithm to compute torque commands in DynWBC is as
qcmd +d
qcmd =
tmin łtcmd łtmax ð18Þ
In Equation (12), Ucomputes normal and friction cone
forces as described by Bouyarmane et al. (2018), and Fr
represents contact reaction forces. Equation (13) introduces
the upper bounds on the normal reaction forces to facilitate
smooth contact transitions. As mentioned previously, this
upper bound is selected to decrease when the foot contacts
detach from the ground and increase again when the foot
Kim et al. 7
makes contact. Equation (14) is for the contact points’
acceleration and Jcis the Jacobian coinciding with the con-
tact points.
Equation (15) models the full-body dynamics of the
robot including the reaction forces. Here A,b, and gare
the generalized inertia, Coriolis, and gravitational forces,
respectively. The diagonal terms of the inertia matrix
include the rotor inertia of each actuator in addition to the
linkage inertia. The rotor inertia is an important inclusion
to achieve good performance. Equation (16) shows the
relaxation of the joint commands,
qcmd, by the term, d
We include this relaxation because of two reasons. First,
the KinWBC specifies virtual joint acceleration that cannot
be perfectly attained. Second, the torque limit on the above
optimization can prevent achieving the desired joint accel-
eration. Equation (17) shows how the KinWBC’s joint
commands are used to find desired acceleration commands.
Here, qd,_
qd, and
qdare the computed commands from
KinWBC. Equation (18) represents torque limits.
In turn, these computed torque commands are sent out
as feedforward motor current commands to the joint-level
controllers. One key difference with other QP formulations
for whole-body control is that we do not use the null space
operators of the contact constraints nor do we use a null
velocity or acceleration assumption to describe the surface
contacts of the robot with the ground. Instead, contact inter-
actions are addressed with contact acceleration terms in the
cost function regulated with weighting matrices that effec-
tively model the changes in the contact state. This new term
is particularly important because traditional modeling of
contacts as hard constraints causes torque command discon-
tinuities owing to sudden contact switches. As such, we call
our formulation reduced ‘‘jerk’’ whole-body control. We
note that our formulation is the first attempt that we know
of to use WBC for unsupported passive-ankle dynamic
locomotion in experimental bipeds. Contact changes in
passive-ankle biped locomotion are far more sudden than
changes on robots that control the horizontal CoM move-
ment. Our proposed formulation emerges from extensive
experimentation and comparison between QP-based WBC
formulations using hard contact constraints versus soft con-
straints as proposed. We report that the above formulation
has empirically shown to produce rapidly changing but
smooth torque commands than using WBCs with hard
To achieve smooth contact switching, the contact
Jacobian employed above includes both the robot’s feet
contacts even if one of them is not currently in contact. As
a result xcin Equations (11) and (14) contains the contact
coordinates of both the right and left feet, regardless of the
contact phase. As mentioned previously, we never set foot
contact accelerations to be zero even if they are in contact.
Instead, we penalize foot accelerations in the cost function
depending on whether they are in contact or not using the
weight Wc. When a foot is in contact, we increase the val-
ues of Wcfor the block corresponding to the contact.
Similarly, we reduce the values of the weights when the foot
is removed from the contact. At the same time, we increase
the weight Wrfor the swing foot and reduce the upper
bound of the reaction force Fmax
r,z. In essence, by smoothly
changing the upper bounds, Fmax
Wc, we practically achieve jerk-free walking motions. The
concrete description for the weights and bounds used in our
experiments are explained in Section 6.2.
4.2. Joint-level controller
Each actuated joint has an embedded control board that we
use to implement the motor position PD control with feed-
forward torque inputs:
tm=tcmd +kpqd
where tmand tcmd are the desired motor torque and com-
puted torque command, the latter is obtained from Equation
(15) in the optimization problem. Thus, tcmd acts as the
feedforward control input. Here _
jis the desired joint velo-
city computed from the KinWBC. It is obtained by apply-
ing the iterative algorithm in Equation (9). The term qd
mis a
desired motor position command and is computed using
the following formula,
where ksis the spring constant of each SEA joint. Here qd
is obtained via the iterative algorithm shown in Equations
(1)–(8). We incorporate this spring deflection consideration
because the computation of joint positions from motor posi-
tions, qm, considers only the transmission ratio, N, but the
spring deflection is ignored in the computation.
4.3. TVR planner
At every step, a TVR planner computes foot placements as
a function of the CoM state, i.e., its position and velocity.
This is done around the middle of the swing foot motion.
Our TVR planner operates with the principle of reversing
the CoM velocity every step and it can be shown that the
CoM movement is asymptotically stable. The original
method was presented in our previous paper (Kim et al.,
2016). In this article, we use a simplified version of TVR
which considers a constant CoM height. This consideration
has been beneficial on various experimental results across
multiple biped robotics platforms explored in this article.
In Appendix B, we explain the difference of our planner
and those proposed by Raibert et al. (1984), Koolen et al.
(2012), and Rezazadeh et al. (2015).
5. Uncertainty analysis of the planner
One of the biggest challenges in unsupported passive-ankle
dynamic locomotion is to determine what control accuracy
is needed to effectively stabilize a biped. Given that a
8The International Journal of Robotics Research 00(0)
passive-ankle biped robot cannot use ankle torques to con-
trol the robot’s CoM movement, foot position accuracy,
state estimation, and other related considerations become
much more important in achieving the desired dynamic
behavior. For instance, the CoM dynamics emerging from
passive-ankle behavior evolves exponentially with time,
pointing out the need to determine the tolerable foot posi-
tion and body estimation errors. In this section, we develop
the tools to explicitly quantify the required accuracy to
achieve asymptotically stable passive-ankle dynamic
As mentioned previously, our TVR locomotion planner
observes the CoM position and velocity states and com-
putes a foot landing location. For our analysis and experi-
mentation, we enforce a constant CoM height constraint.
Our reliance on linear inverted pendulum (LIP) model
enables a straightforward uncertainty analysis given noisy
CoM state observations and landing location errors under
kinematic constraints.
5.1. Formulation of the planner
Our TVR planner relies on the LIP model:
where gis the gravitational acceleration, his the constant
CoM height value, and pis the foot landing location which
acts as a stabilizing input for reversing the CoM dynamics
at every step. More concretely, the TVR planner aims to
reverse the CoM velocity after a set time duration t0by
computing a new stance foot location, p. Note that
Equation (21) is linear so it has an exact solution for the
CoM state, x(t). Thus, for a given p, the CoM state after a
desired swing time Tcan be described as a discrete system
where kcorresponds to the kth walking step of the robot:
A=cosh (vT)v1sinh (vT)
vsinh (vT) cosh (vT)
1cosh (vT)
vsinh (vT)
where v=ffiffiffiffiffiffiffi
p. The system above can be straightfor-
wardly obtained by applying known second-order linear
ordinary differential equation (ODE) techniques to
Equation (21). Next, let pkcorrespond to the foot location
of the kth step in a sequence of steps. Our TVR planner is
based on the objective of finding a pk, which reverse the
CoM velocity at every step. Letting the velocity component
(bottom row) of Equation (22) be zero after the desired
reversal time, t0\T, results into the quality,
0=vsinh (vt0) cosh (vt0)½xkvsinh (vt0)pkð25Þ
Solving for pkin the above equation will result in the foot
landing location policy that reverses CoM velocity after t0.
With the CoM velocity being reversed after every step, an
additional bias term, k, is added to steer the robot toward
the origin. Further details about kcan be found in Kim
et al. (2016). Solving for Equation (25) and including the
additional kterm, we obtain
pk=1v1coth (vt0)
Incorporating the above feedback policy into Equation
(22), we obtain the closed-loop dynamics,
K=(1+k)v1coth (vt0)
Note that the control policy in Equation (27) has a sim-
ple PD control form; therefore, applying standard linear
stability methods for PD control, the planner parameters,
(k,t0), can be tuned to achieve magnitudes such that the
closed-loop eigenvalues of A+BK are smaller than 1. In
our case, we chose eigenvalues with magnitude equal to
0.8. As our desired behavior is to take multiple small steps
toward a desired reference position rather than a single big
step, the eigenvalue magnitudes are intentionally set to be
close to one rather than zero. The resulting motion (simu-
lated numerically) in Figure 5(a), shows the asymptotically
converging trajectories in the phase plot.
5.2. Uncertainty analysis
During experimental walking tests, we observed notable
body position and landing location errors due to the
Fig. 5. Phase plot and uncertainty analysis. In (a), the phase
trajectories of eight steps from three initial states converging
toward the origin are shown. In (b), the region of uncertainty is
encircled by balls. States within the blue region and outside of
the ball radius are kinematically feasible and asymptotically
stable, respectively. The ball radius increases when the system
has large errors in state observation and control input.
Kim et al. 9
deflection of the mechanical linkages of the robot. We note
that in our attempt to make Mercury a lightweight robot,
we designed body and leg structures made of thin alumi-
num pieces and carbon fiber structures. In particular, the
lower and upper legs of Mercury are constructed using car-
bon fiber without further rigid support. In addition, the
abduction and flexion hip joints contain drivetrains made
out of thin aluminum with pin joints that deflect when a
contact occurs. Rather than focusing on the effect of these
existing mechanical deformations, we decided to focus on
the maximum errors that our dynamic locomotion control-
ler can tolerate. After we found the maximum tolerances,
we went back to the robot’s mechanical design and replaced
hip joints and the leg linkages to be significantly more
rigid in order to fulfill the maximum tolerances. Therefore,
our uncertainty analysis has been fundamental to drive the
new mechanical structure on the original biped hardware to
achieve the desired performance.
To quantify the acceptable errors for our TVR planner,
we perform here an analysis of stability borrowing ideas
from robust control (Bahnasawi et al., 1989). We apply
some assumptions to simplify our analysis: (1) the robot’s
step size is limited to 0.5 m based on an approximated leg
kinematic limits; and (2) state-dependent errors are ignored.
For our analysis, we model foot landing location errors
(presumably resulting from mechanical deflection and lim-
ited control bandwidth) with a scalar term, h. On the other
hand, we model CoM state estimation errors as a vector of
position and velocity errors, d. Based on these error vari-
ables, we extend the dynamics of Equation (22) to be
In order to provide design specifications to improve the
robot mechanics, controllers, and estimation processes, we
choose arbitrary bounds such that
Once again, we use the proposed uncertainty analysis to
determine the maximum tolerance bounds dMand hM, pro-
viding design specifications. As the velocity of the state
resulting from our TVR planner changes sign after every
step, typical convergence analysis regards this effect as an
oscillatory behavior despite the fact that the absolute value
of the CoM state, x, effectively decreases over time. To
remedy this, we perform a convergence analysis after two
steps instead of a single step. Therefore, given an initial
state, x, after two steps, the new state, x00, is obtained by
applying Equation (29) twice,
x00 =A2x+AB(p+h)+B(p0+h0)
ðÞ ð31Þ
where (),()0,and()00 represent the kth, (k+1)th, and
(k+2)th step, respectively. The main idea is to find the
region in xfor which a Lyapunov function decreases value
after two steps subject to the maximum errors, dMand hM:
DV=x00TPx00 x>Pxł0ð32Þ
Substituting Equation (31), arranging the terms, and setting
the upper bound DV, it can be shown that
ccPAcc P)x+2z>PAcc x+z>Pz
Ac=ABK ð34Þ
Acc =A2
ccPAcc P
ccPAcBK k+kA>
ccPBK k
ccPB k
Note that the upper bounds defined by a,b, and c
have a quadratic form that allows us to easily find a solu-
tion of the Euclidean norm of the CoM state. Here kk is
the l2-norm, lM()denotes the maximum eigenvalue of its
matrix arguments, and g(z>Pz)is the sum of the l2-norm
of every term in z>Pzsimilar to b. The definition of gis
deferred to Appendix C owing to the length of the expres-
sion. Note that ais positive if the planner parameters are
tuned such that the LIP behavior is stable. Solving for
akxk2+2bkxk+cł0, we obtain the uncertainty ball
The above ball defines the region of states for which we
cannot warranty asymptotic stability. Conversely, the region
of states outside of the ball, x62 Br, corresponds to asymp-
totically stable states. Note that a smaller ball means a
larger stability region, and if the errors hand dare zero, the
ball would have zero radius and any state would be asymp-
totically stable. However, because of mechanical deflection,
Tab l e 1 . Planner parameter. Each parameter has xand y
components. We use the same value for both directions.
½ kxky
10 The International Journal of Robotics Research 00(0)
limited control bandwidth, and estimation errors, band c
are non-zero.
By substituting the planner’s parameters from Table 1
into the above equation, we can quantify and analyze the
effect of the errors mentioned above. Figure 5(b) shows the
CoM phase space plot. Take Equation (26) and write it in
the simple form,
As we said, this equation corresponds to the foot landing
location control policy to stabilize a biped robot. We also
mention that the maximum step size for our robot,
Mercury, is 0:5m\p\0:5m. If we apply these kine-
matic limits to the above foot control policy, we obtain a
pair of lines in the phase plane which define the area of
feasible CoM states given foot kinematic limits. This area
is highlighted in light blue color in our phase plot. To be
clear, the light blue colored area defines the state for which
the robot can recover within a single walking step without
violating kinematic limits.
Next let us consider the uncertainty region defined by
Equation (40). Note that the terms band cdepend on the
uncertainty errors. For example, if we have a maximum
foot landing error of 0.045 m and a maximum state estima-
tion error of 0.03 m, then hM=0:045mand dM=0:03 m.
If we plug these values into Equations (38)–(40), we obtain
the orange ball shown in Figure 5(b). The inside of this ball
represents states for which we cannot warranty asymptotic
stability. The problem is that the orange uncertainty region
include states outside of the feasible CoM state, the light
blue region. This means that the actual CoM could have a
value for which the robot cannot recover because it requires
foot steps outside of the robot’s kinematic limits. As we
mentioned previously, our biped robot, Mercury, underwent
significant mechanical, control, and sensing improvements
to remedy this problem. The errors represented by the
orange ball are close to what we have observed in our
walking tests before we upgraded Mercury. After making
hardware and control improvement, we reduced the errors
to hM=0:01 mand dM=0:007 m.
In particular, to reduce dM, we employed a tactical IMU
(STIM-300) and MoCap data from a phase space motion
capture system providing a body velocity estimation resolu-
tion of 0.005 m/s and a body position accuracy of 0.005 m.
The blue ball in Figure 5(b) represents the new uncertainty
region given by this significant improvements. We can now
see that the blue ball is completely contained within the
light blue region. This means that although we do not know
where the CoM state is located inside the blue ball, we
know that whatever the state is, it is within the feasible
CoM state region, and, therefore, the foot control policy
will find stabilizing foot locations.
6. Implementation details
6.1. Walking control
For our purposes, a biped’s walking control process con-
sists of three phases: swing (or single stance), double
stance, and contact transition. In particular, the contact
transition ensures smooth transition from single to double
contact. Each phase starts and ends following predefined
temporal parameters as shown in Table 2. The swing phase
can, and it often does, terminate earlier than the specified
swing time because the biped might make contact with the
ground earlier than planned. We automatically terminate
the swing phase upon detecting contact to prevent sudden
jerks that can occur when pushing against the ground. The
ground contact is detected by the limit switches attached to
the spring-loaded passive ankles shown in Figure 2(e). The
locomotion phases are illustrated in Figure 6. At the middle
of the duration of each swing phase, our TVR planner
computes the immediate foot step location to achieve stable
locomotion based on the policy given by Equation (26).
This decision process works as follows. After breaking
contact with the ground, the swing foot first moves to a
predefined default location with respect to the stance foot.
Then, a new foot landing location is computed using the
TVR planner. Based on this computation, the swing trajec-
tory is re-adjusted to move to the computed foot landing
location completing the second half of the swing motion
until contact occurs.
Owing to the non-negligible body-to-leg-weight ratio,
when the swing motion occurs, it disturbs the robot’s body.
As the inertial coupling between the leg and body has a
strong negative effect on the robot’s ability to walk and bal-
ance, it is important to reduce these types of disturbances.
In particular, we mentioned earlier that the robot’s swing
leg first moves to a default location, and from there it com-
putes a new foot landing location to dynamically balance
[Left Leg]
[Right Leg]
Double support Transition
Double support
Fig. 6. State machine. Our biped walking motion is achieved via
sequential contact phase changes governed by the temporal
parameters shown in Table 2. The robot’s swing leg phase can be
terminated earlier than the predefined swing time if the contact is
detected before the end of the swing phase. In the middle of the
swing, the next foot placement is computed by the TVR planner.
Tab l e 2. Temporal parameter of walking
Double stance Transition Swing
0.01 s 0.03 s 0.33 s
Kim et al. 11
and walk. Therefore, we focus on reducing the jerky motion
that occurs from re-adjusting the foot trajectory at the mid-
dle of the swing motion. In our experiments, we first move
to the default swing location using a B-spline, and then
compute a minimum jerk trajectory to achieve the final
landing location. The inclusion of this minimum-jerk trajec-
tory is important as it significantly reduces the said distur-
bances between the swinging leg and the robot’s body
When the swing motion ends, the state machine switches
to the contact transition phase. Here the DynWBC control
block shown in Section 4.1.2 plays a key role to smoothly
transition the contact from single to double support without
introducing additional jerky movement. On the other hand,
when a contact occurs, triggering a switch from single to
double support, the KinWBC control block can generate a
discontinuity of the joint position command. To reduce this
additional jerk caused by KinWBC, the joint position com-
mand of the swing leg at the end of the swing phase is line-
arly interpolated with the command from KinWBC for the
transition phase. As the contact transition progresses, the
ratio between the final joint position command and the tran-
sition phase decreases which completes the transition. By
doing all of these improvements, we accomplish smooth
motions with reduced jerk for effective walking.
6.2. Task and weight setup of WBLC
The WBLC task breakdown and their priorities for each
phase are summarized in Table 3. A common task for every
control phase is the body posture task which keeps the
body’s height, roll, and pitch constant. As Mercury has
only six actuators, the robot cannot directly control its body
yaw rotation and horizontal movement most of the time.
Therefore, we only control three components (Rx,Ry,z)of
the six-dimensional body motions (Rx,Ry,Rz,x,y,z). Here
Rfg denotes rotations.
During the swing phase, we control the linear motion of
the foot in addition to the robot’s body posture. The swing
foot task is hierarchically ordered under the body posture
task to prevent the swing motion from influencing the body
posture control. However, this priority setup is not enough
to completely isolate the body posture control from the
swing motion control because the null space of the body
task does not remove the entire 6-DoF body motion. In our
case, the body posture control task only controls three of
the six dimensions of body motion, which means that the
other three components still reflect on the swing foot task
even after the foot task has been projected into the null-
space of the body posture task. To further decrease the cou-
pling between the body motion and the swing foot intended
motion, we set to zero all of the terms corresponding to the
floating base DoFs appearing in the foot task Jacobian. By
doing so, the three actuators in the stance leg are dedicated
only to body posture control while the other three actuators
in the swing leg are dedicated to control the swing foot
The values of the weights of the cost function in
Equation (11) in DynWBC are specified in Table 4. These
values are presented in vector form because all of the cost
matrices are diagonal. The matrix W
qis the weight matrix
for relaxing desired joint accelerations to adjust for par-
tially feasible acceleration commands. These weights are
set to relatively large values to penalize deviations from the
commanded joint accelerations. The same values are kept
for every phase.
The weights Wrand Wcchange as a function of the
walking control phase because the reaction forces and feet
movements are regulated by those weights. During the
double support phase, the weights related to the contact
point acceleration, Wc, are assigned a large value, 103.
Penalizing contact accelerations approximates contact con-
ditions without imposing hard constraints. In addition, dur-
ing double support, the weight matrix regulating reaction
forces, Wr, is assigned relatively small values to provide
sufficiently large forces to support the robot’s body. Note
that Wrpenalizes the tangential direction values more than
the normal direction values, which helps to fulfill the fric-
tion limits associated with the contact reaction forces.
The weights Wrand Wcchange value during the con-
tact transition phase. The right arrows in Table 4 indicate
that the weights transition smoothly from the left to the
right values. For instance, 1!5means that the value
applied to the weight is set to 1at the beginning of the
Tab l e 3. Task breakdown and priorities of KinWBC.
Priority Double stance Transition Swing
Tab l e 4. Weight Setup. The values of the weight matrices are described in vector form because we consider only diagonal weight
matrices. The components associated with reaction and contact weights are six dimensional, starting from the right foot’s x,y, and z
directions and then considering the left foot’s Cartesian components; therefore, Wrand Wchave six components.
Double support Transition (right) Swing (right)
q102×112 ×1102×112 ×1102×112 ×1
>1!5,1!5,0:01 !0:5,1,1,0:01½
12 The International Journal of Robotics Research 00(0)
transition phase, and we linearly increase it to 5by the end
of the phase. Let us take the example with the right foot
during the transition phase. At the beginning of the transi-
tion phase the weight values coincide with the values in the
previous phase, i.e., double support. At the end of the tran-
sition phase, when the right leg is about to leave the ground
and start the swing phase, the first three terms of Wr, coin-
ciding with the Cartesian components of the right foot
reaction force, are set to large values to penalize reaction
forces. At the same time, the three first terms of Wcare set
to tiny values to boost swing accelerations on the right
During this transition we perform an additional step. For
the constraint defined in Equation (13) of DynWBC, i.e.,
r,z, we linearly decrease the value of the upper
bound Fmax
r,zto drive the right foot normal force to zero
before the swing motion initiates. This linear decrease starts
with the value set during double support and ends with a
value equal to zero.
6.3. Base state estimation
As the true CoM state is subject to errors from the model
and disturbances from the swing leg motion, our current
implementation instead uses the robot’s base state, and
assumes that the CoM of the robot is approximately at this
location. The robot’s base is a concrete point on the torso
indicated by a black dot in Figure 1. The base point was
chosen by empirically comparing the CoM position and
base position to find the lowest discrepancies. Figure 7
shows velocity estimation values. As we can observe, the
difference between the CoM velocity (black dotted line)
and base velocity (blue solid line) is imperceivable. This
enables us to (1) decouple the computation of the CoM
state from the swing leg motion, and (2) perform a straight-
forward sensor-fusion process with a Kalman f ilter by com-
bining the sensed body positions from joint-encoders and
the overhead MoCap system.
As stated previously, Figure 7 compares the base velo-
city data obtained from different sensors. In Section 3, we
stated that there are two ways to measure joint data: one is
using the absolute encoders directly attached to the robot
joints, and another is using the quadrature encoders
attached to the back of the electric motors by multiplying
their value with the actuator’s transmission ratio. The green
lines and the blue lines on the above figures correspond to
the base velocities computed from data measured by abso-
lute encoders and quadrature encoders. The blue lines are
less noisy, but both green and blue data are not proper for
our walking planner because the velocity profile shows a
significant fluctuation, which makes the prediction of the
state challenging. However, the velocity data obtained from
the MoCap system, i.e., the red lines, shows a consistent
trend with the walking phases such that we decided to rely
on it. To deal with MoCap marker occlusions, we perform
sensor fusion between the MoCap and encoder data via
Kalman filtering and average filtering techniques. This data
is shown as a yellow line on the previous figure showing
that it is fairly similar to the red line.
For the estimation of the base positions in global frame
we use the MoCap system. As for estimating base positions
with respect to the stance foot we rely only on the robot’s
IMU and joint encoder data without using the MoCap sys-
tem. This last process is more robust than attaching LED
sensors to the feet because they incur frequent occlusions
and break often due to the repetitive impacts.
6.4. Kinematic model verification with
MoCap data
As we mentioned in the previous section, an accurate kine-
matic model is very important to compute stabilizing foot
landing locations via the TVR planner. Moreover, for real-
time WBLC, the model’s accuracy significantly influences
the landing location accuracy. To perfect our kinematic
model which was initially built using the parameters
obtained from CAD design, we utilize the MoCap system.
By manually comparing MoCap and kinematic data, we
tune effectively the model parameters such as orientation
and position of the joint axes and linkages to reduce uncer-
tainty. These mechanical structures can become slightly
tilted and displaced after long experimental sessions. The
parameters are adjusted by hand until the two sets of data
are sufficiently close.
For this calibration process, we first fix Mercury’s torso
on top of a table as shown in Figure 8(a). For this fixed pos-
ture, we let the robot swing one of its legs and simultane-
ously gather MoCap and kinematic data. The positions of
the LED sensors attached to the leg are post-processed to
Base vel (joint)
Base vel (motor)
CoM (motor)
MoCap vel
MoCap vel (filtered)
Fig. 7. Base and CoM velocity. The base and CoM velocity
from different measurements are plotted. The base velocities are
computed with joint velocity data measured by absolute encoders
or quadrature encoders. The base velocity estimated by absolute
encoders are too noisy and significantly fluctuates during the
swing phases. Even with quadrature encoders, the fluctuation
remains although the noisy level is lower than those estimated by
using absolute encoders. During experiments, we use the results
indicated by the yellow line, which corresponds to the filtered
velocity data obtained from the MoCap system.
Kim et al. 13
be described in the robot’s local frame, which is defined by
three LED sensors attached to the robot’s body (see Figure
1). The two different sets of data, one obtained from the
MoCap system and the other one obtained from the current
robot kinematic model are used to further tune the kine-
matic parameters. Figure 8(b) shows both the LED position
data measured by the MoCap system and the same position
data measured by the joint encoders using the tuned kine-
matic model. The result shows that the error of our final
kinematic model has less than a 5 mm error.
7. Results
We conducted extensive walking and stepping experiments
of various kinds using our passive-ankle biped robot,
Mercury. For all of these experiments, Mercury was unsup-
ported, that is, without overhead support. The experiments
show stable behavior during directional walking, push
recovery, and mildly irregular terrain walking. We also
deploy the same control and dynamic walking schemes to
our new lower-body humanoid robot, DRACO, and rapidly
accomplished dynamic balancing. Finally, we conducted
simulations using other humanoid robots to show the versa-
tility of our whole-body controller and walking algorithm.
A video showing experimental and simulation results is
provided as Extension 1.
7.1. Directional walking
Directional walking means achieving dynamic walking
toward a particular direction. To achieve this, we manipu-
late the origin of Mercury’s reference frame. In turn, our
TVR planner controls Mercury’s foot stepping to converge
to the reference frame, which for this test is a moving target.
In other words, we steer the robot in the four cardinal direc-
tions in this manner, see Figure 9(a). Figure 9(b) shows the
time trajectory of the desired robot’s path and the actual
robot’s location. The actual location is obtained using the
MoCap system based on the LED attached to the robot’s
base. These results show that Mercury follows the com-
manded path relatively well albeit slow convergence rates
in the lateral direction possibly due to the limited hip’s
abduction/adduction range.
Figure 9(c) shows commanded and sensed joint torque
data. The vertical black lines indicate the walking control
phases. As we can see, the torque commands smoothly tran-
sition despite contact changes. The knee torque commands
change between 0 and 40 Nm depending on the control
phase of the leg, but there is no discontinuity causing jerky
behavior of the desired torque commands despite the short
(0.06 s) transition periods.
The right and left knee joint position data is shown in
Figure 9(d). As mentioned in Section 4.2, the desired motor
position commands are adjusted to account for spring
deflections. The data shows that joint positions sensed with
the absolute encoders are close to the position commands
while the motor position data is off by the amount
corresponding to spring deflections. The spring deflection
compensation is notable when the knee joint supports the
body weight, i.e., the periods between 19.8–20.2 s for the
right knee and 19.4–19.8 s for the left knee.
7.2. Robustness of balance controller
To demonstrate the robustness of the proposed walking
control scheme, we conducted multiple instances of an
experiment involving external disturbances. The first test,
shown in Figure 10, analyzes Mercury recovering its bal-
ance after a junior football ball of weight 0.32 kg and hori-
zontal speed of about 9 m/s impacts its body. A second test,
shown in Figure 11, shows a person continuously pushing
Mercury’s body with gentle forces to see how the robot
reacts. Finally, the last experiment, shown in Figure 12,
shows Mercury walking in a mildly irregular terrain with-
out knowledge or sensing of the terrains topology. In the
three experiments, Mercury successfully recovers from the
For the ball impact experiment shown in Figure 10, we
show the phase plots of the lateral CoM direction. As
the ball hits the robot laterally, the analysis is done on the
ydirection. Lateral impact recovery is difficult because the
Fig. 8. Kinematic model calibration. (a) Mercury swings its leg
while its torso is fixed on a table. (b) To tune the kinematic
model parameters, we compare the LED position data obtained
from the MoCap system and the position data computed by the
kinematic model.
14 The International Journal of Robotics Research 00(0)
hip abduction/adduction joints have a very limited range of
motion, 6158. Owing to the very small width of the feet,
the landing location has to be very accurate as discussed
previously. Each phase plot in this figure, shows two
sequential steps, depicted in blue and red color lines. For
instance, for the 28th step, we differentiate the solid blue
line, which represents the sensed base trajectory for the
actual 28th step, from the solid red line, which represents
the trajectory for the next step, the 29th. Dotted blue and
red lines represent the predicted trajectory given the TVR
control policy and pendulum dynamics hypothesis. The
particular operating details of the TVR controller during
this impact experiment are described in the caption of
Figure 10. In essence, the ball hits the robot at the 28th
step, and at the 30th step, Mercury fully recovers its bal-
ance, going back to the normal regime at the 31st step.
Also from Figure 10, we analyze the foot landing accu-
racy. In the phase plots, the red star, the red circle, and the
blue cross represent the stance foot, commanded foot land-
ing location, and actual foot landing location, respectively.
Except during the recovery steps, 29th and 30th steps, the
foot landing location errors are less than 0.5 cm, as seen in
the 28th and 31st steps. This is significantly less error than
the maximum tolerable one as shown in the uncertainty
analysis of Figure 5. In analyzing extended experimental
data, the foot landing error is consistently less than 0.5 cm.
Our control and walking methods are robust to mild ter-
rain variations as shown in Figure 12. For this particular
experiment, we set kx, shown in Table 1, to a value of 0:25
to enable the robot to keep moving forward despite the ter-
rain variations. In addition, the robot’s feet sometimes get
stuck on the edge of the mats, which adds difficulty to the
locomotion process. However, the robot successfully tra-
verses the terrain.
7.3. Experimental evaluation on new biped robot
DRACO is our newest humanoid lower body, having 10
viscoelastic liquid-cooled actuators (Kim et al., 2018) on
Fig. 9. Directional walking of Mercury. (a) Mercury starts walking from the back and goes forward, left, right, and back again.
(b) The robot’s location from the base LED sensor is compared with the commanded walking trajectory. Mercury follows fairly well
the desired trajectory but shows limited convergence rate with respect to moving towards the lateral direction. (c) Joint torques change
smoothly despite quick contact transitions thanks to our WBLC method. (d) Knee joint position data shows that spring deflection
models are effective for reducing joint position tracking error.
Kim et al. 15
its hips and legs. Each limb has five actuators: hip yaw, roll,
pitch, knee pitch, and ankle pitch. The IMU is the same as in
Mercury, a STIM 300, and the MoCap LED sensor system is
configured similarly to Mercury. The robot has many interest-
ing features such as liquid cooling, tiny feet, quasi-passive
ankles, and elastomers in the actuator drivetrains. We do not
describe the hardware details of DRACO as they are being
prepared for submission for an upcoming paper.
To equate DRACO to Mercury in some respects, we
apply a soft joint stiffness policy to the ankle pitch
Fig. 10. Mercury recovers its balance after being disturbed by a lateral impact applied by throwing a junior American rubber football
ball, weighting 0.32 kg. In the 28th step, the ball hits Mercury on its side as depicted in the lateral change of the CoM state, i.e.,
ydirection. For this instance, when the lateral impact happens, the next foot landing location, in our case the left leg, has already been
planned and there is nothing else that can be done. Thus, Mercury finishes the lateral step without responding to the disturbance. For
the following step, step 29th, the CoM velocity is positive in the ydirection due to the lateral disturbance. This value on the CoM state
causes our TVR walking planner to trigger a recovery step using the right foot which is commanded to move inward towards the
stance foot. However, the amount it has to move would cause a collision with the stance leg, therefore our planner chooses to land
the right foot at the minimum lateral range of 10 cm from the stance leg. This choice, causes the robot to only partially recover from
the disturbance but failing to reverse velocity. As a result, for the next step, step 30th, Mercury’s TVR walking controller decides to
take a large step, 48 cm from the stance leg, which enables it to reverse velocity in the direction opposite to the impact. Finally,
Mercury goes back to its nominal balancing motion in step 31.
Fig. 11. Interaction with a human subject. Mercury maintains its balance despite the continuous pushing forces.
16 The International Journal of Robotics Research 00(0)
emulating a passive joint. For this first experiment, we set
the hip yaw joint to a fix position with a joint control task
implemented in WBLC. From a controller’s standpoint,
Mercury and DRACO are very similar for this experiment.
DRACO is forced to perform dynamic locomotion without
controlling ankles in similar ways than Mercury. For now,
we check for foot contacts on DRACO based on ankle joint
velocity measurements. As shown in Figure 13, DRACO
balances successfully unsupported, just like Mercury did.
For WBLC on DRACO, we generated the robot’s model
using the CAD files and slightly adjusted mass values from
gravity compensation tests. Except for feedback gains of
the joint position controllers, we use similar planner para-
meters to Mercury. Here t0is set to ½0:21,0:2and kis set
to ½0:08,0:13for the experiment. Testing on DRACO was
successfully accomplished, thus demonstrating that our
WBLC-TVR framework is easily transferable to multiple
robots, showing the generality of our methods.
7.4. Simulation results in assorted platforms
To show further applicability of the proposed control meth-
ods, we implement and test our WBLC and TVR
algorithms on assorted robotic platforms such as Mercury,
DRACO, Atlas, and Valkyrie. We implemented two types
of simulation scenarios: dynamic walking and locomanipu-
lation. Mercury, DRACO, and Atlas are utilized to imple-
ment dynamic walking motions. As mentioned in Section
6.2, for locomotion we define a foot task and a body pos-
ture task, XMercury =f
xbodyg, where
xfoot and
are specifications for the foot and body tasks. The height,
roll, and pitch of the body are controlled as constant values,
respectively. As DRACO includes hip joints on both left
and right side legs, we additionally formulate a hip config-
uration task for both hip joints of DRACO in addition to
Mercury’s tasks, XDRACO =XMercury [f
xhipg. The body
task of DRACO controls its body height, roll, pitch, and
yaw orientation. As shown in Figure 14(a) and (b), the
simulation results of Mercury and DRACO demonstrate
that both robot simulations are able to perform dynamic
walking without much algorithmic modifications. The
parameters of the planner are set to t0=½0:2,0:2and
Unlike the above two robots, Atlas and Valkyrie are
full-body humanoid robots and their ankle joints are actu-
ated so that we modify the task sets and constraints to test
Fig. 12. Forward walking over an irregular terrain. Mercury walks forward over an irregular terrain constructed with foam mats
arranged on top of each other. The robot’s feet sometimes slip over the mat segments because the latter do not stick tightly to each
other. Therefore, there are multiple disturbances. Our control and walking algorithms accomplish the necessary robustness to traverse
these type of terrain including height variations of 2.5 cm), foot slippage, and foot trippings.
(a) DracoBip balancing experiment (b) Left leg joint position (c) Right leg joint position
time (sec) time (sec)
Sensed JPos Desired JPos
Fig. 13. Balancing experiment of DRACO. Using the same WBLC and TVR algorithms from Mercury, DRACO was able to balance
unsupported within a few days.
Kim et al. 17
our algorithm using simulations. We modify the inequal-
ity constraint for the contact wrench cone to surface con-
tacts in (12). For these full-body humanoid robots, the
height of the pelvis, which corresponds to the floating
base, is constantly controlled in the same way as Mercury
and DRACO. We define the orientation tasks for the pel-
vis and torso. In addition, a task for controlling foot
orientation is introduced for stable contact on the feet.
Based on the defined tasks, the task set of Atlas is
designed to be XAtlas =f
xjpos represents a task for controlling the entire joint posi-
tions of the robot. As shown in the simulation, Atlas is
able to perform dynamic walking similarly to Mercury
and DRACO without modifying our algorithms as shown
in Figure 14(c).
We def ine additional tasks for controlling the left hand
and the head orientations to demonstrate locomanipuation
capabilities on Valkyrie, XValkyrie =XAtlas [f
The simulation result shows that our algorithm can accom-
plish the desired locomanipulation behavior as shown in
Figure 14(d). These four simulations show that our algo-
rithm is applicable to various biped humanoids.
8. Conclusions
We have demonstrated robust dynamic walking of various
biped robots, including one with no ankle actuation, using
a novel locomotion-control scheme consisting of two com-
ponents dubbed WBLC controller and TVR planner. The
algorithmic generality has been verified on hardware with
the bipeds Mercury and DRACO and in simulation with
other humanoids such as Valkryie and Atlas. We have per-
formed an uncertainty analysis of the TVR planner and
found maximum allowable errors for our state estimator
and controllers, which enabled us to significantly redesign
and rebuild the Mercury robot and tune the controllers and
estimators. By integrating a high-performance whole-body
feedback controller, WBLC, a robust locomotion planner,
TVR, and a reliable state estimator, our passive-ankle biped
robot and lower-body humanoid robot accomplish unsup-
ported dynamic locomotion robust to impact disturbances
and rough terrains.
In devising our control scheme, we have experimented
with a variety of whole-body control formulations and feed-
back controllers. We compared different WBC operational
task specifications such as foot position versus leg joint
Fig. 14. Simulations using four robotic platforms: Mercury, DRACO, Atlas, and Valkyrie. The foot task is present in all of the
simulations. DRACO contains an additional hip position task. Atlas and Valkyrie have additional tasks such as pelvis and torso
orientation, foot orientation, and arm joint configuration. Lastly, Valkyrie has an additional head orientation and left hand orientation
tasks. (a), (b), and (c) Simulation results for dynamic walking using Mercury, DRACO, and Atlas, respectively. (d) Locomanipulation
capabilities of our WBLC performed by Valkyrie.
18 The International Journal of Robotics Research 00(0)
position control, base versus CoM position control, having
versus not having task priorities, etc. In the low-level con-
troller we also experimented with torque feedback with dis-
turbance observers, joint versus motor position feedback,
and joint position control with and without feedforward tor-
ques. The methodology presented here is our best perform-
ing controller after system-level integration and exhaustive
With our new biped, DRACO, we have explored initial
dynamic locomotion. In the future, we will explore more
versatile locomotion behaviors such as turning and walking
in a cluttered environment. In the case of Mercury, we could
not change the robot’s heading because of the lack of yaw
directional actuation. With simple additions to the current
TVR planner, we will be able to test turning of DRACO
because the robot has hip yaw actuation. In addition, we
will conduct robustness tests in a more complex way by
exploring a cluttered environment involving contacts with
many objects including human crowds.
The authors would like to thank the members of the Human
Centered Robotics Laboratory at The University of Texas at
Austin and the members of Apptronik for their support.
The author(s) disclosed receipt of the following financial support
for the research, authorship, and/or publication of this article: This
work was supported by the Office of Naval Research (ONR grant
number N000141512507), NSF (grant number 1724360), and a
NASA Space Technology Research Fellowship (NSTRF) (grant
number NNX15AQ42H).
Donghyun Kim
Steven Jens Jorgensen
jianwen Luo
Luis Sentis
1. See (Valkyrie), https:// (ATLAS), and
avinash/atrias-matlab (ATRIAS).
Supplemental material
Supplemental material for this article is available online.
Ahn J, Kim D, Bang S, Paine N and Sentis L (2019) Control of a
high performance bipedal robot using viscoelastic liquid
cooled actuators. arXiv preprint arXiv:1906.03811
Bahnasawi AA, Al-Fuhaid AS and Mahmoud MS (1989) Linear
feedback approach to the stabilisation of uncertain discrete
systems. IEE Proceedings D Control Theory and Applications
136(1): 47.
Boston Dynamics (2018) Getting some air, Atlas? Available at: (accessed: 25 December 2018).
Bouyarmane K, Caron S, Escande A and Kheddar A (2018)
Multi-contact Motion Planning and Control. Dordrecht:
Springer Netherlands, pp. 1763–1804.
Calanca A, Muradore R and Fiorini P (2016) A review of algorithms
for compliant control of stiff and fixed-compliance robots. IEEE/
ASME Transactions on Mechatronics 21(2): 613–624.
Collins SH, Ruina A, Tedrake R and Wisse M (2005) Efficient
bipedal robots based on passive-dynamic walkers. Science
307(5712): 1082–1085.
Escande A, Mansard N and Wieber PB (2014) Hierarchical quad-
ratic programming: Fast online humanoid-robot motion gener-
ation. The International Journal of Robotics Research 33(7):
Feng S, Whitman E, Xinjilefu X and Atkeson CG (2015) Optimi-
zation-based full body control for the DARPA Robotics Chal-
lenge. Journal of Field Robotics 32(2): 293–312.
Hartley R, Da X and Grizzle JW (2017) Stabilization of 3D under-
actuated biped robots: Using posture adjustment and gait
libraries to reject velocity disturbances. In: 2017 IEEE Confer-
ence on Control Technology and Applications (CCTA. IEEE,
pp. 1262–1269.
Hereid A, Cousineau EA, Hubicki CM and Ames AD (2016) 3D
dynamic walking with underactuated humanoid robots: A
direct collocation framework for optimizing hybrid zero
dynamics. In: 2016 IEEE International Conference on
Robotics and Automation (ICRA), pp. 1447–1454.
Herzog A, Rotella N, Mason S, Grimminger F, Schaal S and
Righetti L (2016) Momentum control with hierarchical inverse
dynamics on a torque-controlled humanoid. Autonomous
Robots 40(3): 473–491.
Honda (2011) Honda’s all-new Asimo running, jumping. Avail-
able at: (accessed: 25 Decem-
ber 2018).
Hubicki C, Abate A, Clary P, et al. (2018) Walking and running
with passive compliance: Lessons from engineering a live
demonstration of the ATRIAS biped. IEEE Robotics Automa-
tion Magazine, in press. DOI: 10.1109/MRA.2017.2783922.
Johnson M, Shrewsbury B, Bertrand S, et al. (2015) Team IHMC’s
lessons learned from the DARPA Robotics Challenge Trials.
Journal of Field Robotics 32(2): 192–208.
Kim D, Ahn J, Campbell O, Paine N and Sentis L (2018) Investi-
gations of a robotic testbed with viscoelastic liquid cooled
actuators. IEEE/ASME Transactions on Mechatronics 23(6):
Kim D, Thomas G and Sentis L (2014) Continuous cyclic stepping
on 3D point-foot biped robots via constant time to velocity rever-
sal. In: 2014 13th International Conference on Control Automa-
tion Robotics & Vision (ICARCV). IEEE, pp. 1637–1643.
Kim D, Zhao Y, Thomas G, Fernandez BR and Sentis L (2016)
Stabilizing series-elastic point-foot bipeds using whole-body
operational space control. IEEE Transactions on Robotics
32(6): 1362–1379.
Kohlbrecher S, Romay A, Stumpf A, et al. (2014) Human–robot
teaming for rescue missions: Team ViGIR’s approach to the
2013 DARPA Robotics Challenge Trials. Journal of Field
Robotics 32(3): 352–377.
Kim et al. 19
Koolen T, Bertrand S, Thomas G, et al. (2016) Design of a
momentum-based control framework and application to the
humanoid robot Atlas. International Journal of Humanoid
Robotics 13(01): 1650007–35.
Koolen T, De Boer T, Rebula JR, Goswami A and Pratt JE (2012)
Capturability-based analysis and control of legged locomotion,
Part 1: Theory and application to three simple gait models. The
International Journal of Robotics Research 31(9): 1094–1113.
Kuindersma S, Deits R, Fallon M and Valenzuela A (2015) Opti-
mization-based locomotion planning, estimation, and control
design for the Atlas humanoid robot. Autonomous Robots
40(3): 429–455.
McGeer T (1990) Passive dynamic walking. The International
Journal of Robotics Research 9(2): 62–82.
Pratt GA, Willisson P, Bolton C and Hofman A (2004) Late motor
processing in low-impedance robots: Impedance control of
series-elastic actuators. In: Proceedings of the 2004 American
Control Conference, Vol. 4. IEEE, pp. 3245–3251.
Radford NA, Strawser P, Hambuchen K, et al. (2015 a) Valkyrie:
NASAs f irst bipedal humanoid robot. Journal of Field
Robotics 32(3): 397–419.
Raibert MH, Brown HB and Chepponis M (1984) Experiments in
balance with a 3D one-legged hopping machine. The Interna-
tional Journal of Robotics Research 3(2): 75–92.
Raibert MH, Brown HB Jr, Chepponis M, et al. (1989) Dynami-
cally stable legged locomotion. Technical Report AITR-1179,
MIT, Cambridge, MA. Available at:
dle/1721.1/6820 (accessed: 28 March 2020).
Rezazadeh S, Hubicki C, Jones M, et al. (2015) Spring-mass walk-
ing with ATRIAS in 3D: Robust gait control spanning zero to
4.3 kph on a heavily underactuated bipedal robot. In: ASME
2015 Dynamic Systems and Control Conference. Columbus,
OH: ASME, V001T04A003.
Saab L, Ramos OE, Keith F, Mansard N, Soueres P and Fourquet
JY (2013) Dynamic whole-body motion generation under rigid
contacts and other unilateral constraints. IEEE Transactions on
Robotics 29(2): 346–362.
Salini J, Padois V and Bidaud P (2011) Synthesis of complex
humanoid whole-body behavior: A focus on sequencing and
tasks transitions. In: 2011 IEEE International Conference on
Robotics and Automation (ICRA), pp. 1283–1290.
Sreenath K, Park HW and Grizzle JW (2012) Design and experi-
mental implementation of a compliant hybrid zero dynamics
controller with active force control for running on MABEL. In:
2012 IEEE International Conference on Robotics and Automa-
tion. IEEE, pp. 51–56.
Wensing PM and Orin D (2013) Generation of dynamic humanoid
behaviors through task-space control with conic optimization.
In: Proceedings of the International Conference on Robotics
and Automation (ICRA), pp. 3103–3109.
Wensing PM, Wang A, Seok S, Otten D, Lang J and Kim S
(2017) Proprioceptive actuator design in the MIT Cheetah:
Impact mitigation and high-bandwidth physical interaction for
dynamic legged robots. IEEE Transactions on Robotics 33(3):
Westervelt ER, Grizzle JW, Chevallereau C, Choi JH and Morris B
(2007) Feedback Control of Dynamic Bipedal Robot Locomo-
tion. Boca Raton, FL: CRC Press.
Appendix A. Index to multimedia extensions
Archives of IJRR multimedia extensions published prior to
2014 can be found at, after 2014 all
videos are available on the IJRR YouTube channel at http://
Appendix B. Difference among footstep
The footstep planners proposed by Raibert et al. (1984),
Koolen et al. (2012), Rezazadeh et al. (2015), and ours
share the idea that footsteps are chosen based on a weighted
sum of the CoM state, which is formulated by the general
where p,x,_
x,kp,andkdare foot landing positions, sensed
CoM position and velocity, and weights (or gains) for posi-
tion and velocity feedback, respectively. This equation can
be slightly varied by including desired position or velocity
terms, but the basic idea does not change because of these
Raibert et al. (1984) introduced long ago an unsupported
hopping robot and its control method. For hopping control,
the foot placement is decided by the equation,
ðÞ ð43Þ
where Tst is the duration of the stance phase. Since the
desired velocity, _
xd, is defined by the equation,
xin the paper, the resulting equation for
foot placement becomes
which has a similar form to Equation (42) with kp=KKp
and kv=K(Kv+1)+Tst=2.
Koolen et al. (2012) proposed a method called capture
point (CP), which computes the foot’s center of pressure
(CoP) to drive the CoM velocity to zero at the CoP location
given the current CoM state. Using the LIP model, CP is
defined by the equation,
Table of Multimedia Extensions
Extension Media type Description
1 Video Experimental and simulation results
from Section 7
20 The International Journal of Robotics Research 00(0)
cp =x+ffiffi
where gand hare the gravitational acceleration and the
CoM height, respectively. This can be expressed using the
form of Equation (42) by plugging 1 into kpand ffiffiffiffiffiffiffi
into kd. As we mentioned previously, given CoM state, a
robot will stop and stay on top of the capture point if the
robot maintains its CoP on the CP. Differently, our TVR
planner finds a foot placement location such that it reverses
the CoM velocity before the CoM reaches that location.
In Rezazadeh et al. (2015), the step location for in-place
walking is provided by the equation,
which has a slightly different form than the previous con-
trollers because of the term _
xn1representing the CoM
velocity at the previous step. However, for in-place walk-
ing, the effect of the velocity error between the current and
previous step is not very significant. Therefore, we can
regard the previous equation as one variation of Equation
(42). In the same vein, our TVR planner, as presented in
Equation (26), is also a variation of Equation (42), with
weights, kp=(1+k)and kd=w1coth (vt0).
In conclusion, various locomotion planners can be cast
using variations of Equation (42). The resulting behaviors
vary depending on the chosen weights, e.g., CP makes a
robot stop while ours makes the robot reverse its direction
of motion. The benefit of our TVR planner over the others
is that we provide an intuitive method and analysis to help
with feedback gain selection. Our planner parameter t0must
be close to half of the designated swing time and additional
tuning for asymptotic stability is possible by checking the
eigenvalues of the matrix, A+BK in Equation (27).
Appendix C. Definition of g(z>Pz)
We hav e
D=k(AcBK)>PAcBK k+2k(AcBK)>PBK k
+k(BK)>PBK kð48Þ
E=k(AcBK)>PAcBk+k(AcBK)>PB k
+k(AcB)>PBK k+kB>PBK kð49Þ
F=k(AcB)>PAcBk+2kB>PAcBk+kB>PB k
Kim et al. 21
... In dynamic legged locomotion, the size of valid stepping region is crucial as it determines the maximum CoM velocity that can be safely regulated [1]. Previous work on dynamic legged locomotion conservatively restricted the stepping region in the lateral direction so that the robot's legs do not cross one another in order to mitigate the risk of self-collision [2]- [4]. However, this restriction prevents the robots from taking aggressive but stabilizing steps, thus reducing their balance stability and robustness to external disturbances. ...
... Researchers have successfully demonstrated dynamic biped locomotion with passive ankle, line-foot contact, robots [2], [19], [20]. The line-foot contact on these robots constrains the yaw directional motion, which makes the balance control problem relatively easier than point-foot bipeds, whose underactuation is unforgiving. ...
... In the subsequent stage of RMPflow, starting at the RMP tree leaves, the pullback operator is recursively applied using (2) to obtain the combined inertia metric and virtual force of the parent RMPs and eventually that of the C-space RMP. B. Review of null-space projection based task prioritization ...
Full-text available
In this paper, we present a novel Riemannian Motion Policy (RMP)flow-based whole-body control framework for improved dynamic legged locomotion. RMPflow is a differential geometry-inspired algorithm for fusing multiple task-space policies (RMPs) into a configuration space policy in a geometrically consistent manner. RMP-based approaches are especially suited for designing simultaneous tracking and collision avoidance behaviors and have been successfully deployed on serial manipulators. However, one caveat of RMPflow is that it is designed with fully actuated systems in mind. In this work, we, for the first time, extend it to the domain of dynamic-legged systems, which have unforgiving under-actuation and limited control input. Thorough push recovery experiments are conducted in simulation to validate the overall framework. We show that expanding the valid stepping region with an RMP-based collision-avoidance swing leg controller improves balance robustness against external disturbances by up to $53\%$ compared to a baseline approach using a restricted stepping region. Furthermore, a point-foot biped robot is purpose-built for experimental studies of dynamic biped locomotion. A preliminary unassisted in-place stepping experiment is conducted to show the viability of the control framework and hardware.
... A multilevel hierarchical control structure can be established via torque-based whole-body control, which allows humanoid robots to interact with the environment Sentis et al. (2010) compliantly. Optimization-based approaches have been popular for its ability to incorporate inequality constraints addressed within full-body dynamics Escande et al. (2014);Feng et al. (2015); Kim et al. (2020). Task hierarchy can be formulated as hierarchical least-square quadratic problems Escande et al. (2014); Bellicoso et al. (2016), but also can be considered via weighted cost terms in a single quadratic program Feng et al. (2015); Wiedebach et al. (2016). ...
... Whole-body locomotion controller (WBLC) leveraged a projection-based approach to consider equality task hierarchy and a QP formulation to find the command satisfying inequality constraints and full-body dynamics Kim et al. (2020). WBLC has successfully demonstrated dynamic locomotion of passive ankled robots. ...
... Figure 1 shows an overview of the proposed control architecture. This framework is developed based on a whole-body locomotion controller (WBLC) Kim et al. (2020), which takes prioritized tasks as an input and outputs torque command with desired joint position and velocity commands at the instant time horizon. Usually, tasks prioritized in the following order are widely used in a legged robot: 1) maintaining rigid contact, 2) tracking CoM (centroidal) trajectory, 3) tracking swing foot trajectory, and 4) staying close to the initial configuration. ...
Full-text available
Firm foot contact is the top priority of climbing robots to avoid catastrophic events, especially when working at height. This study proposes a robust planning and control framework for climbing robots that provides robustness to slippage in unknown environments. The framework includes 1) a center of mass (CoM) trajectory optimization under the estimated contact condition, 2) Kalman filter–like approach for uncertain environment parameter estimation and subsequent CoM trajectory re-planing, and 3) an online weight adaptation approach for whole-body control (WBC) framework that can adjust the ground reaction force (GRF) distribution in real time. Though the friction and adhesion characteristics are often assumed to be known, the presence of several factors that lead to a reduction in adhesion may cause critical problems for climbing robots. To address this issue safely and effectively, this study suggests estimating unknown contact parameters in real time and using the evaluated contact information to optimize climbing motion. Since slippage is a crucial behavior and requires instant recovery, the computation time for motion re-planning is also critical. The proposed CoM trajectory optimization algorithm achieved state-of-art fast computation via trajectory parameterization with several reasonable assumptions and linear algebra tricks. Last, an online weight adaptation approach is presented in the study to stabilize slippery motions within the WBC framework. This can help a robot to manage the slippage at the very last control step by redistributing the desired GRF. In order to verify the effectiveness of our method, we have tested our algorithm and provided benchmarks in simulation using a magnetic-legged climbing robot Manegto.
... Various types of legged systems have been developed with the ability to traverse extreme terrains to increase the versatility of autonomous robots. Model-based approaches have been extensively used for controlling these robots [1], [2], [3], [4]. However, such strategies often fail due to complex and unpredictable effects generated from dynamic contacts and other environmental interactions. ...
... We have generated a set of trajectories of climbing robots in a DART simulation environment [31] using a whole body controller (WBC) [1], [2] for training and validation of the model. Climbing motions can be created by sequencing step motions where the reference swing foot trajectory is a Hermite spline derived from swing period, swing height and p goal . ...
Model generalization of the underlying dynamics is critical for achieving data efficiency when learning for robot control. This paper proposes a novel approach for learning dynamics leveraging the symmetry in the underlying robotic system, which allows for robust extrapolation from fewer samples. Existing frameworks that represent all data in vector space fail to consider the structured information of the robot, such as leg symmetry, rotational symmetry, and physics invariance. As a result, these schemes require vast amounts of training data to learn the system's redundant elements because they are learned independently. Instead, we propose considering the geometric prior by representing the system in symmetrical object groups and designing neural network architecture to assess invariance and equivariance between the objects. Finally, we demonstrate the effectiveness of our approach by comparing the generalization to unseen data of the proposed model and the existing models. We also implement a controller of a climbing robot based on learned inverse dynamics models. The results show that our method generates accurate control inputs that help the robot reach the desired state while requiring less training data than existing methods.
... We develop the WBC strategy to work with our bipedal force-and-moment-based MPC. WBC in [18] employed on bipedal robots [19], [20] validated the feasibility of a WBC-type control strategy in dynamic locomotion with periodic gaits. In our approach, We combine Kinodynamics trajectory optimization with adaptive-frequency MPC framework for bipedal robot traversing stepping stones and use WBC as low-level force-to-torque mapping and trajectory tracking control. ...
... We adapt the WBC to work with force-and-moment-based MPC control input and allow bipedal walking gait with varied gait periods. The WBCs used in [16] and [18] are paired with a high-frequency joint PD controller to track desired joint position and velocity in addition to computing joint torques based on prioritized tasks. Both CoM and swing foot position control are parts of the WBC tasks. ...
Full-text available
This paper presents a novel Adaptive-frequency MPC framework for bipedal locomotion over terrain with uneven stepping stones. In detail, we intend to achieve adaptive foot placement and gait period for bipedal periodic walking gait with this MPC, in order to traverse terrain with discontinuities without slowing down. We pair this adaptive-frequency MPC with a kino-dynamics trajectory optimization for optimal gait periods, center of mass (CoM) trajectory, and foot placements. We use whole-body control (WBC) along with adaptive-frequency MPC to track the optimal trajectories from the offline optimization. In numerical validations, our adaptive-frequency MPC framework with optimization has shown advantages over fixed-frequency MPC. The proposed framework can control the bipedal robot to traverse through uneven stepping stone terrains with perturbed stone heights, widths, and surface shapes while maintaining an average speed of 1.5 m/s.
... Although wheeled robots have been used in various engineering applications due to easy and simple steering operation, they face challenges on rugged and uneven terrains [1]. Legged terrestrial mobile robots are more versatile in the locomotory performance, and recently various bioinspired legged robots from animals and insects have been studied and developed in the form of two-legged (bipedal) [2,3], four-legged (quadrupedal) [4,5], sixlegged (hexapedal) [6,7], and eight-legged (octopedal) [8,9] robots. It has been investigated that more legs on a robot yield superior stability to less legs on a robot during locomotion. ...
Full-text available
Hybrid soft leg systems have been studied for advanced gaits of soft robots. However, it is challenging to analyze and control hybrid soft legs due to their nonlinearity. In this study, we adopted dynamic pole motion (DPM) to analyze stability of a nonlinear hybrid soft leg system with dynamic Routh’s stability criterion and to design a proper controller for the nonlinear system with an error-based adaptive controller (E-BAC). A typical hybrid soft leg system was taken as an example, as such a system can easily become unstable and needs a controller to get the system back to a stable state. Specifically, E-BAC was designed to control the unstable hybrid soft leg fast with a minimal overshoot. As a nonlinear controller, the implanted E-BAC in a feedback control system includes two dominant dynamic parameters: the dynamic position feedback Kpe,t and the dynamic velocity feedback Kve,t. These parameters were properly selected, and the feedback was continuously varying as a function of system error et, exhibiting an adaptive control behavior. The simulation shows that this approach for constructing an adaptive controller can yield a very fast response with no overshoot.
... Harnessing the intelligence and sensorimotor skills of humans and transferring them to humanoid robots is an idea that demands exploration. Despite remarkable progress in humanoid robot planning and control [1]- [4], the reality is that autonomous humanoid robots still cannot match human capabilities to accomplish dynamic and complex whole-body locomotion and manipulation tasks. For example, during the COVID-19 pandemic transferring a disabled at-risk patient out of bed into a wheelchair requires precise whole-body manipulation while carefully regulating locomotion. ...
Full-text available
For humanoids to be deployed in demanding situations, such as search and rescue, highly intelligent decision making and proficient sensorimotor skill is expected. A promising solution is to leverage human prowess by interconnecting robot and human via teleoperation. Towards creating seamless operation, this paper presents a dynamic telelocomotion framework that synchronizes the gait of a human pilot with the walking of a bipedal robot. First, we introduce a method to generate a virtual human walking model from the stepping behavior of a human pilot which serves as a reference for the robot to walk. Second, the dynamics of the walking reference and robot walking are synchronized by applying forces to the human pilot and the robot to achieve dynamic similarity between the two systems. This enables the human pilot to continuously perceive and cancel any asynchrony between the walking reference and robot. A consistent step placement strategy for the robot is derived to maintain dynamic similarity through step transitions. Using our human-machine-interface, we demonstrate that the human pilot can achieve stable and synchronous teleoperation of a simulated robot through stepping-in-place, walking, and disturbance rejection experiments. This work provides a fundamental step towards transferring human intelligence and reflexes to humanoid robots.
... The current legged robots are mostly designed with the biomimetics articulated joints [6,7], which mainly focus on the highly dynamic locomotion, such as jumping, running, and back-flipping. The available reports show that the payload capacity (the ratio between the payload and the robot's self-weight) is usually less than 1:1 at a normal walking speed. ...
Recent advancement in quadrupedal robustness and agility has shown the exciting progress towards the early adoption, yet there remains a challenge to enhance the payload capacity for the dynamic locomotion with electrically actuated legged robots. This study presents Kirin, a quadruped robot with prismatic leg driven by quasi-direct drives (QDDs) for the high-payload capacity during the dynamic locomotion. Instead of the typical leg mechanisms using articulated joints, QDDs are integrated with the belt-driven linear mechanism to achieve the prismatic leg movement. The resultant design achieves an exceptional payload against the robot’s weight. The normalized work capacity (NWC) is compared to the existing quadruped robots with well-known designs. The trotting locomotion and the payload adaptive control are further investigated to enable the dynamic locomotion while carrying high payload. Experiment results show that our prismatic QDD legs can effectively balance the high payload carrying and the dynamic locomotion.
This paper introduces a quadratic programming-based stable motion control method for humanoid robots. This method is based on the virtual model and the optimal force distribution. We added a six-dimensional mixed constraint on the sole of the foot to prevent the robot from sliding and overturning. At the same time, a more comprehensive swing planning and pre-touchdown planning were added when the robot's legs were swinging to improve the stability of the robot's walking on the ground. Finally we verified the algorithm in the robot simulation software and proved the feasibility of the algorithm.
Foot performance plays an important role in the walking-style robot walking in complex ground. This paper proposes a new foot structure based on the mast-type octahedral tensegrity structure with the flexibility, self-stability and self-adaptability. First, the mast-type octahedral tensegrity structure is evolved, and the feasibility of the motion is verified by dynamic analysis, and the degrees of freedom of the structure are limited by adding cross-axis. Next, by adding a locking structure based on a ratchet structure, and it avoided the structural instability caused by excessive deformation of the tensegrity foot structure. Finally, the design of the new foot structure was completed and a physical prototype was fabricated to verify the function of the new foot structure through relevant experiments. The high symmetry of the mast-type octahedral tensegrity structure simplifies the stiffness matching of the elastic members of the tension foot mechanism. The locking structure based on the ratchet structure is used to realize the switching of the flexible adaptation function and the rigid support function of the tensegrity foot structure, thus avoiding the structural instability caused by excessive deformation of the tensegrity foot structure.
Full-text available
We design, build, and empirically test a robotic leg prototype using a new type of high performance device dubbed a viscoelastic liquid cooled actuator (VLCA). VLCAs excel in the following five critical axes of performance, which are essential for dynamic locomotion of legged systems: energy efficiency, torque density, mechanical robustness, position and force controllability. We first study the design objectives and choices of the VLCA to enhance the performance on the needed criteria. We follow by an investigation on viscoelastic materials in terms of their damping, viscous and hysteresis properties as well as parameters related to the long-term performance. As part of the actuator design, we configure a disturbance observer to provide high-fidelity force control to enable a wide range of impedance control capabilities. After designing the VLCA, we proceed to design a robotic system capable to lift payloads of 32.5 kg, which is three times larger than its own weight. In addition, we experiment with Cartesian trajectory control up to 2 Hz with a vertical range of motion of 32 cm while carrying a payload of 10 kg. Finally, we perform experiments on impedance control by studying the response of the leg testbed to hammering impacts and external force interactions.
Conference Paper
Full-text available
We present a reduced-order approach for dynamic and efficient bipedal control, culminating in 3D balancing and walking with ATRIAS, a heavily underactuated bipedal robot. These results are a development toward solving a number of enduring challenges in bipedal locomotion: achieving robust 3D gaits at various speeds and transitioning between them, all while minimally draining on-board energy supplies. Our reduced-order control methodology works by extracting and exploiting general dynamical behaviors from the spring-mass model of bipedal walking. When implemented on a robot with spring-mass passive dynamics, e.g. ATRIAS, this controller is sufficiently robust to balance while subjected to pushes, kicks, and successive dodge-ball strikes. The controller further allowed smooth transitions between stepping in place and walking at a variety of speeds (up to 1.2 m/s). The resulting gait dynamics also match qualitatively to the reduced-order model, and additionally, measurements of human walking. We argue that the presented locomotion performance is compelling evidence of the effectiveness of the presented approach; both the control concepts and the practice of building robots with passive dynamics to accommodate them. Copyright © 2015 by ASME Country-Specific Mortality and Growth Failure in Infancy and Yound Children and Association With Material Stature Use interactive graphics and maps to view and sort country-specific infant and early dhildhood mortality and growth failure data and their association with maternal
Full-text available
Designing an actuator system for highly dynamic legged robots has been one of the grand challenges in robotics research. Conventional actuators for manufacturing applications have difficulty satisfying design requirements for high-speed locomotion, such as the need for high torque density and the ability to manage dynamic physical interactions. To address this challenge, this paper suggests a proprioceptive actuation paradigm that enables highly dynamic performance in legged machines. Proprioceptive actuation uses collocated force control at the joints to effectively control contact interactions at the feet under dynamic conditions. Modal analysis of a reduced leg model and dimensional analysis of DC motors address the main principles for implementation of this paradigm. In the realm of legged machines, this paradigm provides a unique combination of high torque density, high-bandwidth force control, and the ability to mitigate impacts through backdrivability. We introduce a new metric named the “impact mitigation factor” (IMF) to quantify backdrivability at impact, which enables design comparison across a wide class of robots. The MIT Cheetah leg is presented, and is shown to have an IMF that is comparable to other quadrupeds with series springs to handle impact. The design enables the Cheetah to control contact forces during dynamic bounding, with contact times down to 85 ms and peak forces over 450 N. The unique capabilities of the MIT Cheetah, achieving impact-robust force-controlled operation in high-speed three-dimensional running and jumping, suggest wider implementation of this holistic actuation approach.
Full-text available
Whole-body operational space controllers (WBOSCs) are versatile and well suited for simultaneously controlling motion and force behaviors, which can enable sophisticated modes of locomotion and balance. In this paper, we formulate a WBOSC for point-foot bipeds with series-elastic actuators (SEA) and experiment with it using a teen-size SEA biped robot. Our main contributions are on devising a WBOSC strategy for point-foot bipedal robots, 2) formulating planning algorithms for achieving unsupported dynamic balancing on our point-foot biped robot and testing them using a WBOSC, and 3) formulating force feedback control of the internal forces—corresponding to the subset of contact forces that do not generate robot motions—to regulate contact interactions with the complex environment. We experimentally validate the efficacy of our new whole-body control and planning strategies via balancing over a disjointed terrain and attaining dynamic balance through continuous stepping without a mechanical support.
Bipedal locomotion is among the most difficult challenges in control engineering. Most books treat the subject from a quasi-static perspective, overlooking the hybrid nature of bipedal mechanics. Feedback Control of Dynamic Bipedal Robot Locomotion is the first book to present a comprehensive and mathematically sound treatment of feedback design for achieving stable, agile, and efficient locomotion in bipedal robots. In this unique and groundbreaking treatise, expert authors lead you systematically through every step of the process, including: • Mathematical modeling of walking and running gaits in planar robots • Analysis of periodic orbits in hybrid systems • Design and analysis of feedback systems for achieving stable periodic motions • Algorithms for synthesizing feedback controllers • Detailed simulation examples • Experimental implementations on two bipedal test beds. The elegance of the authors' approach is evident in the marriage of control theory and mechanics, uniting control-based presentation and mathematical custom with a mechanics-based approach to the problem and computational rendering. Concrete examples and numerous illustrations complement and clarify the mathematical discussion. A supporting Web site offers links to videos of several experiments along with MATLAB® code for several of the models. This one-of-a-kind book builds a solid understanding of the theoretical and practical aspects of truly dynamic locomotion in planar bipedal robots.
Biological bipeds have long been thought to take advantage of compliance and passive dynamics to walk and run, but realizing robotic locomotion in this fashion has been difficult in practice. Assume The Robot Is A Sphere (ATRIAS) is a bipedal robot designed to take advantage of the inherent stabilizing effects that emerge as a result of tuned mechanical compliance (Table 1). In this article, we describe the mechanics of the biped and how our controller exploits the interplay between passive dynamics and actuation to achieve robust locomotion. We outline our development process for the incremental design and testing of our controllers through rapid iteration.