The Newton-Euler equations that govern multi-body systems are not integrable in general. However, they become so in the pendular mode, a specific way of moving where conservation of the angular momentum is enforced. This property was successfully showcased for locomotion over horizontal floors (2D locomotion) by walking-pattern generators based on the LIPM and CART-table models. In this talk, we will see how to generalize these two models to 3D locomotion while taking into account both friction and tilted contacts, resulting into the FIP (3D version of LIPM) and COM-accel (3D version of CART-table) models. We will demonstrate both approaches in live simulations with the HRP-4 humanoid model.
Thanks to all the people who attended the presentations and asked meaningful questions about it (including those I forgot to write down below!). Feel free to write me directly if you have any other question related to this talk.
In this presentation, you linearized friction cones using the inner-pyramid approximation. What is the cost of this approximation? Why not using the full second-order friction cones?
To answer the first part of your question, in my opinion the cost of this approximation is small: the forces we miss in the corner volumes (between the second-order cone and its inner pyramids) are extreme values anyway, and we want to avoid them in practice. This is to be balanced with the benefits of working with polytopes: (1) the class of optimization problems becomes LP or QP, and these problems are usually solved faster than the SOCPs you get with second-order cones,* and (2) polyhedral manipulations allow you to compute more complex objects, such as torque-limited friction cones. By the way, second-order friction cones are themselves an outer approximation of a more complex phenomenon, see e.g. Coulomb-Orowan pseudo-codes.
The debate is not closed at any rate. As a matter of fact it is still ongoing in my team as well, where Hervé Audren uses SOCPs in his computation of robust static-equilibrium polytopes.
* It is not true in general that "SOCP is slower than LP/QP", but in my experience it is the case in force optimization.
You added friction to your model but for walking on flat floors it is usually neglected. What is the motivation for that?
At the end of the day the motivation is always experimental: with common friction coefficients (0.7 and more), the most stringent contact-stability constraint in practice is the ZMP one. When you don't need to model friction to get your experiments to work, it makes sense not to model it. Now, this observation becomes less and less true when your contacts are tilted (especially when they are tilted outward since angular-momentum conservation tends to get forces pointing to the CoM), so for general walking over rough terrains you want to consider modelling friction.
The second good reason for doing that is that modelling friction is easy in terms of polyhedra (look e.g. at the condition in the FIP paper). The hard part is always the ZMP condition, which you cannot do without at any rate.
How do you implement swing foot trajectories in your solution?
We interpolate Hermit curves with parameters selected to avoid sharp foot accelerations (HOUBA curves, detailed in Section IV of this paper). There is nothing special here, actually I believe a better way to do these polynomial interpolations is the one given in Section III of the paper Foot-guided Agile Control of a Biped Robot through ZMP Manipulation by Sugihara and Yamamoto (IROS 2017).
In the pendular model you keep a constant angular momentum, while other motion generation techniques* also optimize over kinematics to take it into account. What's missing in your solution to make the angular momentum a proper control?
Angular momentum is definitely one of the next big questions. It is an open question even for 2D walking, while here we are doing 3D walking over rough terrains! There are a number of properties that explain why it is not as straightforward as COM control: its nonholonomy (see Wieber (2009)) and dependence on the full kinematic state (joint angles and velocities). Hence the idea of a kinematics optimization coupled with centroidal dynamics. To the best of my knowledge today, these solutions have been applied so far to motion generation (i.e. with more computation time, not in a closed control loop). When developing the two walking pattern generators presented here, the first problems were to be (1) general enough for 3D walking and (2) fast enough for the control loop. Now that we've made a first step here, I'll be definitely looking forward to the angular momentum in the future.