Skip to main content
Log in

A multitasking architecture for humanoid robot programming

  • Original Research
  • Published:
Intelligent Service Robotics Aims and scope Submit manuscript

Abstract

We propose a hierarchical, three-tiered motion programming architecture for humanoid robots that allows for the prioritized coordination of multiple tasks while taking into account the dynamics and other physics-based constraints that underlie typical humanoid robot tasks. We first introduce a data structure for generic humanoid robots based on a general description of what constitutes a humanoid that is workable and practical from a programming perspective, without overly restricting the diversity of humanoid designs. For the low-level language we develop an extension of Brockett’s motion description language (MDL) that allows for the prioritized coordination of multiple tasks taking into account the dynamics-based requirements of typical humanoid manipulation tasks. The extended multitasking motion description language (MDLm) inherits the advantages of the original MDL, while making use of change of coordinates and the null space control formalism of Sentis and Khatib (Int J Humanoid Robot 2(4):505–518, 2005). We also develop a high-level language consisting of pre-defined motion primitives that constitute a vocabulary for generating more complex free-space motions and object manipulation tasks. These occupational tasks and free-space motions are derived based on methods and principles for measuring human task performance Drumwright (The Task Matrix: a robot-independent framework for programming humanoids. Ph.D dissertation, University of Southern California, 2007), Karger and Bayha (Engineered work measurement. Industrial Press, New York, 1965). The structure of the high level language is also inspired in part by well-established notation for dance choreography Huang and Hudak (Dance: a declarative language for the control of humanoid robots, 2003) Hutchinson (Labanotation or Kinetography Laban: system of analyzing and recording movement. Oxford University Press, New York, 1972). In the resulting architecture, high-level motion primitives and MDLm are integrated in a balanced and consistent manner that allows for flexible and intuitive programming in an efficient manner. A case study is offered to illustrate our architecture.

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

Similar content being viewed by others

Notes

  1. The operational space error may differ according to a definition of the orientation error.

References

  1. Alami R, Chatila R, Fleury S, Ghallab M, Ingrand F (1998) An architecture for autonomy. Int J Robot Res

  2. Baerlocher P, Boulic R (1998) Task-priority formulations for the kinematic control of highly redundant articulated structures. In: Proceedings of the IEEE/RSJ international conference on intelligent robots and systems, vol 1, pp 323–329

  3. Beetz M, Mösenlechner L, Tenorth M (2010) A cognitive robot abstract machine (CRAM) for everyday manipulation in human environments. In: Proceedings of the IEEE/RSJ international conference on intelligent robots and systems

  4. Ben-Israel A, Greville TNE (2003) Generalized inverses theory and applications. Springer, Berlin

    MATH  Google Scholar 

  5. Brockett RW (1988) On the computer control of movement. Robot Autom

  6. Brockett RW (1990) Formal languages for motion description and map making. In: Proceedings of symposia in applied mathematics

  7. Drumwright E (2007) The task matrix: a robot-independent framework for programming humanoids. Ph.D dissertation, University of Southern California

  8. Drumwright E, Ng-Thow-Hing V, Matarić M (2006) The Task Matrix framework for platform-independent humanoid programming. In: Proceedings of the IEEE/RAS international conference on humanoid robots

  9. Firby RJ (1989) Adaptive execution in complex dynamic worlds. Ph.D dissertation, Yale University

  10. Gerkey B, Vaughan R, Howard A (2003) The player/stage project: tools for multi-robot and distributed sensor systems. In: Proceedings of the 11th international conference on advanced robotics, pp 317–323

  11. Hristu-Varsakelis D, Egerstedt M, Krishnaprasad P (2003) On the structural complexity of the motion description language MDLe. In: Proceedings of the 42nd IEEE conference on decision and control

  12. Huang L, Hudak P (2003) Dance: a declarative language for the control of humanoid robots

  13. Hutchinson A (1972) Labanotation or Kinetography Laban: system of analyzing and recording movement. Oxford University Press, New York

    Google Scholar 

  14. Karger DW, Bayha FH (1965) Engineered work measurement. Industrial Press, New York

    Google Scholar 

  15. Khatib O (1987) A unified approach for motion and force control of robot manipulators: the operational space formulation. Int J Robot Autom 3(1):43–53

    Article  Google Scholar 

  16. Kim J (2002) Geometric algorithms and data structures for physical based simulation. Ph.D dissertation, School of Mechanical Engineering, Seoul National University

  17. Kortenkamp D, Simmons R (2008) Robotic systems architectures and programming. In: Siciliano B, Khatib O (eds) Springer handbook of robotics. Springer, Heidelberg

    Google Scholar 

  18. Lindström M, Oreback A, Christensen H (2000) BERRA: a research architecture for service robots. Robot Autom

  19. Manikonda V, Krishnaprasad P, Hendler J (1998) Languages, behaviors, hybrid architectures and motion control. Math Control Theory

  20. Martin P, de La Croix J, Egersted M (2008) MDLn: a motion description language for networked systems. In: IEEE conference on decision and control (CDC)

  21. Martin P (2010) Motion description languages: from specification to execution. Ph.D dissertation, School of Electrical and Computer Engineering, Georgia Institute of Technology

  22. Murray RM, Li Z, Sastry SS (1994) A mathematical introduction to robotic manipulation. CRC Press, Boca Raton

    MATH  Google Scholar 

  23. Niebel B, Freivalds A (2003) Methods, standards, and work design. McGraw-Hill, New York

    Google Scholar 

  24. Park FC, Bobrow JE, Ploen SR (1995) A lie group formulation of robot dynamics. Int J Robot Res 14(6):609–618

    Article  Google Scholar 

  25. Park I-W, Kim J-Y, Lee J, Oh J-H (2005) Mechanical design of humanoid robot platform KHR-3 (KAIST Humanoid Robot-3: HUBO). In: Proceedings of the IEEE/RAS international conference on humanoid robots

  26. Park I-W, Kim J-Y, Lee J, Oh J-H (2005) Mechanical design of the humanoid robot platform, HUBO. Adv Robot 21(11):1305–1322

    Article  Google Scholar 

  27. Sentis L, Khatib O (2005) Synthesis of whole-body behaviors through hierarchical control of behavioral primitives. Int J Humanoid Robot 2(4):505–518

    Article  Google Scholar 

  28. Siciliano B, Slotine JJE (1991) A general framework for managing multiple tasks in highly redundant robotic systems. Adv Robot

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Frank Chongwoo Park.

Additional information

This research was supported in part by the Center for Advanced Intelligent Manipulation, KIST-CIR, and SNU-IAMD.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Han, J., Park, F.C. A multitasking architecture for humanoid robot programming. Intel Serv Robotics 6, 121–136 (2013). https://doi.org/10.1007/s11370-013-0132-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11370-013-0132-8

Keywords

Navigation