KR100915606B1 - 인간동작분석을 위한 인체모델 생성방법 - Google Patents

인간동작분석을 위한 인체모델 생성방법 Download PDF

Info

Publication number
KR100915606B1
KR100915606B1 KR1020070127684A KR20070127684A KR100915606B1 KR 100915606 B1 KR100915606 B1 KR 100915606B1 KR 1020070127684 A KR1020070127684 A KR 1020070127684A KR 20070127684 A KR20070127684 A KR 20070127684A KR 100915606 B1 KR100915606 B1 KR 100915606B1
Authority
KR
South Korea
Prior art keywords
human body
body model
zmp
model
ground reaction
Prior art date
Application number
KR1020070127684A
Other languages
English (en)
Other versions
KR20090060755A (ko
Inventor
김승수
김창환
나성권
유범재
Original Assignee
한국과학기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술연구원 filed Critical 한국과학기술연구원
Priority to KR1020070127684A priority Critical patent/KR100915606B1/ko
Publication of KR20090060755A publication Critical patent/KR20090060755A/ko
Application granted granted Critical
Publication of KR100915606B1 publication Critical patent/KR100915606B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame

Abstract

본 발명은 인체동작의 운동학적 동작을 분석하기 위한 인체모델 생성방법을 제공한다. 본 발명의 인체모델 생성방법은, 복수개의 도형으로 구성되는 인체모델을 생성하는 방법이며, 피실험자의 동작중 일정 시간 간격마다 피실험자의 신체의 다수의 위치정보와 피실험자의 지면반력을 획득하는 단계; 피실험자의 동작중 하나에 인체모델을 적용하고 위치정보를 이용하여 상기 도형 각각의 치수를 결정하는 단계; 인체모델의 ZMP를 계산하는 단계; 지면반력을 이용하여 피실험자의 실제 ZMP를 계산하는 단계; 인체모델의 ZMP와 피실험자의 실제 ZMP 사이의 오차가 제약조건 내에서 최소로 되도록 인체모델을 보정하는 단계로 이루어진다. 본 발명의 인체모델 생성방법에 의하면, 피실험자의 특성에 맞는 인체모델을 생성할 수 있고 생성된 인체모델만으로 피실험자의 운동학적 동작의 ZMP를 쉽게 계산할 수 있다.
인체모델, 모션캡쳐시스템, 제로모멘트포인트, ZMP, 휴머노이드 로봇

Description

인간동작분석을 위한 인체모델 생성방법{METHOD FOR BUILDING A HUMAN BODY MODEL FOR HUMAN MOTION ANALYSIS}
본 발명은 인간의 운동학적 동작을 분석하는데 사용되는 인체모델을 생성하는 방법에 관한 것으로, 더욱 상세하게는, 휴머노이드 로봇이 인간의 운동학적 동작을 모방하는데 사용될 수 있는 인체모델을 생성하는 방법에 관한 것이다.
휴머노이드 로봇은 외형에서 인간을 닯을 뿐만 아니라 그 동작도 인간과 유사한 로봇을 말한다. 이러한 휴머노이드 로봇은 인간과 비슷하게 움직이도록 인체의 외형적인 동작 뿐만 아니라 운동학적 동작도 모방하여야 한다.
인간의 외형적 동작을 모방하기 위한 정보를 획득하는데는, 피실험자의 몸에 다수의 마커를 부착하고 이들 마커의 움직임으로 정보를 얻는 광학식 모션캡쳐 방법이 사용된다. 이 방법은 용이하게 인간의 동작을 획득할 수 있어 널리 사용되고 있다.
인간의 운동학적 동작을 모방하기 위한 정보를 획득하는데는, 인간의 무게중심점(Center of Mass, 이하 간단히 ‘COM’이라 한다)의 궤적이나 제로모멘트포인트(Zero Moment Point, 이하 간단히 ‘ZMP’라 한다)의 궤적을 분석할 필요가 있 다. 인간의 COM 궤적이나 ZMP궤적을 획득하기 위해서는 인체의 각 부분의 질량과 움직임을 측정할 수 있어야 한다. 이러한 이유로 인체를 근사적으로 몇 개의 부분으로 나누고 각 부분의 질량을 예측하는 인체모델 생성방법이 필요하다. 그러나, 인체를 구성하는 물질이 균일하지 않고, 인체의 각 부분의 밀도가 다르며, 사람마다 각 부분의 뼈와 근육의 비율이 또한 다르므로, 이러한 차이점들을 정확히 고려하기 위해서는 피실험자 개개인에 맞는 인체모델을 생성하여야 한다.
많은 연구자들이 여러 인체모델들을 제안하였다.
하나반(E.P.Hanavan,“A mathematical model of the human body”, Report No. AMRLTR 64-102, AD-608-463. Ohio: Aerospace Medical Research Laboratories, October 1964.), 위든(M.R.Weadon, “The simulation of aerial movement: Ii. a mathematical inertia model of the human body”, Journal of Biomechanics, 1990, vol. 23, pp. 75-88), 하체(H.Hatze, “A mathematical model for the computational determination of parameter values of anthropometric segments”, Journal of Biomechanics, 1980, vol. 13, pp. 833-843), 젠슨(R.K.Jensen, “Estimation of the biomechanical properties of three body types using a photogrammic method”, Journal of Biomechanics, 1978, vol. 11, pp. 349-358) 등은 인체를 표현할 수 있는 모델들을 제안하였다. 그러나, 이들은 인체모델을 구성하는 각 부분의 크기를 결정하기 위해 수작업에 의존하였고, 자동적인 방법을 제안하지는 않았다.
자쇼스키(V.M.Zatsiorsky, Kinetics of Human Motion, Human Kinetics, Champaign, IL, USA, 2002.)는 100명의 남자를 대상으로 인체 각 부분의 관성특성을 측정하였다. 그는 인체 각 부분의 무게중심점(COM), 질량, 관성모멘트 등을 획득하였으나, 이는 피실험자들의 평균값이며 피실험자 개개인의 특징을 반영하기 어렵다.
포포비치 등(M.Popovic, A.Hofmann, and H.Herr, “Angular momentum regulation during human walking: biomechanics and control” in Proc. of IEEE Int. Conf. on Robotics and Automation, 2004, vol. 3, pp. 2405-2411.) 은 실제와 비슷한 인간의 질량 분포도를 측정하기 위한 인체모델을 개발하였다. 이들은 인체를 직접 측정하거나, 측정된 문헌을 참고한 데이터를 이용하였다. 그러나 이러한 측정 작업은 시간이 매우 많이 걸리는 작업이다.
언급된 종래의 인체모델들을 사용해 인체모델의 각 부분의 크기를 결정하는 작업은 시간이 많이 걸리고 복잡한 문제점이 있다. 또한, 피실험자의 인체모델이 아닌 평균 또는 표준 인체모델이 얻어지므로, 피실험자의 정확한 정보를 얻기 힘들다는 문제점도 있다. 따라서, 피실험자를 가장 잘 표현할 수 있는 인체모델을 만들 필요가 있고, 나아가 이러한 인체모델만으로 피실험자의 운동학적 동작의 ZMP를 쉽게 얻을 수 있는 인체모델이 필요하다.
본 발명은 위와 같은 문제점을 해결하기 위해 창안된 것으로서, 본 발명의 목적은 각 신체부분의 치수가 피실험자의 해당 신체부분의 치수를 비교적 정확하게 나타낼 수 있는 인체모델을 생성하는 방법을 제공하는 것이다.
위와 같은 목적 및 그 밖의 다른 목적을 달성하기 위하여, 본 발명의 인체모델 생성방법은, 복수개의 도형으로 구성되는 인체모델을 생성하는 방법이며, 피실험자의 동작중 일정 시간 간격마다 피실험자의 신체의 다수의 위치정보와 피실험자의 지면반력을 획득하는 단계; 피실험자의 동작중 하나에 인체모델을 적용하고 위치정보를 이용하여 상기 도형 각각의 치수를 결정하는 단계; 인체모델의 ZMP를 계산하는 단계; 지면반력을 이용하여 피실험자의 실제 ZMP를 계산하는 단계; 인체모델의 ZMP와 피실험자의 실제 ZMP 사이의 오차가 제약조건 내에서 최소로 되도록 인체모델을 보정하는 단계로 이루어진다.
도형의 치수 결정 단계는 도형의 고정치수 및 가변치수를 결정하는 단계를 포함하고, 인체모델 보정 단계는 오차가 제약조건 내에서 최소로 되도록 가변치수를 최적화하는 단계와, 최적화된 가변치수를 이용해 도형의 치수를 수정하는 단계를 포함한다.
가변치수 최적화 단계는 오차를 계산하는 단계와, 오차 계산시 사용된 가변치수가 제약조건을 만족하는지 확인하는 단계와, 제약조건을 만족하면 오차 계산시 사용된 가변치수를 상기 최적화된 가변치수로 치환하는 단계를 포함한다.
제약조건은 상기 인체모델의 상기 도형중 어느 하나의 가변치수가 상기 도형중 다른 하나의 가변치수보다 크거나 작은 조건일 수 있다.
인체모델의 도형은 구, 원기둥 및 직육면체 중 어느 하나이고, 고정치수는 원기둥의 길이, 직육면체의 가로 및 세로길이이고, 상기 가변치수는 구의 반지름, 원기둥의 반지름 및 직육면체의 높이이다.
위치정보 및 지면반력 획득 단계는 모션캡쳐시스템에서 행해질 수 있다. 지면반력 획득 단계는 모션캡쳐시스템에 지면반력측정기를 설치하고 상기 지면반력측정기로부터 지면반력을 획득하는 단계를 포함할 수 있다.
또한, 본 발명은, 복수개의 도형으로 구성되는 인체모델을 준비하는 단계; 모션캡쳐시스템에서 지면반력측정기 상에서 피실험자가 동작하는 도중 프레임마다 피실험자의 신체의 다수의 위치정보와 지면반력측정기로부터 피실험자의 지면반력을 획득하는 단계; 프레임마다 피실험자의 동작에 인체모델을 적용하고 위치정보를 이용하여 도형 각각의 고정치수와 가변치수를 결정하는 단계; 프레임마다 인체모델의 ZMP를 계산하는 단계; 프레임마다 지면반력을 이용하여 피실험자의 실제 ZMP를 계산하는 단계; 프레임의 총 수에 걸쳐 인체모델의 ZMP와 피실험자의 실제 ZMP 사이의 오차의 합이 제약조건 내에서 최소로 되도록 가변치수를 최적화하는 단계; 그리고 최적화된 가변치수를 이용해 상기 인체모델을 보정하는 단계로 이루어진다.
가변치수 최적화 단계는 오차의 합을 계산하는 단계와, 오차의 합 계산시 사용된 가변치수가 제약조건을 만족하는지 확인하는 단계와, 제약조건을 만족하면 오차의 합 계산시 사용된 가변치수를 최적화된 가변치수로 치환하는 단계를 포함한다.
제약조건은 인체모델의 도형중 어느 하나의 가변치수가 도형중 다른 하나의 가변치수보다 크거나 작은 조건이다.
도형은 구, 원기둥 및 직육면체 중 어느 하나이고, 고정치수는 원기둥의 길이와 직육면체의 가로 및 세로 길이이고, 가변치수는 구의 반지름, 원기둥의 반지름 및 직육면체의 높이이다.
본 발명의 인체모델 생성방법에 의하면, 피실험자가 모션캡쳐시스템과 지면반력측정기에서 행하는 간단한 동작만으로 피실험자 개개인에 맞는 맞춤형 인체모델을 완성할 수 있다. 본 발명에 의해 생성된 인체모델을 이용하면 지면반력측정을 하지 않고도 피실험자의 여러 동작을 해석하기 위한 COM 궤적이나 ZMP 궤적 등을 용이하게 산출할 수 있다. 지면반력을 측정하기 위해 사용되는 지면반력측정기는 상당히 고가여서, 피실험자의 광범위한 동작을 해석하기 위해 넓게 설치하는 것은 상당히 어렵다. 그러나, 본 발명에 의한 인체모델을 사용하면, 모션캡쳐시스템에서 얻어지는 피실험자 동작의 마커데이터만으로 ZMP의 궤적이나 COM의 궤적을 용이하게 얻을 수 있다.
이하에서는, 첨부된 도면을 참조하여 본 발명의 인체모델 생성방법에 대해 상세하게 설명한다.
본 발명은 복수개의 도형으로 구성되는 인체모델을 생성하는 방법을 제공한다. 본 발명의 인체모델을 구성하는 도형은 인체의 각 신체부분을 형상화한다. 이러한 도형의 치수를 결정함으로써 인체모델이 완성될 수 있다. 도형들의 최적 치수는 피실험자의 동작에 본 발명의 인체모델을 적용하고, 그 동작에 일치된 인체 모델의 ZMP를 구하고, 그 동작에서의 실제 ZMP와 비교하여 양자의 오차가 최소로 될 때에 얻어진다. 최적의 치수를 사용해 인체모델을 보정하여 인체모델이 완성된다.
도 1은 본 발명의 인체모델 생성방법을 예시한 흐름도이다.
도 1을 참조하면, 본 발명의 인체모델 생성방법은, 피실험자의 동작중 일정 시간 간격마다 피실험자의 신체의 다수의 위치정보를 획득하는 단계(S10)와 피실험자의 지면반력을 획득하는 단계(S20); 피실험자의 동작중 하나에 인체모델을 적용하는 단계(S30); 위치정보에 근거하여 도형 각각의 초기 치수를 결정하는 단계(S40); 인체모델의 ZMP와 피실험자의 실제 ZMP 사이의 오차가 제약조건 내에서 최소로 되도록 인체모델을 보정하는 단계를 포함한다. 도형의 치수 결정 단계는 도형의 고정치수와 가변치수를 결정하는 단계를 포함한다. 인체 모델 보정 단계는, 인체모델의 ZMP를 계산하는 단계(S50); 지면반력에 근거하여 피실험자의 실제 ZMP를 계산하는 단계(S60); 인체모델의 ZMP와 피실험자의 실제 ZMP 사이의 오차가 제약조건 내에서 최소인지 확인하는 단계(S70); 최소가 아닌 경우 도형의 치수를 수정하는 단계(S80)를 포함한다. 인체모델의 ZMP와 피실험자의 실제 ZMP 사이의 오차가 제약조건 내에서 최소로 되는 최적의 도형 치수가 얻어질 때 인체모델이 완성된다.
이하에서는 본 발명의 인체모델 생성방법의 각 과정을 설명한다.
인체의 모형화
도 2는 본 발명의 인체모델 생성방법에 채용되는 인체모형을 도시한다.
본 발명에 따른 인체모델(100)은 머리 부분(101), 목 부분(102), 윗몸통 부분(103), 위팔 부분(104), 아래팔 부분(105), 손 부분(106), 아랫몸통 부분(107), 윗다리 부분(108), 아랫다리 부분(109), 발 부분(110) 등의 10개의 신체부분으로 구성되며, 각 신체부분은 간단한 도형으로 단순화되어 있다. 머리 부분(101)과 손 부분(106)은 구로, 발 부분(110)은 직육면체로 단순화되고, 나머지 부분(목 부분(102), 윗몸통 부분(103), 위팔 부분(104), 아래팔 부분(105), 아랫몸통 부분(107), 윗다리 부분(108), 아랫다리 부분(109))은 원기둥으로 단순화된다.
각 신체부분의 밀도는 동일한 것으로 가정된다. 따라서, 각 신체부분의 구체적 치수를 결정하게 되면, 인체모델(100)의 각 신체부분의 질량을 구할 수 있을뿐만 아니라 나아가 이러한 인체모델(100)이 특정 동작을 할 때 인체모델(100)의 ZMP 또는 COM을 구할 수 있다.
인체 동작 획득
인체모델(100)을 적용하기 위한 인체의 여러 동작을 획득한다. 본 발명의 실시예에서는, 인체모델(100)을 적용하기 위한 인체 동작을 획득하기 위해, 모션캡쳐시스템을 이용한다.
도 3은 인체 동작 획득을 예시한다. 인체 동작 획득은 모션캡쳐시스템과 지면반력측정기(force plate)(21, 22)를 이용하여 수행된다. 지면반력측정기(21, 22)는 모션캡쳐시스템 내에 설치된다. 피실험자가 지면반력측정기(21, 22) 상에서 연기를 하여, 모션캡쳐시스템을 통해 피실험자 동작(모션)을 획득한다.
모션캡쳐시스템에서는, 피실험자의 신체의 다수의 표면에 마커(미도시)를 부 착하고, 피실험자가 동작할 때 마커로부터 얻어지는 위치정보(마커데이터)를 이용하여 도시된 바와 같은 인체의 동작(모션) 및 인체 각 부분의 위치정보가 얻어진다. 바람직하게는, 모션캡쳐시스템에 의해 각 동작이 측정되는 동시에 지면반력측정기에 의해 지면반력이 측정된다. 즉, 모션캡쳐시스템과 지면반력측정기(21, 22)는 동기화되어 있는 것이 바람직하다.
피실험자는 2개의 지면반력측정기(21, 22) 상에서 연기한다. 피실험자는 양팔, 양다리, 몸통, 머리 등을 번갈아 흔들면서 피실험자 신체의 각 부분을 골고루 움직인다. 구체적으로, 지면반력측정기(21, 22) 상에 한발 또는 양발이 지지된 상태에서 피실험자의 신체 다른 부분이 모두 움직이도록 연기하는 것이 바람직하다.
모션캡쳐시스템은 피실험자가 연기를 할 때 일정 시간마다 피실험자의 모션과 위치정보를 산출한다. 즉, 모션캡쳐시스템이 산출하는 하나의 모션을 일 프레임이라 할 때, 피실험자가 동작하는 동안 모션캡쳐시스템 일정 시간 간격마다 피실험자의 동작을 캡쳐하여 다수의 연속되는 모션을 산출한다. 이 실시예에서의 모션캡쳐시스템은, 1/120초 단위로 피실험자의 동작을 캡쳐하며, 예컨대 10초 동안 피실험자가 동작하면, 1200개의 프레임의 모션이 얻어진다. 또한, 상술한 바와 같이, 모션캡쳐시스템과 지면반력측정기가 동기화되어 있으므로, 모션캡쳐시시템의 매 프레임마다 피실험자의 모션의 획득과 지면반력의 획득이 실행된다.
인체모델의 적용
피실험자의 모션 형상은 모션캡쳐시스템을 통해 얻어진 마커데이터로부터 획득된다. 상기 마커데이터에 근거하여 형성된 모션 형상에 인체모델(100)을 적용하 여, 피실험자의 각각의 동작 상황에서 인체모델(100)의 ZMP를 계산할 수 있다.
도 4는 모션캡쳐시스템에서 획득된 한 프레임의 모션에 인체모델(100)을 적용하는 예를 도시한다. 상세하게는, 도 4는 피실험자의 모션에 인체모델(100)의 좌측 위팔 부분(104) 및 아래팔 부분(105)을 적용하는 예를 도시한다.
모션캡쳐시스템에서 얻어진 일 프레임의 모션 형상(11)의 위팔에는 어깨와 팔꿈치를 잇는 선과 동일한 방향으로 이 선 중심에 인체모델(100)의 위팔 부분(104)에 해당하는 원기둥의 중심선을 일치시킨다. 마찬가지로, 아래팔에는 팔꿈치와 손목을 잇는 선에 인체모델의 아래팔 부분(105)의 중심선을 일치시킨다.
또한, 모션캡쳐시스템에서 얻어진 일 프레임의 모션 형상(11)의 몸통 윗부분에는 목과 허리 중심을 잇는 선에 윗몸통 부분(103)의 원기둥의 중심을 일치시킨다. 모션 형상(11)의 몸통 아랫부분에는, 허리와 양 다리의 윗다리의 끝점을 잇는 선에 아랫몸통 부분(107)의 원기둥의 중심선을 일치시킨다. 모션 형상(11)의 윗다리에는, 윗다리 위쪽 끝점과 무릎을 잇는 선에 윗다리 부분(108)의 원기둥의 중심선을 일치시킨다. 모션 형상(11)의 아랫다리에는, 무릎과 발목을 잇는 선에 아랫다리 부분(109)의 원기둥의 중심선을 일치시킨다. 또한, 모션 형상(11) 중 머리와 양 손에는, 머리의 중심과 손의 중심에 인체모델의 머리 부분(101)과 손 부분(106)의 구의 중심을 일치시킨다.
인체모델의 신체부분의 치수 결정
피실험자의 모션 획득시, 피실험자 신체 표면에 부착된 다수의 마커의 위치정보를 이용하여, 피실험자 신체의 각 부분의 길이를 알 수 있다. 또한, 피실험자 신체를 도형으로 단순화한 인체모델(100)의 각 신체부분을 구성하는 도형들의 일부 치수를 알 수 있다.
예컨대, 마커의 위치정보에 근거하여, 직육면체(발 부분(110))의 경우 가로길이와 세로길이가 결정될 수 있고, 원기둥(목 부분(102), 윗몸통 부분(103), 위팔 부분(104), 아래팔 부분(105), 아랫몸통 부분(107), 윗다리 부분(108), 아랫다리 부분(109))의 경우 길이가 결정될 수 있다. 즉, 원기둥의 길이와 직육면체의 가로 및 세로 길이와 같은 고정치수가 결정될 수 있다.
그러나, 구(머리 부분(101), 손 부분(106))의 반지름과, 원기둥(목 부분(102), 윗몸통 부분(103), 위팔 부분(104), 아래팔 부분(105), 아랫몸통 부분(107), 윗다리 부분(108), 아랫다리 부분(109))의 반지름과, 직육면체(발 부분(110))의 높이는 상기 마커데이터(피실험자 신체의 위치정보)로부터 피실험자의 특성에 부합하도록 결정될 수 없다. 따라서, 이러한 구의 반지름, 원기둥의 반지름, 직육면체의 높이 등은 상기 인체모델을 보정하기 위한 가변치수들이 된다. 이들 가변치수들은 상기 보정 단계(S60, S70)에 의해 피실험자의 특성에 맞도록 최적화되고 그러한 상태에서 각 신체부분의 치수가 결정됨으로써, 인체모델(100)이 완성된다.
인체모델의 ZMP 궤적 획득
상술한 바와 같이, 모션캡쳐시스템에서 획득된 일 프레임의 모션에 본 발명의 인체모델(100)을 적용한다. 그러면, 피실험자의 동작 중 어느 한 시점에 맞추어 인체모델(100)의 각 신체부분의 위치가 정해진다. 이 상태에서, 인체모델(100) 의 ZMP를 계산한다. 그러면, 피실험자의 동작 중 어느 한 시점에 해당하는 인체모델(100)의 ZMP가 계산된다.
부코브라토비치 등(M. Vukobratovic, B. Borovac)은 ZMP의 개념을 정리하고 ZMP를 구하는 식을 제안하였다(“Zero-moment point - thirty five years of its life”, Int. Journal of Humanoid Robotics, vol.1, pp.157-173, 2004) 제안된 방법을 사용하여, 본 발명의 인체모델의 ZMP의 x 좌표 및 y 좌표는 다음 수학식 1과 수학식2로부터 구해질 수 있다.
Figure 112007088663743-pat00001
Figure 112007088663743-pat00002
여기서, 아래첨자 i는 인체모델(100)의 각 신체부분(예컨대, 머리 부분(101), 목 부분(102), 윗몸통 부분(103), 위팔 부분(104), 아래팔 부분(105), 손 부분(106), 아랫몸통 부분(107), 윗다리 부분(108), 아랫다리 부분(109), 발 부분(110))의 순번을 나타내고, n은 신체부분의 총 수를 나타낸다. xi, yi, zi, Ii 및 mi는 각각 인체모델의 i번째 신체부분의 중심의 x, y 및 z의 좌표 값, 관성모멘트 및 질량이다.
각 신체부분의 중심의 x, y 및 z 좌표 값은 상술한 바와 같이 고정치수에 관계된다. 그러나, 관성모멘트 및 질량은 가변치수(예컨대, 구의 반지름, 원기둥의 반지름, 직육면체이 높이)에 의해 달라진다. 즉, 수학식 1 및 2에서, 가변치수에 의해 달라지는 인체모델(100)의 각 신체부분에 따라 mi와 Ii는 달라진다. 인체모델(100)을 보정할 때, 이들 값들은 계속 바뀌게 된다.
실제 ZMP 계산
피실험자의 실제 ZMP는 지면반력을 사용하여 계산될 수 있다. 상술한 바와 같이, 마커를 사용하여 피실험자의 모션 형상을 획득하는 동시에 지면반력측정기(21, 22)를 사용하여 지면반력을 획득할 수 있다. 도 5는 지면반력측정으로 측정된 힘과 모멘트를 예시한다.
ZMP 정의로부터 아래의 수학식 3이 유도될 수 있다.
Figure 112007088663743-pat00003
여기서,
Figure 112007088663743-pat00004
는 모션캡쳐시스템의 고정좌표계(도 5의 바닥에 정의한 좌표계)에서의 i번째 반발력의 위치벡터,
Figure 112007088663743-pat00005
는 ZMP의 위치벡터,
Figure 112007088663743-pat00006
는 i번째 지면반력벡 터이다.
위 수학식 3으로부터 실제 ZMP의 x 좌표 및 y 좌표가 다음의 수학식 4 및 5와 같이 유도될 수 있다.
Figure 112007088663743-pat00007
Figure 112007088663743-pat00008
위 수학식 3 내지 5에서, i는 지면반력의 순번이고, n은 지면반력의 수이다. 또한, 변수들의 아래첨자 x, y 및 z 는 상응하는 각 벡터의 x, y 및 z 방향 성분을 나타낸다.
위 수학식 4 및 5로부터, 모션캡쳐시스템에서 지면반력측정기 상에서 피실험자가 동작할 때, 모션캡쳐시스템의 일 프레임 당 피실험자의 실제 ZMP의 좌표가 얻어질 수 있다. 모션캡쳐를 실행하는 시간 동안, 실제 ZMP의 좌표들을 구하여 피실험자의 실제 ZMP의 궤적을 획득할 수 있다.
인체모델의 보정
상술한 바와 같이, 모션캡쳐시스템의 프레임 당 획득한 피실험자의 모션에 인체모델(100)의 각 신체부분을 적용하여 최적화되지 않은 인체모델(100)의 ZMP를 계산한다. 이렇게 계산된 ZMP와 지면반력측정기(21, 22)로부터 측정된 피실험자의 실제 ZMP를 비교하여, 인체모델(100)의 각 신체부분(101 내지 110)의 크기가 피실험자의 특성에 맞도록 가변치수들을 최적화한다.
가변치수를 최적화하기 위해, 제약조건이 있는 비선형 다중변수 최적화(constrained nonlinear multivairiable optimization) 알고리즘을 이용한다.
상기 최적화 알고리즘에 대해 설명한다.
모션캡쳐시스템의 각 프레임 당 얻어진 인체모델(100)의 ZMP와 피실험자의 실제 ZMP의 오차를 피실험자의 모션 형상을 획득한 모션캡쳐시스템의 총 프레임 회수만큼 합한다. 오차 합계를 처음으로 구할 때, 인체모델(100)의 ZMP를 계산하기 위해 입력되는 가변치수의 값은 임의의 값으로 설정된다. 구해진 합계 오차가 제약조건을 만족하면서 최소로 될 때의 가변치수를 구한다. 이 가변치수를 사용해 인체모델(100)의 각 신체부분의 치수를 수정함으로써, 인체모델(100)은 피실험자의 특성에 일치하게 된다.
상기 합계 오차를 구하는 수식은 아래의 수학식 6과 같이 표현될 수 있다.
Figure 112007088663743-pat00009
여기서, t는 시간, nt는 캡쳐한 인체모션의 총 frame수,
Figure 112007088663743-pat00010
은 모션캡쳐시스 템의 일 프레임 당 캡쳐된 모션의 데이터, 는 가변치수들(즉, 구의 반지름, 원기둥의 반지름, 직육면체의 높이)의 값을 가지는 벡터,
Figure 112007088663743-pat00012
는 시간 t에서 가변치수벡터
Figure 112007088663743-pat00013
일 때 일 프레임의 모션에 인체모델(100)을 적용하여 계산한 ZMP의 값,
Figure 112007088663743-pat00014
는 모션캡쳐시스템의 일 프레임 당 지면반력측정기(21, 22)로부터 측정된 지면반력을 사용하여 계산된 피실험자의 실제 ZMP의 값이다.
가변치수의 최적화는 수학식 6의 목적함수
Figure 112007088663743-pat00015
를 최소화하는 가변치수벡터
Figure 112007088663743-pat00016
를 구하는 것을 목적으로 한다. 가변치수벡터
Figure 112007088663743-pat00017
의 값은 머리 부분(101)의 반지름, 목 부분(102)의 반지름, 윗몸통 부분(103)의 반지름, 위팔 부분(104)의 반지름, 아래팔 부분(105)의 반지름, 손 부분(106)의 반지름, 아랫몸통 부분(107)의 반지름, 윗다리 부분(108)의 반지름, 아랫다리 부분(109)의 반지름, 발 부분(110)의 높이가 된다.
또한, 상기 최적화 알고리즘에 사용되는 제약조건식으로 아래의 수학식 7 내지 9를 사용한다.
Figure 112007088663743-pat00018
Figure 112007088663743-pat00019
Figure 112007088663743-pat00020
제약조건은 인체모델(100)을 구성하는 도형중 어느 하나의 가변치수가 다른 하나의 가변치수보다 크거나 작은 조건이다. 이러한 제약조건은 각 신체부분들들 사이의 크기에 관련된 것으로, 정상적인 인간의 신체를 직관적으로 고려하여 정의한 것이다. 예컨대, 머리 부분(101)의 반지름이 목 부분(102)의 반지름보다 크거나 같은 조건, 윗다리 부분(108)의 반지름이 아랫다리 부분(109)의 반지름보다 크거나 같은 조건 등이 제약조건으로 채용된다.
수학식 8에 나타낸 행렬 A의 값들은, 가변치수벡터
Figure 112007088663743-pat00021
의 값들의 순서를 윗다리 부분(108)의 반지름, 아랫다리 부분(109)의 반지름, 아랫몸통 부분(107)의 반지름, 윗몸통 부분(103)의 반지름, 목 부분(102)의 반지름, 머리 부분(101)의 반지름, 위팔 부분(104)의 반지름, 아래팔 부분(105)의 반지름, 손 부분(106)의 반지 름, 발 부분(106)의 높이로 했을 때의 값이다. A행렬의 첫 번째 행에서 알 수 있는 바와 같이, 윗다리 부분(101)의 반지름은 아랫다리 부분(102)의 반지름보다 크거나 최소한 같다는 것을 의미한다.
수학식 8에 나타낸 행렬 A는 예시적인 것이며, 행렬 A의 값들은 인체모델(100)을 더욱 상세하게 고려할 경우 달라질 수 있다.
요약하면, 상기 최적화 알고리즘을 사용하여, 제약조건인 수학식 7 내지 9를 만족하면서 수학식 6의 목적함수
Figure 112007088663743-pat00022
를 최소화 하는 가변치수벡터
Figure 112007088663743-pat00023
를 찾는 최적화를 수행하는 것이다. 이렇게 하여, 최적의 가변치수벡터
Figure 112007088663743-pat00024
의 값들을 계산해 낼 수 있다. 이렇게 계산된 가변치수를 사용해 인체모델(100)의 각 신체부분의 치수를 수정한다. 수정된 인체모델(100)로부터 계산된 ZMP는 피실험자의 실제 ZMP와 동일하거나 거의 유사하게 된다. 따라서, 수정된 인체모델(100)은 피실험자의 특성에 맞는 인체모델로 보정될 수 있다.
상기 최적화 알고리즘은 일 예로 설명한 것이며, 가변치수의 최적화 문제를 풀기위해 다른 알고리즘이 이용될 수도 있다.
본 발명자는 상술한 인체모델의 정확성을 검증하기 위해 모션캡쳐시스템과 지면반력측정기를 사용하는 실험을 행하였다.
도 6에는 상기 실험에서 피실험자가 연기한 동작이 예시되어 있다. 도 7(a) 및 도 7(b)는 각각 도 6과 같은 동작을 모션캡쳐시스템에서 수행할 때 본 발명의 인체모델을 적용하여 계산된 X방향의 ZMP 궤적 및 Y방향의 ZMP 궤적과 지면반력측 정기로부터 얻어진 X방향의 실제 ZMP 궤적 및 Y방향의 실제 ZMP 궤적을 보이는 그래프이다.
도 7(a) 및 도 7(b)에서, 본 발명의 인체모델의 ZMP 궤적은 실선으로 표시되어 있고, 지면반력측정기(21, 22)로부터 얻어진 피실험자의 실제 ZMP 궤적은 일점쇄선으로 표시되어 있다. 도 7(a) 및 도 7(b)로부터, 본 발명의 인체모델의 ZMP 궤적과 지면반력측정기를 통해 얻어진 실제 ZMP 궤적이 거의 유사함을 알 수 있다. 양 ZMP 궤적 사이에 약간의 오차가 보이지만, 인체모델(100)을 더욱 세분하여 구성하면 이러한 오차는 제거될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 분야에서 통상의 지식을 가진 자에게 있어서 명백할 것이다.
본 발명은 인간동작의 운동학적 움직임을 해석할 수 있는 간단한 인체모델을 제안하고, 인체모델의 각 신체부분의 크기를 결정하는 방법을 제안한다. 본 발명의 인체모델 생성방법에 의하면, 인간의 운동학적 동작을 쉽게 분석할 수 있고, 휴머노이드 로봇이 인간의 운동학적 동작을 모방하는데 사용되는 COM 궤적 또는 ZMP 궤적을 간단하게 얻을 수 있다.
도 1은 본 발명의 인체모델 생성방법을 예시한 흐름도이다.
도 2는 본 발명의 인체모델 생성방법에 채용되는 인체모델의 일 예를 도시한다.
도 3은 모션캡쳐시스템과 지면반력측정기를 사용한 피실험자의 동작 획득을 도시한다.
도 4는 본 발명의 인체모델에 모션캡쳐시스템에서 획득된 인체동작을 적용하는 예를 도시한다.
도 5는 지면반력측정으로 측정된 힘과 모멘트를 예시한다.
도 6은 본 발명에 따른 인체모델의 정확성을 검증하기 위해 피실험자가 행한 동작을 예시한다.
도 7(a) 및 도 7(b)는 각각 도 6과 같은 동작을 모션캡쳐시스템에서 수행할 때 본 발명의 인체모델을 사용하여 계산된 X방향의 ZMP 궤적 및 Y방향의 ZMP 궤적과 지면반력측정기로부터 얻어진 X방향의 실제 ZMP 궤적 및 Y방향의 실제 ZMP 궤적을 보이는 그래프이다.

Claims (11)

  1. 복수개의 도형으로 구성되는 인체모델을 생성하는 방법이며,
    피실험자의 동작중 일정 시간 간격마다 상기 피실험자의 신체의 다수의 위치정보와 상기 피실험자의 지면반력을 획득하는 단계;
    상기 피실험자의 동작중 하나에 상기 인체모델을 적용하고 상기 위치정보를 이용하여 상기 도형 각각의 치수를 결정하는 단계;
    상기 인체모델의 ZMP를 계산하는 단계;
    상기 지면반력을 이용하여 상기 피실험자의 실제 ZMP를 계산하는 단계; 그리고
    상기 인체모델의 ZMP와 상기 피실험자의 실제 ZMP 사이의 오차가 제약조건 내에서 최소로 되도록 상기 인체모델을 보정하는 단계
    를 포함하는 인체모델 생성방법.
  2. 제1항에 있어서,
    상기 도형의 치수 결정 단계는 상기 도형의 고정치수 및 가변치수를 결정하는 단계를 포함하고,
    상기 인체모델 보정 단계는 상기 오차가 상기 제약조건 내에서 최소로 되도록 상기 가변치수를 최적화하는 단계와, 최적화된 상기 가변치수를 이용해 상기 도형의 치수를 수정하는 단계를 포함하는
    인체모델 생성방법.
  3. 제2항에 있어서,
    상기 가변치수 최적화 단계는 상기 오차를 계산하는 단계와, 상기 오차 계산시 사용된 가변치수가 상기 제약조건을 만족하는지 확인하는 단계와, 상기 제약조건을 만족하면 상기 오차 계산시 사용된 가변치수를 상기 최적화된 가변치수로 치환하는 단계를 포함하는
    인체모델 생성방법.
  4. 제3항에 있어서,
    상기 제약조건은 상기 인체모델의 상기 도형중 어느 하나의 가변치수가 상기 도형중 다른 하나의 가변치수보다 크거나 같은 조건인
    인체모델 생성방법.
  5. 제4항에 있어서,
    상기 도형은 구, 원기둥 및 직육면체 중 어느 하나이고,
    상기 고정치수는 원기둥의 길이, 직육면체의 가로 및 세로길이이고,
    상기 가변치수는 구의 반지름, 원기둥의 반지름 및 직육면체의 높이인
    인체모델 생성방법.
  6. 제1항에 있어서,
    상기 위치정보 및 지면반력 획득 단계는 모션캡쳐시스템에서 행해지는
    인체모델 생성방법.
  7. 제6항에 있어서,
    상기 지면반력 획득 단계는 상기 모션캡쳐시스템에 지면반력측정기를 설치하고 상기 지면반력측정기로부터 지면반력을 획득하는 단계를 포함하는
    인체모델 생성방법.
  8. 복수개의 도형으로 구성되는 인체모델을 준비하는 단계;
    모션캡쳐시스템에서 지면반력측정기 상에서 피실험자가 동작하는 도중 프레임마다 상기 피실험자의 신체의 다수의 위치정보와 상기 지면반력측정기로부터 상기 피실험자의 지면반력을 획득하는 단계;
    상기 프레임마다 상기 피실험자의 동작에 상기 인체모델을 적용하고 상기 위치정보를 이용하여 상기 도형 각각의 고정치수와 가변치수를 결정하는 단계;
    상기 프레임마다 상기 인체모델의 ZMP를 계산하는 단계;
    상기 프레임마다 상기 지면반력을 이용하여 상기 피실험자의 실제 ZMP를 계산하는 단계;
    상기 프레임의 총 수에 걸쳐 상기 인체모델의 ZMP와 상기 피실험자의 실제 ZMP 사이의 오차의 합이 제약조건 내에서 최소로 되도록 상기 가변치수를 최적화하 는 단계; 그리고
    상기 최적화된 가변치수를 이용해 상기 인체모델을 보정하는 단계
    를 포함하는 인체모델 생성방법.
  9. 제8항에 있어서,
    상기 가변치수 최적화 단계는 상기 오차의 합을 계산하는 단계와, 상기 오차의 합 계산시 사용된 가변치수가 상기 제약조건을 만족하는지 확인하는 단계와, 상기 제약조건을 만족하면 상기 오차의 합 계산시 사용된 가변치수를 상기 최적화된 가변치수로 치환하는 단계를 포함하는
    인체모델 생성방법.
  10. 제9항에 있어서,
    상기 제약조건은 상기 인체모델의 상기 도형중 어느 하나의 가변치수가 상기 도형중 다른 하나의 가변치수보다 크거나 같은 조건인
    인체모델 생성방법.
  11. 제10항에 있어서,
    상기 도형은 구, 원기둥 및 직육면체 중 어느 하나이고,
    상기 고정치수는 원기둥의 길이와 직육면체의 가로 및 세로 길이이고,
    상기 가변치수는 구의 반지름, 원기둥의 반지름 및 직육면체의 높이인
    인체모델 생성방법.
KR1020070127684A 2007-12-10 2007-12-10 인간동작분석을 위한 인체모델 생성방법 KR100915606B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070127684A KR100915606B1 (ko) 2007-12-10 2007-12-10 인간동작분석을 위한 인체모델 생성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070127684A KR100915606B1 (ko) 2007-12-10 2007-12-10 인간동작분석을 위한 인체모델 생성방법

Publications (2)

Publication Number Publication Date
KR20090060755A KR20090060755A (ko) 2009-06-15
KR100915606B1 true KR100915606B1 (ko) 2009-09-07

Family

ID=40990446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070127684A KR100915606B1 (ko) 2007-12-10 2007-12-10 인간동작분석을 위한 인체모델 생성방법

Country Status (1)

Country Link
KR (1) KR100915606B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502235B1 (ko) * 2013-10-25 2015-03-12 성균관대학교산학협력단 지면반력 예측 모델 도출 방법 및 이를 이용한 지면반력 예측 장치
CN104318038A (zh) * 2014-11-17 2015-01-28 中国科学院合肥物质科学研究院 一种双足类人机器人腿部结构轻量化设计方法
RU2638083C2 (ru) * 2015-11-27 2017-12-11 Автономная некоммерческая организация высшего образования "Университет Иннополис" Устройство определения положения точки нулевого момента при ходьбе без сгибания стопы
WO2020116836A1 (ko) * 2018-12-06 2020-06-11 (주)코어센스 인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법
KR102172362B1 (ko) * 2018-12-06 2020-10-30 (주)코어센스 인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040080102A (ko) * 2003-03-10 2004-09-18 (주) 모비다임 인체 촬상센서를 이용한 모션캡춰장치
JP2005256232A (ja) 2004-03-12 2005-09-22 Nippon Telegr & Teleph Corp <Ntt> 3dデータ表示方法、装置、およびプログラム
KR20070035212A (ko) * 2005-09-27 2007-03-30 성균관대학교산학협력단 첨족보행 환자의 수술결과 예측장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040080102A (ko) * 2003-03-10 2004-09-18 (주) 모비다임 인체 촬상센서를 이용한 모션캡춰장치
JP2005256232A (ja) 2004-03-12 2005-09-22 Nippon Telegr & Teleph Corp <Ntt> 3dデータ表示方法、装置、およびプログラム
KR20070035212A (ko) * 2005-09-27 2007-03-30 성균관대학교산학협력단 첨족보행 환자의 수술결과 예측장치

Also Published As

Publication number Publication date
KR20090060755A (ko) 2009-06-15

Similar Documents

Publication Publication Date Title
US8315823B2 (en) Force and/or motion measurement system having inertial compensation and method thereof
Jovic et al. Humanoid and human inertia parameter identification using hierarchical optimization
Duriez Control of elastic soft robots based on real-time finite element method
JP5288418B2 (ja) 力学パラメータの同定法
González et al. Estimation of the center of mass with Kinect and Wii balance board
KR100915606B1 (ko) 인간동작분석을 위한 인체모델 생성방법
Bonnet et al. Fast determination of the planar body segment inertial parameters using affordable sensors
Mistry et al. Sit-to-stand task on a humanoid robot from human demonstration
JP4934806B2 (ja) モーションキャプチャを用いたリンク機構モデルのリンク長パラメータの推定法及び装置
Mihcin et al. Investigation of wearable motion capture system towards biomechanical modelling
Bonnet et al. A constrained extended kalman filter for dynamically consistent inverse kinematics and inertial parameters identification
KR20190022198A (ko) 착용형 센서를 이용한 자세정보 보정 방법 및 이를 수행하는 기록매체
García-de-Villa et al. Novel IMU-based adaptive estimator of the center of rotation of joints for movement analysis
Callejas-Cuervo et al. Capture and analysis of biomechanical signals with inertial and magnetic sensors as support in physical rehabilitation processes
JP5435543B2 (ja) 人体の部位別の質量および重心の測定方法
KR20120070660A (ko) 다물체 모델링과 통계 방법론을 이용한 인체 하지부 구속력의 불확실성 추정 방법
De Rosario et al. Correction of joint angles from Kinect for balance exercising and assessment
Yunardi et al. Robotic leg design to analysis the human leg swing from motion capture
Hajný et al. A study of gait and posture with the use of cyclograms
Gragg et al. Optimization-based posture reconstruction for digital human models
Romantsova et al. Metrological parameters of information and measurement systems for the study of a kinematic portrait of a person
Venture et al. Identification of human mass properties from motion
Joukov et al. Closed-chain pose estimation from wearable sensors
Crenna et al. Measurement uncertainty evaluation in biomechanical inverse dynamics analysis
Futamure et al. Dynamically consistent inverse kinematics framework using optimizations for human motion analysis

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120808

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130731

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee