0% found this document useful (0 votes)
38 views7 pages

Time-Varying Model Predictive Control For Highly Dynamic Motions of Quadrupedal Robots

Uploaded by

qinyupan29
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views7 pages

Time-Varying Model Predictive Control For Highly Dynamic Motions of Quadrupedal Robots

Uploaded by

qinyupan29
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/355436026

Time-Varying Model Predictive Control for Highly Dynamic Motions of


Quadrupedal Robots

Conference Paper · May 2021


DOI: 10.1109/ICRA48506.2021.9561913

CITATIONS READS
4 257

3 authors:

Gabriel Enrique García Chávez Robert Griffin


Florida Institute for Human and Machine Cognition Florida Institute for Human and Machine Cognition
8 PUBLICATIONS 107 CITATIONS 52 PUBLICATIONS 601 CITATIONS

SEE PROFILE SEE PROFILE

Jerry Edward Pratt


Florida Institute for Human and Machine Cognition
114 PUBLICATIONS 7,996 CITATIONS

SEE PROFILE

All content following this page was uploaded by Robert Griffin on 09 October 2022.

The user has requested enhancement of the downloaded file.


2021 IEEE International Conference on Robotics and Automation (ICRA 2021)
May 31 - June 4, 2021, Xi'an, China

Time-Varying Model Predictive Control for Highly Dynamic Motions of


Quadrupedal Robots
Gabriel Garcı́a, Robert Griffin, and Jerry Pratt
2021 IEEE International Conference on Robotics and Automation (ICRA) | 978-1-7281-9077-8/21/$31.00 ©2021 IEEE | DOI: 10.1109/ICRA48506.2021.9561913

Abstract— Obtaining highly dynamic motions in robots is


a difficult task. In recent years, sophistication in mechanical
design, improved algorithms, and high computational power
allows new robots to perform natural gaits and dynamic mo-
tions such as backflips. Offline optimization is often necessary
to obtain good performance in those difficult motions. However,
when an athlete does a backflip, he will adapt “online” to any
change, and that is shown in the robustness of the movements.
One of the biggest challenges in robotics is to perform those
movements using online optimization with the dynamics of the
robot. Here, we present an approach to deal with complicated
tasks using online optimization. We obtain 90◦ rotational jumps
and jumps over sloped terrain in the Mini-Cheetah hardware,
and online-optimized backflips, sideflips, and frontflips in a real-
time physical simulator with full-body dynamics. Fig. 1. Mini-Cheetah Robot spinning while jumping
I. INTRODUCTION parameters is limited. [6] showed the angular dynamics are
An interesting topic in robotics for expressing the physical linearity when expressed about a fixed pint, and used this
concepts of linear and angular momentum is the “centroidal to obtain trajectories with an upper bound minimized in the
dynamics” [1]. Although robots may have many degrees of angular momentum with a QP program.
freedom, quadruped robots usually concentrate their mass in After the computation of the dynamic trajectories, the
the body, so they reasonably approximated using the Single robot must apply the necessary forces while also tracking
Rigid Body Model (SRBM), which contains the centroidal additional tasks[7], which can be done with a Whole-Body
dynamics of the quadruped plus the orientation of the torso, Controller (WBC). WBCs are generally solved through QP
assuming massless legs. This means quadrupeds are ideal optimization, which is fast enough to be used in real appli-
to understand how forces can be used for controlling the cations [8], [9], [10], [11].
position and orientation using contact forces. Techniques used in centroidal dynamics can be applied to
A centroidal trajectory is dynamically feasible if it can the SRBM. In [12], [13], authors used a simplified version of
be generated given a contact sequence and friction limits. the SRBM to control the orientation of MIT Mini-Cheetah.
Although methods for the control of robots using the reac- This works well for linear motions, but the small angular
tion forces have been developed, they typically have some velocities as well as pitch and roll rotations do not allow
limitation when trying to control the angular momentum of the robot to perform fast or large rotations, such as in
a robot. Direct optimization on the joints can result in highly dynamic motions or angled terrains. In [14], [15], a heuristic
dynamic motions at the cost of slow solve times requiring is designed to fix the errors of the performance of the control
offline computation [2]. The control of centroidal dynamics of the simplified equations of motions, and they perform
is difficult given its non-linear nature. In [3] authors decom- on-board non-linear optimization. In [16] they provide a
pose the centroidal dynamics to convex and concave parts, general method for finding those heuristics through offline
and they use a QCQP (Quadratically Constrained Quadratic optimization and online adaptive learning, increasing the
Program) for finding feasible centroidal trajectories. [4] con- capabilities of the robot.
sider trajectories kinematically generated and dynamically A. Contributions
feasible, but they also use a QCQP for the trajectories. The The main contributions of this paper are: Design a Model-
most important limitation of these approaches is the solving Predictive Controller (MPC) as a QP Optimization that
time compared to a common QP (Quadratic Program), which produces dynamically feasible trajectories for the centroidal
features only linear constraints. In [5] authors solve for dynamics of a quadruped, and quasi-feasible trajectories
the centroidal dynamics using polynomial curves for the in the orientation of the torso. We will use the Single
Center of Mass (CoM) and the angular momentum, which Rigid Body Model, which allows the robot to walk in any
has the downside of lack of generality: the CoM trajectories orientation of the terrain, assuming that the footsteps and the
have a maximum degree, and in consequence the number of timing between steps are fixed.
Authors are with The Florida Institute for Human and Machine Cognition, By quasi-feasible, we mean that the real trajectory is
Pensacola, FL, USA {ggarcia, rgriffin, jpratt}@ihmc.org approximated with an error of O(kx − x∗ (t)k2 ), where x(t)

978-1-7281-9077-8/21/$31.00 ©2021 IEEE 7344

Authorized licensed use limited to: University of West Florida. Downloaded on October 09,2022 at 13:08:21 UTC from IEEE Xplore. Restrictions apply.
are the states of the system, and x∗ (t) are the predicted states. Here, the inertia I is a function of the orientation of the
Compared to previous approaches like [17], [13], [16] we use robot, specifically I = RIB RT . As the rotation matrix R is a
angular momentum around a fixed point instead of lineariz- function of the quaternion qr and the body inertia matrix IB
ing/simplifying the angular velocity. We include experiments is constant, the inertia I is determined as follows:
and simulations of this momentum-based control approach
containing a partial linearization of the dynamics. We also I(qr ) = R(qr )IB R(qr )T (7)
provide heuristics to track dynamic motions like jumps with
Using (6), (5), and (7), we obtain our quaternion dynamics
rotations.
II. BACKGROUND q̇r = Q(qr )I−1 (qr )L (8)

A. Mathematical Model Unfortunately, the dynamics in (1) are nonlinear. We propose


The centroidal dynamics of any Multi-body System under instead to use the angular momentum L2 around a fixed point
multi-contact, point-foot placements holds as: in the world instead of around the CoM, as in [2]. This then
linearizes the second equation of (1):
mr̈ = ∑ni=1 fi + mg
 
, (1)
L̇ = ∑ni=1 (r pi − r) × fi L2 = L + mr × ṙ, (9)
where r is the position of the CoM, fi is the vectorial ith Taking the derivative of (9) we obtain the dynamics of L2 :
ground reaction force, r pi is the position of the ith contact, n
m is the mass of the robot and g is the gravity vector. We L̇2 = ∑ r pi × fi + mr × g (10)
assume that r pi is given in time, i.e. the foot placement i=1
is already specified ahead of time from a contact sequence
Now, using the dynamics of qr in (8) and L2 in (10) we
generator. Note that there is not concept of “orientation” yet.
obtain another representation of the quaternion dynamic:
When the system has only one link with mass (i.e. torso,
legs are massless), the angular momentum L is reduced to q̇r = Q(qr )I−1 (qr )(L2 − mr × ṙ) (11)
T
L = Iω = RIB R ω, (2)
Using this formulation, we can apply a time-varying
where IB represents the Inertia tensor of the body in a local linearization only in the orientation and apply QP strategies
frame, I represents the Inertia in the world coordinates, R is to obtain forces which later can be tracked by a WBC.
the rotation matrix from the local to the world coordinates of We define F(x) = Q(qr )I−1 (qr )(L2 − mr × ṙ) where x =
the body, and ω represents the angular velocity of the body. [rT , ṙT , LT2 , qTr ]T are the states of the system, so we have q̇r =
The dynamics of R hold: F(x). In this equation we apply a time-varying linearization
using the Taylor expansion around a reference trajectory
Ṙ = [ω]× R, (3) x∗ (t) for the states:
where [•]× denotes the matrix form of the cross product. If ∂F
we combine (3) with (1), we obtain the SRBM dynamics: q̇r = F(x∗ (t)) + (x − x∗ (t)) + O(kx − x∗ (t)k2 )
∂x x=x∗ (t)
mr̈ = ∑ni=1 fi + mg
 
(12)
L̇ = ∑ni=1 (r pi − r) × fi  (4) This leads to the linearized SRBM dynamics:
Ṙ = [ω]× R
r̈ = m1 ∑ni=1 fi + g
 
In [13], Euler angles are used to represent the rotation  L̇2 = ∑ni=1 r pi × fi + mr × g  (13)
matrix. However, this has a singularity at a roll of ± π2 , q̇r = F(x∗ ) + ∂∂ Fx x=x∗ (t) (x − x∗ )
preventing some motions such as a backflip. While it is
possible to use a variational approach over R like in [17], in Using this formulation, the control approach is the same
this work, we choose to use the singularity-free, 4-variable as the MPC of (18) from [13], a quadratic optimization is
quaternion representation, qr , for the body orientation. The performed to obtain the reaction forces that track the desired
dynamics of qr are given by: trajectory, followed by a WBC to track these forces. The
1 system in (13) only requires the states to be close to the
q̇r = qr ◦ ω = Q(qr )ω, (5) commanded trajectories, but now the body is allowed to have
2
any orientation and it can spin at high angular velocities
where ◦ is the quaternion product and 2Q(qr ) ∈ R4×3 is its because we are not simplifying the angular momentum.
matrix form representation.
Traditional approaches approximate the rotational dynam- III. CONTROL APPROACH
ics via the simplification dtd (Iω) = Iω̇ + ω × (Iω) ≈ Iω̇.
Instead of using ω as our state variable, we will use the Most of the control approach builds off of [12], [11], [13],
angular momentum L, leading to: with small modifications in the algorithm and the base code
for improved performance. The main contribution of this
L = Iω → ω = I−1 L (6) paper is Subsection III-C.

7345

Authorized licensed use limited to: University of West Florida. Downloaded on October 09,2022 at 13:08:21 UTC from IEEE Xplore. Restrictions apply.
A. Contact Scheduling where W(t), R pla (t) and b(t) encodes the friction restrictions
If we fix the footsteps timings, then the MPC for (13) is defined (14), u contains the stacked reaction forces fi (con-
linear [2], [5], [12]. The contact schedule uses time-based trol input/decision variables) and kxkP = xT Px. We define
phases and it is taken from [12], [14]. The gaits are periodic x∗k,pre (t) as the resulting trajectory of the optimization Pk :
and the legs of the robot are enforced to touch the ground x∗k,pre (t) = argmin Pk (16)
based on the gait scheduled clock. x
We concatenate the footsteps between different gaits for The update rule in xk (t), defined in [0,t f ] is given by:
feasibility and consistency purposes. Jumps are defined as (
aperiodic “gaits”: they are played only once, and after that ∗ x∗k,pre (t + ∆tMPC ) ∀t ∈ [0,t f − ∆tMPC ]
xk (t) = (17)
the contact placements of the next gait are used. Flight phases x∗d,H (t) ∀t ∈ [t f − ∆tMPC ,t f ]
are the only phase that are state-based. We define them as
a function of the time that it takes the robot to land using We are shifting the new trajectory by a time of ∆tMPC ,
IMU measurements. The flight phase is ended if we detect which corresponds approximately to the time when each
contact in any leg. The contact detector uses a generalized- optimization is solved. Adding a term εkx∗k−1 (t) − xkL2 to
momentum-based disturbance observer in discrete form (10) (15) helps to provide stability to the next solutions in the
from [18], and the forces are found using an unconstrained optimization, because the MPC will also track a previous
version of (9) from [19]. A Coriolis Matrix is necessary for solution. The last section of the trajectory given by x∗d,H (t)
that, so we implement it from [20]. corresponds to a heuristic for the new desired states provided
by a higher level input (detailed in Section IV). Ak−1 (t),
B. Rotated Friction Cones Bk−1 (t) and Ck−1 (t) come from (13):
To better address uneven ground and contact surfaces, we 
03×3 I3×3 03×3 03×4

base the friction restrictions according to the orientation of  03×3 03×3 03×3 03×4 
the terrain. For flat ground and per each ith contact, the Ak−1 (t) = 
−m[g]× 03×3 03×3 03×4


inequalities can be expressed in matrix form as Wi fi ≤ bi , ∂F ∂F ∂F ∂F
∂ r x∗k−1 ∂ ṙ x∗k−1 ∂ L2 x∗k−1 ∂ qr x∗k−1
where Wi ∈ R6×3 , bi ∈ R6×1 and fi contains the stacked (18)
forces in x, y, and z. For a non-horizontal plane, the linearized 
03×3 03×3 03×3 03×3

friction cone is Wi rotated with the transpose of the matrix  1 I3×3 1 I3×3 1 1
m I3×3 m I3×3 

Bk−1 (t) =  m m (19)
R plai mapping from the world to the contact plane: [r p1 ]× [r p2 ]× [r p3 ]× [r p4 ]× 
Wi RTplai fi ≤ bi (14) 04×3 04×3 04×3 04×3

03×1
 
We also constrain the maximum value of the normal force.
The maximum force the robot can produce depends on the  g 
Ck−1 (t) =  03×1
 (20)
configuration of the robot, but study is outside of the scope  
of the paper. F(x∗k−1 ) − ∂∂ Fx x∗
x∗k−1 k−1

C. MPC Optimization D. QP Optimization

We perform a QP optimization using a heuristic x∗H (t) The MPC setup defined in (15) is now written in discrete
as an initial guess, and then perform successive QP opti- time as a QP optimization using the direct transcription
mizations on the linearized system (13) around the resulting method with a condensed approach written as in [13], with
trajectories. minor modifications to include the term Ck−1 .
The initial heuristic x∗H models the behavior of the robot The dynamics in (15) are discretized as:
in the future and provides a high level description of the x[n + 1] = Ak−1 [n]x[n] + Bk−1 [n]u[n] + Ck−1 [n] (21)
desired position and orientation of the robot, without needing
to be perfectly dynamically feasible. The results of predictive Solving for each x[n], we can condense the equations to:
controllers based on heuristics for quadrupeds [14], [15], [16]
are highly reliant on these predefined heuristics, being the
general tracking objective for the robot. The more dynam-
ically feasible the trajectory, the better the tracking. Here,
we also track the heuristic but we linearize the dynamics
(13) around previous trajectory solutions. The iterative MPC
setup is defined as Pk :
Rt
Pk : p∗k = minx,u 0 f kx∗H (t) − xkL + kukK dt, s.t.
ẋ = Ak−1 (t)x + Bk−1 (t)u +Ck−1 (t),
(15) Fig. 2. Mini-Cheetah Sim jumping over sloped terrain (real robot in blue;
x(0) = x0 , white robot is the state estimation) Left: aerial phase; Right: forces applied
b(t) ≥ W(t)RTpla (t)u, in the orientation of the terrain.

7346

Authorized licensed use limited to: University of West Florida. Downloaded on October 09,2022 at 13:08:21 UTC from IEEE Xplore. Restrictions apply.
X = Aqp x0 + Bqp U + Cqp (22)
Note that we are omitting the subindex k − 1 in Aqp , Bqp ,
and Cqp , which are built using Ak−1 , Bk−1 and Ck−1 . The
resulting cost function in (15) corresponds to:
J(U) = kAqp x0 + Bqp U + Cqp − x∗Hv kK1 + kUkK2 (23) Fig. 4. Mini-Cheetah robot jumping and spinning 90◦ .
where x∗Hv is the heuristic x∗H vertically stacked, and K1
and K2 are weights defined from (15). We have the QP A. Sloped terrain
optimization written as: For normal walking, a higher level input provides a
commanded velocity and rotation to the robot. Those values
PDk : p∗k = minU 12 UT Hk−1 U + UT gk−1 , s.t. are inserted in the QP as the heuristic x∗d,H (t) in (17),
(24)
Wqp U ≤ bqp
 
r0 + tvcmd
where Wqp and bqp (also dependent on k) contains the
vcmd
x∗d,H (t) = 
 
restrictions of (15) related with the friction constraints and:  (28)
 mr0 × vcmd 
Hk−1 = 2(BTqp K1 Bqp + K2 ) (25) R2qr (E2R(Θd + t Θ̇cmd )RTp )

gk−1 = 2BTqp K1 (Aqp x0 + Cqp − x∗Hv ) (26) where r0 is the current position, vcmd is the commanded
velocity, Θd is the desired orientation of the robot in Euler
E. Whole-Body Controller angles, Θ̇cmd is the commanded RPY derivative for the robot,
The iterative QP formulation PDk given in (24) finds E2R(•) maps an Euler angles to its rotation matrix, and
desired forces to apply to the the world and trajectories for R2qr (•) maps a rotation matrix to its quaternion form. In
the CoM position and orientation. The WBC given in [11] sloped terrain, we desired to orient the robot according to the
is then used to track the desired force, and desired tasks for terrain (posture orientation), so we rotate Θd with the rotation
the CoM position and orientation. We use the same approach matrix of the plane R p . The current heuristic enforces zero
with a minor change in the force constraints to allow the angular momentum around the CoM, because this is only for
robot to use any orientation in the foot, similar to the force common locomotion over sloped terrain.
constraint in (15) and (14) as follows: The matrix R p can be obtained by prior knowledge of the
terrain, or detected by the robot using a least-squares regres-
WRTpla fr ≤ b (27) sion from the estimated contact placements as is described
in [21]. The matrix R plai from (27) can be used as the matrix
where W and b contains the friction constraints for horizontal
R p stacked diagonally.
terrain, R pla is the rotation from the world to the plane
In [22], authors presented the robot HyQ performing
orientation and fr contains the vertically stacked forces. In
a quasi-static walk in a V-shaped terrain where there is
this paper, we sent the cartesian position of the feet as local
not enough friction to apply a vertical force. We obtain
tasks with respect to the body instead of the original tasks
a simulated dynamic walk over a V-shaped terrain. We
with respect to the world.
use the heuristic defined in (28) and assume knowledge
IV. DYNAMIC MOTIONS of the orientation of each side of the terrain. We define
R pla = diag([RV 1 , RV 2 , RV 2 , RV 1 ]) for its use on (27) and
This subsection provide an approach for solving the (15), where RV 1 and RV 2 are the rotation matrices of each
problem of dynamic motions, specifically walks and jumps side of the V-shaped terrain (where the feet are).
over sloped (hardware Fig. 3) and V-shaped (simulation)
terrain, leaps over sloped terrain (hardware), jumps with B. Leap and rotations
yaw rotations (hardware) and frontflips while bounding (sim- In order to obtain a leap over a sloped terrain, we assume
ulation). The MIT Biomimetics physical simulator shows again that the terrain is already known. In this case, when
two robots as in Fig. 2. The “real” robot is shown in the leap event is triggered, the optimization Pk is restarted,
blue, meanwhile the white robot comes from the state i.e., run from k = 1. Here, the initial trajectory to track x∗0 is
estimator. A compilation of the motions can be found at defined as:
www.youtube.com/watch?v=MDEv9g6LHAQ. T
x∗0 (t) = rT0 , 01×3 , 01×3 , qTr0 ∀t ∈ [0,tLO ],

(29)

r0 + vH (t − tLO ) + 12 g(t − tLO )2


 
 vH + g(t − tLO ) 
x∗0 (t) =   ∀t ∈ [tLO ,tla ],
 
 L2H (t) 
qr0 (tla −t)+qr f (t−tLO )
kqr0 (tla −t)+qr f (t−tLO )k
Fig. 3. Mini-Cheetah jumping over sloped terrain using rotated friction (30)
T
x∗0 (t) = rTf , 01×3 , 01×3 , qTrf ∀t ∈ [tla ,t f ],

cones in the MPC and WBC. (31)

7347

Authorized licensed use limited to: University of West Florida. Downloaded on October 09,2022 at 13:08:21 UTC from IEEE Xplore. Restrictions apply.
Fig. 5. Mini-Cheetah Hardware performing a leap between two planes
where tLO is the lift-off time, tla the landing time, r0 the
initial position, qr0 the initial orientation (quaternion), r f the
final desired position, qr f the final desired orientation, and:

r f − r0 − 12 g(tla − tLO )2
vH = , (32)
tla − tLO
1
L2H (t + tLO ) = LH + m(r0 − gt 2 ) × (vH + gt), (33)
2
qr0 + qr f qr f − qr0
 
LH = M† , (34)
kqr0 + qr f k tla − tLO

where M† (qr ) denotes a pseudoinverse of


M(qr ) = Q(qr )I−1 (qr ) from the last equation of (11).
We are using M† (qr ) = 4I(qr )QT (qr ).
The objective of the heuristic is to enforce the robot to stay
in place as much as it can before lifting-off in (29), then the
robot tries to follow a ballistic trajectory that lands in the
Fig. 7. a) Mini-Cheetah Simulation while front-flipping 360◦ . b) Actual
final desired position according to (30) and (32). The robot Quaternion vs Heuristic Quaternion from (30, 4th component). c) Resulting
also tries to reach a constant angular momentum (34) around Roll-Pitch-Yaw.
its CoM that roughly approximates the angular momentum
required to go from the orientation qr0 to qr f under torque- Jumps in Fig. 4 and Fig. 5 are obtained using this
free conditions (finding that real constant angular momentum approach. All we require for generate the Heuristic is the
is a non-trivial problem). The derivation of these initial initial and final orientation in quaternion form. We are able to
trajectory to track is outside the scope of the paper. generate sideflips, frontflips and spinnings because we don’t
Now, the first QP program is solved, ideally P0 (15), but it need information about the axis of rotation. In Fig. 6 the
is approximated by PD0 (24). Although x∗0 (t) is not dynam- resulting predicted trajectories are plotted for the CoM and
ically feasible, it contains enough information to allow PD0 one component of the orientation. This is for a similar leap
to generate a trajectory x∗1,pre (t) that describes the general than the one shown in Fig. 5, but with an initial pitch value
objective, i.e. leap from an initial position and orientation of −20◦ .
to a different position and orientation while following a In Fig. 7 a simulated front-flip is shown. In this case, we
flight phase. x∗1,pre (t) is now quasi-dynamically feasible, i.e. split the heuristic (30) into two heuristics. In the middle there
it is feasible in the components r(t), ṙ(t) and L(t), and the is a “waypoint”, which models the position and orientation
orientation qr (t) is approximated by a linearization with error some horizons (three or four) before the lift off. The only
O(kx∗1 (t) − x∗0 (t)k2 ). We generate x∗1 (t) using the update rule important change in the first segment is that we use a linear
from (17). The Heuristic for the end of the trajectory x∗d,H (t) position of the CoM instead of a ballistic one. In the second
can be simply (31), i.e. constant final desired position and segment, we use the initial quaternion with inverted sign
orientation, so this will work as a landing controller. Another as final quaternion (Quaternions are flipped after a 360◦
possible heuristic for the end of the trajectory is (28), which rotation). The RPY components are obtaining by using a
allows a frontflip and continuous bounding. transformation from quaternions to ZYX Euler angles. Due
to the ill-definition of the transformation near ±90◦ (near t ≈
0.26s), the roll value is no longer zero, it flips aggressively,
and the pitch changes in the opposite directions. Quaternions
prevent those problems.
V. DISCUSSION
One limitation of the current approach is that the QP
program we are using is a discretization of the continuous
optimization, yielding numerical errors. The solving time of
Fig. 6. Actual and predicted Mini-Cheetah CoM trajectory of a leap the QP optimization grows cubically with the number of
exported from the MIT Biomimetics simulator. Orientation (pitch) plotted
as arrows. Red arrows represent the initial orientation. Blue arrows represent
discrete variables (depending on the solver), requiring us to
the predicted final orientation. set a fixed horizon of 10-20 time-steps.

7348

Authorized licensed use limited to: University of West Florida. Downloaded on October 09,2022 at 13:08:21 UTC from IEEE Xplore. Restrictions apply.
The condensed approach for the QP formulation is faster [4] A. Herzog, S. Schaal, and L. Righetti, “Structured contact force op-
at least than sparse direct transcription (for horizons between timization for kino-dynamic motion generation,” in Intelligent Robots
and Systems (IROS), 2016 IEEE/RSJ Int. Conference on, 2016, pp.
10-20 with 120-240 variables), mainly because we avoid the 2703–2710.
equality constraints, but other algorithms (such as splines, [5] P. Fernbach, S. Tonneau, and M. Tax, “CROC: Convex resolution of
direct collocation, or other solvers) may perform better Centroidal Dynamics trajectories to provide a feasibility criterion for
the multi contact planning problem,” in Intelligent Robots and Systems
computationally. The hardware implementation was built (IROS), 2018 IEEE/RSJ International Conference on, Oct 2018.
over the base MIT MiniCheetah code. The MPC algorithm [6] H. Dai and R. Tedrake. “Planning robust walking motion on uneven
is run on a quad-core Intel Atom CPU with 4 GB RAM, terrain via convex optimization,” in Humanoid Robots (Humanoids),
2016 IEEE-RAS 16th International Conference on, 2016.
at a fixed update frequency of approximately 38.5Hz. The [7] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K.
QP is reliably solved on-board within this allotted time. The Yokoi, H. Hirukawa. “Resolved momentum control: humanoid motion
solving time is ≈ 3ms for common locomotion (horizon: 10) planning based on the linear and angular momentum,” in Intelligent
Robots and Systems (IROS) 2003, IEEE/RSJ International Conference
and ≈ 7ms for jumps (horizon: 16). on, 2003.
Another limitation is the assumed fixed timing and the step [8] S. Kuindersma, R. Deits, M. Fallon, A. Valenzuela, H. Dai, F.
adjustment problem. This is well addressed for flat terrain Permenter, T. Koolen, P. Marion, and R. Tedrake, “Optimization-
based locomotion planning, estimation, and control design for the
(or even for small slopes in the terrain when the steps are atlas humanoid robot,” Autonomous Robots, vol. 40, pp. 429–455, Mar
projected) by the heuristics described in [12], [21], [15], but 2016.
these heuristics do not work well in terrain with steep inclines [9] T. Koolen, T. De Boer, J. Rebula, A. Goswami, and J. Pratt,
“Capturability-based analysis and control of legged locomotion, part 1:
or in vertical walls. Another interesting topic of study is Theory and application to three simple gait models,” The International
the inclusion of the stepping places in the optimization, Journal of Robotics Research, vol. 31, no. 9, pp. 1094–1113, 2012.
which introduces significant non-linearities in the dynamics, [10] S. Fahmi, C. Mastalli, M. Focchi and C. Semini, “Passive Whole-
Body Control for Quadruped Robots: Experimental Validation Over
specifically in the Bk−1 (t) matrix from the (15). Challenging Terrain,” in IEEE Robotics and Automation Letters, vol.
While the heuristic vH (32) partially mitigates the fixed 4, no. 3, pp. 2553-2560, July 2019.
time step problem, we still need to provide good values [11] D. Kim, J. Di Carlo, B. Katz, G. Bledt, and S. Kim “Highly Dynamic
Quadruped Locomotion via Whole-Body Impulse Control and Model
for the lifting-off and the landing time. The optimization Predictive Control,” in arXiv preprint arXiv:1909.0658, Sep 2019.
in (15) finds good corrections for dynamic tracking errors, [12] B. Katz, J. Di Carlo, and S. Kim. “Mini Cheetah: A Platform for
but it is still subject to the pre-calculated contact phases, Pushing the Limits of Dynamic Quadruped Control,” in Robotics and
Automation (ICRA), 2019 IEEE-RAS International Conference on,
as times are fixed in the optimization. We wish to obtain 2019.
online optimization which also modifies the timing between [13] J. Di Carlo, P. Wensing, B. Katz, G. Bledt, and S. Kim. “Dynamic
steps. Using variable times though changes the problem to Locomotion in the MIT Cheetah 3 Through Convex Model-Predictive
Control,” in Intelligent Robots and Systems (IROS), 2018 IEEE/RSJ
a complex state-dependent hybrid system, meanwhile giving International Conference on, 2018.
the program multiple possible times for the solution results [14] G. Bledt, P. Wensing and S. Kim. “Policy-regularized model predictive
using Mixed-Integer Programming, which is usually slower. control to stabilize diverse quadrupedal gaits for the MIT cheetah,” in
Intelligent Robots and Systems (IROS), 2017 IEEE/RSJ International
VI. CONCLUSIONS Conference on, 2017.
[15] G. Bledt, and S. Kim. “Implementing Regularized Predictive Control
In the presented work, we obtained highly dynamic fea- for Simultaneous Real-Time Footstep and Ground Reaction Force Op-
sible trajectories for the centroidal dynamics, and quasi- timization,” in Intelligent Robots and Systems (IROS), 2019 IEEE/RSJ
International Conference on, 2019.
feasible orientations of the robot using a MPC formulation [16] G. Bledt, and S. Kim. “Extracting Legged Locomotion Heuristics with
in a time-varying linearization of the dynamics of the Single Regularized Predictive Control,” to appear in Robotics and Automation
Rigid Body Model. This orientation approximation approach (ICRA), 2020 IEEE-RAS International Conference on, 2020.
[17] Y. Ding, A. Pandala, and Hae-Won Park.“Real-time model predictive
results in a quadratic error, rather than the standard linear control for versatile dynamic motions in quadrupedal robots,” in
error. We have shown the results of the rotation of the friction Robotics and Automation (ICRA), 2019 IEEE International Conference
cone, and jumps of 90◦ in the yaw componnent and jumps on, 2019 pp. 8484-8490.
[18] G. Bledt, P. M. Wensing, S. Ingersoll, and S. Kim, “Contact model fu-
over a 20◦ sloped terrain. The theoretical derivation and sion for event-based locomotion in unstructured terrains,” in Robotics
the results obtained in simulation are a solid base for the and Automation (ICRA), 2018 IEEE-RAS International Conference on,
implementation on real hardware of higher dynamic motions 2018, pp. 1–8.
[19] L. Manuelli and R. Tedrake, “Localizing external contact using pro-
like the frontflips, backflips or sideflips like in Fig. 7, and this prioceptive sensors: The contact particle filter,” in 2016 IEEE/RSJ
depends on improvements of other areas like state estimation International Conference on Intelligent Robots and Systems (IROS),
for the landing controller. pp. 5062–5069, Oct 2016.
[20] S. Echeandia, and P. Wensing “Numerical Methods to Compute the
R EFERENCES Coriolis Matrix and Christoffel Symbols for Rigid-Body Systems,” in
arXiv preprint arXiv:2010.01033, Oct 2020.
[1] D. Orin, A. Goswami, and S. Lee. Centroidal dynamics of a humanoid [21] G. Bledt, P. Wensing and S. Kim. “MIT Cheetah 3: Design and Control
robot. Autonomous Robots, (September 2012):1–16, Jun 2013. of a Robust, Dynamic Quadruped Robot,” in Intelligent Robots and
[2] H. Dai, A. Valenzuela, and R. Tedrake. “Whole-Body Motion Planning Systems (IROS), 2018 IEEE-RAS International Conference on, 2018.
with Centroidal Dynamics and Full Kinematics,” in Humanoid Robots [22] M. Focchi, A. del Prete, I. Havoutis, R. Featherstone, D. G. Caldwell,
(Humanoids), 2014 IEEE-RAS 14th International Conference on, and C. Semini, “High-slope terrain locomotion for torque-controlled
2014. quadruped robots,” Auton. Robots, vol. 41, no. 1, pp. 259–272, 2017.
[3] B. Ponton, A. Herzog, S. Schaal, and L. Righetti, “A convex model of
humanoid momentum dynamics for multi-contact motion generation,”
in Humanoid Robots (Humanoids), 2016 IEEE-RAS 16th International
Conference on, 2016.

7349

Authorized licensed use limited to: University of West Florida. Downloaded on October 09,2022 at 13:08:21 UTC from IEEE Xplore. Restrictions apply.
View publication stats

You might also like