네트워크 기반 휴머노이드의 보행 및 전신공조...

10
네트워크 기반 휴머노이드의 보행 및 전신공조 기술 33 1. 서 론 최근 휴머노이드 로봇의 동작 제어에 관한 연구가 이루어지고 있다. 예를 들어, 휴머노이 드에 요구되는 동작 제어 방법에는 보행 제어[1]- [6], 주행 제어[7], 전신공조[8][9] 등에 관한 것들 있다. 특별히, 좋은 성능을 갖는 전신공조 (WBC: Whole Body Coordination) 알고리즘은 휴머 노이드 동작을 계획함에 있어서 유연성과 안정성 제공하기 때문에 휴머노이드 로봇 개발에 어서 필수적인 부분이 되고 있다. 예를 들어, 임의 휴머노이드 동작을 계획하여서 생기는 게중심의 변화를 동작 계획이 되지 않은 다리 무게중심의 변화를 자연스럽게 보상해 주는 것이 전신공조 알고리즘의 중요한 기능이다. 논문에서는 휴머노이드 로봇의 전신공조 방법으 임베디드된 (보행, 등의) 동작을 갖는 무게 중심 자코비안의 기구학적 분해방법을 제안하고 한다. 휴머노이드 로봇이 팔을 앞으로 펼치 휴머노이드 로봇의 무게중심 (CoM: Center of Mass) 위치는 앞으로 이동하며, 영모멘트 (ZMP: Zero Moment Point) 위치는 앞뒤로 흔들리면서 으로 이동한다. 이런 경우에 제안되는 임베디드된 (보행, 등의) 동작을 갖는 무게중심 자코비안을 이용하는 전신공조 (WBC) 알고리즘은 지점에 고정된 무게중심 위치를 유지할 있도록 지면 에서 지지하고 있는 다리들의 보상 각도(Joint Configuration)변위들을 자동적으로 계산하여 제공 한다. 휴머노이드 로봇 개발에 있어서 다른 필수 적인 요소는 안정성을 보장하며 외란 제거 성능 우수한 보행 제어기를 개발하는 것이다. 안정 적인 보행이나 동작을 구현하는데 있어서 모멘트 (ZMP) 위치 제어기가 가장 중요한 역할을 한다. ZMP위치가 지지 다리의 발바닥 영역 있으면, 휴머노이드 로봇은 보행 중에 안정성 상실하지 않는다. 안정적인 보행을 구현하기 위해서 역진자 모델 FFT(Fast Fourier Transform) 이용하여 목표 ZMP 궤적으로부터 목표 CoM 궤적을 생성하는 방법이 참고문헌 [2][5]제시되어 있다. 목표 ZMP 궤적과 실제 ZMP 궤적 사이의 오차를 보상하기 위해서 다양한 ZMP 제어 방법들이 제시되고 있다. 예를 들어, 직접/간접 ZMP 제어 방법이 참고문헌 [1],[3],[10] 제시되었고, 임피던스 제어 방법이 참고문헌 [4]제시되었다. 이족 보행에 관한 많은 제어 법들이 제시되어 왔음에도 불구하고 보행 제어기 안정성 증명에 관한 연구는 많지 않다. 부분적 으로 평면 이족 보행 로봇의 주기적인 보행 동작 관한 Exponential Stability참고문헌 [6]시되었으며, 또한 단순화된 이족 보행 로봇에 간접 ZMP 제어기를 이용함에 의해 얻어지는 외란 입력으로부터 보행 상태변수로의 안정성 (ISS: Disturbance Input-to-State Stability)참고문헌 [1]부분적으로 증명되었다. 사실 이족 보행 동역학의 복잡함과 모델링 불확실성에 기인하 , 이족 보행 로봇에 관한 완전한 동역학 식을 가지고 안정성을 증명하는 것은 거의 불가능에 가깝다. 논문에서는 이족 보행 관련 동역학 구속평면 상에서의 구름 (Rolling Sphere 네트워크 기반 휴머노이드의 보행 및 전신공조 기술 한양대학교 최영진 한국과학기술연구원 김도익·오용환·유범재 특집 : 네트워크 기반 휴머노이드

Transcript of 네트워크 기반 휴머노이드의 보행 및 전신공조...

Page 1: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

네트워크 기반 휴머노이드의 보행 및 전신공조 기술 33

1. 서 론 최근 휴머노이드 로봇의 동작 제어에 관한 많

은 연구가 이루어지고 있다. 예를 들어, 휴머노이

드에 요구되는 동작 제어 방법에는 보행 제어[1]-[6], 주행 제어[7], 전신공조[8][9] 등에 관한 것들

이 있다. 특별히, 좋은 성능을 갖는 전신공조

(WBC: Whole Body Coordination) 알고리즘은 휴머

노이드 동작을 계획함에 있어서 유연성과 안정성

을 제공하기 때문에 휴머노이드 로봇 개발에 있어서 필수적인 부분이 되고 있다. 예를 들어, 임의

로 휴머노이드 팔 동작을 계획하여서 생기는 무게중심의 변화를 동작 계획이 되지 않은 다리 등이 무게중심의 변화를 자연스럽게 보상해 주는 것이 전신공조 알고리즘의 중요한 기능이다. 본 논문에서는 휴머노이드 로봇의 전신공조 방법으

로 임베디드된 (보행, 춤 등의) 동작을 갖는 무게

중심 자코비안의 기구학적 분해방법을 제안하고

자 한다. 휴머노이드 로봇이 두 팔을 앞으로 펼치

면 휴머노이드 로봇의 무게중심 (CoM: Center of Mass) 위치는 앞으로 이동하며, 영모멘트 (ZMP: Zero Moment Point) 위치는 앞뒤로 흔들리면서 앞으로 이동한다. 이런 경우에 제안되는 임베디드된 (보행, 춤 등의) 동작을 갖는 무게중심 자코비안을 이용하는 전신공조 (WBC) 알고리즘은 한 지점에 고정된 무게중심 위치를 유지할 수 있도록 지면

에서 지지하고 있는 다리들의 보상 각도(Joint Configuration)변위들을 자동적으로 계산하여 제공

한다. 휴머노이드 로봇 개발에 있어서 또 다른 필수

적인 요소는 안정성을 보장하며 외란 제거 성능

이 우수한 보행 제어기를 개발하는 것이다. 안정

적인 보행이나 춤 동작을 구현하는데 있어서 영모멘트 (ZMP) 위치 제어기가 가장 중요한 역할을 한다. ZMP의 위치가 지지 다리의 발바닥 영역 안에 있으면, 휴머노이드 로봇은 보행 중에 안정성

을 상실하지 않는다. 안정적인 보행을 구현하기 위해서 역진자 모델 및 FFT(Fast Fourier Transform)를 이용하여 목표 ZMP 궤적으로부터 목표 CoM 궤적을 생성하는 방법이 참고문헌 [2]와 [5]에 각각 제시되어 있다. 목표 ZMP 궤적과 실제 ZMP 궤적 사이의 오차를 보상하기 위해서 다양한 ZMP 제어 방법들이 제시되고 있다. 예를 들어, 직접/간접 ZMP 제어 방법이 참고문헌 [1],[3],[10]에 제시되었고, 임피던스 제어 방법이 참고문헌 [4]에 제시되었다. 이족 보행에 관한 많은 제어 방법들이 제시되어 왔음에도 불구하고 보행 제어기

의 안정성 증명에 관한 연구는 많지 않다. 부분적

으로 평면 이족 보행 로봇의 주기적인 보행 동작

에 관한 Exponential Stability가 참고문헌 [6]에 제시되었으며, 또한 단순화된 이족 보행 로봇에 대한 간접 ZMP 제어기를 이용함에 의해 얻어지는 외란 입력으로부터 보행 상태변수로의 안정성

(ISS: Disturbance Input-to-State Stability)이 참고문헌 [1]에 부분적으로 증명되었다. 사실 이족 보행 로봇 동역학의 복잡함과 모델링 불확실성에 기인하

여, 이족 보행 로봇에 관한 완전한 동역학 식을 가지고 안정성을 증명하는 것은 거의 불가능에 가깝다. 본 논문에서는 이족 보행 관련 동역학 식을 구속평면 상에서의 구름 구 (Rolling Sphere

네트워크 기반 휴머노이드의

보행 및 전신공조 기술

한양대학교 최영진

한국과학기술연구원 김도익·오용환·유범재

특집 : 네트워크 기반 휴머노이드

Page 2: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

34 로봇공학회지 제3권 제3호

Model on the Constraint Surface) 모델로 단순화하고 이를 이용하여 보행 로봇의 제어기를 설계하고 안정성을 증명하고자 한다. 본 논문은 다음과 같이 구성된다. 2장에서는 휴

머노이드 로봇의 이동성을 무게중심의 위치의 이동으로 단순화한 모델인 구속평면 상에서의 구름 구 모델을 도입한다. 3장에서는 목표 ZMP 궤적을 설정하고 이로부터 목표 CoM 궤적을 생성하는 방법인 보행 패턴 생성 방법을 기술한다. 4장에서

는 임베디드된 보행 및 춤 동작을 갖는 CoM 자코비안을 기구학적으로 분해하여 이를 휴머노이

드 각 관절 변위로 변환하는 방법인 전신공조 (WBC) 알고리즘을 제안한다. 5장에서는 보행 및 전신공조관련 제어기를 제안하고, 6장에서는 제안

된 전신공조 알고리즘을 이용하여 얻어진 안정적

인 보행 및 춤 동작의 실험 결과를 제시하며, 7장에서 본 논문을 정리한다.

2. 구속평면 상의 구름 구 모델

이족 보행 메커니즘은 그림 1과 같은 휴머노이

드 로봇에 있어서는 필수적인 부분이다. 휴머노이

드 로봇의 다리 부분은 인간과 유사한 보행 형태

를 구현하기 위해서 많은 구동기와 이에 상응하

는 자유도를 갖기 때문에, 일반적으로 이족 보행 로봇 전체의 동역학 식을 이용하여 보행 패턴을 생성하거나 제어기를 설계하거나 안정성을 증명

하는 과정들을 어렵게 만든다. 그러므로 이족 보행과 관련된 복잡한 운동 방정식을 휴머노이드 무게중심 (CoM) 위치에서의 점 질량(Point Mass)의 운동 방정식으로 단순화시키고자 한다. 이와 같은 단순화 과정이 휴머노이드 로봇의 자세 안정성에 영향을 주지 않으며, 이를 통해서 보행 패턴의 생성을 용이하게 할 수 있는 장점을 갖는다. 다음에

서 단순화 과정을 설명한다. 첫째, 휴머노이드 로봇 무게중심의 운동을 지면

에서 떠 있는 고정된 구속평면 (z=cz) 상의 운동으

로 가정한다면, 휴머노이드 로봇의 이동성에 대한 단순화된 모델로서 그림 2와 같은 점 질량으로 집중된 구름 구의 운동으로 기술할 수 있다. 그림 2 안에서, 질량이 없는 구속평면 위에서의 구름

Body Center Frame

CoM

XY

Z

World Coorinate Frame

ZMP

[그림 1] 휴머노이드 로봇 Mahru-I

CoM(cx,cy,cz)

SupportingFootY

X

Z

O

WalkingDirection

ShiftingFoot

World Coordinate Frame

Body CenterFrame

Z

Y

Z

X

ymc

gm−

gm−

CoM(cy,cz)xmc

gm−

CoM(cx,cz)

yτx

ZMP(py)x

ZMP(px)

or oo iR r

ir

[그림 2] 구속평면 상에서의 구름 구 모델

구의 운동 방정식은 CoM의 위치와, c=[cx, cy, cz]T, 지면상에서 얻어진 ZMP 위치로, p=[px, py, 0]T, 각각 표현된다. 로봇 보행 중 지지 다리의 각 관절 변위가 전신공조 (보행 동작이 임베디드된 무게중

심 자코비안을 이용한 기구학적 분해 방법) 알고

리즘에 의해서 먼저 결정되고, 이동 다리의 각 관

Page 3: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

네트워크 기반 휴머노이드의 보행 및 전신공조 기술 35

절 변위는 절대좌표계 (World Coordinate Frame)에서 기술된 보행 동작에 대한 역기구학을 풀어서 얻어진다. 이러한 과정은 다음 4장에서 자세히 설명된다. 둘째, 그림 2에 기술된 구름 구(질량=m)의 운동

은 z=cz 평면상에서 다음과 같이 기술된다.

x y y z

y x x z

z x y y x

mgc mc c

mgc mc c

mc c mc c

τ

τ

τ

= −

= − +

= − +

(1)

여기서 g는 중력가속도, cz는 구속평면의 높이 상수, τι는 i-번째 (i=x, y, z) 좌표축에 대한 모멘트를 나타낸다. 여기서, 영모멘트 (ZMP) 위치에 관한 다음과 같은 정의를 위의 식(1)의 상위 2개 식들

에 도입하면,

y

x

xy

pmg

pmg

τ

τ

= −

=

(2)

다음과 같은 한 쌍의 미분 방정식을 얻을 수 있다.

zx x x

zy y y

cp c c

g

cp c c

g

= −

= −

(3)

또한 위의 ZMP를 입력으로 이용하는 CoM 미

분 방정식의 상태공간 방정식은 다음과 같이 쓰여 진다.

2 2

0 1 00

i ii

i in n

c cd pc cdt ω ω

⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤= +⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ −⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦

(4)

여기서, /n zg cω = 이고, i=x, y이다. 위의 상태공

간 방정식은 ZMP와 CoM 운동 사이의 관계를 기술하고 있으며, 식에서 알 수 있듯이 안정성을 갖지 못하는 미분 방정식이다. 위의 미분 방정식은 다음 장에서 보행 패턴을 생성할 때와 보행 제어

기의 안정성을 증명하는 과정 중에 이용된다.

3. 보행 패턴 (목표 ZMP/CoM

궤적) 생성

로봇 보행을 구현하기 위해서는 먼저 보행 패

턴을 생성하여야 한다. 보행 패턴이라는 의미는 국부적으로 로봇의 목표 CoM의 위치를 안정적으

로 생성하는 방법을 의미하며, 넓게는 다리의 지지상태 (Support Phase)에 따른 이동 다리의 위치 및 방향을 포함하기도 한다. 엄밀하게 이야기하면, 이동다리의 위치 및 방향은 목표 CoM의 궤적에 의존적으로 결정되므로 본 논문에서는 목표 ZMP 궤적으로부터 목표 CoM 궤적을 생성하는 방법만

을 제시하고자 한다. 로봇 보행을 구현하기 위해서는 먼저 지면 위

에 지지 발바닥을 놓을 위치와 지지상태를 그림 3에서 보여 지는 것과 같이 먼저 결정하여야 한다. 이 그림에서 지면 위의 발바닥을 놓을 위치는 ZMP 이동에 따른 지지상태(두발로 지지하는 것과 한발로 지지하는 것)를 나타낸다. 로봇이 한 발로 서있는 상태에서 이동하는 다리가 걸음걸이를 만드는 동안 ZMP는 지지하는 다리의 발바닥에 머물러 있어야 한다. 로봇이 두 발로 서있는 상태에

서 ZMP는 이동한 다리의 발바닥 지점으로 옮겨

져야 한다. 안정된 로봇의 보행을 생성하기 위해

서 위에서 기술된 절차들이 반복 되어야 한다. 또한, CoM의 목표 궤적은 그림 3에서 표현된 목표 ZMP로부터 유도되어야 한다. 다음에서 CoM의 목표 궤적의 생성을 위한 방법들을 설명한다.

px [ZMP]

py [ZMP]

A

2B 4B 6B

Stepping Position

Single Support Phase

Double Support Phase

Kx

KyB

[그림 3] 목표 ZMP 궤적

Page 4: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

36 로봇공학회지 제3권 제3호

3.1 진행 방향(X-방향) ZMP/CoM 궤적

그림 3에서의 X-방향의 ZMP 궤적은 다음 식과 같이 주기시간 T를 가지고 표현되어진다.

0 dt t≤ < 일때, ( ) ( / ) ( )x x d xp t K t t c t= =

d dt t T t≤ < − 일때, ( )xp t B= (5)

dT t t T− ≤ < 일때,

( ) (2 ) ( / )( ( )) ( )x x x d d xp t B K K t t T t c t= − + − − =

여기서 B는 보폭의 절반을 의미하고, td는 ZMP 궤적의 꺽은 선 그래프에서 px(td)=Kx일 때의 시간을 의미한다. 다시 말해서 td는 로봇이 두 발로 지지

하는 상태에서 한 발로 지지하는 상태로의 변화

하는 시간이다. 여기에서 CoM의 목표 궤적은 식(5)를 식(3)에 대입하여 풀어야 할 미분방정식을

결정한다. 다시 말해서, d dt t T t≤ < − 에서의 미분 방정식이 다음과 같이 얻어진다.

2 2

x n x nc c Bω ω− = − 위의 식의 일반 해는 미정계수 Cx1과 Cx2를 가

지고 다음 식(6)과 같이 얻어진다.

1 2( ) cosh( ( )) sinh( ( ))x x n d x n dc t C t t C t t Bω ω= − + − + (6)

( )x xc t K=

( ) /x d x dc t K t= 위의 두 가지 경계조건을 가지고 미정 계수들

은 다음 식(7), (8)과 같이 결정된다. 1x xC K B= − (7)

2x

x

d n

KC

t ω= (8)

또한, 또 다른 경계조건인 ( ) 2 ( )x d x dc T t B c t− = − 와

( ) ( )x d x dc t c T t= − 가 만족되기 위해서는 다음 식(9)와 같은 구속 방정식이 항상 만족된다.

tanh( ( ))2

d nx

d n n d

BtK

Tt t

ω

ω ω=

+ −

(9)

그러므로 양의 상수 n과 B를 가지고 지지상태

의 변화시간 td를 결정한다면 Kx는 식(9)로부터 결정되고, 계수 Cx1과 Cx2는 식(7)과 (8)로부터 결정

된다. 결론적으로 CoM의 X-방향의 목표 궤적은 그림 4에서 얻어지는 것처럼 부드러운 함수(smooth function, 미분 가능한 함수)로 얻어진다.

CoM

ZMP

T 2T 3Ttd T-td 4T

Time [s]

Kx

2B-Kx

2B

B

4B

6B

8B

T/2

X [m

]

[그림 4] X-방향 목표 ZMP/CoM 궤적

3.2 횡방향(Y-방향) ZMP/CoM 궤적

그림 3에서 Y-방향의 ZMP 궤적은 다음으로 표현된다.

0 dt t≤ < 일때, ( ) ( / ) ( )y y d yp t K t t c t= =

d dt t T t≤ < − 일때, ( )yp t A= (10)

dT t t T− ≤ < 일때,

( / )( ) ( )y y d yp K t t T c t= − − =

여기서 A는 양 발 사이 거리의 절반이며, td는 꺽은 선 ZMP 그래프에서 py(td)=Ky 일 때의 시간을 의미한다. 여기서 CoM의 목표 궤적은 다음의 미분 방정식의 일반 해에 의해서 얻어진다.

d dt t T t≤ < − 일때, 2 2

y n y nc c Aω ω− = −

Page 5: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

네트워크 기반 휴머노이드의 보행 및 전신공조 기술 37

위의 미분방정식의 일반 해는 미정계수 Cy1과 Cy2 를 가지고 다음 식(11)과 같이 얻어진다.

1 2( ) cosh( ( )) sinh( ( ))y y n d y n dc t C t t C t t Aω ω= − + − + (11)

( )y yc t K= ( ) /y d y dc t K t=

위의 두 가지 경계조건을 만족하는 미정 계수

들은 식(12), (13)과 같이 결정된다.

1y yC K A= − (12)

2

y

y

d n

KC

t ω= (13)

또한, 또 다른 경계조건인 ( ) ( )y d y dc t c T t= − 와

( ) ( )y d y dc t c T t= − − 가 만족되기 위해서는 식(14)와

같은 구속 방정식이 항상 만족되어야 한다..

tanh( ( ))2

1 tanh( ( ))2

d n n d

y

d n n d

TAt t

KT

t t

ω ω

ω ω

−=

+ − (14)

그러므로 결정된 td, n과 A로부터 Ky는 식(14)에

서 결정되고, 미정계수 Cy1과 Cy2는 식(12)와 (13)에 의해서 결정된다. 결론적으로 CoM의 Y-방향의 목표 궤적은 그림 5와 같은 유연한 함수로서 얻어진다. 실제 휴머노이드 로봇으로 그림 4, 5와 같

CoM

ZMP

Ttd T-td 2T 3T 4T

Ky

A

-Ky

-A

0

Time [s]

Y [m

]

[그림 5] Y-방향 목표 ZMP/CoM 궤적

은 목표 CoM 궤적을 성취할 수 있도록 휴머노이

드 동작들을 구현하기 위해서 CoM관련 역기구학

을 풀어야 하며, 이를 위해서는 휴머노이드 로봇

에 장착되어 동작되는 구동기(모터)들에 CoM의 속도를 분배해 주는 기능을 하는 기구학적인 분해방법이 요구된다는 것을 의미한다. 이것은 CoM의 속도와 지지하는 다리(또는 지지하는 다리들)의 관절속도 사이의 CoM 자코비안을 이용하여 유도되며 이의 분해방법을 다음 장에서 설명한다.

4. 임베디드된 동작을 갖는 무게중심

자코비안의 기구학적 분해방법

본 장에서는 목표 동작을 임베디드하여 얻어진

CoM 자코비안을 기구학적으로 분해하는 방법을 유도한다. 로봇은 n개의 지(limb)을 가지고 있으며 첫 번째 지를 기본 지(base limb)로 정의한다. 기본 지는 지면에서 휴머노이드 몸체를 지지 할 수 있는 것이어야 한다. 앞으로 각각의 지(limb)는 독립

적이라고 간주한다. 일반적으로 i-번째 지는 다음

의 기구학적 관계식을 만족한다.

o o

i i ix J q= (15)

여기서 o

ix 는 몸의 중심 좌표계에서 기술된 i-번

째 지의 끝점(end point) 속도이며, iq 는 i-번째 지

에 장착된 구동기들의 각속도이다. 그리고 o

iJ 는 몸의 중심 좌표계에서 표현된 일반적인 기구학과 관련된 자코비안 행렬이다. 수식의 좌측상단에 붙어 있는 첨자 o는 그 요소가 그림 1이나 그림 2에서 표현된 것처럼 휴머노이드 로봇에 고정된 몸의 중심 좌표계(body center coordinate frame)에서 표현 됐음을 의미한다. 본 논문에서 몸의 중심 좌표계는 로봇의 움직임과 같이 움직이므로, 고정된 절대 좌표계(world coordinate frame)에 표현된 각 지의 말단 운동은 다음과 같은 식으로 쓰여진다.

1 o

i i o o i ix X x X J q−= + (16)

여기서 [ ; ]T T T

o o ox r ω= 는 절대 좌표계에서 표시된

Page 6: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

38 로봇공학회지 제3권 제3호

몸의 중심 좌표계의 속도이다. 그리고

3

3 3

[ ]

0

o

o i

i

I R rX

I

×=⎡ ⎤⎢ ⎥⎣ ⎦

(17)

위와 같이 정의된 변환 행렬은 몸의 중심 좌표

계의 속도와 i-번째 지의 말단 속도와 관련된 (6×6) 행렬이다. I3와 O3 은 각각 (3×3) 단위 행렬과

영 행렬이다. o

o iR r 는 절대 좌표계에서 표현된 몸의 중심 좌표 계에서부터 i-번째 지의 끝점까지의 위치 벡터이다. [(・)×]는 벡터 외적을 계산하기 위한 반 대칭 행렬(skew-symmetric matrix)이다. 또한 변환 행렬 X0는 다음과 같이 정의된다.

3

3

0

0

o

o

o

R

RX =

⎡ ⎤⎢ ⎥⎣ ⎦

(18)

여기서 R0는 절대 좌표계에서 기술된 몸의 중심 좌표계의 방향을 나타내는 행렬이며, 앞으로는

o

i o iJ X J= 의 관계식을 이용한다. 식(16)으로부터, 모든 지에서 기준으로 삼는 몸의 중심 좌표계의 속도는 같아야 한다. 이를 양립 조건(compatibility condition)이라 부르면, 이는 언제나 만족되어야 한다. 그러므로 i-번째 지와 j-번째 지는 다음의 관계

식을 만족해야 한다.

( ) ( )o i i i i j j j jx X x J q X x J q= − = − (19)

식(19)로부터, 어떠한 하나의 지(limb)의 관절 속

도 는 기본 지의 관절 속도와 대상으로 하는 지(limb)의 목표 Cartesian 속도에 의해 표현될 수 있다. 실제로, 기본 지는 양 발 지지상태에서는 둘 중의 하나의 다리로 설정되어야 한다. 기본 지를 아래첨자 1을 가지고 표현하면, 각

지의 관절 속도는 다음 식(19)로부터 식(20)과 같이 얻어진다. 2, ..., .i n= 에 대해서

1 1

1 1 1 1( )i i i i iq J x J X x J q− −= − − (20) 여기서,

1 3 1

1 1

3 3

[ ( ) ]

0

o o

o i

i i

I R r rX X X

I− − ×

=⎡ ⎤⎢ ⎥⎣ ⎦

(21)

이제, 다음과 같이 참고문헌[9]에서 제시되어 전

통적으로 이용되고 있는 CoM 자코비안을 고려해

보자.

1

( )i

no

o o o o c ii

c r c r R J qω=

= + × − +∑ (22)

여기서 n 은 휴머노이드 로봇에 존재하는 지(limb)의 개수이며, c 는 절대 좌표계에 표시된 CoM의

위치 벡터이다. 즉 c=[cx, cy, cz]T 이며, i

o

cJ 는 몸의

중심 좌표계에 표시된 i-번째 지의 CoM 자코비안

을 의미한다. 여기서 몸 중심 좌표계의 운동은 다음과 같이 기본 지에서 식(16)을 사용함으로써 얻을 수 있다.

1

1

1 1 1 1

13 1

1

0 13 3

{ }

[ ]

0

o

o o

oooo o

o

o

x X x X J q

R Jr rI R rq

I R J

υ

ωω ω

= −

×= −

⎧ ⎡ ⎤ ⎫⎡ ⎤⎡ ⎤ ⎡ ⎤⎪ ⎪⎢ ⎥⎨ ⎬⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎢ ⎥⎪ ⎪⎩ ⎣ ⎦ ⎭

(23)

여기서 1

o Jυ 과 1

o Jω 은 기본 지의 자코비안의 선속

도(linear velocity)와 각속도(angular velocity)에 상응

하는 (3X6) 행렬이다. 여기서, 식(20)을 식(22)에 적용된다면 CoM 운동은 다음과 같이 얻어진다.

1

1 1

0

1 1 1 0 1

1 1

1 1 1 12 2

( )

c c

n no o

o c i i i o c i ii i

c r r R J q

R J J x X R J J X J q

ω

− −

= =

= + × −

+ − +∑ ∑

여기서 식(23)을 위의 방정식에 적용한다면, 다음

과 같은 CoM 속도 기구학식을 얻을 수 있다.

1 1

1 1

1

0 0

1 1 1 0 1 1 0 1

0 1

0 1 1 12

1

1 1 12

( )

c c

no

c o c i i ii

no

o c i ii

c r r R J q r R J q

R J q R J J x X x

R J J X J q

υ ωω

=

=

= + × − + ×

+ + −

+

(24)

Page 7: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

네트워크 기반 휴머노이드의 보행 및 전신공조 기술 39

여기서 rc1=c-r1 이다. 또한, 기본 지가 지면에 붙어

있다면( 1 0r = 와 1 0ω = ), 식(24)는 다음과 같이 간략화 될 수 있다.

1 1 1

0 0 0

0 1 1 0 1 0 1

1 1

1 1 1 1 12 2

(25)

( )i i

c c

n no o

o c i i i o c i ii i

c R J q r R J q R J q

R J J x X x R J J X J q

υ ω

− −

= =

= − + × +

+ − +∑ ∑

최종적으로, 모든 주어진 목표 동작인 ix 는

CoM 자코비안으로 임베디드될 수 있다. 그러므로 기본 지를 제외한 다른 지들의 운동에 기인한 CoM의 움직임은 기본 지의 운동에 의해 보상될 수 있다. 이를 수학적으로 나타내면 식(25)는 기본 지에 관련된 일반적인 기구학적 자코비안과 유사

하게 다시 쓸 수 있다.

1emc emcc J q= (26) 여기서

1

1 12

( )i

no

emc o c i i ii

c c R J J x X x−

=

= − −∑ (27)

1 1 1

0 0 0

0 1

1

1 12

[ ]

i

emc c c

no

o c i ii

J R J r J J

R J J X J

υ ω

=

= − + × +

+∑ (28)

임베디드된 동작식 emcJ 를 갖는 CoM 자코비안

은 1(3 )n× 행렬이며, 여기서 n1은 기본 지의 구동 자유도이며 본래의 CoM 자코비안의 자유도보다 작아진다. 식(26)을 이용하면 기본 지의 관절 동작

을 얻을 수 있다. 그 결과 지면에서 지지하고 있는 기본 지의 동작은 모든 다른 지(limb)들이 움직

이는 동안에 자동적으로 로봇의 균형을 유지하게 만들어 준다. 모든 다른 지들의 관절 동작은 기본 지의 동작을 이용하여 식(20)에 의해 얻어진다. 결과 동작은 기본 지의 균형을 잡는 동작과 상관없

이, 주어진 목표 동작을 수행할 수 있게 만들어준

다. 다시 말해서, 제안된 기구학적 분해 방법은 휴머노이드 로봇에 자동적으로 전신공조(Whole Body Coordination : WBC) 기능을 제공해 준다.

5. 보행 및 전신공조 제어기 설계 이족 보행 로봇은 많은 전기 모터(motor), 기어

(gear), 연결 기구(link)를 포함한 전기-기계 시스템

이다. 그래서 실제 휴머노이드 로봇을 가지고 목표 CoM과 ZMP 궤적을 실행시키면, 로봇 동작의 실행에 있어서 많은 외란(disturbance)이 존재하게 된다. 본 장에서는 이러한 외란에 강인한 제어기

를 설계하는 방법을 제안하고자 한다.

CoMPlanner

Des. ZMP

_

ZMPPlanner

CoMController

Actual CoM

+

Des. CoM

Real BipedalRobot

Actual ZMPpid

cid ci

pi

ui

ZMPController

_

_

Posture/WalkingController

+Control Input

cid.

d/dt

Kinematic Resolution

of CoM Jacobian

qdJointServo

q

Actual Configuration

[그림 6] 보행 및 전신공조 제어구조

안정적인 로봇 보행 및 전신공조를 수행하기

위해서 그림 6과 같은 구조의 제어기를 이용하고

자 한다. 먼저, 그림 6에서 표시된 것처럼 ZMP와 CoM 오차를 다음과 같이 정의한다. i=x, y 대해

서,

,

d

p i i ie p p−

,

d

c i i ie c c− 위의 오차들을 이용하여 그림 6에서의 제어 입

력은 다음 과 같이 정의한다.

, , , ,

d

i i p i p i c i c iu c k e k e= − + (29)

위와 같은 제어기를 이용하면, 엄밀하게 외란입

력에 대한 보행 상태변수 안정성(ISS)를 증명할 수 있는데, 이와 관련된 부분은 참고문헌 [12]에 찾아볼 수 있다. 실제 이족 로봇의 구동속도는 4장에서 제시된 것과 같이 보행 제어 입력으로부

터 구동모터의 운동과 관련된 관절 속도를 얻어

내는 기구학적 분해방법을 이용하여 생성한다. 사실, 위의 제어기 식(29)에서 ZMP 제어기는 일반적

Page 8: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

40 로봇공학회지 제3권 제3호

인 제어기와 다른 되먹임 방법을 이용한다는 사실에 주의해야 한다. 다시 말해서, 휴머노이드 로봇의 ZMP 오차가 생성되는 방향으로 CoM의 위치를 옮겨야 한다는 것을 의미한다. 보다 구체적

으로 설명하면, 휴머노이드 로봇이 넘어지려고 하면 넘어지려는 방향으로 CoM 위치를 밀어주어야 한다는 것을 의미한다. 또한, 실제 보행 제어기의 이용을 위해 보행 제어기의 이득들은 다음의 조건이 만족될 수 있도록 설정되어야 한다. (참고문

헌 [12] 참조)

,c i nk ω> 그리고 ,0 p i nk ω< <

6. 실험 결과

첫째, 4장에서 제시된 기구학적 분해 방법에 의

해 자동적으로 구현되는 전신공조에 관한 실험을

-2

-1

0

1

2

3

4

0 10 20 30 40 50 60 70 80 90

Join

t Ang

le [r

ad]

Time [s]

Left Arm[1]Left Arm[2]Left Arm[3]Left Arm[4]Left Arm[5]Left Arm[6]

-2

-1

0

1

2

3

4

0 10 20 30 40 50 60 70 80 90

Join

t Ang

le [r

ad]

Time [s]

Left Arm[1]Left Arm[2]Left Arm[3]Left Arm[4]Left Arm[5]Left Arm[6]

[그림 7] 아리랑 춤의 왼팔 Desired Joint Data

-1

-0.5

0

0.5

1

1.5

2

2.5

3

0 10 20 30 40 50 60 70 80 90

Join

t Ang

le [r

ad]

Time [s]

Right Leg[1]Right Leg[2]Right Leg[3]Right Leg[4]Right Leg[5]Right Leg[6]

[그림 8] 아리랑 춤의 오른팔 Desired Joint Data

그림 7과 그림 8과 같은 아리랑 춤 동작이 양팔에 적용된다. 그러면 기본 지의 동작은 임베디드된 춤 동작을 갖는 CoM 자코비안의 기구학적 분해 방법으로부터 생성된다. CoM의 초기 위치는

cx=0.034[m], cy=0.0[m], cz=0.687[m]이다. 양 팔이 그림 7,8과 같이 춤추는 동작으로 급격하게 팔 동작

이 이루어졌음에도 불구하고, CoM의 위치는 그림 9에서 보여 지는 것과 같이 초기 위치에서 거의 변함이 없었다. 또한, 춤 동작에도 불구하고 ZMP가 0.01 [ ]m± 의 경계 범위 내에서 작게 변한다는 것을 그림 10에서 또한 확인할 수 있다. 결과적으

로 우리는 전신공조의 기능에 의해 휴머노이드의 양팔 춤 동작을 안정적으로 구현할 수 있었다. 둘째, 보행패턴 및 제어기의 타당성을 보여주기

위해, 보행 실험을 하고자 한다. 목표 ZMP/CoM 궤적은 T=1.0[s], td=0.1[s], A=0.09[m], B=0.1[m],

0

0.01

0.02

0.03

0.04

0.05

0.06

0 10 20 30 40 50 60 70 80 90

Pos

ition

[m]

Time [s]

Desired CoM[x]Desired CoM[y]

Real CoM[x]Real CoM[y]

[그림 9] 아리랑 춤 동작 동안의 CoM 궤적

0

0.01

0.02

0.03

0.04

0.05

0.06

0 10 20 30 40 50 60 70 80 90

Pos

ition

[m]

Time [s]

Desired ZMP[x]Desired ZMP[y]

Real ZMP[x]Real ZMP[y]

[그림 10] 아리랑 춤 동작 동안의 ZMP 궤적

Page 9: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

네트워크 기반 휴머노이드의 보행 및 전신공조 기술 41

m=67.68[kg], cz=0.687[m], / 3.78n zg cω = = 의 값

을 이용하여 설정된다. 그리고 보행 제어기의 이득은 i=x,y에 대해서 kp,i={3.0,1.8}, kc,i={6.6,3.8}과 같이 설정하였다.

[그림 11] 보행 전진방향(X-방향) 실험 결과

[그림 12] 보행 횡방향 (Y-방향) 실험 결과

휴머노이드 로봇에 대한 보행 실험을 통해 그

림 11과 그림 12와 같은 결과를 얻었으며, 그림 11,12에서 보여지듯이 목표 CoM과 ZMP 궤적을 휴머노이드가 잘 따르고 있으며, 안정적인 보행을 할 수 있었다.

7. 결 론

본 논문에서는 휴머노이드 로봇의 보행 및 전

신공조 수행을 위해 목표 CoM/ZMP 궤적 설계 방법, 임베디드된 보행이나 춤 동작을 갖는 CoM 자코비안의 기구학적 분해 방법, 및 보행 제어 방법

을 제안하였다. 사실 제안된 CoM 저코비안을 이용한 기구학적 분해 방법은 휴머노이드 로봇에 자동적으로 전신공조 기능을 제공한다. 또한 보행 및 춤 동작에 대한 실험결과를 통해 본 논문에서 제시하고 있는 방법들에 대한 타당성을 보였다.

Acknowledgement

본 논문은 2005학년도 한양대학교 공학기술연

구소의 연구비와 정보통신연구진흥원의 정보통신

선도기반기술개발사업의 연구결과로 수행되었음.

참고 문헌

[1] Y. Choi, B. J. You, and S. R. Oh, “On the stability

of indirect ZMP controller for biped robot systems,” Proc. of IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 1966–1971, 2004.

[2] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Yokoi, and H. Hirukawa, “A realtime pattern generator for biped walking,” Proc. of IEEE Int. Conf. on Robotics and Automation, pp. 31–37, 2002.

[3] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa, “Biped walking pattern generation by using preview control of zero-moment point," Proc. of IEEE Int. Conf. on Robotics and Automation, pp. 1620–1626, 2003.

[4] J. H. Park, “Impedance control for biped robot locomotion, ” IEEE Trans. on Robotics and Automation, vol. 17, no. 6, pp. 870–882, Dec. 2001.

[5] A. Takanishi, H. Lim, M. Tsuda, and I. Kato, “Realization of dynamic biped walking stabilized by trunk motion on a sagittally uneven surface,” Proc. of IEEE/RSJ Int. Conf. on Intelligent Robots

Page 10: 네트워크 기반 휴머노이드의 보행 및 전신공조 기술biorobotics.hanyang.ac.kr/_media/publication;2006;kros-1.pdf · 네트워크 기반 휴머노이드의 보행

42 로봇공학회지 제3권 제3호

and Systems, pp. 323-330, 1990. [6] E. R. Westervelt, J. W. Grizzle, and D. E.

Koditschek, “Hybrid zero dynamics of planar biped walkers,” IEEE Trans. on Automatic Control, vol. 48, no. 1, pp. 42–56, Jan. 2003.

[7] K. Nagasaka, Y. Kuroki, S. Suzuki, Y. Itoh, and J. Yamaguchi, “Integrated motion control for walking, jumping and running on a small bipedal entertainment robot,” Proc. of IEEE Int. Conf. on Robotics and Automation, pp. 3189–3194, 2004.

[8] K. Harada, S. Kajita, K. Kaneko, and H. Hirukawa, “ZMP analysis for arm/leg coordination,” Proc. of IEEE Int. Conf. on Robotics and Automation, pp. 75–81, 2003.

[9] T. Sugihara and Y. Nakamura, “Whole-body cooperative balancing of humanoid robot uisng COG jacobian,” Proc. of IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pp. 2575–2580, 2002.

[10] J. H. Kim and J. H. Oh, “Walking control of the humanoid platform KHR-1 based on torque feedback control,” Proc. of IEEE Int. Conf. on Robotics and Automation, pp. 623–628, 2004.

[11] Y. Choi and W. K. Chung, PID Trajectory Tracking Control for Mechanical Systems, ser. Lecture Notes in Control and Information Sciences (LNCIS). Springer Publishing Co., 2004, vol. 298.

[12] Y. Choi, D. Kim and B-J You, “On the Walking Control for Humanoid Robot based on Kinematic Resolution of CoM Jacobian with Embedded Motion,” Proc. of IEEE Int. Conf. on Robotics and Automation, pp. 2655–2660, 2006.

최 영 진

1994 한양대 정밀기계공학(학사)

1996 포항공대 기계공학(석사)

2002 포항공대 기계공학(박사)

2002~2005 한국과학기술연구원(KIST) 지능로봇연구센

터 선임연구원

현재 한양대학교 공학대학 전자컴퓨터공학부 조교수

관심분야 : Bio-Robotics, Humanoid Robot, Robot

Walking, 선형/비선형 강인 제어, 자동조정

PID제어, 디스크 구동 시스템의 제어

김 도 익

1995 포항공대 기계공학(학사)

1997 포항공대 기계공학(석사)

2002 포항공대 기계공학(박사)

현재 한국과학기술연구원(KIST) 지능로봇연구센터 선임

연구원

관심분야 : Humanoid Motion Analysis, Multi-body

dynamics, Kinematics.

오 용 환

1991 포항공대 기계공학(학사)

1993 포항공대 기계공학(석사)

1999 포항공대 기계공학(박사)

현재 한국과학기술연구원(KIST) 지능로봇연구센터 선임

연구원

관심분야 : 인간형 로봇 플랫폼 및 매커니즘 디자인, 센서

기반 강인한 동적 보행, 컴플라이언스 제어,

시각 및 촉각 기반 로봇 매니퓰레이터 제어

유 범 재 1985 서울대학교 공과대학 제어계측공학(학사)

1987 KAIST 전기 및 전자공학(석사)

1991 KAIST 전기 및 전자공학(박사)

현재 한국과학기술연구원(KIST) 지능로봇연구센터 책임

연구원 및 센터장

관심분야 : 시각 기반 로보틱스, 휴머노이드, 인간친화형

서비스 로봇, 실시간 네트워크 기반 제어기,

고속 영상 처리 기술