KR101140812B1 - 이동 로봇의 보용생성장치 - Google Patents

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

Info

Publication number
KR101140812B1
KR101140812B1 KR1020067017634A KR20067017634A KR101140812B1 KR 101140812 B1 KR101140812 B1 KR 101140812B1 KR 1020067017634 A KR1020067017634 A KR 1020067017634A KR 20067017634 A KR20067017634 A KR 20067017634A KR 101140812 B1 KR101140812 B1 KR 101140812B1
Authority
KR
South Korea
Prior art keywords
motion
error
correction
normal
component
Prior art date
Application number
KR1020067017634A
Other languages
English (en)
Other versions
KR20060129423A (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 KR20060129423A publication Critical patent/KR20060129423A/ko
Application granted granted Critical
Publication of KR101140812B1 publication Critical patent/KR101140812B1/ko

Links

Images

Classifications

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

Abstract

이동 로봇(1)에 작용하는 상반력의 소정 성분(병진 상반력 수평성분 등)의 허용범위를 만족하도록 로봇(1)의 목표 보용을 생성할 때, 목표 운동의 임시값인 임시 운동을 작성하고, 이 임시 운동을 수정하는 처리를 제 1 동역학 모델과 이것보다도 동역학적 정밀도가 높은 제 2 동역학 모델을 사용하여 소정 조건이 만족해질 때까지 반복하여, 최종적인 수정 후 운동을 목표 운동으로서 얻는다. 임시 운동과 각 회의 수정 마다의 수정 후 운동에 대해, 제 2 동역학 모델상에서 발생하는 상반력의 소정 성분과 제 1 동역학 모델상에서 발생하는 상반력의 소정 성분과의 차를 상반력 오차로서 구함과 동시에, 각 회의 수정 마다의 그 오차의 변화량을 구한다. 그 변화량이 0에 수렴했을 때의 수정 후 운동을 목표 운동으로서 결정한다.
이동 로봇, 보용생성장치, 목표 운동 작성수단, 상반력 성분 오차 산출수단, 평가수단, 목표 운동 결정수단,

Description

이동 로봇의 보용생성장치{GAIT GENERATING DEVICE FOR MOVING ROBOT}
본 발명은 2족이동 로봇 등의 목표 보용을 생성하는 장치에 관한 것이다.
2족이동 로봇 등의 이동 로봇의 목표 보용을 생성하는 기술로서는, 예를 들면 특허 제3443077호(특허문헌 1), 또는, 제 18회 일본 로봇학회 학술강연/3P14/「2족 휴머노이드 로봇의 리얼타임 보행안정화 제어 -HRP에 있어서의 보행제어 모듈의 유효성의 검증-」(비특허문헌 1)에 개시되는 바와 같이, 목표 ZMP 주위의 상반력(床反力) 모멘트의 오차, 또는 실 ZMP의 목표 ZMP로부터의 오차를 관측하고, 그 오차를 작게 하도록 보용을 수정하는 기술이 알려져 있다.
그러나, 이들 기술에서는, 병진(竝進) 상반력의 오차가 고려되어 있지 않기 때문에, 마찰계수가 낮은 노면에서 로봇을 보행시키거나, 주행과 같이 병진 상반력 연직성분이 0 혹은 거의 0이 되는 시기를 갖는 보용을 생성하는 경우에는, 로봇의 슬립을 일으키지 않는 보용을 생성하는 것이 곤란하다.
이 때문에, 예를 들면 일본 특개2002-326173호 공보(특허문헌 2)나, PCT 국제공개공보 WO/03/057427/A1(특허문헌 3)에 개시되는 기술이 본원 출원인에 의해 제안되었다. 이들 특허문헌 2, 3에 개시되는 기술에서는, 로봇의 운동(각 부위의 위치, 자세)과, 상반력과의 관계를 나타내는 제 1 동역학 모델(단순화 모델)을 사 용하여 이 제 1 동역학 모델상에서의 동역학적 평형조건(상반력의 병진력 성분이 목표값으로 되는, 어떤 점 주위의 상반력 모멘트가 목표값으로 되는 등의 조건)을 만족하도록 로봇의 목표 운동의 순시값(순시 목표 운동)과 목표 상반력의 순시값(순시 목표 상반력)으로 이루어지는 순시 목표 보용이 차례차례 작성된다. 그리고, 이 순시 목표 보용을 제 2 동역학 모델(풀 모델)에 입력하고, 이 순시 목표 운동의 일부(목표 상체위치 자세나 목표 ZMP 주위의 목표 모멘트 등)를 보정함으로써 최종적인 순시 목표 보용이 시계열적으로 생성된다.
이 기술에서는, 제 1 동역학 모델(단순화 모델)로서, 선형성의 높은 모델을 사용함으로써 로봇의 안정한 운동을 계속적으로 행할 수 있는 보용을 효율적으로 단시간에 작성하는 것이 가능하게 됨과 동시에, 제 2 동역학 모델(풀 모델)로서 비교적 동역학적 정밀도가 높은 모델을 사용함으로써 최종적으로 생성되는 보용의 운동과 상반력 사이의 동역학적 정밀도를 실 로봇의 동역학에 보다 근접시키는 것이 가능하게 된다.
그러나, 상기 특허문헌 2, 3에 개시되는 기술에서는, 제 2 동역학 모델을 사용하여 작성되는 보용은 발산되기 쉽기 때문에, 목표 ZMP 궤도를 수정하거나 혹은 목표 ZMP 주위에 상반력 모멘트를 발생시키도록 하여, 로봇의 목표 운동궤도가 제 1 동역학 모델에서 작성된 보용으로부터 멀리 떨어지지 않도록 할 필요가 있었다. 그리고, 이 경우, 목표 ZMP 궤도의 수정량이나, 목표 ZMP 주위의 상반력 모멘트가 비교적 커지는 일이 있고, 이러한 경우에는, 안정여유를 높게 유지하는 것이 곤란하게 되는 경우가 있었다. 반대로, 안정여유를 높게 유지하기 위해서, 목표 ZMP 궤도의 수정량이나, 목표 ZMP 주위의 상반력 모멘트의 허용범위를 좁게 설정하면, 보용이 발산될 우려가 높아진다고 하는 문제가 있었다.
본 발명은 이러한 배경을 감안하여 이루어진 것으로서, 로봇의 슬립 등을 방지하기 위해서 설정하는 상반력의 소정의 성분의 허용범위를 만족할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 동역학적 정밀도를 양호하게 확보할 수 있는 이동 로봇의 보용생성장치를 제공하는 것을 목적으로 한다.
본 발명의 이동 로봇의 보용생성장치의 제 1 발명은, 이러한 목적을 달성하기 위해서, 이동 로봇의 운동에 의해 발생하는 상반력의 소정의 상반력 성분의 허용범위를 설정하고, 그 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하고, 상기 상반력 성분이 상기 허용범위를 만족하도록, 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 따라 상기 제 2 동역학 모델상에서 발생하는 상기 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분과의 차인 상반력 성분 오차를 구하는 상반력 성분 오차 산출수단과,
상기 작성된 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차가 소정의 허용 오차범위에 들어가 있는지 아닌지를 평가하는 평가수단과,
상기 평가수단의 평가에서 상기 임시 운동에 대응하는 상반력 성분 오차가 상기 허용 오차범위에 들어가 있는 경우에는, 상기 임시 운동을 상기 목표 운동으로서 결정함과 동시에, 상기 임시 운동에 대응하는 상반력 성분 오차가 상기 허용 오차범위로부터 일탈해 있는 경우에는, 상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
상기 임시 운동에 대응하는 상반력 성분 오차가 상기 허용 오차범위로부터 일탈해 있는 경우에 있어서, 상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차를 제 n 상반력 성분 오차로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동에 대응하는 상반력 성분 오차를 제 0 상반력 성분 오차로 했을 때,
상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분에, 제 n-1 상반력 성분 오차와 적어도 이 제 n-1 상반력 성분 오차에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차와의 차, 및, 상기 제 n 상반력 성분 오차와 적어도 상기 제 n-1 상반력 성분 오차에 따라 결정한 상기 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△FM)이 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 것이다.
또한, 본 발명에서, 제 2 동역학 모델의 동역학적 정밀도가 제 1 동역학 모델보다도 높다고 하는 것은, 로봇의 임의의 운동에 의해 제 2 동역학 모델상에서 발생하는 상반력이, 이 운동에 의해 제 1 동역학 모델상에서 발생하는 상반력보다도, 이 운동에서 상정되어 있는 바닥 위에서 실제의 로봇이 이 운동을 행했을 때에 이 로봇에 작용하는 실제의 상반력(실 상반력)에 보다 가까운 것이 되는 것을 의미한다. 이것은, 제 1 발명에 한하지 않고, 후술의 제 2~제 16 발명 중 어디에서도 동일하다.
또, 로봇의 임의의 운동에 대해, 임의의 동역학 모델상에서 소정의 상반력 성분(병진 상반력 수평성분, 상반력 모멘트 연직성분 등)의 허용범위를 만족한다고 하는 것은, 이 운동에 의해 이 동역학 모델상에서 발생하는 이 소정의 상반력 성분(이 운동에 대해 이 동역학 모델의 동역학이 성립하는 상반력 중 소정의 상반력 성분)이 상기 허용범위에 들어간다고 하는 것을 의미한다. 이것은, 제 1 발명에 한하지 않고 후술의 제 2~제 16 발명 중 어디에 있어서도 동일하다.
이러한 제 1 발명에 의하면, 상기 임시 목표 운동 작성수단에 의해, 일단, 목표 운동의 임시값인 임시 운동이 생성된다. 이 임시 운동은 제 1 동역학 모델을 사용하여, 상기 상반력 성분이 상기 허용범위를 만족하도록 작성된다.
그리고, 상기 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차가 소정의 허용 오차범위에 들어가 있는지 아닌지가 평가수단에 의해 평가된다. 이 경우, 이 임시 운동에 대응하는 상반력 성분 오차는, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 상반력 성분과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분과의 차이기 때문에, 임시 운동에 대한 제 1 동역학 모델상에서의 상기 상반력 성분의 오차를 의미한다.
그리고, 상기 평가수단의 평가에서, 이 임시 운동에 대응하는 상반력 성분 오차가 허용 오차범위에 들어가 있는 경우에는, 이 임시 운동에 의해 제 1 동역학 모델상에서 발생하는 상기 상반력 성분의 오차가 충분하게 작으므로, 이 임시 운동이 상기 목표 운동으로서 결정된다. 또, 이 임시 운동에 대응하는 상반력 성분 오차가 허용 오차범위로부터 일탈해 있을 경우에는, 이 임시 운동은, 목표 운동 결정수단에 의해 적어도 1회 이상 수정되고, 그 수정에 의해 목표 운동이 얻어진다. 이 임시 운동의 수정을 행하는 경우에 있어서, 상기 목표 운동 결정수단은, 상기 수정 후 운동결정 처리와 상기 수렴판단 처리를 적어도 상기 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정한다.
이 경우, 상기 수정 후 운동결정 처리에서는, 제 n회째의 수정 후의 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분에, 제 n-1 수정 후 운동(제 0 수정 후 운동은, 상기 임시 운동임)에 대응해서 산출되는 제 n-1 상반력 성분 오차와 적어도 이 제 n-1 상반력 성분 오차에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하므로, 이 제 n 수정 후 운동은, 그것에 의해서 제 2 동역학 모델상에서 발생하는 상기 상반력 성분이 상기 허용범위를 만족할 수 있는 것이 될 가능성이 높다. 단, 제 n 수정 후 운동은 제 n-1 수정 후 운동과는 일반적으로는 동일하게는 되지 않으므로, 제 n 수정 후 운동을 결정할 때에 가미한 제 n-1 상반력 성분 오차, 혹은 이것에 따른 상반력 보정량은 반드시 적절한 것이라고는 할 수 없다. 그래서, 제 1 발명에서는, 상기 상반력 성분 오차 변화량(△FM)이 0에 수렴했는지 아닌지를 상기 수렴판단 처리에서 판단하고, 적어도 수렴했다고 판단될 때까지, 상기 수정 후 운동결정 처리를 반복한다. 이때, △FM이 0에 수렴한 경우에는, 그때에 결정된 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차는, 제 n-1 상반력 성분 오차 혹은 이것에 따른 상기 상반력 보정량과 거의 동등한 것으로 되므로, 제 n 수정 후 운동을 결정할 때에 가미한 제 n-1 상반력 성분 오차 혹은 이것에 따른 상기 상반력 보정량은 적절한(신뢰성이 높은) 상반력 성분 오차라고 할 수 있다. 그리고, 이때의 제 n 수정 후 운동이 상기 목표 운동으로서 결정된다.
이것에 의해 상기 제 2 동역학 모델상에서 상기 상반력 성분의 허용범위를 만족할 수 있는 동역학적 정밀도가 높은 목표 보용을 제 1 동역학 모델상에서 생성할 수 있게 된다.
또한 상기 수정 후 운동은 제 1 동역학 모델(이것은 제 2 동역학 모델보다도 일반적으로 선형성이 높은)상에서 작성되고, 또, 제 2 동역학 모델은, 단지 제 n-1 수정 후 운동으로부터 상반력을 구하기 위해서 사용되므로, 제 n 수정 후 운동의 생성 처리와, 제 n-1 수정 후 운동에 대한 상반력의 산출 처리를 효율적으로 단시간에 행할 수 있다. 또, 상기 임시 운동(제 0 수정 후 운동)은 그다지 동역학적 정밀도가 요구되지 않으므로, 상기 제 1 동역학 모델 등, 선형성이 높은 동역학 모델을 사용하여 용이하게 단시간에 작성할 수 있다.
따라서, 제 1 발명에 의하면, 상반력의 소정의 성분의 허용범위를 만족할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 동역학적 정밀도를 양호하게 확보할 수 있다. 또, 목표 운동의 작성은, 제 2 동역학 모델보다도 일반적으로 선형성이 높은 제 1 동역학 모델을 사용하여 행하므로, 보용의 발산이 발생하기 어려워, 상반력 성분 오차 혹은 이것에 따른 상반력 보정량을 가미한 상기 상반력 성분을 적절하게 상기 허용범위를 만족할 수 있는 목표 운동을 효율적으로 생성할 수 있다.
또, 본 발명의 이동 로봇의 보용생성장치의 제 2 발명은, 상기의 목적을 달성하기 위하여, 이동 로봇의 운동에 의해 발생하는 상반력의 소정의 상반력 성분의 허용범위를 설정하고, 그 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
상기 이동 로봇의 소정의 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분과의 차인 상반력 성분 오차를 구하는 상반력 성분 오차 산출수단과,
상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차를 제 n 상반력 성분 오차로 하고, 상기 임시 운동을 제 0 수정 후 운동이으로 하고, 상기 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차를 제 0 상반력 성분 오차로 했을 때,
상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분에, 제 n-1 상반력 성분 오차와 적어도 이 제 n-1 상반력 성분 오차에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차와의 차, 및, 상기 제 n 상반력 성분 오차와 적어도 상기 제 n-1 상반력 성분 오차에 따라 결정한 상기 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△FM)이 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 것이다.
이 제 2 발명은, 제 1 발명에서의 상기 평가수단을 생략하고, 상기 수정 후 운동결정 처리와 수렴판단 처리가 적어도 1회 이상 실행되도록 한 것이다. 또한, 이 제 2 발명에서는, 상기 임시 운동은, 예를 들면, 상기 제 1 발명과 동일하게, 제 1 동역학 모델을 사용하여, 상기 상반력 성분이 상기 허용범위를 만족하도록 작성해도 좋지만, 반드시 이렇게 작성할 필요는 없다.
이 제 2 발명에서는, 상기 수정 후 운동결정 처리 및 수렴판단 처리에 의한 작용효과는 제 1 발명과 같다. 따라서, 상기 제 2 동역학 모델상에서 상기 상반력 성분의 허용범위를 만족할 수 있는 동역학적 정밀도가 높은 목표 보용을 제 1 동역학 모델상에서 생성할 수 있다.
또한 제 1 발명과 동일하게, 상기 수정 후 운동은 제 1 동역학 모델상에서 작성되고, 또, 제 2 동역학 모델은 단지 제 n-1 수정 후 운동으로부터 상반력을 구하기 위해서 사용되므로, 제 n 수정 후 운동의 생성 처리와, 제 n-1 수정 후 운동에 대한 상반력의 산출 처리를 효율적으로 단시간에 행할 수 있다. 또, 상기 임시 운동(제 0 수정 후 운동)은, 그다지 동역학적 정밀도가 요구되지 않으므로, 상기 제 1 동역학 모델 등, 선형성이 높은 동역학 모델을 사용하여 용이하게 단시간에 작성할 수 있다.
따라서, 제 2 발명에 의하면, 제 1 발명과 동일하게, 상반력의 소정의 성분의 허용범위를 만족할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 동역학적 정밀도를 양호하게 확보할 수 있다. 또, 목표 운동의 작성은 제 2 동역학 모델보다도 일반적으로 선형성이 높은 제 1 동역학 모델을 사용하여 행하므로, 보용의 발산이 발생하기 어려워, 상반력 성분 오차 혹은 이것에 따른 상반력 보정량을 가미한 상기 상반력 성분이 적절하게 상기 허용범위를 만족할 수 있는 목표 운동을 효율적으로 생성할 수 있다.
다음에 본 발명의 이동 로봇의 보용생성장치의 제 3 발명은, 이동 로봇의 운동에 의해 발생하는 상반력의 소정의 제 1 상반력 성분의 목표값과 이 제 1 상반력 성분과 상이한 소정의 제 2 상반력 성분의 허용범위를 설정하고, 이 제 1 상반력 성분의 목표값과 제 2 상반력 성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하여, 상기 제 1 상반력 성분이 상기 목표값에 일치하고, 또한, 상기 제 2 상반력 성분이 상기 허용범위를 만족하도록, 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과의 차인 상반력 성분 오차(Aerr)를 구함과 동시에, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과의 차인 상반력 성분 오차(Berr)를 구하는 상반력 성분 오차 산출수단과,
상기 작성된 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차(Aerr, Berr) 중 상반력 성분 오차(Aerr)가 소정의 제 1 허용 오차범위에 들어가 있는지 아닌지를 평가함과 동시에, 상반력 성분 오차(Berr)가 소정의 제 2 허용 오차범위에 들어가 있는지 아닌지를 평가하는 평가수단과,
상기 평가수단의 평가에서 상기 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr)의 양자가 각각 대응하는 상기 제 1 허용 오차범위 및 제 2 허용 오차범위에 들어가 있는 경우에는, 상기 임시 운동을 상기 목표 운동으로서 결정함과 동시에, 상기 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr)의 적어도 어느 한쪽이 그것에 대응하는 상기 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에는, 상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
상기 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr)의 적어도 어느 한쪽이 그것에 대응하는 상기 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에 있어서, 상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차(Aerr, Berr)를 각각 제 n 상반력 성분 오차(Aerr(n), Berr(n))로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr)를 각각 제 0 상반력 성분 오차(Aerr(0), Berr(0))라고 했을 때,
상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분에, 제 n-1 상반력 성분 오차(Aerr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Aerr(n-1))에 따라 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 상기 목표값에 일치하고, 또한, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분에, 제 n-1 상반력 성분 오차(Berr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Berr(n-1))에 따라 결정한 제 2 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차(Aerr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차(Aerr(n-1))와의 차, 및, 상기 제 n 상반력 성분 오차(Aerr(n))와 적어도 상기 제 n-1 상반력 성분 오차(Aerr(n-1))에 따라 결정한 상기 제 1 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△Aerr)과, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차(Berr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차(Berr(n-1))와의 차, 및, 상기 제 n 상반력 성분 오차(Berr(n))와 적어도 상기 제 n-1 상반력 성분 오차(Berr(n-1))에 따라 결정한 상기 제 2 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△Berr)이 각각 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 상반력 성분 오차 변화량(△Aerr, △Berr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 상기 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 것이다.
또한, 제 3 발명에 있어서, 로봇의 임의의 운동에 대해, 임의의 동역학 모델상에서, 어떤 소정의 상반력 성분의 목표값을 만족한다고 하는 것은, 이 운동에 의해, 이 동역학 모델상에서 발생하는 이 소정의 상반력 성분(이 운동에 대해 이 동역학 모델의 동역학이 성립하는 상반력 성분)이 목표값에 일치 혹은 거의 일치하는 것을 의미한다. 이것은, 제 3 발명에 한하지 않고 후술의 제 4 발명, 제 6 발명, 제 9 발명, 제 13 발명, 제 14 발명에서도 동일하다.
상기 제 3 발명은 이동 로봇에 작용하는 상반력 중 제 2 상반력 성분(이것은 제 1 발명에서의 소정의 상반력 성분에 상당함)의 허용범위에 더하여, 제 1 상반력 성분의 목표값도 만족하도록 목표 운동을 포함하는 목표 보용을 생성하는 것이다.
이 제 3 발명에서는, 상기 임시 목표 운동 작성수단에 의해, 일단, 목표 운동의 임시값인 임시 운동이 생성된다. 이 임시 운동은 상기 제 1 동역학 모델을 사용하여, 상기 제 1 상반력 성분이 상기 목표값에 일치하고, 또한, 상기 제 2 상반력 성분이 상기 허용범위를 만족하도록 작성된다.
그리고, 상기 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차(Aerr 및 Berr)가 각각 제 1 허용 오차범위, 제 2 허용 오차범위에 들어가 있는지 아닌지가 평가수단에 의해 평가된다. 이 경우, 이 임시 운동에 대응하는 상반력 성분 오차(Aerr)는 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과의 차이기 때문에, 임시 운동에 대한 제 1 동역학 모델상에서의 상기 제 1 상반력 성분의 오차를 의미한다. 마찬가지로, 이 임시 운동에 대응하는 상반력 성분 오차(Berr)는 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과의 차이기 때문에, 임시 운동에 대한 제 1 동역학 모델상에서의 상기 제 2 상반력 성분의 오차를 의미한다. 또한, 제 1 허용 오차범위 및 제 2 허용 오차범위는 동일한 범위이어도 된다.
그리고, 상기 평가수단의 평가에서, 이 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr)의 양자가 각각 대응하는 제 1 허용 오차범위, 제 2 허용 오차범위에 들어가 있는 경우에는, 이 임시 운동에 의해 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분 및 제 2 상반력 성분의 오차가 양자 모두 충분하게 작으므로, 이 임시 운동이 상기 목표 운동으로서 결정된다. 또, 이 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr) 중 어느 하나가 그것에 대응하는 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에는, 이 임시 운동은 목표 운동 결정수단에 의해 적어도 1회 이상 수정되고, 그 수정에 의해 목표 운동이 얻어진다. 이 임시 운동의 수정을 행하는 경우에 있어서, 상기 목표 운동 결정수단은 상기 수정 후 운동결정 처리와 상기 수렴판단 처리를 적어도 상기 상반력 성분 오차 변화량(△Aerr, △Berr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에 있어서의 최후의 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정한다.
이 경우, 상기 수정 후 운동결정 처리에서는, 제 n회째의 수정 후의 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분에, 제 n-1 수정 후 운동(제 0 수정 후 운동은 상기 임시 운동임)에 대응하여 산출되는 제 n-1 상반력 성분 오차(Aerr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Aerr(n-1))에 따라 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 상기 목표값에 일치하고, 또한, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분에, 제 n-1 수정 후 운동에 대응하여 산출되는 제 n-1 상반력 성분 오차(Berr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Berr(n-1))에 따라 결정한 상기 제 2 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정한다. 단, 제 n 수정 후 운동은, 제 n-1 수정 후 운동과는 일반적으로는 동일하게는 되지 않으므로, 제 n 수정 후 운동을 결정할 때에 가미한 제 n-1 상반력 성분 오차(Aerr(n-1) 및 Berr(n-1)), 혹은, 이것들에 따른 제 1 상반력 보정량 및 제 2 상반력 보정량은 반드시 적절한 것이라고는 할 수 없다. 그래서, 제 3 발명에서는, 제 1 발명과 동일한 개념에 의해, 상기 상반력 성분 오차 변화량(△Aerr)과 상기 상반력 성분 오차 변화량(△Berr)이 각각 0에 수렴했는지 아닌지를 상기 수렴판단 처리로 판단하고, 적어도 △Aerr 및 △Berr의 양자가 수렴했다고 판단될 때까지, 상기 수정 후 운동결정 처리를 반복한다. 이때, △Aerr 및 △Berr의 양자가 0에 수렴한 경우에는, 그때에 결정된 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차(Aerr(n), Berr(n))는, 각각 제 n-1 상반력 성분 오차(Aerr(n-1), Berr(n-1)), 또는, 이것들에 따른 상기 제 1 상반력 보정량, 제 2 상반력 보정량과 거의 동등의 것으로 되므로, 제 n 수정 후 운동을 결정할 때 가미한 제 n-1 상반력 성분 오차(Aerr(n-1)) 혹은 이것에 따른 상기 제 1 상반력 보정량과, 제 n-1 상반력 성분 오차(Berr(n-1)) 혹은 이것에 따른 상기 제 2 상반력 보정량의 양자는 적절한(신뢰성이 높은) 상반력 성분 오차라고 할 수 있다. 그리고, 이때의 제 n 수정 후 운동이 상기 목표 운동으로서 결정된다.
이것에 의해 상기 제 2 동역학 모델상에서 상기 제 1 상반력 성분의 목표값을 만족하고, 또한 제 2 상반력 성분의 허용범위를 만족할 수 있는 동역학적 정밀도가 높은 목표 보용을 제 1 동역학 모델상에서 생성할 수 있게 된다.
또한 상기 수정 후 운동은 제 1 동역학 모델(이것은 제 2 동역학 모델보다도 일반적으로 선형성이 높음)상에서 작성되고, 또한 제 2 동역학 모델은, 단 제 n-1 수정 후 운동으로부터 상반력을 구하기 위해서 사용되므로, 제 n 수정 후 운동의 생성 처리와, 제 n-1 수정 후 운동에 대한 상반력의 산출 처리를 효율적으로 단시간에 행할 수 있다. 또, 상기 임시 운동(제 0 수정 후 운동)은 그다지 동역학적 정밀도가 요구되지 않으므로, 상기 제 1 동역학 모델 등, 선형성이 높은 동역학 모델을 사용하여 용이하게 단시간에 작성할 수 있다.
따라서, 제 3 발명에 의하면, 제 1 상반력 성분의 목표값과, 제 2 상반력 성분의 허용범위를 만족할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 동역학적 정밀도를 양호하게 확보할 수 있다. 또, 목표 운동의 작성은, 제 2 동역학 모델보다도 일반적으로 선형성이 높은 제 1 동역학 모델을 사용하여 행하므로, 보용의 발산이 발생하기 어려워, 상반력 성분 오차(Aerr) 혹은 이것에 따른 제 1 상반력 보정량을 가미한 상기 제 1 상반력 성분이 적절하게 상기 목표값을 만족하고, 또한, 상반력 성분 오차(Berr) 혹은 이것에 따른 제 2 상반력 보정량을 가미한 상기 제 2 상반력 성분이 적절하게 상기 허용범위를 만족할 수 있는 목표 운동을 효율적으로 생성할 수 있다.
또, 본 발명의 이동 로봇의 보용생성장치의 제 4 발명은, 상기의 목적을 달성하기 위하여, 이동 로봇의 운동에 의해 발생하는 상반력의 소정의 제 1 상반력 성분의 목표값과 이 제 1 상반력 성분과 상이한 소정의 제 2 상반력 성분의 허용범위를 설정하고, 이 제 1 상반력 성분의 목표값과 제 2 상반력 성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
상기 이동 로봇의 소정의 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과의 차인 상반력 성분 오차(Aerr)를 구함과 동시에, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과의 차인 상반력 성분 오차(Berr)를 구하는 상반력 성분 오차 산출수단과,
상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차(Aerr, Berr)를 각각 제 n 상반력 성분 오차(Aerr(n), Berr(n))으로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차(Aerr, Berr)를 각각 제 0 상반력 성분 오차(Aerr(0), Berr(0))로 했을 때,
상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분에, 제 n-1 상반력 성분 오차(Aerr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Aerr(n-1))에 따라 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 상기 목표값에 일치하고, 또한, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분에, 제 n-1 상반력 성분 오차(Berr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Berr(n-1))에 따라 결정한 제 2 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차(Aerr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차(Aerr(n-1))와의 차, 및, 상기 제 n 상반력 성분 오차(Aerr(n))와 적어도 상기 제 n-1 상반력 성분 오차(Aerr(n-1))에 따라 결정한 상기 제 1 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△Aerr)과, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차(Berr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차(Berr(n-1))와의 차, 및, 상기 제 n 상반력 성분 오차(Berr(n))와 적어도 상기 제 n-1 상반력 성분 오차(Berr(n-1))에 따라 결정한 상기 제 2 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△Berr)이 각각 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 상반력 성분 오차 변화량(△Aerr, △Berr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 상기 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 것이다.
이 제 4 발명은, 제 3 발명에서의 상기 평가수단을 생략하고, 상기 수정 후 운동결정 처리와 수렴판단 처리가 적어도 1회 이상, 실행되도록 한 것이다. 또한, 이 제 4 발명에서는, 상기 임시 운동은, 예를 들면, 상기 제 3 발명과 동일하게, 제 1 동역학 모델을 사용하여, 상기 제 1 상반력 성분이 상기 목표값에 일치하고, 또한, 상기 제 2 상반력 성분이 상기 허용범위를 만족하도록 작성해도 되지만, 반드시 이렇게 작성할 필요는 없다.
이 제 4 발명에서는, 상기 수정 후 운동결정 처리 및 수렴판단 처리에 의한 작용효과는 제 3 발명과 동일하다. 따라서, 상기 제 2 동역학 모델상에서 상기 제 1 상반력 성분의 목표값을 만족하고, 또한 상기 제 2 상반력 성분의 허용범위를 만족할 수 있는 동역학적 정밀도가 높은 목표 보용을 제 1 동역학 모델상에서 생성할 수 있다.
또한 제 3 발명과 동일하게, 상기 수정 후 운동은, 제 1 동역학 모델상에서 작성되고, 또, 제 2 동역학 모델은, 단지 제 n-1 수정 후 운동으로부터 상반력을 구하기 위해서 사용되므로, 제 n 수정 후 운동의 생성 처리와, 제 n-1 수정 후 운동에 대한 상반력의 산출 처리를 효율적으로 단시간에 행할 수 있다. 또, 상기 임시 운동(제 0 수정 후 운동)은, 그다지 동역학적 정밀도가 요구되지 않으므로, 상기 제 1 동역학 모델 등, 선형성이 높은 동역학 모델을 사용하여 용이하게 단시간에 작성할 수 있다.
따라서, 제 4 발명에 의하면, 제 3 발명과 동일하게, 제 1 상반력 성분의 목표값과, 제 2 상반력 성분의 허용범위를 만족할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 동역학적 정밀도를 양호하게 확보할 수 있다. 또, 목표 운동의 작성은, 제 2 동역학 모델보다도 일반적으로 선형성이 높은 제 1 동역학 모델을 사용하여 행하므로, 보용의 발산이 발생하기 어려워, 상반력 성분 오차(Aerr)를 가미한 상기 제 1 상반력 성분이 적절하게 상기 목표값을 만족하고, 또한, 상반력 성분 오차(Berr)를 가미한 상기 제 2 상반력 성분이 적절하게 상기 허용범위를 만족할 수 있는 목표 운동을 효율적으로 생성할 수 있다.
또한, 상기 제 1 발명 또는 제 2 발명에서는, 상기 상반력 성분은 상기 이동 로봇에 작용하는 상반력의 병진 상반력 수평성분인 것이 바람직하다(제 5 발명). 이것에 의하면, 병진 상반력 수평성분이 적절하게 허용범위를 만족하는(허용범위에 들어가는) 목표 보용을 생성할 수 있으므로, 로봇의 슬립을 잘 발생하지 않는 목표 보용을 적절하게 생성할 수 있다.
또한, 상기 제 3 발명 또는 제 4 발명에서는, 상기 제 1 상반력 성분은 상기 이동 로봇에 작용하는 상반력의 소정의 작용점(예를 들면 목표 ZMP) 주위의 상반력 모멘트 수평성분이며, 상기 제 2 상반력 성분은 상기 이동 로봇에 작용하는 상반력의 병진 상반력 수평성분인 것이 바람직하다(제 6 발명).
이것에 의하면, 소정의 작용점 주위의 상반력 모멘트 수평성분이 그 목표값을 만족하고, 또한, 병진 상반력 수평성분이 그 허용범위를 만족하는(허용범위에 들어가는) 목표 보용을 생성할 수 있으므로, 동역학적 평형조건을 만족하면서, 로봇의 슬립을 잘 발생하지 않는 목표 보용을 적절하게 생성할 수 있다.
다음에, 본 발명의 이동 로봇의 보용생성장치의 제 7 발명은, 상기의 목적을 달성하기 위해서, 이동 로봇의 목표 ZMP와 이 이동 로봇의 운동에 의해 발생하는 병진 상반력 수평성분의 허용범위를 설정하고, 이 목표 ZMP와 병진 상반력 수평성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하여, 상기 목표 ZMP를 만족하고, 또한, 상기 병진 상반력 수평성분이 상기 허용범위를 만족하도록, 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 산출되는 ZMP와 이 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP와의 차인 ZMP 오차(ZMPerr)를 구함과 동시에, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분과의 차인 병진 상반력 수평성분 오차(Ferr)를 구하는 오차 산출수단과,
상기 작성된 임시 운동으로부터 상기 오차 산출수단에 의해 구해지는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr) 중 ZMP 오차(ZMPerr)가 소정의 제 1 허용 오차범위에 들어가 있는지 아닌지를 평가함과 동시에, 병진 상반력 수평성분 오차(Ferr)가 소정의 제 2 허용 오차범위에 들어가 있는지 아닌지를 평가하는 평가수단과,
상기 평가수단의 평가에 있어서 상기 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)의 양자가 각각 대응하는 상기 제 1 허용 오차범위 및 제 2 허용 오차범위에 들어가 있는 경우에는, 상기 임시 운동을 상기 목표 운동으로서 결정함과 동시에, 상기 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)의 적어도 어느 한쪽이 그것에 대응하는 상기 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에는, 상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
상기 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)의 적어도 어느 한쪽이 그것에 대응하는 상기 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에 있어서, 상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)를 각각 제 n ZMP 오차(ZMPerr(n)) 및 제 n 병진 상반력 수평성분 오차(Ferr(n))로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)를 각각 제 0 ZMP 오차(ZMPerr(0)) 및 제 0 병진 상반력 수평성분 오차(Ferr(0))로 했을 때,
상기 목표 운동 결정수단은 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP에, 제 n-1 ZMP 오차(ZMPerr(n-1))와 적어도 이 제 n-1 ZMP 오차(ZMPerr(n-1))에 따라 결정한 ZMP 보정량 중 어느 하나를 더한 것이 상기 목표 ZMP에 일치하고, 또한, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분에, 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))와 적어도 이 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n ZMP 오차(ZMPerr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 ZMP 오차(ZMPerr(n-1))와의 차, 및, 상기 제 n ZMP 오차(ZMPerr(n))와 적어도 상기 제 n-1 ZMP 오차(ZMPerr(n-1))에 따라 결정한 상기 ZMP 보정량과의 차의 어느 한쪽으로서 정의되는 ZMP 오차 변화량(△ZMPerr)과, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 병진 상반력 수평성분 오차(Ferr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))와의 차, 및, 제 n 병진 상반력 수평성분 오차(Ferr(n))와 적어도 상기 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))에 따라 결정한 상기 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 병진 상반력 수평성분 오차 변화량(△Ferr)이 각각 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 ZMP 오차 변화량(△ZMPerr) 및 병진 상반력 수평성분 오차 변화량(△Ferr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 상기 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 것이다.
또한, 이 제 7 발명에서, 로봇의 임의의 운동에 대해, 임의의 동역학 모델상에서 목표 ZMP를 만족한다고 하는 것은, 이 운동에 의해 이 동역학 모델상에서 발생하는 로봇의 관성력과 이 로봇에 작용하는 중력과의 합력이 목표 ZMP 주위에 발생하는 모멘트의 수평성분(또는, 그 모멘트와 균형을 이루는 상반력 모멘트 수평성분)이 0 혹은 거의 0이 되는 것을 의미한다. 이것은, 후술의 제 8 발명, 제 10 발명, 제 15 발명, 제 16 발명에서도 동일하다.
이러한 제 7 발명에서는, 상기 임시 목표 운동 작성수단에 의해, 일단, 목표 운동의 임시값인 임시 운동이 생성된다. 이 임시 운동은, 상기 제 1 동역학 모델을 사용하여, 상기 목표 ZMP를 만족하고, 또한, 상기 병진 상반력 수평성분이 상기 허용범위를 만족하도록 작성된다.
그리고, 상기 임시 운동으로부터 상기 오차 산출수단에 의해 구해지는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)가 각각 제 1 허용 오차범위, 제 2 허용 오차범위에 들어가 있는지 아닌지가 평가수단에 의해 평가된다. 이 경우, 이 임시 운동에 대응하는 ZMP 오차(ZMPerr)는, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 산출되는 ZMP와 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP와의 차이기 때문에, 임시 운동에 대한 제 1 동역학 모델상에서의 ZMP의 오차를 의미한다. 마찬가지로, 이 임시 운동에 대응하는 병진 상반력 수평성분 오차(Berr)는 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 병진 상반력 수평성분과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분과의 차이기 때문에, 임시 운동에 대한 제 1 동역학 모델상에서의 병진 상반력 수평성분의 오차를 의미한다.
그리고, 상기 평가수단의 평가에 있어서, 이 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)의 양자가 각각 대응하는 제 1 허용 오차범위, 제 2 허용 오차범위에 들어가 있는 경우에는, 이 임시 운동에 의해 제 1 동역학 모델상에서 산출되는 ZMP가 오차가 충분하게 작고, 또한 이 임시 운동에 의해 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분의 오차가 양자 모두 충분하게 작으므로, 이 임시 운동이 상기 목표 운동으로서 결정된다. 또, 이 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr) 중 어느 하나가 그것에 대응하는 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에는, 이 임시 운동은 목표 운동 결정수단에 의해 적어도 1회 이상 수정되고, 그 수정에 의해 목표 운동이 얻어진다. 이 임시 운동의 수정을 행하는 경우에 있어서, 상기 목표 운동 결정수단은 상기 수정 후 운동결정 처리와 상기 수렴판단 처리를 적어도 상기 ZMP 오차 변화량(△ZMPerr) 및 병진 상반력 수평성분 오차 변화량(△Ferr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정한다.
이 경우, 상기 수정 후 운동결정 처리에서는, 제 n회째의 수정 후의 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP에, 제 n-1 수정 후 운동(제 0 수정 후 운동은 상기 임시 운동임)에 대응하여 산출되는 제 n-1 ZMP 오차(ZMPerr(n-1))와 적어도 이 제 n-1 ZMP 오차(ZMPerr(n-1))에 따라 결정한 ZMP 보정량 중 어느 하나를 더한 것이 상기 목표 ZMP에 일치하고, 또한, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분에, 제 n-1 수정 후 운동에 대응하여 산출되는 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))와 적어도 이 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정한다. 단, 제 n 수정 후 운동은 제 n-1 수정 후 운동과는 일반적으로는 동일하게는 되지 않으므로, 제 n 수정 후 운동을 결정함에 있어서, 가미한 제 n-1 ZMP 오차(ZMPerr(n-1)) 및 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1)), 혹은, 이것들에 따른 ZMP 보정량 및 상반력 보정량은 반드시 적절한 것이라고는 할 수 없다. 그래서, 제 7 발명에서는, 제 1 발명과 동일한 개념에 의해, 상기 ZMP 오차 변화량(△ZMPerr)과 상기 병진 상반력 수평성분 오차 변화량(△Ferr)이 각각 0에 수렴했는지 아닌지를 상기 수렴판단 처리로 판단하고, 적어도 △ZMPerr 및 △Ferr의 양자가 수렴했다고 판단될 때까지, 상기 수정 후 운동결정 처리를 반복한다. 이때, △ZMPerr 및 △Ferr의 양자가 0에 수렴한 경우에는, 그때에 결정된 제 n 수정 후 운동에 대응하는 제 n ZMP 오차(ZMPerr(n)) 및 제 n 병진 상반력 수평성분 오차(Ferr(n))는 각각 제 n-1 ZMP 오차(ZMPerr(n-1)), 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1)), 또는, 이것들에 따른 ZMP 보정량, 상반력 보정량과 거의 동등한 것으로 되므로, 제 n 수정 후 운동을 결정할 때에 가미한, 제 n-1 ZMP 오차(ZMPerr(n-1)) 혹은 이것에 따른 상기 ZMP 보정량과, 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1)) 혹은 이것에 따른 상기 상반력 보정량 양자는 적절한(신뢰성의 높은) 상반력 성분 오차라고 할 수 가 있다. 그리고, 이때의 제 n 수정 후 운동이 상기 목표 운동으로서 결정된다.
이것에 의해 상기 제 2 동역학 모델상에서 목표 ZMP를 만족하고, 또한 병진 상반력 수평성분의 허용범위를 만족할 수 있는 동역학적 정밀도가 높은 목표 보용을 제 1 동역학 모델상에서 생성할 수 있게 된다.
또한 상기 수정 후 운동은 제 1 동역학 모델(이것은 제 2 동역학 모델보다도 일반적으로 선형성이 높음)상에서 작성되고, 또, 제 2 동역학 모델은, 단지 제 n-1 수정 후 운동으로부터 ZMP나 상반력을 구하기 위해서 사용되므로, 제 n 수정 후 운동의 생성 처리와, 제 n-1 수정 후 운동에 대한 ZMP나 상반력의 산출 처리를 효율적으로 단시간에 행할 수 있다. 또, 상기 임시 운동(제 0 수정 후 운동)은 그다지 동역학적 정밀도가 요구되지 않으므로, 상기 제 1 동역학 모델 등, 선형성이 높은 동역학 모델을 사용하여 용이하게 단시간에 작성할 수 있다.
따라서, 제 7 발명에 의하면, 목표 ZMP와, 병진 상반력 수평성분의 허용범위를 만족할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 동역학적 정밀도를 양호하게 확보할 수 있다. 또, 목표 운동의 작성은, 제 2 동역학 모델보다도 일반적으로 선형성이 높은 제 1 동역학 모델을 사용하여 행하므로, 보용의 발산을 발생하기 어렵고, ZMP 오차(ZMPerr) 혹은 이것에 따른 ZMP 보정량을 가미한 ZMP가 적절하게 목표 ZMP를 만족하고, 또한, 병진 상반력 수평성분 오차(Ferr) 혹은 이것에 대응한 상반력 보정량을 가미한 병진 상반력 수평성분이 적절하게 상기 허용범위를 만족할 수 있는 목표 운동을 효율적으로 생성할 수 있다.
또, 본 발명의 이동 로봇의 보용생성장치의 제 8 발명은, 상기의 목적을 달성하기 위해서, 이동 로봇의 목표 ZMP와 이 이동 로봇의 운동에 의해 발생하는 병진 상반력 수평성분의 허용범위를 설정하고, 이 목표 ZMP와 병진 상반력 수평성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
상기 이동 로봇의 소정의 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 산출되는 ZMP와 이 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP와의 차인 ZMP 오차(ZMPerr)를 구함과 동시에, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분과의 차인 병진 상반력 수평성분 오차(Ferr)를 구하는 오차 산출수단과,
상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n=n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)를 각각 제 n ZMP 오차(ZMPerr(n)) 및 제 n 병진 상반력 수평성분 오차(Ferr(n))로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)를 각각 제 0 ZMP 오차(ZMPerr(0)) 및 제 0 병진 상반력 수평성분 오차(Ferr(0))로 했을 때,
상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP에, 제 n-1 ZMP 오차(ZMPerr(n-1))와 적어도 이 제 n-1 ZMP 오차(ZMPerr(n-1))에 따라 결정한 ZMP 보정량 중 어느 하나를 더한 것이 상기 목표 ZMP에 일치하고, 또한, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분에, 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))와 적어도 이 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n ZMP 오차(ZMPerr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 ZMP 오차(ZMPerr(n-1))와의 차, 및, 상기 제 n ZMP 오차(ZMPerr(n))와 적어도 상기 제 n-1 ZMP 오차(ZMPerr(n-1))에 따라 결정한 상기 ZMP 보정량과의 차의 어느 한쪽으로서 정의되는 ZMP 오차 변화량(△ZMPerr)과, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 병진 상반력 수평성분 오차(Ferr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))와의 차, 및, 제 n 병진 상반력 수평성분 오차(Ferr(n))와 적어도 상기 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))에 따라 결정한 상기 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 병진 상반력 수평성분 오차 변화량(△Ferr)이 각각 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 ZMP 오차 변화량(△ZMPerr) 및 병진 상반력 수평성분 오차 변화량(△Ferr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 상기 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 것이다.
이 제 8 발명은, 제 7 발명에서의 상기 평가수단을 생략하고, 상기 수정 후 운동결정 처리와 수렴판단 처리가 적어도 1회 이상 실행되도록 한 것이다. 또한, 이 제 8 발명에서는, 상기 임시 운동은, 예를 들면, 제 1 동역학 모델을 사용하여, 상기 목표 ZMP를 만족하고, 또한, 상기 병진 상반력 수평성분이 상기 허용범위를 만족하도록 작성해도 되지만, 반드시 이렇게 작성할 필요는 없다.
이 제 8 발명에서는 상기 수정 후 운동결정 처리 및 수렴판단 처리에 의한 작용효과는 제 7 발명과 같다. 따라서, 상기 제 2 동역학 모델상에서 상기 목표 ZMP를 만족하고, 또한 병진 상반력 수평성분의 허용범위를 만족할 수 있는 동역학적 정밀도가 높은 목표 보용을 제 1 동역학 모델상에서 생성할 수 있다.
또한 제 7 발명과 동일하게, 상기 수정 후 운동은 제 1 동역학 모델(이것은 제 2 동역학 모델보다도 일반적으로 선형성이 높음) 상에서 작성되고, 또, 제 2 동역학 모델은, 단지 제 n-1 수정 후 운동으로부터 ZMP나 상반력을 구하기 위해서 사용되므로, 제 n 수정 후 운동의 생성 처리와 제 n-1 수정 후 운동에 대한 ZMP나 상반력의 산출 처리를 효율적으로 단시간에 행할 수 있다. 또, 상기 임시 운동(제 0 수정 후 운동)은 그다지 동역학적 정밀도가 요구되지 않으므로, 상기 제 1 동역학 모델 등, 선형성이 높은 동역학 모델을 사용하여 용이하게 단시간에 작성할 수 있다.
따라서, 제 8 발명에 의하면, 제 7 발명과 동일하게, 목표 ZMP와, 병진 상반력 수평성분의 허용범위를 만족할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 동역학적 정밀도를 양호하게 확보할 수 있다. 또, 목표 운동의 작성은, 제 2 동역학 모델보다도 일반적으로 선형성이 높은 제 1 동역학 모델을 사용하여 행하므로, 보용의 발산을 발생하기 어렵고, ZMP 오차(ZMPerr) 혹은 이것에 따른 ZMP 보정량을 가미한 ZMP가 적절하게 목표 ZMP를 만족하고, 또한, 병진 상반력 수평성분 오차(Ferr) 혹은 이것에 따른 상반력 보정량을 가미한 병진 상반력 수평성분이 적절하게 상기 허용범위를 만족할 수 있는 목표 운동을 효율적으로 생성할 수 있다.
그런데, 상기 제 3 발명(또는 이것을 구성요건으로 하는 제 6 발명)에 있어서, 상기 임시 운동에 의해 제 1 동역학 모델상에서 발생하는 제 1 상반력 성분은 이 목표값에 일치 혹은 거의 일치한다. 또, 상기 제 n 수정 후 운동은, 그것에 의해 제 1 동역학 모델상에서 발생하는 제 1 상반력 수평성분에, 제 n-1 상반력 성분 오차(Aerr(n-1))와 이것에 소정의 제 1 계수를 곱한 것 중 어느 하나를 더한 것이 상기 목표값에 일치하도록 결정된다. 따라서, 이 제 n 수정 후 운동에 의해 제 1 동역학 모델상에서 발생하는 제 1 상반력 수평성분은, 상기 목표값으로부터, 제 n-1 상반력 성분 오차(Aerr(n-1))와 이것에 소정의 제 1 계수를 곱한 것 중 어느 하나를 뺀 것에 일치 혹은 거의 일치한다. 이것은, 상기 제 4 발명(또는 이것을 구성요건으로 하는 제 6 발명)에서, 상기 임시 운동을 상기 제 1 동역학 모델상에서 상기 제 1 상반력 성분의 목표값을 만족하도록 작성한 경우에는 동일하다.
그래서, 상기 제 3 발명(혹은 제 6 발명)에서는, 상기 상반력 성분 오차 산출수단은, 상기 임시 운동에 대해서는, 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분으로서, 상기 목표값을 사용함으로써 이 임시 운동에 대응하는 상기 상반력 성분 오차(Aerr)를 산출하고, 상기 임시 운동 이외의 제 n 수정 후 운동에 대해서는, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분으로서, 상기 목표값으로부터 상기 제 n-1 상반력 성분 오차(Aerr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Aerr(n-1))에 따라 결정한 상기 제 1 상반력 보정량 중 어느 하나를 뺀 것을 사용함으로써 이 제 n 수정 후 운동에 대응하는 상기 상반력 성분 오차(Aerr)를 산출하도록 해도 된다(제 9 발명).
동일하게, 상기 제 4 발명(또는 제 6 발명)에서는, 상기 임시 운동 작성수단이, 적어도 상기 제 1 동역학 모델상에서 상기 제 1 상반력 성분의 목표값을 만족하도록 상기 임시 운동을 작성하는 수단일 때에는, 상기 상반력 성분 오차 산출수단은, 상기 임시 운동에 대해서는, 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분으로서, 상기 목표값을 사용함으로써 이 임시 운동에 대응하는 상기 상반력 성분 오차(Aerr)를 산출하고, 상기 임시 운동 이외의 제 n 수정 후 운동에 대해서는, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분으로서, 상기 목표값으로부터 상기 제 n-1 상반력 성분 오차(Aerr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Aerr(n-1))에 따라 결정한 상기 제 1 상반력 보정량 중 어느 하나를 뺀 것을 사용함으로써 이 제 n 수정 후 운동에 대응하는 상기 상반력 성분 오차(Aerr)를 산출하도록 해도 된다(제 10 발명).
이 제 9 발명, 또는 제 10 발명에 의하면, 제 n 수정 후 운동으로부터 제 1 동역학 모델에 의해 직접적으로 제 1 상반력 성분을 산출하지 않고, 이것들의 운동에 대응하는 상반력 성분 오차를 용이하게 구할 수 있다.
이 제 9 발명, 제 10 발명과 동일한 개념에 의해, 상기 제 7 발명에서는, 상기 상반력 성분 오차 산출수단은 상기 임시 운동에 대해서는, 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP로서, 상기 목표 ZMP를 사용함으로써 이 임시 운동에 대응하는 상기 ZMP 오차(ZMPerr)를 산출하고, 상기 임시 운동 이외의 제 n 수정 후 운동에 대해서는, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP로서, 상기 목표 ZMP로부터 상기 제 n-1 ZMP 오차(ZMPerr(n-1))와 적어도 이 제 n-1 ZMP 오차(ZMPerr(n-1))에 따라 결정한 상기 ZMP 보정량 중 어느 하나를 뺀 것을 사용함으로써 이 제 n 수정 후 운동에 대응하는 ZMP 오차(ZMPerr)를 산출하도록 해도 된다(제 11 발명).
동일하게, 제 8 발명에서는, 상기 임시 운동 작성수단이 적어도 상기 제 1 동역학 모델상에서 상기 목표 ZMP를 만족하도록 상기 임시 운동을 작성하는 수단인 경우에는, 상기 상반력 성분 오차 산출수단은, 상기 임시 운동에 대해서는, 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP로서, 상기 목표 ZMP를 사용함으로써 이 임시 운동에 대응하는 상기 ZMP 오차(ZMPerr)를 산출하고, 상기 임시 운동 이외의 제 n 수정 후 운동에 대해서는, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP로서, 상기 목표 ZMP로부터 상기 제 n-1 ZMP 오차(ZMPerr(n-1))와 적어도 이 제 n-1 ZMP 오차(ZMPerr(n-1))에 따라 결정한 상기 ZMP 보정량 중 어느 하나를 뺀 것을 사용함으로써 이 제 n 수정 후 운동에 대응하는 ZMP 오차(ZMPerr)를 산출하도록 해도 된다(제 12 발명).
이 제 11 발명, 또는 제 12 발명에 의하면, 임시 운동 또는 제 n 수정 후 운동으로부터 제 1 동역학 모델에 의해 직접적으로 ZMP를 산출하지 않고, 이들 운동에 대응하는 ZMP 오차를 용이하게 구할 수 있다.
또, 전술한 제 1~제 12 발명에서는, 상기 오차의 신뢰성을 높이는 점에서는, 로봇의 보용이 어떤 기간분의 오차의 순시값의 시계열을 사용하고, 그 시계열의 전체에 대해 상기 평가수단의 평가 처리, 또는, 상기 수렴판단 처리를 행하는 것이 바람직하다.
그래서, 상기 제 1 발명(또는 이것을 구성요건으로 하는 제 5 발명)에서는, 상기 목표 운동, 임시 운동 및 수정 후 운동은 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이며, 상기 상반력 성분 오차 산출수단에 의해 구해지는 제 m 상반력 성분 오차(m:m≥0인 정수)는, 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 평가수단의 상기 소정의 허용 오차범위는, 상기 제 0 상반력 성분 오차를 구성하는 시계열의 패턴 중 소정의 제 1 특징량 에 대한 허용 오차범위이며, 상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에 있어서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값(FM(t))에, 상기 제 n-1 상반력 성분 오차의 이 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 제 n 수정 후 운동의 순시값을 결정하는 처리이며, 상기 상반력 성분 오차 변화량(△FM)은, 상기 제 n 상반력 성분 오차의 각 시각에서의 값과 제 n-1 상반력 성분 오차의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차의 이 시각에서의 값에 따라 결정한 상기 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 상반력 성분 오차 변화량(△FM)을 구성하는 시계열의 패턴 중 소정의 제 2 특징량이 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단하는 처리인 것이 바람직하다(제 13 발명).
또한, 이 제 13 발명에서, 상기 제 1 특징량, 제 2 특징량의 종류로서는, 시계열의 절대값(시계열의 각 값의 절대값) 중 최대값, 또는, 그 절대값의 총 합계, 또는, 이 시계열의 패턴의 실효값, 또는, 이시 계열의 최대값과 최소값의 차 등을 들 수 있다. 또, 이들 제 1 특징량, 제 2 특징량의 종류는, 동일할 필요는 없지만, 동일해도 된다.
이 제 13 발명에 의하면, 상기 평가수단은, 상기 제 0 상반력 성분 오차(즉 상기 임시 운동에 대응하는 상반력 성분 오차)를 구성하는 시계열 패턴의 제 1 특징량이 상기 허용 오차범위에 들어가 있는지 아닌지를 평가하므로, 제 0 상반력 성분 오차의 시계열이 전체적으로 충분히 작은지 아닌지를 평가할 수 있다. 그 결과, 임시 운동의 순시값의 시계열의 전체가 목표 운동의 시계열로서 적합한 것인지 아닌지를 적절하게 평가할 수 있다. 또한, 상기 수렴판단 처리에서는, 상기 상반력 성분 오차 변화량(△FM)을 구성하는 시계열의 패턴 중 소정의 제 2 특징량이 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단하므로, 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차의 시계열, 또는 이 제 n-1 수정 후 운동에 따른 상기 상반력 보정량의 시계열과, 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차의 시계열이 전체적으로 거의 동일한 패턴으로 된 것인지 아닌지를 판단할 수 있다. 그 결과, 상기 결정한 제 n 수정 후 운동의 순시값의 시계열이 신뢰성이 높은 상반력 성분 오차 또는 신뢰성이 높은 상반력 보정량을 가미하여 결정된 것인지 아닌지를 적절하게 판단할 수 있다. 나아가서는, 최종적으로 결정한 목표 운동을 포함하는 목표 보용의 동역학적 정밀도의 신뢰성을 높일 수 있다.
상기 제 11 발명과 동일한 개념에 의해, 상기 제 2 발명(또는 이것을 구성요건으로 하는 제 5 발명)에서는, 상기 목표 운동, 임시 운동 및 수정 후 운동은 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이며, 상기 상반력 성분 오차 산출수단에 의해 구해지는 상기 제 m 상반력 성분 오차(m:m≥0인 정수)는 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는 상기 제 n 수정 후 운동의 각 시각(t)에서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값(FM(t))에, 상기 제 n-1 상반력 성분 오차의 이 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상기 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 제 n 수정 후 운동의 순시값을 결정하는 처리이며, 상기 상반력 성분 오차 변화량(△FM)은, 상기 제 n 상반력 성분 오차의 각 시각에서의 값과 제 n-1 상반력 성분 오차의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차의 이 시각에서의 값에 따라 결정한 상기 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 상반력 성분 오차 변화량(△FM)을 구성하는 시계열의 패턴 중 소정의 특징량이 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단하는 처리인 것이 바람직하다(제 14 발명).
또한, 이 제 14 발명에서, 상기 특징량의 종류로서는, 상기 제 13 발명에 관해서 예시한 것을 들 수 있다.
이 제 14 발명에 의하면, 상기 수렴판단 처리에서는, 상기 상반력 성분 오차 변화량(△FM)을 구성하는 시계열의 패턴 중 소정의 특징량이 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단하므로, 상기 제 13 발명의 경우와 동일하게, 상기 결정한 제 n 수정 후 운동의 순시값의 시계열이 신뢰성이 높은 상반력 성분 오차 또는 신뢰성이 높은 상반력 보정량을 가미하여 결정된 것인지 아닌지를 적절하게 판단할 수 있다. 나아가서는, 최종적으로 결정한 목표 운동을 포함하는 목표 보용의 동역학적 정밀도의 신뢰성을 높일 수 있다.
또, 제 13 발명과 동일한 개념에 의해, 상기 제 3 발명(또는 이것을 구성요건으로 하는 제 6 발명 혹은 제 9 발명)에서는, 상기 목표 운동, 임시 운동 및 수정 후 운동은, 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이며,
상기 상반력 성분 오차 산출수단에 의해 구해지는 상기 제 m 상반력 성분 오차(Aerr, Berr)(m:m≥0인 정수) 중 제 m 상반력 성분 오차(Aerr)는 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값의 차의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 제 m 상반력 성분 오차(Berr)는, 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 평가수단의 상기 소정의 제 1 허용 오차범위는, 상기 제 0 상반력 성분 오차(Aerr(0))를 구성하는 시계열 패턴 중 소정의 제 1 특징량에 대한 허용 오차범위임과 동시에 상기 소정의 제 2 허용 오차범위는, 상기 제 0 상반력 성분 오차(Berr(0))를 구성하는 시계열의 패턴 중 소정의 제 2 특징량에 대한 허용 오차범위이며, 상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에 있어서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값에, 상기 제 n-1 상반력 성분 오차(Aerr(n-1))의 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상기 제 1 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표값을 만족하고, 또한, 이 제 n 수정 후 운동에 의해 이 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값에, 상기 제 n-1 상반력 성분 오차(Berr(n-1))의 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상기 제 2 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에 있어서의 제 n 수정 후 운동의 순시값을 결정하는 처리이며, 상기 상반력 성분 오차 변화량(△Aerr)은, 상기 제 n 상반력 성분 오차(Aerr(n))의 각 시각에서의 값과 제 n-1 상반력 성분 오차(Aerr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차(Aerr(n))의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차(Aerr(n-1))의 이 시각에서의 값에 따라 결정한 상기 제 1 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 상반력 성분 오차 변화량(△Berr)은, 상기 제 n 상반력 성분 오차(Berr(n))의 각 시각에서의 값과 제 n-1 상반력 성분 오차(Berr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차(Berr(n))의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차(Berr(n-1))의 이 시각에서의 값에 따라 결정한 상기 제 2 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 상반력 성분 오차 변화량(△Aerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이 제 3 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△Aerr)이 0에 수렴했다고 판단함과 동시에, 상기 상반력 성분 오차 변화량(△Berr)을 구성하는 시계열의 패턴 중 제 4 특징량이 이 제 4 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△Berr)이 0에 수렴했다고 판단하는 처리인 것이 바람직하다(제 15 발명).
또한, 이 제 15 발명에서, 상기 제 1~제 4 특징량의 각각의 종류로서는, 상기 제 13 발명에 관해서 예시한 것을 들 수 있다. 이 경우, 제 1~제 4 특징량의 종류는 서로 동일할 필요는 없지만, 동일해도 된다.
이 제 15 발명에 의하면, 상기 평가수단은, 상기 제 0 상반력 성분 오차(Aerr(0))(즉 상기 임시 운동에 대응하는 상반력 성분 오차(Aerr))를 구성하는 시계열의 패턴의 제 1 특징량과, 제 0 상반력 성분 오차(Aerr(0))(즉 상기 임시 운동에 대응하는 상반력 성분 오차(Berr))를 구성하는 시계열의 패턴의 제 2 특징량이 각각에 대응하는 제 1 허용 오차범위, 제 2 허용 오차범위에 들어가 있는지 아닌지를 평가하므로, Aerr(0), Berr(0)의 시계열의 각각에 대해 이 시계열이 전체적으로 충분하게 작은지 아닌지를 평가할 수 있다. 그 결과, 임시 운동의 순시값의 시계열의 전체가 목표 운동의 시계열로서 적합한 것인지 아닌지를 적절하게 평가할 수 있다. 또한, 상기 수렴판단 처리에서는, 상기 상반력 성분 오차 변화량(△Aerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이것에 대응하는 허용 변화량 범위에 들어갔을 때에 이 △Aerr이 0에 수렴했다고 판단함과 동시에, 상기 상반력 성분 오차 변화량(△Berr)을 구성하는 시계열의 패턴 중 소정의 제 4 특징량이 이것에 대응하는 허용 변화량 범위에 들어갔을 때에 이 △Berr이 0에 수렴했다고 판단하므로, 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차(Aerr(n-1), Berr(n-1))의 시계열, 또는, 이들 Aerr(n-1), Berr(n-1)에 따른 상기 제 1 상반력 보정량, 제 2 상반력 보정량의 시계열의 각각과, 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차의 시계열(Aerr(n), Berr(n-1))의 각각이 전체적으로 거의 동일한 패턴으로 되었는지 아닌지를 판단할 수 있다. 그 결과, 상기 결정한 제 n 수정 후 운동의 순시값의 시계열이 신뢰성이 높은 상반력 성분 오차(Aerr, Berr) 또는 신뢰성이 높은 제 1 상반력 보정량, 제 2 상반력 보정량을 가미하여 결정된 것인지 아닌지를 적절하게 판단할 수 있다. 나아가서는, 최종적으로 결정한 목표 운동을 포함하는 목표 보용의 동역학적 정밀도의 신뢰성을 높일 수 있다.
마찬가지로, 상기 제 4 발명(또는 이것을 구성요건로 하는 제 6 발명, 혹은 제 10 발명)에서는, 상기 목표 운동, 임시 운동 및 수정 후 운동은, 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이며, 상기 상반력 성분 오차 산출수단에 의해 구해지는 상기 제 m 상반력 성분 오차(Aerr, Berr)(m:m≥0인 정수) 중 제 m 상반력 성분 오차(Aerr)는, 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 제 m 상반력 성분 오차(Berr)는 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에 있어서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값에, 상기 제 n-1 상반력 성분 오차(Aerr(n-1))의 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상기 제 1 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표값을 만족하고, 또한, 이 제 n 수정 후 운동에 의해 이 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값에, 상기 제 n-1 상반력 성분 오차(Berr(n-1))의 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상기 제 2 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에 있어서의 제 n 수정 후 운동의 순시값을 결정하는 처리이며, 상기 상반력 성분 오차 변화량(△Aerr)은, 상기 제 n 상반력 성분 오차(Aerr(n))의 각 시각에서의 값과 제 n-1 상반력 성분 오차(Aerr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차(Aerr(n))의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차(Aerr(n-1))의 이 시각에서의 값에 따라 결정한 상기 제 1 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 상반력 성분 오차 변화량(△Berr)은, 상기 제 n 상반력 성분 오차(Berr(n))의 각 시각에서의 값과 제 n-1 상반력 성분 오차(Berr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차(Berr(n))의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차(Berr(n-1))의 이 시각에서의 값에 따라 결정한 상기 제 2 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 상반력 성분 오차 변화량(△Aerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이 제 3 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△Aerr)이 0에 수렴했다고 판단함과 동시에, 상기 상반력 성분 오차 변화량(△Berr)을 구성하는 시계열의 패턴 중 상기 제 4 특징량이 이 제 4 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△Berr)이 0에 수렴했다고 판단하는 처리인 것이 바람직하다(제 16 발명).
또한, 이 제 16 발명에서, 상기 제 3 특징량, 제 4 특징량의 종류로서는, 상기 제 13 발명에 관해서 예시한 것을 들 수 있다. 이 경우, 제 3, 제 4 특징량의 종류는 동일할 필요는 없지만, 동일해도 된다.
이 제 16 발명에 의하면, 상기 수렴판단 처리에서는, 상기 상반력 성분 오차 변화량(△Aerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이것에 대응하는 허용 변화량 범위에 들어갔을 때에 이 △Aerr이 0에 수렴했다고 판단함과 동시에, 상기 상반력 성분 오차 변화량(△Berr)을 구성하는 시계열의 패턴 중 소정의 제 4 특징량이 이것에 대응하는 허용 변화량 범위에 들어갔을 때에 이 △Berr이 0에 수렴했다고 판단하므로, 상기 제 13 발명의 경우와 마찬가지로, 상기 결정한 제 n 수정 후 운동의 순시값의 시계열이 신뢰성이 높은 상반력 성분 오차(Aerr, Berr) 또는 신뢰성이 높은 제 1 상반력 보정량, 제 2 상반력 보정량을 가미하여 결정된 것인지 아닌지를 적절하게 판단할 수 있다. 나아가서는, 최종적으로 결정한 목표 운동을 포함하는 목표 보용의 동역학적 정밀도의 신뢰성을 높일 수 있다.
마찬가지로, 상기 제 7 발명(또는 이것을 구성요건으로 하는 제 11 발명)에서는, 상기 목표 운동, 임시 운동 및 수정 후 운동은 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이며, 상기 상반력 성분 오차 산출수단에 의해 구해지는 상기 제 m ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)(m:m≥0인 정수) 중 제 m ZMP 오차(ZMPerr)는, 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 산출되는 ZMP의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 산출되는 ZMP의 순시값의 차의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 제 m 병진 상반력 수평성분 오차(Ferr)는, 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 평가수단의 상기 소정의 제 1 허용 오차범위는 상기 제 0 ZMP 오차(ZMPerr(0))를 구성하는 시계열의 패턴 중 소정의 제 1 특징량에 대한 허용 오차범위임과 동시에, 상기 소정의 제 2 허용 오차범위는 상기 제 0 병진 상반력 수평성분 오차(Ferr(0))를 구성하는 시계열의 패턴 중 소정의 제 2 특징량에 대한 허용 오차범위이며, 상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에 있어서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 산출되는 ZMP의 순시값에, 상기 제 n-1 ZMP 오차(ZMPerr(n-1))의 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상기 ZMP 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표 ZMP를 만족하고, 또한, 이 제 n 수정 후 운동에 의해 이 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값에, 상기 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상기 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에 있어서의 제 n 수정 후 운동의 순시값을 결정하는 처리이며, 상기 ZMP 오차 변화량(△ZMPerr)은, 상기 제 n ZMP 오차(ZMPerr(n))의 각 시각에서의 값과 제 n-1 ZMP 오차(ZMPerr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n ZMP 오차(ZMPerr(n))의 각 시각에서의 값과 적어도 제 n-1 ZMP 오차(ZMPerr(n-1))의 이 시각에서의 값에 따라 결정한 상기 ZMP 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)은, 상기 제 n 병진 상반력 수평성분 오차(Ferr(n))의 각 시각에서의 값과 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 병진 상반력 수평성분 오차(Ferr(n))의 각 시각에서의 값과 적어도 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 이 시각에서의 값에 따라 결정한 상기 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 ZMP 오차 변화량(△ZMPerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이 제 3 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 ZMP 오차 변화량(△ZMPerr)이 0에 수렴했다고 판단함과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)을 구성하는 시계열의 패턴 중 소정의 제 4 특징량이 이 제 4 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 병진 상반력 수평성분 오차 변화량(△Ferr)이 0에 수렴했다고 판단하는 처리인 것이 바람직하다(제 17 발명).
또한, 이 제 17 발명에 있어서, 상기 제 1~제 4 특징량의 종류로서는, 상기 제 13 발명에 관해서 예시한 것을 들 수 있다. 이 경우, 제 1~제 4 특징량의 종류는 서로 동일할 필요는 없지만, 동일해도 된다.
이 제 17 발명에 의하면, 상기 평가수단은, 상기 제 0 ZMP 오차(ZMPerr(0))(즉 상기 임시 운동에 대응하는 ZMP 오차(ZMPerr))를 구성하는 시계열의 패턴의 제 1 특징량과, 제 0 병진 상반력 수평성분 오차(Ferr(0))(즉 상기 임시 운동에 대응하는 병진 상반력 수평성분 오차(Ferr))를 구성하는 시계열의 패턴의 제 2 특징량이 각각에 대응하는 제 1 허용 오차범위, 제 2 허용 오차범위에 들어가 있는지 아닌지를 평가하므로, ZMPerr(0), Ferr(0)의 시계열의 각각에 대해 이 시계열이 전체적으로 충분하게 작은지 아닌지를 평가할 수 있다. 그 결과, 임시 운동의 순시값의 시계열의 전체가 목표 운동의 시계열로서 적합한 것인지 아닌지를 적절하게 평가할 수 있다. 또한, 상기 수렴판단 처리에서는, 상기 ZMP 오차 변화량(△ZMPerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이것에 대응하는 허용 변화량 범위에 들어갔을 때에 이 △ZMPerr이 0에 수렴했다고 판단함과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)을 구성하는 시계열의 패턴 중 소정의 제 4 특징량이 이것에 대응하는 허용 변화량 범위에 들어갔을 때에 이 △Ferr이 0에 수렴했다고 판단하므로, 제 n-1 수정 후 운동에 대응하는 제 n-1 ZMP 오차(ZMPerr(n-1)) 및 제 n-1 병진 상반력 수평성분 오차(Berr(n-1))의 시계열, 또는, 이것들에 따른 상기 ZMP 보정량 및 상반력 보정량의 시계열의 각각과, 제 n 수정 후 운동에 대응하는 제 n ZMP 오차(ZMPerr(n)) 및 제 n 병진 상반력 수평성분 오차의 시계열(Ferr(n-1))의 각각이, 전체적으로 거의 동일한 패턴으로 된 것인지 아닌지를 판단할 수 있다. 그 결과, 상기 결정한 제 n 수정 후 운동의 순시값의 시계열이, 신뢰성이 높은 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr), 또는, 신뢰성이 높은 ZMP 보정량 및 상반력 보정량을 가미하여 결정된 것인지 아닌지를 적절하게 판단할 수 있다. 나아가서는, 최종적으로 결정한 목표 운동을 포함하는 목표 보용의 동역학적 정밀도의 신뢰성을 높일 수 있다.
마찬가지로, 상기 제 9 발명(또는 이것을 구성요건으로 하는 제 12 발명)에 있어서는, 상기 목표 운동, 임시 운동 및 수정 후 운동은, 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이며, 상기 상반력 성분 오차 산출수단에 의해 구해지는 상기 제 m ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)(m:m≥0인 정수) 중 제 m ZMP 오차(ZMPerr)는, 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 산출되는 ZMP의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 산출되는 ZMP의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 제 m 병진 상반력 수평성분 오차(Ferr)는 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값과의 차의 상기 소정 기간에서의 시계열로부터 구성되고, 상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에 있어서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 산출되는 ZMP의 순시값에, 상기 제 n-1 ZMP 오차(ZMPerr(n-1))의 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상기 ZMP 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표 ZMP를 만족하고, 또한, 이 제 n 수정 후 운동에 의해 이 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값에, 상기 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 시각(t)에서의 값과 적어도 이 값에 따라 결정한 상기 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에 있어서의 제 n 수정 후 운동의 순시값을 결정하는 처리이며, 상기 ZMP 오차 변화량(△ZMPerr)은, 상기 제 n ZMP 오차(ZMPerr(n))의 각 시각에서의 값과 제 n-1 ZMP 오차(ZMPerr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n ZMP 오차(ZMPerr(n))의 각 시각에서의 값과 적어도 제 n-1 ZMP 오차(ZMPerr(n-1))의 이 시각에서의 값에 따라 결정한 상기 ZMP 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)은, 상기 제 n 병진 상반력 수평성분 오차(Ferr(n))의 각 시각에서의 값과 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 병진 상반력 수평성분 오차(Ferr(n))의 각 시각에서의 값과 적어도 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 이 시각에서의 값에 따라 결정한 상기 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고, 상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 ZMP 오차 변화량(△ZMPerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이 제 3 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 ZMP 오차 변화량(△ZMPerr)이 0에 수렴했다고 판단함과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)을 구성하는 시계열의 패턴 중 소정의 제 4 특징량이 이 제 4 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 병진 상반력 수평성분 오차 변화량(△Ferr)이 0에 수렴했다고 판단하는 처리인 것이 바람직하다(제 18 발명).
또한, 이 제 18 발명에 있어서, 상기 제 3 특징량, 제 4 특징량의 종류로서는, 상기 제 13 발명에 관해서 예시한 것을 들 수 있다. 이 경우, 제 3, 제 4 특징량의 종류는 동일할 필요는 없지만, 동일해도 된다.
이 제 18 발명에 의하면, 상기 수렴판단 처리에서는, 상기 ZMP 오차 변화량(△ZMPerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이것에 대응하는 허용 변화량 범위에 들어갔을 때에 이 △ZMPerr이 0에 수렴했다고 판단함과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)을 구성하는 시계열의 패턴 중 소정의 제 4 특징량이 이것에 대응하는 허용 변화량 범위에 들어갔을 때에 이 △Ferr이 0에 수렴했다고 판단하므로, 상기 제 17 발명의 경우와 동일하게, 상기 결정한 제 n 수정 후 운동의 순시값의 시계열이 신뢰성이 높은 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr), 또는, 신뢰성이 높은 ZMP 보정량 및 상반력 보정량을 가미하여 결정된 것인지 아닌지를 적절하게 판단할 수 있다. 나아가서는, 최종적으로 결정한 목표 운동을 포함하는 목표 보용의 동역학적 정밀도의 신뢰성을 높일 수 있다.
또한, 상기 제 1~제 8 발명에 있어서, 상기 수정 후 운동결정 처리를 어느 정도의 회수(복수회) 반복하면, 일반적으로, 상기 오차 변화량은 0에 수렴한다. 따라서, 상기 수렴판단 처리에서는, 예를 들면 수정 후 운동결정 처리의 반복 회수(실행 회수)가 소정 회수에 도달했을 때에, 상기 오차 변화량이 0에 수렴했(오차 변화량이 2종류인 경우에는, 그 양자가 수렴했)다고 판단해도 된다. 또, 제 n 수정 후 운동과 제 n-1 수정 후 운동과의 차를 기초로 상기 오차 변화량의 0에의 수렴을 판단해도 된다.
또, 이상에서 설명한 제 1~제 16 발명에 있어서 목표 보용에 목표 운동뿐만 아니라 목표 상반력을 포함해도 된다.
이 경우, 제 1 발명, 제 2 발명, 또는 이것들을 구성요건으로 하는 제 5 발명, 제 13 발명, 제 14 발명에서는, 최종적으로 목표 운동으로서 결정한 제 n 수정 후 운동에 의해 제 1 동역학 모델상에서 발생하는 상반력 성분에, 제 n-1 상반력 성분 오차, 혹은 이것에 따른 상반력 보정량 중 어느 하나를 더한 것을 상기 상반력 성분의 목표값으로 하면 된다. 또는, 최종적으로 목표 운동으로서 결정한 제 n 수정 후 운동에 의해 제 2 동역학 모델상에서 발생하는 상반력 성분을 상기 상반력 성분의 목표값으로 하면 된다. 또한, 상기 임시 운동을 목표 운동으로서 결정했을 때에는, 이 임시 운동에 의해 제 1 동역학 모델상에서 발생하는 상반력 성분을 목표값으로 하면 된다.
또, 상기 제 3 발명, 제 4 발명, 또는 이것들을 구성요건으로 하는 제 6 발명, 제 9 발명, 제 10 발명, 제 15 발명, 제 16 발명에서는, 최종적으로 목표 운동으로서 결정한 제 n 수정 후 운동에 의해 제 1 동역학 모델상에서 발생하는 제 1 상반력 성분에, 제 n-1 상반력 성분 오차(Aerr(n-1)) 혹은 이것에 따른 제 1 상반력 보정량 중 어느 하나를 더한 것을 상기 제 1 상반력 성분의 목표값으로 하고, 또, 제 n 수정 후 운동에 의해 제 1 동역학 모델상에서 발생하는 제 2 상반력 성분에, 제 n-1 상반력 성분 오차(Berr(n-1)) 혹은 이것에 따른 제 2 상반력 보정량 중 어느 하나를 더한 것을 상기 제 2 상반력 성분의 목표값으로 하면 된다. 또는, 최종적으로 목표 운동으로서 결정한 제 n 수정 후 운동에 의해 제 2 동역학 모델상에서 발생하는 제 1 상반력 성분 및 제 2 상반력 성분을 각각의 목표값으로 하면 된다. 또한, 상기 임시 운동을 목표 운동으로서 결정했을 때에는, 이 임시 운동에 의해 제 1 동역학 모델상에서 발생하는 제 1 상반력 성분, 제 2 상반력 성분을 각각의 목표값으로 하면 된다.
또, 상기 제 7 발명, 제 8 발명, 또는 이것들을 구성요건으로 하는 제 11 발명, 제 12 발명, 제 17 발명, 제 18 발명에서는, 최종적으로 목표 운동으로서 결정한 제 n 수정 후 운동에 의해 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분에, 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1)) 혹은 이것에 따른 상반력 보정량 중 어느 하나를 더한 것을 병진 상반력 수평성분의 목표값으로 하면 된다. 목표 ZMP는 당초대로 이어도 된다. 또는, 최종적으로 목표 운동으로서 결정한 제 n 수정 후 운동에 의해 제 2 동역학 모델상에서 발생하는 병진 상반력 수평성분을 그것의 목표값으로 하면 된다. 또, 상기 임시 운동을 목표 운동으로서 결정했을 때에는, 이 임시 운동에 의해 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분을 목표값으로 하면 된다.
또, 제 1~제 16 발명에서는, 그것에 의해 생성한 목표 보용을 상기 특허문헌 2, 3의 것과 같이, 풀 모델(제 3 동역학 모델)을 사용하여 더욱 보정하도록 해도 된다. 이 경우, 제 1~제 12 발명에서 생성되는 목표 보용은 동역학적 정밀도가 높으므로, 풀 모델에서의 보용의 발산이 발생하기 어렵다. 이 때문에, 목표 ZMP 궤도의 수정량, 또는, 목표 ZMP 주위의 상반력 모멘트가 과대해지는 것을 방지하여, 로봇의 안정여유를 높게 유지할 수 있다.
도 1은 본 발명의 실시형태를 적용하는 이동 로봇(2족보행 로봇)의 전체 구성의 개략을 도시하는 도면,
도 2는 도 1의 로봇의 각 다리체의 족평부분의 구성을 도시하는 가리키는 측면도,
도 3은 도 1의 로봇에 구비한 제어 유닛의 구성을 도시하는 블럭도,
도 4는 도 3의 제어 유닛의 기능적 구성을 도시하는 블럭도,
도 5는 도 4에 도시하는 보용생성장치의 기능을 도시하는 블럭도,
도 6(a), (b)는 각각 로봇의 운동 모드(상체 병진모드, 상체 회전모드)를 설명하기 위한 도면,
도 7은 보용생성에서 사용하는 제 1 동역학 모델(단순화 모델)의 구조를 도시하는 도면,
도 8은 보용생성에서 사용하는 제 2 동역학 모델(세미 풀 모델)의 구조를 도시하는 도면,
도 9는 보용생성에서 사용하는 풀 모델의 구조를 도시하는 도면,
도 10은 실시형태에서의 보용생성장치의 메인루틴 처리를 도시하는 플로우차트,
도 11은 도 10의 서브루틴 처리를 도시하는 플로우차트,
도 12는 도 10의 서브루틴 처리를 도시하는 플로우차트,
도 13은 도 12의 서브루틴 처리를 도시하는 플로우차트,
도 14는 도 13의 서브루틴 처리를 도시하는 플로우차트,
도 15는 도 14의 서브루틴 처리를 도시하는 플로우차트,
도 16은 도 10의 서브루틴 처리를 도시하는 플로우차트,
도 17은 도 10의 서브루틴 처리를 도시하는 플로우차트,
도 18은 도 17의 서브루틴 처리를 도시하는 플로우차트,
도 19는 정상 보용에서의 상체 경사 복원 모멘트 ZMP 환산값의 예를 도시하는 그래프,
도 20은 금회 보용에서의 상체 경사 복원 모멘트 ZMP 환산값의 예를 도시하는 그래프,
도 21은 금회 보용에서의 임시 목표 ZMP와 ZMP 수정량과 목표 ZMP의 예를 도시하는 그래프이다.
발명을 실시하기 위한 최량의 형태
이하, 첨부된 도면을 참조하여 본 발명의 실시형태를 설명한다. 또한, 본 명세서의 실시형태에서는, 이동 로봇으로서는 2족이동 로봇을 예로 든다.
도 1은 본 발명의 실시형태를 적용하는 2족이동 로봇의 전체적 구성의 개략을 도시하는 개략도이다.
도시한 바와 같이, 2족이동 로봇(이하, 로봇이라고 함)(1)은 상체(로봇(1)의 기체(基體))(3)로부터 하방으로 연장하여 설치된 좌우 한쌍의 다리체(각부 링크)(2, 2)를 갖는다. 양다리체(2, 2)는 동일구조이며, 각각 6개의 관절을 갖는다. 그 6개의 관절은 상체(3)측으로부터 순서대로, 가랑이(허리부)의 회선(회전)용(상체(3)에 대한 요잉 방향의 회전용)의 관절(10R, 10L)과, 가랑이(허리부)의 롤링 방향(X축 주위)의 회전용의 관절(12R, 12L)과, 가랑이(허리부)의 피칭 방향(Y축 주위)의 회전용의 관절(14R, 14L), 무릎부의 피칭 방향의 회전용의 관절(16R, 16L)과, 발목의 피칭 방향의 회전용의 관절(18R, 18L)과, 발목의 롤링 방향의 회전용의 관절(20R, 20L)로 구성된다. 또한, 본 명세서에서, 부호 R, L은 각각 로봇(1)의 우측, 좌측에 대응하는 것을 의미하는 부호이다.
각 다리체(2)의 발목의 2개의 관절(18R(L), 20R(L))의 하부에는, 각 다리체(2)의 선단부를 구성하는 족평(족부)(22R(L))이 부착됨과 동시에, 양다리체(2, 2)의 최상위에는, 각 다리체(2)의 가랑이의 3개의 관절(10R(L), 12R(L), 14R(L))을 통하여 상기 상체(3)가 부착되어 있다. 상체(3)의 내부에는 상세를 후술하는 제어 유닛(60) 등이 격납된다. 또한, 도 1에서는 도시의 편의상, 제어 유닛(60)을 상체(3)의 외부에 기재하고 있다.
상기 구성의 각 다리체(2)에서는, 고관절(또는 허리관절)은 관절(10R(L), 12R(L), 14R(L))로 구성되고, 무릎관절은 관절(16R(L))로 구성되고, 발목관절은 관 절(18R(L), 20R(L))로 구성된다. 또 고관절과 무릎관절은 대퇴 링크(24R(L))로 연결되고, 무릎관절과 발목관절은 하퇴 링크(26R(L))로 연결된다.
상체(3)의 상부의 양측부에는 좌우 한쌍의 팔체(5, 5)가 부착됨과 동시에, 상체(3)의 상단부에는 머리부(4)가 배치된다. 각 팔체(5)는 3개의 관절(30R(L), 32R(L), 34R(L))로 구성된 견관절과, 관절(36R(L))로 구성된 팔꿈치관절과, 관절 (38R(L))로 구성된 손목관절과, 이 손목관절에 연결된 손끝부(40R(L))를 구비하고 있다. 견관절과 팔꿈치관절 사이, 및 팔꿈치관절과 손목관절 사이는 각각 강체 형상의 링크로 구성되어 있다.
상기의 로봇(1)의 구성에 의해, 각 다리체(2)의 족평(22R(L))은 상체(3)에 대해 6개의 자유도가 부여되어 있다. 그리고, 로봇(1)의 보행 등의 이동중에, 양다리체(2, 2)를 합쳐서 6*2=12개(본 명세서에서 「*」은 스칼라에 대한 연산으로서는 승산을, 벡터에 대한 연산으로서는 외적을 나타냄)의 관절을 적당한 각도로 구동함으로써 양 족평(22R, 22L)의 원하는 운동을 행할 수 있다. 이것에 의해, 로봇(1)은 임의로 3차원 공간을 이동할 수 있다. 또, 각 팔체(5)는 그 견관절, 팔꿈치관절, 손목관절의 회전에 의해, 팔 흔들기 등의 운동을 행할 수 있다.
도 1에 도시하는 바와 같이, 각 다리체(2)의 발목관절(18R(L), 20R(L))의 하방에는 족평(22R(L))과의 사이에 공지의 6축력센서(50)가 장치되어 있다. 이 6축력센서(50)는, 각 다리체(2)의 족평(22R(L))의 착지의 유무, 및 각 다리체(2)에 작용하는 상반력(접지하중) 등을 검출하기 위한 것으로, 이 상반력의 병진력의 3방향 성분(Fx, Fy, Fz) 및 모멘트의 3방향 성분(Mx, My, Mz)의 검출신호를 제어 유 닛(60)에 출력한다. 또, 상체(3)에는, Z축(연직방향(중력방향))에 대한 상체(3)의 경사각 및 그 각속도를 검출하기 위한 자세 센서(54)가 구비되고, 그 검출신호가 이 자세 센서(54)로부터 제어 유닛(60)에 출력된다. 이 자세 센서(54)는, 도시를 생략하는 가속도 센서 및 자이로 센서를 구비하고, 이들 센서의 검출신호가 상체(3)의 자세각(경사각) 및 그 각속도를 검출하기 위해서 사용된다. 또, 상세구조의 도시는 생략했지만, 로봇(1)의 각 관절에는, 그것을 구동하기 위한 전동 모터(64)(도 3 참조)와, 그 전동 모터(64)의 회전량(각 관절의 회전각)을 검출하기 위한 인코더(로터리 인코더)(65)(도 3 참조)가 설치되고, 이 인코더(65)의 검출신호가 이 인코더(65)로부터 제어 유닛(60)에 출력된다.
또한, 도 1에서는 도시를 생략하지만, 로봇(1)의 외부에는, 로봇(1)을 조종하기 위한 조이스틱(조작기)(73)(도 3 참조)이 설치되고, 그 조이스틱(73)을 조작함으로써 직진이동 하고 있는 로봇(1)을 선회시키는 등 로봇(1)의 이동방향을 지정하는, 로봇(1)의 보행, 주행 등의 운동형태 및 바닥면의 마찰상태(노면상태)를 지정하는 등, 로봇(1)의 보용에 대한 요구 혹은 제약조건을 필요에 따라서 제어 유닛(60)에 입력할 수 있도록 구성되어 있다. 조이스틱(73)은 유선 혹은 무선에 의해 제어 유닛(60)과의 통신이 가능하게 되어 있다.
도 2는 본 실시형태에서의 각 다리체(2)의 선단부분(각 족평(22R(L))을 포함함)의 기본구성을 개략적으로 도시하는 도면이다. 동 도면에 도시하는 바와 같이, 각 족평(22R(L))의 상방에는, 상기 6축력센서(50)와의 사이에 스프링 기구(70)가 장비됨과 동시에, 발 밑바닥(각 족평(22R, 22L)의 밑바닥면)에는 고무 등으로 이루 어지는 발 밑바닥 탄성체(71)가 붙여져 있다. 이들 스프링 기구(70) 및 발 밑바닥 탄성체(71)에 의해 컴플라이언스 기구(72)가 구성되어 있다. 상세한 도시는 생략하지만, 스프링 기구(70)는, 족평(22R(L))의 상면부에 부착된 사각형 형상의 가이드 부재(도시생략)와, 발목관절(18R(L))(도 2에서는 발목관절 20R(L)을 생략하고 있음) 및 6축력센서(50)측에 부착되고, 상기 가이드 부재에 탄성재(고무나 스프링)를 통하여 미동 자유롭게 수납되는 피스톤 형상 부재(도시생략)로 구성되어 있다.
도 2에 실선으로 표시된 족평(22R(L))은 상반력을 받고 있지 않을 때의 상태를 도시하고 있다. 각 다리체(2)가 상반력을 받으면, 컴플라이언스 기구(72)의 스프링 기구(70)와 발 밑바닥 탄성체(71)가 휘어, 족평(22R(L))은 도면 중에 점선으로 예시한 위치자세로 이동한다. 이 컴플라이언스 기구(72)의 구조는 착지 충격을 완화하기 위해서 뿐만 아니라, 제어성을 높이기 위해서도 중요한 것이다. 그 상세는, 예를 들면 본 출원인이 앞서 제안한 일본 특개평 5-305584호 공보에 상세하게 설명되어 있으므로, 본 명세서에서의 새로운 설명은 생략한다.
도 3은 제어 유닛(60)의 구성을 도시하는 블럭도이다. 이 제어 유닛(60)은 마이크로컴퓨터에 의해 구성되어 있고, CPU로 이루어지는 제 1 연산장치(90) 및 제 2 연산장치(92), A/D변환기(80), 카운터(86), D/A변환기(96), RAM(84), ROM(94), 및 이것들 사이의 데이터 수수를 행하는 버스 라인(82)을 구비하고 있다. 이 제어 유닛(60)에서는, 각 다리체(2)의 6축력센서(50), 자세 센서(54)(가속도 센서 및 레이트 자이로 센서), 조이스틱(73) 등의 출력신호는 A/D변환기(80)로 디지털 값으로 변환된 후, 버스 라인(82)을 통하여 RAM(84)으로 보내진다. 또 로봇(1)의 각 관절 의 인코더(65)(로터리 인코더)의 출력은 카운터(86)를 통하여 RAM(84)에 입력된다.
상기 제 1 연산장치(90)는 후술과 같이 목표 보용을 생성함과 동시에, 관절각 변위 지령(각 관절의 변위각 혹은 각 전동 모터(64)의 회전각의 지령값)을 산출하여, RAM(84)에 송출한다. 또, 제 2 연산장치(92)는 RAM(84)으로부터 관절각 변위지령과, 상기 인코더(65)의 출력신호에 기초하여 검출된 관절각의 실측값을 읽어 내고, 각 관절의 구동에 필요한 조작량을 산출하여, 그 조작량을 D/A변환기(96)와 서보 앰프(64a)를 통하여 각 관절을 구동하는 전동 모터(64)에 출력한다.
도 4는 본 명세서의 실시형태에서의 로봇(1)의 제어 유닛(60)의 주요 기능적 구성을 도시하는 블럭도이다. 이 도 4중의 「실 로봇」의 부분이외의 부분이 제어 유닛(60)이 실행하는 처리기능(주로 제 1 연산장치(90) 및 제 2 연산장치(92)의 기능)으로 구성되는 것이다. 그 처리기능은 제어 유닛(60)에 실장된 프로그램 등에 의해 실현되고 있다. 또한, 이하의 설명에서는, 로봇(1)의 각 부(다리체(2), 팔체(5) 등)의 좌우를 특별히 구별할 필요가 없을 때는, 상기 부호 R, L을 생략한다.
이하 설명하면 제어 유닛(60)은 후술과 같이 목표 보용을 자유롭고 또한 리얼타임으로 생성하여 출력하는 보용생성장치(100)를 구비하고 있다. 이 보용생성장치(100)는 그 기능에 의해 본 발명의 실시형태를 실현하는 것이다. 이 보용생성장치(100)가 출력하는 목표 보용은, 보정 목표 상체자세 궤도(상체(3)의 목표 자세의 궤도), 보정 목표 상체위치 궤도(상체(3)의 목표 위치의 궤도), 목표 족평위치자세 궤도(각 족평(22)의 목표 위치 및 목표 자세의 궤도), 목표 팔자세 궤도(각 팔체의 목표 자세의 궤도), 목표 ZMP(목표 전체 상반력 중심점)궤도, 목표 ZMP 주 위의 보정 목표 상반력 모멘트 궤도 및 목표 전체 상반력 궤도로 구성된다. 또한, 다리체(2)나 팔체(5) 이외에, 상체(3)에 대해 가동 부위(머리부 등)를 구비하는 경우에는, 그 가동부위의 목표 위치자세 궤도가 목표 보용에 가해진다.
여기에서, 본 명세서에서의 보용에 관한 기본적인 용어의 정의 등에 대해 설명해 둔다. 보용에 있어서의 「궤도」는 시간적 변화의 패턴(시계열 패턴)을 의미하고, 「궤도」 대신에 「패턴」으로 칭하는 경우도 있다. 또, 「자세」는 공간적인 방향을 의미한다. 예를 들면 상체자세는 Z축(연직축)에 대한 롤링 방향(X축 주위)의 상체(3)의 경사각(자세각)과 피칭 방향(Y축 주위)의 상체(3)의 경사각(자세각)으로 표시되고, 족평자세는 각 족평(22)에 고정적으로 설정된 2축의 공간적인 방위각으로 표시된다. 본 명세서에서는, 상체자세는 상체자세각 혹은 상체 경사각이라고 하는 경우도 있다. 또한, 팔체(5)에 관한 목표 팔자세는, 본 명세서의 실시형태에서는 상체(3)에 대한 상대 자세로 표시된다.
상체위치는, 상체(3)의 미리 정한 대표점(상체(3)에 대하여 임의로 고정 설정한 로컬 좌표계에서의 어느 고정점)의 위치를 의미한다. 마찬가지로, 족평위치는 각 족평(22)의 미리 정한 대표점(각 족평(22)에 대해 임의로 고정 설정한 로컬 좌표계에서의 고정점)의 위치를 의미한다. 예를 들면 각 족평(22)의 대표점은 각 족평(22)의 밑바닥면상(보다 구체적으로는 각 다리체(2)의 발목관절의 중심으로부터 각 족평(22)의 밑바닥면에의 수선이 이 밑바닥면과 교차하는 점 등)에 설정된다.
상체(3)에 관한 상기 보정 목표 상체자세 및 보정 목표 상체위치는, 어떤 기 본이 되는 목표 상체자세(임시 목표 상체자세) 및 목표 상체위치(임시 목표 상체위치)를 보정한 것이다. 본 명세서의 실시형태에서는, 기본이 되는 목표 상체위치 자세는, 후술하는 단순화 모델 보용생성부에서 결정되는 목표 상체위치 자세(후술의 도 10의 S032에서 결정되는 목표 상체위치자세)가 상당한다.
또한, 이후의 설명에서는, 오해를 일으킬 우려가 없을 경우에는, 종종 「목표」를 생략한다.
보용 중, 상반력에 관계되는 구성요소 이외의 구성요소, 즉 족평위치 자세, 상체위치 자세 등, 로봇(1)의 각 부위의 위치자세에 관한 구성요소를 총칭적으로 「운동」이라고 한다. 또, 각 족평(22)에 작용하는 상반력(병진력 및 모멘트로 이루어지는 상반력)을 「각 족평 상반력」이라고 부르고, 로봇(1)의 모든(2개) 족평(22R, 22L)에 대한 「각 족평 상반력」의 합력을 「전체 상반력」이라고 한다. 단, 이하의 설명에서는, 각 족평 상반력은 거의 언급하지 않으므로, 특별히 예고하지 않는 한, 「상반력」은 「전체 상반력」과 동일한 의미로서 취급한다.
목표 상반력은, 일반적으로는, 작용점과 그 점에 작용하는 병진력 및 모멘트에 의해 표현된다. 작용점은 어디에 잡아도 되므로, 동일한 목표 상반력에서도 무수한 표현을 생각할 수 있지만, 특히 목표 상반력 중심점(전체 상반력의 중심점의 목표 위치)을 작용점으로 하여 목표 상반력을 표현하면, 목표 상반력의 모멘트 성분은 연직성분(연직축(Z축) 주위의 모멘트 성분)을 제외하고 0이 된다. 바꾸어 말하면, 목표 상반력 중심점 주위의 목표 상반력의 모멘트의 수평성분(수평축(X축 및 Y축) 주위의 모멘트)는 0이 된다.
또한, 동역학적 평형조건을 만족하는 보용에서는, 로봇(1)의 목표 운동 궤도로부터 산출되는 ZMP(목표 운동 궤도로부터 산출되는 관성력과 중력의 합력이 그 점 주위에 작용하는 모멘트가, 연직성분을 제외하고 0이 되는 점)와 목표 상반력 중심점은 일치하므로, 목표 상반력 중심점 궤도 대신에 목표 ZMP 궤도를 제공한다고 해도 동일한 것이다.
여기에서, 로봇(1)이 보행을 행하는 경우에는, 예를 들면 본 출원인이 앞서 일본 특개평 10-86080호 공보에서 제안한 상체높이 결정수법에 의해 로봇(1)의 상체(3)의 연직위치(상체높이)가 결정되면, 병진 상반력 연직성분은 종속적으로 결정된다. 또한, 목표 보용의 운동에 의한 관성력과 중력의 합력이 목표 ZMP 주위에 발생하는 모멘트의 수평성분이 0이 되도록 로봇(1)의 상체 수평위치 궤도(또는 전체중심의 위치 궤도)를 결정함으로써 병진 상반력 수평성분도 종속적으로 결정된다. 이 때문에, 로봇(1)이 보행을 행하는 경우에는, 목표 보용의 상반력에 관해서 명시적으로 설정해야 할 물리량으로서는 목표 ZMP 만이어도 된다.
한편, 상반력이 0 혹은 거의 0이 되는 시기를 동반하는 보용에서의 로봇(1)의 이동, 예를 들면 로봇(1)의 주행을 행하는 경우에는, 병진 상반력 연직성분도 로봇(1)의 동작 제어상 중요하다. 이 때문에, 병진 상반력 연직성분의 목표 궤도를 명시적으로 설정한 뒤에, 로봇(1)의 목표 상체 연직위치 등의 궤도를 결정하는 것이 바람직하다. 또, 로봇(1)의 보행에서도, 마찰계수가 낮은 바닥면상(스키드패드상)에서 로봇(1)을 이동시키는 경우에는, 병진 상반력 연직성분(보다 엄밀하게는 병진 상반력의 바닥면에 수직한 성분)이 마찰력에 영향을 미치므로, 로봇(1)의 슬 립 등을 방지하는 점에서, 병진 상반력 연직성분의 목표 궤도를 명시적으로 설정하는 것이 바람직하다. 또한, 본 발명의 실시형태에서는, 최종적으로 보용생성장치(100)가 출력하는 목표 보용에서는, 목표 ZMP 주위에 보정 목표 상반력 모멘트(수평성분이 0이라고는 할 수 없는 모멘트)를 발생시킨다.
이러한 것으로부터, 본 명세서의 실시형태에서는, 보용생성장치(100)가 출력하는 목표 보용의 상반력에 관한 구성요소로서, 목표 ZMP 궤도 이외에, 목표 ZMP 주위의 보정 목표 상반력 모멘트와, 목표 병진 상반력 연직성분을 포함시키고 있다.
그리고, 본 명세서에서는, 보용생성장치(100)가 출력하는 목표 보용은, 광의로는, 「1보 내지는 복수보의 기간의 목표 운동 궤도와 목표 상반력 궤도와의 세트」의 의미로 사용되고, 협의로는, 「1보의 기간의 목표 운동 궤도와, 목표 ZMP, 보정 목표 상반력 모멘트 및 목표 병진 상반력 연직성분을 포함하는 목표 상반력 궤도와의 세트」의 의미로 사용된다.
단, 본 명세서의 실시형태에서는, 최종적인 목표 보용(보용생성장치(100)가 출력하는 목표 보용)을 결정할 때까지의 과정에서 작성하는 목표 보용(임시 목표 보용)에서는, 상기 협의의 목표 보용으로부터 보정 목표 상반력 모멘트를 제외한 것이 목표 보용의 의미로 사용된다. 보충하면, 본 명세서의 실시형태에서는, 최종적인 목표 보용(보용생성장치(100)가 출력하는 목표 보용)을 결정할 때까지의 과정에서 작성하는 목표 보용(임시 목표 보용)이 본 발명에 밀접하게 관련되는 것으로 되어 있다. 이 때문에, 이후의 설명에서 나타내는 목표 보용의 대부분은, 상기 협 의의 목표 보용으로부터, 보정 목표 상반력 모멘트를 제외한 것의 의미로 사용된다.
또한, 이후의 설명에서는, 「상반력 연직성분」은 「병진 상반력 연직성분」을 의미하는 것으로 하고, 상반력 중 연직성분(연직축 주위 성분)은 「모멘트」라고 하는 용어를 사용하여 「상반력 연직성분」과 구별을 한다. 마찬가지로, 「상반력 수평성분」은 「병진 상반력 수평성분」을 의미하는 것으로 한다. 병진 상반력은 상반력 성분이라고 하는 경우도 있다.
또, 목표 보용의 「1보」는 로봇(1)의 한쪽 다리체(2)가 착지하고나서 또 한쪽의 다리체(2)가 착지할 때까지의 의미로 사용한다.
또, 보용에 있어서의 양다리 지지기란, 로봇(1)이 그 자중을 양다리체(2, 2)로 지지하는 기간, 외다리 지지기란 어느 한쪽의 다리체(2)로 로봇(1)의 자중을 지지하는 기간, 공중기란 양다리체(2, 2)가 바닥으로부터 떨어져 있는(공중에 떠 있는) 기간을 말한다. 외다리 지지기에서 로봇(1)의 자중을 지지하지 않는 쪽의 다리체(2)를 미착지다리라고 부른다. 또한, 외다리 지지기와 공중기가 번갈아 반복되는 로봇(1)의 주행보용에서는 양다리 지지기는 없다. 이 경우, 공중기에서는 양다리체(2, 2) 모두, 로봇(1)의 자중을 지지하지 않는 것이 되는데, 편의상, 이 공중기의 직전의 외다리 지지기에서 미착지다리였던 다리체(2), 지지다리였던 다리체(2)를 각각 이 공중기에서도 미착지다리, 지지다리라고 부른다.
또, 목표 보용의 궤도는 글로벌 좌표계(바닥에 고정된 좌표계)로 기술된다. 글로벌 좌표계로서는, 예를 들면 지지다리 족평(22)의 착지위치 자세에 대응하여 정해지는 지지다리 좌표계가 사용된다. 이 지지다리 좌표계는, 예를 들면 지지다리 족평(22)의 밑바닥면의 거의 전체면을 바닥에 접지한 상태에서, 그 족평(22)이 연결된 발목관절의 중심으로부터 바닥면에 연장시킨 수선이 바닥과 교차하는 점을 원점으로 하고, 그 원점을 통과하는 수평면에 지지다리 족평(22)을 투영했을 때의 이 족평(22)의 전후 방향을 X축방향, 좌우측 방향을 Y축방향으로 하는 좌표계(Z축방향은 연직방향)이다. 이후의 설명에서는, 특별히 예고하지 않는 한, X, Y, Z 좌표는 이 지지다리 좌표계의 좌표를 의미한다.
도 5는 보용생성장치(100)의 상세를 도시하는 블럭도이다. 이 도 5를 참조하여, 보용생성장치(100)의 처리의 보다 구체적인 개요를 이하에 설명한다.
도시된 바와 같이, 보용생성장치(100)는 보용 패러미터 결정부(100a)를 구비한다. 보용 패러미터 결정부(100a)는 목표 보용을 규정하는 보용 패러미터의 값 또는 시계열 테이블을 결정한다.
본 명세서의 실시형태에서는, 보용 패러미터 결정부(100a)가 결정하는 보용 패러미터에는, 목표 보용 중, 목표 족평 위치자세 궤도, 목표 팔자세 궤도, 목표 ZMP 궤도, 및 목표 상반력 연직성분 궤도를 각각 규정하는 패러미터가 포함된다.
여기에서, 보용생성장치(100)가 목표 보용을 생성할 때, 미착지다리 족평(22)의 착지 예정위치 자세, 착지 예정시각, 또는 보폭, 이동속도 등의 보용생성용의 기본적인 요구값(요구 패러미터)이, 상기 조이스틱(73), 혹은 도시하지 않은 행동계획부(로봇(1)의 행동계획을 작성하는 장치) 등의 장치로부터 보용생성장치(100)에 주어진다. 또는, 상기 요구 패러미터를 미리 기억 유지한 기억매체로부 터 이 요구 패러미터를 보용생성장치(100)가 읽어 들인다. 그리고, 보용생성장치(100)의 보용 패러미터 결정부(100a)는 그 요구 패러미터에 따라 보용 패러미터를 결정한다.
또, 본 명세서의 실시형태에서는, 보용 패러미터 결정부(100a)가 결정하는 보용 패러미터에는, 기준 상체자세 궤도, ZMP 허용범위, 상반력 수평성분 허용범위를 각각 규정하는 패러미터도 포함된다.
여기에서, 상기 기준 상체자세 궤도는 최종적으로 보용생성장치(100)가 출력하는 것은 아니지만, 목표 보용을 결정할 때에 참작되는 것이다. 이 기준 상체자세 궤도는, 로봇(1)의 상체자세에 관해서, 상기 조이스틱(73) 또는 행동계획부에서 주어지고, 혹은 미리 정해진 요구(상체자세를 연직자세로 유지하는 등의 요구)에 그대로 따라서 생성되는 상체자세 궤도이다. 목표 상체자세(이후, 「기준」이 붙어 있지 않은 「상체자세」는 목표 상체자세를 의미함)는 기준 상체자세에 장기적으로 추종하거나, 또는 일치하도록 생성된다.
또, 상기 ZMP 허용범위에 관해 보충하면, 본 명세서의 실시형태에서는, 목표 보용은 목표 ZMP의 주위에 보정 목표 상반력 모멘트(이것은 일반적으로는 0이 아님)를 발생하도록 수정된다. 따라서, 목표 ZMP는 본래의 정의(상반력 모멘트 수평성분이 0인 점이라고 하는 정의)는 상이한 점이 되고, 본래의 정의를 만족하는 ZMP(이하, 진(眞)ZMP라고 함)는 보정 목표 상반력 모멘트를 목표 상반력 연직성분으로 나눈 값만큼 목표 ZMP로부터 벗어난 위치로 이동한다.
수정된 보용(보용생성장치(100)가 최종적으로 출력하는 목표 보용)의 진 ZMP 는, 적어도 ZMP 존재가능 범위(소위 지지다각형인 것. 바닥과 족평(22)의 밑바닥면 사이에 점착력이 작용하지 않는다고 가정한 경우에 있어서의 상반력 작용점(ZMP)의 존재가능 범위) 내에 있어야 한다. 또한 로봇(1)의 안정여유를 충분히 취하기 위해서는, 수정된 보용의 진 ZMP는 ZMP 존재가능 범위 중 중심부근의 범위에 있는 것이 바람직하다. 그래서, 본 명세서의 실시형태에서는 수정된 보용의 진 ZMP가 존재할 수 있는 허용범위를 설정한다. 이 범위를 ZMP 허용범위라고 부른다. ZMP 허용범위는 ZMP 존재가능 범위와 일치 또는 ZMP 존재가능 범위 내에 포함되도록 설정된다.
또한, 상기한 바와 같이, 목표 ZMP 주위의 보정 목표 상반력 모멘트를 목표 상반력 연직성분으로 제산한 것이, 목표 ZMP에 대한 진 ZMP의 위치의 벗어남량을 의미하므로, 목표 ZMP 주위의 보정 목표 상반력 모멘트를 설정하는 대신, 목표 ZMP에 대한 진 ZMP의 위치의 벗아남량(보정 목표 상반력 모멘트의 ZMP 환산값)을 설정해도 된다. 또, ZMP 허용범위는, 그 경계의 위치에 목표 상반력 연직성분을 승산함으로써, 보정 목표 상반력 모멘트 허용범위로 변환할 수 있고, 그 보정 목표 상반력 모멘트 허용범위를 ZMP 허용범위 대신 설정하도록 해도 된다.
또, 상기 상반력 수평성분 허용범위는, 로봇(1)의 족평(22)의 바닥과의 접지면에, 족평(22)이 미끄러지지 않는 크기의 마찰력을 발생시킬 수 있는 상반력 수평성분의 허용범위이다. 본 명세서의 실시형태에서는, 적어도 최종적으로 보용생성장치(100)이 출력하는 목표 보용의 운동(목표 운동)은, 그것에 의해서 발생하는 로봇(1)의 관성력의 수평성분에 균형이 잡히는 상반력 수평성분이 상반력 수평성분 허용범위 내에 들어가도록(상반력 수평성분 허용범위를 만족하도록) 생성된다.
또한, 본 명세서의 실시형태에서 설정하는 상반력 수평성분 허용범위는, 후술의 S022의 처리에서 설정되는 정상 보용용의 것과, S026의 처리에서 설정되는 기본보용용의 것과, S030에서 설정되는 보용보정용(풀 모델 보정용)의 것이 있다. 단, 이들 상반력 수평성분 허용범위는 반드시 서로 다를 필요는 없고, 동일해도 된다. 한편, ZMP 허용범위는 S030 처리에서 설정되는 보용보정용(풀 모델 보정용)의 것 뿐이다.
보충하면, 목표 보용을 생성하기 위한 보용 패러미터에는, 상기한 패러미터 이외의 패러미터도 포함된다. 그것들은 보용 패러미터 결정부(100a) 중에서, 소요의 경계조건을 만족하도록 결정된다.
보용 패러미터 결정부(100a)에서 결정된 보용 패러미터는 목표 순시값 발생부(100b)에 입력된다. 목표 순시값 발생부(100b)는 입력된 보용 패러미터에 기초하여, 기준 상체자세, 목표 족평위치 자세, 목표 ZMP, 목표 상반력 연직성분, ZMP 허용범위, 상반력 수평성분 허용범위 등, 목표 보용의 일부의 구성요소(목표 상체위치 자세를 제외함)의 순시값(상기 제어 유닛(60)의 소정의 제어 처리 주기 마다의 값)을 차례차례 산출(발생)한다. 또, 목표 순시값 발생부(100b)는, 병진 상반력(상반력의 병진력 성분) 오차 궤도(상세하게는 병진 상반력 수평성분의 오차의 순시값의 시계열) 및 상반력 모멘트 오차 궤도(상세하게는 목표 ZMP 주위의 상반력 모멘트의 수평성분의 오차의 순시값의 시계열)도 출력한다. 이들 오차 궤도는, 보용의 운동에 의해 후술의 세미 풀 모델(제 2 동역학 모델)에서 발생하는 상반력에 대한, 후술의 단순화 모델(제 1 동역학 모델)에서 발생하는 상반력의 오차의 시계열 패턴에 상당하는 것이다.
목표 순시값 발생부(100b)에서 산출된 목표 순시값은 단순화 모델 보용생성부(100c)에 입력된다. 단순화 모델 보용생성부(100c)는 입력된 목표 순시값을 기초로, 로봇(1)의 운동과 상반력의 관계를 근사표현하는 동역학 모델로서의 후술의 단순화 모델(제 1 동역학 모델) 및 세미 풀 모델(제 2 동역학 모델)을 사용하여 목표 상체위치 자세(후술의 풀 모델 보정부에서의 임시 목표 상체위치 자세)의 순시값을 산출한다. 또한, 여기에서 사용하는 단순화 모델은 목표 순시값 발생부(100b)에서 사용하는 것과 동일하다. 단순화 모델 보용생성부(100c)는 목표 ZMP 주위의 상반력 모멘트와 병진 상반력에 관한 소요의 동역학적 조건이 만족하도록 목표 상체위치 자세의 순시값을 산출한다. 그 동역학적 조건은, 보용의 운동에 의해 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분을 상반력 모멘트 오차에 따라 수정하여 이루어지는 상반력 모멘트 수평성분이, 목표 ZMP 주위의 상반력 모멘트 수평성분의 본래의 목표값인 목표 상반력 모멘트 수평성분(=0)에 일치 혹은 거의 일치하고, 또, 보용의 운동에 의해 단순화 모델상에서 발생하는 병진 상반력 수평성분을 상기 병진 상반력 오차에 따라 수정하여 이루어지는 병진 상반력 수평성분이 상반력 수평성분 허용범위를 만족한다고 하는 조건이다. 보충하면, 본 명세서의 실시형태에서는, 목표 상반력 연직성분 궤도를 명시적으로 설정하므로, 목표 상체위치 자세의 순시값은, 목표 운동에 의해 발생하는 관성력과 중력의 합력의 병진력 연직성분(환언하면, 로봇(1)의 전체중심의 연직방향의 병진 운 동에 수반되는 관성력과 중력의 합력)이 목표 상반력 연직성분과 균형을 이룬다는 동역학적 조건도 만족하도록 결정된다.
단순화 모델 보용생성부(100c)의 연산 처리에 의해, 목표 상체위치 자세를 포함하는 목표 보용(임시 목표 보용)의 순시값이 차례차례 결정되어 가게 된다. 이후, 단순화 모델 보용생성부(100c)에서 구해진 목표 상체위치 자세를 구성요소로 하는 목표 보용을 단순화 모델 보용이라고 한다.
단순화 모델 보용생성부(100c)에서 구해진 목표 상체위치 자세를 포함하는 단순화 모델 보용은 풀 모델 보정부(100d)에 입력된다. 이 풀 모델 보정부(100d)는, 단순화 모델 보용의 목표 상체위치 자세를, 동역학적 정밀도가 높은 동역학 모델로서의 풀 모델을 사용해서 보정하여 이루어지는 보정 목표 상체위치 자세를 산출함과 동시에, 목표 ZMP 주위의 상반력 모멘트 수평성분의 목표값인 보정 목표 상반력 모멘트를 산출한다.
풀 모델 보정부(100d)는, 보다 일반적으로는, 다음 D1~D3의 조건을 만족하도록, E1 혹은 E2의 처리를 실행한다. 즉, 풀 모델 보정부(100d)는,
D1) 단순화 모델을 사용하여 생성한 보용(단순화 모델 보용)을 변위차원 보정용 모델을 사용해서 수정하여 이루어지는 보용(이후, 변위차원 보정 보용이라고 부름)보다도 높은 정밀도로 동역학적 평형조건을 만족한다.
D2) 진 ZMP(목표 ZMP의 주위에 보정 목표 상반력 모멘트를 발생시킴으로써 수정된 본래의 정의를 만족하는 ZMP)는 ZMP 허용범위(안정여유를 충분히 유지할 수 있는 허용범위)에 존재한다.
D3) 상반력 수평성분은 상반력 수평성분 허용범위 내로 된다.
라고 하는 조건을 만족하도록,
E1) 단순화 모델 보용의 상체위치 자세를 보정한다.
또는
E2) 단순화 모델 보용의 상체위치 자세를 보정함과 동시에, 목표 ZMP 주위의 보정 목표 상반력 모멘트를 출력한다(목표 상반력을 보정함).
본 명세서의 실시형태에서는, D1~D3의 조건을 만족하도록, E2의 처리가 실행된다. 또한, 본 명세서의 실시형태에서의 풀 모델 보정부(100d)의 처리는, 예를 들면 본원 출원인이 앞서 제안한 PCT 국제공개공보 WO/03/057427/A1에서 상세하게 설명되어 있는 것(구체적으로는, 동 공보의 도 13의 S038의 처리)와 동일하다. 따라서, 본 명세서에서의 풀 모델 보정부(100d)의 처리의 상세한 설명은 생략한다.
또, 본 명세서의 실시형태에서는, 풀 모델 보정부(100d)에 의한 보정을 행하지만, 그 보정을 생략하고, 단순화 모델 보용의 순시값을 그대로 보용생성장치(100)로부터 출력하도록 해도 된다.
보충하면, 본 명세서의 실시형태에서는, 보용 패러미터 결정부(100a), 목표 순시값 발생부(100b) 및 단순화 모델 보용생성부(100c)가 본 발명의 중핵에 관계되는 처리를 실행하는 것으로 되어 있다.
도 4로 되돌아와, 전술한 바와 같이 결정되는 보정 목표 상체위치 자세, 목표 ZMP 주위의 보정 목표 상반력 모멘트, 목표 족평위치 자세의 순시값을 포함하는 목표 보용의 순시값은, 복합 컴플라이언스 제어장치(101)(도 4에서 파선으로 둘러 싼 부분)에 입력된다. 이 복합 컴플라이언스 제어장치(101)에서는, 로봇(1)의 밸런스를 유지하면서, 목표 보용에 추종하도록 관절 액추에이터(전동 모터(64))가 제어된다. 또한, 복합 컴플라이언스 제어장치(101)의 보다 구체적인 처리는 후술한다.
다음에 본 발명의 실시형태를 더욱 구체적으로 설명해 간다. 본 실시형태에서는, 보용생성장치(100)는, 상기 제어 유닛(60)의 제어 처리주기 마다, 이하에 상세히 설명하는 제 1 동역학 모델로서의 단순화 모델과 제 2 동역학 모델로서의 세미 풀 모델을 사용하여, 목표 보용의 순시값을 결정한다.
여기에서, 본 실시형태에서 보용생성에 사용되는 상체운동 모드와 동역학 모델에 대해 설명한다.
주행 등, 공중기가 있는 보용이나, 저마찰 바닥면에서의 보행에서는, 단지 상체 수평가속도를 조정하는 것만으로는 목표 보용의 상반력 수평성분이 허용범위 내(또는 마찰한계 내)에 존재하면서 동역학적 평형조건을 만족할 수 없는 경우가 있다. 그래서, 본 실시형태에서는, 이하에 설명하는 상체(3)의 2개의 운동 모드(상체 병진모드 및 상체 회전모드)를 복합적으로 발생시킴으로써, 목표 보용의 상반력 수평성분이 허용범위 내(혹은 마찰한계 내)에 존재하면서 동역학적 평형조건을 만족하도록 하고 있다.
도 6(a)와 같이, 어떤 운동상태로부터, 상체 수평가속도만을 섭동시키면, 전체중심 수평가속도와 전체중심 주위의 각운동량이 섭동한다. 즉, 상체 수평가속도의 섭동은, (그것에 의해 발생하는 관성력과 중력의 합력에 대해 동역학적으로 균 형을 이루는) 상반력 연직성분을 섭동시키지 않고, 목표 ZMP 주위의 상반력 모멘트(단 연직축 주위 성분을 제외함)와 상반력 수평성분(엄밀하게는, 병진 상반력 수평성분)을 섭동시킨다. 이 운동 모드를 상체 병진모드라고 부른다.
바꿔 말하면, 상반력 연직성분을 변화시키지 않고, 목표 ZMP 주위의 상반력 모멘트의 수평성분과 상반력 수평성분(병진 상반력 수평성분)을 변화시키는 운동을 상체 병진모드라고 부른다.
이때의 단위가속도당의 상반력 모멘트 성분의 변화를 △Mp, 단위가속도당의 상반력 수평성분의 변화를 △Fp로 한다. 도 6(a)에 도시하는 상황에서 상체(3)를 전방으로 수평가속하면, △Mp와 △Fp는 도 6(a)에 도시하는 화살표의 방향으로 작용한다.
감각적으로 알기 쉽게 하기 위해서, 운동에 의해 발생하는 관성력과 중력의 합력과 균형을 이루는 상반력을 사용하여 표현했지만, 관성력과 중력의 합력을 사용해서 표현하는 편이, 이론적으로는 정확하다. 또한, 상기 합력과 상반력은 서로 크기가 같고 방향이 반대로 되어 있다.
한편, 도 6(b)와 같이, 어떤 운동상태로부터, 어떤 점(Pr) 주위에 상체자세 각가속도를 섭동시키면, 전체중심은 섭동하지 않고, 전체중심 주위의 각운동량이 섭동한다. 즉, 점(Pr) 주위의 상체자세 각가속도 섭동은 상반력 연직성분과 상반력 수평성분(엄밀하게는, 병진 상반력 연직성분과 병진 상반력 수평성분)을 섭동시키지 않고, 목표 ZMP 주위의 상반력 모멘트의 수평성분을 섭동시킨다. 이 운동모드를 상체 회전모드라고 부른다.
바꿔 말하면, 상반력 연직성분과 상반력 수평성분을 변화시키지 않고, 목표 ZMP 주위의 상반력 모멘트의 수평성분을 변화시키는 운동을 상체 회전모드라고 부른다.
이때의 단위 각가속도당의 상반력 모멘트 성분의 변화를 △Mr, 단위 각가속도당의 상반력의 수평성분의 변화를 △Fr이라고 한다. △Fr는 0이다. 도 6(b)에 도시하는 상황에서 상체가 전방으로 기울도록 각가속도를 주면, △Mr은 도 6(b)에 도시하는 화살표 방향으로 작용한다.
상체(3)의 운동에는, 상체 병진모드와 상체 회전모드 이외에, 상체 연직이동 모드가 있다. 이것은 상체(3)를 연직방향으로 이동시키는 운동이다.
본 실시형태에서는, 상기 단순화 모델 보용생성부(100c)에서 단순화 모델이 사용됨과 동시에, 보용 패러미터 결정부(100a) 및 목표 순시값 발생부(100b)의 처리에서, 단순화 모델과, 세미 풀 모델이 사용된다. 이하에 이들 동역학 모델을 설명한다.
도 7에, 단순화 모델의 구조예를 도시한다. 도시된 바와 같이, 이 단순화 모델은 로봇(1)의 각 다리체(2)에 각각 대응하는 2개의 질점(족평 질점)(2m, 2m), 및 상체(3)에 대응하는 질점(상체 질점)(24m)으로 이루어지는 합계 3질점과, 이너셔가 있고 질량이 없는 플라이휠(FH)로 구성되는 모델이다. 이 단순화 모델은, 본원 출원인이 예를 들면 앞서 제안한 PCT 국제공개공보 WO/03/057427/A1에 예시한 동역학 모델이다. 따라서, 본 명세서에서의 상세한 설명은 생략하지만, 단순화 모델의 동역학은, 다음과 같이 변수를 정의했을 때, 식 1a~1c에 의해 표시된다. 또 한, 여기에서는, 본 명세서의 이해를 쉽게 하기 위해서, 사지탈 플레인(전후축(X축)과 연직축(Z축)을 포함하는 평면)에서의 운동방정식(동역학방정식)만을 기술하고, 래터럴 플레인(좌우축(Y축)과 연직축(Z축)을 포함하는 평면)에서의 운동방정식을 생략한다.
Zsup: 지지다리 질점 연직위치, Zswg: 미착지 다리 질점 연직위치, Zb:상체 질점 연직위치, ZGtotal: 전체중심 연직위치, Xsup: 지지다리 질점 수평위치, Xswg: 미착지 다리 질점 수평위치, Xb: 상체 질점 수평위치, XGtotal: 전체중심 수평위치, θby: 연직방향에 대한 Y축 주위의 상체자세각(경사각), mb: 상체 질점 질량, msup: 지지다리 질점 질량, mswg: 미착지 다리 질점 질량, mtotal: 로봇 총 질량(=mb+msup+mswg), J: 상체 관성 모멘트(상체 회전모드에 있어서의 등가 관성 모멘트), Fx: 상반력 수평성분(상세하게는 병진 상반력의 전후 방향(X축) 성분), Fz: 상반력 연직성분(상세하게는 병진 상반력의 연직방향(Z축)성분), My: 목표 ZMP 주위의 상반력 모멘트(상세하게는 상반력 모멘트의 좌우축(Y축) 주위 성분), g: 중력가속도. 또한, 임의의 변수 X에 대해 d2X/dt2은, X의 2차미분값을 의미하는 것으로 한다.
Fz=mb*(g+d2Zb/dt2)+msup*(g+d2Zsup/dt2)
+mswg*(g+d2Zswg/dt2) ……식 1a
Fx=mb*d2Xb/dt2+msup*d2Xsup/dt2+mswg*d2Xswg/dt2 ……식 1b
My=-mb*(Xb-Xzmp)+(g+d2Zb/dt2)+mb*(Zb-Zzmp)*d2Xb/dt2
-msup*(Xsup-Xzmp)*(g+(d2Zsup/dt2)
+msup*(Zsup-Zzmp)*d2Xsup/dt2
-mswg*(Xswg-Xzmp)*(g+d2Zswg/dt2)
+mswg*(Zswg-Zzmp)*(d2Xswg/dt2)+J*d2θby/dt2 ……식 1c
또한, 로봇 전체중심위치에는 다음 관계식이 성립한다.
ZGtotal=(mb*Zb+msup*Zsup+mswg*Zswg)/mtotal …식 1d
XGtotal=(mb*Xb+msup*Xsup+mswg*Xswg)/mtotal …식 1e
이 단순화 모델에서는, 다리체(2, 2)의 동역학(각 질점(2m, 2m)의 동역학)과 상체(3)의 동역학(질점(24m) 및 플라이휠(FH)의 동역학)이 서로 비간섭으로 구성됨과 동시에, 로봇(1) 전체의 동역학은 그것들의 선형결합으로 표시된다. 또, 더욱, 상체(3)의 운동과 상반력과의 관계는, 상체(3)의 병진 운동(상체 병진모드)과 상반력과의 관계, 및 상체(3)의 회전 운동(상체 회전모드)과 상반력과의 관계로 분리된다. 구체적으로는, 상체 질점(24m)의 수평운동에 의해 발생하는 상반력은, 상체(3)의 수평방향 병진 운동(상체 병진모드)에 의해 발생하는 상반력에 대응하고, 플라이휠의 회전 운동에 의해 발생하는 상반력은, 상체(3)의 회전 운동(상체 회전모드), 즉 상체(3)의 자세변화운동에 의해 발생하는 상반력에 대응한다.
또한, 로봇(1)의 팔체의 질량은 상체 질점(24m)에 포함되는 것으로 하고, 상체 질점(24m)은 팔체의 질량을 포함하는 질량을 갖는다. 본 실시형태에서는, 목표 보용에서의 팔체의 운동(팔흔들기 운동)은, 후술하는 바와 같이, 로봇(1)의 팔흔들기 이외의 운동에 의해 로봇(1)에 발생하는 연직축 주위의 관성력의 모멘트를 없애면서도, 상체(3)에 대한 양팔체의 전체의 중심의 상대위치가 움직이지 않도록 행해 지므로, 팔체의 팔흔들기 운동에 의한(연직축 주위 성분을 제외함) 상반력 모멘트에의 영향과 상반력 수평성분에의 영향은 무시한다.
도 8에 세미 풀 모델의 구조를 예시한다. 동 도면에 도시하는 바와 같이, 세미 풀 모델은, 상체(3), 각 족평(22), 각 다리체(2)의 무릎관절의 근방부분(대퇴 링크의 무릎관절 근처의 부분)에 각각 대응하는 질점을 가짐과 동시에, 상체(3)에 상체 질점의 주위에 이너셔(관성 모멘트)(Ib)를 갖는 모델이다. 이 세미 풀 모델에서는, 동역학적 방정식은 생략하지만, 로봇(1)의 운동과 상반력과의 관계는, 상기 단순화 모델과 동일하게, 각 질점의 병진 운동 및 상체(3)의 자세변화 운동과, 상반력(병진 상반력 및 목표 ZMP 주위의 상반력 모멘트)과의 관계로서 기술된다. 이 세미 풀 모델은 상기 단순화 모델보다도 동역학적 정밀도가 높은 것으로 되어 있다. 여기에서, 세미 풀 모델의 동역학적 정밀도가 단순화 모델보다도 높다고 하는 것은, 보다 상세하게는, 로봇(1)의 임의의 목표 운동에 의해 세미 풀 모델상에서 발생하는 상반력이 이 목표 운동에 의해 단순화 모델상에서 발생하는 상반력보다도, 당해 목표 운동을 상정되어 있는 바닥면상에서 실제의 로봇(1)이 행했을 때에 이 로봇(1)에 실제로 작용하는 실상반력에 보다 일치하는 것으로 되어 있다.
또한, 상기 풀 모델 보정부(100d)에서 사용하는 풀 모델은, 예를 들면 도 9에 도시하는 바와 같이, 로봇(1)의 각 링크에 질점을 갖는 다질점 모델이다. 이 경우, 로봇(1)의 각 링크는, 그것에 대응하는 질점 주위에 이너셔를 갖는 것이어도 된다.
보충하면, 상기 세미 풀 모델은 풀 모델과 동일한 구조의 것이어도 된다.
다음에 본 실시형태에 관해서, 보용생성장치(100)의 처리의 상세를 보다 구체적으로 설명한다.
본 실시형태에서의 보용생성장치(100)는 로봇(1)의 한쪽 다리체(2)가 착지하고나서 다른쪽의 다리체(2)가 착지할 때까지의 1보분의 목표 보용(상기 협의의 목표 보용)을 단위로 하여, 그 1보분의 목표 보용을 순서대로 생성한다. 여기에서, 새롭게 생성하려고 하고 있는 목표 보용을 「금회 보용」, 그 다음 목표 보용을 「다음회 보용」, 또 그 다음 목표 보용을 「다음다음회 보용」 등과 같이 부른다. 또, 「금회 보용」의 하나 전에 생성한 목표 보용을 「전회 보용」이라고 부른다.
또, 보용생성장치(100)가 금회 보용을 새롭게 생성할 때, 이 보용생성장치(100)에는, 로봇(1)의 2보 앞까지의 미착지 다리측 족평(22)의 착지 예정위치 자세, 착지 예정시각의 요구값(요구)이 보용에 대한 요구 패러미터로서 입력된다(또는 보용생성장치(100)가 기억 장치로부터 요구 패러미터를 읽어들임). 그리고, 보용생성장치(100)는 이들 요구 패러미터를 기초로, 보정 목표 상체위치 자세 궤도, 목표 족평위치 자세 궤도, 목표 ZMP 궤도, 목표 상반력 연직성분 궤도, 목표 팔자세 궤도, 보정 목표 상반력 모멘트 궤도 등을 생성한다.
이하에 보용생성장치(100)의 보용생성 처리의 상세를 도 10~도 21을 참조하면서 설명한다. 도 10은 그 보용생성장치(100)가 실행하는 보용생성 처리의 메인루틴을 도시하는 플로우차트(구조화 플로우차트)이다. 또한, 이 메인루틴 처리의 수순 자체는, 그 일부의 서브루틴 처리를 제외하고, 예를 들면 본원 출원인에 의한 상기 PCT 국제공개공보 WO/03/057427/A1(이하, 공보문헌 1이라고 함)과 같다.
우선 S010에서 시각(t)을 0으로 초기화 하는 등 여러 초기화 작업이 행해진다. 이 처리는, 보용생성장치(100)의 기동시 등에 행해진다. 이어서, S012를 거쳐 S014로 진행되고, 보용생성장치(100)는 제어주기(도 10의 플로우차트의 연산 처리주기) 마다 타이머 인터럽션을 기다린다. 제어주기는 △t이다.
이어서, S016로 진행되고, 보용의 전환차례인지의 여부가 판단되고, 보용의 전환차례일 때는 S018로 진행됨과 동시에, 전환차례가 아닐 때는 S030으로 진행된다. 여기에서, 상기 「보용의 전환차례」는, 전회 보용의 생성이 완료되고, 금회 보용의 생성을 시작하는 타이밍을 의미하고, 예를 들면 전회 보용의 생성을 완료한 제어주기의 다음 제어주기가 보용의 전환차례가 된다.
S018로 진행될 때는 시각(t)이 0으로 초기화 되고, 이어서 S020으로 진행되고, 다음회 보용 지지다리 좌표계, 다음다음회 보용 지지다리 좌표계, 금회 보용주기 및 다음회 보용주기가 읽어들여진다. 이들 지지다리 좌표계 및 보용주기는 상기 요구 패러미터에 의해 정해지는 것이다. 즉, 본 실시형태에서는, 보용생성장치(100)에 조이스틱(44) 등으로부터 주어지는 요구 패러미터는, 2보처까지의 미착지 다리측 족평(22)의 착지 예정위치 자세(족평(22)이 착지하고나서 발밑바닥을 바닥면에 거의 전면적으로 접촉시키도록, 미끄러뜨리지 않고 회전시킨 상태에서의 족평위치 자세), 착지 예정시각의 요구값을 포함하고 있고, 그 1보째의 요구값, 2보째의 요구값이 각각, 금회 보용, 다음회 보용에 대응하는 것으로서, 금회 보용의 생성 개시시(상기 S016의 보용의 전환차례) 이전에 보용생성장치(100)에 주어진 것이다. 또한, 이들 요구값은 금회 보용의 생성도중에도 변경하는 것은 가능하다.
그리고, 상기 요구 패러미터에서의 1보째의 미착지 다리측 족평(22)(금회 보용에서의 미착지 다리측 족평(22))의 착지 예정위치 자세의 요구값에 대응하여 다음회 보용 지지다리 좌표계가 정해진다. 또, 2보째의 미착지 다리측 족평(22)의 착지 예정위치 자세의 요구값에 따라 다음다음회 보용 지지다리 좌표계가 정해진다. 또, 금회 보용주기는, 금회 보용의 지지다리측 족평(22)의 착지 예정시각(요구값)으로부터, 1보째(금회 보용)의 미착지 다리측 족평(22)의 착지 예정시각(요구값)까지의 시간으로서 정해지고, 다음회 보용주기는, 1보째의 미착지 다리측 족평(22)의 착지 예정시각(요구값)으로부터 2보째의 미착지 다리측 족평(22)의 착지 예정시각(요구값)까지의 시간으로서 정해진다.
이 S020의 처리는 상기 공보문헌 1의 도 13의 S020의 처리와 동일하고, 본 명세서에서의 설명은 이상으로 그친다.
이어서 S022로 진행되고, 보용생성장치(100)는, 금회 보용에 이어지는 가상적인 주기적 보용으로서의 정상 보용의 보용 패러미터(정상 보용 패러미터)를 결정한다. 여기에서 결정하는 보용 패러미터로서는, 정상 보용에서의 목표 족평위치 자세 궤도를 규정하는 족평 궤도 패러미터, 기준으로 하는 상체자세 궤도를 규정하는 기준 상체자세 궤도 패러미터, 목표 팔자세 궤도를 규정하는 팔 궤도 패러미터, 목표 ZMP 궤도를 규정하는 ZMP 궤도 패러미터, 목표 상반력 연직성분 궤도를 규정하는 상반력 연직성분 궤도 패러미터와, 목표 상반력 수평성분 허용범위를 규정하는 패러미터가 있다.
본 명세서에서 「정상 보용」은, 그 보용을 반복했을 때에 보용의 경계에 있 어서 로봇(1)의 운동상태(족평위치 자세, 상체위치 자세 등의 상태)에 불연속이 발생하지 않는 주기적 보용을 의미하는 것으로서 사용한다. 「정상 보용」은 로봇(1)을 직진시키는 주기적 보용을 포함하는 것은 물론, 로봇(1)을 선회시키는 주기적 보용도 포함한다. 이 경우, 선회율을 0으로 할 때는 직진을 의미하므로, 「선회」에는, 광의의 의미에서 직진도 포함된다. 이 때문에, 본 명세서의 실시형태에서는, 「정상 보용」을 종종 「정상 선회보용」이라고 하기도 한다.
정상 선회보용의 상세한 것은, 상기 공보문헌 1이나 일본 특원 PCT 국제공개공보 WO/02/040224/A1 등에 설명되어 있으므로, 본 명세서에서의 상세한 설명은 생략하지만, 그 개요는 다음과 같다.
주기적 보용인 정상 선회보용은, 본 실시형태에서는, 로봇(1)의 2보분의 보용, 즉 금회 보용에 이어지는 제 1 선회보용과 이 제 1 선회보용에 이어지는 제 2 선회보용으로 이루어지는 보용을 이 정상 선회보용의 1주기분의 보용으로 하여, 그 1주기분의 보용을 반복하는 보용이다. 또, 생성하는 금회 보용이 예를 들면 로봇(1)의 주행을 행하는 주행보용(외다리 지지기와 공중기를 갖는 보용)일 때에는, 정상 선회보용의 제 1 선회보용 및 제 2 선회보용도 주행보용이고, 로봇(1)의 보행을 행하는 보행보용(외다리 지지기와 양다리 지지기를 갖는 보용)일 때에는, 정상 선회보용의 제 1 선회보용 및 제 2 선회보용도 보행보용이다. 즉, 제 1 선회보용 및 제 2 선회보용의 기본적인 보용형태는 금회 보용과 동일하다.
또한, 이후의 설명에서는, 특별히 예고하지 않는 한, 생성하는 보용으로서 주행보용을 예로 들어서 설명한다.
정상 선회보용은 보용생성장치(100)에서 금회 보용의 종단에 있어서의 발산성분이나 상체 연직위치 속도, 상체자세각 및 그 각속도 등의 로봇(1)의 운동상태를 결정하기 위해서 잠정적으로 작성되는 것이며, 보용생성장치(100)로부터 그대로 출력되는 것은 아니다.
또한, 「발산」이란, 로봇(1)의 상체(3)의 위치가 양 족평(22, 22)의 위치로부터 멀리 떨어진 위치에 벗어나버리는 것을 의미한다. 발산성분의 값이란, 로봇(1)의 상체(3)의 위치가 양족평(22, 22)의 위치(보다 구체적으로는, 지지다리측 족평(22)의 접지면에 설정된 글로벌 좌표계(지지다리 좌표계)의 원점)로부터 멀리 떨어져 가는 상태를 의미하는 수치이다. 예를 들면 본 명세서의 실시형태에서는, 발산성분은 상기한 각 동역학 모델에 대해, 다음식에 의해 구해진다.
발산성분=상체 질점 수평위치+상체 질점 수평속도/ω0 …식 2
이 식 2의 ω0은 소정의 값이다. 또한, 본 실시형태에서는, 보용에서의 발산성분은 식 2의 상체 질점 수평위치, 상체 질점 수평속도 대신에, 각각 상체 수평위치, 상체 수평속도를 사용해서 구해진다.
본 명세서의 실시형태에서는, 목표 보용이 상기 발산을 발생하지 않고, 계속적으로 생성되도록, 발산성분을 지표로 하여 보용(금회 보용)을 생성하도록 했다. 즉, 이제부터 생성하려고 하는 금회 보용의 뒤에 이어지는 정상 보용(보다 정확하게는 정상 보용 패러미터)가 상기 금회 보용에 관계되는 요구 패러미터 등에 따라 설정되고, 정상 보용의 초기 발산성분을 구하고 나서, 금회 보용의 종단 발산성분을 정상 보용의 초기 발산성분에 일치시키도록(보다 일반적으로는, 금회 보용을 정 상 보용에 연속시키거나, 혹은 근접시키도록) 금회 보용을 생성한다.
본제에 되돌아와, S022에서는, 도 11에 도시하는 서브루틴 처리의 플로우차트에 따라, 정상 보용의 보용 패러미터(정상 보용을 규정하는 패러미터)가 결정된다. 즉, 정상 보용에 관계되는 상기 족평 궤도 패러미터, 기준 상체자세 궤도 패러미터, 팔 궤도 패러미터, ZMP 궤도 패러미터, 상반력 연직성분 궤도 패러미터, 목표 상반력 수평성분 허용범위를 규정하는 패러미터가 각각 S100~S110의 처리에서 결정된다. 그리고, S112에서, 정상 보용의 초기시각(Ts)과, 1보의 기간(정상 보용의 1주기의 시간)(Tcyc)이 재정의된다. 이들 처리는, 상기 공보문헌 1의 도 15의 플로우차트의 처리와 동일하므로, 여기에서의 상세한 설명은 생략하지만, S100 ~S110에서 결정되는 정상 보용의 패러미터는, 그 각각의 패러미터에 의해 규정되는 궤도가 정상 보용의 주기성을 충족시키면서, 상기한 요구 패러미터 등에 의해 표시되는 보용에 관한 요구를 만족하도록 결정되는 패러미터이다. 예를 들면, 상기 공보문헌 1의 도 15의 플로우차트에 관해서 설명되어 있는 바와 같이, 정상 보용의 족평 궤도 패러미터는, 금회 보용으로 이어지는 제 1 선회보용의 미착지 다리 족평(22)의 착지 예정위치 자세(상기 다음회 보용 지지다리 좌표계에서 본 착지 예정위치 자세)가 상기한 2보째의 착지 예정위치 자세(요구값)에 합치하고, 또한, 이 제 2 선회보용의 미착지 다리 족평(22)의 착지 예정위치 자세(상기 다음다음회 보용 지지다리 좌표계에서 본 착지 예정위치 자세)가, 금회 보용의 미착지 다리 족평(22)의 착지 예정위치 자세(요구값)에 합치하도록 결정된다. 또한, ZMP 궤도 패러미터는, 족평 궤도 패러미터를 기초로, 목표 ZMP가 지지다리 족평(22)의 접지면 의 거의 중앙부근에 위치하고, 또한, 정상 보용의 전체기간에 걸쳐 연속적으로 변화되도록 결정된다.
또한 도 13의 S112에서 재정의하는 정상 보용의 초기시각(Ts)은 정상 보용의 1주기분의 보용을 후술하는 바와 같이 작성할 때의 시점의 시각(이것은 본 실시형태에서는 금회 보용의 종단의 시각과는 상위함)을 의미하고, 제 1 선회보용의 공중기(목표 상반력 연직성분이 0이 되는 시기)의 개시 직전의 시각이다. 또, 정상 보용의 1보의 기간(Tcyc)은 정상 보용의 제 1 선회보용과 제 2 선회보용과의 합계 시간의 기간이다. 정상 보용은, 그 주기성에 의해, 임의의 시각(Tx)에서의 상태(로봇(1)의 각 부위의 위치 자세나 그 변화속도의 상태)는 시각 Tx+Tcyc에서의 상태와 동일하게 되는 보용이다. 정상 보용은 2보분의 보용을 1주기로 하는 주기적인 보용이므로, 본 명세서에서는, 그 1주기의 기간(제 1 선회보용과 제 2 선회보용)과의 합계 시간을 정상 보용의 1보의 기간으로 간주한다.
보충하면, S100~S110의 처리에서 결정되는 정상 보용의 패러미터는 정상 보용을 규정하는 모든 패러미터가 아니다. 본 실시형태에서는, 정상 보용을 규정하는 보용 패러미터(정상 보용 패러미터)는, S022에서 결정하는 패러미터 이외에, 정상 보용의 1주기의 기간의 선단(이 기간의 개시 시각) 또는 종단(이 기간의 종료 시각)에서의 상체(3)의 위치 및 속도, 및 상체(3)의 자세각 및 그 각속도와, 후술의 상체 경사 복원 모멘트 ZMP 환산값의 피크값이 포함된다. 이들 패러미터 중, 상체(3)의 수평위치 및 수평속도, 상체(3)의 자세각의 각속도, 상체 경사 복원 모멘트 ZMP 환산값의 피크값은 후술의 S024의 처리에서 탐색적으로 결정된다. 정상 보용 패러미터는, 그것을 구성하는 각 패러미터의 값과, 상기한 단순화 모델을 사용하여 정상 보용을 일의적으로 생성할 수 있는 보용 패러미터이다.
이어서, S024로 진행되고, 정상 보용의 초기 상태가 산출된다. 여기에서 산출되는 초기 상태는, 정상 보용의 초기 상체 수평위치 속도(수평방향에서의 초기 상체위치 및 초기 상체속도), 초기 상체 연직위치 속도(연직방향에서의 초기 상체위치 및 초기 상체속도), 초기 발산성분, 초기 상체자세각 및 그 각속도이다. 이 초기 상태의 산출은, 도 12의 서브루틴 처리의 플로우차트에 따라, 상기 단순화 모델 및 세미 풀 모델을 사용하여 행해진다.
도 12의 처리를 개략적으로 설명하면, 시각(Ts)(정상 보용의 초기시각)에서의 로봇(1)의 초기 상체 수평위치, 초기 상체 수평속도, 초기 상체자세 각속도, 상체 경사 복원 모멘트 ZMP 환산값 피크값을 탐색 대상으로 하여, 이들 탐색 대상을 포함하는 정상 보용의 초기 상태를 임시 결정 하고, 이 초기 상태로부터, 동역학 모델(단순화 모델 및 세미 풀 모델)을 사용하여 정상 보용의 종단(시각(Ts+Tcyc))까지의 보용을 생성한다. 그리고, 그 생성한 정상 보용이 경계조건(초기와 종단에서의 상태(본 실시형태에서는 상체 수평위치, 상체 수평속도, 상체자세각, 상체자세 각속도)이 거의 일치하는 것)을 만족하고 있는지 아닌지를 판단하고, 만족하고 있지 않는 경우에는, 탐색 대상의 값을 변경한다. 이것을 반복함으로써, 최종적으로 정상 보용의 경계조건을 만족할 수 있는 초기 상태가 결정된다.
보충하면, 도 12의 처리의 기본적인 개념은 상기 공보문헌 1의 도 20의 처리와 동일하다. 단, 본 명세서의 실시형태에서는, 상기 탐색 대상으로서, 상체자세 각속도와 상체 경사 복원 모멘트 ZMP 환산값의 피크값이 포함되고, 이 점은 상기 공보문헌 1의 도 20의 처리와 상위하고 있다. 또, S208의 처리의 세부 처리(서브루틴 처리)의 일부도 상기 공보문헌 1의 것과 상위하다.
또한, 도 12의 플로우차트의 처리중에서 구하는 상체 경사 복원 모멘트 ZMP 환산값 피크값(ZMPrecpeak)은 로봇(1)의 외다리 지지기(보다 상세하게는, 외다리 지지기의 개시 직후부터 종료 직전까지의 시기. 이하, 상체 경사각 복원기간이라고 하는 경우도 있음)에서 상체자세를 기준 상체자세에 근접시키기 위해서 필요한 상반력 모멘트의 ZMP 환산값(ZMPrec)(기준이 되는 목표 ZMP(S022에서 결정한 ZMP 궤도 패러미터에 의해 규정되는 목표 ZMP)로부터의 벗어남량)의 피크값을 나타내는 것이며, 그 예를 도시한 것이 도 19이다. ZMPrec가 동 도면에 도시하는 바와 같이 사다리꼴 형상의 패턴이 되고, 그 피크값(사다리꼴의 높이)이 ZMPrecpeak이다.
이하에 도 12의 처리를 구체적으로 설명하면 우선, S200에서, 정상 보용 패러미터(S022에서 결정된 패러미터)를 기초로 족평위치 자세, 상체자세각(θbs) 및 팔자세의 초기 상태(정상 선회보용의 초기시각(Ts)에서의 상태)가 결정된다. 또한, 이들 초기 상태는 제 1 선회보용의 지지다리 좌표계(상기 다음회 보용 지지다리 좌표계)에서 본 상태이다. 이 처리에서는, 족평위치 자세의 초기 상태는, 상기 S022에서 결정한 족평 궤도 패러미터를 기초로 유한시간 정정 필터를 사용하여 산출되는 족평위치 자세 궤도 중 시각(Ts)에서의 각 족평(22)의 위치 자세에 결정된다. 이 유한시간 정정 필터는 상기 공보문헌 1 등에서 설명되어 있으므로, 여기에서의 설명은 생략한다. 또, 상체자세각(θbs)의 초기 상태는, S022에서 결정한 기 준 상체자세 궤도 패러미터로부터 정해지는 시각(Ts)에서의 기준 상체자세각과 동일하게 결정되고, 팔자세의 초기 상태는 S022에서 결정한 팔자세 궤도 패러미터에 의해 정해지는 시각(Ts)에서의 상태와 동일하게 결정된다.
이어서, S202에서, 상기 단순화 모델상에서의 초기(시각(Ts)) 상체 수평위치, 초기 상체 수평속도, 초기 상체자세 각속도, 및 상체 경사 복원 모멘트 ZMP 환산값의 피크값을 탐색 대상으로 하고, 이들 탐색 대상의 후보(Xs, Vx, ωbs, ZMPrecpeak)가 결정된다(탐색 대상의 후보값의 초기값이 결정됨). 이 경우, 그 임시 결정의 후보값은 기본적으로는 임의이어도 되지만, 예를 들면 전회 보용의 생성시에 구한 정상 보용의 초기 상태를 기초로 결정해도 된다. 또한, 이들 임시 결정되는 값은 제 1 선회보용의 지지다리 좌표계(상기 다음회 보용 지지다리 좌표계)에서 본 값이다.
이어서, S206~S218의 루프 처리가 실행된다. 그 처리를 개략적으로 설명하면, 상기한 바와 같이 임시 결정한 탐색 대상을 포함하는 정상 보용 패러미터와 단순화 모델을 사용하여 정상 보용의 초기(시각(Ts))로부터 종단(시각(Ts+Tcyc))까지의 보용을 생성한다. 그리고, 그 생성한 정상 보용이 경계조건(초기와 종단에서의 상태(본 실시형태에서는 상체 수평위치, 상체 수평속도, 상체자세각, 상체자세 각속도)가 거의 일치하는 것)을 충족하고 있는지 아닌지를 판단하고, 만족하고 있지 않는 경우에는, 탐색 대상의 값을 변경한다. 이것을 반복함으로써 최종적으로 단순화 모델상에서 정상 보용의 경계조건을 만족할 수 있는 이 정상 보용의 초기 상태가 결정된다.
S206~S218의 처리를 보다 구체적으로 설명하면, S206에서, 단순화 모델상에서의 정상 보용의 초기(시각(Ts))의 상체 연직위치 및 상체 연직속도(Zs, Vzs)가 결정된다. 이 경우, 단순화 모델상에서의 로봇(1)의 전체중심의 연직방향의 관성력과 중력과의 합력이 목표 상반력 연직성분과 균형을 이루고, 또한, 전체중심의 연직위치가 정상 보용의 경계조건을 만족하도록 결정된다. 이 처리는, 상기 공보문헌 1의 도 20의 S206의 처리와 동일하게 행해진다. 또한, (Zs, Vzs)는, 상기한 바와 같이 결정 혹은 임시 결정된 Xs1, Vxs1, θbs1, ωs1의 값(후보값)에 의존한다.
이어서, S208에서, 현재의 탐색 대상의 후보값과, 상체(3)의 연직위치 및 연직속도와, ZMPrecpeak를 포함하는 정상 보용 패러미터를 기초로, 단순화 모델을 사용하여 보용(임시의 정상 보용)이 시각(Ts+Tcyc)(정상 보용의 종단)까지 생성된다. 이 처리에 대해서는 후술한다.
이어서, S210에서, S208에서 생성한 보용의 종단의 상체 수평위치, 상체 수평속도, 상체자세각 및 그 각속도를, 이 보용의 다음 1보의 지지다리 좌표계(S208에서 생성한 정상 보용의 제 2 선회보용으로 이어지는 제 1 선회보용의 지지다리 좌표계)에서 본 값으로 변환하고, 그 값을 (Xe, Vxe, θbe, ωbe)로 한다.
그리고, S212에서, 현재의 (Xs, Vxs, θbs, ωbs)의 값과, (Xe1, Vxe1, θbe1, ωbe1)의 값의 차를 정상 보용(S208에서 생성한 가상의 정상 보용)의 경계조건 오차(errx, errv, errθ, errω)로서 구한다. 정상 보용의 경계조건을 만족하기 위해서는, 경계조건 오차는 거의 0이 아니면 안된다. 이 경계조건 오차는, S208에서 작성한 보용의 경계조건으로부터의 벗어남 정도를 나타내는 것이다.
이어서, S214에서, errx, errv, errθ, errω가 모두 충분히 작은(0 근방의) 소정의 허용범위 내에 있는지 아닌지를 판단하고, 그 판단 결과가 YES일 경우에는, S206~S218의 루프 처리를 종료하고, S220으로 진행된다. 이 경우에는, S208에서 생성한 보용이 정상 보용의 경계조건을 만족하고 있게 되므로, 그 보용이 금회 보용을 연결시킬 적절한 정상 보용이 된다.
한편, S214의 판단 결과가 NO인 경우에는, 현재의 탐색 대상(Xs, Vx, ωbs, ZMPrecpeak)의 후보값의 부근에, Xs, Vx, ωbs, ZMPrecpeak의 각각의 값을 소정의 미소량 △Xs, △Vx, △ωbs, △ZMPrecpeak만큼 변화시킨 복수(본 실시형태에서는 4개)의 탐색 대상의 후보를 정하고, 각각의 탐색 대상의 후보를 포함하는 정상 보용 패러미터(정상 보용 패러미터의 탐색 대상을 새롭게 정한 각 후보에게 수정한 정상 보용 패러미터)를 기초로, S208~S212과 같은 처리를 실행하고, 각각의 탐색 대상의 후보에 대응하는 경계조건 오차를 구한다.
이어서, S218에서, 현재의 (Xs, Vx, ωbs, ZMPrecpeak) 및 그 부근의 탐색 대상의 후보의 각각에 대응하는 경계조건 오차를 기초로, 최급강하법이나 심플렉스법 등의 탐색 수법에 의해, 탐색 대상(Xs, Vx, ωbs, ZMPrecpeak)의 새로운 후보를 결정한다. 그리고, S206으로부터의 처리가 다시 반복된다.
S206~S218의 루프 처리를 종료한 후의 S220에서는, 이 루프 처리의 S208에서 최후에 생성된 정상 보용(정상 보용의 경계조건을 만족하는 보용)을 기초로, 본래의 초기시각(0)(금회 보용의 종단시각)에서의 정상 보용의 상체(3)의 운동상태인 초기 상체 수평위치(X0), 초기 상체 수평속도(Vx0), 초기 상체자세각(θb0) 및 그 각속도(ωb0), 및 초기 상체 연직위치(Z0), 초기 상체 연직속도(Vz0)가 구해진다. 또한, S222에서, 상기한 초기 발산성분(q)의 정의식에 따라, 정상 선회보용의 본래의 초기시각(0)에서의 발산성분인 정상 선회 초기 발산성분(q[0])이 구해진다. S222에서 구해지는 값은 금회 보용에 이어지는 정상 선회보용의 제 1 선회보용의 지지다리 좌표계에서 본 값이다. 그리고, S224에서, 정상 선회 초기 발산성분(q[0])을 금회 보용의 지지다리 좌표계에게서 본 값인 q"과, 초기(시각(0)) 상체 연직위치?속도를 금회 보용의 지지다리 좌표계로부터 본 값인 (Z0", Vz0")를 구한다.
이상과 같이 하여, 탐색 대상인 (Xs, Vx, ωbs, ZMPrecpeak)의 값이 정상 보용의 경계조건을 만족하도록 결정되고, 그 탐색 대상의 값을 사용하여 단순화 모델상에서 생성되는 정상 보용의 본래의 초기시각(시각(0))에서의 상태(상체(3)의 운동상태)인 초기 상태(초기 발산성분을 포함함)가 결정된다.
도 12의 처리 중 설명을 뒤로 미룬 S208의 처리는, 도 13의 플로우차트에서 나타내는 서브루틴 처리에 의해 실행되고, 또한, 이 도 13의 S306 및 S322의 처리는 도 14의 플로우차트에서 나타내는 서브루틴 처리에 의해 실행된다. 또한, 도 14의 S412의 처리는 도 15의 플로우차트에서 나타내는 서브루틴 처리에 의해 실행된다. 이하, 이들 처리를 설명한다.
도 13의 처리의 개요를 설명하면 우선, S300~S312의 처리에 의해, 정상 보용의 초기시각(Ts)으로부터 종단시각(Ts+Tcyc)까지의 각 시각(k)(소정의 시간폭 (△k)마다의 시각)에서, 단순화 모델상에서 목표 ZMP를 만족하고, 또한, 상반력 성분 허용범위를 만족하도록 정상 보용이 임시 작성된다. 이때, 그 임시 작성된 보용의 운동(임시 운동)에 의해 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분의 오차로서의 상반력 모멘트 오차(Merr_p(k))의 시계열과, 이 운동에 의해 단순화 모델상에서 발생하는 병진 상반력 수평성분의 오차로서의 병진 상반력 오차(Ferr_p(k))의 시계열이 구해진다. 도 13의 처리에서는, 정상 보용을 작성할 뿐만 아니라, 이것들의 오차(Merr_p(k) 및 Ferr_p(k))를 구하는 처리도 포함된다. 또, 이들 오차(Merr_p(k) 및 Ferr_p(k))는 도 13의 처리중에서 갱신되고, 최종적으로 확정된다.
여기에서, 상반력 모멘트 오차(Merr_p(k))는, 그것을 일반적으로 말하면, 정상 보용의 초기시각(Ts)부터 종단시각(Ts+Tcyc)까지의 기간(정상 보용의 1주기의 기간)에 있어서 단순화 모델(제 1 동역학 모델)을 사용하여 생성된 보용의 운동에 의해, 세미 풀 모델(제 2 동역학 모델) 상에서 목표 ZMP 등의 소정의 작용점 주위에 발생하는 상반력 모멘트와, 단순화 모델상에서 이 작용점 주위에 발생하는 상반력 모멘트와의 차, 또는, 단순화 모델상에서 소정의 작용점 주위의 상반력 모멘트의 목표값을 만족하도록 생성된 보용의 운동에 의해, 세미 풀 모델상에서 이 작용점 주위에 발생하는 상반력 모멘트와 이 작용점 주위의 상반력 모멘트의 목표값의 차의 시계열(소정의 시간폭(△k) 마다의 시계열)을 나타내는 것이다. 본 실시형태에서는, 목표 ZMP(S022에서 결정한 ZMP 궤도 패러미터에 의해 규정되는 목표 ZMP) 주위의 상반력 모멘트 수평성분에 주목하고, 단순화 모델상에서 목표 ZMP를 만족하 도록 생성된 보용의 운동에 의해, 세미 풀 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분과 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분 혹은 그 목표값(=0)과의 차(각 시각(k)에서의 상반력 모멘트 수평성분의 순시값의 차)의 시계열을 상반력 모멘트 오차(Merr_p(k))의 시계열로 한다.
또, 병진 상반력 오차(Ferr_p(k))는, 그것을 일반적으로 말하면, 정상 보용의 초기시각(Ts)부터 종단시각(Ts+Tcyc)까지의 기간(정상 보용의 1주기의 기간)에 있어서 단순화 모델(제 1 동역학 모델)을 사용하여 생성된 보용의 운동에 의해, 세미 풀 모델(제 2 동역학 모델) 상에서 발생하는 병진 상반력과, 단순화 모델상에서 발생하는 병진 상반력과의 차의 시계열(소정의 시간폭(△k) 마다의 시계열)을 나타내는 것이다. 본 실시형태에서는, 병진 상반력 수평성분을 상반력 수평성분 허용범위에 들어가도록 보용을 생성하므로, 병진 상반력 수평성분에 주목하고, 단순화 모델상에서 생성된 보용의 운동에 의해, 세미 풀 모델상에서 발생하는 병진 상반력 수평성분과 단순화 모델상에서 발생하는 병진 상반력 수평성분과의 차(각 시각(k)에서의 병진 상반력 수평성분의 순시값의 차)의 시계열을 병진 상반력 오차(Ferr_p(k))의 시계열로 한다.
이어서, S314~S328의 루프 처리에 의해, 상기 가작성한 보용의 운동을, 오차(Merr_p(k) 및 Ferr_p(k))를 사용해서 수정하여 이루어지는 보용(가상의 정상 보용)이 작성된다. 이 경우, 보용의 수정은 필요에 따라서 반복되고, 그때마다, 오차(Merr_p(k) 및 Ferr_p(k))가 갱신된다. 그리고, 최종적으로 S314~328에서 작성된 보용이 도 13의 처리에서 작성할 보용으로서 얻어진다. 또한, S300~S312의 처 리에서 가작성한 보용의 운동을 수정하지 않는 경우도 있고, 이 때에는, 그 가작성의 보용이 도 13의 처리에서 작성해야 할 보용으로서 얻어진다.
이 S314~S328의 처리에서는, 정상 보용은 그 초기부터 종단까지의 각 시각(k)에서, 그 보용(작성하는 정상 보용)의 운동에 의해 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트에 상반력 모멘트 오차(Merr_p(k))를 더한 것이, 목표 ZMP 주위의 진 상반력 모멘트인 것으로 간주하고, 그 진 상반력 모멘트가 0이 되도록(목표 ZMP의 본래의 정의를 만족하도록) 작성된다. 또, 동시에, 정상 보용은, 그 초기부터 종단까지의 각 시각(k)에서, 그 보용(작성하는 정상 보용)의 운동에 의해, 단순화 모델상에서 발생하는 병진 상반력 수평성분에 병진 상반력 오차(Ferr_p(k))를 더한 것이, 진 병진 상반력 수평성분인 것으로 간주하고, 그 진 상반력 수평성분이 상반력 수평성분 허용범위를 만족하도록 작성된다. 이때, Merr_p(k) 및 Ferr_p(k)는, 그 신뢰성을 높이는 것이 바람직함과 동시에 보용의 운동 패턴에 의해 변화되므로, 1주기분의 정상 보용의 작성이 소요의 조건을 만족할 때까지(보다 상세하게는, Merr_p(k) 및 Ferr_p(k)의 각각의 시계열 패턴이 거의 일정한 패턴에 수렴할 때까지, 혹은, 실질적으로 수렴했을 것이라고 판단될 때까지) 반복된다. 그리고, 그때마다, 정상 보용의 1주기분(2보분)의 Merr_p(k) 및 Ferr_p(k)의 시계열을 새롭게 구하여 관측함으로써 적절한 Merr_p(k) 및 Ferr_(k)의 시계열이 결정된다. 이 경우, 오차(Merr_p(k) 및 Ferr_p(k))의 기준으로 하는 상반력의 실제값으로서, 세미 풀 모델상에서 발생하는 상반력이 사용된다. 보충하면, 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트에 상반력 모멘트 오차(Merr_p(k))을 더한 것이 0이 되는 것 같이 보용을 작성한다고 하는 것은, 목표 ZMP 주위의 상반력 모멘트 수평성분의 본래의 목표값(=0)으로부터 상반력 모멘트 오차(Merr_p(k))를 빼서 이루어지는 상반력 모멘트 수평성분(=-Merr_p(k))이 단순화 모델상에서 목표 ZMP 주위에 발생하도록 보용을 작성하는 것과 등가이다.
이하에 도 13의 처리를 구체적으로 설명하면 우선, S300에서, 상체(3)의 운동의 초기 상태(시각(Ts)에서의 상태)로서, 도 12의 처리중에서 임시 결정한 값(현재 후보값)(Xs, Vxs, θbs, ωs, Zs, Vzs)이 세팅된다.
이어서, S302에서, 상반력 모멘트 오차(Merr_p(k)) 및 병진 상반력 오차(Ferr_p(k))의 시계열의 각 값이 0으로 초기화 된다. 또한, 여기에서 Merr_p(k) 및 Ferr_p(k)를 0으로 초기화 하는 것은, 후술하는 S306에서, 단순화 모델상에서 목표 ZMP를 만족하고, 또한, 상반력 수평성분 허용범위를 만족하는 보용을 작성하기 위함이다.
상기 S302의 다음에 S304를 거치고, 정상 보용의 초기시각(Ts)부터 종단시각(Ts+Tcyc)까지의 각 시각에 대하여, S306~S312의 처리가 실행된다. S306에서는, S302에서 초기화 한 오차(Merr_p(k) 및 Ferr_p(k))의 시계열을 사용하고, 단순화 모델상에서 시각(k)의 목표 ZMP(S022 중에서 결정된 ZMP 궤도 패러미터에 의해 규정되는 목표 ZMP) 주위에 -Merr_p(k)가 발생하고, 또한, 병진 상반력 수평성분(단순화 모델상에서의 보용의 전체중심의 병진가속도 수평성분에 수반되는 관성력과 균형을 이루는 병진 상반력)에 Ferr_p(k)를 더한 것이 시각(k)의 상반력 수평성분 허용범위(S022중에서 결정된 패러미터에 의해 규정되는 상반력 수평성분 허용범 위)에 들어가도록 정상 보용의 순시값의 시계열이 작성된다. 이 경우, S306에서는, Merr_p(k)=0 또한 Ferr_p(k)=0이므로, S306에서 작성되는(임시 작성되는) 보용은, 결국, 단순화 모델상에서 목표 ZMP를 만족하고, 또한, 상반력 수평성분 허용범위를 만족하는 보용이 된다. S306의 보다 구체적인 처리는 후술하지만, S306의 처리 중에서는, 각 시각(k)에서, 작성중의 보용의 운동에 의해 세미 풀 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분과 이 운동에 의해 세미 풀 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분과의 차(Merr(k))가 구해짐과 동시에, 이 운동에 의해 세미 풀 모델상에서 발생하는 병진 상반력 수평성분과 이 운동에 의해 단순화 모델상에서 발생하는 병진 상반력 수평성분과의 차(Ferr(k))가 구해진다.
이어서, S308에서, 상기와 같이 구해진 Merr(k) 및 Ferr(k)의 각각과, Merr_p(k), Ferr_p(k)의 각각의 현재값과의 차(△Merr(k), △Ferr(k))가 도시된 식에 의해 산출된다. 또한, S310에서, S306에서 구해진 Merr(k) 및 Ferr(k)가 각각 Merr_p(k), Ferr_p(k)의 새로운 값으로서 세팅된다. 그리고, S312에서 시각(k)이 k+△k로 갱신된다. 이상의 S306~S312의 처리가 k=Ts+Tcyc가 될 때까지 반복된다. 이것에 의해, 단순화 모델상에서 목표 ZMP를 만족하고, 또한, 상반력 수평성분 허용범위를 만족하는 보용의 순시값의 시계열이 임시 작성됨과 동시에, 그것에 대응하는 Merr_p(k) 및 Ferr_p(k)의 시계열이 결정된다. 이렇게 하여 결정되는 Merr_p(k) 및 Ferr_p(k)는 목표 ZMP와 상반력 수평성분 허용범위를 만족하도록 S306에서 작성되는 보용의 운동(임시 운동)에 의해 단순화 모델상에서 발생하는 상 반력의 오차를 나타내는 것이다.
보충하면, 상기 △Merr(k) 및 △Ferr(k)은, 후술하는 S314~S328의 루프 처리 중에서, 보용의 작성 때마다, 갱신되는 Merr(k) 및 Ferr(k)의 변화량을 의미하는 것이며, 이후, △Merr(k)의 시계열을 상반력 모멘트 오차 변화량, △Ferr(k의 시계열을 병진 상반력 오차 변화량이라고 한다. 단, S302에서 Merr_p(k) 및 Ferr_p(k)은 모두 0으로 초기화 되어 있으므로, S308에서 산출되는 △Merr(k) 및 △Ferr(k)는 S306에서 구해진 Merr(k) 및 Ferr(k)에 각각 일치한다. 따라서, S308에서 산출되는 △Merr(k) 및 △Ferr(k)는, 실질적으로는, 목표 ZMP와 상반력 수평성분 허용범위를 만족하도록 S306에서 작성되는 보용의 운동(임시 운동)에 의해 단순화 모델상에서 발생하는 상반력의 오차를 나타내는 것으로 되어 있다. S308에서 산출되는 △Merr(k) 및 △Ferr(k)는, 각각 상반력 모멘트 오차 변화량(△Merr(k)), 병진 상반력 오차 변화량(△Ferr(k))의 초기값으로서의 의미를 갖는다.
이어서, S314을 거쳐, S316의 판단 처리가 실행된다. 이 S316에서는, △Merr(k)의 시계열(현재의 시계열) 및 △Ferr(k))의 시계열(현재의 시계열)의 각각의 소정의 특징량이 소정의 허용범위 내에 있는지 아닌지가 판단된다. 이 판단 처리는, △Merr(k)의 시계열 및 △Ferr(k)의 시계열의 양자가 각각 거의 0에 수렴했는지 아닌지(이것은, Merr_p(k)의 시계열 패턴 및 Ferr_p(k)의 시계열 패턴이 각각 거의 일정한 패턴에 수렴했는지 아닌지를 의미함)를 판단하는 처리이다. 이 경우, 예를 들면 △Merr(k)의 시계열의 절대값(각 시각(k)에서의 값의 절대값) 중 최대값, 또는, 그 절대값의 총 합계, 또는, 이 시계열의 패턴의 실효값, 또는, 이 시계 열의 최대값과 최소값과의 차를 △Merr(k)의 시계열의 수렴판단을 위한 특징량으로 하고, 그 특징량이 0에 가까운 허용범위에 있는지 아닌지가 S314에서 판단된다. 마찬가지로, △Ferr(k)의 시계열의 절대값(각 시각(k)에서의 값의 절대값) 중 최대값, 또는, 그 절대값의 총 합, 또는, 이 시계열의 패턴의 실효값, 또는, 이 시계열의 최대값과 최소값과의 차를 △Ferr(k)의 시계열의 수렴판단을 위한 특징량으로 하고, 그 특징량이 0에 가까운 허용범위에 있는지 아닌지가 S314에서 판단된다. 또한, △Merr(k)과 △Ferr(k)에서, 특징량의 종류는 동일해도 되지만, 같지 않아도 된다. 또, 그 특징량 에 대한 허용범위도 △Merr(k)과 △Ferr(k)에서 동일할 필요는 없다.
보충하면, S300~S312의 처리의 종료 후, 최초에 S316의 처리를 실행할 때에는, 상기한 바와 같이 △Merr(k)=Merr_p(k), △Ferr(k)=Ferr_p(k)이므로, 이때의 S316의 판단 처리는, △Merr(k)의 시계열 및 △Ferr(k)의 시계열의 수렴판단 처리라기 보다도, S300~S312의 처리에서 작성한 보용에 관한 상반력 모멘트 오차(Merr_p(k)) 및 병진 상반력 오차(Ferr_p(k))가 각각 충분히 작은지 아닌지(S300~S312의 처리에서 작성한 보용의 동역학적 정밀도가 충분한지 아닌지)를 평가하는 처리라고 할 수 있다. 즉, S316의 판단 처리는, S300~S312의 처리에서 작성한 보용에 관한 상반력 모멘트 오차(Merr_p(k)) 및 병진 상반력 오차(Ferr_p(k))가 충분히 작은지 아닌지를 평가하는 처리와, △Merr(k)의 시계열 및 △Ferr(k)의 시계열의 수렴판단 처리를 겸하고 있다. 또한, 이들 평가 처리와, 수렴판단 처리는 별도로 행하도록 해도 된다. 그 경우, 이 평가 처리와 수렴판단 처리에서, 특징량의 종류를 달리 해도 되고, 또는, 특징량에 대한 허용범위를 달리 해도 된다.
S316의 판단 결과가 YES일 경우에는, S314~S328의 루프 처리는 종료되고, 도 13의 처리도 종료된다. 이 경우, 이 시점에서, 도 13의 처리에 의해 최종적으로 작성된 보용이 도 12의 S208에서 작성해야 할 보용(정상 보용)으로서 얻어진다. 따라서, S300~S312의 처리의 종료 후, S316의 최초의 판단 결과가 YES일 경우에는, S300~S312의 처리에 의해 작성된 보용이 도 12의 S208에서 작성해야 할 보용(정상 보용)으로서 얻어진다. 또한, 그 보용은 S316의 판단 결과가 YES이므로, 충분한 동역학적 정밀도를 갖는 보용으로 되어 있다.
S316의 판단 결과가 NO인 한(△Merr(k)의 시계열 및 △Ferr(k)의 시계열의 적어도 일방의 시계열의 특징량이 허용범위를 일탈해 있는 경우), S300 및 S304~S312와 동일한 처리가 S318~S328에서 반복된다. 보다 자세하게는, S318에서, S300과 동일하게 상체(3)의 초기 상태가 세팅된다. 또한, S320(이것은 S304와 동일함)를 거쳐서, 정상 보용의 초기시각(Ts)부터 종단시각(Ts+Tcyc)까지의 각 시각에 대하여, S322 ~S328의 처리가 실행된다. 이들 S322~S328의 처리는 각각 상기 S306~S312의 처리와 동일하다. 단, S322의 처리에서는, 그곳에서 사용하는 Merr_p(k) 및 Ferr_p(k)의 시계열은 상기 S302에서 초기화 된 값(=0)이 아니라, 최신의 시계열, 즉 상기 S310에서 갱신된 Merr_p(k) 및 Ferr_p(k)의 시계열, 또는, S318~S328에서 반복중에, 하나 전(전회)의 S318~S328의 처리에서의 S326에서 갱신된 Merr_p(k) 및 Ferr_p(k)의 시계열이다.
따라서, S318~S328에서 반복중에, 제 n회째(n= 1, 2, ……)의 S322의 처리 에서는, 제 n-1회째의 보용생성시에 그 보용의 운동에 대응하여 구해지는 오차(Merr_p(k) 및 Ferr_p(k))에 의한 수정을 가하여 제 n회째의 보용이 생성된다. 상세하게는, 제 n회째의 보용은, 그 제 n회째의 보용의 운동에 의해, 단순화 모델상에서, 제 n-1회째의 보용생성시의 상반력 모멘트 오차(Merr_p(k))의 부호를 반전시킨 -Merr_p(k)가 시각(k)의 목표 ZMP 주위에 발생하고, 또한, 그 제 n회째의 보용의 운동에 의해, 단순화 모델상에서 발생하는 병진 상반력 수평성분에, 제 n-1회째의 보용생성시의 병진 상반력 오차(Ferr_p(k))를 더한 것이 시각(k)의 상반력 수평성분 허용범위에 들어가도록 작성된다. 또한, 이 경우에 있어서, 제 0회째의 보용생성은 S300~S312에서의 보용생성을 의미한다.
그리고, 상기한 바와 같이, S316의 판단 결과가 YES가 되면, 도 13의 처리는 종료되고, 이 시점에서 최종적으로 작성된 보용이 도 12의 S208에서 작성해야 할 정상 보용으로서 얻어진다.
여기에서, S318~S328의 처리의 반복에 있어서, S316의 판단 결과가 NO가 되는 상태는, 그 반복때마다, 갱신되는 Merr_p(k) 또는 Ferr_p(k)의 시계열의 패턴이 변화되는 상태이다. 그리고, 그러한 Merr_p(k) 및 Ferr_p(k)의 시계열을 사용해서 수정된 보용의 운동으로부터 새롭게 구해지는 Merr_(k) 또는 Ferr_p(k)의 시계열은, 이 운동에 의해 단순화 모델상에서 발생하는 상반력의 오차를 나타내는 것으로서의 신뢰성이 낮다. 이에 반해, S316의 판단 결과가 YES가 되는 상태는, S318~S328의 처리의 반복때마다, 갱신되는 Merr_p(k) 또는 Ferr_p(k)의 시계열의 패턴이 정상적인 것으로 된 상태이므로, 이 상태에서의 Merr_p(k) 또는 Ferr_p(k)의 시계 열은, 그것을 사용해서 수정한 보용의 운동에 의해 단순화 모델상에서 발생하는 상반력의 오차를 나타내는 것으로서의 신뢰성이 높다. 따라서, S316의 판단 결과가 YES로 되면, 도 13의 처리는 종료되고, 이 시점에서 최종적으로 작성된 보용은, 단순화 모델상에서 발생하는 상반력의 오차가 적절하게 반영된 것이 되고, 동역학적 정밀도가 높은 것으로 된다.
도 13의 S306 및 S322의 처리(정상 보용의 순시값의 시계열의 작성 처리)는 도 14의 플로우차트에서 나타내는 서브루틴 처리에 의해 실행된다.
이 도 14의 처리에서는, 우선, S400~S410의 처리에 의해, 상기 S022에서 결정한 정상 보용의 패러미터를 기초로, 목표 상반력 연직성분, 목표 ZMP, 목표 양족평위치 자세, 기준 상체자세, 목표 팔자세, 목표 상체 연직위치, 상반력 수평성분 허용범위의 순시값이 구해진다. 이 S400~S410의 처리는, 상기 공보문헌 1의 도 22의 S400~S410 처리와 동일하므로, 여기에서의 상세 설명은 생략한다.
이어서, S412의 처리에 의해, 도면 중에 기재된 조건을 만족하도록 상체 수평가속도 및 상체자세 각가속도의 순시값이 결정된다. 이 경우, Merr_p(k)(제 n-1회째의 보용생성시에 구한 Merr_p(k))가, 작성중의 보용(제 n회째의 작성중의 보용)의 운동에 의해 시각(k)에 있어서 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분의 오차분인 것으로 간주한 경우, 단순화 모델상에서, 목표 ZMP(S402에서 구한 목표 ZMP) 주위에 -Merr_p(k)가 발생하도록, 보용의 운동을 결정하면, 그 결정한 운동에 의해 실제의 로봇(1)이 발생하는 목표 ZMP 주위의 진 상반력 모멘트 수평성분(엄밀하게는 세미 풀 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분)은 거의 0(목표 ZMP 주위의 상반력 모멘트 수평성분의 본래의 목표값)이 된다고 생각된다. 따라서, S412에서는, 단순화 모델상에서, 목표 ZMP 주위에 -Merr_p(k)가 발생하도록 상체 수평가속도 및 상체자세 각가속도를 결정한다. 또한, 이것은, 작성하려고 하고 있는 보용의 운동에 의해 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분(≒-Merr_p(k))에 오차(Merr_p(k))를 더한 것이, 목표 ZMP 주위의 상반력 모멘트 수평성분의 본래의 목표값인 0이 되도록, 상체 수평가속도 및 상체자세 각가속도를 결정하는 것과 등가이다.
또, Ferr_p(k)(제 n-1회째의 보용생성시에 구한 Ferr_p(k))가, 작성중의 보용(제 n회째의 작성중의 보용)의 운동에 의해 시각(k)에 있어서 단순화 모델에서 발생하는 병진 상반력 수평성분의 오차분인 것으로 간주한 경우, 단순화 모델상에서 보용의 운동에 의해 발생하는 병진 상반력 수평성분에 Ferr_p(k)를 더한 것이 상반력 수평성분 허용범위(S410에서 결정된 허용범위)를 초과하지 않도록 보용의 운동을 결정하면, 그 결정한 운동에 의해 실제의 로봇(1)에 작용하는 병진 상반력 수평성분(엄밀하게는 세미 풀 모델상에서 발생하는 병진 상반력 수평성분)은, 당해 상반력 수평성분 허용범위 내에 들어간다고 생각된다. 따라서, S412에서는, 작성하려고 하고 있는 보용의 운동에 의해 단순화 모델상에서 발생하는 병진 상반력 수평성분에 Ferr_p(k)를 더한 것이, 상반력 수평성분 허용범위(S410에서 결정한 현재시각(k)에서의 허용범위)를 초과하지 않도록 상체 수평가속도 및 상체자세 각가속도를 결정한다.
또한, S412의 처리의 보다 구체적인 내용에 대해서는 후술한다.
이어서, S414의 처리에 의해, 상기한 바와 같이 S412에서 결정한 상체 수평가속도 및 상체자세 각가속도를 각각 2차적분하고, 상체 수평위치 및 상체자세각의 순시값이 결정된다. 이 시점까지, 상체 연직위치, 족평위치 자세 및 팔자세의 순시값은 이미 결정되어 있으므로(S404, S408을 참조), 이것들과, 상체 수평위치 및 상체자세각의 순시값으로 구성되는 로봇(1)의 운동의 순시값(정상 보용의 목표 운동의 순시값)이 결정된 것이 된다. 보충하면, 본 실시형태의 로봇(1)은 각 다리체(2)가 6자유도를 가지므로, 각 족평(22)의 목표위치 자세의 순시값과 상체(3)의 목표위치 자세의 순시값이 결정되면, 로봇(1)의 각 다리체(2)의 각 관절의 변위량은 일의적으로 정해진다.
또, S414에 계속되는 S415의 처리에 의해, 상기한 바와 같이 결정된 정상 보용의 목표 운동에 의해 단순화 모델상에서 발생하는 시각(k)(현재시각)에서의 목표 ZMP 주위의 상반력 모멘트 수평성분(Msmpl(k))과, 병진 상반력 수평성분(Fsmpl(k))이 산출된다.
이 경우, 결정된 족평위치 자세, 상체위치?속도, 상체자세각?각속도로 이루어지는 목표 운동을 기초로, 단순화 모델을 사용하여 목표 ZMP 주위의 상반력 모멘트 수평성분(Msmpl(k))과 병진 상반력 수평성분(Fsmpl(k))을 산출하면 된다. 즉, Msmpl(k)은 목표 운동에 대응하여 정해지는, 단순화 모델의 각 요소(본 실시형태에서는 질점 및 플라이휠)의 운동에 의해 각각 발생하는 관성력과 단순화 모델의 전체중심에 작용하는 중력과의 합력이 목표 ZMP 주위에 발생하는 모멘트의 수평성 분의 순시값(각 시각(k)에서의 값)의 부합을 반전시킨 것으로서 산출된다. 또, Fsmpl(k)는 목표 운동에 대응하는 단순화 모델의 전체중심의 병진가속도의 수평성분의 순시값(각 시각(k)에서의 값)에 단순화 모델의 전체질량을 곱하여 이루어지는 값(전체중심의 운동이 발생하는 관성력의 수평성분)의 부호를 반전시킨 것으로서 산출된다.
또한, Msmpl(k) 및 Fsmpl(k)는 전술한 바와 같이 단순화 모델의 연산을 행하는 대신, 다음 식에 의해 구해도 된다.
Msmpl(k)=0-Merr_p(k) ……식 3a
Fsmpl(k)=Fx'(k)-Ferr_p(k) ……식 3b
즉, S410~S414까지의 처리에서 작성하는 보용은, 목표 ZMP 주위에 -Merr_p(k)(보다 정확하게는, 목표 ZMP 주위의 본래의 목표 상반력 모멘트 수평성분(=0)으로부터 Merr_p(k)를 뺀 것)가 발생하도록 작성되므로, 그 보용의 운동에 의해 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트(Msmpl(k))는 -Merr_p(k)에 일치 혹은 거의 일치한다. 따라서, Msmpl(k)은 상기 식 3a에 의해 구해도 된다. 또한, 당연하지만, 식 3a중의 「0」은 생략해도 된다.
또, 식 3b중의 Fx'(k)는, S410~S414까지의 처리에서 작성하는 보용의 운동에 의해 단순화 모델상에서 발생하는 병진 상반력 수평성분(Fsmpl(k))에, 병진 상반력 오차(병진 상반력 수평성분 오차)(Ferr_p(k))를 더한 것으로, 그것은, S412의 후술하는 처리 중에서 상반력 수평성분 허용범위를 만족하도록 결정되는(보다 상세하게는, 상체 수평가속도를 결정할 때의 상반력 수평성분(Fsmpl(k)+Ferr_p(k))의 목표값(상반력 수평성분 허용범위를 만족하는 목표값)으로서 결정됨). 따라서, S410~S414까지의 처리에서 작성하는 보용의 운동에 의해 단순화 모델상에서 발생하는 병진 상반력 수평성분(Fsmpl(k))은, 식 3b의 우변의 값과 일치 혹은 거의 일치하므로, Fsmpl(k)을 S412의 처리중에 결정하는 Fx'(k)의 값을 사용하여 식 3b에 의해 구해도 된다.
상기한 바와 같이 식 3a, 식 3b를 사용하여 Msmpl(k) 및 Fsmpl(k)을 구해도 되는 것은, 후술하는 금회 보용의 작성 처리(후술의 S028의 처리, 또는 S032의 처리)에서도 동일하다.
이어서, S415에 이어지는 S416의 처리에 의해, 상기한 바와 같이 결정된 보용의 목표 운동을 기초로, 상기 세미 풀 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분의 순시값(Msemifull(k))과 병진 상반력 수평성분의 순시값(Fsemifull(k))이 산출된다. 그 산출의 방법은, 상기 S415에서 단순화 모델상에서의 순시값(Msmpl(k), Fsmpl(k))을 산출하는 경우과 동일하다. 단, 이 경우에는, 상기 식 3a, 3b와 동일한 수법으로 Msemifull(k), Fsemifull(k)을 구할 수는 없으므로, 세미 풀 모델의 실제의 연산 처리를 행할 필요가 있다. 이들 Msemifull(k), Fsemifull(k)는, 각각 목표 운동에 따라서 실제의 로봇(1)의 운동을 행했을 때에 로봇(1)에 작용하는 상반력 모멘트 수평성분, 병진 상반력 수평성분의 실제값에 상당하는 것이다.
이어서, S418의 처리에서, 다음 식 3c, 3d에 의해, 새로운 상반력 모멘트 오차(Merr(k)) 및 병진 상반력 오차(Ferr(k))(제 n회째의 보용생성시에 구하는 오 차(Merr(k), Ferr(k))가 산출된다.
Merr(k)=Msemifull(k)-Msmpl(k) ……식 3c
Ferr(k)=Fsemifull(k)-Fsmpl(k) ……식 3d
보충하면, 본 실시형태에서는, 도 13의 S306 및 S322의 서브루틴 처리를 동일하게 했지만, S306 및 S322의 서브루틴 처리를 각각 달리 구축해도 된다. 이 경우, S306의 처리에서는, 당초부터 Merr_p(k)=0, Ferr_p(k)=0을 전제로 하여 알고리즘을 구축해 두면 되고, 그 경우에는, 도 13의 S302의 처리는 불필요하다. 또, S306의 처리 중의 S415에 있어서, 상기 식 3a를 적용하는 경우에는 항상 Msmpl(k)=0이 되므로, S322의 처리 중에서는, S415의 처리를 생략해도 된다. 이상에서 설명한 보충 사항은 후술하는 금회 보용의 작성 처리(후술의 S028의 처리)에서도 동일하다.
도 14의 S412의 서브루틴 처리는 도 15의 플로우차트에서 나타낸 바와 같이 실행된다.
이 도 15의 처리에서는, 우선, 정상 보용의 상체 경사각 복원기간을 규정하는 시각(Tm, Ts2, Tm2)을 결정한다. 이들 시각은, 도 19에 도시하는 바와 같이, 상기 상체 경사 복원 모멘트 ZMP 환산값(ZMPrec)을 발생시키는 기간을 규정하는 것이다. 즉, 정상 보용의 초기시각(Ts) 후의 최초의 외다리 지지기의 개시 직후의 시각을 Tm, 이 외다리 지지기의 종료 직전의 시각을 Ts2, 다음 외다리 지지기의 개시 직후의 시각을 Tm2로서 결정한다. 그리고, 기간 [Tm, Ts2]과, 기간 [Tm2, Te]을, 각각 ZMPrec를 발생시키는 기간(정상 보용에서의 상체 경사각 복원기간)으로 한다. 이것은, 상기 공보문헌 1의 도 23의 S500의 처리와 동일하다.
이어서, S502에서, 정상 보용의 순시값을 작성하려고 하고 있는 현재시각(k)(작성 중의 정상 보용 내에서의 시각)이 상체 경사각 복원기간에 있는지 아닌지가 판단된다. 그리고, 현재시각(k)이 상기 상체 경사각 복원기간 내의 시각이 아닐 때, 바꾸어 말하면, 현재시각(k)이, 외다리 지지기의 종료 직전부터 다음 외다리 지지기의 개시 직후까지의 기간(목표 상반력 연직성분이 0이거나 혹은 0에 가까운 기간)에 있을 때에는, S504~S518의 처리가 실행된다. 이들 처리에서는, 우선, 목표 ZMP 주위의 본래의 목표 상반력 모멘트 수평성분(=0)으로부터 상반력 모멘트 오차(상반력 모멘트 수평성분 오차)의 현재값(Merr_p(k))을 빼서 이루어지는 상반력 모멘트 수평성분(-Merr_p(k))이 단순화 모델상에서 발생하도록, 상기 상체 병진모드의 운동에 의한 상체 수평가속도(αtmp)를 산출한다(S504). αtmp는 작성중의 보용에 있어서의 상체 수평가속도의 임시값이다. 그리고, 상체 수평가속도가 αtmp일 경우의 단순화 모델의 전체중심의 수평가속도에 의한 관성력과 균형을 이루는 병진 상반력 수평성분(Fxtmp)에, 병진 상반력 오차(병진 상반력 수평성분 오차)의 현재값(Ferr_p(k))을 더하여 이루어지는 병진 상반력 수평성분(Fxtmp'(=Fxtmp+Ferr_p(k))이 상반력 수평성분 허용범위와 비교된다(S506~S510). 이 비교에서, Fxtmp'이 상반력 성분 허용범위를 일탈해 있는 경우에는, 작성 중의 보용의 운동에 의해 발생시켜야 할 병진 상반력 수평성분(Fx')(이 F'은 작성 중의 보용의 운동에 의해 단순화 모델상에서 발생하는 병진 상반력 수평성분에 Ferr_p(k)를 더한 것의 목표값을 의미함)을 상반력 수평성분 허용범위의 상한 값(Fxmax) 또는 하한값(Fxmin)으로 제한하고, Fxtmp'이 상반력 성분 허용범위에 들어가 있는 경우에는, Fxtmp를 그대로 Fx'로서 결정한다(S512~S514).
그리고, 작성 중의 보용의 운동에 의해 단순화 모델상에서 발생시키는 병진 상반력 수평성분(Fx)에, 병진 상반력 오차(병진 상반력 수평성분 오차)의 현재값(Ferr_p(k))을 더하여 이루어지는 병진 상반력 수평성분(=Fx+Ferr_p(k))이 상기한 바와 같이 결정한 Fx'에 일치하도록, 상기 상체 병진모드의 상체 수평가속도(α)가 결정됨과 동시에, 이 상체 수평가속도(α)의 상체 병진모드의 운동과 상기 상체 회전모드의 운동에 의해 단순화 모델상에서 목표 ZMP 주위의 상반력 모멘트 수평성분이 -Merr_p(k)이 되도록, 이 상체 회전모드의 상체 각가속도(β)가 결정된다(S518).
이것에 의해, 단순화 모델상에서 목표 ZMP 주위에 -Merr_p(k)가 발생하고(작성 중의 보용의 운동에 의해 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분에 상반력 모멘트 오차의 현재값(Merr(k))을 더한 것이 목표 ZMP 주위의 본래의 목표값인 0으로 되고), 또한, 단순화 모델상에서 전체중심의 수평가속도에 의한 관성력과 균형을 이루는 상반력 수평성분(Fx)에, 병진 상반력 오차의 현재값(Ferr_p(k))을 더하여 이루어지는 병진 상반력 수평성분(Fx')(이것은 작성 중의 보용의 운동에 의해 실제로 발생하는 병진 상반력 수평성분에 상당함)이 상반력 수평성분 허용범위에 들어가도록 상체 병진모드의 상체 수평가속도(α)와 상체 회전모드의 상체 각가속도(β)가 결정된다.
또, 현재시각(k)(작성 중의 정상 보용 내에서의 시각)이 상기 상체 경사각 복원기간 내의 시각일 때에는, S520~S530의 처리가 실행된다. 이들 처리에서는, 우선, 상체 각가속도(β)는, 단순화 모델상에서, 상체 경사 복원 모멘트 ZMP 환산값 패턴의 순시값(이것은, 상기 S12의 처리중에서 임시 결정된 상체 경사 복원 모멘트 ZMP 환산값 피크값(최신의 후보값)과 현재시각(k)에 따라 정해진다. 도 19를 참조)에 대응하는 상반력 모멘트를 목표 ZMP 주위에 발생하도록 결정된다(S520 및 S522). 또, 상체 수평가속도(α)는, 단순화 모델상에서, 상체 병진모드의 운동에 의해 발생하는 목표 ZMP 주위의 상반력 모멘트가 본래의 목표 상반력 모멘트 수평성분(=0)으로부터 상반력 모멘트 오차의 현재값(Merr_p(k))을 빼서 이루어지는 상반력 모멘트 수평성분(-Merr_p(k))에 일치하기 위한 상체 수평가속도(αtmp)와, 먼저 결정한 상체 각가속도(β)에 의한 상반력 모멘트와 동등한 상반력 모멘트를 발생하는 상체 수평가속도의 차로서 구해진다(S524 및 S526).
이것에 의해, 단순화 모델상에서, 상체자세를 기준 상체자세를 향해서 복원시키면서, 목표 ZMP 주위에, -Merr_p(k)가 발생하도록 상체 각가속도(β) 및 상체 수평가속도(α)가 결정된다. 동시에, 상체 수평가속도가 상기와 같이 구한 가속도(α)인 경우에, 단순화 모델상에서 전체중심의 수평가속도에 의한 관성력과 균형을 이루는 상반력 수평성분(Fx)에, 병진 상반력 오차의 현재값(Ferr_p(k))을 더하여 이루어지는 병진 상반력 수평성분(Fx')이 작성 중의 보용의 운동에 의해 실제로 발생하는 병진 상반력 수평성분으로서 결정된다. 또한, 현재시각(k)이 상기 상체 경사각 복원기간 내의 시각일 때에는, 상반력 수평성분 허용범위는 충분하게 크므로, 상기한 바와 같이 결정되는 병진 상반력 수평성분(Fx')은 이 허용범위를 일탈 하지 않는다. 이 때문에, SS520~S530의 처리에서는, Fx'을 상반력 수평성분 허용범위와 비교하는 것은 행하지 않았다.
보충하면, 도 15의 처리의 기본적인 개념(수법)은, 상기 공보문헌 1의 도 22의 처리와 동일하다. 단, 동 공보문헌 1의 것에서는, 단순화 모델상에서 목표 ZMP를 만족하고(목표 ZMP 주위의 상반력 모멘트 수평성분이 0가 됨), 또한, 단순화 모델상에서 상반력 수평성분 허용범위를 만족하도록 상체 수평가속도 및 상체자세 각가속도가 결정된다. 이에 반해, 본 실시형태의 도 15의 처리에서는, 목표 ZMP 주위의 본래의 목표 상반력 모멘트 수평성분(=0)으로부터 상반력 모멘트 오차의 현재값(Merr_p(k))을 빼서 이루어지는 상반력 모멘트 수평성분(-Merr_p(k))이 단순화 모델상에서 발생하고(환언하면, 단순화 모델상에서 로봇(1)의 운동에 의해 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분에, 상반력 모멘트 오차의 현재값(Merr_p(k))을 더한 것이 목표 ZMP 주위의 본래의 목표 상반력 모멘트 수평성분인 0이 됨), 또한, 단순화 모델상에서 전체중심의 수평가속도에 의한 관성력과 균형을 이루는 상반력 수평성분(Fx)에, 병진 상반력 오차의 현재값(Ferr_p(k))을 더해서 이루어지는 병진 상반력 수평성분(Fx')이 상반력 수평성분 허용범위를 만족하도록(이 허용범위 내에 들어가도록) 상체 수평가속도 및 상체자세 각가속도가 결정된다.
또한, 본 실시형태에서는, 단순화 모델상에서 전체중심의 수평가속도에 의한 관성력과 균형을 이루는 상반력 수평성분(Fx)에, 병진 상반력 오차의 현재값(Ferr_p(k))을 더해서 이루어지는 병진 상반력 수평성분(Fx')이 상반력 수평성분 허용범위를 만족하도록(이 허용범위에 수습되도록) 했는데, Fx가 상반력 수평성분 허용범위의 상한값 및 하한값으로부터 각각 병진 상반력 오차의 현재값(Ferr_p(k))을 빼서 이루어지는 허용범위를 만족하도록 상체 수평가속도 및 상체자세 각가속도를 결정하도록 해도 된다. 이렇게 해도, 원래의 방법과 등가이다.
본 실시형태에서는, 이상 설명한 바와 같이, 정상 보용을 생성하므로, S024에서 최종적으로 생성된 정상 보용은 그 운동에 의해 세미 풀 모델상에서 발생하는 상반력(이것은 이 운동에 의해 실제의 로봇(1)에 작용하는 상반력에 정밀하게 일치함)이, 목표 ZMP와 상반력 수평성분 허용범위를 만족하도록 결정되게 된다. 이때, 정상 보용은 보용의 운동에 대해 단순화 모델상에서 발생하는 상반력의 오차(Merr_p(k) 및 Ferr_p(k))를 가미한 뒤에, 선형성이 높은 단순화 모델의 동역학을 기초로 생성된다. 또, 정상 보용의 각 시각(k)의 순시값은 그 시각에서의 Merr_p(k) 및 Ferr_p(k)에 의한 수정을 더해서 생성된다. 그리고, 이 경우에 사용하는 Merr_p(k) 및 Ferr_p(k)은 S316의 수렴판단 결과가 YES로 된 상태에서의 것이므로, 단순화 모델상에서 발생하는 상반력의 오차를 표현하는 것으로서의 신뢰성이 높다. 이 때문에, 보용의 운동이 발산되거나 하지 않고 단시간에 효율적으로 정상 보용의 초기 상태를 탐색적으로 결정할 수 있다. 또, 세미 풀 모델은 단순화 모델을 사용하여 작성한 보용의 운동에 의해 발생하는 상반력(상반력 모멘트 수평성분 및 병진 상반력 수평성분)을 산출하기 위해서만 사용되므로, 그 산출은 탐색적인 처리 등을 필요로 하지 않고, 단시간에 용이하게 행할 수 있다.
도 10의 설명으로 되돌아와, 이상에서 설명한 바와 같이 S024의 처리를 실행 한 후, S026에서 금회 보용의 보용 패러미터가 결정(일부는 임시 결정)된다. 이 처리는 도 16의 플로우차트에 따라서 실행된다. 여기에서 결정하는 보용 패러미터로서는, 금회 보용에서의 족평위치 자세 궤도(각 족평(22)의 위치 자세 궤도), 기준 상체자세 궤도, 팔자세 궤도, 상반력 연직성분 궤도, 상반력 수평성분 허용범위, ZMP 궤도를 규정하는 패러미터가 있고, 이들 각 패러미터가 S600~S610의 처리에서 결정된다. 그리고, S612에서, 금회 보용에서의 상체 경사각 복원기간 [Ta, Tb]가 설정된다. 이것의 처리는, 상기 공보문헌 1의 도 33의 플로우차트의 처리와 동일하므로, 여기에서의 상세한 설명은 생략하지만, 상기 각 궤도가 전회 보용의 종단의 상태(금회 보용의 초기 상태)로부터, 금회 보용에 관한 상기한 요구를 만족하면서, 정상 보용으로 이어지도록 각 궤도를 규정하는 보용 패러미터가 결정된다. 예를 들면, 금회 보용의 미착지 다리 족평(22)에 관한 족평 궤도 패러미터는 금회 보용의 미착지 다리 족평(22)의 착지 예정위치 자세 및 시각이 그들 요구값을 충족시키면서, 금회 보용의 종단에서 이 미착지 다리 족평(22)의 위치 자세가 정상 보용의 초기(금회 보용의 종단의 시각)에서 일치하도록 결정된다.
보충하면, S610에서 결정되는 ZMP 궤도 패러미터는 임시값이며, 그 임시값에 의해 규정되는 ZMP 궤도의 예(X축 방향의 궤도의 예)가 도 21의 최상단에 도시되어 있다. 이 ZMP 궤도 패러미터는, 금회 보용의 외다리 지지기에서, 지지다리 족평(22)의 접지면의 거의 중앙부근에 목표 ZMP가 위치하고, 또한, 외다리 지지기에 계속되는 공중기에서는, 목표 ZMP가 금회 보용의 종단에서 정상 보용의 초기의 ZMP까지 연속적으로 변화되도록 결정된다. 또, 도 16의 S612에서 설정하는 상체 경사 각 복원기간은 도 21의 시각(Ta)로부터 시각(Tb)까지의 기간이며, 금회 보용의 외다리 지지기의 개시 직후부터 종료 직전까지의 기간이다.
또한, S600~S610의 처리에서 결정되는 금회 보용의 패러미터는 금회 보용 패러미터를 구성하는 모든 패러미터는 아니다. 본 실시형태에서는, 금회 보용을 규정하는 보용 패러미터(금회 보용 패러미터)는, S026에서 결정하는 패러미터 이외에, ZMP 궤도 패러미터에 의해 규정되는 ZMP 궤도를 수정하기 위한 ZMP 수정 패러미터와, 상체 경사 복원 모멘트 ZMP 환산값의 피크값(이 경우 2종류의 피크값)이 포함된다. 이들 패러미터는, 이하에 설명하는 S028의 처리 중에서 탐색적으로 결정된다.
이어서, S028로 진행되고, 금회 보용의 보용 패러미터(ZMP 궤도 패러미터)가 수정된다. 이 처리에서는, 금회 보용의 종단에서의 발산성분이 S024에서 결정한 정상 선회보용의 초기 발산성분에 일치하도록(보다 상세하게는 상체위치 자세 궤도를 정상 보용에 연속시키거나, 혹은 근접시키도록), 금회 보용의 보용 패러미터가 수정되어, 최종적인 금회 보용 패러미터가 결정된다(보다 상세하게는, ZMP 수정 패러미터와 상체 경사 복원 모멘트 ZMP 환산값 2종류의 피크값이 결정됨).
이 처리는, 도 17의 플로우차트에서 나타내는 서브루틴 처리에 따라서 행해진다.
도 17의 처리를 개략적으로 설명하면, 단순화 모델상에서, 금회 보용의 종단발산성분이 정상 보용의 초기 발산성분에 일치 혹은 거의 일치하도록(금회 보용을 정상 보용으로 연결시키도록), ZMP 수정량을 규정하는 패러미터인 ZMP 수정 패러미 터(a)와, 상체 경사 복원 모멘트 ZMP 환산값의 제 1 피크값(ZMPrecpeaka) 및 제 2 피크값(ZMPrecpeakb)이 탐색적으로 결정된다. 여기에서, 도 17의 처리중에서 구하는 상체 경사 복원 모멘트 ZMP 환산값의 제 1 피크값(ZMPrecpeaka) 및 제 2 피크값(ZMPrecpeakb)은, 금회 보용의 상체 경사각 복원기간 [Ta, Tb]에서 상체자세를 기준 상체자세에 근접시키기 위해서 필요한 상반력 모멘트의 ZMP 환산값의 패턴의 2개의 피크값을 나타내는 것이며, 그 예를 도시한 것이 도 20이다. 정상 보용의 경우의 상체 경사 복원 모멘트 ZMP 환산값의 피크값은 1개 였지만, 금회 보용의 종단에서의 상체자세각 및 그 각속도를 각각 정상 보용의 초기 상체자세각 및 그 각속도에 일치시키기 위해서, 본 실시형태에서는, 상체 경사 복원 모멘트 ZMP 환산값의 조정가능한 2개의 패러미터로서, 제 1 피크값(ZMPrecpeaka) 및 제 2 피크값(ZMPrecpeakb)이 사용된다. 본 실시형태에서는, 도 20에 도시하는 바와 같이, 금회 보용에서의 상체 경사 복원 모멘트 ZMP 환산값은, 외다리 지지기의 전반의 사다리꼴 형상의 패턴과, 후반측의 사다리꼴 형상의 패턴을 합성한 형태의 패턴으로 되고, 그 전반측의 사다리꼴 형상의 패턴의 피크값이 제 1 피크값(ZMPrecpeaka), 후반측의 사다리꼴 형상의 패턴의 피크값이 제 2 피크값(ZMPrecpeakb)이다.
또, 도 17의 처리중에서 구하는 ZMP 수정 패러미터(a)는, 금회 보용을 정상 보용으로 연결시킬 수 있는(금회 보용의 종단의 발산성분을 정상 보용의 초기 발산성분(q")에 거의 일치시키기) 위한 목표 ZMP의 수정량을 규정하는 패러미터이며, 그 예를 도시한 것이, 도 21의 중단의 도면이다. 도시한 바와 같이, ZMP 수정 패러미터(a)에 의해 규정되는 ZMP 수정량은 외다리 지지기의 개시 직후부터 종료 직 전까지 발생시키는 사다리꼴 형상의 패턴으로 되고, 그 피크값(a)이 ZMP 수정 패러미터로서 사용된다.
도 17의 처리를 보다 상세하게 설명하면 우선, S700에서, 탐색 대상인 a, ZMPrecpeaka 및 ZMPrecpeakb의 단순화 모델상에서의 값의 초기 후보가 임시 결정된다. 이 경우, 그 초기 후보는, 기본적으로는, 임의여서 되지만, 예를 들면 전회 보용의 작성시에 최종적으로 결정한 a, ZMPrecpeaka 및 ZMPrecpeakb의 값 등을 기초로 결정해도 된다.
이어서, S704~S714의 루프 처리가 실행된다. 그 처리를 개략적으로 설명하면, 우선, S704에서, 탐색 대상인 a, ZMPrecpeaka 및 ZMPrecpeakb의 현재의 후보값과 단순화 모델을 사용하여 금회 보용(임시 금회 보용)이 산출된다. 보다 상세하게는, ZMP 수정 패러미터(a)의 현재값을 기초로 수정한 ZMP 궤도 패러미터와, ZMPrecpeaka 및 ZMPrecpeakb의 현재값과, S026에서 결정한 ZMP 궤도 패러미터 이외의 패러미터(족평 궤도 패러미터, 상반력 연직성분 궤도 패러미터 등)로 구성되는 금회 보용 패러미터와 단순화 모델을 사용하여 임시 금회 보용이 산출된다. 또한, S704의 보다 구체적인 처리에 대해서는 후술한다.
그리고, S706~S716에서, S704에서 산출한 임시 금회 보용의 종단(금회 보용의 미착지 다리 족평의 착지 예정시각)에서의 발산성분과 정상 보용의 초기 발산성분(q")(상기 S024에서 최종적으로 산출한 것)과의 차, 임시 금회 보용의 종단에서의 상체자세각과 정상 보용의 초기 상체자세각(상기 S024에서 최종적으로 산출한 것)과의 차, 및, 임시 금회 보용의 종단에서의 상체자세각의 각속도와 정상 보용의 초기 상체자세 각속도(상기 S024에서 최종적으로 산출한 것)과의 차가 구해진다. 그리고, 이들 차의 값이 모두 허용범위 내에 있는지 아닌지(0에 가까운지 아닌지)의 조건을 만족하고 있는지 판단하고, 만족하고 있지 않은 경우에는, 탐색 대상의 값을 변경한다. 이것을 반복함으로써 최종적으로 단순화 모델상에서 임시 금회 보용을 정상 보용으로 연결시키는 것이 가능한 보용 패러미터의 수정값으로서의 a, ZMPrecpeaka 및 ZMPrecpeakb가 결정된다.
S706~S716의 처리를 보다 구체적으로 설명하면 S706에서, 임시 금회 보용의 종단에서의 상체위치 속도(Xe, Ve)로부터, 이 임시 금회 보용의 종단 발산성분(q0[k])을 상기한 발산성분의 정의식에 따라 산출한다.
이어서, S708에서, 이 종단 발산성분(q0[k])과 정상 선회보용의 초기 발산성분(q")과의 차를 종단 발산성분 오차(errq)로서 구한다.
또한, S710에서, 정상 보용의 초기 상체자세각과, S704에서 작성한 임시 금회 보용의 종단 상체자세각과의 차를 종단 상체자세각 오차(θberr)로서 구함과 동시에, 정상 보용의 초기 상체자세 각속도와, S704에서 작성한 임시 금회 보용의 종단 상체자세 각속도와의 차를 종단 상체자세 각속도 오차(ωberr)로서 구한다.
상기한 바와 같이 구한 오차(errq, θberr, ωberr)는, S704에서 작성한 임시 금회 보용의 경계조건(금회 보용이 그 종단에서 정상 보용으로 이어진다고 하는 조건)으로부터의 벗어남 정도를 나타내는 것이다.
이어서, S712에서, 상기한 바와 같이 구한 errq, θberr, ωberr이 모두 0 근방의 소정의 허용범위 내에 있는지 아닌지를 판단하고, 그 판단 결과가 YES일 경 우에는 S704~S716의 루프 처리를 종료한다. 이 경우, 탐색 대상의 현재의 후보값을 포함하는 금회 보용 패러미터가 단순화 모델상에서 정상 보용으로 이어지는 보용을 생성할 수 있는 금회 보용 패러미터로서 얻어진다.
한편, S712의 판단 결과가 NO일 경우에는, 현재의 탐색 대상(a, ZMPrecpeaka, ZMPrecpeakb)의 후보값의 부근에, 각각의 패러미터의 값을 소정의 미소량(△a, △ZMPrecpeaka, △ZMPrecpeakb)만큼 변화시킨 복수(본 실시형태에서는 3개)의 탐색 대상의 후보를 정하고, 각각의 탐색 대상의 후보를 포함하는 금회 보용 패러미터를 기초로, S704~S710와 동일한 처리를 실행하여, 각각의 탐색 대상의 후보에 대응하는 오차(errq, θberr, ωberr)의 세트를 구한다.
이어서, S716에서, 탐색 대상의 현재의 후보(a, ZMPrecpeaka, ZMPrecpeakb) 및 그 부근의 탐색 대상의 후보의 각각 대응하는 오차(errq, θberr, ωberr)의 세트를 기초로, 최급강하법이나 심플렉스법 등의 탐색 수법에 의해, 탐색 대상(a, ZMPrecpeaka, ZMPrecpeakb)의 새로운 후보를 결정한다. 그리고, S704로부터의 처리가 다시 반복된다.
이상과 같이 하여, (a, ZMPrecpeaka, ZMPrecpeakb)를 탐색 대상으로 하여, 금회 보용이 정상 보용으로 이어지도록 금회 보용 패러미터가 탐색적으로 결정된다.
이러한 도 17의 처리 중의 S704의 처리는 도 18의 플로우차트에서 나타내는 서브루틴 처리에 의해 실행된다.
이 도 18의 처리는, 정상 보용의 작성에 관계되는 상기 도 13의 처리와 마찬 가지로, 목표 ZMP 주위의 상반력 모멘트 오차 및 병진 상반력 오차를 결정하고, 금회 보용(임시 금회 보용)의 순시값을 그 초기부터 종단까지 시계열적으로 차례차례 작성하는 처리이다. 이 경우, 도 13의 정상 보용의 생성 처리와의 차이는 보용의 초기 상태와 보용생성의 기간뿐이다. 보다 상세하게는, 이 차이점에 관하여, 도 18의 처리에서는, S800, S818에서, 전회 보용의 종단상태(상세하게는 금회 보용의 지지다리 좌표계에서 본 종단상태)가 금회 보용(임시 금회 보용)의 초기 상태로서 설정된다. 또, S804~S812의 처리, 및, S820~S828의 처리를 실행하는 기간은 금회 보용의 초기시각(k=0)부터, 금회 보용의 종단시각(Tcurr)(금회 보용의 미착지 다리 족평(22)의 착지 예정시각)까지의 기간임(S804, S820를 참조). 이외의 처리는, 도 13의 처리와 동일하다. 이 경우, S804~S812의 처리는, 도 13의 S304~S312의 처리에 대응하고, S820~S828의 처리는 도 13의 S320~S328의 처리에 대응하고 있다. 따라서, 도 18의 S806, S822의 처리는, 상기 도 14의 서브루틴 처리에 의해 실행되고, 도 14의 S412의 처리는 도 15의 서브루틴 처리에 의해 실행된다. 단, 도 18의 S806, S822의 처리 중에서는, 도 14의 S412의 서브루틴 처리인 도 15의 처리에서는, S500의 처리는 생략된다. 이것은, 금회 보용의 상체 경사각 복원기간은 도 16의 S612에서 설정된 기간 [Ta, Tb]이기 때문이다.
본 실시형태에서는, S028에서 이상 설명한 바와 같이 임시 금회 보용을 생성한다. 이 경우, 정상 보용의 작성의 경우와 동일하게, 도 18의 S800~S812의 처리에서는, 금회 보용의 초기부터 종단까지, 단순화 모델상에서 목표 ZMP(S026에서 결정한 ZMP 궤도 패러미터에 의해 규정되는 목표 ZMP를 도 17의 처리중에서 임시 결 정한 ZMP 수정 패러미터(a)(최신의 후보값)에 의해 수정하여 이루어지는 목표 ZMP)를 만족하고, 또한, 상반력 수평성분 허용범위(S026에서 결정한 패러미터에 의해 규정되는 허용범위)를 만족하도록 금회 보용이 임시 작성된다. 그리고, 이 임시 작성된 보용의 운동(임시 운동)을 기초로, 단순화 모델과 세미 풀 모델을 사용하여 상반력 모멘트 오차(상반력 모멘트 수평성분 오차)(Merr_p(k))와 병진 상반력 오차(Ferr_p(k))의 시계열과, 상반력 모멘트 오차 변화량(△Merr(k))의 시계열의 초기값(=Merr_p(k)) 및 병진 상반력 오차 변화량(△Ferr(k))의 시계열의 초기값(=Ferr_p(k))이 결정된다.
또한, 도 18의 S814~S828의 처리에 의해, 상반력 모멘트 오차 변화량(△Merr(k))의 시계열 및 병진 상반력 오차 변화량(△Ferr(k))의 시계열의 각각의 특징량이 모두 소정의 허용범위에 제한되고, S816의 판단 결과가 YES가 될 때까지(각각의 특징량이 0에 수렴할 때까지), Merr_p(k) 및 Ferr_p(k)의 시계열의 최신값을 사용하여 보용의 수정(보용의 작성)이 반복된다. 이 경우, 반복 중에서, 제 n회째(n=1,2,……)에 작성되는 보용은, 금회 보용의 각 시각(k)에서, 제 n회째의 보용의 운동에 의해 단순화 모델상에서 상기 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분이 -Merr_p(k)(제 n-1회째의 보용생성시에서 구한 오차 Merr_p(k)의 부호를 반전시킨 것)가 되고, 또한, 제 n회째의 보용에 의해 단순화 모델상에서 발생하는 병진 상반력 수평성분에 Ferr_p(k)(제 n-1회째의 보용생성시에 구한 오차(Ferr_p(k)))를 더한 것이 금회 보용에 관계되는 상반력 수평성분 허용범위에 들어가도록 작성된다. 또한, 제 0회째의 보용은 S800~S812의 처리에서 작성된 보용 이다.
그리고, S816의 판단 결과가 YES가 되면, 도 13의 처리는 종료되고, 이 시점에서 최종적으로 작성된 보용이 도 17의 S704에서 작성해야 할 금회 보용(임시 금회 보용)으로서 얻어진다. 또한, S800~S812의 처리의 종료 후의 최초의 S816의 판단 결과가 YES이면, S800~S812의 처리에서 작성된 보용(제 0회째의 보용)이 도 17의 S704에서 작성해야 할 금회 보용(임시 금회 보용)으로서 얻어진다.
보충하면, S816의 판단 처리에서는, 상기 S316의 경우와 같이, △Merr(k)와 △Ferr(k)이고, 특징량의 종류는 동일해도 되지만, 동일하지 않아도 된다. 또, 그 특징량에 대한 허용범위도 △Merr(k)와 △Ferr(k)에서 동일할 필요는 없다. 또, S816의 판단 처리는, S316의 경우와 같이 S818~S828의 처리의 반복에 있어서의 △Merr(k) 및 △Ferr(k)의 수렴 뿐만 아니라, S800~S812의 처리의 종료 후의 최초의 S816의 처리는, S800~S812의 처리에서 작성한 보용에 관한 상반력 모멘트 오차(Merr_p(k)) 및 병진 상반력 오차(Ferr_p(k))가 각각 충분하게 작은지 아닌지(S300~S312의 처리에서 작성한 보용의 동역학적 정밀도가 충분한지 아닌지)를 평가하는 처리를 겸하고 있다. 또한, 이들 평가 처리와, 수렴판단 처리는 S316의 경우와 동일하게, 별도로 행하도록 해도 되고, 그 경우, 이 평가 처리와, 수렴판단 처리에서, 특징량의 종류를 달리 하거나, 또는, 특징량에 대한 허용범위를 달리 해도 된다.
이상과 같이 하여 S028에서 최종적으로 생성되는 임시 금회 보용은 그 운동에 의해 세미 풀 모델상에서 목표 ZMP와 상반력 수평성분 허용범위를 만족하면서, 정상 보용으로 이어지는(금회 보용의 경계조건을 만족하는) 것이 된다. 이때, 임시 금회 보용은 단순화 모델상에서의 상반력의 오차(Merr_p(k) 및 Ferr_p(k))를 가미한 다음에, 이 단순화 모델의 동역학을 기초로 생성된다. 또, 금회 보용의 각 시각(k)의 순시값은 그 시각에서의 Merr_p(k) 및 Ferr_p(k)에 의한 수정을 가하여 생성된다. 그리고, 이 경우에 사용하는 Merr_p(k) 및 Ferr_p(k)는 S816의 수렴판단 결과가 YES로 된 상태에서의 것이므로, 단순화 모델상에서 발생하는 상반력의 오차를 나타내는 것으로서의 신뢰성이 높다. 이 때문에, 보용의 운동이 발산하거나 하지 않고 단시간에 효율적으로 금회 보용의 보용 패러미터(a, ZMPrecpeaka 및 ZMPrecpeakb)를 탐색적으로 결정할 수 있다.
도 10의 설명으로 되돌아와, 이상에서 설명한 바와 같이 S028의 처리를 실행한 후, S030으로 진행되고, 풀 모델 보정용의 ZMP 허용범위와 상반력 수평성분 허용범위를 규정하는 패러미터가 결정된다.
이 처리는 상기 공보문헌 1의 도 13의 S030의 처리와 동일하고, 여기에서의 설명은 생략한다.
이상에서 설명한 S018~S030까지의 처리가, 상기 보용 패러미터 결정부(100a)에서 실행되는 처리이다. 보충하면, S028에서 최종적으로 생성된 임시 금회 보용에 관계되는 Merr_p(k)의 시계열이 상기 상반력 모멘트 오차 궤도(도 5 참조)이며, 또, 이 임시 금회 보용에 관계되는 Ferr_p(k)의 시계열이 상기 병진 상반력 오차 궤도(도 5 참조)이다.
S030의 처리를 실행한 후, 또는, S016의 판단 결과가 NO일 때에는, S032로 진행되고, 금회 보용의 순시값을 차례차례 결정한다. 이 처리의 서브루틴 처리는 상기 도 14의 플로우차트의 처리와 동일하다. 단, 이 경우에는, S412에서 사용하는 Merr_p(k) 및 Ferr_p(k)의 시계열의 값으로서, 상기 도 10의 S028에서 최종적으로 결정된 값이 사용된다. 또, S416 및 S418의 처리는 생략된다. 또, 금회 보용의 순시값의 시계열의 시간의 피치 폭(상기 △k의 값)은 제어 유닛(60)의 제어주기(△t)가 된다.
이어서, S034로 진행되고, 로봇(1)의 스핀(연직축 주위의 회전)을 캔슬하기 위한 팔체의 동작이 결정된다. 이 처리는, 로봇(1)의 팔을 흔들지 않고 목표 보용대로 로봇(1)을 운동시킨 경우에 목표 ZMP 주위에 발생하는 상반력 모멘트의 연직성분과 역방향의 상반력 모멘트를 팔체의 팔흔들기(양팔을 전후 역방향으로 흔드는 운동)에 의해 발생시키도록 팔체의 자세를 결정하는 것이며, 상기 공보문헌 1의 도 13의 S034와 동일하게 행해진다. 그 상세한 것은, 동 공보문헌 1에 기재되어 있으므로, 여기에서는 새로운 설명을 생략한다.
보충하면, S032 중의 S412 및 S414의 처리와 S034의 처리가, 상기 단순화 모델 보용생성부(100c)에서 실행되는 처리이다.
이어서, S036으로 진행되고, 풀 모델 보정용(상기 풀 모델 보정부(100e)의 처리용)의 ZMP 허용범위의 순시값과, 상반력 수평성분 허용범위의 순시값이 결정된다. 이 처리에서는, 상기 S030에서 결정한 ZMP 허용범위 및 상반력 수평성분 허용범위를 규정하는 보용 패러미터에 기초하여 결정된다.
보충하면, S032~S036(S032 중의 S412 및 S414의 처리와 S034의 처리를 제외 함)의 처리가 상기 목표 순시값 발생부(100b)에서 실행되는 처리이다.
이어서, S038로 진행되고 풀 모델을 사용한 보정 보용을 발생한다. 이 처리는 상기 풀 모델 보정부(100c)에 의해 실행되는 처리이다. 이 경우, 이 처리는 상기 공보문헌 1의 도 13의 S038의 처리와 동일하고, 동 공보문헌 1에 기재된 대로 실행된다. 따라서, 본 명세서에서는 상세한 설명은 생략한다. 이 처리에 의해, 목표 상체위치 자세(상기 변위차원 보정 보용의 상체위치 자세)를 더 수정해서 이루어지는 보정 목표 상체위치 자세와 보정 목표 상반력 모멘트가 결정된다.
이상이, 본 실시형태에서의 보용생성장치(100)의 보용생성 처리이다.
여기에서, 본 실시형태에서의 보용생성장치(100)의 보용생성 처리와 본원발명과의 대응 관계에 대해 설명해 둔다.
본 실시형태는, 상기 제 1 발명, 제 3 발명, 제 5 발명, 제 6 발명, 제 9 발명, 제 13 발명, 제 15 발명의 실시형태이다. 이 경우, 도 10의 S024의 처리에서 최종적으로 생성되는 정상 보용, 또는, 도 10의 S028에서 최종적으로 생성되는 금회 보용이 상기 각 발명에서의 목표 보용에 상당하는 것으로 되어 있다. 그리고, 도 13의 S300~S312의 처리, 또는 도 18의 S800~S812의 처리가 상기 각 발명에서의 임시 목표 운동 작성수단에 상당하고, 이들 처리에서 작성되는 보용의 운동이 임시 운동에 상당한다. 또한, 도 13의 S306 및 S322, 또는, 도 18의 S806 및 S822의 처리 중에서 실행되는 도 14의 S415~S418의 처리가 상기 각 발명에서의 상반력 오차 산출수단에 상당하고 있다. 또, 도 13의 S300~S312의 처리 후의 최초의 S316의 처리, 또는, 도 18의 S800~S812의 처리 후의 최초의 S816의 처리는 상기 각 발명에서의 평가수단에 상당하고 있다. 또한, 도 13의 S316~S328의 반복 처리, 또는, 도 18의 S816~S828의 반복 처리는 상기 각 발명에서의 목표 운동 결정수단에 상당하고 있다. 이 경우, S316의 최초의 판단 처리, 또는 S816의 최초의 판단 처리를 제외하고, S316 또는 S816의 판단 처리는, 목표 운동 결정수단에서의 수렴판단 처리에 상당하고, 또한 S322의 처리, 또는, S822의 처리는 수정 후 운동결정 처리에 상당하고 있다. 또한, 제 3 발명에서의 제 1 상반력 성분 및 제 2 상반력 성분은 각각, 본 실시형태에서의 상반력 모멘트 수평성분, 병진 상반력 수평성분이 상당하고 있다. 그리고, 본 실시형태에서, 도 14의 S415의 처리에서, 상기 식 3a를 사용한 경우가, 제 9 발명의 실시형태로 되어 있다.
다음에 도 4를 참조하여 복합 컴플라이언스 제어장치(101)의 동작을 설명해 둔다. 또한, 복합 컴플라이언스 제어장치(101)의 동작은, 본 출원인이 먼저 출원한 일본 특개평10-277969호 공보 등에 상세하게 기재되어 있으므로, 본 명세서에서는 개략적인 설명에 그친다. 보용생성장치(100)에서, 상기한 바와 같이 생성된 목표 보용 중, 보정 목표 상체위치 자세(궤도), 목표 팔자세(궤도)가 로봇 기하학 모델(역 키네마틱스 연산부)(102)에 송출된다.
또, 목표 족평위치 자세(궤도), 목표 ZMP 궤도(목표 전체 상반력 중심점 궤도), 및 목표 전체 상반력(궤도)(보정 목표 상반력 모멘트와 목표 상반력 연직성분)은 복합 컴플라이언스 동작 결정부(104)에 보내짐과 동시에, 목표 상반력 분배기(106)에도 보내진다. 그리고, 목표 상반력 분배기(106)에서, 상반력은 각 족평(22)에 분배되고, 목표 각 족평 상반력 중심점 및 목표 각 족평 상반력이 결정된 다. 이 결정된 목표 각 족평 상반력 중심점 및 목표 각 족평 상반력은 복합 컴플라이언스 동작 결정부(104)에 보내진다.
복합 컴플라이언스 동작 결정부(104)로부터, 기구변형 보상된 수정 목표 족평위치 자세(궤도)가 로봇 기하학 모델(102)에 보내진다. 로봇 기하학 모델(102)은 목표 상체위치 자세(궤도)와 기구변형 보상된 수정 목표 족평위치 자세(궤도)가 입력되면, 그것들을 만족하는 다리체(2, 2)의 12개의 관절의 관절변위 지령(값)을 산출하여 변위 콘트롤러(108)에 보낸다. 변위 콘트롤러(108)은 로봇 기하학 모델(102)에서 산출된 관절변위 지령(값)을 목표값으로 하여 로봇(1)의 12개의 관절의 변위를 추종제어 한다. 또, 로봇 기하학 모델(102)은 목표 팔자세를 만족하는 팔관절의 변위 지정(값)을 산출하여 변위 콘트롤러(108)로 보낸다. 변위 콘트롤러(108)는 로봇 기하학 모델(102)에서 산출된 관절변위 지령(값)을 목표값으로 하여 로봇(1)의 팔체의 12개의 관절의 변위를 추종제어 한다.
로봇(1)에 생긴 상반력(상세하게는 실제 각 족 상반력)은 6축력센서(50)에 의해 검출된다. 그 검출값은 상기 복합 컴플라이언스 동작 결정부(104)에 보내진다. 또, 로봇(1)에 발생한 자세경사 편차(θerrx, θerry)(상세하게는 목표 상체자세각 에 대한 실제 자세각의 편차에서, 롤 방향(X축 주위)의 자세각 편차가 θerrx이며, 피치 방향(Y축 주위)의 자세각 편차가 θerry임)이 자세 센서(54)를 통하여 검출되고, 그 검출값은 자세안정화 제어연산부(112)에 보내진다. 이 자세안정화 제어연산부(112)에서, 로봇(1)의 상체자세각을 목표 상체자세각에 복원하기 위한 목표 전체 상반력 중심점(목표 ZMP) 주위 보상 전체 상반력 모멘트가 산출되 어 복합 컴플라이언스 동작 결정부(104)에 보내진다. 복합 컴플라이언스 동작 결정부(104)는 입력값에 기초하여 목표 상반력을 수정한다. 구체적으로는, 목표 전체 상반력 중심점(목표 ZMP) 주위에 보상 전체 상반력 모멘트, 또는, 보상 전체 상반력 모멘트와 보정 목표 상반력 모멘트와의 합이 작용하도록 목표 상반력을 수정한다.
복합 컴플라이언스 동작 결정부(104)는 수정된 목표 상반력에, 센서 검출값 등으로부터 산출되는 실 로봇의 상태 및 상반력을 일치시키려고 상기 기구변형 보상된 수정 목표 족평위치 자세(궤도)를 결정한다. 이 경우, 기구변형 보상된 수정 목표 족평위치 자세는 상기 컴플라이언스 기구(72) 등의 기구적 변형을 고려한 것이다. 단 모든 상태를 목표에 일치시키는 것은 사실상 불가능하므로, 이것들 사이에 트레이드오프 관계를 주어서 타협적으로 될 수 있는 한 일치시킨다. 즉, 각 목표에 대한 제어편차에 가중값을 부여하여, 제어편차(또는 제어편차의 2승)의 가중평균이 최소가 되도록 제어한다. 이것에 의해, 실제의 족평위치 자세와 전체 상반력이 목표 족평위치 자세와 목표 전체 상반력과에 대략 따르도록 제어된다.
다음에, 이상에서 설명한 실시형태의 변형태양을 몇가지 설명해 둔다. 또한, 이하에 설명하는 변형태양은 정상 보용, 금회 보용의 어느것을 생성하는 경우에도 적용할 수 있는 것이다.
상기 실시형태에서는, 보용(정상 보용 또는 금회 보용)의 초기부터 종단까지의 각 시각(k)에서, 단순화 모델상에서, 목표 ZMP 주위의 상반력 모멘트가 본래의 목표 상반력 모멘트 수평성분(=0)으로부터 상반력 모멘트 오차의 현재 값(Merr_p(k))(=Msemifull(k)-Msmpl(k))을 빼서 이루어지는 상반력 모멘트 수평성분(-Merr_p(k))이 되고, 또한, 결정하려고 하고 있는 보용의 운동에 의해 단순화 모델상에서 발생하는 병진 상반력 성분에 병진 상반력 오차의 현재값(Ferr_p(k))(=Fsemifull(k)-Fsmpl(k))을 더한 것이 상반력 수평성분 허용범위에 들어가도록 상체 가속도 및 상체자세 각가속도를 결정했다(나아가서는 목표 보용(정상 보용 혹은 금회 보용)을 결정함).
단, 도 13의 S310 및 S326, 또는, 도 18의 S810 및 S826에서, 다음식 10a, 10b에 의해, Merr_p(k), Ferr_p(k)를 갱신하도록 하고, 도 13의 S322, 또는, 도 18의 S822에서 새로운 보용을 작성할 때, 이 갱신 후의 Merr_p(k), Ferr_p(k)(이것들은 본 발명에서의 상반력 보정량에 상당함)을, 상반력 모멘트 오차, 병진 상반력 오차 대신에 사용하도록 해도 된다.
Merr_p(k)=Merr_p(k)+p*△Merr(k) ……식 10a
Ferr_p(k)=Ferr_p(k)+p*△Ferr(k) ……식 10b
이들 식 10a, 10b에서, p는 1 이하, 0 이상의 소정의 계수이다.
즉, 결정하려고 하고 있는 상체 수평가속도 및 상체자세 각가속도를 포함하는 보용(목표 보용)의 운동에 의해 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분이, 본래의 목표 상반력 모멘트 수평성분(=0)으로부터, 식 10a에 의해 구해지는 보정량(Merr_p(k))을 빼서 이루어지는 상반력 모멘트 수평성분(-Merr_p(k))이 되고, 또한, 결정하려고 하고 있는 상체 수평가속도 및 상체자세 각가속도를 포함하는 보용(목표 보용)의 운동에 의해 단순화 모델상에서 발생하는 상반력 수평성분(Fx)에, 식 10b에 의해 구해지는 보정량(Ferr_p(k))을 더하여 이루어지는 병진 상반력 수평성분이 상반력 수평성분 허용범위를 만족하도록, 상체 가속도 및 상체자세 각가속도를 결정해도 된다. 또한, 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분이, 본래의 목표 상반력 모멘트 수평성분(=0)으로부터, 식 10a에 의해 구해지는 보정량(Merr_p(k))을 빼서 이루어지는 상반력 모멘트 수평성분(-Merr_p(k))으로 된다는 것은, 결정하려고 하고 있는 보용의 운동에 의해 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분에, 보정량(Merr_p(k))을 더하여 이루어지는 상반력 모멘트 수평성분이 본래의 목표 상반력 모멘트 수평성분에 일치하도록 보용의 운동을 결정하는 것을 의미한다.
상기한 바와 같이 식 10a, 10b에 의해, 보정량(Merr_p(k), Ferr_p(k))을 갱신하도록 했을 때, △Merr(k), △Ferr(k)는, 도 13의 S314~S328의 루프 처리, 또는, 도 18의 S814~S828의 루프 처리 중에서, 보용의 작성 때마다, 단순화 모델상에서 발생하는 상반력을 보정하기 위해서 사용되는 보정량(Merr_p(k), Ferr_p(k))과, 작성된 보용의 상반력의 오차와의 차를 의미하는 것이라 할 수 있다. 즉, 그 차가 0에 가깝다고 하는 것은, 단순화 모델상에서 발생하는 상반력을 보정하기 위해서 사용한 보정량(Merr_p(k), Ferr_p(k))이 적절했다는 것을 의미한다.
보충하면, 상기 계수 p의 값을 1로 설정하면, 실질적으로 상기 실시형태와 동일하게 된다.
또, 도 13의 S300~S312의 처리의 종료 후, 도 13의 S318~S328의 처리를 실행하기 전의 최초의 S316의 판단 처리를 생략해도 된다. 즉, 도 13의 S300~S312 의 처리 후, 반드시 1회는 S318~S328의 처리를 실행하도록 해도 된다. 마찬가지로, 도 18의 S800~S812의 처리의 종료 후, 도 18의 S818~S828의 처리를 실행하기 전의 최초의 S816의 판단 처리를 생략하고, S818~S828의 처리가 반드시 1회는 실행되도록 해도 된다. 이와 같이 한 실시형태(이하, 제 2 실시형태라고 함)는, 상기 제 2 발명, 제 4 발명, 제 5 발명, 제 6 발명, 제 10 발명, 제 14 발명, 제 16 발명의 실시형태로 된다. 이 경우의 이들 발명과 제 2 실시형태와의 대응 관계는, 평가수단을 제외하고(제 2 실시형태에서는 평가수단은 구비되지 않음), 전술의 실시형태(본 명세서에서 최초에 설명한 실시형태(이후, 제 1 실시형태라고 함))와, 제 1 발명 혹은 제 3 발명 등과의 대응 관계와 동일하다.
또한, 상기한 바와 같이, 식 10a, 10b에 의해 Merr_p(k) 또는 Ferr_p(k)를 갱신하여 보용의 수정을 행하는 것은 상기 제 2 실시형태에 적용해도 된다.
또, 상기 제 1 실시형태 또는 제 2 실시형태에서는, △Merr(k) 및 △Ferr(k)의 수렴판단을 도 13의 S316 또는 도 18의 S816에서 행할 때, 그것들의 시계열의 소정의 특징량이 허용범위에 들어가 있는지 아닌지의 판단에 의해 행하도록 했는데, 이 수렴판단을, 도 13의 S318~S328의 처리, 또는, 도 18의 S818~S828의 처리의 반복 회수가 소정 회수(복수회)에 도달했는지 아닌지에 의해 행하도록 해도 된다. 즉, 도 13의 S318~S328의 처리, 또는, 도 18의 S818~S828의 처리를, 어느 정도의 회수, 반복하면, 통상, △Merr(k) 및 △Ferr(k)의 시계열의 특징량은 0 근처에 수렴한다. 따라서, 상기한 바와 같이 반복 회수에 의해, △Merr(k) 및 △Ferr(k)의 수렴판단을 행하도록 해도 된다. 또는, 각 회의 보용의 생성시에 그 생 성한 보용의 운동과, 전회생성한 보용의 운동과의 차(예를 들면 상체 등의 어떤 부위의 위치?자세의 차)를 기초로, △Merr(k) 및 △Ferr(k)의 수렴판단을 행해도 된다.
또, 상기 각 실시형태에서는, 목표 ZMP 주위의 상반력 모멘트 수평성분에 관한 오차(Merr_p(k))을 사용하도록 했는데, 목표 ZMP와 다른 점에 작용점을 설정하고, 그 작용점 주위의 상반력 모멘트 수평성분에 관한 오차(여기에서는, 이것을 Merr_p'(k)라고 함)를 사용해도 된다. 이 경우, 도 14의 S412의 처리에서, 이 작용점 주위의 상반력 모멘트 수평성분의 목표값(목표 ZMP 주위의 상반력 모멘트 수평성분이 0이 되는 목표값)으로부터 당해 오차(Merr_p'(k))를 뺀 것이 발생하도록 상체 수평가속도와 상체자세 각가속도를 결정하는 것이, 목표 ZMP 주위에 -Merr_p(k)가 발생하도록 상체 수평가속도와 상체자세 각가속도를 결정하는(나아가서는 목표 보용의 운동의 순시값을 결정하는) 것과 동등하게 된다.
또, 상기 각 실시형태에서는 로봇(1)의 주행을 행하는 경우를 예로 들어서 설명했지만, 로봇(1)의 보행을 행하는 경우에도 본 발명을 적용할 수 있다. 이 경우, 상반력 연직성분 궤도(또는 그것을 규정하는 패러미터)는, 예를 들면 상기 공보문헌 1의 도 40에 도시되는 바와 같이 설정하면 된다. 또한, 상체 경사각 복원기간은 예를 들면 양다리 지지기에 설정하면 된다. 또는, 보용생성에서 상정하는 바닥의 마찰계수가 크고, 보용의 1보 전 기간에서 상반력 수평성분 허용범위가 충분히 큰 경우(생성하는 보용의 운동에 의해 발생하는 병진 상반력 수평성분이 확실하게 상반력 수평성분 허용범위에 들어가는 경우)에는, 그 전체 기간을 상체 경사 각 복원기간으로 해도 된다. 또한, 이 경우에는, 상체 경사 복원 모멘트 ZMP 환산값은 0이어도 된다.
또, 상기 각 실시형태에서는, 상반력 모멘트 오차(Merr_p(k))를 사용하도록 했는데, 이 Merr_p(k)를 보용의 각 시각(k)에서 목표 상반력 연직성분에서 제산한 것이 시각(k)에서의 ZMP(로봇(1)의 보용의 운동에 의해 발생하는 관성력과 중력과의 합력의 모멘트 수평성분이 0이 되는 바닥면상의 점)의 목표 ZMP로부터의 벗어남량(오차)에 상당하는 것이 된다. 따라서, 상반력 모멘트 오차(Merr_p(k)) 대신에 ZMP의 목표 ZMP로부터의 오차(여기에서는, 이것을 ZMP 오차(ZMPerr_p(k))라고 함)를 사용하도록 해도 된다. 이 경우, 도 14의 S412의 처리에서는, 로봇(1)의 보용의 운동에 의해 발생하는 관성력과 중력과의 합력이, ZMP 오차(ZMPerr_p(k))(Merr_p(k)를 목표 ZMP에 대한 ZMP의 벗어남량으로 환산한 값)의 분량 만큼, 또는 ZMP 오차(ZMPerr_p(k))에 소정의 계수(예를 들면 1 이하의 정수)을 곱하여 이루어지는 값의 분량 만큼, 목표 ZMP로부터 역방향으로 벗어난 점(목표 ZMP로부터 -ZMPerr_p(k))만큼 위치를 벗어나게 한 점, 또는, 목표 ZMP로부터, -ZMPerr_p(k)에 소정의 계수를 곱하여 이루어지는 값의 분량 만큼 위치를 벗어나게 한 점)의 주위에 작용하는 상반력 모멘트의 수평성분이 0이 되도록 상체 수평가속도와 상체자세 각가속도를 결정하는 것이, 목표 ZMP 주위에 -Merr_p(k) 또는 이것에 소정의 계수를 곱하여 이루어지는 상반력 모멘트 수평성분이 발생하도록 상체 수평가속도와 상체자세 각가속도를 결정하는(나아가서는 목표 보용의 운동의 순시값을 결정하는) 것과 동등하게 된다. 또한, 이것은, 작성하려고 하는 보용의 운동 으로부터 단순화 모델상에서 산출되는 ZMP의 위치에, ZMPerr_p(k), 또는 ZMPerr_p(k)에 소정의 계수를 곱하여 이루어지는 값을 더한 것이 목표 ZMP의 위치에 일치하도록 상체 수평가속도와 상체자세 각가속도를 결정하는(나아가서는 목표 보용의 운동의 순시값을 결정하는) 것과 동일하다.
이와 같이 상기 각 실시형태에서 Merr_p(k) 대신에 오차 ZMPerr_p(k)를 사용함으로써 상기 제 7 발명, 제 8 발명, 제 11 발명, 제 12 발명, 제 17 발명, 제 18 발명의 실시형태가 구축되게 된다. 이 경우, 보다 상세하게는, 제 1 실시형태에서, 도 13의 S306, S322, 또는, 도 18의 S806, S822의 처리 중에서, 도 14의 S418에서 구한 Merr(k)를 해당 시각(k)에서의 상반력 연직성분의 순시값으로 제산한 것을 새로운 ZMP 오차(ZMPerr_p(k))로서 결정하면 된다. 이때, 도 14의 S414에서, 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트(Msmpl(k))를, 이 단순화 모델의 실제의 연산에 의해 산출한 경우에는, 상기한 바와 같이 결정되는 오차 ZMPerr_p(k)는 도 13의 S306, S322, 또는, 도 18의 S806, S822의 처리에서 작성 중의 보용의 운동으로부터 세미 풀 모델상에서 산출되는 ZMP와, 이 운동으로부터 단순화 모델상에서 산출되는 ZMP와의 차를 의미하는 것이 된다. 또한, S308, S324, 또는, S808, S824에서는, 각 시각(k)에서, 새롭게 구한 ZMP 오차와, 그 하나 전의 보용생성시에 구한 ZMP 오차와의 차를 ZMP 오차 변화량(△ZMPerr(k))으로서 구하고, 그것을 S316 또는 S816의 판단 처리에서, △Merr 대신에 사용하면 된다. 이렇게 함으로써 상기 제 7 발명 및 제 17 발명의 실시형태(이하, 제 3 실시형태라고 함)가 구성되게 된다.
또한, 이 제 3 실시형태에서, 상기 제 2 실시형태와 같이, 도 13의 S300~S312의 처리의 종료 후, 도 13의 S318~S328의 처리를 실행하기 전의 최초의 S316의 판단 처리를 생략하거나, 또는, 도 18의 S800~S812의 처리의 종료 후, 도 18의 S818~S828의 처리를 실행하기 전의 최초의 S816의 판단 처리를 생략함으로써 제 8 발명 및 제 18 발명의 실시형태(이하, 제 4 실시형태라고 함)가 구성되게 된다.
또, 상기 제 3 실시형태 또는 제 4 실시형태에서, 도 14의 S414에서, 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트(Msmpl(k))를, 상기 식 3a에 의해 목표 ZMP 주위의 상반력 모멘트 수평성분의 목표값(=0)과 Merr_p(k)의 차로서 산출한 경우에는, 상기한 바와 같이 결정되는 오차(ZMPerr_p(k))는, 도 13의 S306, S322, 또는, 도 18의 S806, S822의 처리에서 작성 중의 보용의 운동(임시 운동)으로부터 세미 풀 모델상에서 산출되는 ZMP와, 목표 ZMP와의 차를 의미하게 된다. 따라서, 이 경우의 실시형태는, 상기 제 11 발명 혹은 제 12 발명의 실시형태에 상당하는 것이 된다.
이와 같이 상기 제 1 실시형태 또는 제 2 실시형태에서 Merr_p(k) 대신에 ZMP 오차(ZMPerr_p(k))를 사용함으로써 상기 제 7 발명, 제 8 발명, 제 10 발명, 제 15 발명, 제 16 발명의 실시형태가 구축되게 된다. 단, 공중기를 갖는 보용을 생성하는 경우, 그 공중기에서는, 상반력 연직성분이 0이 되어 ZMP가 부정으로 되기 때문에, 상기 실시형태돠 같이, 상반력 모멘트 오차를 사용하는 것이 바람직하다. 또한, 로봇(1)의 보행보용을 생성하는 경우에는, 공중기가 없으므로, 보용의 전체 기간에 있어서 ZMPerr_p(k)를 사용할 수 있다. 또, 상기한 바와 같이 하여 결정되는 ZMP 오차(ZMPerr_p(k)) 대신에, 상기 식 10a의 우변을 시각(k)의 상반력 연직성분에서 제산하여 이루어지는 것(이것은 본 발명에서의 ZMP 보정량에 상당함)을 사용해도 된다.
또, 상기 제 1~제 4 실시형태에서는, 도 13 또는 도 18의 처리에서, 목표 ZMP와 상반력 수평성분 허용범위를 만족하는 보용을 그 초기부터 종단까지 생성한 뒤에, 상반력 모멘트 오차(Merr_p(k)) 및 병진 상반력 오차(Ferr_p(k))의 수정을 더한 보용(정상 보용 또는 금회 보용)을 그 초기부터 종단까지 생성하도록 했는데, 각 시각(k) 마다, 목표 ZMP와 상반력 수평성분 허용범위를 만족하는 보용의 순시값 생성과, 이 보용의 운동(임시 운동)을 기초로 결정되는 상반력 모멘트 오차(Merr_p(k)) 및 병진 상반력 오차(Ferr_p(k))의 수정을 더한 보용의 순시값의 생성을 보용의 초기부터 종단까지 차례로 행하도록 해도 된다.
또, 앞에서도 기술한 바와 같이 상기 세미 풀 모델은 풀 모델 보정용의 풀 모델과 동일해도 된다. 이 경우, 보용 패러미터를 탐색적으로 결정하기 위한 처리(도 10의 S024, S028의 처리)를 단시간에 효율적으로 행하는 점에서는, 세미 풀 모델용의 상반력 수평성분 허용범위는 풀 모델용의 상반력 수평성분 허용범위보다도 넓게 설정하는 것이 바람직하다.
또, 상기 제 1~제 4 실시형태에서는, 풀 모델에 의한 보용의 보정 처리를 제외하고, 목표 ZMP 주위의 병진 상반력 수평성분의 허용범위만을 설정하도록 했는데, 로봇(1)의 스핀을 방지하기 위해서, 목표 ZMP 주위의 상반력 모멘트 연직성분의 허용범위도 설정하도록 해도 된다. 이 경우, 상반력 모멘트 오차에 관해서는, 목표 ZMP, 상반력 수평성분 허용범위, 및 상반력 모멘트 연직성분의 허용범위를 만족하도록 단순화 모델상에서 작성한 보용의 운동에 대해, 상반력 모멘트 수평성분의 오차뿐만 아니라, 상반력 모멘트 연직성분의 오차도 구해 두고, 단순화 모델상에서 발생하는 상반력 모멘트 연직성분에 이 연직성분에 대한 오차를 더한 모멘트가 이 연직성분에 대한 허용범위를 만족하도록 목표 보용의 운동을 생성해도 된다.
또, 도 13의 S306 또는 도 18의 S806의 처리 중에서, 병진 상반력 연직성분의 오차도 구해 두고, 단순화 모델상에서 발생하는 병진 상반력 연직성분에 당해 오차를 더한 것이, 병진 상반력 연직성분의 목표값을 만족하도록 목표 보용의 운동을 생성해도 된다.
이상의 설명으로부터 명확한 바와 같이, 본 발명의 이동 로봇의 보용생성장치는 로봇의 슬립 등을 방지할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 동역학적 정밀도를 양호하게 확보할 수 있고, 특히 2족이동 로봇과 같은 본래 안정성이 낮은 이동 로봇의 보용을 이 이동 로봇의 안정성을 확보하면서 생성할 수 있는 점에서 유용하다.

Claims (18)

  1. 이동 로봇의 운동에 의해 발생하는 상반력의 소정의 상반력 성분의 허용범위를 설정하고, 그 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
    상기 이동 로봇의 운동과 상반력의 관계를 근사 표현하는 제 1 동역학 모델을 사용하고, 상기 상반력 성분이 상기 허용범위를 만족하도록, 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
    상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 따라 상기 제 2 동역학 모델상에서 발생하는 상기 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분과의 차인 상반력 성분 오차를 구하는 상반력 성분 오차 산출수단과,
    상기 작성된 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차가 소정의 허용 오차범위에 들어가 있는지 아닌지를 평가하는 평가수단과,
    상기 평가수단의 평가에서 상기 임시 운동에 대응하는 상반력 성분 오차가 상기 허용 오차범위에 들어가 있는 경우에는, 상기 임시 운동을 상기 목표 운동으로서 결정함과 동시에, 상기 임시 운동에 대응하는 상반력 성분 오차가 상기 허용 오차범위로부터 일탈해 있는 경우에는, 상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
    상기 임시 운동에 대응하는 상반력 성분 오차가 상기 허용 오차범위로부터 일탈해 있는 경우에 있어서, 상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차를 제 n 상반력 성분 오차로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동에 대응하는 상반력 성분 오차를 제 0 상반력 성분 오차로 했을 때,
    상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분에, 제 n-1 상반력 성분 오차와 적어도 이 제 n-1 상반력 성분 오차가 클수록 커지도록 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차와의 차, 및, 상기 제 n 상반력 성분 오차와 적어도 상기 제 n-1 상반력 성분 오차가 클수록 커지도록 결정한 상기 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△FM)이 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  2. 이동 로봇의 운동에 의해 발생하는 상반력의 소정의 상반력 성분의 허용범위를 설정하고, 그 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
    상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
    상기 이동 로봇의 운동과 상반력의 관계를 근사 표현하는 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분과의 차인 상반력 성분 오차를 구하는 상반력 성분 오차 산출수단과,
    상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
    상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차를 제 n 상반력 성분 오차로 하고, 상기 임시 운동을 제 0 수정 후 운동이으로 하고, 상기 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차를 제 0 상반력 성분 오차로 했을 때,
    상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분에, 제 n-1 상반력 성분 오차와 적어도 이 제 n-1 상반력 성분 오차가 클수록 커지도록 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차와의 차, 및, 상기 제 n 상반력 성분 오차와 적어도 상기 제 n-1 상반력 성분 오차가 클수록 커지도록 결정한 상기 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△FM)이 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  3. 이동 로봇의 운동에 의해 발생하는 상반력의 소정의 제 1 상반력 성분의 목표값과 이 제 1 상반력 성분과 상이한 소정의 제 2 상반력 성분의 허용범위를 설정하고, 이 제 1 상반력 성분의 목표값과 제 2 상반력 성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
    상기 이동 로봇의 운동과 상반력의 관계를 근사 표현하는 제 1 동역학 모델을 사용하여, 상기 제 1 상반력 성분이 상기 목표값에 일치하고, 또한, 상기 제 2 상반력 성분이 상기 허용범위를 만족하도록, 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
    상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과의 차인 상반력 성분 오차(Aerr)를 구함과 동시에, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과의 차인 상반력 성분 오차(Berr)를 구하는 상반력 성분 오차 산출수단과,
    상기 작성된 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차(Aerr, Berr) 중 상반력 성분 오차(Aerr)가 소정의 제 1 허용 오차범위에 들어가 있는지 아닌지를 평가함과 동시에, 상반력 성분 오차(Berr)가 소정의 제 2 허용 오차범위에 들어가 있는지 아닌지를 평가하는 평가수단과,
    상기 평가수단의 평가에서 상기 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr)의 양자가 각각에 대응하는 상기 제 1 허용 오차범위 및 제 2 허용 오차범위에 들어가 있는 경우에는, 상기 임시 운동을 상기 목표 운동으로서 결정함과 동시에, 상기 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr)의 적어도 어느 한쪽이 그것에 대응하는 상기 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에는, 상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
    상기 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr)의 적어도 어느 한쪽이 그것에 대응하는 상기 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에 있어서, 상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차(Aerr, Berr)를 각각 제 n 상반력 성분 오차(Aerr(n), Berr(n))로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동에 대응하는 상반력 성분 오차(Aerr, Berr)를 각각 제 0 상반력 성분 오차(Aerr(0), Berr(0))로 했을 때,
    상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분에, 제 n-1 상반력 성분 오차(Aerr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Aerr(n-1))가 클수록 커지도록 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 상기 목표값에 일치하고, 또한, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분에, 제 n-1 상반력 성분 오차(Berr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Berr(n-1))가 클수록 커지도록 결정한 제 2 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차(Aerr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차(Aerr(n-1))와의 차, 및, 상기 제 n 상반력 성분 오차(Aerr(n))와 적어도 상기 제 n-1 상반력 성분 오차(Aerr(n-1))가 클수록 커지도록 결정한 상기 제 1 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△Aerr)과, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차(Berr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차(Berr(n-1))와의 차, 및, 상기 제 n 상반력 성분 오차(Berr(n))와 적어도 상기 제 n-1 상반력 성분 오차(Berr(n-1))가 클수록 커지도록 결정한 상기 제 2 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△Berr)이 각각 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 상반력 성분 오차 변화량(△Aerr, △Berr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 상기 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  4. 이동 로봇의 운동에 의해 발생하는 상반력의 소정의 제 1 상반력 성분의 목표값과 이 제 1 상반력 성분과 상이한 소정의 제 2 상반력 성분의 허용범위를 설정하고, 이 제 1 상반력 성분의 목표값과 제 2 상반력 성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
    상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
    상기 이동 로봇의 운동과 상반력의 관계를 근사 표현하는 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분과의 차인 상반력 성분 오차(Aerr)를 구함과 동시에, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분과의 차인 상반력 성분 오차(Berr)를 구하는 상반력 성분 오차 산출수단과,
    상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
    상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차(Aerr, Berr)를 각각 제 n 상반력 성분 오차(Aerr(n), Berr(n))로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 상반력 성분 오차(Aerr, Berr)를 각각 제 0 상반력 성분 오차(Aerr(0), Berr(0))로 했을 때,
    상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분에, 제 n-1 상반력 성분 오차(Aerr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Aerr(n-1))가 클수록 커지도록 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 상기 목표값에 일치하고, 또한, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분에, 제 n-1 상반력 성분 오차(Berr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Berr(n-1))가 클수록 커지도록 결정한 제 2 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차(Aerr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차(Aerr(n-1))와의 차, 및, 상기 제 n 상반력 성분 오차(Aerr(n))와 적어도 상기 제 n-1 상반력 성분 오차(Aerr(n-1))가 클수록 커지도록 결정한 상기 제 1 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△Aerr)과, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 상반력 성분 오차(Berr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 상반력 성분 오차(Berr(n-1))와의 차, 및, 상기 제 n 상반력 성분 오차(Berr(n))와 적어도 상기 제 n-1 상반력 성분 오차(Berr(n-1))가 클수록 커지도록 결정한 상기 제 2 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 상반력 성분 오차 변화량(△Berr)이 각각 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 상반력 성분 오차 변화량(△Aerr, △Berr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 상기 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  5. 제 1 항 또는 제 2 항에 있어서, 상기 상반력 성분은 상기 이동 로봇에 작용하는 상반력의 병진 상반력 수평성분인 것을 특징으로 하는 이동 로봇의 보용생성 장치.
  6. 제 3 항 또는 제 4 항에 있어서, 제 1 상반력 성분은 상기 이동 로봇에 작용하는 상반력의 미리 정해진 작용점 주위의 상반력 모멘트 수평성분이며, 상기 제 2 상반력 성분은 상기 이동 로봇에 작용하는 상반력의 병진 상반력 수평성분인 것을 특징으로 하는 이동 로봇의 보용생성장치.
  7. 이동 로봇의 목표 ZMP와 이 이동 로봇의 운동에 의해 발생하는 병진 상반력 수평성분의 허용범위를 설정하고, 이 목표 ZMP와 병진 상반력 수평성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
    상기 이동 로봇의 운동과 상반력의 관계를 근사 표현하는 제 1 동역학 모델을 사용하여, 상기 목표 ZMP를 만족하고, 또한, 상기 병진 상반력 수평성분이 상기 허용범위를 만족하도록, 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
    상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 산출되는 ZMP와 이 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP와의 차인 ZMP 오차(ZMPerr)를 구함과 동시에, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분과의 차인 병진 상반력 수평성분 오차(Ferr)를 구하는 오차 산출수단과,
    상기 작성된 임시 운동으로부터 상기 오차 산출수단에 의해 구해지는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr) 중 ZMP 오차(ZMPerr)가 소정의 제 1 허용 오차범위에 들어가 있는지 아닌지를 평가함과 동시에, 병진 상반력 수평성분 오차(Ferr)가 소정의 제 2 허용 오차범위에 들어가 있는지 아닌지를 평가하는 평가수단과,
    상기 평가수단의 평가에 있어서 상기 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)의 양자가 각각 대응하는 상기 제 1 허용 오차범위 및 제 2 허용 오차범위에 들어가 있는 경우에는, 상기 임시 운동을 상기 목표 운동으로서 결정함과 동시에, 상기 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)의 적어도 어느 한쪽이 그것에 대응하는 상기 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에는, 상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
    상기 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)의 적어도 어느 한쪽이 그것에 대응하는 상기 제 1 허용 오차범위 또는 제 2 허용 오차범위로부터 일탈해 있는 경우에 있어서, 상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n:n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)를 각각 제 n ZMP 오차(ZMPerr(n)) 및 제 n 병진 상반력 수평성분 오차(Ferr(n))로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동에 대응하는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)를 각각 제 0 ZMP 오차(ZMPerr(0)) 및 제 0 병진 상반력 수평성분 오차(Ferr(0))로 했을 때,
    상기 목표 운동 결정수단은 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP에, 제 n-1 ZMP 오차(ZMPerr(n-1))와 적어도 이 제 n-1 ZMP 오차(ZMPerr(n-1))가 클수록 커지도록 결정한 ZMP 보정량 중 어느 하나를 더한 것이 상기 목표 ZMP에 일치하고, 또한, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분에, 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))와 적어도 이 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))가 클수록 커지도록 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n ZMP 오차(ZMPerr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 ZMP 오차(ZMPerr(n-1))와의 차, 및, 상기 제 n ZMP 오차(ZMPerr(n))와 적어도 상기 제 n-1 ZMP 오차(ZMPerr(n-1))가 클수록 커지도록 결정한 상기 ZMP 보정량과의 차의 어느 한쪽으로서 정의되는 ZMP 오차 변화량(△ZMPerr)과, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 병진 상반력 수평성분 오차(Ferr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))와의 차, 및, 제 n 병진 상반력 수평성분 오차(Ferr(n))와 적어도 상기 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))가 클수록 커지도록 결정한 상기 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 병진 상반력 수평성분 오차 변화량(△Ferr)이 각각 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 ZMP 오차 변화량(△ZMPerr) 및 병진 상반력 수평성분 오차 변화량(△Ferr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 상기 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  8. 이동 로봇의 목표 ZMP와 이 이동 로봇의 운동에 의해 발생하는 병진 상반력 수평성분의 허용범위를 설정하고, 이 목표 ZMP와 병진 상반력 수평성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
    상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 목표 운동 작성수단과,
    상기 이동 로봇의 운동과 상반력의 관계를 근사 표현하는 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하고, 상기 이동 로봇의 임의의 운동에 대해, 이 운동에 의해 상기 제 2 동역학 모델상에서 산출되는 ZMP와 이 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP와의 차인 ZMP 오차(ZMPerr)를 구함과 동시에, 이 운동에 의해 상기 제 2 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분과 이 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분과의 차인 병진 상반력 수평성분 오차(Ferr)를 구하는 오차 산출수단과,
    상기 임시 운동을 적어도 1회 이상 수정하여 상기 목표 운동을 결정하는 목표 운동 결정수단을 구비하고,
    상기 목표 운동 결정수단이 상기 임시 운동의 제 n회째(n=n≥1인 정수)의 수정에 의해 구하는 수정 후 운동을 제 n 수정 후 운동으로 하고, 이 제 n 수정 후 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)를 각각 제 n ZMP 오차(ZMPerr(n)) 및 제 n 병진 상반력 수평성분 오차(Ferr(n))로 하고, 상기 임시 운동을 제 0 수정 후 운동으로 하고, 상기 임시 운동으로부터 상기 상반력 성분 오차 산출수단에 의해 구해지는 ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)를 각각 제 0 ZMP 오차(ZMPerr(0)) 및 제 0 병진 상반력 수평성분 오차(Ferr(0))로 했을 때,
    상기 목표 운동 결정수단은, 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP에, 제 n-1 ZMP 오차(ZMPerr(n-1))와 적어도 이 제 n-1 ZMP 오차(ZMPerr(n-1))가 클수록 커지도록 결정한 ZMP 보정량 중 어느 하나를 더한 것이 상기 목표 ZMP에 일치하고, 또한, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 병진 상반력 수평성분에, 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))와 적어도 이 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))가 클수록 커지도록 결정한 상반력 보정량 중 어느 하나를 더한 것이 상기 허용범위를 만족하도록 제 n 수정 후 운동을 결정하는 수정 후 운동결정 처리와, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n ZMP 오차(ZMPerr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 ZMP 오차(ZMPerr(n-1))와의 차, 및, 상기 제 n ZMP 오차(ZMPerr(n))와 적어도 상기 제 n-1 ZMP 오차(ZMPerr(n-1))가 클수록 커지도록 결정한 상기 ZMP 보정량과의 차의 어느 한쪽으로서 정의되는 ZMP 오차 변화량(△ZMPerr)과, 상기 결정한 제 n 수정 후 운동에 대응하는 제 n 병진 상반력 수평성분 오차(Ferr(n))와 제 n-1 수정 후 운동에 대응하는 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))와의 차, 및, 제 n 병진 상반력 수평성분 오차(Ferr(n))와 적어도 상기 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))가 클수록 커지도록 결정한 상기 상반력 보정량과의 차의 어느 한쪽으로서 정의되는 병진 상반력 수평성분 오차 변화량(△Ferr)이 각각 0에 수렴했는지 아닌지를 판단하는 수렴판단 처리를 적어도 이 ZMP 오차 변화량(△ZMPerr) 및 병진 상반력 수평성분 오차 변화량(△Ferr)의 양자가 0에 수렴했다고 판단될 때까지 반복하고, 이 반복 처리에서의 최후의 상기 수정 후 운동결정 처리에서 결정한 수정 후 운동을 상기 목표 운동으로서 결정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  9. 제 3 항에 있어서, 상기 상반력 성분 오차 산출수단은, 상기 임시 운동에 대해서는, 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분으로서, 상기 목표값을 사용함으로써 이 임시 운동에 대응하는 상기 상반력 성분 오차(Aerr)를 산출하고, 상기 임시 운동 이외의 제 n 수정 후 운동에 대해서는, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분으로서, 상기 목표값으로부터 상기 제 n-1 상반력 성분 오차(Aerr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Aerr(n-1))가 클수록 커지도록 결정한 상기 제 1 상반력 보정량 중 어느 하나를 뺀 것을 사용함으로써 이 제 n 수정 후 운동에 대응하는 상기 상반력 성분 오차(Aerr)를 산출하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  10. 제 4 항에 있어서, 상기 임시 운동 작성수단은 적어도 상기 제 1 동역학 모델상에서 상기 제 1 상반력 성분의 목표값을 만족하도록 상기 임시 운동을 작성하는 수단이고,
    상기 상반력 성분 오차 산출수단은, 상기 임시 운동에 대해서는, 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분으로서, 상기 목표값을 사용함으로써 이 임시 운동에 대응하는 상기 상반력 성분 오차(Aerr)를 산출하고, 상기 임시 운동 이외의 제 n 수정 후 운동에 대해서는, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분으로서, 상기 목표값으로부터 상기 제 n-1 상반력 성분 오차(Aerr(n-1))와 적어도 이 제 n-1 상반력 성분 오차(Aerr(n-1))가 클수록 커지도록 결정한 상기 제 1 상반력 보정량 중 어느 하나를 뺀 것을 사용함으로써 이 제 n 수정 후 운동에 대응하는 상기 상반력 성분 오차(Aerr)를 산출하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  11. 제 7 항에 있어서, 상기 상반력 성분 오차 산출수단은, 상기 임시 운동에 대해서는, 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP로서, 상기 목표 ZMP를 사용함으로써 이 임시 운동에 대응하는 상기 ZMP 오차(ZMPerr)를 산출하고, 상기 임시 운동 이외의 제 n 수정 후 운동에 대해서는, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP로서, 상기 목표 ZMP로부터 상기 제 n-1 ZMP 오차(ZMPerr(n-1))와 적어도 이 제 n-1 ZMP 오차(ZMPerr(n-1))가 클수록 커지도록 결정한 상기 ZMP 보정량 중 어느 하나를 뺀 것을 사용함으로써 이 제 n 수정 후 운동에 대응하는 ZMP 오차(ZMPerr)를 산출하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  12. 제 8 항에 있어서, 상기 임시 운동 작성수단은 적어도 상기 제 1 동역학 모델상에서 상기 목표 ZMP를 만족하도록 상기 임시 운동을 작성하는 수단이고,
    상기 상반력 성분 오차 산출수단은, 상기 임시 운동에 대해서는, 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP로서, 상기 목표 ZMP를 사용함으로써 이 임시 운동에 대응하는 상기 ZMP 오차(ZMPerr)를 산출하고, 상기 임시 운동 이외의 제 n 수정 후 운동에 대해서는, 이 제 n 수정 후 운동에 의해 상기 제 1 동역학 모델상에서 산출되는 ZMP로서, 상기 목표 ZMP로부터 상기 제 n-1 ZMP 오차(ZMPerr(n-1))와 적어도 이 제 n-1 ZMP 오차(ZMPerr(n-1))가 클수록 커지도록 결정한 상기 ZMP 보정량 중 어느 하나를 뺀 것을 사용함으로써 이 제 n 수정 후 운동에 대응하는 ZMP 오차(ZMPerr)를 산출하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
  13. 제 1 항에 있어서, 상기 목표 운동, 임시 운동 및 수정 후 운동은 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이고,
    상기 상반력 성분 오차 산출수단에 의해 구해지는 제 m 상반력 성분 오차(m:m≥0인 정수)는, 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 평가수단의 상기 소정의 허용 오차범위는 상기 제 0 상반력 성분 오차를 구성하는 시계열의 패턴 중 소정의 제 1 특징량에 대한 허용 오차범위이고,
    상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값(FM(t))에, 상기 제 n-1 상반력 성분 오차의 이 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 제 n 수정 후 운동의 순시값을 결정하는 처리이고,
    상기 상반력 성분 오차 변화량(△FM)은 상기 제 n 상반력 성분 오차의 각 시각에서의 값과 제 n-1 상반력 성분 오차의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차의 이 시각에서의 값이 클수록 커지도록 결정한 상기 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 상반력 성분 오차 변화량(△FM)을 구성하는 시계열의 패턴 중 소정의 제 2 특징량이 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단하는 처리인 것을 특징으로 하는 이동 로봇의 보용생성장치.
  14. 제 2 항에 있어서, 상기 목표 운동, 임시 운동 및 수정 후 운동은 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이고,
    상기 상반력 성분 오차 산출수단에 의해 구해지는 제 m 상반력 성분 오차(m:m≥0인 정수)는, 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 상반력 성분의 순시값(FM(t))에, 상기 제 n-1 상반력 성분 오차의 이 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상기 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 제 n 수정 후 운동의 순시값을 결정하는 처리이고,
    상기 상반력 성분 오차 변화량(△FM)은, 상기 제 n 상반력 성분 오차의 각 시각에서의 값과 제 n-1 상반력 성분 오차의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차의 이 시각에서의 값이 클수록 커지도록 결정한 상기 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 상반력 성분 오차 변화량(△FM)을 구성하는 시계열의 패턴 중 소정의 특징량이 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△FM)이 0에 수렴했다고 판단하는 처리인 것을 특징으로 하는 이동 로봇의 보용생성장치.
  15. 제 3 항에 있어서, 상기 목표 운동, 임시 운동 및 수정 후 운동은 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이며,
    상기 상반력 성분 오차 산출수단에 의해 구해지는 제 m 상반력 성분 오차(Aerr, Berr)(m:m≥0인 정수) 중 제 m 상반력 성분 오차(Aerr)는 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값의 차의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 제 m 상반력 성분 오차(Berr)는, 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 평가수단의 상기 소정의 제 1 허용 오차범위는, 상기 제 0 상반력 성분 오차(Aerr(0))를 구성하는 시계열 패턴 중 소정의 제 1 특징량에 대한 허용 오차범위임과 동시에 상기 소정의 제 2 허용 오차범위는, 상기 제 0 상반력 성분 오차(Berr)(0)를 구성하는 시계열의 패턴 중 소정의 제 2 특징량에 대한 허용 오차범위이고,
    상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값에, 상기 제 n-1 상반력 성분 오차(Aerr(n-1))의 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상기 제 1 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표값을 만족하고, 또한, 이 제 n 수정 후 운동에 의해 이 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값에, 상기 제 n-1 상반력 성분 오차(Berr(n-1))의 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상기 제 2 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 제 n 수정 후 운동의 순시값을 결정하는 처리이고,
    상기 상반력 성분 오차 변화량(△Aerr)은, 상기 제 n 상반력 성분 오차(Aerr(n))의 각 시각에서의 값과 제 n-1 상반력 성분 오차(Aerr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차(Aerr(n))의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차(Aerr(n-1))의 이 시각에서의 값이 클수록 커지도록 결정한 상기 제 1 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 상반력 성분 오차 변화량(△Berr)은, 상기 제 n 상반력 성분 오차(Berr(n))의 각 시각에서의 값과 제 n-1 상반력 성분 오차(Berr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차(Berr(n))의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차(Berr(n-1))의 이 시각에서의 값이 클수록 커지도록 결정한 상기 제 2 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에서의 시계열로부터 구성되고,
    상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 상반력 성분 오차 변화량(△Aerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이 제 3 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△Aerr)이 0에 수렴했다고 판단함과 동시에, 상기 상반력 성분 오차 변화량(△Berr)을 구성하는 시계열의 패턴 중 제 4 특징량이 이 제 4 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△Berr)이 0에 수렴했다고 판단하는 처리인 것을 특징으로 하는 이동 로봇의 보용생성장치.
  16. 제 4 항에 있어서, 상기 목표 운동, 임시 운동 및 수정 후 운동은 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이고,
    상기 상반력 성분 오차 산출수단에 의해 구해지는 제 m 상반력 성분 오차(Aerr, Berr)(m:m≥0인 정수) 중 제 m 상반력 성분 오차(Aerr)는 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 제 m 상반력 성분 오차(Berr)는 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 제 1 상반력 성분의 순시값에, 상기 제 n-1 상반력 성분 오차(Aerr(n-1))의 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상기 제 1 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표값을 만족하고, 또한, 이 제 n 수정 후 운동에 의해 이 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 상기 제 2 상반력 성분의 순시값에, 상기 제 n-1 상반력 성분 오차(Berr(n-1))의 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상기 제 2 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 제 n 수정 후 운동의 순시값을 결정하는 처리이고,
    상기 상반력 성분 오차 변화량(△Aerr)은, 상기 제 n 상반력 성분 오차(Aerr(n))의 각 시각에서의 값과 제 n-1 상반력 성분 오차(Aerr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차(Aerr(n))의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차(Aerr(n-1))의 이 시각에서의 값이 클수록 커지도록 결정한 상기 제 1 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 상반력 성분 오차 변화량(△Berr)은, 상기 제 n 상반력 성분 오차(Berr(n))의 각 시각에서의 값과 제 n-1 상반력 성분 오차(Berr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 상반력 성분 오차(Berr(n))의 각 시각에서의 값과 적어도 제 n-1 상반력 성분 오차(Berr(n-1))의 이 시각에서의 값이 클수록 커지도록 결정한 상기 제 2 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 상반력 성분 오차 변화량(△Aerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이 제 3 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△Aerr)이 0에 수렴했다고 판단함과 동시에, 상기 상반력 성분 오차 변화량(△Berr)을 구성하는 시계열의 패턴 중 제 4 특징량이 이 제 4 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 상반력 성분 오차 변화량(△Berr)이 0에 수렴했다고 판단하는 처리인 것을 특징으로 하는 이동 로봇의 보용생성장치.
  17. 제 7 항에 있어서, 상기 목표 운동, 임시 운동 및 수정 후 운동은 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이고,
    상기 오차 산출수단에 의해 구해지는 제 m ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)(m:m≥0인 정수) 중 제 m ZMP 오차(ZMPerr)는, 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 산출되는 ZMP의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 산출되는 ZMP의 순시값의 차의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 제 m 병진 상반력 수평성분 오차(Ferr)는, 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 평가수단의 상기 소정의 제 1 허용 오차범위는 상기 제 0 ZMP 오차(ZMPerr(0))를 구성하는 시계열의 패턴 중 소정의 제 1 특징량에 대한 허용 오차범위임과 동시에, 상기 소정의 제 2 허용 오차범위는 상기 제 0 병진 상반력 수평성분 오차(Ferr(0))를 구성하는 시계열의 패턴 중 소정의 제 2 특징량에 대한 허용 오차범위이고,
    상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 산출되는 ZMP의 순시값에, 상기 제 n-1 ZMP 오차(ZMPerr(n-1))의 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상기 ZMP 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표 ZMP를 만족하고, 또한, 이 제 n 수정 후 운동에 의해 이 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값에, 상기 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상기 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 제 n 수정 후 운동의 순시값을 결정하는 처리이고,
    상기 ZMP 오차 변화량(△ZMPerr)은, 상기 제 n ZMP 오차(ZMPerr(n))의 각 시각에서의 값과 제 n-1 ZMP 오차(ZMPerr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n ZMP 오차(ZMPerr(n))의 각 시각에서의 값과 적어도 제 n-1 ZMP 오차(ZMPerr(n-1))의 이 시각에서의 값이 클수록 커지도록 결정한 상기 ZMP 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)은, 상기 제 n 병진 상반력 수평성분 오차(Ferr(n))의 각 시각에서의 값과 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 병진 상반력 수평성분 오차(Ferr(n))의 각 시각에서의 값과 적어도 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 이 시각에서의 값이 클수록 커지도록 결정한 상기 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 ZMP 오차 변화량(△ZMPerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이 제 3 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 ZMP 오차 변화량(△ZMPerr)이 0에 수렴했다고 판단함과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)을 구성하는 시계열의 패턴 중 소정의 제 4 특징량이 이 제 4 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 병진 상반력 수평성분 오차 변화량(△Ferr)가 0에 수렴했다고 판단하는 처리인 것을 특징으로 하는 이동 로봇의 보용생성장치.
  18. 제 8 항에 있어서, 상기 목표 운동, 임시 운동 및 수정 후 운동은 소정 기간에 있어서의 상기 이동 로봇의 운동의 순시값의 시계열로부터 구성되는 것이고,
    상기 오차 산출수단에 의해 구해지는 제 m ZMP 오차(ZMPerr) 및 병진 상반력 수평성분 오차(Ferr)(m:m≥0인 정수) 중 제 m ZMP 오차(ZMPerr)는, 제 m 수정 후 운동에 의해 이 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 산출되는 ZMP의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 산출되는 ZMP의 순시값과의 차의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 제 m 병진 상반력 수평성분 오차(Ferr)는 제 m 수정 후 운동의 각 시각에 상기 제 2 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값과 이 제 m 수정 후 운동에 의해 이 시각에 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값과의 차의 상기 소정 기간에서의 시계열로부터 구성되고,
    상기 목표 운동 결정수단의 상기 수정 후 운동결정 처리는, 상기 제 n 수정 후 운동의 각 시각(t)에서, 이 제 n 수정 후 운동에 의해 시각(t)에 상기 제 1 동역학 모델상에서 산출되는 ZMP의 순시값에, 상기 제 n-1 ZMP 오차(ZMPerr(n-1))의 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상기 ZMP 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표 ZMP를 만족하고, 또한, 이 제 n 수정 후 운동에 의해 이 시각(t)에 상기 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분의 순시값에, 상기 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 시각(t)에서의 값과 적어도 이 값이 클수록 커지도록 결정한 상기 상반력 보정량의 값 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 제 n 수정 후 운동의 순시값을 결정하는 처리이고,
    상기 ZMP 오차 변화량(△ZMPerr)은 상기 제 n ZMP 오차(ZMPerr(n))의 각 시각에서의 값과 제 n-1 ZMP 오차(ZMPerr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n ZMP 오차(ZMPerr(n))의 각 시각에서의 값과 적어도 제 n-1 ZMP 오차(ZMPerr(n-1))의 이 시각에서의 값이 클수록 커지도록 결정한 상기 ZMP 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성됨과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)은, 상기 제 n 병진 상반력 수평성분 오차(Ferr(n))의 각 시각에서의 값과 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 이 시각에서의 값과의 차, 및, 상기 제 n 병진 상반력 수평성분 오차(Ferr(n))의 각 시각에서의 값과 적어도 제 n-1 병진 상반력 수평성분 오차(Ferr(n-1))의 이 시각에서의 값이 클수록 커지도록 결정한 상기 상반력 보정량의 값과의 차의 어느 한쪽의 상기 소정 기간에 있어서의 시계열로부터 구성되고,
    상기 목표 운동 결정수단의 상기 수렴판단 처리는, 상기 ZMP 오차 변화량(△ZMPerr)을 구성하는 시계열의 패턴 중 소정의 제 3 특징량이 이 제 3 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 ZMP 오차 변화량(△ZMPerr)이 0에 수렴했다고 판단함과 동시에, 상기 병진 상반력 수평성분 오차 변화량(△Ferr)을 구성하는 시계열의 패턴 중 소정의 제 4 특징량이 이 제 4 특징량에 대한 소정의 허용 변화량 범위에 들어갔을 때에 이 병진 상반력 수평성분 오차 변화량(△Ferr)가 0에 수렴했다고 판단하는 처리인 것을 특징으로 하는 이동 로봇의 보용생성장치.
KR1020067017634A 2004-02-27 2005-02-28 이동 로봇의 보용생성장치 KR101140812B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004052823 2004-02-27
JPJP-P-2004-00052823 2004-02-27
PCT/JP2005/003346 WO2005082582A1 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置

Publications (2)

Publication Number Publication Date
KR20060129423A KR20060129423A (ko) 2006-12-15
KR101140812B1 true KR101140812B1 (ko) 2012-05-03

Family

ID=34908714

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020067017634A KR101140812B1 (ko) 2004-02-27 2005-02-28 이동 로봇의 보용생성장치
KR1020067017772A KR101160161B1 (ko) 2004-02-27 2005-02-28 이동 로봇의 보용생성장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020067017772A KR101160161B1 (ko) 2004-02-27 2005-02-28 이동 로봇의 보용생성장치

Country Status (5)

Country Link
US (2) US7715945B2 (ko)
EP (2) EP1738879B1 (ko)
JP (2) JP4805818B2 (ko)
KR (2) KR101140812B1 (ko)
WO (2) WO2005082582A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7649536B1 (en) * 2006-06-16 2010-01-19 Nvidia Corporation System, method, and computer program product for utilizing natural motions of a user to display intuitively correlated reactions
KR100835354B1 (ko) * 2006-07-05 2008-06-04 삼성전자주식회사 보행로봇 및 그의 제어방법
US7943874B2 (en) * 2007-09-18 2011-05-17 Honeywell International Inc. Ground contact switch for personal navigation system
JP5251253B2 (ja) * 2008-05-20 2013-07-31 株式会社安川電機 脚式歩行ロボットの安定化制御装置
JP5232124B2 (ja) * 2009-10-28 2013-07-10 本田技研工業株式会社 脚式移動ロボットの制御装置
KR101687629B1 (ko) * 2010-01-18 2016-12-20 삼성전자주식회사 인간형 로봇 및 그 보행 제어방법
US8468005B2 (en) 2010-08-12 2013-06-18 International Business Machines Corporation Determining simulation fidelity in a self-optimized simulation of a complex system
US8437993B2 (en) 2010-08-12 2013-05-07 International Business Machines Corporation Dynamically adjusting simulation fidelity based on changes in activity levels of components
US8428921B2 (en) 2010-08-12 2013-04-23 International Business Machines Corporation Dynamically adjusting simulation fidelity based on checkpointed fidelity state
US8407035B2 (en) * 2010-08-12 2013-03-26 International Business Machines Corporation Dynamically adjusting simulation fidelity in a self-optimized simulation of a complex system
WO2016185877A1 (ja) * 2015-05-20 2016-11-24 ボッシュ株式会社 ウェアラブルロボットの制御装置、ウェアラブルロボット、及び、ウェアラブルロボットの制御方法
US9586316B1 (en) * 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
KR102556924B1 (ko) * 2016-09-05 2023-07-18 삼성전자주식회사 보행 보조 방법 및 이를 수행하는 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0856457A2 (en) * 1997-01-31 1998-08-05 Honda Giken Kogyo Kabushiki Kaisha Gait generation system of legged mobile robot
JP2002326173A (ja) 2001-04-27 2002-11-12 Honda Motor Co Ltd 脚式移動ロボットの動作生成装置
WO2003057427A1 (fr) 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot mobile sur jambes
WO2003061917A1 (fr) 2002-01-18 2003-07-31 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot bipede

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3167404B2 (ja) * 1992-02-26 2001-05-21 本田技研工業株式会社 ロボットの関節駆動制御装置
JP3148827B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3273443B2 (ja) * 1992-05-22 2002-04-08 本田技研工業株式会社 ロボットのリンクなどの軌道生成方法及び装置
JP3663034B2 (ja) 1996-07-25 2005-06-22 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
US5872893A (en) * 1996-07-25 1999-02-16 Honda Giken Kogyo Kabushiki Kaisha Gait generation system of legged mobile robot
JP3629133B2 (ja) 1997-01-31 2005-03-16 本田技研工業株式会社 脚式移動ロボットの制御装置
JP3443077B2 (ja) * 1999-09-20 2003-09-02 ソニー株式会社 ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット
JP3615702B2 (ja) * 1999-11-25 2005-02-02 ソニー株式会社 脚式移動ロボットの動作制御装置及び動作制御方法、並びに、脚式移動ロボット
KR100637057B1 (ko) 2000-11-17 2006-10-23 혼다 기켄 고교 가부시키가이샤 레그식 이동 로봇의 보용 생성장치
DE60236460D1 (de) * 2001-12-28 2010-07-01 Honda Motor Co Ltd Gangerzeugungsvorrichtung für beweglichen roboter mit beinen
US6999851B2 (en) * 2002-08-30 2006-02-14 Sony Corporation Robot apparatus and motion controlling method therefor
US7236852B2 (en) * 2002-10-11 2007-06-26 Sony Corporation Motion controlling apparatus and method and remote controlling apparatus and method for legged mobile robot
US7054718B2 (en) * 2002-10-11 2006-05-30 Sony Corporation Motion editing apparatus and method for legged mobile robot and computer program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0856457A2 (en) * 1997-01-31 1998-08-05 Honda Giken Kogyo Kabushiki Kaisha Gait generation system of legged mobile robot
JP2002326173A (ja) 2001-04-27 2002-11-12 Honda Motor Co Ltd 脚式移動ロボットの動作生成装置
WO2003057427A1 (fr) 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot mobile sur jambes
WO2003061917A1 (fr) 2002-01-18 2003-07-31 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot bipede

Also Published As

Publication number Publication date
JPWO2005082582A1 (ja) 2007-10-25
KR20060129423A (ko) 2006-12-15
KR101160161B1 (ko) 2012-06-27
EP1736286B1 (en) 2011-11-30
US7715945B2 (en) 2010-05-11
KR20060126803A (ko) 2006-12-08
JP4805818B2 (ja) 2011-11-02
JP4805817B2 (ja) 2011-11-02
EP1736286A4 (en) 2009-12-09
EP1738879A4 (en) 2009-12-09
EP1738879A1 (en) 2007-01-03
WO2005082582A1 (ja) 2005-09-09
WO2005082583A1 (ja) 2005-09-09
US20070061038A1 (en) 2007-03-15
EP1736286A1 (en) 2006-12-27
US7774098B2 (en) 2010-08-10
EP1738879B1 (en) 2011-12-21
JPWO2005082583A1 (ja) 2007-10-25
US20070156284A1 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
KR101140812B1 (ko) 이동 로봇의 보용생성장치
KR100924505B1 (ko) 다리식 이동로봇의 제어장치
KR100881609B1 (ko) 다리식 이동로봇의 보용 생성 장치
KR101131773B1 (ko) 이동 로봇의 보용생성장치
KR101083414B1 (ko) 다리식 이동 로봇의 제어장치
KR101131774B1 (ko) 이동로봇의 보용생성장치
JP5221688B2 (ja) 脚式移動ロボットの歩容生成装置
KR101112496B1 (ko) 다리식 이동 로봇의 제어장치
JP5465074B2 (ja) 2足移動ロボットの制御装置
JP5468974B2 (ja) 2足移動ロボットの制御装置及び歩容生成装置
JP2012016800A (ja) 脚式移動ロボットの制御装置

Legal Events

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

Payment date: 20160318

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170322

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee