KR101635684B1 - 보행 동작 생성 및 제어 방법, 보행 컨트롤러 - Google Patents

보행 동작 생성 및 제어 방법, 보행 컨트롤러 Download PDF

Info

Publication number
KR101635684B1
KR101635684B1 KR1020140169551A KR20140169551A KR101635684B1 KR 101635684 B1 KR101635684 B1 KR 101635684B1 KR 1020140169551 A KR1020140169551 A KR 1020140169551A KR 20140169551 A KR20140169551 A KR 20140169551A KR 101635684 B1 KR101635684 B1 KR 101635684B1
Authority
KR
South Korea
Prior art keywords
information
pelvis
generating
end effector
target point
Prior art date
Application number
KR1020140169551A
Other languages
English (en)
Other versions
KR20160065505A (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 KR1020140169551A priority Critical patent/KR101635684B1/ko
Publication of KR20160065505A publication Critical patent/KR20160065505A/ko
Application granted granted Critical
Publication of KR101635684B1 publication Critical patent/KR101635684B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/949Animation processing method
    • Y10S345/956Language driven animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

역기구학 솔버를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 및 제어 방법, 보행 컨트롤러가 개시된다. 개시된 보행 동작 생성 방법은, 상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 입력받는 단계; 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하는 단계; 및 상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 골반의 회전 정보를 생성하는 단계를 포함한다.

Description

보행 동작 생성 및 제어 방법, 보행 컨트롤러{Method for Generating and controlling Locomotion, Locomotion Controller}
본 발명은 보행 동작 생성 및 제어 방법, 보행 컨트롤러에 관한 것으로서, 더욱 상세하게는 역기구학 솔버를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 및 제어 방법, 보행 컨트롤러에 관한 것이다.
컴퓨터 애니메이션에서 가상 캐릭터의 자연스러운 동작들을 생성하거나 로봇의 자연스로운 동작을 생성하기 위해 많은 비용이 소모된다. 예를 들어, 숙력된 애니메이터의 수작업이나 모션 캡쳐 장비를 이용하여 동작을 촬영하고, 보정을 통해서 보행 동작 등이 생성된다. 또는 역기구학 솔버(inverse kinematics solver)를 통해 보행 동작이 생성된다.
역기구학 솔버는 손이나 발과 같은 엔드-이펙터(end-effecter)가 목표한 위치에 정확하게 위치하도록 하기 위해, 관절들의 각도를 계산하는 도구이다. 수치적 최적화 기반 역기구학 솔버는 캐릭터의 전체 자유도에 대한 해결책을 찾기 위해 사용되며, 다양한 기능을 제공하지만 분석적인 역기구학 솔버에 비해 상대적으로 속도가 느리다. 데이터베이스를 이용하는 역기구학 솔버의 경우, 데이터베이스로부터 자연스러운 자세의 영역을 배우고 넓은 영역의 새로운 자세를 생성하기 위해 사용될 수 있다.
이와 같이, 역기구학 솔버를 이용하여 보행 동작을 생성하는 기술과 관련 선행문헌으로 대한민국 공개특허 제2010-0133232호가 있다.
종래의 경우, 지형에 적응적으로 보행 동작을 생성하지 않으며, 평지가 아닌 계단 또는 경사진 지역에서 무릎이 튀는 등 보행 동작이 부자연스러운 단점이 있다. 부자연스러운 보행 동작을 해결하기 위해 다리 길이를 조절하는 방법등이 사용되는데, 이러한 방법의 경우 로봇 시뮬레이션 영역에는 적합하지 못하다.
외부 환경에 따라 실시간으로 보행 동작이 수정되어야 하는 이족 보행 로봇 시뮬레이션 영역이나, 실감나는 그래픽 효과를 제공해야 하는 가상 캐릭터를 이용하는 게임 분야에서, 모두 이용 가능하며, 자연스럽고 지형에 적응적인 보행 동작을 생성할 수 있는 방법에 대한 연구가 필요하다.
본 발명은 역기구학 솔버를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 및 제어 방법, 보행 컨트롤러를 제공하기 위한 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 방법에 있어서, 상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 입력받는 단계; 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하는 단계; 및 상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 골반의 회전 정보를 생성하는 단계를 포함하는 보행 동작 생성 방법을 제공한다.
또한 상기한 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 역기구학 솔버 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 방법에 있어서, 상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 입력받는 단계; 엔드 이펙터의 타겟 지점에 대한 팔 관절의 각도 정보를 생성하는 단계; 및 상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 상체의 회전 정보를 생성하는 단계를 포함하는 보행 동작 생성 방법을 제공한다.
또한 상기한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따르면, 역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 제어 방법에 있어서, 상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는 단계; 상기 지형 정보에 따른 상기 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성하는 단계; 상기 궤적 정보에 기반하여, 상기 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하는 단계; 및 상기 궤적 정보에 기반하여, 상기 타겟 지점에 대한 상기 골반의 회전 정보를 생성하는 단계를 포함하는 보행 동작 제어 방법을 제공한다.
또한 상기한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따르면, 역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 컨트롤러에 있어서, 상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는 정보 수신부; 상기 지형 정보에 따른 상기 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성하는 궤적 정보 생성부; 및 상기 궤적 정보에 기반하여, 상기 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보 및 상기 골반의 회전 정보를 생성하는 역기구학 해석부를 포함하는 보행 컨트롤러를 제공한다.
본 발명에 따르면, 역기구학을 이용하여, 보행 동작에 필요한 다리 관절의 각도 정보를 생성할 뿐만 아니라, 골반의 회전을 함께 고려함으로써 자연스러운 보행동작을 생성할 수 있다.
또한 본 발명에 따르면, 지형에 따라 엔드 이펙터 및 골반의 궤적 정보를 생성하고, 궤적 정보에 기반하여 다리 관절 각도 및 골반의 회전 각도를 산출함으로써, 지형에 적응적인 보행 동작을 생성 및 제어할 수 있다.
도 1은 본 발명의 일실시예에 따른 보행 컨트롤러를 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 엔드 이펙터 궤적 정보 생성 방법을 설명하기 위한 도면이다.
도 3 및 도 4는 본 발명의 다른 실시예에 따른 골반 궤적 정보 생성 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 보행 동작 생성 방법을 설명하기 위한 도면이다.
도 6 및 도 7은 본 발명에 따른 보행 동작을 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 따른 보행 동작 제어 방법을 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
본 발명은 역기구학 솔버를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 및 제어 방법, 보행 컨트롤러를 제안한다.
본 발명은 역기구학을 이용하여, 보행 동작에 필요한 다리 관절의 각도 정보를 생성할 뿐만 아니라, 골반의 회전을 함께 고려함으로써 자연스러운 보행동작을 생성할 수 있다. 즉, 본 발명에 따르면 다리 관절의 각도 정보에 따라 엔드 이펙터가 타겟 지점에 도달하지 못하는 경우, 골반을 회전시킴으로써 엔드 이펙터가 타겟 지점에 도달할 수 있도록 한다.
또한 본 발명은 지형에 따라 엔드 이펙터 및 골반의 궤적 정보를 생성하고, 궤적 정보에 기반하여 전술된 방법에 따라 다리 관절 각도 및 골반의 회전 각도를 산출함으로써, 지형에 적응적인 보행 동작을 생성 및 제어할 수 있다.
본 발명에 따른 보행 동작 생성 방법 및 제어 방법은 프로세서(processor)를 포함하는 전자 장치(electronic device), 예를 들어, PC, 노트북, 서버, 로봇 및 모바일 디바이스 등에서 수행될 수 있다. 또한 본 명세서에서 언급되는 하드웨어 관점의 설명은 프로세스적인 관점에서 용이하게 해석될 수 있으며, 프로세스 관점의 설명은 하드웨어적인 관점에서 용이하게 해석될 수 있다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 보행 컨트롤러를 설명하기 위한 도면이다.
본 발명에 따른 보행 컨트롤러(100)는 역기구학 솔버(inverse kinematics solver)를 이용하여 가상 캐릭터 또는 로봇에 대한 보행 동작을 제어한다. 보행 컨트롤러(100)는 로봇의 보행 동작 시뮬레이터에 포함되거나 또는 로봇의 보행 동작 시뮬레이터로 정보를 제공할 수 있다. 또는 보행 컨트롤러(100)는 보행하는 가상 캐릭터를 직접 생성하거나, 제어할 수 있다.
본 발명에 따른 보행 컨트롤러(100)는 도 1에 도시된 바와 같이, 정보 수신부(110), 궤적 정보 생성부(120) 및 역기구학 해석부(130)를 포함한다.
정보 수신부(110)는 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는다. 캡쳐 데이터는 예를 들어, 가상 캐릭터 생성을 위해 보행 동작에 대한 모션 캡쳐를 통해 제공될 수 있다.
궤적 정보 생성부(120)는 보행 동작에 대한 캡쳐 데이터를 예제 동작(reference motion)으로서 이용하여, 지형에 따른 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성한다. 궤적 정보 생성부(120)는 사용자로부터 입력되는 보행 조건, 예를 들어 보행 속도, 보행 방향에 따라 궤적 정보를 생성할 수 있다. 또한 엔드 이펙터는 발 또는 발목일 수 있다.
실시예에 따라, 궤적 정보 생성부(120)는 역진자 궤적 생성기(Pendulum Trajectory Generator, 121), 보폭 계산부(123) 및 지형 적응부(125)를 포함할 수 있다.
역진자 궤적 생성기(121)는, IPC(Inverted pendulum on a cart) 모델을 이용를 이용하여, 사용자 입력으로 인해캡쳐 데이터가 넘어지지 않도록 하기 위한 역진자 궤적을 생성한다. 가상 캐릭터가 사용자 입력에 따라 방향 전환, 빠른 걸음 등을 할 때 무게중심이 달라지기 때문에 실제 캡쳐 데이터와 차이가 발생하므로 생성된 역진자 궤적에 맞도록 캡쳐 데이터를 변형하는 과정이 필요하다. 초기 역진자 상태(Pendulum State)로부터 원하는 속도 및 회전 속도를 사용자로부터 입력받아, 넘어지지 않도록 극의 균형을 잡으며, 원하는 속도로 이동이 가능하도록 카트의 위치를 변경하여 역진자 궤적을 생성할 수 있다.
보폭 계산부(123)는 동작 계획자(planner)를 사용하여, 역진자 궤적으로부터 캡쳐 데이터의 발자국 위치를 획득하고 보폭을 계산할 수 있으며, 이를 통해 평지와 같은 환경에서의 엔트 이펙터 및 골반의 궤적이 생성될 수 있다.
지형 적응부(125)는 지형 데이터를 이용하여, 캡쳐 데이터의 엔트 이펙터 및 골반의 궤적을 수정한다. 지형 적응부(125)는 지형에 대해 컨벡스 헐을 이용하여 엔드 이펙트의 궤적 정보를 생성할 수 있다. 엔드 이펙트 및 골반의 궤적 정보 생성 방법은 도 2 내지 도 4에서 자세히 설명된다.
역기구학 해석부(130)는 궤적 정보에 기반하여, 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하며, 골반의 타켓 지점에 대한 골반의 회전 정보를 생성한다. 역기구학 해석부(130)는 실시예에 따라서, 골반 궤적 수정부(131) 및 보행 정보 생성부(133)를 포함할 수 있다.
골반 궤적 수정부(131)는 궤적 정보 생성부(120)에서 생성된 골반의 궤적 정보에 대해 가우시안 필터링(Gaussian Filtering)을 수행하여, 골반 궤적을 수정할 수 있다. 그리고 보행 정보 생성부(133)는 도 5에서 자세히 설명되는, 본 발명에 따른 보행 동작 생성 방법에 의해 각도 정보 및 회전 정보를 생성할 수 있다.
골반 궤적 수정부(131)와 보행 정보 생성부(133)는 서로 정보를 송수신하며, 정보를 갱신한다. 골반 궤적 수정부(131)는 회전 정보에 따른 골반의 변위를 이용하여, 골반의 궤적 정보를 갱신하며, 보행 정보 생성부(133)는 갱신된 궤적 정보에 기반하여 각도 정보 및 회전 정보를 갱신할 수 있다.
본 발명에 따른 보행 컨트롤러(100)는 보행 정보 생성부(133)에서 생성된 정보를 이용하여, 보행 동작을 생성 및 제어할 수 있다. 실시예에 따라서 보행 동작 생성 및 제어 각각은 분리된 디바이스에서 수행될 수 있다.
본 발명에 따르면, 보행 동작에 대한 캡쳐 데이터와 같은 예제 동작을 이용하여, 지형에 적응적인 자연스러운 보행 동작을 생성 및 제어할 수 있다.
도 2는 본 발명의 일실시예에 따른 엔드 이펙터 궤적 정보 생성 방법을 설명하기 위한 도면이다. 도 2에서는 계단 지형에 따른 발의 궤적 정보 생성이 일실시예로서 설명된다.
지형 적응부(125)는 궤적 정보 생성부(120)에 의해 생성된, 발자국(current footstep, next footstep)에 따른 발의 초기 궤적 곡선(a)을 컨벡스 헐(b)에 따라 수정하여, 최적화된 궤적 곡선(d)을 생성한다. 즉, 지형 적응부(125)는 예제 동작에 대한 초기 궤적 정보를 따라서, 지형의 높이를 추출(sampling)하여 컨벡스 헐(b)로 단순화함으로써, 최적화된 궤적 곡선(d)을 생성할 수 있다. 지형 적응부(125)는 초기 궤적 곡선(a)과 최적화된 궤적 곡선(d)을 혼합하여, 지형에 따른 궤적 정보를 생성할 수 있다.
컨벡스 헐(b)을 통해 획득되는 구분적 선형 곡선 (piece-wise linear curve)은 바로 사용할 수 있을 정도로 부드럽지 않기 때문에, 제약점(c)을 이용해 최적화가 진행된다. 제약점(c)은 컨벡스 헐(b)의 상부 지지 정점으로서, 이전 발바닥 위치에서 다음 발바닥 위치까지의 컨벡스 헐의 상부에 위치한 선들을 잇는 점들이다.
결국, 지형 적응부(125)는 [수학식 1]을 이용하여 최적화된 궤적 곡선(d)을 생성할 수 있다. [수학식 1]은 유한 차분법 및 최소 제곱법에 의해 해석될 수 있으며, S가 최소가되는 곡선이 최적화된 궤적 곡선(d)이 될 수 있다. 이 때, 전술된 제약점(c)이 제약 조건이 된다.
Figure 112014116438619-pat00001
여기서, t는 보행 동작을 구성하는 프레임을 나타내며, x는 곡선의 높이 값이다.
도 3 및 도 4는 본 발명의 다른 실시예에 따른 골반 궤적 정보 생성 방법을 설명하기 위한 도면이다. 도 3에서는 계단 지형에 따른 골반의 궤적 정보 생성이 일실시예로서 설명된다.
지형 적응부(125)는 발자국을 잇는 구분적 선형 곡선(a)과, 궤적 정보 생성부(120)에 의해 생성된, 캡쳐 데이터의 보행 동작에 따른 골반의 초기 궤적 곡선(b)을 혼합하여, 골반의 궤적 정보(c)를 생성한다.
골반의 궤적 정보(c)에 의해 보행 동작이 이루어질 경우, 골반이 부자연스럽게 이동하거나, 골반의 궤적 정보(c)와 발의 궤적 정보 사이에서 무릎 관절이 부자연스럽게 움직일 수 있으므로, 골반 궤적 수정부(131)는 생성된 골반의 궤적 정보(c)를 부드럽게 처리하기 위해, 즉, 평활화하기 위해 가우시안 필터링을 수행할 수 있다.
도 4에 도시된 바와 같이, 평활화 전(a)에는 무릎 관절이 일자로 펴지지만, 평활화 후(b)에는 무릅 관절이 자연스럽게 구부러지며 보다 자연스러운 보행 동작이 생성될 수 있다.
도 5는 본 발명의 일실시예에 따른 보행 동작 생성 방법을 설명하기 위한 도면이다.
보행 정보 생성부(133)는 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 수신, 즉 입력(S501)받는다. 그리고 캡쳐 데이터 제1엔드 이펙터의 타겟 지점(T1)에 대한 다리 관절의 각도 정보를 생성(S503)한다. 여기서, 다리 관절은 고관절, 무릎 관절 및 발목 관절을 포함하며, 제1엔드 이펙터는 발 또는 발목일 수 있다.
보행 정보 생성부(133)는 각도 정보에 의해, 제1엔드 이펙터가 타겟 지점(T1)에 도달하지 못할 경우, 즉, 제1엔드 이펙터의 위치와 타겟 지점 사이(T1)의 거리가 임계 값 이상인 경우, 타겟 지점(T1)에 대한 골반의 회전 정보를 생성(S505)한다. 여기서, 회전 정보는 척추와 골반을 연결하는 관절 인 루트(root) 관절을 중심으로 하는 골반의 회전 각도 정보이다.
종래 역기구학의 경우 다리 관절의 각도 정보를 생성하고 타겟 지점에 도달하지 못할 경우, 무릎이 튀는 부자연스러운 보행 동작이 생성되거나 또는 다리의 길이를 조절하여 타겟 지점에 도달하도록 하였다. 본 발명은 사람의 보행동작과 유사하게 골반을 회전시켜 제1엔드 이펙터가 타겟 지점에 도달할 수 있도록 함으로써, 보다 자연스러운 보행 동작을 제공할 수 있다. 또한 본 발명은 후술되는 골반 이동 또는 상체 이동을 통해 보다 자연스러운 보행 동작을 제공할 수 있다.
보행 정보 생성부(133)는 보다 구체적으로 고관절과 제1엔드 이펙터의 타겟 지점(T1) 사이의 거리 및 각도 정보에 의한 제1엔드 이펙터와 고관절 사이의 거리를 이용하여 골반의 회전 정보를 생성할 수 있으며, [수학식 2]에서
Figure 112014116438619-pat00002
값을 최소화하는 r을 회전 정보로 이용할 수 있다. 컨쥬게이트 그레디언트 솔버(conjugate gradient solver)를 통해 [수학식 2]를 반복연산하여 회전 벡터 r을 산출할 수 있다.
Figure 112014116438619-pat00003
여기서,
Figure 112014116438619-pat00004
은 고관절과 타겟 지점(T1) 사이의 거리를 나타내며,
Figure 112014116438619-pat00005
은 제1엔드 이펙터와 고관절 사이의 거리를 나타낸다. a, b는 스칼라 가중치이며,
Figure 112014116438619-pat00006
는 제1엔드 이펙터에 대한 가중치로서, 0에서 1사이 값이다.
Figure 112014116438619-pat00007
는 k>0 일 때
Figure 112014116438619-pat00008
이며 그렇지 않으면 0인 연산자이다.
즉,
Figure 112014116438619-pat00009
Figure 112014116438619-pat00010
의 차이 값은 제1엔드 이펙터와 타겟 지점(T1) 사이의 거리를 나타낸다.
Figure 112014116438619-pat00011
Figure 112014116438619-pat00012
보다 크거나 같은 경우는 제1엔드 이펙터가 타겟 지점(T1)을 초과하거나 타겟 지점(T1)에 도달한 경우로서,
Figure 112014116438619-pat00013
의 값은 0이기 때문에, 골반의 회전 정보는 생성되지 않는다.
Figure 112014116438619-pat00014
Figure 112014116438619-pat00015
보다 작은 경우에는 제1엔드 이펙터가 타겟 지점(T1)에 도달하지 못한 경우로서,
Figure 112014116438619-pat00016
의 값이 0이 아니기 때문에,
Figure 112014116438619-pat00017
값을 최소화하는 r을 회전 정보가 생성될 수 있다.
한편, 본 발명에 따른 보행 동작 생성 방법은 골반의 회전 정보에 의해 제1엔드 이펙터가 타겟 지점(T1)에 도달하지 못할 경우, 타겟 지점(T1)에 대한 골반의 이동 정보를 생성하는 단계(S507)를 더 포함할 수 있다. 보행 정보 생성부(123)는 고관절과 타겟 지점(T1) 사이의 거리와, 각도 정보 및 회전 정보에 의한 제1엔드 이펙터와 고관절 사이의 거리를 이용하여 이동 정보를 생성할 수 있다. 여기서, 이동 정보는 기준점인 루트 관절 위치에 대한 골반의 변위 정보이거나 골반의 위치 정보일 수 있다.
보다 구체적으로 보행 정보 생성부(133)는 [수학식 3]을 이용하여 골반의 이동 정보를 생성할 수 있다. [수학식 3]에서
Figure 112014116438619-pat00018
값을 최소화하는 t를 이동 정보로 이용할 수 있다. 컨쥬게이트 그레디언트 솔버를 통해 [수학식 3]을 반복 연산하여 3차원 공간에서의 변위 벡터 t를 산출할 수 있다.
Figure 112014116438619-pat00019
여기서,
Figure 112014116438619-pat00020
는 고관절과 타겟 지점(T1) 사이의 거리를 나타내며,
Figure 112014116438619-pat00021
는 다리 각도 정보 및 골반 회전 정보에 의한 제1엔드 이펙터와 고관절 사이의 거리를 나타낸다. c 및 d는 스칼라 가중치이다.
[수학식 2]와 같이,
Figure 112014116438619-pat00022
의 값이 0이 아닐 때,
Figure 112014116438619-pat00023
를 최소화하는 t 값이 산출될 수 있다.
한편, 본 발명에 따른 보행 동작 생성 방법은 팔 관절에도 적용될 수 있다. 즉, 보행 정보 생성부(133)는 제2엔드 이펙터의 타겟 지점(T2)에 대한 팔 관절의 각도 정보를 생성할 수 있다. 여기서, 팔 관절은 어깨 관절, 팔꿈치 관절 및 손목 관절을 포함하며, 제2엔드 이펙터는 손 또는 손목일 수 있다.
그리고 팔 관절의 각도 정보에 의해 제2엔드 이펙터가 타겟 지점(T2)에 도달하지 못할 경우, 즉, 제2엔드 이펙터의 위치와 타겟 지점 사이(T2)의 거리가 임계 값 이상인 경우, 보행 정보 생성부(133)는 타겟 지점(T2)에 대한 상체의 회전 정보를 생성할 수 있다.
이 때, 제1엔드 이펙터는 제2엔드 이펙터에 대응되고, 고관절은 어깨 관절에 대응되며 타겟 지점(T1)은 타겟 지점(T2)에 대응된다. 그리고, 상체의 회전 정보는 명치의 위치에 대응되는 척추 관절을 중심으로 하는 회전 각도 정보일 수 있으며, 골반 회전 정보 생성 방법과 동일한 방법으로 생성될 수 있다.
한편, 전술된 단계는 엔드 이펙터가 타겟지점에 도달할 때까지 반복하여 수행될 수 있으며, 이전 단계의 결과값은 다음 단계에 이용된다. 예를 들어, 단계 S503에서 골반의 회전 각도가 생성될 때, 단계 S501에서 생성된 다리 관절의 각도 정보가 반영된다.
결국, 본 발명에 따르면 골반의 회전 및 이동과 상체의 회전을 통해 보다 자연스러운 보행 동작을 생성할 수 있다.
도 6 및 도 7은 본 발명에 따른 보행 동작을 설명하기 위한 도면이다.
도 6에서 엔드 이펙터는 발목이며, 타겟 지점은 파란 공(600)이다. 도 6(a)는 분석적 역기구학 솔버에 의한 보행 동작으로서 오른 발목이 파란 공(600)에 닿지 않는다. 반면에 본 발명에 따른 보행 동작을 도시한 도 6(b)에서는 골반이 회전 및 이동함으로써 오른발목이 파란 공(600)에 도달함을 알 수 있다.
도 7은 본 발명에 따른 보행 동작 생성 방법이 반복적으로 수행될 경우, 왼발과 타겟 지점 사이의 거리를 나타내는 도면이다. 도 7에서 가로 축은 영상 프레임을 나타내며, 세로축은 왼발 오차, 즉 왼발과 타겟 지점 사이의 거리를 나타낸다.
도 7에 도시된 바와 같이, 1회 수행시에는 최대 오차가 0.15m이상 나지만 반복될수록 오차가 줄어들며, 6회 수행시에는 거의 오차가 발생하지 않음을 알 수 있다.
도 8은 본 발명의 일실시예에 따른 보행 동작 제어 방법을 설명하기 위한 도면이다. 도 8에서는 도 1에서 설명된 보행 컨트롤러에서 수행되는 보행 동작 제어 방법이 일실시예로서 설명된다.
보행 컨트롤러(100)는 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 수신(S801)한다. 그리고 보행 동작에 대한 캡쳐 데이터를 이용하여, 지형에 따른 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성(S803)한다. 이 때, 보행 컨트롤러(100)는 지형에 대해 컨벡스 헐을 적용하여, 엔드 이펙터의 궤적 정보를 생성할 수 있다. 여기서 엔드 이펙터는 발 또는 발목일 수 있다. 그리고 골반의 궤적 정보에 대해 가우시안 필터링이 수행될 수 있다.
보행 컨트롤러(100)는 단계 S803에서 생성된 궤적 정보에 기반하여, 도 5에서 설명된 보행 동작 생성 방법에 따라, 보행 동작에 필요한 정보를 생성한다. 보다 구체적으로 보행 컨트롤러(100)는 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성(S805)하며, 타겟 지점에 대한 골반의 회전 정보를 생성(S807)한다. 이 때, 보행 컨트롤러(100)는 다리 관절의 각도 정보에 의해, 엔드 이펙터가 타겟 지점에 도달하지 못할 경우, 골반의 회전 정보를 생성할 수 있다.
한편, 회전 정보에 따른 수정된 골반의 변위를 이용하여, 골반의 궤적 정보는 갱신될 수 있다. 그리고 보행 컨트롤러(100)는 갱신된 궤적 정보에 기반하여 보행 동작에 필요한 정보를 생성한다.
앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (15)

  1. 역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 방법에 있어서,
    상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 입력받는 단계;
    엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하는 단계; 및
    상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 골반의 회전 정보를 생성하는 단계를 포함하며,
    상기 회전 정보는, 척추와 상기 골반을 연결하는 루트 관절을 중심으로 하는 상기 골반의 회전 각도 정보인
    보행 동작 생성 방법.
  2. 제 1항에 있어서,
    상기 다리 관절은
    고관절, 무릎 관절 및 발목 관절을 포함하는
    보행 동작 생성 방법.
  3. 제 2항에 있어서,
    상기 골반의 회전 정보를 생성하는 단계는
    상기 고관절과 상기 타겟 지점 사이의 거리 및 상기 각도 정보에 의한 상기 엔드 이펙터와 상기 고관절 사이의 거리를 이용하여 상기 회전 정보를 생성하는
    보행 동작 생성 방법.
  4. 삭제
  5. 제 2항에 있어서,
    상기 골반의 회전 정보에 의해 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 상기 골반의 이동 정보를 생성하는 단계
    를 더 포함하는 보행 동작 생성 방법.
  6. 제 5항에 있어서,
    상기 이동 정보는
    기준점인 루트 관절의 위치에 대한 상기 골반의 변위 정보인
    보행 동작 생성 방법.
  7. 제 5항에 있어서,
    상기 골반의 이동 정보를 생성하는 단계는
    상기 고관절과 상기 타겟 지점 사이의 거리와, 상기 각도 정보 및 회전 정보에 의한 상기 엔드 이펙터와 상기 고관절 사이의 거리를 이용하여 상기 이동 정보를 생성하는
    보행 동작 생성 방법.
  8. 제 1항에 있어서,
    상기 엔드 이펙터는
    발 또는 발목인
    보행 동작 생성 방법.
  9. 역기구학 솔버 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 방법에 있어서,
    상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 입력받는 단계;
    엔드 이펙터의 타겟 지점에 대한 팔 관절의 각도 정보를 생성하는 단계; 및
    상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 상체의 회전 정보를 생성하는 단계
    를 포함하는 보행 동작 생성 방법.
  10. 역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 제어 방법에 있어서,
    상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는 단계;
    상기 지형 정보에 따른 상기 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성하는 단계;
    상기 궤적 정보에 기반하여, 상기 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하는 단계; 및
    상기 궤적 정보에 기반하여, 상기 타겟 지점에 대한 상기 골반의 회전 정보를 생성하는 단계를 포함하며,
    상기 골반의 회전 정보를 생성하는 단계는, 상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 골반의 회전 정보를 생성하며,
    상기 회전 정보는, 척추와 상기 골반을 연결하는 루트 관절을 중심으로 하는 상기 골반의 회전 각도 정보인
    보행 동작 제어 방법.
  11. 삭제
  12. 제 10항에 있어서,
    상기 궤적 정보를 생성하는 단계는
    상기 지형 정보에 대해 컨벡스 헐(convex hull)을 적용하여, 상기 엔드 이펙터의 궤적 정보를 생성하는
    보행 동작 제어 방법.
  13. 제 10항에 있어서,
    상기 회전 정보에 따른 상기 골반의 변위를 이용하여, 상기 골반의 궤적 정보를 갱신하는 단계
    를 더 포함하는 보행 동작 제어 방법.
  14. 제 10항에 있어서,
    상기 골반의 궤적 정보에 대해 가우시안 필터링을 수행하는 단계
    를 더 포함하는 보행 동작 제어 방법.
  15. 역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 컨트롤러에 있어서,
    상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는 정보 수신부;
    상기 지형 정보에 따른 상기 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성하는 궤적 정보 생성부; 및
    상기 궤적 정보에 기반하여, 상기 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보 및 상기 골반의 회전 정보를 생성하는 역기구학 해석부를 포함하며,
    상기 역기구학 해석부는, 상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 골반의 회전 정보를 생성하며,
    상기 회전 정보는, 척추와 상기 골반을 연결하는 루트 관절을 중심으로 하는 상기 골반의 회전 각도 정보인
    보행 컨트롤러.
KR1020140169551A 2014-12-01 2014-12-01 보행 동작 생성 및 제어 방법, 보행 컨트롤러 KR101635684B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140169551A KR101635684B1 (ko) 2014-12-01 2014-12-01 보행 동작 생성 및 제어 방법, 보행 컨트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140169551A KR101635684B1 (ko) 2014-12-01 2014-12-01 보행 동작 생성 및 제어 방법, 보행 컨트롤러

Publications (2)

Publication Number Publication Date
KR20160065505A KR20160065505A (ko) 2016-06-09
KR101635684B1 true KR101635684B1 (ko) 2016-07-01

Family

ID=56138803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140169551A KR101635684B1 (ko) 2014-12-01 2014-12-01 보행 동작 생성 및 제어 방법, 보행 컨트롤러

Country Status (1)

Country Link
KR (1) KR101635684B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102052110B1 (ko) * 2018-05-24 2019-12-04 군산대학교 산학협력단 딥 러닝에 기반하여 농축산 도난을 감지하는 영상 감시 장치 및 그 방법
CN110139115B (zh) * 2019-04-30 2020-06-09 广州虎牙信息科技有限公司 基于关键点的虚拟形象姿态控制方法、装置及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036093A (ko) * 2009-03-03 2009-04-13 목원대학교 산학협력단 휴머노이드 로봇의 보행 안정성을 위한 골반기구 메커니즘

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Ali, Fariz; Kawamura, Atsuo, ‘Diagonal Walking Strategy on Inclined Floor with Orientation Based Inverse Kinematics for Biped Robot’, International Journal of Mechanical & Mechatronics Engineering, Au*
김창환 외 3명, ‘단순인체모델 기반 휴머노이드의 인간형 전신동작 생성’. 로봇공학회 논문지 제3권 4호 (통권10호) 2008.12., pp287-299*
이보훈 외 3명, ‘비평탄 지형에서 이족로봇의 강인한 보행 알고리즘’, 대한전자공학회, 전자공학회논문지-SC 48(4), 2011.7, pp33-39

Also Published As

Publication number Publication date
KR20160065505A (ko) 2016-06-09

Similar Documents

Publication Publication Date Title
Mordatch et al. Robust physics-based locomotion using low-dimensional planning
Muico et al. Contact-aware nonlinear control of dynamic characters
CN108876815B (zh) 骨骼姿态计算方法、人物虚拟模型驱动方法及存储介质
Al Borno et al. Trajectory optimization for full-body movements with complex contacts
KR101098834B1 (ko) 동역학 기반 동작 생성 장치 및 방법
US9449416B2 (en) Animation processing of linked object parts
US20100030532A1 (en) System and methods for digital human model prediction and simulation
JP4392448B2 (ja) 直列連鎖システムにおける未知動作を予測するシステムおよびその方法
US9427868B1 (en) Method for developing and controlling a robot to have movements matching an animation character
Kenwright Responsive biped character stepping: When push comes to shove
JP2022518970A (ja) 異種のターゲットアニメーションデータを使用してキャラクタをトレーニングする強化学習
KR20220025023A (ko) 애니메이션 처리 방법 및 장치, 컴퓨터 저장 매체 그리고 전자 디바이스
Felis et al. Synthesis of full-body 3-d human gait using optimal control methods
TWI473036B (zh) The system and method of automatic adaptation of terrain to virtual terrain
JP2010221395A (ja) モーションキャプチャデータを模倣するロボットの追跡及びバランス維持システム及び方法
Kenwright Real-Time Reactive Biped Characters: Staying Upright and Balanced
JP2022551218A (ja) 動的計画コントローラ
Yamane et al. Control-aware mapping of human motion data with stepping for humanoid robots
Ramos et al. Dynamic motion capture and edition using a stack of tasks
KR101635684B1 (ko) 보행 동작 생성 및 제어 방법, 보행 컨트롤러
Nakaoka et al. Interaction mesh based motion adaptation for biped humanoid robots
KR102317949B1 (ko) 객체의 모션을 생성하는 방법 및 장치
Cooper et al. Realtime, physics-based marker following
JP2006068871A (ja) 脚式ロボットとその制御方法ならびに歩容データの作成装置と作成方法
US20120223953A1 (en) Kinematic Engine for Adaptive Locomotive Control in Computer Simulations

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