Online Planning for Autonomous Running Jumps Over
Obstacles in High-Speed Quadrupeds
The MIT Faculty has made this article openly available. Please share
how this access benefits you. Your story matters.
Citation
As Published
Publisher
Version
Accessed
Citable Link
Terms of Use
Detailed Terms
Park, Hae-Won, Patrick M. Wensing, and Sangbae Kim. "Online
Planning for Autonomous Running Jumps Over Obstacles in
High-Speed Quadrupeds." 2015 Robotics: Science and Systems
Conference (July 13-17, 2015), Sapienza University of Rome,
pp.1-9.
http://www.roboticsproceedings.org/rss11/p47.pdf
Author's final manuscript
Sun Mar 03 06:01:24 EST 2019
http://hdl.handle.net/1721.1/97236
Creative Commons Attribution-Noncommercial-Share Alike
http://creativecommons.org/licenses/by-nc-sa/4.0/
Online Planning for Autonomous Running Jumps
Over Obstacles in High-Speed Quadrupeds
Hae-Won Park, Patrick M. Wensing, and Sangbae Kim
Department of Mechanical Engineering, MIT, Cambridge, MA, 02139
{parkhw,pwensing,sangbae}@mit.edu
Abstract—This paper presents a new framework for the
generation of high-speed running jumps to clear terrain obstacles
in quadrupedal robots. Our methods enable the quadruped
to autonomously jump over obstacles up to 40 cm in height
within a single control framework. Specifically, we propose new
control system components, layered on top of a low-level running
controller, which actively modify the approach and select stance
force profiles as required to clear a sensed obstacle. The approach
controller enables the quadruped to end in a preferable state
relative to the obstacle just before the jump. This multi-step gait
planning is formulated as a multiple-horizon model predictive
control problem and solved at each step through quadratic pro-
gramming. Ground reaction force profiles to execute the running
jump are selected through constrained nonlinear optimization
on a simplified model of the robot that possesses polynomial
dynamics. Exploiting the simplified structure of these dynamics,
the presented method greatly accelerates the computation of
otherwise costly function and constraint evaluations that are
required during optimization. With these considerations, the new
algorithms allow for online planning that is critical for reliable
response to unexpected situations. Experimental results, for a
stand-alone quadruped with on-board power and computation,
show the viability of this approach, and represent important
steps towards broader dynamic maneuverability in experimental
machines.
I. INTRODUCTION
Quadrupedal animals display a remarkable versatility to
dynamically negotiate challenging terrain in unstructured en-
vironments. Whether cornering to evade a predator in an open
field or leaping to cross a cavernous gap, biological systems
display a nearly seamless capacity to plan and execute complex
motions which are tailored to the terrain and task at hand.
In the robotics realm to date, a variety of mechanical and
computational limitations have prevented legged robots from
demonstrating an ability to dynamically negotiate unstructured
terrain.
One class of terrain irregularities are terrain obstacles, which
require strategies for the system to move around or over
the obstruction. In the case of unavoidable extreme terrain
obstacles, where static traversal strategies are not viable, the
only option may be for the system to take advantage of
its dynamics by performing a running jump to clear the
obstacle. With this motivation, this paper presents a new set
of algorithms that enable dynamic and autonomous running
jumps over terrain obstacles through online optimization in an
experimental quadruped, the MIT Cheetah 2, shown in Fig. 1.
Recent advances in a diverse set of quadrupedal robotic
machines encourage the use of the quadrupedal morphology to
Fig. 1.
terrain obstacles. All computation and power is provided on-board.
System overview for online generation of running jumps to clear
study dynamic maneuverability. BigDog and its successor LS3
have demonstrated impressive and robust dynamic walking on
a variety of terrain surfaces [19]. StarIETH [9] has displayed
a wide array of gaits up to 0.7 m/s with the incorporation of
series elastic actuation in its legs. The hydraulically actuated
HyQ [21] has shown the capacity for high-power movements
and is capable of terrain robust trot walking at 0.35 m/s [23].
The MIT Cheetah 1 [22] and Cheetah 2 [16] robots have shown
the capabilities of electric DC motors to enable high-speed
locomotion [12] up to 6 m/s.
In addition to limited terrain robustness for unperceived
obstacles, many studies have focused on quasi-static loco-
motion strategies to climb over more challenging terrains.
Kalakrishnan et al. [13] proposed learning algorithms for
foothold selection based on expert demonstrations using ter-
rain templates. Researchers working on HyQ studied the use of
stereo vision to build a height map of the surrounding terrain
[1]. These terrain maps were used online to modify the CPGs
which governed cyclical leg motions, enabling rough terrain
with obstacles up to 9.5 cm in height to be traversed. Reflexes
layered on top of foot CPGs have also shown the ability to
provide static ambling over obstacles up to 11cm in height [8].
Other work in simulation has studied the capabilities of non-
repetitive dynamic movements to enable clearance of more
Intel&Core&i5&–&4520U&Trajectory&&Genera7on&Event&Driven&<&100&msec&Event&Driven&<&1&msec&Approach&Adjustment&Controller&Sensor&40&Hz&Obstacle&Detec7on&IMU&Body&&Orienta7on&1&KHz&Laser&Scanning&&Data&40&Hz&LIDAR&Joint&Posi7on&3&KHz&Joint&Encoders&HighRLevel&Controller&Intel&Core2Duo&2.16&GHz&3&KHz&Bounding&Controller&LowRLevel&Controller&LIDAR&LowRLevel&Controller&IMU&HighRLevel&Controller&BaVeries&for&Control&Hardware&BaVeries&for&Actuator&Power&
Fig. 2. Procedure overview showing computation breakdown with time. Upon detecting an obstacle, the system plans a modified approach using a multiple-
horizon model predictive control strategy (Sec. IV). During the step immediately before the obstacle, the system performs online trajectory optimization (Sec.
V-C) in order to select ground force profiles which will allow the quadruped to clear the obstacle.
extreme terrain obstacles. Wong and Orin [26] proposed the
use of binary search for a small set of control parameters
to produce standing jumps over obstacles. Coros et al. [2]
developed an extensive trajectory dictionary and virtual model
controller to perform running jumps over a variety of large
gaps. Krasny and Orin [14] applied an evolutionary algorithm
to optimize running jumps during quadruped galloping. These
motions have also been studied in a limited capacity for
humanoids [3, 25] by using simple models for trajectory
optimization. Still, across each of these studies, the resultant
controllers have required extensive offline optimization and
have not demonstrated viability for use in experimental hard-
ware.
We present a new framework which considers the dynamics
of high-speed locomotion on a variety of time-scales for
successful execution of an autonomous running jump to clear
an upcoming obstacle. For reliable clearance of the obstacle,
it is critical to adjust approach steps to place the robot in an
optimal location for the jump. Furthermore, a feasible jumping
trajectory must be tailored to the sensed obstruction. Running
jumps are autonomously executed in hardware for obstacles
between 27.5 cm and 40 cm tall during running at 2.4 m/s.
All computation and power is provided on board, with all the
algorithms operating at real-time rates sufficient for success
of the jump. To the best of the authors’ knowledge,
this
represents the first description and experimental validation of a
framework for online planning of autonomous running jumps
for obstacle clearance.
II. SYSTEM OVERVIEW
A detailed overview of the framework for obstacle clearance
is shown in Fig. 2. This figure highlights the control system
components which enable the new autonomous capabilities
demonstrated in this work. At a high-level, control system
components for approach planning and clearance trajectory
optimization are used to move the system into a preferable
location relative to the obstacle and to select ground force
profiles for a running jump. These components fit into the
overall computation strategy as described in the following
paragraphs.
During normal running, the quadruped continuously ana-
lyzes Lidar data in the sagittal plane to perform obstacle
detection, as described in Sec. III. When an obstacle is
present, this data is then used to plan a modified approach
for the steps leading up to the obstacle. In this work, the
approach adjustment strategy considers the use of velocity
changes at each step in order to get into proper position.
This planning problem is formulated as a series of quadratic
programs, as described in Sect. IV, which are solved at each
step to provide model-predictive approach control. A lower-
level bounding controller is capable to track the desired speed
changes commanded through this approach [17].
In the final step before the obstacle, the quadruped per-
forms trajectory optimization for the clearance jump (Section
V-C). To accelerate this trajectory optimization procedure, the
quadruped is abstracted by a simple model with polynomial
dynamics. The trajectory optimization problem is transcribed
into a constrained nonlinear programming problem, and solved
online. By expressing the forces acting on this system as
B´ezier polynomials, the polynomial character of the system
dynamics enables analytical formula for the system state at
any given time. This availability to query the simulated state
of the system without numerical integration is a key result
in order to generate obstacle clearance jumps on a real-time
deadline.
III. OBSTACLE DETECTION
In order to perceive information about
its surrounding
environment,
the quadruped was outfitted with a Hokuyo
UTM-30LX-EW laser range finder as shown in Fig. 1. This
sensor provides distance data in its scan plane with an angular
resolution of 0.25◦. To minimize the scan time, data was
collected in the sagittal plane only for angles between 45◦
above the horizontal, to 90◦ below the horizontal, as shown
in Fig. 3. It was assumed that the motion of the robot during
the scan time of 12.5 ms had a negligible effect on the data.
Pitch correction from the IMU was used to rotate this data
into global coordinates.
Following each scan, a simple line segmentation algorithm
was applied to detect the ground plane and the front face of
the obstacle. Nguyen et al. [15] provide a thorough overview
of line segmentation algorithms for planar data, and report
on the promising accuracy and processing speed of the Split
and Merge algorithm [18]. In order to further decrease the
Time Normal Running Obstacle Detected Modified Running Modified Running Obstacle Clearance Landing Normal Running …
…
T⇤⇡350msApproach Planning Clearance Traj. Opt. vi vi+1
of v0. At each following step i, the state of the robot state is
similarly abstracted by xi ∈ R2
xi = [di vi]T .
(1)
In order to control its approach, the system may select speed
changes ∆vi at each step. It is assumed that this speed change
∆vi occurs over the duration of the step, providing an average
2 . Given a nominal step period T ∗, the state
1 −T ∗
speed of vi + ∆vi
then evolves as
− 1
2 T ∗
1
xi+1 =
∆vi .
0
1
xi +
(2)
A
B
Although these dynamics are a drastic simplification of the
full robot dynamics, they capture the main features that are
important to approaching the obstacle.
Consider first an N step approach leading up to the obstacle,
for some fixed N ∈ N+. We are then interested in finding
controls ∆v0:(N−1) that minimally disturb the nominal gait,
while landing the final state xN within a desired goal region.
The goal is defined here by lower and upper bounds:
xN = [dF vF ]T and
xN =dF vF
T
.
(3)
(4)
A desired final state in the middle of the goal region is
prescribed as
xd
N =
xN + xN
2
.
(5)
An MPC problem is formulated as a quadratic programming
(QP) problem with optimal cost c(N ) as:
c(N ) = min (xN − xd
N−1
N )T QF (xN − xd
N )
+
1
N
i=0
ri∆v2
i
(6)
s.t. xi+1 = A xi + B ∆vi
xN ≤ xN ≤ xN
v ≤ vi ≤ v
|∆vi| ≤ βvi
Fig. 3. Lidar data, preprocessing, and final segmentation for a characteristic
scan over 135◦ in the sagittal plane.
computational overhead of the algorithm, a simplification
of the Split and Merge algorithm, the Iterative-end-point-fit
(IEPF) algorithm [20] was used here. This algorithm begins
by constructing a line between the first and last points of the
data. It then proceeds to take the point furtherest from the line,
splits the data into two halves about this point, and reapplies
the algorithm to each half. This recursive process is repeated
until all data is within a threshold distance to any segment.
To decrease the size of the input to the IEPF algorithm,
data was first preprocessed to extract a contiguous subset of
points that contained the ground plane. Starting at 90◦ below
the horizontal, the radial distance of successive data points was
monitored for a large jump above a given threshold. All data
after the first jump was discarded. In addition, (x, z) data in the
sagittal plane within a small tolerance was clustered together
and averaged to further decrease the input size. Figure 3 shows
the preprocessed data passed to IEPF, as well as its segmented
output. The long first segment
in this data represents the
ground plane, while the second segment represents the front
face of the obstacle. The distance to the second segment
d0 and its length h0 were then used to provide a sensed
obstacle distance and height to the approach adjustment and
trajectory optimization algorithms. This method was found to
be effective during bounding at 3Hz despite significant pitch
and small roll oscillations which perturbed the lidar scan plane,
as demonstrated further in Sec.VI.
IV. APPROACH ADJUSTMENT
Following the detection of an obstacle, the quadruped has
the
the opportunity to modify its approach. For instance,
system may speed up or slow down to get into a preferable
position relative to the obstacle before attempting a clearance
jump. In order to determine an optimal approach, this section
formulates a series of constrained model-predictive control
(MPC) problems over multiple planning horizons. These mul-
tiple planning horizons enable the quadruped to determine the
optimal number of steps to take before reaching the obstacle
as well as its approach velocities at each step.
A. MPC for Approach Adjustment
Suppose that at the current step, the robot is a distance of d0
away from the obstacle and is traveling at an initial velocity
where v > 0 and v > 0 provide velocity limits on the gait,
and β ∈ (0, 1) limits the relative acceleration during any given
step. To penalize gait changes which happen closer to the
obstacle, the cost scalars ri are selected such that
ri = max(µi−(N−1), µmin)
(7)
for some µ and µmin with 0 < µmin < µ < 1. This
discounting strategy encourages larger accelerations to occur
further from the obstacle in order to provide additional time
to recover from transient effects in the full system which are
not captured in this MPC formulation. The quadratic cost on
the final state, with QF = QT
F positive definite, rewards final
states that have margin to remain in the goal when unmodelled
effects in the full system disturb the optimized trajectories.
Raw Data Preprocessed Segmented Lidar Z (m) Lidar X (m)
Parameter
Value
β
0.3
µ
1.1
µmin
0.4
QF
diag(2.5, 1)
Variable Bound
Min
Max
vF
dF
0.5 m 1.8 m/s
0.9 m 3.2 m/s
TABLE I
vi
1.0 m/s
4.0 m/s
PARAMETERS FOR THE APPROACH ADJUSTMENT ALGORITHM
Given the bounds on the speed changes and states, it is
possible that there is no feasible approach for a given N. In
this case, we define c(N ) = ∞. While most applications of
MPC seek to regulate the long-term state of a system and can
employ an infinite planning horizon, the unknown number of
steps before the obstacle requires us instead to search for the
desired planning horizon.
B. Multiple-Horizon MPC
Given the bounds on the forward velocities and final states,
c(N ) < ∞ only if
d0 − dF
vF
≤ N ≤ d0 − dF
vF
,
(8)
where the lower step number bound is derived from traveling
the shortest distance to the goal region at
the maximum
speed, and the upper bound follows similarly. This condition
introduces a finite range for N to be searched over, given the
initial state of the system. The optimal approach length N∗ can
then be found through evaluation of c(N ) for each N in this
range. Figure 4 shows the optimal number of steps to be taken
before the obstacle as a function of initial state. Algorithm
parameters for this example are given in Table I. As distances
d0 become larger, the range of potential planning horizons (8)
can introduce many QPs that need to be solved. However, as
these QPs are trying to minimize accelerations while directing
the state to middle of the goal region, a reasonable estimate
for N∗ is
d0 − dd
N∗ ≈ round
(9)
The optimum N∗ is found within ±1 step of this approxima-
tion for all cases shown in Fig. 4, allowing us to minimize the
number of QPs to be solved.
v0T ∗
F
.
Recent advances in linear MPC using interior-point [24] and
active-set [6] solvers have greatly decreased the computational
overhead of online MPC approaches. Here, to solve the QP
for c(N ), the open-source package qpOASES [7] was used.
This package provides a parametric active-set solver that is
particularly well suited for MPC. With this solver, QPs can
be solved in 250 µs for the horizons considered in our ex-
periments. Although MPC has been used extensively for ZMP
optimization [4] and footstep planning in humanoids [11], its
use for quadrupeds gait planning has yet been unexplored.
V. REAL-TIME JUMPING TRAJECTORY GENERATION
This section presents methods for online generation of the
robot’s jumping trajectory to clear an obstacle during running.
Fig. 4. Optimal number of steps to the goal based on initial state. Color
indicates the optimal cost c(N∗). Unenclosed regions represent infeasible
regions for the start state, and show the need for early obstacle detection.
A simplified model with polynomial dynamics is introduced.
When forced by control inputs which are polynomial with
respect to time, this enables the state of the system at any
time to be rapidly obtained without numerical integration.
This simplification is used to accelerate online trajectory
optimization to generate force profiles that are tailored to the
sensed obstacle and robot state. In the hardware, these force
profiles are ultimately generated using joint torques of the
robot through a Jacobian Transpose mapping described in [17].
A. Simplified Model and Temporal Gait Pattern of Bounding
In a quadrupedal bounding gait, the front and hind leg pairs
act in parallel. As a result, the quadruped can be modeled
as a two-legged system in the sagittal plane, as shown in
Figure 5. The model assumes massless legs, and thus the
forces/moments exerted by each leg onto the body are stat-
ically equivalent to the horizontal and vertical ground reaction
forces F x and F z on the foot1. In practice, these ground
reaction forces can be generated by joint torques in the legs.
In this simplified model, the robot’s generalized coordinates
are q := (x, z, θ), where x is the horizontal position of the
center of mass (CoM) with respect to the foot, z is the vertical
position of the CoM with respect to the ground, and θ is the
body pitch angle as displayed in Figure 5.
Assuming a fixed gait timing, this simplified model is time-
switched hybrid, and follows a sequential phase order of Front
Stance phase, Aerial I phase, Hind Stance phase, and Jumping
Aerial phase (see Figure 5). For later use, we denote t1, t2,
t3, and t4 as the time corresponding to the end of the Front
Stance phase, the start and end of the Hind Stance phase, and
the end of the Jumping Aerial phase, respectively.
During the Front and Hind Stance phase, in which the front
pair of the legs and hind pair of the legs touch the ground, the
equations of motion of the robot are given by,
m¨x = Fx
m¨z = Fz − mg
I ¨θ = −xFz + zFx
(10)
1Note: This assumption is reasonable as the legs of the cheetah are very
light, composing approximately only 10% of the total mass of the system.
N⇤=1N⇤=2N⇤=3N⇤=4GoalInitialDistance(m)InitialVelocity(m/s)
Fig. 5. A simplified time-switched hybrid quadrupedal bounding model. Assuming massless legs, the quadruped is abstracted by a planar rigid body evolving
under the influence of ground reaction forces and gravity. A fixed horizontal foot placement relative to the hip at the beginning of stance is used to determine
the point of application for the ground reaction force.
where, Fx and Fz are the ground reaction forces applied on
the foot of the robot, m and I are the combined mass and
inertia of the robot, and g is the gravitational constant. We
can further simplify (10) to provide
¨x = ux
¨z = uz − g
¨θ = −αxuz + αzux
m , and α = m
I .
(11)
(12)
(13)
m , uz = Fz
where, ux = Fx
In this paper, the scaled forces ux and uz are chosen as
nth-order B´ezier polynomials during the interval t ∈ [t0, tf ]
where t0 and tf represent the beginning and end of the force
profile. The B´ezier polynomials are given by,
βi,xbi,n(s)
(14)
ux(s) =
uz(s) =
βi,zbi,n(s),
n
n
i=0
i=0
n
i
where βi,x and βi,z are the B´ezier coefficients as optimized in
∈ [0, 1] is the normalized time, and
Section V-C, s := t−t0
tf−t0
bi,n(s) is the i-th Bernstein Polynomial of degree n
bi,n(s) =
si (1 − s)n−i .
(15)
During the two aerial phases, Mid Aerial phase and Jumping
Aerial phase, the ground reaction forces ux and uz become
zero, and the robot follows ballistic dynamics of ¨x = ¨θ = 0
and ¨z = −g.
During the aerial phase, the virtual foot position with respect
to the shoulder follows the trajectory shown in Figure 6.
After these trajectories are completed, the position of the foot
with respect to the shoulder is held to wait for the impact
with the ground. These foot swing trajectories are designed
considering the workspace of the leg and energy consumption
through a separate one-time offline optimization procedure.
Their detailed design procedure is omitted here for the brevity
of the paper.
The durations of phases Tstance and Tair I are fixed at
values required during normal bounding, as given in [16],
while the duration of the last phase Tair II is elongated as
the robot jumps up to clear the obstacle. The value of Tair II
is varied according to the height of the robot jumping and is
selected by optimization process introduced in Section V-C.
n+2
n+2
i=0
Fig. 6.
Swing foot trajectory for the front leg with respect to the shoulder
during its aerial period of motion. The trajectory is designed to complete
within 90% of the expected flight time to recover from unexpected early
impact. The back leg trajectory follows a similar pattern.
B. Solution to the Equations of Motion
x0, z0, θ0, ˙x0, ˙z0, ˙θ0
Given initial conditions
and ground
reaction forces (14) in the interval t ∈ [t0, tf ], solutions
to (11)-(13) can be obtained analytically without numerical
integration. As shown in (11) and (12), x(s) and z(s) can be
obtained by integrating ux(s) and uz(s) twice. Since ux(s)
and uz(s) are nth-order B´ezier polynomials, x(s) and z(s)
are (n + 2)th-order B´ezier polynomials
x(s) =
z(s) =
ci,xbi,n+2(s)
ci,zbi,n+2(s)
(16)
(17)
i=0
for some set of ci,x and ci,z.
By taking the second derivative of (16) using common
formula [5] for Bernstein polynomials, the dynamics (11) can
be used to form n + 1 linear equations which relate the Bezier
coefficients for ux to those for x. An additional two linear
equations relating the Bezier coefficients to initial conditions
x0, ˙x0 can be formed to provide
Cx cx = bx(βx, x0, ˙x0)
(18)
where, cx ∈ Rn+3 is the vector consisting of the coefficients
ci,x, and Cx is a constant matrix. Thus, given a selection of a
horizontal ground force profile, along with initial conditions,
(18) can be quickly solved to obtain the Bezier coefficients
(,)−(,)Front StanceMid AerialHind StanceJumping AerialTime−0.5−0.4−0.3−0.2−0.100.10.20.3Time (sec)Swing Foot Position (m)−0.5−0.4−0.3−0.2−0.100.10.20.3Time (sec)xzxz
cx for x. A similar approach can be used to find the Bezier
coefficients cz for z
Cz cz = bz(βz, z0, ˙z0) .
(19)
Similarly, since x and z are (n + 2)th-order B´ezier poly-
nomials and ux(s) and uz(s) are nth-order B´ezier polyno-
mials, we can easily deduce that the right hand side of (13),
−αxuz + αzux, is an (2n + 2)th-order polynomial. Thus θ is
a (2n + 4)th-order B´ezier polynomial
2n+4
θ(s) =
ci,θbi,2n+4(s)
(20)
i=0
for some set of ci,θ. Common formula [5] for the products
of Bernstein polynomials can be applied to express the right
hand side of (13) using B´ezier coefficients. Equating these
coefficients to those with the second derivative of (20), and
using the initial conditions θ0 and ˙θ0 provides
Cθ cθ = bθ(βx, βy, cx, cz, θ0, ˙θ0),
(21)
where, cθ ∈ R2n+5 is the vector consisting of elements
with ci,θ. Hence, B´ezier coefficients of x(s), z(s), θ(s) are
easily obtained by solving (18), (19), and (21). Following
this procedure, the analytical formula for x, z, and θ from
(16), (17), and (20) can be used to quickly query the state
of the system at any time t ∈ [t0, tf ]. To handle the multiple
phases of motion, this procedure can be cascaded, enforcing
continuous differentiability across transition boundaries.
C. Jumping Trajectory Generation via Constrained Nonlinear
Programming
This section explains the new trajectory generation approach
for jumping over obstacles. A feasible jumping trajectory to
clear the obstacle is obtained by solving a nonlinear program-
ming problem. Optimization variables for this problem include
B´ezier coefficients for the ground reaction forces ux(s) and
uz(s) for the front and hind pairs of legs as well as and the
duration of the jumping aerial phase Tair II.
The ground reaction force inputs ux(s) and uz(s) are
designed by adjoining two 3th-order B´ezier polynomials,
connected at the mid-stance. Force profiles are constrained to
follow a common shape in both the x and z directions and in
the front and hind legs. In the first half of each stance these
profiles are designed with B´ezier polynomial coefficients
β j
i := αj
i [0 0.8 1 1]
where i ∈ {x, z} and j ∈ {f, h} with superscripts f, h
representing front and hind legs, respectively. The four scaling
factors αj
i provide flexibility to the optimization to shape the
jump trajectory. Profiles in the second half of each stance
are given symmetrically by coefficients β j
i [1 1 0.8 0] .
This choice of B´ezier polynomial’s coefficients provides a
single peak trajectory where the peak is located in the middle
of the stance phase while the trajectory starts and ends with 0.
x = −180 N,
Figure 7 shows example force profiles when αf
x = −178 N, αf
z = 1000 N.
αh
z = 756 N, and αh
i := αj
Fig. 7. Example force profile for the front (f ) and hind (h) legs optimized
to clear an obstacle 33 cm high at a distance of 1 m.
CONSTRAINTS IMPOSED FOR OBSTACLE CLEARANCE FEASIBILITY.
TABLE II
f oot(t)),
f oot(t)),
|θ(t)| < Θ,
zf
f oot(t) > hobs(xf
zh
f oot(t) > hobs(xh
xf
f oot(t4) > d0 + 0.5w0
xh
f oot(t4) > d0 + 0.5w0
z < zf (t1) < z
zh < zh(t2) < zh
z < zh(t3) < z
zf (t4) = ˜zf
θ < θ(t4) < θ
x| < F x
z < F z
|αj
0 < αj
for 0 ≤ t ≤ t4
for t1 ≤ t ≤ t4
for t3 ≤ t ≤ t4
for j ∈ {f, h}
for j ∈ {f, h}
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
x, αf
z , αh
x, αh
To obtain αf
z , and the arial phase time Tair II,
a constrained nonlinear feasibility problem was posed. Since
success of the clearance was the dominant goal in this work,
an objection function of 0 was employed. This selection also
served to accelerate the optimization in comparison to includ-
ing a more complex objective function. Constraints over the
variables were selected as described in Table II.
In this table
h0, d0 are the height and distance to the obstacle, respectively.
The parameter w0 controls the fore-aft obstacle clearance and
was chosen as 15 cm in experiments. The desired clearance
height around the obstacle is given as a function of forward
position hobs(x) by multiplying two sigmoid functions:
1
1
(34)
hobs(x) =h0
1 + eσ(x−d2)
with σ = 200 and d1, d2 = d0 ± .5w0 respectively.
1 + e−σ(x−d1)
The constraints in Table II are motivated as follows. The
constraint (22) is posed to avoid excessive torso oscillation
during the jumping, with the constant Θ > 0 chosen to be 45◦.
The constraints (23) and (24) are posed to avoid a foot tripping
over the obstacle, (25) and (26) ensure that the robot’s foot has
achieved the desired lateral clearance at the completion of the
jump. The constraints (27) and (29) are used to guarantee that
−300−200−1000100200300HorizontalForce (N)00.050.10.150.20.250.30.350.40.450.502004006008001000Time (sec)VerticalForce (N)
Fig. 8. Motion snapshots from a successful obstacle clearance jump. Frames are separated by 150 ms.
the robot’s shoulder position from the ground at the end of the
stance phase is within the range of the leg’s workspace, and
the constants z and z are chosen from the leg’s linkage design.
The constraint (28) ensures that the Hind Stance phase starts
with the hind shoulder height within the range of the hind leg’s
workspace, and zh and zh are chosen from the leg’s linkage
design. The constraints (31) and (30) are posed to provide a
configuration for safe landing. θ and θ are lower and upper
bounds of pitch angle at the landing, ˜zf is the vertical foot
position with respect to the shoulder at the end of the jumping.
The above nonlinear feasibility problem was solved using
the nonlinear solver SNOPT [10]. Continuous constraints (22)-
(24) were discretized in time with 50-100 time steps per gait
phase. Computation of the parameters for a feasible jumping
trajectory takes less than 100 msec on average using the on-
board computer with Intel Core i5-4520U. Figure 7 shows
an example force profile with parameters obtained solving
this nonlinear programming problem for an obstacle with the
distance of 1 m and height of 0.33 m.
In implementation for the experimental hardware, trajectory
optimization was carried out on any step when the approach
modification provided N∗ ≤ 2. The optimization was carried
out when N∗ = 2 as a precaution in case the following
step placed the quadruped too close to the obstacle and
an emergency jump was required. In all cases, a predicted
distance to the obstacle at the next step d0 − v0T ∗ − 1
2 ∆v∗
0
was passed to the trajectory optimization using the results of
the approach modification.
D. Landing Control
The purpose of the landing control is to provide a safe and
robust transition back to the normal running gait by handling
disturbances specific to the high impacts on the front legs
at landing that are experienced following the running jump.
We modify the horizontal and vertical force profiles of the
Front Stance phase to provide additional impulse to recover
the robot’s velocity states to their nominal values. Because
we use B´ezier polynomials in (14) for force profiles ux(s)
uz(s)dt
can be calculated by simply averaging B´ezier coefficients and
multiplying the length of duration. Therefore, by uniformly
scaling B´ezier coefficients accordingly, we can modify the
impulse created by ux(s) and uz(s).
and uz(s), the impulse Tstance
ux(s)dt and Tstance
The vertical landing speed of the CoM ˙z(t4) at the mo-
ment of the landing is obtained from the jumping trajectory
optimization explained in Section V-C. The required vertical
impulse to steer ˙z(t4) to the nominal value of ˙z0 can be calcu-
lated using linear impulse and momentum change relationship
0
0
which is given by,
Tstance
0
uzdt = ˙z0 + ˙z(t4) + gTstance
(35)
On the other hand, the horizontal force is modulated to
modify rotational impulse. Unlike the normal running case
where the swing foot retracts fast enough to provide ground
speed matching, the swing foot speed with respect to the
ground will be large after the jumping over obstacles because
the foot position with respect to the shoulder position is held
in position after the completion of the desired swing foot
trajectories. Due to the large relative swing foot speed at
impact, excessive rotational momentum about the CoM will
be generated upon impact with the ground. To handle this
disturbance, the horizontal force profile is adjusted to cancel
out additional rotational momentum delivered by the impact.
After the calculation of required vertical impulse and ro-
z were modified for force profiles
tational impulse, αf
ux(s) and uz(s) to provide required impulses.
x and αf
VI. RESULTS
With our framework the quadruped is able to autonomously
jump over obstacles up to 40 cm in height. This maximum
height represents 80% of the quadruped’s nominal leg length.
A. Setup
The algorithms described in the previous sections were
applied for online validation of the obstacle clearance frame-
work. All high-level control for obstacle detection, approach
adjustment, and trajectory optimization was performed using
a single core of a 2.6 GHz Intel Core i5-54250U processor
on a Nuc Mini-PC. Lower-level bounding control was carried
out on a 2.16 GHz Intel Core2Duo SpeedGoat board running
compiled Simulink. The base control frequency for the lower-
level bounding controller was 3 KHz with further details
provided in [17].
The quadruped was brought
to a steady state 2.4 m/s
bounding gait before the running jump algorithms were tested.
During normal running, a wireless link to a host computer
was used to provide a desired running speed as well as a
heading set point from an operator to address lateral drift
on the treadmill. All other control actions were completed
on board. To clear the obstacle, no information regarding
the placement timing or obstacle height was provided to the
system in advance. Figure 8 shows snapshots of the obstacle
clearance jump in response to a 27.5 cm high obstacle. Video
results demonstrate the capabilities of this planning framework
to clear 34 cm and 40 cm obstacles without any retuning of
controller parameters.