Abstract
This chapter proposes an original Model Predictive Control approach to the walking control for humanoid robots, which allows to generate stable walking motions without the prior definition of footsteps positions and instants. Both the instant and amplitude of the changes in the supporting surface are part of the walking motion generation problem, and are described by a set of highly-constrained integer and real variables. Combined with the center of mass trajectory of the robot, this description leads to the formulation of a Mixed-Integer Quadratic Program in a Model Predictive Control framework aiming at reaching high-level objectives, such as velocity tracking and tip-over risk minimization. The contribution of this approach is illustrated by the simulation of two scenarii, demonstrating the validity of the steps and trajectories computed in push-recovery and walking velocity tracking cases.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This description implies that the feet contact and lift-off the ground parallel to it, and are rigid bodies.
- 2.
Under the hypothesis that there exists upper bounds for the difference \(\Vert a-b\Vert _1\) and for the variations of \(a\) and \(b\) between two consecutive instants. This hypothesis is always verified in the case of a biped robot which is subject to geometrical constraints.
- 3.
Moreover, vertical dynamics of the center of mass are also neglected and this hypothesis needs to be enforced in the whole-body control of the robot.
- 4.
As a tip-over case (instantaneous rotation around a point on the ground) is the result of the CoP being on the edge of the convex hull of the supporting surface.
- 5.
The discrete nature of contact states in non-sliding walking motions imposes that changes in \({\varvec{{a}}}\) and \({\varvec{{b}}}\) can only occur at discrete events.
- 6.
Note that variable \(\gamma \) is thus fully defined through variables \({\varvec{\alpha }}\) and \({\varvec{\beta }}\), given some initial conditions.
References
Barthelemy, S., Salini, J., Micaelli, A.: Arboris-python. https://github.com/salini/arboris-python
Herdt, A., Diedam, H., Wieber, P.B., Dimitrov, D., Mombaur, K., Diehl, M.: Online walking motion generation with automatic footstep placement. Adv. Rob. 24, 719–737 (2010)
Kajita, S., Kanehiro, F., Kaneko, K., Kajiwara, K., Harada, K., Yokoi, K., Hirukawa, H.: Biped walking pattern generation by using preview control of zero-moment point. In: Proceedings of the IEEE ICRA (2003)
Maki, B.E., Mcilroy, W.E., Fernie, G.R.: Change-in-support reactions for balance recovery. IEEE Eng. Med. Biol. Mag. 22(2), 20–26 (2003)
Pratt, J., Carff, J., Drakunov, S., Goswami, A.: Capture point: A step toward humanoid push recovery. In: Proceedings of the IEEE-RAS International Conference on Humanoid Robots, pp. 200–207. IEEE (2006)
Salini, J., Padois, V., Bidaud, P.: Synthesis of complex humanoid whole-body behavior: a focus on sequencing and tasks transitions. In: Proceedings of the IEEE ICRA, pp. 1283–1290. IEEE (2011)
Sandini, G., Metta, G., Vernon, D.: The icub cognitive humanoid robot: an open-system research platform for enactive cognition. In: 50 Years of Artificial Intelligence, Lecture Notes in Computer Science, chap. 32, pp. 358–369. Springer (2007)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix A
Variables \({\varvec{{a}}}\) and \({\varvec{{b}}}\) are piecewise constant functions of timeFootnote 5; binary variables \(\left( {\varvec{\alpha }},{\varvec{\beta }}\right) \in \left\{ 0,1\right\} ^2\times \left\{ 0,1\right\} ^2\) are therefore introduced as rising and falling edges of \({\varvec{{a}}}\) and \({\varvec{{b}}}\) respectively, defined as follows
and similarly for the pair \(\left( {\varvec{\beta }},{\varvec{{b}}}\right) \). Variables \({\varvec{\alpha }},{\varvec{\beta }}\) can have their value set to \(1\) at distinct instants solely (15), and \({\varvec{\alpha }}={\varvec{{0}}}\) imposes constancy of \({\varvec{{a}}}\) as written in (15).
Note that changes in \({\varvec{{a}}}\) and \({\varvec{{b}}}\) are subject to the following additional constraints
The definition of \({\varvec{{a}}}\) and \({\varvec{{b}}}\) as respectively upper and lower bounds has to be enforced (16); also, as only one foot can move at a time, it imposes that, in a given direction, only one of the bounds \({\varvec{{a}}}\) or \({\varvec{{b}}}\) can change (17). Last, a change in a first direction for either bound \({\varvec{{a}}}\) or \({\varvec{{b}}}\) must allow a change in the other direction (18).
Constraints (15)–(17) define the bounding box of the support surface as restricted between two bi-dimensional, piecewise constant variables \({\varvec{{a}}}\) and \({\varvec{{b}}}\). However, the nature of the changes occurring in \({\varvec{{a}}}\) and \({\varvec{{b}}}\) imposes the consideration of additional variables and constraints to define and guarantee the admissibility of such changes.
Appendix B
As shown in Fig. 1, a phase of single support requires that \({\varvec{{a}}}\) and \({\varvec{{b}}}\) are equal, and phases of double support (DS) are necessarily separated by, at least, a single support phase (SS). Binary variable \(\gamma \in \left\{ 0,1\right\} \) is therefore introduced to capture the alternation between single and double support phase: \(\gamma =1\) describes a double support phase and \(\gamma =0\) a single support one. The single support constraint writes
and the alternation ones, accounting for (18)
and
which state that \(\gamma \) must change if and only if a change in variables \({\varvec{{a}}}\) or \({\varvec{{b}}}\) occurs.Footnote 6 However, these variables and constraints are not sufficient to guarantee the admissibility of changes in the bounding box described by \(\left( {\varvec{{a}}},{\varvec{{b}}}\right) \). Indeed, as shown in Fig. 1, potential changes in \({\varvec{{a}}}\) and \({\varvec{{b}}}\) from a DS phase to a SS one depend on the configuration of the feet, relatively to bounds \({\varvec{{a}}}\) and \({\varvec{{b}}}\), in the DS phase. If one of the two feet in contact defines the upper bound \({\varvec{{a}}}\) in both directions (cf. Fig. 1, far left), the following single support phase can only result from a change of either \({\varvec{{a}}}\) or \({\varvec{{b}}}\) in both directions ; symmetrically, if one of the two feet in contact defines the upper bound \({\varvec{{a}}}\) in one direction and lower bound \({\varvec{{b}}}\) in the other (cf. Fig. 1, far right), the following SS phase will result from a change in \({\varvec{{a}}}\) in one direction, and \({\varvec{{b}}}\) in the other. This time history constraint can be captured by the introduction of the binary variable \(\delta \in \left\{ 0,1\right\} \), having \(1\) for value in the first case and \(0\) in the second. The indicator of configuration \(\delta \) must remain constant through each DS phase in order to keep the information for the next transition towards a SS phase; that is
and, as described earlier, changes in \(a\) and \(b\) are related to the values of \(\delta \). This relation writes
Note that this relation is bilateral : if \(\delta \) is unconstrained by (22), changes in \({\varvec{{a}}}\) and \({\varvec{{b}}}\) define the value of \(\delta \) and else, the value of \(\delta \) restrains potential changes in \({\varvec{{a}}}\) and \({\varvec{{b}}}\).
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Ibanez, A., Bidaud, P., Padois, V. (2014). Automatic Optimal Biped Walking as a Mixed-Integer Quadratic Program. In: Lenarčič, J., Khatib, O. (eds) Advances in Robot Kinematics. Springer, Cham. https://doi.org/10.1007/978-3-319-06698-1_52
Download citation
DOI: https://doi.org/10.1007/978-3-319-06698-1_52
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-06697-4
Online ISBN: 978-3-319-06698-1
eBook Packages: EngineeringEngineering (R0)