(57)【特許請求の範囲】
【請求項１】
少なくとも複数本の可動脚を備えた脚式移動ロボットであって、
前記可動脚の足裏に配設された、足部と路面との滑りによる相対移動量を測定する相対移動測定センサと、
前記相対移動測定センサにより測定された足部と路面との相対移動量に基づいて前記脚式移動ロボットの動作を制御する制御部と、
を具備することを特徴とする脚式移動ロボット。
【請求項２】
前記相対移動測定センサは、路面平行方向に対する足部の相対移動量、及び、路面法線まわりの回転の相対移動量を測定することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項３】
前記相対移動測定センサは、足裏から表面の一部が露出するとともに回転自在に取り付けられたボールと、該ボールの第１方向の回転を検出する第１の回転部と、該ボールの第２方向の回転を検出する第２の回転部と、前記第１及び第２の回転部の検出出力に基づいて、足部の路面に対する第１及び第２の方向に対する相対移動量を演算する演算部とを備えることを特徴とする請求項１に記載の脚式移動ロボット。
【請求項４】
前記相対移動測定センサは、足部の接地面を撮像する撮像手段と、前記撮像手段による所定時間毎の撮像画像どうしを比較する画像処理手段と、前記画像処理手段による画像比較結果に基づいて該所定時間毎の足部の路面に対する相対移動量を算出する演算手段とを備えることを特徴とする請求項１に記載の脚式移動ロボット。
【請求項５】
前記相対移動測定センサは足部の路面平行方向の相対移動量を測定可能であり、
所定の時間間隔で測定された足部の路面平行方向の相対移動量を時系列に従ってつなぎ合わせていくことで路面法線まわりの回転の相対移動量を算出することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項６】
１つの足部には２以上の相対移動測定センサが離間して配設され、各相対移動測定センサの測定結果どうしを比較することによって、該足部の路面法線まわりの回転の相対移動量を算出することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項７】
前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項８】
前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止し、さらに移動作業を継続可能か否かを判断することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項９】
前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止し、さらに移動作業を継続可能か否かを判断し、移動作業を継続不能と判断したときに所定の救援要求動作を実行することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項１０】
前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止し、さらに該路面の状況を探索することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項１１】
前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止し、さらに該路面の状況を探索し、該探索結果に応じた行動を実行することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項１２】
前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面用の安全な移動動作パターンに移行することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項１３】
前記安全な移動動作パターンは、足部が路面接地時の入射角を大きくとるか、移動速度を低下させるか、各可動脚による歩幅を小さくするか、又はＺＭＰ軌道を修正するかのうち少なくとも１つであることを特徴とする請求項１２に記載の脚式移動ロボット。
【請求項１４】
前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面を探索しながらの移動動作に移行することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項１５】
前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面に適した足底の選択処理を実行することを特徴とする請求項１に記載の脚式移動ロボット。
【請求項１６】
少なくとも複数本の可動脚を備えた脚式移動ロボットの制御方法であって、
各可動脚が接地しているときに足部と路面と滑りによる相対移動量を測定する測定ステップと、
測定された足部と路面との相対移動量に基づいて前記脚式移動ロボットの動作を制御する制御ステップと、
を具備することを特徴とする脚式移動ロボットの制御方法。
【請求項１７】
前記測定ステップでは、路面平行方向に対する足部の相対移動量、及び、路面法線まわりの回転の相対移動量を測定することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項１８】
さらに、前記測定ステップにおいて所定の時間間隔で測定された足部の路面平行方向の相対移動量を時系列に従ってつなぎ合わせていくことで路面法線まわりの回転の相対移動量を算出する演算ステップを具備することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項１９】
前記測定ステップでは、離間した２箇所以上で足部と路面との相対移動量を測定し、さらに、２箇所以上で測定された各相対移動量どうしを比較することによって該足部の路面法線まわりの回転の相対移動量を算出する演算ステップを具備することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項２０】
前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項２１】
前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止し、さらに移動作業を継続可能か否かを判断することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項２２】
前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止し、さらに移動作業を継続可能か否かを判断し、移動作業を継続不能と判断したときに所定の救援要求動作を実行することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項２３】
前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止し、さらに該路面の状況を探索することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項２４】
前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止し、さらに該路面の状況を探索し、該探索結果に応じた行動を実行することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項２５】
前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面用の安全な移動動作パターンに移行することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項２６】
前記安全な移動動作パターンは、足部が路面接地時の入射角を大きくとるか、移動速度を低下させるか、各可動脚による歩幅を小さくするか、又はＺＭＰ軌道を修正するかのうち少なくとも１つであることを特徴とする請求項２５に記載の脚式移動ロボットの制御方法。
【請求項２７】
前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面を探索しながらの移動動作に移行することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項２８】
前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面に適した足底の選択処理を実行することを特徴とする請求項１６に記載の脚式移動ロボットの制御方法。
【請求項２９】
少なくとも複数本の可動脚を備えた脚式移動ロボットの足部において適用可能な、足部と路面との相対移動量を測定する相対移動測定センサであって、
表面の一部が露出するとともに回転自在に取り付けられたボールと、
該ボールの第１方向の回転を検出する第１の回転部と、
該ボールの第２方向の回転を検出する第２の回転部と、
前記第１及び第２の回転部の検出出力に基づいて、足部の路面に対する第１及び第２の方向に対する相対移動量を演算する演算部と、
を具備することを特徴とする脚式移動ロボット用相対移動測定センサ。
【請求項３０】
少なくとも複数本の可動脚を備えた脚式移動ロボットの足部において適用可能な、足部と路面との相対移動量を測定する相対移動測定センサであって、
足部の接地面を撮像する撮像手段と、
前記撮像手段による所定時間毎の撮像画像どうしを比較する画像処理手段と、
前記画像処理手段による画像比較結果に基づいて該所定時間毎の足部の路面に対する相対移動量を算出する演算手段と、
を具備することを特徴とする脚式移動ロボット用相対移動測定センサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、少なくとも複数本の可動脚を備えた脚式移動ロボットに係り、特に、様々な路面上を可動脚によって歩行その他の脚式移動作業を行う脚式移動ロボットに関する。
【０００２】
更に詳しくは、本発明は、表面状態が不知の路面上を可動脚によって歩行その他の脚式移動作業を行う脚式移動ロボットに係り、特に、路面の表面状態に応じて適応的な脚式移動作業を行う脚式移動ロボット関する。
【０００３】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の"ＲＯＢＯＴＡ(奴隷機械)"に由来すると言われている。わが国においてロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（industrial robot）であった。
【０００４】
アーム式ロボットのように、ある特定の場所に植設して用いるような据置きタイプのロボットは、部品の組立・選別作業など固定的・局所的な作業空間でのみ活動する。これに対し、移動式のロボットは、作業空間は非限定的であり、所定の経路上または無経路上を自在に移動して、所定の若しくは任意の人的作業を代行したり、ヒトやイヌあるいはその他の生命体に置き換わる種々の幅広いサービスを提供することができる。なかでも脚式の移動ロボットは、クローラ式やタイヤ式のロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段や梯子の昇降や障害物の乗り越えや、整地・不整地の区別を問わない柔軟な歩行・走行動作を実現できるという点で優れている。
【０００５】
最近では、イヌやネコのように４足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトのような２足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間形」若しくは「人間型」のロボット（ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ）など、脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。
【０００６】
人間形若しくは人間型と呼ばれる脚式移動ロボットを研究・開発する意義を、例えば以下の２つの視点から把握することができよう。
【０００７】
１つは、人間科学的な視点である。すなわち、人間の下肢及び／又は上肢に似た構造のロボットを作り、その制御方法を考案して、人間の歩行動作をシミュレートするというプロセスを通じて、歩行を始めとする人間の自然な動作のメカニズムを工学的に解明することができる。このような研究成果は、人間工学、リハビリテーション工学、あるいはスポーツ科学など、人間の運動メカニズムを扱う他のさまざまな研究分野の進展に大いに還元することができるであろう。
【０００８】
もう１つは、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援を行う実用ロボットの開発である。この種のロボットは、人間の生活環境のさまざまな局面において、人間から教わりながら個々に個性の相違する人間又は環境への適応方法を学習し、機能面でさらに成長していく必要がある。このとき、ロボットが「人間形」すなわち人間と同じ形又は同じ構造をしている方が、人間とロボットとのスムースなコミュニケーションを行う上で有効に機能するものと考えられる。
【０００９】
例えば、踏んではならない障害物を避けながら部屋を通り抜ける方法を実地においてロボットに教示するような場合、クローラ式や４足式ロボットのように教える相手が自分と全く違う構造をしているよりも、同じような格好をしている２足歩行ロボットの方が、ユーザ（作業員）ははるかに教え易く、またロボットにとっても教わり易い筈である（例えば、高西著「2足歩行ロボットのコントロール」（自動車技術会関東支部＜高塑＞Ｎｏ．２５，１９９６ＡＰＲＩＬ）を参照のこと）。
【００１０】
人間の作業空間や居住空間のほとんどは、２足による直立歩行という人間が持つ身体メカニズムや行動様式に合わせて形成されている。言い換えれば、人間の住空間は、車輪その他の駆動装置を移動手段とした現状の機械システムが移動するのにはあまりに多くの障壁が存在する。機械システムすなわちロボットが様々な人的作業を支援又は代行し、さらに人間の住空間に深く浸透していくためには、ロボットの移動可能範囲が人間のそれとほぼ同じであることが好ましい。これが、脚式移動ロボットの実用化が大いに期待されている所以でもある。人間型の形態を有していることは、ロボットが人間の住環境との親和性を高める上で必須であると言える。
【００１１】
２足歩行による脚式移動を行うタイプのロボットに関する姿勢制御や安定歩行に関する技術は既に数多提案されている。ここで言う安定な「歩行」とは、「転倒することなく、脚を使って移動すること」と定義することができる。
【００１２】
ロボットの姿勢安定制御は、ロボットの転倒を回避する上で非常に重要である。何故ならば、転倒は、ロボットが実行中の作業を中断することを意味し、且つ、転倒状態から起き上がって作業を再開するために相当の労力や時間が払われるからである。また、何よりも、転倒によって、ロボット本体自体、あるいは転倒するロボットと衝突する相手側の物体にも、致命的な損傷を与えてしまう危険があるからである。したがって、脚式移動ロボットの設計・開発において、姿勢安定制御や歩行時の転倒防止は最も重要な課題の1つである。
【００１３】
歩行時には、重力と歩行運動に伴なって生じる加速度によって、歩行系から路面には重力と慣性力、並びにこれらのモーメントが作用する。いわゆる「ダランベールの原理」によると、それらは路面から歩行系への反作用としての床反力、床反力モーメントとバランスする。力学的推論の帰結として、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にピッチ及びロール軸モーメントがゼロとなる点、すなわち「ＺＭＰ（Zero Moment Point）」が存在する。
【００１４】
脚式移動ロボットの姿勢安定制御や歩行時の転倒防止に関する提案の多くは、このＺＭＰを歩行の安定度判別の規範として用いている。ＺＭＰ規範に基づく２足歩行パターン生成は、足底着地点を予め設定でき、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。また、ＺＭＰを安定度判別規範とすることは、力ではなく軌道を運動制御上の目標値として扱うことを意味するので、技術的に実現可能性が高まる。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic著"LEGGED LOCOMOTION ROBOTS"（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００１５】
しかしながら、脚式移動ロボットは、研究段階からようやく実用化への第１歩を踏み出そうとしているのが現状であり、未だ数多の技術的課題が残されている。例えば、路面の表面状態（整地か不整地か、あるいは摩擦係数など）が脚式歩行に与える影響は非常に大きいが、完全には解決されていない。
【００１６】
一般に、脚式ロボットは予め計画された歩行動作を行う。（例えば、特開昭６２−９７００６号公報には、予め記憶された歩行パターン・データを用いることで、制御プログラムを簡素化するとともに、歩行パターンの各データ間を密につなぐことができる多関節歩行ロボット制御装置について開示されている。）しかしながら、実際の歩行においては、摩擦係数など路面との関係、あるいは他に起因する要素（横風や外力、未知の障害物との干渉など）によって、路面と足底の間で「滑り」などの相対移動が発生することがしばしばある。
【００１７】
４足歩行よりもヒューマノイドのような２足歩行のロボットの方が、重心位置が高く、且つ、歩行時のＺＭＰ安定領域が狭い。したがって、このような路面状態の変化に伴う姿勢変動の問題は、２足歩行ロボットにおいてとりわけ重要となる。
【００１８】
図１〜図４には、脚式移動ロボットが２足歩行を行う様子を示している。各図に示すように、脚式移動ロボットは、通常、以下に示す各動作期間に分割される歩行周期を繰り返すことによって、２足歩行を実現することができる。
（１）右脚を持ち上げた、左脚による単脚支持期（図１を参照のこと）
（２）右足が接地した両脚支持期（図２を参照のこと）
（３）左脚を持ち上げた、右脚による単脚支持期（図３を参照のこと）
（４）左足が接地した両脚支持期（図４を参照のこと）
【００１９】
ロボットの歩行制御においては、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行うようになっている。例えば、両脚支持期では、路面情報を用いた下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。具体的な修正は、ＺＭＰに対する偏差を小さくするための位置、速度、及び加速度が連続となるように５次多項式を用いた補間計算により行う（高西著「2足歩行ロボットのコントロール」（自動車技術会関東支部＜高塑＞Ｎｏ．２５，１９９６ＡＰＲＩＬ）を参照のこと）。
【００２０】
ここで、図１に示すような単脚支持期を例にとって、路面と足底が相対移動（滑り）を発生した場合について考察してみる。２足歩行のロボットにおいては、図示の唯一の立脚が路面に接地する単脚支持期では、軌道計画上、立脚が路面に対して相対移動（滑り）を起こさないことが特に期待されている。
【００２１】
図５には、左脚による単脚支持期に左足が路面に対し相対移動（滑り）を発生した様子を示している。図示の通り、ロボットの左足は、進行方向（ロール軸方向）にΔＸ、その直角方向（ピッチ軸方向）にΔＹだけ相対移動している。すなわち、左足が完全に路面に接地する予定の状態であるため、ロボットが予定又は計画していた軌道と実際の軌道との間には、（ΔＸ，ΔＹ）だけのずれが発生している。
【００２２】
単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する必要がある。ところが、加速度センサやカメラによる視覚認識など、ロボット上に標準的に搭載した検出システムを用いて、路面に対する相対移動（滑り）を正確な量まで測定することは、非常に困難である。このため、ロボットが軌道の補正を正確且つ迅速に行うことができず、予定していた軌道とのずれが相当程度に拡大するまでは相対移動の検出が見過ごされてしまうことになる。計画軌道と実際の軌道が相違する結果として、姿勢安定制御がうまくいかなかったり、回避できたはずの障害物と衝突してしまったりして、ロボットの転倒、ロボットや衝突物の損壊という悪い事態を招来しかねない。
【００２３】
また、図６には、左脚による単脚支持期において、左足が路面に対し路面法線方向（ヨー軸）まわりに回転するという相対移動（滑り）を発生した様子を示している。図示の通り、ロボットの左足は、路面法線に対してΔθだけ回転している。すなわち、左足が完全に路面に接地する予定の状態であるため、ロボットが予定又は計画していた軌道と実際の軌道との間には、Δθだけの回転ずれが発生している。
【００２４】
このような回転ずれを、ジャイロ・センサやカメラによる視覚認識など、ロボット上に標準的に搭載した検出システムを用いて正確な量まで測定することは非常に難しい。また、このような路面法線まわりのずれは、ロボットの進行方向に影響するので、歩行作業を継続した結果、大きな軌道のずれにつながりかねない。
【００２５】
一般的には、各足に相対移動が発生する場合、図５に示すような路面平行面内の相対移動と図６に示すような路面法線まわりの相対移動とが合成して発生する場合が多いので、歩行への影響はますます大きくなる。
【００２６】
このため、足式移動ロボットの脚部の軸力センサを用いて、路面からの反力を測定するなどして相対移動（滑り）の影響を除去するなどの対策を講じることがあるが、影響を完全に取り除くことは極めて困難である。
【００２７】
また、ロボット自身の姿勢をジャイロ・センサや加速度センサを用いて測定したり、あるいはカメラなどの視覚センサを利用して周囲の状況からロボット自身の姿勢を算出したりして、相対移動（滑り）の影響を測定したり、以降の軌道計画にフィードバックすることも想到される。しかしながら、いずれの対策によっても、測定の精度や応答速度などに課題を残すことが多い。また、多様な路面での歩行が要求されるロボットの場合には、相対移動（滑り）を全く許容しない歩行は現実的に不可能であり、また、移動速度などの面からも滑りをなくすというアプローチは不利である。
【００２８】
他方、脚式移動ロボットが歩行する際には足には必ず相対移動（滑り）が発生するものであるという立場に立つならば、相対移動を容認するとともに、滑りを定量化して解析・管理し、さらに積極的に滑り量を利用する歩行プロセスも考えられよう。
【００２９】
実際の人間が歩行する場合も、路面と足底の間で相対移動（滑り）が発生することはしばしばある。したがって、脚式移動ロボットにも多様な歩行パターンを実現させるためには、相対移動（滑り）を軌道計画の中に積極的に取り入れて、さらに軌道修正を行っていく必要がある。そのためには、脚式作業中のロボットにおいて、各足部の路面に対する相対移動（滑り）を認識又は測定できることが重要である。
【００３０】
従来の脚式移動ロボットの足部に設けられていたセンサは、一般に、路面からの反力や、路面までの距離測定を行うものがほとんどである。言い換えれば、路面に平行な面方向の移動、あるいは、路面の法線まわりの移動など、路面に対する足部の相対移動（滑り）に相当する物理量を測定又は認識する測定機器は、ロボットに適用されていなかった。いわゆる足裏感覚を脚式移動ロボット上で実現するためには、路面に対する足部の相対移動（滑り）を検知し定量化することが重要であると思料する。
【００３１】
【発明が解決しようとする課題】
本発明の目的は、様々な路面上を可動脚によって歩行その他の脚式移動作業を行うことができる、優れた脚式移動ロボットを提供することにある。
【００３２】
本発明の更なる目的は、表面状態が不知の路面上を可動脚によって歩行その他の好適な脚式移動作業を行うことができる、優れた脚式移動ロボットを提供することにある。
【００３３】
本発明の更なる目的は、路面の表面状態に応じて適応的な脚式移動作業を行うことができる、優れた脚式移動ロボットを提供することにある。
【００３４】
本発明の更なる目的は、歩行などの脚式移動作業の最中に、路面と接地脚との間に相対移動（滑り）が起こり、この結果、予定又は計画された軌道と実際の起動との間にずれが発生した場合であっても、適応的に動作制御を行うことができる、優れた脚式移動ロボットを提供することにある。
【００３５】
本発明の更なる目的は、歩行などの脚式移動作業の最中に、路面に対する各足の相対移動（滑り）を認識又は測定して、計画軌道を修正するなど適応的な動作制御を行うことができる、優れた脚式移動ロボットを提供することにある。
【００３６】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、少なくとも複数本の可動脚を備えた脚式移動ロボットであって、
前記可動脚の足裏に配設された、足部と路面との相対移動量を測定する相対移動測定センサと、
前記相対移動測定センサにより測定された足部と路面との相対移動量に基づいて前記脚式移動ロボットの動作を制御する制御部と、
を具備することを特徴とする脚式移動ロボットである。
【００３７】
ここで、前記相対移動測定センサは、路面平行方向に対する足部の相対移動量、及び／又は、路面法線まわりの相対移動量を測定することができる。
【００３８】
かかる相対移動測定センサは、例えば、足裏から表面の一部が露出するとともに回転自在に取り付けられたボールと、該ボールの第１方向の回転を検出する第１の回転部と、該ボールの第２方向の回転を検出する第２の回転部と、前記第１及び第２の回転部の検出出力に基づいて、足部の路面に対する第１及び第２の方向に対する相対移動量を演算する演算部とで構成することができる。
【００３９】
あるいは、足部の接地面を撮像する撮像手段と、前記撮像手段による所定時間毎の撮像画像どうしを比較する画像処理手段と、前記画像処理手段による画像比較結果に基づいて該所定時間毎の足部の路面に対する相対移動量を算出する演算手段とで構成することができる。
【００４０】
前記相対移動測定センサが脚部の路面平行方向の相対移動量を測定可能であるような場合、所定の時間間隔で測定された足部の路面平行方向の相対移動量を時系列に従ってつなぎ合わせていくことで路面法線まわりの相対移動量を算出することができる。
【００４１】
あるいは、１つの足部に２以上の相対移動測定センサが離間して配設してもよい。このような場合、各相対移動測定センサの測定結果を比較することによって、該足部の路面法線まわりの相対移動量を算出することができる。各相対移動測定センサ自体は、路面法線まわりではなく路面平行方向のみ相対移動量を測定することができればよい。
【００４２】
また、前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止するようにしてもよい。
【００４３】
また、移動作業を停止させた後、さらに移動作業を継続可能か否かを判断するようにしてもよい。また、移動作業を継続不能と判断したときに所定の救援要求動作を実行するようにしてもよい。救援要求は、例えば、音声を発したり、無線通信を利用して近くのユーザを呼び出すことで実現される。あるいは、さらに該路面の状況を探索して、該探索結果に応じた行動を実行するようにしてもよい。
【００４４】
また、前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面用の安全な移動動作パターンに移行するようにしてもよい。ここで言う安全な移動動作パターンとしては、例えば、足部が路面接地時の入射角を大きくとる、移動速度を低下させる、各可動脚による歩幅を小さくする、又はＺＭＰ軌道を修正するなどが挙げられる。
【００４５】
また、前記制御部は、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面を探索しながらの移動動作に移行するようにしてもよい。あるいは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面に適した足底の選択処理を実行するようにしてもよい。
【００４６】
また、本発明の第２の側面は、少なくとも複数本の可動脚を備えた脚式移動ロボットの制御方法であって、
各可動脚が接地しているときに足部と路面との相対移動量を測定する測定ステップと、
測定された足部と路面との相対移動量に基づいて前記脚式移動ロボットの動作を制御する制御ステップと、
を具備することを特徴とする脚式移動ロボットの制御方法である。
【００４７】
前記測定ステップでは、路面平行方向に対する足部の相対移動量、及び／又は、路面法線まわりの相対移動量を測定することができる。
【００４８】
また、前記測定部において足部の路面平行方向の相対移動量を測定する場合には、さらに、所定の時間間隔で測定された足部の路面平行方向の相対移動量を時系列に従ってつなぎ合わせていくことで路面法線まわりの相対移動量を算出する演算ステップを備えていてもよい。
【００４９】
あるいは、前記測定ステップでは、離間した２箇所以上で足部と路面との相対移動量を測定するようにしてもよい。このような場合、さらに、２箇所以上で測定された各相対移動量どうしを比較することによって該足部の路面法線まわりの相対移動量を算出する演算ステップを備えていてもよい。
【００５０】
また、前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上での移動作業を停止するようにしてもよい。
【００５１】
また、移動を停止した後に、さらに移動作業を継続可能か否かを判断するようにしてもよい。また、移動作業を継続不能と判断したときに、所定の救援要求動作を実行するようにしてもよい。救援要求は、例えば、音声を発したり、無線通信を利用して近くのユーザを呼び出すことで実現される。
【００５２】
また、前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して該路面上の移動を停止し、さらに該路面の状況を探索するようにしてもよい。また、該探索結果に応じた行動を実行するようにしてもよい。
【００５３】
また、前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面用の安全な移動動作パターンに移行するようにしてもよい。このような安全な移動動作パターンとしては、例えば、足部が路面接地時の入射角を大きくとる、移動速度を低下させる、各可動脚による歩幅を小さくする、又はＺＭＰ軌道を修正するなどが挙げられる。
【００５４】
また、前記制御ステップでは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面を探索しながらの移動動作に移行するようにしてもよい。あるいは、路面上を移動中に足部と路面との相対移動量が所定の閾値を越えたことに応答して、該路面に適した足底の選択処理を実行するようにしてもよい。
【００５５】
また、本発明の第３の側面は、少なくとも複数本の可動脚を備えた脚式移動ロボットの足部において適用可能な、足部と路面との相対移動量を測定する相対移動測定センサであって、
表面の一部が露出するとともに回転自在に取り付けられたボールと、
該ボールの第１方向の回転を検出する第１の回転部と、
該ボールの第２方向の回転を検出する第２の回転部と、
前記第１及び第２の回転部の検出出力に基づいて、足部の路面に対する第１及び第２の方向に対する相対移動量を演算する演算部と、
を具備することを特徴とする脚式移動ロボット用相対移動測定センサである。
【００５６】
また、本発明の第４の側面は、少なくとも複数本の可動脚を備えた脚式移動ロボットの足部において適用可能な、足部と路面との相対移動量を測定する相対移動測定センサであって、
足部の接地面を撮像する撮像手段と、
前記撮像手段による所定時間毎の撮像画像どうしを比較する画像処理手段と、
前記画像処理手段による画像比較結果に基づいて該所定時間毎の足部の路面に対する相対移動量を算出する演算手段と、
を具備することを特徴とする脚式移動ロボット用相対移動測定センサである。
【００５７】
【作用】
本発明に係るロボットは、複数の可動脚を用いて歩行などの各種の脚式移動作業を行うことができる。例えば、２足歩行の場合には、左右の各脚部が、あらかじめ予定又は計画された下肢の軌道計画に従って、単脚支持及び両脚支持を繰り返すことによって実現される。また、両脚又は単脚の各支持期においては、路面情報や足首と腰との相対位置関係などに従って、適宜、計画軌道の修正、又は、計画軌道に復帰させるための修正軌道の生成が行われる。
【００５８】
ロボットの脚式作業中においては、立脚又は接地中の足部が路面に対して滑りなどの相対移動を起こすことがしばしばある。このような相対移動は、計画軌道と実際のロボットの軌道とのずれの原因となり、ロボットの転倒や障害物との衝突を招くおそれがある。したがって、各足部の路面に対する相対移動量をより正確に測定するとともに、相対移動量に基づいて計画軌道を修正するなど、ロボットの実行中の動作を適応的に制御する必要がある。
【００５９】
そこで、本発明に係る脚式移動ロボットは、各可動脚の足部（足平又は足底）には、足部と路面との接地状態を確認するための路面接地センサの他に、路面と接地脚との間の相対移動（滑り）を測定するための相対移動測定センサが配設されている。このため、予定又は計画された軌道と実際の起動との間にずれが発生した場合であっても、適応的に動作制御を行うことができる。
【００６０】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００６１】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【００６２】
図７及び図８には、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット１００は、脚式移動を行う左右２足の下肢と、体幹部と、左右の上肢と、頭部とで構成される。
【００６３】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【００６４】
体幹部ユニット内には、図７及び図８では見えていない制御部が配備されている。この制御部は、脚式移動ロボット１００を構成する各関節アクチュエータの駆動制御や各センサ（後述）などからの外部入力を処理するコントローラ（主制御部）や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【００６５】
図９には、本実施例に係る脚式移動ロボット１００が具備する関節自由度構成を模式的に示している。図示の通り、脚式移動ロボット１００は、２本の腕部と頭部１を含む上体と、移動動作を実現する２本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成される。
【００６６】
頭部１を支持する首関節は、首関節ヨー軸２と、首関節ピッチ軸３と、首関節ロール軸４という３自由度を有している。
【００６７】
また、各腕部は、肩関節ピッチ軸８と、肩関節ロール軸９と、上腕ヨー軸１０と、肘関節ピッチ軸１１と、前腕ヨー軸１２と、手首関節ピッチ軸１３と、手首関節ロール軸１４と、手部１５とで構成される。手部１５は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部１５の動作自体は、ロボット１００の姿勢安定制御や歩行動作制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、左右の各腕部は７自由度を有するとする。
【００６８】
また、体幹部は、体幹ピッチ軸５と、体幹ロール軸６と、体幹ヨー軸７という３自由度を有する。
【００６９】
また、下肢を構成する左右各々の脚部は、股関節ヨー軸１６と、股関節ピッチ軸１７と、股関節ロール軸１８と、膝関節ピッチ軸１９と、足首関節ピッチ軸２０と、関節ロール軸２１と、足部（足底又は足平）２２とで構成される。股関節ピッチ軸１７と股関節ロール軸１８の交点は、本実施例に係るロボット１００の股関節位置を定義するものとする。人体の足部（足底）２２は、実際には多関節・多自由度の足底を含んだ構造体であるが、本実施例に係る脚式移動ロボット１００の足底はゼロ自由度とする。したがって、左右の各脚部は６自由度で構成される。
【００７０】
以上を総括すれば、本実施例に係る脚式移動ロボット１００全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。但し、脚式移動ロボット１００が必ずしも３２自由度に限定される訳ではない。設計・製作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【００７１】
脚式移動ロボット１００が持つ上述の各関節自由度は、実際にはアクチュエータによる能動的な動作として実現される。装置の外観上で余分な膨らみを排してヒトの自然体形状に近似させることや、２足歩行という不安定構造体に対して姿勢制御を行うことなどの種々の要請から、関節アクチュエータは小型且つ軽量であることが好ましい。
【００７２】
本実施例では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ＡＣサーボ・アクチュエータを搭載することとした。なお、脚式ロボットに適用可能な小型ＡＣサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特願平１１−３３３８６号明細書に開示されている。
【００７３】
図１０には、本実施例に係る脚式移動ロボット１００の制御システム構成を模式的に示している。同図に示すように、該システムは、ユーザ入力などに動的に反応して情緒判断や感情表現を司る思考制御モジュール２００と、関節アクチュエータの駆動などロボットの全身協調運動を制御する運動制御モジュール３００とで構成される。
【００７４】
思考制御モジュール２００は、情緒判断や感情表現に関する演算処理を実行するＣＰＵ（Central Processing Unit）２１１や、ＲＡＭ（Random Access Memory）２１２、ＲＯＭ（Read Only Memory）２１３、及び、外部記憶装置（ハード・ディスク・ドライブなど）２１４で構成された、モジュール２００内で自己完結処理を行うことができる独立した情報処理装置である。外部記憶装置２１４には、例えば、歩行パターンやその他のオフラインで計算された動作パターンをあらかじめ蓄積しておくことができる。
【００７５】
思考制御モジュール２００には、ＣＣＤ（Charge Coupled Device）カメラなどの画像入力装置２５１や、マイクなどの音声入力装置２５２、スピーカなどの音声出力装置２５３、ＬＡＮ（Local Area Network：図示しない）などを経由してロボット１００外のシステムとデータ交換を行う通信インターフェース２５４など各種の装置が、バス・インターフェース２０１経由で接続されている。
【００７６】
思考制御モジュール２００では、画像入力装置２５１から入力される画像又は視覚データや音声入力装置２５２から入力される音声又は聴覚データなど、外界からの刺激や環境の変化などに従って、脚式移動ロボット１００の現在の感情や意思を決定する。さらに、思考制御モジュール２００は、意思決定に基づいた振舞い又は行動、すなわち四肢の運動を実行するように、運動制御モジュール３００に対して指令を発行する。
【００７７】
一方の運動制御モジュール３００は、ロボット１００の全身協調運動を制御するＣＰＵ（Central Processing Unit）３１１や、ＲＡＭ（Random Access Memory）３１２、ＲＯＭ（Read Only Memory）３１３、及び、外部記憶装置（ハード・ディスク・ドライブなど）３１４で構成された、モジュール３００内で自己完結処理を行うことができる独立した情報処理装置である。外部記憶装置３１４には、例えば、四肢を用いた動作パターン又は歩容を蓄積することができる（「歩容」とは、当業界において「関節角度の時系列変化」を意味する技術用語である）。
【００７８】
運動制御モジュール３００には、ロボット１００の全身に分散するそれぞれの関節自由度を実現する関節アクチュエータ（図９を参照のこと）、体幹部の姿勢や傾斜を計測する姿勢センサ３５１、左右の各足部に配設された路面接地センサ並びに相対移動測定センサ、バッテリなどの電源を管理する電源制御装置などの各種の装置が、バス・インターフェース３０１経由で接続されている。
【００７９】
ここで、路面接地センサは、各足底の路面に対する離床及び着床の時期を検出するために配設される。各路面接地センサの出力に基づいて、ロボットの動作期間（両脚支持期か又は単脚支持期か）を特定することができる。また、相対移動測定センサは、各足部の路面に対する相対移動量（滑り量）を検出・測定するために配設される。相対移動測定センサの出力は、特に該当脚部が単脚支持期のときに利用される。但し、これら路面接地センサ及び相対移動測定センサの詳細については後述に譲る。
【００８０】
運動制御モジュール３００では、思考制御モジュール２００から指示された行動を体現すべく、各関節アクチュエータによる全身協調運動を制御する。すなわち、ＣＰＵ３１１は、思考制御モジュール２００から指示された行動に応じた動作パターンを外部記憶装置３１４から取り出し、又は、内部的に動作パターンを生成する。そして、ＣＰＵ３１１は、指定された動作パターンに従って、足部運動、ＺＭＰ（Zero Moment Point）軌道、体幹運動、上肢運動、腰部水平位置及び高さなどを設定するとともに、これらの設定内容に従った動作を指示する指令値を各関節アクチュエータに転送する（「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット１００の歩行動作期間中などにＺＭＰが動く軌跡を意味する）。
【００８１】
また、ＣＰＵ３１１は、姿勢センサ３５１の出力信号によりロボット１００の体幹部分の姿勢や傾きを検出するとともに、左右各足部の路面接地センサの出力信号により各可動脚が遊脚又は立脚のいずれの状態であるかを検出することによって、脚式移動ロボット１００の全身協調運動パターンを適応的に制御することができる。
【００８２】
さらに、本実施例に係る脚式移動ロボット１００においては、ＣＰＵ３１１は、各足部の相対移動測定センサによって検出・測定された滑り量に基づいて、適応的に動作制御することができる。ここで言う適応的な動作制御の一例は、あらかじめ計画された目標軌道の動的な修正である。但し、足部の相対移動量の測定結果に基づいた動作制御の詳細については、後述に譲る。
【００８３】
図１０に示すように、思考制御モジュール２００と運動制御モジュール３００は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース２０１及び３０１を介して相互接続されている。運動制御モジュール３００は、思考制御モジュール２００において決定された意思通りの行動がどの程度体現されたか、すなわち処理の状況を、思考制御モジュール２００に対して返すようになっている。
【００８４】
図１１には、本実施例に係る脚式移動ロボット１００の足部足裏の構成例を示している。同図に示すように、足部１１０１は、足部の形状を維持する足部フレーム１１０２と、該当脚と電気的及び機械的に接合するための脚部連結部１１０３と、足部の路面に対する相対移動量（滑り量）を検出・測定するための相対移動測定センサ１１０４と、各足底の路面に対する離床及び着床を検出するための路面接地センサ１１０５〜１１０８と、各センサの検出信号を処理するためのセンサ入力処理演算部１１０９と、この処理演算結果をロボット１００の中央制御系としての運動制御モジュール３００に転送処理するためのセンサ情報通信処理部１１１０とで構成される。
【００８５】
図１１に示す例では、１つの足底に４基の路面接地センサ１１０５〜１１０８を配設したが、センサの個数は特に限定されない。足底の各部位毎に細かく接地確認したければ５基以上の接地センサを搭載してもよいし、逆に特定の部位の設置確認のみでよければ１基の接地センサのみで充分である。
【００８６】
同様に、相対移動測定センサの個数も特に限定されない。また、図１１に示す例では、各センサの検出信号を同じ足底上のセンサ入力処理演算部１１０９において一旦演算処理してから処理結果を運動制御モジュール３００に転送するようにしているが、演算処理を施す前の原検出信号をそのまま運動制御モジュール３００側に送信してもよい。この場合は、センサ入力処理演算部１１０９は不要となる。
【００８７】
次いで、相対移動測定センサ１１０４による相対移動量（滑り量）の検出結果の利用方法について説明する。
【００８８】
脚式移動ロボット１００が歩行を始めとする脚式作業を行っている期間中、路面接地センサ１１０５〜１１０８を用いて、センサ入力処理部１１０９は常に足部の各部位と路面との接地状態を監視している。さらに、路面接地センサ１１０５〜１１０８の全部又は一部において接地が確認されている期間中には、相対移動測定センサ１１０４によって測定される移動量が広義の相対移動量として利用される。計画されている歩行の局面、接地状態などに応じて、相対移動センサ１１０４による測定結果の利用方法は変わってくる。
【００８９】
単純な例として、通常の歩行動作時における立脚側の接地状態について考察してみる。ここで、図５に示すように、立脚側の足部（同図では左足）が路面に対してロール軸及びピッチ軸方向にそれぞれΔＸ及びΔＹだけ相対移動（滑り）を起こしたとする。左脚は単脚支持を行っている期間なので、計画軌道に対して相対移動がまったく起こらないことが理想とされる。
【００９０】
同図に示す状態は、左足が完全に路面に接地する予定の状態であり、足部の設置状態は路面接地センサ１１０５〜１１０８の検出信号を基に確認される。また、この状態での相対移動量ΔＸ及びΔＹを、相対移動測定センサ１１０４が測定する。
【００９１】
路面接地センサ１１０５〜１１０８並びに相対移動測定センサ１１０４の各検出信号は、センサ入力処理演算部１１０９に入力される。このセンサ入力処理演算部１１０９０では、これらセンサ入力を演算することで、足部が接地したときに本来相対移動を起こすべきでない状態で相対移動が起こったことを解釈することができる。そして、センサ情報通信処理部１１１０は、かかる演算・解釈結果を運動制御モジュール３００に転送する。
【００９２】
運動制御モジュール３００側では、脚式移動ロボット１００が計画軌道からロール軸及びピッチ軸各方向にそれぞれΔＸ及びΔＹだけ相対移動すなわち滑りを起こしたことを知ることができる。そして、かかる検知結果を以降の行動計画、軌道修正に反映させることができる。
【００９３】
また、図２に示すような、右足が接地した両脚支持期について考察してみる。いま左脚を降ろして接地させたとき、左足部の路面に対する相対移動（滑り）が発生したとする。通常、ロボット（すなわち運動制御モジュール３００）は、各関節の位置を把握しているので、足部に相対移動が生じて左右の脚どうしの関係が軌道計画を逸脱していることを検知することができる。しかしながら、路面に対する相対移動を直接的に検出・測定できる装置なしでは、計画軌道に対する相対移動が左右どちらの足部に起因するのか、さらには相対移動量を定量的且つ正確に測定することはできない。本実施例に係る構成によれば、足部に搭載された相対移動測定センサ１１０５によって、左右各々の足部における路面に対する相対移動（滑り）を観測することができ、また、路面に対するロボット位置の認識精度を大幅に向上させることができる。
【００９４】
次いで、相対移動測定センサ１１０４の具体的な構成について説明する。
【００９５】
図１２には、本実施例に係る脚式移動ロボット１００に適用可能な相対移動測定センサ１１０４の構成例を示している。同図に示すセンサ１１０４は、ボール１３０１の回転量に基づいて相対移動を検出することができる。
【００９６】
足部の足底には、表面の一部が露出しているボール１３０１が回転自在に取り付けられている。足部が路面に充分接近すると、このボール１３０１の露出面は路面に接触することができる。
【００９７】
ボール１３０１は、回転自由度が与えられた状態で、センサ・ケース１３０２の内部に収容されている。ボール１３０１の表面には、ボール１３０１のＸ軸（ロール軸）方向の回転に連動するＸ軸回転ローラ１３０３と、ボール１３０１のＹ軸（ピッチ軸）方向の回転に連動するＹ軸回転ローラ１３０４と、各ローラ１３０３，１３０４に対して適度の圧力でボール１３０１を押し付けるためのローラ１３０５がバネ１３０６の復元力を利用して当接されている。さらに、Ｘ軸回転ローラ１３０３の根元には、ローラ１３０３の回転量を検出するＸ軸方向回転エンコーダ１３０７が直結されている。同様に、Ｙ軸回転ローラ１３０４には、ローラ１３０４の回転量を検出するＹ軸方向回転エンコーダ１３０８が直結されている。
【００９８】
足部が接地している期間中に、路面に対して相対移動（滑り）を起こすと、相対移動量に応じた分だけボール１３０１がＸ軸及びＹ軸の各方向に回転する。ボール１３０１の回転のＸ軸方向成分及びＹ軸方向成分は、各回転ローラ１３０３及び１３０４によって伝達され、Ｘ軸方向回転エンコーダ１３０７及びＹ軸方向回転エンコーダ１３０８によって各回転量が読み取られる。
【００９９】
図１２中の参照番号１３０９で示されるモジュールはカウンタであり、各エンコーダ１３０７及び１３０８の出力を計数することができる。また、参照番号１３１０で示されるモジュールは演算処理部であり、エンコーダ出力を解釈して、Ｘ軸方向及びＹ軸方向の移動距離を算出することができる。このようにして得られた足部の移動距離データは、センサ入力処理演算部１１０９に供給され、センサ情報通信処理部１１１０を介して運動制御モジュール３００に転送される（前述）。
【０１００】
また、図１３には、相対移動測定センサ１１０４の他の構成例を示している。図１２に示した相対移動測定センサ１１０４はボールの回転という機械的な動作によって相対移動を測定するが、図１３に示す例では、相対移動量を光学的に読み取るようになっている。
【０１０１】
図１３に示すように、この例の相対移動測定センサ１１０４は、照射光源としての発光部１４０１と、照射光を集光するためのレンズなどの光学部品からなる発光レンズ部１４０２と、路面からの反射光を集光するためのレンズなどの光学部品からなる撮像レンズ部１４０３と、反射光を撮像する撮像素子部１４０４と、撮像画像を処理する画像処理演算部１４０５と、画像処理結果に基づいて足部と路面との相対移動量を決定する相対移動量演算部１４０６と、決定された相対移動量（滑り量）をロボット１００の中央制御系としての運動制御モジュール３００に転送する通信処理部１４０７とで構成される。
【０１０２】
図１３に示す例では、撮像素子部１４０４による撮像画像を足部において画像処理して相対移動量を演算するようになっているが、撮像画像をそのまま運動制御モジュール３００に転送するようにしてもよい。このような場合、画像処理演算部１４０５と相対移動量演算部１４０６とを、足部上から省略することができる。
【０１０３】
発光部１４０１から発生される所定波長の照射光は、発光レンズ１４０２を介して、足部が接地された路面位置の近傍を照射する。この照明下での路面からの反射光は、撮像レンズ１４０３で集光されて撮像素子部１４０４の撮像面上で結像する。
【０１０４】
撮像素子部１４０４は、例えばＣＣＤ（Charge Coupled Device：電荷結合素子）などて構成されており、路面からの反射光を受光して、路面上の微小な凹凸や模様などに応じた画像を得ることができる。あるいは、路面上に視認性の高い模様をあらかじめ形成しておいてもよい。
【０１０５】
画像処理演算部１４０５は、撮像素子部１４０４から撮像画像を入力して、所定の微小時間間隔毎の撮像画像間を比較することで、画像の動きを算出する。例えば、図１４に示すように、Δｔ秒間隔毎の撮像画像間で差分をとり、対応する凹凸又は模様間の移動量Δｄiを統計処理して画像の動きを算出することができる。
【０１０６】
画像処理演算部１４０５において得られた画像の動きデータは、後続の相対移動量演算部１４０６に出力される。相対移動量演算部１４０６は、画像の動きに基づいて、足部の路面に対するＸ軸（ロール軸）方向並びにＹ軸（ピッチ軸）方向の各相対移動量（滑り量）ΔＸ及びΔＹを算出する。ここで算出された相対移動量は、通信処理部１４０７によって運動制御モジュール３００に転送される。
【０１０７】
図１２及び図１３に示した相対移動測定センサ１１０４は、いずれも足部の路面平行面に対する相対移動量、すなわち、Ｘ軸（ロール軸）方向並びにＹ軸（ピッチ軸）方向の各相対移動量（滑り量）ΔＸ及びΔＹを算出するものであった。しかしながら、路面平行方向だけでなく、路面法線まわりの相対移動量も、脚式移動ロボット１００の歩行制御や計画軌道の修正において非常に重要であることは既に述べた通りである。そこで、以下では、路面法線まわりの相対移動量（滑り量）を測定することができる相対移動測定センサについて説明する。
【０１０８】
従来、移動ロボットの路面法線まわりの運動は、ジャイロ・センサを用いて測定することが一般的であったが、測定精度やその他の点で問題が多かった。また、法線まわりの相対移動は歩行進行方向に重大な影響を及ぼすので、より正確な測定が望まれる。
【０１０９】
図１５には、足部の路面法線まわりの相対移動量すなわち回転運動を測定可能な相対移動測定センサを搭載した足部の構成例を図解している。
【０１１０】
図示の通り、足部１５０１は、足部の形状を維持する足部フレーム１５０２と、該当脚と電気的及び機械的に接合するための脚部連結部１５０３と、足部の足底に所定間隔を隔てて配設された２基の相対移動測定センサ１５０４−１及び１５０４−２と、各足底の路面に対する離床及び着床を検出するための路面接地センサ１５０５〜１５０８と、各センサの検出信号を処理するためのセンサ入力処理演算部１５０９と、この処理演算結果をロボット１００の中央制御系としての運動制御モジュール３００に転送処理するためのセンサ情報通信処理部１５１０とで構成される。
【０１１１】
４基の路面接地センサ１５０５〜１５０８は、図１１に示した例と略同一構成でよく、また、設置するセンサの個数や場所は特に限定されない。
【０１１２】
また、相対移動測定センサ１５０４−及び１５０４−２の各々は、単一のセンサでは路面平行方向の相対移動量を測定することができればよく、例えば、図１２や図１３で示したような相対移動測定センサ１１０４をそのまま適用してもよい。
【０１１３】
ここで、２基の相対移動測定センサ１５０４−及び１５０４−２を用いて足部の路面法線まわりの相対移動量（滑り量）を測定する仕組みについて説明する。
【０１１４】
足部１５０１が路面に対して相対移動（滑り）を発生した場合、各々の相対移動測定センサ１５０４−１及び１５０４−２においては、路面平行方向の微小時間間隔毎に相対移動量が算出される。算出される相対移動量は、例えば図１６に示す通りである。
【０１１５】
図１６に示すような微小時間間隔毎の相対移動量の測定を繰り返すとともに、測定結果を時系列に従ってつなぎ合わせていくことによって、図１７に示すように、路面法線まわりの相対移動量を測定することができる。
【０１１６】
図１５に示したような足部１５０１の構成例では、２基の相対移動測定センサ１５０４−１及び１５０４−２が離間して配置されているので、２箇所において路面平行方向の相対移動量を同時に測定することができる。
【０１１７】
足部１５０１の路面に対する相対移動が路面法線まわりの成分を含まない場合、各センサ１５０４−１及び１５０４−２の設置場所における相対移動は平行となり、図１８に示すように、各相対移動測定センサ１５０４−１及び１５０４−２によって測定されるＸＹ各方向の成分（図示の移動ベクトルＡ及びＢ）はまったく一致する。すなわち各センサからの検出出力は同じ値となる。
【０１１８】
他方、足部１５０１の路面に対する相対移動が路面法線まわりの成分を含む場合には、各相対移動測定センサ１５０４−１及び１５０４−２によって測定されるＸＹ各方向の成分は一致しない。
【０１１９】
図１９には、ある時間間隔において、足部１５０１が路面法線まわりに角度θだけ相対移動すなわち回転した様子を図解している。この場合、各相対移動測定センサ１５０４−１及び１５０４−２において測定された相対移動量で定義される各移動ベクトルＡ及びＢは平行とはならない。すなわち、これら移動ベクトルＡ及びＢ間のなす角に基づいて、足部の路面法線まわりの回転量θを算出することができる。
【０１２０】
なお、図１５に示す例では、２基の相対移動測定センサを足部に搭載したが、３基以上の相対移動測定センサを用いても同様に路面法線まわりの相対移動量θを測定可能であることは言うまでもない。また、多数の相対移動測定センサを利用することで、各センサ間の測定感度やその他のセンサの特性ばらつきや測定誤差を除去して、より正確な相対移動量測定を行うことができる。
【０１２１】
また、図１５に示した例のように路面平行方向の相対移動量を基にして路面法線まわりの回転量を算出する以外に、路面法線まわりの回転量を直接測定可能なセンサ装置を利用しても、本発明は同様の作用効果を奏することは言うまでもない。
【０１２２】
以上詳記したように、本実施例に係る脚式移動ロボット１００によれば、足部と路面との相対移動量を直接的且つ正確に測定することができる。このような測定結果に従って、ロボット１００の脚式移動作業中における軌道計画外の状況発生をより高速に認知することができ、さらに、以降の行動計画に適応的且つ迅速に反映させることが可能となる。
【０１２３】
例えば、足が滑った際には、ロボット１００の腰又は体幹部に設置した姿勢センサよりも、足部に設置した相対移動測定センサのほうが応答が速いので、行動計画の修正に有利である。また、歩行中に滑り易い路面に突入した場合であっても、実際に姿勢が不安定な状態に陥る以前に滑りに起因する危険を予測することができる。
【０１２４】
また、足部と路面との相対移動量を直接的に測定することで、ロボット１００に搭載される他の計測システムの負担を軽減したり省略することが可能となる。例えば、ジャイロ・センサへの要求精度が軽減されるし、カメラなどからの入力画像に対して高度な演算処理を行う必要がなくなる。
【０１２５】
次いで、足部と路面との相対移動量の測定結果を、脚式移動ロボット１００の以降の行動計画を反映させる点について説明する。
【０１２６】
図２０には、脚式移動ロボット１００の歩行中に足部と路面との相対移動量の測定結果を以降の行動計画に反映させる４通りの形態を例示している。
【０１２７】
このうち、図２０（ａ）及び（ｂ）に示す例は、歩行動作を一旦停止させる点で共通する。
【０１２８】
図２０（ａ）では、運動制御モジュール３００は、あらかじめ設定された閾値以上の滑りを検知すると、歩行動作を一旦停止するとともに、さらに極度の滑りを検知した旨を思考制御モジュール２００に通知する。これに応答して、思考制御モジュール２００は、人間らしい動作で危険事態を表出する。例えば、歩行不能と判断した場合には近くのユーザに助けを呼ぶようにする。例えば、音声を発したり、無線通信を利用して近くのユーザを呼び出すことで、救援要求が実現される。あるいは、ロボット１００は、自律的に引き返したり後歩きを行ったりする。
【０１２９】
また、図２０（ｂ）では、運動制御モジュール３００は、あらかじめ設定された閾値以上の滑りを検知すると、歩行動作を一旦停止するとともに、路面状況探索行動ルーチンに移行する。
【０１３０】
路面状況探索行動ルーチンは、特に限定されない。例えば、カメラなどの画像入力装置２５１による入力画像を処理して質感や模様などから路面の状況を判断してもよい。あるいは、脚（例えばつま先など）を使って、路面上を掻き回すなどの操作を印加することで、路面状況を判断してもよい。あるいは、腕などの足部以外の部位を用いて、路面上を掻き回すなどの操作を印加することで、路面状況を判断してもよい。
【０１３１】
そして、路面状況探索結果に基づいて適切な行動をとる。適切な行動の一例は、路面状況に適した歩行パターンを選択し、歩行を継続することである。なお、滑り路面専用の歩行パターンは、オフラインで計算してあらかじめ外部記憶装置３１４などに用意しておくか、又は、運動制御モジュール３００上でリアルタイムで生成するようにしてもよい。但し、歩行パターンの生成については後に詳解する。
【０１３２】
また、適切な行動の他の例は、歩行不能と判断した場合に近くのユーザに助けを呼ぶなど、人間らしい動作で危険事態を表出することである。また、適切な行動の他の例は、元の安全な路面の場所に引き返すことである。このとき、後歩きを行ってもよいし、その場で方向転換してもよい（方向転換時には、可能かどうかを判断してもよい）。
【０１３３】
また、図２０（ｃ）に示す例では、歩行動作を一旦停止するか、又は、停止しないまま、滑り路面用歩行パターンへ移行する。
【０１３４】
滑り路面用歩行パターンは、安全な歩行パターンと、路面を探索しながらの歩行とに二分される。
【０１３５】
前者の安全な歩行パターンの場合、例えば、路面接地時の入射角を大きくして足部と路面の摩擦抵抗を増大させることができる。図２１には路面接地時の足部の入射角が小さい場合の接地動作を、また、図２２には路面接地時の足部の入射角が大きい場合の接地動作を、それぞれ進行方向の横側から描写している。
【０１３６】
図２１に示す場合には、接地脚が路面に印加する力の水平成分が大きいので滑りが発生し易い。これに対し、図２２に示す場合には、接地脚が路面に印加する力の水平成分が小さくて済むので、同じ摩擦抵抗を持つ路面であっても滑りが発生しにくくなる。
【０１３７】
また安全な歩行パターンの他の例として、速度を落としたり歩幅を小さくして滑りの発生を抑制したり、ＺＭＰ軌道を修正した歩行パターンが考えられる。但し、滑り路面用の安全な歩行パターンの生成については後に詳解する。
【０１３８】
また、路面を探索しながらの歩行を行うときには、遊脚側接地と同時にいきなりロボット１００の体重移動を行うことを避けて、路面探知行動を実行した後、路面状況に応じて体重移動を行うようにすればよい。
【０１３９】
また、図２０（ｄ）に示す例では、歩行動作を一旦停止するか、又は、停止しないまま、滑り路面に適した足底を選択する。
【０１４０】
例えば、脚式移動ロボット１００自身が滑り路面用の足底を搭載している（すなわち携行している）場合には、現場において、靴を履き替える間隔で足底を切り替えればよい。
【０１４１】
また、脚式移動ロボット１００が足底を携行していない場合には、滑り路面用（並びに、他の各種路面用）の足底を揃えた場所（例えば、ツール・マガジン）まで、足底を取りに戻ることができる。
【０１４２】
あるいは、脚式移動ロボット１００が足底を携行していない場合には、ユーザを呼んで足底の切り替えを要求するなど、人間らしい動作で危険事態を表出するようにしてもよい。
【０１４３】
次いで、図２０（ｂ）及び（ｃ）において利用される滑り路面用歩行パターンの生成処理について説明する。一般に、歩行パターンは、オフラインであらかじめ計算するか、又は、歩行中にリアルタイムで歩行パターンを修正することができる。
【０１４４】
まず、足底に滑りが発生したときにリアルタイムで歩行パターンを修正する場合について説明する。図２３には、リアルタイムで歩行パターンを修正するための処理手順をフローチャートの形式で示している。以下、このフローチャートに従って説明する。
【０１４５】
まず、設定歩行パターンを用いて歩行制御を行う（ステップＳ１１）。歩行パターンは、例えば、歩行周期Ｋc×Ｃ (但し、Ｋcは倍率であり、デフォルトを１．０とする)と歩幅Ｌ［ｓ／ｓｔｅｐ］で規定される。
【０１４６】
次いで、足部の足底に設置した相対移動測定センサ（前述）を用いて足底滑り量を測定して（ステップＳ１２）、該滑り量が許容値以上か否かをチェックする（ステップＳ１３）。
【０１４７】
足底滑り量が許容値未満であれば、両脚支持期であればステップＳ１１に、両足支持期でなければステップＳ１２に復帰して（ステップＳ１９）、同じ設定歩行パターンを用いて歩行制御を継続する。
【０１４８】
他方、足底滑り量が許容地以上になった場合には、歩行パターンの再生速度の選択処理を行う。
【０１４９】
この場合、まず歩行周期の仮変更を行う（ステップＳ１４）。これは、倍率Ｋcの値を仮に増加する（例えば、Ｋc＝Ｋc＋０．１）ことによって実現される。この結果、歩行パターンの再生速度を変更することができる。
【０１５０】
次いで、歩行パターン再生速度を変更したときのＺＭＰ軌道の算出を行う（ステップＳ１５）。ＺＭＰ軌道すなわちＺＭＰ方程式の導出方法については、例えば、高西外著「未知の外力下における２足歩行〜横方向の未知外力に対する歩行制御方式の開発〜」（第９回日本ロボット学会学術講演会、３２１頁〜３２４頁）に記載されている。
【０１５１】
そして、算出されたＺＭＰ軌道を基に、ＺＭＰ安定度判別規範を満たしているか否かを判断する（ステップＳ１６）。ＺＭＰ安定度判別規範を満たしていれば、変更した歩行パターン再生速度を選択する（ステップＳ１７）。そして、この再生速度に従って歩行制御を実行するとともに（ステップＳ１８）、ステップＳ１２に戻って上述と同様の処理を繰り返す。
【０１５２】
但し、歩行パターン再生速度の選択は、歩行周期の変更によってではなく、歩幅を変更することによっても同様に達成することができる。
【０１５３】
他方、ＺＭＰ安定度判別規範を満たしていない場合には、歩行の継続を諦めて、ロボット１００の姿勢がより安定する両足支持期に歩行を停止する（ステップＳ２０）。
【０１５４】
次いで、足底に滑りが発生したときの歩行パターンをオフラインであらかじめ生成する処理について説明する。図２４には、歩行パターンをオフラインで生成する処理手順をフローチャートの形式で示している。以下、このフローチャートに従って説明する。
【０１５５】
まず、変数ｎに初期値１を代入して（ステップＳ３１）、ｎ回目の歩行実験による足底滑りベクトルｓ（ｎ）を取得する（ステップＳ３２）。
【０１５６】
次いで、この足底滑りベクトルｓ（ｎ）を用いて、ロボット１００の絶対座標系Ｏに対する運動座標系Ｏ'−Ｘ'Ｙ'Ｚ'の原点ベクトルｒq（ｒqx，ｒqy，ｒqz，ｒraw，ｒroll，ｒpitch，ｔ）を修正する（ステップＳ３３）。修正式は、下式の通りとなる（但し、同式中のＫはフィードバック・ゲイン）。
【０１５７】
【数１】
0004480843.tif 000002
【０１５８】
次いで、修正した原点ベクトルｒq（ｒqx，ｒqy，ｒqz，ｔ）を用いて、全身運動パターンの再算出処理を実行する（ステップＳ３４）。脚式移動ロボット１００の全身運動パターンの算出処理については、後述に譲る。
【０１５９】
次いで、機械モデル、相対移動測定センサ、そして、再算出された全身運動パターンを用いて（ｎ＋１）回目の歩行実験を行い、（ｎ＋１）回目の足底滑りベクトルｓ（ｎ＋１）を取得する（ステップＳ３５）。
【０１６０】
次いで、（ｎ＋１）回目の足底滑りベクトルｓ（ｎ＋１）が許容値以上か否かを判別する（ステップＳ３６）。該ベクトルが許容値未満に収まっていれば、ステップＳ３４において求められた全身運動パターンを足底に滑りが発生したとき安定歩行可能なパターンとして出力する。
【０１６１】
他方、足底滑りベクトルｓ（ｎ＋１）が許容値以上の場合には、ｎを１だけ増分して（ステップＳ３７）、ステップＳ３３に復帰して、上記と同様の処理を繰り返し実行する。
【０１６２】
最後に、図２４におけるステップＳ３４において実行する全身運動パターンの算出処理について説明しておく。
【０１６３】
本実施例では、全身運動パターン算出のために、図７〜図９に示す構造の脚式移動ロボット１００を図２５（並びに、後述する［数２］及び［数４］）に示すような線形且つ非干渉の多質点近似モデルに置き換えて計算することにした。
【０１６４】
図２５において、Ｏ−ＸＹＺ座標系は絶対座標系におけるロール、ピッチ、ヨー各軸を表し、また、Ｏ'−Ｘ'Ｙ'Ｚ'座標系は脚式移動ロボット１００とともに動く運動座標系におけるロール、ピッチ、ヨー各軸を表している。同図に示す多質点モデルでは、ｉはｉ番目に与えられた質点を表す添え字であり、ｍiはｉ番目の質点の質量、ｒ'iはｉ番目の質点の位置ベクトル（但し運動座標系）を表すものとする。また、後述する全身協調運動パターン生成処理において特に重要な腰部質点の質量はｍh、その位置ベクトルはｒ'h（ｒ'hx，ｒ'hy，ｒ'hz）とし、また、ＺＭＰの位置ベクトルをｒ'zmpとする。同図に示す非厳密の多質点近似モデルにおいては、モーメント式は線形方程式の形式で記述され、該モーメント式はピッチ軸及びロール軸に関して干渉しない、という点を充分理解されたい。
【０１６５】
このような多質点近似モデルは、概ね以下の処理手順により生成することができる。すなわち、
（１）ロボット１００全体の質量分布を求める。
（２）質点を設定する。質点の設定方法は、設計者のマニュアル入力であっても、所定の規則に従った自動生成のいずれでも構わない。
（３）各領域i毎に、重心を求め、その重心位置と質量ｍiを該当する質点に付与する。
（４）各質点ｍiを、質点位置ｒiを中心とし、その質量に比例した半径に持つ球体として表示する。
（５）現実に連結関係のある質点すなわち球体同士を連結する。
【０１６６】
多質点モデルは、言わば、ワイヤフレーム・モデルの形態でロボットを表現したものである。本実施例では、図２１を見ても判るように、この多質点近似モデルは、両肩、両肘、両手首、体幹、腰部、及び、両足首の各々を質点として設定したものである。なお、図２１に示す多質点モデルの腰部情報における各回転角（θhx，θhy，θhz）は、脚式移動ロボット１００における腰部の姿勢すなわちロール、ピッチ、ヨー軸の回転を規定するものである（図２６には、多質点モデルの腰部周辺の拡大図を示しているので、確認されたい）。
【０１６７】
次いで、上記の多質点近似モデルを用いて脚式移動ロボット１００の歩行パターンを生成するための処理手順について説明する。
【０１６８】
図２７には、脚式移動ロボット１００歩行パターンを生成するための処理手順をフローチャートの形式で示している。但し、以下では、図２５に示す線形・非干渉多質点近似モデルを用いてロボット１００の各関節位置や動作を記述するものとし、且つ、計算に際して下式のようなパラメータを用いることとする。但し、ダッシュ（'）付きの記号は運動座標系を記述するものと理解されたい。
【０１６９】
【数２】
0004480843.tif 000003
【０１７０】
また、ロボット１００の腰部高さが一定（ｒ'hz＋ｒqz＝const）で、且つ、膝部質点がゼロであることを前提とする。以下、図２７に示すフローチャートに従って説明する。
【０１７１】
まず、歩行実験において与えられる足部運動、足部運動から導出されたＺＭＰ目標軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される（ステップＳ４１）。但し、腰部の運動に関しては、Ｚ'方向のみ設定し、Ｘ'及びＹ'の各方向については未知とする。
【０１７２】
次いで、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ＺＭＰ上でのピッチ軸、ロール軸まわりの各モーメント（Ｍx，Ｍy）を算出する（ステップＳ４２）。
【０１７３】
次いで、線形・非干渉多質点近似モデルを用いて、腰部水平面内運動（ｒ'hx，ｒ'hy）によって発生する設定ＺＭＰ上でのモーメントを算出する（ステップＳ４３）。
【０１７４】
次いで、設定ＺＭＰ上におけるモーメントに関する釣り合い式を、ロボットとともに動く運動座標系Ｏ'−Ｘ'Ｙ'Ｚ'上で導出する（ステップＳ４４）。より具体的には、足部、体幹、そして上肢運動により発生するモーメント（Ｍx，Ｍy）を既知変数の項として右辺に、腰部質点の水平運動に関する項（ｒhx，ｒhy）を未知変数の項として左辺にまとめ、下式に示すような線形・非干渉なＺＭＰ方程式（１）を導出する。
【０１７５】
【数３】
0004480843.tif 000004
【０１７６】
但し、以下が成立するものとする。
【０１７７】
【数４】
0004480843.tif 000005
【０１７８】
次いで、上記のＺＭＰ方程式（１）を解いて、腰部水平面内軌道を算出する（ステップＳ４５）。例えば、オイラー法やルンゲクッタ法などの数値的解法（周知）を用いてＺＭＰ方程式（１）を解くことで、未知変数としての腰部の水平絶対位置（ｒhx，ｒhy）の数値解を求めることができる（ステップＳ４６）。ここで求められる数値解は、安定歩行可能な腰部運動パターンの近似解であり、より具体的にはＺＭＰが目標位置に入るような腰部水平絶対位置である。ＺＭＰ目標位置は、通常、着床した足底に設定される。
【０１７９】
算出された近似解上では予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う（ステップＳ４７）。この際、膝部の軌道を算出してもよい。
【０１８０】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル（すなわち、剛体、若しくは非常に多くの質点からなるロボット１００の精密なモデル）における設定ＺＭＰ上のモーメント（ｅＭx，ｅＭy）を算出する（ステップＳ４８）。非厳密モデルでは上記の［数４］が成立することを前提としたが、厳密ではかかる前提を要しない（すなわち時間の変化に対して一定である必要はない）。
【０１８１】
厳密モデルにおけるモーメント（ｅＭx，ｅＭy）は、腰部運動の発生するモーメント誤差である。続くステップＳ４９では、このモーメント（ｅＭx，ｅＭy）が非厳密モデルにおける近似モーメントの許容値（εＭx，εＭy）未満か否かを判定する。許容値ε未満であれば、腰部安定運動パターンの厳密解及び安定歩行を実現できる（ステップＳ５０）。本実施例のように片足が６自由度を持つ脚式ロボット（図９を参照のこと）の場合、各足部の位置と腰部の水平位置及び高さによって両脚の姿勢が一意に定まる。すなわち、腰部運動パターンを生成することはロボット１００の「歩容」すなわち全身運動パターンを決定すること相当する。そこで、ステップＳ５０を以って本ルーチン全体を終了する。
【０１８２】
他方、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）が近似モデルにおけるモーメントの許容値（εＭx，εＭy）以上であった場合には、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）を用いて近似モデルにおける既知発生モーメント（Ｍx，Ｍy）を修正して（ステップＳ５１）、再びＺＭＰ方程式の導出を行い、許容値ε未満に収束するまで、腰部運動パターンの近似解の算出と修正を繰り返し実行する。
【０１８３】
また、図２８には、脚式移動ロボット１００全身運動パターンを生成する処理手順の他の例をフローチャートの形式で示している。但し、図２７に示した例と同様に、線形・非干渉多質点近似モデルを用いてロボット１００の各関節位置や動作を記述するものとする。
【０１８４】
まず、歩行実験において与えられる足部運動、足部運動から導出されたＺＭＰ目標軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される（ステップＳ６１）。但し、腰部の運動に関しては、Ｚ'方向のみ設定し、Ｘ'及びＹ'の各方向については未知とする。
【０１８５】
次いで、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ＺＭＰ上でのピッチ軸、ロール軸まわりの各モーメント（Ｍx，Ｍy）を算出する（ステップＳ６２）。
【０１８６】
次いで、腰部水平面内運動（ｒ'hx，ｒ'hy）をフーリエ級数展開する（ステップＳ６３）。当業界において既に周知のように、フーリエ級数展開することにより、時間軸成分を周波数成分に置き換えて演算することができる。すなわち、この場合には腰部の動きを周期的な動きとして捉えることができる。また、ＦＦＴ（高速フーリエ変換）を適用することができるので、計算速度を大幅に向上させることができる。
【０１８７】
次いで、設定ＺＭＰ上でのピッチ軸、ロール軸まわりの各モーメント（Ｍx，Ｍy）についてもフーリエ級数展開する（ステップＳ６４）。
【０１８８】
次いで、腰部水平面内軌道のフーリエ係数を算出し、さらに逆フーリエ級数展開することで（ステップＳ６５）、腰部運動の近似解が求まる（ステップＳ６６）。ここで求められる近似解は、安定歩行可能な腰部運動パターンを規定する腰部の水平絶対位置の近似解（ｒhx，ｒhy）であり、より具体的にはＺＭＰが目標位置に入るような腰部水平絶対位置である。ＺＭＰ目標位置は、通常、着床した足底に設定される。
【０１８９】
算出された近似解上では予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う（ステップＳ６７）。この際、膝部の軌道を算出してもよい。
【０１９０】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル（すなわち、剛体、若しくは非常に多くの質点からなるロボット１００の精密なモデル）における設定ＺＭＰ上のモーメント（ｅＭx，ｅＭy）を算出する（ステップＳ６８）。非厳密モデルでは上記の［数４］が成立することを前提としたが、厳密ではかかる前提を要しない（すなわち時間の変化に対して一定である必要はない）。
【０１９１】
厳密モデルにおけるモーメント（ｅＭx，ｅＭy）は、腰部運動の発生するモーメント誤差である。続くステップＳ６９では、このモーメント（ｅＭx，ｅＭy）が近似モデルにおけるモーメントの許容値（εＭx，εＭy）未満か否かを判定する。許容値ε未満であれば、腰部安定運動パターンの厳密解及び安定歩行を実現できる全身運動パターンを得ることができたことになるので（ステップＳ７０）、本ルーチン全体を終了する。
【０１９２】
他方、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）が近似モデルにおけるモーメントの許容値（εＭx，εＭy）以上であった場合には、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）を用いて非厳密モデルにおける既知発生モーメント（Ｍx，Ｍy）を修正して（ステップＳ７１）、再びフーリエ級数展開して、許容値ε未満に収束するまで、腰部運動パターンの近似解の算出と修正を繰り返し実行する。
【０１９３】
［追補］
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【０１９４】
本明細書では、２足歩行を行うヒューマノイド・ロボットに適用した実施例に従って説明したが、本発明の適用範囲は２足歩行ロボットに限定されない。例えば、４足歩行のペット型ロボットやその他の脚式ロボット、さらには脚式以外の移動ロボットに対して本発明を適用しても、同様の作用効果を奏することは言うまでもない。
【０１９５】
要するに、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１９６】
【発明の効果】
以上詳記したように、本発明によれば、様々な路面上を可動脚によって歩行その他の脚式移動作業を行うことができる、優れた脚式移動ロボットを提供することができる。
【０１９７】
また、本発明によれば、表面状態が不知の路面上を可動脚によって歩行その他の好適な脚式移動作業を行うことができる、優れた脚式移動ロボットを提供することができる。
【０１９８】
また、本発明によれば、路面の表面状態に応じて適応的な脚式移動作業を行うことができる、優れた脚式移動ロボットを提供することができる。
【０１９９】
また、本発明によれば、歩行などの脚式移動作業の最中に、路面と接地脚との間に相対移動（滑り）が起こり、この結果、予定又は計画された軌道と実際の起動との間にずれが発生した場合であっても、適応的に動作制御を行うことができる、優れた脚式移動ロボットを提供することができる。
【０２００】
また、本発明によれば、歩行などの脚式移動作業の最中に、路面に対する各足の相対移動（滑り）を認識又は測定して、計画軌道を修正するなど適応的な動作制御を行うことができる、優れた脚式移動ロボットを提供することができる。
【０２０１】
また、本発明によれば、間接的な測定ではなく、直接足部との路面との祖相対移動量を測定することができるので、脚式移動ロボットに対する足裏感覚の実現手法の１つとなり得る。また、脚部との路面との相対移動量を直接的且つ正確に測定することで、ロボットの歩行その他の動作における高速な軌道修正が可能となる。
【０２０２】
また、このような足部の相対移動の測定結果に従って、計画外の状況発生をより高速に認知することができ、以降の行動計画に適応的且つ迅速に反映させることが可能となる。例えば、足が滑った際には、腰又は体幹部に設置した姿勢センサよりも応答が速いので、行動計画の修正に有利である。また、歩行中に滑り易い路面に突入した場合であっても、実際に姿勢が不安定な状態に陥る以前に滑りに起因する危険を予測することができる。
【０２０３】
また、本発明によれば、足部と路面との相対移動量を直接的に測定することで、ロボットに搭載される他の計測システムの負担を軽減したり省略することが可能となる。例えば、ジャイロ・センサへの要求精度が軽減されるし、カメラなどからの入力画像に対して高度な演算処理を行う必要がなくなる。
【図面の簡単な説明】
【図１】脚式移動ロボットが、右脚を持ち上げた、左脚による単脚支持期の状態を示した図である。
【図２】脚式移動ロボットの右足が接地した両脚支持期の状態を示した図である。
【図３】脚式移動ロボットが左脚を持ち上げた、右脚による単脚支持期、の状態を示した図である。
【図４】脚式移動ロボットの左足が接地した両脚支持期の状態を示した図である。
【図５】脚式移動ロボットが左脚による単脚支持期に左足が路面に対し相対移動（滑り）を発生した様子を示した図である。
【図６】脚式移動ロボットが左脚による単脚支持期に、左足が路面に対し路面法法線方向（ヨー軸）まわりに回転するという相対移動（滑り）を発生した様子を示した図である。
【図７】本発明の実施に供される脚式移動ロボット１００を前方から眺望した様子を示した図である。
【図８】本発明の実施に供される脚式移動ロボット１００を後方から眺望した様子を示した図である。
【図９】本実施例に係る脚式移動ロボット１００が具備する自由度構成モデルを模式的に示した図である。
【図１０】本実施例に係る脚式移動ロボット１００の制御システム構成を模式的に示した図である。
【図１１】本実施例に係る脚式移動ロボット１００の足部足裏の構成例を示した図である。
【図１２】足部の路面平行方向に対する相対移動量を測定可能な相対移動測定センサ１１０４の構成例を示した図である。
【図１３】足部の路面平行方向に対する相対移動量を測定可能な相対移動測定センサ１１０４の他の構成例を示した図である。
【図１４】画像処理演算部１４０５において微小時間間隔毎の撮像画像を比較演算する様子を示した図である。
【図１５】足部の路面法線まわりの相対移動量を測定可能な相対移動測定センサ１１０４の構成例を示した図である。
【図１６】各々の相対移動測定センサ１５０４−及び１５０４−２において算出される、足部１５０１における路面平行方向の微小時間間隔毎の相対移動量を示した図である。
【図１７】微小時間間隔毎に測定した路面平行方向の相対移動量を時系列に従って連結して、路面法線まわりの相対移動量を求める様子を示した図である。
【図１８】足部の路面に対する相対移動が路面法線まわりの成分を含まない場合の各相対移動測定センサ１５０４−１及び１５０４−２における測定結果を模式的に示した図である。
【図１９】足部の路面に対する相対移動が路面法線まわりの成分を含む場合の各相対移動測定センサ１５０４−１及び１５０４−２における測定結果を模式的に示した図である。
【図２０】脚式移動ロボット１００の歩行中に足部と路面との相対移動量の測定結果を以降の行動計画に反映させる形態を例示した図である。
【図２１】路面接地時の足部の入射角が小さい場合の接地動作を描写した図である。
【図２２】路面接地時の足部の入射角が大きい場合の接地動作を描写した図である。
【図２３】足底に滑りが発生したときにリアルタイムで歩行パターンを修正するための処理手順を示したフローチャートである。
【図２４】足底に滑りが発生したときの歩行パターンをオフラインで生成する処理手順を示したフローチャートである。
【図２５】本実施例に係る歩行制御の計算のために導入される、脚式移動ロボット１００の線形且つ非干渉の多質点近似モデルを示した図である。
【図２６】図２１に示した脚式移動ロボット１００の多質点近似モデルにおける腰部周辺の拡大図である。
【図２７】脚式移動ロボット１００の歩行パターンを生成するための処理手順を示したフローチャートである。
【図２８】脚式移動ロボット１００の歩行パターンを生成する処理手順の他の例を示したフローチャートである。
【符号の説明】
１…頭部，２…首関節ヨー軸
３…首関節ピッチ軸，４…首関節ロール軸
５…体幹ピッチ軸，６…体幹ロール軸
７…体幹ヨー軸，８…肩関節ピッチ軸
９…肩関節ロール軸，１０…上腕ヨー軸
１１…肘関節ピッチ軸，１２…前腕ヨー軸
１３…手首関節ピッチ軸，１４…手首関節ロール軸
１５…手部，１６…股関節ヨー軸
１７…股関節ピッチ軸，１８…股関節ロール軸
１９…膝関節ピッチ軸，２０…足首関節ピッチ軸
２１…足首関節ロール軸，２２…足部（足底）
１００…脚式移動ロボット
２００…思考制御モジュール
２０１…バス・インターフェース
２１１…ＣＰＵ，２１２…ＲＡＭ，２１３…ＲＯＭ
２１４…外部記憶装置
２５１…画像入力装置（ＣＣＤカメラ）
２５２…音声入力装置（マイク）
２５３…音声出力装置（スピーカ）
２５４…通信インターフェース
３００…運動制御モジュール
３０１…バス・インターフェース
３１１…ＣＰＵ，３１２…ＲＡＭ，３１３…ＲＯＭ
３１４…外部記憶装置
３５１…姿勢センサ
３５２，３５３…接地確認センサ
３５４…電源制御装置
１１０１…足部，１１０２…足部フレーム
１１０３…脚部連結部，１１０４…相対移動測定センサ
１１０５〜１１０８…路面接地センサ
１１０９…センサ入力処理部
１３０１…ボール，１３０２…センサ・ケース
１３０３…Ｘ軸回転ローラ，１３０４…Ｙ軸回転ローラ
１３０５…ローラ，１３０６…バネ
１３０７…Ｘ軸方向回転エンコーダ
１３０８…Ｙ軸方向回転エンコーダ
１３０９…カウンタ，１３１０…演算処理部
１４０１…発光部，１４０２…発光レンズ部
１４０３…撮像レンズ部，１４０４…撮像素子部
１４０５…画像処理演算部，１４０６…相対移動量演算部
１４０７…通信処理部
１１０９…センサ入力処理演算部，１１１０…センサ情報通信処理部
【図１】
0004480843.tif 000006
【図２】
0004480843.tif 000007
【図３】
0004480843.tif 000008
【図４】
0004480843.tif 000009
【図５】
0004480843.tif 000010
【図６】
0004480843.tif 000011
【図７】
0004480843.tif 000012
【図８】
0004480843.tif 000013
【図９】
0004480843.tif 000014
【図１０】
0004480843.tif 000015
【図１１】
0004480843.tif 000016
【図１２】
0004480843.tif 000017
【図１３】
0004480843.tif 000018
【図１４】
0004480843.tif 000019
【図１５】
0004480843.tif 000020
【図１６】
0004480843.tif 000021
【図１７】
0004480843.tif 000022
【図１８】
0004480843.tif 000023
【図１９】
0004480843.tif 000024
【図２０】
0004480843.tif 000025
【図２１】
0004480843.tif 000026
【図２２】
0004480843.tif 000027
【図２３】
0004480843.tif 000028
【図２４】
0004480843.tif 000029
【図２５】
0004480843.tif 000030
【図２６】
0004480843.tif 000031
【図２７】
0004480843.tif 000032
【図２８】
0004480843.tif 000033