학위논문 (박사)-- 서울대학교 대학원 : 기계항공공학부, 2013. 2. 박종우. ; 본 논문에서는 휴머노이드 로봇을 대상으로 로봇의 동작을 프로그래밍 할 수 있는 언어, 자료구조, 아키텍쳐와 동역학 시뮬레이션을 갖춘 체계를 제시한다. 본 연구는 휴머노이드와 같은 여러 자유도를 갖는 로봇의 동작 생성이 어렵고 또한 일회성에 그쳐 재사용이 어렵다는 문제점을 인식하고 이를 해결하기 위한 방법을 찾고자 하였다. 우선 휴머노이드 로봇의 동작을 하드웨어의 기구학적인 구조와 상관없이 표현할 수 있는 동작 어휘들을 제안하였다. 다양한 휴머노이드 로봇을 포함할 수 있는 추상적인 휴머노이드 모델 및 자료구조를 고안하고, 추상 휴머노이드 모델을 대상으로 단순 자유 동작뿐만 아니라 환경과 상호작용하는 동작을 표현할 수 있다. 어휘들이 표현의 풍부성을 갖도록 하기 위하여 MTM법(Method-Time Measurement System)과 라바노테이션(Labanotation)의 아이디어를 이용하였다. 다음으로 휴머노이드 로봇의 멀티태스킹을 표현할 수 있는 로우레벨의 동작 기술 언어를 개발하였다. 기존의 동작 기술 언어(Motion Description Language)의 한계를 해결하여 여러 기본 제어기(primitive controller)의 중첩을 통해 다중 작업 및 동작을 수행할 수 있는 제어기를 구성하는 방법을 제시하였다. 기본 제어기는 제어 법칙과 좌표변환사상, 그리고 제어 종료 시점을 알려주는 함수로 구성되어있다. 기본 제어기에 우선순위를 부여하여 이에 따라 다중 작업 및 동작을 수행할 수 있도록 하였다. 제안된 방법은 하드웨어의 기구학적 구조에 대한 의존성을 최소화 하여 다른 구조의 휴머노이드에 적은 노력으로도 재사용이 가능하도록 하였다. 마지막으로, 고안된 어휘와 로우레벨 언어를 통하여 휴머노이드 로봇의 동작을 프로그래밍하고 검증할 수 있는 통합된, 계층 구조를 가진 소프트웨어 체계를 개발하였다. 하이 레벨 어휘를 로우 레벨 제어기로 해석하여 다중 작업 및 동작을 위한 제어기를 구성하여 휴머노이드 로봇을 제어할 수 있도록 하였다. 리(Lie)그룹에 기반한 재귀 동역학 알고리즘을 이용하여 빠르고 정확한 동역학 시뮬레이션을 제공하여 이를 통해 작성된 동작을 동역학적으로 검증해 볼 수 있는 환경을 제공하는 아키텍처를 개발하였다. ; Abstract ix List of Tables xv List of Figures xvii 1 Introduction 1 1.1 High-level Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Low-level Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Robot Software Architecture . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Humanoid Abstract Modeling 7 2.1 Existing Humanoids . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.1 Brief Survey on Existing Humanoids . . . . . . . . . . . . . 8 2.1.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 Data Structures for Humanoid Modeling . . . . . . . . . . . . . . . 15 2.2.1 Kinematic Structure Abstraction . . . . . . . . . . . . . . . . 16 2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3 Humanoid Programming Vocabulary 23 3.1 Free-space Movements . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.1 Overview of Labanotation . . . . . . . . . . . . . . . . . . . . 23 3.1.2 Primitive Motions . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Task-Oriented Movements . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.1 Overview of MTM . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.2 Primitive motions . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4 Multitasking Motion Description Language 37 4.1 Brockett's Motion Description Language . . . . . . . . . . . . . . . 38 4.1.1 Changes of Coordinates . . . . . . . . . . . . . . . . . . . . . 39 4.1.2 Redundant Motion . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.3 MDL Machine for Manipulators Involving Dynamics . . . . 44 4.2 Multitasking Motion Description Language . . . . . . . . . . . . . . 46 4.2.1 Multitasking MDL Atom . . . . . . . . . . . . . . . . . . . . 47 4.2.2 Termination Atom . . . . . . . . . . . . . . . . . . . . . . . . 48 4.2.3 Multitasking MDL Word . . . . . . . . . . . . . . . . . . . . 49 4.2.4 Priority Adjustment . . . . . . . . . . . . . . . . . . . . . . . 50 4.2.5 Multitasking MDL Plan . . . . . . . . . . . . . . . . . . . . . 51 4.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5 Integrated Architecture and Dynamics Simulation Library 53 5.1 Architectures for Motion Coordination . . . . . . . . . . . . . . . . . 54 5.1.1 Motion Programming Layer . . . . . . . . . . . . . . . . . . . 54 5.1.2 MDLm Compilation Layer . . . . . . . . . . . . . . . . . . . 57 5.1.3 Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.2 Dynamics Simulation Library: srLib . . . . . . . . . . . . . . . . . . 63 5.2.1 Robot Modeling of srLib . . . . . . . . . . . . . . . . . . . . 65 5.2.2 Dynamic Formulation and Algorithms . . . . . . . . . . . . . 66 5.2.3 Software Architecture . . . . . . . . . . . . . . . . . . . . . . 68 5.2.4 R-Station Simulator . . . . . . . . . . . . . . . . . . . . . . . 69 5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6 Case Studies 71 6.1 Golem Krang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.1.1 Golem Krang Modeling . . . . . . . . . . . . . . . . . . . . . 72 6.1.2 Golem Krang Control . . . . . . . . . . . . . . . . . . . . . . 74 6.2 Hubo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.2.1 Low-level Modeling . . . . . . . . . . . . . . . . . . . . . . . 76 6.2.2 Humanoid Proxy Modeling . . . . . . . . . . . . . . . . . . . 82 6.2.3 MDLm Atom Programming . . . . . . . . . . . . . . . . . . . 84 6.3 Motion Programming Simulation . . . . . . . . . . . . . . . . . . . . 90 6.3.1 Reach: Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.3.2 Reach/ApplyForce: Dishwashing . . . . . . . . . . . . . . . . 90 6.3.3 Reach/Support: Static Walking . . . . . . . . . . . . . . . . . 92 6.3.4 Motions with Balance . . . . . . . . . . . . . . . . . . . . . . 94 6.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7 Conclusion 95 7.1 Main Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.2 Future Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 7.2.1 Validation on hardware platforms . . . . . . . . . . . . . . . 96 7.2.2 Static Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.2.3 Grasp Planning . . . . . . . . . . . . . . . . . . . . . . . . . . 97 A Dynamics of Multibody Systems 99 A.1 Rigid Body Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . 99 A.1.1 Rigid Body Motion . . . . . . . . . . . . . . . . . . . . . . . 99 A.1.2 Screw Motions . . . . . . . . . . . . . . . . . . . . . . . . . . 102 A.1.3 Generalized Velocity and Force . . . . . . . . . . . . . . . . . 103 A.1.4 Generalized Inertia . . . . . . . . . . . . . . . . . . . . . . . . 105 A.1.5 Dynamics of a Single Rigid Body . . . . . . . . . . . . . . . 106 A.2 Dynamics of Kinematic Chains . . . . . . . . . . . . . . . . . . . . . 107 A.2.1 Recursive Dynamics Algorithm . . . . . . . . . . . . . . . . . 107 A.2.2 Recursive Hybrid Dynamics Algorithm . . . . . . . . . . . . 109 Bibliography 113 국문초록 121 ; Doctor
(A) multitasking motion programming framework for humanoid robots ; 휴머노이드 로봇을 위한 다중 작업 동작 프로그래밍 체계
2013-01-01
Theses
Electronic Resource
English