Skip to main content

Feedback Control of Inverted Pendulums

  • Reference work entry
  • First Online:
Humanoid Robotics: A Reference

Abstract

Modeling and control of a humanoid robot as a simple inverted pendulum is a common approach. On the other hand, a real walking robot has a floating rigid body dynamics under the unidirectional force constraints. This discrepancy can cause many “unexpected phenomenons” in experiments of real walking robots. In this chapter, we examine this problem by using a simple model and show a practical technique to solve it.

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 899.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,099.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

References

  1. B. Brogliato, P. Orhant, Contact stability analysis of a one degree-of-freedom robot. Dyn. Control 8, 37–53 (1998)

    Google Scholar 

  2. J. Englsberger, C. Ott, M.A. Roa, A. Albu-Schäffer, G. Hirzinger, Bipedal walking control based on capture point dynamics, in Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS2011)

    Google Scholar 

  3. S. Feng, X. Xinjilefu, W. Huang, C.G. Atkeson, 3D walking based on online optimization, in IEEE-RAS International Conference on Humanoid Robots, 2013, pp. 21–27

    Google Scholar 

  4. Y. Fujimoto, S. Kajita, A biped walking robot based on position control (in Japanese). J. Robot. Soc. Jpn. 30(4), 344–349 (2012)

    Article  Google Scholar 

  5. A. Goswami, Posturel stability of biped robots and the Foot-Rotation Indicator(FRI) point. Int. J. Robot. Res. 18(6), 523–533 (1999)

    Article  Google Scholar 

  6. S.-H. Hyon, Compliant terrain adaptation for biped humanoids without measureing ground surface and contact forces. IEEE Trans. Robot. 25(1), 171–178 (2009)

    Article  Google Scholar 

  7. S. Kajita, K. Yokoi, M. Saigo, K. Tanie, Balancing a humanoid robot using backdrive concerned torque control and direct angular momentum feedback, in IEEE International Conference on Robotics and Automation (ICRA2001), 2001, pp. 3376–3382

    Google Scholar 

  8. S. Kajita, M. Morisawa, K. Miura, S. Nakaoka, K. Harada, K. Kaneko, F. Kanehiro, K. Yokoi, Biped walking stabilization based on linear inverted pendulum tracking, in Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS2010), 2010, pp. 4489–4496

    Google Scholar 

  9. K. Kaneko, F. Kanehiro, M. Morisawa, K. Miura, S. Nakaoka, S. Kajita, Cybernetic human HRP-4C, in Proceedings of 9th IEEE-RAS International Conference on Humanoid Robots, 2009, pp. 7–14

    Google Scholar 

  10. K. Kaneko, F. Kanehiro, M. Morisawa, T. Tsuji, K. Miura, S. Nakaoka, S. Kajita, K. Yokoi, Hardware improvement of cybernetic human HRP-4C towards entertainment use, in Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011, pp. 4392–4399

    Google Scholar 

  11. J.-H. Kim, J.-H. Oh, Walking control of the humanoid platform KHR-1 based on torque feedback control, in IEEE International Conference on Robotics and Automation (ICRA2004), 2004, pp. 623–628

    Google Scholar 

  12. S. Kuindersma, R. Deits, M. Fallon, A. Valenzuela, H. Dai, F. Permenter, T. Koolen, P. Marion, R. Tedrake, Optimization-based locomotion planning, estimation, and control design for the atlas humanoid robot. Auton. Robot. 40(3), 429–455 (2016)

    Article  Google Scholar 

  13. K. Miura, M. Morisawa, F. Kanehiro, S. Kajita, K. Kaneko, K. Yokoi, Human-like walking with toe supporting for humanoids, in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS2011), 2011, pp. 4428–4435

    Google Scholar 

  14. N. Napoleon, H. Izu, S. Nakaura, M. Sampei, An analysis of ZMP control problem of humanoid robot with compliances in sole of the foot, in Proceedings of the 16th IFAC World Congress, 2005

    Google Scholar 

  15. J. Pratt, J. Carff, S. Drakunov, A. Goswami, Capture point: a step toward humanoid push recovery, in Proceedings of IEEE-RAS International Conference on Humanoid Robots (Humanoids2006), 2006, pp. 200–207

    Google Scholar 

  16. T. Sugihara, Standing stabilizability and stepping maneuver in planar bipedalism based on the best COM-ZMP regulator, in IEEE International Conference on Robotics and Automation (ICRA2009), 2009, pp. 1966–1971

    Google Scholar 

  17. M. Vukobratović, J. Stepanenko, On the stability of anthropomorphic systems. Math. Biosci. 15, 1–37 (1972)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shuuji Kajita .

Editor information

Editors and Affiliations

Appendix: Derivation of the General Equation of Motion for Planer Mechanism

Appendix: Derivation of the General Equation of Motion for Planer Mechanism

In this appendix, we explain the derivation of an equation of motion of the form of (5). As a specific example, we take the model of biped illustrated in Fig. 13; however, we can apply the same method for a general planer link mechanism [4].

Fig. 13
figure 13

A model of biped

1.1 Kinematics

An instantaneous pose of the biped of Fig. 13 can be represented by its hip position (x, z) and the link inclinations θ := [θ1, θ2, …, θ5]T as shown in the left. Let us use these variables to represent the center of mass (CoM) positions of the links The horizontal components are given as

$$\displaystyle \begin{aligned} \left[ \begin{array}{c} x_1 \\ x_2 \\ x_3 \\ x_4 \\ x_5 \end{array} \right] = \left[ \begin{array}{ccccc} a_1 & 0 & 0 & 0 & 0 \\ 0 & a_2-r_2 & 0 & 0 & 0 \\ 0 & -r_2 & a_3-r_3 & 0 & 0 \\ 0 & 0 & 0 & a_4-r_4 & 0 \\ 0 & 0 & 0 & -r_4 & a_5-r_5 \end{array} \right] \left[ \begin{array}{c} \sin \theta_1 \\ \sin \theta_2 \\ \sin \theta_3 \\ \sin \theta_4 \\ \sin \theta_5 \end{array} \right] + \left[ \begin{array}{c} 1 \\ 1 \\ 1 \\ 1 \\ 1 \end{array} \right] x \end{aligned} $$
(29)

where xi is the horizontal position of the CoM of the i-th link (i = 1, 2, 3, 4, 5). The parameter ri is the length of the i-th link and ai is the relative CoM position in the link as illustrated in the right of Fig. 13. Let us rewrite this equation into the following simpler form:

$$\displaystyle \begin{aligned} \boldsymbol{x} = \boldsymbol{\varPsi} \boldsymbol{s} + \boldsymbol{1} x \end{aligned} $$
(30)

We introduce the following new vectors and matrix:

$$\displaystyle \begin{aligned} \begin{array}{rcl} \boldsymbol{x} &\displaystyle :=&\displaystyle [x_1 \ x_2 \ x_3 \ x_4 \ x_5]^T, \\ \boldsymbol{\varPsi} &\displaystyle :=&\displaystyle \left[ \begin{array}{ccccc} a_1 &\displaystyle 0 &\displaystyle 0 &\displaystyle 0 &\displaystyle 0 \\ 0 &\displaystyle a_2-r_2 &\displaystyle 0 &\displaystyle 0 &\displaystyle 0 \\ 0 &\displaystyle -r_2 &\displaystyle a_3-r_3 &\displaystyle 0 &\displaystyle 0 \\ 0 &\displaystyle 0 &\displaystyle 0 &\displaystyle a_4-r_4 &\displaystyle 0 \\ 0 &\displaystyle 0 &\displaystyle 0 &\displaystyle -r_4 &\displaystyle a_5-r_5 \end{array} \right] \\ \boldsymbol{s} &\displaystyle :=&\displaystyle [\sin \theta_1 \ \sin \theta_2 \ \sin \theta_3 \ \sin \theta_4 \ \sin \theta_5]^T \\ \boldsymbol{1} &\displaystyle :=&\displaystyle [1 \ 1 \ 1 \ 1 \ 1]^T \end{array} \end{aligned} $$

The matrix Ψ represents the structure of the mechanism.

In the same way, we can represent the vector of vertical CoM position z.

$$\displaystyle \begin{aligned} \boldsymbol{z} = \boldsymbol{\varPsi} \boldsymbol{c} + \boldsymbol{1} z \end{aligned} $$
(31)

where

$$\displaystyle \begin{aligned} \begin{array}{rcl} \boldsymbol{z} &\displaystyle :=&\displaystyle [z_1 \ z_2 \ z_3 \ z_4 \ z_5]^T, \\ \boldsymbol{c} &\displaystyle :=&\displaystyle [\cos \theta_1 \ \cos \theta_2 \ \cos \theta_3 \ \cos \theta_4 \ \cos \theta_5]^T \end{array} \end{aligned} $$

1.2 CoM Speed

We can obtain the horizontal CoM speed from the time derivative of the equation (30):

$$\displaystyle \begin{aligned} \dot{\boldsymbol{x}} = \boldsymbol{\varPsi} \dot{\boldsymbol{s}} + \boldsymbol{1} \dot x \end{aligned} $$
(32)

The time derivative of the vector of sin functions can be expressed as

$$\displaystyle \begin{aligned} \dot{\boldsymbol{s}} = \left[ \begin{array}{c} \dot \theta_1 \cos \theta_1 \\ \dot \theta_2 \cos \theta_2 \\ \vdots \\ \dot \theta_5 \cos \theta_5 \end{array} \right] = \left[ \begin{array}{cccc} \cos \theta_1 & 0 & \hdots & 0 \\ 0 & \cos \theta_2 & \hdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \hdots & \cos \theta_5 \end{array} \right] \left[ \begin{array}{c} \dot \theta_1 \\ \dot \theta_2 \\ \vdots \\ \dot \theta_5 \end{array} \right] =: \boldsymbol{C} \dot{\boldsymbol{\theta}} \end{aligned} $$
(33)

where we defined

$$\displaystyle \begin{aligned} \boldsymbol{C} := \left[ \begin{array}{cccc} \cos \theta_1 & 0 & \hdots & 0 \\ 0 & \cos \theta_2 & \hdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \hdots & \cos \theta_5 \end{array} \right], \quad\dot{\boldsymbol{\theta}} := \left[ \begin{array}{c} \dot\theta_1 \\ \dot\theta_2 \\ \vdots \\ \dot\theta_5 \end{array} \right]. \end{aligned} $$
(34)

By substituting (33) into (32) it is obtained

$$\displaystyle \begin{aligned} \dot{\boldsymbol{x}} = \boldsymbol{\varPsi} \boldsymbol{C} \dot{\boldsymbol{\theta}} + \boldsymbol{1} \dot x. \end{aligned} $$
(35)

For the vertical CoM speeds, it can be obtained the similar equation from the time derivative of the equation (31):

$$\displaystyle \begin{aligned} \dot{\boldsymbol{z}} = - \boldsymbol{\varPsi} \boldsymbol{S} \dot{\boldsymbol{\theta}} + \boldsymbol{1} \dot z \end{aligned} $$
(36)

where the newly introduced matrix is given as

$$\displaystyle \begin{aligned} \boldsymbol{S} := \left[ \begin{array}{cccc} \sin \theta_1 & 0 & \hdots & 0 \\ 0 & \sin \theta_2 & \hdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \hdots & \sin \theta_5 \end{array} \right]. \end{aligned} $$
(37)

1.3 Derivation of Equation of Motion

The total kinetic energy T of the robot can be calculated by using the CoM speeds defined by (35) and (36) as

$$\displaystyle \begin{aligned} T = \frac{1}{2} (\dot{\boldsymbol{x}}^T \boldsymbol{M} \dot{\boldsymbol{x}} + \dot{\boldsymbol{z}}^T \boldsymbol{M} \dot{\boldsymbol{z}} + \dot{\boldsymbol{\theta}}^T \boldsymbol{I} \dot{\boldsymbol{\theta}}), \end{aligned} $$
(38)

where the matrices M and I are defined as

$$\displaystyle \begin{aligned} \boldsymbol{M} := \left[ \begin{array}{cccc} m_1 & 0 & 0 & 0 \\ 0 & m_2 & 0 & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \hdots & m_5 \end{array} \right] , \quad\boldsymbol{I} := \left[ \begin{array}{cccc} I_1 & 0 & 0 & 0 \\ 0 & I_2 & 0 & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \hdots & I_5 \end{array} \right], \end{aligned} $$
(39)

where I1I5 are the moment of inertia of the corresponding links.

The total potential energy of the robot is defined as

$$\displaystyle \begin{aligned} U = g \boldsymbol{m}^T \boldsymbol{z}, \end{aligned} $$
(40)

where g is the gravitational acceleration constant and the law vector mT is defined as

$$\displaystyle \begin{aligned} \boldsymbol{m}^T := [ m_1 \; m_2 \; m_3 \; m_4 \; m_5 ].\end{aligned} $$
(41)

The equation of motion can be derived from the total kinetic energy T and the total potential energy U by using Lagrange’s method. The equations of motion for the translational components are given as

$$\displaystyle \begin{aligned} \begin{array}{rcl} \frac{d}{dt} \left( \frac{\partial T}{\partial \dot{x}} \right) - \frac{\partial T}{\partial x} + \frac{\partial U}{\partial x} = f_{x} \end{array} \end{aligned} $$
(42)
$$\displaystyle \begin{aligned} \begin{array}{rcl} \frac{d}{dt} \left( \frac{\partial T}{\partial \dot{z}} \right) - \frac{\partial T}{\partial z} + \frac{\partial U}{\partial z} = f_{z} \end{array} \end{aligned} $$
(43)

where (fx, fz) are the generalized force which is the external force acting at the point (x, z).

The equation of motion for the rotational components is given as

$$\displaystyle \begin{aligned} \frac{d}{dt} \left( \frac{\partial T}{\partial \dot{\boldsymbol{\theta}}} \right) - \frac{\partial T}{\partial \boldsymbol{\theta}} + \frac{\partial U}{\partial \boldsymbol{\theta}} = \boldsymbol{\tau}, \end{aligned} $$
(44)

where τ is the generalized torque which is the torque acting on the joints from the absolute frame.

By substituting (38), (40) into (42), (43), and (44), the final equation of motion is obtained as

(45)

where the following variables are newly defined :

$$\displaystyle \begin{aligned} \begin{array}{rcl} \boldsymbol{X} &\displaystyle :=&\displaystyle \boldsymbol{\varPsi} \boldsymbol{S} \end{array} \end{aligned} $$
(46)
$$\displaystyle \begin{aligned} \begin{array}{rcl} \boldsymbol{Z} &\displaystyle :=&\displaystyle \boldsymbol{\varPsi} \boldsymbol{C} \end{array} \end{aligned} $$
(47)
$$\displaystyle \begin{aligned} \begin{array}{rcl} \boldsymbol{A} &\displaystyle :=&\displaystyle \boldsymbol{X}^T \boldsymbol{M} \boldsymbol{X} + \boldsymbol{Z}^T \boldsymbol{M} \boldsymbol{Z} + \boldsymbol{I} \end{array} \end{aligned} $$
(48)
$$\displaystyle \begin{aligned} \begin{array}{rcl} \boldsymbol{B} &\displaystyle :=&\displaystyle \boldsymbol{X}^T \boldsymbol{M} \boldsymbol{Z} - \boldsymbol{Z}^T \boldsymbol{M} \boldsymbol{X} \end{array} \end{aligned} $$
(49)
$$\displaystyle \begin{aligned} \begin{array}{rcl} \dot{\boldsymbol{\theta}}^2 &\displaystyle :=&\displaystyle [\dot\theta_1^2 \; \dot\theta_2^2 \; \hdots \; \dot\theta_5^2]^2 \end{array} \end{aligned} $$
(50)

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature B.V.

About this entry

Check for updates. Verify currency and authenticity via CrossMark

Cite this entry

Kajita, S. (2019). Feedback Control of Inverted Pendulums. In: Goswami, A., Vadakkepat, P. (eds) Humanoid Robotics: A Reference. Springer, Dordrecht. https://doi.org/10.1007/978-94-007-6046-2_60

Download citation

Publish with us

Policies and ethics