JP2011177839A - 脚式移動ロボットの運動状態評価装置 - Google Patents

脚式移動ロボットの運動状態評価装置 Download PDF

Info

Publication number
JP2011177839A
JP2011177839A JP2010044713A JP2010044713A JP2011177839A JP 2011177839 A JP2011177839 A JP 2011177839A JP 2010044713 A JP2010044713 A JP 2010044713A JP 2010044713 A JP2010044713 A JP 2010044713A JP 2011177839 A JP2011177839 A JP 2011177839A
Authority
JP
Japan
Prior art keywords
virtual surface
force
virtual
robot
external force
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2010044713A
Other languages
English (en)
Other versions
JP5398592B2 (ja
Inventor
Toyoo Oda
豊生 織田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2010044713A priority Critical patent/JP5398592B2/ja
Priority to US13/036,298 priority patent/US8442680B2/en
Publication of JP2011177839A publication Critical patent/JP2011177839A/ja
Application granted granted Critical
Publication of JP5398592B2 publication Critical patent/JP5398592B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

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

Abstract

【課題】複数の接触対象面からロボットに外力が作用する状況でロボットの運動を行いながら、ロボットの運動状態を効率よく適切に評価する。
【解決手段】ロボット1の動作環境の複数の接触対象面FL,WL1,WL2を仮想面S3a,S2a,S2bで近似し、ロボット1の並進運動に係わる補償総並進外力を実現するために仮想面S3a,S2a,S2bからロボット1に作用させるべき並進力(仮想面必要並進力)を第1A必要条件と第1B必要条件とを少なくとも満足するように算出する。この仮想面必要並進力に基づいて、ロボットの運動状態を評価する。
【選択図】図11

Description

本発明は、脚式移動ロボットの運動状態を評価する装置に関する。
脚式移動ロボット(以下、単にロボットということがある)の動作制御を行なう技術としては、例えば、本願出願人が提案した特許文献1等に見られる技術が従来より知られている。この技術では、ロボットの目標運動で想定されている床形状と実際の床形状との誤差等に起因してロボットの姿勢が不安定になるのを防止するために、ロボットの動作中に、ロボットの姿勢に関する状態量(例えばロボットの上体の姿勢)が逐次観測される。さらに、その状態量の観測値と、ロボットの目標運動により規定される該状態量の目標値との偏差を“0”に近づけるためのフィードバック操作量として、ロボットに作用させる付加的床反力(目標運動を実現するための基本の床反力に付加する床反力)を決定する。そして、ロボットの実際の運動とロボットに実際に作用する床反力とを、それぞれロボットの目標運動と、上記付加的床反力を付加した目標床反力とに追従させるように制御することで、ロボットの運動が円滑に行われるようにしている。
特許第4246638号公報
ロボットに種々様々な作業を行なわせるためには、ロボットを単に床上で移動させるだけでなく、ロボットの外界に存する複数の接触対象面にロボットの複数の部位を接触させながら(例えば、ロボットの脚の先端部と腕の先端部とをそれぞれ床面と壁面とに接触させながら)、ロボットの所要の運動を行なわせることが要求される場合もある。
このような場合には、ロボットを単に床上で移動させる場合と異なり、ロボットの外界の複数の接触対象面からロボットの複数の部位に外力が作用することとなる。
従って、このような場合には、ロボットを適切に動作させるために、複数の接触対象面のそれぞれから作用させるべき外力に関する目標(目標外力や、その外力の作用点の目標位置)を適切に設定し、ロボットの実際の運動を目標運動に追従させつつ、ロボットに複数の接触対象面からそれぞれ作用する外力を目標とする外力に追従させるように、ロボットの動作制御を行なう必要がある。そして、この場合、外力に関する目標は、ロボットの所要の運動状態量の実際の値(観測値)が目標値からずれるのを抑制するように調整しつつ設定することが望ましい。
ところが、上記のように複数の接触対象面からそれぞれロボットの外力が作用する場合には、ロボットに作用する外力が床反力だけである場合と異なり、ロボットの所要の運動状態量の実際の値(観測値)が目標値からずれた場合に、そのずれを低減すれために、複数の接触対象面のそれぞれからロボットに作用する外力をどのような外力に調整すべきかが問題となる。
そして、この場合、ロボットに実際に作用させる外力を、本来の目標運動(上記運動状態量が目標値に一致することを前提とする運動)を実現するためにロボットに作用させるべき外力に、上記運動状態量のずれを低減するための付加的な外力を付加することとなるため、その付加的な外力を、ロボットの円滑な運動を損なうことなくロボットに付加することができるか等のロボットの運動状態の評価を行なうことが必要となる場合が多々ある。
しかるに、従来は、上記の如く複数の接触対象面からロボットに外力が作用する状況でロボットの運動を行ないながら、ロボットに作用させるべき外力を、ロボットの所定の運動状態量に応じて操作する技術の検討が十分になされていないのが実状である。ひいては、このような外力操作を行なう場合に、ロボットの円滑な運動を損なうことなく外力を操作し得るかどうか等を適切に評価し得る技術の検討も十分になされていないのが実状である。
本発明はかかる背景に鑑みてなされたものであり、複数の接触対象面からロボットに外力が作用する状況でのロボットの運動中に、該ロボットの所定の運動状態量に応じてロボットに作用させべき外力を操作する場合に、その操作による影響を考慮しつつ、該ロボットの運動状態を効率よく適切に評価することできる運動状態評価装置を提供することを目的とする。
本発明の脚式移動ロボットの運動状態評価装置は、上記の目的を達成するために、脚式移動ロボットの動作環境に存する互いに異なる複数の接触対象面に該ロボットの複数の部位を接触させながら、該ロボットの運動を行なわせるための該ロボットの目標運動に該ロボットの実際の運動を追従させるように該ロボットの動作制御を行っている状態での該ロボットの運動状態を評価する運動状態評価装置であって、
相互の姿勢関係があらかじめ定められた複数の仮想面から成る仮想面群を用い、該仮想面群の複数の仮想面が前記複数の接触対象面に一致又は近似する面になるように、該仮想面群を前記ロボットの動作環境の空間に仮想的に設定する仮想面群設定手段と、
前記目標運動に基づいて、該目標運動を実現するために前記ロボットに作用させるべきトータルの外力のうちの並進力成分である基本必要総並進外力を決定する基本必要総並進外力決定手段と、
前記ロボットの所定の運動状態量の観測値と、前記目標運動における該運動状態量の目標値との偏差である運動状態量偏差を逐次算出し、該運動状態量偏差に基づいて、該運動状態量偏差を“0”に近づけるために前記ロボットに付加的に作用させるべき並進力である並進外力補償量を決定する並進外力補償量決定手段と、
前記決定された基本必要総並進外力に前記決定された並進外力補償量を付加してなる補償総並進外力を実現するために前記仮想面群の複数の仮想面のそれぞれから前記ロボットに作用させるべき並進力である仮想面必要並進力を算出する手段であり、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に垂直な成分である仮想面垂直抗力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分を除く成分に一致するという第1A必要条件と、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に平行な成分である仮想面摩擦力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分に一致するという第1B必要条件と少なくとも満足するように、各仮想面における仮想面必要並進力を算出する仮想面必要並進力算出手段と、
少なくとも前記算出された仮想面必要並進力に基づいて、前記ロボットの運動状態を評価する運動状態評価手段とを備えたことを特徴とする(第1発明)。
なお、本発明(後述の第2〜第5発明を含む)において、前記ロボットの動作環境に存する互いに異なる複数の接触対象面というのは、その複数の接触対象面に含まれる任意の2つの接触対象面(又はその2つの接触対象面をそれぞれ包含する平面)が互いに交差するか、又は、互いに間隔を存して平行もしくはほぼ平行に対向するような複数の接触対象面を意味する。この場合、各接触対象面は、それに接触させるロボットの部位に比して広い面積を有する面(例えば、通常の床面の如き面)である必要はなく、例えば、該部位と同程度又はそれよりも小さい面積を有する局所的な面であってもよい。
また、前記目標運動において、各接触対象面に接触させるロボットの部位は、1つの部位である必要はなく、2つ以上の部位であってもよい。この場合において、ある接触対象面に接触させるロボットの部位が2つ以上である場合には、該接触対象面からロボットに作用させるべき前記目標外力は、該接触対象面からロボットの当該2つ以上の部位のそれぞれに作用させる外力の合力の目標値を意味する。
前記第1発明によれば、ロボットの運動状態の評価を行なうために、相互の姿勢関係があらかじめ定められた複数の仮想面から成る仮想面群が、前記複数の接触対象面の代用的な面として使用される。そして、この仮想面群は、前記仮想面群決定手段によって、該仮想面群の複数の仮想面が前記複数の接触対象面に一致又は近似する面になるように、前記ロボットの動作環境の空間に仮想的に設定される。
なお、前記仮想面群設定手段の処理において、前記仮想面群をロボットの動作環境の空間に仮想的に設定するということは、該仮想面群を構成する各仮想面の、当該空間での配置を決定すること、より詳しくは、当該空間での各仮想面の位置と姿勢(空間的な向き)とを決定することを意味する。
また、前記目標運動を実現するために前記ロボットに作用させるべきトータルの外力のうちの並進力成分である基本必要総並進外力が前記基本必要総並進外力決定手段によって決定される。
ここで、前記基本必要総並進外力は、換言すれば、前記目標運動によって発生するロボット全体の並進慣性力(慣性力の並進力成分)と、該ロボット全体に作用する重力との合力に釣り合う並進力である。この場合、ロボットの目標運動によって、ロボットの各部(各リンク)の運動とロボットの全体重心点の運動とが規定されることとなるので、ロボットの適当な幾何学モデル(剛体リンクモデル)を用いることで、ロボット全体の上記並進慣性力を前記目標運動に基づいて決定できる。また、ロボット全体に作用する重力は、ロボットの全体質量と重力加速度との積である。従って、前記目標運動に基づいて、前記基本必要総並進外力を決定できる。
なお、本発明では、前記目標運動は、例えば、ロボットに要求される運動形態(ロボットの脚リンクの先端部等の動かし方や、接触対象面への接触のさせ方等)に即して生成すればよい。
また、第1発明では、前記並進外力補償量決定手段によって、前記運動状態量偏差(所定の運動状態量の観測値と目標値との偏差)を“0”に近づけるために前記ロボットに付加的に作用させるべき並進力である並進外力補償量が、前記運動状態量偏差に基づいて決定される。
ここで、上記運動状態量は、ロボットに作用させる並進力によって操作可能な種類の運動状態量である。このような運動状態量としては、例えば、ロボットの運動の安定性を確保する上で、所要の目標値に極力、制御することが望ましいと考えられる状態量(例えば、ロボットの全体重心点の位置等)を採用することができる。該運動状態量は、基本的には、目標運動で実現しようとするロボットの動作形態や、その動作形態におけるロボットの全体の姿勢、又は特定部位の姿勢の安定性等を考慮して、適宜選定しておけばよい。
また、前記並進外力補償は、例えば、前記運動状態量偏差から適宜のフィードバック制御則により決定することができる。
そして、第1発明では、前記決定された基本必要総並進外力に前記決定された並進外力補償量を付加してなる補償総並進外力を実現するために前記仮想面群の複数の仮想面のそれぞれから前記ロボットに作用させるべき並進力である仮想面必要並進力が前記仮想面必要並進力決定手段によって決定される。なお、各仮想面は、各接触対象面に対応しているので、各仮想面における仮想面必要並進力は、該仮想面に対応する接触対象面からロボットに作用させるべき並進力に対応するものである。
ここで、該仮想面必要並進力決定手段が算出する、各仮想面における仮想面必要並進力は、換言すれば、それらの合力が、前記補償総並進外力に一致するような並進力を意味する。そして、各仮想面における仮想面必要並進力は、該仮想面に垂直な成分である前記仮想面垂直抗力成分と該仮想面に平行な成分である前記仮想面摩擦力成分との一方又は両方から構成される。
この場合、本発明では、前記複数の接触対象面からロボットに外力を作用させることに対応して、前記仮想面群の複数の仮想面からロボットに外力を作用させることとなるので、前記補償総並進外力を実現するための各仮想面における仮想面必要並進力の組合せは、一般には、無数の態様を採り得る。
但し、各仮想面に対応する接触対象面からロボットに作用させ得る並進力のうちの摩擦力成分(接触対象面に平行な成分)が過大になり、該接触対象面で発生可能な摩擦力の上限値に近づくと、該接触対象面とロボットとの間の滑りが発生し易くなる。このため、前記目標運動は、各接触対象面からロボットに作用すべき摩擦力をできるだけ小さくできるように生成されていることが望ましい。
従って、各接触対象面に対応する仮想面における仮想面必要並進力は、できるだけ、仮想面摩擦力成分を含まないか、もしくは、該仮想面摩擦力成分の大きさを小さくすることを指針として、算出されることが望ましいと考えられる。換言すれば、補償総並進外力が、できるだけ、各仮想面における仮想面垂直抗力成分の合力によって実現され得ることを指針として、仮想面必要並進力を算出することが望ましいと考えられる。
そこで、第1発明では、前記仮想面必要並進力算出手段は、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に垂直な成分である仮想面垂直抗力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分を除く成分に一致するという第1A必要条件と、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に平行な成分である仮想面摩擦力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分に一致するという第1B必要条件と少なくとも満足するように、各仮想面における仮想面必要並進力を算出する。
これにより、前記仮想面必要並進力算出手段は、可能な限り、各仮想面における仮想面垂直抗力成分の合力によって前記補償総並進外力を実現すると共に、仮想面摩擦力成分をできるだけ小さくするように、各仮想面における仮想面必要並進力を算出することとなる。
一例を例示すると、前記複数の接触対象面が、例えば互いに交差する3つの接触対象面である場合、ひいては、これらの接触対象面に対応する3つの仮想面が互いに交差する仮想面である場合には、前記仮想面必要並進力算出手段により算出される各仮想面必要並進力は、仮想面垂直抗力成分のみにより構成され、仮想面摩擦力成分はいずれの仮想面についても“0”となる。
そして、第1発明では、前記運動状態評価手段は、上記の如く算出された仮想面必要並進力に基づいて、前記ロボットの運動状態を評価する。すなわち、該運動状態の評価は、前記第1A必要条件及び第2A必要条件を少なくとも満足することを指針として算出された、各仮想面における仮想面必要並進力に基づいて行なわれる。これにより、前記ロボットの運動状態が、前記補償総並進外力を実現するために、各接触対象面でロボットに作用する摩擦力をできるだけ小さくできる運動状態(換言すれば、各接触対象面での滑りを発生することなくロボットの円滑な運動を行い得る運動状態)であるか否かを評価することが可能となる。
すなわち、ロボットの円滑な運動を損なうことなく、前記並進外力補償量によってロボットに作用させる外力を適切に操作することが可能であるか否かを評価することが可能となる。
また、前記仮想面必要並進力算出手段の処理は、相互の姿勢関係があらかじめ定まっている複数の仮想面群を使用する処理であると共に、並進力に関する前記第1A必要条件と第1B必要条件とを少なくとも満足するという比較的単純な指針に基づいて各仮想面における仮想面必要並進力を算出する処理である。
このため、前記仮想面必要並進力算出手段の処理は、さほど複雑な処理を必要せずに行なうことができる。
よって、第1発明によれば、数の接触対象面からロボットに外力が作用する状況でのロボットの運動中に、該ロボットの所定の運動状態量に応じてロボットに作用させべき外力を操作する場合に、その操作による影響を考慮しつつ、該ロボットの運動状態を効率よく適切に評価することできる。
前記第1発明では、より具体的には、例えば次のような態様を採用することが好ましい。すなわち、前記運動状態評価手段は、各仮想面における仮想面必要並進力のうちの仮想面摩擦力成分の大きさが、少なくとも該仮想面における仮想面垂直抗力成分に応じて設定した第1所定値以下になるという第2必要条件を、前記算出された仮想面必要並進力が満足するか否かを判断する第1判断手段を備え、少なくとも、該第1判断手段の判断結果が否定的となり、且つ、該第1A必要条件及び第1B必要条件と、前記第2必要条件とを満足させ得るように前記算出された仮想面必要並進力を修正することができない場合に、前記ロボットの運動状態が不適切であると評価することが好ましい(第2発明)。
ここで、前記補償総並進外力を実現するために、各仮想面に対応する接触対象面からロボットに摩擦力を作用させる必要が生じる場合もあるが、その摩擦力の大きさは、該各接触対象面で発生可能な摩擦力の上限値以下に留める必要がある。そして、この上限値は、該接触対象面における垂直抗力成分の影響を受け、該垂直抗力成分の大きさが小さいほど、該上限値も小さくなる。
そこで、第2発明では、前記算出された仮想面必要並進力が前記第2必要条件を満足するか否かを前記第1判断手段により判断する。
この第1判断手段の判断結果が否定的となる場合に、その判断結果が否定的となる仮想面において、第1A必要条件及び第1B必要条件と、前記第2必要条件とを満足させ得るように前記算出された仮想面必要並進力を修正することができない場合には、前記補償総並進外力を適切に実現するために、第1判断手段の判断結果が否定的となる仮想面に対応する接触対象面に、過大な摩擦力を発生させる必要があり、該接触対象面におけるロボットの滑りを生じる恐れがあると考えられる。
そこで、第2発明では、少なくとも、前記第1判断手段の判断結果が否定的となり、且つ、該第1A必要条件及び第1B必要条件と、前記第2必要条件とを満足させ得るように前記算出された仮想面必要並進力を修正することができない場合に、前記ロボットの運動状態が不適切であると評価する。
これにより、いずれかの接触対象面でのロボットの滑りが生じる恐れのある場合のロボットの運動状態が不適切なものとして評価されることとなる。そして、その評価結果を利用して、ロボットの目標運動を修正したり、あるいは、ロボットの運動を停止させる等の処置を採ることが可能となる。
なお、前記第2必要条件における第1所定値は、仮想面で発生可能な摩擦力の大きさの上限値に相当するものである。この第1所定値は、例えば、各仮想面に対応する接触対象面における垂直抗力成分を該仮想面における仮想面垂直抗力成分に一致させた場合に該接触対象面で発生可能な摩擦力の大きさの上限値に一致するか、またはそれよりも小さめの値に設定することが好ましい。
前記第2発明において、前記仮想面群が、前記第1判断手段の判断結果が否定的となる仮想面に対して、該仮想面と間隔を存して対向する仮想面を含む場合、すなわち、前記複数の接触対象面が互いに間隔を存して対向する2つの接触対象面を含み、且つ、その2つの接触対象面のいずれかに対応する仮想面において、前記第1判断手段の判断結果が否定的となる場合には、互いに対向する2つの仮想面における互いに逆向きの仮想面垂直抗力成分の大きさを同じ量だけ増加させることによって、前記第1A必要条件を満足しつつ、それらの仮想面における仮想面垂直抗力成分の大きさを増加させることが可能である。ひいては、それらの仮想面における仮想面摩擦力成分の大きさの上限値を増加させることが可能である。
一方、前記第1判断手段の判断結果が否定的となる仮想面に対向する仮想面が存在しない場合には、該仮想面における仮想面垂直抗力成分の大きさを前記第1A必要条件を満足しつつ増加させることはできない。ひいては、前記第1A必要条件及び第1B必要条件を満足しつつ、第2必要条件を満足し得るように、第1判断手段の判断結果が否定的となった仮想面における仮想面必要並進力を修正することはできないこととなる。
そこで、前記第2発明では、前記運動状態評価手段は、前記第1判断手段の判断結果が否定的となった場合において、該判断結果が否定的となった仮想面が、前記仮想面群のうちの互いに間隔を存して対向する2つの仮想面である対向仮想面に属する仮想面であるか否かを判断する第2判断手段を備え、前記第1判断手段の判断結果と前記第2判断手段の判断結果とがいずれも否定的となる場合に、前記ロボットの運動状態が不適切であると判断することが好ましい(第3発明)。
この第3発明によれば、前記第1判断手段の判断結果と前記第2判断手段の判断結果とがいずれも否定的となる場合は、上記の如く、前記第1A必要条件及び第1B必要条件を満足しつつ、第2必要条件を満足し得るように、第1判断手段の判断結果が否定的となった仮想面における仮想面必要並進力を修正することはできない場合である。そして、この場合に、前記ロボットの運動状態が不適切であると判断されることとなる。
これにより、ロボットの運動状態が、前記第1A必要条件及び第1B必要条件と、第2必要条件とを満足し得る仮想面必要並進力を設定し得る運動状態であるか否を適正に判断しつつ、該運動状態の評価を行なうことができる。その結果、ロボットの運動状態の評価の信頼性を高めることができる。
前記第3発明において、2つの対向仮想面における仮想面垂直抗力成分のうち、大きさが小さい方の仮想面垂直抗力成分を第1仮想面垂直抗力成分、大きい方の仮想面垂直抗力成分を第2仮想面垂直抗力成分としたとき、第1仮想面垂直抗力成分と、第2仮想面垂直抗力成分のうちの第1仮想面垂直抗力成分と大きさの等しい成分とは、ロボットの運動に寄与しない内力として機能するものとなる。そして、この内力の大きさが過大になると、ロボットのアクチュエータが発生可能な動力のうち、上記内力の発生のために必要な負担分が大きくなり、ロボットの運動を変化させるために利用し得るアクチュエータの動力が不足し易いものとなる。
そこで、第3発明においては、前記運動状態評価手段は、前記第2判断手段の判断結果が肯定的となった場合において、前記第1判断手段の判断結果が否定的となった仮想面を含む2つの対向仮想面における前記算出された仮想面必要並進力のうちの仮想面垂直抗力成分を、前記2つの対向仮想面のそれぞれにおける仮想面垂直抗力成分のうち、小さい方の垂直抗力成分の大きさがあらかじめ設定された第2所定値以下であるという第3必要条件と、前記第1A必要条件及び第2必要条件とを満足させ得るように修正することができるか否かを判断する第3判断手段を備え、前記第1判断手段の判断結果と前記対向仮想面判断手段の判断結果と前記第3判断手段の判断結果とがそれぞれ、否定的、肯定的、否定的となる場合に、前記ロボットの運動状態が不適切であると判断することが好ましい(第4発明)。
この第4発明によれば、前記第1判断手段の判断結果と前記対向仮想面判断手段の判断結果と前記第3判断手段の判断結果とがそれぞれ、否定的、肯定的、否定的となる場合に、前記ロボットの運動状態が不適切であると判断するので、前記第1A必要条件、第1B必要条件及び第2必要条件を満足し得る仮想面必要並進力を設定するために前記内力の大きさが過大なものとならざるを得ない場合に、ロボットの運動状態を不適切なものであると評価することができる。
また、本発明の脚式移動ロボットの運動状態評価装置では、前記複数の接触対象面が互いに間隔を存して対向する2つの接触対象面を含む場合に、次のような形態を採用することもできる。すなわち、本発明は、脚式移動ロボットの動作環境に存する互いに異なる複数の接触対象面に該ロボットの複数の部位を接触させながら、該ロボットの運動を行なわせるための該ロボットの目標運動に該ロボットの実際の運動を追従させるように該ロボットの動作制御を行っている状態での該ロボットの運動状態を評価する運動状態評価装置であって、
相互の姿勢関係があらかじめ定められた複数の仮想面から成る仮想面群を用い、該仮想面群の複数の仮想面が前記複数の接触対象面に一致又は近似する面になるように、該仮想面群を前記ロボットの動作環境の空間に仮想的に設定する仮想面群設定手段と、
前記目標運動に基づいて、該目標運動を実現するために前記ロボットに作用させるべきトータルの外力のうちの並進力成分である基本必要総並進外力を決定する基本必要総並進外力決定手段と、
前記ロボットの所定の運動状態量の観測値と、前記目標運動における該運動状態量の目標値との偏差である運動状態量偏差を逐次算出し、該運動状態量偏差に基づいて、該運動状態量偏差を“0”に近づけるために前記ロボットに付加的に作用させるべき並進力である並進外力補償量を決定する並進外力補償量決定手段と、
前記決定された基本必要総並進外力に前記決定された並進外力補償量を付加してなる補償総並進外力を実現するために前記仮想面群の複数の仮想面のそれぞれから前記ロボットに作用させるべき並進力である仮想面必要並進力を算出する手段であり、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に垂直な成分である仮想面垂直抗力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分を除く成分に一致するという第1A必要条件と、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に平行な成分である仮想面摩擦力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分に一致するという第1B必要条件と、各仮想面における仮想面必要並進力のうちの仮想面摩擦力成分の大きさが、少なくとも該仮想面における仮想面垂直抗力成分に応じて設定した第1所定値以下になるという第2必要条件とを少なくとも満足するように、各仮想面における仮想面必要並進力を算出する仮想面必要並進力算出手段と、
少なくとも前記算出された仮想面必要並進力に基づいて、前記ロボットの運動状態を評価する運動状態評価手段とを備え、
前記運動状態評価手段は、前記仮想面群のうち、互いに間隔を存して対向する前記2つの接触対象面に対応する2つの仮想面である対向仮想面のそれぞれにおける仮想面垂直抗力成分のうち、小さい方の垂直抗力成分の大きさがあらかじめ設定された第2所定値以下であるという第3必要条件を、前記対向仮想面に関して前記算出された仮想面必要並進力が満足するか否かを判断する第4判断手段を備え、
該第4判断手段の判断結果が否定的となり、且つ、前記第1A必要条件と、前記第3必要条件とを満足させ得るように、前記対向仮想面に関して前記算出された仮想面必要並進力のうちの仮想面垂直抗力成分を修正することができない場合に、前記ロボットの運動状態が不適切であると評価することを特徴とする(第5発明)。
この第5発明では、前記仮想面群設定手段、基本必要総並進外力決定手段、及び並進外力補償量決定手段の処理は、第1発明と同じである。ただし、第5発明では、前記複数の接触対象面が、互いに間隔を存して対向する2つの接触対象面を含むので、前記仮想面群も、互いに間隔を存して対向する2つの対向仮想面を、前記2つの接触対象面に対応する仮想面として含むこととなる。
そして、第5発明では、前記仮想面必要並進力算出手段は、前記第1A必要条件及び第1B必要条件に加えて、前記第2必要条件をも満足するように各仮想面における仮想面必要並進力を算出する。これにより、前記仮想面必要並進力算出手段は、可能な限り、各仮想面における仮想面垂直抗力成分の合力によって前記補償総並進外力を実現すると共に、仮想面摩擦力成分の大きさが前記第2必要条件を満足するように(第1所定値以下に収まるように)、各仮想面における仮想面必要並進力を算出することとなる。
この場合、第5発明では、前記仮想面群に2つの対向仮想面が含まれるので、前記補償総並進外力が、全ての仮想面に平行な成分を含む場合に、前記第2必要条件を満足するために、前記2つの対向仮想面間に前記内力を発生させるようにこれらの対向仮想面における仮想面必要並進力が算出される場合がある。
そこで、第5発明では、前記運動状態評価手段は、前記第4判断手段の判断処理、すなわち、前記第4発明における第3判断手段と同じ判断処理を実行する。そして、該運動状態評価手段は、第4判断手段の判断結果が否定的となり、且つ、前記第1A必要条件と、前記第3必要条件とを満足させ得るように、前記対向仮想面に関して前記算出された仮想面必要並進力のうちの仮想面垂直抗力成分を修正することができない場合に、前記ロボットの運動状態が不適切であると評価する。
これにより、第5発明によれば、前記第4発明と同様に、前記第1A必要条件、第1B必要条件及び第2必要条件を満足し得る仮想面必要並進力を設定するために前記内力の大きさが過大なものとならざるを得ない場合に、ロボットの運動状態を不適切なものであると評価することができる。
補足すると、以上説明した第1〜第5発明において、前記目標運動を実現するために前記ロボットに作用させるべきトータルの外力のうちの前記仮想面群に対して固定された所定の基準点周りでのモーメント成分である基本必要総モーメント外力を決定する基本必要総モーメント外力決定手段を備えると共に、ロボットの所定の第2運動状態量の観測値と、前記目標運動における該第2運動状態量の目標値との偏差である第2運動状態量偏差を逐次算出し、該第2運動状態量偏差に基づいて、該第2運動状態量偏差を“0”に近づけるために前記ロボットに付加的に作用させるべき前記基準点周りのモーメントであるモーメント外力補償量を決定するモーメント外力補償量決定手段を備えるようにしてもよい。なお、この場合、第2運動状態量は、前記並進外力補償量に関する運動状態量と異なる種類のものでもよいが、同一の種類のものであってもよい。
そして、仮想面必要並進力算出手段の処理では、前記第1A必要条件及び第1B必要条件を満足しつつ、前記必要総モーメント外力に前記モーメント外力補償量を付加してなる補償総モーメント外力をも実現し得るように、各仮想面における仮想面必要並進力を算出してもよい。例えば、前記仮想面必要並進力算出手段の処理で算出する各仮想面における仮想面必要並進力を、各接触対象面からロボットへの外力の作用点に対応する仮想面上の点として、各仮想面上に設定された外力作用点に作用させた場合に、前記所定の基準点周りに発生するトータルのモーメントが前記補償総モーメント外力に一致するという条件を回転運動条件を加味し、前記第1A必要条件及び第1B必要条件と、この回転運動条件とを満足するように、各仮想面における仮想面必要並進力を算出するようにしてもよい。
本発明の実施形態における脚式移動ロボットの機構的な外力構成を示す図。 図1のロボットに備えた制御ユニットの機能とセンサ群とを示すブロック図。 図3(a)〜(c)は、図1のロボットの目標歩容の一例としての壁登り歩容におけるロボットの瞬時的な動作状態を時系列的に示す図。 図4(a),(b)は、図3(a)〜(c)の動作状態の後におけるロボットの瞬時的な動作状態を時系列的に示す図。 図5(a)〜(c)は壁登り歩容における外力作用点の設定位置の経時的変化の例を示すグラフ。 壁登り歩容における外力作用点の存在許容領域の面積の経時的変化の例を示すグラフ。 図2に示す外力目標生成部の、第1実施形態における処理を示すフローチャート。 図2に示す外力目標生成部の、第1実施形態における処理を示すフローチャート。 図2に示す外力目標生成部の第1実施形態における処理を示すフローチャート。 図7のS01で設定する仮想面を説明するための図。 図11(a)は図7のS05の処理により決定される仮想面必要並進力(仮想面垂直抗力成分及び仮想面摩擦力成分)の例を示す図、図11(b)は図7のS13までの処理により決定される仮想面必要並進力(仮想面垂直抗力成分及び仮想面摩擦力成分)の例を示す図。 図8のS19の処理を説明するための図。 図8のS25の処理を説明するための図。 図2に示す外力目標生成部の、第2実施形態における処理を示すフローチャート。 図2に示す外力目標生成部の、第2実施形態における処理を示すフローチャート。 図2に示す外力目標生成部の、第3実施形態における処理を示すフローチャート。 図2に示す外力目標生成部の、第4実施形態における処理を示すフローチャート。 図2に示す外力目標生成部の、第4実施形態における処理を示すフローチャート。 図19(a)〜(e)は図1のロボットの目標運動の他の例におけるロボットの瞬時的な動作状態を時系列的に示す図。 図20(a)〜(d)は図1のロボットの目標運動の他の例におけるロボットの瞬時的な動作状態を時系列的に示す図。
[第1実施形態]
本発明の第1実施形態を図1〜図13を参照して以下に説明する。
まず、図1を参照して、本実施形態における脚式移動ロボット1(以降、単にロボット1という)の機構的な概略構成を説明する。
このロボット1は、基体3と、この基体3から延設された複数のリンク機構5とを有する。各リンク機構5は、ロボット1の脚として機能し得る機構である。そして、リンク機構5の個数は、本実施形態の例では4つである。
なお、本実施形態の説明において、リンク機構5がロボット1の脚として機能し得るということは、該リンク機構5の先端部を、ロボット1の外界(動作環境)の床あるいは壁等の接触対象面に接触させた場合に、該リンク機構5が、ロボット1の自重(より正確には、ロボット1に作用する重力とロボット1の運動によって発生する慣性力との合力)の全部又は一部を支える外力を接触対象面から受けることができることを意味する。
各リンク機構5は、複数の要素リンク7と、これらの要素リンク7を基体3側から順番に連接する複数の関節9とから構成されている。この場合、各リンク機構5の先端部を構成する要素リンク7(以降、これを先端部リンク7a、又は単にリンク機構5の先端部という)が、該リンク機構5を脚として機能させる場合に、ロボット1の外界の床あるいは壁等の接触対象面に接触させる部分である。そして、各先端部リンク7aは、板状に形成されており、その表面(外界との接触面)には図示を省略するゴム材等の弾性樹脂材が装着されている。
各リンク機構5の各関節9は、例えば公知の構造の回転型の関節であり、それぞれ、1つ又は複数の自由度を有する。この場合、各リンク機構5に含まれる全ての関節9のトータルの自由度数が“6”以上の自由度数となるように、各リンク機構5毎の各関節9の自由度数が設定されている。このため、基体3に対する各先端部リンク7aの空間的な位置と姿勢(空間的な向き)とは、それぞれ3自由度を有する。なお、各リンク機構5には、回転型の関節の他に、直動型の関節が含まれていてもよい。
また、図1では図示を省略するが、ロボット1には、各関節9をそれぞれ駆動する電動モータ等の複数の関節アクチュエータ11(図2に示す)が搭載されている。そして、各リンク機構5の各関節9は、それに対応する関節アクチュエータ11から、図示しない減速機等を含む動力伝達機構を介して駆動力が伝達されるようになっている。
以上が本実施形態におけるロボット1の機構的な概略構成である。
補足すると、図1に例示するロボット1では、各リンク機構5の要素リンク7のサイズや個数、関節9の個数、トータルの自由度数等を含めた各リンク機構5の構造が、全てのリンク機構5で同じであるように記載されているが、それらの構造は、全てのリンク機構5で同じである必要はない。
また、図1では、ロボット1が、2つのリンク機構5a,5bを脚として機能させて平地を移動させる2脚移動ロボット(人型ロボットに類似するロボット)であるように記載されているが、例えば全てのリンク機構5を脚として機能させて平地を移動させるようなロボット(例えば4脚ロボット)であってもよい。
また、リンク機構5の個数は、4個である必要ななく、例えば、3個もしくは5個以上であってもよい。
次に、図2を参照して、以上の如く構成されたロボット1には、ロボット1の動作制御に利用されるセンサ群13と、CPU、RAM、ROM、関節アクチュエータ11の駆動回路等を含む電子回路ユニットにより構成された制御ユニット21とが搭載されている。
センサ群13は、本実施形態の例では、ロボット1の代表リンク(代表部位)としての基体3の空間的な姿勢を計測するための姿勢センサ15と、各リンク機構5の先端部に作用する外力を計測するための力センサ17と、各関節9の変位量(本実施形態では回転角)を計測するための関節変位センサ19とを備える。
この場合、姿勢センサ15は、例えばジャイロセンサ等の角速度センサ(レートセンサ)と加速度センサとから構成され、図1に示す如く基体3に搭載されている。また、力センサ17は、例えば3軸方向の並進力及び3軸周りのモーメントを検出可能な6軸力センサにより構成され、図1に示す如く、各リンク機構5の最も先端側の関節9と先端部リンク7aとの間に介装されている。また、関節変位センサ19は、例えば各関節9に装着されたエンコーダやポテンショメータ等により構成される。
制御ユニット21は、ロボット1の適所、例えば基体3に搭載されている。この制御ユニット21は、実装されるプログラム等により実現される主要な機能として、ロボット1の目標運動を逐次生成して出力する目標運動生成部25と、この目標運動とセンサ群13の出力とを用いて、ロボット1に外界から作用させる外力に関する目標を逐次生成する外力目標生成部27と、上記目標運動と外力に関する目標とに応じてロボット1の動作制御(関節アクチュエータ11の駆動制御)を行なう動作制御部29とを備える。
目標運動生成部25及び外力目標生成部27の処理の詳細は後述するが、目標運動生成部25が生成する目標運動(瞬時値)は、各関節9の目標変位量と、ロボット1の代表リンク(本実施形態では基体3)のグローバル座標系での目標位置及び目標姿勢とから構成される。なお、代表リンク(基体3)の目標位置は、より詳しくは、該代表リンクに設定された代表点の目標位置である。また、グローバル座標系は、ロボット1の外界に対して固定される座標系である。
また、外力目標生成部27が生成する、外力に関する目標(瞬時値)は、1つ以上のリンク機構5の先端部リンク7aを外界の接触対象面に接触させる場合に該接触対象面からロボット1に作用させるべき外力の目標値(目標外力)と、その外力の作用点の目標位置としての目標外力作用点とから構成される。この場合、目標外力は、本実施形態では、該外力のうちの並進力成分である並進外力の目標値(目標並進力)と、該外力のうち、外界の接触対象面に垂直な方向の軸周りでのねじり力(モーメント外力)の目標値(目標ねじり力)とから構成される。
なお、接触対象面からロボット1に作用させるべき外力の作用点というのは、その接触対象面からロボットに作用する外力の全体によって、該作用点の周りに発生するモーメントのうち、該接触対象面に平行な軸周りの成分が“0”となるような点を意味する。その作用点は、ロボット1を単に床上で移動させる場合には、所謂、床反力中心点に相当する点である。このことは、後述する仮想面上の外力作用点についても同様である。
補足すると、本実施形態では、前記目標運動生成部25においては、目標運動を生成する処理に加えて、前記目標外力作用点の存在許容領域と暫定的な目標外力作用点である暫定外力作用点とを設定する処理も実行される。
また、ロボット1のあるリンク機構5のトータルの自由度数が6自由度である場合には、基体3に対する該リンク機構5の先端部リンク7aの位置及び姿勢を指定すれば、該リンク機構5の各関節9の変位量が一義的に決定されることとなる。従って、6自由度のリンク機構5については、該リンク機構5の各関節9の目標変位量の代わりに、該リンク機構5の先端部リンク7aの目標位置及び目標姿勢を、前記目標運動の構成要素として用いてもよい。
さらに、必要に応じて、ロボット1の所定の運動状態量の目標値、例えば、ロボット1の全体重心点の位置、速度、加速度の目標値、あるいは、ロボット1の基体3以外の特定の部位の位置、姿勢の目標値を、目標運動生成部25で生成する目標運動の構成要素に含めるようにしてもよい。
また、本実施形態では、外力目標生成部27は、目標運動生成部25が生成した目標運動を評価する機能をも有する。そして、外力目標生成部27は、生成された目標運動が適切である場合に、目標外力と目標外力作用点とを決定する処理を逐次実行し、該目標運動が不適切であると評価されるときには、目標外力と目標外力作用点とを決定する処理を中止する。
動作制御部29は、目標運動生成部25が生成した目標運動と外力目標生成部27が生成した目標外力にロボット1の実際の動作を追従させるようにロボット1の各関節9をそれに対応する関節アクチュエータ11を介して制御する。この制御は例えば、公知のコンプラインアンス制御により行わる。
次に、前記目標運動生成部25及び外力目標生成部27の処理を詳細に説明する。なお、以降の説明では、4つのリンク機構5を区別する場合には、図1に示す如く参照符号5a,5b,5c,5dを付する。
本実施形態における制御ユニット21は、は、種々様々な動作環境でロボット1の動作制御を行うことができる。
ただし、本実施形態における制御ユニット21の制御処理、特に、外力目標生成部27の処理は、ロボット1の目標運動が、ロボット1の外界(動作環境)に存する互いに異なる複数の接触対象面にロボット1の複数の部位を接触させながら、ロボット1の運動を行なわせるような目標運動である場合に特徴を有する。
そこで、以降の説明では、本実施形態の理解の便宜上、複数の接触対象面にロボット1の複数のリンク機構5の先端部リンク7aを接触させながら、ロボット1の運動を行なわせるための一例の目標運動を参考的に提示する。そして、その一例の目標運動に係わる処理の説明を適宜行いつつ、目標運動生成部25及び外力目標生成部27の処理を説明する。
以降の本実施形態の説明で参考的に例示する目標運動に係わるロボット1の動作環境は、ロボット1の外界に存する互いに異なる接触対象面として、例えば図1に示すように、床面FLと、この床面FLからほぼ垂直に起立する2つの壁面WL1,WL2とを備える動作環境である。この場合、2つの壁面WL1,WL2は、互いに間隔を存して平行もしくはほぼ平行に対向する接触対象面である。
そして、本実施形態の説明で参考的に例示する目標運動は、2つの壁面WL1,WL2の間で、床面FL上から壁面WL1,WL2をよじ登らせるようにロボット1を動作させる目標運動である。以降、この目標運動を壁登り歩容ということがある。
この壁登り歩容におけるロボット1の動作形態の概要を図3(a),(b),(c)及び図4(a),(b)を参照して以下に説明しておく。図3(a),(b),(c)及び図4(a),(b)は、壁登り歩容におけるロボット1の瞬時的な動作状態(時刻t1〜t5での動作状態)を時系列順に示している。
なお、これらの図では、便宜上、ロボット1の各リンク機構5のリンク要素7及び関節9の図示を省略し、各リンク機構5をその基端部(基体3側の端部)と先端部とを結ぶ線分として記載している。この場合、図面上は、各リンク機構5の先端部は点となるが、実際には、前記した板状の先端部リンク7aである。
また、これらの図における矢印F1〜F10は、各図のロボット1の動作状態で、接触対象面FL又はWL1又はWL2からロボット1に作用する外力(並進外力)の例を視覚的に示している。この場合、各並進外力F1〜F10の始点が接触対象面FL又はWL1又はWL2からロボット1への該並進外力の作用点(外力作用点)に相当する。
また、これらの図において、接触対象面FL又はWL1又はWL2上に記載している丸枠領域AR1〜AR12は、各図のロボット1の動作状態で、接触対象面FL又はWL1又はWL2からロボット1への外力作用点の概略的な存在可能領域を視覚的に示している。その存在可能領域は、単一のリンク機構5の先端部だけが接触している接触対象面では、その単一のリンク機構5の先端部リンク7aと接触対象面との接触面内の領域である。また、複数のリンク機構5の先端部が接触している接触対象面での外力作用点の存在可能領域は、それらの複数のリンク機構5の先端部リンク7aのそれぞれと接触対象面との各接触面内の領域をひとまとめに連接してなる領域(所謂、支持多角形に相当する領域)である。
以下、これらの図を参照して壁登り歩容を説明すると、図3(a)は壁登り歩容の初期状態を示している。この初期状態では、ロボット1の2つのリンク機構5a,5bの先端部を床面FLに接触(接地)させた状態で、ロボット1が壁面WL1,WL2の間で床面FL上に起立する。また、ロボット1の壁登り歩容の動作を開始するために、ロボット1は、残りのリンク機構5c,5dのうちの壁面WL1側のリンク機構5cの先端部を該壁面WL1に接触させると共に、壁面WL2側のリンク機構5dの先端部を該壁面WL2に接触させる。
この場合、図3(a)の初期状態では、ロボット1の自重(より正確には、ロボット1に作用する重力とロボット1の運動によって発生する慣性力との合力)を支えるための外力として、例えば、矢印F1で示す外力が、床面FLの領域AR1からロボット1に作用する。なお、図示例では、壁面WL1,WL2からロボット1に作用する外力は“0”である。
次いで、ロボット1の動作状態は、図3(b)に示す状態に移行する。この図3(b)の動作状態は、図3(a)の初期状態で壁面WL1,WL2に接触させたリンク機構5c,5dの先端部をそれぞれ壁面WL1,WL2に押し付けつつ、リンク機構5a,5bのうちの一方(図示例では、リンク機構5a)の先端部を床面FL上から浮上させることによって、図3(a)の初期状態から移行する動作状態である。
この場合、図3(b)の動作状態では、ロボット1の自重を支えるための外力として、例えば、床面FLの領域AR4から矢印F2で示す外力がロボット1に作用すると共に、壁面WL1の領域AR5と壁面WL2の領域AR6とからそれぞれ矢印F3,F4で示す外力(上向きの摩擦力成分を有する外力)がロボット1に作用する。
次いで、ロボット1の動作状態は、図3(c)に示す状態に移行する。この図3(c)の動作状態は、図3(b)の動作状態で壁面WL1,WL2にそれぞれ押し付けたリンク機構5c,5dの先端部の押し付け力を増加させ、さらに、図3(b)の動作状態で床面FLに接触させていたリンク機構5bを床面FL上から浮上させる(ひいては、リンク機構5a,5bの両方を床面FL上から浮上させる)ことによって、図3(b)の動作状態から移行する動作状態である。
この場合、図3(c)の動作状態では、ロボット1の自重を支えるための外力として、例えば、壁面WL1の領域AR7と、壁面WL2の領域AR8とから、それぞれ矢印F5,F6で示す外力(上向きの摩擦力成分を有する外力)がロボット1に作用する。
次いで、ロボット1の動作状態は、図4(a)に示す状態に移行する。この図4(a)の動作状態は、図3(c)の動作状態までに床面FLから浮上させたリンク機構5a,5bのうちのリンク機構5aの先端部を、リンク機構5cの先端部の下側で壁面WL1に接触させると共に、リンク機構5bの先端部を、リンク機構5dの先端部の下側で壁面WL2に接触させることによって、図3(c)の動作状態から移行する動作状態である。
この場合、図4(a)に示した動作状態は、リンク機構5a,5bをそれぞれ壁面WL1,WL2に接触させた直後の状態である。この状態では、例えば、壁面WL1の領域AR9のうち、リンク機構5cの先端部寄りの点を外力作用点として、矢印F7で示す外力(上向きの摩擦力成分を有する外力)がロボット1に作用すると共に、壁面WL2の領域AR10のうち、リンク機構5dの先端部寄りの点を外力作用点として、矢印F8で示す外力(上向きの摩擦力成分を有する外力)がロボット1に作用する。
次いで、ロボット1の動作状態を、図4(a)に示した如くリンク機構5a,5cを壁面WL1に接触させ、且つ、リンク機構5b,5dを壁面WL2に接触させた状態に維持したまま、下側のリンク機構5a,5bのそれぞれの壁面WL1,WL2への押し付け力を増加させていくと共に、上側のリンク機構5c,5dのそれぞれの壁面WL1,WL2への押し付け力を減少させていく。
これにより、壁面WL1からロボット1への外力作用点を、領域AR9のうちのリンク機構5aの先端部寄りの箇所に近づけていくと共に、壁面WL2からロボット1への外力作用点を、領域AR10のうちのリンク機構5bの先端部寄りの箇所に近づけていく。そして、最終的には、壁面WL1からロボット1への外力作用点を、リンク機構5aの先端部と壁面WL1との接触面内に移動させると共に、壁面WL2からロボット1への外力作用点を、リンク機構5bの先端部と壁面WL2との接触面内に移動させる。
次いで、ロボット1の動作状態は、図4(b)に示す状態に移行する。この図4(b)の動作状態は、図4(a)の動作状態で、上記の如く壁面WL1,WL2からロボット1への外力作用点を移動させた後に、リンク機構5a,5bをそれぞれ壁面WL1,WL2に押し付けた状態を維持したまま、リンク機構5c,5dの先端部のうちの一方(図示例では、リンク機構5cの先端部)を壁面WL1から離反させることによって、図4(a)の動作状態から移行する動作状態である。
この場合、図4(b)に示した動作状態では、ロボット1の自重を支えるための外力として、壁面WL1の領域AR11から矢印F9で示す外力(上向きの摩擦力成分を有する外力)がロボット1に作用すると共に、壁面WL2の領域AR12から矢印F10で示す外力(上向きの摩擦力成分を有する外力)がロボット1に作用する。
その後は、リンク機構5dの先端部も壁面WL2から離反される。そして、壁面WL1,WL2から離反されたリンク機構5c,5dの先端部が、それぞれ、図4(a)の動作状態よりも高所で壁面WL1,WL2に接触される。そして、図3(b)以降の動作と同様の動作の繰り返しによって、ロボット1が壁面WL1,WL2をよじ登っていく。
以上が、壁登り歩容の概略的な形態である。
このような壁登り歩容等の目標運動を生成する目標運動生成部25には、制御ユニット21にあらかじめ記憶保持された移動指令データ、あるいは、外部から無線通信などにより制御ユニット21に入力される移動指令データが与えられると共に、ロボット1の外界に存在する接触対象面等に関する環境情報が与えられる。
上記移動指令データは、例えば、ロボット1の移動開始時刻や、移動経路、移動の仕方等を指定するデータである。また、上記環境情報は、例えば、ロボット1の外界の接触対象面(床面FL、壁面WL1,WL2等)のロボット1に対する相対位置及び相対姿勢を認識するために必要な情報や、各接触対象面の性状(摩擦係数等)を認識するために必要な情報等から構成される。
なお、上記環境情報は、制御ユニット21に外部から無線通信等により入力される情報、又は制御ユニット21にあらかじめ記憶保持された情報でもよいが、ロボット1に搭載した図示しない撮像カメラ等の環境認識用のセンサの出力を基に、制御ユニット21で認識された情報であってもよい。
そして、目標運動生成部25は、これらの移動指令データと環境情報とに基づいて、ロボット1の運動を制約する条件(ロボット1の目標運動が満たすべき条件)を設定し、その条件を満足させるように、逆運動学の演算処理によってロボット1の目標運動を逐次生成しつつ出力する。
この場合、ロボット1の運動を制約する条件は、基本的には、該ロボット1の要求される運動形態に応じて適宜設定される。その制約条件としては、例えば、各リンク機構5の先端部の運動を制約する条件(各リンク機構5の先端部リンク7aを外界の接触対象面に接触させる時刻の目標、その接触時における接触対象面上の接触位置の目標、その接触時における先端部リンク7aの姿勢の目標、外界の接触対象面に接触させていない先端部リンク7aの、ある時刻又は期間における位置及び姿勢の目標等)と、基体2の運動を制約する条件(ある時刻又は期間における基体2の位置及び姿勢の目標等)とを使用することができる。
なお、基体2の運動を制約する条件に代えて、もしくは、該条件に加えて、ロボット1の運動に関する所定の状態量を制約する条件(例えばロボット1の全体の並進運動量又は角運動量の目標等)を使用するようにしてもよい。また、該制約条件には、一般には、ロボット1の関節9の可動範囲や動作速度(関節9の変位量の変化速度)の許容範囲等、機構的な制約条件も含まれる。
前記壁登り歩容の生成を行なう場合には、目標運動生成部25は、図3及び図4を参照して説明した時系列的な形態で、ロボット1の各リンク機構5の先端部が接触対象面FL,WL1,WL2のいずれかに接触する動作が行なわれるように、ロボット1の運動を制約する条件(例えば、各リンク機構5の先端部の運動を制約する条件と、基体3の運動を制約する条件とを含む制約条件)を決定する。そして、目標運動生成部25は、この制約条件を満足させるように、逆運動学の演算処理によってロボット1の目標運動の時系列を生成する。なお、目標運動は、不連続に(ステップ状に)変化することが無いように生成される。
また、目標運動生成部25は、上記の如く決定した目標運動に基づいて、各接触対象面(1つ又は複数のリンク機構5の先端部リンク7aを接触させている面)における外力作用点の存在許容領域と、暫定外力作用点とを決定する。
この場合、目標運動生成部25は、まず、上記の如く生成した目標運動に基づいて、各接触対象面における外力作用点の存在許容領域を設定する。より詳しくは、目標運動生成部25は、上記の如く生成した目標運動において、1つのリンク機構5の先端部リンク7aだけを接触させる接触対象面においては、該接触対象面と先端部リンク7aとの接触面内に外力作用点の存在許容領域を設定する。その存在許容領域は、接触対象面と先端部リンク7aとの接触面内で、その接触面の境界に近づき過ぎないような領域に設定される。
また、2つ以上のリンク機構5の先端部リンク7aを接触させる接触対象面においては、目標運動生成部25は、該接触対象面と各先端部リンク7aとの接触面を連接してなる領域(所謂、支持多角形の領域)内に外力作用点の存在許容領域を設定する。その存在許容領域は、支持多角形の領域内で、該支持多角形の領域の境界に近づき過ぎないような領域に設定される。
そして、目標運動生成部25は、上記の如く設定した外力作用点の存在許容領域内の点(例えば、該存在許容範囲内の中央点)を暫定外力作用点として決定する。なお、各接触対象面上の暫定外力作用点は、該接触対象面にいずれかのリンク機構5が接触する状態が連続的に継続する期間内において、該作用点の位置が不連続に(ステップ状に)変化することが無いように決定される。
目標運動生成部25が図3及び図4に例示した壁登り歩容の生成を行なう場合には、暫定外力作用点は、例えば、図5(a),(b),(c)に例示する時系列パターンで生成される。なお、図5(a)〜(c)における横軸の時刻t1〜t5は、それぞれ順番に、図3(a)、図3(b)、図3(c)、図4(a)、図4(b)の動作状態に対応する時刻を示している。
図5(a)〜(c)に示す例では、床面FL上の暫定外力作用点の位置(壁面WL1,WL2に垂直な方向での位置)は、時刻t1から時刻t2の直前までに壁面WL1側から壁面WL2側に連続的に移動していくように決定される。
また、壁面WL1上の暫定外力作用点の位置(高さ方向での位置)は、時刻t3と時刻t4との間の途中時刻まで一定の位置(壁面WL1とリンク機構5cの先端部との接触面内の位置)に維持された後、該途中時刻から時刻t4の直前まで、下方に連続的に移動していくように決定される。次いで、壁面WL1上の暫定外力作用点の位置は、時刻t4と時刻t5との間の途中時刻まで一定の位置(リンク機構5cの先端部の壁面WL1への接触面とリンク機構5aの先端部の壁面WL1への接触面との間の中間位置)に維持された後、時刻t5の直前の時刻まで、下方に連続的に移動していき、さらに、時刻t5の前後の期間で一定の位置(壁面WL1とリンク機構5aの先端部との接触面内の位置)に維持されるように決定される。
また、壁面WL2上の暫定外力作用点の位置(高さ方向での位置)は、時刻t3と時刻t4との間の途中時刻まで一定の位置(壁面WL2とリンク機構5dの先端部との接触面内の位置)に維持された後、該途中時刻から時刻t4の直前の時刻まで、下方に連続的に移動していき、その後、時刻t5の直後の時刻までの期間で一定の位置(リンク機構5dの先端部の壁面WL2への接触面とリンク機構5bの先端部の壁面WL2への接触面との間の中間位置)に維持されるように決定される。
なお、この場合、床面FLと壁面WL1,WL2のそれぞれにおける外力作用点の存在許容領域は、その面積が、例えば図6に示すようなパターンで連続的に変化するように設定される。
補足すると、目標運動生成部25が生成する目標運動は、基本的には、ロボット1に行なわせようとする運動に関する要求を形式的に(少なくとも運動学的に)実現し得るように生成されたものであればよい。換言すれば、該目標運動は、動力学的な実現性が厳密に保障されたものでなくてもよい。従って、該目標運動を実現するためにロボット1に作用させるべき外力が、実際にはロボット1に作用させることが困難となる場合や、該外力が好適な範囲を逸脱するようなものとなる場合(該外力が過大になり過ぎる場合等)もあり得る。
また、目標運動は、必ずしもロボット1の動作中にリアルタイムで生成する必要はない。例えば、事前に適宜のコンピュータによって作成した目標運動と外力作用点の存在許容領域とを、制御ユニット21にあらかじめ記憶保持しておくか、あるいは、無線通信等により制御ユニット21に入力し、外力目標生成部27及び動作制御部29に逐次出力するようにしてもよい。このようにした場合には、目標運動生成部25は不要である。
次に、外力目標生成部27の処理を詳細に説明する。この外力目標生成部27には、目標運動生成部25から出力された目標運動、暫定外力作用点及び外力作用点の存在許容領域が入力される。さらに、外力目標生成部27には、前記環境情報も入力される。
そして、外力目標生成部27は、これらの入力データを用いて、図7〜図9のフローチャートに示す処理を実行することによって、外力に関する目標としての目標外力と目標外力作用点とを決定する。図7〜図9のフローチャートに示す処理は、制御ユニット21の各演算処理周期の時刻で、ロボット1の運動状態の評価を行いつつ、目標外力及び目標外力作用点の瞬時値を決定するための処理を示しており、この処理を所定の周期で逐次実行することによって、ロボット1の運動状態が適切である場合に、目標外力と目標外力作用点とが逐次決定される。
なお、外力目標生成部27の処理に関する以降の説明においては、図7〜図9のフローチャートの処理により今現在、決定しようとする目標外力及び目標外力作用点の瞬時値に対応する時刻を今回時刻という。また、今回時刻の1つ前の時刻を前回時刻、次の時刻を次回時刻という。
以下説明すると、外力目標生成部27は、まず、S01の処理を実行する。このS01では、外力目標生成部27は、目標運動と環境情報とを基に、今回時刻での目標外力及び目標外力作用点を決定するための演算処理に用いる作業用の仮想面を、ロボット1の外界の各接触対象面(目標運動における今回時刻でいずれかのリンク機構5の先端部を接触させる接触対象面)に一致又は近似させるように設定する。
ここで、本実施形態では、外力目標生成部27の処理のアルゴリズムに汎用性を持たせると共に該アルゴリズムの構築を行い易くするために図10に示す如く、相互の姿勢関係があらかじめ定められた6つの平面S1a,S2a,S3a,S1b,S2b,S3bが、作業用の仮想面として使用し得る面として用意されている。そして、外力目標生成部27の処理では、ロボット1の目標運動を実現するために該ロボット1に各接触対象面から作用すべき外力は、各接触対象面に対応する仮想面からロボット1に作用する外力であると見なされる。
この場合、本実施形態では、6つの仮想面のうちの仮想面S1a,S2a,S3aは相互に直交する平面とされ、仮想面S1b,S2b,S3bは、それぞれ仮想面S1a,S2a,S3aに平行な平面とされている。
また、互いに平行に対向する2つの仮想面は、それぞれが発生し得る垂直抗力が互いに逆向き(各仮想面からこれに対向する仮想面に向かう向き)であるとされる。例えば、図10に示す如く、3軸直交座標系(XYZ座標系)を想定した場合において、X軸に直交する仮想面S1a,S1bがそれぞれ発生可能な垂直抗力N_1a,N_1bの向きは、それぞれX軸方向の正の向き(S1aからS1bに向かう向き)、X軸方向の負の向き(S1bからS1aの向かう向き)である。このことは、Y軸に直交する仮想面S2a,S2bの組、Z軸に直交する仮想面のS3a,S3bの組についても同様である。
そして、S01の処理では、外力目標生成部27は、今回時刻での外界の各接触対象面(詳しくは、各接触対象面のうちのロボット1のリンク機構5の先端部との接触面)に、それぞれ、仮想面S1a,S2a,S3a,S1b,S2b,S3bのいずれか1つを対応付ける。そして、外力目標生成部27は、今回時刻での各接触対象面に対応付けた仮想面が、それに対応する接触対象面に一致又は近似するように、今回時刻での接触対象面と同数の仮想面を、ロボット1の外界(前記環境情報により認識される外界)に対して仮想的に設定する。なお、外界に仮想面を設定するということは、外界における仮想面の配置位置及び姿勢を決定することを意味する。
この場合、今回時刻での外界の接触対象面が複数となる場合には、各接触対象面(各接触対象面のうちのロボット1のリンク機構5の先端部との接触面)とこれに対応する仮想面との間の姿勢差(空間的な角度差)が、いずれの接触対象面についてもできるだけ“0”又はそれに近いものとなるように、外界における仮想面の配置(接触対象面と同数の仮想面から成る仮想面群の配置)が決定される。例えば、各接触対象面毎の上記姿勢差の空間的な各成分(3軸周りの角度差成分)の2乗値又は絶対値を、今回時刻での全ての接触対象面に関して加え合わせてなる値(又は該2乗値又は絶対値の平均値)が最小となるように、今回時刻での全ての接触対象面と同数の仮想面から成る仮想面群の配置が決定される。
従って、本実施形態では、今回時刻での外界の接触対象面が複数となる場合に、S01で設定される複数の仮想面(仮想面群)は、接触対象面と同数の仮想面により構成され、その相互の姿勢関係は、任意の2つの仮想面が互いに直交するか、又は互いに平行に対向するものとなる。
なお、今回時刻での接触対象面が前回時刻での接触対象面と同一の接触対象面を有する場合には、今回時刻において、その同一の接触対象面に対応付けられる仮想面は、前回時刻と同じ仮想面に維持される。
以上のS01の処理によって、ロボット1の目標運動が前記壁登り歩容である場合には、例えば、次のように仮想面が設定される。すなわち、図3(a)又は図3(b)に示した動作状態の時刻では、6つの仮想面S1a,S2a,S3a,S1b,S2b,S3bのうちの互いに平行な2つの仮想面を含む3つの仮想面、例えば、仮想面S3a,S2a,S2bがそれぞれ接触対象面としての床面FL、壁面WL1、壁面WL2に対応付けられる(図中の括弧付きの参照符号を参照)。そして、これらの仮想面S3a,S2a,S2bがそれぞれ床面FL、壁面WL1、壁面WL2に一致又はほぼ一致する面になるように、ロボット1の外界における仮想面S3a,S2a,S2bの配置が決定される。
また、図3(c)、図4(a)、図4(b)の動作状態の時刻では、図3(a),(b)の動作状態での壁面WL1,WL2にそれぞれ対応付けられた仮想面S2a,S2bが、そのまま、壁面WL1,WL2にそれぞれ対応付けられる(図中の括弧付きの参照符号を参照)。そして、これらの仮想面S2a,S2bがそれぞれ壁面WL1,WL2に一致又はほぼ一致するように、ロボット1の外界における仮想面S2a,S2bの配置が決定される。
なお、以降の本実施形態の説明では、S01で設定される仮想面のうち、互いに平行に対向する2つの仮想面を対向仮想面ということがある。この対向仮想面の組は、本実施形態では、仮想面S1a,S1bの組、仮想面S2a,S2bの組、仮想面S3a,S3bの組のいずれかである。そして、これらの各組の対向仮想面を総称的に表記する場合に、対向仮想面Sna,Snb(n=1又は2又は3)、あるいは、単に対向仮想面Sna,Snbと表記することがある。
図5の説明に戻って、外力目標生成部27は、次に、S02の処理を実行する。このS02では、外力目標生成部27は、目標運動生成部25が作成した目標運動を基に、この目標運動を実現するために、今回時刻でロボット1に作用させるべきトータルの外力である必要総外力のうちの並進力成分である必要総並進外力Fallと、該必要総外力のうちの所定の基準点周りのモーメント成分である必要総モーメント外力Mallとを決定する。
ここで、上記所定の基準点(以降、モーメント基準点という)は、ロボット1の外界に対して固定された点(例えば、外界の接触対象面又はこれに対応する仮想面上に設定された点)である。このモーメント基準点は、目標運動の全期間で一定の点に維持してもよいが、目標運動の所定の期間毎に適宜更新するようにしてもよい。
なお、本実施形態における外力目標生成部27の処理では、必要総並進外力Fall、必要総モーメント外力Mall等の並進力もしくはモーメント、あるいは、空間的な位置、姿勢等の変数(ベクトル量)は、S01で設定される仮想面に対して固定されたグローバル座標系(例えば、各仮想面に対して図10に示すような位置及び姿勢関係で設定される3軸直交座標系(XYZ座標系))で記述される。
上記必要総並進外力Fall及び必要総モーメント外力Mallは、より具体的には次のように決定される。すなわち、必要総並進外力Fallを決定する場合には、外力目標生成部27は、ロボット1の目標運動を基に、ロボット1の幾何学モデル(剛体リンクモデル)を用いて、ロボット1の全体重心点の目標位置の2階微分値である目標重心加速度(今回時刻での目標重心加速度)を算出する。なお、ロボット1の全体重心点の目標位置、あるいは、目標重心加速度は、前記目標運動生成部25で目標運動の要素として算出しておくようにしてもよい。
そして、外力目標生成部27は、この目標重心加速度とロボット1の全体質量とから算出される並進慣性力(ロボット1の目標運動によって発生する慣性力の並進力成分)とロボット1に作用する重力との合力に釣り合う並進力を必要総並進外力Fallとして算出する。
なお、目標運動によって発生するロボット1の全体の並進慣性力は、例えば、ロボット1の各リンク3,7毎の重心点の並進慣性力を加え合わせることによって算出するようにしてもよい。
また、必要総モーメント外力Mallを決定する場合には、外力目標生成部27は、ロボット1の目標運動を基に、ロボット1の幾何学モデル(剛体リンクモデル)を用いて、ロボット1の目標運動によって該ロボット1の全体重心点の周りに発生する今回時刻での慣性力モーメント(慣性力のモーメント成分)と、該目標運動におけるロボット1の全体重心点の運動(並進運動)が前記モーメント基準点周りに発生する今回時刻での慣性力モーメントとの総和の慣性力モーメントを算出する。そして、外力目標生成部27は、この総和の慣性力モーメントに釣り合うモーメントを今回時刻での必要総モーメント外力Mallとして算出する。
なお、ロボット1の目標運動によって発生する並進慣性力の時系列と、前記モーメント基準点周りの慣性力モーメントの時系列とを前記目標運動生成部25で算出しておいてもよい。そして、今回時刻での並進慣性力の値と慣性力モーメントの値とを目標運動生成部25から外力目標生成部27に入力するようにしてもよい。
上記の如く必要総並進外力Fall及び必要総モーメント外力Mallを算出した後、外力目標生成部27は、次にS03の処理を実行する。このS03では、外力目標生成部27は、ロボット1の並進運動に係わる所定種類の第1運動状態量の実際の値(センサ群13の出力に基づく観測値)と、目標運動により規定される該第1運動状態量の目標値との偏差を解消する(該偏差を“0”に近づける)ために、ロボット1に付加的に作用させるべき並進力である並進外力補償量と、ロボット1の回転運動に係わる所定種類の第2運動状態量の実際の値(前記センサ群13の出力に基づく観測値)と、目標運動により規定される該第2運動状態量の目標値との偏差を解消する(該偏差を“0”に近づける)ために、ロボット1に付加的に作用させるべきモーメント(前記モーメント基準点周りのモーメント)であるモーメント外力補償量とを決定する。
ここで、目標運動で想定されたロボット1の動作環境と、実際の動作環境との誤差等に起因して、ロボット1の実際の運動状態と目標運動により規定される運動状態とには誤差が生じる。上記並進外力補償量とモーメント外力補償量とは、ロボット1の動作状態を安定させるために、このような運動状態の誤差を解消もしくは低減するために、ロボット1に付加的に作用させる外力を意味する。
この場合、並進外補償量に係わる前記第1運動状態量は、ロボット1に作用させる外力のうちの並進力の調整によって操作可能な運動状態量である。また、モーメント外力補償量に係わる前記第2運動状態量は、ロボット1に作用させる外力のうちのモーメントの調整によって操作可能な運動状態量である。これらの運動状態量は、基本的には、目標運動により実現しようとするロボット1の動作状態を安定させる上で好適と考えられる種類の運動状態量であればよい。
具体的には、本実施形態では、第1運動状態量として、例えば、ロボット1の全体重心点の位置が用いられる。また、第2運動状態量として、例えば、ロボット1の全体重心点周りの角運動量が用いられる。
そして、第1運動状態量の実際の値を目標値に近づけるための並進外力補償量は次のように決定される。
すなわち、外力目標生成部27は、入力される目標運動を基に、ロボット1の幾何学モデル(剛体リンクモデル)を用いて、今回時刻でのロボット1の全体重心点の目標位置(以降、目標全体重心点位置という)を算出する。また、外力目標生成部27は、前記センサ群13の関節変位センサ19の出力を基に、今回時刻でのロボット1の全体重心点の実際の位置の観測値(以降、実全体重心点位置という)を算出する。そして、外力目標生成部27は、これらの目標全体重心点位置と実全体重心点位置との偏差ΔPgを算出し、この偏差ΔPgを“0”に収束させるようにフィードバック制御則により並進外力補償量Fadを算出する。
この場合、本実施形態では、外力目標生成部27は、例えば、PD則(比例・微分則)を用いて、次式21により、Fadを算出する。

Fad=Kf1*ΔPg+Kf2*ΔPg' ……式21

この式21におけるΔPg'は、ΔPgの1階微分値、Kf1、Kf2はそれぞれあらかじめ設定されたゲイン値である。なお、本明細書では、「*」は乗算記号として使用する。この場合、ベクトル同士の乗算演算における「*」は、外積(ベクトル積)を意味するものとする。
また、第2運動状態量の実際の値を目標値に近づけるためのモーメント外力補償量は次のように決定される。
すなわち、外力目標生成部27は、入力される目標運動を基に、ロボット1の幾何学モデル(剛体リンクモデル)を用いて、ロボット1の目標運動によって該ロボット1の全体重心点の周りに発生する今回時刻での角運動量の目標値(以降、目標角運動量という)を算出する。また、外力目標生成部27は、前記センサ群13の関節変位センサ19の出力と姿勢センサ15の出力とを基に、ロボット1の幾何学モデル(剛体リンクモデル)を用いて、ロボット1の実際の運動によって該ロボット1の実際の全体重心点周りに発生する今回時刻での角運動量の観測値(以降、実角運動量という)を算出する。そして、外力目標生成部27は、これらの目標角運動量と実角運動量との偏差ΔLgを算出し、この偏差ΔLgを“0”に収束させるようにフィードバック制御則によりモーメント外力補償量Madを算出する。
この場合、本実施形態では、外力目標生成部27は、例えば、PD則(比例・微分則)を用いて、次式22により、Madを算出する。

Mad=Km1*ΔLg+Km2*ΔLg'+Pg*Fad ……式22

この式22におけるΔLg'は、ΔLgの1階微分値、Km1、Km2はそれぞれあらかじめ設定されたゲイン値である。また、Pgは、今回時刻でのロボット1の全体重心点の位置ベクトル(前記モーメント基準点に対する位置ベクトル)である。そして、Pg*Fadは、この位置ベクトルPgと、前記式22により算出された並進外力補償量Fadとのベクトル積である。本実施形態では、並進外力補償量Fadをロボット1に付加的に作用させることに起因して生じるロボット1の全体重心点の並進運動によって、モーメント(Pg*Fad)が発生する。このため、式22では、このモーメント(Pg*Fad)がモーメント外力補償量Madのバイアス分として付加されている。
補足すると、本実施形態では、並進外補償量Fadに係わる第1運動状態量と、モーメント外力補償量Madに係わる第2運動状態量として、異なる種類のものを使用したが、それらの運動状態量として、同じ種類の運動状態量(例えば基体3の姿勢等)を用いてもよい。 上記の如く、S03の処理を実行した後、外力目標生成部27は、次にS04の処理を実行する。このS04では、外力目標生成部位27は、S02で算出した必要総並進外力Fallに、S03で算出した並進外力補償量Fadを付加してなる補償総並進外力Fall_ad(=Fall+Fad)を算出すると共に、S02で算出した必要総モーメント外力Mallに、S03で算出したモーメント外力補償量Madを付加してなる補償総モーメント外力Mall_ad(=Mall+Mad)を算出する。
上記補償総並進外力Fall_adは、ロボット1全体の実際の並進運動を目標運動における並進運動に追従させつつ、前記偏差ΔPg(第1運動状態量の目標値と実際の値との偏差)を“0”に近づけるために、ロボット1に付加すべきトータルの並進力としての意味を持つ。また、上記補償総モーメント外力Mall_adは、ロボット1全体の実際の回転運動を目標運動における回転運動に追従させつつ、前記偏差ΔLg(第2運動状態量の目標値と実際の値との偏差)を“0”に近づけるために、ロボット1に付加すべきトータルのモーメントとしての意味を持つ。
上記の如く補償総並進外力Fall_ad及び補償総モーメント外力Mall_adを算出した後、外力目標生成部27は、次に、S05〜S15の処理を実行する。このS05〜S15の処理は、補償総並進外力Fall_adを実現する(ロボット1に実際に作用するトータルの並進外力が補償総並進外力Fall_adに一致するようにする)ために、S01で設定した各仮想面からロボット1に作用させるべき並進力である仮想面必要並進力を決定する処理である。この各仮想面における仮想面必要並進力は、該仮想面に垂直な成分である仮想面垂直抗力成分と、該仮想面に平行な成分である仮想面摩擦力成分とから構成される。なお、S05〜S15の処理によって決定される仮想面必要並進力は暫定値であり、後述のS19以降の処理によって修正される場合がある。また、S05〜S15の処理には、決定する仮想面必要並進力に基づいて、ロボット1の運動状態の評価を行なう処理も含まれる。
以下、S05〜S15の処理を具体的に説明すると、外力目標生成部27は、まず、S05の処理を実行する。このS05では、外力目標生成部27は、S04で決定した補償総並進外力Fall_adに応じて、各仮想面における仮想面必要総並進力のうちの、該仮想面に垂直な成分(垂直抗力成分)である仮想面垂直抗力成分N_iと、該仮想面に平行な成分(摩擦力成分)である仮想面摩擦力成分F_iとを決定する。
なお、本実施形態の説明では、参照符号N_i,F_i等における添え字“i”は、今回時刻におけるS01で設定された仮想面のうちの任意の仮想面の識別符号を意味する。そして、この添え字“i”を付した参照符号は、識別符号iの仮想面に関連するものの参照符号であることを意味する。この場合、本実施形態の説明では、仮想面S1a,S2a,S3a,S1b,S2b,S3bのそれぞれの識別符号は、仮想面を表す参照符号中の“S”の添え字、すなわち、1a,2a,3a,1b,2b,3bであるとする。そして、ある特定の仮想面に関連する参照符号には、その特定の仮想面の添え字と同じ添え字を付する。例えば、仮想面S2aにおける仮想面垂直抗力成分の参照符号を“N_2a”と表記する。
この場合、外力目標生成部27は、今回時刻のS01で設定した全ての仮想面における仮想面必要並進力の合力がS04で決定した補償総並進外力Fall_adに一致するという第1必要条件を満足するように、各仮想面における仮想面必要並進力を構成する仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとを決定する。
より詳しくは、本実施形態におけるS05の処理では、上記第1必要条件を満足するために、外力目標生成部27は、今回時刻で設定した全ての仮想面における仮想面垂直抗力成分N_iの合力が、補償総並進外力Fall_adのうち、当該全ての仮想面に対して平行な成分を除く成分に一致するという第1A必要条件と、当該全ての仮想面における仮想面摩擦力成分F_iの合力が、補償総並進外力Fall_adのうち、当該全ての仮想面に対して平行な成分に一致するという第1B必要条件とを満足するように、各仮想面における仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとを決定する。
なお、S05の処理では、今回時刻で設定した仮想面が、互いに平行に対向する2つの対向仮想面Sna,Snb(n=1又は2又は3)を含んでおり、且つ、補償総並進外力Fall_adが、これらの対向仮想面Sna,Snbに垂直な成分Fall_ad_nを有するような場合には、外力目標生成部27は、これらの対向仮想面Sna,Snbのうち、Fall_ad_nと同じ向きの垂直抗力を発生可能な対向仮想面における仮想面垂直抗力成分Sna又はSnbを、Fall_ad_nに一致させると共に、他方の対向仮想面における仮想面垂直抗力成分Snb又はSnaを“0”に設定する。
また、S05の処理では、今回時刻で設定した仮想面が複数であり、且つ、補償総並進外力Fall_adが全ての仮想面に平行な成分を有する場合には、外力目標生成部27は、上記第1A必要条件を満たすように、各仮想面における仮想面垂直抗力成分N_iを決定した上で、前記第1B必要条件を満たしつつ、各仮想面における仮想面摩擦力成分F_iの大きさが、該仮想面で発生可能な摩擦力の上限値に応じた大きさとなるように(詳しくは該仮想面で発生可能な摩擦力の上限値が大きいほど、仮想面摩擦力成分F_iの大きさが大きくなるように)、各仮想面の仮想面摩擦力成分F_iを決定する。
具体的には、外力目標生成部27は、今回時刻で設定した各仮想面の摩擦係数μ_iを、前記環境情報(詳しくは、該仮想面に対応する接触対象面の摩擦係数に関する環境情報)に基づいて設定する。この場合、各仮想面の摩擦係数μ_iは、該仮想面に対応する接触対象面の実際の摩擦係数と同一もしくはほぼ同一の値に設定してもよいが、余裕を見込んで、実際の摩擦係数よりも小さめに設定しておくようにしてもよい。
なお、各仮想面の摩擦係数μ_iの設定は、制御処理周期毎の各時刻で行なう必要はない。例えば、外力目標生成部27の処理を開始する前に、各接触対象面に対応付ける仮想面の摩擦係数を前記環境情報に基づいて事前に決定して記憶保持しておき、その記憶保持した摩擦係数から、S01で設定した各仮想面に対応させる摩擦係数を選定してもよい。
さらに、外力目標生成部27は、各仮想面において、その仮想面に対応する摩擦係数μ_iを仮想面垂直抗力成分N_iの大きさ|N_i|に乗じてなる値(=μ_i*|N_i|)を、その仮想面で発生可能な摩擦力の上限値(以降、単に摩擦力上限値という)として設定する。
なお、本明細書では、「*」は乗算記号として使用する。この場合、ベクトル同士の乗算演算における「*」は、外積(ベクトル積)を意味するものとする。
そして、外力目標生成部27は、上記の如く設定した摩擦力上限値が大きい仮想面ほど、仮想面摩擦力成分F_iの大きさがより大きくなるように、各仮想面における仮想面摩擦力成分F_iを決定する。
例えば、上記第1B必要条件を満たしつつ、各仮想面の仮想面摩擦力成分F_iの大きさの相互の比率が、各仮想面の摩擦力上限値の相互の比率に一致するように、各仮想面の仮想面摩擦力成分F_iが決定される。なお、この場合、例えば、Fall_adのうちの全ての仮想面に平行な成分を、最も大きな摩擦力上限値を有する仮想面の仮想面摩擦力成分に一致させ、他の仮想面の仮想面摩擦力成分を“0”に設定するようにしてもよい。
ロボット1の目標運動が前記壁登り歩容である場合には、以上説明したS05の処理によって、各仮想面における仮想面垂直抗力成分N_i及び仮想面摩擦力成分F_iは例えば、次のように決定されることとなる。
例えば、図3(b)に示した動作状態の時刻t2において、補償総並進外力Fall_ad(=Fall+Fad)が、図11(a)に示す如く床面FLに対応する仮想面S3aに垂直な成分Fall_ad_zと、壁面WL1,WL2にそれぞれ対応する仮想面(対向仮想面)S2a,S2bに垂直な成分Fall_ad_yと、これらの仮想面S3a,S2a,S2bの全てに平行な成分Fall_ad_xを有する状況を想定する。
この状況においては、S05の処理では、仮想面S3aの仮想面垂直抗力成分N_3aと仮想面S2aの仮想面垂直抗力成分N_2aとがそれぞれ、Fall_ad_z、Fall_ad_yに一致する値に決定されると共に、仮想面S2bの仮想面垂直抗力成分N_2bが“0”に決定される。これにより前記第1A必要条件を満足する各仮想面垂直抗力成分N_3a,N_2a,N_2bが決定される。なお、ここでは、μ_3a*|N_3a|>μ_2a*|N_2a|であるとする。
そして、仮想面S3aの仮想面摩擦力成分F_3aと仮想面S2aの仮想面摩擦力成分F_2aとの合力(=F_3a+F_2a)がFall_ad_xに一致し、且つ、|F_3a|>|F_2a|となるように(例えば|F_2a|/|F_3a|=μ_2a*|N_2a|/(μ_3a*|N_3a|)となるように)、仮想面S3aの仮想面摩擦力成分F_3aと仮想面S2aの仮想面摩擦力成分F_2aとが決定されると共に、仮想面S2bの仮想面摩擦力成分F_2bが“0”に決定される。これにより前記第1B必要条件を満足する各仮想面摩擦力成分F_3a,F_2a,F_2bが決定される。
なお、壁登り歩容における図3(c)の動作状態以降の時刻では、補償総並進外力Fall_adが例えば図11(a)に示した場合と同様であるとした場合、S05の処理では、仮想面S2aの仮想面垂直抗力成分N_2aが、Fall_adのうちのFall_ad_yに一致し、且つ、仮想面摩擦力成分F_2aが、Fall_adのうちのFall_ad_zとFall_ad_xとの合力に一致するように仮想面垂直抗力成分N_2a及び仮想面摩擦力成分F_2aが決定されると共に、仮想面S2bの仮想面垂直抗力成分N_2b及び仮想面摩擦力成分F_2bはいずれも“0”に決定される。
図5のフローチャートの説明に戻って、以上のようにS05の処理を実行した後、外力目標生成部27は、S07の処理を実行する。このS07では、外力目標生成部27は、今回時刻のS01で設定した全ての仮想面のそれぞれにおいて、仮想面摩擦力成分F_iの大きさが仮想面垂直抗力成分N_iの大きさに応じて設定される所定の上限値としての前記摩擦力上限値以下になるという第2必要条件を満足するか否かを判断する。すなわち、外力目標生成部27は、S01で設定した全ての仮想面のそれぞれにおいて、前記の如く決定した摩擦力上限値(=μ_i*|N_i|)を用い、|F_i|≦μ_i*|N_i|であるか否かを判断する。
外力目標生成部27は、S07の判断結果が肯定的である場合には、各仮想面における仮想面必要並進力(暫定値)を決定する処理を終了し、図8に示すS19以降の処理を実行する。この場合、S05で決定された、各仮想面における仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとの組が、そのまま仮想面必要並進力(暫定値)として決定されることとなる。
一方、S07の判断結果が否定的である場合には、外力目標生成部27は、次にS09の処理を実行する。このS09では、外力目標生成部27は、S07の判断結果が否定的となる仮想面が、前記対向仮想面Sna又はSnb(n=1又は2又は3)であるか否かを判断する。
このS09の判断結果が否定的となる状況では、S07の判断結果が否定的となる仮想面における仮想面垂直抗力成分の大きさを、前記第1A必要条件を満たしつつ増加させることができず、ひいては該仮想面における仮想面摩擦力成分の大きさを、前記摩擦力上限値以下で増加させることができない。そこで、この場合には、外力目標生成部27は、S17において、ロボット1の運動状態が不適切である(目標運動の修正等を行なう必要がある)とし、図7〜図9のフローチャートの処理(目標外力及び目標外力作用点を決定する処理)を中止する。
従って、本実施形態では、S05において前記第1A必要条件及び第1B必要条件を満足するように仮想面必要並進力(仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとの組)を決定した上で、S07、S09の判断処理によってロボット1の運動状態が評価される。そして、S07及びS09の判断結果がいずれも否定的となる場合に、ロボット1の運動状態が不適切であると評価されることとなる。
なお、S17でロボット1の運動状態が不適切であると評価される場合、外力目標生成部27は、目標運動生成部25にエラー情報を出力する。そして、目標運動生成部25は、そのエラー情報に応じて、目標運動を作成し直したり、あるいは、ロボット1の運動を停止させるような目標運動を作成する。
一方、S09の判断結果が肯定的となる状況では、互いに平行な対向仮想面Sna,Snb(n=1又は2又は3)の仮想面垂直抗力成分N_na,N_nbの大きさを、前記第1A必要条件を満足しつつ(N_na+N_nbを一定に保ちつつ)、増加させることができる。すなわち、N_naとN_nbとは、互いに逆向きの垂直抗力であるので、それらの大きさを同じ量だけ増加させても、N_naとN_nbとの総和は変化しない。
そこで、S09の判断結果が肯定的となる場合には、外力目標生成部27は、次に、S11の処理を実行する。このS11では、外力目標生成部27は、対向仮想面Sna,Snbの仮想面垂直抗力成分N_na,N_nbの大きさの増加量IN_nを、前記第2必要条件を満足させ得るように決定する。
具体的には、外力目標生成部27は、対向仮想面Sna,Snbのうちの、S07の判断結果が否定的となった対向仮想面において、その仮想面摩擦力成分F_i(=F_na又はF_nb)の大きさから、S07の判断処理で用いた摩擦力上限値(=μ_i*|N_i|)を差し引いたものを、摩擦係数μ_iで除算してなる値を、上記増加量IN_nとして算出する。
すなわち、外力目標生成部27は、次式01により、増加量IN_nを算出する。

IN_n=(|F_i|−μ_i*|N_i|)/μ_i ……式01

次いで、外力目標生成部27は、S13の処理を実行する。このS13では、外力目標生成部27は、対向仮想面Sna,Snbの仮想面垂直抗力成分N_na,N_nbをそれぞれ、上記の如く決定した増加量IN_nだけ、S05の処理で決定した値の大きさよりも増加させ、その増加後の値を改めて、対向仮想面Sna,Snbのそれぞれの仮想面垂直抗力成分N_na,N_nbとして決定する。
このS13までの処理によって、第1A必要条件、第1B必要条件及び第2必要条件を満足する仮想面必要並進力が決定されることとなる。
次いで、外力目標生成部27は、S15の処理を実行する。このS15では、外力目標生成部27は、S13で大きさを増加させた仮想面垂直抗力成分N_na,N_nbの大きさのうちの小さい方の大きさ(=min(|N_na|,|N_nb|))があらかじめ設定された所定値IFC_n以下になるという第3必要条件を満足するか否かを判断する。
ここで、min(|N_na|,|N_nb|)は、ロボット1の全体の並進運動に寄与しない内力に相当するものである。このような内力は、その大きさが大きくなると、ロボット1の関節アクチュエータ11が発生可能な動力(駆動トルク)のうち、該内力を発生させるために必要な負担分が増大し、ロボット1の所望の運動を行なうための利用し得る関節アクチュエータ11の動力(ロボット1の全体の並進運動を変化させるために利用し得る動力)が不足し易くなる。そこで、本実施形態では、この内力を所定値IFC_n以下に制限するために、S15の判断処理を実行する。
なお、この所定値IFC_n(以降、内力上限値IFC_nという)は、例えば対向仮想面Sna,Snbにより発生する内力の向き(対向仮想面Sna,Snbの法線方向)に応じて設定される。ただし、内力上限値IFC_nを、内力の向きによらずに固定的な値に設定するようにしてもよい。
このS15の判断結果が肯定的である場合には、外力目標生成部27は、S07の判断結果が肯定的である場合と同様に、各仮想面における仮想面必要並進力(暫定値)を決定する処理を終了し、図8に示すS19以降の処理を実行する。
この場合、S07の判断結果が否定的となった仮想面を含む対向仮想面Sna,Snaを除く各仮想面については、S05で決定された仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとの組が、そのまま仮想面必要並進力(暫定値)として決定されることとなる。
そして、上記対向仮想面Sna,Snaのそれぞれにおいては、S13で増加させた仮想面垂直抗力成分N_i(N_na,N_nb)と、S05で決定された仮想面摩擦力成分F_i(F_na,F_nb)との組が、仮想面必要並進力(暫定値)として決定されることとなる。
また、S15の判断結果が否定的となる状況では、内力に関する第3必要条件を満足しつつ、前記補償総並進外力Fall_adを実現するために必要な外力をロボット1に作用させることができないか、もしくは困難となる。このため、S15の判断結果が否定的となる場合には、外力目標生成部27は、S09の判断結果が否定的となる場合と同様に、S17において、ロボット1の運動状態が不適切である(目標運動を修正等を行なう必要がある)とし、図7〜図9のフローチャートの処理を中止する。
補足すると、本実施形態では、S01で設定される仮想面が互いに平行な対向仮想面Sna,Snb(n=1又は2又は3)を含む場合に、S05の処理で決定される対向仮想面Sna,Snbの仮想面垂直抗力成分N_na,N_nbのうちの一方は“0”であるので、これらのN_na,N_nbの組は常に前記第3必要条件を満足する。従って、S07の判断結果が肯定的である場合に、S15の判断処理を行う必要は無い。
以上のS05〜S15の処理によって、S09又はS15の判断結果が否定的となる場合(ロボット1の運動状態が不適切である場合)を除いて、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足するように、各仮想面の仮想面必要並進力(暫定値)を構成する仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとの組が決定されることとなる。これにより、第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足しつつ、ロボット1の目標運動におけるロボット1の全体の並進運動(全体重心点の並進運動)を実現するための必要総並進外力Fallに並進外力補償量Fadを付加してなる補償総並進外力Fall_adを実現し得る仮想面必要並進力(暫定値)が決定されることとなる。
従って、本実施形態では、S13までの処理によって、第1A必要条件、第1B必要条件及び第2必要条件を満足する仮想面必要並進力を決定した上で、S15の判断処理によって、再度、ロボット1の運動状態が評価される。そして、このS15の判断結果が否定的となる場合に、ロボット1の運動状態が不適切であると評価されることとなる。
また、S07、S09、S15の判断結果がいずれも肯定的となる場合には、第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足し得る仮想面必要並進力を決定できることとなるので、ロボット1の運動状態は、少なくとも前記補償総並進外力を支障なく実現し得るように、ロボット1に外力を作用させることができる適切な運動状態であると言えることとなる。
ロボット1の目標運動が前記壁登り歩容である場合には、以上説明したS05〜S15の処理によって仮想面垂直抗力成分N_i及び仮想面摩擦力成分F_iは例えば、次のように決定されることとなる。
例えば、前記壁登り歩容のうちの図3(b)に示す動作状態の時刻t2において、S05の処理によって、前記した図11(a)に示した如く、各仮想面における仮想面垂直抗力成分N_i及び仮想面摩擦力成分F_i(i=3a,2a,2b)が決定された場合を想定する。この場合、仮想面S3aにおける仮想面摩擦力成分F_3aと、仮想面S2aにおける仮想面摩擦力成分F_2aとが、前記第2必要条件を満たしている場合(S07の判断結果が肯定的になる場合)には、S15までの処理によって最終的に決定される、各仮想面における仮想面必要並進力(N_i,F_i)は、S05で決定されたものに一致する。
一方、例えば、仮想面S2aにおける仮想面摩擦力成分F_2aが前記第2必要条件を満たしていない場合には、図11(b)に示す如く、該仮想面S2aを含む対向仮想面S2a,S2bのそれぞれの仮想面垂直抗力成分N_2a,N_2bが、S05で決定された値よりも、S11で決定される増加量IN_2だけ増加してなる値に決定される。また、仮想面S3aの仮想面垂直抗力成分N_3a及び仮想面摩擦力成分F_3aと、仮想面S2a,S2bのそれぞれの仮想面摩擦力成分F2a,F2bの大きさは、S05で決定された値と同じ値に決定される。
補足すると、本実施形態では、S01で設定される仮想面が互いに平行な2つの対向仮想面Sna,Snb(n=1又は2又は3)を含む場合に、S05の処理によって、一方の対向仮想面Sna又はSnbの仮想面垂直抗力成分及び仮想面摩擦力成分はいずれも常に“0”に決定される。但し、S05の処理において、補償総並進外力Fall_adが対向仮想面Sna,Snbに垂直な成分を有する場合に、前記第1A必要条件及び第3必要条件を満足する範囲で、両方の対向仮想面Sna,Snbの仮想面垂直抗力成分を“0”でない値に決定してもよい。そして、この場合において、補償総並進外力Fall_adが全ての仮想面に平行な成分を有する場合に、前記第1B必要条件を満足する範囲内で両方の対向仮想面Sna,Snbの仮想面摩擦力成分を“0”でない値に設定するようにしてもよい。
なお、S05の処理において、上記の如く、両方の対向仮想面Sna,Snbの仮想面摩擦力成分を“0”でない値に設定するようにした場合には、その両方の対向仮想面Sna,Snbにおいて、S07の判断結果が否定的となる場合もあり得る。このような場合には、対向仮想面Sna,Snbの仮想面垂直抗力成分の増加量IN_nは、例えば次のように決定することができる。すなわち、各対向仮想面Sna,Snb毎に、前記したS11の処理によって暫定的に増加量IN_nを算出し、それらの暫定的な増加量IN_nのうちの大きい方を、対向仮想面Sna,Snbの仮想面垂直抗力成分の増加量IN_nとして決定する。
以上説明したS15までの処理において、S07又はS15の判断結果が肯定的である場合(各仮想面における適切な仮想面必要並進力(暫定値)が決定された場合)には、外力目標生成部27は、次に、図8のフローチャートに示すS19の処理を実行する。このS19では、外力目標生成部27は、S15までに決定された仮想面必要並進力(暫定値)を各仮想面における仮想面上暫定外力作用点に作用させた場合(各仮想面における外力作用点を仮想面上暫定外力作用点に一致させた場合)に、該仮想面必要並進力によって前記モーメント基準点周りに発生するモーメントである仮想面必要並進力依存モーメントMsを算出する。
ここで、上記仮想面上暫定外力作用点は、前記目標運動生成部25で生成された今回時刻での各接触対象面上の暫定外力作用点を、あらかじめ定められた所定の規則に従って、該接触対象面に対応する仮想面上に投影してなる該仮想面上の外力作用点である。
この場合、本実施形態では、上記投影のための規則は次のように設定されている。すなわち、図12に示す如く、ある接触対象面上の外力作用点を点Pr_i、該接触対象面に対応する仮想面上の外力作用点を点Ps_iとしたとき、仮想面上の外力作用点Ps_iは、例えば、接触対象面上の外力作用点Pr_iを通って、仮想面に垂直な直線(外力作用点Pr_iから仮想面への垂線)が該仮想面と交わる点に一致するものとされる。
上記仮想面上暫定外力作用点は、このような規則に従って、今回時刻での各接触対象面上の暫定外力作用点を該接触対象面に対応する仮想面上に投影してなる該仮想面上の外力作用点である。
S19の処理では、外力目標生成部27は、上記の如く決定される仮想面上暫定外力作用点の前記モーメント基準点に対する位置ベクトルを用いて、次式03によって、各仮想面の仮想面上暫定外力作用点に仮想面必要並進力(N_i,F_i)が作用した場合に、前記モーメント基準点の周りに発生する仮想面必要並進力依存モーメントMsを算出する。

Ms=Σ(Irp_i*N_i)+Σ((Irp_i+Poff_i)*F_i) ……式03

この式03におけるIrp_iは、各仮想面(今回時刻のS01で設定された各仮想面)の仮想面上暫定外力作用点の前記モーメント基準点に対する位置ベクトル、Poff_iは仮想面上暫定外力作用点に対する接触対象面上の暫定外力作用点の位置ベクトル(又は該位置ベクトルのうちの仮想面に垂直な方向の成分ベクトル)である。
さらに、(Irp_i*N_i)は、各仮想面における仮想面上暫定外力作用点の位置ベクトルIrp_iと仮想面垂直抗力成分N_iとのベクトル積、すなわち、N_iが仮想面暫定外力作用点に作用した場合にモーメント基準点周りに発生するモーメントである。
そして、Σ(Irp_i*N_i)は、各仮想面毎のモーメント(Irp_i*N_i)の、全ての仮想面(今回時刻のS01で設定される全ての仮想面)についての総和、すなわち、各仮想面における仮想面垂直抗力成分N_iに起因してモーメント基準点周りに発生するトータルのモーメントを意味する。
また、((Irp_i+Poff_i)*F_i)は、各仮想面における仮想面上暫定外力作用点の位置ベクトルIrp_iと仮想面摩擦力成分F_iとのベクトル積(Irp_i*F_i)、すなわち、F_iが仮想面暫定外力作用点に作用した場合にモーメント基準点周りに発生するモーメントと、仮想面上暫定外力作用点に対する接触対象面上の暫定外力作用点の位置ベクトルPoff_iとF_iとのベクトル積(Poff_i*F_i)、すなわち、F_iが接触対象面上の暫定外力作用点の周りに発生するモーメントとの総和のモーメントである。
そして、Σ((Irp_i+Poff_i)*F_i)は、各仮想面毎のモーメント((Irp_i+Poff_i)*F_i)の、全ての仮想面(今回時刻のS01で設定される全ての仮想面)についての総和、すなわち、各仮想面における仮想面摩擦力成分F_iに起因してモーメント基準点周りに発生するトータルのモーメントを意味する。
ここで、上記モーメント(Poff_i*F_i)に関して補足すると、接触対象面とこれに対応する仮想面とは、一般には同一面とはならないので、多くの場合、図12に示したように、接触対象面上の外力作用点Pr_iとこれに対応する仮想面上の外力作用点Ps_iとの位置ずれが生じる。そして、このような状況で、各仮想面における仮想面必要並進力が仮想面上暫定外力作用点に作用した場合にモーメント基準点周りに発生するモーメントと、該仮想面必要並進力と同じ並進力が該仮想面に対応する接触対象面上の暫定外力作用点に作用した場合にモーメント基準点周りに発生するモーメントとを比較すると、それらのモーメントには、上記位置ずれに起因する差異が生じる。この場合、接触対象面とこれに対応する仮想面とは、それらの法線方向が概ね同方向となるので、各仮想面毎の上記差異は、主に、仮想面摩擦力成分F_iに依存するものとなり、上記モーメント(Poff_i*F_i)にほぼ一致する。
そこで、本実施形態では、上記位置ずれの影響を補償して、Msの信頼性を高めるために、上記モーメント(Poff_i*F_i)を付加した式03によって、仮想面必要並進力依存モーメントMsを算出するようにしている。
なお、接触対象面上の暫定外力作用点と、これに対応する仮想面上暫定外力作用点との位置ずれが十分に微小なものとなる場合には、式03から、上記モーメント(Poff_i*F_i)の項を省略した式によって、仮想面必要並進力依存モーメントMsを算出するようにしてもよい。
以上のS19の処理を、ロボット1の目標運動が前記壁登り歩容である場合に関して例示的に説明すると、例えば図11(b)に示した如く、仮想面必要並進力が決定された状況においては、図中に示す仮想面垂直抗力成分N_2a,N_2b,N_3aと仮想面摩擦力成分F_2a,F_3aとによって、モーメント基準点(例えば仮想面S2aとS3aとの交線上の点)の周りに発生するモーメントMsが上記式03によって算出されることとなる。この場合、図11(b)に示す例では、仮想面S2a,S2b,S3aは、それぞれ接触対象面WL1,WL2,FLに一致(又はほぼ一致)するので、式03における各仮想面S2a,S2b,S3a毎のPoff_i(Poff_2a,Poff_2b,Poff_3a)はいずれも“0”でよい。
次いで、外力目標生成部27は、モーメント補償量を決定するための処理であるS21〜S37の処理を実行する。ここで、この処理の概要を説明しておく。
上記の如くS19で算出された仮想面必要並進力依存モーメントMsが、仮に、S04で算出した補償総モーメント外力Mall_adに一致もしくはほぼ一致するような場合には、S15までの処理で決定された仮想面必要並進力(暫定値)と、目標運動生成部25で生成された暫定外力作用点に対応する仮想面上暫定外力作用点とは、ロボット1全体の並進運動に係わる補償総並進外力Fall_adを実現できるだけでなく、ロボット1全体の回転運動(モーメント基準点周りの角運動量を変化させる運動)に係わる補償層モーメント外力Mall_adをも実現し得る外力として機能し得るものとなる。
しかるに、S15までの処理では、ロボット1全体の回転運動に関する動力学については考慮されていないので、一般には、補償総モーメント外力Mall_adと仮想面必要並進力依存モーメントMsとの偏差(以下、モーメント偏差errMという)は“0”もしくはそれに近い値とはならない。
S21〜S37の処理によって決定するモーメント補償量は、このモーメント偏差errMを解消する(“0”に近づける)ための操作量(外力に関する目標の操作量)である。
本実施形態では、S21〜S37の処理によって決定するモーメント補償量には、3種類の補償量(第1〜第3補償量)があり、その第1補償量は、1つ以上の仮想面における仮想面上外力作用点の位置の修正量(仮想面上暫定外力作用点からの修正量。以降、仮想面上外力作用点修正量ということがある)により構成されるモーメント補償量である。この場合、第1補償量は、この第1補償量による修正後の仮想面上外力作用点に対応する接触対象面上の外力作用点が、前記存在許容領域内に存在するように決定される補償量である。
また、第2補償量は、2つ以上の仮想面における仮想面必要並進力(暫定値)の仮想面摩擦力成分の修正量(以降、仮想面摩擦力成分修正量ということがある)から構成されるモーメント補償量である。この場合、第2補償量は、それを構成する仮想面摩擦力成分修正量の総和(合力)が“0”となるように決定される補償量である。
また、第3補償量は、1つ以上の仮想面に垂直な軸周りのモーメント外力として該仮想面からロボット1に付加的に作用させるねじり力(以降、仮想面ねじり力ということがある)から構成されるモーメント補償量である。
なお、上記第2補償量が、2つ以上の仮想面における仮想面摩擦力成分修正量から構成されるのは、該第2補償量による修正後における仮想面必要並進力の合力が前記第1必要条件を満足する必要があるからである。
ここで、上記第1〜第3補償量のうち、第1補償量は、S15までの処理で決定した仮想面必要並進力(暫定値)の修正を必要とせずに、前記モーメント偏差を解消し、又は低減する機能を有する。従って、第1補償量によって、前記モーメント偏差を解消できるときには、目標運動を実現するための今回時刻での仮想面必要並進力として、S15までの処理で決定した仮想面必要並進力(暫定値)をそのまま使用することができる。
一方、前記第2補償量又は第3補償量は、仮想面からロボット1に作用させる外力に、仮想面摩擦力成分修正量、又は仮想面ねじり力を追加的に付加するものであるから、該仮想面で発生可能な摩擦力の限界の制約を受ける。そして、その制約を満たすために、対向仮想面Sna,Snb(n=1又は2又は3)における仮想面垂直抗力成分N_na,N_nbの修正(ひいては、前記内力の修正)が必要となる場合もある。さらに、これらの仮想面垂直抗力成分N_na,N_nbの修正に起因して、一般には、前記モーメント基準点周りに発生するモーメントMsも変化する。
そこで、本実施形態では、外力目標生成部27は、前記モーメント偏差errMを解消するためのモーメント補償量として、第1〜第3補償量のうちの第1補償量を優先的に決定する。そして、外力目標生成部27は、この第1補償量によってモーメント偏差を解消できない場合(より詳しくは、モーメント偏差errMの全体を解消し得るように第1補償量を決定した場合に、その第1補償量による修正後の仮想面上外力作用点に対応する接触対象面上の外力作用点が前記存在許容領域を逸脱する場合)に、第1補償量を制限する。さらに、モーメント偏差errMのうち、制限した第1補償量により解消できない部分を第2補償量及び第3補償量によって解消するように、第2補償量及び第3補償量の組を決定する。
以上が、S21〜S37の処理(モーメント補償量の決定処理)の概要である。
以下、このモーメント補償量の決定処理を具体的に説明すると、外力目標生成部27は、まず、S21の処理を実行する。このS21では、外力目標生成部27は、S04で算出した補償総モーメント外力Mall_adと、S19で算出した仮想面必要並進力依存モーメントMsとの偏差であるモーメント偏差errM(=Mall_ad−Ms)を算出する。
次いで、外力目標生成部27は、S23の処理を実行する。このS23では、外力目標生成部27は、仮想面上外力作用点の位置の変化(仮想面上暫定外力作用点からの変化)に対する仮想面必要並進力依存モーメントMsの変化の感度を表現するヤコビアンJを算出する。
ここで、各仮想面上の外力作用点の位置の変化量(ベクトル)をΔrp_i、各仮想面上の外力作用点を仮想面上暫定外力作用点からΔrp_iだけ変化させたときの、接触対象面上の外力作用点(仮想面上の外力作用点を通って該仮想面に垂直な直線が該接触対象面と交わる点)の位置の変化量(ベクトル)をΔPoff_i、各仮想面上の外力作用点を仮想面上暫定外力作用点からΔrp_iだけ変化させたときの仮想面必要並進力依存モーメントMsの変化量(ベクトル)をΔMsとおく。このとき、前記式03に基づいて、次式05の関係式が得られる。

ΔMs=Σ(Δrp_i*(N_i+Fi_)+ΔPoff_i*F_i) ……式05

この場合、ΔPoff_iは、Δrp_iの関数値(詳しくは、仮想面とこれに対応する接触対象面との間の姿勢差(空間的な角度差)と、Δrp_iとから一義的に規定される値)となるので、式05は、次式07に書き換えることができる。

ΔMs=J*(Δrp_i) ……式07

この式07における(Δrp_i)は、全ての仮想面(今回時刻のS01で設定した全ての仮想面)に係わるΔrp_iを成分とする縦ベクトルである。そして、式07におけるJが、仮想面上外力作用点の位置の変化(仮想面上暫定外力作用点の位置からの変化)に対する仮想面必要並進力依存モーメントMsの変化の感度を表現するヤコビアン(行列)である。
そこで、S23の処理では、外力目標生成部27は、各仮想面の仮想面必要並進力N_i,F_iと、式05とに基づいてヤコビアンJを算出する。なお、この場合、ΔPoff_iと、Δrp_iとの間の関係は、各仮想面とこれに対応する接触対象面との姿勢差に基づいて決定される。
次いで、外力目標生成部27は、S25の処理を実行する。このS25処理は、式07のΔMsをS21で算出したモーメント偏差errMに一致させた場合に、式07の関係を満たす(Δrp_i)を、errMを解消するための各仮想面における仮想面上外力作用点修正量Δrpc_iの組として算出する処理である。
ここで、式07におけるヤコビアンJは、一般には正則行列ではない。そこで、外力目標生成部27は、S23で求めたヤコビアンJの擬似逆行列Jinvを算出し、この擬似逆行列Jinvを、モーメント偏差errMに乗じることによって、各仮想面の仮想面上外力作用点修正量Δrpc_iを算出する。この場合、擬似逆行列Jinvは、例えば、各仮想面に対応するΔrpc_iの二乗値又は絶対値の平均値が最小になるように決定される。
なお、例えば、各仮想面に対応する接触対象面における外力作用点の存在許容領域の面積等に応じて、各仮想面に対応するΔrpc_iの重み付けをしておき、各仮想面に対応するΔrpc_iの二乗値又は絶対値の重み付き平均値が最小になるように擬似逆行列Jinvを決定するようにしてもよい。
次いで、外力目標生成部27は、S27の処理を実行する。このS27では、外力目標生成部27は、各仮想面上の外力作用点の位置を、仮想面上暫定外力作用点の位置Irp_iからS25で求めたΔrpc_iによって修正した場合に、全ての仮想面において、その修正後の仮想面上外力作用点の位置(Irp_i+Δrpc_i)が、外力作用点存在領域条件を満足するか否かを判断する。
ここで、上記外力作用点存在領域条件は、Δrpc_iによる修正後の各仮想面の仮想面上外力作用点の位置が、目標運動生成部25で生成された今回時刻での各接触対象面の外力作用点の存在許容領域に対応する仮想面上の存在許容領域(該接触対象面上の外力作用点の存在許容領域を仮想面上に投影してなる領域)内に存在するという条件である。この場合、接触対象面上の外力作用点の存在許容領域の、仮想面上への投影は、図12に示す如く、接触対象面上の外力作用点の仮想面上への投影の場合と同様に行なわれる。
なお、外力作用点存在領域条件は、Δrpc_iによる修正後の各仮想面の仮想面上外力作用点を、該仮想面に対応する接触対象面に逆投影してなる点が、該接触対象面上の外力作用点の存在許容領域内に存在するという条件と等価である。
S27の判断結果が肯定的である場合には、S15までの処理で決定された各仮想面の仮想面必要並進力を修正せずとも、各仮想面の外力作用点の位置を仮想面上暫定外力作用点から修正する(ひいては各接触対象面の外力作用点の位置を暫定外力作用点から修正する)だけで、前記モーメント偏差errMを解消できることとなる。
そこで、この場合には、外力目標生成部27は、S29の処理を実行し、今回時刻での図7〜図9のフローチャートの処理を終了する。このS29の処理では、外力目標生成部27は、今回時刻での各接触対象面からロボット1への目標外力と目標外力作用点とを確定する。
具体的には、外力目標生成部27は、S15までの処理で決定した各仮想面における仮想面必要並進力(N_i,F_i)を、該仮想面とこれに対応する接触対象面との姿勢差に応じて、該接触対象面からロボット1に作用させる並進力に変換し、この並進力を目標外力の構成要素である並進外力の目標値として決定する。
この場合、各仮想面毎の上記変換は、例えば次のように行なわれる。すなわち、外力目標生成部27は、各仮想面の姿勢(法線ベクトルの向き)を該仮想面に対応する接触対象面の姿勢(法線ベクトルの向き)に変換する回転変換行列Rθを、これらの仮想面と接触対象面との姿勢差に基づき算出する。そして、外力目標生成部27は、この回転変換行列Rθを仮想面必要並進力(ベクトル)に乗じることによって、該仮想面必要並進力を、接触対象面からロボット1への並進外力の目標値に変換する。
従って、本実施形態では、各接触対象面からロボット1に作用させるべき並進外力の目標値(目標並進力)は、該接触対象面に対応する仮想面における仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとそれぞれ同じ大きさの垂直抗力成分(接触対象面に垂直な成分)と摩擦力成分(接触対象面に平行な成分)とから構成される並進外力として決定される。
また、外力目標生成部27は、S25で決定したΔrpc_iをモーメント補償量として確定する。そして、外力目標生成部27は、このΔrpc_iによる修正後の各仮想面の仮想面上外力作用点を、該仮想面に対応する接触対象面上に逆投影してなる点(本実施形態では、修正後の仮想面上外力作用点を通って該仮想面に垂直な直線が、該仮想面に対応する接触対象面と交わる点)を、該接触対象面上の目標外力作用点として決定する。
なお、S29の処理では、目標外力の構成要素のうちの、各接触対象面のねじり力の目標値(目標ねじり力)は、いずれの接触対象面についても“0”とされる。
一方、前記S27の判断結果が否定的である場合には、モーメント偏差errMを解消するための各仮想面における仮想面上外力作用点修正量Δrpc_iを、前記外力作用点存在領域条件を満足するように制限する必要がある。
そこで、外力目標生成部27は、次に、S31の処理を実行する。このS31では、外力目標生成部27は、外力作用点存在領域条件を満足するように、各仮想面における仮想面上外力作用点修正量Δrpc_iを制限してなる仮想面上外力作用点制限修正量Δrpc_lim_iを第1補償量として決定する。
この場合、外力作用点存在領域条件を満足する仮想面については、S25で決定された修正量Δrpc_iがそのまま、仮想面上外力作用点制限修正量Δrpc_lim_iとして決定される。
一方、外力作用点存在領域条件を満足しない仮想面については、外力目標生成部27は、次のように仮想面上外力作用点制限修正量Δrpc_lim_iを決定する。
図13を参照して、修正前の仮想面上外力作用点(接触対象面上の暫定外力作用点を仮想面上に投影してなる点)をPs1_i、この修正前の仮想面上外力作用点Ps1_iをS25で決定した仮想面上外力作用点修正量Δrpc_iにより修正してなる点をPs2_iとおく。この場合、外力作用点存在領域条件を満足しない仮想面については、修正後の仮想面上外力作用点Ps2_iが、図示の如く、仮想面上の外力作用点許容領域から逸脱することとなる。
なお、図13では、図示の便宜上、仮想面上の外力作用許容領域を単純な楕円状の領域として記載しているが、その領域の形状は他の形状であってもよいことはもちろんである。
このとき、外力目標生成部27は、上記仮想面上外力作用点制限修正量Δrpc_lim_iにより点Ps1_iを修正してなる点が、例えば、修正前の点Ps1_iとΔrpc_iによる修正後の点Ps2_iとを結ぶ線分上で、仮想面上の外力作用点許容領域の境界に存する点Ps_lim_iに一致するように、仮想面上外力作用点制限修正量Δrpc_lim_iを決定する。
なお、上記のようにΔrpc_lim_iを決定することに代えて、例えば、仮想面上外力作用点制限修正量Δrpc_lim_iにより点Ps1_iを修正してなる点が、仮想面上の外力作用点許容領域の境界にする点のうち、Δrpc_iによる修正後の点Ps2_iに最も近い点(点Ps2_iとの距離が最小となる点)に一致するように、仮想面上外力作用点制限修正量Δrpc_lim_iを決定してもよい。
以降の説明では、上記の如くS31で決定される仮想面上外力作用点制限修正量Δrpc_lim_iによる修正後の各仮想面上の外力作用点を、仮想面上制限修正後外力作用点という。
以上の如くS31の処理を実行した後、外力目標生成部27は、S33の処理を実行する。このS33では、外力目標生成部27は、前記モーメント偏差errMのうち、S29で決定した各仮想面における仮想面上外力作用点制限修正量Δrpc_lim_iによって解消できない偏差成分としての残偏差成分errM'を算出する。
具体的には、外力目標生成部27は、制限前の仮想面上外力作用点修正量Δrpc_iと仮想面上外力作用点制限修正量Δrpc_lim_iとの差(=Δrpc_i−Δrpc_lim_i)である仮想面上外力作用点修正誤差Δrpc_err_iを算出する。そして、外力目標生成部27は、前記式05におけるΔrp_iを、Δrpc_err_iに置き換えてなる次式09によって、残偏差成分errM’を算出する。

errM'=Σ(Δrpc_err_i*(N_i+Fi_)+ΔPoff_i*F_i) ……式09

この場合、式09におけるΔPoff_iは、Δrpc_err_iに応じて決定される値であり、前記式05におけるΔPoff_iとΔrp_iとの間の関係に従って、Δrp_i=Δrpc_err_iとしたときの、ΔPoff_iの値として決定される。
なお、例えば、前記式05のΔrp_iを、Δrpc_limt_iに置き換えた式によって算出されるモーメント変化量ΔMs、すなわち、各仮想面上の外力作用点の位置を仮想面上暫定外力作用点からΔrpc_limt_iだけ修正した場合に生じるモーメント基準点周りのモーメント変化量を算出し、このモーメント変化量をモーメント偏差errMから差し引くことによって、残偏差成分errM'を算出するようにしてもよい。この場合、ΔPoff_iは、前記式05におけるΔPoff_iとΔrp_iとの間の関係に従って、Δrp_i=Δrpc_limt_iとしたときの、ΔPoff_iの値として決定すればよい。
以上の如くerrMのうちの残偏差成分errM'を算出した後、次に、外力目標生成部27は、図9に示すS35、S37の処理を順次実行することによって、第2補償量としての前記仮想面摩擦力成分修正量f_iと第3補償量としての仮想面ねじり力R_iとを決定する。
S35では、各仮想面(S01で設定した各仮想面)に任意の値の前記仮想面摩擦力成分修正量f_iと前記仮想面ねじり力R_iとを付加した場合(Δrpc_lim_iによる修正後の仮想面上制限修正後外力作用点にf_iとR_iを追加的に作用させた場合)にそれらのf_i,R_iによって前記モーメント基準点周りに発生するモーメントMfrと、f_i,R_iとの間の関係を次式11により表現するヤコビアン(行列)Jfrを算出する。

Mfr=Jfr*(f_i R_i)T ……式11

この式11における(f_i R_i)Tは、f_i及びR_iを成分とする縦ベクトルである。ここで、前記仮想面摩擦力成分修正量f_iは、それらの総和(合力)が“0”になるように決定されるべきモーメント補償量である。
従って、仮想面摩擦力成分修正量f_iのうち、任意の1つの仮想面に対応する仮想面摩擦力成分修正量は、他の残りの仮想面摩擦力成分修正量の総和の符号を反転させてなる並進力として一義的に定まる。このため、式11における縦ベクトル(f_i R_i)Tの成分としてのf_iは、任意の1つの仮想面に対応するf_i(以降、これをf_i0とおく)を除いたものである。そして、ヤコビアンJfrは、f_i0が他のf_iの総和の符号を反転させてなる並進力であるとして、この並進力によるモーメント基準点周りのモーメント成分が式11の右辺の演算により算出されるMfrに含まれるように決定される。
次いで、S37では、外力目標生成部27は、式11のMfrを残偏差成分errM'に一致させた場合に、式11の関係を満たすf_i及びR_iの組(f_i R_i)Tを算出する。
ここで、式11におけるヤコビアンJfrは、一般には正則行列ではないので、外力目標生成部27は、S37で求めたヤコビアンJfrの擬似逆行列Jfr_invを算出し、この擬似逆行列Jfr_invを、残偏差成分errM'に乗じることによって、f_i及びR_iの組を算出する。この場合、擬似逆行列Jfr_invは、例えば、式11の縦ベクトル(f_i R_i)Tを組成するf_i及びR_iのそれぞれの2乗値又は絶対値の平均値が最小になるように決定される。なお、上記f_i0は、上記の如く算出したf_iの総和の符号を反転させてなる値として決定される。
補足すると、上記擬似逆行列Jfr_invは、例えば、式11の縦ベクトル(f_i R_i)Tを組成するf_i及びR_iのそれぞれの2乗値又は絶対値の重み付き平均値が最小になるように決定してもよい。例えば、前記摩擦力上限値が大きい仮想面ほど、その仮想面におけるf_iの大きさが相対的に大きくなるように、各f_iに対応する重みを設定し、その重みを用いた上記重み付き平均値が最小になるように、Jfr_invを決定するようにしてもよい。
また、例えば、S01で設定された仮想面が対向仮想面Sna,Snbを含む場合において、仮想面垂直抗力成分N_iの大きさが小さい方の対抗仮想面Sna又はSnbにおける仮想面摩擦力成分修正量f_na又はfnbを“0”に設定するようにしてもよい。
前記目標運動が、前記壁登り歩容である場合においては、上記S35、S37の処理は、例えば次にように行なわれる。
例えば、図11(b)に示した動作状態において、モーメント偏差errMのうちの残偏差成分errM'が存在する場合を想定する。そして、床面FL及び壁面WL1,WL2にそれぞれ対応する各仮想面S3a,S2a,S2bにおける仮想面上制限修正後外力作用点の位置ベクトル(モーメント基準点に対する位置ベクトル)をそれぞれrp_3a,rp_2a,rp_2bとおく。このとき、各仮想面S3a,S2a,S2bにおける仮想面上摩擦力成分修正量f_3a,f_2a,f_2b及び仮想面ねじり力R_3a,R_2a,R_2bと、これらのf_3a,f_2a,f_2b,R_3a,R_2a,R_2bによってモーメント基準点周りに発生するモーメントMfrとの間の関係は、次式11aにより表される。

Mfr=rp_3a*f_3a+rp_2a*f_2a+rp_2b*f_2b+R_3a+R_2a+R_2b
……式11a


なお、式11aにおける(rp_3a*f_3a),(rp_2a*f_2a),(rp_2b*f_2b)はそれぞれベクトル積である。
この場合、仮想面摩擦力成分修正量に関しては、f_3a+f_2a+f_2b=0であるから、f_2b=−(f_3a+f_2a)となる。従って、式11aは、例えばf_2bを含まない次式11bに書き換えられる。

Mfr=(rp_3a−rp_2b)*f_3a+(rp_2a−rp_2b)*f_2a+R_3a+R_2a+R_2b
……式11b

従って、S35では、この式11bの右辺を、座標成分で表して整理することで、前記式11におけるヤコビアンJfrが求められることとなる。
そして、S37では、このヤコビアンJfrの擬似逆行列Jfr_invが前記した如く算出され、このJfr_invを、残偏差成分errM’に乗じることによって、f_3a,f_2a,R_3a,R_2a,R_2bが算出される。さらに、f_3a,f_2aから、f_2b=−(f_3a+f_2a)という関係に従って、f_3bが算出される。
補足すると、例えば、前記壁登り歩容における図3(c)の動作状態以降の時刻、すなわち、仮想面が対向仮想面S2a,S2bの2つだけになる状況では、式11aの右辺から(rp_3a*f_3a)と、R_3aとを除去してなる式と、f_2a+f_2b=0という関係とに基づいて、上記と同様に、ヤコビアンJfrを決定することができる。
以上のS37までの処理によって、前記S27の判断結果が否定的となる場合には、前記第1A必要条件及び第1B必要条件を満足し、且つ、前記補償総モーメント外力Mall_adを実現し得る仮想面必要並進力(f_iによる修正後の仮想面必要並進力)と、仮想面上外力作用点(Δrpc_lim_iによる修正後の仮想面上外力作用点)と、仮想面上ねじり力R_iとの組が実質的に決定されることとなる。ただし、この場合、f_iによる仮想面必要並進力の修正が行なわれるので、その修正後の仮想面必要並進力の仮想面摩擦力成分は、前記第2必要条件を満足するとは限らない。また、仮想面上ねじり力R_iは、それを付加する仮想面とロボット1との間の摩擦力、ひいては、該仮想面に対応する接触対象面とロボット1との間の摩擦力を必要とする。
そこで、以上の如く仮想面摩擦力成分修正量f_iと仮想面ねじり力R_iとを決定した後、次に、外力目標生成部27は、S39の判断処理を実行する。このS39では、外力目標生成部27は、各仮想面において、f_iによる修正後の仮想面摩擦力成分F_i(S15までの処理で決定されたF_iとf_iとの総和の摩擦力成分)が、前記第2必要条件を満足するか否かを判断すると共に、R_iの大きさが、仮想面垂直抗力成分N_iの大きさに応じて設定される所定の上限値以下になるという第4必要条件を満足するか否かを判断する。
ここで、上記第4必要条件における所定の上限値は、R_iを付加する仮想面の摩擦力によって発生可能なねじり力の大きさの上限値として、各仮想面毎に設定される値である。この上限値(以降、ねじり力上限値という)は、本実施形態では、各仮想面に対応する接触対象面の性状に関する環境情報に基づいて各仮想面毎に設定した係数μr_i(以降、ねじり力係数という)を、仮想面垂直抗力成分N_iの大きさ|N_i|に乗じてなる値(=μr_i*|N_i|)に設定される。
なお、本実施形態では、外力目標生成部27の処理を開始する前に、各接触対象面に対応付ける仮想面のねじり力係数が前記環境情報に基づいて事前に決定されると共に記憶保持される。そして、S39では、その記憶保持したねじり力係数から、R_iを付加する仮想面におけるねじり力係数が選定される。
補足すると、各仮想面におけるねじり力係数μr_iは、該仮想面に対応する接触対象面の性状に関する環境情報だけでなく、該仮想面における仮想面摩擦力成分のF_i大きさや、ロボット1と接触対象面との接触面の大きさ等を考慮して、ロボット1の動作中の各時刻で決定するように設定してもよい。
S39の判断結果が肯定的である場合には、外力目標生成部27は、S41の処理を実行し、今回時刻での図7〜図9のフローチャートの処理を終了する。このS41の処理では、外力目標生成部27は、今回時刻での各接触対象面からロボット1の目標外力と目標外力作用点とを確定する。
具体的には、外力目標生成部27は、S15までの処理で決定した各仮想面における仮想面必要並進力(N_i,F_i)と、S37の処理で決定した仮想面摩擦力成分修正量f_iとから、今回時刻での各仮想面における仮想面必要並進力を確定する。この場合、S15までの処理で決定した仮想面垂直抗力成分N_iがそのまま該仮想面における仮想面垂直抗力成分として確定されると共に、S15までの処理で決定した仮想面摩擦力成分F_iに仮想面摩擦力成分修正量f_iを加え合わせてなる摩擦力成分が、該仮想面における仮想面摩擦力成分として確定される。
なお、f_i=0となる仮想面については、結果的には、S15までの処理で決定した仮想面必要並進力(N_i,F_i)がそのまま該仮想面における仮想面必要並進力として確定されることとなる。
また、外力目標生成部27は、S37の処理で決定した仮想面ねじり力R_iを、このR_iに対応する仮想面におけるねじり力として確定する。
そして、外力目標生成部27は、以上の如く確定した各仮想面における仮想面必要並進力を、該仮想面とこれに対応する接触対象面との姿勢差に応じて、該接触対象面からロボット1に作用させる並進力に変換し、この並進力を目標外力の構成要素である並進外力の目標値(目標並進力)として決定する。同様に、外力目標生成部27は、各仮想面における仮想面ねじり力を、該仮想面に対応する接触対象面からロボット1に作用させるねじり力に変換し、この変換したねじり力を、目標外力の構成要素であるねじり力の目標値(目標ねじり力)として決定する。
なお、上記変換は、図8のS29の処理に関して説明した変換と同じであり、上記姿勢差に応じて決定される前記回転変換行列Rθを用いて行なわれる。
また、外力目標生成部27は、S29の処理の場合と同様に、S31で決定した仮想面上外力作用点制限修正量Δrpc_lim_iによる修正後の各仮想面上の外力作用点を該仮想面に対応する接触対象面上に逆投影してなる点を、該接触対象面上の目標外力作用点として決定する。
一方、S39の判断結果が否定的である場合、すなわち、第2必要条件又は第4必要条件を満足しない仮想面が存在する場合には、前記補償総モーメント外力Mall_adを実現する上で、その仮想面における摩擦力が不足する。この場合には、外力目標生成部27は、次にS43の処理を実行する。このS43では、外力目標生成部27は、S39の判断処理で、第2必要条件又は第4必要条件を満たさない仮想面が、対向仮想面Sna又はSnb(n=1又は2又は3)であるか否かを判断する。
このS43の判断結果が否定的となる状況では、第2必要条件又は第4必要条件を満足しない仮想面における仮想面垂直抗力成分の大きさを、前記第1A必要条件を満たしつつ増加させることができず、ひいては該仮想面における仮想面摩擦力成分の大きさを、前記摩擦力上限値以下で増加させることができない。そこで、この場合には、外力目標生成部27は、S47において、ロボット1の運動状態が不適切である(目標運動の修正等を行なう必要がある)とし、図7〜図9のフローチャートの処理を中止する。なお、この場合、外力目標生成部27は、目標運動生成部25にエラー情報を出力する。そして、目標運動生成部25は、そのエラー情報に応じて、目標運動を作成し直したり、あるいは、ロボット1の運動を停止させるような目標運動を作成する。
従って、本実施形態では、S37までの処理によって、前記S27の判断結果が否定的となる場合には、前記第1A必要条件及び第1B必要条件を満足し、且つ、ロボット1の目標運動のうちのロボット1全体の回転運動を実現し得る仮想面必要並進力(f_iによる修正後の仮想面必要並進力)と、仮想面上外力作用点(Δrpc_lim_iによる修正後の仮想面上外力作用点)と、仮想面上ねじり力R_iとの組を決定した上で、S39,S43の判断処理によって、ロボット1の運動状態が評価される。そして、このS39及びS43の判断結果がいずれも否定的となる場合に、ロボット1の運動状態が不適切であると評価されることとなる。
一方、S43の判断結果が肯定的となる状況では、第2必要条件又は第4必要条件を満たさない仮想面を含む、互いに平行な対向仮想面Sna,Snb(n=1又は2又は3)の仮想面垂直抗力成分N_na,N_nbの大きさを、前記第1A必要条件を満足しつつ(N_na+N_nbを一定に保ちつつ)、増加させることができる。
そこで、S43の判断結果が肯定的となる場合には、外力目標生成部27は、次に、S45の処理を実行する。このS45では、外力目標生成部27は、対向仮想面Sna,Snbの仮想面垂直抗力成分N_na,N_nbの大きさの増加量IN_nを、前記第2必要条件及び第4必要条件を満足させ得るように決定する。
具体的には、外力目標生成部27は、第2必要条件を満足しない仮想面を含む対向仮想面Sna,Snbのそれぞれにおいて、前記仮想面摩擦力成分修正量f_iによる修正後の仮想面摩擦力成分F_iの大きさから、S39の判断処理で用いた摩擦力上限値(=μ_i*|N_i|)を差し引いたものを、摩擦係数μ_iで除算してなる値(=(|F_i|−μ_i*|N_i|)/μ_i)を、上記増加量IN_nの候補値として算出する(以下、このように算出されたIN_nの候補値を摩擦力成分補償用候補値という)。この場合、この摩擦力成分補償用候補値IN_nは、第2必要条件を満足しない仮想面を含む対向仮想面Sna,Snbのそれぞれ毎に算出される。
例えば、ロボット1の目標運動が前記壁登り歩容である場合において、壁面WL1,WL2にそれぞれ対応する対向仮想面S2a,S2bのうちの一方又は両方がS39の判断処理で第2必要条件を満足しないものとなった場合には、これらの対向仮想面S2a,S2bのぞれぞれにおいて、IN_2の摩擦力成分補償用候補値((|F_2a|−μ_2a*|N_2a|)/μ_2a、(|F_2b|−μ_2b*|N_2b|)/μ_2b)が算出される。
また、外力目標生成部27は、第4必要条件を満足しない仮想面を含む対向仮想面Sna,Snbのそれぞれにおいて、前記仮想面ねじり力R_iの大きさから、S39の判断処理で用いたねじり力上限値(=μr_i*|N_i|)を差し引いたものを、ねじり力係数μr_iで除算してなる値(=(|R_i|−μr_i*|N_i|)/μr_i)を、上記増加量IN_nの候補値として算出する(以降、このように算出されたIN_nの候補値をねじり力補償用候補値という)。この場合、摩擦力成分補償用候補値と同様に、ねじり力補償用候補値IN_nは、第4必要条件を満足しない仮想面を含む対向仮想面Sna,Snbのそれぞれ毎に算出される。
そして、外力目標生成部27は、摩擦力成分補償用候補値及びねじり力補償用候補値のうちの摩擦力成分補償用候補値だけを算出した対向仮想面Sna,Snbについては、各対向仮想面Sna,Snbのそれぞれの摩擦力成分補償用候補値のうちのいずれか大きい方を、該対向仮想面Sna,Snbにおける仮想面垂直抗力成分N_na,N_nbの大きさの増加量IN_nとして決定する。
また、外力目標生成部27は、摩擦力成分補償用候補値及びねじり力補償用候補値のうちのねじり力補償用候補値だけを算出した対向仮想面Sna,Snbについては、各対向仮想面Sna,Snbのそれぞれのねじり力補償用候補値のうちのいずれか大きい方を、該対向仮想面Sna,Snbにおける仮想面垂直抗力成分N_na,N_nbの大きさの増加量IN_nとして決定する。
また、外力目標生成部27は、摩擦力成分補償用候補値及びねじり力補償用候補値の両方を算出した対向仮想面Sna,Snbについては、各対向仮想面Sna,Snbのそれぞれの摩擦力成分補償用候補値及びねじり力補償用候補値のうちの最も大きい候補値を、該対向仮想面Sna,Snbにおける仮想面垂直抗力成分の増加量IN_nとして決定する。
ここで、S45で上記の如く決定した増加量IN_nだけ対向仮想面Sna,Snbにおける仮想面垂直抗力成分N_na,N_nbを増加させた場合、対向仮想面Sna,Snbに直交する方向の内力が増加することとなる。また、N_na,N_nbの増加に伴い、モーメント基準点周りに発生するモーメントが一般には変化してしまう。そこで、本実施形態では、外力目標生成部27は、S45の処理を実行した後、図7のS13からの処理を改めて実行する。
以上が、本実施形態における外力目標生成部27の処理の詳細である。
以上説明した外力目標生成部27の処理によって、まず、S05〜S15の処理によって、ロボット1全体の並進運動に係わる前記補償総並進外力Fall_adを実現するために必要な仮想面必要並進力(N_i,F_i)が暫定的に決定される。この場合、前記モーメント基準点周りに発生するモーメントを考慮することなく、第1必要条件(第1A必要条件、第1B必要条件)、第2必要条件、及び第3必要条件を満足することを指針として、仮想面必要並進力(N_i,F_i)が暫定的に決定される。この場合、各仮想面は、その相互の姿勢関係があらかじめ定まっているので、前記補償総並進外力Fall_adを実現し得る仮想面必要並進力(N_i,F_i)の暫定値を簡素なアルゴリズムによって効率よく決定することができる。
また、S07、S09の判断結果がいずれも否定的となる場合、あるいは、S07、S09、S15の判断結果がそれぞれ、否定的、肯定的、否定的となる場合に、ロボット1の運動状態が不適切であると評価され、外力目標生成部27の処理が中止される。このため、前記補償総並進外力Fall_adを実現するために、接触対象面とロボット1との間の摩擦力が過大になりやすいロボット1の運動状態、あるいは、内力が過大になりやすいロボット1の運動状態を、簡素なアルゴリズムで効率よく不適切であると評価することができる。ひいては、ロボット1の運動を安定に行なうことが困難となる状況で、該ロボット1の運動を継続してしまうような事態が発生するのを防止する(例えばロボット1の運動を停止する)ことができる。
そして、上記のように補償総並進外力Fall_adを実現し得る仮想面必要並進力(N_i,F_i)の暫定値を決定した上で、S19〜S37の処理(S29の処理を除く)によって、ロボット1全体の回転運動に係わる補償総モーメント外力M all_adを実現するための付加的な操作量(モーメント補償量)として、前記仮想面上外力作用点修正量Δrpc_iが決定され、あるいは、前記仮想面上外力作用点制限修正量Δrpc_lim_iと仮想面摩擦力成分修正量Δf_iと仮想面ねじり力R_iとの組が決定される。これらの、モーメント補償量は、それによる修正対象の修正の前後で、仮想面上必要並進力の合力を変化させることのない操作量である。
このため、S05〜S15の処理によって決定した仮想面必要並進力(N_i,F_i)の暫定値と、S19〜S37の処理(S29の処理を除く)によって決定したモーメント補償量とを単純に組合わせるだけで、補償総並進外力Fall_adと補償総モーメント外力Mall_adとの両方を適切に実現できる仮想面上必要並進力と仮想面上ねじり力と仮想面上外力作用点との組(仮想面上ねじり力が“0”になる場合を含む)を決定することができることとなる。そして、この仮想面上必要並進力と仮想面上ねじり力と仮想面上外力作用点との組から、各接触対象面からロボット1に作用させるべき目標外力(目標並進力及び目標ねじり力)と目標外力作用点とを効率よく適切に決定できることとなる。
なお、この場合、S39、S43の判断結果がいずれも否定的となる場合に、ロボット1の運動状態が不適切であると評価され、外力目標生成部27の処理が中止される。このため、補償総並進外力Fall_adと補償総モーメント外力Mall_adとを実現するために、接触対象面とロボット1との間の摩擦力が過大になりやすいロボット1の運動状態を、効率よく不適切であると評価することができる。ひいては、ロボット1の運動を安定に行なうことが困難となる状況で、該ロボット1の運動を継続してしまうような事態が発生するのを防止する(例えばロボット1の運動を停止する)ことができる。
また、本実施形態では、外力目標生成部27の処理によって、S09、S15、S43のいずれかの判断結果が否定的となる場合(ロボット1の運動状態が不適切である場合)を除いて、今回時刻での各接触対象面に対応する各仮想面における最終的な仮想面必要並進力(仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとの組)は、結果的に、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足するように決定される。
そして、各仮想面に対応する接触対象面における並進外力の目標値(目標並進力)は、その垂直抗力成分(接触対象面に垂直な成分)と摩擦力成分(接触対象面に平行な成分)とが、それぞれ、該仮想面における仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとに一致するように決定される。
このため、各接触対象面からロボット1への目標並進力は、可能な限り、各接触対象面における目標並進力のうちの垂直抗力成分の合力によって前記補償総並進外力Fall_adを実現すると共に、該目標並進力のうちの摩擦力成分を、該接触対象面で発生可能な摩擦力の大きさの限界内で可能な限り小さくなるように、各接触対象面からロボット1への目標並進力を決定できる。
特に、本実施形態では、モーメント補償量として、仮想面上外力作用点修正量Δrpc_i(第1補償量)が優先的に決定される。すなわち、S27の判断結果が肯定的となる場合には、モーメント補償量には、仮想面摩擦力成分修正量f_i及び仮想面ねじり力R_iのいずれも含まれない。このため、各仮想面における仮想面摩擦力成分F_iの大きさを、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足し得る範囲内で、必要最低限の大きさに留めることができる。ひいては、各接触対象面における目標並進力の摩擦力成分の大きさも必要最低限もしくはこれと同程度に留めることができる。
また、S01で設定される仮想面が対向仮想面Sna,Snbを含む場合において、S27の判断結果が肯定的となる場合はもちろん、S39の判断結果が肯定的となる場合においても、これらの対向仮想面Sna,Snbの間でロボット1に発生する内力の大きさ(N_na,N_nbの大きさのうちの小さい方の大きさ)を、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足し得る範囲内で、必要最低限に留めることができる。ひいては、これらの対向仮想面Sna,Snbに対応する2つの接触対象面(例えば、前記壁登り歩容における壁面WL1,WL2)の間でロボット1に発生する内力の大きさを必要最低限もしくはこれと同程度に留めることができる。このため、ロボット1の関節アクチュエータ11が発生可能な動力(本実施形態では駆動トルク)のうち、該内力を発生するために必要な負担分を軽減することができるように対向仮想面Sna,Snbに対応する2つの接触対象面を含む各接触対象面における目標並進力を決定できる。
ここで、以上説明した本実施形態と本願発明との対応関係を補足しておく。本実施形態ででは、制御ユニット21の外力目標生成部27が本発明における目標運動評価装置としての機能を有する。
そして、この外力目標生成部27が実行する処理のうち、S01の処理によって、本発明における仮想面群設定手段が実現される。
また、S02の処理によって、本発明における基本必要総並進外力決定手段が実現される。
この場合、前記必要総並進外力Falllが本発明における基本必要総並進外力に相当する。
また、S03の処理によって、本発明における並進外力補償量決定手段が実現される。この場合、本実施形態では、本発明における運動状態量として、ロボット1の全体重心点の位置が使用され、前記偏差ΔPgが本発明における運動状態量偏差に相当する。
また、S05の処理によって、第1A必要条件と第1B必要条件とを満足するように仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S07〜S17の処理によって、運動状態評価手段が実現される。この場合、S07の判断処理によって、本発明における第1判断手段が実現される。また、S09の判断処理によって、本発明における第2判断手段が実現される。また、S15の判断処理によって、本発明における第3判断手段が実現される。
また、本実施形態では、それを別の観点でみると、S05〜S37の処理(S09又はS15の判断結果が否定的となる場合を除く)によって、第1A必要条件と第1B必要条件とを少なくとも満足するように(詳しくは、第1A必要条件と第1B必要条件とを満足しつつ、前記補償モーメント外力を実現し得るように)、仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S37に続く、S39〜S45並びにS13〜S17の処理によって、運動状態評価手段が実現される。この場合、S39の判断処理によって、本発明における第1判断手段が実現される。また、S43の判断処理によって、本発明における第2判断手段が実現される。また、S15の判断処理によって、本発明における第3判断手段が実現される。
また、本実施形態では、それを別の観点でみると、S05〜S13の処理(S09の判断結果が否定的となる場合を除く)によって、あるいは、S05〜S45の処理(S09又はS15又S43の判断結果が否定的となる場合を除く)とこれに続くS13の処理とによって、第1A必要条件と第1B必要条件と第2必要条件とを満足するように仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S15及びS17の処理によって、本発明における運動状態評価手段が実現されると共に、S15の判断処理によって、本発明における第4判断手段が実現される。
[第2実施形態]
次に本発明の第2実施形態を図14及び図15を参照して説明する。なお、本実施形態は、外力目標生成部27の処理の一部だけが第1実施形態と相違するものであるので、第1実施形態と同一事項については説明を省略する。
前記第1実施形態では、前記モーメント偏差errMを解消するためのモーメント補償量を決定する処理(S21〜S37の処理)において、第1補償量としての仮想面上外力作用点修正量を優先的に決定するようにした。
ただし、例えば、第2補償量としての仮想面摩擦力成分修正量f_i又は第3補償量としての仮想面ねじり力R_iを、仮想面上外力作用点修正量よりも優先的に決定するようにすることも可能である。本実施形態は、このようにモーメント補償量として、第2補償量又は第2補償量を優先的に決定する場合の一例を示す実施形態である。
本実施形態では、外力目標生成部27の処理においては、S01〜S21までの処理は第1実施形態と同じである。そして、本実施形態では、外力目標生成部27は、S21の処理(モーメント偏差errMを算出する処理)に続いて、図14及び図15フローチャートに示す処理を実行する。
以下説明すると、外力目標生成部27は、S21の処理の次にS61の処理を実行する。このS61では、外力目標生成部27は、第1実施形態で説明したS35の処理と同様の処理によって、仮想面摩擦力成分修正量f_i(第2補償量)及び仮想面ねじり力R_i(第3補償量)と、これらのf_i,R_iによってモーメント基準点周りに発生するモーメントMfrとの関係を前記式11により表現するヤコビアンJfrを決定する。ただし、本実施形態では、S61において、f_i,R_iを作用させる各仮想面上の外力作用点としては、仮想面上暫定外力作用点(目標運動生成部25で生成された接触対象面上の暫定外力作用点を該接触対象面に対応する仮想面に投影してなる点)が使用される。
次いで、外力目標生成部27は、S63の処理を実行する。このS63では、外力目標生成部27は、前記式11のMfrをS21で求めたモーメント偏差errMに一致させた場合に、f_i及びR_iの組(f_i R_i)Tを算出する。
なお、必ずしもf_i及びR_iの両方を算出する必要はなく、いずれか一方を“0”に設定するようにしてもよい。
この場合、外力目標生成部27は、S61で求めたヤコビアンJfrの擬似逆行列Jfr_invを、第1実施形態におけるS37の処理と同様の処理によって算出し、この擬似逆行列Jfr_invを、モーメント偏差errMに乗じることによって、f_i及びR_iの組(f_i R_i)Tを算出する。これにより、errMを解消するために必要なf_i及びR_iの組が算出される。
以上のS63までの処理によって、前記第1A必要条件及び第1B必要条件を満足し、且つ、ロボット1全体の回転運動(モーメント基準点周りの角運動量を変化させる回転運動)に係わる前記補償総モーメント外力を実現し得る仮想面必要並進力(f_iによる修正後の仮想面必要並進力)と、仮想面上外力作用点(=仮想面上暫定外力作用点)と、仮想面上ねじり力R_iとの組が暫定的に決定されることとなる。ただし、この場合、f_iによる仮想面必要並進力の修正が行なわれるので、その修正後の仮想面必要並進力の仮想面摩擦力成分は、前記第2必要条件を満足するとは限らない。また、仮想面上ねじり力R_iも第1実施形態で説明した第4必要条件を満足するとは限らない。
そこで、外力目標生成部27は、次に、S65の処理を実行する。このS65では、外力目標生成部27は、第1実施形態におけるS39と同じ判断処理を実行する。すなわち、外力目標生成部27は、各仮想面において、f_iによる修正後の仮想面摩擦力成分F_i(S15までの処理で決定されたF_iとf_iとの総和の摩擦力成分)が、前記第2必要条件を満足するか否かを判断すると共に、R_iの大きさが、前記第4必要条件を満足するか否かを判断する。
そして、この判断結果が肯定的である場合には、外力目標生成部27は、S67の処理を実行し、今回時刻での処理を終了する。このS67の処理では、外力目標生成部27は、第1実施形態におけるS41と同じ処理によって、今回時刻での各接触対象面からロボット1に作用させる目標外力を確定する。
一方、本実施形態におけるS67の処理では、外力目標生成部27は、各接触対象面の目標外力作用点に関しては、目標運動生成部25で生成された暫定外力作用点をそのまま目標外力作用点として確定する。
前記S65の判断結果が否定的である場合には、外力目標生成部27は、次にS69の処理を実行する。このS69では、外力目標生成部27は、第2必要条件を満足するように、仮想面摩擦力成分修正量f_iを制限してなる仮想面摩擦力成分制限修正量f_lim_iを決定すると共に、第4必要条件を満足するように、仮想面ねじり力R_iを制限してなる仮想面制限ねじり力R_lim_iを決定する。
すなわち、外力目標生成部27は、f_lim_iによる修正後の仮想面摩擦力成分F_iが、S15までの処理で決定した仮想面垂直抗力成分Niに応じて設定した摩擦力上限値(=μ_i*|N_i|)以下になるようにf_lim_iを決定すると共に、R_lim_iがS15までの処理で決定した仮想面垂直抗力成分Niに応じて設定したねじり力上限値(=μr_i*|N_i|)以下になるようにR_lim_iを決定する。
この場合、f_lim_iに関しては、第2必要条件を満足することに加えて、それらの総和(合力)が“0”に保たれるようにf_lim_iが決定される。
より具体的には、例えば、S63で決定した各仮想面における仮想面摩擦力成分修正量f_iのそれぞれに同じ値の、ある係数kを乗じてなる値を仮想面摩擦力成分制限修正量f_lim_iに一致させるように、f_lim_iを決定する。このようにすることでf_lim_iの総和(合力)は、f_iの総和(=0)のk倍、すなわち、“0”になる。この場合、係数kの値を未知数とし、各仮想面において、S15までの処理で決定した修正前の仮想面摩擦力成分F_iにk*f_iを加え合わせてなる摩擦力の大きさ(=|F_i+k*f_i|)が、第2必要条件を満たすように(|F_i+k*f_i|≦μ_i*|N_i|となるように)、上記係数kの値を決定する。そして、この決定した係数kを、S63で算出した各仮想面におけるf_iに乗じることによって、各仮想面におけるf_lim_iを決定する。
なお、S01で設定された全ての仮想面において、f_iによる修正後の仮想面摩擦力成分F_iが前記第2必要条件を満足している場合には、上記係数kの値は“1”とされる。従って、この場合には、S63で算出した各仮想面におけるf_iがそのまま、flim_iとして決定される。
また、各仮想面における仮想面制限ねじり力R_lim_iは例えば次のように決定される。すなわち、S65で前記第4必要条件を満たさない各仮想面において、仮想面制限ねじり力R_lim_iは、その大きさがねじり力上限値(=μr_i*|N_i|)に一致するように決定される。また、第4必要条件を満たす各仮想面においては、S63で算出された仮想面ねじり力R_iがそのまま仮想面制限ねじり力R_lim_iとして決定される。
なお、第4必要条件を満たさない各仮想面における仮想面制限ねじり力R_lim_iを、ねじり力上限値よりも若干小さい大きさのねじり力に決定するようにしてもよい。
上記の如く仮想面摩擦力成分制限修正量f_lim_iと仮想面制限ねじり力R_lim_iとを決定した後、外力目標生成部27は、次に、S71の処理を実行する。このS71では、外力目標生成部27は、前記モーメント偏差errMのうち、S69で決定した各仮想面におけるf_lim_iとR_lim_iとによって解消できない偏差成分としての残偏差成分errM'を算出する。
具体的には、外力目標生成部27は、各仮想面において、制限前の仮想面摩擦力成分修正量f_iと仮想面摩擦力成分制限修正量f_lim_iとの差Δf_i(=f_i−f_lim_i)を算出すると共に、制限前の仮想面ねじり力R_iと仮想面制限ねじり力R_lim_iとの差ΔR_i(=R_i−R_lim_i)とを算出する。そして、外力目標生成部27は、前記式11の右辺における縦ベクトル(f_i R_i)Tの成分f_i,R_iをそれぞれに対応するΔf_i,ΔR_iに置き換え、且つ、前記式11の左辺をerrM'に置き換えた式によって、残偏差成分errM’を算出する。
なお、f_lim_i及びR_lim_iを、仮想面上暫定外力作用点に作用させた場合にモーメント基準点周りに発生するモーメントを算出し、このモーメントを、モーメント偏差errMから差し引くことによって、残偏差成分errM'を算出するようにしてもよい。
次いで、外力目標生成部27は、図15のS73の処理を実行する。このS73では、外力目標生成部27は、仮想面上外力作用点の位置の変化(仮想面上暫定外力作用点からの変化)に対する仮想面必要並進力依存モーメントMsの変化の感度を表現するヤコビアンJ(前記式07の関係式におけるヤコビアンJ)を、第1実施形態におけるS23と同じ処理によって算出する。
次いで、外力目標生成部27は、S75の処理を実行する。このS75では、外力目標生成部27は、第1実施形態におけるS25と同様の処理によって、前記式07におけるΔMs(仮想面必要並進力依存モーメントMsの変化量)をS71で算出した残偏差成分errM'に一致させた場合に、式07の関係を満たす縦ベクトル(Δrp_i)を、errMを解消するための各仮想面における仮想面上外力作用点修正量Δrpc_iの組として算出する。すなわち、外力目標生成部27は、S73で決定したヤコビアンJの擬似逆行列JinvをS25の処理と同様に算出し、このJinvをerrM'に乗じることによって、各仮想面における仮想面上外力作用点修正量Δrpc_iの組を算出する。
次いで、外力目標生成部27は、S77の判断処理を実行する。このS77の判断処理は、前記第1実施形態におけるS27の判断処理と同じである。すなわち、外力目標生成部27は、全ての仮想面において、S75で決定したΔrpc_iによる修正後の仮想面上外力作用点の位置が外力作用点存在領域条件を満足するか否かを判断する。
このS77の判断結果が肯定的である場合には、外力目標生成部27は、S79の処理を実行し、今回時刻での処理を終了する。このS79の処理では、外力目標生成部27は、今回時刻での各接触対象面からロボット1の目標外力と目標外力作用点とを確定する。
具体的には、外力目標生成部27は、S15までの処理で決定した各仮想面における仮想面必要並進力(N_i,F_i)と、S69の処理で決定した仮想面摩擦力成分制限修正量f_lim_iとから、今回時刻での各仮想面における仮想面必要並進力を確定する。この場合、S15までの処理で決定した仮想面垂直抗力成分N_iがそのまま該仮想面における仮想面垂直抗力成分として確定されると共に、S15までの処理で決定した仮想面摩擦力成分F_iに仮想面摩擦力成分制限修正量f_lim_iを加え合わせてなる摩擦力成分が、該仮想面における仮想面摩擦力成分として確定される。
また、外力目標生成部27は、S69の処理で決定した仮想面制限ねじり力R_lim_iを、このR_lim_iに対応する仮想面における仮想面ねじり力として確定する。
そして、外力目標生成部27は、以上の如く確定した各仮想面における仮想面必要並進力と仮想面ねじり力とを、第1実施形態におけるS29又はS41と同じ処理によって、該接触対象面からロボット1に作用させる並進力及びねじり力にそれぞれ変換し、この変換後の並進力とねじり力とをそれぞれ目標外力の構成要素である並進外力の目標値(目標並進力)、ねじり力の目標値(目標ねじり力)として決定する。
また、外力目標生成部27は、第1実施形態におけるS29の処理の場合と同様に、S75で決定した仮想面上外力作用点修正量Δrpc_iによる修正後の各仮想面上の外力作用点を該仮想面に対応する接触対象面上に逆投影してなる点を、該接触対象面上の目標外力作用点として決定する。
前記S77の判断結果が否定的となる状況では、外力作用点存在領域条件を満たし得る範囲内での仮想面上外力作用点の修正では、前記残偏差成分errM'を解消できないこととなる。このため、この場合には、各仮想面に付加する摩擦力又はねじり力をさらに増加させ得るように(ひいてはS65での判断結果が肯定的になり得るように)、仮想面垂直抗力成分N_iの大きさを大きくする必要がある。
そこで、S77の判断結果が否定的となる場合には、外力目標生成部27は、次に、S81の処理を実行する。このS77では、外力目標生成部27は、S65の判断処理で、第2必要条件又は第4必要条件を満たさない仮想面が、対向仮想面Sna又はSnb(n=1又は2又は3)であるか否かを判断する。
このS65の判断結果が否定的となる状況では、S65の判断処理で第2必要条件又は第4必要条件を満足しない仮想面における仮想面垂直抗力成分の大きさを、前記第1A必要条件を満たしつつ増加させることができない。そこで、この場合には、外力目標生成部27は、S85において、ロボット1の運動状態が不適切である(目標運動の修正等を行なう必要がある)とし、今回時刻での処理を中止する。なお、この場合、外力目標生成部27は、目標運動生成部25にエラー情報を出力する。そして、目標運動生成部25は、そのエラー情報に応じて、目標運動を作成し直したり、あるいは、ロボット1の運動を停止させるような目標運動を作成する。
従って、本実施形態では、S77の判断結果が否定的となる場合に、S81の判断処理によって、ロボット1の運動状態が評価される。そして、このS81の判断結果が否定的となる場合に、ロボット1の運動状態が不適切であると評価されることとなる。
一方、S81の判断結果が肯定的となる状況では、第2必要条件又は第4必要条件を満たさない仮想面を含む、互いに平行な対向仮想面Sna,Snb(n=1又は2又は3)の仮想面垂直抗力成分N_na,N_nbの大きさを、前記第1A必要条件を満足しつつ(N_na+N_nbを一定に保ちつつ)、増加させることができる。
そこで、S81の判断結果が肯定的となる場合には、外力目標生成部27は、次に、S83の処理を実行する。このS83では、外力目標生成部27は、対向仮想面Sna,Snbの仮想面垂直抗力成分N_na,N_nbの大きさの増加量IN_nを決定する。この場合、本実施形態では、S83で決定する増加量IN_nは、あらかじめ定められた所定値に設定される。
ただし、この増加量IN_nを、例えば、第1実施形態におけるS45と同様の処理によって決定するようにしてもよい。
次いで、外力目標生成部27は、図7のS13からの処理を改めて実行する。
以上が、本実施形態における外力目標生成部27の処理の詳細である。
以上説明した外力目標生成部27の処理によって、まず、S05〜S15の処理によって、第1実施形態と同様に、ロボット1全体の並進運動に係わる前記補償総並進外力Fall_adを実現するために必要な仮想面必要並進力(N_i,F_i)が暫定的に決定される。このため、前記補償総並進外力Fall_adを実現し得る仮想面必要並進力(N_i,F_i)の暫定値を簡素なアルゴリズムによって効率よく決定することができる。
また、第1実施形態と同様に、S07、S09の判断結果がいずれも否定的となる場合、あるいは、S07、S09、S15の判断結果がそれぞれ、否定的、肯定的、否定的となる場合に、ロボット1の運動状態が不適切であると評価され、外力目標生成部27の処理が中止される。このため、第1実施形態と同様に、前記補償総並進外力Fall_adを実現するために、接触対象面とロボット1との間の摩擦力が過大になりやすいロボット1の運動状態、あるいは、内力が過大になりやすいロボット1の運動状態を、簡素なアルゴリズムで効率よく不適切であると評価することができる。ひいては、ロボット1の運動を安定に行なうことが困難となる状況で、該ロボット1の運動を継続してしまうような事態が発生するのを防止する(例えばロボット1の運動を停止する)ことができる。
そして、本実施形態では、このように補償総並進外力Fall_adを実現し得る仮想面必要並進力(N_i,F_i)の暫定値を決定した上で、S19、S21、S61〜S75の処理(S67の処理を除く)によって、ロボット1全体の回転運動に係わる補償総モーメント外力Mall_adを実現するための付加的な操作量(モーメント補償量)として、前記仮想面摩擦力成分修正量Δf_iと仮想面ねじり力R_iとの組が決定され、あるいは、前記仮想面摩擦力成分修正量Δf_iと仮想面ねじり力R_iと仮想面上外力作用点修正量Δrpc_iとの組が決定される。
このため、第1実施形態の場合と同様に、S05〜S15の処理によって決定した仮想面必要並進力(N_i,F_i)の暫定値と、S19、S21、S61〜S75の処理(S67の処理を除く)によって決定したモーメント補償量とを単純に組合わせるだけで、補償総並進外力Fall_adと補償総モーメント外力Mall_adとの両方を適切に実現できる仮想面上必要並進力と仮想面上ねじり力と仮想面上外力作用点との組(仮想面上ねじり力が“0”になる場合を含む)を決定することができることとなる。そして、この仮想面上必要並進力と仮想面上ねじり力と仮想面上外力作用点との組から、各接触対象面からロボット1に作用させるべき目標外力(目標並進力及び目標ねじり力)と目標外力作用点とを効率よく適切に決定できることとなる。
なお、この場合、S77、S81の判断結果がいずれも否定的となる場合に、ロボット1の運動状態が不適切であると評価され、外力目標生成部27の処理が中止される。このため、前記第1A必要条件及び第1B必要条件とを少なくとも満足しつつ、補償総モーメント外力Mall_adを実現することが困難となるようなロボット1の運動状態を不適切であると評価することができる。ひいては、ロボット1の運動を安定に行なうことが困難となる状況で、該ロボット1の運動を継続してしまうような事態が発生するのを防止する(例えばロボット1の運動を停止する)ことができる。
また、図7に示したS09及びS15、並びに図15のS81のいずれかの判断結果が否定的となる場合(ロボット1の運動状態が不適切である場合)を除いて、第1実施形態と同様に、今回時刻での各接触対象面に対応する各仮想面における最終的な仮想面必要並進力(仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとの組)は、結果的に、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足するように決定される。
そして、各仮想面に対応する接触対象面における並進外力の目標値(目標並進力)は、その垂直抗力成分(接触対象面に垂直な成分)と摩擦力成分(接触対象面に平行な成分)とが、それぞれ、該仮想面における仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとに一致するように決定される。
このため、第1実施形態と同様に、各接触対象面からロボット1への目標並進力は、可能な限り、各接触対象面における目標並進力のうちの垂直抗力成分の合力によって前記必要総並進外力を実現すると共に、該目標並進力のうちの摩擦力成分を、該接触対象面で発生可能な摩擦力の大きさの限界内で可能な限り小さくなるように、各接触対象面からロボットへの目標並進力を決定できる。
また、S01で設定される仮想面が対向仮想面Sna,Snbを含む場合において、S65又はS77の判断結果が肯定的となる場合に、第1実施形態と同様に、これらの対向仮想面Sna,Snbの間でロボット1に発生する内力の大きさ(N_na,N_nbの大きさのうちの小さい方の大きさ)を、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足し得る範囲内で、必要最低限に留めることができる。従って、第1実施形態と同様に、ロボット1の関節アクチュエータ11が発生可能な動力(本実施形態では駆動トルク)のうち、該内力を発生するために必要な負担分を軽減することができるように対向仮想面Sna,Snbに対応する2つの接触対象面を含む各接触対象面における目標並進力を決定できる。
ここで、以上説明した本実施形態と本願発明との対応関係を補足しておく。本実施形態ででは、制御ユニット21の外力目標生成部27が本発明における目標運動評価装置としての機能を有する。
そして、この外力目標生成部27が実行する処理のうち、S01の処理によって、本発明における仮想面群設定手段が実現される。
また、S02の処理によって、本発明における基本必要総並進外力決定手段が実現される。
この場合、前記必要総並進外力Falllが本発明における基本必要総並進外力に相当する。
また、S03の処理によって、本発明における並進外力補償量決定手段が実現される。この場合、本実施形態では、本発明における運動状態量として、ロボット1の全体重心点の位置が使用され、前記偏差ΔPgが本発明における運動状態量偏差に相当する。
また、S05の処理によって、第1A必要条件と第1B必要条件とを満足するように仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S07〜S17の処理によって、運動状態評価手段が実現される。この場合、S07の判断処理によって、本発明における第1判断手段が実現される。また、S09の判断処理によって、本発明における第2判断手段が実現される。また、S15の判断処理によって、本発明における第3判断手段が実現される。
また、本実施形態では、それを別の観点でみると、S05〜S13の処理(S09の判断結果が否定的となる場合を除く)によって、あるいは、S05〜S21の処理(S09又はS15の判断結果が否定的となる場合を除く)とS61〜S83の処理(S81の判断結果が否定的となる場合を除く)とこれに続くS13の処理とによって、第1A必要条件と第1B必要条件と第2必要条件とを満足するように仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S15及びS17の判断処理によって、本発明における運動状態評価手段が実現されると共に、S15の判断処理によって、本発明における第4判断手段が実現される。
[第3実施形態]
次に本発明の第3実施形態を図16を参照して説明する。なお、本実施形態は、外力目標生成部27の処理の一部だけが第1実施形態と相違するものであるので、第1実施形態と同一事項については説明を省略する。
ロボット1の外界の接触対象面が、前記壁面WL1,WL2の如く、互いに間隔を存して対向する2つの接触対象面を有する場合、ひいては、S01で設定される仮想面群が対向仮想面Sna,Snbを含む場合には、これらの対向仮想面Sna,Snbにおける仮想面垂直抗力成分N_na,N_nbの合力を一定に維持したまま、該対向仮想面Sna,Snbの間の内力(=min(|N_na|,|N_nb|)を操作する(増減させる)ことによって、モーメント基準点周りに発生するモーメントを変化させることができる。従って、この内力は、モーメント偏差errM(又は残偏差成分errM')を解消し、もしくは低減するためモーメント補償量として利用することもできる。
そこで、本実施形態では、S01で設定される仮想面群が対向仮想面Sna,Snbを含む場合に、S33で算出される前記残偏差成分errM'を解消するためのモーメント補償量として、第2補償量(仮想面摩擦力成分修正量f_i)及び第3補償量(仮想面ねじり力R_i)と、第4補償量としての内力修正量ΔINとの組を決定する。
具体的には、本実施形態における外力目標生成部27の処理のうち、前記S33までの処理は、第1実施形態と同じである。そして、S33の後の一部の処理が第1実施形態と相違する。
以下、図16を参照して説明すると、外力目標生成部27は、S33の次に、S101の処理を実行する。このS101では、外力目標生成部27は、S01で設定した仮想面群に、対向仮想面Sna,Snbが有るか否かを判断する。そして、この判断結果が否定的である場合には、外力目標生成部27は、図9に示したS35からの処理を第1実施形態と同様に実行する。
なお、本実施形態では、S101の判断結果が否定的となった場合において、その後、図9に示したS35、S37、S39、S43の処理を順次実行したとき、S43の判断結果は常に否定的となる。従って、S101の判断結果が否定的となった場合の後の処理では、S43及びS45の処理は実質的に不要であり、S39の判断結果が、否定的である場合に、直ちにS47の処理を実行するようにしてもよい。
一方、S101の判断結果が肯定的である場合には、外力目標生成部27は、次に、S103の処理を実行する。このS103では、各仮想面(S01で設定した各仮想面)の仮想面上制限修正後外力作用点に任意の値の前記仮想面摩擦力成分修正量f_iと前記仮想面ねじり力R_iとを付加し、且つ、各組の対向仮想面Sna,Snbの仮想面垂直抗力成分N_na,N_nbの大きさを任意の値の内力修正量ΔIN_nだけ変化させた場合に、それらのf_i,R_i,ΔIN_nによって前記モーメント基準点周りに発生するモーメントMfrinと、f_i,R_i,ΔIN_nとの間の関係を次式13により表現するヤコビアン(行列)Jfrinを算出する。

Mfrin=Jfrin*(f_i R_i ΔIN_n)T ……式13

この式13における(f_i R_i ΔIN_n)Tは、f_i,R_i及びΔIN_nを成分とする縦ベクトルである。なお、仮想面摩擦力成分修正量f_iは、それらの総和(合力)が“0”になるように決定されるべきモーメント補償量であるので、式13における縦ベクトル(f_i R_i ΔIN_n)Tの成分としてのf_iは、第1実施形態で説明した前記式11におけるf_iと同様に、任意の1つの仮想面に対応するf_i(≡f_i0)を除いたものである。また、S01で設定した仮想面群に、対向仮想面Sna,Snbの組が複数組含まれる場合には、その全ての組の対向仮想面Sna,Snbに対応する内力修正量ΔIN_nが式13における縦ベクトル(f_i R_i ΔIN_n)Tの成分として含まれる。
次いで、外力目標生成部27は、S105の処理を実行する。このS105では、外力目標生成部27は、式13のMfrinを、S33で算出した残偏差成分errM'に一致させた場合に、式13の関係を満たすf_i,R_i及びΔIN_nの組(f_i R_i ΔIN_n)Tを算出する。
すなわち、外力目標生成部27は、S103で求めたヤコビアンJfrinの擬似逆行列Jfrin_invを算出し、この擬似逆行列Jfrin_invを、残偏差成分errM'に乗じることによって、f_i,R_i及びΔIN_nの組を算出する。この場合、擬似逆行列Jfrin_invは、第1実施形態で説明した図9のS37の処理で擬似逆行列Jfr_invを算出する手法と同様に、例えば式13の縦ベクトル(f_i R_i ΔIN_n)Tを組成するf_i,R_i,ΔIN_nのそれぞれの2乗値又は絶対値の平均値(又は重み付き平均値)が最小になるように決定される。また、式13の縦ベクトル(f_i R_i ΔIN_n)Tから除いた上記f_i0は、上記の如く算出したf_iの総和の符号を反転させてなる値として決定される。
なお、必ずしもf_i,R_i,ΔIN_nの全てを算出する必要はない。例えば、摩擦係数μ_iが比較的小さい仮想面におけるf_iを“0”に設定したり、ねじり力係数μr_iが比較的小さい仮想面におけるR_iを“0”に設定するようにしてもよい。
前記目標運動が、前記壁登り歩容である場合においては、上記S103、S105の処理は、例えば次にように行なわれる。
例えば、第1実施形態で説明した場合と同様に、図11(b)に示した動作状態において、床面FL及び壁面WL1,WL2にそれぞれ対応する各仮想面S3a,S2a,S2bにおける仮想面上制限修正後外力作用点の位置ベクトル(モーメント基準点に対する位置ベクトル)をそれぞれrp_3a,rp_2a,rp_2bとおく。このとき、各仮想面S3a,S2a,S2bにおける仮想面上摩擦力成分修正量f_3a,f_2a,f_2b、仮想面ねじり力R_3a,R_2a,R_2b、並びに、仮想面S2a,S2b間の内力修正量ΔIN_2と、これらのf_3a,f_2a,f_2b,R_3a,R_2a,R_2b,ΔIN_2によってモーメント基準点周りに発生するモーメントMfrinとの間の関係は、次式13aにより表される。

Mfrin=rp_3a*f_3a+rp_2a*f_2a+rp_2b*f_2b+R_3a+R_2a+R_2b
+(rp_2a−rp_2b)*ΔIN_2
……式13a

なお、式13aにおける(rp_3a*f_3a),(rp_2a*f_2a),(rp_2b*f_2b),(rp_2a−rp_2b)*ΔIN_2はそれぞれベクトル積である。この場合、式13aでは、ΔIN_2は、仮想面S2aから仮想面S2bに向かうベクトル(大きさがΔIN_2であるベクトル)として表現されている。
この場合、仮想面摩擦力成分修正量に関しては、f_3a+f_2a+f_2b=0であるから、f_2b=−(f_3a+f_2a)となる。従って、式13aは、例えばf_2bを含まない次式13bに書き換えられる。

Mfrin=(rp_3a−rp_2b)*f_3a+(rp_2a−rp_2b)*f_2a+R_3a+R_2a+R_2b
+(rp_2a−rp_2b)*ΔIN_2
……式13b

従って、S103では、この式13bの右辺を、座標成分で表して整理することで、前記式13におけるヤコビアンJfrinが求められることとなる。
そして、S105では、このヤコビアンJfrinの擬似逆行列Jfrin_invが前記した如く算出され、このJfr_invを、残偏差成分errM’に乗じることによって、f_3a,f_2a,R_3a,R_2a,R_2b,ΔIN_2が算出される。さらに、f_3a,f_2aから、f_2b=−(f_3a+f_2a)という関係に従って、f_3bが算出される。
以上のS105までの処理によって、前記S27の判断結果が否定的となり、且つ、S101の判断結果が肯定的となる場合には、前記第1A必要条件及び第1B必要条件を満足しつつ、前記補償総モーメント外力Mall_adを実現するためのモーメント補償量として、仮想面上外力作用点制限修正量Δrpc_lim_iに加えて、仮想面摩擦力成分修正量f_i、仮想面ねじり力R_i及び内力修正量ΔIN_nの組が算出されることとなる。
次いで、外力目標生成部27は、S107の判断処理を実行する。このS107では、外力目標生成部27は、内力修正量ΔIN_nによる内力の修正を行なう対向仮想面Sna,Snbにおいて、修正後の内力が前記第3必要条件を満足するか否かを判断する。より詳しくは、外力目標生成部27は、対向仮想面Sna,Snbにおいて、内力修正量ΔIN_nだけ大きさを変化させた仮想面垂直抗力成分N_na,N_nbの大きさのうちの小さい方の大きさ(すなわちΔIN_nによる修正後の内力の大きさ)が、前記内力上限値IFC_n以下であるか否かを判断する。
このS107の判断結果が否定的である場合には、外力目標生成部27は、S117において、ロボット1の運動状態が不適切である(目標運動の修正等を行なう必要がある)とし、外力に関する目標を生成する処理を中止する。なお、この場合、外力目標生成部27は、目標運動生成部25にエラー情報を出力する。そして、目標運動生成部25は、そのエラー情報に応じて、目標運動を作成し直したり、あるいは、ロボット1の運動を停止させるような目標運動を作成する。
また、S107の判断結果が肯定的である場合には、外力目標生成部27は、図9のS39と同じ判断処理(第2必要条件及び第4必要条件に関する判断処理)をS109で実行する。なお、この場合、対向仮想面Sna,Snbにおける摩擦力上限値に関する仮想面垂直抗力成分N_na,N_nbの大きさは、内力修正量ΔIN_nによる修正後の値(詳しくは図7のS15までの処理で決定された仮想面垂直抗力成分N_na,N_nbの大きさを、内力修正量ΔIN_nだけ変化させた後の値)である。
そして、S109の判断結果が肯定的である場合には、外力目標生成部27は、図9のS41と同じ処理をS111で実行し、今回時刻での各接触対象面からロボット1への目標外力と目標外力作用点とを確定する。
また、S109の判断結果が否定的である場合には、外力目標生成部27は、図9のS43と同じ判断処理をS113で実行する。そして、この判断結果が、否定的である場合には、外力目標生成部27は、S117において、ロボット1の運動状態が不適切であるとして、外力目標生成部27の処理(外力に関する目標を生成する処理)を中止する。
従って、本実施形態では、S107の判断結果が否定的となる場合、あるいは、109及びS113の判断結果がいずれも否定的となる場合に、ロボット1の運動状態が不適切であると評価されることとなる。
また、S113の判断結果が肯定的である場合には、図9のS45と同じ処理をS115で実行し、対向仮想面Sna,Snbにおける仮想面垂直抗力成分N_na,N_nbの大きさの増加量IN_nを決定する。なお、S115で決定する増加量IN_nは、詳しくは、S109の判断処理で使用した仮想面垂直抗力成分N_na,N_nbの大きさ(すなわち、内力修正量ΔIN_nによる修正後の値)からの増加量である。
次いで、外力目標生成部27は、図7のS13からの処理を改めて実行する。
なお、このようにS13からの処理を改めて実行する場合には、S15の判断結果が肯定的となる場合に、S101の判断処理を行うことなく(あるいは、S101の判断結果に依存することなく)、S35からの処理を実行するようにしてもよい。
以上が、本実施形態における外力目標生成部27の処理の詳細である。
以上説明した外力目標生成部27の処理によって、第1実施形態と同様に、まず、S05〜S15の処理によって、ロボット1全体の並進運動に係わる前記補償総並進外力Fall_adを実現するために必要な仮想面必要並進力(N_i,F_i)が暫定的に決定される。このため、前記補償総並進外力Fall_adを実現し得る仮想面必要並進力(N_i,F_i)の暫定値を簡素なアルゴリズムによって効率よく決定することができる。
また、第1実施形態と同様に、S07、S09の判断結果がいずれも否定的となる場合、あるいは、S07、S09、S15の判断結果がそれぞれ、否定的、肯定的、否定的となる場合に、ロボット1の運動状態が不適切であると評価され、外力目標生成部27の処理が中止される。このため、第1実施形態と同様に、前記補償総並進外力Fall_adを実現するために、接触対象面とロボット1との間の摩擦力が過大になりやすいロボット1の運動状態、あるいは、内力が過大になりやすいロボット1の運動状態を、簡素なアルゴリズムで効率よく不適切であると評価することができる。ひいては、ロボット1の運動を安定に行なうことが困難となる状況で、該ロボット1の運動を継続してしまうような事態が発生するのを防止する(例えばロボット1の運動を停止する)ことができる。
そして、上記のように補償総並進外力Fall_adを実現し得る仮想面必要並進力(N_i,F_i)の暫定値を決定した上で、S19〜S37の処理(S29の処理を除く)によって、ロボット1全体の回転運動に係わる補償総モーメント外力M all_adを実現するための付加的な操作量(モーメント補償量)として、前記仮想面上外力作用点修正量Δrpc_iが決定され、あるいは、前記仮想面上外力作用点制限修正量Δrpc_lim_iと仮想面摩擦力成分修正量Δf_iと仮想面ねじり力R_iとの組が決定され、あるいは、Δrpc_lim_i、Δf_i及びR_iと内力修正量ΔIN_nとの組が決定される。
このため、第1実施形態と同様に、S05〜S15の処理によって決定した仮想面必要並進力(N_i,F_i)の暫定値と、S19〜S37の処理(S29の処理を除く)、又は、S19〜S33(S29の処理を除く)とS103〜105の処理とによって決定したモーメント補償量とを単純に組合わせるだけで、補償総並進外力Fall_adと補償総モーメント外力Mall_adとの両方を適切に実現できる仮想面上必要並進力と仮想面上ねじり力と仮想面上外力作用点との組(仮想面上ねじり力が“0”になる場合を含む)を決定することができることとなる。そして、この仮想面上必要並進力と仮想面上ねじり力と仮想面上外力作用点との組から、各接触対象面からロボット1に作用させるべき目標外力(目標並進力及び目標ねじり力)と目標外力作用点とを効率よく適切に決定できることとなる。
なお、この場合、S109、S113の判断結果がいずれも否定的となる場合に、ロボット1の運動状態が不適切であると評価され、外力目標生成部27の処理が中止される。このため、前記第1A必要条件及び第1B必要条件とを少なくとも満足しつつ、補償総モーメント外力Mall_adを実現することが困難となる状況でのロボット1の運動状態をを不適切であると評価することができる。ひいては、ロボット1の運動を安定に行なうことが困難となる状況で、該ロボット1の運動を継続してしまうような事態が発生するのを防止する(例えばロボット1の運動を停止する)ことができる。
また、図7に示したS09及びS15、並びに図16のS107、S113のいずれかの判断結果が否定的となる場合(ロボット1の運動状態が不適切である場合)を除いて、第1実施形態と同様に、今回時刻での各接触対象面に対応する各仮想面における最終的な仮想面必要並進力(仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとの組)は、結果的に、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足するように決定される。
そして、各仮想面に対応する接触対象面における並進外力の目標値(目標並進力)は、その垂直抗力成分(接触対象面に垂直な成分)と摩擦力成分(接触対象面に平行な成分)とが、それぞれ、該仮想面における仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとに一致するように決定される。
このため、第1実施形態と同様に、各接触対象面からロボット1への目標並進力は、可能な限り、各接触対象面における目標並進力のうちの垂直抗力成分の合力によって前記補償総並進外力Fall_adを実現すると共に、該目標並進力のうちの摩擦力成分を、該接触対象面で発生可能な摩擦力の大きさの限界内で可能な限り小さくなるように、各接触対象面からロボットへの目標並進力を決定できる。
特に、本実施形態では、第1実施形態と同様に、モーメント補償量として、仮想面上外力作用点修正量Δrpc_i(第1補償量)が優先的に決定されるため、各仮想面における仮想面摩擦力成分F_iの大きさを、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足し得る範囲内で、必要最低限の大きさに留めることができる。ひいては、各接触対象面における目標並進力の摩擦力成分の大きさも必要最低限もしくはこれと同程度に留めることができる。
また、S01で設定される仮想面が対向仮想面Sna,Snbを含む場合において、目標運動が不適切であると判断される場合を除いて、対向仮想面Sna,Snbの間でロボット1に発生する内力の大きさ(N_na,N_nbの大きさのうちの小さい方の大きさ)が前記内力上限値IFC_n以下に収まるように(前記第3必要条件を満足するように)、仮想面垂直抗力成分N_na,N_nbが決定される。このため、ロボット1の関節アクチュエータ11が発生可能な動力(本実施形態では駆動トルク)のうち、内力を発生するために必要な負担分が過大にならないように、対向仮想面Sna,Snbに対応する2つの接触対象面を含む各接触対象面における目標並進力を決定できる。
ここで、以上説明した本実施形態と本願発明との対応関係を補足しておく。本実施形態ででは、制御ユニット21の外力目標生成部27が本発明における目標運動評価装置としての機能を有する。
そして、この外力目標生成部27が実行する処理のうち、S01の処理によって、本発明における仮想面群設定手段が実現される。
また、S02の処理によって、本発明における基本必要総並進外力決定手段が実現される。
この場合、前記必要総並進外力Falllが本発明における基本必要総並進外力に相当する。
また、S03の処理によって、本発明における並進外力補償量決定手段が実現される。この場合、本実施形態では、本発明における運動状態量として、ロボット1の全体重心点の位置が使用され、前記偏差ΔPgが本発明における運動状態量偏差に相当する。
また、S05の処理によって、第1A必要条件と第1B必要条件とを満足するように仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S07〜S17の処理によって、運動状態評価手段が実現される。この場合、S07の判断処理によって、本発明における第1判断手段が実現される。また、S09の判断処理によって、本発明における第2判断手段が実現される。また、S15の判断処理によって、本発明における第3判断手段が実現される。
また、本実施形態では、それを別の観点でみると、S05〜S37の処理(S09又はS15の判断結果が否定的となる場合とS101の判断結果が肯定的となる場合とを除く)によって、あるいは、S05〜S33の処理(S09又はS15の判断結果が否定的となる場合を除く)とS103,S105の処理とによって、第1A必要条件と第1B必要条件とを少なくとも満足するように(詳しくは、第1A必要条件と第1B必要条件とを満足しつつ、ロボット1の目標運動のうちの、ロボット1全体の回転運動を実現し得るように)、仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S37に続く、S39〜S45並びにS13〜S17の処理によって、あるいは、S105に続く、S107〜S115並びにS13〜S17の処理によって、本発明における運動状態評価手段が実現される。この場合、S39又はS109の判断処理によって、本発明における第1判断手段が実現される。また、S43又はS113の判断処理によって、本発明における第2判断手段が実現される。また、S15の判断処理によって、本発明における第3判断手段が実現される。
また、本実施形態では、それを別の観点でみると、S05〜S13の処理(S09の判断結果が否定的となる場合を除く)によって、あるいは、S05〜S45の処理(S09又はS15又S43の判断結果が否定的となる場合とS101の判断結果が肯定的となる場合とを除く)とこれに続くS13の処理とによって、あるいは、S05〜S33の処理(S09又はS15の判断結果が否定的となる場合を除く)とS103〜S115の処理(S107又はS113の判断結果が否定的となる場合と除く)とこれに続くS13の処理とによって、第1A必要条件と第1B必要条件と第2必要条件とを満足するように仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S15及びS17の処理によって、本発明における運動状態評価手段が実現されると共に、S15の判断処理によって、本発明における第4判断手段が実現される。
[第4実施形態]
次に本発明の第4実施形態を図17及び図18を参照して説明する。なお、本実施形態は、外力目標生成部27の処理の一部だけが第2実施形態又は第3実施形態と相違するものであるので、第2実施形態又は第3実施形態と同一事項については説明を省略する。
本実施形態は、モーメント偏差errMを解消もしくは低減するためのモーメント補償量として、第3実施形態と同様に内力修正量ΔIN_n(第4補償量)を適宜利用するものである。この場合、本実施形態では、S01で設定した仮想面群に対向仮想面が含まれる場合に、モーメント補償量として、仮想面摩擦力成分修正量f_i(第2補償量)と仮想面ねじり力R_i(第3補償量)と内力修正量ΔIN_n(第4補償量)との組を決定した上で、これらの補償量によって解消できない残偏差成分errM’を解消するように、仮想面上外力作用点修正量Δrpc_i(第1補償量)を決定する。
具体的には、本実施形態における外力目標生成部27の処理のうち、前記S21までの処理は、第2実施形態と同じである。そして、S21の後の一部の処理が第2実施形態と相違する。
以下図17及び図18を参照して説明すると、外力目標生成部27は、S21の次に、S121の判断処理を実行する。このS121では、外力目標生成部27は、S01で設定した仮想面群に、対向仮想面Sna,Snbが有るか否かを判断する。そして、この判断結果が否定的である場合には、外力目標生成部27は、図14及び図15に示したS61からの処理を第2実施形態と同様に実行する。
なお、本実施形態では、S121の判断結果が否定的となった場合において、その後、図15に示したS81の判断処理を実行したとき、その判断結果は常に否定的となる。従って、S121の判断結果が否定的となった場合の後の処理では、S81及びS83の処理は実質的に不要であり、S77の判断結果が否定的である場合に、直ちにS85の処理を実行するようにしてもよい。
一方、S121の判断結果が肯定的である場合には、外力目標生成部27は、次に、S123の処理を実行する。このS123では、外力目標生成部27は、第3実施形態で説明したS103と同様の処理によって、仮想面摩擦力成分修正量f_i(第2補償量)、仮想面ねじり力R_i(第3補償量)及び内力修正量ΔIN_n(第4補償量)と、これらのf_i,R_i,ΔIN_nによってモーメント基準点周りに発生するモーメントMfrinとの関係を前記式13により表現するヤコビアンJfrinを決定する。ただし、本実施形態では、S123の処理における各仮想面上の外力作用点としては、仮想面上暫定外力作用点(目標運動生成部25が決定した接触対象面上の暫定外力作用点を該接触対象面に対応する仮想面に投影してなる点)が使用される。
次いで、外力目標生成部27は、S125の処理を実行する。このS125では、外力目標生成部27は、前記式13のMfrinをS21で求めたモーメント偏差errMに一致させた場合に式13の関係式を満足させ得るf_i、R_i及びΔIN_nの組(f_i R_i ΔIN_n)Tを算出する。
この場合、外力目標生成部27は、S123で求めたヤコビアンJfrinの擬似逆行列Jfrin_invを、第3実施形態におけるS105の処理と同様の処理によって算出し、この擬似逆行列Jfrin_invを、モーメント偏差errMに乗じることによって、f_i,R_i,ΔIN_nの組(f_i R_i ΔIN_n)Tを算出する。これにより、errMを解消するために必要なf_i,R_i,ΔIN_nの組が算出される。
なお、必ずしもf_i,R_i,ΔIN_nの全てを算出する必要はない。例えば、摩擦係数μ_iが比較的小さい仮想面におけるf_iを“0”に設定したり、ねじり力係数μr_iが比較的小さい仮想面におけるR_iを“0”に設定するようにしてもよい。
以上のS125までの処理によって、S121の判断結果が否定的となる場合には、前記第1A必要条件及び第1B必要条件を満足しつつ、補償総モーメント外力Mall_adを実現するためのモーメント補償量として、仮想面摩擦力成分修正量f_i、仮想面ねじり力R_i及び内力修正量ΔIN_nの組が算出されることとなる。
次いで、外力目標生成部27は、第3実施形態におけるS107と同じ判断処理をS127で実行する。すなわち、外力目標生成部27は、ΔIN_nによる修正後の内力(=min(|N_na|,|N_nb|))が前記第3必要条件を満足するか否かを判断する。
このS127の判断結果が肯定的である場合には、外力目標生成部27は、次に、S131の処理を実行する。このS131では、外力目標生成部27は、第2実施形態におけるS65と同じ判断処理を実行する。すなわち、外力目標生成部27は、各仮想面において、f_iによる修正後の仮想面摩擦力成分F_i(S15までの処理で決定されたF_iとf_iとの総和の摩擦力成分)が、前記第2必要条件を満足するか否かを判断すると共に、R_iの大きさが、前記第4必要条件を満足するか否かを判断する。
そして、S131の判断結果が肯定的である場合には、外力目標生成部27は、S133の処理を実行し、今回時刻での処理を終了する。このS133の処理では、外力目標生成部27は、第2実施形態におけるS67と同様の処理によって、今回時刻での各接触対象面からロボット1の目標外力と目標外力作用点とを確定する。
具体的には、外力目標生成部27は、S15までの処理で決定した各仮想面における仮想面必要並進力(N_i,F_i)と、S125の処理で決定した仮想面摩擦力成分修正量f_i及び内力修正量ΔIN_nとから、今回時刻での各仮想面における仮想面必要並進力を確定する。この場合、S15までの処理で決定した仮想面垂直抗力成分N_iの大きさをΔIN_nだけ変化させてなる垂直抗力成分が、該仮想面における仮想面垂直抗力成分として確定されると共に、S15までの処理で決定した仮想面摩擦力成分F_iに仮想面摩擦力成分修正量f_iを加え合わせてなる摩擦力成分が、該仮想面における仮想面摩擦力成分として確定される。
また、外力目標生成部27は、S125の処理で決定した仮想面ねじり力R_iを、このR_iに対応する仮想面におけるねじり力として確定する。
そして、外力目標生成部27は、以上の如く確定した各仮想面における仮想面必要並進力と仮想面ねじり力R_iとを、S67の処理と同様に、該仮想面に対応する接触対象面からロボット1に作用させる並進力とねじり力とにそれぞれ変換することで、目標外力の構成要素である目標並進力と目標ねじり力とを決定する。
また、外力目標生成部27は、目標運動生成部25で生成された暫定外力作用点をそのまま目標外力作用点として確定する。
前記S131の判断結果が否定的である場合には、外力目標生成部27は、次にS135の処理を実行する。このS135では、外力目標生成部27は、第2実施形態におけるS69と同じ処理によって、第2必要条件を満足するように、仮想面摩擦力成分修正量f_iを制限してなる仮想面摩擦力成分制限修正量f_lim_iを決定すると共に、第4必要条件を満足するように、仮想面ねじり力R_iを制限してなる仮想面制限ねじり力R_lim_iを決定する。
一方、前記S127の判断結果が否定的である場合には、外力目標生成部27は、S129の処理を実行した後、上記S135の処理を実行する。
この場合、S129では、外力目標生成部27は、前記第3必要条件を満足するように、内力修正量ΔIN_nを制限してなる内力制限修正量ΔIN_lim_nを決定する。具体的には、S127の判断結果が否定的となった対向仮想面Sna,Snbに関して、S15までの処理で決定された仮想面垂直抗力成分N_na,Nnbの大きさをそれぞれ、ΔIN_lim_nだけ変化させた後の仮想面垂直抗力成分N_na,Nnbの大きさのうちの小さい方の大きさ(ΔIN_lim_nによる修正後の内力の大きさ)が前記内力上限値IFC_nに一致するように(あるいは、IFC_nよりも若干小さい値となるように)、ΔIN_lim_nを決定する。
なお、S01で設定される仮想面群が2組以上の対向仮想面Sna,Snbを有する場合において、S127の判断結果が否定的とならない対向仮想面Sna,Snbに関しては、S125で算出された内力修正量ΔIN_nがそのまま、内力制限修正量ΔIN_lim_nとして決定される。
そして、S129の処理に続くS135の処理では、対向仮想面Sna,Snbのそれぞれの摩擦力上限値及びねじり力上限値を決定するための仮想面垂直抗力成分N_na,N_nbの大きさとしては、S15までの処理で決定された仮想面垂直抗力成分の大きさを、S129で決定されたΔIN_lim_nにより修正してなる値が用いられる。
なお、S129の処理に続くS135の処理においては、S01で設定された全ての仮想面について、S125で算出されたf_iによる修正後の仮想面摩擦力成分F_iが第2必要条件を満足し、且つ、S125で算出されたR_iが第4必要条件を満足するものとなっている場合もある。この場合には、S125で算出されたf_i,R_iがそのまま各仮想面における仮想面摩擦力成分制限修正量f_lim_i、仮想面制限ねじり力R_lim_iとして決定されることとなる。
また、図示は省略したが、本実施形態では、S127の判断結果と、S131の判断結果とがそれぞれ肯定的、否定的となった場合におけるS135の処理では、後の処理の便宜上、S125で算出された内力修正量ΔIN_nがそのまま内力制限修正量ΔIN_lim_nとして決定される。
上記の如くΔIN_lim_n、f_lim_i、R_lim_iを決定した後、外力目標生成部27は、次に、S137の処理を実行する。このS137では、外力目標生成部27は、前記モーメント偏差errMのうち、ΔIN_lim_nとf_lim_iとR_lim_iとの組によって解消できない偏差成分としての残偏差成分errM'を算出する。
具体的には、外力目標生成部27は、各仮想面において、制限前の仮想面摩擦力成分修正量f_iと仮想面摩擦力成分制限修正量f_lim_iとの差Δf_i(=f_i−f_lim_i)を算出すると共に、制限前の仮想面ねじり力R_iと仮想面制限ねじり力R_lim_iとの差ΔR_i(=R_i−R_lim_i)とを算出する。さらに、外力目標生成部27は、制限前の内力修正量ΔIN_nと内力制限修正量ΔIN_lim_iとの差ΔΔIN_n(=ΔIN_n−ΔIN_lim_n)を算出する。
そして、外力目標生成部27は、前記式13の右辺における縦ベクトル(f_i R_i ΔIN_n)Tの成分f_i,R_i,ΔIN_nをそれぞれに対応するΔf_i,ΔR_i,ΔΔIN_nに置き換え、且つ、前記式13の左辺をerrM'に置き換えた式によって、残偏差成分errM’を算出する。
なお、式13の右辺における縦ベクトル(f_i R_i ΔIN_n)Tの成分f_i,R_i,ΔIN_nを、それぞれf_lim_i,R_lim_i,ΔIN_lim_nに置き換えた式によって、これらのf_lim_i,R_lim_i,ΔIN_lim_nに起因してモーメント基準点周りに発生するモーメントを算出し、このモーメントを、モーメント偏差errMから差し引くことによって、残偏差成分errM'を算出するようにしてもよい。
次いで、外力目標生成部27は、図18のS139からの処理を実行する。この場合、S139からS143までの処理は、第2実施形態におけるS73からS77までの処理と同じである。
そして、S143の判断結果が肯定的である場合には、外力目標生成部27は、外力目標S145の処理を実行し、今回時刻での処理を終了する。このS145の処理では、外力目標生成部27は、第2実施形態におけるS79と同様の処理によって、今回時刻での各接触対象面からロボット1の目標外力と目標外力作用点とを確定する。
具体的には、外力目標生成部27は、S15までの処理で決定した各仮想面における仮想面必要並進力(N_i,F_i)と、S135までの処理で決定した内力制限修正量ΔIN_lim_nと仮想面摩擦力成分制限修正量f_lim_iとから、今回時刻での各仮想面における仮想面必要並進力を確定する。この場合、対向仮想面Sna,Snbについては、S15までの処理で決定した仮想面垂直抗力成分N_na,N_nbの大きさをΔIN_lim_nにより変化させてなる垂直抗力成分が、該対向仮想面Sna,Snbにおける仮想面垂直抗力成分として確定されると共に、その他の各仮想面については、S15までの処理で決定した仮想面垂直抗力成分N_iが、そのまま該仮想面における仮想面垂直抗力成分として確定される。また、いずれの仮想面についても、S15までの処理で決定した仮想面摩擦力成分F_iに仮想面摩擦力成分制限修正量f_lim_iを加え合わせてなる摩擦力成分が、該仮想面における仮想面摩擦力成分として確定される。
また、外力目標生成部27は、S135の処理で決定した仮想面制限ねじり力R_lim_iを、このR_lim_iに対応する仮想面における仮想面ねじり力として確定する。
そして、外力目標生成部27は、以上の如く確定した各仮想面における仮想面必要並進力と仮想面ねじり力とを、S79と同様の処理によって、該仮想面に対応する接触対象面からロボット1に作用させる並進力及びねじり力にそれぞれ変換することによって、目標外力の構成要素である目標並進力と目標ねじり力とを決定する。
また、外力目標生成部27は、S141で決定した仮想面上外力作用点修正量Δrpc_iによる修正後の各仮想面上の外力作用点を該仮想面に対応する接触対象面上に逆投影してなる点を、該接触対象面上の目標外力作用点として決定する。
また、S143の判断結果が否定的となる場合には、外力目標生成部27は、S147の処理を実行した後、図7のS13からの処理を改めて実行する。この場合、S147では、外力目標生成部27は、対向仮想面Sna,Snbにおける仮想面垂直抗力成分N_na,N_nbの大きさの増加量IN_n(詳しくは、S15までの処理で決定された仮想面垂直抗力成分N_na,N_nbからの増加量)を決定する。この場合、本実施形態では、S83で決定する増加量IN_nは、あらかじめ定められた所定値に設定される。
なお、このようにS13からの処理を改めて実行する場合には、S21の処理の次に、S121の判断処理を行うことなく(あるいは、S121の判断結果に依存することなく)、S61からの処理を実行するようにしてもよい。
以上が、本実施形態における外力目標生成部27の処理の詳細である。
以上説明した外力目標生成部27の処理によって、まず、S05〜S15の処理によって、第1実施形態と同様に、ロボット1全体の並進運動に係わる前記補償総並進外力Fall_adを実現するために必要な仮想面必要並進力(N_i,F_i)が暫定的に決定される。このため、前記補償総並進外力Fall_adを実現し得る仮想面必要並進力(N_i,F_i)の暫定値を簡素なアルゴリズムによって効率よく決定することができる。
また、第1実施形態と同様に、S07、S09の判断結果がいずれも否定的となる場合、あるいは、S07、S09、S15の判断結果がそれぞれ、否定的、肯定的、否定的となる場合に、ロボット1の運動状態が不適切であると評価され、外力目標生成部27の処理が中止される。このため、第1実施形態と同様に、前記補償総並進外力Fall_adを実現するために、接触対象面とロボット1との間の摩擦力が過大になりやすいロボット1の運動状態、あるいは、内力が過大になりやすいロボット1の運動状態を、簡素なアルゴリズムで効率よく不適切であると評価することができる。ひいては、ロボット1の運動を安定に行なうことが困難となる状況で、該ロボット1の運動を継続してしまうような事態が発生するのを防止する(例えばロボット1の運動を停止する)ことができる。
そして、本実施形態では、このように補償総並進外力Fall_adを実現し得る仮想面必要並進力(N_i,F_i)の暫定値を決定した上で、S19、S21、S61〜S75の処理(S67の処理を除く)、又はS19、S21、S123〜S141(S133の処理を除く)によって、ロボット1全体の回転運動に係わる補償総モーメント外力Mall_adを実現するための付加的な操作量(モーメント補償量)として、前記仮想面摩擦力成分修正量f_iと仮想面ねじり力R_iとの組、あるいは、f_iとR_limiと内力修正量ΔIN_nとの組、あるいは、f_lim_iとR_lim_iとΔrpc_iと内力制限修正量ΔIN_lim_nとの組が決定される。
このため、第1実施形態の場合と同様に、S05〜S15の処理によって決定した仮想面必要並進力(N_i,F_i)の暫定値と、S19、S21、S61〜S75の処理(S67の処理を除く)、又はS19、S21、S123〜S141(S133の処理を除く)によって決定したモーメント補償量とを単純に組合わせるだけで、補償総並進外力Fall_adと補償総モーメント外力Mall_adとの両方を適切に実現できる仮想面上必要並進力と仮想面上ねじり力と仮想面上外力作用点との組(仮想面上ねじり力が“0”になる場合を含む)を決定することができることとなる。そして、この仮想面上必要並進力と仮想面上ねじり力と仮想面上外力作用点との組から、各接触対象面からロボット1に作用させるべき目標外力(目標並進力及び目標ねじり力)と目標外力作用点とを効率よく適切に決定できることとなる。
また、図7に示したS09及びS15、並びにS81のいずれかの判断結果が否定的となる場合(ロボット1の運動状態が不適切である場合)を除いて、第1実施形態と同様に、今回時刻での各接触対象面に対応する各仮想面における最終的な仮想面必要並進力(仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとの組)は、結果的に、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足するように決定される。
そして、各仮想面に対応する接触対象面における並進外力の目標値(目標並進力)は、その垂直抗力成分(接触対象面に垂直な成分)と摩擦力成分(接触対象面に平行な成分)とが、それぞれ、該仮想面における仮想面垂直抗力成分N_iと仮想面摩擦力成分F_iとに一致するように決定される。
このため、第1実施形態と同様に、各接触対象面からロボット1への目標並進力は、可能な限り、各接触対象面における目標並進力のうちの垂直抗力成分の合力によって前記必要総並進外力を実現すると共に、該目標並進力のうちの摩擦力成分を、該接触対象面で発生可能な摩擦力の大きさの限界内で可能な限り小さくなるように、各接触対象面からロボットへの目標並進力を決定できる。
また、S01で設定される仮想面が対向仮想面Sna,Snbを含む場合において、ロボット1の運動状態が不適切であると判断される場合と除いて、第1実施形態と同様に、これらの対向仮想面Sna,Snbの間でロボット1に発生する内力の大きさ(N_na,N_nbの大きさのうちの小さい方の大きさ)を、前記第1A必要条件、第1B必要条件、第2必要条件及び第3必要条件を満足し得る範囲内で、必要最低限に留めることができる。従って、第1実施形態と同様に、ロボット1の関節アクチュエータ11が発生可能な動力(本実施形態では駆動トルク)のうち、該内力を発生するために必要な負担分を軽減することができるように対向仮想面Sna,Snbに対応する2つの接触対象面を含む各接触対象面における目標並進力を決定できる。
ここで、以上説明した本実施形態と本願発明との対応関係を補足しておく。本実施形態ででは、制御ユニット21の外力目標生成部27が本発明における目標運動評価装置としての機能を有する。
そして、この外力目標生成部27が実行する処理のうち、S01の処理によって、本発明における仮想面群設定手段が実現される。
また、S02の処理によって、本発明における基本必要総並進外力決定手段が実現される。
この場合、前記必要総並進外力Falllが本発明における基本必要総並進外力に相当する。
また、S03の処理によって、本発明における並進外力補償量決定手段が実現される。この場合、本実施形態では、本発明における運動状態量として、ロボット1の全体重心点の位置が使用され、前記偏差ΔPgが本発明における運動状態量偏差に相当する。
また、S05の処理によって、第1A必要条件と第1B必要条件とを満足するように仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S07〜S17の処理によって、運動状態評価手段が実現される。この場合、S07の判断処理によって、本発明における第1判断手段が実現される。また、S09の判断処理によって、本発明における第2判断手段が実現される。また、S15の判断処理によって、本発明における第3判断手段が実現される。
また、本実施形態では、それを別の観点でみると、S05〜S13の処理(S09の判断結果が否定的となる場合を除く)によって、あるいは、S05〜S21の処理(S09又はS15の判断結果が否定的となる場合を除く)とS61〜S83の処理(S81の判断結果が否定的となる場合とS121の判断結果が肯定的となる場合を除く)とこれに続くS13の処理とによって、あるいは、S05〜S21の処理(S09又はS15の判断結果が否定的となる場合を除く)とS123〜S147の処理とこれに続くS13の処理とによって、第1A必要条件と第1B必要条件と第2必要条件とを満足するように仮想面必要並進力を算出する仮想面必要並進力算出手段が実現される。
そして、この場合、S15及びS17の判断処理によって、本発明における運動状態評価手段が実現されると共に、S15の判断処理によって、本発明における第4判断手段が実現される。
なお、以上説明した各実施形態では、前記壁登り歩容のように、ロボット1の外界(動作環境)に互いに間隔を存して対向する接触対象面WL1,WL2が存在する場合を想定して説明したが、本発明は、互いに間隔を存して対向する接触対象面が存在しない動作環境でロボットの運動を行なわせる場合にも適用できる。例えば、互いに交差する3つの接触対象面、あるいは2つの接触対象面にロボットの複数の部位を接触させながら、ロボットの運動を行なわせる場合にも本発明を適用できる。
前記壁登り歩容以外の目標運動の例を図19及び図20に示す。
図19(a)〜(e)は、例えば互いに交差する2つの接触対象面として、床面FLと壁面WL1とが存在する動作環境で、ロボット1の運動を行なわせるための一例の目標運動における該ロボット1の瞬時的な動作状態を時系列順に示している。
この目標運動は、次のような形態の運動である。すなわち、図19(a)に示すようにロボット1が2つのリンク機構5a,5bを床面FLに接地させて起立した状態から、図19(b)に示すように、リンク機構5c,5dを壁面WL1に接触させる。そして、この状態で、基体3を壁面WL1に近づけて、図19(c)に示す如く、該基体3を壁面WL1に寄り掛からせるように接触させる。その後、図19(d)に示すように、リンク機構5c,5dにより壁面WL1を押すことによって、基体3を壁面WL1から離反させ、最終的に、図19(e)に示す如く、リンク機構5c,5dを壁面WL1から離反させる。
また、図20(a)〜(d)は、例えば互いに交差する3つの接触対象面として、床面FLと2つの壁面WL1,WL3とが存在する動作環境(例えば屋内の部屋の隅部)で、ロボット1の運動を行なわせるための一例の目標運動における該ロボット1の瞬時的な動作状態を時系列順に示している。なお、図20(a)〜(d)は、ロボット1と動作環境とを上方から見た平面視で示している。そして、図20(a)〜(d)の各図では、ロボット1はリンク機構5a,5d(図示省略)を床面FLに接地させて起立している。
この運動は、次のような形態の運動である。すなわち、図20(a)に示すようにロボット1が床面FL上に接地させて起立した状態から、図20(b)に示すように、リンク機構5c,5dをそれぞれ壁面WL1,WL3に接触させる。そして、この状態で、基体3を壁面WL3に近づけて、図20(c)に示す如く、該基体3を壁面WL3に寄り掛からせるように接触させる。その後、リンク機構5c,5dによりそれぞれ壁面WL1,WL2を押すことによって、図20(d)に示すように、基体3とリンク機構5cとを壁面WL1から離反させると共に、リンク機構5dを壁面WL3から離反させる。
図19又は図20に示したような目標運動でロボット1の運動を行なう場合においても、前記した各実施形態における外力目標生成部27の処理によって、ロボット1に各接触対象面FL,WL1から作用させるべき目標外力と目標外力作用点とを適切に決定できる。
なお、この場合、図19に示した目標運動に係わる外力目標生成部27の処理において、前記S01の処理で設定される仮想面は、図19(a),(e)に示す動作状態では、1つの仮想面(図示例では仮想面S3a)であり、図19(b)〜(d)に示す動作状態では、2つの仮想面(図示例では仮想面S2a,S3a)である。
また、図20に示した目標運動に係わる外力目標生成部27の処理において、前記S01の処理で設定される仮想面は、図20(a),(d)に示す動作状態では、1つの仮想面(図示例では仮想面S3a)であり、図20(b),(c)に示す動作状態では、3つの仮想面(図示例では仮想面S1a,S2a,S3a)である。
なお、図19又は図20に例示した場合のように、ロボット1の動作環境に対向仮想面Sna,Snbに対応する接触対象面が存在しない場合には、図7のS09、図9のS43、図15のS81、図16のS101、図17のS121の判断処理の判断結果が常に否定的となる。従って、これらの判断結果が肯定的となる場合に専用的な処理は不要である。
1…脚式移動ロボット、27…外力目標生成部(目標運動評価装置)、S01…仮想面群設定手段、S02…基本必要総並進外力決定手段、S03…並進外力補償量決定手段、S05…仮想面必要並進力算出手段、S07〜S17…運動状態評価手段、S07…第1判断手段、S09…第2判断手段、S15…第3判断手段、S05〜S37…仮想面必要並進力算出手段、S39〜S45、S13〜S17…運動状態評価手段、S39…第1判断手段、S43…第2判断手段、S15…第3判断手段、S05〜S13…仮想面必要並進力算出手段、S15,S17…運動状態評価手段、S15…第4判断手段、S05〜S45…仮想面必要並進力算出手段、S15,S17…運動状態評価手段、S15…第4判断手段、S05〜S21,S61〜S83,S13…仮想面必要並進力算出手段、S15,S17…運動状態評価手段、S15…第4判断手段、S05〜S33,S103,S105…仮想面必要並進力算出手段、S107〜S115,S13〜S17…運動状態評価手段、S109…第1判断手段、S113…第2判断手段、S15…第3判断手段、S05〜S33,S103〜S115,S13…仮想面必要並進力算出手段、S15,S17…運動状態評価手段、S15…第4判断手段、S05〜S21,S123〜S147,S13…仮想面必要並進力算出手段、S15,S17…運動状態評価手段、S15…第4判断手段。

Claims (5)

  1. 脚式移動ロボットの動作環境に存する互いに異なる複数の接触対象面に該ロボットの複数の部位を接触させながら、該ロボットの運動を行なわせるための該ロボットの目標運動に該ロボットの実際の運動を追従させるように該ロボットの動作制御を行っている状態での該ロボットの運動状態を評価する運動状態評価装置であって、
    相互の姿勢関係があらかじめ定められた複数の仮想面から成る仮想面群を用い、該仮想面群の複数の仮想面が前記複数の接触対象面に一致又は近似する面になるように、該仮想面群を前記ロボットの動作環境の空間に仮想的に設定する仮想面群設定手段と、
    前記目標運動に基づいて、該目標運動を実現するために前記ロボットに作用させるべきトータルの外力のうちの並進力成分である基本必要総並進外力を決定する基本必要総並進外力決定手段と、
    前記ロボットの所定の運動状態量の観測値と、前記目標運動における該運動状態量の目標値との偏差である運動状態量偏差を逐次算出し、該運動状態量偏差に基づいて、該運動状態量偏差を“0”に近づけるために前記ロボットに付加的に作用させるべき並進力である並進外力補償量を決定する並進外力補償量決定手段と、
    前記決定された基本必要総並進外力に前記決定された並進外力補償量を付加してなる補償総並進外力を実現するために前記仮想面群の複数の仮想面のそれぞれから前記ロボットに作用させるべき並進力である仮想面必要並進力を算出する手段であり、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に垂直な成分である仮想面垂直抗力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分を除く成分に一致するという第1A必要条件と、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に平行な成分である仮想面摩擦力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分に一致するという第1B必要条件と少なくとも満足するように、各仮想面における仮想面必要並進力を算出する仮想面必要並進力算出手段と、
    少なくとも前記算出された仮想面必要並進力に基づいて、前記ロボットの運動状態を評価する運動状態評価手段とを備えたことを特徴とする脚式移動ロボットの運動状態評価装置。
  2. 請求項1記載の脚式移動ロボットの運動状態評価装置において、
    前記運動状態評価手段は、各仮想面における仮想面必要並進力のうちの仮想面摩擦力成分の大きさが、少なくとも該仮想面における仮想面垂直抗力成分に応じて設定した第1所定値以下になるという第2必要条件を、前記算出された仮想面必要並進力が満足するか否かを判断する第1判断手段を備え、少なくとも、該第1判断手段の判断結果が否定的となり、且つ、該第1A必要条件及び第1B必要条件と、前記第2必要条件とを満足させ得るように前記算出された仮想面必要並進力を修正することができない場合に、前記ロボットの運動状態が不適切であると評価することを特徴とする脚式移動ロボットの運動状態評価装置。
  3. 請求項2記載の脚式移動ロボットの運動状態評価装置において、
    前記運動状態評価手段は、前記第1判断手段の判断結果が否定的となった場合において、該判断結果が否定的となった仮想面が、前記仮想面群のうちの互いに間隔を存して対向する2つの仮想面である対向仮想面に属する仮想面であるか否かを判断する第2判断手段を備え、前記第1判断手段の判断結果と前記第2判断手段の判断結果とがいずれも否定的となる場合に、前記ロボットの運動状態が不適切であると判断することを特徴とする脚式移動ロボットの運動状態評価装置。
  4. 請求項3記載の脚式移動ロボットの運動状態評価装置において、
    前記運動状態評価手段は、前記第2判断手段の判断結果が肯定的となった場合において、前記第1判断手段の判断結果が否定的となった仮想面を含む2つの対向仮想面における前記算出された仮想面必要並進力のうちの仮想面垂直抗力成分を、前記2つの対向仮想面のそれぞれにおける仮想面垂直抗力成分のうち、小さい方の垂直抗力成分の大きさがあらかじめ設定された第2所定値以下であるという第3必要条件と、前記第1A必要条件及び第2必要条件とを満足させ得るように修正することができるか否かを判断する第3判断手段を備え、前記第1判断手段の判断結果と前記対向仮想面判断手段の判断結果と前記第3判断手段の判断結果とがそれぞれ、否定的、肯定的、否定的となる場合に、前記ロボットの運動状態が不適切であると判断することを特徴とする脚式移動ロボットの運動状態評価装置。
  5. 脚式移動ロボットの動作環境に存する互いに異なる複数の接触対象面に該ロボットの複数の部位を接触させながら、該ロボットの運動を行なわせるための該ロボットの目標運動に該ロボットの実際の運動を追従させるように該ロボットの動作制御を行っている状態での該ロボットの運動状態を評価する運動状態評価装置であって、
    相互の姿勢関係があらかじめ定められた複数の仮想面から成る仮想面群を用い、該仮想面群の複数の仮想面が前記複数の接触対象面に一致又は近似する面になるように、該仮想面群を前記ロボットの動作環境の空間に仮想的に設定する仮想面群設定手段と、
    前記目標運動に基づいて、該目標運動を実現するために前記ロボットに作用させるべきトータルの外力のうちの並進力成分である基本必要総並進外力を決定する基本必要総並進外力決定手段と、
    前記ロボットの所定の運動状態量の観測値と、前記目標運動における該運動状態量の目標値との偏差である運動状態量偏差を逐次算出し、該運動状態量偏差に基づいて、該運動状態量偏差を“0”に近づけるために前記ロボットに付加的に作用させるべき並進力である並進外力補償量を決定する並進外力補償量決定手段と、
    前記決定された基本必要総並進外力に前記決定された並進外力補償量を付加してなる補償総並進外力を実現するために前記仮想面群の複数の仮想面のそれぞれから前記ロボットに作用させるべき並進力である仮想面必要並進力を算出する手段であり、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に垂直な成分である仮想面垂直抗力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分を除く成分に一致するという第1A必要条件と、前記複数の仮想面のそれぞれにおける仮想面必要並進力のうちの該仮想面に平行な成分である仮想面摩擦力成分の合力が、前記補償総並進外力のうちの、前記仮想面群の全ての仮想面に対して平行な成分に一致するという第1B必要条件と、各仮想面における仮想面必要並進力のうちの仮想面摩擦力成分の大きさが、少なくとも該仮想面における仮想面垂直抗力成分に応じて設定した第1所定値以下になるという第2必要条件とを少なくとも満足するように、各仮想面における仮想面必要並進力を算出する仮想面必要並進力算出手段と、
    少なくとも前記算出された仮想面必要並進力に基づいて、前記ロボットの運動状態を評価する運動状態評価手段とを備え、
    前記運動状態評価手段は、前記仮想面群のうち、互いに間隔を存して対向する前記2つの接触対象面に対応する2つの仮想面である対向仮想面のそれぞれにおける仮想面垂直抗力成分のうち、小さい方の垂直抗力成分の大きさがあらかじめ設定された第2所定値以下であるという第3必要条件を、前記対向仮想面に関して前記算出された仮想面必要並進力が満足するか否かを判断する第4判断手段を備え、
    該第4判断手の判断結果が否定的となり、且つ、前記第1A必要条件と、前記第3必要条件とを満足させ得るように、前記対向仮想面に関して前記算出された仮想面必要並進力のうちの仮想面垂直抗力成分を修正することができない場合に、前記ロボットの運動状態が不適切であると評価することを特徴とする脚式移動ロボットの運動状態評価装置。
JP2010044713A 2010-03-01 2010-03-01 脚式移動ロボットの運動状態評価装置 Active JP5398592B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010044713A JP5398592B2 (ja) 2010-03-01 2010-03-01 脚式移動ロボットの運動状態評価装置
US13/036,298 US8442680B2 (en) 2010-03-01 2011-02-28 Motion state evaluation apparatus of legged mobile robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010044713A JP5398592B2 (ja) 2010-03-01 2010-03-01 脚式移動ロボットの運動状態評価装置

Publications (2)

Publication Number Publication Date
JP2011177839A true JP2011177839A (ja) 2011-09-15
JP5398592B2 JP5398592B2 (ja) 2014-01-29

Family

ID=44505721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010044713A Active JP5398592B2 (ja) 2010-03-01 2010-03-01 脚式移動ロボットの運動状態評価装置

Country Status (2)

Country Link
US (1) US8442680B2 (ja)
JP (1) JP5398592B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015087504A1 (ja) * 2013-12-10 2015-06-18 トヨタ自動車株式会社 移動ロボットの移動制御方法、および、移動ロボット
JPWO2017135053A1 (ja) * 2016-02-04 2018-08-09 シャープ株式会社 ロボット、ロボットの制御方法、制御プログラムおよび記録媒体

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8428780B2 (en) * 2010-03-01 2013-04-23 Honda Motor Co., Ltd. External force target generating device of legged mobile robot
JP5398589B2 (ja) * 2010-03-01 2014-01-29 本田技研工業株式会社 脚式移動ロボットの目標運動評価装置
JP5398592B2 (ja) * 2010-03-01 2014-01-29 本田技研工業株式会社 脚式移動ロボットの運動状態評価装置
US8396593B2 (en) * 2010-03-01 2013-03-12 Honda Motor Co., Ltd. Gait generating device of legged mobile robot
JP5991857B2 (ja) * 2011-06-10 2016-09-14 三星電子株式会社Samsung Electronics Co.,Ltd. ロボットの均衡制御装置及びその制御方法
JP5962020B2 (ja) * 2012-01-17 2016-08-03 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット及びロボット制御方法
JP5966372B2 (ja) 2012-01-17 2016-08-10 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット制御方法及びロボット
US9272421B2 (en) * 2013-01-07 2016-03-01 Milos Misha Subotincic Visually controlled end effector
US9440353B1 (en) * 2014-12-29 2016-09-13 Google Inc. Offline determination of robot behavior
JP6447278B2 (ja) * 2015-03-18 2019-01-09 トヨタ自動車株式会社 多点接触ロボット、多点接触ロボットの制御方法及びプログラム
US10589810B2 (en) * 2015-04-02 2020-03-17 Osaka University Legged mechanism, walking robot, method for controlling posture, and recording medium
CN112572634B (zh) * 2020-11-16 2023-03-31 长春工业大学 一种轮足混合行走机器人结构及控制系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57102782A (en) * 1980-12-12 1982-06-25 Mitsubishi Heavy Ind Ltd Travelling device
JPS62185907U (ja) * 1986-05-20 1987-11-26
JPH03111182A (ja) * 1989-09-22 1991-05-10 Res Dev Corp Of Japan 3次元運動機構

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4826392A (en) * 1986-03-31 1989-05-02 California Institute Of Technology Method and apparatus for hybrid position/force control of multi-arm cooperating robots
JPH04246638A (ja) 1991-01-31 1992-09-02 Canon Inc カメラの磁気再生装置
US5872893A (en) * 1996-07-25 1999-02-16 Honda Giken Kogyo Kabushiki Kaisha Gait generation system of legged mobile robot
WO2003057423A1 (fr) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de production de demarche pour robot se deplaçant sur des jambes
WO2003061917A1 (fr) 2002-01-18 2003-07-31 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot bipede
US7603199B2 (en) * 2003-11-27 2009-10-13 Honda Motor Co., Ltd. Control device for mobile body
US7734375B2 (en) * 2004-06-09 2010-06-08 Boston Dynamics Robot and robot leg mechanism
US8066088B2 (en) * 2004-12-09 2011-11-29 The Board Of Trustees Of The Leland Stanford Junior University Biologically inspired climbing device
US7339340B2 (en) * 2005-03-23 2008-03-04 Harris Corporation Control system and related method for multi-limbed, multi-legged robot
US7554787B2 (en) * 2006-06-05 2009-06-30 Sri International Wall crawling devices
KR100812724B1 (ko) * 2006-09-29 2008-03-12 삼성중공업 주식회사 실내 위치측정시스템을 이용한 벽면 이동 로봇
WO2008076194A2 (en) * 2006-11-13 2008-06-26 Raytheon Sarcos Llc Serpentine robotic crawler
US8428780B2 (en) * 2010-03-01 2013-04-23 Honda Motor Co., Ltd. External force target generating device of legged mobile robot
JP5398592B2 (ja) * 2010-03-01 2014-01-29 本田技研工業株式会社 脚式移動ロボットの運動状態評価装置
JP5398589B2 (ja) * 2010-03-01 2014-01-29 本田技研工業株式会社 脚式移動ロボットの目標運動評価装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57102782A (en) * 1980-12-12 1982-06-25 Mitsubishi Heavy Ind Ltd Travelling device
JPS62185907U (ja) * 1986-05-20 1987-11-26
JPH03111182A (ja) * 1989-09-22 1991-05-10 Res Dev Corp Of Japan 3次元運動機構

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015087504A1 (ja) * 2013-12-10 2015-06-18 トヨタ自動車株式会社 移動ロボットの移動制御方法、および、移動ロボット
JPWO2015087504A1 (ja) * 2013-12-10 2017-03-16 トヨタ自動車株式会社 移動ロボットの移動制御方法、および、移動ロボット
JPWO2017135053A1 (ja) * 2016-02-04 2018-08-09 シャープ株式会社 ロボット、ロボットの制御方法、制御プログラムおよび記録媒体

Also Published As

Publication number Publication date
JP5398592B2 (ja) 2014-01-29
US20110213496A1 (en) 2011-09-01
US8442680B2 (en) 2013-05-14

Similar Documents

Publication Publication Date Title
JP5398592B2 (ja) 脚式移動ロボットの運動状態評価装置
JP5398589B2 (ja) 脚式移動ロボットの目標運動評価装置
US8428780B2 (en) External force target generating device of legged mobile robot
JP3790816B2 (ja) 人型リンク系の運動生成方法
KR100709556B1 (ko) 인간형 로봇의 보행 제어 방법
JP2001157973A (ja) ロボットの歩行制御装置及び歩行制御方法
US9597798B2 (en) Control method of robot apparatus and robot apparatus
KR20020086468A (ko) 각식 이동 로봇을 위한 동작 제어 장치 및 동작 제어방법, 및 로봇 장치
JP2001277159A (ja) 脚式移動ロボット及びその制御方法、並びに、脚式移動ロボット用相対移動測定センサ
Kim et al. Computationally-robust and efficient prioritized whole-body controller with contact constraints
US8396593B2 (en) Gait generating device of legged mobile robot
Li et al. Force-and-moment-based model predictive control for achieving highly dynamic locomotion on bipedal robots
Lim et al. Backward ladder climbing locomotion of humanoid robot with gain overriding method on position control
Figueroa et al. A dynamical system approach for adaptive grasping, navigation and co-manipulation with humanoid robots
JP5398591B2 (ja) 脚式移動ロボットの外力目標生成装置
JP5398590B2 (ja) 脚式移動ロボットの外力目標生成装置
JP5099733B2 (ja) 脚式移動ロボットの制御装置
JP5398588B2 (ja) 脚式移動ロボットの歩容生成装置
JP2003117858A (ja) ロボットの歩行制御装置及び歩行制御方法
JP3555945B2 (ja) ロボット装置のためのモーション編集装置及びモーション編集方法、ロボット装置及びロボット装置の制御方法、並びにコンピュータ・プログラム
JP5398587B2 (ja) 脚式移動ロボットの歩容生成装置
Pournazhdi et al. Dynamic modeling and sliding mode control for fast walking of seven-link biped robot
Bazargan-Lari et al. A More Realistic Replica of a Walking Biped for Implying Dynamics and Control On Ascending and Descending Stairs by Considering Self-Impact Joint Constraint
JP4707290B2 (ja) 脚式移動ロボットの動作制御装置及び動作制御方法
CN117260718A (zh) 一种四足机器人的自适应载荷补偿控制方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131022

R150 Certificate of patent or registration of utility model

Ref document number: 5398592

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250