Stéphane Caron
LIRMM, CNRS-UM2
Talk at Max Planck Institute
September 19, 2016
https://scaron.info/slides/mpi-2016/
A motion q(t),τ(t),f(t),C(t) is a solution to the equations of motion:
M(q)¨q+h(q,˙q)=S⊤τ+∑i∈CJ⊤ifiA motion is contact stable if it contains no transition between contact modes, that is, if C(t) is stationary.
A trajectory q(t) in contact state C is (weak) contact stable if it is possible to perform it with no contact switch:
∃{fi∈FCi},M(q)¨q+h(q,˙q)=S⊤τ+∑i∈CJ⊤ifiLet vi and fi denote the velocity and force on a given DOF i of a rigid body.
When one is equality-constrained, the other is always inequality-constrained:
vi= | vi≤ |
fi≤ | fi= |
A contact mode specifies which of vi,fi is equality-constrained for all contact DOFs i.
In the fixed contact mode, all contact velocities are zero Ji˙q=0 and contact forces lie in their friction cones Fifi≤0.
in the fixed mode
The Contact Wrench Cone characterizes contact stability, that is:
∃{fi∈FCi},M(q)¨q+h(q,˙q)=S⊤τ+4∑i=1J⊤Cifi⇔∃wO∈CWCO,M(q)¨q+h(q,˙q)=S⊤τ+J⊤OwOModel found in previous works: |τzO|≤μτfz ... but physically incorrect.
Taken at the center of pressure C, the correct condition is:
|τzC−τsafe| ≤ μdedgefzfor multi-contact locomotion
The ZMP is traditionally defined as the point on the floor where the moment of the contact wrench is parallel to the surface normal (Sardain & Bessonnet, 2004).
The point at which the robot “applies its weight”.
The ZMP must lie inside the support polygon (convex hull of ground contact points).
The ZMP is mathematically defined from a wrench (Sardain & Bessonnet, 2004). The ZMP in the plane Π(O,n) of normal n containing O is the point such that n×τZ=0, that is:
pZ=n×τOn⋅f+pO.We define the full support area S as the image of the CWC by this equation.
This area can be computed geometrically (Caron et al., 2016):
The area is not always a polygon:
The equations of motion consist of two components:
First, solve contact stability for the COM and angular momentum trajectory.
Next, joint angles will follow...
The Newton equation can be written equivalently:
¨xG=g+¨zGzG−zZ(xG−xZ)−˙LGxm(zG−zZ)and similarly for ¨yG. The Linear Inverted Pendulum Mode (Kajita et al., 2001) is obtained by constraining:
zG−zZ=h˙LG=0The system dynamics become ¨xG=gh(xZ−xG).
The support area in the LIPM is smaller than the convex hull of contact points:
The double-description method can be used (Caron et al., 2016) to compute the support area corresponding to the system:
w∈CWCzG−zZ=h˙LG=0We call it the pendular support area.
It is smaller than the full support area and characterizes contact stability in the pendular mode.
Let us consider the ZMP above the COM:
¨xG = gh(xG−xZ)This is the dynamic equation of a spring.
Control law where the robot is driven from above.
a multi-contact walking pattern generator
Removes the planar COM constraint.
Algorithm to compute it as convex hull of 2D dual points, fast and numerically robust (Caron & Kheddar, submitted).
Consider the linear control problem:
x(k+1)=Ax(k)+Bu(k)Predictive control achieves a task over a preview horizon:
min{u(k)} ∥x(N)−xgoal∥2+ϵ∑k∥u(k)∥2s.t. ∀k, u(k)∈C(x(k))where C(x(k)) is the COM acceleration cone at time step k. This constraint is linear-quadratic due to its dependency on x(k).
Bound the preview COM trajectory in a tube T, then compute the intersection:
IT=⋂pG∈TC(pG)Conservative contact-stability criterion.
Decouples u(k)∈C(x(k)) into:
CTu(k)≤0PTx(k)≤0
Problem: fixed step timings do not work any more in multi-contact (now depends on terrain topology).
Given a path q(s) and dynamic constraints, TOPP finds a retiming q(t) satisfying all constraints and with minimum duration.
Continuous interpolation/retiming loop running at 20-30 Hz thanks to a new TOPP-Polygon algorithm.
Analytical formula of the CWC: friction cone, COP area, yaw moment.
Applicable to general multi-contact locomotion, but COM planar constraint.
Generalizes the latter. Computed fast enough for the control loop.
Use a QCQP solver, or... linearize inequality constraints.