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.
Similar content being viewed by others
Notes
The operational space error may differ according to a definition of the orientation error.
References
Alami R, Chatila R, Fleury S, Ghallab M, Ingrand F (1998) An architecture for autonomy. Int J Robot Res
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
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
Ben-Israel A, Greville TNE (2003) Generalized inverses theory and applications. Springer, Berlin
Brockett RW (1988) On the computer control of movement. Robot Autom
Brockett RW (1990) Formal languages for motion description and map making. In: Proceedings of symposia in applied mathematics
Drumwright E (2007) The task matrix: a robot-independent framework for programming humanoids. Ph.D dissertation, University of Southern California
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
Firby RJ (1989) Adaptive execution in complex dynamic worlds. Ph.D dissertation, Yale University
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
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
Huang L, Hudak P (2003) Dance: a declarative language for the control of humanoid robots
Hutchinson A (1972) Labanotation or Kinetography Laban: system of analyzing and recording movement. Oxford University Press, New York
Karger DW, Bayha FH (1965) Engineered work measurement. Industrial Press, New York
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
Kim J (2002) Geometric algorithms and data structures for physical based simulation. Ph.D dissertation, School of Mechanical Engineering, Seoul National University
Kortenkamp D, Simmons R (2008) Robotic systems architectures and programming. In: Siciliano B, Khatib O (eds) Springer handbook of robotics. Springer, Heidelberg
Lindström M, Oreback A, Christensen H (2000) BERRA: a research architecture for service robots. Robot Autom
Manikonda V, Krishnaprasad P, Hendler J (1998) Languages, behaviors, hybrid architectures and motion control. Math Control Theory
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)
Martin P (2010) Motion description languages: from specification to execution. Ph.D dissertation, School of Electrical and Computer Engineering, Georgia Institute of Technology
Murray RM, Li Z, Sastry SS (1994) A mathematical introduction to robotic manipulation. CRC Press, Boca Raton
Niebel B, Freivalds A (2003) Methods, standards, and work design. McGraw-Hill, New York
Park FC, Bobrow JE, Ploen SR (1995) A lie group formulation of robot dynamics. Int J Robot Res 14(6):609–618
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
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
Sentis L, Khatib O (2005) Synthesis of whole-body behaviors through hierarchical control of behavioral primitives. Int J Humanoid Robot 2(4):505–518
Siciliano B, Slotine JJE (1991) A general framework for managing multiple tasks in highly redundant robotic systems. Adv Robot
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported in part by the Center for Advanced Intelligent Manipulation, KIST-CIR, and SNU-IAMD.
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11370-013-0132-8