KR101160161B1 - 이동 로봇의 보용생성장치 - Google Patents
이동 로봇의 보용생성장치 Download PDFInfo
- Publication number
- KR101160161B1 KR101160161B1 KR1020067017772A KR20067017772A KR101160161B1 KR 101160161 B1 KR101160161 B1 KR 101160161B1 KR 1020067017772 A KR1020067017772 A KR 1020067017772A KR 20067017772 A KR20067017772 A KR 20067017772A KR 101160161 B1 KR101160161 B1 KR 101160161B1
- Authority
- KR
- South Korea
- Prior art keywords
- target
- motion
- horizontal component
- time
- normal
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles 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/02—Vehicles 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/032—Vehicles 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Robotics (AREA)
- Manipulator (AREA)
Abstract
이동 로봇(1)의 제 1 동역학 모델을 사용하고, 상반력 모멘트 수평성분의 목표값과 병진 상반력 수평성분의 허용범위를 제 1 동역학 모델상에서 만족하도록 로봇(1)의 목표 운동의 임시값인 임시 운동을 작성한다. 이 임시 운동에 의해, 제 1 동역학 모델보다도 동역학적 정밀도가 높은 제 2 동역학 모델상에서 발생하는 상반력과 제 1 동역학 모델상에서 발생하는 상반력과의 차를 상반력 오차로 한다. 이 상반력 오차를 기초로, 제 1 동역학 모델상에서 임시 운동을 수정하여 이루어지는 목표 운동을 생성한다. 목표 운동은, 그것에 의해 제 1 동역학 모델상에서 발생하는 상반력에 상반력 오차를 더한 것이 상기 목표값 및 허용범위를 만족하도록 생성된다.
이동 로봇, 보용생성장치, 임시 운동 수정수단, 상반력 모멘트 수평성분, 병진 상반력 수평성분
Description
본 발명은 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에 개시되는 기술에서는, 임의의 시각(t)에서 제 2 동역학 모델을 사용한 순시 목표 운동의 보정(상체위치 자세의 보정)은 이 제 2 동역학 모델로부터 출력되는 목표 ZMP 주위의 모멘트(목표 ZMP 주위의 모멘트의 보정량)의 과거값을 사용하여 행해진다. 즉, 특허문헌 2, 3에 개시되는 기술은, 제 2 동역학 모델로부터 출력되는 목표 ZMP 주위의 모멘트의 과거값을, 제 1 동역학 모델에서 새롭게 작성한 보용의 순시값의 동역학적 오차를 나타내는 것으로 간주하고, 이 모멘트의 과거값에 따라 새로운 보용의 순시값을 수정하도록 하고 있다. 바꾸어 말하면, 제 2 동역학 모델을 사용하여 최종적으로 보정한 보용의 운동과, 그 보정을 위해 참조하는 상반력(목표 ZMP 주위의 모멘트)과의 사이에는 시간적인 벗어남이 발생하고 있다.
그런데, 제 1 동역학 모델에서 작성되는 보용의 동역학적 오차는, 보용의 운동 패턴에 의해 변화되기 때문에, 제 2 동역학 모델로부터 출력되는 목표 ZMP 주위의 모멘트의 과거값은 반드시 제 1 동역학 모델에서 작성한 새로운 보용의 순시값의 동역학적 오차를 나타내는 것이라고 할 수는 없다. 또, 제 2 동역학 모델은 비선형성이 높기 때문에, 그것을 사용하여 작성되는 보용의 운동은 발산되기 쉽다. 이 때문에, 특허문헌 2, 3에 개시되는 기술에서는, 목표 ZMP 궤도를 수정하거나 혹은 목표 ZMP 주위에 상반력 모멘트를 발생시키도록 하여, 로봇의 목표 운동궤도가 제 1 동역학 모델에서 작성된 보용의 운동궤도로부터 멀리 떨어지지 않도록 할 필요가 있었다. 그리고, 이 경우, 목표 ZMP 궤도의 수정량이나, 목표 ZMP 주위의 상반력 모멘트가 비교적 크게 되는 경우가 있고, 이러한 경우에는, 로봇의 안정여유를 높게 유지하는 것이 곤란하게 되는 경우 있었다. 반대로, 안정여유를 높게 유지하기 위해서, 목표 ZMP 궤도의 수정량이나, 목표 ZMP 주위의 상반력 모멘트의 허용범위를 좁게 설정하면, 보용이 발산할 우려가 높아진다고 하는 문제가 있었다.
본 발명은 이러한 배경을 감안하여 이루어진 것으로, 로봇의 슬립을 방지할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 시간적 정합성을 취하면서, 그것들 사이의 동역학적 정밀도를 양호하게 확보할 수 있는 이동 로봇의 보용생성장치를 제공하는 것을 목적으로 한다.
이러한 목적을 달성하기 위해서, 본 발명의 이동 로봇의 보용생성장치의 제 1 발명은, 이동 로봇의 운동에 의해 발생하는 상반력 모멘트 수평성분의 목표값과 병진 상반력 수평성분의 허용범위를 설정하고, 이 상반력 모멘트 수평성분의 목표값과 병진 상반력 수평성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하고, 이 제 1 동역학 모델상에서 상기 상반력 모멘트 수평성분의 목표값과 상기 병진 상반력 수평성분의 허용범위를 만족하도록 상기 목표 운동의 임시값(假値)인 임시 운동(假運動)을 작성하는 임시 운동 작성수단과, 상기 작성한 임시 운동을, 상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하여 수정하고, 그 수정 후의 운동을 상기 목표 운동으로서 얻는 임시 운동 수정수단을 구비하고,
상기 임시 운동의 임의의 시각(t)에 대하여, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분(M2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분(M1(t))과의 차(M2(t)-M1(t))를 상반력 모멘트 수평성분 오차(Merr(t))로 하고, 또한, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F1(t))과의 차(F2(t)-F1(t))를 병진 상반력 수평성분 오차(Ferr(t))로 했을 때,
상기 임시 운동 수정수단은, 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분에, 상기 상반력 모멘트 수평성분 오차(Merr(t))와 적어도 이 상반력 모멘트 수평성분 오차(Merr(t))에 따라 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표값에 일치하고, 또한, 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr(t))에 따라 결정한 제 2 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 상기 임시 운동의 순시값을 수정하는 것을 특징으로 하는 것이다.
또한, 본 발명에서, 제 2 동역학 모델의 동역학적 정밀도가 제 1 동역학 모델보다도 높다고 하는 것은, 로봇의 임의의 운동에 의해 제 2 동역학 모델상에서 발생하는 상반력이, 이 운동에 의해 제 1 동역학 모델상에서 발생하는 상반력보다도, 이 운동에서 상정되어 있는 바닥 위에서 실제의 로봇이 이 운동을 행했을 때에 이 로봇에 작용하는 실제의 상반력(실 상반력)에 보다 가까운 것이 되는 것을 의미한다. 이것은, 제 1 발명에 한하지 않고, 후술의 제 2~제 4 발명 중 어디에서도 동일하다.
또, 로봇의 임의의 운동에 대해, 임의의 동역학 모델상에서 상반력 모멘트 수평성분의 목표값을 만족한다고 하는 것은, 이 운동에 의해, 어떤 설정된 작용점(예를 들면 목표 ZMP, 로봇의 전체중심점 등)의 주위에 이 동역학 모델상에서 발생하는 상반력 모멘트 수평성분(이 운동에 대해 이 동역학 모델의 동역학이 성립하는 상반력 중 모멘트 수평성분)이 목표값에 일치 혹은 거의 일치하는 것을 의미한다. 이것은 제 1 발명에 한하지 않고 후술의 제 2 발명에서도 동일하다. 또한, 로봇의 임의의 운동에 대해, 임의의 동역학 모델상에서 병진 상반력 수평성분의 허용범위를 만족한다고 하는 것은, 이 운동에 의해 이 동역학 모델상에서 발생하는 병진 상반력 수평성분(이 운동에 대해 이 동역학 모델의 동역학이 성립하는 상반력 중 병진력 수평성분)이 상기 허용범위에 수습된다고 하는 것을 의미한다. 이것은 제 1 발명에 한하지 않고 후술의 제 2~제 4 발명 중 어디에서도 동일하다.
이러한 제 1 발명에 의하면, 상기 임시 운동 작성수단에 의해, 일단, 제 1 동역학 모델을 사용하여, 상기 상반력 모멘트의 목표값과 병진 상반력 수평성분의 허용범위를 만족하도록 상기 임시 운동이 생성된다. 그리고, 이 임시 운동이 임시 운동 수정수단에 의해 수정되고, 그 수정 후의 운동이 목표 운동으로서 얻어진다.
이때, 임시 운동 수정수단은, 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분에, 상기 상반력 모멘트 수평성분 오차(Merr(t))와 적어도 이 상반력 모멘트 수평성분 오차(Merr(t))에 따라 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표값에 일치하도록 시각(t)에서의 임시 운동의 순시값을 수정한다. 동시에, 임시 운동 수정수단은, 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr(t))에 따라 결정한 제 2 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 임시 운동의 순시값을 수정한다. 이 경우, 시각(t)에서의 상기 상반력 모멘트 수평성분 오차(Merr(t))는, 임시 운동에 의해 상기 제 2 동역학 모델상에서 이 시각(t)에 발생하는 상반력 모멘트 수평성분(M2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 이 시각(t)에 발생하는 상반력 모멘트 수평성분(M1(t))과의 차이기 때문에, 그 시각(t)에서의 임시 운동에 대응하는 제 1 동역학 모델상에서의 상반력 모멘트 수평성분의 오차를 의미한다. 마찬가지로, 시각(t)에서의 상기 병진 상반력 수평성분 오차(Ferr(t))는, 임시 운동에 의해 상기 제 2 동역학 모델상에서 이 시각(t)에 발생하는 병진 상반력 수평성분(F2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 이 시각(t)에 발생하는 병진 상반력 수평성분(F1(t))과의 차이기 때문에, 그 시각(t)에서의 임시 운동에 대응하는 제 1 동역학 모델상에서의 병진 상반력 수평성분의 오차를 의미한다.
따라서, 상기한 바와 같이 임시 운동을 수정하여 이루어지는 목표 운동은 그것과 상반력 사이의 시간적 정합성이 잡힌 것이 된다.
또, 이 목표 운동에 의해 제 1 동역학 모델상에서 발생하는 상반력 모멘트 수평성분에, 상기 상반력 모멘트 수평성분 오차(Merr(t))와 이 Merr(t)에 따른 상기 제 1 상반력 보정량 중 어느 하나를 더하여 이루어지는 상반력 모멘트 수평성분(여기에서는, M1'(t)라고 함)은, 이 목표 운동에 의해 제 2 동역학 모델상에서 발생하는 상반력 모멘트 수평성분에 가까운 것이 되므로, M1'(t)는 목표 운동에 대한 동역학적 정밀도가 높다. 마찬가지로, 이 목표 운동에 의해 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 이 Ferr(t)에 따른 상기 제 2 상반력 보정량 중 어느 하나를 더하여 이루어지는 병진 상반력 수평성분(여기에서는, F1'(t)라고 함)은, 이 목표 운동에 의해 제 2 동역학 모델상에서 발생하는 병진 상반력 수평성분에 가까운 것이 되므로, F1'(t)도 목표 운동에 대한 동역학적 정밀도가 높다. 이 때문에, 이들 Ml'(t) 및 F1'(t)가 각각 상기 목표값, 허용범위를 만족하도록 목표 운동을 결정함(임시 운동을 수정함)으로써, 이 목표값 및 허용범위를 적절하게 만족하면서 동역학적 정밀도가 높은 목표 보용을 생성할 수 있게 된다.
또한 상기 임시 운동 및 이 임시 운동의 수정(목표 운동의 생성)은 제 1 동역학 모델(이것은 제 2 동역학 모델보다도 일반적으로 선형성이 높음)에서 행해지고, 제 2 동역학 모델은, 단지 임시 운동으로부터 상반력을 구하기 위해서 사용되므로, 임시 운동과 목표 운동의 생성처리, 및, 임시 운동에 대한 상반력의 산출처리를 효율적으로 단시간에 행할 수 있다.
따라서, 제 1 발명에 의하면, 로봇의 슬립을 방지할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 시간적 정합성을 취하면서, 그것들 사이의 동역학적 정밀도를 양호하게 확보할 수 있다.
또, 본 발명의 이동 로봇의 보용생성장치의 제 2 발명은, 상기의 목적을 달성하기 위해서, 이동 로봇의 운동에 의해 발생하는 상반력 모멘트 수평성분의 목표값과 병진 상반력 수평성분의 허용범위를 설정하고, 이 상반력 모멘트 수평성분의 목표값과 병진 상반력 수평성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하고, 이 제 1 동역학 모델상에서 상기 상반력 모멘트 수평성분의 목표값과 상기 병진 상반력 수평성분의 허용범위를 만족하도록 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 운동 작성수단과, 상기 작성한 임시 운동을, 상기 제 1 동역학 모델과, 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하여 수정하고, 그 수정 후의 운동을 상기 목표 운동으로서 얻는 임시 운동 수정수단을 구비하고,
상기 임시 운동의 임의의 시각(t)에 대하여, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분(M2(t))과 상기 시각(t)에서의 상기 상반력 모멘트 수평성분의 상기 목표값(MT(t))과의 차(M2(t)-MT(t))를 상반력 모멘트 수평성분 오차(Merr(t))로 하고, 또한, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F1(t))과의 차(F2(t)-F1(t))를 병진 상반력 수평성분 오차(Ferr(t))라고 했을 때,
상기 임시 운동 수정수단은, 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분에, 상기 상반력 모멘트 수평성분 오차(Merr(t))와 적어도 이 상반력 모멘트 수평성분 오차(Merr(t))에 따라 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표값에 일치하고, 또한, 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr(t))에 따라 결정한 제 2 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 상기 임시 운동의 순시값을 수정하는 것을 특징으로 하는 것이다.
이 제 2 발명은, 상기 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분(M2(t))과 상기 시각(t)에서의 상기 상반력 모멘트 수평성분의 상기 목표값(MT(t))과의 차(M2(t)-MT(t))를 상반력 모멘트 수평성분 오차(Merr(t))로 한 점만이, 제 1 발명과 상위하는 것이다. 즉, 상기 임시 운동은 상기 상반력 모멘트 수평성분의 목표값을 만족하도록 생성되므로, 이 임시 운동에 의해, 제 1 동역학 모델상에서 발생하는 상반력 모멘트 수평성분(임시 운동으로부터 제 1 동역학 모델상에서 산출되는 상반력 모멘트 수평성분)은 이 목표값에 일치 혹은 거의 일치한다. 그래서, 제 2 발명은 상기한 바와 같이 구성했다.
이러한 제 2 발명에 의하면, 제 1 발명과 동일하게, 임시 운동을 수정하여 이루어지는 목표 운동은 그것과 상반력 사이의 시간적 정합성이 잡힌 것이 된다.
또, 제 1 발명과 동일하게, 이 목표 운동에 의해 제 1 동역학 모델상에서 발생하는 상반력 모멘트 수평성분에, 상기 상반력 모멘트 수평성분 오차(Merr(t))와 이 Merr(t)에 따른 상기 제 1 상반력 보정량 중 어느 하나를 더해서 이루어지는 상반력 모멘트 수평성분(M1'(t))이 상기 목표값을 만족하고, 또한, 이 목표 운동에 의해 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 이 Ferr(t)에 따른 상기 제 2 상반력 보정량 중 어느 하나를 더하여 이루어지는 병진 상반력 수평성분(F1'(t))이 상기 허용범위를 만족하도록 목표 운동을 결정함(임시 운동을 수정함)으로써, 이 목표값 및 허용범위를 적절하게 만족하면서 동역학적 정밀도가 높은 목표 보용을 생성할 수 있다.
또한, 제 1 발명과 동일하게, 상기 임시 운동 및 이 임시 운동의 수정(목표 운동의 생성)은, 제 1 동역학 모델에서 행해지고, 제 2 동역학 모델은 단지 임시 운동으로부터 상반력을 구하기 위해서 사용되므로, 임시 운동과 목표 운동의 생성처리, 및, 임시 운동에 대한 상반력의 산출처리를 효율적으로 단시간에 행할 수 있다.
따라서, 제 2 발명에 의하면, 제 1 발명과 동일하게, 로봇의 슬립을 방지할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 시간적 정합성을 취하면서, 그것들 사이의 동역학적 정밀도를 양호하게 확보할 수 있다.
또, 본 발명의 이동 로봇의 보용생성장치의 제 3 발명은, 상기의 목적을 달성하기 위해서, 이동 로봇의 목표 ZMP와 이 이동 로봇의 운동에 의해 발생하는 병진 상반력 수평성분의 허용범위를 설정하고, 이 목표 ZMP와 병진 상반력 수평성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하고, 이 제 1 동역학 모델상에서 상기 목표 ZMP와 상기 병진 상반력 수평성분의 허용범위를 만족하도록 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 운동 작성수단과, 상기 작성한 임시 운동을, 상기 제 1 동역학 모델과, 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하여 수정하고, 그 수정 후의 운동을 상기 목표 운동으로서 얻는 임시 운동 수정수단을 구비하고,
상기 임시 운동의 임의의 시각(t)에 대하여, 이 임시 운동으로부터 상기 제 2 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP인 ZMP2(t)와 이 임시 운동으로부터 상기 제 1 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP인 ZMP1(t)와의 차(ZMP2(t)-ZMP1(t))를 ZMP 오차(ZMPerr(t))로 하고, 또한, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F1(t))과의 차(F2(t)-F1(t))를 병진 상반력 수평성분 오차(Ferr(t))라고 했을 때,
상기 임시 운동 수정수단은, 상기 임시 운동의 수정 후의 운동으로부터 상기 제 1 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP에, 상기 ZMP 오차(ZMPerr(t))와 적어도 이 ZMP 오차(ZMPerr(t))에 따라 결정한 ZMP 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표 ZMP에 일치하고, 또한, 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr(t))에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 상기 임시 운동의 순시값을 수정하는 것이다.
또한, 이 제 3 발명에 있어서, 로봇의 임의의 운동에 대해, 임의의 동역학 모델상에서 목표 ZMP를 만족한다고 하는 것은, 이 운동에 의해 이 동역학 모델상에서 발생하는 로봇의 관성력과 이 로봇에 작용하는 중력과의 합력이 목표 ZMP 주위에 발생하는 모멘트의 수평성분(또는, 그 모멘트와 균형을 이루는 상반력 모멘트 수평성분)이 0 혹은 거의 0이 되는 것을 의미한다. 이것은, 후술의 제 4 발명에서도 동일하다.
이러한 제 3 발명에 의하면, 상기 임시 운동 작성수단에 의해, 일단, 제 1 동역학 모델을 사용하고, 상기 목표 ZMP와 병진 상반력 수평성분의 허용범위를 만족하도록 상기 임시 운동이 생성된다. 그리고, 이 임시 운동이 임시 운동 수정수단에 의해 수정되고, 그 수정 후의 운동이 목표 운동으로서 얻어진다. 또한, 이 임시 운동은, 상기 제 1 발명에서의 상반력 모멘트의 작용점을 목표 ZMP로 했을 때에는, 이 제 1 발명의 임시 운동 작성수단으로 작성되는 임시 운동과 동등하게 된다.
이때, 임시 운동 수정수단은, 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP에, 상기 ZMP 오차(ZMPerr(t))와 적어도 이 ZMP 오차(ZMPerr(t))에 따라 결정한 ZMP 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표 ZMP에 일치하도록 시각(t)에서의 임시 운동의 순시값을 수정한다. 또한, 이것은, 목표 ZMP 주위에, ZMP 오차(ZMPerr(t)), 또는 이것에 따른 상기 ZMP 보정량에 상당하는 상반력 모멘트 수평성분을 발생시키는 것을 의미한다. 동시에, 임시 운동 수정수단은, 상기 제 1 발명과 동일하게, 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr(t))에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 임시 운동의 순시값을 수정한다. 이 경우, 시각(t)에서의 상기 ZMP 오차(ZMPerr(t))는, 임시 운동으로부터 상기 제 2 동역학 모델상에서 이 시각(t)에 산출되는 ZMP(ZMP2(t))와 이 임시 운동으로부터 상기 제 1 동역학 모델상에서 이 시각(t)에 산출되는 ZMP(ZMP1(t))와의 차이기 때문에, 그 시각(t)에서의 임시 운동에 대응하는 제 1 동역학 모델상에서의 ZMP의 오차를 의미한다. 또, 제 1 발명의 경우와 동일하게, 시각(t)에서의 상기 병진 상반력 수평성분 오차(Ferr(t))는 그 시각(t)에서의 임시 운동에 대응하는 제 1 동역학 모델상에서의 병진 상반력 수평성분의 오차를 의미한다.
따라서, 상기한 바와 같이 임시 운동을 수정하여 이루어지는 목표 운동은 그것과 상반력 사이의 시간적 정합성이 잡힌 것이 된다. 또한, 이렇게 임시 운동을 수정하는 것은, 제 1 발명에서의 상반력 모멘트의 작용점을 목표 ZMP로 했을 때, 이 제 1 발명의 임시 운동을 수정하는 것과 등가이다.
또, 이 목표 운동으로부터 제 1 동역학 모델상에서 산출되는 ZMP에, 상기 ZMP 오차(ZMPerr(t))와 이 ZMPerr(t)에 따른 상기 ZMP 보정량 중 어느 하나를 더하여 이루어지는 ZMP(여기에서는, ZMP1'(t)이라고 함)는 이 목표 운동으로부터 제 2 동역학 모델상에서 산출되는 ZMP에 가까운 것이 되므로, ZMP1'(t)은 목표 운동에 대한 동역학적 정밀도가 높다. 그리고, 제 1 발명의 경우와 동일하게, 이 목표 운동에 의해 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 이 Ferr(t)에 따른 상기 상반력 보정량 중 어느 하나를 더하여 이루어지는 병진 상반력 수평성분(F1'(t))도 목표 운동에 대한 동역학적 정밀도가 높다. 이 때문에, 이들 ZMP1'(t) 및 F1'(t)가 각각 상기 목표 ZMP, 허용범위를 만족하도록 목표 운동을 결정함(임시 운동을 수정함)으로써, 이 목표 ZMP 및 허용범위를 적절하게 만족하면서 동역학적 정밀도가 높은 목표 보용을 생성할 수 있게 된다.
또한 제 1 발명과 동일하게, 상기 임시 운동 및 이 임시 운동의 수정(목표 운동의 생성)은, 제 1 동역학 모델에서 행해지고, 제 2 동역학 모델은, 단지 임시 운동으로부터 상반력을 구하기 위해서 사용되므로, 임시 운동과 목표 운동의 생성처리, 및, 임시 운동에 대한 상반력의 산출처리를 효율적으로 단시간에 행할 수 있다.
따라서, 제 3 발명에 의하면, 로봇의 슬립을 방지할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 사이의 시간적 정합성을 취하면서, 그것들 사이의 동역학적 정밀도를 양호하게 확보할 수 있다.
또, 본 발명의 이동 로봇의 보용생성장치의 제 4 발명은, 상기의 목적을 달성하기 위하여, 이동 로봇의 목표 ZMP와 이 이동 로봇의 운동에 의해 발생하는 병진 상반력 수평성분의 허용범위를 설정하고, 이 목표 ZMP와 병진 상반력 수평성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,
상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하고, 이 제 1 동역학 모델상에서 상기 목표 ZMP와 상기 병진 상반력 수평성분의 허용범위를 만족하도록 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 운동 작성수단과, 상기 작성한 임시 운동을 상기 제 1 동역학 모델과, 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하여 수정하고, 그 수정 후의 운동을 상기 목표 운동으로서 얻는 임시 운동 수정수단을 구비하고,
상기 임시 운동의 임의의 시각(t)에 대하여, 이 임시 운동으로부터 상기 제 2 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP인 ZMP2(t)와 상기 시각(t)에서의 상기 목표 ZMP인 목표 ZMP(t)와의 차(ZMP2(t)-목표 ZMP(t))를 ZMP 오차(ZMPerr(t))로 하고, 또한, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F1(t))과의 차(F2(t)-F1(t))를 병진 상반력 수평성분 오차(Ferr(t))라고 했을 때,
상기 임시 운동 수정수단은, 상기 임시 운동의 수정 후의 운동으로부터 상기 제 1 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP에, 상기 ZMP 오차(ZMPerr(t))와 적어도 이 ZMP 오차(ZMPerr(t))에 따라 결정한 ZMP 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표 ZMP(t)에 일치하고, 또한, 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr)(t)에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 상기 임시 운동의 순시값을 수정하는 것을 특징으로 하는 것이다.
이 제 4 발명은, 상기 임시 운동으로부터 상기 제 2 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP인 ZMP2(t)와 상기 시각(t)에서의 상기 목표 ZMP인 목표 ZMP(t)와의 차(ZMP2(t)-목표 ZMP(t))를 ZMP 오차(ZMPerr(t))로 한 점만이, 제 3 발명과 상위한 것이다. 즉, 상기 임시 운동은, 상기 목표 ZMP를 만족하도록 생성되므로, 이 임시 운동으로부터 제 1 동역학 모델상에서 산출되는 ZMP는 이 목표 ZMP에 일치 혹은 거의 일치한다. 그래서, 제 4 발명은 상기한 바와 같이 구성했다.
이러한 제 4 발명에 의하면, 제 3 발명과 동일하게, 임시 운동을 수정하여 이루어지는 목표 운동은 그것과 상반력 시이의 시간적 정합성이 잡힌 것이 된다.
또, 제 3 발명과 동일하게, 이 목표 운동으로부터 제 1 동역학 모델상에서 산출되는 ZMP에, ZMP 오차(ZMPerr(t))와 이 ZMPerr(t)에 따른 상기 ZMP 보정량 중 어느 하나를 더하여 이루어지는 ZMP가 상기 목표 ZMP를 만족하고, 또한, 이 목표 운동에 의해 제 1 동역학 모델상에서 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 이 Ferr(t)에 따른 상기 상반력 보정량 중 어느 하나를 더하여 이루어지는 병진 상반력 수평성분(F1'(t))이 상기 허용범위를 만족하도록 목표 운동을 결정함(임시 운동을 수정함)으로써, 이 목표값 및 허용범위를 적절하게 만족하면서 동역학적 정밀도가 높은 목표 보용을 생성할 수 있다.
또한, 제 3 발명과 동일하게, 상기 임시 운동 및 이 임시 운동의 수정(목표 운동의 생성)은, 제 1 동역학 모델에서 행해지고, 제 2 동역학 모델은 단지 임시 운동으로부터 상반력을 구하기 위해서 사용되므로, 임시 운동과 목표 운동의 생성처리, 및, 임시 운동에 대한 상반력의 산출처리를 효율적으로 단시간에 행할 수 있다.
따라서, 제 4 발명에 의하면, 제 3 발명과 동일하게, 로봇의 슬립을 방지할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 시이의 시간적 정합성을 취하면서, 그것들 사이의 동역학적 정밀도를 양호하게 확보할 수 있다.
또한, 이상에서 설명한 제 1~제 4 발명에서 목표 보용에 목표 운동뿐만 아니라 목표 상반력을 포함시키는 경우에는, 상기 제 1 및 제 2 발명에서는, 예를 들면 상기 M1'(t), F1'(t)를 목표 상반력의 구성요소로 하고, 또한 상기 제 3 및 제 4 발명에서는, 예를 들면 상기 ZMP1'(t), F1'(t)를 목표 상반력의 구성요소로 하면 된다. 또는, 상기 제 1 및 제 2 발명에서는, M2(t), F2(t)를 목표 상반력의 구성요소로 하고, 상기 제 3 및 제 4 발명에서는, ZMP2(t), F2(t)를 목표 상반력의 구성요소로 해도 된다.
또, 제 1~제 4 발명에서는, 그것에 의해 생성한 목표 보용을 상기 특허문헌 2, 3의 것과 동일하게, 풀 모델(제 3 동역학 모델)을 사용하여 더욱 보정하도록 해도 된다. 이 경우, 제 1~제 4 발명에서 생성되는 목표 보용은 동역학적 정밀도가 높으므로, 풀 모델에서의 보용의 발산이 발생하기 어렵다. 이 때문에, 목표 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이나 일본 특원 2000-352011호 등에 설명되어 있으므로, 본 명세서에서의 상세한 설명은 생략하지만, 그 개요는 다음과 같다.
주기적 보용인 정상 선회보용은, 본 실시형태에서는, 로봇(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))는 단순화 모델을 사용하여 임시 작성한 보용의 각 시각(k)에 있어서, 이 보용의 운동에 의해 세미 풀 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분과, 이 운동에 의해 단순화 모델상에서 발생하는 상반력 모멘트 수평성분 또는 그 목표값(=0)과의 차로서 구해지는 것이다. 또, 병진 상반력 오차(Ferr_p(k))는, 임시 작성한 보용의 각 시각(k)에 있어서, 이 보용의 운동에 의해 세미 풀 모델상에서 발생하는 병진 상반력 수평성분과, 이 운동에 의해 단순화 모델상에서 발생하는 병진 상반력 수평성분과의 차로서 구해지는 것이다.
이어서, S318~S324의 처리에 의해, 상기 임시 작성한 보용의 운동을 오차(Merr_p(k) 및 Ferr_p(k))를 사용해서 수정하여 이루어지는 정상 보용이 작성된다. 이때, 정상 보용은, 그 초기부터 종단까지의 각 시각(k)에서, 그 보용(작성하는 정상 보용)의 운동에 의해 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트에 상반력 모멘트 오차(Merr_p(k))를 더한 것이, 목표 ZMP 주위의 진 상반력 모멘트라고 간주하고, 그 진 상반력 모멘트가 0이 되도록(목표 ZMP의 본래의 정의를 만족하도록) 작성된다. 또, 동시에, 정상 보용은, 그 초기부터 종단까지의 각 시각(k)에서, 그 보용(작성하는 정상 보용)의 운동에 의해, 단순화 모델상에서 발생하는 병진 상반력 수평성분에 병진 상반력 오차(Ferr_p(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~S310의 처리가 실행된다. 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)의 새로운 값으로서 세팅된다. 또한, S310에서 시각(k)이 k+△k로 갱신된다. 이상의 S306~S310의 처리가, k=Ts+Tcyc가 될 때까지 반복된다. 이것에 의해, 단순화 모델상에서 목표 ZMP를 만족하고, 또한, 상반력 수평성분 허용범위를 만족하는 보용의 순시값의 시계열이 임시 작성됨과 동시에, 그것에 대응하는 Merr_p(k) 및 Ferr_p(k)의 시계열이 결정된다. 이렇게 하여 결정되는 Merr_p(k) 및 Ferr_p(k)는 S306에서 작성되는 정상 보용의 운동(임시 운동)에 의해 단순화 모델상에서 발생하는 상반력의 오차를 나타내는 것이다.
이어서, S318에서, S300과 동일하게 상체(3)의 초기 상태가 세팅된다. 또한, S320을 거쳐, 정상 보용의 초기시각(Ts)부터 종단시각(Ts+Tcyc)까지의 각 시각에 대하여, S322 및 S324의 처리가 실행된다. 이들 S322 및 S324의 처리는, 각각 상기 S306, S310의 처리와 동일하다. 단, S322의 처리에서는, 거기에서 사용하는 Merr_p(k) 및 Ferr_p(k)의 시계열은, 상기 S302에서 초기화 된 값(=0)이 아니라, 최신의 시계열, 즉 상기 S308에서 결정된 Merr_p(k) 및 Ferr_p(k)의 시계열(이것들은 일반적으로는 0이 아님)이다.
이것에 의해 도 13의 처리는 종료되고, S320~S324의 처리에 의해 작성된 정상 보용이 도 12의 S208에서 작성해야 할 정상 보용으로서 얻어진다.
도 13의 S306 및 S322의 처리(정상 보용의 순시값의 시계열의 작성 처리)는 도 14의 플로우차트에서 나타내는 서브루틴 처리에 의해 실행된다.
이 도 14의 처리에서는, 우선, S400~S410의 처리에 의해, 상기 S022에서 결 정한 정상 보용의 패러미터를 기초로, 목표 상반력 연직성분, 목표 ZMP, 목표 양족평위치 자세, 기준 상체자세, 목표 팔자세, 목표 상체 연직위치, 상반력 수평성분 허용범위의 순시값이 구해진다. 이 S400~S410의 처리는 상기 공보문헌 1의 도 22의 S400~S410 처리와 동일하므로, 여기에서의 상세 설명은 생략한다.
이어서, S412의 처리에 의해, 도면 중에 기재된 조건을 만족시키도록 상체 수평가속도 및 상체자세 각가속도의 순시값이 결정된다. 이 경우, Merr_p(k)가 작성중의 보용의 운동에 의해 시각(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)가, 작성중의 보용의 운동에 의해 시각(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))가 산출된다.
Merr(k)=Msemifull(k)-Msmpl(k) ……식 3c
Ferr(k)=Fsemifull(k)-Fsmpl(k) ……식 3d
보충하면, 도 13의 S322의 처리 중에서는, 도 14의 S415~S418의 처리는 행할 필요는 없다. 본 실시형태에서는, 도 13의 S306 및 S322의 서브루틴 처리를 동일하게 했기 때문에, S306 및 S322의 어떤 것이라도, S415~S418의 처리를 행하게 되어 있다. S306 및 S322의 서브루틴 처리를 각각 달리 구축하는 경우에는, S306의 처리에서는, 당초부터 Merr_p(k):0, Ferr_p(k)=0을 전제로 하여 알고리즘을 구축해 두면 되고, 그 경우에는, 도 13의 S302의 처리는 불필요하다. 또, 이 경우, S322의 처리 중에서는, 당초부터 S415~S418의 처리를 삭제해 두면 된다. 또, 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')은 이 허용범위를 일탈하지 않는다. 이 때문에, S520~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)에 의한 수정을 더해서 생성된다. 그 때문에, 보용의 운동이 발산하거나 하는 일이 없어 단시간에 효율적으로 정상 보용의 초기 상태를 탐색적으로 결정할 수 있다. 또, 세미 풀 모델은 단순화 모델을 사용하여 작성한 보용의 운동에 의해 발생하는 상반력(상반력 모멘트 수평성분 및 병진 상반력 수평성분)을 산출하기 위해서만 사용되므로, 그 산출은 탐색적인 처리 등을 필요로 하지 않고, 단시간에 용이하게 행할 수 있다.
도 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~S810의 처리에서는, 금회 보용의 초기부터 종단까지, 단순화 모델상에서 목표 ZMP(S026에서 결정한 ZMP 궤도 패러미터에 의해 규정되는 목표 ZMP를 도 17의 처리중에서 임시 결정한 ZMP 수정 패러미터(a)(최신의 후보값)에 의해 수정하여 이루어지는 목표 ZMP)를 만족하고, 또한, 상반력 수평성분 허용범위(S026에서 결정한 패러미터에 의해 규정되는 허용범위)를 만족하도록 금회 보용이 임시 작성된다. 그리고, 이 임시 작성된 보용의 운동(임시 운동)을 기초로, 단순화 모델과 세미 풀 모델을 사용하여 상반력 모멘트 오차(상반력 모멘트 수평성분 오차)(Merr_p(k))와 병진 상반력 오차(Ferr_p(k))의 시계열이 결정된다. 또한, 도 18의 S818~S824의 처리에 의해, 금회 보용의 각 시각(k)에 있어서, 단순화 모델상에서 상기 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분이 -Merr_p(k)로 되고(작성중의 보용의 운동에 의해 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분에 상반력 모멘트 오차의 현재값(Merr(k))을 더한 것이 목표 ZMP 주위의 본래의 목표값인 0이 되고), 또한, 단순화 모델상에서 발생하는 병진 상반력 수평성분에 Ferr_p(k)를 더한 것이 금회 보용에 관계되는 상반력 수평성분 허용범위에 들어가도록 임시 금회 보용의 순시값의 시계열이 작성된다.
따라서, S028에서 최종적으로 생성되는 임시 금회 보용은, 세미 풀 모델상에서 목표 ZMP와 상반력 수평성분 허용범위를 만족하면서, 정상 보용으로 이어지는(금회 보용의 경계조건을 만족시키는) 것이 된다. 이때, 임시 금회 보용은, 단순화 모델상에서의 상반력의 오차(Merr_p(k) 및 Ferr_p(k))를 가미한 뒤에, 이 단순화 모델의 동역학을 기초로 생성된다. 또, 금회 보용의 각 시각(k)의 순시값은 그 시각에서의 Merr_p(k) 및 Ferr_p(k)에 의한 수정을 더하여 생성된다. 이 때문에, 보용의 운동이 발산하거나 하지 않아 단시간에 효율적으로 금회 보용의 보용 패러미터(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)의 보용생성 처리와 본원발명과의 대응 관계에 대해 설명해 둔다.
본 실시형태에서는, 도 10의 S024의 처리에서 최종적으로 생성되는 정상 보용은 상기 제 1 발명 또는 제 2 발명에서의 목표 보용에 해당하는 것으로 되어 있다. 이 경우, 당해 최종적인 정상 보용에 대응하여, S024의 처리 중에서 도 13의 S300~S310의 처리에 의해 작성되는 정상 보용의 운동이 제 1 또는 제 2 발명에서의 임시 운동에 상당하고, S300~S310의 처리는 상기 제 1 발명 또는 제 2 발명에서의 임시 운동 작성수단에 상당하고 있다. 그리고, 도 13의 S318~S324의 처리가 제 1 발명 또는 제 2 발명에서의 임시 운동 수정수단에 상당한다. 보다 상세하게는, S322의 처리 중에서 도 14의 S415에서, 목표 운동에 의해 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분(Msmpl(k))을 실제로 단순화 모델의 연산에 의해 산출했을 때의 실시형태가 제 1 발명에 대응하고, 이 Msmpl(k)을 구할 때에 상기 식 3a를 사용했을 때의 실시형태가 제 2 발명에 대응하고 있다.
마찬가지로, 도 10의 S028의 처리에서 최종적으로 생성되는 금회 보용 혹은 S032의 처리에서 생성되는 금회 보용도, 상기 제 1 발명 또는 제 2 발명에서의 목표 보용에 상당하는 것으로 되어 있다. 이 경우, 당해 최종적인 정상 보용에 대응하여, S028의 처리 중에서 도 18의 S800~S810의 처리에 의해 작성되는 정상 보용의 운동이 제 1 또는 제 2 발명에서의 임시 운동에 상당하고, S800~S810의 처리는 상기 제 1 발명 또는 제 2 발명에서의 임시 운동 작성수단에 상당하고 있다. 그리고, 도 18의 S818~S824의 처리가 제 1 발명 또는 제 2 발명에서의 임시 운동 수정수단에 상당한다. 보다 자세하게는, S822의 처리 중에서 도 14의 S415에서, 목표 운동에 의해 단순화 모델상에서 발생하는 목표 ZMP 주위의 상반력 모멘트 수평성분(Msmpl(k))을 실제로 단순화 모델의 연산에 의해 산출했을 때의 실시형태가 제 1 발명에 대응하고, 이 Msmpl(k)을 구할 때에 상기 식 3a를 사용했을 때의 실시형태가 제 2 발명에 대응하고 있다.
다음에 도 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))을 빼서 이루어지는 상반력 모멘트 수평성분(-Merr_p(k))이 되도록 상체 가속도 및 상체자세 각가속도를 결정했다(나아가서는 목표 보용(정상 보용 혹은 금회 보용)을 결정함). 단, 상반력 모멘트 오차의 현재값(Merr_p(k))에 어떤 소정의 계수(예를 들면 1 이하의 정수)를 곱한 것을 목표 상반력 모멘트 수평성분으로부터 빼서 이루어지는 상반력 모멘트 수평성분을 단순화 모델상에서의 목표 ZMP 주위의 상반력 모멘트의 목표값으로 하여 상체 가속도 및 상체자세 각가속도를 결정해도 된다. 또한, 이것은, 결정하려고 하고 있는 상체 가속도 및 상체자세 각가속도를 포함하는 보용(목표 보용)의 운동에 의해 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분에, 상반력 모멘트 오차의 현재값(Merr_p(k))에 있는 소정의 계수(예를 들면 1 이하의 정수)를 곱한 것(이것은 본 발명에서의 제 1 상반력 보정량에 상당함)을 더하여 이루어지는 상반력 모멘트 수평성분이 본래의 목표 상반력 모멘트 수평성분에 일치하도록 상체 가속도 및 상체자세 각가속도를 결정하는 것을 의미한다. 이와 같이, Merr_p(k)에 따라 결정한 상반력 보정량을, 결정하려고 하고 있는 상체 가속도 및 상체자세 각가속도를 포함하는 보용(목표 보용)의 운동에 의해 단순화 모델 상에서 목표 ZMP 주위에 발생하는 상반력 모멘트 수평성분에 더하여 이루어지는 상반력 모멘트 수평성분이 본래의 목표 상반력 모멘트 수평성분에 일치하도록 보용의 운동을 결정하도록 해도 된다. 또한, 상기 상반력 보정량은 Merr_p(k)로부터 단조증가의 비선형 함수를 사용하여 결정하도록 해도 된다.
동일한 개념에 의해, 단순화 모델상에서 전체중심의 수평가속도(결정하려고 하고 있는 상체 수평가속도 및 상체자세 각가속도를 포함하는 보용(목표 보용)의 운동에 의한 전체중심의 수평가속도)에 의한 관성력과 균형을 이루는 상반력 수평성분(Fx)에, 병진 상반력 오차의 현재값(Ferr_p(k))에 소정의 계수(예를 들면 1 이하의 정수)을 곱한 것(이것은 본 발명에서의 제 2 상반력 보정량에 상당함)을 더하여 이루어지는 병진 상반력 수평성분이 상반력 수평성분 허용범위를 만족하도록 상체 가속도 및 상체자세 각가속도를 결정해도 된다. 이와 같이, Ferr_p(k)에 따라 결정한 상반력 보정량을, 결정하려고 하고 있는 상체 가속도 및 상체자세 각가속도를 포함하는 보용(목표 보용)의 운동에 의한 관성력과 균형을 이루는 상반력 수평성분(Fx)에 더하여 이루어지는 병진 상반력 수평성분이 상반력 수평성분 허용범위를 만족하도록 보용의 운동을 결정하도록 해도 된다. 또한, 상기 상반력 보정량은 Ferr_p(k)로부터 단조증가의 비선형 함수를 사용하여 결정하도록 해도 된다.
또, 도 13의 S300~S310의 처리의 종료 후, 도 13의 S318~S324의 처리를 실행하기 전에, S304~S310의 처리에서 결정된 오차(Merr_p(k) 및 Ferr_p(k))의 시계열이 각각 충분하게 0에 가까운 값인지 아닌지를 판단하고, 이 판단 결과에 따라, S318~S324의 처리를 생략해도 된다. 즉, 이 판단 결과가 YES일 경우에는, S304~ S310의 처리에서 생성된 보용의 운동은, 그것에 의해 단순화 모델상에서 발생하는 상반력의 동역학적 정밀도가 충분하게 확보되어 있다는(이 상반력이 실제값에 가깝다는) 것을 의미한다. 따라서, 그 경우에는, S318~S324의 처리를 생략하고, S304~S310의 처리에서 생성된 보용을 도 13의 처리에서 최종적으로 얻어야 할 목표 보용으로 해도 된다. 이것은, 금회 보용의 작성을 행하는 도 18의 처리에서도 동일하다. 또한, 오차(Merr_p(k) 및 Ferr_p(k))의 시계열이 각각 0에 가까운 값 인지 아닌지를 판단할 때에는, Merr_p(k) 및 Ferr_p(k)의 시계열의 각 값이 0 근방의 허용범위에 있는지 아닌지를 판단하면 되는 것은 물론이지만, Merr_p(k) 및 Ferr_p(k)의 각각의 시계열의 패턴의 어떤 특징량(예를 들면 이 시계열의 각 값의 절대값의 최대값, 혹은 이 절대값의 실효값, 혹은 이 시계열의 패턴의 최대값과 최소값과의 차 등)이 0 근방의 허용범위에 있는지 아닌지를 판단하도록 해도 된다.
또, 상기 실시형태에서는, 목표 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로부터의 오차(여기에서는, 이것을 ZMPerr_p(k)로 함)를 사용하도록 해도 된다. 이 경우, 도 14의 S412의 처리에서는, 로봇(1)의 보용의 운동에 의해 발생하는 관성력과 중력과의 합력이, 오차 ZMPerr_p(k)(Merr_p(k)를 목표 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))를 사용함으로써 상기 제 3 발명 또는 제 4 발명의 실시형태가 구축되게 된다. 이 경우, 보다 상세하게는, 도 13의 S306 또는 도 18의 S806의 처리 중에서, 도 14의 S418에서 구한 Merr(k)를 당해 시각(k)에서의 상반력 연직성분의 순시값으로 제산한 것을 오차(ZMPerr_p(k))로서 결정하면 된다. 이때, 도 14의 S414에서, 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트(Msmpl(k))를, 이 단순화 모델의 실제의 연산에 의해 산출한 경우에는, 상기한 바와 같이 결정되는 오차(ZMPerr_p(k))는, 도 13의 S306 또는 도 18의 S806의 처리에서 작성 중인 보용의 운동(임시 운동)으로부터 세미 풀 모델상에서 산출되는 ZMP와, 이 운동으로부터 단순화 모델상에서 산출되는 ZMP와의 차를 의미하는 것이 된다. 따라서, 이 경우의 실시형태는, 상기 제 3 발명의 실시형태에 상당하는 것이 된다.
또, 도 14의 S414에서, 단순화 모델상에서 목표 ZMP 주위에 발생하는 상반력 모멘트(Msmpl(k))를, 상기 식 3a에 의해 목표 ZMP 주위의 상반력 모멘트 수평성분의 목표값(=0)과 Merr_p(k)과의 차로서 산출한 경우에는, 상기한 바와 같이 결정되는 오차(ZMPerr_p(k))는, 도 13의 S306 또는 도 18의 S806의 처리에서 작성중인 보용의 운동(임시 운동)으로부터 세미 풀 모델상에서 산출되는 ZMP와, 목표 ZMP와의 차를 의미하는 것이 된다. 따라서, 이 경우의 실시형태는, 상기 제 4 발명의 실시형태에 상당하는 것이 된다.
이렇게 상기 실시형태에서 Merr_p(k) 대신에 오차(ZMPerr_p(k))를 사용함으로써 상기 제 3 발명 또는 제 4 발명의 실시형태가 구축되게 된다. 단, 공중기를 갖는 보용을 생성하는 경우, 그 공중기에서는, 상반력 연직성분이 0이 되어 ZMP가 정으로 되지 않기 때문에, 상기 실시형태와 같이, 상반력 모멘트 오차를 사용하는 것이 바람직하다. 또한, 로봇(1)의 보행보용을 생성하는 경우에는, 공중기가 없으므로, 보용의 전체 기간에서 ZMPerr_p(k)를 사용할 수 있다. 또, 이들 실시형태에서도, 상반력 모멘트 수평성분 오차(Merr(t)), 병진 상반력 수평성분 오차(Ferr(t)) 대신, 상기 제 1 발명 또는 제 2 발명의 변형태양에 관해서 설명한 바와 같이, 그것들의 값에 따라 결정한 상반력 보정량을 사용해도 된다.
또, 상기 실시형태에서는, 도 13 또는 도 18의 처리에서, 목표 ZMP와 상반력 수평성분 허용범위를 만족하는 보용을 그 초기부터 종단까지 생성한 뒤에, 상반력 모멘트 오차(Merr_p(k)) 및 병진 상반력(Ferr_p(k))의 수정을 가한 보용(정상 보용 또는 금회 보용)을 그 초기부터 종단까지 생성하도록 했는데, 각 시각(k) 마다, 목표 ZMP와 상반력 수평성분 허용범위를 만족하는 보용의 순시값의 생성과, 이 보용의 운동(임시 운동)을 기초로 결정되는 상반력 모멘트 오차(Merr_p(k)) 및 병진 상반력(Ferr_p(k))의 수정을 더한 보용의 순시값의 생성을, 보용의 초기부터 종단까지 차례차례 행하도록 해도 된다.
또, 앞에서도 기술한 바와 같이 상기 세미 풀 모델은 풀 모델 보정용의 풀 모델과 동일해도 된다. 이 경우, 보용 패러미터를 탐색적으로 결정하기 위한 처리(도 10의 S024, S028의 처리)를 단시간에 효율적으로 행하는 점에서는, 세미 풀 모델용의 상반력 수평성분 허용범위는 풀 모델용의 상반력 수평성분 허용범위보다도 넓게 설정하는 것이 바람직하다.
또, 상기 실시형태에서는, 풀 모델에 의한 보용의 보정처리를 제외하고, 목표 ZMP 주위의 병진 상반력 수평성분의 허용범위만을 설정하도록 했는데, 로봇(1)의 스핀을 방지하기 위해서, 목표 ZMP 주위의 상반력 모멘트 연직성분의 허용범위도 설정하도록 해도 된다. 이 경우, 상반력 모멘트 오차에 관해서는, 목표 ZMP, 상반력 수평성분 허용범위, 및 상반력 모멘트 연직성분의 허용범위를 만족하도록 단순화 모델상에서 작성한 보용의 운동에 대해, 상반력 모멘트 수평성분의 오차뿐만 아니라, 상반력 모멘트 연직성분의 오차도 구해 두고, 단순화 모델상에서 발생하는 상반력 모멘트 연직성분에 이 연직성분에 대한 오차를 더한 모멘트가, 이 연직성분에 대한 허용범위를 만족하도록 목표 보용의 운동을 생성해도 된다.
또, 도 13의 S306 또는 도 18의 S806의 처리 중에서, 병진 상반력 연직성분의 오차도 구해 두고, 단순화 모델상에서 발생하는 병진 상반력 연직성분에 당해 오차를 더한 것이, 병진 상반력 연직성분의 목표값을 만족하도록 목표 보용의 운동을 생성해도 된다.
이상의 설명으로부터 명확한 바와 같이, 본 발명의 이동 로봇의 보용생성장치는 로봇의 슬립을 방지할 수 있는 보용을 효율적으로 생성할 수 있음과 동시에, 그 보용의 운동과 상반력 시이의 시간적 정합성을 취하면서, 그것들 사이의 동역학적 정밀도를 양호하게 확보할 수 있고, 특히 2족이동 로봇과 같은 본래 안정성이 낮은 이동 로봇의 보용을 이 이동 로봇의 안정성을 확보하면서 생성할 수 있는 점에서 유용하다.
Claims (4)
- 이동 로봇의 운동에 의해 발생하는 상반력 모멘트 수평성분의 목표값과 병진 상반력 수평성분의 허용범위를 설정하고, 이 상반력 모멘트 수평성분의 목표값과 병진 상반력 수평성분의 허용범위를 만족하도록 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하고, 이 제 1 동역학 모델상에서 상기 상반력 모멘트 수평성분의 목표값과 상기 병진 상반력 수평성분의 허용범위를 만족하도록 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 운동 작성수단과, 상기 작성한 임시 운동을, 상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하여 수정하고, 그 수정 후의 운동을 상기 목표 운동으로서 얻는 임시 운동 수정수단을 구비하고,상기 임시 운동의 임의의 시각(t)에 대하여, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분(M2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분(M1(t))과의 차(M2(t)-M1(t))를 상반력 모멘트 수평성분 오차(Merr(t))로 하고, 또한 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F1(t))과 의 차(F2(t)-F1(t))를 병진 상반력 수평성분 오차(Ferr(t))로 했을 때,상기 임시 운동 수정수단은 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분에, 상기 상반력 모멘트 수평성분 오차(Merr(t))와 적어도 이 상반력 모멘트 수평성분 오차(Merr(t))에 따라 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표값에 일치하고, 또한 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr(t))에 따라 결정한 제 2 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 상기 임시 운동의 순시값을 수정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
- 이동 로봇의 운동에 의해 발생하는 상반력 모멘트 수평성분의 목표값과 병진 상반력 수평성분의 허용범위를 설정하고, 이 상반력 모멘트 수평성분의 목표값과 병진 상반력 수평성분의 허용범위를 만족하도록 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하고, 이 제 1 동역학 모델상에서 상기 상반력 모멘트 수평성분의 목표값과 상기 병진 상반력 수평성분의 허용범위를 만족하도록 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 운동 작성수단과, 상기 작성한 임시 운동을 상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하여 수정하고, 그 수정 후의 운동을 상기 목표 운동으로서 얻는 임시 운동 수정수단을 구비하고,상기 임시 운동의 임의의 시각(t)에 대하여, 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분(M2(t))과 상기 시각(t)에서의 상기 상반력 모멘트 수평성분의 목표값(MT(t))과의 차(M2(t)-MT(t))를 상반력 모멘트 수평성분 오차(Merr(t))로 하고, 또한 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F1(t))과의 차(F2(t)-F1(t))를 병진 상반력 수평성분 오차(Ferr(t))라고 했을 때,상기 임시 운동 수정수단은 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 상기 상반력 모멘트 수평성분에, 상기 상반력 모멘트 수평성분 오차(Merr(t))와 적어도 이 상반력 모멘트 수평성분 오차(Merr(t))에 따라 결정한 제 1 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표값에 일치하고, 또한 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에, 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr(t))에 따라 결정한 제 2 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 상기 임시 운동의 순시값을 수정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
- 이동 로봇의 목표 ZMP와 이 이동 로봇의 운동에 의해 발생하는 병진 상반력 수평성분의 허용범위를 설정하고, 이 목표 ZMP와 병진 상반력 수평성분의 허용범위를 만족하도록, 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하고, 이 제 1 동역학 모델상에서 상기 목표 ZMP와 상기 병진 상반력 수평성분의 허용범위를 만족하도록 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 운동 작성수단과 상기 작성한 임시 운동을 상기 제 1 동역학 모델과, 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하여 수정하고, 그 수정 후의 운동을 상기 목표 운동으로서 얻는 임시 운동 수정수단을 구비하고,상기 임시 운동의 임의의 시각(t)에 대하여, 이 임시 운동으로부터 상기 제 2 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP인 ZMP2(t)와 이 임시 운동으로부터 상기 제 1 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP인 ZMP1(t)와의 차(ZMP2(t)-ZMP1(t))를 ZMP 오차(ZMPerr(t))로 하고, 또한 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F1(t))과의 차(F2(t)-F1(t))를 병진 상반력 수평성분 오차(Ferr(t))라고 했을 때,상기 임시 운동 수정수단은 상기 임시 운동의 수정 후의 운동으로부터 상기 제 1 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP에 상기 ZMP 오차(ZMPerr(t))와 적어도 이 ZMP 오차(ZMPerr(t))에 따라 결정한 ZMP 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표 ZMP에 일치하고, 또한 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr(t))에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 상기 임시 운동의 순시값을 수정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
- 이동 로봇의 목표 ZMP와 이 이동 로봇의 운동에 의해 발생하는 병진 상반력 수평성분의 허용범위를 설정하고, 이 목표 ZMP와 병진 상반력 수평성분의 허용범위를 만족하도록 이동 로봇의 목표 운동을 적어도 포함하는 목표 보용을 생성하는 보용생성장치에 있어서,상기 이동 로봇의 소정의 제 1 동역학 모델을 사용하고, 이 제 1 동역학 모델상에서 상기 목표 ZMP와 상기 병진 상반력 수평성분의 허용범위를 만족하도록 상기 목표 운동의 임시값인 임시 운동을 작성하는 임시 운동 작성수단과 상기 작성한 임시 운동을 상기 제 1 동역학 모델과 이 제 1 동역학 모델보다도 동역학적 정밀도가 높은 소정의 제 2 동역학 모델을 사용하여 수정하고, 그 수정 후의 운동을 상기 목표 운동으로서 얻는 임시 운동 수정수단을 구비하고,상기 임시 운동의 임의의 시각(t)에 대하여, 이 임시 운동으로부터 상기 제 2 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP인 ZMP2(t)와 상기 시각(t)에서의 상기 목표 ZMP인 목표 ZMP(t)와의 차(ZMP2(t)-목표 ZMP(t))를 ZMP 오차(ZMPerr(t))로 하고, 또한 이 임시 운동에 의해 상기 제 2 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F2(t))과 이 임시 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분(F1(t))과의 차(F2(t)-F1(t))를 병진 상반력 수평성분 오차(Ferr(t))라고 했을 때,상기 임시 운동 수정수단은 상기 임시 운동의 수정 후의 운동으로부터 상기 제 1 동역학 모델상에서 상기 시각(t)에 산출되는 ZMP에, 상기 ZMP 오차(ZMPerr(t))와 적어도 이 ZMP 오차(ZMPerr(t))에 따라 결정한 ZMP 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 목표 ZMP(t)에 일치하고, 또한 상기 임시 운동의 수정 후의 운동에 의해 상기 제 1 동역학 모델상에서 상기 시각(t)에 발생하는 병진 상반력 수평성분에 상기 병진 상반력 수평성분 오차(Ferr(t))와 적어도 이 병진 상반력 수평성분 오차(Ferr)(t)에 따라 결정한 상반력 보정량 중 어느 하나를 더한 것이 이 시각(t)에서의 상기 허용범위를 만족하도록 이 시각(t)에서의 상기 임시 운동의 순시값을 수정하는 것을 특징으로 하는 이동 로봇의 보용생성장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004052823 | 2004-02-27 | ||
JPJP-P-2004-00052823 | 2004-02-27 | ||
PCT/JP2005/003345 WO2005082583A1 (ja) | 2004-02-27 | 2005-02-28 | 移動ロボットの歩容生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060126803A KR20060126803A (ko) | 2006-12-08 |
KR101160161B1 true KR101160161B1 (ko) | 2012-06-27 |
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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067017634A KR101140812B1 (ko) | 2004-02-27 | 2005-02-28 | 이동 로봇의 보용생성장치 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7715945B2 (ko) |
EP (2) | EP1738879B1 (ko) |
JP (2) | JP4805817B2 (ko) |
KR (2) | KR101140812B1 (ko) |
WO (2) | WO2005082582A1 (ko) |
Families Citing this family (13)
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 | 삼성전자주식회사 | 인간형 로봇 및 그 보행 제어방법 |
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 |
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 |
US8468005B2 (en) | 2010-08-12 | 2013-06-18 | International Business Machines Corporation | Determining 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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (14)
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 |
JP3672406B2 (ja) * | 1997-01-31 | 2005-07-20 | 本田技研工業株式会社 | 脚式移動ロボットの歩容生成装置 |
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 | 혼다 기켄 고교 가부시키가이샤 | 레그식 이동 로봇의 보용 생성장치 |
WO2003057426A1 (fr) * | 2001-12-28 | 2003-07-17 | Honda Giken Kogyo Kabushiki Kaisha | Dispositif de production de demarche pour robot mobile a jambes |
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 |
-
2005
- 2005-02-28 WO PCT/JP2005/003346 patent/WO2005082582A1/ja active Application Filing
- 2005-02-28 KR KR1020067017634A patent/KR101140812B1/ko not_active IP Right Cessation
- 2005-02-28 US US10/597,931 patent/US7715945B2/en active Active
- 2005-02-28 EP EP05719663A patent/EP1738879B1/en not_active Expired - Fee Related
- 2005-02-28 JP JP2006510510A patent/JP4805817B2/ja not_active Expired - Fee Related
- 2005-02-28 KR KR1020067017772A patent/KR101160161B1/ko active IP Right Grant
- 2005-02-28 EP EP05719662A patent/EP1736286B1/en not_active Expired - Fee Related
- 2005-02-28 JP JP2006510511A patent/JP4805818B2/ja not_active Expired - Fee Related
- 2005-02-28 US US10/597,933 patent/US7774098B2/en not_active Expired - Fee Related
- 2005-02-28 WO PCT/JP2005/003345 patent/WO2005082583A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
---|---|
US7774098B2 (en) | 2010-08-10 |
US20070061038A1 (en) | 2007-03-15 |
WO2005082583A1 (ja) | 2005-09-09 |
JPWO2005082582A1 (ja) | 2007-10-25 |
KR20060126803A (ko) | 2006-12-08 |
JP4805817B2 (ja) | 2011-11-02 |
EP1738879A1 (en) | 2007-01-03 |
JPWO2005082583A1 (ja) | 2007-10-25 |
EP1738879B1 (en) | 2011-12-21 |
KR101140812B1 (ko) | 2012-05-03 |
EP1736286A1 (en) | 2006-12-27 |
EP1736286A4 (en) | 2009-12-09 |
US20070156284A1 (en) | 2007-07-05 |
EP1738879A4 (en) | 2009-12-09 |
US7715945B2 (en) | 2010-05-11 |
WO2005082582A1 (ja) | 2005-09-09 |
JP4805818B2 (ja) | 2011-11-02 |
KR20060129423A (ko) | 2006-12-15 |
EP1736286B1 (en) | 2011-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101160161B1 (ko) | 이동 로봇의 보용생성장치 | |
KR101131773B1 (ko) | 이동 로봇의 보용생성장치 | |
KR101121020B1 (ko) | 이동 로봇의 보용생성 장치 | |
KR100917184B1 (ko) | 다리식 이동로봇의 보용 생성 장치 | |
KR100924505B1 (ko) | 다리식 이동로봇의 제어장치 | |
KR101140810B1 (ko) | 이동로봇의 보용생성장치 | |
KR101083414B1 (ko) | 다리식 이동 로봇의 제어장치 | |
JP5465074B2 (ja) | 2足移動ロボットの制御装置 | |
JP5468974B2 (ja) | 2足移動ロボットの制御装置及び歩容生成装置 | |
JP5404543B2 (ja) | 脚式移動ロボットの制御装置 | |
JP2012016801A (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: 20150515 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160517 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170522 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180530 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190530 Year of fee payment: 8 |