KR20160065505A - Method for Generating and controlling Locomotion, Locomotion Controller - Google Patents

Method for Generating and controlling Locomotion, Locomotion Controller Download PDF

Info

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

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

Disclosed are a method for generating and controlling a walking motion on a virtual character or a robot using an inverse kinematics solver, and a walking controller. The method for generating a walking motion comprises the following steps: receiving capture data on the virtual character or the robot; generating angle information of a leg joint on a target position of an end effector; and generating rotation information of a pelvis on the target position by the angle information when the end effector does not reach the target position.

Description

보행 동작 생성 및 제어 방법, 보행 컨트롤러{Method for Generating and controlling Locomotion, Locomotion Controller}[0001] The present invention relates to a method for generating and controlling a walking motion,

본 발명은 보행 동작 생성 및 제어 방법, 보행 컨트롤러에 관한 것으로서, 더욱 상세하게는 역기구학 솔버를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 및 제어 방법, 보행 컨트롤러에 관한 것이다.
The present invention relates to a walking motion generating and controlling method and a walking controller, and more particularly, to a walking maneuver generation and control method for a virtual character or a robot using an inverse kinematic solver and a walking controller.

컴퓨터 애니메이션에서 가상 캐릭터의 자연스러운 동작들을 생성하거나 로봇의 자연스로운 동작을 생성하기 위해 많은 비용이 소모된다. 예를 들어, 숙력된 애니메이터의 수작업이나 모션 캡쳐 장비를 이용하여 동작을 촬영하고, 보정을 통해서 보행 동작 등이 생성된다. 또는 역기구학 솔버(inverse kinematics solver)를 통해 보행 동작이 생성된다.In computer animation, it takes a lot of money to create the natural motion of the virtual character or to create the natural motion of the robot. For example, an operation is photographed using a manual animation of an experienced animator or a motion capture device, and a gait operation is generated through correction. Or an inverse kinematics solver to generate a gait motion.

역기구학 솔버는 손이나 발과 같은 엔드-이펙터(end-effecter)가 목표한 위치에 정확하게 위치하도록 하기 위해, 관절들의 각도를 계산하는 도구이다. 수치적 최적화 기반 역기구학 솔버는 캐릭터의 전체 자유도에 대한 해결책을 찾기 위해 사용되며, 다양한 기능을 제공하지만 분석적인 역기구학 솔버에 비해 상대적으로 속도가 느리다. 데이터베이스를 이용하는 역기구학 솔버의 경우, 데이터베이스로부터 자연스러운 자세의 영역을 배우고 넓은 영역의 새로운 자세를 생성하기 위해 사용될 수 있다.The inverse kinematic solver is a tool for calculating the angles of the joints so that the end-effector, such as a hand or foot, is precisely positioned at the desired location. A numerical optimization-based inverse kinematic solver is used to find a solution to the total degree of freedom of the character and provides a variety of functions, but is relatively slow compared to analytical inverse kinematic solvers. In the case of an inverse kinematic solver that uses a database, it can be used to learn the natural posture from the database and create a new posture over a large area.

이와 같이, 역기구학 솔버를 이용하여 보행 동작을 생성하는 기술과 관련 선행문헌으로 대한민국 공개특허 제2010-0133232호가 있다.As described above, Korean Patent Publication No. 2010-0133232 discloses a technique for generating a gait using an inverse kinematic solver and a related prior art document.

종래의 경우, 지형에 적응적으로 보행 동작을 생성하지 않으며, 평지가 아닌 계단 또는 경사진 지역에서 무릎이 튀는 등 보행 동작이 부자연스러운 단점이 있다. 부자연스러운 보행 동작을 해결하기 위해 다리 길이를 조절하는 방법등이 사용되는데, 이러한 방법의 경우 로봇 시뮬레이션 영역에는 적합하지 못하다.Conventionally, there is a disadvantage in that the walking motion is not adaptively generated to the terrain, and the walking motion is unnatural such as kneeling in a staircase or a sloping area, which is not flat. And a method of adjusting the leg length to solve an unnatural walking motion, etc., are not suitable for the robot simulation area.

외부 환경에 따라 실시간으로 보행 동작이 수정되어야 하는 이족 보행 로봇 시뮬레이션 영역이나, 실감나는 그래픽 효과를 제공해야 하는 가상 캐릭터를 이용하는 게임 분야에서, 모두 이용 가능하며, 자연스럽고 지형에 적응적인 보행 동작을 생성할 수 있는 방법에 대한 연구가 필요하다.
It can be used both in the bipedal robot simulation area where the walking motion needs to be corrected in real time according to the external environment or in the game field using the virtual character to provide the realistic graphic effect, and generates a natural, There is a need for research on how to do this.

본 발명은 역기구학 솔버를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 및 제어 방법, 보행 컨트롤러를 제공하기 위한 것이다.
The present invention is to provide a gait controller for generating and controlling a gait motion for a virtual character or robot using an inverse kinematic solver.

상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 방법에 있어서, 상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 입력받는 단계; 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하는 단계; 및 상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 골반의 회전 정보를 생성하는 단계를 포함하는 보행 동작 생성 방법을 제공한다.According to an aspect of the present invention, there is provided a method for generating a walking motion for a virtual character or robot using an inverse kinematics solver, the method comprising: Receiving an input; Generating angle information of a leg joint with respect to a target point of the end effector; And generating rotation information of the pelvis with respect to the target point when the end effector fails to reach the target point, based on the angle information.

또한 상기한 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 역기구학 솔버 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 방법에 있어서, 상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 입력받는 단계; 엔드 이펙터의 타겟 지점에 대한 팔 관절의 각도 정보를 생성하는 단계; 및 상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 상체의 회전 정보를 생성하는 단계를 포함하는 보행 동작 생성 방법을 제공한다.According to another aspect of the present invention, there is provided a method for generating a gait operation for a virtual character or a robot using an inverse kinematic solver, the method comprising: receiving capture data for the virtual character or the robot; Generating angular information of an arm joint with respect to a target point of the end effector; And generating rotation information of the upper body with respect to the target point when the end effector can not reach the target point by the angle information.

또한 상기한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따르면, 역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 제어 방법에 있어서, 상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는 단계; 상기 지형 정보에 따른 상기 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성하는 단계; 상기 궤적 정보에 기반하여, 상기 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하는 단계; 및 상기 궤적 정보에 기반하여, 상기 타겟 지점에 대한 상기 골반의 회전 정보를 생성하는 단계를 포함하는 보행 동작 제어 방법을 제공한다.According to another aspect of the present invention, there is provided a method for controlling a virtual character or a robot using an inverse kinematics solver, the method comprising: Receiving data and terrain information; Generating end effector of the captured data and locus information of the pelvis according to the topographic information; Generating angle information of a leg joint with respect to a target point of the end effector based on the locus information; And generating rotation information of the pelvis with respect to the target point based on the locus information.

또한 상기한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따르면, 역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 컨트롤러에 있어서, 상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는 정보 수신부; 상기 지형 정보에 따른 상기 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성하는 궤적 정보 생성부; 및 상기 궤적 정보에 기반하여, 상기 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보 및 상기 골반의 회전 정보를 생성하는 역기구학 해석부를 포함하는 보행 컨트롤러를 제공한다.
According to another aspect of the present invention, there is provided a walking controller for a virtual character or robot using an inverse kinematics solver, the controller comprising: An information receiving unit for receiving the terrain information; A trajectory information generating unit for generating trajectory information of an end effector and a pelvis of the captured data according to the terrain information; And an inverse kinematic analysis unit for generating angle information of a leg joint with respect to a target point of the end effector and rotation information of the pelvis based on the locus information.

본 발명에 따르면, 역기구학을 이용하여, 보행 동작에 필요한 다리 관절의 각도 정보를 생성할 뿐만 아니라, 골반의 회전을 함께 고려함으로써 자연스러운 보행동작을 생성할 수 있다. According to the present invention, it is possible to generate a natural walking motion by using the inverse kinematics to not only generate the angle information of the leg joint necessary for the walking operation but also consider the rotation of the pelvis.

또한 본 발명에 따르면, 지형에 따라 엔드 이펙터 및 골반의 궤적 정보를 생성하고, 궤적 정보에 기반하여 다리 관절 각도 및 골반의 회전 각도를 산출함으로써, 지형에 적응적인 보행 동작을 생성 및 제어할 수 있다.
According to the present invention, the trajectory information of the end effector and the pelvis is generated according to the terrain, and the leg joint angle and the pelvis rotation angle are calculated based on the trajectory information, thereby generating and controlling the walking operation adaptable to the terrain .

도 1은 본 발명의 일실시예에 따른 보행 컨트롤러를 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 엔드 이펙터 궤적 정보 생성 방법을 설명하기 위한 도면이다.
도 3 및 도 4는 본 발명의 다른 실시예에 따른 골반 궤적 정보 생성 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 보행 동작 생성 방법을 설명하기 위한 도면이다.
도 6 및 도 7은 본 발명에 따른 보행 동작을 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 따른 보행 동작 제어 방법을 설명하기 위한 도면이다.
1 is a view for explaining a walking controller according to an embodiment of the present invention.
2 is a view for explaining a method of generating end effector trajectory information according to an embodiment of the present invention.
3 and 4 are views for explaining a method of generating pelvis locus information according to another embodiment of the present invention.
5 is a diagram for explaining a walking motion generating method according to an embodiment of the present invention.
6 and 7 are views for explaining a walking operation according to the present invention.
8 is a view for explaining a walking operation control method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

본 발명은 역기구학 솔버를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 및 제어 방법, 보행 컨트롤러를 제안한다.The present invention proposes a gait generation and control method for a virtual character or robot using an inverse kinematic solver, and a gait controller.

본 발명은 역기구학을 이용하여, 보행 동작에 필요한 다리 관절의 각도 정보를 생성할 뿐만 아니라, 골반의 회전을 함께 고려함으로써 자연스러운 보행동작을 생성할 수 있다. 즉, 본 발명에 따르면 다리 관절의 각도 정보에 따라 엔드 이펙터가 타겟 지점에 도달하지 못하는 경우, 골반을 회전시킴으로써 엔드 이펙터가 타겟 지점에 도달할 수 있도록 한다.The present invention can generate a natural walking motion by using the inverse kinematics to not only generate the angle information of the leg joint necessary for the walking operation but also consider the rotation of the pelvis together. That is, according to the present invention, when the end effector does not reach the target point according to the angle information of the leg joint, the end effector can reach the target point by rotating the pelvis.

또한 본 발명은 지형에 따라 엔드 이펙터 및 골반의 궤적 정보를 생성하고, 궤적 정보에 기반하여 전술된 방법에 따라 다리 관절 각도 및 골반의 회전 각도를 산출함으로써, 지형에 적응적인 보행 동작을 생성 및 제어할 수 있다.According to the present invention, the end effector and the pelvis trajectory information is generated according to the terrain, and the leg joint angle and the pelvis rotation angle are calculated according to the above-described method based on the trajectory information, can do.

본 발명에 따른 보행 동작 생성 방법 및 제어 방법은 프로세서(processor)를 포함하는 전자 장치(electronic device), 예를 들어, PC, 노트북, 서버, 로봇 및 모바일 디바이스 등에서 수행될 수 있다. 또한 본 명세서에서 언급되는 하드웨어 관점의 설명은 프로세스적인 관점에서 용이하게 해석될 수 있으며, 프로세스 관점의 설명은 하드웨어적인 관점에서 용이하게 해석될 수 있다.A method and a control method for generating a walking motion according to the present invention can be performed in an electronic device including a processor, for example, a PC, a notebook, a server, a robot and a mobile device. Further, the description of the hardware aspects referred to in this specification can be easily interpreted from a process viewpoint, and the description of the process viewpoint can be easily interpreted from a hardware point of view.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 보행 컨트롤러를 설명하기 위한 도면이다. 1 is a view for explaining a walking controller according to an embodiment of the present invention.

본 발명에 따른 보행 컨트롤러(100)는 역기구학 솔버(inverse kinematics solver)를 이용하여 가상 캐릭터 또는 로봇에 대한 보행 동작을 제어한다. 보행 컨트롤러(100)는 로봇의 보행 동작 시뮬레이터에 포함되거나 또는 로봇의 보행 동작 시뮬레이터로 정보를 제공할 수 있다. 또는 보행 컨트롤러(100)는 보행하는 가상 캐릭터를 직접 생성하거나, 제어할 수 있다. The walking controller 100 according to the present invention controls a walking operation for a virtual character or a robot using an inverse kinematics solver. The walking controller 100 may be included in a walking motion simulator of the robot or may provide information to a walking motion simulator of the robot. Alternatively, the walking controller 100 can directly generate or control the virtual character to walk.

본 발명에 따른 보행 컨트롤러(100)는 도 1에 도시된 바와 같이, 정보 수신부(110), 궤적 정보 생성부(120) 및 역기구학 해석부(130)를 포함한다. The walking controller 100 according to the present invention includes an information receiving unit 110, a locus information generating unit 120, and an inverse kinematics analyzing unit 130, as shown in FIG.

정보 수신부(110)는 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는다. 캡쳐 데이터는 예를 들어, 가상 캐릭터 생성을 위해 보행 동작에 대한 모션 캡쳐를 통해 제공될 수 있다. The information receiving unit 110 receives the capture data and the terrain information for the virtual character or the robot. The capture data may be provided, for example, via motion capture for a walking motion for virtual character generation.

궤적 정보 생성부(120)는 보행 동작에 대한 캡쳐 데이터를 예제 동작(reference motion)으로서 이용하여, 지형에 따른 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성한다. 궤적 정보 생성부(120)는 사용자로부터 입력되는 보행 조건, 예를 들어 보행 속도, 보행 방향에 따라 궤적 정보를 생성할 수 있다. 또한 엔드 이펙터는 발 또는 발목일 수 있다.The trajectory information generating unit 120 generates the end effector of the captured data and the trajectory information of the pelvis using the captured data of the walking operation as the reference motion. The locus information generating unit 120 can generate locus information according to a walking condition input from a user, for example, a walking speed and a walking direction. The end effector can also be a foot or an ankle.

실시예에 따라, 궤적 정보 생성부(120)는 역진자 궤적 생성기(Pendulum Trajectory Generator, 121), 보폭 계산부(123) 및 지형 적응부(125)를 포함할 수 있다.The locus information generating unit 120 may include a pendulum trajectory generator 121, a stride computing unit 123, and a terrain adaptation unit 125. [

역진자 궤적 생성기(121)는, IPC(Inverted pendulum on a cart) 모델을 이용를 이용하여, 사용자 입력으로 인해캡쳐 데이터가 넘어지지 않도록 하기 위한 역진자 궤적을 생성한다. 가상 캐릭터가 사용자 입력에 따라 방향 전환, 빠른 걸음 등을 할 때 무게중심이 달라지기 때문에 실제 캡쳐 데이터와 차이가 발생하므로 생성된 역진자 궤적에 맞도록 캡쳐 데이터를 변형하는 과정이 필요하다. 초기 역진자 상태(Pendulum State)로부터 원하는 속도 및 회전 속도를 사용자로부터 입력받아, 넘어지지 않도록 극의 균형을 잡으며, 원하는 속도로 이동이 가능하도록 카트의 위치를 변경하여 역진자 궤적을 생성할 수 있다.The inverse pendulum trajectory generator 121 generates an inverse pendulum trajectory by using an invert pendulum on a cart (IPC) model to prevent the captured data from falling due to user input. Since the center of gravity is changed when the virtual character changes direction or fast step according to the user's input, there is a difference from the actual capture data. Therefore, it is necessary to modify the captured data to match the generated inverse pendulum trajectory. The reverse pendulum trajectory can be generated by changing the position of the cart so as to receive the desired speed and rotation speed from the initial pendulum state, balance the poles so that they do not fall, and move at a desired speed .

보폭 계산부(123)는 동작 계획자(planner)를 사용하여, 역진자 궤적으로부터 캡쳐 데이터의 발자국 위치를 획득하고 보폭을 계산할 수 있으며, 이를 통해 평지와 같은 환경에서의 엔트 이펙터 및 골반의 궤적이 생성될 수 있다.The stride calculator 123 can obtain the position of the footprint of the captured data from the inverse pendulum trajectory and calculate the stride length using an operation planner, thereby generating an ent effector and a locus of the pelvis in an environment such as a flat ground .

지형 적응부(125)는 지형 데이터를 이용하여, 캡쳐 데이터의 엔트 이펙터 및 골반의 궤적을 수정한다. 지형 적응부(125)는 지형에 대해 컨벡스 헐을 이용하여 엔드 이펙트의 궤적 정보를 생성할 수 있다. 엔드 이펙트 및 골반의 궤적 정보 생성 방법은 도 2 내지 도 4에서 자세히 설명된다.The terrain adaptation unit 125 corrects the entropy effect of the captured data and the trajectory of the pelvis using the terrain data. The terrain adaptation unit 125 may generate the trajectory information of the end effect using the convex hull for the terrain. The end effect and the method of generating the locus information of the pelvis are described in detail in Figs.

역기구학 해석부(130)는 궤적 정보에 기반하여, 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하며, 골반의 타켓 지점에 대한 골반의 회전 정보를 생성한다. 역기구학 해석부(130)는 실시예에 따라서, 골반 궤적 수정부(131) 및 보행 정보 생성부(133)를 포함할 수 있다.The inverse kinematic analysis unit 130 generates angular information of a leg joint with respect to a target point of the end effector based on the locus information and generates rotation information of the pelvis to a target point of the pelvis. The inverse kinematic analysis unit 130 may include a pelvis locus correcting unit 131 and a walking information generating unit 133 according to the embodiment.

골반 궤적 수정부(131)는 궤적 정보 생성부(120)에서 생성된 골반의 궤적 정보에 대해 가우시안 필터링(Gaussian Filtering)을 수행하여, 골반 궤적을 수정할 수 있다. 그리고 보행 정보 생성부(133)는 도 5에서 자세히 설명되는, 본 발명에 따른 보행 동작 생성 방법에 의해 각도 정보 및 회전 정보를 생성할 수 있다. The pelvis locus corrector 131 may perform Gaussian filtering on the locus information of the pelvis generated by the locus information generation unit 120 to correct the pelvis locus. The walking information generating unit 133 can generate the angle information and the rotation information according to the walking motion generating method according to the present invention, which is described in detail in FIG.

골반 궤적 수정부(131)와 보행 정보 생성부(133)는 서로 정보를 송수신하며, 정보를 갱신한다. 골반 궤적 수정부(131)는 회전 정보에 따른 골반의 변위를 이용하여, 골반의 궤적 정보를 갱신하며, 보행 정보 생성부(133)는 갱신된 궤적 정보에 기반하여 각도 정보 및 회전 정보를 갱신할 수 있다.The pelvis locus correcting unit 131 and the walking information generating unit 133 exchange information with each other and update the information. The pelvis locus corrector 131 updates the locus information of the pelvis using the displacement of the pelvis according to the rotation information, and the gait information generator 133 updates the angle information and the rotation information based on the updated locus information .

본 발명에 따른 보행 컨트롤러(100)는 보행 정보 생성부(133)에서 생성된 정보를 이용하여, 보행 동작을 생성 및 제어할 수 있다. 실시예에 따라서 보행 동작 생성 및 제어 각각은 분리된 디바이스에서 수행될 수 있다.The walking controller 100 according to the present invention can generate and control the walking operation using the information generated by the walking information generator 133. [ Depending on the embodiment, each of the gait generation and control may be performed in a separate device.

본 발명에 따르면, 보행 동작에 대한 캡쳐 데이터와 같은 예제 동작을 이용하여, 지형에 적응적인 자연스러운 보행 동작을 생성 및 제어할 수 있다.
According to the present invention, it is possible to generate and control a natural walking motion adaptable to the terrain, using an example operation such as the capture data for the walking motion.

도 2는 본 발명의 일실시예에 따른 엔드 이펙터 궤적 정보 생성 방법을 설명하기 위한 도면이다. 도 2에서는 계단 지형에 따른 발의 궤적 정보 생성이 일실시예로서 설명된다.2 is a view for explaining a method of generating end effector trajectory information according to an embodiment of the present invention. In FIG. 2, the generation of foot trace information according to the step topography is described as an embodiment.

지형 적응부(125)는 궤적 정보 생성부(120)에 의해 생성된, 발자국(current footstep, next footstep)에 따른 발의 초기 궤적 곡선(a)을 컨벡스 헐(b)에 따라 수정하여, 최적화된 궤적 곡선(d)을 생성한다. 즉, 지형 적응부(125)는 예제 동작에 대한 초기 궤적 정보를 따라서, 지형의 높이를 추출(sampling)하여 컨벡스 헐(b)로 단순화함으로써, 최적화된 궤적 곡선(d)을 생성할 수 있다. 지형 적응부(125)는 초기 궤적 곡선(a)과 최적화된 궤적 곡선(d)을 혼합하여, 지형에 따른 궤적 정보를 생성할 수 있다.The terrain adaptation unit 125 corrects the initial trajectory curve a of the foot corresponding to the footstep (next footstep) generated by the trajectory information generation unit 120 according to the convex hull b, And generates curve d. That is, the terrain adaptation unit 125 can generate an optimized trajectory curve d by sampling the height of the terrain according to the initial trajectory information for the example operation, and simplifying it to the convex hull b. The terrain adaptation unit 125 may generate the trajectory information according to the terrain by mixing the initial trajectory curve a and the optimized trajectory curve d.

컨벡스 헐(b)을 통해 획득되는 구분적 선형 곡선 (piece-wise linear curve)은 바로 사용할 수 있을 정도로 부드럽지 않기 때문에, 제약점(c)을 이용해 최적화가 진행된다. 제약점(c)은 컨벡스 헐(b)의 상부 지지 정점으로서, 이전 발바닥 위치에서 다음 발바닥 위치까지의 컨벡스 헐의 상부에 위치한 선들을 잇는 점들이다.The piece-wise linear curve obtained through the convex hull (b) is not smooth enough to be used immediately, so optimization proceeds with constraint point (c). The constraint point (c) is the upper support vertex of the convex hull (b), connecting the lines located at the top of the convex hull from the previous plant position to the next plant position.

결국, 지형 적응부(125)는 [수학식 1]을 이용하여 최적화된 궤적 곡선(d)을 생성할 수 있다. [수학식 1]은 유한 차분법 및 최소 제곱법에 의해 해석될 수 있으며, S가 최소가되는 곡선이 최적화된 궤적 곡선(d)이 될 수 있다. 이 때, 전술된 제약점(c)이 제약 조건이 된다. As a result, the terrain adaptation unit 125 can generate an optimized trajectory curve d using Equation (1). Equation (1) can be interpreted by a finite difference method and a least squares method, and a curve in which S is minimized can be an optimized trajectory curve (d). At this time, the above-described constraint point (c) becomes a constraint condition.

Figure pat00001
Figure pat00001

여기서, t는 보행 동작을 구성하는 프레임을 나타내며, x는 곡선의 높이 값이다.Here, t represents the frame constituting the walking operation, and x is the height value of the curve.

도 3 및 도 4는 본 발명의 다른 실시예에 따른 골반 궤적 정보 생성 방법을 설명하기 위한 도면이다. 도 3에서는 계단 지형에 따른 골반의 궤적 정보 생성이 일실시예로서 설명된다.3 and 4 are views for explaining a method of generating pelvis locus information according to another embodiment of the present invention. In Fig. 3, locus information generation of the pelvis along the step topography is described as an embodiment.

지형 적응부(125)는 발자국을 잇는 구분적 선형 곡선(a)과, 궤적 정보 생성부(120)에 의해 생성된, 캡쳐 데이터의 보행 동작에 따른 골반의 초기 궤적 곡선(b)을 혼합하여, 골반의 궤적 정보(c)를 생성한다.The terrain adaptation unit 125 mixes the segmented linear curve a connecting the footprint and the initial trajectory curve b of the pelvis generated by the trajectory information generation unit 120 according to the walking motion of the captured data, And generates the locus information (c) of the pelvis.

골반의 궤적 정보(c)에 의해 보행 동작이 이루어질 경우, 골반이 부자연스럽게 이동하거나, 골반의 궤적 정보(c)와 발의 궤적 정보 사이에서 무릎 관절이 부자연스럽게 움직일 수 있으므로, 골반 궤적 수정부(131)는 생성된 골반의 궤적 정보(c)를 부드럽게 처리하기 위해, 즉, 평활화하기 위해 가우시안 필터링을 수행할 수 있다. Since the pelvis moves unnaturally when the walking operation is performed by the pelvis locus information (c), or the knee joint can move unnaturally between the pelvis locus information (c) and the foot locus information, the pelvis locus corrector 131 May perform Gaussian filtering to smoothly process, i.e. smooth, the locus information c of the generated pelvis.

도 4에 도시된 바와 같이, 평활화 전(a)에는 무릎 관절이 일자로 펴지지만, 평활화 후(b)에는 무릅 관절이 자연스럽게 구부러지며 보다 자연스러운 보행 동작이 생성될 수 있다.
As shown in FIG. 4, the knee joint is straightened before the smoothing (a), but after the smoothing (b), the knee joint is naturally curved and a more natural walking motion can be generated.

도 5는 본 발명의 일실시예에 따른 보행 동작 생성 방법을 설명하기 위한 도면이다.5 is a diagram for explaining a walking motion generating method according to an embodiment of the present invention.

보행 정보 생성부(133)는 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 수신, 즉 입력(S501)받는다. 그리고 캡쳐 데이터 제1엔드 이펙터의 타겟 지점(T1)에 대한 다리 관절의 각도 정보를 생성(S503)한다. 여기서, 다리 관절은 고관절, 무릎 관절 및 발목 관절을 포함하며, 제1엔드 이펙터는 발 또는 발목일 수 있다.The walk information generating unit 133 receives the capture data for the virtual character or the robot, that is, receives the input (S501). Then, the angle information of the leg joint with respect to the target point T1 of the first end effector of the captured data is generated (S503). Here, the leg joint includes a hip joint, a knee joint, and an ankle joint, and the first end effector may be a foot or an ankle.

보행 정보 생성부(133)는 각도 정보에 의해, 제1엔드 이펙터가 타겟 지점(T1)에 도달하지 못할 경우, 즉, 제1엔드 이펙터의 위치와 타겟 지점 사이(T1)의 거리가 임계 값 이상인 경우, 타겟 지점(T1)에 대한 골반의 회전 정보를 생성(S505)한다. 여기서, 회전 정보는 척추와 골반을 연결하는 관절 인 루트(root) 관절을 중심으로 하는 골반의 회전 각도 정보이다. When the first end effector can not reach the target point T1 due to the angle information, that is, the distance between the position of the first end effector and the target point T1 is equal to or larger than the threshold value , The rotation information of the pelvis with respect to the target point T1 is generated (S505). Here, the rotation information is rotation angle information of the pelvis centered around the root joint, which is a joint connecting the vertebrae and the pelvis.

종래 역기구학의 경우 다리 관절의 각도 정보를 생성하고 타겟 지점에 도달하지 못할 경우, 무릎이 튀는 부자연스러운 보행 동작이 생성되거나 또는 다리의 길이를 조절하여 타겟 지점에 도달하도록 하였다. 본 발명은 사람의 보행동작과 유사하게 골반을 회전시켜 제1엔드 이펙터가 타겟 지점에 도달할 수 있도록 함으로써, 보다 자연스러운 보행 동작을 제공할 수 있다. 또한 본 발명은 후술되는 골반 이동 또는 상체 이동을 통해 보다 자연스러운 보행 동작을 제공할 수 있다.In the case of conventional inverse kinematics, when angle information of the leg joint is generated and the target point is not reached, an unnatural walking motion in which the knee bounces is generated or the leg length is adjusted to reach the target point. The present invention can provide a more natural gait operation by allowing the first end effector to reach the target point by rotating the pelvis similarly to a human gait operation. Further, the present invention can provide a more natural gait operation through the pelvis movement or the upper body movement, which will be described later.

보행 정보 생성부(133)는 보다 구체적으로 고관절과 제1엔드 이펙터의 타겟 지점(T1) 사이의 거리 및 각도 정보에 의한 제1엔드 이펙터와 고관절 사이의 거리를 이용하여 골반의 회전 정보를 생성할 수 있으며, [수학식 2]에서

Figure pat00002
값을 최소화하는 r을 회전 정보로 이용할 수 있다. 컨쥬게이트 그레디언트 솔버(conjugate gradient solver)를 통해 [수학식 2]를 반복연산하여 회전 벡터 r을 산출할 수 있다.More specifically, the walking information generating unit 133 generates the rotation information of the pelvis using the distance between the first end effector and the hip joint based on the distance between the hip joint and the target point T1 of the first end effector and the angle information In Equation 2,
Figure pat00002
R which minimizes the value can be used as rotation information. The rotation vector r can be calculated by repeating [Equation 2] through the conjugate gradient solver.

Figure pat00003
Figure pat00003

여기서,

Figure pat00004
은 고관절과 타겟 지점(T1) 사이의 거리를 나타내며,
Figure pat00005
은 제1엔드 이펙터와 고관절 사이의 거리를 나타낸다. a, b는 스칼라 가중치이며,
Figure pat00006
는 제1엔드 이펙터에 대한 가중치로서, 0에서 1사이 값이다.
Figure pat00007
는 k>0 일 때
Figure pat00008
이며 그렇지 않으면 0인 연산자이다.here,
Figure pat00004
Represents the distance between the hip joint and the target point T1,
Figure pat00005
Represents the distance between the first end effector and the hip joint. a and b are scalar weights,
Figure pat00006
Is a weight for the first end effector, and is a value between 0 and 1.
Figure pat00007
When k> 0
Figure pat00008
Otherwise 0.

즉,

Figure pat00009
Figure pat00010
의 차이 값은 제1엔드 이펙터와 타겟 지점(T1) 사이의 거리를 나타낸다.
Figure pat00011
Figure pat00012
보다 크거나 같은 경우는 제1엔드 이펙터가 타겟 지점(T1)을 초과하거나 타겟 지점(T1)에 도달한 경우로서,
Figure pat00013
의 값은 0이기 때문에, 골반의 회전 정보는 생성되지 않는다.
Figure pat00014
Figure pat00015
보다 작은 경우에는 제1엔드 이펙터가 타겟 지점(T1)에 도달하지 못한 경우로서,
Figure pat00016
의 값이 0이 아니기 때문에,
Figure pat00017
값을 최소화하는 r을 회전 정보가 생성될 수 있다.In other words,
Figure pat00009
Wow
Figure pat00010
Represents the distance between the first end effector and the target point T1.
Figure pat00011
end
Figure pat00012
Is greater than or equal to the target end point T1, the first end effector exceeds the target point T1 or reaches the target point T1,
Figure pat00013
The rotation information of the pelvis is not generated.
Figure pat00014
end
Figure pat00015
When the first end effector does not reach the target point T1,
Figure pat00016
Is not 0,
Figure pat00017
Rotation information that minimizes the value r can be generated.

한편, 본 발명에 따른 보행 동작 생성 방법은 골반의 회전 정보에 의해 제1엔드 이펙터가 타겟 지점(T1)에 도달하지 못할 경우, 타겟 지점(T1)에 대한 골반의 이동 정보를 생성하는 단계(S507)를 더 포함할 수 있다. 보행 정보 생성부(123)는 고관절과 타겟 지점(T1) 사이의 거리와, 각도 정보 및 회전 정보에 의한 제1엔드 이펙터와 고관절 사이의 거리를 이용하여 이동 정보를 생성할 수 있다. 여기서, 이동 정보는 기준점인 루트 관절 위치에 대한 골반의 변위 정보이거나 골반의 위치 정보일 수 있다.In the meantime, when the first end effector does not reach the target point T1 due to the rotation information of the pelvis, the walking motion generating method according to the present invention may include generating the movement information of the pelvis with respect to the target point T1 (S507 ). The walking information generating unit 123 can generate the movement information using the distance between the hinge and the target point T1 and the distance between the first end effector and the hip joint based on the angle information and the rotation information. Here, the movement information may be the displacement information of the pelvis relative to the root joint position, which is the reference point, or the position information of the pelvis.

보다 구체적으로 보행 정보 생성부(133)는 [수학식 3]을 이용하여 골반의 이동 정보를 생성할 수 있다. [수학식 3]에서

Figure pat00018
값을 최소화하는 t를 이동 정보로 이용할 수 있다. 컨쥬게이트 그레디언트 솔버를 통해 [수학식 3]을 반복 연산하여 3차원 공간에서의 변위 벡터 t를 산출할 수 있다.More specifically, the walking information generating unit 133 can generate the pelvis movement information using Equation (3). In Equation (3)
Figure pat00018
T, which minimizes the value, can be used as movement information. The displacement vector t in the three-dimensional space can be calculated by repeating [Equation 3] through the conjugate gradient solver.

Figure pat00019
Figure pat00019

여기서,

Figure pat00020
는 고관절과 타겟 지점(T1) 사이의 거리를 나타내며,
Figure pat00021
는 다리 각도 정보 및 골반 회전 정보에 의한 제1엔드 이펙터와 고관절 사이의 거리를 나타낸다. c 및 d는 스칼라 가중치이다.here,
Figure pat00020
Represents the distance between the hip joint and the target point T1,
Figure pat00021
Represents the distance between the first end effector and the hip joint by the leg angle information and the pelvis rotation information. c and d are scalar weights.

[수학식 2]와 같이,

Figure pat00022
의 값이 0이 아닐 때,
Figure pat00023
를 최소화하는 t 값이 산출될 수 있다.As shown in Equation (2)
Figure pat00022
Is not 0,
Figure pat00023
Lt; / RTI > can be computed.

한편, 본 발명에 따른 보행 동작 생성 방법은 팔 관절에도 적용될 수 있다. 즉, 보행 정보 생성부(133)는 제2엔드 이펙터의 타겟 지점(T2)에 대한 팔 관절의 각도 정보를 생성할 수 있다. 여기서, 팔 관절은 어깨 관절, 팔꿈치 관절 및 손목 관절을 포함하며, 제2엔드 이펙터는 손 또는 손목일 수 있다.Meanwhile, the walking motion generating method according to the present invention can be applied to the arm joints. That is, the walking information generating unit 133 may generate the angle information of the arm joint with respect to the target point T2 of the second end effector. Here, the arm joint includes the shoulder joint, the elbow joint and the wrist joint, and the second end effector may be a hand or a wrist.

그리고 팔 관절의 각도 정보에 의해 제2엔드 이펙터가 타겟 지점(T2)에 도달하지 못할 경우, 즉, 제2엔드 이펙터의 위치와 타겟 지점 사이(T2)의 거리가 임계 값 이상인 경우, 보행 정보 생성부(133)는 타겟 지점(T2)에 대한 상체의 회전 정보를 생성할 수 있다. When the second end effector does not reach the target point T2 due to the angle information of the arm joint, that is, the distance between the position of the second end effector and the target point T2 is equal to or greater than the threshold value, The unit 133 can generate rotation information of the upper body with respect to the target point T2.

이 때, 제1엔드 이펙터는 제2엔드 이펙터에 대응되고, 고관절은 어깨 관절에 대응되며 타겟 지점(T1)은 타겟 지점(T2)에 대응된다. 그리고, 상체의 회전 정보는 명치의 위치에 대응되는 척추 관절을 중심으로 하는 회전 각도 정보일 수 있으며, 골반 회전 정보 생성 방법과 동일한 방법으로 생성될 수 있다. At this time, the first end effector corresponds to the second end effector, the hip joint corresponds to the shoulder joint, and the target point T1 corresponds to the target point T2. The rotation information of the upper body may be rotational angle information about the spinal joint corresponding to the position of the body part, and may be generated in the same manner as the method of generating the pelvis rotation information.

한편, 전술된 단계는 엔드 이펙터가 타겟지점에 도달할 때까지 반복하여 수행될 수 있으며, 이전 단계의 결과값은 다음 단계에 이용된다. 예를 들어, 단계 S503에서 골반의 회전 각도가 생성될 때, 단계 S501에서 생성된 다리 관절의 각도 정보가 반영된다.On the other hand, the above-described step can be repeatedly performed until the end effector reaches the target point, and the result of the previous step is used in the next step. For example, when the rotational angle of the pelvis is generated in step S503, the angle information of the leg joint generated in step S501 is reflected.

결국, 본 발명에 따르면 골반의 회전 및 이동과 상체의 회전을 통해 보다 자연스러운 보행 동작을 생성할 수 있다.
As a result, according to the present invention, it is possible to generate a more natural gait through rotation and movement of the pelvis and rotation of the upper body.

도 6 및 도 7은 본 발명에 따른 보행 동작을 설명하기 위한 도면이다.6 and 7 are views for explaining a walking operation according to the present invention.

도 6에서 엔드 이펙터는 발목이며, 타겟 지점은 파란 공(600)이다. 도 6(a)는 분석적 역기구학 솔버에 의한 보행 동작으로서 오른 발목이 파란 공(600)에 닿지 않는다. 반면에 본 발명에 따른 보행 동작을 도시한 도 6(b)에서는 골반이 회전 및 이동함으로써 오른발목이 파란 공(600)에 도달함을 알 수 있다.In Fig. 6, the end effector is an ankle, and the target point is a blue hole 600. Fig. 6 (a) shows that the right ankle does not touch the blue hole 600 as a walking operation by the analytical inverse kinematic solver. On the other hand, in FIG. 6B showing the walking operation according to the present invention, it can be seen that the right leg reaches the blue hole 600 as the pelvis rotates and moves.

도 7은 본 발명에 따른 보행 동작 생성 방법이 반복적으로 수행될 경우, 왼발과 타겟 지점 사이의 거리를 나타내는 도면이다. 도 7에서 가로 축은 영상 프레임을 나타내며, 세로축은 왼발 오차, 즉 왼발과 타겟 지점 사이의 거리를 나타낸다. FIG. 7 is a diagram showing a distance between a left foot and a target point when the walking motion generating method according to the present invention is repeatedly performed. FIG. In Fig. 7, the horizontal axis represents the image frame, and the vertical axis represents the left-hand error, i.e., the distance between the left foot and the target point.

도 7에 도시된 바와 같이, 1회 수행시에는 최대 오차가 0.15m이상 나지만 반복될수록 오차가 줄어들며, 6회 수행시에는 거의 오차가 발생하지 않음을 알 수 있다.
As shown in FIG. 7, it can be seen that the maximum error is 0.15 m or more at the time of one execution, but the error decreases as the repetition is repeated, and almost no error occurs at the sixth execution.

도 8은 본 발명의 일실시예에 따른 보행 동작 제어 방법을 설명하기 위한 도면이다. 도 8에서는 도 1에서 설명된 보행 컨트롤러에서 수행되는 보행 동작 제어 방법이 일실시예로서 설명된다.8 is a view for explaining a walking operation control method according to an embodiment of the present invention. In Fig. 8, a walking motion control method performed in the walking controller described in Fig. 1 will be described as an embodiment.

보행 컨트롤러(100)는 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 수신(S801)한다. 그리고 보행 동작에 대한 캡쳐 데이터를 이용하여, 지형에 따른 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성(S803)한다. 이 때, 보행 컨트롤러(100)는 지형에 대해 컨벡스 헐을 적용하여, 엔드 이펙터의 궤적 정보를 생성할 수 있다. 여기서 엔드 이펙터는 발 또는 발목일 수 있다. 그리고 골반의 궤적 정보에 대해 가우시안 필터링이 수행될 수 있다.The walking controller 100 receives the capture data and the terrain information for the virtual character or robot (S801). The end effector and the pelvic trajectory information of the captured data according to the terrain are generated using the capture data for the walking operation (S803). At this time, the walking controller 100 can apply the convex hull to the terrain to generate the trajectory information of the end effector. The end effector may be a foot or an ankle. Gaussian filtering can be performed on the locus information of the pelvis.

보행 컨트롤러(100)는 단계 S803에서 생성된 궤적 정보에 기반하여, 도 5에서 설명된 보행 동작 생성 방법에 따라, 보행 동작에 필요한 정보를 생성한다. 보다 구체적으로 보행 컨트롤러(100)는 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성(S805)하며, 타겟 지점에 대한 골반의 회전 정보를 생성(S807)한다. 이 때, 보행 컨트롤러(100)는 다리 관절의 각도 정보에 의해, 엔드 이펙터가 타겟 지점에 도달하지 못할 경우, 골반의 회전 정보를 생성할 수 있다.Based on the sign information generated in step S803, the walking controller 100 generates information necessary for the walking operation according to the walking operation generating method described in Fig. More specifically, the walking controller 100 generates angular information of a leg joint with respect to a target point of the end effector (S805), and generates rotation information of the pelvis with respect to the target point (S807). At this time, the walking controller 100 can generate rotation information of the pelvis if the end effector can not reach the target point, based on the angle information of the leg joint.

한편, 회전 정보에 따른 수정된 골반의 변위를 이용하여, 골반의 궤적 정보는 갱신될 수 있다. 그리고 보행 컨트롤러(100)는 갱신된 궤적 정보에 기반하여 보행 동작에 필요한 정보를 생성한다.
On the other hand, using the corrected displacement of the pelvis according to the rotation information, the locus information of the pelvis can be updated. Then, the walking controller 100 generates information necessary for the walking operation based on the updated sign information.

앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
The above-described technical features may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

Claims (15)

역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 방법에 있어서,
상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 입력받는 단계;
엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하는 단계; 및
상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 골반의 회전 정보를 생성하는 단계
를 포함하는 보행 동작 생성 방법.
A method for generating a gait operation for a virtual character or robot using an inverse kinematics solver,
Receiving capture data for the virtual character or robot;
Generating angle information of a leg joint with respect to a target point of the end effector; And
Generating rotation information of the pelvis with respect to the target point when the end effector fails to reach the target point by the angle information;
And generating a walking motion.
제 1항에 있어서,
상기 다리 관절은
고관절, 무릎 관절 및 발목 관절을 포함하는
보행 동작 생성 방법.
The method according to claim 1,
The leg joint
Including the hip, knee and ankle joints
How to Generate Walking Motion.
제 2항에 있어서,
상기 골반의 회전 정보를 생성하는 단계는
상기 고관절과 상기 타겟 지점 사이의 거리 및 상기 각도 정보에 의한 상기 엔드 이펙터와 상기 고관절 사이의 거리를 이용하여 상기 회전 정보를 생성하는
보행 동작 생성 방법.
3. The method of claim 2,
The step of generating rotation information of the pelvis
The rotation information is generated using the distance between the hinge and the target point and the distance between the end effector and the hip joint by the angle information
How to Generate Walking Motion.
제 1항에 있어서,
상기 회전 정보는
루트(root) 관절을 중심으로 하는 상기 골반의 회전 각도 정보인
보행 동작 생성 방법.
The method according to claim 1,
The rotation information
The rotation angle information of the pelvis centered at the root joint
How to Generate Walking Motion.
제 2항에 있어서,
상기 골반의 회전 정보에 의해 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 상기 골반의 이동 정보를 생성하는 단계
를 더 포함하는 보행 동작 생성 방법.
3. The method of claim 2,
Generating movement information of the pelvis with respect to the target point when the end effector does not reach the target point due to rotation information of the pelvis;
Further comprising the steps of:
제 5항에 있어서,
상기 이동 정보는
기준점인 루트 관절의 위치에 대한 상기 골반의 변위 정보인
보행 동작 생성 방법.
6. The method of claim 5,
The movement information
The displacement information of the pelvis with respect to the position of the root joint as the reference point
How to Generate Walking Motion.
제 5항에 있어서,
상기 골반의 이동 정보를 생성하는 단계는
상기 고관절과 상기 타겟 지점 사이의 거리와, 상기 각도 정보 및 회전 정보에 의한 상기 엔드 이펙터와 상기 고관절 사이의 거리를 이용하여 상기 이동 정보를 생성하는
보행 동작 생성 방법.
6. The method of claim 5,
The step of generating movement information of the pelvis
The movement information is generated using the distance between the hinge and the target point and the distance between the end effector and the hip joint by the angle information and the rotation information
How to Generate Walking Motion.
제 1항에 있어서,
상기 엔드 이펙터는
발 또는 발목인
보행 동작 생성 방법.
The method according to claim 1,
The end effector
Foot or ankle
How to Generate Walking Motion.
역기구학 솔버 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 생성 방법에 있어서,
상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터를 입력받는 단계;
엔드 이펙터의 타겟 지점에 대한 팔 관절의 각도 정보를 생성하는 단계; 및
상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 타겟 지점에 대한 상체의 회전 정보를 생성하는 단계
를 포함하는 보행 동작 생성 방법.
A method for generating a walking motion for a virtual character or robot using an inverse kinematic solver,
Receiving capture data for the virtual character or robot;
Generating angular information of an arm joint with respect to a target point of the end effector; And
Generating rotation information of the upper body with respect to the target point when the end effector fails to reach the target point by the angle information;
And generating a walking motion.
역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 동작 제어 방법에 있어서,
상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는 단계;
상기 지형 정보에 따른 상기 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성하는 단계;
상기 궤적 정보에 기반하여, 상기 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보를 생성하는 단계; 및
상기 궤적 정보에 기반하여, 상기 타겟 지점에 대한 상기 골반의 회전 정보를 생성하는 단계
를 포함하는 보행 동작 제어 방법.
A method for controlling a walking motion of a virtual character or robot using an inverse kinematics solver,
Receiving captured data and terrain information for the virtual character or robot;
Generating end effector of the captured data and locus information of the pelvis according to the topographic information;
Generating angle information of a leg joint with respect to a target point of the end effector based on the locus information; And
Generating rotation information of the pelvis with respect to the target point based on the locus information
Wherein the walking operation is performed by the driver.
제 10항에 있어서,
상기 골반의 회전 정보를 생성하는 단계는
상기 각도 정보에 의해, 상기 엔드 이펙터가 상기 타겟 지점에 도달하지 못할 경우, 상기 골반의 회전 정보를 생성하는
보행 동작 제어 방법.
11. The method of claim 10,
The step of generating rotation information of the pelvis
And when the end effector does not reach the target point, the rotation information of the pelvis is generated by the angle information
A method for controlling walking motion.
제 10항에 있어서,
상기 궤적 정보를 생성하는 단계는
상기 지형 정보에 대해 컨벡스 헐(convex hull)을 적용하여, 상기 엔드 이펙터의 궤적 정보를 생성하는
보행 동작 제어 방법.
11. The method of claim 10,
The step of generating the locus information
And applying a convex hull to the terrain information to generate locus information of the end effector
A method for controlling walking motion.
제 10항에 있어서,
상기 회전 정보에 따른 상기 골반의 변위를 이용하여, 상기 골반의 궤적 정보를 갱신하는 단계
를 더 포함하는 보행 동작 제어 방법.
11. The method of claim 10,
Updating the locus information of the pelvis using the displacement of the pelvis according to the rotation information
Further comprising the steps of:
제 10항에 있어서,
상기 골반의 궤적 정보에 대해 가우시안 필터링을 수행하는 단계
를 더 포함하는 보행 동작 제어 방법.
11. The method of claim 10,
Performing Gaussian filtering on the locus information of the pelvis
Further comprising the steps of:
역기구학 솔버(inverse kinematics solver)를 이용하는, 가상 캐릭터 또는 로봇에 대한 보행 컨트롤러에 있어서,
상기 가상 캐릭터 또는 로봇에 대한 캡쳐 데이터 및 지형 정보를 입력받는 정보 수신부;
상기 지형 정보에 따른 상기 캡쳐 데이터의 엔드 이펙터 및 골반의 궤적 정보를 생성하는 궤적 정보 생성부; 및
상기 궤적 정보에 기반하여, 상기 엔드 이펙터의 타겟 지점에 대한 다리 관절의 각도 정보 및 상기 골반의 회전 정보를 생성하는 역기구학 해석부
를 포함하는 보행 컨트롤러.
1. A walking controller for a virtual character or robot using an inverse kinematics solver,
An information receiver for receiving captured data and terrain information for the virtual character or robot;
A trajectory information generating unit for generating trajectory information of an end effector and a pelvis of the captured data according to the terrain information; And
Based on the locus information, an inverse kinematic analysis unit for generating angle information of a leg joint with respect to a target point of the end effector and rotation information of the pelvis,
And a controller.
KR1020140169551A 2014-12-01 2014-12-01 Method for Generating and controlling Locomotion, Locomotion Controller KR101635684B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140169551A KR101635684B1 (en) 2014-12-01 2014-12-01 Method for Generating and controlling Locomotion, Locomotion Controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140169551A KR101635684B1 (en) 2014-12-01 2014-12-01 Method for Generating and controlling Locomotion, Locomotion Controller

Publications (2)

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

Family

ID=56138803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140169551A KR101635684B1 (en) 2014-12-01 2014-12-01 Method for Generating and controlling Locomotion, Locomotion Controller

Country Status (1)

Country Link
KR (1) KR101635684B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110139115A (en) * 2019-04-30 2019-08-16 广州虎牙信息科技有限公司 Virtual image attitude control method, device and electronic equipment based on key point
KR102052110B1 (en) * 2018-05-24 2019-12-04 군산대학교 산학협력단 A video surveillance apparatus for detecting agro-livestock theft based on deep learning and method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036093A (en) * 2009-03-03 2009-04-13 목원대학교 산학협력단 The pelvis platform mechanism for bipedal stability of the humanoid robot

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090036093A (en) * 2009-03-03 2009-04-13 목원대학교 산학협력단 The pelvis platform mechanism for bipedal stability of the humanoid robot

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 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102052110B1 (en) * 2018-05-24 2019-12-04 군산대학교 산학협력단 A video surveillance apparatus for detecting agro-livestock theft based on deep learning and method thereof
CN110139115A (en) * 2019-04-30 2019-08-16 广州虎牙信息科技有限公司 Virtual image attitude control method, device and electronic equipment based on key point

Also Published As

Publication number Publication date
KR101635684B1 (en) 2016-07-01

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
Khamar et al. Human-exoskeleton control simulation, kinetic and kinematic modeling and parameters extraction
CN108876815B (en) Skeleton posture calculation method, character virtual model driving method and storage medium
KR101098834B1 (en) Apparatus and method for generating motion based on dynamics
US9449416B2 (en) Animation processing of linked object parts
JP7061238B2 (en) Reinforcement learning to train characters using heterogeneous target animation data
Al Borno et al. Trajectory optimization for full-body movements with complex contacts
US20100030532A1 (en) System and methods for digital human model prediction and simulation
JP4392448B2 (en) System and method for predicting unknown behavior in serial chain systems
US9427868B1 (en) Method for developing and controlling a robot to have movements matching an animation character
JP7324932B2 (en) dynamic planning controller
Kenwright Responsive biped character stepping: When push comes to shove
TWI473036B (en) The system and method of automatic adaptation of terrain to virtual terrain
Yamane et al. Control-aware mapping of human motion data with stepping for humanoid robots
Kenwright Real-Time Reactive Biped Characters: Staying Upright and Balanced
Ramos et al. Dynamic motion capture and edition using a stack of tasks
KR101635684B1 (en) Method for Generating and controlling Locomotion, Locomotion Controller
Huang et al. An efficient energy transfer inverse kinematics solution
Teachasrisaksakul et al. Imitation of dynamic walking with BSN for humanoid robot
Nakaoka et al. Interaction mesh based motion adaptation for biped humanoid robots
KR102317949B1 (en) Method and apparatus for generating motion of an object
Cooper et al. Realtime, physics-based marker following
CN116619382A (en) Robot motion control method and system and electronic equipment
Park et al. Multi-segment foot modeling for human animation

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