KR20080048075A - 다리식 이동 로봇의 보용 생성 장치 - Google Patents

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

Info

Publication number
KR20080048075A
KR20080048075A KR1020087009232A KR20087009232A KR20080048075A KR 20080048075 A KR20080048075 A KR 20080048075A KR 1020087009232 A KR1020087009232 A KR 1020087009232A KR 20087009232 A KR20087009232 A KR 20087009232A KR 20080048075 A KR20080048075 A KR 20080048075A
Authority
KR
South Korea
Prior art keywords
leg
target
robot
landing
posture
Prior art date
Application number
KR1020087009232A
Other languages
English (en)
Other versions
KR101011660B1 (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 KR20080048075A publication Critical patent/KR20080048075A/ko
Application granted granted Critical
Publication of KR101011660B1 publication Critical patent/KR101011660B1/ko

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)
  • Toys (AREA)

Abstract

대상물(120)의 이동계획에 기초하여 대상물(120)의 장래의 제1 임시 목표 운동 궤도를 결정하고, 대상물·로봇간 위치 자세 관계에 관한 요구가 적어도 장래의 2 이상의 소정수째에서 충족되고, 또한, 로봇(1)의 다리체 운동에 관한 제약조건이 소정수의 보수째까지 각 보수마다 충족된다고 하는 것을 필요 요건으로 하고, 그 필요 요건을 만족하는 로봇(1)의 다리체의 운동이 가능한지 아닌지를 판단한다. 그 판단 결과가 긍정적일 때는, 제1 임시 목표 운동 궤도를 기초로 목표 보용을 생성하고, 부정적일 때는, 수정한 이동계획에 기초하는 대상물(120)의 목표 운동 궤도를 기초로 목표 보용을 생성한다. 이것에 의해, 대상물의 로봇에 대한 이동방향에 의하지 않고, 이동계획의 수정을 요하는 상황을 필요 최소한에 그치게 하여, 가능한 한, 이동계획에 입각한 대상물의 이동을 가능하게 하는 로봇의 목표 보용을 생성한다.
목표 보용, 목표 운동 궤도, 대상물 운동 임시 결정 수단, 다리식 이동 로봇, 보용 생성 장치

Description

다리식 이동 로봇의 보용 생성 장치{GAIT CREATION DEVICE OF LEG-TYPE MOBILE ROBOT}
본 발명은 다리식 이동 로봇에게 대상물을 이동시키는 작업을 행하게 하기 위한 목표 보용을 생성하는 장치에 관한 것이다.
2족 이동 로봇 등의 다리식 이동 로봇에, 어떤 대상물을 밀어서 이동시키는 등의 작업을 행하게 하는 경우에는, 통상, 대상물의 이동계획(대상물을 어떤 타이밍에 어떻게 이동시킨다고 하는 것과 같은 계획)에 기초하는 대상물의 목표 운동에 따라 로봇의 목표 보용이 생성된다. 그리고, 이 생성한 목표 보용에 로봇의 동작을 추종시키도록, 로봇의 동작 제어가 행해진다(예를 들면, 일본 특개평 10-230485호 공보를 참조). 또한, 로봇에게 대상물을 이동시키는 작업을 행하게 하는 경우, 이 로봇이 단독으로 이동하는 경우와 달리, 이 로봇은 그 이동환경의 바닥으로부터 반력(외력)을 받을 뿐만 아니라, 대상물로부터도 반력(외력)을 받는다. 이 때문에, 로봇의 자세의 안정성을 확보하기 위하여, 대상물로부터의 반력에 의한 영향도 포함하여, 소위 ZMP(Zero Moment Point)가 로봇의 접지면 내(보다 일반적으로는 소위 지지다각형 내)에 존재하도록 목표 보용이 생성된다.
그런데, 예를 들면 2족 이동 로봇의 전방을 향하여 대상물을 직선적으로 이 동시키는 것과 같은 경우에는, 통상, 로봇의 1보마다의 기간에서, 로봇과 대상물의 위치 자세 관계가 적절한 위치 자세 관계가 되도록 로봇의 목표 보용이 생성된다. 달리 말하면, 로봇의 1보마다 기간에서의 이 로봇에 의한 대상물의 평균 이동속도가 대상물의 이동계획에 기초하는 이 기간에 있어서의 대상물의 평균 이동속도와 동일하게 할 수 있도록, 로봇의 미착지다리(遊脚)측 다리체의 목표 착지위치 자세가 결정된다. 또한, 이 경우, 로봇의 미착지다리측 다리체의 목표 착지위치 자세는 지지다리측 다리체에 대한 미착지다리측 다리체의 기구적인 가동 범위 등의 제약조건을 충족시키는 범위 내에서 설정할 필요가 있다. 단, 이동계획에서의 대상물의 속도 지령값이 로봇의 실현 가능한 최대 이동속도보다도 작게 설정되어 있는 한, 이 제약조건에 의한 규제를 받는 것은 실제상은 거의 없다.
다른 한편, 대상물을 로봇의 전후 방향에 대하여 경사지게 이동시키거나, 또는, 이 대상물을 선회 이동시키거나, 또는, 이 대상물을 로봇의 횡방향으로 이동시키는 것과 같은 경우에, 상기한 바와 같이 로봇의 목표 보용을 생성하면 다음과 같은 문제를 발생한다.
예를 들면, 2족 이동 로봇의 우측 방향으로 대상물을 밀어서 이동시키는 경우에 있어서, 로봇의 다리체 중 우측 다리체는, 통상, 이 대상물을 이동시켜야 할 방향으로 비교적 크게 내딛는 것이 가능하지만, 좌측 다리체는 우측 다리체와의 간섭 등을 방지하기 위한 제약조건의 영향을 받아, 이 대상물을 이동시켜야 할 방향으로 크게 내딛는 것은 실제로는 불가능하다. 이 때문에, 우측 다리체가 미착지다리가 되는 1보의 기간에서의 대상물의 목표 위치 자세에 대하여 로봇의 위치 자세 가 적절한 위치 자세 관계가 되도록 로봇의 목표 보용을 생성해도, 그 다음 1보의 기간에서는, 대상물의 목표 위치 자세에 대하여 로봇의 위치 자세가 적절한 위치 자세 관계가 되도록 로봇의 목표 보용을 생성할 수 없는 경우가 많다. 나아가서는, 대상물을 이동계획대로 이동시키는 것이 곤란하게 된다. 이것은 대상물을 선회 이동시키거나, 로봇의 전후 방향에 대하여 경사 방향으로 이동시키는 경우에 대해서도 마찬가지로 발생하는 문제이다.
이와 같이, 로봇의 1보마다, 그 1보의 기간에서의 로봇과 대상물의 위치 자세 관계가 적절한 위치 자세 관계를 하게 되도록 로봇의 목표 보용이 생성하는 수법에서는, 로봇에 대한 대상물의 이동방향에 의해, 미착지다리측 다리체가 지지다리측 다리체와의 간섭 등을 방지하기 위한 제약조건의 영향을 받기 쉽다. 나아가서는, 이동계획을 수정하지 않을 수 없는 상황이 빈번하게 생기거나, 또는, 이동계획을 로봇에 대한 이동방향별로, 로봇의 다리체의 실현가능한 운동형태에 적합시키도록 설정해 두지 않으면 안되는 등의 문제가 있다.
본 발명은 이러한 배경을 감안하여 이루어진 것으로, 대상물의 로봇에 대한 이동방향에 의하지 않고, 이동계획의 수정을 요하는 상황을 필요 최소한에 그치게 하여, 가능한 한, 이동계획에 입각한 대상물의 이동을 가능하게 하는 로봇의 목표 보용을 생성할 수 있는 다리식 이동 로봇의 보용 생성 장치를 제공하는 것을 목적으로 한다.
(발명의 개시)
다리식 이동 로봇에 의해 대상물을 이동시키는 경우, 일반적으로, 대상물의 순간순간의 이동속도나 이동위치를 이동계획에 기초하는 순시 목표값에 추종시키는 것이 요구되는 것이 아니라, 로봇의 복수보분의 기간마다, 대상물의 이동속도나 이동위치가 이동계획에 기초하는 목표값에 추종하고 있으면 충분한 경우가 많다. 또, 로봇의 1보마다, 다리체끼리의 간섭 등을 방지하기 위한 제약조건을 충족시키면서, 로봇을 이동계획에 기초하는 대상물의 목표 운동에 적합시키도록 목표 보용을 생성하는 것이 곤란하게 되는 경우이더라도, 로봇의 복수보분의 기간에서는, 이 제약조건을 충족시키면서, 이 기간의 종단시각까지 로봇을 이동계획에 기초하는 대상물의 운동에 적합하게 되도록 목표 보용을 생성하는 것이 가능하게 되는 경우가 많다. 예를 들면, 어떤 이동방향으로 대상물을 이동시키는 경우에 있어서, 1보째의 미착지다리측 다리체가 제약조건의 영향을 받기 어렵고, 이 미착지다리측 다리체를 당해 이동방향으로 비교적 먼 쪽으로 내딛는 것이 가능할 경우에는, 2보째의 미착지다리측 다리체가 제약조건의 영향을 받아, 내딛기량이 작은 범위로 한정되어 버리는 것과 같은 경우이어도, 1보째의 미착지다리측 다리체의 발을 내디디기량을 제약조건의 범위 내에서 크게 함으로써 적어도 2보째의 미착지다리측 다리체의 착지 예정시각에서 대상물을 이동계획에 기초하는 목표 위치까지 이동시키는 것이 가능하게 되는 경우가 많다.
이하에 설명하는 본 발명의 다리식 이동 로봇의 보용 생성 장치는 이러한 지견에 기초하여 구성된 것이다.
즉, 본 발명의 다리식 이동 로봇의 보용 생성 장치는, 상기의 목적을 달성하기 위하여, 상체로부터 연장하여 설치된 복수의 다리체를 구비하는 다리식 이동 로봇에 대상물을 이동시키는 작업을 행하게 하기 위한 목표 보용을 생성하는 보용 생성 장치에 있어서,
상기 로봇을 추종시키는 목표 보용을 새롭게 생성할 때, 적어도 대상물의 이동계획에 기초하여 이 로봇의 복수보분의 기간을 포함하는 장래의 소정 기간에서의 대상물의 제1 임시 목표 운동 궤도를 결정하는 장래 대상물 운동 임시 결정 수단과,
상기 대상물의 이동시의 이 대상물과 로봇 사이의 위치 자세 관계에 관한 소정의 요구가 적어도 로봇의 장래의 2 이상의 소정수의 보수째에서 충족되고, 또한, 이 로봇의 다리체의 운동에 관한 소정의 제약조건이 당해 소정수의 보수째까지의 각 보수마다 충족되는 것을 필요 요건으로 하여, 상기 결정된 제1 임시 목표 운동 궤도를 따라 이동하는 대상물에 대하여 이 필요 요건을 만족하는 로봇의 다리체의 운동이 가능한지 아닌지를 적어도 이 제1 임시 목표 운동 궤도와 이 필요 요건에 기초하여 판단하는 판단 수단을 구비하고,
상기 판단 수단의 판단 결과가 긍정적일 때에는, 상기 제1 임시 목표 운동 궤도를 따라 이동하는 대상물에 대하여 상기 필요 요건을 만족하도록 상기 로봇의 목표 보용을 생성하고, 상기 판단 수단의 판단 결과가 부정적일 때에는, 상기 이동계획을 수정함과 아울러, 적어도 그 수정 후의 이동계획에 기초하여 상기 소정 기간에서의 대상물의 제2 임시 목표 운동 궤도를 새롭게 결정하고, 이 제2 임시 목표 운동 궤도를 따라 이동하는 대상물에 대하여 상기 필요 요건을 만족하도록 상기 로봇의 목표 보용을 생성하도록 한 것을 특징으로 하는 것이다.
이러한 본 발명에 의하면, 상기 판단 수단의 판단 결과가 긍정적인 것은, 상기 대상물이 상기 결정된 제1 임시 목표 운동 궤도를 따라 이동하는 경우에, 이 대상물과 로봇 사이의 위치 자세 관계에 관한 소정의 요구가 적어도 로봇의 장래의 2 이상의 소정수의 보수째에서 충족되고, 또한, 이 로봇의 다리체의 운동에 관한 소정의 제약조건이 당해 소정수의 보수째까지의 각 보수마다 충족된다고 하는 상기 필요 요건을 만족하는 로봇의 다리체의 운동이 가능하다는 것을 의미한다. 따라서, 이 경우에는, 상기 제1 임시 목표 운동 궤도를 따라 이동하는 대상물에 대하여 상기 필요 요건을 만족하도록(보다 상세하게 말하면, 대상물이 제1 임시 목표 운동 궤도를 따라 이동한다고 가정한 경우에 있어서의 이 대상물에 대하여 상기 필요 요건을 만족하도록)로봇의 목표 보용을 생성한다. 이것에 의해, 적어도 상기 소정수의 보수째에서의 장래의 로봇의 위치 자세가, 상기 이동계획에 기초하는 제1 임시 목표 운동 궤도를 따라 이동하는 대상물의 위치 자세로 조정한 위치 자세(상기 소정의 요구를 충족시키는 위치 자세)가 되는 것과 같은 로봇의 목표 보용을 생성할 수 있게 된다. 또한, 이 경우, 이 목표 보용에 의해 정해지는 대상물의 운동 궤도(목표 보용대로 로봇을 동작시킨 경우에 있어서의 대상물의 운동 궤도)는 상기 소정수의 보수째까지의 중간의 순시 시각에서는, 상기 제1 임시 목표 운동 궤도에 일치한다고는 할 수 없다.
또, 상기 판단 수단의 판단 결과가 부정적인 것은 상기 대상물이 상기 결정된 제1 임시 목표 운동 궤도를 따라 이동한다고 가정한 경우에, 이 대상물과 로봇 사이의 위치 자세 관계에 관한 소정의 요구가 적어도 로봇의 장래의 2 이상의 소정수의 보수째에서 충족되고, 또한, 이 로봇의 다리체의 운동에 관한 소정의 제약조건이 당해 소정수의 보수째까지의 각 보수마다 충족된다고 하는 상기 필요 요건을 만족하는 로봇의 다리체의 운동이 불가능하다는 것을 의미한다. 즉, 이 경우에는, 상기 소정수의 보수째까지로 이동계획에 따라 대상물을 이동시키는 것과 같은 로봇의 목표 보용을 생성하는 것은 불가능하다. 그래서, 이 경우에는, 상기 이동계획을 수정함과 아울러, 적어도 그 수정 후의 이동계획에 기초하여 상기 소정 기간에서의 대상물의 제2 임시 목표 운동 궤도를 새롭게 결정하고, 그 새롭게 결정한 제2 임시 목표 운동 궤도를 따라 이동하는 대상물에 대하여 상기 필요 요건을 만족하는 것과 같이 상기 로봇의 목표 보용을 생성한다. 이것에 의해, 적어도 상기 소정수의 보수째에 있어서의 장래의 로봇의 위치 자세가 수정 후의 이동계획에 기초하는 제2 임시 목표 운동 궤도를 따라 이동하는 대상물의 위치 자세에 일치한 위치 자세(상기 소정의 요구를 충족시키는 위치 자세)로 되는 것과 같은 로봇의 목표 보용을 생성할 수 있게 된다. 또한, 이 경우에 생성되는 목표 보용에서도, 상기 소정수의 보수째까지의 중간의 순시 시각에서는, 이 목표 보용에 의해 정해지는 대상물의 운동 궤도가 상기 제2 임시 목표 운동 궤도에 일치할 필요는 없다.
본 발명은, 상기한 바와 같이 필요 요건을 정하여, 상기 판단 결과가 부정적으로 되는 경우에만, 대상물의 이동계획을 수정하므로, 대상물의 로봇에 대한 이동방향에 의하지 않아, 이동계획의 수정을 요하는 상황을 필요 최소한에 그치게 하여, 가능한 한, 이동계획에 입각한 대상물의 이동을 가능하게 하는 로봇의 목표 보용을 생성하는 것이 가능하게 된다.
또, 상기 소정의 요구로서는, 예를 들면 로봇의 상체와 대상물의 위치 자세 관계를 규정하는 요구, 또는 미착지다리측 다리체의 착지예정 위치 자세와 대상물과의 위치 자세 관계를 규정하는 요구 등이 있다. 또, 상기 소정의 제약조건으로서는, 로봇의 미착지다리측 다리체의 지지다리측 다리체에 대한 가동 범위의 조건이나, 이 미착지다리측 다리체의 관절의 동작 속도의 범위의 조건, ZMP의 존재 영역의 조건 등을 들 수 있다.
또, 이동계획을 수정하는 경우, 그 수정할 때마다, 수정 후의 이동계획에 기초하여 대상물의 임시 목표 운동 궤도를 결정하고, 이 임시 목표 운동 궤도와 상기 필요 요건에 기초하여 상기 판단 수단의 판단을 행하도록 해도 된다. 이 경우, 이 판단 수단의 판단 결과가 긍정적으로 될 때까지, 이동계획을 수정하고, 그 최종적인 수정 후의 이동계획에 기초하여 결정되는 대상물의 임시 목표 운동 궤도를 상기 제2 임시 목표 운동 궤도로서 사용하면 된다.
이러한 본 발명에서는, 상기 소정의 요구가 로봇의 미착지다리측 다리체의 착지예정 위치 자세와 상기 대상물의 위치 자세와의 관계를 규정하는 요구를 포함함과 아울러, 상기 소정의 제약조건이 로봇의 미착지다리측 다리체의 지지다리 다리체에 대한 상대적인 착지위치 자세를 규정하는 제약조건을 포함하는 경우에는, 상기 판단 수단은, 예를 들면 다음과 같이 상기 필요 요건을 만족하는 로봇의 다리체의 운동이 가능한지 아닌지를 판단하는 것이 바람직하다.
즉, 이 판단 수단은, 상기 결정된 대상물의 제1 임시 목표 운동 궤도와 상기 소정의 요구에 기초하여, 상기 소정수의 보수째까지의 각 보수째에서 이 요구를 만족하도록 상기 로봇의 미착지다리측 다리체의 제1 임시 착지예정 위치 자세를 이 소정수의 보수째까지 결정하는 수단과, 이 소정수의 보수째까지의 각 보수째에서의 이 제1 임시 착지예정 위치 자세를, 상기 소정의 제약조건에 의해 제한하여 이루어지는 제2 임시 착지예정 위치 자세를 결정하는 수단과, 상기 소정수의 보수째에서의 제1 임시 착지예정 위치 자세 및 제2 임시 착지예정 위치 자세가 서로 일치 혹은 거의 일치하고 있는지 아닌지를 판단하고, 일치하지 있지 않은 경우에는, 이 소정수의 보수째에서의 제1 임시 착지예정 위치 자세와 제2 임시 착지예정 위치 자세의 차분에 따라, 이 소정수의 보수째보다도 앞의 적어도 하나의 보수째에 있어서의 제2 임시 착지예정 위치 자세를 상기 소정의 제약조건을 충족시키는 범위 내에서 수정하는 수단을 구비하고, 당해 적어도 하나의 보수째의 수정에 의해, 상기 소정수의 보수째에서의 제2 임시 착지예정 위치 자세를, 상기 소정의 제약조건이 만족되는 범위 내에서, 이 소정수의 보수째에서의 제1 임시 착지예정 위치 자세에 일치 혹은 거의 일치하는 위치 자세로 수정가능한지 아닌지에 따라, 상기 필요 요건을 만족하는 로봇의 다리체의 운동이 가능한지 아닌지를 판단한다.
이것에 의하면, 상기 필요 요건을 만족하는 로봇의 다리체의 운동이 가능한지 아닌지를 용이하게 판단할 수 있다. 또한, 제1 임시 착지예정 위치 자세의 각각(이 소정수의 보수째까지의 각 보수째에서의 제1 임시 착지예정 위치 자세)을, 상기 소정의 제약조건에 의해 제한하여 이루어지는 제2 임시 착지예정 위치 자세를 결정할 때에는, 이 제1 임시 착지예정 위치 자세가 상기 소정의 제약조건을 충족시키는 경우에는, 이 제1 임시 착지예정 위치 자세를 제2 임시 착지예정 위치 자세로서 결정하면 된다. 또, 이 제1 임시 착지예정 위치 자세가 상기 소정의 제약조건을 충족시키지 않는 경우에는, 상기 소정수의 보수째까지의 각 보수마다 이 소정의 제약조건을 충족시키는 범위 내에서, 각 보수마다의 제2 임시 착지예정 위치 자세가 제1 임시 착지예정 위치 자세에 일치 혹은 가장 근접하게 되도록 이 제2 임시 착지예정 위치 자세를 결정하면 된다.
상기한 바와 같이 판단 수단을 구성한 경우에 있어서, 상기 판단 수단의 판단 결과가 긍정적이고, 또한, 상기 소정수의 보수째에서의 제1 임시 착지예정 위치 자세 및 제2 임시 착지예정 위치 자세가 서로 일치 혹은 거의 일치하고 있지 않을 때, 상기 소정수의 보수째보다도 앞의 적어도 하나의 보수째에 있어서의 미착지다리측 다리체의 착지위치 자세가 상기 제1 임시 착지예정 위치 자세와 상이하고, 또한, 상기 필요 요건을 만족하도록 이 소정수의 보수째까지의 각 보수째에 있어서의 미착지다리측 다리체의 착지예정 위치 자세를 새롭게 결정하는 수단을 구비하고, 그 새롭게 결정한 상기 소정수의 보수째까지의 미착지다리측 다리체의 착지예정 위치 자세에 따라 로봇의 목표 보용을 생성하는 것이 바람직하다.
즉, 상기 판단 수단의 판단 결과가 긍정적이고, 또한, 상기 소정수의 보수째에서의 제1 임시 착지예정 위치 자세 및 제2 임시 착지예정 위치 자세가 서로 일치 혹은 거의 일치하고 있지 않을 때에는, 상기 소정수의 보수째보다도 앞의 적어도 하나의 보수째에 있어서의 미착지다리측 다리체의 착지예정 위치 자세를, 제1 임시 착지예정 위치 자세와 상이하게 함으로써, 상기 필요 요건을 만족하도록 소정수의 보수째까지의 미착지다리측 다리체의 착지예정 위치 자세를 새롭게 결정할 수 있다. 따라서, 이 새롭게 결정한 착지예정 위치 자세에 따라 목표 보용을 생성함으로써 적어도 상기 소정수의 보수째에 있어서의 장래의 로봇의 위치 자세가, 상기 이동계획에 기초하는 제1 임시 목표 운동 궤도를 따라 이동하는 대상물의 위치 자세로 조정한 위치 자세(상기 소정의 요구를 충족시키는 위치 자세)로 되는 것과 같은 로봇의 목표 보용을 생성할 수 있다.
또, 상기한 바와 같이 판단 수단을 구성한 경우에 있어서, 상기 판단 수단의 판단 결과가 부정적일 때, 상기 소정의 제약조건을 충족시키는 범위 내에서, 상기 소정수의 보수째의 로봇의 미착지다리측 다리체의 착지예정 위치 자세를 이 소정수의 보수째에서의 상기 제1 임시 착지예정 위치 자세에 근접하도록 이 소정수의 보수째까지의 로봇의 미착지다리측 다리체의 제3 임시 착지예정 위치 자세를 결정하는 수단과,
그 결정한 제3 임시 착지예정 위치 자세에 대하여 상기 소정의 요구를 충족시키는 상기 대상물의 제1 예상 이동경로를 추정하는 수단과,
상기 제1 임시 착지예정 위치 자세에 대하여 상기 소정의 요구를 충족시키는 상기 대상물의 제2 예상 이동경로를 추정하는 수단과,
상기 제1 예상 이동경로에서 상기 대상물을 이동시켰다고 한 경우에 있어서의 제1 소정 기간에서의 이 대상물의 이동거리와, 이 제1 소정 기간의 시간과, 상기 제2 예상 이동경로에서 상기 대상물을 이동시켰다고 한 경우에 있어서의 제2 소정 기간에서의 이 대상물의 이동거리와, 이 제2 소정 기간의 시간에 기초하여 상기 이동계획에 있어서의 대상물의 속도 지령값을 수정하는 수단을 구비하는 것이 바람직하다.
이것에 의하면, 상기 제1 예상 이동경로에서 상기 대상물을 이동시켰다고 한 경우에 있어서의 제1 소정 기간에서의 이 대상물의 이동거리와, 이 제1 소정 기간의 시간과, 상기 제2 예상 이동경로에서 상기 대상물을 이동시켰다고 한 경우에 있어서의 제2 소정 기간에서의 이 대상물의 이동거리와, 이 제2 소정 기간의 시간에 기초하여 상기 이동계획에서의 대상물의 속도 지령값을 수정함으로써, 대상물의 이동계획을 적절하게 수정하는, 바꾸어 말하면, 그 수정 후의 이동계획에 기초하여 상기 필요 요건을 만족하는 목표 보용을 생성할 수 있도록 이 이동계획의 수정을 행하는 것이 가능하게 된다. 예를 들면, 상기 제1 소정 기간에서의 이 대상물의 이동거리와 이 제1 소정 기간의 시간(제1 소정 기간의 개시시부터 종료시까지의 시간)으로부터 대상물을 상기 제1 예상 이동경로로 이동시켰다고 한 경우에 있어서의 이 대상물의 평균 이동속도를 결정할 수 있고, 또, 상기 제2 소정 기간에서의 이 대상물의 이동거리와 이 제2 소정 기간의 시간(제2 소정 기간의 개시시부터 종료시까지의 시간)으로부터 대상물을 상기 제2 예상 이동경로로 이동시켰다고 한 경우에 있어서의 이 대상물의 평균 이동속도를 결정할 수 있다. 이 경우, 전자의 평균 이동속도는 상기 필요 요건을 만족하는 점에서 적합한 대상물의 평균 이동속도를 의미하고, 후자의 평균 이동속도는 상기 제1 임시 목표 운동 궤도를 따르는 대상물의 평균 이동속도를 의미한다. 따라서, 예를 들면 이들 평균 이동속도의 비율에 따라, 상기 이동계획에 있어서의 대상물의 속도 지령값을 수정함으로써, 이 이동계획의 수정을 적절하게 행하는 것이 가능하게 된다. 보다 구체적으로는, 예를 들면 후자의 평균 이동속도에 대한 전자의 평균 이동속도의 비율을 상기 이동계획에 있어서의 대상물의 속도 지령값에 곱함으로써, 이 이동계획을 수정하면 된다.
또한, 상기 제1 소정 기간 및 제2 소정 기간은 일치하고 있어도 되지만, 일치하고 있지 않아도 된다. 단, 이들 제1 소정 기간 및 제2 소정 기간은 그 종료 시각이 예를 들면 상기 소정수의 보수째의 미착지다리측 다리체의 착지 시각으로부터 다음 미착지다리측 다리체의 착지 시각까지의 기간 내의 시각인 것이 바람직하다. 또한, 제1 소정 기간은, 예를 들면 상기 소정수의 보수분의 기간(1보분의 기간의 소정수배의 기간)인 것이 바람직하다. 한편, 제2 소정 기간은, 예를 들면 새로운 목표 보용을 생성하려고 하고 있는 현재시각과, 상기 소정수의 보수째의 미착지다리측 다리체의 착지 시각으로부터 다음 미착지다리측 다리체의 착지 시각까지의 기간 내의 시각 사이의 기간 등, 1보분의 기간의 소정수배의 기간이 아니어도 된다.
이 경우, 상기 이동계획에서의 대상물의 속도 지령값을 수정하는 수단은 상기 제1 예상 이동경로의 방향이 상기 제2 예상 이동경로의 방향과 일치하지 않을 때, 상기 제1 소정 기간에서의 대상물의 이동거리 대신에, 이 제1 예상 이동경로를 제2 예상 이동경로의 방향에 투영하여 이루어지는 경로에서 대상물을 이동시켰다고 한 경우에 있어서의 상기 제1 소정 기간에서의 대상물의 이동거리를 사용하는 것이 바람직하다.
즉, 상기 대상물의 제1 임시 목표 운동 궤도가, 선회 운동 궤도와 같이, 대상물의 속도 벡터의 방향을 시간적으로 변화시키는 것과 같은 궤도일 경우(제1 임시 목표 운동 궤도에 의해 정해지는 대상물의 이동경로가 직선 모양이 아닌 경우)에는, 일반적으로, 상기 제3 임시 착지예정 위치 자세에 대하여 상기 소정의 요구를 충족시키는 대상물의 제1 예상 이동경로와, 상기 제1 임시 착지예정 위치 자세에 대하여 상기 소정의 요구를 충족시키는 대상물의 제2 예상 이동경로(제1 임시 목표 운동 궤도에 의해 정해지는 대상물의 이동경로에 따른 경로)와는 일치하지 않는다. 그리고, 이 경우, 상기 제1 예상 이동경로는 상기 소정수의 보수째에서는 제2 예상 이동경로에 근접하므로, 상기 제3 임시 착지예정 위치 자세에 대응하는 로봇의 다리체의 동작을 행해, 대상물을 이동시킨 경우에는, 로봇의 각 보수마다의 실제의 대상물의 이동경로의 방향은 제2 예상 이동경로의 방향으로 치우치기 쉽다. 따라서, 제1 예상 이동경로를 제2 예상 이동경로의 방향으로 투영하여 이루어지는 경로에서 대상물을 이동시켰다고 한 경우에 있어서의 상기 제1 소정 기간에서의 대상물의 이동거리는 상기 제3 임시 착지예정 위치 자세에 대응하는 로봇의 다리체의 동작을 행한 경우의 대상물의 실제의 이동거리의 추정값으로서의 신뢰성이 높다. 따라서, 이동계획에 있어서의 대상물의 속도 지령값을 수정할 때에, 상기 제1 소정 기간에서의 대상물의 이동거리 대신에, 이 제1 예상 이동경로를 제2 예상 이동경로의 방향으로 투영하여 이루어지는 경로에서 대상물을 이동시켰다고 한 경우에 있어서의 상기 제1 소정 기간에서의 대상물의 이동거리를 사용함으로써, 이동계획을 보다 적절하게 수정할 수 있다.
도 1은 본 발명의 실시형태에서의 다리식 이동 로봇으로서의 2족 이동 로봇의 개략 구성을 도시하는 도면.
도 2는 도 1의 로봇에 구비한 제어 유닛의 구성을 도시하는 블럭도.
도 3은 도 2의 제어 유닛의 주요부의 기능적 구성을 도시하는 블럭도.
도 4는 실시형태에서의 로봇과 대상물의 관계를 도시하는 도면.
도 5는 제1 실시형태에서의 보용 생성 장치의 연산처리를 나타내는 플로우차트.
도 6은 제1 실시형태에서의 보용 생성 장치의 연산처리를 나타내는 플로우차트.
도 7은 제1 실시형태에서의 보용 생성 장치의 연산처리를 나타내는 플로우차트.
도 8은 도 5의 S02에서 결정하는 이동계획의 예를 도시하는 도면.
도 9는 도 5의 S02의 처리를 도시하는 블럭도.
도 10(a)는 도 5의 S07에 따른 임시 목표 ZMP 궤도의 예를 도시하는 도면, 도 10(b)는 도 5의 S17에서 결정되는 ZMP 수정량의 예를 도시하는 도면, 도 10(c)는 S17에서 수정된 목표 ZMP 궤도의 예를 도시하는 도면.
도 11은 도 5의 S11에서 결정하는 족평 궤도 패러미터의 예를 도시하는 도면.
도 12(a)는 금회 보용의 대상물 상반력 모멘트 궤도의 예를 도시하는 도면, 도 12(b)는 도 5의 S11에서 결정하는 정상 보용의 대상물 반력 모멘트 궤도의 예를 도시하는 도면.
도 13은 실시형태에서 사용하는 로봇 동역학 모델의 예를 도시하는 도면.
도 14는 도 13의 로봇 동역학 모델을 사용하여 상체 위치를 구하는 처리를 도시하는 블럭도.
도 15(a), (b)는 도 5의 S21의 처리를 설명하기 위한 도면.
도 16은 도 6의 S23 및 S29의 처리를 설명하기 위한 도면.
도 17은 도 6의 S23 및 S29의 처리를 설명하기 위한 도면.
도 18은 도 6의 S23 및 S29의 처리를 설명하기 위한 도면.
도 19는 도 7의 S35의 처리를 도시하는 블럭도.
도 20(a), (b)는 도 5의 S01에서의 이동계획의 수정처리를 설명하기 위한 도면.
도 21은 도 3에 도시하는 대상물 반력 평형 제어장치의 처리를 도시하는 블럭도.
도 22는 본 발명의 제2 실시형태에서의 S03(도 5)의 처리를 도시하는 블럭도.
(발명을 실시하기 위한 최선의 형태)
이하, 첨부된 도면을 참조하여 본 발명의 실시형태에 따른 다리식 이동 로봇의 보용 생성 장치를 설명한다. 또한, 다리식 이동 로봇으로서는 2족 이동 로봇을 예로 든다.
도 1은 이 실시형태에 따른 다리식 이동 로봇으로서의 2족 이동 로봇을 전체적으로 도시하는 개략도이다.
도시하는 바와 같이, 2족 이동 로봇(이하, 로봇이라고 함)(1)은 상체(로봇(1)의 기체)(3)로부터 하방으로 연장하여 설치된 좌우 1쌍의 다리체(각부 링크)(2, 2)를 구비한다. 양다리체(2, 2)는 동일 구조이며, 각각 6개의 관절을 구비한다. 그 6개의 관절은 상체(3)측으로부터 차례로, 다리가랑이(허리부)의 회선(회전)용(상체(3)에 대한 요잉 방향의 회전용)의 관절(10R, 10L)(부호 R, L은 각각 우측 다리체, 좌측 다리체에 대응하는 것을 의미하는 부호이다. 이하 동일)과, 다리가랑이(허리부)의 롤링 방향(X축 주위)의 회전용의 관절(12R, 12L)과, 다리가랑이(허리부)의 피칭 방향(Y축 주위)의 회전용의 관절(14R, 14L)과, 무릎부의 피칭 방향의 회전용의 관절(16R, 16L)과, 발목의 피칭 방향의 회전용의 관절(18R, 18L)과, 발목의 롤링 방향의 회전용의 관절(20R, 20L)로 구성된다.
각 다리체(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)의 상부의 양측부에는 좌우 1쌍의 팔체(팔 링크)(5, 5)가 부착됨과 아울러, 상체(3)의 상단부에는 머리부(4)가 배치된다. 양팔체(5, 5)는 동일 구조이며, 각각 7개의 관절을 구비한다. 즉, 각 팔체(5)는 3개의 관절(30R(L), 32R(L), 34R(L))로 구성된 어깨관절과, 1개의 관절(36R(L))로 구성된 팔꿈치관절과, 3개의 관절(38R(L), 40R(L), 42R(L))로 구성된 손목관절과, 이 손목관절에 연결된 손끝부(핸드)(44R(L))를 구비하고 있다. 또한, 머리부(4)는 본 발명의 요지와 직접적인 관련을 갖지 않기 때문에 상세한 설명을 생략한다.
상기의 구성에 의해, 각 다리체(2)의 족평(22R(L))은 상체(3)에 대하여 6개의 자유도가 부여되어 있다. 그리고, 로봇(1)의 보행 등의 이동 중에, 양다리체(2, 2)를 합하여 6*2=12개(본 명세서에서 「*」는 스칼라에 대한 연산으로서는 승산을, 벡터에 대한 연산으로서는 외적을 나타냄)의 관절을 적당한 각도로 구동함으로써 양 족평(22R, 22L)의 원하는 운동을 행할 수 있다. 이것에 의해, 로봇(1)은 임의로 3차원 공간을 이동할 수 있다. 또, 각 팔체(5)는 상체(3)에 대하여 7개의 자유도가 부여되고, 양 팔체(5, 5)를 합하여 7*2=14개의 관절을 적당한 각도로 구동함으로써 후술하는 대차를 미는 등의 원하는 작업을 행할 수 있다.
도 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)에 출력한다. 이 6축력 센서(50)와 동일한 6축력 센서(52)가 각 팔체(5)의 손끝부(핸드)(44R(L))와 손목관절(38R(L), 40R(L), 42R(L)) 사이에 개재되어, 손끝부(44R(L))에 작용하는 외력의 병진력의 3방향 성분 및 모멘트의 3방향 성분의 검출신호가 이 6축력 센서(52)로부터 제어 유닛(60)에 출력된다. 또, 상체(3)에는, Z축(연직방향(중력방향))에 대한 상체(3)의 경사각 및 그 각속도, 및 Z축 주위의 상체(3)의 회전각(요잉각) 및 그 각속도를 검출하기 위한 자세 센서(54)가 구비되고, 그 검출신호가 이 자세 센서(54)로부터 제어 유닛(60)에 출력된다. 이 자세 센서(54)는 도시를 생략하는 3축방향의 가속도 센서 및 3축방향의 자이로 센서를 구비하고, 이들 센서의 검출신호가 상체(3)의 자세각(경사각 및 요잉각) 및 그 각속도를 검출하기 위하여 사용됨과 아울러, 로봇(1)의 자기위치 자세를 추정하기 위하여 사용된다. 또, 상세 구조의 도시는 생략하지만, 로봇(1)의 각 관절에는, 그것을 구동하기 위한 전동 모터(64)(도 2참조)와, 그 전동 모터(64)의 회전량(각 관절의 회전각)을 검출하기 위한 인코더(로터리 인코더)(65)(도 2참조)가 설치되고, 이 인코더(65)의 검출신호가 이 인코더(65)로부터 제어 유닛(60)에 출력된다.
또한, 도시는 생략하지만, 각 족평(22R(L))과 6축력 센서(50) 사이에는, 스프링 등의 탄성체가 개재되고, 또, 족평(22R(L))의 밑바닥면에는, 고무 등의 탄성체가 붙여져 있다. 이들 탄성체는 컴플라이언스 기구를 구성하는 것으로, 각 다리체(2)가 상반력을 받았을 때에 탄성변형하게 되어 있다.
도 2는 제어 유닛(60)의 구성을 도시하는 블럭도이다. 이 제어 유닛(60)은 마이크로컴퓨터에 의해 구성되어 있고, CPU로 이루어지는 제1 연산장치(90) 및 제2 연산장치(92), A/D 변환기(80), 카운터(86), D/A 변환기(96), RAM(84), ROM(94), 및 이것들 사이의 데이터 주고받기를 행하는 버스 라인(82)을 구비하고 있다. 이 제어 유닛(60)에서는, 각 다리체(2)의 6축력 센서(50), 각 팔체(5)의 6축력 센서(52), 자세 센서(54)(가속도 센서 및 레이트 자이로 센서) 등의 출력신호는 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)에 출력한다.
도 3은 본 명세서의 실시형태에 따른 다리식 이동 로봇의 제어장치의 기능적 구성을 전체적으로 도시하는 블럭도이다. 이 도 3 중의 파선으로 둘러싼 부분이 제어 유닛(60)이 실행하는 처리 기능(주로 제1 연산장치(90) 및 제2 연산장치(92)의 기능)에 의해 구성되는 것이다. 또한, 이하의 설명에서는, 다리체(2) 및 팔체(5)의 좌우를 특별히 구별할 필요가 없을 때는, 상기 부호 R, L을 생략한다.
이하 설명하면, 제어 유닛(60)의 기능적 구성은 보용 생성 장치(100), 대상물 반력 평형 제어장치(102), 다리 메인 제어장치(104) 및 팔 메인 제어장치(106)로 구성되어 있다. 본 명세서의 실시형태에서는, 보용 생성 장치(100)의 처리를 제외하고, 대상물 반력 평형 제어장치(102), 다리 메인 제어장치(104) 및 팔 메인 제어장치(106)의 처리는, 본원 출원인이 앞서 일본 특개 평10-230485호 공보에서 제안한 것과 동일하다. 따라서, 이하의 실시형태의 설명에서는, 보용 생성 장치(100)를 중심으로 설명하고, 대상물 반력 평형 제어장치(102), 다리 메인 제어장치(104) 및 팔 메인 제어장치(106)의 설명은 개략적인 설명에 그친다.
보용 생성 장치(100)는 로봇(1)의 목표 보용을 자유롭고 또한 실시간으로 생성하여 출력하는 것이다. 이 보용 생성 장치(100)가 출력하는 목표 보용은 목표 상체위치 자세 궤도(상체(3)의 목표 위치 및 목표 자세 궤도), 목표 족평위치 자세 궤도(각 족평(22)의 목표 위치 및 목표 자세 궤도), 목표 손끝위치 자세 궤도(각 팔체(5)의 손끝부(44)의 목표 위치 및 목표 자세 궤도), 목표 전체 상반력 중심점 궤도(전체 상반력 중심점의 목표 위치의 궤도), 목표 전체 상반력 궤도, 및 목표 대상물 반력 궤도로 구성된다. 또한, 다리체(2)나 팔체(5) 이외에 상체(3)에 대하여 가동인 부위를 구비하는 경우에는, 그 가동부위의 목표 위치자세 궤도가 목표 보용에 더해진다. 이하의 설명에서는, 오해를 일으킬 우려가 없는 경우에는, 종종 「목표」를 생략한다.
여기에서, 보용 생성 장치(100)가 생성하는 목표 보용에 관계되는 용어의 의미 및 정의에 대하여 설명해 둔다. 보용에서의 「궤도」는 시간적 변화의 패턴(시 계열 패턴)을 의미한다.
족평위치, 상체위치 등, 로봇(1)의 각 부위의 「위치」는 그 부위에 고정적으로 설정된 어떤 대표점의 위치를 의미한다. 예를 들면, 본 실시형태에서는, 각 족평(22)의 대표점은 그 족평(22)을 구비하는 다리체(2)의 발목관절의 중심으로부터, 이 족평(22)의 밑바닥면으로 연장시킨 수선이 이 밑바닥면과 교차하는 점이며, 그 대표점의 위치가 족평위치이다. 또한 「자세」는 공간적인 방향을 의미한다. 구체적으로는, 예를 들면 상체자세는 Z축(연직축)에 대한 롤링 방향(X축 주위)의 상체(3)의 경사각과 피칭 방향(Y축 주위)의 상체(3)의 경사각과 요잉 방향(Z축 주위)의 상체(3)의 회전각(요잉각)으로 표시되며, 족평 자세는 각 족평(22)에 고정적으로 설정된 2축의 공간적인 방위각으로 표시된다.
또한, 보용 중 상반력 및 대상물 반력에 관계되는 구성요소 이외의 구성요소, 즉 족평위치 자세, 상체위치 자세 등, 로봇(1)의 운동에 관계되는 보용을 총칭적으로 「운동」이라고 한다. 또, 운동의 궤도는 일정(시간적으로 변화되지 않음) 또는 거의 일정한 것이어도 된다. 예를 들면 로봇(1)이 그 양 족평(22, 22)을 착지시킨 상태로 유지하고, 이동하지 않는 상태에서는, 족평위치 자세 궤도는 일정하게 된다.
보용 중 대상물 반력은 로봇(1)에게 어떤 대상물을 이동하게 할 때에 이 대상물에 로봇(1)으로부터 작용시키는 힘의 반력(대상물로부터 로봇(1)에 작용하는 힘)을 의미한다. 본 명세서의 실시형태에서는, 예를 들면 도 4에 도시하는 바와 같이, 로봇(1)이 어떤 대상물(120)(도시의 예에서는 대차)의 소정의 부위에 양팔 체(5, 5)의 손끝부(44R, 44L)를 걸어맞추어지게 한 상태에서 보행동작을 행하면서 이 대상물(120)을 미는 작업을 행하는 경우를 예로 들어서 설명한다. 이 대상물(120)로부터 로봇(1)이 받는 힘이 대상물 반력이다. 대상물 반력은, 일반적으로는, 병진력 성분과 모멘트 성분으로 구성되는데, 본 명세서의 실시형태에서는, 대상물 반력은 로봇(1)에 대상물(120)로부터 작용하는 병진력을 의미하는 것으로 하고, 그 병진력에 의해 로봇(1)에 작용하는, 어떤 점 주위의 모멘트를 대상물 반력 모멘트라고 한다. 보충하면, 대상물 반력은 로봇(1)으로부터 대상물(120)에 작용시키는 힘의 부호(방향)를 반전시킨 것이므로, 로봇(1)으로부터 대상물(120)로의 작용력을 대상물 반력 대신에 사용해도 된다.
또한, 본 명세서에서는 대상물(120)의 운동에 관한 것으로, 대상물(120)의 위치는 로봇(1)의 족평위치 등과 동일하게, 대상물(120)에 고정적으로 설정된 대표점의 위치를 의미한다. 또한 대상물(120)의 자세는 로봇(1)의 족평 자세 등과 마찬가지로, 대상물(120)의 공간적인 방향을 의미한다. 그리고, 대상물(120)의 위치 자세를 총칭적으로 대상물 운동이라고 하는 경우가 있다.
또, 각 족평(22)에 작용하는 상반력(병진력 및 모멘트로 이루어지는 상반력)을 「각 족평 상반력」이라고 부르고, 로봇(1)의 모든(2개) 족평(22R, 22L)에 관한 「각 족평 상반력」의 합력을 「전체 상반력」이라고 한다. 단, 이하의 설명에서는, 각 족평 상반력은 대부분 언급하지 않으므로, 특별히 예고하지 않는 한, 「상반력」은 「전체 상반력」과 동의로서 취급한다.
목표 상반력은, 일반적으로는, 작용점과 그 점에 작용하는 병진력 및 모멘트 에 의해 표현된다. 작용점은 어디에 있어도 되므로, 동일한 목표 상반력이라도 무수한 표현을 생각할 수 있는데, 특히 목표 상반력 중심점(전체 상반력의 중심점의 목표 위치)을 작용점으로 하여 목표 상반력을 표현하면, 목표 상반력의 모멘트 성분은 연직성분(연직축(Z축) 주위의 모멘트)을 제외하고 0으로 된다. 바꾸어 말하면, 목표 상반력 중심점 주위의 목표 상반력의 모멘트의 수평성분(수평축(X축 및 Y축) 주위의 모멘트)은 0이 된다. 그래서, 본 명세서의 실시형태에서는, 목표 상반력 중심점을 목표 전체 상반력의 작용점으로 하여, 보용 생성 장치(100)로 생성하는 것으로 했다. 또한, 목표 상반력 중심점은 목표 전체 상반력의 작용점으로서의 의미를 갖는 것이기 때문에, 본질적으로는 목표 전체 상반력의 1개의 구성요소라고 할 수 있다. 단, 본 명세서의 실시형태에서는, 목표 상반력 중 목표 상반력 중심점이 로봇(1)의 동작 제어와 밀접하게 관련되므로, 도 3에서는, 목표 전체 상반력 중 작용점인 목표 상반력 중심점을 목표 전체 상반력과는 별도로 기재하는 것으로 했다.
또, 본 명세서에서는, ZMP(zero moment point)는 로봇의 운동에 의해 발생하는 관성력과 이 로봇에 작용하는 중력과 대상물 반력의 합력(또는 그 합력과 균형을 이루는 상반력)이 그 점 주위에 작용하는 모멘트가 연직성분을 제외하고 0이 되는 점의 의미로 사용한다. 동역학적 평형조건을 만족하는 보용에서는, 로봇의 목표 운동 궤도와 중력과 목표 대상물 반력으로부터 산출되는 ZMP와 목표 상반력 중심점은 일치한다. 본 명세서에서는, 많은 경우, 목표 상반력 중심점 대신에, 목표 ZMP라고 한다.
또, 본 명세서에서는, 목표 보용은 소정 기간분의 목표 운동과 목표 상반력(목표 ZMP를 포함함)과 목표 대상물 반력과의 세트를 의미하는 것으로 한다. 특히, 본 실시형태에서는, 목표 보용(간단히 보용이라고 칭한 경우를 포함함)은 예고하지 않는 한, 로봇(1)의 1보의 기간분의 목표 운동과 목표 상반력(목표 ZMP를 포함함)과 목표 대상물 반력과의 세트를 의미하는 것으로 한다. 이 경우, 목표 보용의 「1보」는 로봇(1)의 한쪽의 다리체(2)가 착지하고나서, 다른 한쪽의 다리체(2)가 착지할 때까지의 의미로 사용한다. 또한, 일련의 보용은 몇개의 보용(소정 기간분의 보용)이 연결된 것으로 한다. 또, 이후의 설명에서는, 1보의 기간분의 목표 보용을 단위 보용이라고 하는 경우가 있다.
또, 보용에서의 양다리 지지기란 로봇(1)이 그 자중을 양다리체(2, 2)로 지지하는 기간(양다리체(2, 2)가 지지다리가 되는 기간), 외다리 지지기란 어느 한쪽만의 다리체(2)로 로봇(1)의 자중을 지지하는 기간(한쪽만의 다리체(2)가 지지다리가 되는 기간)을 말한다. 본 실시형태에서의 목표 보용(단위 보용)은, 달리 말하면, 양다리 지지기의 개시시부터 다음 외다리 지지기의 종료시까지의 기간분의 목표 보용이다. 로봇(1)의 자중을 지지하는 다리체(2)를 지지다리라고 부른다. 양다리 지지기에서는, 양다리체(2, 2)가 지지다리가 되고, 외다리 지지기에서는 1개의 다리체(2)가 지지다리가 된다. 또, 외다리 지지기에서 로봇(1)의 자중을 지지하지 않는 쪽의 다리체(2)(지지다리가 아닌 다리체(2))를 미착지다리라고 부른다. 또한, 이후의 설명에서는, 특별히 예고하지 않는 한, 목표 보용에 있어서의 지지다리는 양다리 지지기의 개시시에 착지하는 다리체(2)(이 양다리 지지기에 이어지는 외다리 지지기에서 지지다리가 되는 다리체(2))를 의미하는 것으로 한다. 또, 지지다리측의 다리체(2)의 족평(22), 미착지다리측의 다리체(2)의 족평(22)을 각각 지지다리 족평(22), 미착지다리 족평(22)이라고 한다.
또, 보용 생성 장치(100)에 의해 새롭게 생성하려고 하고 있는 목표 보용(단위 보용), 또는 생성하고 있는 목표 보용(단위 보용)을 금회 보용이라고 부르고, 이 금회 보용의 1보전의 목표 보용을 전회 보용, 금회 보용의 다음 1보의 목표 보용을 다음회 보용, 또한 그 다음 1보의 목표 보용을 다음다음회 보용 등으로 부른다.
또한, 목표 보용은 글로벌 좌표계로서의 지지다리 좌표계로 기술된다. 본 실시형태에서는, 지지다리 좌표계는, 지지다리 족평(22)을 수평자세(보다 일반적으로는 바닥면에 평행한 자세)로 하여 이 지지다리 족평(22)의 밑바닥면의 거의 전체면을 바닥면에 접촉(밀착)시킨 상태에서, 이 지지다리의 발목관절(18, 20)의 중심으로부터 바닥면으로 연장시킨 수선이 이 바닥면과 교차하는 점(이 점은 본 명세서의 실시형태의 예에서는 지지다리 족평(22)의 밑바닥면의 거의 전체면을 바닥면에 접촉시킨 상태에서는, 이 족평(22)의 대표점과 합치함)을 원점으로 하고, 그 원점을 지나는 수평면을 XY 평면으로 하는 글로벌 좌표계(바닥에 고정된 좌표계)이다. 이 경우, X축방향, Y축방향은 각각 지지다리 족평(22)의 전후 방향, 좌우측 방향이다. 이후의 설명에서는, X축, Y축, Z축은 특별히 예고하지 않는 한, 이 지지다리 좌표계의 3축을 의미하는 것으로 한다. 또한, 지지다리 좌표계의 원점은, 반드시 지지다리 족평(22)의 밑바닥면의 거의 전체면을 바닥면에 접촉시킨 상태에서의 이 족평(22)의 대표점에 합치할 필요는 없고, 이 대표점과 다른 바닥면 상의 점에 설정되어도 된다.
이하에 본 발명의 제1 실시형태에 따른 보용 생성 장치(100)의 상세를 설명한다. 도 5∼도 7은 보용 생성 장치(100)의 처리를 도시하는 플로우차트이다.
보용 생성 장치(100)는 도 5∼도 7의 플로우차트에 나타내는 처리를 소정의 연산처리 주기로 차례차례 실행한다.
우선, S01에서, 대상물(120)의 이동계획이 결정된다. 여기에서 결정되는 이동계획은 적어도 현재시각으로부터 장래의 소정 기간분(로봇(1)의 복수보분)의 대상물(120)의 이동계획을 포함하고 있다. 이 이동계획은 기본적으로는 대상물(120)의 이동 요구(대상물(120)을 어떤 타이밍으로 어떻게 움직일 것인가라는 설계적인 요구)에 따라 결정되며, 이 대상물(120)의 위치자세 궤도(위치 및 자세의 시계열), 또는, 그 궤도를 규정하는 패러미터 혹은 함수식 등으로 구성된다. 예를 들면 대상물(120)의 이동 요구가 어떤 시각(t0)에서 X축방향으로 일정 속도로 대상물(120)을 이동시킨다고 하는 요구일 경우에는, 이동계획은 도 8의 그래프(g1)로 나타낸 바와 같이 결정된다. 그래프(g1)는 이동계획에 있어서의 대상물 위치(X축방향 위치)의 경시변화를 나타내고 있다. 이 경우, 예를 들면 현재시각 이후의 각 시각(어떤 일정 간격 시간 마다의 시각)에 있어서의 대상물(120)의 위치의 시계열을 이동계획으로서 결정해도 되지만, 시각(t0)과 그래프(g1)의 경사(대상물(120)의 이동속도)를 이동계획을 규정하는 요소(패러미터)로서 결정하거나, 또는 그래프(g1)의 함수식을 이동계획을 규정하는 요소(패러미터)로서 결정해도 된다. 또한, 이동 요 구는 보용 생성 장치(100)에 외부로부터 적당하게 주어지거나, 또는, 미리 제어 유닛(60)의 도시하지 않은 기억 수단에 기억 유지된다.
보충하면, S01에서 결정하는 이동계획은 반드시 이동 요구대로 결정되는 것은 아니며, 필요에 따라 적당하게 수정되는데, 이것에 대해서는 후술한다.
다음에 S03으로 진행되고, 상기한 바와 같이 S01에서 결정된 이동계획을 기초로, 대상물 동역학 모델을 사용하여 목표 대상물 운동 궤도(목표 대상물 위치자세 궤도)와, 목표 대상물 반력 궤도가 임시 결정된다.
여기에서, 이 S03의 처리와 이 처리에서 사용하는 대상물 동역학 모델을 도 9의 블럭도를 참조하여 설명한다. 도 9는 S03에서 목표 대상물 운동 궤도 중 목표 대상물 위치 궤도와, 목표 대상물 반력 궤도를 구하는 연산처리를 도시하는 블럭도이다. 이 블럭도 중의 파선으로 둘러싼 부분이 대상물(120)에 작용하는 힘과 대상물(120)의 운동의 관계를 나타내는 대상물 동역학 모델로 되어 있다. 또한, 본 실시형태에서는, 이해의 편의상, 대상물(120)을 거의 수평한 바닥 상에서 이동시키는 경우를 예로 들어 설명한다.
도 9에 도시하는 대상물 동역학 모델은 대상물(120)에 작용시키는 힘(보다 상세하게는 수평방향의 병진력)을 입력으로 하여, 대상물(120)의 위치를 출력하는 동역학 모델(순동역학 모델)이다. 보다 상세하게는, 이 대상물 동역학 모델은 대상물(120)에 작용시키는 수평방향의 병진력의 입력값(후술의 가산부(204)에서 구해지는 값)에, 대상물(120)의 질량(M)의 역수 1/M을 승산부(206)에서 승산함으로써 대상물(120)의 운동가속도를 구하고, 이것을 적분기(208, 210)에서 차례로 적분(2 중적분)함으로써 대상물(120)의 위치(대상물 동역학 모델 상에서의 위치)를 출력하는 것으로 되어 있다. 즉, 본 실시형태에서는, 도 9에 도시하는 대상물 동역학 모델은 대상물(120)에 작용하는 병진력이 대상물(120)의 가속도와 질량의 곱과 동일하다는 운동방정식을 기초로 구성되어 있다. 또한, 적분기(208)의 출력은 대상물 동역학 모델 상에서의 대상물(120)의 이동속도를 의미하고 있고, 이하, 이것을 대상물 모델 속도라고 한다.
이러한 대상물 동역학 모델을 사용하는 S03의 연산처리를 도 9를 참조하여 구체적으로 설명한다. 우선, 상기 S01에서 결정된 이동계획에 기초하는 대상물(120)의 순간순간의(각 시각의) 목표 속도인 목표 대상물 속도와, 적분기(208)에서 앞에서 구해진 대상물 모델 속도가 감산부(200)에 입력되고, 그것들의 편차(=목표 대상물 속도-대상물 모델 속도)가 구해진다. 여기에서, 목표 대상물 속도는 이동계획에서의 대상물(120)의 위치 궤도의 1차미분값으로서 얻어지는 값, 또는 이동계획의 구성요소이다. 또한, 상기 도 8에 도시한 이동계획의 예에서는, 그래프(g1)의 경사를 그대로 목표 대상물 속도로 하면 되고, 이 경우에는, 목표 대상물 속도는 계속적으로 일정값으로 된다. 그리고, 현재시각으로부터 장래의 소정 기간분(로봇(1)의 복수보분)의 목표 대상물 속도의 시계열이 감산부(200)에 차례로 입력된다. 또, 감산부(200)에 입력되는 대상물 모델 속도는 새롭게 입력하는 목표 대상물 속도의 1개 전의 목표 대상물 속도를 감산부(200)에 입력했을 때에 적분기(208)로부터 출력된 값이다.
이어서, 상기 편차에 소정의 게인(Kv)을 승산부(202)에서 승산함으로써, 대 상물(120)에 로봇(1)으로부터 작용시킬 병진력의 요구값이 구해진다. 즉, 본 실시형태에서는, 이 병진력의 요구값은 이동계획에 있어서의 대상물 목표 속도와 대상물 모델 속도의 편차가 0에 수렴하도록(대상물 모델 속도가 대상물 목표 속도에 추종하도록), 피드백 제어칙에 의해 결정된다. 그 피드백 제어칙으로서는 이 예에서는 비례제어칙이 사용된다. 그리고, 구해진 병진력의 요구값의 부호를 반전시킨 것의 시계열이 목표 대상물 반력 궤도로서 출력된다.
또, 구해진 병진력의 요구값과, 실제 대상물(120)에 로봇(1) 이외로부터 작용하는 외란력(바닥으로부터 대상물(120)에 작용하는 마찰력 등)의 추정값인 추정 외란력이 가산부(204)에 입력되고, 이 병진력의 요구값과 추정 외란력의 합이, 상기 대상물 동역학 모델에 대한 병진력의 입력값으로서 가산부(204)에 의해 구해진다. 여기에서, 추정 외란력은 보용 생성 장치(100)의 연산처리 주기마다 후술의 S35의 처리에서 구해지는 것이다. 가산부(120)에 입력하는 추정 외란력으로서는 보용 생성 장치(100)의 전회의 연산처리 주기에서 구해진 값(전회값)이 사용된다. 그리고, 이렇게 구한 병진력의 입력값을 대상물 동역학 모델에 입력함으로써, 상기한 바와 같이 대상물(120)의 위치가 구해지고, 이 구해진 위치의 시계열이 적분기(210)로부터 목표 대상물 위치 궤도로서 출력된다.
또한, 대상물 동역학 모델의 적분기(208)의 출력의 초기값은 보용 생성 장치(100)의 전회의 연산처리 주기에서 S03의 처리를 실행해 구한 대상물 모델 속도의 시계열 중, 전회의 연산처리 주기에 대응하는 시각에서의 값으로 설정된다. 또, 적분기(210)의 출력의 초기값은 보용 생성 장치(100)의 전회의 연산처리 주기 에서 S03의 처리를 실행해 구한 목표 대상물 위치의 시계열 중, 전회의 연산처리 주기에 대응하는 시각에서의 값으로 설정된다.
또, 목표 대상물 운동 궤도 중 목표 대상물 자세 궤도는, 예를 들면 목표 대상물 속도의 방향에 거의 일치하도록 결정된다.
보충하면, 이동계획 및 추정 외란력이 일정하게 유지되고 있는 한, 목표 대상물 운동 궤도나 목표 대상물 반력 궤도는 일정하게 되므로, S03의 처리는 반드시 보용 생성 장치(100)의 연산처리 주기마다 행할 필요는 없다. 따라서, 예를 들면, S03의 처리는 로봇(1)의 1보마다 또는 보용 생성 장치(100)의 연산처리 주기의 복수 주기마다 행하거나, S01에서 이동계획을 변경한 경우나, 추정 외란력이 비교적 크게 변화된 경우에 행하는 것으로 해도 된다.
이상에서 설명한 S03의 처리에 의해, 현재시각으로부터 장래의 소정 기간분의 목표 대상물 운동 궤도와 목표 대상물 반력 궤도가 임시 결정된다.
또한, 이 S03의 처리는 본 발명의 제1 발명에서의 장래 대상물 운동 임시 결정 수단에 상당하고, 여기에서, 결정되는 목표 대상물 운동 궤도가 제1 임시 목표 운동 궤도에 상당한다.
이어서, S05로 진행되고, 상기한 바와 같이 임시 결정된 목표 대상물 운동 궤도를 기초로, 로봇(1)의 미착지다리 족평(22)의 착지예정 위치 자세 및 착지 예정시각이 임시 결정된다. 여기에서 임시 결정하는 착지예정 위치 자세 및 착지 예정시각은, 현재, 작성하려고 하고 있는 목표 보용인 금회 보용에서의 미착지다리 족평(22)의 착지예정 위치 자세 및 착지 예정시각을 포함하는, 로봇(1)의 복수보 분(적어도 2보분)의 미착지다리 족평(22)의 착지예정 위치 자세 및 착지 예정시각이다. 즉, 임시 결정하는 착지예정 위치 자세 및 착지 예정시각은 적어도 금회 보용의 미착지다리 족평(22)의 착지예정 위치 자세 및 착지 예정시각과, 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세 및 착지 예정시각을 포함한다. 이 경우, 미착지다리 족평(22)의 착지 예정시각은 보용 주기(단위 보용 기간의 시간의 설정값)를 기초로 결정된다. 예를 들면, 금회 보용의 미착지다리 족평(22)의 착지 예정시각은 금회 보용의 개시 시각에 보용 주기를 더한 시각으로 결정된다. 또, 미착지다리 족평(22)의 착지예정 위치 자세는 그 착지 예정시각으로부터 다음 미착지다리 족평(22)의 착지 예정시각까지의 기간 내(즉, 이 미착지다리 족평(22)을 착지시킨 후의 1보의 기간 내)에서의 로봇(1)과 대상물(120) 사이의 위치 자세 관계가 소정의 요구를 만족하도록 임시 결정된다. 이 요구는 본 발명에서의 소정의 요구에 상당한다.
여기에서, 각 단위 보용의 기간에 있어서, 로봇(1)과 대상물(120) 사이의 위치 자세 관계는, 예를 들면 대상물(120)과 로봇(1)의 상체(3)의 간격을 적절하게 유지하여, 이 대상물(120)에 손끝부(44)를 걸어맞추어지게 하는 팔체(5, 5)가 완전히 펴지거나, 로봇(1)의 상체(3)가 대상물(120)에 지나치게 접근하거나 하지 않는 것이 요구된다. 한편, 각 단위 보용의 기간에서, 그 개시시부터 보용 주기의 절반 정도의 시간(즉 거의 반보분의 시간)이 경과했을 때에 지지다리 족평(22)의 거의 바로 위에 상체(3)가 위치한다. 또, 이 단위 보용의 기간에서의 지지다리 족평(22)의 위치는 1개 전의 보용에서의 미착지다리 족평(22)의 착지위치에 대응하여 정해진다.
그래서, 본 실시형태에서는, 상기의 요구를 미착지다리 족평(22)의 착지예정 위치 자세와, 그 착지 예정시각으로부터 보용 주기의 절반 정도의 시간(반보분의 시간)이 경과한 시각에서의 대상물(120)의 위치 자세 사이의 상대적인 위치 자세 관계를 규정하는 것으로 하여, S05에서는, 그 요구(이하, 대상물·로봇 간 위치 자세 요구라고 함)를 만족하도록 미착지다리 족평(22)의 착지예정 위치 자세를 결정하도록 했다.
본 실시형태에서는, 상기 대상물·로봇 간 위치 자세 요구에는, 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 기간의 경과시에 있어서의 대상물(120)의 위치 자세에 대한 이 미착지다리 족평(22)의 상대적인 착지위치 자세의 허용 범위가 포함되고, 이 허용 범위 내에서, 금회 보용 및 다음회 보용을 포함하는 복수보분의 미착지다리 족평(22)의 착지예정 위치 자세가 임시 결정된다. 예를 들면 미착지다리 족평(22)의 착지예정 위치가 착지 예정시각으로부터 반보분의 기간의 경과시에 있어서의 대상물(120)의 소정의 부위(예를 들면 로봇(1)의 손끝부(44)의 걸어맞춤 부분)로부터, 이 대상물(120)의 전후 방향에서 이 대상물(120)의 앞쪽으로 소정 거리만큼 떨어진 위치가 되고, 또한, 이 미착지다리 족평(22)의 전후 방향이 착지 예정시각으로부터 반보분의 기간의 경과시에 있어서의 대상물(120)의 전후 방향, 혹은, 대상물(120)의 속도 벡터의 방향과 일치하도록, 미착지다리 족평(22)의 착지 예정자세가 결정된다. 또한, 이 경우, 대상물(120)의 폭방향에서의 미착지다리 족평(22)의 착지예정 위치에 대해서는, 미착지다리 족 평(22)이 우측의 족평(22R)일 때의 착지예정 위치와, 좌측의 족평(22L)일 때의 착지예정 위치가 각각 대상물(120)의 폭방향의 중심으로부터 우측, 좌측으로 소정의 오프셋을 발생하도록 결정된다. 단, 미착지다리 족평(22)이 우측 족평(22R)인지, 좌측 족평(22L)인지에 좌우되지 않고, 대상물(120)의 폭방향에 있어서의 착지예정 위치를 동일하도록(예를 들면 이 착지예정 위치를 대상물(120)의 폭방향의 중심위치에 일치시키도록) 해도 된다.
또한, S05의 처리에서 상기 대상물·로봇 간 위치 자세 요구에 따라 미착지다리 족평(22)의 착지예정 위치를 결정하는 것은 로봇(1)의 손끝부(44)를 대상물(120)에 걸어맞추어지게 하여, 이 로봇(1)에 의한 대상물(120)의 이동을 행하는 기간에 있어서이다. 그 이외의 기간에서의 미착지다리 족평(22)의 착지예정 위치 자세는 상기 대상물·로봇간 위치 자세 요구와는 다른 요구에 따라 결정된다. 예를 들면, 로봇(1)을 대상물(120)로부터 떨어진 위치로부터 대상물(120)을 향하여 이동시키고, 그 후에 이 대상물(120)의 이동을 개시하는 경우에는, 대상물(120)의 이동을 개시할 시각까지, 로봇(1)을 대상물(120)의 앞쪽의 위치(로봇(1)의 손끝부(44)를 대상물(120)에 걸어맞추어지게 하기 위한 위치)까지 이동시키도록 로봇(1)의 미착지다리 족평(22)의 착지예정 위치 자세 및 착지 예정시각이 결정된다.
보충하면, 미착지다리 족평(22)의 착지예정 위치 자세는, 보다 상세하게는, 미착지다리 족평(22)의 발뒤꿈치를 착지하고나서, 이 미착지다리 족평(22)을 바닥에 접촉시킨 채, 미끄러지지 않도록 피칭 방향으로 회전시켜 이 미착지다리 족 평(22)의 밑바닥면의 거의 전체면을 바닥면에 접촉시킨 상태에서의 이 미착지다리 족평(22)의 위치 자세이다. 따라서, 본 실시형태에서는, 미착지다리 족평(22R 또는 22L)의 착지예정 위치 자세는 그 착지시부터 다음 미착지다리 족평(22L 또는 22R)의 착지까지의 단위 보용에서의 지지다리 좌표계의 위치 자세를 규정하는 것으로 되고, 미착지다리 족평(22)의 착지예정 위치 자세를 결정함으로써 그것에 대응하여, 상기한 지지다리 좌표계의 설정 수법에 따라 각 단위 보용에서의 지지다리 좌표계의 위치 자세가 결정되는 것으로 된다. 구체적으로는, 각 단위 보용에서의 지지다리 좌표계는 이 단위 보용의 하나 전의 단위 보용의 미착지다리 족평(22)을 그 착지예정 위치 자세에 합치시킨 상태에서, 이 족평(22)을 갖는 다리체(2)의 발목관절의 중심으로부터 바닥면으로 연장시킨 수선이 이 바닥면과 교차하는 점을 원점으로 하는 좌표계가 된다.
또, S05의 처리에서 임시 결정되는 미착지다리 족평(22)의 착지예정 위치 자세는 본 발명에서의 제1 임시 착지예정 위치 자세에 상당한다.
이어서, S07로 진행되고, 금회 보용의 목표 ZMP 궤도를 규정하는 ZMP 궤도 패러미터가 임시 결정된다. 여기에서 임시 결정되는 ZMP 궤도 패러미터는 그것에 의해 규정되는 금회 보용의 목표 ZMP(이하, 임시 목표 ZMP라고 함)가 S05에서 임시 결정된 착지예정 위치 자세 및 착지 예정시각에 의해 정해지는, 금회 보용에서의 지지다리 족평(22)의 접지면(양다리 지지기에서는, 양 족평(22)의 접지면을 포함하는, 소위 지지다각형)의 거의 중앙 부근에 존재하고, 또한, 급격한 변화를 하지 않도록 결정된다. 즉, 금회 보용의 임시 목표 ZMP가 로봇(1)의 접지면 내(또는 지지 다각형 내)의 로봇(1)의 안정 여유가 가능한 한 높아지는 것과 같은 위치에 존재하고, 또한, 급격한 변화를 하지 않도록 ZMP 궤도 패러미터가 결정된다. 이러한 지침으로 결정되는 임시 목표 ZMP는, 예를 들면 도 10(a)에서 도시하는 바와 같은 패턴의 것으로 된다. 또한, 도 10(a)는 임시 목표 ZMP의 X축방향 위치의 패턴을 나타내고 있다. 이 예의 경우에는, 임시 목표 ZMP 패턴(궤도)의 꺾임점의 위치 및 시각이 ZMP 궤도 패러미터로서 임시 결정된다.
이어서, S09로 진행되고, 현재 임시 결정되어 있는 목표 대상물 운동 궤도와 목표 대상물 반력 궤도를 기초로, 현재 임시 결정되어 있는 ZMP 궤도 패러미터에 의해 정해지는 임시 목표 ZMP 주위의 대상물 반력 모멘트 궤도(대상물 반력 모멘트의 순시값의 시계열)이 산출된다. 보다 구체적으로는, 우선, 목표 대상물 운동 궤도를 기초로, 로봇(1)의 양팔체(5, 5)의 손끝부(44R, 44L)를 걸어맞추어지게 할 대상물(120) 부위의 운동 궤도(위치자세 궤도)가 결정된다. 이 부위의 위치 자세는 대상물(120)의 위치 자세에 대하여 소정의 위치 자세 관계를 갖는 것으로 된다. 그리고, 그 부위의 운동 궤도(위치자세 궤도)에 합치하도록, 로봇(1)의 손끝위치 자세 궤도(이것은 로봇(1)에 대한 대상물 반력의 작용점의 궤도를 규정함)가 구해진다. 이어서, 이 구한 손끝위치 자세 궤도와 목표 대상물 반력 궤도와 임시 목표 ZMP 궤도로부터 각 시각(어떤 일정 간격 시간마다의 시각)의 임시 목표 ZMP 주위의 대상물 반력 모멘트가 산출된다. 그리고, 그 산출된 대상물 반력 모멘트의 시계열이 대상물 반력 모멘트 궤도로서 얻어진다. 또한, 대상물(120)로부터 벗어난 장소로부터 로봇(1)을 대상물(120) 가까이 이동시키고, 그 후에 손끝부(44R, 44L)를 대 상물(120)에 걸어맞추어지게 하여 이 대상물(120)을 미는 작업을 개시하는 경우에는, 대상물(120)을 손끝부(44R, 44L)를 걸어맞추어지게 하는 시각(이 시각은 적당하게 결정됨)까지의 대상물 반력 궤도, 나아가서는, 대상물 반력 모멘트 궤도는 0으로 된다.
이어서, S11로 진행되고, 금회 보용에 계속되는 주기적 보용으로서의 정상 선회 보용의 보용 패러미터가 결정된다. 이 보용 패러미터는 정상 선회 보용에서의 족평위치 자세 궤도를 규정하는 족평 궤도 패러미터, 목표 ZMP 궤도를 규정하는 ZMP 궤도 패러미터, 목표 대상물 반력 모멘트 궤도를 규정하는 대상물 반력 궤도 패러미터를 포함한다.
이들 보용 패러미터를 구체적으로 설명하기 전에, 정상 선회 보용의 개요를 설명해 둔다. 또한, 이후의 설명에서는, 보용의 「초기」, 「종단」은 각각 보용의 개시 시각, 종료 시각 혹은 그들 시각에 있어서의 순시 보용을 의미한다.
정상 선회 보용은 그 보용을 반복했을 때에 보용의 경계(본 실시형태에서는 1보마다의 보용의 경계)에서 로봇(1)의 운동상태(족평위치 자세, 상체위치 자세 등의 상태)에 불연속이 생기지 않는 것과 같은 주기적 보용을 의미한다.
주기적 보용인 정상 선회 보용은 본 실시형태에서는, 로봇(1)의 2보분의 보용, 즉 금회 보용에 이어지는 제1 선회 보용과 이 제1 선회 보용에 이어지는 제2 선회 보용으로 이루어지는 보용을 이 정상 선회 보용의 1주기분의 보용으로 하여, 그 1주기분의 보용을 반복하는 보용이다. 또한, 여기에서 「선회」란 용어를 사용한 것은 선회율을 0으로 할 때는 직진을 의미하므로, 직진도 광의의 의미에서 선회 에 포함시킬 수 있기 때문이다. 이후, 정상 선회 보용을 정상 보용으로 약칭하는 경우도 있다.
정상 보용에 대하여 보충하면, 로봇(1)으로서의 2족 이동 로봇에서는, 정상 보용의 1주기분은 적어도 2보분의 보용(연속하는 2개의 단위 보용)으로 구성된다. 또한, 3보 이상의 보용을 1주기분의 보용으로 하는 복잡한 정상 보용을 설정하는 것도 가능하다. 단, 정상 보용은, 후술과 같이, 금회 보용의 종단에서의 발산성분(상세한 것은 후술함)을 결정하기 위해서만 사용된다. 이 때문에, 3보 이상의 보용을 1주기로 하는 정상 보용을 사용하는 것은 보용 생성의 처리가 번잡하게 됨에도 불구하고, 효과는 적다. 그래서, 본 실시형태에서의 정상 보용의 1주기분의 보용을 2보분의 보용(제1 및 제2 선회 보용)에 의해 구성하도록 하고 있다. 이하의 정상 보용의 설명에서는, 설명의 편의상, 2보분의 보용으로 이루어지는 정상 보용을 1보의 보용으로 간주한다. 정상 보용은 보용 생성 장치(100)에서 금회 보용의 종단에서의 발산성분을 결정하기 위해서 잠정적으로(보용 생성 장치(100)의 연산처리 상에서) 상정되는 가상 보용이며, 보용 생성 장치(100)로부터 그대로 출력되는 것은 아니다.
또한, 「발산」이란 2족 이동 로봇(1)의 상체(3)의 수평위치가 양 족평(22, 22)의 위치로부터 멀리 떨어진 위치로 벗어나 버리는 것을 의미한다. 발산성분의 값이란 2족 이동 로봇(1)의 상체(3)의 수평위치가 양 족평(22, 22)의 위치(보다 구체적으로는, 지지다리 족평(22)의 접지면에 설정된 지지다리 좌표계의 원점)로부터 멀리 떨어져 가는 상태를 나타내는 수치이다.
본 실시형태에서는, 목표 보용이 상기 발산을 일으키지 않고, 계속적으로 생성되도록, 발산성분을 지표로 하여 보용을 생성한다. 즉, 금회 보용의 후에 이어지는 정상 보용의 초기 발산성분을 결정하고나서, 금회 보용의 종단 발산성분을 정상 보용의 초기 발산성분에 일치시키(보다 일반적으로는 금회 보용의 상체위치 자세를 정상 보용의 상체위치 자세에 결속시키)도록, 금회 보용을 생성한다(금회 보용을 규정하는 보용 패러미터를 결정한다). 그리고, 정상 보용의 초기 발산성분은 S11에서 결정한 보용 패러미터를 기초로, 이 정상 보용의 초기(제1 선회 보용의 초기)와 종단(제2 선회 보용의 종단)에서 로봇(1)의 운동상태가 일치한다고 하는 정상 보용의 조건(이하, 이것을 정상 보용의 경계 조건이라고 함)을 로봇(1)의 동역학 모델 상에서 충족시키도록 결정된다. 이러한 보용 생성의 기본적인 지침은 본출원인이 앞서 제안한 PCT 국제공개 공보 WO/02/40224 A1의 것과 동일하다. 따라서, 이하의 정상 보용에 관한 설명에서는, PCT 국제공개 공보 WO/02/4022 4A1의 기재사항과 상이한 기술사항을 주체로 설명하고, 동일한 기술사항에 대해서는 상세한 설명을 생략하는 경우가 있다.
S11의 설명으로 되돌아와, 정상 보용의 보용 패러미터 중 족평 궤도 패러미터는 제1 선회 보용 및 제2 선회 보용의 초기 및 종단의 각각에 있어서의 지지다리 족평(22) 및 미착지다리 족평(22)의 각각의 위치 자세, 각 선회 보용의 보용 주기 등으로 구성되고, 금회 보용, 제1 선회 보용, 제2 선회 보용의 순으로, 족평위치 자세 궤도가 이어지도록 결정된다. 이하에 구체적인 설정 방법을 도 11을 참조하여 설명한다.
제1 선회 보용 초기 미착지다리 족평위치 자세는 다음회 보용의 지지다리 좌표계에서 본 금회 보용 종단 지지다리 족평위치 자세로 한다. 이 금회 보용 종단 지지다리 족평위치 자세는 금회 보용 초기의 지지다리 족평(22)을 바닥에 접촉시킨 채, 미끄러지지 않도록 이 지지다리 족평(22)을 그 밑바닥면의 거의 전면이 바닥에 접촉할 때까지 피칭 방향으로 회전시켰을 때의 이 지지다리 족평(22)의 위치 자세(이것은 전회 보용의 미착지다리 족평(22)의 착지예정 위치 자세에 일치함)이다. 또한, 다음회 보용 지지다리 좌표계의 위치 자세는, 도 11에 도시하는 바와 같이, 금회 보용의 미착지다리 족평(22)의 착지예정 위치 자세에 대응하여 결정된다.
제1 선회 보용 초기 지지다리 족평위치 자세는 다음회 보용 지지다리 좌표계로부터 본 금회 보용 종단 미착지다리 족평 위치 자세로 한다. 이 금회 보용 종단 미착지다리 족평 위치 자세는, 금회 보용의 미착지다리 족평(22)의 착지예정 위치 자세(또는 이것에 대응하여 정해지는 다음회 보용 지지다리 좌표계)에 대응한 위치 자세에 결정된다. 구체적으로는, 금회 보용의 미착지다리 족평(22)을 금회 보용 종단 미착지다리 족평 위치 자세로부터 바닥에 접촉시킨 채, 미끄러지지 않도록 피칭 방향으로 소정 각도, 회전시켰을 때의 위치 자세가 금회 보용의 미착지다리 족평(22)의 착지예정 위치 자세가 되도록 금회 보용 종단 미착지다리 족평 위치 자세가 결정된다.
제1 선회 보용 종단 미착지다리 족평위치 자세는 다음회 보용 지지다리 좌표계로부터 본 다음회 보용 종단 미착지다리 족평위치 자세로 한다. 이 다음회 보용 종단 미착지다리 족평위치 자세는 금회 보용 종단 미착지다리 족평 위치 자세의 결 정 수법과 마찬가지로, 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세(또는 이것에 대응하여 정해지는 다음다음회 보용 지지다리 좌표계)에 대응한 위치 자세로 결정된다.
제1 선회 보용 종단 지지다리 족평위치 자세는 다음회 보용 지지다리 좌표계에 위치 자세를 합치시킨 지지다리 족평(22)을 바닥에 접촉시킨 채, 미끄러지지 않도록 이 지지다리 족평(22)을 그 밑바닥면의 거의 전체면이 바닥에 접촉할 때까지 피칭 방향으로 회전시켰을 때의 이 지지다리 족평(22)의 위치 자세(이 위치 자세는 금회 보용의 미착지다리 족평(22)의 착지예정 위치 자세에 일치함)로 한다.
제2 선회 보용 초기 미착지다리 족평위치 자세는 다음다음회 보용 지지다리 좌표계에서 본 제1 선회 보용 종단 지지다리 족평위치 자세로 한다. 제2 선회 보용 초기 지지다리 족평위치 자세는 다음다음회 보용 지지다리 좌표계에서 본 제1 선회 보용 종단 미착지다리 족평위치 자세로 한다.
제2 선회 보용 종단 미착지다리 족평위치 자세는 그것을 다음다음회 보용 지지다리 좌표계에서 본 위치 자세가 금회 보용 지지다리 좌표계에서 본 금회 보용 종단 미착지다리 족평 위치 자세에 일치하도록 결정된다. 제2 선회 보용 종단 지지다리 족평위치 자세는 그것을 다음다음회 보용 지지다리 좌표계에서 본 위치 자세가 금회 보용 지지다리 좌표계에서 본 금회 보용 종단 지지다리 족평위치 자세에 일치하도록 결정된다.
제1 선회 보용 및 제2 선회 보용의 보용 주기는 다음회 보용 주기(이것은 금회 보용의 미착지다리 족평(22)의 착지 예정시각과 다음회 보용의 미착지다리 족 평(22)의 착지 예정시각과의 차임)와 동일하게 설정된다. 이들 제1 선회 보용 및 제2 선회 보용의 보용 주기는 서로 동일하게 하는 것은 반드시 필요한 것은 아니지만, 어느 주기도, 적어도 다음회 보용 주기에 따라 결정하는 것이 바람직하다. 또한, 금회 보용, 제1 선회 보용 및 제2 선회 보용의 상기 이외의 운동 패러미터(양다리 지지기 시간 등의 시간 패러미터를 포함함)는, 상기 결정된 패러미터에 따라, 보용의 조건(액추에이터의 속도가 허용 범위에 들어 있는지, 가동각을 초과하고 있지 않은지, 바닥 등과 간섭하고 있지 않은지 등)을 만족하도록 적당하게 결정한다.
정상 보용의 보용 패러미터 중 ZMP 궤도 패러미터는 상기 S07에서 목표 ZMP 궤도 패러미터를 임시 결정한 경우와 동일하게, 이 ZMP 궤도 패러미터에 의해 규정되는 ZMP 궤도가 로봇(1)의 안정 여유가 높아지고, 또한, 급격한 변화를 하지 않도록 결정된다.
또, 정상 보용의 대상물 반력 모멘트 궤도 패러미터는 S09에서 산출된 대상물 반력 모멘트 궤도를 기초로, 주기성의 조건을 만족하도록 결정된다. 예를 들면, 금회 보용, 다음회 보용 및 다음다음회 보용에 대응하는 대상물 반력 모멘트 궤도가 도 12(a)에 도시하는 바와 같이 되어 있는 것으로 한다. 여기에서, 금회 보용의 대상물 반력 모멘트 궤도는 S09에서 구해진 궤도이다. 다음회 보용의 대상물 반력 모멘트 궤도는 S03에서 구한 다음회 보용의 대상물 반력 궤도 및 목표 대상물 운동 궤도와, 정상 선회 보용의 ZMP 궤도 패러미터에 의해 규정되는 ZMP 궤도를 기초로 S09와 마찬가지로 산출되는 궤도이다. 다음다음회 보용의 대상물 반력 모멘트 궤도는 S03에서 구한 다음다음회 보용의 대상물 반력 궤도 및 목표 대상물 운동 궤도와, 정상 선회 보용의 ZMP 궤도 패러미터에 의해 규정되는 ZMP 궤도를 기초로 S09와 마찬가지로 산출되는 궤도이다.
이 때, 정상 선회 보용의 대상물 반력 모멘트 궤도는, 예를 들면 도 12(b)에서 도시하는 궤도가 되도록, 정상 선회 보용의 대상물 반력 모멘트 궤도 패러미터가 결정된다. 이 예에서는, 정상 선회 보용의 제1 선회 보용의 초기부터 종단까지의 대상물 반력 모멘트 궤도는 금회 보용의 대상물 반력 모멘트 궤도에 연속하여, 다음회 보용의 대상물 반력 모멘트 궤도와 일치하도록 결정되어 있다. 또, 정상 선회 보용의 제2 선회 보용의 대상물 반력 모멘트 궤도는 제1 선회 보용의 대상물 반력 모멘트 궤도에 연속됨과 아울러, 제2 선회 보용의 초기로부터 종단 직전의 어떤 시각 tx까지는, 다음다음회 보용의 대상물 반력 모멘트 궤도와 일치하고, 시각 tx부터 종단까지는, 시각 tx의 값으로부터, 제1 선회 보용의 초기(정상 선회 보용의 초기)의 값과 동일한 값까지 연속적으로 변화되도록 결정되어 있다. 시각 tx는 예를 들면 정상 선회 보용의 ZMP 궤도의 꺾임점의 시각에 대응한다.
또한, 다음회 보용의 초기의 대상물 반력 모멘트의 값과, 다음다음회 보용의 종단의 대상물 반력 모멘트의 값의 차가 그다지 크지 않을 때에는, 반드시, 정상 선회 보용의 초기의 대상물 반력 모멘트와 종단의 대상물 반력 모멘트의 값을 동일하게 하지 않아도 된다.
이어서, S13으로 진행되고, 정상 선회 보용의 초기 발산성분이 결정된다. 이 경우, 정상 선회 보용은 주기적 보용이기 때문에, 로봇(1)의 미리 정한 동역학 모델 상에서, 제1 선회 보용의 운동의 초기 상태(초기 발산성분을 포함함)와 제2 선회 보용의 운동의 종단상태(종단 발산성분을 포함함)가 일치하도록 정상 선회 보용의 초기 발산성분이 결정된다.
이 S13의 처리를 상세하게 설명하기 전에, 우선, 이 S13에서의 처리에 사용하는 로봇(1)의 동역학 모델과, 이 동역학 모델을 사용하여 목표 상체위치를 결정하기 위한 동역학 연산을 설명한다. 이 동역학 모델은, S13의 처리에 사용되는 이외에, 후술의 S37까지의 처리에서 금회 보용을 결정하기 위하여 사용되고, 로봇(1)의 동역학적 거동(로봇(1)에 작용하는 힘과 운동과의 관계)을 단순화하여 (근사적으로) 표현한 동역학 모델이다. 이하, 이 동역학 모델을 로봇 단순화 모델이라고 한다. 또한, 이 로봇 단순화 모델의 기본구조는 PCT 국제공개 공보 WO/02/40224 A1과 동일하지만, 대상물 반력 모멘트가 가미되어 있는 점에서 동 공보의 것과 상이하다.
도 13은 로봇 단순화 모델의 구조를 도시하고 있다. 도시한 바와 같이, 이 로봇 단순화 모델은 3질점 모델이며, 다리체(2)의 동역학과 상체(3)의 동역학이 서로 비간섭으로 구성됨과 아울러, 로봇(1)의 전체의 동역학은 그것들의 선형 결합으로 표시된다.
이 로봇 단순화 모델은 도립진자(A)와 2개의 다리 질점(2m, 2m)(지지다리 질점 및 미착지다리 질점)으로 구성된다. 각 다리 질점(2m)은 각 다리체(2)에 대응하는 질점이다. 이 각 다리 질점(2m)은 각각에 대응하는 다리체(2)의 족평(22)에 임의로 고정적으로 설정된 로컬 좌표계에서의 고정점이며, 그 위치는 각 족평위치 자세에 대응하여 일의적으로 정해지는 것으로 되어 있다. 예를 들면, 각 족평 질점(2m)은 그 족평(22)의 밑바닥면의 대표점으로부터 발목관절의 중심을 향하여 소정의 거리만큼 이 발목관절측으로 벗어난 점에 설정된다.
도립진자(A)는 수평으로 이동하는 자유의 지지점(a)와, 하나의 질점(b)과, 지지점(a)과 질점(b)을 연결하는 질량의 없는 가변 길이의 링크(c)로 구성된다. 이 경우, 링크(c)가 기울어도 링크(c)가 신축하여, 지지점(a)에서 본 질점(b)의 높이(h)가 일정값으로 유지되는 것으로 한다.
이 도립진자(A)의 질점(b)(이하, 단지 도립진자 질점(b)이라고 함)은 로봇(1)의 상체(3)의 질점에 상당하는 것이며, 이후, 도립진자 질점(b)을 상체 질점(b)이라고 하는 경우도 있다. 도립진자 질점(b)의 위치를 이후, 약칭하여 도립진자 위치라고 한다. 또한, 상체 질점(b)의 질량은 상체(3)의 질량과 팔체(5, 5) 및 머리부(4)의 질량을 포함하고 있다.
로봇(1)의 상체(3)의 수평위치는 도립진자 질점(b)의 수평위치로부터 기하학적으로 결정된다. 구체적으로는, 예를 들면, 상체(3)의 대표점의 수평위치(지지다리 좌표계에서 본 XY 좌표), 즉 상체위치의 수평성분이 도립진자 질점(b)의 수평위치에 일치하는 것으로 된다. 바꾸어 말하면, 도 13에 도시하는 바와 같이, 상체(3)의 대표점과 도립진자 질점(b)은 동일 연직선 상에 있는 것으로 된다.
또한, 도립진자(A)의 ZMP는 자유의 지지점(a)의 위치에서(지지점(a)의 주위에는 모멘트가 발생하지 않음), 이후, 도립진자(A)의 지지점(a)의 위치를 도립진자 ZMP라고 부르고, ZMPpend라고 기술한다.
이러한 로봇 단순화 모델을 수식 표현하기 위해서, 이 모델에 관한 변수 및 패러미터를 이하와 같이 정의한다.
msup: 지지다리 질점(2m)의 질량, mswg: 미착지다리 질점(2m)의 질량, mb: 도립진자 질점(b)의 질량, mtotal: 로봇(1)의 전체질량(=msup+mswg+mb), mfeet: 양다리체(2, 2)의 총질량(=msup+mswg), xsup: 지지다리 질점(2m)의 위치, xswg: 미착지다리 질점(2m)의 위치, xb: 도립진자 위치(상체 질점(b)의 위치), h: 도립진자 높이(도립진자(A)의 지지점(a)으로부터 도립진자 질점(b)까지의 높이)
이후, 예고하지 않는 한, xb, xsup, xswg는 3차원 벡터(XYZ 좌표 벡터)로 표시한다. 또, X를 임의의 변수로 했을 때, dX/dt는 X의 1차미분을 나타내고, d2X/dt2는 X의 2차미분을 나타낸다. g는 중력 가속도 정수를 나타낸다. G는 그 X성분, Y성분, Z성분이 각각 0, 0, -g인 중력 가속도 벡터로 한다.
도 13의 로봇 단순화 모델에서, 양다리 질점(2m, 2m)의 총관성력(양다리 질점(2m, 2m)의 운동에 의한 관성력과 중력의 합력)이 어떤 작용점(P) 주위에 작용하는 모멘트를 점(P) 주위의 다리 총관성력 모멘트로 정의하고, 그 작용점(P)의 좌표(위치)를 xp로 한다.
하기의 식 01은 점(P) 주위의 다리 총관성력 모멘트의 동역학적 정의식이다.
점(P) 주위의 다리 총관성력 모멘트
=msup(xsup-xp)*G-msup(xsup-xp)*d2xsup/dt2
+mswg(xswg-xp)*G-mswg(xswg-xp)*d2xswg/dt2 ……식 01
다리 ZMP를 ZMPfeet로 기술하고, 식 02로 정의한다. 단, 다리 ZMP의 높 이(ZMPfeet의 Z성분)는 상기 점(P)의 높이와 동일한 것으로 한다. 이 다리 ZMP는 양다리체(2, 2)의 운동에 의해 발생하는 관성력과 중력의 합력에 유사적으로 대응시킨 값이다.
점(P) 주위의 다리 총관성력 모멘트=mfeet*(ZMPfeet-xp)*G ……식 02
또한, 상기 작용점(P)은 로봇 단순화 모델의 근사 정밀도가 높아지도록 설정된다. 예를 들면 금회 보용에 관계되는 작용점(P)은 전회 보용의 지지다리 좌표계의 원점으로부터, 금회 보용의 지지다리 좌표계의 원점에, 양다리 지지기 사이에 직선적으로 등속 이동하고, 이 양다리 지지기에 계속되는 외다리 지지기에서는 금회 보용 지지다리 좌표계의 원점에 유지되도록 설정된다. 이것은, 정상 선회 보용의 제1 선회 보용, 제2 선회 보용에 따른 작용점(P)에 대새서도 동일하다.
또, 목표 ZMP 주위의 대상물 반력 모멘트를 로봇(1)의 전체 질량(mtotal)로 제산한 것을 대상물 반력 ZMP로 정의하고, 이것을 ZMPobj라고 기술한다. 즉, ZMPobj를 다음 식 03으로 정의한다.
ZMPobj=목표 ZMP 주위의 대상물 반력 모멘트/mtotal ……식 03
이 때, 목표 ZMP와 다리 ZMP(ZMPfeet)와 도립진자 ZMP(ZMPpend)와 대상물 반력 ZMP 사이에는, 근사적으로 다음 식 04의 선형관계가 성립된다.
ZMPpend=mtotal/mb*목표 ZMP-mfeet/mb*ZMPfeet
-mtotal/mb*ZMPobj ……식 04
또한, 식 04는 사지탈 플레인(XZ 평면)상에서의 관계식이며, 래터럴 플레인(YZ 평면) 상에서는, 식 03의 우변 제3항의 부호가 「-」에서 「+」로 반전한다.
또, 도립진자(A)의 거동을 의미하는 미분방정식은 다음 식 05로 표시된다.
d2xb/dt2의 수평성분=g/h*(xb의 수평성분-ZMPpend의 수평성분)……식 05
이상의 식 01∼05가 도 13의 로봇 단순화 모델의 동역학을 기술하는 식이다.
이러한 로봇 단순화 모델을 사용함으로써 다음과 같은 동역학적 연산에 의해, 목표 족평위치 자세와 목표 ZMP 주위의 대상물 반력 모멘트와 목표 ZMP와 목표 상체자세로부터 목표 상체위치를 결정할 수 있다.
그 동역학 연산을 도 14의 블럭도를 참조하여 설명해 둔다. 도 14는 이 동역학 연산을 도시하는 블럭도이다. 목표 양족평위치 자세(지지다리 족평(22) 및 미착지다리 족평(22)의 목표 위치 자세)의 궤도와, 상기한 바와 같이 설정되는 작용점(P)으로부터, 다리 ZMP 산출기(220)에 의해, 상기 식 01 및 02를 사용하여 다리 ZMP(ZMPfeet)가 산출된다.
또, 목표 ZMP 주위의 대상물 반력 모멘트에 승산부(222)에서 1/mtotal을 승산 함으로써, 대상물 반력 ZMP(ZMPobj)가 산출된다. 그리고, 산출한 ZMPfeet에 승산부(224)에서 mfeet/mtotal을 승산한 것과 ZMPobj를 감산부(226)에서 목표 ZMP로부터 감산하고, 또한 그 감산 결과에 승산부(228)에서 mtotal/mb를 승산함으로써, 상기 식 04의 우변의 연산이 행해진다. 이것에 의해 도립진자 ZMP(ZMPpend)이 산출된다. 또한, 상기의 연산처리에 의해 구해지는 ZMPpend는 사지탈 플레인 상의 것으로, 래터럴 플레인 상의 ZMPpend를 산출하는 경우에는, 승산부(222)의 연산결과의 부호를 반전시킨 것을 감산부(226)에 입력하면 된다.
이렇게 하여 산출된 ZMPpend를 도립진자(A)에 입력함으로써 상기 식 05에 기 초하여 도립진자 수평위치(xb)가 산출된다. 또한, 이 도립진자 수평위치(xb)와 목표 상체자세를 기초로, 상체위치 결정기(230)에 의해 목표 상체위치가 결정된다. 이 경우, 상체위치 결정기(230)는 도립진자 수평위치(xb)를 목표 상체 수평위치로 한다. 또, 목표 상체 연직위치는, 예를 들면 본출원인이 앞서 일본 특개 평10-86080호 공보에서 제안한 상체 높이 결정수법에 의해, 목표 상체자세 등을 기초로 결정된다. 또한, 본 실시형태에서는, 로봇(1)의 목표 상체자세는 예를 들면 연직자세로 된다.
도 5의 설명으로 되돌아와, 이하에, S13의 처리를 상세하게 설명한다.
S13의 처리에서는, 상기한 로봇 단순화 모델을 기초로, 정상 보용의 초기 발산성분을 결정한다. 보용에서의 발산성분을 q로 하고, 상기 도립진자(A)의 질점(b)의 수평속도(또는 상체 수평속도)를 vb로 하면, 본 실시형태에서는 다음 식 06에 의해 정의된다.
q=xb+vb/ω0 ……식 06
단, ω0는 도립진자(A)의 고유 주파수, 즉, g/h의 평방근이다.
또한, 이렇게 정의되는 발산성분의 기술적 의미에 대해서는, PCT 국제공개 공보 WO/02/40224 A1에 상세하게 설명되어 있으므로, 여기에서의 설명은 생략한다.
이와 같이 발산성분(q)을 정의했을 때, 도립진자(A)의 운동 방정식(상기 식 05)을 이산화하여, q에 대해서 풀고, 거기에 상기 식 04를 적용하면, 다음 식 07이 얻어진다. 또한, 목표 ZMP를 ZMPtotal로 기술한다.
q[k]=exp(ω0kΔt)*q[0]
+exp(ω0kΔt)*(exp(-ω0Δt)-1)
*Σ(exp(-iω0Δt)*mtotal/mb*ZMPtotal[i])
-exp(ω0kΔt)*(exp(-ω0Δt)-1)
*Σ(exp(-iω0Δt)*mfeet/mb*ZMPfeet[i])
-exp(ω0kΔt)*(exp(-ω0Δt)-1)
*Σ(exp(-iω0Δt)*mtotal/mb*ZMPobj[i]) …… 식 07
단, exp()는 자연대수의 밑 e의 지수함수를 의미한다. 또, Δt는 이산계의 일정 간격 시간, k는 스텝수(kΔt가 시각을 의미함)이다. 또, 식 07의 Σ()는 i=0로부터 i=k-1까지의 누적 가산 연산을 의미하고 있다.
또한, 식 07은 사지탈 플레인 상에서의 발산성분(q)을 기술하는 식이며, 래터럴 플레인상에서의 발산성분(q)를 기술하는 식은 식 07의 우변의 제4항의 전체의 부호를 「-」에서 「+」로 반전시킨 식으로 된다.
여기에서, 정상 선회 보용의 초기(제1 선회 보용의 초기)에서의 발산성분(이하, 초기 발산성분이라고 함)과 종단(제2 선회 보용의 종단)에서의 발산성분(이하, 종단 발산성분이라고 함)에 주목하고, q[0](시각 0에서의 발산성분)를 초기 발산성분 q[k](시각 kΔt에서의 발산성분)을 종단 발산성분이라고 한다.
이 때, 식 07의 우변 제1항은 초기 발산성분에 의해 발생하는 종단 발산성분을 나타낸다. 우변 제2항은 목표 ZMP 패턴에 의해 발생하는 종단 발산성분을 나타낸다. 우변 제3항은 양다리체(2, 2)의 운동(양다리 질점(2m, 2m)의 운동)에 의해 발생하는 종단 발산성분을 나타낸다. 우변 제4항은, 대상물 반력 모멘트 패턴에 의해 발생하는 종단 발산성분을 나타낸다. 이후, 우변 제2항을 Wzmptotal, 우변 제3항을 Wfeet, 우변 제4항을 Wobj로 기술한다. 즉, Wzmptotal, Wfeet, Wobj를 다음 식 08a , 08b, 08c로 정의한다.
Wzmptotal
=exp(ω0kΔt)*(exp(-ω0Δt)-1)
*Σ(exp(-iω0Δt)*mtotal/mb*ZMPtotal[i]) ……식 08a
Wfeet
= -exp(ω0kΔt)*(exp(-ω0Δt)-1)
*Σ(exp(-iω0Δt)*mfeet/mb*ZMPfeet[i]) ……식 08b
Wobj
= -exp(ω0kΔt)*(exp(-ω0Δt)-1)
*Σ(exp(-iω0Δt)*mtotal/mb*ZMPobj[i]) ……식 08c
또한, 식 08c는 사지탈 플레인 상에서의 Wobj를 정의하는 식으로, 래터럴 플레인 상에서의 Wobj는 식 08c의 우변의 부호를 반전시킨 것으로 된다.
이들 Wzmptotal, Wfeet, Wobj를 사용하여 상기 07을 다시 쓰면, 다음 식 09가 된다.
q[k]=exp(ω0kΔt)*q[0]+Wzmptotal+Wfeet+Wobj ……식 09
본 실시형태에서는, 정상 선회 보용의 경계 조건을 만족하는 초기 발산성분은 금회 보용에 계속되는 정상 선회 보용의 지지다리 좌표계(도 11의 다음회 보용 지지다리 좌표계(X'Y' 좌표계))에서 본 초기 발산성분이 이 정상 선회 보용의 다음 보용의 지지다리 좌표계(도 11의 다음다음다음회 보용 지지다리 좌표계(X'''Y''' 좌표계))에서 본 정상 선회 보용(금회 보용에 계속되는 정상 선회 보용)의 종단 발산성분에 일치하도록, 상기 식 08a, 08b, 08c, 09에 기초하여 해석적으로 구해진다.
여기에서, 정상 선회 보용의 다음 보용의 지지다리 좌표계(도 11의 다음다음다음회 보용 지지다리 좌표계(X'''Y''' 좌표계))에서 본 이 정상 선회 보용의 종단 발산성분을 q'[k]로 하면, 정상 선회 보용의 경계 조건을 만족하기 위해서는, 다음 식 10이 성립해야만 한다.
q[0]=q'[k] …식 10
또, 정상 선회 보용의 다음 보용의 지지다리 좌표계(도 11의 다음다음다음회 보용 지지다리 좌표계(X'''Y''' 좌표계))에서 기술되는 값을, 이 정상 선회 보용의 지지다리 좌표계(도 11의 다음회 보용 지지다리 좌표계(X'Y' 좌표계))에서 기술되는 값으로 좌표변환 하기 위한 회전행렬을 M, 좌표 원점의 평행이동벡터를 B로 두면, 다음 식 11이 얻어진다.
q[k]=Mq'[k]+B ……식 11
따라서, 이들 식 10, 11로부터 다음 식 12가 얻어진다.
q[k]=Mq[0]+B ……식 12
이 식 12는 정상 보용의 경계 조건을 만족하기 위하여, 초기 발산성분(q[0])과 종단 발산성분(q[k])이 충족시켜야 할 조건이다.
그리고, 이 식 12와 상기 식 08a∼08c 및 09로부터, 다음 식 13이 얻어진다.
q[0]=inv(M-exp(ω0kΔt)I)(Wzmptotal+Wfeet+Wobj-B) ……식 13
또한, 식 13에서, inv()는 괄호 내의 행렬의 역행열이며, I는 단위행렬이다.
본 실시형태에서는, 이 식 13에 기초하여 정상 선회 보용의 경계 조건을 만족하는 초기 발산성분(q[0])을 결정한다.
구체적으로는, 상기 S11에서 결정한 정상 선회 보용의 ZMP 궤도 패러미터를 기초로, 정상 선회 보용의 각 시각(iΔt)(i=0, 1, ……, k-1)에서의 목표 ZMP의 순시값인 ZMPtotal[i](i=0, 1, ……, k-1)를 구하고, 이것을 사용하여 상기 식 08a의 우변의 연산을 행함으로써 Wzmptotal을 산출한다. 또한, Wzmptotal의 산출은 PCT 국제공개 공보 WO/02/40224 A1에 설명되어 있는 바와 같이, 목표 ZMP 궤도가 꺾인선 궤도인 것을 이용한 알고리즘에 의해 산출하도록 해도 된다.
또, 상기 S11에서 결정한 정상 선회 보용의 족평 궤도 패러미터를 기초로, 정상 선회 보용의 각 시각(iΔt)(i=0, 1, ……, k-1)에서의 각 족평위치 자세의 순시값을 구하고, 그것을 상기 식 01, 02를 이산계로 표현한 식에 적용함으로써 ZMPfeet[i]을 구한다. 또한, 족평위치 자세는, 예를 들면 본 출원인이 일본 특허 제3233450호에서 제안한 유한 시간정정 필터를 사용하여 각 족평(22)마다 산출된다. 이 경우, 산출되는 족평위치 자세의 궤도는 정상 선회 보용의 제1 선회 보용 및 제2 선회 보용의 각각에 있어서의 미착지다리 족평(22)이 외다리 지지기의 개시 시각부터 상승하고, 이 미착지다리 족평(22)의 착지예정 위치를 향하여 이동하고, 이 미착지다리 족평(22)의 착지 예정시각에서 이 미착지다리 족평(22)이 그 발뒤꿈치로 착지예정 위치에 대응하는 위치에 착지하는 것과 같은 궤도이다. 그리고, 상 기와 같이 구한 ZMPfeetl[i]를 사용하여 상기 식 08b의 우변의 연산을 행함으로써 Wfeet를 산출한다. 보충하면, 미착지다리 족평(22)의 착지예정 위치 자세가 1개 전의 보용에서의 지지다리 족평(22)의 착지위치 자세와 동일한 경우에는, 족평위치 자세 궤도는 일정한 착지위치 자세로 유지되는 궤도로 된다. 단, 미착지다리 족평(22)을 일단 상승시키고, 그 후, 원래의 착지위치 자세로 되돌리는 것과 같은 족평위치 자세 궤도를 생성하도록 해도 된다.
또한, 상기 S11에서 결정한 정상 선회 보용의 대상물 반력 모멘트 궤도 패러미터를 기초로, 정상 선회 보용의 각 시각(iΔt)(i=0, 1, ……, k-1)에서의, 목표 ZMP 주위의 대상물 반력 모멘트를 구함과 아울러, 그것을 mtotal로 제산함으로써, ZMPobj[i]을 구하고, 그 구한 ZMPobj[i]를 사용하여 상기 식 08c의 우변의 연산을 행함으로써 Wobj를 산출한다.
또한, Wzmptotal, Wfeet, Wobj의 산출에서 사용하는 일정간격 시간(Δt)은 보용 생성 장치(100)의 연산처리 주기와 동일한 것이 바람직하지만, 그것보다도 긴 시간으로 설정하여, 연산처리 시간을 단축하도록 해도 된다.
그리고, 상기와 같이 구한 Wzmptotal, Wfeet, Wobj로부터, 상기 식 12의 우변의 연산을 행함으로써 정상 선회 보용의 경계 조건을 만족하는 초기 발산성분(q[0])이 산출된다.
이상이 본 실시형태에서의 S13의 처리의 상세이다.
또한, 본 실시형태에서는, 초기 발산성분(q[0])을 해석적으로 구하도록 했지만, 예를 들면 PCT 국제공개 공보 WO/02/40224 A1의 제2 실시형태에서 설명되어 있 는 바와 같이, 탐색적인 수법에 의해, 금회 보용에 계속되는 정상 선회 보용의 다음 보용의 지지다리 좌표계에서 본 이 정상 선회 보용의 종단 발산성분에 거의 일치하는 것과 같은 이 정상 선회 보용의 초기 발산성분을 결정하도록 해도 된다.
도 5의 플로우차트의 설명으로 되돌아와, 상기한 바와 같이 S13의 처리를 실행한 후, S15로 진행되고, 금회 보용의 보용 패러미터가 임시 결정된다. 이 보용 패러미터는 금회 보용에서의 족평위치 자세 궤도를 규정하는 족평 궤도 패러미터, 목표 ZMP 궤도를 규정하는 ZMP 궤도 패러미터, 목표 대상물 반력 모멘트 궤도를 규정하는 대상물 반력 궤도 패러미터를 포함한다.
금회 보용의 보용 패러미터 중 족평 궤도 패러미터는 금회 보용의 초기 및 종단의 각각에 있어서의 지지다리 족평(22) 및 미착지다리 족평(22)의 각각의 위치 자세, 금회 보용의 보용 주기 등으로 구성된다. 이 경우, 금회 보용 초기 미착지다리 족평위치 자세는 금회 보용 지지다리 좌표계에서 본, 전회 보용 종단에서의 금회 보용의 미착지다리 족평위치 자세(전회 보용의 지지다리 족평위치 자세)로 한다. 금회 보용 초기 지지다리 족평위치 자세는 금회 보용 지지다리 좌표계에서 본, 전회 보용 종단에서의 금회 보용의 지지다리 족평위치 자세(전회 보용의 미착지다리 족평위치 자세)로 한다. 금회 보용 종단 미착지다리 족평 위치 자세는 금회 보용의 미착지다리 족평(22)의 착지예정 위치 자세에 대응시켜 결정된다. 구체적으로는, 금회 보용의 미착지다리 족평(22)을 금회 보용 종단 미착지다리 족평 위치 자세로부터 바닥에 접촉시킨 채, 미끄러지지 않도록 피칭 방향으로 소정 각도, 회전시켰을 때의 위치 자세가 금회 보용의 착지예정 위치 자세가 되도록 금회 보용 종단 미착지다리 족평 위치 자세가 결정된다. 금회 보용 종단 지지다리 족평위치 자세는 금회 보용 지지다리 좌표계에 위치 자세를 합치시킨 지지다리 족평(22)을 바닥에 접촉시킨 채, 미끄러지지 않도록 이 지지다리 족평(22)을 그 밑바닥면의 거의 전체면이 바닥에 접촉할 때까지 피칭 방향으로 회전시켰을 때의 이 지지다리 족평(22)의 위치 자세(이 위치 자세는 전회 보용의 미착지다리 족평(22)의 착지예정 위치 자세에 일치함)로 한다.
또한, 본 실시형태에서는, 금회 보용 종단에서의 지지다리 족평(22)은 바닥면에 거의 평행한 자세가 되지만, 반드시 이렇게 할 필요는 없다. 예를 들면, 보용 종단에 있어서, 지지다리 족평(22)의 발뒤꿈치측이 바닥면으로부터 떨어지도록 해도 된다.
금회 보용의 보용 패러미터 중 ZMP 궤도 패러미터는 S07에서 임시 결정된 ZMP 궤도 패러미터와 동일하게 설정된다. 따라서, 이 ZMP 궤도 패러미터에 의해 규정되는 목표 ZMP 궤도는, 예를 들면 상기 도 10(a)에 도시한 바와 같은 패턴의 것이다.
또, 금회 보용의 보용 패러미터 중 대상물 반력 모멘트 궤도 패러미터는 그것에 의해 규정되는 대상물 반력 모멘트 궤도가 상기 S09에서 산출한 대상물 반력 모멘트 궤도 중 금회 보용에 대응하는 궤도에 일치하도록 결정된다.
이어서, S17로 진행되고, 정상 선회 보용에 금회 보용이 수렴하도록, S15에서 임시 결정한 보용 패러미터 중 ZMP 궤도 패러미터를 수정한다. 보다 상세하게는, 정상 선회 보용의 초기 발산성분에 금회 보용의 종단 발산성분이 거의 일치하 도록 ZMP 궤도 패러미터가 수정된다.
본 실시형태에서는, 정상 선회 보용의 초기 발산성분에 금회 보용의 종단 발산성분을 거의 일치시키도록 하기 위하여, 상기 임시 목표 ZMP에 도 10(b)에 도시하는 바와 같은 ZMP 수정량을 더함으로써, 이 임시 목표 ZMP를 수정하고, 그것에 의해, 도 10(c)에 도시하는 바와 같은 목표 ZMP를 얻는다.
이 경우, 임시 목표 ZMP의 수정 처리의 기본적 지침은 PCT 국제공개 공보 WO/02/40224A1와 동일하지만, 대상물 반력 모멘트가 고려되는 점에서 동 출원의 것과 상이하다. 이하에 그 서로 상이한 점을 중심으로 S17의 처리를 구체적으로 설명한다. 또한, 이 처리에서 사용하는 변수, 기호 중, 정상 보용의 초기 발산성분을 결정하는 처리(S13)에 관하여 설명한 것과 동일한 의미를 갖는 변수에 대해서는, 정상 보용에 관하여 앞서 정의한 것과 동일한 변수, 기호를 사용하여 S17의 처리를 설명한다. 또, 이하의 설명에서는, 이해의 편의상, ZMP의 X축방향 성분의 수정에 관하여 설명을 행한다.
본 실시형태에서는, ZMP 수정량은 도 10(b)에 도시하는 바와 같이 사다리꼴 형상으로 되고, 그 높이를 a로 한다. 또한, 사다리꼴의 꺾임점의 시각은, 도시한 바와 같이, 임시 목표 ZMP 궤도의 꺾임점의 시각에 맞추어 설정된다. 본 실시형태에서는, ZMP 수정량은 금회 보용의 외다리 지지기에서 발생시킨다. 또, 상기 S13에서 결정한 초기 발산성분을 금회 보용 지지다리 좌표계에서 본 값으로 좌표변환 한 것을 q''으로 한다. 즉, 금회 보용 지지다리 좌표계에서 본 정상 선회 보용의 초기 발산성분을 q''으로 한다. 또, 임시 목표 ZMP 궤도에 의해 발생하는 금회 보 용의 종단 발산성분을 Wzmptmp, a=1일 경우의 ZMP 수정량 패턴에 의해 발생하는 금회 보용의 종단 발산성분을 Wtrim으로 한다.
이 때, 수정 후의 목표 ZMP 궤도에 의해 발생하는 종단 발산성분을 Wzmptotal로 하면, 근사적으로 다음 식 14가 얻어진다.
Wzmptotal=Wzmptmp+a*Wtrim ……식 14
따라서, 목표 ZMP를 수정한 후의 금회 보용의 종단 발산성분(q'')은 정상 보용에 관하여 설명한 상기 식 09와 동일한 다음 식 15에 의해 표시된다.
q''=exp(ω0kΔt)*q[0]+Wzmptmp+a*Wtrim+Wfeet+Wobj ……식 15
또한, 식 15에서, kΔt는 금회 보용의 종단시각, q[0]는 금회 보용의 초기 발산성분, Wfeet는 금회 보용의 양다리체(2, 2)의 운동에 의해 발생하는 종단 발산성분, Wobj는 금회 보용의 대상물 반력 모멘트 궤도에 의해 발생하는 종단 발산성분이다.
이 식 15로부터, ZMP 수정량의 사다리꼴 높이(a)를 결정하기 위한 다음 식 16이 얻어진다.
a=(q''-exp(ω0kΔt)*q[0]-Wzmptmp-Wfeet-Wobj)/Wtrim ……식 16
그래서, 본 실시형태에서는, 식 16에 의해, ZMP 수정량의 사다리꼴 높이(a)를 구한다. 이 경우, 초기 발산성분(q[0])은 금회 보용 초기의 도립진자 위치(또는 상체위치)와 그 변화속도로부터, 상기 식 06에 의해 산출된다. 또, Wzmptmp는 S15에서 임시 결정된 ZMP 궤도 패러미터에 의해 규정되는 임시 목표 ZMP 궤도로부터, 정상 선회 보용에 관계되는 Wzmptotal을 구한 경우와 동일하게 구해진다. Wtrim은 사다리꼴 높이(a)를 1로서 정하는 ZMP 수정량 패턴으로부터, 정상 선회 보용에 따른 Wzmptotal을 구한 경우와 동일하게 구해진다. Wfeet는 S15에서 임시 결정된 족평 궤도 패러미터로부터, 정상 선회 보용에 관계되는 Wfeet를 구한 경우와 마찬가지로 상기 식 08b 에 기초하여 구해진다. Wobj는 S15에서 임시 결정된 대상물 반력 모멘트 궤도 패러미터로부터, 정상 선회 보용에 관계되는 Wobj를 구한 경우와 동일하게 상기 식 08c 에 기초하여 구해진다.
S17에서는, 이렇게 하여 구한 사다리꼴 높이(a)에 의해 정해지는 ZMP 수정량을 임시 목표 ZMP 궤도에 더함으로써 ZMP 궤도 패러미터가 수정된다.
또한, 본 실시형태에서는, ZMP 수정량을 해석적으로 구하도록 했지만, 탐색적으로 구하도록 해도 된다. 이 경우에는, 사다리꼴 높이(a)의 값을 적당한 값으로 설정한 ZMP 수정량에 의해 임시 목표 ZMP를 수정하여 이루어지는 목표 ZMP 궤도를 사용하여, 금회 보용을 임시 작성하고, 그 임시 작성한 금회 보용의 종단 발산성분과 정상 보용의 초기 발산성분의 차 등에 따라, 그 차가 작아지도록 사다리꼴 높이(a)의 값을 수정한다고 하는 처리를 반복한다. 그리고, 최종적으로 가작성한 금회 보용의 종단 발산성분과 정상 보용의 초기 발산성분이 거의 일치할 때의 사다리꼴 높이(a)의 값에 의해 ZMP 수정량을 결정하면 된다.
S17의 처리 후, S19로 진행되고 수정 후의 ZMP 궤도 패러미터에 의해 정해지는 목표 ZMP가 적정한지 아닌지가 판단된다. 구체적으로는, 수정 후의 목표 ZMP가 금회 보용의 지지다리 족평(22)의 접지면에서 일탈하거나, 접지면의 경계 부근에 치우치거나 하고 있지 않은 경우, 즉, 로봇(1)의 안정여유를 확보할 수 있는 경우 에는, 목표 ZMP가 적정하다고 판단되고, 그렇지 않은 경우에는, 목표 ZMP가 부적정하다고 판단된다.
S19의 판단 결과가 NO일 경우에는, S21로 진행되고, 금회 보용 패러미터 중 ZMP 궤도 패러미터 이외의 패러미터에 관계되는 요소, 예를 들면 대상물 반력 모멘트 궤도 패러미터에 관계되는 목표 대상물 반력 궤도를 수정한다. 이 경우, 목표 대상물 반력 궤도는, 그 수정 후에 S09∼S17의 처리를 다시 실행했을 때에, ZMP 수정량이 가능한 한 작아지도록(적어도 목표 대상물 반력 궤도의 수정 전에 구한 ZMP 수정량보다도 작아지도록) 수정된다.
이 목표 대상물 반력 궤도의 수정예를 이하에 설명한다. 예를 들면 도 15(a)의 그래프 g2로 도시하는 바와 같이 이동계획에 기초하는 목표 대상물 운동 궤도(위치 궤도)가 시각 t1부터 X축방향에서 대상물(120)의 감속을 행하고, 시각 t3에서 정지시키는 것과 같은 궤도로 한다. 또한, 도 15(a)의 그래프 g3은 목표 대상물 운동 궤도에 대응하여 결정되는 목표 상체위치 궤도의 예이다. 이 때, 시각 t1으로부터의 대상물(120)의 감속 가속도가 비교적 클 경우에는, 그 시각 t1 이후의, 어떤 현재시각 t2에서의 금회 보용에 관계되는 ZMP 수정량이 X축의 정방향으로 과대하게 되어, 지지다리 족평(22)의 접지면을 일탈하는 경우가 있다(이 경우, S19의 판단 결과가 NO로 됨). 그리고, 가령, 그대로 목표 보용을 계속해서 생성한 경우에는, 도시한 바와 같이 로봇(1)의 상체(3)가 어떤 시각 t4에서 대상물(120)에 충돌하는 것과 같은 목표 보용이 생성되어 버린다.
그래서, 이러한 경우에는, 목표 대상물 반력을, 상기한 바와 같이 S03에서 임시 결정된 목표 대상물 반력 궤도에 대하여, 도 15(b)에 도시하는 바와 같이, 현재시각 t2 이후의 어떤 기간 ΔT1 내에서, X축의 부방향으로 증가시키도록 이 목표 대상물 반력 궤도를 수정한다. 바꾸어 말하면, 로봇(1)으로부터 대상물(120)에 가하는 작용력(목표 대상물 반력의 부호를 반전시킨 힘)을 X축의 정방향으로 증가시키도록 목표 대상물 반력을 수정한다. 이 경우, 목표 대상물 반력을 증가시키는 기간 ΔT1 도는 그 증가분 ΔF1의 크기는, 수정 후의 목표 대상물 반력을 기초로 상기 S09∼S17의 처리에 의해 결정되는 ZMP 수정량이 가능한 한 작아져서, S19의 판단 결과가 YES가 되도록 결정된다. 이러한 ΔT1 또는 ΔF1은 해석적 또는 탐색적으로 구하는 것이 가능하다.
이와 같이 목표 대상물 반력 궤도를 수정함으로써, 로봇(1)이 적극적으로 대상물(120)을 미는 것과 같은 상체(3)의 운동이 행해지도록 금회 보용 패러미터 중 대상물 반력 모멘트 궤도 패러미터가 S15에서 결정되게 된다. 그 결과, 이 금회 보용 패러미터를 기초로 생성되는 목표 보용이, 안정여유를 확보하면서, 대상물(120)에 로봇(1)의 상체(3)가 충돌하지 않는 것과 같은 보용으로 된다.
보충하면, S21에서, 목표 대상물 반력 궤도를 수정하는 대신, 혹은, 그 수정에 더하여, 금회 보용 및 다음회 보용을 포함하여 복수보분의 미착지다리 족평(22)의 착지예정 위치 자세 혹은 착지 예정시각을 상기 대상물·로봇 간 위치 자세 요구를 충족시키는 범위 내에서 수정하도록 해도 된다. 이 경우에는, S21의 처리 후, S07로부터의 처리를 실행하도록 하면 된다.
S21의 처리를 행한 후, S09∼S17의 처리가 상기한 바와 같이 다시 실행된다. 이 때, S17의 다음의 S19의 판단 결과는 YES가 되고, 이 경우에는, 다음에 도 6의 S23으로 진행된다.
S23에서는, 소요의 필요 요건을 만족하는 다리체(2, 2)의 운동이 가능한지 아닌지를 판단하는 판단 처리가 실행된다. 이 판단 처리는 본 발명에서의 판단 수단에 상당하고 있다.
여기에서, 본 실시형태에서는, 상기 필요 요건은, 예를 들면, 장래의 2보째의 미착지다리 족평(22)의 착지예정 위치 자세(다음회 보용에서의 미착지다리 족평(22)의 착지예정 위치 자세)가, 그 착지 예정시각으로부터 반보분의 기간이 경과한 시각에 있어서, 상기 대상물·로봇 간 위치 자세 요구를 충족시킨다고 하는 조건과, 그 2보째까지의 각 보용에서, 로봇(1)의 미착지다리 족평(22)의 착지예정 위치가 지지다리 족평(22)에 대하여 소정의 허용영역 내에 존재한다고 하는 조건으로 구성된다. 후자의 조건은 본 발명에서의 제약조건에 상당하는 것이다.
후자의 조건에 대하여 보충하면, 로봇(1)의 미착지다리 족평(22)의 운동은 미착지다리측 다리체(2)가 지지다리측 다리체(2)에 간섭하지 않는 것, 각 다리체(2)의 각 관절의 변위량이나 변위속도가 소정의 허용 범위를 넘지 않는 것, 미착지다리 족평(22)의 운동 중에 있어서의 로봇(1)의 ZMP가 로봇(1)의 접지면 내(지지다각형 내)의, 로봇(1)의 안정여유를 확보할 수 있는 영역으로부터 일탈하지 않는 것 등의 제약을 받는다. 그리고, 이들 제약을 고려하여, 각 단위 보용에서의 미착지다리 족평(22)의 착지예정 위치 자세의 허용영역(지지다리 족평(22)에 대한 상대적인 허용영역)이 미리 설정되어 있다. 이 허용영역은 대략 타원형상(지지다리 좌 표계의 X축에 평행한 방향으로 긴 타원형상)의 영역이다. 이하, 이 허용영역을 미착지다리 족평 착지위치 자세 허용영역이라고 한다.
이하에, S23의 판단 처리를 도 16 및 도 17을 적당하게, 참조하면서, 구체적으로 설명한다. 이 판단 처리는 다음 (1)∼(5)의 수순으로 실행된다.
(1): 우선, 금회 보용(1보째)의 미착지다리 족평(22)의 착지 예정시각과, 다음회 보용(2보째)의 미착지다리 족평(22)의 착지 예정시각과, 현재의 목표 대상물 운동 궤도를 기초로, 그들 착지 예정시각으로부터 반보분의 시간(보용 주기의 절반의 시간)이 경과한 시각에서의 대상물(120)의 위치 자세를 구한다. 이 경우, 금회 보용 및 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세는 상기 S05의 처리에 관하여 설명한 바와 같이 결정되어 있으므로, 구해지는 대상물(120)의 위치 자세는 2보째까지의 각 단위 보용에서의 미착지다리 족평(22)의 착지예정 위치 자세와의 사이에서 상기 대상물·로봇 간 위치 자세 요구를 충족시키는 것이다.
도 16은 현재시각에서의 대상물(120)의 위치 자세와, 상기(1)의 처리에 의해 구해지는 대상물(120)의 위치 자세를 예시하고 있다. 이 예에서는, 대상물 운동 궤도의 경로는 도면 중의 파선의 곡선으로 나타내는 바와 같이 시계방향으로 선회하는 경로이다. 도 16에서, 점 C0, C1, C2는 각각 현재시각에서의 대상물(120)의 위치(대상물(120)의 대표점의 위치), 금회 보용(1보째)의 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에서의 대상물(120)의 위치, 다음회 보용(2보째)의 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에서의 대상물(120)의 위치를 나타내고 있다.
또한, 도 16의 예에서는, 금회 보용의 지지다리 족평(22)이 좌측 다리체(2L)의 족평(22L)이며, 1보째의 미착지다리 족평(22)은 우측 다리체(2R)의 족평(22R), 2보째의 미착지다리 족평(22)은 좌측 다리체(2L)의 족평(22L)이다. 이 경우, 도 16 중에 파선의 장방형으로 나타내는 현재시각에서의 미착지다리 족평(22R)은 공중에 있다.
(2): 이어서, 현재시각에서의 대상물(120)의 실제의 위치(금회 보용의 지지다리 좌표계에서의 위치)인 실대상물 위치와, 상기 (1)의 처리에서 구한 대상물(120)의 위치로부터, 도 16에 도시하는 바와 같은 이동거리(L01, L12)를 산출한다. 이동거리 L01은 현재시각에서의 실대상물 위치(점 C0의 위치)로부터 금회 보용의 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에서의 대상물(120)의 위치(점 C1의 위치)까지의 이동벡터 V01의 길이이며, 이동거리 L12는, 금회 보용의 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에서의 대상물(120)의 위치(점 C1의 위치)로부터, 다음회 보용의 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에서의 대상물(120)의 위치(점 C2의 위치)까지의 이동벡터 V12의 길이이다. 또한, 실대상물 위치는 현재시각에 있어서의 로봇(1)의 각 관절의 변위량의 검출값(혹은 목표값)으로부터 기하학적 연산에 의해 결정되는 손끝부(44)의 위치(로봇(1)과 대상물(120)의 걸어맞춤 부분의 위치)를 기초로 구해진다. 또, 이동거리 L01, L12는 후술의 S29의 처리에서 사용하는 것으로, 이 S29의 처리에서 구하도록 해도 된다.
보충하면, 이동벡터(V01 및 V12)에 의해 표시되는 대상물(120)의 이동경로는 본 발명에서의 제1 예상 이동경로에 상당한다.
(3): 이어서, 미착지다리 족평(22)의 상기 미착지다리 족평 착지위치 자세 허용영역에 의해, 금회 보용의 미착지다리 족평(22)의 착지예정 위치 자세(이하, 금회 미착지다리 착지예정 위치 자세라고 함)와 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세(이하, 다음회 미착지다리 착지예정 위치 자세라고 함)을 각각 제한하고, 제1 제한완료 미착지다리 착지예정 위치 자세를 결정한다. 이 제1 제한완료 미착지다리 착지예정 위치 자세는 다음과 같이 결정된다.
즉, 금회 미착지다리 착지예정 위치 자세의 현재 임시 결정값(S23의 처리의 개시시에 있어서의 값)이 금회 보용 지지다리 좌표계에서의 상기 미착지다리 착지위치 자세 허용영역 내에 존재하는 경우에는, 그 금회 미착지다리 착지예정 위치 자세의 현재 임시 결정값을 그대로, 금회 보용의 제1 제한완료 미착지다리 착지예정 위치 자세(이하, 금회 제1 제한완료 미착지다리 착지예정 위치 자세라고 함)로서 결정한다. 한편, 금회 미착지다리 착지예정 위치 자세의 현재 임시 결정값이 미착지다리 착지위치 자세 허용영역으로부터 일탈해 있는 경우에는, 이 허용영역 내에서, 금회 미착지다리 착지예정 위치 자세의 현재 임시 결정값에 가장 가깝게 되는 것과 같은 미착지다리 족평(22)의 착지위치 자세를 금회 제1 제한완료 미착지다리 착지예정 위치 자세로서 결정한다.
또, 다음회 미착지다리 착지예정 위치 자세의 현재 임시 결정값(S23의 처리의 개시시에 있어서의 값)이, 금회 제1 제한완료 미착지다리 착지예정 위치 자세에 대응하여 정해지는 다음회 보용 지지다리 좌표계에 있어서, 상기 미착지다리 착지 위치 자세 허용영역 내에 존재하는 경우에는, 그 다음회 미착지다리 착지예정 위치 자세의 현재 임시 결정값을 그대로, 다음회 보용의 제1 제한완료 미착지다리 착지예정 위치 자세(이하, 다음회 제1 제한완료 착지예정 위치 자세라고 함)로서 결정한다. 한편, 다음회 미착지다리 착지예정 위치 자세의 현재 임시 결정값이, 금회 제1 제한완료 미착지다리 착지예정 위치 자세에 대응하여 정해지는 다음회 보용 지지다리 좌표계에 있어서, 상기 미착지다리 착지위치 자세 허용영역으로부터 일탈해 있는 경우에는, 이 허용영역 내에서, 다음회 미착지다리 착지예정 위치 자세의 현재 임시 결정값에 가장 가깝게 되는 것과 같은 미착지다리 족평(22)의 착지위치 자세를 다음회 제1 제한완료 미착지다리 착지예정 위치 자세로서 결정한다.
보충하면, 상기 금회 제1 제한완료 미착지다리 착지예정 위치 자세 및 다음회 미착지다리 착지예정 위치 자세는 본 발명에서의 제2 임시 착지예정 위치 자세에 상당한다.
(4): 이어서, 다음회 제1 제한완료 미착지다리 착지예정 위치 자세가 다음회 미착지다리 족평 예정 위치 자세의 현재 임시 결정값에 대하여 일치하는지 아닌지, 또는, 다음회 제1 제한완료 미착지다리 착지예정 위치 자세가 다음회 보용의 미착지다리 족평(22)의 착지 예정시각에서의 대상물(120)의 위치 자세에 대하여 상기 대상물·로봇 간 위치 자세요구를 만족하는지 아닌지(환언하면 다음회 제1 제한완료 미착지다리 착지예정 위치 자세가 다음회 미착지다리 족평 예정 위치 자세의 현재 임시 결정값과 거의 일치하는지 아닌지)를 판단한다.
(4a): 상기 (4)의 판단 결과가 부정적일 경우에는, 다음회 미착지다리 착지 예정 위치 자세의 현재 임시 결정값과 다음회 제1 제한완료 미착지다리 착지예정 위치 자세와의 차분만큼, 금회 제1 제한완료 미착지다리 착지예정 위치 자세에 더함으로써 금회 제1 제한완료 미착지다리 착지예정 위치 자세를 보정한다. 그리고, 이 보정 후의 금회 제1 제한완료 미착지다리 착지예정 위치 자세를, 상기 미착지다리 착지위치 자세 허용영역에 의해 다시 제한하고, 금회 제2 제한완료 미착지다리 착지예정 위치 자세를 결정한다. 구체적으로는, 보정 후의 금회 제1 제한완료 미착지다리 착지예정 위치 자세가, 금회 보용 지지다리 좌표계에 있어서, 미착지다리 착지위치 자세 허용영역 내에 존재하는 경우에는, 그 보정 후의 금회 제1 제한완료 미착지다리 착지예정 위치 자세를 그대로, 금회 제2 제한완료 미착지다리 착지예정 위치 자세로서 결정한다. 또, 보정 후의 금회 제1 제한완료 미착지다리 착지예정 위치 자세가, 금회 보용 지지다리 좌표계에 있어서, 미착지다리 착지위치 자세 허용영역으로부터 일탈해 있는 경우에는, 이 허용영역 내에서, 상기 보정 후의 금회 제1 제한완료 미착지다리 착지예정 위치 자세에 가장 가깝게 되는 것과 같은 미착지다리 족평(22)의 착지위치 자세를 금회 제2 제한완료 미착지다리 착지예정 위치 자세로서 결정한다.
(4b): 또, 상기 (4)의 판단 결과가 긍정적일 경우에는, 상기 (3)의 처리에서 결정된 금회 제1 제한완료 미착지다리 착지예정 위치 자세가 그대로, 금회 제2 제한완료 미착지다리 착지예정 위치 자세로서 결정된다.
도 16에 도시한 예에서는, 예를 들면 도 17의 빗금 친 미착지다리 족평(22R)으로 나타내는 바와 같이, 금회 제2 제한완료 미착지다리 착지예정 위치 자세가 결 정된다. 이 예에서는, 미착지다리 착지위치 자세 허용영역에 의한 제한에 의해, 금회 제2 제한완료 미착지다리 착지예정 위치 자세는 금회 미착지다리 착지예정 위치 자세의 현재 임시 결정값과 상이한 위치 자세로 되어 있다.
(5): 다음에 상기 (4a) 또는 (4b)의 처리 후, 금회 제2 제한완료 착지예정 위치 자세에 대응하여 정해지는 다음회 보용 지지다리 좌표계에서의 미착지다리 착지위치 자세 허용영역 내에, 다음회 미착지다리 착지예정 위치 자세의 현재값이 존재하는지 아닌지, 또는, 금회 제2 제한완료 착지예정 위치 자세에 대응하여 정해지는 다음회 보용 지지다리 좌표계에서의 미착지다리 착지위치 자세 허용영역을 만족하고, 또한, 다음회 보용의 미착지다리 족평(22)의 착지 예정시각에서의 대상물(120)의 위치 자세에 대하여 상기 대상물·로봇 간 위치 자세 요구를 만족할 수 있는 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세(이것은 다음회 미착지다리 착지예정 위치 자세의 현재값에 일치 또는 거의 일치함)를 설정하는 것이 가능한지 아닌지가 판단된다.
(5a): 상기 (5)의 판단 결과가 긍정적이라는 것은, 상기 필요 요건을 만족하도록, 금회 보용 및 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세를 결정하는 것이 가능한 것을 의미한다. 따라서, 이 경우에는, S23의 판단 처리의 결과를 YES로 하고, 후술하는 S25의 처리로 진행된다.
(5b): 한편, 상기 (5)의 판단 결과가 부정적일 경우에는, 대상물(120)의 현상의 이동계획에서는, 상기 필요 요건을 만족할 수 있는 것과 같은, 금회 보용 및 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세를 결정할 수 없는 것을 의미한다. 그래서, 이 경우에는, S23의 판단 처리의 결과를 NO로 하고, 후술의 S29의 처리로 진행된다.
이상이, S23의 판단 처리의 상세하다.
도 6의 플로우차트의 설명으로 되돌아와, S23의 판단 결과가 YES일 경우(이 판단 결과가 긍정적일 경우)에 실행되는 S25의 처리에서는, 상기 S23의 판단 처리에서의 상기 (4a) 또는 (4b)의 처리에서 결정된 상기 금회 제2 제한완료 미착지다리 착지예정 위치 자세가 금회 미착지다리 착지예정 위치 자세의 현재값에 일치하고 있는지 아닌지가 판단된다.
이 판단 결과가 YES일 경우에는, 금회 미착지다리 착지예정 위치 자세의 현재 임시 결정값 및 다음회 미착지다리 착지예정 위치 자세의 현재 임시 결정값은 상기 필요 요건을 만족할 수 있는 것으로 되어 있다. 그래서, 이 경우에는, 후술의 S31의 처리로 진행된다.
또, S25의 판단 결과가 NO일 경우에는, S27로 진행되고, 금회 보용 및 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세를 다시, 임시 결정한다. 이 경우, 금회 보용의 미착지다리 족평(22)의 착지예정 위치 자세의 새로운 임시 결정값으로서, 상기 S23의 판단 처리에서의 상기 (4a) 또는 (4b)의 처리에서 결정된 상기 금회 제2 제한완료 미착지다리 착지예정 위치 자세가 설정된다.
또, 이 상기 다음회 미착지다리 착지예정 위치 자세의 현재 임시 결정값이 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세의 새로운 임시 결정값으로서 다시 설정된다. 또는, 금회 제2 제한완료 미착지다리 착지예정 위치 자세에 대응하여 정해지는 다음회 보용 지지다리 좌표계에서의 미착지다리 착지위치 자세 허용영역을 만족하고, 또한, 다음회 보용의 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에서의 대상물(120)의 위치 자세에 대하여 상기 대상물·로봇 간 위치 자세 요구를 만족할 수 있는 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세를 다시 고쳐서 구하고, 그 구한 착지예정 위치 자세를 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세의 새로운 임시 결정값으로서 설정해도 된다.
그리고, 이 S27의 처리 후에, 상기 도 5의 S07로부터의 처리가 다시 실행된다.
보충하면, S27에서 임시 결정되는 금회 미착지다리 착지예정 위치 자세 및 다음회 미착지다리 착지예정 위치 자세 중, 다음회 미착지다리 착지예정 위치 자세는 다음회 보용의 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에서의 대상물(120)과의 위치 자세(현재의 이동계획에 기초하는 위치 자세)에 대하여 상기 대상물·로봇 간 위치 자세 요구를 만족한다. 이에 반해, S27에서 임시 결정되는 금회 미착지다리 착지예정 위치 자세는 일반적으로는 금회 보용의 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에 있어서의 대상물(120)의 위치 자세(현재의 이동계획에 기초하는 위치 자세)에 대하여 상기 대상물·로봇 간 위치 자세요구를 충족시키지 못한다. 이것은, 상기 S05에서 1보째 및 2보째의 착지예정 위치 자세를 결정하는 경우와 달리, S27에서는, 1보째의 미착지다리 족평(22)의 착지예정 위치 자세를 큼직하게 내딛게 함으로 써 금회 보용에 있어서의 대상물(120)의 이동량을 이동계획보다도 크게 취하여, 현재시각으로부터 다음회 보용의 종료시(다음회 보용의 미착지다리 족평(22)의 착지 예정시각)까지, 대상물(120)을 이동계획에 기초하는 위치 자세에 일치시키도록, 금회 미착지다리 착지예정 위치 자세 및 다음회 미착지다리 착지예정 위치 자세를 임시 결정하기 위해서이다.
한편, S23의 판단 결과가 NO일 경우(이 판단 결과가 부정적일 경우)에 실행되는 S29의 처리에서는, 이동계획의 수정처리가 실행된다. 이 처리는 다음 (6)∼(11)의 수순으로 실행된다.
(6): 우선, S23의 판단 처리에서의 상기 (4a) 또는 (4b)의 처리에서 결정된 상기 금회 제2 제한완료 미착지다리 착지예정 위치 자세(도 17을 참조)에 대응하여 정해지는 다음회 보용 지지다리 좌표계에서의 미착지다리 착지위치 자세 허용영역을 만족하고, 또한, 다음회 미착지다리 착지예정 위치 자세의 현재 임시 결정값에 가장 가까운 착지예정 위치 자세를 다음회 제2 제한완료 미착지다리 착지예정 위치 자세로서 결정한다.
도 17의 예에서는, 예를 들면 동 도면의 빗금 친 미착지다리 족평(22L)으로 나타내는 바와 같이, 다음회 제2 제한완료 미착지다리 착지예정 위치 자세가 결정된다. 이 예에서는, 미착지다리 착지위치 자세 허용영역에 의한 제한에 의해, 다음회 제2 제한완료 미착지다리 착지예정 위치 자세는 다음회 미착지다리 착지예정 위치 자세의 현재 임시 결정값과 상이한 위치 자세로 되어 있다.
보충하면, 여기에서 결정되는 다음회 제2 제한완료 미착지다리 착지예정 위 치 자세와, 상기 금회 제2 제한완료 미착지다리 착지예정 위치 자세는 본 발명에서의 제3 임시 착지예정 위치 자세에 상당하는 것이다.
(7): 이어서, 금회 보용의 지지다리 족평(22)(도 17의 예에서는 22L)에 대하여, 최적인 대상물(120)의 위치 자세를 결정한다. 그 최적의 위치 자세는 금회 보용의 개시시부터 반보분의 시간이 경과한 시각에서의 대상물(120)의 최적 위치 자세를 의미하고, 금회 보용의 개시시의 지지다리 족평(22)의 위치 자세(즉 전회 보용의 미착지다리 족평(22)의 착지위치 자세)와의 사이에서 상기 대상물·로봇간 위치 자세 요구를 만족하도록 결정된다.
도 17의 예에서는, 점 C0a의 위치에 있는 파선으로 나타내는 대상물(120)의 위치 자세가, 금회 보용의 개시시로부터 반보분의 시간이 경과한 시각에 있어서의 최적의 위치 자세(이하, 대상물(120)의 금회 보용 내 최적 위치 자세라고 함)로서 결정된다.
또한, 상기 금회 제2 제한완료 미착지다리 착지예정 위치 자세에 대하여, 상기 대상물·로봇 간 위치 자세 요구를 만족하는 대상물(120)의 위치 자세가 금회 보용의(1보째의) 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에서의 대상물(120)의 최적 위치 자세인 금회 착지 후 최적 위치 자세로서 결정된다. 마찬가지로, 상기 다음회 제2 제한완료 미착지다리 착지예정 위치 자세에 대하여, 상기 대상물·로봇 간 위치 자세 요구를 만족하는 대상물(120)의 위치 자세가 다음회 보용의(2보째의) 미착지다리 족평(22)의 착지 예정시각으로부터 반보분의 시간이 경과한 시각에 있어서의 대상물(120)의 최적 위치 자세인 다음 회 착지 후 최적 위치 자세로서 결정된다.
도 17의 예에서는, 점 C1a의 위치에 있는 파선으로 표시하는 대상물(120)의 위치 자세가 금회 착지 후 최적 위치 자세로서 결정되고, 점 C2a의 위치에 있는 파선으로 표시하는 대상물(120)의 위치 자세가 다음회 착지 후 최적 위치 자세로서 결정된다.
(8): 이어서, 상기와 같이 결정한 대상물(120)의 금회 보용 내 최적 위치 자세와, 금회 착지 후 최적 위치 자세와, 다음회 착지 후 최적 위치 자세를 기초로, 금회 보용 및 다음회 보용의 미착지다리 족평(22)의 착지예정 위치 자세를 각각 상기 금회 제2 제한완료 미착지다리 착지예정 위치 자세, 다음회 제2 제한완료 미착지다리 착지예정 위치 자세로 설정한 경우에 있어서의 대상물(120)의 이동거리(W01, W12)(도 17 참조)를 산출한다. 도 17에 도시하는 바와 같이, 이동거리 W01은 대상물(120)의 금회 보용 내 최적 위치 자세에서의 위치(점 C0a의 위치)로부터 금회 착지 후 최적 위치 자세에서의 위치(점 C1a의 위치)까지의 이동벡터 V01a의 길이이며, 이동거리 W12는 대상물(120)의 금회 착지 후 최적 위치 자세에 있어서의 위치(점 C1a의 위치)로부터 다음회 착지 후 최적 위치 자세에 있어서의 위치(점 C2a의 위치)까지의 이동벡터 V12a의 길이이다.
보충하면, 이동벡터 V01a 및 V12a에 의해 나타내지는 대상물(120)의 이동경로는 본 발명에서의 제1 예상 이동경로에 상당한다. 또, 상기 (2)의 처리에서 구한 이동벡터(V01 및 V12)에 의해 표시되는 대상물(120)의 이동경로는 본 발명에 있어서의 제2 예상 이동경로에 상당한다.
(9): 이어서, 상기와 같이 구한 이동거리 W01과, 이동벡터 V01a와, 상기 S23의 판단 처리에서의 (2)의 처리에서 구한 이동벡터 V01을 기초로, 이동벡터 V01a를 이동벡터 V01의 방향에 투영하여 이루어지는 벡터의 길이 W01s(이동거리 W01의 이동벡터 V01의 방향으로의 사영성분)를 구한다(도 18 참조). 즉, 이동벡터 V01a와 이동벡터 V01이 이루는 각도의 코사인값을 W01에 곱함으로써 W01s를 구한다. 마찬가지로, 이동거리 W12와, 이동벡터 V12a와, 상기 S23의 판단 처리에서의 (2)의 처리에서 구한 이동벡터 V12를 기초로, 이동벡터 V12a를 이동벡터 V12의 방향으로 투영하여 이루어지는 벡터의 길이 W12s(이동거리 W12의 이동벡터 V12의 방향으로의 사영성분)를 구한다(도 18 참조). 즉, 이동벡터 V12a와 이동벡터 V12가 이루는 각도의 코사인값을 W12에 곱함으로써 W12s를 구한다.
여기에서, 상기한 바와 같이 결정되는 금회 제2 제한완료 미착지다리 착지예정 위치 자세 및 다음회 제2 제한완료 미착지다리 착지예정 위치 자세는, 적어도 다음회 보용(2보째)에 있어서, 대상물(120)을 현재의 이동계획에 기초하는 대상물 운동 궤도의 경로(도 18에서는 파선으로 나타내는 경로)에 근접하도록 결정되므로, 그 경로가 대상물(120)을 선회시키는 것과 같은 경로(보다 일반적으로는, 대상물(120)의 속도 벡터의 방향이 경시적으로 변화되는 것과 같은 경로)일 경우에는, 일반적으로, 1보째(금회 보용)의 이동벡터(V01a, V01)의 방향이 서로 상이함과 아울러, 2보째(다음회 보용)의 이동벡터(V12a, V12)의 방향이 서로 상이하다. 그리고, 로봇(1)의 금회 보용 및 다음회 보용에서의 미착지다리 족평(22)의 착지예정 위치 자세를, 각각 금회 제2 제한완료 미착지다리 착지예정 위치 자세 및 다음회 제2 제한완료 미착지다리 착지예정 위치 자세로 결정하여 대상물(120)의 이동을 실제로 행한 경우에는, 대상물(120)의 실제의 이동경로는, 그것들의 착지예정 위치 자세에 대하여 적합한 대상물(120)의 위치(도 18의 점(C1a, C2a)을 통과하는 경로)보다도, 현재의 이동계획에 기초하는 대상물 운동 궤도의 경로(도 18에서는 파선으로 나타내는 경로) 근처에 치우치기 쉽다.
그래서, 본 실시형태에서는, 상기한 바와 같이 이동거리(W01s, W12s)를 구함으로써, 로봇(1)의 금회 보용 및 다음회 보용에서의 미착지다리 족평(22)의 착지예정 위치 자세를, 각각 금회 제2 제한완료 미착지다리 착지예정 위치 자세 및 다음회 제2 제한완료 미착지다리 착지예정 위치 자세로 결정한 경우에 있어서의, 상기 금회 보용 내 최적 위치 자세에 대응하는 시각(금회 보용의 개시시로부터 반보분의 시간이 경과한 시각)으로부터 상기 금회 착지 후 최적 위치 자세에 대응하는 시각(다음회 보용의 개시시로부터 반보분의 시간이 경과한 시각)까지의 대상물(120)의 실효적인 이동거리와, 상기 금회 착지 후 최적 위치 자세에 대응하는 시각으로부터 상기 다음회 착지 후 최적 위치 자세에 대응하는 시각(다음다음회 보용의 개시시로부터 반보분의 시간이 경과한 시각)까지의 대상물(120)의 실효적인 이동거리를 추정하도록 했다. 즉, 상기와 같이 구해지는 이동거리(W01s, W12s)는 각각 당해 실효적인 이동거리의 추정값을 의미한다.
또한, 대상물(120)의 현재의 이동계획에 기초하는 이동경로가 직선 모양일 경우에는, 이동벡터 V01a, V01의 방향과, 이동벡터 V12a, V12의 방향은 서로 거의 동일하게 된다. 이 경우에는, 이동거리 W01s, W12s는 각각 W01, W02에 거의 일치 하므로, 상기 (9)의 처리는 생략해도 된다. 이 경우에는, W01s=W01, W02s=W02로 하면 된다.
보충하면, 상기 금회 보용 내 최적 위치 자세에 대응하는 시각으로부터, 상기 다음회 착지 후 최적 위치 자세에 대응하는 시각까지의 기간은 본 발명에서의 제1 소정 기간에 상당한다.
(10): 이어서, 상기한 바와 같이 (9)의 처리에서 구한 이동거리 W01s, W12s의 총합(=W01s+W12s)과, 상기 S23의 처리에서의 (2)의 처리에서 구한 이동거리 L01, L12의 총합(=L01+L12)과의 비(=(W01s+W12s)/(L01+L12))에, 다음 식 100에 의해 결정되는 보정계수(Kt)를 곱함으로써 이동계획에 있어서의 대상물(120)의 목표 이동속도(속도 지령값)을 수정하기 위한 속도지령 수정 패러미터(Vel)를 결정한다. 즉, Vel을 식 101에 의해 결정한다.
Kt=(Trest+Tm+0.5*Tm)/(2*Tm) ……식 100
Vel=Kt*(W01s+W12s)/(L01+L12) ……식 101
또한, 식 100에서의 Trest는 현재시각으로부터 금회 보용의 종단시각까지의 잔여시간, Tm은 단위 보용의 주기이다. 또, 보정계수(Kt)는 그 상한값을 1로 하고, 식 100의 우변의 연산결과가 1을 초과하는 경우에는, Kt=1로 한다. 따라서, Vel은 1 이하의 음이 아닌 값이다.
여기에서, 식 100의 분모는 상기 금회 보용 내 최적 위치 자세에 대응하는 시각으로부터, 다음회 착지 후 최적 위치 자세에 대응하는 시각까지의 기간의 시간(이것은 보용 주기 Tm의 2배의 시간이다), 바꾸어 말하면, (W01s+W12s)의 이동거 리만큼, 현재의 이동계획에 기초하는 대상물(120)의 이동경로에 따르도록 하여 대상물(120)을 이동시킬 때에 요하는 시간을 의미한다. 또, 식 100의 분자는 대상물(120)을 도 16∼도 18에 도시하는 현재 위치(점 C0의 위치)로부터, 점 C2의 위치까지 이동시키는데 요하는 시간, 바꾸어 말하면, (L01+L12)의 이동거리만큼, 현재의 이동계획에 기초하는 대상물(120)의 장래의 이동경로에 따르도록 하여 대상물(120)을 이동시킬 때에 요하는 시간을 의미한다. 또한, 이 경우, 도 17의 점 C0로부터 점 C1까지 대상(120)을 이동시키는데 요하는 시간이 Trest+0.5*Tm이고, 점 C1부터 점 C2까지 대상물(120)을 이동시키는데 요하는 시간이 Tm이다. 보충하면, 현재시각으로부터, 점 C2에 대응하는 시각(다음다음회 보용의 개시시로부터 반보분의 시간이 경과한 시각)까지의 기간은 본 발명에서의 제2 소정 기간에 상당한다.
따라서, 식 101에 의해 결정되는 속도지령 수정 패러미터(Vel)는 (W01s+W12s)의 이동거리만큼 대상물(120)을 이동시킬 때의 대상물(120)의 평균 이동속도와, (L01+L12)의 이동거리만큼 대상물(120)을 이동시킬 때의 대상물(120)의 평균 이동속도와의 비를 의미한다. 바꾸어 말하면, 상기 대상물·로봇 간 위치 자세 요구와 미착지다리 족평 착지위치 자세 허용영역을 만족하는 점에서 적합한 대상물(120)의 평균 이동속도와, 현재의 이동계획에 기초하는 대상물(120)의 평균 이동속도와의 비가 속도지령 수정 패러미터(Vel)이다.
(11) 그래서, 본 실시형태에서는, 다음에 현재의 이동계획에 기초하는 대상물(120)의 목표 이동속도(현재시각으로부터 로봇(1)의 복수보분의 기간에서의 목표 이동속도의 시계열)에, 상기한 바와 같이 (10)의 처리에서 구한 속도지령 수정 패 러미터(Vel)를 곱함으로써, 이동계획을 수정한다. 즉, 수정 후의 이동계획에 기초하는, 대상물(120)의 목표 이동속도(현재시각으로부터 로봇(1)의 복수보분의 기간에 있어서의 목표 이동속도의 시계열)가 수정 전의 이동계획에 기초하는 목표 이동속도에 Vel을 곱한 값이 되도록 이동계획을 수정한다.
이상이, S29에서의 처리의 상세하다.
도 5 및 도 6의 플로우차트의 설명으로 되돌아와, S29의 처리의 후에는, 도 5의 S03으로부터의 처리가 다시 실행된다.
그리고, 이상에서 설명한 처리에 의해, 최종적으로 도 6의 S25의 판단 처리의 판단 결과가 YES가 되면, 다음에 도 7의 S31로부터의 처리가 실행된다. 또한, S31로부터의 처리를 실행하기 전에, 현재 결정되어 있는 금회 보용 패러미터와 정상 보용 패러미터를 기초로, 현재시각으로부터 상기 제2 선회 보용의 종단까지의 목표 상체위치 자세 궤도를 시행적으로 작성함과 아울러, 현재의 목표 대상물 운동 궤도를 기초로 목표 손끝위치 자세 궤도를 시행적으로 결정하고, 그것들에 기초하여, 팔체(4)의 완전히 펴짐이나, 상체(3)와 대상물(120)과의 간섭 등이 발생하지 않는지의 여부를 확인해도 된다. 그리고, 이 확인에 의해, 팔체(4)의 완전히 펴짐이나, 상체(3)와 대상물(120)의 간섭 등이 발생하는 것과 같은 경우에는, 금회 보용이나 다음회 보용의 착지예정 위치 자세, 또는, 목표 대상물 운동 궤도, 혹은 대상물(120)의 이동계획을 더욱 수정하도록 해도 된다.
도 7의 S31의 처리에서는, 금회 보용 패러미터(S01∼S29까지의 처리에서, 최종적으로 결정된 금회 보용 패러미터)를 기초로, 목표 ZMP를 만족하도록, 손끝위치 자세 순시값을 제외한, 현재시각의 금회 보용 순시값을 산출한다.
이 산출 처리는 다음과 같이 행해진다. 즉, 금회 보용 패러미터 중 족평 궤도 패러미터를 기초로, 목표 족평위치 자세의 순시값이 산출된다. 이 산출 처리는, 상기 S13의 처리 중에서, ZMPfeet[i]을 산출하는 처리에 관하여 설명한 경우와 동일하게, 본 출원인이 일본 특허 제3233450호에서 제안한 유한 시간정정 필터를 사용하여 각 족평(22)마다 행해진다. 또한, 정상 보용에 대하여 설명한 경우와 같이 금회 보용의 미착지다리 족평(22)의 착지예정 위치 자세가 전회 보용의 지지다리 족평(22)의 착지위치 자세와 동일한 경우에는, 금회 보용의 각 목표 족평위치 자세의 순시값은 금회 보용 초기의 상태에 유지된다. 단, 금회 보용의 미착지다리 족평(22)을 일단 상승시키고, 원래의 착지위치 자세로 되돌리도록 금회 보용의 미착지다리 족평(22)의 족평위치 자세 궤도의 순시값을 생성하도록 해도 된다.
또, 금회 보용 패러미터 중, ZMP 궤도 패러미터를 기초로, 목표 ZMP의 순시값이 산출됨과 아울러, 대상물 반력 모멘트 궤도 패러미터를 기초로, 목표 대상물 반력 모멘트의 순시값이 산출된다.
또한, 상기 산출된 목표 족평위치 자세의 순시값과, 목표 ZMP의 순시값과, 목표 대상물 반력 모멘트의 순시값으로부터, 상기 도 14의 동역학적 연산에 의해, 목표 상체위치 자세의 순시값이 산출된다. 또한, 본 실시형태에서는, 목표 상체자세는 예를 들면, 연직자세로 된다. 단, 목표 상체자세를 연직자세로 유지할 필요는 없고, 변화시키도록 해도 된다. 목표 상체자세를 변화시키는 경우에는, 로봇 단순화 모델은 상체(3)의 자세변화에 수반되는 로봇(1)의 각운동량 변화를 고려한 동역학 모델로 하는 것이 바람직하고, 예를 들면 본원 출원인이 PCT 국제공개 공보 WO/03/057422 A1에서 제안한 동 공보의 도 10에 도시하는 바와 같은 동역학 모델을 사용하면 된다.
이상의 S31의 처리에 의해 로봇(1)의 목표 보용의 운동 중, 목표 족평위치 자세 및 목표 상체위치 자세의 순시값이 결정된다. 본 실시형태의 로봇(1)에서는, 각 다리체(2)는 6자유도를 가지므로, 목표 상체위치 자세와 목표 족평위치 자세가 결정되면, 각 다리체(2)의 각 관절의 회전각은 일의적으로 정해진다. 보충하면, 본 실시형태에서는, S31에서 구해지는 목표 상체위치 자세는 후술하는 S39의 처리에 의해 더욱 보정된다.
이어서, S33으로 진행되고, 최종 수정 목표 손끝위치의 전회값(전회의 연산처리 주기에서의 값)을 기초로, 전회의 연산처리 주기(보용 생성 장치(100)의 연산처리 주기)에서의 대상물(120)의 실제의 위치(이동위치)인 실대상물 위치를 추정한다. 여기에서, 최종 수정 목표 손끝위치는, 후술하는 팔 메인 제어장치(106)에서 구해지는 것이며, 로봇(1)의 실제의 손끝위치의 지령값에 상당하는 것이다. 그래서, 예를 들면 최종 수정 목표 손끝위치의 전회값을 로봇(1)의 실제의 손끝위치의 전회값으로 하고, 이것과 소정의 상대위치 관계를 갖는 위치를 실대상물 위치로서 추정한다. 또한, 대상물(120)에 자이로 센서나 가속도 센서를 탑재해 두고, 그것들의 검출값으로부터 실대상물 위치를 추정하도록 하는 것도 가능하다.
이어서, S35로 진행되고, 상기한 바와 같이 추정한 실대상물 위치와, 목표 대상물 위치의 편차(이하, 대상물 위치 편차라고 함)와, 현재의 목표 대상물 운동 궤도를 기초로, 대상물 동역학 모델을 사용하여 목표 대상물 운동의 순시값(금회값)과, 추정 외란력의 순시값(금회값)과, 목표 대상물 반력의 순시값(금회값)이 산출된다. 또한, 대상물 위치 편차를 규정하는 실대상물 위치와 목표 대상물 위치 중의 목표 대상물 위치는 전회의 연산처리 주기에서 구한 값(전회값)이 사용된다.
여기에서, 이 S35의 처리에서 사용하는 대상물 동역학 모델과 S35의 처리를 도 19의 블럭도를 참조하여 설명한다. 도 19는 S03에서 목표 대상물 운동 중 목표 대상물 위치와 목표 대상물 반력과 추정 외란력을 구하는 연산처리를 도시하는 블럭도이며, 도면 중의 참조부호 238을 붙인 부분이 대상물(120)에 작용하는 힘과 대상물(120)의 운동과의 관계를 나타내는 대상물 동역학 모델로 되어 있다. 이 대상물 동역학 모델은 상기 도 9에 도시한 것과 일부의 구조가 다르므로, 이하의 설명에서는, 도 19 중의 대상물 동역학 모델을 도 9의 대상물 동역학 모델과 구별하기 위하여, 대상물 동역학 모델(2)이라고 한다.
이 대상물 동역학 모델(2)의 기본구조는, 도 9의 대상물 동역학 모델과 동일하고, 대상물(120)에 작용하는 힘(보다 상세하게는 수평방향의 병진력)을 입력으로 하여, 그 입력값(후술의 승산부(242)에서 구해지는 값)에, 대상물(120)의 질량(M)의 역수 1/M을 승산부(244)로 승산함으로써 대상물(120)의 운동가속도를 구하고, 이것을 적분기(246, 250)로 차례로 적분하는(2중 적분하는) 것으로 되어 있다. 단, 대상물 동역학 모델(2)에서는, 도 9의 대상물 동역학 모델과 달리, 적분기(250)에는, 적분기(246)의 출력(운동가속도의 적분값)에 더하여, 모델 속도 조작량이 추가적으로 입력되게 되어 있다. 이 모델 속도 조작량은 모델 속도 조작량 결정부(252)에 의해, 실대상물 위치와 목표 대상물 위치와의 편차를 0에 근접시키도록 피드백 제어칙에 의해 결정되는 속도 조작량이며, 본 실시형태에서는 다음 식 17에 의해 결정된다.
모델 속도 조작량=Ke1*대상물 위치 편차+∫(Ke2*대상물 위치 편차)dt
…… 식 17
즉, 모델 속도 조작량은 대상물 위치 편차로부터 PI 제어칙(비례적분 제어칙)에 의해 결정된다. 또한, 식 17의 Ke1, Ke2는 소정의 게인이다. 도 19의 모델 속도 조작량 결정부(252)는 식 17의 우변의 연산을 행하는 연산처리부이다. 즉, 모델 속도 조작량 결정부(252)는 실대상물 위치(현재의 연산처리 주기에서의 S33에서 구한 금회값)와 목표 대상물 위치(전회의 연산처리 주기에서의 S35에서 구한 전회값)로부터, 그것들의 차인 대상물 위치 편차를 감산부(254)에서 구한다. 그리고, 구한 대상물 위치 편차에 승산부(256)에서 게인(Ke1)을 승산한 것(비례항)과, 이 대상물 위치 편차에 승산부(258)에서 게인(Ke2)을 승산한 것을 더욱 적분기(260)에서 적분한 것(적분항)을, 가산부(262)에서 가산함으로써, 모델 속도 조작량을 산출한다. 또한, 산출된 모델 속도 조작량은 대상물 동역학 모델(2)의 적분기(250)의 입력측에 구비한 가산부(248)에서, 적분기(246)의 출력에 가산된 후, 적분기(250)에 입력된다. 보충하면, 도 19의 블럭도에서는, 모델 속도 조작량을 산출한 후에, 이것을 대상물 동역학 모델(2)에 추가적으로 입력하도록 되어 있는데, 모델 속도 조작량 결정부(252)의 적분기(260)를 생략하고, 상기 승산부(258)의 출력을 추가적으로 적분기(246)에 입력하면서, 이때의 적분기(246)의 출력과, 승산 부(256)의 출력의 합을 적분기(250)에 입력하도록 해도 된다. 이렇게 해도, 대상물 동역학 모델(2)의 출력(적분기(250)의 출력)은 도 19의 것과 동일하게 된다.
이러한 대상물 동역학 모델(2)에서는, 가산부(248)의 출력을 적분기(250)에서 적분한 것이 목표 대상물 위치의 순시값으로서 얻어진다. 또, 가산부(248)의 출력이 이 대상물 동역학 모델(2) 상에서의 대상물(120)의 이동속도인 대상물 모델 속도가 된다.
대상물 동역학 모델(2)의 입력인, 대상물(120)에 대한 작용력 (병진력)의 요구값은 현재의 목표 대상물 운동 궤도(S27의 판단 결과가 YES로 되었을 때의 목표 대상물 운동 궤도)에 기초하는 목표 대상물 속도와, 대상물 모델 속도로부터 감산부(240)에서 구해지는 그것들의 편차(목표 대상물 속도-대상물 모델 속도)에 승산부(242)에서 소정의 게인(Kv)를 승산함으로써 구해진다. 즉, 대상물 동역학 모델(2)에 입력하는 병진력의 요구값은, 도 9의 것과 마찬가지로, 대상물 목표 속도와 대상물 모델 속도와의 편차가 0에 수렴하도록, 피드백 제어칙(이 예에서는 비례제어칙)에 의해 결정된다. 단, 이 경우의 대상물 모델 속도는, 상기한 바와 같이 가산부(248)의 출력이므로, 도 9의 것과 달리, 모델 속도 조작량이 가미된 것이다. 또, 목표 대상물 속도는 현재의 목표 대상물 운동 궤도 중 위치 궤도의 1차미분값으로서 얻어진다.
그리고, 상기한 바와 같이 구해진 병진력의 요구값의 부호를 반전시킨 것이 목표 대상물 반력의 순시값으로서 구해진다. 또, 이 병진력의 요구값이 대상물 동역학 모델(2)의 승산부(244)에 입력됨과 아울러, 상기 모델 속도 조작량이 가산 부(248)에 입력되고, 이것에 의해, 이 대상물 동역학 모델(2)의 적분기(250)로부터 목표 대상물 위치의 순시값이 출력된다. 바꾸어 말하면, 대상물 동역학 모델(2) 상에서의 대상물(120)의 운동상태량으로서의 대상물 모델 속도를, 목표 대상물 위치와 실대상물 위치의 편차를 0에 근접시키기 위한 모델 속도 조작량으로 수정하면서, 대상물 동역학 모델(2)의 동역학 연산에 의해 목표 대상물 위치가 차례차례 결정된다.
또, 도 19 중의 참조부호 264를 붙인 부분은, 추정 외란력을 구하는 처리를 행하는 추정 외란력 결정부이며, 이 추정 외란력 결정부(264)에는, 대상물 모델 속도와, 상기 병진력의 요구값이 입력된다. 대상물 모델 속도는 M·s/(Tc·s+1)이라는 형태의 전달함수로 표시되는 변환부(266)에 입력되고, 이 변환부(266)의 전달함수 중의 M은 대상물(120)의 질량, Tc는 소정의 시정수이다. 따라서, 변환부(266)는 대상물 모델 속도의 미분값(1차미분값)에 대상물(120)의 질량을 승산한 것(이것은 대상물(120)에 작용하는 모든 힘의 합력의 순시값에 상당함)에, 시정수(Tc)를 갖는 필터링 처리를 실시한 것을 대상물(120)에 작용하고 있는 병진력의 추정값으로서 구한다. 또한, 이 병진력의 추정값으로부터 상기 승산부(242)의 출력인 병진력의 요구값을 감산부(268)에서 뺌으로써, 추정 외란력의 순시값이 산출된다. 여기에서 구해진 추정 외란력의 순시값은 상기한 바와 같이 S02의 연산처리(도 9를 참조)에서 사용된다.
또한, 목표 대상물 운동 중 목표 대상물 자세의 순시값은, 예를 들면 목표 대상물 속도의 방향에 거의 일치하도록 결정된다.
이상이, S35의 연산처리이다. 이 S35의 연산처리에서 구해지는 추정 외란력은 실제의 대상물(120)에 작용하는 힘 중, 로봇(1) 이외로부터 작용하는 실제의 이 외란력을 실시간으로 추정한 것이므로, 이 추정 외란력을 상기 S02의 연산처리에서 사용함(도 9의 대상물 동역학 모델에 입력함)으로써, 상기 도 9의 대상물 동역학 모델 상에서의 대상물(120)의 거동(운동상태)을 실제의 대상물(120)의 거동(운동상태)에 가까운 것으로 할 수 있다.
이어서 S37에 진행되고, S35에서 구한 목표 대상물 운동의 순시값을 기초로, 목표 손끝위치 자세의 순시값(금회값)을 결정한다. 목표 손끝위치 자세의 순시값은 S09에서 목표 손끝위치 자세 궤도를 구한 경우와 동일하게 구해진다.
이상의 S37까지의 처리에 의해 구해지는 목표 보용의 순시값 중, 목표 상체위치 자세는, 상기 로봇 단순화 모델을 사용하여, 이 로봇 단순화 모델 상에서 목표 ZMP를 만족하도록(로봇(1)의 운동에 의한 관성력과 중력과 대상물 반력 모멘트의 합력이 목표 ZMP 주위에 발생하는 모멘트의 수평성분이 0이 되도록) 구해지고 있다. 따라서, S37까지의 처리에 의해 구해지는 목표 보용은 목표 ZMP 주위의 상반력 모멘트 수평성분이 로봇 단순화 모델 상에서 0이 되는 보용이다.
여기에서, 로봇 단순화 모델은 보용 생성 장치(100)의 연산부하를 효과적으로 경감할 수 있는 점에서의 이점은 크지만, 동역학적 정밀도는 반드시 고정밀도라고는 할 수 없다. 그래서, 본 실시형태에서는, 또한, 동역학적 정밀도가 높은 로봇 동역학 모델(이하, 이것을 풀 모델이라고 함)을 사용하여, 목표 보용 중 일부의 구성요소(구체적으로는, 목표 상체위치 자세 순시값과 목표 ZMP 주위의 상반력 모 멘트 순시값)를 보정한다. 이 보정 처리를 풀 모델 보정이라고 부르고, 이 풀 모델 보정이 S37의 처리의 다음에 S39로 실행된다.
이 풀 모델 보정은, 예를 들면 본원 출원인이 앞서 제안한 일본 특허공개 2002-326173호 공보에서 설명한 것과 완전히 동일하게 행해진다. 따라서, 본 명세서에서의 설명은 생략한다. 또한, 풀 모델 보정은, 예를 들면 본원 출원인에 의한 PCT국제공개 공보 WO 03/057427 A1에서 설명한 것과 동일하게 행하도록 해도 된다.
이 S39의 풀 모델 보정에 의해, 목표 상체위치 자세와, 목표 ZMP 주위의 상반력 모멘트가 보정된다. 이것에 의해, 최종적으로 보용 생성 장치(100)가 출력하는 목표 보용의 모든 구성요소의 순시값이 얻어진다.
이상에서 설명한 S01∼S39까지의 처리가 보용 생성 장치(100)의 연산처리 주기마다 실행되는 처리이다.
다음에 설명을 뒤로 미루었던, S01에서의 이동계획의 수정처리에 대하여 설명한다.
로봇(1)이 대상물(120)을 누르면서 이동하고 있을 때에, 현재의 이동계획(상기 이동 요구대로의 이동계획 등)에서 상정하고 있지 않은 단차(바닥의 볼록부)가 있거나, 대상물(120)에 로봇(1) 이외로부터 예기치 못한 외력이 작용한 것과 같은 경우에는, 이동계획에 기초하는 목표 대상물 운동 궤도와 실제의 대상물 운동 궤도(이하, 실대상물 운동 궤도라고 함)와의 벗어남이 커진다. 한편, 보용 생성 장치(100)는 목표 대상물 운동 궤도를 기초로 보용 패러미터 등을 결정하고, 보용을 생성하므로, 목표 대상물 운동 궤도와 실대상물 운동 궤도와의 벗어남이 과대하게 되면, 로봇(1)의 계속적 안정성을 확보할 수 있는 보용을 생성하는 것이 곤란하게 된다. 그래서, 본 실시형태에서의 S01에서는, 그 벗어남이 어느 정도 커진 경우(또는 커질 것으로 예측되는 경우)에는, S01에서 결정하는 이동계획을 실시간으로 수정한다.
이하, 이 처리의 구체적인 예를 도 20(a), (b)를 참조하여 설명한다. 예를 들면 현재(수정 전의) 이동계획이 대상물(120)을 일정 속도로 X축의 정방향으로 이동시킨다고 하는 계획인 것으로 한다. 이때, 이 수정 전의 이동계획(이하, 수정 전 이동계획이라고 함)을 기초로, 상기한 바와 같이 S35에서 산출되는 목표 대상물 운동 궤도(순시값의 시계열) 중 목표 대상물 위치 궤도는, 거의, 도 20(a)의 그래프 g6으로 나타내는 바와 같은 궤도가 된다. 여기에서, 시각 t1에서, 실제의 대상물(120)이, 수정 전 이동계획에서 예기치 못한 바닥의 단차(볼록부)에 걸려서, 대상물(120)이 멈추어버린 것으로 한다. 이때, 실대상물 위치의 궤도(S33에서 추정되는 실대상물 위치의 시계열)은 도 20(a)의 그래프 g7로 나타내는 바와 같은 궤도가 된다. 이 경우, 시각 t1 이후, 수정 전 이동계획에 기초하는 목표 대상물 위치와, 실대상물 위치와의 편차가 시간의 경과에 따라 커져 간다.
그래서, S01에서는, 예를 들면 전회의 연산처리 주기의 S35에서 구한 대상물 위치 편차(실대상물 위치와 목표 대상물 위치와의 차), 즉, 도 19의 감산부(254)에서 구한 대상물 위치 편차를 소정값과 비교하도록 하고 있다. 그리고, 그 대상물 위치 편차가 소정값보다도 커졌을 때(도 20(a)의 시각 t2)에는, 도 20(a)의 그래프 g8로 나타내는 바와 같이, 대상물 위치 편차의 증가를 억제하도록 수정 전 이동계 획을 수정한다. 수정한 이동계획을 이하, 수정 후 이동계획이라고 한다. 도 20(a)의 예에서는, 수정 후 이동계획은 시각 t2 이후, 대상물(120)의 이동속도가 거의 0으로 될 때까지 서서히 감속하는 것 같은 이동계획이 된다. 또한, 수정 후 이동계획은, 그것에 의해 규정되는 목표 대상물 운동이 수정 전 이동계획에 대하여 급격한 변화를 일으키지 않고 원활하게 연속되도록 결정하는 것이 바람직하다.
이와 같이 이동계획을 수정함으로써, 목표 대상물 반력이 과잉으로 커지거나 하지 않고, 로봇(1)의 계속적인 안정성을 확보할 수 있는 보용을 생성할 수 있다.
또한, 본 실시형태에서의 S01의 처리에서는, 상기한 바와 같이 이동계획을 수정한 후, 실대상물 위치의, 상기 수정 후 이동계획에 대응하는 목표 대상물 위치 궤도로의 추종성이 좋아져, 목표 대상물 운동 궤도와 실대상물 운동 궤도와의 벗어남이 어느 정도 작아지게 되면, 수정 후 이동계획을 수정 전 이동계획에 근접하도록 이동계획을 수정한다. 이 수정 후의 이동계획을 이하, 재수정 후 이동계획이라고 한다.
도 20(a)에 도시한 바와 같이 수정 후 이동계획을 결정한 경우를 예로 들어 설명하면 대상물(120)이 단차를 타고 넘으면(도 20(b)의 시각 t3), 실대상물 위치 궤도는 도 20(b)의 그래프 g7로 나타내는 바와 같이 수정 후 이동계획에 기초하는 목표 대상물 위치 궤도 g8에 근접해 간다.
이때, S01에서는, 대상물 위치 편차가 소정값보다도 작아지면(도 20(b)의 시각 t4), 도 20(b)의 그래프 g9로 나타내는 바와 같이, 대상물(120)의 이동속도가 당초의 수정 전 이동계획에 기초하는 대상물(120)의 이동속도에 근접하도록, 수정 후 이동계획을 재수정하고, 재수정 후 이동계획을 결정한다. 도 20(b)의 예에서는, 재수정 후 이동계획은 시각 t4 이후, 대상물(120)의 이동속도가 당초의 수정 전 이동계획에 기초하는 이동속도에 거의 일치할 때까지, 이 이동속도를 서서히 증가시키는 것과 같은 이동계획으로 된다. 또한, 재수정 후 이동계획은 그것에 의해 규정되는 목표 대상물 운동이 수정 후 이동계획에 대하여 급감된 변화를 일으키지 않고 원활하게 연속되도록 결정하는 것이 바람직하다.
상기의 예에서는, 재수정 후 이동계획에 기초하는 대상물(120)의 이동속도를 수정 전 이동계획에 기초하는 이동속도에 근접하게 했지만, 재수정 후 이동계획에 기초하는 목표 대상물 위치 궤도를 수정 전 이동계획에 기초하는 대상물 위치 궤도에 근접하도록 하는 것도 가능하다.
보충하면, 실대상물 운동 궤도와, 이동계획에 기초하는 목표 대상물 운동 궤도의 벗어남이 커지는 것과 같은 상황은, 실제의 대상물(120)에 작용하는 힘 중, 로봇(1)으로부터 작용하는 힘 이외의 외란력이 비교적 크게 변화된 경우에 발생한다. 따라서, 상기한 바와 같이 대상물 위치 편차에 따라 이동계획을 수정하는 대신, 예를 들면 상기 추정 외란력의 변화에 따라 이동계획을 수정하도록 해도 된다.
이상이, 본 실시형태에서의 보용 생성 장치(100)의 처리의 상세이다.
다음에 제어 유닛(60)의 보용 생성 장치(100) 이외의 처리를 이하에 설명한다. 또한, 이 처리는 앞에 기술한 바와 같이, 일본 특개평 10-230485호 공보의 제1 실시형태에서 제안한 것과 동일하므로, 개략적인 설명에 그친다.
보용 생성 장치(100)에서 생성된 목표 보용 중, 목표 상체위치 자세 궤도와, 목표 ZMP 궤도와, 목표 대상물 반력 궤도가 대상물 반력 평형 제어장치(102)에 입력된다. 대상물 반력 평형 제어장치(102)는 목표 대상물 반력과 실제의 로봇(1)이 대상물(120)로부터 받는 반력인 실대상물 반력과의 편차를 해소하도록(0에 근접하도록), 목표 ZMP 주위의 목표 상반력 모멘트를 수정하기 위한 대상물 반력 평형 제어용 보상 전체 상반력을 산출함과 아울러, 목표 운동 중 목표 상체위치 자세를 수정하여 이루어지는 수정 목표 상체위치 자세를 구하는 것이다. 이 대상물 반력 평형 제어장치(102)의 처리에 대해서는 후술한다.
또, 목표 보용 중 목표 족평위치 자세 궤도, 목표 ZMP 궤도 및 목표 전체 상반력 궤도는 다리 메인 제어장치(104)에 입력된다. 또한, 다리 메인 제어장치(104)에는, 대상물 반력 평형 제어장치(102)로부터 수정 목표 상체위치 자세와 대상물 반력 평형 제어용 보상 전체 상반력이 입력된다. 다리 메인 제어장치(104)는 컴플라이언스 제어처리에 의해, 목표 보용의 운동(팔체(5, 5)의 운동을 제외함)과 상반력에 추종시키도록 다리체(2, 2)의 관절 액추에이터(전동 모터)를 제어한다. 보다 구체적으로는, 자세 센서(54)의 검출값(실상체 자세)을 수정 목표 상체자세로 복원시키기 위하여, 목표 ZMP에 발생시켜야 할 복원 전체 상반력을 산출하고, 목표 ZMP에 작용하는 실제 전체 상반력 모멘트 성분(이것은 다리체(2, 2)의 6축력 센서(50)의 검출값으로부터 구해짐)이, 이 복원 전체 상반력과 목표 전체 상반력과 대상물 반력 평형 제어용 보상 전체 상반력의 합력의 모멘트 성분에 일치하도록, 목표 족평위치 자세를 수정한다. 수정된 목표 족평위치 자세를 수정 목표 족평위치 자세라고 한다. 그리고, 다리 메인 제어장치(104)는 이 수정 목표 족평 위치 자세와 수정 목표 상체위치 자세라로부터 결정되는 양다리체(2, 2)의 목표 관절변위에 실제 관절변위가 추종하도록 양다리체(2, 2)의 관절 액추에이터를 제어한다(각 다리체(2)의 모터 구동 지령을 각 관절 액추에이터에 출력함).
또, 목표 보용 중 목표 손끝위치 자세 궤도와 목표 대상물 반력 궤도는 팔 메인 제어장치(106)에 입력된다. 또한, 팔 메인 제어장치(106)에는 대상물 반력 평형 제어장치(102)로부터 수정 목표 상체위치 자세가 입력된다. 팔 메인 제어장치(106)는 컴플라이언스 제어처리에 의해, 목표 손끝위치 자세 궤도와 목표 대상물 반력 궤도에 추종시키도록 팔체(5, 5)의 관절 액추에이터(전동 모터)를 제어한다. 보다 구체적으로는, 6축력 센서(52)의 검출값(실대상물 반력)과 목표 대상물 반력의 차에 따라 목표 손끝위치 자세를 수정한다. 수정된 목표 손끝위치 자세를 최종 수정 목표 손끝위치 자세라고 한다. 그리고 팔 메인 제어장치(106)는 이 최종 수정 목표 손끝위치 자세와 수정 목표 상체위치 자세로부터 결정되는 양팔체(5, 5)의 목표 관절변위에 실제 관절변위가 추종하도록 양팔체(5, 5)의 관절 액추에이터를 제어한다(각 팔체(5)의 모터 구동 지령을 각 관절 액추에이터에 출력함).
대상물 반력 평형 제어장치(102)의 처리를 보다 구체적으로 이하에 설명한다. 도 21은 대상물 반력 평형 제어장치(102)의 처리를 기능적으로 도시하는 블럭도이다.
대상물 반력 평형 제어장치(102)에서는, 우선, 목표 대상물 반력에 의한 목표 ZMP 주위의 목표 대상물 반력 모멘트와 실대상물 반력에 의한 목표 ZMP 주위의 실대상물 반력 모멘트의 편차인 대상물 반력 모멘트 편차가 모멘트 편차 산출 부(270)에 의해 산출된다. 이 경우, 목표 대상물 반력 모멘트는 보용 생성 장치(100)로부터 출력된 목표 대상물 반력 및 목표 ZMP와, 팔 메인 제어장치(106)에서 구해진 최종 수정 목표 손끝위치 자세(보다 상세하게는 전회의 제어처리 주기에서 값)로부터 산출된다. 또, 실대상물 반력 모멘트는 6축력 센서(52)의 검출값(실대상물 반력)과, 목표 ZMP와, 최종 수정 목표 손끝위치 자세(보다 상세하게는 전회의 제어처리 주기에서 값)로부터 산출된다.
이 대상물 반력 모멘트 편차에 따라, 중심위치 섭동량 산출부(272)에 의해, 로봇(1)의 전체 중심위치의 목표 섭동량인 목표 중심위치 섭동량이 산출된다. 목표 중심위치 섭동량은 대상물 반력 모멘트 편차를, 로봇(1)에 작용하는 중력에 의해 장기적으로 해소하기 위한 로봇(1)의 전체 중심의 섭동량으로서의 의미를 가지며, 예를 들면 대상물 반력 모멘트에 비례한 값으로 결정된다. 이어서, 후술하는 섭동동역학 모델에서 산출된다, 이 섭동동역학 모델상에서의 로봇(1)의 전체 중심의 섭동량인 전체 중심위치 모델 섭동량과, 상기 목표 중심위치 섭동량의 편차가 감산부(274)에 의해 산출되고, 이 편차로부터 피드백 제어칙(276), 예를 들면 PD 제어칙에 의해, 이 편차를 0에 수렴시키기 위한, 목표 ZMP 주위의 모멘트 조작량인 대상물 반력 평형 제어용 보상 전체 상반력 모멘트가 산출된다. 또한, 이 대상물 반력 평형 제어용 보상 전체 상반력 모멘트와 상기 대상물 반력 모멘트 편차의 합이 가산부(278)에 의해 산출된다. 그리고, 이 가산부(278)의 출력이 로봇(1)의 전체 중심의 섭동과, 목표 ZMP 주위의 모멘트의 섭동과의 관계, 및, 전체 중심의 섭동과 상체위치 자세의 섭동의 관계를 나타내는 섭동동역학 모델(280)에 입력되고, 이 섭동동역학 모델에서, 상체위치 자세 섭동량이 산출된다.
이 경우, 섭동동역학 모델은 로봇(1)의 전체 중심의 섭동과, 목표 ZMP 주위의 모멘트의 섭동의 관계(동역학적 관계)를 다음 식 18에 의해 기술하는 모델이다.
mtotal*hG*d2ΔxG/dt2=ΔxG*mtotal*g+ΔMx ……식 18
여기에서, hG는 목표 ZMP로부터 전체 중심까지의 높이, ΔxG는 전체 중심의 수평방향 섭동량, ΔMx는 목표 ZMP 주위의 모멘트 수평성분이다. 그 밖의 변수는 상기 로봇 단순화 모델에 관하여 정의한 것과 동일하다. 또한, 식 18은 사지탈 플레인 상에서의 식이며, 래터럴 플레인상에서의 관계식은 식 18의 우변의 제2항의 부호를 반전시키면 된다.
이 식 18은 로봇(1)의 전체질량(mtotal)의 질점을 가지며, 또, 그 질점의 지지점인 목표 ZMP 주위에 발생하는 모멘트 수평성분이 ΔMx가 되는 것과 같은 도립진자의 동역학적 거동을 나타내는 식이다.
또, 로봇(1)의 전체 중심위치의 섭동량(ΔxG)과 상체위치의 섭동량(이하, 이것을 Δxb라고 기술함)의 관계는 다음 식 19에 의해 표시된다.
Δxb=k*ΔxG ……식 19
여기에서, k는 어떤 비례정수이다. 따라서, Δxb는 ΔxG에 비례하는 것으로 된다. 섭동운동에 대해서는, 식 19는 근사적으로 성립한다고 생각해도 된다.
따라서, 섭동동역학 모델(280)에서는, 식 18의 우변의 ΔMx로서, 가산부(278)의 출력을 사용함으로써 전체 중심의 섭동량(ΔxG)이 산출되고, 또한, 이 ΔxG로부터 식 19에 의해, 상체위치 섭동량이 구해진다. 또한, 본 실시형태에서 는, 수정 목표 상체위치 자세 중 수정 목표 상체자세는 목표 상체자세에 일치시키는 것으로 하고, 상체자세의 섭동량은 0으로 한다.
대상물 반력 평형 제어장치(102)에서는, 이렇게 하여 섭동동역학 모델(280)로부터 출력되는 상체위치 섭동량을 목표 상체위치 자세(보용 생성 장치(100)의 출력)에 가산부(282)에서 가산함으로써, 수정 목표 상체위치 자세를 산출한다.
이상이 대상물 반력 평형 제어장치(102)의 구체적인 연산처리이다.
이상에서 설명한 제1 실시형태에서의 보용 생성 장치(100)의 처리에 의하면, 상기 필요 요건을 만족할 수 있는 범위 내에서, 장래의 2보째까지의(다음회 보용까지의) 미착지다리 족평(22)의 착지예정 위치 자세를 결정하고, 장래의 2보째의(다음회 보용의) 미착지다리 족평(22)의 착지 후의 단위 보용(이 미착지다리 족평(22)이 지지다리 족평으로 전환되는 보용)의 기간 내에서, 대상물(120)의 위치 자세를, 이동계획에 기초하는 위치 자세의 목표값에 도달시킬 수 있도록 금회 보용이 생성되게 된다. 이 때문에, 상기 미착지다리 족평 착지위치 자세 허용영역에 의한 제약에 의해, 1보 마다 대상물(120)의 위치 자세를, 이동계획에 기초하는 위치 자세의 목표값에 도달시킬 수 없는 것과 같은 상황이어도, 이동계획을 수정하지 않고, 2보 단위로, 대상물(120)을 이동계획에 기초하여 이동시키는 것이 가능한 목표 보용(금회 보용)을 생성할 수 있다. 이 결과, 이동계획에 기초하는 대상물(120)의 이동경로의 방향(로봇(1)에 대한 방향)에 의하지 않고, 이동계획의 수정 빈도를 적게 하여, 대상물(120)을 이동계획에 기초하여 이동시키는 것이 가능한 목표 보용(금회 보용)을 생성할 수 있다. 이 경우, 대상물(120)의 이동경로는 로봇(1)의 전 후 방향으로 직선적으로 대상물(120)을 이동시키는 것과 같은 경로이어도 되는 것은 물론, 대상물(120)의 선회 이동을 행하는 것과 같은 경로, 또는, 로봇(1)의 옆걸음을 행하게 하면서, 로봇(1)의 횡방향으로 대상물(120)을 이동시켜 가는 것과 같은 경로이어도 된다.
그리고, 상기 미착지다리 족평 착지위치 자세 허용영역에 의한 제약에 의해, 필요 요건을 만족할 수 있는 미착지다리 족평(22)의 착지예정 위치 자세를 결정할 수 없는 것과 같은 상황에서는 상기 S29의 처리에 의해, 이동계획을 수정하므로, 그 수정을 적절하게 행할 수 있다.
또한, 상기 제1 실시형태에서는, S03(도 5를 참조)의 연산처리에서 사용하는 대상물 동역학 모델로서, 도 9에 도시한 순동역학 모델을 사용했지만, 이것 대신에, 역동역학 모델을 사용하여, S03의 연산처리를 행하도록 해도 된다. 이하에, 그 경우의 일례를 제2 실시형태로서 설명한다.
도 22는 본 실시형태에서의 S03의 연산처리를 도시하는 블럭도이며, 이 블럭도 중의 파선으로 둘러싼 부분이 대상물 동역학 모델에 상당하는 것으로 되어 있다. 이 대상물 동역학 모델은 대상물(120)의 이동계획에 기초하는 대상물(120)의 목표 운동 상태량으로서의 목표 대상물 이동속도를 입력으로 하여, 대상물(120)에 작용하는 힘(병진력)과 대상물(120)의 위치를 출력하는 역동역학 모델이다. 보다 상세하게는, 이 대상물 동역학 모델은, 목표 대상물 이동속도(입력값)를 미분기(300)에서 미분(1차미분)함으로써, 대상물(120)의 운동가속도를 구하고, 또한, 이 운동가속도에 대상물(120)의 질량(M)을 승산부(302)에서 승산함으로써, 대상 물(120)에 작용하는 힘(병진력)의 요구값을 출력하는 것으로 되어 있다. 여기에서, 대상물 동역학 모델로부터 출력되는 병진력의 요구값은 대상물(120)이 작용하는 모든 병진력(대상물(120)의 이동방향의 병진력)의 합력의 요구값이다. 또한, 대상물 동역학 모델은 목표 대상물 이동속도를 적분기(304)에서 적분함으로써, 대상물(120)의 위치의 목표값인 목표 대상물 위치를 출력하는 것으로 되어 있다.
또한, 목표 대상물 속도는, 제1 실시형태와 같이 보용 생성 장치(100)에 있어서, 이동계획에서의 대상물(120)의 위치 궤도의 1차미분값으로서 산출되거나, 또는, 이동계획의 구성요소로서의 이동속도가 그대로, 목표 대상물 속도로서 결정된다.
이러한 대상물 동역학 모델을 사용하는 S03의 연산처리를 도 22를 참조하여 구체적으로 설명하면 우선, 현재의 이동계획에 기초하는 대상물(120)의 순간순간의(각 시각의) 목표 대상물 속도가 대상물 동역학 모델에 입력되고, 상기한 바와 같이, 상기한 바와 같이, 대상물(120)에 작용하는 병진력의 요구값과, 목표 대상물 위치가 시계열적으로 산출된다.
이어서, 상기 병진력의 요구값으로부터, 보용 생성 장치(100)의 전회의 연산처리 주기에서 상기 S35(도 7 참조)에서 구해진 추정 외란력을 감산부(306)에서 감산함으로써, 로봇(1)으로부터 대상물(120)에 작용시켜야 할 힘(병진력)의 목표값이 구해진다. 그리고, 이 목표값의 부호를 반전시킨 것의 시계열이 목표 대상물 반력 궤도로서 구해진다.
또한, 대상물 동역학 모델의 적분기(304)의 출력의 초기값은 보용 생성 장 치(100)의 전회의 연산처리 주기에서 S03의 처리를 실행하여 구한 목표 대상물 위치의 시계열 중, 전회의 연산처리 주기에 대응하는 시각에서의 값으로 설정된다. 또, 목표 대상물 운동 궤도 중 목표 대상물 자세 궤도는 예를 들면 목표 대상물 속도의 방향에 거의 일치하도록 결정된다.
이상에서 설명한 S03의 처리에 의해, 현재시각으로부터 장래의 소정 기간분의 목표 대상물 운동 궤도와 목표 대상물 반력 궤도이 임시 결정된다. 이 S03의 처리 이외는 상기 제1 실시형태와 동일하다.
이러한 제2 실시형태에서도, 상기 제1 실시형태와 동일한 효과를 얻을 수 있다.
또한, 이상에서 설명한 실시형태에서는, 2족 이동 로봇을 예로 들어 설명했지만, 보다 많은 다리체를 갖는 다리식 이동 로봇에 대해서도 본 발명을 적용할 수 있다. 또, 상기 실시형태에서는, 로봇(1)의 목표 보용을 이 목표 보용에 추종하도록 동작시키면서 실시간에 생성하는 것을 나타냈지만, 로봇(1)의 동작 전에, 사전에 목표 보용을 생성해 두는 것과 같은 경우에도 본 발명을 적용할 수 있다.
이상과 같이 본 발명은 2족 이동 로봇 등의 다리식 이동 로봇에게, 대상물을 이동시키게 하는 작업을 행하게 하기 위해서 적절한 목표 보용을 생성할 수 있는 보용 생성 장치를 제공하는데 유용하다.

Claims (5)

  1. 상체로부터 연장하여 설치된 복수의 다리체를 구비하는 다리식 이동 로봇에게 대상물을 이동시키는 작업을 행하게 하기 위한 목표 보용을 생성하는 보용 생성 장치에 있어서,
    상기 로봇을 추종시키는 목표 보용을 새롭게 생성할 때, 적어도 대상물의 이동계획에 기초하여, 이 로봇의 복수보분의 기간을 포함하는 장래의 소정 기간에 있어서의 대상물의 제1 임시 목표 운동 궤도를 결정하는 장래 대상물 운동 임시 결정 수단과,
    상기 대상물의 이동시의 이 대상물과 로봇 사이의 위치 자세 관계에 관한 소정의 요구가 적어도 로봇의 장래의 2 이상의 소정수의 보수째에서 충족되고, 또한, 이 로봇의 다리체의 운동에 관한 소정의 제약조건이 당해 소정수의 보수째까지의 각 보수마다 충족되는 것을 필요 요건으로 하여, 상기 결정된 제1 임시 목표 운동 궤도를 따라 이동하는 대상물에 대하여 이 필요 요건을 만족하는 로봇의 다리체의 운동이 가능한지 아닌지를 적어도 이 제1 임시 목표 운동 궤도와 이 필요 요건에 기초하여 판단하는 판단 수단을 구비하고,
    상기 판단 수단의 판단 결과가 긍정적일 때에는, 상기 제1 임시 목표 운동 궤도를 따라 이동하는 대상물에 대하여 상기 필요 요건을 만족하도록 상기 로봇의 목표 보용을 생성하고, 상기 판단 수단의 판단 결과가 부정적일 때에는, 상기 이동계획을 수정함과 아울러, 적어도 그 수정 후의 이동계획에 기초하여 상기 소정 기 간에 있어서의 대상물의 제2 임시 목표 운동 궤도를 새롭게 결정하고, 이 제2 임시 목표 운동 궤도를 따라 이동하는 대상물에 대하여 상기 필요 요건을 만족하도록 상기 로봇의 목표 보용을 생성하도록 한 것을 특징으로 하는 다리식 이동 로봇의 보용 생성 장치.
  2. 제 1 항에 있어서, 상기 소정의 요구는 상기 로봇의 미착지다리측 다리체의 착지위치 자세와 상기 대상물의 위치 자세의 관계를 규정하는 요구를 포함함과 아울러, 상기 소정의 제약조건은 상기 로봇의 미착지다리측 다리체의 지지다리 다리체에 대한 상대적인 착지위치 자세를 규정하는 제약조건을 포함하고,
    상기 판단 수단은 상기 결정된 대상물의 제1 임시 목표 운동 궤도와 상기 소정의 요구에 기초하여 상기 소정수의 보수째까지의 각 보수째에서 이 요구를 만족하도록 상기 로봇의 미착지다리측 다리체의 제1 임시 착지예정 위치 자세를 이 소정수의 보수째까지 결정하는 수단과, 이 소정수의 보수째까지의 각 보수째에서의 이 제1 임시 착지예정 위치 자세를, 상기 소정의 제약조건에 의해 제한하여 이루어지는 제2 임시 착지예정 위치 자세를 결정하는 수단과, 상기 소정수의 보수째에서의 제1 임시 착지예정 위치 자세 및 제2 임시 착지예정 위치 자세가 서로 일치 혹은 거의 일치하고 있는지 아닌지를 판단하고, 일치하고 있지 않은 경우에는, 이 소정수의 보수째에서의 제1 임시 착지예정 위치 자세와 제2 임시 착지예정 위치 자세의 차분에 따라, 이 소정수의 보수째보다도 앞의 적어도 하나의 보수째에서의 제2 임시 착지예정 위치 자세를 상기 소정의 제약조건을 충족시키는 범위 내에서 수정 하는 수단을 구비하고, 당해 적어도 하나의 보수째의 수정에 의해, 상기 소정수의 보수째에서의 제2 임시 착지예정 위치 자세를, 상기 소정의 제약조건이 만족되는 범위 내에서, 이 소정수의 보수째에서의 제1 임시 착지예정 위치 자세에 일치 혹은 거의 일치하는 위치 자세로 수정 가능한지 아닌지에 의해, 상기 필요 요건을 만족하는 로봇의 다리체의 운동이 가능한지 아닌지를 판단하는 것을 특징으로 하는 다리식 이동 로봇의 보용 생성 장치.
  3. 제 2 항에 있어서, 상기 판단 수단의 판단 결과가 긍정적이고, 또한, 상기 소정수의 보수째에서의 제1 임시 착지예정 위치 자세 및 제2 임시 착지예정 위치 자세가 서로 일치 혹은 거의 일치하고 있지 않을 때, 상기 소정수의 보수째보다도 앞의 적어도 하나의 보수째에서의 미착지다리측 다리체의 착지위치 자세가 상기 제1 임시 착지예정 위치 자세와 다르고, 또한, 상기 필요 요건을 만족하도록 이 소정수의 보수째까지의 각 보수째에서의 미착지다리측 다리체의 착지예정 위치 자세를 새롭게 결정하는 수단을 구비하고, 그 새롭게 결정한 상기 소정수의 보수째까지의 미착지다리측 다리체의 착지예정 위치 자세에 따라 로봇의 목표 보용을 생성하도록 한 것을 특징으로 하는 다리식 이동 로봇의 보용 생성 장치.
  4. 제 2 항 또는 제 3 항에 있어서, 상기 판단 수단의 판단 결과가 부정적일 때, 상기 소정의 제약조건을 충족시키는 범위 내에서, 상기 소정수의 보수째의 로봇의 미착지다리측 다리체의 착지예정 위치 자세를 이 소정수의 보수째에서의 상기 제1 임시 착지예정 위치 자세에 근접하도록 이 소정수의 보수째까지의 로봇의 미착지다리측 다리체의 제3 임시 착지예정 위치 자세를 결정하는 수단과,
    그 결정한 제3 임시 착지예정 위치 자세에 대하여 상기 소정의 요구를 충족시키는 상기 대상물의 제1 예상 이동경로를 추정하는 수단과,
    상기 제1 임시 착지예정 위치 자세에 대하여 상기 소정의 요구를 충족시키는 상기 대상물의 제2 예상 이동경로를 추정하는 수단과,
    상기 제1 예상 이동경로에서 상기 대상물을 이동시켰다고 한 경우에 있어서의 제1 소정 기간에서의 이 대상물의 이동거리와, 이 제1 소정 기간의 시간과, 상기 제2 예상 이동경로에서 상기 대상물을 이동시켰다고 한 경우에 있어서의 제2 소정 기간에서의 이 대상물의 이동거리와, 이 제2 소정 기간의 시간에 기초하여 상기 이동계획에서의 대상물의 속도 지령값을 수정하는 수단을 구비한 것을 특징으로 하는 다리식 이동 로봇의 보용 생성 장치.
  5. 제 4 항에 있어서, 상기 이동계획에서의 대상물의 속도 지령값을 수정하는 수단은, 상기 제1 예상 이동경로의 방향이 상기 제2 예상 이동경로의 방향과 일치하지 않을 때, 상기 제1 소정 기간에서의 대상물의 이동거리 대신에, 이 제1 예상 이동경로를 제2 예상 이동경로의 방향으로 투영하여 이루어지는 경로에서 대상물을 이동시켰다고 한 경우에 있어서의 상기 제1 소정 기간에서의 대상물의 이동거리를 사용하는 것을 특징으로 하는 다리식 이동 로봇의 보용 생성 장치.
KR1020087009232A 2005-12-12 2006-10-31 다리식 이동 로봇의 보용 생성 장치 KR101011660B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005357490A JP4641252B2 (ja) 2005-12-12 2005-12-12 脚式移動ロボットの歩容生成装置
JPJP-P-2005-00357490 2005-12-12

Publications (2)

Publication Number Publication Date
KR20080048075A true KR20080048075A (ko) 2008-05-30
KR101011660B1 KR101011660B1 (ko) 2011-01-28

Family

ID=38162717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087009232A KR101011660B1 (ko) 2005-12-12 2006-10-31 다리식 이동 로봇의 보용 생성 장치

Country Status (6)

Country Link
US (1) US8204625B2 (ko)
EP (1) EP1974871B1 (ko)
JP (1) JP4641252B2 (ko)
KR (1) KR101011660B1 (ko)
DE (1) DE602006018998D1 (ko)
WO (1) WO2007069401A1 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2093025B1 (en) * 2007-10-23 2012-05-16 Honda Motor Co., Ltd. Two-legged walking robot
JP4899165B2 (ja) * 2007-12-10 2012-03-21 本田技研工業株式会社 脚式移動ロボットの制御装置
JP4560658B2 (ja) 2007-12-10 2010-10-13 本田技研工業株式会社 脚式移動ロボットの制御装置
JP4565229B2 (ja) * 2007-12-10 2010-10-20 本田技研工業株式会社 ロボット
US8024069B2 (en) * 2009-01-28 2011-09-20 Ge Intelligent Platforms, Inc. System and method for path planning
KR20110017500A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 다리식 이동 로봇의 제어장치 및 그 제어방법
JP5483997B2 (ja) * 2009-10-28 2014-05-07 本田技研工業株式会社 脚式移動ロボットの制御装置
JP5232124B2 (ja) * 2009-10-28 2013-07-10 本田技研工業株式会社 脚式移動ロボットの制御装置
JP5506618B2 (ja) * 2009-12-28 2014-05-28 本田技研工業株式会社 ロボットの制御装置
JP5506617B2 (ja) * 2009-12-28 2014-05-28 本田技研工業株式会社 ロボットの制御装置
JP5456588B2 (ja) * 2010-06-07 2014-04-02 本田技研工業株式会社 脚式移動ロボットの制御装置
WO2012011182A1 (ja) * 2010-07-22 2012-01-26 トヨタ自動車株式会社 二足歩行ロボット及び二足歩行ロボットの着地タイミング決定方法
JP5465142B2 (ja) 2010-09-27 2014-04-09 本田技研工業株式会社 ロボットおよびその行動制御システム
CN102183956B (zh) * 2011-02-24 2012-11-21 浙江大学宁波理工学院 欠驱动两足步行机器人水平行走时的侧向控制方法
JP2014073222A (ja) * 2012-10-04 2014-04-24 Sony Corp 運動補助装置及び運動補助方法
JP6228884B2 (ja) * 2014-04-01 2017-11-08 富士ソフト株式会社 ロボット用動作計画作成システムおよび作成方法
US10081098B1 (en) 2014-08-25 2018-09-25 Boston Dynamics, Inc. Generalized coordinate surrogates for integrated estimation and control
US9387588B1 (en) 2014-08-25 2016-07-12 Google Inc. Handling gait disturbances with asynchronous timing
US9517561B2 (en) * 2014-08-25 2016-12-13 Google Inc. Natural pitch and roll
US9618937B1 (en) 2014-08-25 2017-04-11 Google Inc. Slip detection using robotic limbs
US9446518B1 (en) 2014-11-11 2016-09-20 Google Inc. Leg collision avoidance in a robotic device
US9804593B1 (en) * 2014-12-12 2017-10-31 X Development Llc Methods and systems for teaching positions to components of devices
JP5927284B1 (ja) * 2014-12-22 2016-06-01 ファナック株式会社 人との接触力を検出してロボットを停止させるロボット制御装置
US9499218B1 (en) 2014-12-30 2016-11-22 Google Inc. Mechanically-timed footsteps for a robotic device
JP6892393B2 (ja) * 2015-04-22 2021-06-23 マサチューセッツ インスティテュート オブ テクノロジー 足接地位置追随装置、その動きを制御する方法、コンピュータ実行可能なプログラム、及びそれを格納したコンピュータ読取可能な非一時的な情報記録媒体
US9594377B1 (en) * 2015-05-12 2017-03-14 Google Inc. Auto-height swing adjustment
JP6450273B2 (ja) * 2015-07-08 2019-01-09 本田技研工業株式会社 移動ロボットの動作環境情報生成装置
US9586316B1 (en) 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
US9778132B1 (en) * 2015-12-16 2017-10-03 X Development Llc Methods and systems for force sensor calibration
JP6483014B2 (ja) * 2015-12-25 2019-03-13 本田技研工業株式会社 移動ロボットの制御装置
US9789919B1 (en) 2016-03-22 2017-10-17 Google Inc. Mitigating sensor noise in legged robots
US10351189B2 (en) * 2016-12-13 2019-07-16 Boston Dynamics, Inc. Whole body manipulation on a legged robot using dynamic balance
CN109997014B (zh) 2017-11-03 2023-08-18 北京嘀嘀无限科技发展有限公司 用于确定轨迹的系统和方法
US11000950B2 (en) * 2018-06-01 2021-05-11 X Development Llc Robotic motion planning
WO2020133288A1 (zh) * 2018-12-28 2020-07-02 深圳市优必选科技有限公司 一种双足机器人步态控制方法以及双足机器人
US11518024B2 (en) 2021-02-10 2022-12-06 Intrinsic Innovation Llc Extensible underconstrained robotic motion planning
CN113253724B (zh) * 2021-04-30 2024-05-21 深圳市优必选科技股份有限公司 一种步态规划方法、装置、计算机可读存储介质及机器人
CN113246124B (zh) * 2021-04-30 2023-06-02 深圳市优必选科技股份有限公司 机器人控制方法、装置、计算机可读存储介质及机器人

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998026905A1 (fr) * 1996-12-19 1998-06-25 Honda Giken Kogyo Kabushiki Kaisha Controleur d'attitude de robot mobile sur jambes
JP3672426B2 (ja) * 1996-12-19 2005-07-20 本田技研工業株式会社 脚式移動ロボットの姿勢制御装置
JP3672406B2 (ja) * 1997-01-31 2005-07-20 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP4225969B2 (ja) * 2002-04-26 2009-02-18 本田技研工業株式会社 脚式移動ロボットの制御装置および足跡決定装置
JP3833567B2 (ja) * 2002-05-01 2006-10-11 本田技研工業株式会社 移動ロボットの姿勢制御装置
JP4029152B2 (ja) * 2003-01-08 2008-01-09 独立行政法人産業技術総合研究所 脚式移動ロボット及び制御方法
JP4485279B2 (ja) * 2004-08-02 2010-06-16 本田技研工業株式会社 脚式移動ロボットの歩容生成装置および制御装置
WO2006040868A1 (ja) * 2004-10-15 2006-04-20 Honda Motor Co., Ltd. 脚式移動ロボットの歩容生成装置
JP4440761B2 (ja) * 2004-12-24 2010-03-24 本田技研工業株式会社 脚式移動ロボットの制御装置

Also Published As

Publication number Publication date
JP2007160428A (ja) 2007-06-28
DE602006018998D1 (de) 2011-01-27
KR101011660B1 (ko) 2011-01-28
EP1974871B1 (en) 2010-12-15
JP4641252B2 (ja) 2011-03-02
EP1974871A4 (en) 2009-09-02
US20090312867A1 (en) 2009-12-17
EP1974871A1 (en) 2008-10-01
US8204625B2 (en) 2012-06-19
WO2007069401A1 (ja) 2007-06-21

Similar Documents

Publication Publication Date Title
KR101011660B1 (ko) 다리식 이동 로봇의 보용 생성 장치
KR101131775B1 (ko) 다리식 이동 로봇의 제어장치
KR101209097B1 (ko) 다리식 이동 로봇의 보용생성장치 및 제어장치
KR101131776B1 (ko) 다리식 이동 로봇의 보용 생성장치
KR101214434B1 (ko) 다리식 이동 로봇의 보용생성 장치
JP4805817B2 (ja) 移動ロボットの歩容生成装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131219

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160105

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee