Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 12, No. 2, pp.239-247
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date May 2017
Received 6 Apr 2017 Revised 18 May 2017 Accepted 22 May 2017
DOI: https://doi.org/10.7746/jkros.2017.12.2.239

더블 역 진자 모델을 이용한 사람과 같은 균형 유지 동작 생성 기술

황재평1 ; 서일홍
Human-like Balancing Motion Generation based on Double Inverted Pendulum Model
Jaepyung Hwang1 ; Il Hong Suh
1Computer Software Engineering, Hanyang University yapyung@hanyang.ac.kr

Corresponding author : Electronics and Computer Engineering, Hanyang University, Wangsimni-ro, Seongdong-gu, Seoul, Korea ( ihsuh@hanyang.ac.kr)

© Korea Robotics Society. All rights reserved.

Abstract

The purpose of this study is to develop a motion generation technique based on a double inverted pendulum model (DIPM) that learns and reproduces humanoid robot (or virtual human) motions while keeping its balance in a pattern similar to a human. DIPM consists of a cart and two inverted pendulums, connected in a serial. Although the structure resembles human upper- and lower-body, the balancing motion in DIPM is different from the motion that human does. To do this, we use the motion capture data to obtain the reference motion to keep the balance in the existence of external force. By an optimization technique minimizing the difference between the motion of DIPM and the reference motion, control parameters of the proposed method were learned in advance. The learned control parameters are re-used for the control signal of DIPM as input of linear quadratic regulator that generates a similar motion pattern as the reference. In order to verify this, we use virtual human experiments were conducted to generate the motion that naturally balanced.

Keywords:

Balance Control, Motion Learning and Reproduction, Optimization

1. 서 론

휴머노이드 로봇 연구에서 로봇이 걷거나 제스처 동 작을 생성할 때 기본적으로 로봇의 균형을 유지하는 것 이 필요하다. 사람의 경우, 다른 사람 또는 물체와 부딪 히는 등의 외력을 받았을 때, 현재 자세를 유지하도록 균형을 유지하는 동작을 자연스럽게 만들어낼 수 있다.

기존의 몇몇 로봇 연구자들은 이러한 균형 유지 동작 을 만들어내기 위해 내부 모델(internal model)로서 역 진자 모델을 사용하였다. 이 역 진자 모델의 동작 패턴을 사용하여 발 딛는 위치를 추정함으로써 균형을 유지하 는 동작을 생성하여 왔다[1-3,13,14].

역 진자 모델을 사용하여 균형을 유지하는 동작을 생 성한 몇몇 연구자들은 운동 에너지의 손실을 위치 에너 지로 보상함으로써 걷는 동작을 생성하는데 사용했다 [4-7,15]. 또한, 몇몇 연구자들은 전신의 균형을 유지하기 위해 한발을 딛는 동작을 계획함으로써 충돌로부터 복 구하는 동작을 생성하는 연구를 진행해 왔다[8,9]. 또한, ZMP (Zero movement point)와 무게 중심(center of mass) 의 경로를 미리 계획(planning)함으로써 균형을 유지하 는 동작을 생성하였다[10,11]. 또한, T. Kwon[1] 은 하나의 역 진자 모델과 정면 방향으로 달리는 동작을 이용하여, 사람과 같이 달리는 동작을 생성하였다. 이렇게 생성된 동작은 캡처된 동작과 유사하게 정면 방향으로 달리는 동작을 생성할 뿐만 아니라, 왼쪽 또는 오른쪽 방향으로 회전하며 달리며 일정 외력에도 균형을 유지하는 것이 가능하였다. 최근 이를 확장하여, 역 진자 모델과 사용자 의 동작의 모멘텀을 지도화(mapping)하는 기법을 제안 하였다. 모멘텀 지도화를 통해 생성된 동작은 두 발이 땅에 붙어 있을 때와 마찬가지로 두 발이 땅에서 떨어져 있는 동작에서도 사용 가능하게 된다. 이를 이용하여 다 양한 체조 동작을 생성하는 결과를 보여준다[3]. J. Hwang[2]은 두 개의 역 진자 모델을 함께 하나의 커플로 써 모델링 함으로써 두 사람이 서로 격투를 하는 동작을 생성하였다. 커플링 모델을 이용하여 두 사람 사이의 관 계(거리 및 각 속도)를 유지하면서, 사용자의 입력 신호 에 따라 다양한 격투 동작을 생성하는 것을 볼 수 있었다. 하지만, 이러한 연구들은 하나의 진자 모델을 이용하였 기 때문에, 상체를 이용한 균형 유지나 자연스러운 허리 동작을 생성하는 것이 어렵다. 우리는 더블 역 진자 모델 을 정의하고 이를 학습 시킴으로써 상체를 이용한 균형 유지 및 자연스러운 허리 동작을 생성하고자 하였다.

역 진자 모델은 일반적으로 linear quadratic regulator (LQR)를 이용하여 외력이 가해지는 등의 다양한 상황에 서 일정한 모델의 상태(model state)를 유지하도록 제어 된다. 하지만, 사람과 같은 모습 또는 움직임을 가진 로 봇의 LQR은 선형적 동작 패턴을 가정한 기법으로써 이 를 이용하여 생성한 동작 패턴은 비선형적인 사람의 자 연스러운 동작을 표현하기에는 어려움이 있다.

이를 해결하기 위해 기존의 몇몇 연구자들은 이 물리 모델의 동작을 사람의 동작 패턴과 비슷하게 만들고, 이 를 지도화(mapping) 함으로서 가상 휴먼의 균형을 유지 하는 전신 동작을 생성하였다[1,2]. 하지만, 하나의 역 진 자 모델에는 허리 관절을 표현하는 관절이 없기 때문에 허리를 이용하여 균형을 유지하는 동작을 표현하는 데 에 어려움이 있다. 이를 위해, 우리는 허리도 함께 표현 가능하도록 더블 역 진자 모델(double inverted pendulum model, DIPM)을 이용하여 휴머노이드 로봇이 허리를 이 용하여 균형을 유지하도록 하는 동작 등이 표현 가능하 도록 하고자 한다.

이를 위해 우리는 먼저 모션 캡처 장비를 이용하여 사람이 균형을 유지하는 동작을 획득하고, 획득한 동작 을 사용하여 가상 휴먼을 움직임으로써 모션 캡처 동작 을 만들었다. 생성된 모션 캡처 동작과 linear quadratic regulator (LQR) 솔루션을 기반으로 움직이는 더블 역 진자 모델의 동작 패턴의 차이를 최소화 (minimization) 하는 최적화 과정을 거침으로써 모션 캡처 동작과 비슷한 패턴을 갖는 DIPM의 레퍼런스 동작 패턴을 학습하였다.

학습한 레퍼런스 동작은 매 프레임마다 재사용되어 실시간으로 더블 역 진자 모델의 관절 제어 신호의 레퍼 런스를 제공함으로써 모션 캡처 동작과 동일한 패턴의 동작을 생성하게 된다. 추가로, 최적화가 진행되는 동안 DIPM의 동작과 따른 모션 캡처 동작 사이의 차이를 저 장함으로써 DIPM과 가상 휴먼 사이의 지도(map) 정보 를 획득하였다. 이 지도 정보는 DIPM의 상태에 따라 가상 휴먼의 전신 관절 정보를 제공하게 된다.

제안하는 균형 유지 동작 생성 기술을 설명하기 위해, 2장에서는 전체 기술의 개요를 설명하였다. 3장에서는 DIPM의 동작과 모션 캡처 동작을 매칭하고, 두 동작 사이의 관계를 학습하는 방법을 설명하였다. 4장에서는 학습한 관계 정보를 이용하여 외력이 가해졌을 때, 모션 캡처 동작과 같은 자연스러운 동작을 생성하는 방법에 대하여 설명하였다. 제안하는 동작 생성 기술을 검증하 기 위하여, 균형을 유지하는 모션 캡처 동작을 이용하여 다른 외력에 반응 동작을 생성하는 실험을 진행하였다.


2. 개 요

제안하는 동작 생성 기술은 가상 휴먼 또는 휴머노이 드 로봇에 가해지는 외력에 자연스러운 균형 유지 동작 을 생성한다. Fig. 1은 제안하는 동작 생성 기술의 개념 도를 나타낸다. 이 동작 생성 기술은 두 단계를 거쳐 균 형 유지 동작을 학습 및 생성하게 된다. 첫 번째 단계는 동작 분석(motion analysis) 단계로 모션 캡처 동작으로 부터 균형 제어에 필요한 레퍼런스 동작을 학습하는 단 계이고 두 번째 단계는 학습한 레퍼런스 동작들을 이용 하여 상황에 맞게 동작을 생성하는 동작생성(motion synthesis) 단계이다.

Fig. 1

Conceptual diagram. Motion analysis is a preprocessing step that extracts mapping information and DIP reference trajectory (Up). Motion synthesis uses the DIP motion trajectory to generate full-body motion for a virtual human

동작 분석에서는 더블 역 진자 모델의 동작 패턴이 사 전에 획득한 모션캡처 동작 패턴과 일치하도록 함과 동시 에 전신 동작을 구성하는 주요 정보들(예를 들어, 손 또는 발의 위치)을 획득하는 것이다. 이를 위해 더블 역 진자 모델의 제어기를 파라미터로 조정 가능하도록 디자인하 고, 이 파라미터를 최적 변수로 정의하였다. 정의된 최적 변수를 최적화 함으로써 모션 캡처 동작 패턴과 일치하는 레퍼런스 동작을 학습하였다. 최적화 과정 중에 레퍼런스 동작과 역 진자 모델 사이의 관계에 대한 지도(map)를 저장함으로써 상대적으로 저 차원에서 정의되는 더블 역 진자 모델로 고 차원의 휴머노이드 로봇의 전신 관절 또 는 가상 휴먼의 전신 동작을 생성할 수 있게 된다.

동작 생성에서는 학습된 제어 파라미터(레퍼런스 동작 을 만드는 파라미터)와 지도를 이용하여 매 프레임 상황 에 맞는 전신 관절 정보를 제공하는 것이다. 이를 위해, 먼저 더블 역 진자 모델의 몇 프레임 앞을 미리 시뮬레이 션 해본다. 이 시뮬레이션(simulation)부터 더블 역 진자 모 델의 경로(trajectory)를 획득하고, 사전에 저장되어 있던 지 도를 이용하여 전신의 균형을 유지하는 동작을 생성한다.


3. 동작 분석

동작 분석을 통해서 우리는 두 가지 정보를 획득할 수 있게 된다. 첫 번째 정보는 모션 캡처 동작과 더블 역 진자 모델의 동작의 패턴이 동일하도록 하는 더블 역 진자 모델의 제어 파라미터이고, 역 진자 모델로부터 가상 휴먼의 동작으로 재건하기 위한 지도(mapping) 정 보이다. 모델의 제어파라미터는 레퍼런스 동작과 모델 의 동작의 차이를 최소화 함으로써 획득할 수 있다. 지도 정보는 더블 역 진자 모델과 휴먼 모델 사이의 차이를 계산함으로써 획득 가능하다. 이후, 이 과정을 설명하기 위해 우리는 사용하는 두 가지 모델(가상 휴먼 모델과 더블 역 진자 모델)을 설명하고, 두 모델의 동작을 최적 화 및 지도화하는 과정을 설명하도록 하겠다.

3.1. 더블 역 진자 모델과 가상 휴먼 모델

가상 휴먼의 동작을 표현하기 위한 더블 역 진자 모델 (Double Inverted Pendulum Model, DIPM)은 하나의 카 트(cart)와 두 개의 펜듈럼(pendulum)로 구성 된다. 모델 의 구조는 평면 위에서 움직이는 하나의 카트에 펜듈럼1 이 연결되고, 이 펜듈럼1에 일렬로 펜듈럼2가 연결되어 있는 구조이다(Fig. 2 참고). DIPM은 여덟 개의 자유도 로 구성되어, 평면 위의 카트의 움직임(2 DOF), 카트와 펜듈럼1 사이의 관절 (2 DOF), 펜듈럼1과 펜듈럼2 사이 의 관절(2 DOF), 펜듈럼1의 진행방향(1 DOF), 마지막으 로 펜듈럼2의 진행방향(1 DOF)을 나타낸다. DIPM 모델 의 전체 길이는 캐릭터의 키와 동일하게 정의하였고, 나 머지 파라미터들에 대해서는 Bogdanov[12]와 동일 파라 미터를 사용하였다. 모델의 상태는 이 8개의 관절의 위 치와 속도로 표현된다. 모델의 상태는 선형화된 상태 방 정식에 의해 업데이트 된다.

Fig. 2

A virtual human model (left) and a double inverted pendulum model (right)

x˙=Ax+Bu(1) 

여기서의 xu 는 각각 모델의 상태와 제어 신호를 의미 하고, AB 는 선형화된 시스템 행렬을 의미한다. 제어 신호는 카트에 가해지는 힘을 의미하고, 이 힘에 따라 더블 역 진자 모델의 동작이 결정된다. 이 수식의 입력은 모델의 제어 신호가 되고, 매 프레임 모델의 제어 신호가 인가됨에 따라 모델의 상태가 변화하게 된다(이에 대한 자세한 사항은 관련 논문 [12] 참고)

가상 휴먼 모델은 총 53 자유도(degrees of freedom)를 가지는 사람과 같은 뼈대 구조를 가진 가상 모델로 정의 하였다[1,3]. 각 팔꿈치와 무릎은 1개의 힌지 관절(hinge joint)로 구성되어 있고, 아래등과 목부분은 2 자유도를 갖고 있다. 그리고, 나머지 모든 관절들은 3자유도의 관 절로 구성되어 있다. Fig. 2의 왼쪽 그림을 보면 본 연구 에 사용된 모델의 모습을 볼 수 있다.

3.2. 균형 제어(Balance Control)

앞서 구성한 DIPM의 다이나믹스를 고려해보면 아무 제어 신호를 가하지 않으면, 바닥으로 넘어지게 된다. DIPM의 균형을 유지하는 동작을 생성하기 위해서는 DIPM에 맞는 제어 기법이 필요하다. 이를 위해 우리는 역 진자 모델의 제어에 일반적으로 사용되는 linear quadratic regulator (LQR)를 사용하였다. LQR은 모델의 상 태와 제어 신호의 에너지를 최소화하도록 하는 모델의 제어신호를 제공한다. 제공되는 제어신호는 LQR의 결 과로 획득한 솔루션 행렬(solution matrix)를 모델의 상태 와 곱하는 연산으로 간단히 구할 수 있다.M2

u=κx,(2) 

여기서의 κ 는 LQR의 솔루션 행렬을 의미하고, x 는 모 델의 상태, 그리고 u 는 카트에 가해지는 힘을 의미한다. 이 LQR 솔루션은 더블 역 진자 모델이 균형을 유지하며 현재의 상태를 유지하도록 카트에 가하는 힘을 제어한 다. 이러한 패턴을 이용하여 우리는 현재 상태를 유지하 는 것으로부터 목표 상태를 유지하도록 이 솔루션을 변 형하였다. 즉, 이 솔루션의 상태를 모델의 현재 상태와 목표 상태의 차이로 정의하였다.

u=κ(xxd)(3) 

여기서 xd 는 목표 상태를 의미한다. 이 솔루션은 더블 역 진자 모델의 상태가 목표 상태를 유지하도록 한다. 하지만, 목표 상태에 레퍼런스 동작으로 획득한 동작을 넣는 다고 하더라도 에러가 존재한다. 왜냐하면, 앞서 2장에서 정의한 모델로부터 나오는 제한사항(model constraint)이 존재하기 때문이다. 이 제한사항은 DIPM 의 펜듈럼의 동작이 카트의 움직임으로부터 생성 되는 것으로 인해서 생기는 지연뿐만 아니라 식 (3)의 LQR 제어에서 발생하는 지연으로 인한 레퍼런스 동작과의 차이가 존재하게 된다. 또한, 이 LQR 솔루션은 동작의 선형성(linear)을 가정하기 때문에 비 선형적인 사람의 동작을 그대로 재현하는 것이 어렵다. 다음 장에서는 이 러한 문제를 해결하기 위해 최적화를 통해 목표 상태를 획득하는 방법을 소개하고자 한다.

3.3. 최적화(Optimization)

더블 역 진자 모델의 동작 패턴을 레퍼런스 동작의 패턴과 같아지도록 만들기 위해 우리는 기존의 T. Kwon 이 제안한 동작 분석 방법으로부터 얻은 아이디어를 비 슷하게 사용하였다. 이를 위해, 먼저 모션 캡처 시스템을 이용하여 사람이 균형을 유지하는 동작 데이터를 획득 하고, 이 동작 데이터를 사용하여 앞서 설계한 가상 휴먼 을 움직임으로써 레퍼런스 동작을 만들었다. 모션 캡처 동작은 두 사람이 광학식 마커가 부착된 옷을 입고, 한 사람은 서있는 상태에서 다른 한 사람이 미는 동작을 수행 함으로써 획득하였다. 획득한 마커의 동작으로부 터 휴먼 모델의 관절 정보를 추정하게 된다. 이 레퍼런스 동작과 동일한 동작 패턴을 가지도록 DIPM의 동작을 생성하기 위해 우리는 일정 시간 동안의 모델의 동작 경로(motion trajectory)와 레퍼런스 동작의 경로를 최소 화 하도록 모델의 목표 상태를 최적화 하였다. 이때, 전 체 경로를 한번에 최적화하기에는 동작의 길이에 따라 최적화해야 하는 변수의 차원이 높아 지기 때문에, 우리 는 최적화를 진행할 윈도우 사이즈를 정하고, 윈도우 사 이즈만큼씩 순차적으로 진행하였다. 이와 동시에 하나 의 윈도우에 몇 개의 키 프레임을 정해서 키 프레임의 수만큼 목표 상태 변수를 최적화하였다. 균형 유지 동작 에서 사용한 윈도우 사이즈는 12이고, 세 개의 키 프레임 을 사용하였다. 이는 12프레임 동안의 목표 상태를 대표 하는 3개(1, 6, 12번째 프레임)의 목표 상태로 표현하는 것을 의미한다. 이를 통해 우리는 효율적이면서 좋은 성 능을 보이는 최적화를 진행 할 수 있었다. 아래 식은 이 를 수식화 한 것이다.

{xd}=argminxdkK{Cup(xd)+Clow(xd)}(4) 

여기서의 {xd} 는 하나의 윈도우를 구성하는 최적화된 키 목표 상태(desired state)를 의미한다. 이 키 목표상태 는 선형 내삽(linear interpolation) 기법을 거쳐 목표 상태 의 시퀀스(sequence)로 재구성된다. Cup(xd) 는 코스트 함 수로써 펜듈럼2와 레퍼런스 모션의 상체 사이의 차이를 의미한다. Clow(xd) 는 하체에 대한 코스트 함수로써 펜듈 럼1과 레퍼런스 모션의 하체의 차이를 의미한다. K는 최적화 하는 윈도우 사이즈를 의미하고, 하나의 윈도우 에 3개의 키 프레임을 사용하였다. 식 (4)에서의 두 코스 트 함수들은 아래와 같이 정의된다.M5M6

Clow(xd)=||xcom1pcom1||2(5) 

Cup(xd)=||xcom2pcom2||2subject to x˙=Ax+B[κ(xxd)](6), 

여기서 xcom1 는 펜듈럼1의 무게 중심(center of mass)를 의미하고, pcom1 는 레퍼런스 동작에서 하체의 무게중심 을 의미한다. xcom2 은 펜듈럼2의 무게 중심을 의미하고, pcom2 은 상체의 무게중심을 의미한다. 무게중심이 각 신 체 부위의 중앙에 있다는 가정을 사용하여 무게 중심을 계산하였다. 상체의 무게 중심 계산에는 양 팔, 머리, 몸 통이 포함되고, 하체 무체 중심 계산에는 두 다리와 골반 부위가 포함된다. 식 (4)에 정의된 최적화의 결과로 획득 한 최적화된 제어 파라미터들(목표 상태의 시퀀스)은 Fig. 3에서와 같이 모션 캡처 동작과 동일한 패턴의 DIPM 의 동작을 생성하게 된다.

Fig. 3

The result of motion analysis: This figure describes that the generated DIP reference trajectory matches to the motion capture data after the optimization procedure

3.4. 지도 구성(Map Construction)

앞서 획득한 최적화된 제어 파라미터(목표 상태)를 사 용하여 LQR제어기의 입력으로 사용함으로써 레퍼런스 동작과 비슷한 패턴을 갖도록 더블 역 진자 모델의 동작 을 생성하였다. 낮은 자유도(Degree of freedom)를 갖는 더블 역 진자 모델의 동작으로부터 높은 자유도를 갖는 휴먼 수준의 동작을 생성하기 위해 우리는 DIPM과 휴먼 모델간의 지도를 구성하였다. 이 맵은 DIPM의 상태와 휴먼 모델의 자세 사이의 주요 신체 부위(body part)의 오프셋(offset)을 저장을 하는 것으로 시작된다. 동작 생 성 시 저장된 오프셋 정보는 DIPM의 상태에 일대일로 매핑되어 외력이 입력으로 주어졌을 때, 순차적으로 선 택되어 재현된다. 이렇게 획득한 맵 정보를 이용하여 주 요 신체 부위에 대한 정보를 획득하게 되고, 주요 신체 부위로부터 역 기구학(inverse kinematics) 기법을 이용 하여 전신의 동작으로 확장하는 과정을 거친다. 여기서 의 주요 신체부위는 우리는 무게중심(허리), 손, 그리고 발과 같은 신체의 엔드이펙터(end-effector)들로써 하나 의 맵은 이 세 가지 정보를 포함하는 하나의 튜플(tuple) 로 정의 하였다. 재현된 손 정보로부터 역 기구학을 풀어 냄으로써 상체 동작을 생성하는 것이 가능하고, 발 정보 로부터 허리(hip)까지의 역 기구학은 하체의 정보를 제 공해 준다. 저장되는 허리의 오프셋 정보는 아래와 같이 획득할 수 있다.M7M8M9

Δdhip=xhip1phip(7), 

Δdfoot=xzmp1pfoot(8) 

Δdhand=xcom21phand(9) 

여기서 Δdhip, Δdfoot, Δdhand는 각각 가상 휴먼 허리의 오프셋, 발의 오프셋, 그리고, 손의 오프셋을 의미하고 변환 행렬(transformation matrix)로 표현된다. xhip는 DIPM 에서 펜듈럼1과 펜듈럼2를 연결하는 관절의 위치를 의미 하는 변환 행렬이고, xzmp 은 DIPM의 cart의 위치 즉, 더 블 역 진자 모델의 ZMP (zero movement point)를 의미하 는 변환 행렬이다. xcom2 은 펜듈럼2의 무게 중심을 의미 하는 변환행렬이다. 여기서 위 첨자 -1은 변환 행렬의 역 행렬을 의미한다. phip, pfoot, phand은 각각 레퍼런스 가 되는 가상 휴먼의 자세에서의 허리, 발, 손의 변환 행렬을 의미한다. 즉, 펜듈럼과 가상 휴먼의 허리 위치의 차이, 손과 상체 무게중심의 위치 차이, 발과 카트의 위 치 차이를 의미한다. 이 세가지 정보로부터 모델의 상태 에 맞는 지도(map) Mx 를 구성할 수 있게 된다.M10

Mx=<Δdhip,Δdfoot,  Δdhand>(10) 

이 맵은 이후 동작 생성시, 현재의 모델의 상태에 따른 가상 휴먼의 자세에 대한 정보를 제공한다.


4. 동작 생성

동작 생성 단계에서는 학습된 더블 역 진자 모델의 제어 파라미터를 이용하여, 가상 휴먼의 동작을 재현하 는 것이다. 동작 생성 과정은 역 진자 모델을 이용한 레 퍼런스 모델 패스를 생성하고, 모델과 가상 휴먼 사이의 관계(relationship)를 표현하는 맵을 이용하여 가상 휴먼 (또는 휴머노이드 로봇)의 전신 동작을 재현하게 된다.

이를 위해, 먼저 사전에 최적화를 통해 획득한 제어 파라미터(최적화된 목표 상태)를 사용하여, 더블 역 진 자 모델의 경로를 생성하게 된다. 생성된 경로에 따라 모델-가상 휴먼의 지도를 사용하여 가상 휴먼의 주요 엔 드이펙터의 위치를 추정한다. 이 추정한 위치를 사용하 여 역 기구학(inverse kinematics)을 이용하여 매 프레임 전신 관절을 추정하게 된다.

더블 역 진자 모델의 경로를 생성하기 위해, 식 (4)에 서 획득한 최적화된 목표 상태의 키 프레임을 선형 내적 (linear interpolation)하여 일정 윈도우 시간 동안의 목표 상태의 경로를 획득하게 된다. 획득한 목표 상태들을 식 (3)에 정의 되어 있는 목표 상태 대신 사용함으로써 더블 역 진자 모델에 가하는 제어 신호를 구한다. 이 제어 신 호를 식 (1)에 대입하여 매 프레임 모델의 상태를 업데이 트 함으로써 모델의 동작 경로를 생성하게 된다.

생성된 더블 역 진자 모델의 동작 경로와 앞서 획득한 지도 정보를 이용하여 우리는 손, 발, 힙의 정보를 추정 할 수 있다. 추정된 각 엔드 이펙터의 위치 정보로부터 역 기구학(inverse kinematics)을 계산하여 전신의 관절 정보에 맞는 동작을 생성하였다.

외력의 크기가 모션 캡처 동작에서의 크기보다 큰 경 우에도 동일하게 동작하게 되는데, 이는 기본적으로 LQR제어기에 의해 펜듈럼의 동작이 제어되고, 동작 분 석에서 획득한 최적화된 목표 상태를 유지하도록 자동 으로 보상해주기 때문이다.


5. 실험 결과

본 고에서는 더블 역 진자 모델과 모션 캡처 동작을 이용하여 자연스럽게 균형을 유지하는 동작을 생성하는 기술을 개발 하였다. 이 동작 생성 기술을 검증하기 위해 서 우리는 앞서 언급한 더블 역 진자 모델, 가상 휴먼 모델, 그리고 균형을 유지하는 모션 캡처 동작을 이용하 였다. 이 실험에는 인텔 코어 i5 2.5 GHz CPU와 그래픽 카드로 NVIDIA GeForce GTX560를 사용하였다. 모션 캡처 동작은 캡처 되는 한 사람이 서 있는 상태에서 다른 사람이 이 사람을 밀어서 균형을 유지하도록 하는 동작 을 획득하였다. 이렇게 캡처된 동작을 이용하여 제어기 를 학습시키고, 학습된 결과를 이용하여 서있는 자세를 유지하도록 하는 동작을 생성하였다. Fig. 4와 Fig. 5는 제안하는 동작 생성 기술을 이용하여 균형을 유지하는 동작을 생성한 결과를 보여준다. Fig. 4와 Fig. 5에서 보 는 것과 같이 본 동작 생성 기술은 사람과 같은 동작을 생성할 뿐만 아니라, 내부의 물리적 모델로 인하여 힘의 크기 및 방향이 달라짐에 따라 자연스러운 전신 동작을 생성하는 것을 보여준다.

Fig. 4

The result of motion synthesis with an external force: Using the learned reference trajectory balance the motion of a virtual human in a natural way

Fig. 5

The result of motion synthesis with a strong external force: As shown the sequence of the figures above, the proposed controller generates the natural balancing motion for a virtual human

Fig. 6과 Fig. 7은 제안하는 기술의 효과를 강조하기 위해 ±30도의 위치에서 외력을 가했을 때, 모션 캡처 동작과 같이 자연스러운 동작을 취하는 모습을 볼 수 있다.

Fig. 6

The result of motion synthesis with an external force in -30°: Using the learned reference trajectory balance the motion of a virtual human in a natural way

Fig. 7

The result of motion synthesis with an external force in 30°: Using the learned reference trajectory balance the motion of a virtual human in a natural way


6. 결 론

본 고에서는 더블 역 진자 모델과 모션 캡처 동작을 이용하여 자연스럽게 규형을 유지하는 동작을 생성하는 기술을 개발 하였다. 이 기술은 사람의 동작 패턴을 유사 하게 따라 함으로써 휴머노이드 로봇이나 가상 휴먼이 사람과 같이 자연스러운 동작을 생성할 수 있도록 한다. 또한, 내부 물리 모델을 이용하기 때문에, 모션 캡처에 없던 동작도 외삽(extrapolation)하여 생성해 주게 된다.

제안하는 동작 생성 기술은 몇 개의 한계를 갖고 있다. 첫 번째로는 실제 휴머노이드 로봇에 적용해서 실험해 보지 않은 것이다. 하지만, 휴머노이드 로봇을 대신하여 전신 관절을 조절 할 수 있는 가상 휴먼에 적용을 해 보임으로써 그 효용성을 볼 수 있다.

두 번째 한계로는 모션 캡처 동작과 차이가 많이 나는 상황에 부자연스러운 동작이 생성되게 된다. 예를 들어 아주 세게 미는 경우에는 서 있는 자세를 유지하기 어렵 기 때문에, 한발 또는 두발을 내딛는 스텝이 필요하게 된다.

또한, 현재 DIPM의 상태에 적합한 맵을 찾는 것이 아니라 외력이 가해진 타이밍에 맵을 학습된 순서에 따 라 순차적으로 재현을 하게 되는데, 이는 모션 캡처에서 가해졌던 외란보다 큰 힘이 가해지게 되면 부자연스러 운 동작을 생성하게 되는 한계가 있다.

이러한 한계들은 이후 연구로 연결될 수 있는데, 실제 휴머노이드 실험 또는 전신 물리 시뮬레이션을 통해 실 제 로봇의 관절을 구성하는 모터의 제한 사항들(constraints) 을 고려하여 동작을 생성하는 것이 가능한 지에 대한 연구가 가능하겠다. 또한, 여러 종류의 균형을 유지 하는 동작을 캡처하여 deep learning기법과 같은 학습기 를 이용하여 모델의 상태에 맞는 제어 파라미터를 선택 하는 모델을 개발하는 것으로 이러한 다양한 자세를 생 성하는 것이 가능할 것이다.

References

  • Kwon, T, Hodgins, J, Control systems for human running using an inverted pendulum model and a reference motion capture sequence, In Proceedings of the 2010 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, Eurographics Association, (2010, July), p129-138. [https://doi.org/10.1111/cgf.12470]
  • Hwang, J, Suh, I.H, Kwon, T, Editing and Synthesizing Two‐Character Motions using a Coupled Inverted Pendulum Model, In Computer Graphics Forum, (2014, October), 33(7), p21-30. [https://doi.org/10.1111/cgf.12470]
  • Kwon, T, Hodgins, J.K, Momentum-Mapped Inverted Pendulum Models for Controlling Dynamic Human Motions, ACM Transactions on Graphics (TOG), (2017), 36(1), p10. [https://doi.org/10.1145/2983616]
  • McGeer, T, Passive dynamic walking, International Journal of Robotics Research, (1990), 9(2), p62-82. [https://doi.org/10.1177/027836499000900206]
  • Goswami, A, Espiau, B, Keramane, A, Limit cycles in a passive compass gait biped and passivity-mimicking control laws, Autonomous Robots, (1997), 4, p273-286. [https://doi.org/10.1023/A:1008844026298]
  • Kuo, A, Energetics of actively powered locomotion using the simplest walking model, Journal of biomechanical engineering, (2002), 124(1), p113-120. [https://doi.org/10.1115/1.1427703]
  • Narioka, K, Tsugawa, S, Hosoda, K, 3d limit cycle walking of musculoskeletal humanoid robot with flat feet, in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), (2009), p4676-4681.
  • Kubica, Wight, E, Wang, D, Introduction of the foot placement estimator: A dynamic measure of balance for bipedal robotics, Journal of Computational and Nonlinear Dynamics, (2008), 3(1), p011009-011019. [https://doi.org/10.1115/1.2815334]
  • Pratt, J, Koolen, T, De Boer, T, Rebula, J, Cotton, S, Carff, J, Johnson, M, Neuhaus, P, Capturability-based analysis and control of legged locomotion, Part 2: Application to M2V2, a lower-body humanoid, The International Journal of Robotics Research, (2012), 31(10), p1117-1133. [https://doi.org/10.1177/0278364912452762]
  • Urata, J, Nshiwaki, K, Nakanishi, Y, Okada, K, Kagami, S, Inaba, M, Online decision of foot placement using singular LQ preview regulation, in IEEE-RAS International Conference on Humanoid Robots, (2011), p13-18.
  • Morisawa, M, Harada, K, Kajita, S, Kaneko, K, Sola, J, Yoshida, E, Mansard, N, Yokoi, K, Laumond, J, Reactive stepping to prevent falling for humanoids, in 9th IEEE-RAS International Conference on Humanoid Robots, Paris, France, December 7-10, (2009), p528-534.
  • Alexander, Bogdanov, Optimal control of a double inverted pendulum on a cart, Oregon Health and Science University, Tech. Rep. CSE-04-006, OGI School of Science and Engineering, Beaverton, OR, (2004).
  • Sehoon, Ha, Karen Liu, C, Multiple contact planning for minimizing damage of humanoid falls, In Intelligent Robots and Systems (IROS), 2015 IEEE/RSJ International Conference on, (2015), p2761-2767.
  • Tomomichi, Sugihara, Simulated regulator to synthesize ZMP manipulation and foot location for autonomous control of biped robots, In Robotics and Automation, 2008. ICRA 2008. IEEE International Conference on , (2008), p1264-1269.
  • Chenggang, Liu, Atkeson, Christopher G, Standing balance control using a trajectory library, In Intelligent Robots and Systems, IEEE/RSJ International Conference on, (2009), p3031-3036. IEEE.
황 재 평

2002 광운대학교 정보제어 공학과(공학사)

2013 한양대학교 지능형로봇공학과(공학석사)

2013~현재 한양대학교 컴퓨터소프트웨어학 박사과정

관심분야: 최적 제어,기계학습,캐릭터 애니메이션

서 일 홍

1979 한국과학기술원 전자공학과(공학석사)

1982 한국과학기술원 전자공학과(공학박사)

1985~현재 한양대학교 융합전자공학부 교수

관심분야: 인공지능, 기계학습, 로봇 네이게이션

Fig. 1

Fig. 1
Conceptual diagram. Motion analysis is a preprocessing step that extracts mapping information and DIP reference trajectory (Up). Motion synthesis uses the DIP motion trajectory to generate full-body motion for a virtual human

Fig. 2

Fig. 2
A virtual human model (left) and a double inverted pendulum model (right)

Fig. 3

Fig. 3
The result of motion analysis: This figure describes that the generated DIP reference trajectory matches to the motion capture data after the optimization procedure

Fig. 4

Fig. 4
The result of motion synthesis with an external force: Using the learned reference trajectory balance the motion of a virtual human in a natural way

Fig. 5

Fig. 5
The result of motion synthesis with a strong external force: As shown the sequence of the figures above, the proposed controller generates the natural balancing motion for a virtual human

Fig. 6

Fig. 6
The result of motion synthesis with an external force in -30°: Using the learned reference trajectory balance the motion of a virtual human in a natural way

Fig. 7

Fig. 7
The result of motion synthesis with an external force in 30°: Using the learned reference trajectory balance the motion of a virtual human in a natural way