Paper Control
Paper Control
The advantage of this proposed method is that the inter- HT wGI ≤ 0 (18)
section is performed in 3D rather than in 6D, which is where H ∈ R6×nh is the matrix whose columns are the
computationally faster. This is advantageous also for the final normals to all the half-spaces of the FWP and ≤ is a
step in (13) because it avoids computing vertices that will component-wise operator. The columns of H can be divided
be removed later (e.g. all the vertices from the AWP with into two blocks Hc and Ha in order to differentiate the
negative contact forces are removed by intersecting with the CWC half-spaces from the AWP half-spaces, respectively:
CWC). Additionally, the Minkowski sum can be efficiently H = [Hc |Ha ]. If HTc wGI > 0 but HTa wGI ≤ 0 then the
obtained using the V-description only as in [11]. robot’s state is consistent with its actuation capabilities but its
contact condition is unstable (e.g. friction limits are violated).
Viceversa, if HTc wGI ≤ 0 but HTa wGI > 0 then the system
C. Polytope representation for a Planar model has stable contacts but it does not respect the actuation limits.
To achieve a better understanding of the nature of these In the latter case, the legged system might still not fall but
polytopes, let us consider the simplified case of a planar it will not be able to realize the desired task.
dynamic model, as in Fig. 2 (right), where each point of the If the H-description of the FWP is given, we can provide
space is represented through the (x, z) coordinates. In this a definition of robustness that extends the properties of the
case the wrench space has three coordinates (Fx , Fz , τy ) and CWC margin. In the same line with [6] the feasibility metric
can be represented in 3D. Fig. 3 depicts the AWP (left), the can be defined as the margin m, i.e. the distance, of the point
CWC (center) and the FWP (right) for this simplified model. wGI from the boundaries of the FWP. This corresponds to
T LS
500
AWP 1500
CWC 1500
FWP
1000
Fz [N ]
1000
Fz [N ]
0
=y
500 500
-500
500 0
2000
-1000
0 0 -2000 0 0
0 1500 1000 500 -1000
0 -500 -1000 -1500 -3000 1500 1000 500 0 -2000
-500 -1000 -1500 -3000
Fx -500 -2000 Fz Fx [N ] =y [N m] Fx [N ] =y [N m]
Fig. 3. The Actuation Wrench Polytope (AWP) (left), the Contact Wrench Cone (CWC) (center) and the Feasible Wrench Polytope (FWP) (right). These
drawings refer to a planar dynamic model where the only non zero wrench components are (Fx , Fz , τy ) and that can therefore be represented in 3D.
finding the biggest disturbance wrench wd ∈ R6 that the The FWP’s vertices v̂i are linked to the vertices of P s
system can reject. This is equivalent to computing the largest through the feasibility factor s:
residual radius m such that the m-ball Bm (centered in wGI ) v̂is = v̂i (1 − s), −∞ < s ≤ 1 (22)
still lies within the FWP: s
If, for instance, s = 1 then P shrinks into the origin. If
Bm ∈ F W P (19) we impose λi = (1 − s)λsi , then we can write the shrunk
polytope P s in terms of the vertices v̂i of the FWP, i.e.:
where Bm is defined as: n nv
X o
P s = w ∈ R6 |w = λi v̂i , λi ≥ 0, kλk1 = 1−s (23)
Bm = {wGI + T(pwd )wd | wdT Qwd ≤ m} (20) i=1
pwd is the disturbance application point and T(pwd ) is the We can see the feasibility factor as the scalar s that corre-
adjoint spatial transform that expresses it in the frame W sponds to the smallest shrunk polytope containing the point
[6]. Q is a positive definite matrix that is used to make the wGI . The problem of finding s can be formulated as a Linear
units of the wrench homogeneous. Program (LP) that can be carried out by any general-purpose
solver: max s
B. Vertex description
λ,s
If only a V-description of the FWP is available, the s. t. Vλ = wGI
distance between wGI and the faces of the FWP cannot be (24)
kλk1 = 1 − s s ∈ (−∞, 1]
computed anymore and a different definition of feasibility
metrics is needed. We decide to employ in this case a λi ≥ 0 i = 1, . . . , nv
feasibility scalar factor s ∈ (−∞, 1] adapted by the scaling Note that the larger is s, the more robust is the system against
factor defined in [1] used to measure a robotic grasp quality. disturbances. A negative s means that the point is out of the
Let us consider a matrix V ∈ R6×nv whose columns are polytope and the wrench is unfeasible. When s becomes zero,
the vertices vi of the FWP, and a vector λ ∈ Rn+v of non- it means the point is on the polytope boundary and that either
negative weights where nv is the number of vertices of the the friction or actuation limits are violated. Table I shows the
FWP. Every point inside the FWP can P be described with computation time of a Intel(R) Core(TM) i5-4440 CPU @
nv 3.10GHz with 4 cores for three and four contacts scenarios.
a combination of weights λi such that i=0 λi = 1. We
therefore define the robot to be in a feasible state if, for The feasibility factor s, unlike the margin m, is not sensitive
the corresponding wrench wGI , there exists a λ such that to the fact of having different units in the wrench space since
Vλ = wGI , with kλk1 = 1 and λi ≥ 0 i = 1, . . . , nv . it does not encode the concept of distance. On the other
A preliminary step for the computation of the feasibility hand, for the very same reason, the factor s of a given joint
factor consists in subtracting the centroid vc from all the configuration cannot be compared to another configuration,
FWP vertices vi , obtaining new translated vertices v̂i (v̂i = because of the different scaling of the two polytopes.
vi − vc ). This has the effect of shifting the origin of the V. O NLINE T RAJECTORY O PTIMIZATION (TO)
wrench space in the centroid, that, in a V-representation, is The FWP factor can be used to devise a motion planner
a good approximation of the most “robust” point (e.g. the that provides robust CoM trajectories. Hereafter, we present
Chebishev centre). We then define a new shrunk polytope a brief description of how we used the proposed criterion
P s centered in the origin (which is now also the centroid of
the FWP). P s can be expressed in terms of its own vertices TABLE I
v̂is and of a set of multipliers λsi : COMPUTATION TIME OF THE FEASIBILITY FACTOR s
n nv
X o 3 non-coplanar contacts 4 non-coplanar contacts
s 6
P = w ∈ R |w = λsi v̂is , λsi ≥ 0, kλs k1 = 1 (21) FWP vertices 436 1118
i=1 variables 437 1119
constraints 7 7
For a better understanding Fig. 4 (left) illustrates the idea LP time [ms] 90 350
of the shrunk polytope for a 2D representation.
TABLE II
to plan online motions for our quadruped robot, that do not
FWP’ S V - AND H- DESCRIPTION COMPUTATION TIME WITH P OLITOPIX [26].
violate the actuation limits.
2 contact points 3 contact points 4 contact points
We further extended the capabilities of the locomotion V-description 0.03s 0.15s 0.49s
framework [24], [25] by replacing the original (heuristic) H-description 0.04s 1.03s 30.21s
planner with a trajectory optimizer that exploits the proposed TABLE III
feasibility criterion. This framework realizes a statically TO OF THE VARIABLES Γ USING THE FWP V - DESCRIPTION
stable crawling gait where a base motion phase and a swing 3 non-coplanar contacts 4 non-coplanar contacts
motion phase are alternated (therefore the base of the robot timesteps 10 10
does not move when a leg is in swing). FWP vertices 436 1118
variables Γ 41 41
To be able to compare with the heuristic planner, we opted constraints 24 24
for a decoupled planning approach where the footholds and time [ms] 75 85
the CoM trajectory of the robot are determined sequentially.
the states Γ of the system and the number of vertices will
Our online TO computes during every swing phase the CoM
influence the size of the TO problem only marginally (see
trajectory to be realized in the next base motion phase using a
Table III). We noticed that adding a bias term in the nullspace
one-step horizon. The decision variables of the optimization
of V to “drive” the solution λ[k] toward λ0 ∈ Rnv was
problem are the X, Y components of the CoM positions, the
giving satisfactory results:
velocities and the duration of the base motion phase ∆tbm :
Γ = {cx [k], cy [k], ċx [k], ċy [k], ∆tbm } with k = 1, · · · , N . λ[k] = V# wGI [k] + NV λ0 , λ ∈ Rnv (27)
The trajectory is discretized in N equally spaced knots (at
time intervals h = ∆tbm /N ). Note, that we here do not where NV ∈ Rnv ×nv is the null-space projector associated
optimize the angular dynamics nor the coordinate z, parallel to V. Indeed, if we set λ0 = [1/nv , · · · , 1/nv ] as the
to gravity. This is because, for quasi static motions, the geometric center of the FWP, the constraints kλ0 k1 =
predominant acceleration term acting on the system is gravity 1, λ0i > 0 are satisfied by construction. Thanks to the one-to-
itself, and therefore its influence on the stability or on the one correspondence between the gravito-inertial wrench and
joint torques is limited compared to the role of the X and the weights λ, penalizing the deviation of λ ∈ Rnv from λ0
Y components. We aim to maximize the FWP factor s, as is equivalent to maximizing the feasibility factor. Therefore,
in Eq. 24, while we enforce back-ward Euler integration we formulate hthe running costi computation as:
constraints along the trajectory and zero velocity at the L (c[k], ḣ[k], V) = kλ[k] − λ0 k2 (28)
trajectory extremes: A. Computational issues and approximations
N
X Despite the remarkable computational speed-up obtained
min L(c[k], ḣ[k], V) by the use of the V-description (see Table II), the evaluation
Γ
k=1
of the FWP still represents the most time-consuming (a) of
s. t. ċx [k + 1] = (cx [k + 1] − cx [k])/h (25)
this pipeline (about 150ms needed for a triple-stance config-
ċy [k + 1] = (cy [k + 1] − cy [k])/h uration). The subsequent step (b), i.e. the solution of the TO
ċx [0] = ċy [0] = ċx [N ] = ċy [N ] = 0 problem for a given FWP, requires instead about 75 − 85ms
for 10 nodes trajectory. In theory we should recompute step
As a first step, we evaluate the FWP polytope considering a and step b iteratively, concurrently optimizing the vertices
the robot contact configuration. By assuming a quasi-static of the FWP and the trajectory inside it. We decided instead
condition (q̈ = q̇ = 0), Eq. 3 reduces to: to compute the FWP only once per step, assuming that its
filim = Ji (q0i )−T g(q0i ) − Bτ lim (q0i ) (26) vertices do not change during the execution of each phase,
as explained in the following paragraph.
Exploiting the approximation later explained in Section V-A We analyze the influence on the estimated maximum and
we compute the FWP just once at the beginning PN of the minimum contact force when the Jacobian matrix is ap-
optimization. Then, to compute the running cost k=1 L, proximated to be constant along a body motion of the HyQ
for each optimization loop, we evaluate the CoM acceleration robot. In Fig. 5 we can see the contact force boundaries (Z
along the trajectory (h·c̈x,y [k+1] = ċx,y [k+1]− ċx,y [k], ∀k) component only) when a foot spans its workspace (the foot
and evaluate the gravito-inertial wrench at each knot through covers all the X and Y positions on a plane located at Z =
(14). In order to exploit the V-description, for each node, −0.6m). The green surfaces represent the real boundaries of
we should add the λ vector as decision variable and the the vertical contact force considering the correct leg Jacobian
constraints in (24). However, the amount of decision vari- and correct piston lever-arm for each considered position.
ables would significantly increase due to the high number The red surfaces show instead the same force boundaries
of vertices in the polytope (i.e. λ may have hundreds of when the correct piston lever-arm and a constant Jacobian
elements for each optimization knot) leading to computation is evaluated. We can see that in a neighborhood of the de-
times that do not meet the requirements for online planning. fault foot configuration([0.3, 0.2, −0.6]m with respect to the
Thus we tackled this problem by computing the set of λ base frame of the robot) the approximation is accurate and
through a simple Moore-Penrose pseudo-inversion: λ[k] = becomes rough in proximity of the workspace boundaries.
V# wGI [k]. In this way the decision variables will be only We chose to use a constant Jacobian matrix corresponding
Lateral shift /y test Vertical disturbance dz test
0
dz [N ]
/y [m]
0.3 -500
0.2
-1000
0.1 Heuristic plan
0 0.5 1
Heuristic
1.5
plan
0 2 4 6 8
CWC plan10 CWC plan
0.4 FWP plan 0.4 FWP plan
s
0.2
s
0.2
0 0
0 2 4 6 8 10 0 0.5 1 1.5
400 150
= [Nm]
Fz [N]
200 100 torques limit
0 50
0 2 4 6 8 10 0 0.5 1 1.5
time [s] time [s]
Fig. 4. A 2D pictorial representation of the shrunk polytope P s (left): we see that the factor s can be seen as the shrinkage rate of the reduced polytope
with respect to the FWP; simulation data of the horizontal displacement test (center) and vertical disturbance test (right).
to a joint configuration q0 of the trajectory coming from the with the knee joint torque of the LF leg and the feasibility
heuristic plan. In this way the Jacobian remains constant and factors s in the three cases. We can see that, in the case of the
we remove the AWP’s dependency from the joints position. static configuration found with the FWP planner, the torque
As a further simplification we assume a quasi-static motion limit is reached for a higher amplitude of the disturbing
as in Eq. 26. These assumptions allow us to compute the force (about −1100N compared to −900N ), showing that
FWP only once at each stance change. Note that all the this is more robust against external disturbance forces than
wrenches are expressed in the fixed frame. the configurations selected by the heuristic and by the CWC
VI. E XPERIMENTAL R ESULTS planners. We can see that in all the cases the feasibility factor
In this section we present simulation results and real s goes to zero when a torque limit is violated.
experiments with the HyQ robot. The first two simulations
validate the feasibility factor formulation based on the V-
description of the FWP. After that we highlight the differ-
ences between our proposed feasibility metric and the state-
of-the-art stability metric. Finally we present a few examples
of the behaviors we can obtain with the TO presented in
Section V.
A. FWP-based feasibility factor validation
In a first test, we consider three different motion planners:
the heuristic planner, a CWC planner (that incorporates only
frictional constraints) and our FWP planner. We have the
robot crawling where the CoM trajectory is planned by Fig. 5. Contact force limits (Z component) on the left-front (LF) leg of
HyQ as a function of the foot position computed with real torque limits
the three different methods and, in all cases, we stop the (green) and with jacobian approximation (red).
robot during a triple-stance phase (being more critical for
robustness than four-stance phases). We then make the robot B. CWC-margin vs. FWP-factor Comparison
displace laterally with an increasing offset δy = 0.5 m The last test highlights the main differences between the
( ∈ R increases linearly from 0 to 1). The objective is to feasibility metrics s and the traditional stability measures. As
obtain a gradual unloading of the lateral legs and therefore state-of-the-art stability metric we consider the CWC-margin,
violate the unilaterality constraints. Figure 4 (center) shows which is obtained by applying Eq. 24 on the V-description
the evolution of the displacement δy and of the normal of the CWC, rather than the FWP as explained in Section
component of the contact force Fz at the left-front (LF ) IV-B. Fig. 6 (above) shows the results when a crawl gait
leg. As expected the plot shows that for all the cases s drops is evaluated using this method. The red line represents the
to zero when the leg LF becomes unloaded (Fz = 0). value of the CWC-margin during the triple-stance phase of
In the second test the robot is again stopped during a walk a crawling gait. The dashed blue line represents the same
in a three-legs stance configuration. This time a vertical walk, evaluated again with the CWC-margin, in the case that
disturbance force was applied at the origin of the base link an external load of 20kg is applied on the CoM of the robot
(i.e. the geometric center of the torso). The force is vertical during its walk. The factor referring to the four-legs stance is
and pointing downwards with increasing magnitude dz = not directly comparable to the triple-stance phase because the
−1000 N where ∈ R is linearly increasing from 0 to vertices of the FWP have a different scaling. For this reason
1. The joint torques will increase because of the action of we only show the values referring to the triple stance. We can
this force, eventually making one (or more) of them hit the see that the same two trials, with and without external load,
limits. Since the test is performed in a static configuration provide a completely different result if evaluated with the
and the disturbance force is always vertical, the Center of FWP-factor (Fig. 6 bottom): the blue-dashed line shows that
Pressure (CoP) of the system will not change, being the the feasibility is lower in the case with external load. This
robot always statically stable. Fig. 4 (right) shows a plot implies that, when the load increases, even if the stability
of the magnitude of the vertical pushing force dz together might improve, the risk of hitting the torque limits is higher.
CWC margin [2] C. Mastalli, M. Focchi, I. Havoutis, A. Radulescu, S. Calinon,
0.2 J. Buchli, D. G. Caldwell, and C. Semini, “Trajectory and Foothold
0.1 Optimization using Low-Dimensional Models for Rough Terrain Lo-
0 comotion,” in International Conference on Robotics and Automation
0 2 4 6 8 10 12
(ICRA), 2017.
FWP margin with load
[3] J. Carpentier, R. Budhiraja, and N. Mansard, “Learning Feasibility
0.2 without load
Constraints for Multi-contact Locomotion of Legged Robots,” in
0.1 Robotics Science and Systems (RSS), 2017.
0 [4] D. Orin, A. Goswami, and S. Lee, “Centroidal Dynamics of a
0 2 4 6 8 10 12
Humanoid Robot,” Autonomous Robots, vol. 35, pp. 161–176, 2013.
time [s] [5] H. Hirukawa, K. Kaneko, S. Hattori, F. Kanehiro, K. Harada, K. Fu-
Fig. 6. Evaluation of the same heuristic crawl gait (with and without 20kg
load)
10 with the CWC margin (top) and with the FWP factor (bottom). jiwara, S. Kajita, and M. Morisawa, “A Universal Stability Criterion
of the Foot Contact of Legged Robots - Adios ZMP,” in ICRA, 2006.
[6] H. Dai and R. Tedrake, “Planning robust walking motion on uneven
0
C. Crawling Simulations terrain via convex optimization,” in Humanoids, 2016.
3 [7] H. Audren and A. Kheddar, “3D robust stability polyhedron in multi-
-10As shown in the accompanying video , we report a few contact,” February 2017, eprint hal:lirmm-01477362.
0
simulation and50hardware experiments
100 150 200
of HyQ performing [8] A. Del Prete, S. Tonneau, and N. Mansard, “Fast algorithms to test
a crawling gait. At first we see that the heuristic crawl robust static equilibrium for legged robots,” in ICRA, 2016.
easily hits the torque limits while crawling on a flat ground [9] B. Aceituno-Cabezas, C. Mastalli, D. Hongkai, M. Focchi, A. Rad-
ulescu, D. G. Caldwell, J. Cappelletto, J. C. Grieco, G. Fernando-
while carrying an external load of 20kg (about 25% of the Lopez, and C. Semini, “Simultaneous Contact, Gait and Motion Plan-
robot total weight) placed on its CoM. We can then see that ning for Robust Multi-Legged Locomotion via Mixed-Integer Convex
the FWP planner, as explained in Section V, finds a new Optimization,” in IEEE Robotics and Automation Letters (RA-L), 2018.
[10] V. Samy, S. Caron, K. Bouyarmane, and A. Kheddar, “Post-Impact
duration ∆tbm of the base motion phase and a new CoM Adaptive Compliance for Humanoid Falls Using Predictive Control of
trajectory that avoids hitting the torque limits at all times, a Reduced Model,” July 2017, eprint hal:01569819.
while maintaining the desired linear speed. [11] V. Delos and D. Teissandier, “Minkowski sum of polytopes defined
by their vertices,” Journal of Applied Mathematics and Physics, 2015.
Final simulations show the capability of the planner to [12] R. Orsolino, M. Focchi, C. Mastalli, H. Dai, D. G. Caldwell, and
optimize feasible trajectories when the robot has a hindered C. Semini, “The Actuation-consistent Wrench Polytope (AWP) and
joint (i.e. when a specific joint can only realize a significantly the Feasible Wrench Polytope (FWP),” in arXiv:1712.02731, 2017.
[13] C. Semini, N. Tsagarakis, E. Guglielmino, M. Focchi, F. Cannella,
smaller torque than the other joints), or when we limit the and D. Caldwell, “Design of HyQ – a Hydraulically and Electrically
normal force that a specific leg can realize on the ground. The Actuated Quadruped Robot,” J. of Systems and Control Eng., 2011.
video also shows hardware experiments of HyQ crawling on [14] P. Bosscher, A. T. Riechel, and I. Ebert-Uphoff, “Wrench-feasible
workspace generation for cable-driven robots,” TRO, vol. 22, 2006.
a rough terrain without hitting the torque limits. [15] S. Bouchard, C. Gosselin, and B. Moore, “On the ability of a cable-
VII. C ONCLUSION driven robot to generate a prescribed set of wrenches,” in ASME
The complexity of a motion increases with the complexity Journal of Mechanisms and Robotics, 2010.
of the terrain to be traversed. Moreover, there is a need for [16] S. Arroyave-Tobon, D. Teissandier, and V. Delos, “Applying screw
theory for summing sets of constraints in geometric tolerancing,”
online motion replanning to avoid error accumulation. For Mechanism and Machine Theory, 2017.
these reasons, in this paper, we presented the concepts of [17] A. Bicchi, “On the closure properties of robotic grasping,” in Inter-
AWP and FWP and a method to efficiently compute their V- national Journal of Robotics Research, 2015, pp. 319–334.
[18] T. Saida, Y. Yokokohji, and T. Yoshikawa, “FSW (feasible
description. We then adapted a feasibility factor, originally solution of wrench) for multi-legged robots,” in ICRA, 2003.
proposed for grasping [1], to the V-description of the FWP [Online]. Available: http://ieeexplore.ieee.org/lpdocs/epic03/wrap-
in order to study the stability and the actuation-consistency per.htm?arnumber=1242182
[19] H. Dai, “Robust multi-contact dynamical motion planning using con-
of a given motion plan. Finally we showed how this factor tact wrench set,” Ph.D. dissertation, MIT, 2016.
can be used in a CoM trajectory optimization not only for [20] S. Caron, Q.-C. Pham, and Y. Nakamura, “Leveraging Cone Double
feasibility evaluation but also for motion planning. Description for Multi-contact Stability of Humanoids with Applica-
tions to Statics and Dynamics,” in RSS, 2015.
Thanks to the efficiency of the vertex-based approach we [21] S. Caron and A. Kheddar, “Dynamic Walking over Rough Terrains by
are able to perform online TO where the robot plans during Nonlinear Predictive Control of the Floating-base Inverted Pendulum,”
each swing the trajectory for the next base motion phase. Our in eprint arXiv:1703.00688, 2017.
[22] P. Chiacchio, Y. Bouffard-Vercelli, and F. Pierrot, “Force Polytope
approach does not take any assumption on the environment and Force Ellipsoid for Redundant Manipulators,” Journal of Robotic
and it is therefore suitable for complex terrain scenarios. Systems, vol. 14, no. 8, pp. 613–620, 1997.
Future works will concentrate on the removal of the approx- [23] F. Guay, P. Cardou, A. L. Cruz Ruiz, and S. Caro, “Measuring how
well a structure supports varying external wrenches,” in New Advances
imations mentioned in Section V-A and on the integration of in Mechanisms, Transmissions and Applications, 2014, pp. 385 – 392.
planned and reactive locomotion behaviors [27]. [24] M. Focchi, A. Del Prete, I. Havoutis, R. Featherstone, D. G. Caldwell,
ACKNOWLEDGMENT and C. Semini, “High-slope terrain locomotion for torque-controlled
The authors are grateful to Vincent Delos and Prof. Denis quadruped robots,” Autonomous Robots, 2017. [Online]. Available:
http://dx.doi.org/10.1007/s10514-016-9573-1
Teissandier of the I2M lab., University of Bordeaux, for the [25] M. Focchi, R. Featherstone, R. Orsolino, D. G. Caldwell, and C. Sem-
fruitful discussions about computational geometry. ini, “Viscosity-based Height Reflex for Workspace Augmentation for
Quadrupedal Locomotion on Rough Terrain,” in IROS, 2017.
R EFERENCES [26] V. Delos, “Politopix,” http://i2m.u-bordeaux.fr/politopix.html, 2015.
[1] R. Krug, A. J. Lilienthal, D. Kragic, and Y. Bekiroglu, “Analytic Grasp [27] V. Barasuol, M. Camurri, S. Bazeille, D. Caldwell, and C. Semini, “Re-
Success Prediction with Tactile Feedback,” in ICRA, 2016. active trotting with foot placement corrections through visual pattern
classification,” in IEEE/RSJ International Conference on Intelligent
3 https://youtu.be/vUx5b5kfRfE
Robots and Systems (IROS), 2015.