Skip to main content
Log in

Multi-contact vertical ladder climbing with an HRP-2 humanoid

  • Published:
Autonomous Robots Aims and scope Submit manuscript

Abstract

We describe the research and the integration methods we developed to make the HRP-2 humanoid robot climb vertical industrial-norm ladders. We use our multi-contact planner and multi-objective closed-loop control formulated as a QP (quadratic program). First, a set of contacts to climb the ladder is planned off-line (automatically or by the user). These contacts are provided as an input for a finite state machine. The latter builds supplementary tasks that account for geometric uncertainties and specific grasps procedures to be added to the QP controller. The latter provides instant desired states in terms of joint accelerations and contact forces to be tracked by the embedded low-level motor controllers. Our trials revealed that hardware changes are necessary, and parts of software must be made more robust. Yet, we confirmed that HRP-2 has the kinematic and power capabilities to climb real industrial ladders, such as those found in nuclear power plants and large scale manufacturing factories (e.g. aircraft, shipyard) and construction sites.

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
Fig. 19
Fig. 20

Similar content being viewed by others

Notes

  1. http://www.theroboticschallenge.org/.

  2. The PG is available at https://github.com/jorisv/PG.

  3. http://www.roboptim.net/.

  4. Available at https://github.com/jrl-umi3218/sch-core.

  5. http://wiki.ros.org/.

  6. The code for dynamic computation can be found at https://github.com/jorisv/RBDyn. The code of the controller will be made available soon.

References

  • Abe, Y., da Silva, M., & Popović, J. (2007). Multiobjective control with frictional contacts. In Eurographics/ACM SIGGRAPH symposium on computer animation (pp. 249–258). San Diego, CA.

  • Audren, H., Vaillant, J., Kheddar, A., Escande, A., Kaneko, K., & Yoshida, E. (2014). Model preview control in multi-contact motion– application to a humanoid robot. In IEEE/RSJ international conference on intelligent robots and systems. Chicago, IL.

  • Bevly, D.M., Farritor, S., & Dubowsky, S. (2000). Action module planning and its application to an experimental climbing robot. In IEEE international conference on robotics and automation (pp. 4010–4015). San Francisco, CA.

  • Bouyarmane, K., Escande, A., Lamiraux, F., & Kheddar, A. (2009). Potential field guide for humanoid multicontacts acyclic motion planning. In IEEE international conference on robotics and automation (pp. 1165–1170). Kobe.

  • Bouyarmane, K., & Kheddar, A. (2010). Static multi-contact inverse problem for multiple humanoid robots and manipulated objects. In IEEE-RAS international conference on humanoid robots (pp. 8–13). Nashville, TN. doi:10.1109/ICHR.2010.5686317.

  • Bouyarmane, K., & Kheddar, A. (2011). Using a multi-objective controller to synthesize simulated humanoid robot motion with changing contact configurations. In IEEE/RSJ international conference on intelligent robots and systems. San Fransico, CA.

  • Bouyarmane, K., & Kheddar, A. (2012). Humanoid robot locomotion and manipulation step planning. Advanced Robotics, 26(10), 1099–1126.

    Article  Google Scholar 

  • Bouyarmane, K., Vaillant, J., Keith, F., & Kheddar, A. (2012). Exploring humanoid robots locomotion capabilities in virtual disaster response scenarios. In IEEE-RAS international conference on humanoid robots. Osaka: Businness Inoovation Center.

  • Bretl, T. (2006). Motion planning of multi-limbed robots subject to equilibrium constraints: The free-climbing robot problem. International Journal of Robotics Research, 25(4), 317–342.

    Article  Google Scholar 

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

    Article  Google Scholar 

  • Brossette, S., Escande, A., Vaillant, J., Keith, F., Moulard, T., & Kheddar, A. (2014). Integration of non-inclusive contacts in posture generation. In IEEE/RSJ international conference on intelligent robots and systems. Chicago, IL.

  • Brossette, S., Vaillant, J., Keith, F., Escande, A., & Kheddar, A. (2013). Point-cloud multi-contact planning for humanoids: Preliminary results. In IEEE conference on robotics (pp. 19–24). Manila: Automation and Mechatronics Philippines.

  • Collette, C., Micaelli, A., Andriot, C., & Lemerle, P. (2007). Dynamic balance control of humanoids for multiple grasps and non coplanar frictional contacts. In IEEE/RAS international conference on humanoid robots (pp. 81–88). Pittsburgh, PA.

  • da Silva, M., Abe, Y., & Popović, J. (2008). Simulation of human motion data using short-horizon model-predictive control. Computer Graphics Forum, 27(2), 371–380.

    Article  Google Scholar 

  • de Lasa, M., Mordatch, I., & Hertzmann, A. (2010). Feature-based locomotion controllers. ACM Transactions on Graphics (SIGGRAPH), 29(4), 1.

    Article  Google Scholar 

  • Eilering, A., Yap, V., Johnson, J., & Hauser, K. (2014). Identifying support surfaces of climbable structures from 3d point clouds. In IEEE international conference on robotics and automation. Hong Kong.

  • Escande, A., & Kheddar, A. (2009). Contact planning for acyclic motion with tasks constraints. In IEEE/RSJ international conference on intelligent robots and systems (pp. 435–440). St. Louis, MO.

  • Escande, A., Kheddar, A., & Miossec, S. (2013). Planning contact points for humanoid robots. Robotics and Autonomous Systems, 61(5), 428–442.

    Article  Google Scholar 

  • Escande, A., Mansard, N., & Wieber, P. B. (2014). Hierarchical quadratic programming: Fast online humanoid-robot motion generation. The International Journal of Robotics Research, 33(7), 1006–1028.

    Article  Google Scholar 

  • Escande, A., Miossec, S., Benallegue, M., & Kheddar, A. (2014). A strictly convex hull for computing proximity distances with continuous gradient. IEEE Transactions on Robotics, 30(3), 666–678.

    Article  Google Scholar 

  • Fujii, S., Inoue, K., Takubo, T., Mae, Y., & Arai, T. (2008). Ladder climbing control for limb mechanism robot ASTERISK. In IEEE international conference on robotics and automation (pp. 3052–3057). Pasadena, CA.

  • Gill, P.E.E., Hammarling, S.J., Murray, W., Saunders, M.A., & Wright, M.H. (1986). User’s guide for LSSOL (version 1.0): A Fortran package for constrained linear least-squares and convex quadratic programming. Technical Report 86-1. Standord, CA: Standford University.

  • Hauser, K., Bretl, T., Latombe, J. C., Harada, K., & Wilcox, B. (2008). Motion planning for legged robots on varied terrain. International Journal of Robotics Research, 27(11–12), 1325–1349.

    Article  Google Scholar 

  • Herzog, A., Righetti, L., Grimminger, F., Pastor, P., & Schaal, S. (2014). Balancing experiments on a torque-controlled humanoid with hierarchical inverse dynamics. In IEEE/RSJ international conference on intelligent robots and systems. Chicago, IL.

  • Hyon, S. H., Hale, J. G., & Cheng, G. (2007). Full-body compliant human-humanoid interaction: Balancing in the presence of unknown external forces. IEEE Transactions on Robotics, 23(5), 884–898.

    Article  Google Scholar 

  • Ibanez, A., Bidaud, P., & Padois, V. (2014). A distributed model predictive control approach for robust postural stability of a humanoid robot. In IEEE international conference on robotics and automation (pp. 202–209). Hong Kong.

  • Iida, H., Hozumi, H., & Nakayama, R. (1989). Development of ladder climbing robot LCR-1. Journal of Robotics and Machatronics, 1, 311–316.

    Google Scholar 

  • Kanehiro, F., Morisawa, M., Suleiman, W., Kaneko, K., & Yoshida, E. (2010). Integrating geometric constraints into reactive leg motion generation. In IEEE/RSJ international conference on intelligent robots and systems (pp. 4069–4076).

  • Kanoun, O., Lamiraux, F., & Wieber, P. B. (2011). Kinematic control of redundant manipulators: Generalizing the task-priority framework to inequality task. IEEE Transactions on Robotics, 27(4), 785–792.

    Article  Google Scholar 

  • Kuindersma, S., Permenter, F., & Tedrake, R. (2014). An efficiently solvable quadratic program for stabilizing dynamic locomotion. In IEEE international conference on robotics and automation. Hong Kong.

  • Lee, S. H., & Goswami, A. (2012). A momentum-based balance controller for humanoid robots on non-level and non-stationary ground. Autonomous Robots, 33(4), 399–414.

    Article  Google Scholar 

  • Lengagne, S., Vaillant, J., Yoshida, E., & Kheddar, A. (2013). Generation of whole-body optimal dynamic multi-contact motions. The International Journal of Robotics Research, 32(9–10), 1104–1119.

  • Liégeois, A. (1977). Automatic supervisory control of the configuration and behavior of multibody mechanisms. IEEE Transactions on Systems, Man and Cybernetics, 7(12), 868–871.

    Article  MATH  Google Scholar 

  • Liu, M., Micaelli, A., Evrard, P., Escande, A., & Andriot, C. (2012). Interactive virtual humans: A two-level prioritized control framework with wrench bounds. IEEE Transactions on Robotics, 28(6), 1309–1322.

    Article  Google Scholar 

  • Luo, J., Zhang, Y., Hauser, K., Park, H.A., Paldhe, M., Lee, C.G., Grey, M., Stilman, M., Oh, J.H., Lee, J., Kim, I., & Oh, P. (2014). Robust ladder-climbing with a humanoid robot with application to the DARPA robotics challenge. In IEEE international conference on robotics and automation (pp. 2792–2798). Hong Kong.

  • Mansard, N., Khatib, O., & Kheddar, A. (2009). A unified approach to integrate unilateral constraints in the stack of tasks. IEEE Transactions on Robotics, 25(3), 670–685.

    Article  Google Scholar 

  • Mordatch, I., de Lasa, M., & Hertzmann, A. (2010). Robust physics-based locomotion using low-dimensional planning. ACM Transactions on Graphics, 29(3).

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

    Article  Google Scholar 

  • Murray, R. M., Sastry, S. S., & Zexiang, L. (1994). A mathematical introduction to robotic manipulation. Boca Raton, FL: CRC Press Inc.

    MATH  Google Scholar 

  • Nakai, H., Kuniyoshi, Y., Inaba, M., & Inoue, H. (2002). Metamorphic robot made of low melting point alloy. In IEEE/RSJ international conference on intelligent robots and systems (pp. 2025–2030). Lausanne.

  • Nakamura, Y., Hanafusa, H., & Yoshikawa, T. (1987). Task-priority based redundancy control of robot manipulators. International Journal of Robotics Research, 6(2), 3–15.

    Article  Google Scholar 

  • Noda, S., Murooka, M., Nozawa, S., Kakiuchi, Y., Okada, K., & Inaba, M. (2014). Generating whole-body motion keep away from joint torque, contact force, contact moment limitations enabling steep climbing with real humanoid robot. In IEEE international conference on robotics and automation (pp. 1775–1781). Hong Kong.

  • Ott, C., Roa, M.A., & Hirzinger, G. (2011). Posture and balance control for biped robots based on contact force optimization. In IEEE-RAS international conference on humanoid robots (pp. 26–33). Bled.

  • Posa, M., Cantu, C., & Tedrake, R. (2014). A direct method for trajectory optimization of rigid bodies through contact. International Journal of Robotics Research, 33(1), 69–81.

    Article  Google Scholar 

  • Righetti, L., Buchli, J., Mistry, M., Kalakrishnan, M., & Schaal, S. (2013). Optimal distribution of contact forces with inverse-dynamics control. The International Journal of Robotics Research, 32(3), 280–298.

    Article  Google Scholar 

  • Righetti, L., & Schaal, S. (2012). Quadratic programming for inverse dynamics with optimal distribution of contact forces. In IEEE-RAS international conference on humanoid robots. Osaka: Businness Inoovation Center.

  • Saab, L., Ramos, O. E., Keith, F., Mansard, N., Souères, P., & Fourquet, J. Y. (2012). Dynamic whole-body motion generation under rigid contacts and other unilateral constraints. IEEE Transactions on Robotics, 29(2), 346–362.

    Article  Google Scholar 

  • Salini, J., Barthélemy, S., & Bidaud, P. (2010). LQP-based controller design for humanoid whole-body motion (pp. 177–184). Berlin: Springer.

    Google Scholar 

  • Salini, J., Padois, V., & Bidaud, P. (2011). Synthesis of complex humanoid whole-body behavior: A focus on sequencing and tasks transitions. In IEEE international conference on robotics and automation (pp. 1283–1290). Shanghai.

  • Schittkowski, K. (1986). Qld: A Fortran code for quadratic programming, user’s guide. Technical report. Mathematisches Institut, Universität Bayreuth.

  • Sentis, L., Park, J., & Khatib, O. (2010). Compliant control of multicontact and center-of-mass behaviors in humanoid robots. IEEE Transactions on Robotics, 26, 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 

  • Siciliano, B., & Slotine, J.J.E. (1991). A general framework for managing multiple tasks in highly redundant robotic systems. In International conference on advanced robotics (Vol. 2, pp. 1211–1216). Pisa.

  • Vaillant, J., Kheddar, A., Audren, H., Keith, F., Brossette, S., Kaneko, K., Morisawa, M., Yoshida, E., & Kanehiro, F. (2014). Vertical ladder climbing by HRP-2 humanoid robot. In IEEE-RAS international conference on humanoid robots (pp. 671–676). Madrid.

  • Wächter, A., & Biegleri, L. (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 

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

  • Wieber, P.B. (2002). On the stability of walking systems. In IARP international workshop on humanoid and human friendly robotics. Tsukuba.

  • Yoneda, H., Sekiyama, K., Hesegawa, Y., & Fukuda, T. (2008). Vertical ladder climbing motion with posture control for multi-locomotion robot. In IEEE/RSJ international conference on intelligent robots and systems (pp. 3579–3584). Nice.

  • Zhang, Y., Luo, J., Hauser, K., Ellenberg, R., Oh, P., Park, H.A., & Paldhe, M. (2013). Motion planning of ladder climbing for humanoid robots. In IEEE international conference on technologies for practical robot applications (pp. 1–6).

  • Zucker, M., Ratliff, N., Dragan, A., Pivtoraiko, M., Klingensmith, M., Dellin, C., et al. (2013). CHOMP: Covariant hamiltonian optimization for motion planning. International Journal of Robotics Research, 32(9–10), 1164–1193.

    Article  Google Scholar 

Download references

Acknowledgments

This work is supported partly by internal Grants from IS-AIST, the JSPS Kakenhi B No. 25280096, and the EU FP7 KoroiBot Project www.koroibot.eu. Part of this work was published in Vaillant et al. (2014).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Abderrahmane Kheddar.

Electronic supplementary material

Appendix: Computing orientation task \(\mathrm {Err}\)

Appendix: Computing orientation task \(\mathrm {Err}\)

To compute the task orientation error \(\text{ Err }\) between two rotation matrices \(E_1\) and \(E_2\), we use the logarithmic matrix formula described in Murray et al. (1994).

Let \(E = E_1^T E_2\), \({\hat{\omega }} \in {\mathbb {R}}^{3\times 3}\) the skew matrix representing angular velocities, and the rotational speed matrix \({\dot{E}} = {\hat{\omega }} E\),

$$\begin{aligned} E = \begin{bmatrix} E_{11}&E_{12}&E_{13} \\ E_{21}&E_{22}&E_{23} \\ E_{31}&E_{32}&E_{33} \end{bmatrix} \end{aligned}$$

We have \(\log (\text{ E }) = \log (\exp ({\hat{\omega }})) \equiv {\hat{\omega }}\). To compute the rotational speed vector \(\omega \in {\mathbb {R}}^{3}\) we use the following formula:

$$\begin{aligned} \omega = \frac{1}{2\mathrm {sinc}(\theta )} \begin{bmatrix} E_{32} - E_{23}\\ E_{13} - E_{31}\\ E_{21} - E_{12} \end{bmatrix} \end{aligned}$$

where \(\theta = \cos ^{-1}\left( \frac{E_{11} + E_{22} + E_{33} - 1}{2} \right) \). Then we simply set:

$$\begin{aligned} \text{ Err }(E_1, E_2) = \omega \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Vaillant, J., Kheddar, A., Audren, H. et al. Multi-contact vertical ladder climbing with an HRP-2 humanoid. Auton Robot 40, 561–580 (2016). https://doi.org/10.1007/s10514-016-9546-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10514-016-9546-4

Keywords

Navigation