Skip to main content
Log in

Efficient recursive dynamics algorithms for operational-space control with application to legged locomotion

  • Published:
Autonomous Robots Aims and scope Submit manuscript

Abstract

This paper presents new recursive dynamics algorithms that enable operational-space control of floating-base systems to be performed at faster rates. This type of control approach requires the computation of operational-space quantities and suffers from high computational order when these quantities are directly computed through the use of the mass matrix and Jacobian from the joint-space formulation. While many efforts have focused on efficient computation of the operational-space inertia matrix \({\varvec{{\Lambda }}}\), this paper provides a recursive algorithm to compute all quantities required for floating-base control of a tree-structure mechanism. This includes the first recursive algorithm to compute the dynamically consistent pseudoinverse of the Jacobian \({\,\, \bar{{\varvec{\!\!J}}}}\) for a tree-structure system. This algorithm is extended to handle arbitrary contact constraints with the ground, which are often found in legged systems, and uses effective ground contact dynamics approximations to retain computational efficiency. The usefulness of the algorithm is demonstrated through application to control of a high-speed quadruped trot in simulation. Our contact-consistent algorithm demonstrates pitch and roll stabilization for a large dog-sized quadruped running at 3.6 m/s without any contact force sensing, and is shown to outperform a simpler Raibert-style posture controller. In addition, the operational-space control approach allows the dynamic effects of the swing legs to be effectively accounted for at this high speed.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. Upright characters \(\mathbf{v}\) and \(\mathbf{f}\) will be used to represent a spatial velocity and force, respectively. Script characters \({\varvec{v}}\) and \({\varvec{f}}\) will be used to denote the linear velocity or force component of a spatial quantity (Featherstone and Orin 2008).

  2. Defining \(fl(x~op~y)\) as the floating-point value returned by a standard arithmetic operation (addition, multiplication, etc.), IEEE standard arithmetic satisfies \(fl(x~op~y) = (x~op~y) ( 1+ \delta )\) where \(|\delta |\le \epsilon _{mach}/2\) represents a normalized rounding error (Higham 2002). \(\epsilon _{mach}\) is the machine epsilon which provides an upper bound on the maximum normalized distance from any floating-point number to a neighboring floating-point number.

  3. Cases which require active modification of the GRFs to comply with frictional limits would be able to fall back on more complex task-space control approaches by Wensing and Orin (2013).

References

  • Ahmadi, M., & Buehler, M. (1997). Stable control of a simulated one-legged running robot with hip and leg compliance. IEEE Transactions on Robotics and Automation, 13(1), 96–104.

    Article  Google Scholar 

  • Bhalerao, K., Critchley, J. H., Oetomo, D., Featherstone, R., & Khatib, O. (2013). Distributed operational space formulation. ASME Journal of Computational and Nonlinear Dynamics, 9(2), 1–10. doi:10.1115/1.4025577

  • Chang, K.-S., & Khatib, O. (2001). Efficient recursive algorithm for the operational space inertia matrix of branching mechanisms. Advanced Robotics, 14(8), 703–715.

    Article  Google Scholar 

  • de Sapio, V., & Khatib, O. (2005). Operational space control of multibody systems with explicit holonomic constraints. In IEEE international conference on robotics and automation (pp. 2950–2956).

  • Eigen, (2014). http://eigen.tuxfamily.org.

  • Featherstone, R. (1983). The calculation of robot dynamics using articulated-body inertias. The International Journal of Robotics Research, 2(1), 13–30.

    Article  Google Scholar 

  • Featherstone, R. (1999a). A divide-and-conquer articulated-body algorithm for parallel O(log(n)) calculation of rigid-body dynamics. Part 1: Basic algorithm. The International Journal of Robotics Research, 18(9), 867–875.

    Article  Google Scholar 

  • Featherstone, R. (1999b). A divide-and-conquer articulated-body algorithm for parallel O(log(n)) calculation of rigid-body dynamics. Part 2: Trees, loops, and accuracy. The International Journal of Robotics Research, 18(9), 876–892.

    Article  Google Scholar 

  • Featherstone, R. (2001). The acceleration vector of a rigid body. The International Journal of Robotics Research, 20(11), 841–846.

    Article  Google Scholar 

  • Featherstone, R. (2008). Rigid body dynamics algorithms. Berlin: Springer.

    Book  MATH  Google Scholar 

  • Featherstone, R. (2010a). A beginner’s guide to 6-D vectors (Part 1). IEEE Robotics Automation Magazine, 17(3), 83–94.

    Article  Google Scholar 

  • Featherstone, R. (2010b). A beginner’s guide to 6-D vectors (Part 2). IEEE Robotics Automation Magazine, 17(4), 88–99.

    Article  Google Scholar 

  • Featherstone, R., & Orin, D. (2008). Chapter 2: Dynamics. In B. Siciliano & O. Khatib (Eds.), Springer handbook of robotics. New York: Springer.

    Google Scholar 

  • Heglund, N. C., & Taylor, C. R. (1988). Speed, stride frequency and energy cost per stride: How do they change with body size and gait? Journal of Experimental Biology, 138(1), 301–318.

    Google Scholar 

  • Higham, N. J. (2002). Accuracy and stability of numerical algorithms (2nd ed.). Philadelphia, PA: Society for Industrial and Applied Mathematics.

    Book  MATH  Google Scholar 

  • Hutter, M., Hoepflinger, M., Gehring, C., Bloesch, M., Remy, C. D., & Siegwart, R. (2012). Hybrid operational space control for compliant legged systems. In N. Roy, P. Newman, & S. Srinivasa (Eds.), Robotics: Science and systems VIII (pp. 129–136). Cambridge: MIT Press.

    Google Scholar 

  • Hyon, S.-H., & Mita, T. (2002). Development of a biologically inspired hopping robot. In Proceedings of the IEEE international conference on robotics and automation (Vol. 4, pp. 3984–3991).

  • Jain, A. (2013). Operational space inertia for robots with internal loops. In Proceedings of multibody dynamics (pp. 297–304). Zagreb, Croatia.

  • Khatib, O. (1987). A unified approach for motion and force control of robot manipulators: The operational space formulation. IEEE Journal of Robotics and Automation, 3(1), 43–53.

    Article  Google Scholar 

  • Kreutz-Delgado, K., Jain, A., & Rodriguez, G. (1991). Recursive formulation of operational space control. In Proceedings of the IEEE international conference on robotics and automation (pp. 1750–1753).

  • Lathrop, R. (1986). Constrained (closed-loop) robot simulation by local constraint propagation. In Profeedings of the IEEE international conference on robotics and automation (Vol. 3, pp. 689–694).

  • Lilly, K., & Orin, D. (1993). Efficient O(N) recursive computation of the operational space inertia matrix. IEEE Transactions on Systems, Man and Cybernetics, 23(5), 1384–1391.

    Article  Google Scholar 

  • Lilly, K. W. (1989). Efficient dynamic simulation of robotic mechanisms. PhD thesis, The Ohio State University.

  • Lilly, K. W. (1993). Efficient dynamic simulation of robotic mechanisms. Norwell, MA, USA: Kluwer Academic Publishers.

    Book  MATH  Google Scholar 

  • Luh, J. Y. S., Walker, M. W., & Paul, R. P. C. (1980). On-line computational scheme for mechanical manipulators. ASME Journal of Dynamic Systems, Measurement, and Control, 102(2), 69–76.

    Article  MathSciNet  Google Scholar 

  • Marhefka, D. W., Orin, D. E., Schmiedeler, J. P., & Waldron, K. J. (2003). Intelligent control of quadruped gallops. IEEE/ASME Transactions on Mechatronics, 8(4), 446–456.

    Article  Google Scholar 

  • McMahon, T. (1985). The role of compliance in mammalian running gaits. Journal of Experimental Biology, 115(1), 263–282.

    Google Scholar 

  • McMillan, S., Sadayappan, P., & Orin, D. (1994). Efficient dynamic simulation of multiple manipulator systems with singular configurations. IEEE Transactions on Systems, Man and Cybernetics, 24(2), 306–313.

    Article  Google Scholar 

  • Mistry, M., & Righetti, L. (2011). Operational space control of constrained and underactuated systems. In H. Durrant-Whyte, N. Roy, & P. Abbeel (Eds.), Robotics: Science and Systems VII (pp. 225–232). Cambridge: MIT Press.

    Google Scholar 

  • Nichol, J. G., Singh, S. P., Waldron, K. J., Palmer, L. R., & Orin, D. E. (2004). System design of a quadrupedal galloping machine. The International Journal of Robotics Research, 23(10–11), 1013–1027.

    Article  Google Scholar 

  • Orin, D. E., Goswami, A., & Lee, S.-H. (2013). Centroidal dynamics of a humanoid robot. Autonomous Robots, 35(2), 161–176.

    Article  Google Scholar 

  • Palmer, L., & Orin, D. (2007). Force redistribution in a quadruped running trot. In IEEE International conference on robotics and automation (pp. 4343–4348).

  • Palmer, L., & Orin, D. (2010). Intelligent control of high-speed turning in a quadruped. Journal of Intelligent & Robotic Systems, 58, 47–68.

    Article  MATH  Google Scholar 

  • Palmer, L. R., Orin, D. E., Marhefka, D. W., Schmiedeler, J. P., & Waldron, K. J. (2003). Intelligent control of an experimental articulated leg for a galloping machine. In Proceeding of the IEEE international conference on robotics and automation (Vol. 3, pp. 3821–3827).

  • Park, J., & Khatib, O. (2006). Contact consistent control framework for humanoid robots. In Proceedings of the IEEE international conference on robotics and automation (pp. 1963–1969).

  • Raibert, M., Blankespoor, K., Nelson, G., Playter, R., et al. (2008). Bigdog, the rough-terrain quadruped robot. In Proceedings of the 17th IFAC World Congress (pp. 10823–10825).

  • Raibert, M. H. (1986). Legged robots that balance. Cambridge, MA, USA: MIT Press.

    Google Scholar 

  • Raibert, M. H. (1990). Trotting, pacing and bounding by a quadruped robot. Journal of Biomechanics, 23, 79–98.

    Article  Google Scholar 

  • Roberson, R. E., & Schwertassek, R. (1988). Dynamics of multibody systems. Berlin/Heidelberg/New York: Springer.

    Book  MATH  Google Scholar 

  • Rodenbaugh, S. (2003). RobotBuilder: A graphical software tool for the rapid development of robotic dynamic simulations. Master’s thesis, The Ohio State University, Columbus.

  • Rodriguez, G., Jain, A., & Kreutz-Delgado, K. (1992). Spatial operator algebra for multibody system dynamics. Journal of the Astronautical Sciences, 40, 27–50.

    MathSciNet  Google Scholar 

  • Russakow, J., Khatib, O., & Rock, S. (1995). Extended operational space formulation for serial-to-parallel chain (branching) manipulators. In Proceedings of the IEEE international conference on robotics and automation (pp. 1056–1061).

  • Schmiedeler, J. P., & Waldron, K. J. (1999). The mechanics of quadrupedal galloping and the future of legged vehicles. The International Journal of Robotics Research, 18(12), 1224–1234.

  • Schmiedeler, J. P., & Waldron, K. J. (2002). Leg stiffness and articulated leg design for dynamic locomotion. In Proceedings of the ASME international design engineering technical conferences (Vol. 5, pp. 1105–1112).

  • Sentis, L., & Khatib, O. (2005). Control of free-floating humanoid robots through task prioritization. In Proceedings of the IEEE international conference on robotics and automation (pp. 1718–1723).

  • Sentis, L., Park, J., & Khatib, O. (2010). Compliant control of multicontact and center-of-mass behaviors in humanoid robots. IEEE Transaction on Robotics, 26(3), 483–501.

    Article  Google Scholar 

  • Sentis, L., Petersen, J., & Philippsen, R. (2013). Implementation and stability analysis of prioritized whole-body compliant controllers on a wheeled humanoid robot in uneven terrains. Autonomous Robots, 35(4), 301–319.

    Article  Google Scholar 

  • Waldron, K., & Schmiedeler, J. (2008). Chapter 1: Kinematics. In B. Siciliano & O. Khatib (Eds.), Springer handbook of robotics. New York: Springer.

    Google Scholar 

  • Walker, M. W., & Orin, D. E. (1982). Efficient dynamic computer simulation of robotic mechanisms. ASME Journal of Dynamic Systems, Measurement, and Control, 104(3), 205–211.

    Article  MATH  Google Scholar 

  • Wensing, P., Featherstone, R., & Orin, D. E. (2012). A reduced-order recursive algorithm for the computation of the operational-space inertia matrix. In IEEE international conference on robotics and automation (pp. 4911–4917).

  • Wensing, P. M., & Orin, D. E. (2013). Generation of dynamic humanoid behaviors through task-space control with conic optimization. In IEEE international conference on robotics and automation (pp. 3088–3094).

  • Wensing, P. M., Hammam, G. B., Dariush, B., & Orin, D. E. (2013). Optimizing foot centers of pressure through force distribution in a humanoid robot. International Journal Humanoid Robotics, 10(3), 1–21. doi:10.1142/S0219843613500278

  • Yamane, K., & Nakamura, Y. (2009). Comparative study on serial and parallel forward dynamics algorithms for kinematic chains. The International Journal of Robotics Research, 28(5), 622–629.

Download references

Acknowledgments

The authors would like the thank the reviewers for their many helpful comments regarding this paper. This work was supported by a National Science Foundation Graduate Research Fellowship to Patrick Wensing, and by Grant No. CNS-0960061 from the NSF with a subaward to The Ohio State University.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Patrick M. Wensing.

Appendix: Validity of the big-ground-inertia approximation

Appendix: Validity of the big-ground-inertia approximation

This section provides a proof that the closed-chain algorithm with the big-ground-inertia approximation computes the correct terms \(\tilde{{\varvec{{\Lambda }}}}_t\), \(\tilde{{\varvec{b}}}_t\), and \({\,\,\tilde{\bar{{\varvec{\!\!J}}}}\, \!{}^T_{\!t}}\) in the limit when the contact inertias \({\varvec{I}}_{c_j}\) become infinite. Throughout this section it is assumed that the floating base for the contact-constrained system has a full 6 degrees of motion freedom. To assist in the proof, \(\tilde{{\varvec{{\Lambda }}}}_{M}\) is defined according to its matrix definition in Eq. 20 and \(\tilde{{\varvec{{\Lambda }}}}_t(\epsilon )\) is defined as the output of the closed-chain algorithm with \({{\varvec{I}}_{c_j} = \epsilon ^{-1} \mathbf{1}}\) for each contact \(j\). It will be shown that

$$\begin{aligned} \lim _{\epsilon \rightarrow 0} \tilde{{\varvec{{\Lambda }}}}_t(\epsilon ) = \tilde{{\varvec{{\Lambda }}}}_{M} . \end{aligned}$$
(60)

Proof is provided here for \( \tilde{{\varvec{{\Lambda }}}}_t\) since its recursive computation is the simplest algebraically, and proof that the algorithm achieves the correct limits for \(\tilde{{\varvec{b}}}_t\) and \({\,\,\tilde{\bar{{\varvec{\!\!J}}}}\, \!{}^T_{\!t}}\) follows through identical arguments.

While the algorithms thus far have been derived from unconstrained dynamic equations of motion, recursive constrained dynamics can be derived exactly (not approximately as done here for the modified algorithm) using alternative constraint-propagation methods in (Featherstone 2008). These alternative algorithms are composed in terms of inverse inertias, denoted here as \(\,\bar{\!{\varvec{I}}}_i = {\varvec{I}}_i^{-1}\), and articulated inverse inertias \(\,\bar{\!{\varvec{I}}}{}_i^A\).

Although the standard articulated-body equations of motion are only valid when an articulated subsystem has a full 6 degrees of motion freedom, the more general equations

$$\begin{aligned} \mathbf{a}_i = \,\bar{\!{\varvec{I}}}^A_i\, \mathbf{f}_i + {\varvec{b}}^A_i + \sum _{k \in c^*(i)} {\varvec{A}}_{ik} {\varvec{\tau }}_k \end{aligned}$$
(61)

apply when constraints limit motion freedom. In the case that the subsystem rooted at \(i\) has 6 degrees of motion freedom \(\,\bar{\!{\varvec{I}}}_i^A = \left( \,\tilde{\!{\varvec{I}}}{}_i^A\right) ^{-1}\) and Eq. 61 can be rearranged to the articulated inertia relationship used in the main text

$$\begin{aligned} \mathbf{f}_i = \,\tilde{\!{\varvec{I}}}{}_i^A \mathbf{a}_i + \,\tilde{\!{\varvec{\beta }}}{}_i^A + \sum _{k \in c^*(i)} \,\tilde{\!{\varvec{B}}}_{i k} {\varvec{\tau }}_k . \end{aligned}$$

At each contact \(c_i\), the constraint that \(\mathbf{a}_{c_i} = -{}^{c_i} \mathbf{a}_{g}\), imposed approximately by Eq. 43, can be imposed exactly selecting \(\,\bar{\!{\varvec{I}}}^A_{c_i} = {\varvec{0}}\) and seeding an inverse inertia recursion with the equation

$$\begin{aligned} \mathbf{a}_{c_i} = \,\bar{\!{\varvec{I}}}^A_{c_i} \,\mathbf{f}_{c_i}- {}^{c_i} \mathbf{a}_g. \end{aligned}$$
(62)

The articulated-body inertia recursions used in the main text of this paper could then be replaced with analogous recursions on the inverse inertia (Featherstone 2008) that follow

$$\begin{aligned} \,\bar{\!{\varvec{I}}}_{p(i)}^A&=\,\bar{\!{\varvec{I}}}_{p(i)}^A - \,\bar{\!{\varvec{I}}}_{p(i)}^A {\varvec{\varphi }}_i \left( {\varvec{\varphi }}_i^T ( \,\bar{\!{\varvec{I}}}_{p(i)}^A + \,\bar{\!{\varvec{I}}}_{i}^A ) {\varvec{\varphi }}_i \right) ^{-1} {\varvec{\varphi }}_i^T \,\bar{\!{\varvec{I}}}_{p(i)}^A, \end{aligned}$$
(63)

where \({\varvec{\varphi }}_i = {\varvec{{\Phi }}}_i^c\) (the matrix describing the constrained modes of motion for joint \(i\)). While coordinate transformations are omitted in this equation for clarity, they would be required for implementation. These recursions, while more general than the usual articulated-body recursions, are more computationally costly since the quantity

$$\begin{aligned} \left( {\varvec{\varphi }}_i^T ( \,\bar{\!{\varvec{I}}}_{p(i)}^A + \,\bar{\!{\varvec{I}}}_{i}^A ) {\varvec{\varphi }}_i \right) ^{-1} \end{aligned}$$

requires a \(5\times 5\) matrix inverse for common revolute joints. The motivation to approximate these recursions through a constraint approximation, is that it allows the use of standard articulated inertia recursions which are more computationally amenable. Recursions for \({\varvec{b}}_i^A\) and \({\varvec{A}}_{ik}\) can be derived analogous to those for \(\,\tilde{\!{\varvec{\beta }}}{}_i^A\) and \(\,\tilde{\!{\varvec{B}}}_{i k}\).

Proof of Eq. 60:

Let \(\,\bar{\!{\varvec{I}}}_{c_j} = \epsilon \mathbf{1}\) for each contact and denote \(\,\bar{\!{\varvec{I}}}_i^A(\epsilon )\) as the final value of \(\,\bar{\!{\varvec{I}}}_i^A\) obtained from the recursions of Eq. 63. In the case when \(\epsilon =0\) the following exact relationship holds

$$\begin{aligned} \tilde{{\varvec{{\Lambda }}}}_{M} = \left( \,\bar{\!{\varvec{I}}}_1^A(0)\right) ^{-1} \end{aligned}$$
(64)

since Eq. 62 imposes an exact constraint at the contact in this case. Additionally when \(\epsilon \ne 0\) the inverse inertia algorithm and the regular inertia algorithm provide equivalent output. That is

$$\begin{aligned} \tilde{{\varvec{{\Lambda }}}}_t(\epsilon ) = \left( \,\bar{\!{\varvec{I}}}_1^A(\epsilon ) \right) ^{-1} , \quad \forall \, \epsilon >0\,. \end{aligned}$$
(65)

Yet, the recursion equation Eq. 63 is comprised of matrix inverses, additions, and multiplies, which are all continuous with respect to their arguments. Thus, all quantities \(\,\bar{\!{\varvec{I}}}_i^A(\epsilon )\) obey

$$\begin{aligned} \lim _{\epsilon \rightarrow 0} \,\bar{\!{\varvec{I}}}_i^A(\epsilon ) = \,\bar{\!{\varvec{I}}}_i^A(0)\,. \end{aligned}$$
(66)

Combination of these relationships provides

$$\begin{aligned} \lim _{\epsilon \rightarrow 0} \tilde{{\varvec{{\Lambda }}}}_t(\epsilon )&= \lim _{\epsilon \rightarrow 0} \left( \,\bar{\!{\varvec{I}}}_1^A(\epsilon ) \right) ^{-1} \nonumber \\&= \left( \lim _{\epsilon \rightarrow 0} \,\bar{\!{\varvec{I}}}_1^A(\epsilon ) \right) ^{-1} \nonumber \\&= \left( \,\bar{\!{\varvec{I}}}_1^A(0) \right) ^{-1} = \tilde{{\varvec{{\Lambda }}}}_M \end{aligned}$$
(67)

where once again the continuity of the matrix inverse of \(\,\bar{\!{\varvec{I}}}_1^A(\epsilon )\) at \(\epsilon =0\) was used in going from line 1 to line 2.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wensing, P.M., Palmer, L.R. & Orin, D.E. Efficient recursive dynamics algorithms for operational-space control with application to legged locomotion. Auton Robot 38, 363–381 (2015). https://doi.org/10.1007/s10514-015-9420-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10514-015-9420-9

Keywords

Navigation