KR20120019893A - 이족보행 로봇을 위한 발걸음 계획 방법 - Google Patents

이족보행 로봇을 위한 발걸음 계획 방법 Download PDF

Info

Publication number
KR20120019893A
KR20120019893A KR1020100083472A KR20100083472A KR20120019893A KR 20120019893 A KR20120019893 A KR 20120019893A KR 1020100083472 A KR1020100083472 A KR 1020100083472A KR 20100083472 A KR20100083472 A KR 20100083472A KR 20120019893 A KR20120019893 A KR 20120019893A
Authority
KR
South Korea
Prior art keywords
robot
biped
unit vector
foot
walking
Prior art date
Application number
KR1020100083472A
Other languages
English (en)
Other versions
KR101210498B1 (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 KR1020100083472A priority Critical patent/KR101210498B1/ko
Publication of KR20120019893A publication Critical patent/KR20120019893A/ko
Application granted granted Critical
Publication of KR101210498B1 publication Critical patent/KR101210498B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

본 발명의 이족보행 로봇을 위한 발걸음 계획 방법에 따르면, 단위 벡터장 항법(univector field navigation method)을 기반으로 하여 매 발걸음마다 가변적 걸음 생성기(modifiable walking pattern generator, MWPG)의 입력(input)인, 보폭, 발의 방향, 걸음 시간과 같은 이족보행 로봇의 걸음에 관한 정보를 포함하고 있는 CS(command state)를 결정하고, 결정된 CS를 만족하기 위한 이족보행 로봇의 모든 다리 관절의 궤적을 생성할 수 있다.
또한, 이족보행 로봇의 보행 중 최단 시간, 장애물과 충돌 없는 안정성, 최소 에너지 소비를 위해 단위 벡터장을 진화 알고리즘(evolutionary algorithm)으로 최적화할 수 있다.
아울러 본 발명에 따르면 상기의 궤적의 생성과 진화 알고리즘에 의한 최적화 기법을 이용하여 실시간으로 이족보행 로봇의 발걸음을 계획할 수 있다.

Description

이족보행 로봇을 위한 발걸음 계획 방법{Footstep Planning Method for Bipedal Robot}
본 발명은 이족보행 로봇을 위한 발걸음 계획 방법에 관한 것으로, 더욱 상세하게는 단위 벡터장(univector field)을 진화 알고리즘(evolutionary algorithm)으로 최적화한 이족보행 로봇을 위한 발걸음 계획 방법에 관한 것이다.
지금까지 다양한 이족보행 로봇들을 안전하게 걷게 하는 제어 알고리즘들이 개발되어 왔다. 이러한 이족보행 로봇들의 미래를 위해, 장애물이 있는 환경에서의 이들의 보행에 관한 연구가 오늘날 요구되고 있다. 특히 이러한 환경에서의 발걸음 계획(footstep planning)에 관한 연구는 이족보행 로봇을 위한 핵심 연구 중 하나이다.
그러나 지금까지의 이족보행 로봇을 위한 발걸음 계획에 관한 연구들은 발걸음 계획을 위해 몇 개의 가능한 발걸음 위치 모음들과 이 위치로 걷기 위한 이족보행 로봇의 모든 다리 관절의 궤적들을 미리 계산해 두어야 했다. 게다가 이들은 실제 생활에서 존재하는 이족보행 로봇의 보행에 있어서 고려되어야 하는 다양한 목적들을 고려하지 않는 문제점이 있다.
본 발명은 전술한 바와 같은 기술적 과제를 해결하는 데 목적이 있는 발명으로서, 단위 벡터장 항법(univector field navigation method)을 기반으로 하여 매 발걸음마다 가변적 걸음 생성기(modifiable walking pattern generator, MWPG)의 입력(input)인 보폭, 발의 방향, 걸음 시간과 같은 이족보행 로봇의 걸음에 관한 정보를 포함하고 있는 CS(command state)를 결정하고, 결정된 CS를 만족하기 위한 이족보행 로봇의 모든 다리 관절의 궤적을 생성하는 것에 그 목적이 있다.
본 발명의 다른 목적은 이족보행 로봇의 보행 중 최단 시간, 장애물과 충돌 없는 안정성, 최소 에너지 소비를 위해 단위 벡터장을 진화 알고리즘(evolutionary algorithm)으로 최적화하는 것에도 있다.
본 발명의 또 다른 목적은 상기의 궤적의 생성과 진화 알고리즘에 의한 최적화 기법을 이용하여 실시간으로 이족보행 로봇의 발걸음을 계획하는 것에도 있다.
본 발명의 바람직한 일실시예에 따른 이족보행 로봇을 위한 발걸음 계획 방법은 단위 벡터장 항법(univector field navigation method)을 기반으로 이족보행 로봇의 걸음에 관한 정보를 포함하고 있는 CS(command state)를 결정하며, 상기 CS를 이용하여 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출하는 것을 특징으로 한다.
구체적으로 상기 CS는 상기 이족보행 로봇의 왼발의 정면 방향으로의 보폭, 오른발의 정면 방향으로의 보폭, 왼발의 측면 방향으로의 보폭, 오른발의 측면 방향으로의 보폭, 한발지지 시간, 두발지지 시간, 왼발의 방향 및 오른발의 방향의 정보를 포함하는 것이 바람직하다.
또한, 상기 CS의 결정은 연속된 두 발걸음 사이의 중간점을 발걸음의 기준 위치로 사용하고, 상기 기준 위치에서 단위 벡터를 산출하며, 상기 왼발의 방향 및 오른발의 방향을 상기 단위 벡터로부터 얻어지는 각도로 설정하는 것을 특징으로 한다.
상기 단위 벡터는, 상기 이족보행 로봇이 목적지에 도달하기 위한 단위 벡터장(move-to-goal univector field, MUF)과 장애물 회피를 위한 단위 벡터장(avoid-obstacle univector field, AUF)을 이용하되, 최종 단위 벡터는 MUF와 각 장애물들의 AUF들의 합을 표준화(normalization)하여 산출되는 것이 바람직할 것이다.
더욱 상세하게 상기 이족보행 로봇의 모든 다리 관절의 궤적의 산출은 가변적 걸음 생성 방법(modifiable walking pattern generating method)을 이용하되, 상기 가변적 걸음 생성 방법은 상기 이족보행 로봇의 한발지지 상태에서의 동역학을 3차원 선형 역진자 모델을 확장하여 동차해(homogeneous solution) 뿐만 아니라 특수해(particular solution)도 이용하는 방법으로, 상기 이족보행 로봇의 걸음에 관한 ZMP(zero moment point) 함수를 이용하여 한발지지 상태 동안 무게 중심의 위치와 속도를 독립적으로 변화시키는 것에 의해 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출하는 것을 특징으로 한다.
구체적으로 상기 궤적의 산출은 상기 이족보행 로봇이 상기 결정된 CS를 따라 이동하도록, 상기 이족보행 로봇의 발을 단위 벡터의 방향으로 하고, 이전 발걸음에서의 발의 방향과 수직이고 기준 위치로부터 상기 이족보행 로봇의 미리 설정된 측면 방향 보폭의 2분의 1 만큼 떨어져 있는 위치에 놓게 하기 위한 것을 특징으로 한다.
본 발명의 바람직한 일실시예에 따른 상기 이족보행 로봇을 위한 발걸음 계획 방법은, (a) i번째 발걸음에서의 CS를 결정하는 단계; (b) 상기 (a) 단계의 CS를 이용하여 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출하는 단계; (c) 상기 (b) 단계에서 산출된 궤적에 따라, 기준 위치
Figure pat00001
가 발걸음의 발의 방향의 단위 벡터
Figure pat00002
와 수직하고, 그 발의 중심으로부터 상기 이족보행 로봇의 미리 설정된 측면 방향 보폭의 2분의 1인
Figure pat00003
만큼 떨어져 있는 위치
Figure pat00004
으로 수정되는 단계; (d) 상기 단위 벡터
Figure pat00005
를 이용하여 다음 발걸음의 기준 위치
Figure pat00006
를 산출하는 단계; (e) 다음 발걸음의 단위 벡터
Figure pat00007
가 산출되고, 산출된 다음 발걸음의 단위 벡터
Figure pat00008
를 이용하여 다음 CS가 결정되는 단계; (f) 상기 (e) 단계에서 결정된 다음 CS를 이용하여 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출하는 단계; 및 (g) 상기 (f) 단계에서 산출된 궤적에 따라, 기준 위치
Figure pat00009
가 발걸음의 발의 방향의 단위 벡터
Figure pat00010
와 수직하고, 그 발의 중심으로부터 상기 이족보행 로봇의 미리 설정된 측면 방향 보폭의 2분의 1인
Figure pat00011
만큼 떨어져 있는 위치
Figure pat00012
로 수정하는 단계; 를 포함한다.
또한 상기 이족보행 로봇이 설정된 목적지에 도달하지 않았다면, 상기 (a) 단계부터 상기 (g) 단계를 반복적으로 실시하는 것을 특징으로 한다.
아울러 본 발명의 이족보행 로봇을 위한 발걸음 계획 방법은 진화 알고리즘을 이용하여 상기 단위 벡터장을 최적화함으로써 상기 이족보행 로봇의 이동에 있어서 최단 시간, 장애물과 충돌 없는 안정성 및 최소 에너지 소비를 고려한 발걸음 계획이 가능하도록 하는 것이 바람직하다.
구체적으로 상기 진화 알고리즘을 이용한 단위 벡터장의 최적화는, 장애물 회피를 위한 단위 벡터장(avoid-obstacle univector field, AUF)을 산출하기 위한
Figure pat00013
와 기호 ±를 최적화하는 것에 의해 이루어지되, 상기
Figure pat00014
는 상기 AUF의 산출에 사용되는 쌍곡 나선 단위 벡터장(hyperbolic spiral univector field)의 나선(spiral)의 미리 정해진 반지름 길이, 상기
Figure pat00015
는 AUF의 경계(boundary)의 크기, 상기
Figure pat00016
은 만약
Figure pat00017
이 증가하면 나선(spiral)의 곡률이 부드러워지게 되는 나선(spiral)의 조절 가능한 변수, 기호 ±는 로봇의 이동 방향으로 -는 시계 방향, +는 반시계 방향의 움직임을 각각 의미하는 것을 특징으로 한다.
본 발명의 이족보행 로봇을 위한 발걸음 계획 방법에 따르면, 단위 벡터장 항법(univector field navigation method)을 기반으로 하여 매 발걸음마다 가변적 걸음 생성기(modifiable walking pattern generator, MWPG)의 입력(input)인 보폭, 발의 방향, 걸음 시간과 같은 이족보행 로봇의 걸음에 관한 정보를 포함하고 있는 CS(command state)를 결정하고, 결정된 CS를 만족하기 위한 이족보행 로봇의 모든 다리 관절의 궤적을 생성할 수 있다.
또한, 이족보행 로봇의 보행 중 최단 시간, 장애물과 충돌 없는 안정성, 최소 에너지 소비를 위해 단위 벡터장을 진화 알고리즘(evolutionary algorithm)으로 최적화할 수 있다.
아울러 본 발명에 따르면 상기의 궤적의 생성과 진화 알고리즘에 의한 최적화 기법을 이용하여 실시간으로 이족보행 로봇의 발걸음을 계획할 수 있다.
도 1은 목적지에 도달하기 위한 단위 벡터장(move-to-goal univector field, MUF)을 도시한 것이다.
도 2는 장애물 회피를 위한 단위 벡터장(avoid-obstacle univector field, AUF)을 도시한 것이다.
도 3은 발걸음 계획 과정을 도시한 것이다.
도 4는 발걸음 계획 과정에 대한 흐름도이다.
이하, 첨부된 도면을 참조하면서 본 발명의 일실시예에 따른 이족보행 로봇을 위한 발걸음 계획 방법에 대해 상세히 설명하기로 한다.
본 발명의 하기의 실시예는 본 발명을 구체화하기 위한 것일 뿐 본 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 본 발명의 상세한 설명 및 실시예로부터 본 발명이 속하는 기술 분야의 전문가가 용이하게 유추할 수 있는 것은 본 발명의 권리 범위에 속하는 것으로 해석된다.
본 발명의 바람직한 일실시예에 따른 이족보행 로봇을 위한 발걸음 계획 장치를 이용한 이족보행 로봇을 위한 발걸음 계획 방법은, 단위 벡터장 항법(univector field navigation method)을 기반으로 이족보행 로봇의 걸음에 관한 정보를 포함하고 있는 CS(command state)를 결정하며, 가변적 걸음 생성기(modifiable walking pattern generator, MWPG)를 이용한 가변적 걸음 생성 방법에 의해 상기 CS를 기반으로 상기 이족보행 로봇의 다리 관절의 궤적을 산출할 수 있다.
참고로 상기 가변적 걸음 생성기는 상기 이족보행 로봇을 위한 발걸음 계획 장치의 한 구성 요소로 구현되어 진다.
MWPG와 단위 벡터장 항법에 관해 좀 더 상세하게 설명하기로 한다.
가변적 걸음 생성기(modifiable walking pattern generator, MWPG)
이족보행 로봇의 한발지지 상태(single support phase)에서의 주요 동역학(dynamics)은 3차원 선형 역진자 모델(3D linear inverted pendulum model, 3D-LIPM)로 모델링된다. 이는 지지하는 다리가 무게가 없는 막대이고 모든 질량이 수직 운동이 없는 한 점에 모여 있다고 가정하며 그 동역학 방정식은 [수학식 1]과 같이 나타낼 수 있다.
Figure pat00018
[수학식 1]에서
Figure pat00019
는 지면 반발력(ground reaction force)에 의한 토크이고
Figure pat00020
는 지면부터 무게 중심(center of mass)까지의 벡터이다. 또한,
Figure pat00021
은 중력을 나타내고
Figure pat00022
은 무게 중심의 선형 운동량이다.
[수학식 1]에서 무게 중심의 높이가 상수
Figure pat00023
이므로, [수학식 2]와 같이 다시 나타낼 수 있다.
Figure pat00024
[수학식 2]에서 m은 3D-LIPM의 질량이다. ZMP(zero moment point)는 지면 반발력으로부터 받는 모든 토크의 합을 나타내는데, [수학식 3]과 같이 이용된다.
Figure pat00025
[수학식 3]에서
Figure pat00026
는 ZMP를 나타내고,
Figure pat00027
은 요잉 모멘트(yawing moment)를 나타낸다.
[수학식 3]을 [수학식 2]에 대입하면 [수학식 4]와 같은 방정식을 얻을 수 있다.
Figure pat00028
결국 위의 [수학식 4]로부터 ZMP와 무게 중심 움직임 사이의 관계를 얻을 수 있다. 기존의 3D-LIPM은 ZMP의 변화의 고려 없이 [수학식 4]의 동차해(homogeneous solution)만을 오직 다루고 있었다. 그러나 MWPG는 더욱 폭넓고 제한되지 않은 걸음새를 위해 기존의 3D-LIPM을 확장하여 동차해(homogeneous solution)뿐만 아니라 특수해(particular solution)도 이용하였다.
역라플라스 변환(inverse Laplace transform)을 이용하여 [수학식 4]의 해를 구함으로써 3D-LIPM의 무게 중심의 움직임 방정식을 [수학식 5]와 [수학식 6]과 같이 얻을 수 있다. [수학식 5]는 로봇의 정면 방향(sagittal plane)으로의 무게 중심의 움직임 방정식이고, [수학식 6]은 로봇의 측면 방향(lateral plane)으로의 무게 중심의 움직임 방정식이다.
Figure pat00029
Figure pat00030
[수학식 5]와 [수학식 6]에서
Figure pat00031
Figure pat00032
는 각각 정면 방향과 측면 방향으로의 무게 중심의 처음/마지막의 위치와 속도를 나타낸다. 그리고
Figure pat00033
Figure pat00034
는 각각
Figure pat00035
Figure pat00036
를 나타내고
Figure pat00037
이다.
Figure pat00038
는 남아있는 한발지지 시간을 나타낸다. 또한,
Figure pat00039
Figure pat00040
는 각각 정면 방향과 측면 방향의 ZMP 함수를 나타내고 ,
Figure pat00041
이고
Figure pat00042
이다.
결과적으로
Figure pat00043
Figure pat00044
에 의해서 한발지지 상태 동안 언제든지 무게 중심의 위치와 속도를 독립적으로 변화시키는 것이 가능하다. 이는 MWPG가 이족보행 로봇의 정면, 측면으로의 보폭, 걸음 주기, 발의 방향과 같은 걸음새를 ZMP 변화에 의해서 변화시킬 수 있다는 것을 의미한다.
그리고 MWPG의 입력으로서 CS는 [수학식 7]과 같이 정의된다.
Figure pat00045
[수학식 7]에서의 각 인자의 의미는 다음과 같다.
Figure pat00046
: 왼발/오른발의 정면 방향으로의 보폭
Figure pat00047
: 왼발/오른발의 측면 방향으로의 보폭
Figure pat00048
: 한발지지 시간
Figure pat00049
: 두발지지 시간
Figure pat00050
: 왼발/오른발의 방향
결국, 매 샘플 시간(sample time) 마다 CS가 입력되고 이는 WS(walking state)로 정의되는 3D-LIPM의 무게 중심의 위치와 속도로 변환된다. 이 WS를 만족하기 위한 무게 중심의 궤적이 [수학식 5]와 [수학식 6]에 의해서 얻어지고 역기구학(inverse kinematics)에 의해 이를 만족하는 이족보행 로봇의 모든 다리 관절의 궤적이 계산된다.
단위 벡터장 항법
본 발명에서는 이족보행 로봇의 발걸음 계획을 위해 다양한 기존의 항법들 중에 단위 벡터장 항법을 채택하였다. 이는 실시간으로 로봇이 원하는 위치에 효과적인 궤적으로 도달하게 해준다. 단위 벡터장 항법은 로봇이 목적지에 도달하게 하기 위한 move-to-goal univector field(MUF)와 장애물 회피를 위한 avoid-obstacle univector field(AUF)를 이용한다.
도 1은 MUF를 나타내었다.
임의의 위치
Figure pat00051
에서의 MUF는 도 1로부터 알 수 있는 바와 같이 어트렉티브 단위 벡터장(attractive univector field)에 의해서 생성되고 [수학식 8]과 같이 정의된다.
Figure pat00052
[수학식 8]에서
Figure pat00053
는 목적지의 위치
Figure pat00054
의 x축에서부터 로봇의 위치
Figure pat00055
까지의 각도를 나타낸다.
도 2에 AUF를 나타내었다.
AUF는 도 2와 같이 위치
Figure pat00056
에서의 쌍곡 나선 단위 벡터장(hyperbolic spiral univector field)
Figure pat00057
에 의해서 생성되고 [수학식 9]와 같이 정의된다.
Figure pat00058
[수학식 9]에서,
Figure pat00059
이다. 또한,
Figure pat00060
은 위치
Figure pat00061
Figure pat00062
사이의 거리이고
Figure pat00063
는 장애물의 반지름 길이를 나타낸다.
Figure pat00064
는 나선(spiral)의 미리 정해진 반지름 길이를 나타내고,
Figure pat00065
는 AUF의 경계(boundary)의 크기를 나타낸다.
[수학식 9]에서 알 수 있듯이 AUF는 로봇의 위치
Figure pat00066
가 AUF의 경계(boundary) 안에 있을 때만 생성된다. 만약 로봇이 장애물을 지나가면 그 장애물의 AUF는 로봇이 이동하는데 더 이상 영향을 주지 않는다.
Figure pat00067
는 장애물 중심
Figure pat00068
의 x축에서부터 로봇의 위치
Figure pat00069
까지의 각도를 나타낸다. 기호 ±는 로봇의 이동 방향을 나타내는데 -는 시계 방향, +는 반시계 방향의 움직임을 의미한다. 또한,
Figure pat00070
은 나선(spiral)의 조절 가능한 변수로서 만약
Figure pat00071
이 증가하면 나선(spiral)의 곡률이 부드러워진다.
최종 단위 벡터장은 MUF와 각 장애물들의 AUF들의 합을 표준화(normalization)하여 얻어진다. 이는 임의의 위치
Figure pat00072
에서의 로봇의 이동 방향을 결정하고 [수학식 10]과 같이 정의된다.
Figure pat00073
[수학식 10]에서
Figure pat00074
이며, n은 장애물의 총 수를 나타낸다.
상술한 바와 같은 단위 벡터장 항법을 기반으로 하여 본 발명에서의 발걸음 계획 방법은 매 발걸음마다 CS를 결정하고 그러면 MWPG에 의해서 결정된 CS를 만족하기 위한 이족보행 로봇의 모든 다리 관절의 궤적이 생성된다.
도 3에 본 발명의 바람직한 일실시예에 따른 발걸음 계획 방법의 전체 과정을 도시하였다.
발걸음 계획을 위해 CS의 정면, 측면 방향으로의 보폭인
Figure pat00075
Figure pat00076
을 도 3과 같이 각각 실제 이족보행 로봇의 정면 및 측면 방향의 설정된 보폭 이내의 값인
Figure pat00077
Figure pat00078
로 설정한다. 그리고 한발지지 시간과 두발지지 시간인
Figure pat00079
Figure pat00080
을 적당한 값으로 미리 설정하고 매 발걸음 마다의 스윙 레그(swing leg)의 발의 방향인
Figure pat00081
을 단위 벡터장 항법에 의해서 결정한다. 연속된 두 발걸음 사이의 중간점이 발걸음의 기준 위치로서 사용되고
Figure pat00082
는 이 기준 위치에서의 단위 벡터에 의해서 결정된다.
도 3의 발걸음 계획의 전체 과정에 대해 도 4에 흐름도로 나타내었다.
도 3과 도 4에 의해 본 발명의 바람직한 일실시예에 따른 이족보행 로봇의 발걸음 계획 방법의 전제 흐름을 설명하기로 한다.
먼저, i번째 발걸음에서의 CS를 결정한다(S5). 기준 위치
Figure pat00083
(31)에서의 단위 벡터
Figure pat00084
는 [수학식 10]에 의해서 계산되고 이때
Figure pat00085
이다. 그리고
Figure pat00086
Figure pat00087
로부터 얻어지는 각도로 설정된다.
다음으로, 상기 S5 단계의 CS를 이용하여 상기 MWPG가 이족보행 로봇이 이 CS를 따라 이동하도록, 로봇의 발을
Figure pat00088
의 방향으로 하고 이전 발걸음에서의 발의 방향과 수직이고 기준 위치
Figure pat00089
로부터
Figure pat00090
만큼 떨어져 있는 위치에 놓게 하기 위해, 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출한다(S10).
그리고, 기준 위치
Figure pat00091
(31)가 상기 S10 단계에서 산출된 궤적에 따라 발걸음의 발의 방향의 단위 벡터
Figure pat00092
와 수직하고, 그 발의 중심으로부터 상기 이족보행 로봇의 미리 설정된 측면 방향 보폭의 2분의 1인
Figure pat00093
만큼 떨어져 있는 위치
Figure pat00094
(32)로 수정된다(S15).
다음으로 상기 단위 벡터
Figure pat00095
를 이용하여 다음 발걸음의 기준 위치
Figure pat00096
(33)를 수학식 11에 의해 산출한다(S20).
Figure pat00097
그리고, 다음 발걸음의 단위 벡터
Figure pat00098
가 산출되고, 이에 따라 다음 CS가 결정되며(S25), 결정된 다음 CS를 이용하여 상기 MWPG가 이족보행 로봇이 결정된 다음 CS를 따라 이동하도록, 로봇의 발을
Figure pat00099
의 방향으로 하고 이전 발걸음에서의 발의 방향과 수직이고 기준 위치
Figure pat00100
(33)로부터
Figure pat00101
만큼 떨어져 있는 위치에 놓게 하기 위해, 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출한다(S30).
기준 위치
Figure pat00102
(33)가 상기 S30단계에서 산출된 궤적에 따라 발걸음의 발의 방향의 단위 벡터
Figure pat00103
와 수직하고, 그 발의 중심으로부터 상기 이족보행 로봇의 미리 설정된 측면 방향 보폭의 2분의 1인
Figure pat00104
만큼 떨어져 있는 위치
Figure pat00105
(34)로 수정된다(S35).
마지막으로, 상기 이족보행 로봇이 설정된 목적지에 도달하지 않았다면, 상기 S5 단계부터 상기 S35 단계를 반복적으로 실시하는 것을 특징으로 한다(S40)
상술한 바와 같은 과정에 의해 본 발명의 발걸음 계획 장치는 몇 개의 가능한 발걸음 위치 모음들과 이 위치로 걷기 위한 이족보행 로봇의 모든 다리 관절의 궤적들을 미리 계산해놓지 않고 실시간으로 발걸음을 계획할 수 있다.
진화 알고리즘을 이용한 최적화
이족보행 로봇의 이동에 있어서 고려해야 할 핵심 목적으로 최단 시간, 장애물과 충돌 없는 안정성 및 최소 에너지 소비가 있다. 첫 번째 목적을 위해 이동 중의 총 발걸음 수가 최소가 되어야 한다. 두 번째 목적을 위해서는 걷는 동안 발생할 수 있는 장애물과의 충돌을 피하기 위해 로봇과 장애물 사이의 거리가 최대화되어야 한다. 마지막 목적을 위해서는 연속된 발걸음 사이의 이동 방향의 차이가 실제 이족보행 로봇의 다리의 허용 가능한 요잉 각도 범위(yawing angle range)를 넘지 않아야 하고 이동 중의 총 요잉 각도(yawing angle)의 합이 최소가 되어야 한다. 이러한 목적을 만족하기 위해 본 발명에서는 최적화된 단위 벡터장을 얻기 위해 진화 알고리즘(evolutionary algorithm)을 이용한다.
본 발명에서는 장애물들의 위치와 속도, 목적지의 위치와 같이 환경 정보를 기반으로 하여 진화 알고리즘에 의해서 각 장애물의 AUF를 위한
Figure pat00106
와 기호 ±를 최적화한다. 본 발명에서 사용된 진화 알고리즘을 위한 평가 함수(evaluation function)은 [수학식 12]와 같이 정의된다.
Figure pat00107
수학식 12에서
Figure pat00108
는 총 발걸음 수 n을 위한 스케일링 인자(scaling factor)을 나타낸다. 첫 번째 항목은 로봇이 목적지에 최소의 발걸음 수로 도달하도록 하게 한다. 두 번째 항목은 장애물과의 충돌 없는 안전성을 위한 것으로 로봇을 원통으로 가정하여 [수학식 13]과 같이 정의된다.
Figure pat00109
수학식 13에서,
Figure pat00110
을 나타내며,
Figure pat00111
Figure pat00112
는 스케일링 인자(scaling factor)이고
Figure pat00113
는 로봇 몸체의 반지름 길이이다.
Figure pat00114
Figure pat00115
와 위치
Figure pat00116
와 장애물 사이의 거리
Figure pat00117
와의 차이를 나타낸다. 만약 로봇이 장애물과 충돌하면
Figure pat00118
는 패널티 값
Figure pat00119
로 설정된다.
최소 에너지 소비를 위한 마지막 항목은 [수학식 14]와 같이 정의된다.
Figure pat00120
수학식 14에서,
Figure pat00121
을 의미하며,
Figure pat00122
는 스케일링 인자(scaling factor)이고,
Figure pat00123
는 위치
Figure pat00124
와 이전 발걸음에서의 위치
Figure pat00125
사이의 이족보행 로봇의 이동 방향의 차이를 나타낸다. 만약 허용 가능 요잉 각도 범위(yawing angle range)를 넘으면 이는 패널티 값
Figure pat00126
로 설정된다.
10: move-to-goal univector field(MUF)
11: 목적지
20: avoid-obstacle univector field(AUF)
21: 장애물
22: 나선(spiral)의 크기
23: avoid-obstacle univector field(AUF)의 경계(boundary)
30: 기준 위치
Figure pat00127

31: 기준 위치
Figure pat00128

32: 기준 위치
Figure pat00129

33: 기준 위치
Figure pat00130

34: 기준 위치
Figure pat00131

Claims (14)

  1. 이족보행 로봇을 위한 발걸음 계획 장치를 이용한 이족보행 로봇을 위한 발걸음 계획 방법에 있어서,
    단위 벡터장 항법(univector field navigation method)을 기반으로 이족보행 로봇의 걸음에 관한 정보를 포함하고 있는 CS(command state)를 결정하며, 상기 CS를 이용하여 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출하는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  2. 제 1 항에 있어서,
    상기 CS는,
    상기 이족보행 로봇의 왼발의 정면 방향으로의 보폭, 오른발의 정면 방향으로의 보폭, 왼발의 측면 방향으로의 보폭, 오른발의 측면 방향으로의 보폭, 한발지지 시간, 두발지지 시간, 왼발의 방향 및 오른발의 방향의 정보를 포함하는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  3. 제 2 항에 있어서,
    상기 CS의 결정은,
    연속된 두 발걸음 사이의 중간점을 발걸음의 기준 위치로 사용하고, 상기 기준 위치에서 단위 벡터를 산출하며, 상기 왼발의 방향 및 오른발의 방향을 상기 단위 벡터로부터 얻어지는 각도로 설정하는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  4. 제 3 항에 있어서,
    상기 단위 벡터는,
    상기 이족보행 로봇이 목적지에 도달하기 위한 단위 벡터장(move-to-goal univector field, MUF)과 장애물 회피를 위한 단위 벡터장(avoid-obstacle univector field, AUF)을 이용하되, 최종 단위 벡터는 MUF와 각 장애물들의 AUF들의 합을 표준화(normalization)하여 산출되는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  5. 제 4 항에 있어서,
    상기 이족보행 로봇의 모든 다리 관절의 궤적의 산출은 가변적 걸음 생성 방법(modifiable walking pattern generating method)을 이용하되,
    상기 가변적 걸음 생성 방법은,
    상기 이족보행 로봇의 한발지지 상태에서의 동역학을 3차원 선형 역진자 모델을 확장하여 동차해(homogeneous solution) 뿐만 아니라 특수해(particular solution)도 이용하는 방법으로, 상기 이족보행 로봇의 걸음에 관한 ZMP(zero moment point) 함수를 이용하여 한발지지 상태 동안 무게 중심의 위치와 속도를 독립적으로 변화시키는 것에 의해 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출하는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  6. 제 5 항에 있어서,
    상기 궤적의 산출은,
    상기 이족보행 로봇이 상기 결정된 CS를 따라 이동하도록, 상기 이족보행 로봇의 발을 단위 벡터의 방향으로 하고, 이전 발걸음에서의 발의 방향과 수직이고 기준 위치로부터 상기 이족보행 로봇의 미리 설정된 측면 방향 보폭의 2분의 1 만큼 떨어져 있는 위치에 놓게 하기 위한 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  7. 제 6 항에 있어서,
    상기 이족보행 로봇을 위한 발걸음 계획 방법은,
    (a) i번째 발걸음에서의 CS를 결정하는 단계;
    (b) 상기 (a) 단계의 CS를 이용하여 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출하는 단계;
    (c) 상기 (b) 단계에서 산출된 궤적에 따라, 기준 위치
    Figure pat00132
    가 발걸음의 발의 방향의 단위 벡터
    Figure pat00133
    와 수직하고, 그 발의 중심으로부터 상기 이족보행 로봇의 미리 설정된 측면 방향 보폭의 2분의 1인
    Figure pat00134
    만큼 떨어져 있는 위치
    Figure pat00135
    로 수정되는 단계;
    (d) 상기 단위 벡터
    Figure pat00136
    를 이용하여 다음 발걸음의 기준 위치
    Figure pat00137
    를 산출하는 단계;
    (e) 다음 발걸음의 단위 벡터
    Figure pat00138
    가 산출되고, 산출된 다음 발걸음의 단위 벡터
    Figure pat00139
    를 이용하여 다음 CS가 결정되는 단계;
    (f) 상기 (e) 단계에서 결정된 다음 CS를 이용하여 상기 이족보행 로봇의 모든 다리 관절의 궤적을 산출하는 단계; 및
    (g) 상기 (f) 단계에서 산출된 궤적에 따라, 기준 위치
    Figure pat00140
    가 발걸음의 발의 방향의 단위 벡터
    Figure pat00141
    와 수직하고, 그 발의 중심으로부터 상기 이족보행 로봇의 미리 설정된 측면 방향 보폭의 2분의 1인 만큼 떨어져 있는 위치
    Figure pat00143
    로 수정하는 단계; 를 포함하는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  8. 제 7 항에 있어서,
    상기 이족보행 로봇이 설정된 목적지에 도달하지 않았다면, 상기 (a) 단계부터 상기 (g) 단계를 반복적으로 실시하는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  9. 제 8 항에 있어서,
    상기 (d) 단계에서의
    Figure pat00144
    는 다음 수학식에 의해 산출되는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
    Figure pat00145

    (여기서,
    Figure pat00146
    는 상기 이족보행 로봇의 정면 방향으로 설정된 보폭을 의미한다.)
  10. 제 1 항에 있어서,
    진화 알고리즘을 이용하여 상기 단위 벡터장을 최적화함으로써 상기 이족보행 로봇의 이동에 있어서 최단 시간, 장애물과 충돌 없는 안정성 및 최소 에너지 소비를 고려한 발걸음 계획이 가능하도록 하는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  11. 제 10 항에 있어서,
    상기 진화 알고리즘을 이용한 단위 벡터장의 최적화는,
    장애물 회피를 위한 단위 벡터장(avoid-obstacle univector field, AUF)을 산출하기 위한
    Figure pat00147
    와 기호 ±를 최적화하는 것에 의해 이루어지되,
    상기
    Figure pat00148
    는 상기 AUF의 산출에 사용되는 쌍곡 나선 단위 벡터장(hyperbolic spiral univector field)의 나선(spiral)의 미리 정해진 반지름 길이, 상기
    Figure pat00149
    는 AUF의 경계(boundary)의 크기, 상기
    Figure pat00150
    은 만약
    Figure pat00151
    이 증가하면 나선(spiral)의 곡률이 부드러워지게 되는 나선(spiral)의 조절 가능한 변수, 기호 ±는 로봇의 이동 방향으로 -는 시계 방향, +는 반시계 방향의 움직임을 각각 의미하는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
  12. 제 11 항에 있어서,
    상기 진화 알고리즘을 위한 평가 함수(evaluation function)는 다음의 수학식으로 나타낼 수 있는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
    Figure pat00152

    (여기서
    Figure pat00153
    는 총 발걸음 수 n을 위한 스케일링 인자(scaling factor)를 나타내며, 첫 번째 항목
    Figure pat00154
    은 로봇이 목적지에 최소의 발걸음 수로 도달하도록 하게 한다. 또한, 두 번째 항목
    Figure pat00155
    은 장애물과의 충돌 없는 안전성을 위한 것이며, 세 번째 항목
    Figure pat00156
    은 최소 에너지 소비를 위한 것이다.)
  13. 제 12 항에 있어서,
    상기 두 번째 항목
    Figure pat00157
    은 다음의 수학식에 의해 나타낼 수 있는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
    Figure pat00158

    (여기서,
    Figure pat00159

    로 나타낼 수 있으며,
    Figure pat00160
    Figure pat00161
    는 스케일링 인자(scaling factor)이고
    Figure pat00162
    는 로봇 몸체의 반지름 길이를,
    Figure pat00163
    는 장애물의 반지름 길이를 각각 의미한다. 또한,
    Figure pat00164
    Figure pat00165
    와 기준 위치
    Figure pat00166
    로부터 장애물까지의 거리
    Figure pat00167
    와의 차이를 나타낸다. 만약 로봇이 장애물과 충돌하면
    Figure pat00168
    는 미리 설정된 패널티 값
    Figure pat00169
    로 할당된다. )
  14. 제 13 항에 있어서,
    상기 세 번째 항목
    Figure pat00170
    은 다음의 수학식에 의해 나타낼 수 있는 것을 특징으로 하는 이족보행 로봇을 위한 발걸음 계획 방법.
    Figure pat00171

    (여기서,
    Figure pat00172

    를 의미하며,
    Figure pat00173
    는 스케일링 인자(scaling factor)이고,
    Figure pat00174
    는 기준위치
    Figure pat00175
    와 이전 발걸음에서의 위치
    Figure pat00176
    사이의 이족보행 로봇의 이동 방향의 차이를 나타낸다. 만약 허용 가능 요잉 각도 범위(yawing angle range)를 넘으면
    Figure pat00177
    는 미리 설정된 패널티 값
    Figure pat00178
    로 할당된다.)
KR1020100083472A 2010-08-27 2010-08-27 이족보행 로봇을 위한 발걸음 계획 방법 KR101210498B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100083472A KR101210498B1 (ko) 2010-08-27 2010-08-27 이족보행 로봇을 위한 발걸음 계획 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100083472A KR101210498B1 (ko) 2010-08-27 2010-08-27 이족보행 로봇을 위한 발걸음 계획 방법

Publications (2)

Publication Number Publication Date
KR20120019893A true KR20120019893A (ko) 2012-03-07
KR101210498B1 KR101210498B1 (ko) 2012-12-10

Family

ID=46128690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100083472A KR101210498B1 (ko) 2010-08-27 2010-08-27 이족보행 로봇을 위한 발걸음 계획 방법

Country Status (1)

Country Link
KR (1) KR101210498B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107422733A (zh) * 2017-07-27 2017-12-01 南京理工大学 一种基于两轮差速机器人的运动控制方法
CN114019957A (zh) * 2021-10-15 2022-02-08 上海电机学院 一种企鹅机器人步态规划方法、系统、设备及存储介质
KR20220036188A (ko) * 2020-09-15 2022-03-22 한국과학기술연구원 발자국 생성을 통한 휴머노이드 로봇의 균형 복원 방법
CN114503043A (zh) * 2019-08-06 2022-05-13 波士顿动力公司 受限移动性建图
CN118363310A (zh) * 2024-06-19 2024-07-19 中国科学院自动化研究所 双足机器人爬坡方法、装置、电子设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100873107B1 (ko) * 2007-01-30 2008-12-09 한국과학기술원 이족 보행 로봇의 수정 가능한 걸음새 생성을 위한 실시간zmp 조작법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107422733A (zh) * 2017-07-27 2017-12-01 南京理工大学 一种基于两轮差速机器人的运动控制方法
CN107422733B (zh) * 2017-07-27 2020-04-21 南京理工大学 一种基于两轮差速机器人的运动控制方法
CN114503043A (zh) * 2019-08-06 2022-05-13 波士顿动力公司 受限移动性建图
US11416003B2 (en) * 2019-08-06 2022-08-16 Boston Dynamics, Inc. Constrained mobility mapping
KR20220036188A (ko) * 2020-09-15 2022-03-22 한국과학기술연구원 발자국 생성을 통한 휴머노이드 로봇의 균형 복원 방법
CN114019957A (zh) * 2021-10-15 2022-02-08 上海电机学院 一种企鹅机器人步态规划方法、系统、设备及存储介质
CN118363310A (zh) * 2024-06-19 2024-07-19 中国科学院自动化研究所 双足机器人爬坡方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
KR101210498B1 (ko) 2012-12-10

Similar Documents

Publication Publication Date Title
EP2298506B1 (en) Mobile device and method for controlling a mobile device
JP7219812B2 (ja) 地形を意識したステッププランニングシステム
Wu et al. Neurally controlled steering for collision-free behavior of a snake robot
Tian et al. Efficient motion generation for a six-legged robot walking on irregular terrain via integrated foothold selection and optimization-based whole-body planning
WO2012129259A1 (en) Damage reduction control for humanoid robot fall
CN112847371B (zh) 一种仿人机器人动态跨越连续障碍物的运动规划方法
Sabelhaus et al. Model-predictive control of a flexible spine robot
Guan et al. Stepping over obstacles with humanoid robots
KR101210498B1 (ko) 이족보행 로봇을 위한 발걸음 계획 방법
CN107856035A (zh) 一种基于强化学习和全身控制器的鲁棒性动态运动方法
Tennakoon et al. Probe-before-step walking strategy for multi-legged robots on terrain with risk of collapse
Saputra et al. Adaptive motion pattern generation on balancing of humanoid robot movement
Kumagai et al. Efficient locomotion planning for a humanoid robot with whole-body collision avoidance guided by footsteps and centroidal sway motion
Jun et al. Realization of miniature humanoid for obstacle avoidance with real-time zmp preview control used for full-sized humanoid
Shao et al. Trajectory planning and posture adjustment of a quadruped robot for obstacle striding
Shkolnik Sample-based motion planning in high-dimensional and differentially-constrained systems
Palmer et al. Force redistribution in a quadruped running trot
Khusainov et al. Arbitrary Trajectory Foot Planner for Bipedal Walking.
Liu et al. Foothold Planning and Body Posture Adjustment Strategy of Hexapod Robot in Complex Terrain
JP2004181613A (ja) ロボット装置、脚式移動ロボットの動作制御装置及び動作制御方法、脚式移動ロボットのためのセンサ・システム、並びに移動体装置
Honjo et al. Effect of Trunk Swinging Behaviors on Planar Bipedal Walking with an Upper Body on Gentle Slope
Hwang et al. Steady crawl gait generation algorithm for quadruped robots
Jia et al. Modelling and analysis of the passive planar rimless wheel mechanism in universal domain
Lee et al. Hopping system control with an approximated dynamics model and upper-body motion
Johnson Omnidirectional control of the hexapod robot TigerBug

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
LAPS Lapse due to unpaid annual fee