Skip to main content

Automatic Optimal Biped Walking as a Mixed-Integer Quadratic Program

  • Chapter
  • First Online:
Advances in Robot Kinematics

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    This description implies that the feet contact and lift-off the ground parallel to it, and are rigid bodies.

  2. 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. 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. 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. 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. 6.

    Note that variable \(\gamma \) is thus fully defined through variables \({\varvec{\alpha }}\) and \({\varvec{\beta }}\), given some initial conditions.

References

  1. Barthelemy, S., Salini, J., Micaelli, A.: Arboris-python. https://github.com/salini/arboris-python

  2. 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)

    Article  Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Aurelien Ibanez .

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

$$\begin{aligned} \forall i \in \left\{ 0,1\right\} ,\forall t \in \mathbb {R},\quad {\left\{ \begin{array}{ll} \alpha _i(t)=1 \quad &{}\Rightarrow \quad \alpha _i({t^-})=\alpha _i({t^+})=0 \\ \alpha _i(t)=0 \quad &{}\Rightarrow \quad a_i({t^-})=a_i({t^+})=a_i(t) \end{array}\right. } \end{aligned}$$
(15)

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

$$\begin{aligned} \forall i \in \left\{ 0,1\right\} ,\forall t \in \mathbb {R},\quad&b_i(t) \le a_i(t), \end{aligned}$$
(16)
$$\begin{aligned} \forall i \in \left\{ 0,1\right\} ,\forall t \in \mathbb {R},\quad&\alpha _i(t) + \beta _i(t) \le 1, \end{aligned}$$
(17)
$$\begin{aligned} \forall t \in \mathbb {R},\quad&\alpha _0(t) + \beta _0(t) = \alpha _1(t) + \beta _1(t). \end{aligned}$$
(18)

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

$$\begin{aligned} \forall t \in \mathbb {R},~\gamma (t)=0 \quad \Rightarrow \quad {\varvec{{a}}}(t)={\varvec{{b}}}(t), \end{aligned}$$
(19)

and the alternation ones, accounting for (18)

$$\begin{aligned} \alpha _0({t}) + \beta _0({t}) = 1 \quad \Rightarrow \quad \gamma ({t}) = \left\{ \begin{array}{rcl} 0 &{}\mathrm ~if~ \quad \gamma ({t^-})=1\\ 1 &{}\mathrm ~if~ \quad \gamma ({t^-})=0 \end{array}\right. \end{aligned}$$
(20)

and

$$\begin{aligned} \alpha _0({t}) + \beta _0({t}) = 0 \quad \Rightarrow \quad \gamma ({t}) = \gamma ({t^-}), \end{aligned}$$
(21)

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

$$\begin{aligned} \forall t \in \mathbb {R},~\gamma ({t})=1 \quad \Rightarrow \quad \delta ({t^+})=\delta ({t}), \end{aligned}$$
(22)

and, as described earlier, changes in \(a\) and \(b\) are related to the values of \(\delta \). This relation writes

$$\begin{aligned} \forall t \in \mathbb {R},~ \begin{array}{rcl} \delta (t) = 1 \Rightarrow \left\{ \begin{array}{rcl} \alpha _0({t}) &{}=&{} \alpha _1({t})\\ \beta _0({t}) &{}=&{} \beta _1({t}) \end{array}\right. , &{}\mathrm and &{}\delta (t) = 0 \Rightarrow \left\{ \begin{array}{rcl} \alpha _0(t) &{}=&{} \beta _1(t)\\ \beta _0(t) &{}=&{} \alpha _1(t). \end{array}\right. \end{array} \end{aligned}$$
(23)

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

Reprints 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)

Publish with us

Policies and ethics