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

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

Info

Publication number
KR20070003848A
KR20070003848A KR1020067015921A KR20067015921A KR20070003848A KR 20070003848 A KR20070003848 A KR 20070003848A KR 1020067015921 A KR1020067015921 A KR 1020067015921A KR 20067015921 A KR20067015921 A KR 20067015921A KR 20070003848 A KR20070003848 A KR 20070003848A
Authority
KR
South Korea
Prior art keywords
parameter
gait
value
normal
target
Prior art date
Application number
KR1020067015921A
Other languages
English (en)
Other versions
KR101140810B1 (ko
Inventor
토루 타케나카
타카시 마츠모토
타카히데 요시이케
Original Assignee
혼다 기켄 고교 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 혼다 기켄 고교 가부시키가이샤 filed Critical 혼다 기켄 고교 가부시키가이샤
Publication of KR20070003848A publication Critical patent/KR20070003848A/ko
Application granted granted Critical
Publication of KR101140810B1 publication Critical patent/KR101140810B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators

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)의 보용을 생성한다.
이동 로봇, 보용 패러미터, 동역학 모델, 보용생성장치, 우선 패러미터

Description

이동로봇의 보용생성장치{GAIT GENERATOR FOR MOBILE ROBOT}
본 발명은 2족이동로봇 등의 이동로봇의 보용을 생성하는 장치에 관한 것이다.
2족이동로봇 등의 이동로봇의 목표 보용을 생성하는 기술로서는, 예를 들면 일본 특개 2002-326173호 공보(특허문헌 1)나, PCT 국제공개공보 WO/03/057427/A1(특허문헌 2)에 개시되는 것이 본원 출원인에 의해 제안되었다. 이들 문헌에 개시되는 기술은, 로봇의 운동(각 부위의 위치, 자세)과, 상반력(床反力)과의 관계를 나타내는 제 1 동역학 모델(단순화 모델)을 사용하여 이 제 1 동역학 모델상에서의 동역학적 평형조건(상반력의 병진력 성분이 목표값이 되는, 어떤 점 주위의 상반력 모멘트가 목표값으로 되는 등의 조건)을 만족하도록 로봇의 목표 운동의 순시값(순시 목표 운동)과 목표 상반력의 순시값(순시 목표 상반력)으로 이루어지는 순시 목표 보용이 차례차례 작성된다. 그리고, 이 순시 목표 보용을 제 2 동역학 모델(풀 모델)에 입력하고, 이 순시 목표 운동의 일부(목표 상체위치 자세나 목표 ZMP 주위의 목표 모멘트 등)을 보정함으로써 최종적인 순시 목표 보용을 시계열적으로 생성하도록 하고 있다. 또한, 문헌 1, 2에 개시되는 기술에서는, 목표 보용은 2족이동로봇의 1보 기간분의 보용을 단위로 하여, 1보 마다 생성된다. 이 경우, 로봇의 1보 마다의 목표 보용의 순시값을 생성함에 있어서는, 먼저, 그 목표 보용에 이어지는 가상적인 주기적 보용인 정상 보용을 규정하는 보용 패러미터(각 족평의 위치자세 궤도를 규정하는 패러미터, 목표 ZMP 궤도를 규정하는 패러미터 등으로 구성되는 것)가, 그 보용 패러미터와 상기 제 1 동역학 모델을 사용하여 소요의 경계조건(정상 보용의 1주기의 시단과 종단에서 이 보용의 상태가 일치한다고 하는 조건)을 만족하도록 결정된다. 또한, 목표 보용을 규정하는 보용 패러미터가, 그 보용 패러미터와 상기 제 1 동역학 모델을 사용하여 생성되는 보용이 소요의 경계조건(목표 보용이 그 종단측에서 정상 보용에 근접한다는 조건)을 만족하도록 결정된다. 그리고, 이렇게 결정된 목표 보용의 보용 패러미터와 제 1 동역학 모델을 사용하여 이 목표 보용의 순시값의 시계열이 생성된다.
상기한 바와 같이 목표 보용을 생성하는 기술에서는, 제 1 동역학 모델(단순화 모델)로서는 선형성이 높은 모델이 일반적으로 사용된다. 선형성이 높은 동역학 모델을 사용하여 순시 목표 보용을 작성함으로써 가상적인 주기적 보용인 정상 보용으로 이어지거나, 혹은 점근하는 보용(로봇의 안정한 운동을 계속적으로 행할 수 있는 보용)을 효율적으로 단시간에 작성하는 것이 가능하게 되고, 나아가서는 실 로봇의 실제의 운동을 행하면서, 리얼타임으로 로봇의 순시 목표 보용을 차례차례 생성하는 것이 가능하게 된다. 또, 정상 보용의 보용 패러미터를 결정하는 경우에도, 이 정상 보용의 경계조건을 만족할 수 있는 보용 패러미터를 효율적으로 단시간에 결정하는 것이 가능하게 된다.
그런데, 선형성이 높은 동역학 모델은, 로봇의 여러 다양한 동작에 있어서 일반적으로 동역학적 정밀도가 비교적 낮아지는 경향이 있다. 즉, 그 동역학 모델상에서의 로봇의 동역학은 실 로봇의 실제의 동역학에 대해 오차를 발생하기 쉽다. 이 때문에, 제 1 동역학 모델을 사용하여 작성되는 순시 목표 보용을 그대로 실 로봇에 적용하여, 이 실 로봇의 동작을 행하게 하면, 제 1 동역학 모델상에서 보증된 동역학적 평형조건이 실 로봇상에서는 성립되지 않아, 실 로봇의 동작이 안정성이 결여되게 되기 쉽다.
그래서, 상기 특허문헌 1, 2에 개시되는 기술에서는, 제 1 동역학 모델을 사용하여 작성한 순시 목표 보용의 일부를, 제 2 동역학 모델을 사용하여 더 보정하도록 하고 있다. 이 경우, 제 2 동역학 모델로서는, 제 1 동역학 모델보다도 동역학적 정밀도가 높은 모델이 사용된다. 이것에 의해, 제 1 동역학 모델을 사용하여 작성한 보용보다도, 보다 동역학적 정밀도가 높은(실 로봇의 동역학에 보다 가까운) 보용을 생성하는 것이 가능하게 된다.
그러나, 상기 특허문헌 1, 2에 개시되는 기술에서는, 제 2 동역학 모델을 사용하여 작성되는 보용은 발산하기 쉽기 때문에, 목표 ZMP 궤도를 수정하거나 혹은 목표 ZMP 주위에 상반력 모멘트를 발생시키도록 하여, 로봇의 목표 운동 궤도가 제 1 동역학 모델에서 작성된 보용으로부터 멀리 떨어지지 않도록 할 필요가 있었다. 그리고, 이 경우, 목표 ZMP 궤도의 수정량이나, 목표 ZMP 주위의 상반력 모멘트가 비교적 커지는 경우가 있어, 이러한 경우에는, 안정 여유를 높게 유지하는 것이 곤란하게 되는 경우가 있었다. 반대로, 안정 여유를 높게 유지하기 위해서, 목표 ZMP 궤도의 수정량이나, 목표 ZMP 주위의 상반력 모멘트의 허용범위를 좁게 설정하 면, 보용이 발산될 우려가 높아진다고 하는 문제가 있었다.
또, 정상 보용의 보용 패러미터를 결정하는 경우에 있어서도, 제 1 동역학 모델의 동역학적 정밀도를 높게 하면, 이 제 1 동역학 모델의 선형성이 저하되어, 정상 보용의 경계조건을 만족시킬 수 있는 정상 보용 패러미터를 효율적으로 단시간에 찾아내는 것이 곤란하게 되므로, 상기 제 2 동역학 모델에서의 보용의 발산이 발생하기 어려운 적절한 정상 보용 패러미터를 결정하는 것이 곤란했다. 나아가서는, 상기한 바와 같이, 안정 여유를 높게 유지하는 것이 곤란하게 되거나, 제 2 동역학 모델에서 생성되는 보용의 발산이 발생하기 쉬워진다고 하는 문제가 있었다.
본 발명은 이러한 배경을 감안하여 이루어진 것으로, 목표 보용의 발산을 방지하면서, 소요의 경계조건을 만족할 수 있는 목표 보용을 효율적으로 생성할 수 있는 이동로봇의 보용생성장치를 제공하는 것을 목적으로 한다. 또, 본 발명은, 정상 보용을 규정하는 보용 패러미터를 결정하는 경우에, 정상 보용이 소요의 경계조건을 만족할 수 있는 정상 보용 패러미터를 효율적으로 결정하고, 나아가서는 목표 보용의 발산을 방지할 수 있는 이동로봇의 보용생성장치를 제공하는 것을 목적으로 한다.
이러한 목적을 달성하기 위해서, 본 발명의 이동로봇의 보용생성장치의 제 1 발명은,
소정의 기간에서의 이동로봇의 보용을 규정하는 복수의 패러미터의 세트인 보용 패러미터를 결정하고, 그 결정한 보용 패러미터와 상기 이동로봇의 동역학 모델을 사용하여 상기 소정의 기간에서의 이동로봇의 목표 보용을 생성하는 보용생성장치에 있어서,
상기 목표 보용에 관한 요구가 주어지고, 상기 보용 패러미터 중의 소정의 패러미터를 우선 패러미터로 하고, 이 우선 패러미터 이외의 패러미터를 비우선 패러미터로 했을 때, 상기 요구를 만족하기 위한 상기 우선 패러미터의 값인 우선 패러미터 요구값을 결정하는 우선 패러미터 요구값 결정수단과,
상기 이동로봇의 미리 준비된 기준 보용을 규정하는 보용 패러미터와, 소정의 경계조건을 만족하도록 과거에 결정된 보용 패러미터 중의 어느 하나의 보용 패러미터를 베이스 보용 패러미터로서 설정하는 베이스 보용 패러미터 설정수단과,
상기 베이스 보용 패러미터의 우선 패러미터의 값을, 이 값이 상기 우선 패러미터 요구값에 일치할 때까지 단계적으로 상기 우선 패러미터 요구값에 점근시키도록 갱신하는 우선 패러미터 점근수단과,
이 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신때마다, 그 갱신 후의 값의 우선 패러미터를 갖고, 또한 상기 소정의 경계조건을 만족하는 보용을 상기 동역학 모델을 사용하여 생성할 수 있는 보용 패러미터인 신규 보용 패러미터를 탐색적으로 결정하는 신규 보용 패러미터 결정수단을 구비함과 동시에,
상기 신규 보용 패러미터 결정수단은, 상기 신규 보용 패러미터를 새롭게 결정할 때의 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신 회수를 n(n:n≥1을 만족하는 정수)으로 하고, 그 제 n 회째의 갱신처리에 의해 얻어진 우선 패러미터의 값을 제 n 우선 패러미터 갱신값으로 하고, 당해 새롭게 결정하는 신규 보용 패러미터를 제 n 신규 보용 패러미터로 하고, 상기 베이스 보용 패러미터를 제 0 신규 보용 패러미터로 했을 때, 비우선 패러미터의 값에 제 n-1 신규 보용 패러미터의 비우선 패러미터의 값을 설정하고, 또한, 우선 패러미터의 값을 제 n 우선 패러미터 갱신값으로 설정하여 이루어지는 보용 패러미터를 초기 탐색후보 보용 패러미터로 하여, 이 초기 탐색후보 보용 패러미터의 비우선 패러미터 중의 소정의 패러미터인 탐색 대상 패러미터의 값을 상기 소정의 경계조건을 만족하도록 탐색함으로써 제 n 신규 보용 패러미터를 결정하는 수단이며,
상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 최후의 갱신시에 결정된 신규 보용 패러미터를 상기 목표 보용을 규정하는 보용 패러미터로 하여, 이 신규 보용 패러미터와 상기 동역학 모델을 사용하여 이 목표 보용을 생성하도록 한 것을 특징으로 하는 것이다.
또한, 이 제 1 발명을 포함하여 본원발명에서는, 목표 보용은 로봇의 운동(각 부위의 위치·자세, 또는 각 관절의 변위량)의 목표 순시값의 시계열로 구성되거나, 또는, 이 운동의 목표 순시값의 시계열과 로봇에 작용하는 상반력(병진력, 모멘트, 작용점중 적어도 하나)의 목표 순시값의 시계열로 구성된다. 또, 로봇의 동역학 모델은, 적어도 로봇의 운동과 로봇에 작용하는 상반력과의 관계를 나타내는 운동·상반력 모델(로봇의 동역학방정식)을 포함하는 모델이다. 이 동역학 모델에는, 로봇의 운동에 관한 제약조건(로봇이 어떤 부위의 가동 범위나, 링크기구의 기하학적인 구속조건 등) 또는 상반력에 관한 제약조건(상반력의 소정 성분의 허용범위, 또는 이 상반력의 작용점의 존재 허용범위 등)이 부가되어 있어도 되고, 그 경우, 그들 제약조건과 상기 운동·상반력 모델을 합한 것이 동역학 모델이다. 또, 보용 패러미터와 동역학 모델을 사용하여 보용을 생성한다고 하는 것은, 보용 패러미터를 기초로, 동역학 모델에 대한 입력량 또는 동역학 모델의 상태량을 결정하고, 이 동역학 모델상의 동역학(운동·상반력 모델의 관계, 또는 그 관계와 부가된 제약조건)을 만족하는 보용을 생성하는 것을 의미한다.
상기 제 1 발명에 의하면, 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신때마다, 상기 신규 보용 패러미터 결정수단에 의해 새롭게 결정되는 상기 신규 보용 패러미터의 우선 패러미터의 값은 우선 패러미터 점근수단에 의한 갱신 후의 우선 패러미터의 값에 일치한다. 따라서, 이 신규 보용 패러미터의 우선 패러미터의 값은, 상기 베이스 보용 패러미터(=제 0 신규 보용 패러미터)로부터 단계적으로 우선 패러미터 요구값, 즉 상기 목표 보용에 관한 요구를 만족하기 위한 우선 패러미터의 값에 근접해 가고, 최종적으로 이 우선 패러미터 요구값에 일치하도록 갱신되게 된다.
또, 우선 패러미터의 값의 임의의 제 n 회째의 갱신시에 결정되는 제 n 신규 보용 패러미터는, 비우선 패러미터의 값에 제 n-1 신규 보용 패러미터의 비우선 패러미터의 값을 설정하고, 또한, 우선 패러미터의 값을 제 n 회째의 갱신 후의 값(제 n 우선 패러미터 갱신값)으로 설정하여 이루어지는 보용 패러미터(우선 보용 패러미터 이외의 패러미터가 제 n-1 신규 보용 패러미터와 동일하게 되는 보용 패러미터)를 초기 탐색후보 보용 패러미터로 하여, 이 초기 탐색후보 보용 패러미터의 비우선 패러미터 중의 소정의 패러미터인 탐색 대상 패러미터의 값을 상기 소정의 경계조건을 만족하도록 탐색함으로써 결정된다. 이 경계조건은, 예를 들면 상기 소정의 기간의 일단(시단 또는 종단의 시각)에 있어서의 보용(순시값)의 소정의 상태량(예를 들면 로봇이 어떤 부위의 위치, 자세, 혹은 그 변화속도, 또는, 상반력)이 소정의 값에 일치 또는 거의 일치한다고 하는 조건이다.
이 경우, 초기 탐색후보 보용 패러미터는 그 탐색 패러미터 이외의 패러미터가 이제부터 결정하려고 하는 제 n 신규 보용 패러미터와 동일하다. 그리고, 이 초기 탐색후보 보용 패러미터와 앞서 결정된 제 n-1 신규 보용 패러미터는, 그것들의 우선 패러미터의 값의 차를 충분히 작게 할 수 있으므로, 새롭게 결정하고자 하는 제 n 신규 보용 패러미터의 상기 소정의 경계조건을 만족시킬 수 있는 적정한 탐색 대상 패러미터의 값은 제 n-1 신규 보용 패러미터의 탐색 대상 패러미터의 값으로부터 크게 벗어나게 되는 일은 없다. 이 때문에, 상기 경계조건을 만족시킬 수 있는 제 n 신규 보용 패러미터의 탐색 대상 패러미터를 용이하게 단시간에 탐색할 수 있다.
그리고, 우선 패러미터의 값의 최후의 갱신시, 즉, 우선 패러미터의 값을 최종적으로 상기 우선 패러미터 요구값에 일치시켰을 때에 결정된 신규 보용 패러미터와 상기 동역학 모델을 사용하여 상기 목표 보용이 생성된다.
따라서, 제 1 발명에 의하면, 생성하려고 하는 상기 목표 보용을 규정하는 보용 패러미터는, 그 우선 패러미터의 값을 상기 베이스 보용 패러미터의 우선 패러미터의 값으로부터 서서히(단계적으로), 본래의 요구값인 우선 패러미터 요구값에 근접시키면서, 우선 패러미터가 아닌 탐색 대상 패러미터의 값을 탐색적으로 조정해 감으로써 최종적으로 상기 경계조건을 만족할 수 있도록 결정되게 된다. 바꾸어 말하면, 베이스 보용 패러미터를 기점으로 하여, 그것을, 상기 목표 보용에 관한 요구와 경계조건을 서서히 만족시켜 가도록 변화시켜 감으로써 이 목표 보용을 규정하는 보용 패러미터가 결정되게 된다. 이 경우, 베이스 보용 패러미터는, 미리 준비된 기준 보용을 규정하는 보용 패러미터와, 소정의 경계조건을 만족하도록 과거에 결정된 보용 패러미터 중의 어느 하나이므로, 그것과, 동역학 모델을 사용하여 보용을 생성했을 때에 그 보용의 발산 등의 문제를 일으키지 않거나, 또는 일으키기 어려운 보용 패러미터(보용 패러미터로서 적절한 것)이다. 이 때문에, 제 1 발명에서, 목표 보용을 규정하는 것으로 하여 최종적으로 결정되는 보용 패러미터는, 그것과 동역학 모델을 사용하여 생성되는 보용이 발산을 일으키지 않거나, 또는 발산이 생기기 어려운 것으로 하는 것이 가능하게 된다. 또, 상기한 바와 같이, 우선 패러미터의 각 회의 갱신시에, 적정한 신규 보용 패러미터의 탐색 대상 패러미터는 용이하게 단시간에 탐색할 수 있으므로, 결과적으로, 상기 목표 보용을 규정하는 최종적인 보용 패러미터를 효율적으로 결정할 수 있게 된다.
따라서, 제 1 발명에 의하면, 정상 보용이 소요의 경계조건을 만족할 수 있는 정상 보용 패러미터를 효율적으로 결정하고, 목표 보용의 발산을 방지하면서, 소요의 경계조건을 만족할 수 있는 목표 보용을 효율적으로 생성할 수 있다. 또, 발산하지 않거나, 또는 발산하기 어려운 목표 보용을 생성할 수 있으므로, 발산을 방지하기 위해서 목표 보용 중 목표 ZMP나 목표 상반력 모멘트 등을 크게 수정하거나 할 필요가 없게 되어, 이동로봇의 안정여유를 높일 수 있다.
또, 본 발명의 이동로봇의 보용생성장치의 제 2 발명은 상기의 목적을 달성하기 위해서,
소정의 기간에서의 이동로봇의 목표 보용을 생성할 때, 이 목표 보용에 이어지는 가상적인 주기적 보용인 정상 보용을 규정하는 복수의 패러미터의 세트인 정상 보용 패러미터를 결정함과 동시에, 그 결정한 정상 보용 패러미터와 상기 이동로봇의 동역학 모델을 사용하여 생성되는 정상 보용에 상기 목표 보용을 근접시키도록 이 목표 보용을 생성하는 이동로봇의 보용생성장치에 있어서,
상기 목표 보용에 대응하는 정상 보용에 관한 요구가 입력되고, 상기 정상 보용 패러미터 중의 소정의 패러미터를 우선 패러미터로 하고, 이 우선 패러미터 이외의 패러미터를 비우선 패러미터로 했을 때, 상기 요구를 만족하기 위한 이 우선 패러미터의 값인 우선 패러미터 요구값을 결정하는 우선 패러미터 요구값 결정수단과,
상기 이동로봇의 미리 준비된 기준 정상 보용을 규정하는 정상 보용 패러미터와, 소정의 경계조건을 만족하도록 과거에 결정된 정상 보용 패러미터 중 어느 하나의 정상 보용 패러미터를 베이스 정상 보용 패러미터로서 설정하는 베이스 정상 보용 패러미터 설정수단과,
상기 베이스 정상 보용 패러미터의 우선 패러미터의 값을, 이 값이 상기 우선 패러미터 요구값에 일치할 때까지 단계적으로 상기 우선 패러미터 요구값에 점근시키도록 갱신하는 우선 패러미터 점근수단과,
이 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신때마다, 그 갱신 후의 값의 우선 패러미터를 갖고, 또한 상기 소정의 경계조건을 만족하는 보용을 상기 동역학 모델을 사용하여 생성할 수 있는 정상 보용 패러미터인 신규 정상 보용 패러미터를 탐색적으로 결정하는 신규 정상 보용 패러미터 탐색 수단을 구비함과 동시에,
상기 신규 정상 보용 패러미터 탐색 수단은, 상기 신규 정상 보용 패러미터를 새롭게 결정할 때의 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신 회수를 n(n:n≥1을 만족하는 정수)으로 하고, 그 제 n 회째의 갱신 후의 우선 패러미터의 값을 제 n 우선 패러미터 갱신값으로 하고, 당해 새롭게 결정하는 신규 정상 보용 패러미터를 제 n 신규 정상 보용 패러미터로 하고, 상기 베이스 정상 보용 패러미터를 제 0 신규 정상 보용 패러미터로 했을 때, 비우선 패러미터의 값에 제 n-1 신규 정상 보용 패러미터의 비우선 패러미터의 값을 설정하고, 또한, 우선 패러미터의 값에 제 n 우선 패러미터 갱신값을 설정하여 이루어지는 보용 패러미터를 초기 탐색후보 보용 패러미터로 하고, 이 초기 탐색후보 보용 패러미터의 비우선 패러미터 중의 소정의 패러미터인 탐색 대상 패러미터의 값을 상기 소정의 경계조건을 만족하도록 탐색함으로써 제 n 신규 정상 보용 패러미터를 결정하는 수단이며,
상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 최후의 갱신시에 결정된 신규 정상 보용 패러미터를 상기 목표 보용에 대응하는 정상 보용의 정상 보용 패러미터로 하여, 이 정상 보용 패러미터와 상기 동역학 모델을 사용하여 생성되는 정상 보용에 근접시키도록 상기 목표 보용을 생성하도록 한 것을 특징으로 하는 것이다.
이 제 2 발명에 의하면, 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신때마다, 상기 신규 정상 보용 패러미터 결정수단에 의해 새롭게 결정되는 상기 신규 정상 보용 패러미터의 우선 패러미터의 값은 우선 패러미터 점근수단에 의한 갱신 후의 우선 패러미터의 값에 일치한다. 따라서, 이 신규 정상 보용 패러미터의 우선 패러미터의 값은 상기 베이스 정상 보용 패러미터(=제 0 신규 정상 보용 패러미터)로부터 단계적으로 우선 패러미터 요구값, 즉 상기 정상 보용에 관한 요구를 만족하기 위한 우선 패러미터의 값에 근접해 가고, 최종적으로 이 우선 패러미터 요구값에 일치하도록 갱신되게 된다.
또, 우선 패러미터의 값의 임의의 제 n 회째의 갱신시에 결정되는 제 n 신규 정상 보용 패러미터는, 비우선 패러미터의 값에 제 n-1 신규 정상 보용 패러미터의 비우선 패러미터의 값을 설정하고, 또한, 우선 패러미터의 값을 제 n 회째의 갱신 후의 값(제 n 우선 패러미터 갱신값)으로 설정하여 이루어지는 보용 패러미터(우선 보용 패러미터 이외의 패러미터가 제 n-1 신규 정상 보용 패러미터과 동일하게 되는 보용 패러미터)를 초기 탐색후보보용 패러미터로 하고, 이 초기 탐색후보 보용 패러미터의 비우선 패러미터 중의 소정의 패러미터인 탐색 대상 패러미터의 값을 상기 소정의 경계조건을 만족하도록 탐색함으로써 결정된다. 이 경계조건은, 예를 들면 정상 보용의 1주기의 기간의 양단(이 기간의 시단 및 종단)에 있어서의 이 보용의 소정의 상태량(로봇의 어떤 부위의 위치, 자세, 혹은 그 변화속도, 또는, 상반력)이 서로 일치한다는 조건이다.
이 경우, 초기 탐색후보 보용 패러미터는, 그 탐색 패러미터 이외의 패러미터가 이제부터 결정하려고 하는 제 n 신규 정상 보용 패러미터와 동일하다. 그리고, 이 초기 탐색후보 보용 패러미터와 앞서 결정된 제 n-1 신규 정상 보용 패러미터는, 그것들의 우선 패러미터의 값의 차를 충분히 작게 할 수 있으므로, 새롭게 결정하려고 하는 제 n 신규 정상 보용 패러미터의 상기 소정의 경계조건을 만족시킬 수 있는 적정한 탐색 대상 패러미터의 값은, 제 n-1 신규 정상 보용 패러미터의 탐색 대상 패러미터의 값으로부터 크게 벗어나지는 않는다. 이 때문에, 상기 경계조건을 만족시킬 수 있는 제 n 신규 정상 보용 패러미터의 탐색 대상 패러미터를 용이하게 단시간에 탐색할 수 있다.
따라서, 제 2 발명에 의하면, 생성하려고 하는 상기 목표 보용에 대응하는 정상 보용을 규정하는 정상 보용 패러미터는, 그 우선 패러미터의 값을 상기 베이스 보용 패러미터의 우선 패러미터의 값으로부터 서서히(단계적으로), 본래의 요구값인 우선 패러미터 요구값에 근접시키면서, 우선 패러미터가 아닌 탐색 대상 패러미터의 값을 탐색적으로 조정해 감으로써 최종적으로 상기 경계조건을 만족할 수 있도록 결정되게 된다. 바꾸어 말하면, 베이스 보용 패러미터를 기점으로 하여, 그것을, 상기 정상 보용에 관한 요구와 경계조건을 서서히 만족시켜 가도록 변화시켜 감으로써 이 정상 보용을 규정하는 정상 보용 패러미터가 결정되게 된다. 이 경우, 베이스 보용 패러미터는, 미리 준비된 기준 정상 보용을 규정하는 보용 패러미터와, 소정의 경계조건을 만족하도록 과거에 결정된 정상 보용 패러미터 중 어느 하나이므로, 그것과 동역학 모델을 사용하여 정상 보용을 생성했을 때에 상기 경계조건을 만족할 수 있는 적절한 보용 패러미터이다. 이 때문에, 제 2 발명에서, 상기 목표 보용에 대응하는 정상 보용을 규정하는 것으로서 최종적으로 결정되는 정상 보용 패러미터는, 그것과 동역학 모델을 사용하여 생성되는 정상 보용이 상기 경계조건을 적절하게 만족할 수 있는 것으로 하는 것이 가능하게 된다. 또, 상기한 바와 같이, 우선 패러미터의 각 회의 갱신시에, 적정한 신규 정상 보용 패러미터의 탐색 대상 패러미터는 용이하게 단시간에 탐색할 수 있으므로, 결과적으로, 상기 목표 보용에 대응하는 정상 보용을 규정하는 최종적인 정상 보용 패러미터를 효율적으로 결정할 수 있게 된다.
그리고, 제 2 발명에서는, 우선 패러미터의 값의 최후의 갱신시, 즉, 우선 패러미터의 값을 최종적으로 상기 우선 패러미터 요구값에 일치시켰을 때에 결정된 신규 정상 보용 패러미터와 상기 동역학 모델을 사용하여 생성되는 정상 보용에 근접시키도록 상기 목표 보용이 생성되므로, 이 목표 보용은 제 n 동역학 모델상에서 로봇의 계속적인 안정성을 적절하게 향상시킬 수 있는 보용이 되어, 이 목표 보용의 발산을 방지할 수 있다. 또, 발산하지 않거나, 또는 발산하기 어려운 목표 보용을 생성할 수 있으므로, 발산을 방지하기 위해서 목표 보용 중 목표 ZMP나 목표 상반력 모멘트 등을 크게 수정하거나 할 필요가 없게 되어, 이동로봇의 안정여유를 높일 수 있다.
또한, 제 1 발명과 제 2 발명은 복합시켜도 된다. 즉, 제 1 발명에 있어서, 소정의 기간에서의 목표 보용을 제 2 발명에 있어서의 정상 보용에 근접시키도록 생성하고, 이때, 그 정상 보용을 규정하는 정상 보용 패러미터를 제 2 발명과 같이 결정한다. 이 경우, 제 1 발명에서의 동역학 모델과 제 2 발명에서의 동역학 모델은 동일해도 되는 것은 물론이거니와, 상이해도 된다.
상기 제 1 발명에서는, 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 총 갱신 회수는 상기 베이스 보용 패러미터의 우선 패러미터의 값과 상기 우선 패러미터 요구값과의 차에 따라 설정되는 것이 바람직하다(제 3 발명).
마찬가지로, 상기 제 2 발명에서는, 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 총 갱신 회수는 상기 베이스 정상 보용 패러미터의 우선 패러미터의 값과, 상기 우선 패러미터 요구값과의 차에 따라 설정되는 것이 바람직하다(제 4 발명).
이들 제 3 발명 또는 제 4 발명에 의하면, 우선 패러미터의 값의 각 갱신시에 있어서의 갱신량이 과대 또는 과소로 되지 않는 적절한 갱신량으로 하여, 각 제 n 신규 보용 패러미터 또는 각 제 n 신규 정상 보용 패러미터의 탐색 대상 패러미터의 탐색 처리를 효율적으로 행할 수 있다.
또, 상기 제 1 발명에서는, 상기 보용 패러미터는 상기 목표 보용 중 목표 ZMP 궤도를 규정하는 패러미터를 상기 탐색 대상 패러미터로서 포함하는 것이 바람직하다(제 5 발명).
이 제 5 발명에 의하면, 목표 ZMP 궤도를 로봇의 안정여유를 확보하기 위해서 적합한 궤도로부터 크게 수정하지 않도록 하면서, 상기 경계조건을 만족할 수 있는 목표 보용을 생성하는 것이 가능하게 된다.
또, 상기 제 2 발명에서는, 상기 정상 보용 패러미터는, 상기 정상 보용의 1주기의 기간의 일단에서의 이동로봇의 운동의 소정의 상태량을 규정하는 패러미터를 상기 탐색 대상 패러미터로서 포함하는 것이 바람직하다(제 6 발명).
이 제 6 발명에 의하면, 정상 보용의 경계조건이 만족시켜지는 정상 보용 패러미터를, 정상 보용의 1주기의 기간의 일단에서의 이동로봇의 운동의 소정의 상태량을 조정함으로써 결정하는 것이 되므로, 안정여유가 높은 정상 보용을 규정하는 정상 보용 패러미터를 결정할 수 있다. 또한, 정상 보용은 주기적인 보용이므로, 그 1주기의 일단에서의 로봇의 운동의 소정의 상태량을 조정하는 것은 1주기의 타단에서의 로봇의 운동의 소정의 상태량을 조정하는 것을 의미한다.
또, 상기 제 1 발명에서는, 상기 소정의 경계조건은 상기 소정의 기간에 있어서의 보용의 경계에서의 이동로봇의 운동의 소정의 상태량이 상기 경계에서 인접하는 보용에서의 이동로봇의 운동의 이 소정의 상태량과 일치한다고 하는 조건을 포함한다(제 7 발명).
즉, 목표 보용은, 연속해 있을 필요가 있으므로, 상기 소정의 기간에 있어서의 목표 보용을 생성할 때, 이 소정의 기간에 있어서의 보용의 경계(이 소정의 기간의 시단 또는 종단에 있어서의 보용)에서, 이동로봇의 보용의 운동의 소정의 상태량(예를 들면 어떤 이동로봇의 어떤 부위의 위치, 자세, 혹은 그 변화속도)이 이 보용에 인접하는 보용에서의 당해 운동의 소정의 상태량과 일치하는 것이 바람직하다.
또, 제 1 발명에서, 상기 소정의 기간에 있어서의 목표 보용에 이어지는 가상적인 주기적 보용인 정상 보용(또는 이것을 규정하는 정상 보용 패러미터)을 결정한 다음, 이 목표 보용에 근접시키도록 목표 보용을 생성하는 경우에는, 상기 소정의 경계조건은 상기 소정의 기간에 있어서의 보용의 종단측의 경계에서의 이동로봇의 운동의 소정의 상태량이 이 보용에 계속될 가상적인 주기적 보용으로서 결정된 정상 보용에서의 이동로봇의 운동의 이 소정의 상태량과 일치한다고 하는 조건을 포함하는 것이 바람직하다(제 8 발명).
이와 같이 상기 목표 보용에 대응하는 경계조건을 정함으로써, 목표 보용의 종단측(상기 소정 기간의 종단측)에서 정상 보용에 근접시키는 목표 보용을 생성할 수 있는 보용 패러미터를 효율적으로 생성할 수 있다. 또한, 제 8 발명에서, 정상 보용은, 반드시 그것을 규정하는 정상 보용 패러미터를 제 2 발명과 같이 단계적으로 결정할 필요는 없지만, 제 2 발명과 같이 결정하도록 해도 된다.
또, 제 2 발명에서는, 상기 소정의 경계조건은, 상기 정상 보용의 1주기의 시단과 종단에 있어서의 이동로봇의 운동의 소정의 상태량이 일치한다고 하는 조건을 포함하는 것이 바람직하다(제 9 발명).
정상 보용은 주기적인 보용이므로, 상기한 바와 같이 경계조건을 정함으로써, 주기성의 조건을 만족하는 정상 보용을 생성할 수 있는 정상 보용 패러미터를 적절하게 결정할 수 있다. 또한, 이 제 9 발명에서의 정상 보용의 1주기의 시단은 반드시, 상기 목표 보용의 종단과 일치할 필요는 없다.
상기 제 6∼제 9 발명에서는, 특히, 상기 이동로봇이 상체로부터 연장하여 설치된 복수의 다리체를 구비한 다리식 이동로봇일 경우에는, 상기 소정의 상태량은 이 로봇의 상체의 위치, 이 상체의 속도, 이 상체의 자세각, 이 상체의 자세각의 각속도, 이 상체의 위치와 속도의 가중평균값, 이 로봇의 전체중심의 위치, 이 전체중심의 속도, 이 전체중심의 위치와 속도의 가중평균값, 및 발산성분 중 적어도 어느 하나를 포함하는 것이 바람직하다(제 10 발명).
이것에 의하면, 제 6 발명에서는, 상기 탐색 대상 패러미터를 적게 하면서, 정상 보용의 경계조건을 만족하는 정상 보용 패러미터를 효율적으로 결정할 수 있다. 또, 특히 제 8 발명에 있어서는, 상기 소정의 기간에 있어서의 목표 보용을 정상 보용에 근접시키기 위한 보용 패러미터를 탐색 대상 패러미터를 적게 하면서 효율적으로 결정할 수 있다. 또한, 제 8 발명에서는, 특히, 상기 소정의 상태량으로서는, 상체의 위치와 속도의 가중평균값, 또는 전체중심의 위치와 속도의 가중평균값, 또는 발산성분이 적합하다.
도 1은 본 발명의 실시형태를 적용하는 이동로봇(2족보행 로봇)의 전체 구성의 개략을 도시하는 도면,
도 2는 도 1의 로봇의 각 다리체의 족평 부분의 구성을 도시하는 측면도,
도 3은 도 1의 로봇에 구비한 제어 유닛의 구성을 도시하는 블럭도,
도 4는 도 3의 제어 유닛의 기능적 구성을 도시하는 블럭도,
도 5는 도 4에 도시하는 보용생성장치의 기능을 도시하는 블럭도,
도 6은 (a), (b)는 각각 로봇의 운동 모드(상체 병진모드, 상체 회전모드)를 설명하기 위한 도면,
도 7은 보용생성에서 사용하는 동역학 모델의 구조를 도시하는 도면,
도 8은 보용생성에서 사용하는 풀 모델의 구조를 도시하는 도면,
도 9은 실시형태에서의 보용생성장치의 메인루틴 처리를 도시하는 플로우차트,
도 10은 도 9의 서브루틴 처리를 도시하는 플로우차트,
도 11은 도 10의 서브루틴 처리를 도시하는 플로우차트,
도 12는 도 11의 서브루틴 처리를 도시하는 플로우차트,
도 13은 도 12의 서브루틴 처리를 도시하는 플로우차트,
도 14는 도 13의 서브루틴 처리를 도시하는 플로우차트,
도 15는 도 14의 서브루틴 처리를 도시하는 플로우차트,
도 16은 도 9의 서브루틴 처리를 도시하는 플로우차트,
도 17은 도 9의 서브루틴 처리를 도시하는 플로우차트,
도 18은 도 17의 서브루틴 처리를 도시하는 플로우차트,
도 19는 도 18의 서브루틴 처리를 도시하는 플로우차트,
도 20은 정상 보용에 있어서의 상체경사 복원 모멘트 ZMP 환산값의 예를 도시하는 그래프,
도 21은 금회 보용에 있어서의 상체경사 복원 모멘트 ZMP 환산값의 예를 도시하는 그래프,
도 22는 금회 보용에 있어서의 임시 목표 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)가 장비됨과 동시에, 발 밑바닥(각 족평(22)R, L의 밑바닥면)에는 고무 등으로 이루어지는 발 밑바닥 탄성체(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)에 관한 상기 보정 목표 상체자세 및 보정 목표 상체위치는, 어떤 기본이 되는 목표 상체자세(임시 목표 상체자세) 및 목표 상체위치(임시 목표 상체위치)를 보정한 것이다. 본 명세서의 실시형태에서는, 기본이 되는 목표 상체위치 자세는, 후술하는 목표 순시값 발생부에서 결정되는 목표 상체위치 자세(후술의 도 12의 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)가 출력하는 목표 보용)을 결정할 때까지의 과정에서 작성하는 목표 보용(임시 목표 보용)에서는, 목표 ZMP 주위의 목표 상반력 모멘트의 수평성분은 본래의 목표 ZMP의 정의대로 0으로 된다. 따라서, 최종적으로 결정하는 목표 보용 이외의 임시 목 표 보용에서는, 상기 협의의 목표 보용으로부터 보정 목표 상반력 모멘트를 제외한 것이 목표 보용의 의미로 사용된다. 보충하면, 본 명세서의 실시형태에서는, 최종적인 목표 보용(보용생성장치(100)가 출력하는 목표 보용)을 결정할 때까지의 과정에서 작성하는 목표 보용(임시 목표 보용)이 본 발명에 밀접하게 관련되는 것으로 되어 있다. 이 때문에, 이후의 설명에서 나타내는 목표 보용의 대부분은, 상기 협의의 목표 보용으로부터, 보정 목표 상반력 모멘트를 제외한 것(목표 ZMP를 만족하는 보용)의 의미로 사용된다.
또한, 이후의 설명에서는, 「상반력 연직성분」은 「병진상반력 연직성분」을 의미하는 것으로 하고, 상반력 중 연직성분(연직축 주위 성분)은 「모멘트」라고 하는 용어를 사용하여 「상반력 연직성분」과 구별을 한다. 마찬가지로, 「상반력 수평성분」은 「병진상반력 수평성분」을 의미하는 것으로 한다.
또, 목표 보용의 「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)는 본 발명의 중핵과 관계되는 처리를 담당하는 것이다.
본 명세서의 실시형태에서는, 보용 패러미터 결정부(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)의 소정의 제어처리 주기 마다의 값)을 차례차례 산출(발생)한다. 또한, 도 5에서는 일부의 목표 순시값만을 대표적으로 기재하고 있다.
목표 순시값 발생부(100b)에서 산출된 목표 순시값은 풀 모델 보정부(100c)에 입력된다. 이 풀 모델 보정부(100c)는, 목표 순시값 발생부(100b)가 구한 목표 상체위치 자세를, 동역학적 정밀도가 높은 동역학 모델로서의 풀 모델을 사용해서 보정하여 이루어지는 보정 목표 상체위치 자세를 산출함과 동시에, 목표 ZMP 주위의 상반력 모멘트 수평성분의 목표값인 보정 목표 상반력 모멘트를 산출한다.
풀 모델 보정부(100c)는, 보다 일반적으로는, 다음 D1∼D3의 조건을 만족하도록, E1 또는 E2의 처리를 실행한다. 즉, 풀 모델 보정부(100c)는,
D1) 목표 순시값 발생부(100b)에서 생성한 보용보다도 높은 정밀도로 동역학적 평형조건을 만족한다.
D2) 진ZMP(목표 ZMP의 주위에 보정 목표 상반력 모멘트를 발생시킴으로써 수정된 본래의 정의를 만족하는 ZMP)는 ZMP 허용범위(안정여유를 충분히 유지할 수 있는 허용범위)에 존재한다.
D3) 상반력 수평성분은 상반력 수평성분 허용범위 내로 된다.
라고 하는 조건을 만족하도록,
E1) 목표 순시값 발생부(100b)에서 생성한 보용의 상체위치 자세를 보정한다.
또는
E2) 목표 순시값 발생부(100b)에서 생성한 보용의 상체위치 자세를 보정함과 동시에, 목표 ZMP 주위의 보정 목표 상반력 모멘트를 출력한다(목표 상반력을 보정한다).
본 명세서의 실시형태에서는, D1∼D3의 조건을 만족하도록, E2의 처리가 실행된다. 또한, 본 명세서의 실시형태에서의 풀 모델 보정부(100c)의 처리는, 예를 들면 본원 출원인이 앞서 제안한 PCT 국제공개공보 WO/03/057427/A1에서 상세하게 설명되어 있는 것(구체적으로는, 동 공보의 도 13의 S038의 처리)와 동일하다. 따라서, 본 명세서에서의 풀 모델 보정부(100c)의 처리의 상세한 설명은 생략한다.
또, 본 명세서의 실시형태에서는, 풀 모델 보정부(100c)에 의한 보정을 행하지만, 그 보정을 생략하고, 목표 순시값 발생부(100b)에서 결정한 목표 보용의 순시값을 그대로 보용생성장치(100)로부터 출력하도록 해도 된다.
도 4로 되돌아와, 전술한 바와 같이 결정되는 보정 목표 상체위치 자세, 목표 ZMP 주위의 보정 목표 상반력 모멘트, 목표 족평위치 자세의 순시값을 포함하는 목표 보용의 순시값은 복합 컴플라이언스 제어장치(101)(도 4에서 파선으로 둘러싼 부분)에 입력된다. 이 복합 컴플라이언스 제어장치(101)에서는, 로봇(1)의 밸런스를 유지하면서, 목표 보용에 추종하도록 관절 액추에이터(전동 모터(64))가 제어된다. 또한, 복합 컴플라이언스 제어장치(101)의 보다 구체적인 처리는 후술한다.
이상이 보용생성장치(100)의 개요이다.
다음에 본 발명의 실시형태를 구체적으로 설명해 간다. 본 실시형태에서는, 보용 패러미터 결정부(100a)는 상기 제어 유닛(60)의 제어처리주기 마다, 목표 ZMP 궤도(보다 정확하게는 보용 패러미터 중의 목표 ZMP 궤도를 규정하는 패러미터)를 수정하기 위한 패러미터를 단계적으로 결정하거나, 상기한 패러미터 이외의 패러미터를 탐색적으로 결정함으로써, 그리고 그 결정한 보용 패러미터와 상기 동역학 모델을 사용하여 목표 순시값 발생부(100b)에 의해 목표 보용의 순시값의 시계열을 결정한다. 이 경우, 보용 패러미터는, 이미 작성완료된 보용과 관계되는 보용 패러미터를 초기값으로 하여, 그 보용 패러미터의 일부의 패러미터를 지금부터 작성하려고 하는 보용에 대응하여 정해지는 보용 패러미터에 단계적으로 근접시키면서, 나머지 패러미터 중 소정의 패러미터가 탐색적으로 결정된다.
여기에서, 제 1 실시형태에서 보용생성에 사용되는 상체운동 모드와 동역학 모델에 대해 설명한다.
주행 등, 공중기가 있는 보용이나, 저마찰 바닥면에서의 보행에 있어서는, 단지 상체 수평가속도를 조정하는 것만으로는, 목표 보용의 상반력 수평성분이 허용범위 내(또는 마찰한계 내)에 존재하면서 동역학적 평형조건을 만족할 수 없는 경우가 있다. 그래서, 본 실시형태에서는, 이하에 설명하는 상체(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)을 연직방향으로 이동시키는 운동이다.
제 1 실시형태에서는, 목표 순시값 발생부(100b)는 이하에 나타내는 동역학 모델을 사용하여 보용을 생성한다. 본 실시형태에서는, 그 동역학 모델로서, 예를 들면 도 7에 도시하는 동역학 모델이 사용된다.
도 7을 참조하여, 이 동역학 모델은 로봇(1)의 각 다리체(2)에 각각 대응하는 2개의 질점(족평 질점)(2m, 2m), 및 상체(3)에 대응하는 질점(상체 질점)(24m)으로 이루어지는 합계 3질점과, 이너셔가 있고 질량이 없는 플라이휠(FH)로 구성되는 모델이다. 상체 질점은 상체(3)에 임의로 고정 설정된 로컬 좌표계에 있어서 상체(3)의 대표점과 일정한 위치관계를 갖는 점이다. 마찬가지로, 각 족평 질점은, 그것에 대응하는 족평(22)에 임의로 고정설정된 로컬 좌표계에서 이 족평(22)의 대표점과 일정한 위치관계를 갖는 점이다. 이 동역학 모델은, 본원 출원인이 예를 들면 앞서 제안한 PCT 국제공개공보 WO/03/057427/A1에 예시한 동역학 모델이다. 따라서, 본 명세서에서의 상세한 설명은 생략하지만, 이 동역학 모델의 동역 학은, 다음과 같이 변수를 정의했을 때, 식 2a∼2c에 의해 표시된다. 또한, 여기에서는, 본 명세서의 이해를 쉽게 하기 위해서, 사지탈 플레인(전후축(X축)과 연직축(Z축)을 포함하는 평면)에서의 동역학방정식(운동과 상반력과의 관계를 나타내는 식)만을 기술하고, 래터럴 플레인(좌우축(Y축)과 연직축(Z축)을 포함하는 평면)에서의 동역학방정식을 생략한다.
Zsup2: 지지다리 질점 연직위치, Zswg2: 미착지다리 질점 연직위치, Zb2: 상체 질점 연직위치, ZGtotal2: 전체 중심 연직위치, Xsup2: 지지다리 질점 수평위치, Xswg2: 미착지다리 질점 수평위치, Xb2: 상체 질점 수평위치, XGtotal2: 전체 중심 수평위치, θby2: 연직방향에 대한 Y축 주위의 상체자세각(경사각), mb2: 상체 질점 질량, msup2: 지지다리 질점 질량, mswg2: 미착지다리 질점 질량, mtotal: 로봇 총 질량(=mb2+msup2+mswg2), J: 상체 관성 모멘트(상체 회전모드에서의 등가 관성모멘트), Fx: 상반력 수평성분(상세하게는 병진상반력의 전후 방향(X축) 성분), Fz: 상반력 연직성분(상세하게는 병진상반력의 연직방향(Z축) 성분), My: 목표 ZMP 주위의 상반력 모멘트(상세하게는 상반력 모멘트의 좌우축(Y축) 주위 성분).
Fz=mb2*(g+d2Zb2/dt2)+msup2*(g+d2Zsup2/dt2)
+mswg2*(g+d2Zswg2/dt2) ……식 2a
Fx=mb2*d2Xb/dt2+msup2*d2Xsup2/dt2+mswg2*d2Xswg2/dt2
…… 식 2b
My=-mb2*(Xb2-Xzmp)+(g+d2Zb2/dt2)+mb2*(Zb2-Zzmp)*d2Xb2/dt2
-msup2*(Xsup2-Xzmp)*(g+d2Zsup2/dt2)
+msup2*(Zsup2-Zzmp)*d2Xsup2/dt2
-mswg2*(Xswg2-Xzmp)*(g+d2Zswg2/dt2)
+mswg2*(Zswg2-Zzmp)*(d2Xswg2/dt2)+J*d2θby/dt2
…… 식 2c
또한, 로봇 전체 중심위치에는 다음 관계식이 성립한다.
ZGtotal2=(mb2*Zb2+msup2*Zsup2+mswg2*Zswg2)/mtotal …식 2d
XGtotal2=(mb2*Xb2+msup2*Xsup2+mswg2*Xswg2)/mtotal …식 2e
이 동역학 모델에서는, 다리체(2, 2)의 동역학(각 질점(2m, 2m)의 동역학)과 상체(3)의 동역학(질점(24m) 및 플라이휠(FH)의 동역학)이 서로 비간섭으로 구성됨과 동시에, 로봇(1) 전체의 동역학은 그것들의 선형결합으로 표시된다. 또, 더욱이, 상체(3)의 운동과 상반력과의 관계는, 상체(3)의 병진운동(상체 병진모드)과 상반력과의 관계, 및 상체(3)의 회전운동(상체 회전모드)과 상반력과의 관계로 분리된다. 구체적으로는, 상체 질점(24m)의 수평운동에 의해 발생하는 상반력은, 상체(3)의 수평방향 병진운동(상체 병진모드)에 의해 발생하는 상반력에 대응하고, 플라이휠의 회전운동에 의해 발생하는 상반력은 상체(3)의 자세각의 회전운동(상체 회전모드)에 의해 발생하는 상반력에 대응한다.
또한, 로봇(1)의 팔체의 질량은 상체 질점(24m)에 포함되는 것으로 하고, 상체 질점(24m)은 팔체의 질량을 포함하는 질량을 갖는다. 본 실시형태에서는, 목표 보용에서의 팔체의 운동(팔 흔들기 운동)은, 후술하는 바와 같이, 로봇(1)의 팔 흔들기 이외의 운동에 의해 로봇(1)에 발생하는 연직축 주위의 관성력의 모멘트를 없 애면서도, 상체(3)에 대한 양팔체의 전체의 중심의 상대위치가 움직이지 않도록 행해지므로, 팔체의 팔 흔들기 운동에 의한(연직축 주위 성분을 제외함) 상반력 모멘트에의 영향과 상반력 수평성분에의 영향은 무시한다.
또한, 상기 풀 모델 보정부(100c)에서 사용하는 풀 모델은, 예를 들면 도 8에 도시하는 바와 같이, 로봇(1)의 각 링크에 질점을 갖는 다질점 모델이다. 이 경우, 로봇(1)의 각 링크는, 그것에 대응하는 질점의 주위에 이너셔를 갖는 것이어도 된다.
다음에, 보용생성장치(100)의 처리의 상세를 보다 구체적으로 설명한다.
본 실시형태에서의 보용생성장치(100)는, 로봇(1)의 한쪽의 다리체(2)가 착지하고나서 다른쪽의 다리체(2)가 착지할 때까지의 1보의 기간의 목표 보용(상기 협의의 목표 보용)을 단위로 하여, 그 1보의 기간의 목표 보용을 순서대로 생성한다. 여기에서, 새롭게 생성하려고 하고 있는 목표 보용을 「금회 보용」, 그 다음 목표 보용을 「다음회 보용」, 또 그 다음 목표 보용을 「다음다음회 보용」과 같이 부른다. 또, 「금회 보용」의 하나 전에 생성한 목표 보용을 「전회 보용」이라고 부른다. 「금회 보용」은 본 발명에서의 「소정의 기간에 있어서의 목표 보용」에 상당하는 것이다.
또, 보용생성장치(100)가 금회 보용을 새롭게 생성할 때, 이 보용생성장치(100)에는, 로봇(1)의 2보 앞까지의 미착지다리측 족평(22)의 착지 예정위치 자세, 착지 예정시각의 요구값(요구) 등이 보용에 대한 요구 패러미터로서 입력된다(또는 보용생성장치(100)가 기억장치로부터 요구 패러미터를 읽어들인다). 그리 고, 보용생성장치(100)는, 이들 요구 패러미터를 기초로, 보정 목표 상체위치 자세 궤도, 목표 족평위치 자세 궤도, 목표 ZMP 궤도, 목표 상반력 연직성분 궤도, 목표 팔자세 궤도, 보정 목표 상반력 모멘트 궤도 등을 생성한다. 또한, 본 실시형태에서는, 요구 패러미터에는, 2보 앞까지의 미착지다리측 족평(22)의 착지 예정위치 자세, 착지 예정시각의 요구값 이외에, 기준 상체자세에 대한 요구, 상체자세에 대한 상대적인 팔자세 에 대한의 요구, 목표 상반력 연직성분의 패턴에 대한 요구, 바닥의 마찰력(혹은 마찰계수)에 대한 요구 등을 규정하는 패러미터도 포함된다. 기준 상체자세에 대한 요구는, 예를 들면 상체자세를 연직자세로 유지한다는 요구이며, 팔자세에 대한 요구는 상체(3)에 대해 팔자세를 소정의 자세로 유지한다고 말하는 것과 같은 요구이다. 또, 목표 상반력 연직성분의 패턴에 대한 요구는, 로봇(1)의 공중기에서는, 목표 상반력 연직성분을 0으로 하고, 또, 외다리 지지기에서는, 목표 상반력 연직성분을 사다리꼴 형상의 패턴으로 변화시킨다는 요구이다. 또, 바닥의 마찰력에 대한 요구는, 목표 상반력 연직성분과 마찰계수(요구값)와의 적에 의해 정해지는 마찰력 한계에 대해, 어느정도의 범위 내에 목표 상반력 수평성분을 들어가게 할 것인지와 같은 요구이다.
이하에 보용생성장치(100)의 보용생성처리의 상세를 도 9∼도 22를 참조하면서 설명한다. 도 9는 그 보용생성장치(100)가 실행하는 보용생성처리의 메인루틴을 도시하는 플로우차트(구조화 플로우차트)이다. 또한, 이 메인루틴 처리의 수순 자체는, 그 일부의 서브루틴 처리를 제외하고, 예를 들면 본원 출원인에 의한 상기 PCT 국제공개공보 WO/03/057427/A1(이하, 공보문헌 1이라고 함)과 동일하다.
먼저 S010에서 시각(t)을 0으로 초기화 하는 등 여러 초기화 작업이 행해진다. 이 처리는 보용생성장치(100)의 기동시 등에 행해진다. 이어서, S012를 거쳐 S014로 진행되고, 보용생성장치(100)는 제어주기(도 9의 플로우차트의 연산처리 주기) 마다의 타이머 인터럽션을 기다린다. 제어주기는 Δ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)는 금회 보용에 이어지는 가상적인 주기적 보용으로서의 정상 보용의 보용 패러미터(정상 보용 패러미터)를 결정한다. 여기에서 결정하는 보용 패러미터로서는, 정상 보용에서의 각 족평(22)의 목표 족평위치 자세 궤도를 규정하는 족평 궤도 패러미터, 기준으로 하는 상체자세 궤도를 규정하는 기준 상체자세 궤도 패러미터, 목표 팔자세 궤도를 규정하는 팔자세 궤도 패러미터, 목표 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 …식 3
이 식 3의 ω0는 소정의 값이다. 또한, 보용에 있어서의 발산성분은, 식 3의 상체 질점 수평위치, 상체 질점 수평속도 대신에, 각각 상체 수평위치, 상체 수평속도를 사용하여 발산성분이 구해진다.
본 명세서의 실시형태에서는, 목표 보용이 상기 발산을 일으키지 않고, 계속적으로 생성되도록, 발산성분을 지표로 하여 보용(금회 보용)을 생성하도록 했다. 즉, 이제부터 생성하려고 하는 금회 보용의 뒤에 이어지는 정상 보용(보다 정확하게는 정상 보용 패러미터)이 상기 금회 보용에 영향을 미치는 요구 패러미터 등에 따라 결정되고, 정상 보용의 초기 발산성분을 구하고나서, 금회 보용의 종단 발산성분을 정상 보용의 초기 발산성분에 일치시키도록(보다 일반적으로는, 금회 보용 을 정상 보용에 연속시키거나, 혹은 근접시키도록), 금회 보용을 생성한다.
본제로 되돌아와, S022에서는, 도 10에 도시하는 서브루틴 처리의 플로우차트에 따라, 정상 보용의 보용 패러미터가 결정된다. 즉, 정상 보용에 관계되는 상기 족평 궤도 패러미터, 기준 상체자세 궤도 패러미터, 팔 궤도 패러미터, ZMP 궤도 패러미터, 상반력 연직성분 궤도 패러미터, 목표 상반력 수평성분 허용범위를 규정하는 패러미터가 각각 S100∼S110의 처리에서 결정된다. 그리고, S112에서, 정상 보용의 초기 시각(Ts)과, 1보의 기간(정상 보용의 1주기의 시간) Tcyc가 재정의 된다. 이것들의 처리는, 상기 공보문헌 1의 도 15의 플로우차트의 처리와 동일하므로, 여기에서의 상세한 설명은 생략하지만, S100∼S110에서 결정되는 정상 보용의 패러미터는, 그 각각의 패러미터에 의해 규정되는 궤도가 정상 보용의 주기성을 만족하면서, 상기한 요구 패러미터 등에 의해 표시되는 보용에 관한 요구를 만족하도록 결정되는 패러미터이다. 예를 들면, 상기 공보문헌 1의 도 15의 플로우차트에 관하여 설명되어 있는 바와 같이, 정상 보용의 족평 궤도 패러미터는, 금회 보용에 이어지는 제 1 선회보용의 미착지다리 족평(22)의 착지 예정위치 자세(상기 다음회 보용 지지다리 좌표계에서 본 착지 예정위치 자세)가 상기한 2보째의 착지 예정위치 자세(요구값)에 합치하고, 또한, 이 제 2 선회보용의 미착지다리 족평(22)의 착지 예정위치 자세(상기 다음다음회 보용 지지다리 좌표계에서 본 착지 예정위치 자세)가 금회 보용의 미착지다리 족평(22)의 착지 예정위치 자세(요구값)에 합치하도록 결정된다. 또한, ZMP 궤도 패러미터는, 족평 궤도 패러미터를 기초로, 목표 ZMP가 지지다리 족평(22)의 접지면의 거의 중앙부근에 위치하고, 또한, 정상 보용의 전체 기간에 걸쳐 연속적으로 변화되도록 결정된다.
또, 도 10의 S112에서 재정의하는 정상 보용의 초기시각(Ts)은, 정상 보용의 1주기분의 보용을 후술하는 바와 같이 작성할 때의 시점의 시각(이것은 본 실시형태에서는 금회 보용의 종단의 시각과는 상위함)을 의미하고, 제 1 선회보용의 공중기(목표 상반력 연직성분이 0이 되는 시기)의 개시 직전의 시각이다. 또, 정상 보용의 1보의 기간(Tcyc)은 정상 보용의 제 1 선회보용과 제 2 선회보용의 합계 시간의 기간이다. 정상 보용은, 그 주기성에 의해, 임의의 시각(Tx)에서의 상태(로봇(1)의 각 부위의 위치자세나 그 변화속도의 상태)는 시각 Tx+Tcyc에서의 상태와 동일하게 되는 보용이다. 정상 보용은 2보분의 보용을 1주기로 하는 주기적인 보용이므로, 본 명세서에서는, 그 1주기의 기간(제 1 선회보용과 제 2 선회보용과의 합계 시간)을 정상 보용의 1보의 기간으로 간주한다.
보충하면, S100∼S110의 처리에서 결정되는 정상 보용의 패러미터는, 정상 보용에 관한 요구를 우선적으로 만족하도록 결정되는 패러미터이므로, 상기 제 2 발명에서의 우선 패러미터에 상당하고, 그 결정된 값은 우선 패러미터 요구값에 상당하는 것이다. 따라서, S100∼S110의 처리는, 제 2 발명에서의 우선 패러미터 요구값 결정수단에 상당하는 것이다. 또, S100∼S110의 처리에서 결정되는 정상 보용의 패러미터는 정상 보용 패러미터를 구성하는 모든 패러미터가 아니다. 이 외에도, 정상 보용의 보용 패러미터에는 여러 다양한 패러미터가 포함된다. 본 실시형태에서는, 정상 보용 패러미터를 구성하는 패러미터로서, S100∼S110에서 결정되는 패러미터(우선 패러미터) 이외에, 예를 들면 정상 보용의 1주기의 기간의 시단 (이 기간의 개시 시각) 또는 종단(이 기간의 종료 시각)에서의 상체(3)의 위치 및 속도, 및 상체(3)의 자세각 및 그 각속도와, 후술의 상체경사 복원 모멘트 ZMP 환산값의 피크값이 포함된다. 이들 패러미터 중, 상체(3)의 수평위치 및 수평속도, 상체(3)의 자세각의 각속도, 상체경사 복원 모멘트 ZMP 환산값의 피크값은, 후술의 S024의 처리에서 정상 보용의 경계조건(정상 보용의 임의의 시각에서의 상태와, 1주기 후의 시각에서의 상태가 일치 또는 거의 일치한다고 하는 조건)을 만족하도록 탐색적으로 결정된다. 정상 보용 패러미터는, 그것을 구성하는 각 패러미터의 값과, 상기한 각 동역학 모델을 사용하여 정상 보용을 일의적으로 생성할 수 있는 보용 패러미터이다.
또, 정상 보용 패러미터를 구성하는 패러미터를 대별하면, 상기 우선 패러미터와 그 이외의 비우선 패러미터로 대별된다. 그리고, 비우선 패러미터에는, 상기한 바와 같이 탐색적으로 결정되는 패러미터(상기 제 2 발명에서의 탐색 대상 패러미터)가 포함된다. 또한, 정상 보용 패러미터의 비우선 패러미터에는, 보용에 관한 요구, 또는 보용에 관한 경계조건에 의존하지 않고 고정적으로 결정되는 패러미터도 있다. 예를 들면, 본 실시형태에서는, 로봇(1)의 미착지다리 족평(22)의 들어올리는 높이(지지다리 족평(22)의 접지면에 대한 상대적인 높이)는 고정적으로 설정되는 패러미터이다. 고정적으로 설정되는 패러미터는, 제어처리주기 마다, S100부터 S110의 처리에서 설정하는 것은 낭비이므로, ROM에 기억해 두거나, 또는, 제어 유닛(60)의 전원투입 직후에 있어서의 여러 초기화 처리(도 9의 S010)에서 설정하면 된다.
또, 하나 혹은 복수의 상위의 패러미터로부터 종속적으로 결정되는 하위의 패러미터도 있다. 예를 들면, 본 실시형태에서는, 정상 보용의 초기(상기 시각(Ts))에서의 상체자세는, 기준 상체자세와 동일하게 되고, 기준 상체자세 궤도 패러미터로부터 종속적으로 결정된다. 본 명세서에서는, 하나의 상위의 패러미터로부터 종속적으로 결정되는 패러미터는 그 상위의 패러미터와 동일한 속성(우선 패러미터인지, 비우선 패러미터인지, 탐색 대상 패러미터인지, 고정적인 패러미터인지의 속성)의 패러미터라고 간주한다. 그리고, 복수의 상위의 패러미터를 기초로 결정되는 하위의 패러미터에 대해서는, 상위의 패러미터에 탐색 대상 패러미터가 포함되는 경우에는, 하위의 패러미터도 탐색 대상 패러미터로 간주하고, 상위의 패러미터에 탐색 대상 패러미터가 포함되지 않고, 또한 우선 패러미터가 포함되는 경우에는, 하위의 패러미터는 우선 패러미터로 간주한다. 본 명세서에서는, 모든 정상 보용 패러미터의 구성 패러미터를 열거하는 것은 생략하고, 본원발명을 이해하는 점에서 충분한 전형적인 패러미터만을 예시한다.
도 9의 설명으로 되돌아와, 다음에 S024로 진행되고, 정상 보용의 초기 상태가 산출된다. 여기에서 산출되는 초기 상태는, 정상 보용의 초기 상체 수평위치 속도(수평방향에서의 초기 상체위치 및 초기 상체속도), 초기 상체 연직위치 속도(연직방향에서의 초기 상체위치 및 초기 상체속도), 초기 발산성분, 초기 상체자세각 및 그 각속도이다. 이 초기 상태의 산출은, 도 11의 서브루틴 처리의 플로우차트에 따라서 탐색 처리에 의해 행해진다. 또한, 도 11의 처리에서 최종적으로 결정하는 정상 보용의 초기 상태는, 금회 보용의 종단의 시각(정상 보용의 본래의 초 기시각(0))에서의 상태이지만, 본 실시형태에서는, 도 11의 S2008의 처리가 종료할 때까지는, 도 10의 S112에서 설정한 초기시각(Ts)에서의 상태를 정상 보용의 초기 상태로 한다.
도 11의 서브루틴 처리를 설명하면 우선, S2000에서, 전회 보용(금회 보용의 1보 전의 보용)을 생성했을 때의 S022 및 S024의 처리에서 최종적으로 결정된, 초기(시각(Ts)) 상체위치(Xs) 및 그 변화속도(Vxs), 초기(시각(Ts)) 상체자세 각속도(ωbs), 및 상체경사 복원 모멘트 ZMP 환산값 피크값(ZMPrecpeak)을 포함하는 제 2 선회보용 패러미터(제 2 선회보용을 규정하는 보용 패러미터)의 각 패러미터 값을 금회 보용에 대응하는 정상 선회보용의 제 1 선회보용 패러미터의 각 패러미터의 임시값으로 한다.
또한, 상기 상체경사 복원 모멘트 ZMP 환산값 피크값(ZMPrecpeak)은, 로봇(1)의 외다리 지지기(보다 상세하게는, 외다리 지지기의 개시 직후로부터 종료 직전까지의 시기. 이하, 상체경사각 복원 기간이라고 함)에서 상체자세를 기준 상체자세에 근접시키기 위해서 필요한 상반력 모멘트의 ZMP 환산값(ZMPrec)(기준이 되는 목표 ZMP(S022에서 결정한 ZMP 궤도 패러미터에 의해 규정되는 목표 ZMP)로부터의 벗어남량)의 피크값을 나타내는 것이며, 그 예를 도시한 것이 도 20이다. ZMPrec는 동 도면에 도시한 바와 같이 사다리꼴 형상의 패턴으로 되고, 그 피크값(사다리꼴의 높이)이 ZMPrecpeak이다.
S2000에서는 또한, 전회 보용을 생성할 때의 S022 및 S024의 처리에서 최종적으로 결정된 제 1 선회보용 패러미터(제 1 선회보용을 규정하는 패러미터)의 각 패러미터 값을 금회 보용에 대응하는 정상 선회보용의 제 2 선회보용 패러미터의 각 패러미터의 임시값으로 한다. 또한, 전회보용에 대응하는 정상 선회보용에서의 상체(3)의 초기 상태를 선회보용 패러미터에 포함시킨 것은, 본 실시형태에서는, 정상 선회보용의 1주기분을 생성할 때의 초기시각(Ts)이 본래의 초기시각(0)과 다르고, 본래의 초기시각(0)에서의 상체(3)의 초기 상태는 제 2 선회보용 내의 도중시각에서의 상체(3)의 상태와 동일하게 되기 때문이다. 이상이 S2000의 처리이다.
이 S2000의 처리는, 금회 보용에 대응하는 정상 선회보용의 제 1 선회보용 패러미터 및 제 2 선회보용 패러미터의 후보를 각각, 일단, 전회보용에 대응하는 정상 선회보용의 제 2 선회보용 패러미터, 제 1 선회보용 패러미터에 일치시킨다는 것을 의미한다. 이렇게 설정된, 금회 보용에 대응하는 제 1 선회보용 패러미터 및 제 2 선회보용 패러미터로 이루어지는 정상 선회보용 패러미터를 기초로 상기 동역학 모델을 사용하여 정상 선회보용을 생성하면, 그 정상 선회보용은 정상 선회보용의 경계조건을 만족하는 것이 된다. 또한, 상기한 바와 같이 설정된 금회 보용에 대응하는 제 1 선회보용 패러미터 및 제 2 선회보용 패러미터로 이루어지는 정상 선회보용 패러미터는 제 2 발명에서의 베이스 정상 보용 패러미터에 상당하는 것이다. 따라서, S2000의 처리는, 제 2 발명에서의 베이스 정상 보용 패러미터 설정수단에 상당한다.
이어서, S2000-1에서, 탐색 대상(탐색 대상 패러미터)인 초기(Ts) 상체 수평위치(Xs), 초기(Ts) 상체 수평속도, 초기(Ts) 상체자세 각속도(ωbs) 및 상체경사 복원 모멘트 환산값(ZMPrecpeak)을 제외한 정상 보용 패러미터의 우선 패러미터(보 다 상세하게는 S022에서 결정하는 정상 보용의 족평궤도 패러미터, 기준 상체자세 궤도 패러미터, 팔자세 궤도 패러미터, 상반력 연직성분 궤도 패러미터, 상반력 수평성분 허용범위를 규정하는 패러미터, ZMP 궤도 패러미터)의 값을 현재 후보값(S2000에서 설정된 값)으로부터 상기 S022에서 결정한 값에 소정량만큼 근접시킨 값으로 갱신한다.
이어서, S2004-1에서, 현재 후보의 정상 보용 패러미터(S2000에서 임시 결정된 정상 보용 패러미터의 우선 패러미터를 S2002-1에서 갱신한 것)를 기초로, 정상 보용의 경계조건을 만족하는 탐색 대상(Xs, Vxs, ωbs, ZMPrecpeak)의 값을 탐색적으로 결정한다. 이 처리는, 도 12의 플로우차트에 나타낸 바와 같이 행해진다. 또한, 이하의 도 12의 처리(그 처리 안(속)의 서브루틴 처리를 포함한다)의 설명에 있어서는, 보용 패러미터의 각 패러미터의 값에 관한 「현재값」은 해당하는 패러미터의 「현재(해당 처리의 실행 시점) 설정되어 있는 후보값 혹은 임시값」의 의미로 사용한다. 또, 「현재의 ○○」(○○은 어떤 패러미터)라고 할 때는, 「현재(해당 처리의 실행 시점) 후보로 되어 있는 ○○」의 의미로 사용한다.
이하, 도 12의 처리를 설명하면 우선, S1200에서, 현재의 정상 선회보용 패러미터를 기초로 족평위치 자세, 상체자세각(θbs) 및 팔자세의 초기 상태(정상 선회보용의 초기시각(Ts)에서의 상태)가 결정된다. 또한, 이들 초기 상태는, 제 1 선회보용의 지지다리 좌표계(상기 다음회 보용 지지다리 좌표계)에서 본 상태이다. 이 처리에서는, 족평위치 자세의 초기 상태는, 현재의 정상 보용 패러미터의 족평 궤도 패러미터를 기초로 유한시간 정정 필터를 사용하여 산출되는 족평위치 자세 궤도 중 시각(Ts)에서의 각 족평(22)의 위치자세에 결정된다. 이 유한시간 정정 필터는 상기 공보문헌 1 등에서 설명되어 있으므로, 여기에서의 설명은 생략한다. 또, 상체자세각(θbs)의 초기 상태는, 현재의 정상 보용 패러미터의 기준 상체자세 궤도 패러미터로부터 정해지는 시각(Ts)에서의 기준 상체자세각과 동일하게 결정되고, 팔자세의 초기 상태는, 현재의 정상 보용 패러미터의 팔자세 궤도 패러미터에 의해 정해지는 시각(Ts)에서의 상태와 동일하게 결정된다.
이어서, S1202에서, 탐색 대상인 초기(시각(Ts)) 상체 수평위치, 초기 상체 수평속도, 초기 상체자세 각속도, 및 상체경사 복원 모멘트 ZMP 환산값 피크값(Xs1, Vx1, ωbs1, ZMPrecpeak1)의 현재값을 이들 탐색 대상의 초기 후보로서 설정한다. 또한, 이들 탐색 대상의 값은 제 1 선회보용의 지지다리 좌표계(상기 다음번보용지지다리 좌표계)에서 본 값이다.
이어서, S1206∼S1218의 루프 처리가 실행된다. 그 처리를 개략적으로 설명하면, 상기와 같이 설정한 탐색 대상의 초기 후보를 포함하는 정상 보용 패러미터와 상기 동역학 모델을 사용하여 정상 보용의 종단(시각(Ts+Tcyc))까지의 보용을 생성한다. 그리고, 그 생성한 정상 보용이 경계조건(초기와 종단에서의 상태(본 실시형태에서는 상체 수평위치, 상체 수평속도, 상체자세각, 상체자세 각속도)이 거의 일치하는 것)을 만족하고 있는지 아닌지를 판단하고, 만족하고 있지 않은 경우에는, 탐색 대상의 값을 변경한다. 이것을 반복함으로써 최종적으로 상기 동역학 모델상에서 정상 보용의 경계조건을 만족시킬 수 있는 이 정상 보용의 초기 상태가 결정된다.
S1202∼S1218의 처리를 보다 구체적으로 설명하면 S1202에서, 동역학 모델상에서의 정상 보용의 초기(시각(Ts))의 상체 연직위치 및 상체 연직속도(Zs, Vzs)가 결정된다. 이 경우, 동역학 모델상에서의 로봇(1)의 전체중심의 연직방향의 관성력과 중력과의 합력이 목표 상반력 연직성분과 균형을 이루고, 또한, 전체중심의 연직위치가 정상 보용의 경계조건을 만족하도록 결정된다. 이 처리는, 상기 공보문헌 1의 도 20의 S206의 처리와 동일하게 행해진다. 또한, (Zs, Vzs)는 상기 탐색 대상(Xs, Vxs, θbs, ωs)에 의존한다. 따라서, (Zs, Vzs)는 종속적인 탐색 대상 패러미터로서의 속성을 갖는다.
이어서, S1208에서, 상체(3)의 초기 상태(θbs, Xs ,Vxs, ωbs, Zs, Vzs)의 현재값과 ZMPrecpeak의 현재값을 포함하는 정상 보용 패러미터를 기초로, 동역학 모델을 사용하여 정상 보용이 시각(Ts+Tcyc)(정상 보용의 종단)까지 생성된다. 이 처리는, 도 13의 플로우차트에서 나타내는 서브루틴 처리에 의해 실행되고, 또한, 이 도 13의 S304의 처리는 도 14의 플로우차트에서 나타내는 서브루틴 처리에 의해 실행된다. 또한, 도 14의 S412의 처리는 도 15 플로우차트에서 나타내는 서브루틴 처리에 의해 실행된다. 이들 처리에 대해서는 후술한다.
이어서, S1210에서, S1208에서 생성한 정상 보용의 종단의 상체 수평위치, 상체 수평속도, 상체자세각 및 그 각속도를, 이 정상 보용의 다음 1보의 지지다리 좌표계(정상 보용의 제 2 선회보용에 이어지는 제 1 선회보용의 지지다리 좌표계)로부터 본 값으로 변환하고, 그 값을 (Xe1, Vxe1, θbe1, ωbe1)으로 한다.
그리고, S1212에서, 현재의 (Xs1, Vxs1, θbs1, ωbs1)의 값과, (Xe1, Vxe1, θbe1, ωbe1)의 값의 차를 정상 보용의 경계조건 오차(errx, errv, errθ, errω)로서 구한다. 정상 보용의 경계조건을 만족하기 위해서는, 경계조건 오차는 거의 0이 아니면 안된다. 이 경계조건 오차는 S1208에서 작성한 정상 보용의 경계조건으로부터의 벗어남 정도를 나타내는 것이다.
이어서, S1214에서, errx, errv, errθ, errω가 모두 충분하게 작은(0 근방의) 소정의 허용범위 내에 있는지 아닌지를 판단하고, 그 판단 결과가 YES일 경우에는 S1206∼S1218의 루프 처리를 종료한다. 이 경우, 이 루프 처리의 종료시 현재의 정상 보용 패러미터가 동역학 모델상에서 경계조건을 만족시킬 수 있는 정상 보용 패러미터로서 얻어진다.
한편, S1214의 판단 결과가 NO인 경우에는, 현재의 탐색 대상(Xs, Vx, ωbs, ZMPrecpeak)의 값의 부근에, 각각의 패러미터의 값을 소정의 미소량(ΔXs, ΔVx, Δωbs, ΔZMPrecpeak)만큼 변화시킨 복수(본 실시형태에서는 4개)의 탐색 대상의 후보를 정하고, 각각의 탐색 대상의 후보를 포함하는 정상 보용 패러미터(현재의 정상 보용 패러미터의 탐색 대상을 새롭게 정한 각 후보에게 수정한 정상 보용 패러미터)를 기초로, S1206∼S1212와 동일한 처리를 실행하고, 각각의 탐색 대상의 후보에 대응하는 경계조건 오차를 구한다.
이어서, S1218에서, 현재의(Xs, Vx, ωbs, ZMPrecpeak) 및 그 부근의 탐색 대상의 후보의 각각 대응하는 경계조건 오차를 기초로, 최급강하법이나 심플렉스법 등의 탐색 수법에 의해, 탐색 대상(Xs, Vx, ωbs, ZMPrecpeak)의 새로운 후보를 결정한다. 그리고, S1206로부터의 처리가 다시 반복된다.
이상과 같이 하여, (Xs, Vx, ωbs, ZMPrecpeak)을 탐색 대상으로 하여, 정상 보용의 경계조건을 만족하는 새로운 정상 보용 패러미터가 탐색적으로 결정된다. 또한, 도 12의 처리에서는, 정상 보용 패러미터 중의 우선 패러미터(족평 궤도 패러미터, 기준 상체자세 궤도 패러미터 등)은 도 12의 처리의 개시 시의 값에 유지된다.
보충하면, 도 12의 처리의 기본적인 생각(수법)은, 상기 공보문헌 1의 도 20의 처리와 동일하다. 단, 본 명세서의 실시형태에서는, 상기 탐색 대상으로서, 상체자세 각속도와 상체경사 복원 모멘트 ZMP 환산값 피크값이 포함되고, 이 점은, 상기 공보문헌 1의 도 20의 처리와 상위하다. 또, 후술하는 S1208의 처리의 세부의 처리(서브루틴 처리)의 일부도 상기 공보문헌 1의 것과 상위하다.
상기 S1208의 서브루틴 처리를 이하에 설명한다.
S1208의 서브루틴 처리인 도 13의 처리는, 도시한 바와 같이, (Xs, Vxs, θbs, ωbs, Zs, Vzs)의 현재값(후보값 또는 임시 결정값)을 정상 보용에서의 상체(3)의 운동의 초기 상태로 하여(S300), 그 초기(시각(Ts)) 상태로부터, 시각(Ts+Tcyc)까지(종단 상태까지)의 정상 보용의 순시값을 시계열적으로 실제로 작성하는(S302∼S306) 처리이다. 또한, 도 13의 「k」는 작성하는 정상 보용의 순시값의 시계열의 시각이다.
이 도 13의 S304의 서브루틴 처리(정상 보용의 순시값을 결정하는 서브루틴 처리)인 도 14의 처리에서는, S400∼S410의 처리에 의해, 현재의 정상 보용 패러미터(상세하게는 우선 패러미터)를 기초로, 목표 상반력 연직성분, 목표 ZMP, 목표 양 족평위치 자세, 기준 상체자세, 목표 팔자세, 목표 상체 연직위치, 상반력 수평성분 허용범위의 순시값이 구해진다.
또한, S412의 처리에 의해, 동역학 모델을 사용하여, 도면 중에 기재된 조건을 만족하도록 상체 수평가속도 및 상체자세 각가속도의 순시값이 결정된다. 그리고, S414의 처리에 의해, 상체 수평가속도 및 상체자세 각가속도를 각각 2차적분 하여, 상체 수평위치 및 상체자세각의 순시값이 결정된다.
보충하면, 도 14의 처리 중, S412 이외의 처리는, 상기 공보문헌 1의 도 22의 S400∼S410, S414의 처리와 동일하다. 따라서, S412의 처리 이외의 도 13의 처리에 대해서는 상세한 설명을 생략한다.
도 14의 S412의 서브루틴 처리인 도 15의 처리에서는, 우선, 정상 보용의 상체경사각 복원기간을 규정하는 시각(Tm, Ts2, Tm2)을 결정한다. 이들 시각은, 각각, 도 20에 도시하는 바와 같이, 상기 상체경사 복원 모멘트 ZMP 환산값(ZMPrec)을 발생시키는 기간을 규정하는 것이다. 즉, 정상 보용의 초기시각(Ts) 후의 최초의 외다리 지지기의 개시 직후의 시각을 Tm, 이 외다리 지지기의 종료 직전의 시각을 Ts2, 다음 외다리 지지기의 개시 직후의 시각을 Tm2로서 결정한다. 그리고, 기간 [Tm, Ts2]과, 기간 [Tm2, Te]를 각각 ZMPrec를 발생시키는 기간(이하, 상체경사각 복원기간이라고 함)으로 한다. 이것은, 상기 공보문헌 1의 도 23의 S500의 처리와 동일하다.
이어서, S502에서, 정상 보용의 순시값을 작성하고자 하는 현재 시각(k)(작성중의 정상 보용 내에서의 시각)이 상체경사각 복원기간에 있는지의 여부가 판단 된다. 그리고, 현재 시각(k)이 상기 상체경사각 복원기간 내의 시각이 아닐 때, 바꾸어 말하면, 현재 시각(k)이 외다리 지지기의 종료 직전부터 다음 외다리 지지기의 개시 직후까지의 기간(목표 상반력 연직성분이 0이거나 혹은 0에 가까운 기간)에 있을 때에는, S504∼S516의 처리에 의해, 동역학 모델상에서, 목표 ZMP를 만족하고, 또한, 이 동역학 모델상에서의 로봇(1)의 전체중심의 수평가속도에 의한 관성력과 균형을 이루는 상반력 수평성분이 시각(k)의 상반력 수평성분 허용범위의 순시값 내에 들어가도록, 상체 병진모드의 상체 수평가속도(α)와, 상체 회전모드의 상체 각가속도(β)(상체자세각의 각가속도)가 결정된다. 이들 S504∼S516의 처리는 상기 공보문헌 1의 도 19의 S504∼S516의 처리와 동일하다.
또, 현재 시각(k)(작성중의 정상 보용 내에서의 시각)이 상기 상체경사각 복원기간 내의 시각일 때에는, S518∼S526의 처리에 의해, 상체 각가속도(β)는, 동역학 모델상에서, 상체경사 복원 모멘트 ZMP 환산값 패턴의 순시값(이것은, 현재 설정되어 있는 상체경사 복원 모멘트 ZMP 환산값 피크값(도 12의 S1208의 처리의 직전에 결정된 후보값)과 현재 시각(k)에 따라 정해진다. 도 20을 참조)에 대응하는 상반력 모멘트를 목표 ZMP 주위에 발생하도록 결정된다. 또, 상체 수평가속도는, 동역학 모델상에서, 상체 병진모드에 의해 발생하는 목표 ZMP 주위의 상반력 모멘트가 0이 되기 위한 상체 수평가속도와, 상체 각가속도(β)에 의한 목표 ZMP 주위의 상반력 모멘트와 동등한 상반력 모멘트를 발생하는 상체 수평가속도와의 차로서 구해진다. 이것에 의해, 상체경사각 복원기간에서는, 상체자세를 기준 상체자세를 향해서 복원시키면서, 목표 ZMP를 만족하도록 상체 각가속도(β) 및 상체 수평가속도(α)가 결정된다.
보충하면, 본 실시형태의 도 15의 S518∼S526의 처리는 상기 공보문헌 1의 도 23의 S520∼S528의 처리와 동일하다.
이상, 설명한 도 11의 S2002-1, 2004-1의 처리는 그것을 간결하게 말하면, 정상 보용 패러미터의 우선 패러미터(족평궤도 패러미터 등)의 값을 현재값(현재 후보값)으로부터 S022의 처리(상세하게는 도 10의 S100∼S110의 처리)에서 결정한 값에 소정량만큼 근접시켜서 갱신하고, 그 갱신 후의 우선 패러미터를 포함하여, 정상 보용의 경계조건을 동역학 모델상에서 만족할 수 있는 새로운 정상 보용 패러미터를 탐색하는 처리이다. 그리고, 이 처리에서는, (Xs, Vx, ωbs, ZMPrecpeak)이 탐색 대상으로 된다. 또한, S2002-1에서의 정상 보용 패러미터의 우선 패러미터의 현재값(갱신 전의 후보값)은 S2000에서 결정된 정상 보용 패러미터의 임시값 중의 우선 패러미터의 값이다. 또, S2004-1의 처리에서는, 탐색 대상의 초기 후보값으로서, S2000에서 결정된 임시값이 사용된다.
도 11의 설명으로 되돌아와, S2002-1, S2004-1의 상기한 처리 후, S2002-1, S2004-1의 처리와 동일한 처리(도 11에서는 S2002-2, S2004-2)가 반복된다. 그리고, 최종적으로, S2004-n(n은 총 반복 회수)에서, 정상 보용 패러미터의 우선 패러미터는 S022의 처리에서 결정된 값에 일치시킨다. 또한, S2004-n에서, S2004-1과 마찬가지로, 현재 후보의 정상 보용 패러미터를 기초로, 동역학 모델상에서 정상 보용의 경계조건을 만족하는 탐색 대상(Xs, Vx, ωbs, ZMPrecpeak)의 값이 탐색적으로 결정되고, 새로운 정상 보용 패러미터가 결정된다.
이것들의 반복 처리에 있어서, S2002-k(k=2,…, n)에서 우선 패러미터를 갱신하기 전에 있어서의 우선 패러미터의 값은, S2002-(k-1)에서의 갱신 후의 우선 패러미터의 값이다(S2002-1에서는, 상기한 바와 같이 갱신 전의 우선 패러미터의 값은 S2000에서 결정된 임시값이다). 또, S2004-k(k=2,…, n)의 처리는 S2004-1의 처리와 동일하다. 단, S2004-k에서는, 탐색 대상(Xs, Vx, ωbs, ZMPrecpeak)의 초기값 후보(도 12의 S1202에서 설정하는 초기값 후보)로서, S2004-k의 처리의 개시 시에 설정되어 있는 값, 즉, S2004-(k-1)의 처리에서 최종적으로 탐색된 탐색 대상의 값을 사용할 수 있다(S2004-1에서는, 상기한 바와 같이 탐색 대상의 초기값 후보는 S2000에서 결정된 임시값이다).
이상과 같이 하여, S2000에서 결정된 정상 보용 패러미터의 우선 패러미터의 값(임시값)을 초기값으로 하여, 이 우선 패러미터의 값이, 단계적으로 S022의 처리에서 결정된 값(이것은 금회 보용에 관한 요구를 만족하기 위한 우선 패러미터의 값(우선 패러미터 요구값)임)에 근접하도록, 이 우선 패러미터의 값이 단계적으로 갱신되고, 최종적으로 S022의 처리에서 결정된 값에 일치시켜진다(S2002-1, S2002-2, ……, S2002-n). 따라서, 이들 S2002-1, S2002-2, ……, S2002-n의 처리는 제 2 발명에서의 우선 패러미터 점근수단에 상당한다. 그리고, 그 우선 패러미터의 갱신때마다, 그 갱신 후의 우선 패러미터를 포함하는 정상 보용 패러미터의 탐색 대상의 값이 그 갱신의 직전에 결정된 값을 초기값 후보로 하여, 정상 보용의 경계조건을 만족하도록 탐색되고, 그 탐색 결과의 탐색 대상을 포함하는 정상 보용 패러미터가 새롭게 결정된다(S2004-1, 2004-2, ……, S2004-n). 따라서, 이들 S2004-1, S2004-2, ……, S2004-n의 처리는, 제 2 발명에서의 신규 정상 보용 패러미터 결정수단에 상당하고, 각각의 처리에서 최종적으로 결정되는 탐색 대상을 포함하는 정상 보용 패러미터가 제 2 발명에서의 신규 정상 보용 패러미터에 상당한다. 그리고, S2004-n에서 최종적으로 결정된 새로운 정상 보용 패러미터가 이제부터 생성하려고 하는 금회 보용으로 이어질 정상 보용의 보용 패러미터가 된다.
보충하면, 상기의 반복 처리의 총 반복 회수 n은, S2000에서 결정하는 정상 보용 패러미터의 우선 패러미터의 값과, S022에서 결정한 우선 패러미터의 값(우선 패러미터 요구값)의 차에 따라 결정된다. 또, 정상 보용 패러미터 중, 우선 패러미터 및 탐색 대상의 패러미터 이외의 패러미터(고정적인 패러미터)는 S2000에서 결정된 정상 보용 패러미터의 당해 패러미터의 값에 유지된다.
상기한 바와 같이 S2002-1∼S2004-n의 반복 처리가 실행된 후, S2006에서, 현재 후보의 정상 선회보용(S2004-n의 처리에서 최후에 작성된 정상 보용)을 기초로, 본래의 초기시각(0)에서의 정상 보용의 상체(3)의 운동상태인 초기 상체 수평위치(X0), 초기 상체 수평속도(Vx0), 초기 상체자세각(θb0) 및 그 각속도(ωb0), 및 초기 상체 연직위치(Z0), 초기 상체 연직속도(Vz0)가 구해진다. 또한, S2008에서, 상기한 초기 발산성분(q)의 정의식에 따라, 정상 선회보용의 본래의 초기시각(0)에서의 발산성분인 정상 선회 초기 발산성분(q[0])이 구해진다. S2006 및 S2008에서 구해지는 값은, 금회 보용에 이어지는 정상 선회보용의 제 1 선회보용의 지지다리 좌표계에서 본 값이다. 그리고, S2010에서, 정상 선회 초기 발산성분(q[0])을 금회 보용의 지지다리 좌표계로부터 본 값인 q''과, 초기 상체 연직위 치·속도를 금회 보용의 지지다리 좌표계로부터 본 값인 (Z0'', Vz0'')을 구한다.
이상이, 도 11의 처리의 상세이다.
이상에서 설명한 도 11의 처리에 의해, S2000에서 결정된 가상의 정상 보용 패러미터(정상 보용의 경계조건을 만족하도록 과거에 결정된 정상 보용 패러미터)의 우선 패러미터의 값을 서서히 S022에서 결정한 우선 패러미터(이제부터 생성하려고 하는 금회 보용에 이어지는 정상 보용의 우선 패러미터)의 값에 근접시키도록 갱신하면서, 그 갱신때마다, 정상 보용의 경계조건을 만족하는 정상 보용 패러미터가 새롭게 결정된다. 이 때문에, 정상 보용의 경계조건을 만족하는 정상 보용을 상체위치 자세의 발산이 생기거나 하지 않고, 효율적으로 단시간에 작성하여, 금회 보용에 대응하는 정상 보용의 초기 상태를 적절하게 구할 수 있다.
도 9의 설명으로 되돌아와, 이상에서 설명한 바와 같이 S024의 처리를 실행한 후, S026에서, 금회 보용의 보용 패러미터가 결정(일부는 임시 결정)된다. 이 처리는, 도 16의 플로우차트에 따라서 실행된다. 여기에서 결정하는 보용 패러미터로서는, 금회 보용에서의 족평위치자세 궤도(각 족평(22)의 위치자세 궤도), 기준 상체자세 궤도, 팔자세 궤도, 상반력 연직성분 궤도, 상반력 수평성분 허용범위, ZMP 궤도를 각각 규정하는 패러미터가 있고, 이들 각 패러미터가 S600∼S610의 처리에서 결정된다. 그리고, S612에서, 금회 보용에서의 상체경사각 복원기간 [Ta, Tb]가 설정된다. 이들 처리는, 상기 공보문헌 1의 도 33의 플로우차트의 처리와 동일하므로, 여기에서의 상세한 설명은 생략하지만, 상기 각 궤도가 전회 보용의 종단의 상태(=금회 보용의 초기 상태)로부터, 금회 보용에 관한 상기한 요구 를 만족하면서, 정상 보용으로 이어지도록 각 궤도를 규정하는 패러미터가 결정된다. 예를 들면, 금회 보용의 미착지다리 족평(22)에 관한 족평 궤도 패러미터는, 금회 보용의 미착지다리 족평(22)의 착지 예정위치 자세 및 시각이 그것들의 요구값을 만족하면서, 금회 보용의 종단에서 이 미착지다리 족평(22)의 위치자세가 정상 보용의 초기(금회 보용의 종단의 시각)에서 일치하도록 결정된다.
보충하면, S610에서 결정되는 ZMP 궤도 패러미터는 금회 보용의 기준으로 하는 ZMP 궤도(임시 목표 ZMP 궤도)를 규정하는 패러미터이며, 그 패러미터에 의해 규정되는 임시 ZMP 궤도의 예(X축 방향의 궤도의 예)가 도 22의 최상단에 도시되어 있다. 이 ZMP 궤도 패러미터는, 금회 보용의 외다리 지지기에서, 지지다리 족평(22)의 접지면의 거의 중앙부근에 목표 ZMP가 위치하고, 또한, 외다리 지지기에 이어지는 공중기에서는, 목표 ZMP가 금회 보용의 종단에 있어서 정상 보용의 초기의 ZMP까지 연속적으로 변화되도록 결정된다. 또, 도 16의 S612에서 설정하는 상체경사각 복원기간은, 도 22의 시각 Ta부터 시각 Tb까지의 기간이며, 금회 보용의 외다리 지지기의 개시 직후부터 종료 직전까지의 기간이다.
보충하면, S600∼S610의 처리에서 결정되는 금회 보용의 패러미터는, 금회 보용에 관한 요구를 우선적으로 만족하도록 결정되는 패러미터이므로, 상기 S600∼S610의 처리에서 결정되는 금회 보용의 패러미터는, 상기 제 1 발명에서의 우선 패러미터에 상당하고, 그 결정된 값은 우선 패러미터 요구값에 상당하는 것이다. 따라서, S600∼S610의 처리는, 제 1 발명에서의 우선 패러미터 요구값 결정수단에 상당하는 것이다. 또, S600∼S610의 처리에서 결정되는 금회 보용의 패러미터는 금 회 보용 패러미터를 구성하는 모든 패러미터가 아니다. 정상 보용 패러미터의 경우와 마찬가지로, 이 밖에도, 금회 보용의 보용 패러미터에는 여러 다양한 패러미터가 포함된다. 본 실시형태에서는, 금회 보용 패러미터를 구성하는 패러미터로서, S600∼S610에서 결정되는 패러미터(우선 패러미터)의 이외에, 예를 들면, ZMP 궤도 패러미터를 수정하기 위한 ZMP 수정량을 규정하는 ZMP 수정 패러미터와, 상체경사 복원 모멘트 ZMP 환산값의 피크값(이 경우 2종류의 피크값)이 포함된다. 이들 패러미터는, 이하에 설명하는 S028의 처리 중에서 금회 보용의 경계조건(정상 보용에 근접하는 조건)을 만족하도록 탐색적으로 결정되는 패러미터이다.
또한, 정상 보용 패러미터의 경우와 동일하게 금회 보용 패러미터를 구성하는 패러미터를 대별하면, 상기 우선 패러미터와 그 이외의 비우선 패러미터로 대별된다. 그리고, 비우선 패러미터에는, 상기한 바와 같이 탐색적으로 결정되는 패러미터(상기 제 1 발명에서의 탐색 대상 패러미터)가 포함된다. 또한 비우선 패러미터에는, 보용에 관한 요구, 또는 보용에 관한 경계조건에 의존하지 않는 고정적인 패러미터도 있다(예를 들면, 로봇(1)의 미착지다리 족평(22)의 들어올리기 높이). 또, 하나 혹은 복수의 상위의 패러미터로부터 종속적으로 결정되는 하위의 패러미터도 있다. 이 경우, 하위의 패러미터의 속성에 대해서는 정상 보용 패러미터의 경우와 동일하다.
도 9의 S028으로 진행되고, 금회 보용의 보용 패러미터(ZMP 궤도 패러미터)가 수정된다(최종적인 금회 보용 패러미터가 결정된다). 이 처리에서는, 금회 보용의 종단에서의 발산성분이 S024에서 결정한 정상 선회보용의 초기 발산성분(q'') 에 일치하도록(보다 상세하게는 상체위치 자세궤도를 정상 보용에 연속시키커나, 혹은 근접시키도록), 금회 보용의 보용 패러미터가 수정되고, 최종적인 금회 보용 패러미터가 결정된다(보다 자세하게는, ZMP 수정 패러미터와 상체경사 복원 모멘트 ZMP 환산값 2종류의 피크값이 결정된다). 본 실시형태에서는, 상기한 바와 같이, 금회 보용의 종단에서의 발산성분이 정상 선회보용의 초기 발산성분(q'')에 일치하는(혹은 거의 일치하는) 것이 금회 보용의 종단에서의 경계조건이다.
이 처리는, 도 17의 플로우차트에서 나타내는 서브루틴 처리에 따라서, 단계적인 탐색 처리에 의해 행해진다.
도 17의 서브루틴 처리를 설명하면 우선, S2100에서, 전회 보용을 생성했을 때의 S026 및 S028의 처리에서 최종적으로 결정된 ZMP 수정 패러미터(a), 및 상체경사 복원 모멘트 환산값의 제 1 피크값(ZMPrecpeaka) 및 제 2 피크값(ZMPrecpeakb)을 포함하는 금회 보용 패러미터의 각 패러미터 값을, 이제부터 생성하려고 하는 금회 보용 패러미터의 각 패러미터의 임시값으로 한다. 단, 전회보용의 보용 패러미터의 좌우를 반전시킨 다음에, 금회 보용의 당해 패러미터의 임시값으로 한다. 예를 들면, 금회 보용의 지지다리측의 족평궤도 패러미터, 미착지다리측의 족평궤도 패러미터, ZMP 궤도 패러미터의 임시값은 전회 보용의 이들 패러미터의 좌우를 반전시킨 것으로 설정된다.
여기에서, 도 17의 플로우차트의 처리중에서 구하는(탐색하는) 상체경사 복원 모멘트 ZMP 환산값의 제 1 피크값(ZMPrecpeaka) 및 제 2 피크값(ZMPrecpeakb)은 금회 보용의 상체경사각 복원기간 [Ta, Tb]에서 상체자세를 기준 상체자세에 근접 시키기 위해서 필요한 상반력 모멘트의 ZMP 환산값의 패턴의 2개의 피크값을 나타내는 탐색 대상 패러미터이며, 그 예를 도시한 것이 도 21이다. 정상 보용의 경우의 상체경사 복원 모멘트 ZMP 환산값의 피크값은 1개이었지만, 금회 보용의 종단에서의 상체자세각 및 그 각속도를 각각 정상 보용의 초기 상체자세각 및 그 각속도에 일치시키기 위해서, 본 실시형태에서는, 상체경사 복원 모멘트 ZMP 환산값의 조정가능한 2개의 패러미터로서, 제 1 피크값(ZMPrecpeaka) 및 제 2 피크값(ZMPrecpeakb)이 사용된다. 본 실시형태에서는, 도 21에 도시하는 바와 같이, 금회 보용에서의 상체경사 복원 모멘트 ZMP 환산값은 외다리 지지기 전반의 사다리꼴 형상의 패턴과, 후반측의 사다리꼴 형상의 패턴을 합성한 형태의 패턴으로 하고, 그 전반측의 사다리꼴 형상의 패턴의 피크값이 제 1 피크값(ZMPrecpeaka), 후반측의 사다리꼴 형상의 패턴의 피크값이 제 2 피크값(ZMPrecpeakb)이다.
또, 도 17의 플로우차트의 처리중에서 구하는 ZMP 수정 패러미터(a)는, 금회 보용을 정상 보용으로 연결시키기(금회 보용의 종단의 발산성분을 정상 보용의 초기 발산성분(q'')에 거의 일치시키기) 위한 목표 ZMP의 수정량을 규정하는 패러미터이며, 그 예를 도시한 것이 도 22의 중단의 도면이다. 도시한 바와 같이, ZMP 수정량은 외다리 지지기의 개시 직후로부터 종료 직전까지 발생시키는 사다리꼴 형상의 패턴으로 하고, 그 피크값(a)이 ZMP 수정량의 패턴을 규정하는 ZMP 수정 패러미터로서 사용된다.
이상에서 설명한 S2100의 처리는, 일단, 전회보용(이것은 이미 보용의 경계조건을 만족하도록 결정되어 있음)의 좌우를 반전시킨 것의 보용 패러미터를 금회 보용의 보용 패러미터로서 설정한다고 하는 것을 의미한다. 이렇게 설정된, 금회 보용 패러미터를 기초로 상기 동역학 모델을 사용하여 금회 보용을 생성하면, 그 금회 보용은 이미 보용의 경계조건을 만족하도록 결정된 전회보용의 좌우를 반전시킨 것과 일치하게 된다. 또한, 상기한 바와 같이 설정된 금회 보용 패러미터는, 제 1 발명에서의 베이스 보용 패러미터에 상당하는 것이다. 따라서, S2100의 처리는, 제 1 발명에서의 베이스 보용 패러미터 설정수단에 상당한다.
보충하면, 금회 보용을 로봇(1)의 2보분의 보용으로 이루어지는 보용으로 한 경우에는, 좌우의 반전 등을 행하지 않고, 전회 보용(2보 전의 보용)의 보용 패러미터를 그대로 S2100에서 금회 보용의 보용 패러미터의 임시값으로서 설정하도록 해도 된다. 또는, 금회 보용의 보용 패러미터의 임시값을 전전회 보용의 보용 패러미터로 설정해도 된다.
이어서, S2102-1에서, 탐색 대상(탐색 대상 패러미터)인 ZMP 수정 패러미터(a)와 상체자세 경사 복원 모멘트 ZMP 환산값의 제 1 피크값(ZMPrecpeaka) 및 제 2 피크값(ZMPrecpeakb)을 제외한 금회 보용 패러미터의 우선 패러미터(보다 상세하게는, S026에서 결정하는 금회 보용의 족평 궤도 패러미터, 기준 상체자세 궤도 패러미터, 팔자세 궤도 패러미터, 상반력 연직성분 궤도 패러미터, 상반력 수평성분 허용범위를 규정하는 패러미터, ZMP 궤도 패러미터)의 값을 현재 후보값(S2100에서 설정된 값)으로부터 상기 S026에서 결정한 값에 소정량만큼 근접시킨 값으로 갱신한다.
이어서, S2104-1에서, 현재 후보의 금회 보용 패러미터(S2100에서 임시 결정 된 정상 보용 패러미터의 우선 패러미터를 S2102-1에서 갱신한 것)를 기초로, 금회 보용의 상기 경계조건(금회 보용의 종단의 발산성분이 정상 보용의 초기의 발산성분에 일치, 혹은 거의 일치한다고 하는 조건)을 만족하는 탐색 대상(a, ZMPrecpeaka, ZMPrecpeakb)의 값을 탐색적으로 결정한다. 이 처리는 도 18의 플로우차트에 나타낸 바와 같이 행해진다. 또한, 상기 도 12의 처리의 설명의 경우와 동일하게, 이하의 도 18의 처리(그 처리 중의 서브루틴 처리를 포함함)의 설명에서는, 보용 패러미터의 각 패러미터의 값에 관한 「현재값」은 해당하는 패러미터의 「현재(해당 처리의 실행 시점) 설정되어 있는 후보값 혹은 임시값」의 의미로 사용한다. 또, 「현재의 ○○」(○○는 어떤 패러미터)라고 할 때는, 「현재(해당 처리의 실행 시점) 후보로 되어 있는 ○○」의 의미로 사용한다.
이하, 도 18의 처리를 설명하면 우선, S1700에서, 탐색 대상인 ZMP 수정 패러미터, 상체경사 복원 모멘트 ZMP 환산값의 제 1 피크값, 제 2 피크값(a, ZMPrecpeaka, ZMPrecpeakb)의 현재값을 이들 탐색 대상의 초기값 후보로서 설정한다.
이어서, S1704∼S1716의 루프 처리가 실행된다. 그 처리를 개략적으로 설명하면, 우선, S1704에서, 탐색 대상인 a, ZMPrecpeaka 및 ZMPrecpeakb의 현재값(현재 후보값)과 상기 동역학 모델을 사용하여 금회 보용(임시 금회 보용)이 산출된다. 보다 상세하게는, 탐색 대상(a, ZMPrecpeaka, ZMPrecpeakb)의 현재값과 우선 패러미터의 현재값을 포함하는 금회 보용 패러미터와, 동역학 모델을 사용하여 임시 금회 보용이 산출된다. 또한, S1704의 보다 구체적인 처리에 대해서는 후술한 다.
그리고, S1706∼S1716에서, S1704에서 산출한 임시 금회 보용의 종단(금회 보용의 미착지다리 족평의 착지 예정시각)에서의 발산성분과 정상 보용의 초기 발산성분(q'')(상기 S024에서 최종적으로 산출한 것)과의 차, 임시 금회 보용의 종단에서의 상체자세각과 정상 보용의 초기 상체자세각(상기 S024에서 최종적으로 산출한 것)과의 차, 및, 임시 금회 보용의 종단에서의 상체자세각의 각속도와 정상 보용의 초기 상체자세 각속도(상기 S024에서 최종적으로 산출한 것)와의 차가 구해진다. 그리고, 이들 차의 값이 모두 허용범위 내에 있는지 아니지(0에 가까운지 아닌지)의 조건을 만족하고 있는지 판단하고, 만족하고 있지 않는 경우에는, 탐색 대상의 값을 변경한다.
이것을 반복함으로써 최종적으로 동역학 모델상에서 임시 금회 보용을 정상 보용으로 이어지게 하는 것이 가능한 탐색 대상의 패러미터의 수정값으로서의 a, ZMPrecpeaka 및 ZMPrecpeakb를 포함하는 금회 보용 패러미터가 새롭게 결정된다.
S1706∼S1716의 처리를 보다 구체적으로 설명하면 S1706에서, 임시 금회 보용의 종단에서의 상체위치 속도(Xe, Ve)로부터, 금회 보용의 종단 발산성분(q0[k])을 상기한 발산성분의 정의식에 따라서 산출한다.
이어서, S1708에서서, 이 종단 발산성분(q0[k])과 정상 선회보용의 초기 발산성분(q'')의 차를 종단 발산성분 오차(errq)로서 구한다.
또한, S1710에서, 정상 보용의 초기 상체자세각과, 금회 보용(임시 금회 보용)의 종단 상체자세각의 차를 종단 상체자세각 오차(θberr)로서 구함과 동시에, 정상 보용의 초기 상체자세 각속도와, 금회 보용(임시 금회 보용)의 종단 상체자세 각속도의 차를 종단 상체자세 각속도 오차(ωberr)로서 구한다.
상기한 바와 같이 구한 오차(errq, θberr, ωberr)는 S1704에서 작성한 임시 금회 보용의, 경계조건으로부터의 벗어남 정도를 나타내는 것이다.
이어서, S1712에서, 상기와 같이 구한 errq, θberr, ωberr가 모두 0 근방의 소정의 허용범위 내에 있는지 아닌지를 판단하고, 그 판단 결과가 YES인 경우에는, S1704∼S1716의 루프 처리를 종료한다. 이 경우, 이 루프 처리의 종료시 현재의 탐색 대상을 포함하는 금회 보용 패러미터가 동역학 모델상에서 경계조건을 만족시킬 수 있는 금회 보용 패러미터로서 얻어진다.
한편, S1712의 판단 결과가 NO일 경우에는, 현재의 탐색 대상(a, ZMPrecpeaka, ZMPrecpeakb)의 값의 부근에, 각각의 패러미터의 값을 소정의 미소량(Δa, ΔZMPrecpeaka, ΔZMPrecpeakb)만큼 변화시킨 복수(본 실시형태에서는 3개)의 탐색 대상의 후보를 정하고, 각각의 탐색 대상의 후보를 포함하는 금회 보용 패러미터(현재의 금회 보용 패러미터의 탐색 대상을 새롭게 정한 각 후보에 수정한 금회 보용 패러미터)를 기초로, S1704∼S1710과 같은 처리를 실행하고, 각각의 탐색 대상의 후보에 대응하는 오차(errq, θ berr , ωberr)의 세트를 구한다.
이어서, S1716에서, 현재의(a, ZMPrecpeaka, ZMPrecpeakb) 및 그 부근의 탐색 대상의 후보의 각각에 대응하는 오차(errq, θberr, ωberr)의 세트를 기초로, 최급강하법이나 심플렉스법 등의 탐색 수법에 의해, 탐색 대상(a, ZMPrecpeaka, ZMPrecpeakb)의 새로운 후보를 결정한다. 그리고, S1704로부터의 처리가 다시 반 복된다.
이상과 같이 하여, (a, ZMPrecpeaka, ZMPrecpeakb)을 탐색 대상으로 하여, 금회 보용의 종단의 경계조건을 만족하는 새로운 금회 보용 패러미터가 탐색적으로 결정된다. 또한, 도 18의 처리에서는, 금회 보용 패러미터 중의 우선 패러미터(족평 궤도 패러미터, 기준 상체자세 궤도 패러미터 등)는, 도 18의 처리의 개시 시의 값에 유지된다.
이 도 18의 처리중의 상기 S1704의 처리를 이하에 설명한다. 이 처리는, 도 19의 플로우차트에서 나타내는 서브루틴 처리에 의해 실행된다. 도 19의 서브루틴 처리는, 도시한 바와 같이, 전회 보용의 종단 상태(상세하게는 금회 보용의 지지다리 좌표계에서 본 전회 보용의 종단 상태)를 금회 보용(임시 금회 보용)의 초기 상태로 하고(S800), 그 초기 상태로부터 금회 보용의 종단시각(Tcurr)(금회 보용의 미착지다리 족평(22)의 착지 예정시각)까지 금회 보용의 순시값을 시계열적으로 작성하는(S802∼S806) 처리이다. 또한, 도 19의 「k」는 작성하는 금회 보용의 순시값의 시계열의 시각이다. 그리고, 도 19의 S804의 서브루틴 처리는 앞서 정상 보용의 작성 처리에 관해 설명한 도 14의 처리와 동일하게 행해진다.
이 경우의 도 14의 처리에서는, S400, S404∼S410의 처리에서는, 현재의 금회 보용 패러미터의 우선 패러미터를 기초로, 목표 상반력 연직성분, 목표 양 족평위치 자세, 기준 상체자세, 목표 팔자세, 목표 상체 연직위치, 상반력 수평성분 허용범위의 순시값이 구해진다. 또, 도 19의 S804중에서 실행되는 도 14중의 S402의 처리에서는, ZMP 수정 패러미터(a)의 현재값(후보값)(a)에 의해 규정되는 ZMP 수정 량(도 2 2의 중단도를 참조)을 현재의 금회 보용 패러미터의 ZMP 궤도 패러미터에 의해 규정되는 목표 ZMP 궤도(도 22의 상단도를 참조)에 가함으로써 이 목표 ZMP 궤도를 수정하여 이루어지는 ZMP 궤도(도 22의 하단도를 참조)의 순시값이 구해진다.
또한, S412의 처리에 의해, 동역학 모델을 사용하여, 도면 중에 기재된 조건을 만족하도록 상체 수평가속도 및 상체자세 각가속도의 순시값이 결정된다. 그리고, S414의 처리에 의해, 상체 수평가속도 및 상체자세 각가속도를 각각 2차적분 하여, 상체 수평위치 및 상체자세각의 순시값이 결정된다.
또, 임시 금회 보용의 작성시에 있어서의 S412의 서브루틴 처리인 도 15의 처리도, 정상 보용의 경우와 동일하게 행해진다. 즉, 임시 금회 보용의 순시값을 작성하고자 하고 있는 현재 시각(k)(작성 중의 임시 금회 보용 내에서의 시각)이 상기 상체경사각 복원기간 내의 시각이 아닐 때에는, S504∼S516의 처리에 의해, 동역학 모델상에서, 목표 ZMP(ZMP 수정량에 의해 수정한 목표 ZMP)을 만족하고, 또한, 전체중심의 수평가속도에 의한 관성력과 균형을 이루는 상반력 수평성분이 시각(k)의 상반력 수평성분 허용범위의 순시값 내에 들어가도록, 상체 병진모드의 상체 수평가속도(α)와, 상체 회전모드의 상체 각가속도(β)(상체자세각의 각가속도)가 결정된다.
또, 현재 시각(k)(작성 중의 임시 금회 보용 내에서의 시각)이 상기 상체경사각 복원기간 내의 시각일 때에는, S518∼S526의 처리에 의해, 상체 각가속도(β)는, 동역학 모델상에서, 상체경사 복원 모멘트 ZMP 환산값 패턴의 순시값(이것은 상체경사 복원 모멘트 ZMP 환산값의 제 1 피크값(ZMPrecpeaka) 및 제 2 피크값(ZMPrecpeakb)의 현재값(후보값)과 현재 시각(k)에 따라 정해진다. 도 21을 참조)에 대응하는 상반력 모멘트를 발생하도록 결정된다. 또, 상체 수평가속도는, 동역학 모델상에서, 상체 병진모드에 의해 발생하는 목표 ZMP(ZMP 수정량에 의해 수정한 목표 ZMP) 주위의 상반력 모멘트가 0이 되기 위한 상체 수평가속도와, 상체 각가속도(β)에 의한 상반력 모멘트와 동등한 상반력 모멘트를 발생하는 상체 수평가속도의 차로서 구해진다. 이것에 의해, 상체자세를 기준 상체자세를 향해서 복원시키면서, 목표 ZMP를 만족하도록 상체 각가속도(β) 및 상체 수평가속도(α)가 결정된다.
또한, 임시 금회 보용을 생성하는 경우의 상체경사각 복원기간은 상기 도 16의 S612에서 결정한 시각 Ta부터 Tb의 기간이므로, 도 15의 S500의 처리는 생략된다.
이상, 설명한 도 17의 S2102-1, 2104-1의 처리는, 그것을 간결적으로 말하면, 금회 보용 패러미터의 우선 패러미터(족평 궤도 패러미터 등)의 값을 현재값(현재 후보값)으로부터 S026의 처리(상세하게는 도 16의 S600∼S610의 처리)에서 결정한 값에 소정량만큼 근접시켜서 갱신하고, 그 갱신 후의 우선 패러미터를 포함하여, 금회 보용의 경계조건을 동역학 모델상에서 만족할 수 있는 새로운 금회 보용 패러미터를 탐색하는 처리이다. 그리고, 이 처리에서는, (a, ZMPrecpeaka, ZMPrecpeakb)이 탐색 대상으로 된다. 또한, S2102-1에서의 금회 보용 패러미터의 우선 패러미터의 현재값(갱신 전의 후보값)은, S2100에서 결정된 금회 보용 패러미 터의 임시값 중 우선 패러미터의 값이다. 또, S2104-1의 처리에서는, 탐색 대상의 초기 후보값으로서, S2100에서 결정된 임시값이 사용된다.
도 17의 설명으로 되돌아와, S2102-1, S2104-1의 상기한 처리 후, S2102-1, S2104-1의 처리와 동일한 처리(도 17에서는 S2102-2, S2104-2)가 반복된다. 그리고, 최종적으로, S2104-n(n은 총 반복 회수)에서, 금회 보용 패러미터의 우선 패러미터는 S026의 처리에서 결정된 값에 일치시킨다. 또한, S2104-n에서, S2104-1과 마찬가지로, 현재 후보의 금회 보용 패러미터를 기초로, 동역학 모델상에서 금회 보용의 경계조건을 만족하는 탐색 대상(a, ZMPrecpeaka, ZMPrecpeakb)의 값이 탐색적으로 결정되고, 새로운 금회 보용 패러미터가 결정된다.
이것들의 반복 처리에서, S2102-k(k=2,…, n)에서 우선 패러미터를 갱신하기 전에 있어서의 우선 패러미터의 값은, S2102-(k-1)에서의 갱신 후의 우선 패러미터의 값이다(S2102-1에서는, 상기한 바와 같이 갱신 전의 우선 패러미터의 값은 S2100에서 결정된 임시값이다). 또한, S2104-k(k=2,…, n)의 처리는, S2104-1의 처리와 동일하다. 단, S2104-k에서는 탐색 대상("a", ZMPrecpeaka)의 초기값 후보(도 18의 S1700에서 설정하는 초기값 후보)로서, S2104-k의 처리의 개시 시에 설정되어 있는 값, 즉, S2104-(k-1)의 처리에서 최종적으로 탐색된 탐색 대상의 값이 사용된다(S2104-1에서는, 상기한 바와 같이 탐색 대상의 초기값 후보는, S2100에서 결정된 임시값이다).
이상과 같이 하여, S2100에서 결정된 금회 보용 패러미터의 우선 패러미터의 값(임시값)을 초기값으로 하여, 이 우선 패러미터의 값이 단계적으로 S026의 처리 에서 결정된 값(이것은 금회 보용에 관한 요구를 만족하기 위한 우선 패러미터의 값(우선 패러미터 요구값)임)에 근접하도록, 이 우선 패러미터의 값이 단계적으로 갱신되고, 최종적으로 S026의 처리에서 결정된 값에 일치시켜진다(S2102-1, S2102-2, ……, S2102-n). 따라서, 이들 S2102-1, S2102-2, ……, S2102-n의 처리는, 제 1 발명에서의 우선 패러미터 점근수단에 상당한다. 그리고, 그 우선 패러미터의 갱신때마다, 그 갱신 후의 우선 패러미터를 포함하는 금회 보용 패러미터의 탐색 대상의 값이, 그 갱신의 직전에 결정된 값을 초기값 후보로 하여, 금회 보용의 경계조건을 만족하도록 탐색되고, 그 탐색 결과의 탐색 대상을 포함하는 금회 보용 패러미터가 새롭게 결정된다(S2104-1, 2104-2, ……, S2104-n). 따라서, 이들 S2104-1, S2104-2, ……, S2104-n의 처리는, 제 1 발명에서의 신규 보용 패러미터 결정수단에 상당하고, 각각의 처리에서 최종적으로 결정되는 탐색 대상을 포함하는 금회 보용 패러미터가 제 1 발명에서의 신규 보용 패러미터에 상당한다. 그리고, S2104-n에서 최종적으로 결정된 새로운 금회 보용 패러미터가 이제부터 생성하려고 하는 금회 보용의 보용 패러미터이다.
보충하면, 상기의 반복 처리의 총 반복 회수 n은, S2100에서 결정하는 금회 보용 패러미터의 우선 패러미터의 값과, S026에서 결정한 우선 패러미터의 값(우선 패러미터 요구값)의 차에 따라 결정된다. 또, 금회 보용 패러미터 중, 우선 패러미터 및 탐색 대상의 패러미터 이외의 패러미터(고정적인 패러미터)는, S2100에서 결정된 금회 보용 패러미터의 당해 패러미터의 값에 유지된다.
이상에서 설명한 도 17의 처리에 의해, S2100에서 결정된 가상의 금회 보용 패러미터(금회 보용의 경계조건을 만족하도록 과거에 결정된 금회 보용 패러미터)의 우선 패러미터의 값을 서서히 S026에서 결정한 우선 패러미터(이제부터 생성하려고 하는 금회 보용의 우선 패러미터)의 값에 근접시키도록 갱신하면서, 그 갱신때마다, 경계조건을 만족하는 금회 보용 패러미터가 새롭게 결정된다. 이 때문에, 경계조건을 만족하는 금회 보용을 상체위치 자세의 발산이 생기거나 하지 않고, 효율적으로 단시간에 작성할 수 있다.
도 12의 설명으로 되돌아와, 이상에서 설명한 바와 같이 S028의 처리를 실행한 후, S030으로 진행되고, 풀 모델 보정용의 ZMP 허용범위와 상반력 수평성분 허용범위를 규정하는 패러미터가 결정된다.
이 처리는, 상기 공보문헌 1의 도 13의 S030의 처리와 동일하고, 여기에서의 설명은 생략한다.
이상에서 설명한 S018부터 S030까지의 처리가 상기 도 5의 보용 패러미터 결정부(100a)에서 실행되는 처리이다.
S030의 처리를 실행한 후, 또는, S016의 판단 결과가 NO일 때에는, S032로 진행되고, 금회 보용의 순시값을 차차 결정한다. 이 처리의 서브루틴 처리는, 임시 금회 보용의 생성에 관해 설명한 상기 도 19의 플로우차트의 처리와 동일하다. 이 경우, ZMP 수정 패러미터(a), 상체경사 복원 모멘트 ZMP 환산값의 제 1 피크값(ZMPrecpeaka) 및 제 2 피크값(ZMPrecpeakb)으로서는, 도 12의 S028에서 최종적으로 결정한 것(도 17의 S2104-n의 처리에서 최종적으로 탐색된 것)이 사용된다.
이어서, S034로 진행되고, 로봇(1)의 스핀(연직축 주위의 회전)을 캔슬하기 위한 팔체(5, 5)의 동작이 결정된다. 이 처리는, 로봇(1)의 팔을 흔들지 않고 목표 보용대로 로봇(1)을 운동시킨 경우에 목표 ZMP 주위에 발생하는 상반력 모멘트의 연직성분과 반대방향의 상반력 모멘트를 팔체(5, 5)의 팔 흔들기(양팔체(5, 5)를 전후 역방향으로 흔드는 운동)에 의해 발생시키도록 팔체(5, 5)의 자세를 결정하는 것이며, 상기 공보문헌 1의 도 13의 S034와 완전히 동일하게 행해진다. 그 상세한 것은, 동 공보문헌 1에 기재되어 있으므로, 여기에서는 새로운 설명을 생략한다.
이어서, S036로 진행되고, 풀 모델 보정용(상기 풀 모델 보정부(100c)의 처리용)의 ZMP 허용범위의 순시값과, 상반력 수평성분 허용범위의 순시값이 결정된다. 이 처리에서는, 상기 S030에서 결정한 ZMP 허용범위 및 상반력 수평성분 허용범위를 규정하는 보용 패러미터에 기초하여 결정된다.
이상에서 설명한 S032∼S036의 처리가, 상기 도 5의 목표 순시값 발생부(100b)에서 실행되는 처리의 상세이다.
이어서, S038로 진행되고, 풀 모델을 사용한 보정 보용을 발생한다. 이 처리는 상기 풀 모델 보정부(100c)에 의해 실행되는 처리이다. 이 경우, 이 처리는, 상기 공보문헌 1의 도 13의 S038의 처리와 동일하고, 동 공보문헌 1에 기재된 바와 같이 실행된다. 따라서, 본 명세서에서는 상세한 설명은 생략한다. 이 처리에 의해, 목표 상체위치 자세(상기 변위차원 보정 보용의 상체위치 자세)를 더욱 수정하여 이루어지는 보정 목표 상체위치 자세와 보정 목표 상반력 모멘트가 결정된다.
이상이, 본 실시형태에서의 보용생성장치(100)의 보용생성처리이다.
다음에 도 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승)의 가중평균이 최소가 되도록 제어한다. 이것에 의해, 실제 족평위치 자세와 전체 상반력이 목표 족평위치 자세와 목표 전체 상반력에 대체적으로 따르도록 제어된다.
또한, 이상에서 설명한 실시형태에서는, 보용 패러미터(정상 보용 패러미터 및 금회 보용 패러미터)를, 전회 보용(과거에 결정한 보용)에 대응하는 것으로부터 서서히 갱신해 가도록 했는데, 정상 보용, 금회 보용 중 어디에 두어도, 미리 이 보용의 경계조건을 만족하는 표준(기준) 보용 패러미터를 준비(작성)하여 기억 유지해 두고, 그것을 기점으로 하여 보용 패러미터를 서서히 갱신해 가도록 해도 좋다. 예를 들면, 금회 보용의 족평 궤도 패러미터에 관계되는 미착지다리 족평(22)의 착지 예정위치 자세를, 로봇(1)의 동일한 장소에서의 제자리걸음을 행하는 경우의 위치자세로부터, 요구값에 대응하는 위치자세로 서서히 갱신하거나, 보행주기를 서서히 갱신해 가도록 해도 된다.
또, 상기 실시형태에서는, 금회 보용을 정상 보용에 근접시키기 위해서, 금회 보용의 종단의 발산성분을 정상 보용의 초기 발산성분에 거의 일치시키는 것을 금회 보용의 경계조건으로 하고, 그 경계조건을 만족하도록 금회 보용 패러미터의 탐색 대상을 탐색하여 결정하도록 했는데, 금회 보용의 종단의 상체위치(수평위치 및 연직위치)와, 상체속도(수평속도 및 연직속도)를 각각 정상 보용의 초기의 상체위치, 상체속도에 거의 일치시키는 것을 금회 보용의 경계조건으로 하고, 이 경계 조건을 만족하도록 금회 보용 패러미터의 탐색 대상을 탐색하여 결정하도록 해도 된다.
또는, 금회 보용의 종단의 로봇(1)의 전체중심의 위치와 그 변화속도의 가중평균값을, 정상 보용의 초기의 당해 가중평균값에 거의 일치시키는 것을 경계조건으로 하여, 그 경계조건을 만족하도록 금회 보용 패러미터의 탐색 대상을 결정하도록 해도 된다.
또, 정상 보용 패러미터를 결정할 때, 정상 보용의 경계조건을 만족하기 위해, 정상 보용 패러미터의 탐색 대상으로서, 로봇(1)의 상기 가중평균값, 또는 발산성분을 사용해도 된다. 또한, 가중평균값은, 소정의 가중값을 설정함으로써 절대적인 크기를 무시하면, 발산성분과 등가(보다 정확하게는, 발산성분과 비례관계)로 된다.
이상의 설명으로부터 밝힌 바와 같이, 본 발명의 이동로봇의 보용생성장치는, 보용의 발산을 방지하면서, 소요의 경계조건을 만족할 수 있는 보용을 효율적으로 생성할 수 있고, 특히 2족이동로봇과 같은 본래 안정성이 낮은 이동로봇의 보용을 이이동로봇의 안정성을 확보하면서 생성할 수 있는 점에서 유용하다.

Claims (10)

  1. 소정의 기간에서의 이동로봇의 보용을 규정하는 복수의 패러미터의 세트인 보용 패러미터를 결정하고, 그 결정한 보용 패러미터와 상기 이동로봇의 동역학 모델을 사용하여 상기 소정의 기간에서의 이동로봇의 목표 보용을 생성하는 보용생성장치에 있어서,
    상기 목표 보용에 관한 요구가 주어지고, 상기 보용 패러미터 중의 소정의 패러미터를 우선 패러미터로 하고, 이 우선 패러미터 이외의 패러미터를 비우선 패러미터로 했을 때, 상기 요구를 만족하기 위한 상기 우선 패러미터의 값인 우선 패러미터 요구값을 결정하는 우선 패러미터 요구값 결정수단과,
    상기 이동로봇의 미리 준비된 기준 보용을 규정하는 보용 패러미터와, 소정의 경계조건을 만족하도록 과거에 결정된 보용 패러미터 중의 어느 하나의 보용 패러미터를 베이스 보용 패러미터로서 설정하는 베이스 보용 패러미터 설정수단과,
    상기 베이스 보용 패러미터의 우선 패러미터의 값을, 이 값이 상기 우선 패러미터 요구값에 일치할 때까지 단계적으로 상기 우선 패러미터 요구값에 점근시키도록 갱신하는 우선 패러미터 점근수단과,
    이 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신때마다, 그 갱신 후의 값의 우선 패러미터를 갖고, 또한 상기 소정의 경계조건을 만족하는 보용을 상기 동역학 모델을 사용하여 생성할 수 있는 보용 패러미터인 신규 보용 패러미터를 탐색적으로 결정하는 신규 보용 패러미터 결정수단을 구비함과 동시에,
    상기 신규 보용 패러미터 결정수단은, 상기 신규 보용 패러미터를 새롭게 결정할 때의 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신 회수를 n(n:n≥1을 만족하는 정수)으로 하고, 그 제 n 회째의 갱신처리에 의해 얻어진 우선 패러미터의 값을 제 n 우선 패러미터 갱신값으로 하고, 당해 새롭게 결정하는 신규 보용 패러미터를 제 n 신규 보용 패러미터로 하고, 상기 베이스 보용 패러미터를 제 0 신규 보용 패러미터로 했을 때, 비우선 패러미터의 값에 제 n-1 신규 보용 패러미터의 비우선 패러미터의 값을 설정하고, 또한, 우선 패러미터의 값을 제 n 우선 패러미터 갱신값으로 설정하여 이루어지는 보용 패러미터를 초기 탐색후보 보용 패러미터로 하여, 이 초기 탐색후보 보용 패러미터의 비우선 패러미터 중의 소정의 패러미터인 탐색 대상 패러미터의 값을 상기 소정의 경계조건을 만족하도록 탐색함으로써 제 n 신규 보용 패러미터를 결정하는 수단이며,
    상기 우선 패러미터 점근수단에 의한 우선 패러미터 값의 최후 갱신시에 결정된 신규 보용 패러미터를 상기 목표 보용을 규정하는 보용 패러미터로 하여, 이 신규 보용 패러미터와 상기 동역학 모델을 사용하여 이 목표 보용을 생성하도록 한 것을 특징으로 하는 이동로봇의 보용생성장치.
  2. 소정의 기간에서의 이동로봇의 목표 보용을 생성할 때, 이 목표 보용에 이어지는 가상적인 주기적 보용인 정상 보용을 규정하는 복수의 패러미터의 세트인 정상 보용 패러미터를 결정함과 동시에, 그 결정한 정상 보용 패러미터와 상기 이동로봇의 동역학 모델을 사용하여 생성되는 정상 보용에 상기 목표 보용을 근접시키 도록 이 목표 보용을 생성하는 이동로봇의 보용생성장치에 있어서,
    상기 목표 보용에 대응하는 정상 보용에 관한 요구가 입력되고, 상기 정상 보용 패러미터 중의 소정의 패러미터를 우선 패러미터로 하고, 이 우선 패러미터 이외의 패러미터를 비우선 패러미터로 했을 때, 상기 요구를 만족하기 위한 이 우선 패러미터의 값인 우선 패러미터 요구값을 결정하는 우선 패러미터 요구값 결정수단과,
    상기 이동로봇의 미리 준비된 기준 정상 보용을 규정하는 정상 보용 패러미터와, 소정의 경계조건을 만족하도록 과거에 결정된 정상 보용 패러미터 중 어느 하나의 정상 보용 패러미터를 베이스 정상 보용 패러미터로서 설정하는 베이스 정상 보용 패러미터 설정수단과,
    상기 베이스 정상 보용 패러미터의 우선 패러미터의 값을, 이 값이 상기 우선 패러미터 요구값에 일치할 때까지 단계적으로 상기 우선 패러미터 요구값에 점근시키도록 갱신하는 우선 패러미터 점근수단과,
    이 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신때마다, 그 갱신 후의 값의 우선 패러미터를 갖고, 또한 상기 소정의 경계조건을 만족하는 보용을 상기 동역학 모델을 사용하여 생성할 수 있는 정상 보용 패러미터인 신규 정상 보용 패러미터를 탐색적으로 결정하는 신규 정상 보용 패러미터 탐색 수단을 구비함과 동시에,
    상기 신규 정상 보용 패러미터 탐색 수단은, 상기 신규 정상 보용 패러미터를 새롭게 결정할 때의 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 갱신 회수를 n(n:n≥1을 만족하는 정수)으로 하고, 그 제 n 회째의 갱신 후의 우선 패러미터의 값을 제 n 우선 패러미터 갱신값으로 하고, 당해 새롭게 결정하는 신규 정상 보용 패러미터를 제 n 신규 정상 보용 패러미터로 하고, 상기 베이스 정상 보용 패러미터를 제 0 신규 정상 보용 패러미터로 했을 때, 비우선 패러미터의 값에 제 n-1 신규 정상 보용 패러미터의 비우선 패러미터의 값을 설정하고, 또한, 우선 패러미터의 값에 제 n 우선 패러미터 갱신값을 설정하여 이루어지는 보용 패러미터를 초기 탐색후보 보용 패러미터로 하고, 이 초기 탐색후보 보용 패러미터의 비우선 패러미터 중의 소정의 패러미터인 탐색 대상 패러미터의 값을 상기 소정의 경계조건을 만족하도록 탐색함으로써 제 n 신규 정상 보용 패러미터를 결정하는 수단이며,
    상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 최후의 갱신시에 결정된 신규 정상 보용 패러미터를 상기 목표 보용에 대응하는 정상 보용의 정상 보용 패러미터로 하여, 이 정상 보용 패러미터와 상기 동역학 모델을 사용하여 생성되는 정상 보용에 근접시키도록 상기 목표 보용을 생성하도록 한 것을 특징으로 하는 이동로봇의 보용생성장치.
  3. 제 1 항에 있어서, 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 총 갱신 회수는 상기 베이스 보용 패러미터의 우선 패러미터의 값과, 상기 우선 패러미터 요구값과의 차에 따라 설정되는 것을 특징으로 하는 이동로봇의 보용생성장치.
  4. 제 2 항에 있어서, 상기 우선 패러미터 점근수단에 의한 우선 패러미터의 값의 총 갱신 회수는 상기 베이스 정상 보용 패러미터의 우선 패러미터의 값과, 상기 우선 패러미터 요구값과의 차에 따라 설정되는 것을 특징으로 하는 이동로봇의 보용생성장치.
  5. 제 1 항에 있어서, 상기 보용 패러미터는, 상기 목표 보용 중 목표 ZMP 궤도를 규정하는 패러미터를 상기 탐색 대상 패러미터로서 포함하는 것을 특징으로 하는 이동로봇의 보용생성장치.
  6. 제 2 항에 있어서, 상기 정상 보용 패러미터는, 상기 정상 보용의 1주기의 기간의 일단에서의 이동로봇의 운동의 소정의 상태량을 규정하는 패러미터를 상기 탐색 대상 패러미터로서 포함하는 것을 특징으로 하는 이동로봇의 보용생성장치.
  7. 제 1 항에 있어서, 상기 소정의 경계조건은, 상기 소정의 기간에 있어서의 보용의 경계에서의 이동로봇의 운동의 소정의 상태량이 상기 경계에서 인접하는 보용에서의 이동로봇의 운동의 이 소정의 상태량과 일치한다는 조건을 포함하는 것을 특징으로 하는 이동로봇의 보용생성장치.
  8. 제 1 항에 있어서, 상기 소정의 경계조건은, 상기 소정의 기간에 있어서의 보용의 종단측의 경계에서의 이동로봇의 운동의 소정의 상태량이 이 보용에 이어져야 할 가상적인 주기적 보용으로서 결정된 정상 보용에서의 이동로봇의 운동의 이 소정의 상태량과 일치한다는 조건을 포함하는 것을 특징으로 하는 이동로봇의 보용생성장치.
  9. 제 2 항에 있어서, 상기 소정의 경계조건은, 상기 정상 보용의 1주기의 시단과 종단에서의 이동로봇의 운동의 소정의 상태량이 일치한다는 조건을 포함하는 것을 특징으로 하는 이동로봇의 보용생성장치.
  10. 제 6 항 내지 제 9 항 중 어느 한 항에 있어서, 상기 이동로봇은, 상체로부터 연장하여 설치된 복수의 다리체를 구비한 다리식 이동로봇이며, 상기 소정의 상태량은, 이 로봇의 상체의 위치, 이 상체의 속도, 이 상체의 자세각, 이 상체의 자세각의 각속도, 이 상체의 위치와 속도와의 가중평균값, 이 로봇의 전체중심의 위치, 이 전체중심의 속도, 이 전체중심의 위치와 속도의 가중평균값, 및 발산성분 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 이동로봇의 보용생성장치.
KR1020067015921A 2004-02-16 2005-02-16 이동로봇의 보용생성장치 KR101140810B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004038961 2004-02-16
JPJP-P-2004-00038961 2004-02-16
PCT/JP2005/002353 WO2005077610A1 (ja) 2004-02-16 2005-02-16 移動ロボットの歩容生成装置

Publications (2)

Publication Number Publication Date
KR20070003848A true KR20070003848A (ko) 2007-01-05
KR101140810B1 KR101140810B1 (ko) 2012-05-03

Family

ID=34857828

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020067015921A KR101140810B1 (ko) 2004-02-16 2005-02-16 이동로봇의 보용생성장치
KR1020067015814A KR101131774B1 (ko) 2004-02-16 2005-02-16 이동로봇의 보용생성장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020067015814A KR101131774B1 (ko) 2004-02-16 2005-02-16 이동로봇의 보용생성장치

Country Status (5)

Country Link
US (2) US7319302B2 (ko)
EP (2) EP1733852B1 (ko)
JP (2) JP4800039B2 (ko)
KR (2) KR101140810B1 (ko)
WO (2) WO2005077611A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100873107B1 (ko) * 2007-01-30 2008-12-09 한국과학기술원 이족 보행 로봇의 수정 가능한 걸음새 생성을 위한 실시간zmp 조작법
US7905303B2 (en) * 2009-02-10 2011-03-15 Honda Motor Co., Ltd. Legged locomotion robot
KR101200191B1 (ko) * 2010-07-14 2012-11-13 서울대학교산학협력단 데이터 기반 바이페드 제어 장치 및 방법
KR20120024098A (ko) * 2010-09-06 2012-03-14 삼성전자주식회사 보행 로봇 및 그 제어방법
US9517561B2 (en) 2014-08-25 2016-12-13 Google Inc. Natural pitch and roll
US9623556B1 (en) * 2014-09-03 2017-04-18 X Development Llc Robotic sole joint
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
US9440353B1 (en) 2014-12-29 2016-09-13 Google Inc. Offline determination of robot behavior
US9499218B1 (en) 2014-12-30 2016-11-22 Google Inc. Mechanically-timed footsteps for a robotic device
US9987745B1 (en) 2016-04-01 2018-06-05 Boston Dynamics, Inc. Execution of robotic tasks
US11981031B2 (en) * 2016-08-18 2024-05-14 The Trustees Of The University Of Pennsylvania Systems and methods for controlling robotic behaviors
CN117590840A (zh) * 2022-08-08 2024-02-23 北京小米机器人技术有限公司 运动控制方法、装置、控制器、介质及机器人

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3167406B2 (ja) * 1992-03-12 2001-05-21 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3148827B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3422883B2 (ja) * 1995-09-29 2003-06-30 本田技研工業株式会社 脚式歩行ロボットの歩容生成方法および歩行制御装置
JP3672406B2 (ja) 1997-01-31 2005-07-20 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
KR20010102230A (ko) 1999-02-19 2001-11-15 쿤츠 조엘 전기 전도성이고 자립성인 미공성 중합체 시트
JP2001191284A (ja) * 1999-10-25 2001-07-17 Sony Corp ロボット装置及びロボット装置の学習方法
JP2001277166A (ja) * 2000-03-31 2001-10-09 Sony Corp ロボット及びロボットの行動決定方法
KR20030051823A (ko) 2000-11-17 2003-06-25 혼다 기켄 고교 가부시키가이샤 레그식 이동 로봇의 보용 생성장치
JP3726032B2 (ja) 2001-04-27 2005-12-14 本田技研工業株式会社 脚式移動ロボットの目標運動生成装置
JP3569764B2 (ja) * 2001-11-19 2004-09-29 独立行政法人 科学技術振興機構 二脚歩行式移動装置およびその歩行制御装置並びに歩行制御方法
US7319917B2 (en) 2001-12-28 2008-01-15 Honda Giken Kogyo Kabushiki Kaisha Gait generation device for legged mobile robot
US7319918B2 (en) * 2001-12-28 2008-01-15 Honda Giken Kogyo Kabushiki Kaisha Gait generation device for legged mobile robot
KR100924505B1 (ko) * 2002-01-18 2009-11-02 혼다 기켄 고교 가부시키가이샤 다리식 이동로봇의 제어장치
JP3905413B2 (ja) * 2002-04-18 2007-04-18 富士重工業株式会社 ロボット装置
EP1502711B1 (en) * 2002-04-26 2011-02-23 Honda Giken Kogyo Kabushiki Kaisha Control device of legged mobile robot
JP4483254B2 (ja) * 2002-10-01 2010-06-16 ソニー株式会社 ロボット装置及びロボット装置の制御方法
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
US20040138780A1 (en) * 2002-11-15 2004-07-15 Lewis Murray Anthony Certain principles of biomorphic robots
US7072740B2 (en) * 2002-12-16 2006-07-04 Sony Corporation Legged mobile robot

Also Published As

Publication number Publication date
EP1733852B1 (en) 2012-09-12
EP1733852A1 (en) 2006-12-20
US20070168080A1 (en) 2007-07-19
JP4800038B2 (ja) 2011-10-26
EP1738878B1 (en) 2011-09-28
WO2005077610A1 (ja) 2005-08-25
JPWO2005077611A1 (ja) 2007-10-18
EP1738878A4 (en) 2009-12-09
KR101140810B1 (ko) 2012-05-03
EP1733852A4 (en) 2009-12-09
KR101131774B1 (ko) 2012-04-05
JPWO2005077610A1 (ja) 2007-10-18
KR20060126759A (ko) 2006-12-08
EP1738878A1 (en) 2007-01-03
US7765030B2 (en) 2010-07-27
JP4800039B2 (ja) 2011-10-26
WO2005077611A1 (ja) 2005-08-25
US20080147237A1 (en) 2008-06-19
US7319302B2 (en) 2008-01-15

Similar Documents

Publication Publication Date Title
KR101140810B1 (ko) 이동로봇의 보용생성장치
KR101083414B1 (ko) 다리식 이동 로봇의 제어장치
KR100881609B1 (ko) 다리식 이동로봇의 보용 생성 장치
KR101160161B1 (ko) 이동 로봇의 보용생성장치
KR100924505B1 (ko) 다리식 이동로봇의 제어장치
KR101131773B1 (ko) 이동 로봇의 보용생성장치
JP5221688B2 (ja) 脚式移動ロボットの歩容生成装置
KR101112496B1 (ko) 다리식 이동 로봇의 제어장치
CN100589937C (zh) 腿式移动机器人及其控制程序

Legal Events

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

Payment date: 20160318

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170322

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180403

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 8