Skip to main content
Log in

Locomotion generation for quadruped robots on challenging terrains via quadratic programming

  • Published:
Autonomous Robots Aims and scope Submit manuscript

Abstract

This paper proposes a locomotion generation method for quadruped robots, which first computes an optimal trajectory of the robot’s center of mass (CoM) and then its whole-body motion through inverse kinematics. As the core component, the computing of the CoM trajectory, which is parameterized as polynomials, is based on the robot’s centroidal dynamics and it is observed that several terms in the centroidal dynamics are minor and can be omitted in the locomotion generation. Then, as a basic form of the proposed method, the CoM trajectory optimization is written as a quadratic programming (QP) problem for the case of given step sequences, timings and footholds. Furthermore, the uncertainty of the robot’s CoM, which is described as a convex polyhedron around a nominal CoM position, and the reachability of the robot’s feet, which is approximated as another convex polyhedron, can be added to the QP problem as linear inequality constraints. Ultimately, the planning of step sequences, timings, and footholds is all incorporated, leading to a single mixed-integer quadratic programming problem. Numerical and hardware experiments have been conducted and show that the proposed method can generate various walking motions for a quadruped robot to travel over challenging terrains.

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
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Abbreviations

\(i \in {\mathbb {N}}^+\) :

Index of a foot of the robot

\(N_C \in {\mathbb {N}}^+\) :

Number of feet/contacts

\(m \in {\mathbb {R}}^+\) :

Mass of the robot

\(\varvec{f}_i \in {\mathbb {R}}^3\) :

Contact force at contact i

\(\varvec{n}_i \in {\mathbb {R}}^3\) :

Contact normal at contact i

\(\varvec{r}_i \in {\mathbb {R}}^3\) :

Position of contact i

\(\varvec{p}_G \in {\mathbb {R}}^3\) :

Position of the robot’s CoM

\(\varvec{{\mathcal {L}}} \in {\mathbb {R}}^3\) :

Angular momentum of the robot about its CoM

\(\varvec{f} \in {\mathbb {R}}^{3N_C}\) :

Total contact force \([\varvec{f}^T_1 ~~ \varvec{f}^T_2 ~ \ldots ~ \varvec{f}^T_{N_C}]^T\)

\(\varvec{R}_0 \in SO(3)\) :

Orientation of the robot’s base

\(\varvec{\omega }_0 \in {\mathbb {R}}^3\) :

Body angular velocity of the robot’s base

\(\varvec{{\mathcal {I}}}_0 \in {\mathbb {R}}^{3 \times 3}\) :

Body inertia tensor of the robot’s base

\(\varvec{p}_{G0} \in {\mathbb {R}}^3\) :

Initial position of the robot’s CoM for a motion segment

\(\varvec{p}_t \in {\mathbb {R}}^3\) :

Change of the robot’s CoM position over time t during a motion segment

\(n_* \in {\mathbb {N}}^+\) :

Order of the polynomial representing x, y, or z coordinate of \(\varvec{p}_t\)

\(\varvec{c}_* \in {\mathbb {R}}^{n_*+1}\) :

Coefficients of the polynomial representing x, y, or z coordinate of \(\varvec{p}_t\)

\(\varvec{c} \in {\mathbb {R}}^{n_{\varSigma }}\) :

Total coefficients \([\varvec{c}^T_x ~~ \varvec{c}^T_y ~~ \varvec{c}^T_z]^T\), where \(n_{\varSigma } = n_x+n_y+n_z+3\)

\(\varvec{f}_k \in {\mathbb {R}}^{3N_C}\) :

Total contact force at time \(t_k\)

\(\varvec{v}_{h} \in {\mathbb {R}}^3\) :

Vertex h of a convex polyhedron centered at \(\varvec{p}_{G0}\)

\(\varvec{f}_{hk} \in {\mathbb {R}}^{3N_C}\) :

Total contact force at sample time \(t_k\) when the robot’s CoM is at \(\varvec{v}_{h}\)

\(N_i \in {\mathbb {R}}^3\) :

Number of candidate footholds for foot i

\(\varvec{r}_{ij} \in {\mathbb {R}}^3\) :

Candidate foothold j for foot i

\(\beta _{ijk} \in \{0,1\}\) :

Binary variable associated with \(\varvec{r}_{ij}\) to indicate its selection at time \(t_k\)

\(\varvec{f}_{ijk} \in {\mathbb {R}}^{3}\) :

Contact force at \(\varvec{r}_{ij}\) at time \(t_k\)

References

  • Aceituno-Cabezas, B., Dai, H., Cappelletto, J., Grieco, J. C., & Fernández-López, G. (2017). A mixed-integer convex optimization framework for robust multilegged robot locomotion planning over challenging terrain. In IEEE/RSJ International conference on intelligent robots and systems (pp. 4467–4472).

  • Aceituno-Cabezas, B., Mastalli, C., Dai, H., Focchi, M., Radulescu, A., Caldwell, D. G., et al. (2018). Simultaneous contact, gait and motion planning for robust multi-legged locomotion via mixed-integer convex optimization. IEEE Robotics and Automation Letters, 3(3), 2531–2538.

    Google Scholar 

  • Barasuol, V., Buchli, J., Semini, C., Frigerio, M., De Pieri, E. R., & Caldwell, D. G. (2013). A reactive controller framework for quadrupedal locomotion on challenging terrain. In Proceedings of the IEEE international conference on robotics and automation. (pp 2554–2561).

  • Bellicoso, C. D., Jenelten, F., Fankhauser, P., Gehring, C., Hwangbo, J., & Hutter, M. (2017). Dynamic locomotion and whole-body control for quadrupedal robots. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems. (pp 3359–3365).

  • Bellicoso, C. D., Jenelten, F., Gehring, C., & Hutter, M. (2018). Dynamic locomotion through online nonlinear motion optimization for quadrupedal robots. IEEE Robotics and Automation Letters, 3(3), 2261–2268.

    Article  Google Scholar 

  • Bledt, G., Powell, M. J., Katz, B., Di ‘Carlo, J., Wensing, P. M., & Kim, S. (2018). MIT Cheetah 3: Design and control of a robust, dynamic quadruped robot. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems. pp 2245–2252.

  • Bretl, T., & Lall, S. (2008). Testing static equilibrium for legged robots. IEEE Transactions on Robotics, 24(4), 794–807.

    Article  Google Scholar 

  • Caron, S., & Kheddar, A. (2016). Multi-contact walking pattern generation based on model preview control of 3D COM accelerations. Proceedings of the IEEE-RAS international conference on humanoid robots. (pp. 550–557).

  • Caron, S., Pham, Q. C., & Nakamura, Y. (2015a). Leveraging cone double description for multi-contact stability of humanoids with applications to statics and dynamics. In Robotics: science and system.

  • Caron, S., Pham, Q. C., & Nakamura, Y. (2015b). Stability of surface contacts for humanoid robots: Closed-form formulae of the contact wrench cone for rectangular support areas. In Proceedings of the IEEE international conference on robotics and automation. (pp. 5107–5112).

  • Caron, S., Pham, Q., & Nakamura, Y. (2017). ZMP support areas for multicontact mobility under frictional constraints. IEEE Transactions on Robotics, 33(1), 67–80.

    Article  Google Scholar 

  • Carpentier, J., Tonneau, S., Naveau, M., Stasse, O., & Mansard, N. (2016). A versatile and efficient pattern generator for generalized legged locomotion. Proceedings of the IEEE International Conference on Robotics and Automation. (pp. 3555–3561).

  • CPLEX (2010). User’s manual for CPLEX. https://www.ibm.com/hk-en/analytics/cplex-optimizer

  • Dai, H. K., & Tedrake, R. (2016). Planning robust walking motion on uneven terrain via convex optimization. In Proceedings of the IEEE-RAS international conference on humanoid robots. (pp. 104–109).

  • DeepRobotics. (2017). http://www.deeprobotics.cn/

  • Deits, R., & Tedrake, R. (2014). Footstep planning on uneven terrain with mixed-integer convex optimization. In Proceedings of the IEEE-RAS international conference on humanoid robots. (pp. 279–286).

  • Del Prete, A., Tonneau, S., & Mansard, N. (2016). Fast algorithms to test robust static equilibrium for legged robots. In Proceedings of the IEEE international conference on robotics and automation. (pp. 1601–1607).

  • Di Carlo, J., Wensing, P.M., Katz, B., Bledt, G., & Kim, S. (2018). Dynamic locomotion in the MIT Cheetah 3 through convex model-predictive control. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems. (pp. 1–9).

  • Di Gaspero, L. (1998). QuadProg++. http://quadprog.sourceforge.net/

  • Fankhauser, P., Bjelonic, M., Dario Bellicoso, C., Miki, T., & Hutter, M. (2018). Robust rough-terrain locomotion with a quadrupedal robot. In Proceedings of the IEEE international conference on robotics and automation. (pp. 5761–5768).

  • Farshidian, F., Neunert, M., Winkler, A. W., Gonzalo, R., & Buchli, J. (2017). An efficient optimal planning and control framework for quadrupedal locomotion. Proceedings of the IEEE international conference on robotics and automation. (pp. 93–100).

  • Feng, S. Y., Whitman, E., Xinjilefu, X., & Atkeson, C. (2015). Optimization-based full body control for the DARPA robotics challenge. Journal of Field Robotics, 32(2), 293–312.

    Article  Google Scholar 

  • Fernbach, P., Tonneau, S., & Taïx, M. (2018). CROC: Convex resolution of centroidal dynamics trajectories to provide a feasibility criterion for the multi contact planning problem. Proceedings of the IEEE/RSJ international conference on intelligent robots and systems. (pp. 8367–8373).

  • Ferreau, H. J., Kirches, C., Potschka, A., Bock, H. G., & Diehl, M. (2014). qpOASES: A parametric active-set algorithm for quadratic programming. Mathematical Programming Computation, 6(4), 327–363.

    Article  MathSciNet  MATH  Google Scholar 

  • Focchi, M., Del Prete, A., Havoutis, I., Featherstone, R., Caldwell, D. G., & Semini, C. (2017). High-slope terrain locomotion for torque-controlled quadruped robots. Auton Robots, 41(1), 259–272.

    Article  Google Scholar 

  • Gehring, C., Coros, S., Hutter, M., Bloesch, M., Hoepflinger, M. A., Siegwart, R. (2013). Control of dynamic gaits for a quadrupedal robot. In Proceedings of the IEEE international conference on robotics and automation. (pp. 3287–3292).

  • Gill, P. E., Murray, W., & Saunders, M. A. (2005). SNOPT: An SQP algorithm for large-scale constrained optimization. SIAM Review, 47(1), 99–131.

    Article  MathSciNet  MATH  Google Scholar 

  • GLPK. (2000). GNU linear programming kit. http://www.gnu.org/software/glpk/glpk.html

  • Grandia, R., Farshidian, F., Ranftl, R., & Hutter, M. (2019). Feedback MPC for torque-controlled legged robots. Proceedings of the IEEE/RSJ international conference on intelligent robots and systems. (pp. 4730–4737).

  • GUROBI, (2014). Gurobi optimizer reference manual. http://www.gurobi.com/

  • Herzog, A., Schaal, S., & Righetti, L. (2016). Structured contact force optimization for kino-dynamic motion generation. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems. (pp. 2703–2710).

  • Hirai, S. (1991). Analysis and planning of manipulation using the theory of polyhedral convex cones. Ph. D. Dissertation, Kyoto University.

  • Hirukawa, H., Hattori, S., Harada, K., Kajita, S., Kaneko, K., Kanehiro, F., Fujiwara, K., Morisawa, M. (2006). A universal stability criterion of the foot contact of legged robots - adios zmp. In Proceedings of the IEEE international conference on robotics and automation. (pp. 1976–1983).

  • Huang, Q., Yokoi, K., Kajita, S., Kaneko, K., Arai, H., Koyachi, N., & Tanie, K. (2001). Growth distance: New measures for object separation and penetration. IEEE Transactions on Robotics and Automation, 17(3), 280–289.

    Google Scholar 

  • Hutter, M., Gehring, C., Jud, D., Lauber, A., Bellicoso, C. D., Tsounis, V., Hwangbo, J., Bodie, K., Fankhauser, P., Bloesch, M., Diethelm, R., Bachmann, S., Melzer, A., & Hoepflinger, M. (2016). ANYmal: A highly mobile and dynamic quadrupedal robot. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems. (pp. 38–44).

  • Kajita, S., Kanehiro, F., Kaneko, K., Fujiwara, K., Harada, K., Yokoi, K., & Hirukawa, H. (2003). Biped walking pattern generation by using preview control of zero-moment point. In Proceedings of the IEEE international conference on robotics and automation. (pp. 1620–1626).

  • Kalakrishnan, M., Buchli, J., Pastor, P., Mistry, M., & Schaal, S. (2011). Learning, planning, and control for quadruped locomotion over challenging terrain. The International Journal of Robotics Research, 30(2), 236–258.

    Article  Google Scholar 

  • Kanehiro, F., Suleiman, W., Lamiraux, F., Yoshida, E., & Laumond, J. P. (2008). Integrating dynamics into motion planning for humanoid robots. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems. (pp. 660–667).

  • Koolen, T., De Boer, T., Rebula, J., Goswami, A., & Pratt, J. (2012). Capturability-based analysis and control of legged locomotion, Part 1: Theory and application to three simple gait models. The International Journal of Robotics Research, 31(9), 1094–1113.

    Article  Google Scholar 

  • Kuffner, J. J., Kagami, S., Nishiwaki, K., Inaba, M., & Inoue, H. (2002). Dynamically-stable motion planning for humanoid robots. Autonomous Robots, 12(1), 105–118.

    Article  MATH  Google Scholar 

  • Kuindersma, S., Deits, R., Fallon, M., Valenzuela, A., Dai, H. K., Permenter, F., et al. (2016). Optimization-based locomotion planning, estimation, and control design for the Atlas humanoid robot. Autonomous Robots, 40(3), 429–455.

    Article  Google Scholar 

  • Mastalli, C., Budhiraja, R., Merkt, W., Saurel, G., Hammoud, B., Naveau, M., Carpentier, J., Righetti, L., Vijayakumar, S., & Mansard, N. (2020). Crocoddyl: An effcient and versatile framework for multi-contact optimal control. In Proceedings of the IEEE international conference on robotics and automation. (pp. 2536–2542).

  • Mastalli, C., Focchi, M., Havoutis, I., Radulescu, A., Calinon, S., Buchli, J., Caldwell, D. G., & Semini, C. (2017). Trajectory and foothold optimization using low-dimensional models for rough terrain locomotion. In Proceedings of the IEEE international conference on robotics and automation. (pp. 1096–1103).

  • Mastalli, C., Havoutis, I., Focchi, M., Caldwell, D. G., & Semini, C. (2020). Motion planning for quadrupedal locomotion: coupled planning, terrain mapping, and whole-body control. IEEE Transactions on Robotics, 36(6), 1635–1648.

    Article  Google Scholar 

  • Mordatch, I., Todorov, E., & Popović, Z. (2012). Discovery of complex behaviors through contact-invariant optimization. ACM Transactions on Graphics, 31(4), 43.

    Article  Google Scholar 

  • MOSEK. (2014). The MOSEK optimization software. http://www.mosek.com/.

  • Nagasaka, K., Masayuki, I., & Inoue, H. (1999). Dynamic walking pattern generation for a humanoid robot based on optimal gradient method. In Proceedings of the IEEE systems, man, and cybernetics (SMC) society. (pp. 908–913).

  • Neo, E. S., Yokoi, K., Kajita, S., & Tanie, K. (2007). Whole-body motion generation intergrating operator’s intention and robot’s autonomy in controlling humanoid robots. IEEE Transactions on Robotics, 23(4), 763–775.

    Article  Google Scholar 

  • Neunert, M., Farshidian, F., Winkler, A. W., & Buchli, J. (2017). Trajectory optimization through contacts and automatic gait discovery for quadrupeds. IEEE Robotics and Automation Letters, 2(3), 1502–1509.

    Article  Google Scholar 

  • Neunert, M., Stäuble, M., Giftthaler, M., Bellicoso, C. D., Gehring, C., Hutter, M., & Buchli, J. (2018). Whole-body nonlinear model predictive control through contacts for quadrupeds. IEEE Robotics and Automation Letters, 3(3), 1458–1465.

    Article  Google Scholar 

  • Orsolino, R., Focchi, M., Caron, S., Raiola, G., Barasuol, V., Caldwell, D. G., & Semini, C. (2020). Feasible region: an actuation-aware extension of the support region. IEEE Transactions on Robotics, 34(4), 1239–1255.

    Article  Google Scholar 

  • Orsolino, R., Focchi, M., Mastalli, C., Dai, H., Caldwell, D. G., & Semini, C. (2018). Application of wrench-based feasibility analysis to the online trajectory optimization of legged robots. IEEE Robotics and Automation Letters, 3(4), 3363–3370.

    Article  Google Scholar 

  • Park, H. W., Wensing, P. M., & Kim, S. (2015). Online planning for autonomous running jumps over obstacles in high-speed quadrupeds. In Proceedings of robotics: science and systems.

  • Park, J., & Youm, Y. (2007). General ZMP preview control for bipedal walking. In Proceedings of the IEEE international conference on robotics and automation. (pp. 2682–2687).

  • Perrin, N., Lau, D., & Padois, V. (2015). Effective generation of dynamically balanced locomotion with multiple non-coplanar contacts. In Proceedings of the international symposium on robotics research. (pp. 1–16).

  • Ponton, B., Herzog, A., Del Prete, A., Schaal, S., & Righetti, L. (2018). On time optimization of centroidal momentum. In Proceedings of the IEEE international conference on robotics and automation. (pp. 5776–5782).

  • Ponton, B., Herzog, A., Schaal, S., & Righetti, L. (2016). A convex model of humanoid momentum dynamics for multi-contact motion generation. Proceedings of the IEEE-RAS international conference on humanoid robots. (pp. 842–849).

  • Pratt, J., Carff, J., Drakunov, S., & Goswami, A. (2006). Capture point: a step toward humanoid push recovery. In Proceedings of the IEEE-RAS international conference on humanoid robots. (pp. 200–207).

  • Pratt, J., Koolen, T., De Boer, T., Rebula, J., Cotton, S., Carff, J., et al. (2012). Capturability-based analysis and control of legged locomotion, Part 2: Application to M2V2, a lower-body humanoidation to m2v2, a lower-body humanoid. The International Journal of Robotics Research, 31(10), 1117–1133.

    Article  Google Scholar 

  • Qiu, Z., Escande, A., Micaelli, A., & Robert, T. (2011). Human motions analysis and simulation based on a general criterion of stability. In Proceedings of the international symposium on digital human modeling. (pp. 1–8).

  • Raibert, M., Blankespoor, K., Nelson, G., & Playter, R. (2008). BigDog, the rough-terrain quadruped robot. In IFAC proceedings. (vol. 41, 2, pp. 10,822–10,825).

  • Saida, T., Yokokoji, Y., & Yoshikawa, T. (2003). FSW (feasible solution of wrench) for multi-legged robots. In Proceedings of the IEEE international conference on robotics and automation. (pp. 3815–3820).

  • Semini, C., Tsagarakis, N. G., Guglielmino, E., Focchi, M., Cannella, F., & Caldwell, D. G. (2011). Design of HyQ - a hydraulically and electrically actuated quadruped robot. Proceedings of the institution of mechanical engineers, Part I: Journal of Systems and Control Engineering,225(6), 831–849.

  • Sugihara, T. (2008). Simulated regulator to synthesize ZMP manipulation and foot location for autonomous control of biped robots. In Proceedings of the IEEE international conference on robotics and automation. (pp. 1264–1269).

  • Tonneau, S., Fernbach, P., Del Prete, A., Pettré, J., & Mansard, N. (2018). 2PAC: Two-point attractors for center of mass trajectories in multi-contact scenarios. ACM Transactions on Graphics, 37(5), 176.

    Article  Google Scholar 

  • Unitree. (2017). http://www.unitree.cc/

  • Vukobratović, M., & Borovac, B. (2004). Zero-moment point: Thirty five years of its life. International Journal of Humanoid Robotics, 1(1), 157–173.

    Article  Google Scholar 

  • Wäechter, A., & Biegler, L. T. (2006). On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Mathematical Programming, 106(1), 25–57.

    Article  MathSciNet  MATH  Google Scholar 

  • Wieber, P. B. (2006). Holonomy and nonholonomy in the dynamics of articulated motion. Lecture Notes in Control and Information Sciences, 340, 411–425.

    Article  MathSciNet  MATH  Google Scholar 

  • Winkler, A. W., Bellicoso, C. D., Hutter, M., & Buchli, J. (2018). Gait and trajectory optimization for legged systems through phase-based end-effector parameterization. IEEE Robotics and Automation Letters, 3(3), 1560–1567.

    Article  Google Scholar 

  • Winkler, A.W., Farshidian, F., Neunert, M., Pardo, D., & Buchli, J. (2017a). Online walking motion and foothold optimization for quadruped locomotion. In Proceedings of the IEEE international conference on robotics and automation. (pp. 5308–5313).

  • Winkler, A. W., Farshidian, F., Pardo, D., Neunert, M., & Buchli, J. (2017b). Fast trajectory optimization for legged robots using vertex-based ZMP constraints. IEEE Robotics and Automation Letters, 2(4), 2201–2208.

    Article  Google Scholar 

  • Winkler, A. W., Havoutis, I., Bazeille, S., Ortiz, J., Focchi, M., Dillmann, R., Caldwell, D., & Semini, C. (2014). Path planning with force-based foothold adaptation and virtual model control for torque controlled quadruped robots. In Proceedings of the IEEE international conference on robotics and automation. (pp. 6476–6482).

  • Winkler, A. W., Mastalli, C., Havoutis, I., Focchi, M., Caldwell, D. G., & Semini, C. (2015). Planning and execution of dynamic whole-body locomotion for a hydraulic quadruped on challenging terrain. In Proceedings of the IEEE international conference on robotics and automation. (pp. 5148–5154).

  • Zheng, Y., Lin, M. C., Manocha, D., Adiwahono, A. H., & Chew, C. M. (2010). A walking pattern generator for biped robots on uneven terrains. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems. (pp 4483–4488).

  • Zheng, Y., Liao, S. W., & Yamane, K. (2019). Humanoid locomotion control and generation based on contact wrench cones. International Journal of Humanoid Robotics, 16(5), 1950021.

    Article  Google Scholar 

  • Zheng, Y., & Yamane, K. (2015). Generalized distance between compact convex sets: Algorithms and applications. IEEE Transactions on Robotics, 31(4), 988–1003.

    Article  Google Scholar 

Download references

Acknowledgements

We would like to thank DeepRobotics Co. Ltd for the assistance in customizing the API and communication protocol between the vision and control systems of our robot.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yu Zheng.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Supplementary Information

Below is the link to the electronic supplementary material.

Supplementary file 1 (mp4 24509 KB)

Appendix—motion controller

Appendix—motion controller

Similar to many existing motion controllers for legged robots (Gehring et al., 2013; Park et al., 2015; Focchi et al., 2017; Bledt et al., 2018; Di Carlo et al., 2018; Feng et al., 2015; Caron et al., 2015a; Kuindersma et al., 2016; Zheng et al., 2019), our controller computes the required contact forces to determine the feedforward joint torques and then the final joint torques by adding the feedback joint torques, as depicted by the green block in Fig. 2.

1.1 Computing of contact forces

The first step is aimed at computing the required contact forces for the robot to produce the reference CoM trajectory and base’s angular motion, which can be written as the following QP problem:

$$\begin{aligned} \left\{ \begin{array}{cl} \min \limits _{\varvec{f}_1,\varvec{f}_2,\dotsc ,\varvec{f}_{N_C}} &{} J_w+J_{\tau }+J_f \\ \mathrm {subject~to} &{} \varvec{N}^T_i \varvec{f}_i \le \varvec{0} \\ &{} \varvec{n}^T_i \varvec{f}_i \le f^U_i \\ &{} i=1,2,\dotsc ,N_C. \end{array} \right. \end{aligned}$$
(30)

The above objective function consists of three terms to integrate different control goals. The purpose of the first term \(J_w\) is to realize the reference CoM trajectory and angular motion of the robot’s base. From (4), it is written as

$$\begin{aligned} J_w = \left( \varvec{w}^{\mathrm {des}} - \varvec{G}\varvec{f} \right) ^T \varvec{W}_w \left( \varvec{w}^{\mathrm {des}} - \varvec{G}\varvec{f} \right) , \end{aligned}$$
(31)

where \(\varvec{W}_w \in {\mathbb {R}}^{6 \times 6}\) is a positive-definite diagonal weight matrix and \(\varvec{w}^{\mathrm {des}}\) is the desired wrench given by

$$\begin{aligned} \varvec{w}^{\mathrm {des}} = \begin{bmatrix} m(\ddot{\varvec{p}}^{\mathrm {des}}_G -\varvec{g}) \\ m\hat{\varvec{p}}_G (\ddot{\varvec{p}}^{\mathrm {des}}_G -\varvec{g}) + \dot{\varvec{{\mathcal {L}}}}^{\mathrm {des}} \end{bmatrix}. \end{aligned}$$
(32)

Here, \(\ddot{\varvec{p}}^{\mathrm {des}}_G\) is the desired CoM acceleration derived from the reference acceleration \(\ddot{\varvec{p}}^{\mathrm {ref}}_G\), velocity \(\dot{\varvec{p}}^{\mathrm {ref}}_G\), and position \(\varvec{p}^{\mathrm {ref}}_G\) together with the actual velocity \(\dot{\varvec{p}}_G\) and position \(\varvec{p}_G\) of the CoM using the proportional-derivative (PD) control law:

$$\begin{aligned} \ddot{\varvec{p}}^{\mathrm {des}}_G = \ddot{\varvec{p}}^{\mathrm {ref}}_G + \varvec{K}^G_d \left( \dot{\varvec{p}}^{\mathrm {ref}}_G-\dot{\varvec{p}}_G \right) + \varvec{K}^G_p \left( \varvec{p}^{\mathrm {ref}}_G-\varvec{p}_G \right) , \end{aligned}$$
(33)

where \(\varvec{K}^G_p\) and \(\varvec{K}^G_d\) are PD gains. From (5), we write the desired time derivative of angular momentum as

$$\begin{aligned} \dot{\varvec{{\mathcal {L}}}}^{\mathrm {des}} = \varvec{{\mathcal {I}}}^S_0 \dot{\varvec{\omega }}^{\mathrm {des}}_0 - (\varvec{{\mathcal {I}}}^S_0 \varvec{\omega }^S_0) \times \varvec{\omega }^S_0, \end{aligned}$$
(34)

where \(\dot{\varvec{\omega }}^{\mathrm {des}}_0\) is the desired angular acceleration as

$$\begin{aligned} \dot{\varvec{\omega }}^{\mathrm {des}}_0 = \dot{\varvec{\omega }}^{\mathrm {ref}}_0 + \varvec{K}^{\omega }_d \left( \varvec{\omega }^{\mathrm {ref}}_0-\varvec{\omega }_0 \right) + \varvec{K}^{\omega }_p \left( \varvec{R}^{\mathrm {ref}}_0\varvec{R}^T_0 \right) ^{\vee }, \end{aligned}$$
(35)

where \(\varvec{R}^{\mathrm {ref}}_0,\varvec{R}_0 \in SO(3)\) represent the reference and actual orientations of the robot’s base with respect to the global frame, respectively, and \(\left( \varvec{R}^{\mathrm {ref}}_0\varvec{R}^T_0 \right) ^{\vee }\) is the associated vector of rotation to change \(\varvec{R}_0\) to \(\varvec{R}^{\mathrm {ref}}_0\).

The second term \(J_{\tau }\) is used to penalize high joint toques and written as

$$\begin{aligned} J_{\tau } = \varvec{f}^T \varvec{J}_{\tau } \varvec{W}_{\tau } \varvec{J}^T_{\tau } \varvec{f}, \end{aligned}$$
(36)

where \(\varvec{W}_{\tau } \in {\mathbb {R}}^{N_J \times N_J}\) is a positive-definite diagonal weight matrix and \(\varvec{J}^T_{\tau } \in {\mathbb {R}}^{N_J \times 3N_C}\) is the transposed Jacobian matrix, comprising the last \(N_J\) rows of \(\varvec{J}^T\) in (1) and converting contact forces to joint torques.

The last term \(J_f\) regulates the contact forces, i.e.,

$$\begin{aligned} J_f = \left( \varvec{f}^{\mathrm {des}} - \varvec{f} \right) ^T \varvec{W}_f \left( \varvec{f}^{\mathrm {des}} - \varvec{f} \right) , \end{aligned}$$
(37)

where \(\varvec{W}_f \in {\mathbb {R}}^{3N_C \times 3N_C}\) is a weight matrix and \(\varvec{f}^{\mathrm {des}}\) comprises the desired contact forces. When a foot is contacting and expected to remain on the ground, we take its desired contact force to be the optimal value obtained by solving the QP problem (30) in the previous control cycle. For a foot that is in the air but expected to contact or is contacting but expected to leave the ground, we simply set its desired contact force to zero.

1.2 Computing of joint torques

The second step of the motion controller is to compute the joint torques for controlling the robot. Since the leg’s mass of a quadruped robot is often negligible, we can skip the robot’s whole-body dynamics and simply compute the joint torques for controlling the robot as (Focchi et al., 2017; Mastalli et al., 2017)

$$\begin{aligned} \varvec{\tau } = -\varvec{J}^T_{\tau } \varvec{f}^{\mathrm {opt}} + \tilde{\varvec{K}}^q_d \left( \dot{\varvec{q}}^{\mathrm {ref}}-\dot{\varvec{q}} \right) + \tilde{\varvec{K}}^q_p \left( \varvec{q}^{\mathrm {ref}}-\varvec{q} \right) , \end{aligned}$$
(38)

where \(\dot{\varvec{q}}\) and \(\varvec{q}\) with or without the superscript “ref” are the reference or current joint velocities and angles, respectively, and \(\tilde{\varvec{K}}^q_p\) and \(\tilde{\varvec{K}}^q_d\) are the PD gains mapping the errors in joint angles and velocities directly into the joint torques for joint trajectory tracking. Here, the reference joint trajectories \(\varvec{q}^{\mathrm {ref}}\) are calculated through inverse kinematics with the reference footholds and body trajectories determined by the motion generator, as illustrated in Fig. 2 and discussed in this paper.

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jiang, X., Chi, W., Zheng, Y. et al. Locomotion generation for quadruped robots on challenging terrains via quadratic programming. Auton Robot 47, 51–76 (2023). https://doi.org/10.1007/s10514-022-10068-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10514-022-10068-3

Keywords

Navigation