KR100661333B1 - 레그식 이동 로봇의 보용 생성장치 - Google Patents

레그식 이동 로봇의 보용 생성장치 Download PDF

Info

Publication number
KR100661333B1
KR100661333B1 KR1020057020341A KR20057020341A KR100661333B1 KR 100661333 B1 KR100661333 B1 KR 100661333B1 KR 1020057020341 A KR1020057020341 A KR 1020057020341A KR 20057020341 A KR20057020341 A KR 20057020341A KR 100661333 B1 KR100661333 B1 KR 100661333B1
Authority
KR
South Korea
Prior art keywords
gait
leg
upper body
zmp
inverted pendulum
Prior art date
Application number
KR1020057020341A
Other languages
English (en)
Other versions
KR20050105522A (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 혼다 기켄 고교 가부시키가이샤
Publication of KR20050105522A publication Critical patent/KR20050105522A/ko
Application granted granted Critical
Publication of KR100661333B1 publication Critical patent/KR100661333B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • 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

Abstract

레그식 이동 로봇의 동력학적 거동을 기술하는 모델을 단순화하여 선형도를 높이고, 모델의 거동을 통해 로봇의 거동이 발산하는지 여부의 예측을, 수차례, 실시간으로 연산하는 것도 가능한 것으로, 동력학적으로 한층 안정된 보용을 생성할 수 있도록 한 레그식 이동 로봇의 보용 생성장치를 제공한다.
레그부의 운동에 의해 발생하는 관성력과 중력의 합력(총 관성력)인 레그부 반력(ZMPfeet)을 산출하고, 산출된 레그부 반력과 목표 바닥 반력(목표 ZMP)에서 상체(24)의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치(ZMPpend)를 산출하고, 그 지점 위치에 따라서 도립 진자 모델의 변위(도립 진자 수평 위치(xb))를 산출하고, 그 변위에 따라서 상체의 위치(수평위치)를 산출하고, 산출된 상체 위치를 이용하여 보용을 생성한다.

Description

레그식 이동 로봇의 보용 생성장치{GAIT PATTERN GENERATING DEVICE FOR LEGGED MOBILE ROBOT}
도 1은 본 발명의 일 실시 형태에 관한 레그식 이동 로봇의 보용 생성장치를 전체적으로 도시하는 개략도,
도 2는 도 1에 도시하는 레그식 이동 로봇의 풋(foot)부의 구조를 도시하는 설명 단면도,
도 3은 도 1에 도시하는 제어 유닛을 상세하게 도시하는 블록도,
도 4는 도 1에 도시하는 레그식 이동 로봇의 보용 생성장치의 구성을 기능적으로 도시하는 블록도,
도 5는 도 4에 도시하는 구성 중의 보용 생성부로 사용하는 도 1에 도시하는 레그식 이동 로봇을 도립 진자로 근사하여 얻은 동력학 모델을 도시하는 설명도,
도 6은 도 5에 도시하는 동력학 모델을 이용하여 도 4에 도시하는 보용 생성부가 행하는 동력학 연산을 도시하는 블록도,
도 7은 도 5에 도시하는 동력학 모델의 도립 진자의 지점 위치를 도시하는 ZMP 상당치 ZMPpend를 연산하는데 이용하는 레그부의 질점의 관성력과 중력의 합력의 작용점(P)의 궤적을 도시하는 타임 챠트,
도 8은 도 1에 도시하는 레그식 이동 로봇에 있어서 상체 궤도가 발산한 경 우를 도시하는 설명도,
도 9는 도 5에 도시하는 동력학 모델의 도립 진자의 지점 위치를 도시하는 ZMP 상당치 ZMPpend를 이산(離散) 함수화하여 도시하는 타임 챠트,
도 10은 마찬가지로 도 5에 도시하는 동력학 모델의 도립 진자의 지점 위치를 도시하는 ZMP 상당치 ZMPpend의 궤도를 파형(波形)으로 도시하는 타임 챠트,
도 11은 도 10에 도시하는 ZMP 상당치 ZMPpend의 파형을 분해하여 도시하는 타임 챠트,
도 12는 도 1에 도시하는 레그식 이동 로봇의 보용 생성장치의 동작을 도시하는 플로우 챠트,
도 13은 도 12의 플로우 챠트로 사용하는 정상 선회 보용을 착지 위치 등으로부터 설명하는 설명도,
도 14는, 마찬가지로 도 12의 플로우 챠트로 사용하는 정상 선회 보용의 상체 궤도를 착지 위치 등으로부터 설명하는 설명도,
도 15는 도 12의 플로우 챠트의 정상 선회 보용의 초기 발산 성분의 산출작업을 도시하는 서브루틴 플로우 챠트,
도 16은 도 15의 플로우 챠트로 산출되는 초기 발산 성분에 따라서 도 12의 플로우 챠트에 있어서 금회 보용의 보용 파라미터인 목표 ZMP를 수정하는 동작을 설명하는 타임 챠트,
도 17은 도 12의 플로우 챠트의 초기 발산 성분에 근거하는 금회 보용의 보용 파라미터의 목표 ZMP의 수정 동작을 도시하는 서브루틴 챠트,
도 18은 도 12의 플로우 챠트의 금회 보용의 순간값 산출작업을 도시하는 서브루틴 플로우 챠트,
도 19는 제1 실시 형태에 관한 레그식 이동 로봇의 보용 생성장치에 의해서 생성되는 보용 중의 상체 궤도를 도시하는 타임 챠트,
도 20은 본 발명의 참조예에 관한 레그식 이동 로봇의 보용 생성장치의 동작 중의, 정상 선회 보용의 초기 발산 성분의 산출작업을 도시하는 도 15에 유사한 서브루틴 플로우 챠트,
도 21은 참조예에 관한 레그식 이동 로봇의 보용 생성장치의 동작 중의, 금회 보용의 보용 파라미터의 목표 ZMP의 수정 동작을 도시하는 도 17에 유사한 서브루틴 플로우 챠트,
도 22는 본 발명의 제2 실시 형태에 관한 레그식 이동 로봇의 보용 생성장치로 사용되는 정상 선회 보용의 설정예를 나타내는 도 13과 동일한 설명도,
도 23은 레그식 이동 로봇인 2족 보행 로봇의 전체 링크에 질점을 설정한 예를 도시하는 설명도이다.
<도면의 주요 부분에 대한 부호의 설명>
1 : 2족 보행 로봇(레그식 이동 로봇) 2 : 레그부(레그부 링크)
10, 12, 14R, L : 넙적다리 관절 16R, L : 무릎 관절
18R, L : 발목 관절 20R, L : 발 관절
22R, L : 발바닥(풋부) 24 : 상체
26 : 제어 유닛 34 : 6축력 센서
36 : 경사 센서 42 : 컴플라이언스 기구
60 : 제1 연산장치 62 : 제2 연산장치
100 : 보용 생성부 200 : 레그 ZMP 산출기
202 : 상체 위치 결정기
본 발명은 레그식 이동 로봇의 보용(步容: 걷는 모습) 생성장치에 관한 것으로, 보다 상세하게는 레그식 이동 로봇에 있어서, 그 보용을 자유롭고 또한 실시간으로 생성하도록 한 것에 관한 것이다.
본 출원인은 먼저, 이하에 나타내는 특허문헌 1에 있어서, 오프라인으로 설계한 기준 보용을 파라미터와 상체 궤도의 시계열(時系列)의 그룹으로 하여 로봇에 탑재한 마이크로 컴퓨터의 메모리에 기억시키고, 보행 주기 등, 시간에 관한 파라미터가 동일한 복수의 보용 순간값의 무게 평균을 구하는 것에 의해, 자유로운 보용을 생성하는 기술을 제안하고 있다.
[특허문헌 1] 일본국 특개평 10-86081호 공보
[특허문헌 2] 일본국 특공평 4-15068호 공보
[비특허문헌 1] 『노면 형상에 편차가 있는 환경에서 2족 보행 제어』(일본 로봇학회지(JRSJ), Vol. 13, No. 7, Oct., 1995
그러나, 특허문헌 1에 있어서는, 무게 평균의 산출에 있어서 보행 주기 등의 시간적 파라미터가 다른 복수의 기준 보용을 단순히 시간 파라미터도 포함시켜 무게 평균을 구하면, 동력학적 평형 조건이 근사적으로도 성립하지 않게 되었다. 따라서, 이 제안 수법으로서는 기준 보용과 다른 주기의 보용을 생성할 수 없었다.
또한, 동력학적 평형 조건이란, 목표 보용의 중력과 관성력으로부터 계산되는 ZMP가 목표 ZMP에 일치한 것, 보다 상세하게는 로봇의 관성력과 중력의 합력이 목표 ZMP 근방에서 작용하는 모멘트의 수평 성분이 0인 것을 의미한다. 또한, ZMP(Zero Moment Point)는, 운동에 의한 관성력과 중력의 합력이 바닥과 교차하는 점을 의미한다. 보다 엄밀하게는, 로봇의 운동에 의한 관성력과 중력의 합력의 모멘트의 수평 성분이 0이 되는 바닥상의 작용점을 의미한다.
또, 상기한 특허문헌 1에 있어서는, 1보(步)의 보용과 다음 1보의 보용의 경계에서, 상체의 위치와 속도의 양쪽을 연속으로 하기 위해서, 경우에 따라서는 목표 ZMP를 이상적인 궤도로부터 크게 엇갈리게 할 필요가 있으므로, 안정 여유가 저하하는 경우도 있었다.
또한, 다양한 보행을 실현하기 위해서는 수많은 기준 보용의 시계열 데이터를 기억할 필요가 있어, 메모리 용량이 증가하는 문제가 있었다. 또한 기준 보용을 오프라인에서 시행 착오에 의해서 생성하지 않으면 안되는 동시에, 기준 보용으로부터 멀리 떨어진 보용을 생성하고자 하면, 근사도가 크게 저하하는 문제가 있었다.
그런데, 보용은 물리 법칙에 거역할 수 없으므로, 그 허용 범위 내에서 ZMP 등의 보용 파라미터를 생성할 필요가 있고, 또한, 2족 보행 로봇의 동력학계는 ZMP 를 입력으로 하고, 상체 위치를 출력으로 하는 시스템으로 간주하면 발산계(發散系)가 되므로, 생성한 보용 파라미터에 의해서 로봇의 거동이 발산되지 않도록 배려할 필요가 있다. 또한, 「발산」이란, 후에 언급하는 도 8에 도시하는 바와 같이, 2족 보행 로봇의 상체의 위치가 양 레그부(발바닥)의 위치로부터 떨어진 위치로 어긋나는 것을 의미한다.
이 점에서, 실시간으로 보용을 생성하는 경우, 생성한 보용 파라미터에 의해서 로봇에 생기는 장래의 거동을 예측하여, 발산할 가능성이 있을 때는 발산을 방지하는 것이 바람직하다.
그러나, 도 23에 도시하는 바와 같이, 로봇(2족 보행 로봇)을 다질점계에서 모델화하면, 연산량이 많고 또한 비선형성이 강해지므로, 보용의 종단상태를 실시간으로 구하는 것은 로봇에 탑재 가능한 통상의 CPU의 능력으로는 곤란하다.
한편, 장래 거동 예측과 그에 의거하는 발산 방지 제어는, 많은 지식을 축적해 두고, 보용 교체시마다 그 때의 상태와 목적에 따라, 축적한 지식에 비추어 목표 보용을 골라내는 수법이라도, 어느 레벨까지는 달성할 수 있지만, 모든 상황에 대응하려 하면 조합 폭발을 일으켜, 사실상은 불가능하다.
따라서, 레그식 이동 로봇에 있어서, 실시간으로 해석적으로 장래 거동을 예측 계산할 수 있도록, 로봇의 동력학을 기술하는 동력학 모델을 단순화하는 것이 요망되고 있다.
동력학 모델로는 종래부터 대표적인 것으로 다음 2개가 알려져 있다.
l) 1질점(質點) 모델
2) 영향도가 작은 질점을 무시한 다질점 모델
1질점 모델은, 예를 들면 상기한 특허문헌에서 제안되어 있고, 그 제안 기술에 있어서는 질점을 상체만큼 설정한 1질점계로서 로봇을 모델화하는 동시에, 상체의 높이를 일정하게 함으로써, 선형성을 확보하고 있다. 이 모델은 거동을 해석적으로 구하는 것이 용이하다.
이 특허문헌 2에 관한 로봇은 레그가 매우 가볍기 때문에, 레그 반력을 무시한 영향은 작지만, 통상의 인간형의 2족 보행 로봇의 경우, 레그부의 질량을 무시할 수 없을 정도로 크기 때문에, 이 제안 기술에 의거할 때는 근사 정밀도가 저하하고, 고속으로 보행시키면, 최악의 경우, 전도된다.
2)의 영향도가 작은 질점을 무시한 다질점 모델의 예로는 비특허 문헌 1을 들 수 있다.
비특허문헌 1에 있어서는, 각 레그의 무릎과 발목 및 상체에 각각 질점이 설정되어 있다. 보다 구체적으로는 각 질점은 어느 링크 또는 관절상에 로컬로 설정된 좌표계 내에 있는 고정된 점(좌표)에 설정된다.
이 모델에서는, 도 23에 도시하는 전체 링크에 질점과 관성을 설정하는 경우에 비교하면, 연산량이 10분의 1정도로 감소한다. 또한, 상기한 1질점 모델보다는, 근사 정밀도가 높아지고, 레그의 질량이 큰 로봇이라도, 이 수법으로 생성한 목표 보용을 이용하여 보행시킬 수 있다.
그러나, 도 23에 도시하는 예와 같이, 영향도가 작은 질점을 무시한 다질점 모델에 있어서도, 비선형성이 여전히 강하기 때문에, 해석적으로 장래 거동을 예측 하여 발산하지 않도록 대처하는 것은 불가능하였다.
따라서, 본 발명의 목적은, 레그식 이동 로봇의 동력학적 거동을 기술하는 모델을 단순화하여 선형도를 높이고, 모델의 거동을 통해 로봇의 거동이 발산하는지 여부의 예측을, 수차례, 실시간으로 연산하는 것도 가능하므로, 동력학적으로 한층 안정된 보용을 생성할 수 있도록 한 레그식 이동 로봇의 보용 생성장치를 제공한다.
상기한 목적을 달성하기 위해, 청구항 1에서는, 적어도 상체와, 상기 상체에 연결되는 복수 개의 레그부를 구비한 레그식 이동 로봇의 보용 생성장치에 있어서, 상기 레그부의 목표 운동에 기초하여, 상기 레그부의 목표 운동에 의해 발생하는 관성력과 중력의 합력인 레그부 반력을 산출하는 레그부 반력 산출수단, 적어도 목표 바닥 반력과 상기 레그부 반력 산출수단이 산출한 레그부 반력에 기초하여, 적어도 상기 상체의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치를 산출하는 도립 진자 모델 지점 위치 산출수단, 적어도 상기 도립 진자 모델 위치 산출수단이 산출한 도립 진자 모델의 지점 위치에 기초하여, 상기 도립 진자 모델의 변위를 산출하는 도립 진자 모델 변위 산출수단, 적어도 상기 도립 진자 모델 변위 산출수단이 산출한 도립 진자 모델의 변위에 기초하여, 상기 상체의 위치를 산출하는 상체 위치 산출수단, 및 적어도 상기 상체 위치 산출수단이 산출한 상체 위치를 이용하여 보용을 생성하는 보용 생성수단을 구비하도록 구성하였다.
청구항 2에서는, 적어도 상체와, 상기 상체에 연결되는 복수 개의 레그부를 구비한 레그식 이동 로봇의 보용 생성장치에 있어서, 상기 레그부의 목표 운동에 기초하여, 상기 레그부의 목표 운동에 의해 발생하는 관성력과 중력의 합력인 레그부 반력에 유사적으로 대응하는 상기 레그부의 ZMP에 상당하는 레그부 ZMP를 산출하는 레그부 ZMP 산출수단, 적어도 목표 ZMP와 상기 레그부 ZMP 산출수단이 산출한 레그부 ZMP에 기초하여, 적어도 상기 상체의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치를 산출하는 도립 진자 모델 지점 위치 산출수단, 적어도 상기 도립 진자 모델 지점 위치 산출수단이 산출한 도립 진자 모델의 지점 위치에 기초하여, 상기 도립 진자 모델의 변위를 산출하는 도립 진자 모델 변위 산출수단, 적어도 상기 도립 진자 모델 변위 산출수단이 산출한 도립 진자 모델의 변위에 기초하여, 상기 상체의 위치를 산출하는 상체 위치 산출수단, 및 적어도 상기 상체 위치 산출수단이 산출한 상체 위치를 이용하여 보용을 생성하는 보용 생성수단을 구비하도록 구성하였다.
청구항 3에 따른 레그식 이동 로봇의 보용 생성장치에서는, 상기 도립 진자 모델 지점 위치 산출수단은, 상기 목표 ZMP에 제1 계수를 곱해 얻은 곱으로부터, 상기 레그부 ZMP에 제2 계수를 곱해 얻은 곱을 감산하여 상기 도립 진자 모델의 지점 위치를 산출하도록 구성하였다.
청구항 4에 따른 레그식 이동 로봇의 보용 생성장치에서는, 상기 바닥 반력이 적어도 ZMP를 포함하도록 구성하였다.
청구항 5에 따른 레그식 이동 로봇의 보용 생성장치에서는, 상기 도립 진자 모델이 선형 모델이도록 구성하였다.
이하, 첨부 도면을 참조하여 본 발명의 일 실시 형태에 관한 레그식 이동 로봇의 보용 생성장치를 실시하기 위한 최선의 형태를 설명한다. 또, 레그식 이동 로봇으로는 2족 보행 로봇을 예로 든다.
[실시예 1]
도 1은, 본 실시 형태에 관한 보용 생성장치가 적용되는 레그식 이동 로봇, 보다 구체적으로는 2족 보행 로봇을 전체적으로 도시하는 개략도이다.
도시한 바와 같이, 2족 보행 로봇(이하「로봇」이라고 한다)(1)은 좌우 각각의 레그부(레그부 링크)(2)에 6개의 관절을 구비한다. 6개의 관절은 위로부터 순서대로 넙적다리(허리부)의 레그부 선회(회전)용의 관절(10R, 10L)(우측을 R, 좌측을 L로 한다. 이하 동일), 넙적다리(허리부)의 롤(roll) 방향(X축 주위)의 관절(12R, 12L), 넙적다리(허리)의 피치 방향(Y축 주위)의 관절(14R, 14L), 무릎부의 피치 방향의 관절(16R, 16L), 발목의 피치 방향의 관절(18R, 18L), 동 롤 방향의 관절(20R, 20L)로 구성된다.
관절(18R)(L),(20R)(L)의 하부에는 발바닥(풋부)(22R, 22L)이 부착됨과 동시에, 최상위에는 상체(몸체)(24)가 설치되고, 그 내부에 마이크로 컴퓨터로 이루어지는 제어 유닛(26)(후술) 등이 격납된다. 상기에 있어서, 다리 관절(혹은 허리관절)은 관절(10R)(L),(12R)(L),(14R)(L)로부터 발 관절(발목 관절)은 관절(18R)(L), (20R)(L)로 구성된다. 또한 다리 관절과 무릎 관절이란 대퇴 링크(28R, 28L), 무릎관절과 발관절과는 하퇴 링크(30R, 30L)로 연결된다.
또, 상체(24)의 상부에는 팔이 설치되는 동시에, 그 상부에는 헤드부가 배치되지만, 그 상세한 것은 본 발명의 요지와 직접적인 관련을 갖지 않으므로 생략한다.
상기의 구성에 의해, 레그부(2)는 좌우의 발에 관해서 각각 6개의 자유도가 주어지고, 보행 중에 이들 6*2=12개의 관절을 적당한 각도로 구동시킴으로써, 발 전체에 원하는 움직임을 줄 수 있고, 임의로 3차원 공간을 보행시킬 수 있다(이 명세서에서 「*」는 스칼라(scalar)에 대한 연산으로는 곱하기를, 벡터에 대한 연산으로는 벡터곱을 표시한다).
또, 본 명세서에서 후술하는 상체(24)의 위치 및 그 속도는 상체(24)의 소정위치, 구체적으로는 상체(24)의 대표점의 위치 및 그 이동속도를 의미한다. 이에 대해서는 후술한다.
도 1에 도시하는 바와 같이, 발관절의 하측방에는 공지의 6축력 센서(34)가 부착되고, 힘의 3방향 성분(Fx, Fy, Fz)과 모멘트의 3방향 성분(Mx, My, Mz)을 측정하여, 레그부의 착지의 유무 및 바닥 반력(접지 하중) 등을 검출한다. 또한, 상체(24)에는 경사 센서(36)가 설치되고, Z축(연직 방향(중력 방향))에 대한 경사와 그 각속도를 검출한다. 또한 각 관절의 전동 모터에는 그 회전량을 검출하는 로터리 인코더(rotary encoder)가 설치된다.
도 2에 도시하는 바와 같이, 발판(22R(L))의 상측방에는 용수철 기구(38)가 장비되는 동시에, 발바닥에는 고무 등으로 이루어지는 발바닥 탄성체(40)가 부착되어 컴플라이언스(compliance) 기구(42)를 구성한다. 용수철 기구(38)는 구체적으 로는 발판(22R(L))에 부착된 사각형의 가이드 부재(도시하지 않음)와, 발목 관절(18R(L)) 및 6축력 센서(34)측에 부착되고, 상기 가이드 부재에 탄성재를 통해 미동(微動) 자유롭게 수납되는 피스톤형상 부재(도시하지 않음)로 이루어진다.
도면 중에 실선으로 표시된 발판(22R(L))은 바닥 반력을 받지 않을 때의 상태를 도시한다. 바닥 반력을 받으면, 컴플라이언스 기구(42)에 있어서 용수철 기구(38)와 발바닥 탄성체(40)가 휘어지고, 발판(22R(L))은 도면중에 점선으로 표시된 위치 자세로 이동한다. 이 구조는 착지 충격을 완화하기 위한 것 뿐만 아니라, 제어성을 높이기 위해서도 중요한 것이다. 또한, 그 상세한 것은 본 출원인이 먼저 제안한 일본국 특개평 5-305584호에 기재되어 있으므로, 상세한 설명은 생략한다.
또한, 도 1에서는 도시를 생략하지만, 로봇(1)의 적절한 위치에는 죠이 스틱(44)이 구비되고, 외부에서 필요에 따라 직진 보행하는 로봇(1)을 선회시키는 등 보용에 대한 요구를 입력할 수 있도록 구성된다.
도 3은 제어 유닛(26)을 상세하게 도시하는 블록도이고, 마이크로 컴퓨터로 구성된다. 여기에서 경사 센서(36) 등의 출력은 A/D 변환기(도면에서 「A/D」로 표시한다)(50)에서 디지털 값으로 변환되고, 그 출력은 버스(52)를 통해 RAM(54)에 보내진다. 또한 각 전동 모터에 인접하여 배치되는 인코더 출력은 카운터(56)를 통해 RAM(54)내에 입력된다.
제어 유닛(26)의 내부에는 각각 CPU로 이루어지는 제1, 제2 연산장치(60, 62)가 설치되고, 제1 연산장치(60)는 후술과 같이, 목표 보용을 생성하는 동시에, 후술과 같이 관절 각 변위 지령을 산출하고, RAM(54)에 송출한다. 또한 제2 연산장치(62)는 RAM(54)으로부터 그 지령과 검출된 실측치를 읽어내고, 각 관절의 구동에 필요한 조작량을 산출하여 D/A 변환기(도면에 「D/A」라고 도시한다)(66)와 증폭장치를 통해 각 관절을 구동하는 전동 모터에 출력한다.
도 4는, 본 실시 형태에 관한 레그식 이동 로봇의 보용 생성장치의 구성 및 동작을 전체적으로 도시하는 블록도이다.
이하 설명하면, 이 장치는 보용 생성부(100)를 구비하고, 보용 생성부(100)는 후술과 같이 목표 보용을 자유롭고 또한 실시간으로 생성하여 출력한다. 목표 보용은 목표 상체 위치 자세(궤도), 목표 발판 위치 자세(궤도), 목표 전체 바닥 반력 중심점(목표 ZMP)(궤도) 및 목표 전체 바닥 반력(궤도 혹은 패턴)으로 이루어진다.
또한, 각 발판(22R, L)의 바닥 반력을 「각 발판 바닥 반력」이라고 부르고, 모든(2개의) 발판의 바닥 반력의 합력을 「전체 바닥 반력」이라고 부른다. 단, 이후에서는 각 발판 반력은 거의 언급하지 않으므로, 언급하지 않는 한, 「바닥 반력」은 「전체 바닥 반력」과 같은 의미로 취급한다.
최초에 이 장치가 생성하는 보용에 관해서 설명하면, 본 발명의 목적은 상기한 바와 같이 보용을 실시간으로 생성하는 장치를 제공하는 것에 있고, 보다 구체적으로는 본 출원인이 먼저 일본국 특개평 10-277969호 공보에서 제안한 복합 컴플라이언스 제어에 의한 로봇의 자세 안정화 제어를 행하기 위해서 필요한 목표 보용을 자유롭게 생성하는 것을 목적으로 하고 있다.
이전에 제안한 자세 안정화 제어에 있어서는, 바닥 반력 중심점(ZMP)의 목표위치와 실측위치의 편차를 검출하고, 그 편차를 해소하도록 레그부의 한쪽 또는 양쪽을 구동하여 자세의 안정화를 도모하고 있다. 이와 함께 로봇이 쓰러질 듯이 되면, 목표 바닥 반력을 의도적으로 엇갈리게 해 놓아 실제 바닥 반력을 엇갈리게 하고, 자세 복원력을 얻도록 하고 있다.
이와 같이, 레그식 이동 로봇에 있어서는, 목표 운동 궤적과 목표 바닥 반력 패턴의 관계가 동력학적 평형 조건을 만족하지 않으면, 안정된 보행을 실현할 수 없다. 동력학적 평형 조건은 상기와 같이, 구체적으로는, 예를 들면 목표 바닥 반력 중심점(목표 바닥 반력 분포의 2차 모멘트가 0이 되는 바닥 위의 작용점)과 ZMP가 일치하는 것이다. 일치하지 않으면, 컴플라이언스 제어가 행해졌을 때, 관성력과 중력의 합력과 바닥 반력 사이의 밸런스를 무너뜨리고, 최악의 경우, 전도된다.
먼저 제안한 기술에 있어서는, 이를 로봇이 불안정해졌을 때의 자세 회복에 역이용하고 있지만, 상기로부터 명백한 바와 같이, 본 출원인이 제안하는 레그식 이동 로봇에 있어서는 이와 같이 보행 제어에 부여하는 목표치로서, 목표의 운동 패턴 뿐만 아니라, 목표의 운동 패턴에 대해 동력학적 평형조건을 만족하는 목표 바닥 반력 패턴도 필요하다.
목표 바닥 반력은, 일반적으로는, 작용점과 그 점에 작용하는 힘과 힘의 모멘트에 의해서 표현된다. 작용점은 어디에 있어도 되므로, 동일한 목표 바닥 반력이라도 무수한 표현을 생각할 수 있는데, 특히 전술의 목표 바닥 반력 중심점을 작용점으로 하여 목표 바닥 반력을 표현하면, 힘의 모멘트는 바닥에 수직인 성분을 제외하면, 0으로 된다.
또, 전술과 같이, 동력학적 평형 조건을 만족하는 보용에서는 목표로 하는 운동 궤적으로부터 산출되는 ZMP와 목표 바닥 반력 중심점이 일치하므로, 목표 바닥 반력 중심점 궤도 대신에 목표 ZMP 궤도를 부여해도 동일하다.
따라서, 상기는 「보행 제어에 부여하는 목표치로는 목표 운동 궤적 뿐만 아니라, 목표 ZMP 궤도(목표 바닥 반력 패턴)도 필요하다」고 바꿔 말할 수 있다. 이러한 배경에서, 본 명세서에서는 목표 보용을 다음과 같이 정의한다.
a) 광의의 목표 보용이란 1보 내지는 복수 보의 기간의 목표 운동 궤적과 그 목표 바닥 반력 패턴의 그룹이다.
b) 협의의 목표 보용이란, 1보의 기간의 목표 운동 궤적과 그 ZMP 궤도의 그룹이다.
c) 일련의 보행은 몇 개의 보용이 연결된 것으로 한다.
또, 이하에서는 이해를 쉽게 하기 위해서, 특별히 언급하지 않는 한, 목표 보용은 협의의 목표 보용의 의미로 사용한다. 보다 상세하게는, 이 명세서에서 목표 보용은 양 레그 지지기간의 초기에서 한쪽 레그 지지기간의 종단까지의 의미로 사용한다.
또한, 양 레그 지지기간은 말할 것도 없이, 로봇(1)이 그 자체 무게를 레그부 링크(2)의 양쪽에서 지지하는 기간을, 한쪽 레그 지지기간이란 레그부 링크(2)의 한쪽에서 지지하는 기간을 말한다. 한쪽 레그 지지기간에서 로봇(1)의 자체 무게를 지지하지 않는 측의 레그부(링크)를 「움직이지 않는 레그(유각(遊脚)」라고 부른다. 정의의 상세한 것은, 먼저 제안한 일본국 특개평 10-86081호공보에 기재되어 있으므로, 이 정도의 설명에 멈춘다.
본 발명은, 구체적으로는, 상기에 정의한 목표 보용을 자유롭게 또한 실시간으로 생성하는 것을 목적으로 한다. 자유롭고 또한 실시간으로 생성할 수 있으면, 예를 들면 로봇(1)을 원격 조종에 의해서 오퍼레이터가 자유롭게 조종할 수 있고, 또한, 자동 조종에 있어서도, 단순한 고정 시퀀스대로 이동할 뿐만 아니라, 유도 제어나 미세한 위치 결정도 가능해진다.
여기서, 목표 보용으로서의 조건을 설명한다.
목표 보용이 만족되지 않으면 안되는 조건은 크게 나누어 이하의 5개로 분류된다.
조건 1) 동력학적 평형 조건을 만족할 것. 즉, 로봇(1)의 목표 운동 궤적으로부터 동력학적으로 산출되는 ZMP 궤도가 목표 ZMP 궤도와 일치할 것.
조건 2) 로봇(1)의 보행 계획부나 보행 경로 유도부(모두 도시하지 않음), 혹은 오퍼레이터로부터 보폭이나 선회각 등 보용이 만족해야 할 조건이 요구되는 경우, 그들 요구 조건을 만족할 것.
조건 3) 발판이 바닥을 파거나 문지르지 않고, 관절 각도가 가동 범위를 넘지 않고, 관절 속도가 한계를 넘지 않는 등의, 키네마틱스(운동학)에 관한 제약 조건을 만족할 것.
조건 4) 한쪽 레그 지지기간에서 ZMP가 지지 레그 발판 접지면내로 되지 않으면 안되며, 구동계의 최대 능력을 넘지 않는 등의, 동력학에 관한 제약 조건을 만족할 것.
조건 5) 경계 조건을 만족할 것. 즉, 조건 1)의 당연한 결과로서, 보용과 보용의 경계에서는 적어도, 각 부위의 위치와 속도가 연속이라는 경계 조건이 이끌어진다(불연속이면, 무한대의 힘이 발생하거나, ZMP가 접지면에서 훨씬 먼 점으로 이동해 버리므로).
또한, 제 n + 1회 보용의 초기 상태는 제 n회 보용의 종단 상태(특히, 발판 위치에 대한 상체의 위치·자세 및 속도)에 일치하도록 설정되지 않으면 안된다. 이 때, 제 n회 보용의 종단 상태는 제 n+ 1회 보용의 초기 상태가 결정되면, 제 n+ 1회 보용의 초기 상태에 일치시키면 된다.
결정되지 않으면, 제 n회 보용의 종단 상태가, 자세가 무너지지 않고 장기적인 보행을 할 수 있는 범위로 들어가면 된다. 단, 후술하는 바와 같이, 자세가 무너지지 않고 장기적인 보행을 할 수 있기 위한 종단 상태의 범위를 구하는 것은 매우 어렵다.
일반적으로, 목표 보용은 파라미터 값 혹은 시계열 테이블을 포함하는 보용 발생 알고리즘에 의해 발생된다.(보용을 결정한다는 것은 파라미터 값 혹은 시계열 테이블을 적당히 설정하는 것이다.)
파라미터 값 혹은 시계열 테이블을 바꿈으로써, 다양한 보용이 생성된다. 그러나, 파라미터 값 혹은 시계열 테이블을 충분한 배려도 하지 않고서 설정한 것만으로는, 작성된 보용이 상기의 보용 조건을 전부 만족하고 있는지 여부는 알 수 없다.
특히, 장기적 보행에 알맞은 종단 상체 위치 및 속도의 범위를 알았다고 해도, ZMP 궤도에 따라서 상기한 조건 1)을 만족하는 상체의 궤도를 보용 발생 알고리즘에 따라서 생성하는 경우에는 발생한 보용의 종단에서의 상체 위치와 속도의 양쪽이 그 범위에 들어가도록 ZMP 궤도에 관한 파라미터를 설정하는 것은 매우 어렵다.
그 이유는 다음과 같다.
이유 1) 상체는 일단, ZMP에서 멀어지면, 더 멀어지려는 발산 경향이 있다. 이를 설명하기 위해, 로봇의 상체의 거동에 가까운 도립 진자의 거동을 예로 든다.
도립 진자는 중심의 바닥 투영점이 지점으로부터 벗어나면, 어긋남이 발산하여 쓰러진다. 그러나, 이 때에도 도립 진자의 관성력과 중력의 합력은 지점(支點)상에 작용하고 (즉, ZMP이 지점에 일치하고), 지점으로부터 받는 바닥 반력에 균형이 잡혀 있다. 즉, 동력학적 평형조건은 운동하는 물체의 그 순간에서의 관성력과 중력과 바닥 반력의 관계를 나타낼 뿐이다.
동력학적 평형조건을 만족하면 로봇의 장기 보행이 보증된 것으로 착각하기 쉽지만, 로봇의 자세가 무너지는지 여부와는 전혀 관계가 없다. 도립 진자의 중심이 지점의 바로 위에서 멀어지면, 점점 더 멀어지려는 경향이 있듯이, 로봇의 중심이 ZMP의 바로 위에서 멀어지면 점점 더 멀어지려는 발산 경향이 있다.
이유 2) 한쪽 레그 지지기간에서 ZMP가 지지 레그 발판 접지면내에 없으면 안되는 등의 엄격한 제약 조건이 있으므로, 상체의 가감속 패턴을 자의적으로 설정할 수 없고, 위치를 맞추려 하면 속도가 맞지 않고, 속도를 맞추려 하면 위치가 맞 지 않아, 양쪽을 동시에 일치시키는 것은 상당히 어렵다. 이상의 문제점 때문에, 상기 보용 조건을 모두 만족한 목표 보용의 파라미터나 테이블 등의 오프라인으로 설계한 기준 보용을 가지지 않고, 완전히 실시간으로 결정하는 것은 먼저 제안한 기술도 포함해 종래에는 불가능했다.
보용의 설명을 계속하면, 보용은 보용 파라미터에 의해서 기술된다. 보용 파라미터는 운동 파라미터와 ZMP 파라미터(보다 일반적으로 표현하면, 바닥 반력 파라미터)로 구성된다. 또한, 이 명세서에서 「바닥 반력 파라미터」라는 단어는 「바닥 반력의 시간적인 패턴에 관한 파라미터」를 의미하는 것으로서 사용한다. ZMP 파라미터는 후에 도 16에 도시하는 바와 같이, X, Y, Z 좌표(방향)에 대해 꺾긴 선 그래프상의 ZMP 궤도의 꺾인 점의 위치와 통과 시각으로 표시한다(X 좌표만 도시).
운동 파라미터는, 발판(궤도) 파라미터와 상체(궤도) 파라미터로 구성된다.
발판 궤도 파라미터는, 초기(바닥에서 떨어질 때) 움직이지 않는 레그 위치 및 자세, 종단(바닥에 붙을 때) 움직이지 않는 레그 위치 및 자세, 양 레그 지지기간 시간, 한쪽 레그 지지기간 시간 등을 포함한다. 이들에 의거하여, 먼저 본 출원인이 일본국 특개평 5-318339호 및 일본국 특개평 5-324115호 공보 등에서 제안한 기술을 이용하여, 양 발판의 위치(xf, yf, zf) 및 자세(θxf, θyf, θzf)의 순간값이 구해진다. 또한, 여기서 자세는 「공간상의 경사 또는 방향」을 의미한다.
상체 궤도 파라미터는, 상체의 자세(공간상의 상체(24)의 방향 혹은 경사)를 결정하는 파라미터, 상체 높이(Z방향의 값)를 결정하는 파라미터, 초기의 상체 위 치(변위) 및 속도 파라미터 등으로 구성된다.
상체의 위치 및 자세를 결정하는 파라미터에 의하여, 시간 함수 또는 먼저 일본국 특개평 5-324115호 공보에서 본 출원인이 제안한 기술이나 후술하는 수법으로부터 상체의 수평 위치(xb, yb) 및 자세(θxb, θyb, θzb)의 순간값이 구해진다. 상체 높이(zb)는 적당한 수법, 예컨대 본 출원인이 일본국 특개평 10-86080호 공보에서 제안하는 수법으로 결정된다.
레그식 이동 로봇(1)의 관절은 도 1에 도시하는 바와 같이 12 관절로 구성되어 있으므로, 얻어진 양 발판의 위치·자세와 상체 위치·자세로부터 후술하는 바와 같이 역 키네마틱스 연산에 의해서 목표 관절 변위가 일의적으로 결정된다. 즉, 금회의 로봇의 목표 자세가 일의적으로 결정된다.
그런데, 이상적 목표 보용은 물리 법칙에 거역할 수 없으므로, 원하는 상태에 곧 도달할 수 없다. 허용 범위내에서 ZMP의 궤도, 착지 위치 및 착지 시기 등의 보용 파라미터를 변경함으로써, 시간을 걸려 희망하는 상태로 천이하지 않으면 안된다. 특히, 이 실시 형태에 있어서 2족 보행 로봇의 동력학계는 ZMP을 입력으로 하고, 상체 위치를 출력으로 하는 시스템으로 간주하는 발산계로 되므로, 신중하게 보용 파라미터를 변경하지 않으면, 정상적인 상태로 복원하는 것이 곤란해진다.
따라서, 목표 보용을 자유롭고 또한 실시간으로 생성할 때는 로봇의 장래의 거동을 예측하고, 어떻게 보용 파라미터 값을 설정하면, 로봇의 장래, 예컨대 몇 보 앞의 거동이 발산하지 않을지 여부를 판단하는 동시에, 발산할 가능성이 예측될 때는 발산을 방지하도록 보용을 조정하는 것이 바람직하다.
그러나, 상기한 바와 같이, 도 23에 도시하는 다질점계 모델을 이용했을 때, 그 동력학 연산은 연산량이 많고 또한 비선형성이 강하므로, 종단 상태를 실시간으로 구하는 것은 로봇에 탑재 가능한 통상의 CPU(제1 연산장치(60))의 능력에서는 곤란하다.
한편, 장래 거동 예측과 그에 의거하는 발산 방지 제어는 많은 지식을 축적시켜 두고, 보용 변환마다, 그 때의 상태와 목적에 따라, 지식에 대조하여 목표 보용을 골라내는 수법이라도, 어느 레벨까지는 달성할 수 있을 것이지만, 모든 상황에 대응하는 것은 조합 폭발을 일으켜, 사실상 불가능하다.
그래서, 본 실시 형태에 있어서는, 로봇(1)의 동력학적 거동을 기술하는 동력학 모델을 단순화하고, 실시간 또한 해석적으로 장래 거동을 예측 계산할 수 있도록 했다. 도 5에 그 단순화한 동력학 모델을 도시한다. 도시한 바와 같이, 이 동력학 모델은 3질점 모델이고, 디커플드(decoupled), 즉, 레그부의 동력학과 상체의 동력학이 상호 비간섭으로 구성되는 동시에, 로봇 전체의 동력학은 이들의 선형 결합으로 표시된다. 도 6은 보용 생성부(100)의 동력학 연산부에서 도 5에 도시하는 동력학 모델을 이용하여 행해지는 동력학 연산을 도시하는 블록도이다.
이하, 이 동력학 모델을 설명한다.
1) 이 모델은 도립 진자, 지지 레그 발판 질점, 움직이지 않는 레그 발판 질점의 3질점으로 구성된다.
2) 지지 레그 발판 질점은 지지 레그 발판에 로컬로 설정된 좌표계(구체적으 로는, 원점이 발목 중심에서 발바닥으로의 수직 투영점, XY 평면이 발바닥에 일치하고, 발뒤꿈치로부터 발끝으로의 방향을 X축에 잡은 XYZ 직교 좌표계이고, 이를 이후, 「지지 레그 로컬 좌표계」라고 부른다)상의 어느 고정된 점에 설정된다. 이 고정된 점의 지지 레그 로컬 좌표계상의 좌표를, 「지지 레그 발판 질점 오프셋」이라고 부른다.
마찬가지로, 움직이지 않는 레그 발판 질점은 움직이지 않는 레그 발판에 로컬로 설정된 좌표계(이를 이후 「움직이지 않는 레그 로컬 좌표계」라고 부른다)상에 어느 고정된 점에 설정된다. 이 고정된 점의 움직이지 않는 레그 로컬 좌표계상의 좌표를, 「움직이지 않는 레그 발판 질점 오프셋」이라고 부른다.
또한, 지지 레그가 바닥에 전면적으로 밀착하고 있을 때의 발목 위치의 바닥으로의 연직 투영점을 원점으로 하여, 바닥에 고정되고, 지지 레그 발판의 전방 방향을 X축, 좌측 방향을 Y축, 연직 방향을 Z축으로 잡은 좌표계를 「지지 레그 좌표계」라고 부른다(이는 상기한 지지 레그 로컬 좌표와는 다르다.). 언급하지 않는 한, 위치, 속도, 힘 등은 지지 레그 좌표계로 표시한다.
3) 도립 진자는 수평으로 이동하는 프리 지점(a)과, 한 개의 질점(b)과, 지점과 질점을 연결하는 질량이 없는 가변 길이의 링크(c)로 구성된다. 또한, 링크가 경사져도 링크가 신축하고, 지점에서 본 질점 높이가 일정값으로 유지되는 것으로 한다.(환언하면, 이 도립 진자는 상기한 일본국 특공평 4-15068호 공보에 기재되는 로봇의 선형 도립 진자와 동일하다.)
도립 진자 질점은 물리적 의미로는 상체(24)의 질점(반드시 중심 위치를 의 미하지 않는다)에 대응한다. 따라서, 도립 진자 질점과 상체 질점은 이후, 동의어로서 취급한다. 도립 진자 질점의 위치(보다 넓은 의미로 말하면 변위)를, 이후, 간단히 「도립 진자 위치」라고 부른다.
4) 상체의 수평 위치는 도립 진자의 수평 위치로부터 기하학적으로 결정된다. 구체적으로는 예를 들면 상체에 로컬로 설정된 좌표계(이를 이후,「상체 좌표계」라고 부른다)상의 어느 고정된 대표점(이 점을 이후, 「상체 대표점」이라고 부른다)의 수평 위치(지지 레그 좌표계에서 본 XY 좌표)가, 도립 진자의 수평 위치에 일치하도록 결정된다. 즉, 도 5에 도시하는 바와 같이, 상체 대표점과 도립 진자 질점(b)은 동일 연직선상에 있도록 결정된다.
상체 대표점의 상체 좌표계상의 수평 좌표(XY 좌표)를 「상체 질점 오프셋」이라고 부른다.
이어서, 도시하는 동력학 연산 모델에 관한 변수 및 파라미터 등의 기술법에 대해 설명한다.
설명의 편의상, 동력학 연산 모델에 관한 변수 및 파라미터 등을 이하와 같이 정의하여 기술한다.
도립 진자의 ZMP는 지점(a)의 위치에 있다. 왜냐하면, ZMP는 정의에서 모멘트가 발생하지 않는 점이고, 프리 지점(a)에는 모멘트가 발생하지 않기 때문이다. 그래서, 도립 진자 지점 위치를 도립 진자 자신의 ZMP 위치(ZMP 상당치)라고 함으로써, 이후, 「도립 진자(ZMP)」라고 부르고, 「ZMPpend」라고 기술한다.
각 질점의 질량과 위치는 다음과 같이 기술한다.
msup : 지지 레그 질점 질량
mswg : 움직이지 않는 레그 질점 질량
mb : 도립 진자 질점 질량(상체 질점 질량)
mtotal : 로봇 질량(= mb+ msup+ mswg)
mfeet : 양 레그 질량(= msup+ mswg)
xsup : 지지 레그 질점 위치
xswg : 움직이지 않는 레그 질점 위치
xb : 도립 진자 위치(상체 질점 위치)
이후, 언급하지 않는 한, xb는 3차원 벡터(XYZ 좌표 벡터)로 표시한다. 도립 진자의 높이는 도립 진자의 지점으로부터 질점까지의 높이를 의미하고, h로 기술한다.
d(xb)/dt는 xb의 1차 미분을 표시하고, 도립 진자의 속도를 도시한다. d2(xb)/dt2는 xb의 2차 미분을 나타내고, 도립 진자의 가속도를 도시한다. g는 중력 가속도 정수를 나타낸다. G는 중력 가속도 벡터를 도시하고, X, Y성분이 0, Z성분이 -g인 벡터로 정의한다.
도시한 3질점 모델에 있어서, 레그 질점의 총 관성력이 어느 작용점(P) 주위에 작용하는 모멘트를, 점(P) 주위의 레그 총 관성력 모멘트로 정의한다(관성력과 중력의 합력을「총 관성력」이라고 부른다). 작용점(P)의 좌표(혹은 위치)를 xp로 놓는다.
하기의 수식 1은 점(P) 주위의 레그 총 관성력 모멘트의 엄밀한 동력학적 정 의식이다.
점(P) 주위의 레그 총 관성력 모멘트
= msup(xsup - xp) *G - msup(xsup - xp)* d2(xsup)/dt2
+ mswg(xswg-xp)* G - mswg(xswg - xp)* d2(xswg)/dt2
…수식 1
레그 ZMP을 ZMPfeet로 기술하고, 레그 ZMP를 수식 2로 정의한다. 단, 레그 ZMP의 높이(ZMPfeet의 Z 성분)는 점(P) 위치의 높이와 동일하게 한다. 이와 같이, 레그 ZMP는 레그부의 운동에 의해 발생하는 관성력과 중력의 합력(총 관성력)에 유사적으로 대응시킨 값이다.
점(P) 주위의 레그 총 관성력 모멘트 = mfeet*(ZMPfeet - xp)*G
… 수식 2
원래, 도 1에 도시하는 로봇(1)의 동력학은 비선형이지만, 근사하여 목표 ZMP, 레그 ZMP(ZMPfeet), 및 도립 진자 ZMP(ZMPpend)의 사이에는 수식 3의 선형 관계를 부여한다.
ZMPpend = mtotal/mb * 목표 ZMP - mfeet/mb * ZMPfeet
… 수식 3
일반적으로, 선형 도립 진자의 거동을 나타내는 미분 방정식은 수식 4로 표시된다.
d2(xb)/dt2의 수평 성분= g/h*(xb의 수평 성분 - ZMPpend의 수평 성분)
… 수식 4
단, 작용점(P)은 모델의 근사 정밀도가 높게 되도록 설정된다. 예를 들면, 작용점(P)은 도 7의 타임·챠트에 도시하는 바와 같이, 직전(전회) 보용의 지지 레그 좌표계상의 원점으로부터, 금회 보용의 지지 레그 좌표계의 원점에, 양 레그 지지기간의 사이에 직선적으로 등속 이동하는 점에 설정된다.
본 실시 형태에 관한 레그식 이동 로봇의 보용 생성장치에서 제안하는 동력학 모델은 도 5에 도시하는 발판, 상체와 각 질점의 위치의 관계를 나타내는 상기 오프셋과, 상기의 수식(수식 1로부터 4)으로 표시된다. 이에 따라, 후술과 같이, 장래 거동 예측이 용이해졌다.
도 6을 참조하여 보용 생성부(100)(도 1에 도시한다)의 동력학 연산부의 동작을 설명하면, 동력학 연산부는 레그 ZMP 산출기(200)를 구비하고, 레그 ZMP 산출기(200)는 수식 1 및 수식 2 및 도 7에서 도시되는 작용점(P)에 따라서 레그 ZMP(ZMPfeet)를 산출한다.
이어서, 상기 산출한 ZMPfeet를 mfeet/mtotal 배(倍)한 것을, 목표 ZMP로부터 감산하고, 힘들게 얻은 차를 mtotal/mb 배(倍)함으로써, 도립 진자 ZMP(ZMPpend)를 산출한다. 즉, 도립 진자 ZMP(ZMPpend)는 상기 로봇의 질량(mtota1)과 상기 상체의 질점의 질량(mb)의 비에 상기 목표 ZMP를 곱해 얻은 곱으로부터, 상기 레그부의 질량(mfeet)과 상기 상체의 질점의 질량(mb)의 비에 레그부의 ZMP 상당치 ZMPfeet를 곱해 얻은 곱을 감산하여 산출된다. 이 처리는 수식 3에 상당한다.
도립 진자의 거동은, 수식 4로 표현되고, 도립 진자 ZMP(ZMPpend)로부터 도 립 진자 질점 수평위치(xb)가 산출된다.
또한, 도 6에 도시하는 바와 같이, 동력학 연산부는 상체 위치 결정기(202)를 구비하고, 상체 위치 결정기(202)는 도립 진자 질점 수평위치로부터 상체의 수평위치(xb)를 결정한다. 구체적으로는 상체 위치 결정기(202)는 상술한 상체 대표점(도 5에 도시한다)의 수평위치가 도립 진자의 수평 위치에 일치하도록 상체의 수평 위치를 결정한다.
이어서, 보용의 계속적 자세 안정성에 대해 기술한다.
지금까지 기술한 동력학 모델 자체는 단순히 각 순간의 동력학적 평형조건을 근사적으로 만족하도록, 목표 ZMP에서 상체 궤도를 산출하는 것 뿐이고, 상체 궤도가 발산하는 것(도 8에 도시하는 바와 같이 상체(24)의 위치가 양 발판(22R, L)의 위치로부터 떨어진 위치로 어긋나는 것)을 방지하는 것은 아니다.
이하에서는 상체 궤도의 발산을 방지하고, 상체와 양 발판 사이가 적절한 위치 관계를 계속시키기 위한 수단에 대해 설명한다.
최초에, 이를 위한 예비 지식으로서, 장래의 상체 궤도를 해석적으로 구하는 데에 있어서 특히 중요한 선형 도립 진자의 성질에 관해서 의논한다. 여기서는, 이산화(離散化) 모델을 이용하여 설명한다.
우선, 도립 진자에 관한 것으로, 새롭게 이하의 변수나 파라미터를 정의한다.
ω0 : 도립 진자의 고유각 주파수
ω0= sqrt(g/h)(단, sqrt는 제곱근을 표시한다.)
△t : 쪼갠 시간
x[k] : k 스텝째(시각 k△t)의 도립 진자 위치
v[k] : k 스텝째의 도립 진자 속도
ZMPpend[k] : k 스텝째의 도립 진자 ZMP(상세하게는 시각 k△t부터 시각 (k+1)△t까지, 입력 ZMPpend[k]의 0차 홀드한 신호가 입력, 즉, 그 시각 동안은 동일 신호가 도립 진자에 계속 입력되는 것으로 한다.)
또한, q[k]와 p[k]를 수식 5로 정의한다.
q[k] = x[k] + v[k]/ω0
p[k] = x[k] - v[k]/ω0
… 수식 5
도립 진자의 운동 방정식을 이산화하여, q[k]와 p[k]에 관해서 풀면, 이하의 수식 6과 수식 7이 얻어진다. 또한, exp는 지수 함수(자연 대수)를 나타낸다.
Figure 112005060875128-pat00001
… 수식 6
Figure 112005060875128-pat00002
… 수식 7
이들 식의 의미를 생각한다.
어느 유한한 정수 ZMPmin 및 ZMPmax에 대해, 수식 8을 항상 만족하도록, ZMPpend[i]이 설정되는 것으로 가정한다.
ZMPmin ≤ ZMPpend[i] ≤ ZMPmax
… 수식 8
수식 8의 중변와 우변의 관계를 수식 6에 대입하면, 하기의 수식 9가 얻어진다.
Figure 112005060875128-pat00003
… 수식 9
등비 급수의 합의 정리로부터, 하기의 수식 10이 얻어진다.
Figure 112005060875128-pat00004
… 수식 10
따라서, 수식 9는 수식 11과 같이 고쳐 쓸 수 있다.
p[k] ≤ exp(-ω0k△t) * p[0] + (1-exp(-ω0k△t))*ZMPmax
… 수식 11
마찬가지로, 수식 8의 좌변과 중변의 관계로부터, 수식 12를 얻을 수 있다.
p[k] ≥ exp(-ω0k△t) * p[0] + (1-exp(-ω0k△t))*ZMPmin
… 수식 12
exp(-ω0k△t)는, k가 무한대로 되면 0에 수렴(점차 근접)하기 때문에, 수식 11, 12는 ZMPpend가 변동해도 p[k]는 발산하지 않고, 어째든 ZMPmax와 ZMPmin의 사 이에 들어가는 것을 의미한다.
또한, 구체예로서, ZMPpend가 어느 시점 이후, 일정치 ZMP0이 되는 경우를 생각한다. 이 경우, 그 시점을 다시 시각 0으로 하면, 수식 6은 수식 13과 같이 고쳐 쓸 수 있다. 이는 p[k]이 그 초기치에 관계 없이, ZMP0에 등비 급수적으로 수렴하는 것을 의미한다.
p[k] = exp(-ω0k△t) * (p[0] - ZMP0) + ZMP0
… 수식 13
보다 일반적으로 p[k]는 어느 시점에서 어떠한 값이라도, 그 후의 ZMPpend 파형이 있는 동일 파형이면, ZMPpend 파형에 추종하는 어느 궤도에 수렴한다.
한편, q[k]는 수식 7로부터 명백한 바와 같이 발산하는 경향이 있다.
구체예로서, ZMPpend가 어느 시점 이후, 일정치 ZMP0이 되는 경우를 생각할 수 있다. 이 경우, 일정치 ZMP0이 되는 시점을 다시 시각 0으로 하면, 수식 7은 수식 14로 되고, 이는 q[0]= ZMP0이 아닌 한, q[k]가 ZMP0로부터 등비급수적으로 발산하는 것을 의미한다.
q[k] = exp(ω0k△t) * (q[0] - ZMP0) + ZMP0
… 수식 14
그래서, 이후, 수식 5에 의해서 정의되는 p[k]를 수렴 성분, q[k]을 「발산 성분」이라고 부른다.
이상에서, 상체 궤도의 발산을 방지하고, 상체와 양 발판 사이가 적절한 위치 관계가 계속되기 위해서는 사실상, 수렴 성분은 무시해도 상관없고, 지지 레그 에서 본 발산 성분을 보행에 지장 없는 범위에서 넘지 않도록 관리하는 것이 중요하다고 말할 수 있다.
보다 구체적으로는 발산 성분을 보행에 지장 없는 범위(자세가 크게 무너지지 않는 범위)를 넘지 않도록, ZMP 궤도 파라미터 등을 적절히 결정하는 것이 중요하다고 말할 수 있다. 또한, 상체 거동을 선형화하지 않으면, 상체 거동을 구하는 식이 수식 6, 7과 같이 발산 성분과 수렴 성분으로 분리한 식으로 할 수 없으므로, 상기와 같은 논의를 전개할 수 없는데, 이 실시 형태에 있어서 가능해졌다.
수렴 성분과 발산 성분의 성질을 이하에 열거한다.
성질1 : 대칭성
수렴 성분 p[k]와 발산 성분 q[k]를 구하는 식의 차이는 p[k]와 q[k]가 교체된 것과, ω0이 -ω0으로 교체된 것 뿐이다.
성질2 : 등가 환산
상기 성질로부터, 이하에서는 발산 성분에 관해서만 논의한다.
입력 ZMPpend[i]로서, ZMPpend[0]= U0와, ZMPpend[i]= 0(i=1, 2, …)으로 표시되는 펄스를 생각하면, 그 때의 q[k]는 수식 7에 이 ZMPpend[i]를 대입함으로써 얻어지고, 수식 15로 된다.
q[k] = exp(ω0k△t) (q[0] +(exp(-ω0△t)-1)U0)
… 수식 15
이로부터, 발산 성분 q[k]에 대한 영향만을 생각하면, 초기 펄스(U0)를 입력하는 것은, U0*(exp(-ω0 △t)-1)만큼 초기 발산 성분을 엇갈리게 하는 것과 동일 한 영향을 부여한다. 즉, 초기 펄스는 (exp(-ω0 △t)-1)배함으로써, 초기 발산 성분에 등가 환산된다.
또한, 수식 7과 수식 15를 비교함으로써, 발산 성분 q[k]에 대한 영향만을 생각하면, 입력 ZMPpend[i](i=0, 1, 2 …, k-1)을 입력하는 것은, 수식 16에 도시하는 초기 펄스 입력(U0)과 동일한 영향을 부여한다.
Figure 112005060875128-pat00005
… 수식 16
즉, 입력 ZMPpend[i](i= 0, 1, 2 …, k-1)는 수식 16에 의해, 초기 펄스 입력(U0)에 등가 환산된다.
성질3 : 시간 지연의 영향
또한, 도 9에 도시하는 바와 같이, ZMPpend[i]가 어느 함수 f(i)이고, ZMPpend’[i]가 함수 f(i)를 시간 n△t만큼 늦춘 함수 f(i-n△t)인 것으로 하고, 입력열 ZMPpend[i]을 초기 펄스로 변환한 것을 U0, 입력열 ZMPpend’[i]을 초기 펄스로 변환한 것을 U0’로 하면, U0’은 수식 17과 같이 된다.
U0’ = U0 * exp(-nω0△t)
… 수식 17
즉, 동일 파형의 입력을 시간 n△t만큼 늦춰 입력하면, 그 입력에 의해서 발생하는 발산 성분은 exp(-nω0 △t)배로 된다.
이어서, 도 5에 도시하는 도립 진자 모델에, 복잡한 도립 진자 ZMP 파형을 입력하였을 때의 발산 성분에 관해서 기술한다.
그런데, 도 5(또는 수식 3)에 도시하는 동력학 모델내의 도립 진자 모델에 부여되는 ZMP 입력은 목표 ZMP에 mtota1/mb를 곱한 것과, 레그 ZMP에 mfeet/mb를 곱한 것의 차이다. 목표 ZMP는 구체적으로는 꺾긴 선 상태의 파형이므로, 목표 ZMP에 mtotal/mb를 곱한 것도, 역시 꺾긴 선의 파형이다.
그래서, 이하에서는 꺽인 선 상태의 ZMP가 도립 진자에 입력됨에 따라 발생하는 발산 성분을 해석적으로 구하는 원리와 알고리즘을 설명한다. 또한, 레그 ZMP에 관한 영향에 대해서는 후술한다. 또한, 실제로는, 도립 진자 ZMP는 2차원 공간(수평면상)을 이동하지만, 이하의 논의에서는 이해를 용이하게 하기 위해 1차원 공간을 이동하는 것으로 한다.
도립 진자의 ZMP(ZMPpend) 파형으로서 도 10에 도시하는 꺾긴 선을 상정한다. 구간(i)는 기간(시간)이 period[i]에서 그 구간의 초기치가 ZMP[i]인 것으로 한다. 이 ZMP에 의해 발생하는 발산 성분을 구하기 위한 원리와 알고리즘을 설명한다.
도립 진자 모델에 도립 진자 ZMP 입력으로서, x= f(t)가 시각 범위[0,T] 동안 입력되어 발생하는 발산 성분을, 시각 0으로 입력되어, 시간 폭이 쪼갠 시간 △t의 펄스의 크기로 환산한 것을 H(f(t), T)로 한다.
수식 16으로부터, H(f(t), T)는 다음 수식 18에 도시하는 곱합 연산으로 표시된다(ω : 도립 진자의 고유각 주파수).
Figure 112005060875128-pat00006
… 수식 18
그런데 일반적으로, 구간 i의 도립 진자 ZMP 파형은 도 11에 도시하는 바와 같이, 어떤 지연을 가지는 단계 파형과 램프 파형으로 분해할 수 있다. 그래서, 우선 단계상태의 파형과 램프형상의 파형에 대한 H(f(t), T)를 이하에 기술하는 순서로 구해 놓는다.
x= f(t)= 1의 단계 파형의 H(f(t), T)를 H(1, T)로 기술하면, 등비급수의 합의 공식으로부터 수식 19에 도시하는 바와 같이 된다.
H(1, T) = (1-exp(-ωt))/(1-exp(-ω△t))
… 수식 19
x= f(t)= t의 램프 파형의 H(f(t), T)를 H(t, T)로 기술하면,, 수식 20에 도시하는 바와 같이 된다.
H(t, T)/T=(△t/T*exp(-ω△t)H(1, T)-exp(-ωt))/(1-exp(-ω△t))
… 수식 20
또한, ZMP 파형이 꺾긴 선 이외일 때는 상기 이외의 함수(f)가 필요해진다. 상기 이외의 함수(f)에서는 해석해 F(f(t), T)가 존재하지 않는 경우도 있지만, 이 때는 함수(f)를 정규화하고 나서, H(f(t), T)를 테이블화하면 된다. 또한, 상기예에서도 F(f(t), T)를 테이블화해도 된다.
그런데, 여기까지 준비해 두고 나서, 도 10의 도립 진자 ZMP에 의해 발생하 는 발산 성분을 시간(0)에 입력되는 펄스로서, 그 시간폭이 쪼갠 시간 △t의 도립 진자 ZMP 펄스의 크기로 환산한 것(이후, 이를 W라고 적는다)을 이하의 순서로 구한다.
우선, 구간 i(i=0, 1, …5)의 도립 진자 ZMP의 영향을 구간(i)의 초기 시간에 입력되는 펄스로서, 그 시간폭이 쪼갠 시간(△t)의 펄스 크기 inf[i]로 환산한다. 구간(i)의 도립 진자(ZMP) 파형은 도 11에 도시하는 바와 같이, 높이가 ZMP[i]인 직사각형파와 경사가 (ZMP[i+1]-ZMP[i])/period[i]인 램프파의 합으로 표시되므로, 펄스 환산치는 수식 21에 도시하는 바와 같이 된다.
inf[i]= H(1, period[i])*ZMP[i] + H(t, period[i])/period[i]*(ZMP[i+1]-ZMP[i])
…수식 21
이어서, 구간 period[i](i= 0, 1, …, m)의 도립 진자 ZMP의 영향을, 시각0에 입력되는 펄스로서, 그 시간폭이 쪼갠 시간 △t의 펄스 크기 inf’[i]로 환산한다. 성질 3에서 펄스 환산치는 수식 22와 같이 산출된다.
Figure 112005060875128-pat00007
… 수식 22
도 10에 도시하는 도립 진자 ZMP파형 전 구간의 영향은 각 구간의 도립 진자 ZMP의 영향의 합이 된다. 즉, 펄스 환산치(W)는 수식 23에 도시하는 바와 같이 산출된다.
Figure 112005060875128-pat00008
… 수식 23
또한, 성질 2에서 상기 W를 초기 발산 성분으로 등가 환산한 것은 이하의 수식 24에 도시하는 값이 된다.
W*(exp(-ω0△t)-1)
…수식 24
또한, 수식 24 또는 성질 3에서, 이를 보용성 종단 시각에서의 발산 성분으로 환산한 것은 수식 25에 표시하는 값이 된다.
Figure 112005060875128-pat00009
… 수식 25
이상의 순서에 의해, 꺾긴 선의 도립 진자(ZMP)에 의해서 발생하는 보용 종단 발산 성분을 해석적으로 구할 수 있다.
이어서, 보행의 계속성을 보증하는 보용 생성 알고리즘에 대해 기술한다.
먼저, 상체 궤도의 발산을 방지하고, 상체와 양 발판 사이가 적절한 위치관계가 계속되기 위해서는 발산 성분을 보행에 지장 없는 범위(자세가 크게 무너지지 않는 범위)로부터 넘지 않도록, ZMP 궤도 파라미터 등을 적절히 결정하는 것이 중요하다고 기술했다. 다음 문제는 보행에 지장 없는 발산 성분의 범위 혹은 적절한 발산 성분의 값을 어떻게 구하는 것이다.
이 실시 형태에 관한 보용 생성부(100)는 금회 생성하는 보용에 연결되는 보용(이하 「정상 선회 보용」이라고 부른다. 이에 대해 후술한다)을 임시로 상정함 으로써, 적절한 발산 성분의 값을 결정하도록 했다. 이하에 보용 생성부(100)의 동작을 상세히 설명한다.
보용 생성부는 2보 앞까지의 움직이지 않는 레그 발판 착지 위치 자세, 착지 시각의 요구치(요구)를 입력으로 하고, 목표 상체 위치 자세 궤도, 목표 발판 위치 자세 궤도, 목표 ZMP 궤도를 결정한다. 이 때, 보용 파라미터의 일부는 보행의 계속성을 만족하도록 수정된다. 생성하려는 보용을 「금회 보용」, 그 다음 보용을 「차회 보용」, 또한 그 다음 보용을 「차차회 보용」이라고 부른다.
도 12는 그 보용 생성부(100)의 보용 생성처리를 도시하는 플로우 챠트(구조화 플로우 챠트)이다.
이하 설명하면, 우선 S10에 있어서 시각 t를 0으로 초기화하는 등 다양한 초기화 작업을 행한다. 이어서 S12를 거쳐 S14로 진행하고, 제어 주기마다의 타이머 인터럽트를 기다린다. 제어 주기는 △t이다. 이어서 S16으로 진행하고, 보용 변환기인지 여부를 판단하고, 긍정될 때는 S18로 진행함과 동시에, 부정될 때는 S20으로 진행한다.
S18로 진행할 때는 시각(t)을 0으로 초기화하고, 이어서 S22로 진행하며, 차회 보용 지지 레그 좌표계, 차차회 보용 지지 레그 좌표계, 금회 보용 주기 및 차회 보용 주기를 숙독한다. 이들은 상기한 요구에 상당하는데, 미리 보행 스케쥴로서 기억해 두면 되고, 혹은 죠이스틱(44) 등의 조종 장치로부터의 지령(요구)과 그 때까지의 보행 이력을 기초로 결정해도 된다.
이어서, S24로 진행하고, 금회 보용의 보용 파라미터를 가결정(임시로 산출) 한다.
금회 보용 초기 움직이지 않는 레그 발판 위치 자세는 금회 지지 레그 좌표계에서 본 현재 지지 레그 위치 자세로 한다(초기치로 한다). 금회 보용 초기 지지 레그 발판 위치 자세는 금회 지지 레그 좌표계에서 본 현재 지지 레그 위치 자세로 한다(초기치로 한다). 금회 보용 종단 움직이지 않는 레그 발판 위치 자세는 금회 지지 레그 좌표계에서 본 차회 지지 레그 좌표계에 대응하여 결정한다. (즉, 금회 보용 종단 움직이지 않는 레그 발판 위치 자세로부터 발판을 바닥에 접촉시킨 채로, 미끄러지지 않도록 발판을 수평까지 회전시켰을 때의 위치 자세가 차회 지지 레그 좌표계가 되도록 설정한다.)
금회 보용 종단 지지 레그 발판 위치 자세는 현재 지지 레그 위치 자세로부터 발판을 바닥에 접촉시킨 채로, 미끄러지지 않도록 발판을 바닥에 면접촉하기까지 회전시켰을 때의 위치 자세로 한다. 따라서, 바닥이 평면이면, 금회 보용 종단 지지 레그 발판 위치 자세는 금회 지지 레그 좌표계에 일치한다. 또한, 이 보용에서는 보용 종단에 있어서 지지 레그 발판은 수평이 되지만, 반드시, 이와 같이 설정할 필요는 없다.
금회 보용의 ZMP 궤도 파라미터는 안정 여유가 높고, 또한 급격한 변화를 하지 않도록 결정한다.(접지면을 포함하는 최소의 볼록 다각형(소위 지지 다각형)의 중앙 부근에 ZMP가 존재하는 상태를 안정 여유가 높다고 한다(상세하게는 일본국 특개평 10-86081호 공보에 기술)). 단, 금회 보용의 ZMP 궤도 파라미터는 가결정되었을 뿐이고, 후술하는 것 같이 수정된다.
이어서 S26으로 진행하고, 금회 보용에 연결되는 정상 선회 보용의 보용 파라미터를 결정한다.
또한, 본 명세서에서 「정상 선회 보용」은, 그 보용을 반복했을 때에 보용의 경계에서 운동 상태에 불연속이 생기지 않는 주기적 보용을 의미하는 것으로 사용한다.
정상 선회 보용은 통상, 제1 선회 보용과 제2 선회 보용으로 이루어진다. 또한, 여기서 「선회」란 용어를 이용한 것은 선회율을 제로로 할 때는 직진을 의미하므로, 직진도 광의의 의미로 선회에 포함시킬 수 있기 때문이다. 정상 선회 보용은 보용 생성부(100)에서 금회 보용의 종단에 있어서의 발산 성분을 결정하기 위해 잠정적으로 작성되는 것이고, 보용 생성부(100)로부터 그대로 출력되는 것이 아니다.
보충하면, 정상 선회 보용은 협의의 의미에서의 보용(양 레그 지지기간의 초기에서 다음 양 레그 지지기간의 끝까지를 1보로 하는 보용)이 적어도 2보 필요하다. 3보 이상의 보용으로 이루어지는 복잡한 정상 선회 보용을 설정하는 것도 가능하지만, 금회 보용의 종단에 있어서의 발산 성분을 결정하는 것에만 이용되므로, 처리가 번잡해 짐에도 불구하고, 효과는 적다. 또한, 3보 이상의 레그식 이동 로봇에 있어서는 그에 따라 선회를 정의하는데 충분한 보용 수가 증가한다.
우선, 금회 보용, 제1 선회 보용, 제2 선회 보용의 순서대로 레그 궤도가 이어지도록, 제1 선회 보용과 제2 선회 보용의 보용 파라미터 중의 레그 궤도의 경계 조건을 설정한다.
구체적으로는, 제1 선회 보용 초기 움직이지 않는 레그 발판 위치 자세는 차회 보용 지지 레그 좌표계로부터 본 금회 보용 종단 지지 레그 발판 위치 자세로 한다. 제1 선회 보용 초기 지지 레그 발판 위치 자세는 차회 보용 지지 레그 좌표계에서 본 금회 보용 종단 움직이지 않는 레그 발판 위치 자세로 한다.
제1 선회 보용 종단 움직이지 않는 레그 발판 위치 자세는 금회 보용 종단 움직이지 않는 레그 발판 위치 자세의 결정 수법과 마찬가지로, 차회 보용 지지 레그 좌표계로부터 본 차차회 보용 지지 레그 좌표계에 대응하여 결정한다. 제1 선회 보용 종단 지지 레그 발판 위치 자세는 차회 보용 지지 레그 좌표계에 일치시킨 발판을 바닥에 접촉시킨 채로, 미끄러지지 않도록 발판을 바닥에 면접촉할 때까지 회전시켰을 때의 위치 자세로 한다.(따라서, 바닥이 평면이면, 제1 선회 보용 종단 지지 레그 발판 위치 자세는 다음번 지지 레그 좌표계에 일치한다.).
제2 선회 보용 초기 움직이지 않는 레그 발판 위치 자세는 차차회 보용 지지 레그 좌표계에서 본 제1 선회 보용 종단 지지 레그 발판 위치 자세로 한다. 제2 선회 보용 초기 지지 레그 발판 위치 자세는 차차회 보용 지지 레그 좌표계에서 본 제1 선회 보용 종단 움직이지 않는 레그 발판 위치 자세로 한다.
제2 선회 보용 종단 움직이지 않는 레그 발판 위치 자세는 금회 지지 레그 좌표계에서 본 금회 보용 종단 움직이지 않는 레그 발판 위치 자세로 한다. 제2 선회 보용 종단 지지 레그 발판 위치 자세는 금회 지지 레그 좌표계에서 본 금회 보용 종단 지지 레그 발판 위치 자세로 한다.
이들 관계를 도 13에 도시한다.
제1 선회 보용 및 제2 선회 보용의 보행 주기는 차회 보용 주기와 동일하게 한다(단, 동일하게 하는 것이 반드시 필요한 것은 아니지만, 차회 보용 주기에 따라 결정하는 것이 바람직하다). 금회 보용, 제1 선회 보용 및 제2 선회 보용의 상기 이외의 운동 파라미터(양 레그 지지기간 시간 등의 시간 파라미터를 포함한다)는 상기 결정된 파라미터에 따라, 보용의 조건(전동 모터(액츄에이터)의 속도가 허용범위에 들어가 있는 것 등)을 만족하도록 적절하게 결정한다.
제1 선회 보용 및 제2 선회 보용의 ZMP 궤도 파라미터도, 안정 여유가 높고 또한 급격한 변화를 하지 않도록 결정한다.
그런데, 상체 대표점의 초기 위치와 속도를 어느 값(X0, V0)으로 설정하면, 도 5에 도시하는 단순 모델을 이용하여 상기 제1 선회 보용과 제2 선회 보용을 생성하고, 다시 제1 선회 보용의 생성을 개시할 때의 초기 상체 대표점 위치속도가 상기 설정한 초기 상체 대표점 위치속도의 값(X0, V0)에 일치한다. 이 값 X0, V0를 「정상 선회 보용의 초기 상체 대표점 위치속도」)라고 부른다. 이 관계를 도면에 나타내면, 도 14와 같이 된다. 단, X0을 (x0, y0)으로 표시하는 것으로 하고, V0에 대해서 표기는 생략했다.
이와 같이 설정하면, 도 5에 도시하는 단순 모델을 이용하여 제1 선회 보용과 제2 선회 보용을 교대로 반복 생성해도, 연산 오차가 축적되지 않는 한, 제1 선회 보용의 초기 상체 대표점 위치속도는 값(X0, V0)으로 된다. 즉, 보행의 계속성이 보증된다. 이 때의 발산 성분, 즉, X0+ V0/ω0을, 「정상 선회 보용의 초기 발산 성분」이라고 부른다.
도 12의 설명으로 되돌아가면, 이어서 S28로 진행하고, 정상 선회 보용의 초기 발산 성분을 구한다.
도 15는 도 12 플로우 챠트의 S28의 정상 선회 보용의 초기 발산 성분을 산출하는 서브루틴 플로우 챠트이다.
여기서, 동일 도면의 설명으로 들어가기 전에, 정상 선회 보용의 초기 발산 성분의 산출 원리를 설명한다.
수식 3과 수식 7로부터 다음 수식 26이 얻어진다. 또한, 목표 ZMP를 ZMPtota1로 기술한다.
Figure 112005060875128-pat00010
… 수식 26
실제로는, 각 보용은 그 보용의 지지 레그 좌표계상에서 표현되지만, 여기서는 설명을 쉽게 하기 위해, 제1 선회 보용과 제2 선회 보용은 제1 선회 보용의 지지 레그 좌표계로 표현되는 것으로 하고, 상기한 바와 같이 제1 선회 보용과 제2 선회 보용을 합쳐서 하나의 보용(정상 선회 보용)으로 간주한다.
수식 26을 이용하여, 정상 선회 보용의 종단에 있어서의 발산 성분 q[k](이를 이후, 「종단 발산 성분」이라고 부른다)을 구하는 것을 생각할 수 있다. 시각 0은 정상 선회 보용의 초기 시각으로 한다. 정상 선회 보용의 종단 시각은 k△t로 한다. 또한, 종단 시각은 그 다음 보용의 시각 0에 대응한다.
우변 제1항은 초기 발산 성분에 의해 발생하는 종단 발산 성분을 나타낸다. 우변 제2항은 목표 ZMP 패턴에 의해서 발생하는 종단 발산 성분을 표시한다. 우변 제3항은 레그 운동에 의해 발생하는 종단 발산 성분을 표시한다.
우선, 목표 ZMP 패턴에 의해서 발생하는 종단 발산 성분은 목표 ZMP 패턴이 꺾긴 선이므로, 상술의 꺾긴 선 상태 ZMPpend에 의해서 발생하는 종단 발산 성분을 구하는 수식 19, 20, 21, 22, 23, 25에 도시하는 알고리즘을 이용하여 해석적으로 구한다. 이를 Wzmptotal로 한다.(XY 방향이 있으므로, Wzmptotal은 2차원 벡터로 된다.)
다음에, 레그 운동에 의해서 발생하는 종단 발산 성분을 구한다. 가장 단순한 구하는 방법은 보용 생성부에 있어서 내부적으로 상기한 정상 선회 보용의 보용 파라미터로부터 레그 운동을 생성하고, 또한 ZMPfeet[i](i=0, 1, …, k)을, 수식 1, 2로부터 구하고, 이를 수식 26의 우변 제3항에 대입하는 수법이다.
연산량은 많지만, 로봇(1)에 탑재 가능한 고속의 컴퓨터를 이용하면 제어 주기내에 연산을 완료할 수 있다. 또한, 컴퓨터의 성능을 동일하게 할 때도, 연산에 있어서 샘플링 주기를 실제의 제어 주기보다도 길게 설정하면, 약간의 오차는 발생하지만, 연산량을 감소시킬 수 있다.
상기와 같이 하여 구해진 값을 Wfeet로 한다.(XY 방향이 있으므로, Wfeet는 2차원 벡터가 된다.).
이상에서 다음 수식 27을 얻는다.
q[k] = exp(ω0k△t)*q[0]+Wzmptotal + Wfeet
… 수식 27
그런데, 정상 발산 성분의 정의로부터, 정상 선회 보용의 다음 보용의 지지 레그 좌표계에서 본 정상 선회 종단 발산 성분을 q’[k]로 하면, 다음 수식 28을 만족하지 않으면 안된다.
q[0]= q’[k]
… 수식 28
한편, 정상 선회 보용의 지지 레그 좌표계(도 13에 도시하는 X’, Y’좌표계)부터 본 정상 선회 보용의 다음 보용의 지지 레그 좌표계(동 도면에 도시하는 X”, Y”좌표계)를, 좌표계의 회전을 나타내는 회전행렬(M)과 좌표계의 원점 좌표를 나타내는 평행 이동 벡터(B)로 표시하면, 이하의 수식 29에 표시하는 바와 같이 된다.
q[k] = Mq’[k] + B
… 수식 29
수식 28과 수식 29에서 다음 수식 30을 얻는다.
q[k] = Mq[0] + B
… 수식 30
또한, 수식 30과 수식 27에서 다음 수식 31을 얻는다.
Mq[0] + B= exp(ω0k△t)* q[0]+ Wzmptotal + Wfeet
… 수식 31
매트릭스(A)의 역행렬을 inv(A)로 기술하면, 수식 31으로부터 수식 32가 얻 어진다. 단, I는 단위 행렬이다.
q[0] = inv(M-exp(ω0k△t)I)(Wzmptotal + Wfeet - B)
… 수식 32
상기한 산출 원리를 전제로 하여, 도 15 플로우 챠트를 참조하여 설명하면, S100에 있어서 목표 ZMP에 의해서 발생하는 종단 발산 성분을 상기 수법으로 구하고, 이어서 S102로 진행하여, 수식 26의 우변 제3항을 이용하여 레그 반력에 의해서 발생하는 종단 발산 성분을 구하고, 이어서 S104로 진행하고, 수식 32를 이용하여 정상 선회 초기 발산 성분 q[0]을 구한다. 정상 선회 초기 발산 성분 q[0]은 정상 선회 보용의 지지 레그 좌표계에서 본 값으로 되어 있다.
이어서, S106으로 진행하고, 정상 선회 초기 발산 성분 q[0]을 금회 보용의 지지 레그 좌표계에서 본 값으로 변환한다. 이를 q”로 한다.
다음 과제는 금회 보용의 종단 발산 성분이 q”에 일치하도록, 상기 가결정한 금회 보용의 파라미터를 수정하는 것이다. 이 처리에 있어서는 상기 정상 선회 보용에 있어서의 처리와 거의 같으므로, 이하에서는 변수, 값, 및 기호를 다시 금회 보용에 대응시킨다.
이 실시 형태에서는 ZMP 궤도 파라미터를 수정하는 것으로 한다. 그 밖의 보용 파라미터를 수정해도 되지만, 통상, 파라미터의 수정량과 종단 발산 성분의 관계가 비선형으로 되므로, 해석적으로 수정량을 결정할 수 없다.
상기한 가결정된 목표 ZMP(이를 「가목표 ZMP」이라고 부른다)에, ZMP 수정량(보정량 혹은 부가량)을 추가함으로써, ZMP를 수정한다. 수정된 ZMP를 다시 목 표 ZMP라고 한다. 이들 관계를 도 16에 도시한다.
동 도면에 도시하는 바와 같이, 목표 ZMP(ZMPtotal)= 가목표 ZMP+ ZMP 수정량이 되도록, 목표 ZMP 파라미터를 수정한다.
이후는, 설명을 간단히 하기 위해서, 모든 변수를 1차원의 세계에서 다룬다.
ZMP 수정량은 도 16의 중단에 도시하는 바와 같이 사다리꼴 형상이고, 그 높이를 a로 한다. 목표 ZMP 패턴에 의해 발생하는 종단 발산 성분 Wzmptotal은 목표 ZMP와 종단 발산 성분의 관계가 선형인 것으로부터, 이하의 수식 33에 도시하는 바와 같이 나타낼 수 있다.
Wzmptotal = Wzmptmp + a*Wtrim
… 수식 33
여기서, Wzmptmp는 금회 보용의 가목표 ZMP 패턴에 의해 발생하는 종단 발산 성분이다. Wtrim은 a= 1로 한 경우의 ZMP 수정량에 의해서 발생하는 종단 발산 성분이다. 이들은 상기 정상 선회 보용의 목표 ZMP 패턴에 의해서 발생하는 종단 발산 성분을 구하는 방법에 의해, 해석적으로 구해진다.
종단 발산 성분 p[k]가 p”인 것 및 수식 27과 수식 33으로 다음 수식 34를 얻는다.
q” = exp(ω0k△t)* q[0] + Wzmptmp + a*Wtrim+ Wfeet
… 수식 34
단, q[0]는 금회 보용의 초기 발산 성분(초기 도립 진자 위치 + (초기 도립 진자 속도/ω0))이다. 따라서, 다음 수식 35에 도시하는 바와 같이 된다.
a=(q”-exp(ω0k△t) * q[0] -Wzmptmp-Wfeet)/Wtrim
… 수식 35
마지막으로, ZMP 수정량을 가목표 ZMP에 가산한 것이 목표 ZMP로 되도록, 목표 ZMP의 파라미터를 수정하면, 금회 보용의 종단 발산 성분이 정상 선회 보용의 초기 발산 성분을 금회 보용으로부터 본 값 q”에 일치한다.
도 12의 플로우 챠트의 설명으로 되돌아가면, 이어서 S30으로 진행하여, 금회 보용을 수정한다. 구체적으로는 금회 보용의 종단 발산 성분이 정상 선회 보용의 초기 발산 성분(q”)에 일치하도록, 금회 보용의 파라미터를 수정한다.
도 17은 그 처리를 도시하는 서브루틴 플로우 챠트이다.
이하 설명하면, S200에 있어서 금회 보용의 가목표 ZMP 패턴에 의해서 발생하는 종단 발산 성분 Wzmptmp를 구하고, 이어서 S202로 진행하며, a= 1로 한 경우의 ZMP 수정량에 의해서 발생하는 종단 발산 성분(Wtrim)을 구한다.
이어서 S204로 진행하고, 금회 보용의 레그 운동에 의해서 발생하는 종단 발산 성분인 Wfeet를 구하고, 이어서 S206으로 진행하여, 금회 보용의 초기 발산 성분 q[0]을 초기 도립 진자 위치와 속도로부터 구하고, 구한 값을 수식 35에 대입하여 ZMP 보정량의 사다리꼴 높이(a)를 구한다. 이어서 S208로 진행하고, 상기한 바와 같이 목표 ZMP의 파라미터를 수정한다.
이상이 보용의 절환의 처리이다.
도 12의 플로우 챠트의 설명으로 되돌아가면, 이어서 S20으로 진행하고, 결정된 보용 파라미터로부터 금회 보용의 순간값을 결정한다.
도 18은 그 처리를 도시하는 서브루틴 플로우 챠트이다.
이하 설명하면, S300에 있어서, 금회 보용 파라미터를 기초로 시각(t) 에서의 목표 ZMP를 구하고, S302으로 진행하여, 금회 보용 파라미터를 기초로, 시각(t)에서의 목표 양 발판 위치 자세를 구한다.
이어서 S304로 진행하고, 금회 보용 파라미터를 기초로, 시각(t)에서의 목표 상체 자세를 구하고, S306으로 진행하여, 수식 1 및 수식 2를 이용하여, 시각(t) 및 그 이전의 목표 발판 위치 자세로부터 시각(t)에서의 레그 ZMP(ZMPfeet)를 산출한다.
다음에 S308로 진행하고, 수식 3을 이용하여, 도립 진자 ZMP(ZMPpend)를 산출하여, S310로 진행하고, 수식 4를 이용하여, 도립 진자 ZMP(ZMPpend)에서 도립 진자 수평위치를 산출한다. 이어서 S312로 진행하고, 도립 진자 수평 위치로부터 상체의 수평 위치를 결정한다. 구체적으로는 전술한 바와 같이, 상체 대표점의 수평 위치가 도립 진자 질점 수평위치에 일치하도록 결정한다.
이어서 S314로 진행하고, 본 출원인이 먼저 일본국 특개평 10-86080호 공보에서 제안한 상체 높이 결정 수법을 이용하여 상체 높이를 결정한다.
도 12의 플로우 챠트의 설명으로 되돌아가면, 이어서 S32로 진행하고, 시각(t)에 △t를 추가하고, 다시 S14로 되돌아가, 상기의 처리를 반복한다.
도 4를 참조하여 본 실시 형태에 관한 보용 생성장치의 동작을 더 설명하면, 보용 생성부(100)에 있어서, 상기한 바와 같이 목표 보용이 생성된다. 생성된 목표 보용의 보용 파라미터 중, 목표 상체 위치 자세(궤도)는 로봇 기하학 모델(역 키네마틱스 연산부)(102)에 직접 보내진다.
또한, 그 밖의 목표 발판(레그부) 위치 자세(궤도), 목표 전체 바닥 반력 중심점(즉, 목표 ZMP) 궤도, 및 목표 전체 바닥 반력(궤도)은 복합 컴플라이언스 동작 결정부(104)에 직접 보내지는 한편, 목표 바닥 반력 분배기(106)에도 보내지고, 거기서 바닥 반력은 각 발판(풋부(22R, L))에 분배되어, 목표 각 발판 바닥 반력 중심점 및 목표 각 발판 바닥 반력이 결정되어 복합 컴플라이언스 동작 결정부(104)에 보내진다.
복합 컴플라이언스 동작 결정부(104)로부터, 기구 변형 보상 부착 수정 목표 발판 위치 자세(궤도)가 로봇 기하학 모델(102)로 보내진다. 로봇 기하학 모델(102)은 목표 상체 위치 자세(궤도)와 기구 변형 보상 부착 수정 목표 발판 위치 자세(궤도)가 입력되면, 이들을 만족하는 12개의 관절(10R(L) 등)의 관절 변위 지령(값)을 산출하여 변위 컨트롤러(108)에 보낸다. 변위 컨트롤러(108)는 로봇 기하학 모델(102)에서 산출된 관절 변위 지령(값)을 목표치로서 로봇(1)의 12개의 관절의 변위를 추종 제어한다.
따라서, 로봇(1)에 생긴 바닥 반력은 각 발판 반력 검출기(110)(6축력 센서(34))에 의해서 검출된다. 검출치는 상기한 복합 컴플라이언스 동작 결정부(104)로 보내진다. 또한, 로봇(1)에 발생한 자세 경사 편차(θerrx, θerry)는 경사 센서(36)에 의해서 검출되고, 검출치는 자세 안정화 제어 연산부(112)로 보내지고, 거기서 자세 경사를 복원하는 목표 전체 바닥 반력 중심점 주위 보상 전체 바닥 반력 모멘트가 산출되어 복합 컴플라이언스 동작 결정부(104)에 보내진다. 복합 컴 플라이언스 동작 결정부(104)는 입력치에 따라서 목표치를 수정한다.
또한, 본 발명의 요지는 보용 생성부(100)에 있어서의 로봇의 보용 생성에 있어, 상기한 복합 컴플라이언스 동작 결정부(104) 등의 구성 및 동작은 본 출원인이 먼저 출원한 일본국 특개평 10-277969호 공보 등에 상세히 기재되어 있으므로, 설명을 이상에서 멈춘다.
본 실시 형태에 관한 레그식 이동 로봇의 보용 생성장치는 상기와 같이 구성하였으므로, 본 출원인이 먼저 일본국 특개평 10-86081호에 있어서 제안한 기술의 상기한 문제를 해소하고, 레그식 이동 로봇의 바닥 반력을 포함하는 보용을, 동력학적 평형 조건을 거의 만족하면서, 자유롭고 또한 실시간으로 생성하여 임의의 보폭, 선회각, 보행주기 등의 보용을 생성할 수 있음과 동시에, 생성된 보용끼리 경계에서 로봇의 각 부위의 변위 및 속도가 연속인 보용을 생성할 수 있다.
즉, 도 19는 상체 대표점의 Y축 방향(좌우 방향)의 궤도를 도시하는 타임 챠트이지만, 본 실시 형태에 관한 레그식 이동 로봇의 보용 생성장치에 있어서는 동 도면에 부호 B로 표시하는 바와 같이, 상체 대표점의 궤도가 정상 선회 보용의 상체 대표점의 궤도(A)에 점차 가까워지는 (수렴) 보용을 생성할 수 있다.
또한, 레그식 이동 로봇의 동력학 모델을 단순화하여 선형도를 높였으므로, 발산 등의 로봇의 장래의 거동을 예측하여 보용을 생성할 수 있다.
또한, 이에 따라 보행 이외의 동작도 실시간으로 생성할 수 있으므로, 보행 이외의 임의의 동작과 보행을 연속적으로 부드럽게 연결하는 것도 가능해진다.
또한, 탑재하는 CPU(제1 연산장치(60))의 능력이 매우 높은 것을 전제로 하 여, 3질점 모델에 대신해, 도 23에 도시한 전체 링크에 질점을 설정한, 바꾸어 말하면 비선형인 모델을 이용하여 보용을 생성하도록 했다.
도 20은 그 비교예에 관한 레그식 이동 로봇의 보용 생성장치의 동작의 일부를 도시하는 제1 실시 형태의 도 15에 유사한 정상 선회 보용의 초기 발산 성분의 산출 작업의 서브루틴 플로우 챠트이다.
참고예에 관한 장치의 동작을 설명하면, 제1 실시 형태의 도 12에 있어서 S10로부터 S26까지 도시하는 것과 동일한 처리를 행해 S28로 진행한 후, 그 서브루틴 플로우 챠트인 도 20으로 진행하여, 정상 선회 보용의 초기 발산 성분을 산출한다.
도 20의 플로우 챠트에 있어서는, 우선 S400에 있어서 초기 상체 위치 속도 후보(X0, V0)를 가결정한다. 상체 위치 속도는 상체 대표점의 위치와 속도를 의미한다. 또한, 설명을 간략하게 하기 위해서, X방향만을 탐색하는 경우를 예로 드는데, 실제로는 위치 속도 모두 X, Y 방향을 따로따로 혹은 동시에 탐색할 필요가 있다. X, Y 방향을 동시에 탐색할 때는 탐색 공간이 X 위치, Y 위치, X 속도, Y 속도의 4차원이 된다.
이어서 S402를 거쳐 S404로 진행하고, 동력학 모델(도 23에 도시한 바와 같이 전체 링크에 질점을 설정한 비선형인 모델)을 이용하여 (X0, V0)를 상체의 초기 상태로 하여 정상 선회 보용 파라미터를 기초로, 시각(0)으로부터 종단 시각까지의 보용을 생성한다.
구체적으로는, 목표 ZMP와 목표 발판 위치 자세와 목표 상체 자세를 구하고, (X0, V0)를 상체의 초기 위치 속도로 하고, 동력학 모델을 이용하여 목표 ZMP를 만족하는 상체 궤도를 생성한다. 제1 실시 형태와 같이, 궤도 생성은 보용 생성부(100)의 내부에서 행해질 뿐이고, 출력되는 일은 없다.
이어서 S406으로 진행하고, 생성된 보용의 종단 상체 위치 속도를 다음의 1보의 지지 레그 좌표계(도 14의 X’”, Y’”좌표계와 동일)에서 본 값으로 변환하고, 그 값을 (Xe, Ve)로 한다.
이어서 S408로 진행하고, 도시와 같이, (X0, V0)와 (Xe, Ve)의 차(errx, erry)를 산출한다. 즉, 정상 선회 보용에서는 (X0, V0)와 (Xe, Ve)가 일치하지 않으면 안되므로, 양자의 차(errx, erry)가 0이 되도록 탐색하는 것을 생각할 수 있다.
이어서 S410으로 진행하여, 산출한 차가 적절히 설정하는 허용 범위내에 있는지 여부를 판단한다. 또한, 이와 같이 위치와 속도의 경계 조건 어긋남의 허용치를 설정하는 대신에, 초기 발산 성분(X0 + V0/ω0)과 초기 수렴 성분(X0 - V0/ω0)이 각각 어느 허용 범위내에 있는지 여부를 판단하도록 해도 된다.
S410에서 부정될 때는 S412로 진행하고, (X0, V0) 부근에 복수의 초기치 후보(X0 + △X0, V0), (X0, V0 + △V0)를 정하고, 각각을 상체의 초기 상태로 하고, 정상 선회 보용의 보용 파라미터를 기초로 보용을 생성하고, 생성한 보용의 종단 상체 위치 속도를 다음의 1보의 지지 레그 좌표계에서 본 값으로 변환한 값(Xe + △Xe1, Ve + △Ve1), (Xe + △Xe2, Ve + △Ve2)를 구한다.
이어서 S414로 진행하고, (X0, V0) 및 그 부근의 초기치 후보에 대한 종단 상체 위치 속도와 상기한 차를 기초로, 다음의 초기치 후보(X0, V0)를 결정한다.
S410에서 부정되는 한은 상기한 처리를 반복하는 동시에, 긍정될 때는 반복 루프(S402)를 빠져 나와 S416로 진행하고, 정상 선회 초기 발산 성분 q〔0]을 도시하는 식으로부터 구한다. 이어서 S418로 진행하고, 제1 실시 형태의 도 15의 S106과 동일한 처리를 행한다.
또한, 참고예에서는 제1 실시 형태에서 이용한 바와 같이 선형인 3질점 모델을 이용하고 있지 않지만, 발산 성분 및 수렴 성분의 개념은 도 23에 도시하는 것 같은 비선형인 모델의 거동의 슬라이드분에 대해서도 근사적으로 충분한 정밀도로 적용할 수 있으므로, 제1 실시 형태와 동일한 식을 이용하여 발산 성분을 정의하는 것으로 한다.
이어서 도 12와 동일한 플로우 챠트에 있어서 S30으로 진행하고, 금회 보용의 보용 파라미터를 수정한다.
도 21은 그 처리를 도시하는 서브루틴 플로우 챠트이다.
이하, 설명하면, S500를 거쳐 S502로 진행하고, 가목표 ZMP 패턴과 그 밖의 금회 보용의 보용 파라미터를 기초로, 종단 시간까지의 금회 보용을 계산함으로써 금회 보용 종단에서의 상체 위치 속도(Xe, Ve)를 구하고, 또한 종단 발산 성분 q[0]을 도시하는 식을 이용하여 구한다.
이어서 S504로 진행하고, 종단 발산 성분 오차(errq)를 도시하는 식을 이용하여 구하며, S506으로 진행하여 구한 오차가 허용 범위내에 있는지 여부를 판단하고, 부정될 때는 S508로 진행하고, a= △a로 하고, 제1 실시 형태와 마찬가지로 도 16의 관계에 따라서 가목표 ZMP 패턴에 수정을 가한 목표 ZMP를 기초로, 종단 시각까지의 금회 보용을 계산함으로써, 금회 보용 종단에서의 상체 위치 속도(Xe, Ve)를 구하고, 또한 종단 발산 성분 q1[k]을 도시하는 식을 이용하여 구한다.
또한, S508에 있어서 △a는 적당히 설정되는 미소량의 정수이다. 반복 연산에 의해서 오차(errq)가 작아짐에 따라서 △a도 감소하도록 설정해도 된다. 단, 정수로 해도, 몇 회의 반복 연산으로 오차는 허용 범위내가 된다.
이어서 S510로 진행하고, 파라미터 감도(r)를 도시하는 식으로부터 구하고, S512로 진행하여, 도시와 같이 구한 수정량을 가목표 ZMP 패턴에 추가하여, 가목표 ZMP 패턴을 수정한다.
S506에서 부정되는 한은 상기한 처리를 반복하는 동시에, 긍정될 때는 반복 루프(S500)를 빠져 나와 S514로 진행하여, 최종적으로 얻어진 가목표 ZMP 패턴의 값을 목표 ZMP로 결정한다.
상기를 설명하면, 동력학 모델을 이용하여 금회 보용 파라미터에 따라서 보용을 생성하고, 그대로 연속하여 정상 선회 보용 파라미터에 따라서 보용을 반복 생성했을 때, 생성한 보용이 정상 선회 보용에 수렴하기 위해서는 제1 실시 형태와 마찬가지로, 금회 보용의 종단 발산 성분이 정상 선회 초기 발산 성분 q[0]을 금회 보용의 지지 레그 좌표계에서 본 값인 q”에, 완전히 혹은 거의 일치하지 않으면 안된다.
그래서, 참고예에 있어서도, 그 조건을 만족하도록, 금회 보용의 보용 파라미터 중의 목표 ZMP 패턴을 수정하도록 했다. 또한, 참고예에 있어서도, 정상 선 회 보용과의 경계에서 상체 위치 속도가 일치하도록 금회 보용 파라미터를 수정해도 된다. 단, 발산 성분에 관한 경계 조건만을 만족하는 경우에 비교하면, 조건이 엄격하여, 수정해야 할 파라미터를 2배로 늘리게 되어 탐색 공간이 증대한다. 또한, 상기한 바와 같이, 목표 ZMP를 수정하여 상체 위치 속도를 일치시키는 경우에는, ZMP 수정량의 파형도, 도 16에 도시하는 단순한 사다리꼴 형상에 머물지 않고, 2단식의 사다리꼴 형상과 같은 복잡한 형상으로 하지 않으면 않되고, 수정량도 커지기 쉽다. 도 19를 다시 참조하여 설명하면, 전술한 바와 같이, 동 도면에 부호 A로 표시하는 궤도는 정상 선회 보용과의 경계에서의 상체 대표점의 위치 속도가 일치하도록 금회 보용을 생성하고, 이어서 정상 선회 보용을 생성한 경우의 상체 대표점 궤도를 가리킨다. 부호 B로 표시하는 궤도는 금회 보용의 종단 발산 성분이 q”에 일치하도록 금회 보용을 생성하고, 이어서 정상 선회 보용 파라미터를 이용하여 연속하는 보용을 계속 생성한 경우의 상체 대표점 궤도를 도시한다.
도시와 같이, 부호 B로 표시하는 궤도는 금회 보용과 최초의 정상 선회 보용과의 경계에서는 통상, 부호 A로 표시하는 궤도로부터 벗어나 있는데, 그 후, 서서히 부호 A로 표시하는 궤도에 수렴(점차 근접)하고, 다음의 정상 선회 보용 시기에 부호 A로 표시하는 궤도에 거의 일치한다. 이와 같이, 발산 성분만을 일치시키는 보용 생성 수법이라도, 위치 속도까지 일치시키는 보용 생성 수법과 같이 보용의 발산을 방지하는 효과를 얻을 수 있다. 동 도면에 부호 C로 표시하는 예는 이들을 고려하지 않고 궤도를 생성한 경우를 도시한다. 이러한 경우는, 생성한 궤도는 시간 경과로 부호 A로 표시하는 궤도로부터 발산되어 버린다. 또한, 위치 속도까지 도 일치시키는 보용 생성 수법은 환언하면, 발산 성분 뿐만 아니라, 수렴 성분도 일치시키는 보용 생성 수법이다. 따라서, 위치 속도까지도 일치시키는 보용 생성 수법은 발산 성분만을 일치시키는 보용 생성 수법의 특수예라고 말할 수 있다.
또한, 목표 ZMP 이외의 파라미터를 수정해도 된다(이는 제1 실시 형태라도 동일하다). 또한, 설명을 간략하게 하기 위해, X방향만의 1차원 탐색으로 했는데, 실제로는, 정상 선회 보용의 상체 위치 속도의 초기치 탐색과 마찬가지로 차원이 증가한다.
또한, 참고예에 있어서는, 유사적인 뉴톤법(혹은 (X0, V0)에서의 유사적인 자코비안(jacobian)(감도 매트릭스)을 구하여 다음의 후보를 결정하는 수법)을 이용하도록 했는데, 심플렉스법 등의 탐색법을 이용해도 된다. 또한, 미리 다양한 파라미터에 대해 탐색 계산을 하여 맵화해 두어도 된다.
또한, 참고예에서 기술한 비선형 모델을 이용하여 탐색적으로 보용을 구하는 수법은 제1 실시 형태의 해석적으로 보용을 구하는데 사용한 3질점 모델(혹은 1질점 모델) 등의 선형 모델을 이용해도 되는 것은 말할 필요도 없다. 단, 해석적으로 보용을 구할 수 있으므로, 비효율적인 탐색법을 이용하는 것의 의의는 적다. 그 외, 실질적으로 충분한 정밀도가 있으면, 어떠한 동력학 모델을 이용해도 된다.
제1 실시 형태 혹은 제2 실시 형태에 있어서, 상정한 정상 선회 보용대로 계속 보용을 생성할 때는 ZMP 수정량이 0으로 되고, 금회 보용으로서 결정되는 목표 ZMP는 상정한 정상 선회 보용의 ZMP(가목표 ZMP)와 일치한다. 그런데, 정상 선회 보용의 ZMP(가목표 ZMP)는 통상, 안정 여유가 높아지도록 설정된다. 따라서, 상정 한 정상 선회 보용대로 보용을 계속 생성하는 경우에는 금회 보용의 안정 여유도 높다.
이에 대해, 금회 보용을 1보 전에 상정한 정상 선회 보용과 크게 다르게 생성하고자 하면, ZMP 수정량의 절대치가 커지므로, 금회 보용으로서 결정되는 목표 ZMP 궤도는 이상적인 궤도로부터 크게 어긋나, 안정 여유가 낮아진다. 예를 들면, 우측으로 선회하려 할 때는 우측으로 중심을 엇갈리도록 보용이 생성되지만, 그 다음의 1보에서 갑자기 좌선회하는 요구가 발생한 경우, 중심을 우측에서 좌측으로 이동시키기 위해서 목표 ZMP 궤도를 크게 우측으로 엇갈리게 할 필요가 발생해, 안정 여유가 저하하여 우측으로 쓰러지기 쉽게 된다.
이상의 성질에서, 상정한 정상 선회 보용은 장래 실제로 생성될 보용에 되도록 가까워지도록 설정해야 한다.
정상 선회 보용으로 계속 걷는 것은 특수한 것이고, 일반적으로는 정상 선회 보용으로부터 어긋난 보용이 장래 생성되지만, 상기의 정상 선회 보용 설정 수법은 장래 실제로 생성될 보용에 되도록 가능한 가까워지도록 설정하는 예이다.
상기 이외의 정상 선회 보용의 설정 수법을 이하의 1)부터 4)까지 도시한다. 4)를 제외하면, 장래 실제로 생성될 보용과 정상 선회 보용의 어긋남은 상기에서 얻는 것보다 커지는 경향이 있는데, 연산이 용이하게 된다.
1) 차차회 지지 레그 좌표계와 차차회 보행 주기는 금회 지지 레그 좌표계, 금회 보행 주기 및 그때까지의 보행 이력을 기초로, 생성하고 싶은 보용의 이동 속도나 선회 속도가 급격히 변화하지 않을 것이라는 것을 전제로 하여 예상하는 혹은 외삽적으로(extrapolation) 구해도 된다.
2) 정상 선회 보용을 항상 직선 보용으로 해도 된다. 단, 선회 속도가 커짐에 따라서, ZMP 수정량이 증가한다. 즉, 안정 여유가 저하한다.
3) 정상 선회 보용을 항상 정지 보용 혹은 그 자리 밟음 보용으로 해도 된다. 단, 보행 속도가 빨라짐에 따라, ZMP 수정량이 증가한다. 또한, 「정지 보용」이란, 움직임이 없는 정지 상태의 보용을 의미한다.
4) 금회 보용과 정상 선회 보용 사이에 과도기 보용을 추가해도 된다. 거동 예측 연산이 복잡하게 되지만, 정상 선회 보용을 결정할 때의 제약 조건(경계 조건)이 까다롭지 않게 되어, 보다 원하는 것에 가까운 정상 선회 보용을 설정할 수 있으므로, 한층 더 안정 여유를 높일 수 있다.
또한, 3)과 4)를 조합하는 것도 가능하다.
[실시예 2]
이어서 기술하는 본 발명의 제2 실시 형태에 관한 레그식 이동 로봇의 보용 생성 장치는 그 점에 초점을 둔 것이다.
도 22는, 그 제2 실시 형태에 관한 장치의 동작의 일부를 도시하는 제1 실시 형태의 도 13에 유사한 정상 선회 보용의 별도의 설정예를 도시하는 설명도이다. 즉, 도 22에 도시하는 바와 같이, 정상 선회 보용이 정지 보용을 포함하도록 구성하는 동시에, 금회 보용과 정지 보용(정상 선회 보용)의 사이에 과도적인 보용(과도 보용. 정상 선회 보용 이외의 보용을 의미한다)을 삽입하도록 했다.
이와 같이, 금회 보용, 과도 보용, 정지 보용으로 이루어지는 3개의 보용을 설정함으로써, 자세의 발산을 효과적으로 방지할 수 있다. 또한, 언제라도 정지 상태로 이행할 수 있도록 보용이 생성되므로, 갑자기 정지 요구가 주어져도, 안정 여유가 높은 정지 동작이 가능해진다.
구체적으로는, 정지 보용도 정상 선회 보용의 하나라고 생각하여, 전술의 정상 선회 보용의 초기 발산 성분 산출 알고리즘을 사용하는 것으로 한다. 단, 정지시의 상체 질점 속도가 0이므로, 발산 성분은 도립 진자 질점 위치에 일치하므로, 일부러 이 알고리즘을 이용하지 않아도 용이하게 구할 수 있다.
제2 실시 형태는 상기와 같이 구성하였으므로, 제1 실시 형태의 경우와 같이, 안정 여유가 높은 보용을 자유롭고 또한 실시간으로 생성할 수 있다.
제1 실시 형태로부터 제2 실시 형태는 상기와 같이, 적어도 상체(24)와, 상기 상체에 연결되는 복수 개, 보다 구체적으로는 2개의 레그부(레그부 링크)(2)를 구비한 레그식 이동 로봇(1)의 보용 생성장치(보용 생성부(100))에 있어서, 적어도 상기 상체와 레그부의 운동과, 바닥 반력, 보다 구체적으로는 ZMP와의 관계를 나타내는 동력학 모델(도 5 및 도 6에 도시한다), 적어도 요구(차회 보용 지지 레그 좌표계, 차차회 보용 지지 레그 좌표계, 금회 보용 주기, 차회 보용 주기 등. S22)에 따라, 상기 레그부의 궤도(목표 발판 위치 자세 궤도)와 상기 바닥 반력의 궤도(목표 전체 바닥 반력 중심점 궤도(목표 ZMP 궤도))를 결정하는 파라미터를 적어도 포함하는 금회 보용의 파라미터를 가결정하는 금회 보용 파라미터 가결정수단(S24), 적어도 상기 요구에 따라, 상기 금회 보용에 계속되는 주기적 보용(정상 선회 보용)의 상기 파라미터를 상정(결정)하는 주기적 보용 파라미터 상정수단(S26), 상기 동력학 모델 및 상기 금회 보용의 파라미터와 그에 연속하는 상기 주기적 보용의 파라미터에 따라서 결정되는 상기 상체의 궤도(목표 상체 위치 자세 궤도)가 상기 주기적 보용의 파라미터로부터 결정되는 상기 주기적 보용의 상기 상체의 궤도에 실질적으로 수렴 혹은 일치하도록, 적어도 상기 가결정된 금회 보용의 파라미터를 수정하는 금회 보용 파라미터 수정수단(S30, S200로부터 S208), 및 적어도 상기 수정된 상기 금회 보용의 파라미터에 따라서 상기 금회 보용의 순간값을 결정하는 금회 보용 순간값 결정수단(S20, S300으로부터 S314)을 구비하도록 구성했다.
또한, 적어도 상체(24)와, 상기 상체에 연결되는 복수 개, 구체적으로는 2개의 레그부(레그부 링크)(2)를 구비한 레그식 이동 로봇(1)의 보용 생성장치(보용 생성부(100))에 있어서, 적어도 상기 상체와 레그부의 운동과, 바닥 반력(구체적으로는 ZMP)과의 관계를 나타내는 동력학 모델(도 5 및 도 6에 도시한다), 적어도 요구(S22)에 따라, 상기 레그부의 궤도(목표 발판 위치 자세 궤도)와 상기 바닥 반력의 궤도(목표 전체 바닥 반력 중심점 궤도(목표 ZMP 궤도))를 결정하는 파라미터를 적어도 포함하는 금회 보용의 파라미터를 가결정하는 금회 보용 파라미터 가결정수단(S24), 적어도 상기 요구에 따라, 상기 금회 보용에 계속되는 주기적 보용(정상 선회 보용)의 상기 파라미터를 상정(결정)하는 주기적 보용 파라미터 상정수단(S26), 상기 주기적 보용의 상기 파라미터에 의하여, 상기 주기적 보용의 상기 상체의 거동을 상기 동력학 모델에 근사했을 때의 발산 성분의 보용 경계에서의 값인 주기적 보용 경계 발산 성분(정상 선회 초기 발산 성분)을 결정하는 주기적 보용 경계 발산 성분 결정수단(S28, S100으로부터 S106), 상기 금회 보용의 파라미터에 의하여, 상기 동력학 모델을 이용하여 생성되는 금회 보용의 종단에 있어서의 적어도 상기 발산 성분(종단 발산 성분)이 완전히 일치 혹은 실질적으로 일치하도록, 상기 금회 보용의 파라미터, 보다 구체적으로는 목표 ZMP의 파라미터를 수정하는 금회 보용 파라미터 수정수단(S30, S200으로부터 S208), 및 적어도 상기 수정된 상기 금회 보용의 파라미터에 따라서 상기 금회 보용의 순간값을 결정하는 금회 보용 순간값 결정수단(S20, S300으로부터 S314)을 구비하도록 구성했다.
또한, 상기 금회 보용과 상기 주기적 보용 사이에 과도적인 보용(과도 보용)이 삽입되도록 구성했다.
또한, 상기 주기적 보용이 정지 보용을 포함하도록 구성했다.
또한, 적어도 상체(24)와, 상기 상체에 연결되는 복수 개, 보다 구체적으로는 2개의 레그부(레그부 링크)(2)를 구비한 레그식 이동 로봇(1)의 보용 생성장치(보용 생성부(100))에 있어서, 상기 레그부의 운동에 의해서 발생하는 관성력과 중력의 합력(총 관성력)인 레그부 반력, 보다 구체적으로는 레그 ZMP(ZMPfeet)를 상기 상체의 거동에 의존하지 않고 산출하는 레그부 반력 산출수단(각 ZMP 산출기(200), S20, S306), 적어도 상기 산출된 레그부 반력과 목표 바닥 반력, 보다 구체적으로는 목표 ZMP로부터, 적어도 상기 상체의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치(ZMPpend)를 산출하는 도립 진자 모델 지점 위치 산출수단(S20, S308), 적어도 상기 산출된 도립 진자 모델의 지점 위치에 따라서 상기 도립 진자 모델의 변위, 보다 구체적으로는 상기 도립 진자 질점 위치(도립 진자 수평위치(xb))를 산출하는 도립 진자 모델 변위 산출 수단(S20, S310), 적어도 상기 산출 된 도립 진자 모델의 변위에 따라서 상기 상체의 위치, 보다 구체적으로는 상기 상체의 수평위치를 산출하는 상체 위치 산출수단(상체 위치 결정기(202, S20, S312, S314), 및 적어도 상기 산출된 상체 위치를 이용하여 보용, 보다 구체적으로는 금회 보용의 순간값을 생성(산출)하는 보용 생성수단(S20, S300으로부터 S314, 보용 생성부(100))을 구비하도록 구성했다.
또한, 적어도 상체(24)와, 상기 상체에 연결되는 복수 개, 보다 구체적으로는 2개의 레그부(레그부 링크)(2)를 구비한 레그식 이동 로봇의 보용 생성장치(보용 생성부(100))에 있어서, 상기 레그부의 운동에 의해서 발생하는 관성력과 중력의 합력에 유사적으로 대응하는 상기 레그부의 ZMP에 상당하는 레그부 ZMP(ZMPpend)를 상기 상체의 거동에 의존하지 않고 산출하는 레그부 ZMP 산출수단(레그 ZMP 산출기(200, S20, S306)), 적어도 상기 산출된 레그부 ZMP와 목표 ZMP로부터, 적어도 상기 상체의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치(ZMPpend)를 산출하는 도립 진자 모델 지점 위치 산출수단(S20, S308), 적어도 상기 산출된 도립 진자 모델의 지점 위치에 따라서 상기 도립 진자 모델의 변위, 보다 구체적으로는 상기 도립 진자 질점 위치(도립 진자 수평 위치(xb))를 산출하는 도립 진자 모델 변위 산출수단(S20, S310), 적어도 상기 산출된 도립 진자 모델의 변위에 따라서 상기 상체의 위치를 산출하는 상체 위치 산출수단(S20, S312, S314. 상체 위치 결정기(202)), 및 적어도 상기 산출된 상체 위치를 이용하여 보용, 보다 구체적으로는 금회 보용의 순간값을 생성(산출)하는 보용 생성수단(S20, S300으로부터 S314, 보용 생성부(100))을 구비하도록 구성했다.
또한, 상기 도립 진자 모델지점 위치 산출수단은 상기 목표 ZMP에 제1 계수 mtotal/mb를 곱해 얻은 곱으로부터, 상기 레그부 ZMP에 제2 계수 mfeet/mtotal을 곱해 얻은 곱을 감산하여 상기 도립 진자 모델의 지점 위치(도립 진자 수평위치(xb))를 산출하도록 구성했다.
또한, 적어도 상체(24)와, 상기 상체에 연결되는 복수 개, 보다 구체적으로는 2개의 레그부(레그부 링크)(2)를 구비한 레그식 이동 로봇(1)의 보용 생성장치(보용 생성부(100))에 있어서, 상기 레그부의 운동에 의해서 발생하는 관성력과 중력의 합력인 레그부 반력(레그 ZMP(ZMPfeet))을 상기 상체의 거동에 의존하지 않고서 산출하는 레그부 반력 산출수단(레그 ZMP 산출기(200, S20, S306))과, 적어도 상기 산출된 레그부 반력과 목표 바닥 반력(목표 ZMP)으로부터, 적어도 상기 상체의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치(도립 진자 ZMP(ZMPpend))를 산출하는 도립 진자 모델 지점 위치 산출수단(S20, S308)과, 적어도 상기 산출된 도립 진자 모델의 지점 위치에 따라서 상기 도립 진자 모델의 변위, 보다 구체적으로는 위치(도립 진자 수평위치)를 산출하는 도립 진자 모델 변위 산출수단(S20, S310)과, 적어도 상기 산출된 도립 진자 모델의 변위에 따라서 상기 상체의 위치(상체의 수평위치)를 산출하는 상체 위치 산출수단(상체 위치 결정기(202, S20, S312, S314))로 구성되는 동력학 모델, 적어도 요구(S22)에 따라, 상기 레그부의 궤도(목표 발판 위치 자세 궤도)와 상기 바닥 반력의 궤도(목표 전체 바닥 반력 중심점 궤도(목표 ZMP 궤도))를 결정하는 파라미터를 적어도 포함하는, 금회 보용의 파라미터를 가결정하는 금회 보용 파라미터 가결정수단(S24), 적어도 상 기 요구에 따라, 상기 금회 보용에 계속되는 주기적 보용(정상 선회 보용)의 상기 파라미터를 상정하는 주기적 보용 파라미터 상정수단(S26), 상기 주기적 보용의 상기 파라미터에 의하여, 상기 주기적 보용의 경계에서의 상기 도립 진자 모델의 발산 성분인 주기적 보용 경계 발산 성분(정상 선회 보용의 초기 발산 성분)을 결정하는 주기적 보용 경계 발산 성분 결정수단(S28, S100으로부터 S106), 상기 금회 보용의 파라미터에 의하여, 상기 동력학 모델을 이용하여 생성되는 금회 보용의 종단에 있어서의 상기 도립 진자 모델의 발산 성분이 상기 주기적 보용 경계 발산 성분(금회 보용의 종단 발산 성분)에 완전히 일치 또는 실질적으로 일치하도록, 상기 금회 보용의 파라미터를 수정하는 금회 보용 파라미터 수정수단(S30, S200으로부터 S208), 및 적어도 상기 수정된 금회 보용의 파라미터에 따라서 상기 금회 보용의 순간값을 결정하는 금회 보용 순간값 결정수단(S20, S300으로부터 S314)을 구비하도록 구성했다.
또한, 상기 바닥 반력이 적어도 ZMP를 포함하도록 구성했다. 상기 (도 5 및 도 6에 도시한다) 도립 진자 모델이 선형 모델이도록 구성했다.
이어서, 레그 ZMP(ZMPfeet)의 산출에 관해서 부언한다.
레그 ZMP(ZMPfeet)를 구하는 함수는 이하의 조건을 만족하는 것이 바람직하다(제1 실시 형태에서는 이들 모든 조건을 만족하고 있다).
조건 a) 발판 궤도를 결정하는 보용 파라미터 전체 또는 일부를 기초로 결정되는 것.
조건 b) 상체 대표점의 연동의 영향을 받지 않는 것.
조건 c) 단순화 모델의 근사 정밀도가 충분히 높은 것.
조건 d) 가능한 연속인 것.(상체 가속도를 연속으로 하기 위한 것.)
이들 중, 조건 a, b는 예측 연산을 쉽게 하기 위한 조건이다. 상기에서 수식 1과 수식 2로부터 레그 ZMP를 구하고 있는데, 수식 1과 계속해서 기술하는 수식 36 및 수식 37을 이용해도 된다.
점P 주위의 레그 총 관성력 모멘트= mfeet*(ZMPfeet-xp)*(G-C* afeetz)
… 수식 36
단, C는 정수이고, 또한, 양 레그 중심 가속도 벡터 afeet가 수식 37에 의해서 구해지고, 수식 36의 양 레그 중심 연직 방향 가속도 벡터 afeetz는 afeet의 X, Y 성분을 0으로 한 벡터이다.
afeet=(msup*d2(xsup)/dt2 + mswg*d2(xswg)/dt2)/(msup + mswg)
… 수식 37
수식 36은 수식 2보다도 조정 자유도가 높으므로, 근사 정밀도를 높게 할 수 있다. 또한, 점P 주위의 레그 총 관성력 모멘트를 구하는 수식 1에 있어서, 레그 가속도에 관한 항을 일부러 정수배하는 등, 역학적으로는 바르지 않은 식으로 변경해도, 최종적으로 단순화 모델의 근사 정밀도가 높아지면, 지장이 없다.
계속해서, 작용점(P)의 설정에 관해서 부언한다.
작용점(P)은 다음과 같이 설정하는 것도 가능하다.
1) 금회 보용의 지지 레그 좌표계 원점 혹은 그 근방의 소정의 점에 작용점(P)을 설정한다.
2) 양 레그 지지기간 동안에 직전 보용의 지지 레그 좌표계 원점 혹은 근방의 소정의 점에서 금회 보용의 지지 레그 좌표계 원점 혹은 근방의 소정의 점에 연속적으로 이동하도록 작용점(P)을 설정한다.
3) 작용점(P)을 가목표 ZMP 궤도에 일치시킨다.
이하, 각각의 특징을 해설한다.
1)에 관해서는, 작용점(P)이 레그 위치에 대해 상대적으로 불연속(즉, 바닥에 설정된 절대 좌표계에서 볼 때 불연속)으로 되므로, ZMPfeet도 레그 위치에 대해 상대적으로 불연속(즉, 상기한 절대 좌표계에서 볼 때 불연속)이 되는 결점이 있다. 그러나, 양 발판의 가속도가 너무 크지 않은 양 레그 지지기간에 좌표계를 바꾸는 한, 불연속의 크기는 보행상, 그다지 문제가 되지 않는다.
2)에 관해서는, 근사 정밀도는 1)보다 좋다. 또한, 작용점(P)이 레그 위치에 대해 상대적으로 연속이 되므로, ZMPfeet도 레그 위치에 대해 상대적으로 연속이 된다.
3)에 대해서는, 2)의 수법보다도 더 근사 정밀도가 높아진다. 또한 2)와 마찬가지로, ZMPfeet도 레그 위치에 대해 상대적으로 연속이 된다.
계속해서, 레그 총 관성력 모멘트의 산출에 관해서 부언한다.
각 발판 질점 궤도는 발판 운동 파라미터로부터 결정되는 궤도이지만, 각 발판 질점 궤도를 구할 때에 이용하는 발판 위치 자세의 궤도는 보용 생성부(100)로부터 출력되는 목표 보용의 발판 위치 자세와 일치하지 않아도 된다.
예를 들면, 목표 보용의 발판이 회전하는 경우라도, 각 발판 질점 궤도를 구 할 때에 이용하는 발판 위치 자세의 궤도는 발판을 수평 자세를 유지한 채(즉, 평발)이어도 된다. 정밀도가 현저히 저하하지 않는 한, 들어올림량 등, 다른 파라미터를 바꾼 궤도로 해도 된다.
또한, 레그 질점은 다음과 같이 설정해도 된다.
1) 발판내의 소정의 점
2) 상기 점에서 연직방향으로 일정 거리 밀린 점
3) 발판 내에 복수의 질점을 설정해도 된다. 또한 발판에 관성을 설정해도 된다.
상기 어느 쪽의 수법도, 상기 조건 b)을 만족하고 있다.
상체 및 레그의 질점 오프셋 설정에 관해서 부언하면, 상체 및 레그의 질점 오프셋 설정치는 고정치라도 거의 문제 없지만, 중심 위치의 모델화 오차를 될수록 작게 하기 위해서, 보용 파라미터에 따라 보정되도록 해도 된다. 또한, 상기한 것과 같은 도립 진자의 수평위치를 상체 대표점 수평위치에 대응시키는 대신에, 로봇의 전체 중심 위치 혹은 일부의 중심 위치(레그부의 전부 혹은 일부의 질량 분포를 제외하는, 로봇의 질량 분포의 중심 위치)에 대응시켜도 된다.
또한, 도립 진자의 높이에 관해서는, 보용 파라미터에 따라 변경해도 상관없는데, 장래 거동 예측을 쉽게 하기 위해, 단기적(예를 들면 1보의 기간)으로는 일정치로 하는 것이 바람직하다.
또한, 레그 반력에 의해서 발생하는 발산 성분의 산출에 관해서 부언하면, 레그 반력에 의해서 발생하는 발산 성분을, 제어 주기마다의 레그 궤도를 생성하지 않고, 보용 파라미터로부터 근사적으로 직접 구하도록 해도 된다.
예를 들면, 레그 ZMP가 1보 동안, 보용 초기의 양 레그 중심 위치와 보용 종단에서의 양 레그 중심 위치의 평균치에 있다고 근사하면, 이 평균치에 H(1, T)를 곱한 것이 레그 반력에 의해서 발생하는 발산 성분을 시각 0의 역으로(inverse) 환산한 것의 근사치가 된다.
레그 운동에 의해서 발생하는 종단 발산 성분은 보용 파라미터(특히 레그 운동 파라미터와 시간 파라미터)를 입력으로 하는 함수로 되어 있다. 따라서, 보용 파라미터와 레그 운동에 의해서 발생하는 종단 발산 성분의 관계를 나타내는 맵을 작성해 놓으면, 연산량을 줄일 수도 있다. 단, 필요한 메모리 용량이 증가한다. 어느쪽 수법을 이용해도 된다.
상기한 변형예를 조합하는 것도 가능하다. 예를 들면, ZMP 수정치를 구하기 위한(장래 거동 예측시의) 레그 ZMP 산출수법과, 금회 제어 주기의 순간값을 구할 때의 레그 ZMP 산출법은 엄밀히 일치하지 않아도 된다. 조금 차가 있더라도, ZMP 수정치를 구할 때에 초기 발산 성분의 영향이 고려되어 있으므로, 상기 차이에 의해서, 발산 성분이 어긋나더라도, 1보 후에 다시 보용을 설계할 때에 발산하지 않도록 보정되기 때문이다.
또한, 상기한 제1 실시 형태의 도 12의 플로우 챠트에 있어서 t= 0일 때에 보용을 수정 또는 변경했지만(S10), 그 이외의 시점에서 수정 또는 변경해도 된다. 이 때는 현재 시간을 금회 보용의 초기 시간으로 간주하면 된다. 즉, 금회 보용의 기간이 현재 시각에서 금회 보용 종단 시각까지로 하면 된다.
또한, 상기에 있어서, 도 6에 도시한 블록선도는 연산처리순서를 바꾸는 등의 등가변형을 해도 된다.
또한, 본 발명을 2족 보행 로봇에 대해서 설명했는데, 3족 이상의 멀티레그 로봇에도 응용할 수 있다.
청구항 1에서는, 레그부의 목표 운동에 기초하여, 레그부의 목표 운동에 의해 발생하는 관성력과 중력의 합력인 레그부 반력을 산출하고, 적어도 목표 바닥 반력과 산출한 레그부 반력에 기초하여, 적어도 상체의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치를 산출하고, 적어도 산출한 도립 진자 모델의 지점 위치에 기초하여, 도립 진자 모델의 변위를 산출하고, 적어도 산출한 도립 진자 모델의 변위에 기초하여, 상체의 위치를 산출하는 동시에, 적어도 산출한 상체 위치를 이용하여 보용을 생성하도록 구성하므로, 레그식 이동 로봇의 동력학적 거동을 기술하는 모델을 단순화하여 선형도를 높일 수 있다.
즉, 레그식 이동 로봇을 2족 보행 로봇으로 하는 때에, 도립 진자 모델에 그 동력학적 거동을 기술하는 동시에, 모든 힘을 바닥 반력(보다 구체적으로는 ZMP) 상당치로 환산하므로, 로봇의 상체 거동을 선형 결합가능하게 할 수 있고, 모델의 거동을 통해 로봇이 발산하는지 여부의 예측을, 순차적으로, 실시간으로 연산하는 것도 가능하고, 동력학적으로 한층 안정된 보용을 생성할 수 있다.
청구항 2에서는, 레그부의 목표 운동에 기초하여, 레그부의 목표 운동에 의해 발생하는 관성력과 중력의 합력으로 유사적으로 대응하는 레그부의 ZMP에 상당하는 레그부 ZMP를 산출하고, 적어도 목표 ZMP와 산출한 레그부 ZMP에 기초하여, 적어도 상체의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치를 산출하고, 적어도 산출한 도립 진자 모델의 지점 위치에 기초하여, 도립 진자 모델의 변위를 산출하고, 적어도 산출한 도립 진자 모델의 변위에 기초하여, 상체의 위치를 산출하는 동시에, 적어도 산출한 상체 위치를 이용하여 보용을 생성하도록 구성하였으므로, 청구항 1에 기술한 것과 동일의 작용 효과를 얻을 수 있다.
청구항 3에서는, 목표 ZMP에 제1 계수를 곱해 얻은 곱으로부터, 레그부 ZMP에 제2 계수를 곱해 얻은 곱을 감산하여 도립 진자 모델의 지점 위치를 산출하도록 구성하였으므로, 모델의 상체 거동을 완전하게 선형 결합 가능하게 할 수 있고, 모델의 거동이 발산하는지 여부의 거동 예측을, 순차적으로, 실시간으로 연산할 수 있고, 동력학적으로 한층 안정된 보용을 생성할 수 있다. 또, 이에 의해 보행 이외의 동작도 실시간으로 생성할 수 있게 되므로, 보행 이외의 임의의 동작과 보행을 연속적으로 매끄럽게 연결하는 것도 가능하다.
청구항 4에서는, 바닥 반력이 적어도 ZMP를 포함하도록 구성하였으므로, 청구항 1에 기술한 것과 동일의 작용 효과를 얻을 수 있다.
청구항 5에서는, 도립 진자 모델이 선형 모델이도록 구성하였으므로, 청구항 1에 기술한 것과 동일의 작용 효과를 얻을 수 있다.

Claims (5)

  1. 적어도 상체와, 상기 상체에 연결되는 복수 개의 레그부를 구비한 레그식 이동 로봇의 보용(步容; gait pattern) 생성장치에 있어서,
    a. 상기 레그부의 목표 운동에 기초하여, 상기 레그부의 목표 운동에 의해 발생하는 관성력과 중력의 합력인 레그부 반력을 산출하는 레그부 반력 산출수단,
    b. 적어도 목표 바닥 반력과 상기 레그부 반력 산출수단이 산출한 레그부 반력에 기초하여, 적어도 상기 상체의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치를 산출하는 도립 진자 모델 지점 위치 산출수단,
    c. 적어도 상기 도립 진자 모델 위치 산출수단이 산출한 도립 진자 모델의 지점 위치에 기초하여, 상기 도립 진자 모델의 변위를 산출하는 도립 진자 모델 변위 산출수단,
    d. 적어도 상기 도립 진자 모델 변위 산출수단이 산출한 도립 진자 모델의 변위에 기초하여, 상기 상체의 위치를 산출하는 상체 위치 산출수단, 및
    e. 적어도 상기 상체 위치 산출수단이 산출한 상체 위치를 이용하여 보용을 생성하는 보용 생성수단을 구비하는 것을 특징으로 하는 레그식 이동 로봇의 보용 생성장치.
  2. 적어도 상체와, 상기 상체에 연결되는 복수 개의 레그부를 구비한 레그식 이동 로봇의 보용 생성장치에 있어서,
    a. 상기 레그부의 목표 운동에 기초하여, 상기 레그부의 목표 운동에 의해 발생하는 관성력과 중력의 합력에 유사적으로 대응하는 상기 레그부의 ZMP에 상당하는 레그부 ZMP를 산출하는 레그부 ZMP 산출수단,
    b. 적어도 목표 ZMP와 상기 레그부 ZMP 산출수단이 산출한 레그부 ZMP에 기초하여, 적어도 상기 상체의 동력학적 거동을 기술하는 도립 진자 모델의 지점 위치를 산출하는 도립 진자 모델 지점 위치 산출수단,
    c. 적어도 상기 도립 진자 모델 지점 위치 산출수단이 산출한 도립 진자 모델의 지점 위치에 기초하여, 상기 도립 진자 모델의 변위를 산출하는 도립 진자 모델 변위 산출수단,
    d. 적어도 상기 도립 진자 모델 변위 산출수단이 산출한 도립 진자 모델의 변위에 기초하여, 상기 상체의 위치를 산출하는 상체 위치 산출수단, 및
    e. 적어도 상기 상체 위치 산출수단이 산출한 상체 위치를 이용하여 보용을 생성하는 보용 생성수단을 구비하는 것을 특징으로 하는 레그식 이동 로봇의 보용 생성장치.
  3. 제2항에 있어서,
    상기 도립 진자 모델 지점 위치 산출수단은, 상기 목표 ZMP에 제1 계수를 곱해 얻은 곱(積)으로부터, 상기 레그부 ZMP에 제2 계수를 곱해 얻은 곱을 감산하여 상기 도립 진자 모델의 지점 위치를 산출하는 것을 특징으로 하는 레그식 이동 로봇의 보용 생성장치.
  4. 제1항에 있어서,
    상기 바닥 반력이 적어도 ZMP를 포함하는 것을 특징으로 하는 레그식 이동 로봇의 보용 생성장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 도립 진자 모델이 선형 모델인 것을 특징으로 하는 레그식 이동 로봇의 보용 생성장치.
KR1020057020341A 2000-11-17 2001-11-16 레그식 이동 로봇의 보용 생성장치 KR100661333B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000352011 2000-11-17
JPJP-P-2000-00352011 2000-11-17
PCT/JP2001/010026 WO2002040224A1 (fr) 2000-11-17 2001-11-16 Dispositif generateur d'un modele de demarche pour robot mobile pourvu de jambes

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7006572A Division KR20030051823A (ko) 2000-11-17 2001-11-16 레그식 이동 로봇의 보용 생성장치

Publications (2)

Publication Number Publication Date
KR20050105522A KR20050105522A (ko) 2005-11-04
KR100661333B1 true KR100661333B1 (ko) 2006-12-27

Family

ID=18824968

Family Applications (3)

Application Number Title Priority Date Filing Date
KR10-2003-7006572A KR20030051823A (ko) 2000-11-17 2001-11-16 레그식 이동 로봇의 보용 생성장치
KR1020057020341A KR100661333B1 (ko) 2000-11-17 2001-11-16 레그식 이동 로봇의 보용 생성장치
KR1020057020340A KR100637057B1 (ko) 2000-11-17 2001-11-16 레그식 이동 로봇의 보용 생성장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR10-2003-7006572A KR20030051823A (ko) 2000-11-17 2001-11-16 레그식 이동 로봇의 보용 생성장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020057020340A KR100637057B1 (ko) 2000-11-17 2001-11-16 레그식 이동 로봇의 보용 생성장치

Country Status (7)

Country Link
US (1) US6876903B2 (ko)
EP (2) EP1361027B1 (ko)
JP (2) JP3726081B2 (ko)
KR (3) KR20030051823A (ko)
AU (1) AU2002224042A1 (ko)
DE (2) DE60141092D1 (ko)
WO (1) WO2002040224A1 (ko)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3760186B2 (ja) * 2001-06-07 2006-03-29 独立行政法人科学技術振興機構 二脚歩行式移動装置及びその歩行制御装置並びに歩行制御方法
DE60238781D1 (de) * 2001-10-16 2011-02-10 Honda Motor Co Ltd Vorrichtung und verfahren zur bestimmung eines gehzustands
JP3569764B2 (ja) * 2001-11-19 2004-09-29 独立行政法人 科学技術振興機構 二脚歩行式移動装置およびその歩行制御装置並びに歩行制御方法
JP3574951B2 (ja) * 2001-12-19 2004-10-06 独立行政法人 科学技術振興機構 二脚歩行式移動装置及びその歩行制御装置及び歩行制御方法
JP3726057B2 (ja) * 2001-12-28 2005-12-14 本田技研工業株式会社 脚式移動ロボットおよびその床反力検出装置
US7319918B2 (en) 2001-12-28 2008-01-15 Honda Giken Kogyo Kabushiki Kaisha Gait generation device for legged mobile robot
JP3672101B2 (ja) * 2001-12-28 2005-07-13 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
US6963185B2 (en) 2002-04-26 2005-11-08 Honda Giken Kogyo Kabushiki Kaisha System for estimating attitude of leg type moving robot itself
EP1502711B1 (en) 2002-04-26 2011-02-23 Honda Giken Kogyo Kabushiki Kaisha Control device of legged mobile robot
EP1552908A4 (en) * 2002-10-11 2008-10-15 Fujitsu Ltd DEVICE FOR CREATING A ROBOT CONTROL ALGORITHM, PROGRAM FOR CREATING A ROBOT CONTROL ALGORITHM, ROBOT CONTROL PROGRAM AND ROBOT
JP2004220566A (ja) * 2002-12-26 2004-08-05 Toshiba Corp 機構シミュレーション方法および機構シミュレーションプログラム
US7437214B2 (en) * 2003-03-27 2008-10-14 Sony Corporation Robot device and method of controlling the same
JP3972854B2 (ja) * 2003-04-10 2007-09-05 ソニー株式会社 ロボットの運動制御装置
KR101083414B1 (ko) 2003-06-27 2011-11-14 혼다 기켄 고교 가부시키가이샤 다리식 이동 로봇의 제어장치
JP4199236B2 (ja) * 2003-06-27 2008-12-17 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
WO2005075156A1 (ja) * 2004-02-06 2005-08-18 Honda Motor Co., Ltd. 移動ロボットの歩容生成装置
WO2005077611A1 (ja) 2004-02-16 2005-08-25 Honda Motor Co., Ltd. 移動ロボットの歩容生成装置
WO2005082583A1 (ja) * 2004-02-27 2005-09-09 Honda Motor Co., Ltd. 移動ロボットの歩容生成装置
JP4485279B2 (ja) 2004-08-02 2010-06-16 本田技研工業株式会社 脚式移動ロボットの歩容生成装置および制御装置
DE602005021689D1 (de) * 2004-10-15 2010-07-15 Honda Motor Co Ltd Gangerzeuger für mobilen roboter mit beinen
JP4531520B2 (ja) 2004-10-15 2010-08-25 本田技研工業株式会社 脚式移動ロボットの制御装置
CN101068663B (zh) 2004-12-14 2010-11-17 本田技研工业株式会社 腿式移动机器人及其控制方法
US7860613B2 (en) * 2004-12-14 2010-12-28 Honda Motor Co., Ltd. Legged mobile robot and control program for the robot
EP1844907B1 (en) 2004-12-14 2010-07-14 HONDA MOTOR CO., Ltd. Legged mobile robot and control program for the robot
JP4440761B2 (ja) * 2004-12-24 2010-03-24 本田技研工業株式会社 脚式移動ロボットの制御装置
JP4548135B2 (ja) * 2005-02-03 2010-09-22 トヨタ自動車株式会社 脚式ロボットとその制御方法
ATE426379T1 (de) * 2005-04-12 2009-04-15 Honda Motor Co Ltd Aktive steuerung einer fussgelenkorthese
JP4815611B2 (ja) * 2005-06-08 2011-11-16 国立大学法人 名古屋工業大学 受動歩行脚式ロボット
KR100709556B1 (ko) * 2005-10-19 2007-04-20 한국과학기술연구원 인간형 로봇의 보행 제어 방법
JP2007160440A (ja) 2005-12-12 2007-06-28 Honda Motor Co Ltd 脚式移動ロボットの制御装置
DE602006009885D1 (de) 2005-12-12 2009-12-03 Honda Motor Co Ltd Steuersystem für einen beweglichen Roboter mit Beinen
JP4818716B2 (ja) * 2005-12-27 2011-11-16 富士通株式会社 ロボット制御装置
JP4812426B2 (ja) * 2005-12-27 2011-11-09 富士通株式会社 ロボット制御装置
JP4591419B2 (ja) * 2006-07-18 2010-12-01 トヨタ自動車株式会社 ロボットとその制御方法
KR100873107B1 (ko) * 2007-01-30 2008-12-09 한국과학기술원 이족 보행 로봇의 수정 가능한 걸음새 생성을 위한 실시간zmp 조작법
JP4807583B2 (ja) 2007-03-29 2011-11-02 本田技研工業株式会社 射影変換収束演算処理方法
KR100860818B1 (ko) * 2007-05-21 2008-09-30 충주대학교 산학협력단 보행 안정성 향상을 위한 유압제어방식의 자세제어장치를구비한 보행로봇 및 그 제어방법
US9144509B2 (en) * 2007-05-31 2015-09-29 Abbott Cardiovascular Systems Inc. Method and apparatus for delivering an agent to a kidney
US9364586B2 (en) * 2007-05-31 2016-06-14 Abbott Cardiovascular Systems Inc. Method and apparatus for improving delivery of an agent to a kidney
WO2009025032A1 (ja) * 2007-08-21 2009-02-26 Fujitsu Limited ロボット制御装置およびロボット制御方法
US8406505B2 (en) 2007-08-30 2013-03-26 Honda Motor Co., Ltd. Image brightness reduction for legged mobile robot
US8026955B2 (en) 2007-08-30 2011-09-27 Honda Motor Co., Ltd. Camera exposure controller including imaging devices for capturing an image using stereo-imaging
JP4392037B2 (ja) * 2007-09-12 2009-12-24 トヨタ自動車株式会社 脚式ロボット、及びその制御方法
JP4440956B2 (ja) * 2007-09-12 2010-03-24 トヨタ自動車株式会社 脚式ロボット、及びその制御方法
KR100953431B1 (ko) * 2008-02-28 2010-04-20 숭실대학교산학협력단 지엠피의 상태추정을 통한 2족보행로봇의 균형제어기법
TW201031507A (en) * 2009-02-25 2010-09-01 Micro Star Int Co Ltd Control apparatus of a multi-axial joint and control method thereof
JP5836565B2 (ja) * 2009-03-24 2015-12-24 ディズニー エンタープライゼス インコーポレイテッド モーションキャプチャデータを模倣するロボットの追跡及びバランス維持システム及び方法
PT2442959E (pt) 2009-06-18 2016-06-03 Progressive Components Int Corp Contador electrónico de ciclos
US20130103794A1 (en) 2009-06-18 2013-04-25 Glenn Starkey System and method for monitoring tooling activities
JP5219956B2 (ja) * 2009-07-23 2013-06-26 本田技研工業株式会社 移動体の制御装置
US9120224B2 (en) * 2009-09-22 2015-09-01 GM Global Technology Operations LLC Framework and method for controlling a robotic system using a distributed computer network
JP5284923B2 (ja) 2009-10-28 2013-09-11 本田技研工業株式会社 脚式移動ロボットの制御装置
WO2011057182A2 (en) 2009-11-06 2011-05-12 University Of Maryland, College Park Method and system for determining relative displacement and heading for navigation
JP5506618B2 (ja) * 2009-12-28 2014-05-28 本田技研工業株式会社 ロボットの制御装置
JP5463991B2 (ja) * 2010-03-18 2014-04-09 トヨタ自動車株式会社 2脚歩行ロボット
TW201142339A (en) * 2010-05-20 2011-12-01 Jiung-Yao Huang Remote sensing satellite positioning device and method thereof
JP5456588B2 (ja) 2010-06-07 2014-04-02 本田技研工業株式会社 脚式移動ロボットの制御装置
WO2012011182A1 (ja) 2010-07-22 2012-01-26 トヨタ自動車株式会社 二足歩行ロボット及び二足歩行ロボットの着地タイミング決定方法
JP5991857B2 (ja) * 2011-06-10 2016-09-14 三星電子株式会社Samsung Electronics Co.,Ltd. ロボットの均衡制御装置及びその制御方法
JP5661023B2 (ja) * 2011-12-02 2015-01-28 本田技研工業株式会社 脚式移動ロボットの歩容生成装置及びロボットの動作目標生成装置
CN102556199B (zh) * 2011-12-29 2013-07-31 北京航空航天大学 一种仿人机器人多自由度柔性脚板
KR20130078886A (ko) * 2012-01-02 2013-07-10 현대자동차주식회사 보행로봇의 균형제어방법
CN103042525B (zh) * 2013-01-22 2016-04-13 北京理工大学 一种确定仿人机器人的抗扰动能力的方法
US9618937B1 (en) 2014-08-25 2017-04-11 Google Inc. Slip detection using robotic limbs
US9387588B1 (en) 2014-08-25 2016-07-12 Google Inc. Handling gait disturbances with asynchronous timing
US10081098B1 (en) 2014-08-25 2018-09-25 Boston Dynamics, Inc. Generalized coordinate surrogates for integrated estimation and control
CN104238360B (zh) * 2014-09-03 2016-08-24 浙江大学 一种仿人机器人桌子-小车模型的Zc参数的获取方法
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
US9446518B1 (en) * 2014-11-11 2016-09-20 Google Inc. Leg collision avoidance in a robotic device
US9499218B1 (en) 2014-12-30 2016-11-22 Google Inc. Mechanically-timed footsteps for a robotic device
US9594377B1 (en) * 2015-05-12 2017-03-14 Google Inc. Auto-height swing adjustment
JP6450279B2 (ja) 2015-08-05 2019-01-09 本田技研工業株式会社 移動ロボットの目標zmp軌道の生成装置
KR102485718B1 (ko) * 2015-08-11 2023-01-06 삼성전자주식회사 보행 보조 장치의 토크 계산 방법 및 장치
US9586316B1 (en) 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
US9789919B1 (en) 2016-03-22 2017-10-17 Google Inc. Mitigating sensor noise in legged robots
CN107361773B (zh) * 2016-11-18 2019-10-22 深圳市臻络科技有限公司 用于检测、缓解帕金森异常步态的装置
CN106826759B (zh) * 2016-12-29 2024-02-09 深圳市优必选科技有限公司 脚部结构及人形机器人
JP6781101B2 (ja) * 2017-04-27 2020-11-04 国立大学法人京都大学 非線形システムの制御方法、二足歩行ロボットの制御装置、二足歩行ロボットの制御方法及びそのプログラム
CN107132843B (zh) * 2017-05-19 2020-07-31 北京京东尚科信息技术有限公司 无人搬运车的控制方法和装置
US10421510B2 (en) * 2017-07-25 2019-09-24 Sphero, Inc. Three-legged robotic apparatus
JP6823569B2 (ja) 2017-09-04 2021-02-03 本田技研工業株式会社 目標zmp軌道の生成装置
WO2019095108A1 (zh) * 2017-11-14 2019-05-23 深圳先进技术研究院 机器人的模仿学习方法、装置、机器人及存储介质
CN108030497B (zh) * 2018-01-16 2023-12-19 大连乾函科技有限公司 一种基于imu惯性传感器的步态分析装置及其方法
US10776243B1 (en) 2019-03-19 2020-09-15 Bank Of America Corporation Prediction tool
CN110850742B (zh) * 2019-11-29 2022-08-23 江苏集萃智能制造技术研究所有限公司 机器人的动步态仿真模型和方法
CN111558941B (zh) * 2020-07-14 2020-09-29 深圳市优必选科技股份有限公司 浮动基动力学前馈控制方法、装置和多足机器人
CN111880544B (zh) * 2020-08-07 2024-03-22 深圳市优必选科技股份有限公司 仿人机器人步态规划方法、装置和仿人机器人
CN113084787B (zh) * 2021-03-29 2022-08-30 东莞理工学院 仿生蛇形机器人运动步态规划方法、系统、设备及介质
US11756687B2 (en) 2021-06-27 2023-09-12 Motionize Israel Ltd. Method and system for assessing performance
CN117067223B (zh) * 2023-10-16 2024-01-05 哈尔滨理工大学 一种基于运动稳定性估计的六足机器人自由步态规划方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2555753A (en) * 1947-12-20 1951-06-05 New Britain Machine Co Extendible stock feed mechanism
JPS63150176A (ja) 1986-12-15 1988-06-22 工業技術院長 動的歩行ロボツトの歩行制御方法
AU612488B2 (en) * 1988-05-19 1991-07-11 Standard St Sensortechnik Ag Process for studying the mode of locomotion of a living organism
JPH0415068A (ja) 1990-05-08 1992-01-20 Masayoshi Fukashiro 氷製ゴルフボール
US5221883A (en) * 1990-11-30 1993-06-22 Honda Giken Kogyo Kabushiki Kaisha System for controlling locomotion of legged walking robot
US5355064A (en) * 1992-03-04 1994-10-11 Honda Giken Kogyo Kabushiki Kaisha Control system for legged mobile robot
JP3148827B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3273443B2 (ja) 1992-05-22 2002-04-08 本田技研工業株式会社 ロボットのリンクなどの軌道生成方法及び装置
JP3233450B2 (ja) 1992-05-22 2001-11-26 本田技研工業株式会社 指定時刻到達関数発生器
US5404086A (en) * 1992-07-20 1995-04-04 Honda Giken Kogyo Kabushiki Kaisha System for controlling locomotion of legged mobile robot and correcting inclinometer's output thereof
JP3663034B2 (ja) 1996-07-25 2005-06-22 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3658147B2 (ja) 1996-07-25 2005-06-08 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
WO1998004388A1 (fr) * 1996-07-25 1998-02-05 Honda Giken Kogyo Kabushiki Kaisha Dispositif de reproduction de la demarche pour robot articule muni de jambes
JP3626303B2 (ja) * 1996-12-18 2005-03-09 本田技研工業株式会社 脚式移動ロボットの足底接地位置検出装置
EP0965416B1 (en) * 1996-12-19 2005-12-07 Honda Giken Kogyo Kabushiki Kaisha Attitude controller of legged moving robot
JP3629133B2 (ja) 1997-01-31 2005-03-16 本田技研工業株式会社 脚式移動ロボットの制御装置
JP3672406B2 (ja) * 1997-01-31 2005-07-20 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
US6478314B1 (en) * 1998-02-11 2002-11-12 Joseph C. Klann Walking device
US6260862B1 (en) * 1998-02-11 2001-07-17 Joseph C. Klann Walking device
JP4213310B2 (ja) * 1999-08-30 2009-01-21 本田技研工業株式会社 2足歩行脚式移動ロボット
JP3443077B2 (ja) * 1999-09-20 2003-09-02 ソニー株式会社 ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット
US6481513B2 (en) * 2000-03-16 2002-11-19 Mcgill University Single actuator per leg robotic hexapod

Also Published As

Publication number Publication date
EP1671754A3 (en) 2007-07-11
JP2005219206A (ja) 2005-08-18
WO2002040224A1 (fr) 2002-05-23
EP1361027A4 (en) 2004-12-01
KR20050106130A (ko) 2005-11-08
JP3726096B2 (ja) 2005-12-14
JPWO2002040224A1 (ja) 2004-03-25
EP1671754A2 (en) 2006-06-21
DE60141092D1 (de) 2010-03-04
EP1361027A1 (en) 2003-11-12
KR20050105522A (ko) 2005-11-04
EP1671754B1 (en) 2010-01-13
KR20030051823A (ko) 2003-06-25
KR100637057B1 (ko) 2006-10-23
DE60126153D1 (de) 2007-03-08
AU2002224042A1 (en) 2002-05-27
US6876903B2 (en) 2005-04-05
EP1361027B1 (en) 2007-01-17
DE60126153T2 (de) 2007-10-18
US20040044440A1 (en) 2004-03-04
JP3726081B2 (ja) 2005-12-14

Similar Documents

Publication Publication Date Title
KR100661333B1 (ko) 레그식 이동 로봇의 보용 생성장치
KR100924505B1 (ko) 다리식 이동로봇의 제어장치
KR100946709B1 (ko) 다리식 이동로봇의 보용 생성 장치
KR101131776B1 (ko) 다리식 이동 로봇의 보용 생성장치
KR100551757B1 (ko) 레그식 이동 로봇의 동작 생성 장치
KR101083412B1 (ko) 다리식 이동 로봇의 보용생성 장치 및 다리식 이동 로봇의제어장치
KR100917181B1 (ko) 다리식 이동로봇의 보용 생성 장치 및 제어 장치
US7053577B2 (en) Robot and motion control method of robot
KR101214434B1 (ko) 다리식 이동 로봇의 보용생성 장치
KR20070032778A (ko) 다리식 이동 로봇의 보용생성장치 및 제어장치
KR101140810B1 (ko) 이동로봇의 보용생성장치
JP3726097B2 (ja) 脚式移動ロボットの姿勢制御装置
Sari et al. Implementation and integration of fuzzy algorithms for descending stair of KMEI humanoid robot

Legal Events

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

Payment date: 20121119

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141120

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161122

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171120

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181129

Year of fee payment: 13