(57)【要約】【課題】  様々な外力に対して脚式移動ロボットを適応的に姿勢制御して、転倒することなく作業を継続する。【解決手段】  脚式移動ロボットがある所定の質量を持つ対象物を蹴るとき、ボールから受ける反力によってロボットが転倒することを回避することができる。蹴る対象物の質量や反発係数が不明であっても、充分低い速度で何度か蹴るという作業を事前に行い、実際に蹴るときの反力を予測することができる。この結果、任意の速度で蹴っても、姿勢安定性を維持することが可能である。脚式移動ロボットは、例えば、サッカーを始めとする球技や、外力を受けながら役目を果たすその他の競技種目に対して、プレイヤとして参加することができる。【選択図】  図６
2005022081.tif 000002
【特許請求の範囲】
【請求項１】
２以上の可動脚と、
前記可動脚に連結された上体部と、
外部対象物から前記可動脚に印加される外力を検出する外力検出手段と、
前記外力検出手段による検出結果に従い前記可動脚又は上体部の動作を適応的に制御する制御手段と、
を具備することを特徴とするロボット装置。
【請求項２】
前記外力検出手段は、前記可動脚の１つが外部対象物を蹴ったときに受ける反力を検出し、
前記制御手段は、該検出された反力に従い前記可動脚又は上体部の動作を適応的に制御する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
質量又は反発係数などが不明な外部対象物を前記可動脚の１つを用いて所定速度で蹴る場合には、
該可動脚は前記所定速度よりも低い速度で該外部対象物を蹴り、
前記制御手段は、このときの外力検出手段の出力に基づいて前記所定速度で該外部対象物を蹴ったときの質量又は反発係数を予測し、実際に前記所定速度で該外部対象物を蹴るときには該予測結果に従って前記可動脚又は上体部の動作を適応的に制御する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項４】
可動部を有するロボット装置において、
対象物を検出する検出手段と、
前記ロボットの可動部を用いて前記対象物を動かす際に、前記対象物から前記ロボットに対する反力を予測する反力予測手段と、
前記予測した反力に基づいて運動パターンを生成する運動パターン生成手段と、
前記生成した運動パターンに適応させて前記ロボットの可動部を制御し、前記対象物を動かす制御手段と、
を具備することを特徴とするロボット装置。
【請求項５】
２以上の可動脚と、前記可動脚に連結された上体部とを備えたロボット装置の制御方法において、
外部対象物から前記可動脚に印加される外力を検出する外力検出ステップと、
前記外力検出ステップにおける検出結果に従い前記可動脚又は上体部の動作を適応的に制御する制御ステップと、
を具備することを特徴とするロボット装置の制御方法。
【請求項６】
前記外力検出ステップでは、前記可動脚の１つが外部対象物を蹴ったときに受ける反力を検出し、
前記制御ステップでは、該検出された反力に従い前記可動脚又は上体部の動作を適応的に制御する、
ことを特徴とする請求項５に記載のロボット装置の制御方法。
【請求項７】
質量又は反発係数などが不明な外部対象物を前記可動脚の１つを用いて所定速度で蹴る場合には、
該可動脚は前記所定速度よりも低い速度で該外部対象物を蹴り、
前記制御ステップは、このときの外力検出ステップにおける出力に基づいて前記所定速度で該外部対象物を蹴ったときの質量又は反発係数を予測し、実際に前記所定速度で該外部対象物を蹴るときには該予測結果に従って前記可動脚又は上体部の動作を適応的に制御する、
ことを特徴とする請求項５に記載のロボット装置の制御方法。
【請求項８】
可動部を有するロボット装置の制御方法において、
対象物を検出する検出ステップと、
前記ロボット装置の可動部を用いて前記対象物を動かす際に、前記対象物から前記ロボット装置に対する反力を予測する反力予測ステップと、
前記予測した反力に基づいて運動パターンを生成する運動パターン生成ステップと、
前記生成した運動パターンに適応させて前記ロボット装置の可動部を制御し、前記対象物を動かす制御ステップと、
を具備することを特徴とするロボット装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生体のメカニズムや動作をモデル化して構成されるリアリスティックなロボットの制御メカニズムに係り、特に、ヒトやサルなどの脚式移動型動物の身体メカニズムをモデル化した脚式移動型ロボットの制御メカニズムに関する。
【０００２】
更に詳しくは、本発明は、人間の住空間・住環境において広く適用することができる脚式移動型ロボットの制御メカニズムに係り、特に、様々な外力に対して適応的に姿勢制御して、転倒することなく作業を継続することができる脚式移動型ロボットの制御方法メカニズムに関する。
【背景技術】
【０００３】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語のＲＯＢＯＴＡ（奴隷機械）に由来すると言われている。わが国では、ロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（ｉｎｄｕｓｔｒｉａｌ ｒｏｂｏｔ）であった。
【０００４】
最近では、ヒトやサルなどの２足直立歩行を行う動物の身体メカニズムや動作を模した脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。２足直立による脚式移動は、クローラ式や、４足又は６足式などに比し不安定で姿勢制御や歩行制御が難しくなるが、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できるという点で優れている。
【０００５】
ヒトの生体メカニズムや動作をエミュレートした脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット（ｈｕｍａｎｏｉｄ ｒｏｂｏｔ）と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援などを行うことができる。
【０００６】
人間形若しくは人間型と呼ばれるロボットを研究・開発する意義を、例えば以下の２つの視点から把握することができよう。
【０００７】
１つは、人間科学的な視点である。すなわち、人間の下肢及び／又は上肢に似た構造のロボットを作り、その制御方法を考案して、人間の歩行動作をシミュレートするというプロセスを通じて、歩行を始めとする人間の自然な動作のメカニズムを工学的に解明することができる。このような研究成果は、人間工学、リハビリテーション工学、あるいはスポーツ科学など、人間の運動メカニズムを扱う他のさまざまな研究分野の進展に大いに還元することができるであろう。
【０００８】
もう１つは、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援を行うロボットの開発である。この種のロボットは、人間の生活環境のさまざまな局面において、人間から動作や作法を教わりながら個々に個性の相違する人間又は環境への適応方法を学習し、機能面でさらに成長していく必要がある。このとき、ロボットが「人間形」すなわち人間と同じ形又は同じ構造をしている方が、人間とロボットとのスムースなコミュニケーションを行う上で有効に機能するものと考えられる。
【０００９】
例えば、踏んではならない障害物を避けながら部屋を通り抜ける方法を実地においてロボットに教示するような場合、クローラ式や４足式ロボットのように教える相手が自分と全く違う構造をしているよりも、同じような格好をしている２足歩行ロボットの方がユーザ（作業員）ははるかに教え易く、またロボットにとっても教わり易い筈である（例えば、非特許文献１を参照のこと）。
【００１０】
人間の作業空間や居住空間のほとんどは、２足による直立歩行という人間が持つ身体メカニズムや行動様式に合わせて形成されている。言い換えれば、人間の住空間は、車輪その他の駆動装置を移動手段とした現状の機械システムが移動するのには多くの障壁が存在する。したがって、機械システムすなわちロボットが様々な人的作業を代行し、さらに人間の住空間に深く浸透していくためには、ロボットの移動可能範囲が人間のそれとほぼ同じであることが好ましい。これが、脚式移動ロボットの実用化が大いに期待されている所以でもある。人間型の形態を有していることは、ロボットが人間の住環境との親和性を高める上で必須であると言える。
【００１１】
人間型ロボットの用途の１つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業の代行である。
【００１２】
また、人間型ロボットの他の用途として、難作業の代行などの生活支援というよりも、生活密着型、すなわち人間との「共生」という用途が挙げられる。この種のロボットは、ヒトやサルなどの２足の直立歩行を行う動物が本来持つ、全身協調型の動作メカニズムを忠実に再現し、その自然に円滑な動作を実現することを至上の目的とする。また、ヒトやサルなどの知性の高い直立動物をエミュレートする以上、四肢を用いた動作が生体として自然であり、且つ、動作が持つ表現力が豊かであることが望ましい。さらに、予め入力された動作パターンを単に忠実に実行するだけではなく、相手の言葉や態度（「褒める」とか「叱る」、「叩く」など）に呼応した、生き生きとした動作表現を実現することも要求される。この意味において、ヒトを模したエンターティンメント指向の人間型ロボットは、まさに「人間型」のロボットと呼ぶに相応しい。
【００１３】
既に周知のように、人体は数百の関節すなわち数百に上る自由度を備えている。限りなくヒトに近い動作を脚式移動ロボットに付与するためには、ほぼ同じ自由度を与えることが好ましいが、これは技術的には極めて困難である。何故ならば、１つの自由度に対して少なくとも各１つのアクチュエータを配設する必要があるが、数百のアクチュエータをロボットという機械装置上に実装することは、製造コストの点からも、重量やサイズなど設計の観点からも不可能に等しい。また、自由度が多いと、その分だけロボットの位置・動作パターン制御や姿勢安定制御等のための計算量が指数関数的に増大してしまう。
【００１４】
このため、人体よりもはるかに少ない数十程度の関節自由度で人間型ロボットを構成するのが一般的である。したがって、少ない自由度を用いてより自然な動作を如何にして実現するかが、人間型ロボットの設計・制御において重要な課題の１つといえる。
【００１５】
また、２足直立歩行を行う脚式移動ロボットは、柔軟な歩行・走行動作（例えば階段の昇降や障害物の乗り越え等）を実現できる点で優れている反面、脚の本数が少なくなるとともに、重心位置が高くなるため、その分だけ姿勢制御や安定歩行制御が難しくなる。特に、生活密着型のロボットの場合、ヒトやサルなどの知性動物における自然な動作や感情を豊かに表現しながら全身の姿勢や安定歩行を制御しなければならない。
【００１６】
２足歩行による脚式移動型ロボットに関する姿勢制御や安定歩行に関する技術は既に数多提案されている。ここで言う安定な「歩行」とは、「転倒することなく、脚を使って移動すること」と定義することができよう。
【００１７】
脚式移動ロボットの姿勢安定制御は、ロボットの転倒を回避する上で非常に重要である。何故ならば、転倒は、ロボットが実行中の作業を中断することを意味し、且つ、転倒状態から起き上がって作業を再開するために相当の労力や時間が払われるからである。また、何よりも、転倒によって、ロボット本体そのものだけでなく、転倒するロボットと衝突する相手側の物体にも、致命的な損傷を与えてしまう危険があるからである。したがって、脚式移動ロボットの設計・開発において、姿勢安定制御や歩行時の転倒防止は最も重要な課題の１つであると言えよう。
【００１８】
歩行時には、重力と歩行運動に伴なって生じる加速度によって、歩行系から路面には重力と慣性力、並びにこれらのモーメントが作用する。いわゆる「ダランベールの原理」によると、それらは路面から歩行系への反作用としての床反力、床反力モーメントとバランスする。力学的推論の帰結として、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にピッチ及びロール軸モーメントがゼロとなる点、すなわち「ＺＭＰ（Ｚｅｒｏ Ｍｏｍｅｎｔ Ｐｏｉｎｔ）」が存在する（例えば、非特許文献２を参照のこと）。
【００１９】
脚式移動ロボットの姿勢安定制御や歩行時の転倒防止に関する提案の多くは、このＺＭＰを歩行の安定度判別の規範として用いている。ＺＭＰ規範に基づく２足歩行パターン生成は、足底着地点を予め設定でき、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。
【００２０】
例えば、特許文献１には、脚式移動ロボットの歩行制御装置について開示している。同公報に記載の歩行制御装置は、ＺＭＰ、すなわち歩行するときの床反力によるモーメントがゼロとなる床面上の点を目標値に一致させるように制御するものである。
【００２１】
また、特許文献２に記載の脚式移動ロボットは、ＺＭＰが支持多面体（多角形）内部、又は、着地、離床時にＺＭＰが支持多面体（多角形）の端部から少なくとも所定の余裕を有する位置にあるように構成した。この結果、外乱などを受けても所定距離だけＺＭＰの余裕があり、歩行の安定性の向上を図ることができる。
【００２２】
また、特許文献３には、脚式移動ロボットの歩き速度をＺＭＰ目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、予め設定された歩行パターン・データを用い、ＺＭＰを目標位置に一致させるように脚部関節を駆動するとともに、上体の傾斜を検出して、その検出値に応じて設定された歩行パターン・データの吐き出し速度を変更するようにしている。この結果、予期しない凹凸を踏んでロボットが例えば前傾するときは吐き出し速度を速めることで姿勢を回復できる。またＺＭＰが目標位置に制御できるので、両脚支持期において吐き出し速度を変更しても支障がない。
【００２３】
また、特許文献４には、脚式移動ロボットの着地位置をＺＭＰ目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、ＺＭＰ目標位置と実測位置とのずれを検出して、それを解消する様に脚部の一方または双方を駆動するか、又は、ＺＭＰ目標位置回りにモーメントを検出してそれが零になる様に脚部を駆動することで安定歩行を行うようになっている。
【００２４】
また、特許文献５には、脚式移動ロボットの傾斜姿勢をＺＭＰ目標位置によって制御する点について開示している。すなわち、同公報に記載の脚式移動ロボットは、ＺＭＰ目標位置回りのモーメントを検出し、モーメントが生じているときは、それが零になるように脚部を駆動することで安定歩行を行うようになっている。
【００２５】
【特許文献１】特開平５−３０５５７９号公報
【特許文献２】特開平５−３０５５８１号公報
【特許文献３】特開平５−３０５５８３号公報
【特許文献４】特開平５−３０５５８５号公報
【特許文献５】特開平５−３０５５８６号公報
【非特許文献１】高西著「２足歩行ロボットのコントロール」（自動車技術会関東支部＜高塑＞Ｎｏ．２５，１９９６ＡＰＲＩＬ）
【非特許文献２】ヴコブラトビッチ（Ｍｉｏｍｉｒ Ｖｕｋｏｂｒａｔｏｖｉｃ）著「脚式移動ロボット（ＬＥＧＧＥＤ ＬＯＣＯＭＯＴＩＯＮ ＲＯＢＯＴＳ）」（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））
【発明の開示】
【発明が解決しようとする課題】
【００２６】
脚式移動ロボットが歩行動作時に受ける外力は、路面から歩行系への反作用としての床反力である。したがって、足底接地点と路面の形成する支持多角形の辺上あるいはその内側にピッチ及びロール軸モーメントがゼロとなるＺＭＰを探索することで、安定歩行動作を実現することができる。上述した各従来技術は、床反力に対して適応的に制御を行うものである。
【００２７】
しかしながら、脚式移動ロボットが、人間と同じ住空間・住環境において、様々な人的な作業の支援や代行をし、さらには人間との共存を究極目的として標榜する以上、脚式移動ロボットが現実に行う作業は単なる歩行動作だけには限定されない。
【００２８】
この当然の帰結として、脚式移動ロボットが人間の住空間・住環境において受ける外力は床反力には限定されない。
【００２９】
例えば、エンターティンメント指向の人間型ロボットにおいては、サッカー・ゲームのような球技に、プレーヤとして参加することもある。このような場合、サッカー・ボールのキック時、あるいはヘディング時において、脚部や頭部に外力を受けることが想定される。また、空手のような競技においては、技を決めるとき、あるいは相手の技をかわすときには、腕部や脚部に相当程度の外力が印加されるであろう。
【００３０】
例えば、より強い速度でサッカー・ボールのような対象物を蹴ろうとするとき、ボールから強烈な反力を受ける結果として、姿勢が不安定になり、さらには転倒してしまう可能性さえある。ロボットが転倒すると、作業が中断するばかりでなく、転倒時の衝撃によりロボットが致命的な損傷を受けることがある。さらに、転倒時に衝突する相手も破損することさえある。
【００３１】
したがって、脚式移動ロボットを、人間の住空間・住環境において広く適用するためには、様々な外力を想定して適応的に制御する必要がある。
【００３２】
本発明は上述した技術的課題を鑑みたものであり、その主な目的は、人間の住空間・住環境において広く適用することができる、脚式移動型ロボットの制御メカニズムを提供することにある。
【００３３】
本発明の更なる目的は、様々な外力に対して適応的に姿勢制御して、転倒することなく作業を継続することができる脚式移動型ロボットの制御方法メカニズムを提供することにある。
【課題を解決するための手段】
【００３４】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、少なくとも下肢と体幹部と腰部で構成される脚式移動ロボットを外力に対して適応的に制御するための動作制御装置又は動作制御方法であって、
（ａ）要求された動作を実現するための足部運動、体幹運動、上肢運動、腰部の姿勢及び高さを設定する手段又はステップと、
（ｂ）前記手段又はステップ（ａ）により設定された足部運動に基づいてＺＭＰ軌道を設定する手段又はステップと、
（ｃ）前記脚式移動ロボットが受ける外力パターンを設定する手段又はステップと、
（ｄ）設定された足部運動、体幹運動、上肢運動、腰部の姿勢及び高さ、及び外力パターンに基づいて、前記手段又はステップ（ｂ）により設定されたＺＭＰ上で生じるモーメントを算出する手段又はステップと、
（ｅ）前記手段又はステップ（ｄ）において算出されたモーメントが釣り合う腰部運動の解を求める手段又はステップと、
（ｆ）腰部運動の解に基づいて前記脚式移動ロボットの全身運動を実行する手段又はステップと、
を具備することを特徴とする脚式移動ロボットの動作制御装置又は動作制御方法である。
【００３５】
また、本発明の第２の側面は、少なくとも下肢と体幹部と腰部で構成される脚式移動ロボットを外力に対して適応的に制御するための動作制御装置又は動作制御方法であって、
（Ａ）要求された動作を実現するための足部運動、体幹運動、上肢運動、腰部の姿勢及び高さを設定する手段又はステップと、
（Ｂ）前記手段又はステップ（Ａ）により設定された足部運動に基づいてＺＭＰ軌道を設定する手段又はステップと、
（Ｃ）前記脚式移動ロボットが受ける外力パターンを設定する手段又はステップと、
（Ｄ）設定された足部運動、体幹運動、上肢運動、腰部の姿勢及び高さ、及び外力パターンの各々によって、前記手段又はステップ（Ｂ）により設定されたＺＭＰ上で生じるモーメントを算出する手段又はステップと、
（Ｅ）前記ロボットの非厳密モデルを用いて前記手段又はステップ（Ｄ）により算出されたモーメントが釣り合う腰部運動の近似解を求める手段又はステップと、
（Ｆ）前記ロボットの厳密モデルを用いて、前記手段又はステップ（Ｄ）により算出されたモーメントが釣り合う腰部運動の近似解を求める手段又はステップと、
（Ｇ）前記手段又はステップ（Ｅ）及び手段又はステップ（Ｆ）の各近似解の差が所定の許容値未満であれば腰部運動の解とする手段又はステップと、
（Ｈ）前記手段又はステップ（Ｅ）及び手段又はステップ（Ｆ）の各近似解の差が所定の許容値以上であれば、設定ＺＭＰ上における非厳密モデルのモーメントを修正して、前記手段又はステップ（Ｅ）に再投入する手段又はステップと、
（Ｉ）腰部運動の解に基づいて前記脚式移動ロボットの全身運動を実行する手段又はステップと、
を具備することを特徴とする脚式移動ロボットの動作制御装置又は動作制御方法である。
【００３６】
本発明の第２の側面に係る動作制御装置又は動作制御方法において、前記非厳密モデルは前記ロボットに関する線形及び／又は非干渉の多質点近似モデルであり、また、前記厳密モデルは前記ロボットに関する剛体モデル、又は、非線形及び／又は干渉の多質点近似モデルであってもよい。
【００３７】
また、本発明の第２の側面に係る動作制御装置又は動作制御方法は、さらに、
（Ｅ’）前記の非厳密モデルを用いて腰部運動の近似解を求める手段又はステップ（Ｅ）において求めた近似解では予め設定した体幹・上肢運動が実現できない場合に、体幹・上肢運動パターンの再設定・修正を行う手段又はステップを備えてもよい。
【００３８】
また、前記の非厳密モデルを用いて腰部運動の近似解を求める手段又はステップ（Ｅ）は、足部運動、体幹運動、上肢運動、及び外力パターンによって生じる設定ＺＭＰ上のモーメントと、腰部の水平面内運動によって生じる設定ＺＭＰ上のモーメントとの釣合方程式を解くことによって腰部運動の近似解を求めるようにしてもよい。
【００３９】
また、前記の非厳密モデルを用いて腰部運動の近似解を求める手段又はステップ（Ｅ）は、時間の関数を周波数の関数に置き換えて計算するようにしてもよい。
【００４０】
また、前記の非厳密モデルを用いて腰部運動の近似解を求める手段又はステップ（Ｅ）は、足部運動、体幹運動、上肢運動、及び外力パターンによって生じる設定ＺＭＰ上のモーメントにフーリエ級数展開を適用するとともに、腰部の水平面内運動にフーリエ級数展開を適用して、腰部水平面内軌道のフーリエ係数を算出して、さらに逆フーリエ級数展開を適用することによって腰部運動の近似解を求めるようにしてもよい。
【００４１】
また、前記外力パターンを設定する手段又はステップ（Ｃ）は、対象物に対して所定速度で衝撃を加えたときに受ける外力パターンを、該所定速度よりも低い速度で該対象物に衝撃を加えたときに受けた外力の時間的経過及び力作用点を基にして予測するようにしてもよい。
【００４２】
また、本発明の第３の側面は、
２以上の可動脚と、
前記可動脚に連結された上体部と、
外部対象物から前記可動脚に印加される外力を検出する外力検出手段と、
前記外力検出手段による検出結果に従い前記可動脚及び／又は上体部の動作を適応的に制御する制御手段と、
を具備することを特徴とする脚式移動ロボットである。
【００４３】
本発明の第３の側面に係る脚式移動ロボットは、例えば可動脚の１つを用いてボールなどの外部対象物を蹴ることができる。前記外力検出手段は前記可動脚の１つが外部対象物を蹴ったときに受ける反力を検出し、また、前記制御手段は該検出された反力に従い前記可動脚及び／又は上体部の動作を適応的に制御することができる。
【００４４】
また、脚式移動ロボットが、質量及び／又は反発係数などが不明な外部対象物を前記可動脚の１つを用いて所定速度で蹴る場合には、該可動脚は前記所定速度よりも低い速度で該外部対象物を試しに蹴ってみればよい。このような場合、前記制御手段は、このときの外力検出手段の出力に基づいて前記所定速度で該外部対象物を蹴ったときの質量及び／又は反発係数を予測し、学習することができる。次いで、実際に前記所定速度で該外部対象物を蹴るときには、このような予測・学習結果に従って前記可動脚及び／又は上体部の動作を適応的に制御することが可能となる。
【００４５】
本発明に係る脚式移動ロボットによれば、ある所定の質量を持つ対象物を蹴る動作を実行するような場合、蹴ったボールから受ける反力などの外力によってロボットが転倒するという事態を好適に回避することができる。
【００４６】
さらに、「蹴る」という単一の動作に限定されず、手や頭、胴体など全身の一部を利用して対象物に所定の運動を生じさせるような作業全般においても、脚式移動ロボットの姿勢安定性を維持しながら動作を継続することが可能となる。
【００４７】
また、蹴るという動作を行う場合などで、サッカー・ボールなど蹴る対象物の質量や反発係数が不明であっても、姿勢安定性に問題のない低速度で何度か試しに蹴ってみるという作業を事前に行い、実際に高速で蹴るときに受ける反力を予測することができる。この結果、任意の速度で外部対象物を蹴っても、姿勢安定性を維持することが可能である。
【００４８】
本発明を実装した脚式移動ロボットは、例えば、サッカーを始めとする球技や、外力を受けながらルールに従い所定の役目を果たすその他の競技種目に対して、プレーヤとして参加することができる。
【発明の効果】
【００４９】
本発明によれば、人間の住空間・住環境において広く適用することができる、脚式移動型ロボットの制御メカニズムを提供することができる。
【００５０】
また、本発明によれば、様々な外力に対して適応的に姿勢制御して、転倒することなく作業を継続することができる脚式移動型ロボットの制御方法メカニズムを提供することができる。
【００５１】
本発明に係る脚式移動ロボットによれば、ある所定の質量を持つ対象物を蹴る動作を実行するような場合、蹴ったボールから受ける反力などの外力によってロボットが転倒することを好適に回避することができる。
【００５２】
さらに、「蹴る」という単一の動作に限定されず、手や頭、胴体など全身の一部を利用して対象物に所定の運動を生じさせるような作業全般においても、脚式移動ロボットの姿勢安定性を維持しながら動作を継続することが可能となる。
【００５３】
また、蹴るという動作を行う場合などで、蹴る対象物の質量や反発係数が不明であっても、姿勢安定性に問題のない低速度で何度か蹴るという作業を事前に行い、実際に蹴るときの反力を予測することができる。この結果、任意の速度で蹴っても、姿勢安定性を維持することが可能である。
【００５４】
本発明を実装した脚式移動ロボットは、例えば、サッカーを始めとする球技や、外力パターンを受けながらルールに従い所定の役目を果たすその他の競技種目に対して、プレーヤとして参加することができる。
【００５５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００５６】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００５７】
図１及び図２には本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット１００は、脚式移動を行う左右２足の下肢と、体幹部と、左右の上肢と、頭部と、制御部とで構成される。
【００５８】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【００５９】
制御部は、この脚式移動ロボット１００を構成する各関節アクチュエータの駆動制御や各センサ（後述）などからの外部入力を処理するコントローラ（主制御部）や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。また、図１及び図２に示す例では、脚式移動ロボット１００が制御部を背中に背負うような格好となっているが、制御部の設置場所は特に限定されない。
【００６０】
本実施例に係る脚式移動ロボット１００は、外力に対して適応的な制御を行う前提として、外力が印加されると想定される部位には外力を検出する機構が設けられているものとする。例えば、脚式移動ロボット１００がサッカー・ゲームの選手として参加するような場合、ボールのような外部対象物を蹴ることによって外力を受ける足部には力センサが配設されている。
【００６１】
図３には、力センサを装着した足平を図解している。同図に示す例では、足平前面に力センサが貼設されており、足平に対して任意の方向から印可された外力を検出することができる。力センサとしては、例えば印加される力に応じた電気抵抗値を示すＦＳＲ（Ｆｏｒｃｅ Ｓｅｎｓｉｔｉｖｅ Ｒｅｓｉｓｔｅｒ）などのデバイスを採用することかできる。
【００６２】
さらに、図４には、本実施例に係る脚式移動ロボット１００が具備する関節自由度構成を模式的に示している。図示の通り、脚式移動ロボット１００は、２本の腕部と頭部１を含む上体と、移動動作を実現する２本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成される。
【００６３】
頭部１を支持する首関節は、首関節ヨー軸２と、首関節ピッチ軸３と、首関節ロール軸４という３自由度を有している。
【００６４】
また、各腕部は、肩関節ピッチ軸８と、肩関節ロール軸９と、上腕ヨー軸１０と、肘関節ピッチ軸１１と、前腕ヨー軸１２と、手首関節ピッチ軸１３と、手首関節ロール軸１４と、手部１５とで構成される。手部１５は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部１５の動作自体は、ロボット１００の姿勢安定制御や歩行動作制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、左右の各腕部は７自由度を有するとする。
【００６５】
また、体幹部は、体幹ピッチ軸５と、体幹ロール軸６と、体幹ヨー軸７という３自由度を有する。
【００６６】
また、下肢を構成する左右各々の脚部は、股関節ヨー軸１６と、股関節ピッチ軸１７と、股関節ロール軸１８と、膝関節ピッチ軸１９と、足首関節ピッチ軸２０と、関節ロール軸２１と、足部（足底）２２とで構成される。股関節ピッチ軸１７と股関節ロール軸１８の交点は、本実施例に係るロボット１００の股関節位置を定義するものとする。人体の足部（足底）２２は、実際には多関節・多自由度の足底を含んだ構造体であるが、本実施例に係る脚式移動ロボット１００の足底はゼロ自由度とする。したがって、左右の各脚部は６自由度で構成される。
【００６７】
以上を総括すれば、本実施例に係る脚式移動ロボット１００全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。但し、脚式移動ロボット１００が必ずしも３２個の関節自由度に限定される訳ではない。設計・製作上の制約条件や要求仕様等に応じて、関節自由度の個数を適宜増減することができることは言うまでもない。
【００６８】
脚式移動ロボット１００が持つ上述の各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。本実施例では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ＡＣサーボ・アクチュエータを搭載することとした。なお、この種のＡＣサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特願平１１−３３３８６号明細書に開示されている。
【００６９】
図５には、本実施例に係る脚式移動ロボット１００の制御システム構成を模式的に示している。同図に示すように、脚式移動ロボット１００は、ヒトの四肢を表現した各機構ユニット３０，４０，５０Ｒ／Ｌ，６０Ｒ／Ｌと、各機構ユニット間の協調動作を実現するための適応制御を行う制御ユニット８０とで構成される（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下同様）。
【００７０】
脚式移動ロボット１００全体の動作は、制御ユニット８０によって統括的に制御される。制御ユニット８０は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）チップやメモリ・チップ等の主要回路コンポーネント（図示しない）で構成される主制御部８１と、電源装置やロボット１００の各構成要素とのデータやコマンドの授受を行うインターフェース（いずれも図示しない）などを含んだ周辺回路８２とで構成される。
【００７１】
本実施例では、電源装置は、ロボット１００を自立的に駆動するためのバッテリを含んだ構成（図５には図示しない）となっている。自立駆動型であれば、人間型ロボット１００の行動半径は、電源ケーブル長や商用電源コンセントの場所などによる物理的な制限を受けることなく、自由に歩行することができる。また、歩行やその他の上肢を含めた各種の運動時に、電源ケーブルと四肢との干渉を考慮する必要がなくなり、広範囲の作業空間における移動作業（例えば、サッカー・フィールド内における疾走）を含む自律的な動作が容易になる。
【００７２】
図４に示したロボット１００内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３０には、首関節ヨー軸２、首関節ピッチ軸３、首関節ロール軸４の各々を表現する首関節ヨー軸アクチュエータＡ2、首関節ピッチ軸アクチュエータＡ3、首関節ロール軸アクチュエータＡ4がそれぞれ配設されている。
【００７３】
また、体幹部ユニット４０には、体幹ピッチ軸５、体幹ロール軸６、体幹ヨー軸７の各々を表現する体幹ピッチ軸アクチュエータＡ5、体幹ロール軸アクチュエータＡ6、体幹ヨー軸アクチュエータＡ7がそれぞれ配備されている。
【００７４】
また、腕部ユニット５０Ｒ／Ｌは、上腕ユニット５１Ｒ／Ｌと、肘関節ユニット５２Ｒ／Ｌと、前腕ユニット５３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸８、肩関節ロール軸９、上腕ヨー軸１０、肘関節ピッチ軸１１、肘関節ロール軸１２、手首関節ピッチ軸１３、手首関節ロール軸１４の各々を表現する肩関節ピッチ軸アクチュエータＡ8、肩関節ロール軸アクチュエータＡ9、上腕ヨー軸アクチュエータＡ10、肘関節ピッチ軸アクチュエータＡ11、肘関節ロール軸アクチュエータＡ12、手首関節ピッチ軸アクチュエータＡ13、手首関節ロール軸アクチュエータＡ14がそれぞれ配備されている。
【００７５】
また、脚部ユニット６０Ｒ／Ｌは、大腿部ユニット６１Ｒ／Ｌと、膝ユニット６２Ｒ／Ｌと、脛部ユニット６３Ｒ／Ｌに細分化されるが、股関節ヨー軸１６、股関節ピッチ軸１７、股関節ロール軸１８、膝関節ピッチ軸１９、足首関節ピッチ軸２０、足首関節ロール軸２１の各々を表現する股関節ヨー軸アクチュエータＡ16、股関節ピッチ軸アクチュエータＡ17、股関節ロール軸アクチュエータＡ18、膝関節ピッチ軸アクチュエータＡ19、足首関節ピッチ軸アクチュエータＡ20、足首関節ロール軸アクチュエータＡ21がそれぞれ配備されている。
【００７６】
上述した各関節アクチュエータＡ2、Ａ3…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータ（前述）である。
【００７７】
頭部ユニット３０、体幹部ユニット４０、腕部ユニット５０、各脚部ユニット６０などの機構ユニット毎に、アクチュエータ駆動制御用の副制御部３５、４５、５５、６５がそれぞれ配備されている。さらに、各脚部６０Ｒ，Ｌの足底が着床したか否かを検出する接地確認センサ９１及び９２、及び、外力検出センサ９４及び９５を装着するとともに、体幹部ユニット４０内には、姿勢を計測する姿勢センサ９３を装備している。
【００７８】
接地確認センサ９１及び９２は、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。姿勢センサ９３として例えば加速度センサを使用することができる。また、外力検出センサ９４及び９５の実体は、左右の各足平の表面などに貼設された多数の力センサ（図３を参照のこと）の集合体で構成される。
【００７９】
接地確認センサ９１及び９２の出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚いずれの状態であるかを判別することができる。また、外力検出センサ９４及び９５によって、左右の各足平に印可された外力の大きさ及びその方向を検出することができる。また、また、姿勢センサ９３の出力により、体幹部分の傾きや姿勢を検出することができる。
【００８０】
主制御部８０は、各センサ９１〜９５の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部３５、４５、５５、６５の各々に対して適応的な制御を行い、人間型ロボット１００の上肢、体幹、及び下肢の協調した動作を実現することができる。主制御部８１は、ユーザ・コマンド等に従って、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部３５、４５、５５、６５に転送する。ここで言う「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット１００の歩行動作期間中などにＺＭＰが動く軌跡を意味する。
【００８１】
そして、各々の副制御部３５、４５…では、主制御部８１から転送されてくる制御指令値を解釈して、各関節アクチュエータＡ2、Ａ3…に対して駆動制御信号を出力する。
【００８２】
本実施例では、物理的には図４に示す多関節自由度構成を具備する人間型ロボット１００を、さらに多質点近似モデルに置き換えて全身運動パターン算出のための演算処理を行うようになっている。現実の人間型ロボット１００は、無限のすなわち連続的な質点の集合体であるが、有限数で離散的な質点からなる近似モデルに置き換えることによって、その計算量を削減することができる。
【００８３】
図６には、本実施例に係る全身運動パターンの計算のために導入される、脚式移動ロボット１００の線形且つ非干渉の多質点近似モデルを図解している。
【００８４】
図６において、Ｏ−ＸＹＺ座標系は絶対座標系におけるロール、ピッチ、ヨー各軸を表し、また、Ｏ’−Ｘ’Ｙ’Ｚ’座標系は脚式移動ロボット１００とともに動く運動座標系におけるロール、ピッチ、ヨー各軸を表している。同図に示す多質点モデルでは、ｉはｉ番目に与えられた質点を表す添え字であり、ｍiはｉ番目の質点の質量、ｒi’はｉ番目の質点の位置ベクトル（但し運動座標系）を表すものとする。また、後述する全身協調運動パターン生成処理において特に重要な腰部質点の質量はｍh、その位置ベクトルはｒh’（ｒhx’，ｒhy’，ｒhz’）とし、また、ＺＭＰの位置ベクトルをｒzmp’とする。
【００８５】
また、図６において、Ｆjは脚式移動ロボット１００に対して印加されるｊ番目の外力である。本実施例では、外力Ｆjは既知であることを前提として、姿勢安定制御の計算（後述）がなされる。また、ｊ番目の外力Ｆjのｘ，ｙ，ｚ方向の各成分をそれぞれＦjx、Ｆjy、Ｆjzとし、外力Ｆjが作用する点の位置ベクトルをｒFj’（ｒFjx’，ｒFjy’，ｒFjz’）とおく。図６で示す例では、ｊ番目の外力は、ボールを左脚で蹴るときに左足平２２Ｌがボールから受ける既知の反力である。
【００８６】
図６に示す非厳密の多質点近似モデルにおいては、モーメント式は線形方程式の形式で記述され、該モーメント式はピッチ軸及びロール軸に関して干渉しない、という点を充分理解されたい。
【００８７】
このような多質点近似モデルは、概ね以下の処理手順により生成することができる。
【００８８】
（１）ロボット１００全体の質量分布を求める。
（２）それぞれ質点を設定する。質点の設定方法は、設計者のマニュアル入力であっても、所定の規則に従った自動生成のいずれでも構わない。
（３）ロボット１００の全身を所定個数の領域に分割する。さらに、各領域ｉ毎に、重心を求め、その重心位置と質量ｍiを該当する質点に付与する。領域分割は、設計者によるマニュアル処理又は自動処理のいずれであっても構わない。
（４）各質点ｍiを、質点位置ｒiを中心とし、その質量に比例した半径に持つ球体として表示する。
（５）現実に連結関係のある質点すなわち球体同士を連結する。
【００８９】
多質点近似モデルは、言わば、ワイヤフレーム・モデルの形態でロボット１００を表現したものである。本実施例では、図６を見ても判るように、この多質点近似モデルは、両肩、両肘、両手首、体幹、腰部、及び、両足首の各々を質点として設定したものである。
【００９０】
なお、図６に示す多質点モデルの腰部における各回転角（θhx，θhy，θhz）は、脚式移動ロボット１００における腰部の姿勢すなわちロール、ピッチ、ヨー軸の回転を規定するものである（図７には、脚式移動ロボット１００の多質点近似モデルにおける腰部周辺の拡大図を示しているので、確認されたい）。
【００９１】
次いで、本実施例に係る脚式移動ロボット１００が既知の外力パターンを受けたときに適応的に姿勢安定制御を行うための全身運動パターンの算出処理手順について説明する。
【００９２】
多軸ロボットは、通常、動作する前に予め生成された運動パターンに従って各関節すなわちアクチュエータを同期的に駆動制御することによって、所定の動作を実現するようになっている。本実施例に係る脚式移動ロボット１００の場合、任意の足部運動パターン、ＺＭＰ軌道、体幹運動パターン、上肢運動パターン、腰部姿勢（θhx，θhy，θhz）等の設定、及び、既知（若しくは予測可能な）外力パターンが加わるような作業環境下において、立位及び歩行などの下肢運動を伴なう安定した全身協調運動を可能とする腰部運動パターンを生成するようになっている。
【００９３】
ここで言うＺＭＰ軌道とは、脚式移動ロボット１００において足底（若しくは足裏）をある一点で床面に固定したとき、歩行やボールを蹴るなどの既知の外力を受けながら所定の動作パターンを実行する期間中において、モーメントが発生しないような点のことを言う（前述）。
【００９４】
図８には、本実施例に係る脚式移動ロボット１００が既知の外力を受けながら安定した動作を実現するための全身協調運動パターン生成の処理手順をフローチャートの形式で示している。但し、以下では、図６に示すような線形・非干渉多質点近似モデルを用いて脚式移動ロボット１００の各関節位置や動作を記述するものとし、且つ、計算に際し以下の［数１］に示すようなパラメータを用いることとする。また、ダッシュ（´）付きの記号は運動座標系のパラメータ等を記述するものと理解されたい。
【００９５】
【数１】
2005022081.tif 000003
【００９６】
また、脚式移動ロボット１００の腰部高さが一定（ｒhz’＋ｒqz＝ｃｏｎｓｔ）で、且つ、膝部質点がゼロであり、さらに、腰部運動を等速直線運動に限定することを前提とする。
【００９７】
図８に示した処理手順は、脚式移動ロボット１００の歩行やボールのキックなどの動作パターンを指示する旨のユーザ・コマンド等の入力に応答して開始する。
【００９８】
かかるユーザ・コマンドは、主制御部８１において解釈され、足部（より具体的には足底）運動、足部運動から導出されるＺＭＰ軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される（ステップＳ１１Ａ）。より具体的には、まず足部運動パターン、次いでＺＭＰ軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、腰部の運動に関しては、Ｚ’方向のみ設定し、Ｘ’及びＹ’の各方向については未知とする。
【００９９】
さらに、ステップＳ１１Ｂでは、既知の外力パターン群Ｆ1、Ｆ2、…、Ｆj…を設定する。
【０１００】
例えば、脚部によってボールを蹴るというｊ番目の外力Ｆjが未知であれば、事前にボールを蹴ってみることによって現実に印加される外力Ｆjを予測するようにしてもよい。但し、外力の予測処理手順については後に詳解する。
【０１０１】
また、外力パターンの中で、膝などのように前もって作用点を厳密に設定することができない場合には、近似的な作用点を設定してもよい。
【０１０２】
次に、線形・非干渉多質点近似モデルを用いて、足部、体幹、上肢運動、そして既知の外力パターンにより発生する設定ＺＭＰ上でのピッチ軸、ロール軸回りの各モーメント（Ｍx，Ｍy）を算出する（ステップＳ１２）。
【０１０３】
次いで、線形・非干渉多質点近似モデルを用いて、腰部水平面内運動（ｒhx’，ｒhy’）によって発生する設定ＺＭＰ上でのモーメントを算出する（ステップＳ１３）。
【０１０４】
次いで、設定ＺＭＰ上におけるモーメントに関する釣り合い式を、脚式移動ロボット１００とともに動く運動座標系Ｏ’−Ｘ’Ｙ’Ｚ’上において導出する（ステップＳ１４）。より具体的には、足部、体幹、そして上肢運動により発生するモーメント（Ｍx，Ｍy）を既知変数の項として右辺に、腰部質点の水平運動に関する項（ｒhx，ｒhy）を未知変数の項として左辺にまとめることで、線形且つ非干渉なＺＭＰ方程式を導出する。
【０１０５】
図６に示す多質点近似モデルにおいて、下式の前提条件が与えられている。
【０１０６】
【数２】
2005022081.tif 000004
【０１０７】
したがって、この場合における未知変数の項、すなわちＺＭＰ方程式の左辺は、以下の通りとなる。
【０１０８】
【数３】
2005022081.tif 000005
【０１０９】
他方、既知変数の項（Ｍx，Ｍy）は、脚式移動ロボット１００自身の脚部、体幹部、上肢運動によって生じるピッチ及びロール各軸回りのモーメント（ＭIy，ＭIx）と、ステップＳ１１Ｂにおいて与えられた外力パターン群によって生じるピッチ及びロール各軸回りのモーメント（ＭEy，ＭEx）の和で構成される。したがって、既知変数の項すなわちＺＭＰ方程式の右辺は下式の通りとなる。
【０１１０】
【数４】
2005022081.tif 000006
【０１１１】
したがって、ステップＳ１４において導出されるＺＭＰ方程式は、下式の通りとなる。
【０１１２】
【数５】
2005022081.tif 000007
【０１１３】
なお、外力パターン群により生じるピッチ及びロール各軸回りのモーメント（ＭEy，ＭEx）を、外力Ｆjを用いて表記すると、下式の通りとなる。
【０１１４】
【数６】
2005022081.tif 000008
【０１１５】
上述のようにして導出したＺＭＰ方程式を解いて、腰部水平面内軌道を算出する（ステップＳ１５）。例えば、オイラー法やルンゲ・クッタ法などの数値的解法（周知）を用いてＺＭＰ方程式を解くことで、未知変数としての腰部の水平絶対位置（ｒhx，ｒhy）の数値解を求めることができる（ステップＳ１６）。
【０１１６】
ここで求められる数値解は、安定した歩行やキック動作が可能な腰部運動パターンの近似解であり、より具体的にはＺＭＰが目標位置に入るような腰部水平絶対位置である。ＺＭＰ目標位置は、通常、着床した足底に設定される。
【０１１７】
算出された近似解上では予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う（ステップＳ１７）。この際、膝部の軌道を算出してもよい。
【０１１８】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル（すなわち、剛体、若しくは非常に多くの質点からなるロボット１００の精密なモデル）における設定ＺＭＰ上のモーメント（ｅＭx，ｅＭy）を算出する（ステップＳ１８）。非厳密モデルでは上記の［数２］が成立することを前提としたが、厳密ではかかる前提を要しない（すなわち時間の変化に対して一定である必要はない）。
【０１１９】
厳密モデルにおけるモーメント（ｅＭx，ｅＭy）は、腰部運動の発生するモーメント誤差である。続くステップＳ１９では、このモーメント（ｅＭx，ｅＭy）が非厳密モデルにおける近似モーメントの許容値（εＭx，εＭy）未満か否かを判定する。許容値ε未満であれば、腰部安定運動パターンの厳密解及び安定したボール・キックなどの動作を実現できる全身運動パターンを得ることができたので（ステップＳ２０）、本処理ルーチン全体を終了する。
【０１２０】
他方、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）が近似モデルにおけるモーメントの許容値（εＭx，εＭy）以上であった場合には、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）を用いて近似モデルにおける既知発生モーメント（Ｍx，Ｍy）を修正して（ステップＳ２１）、再びＺＭＰ方程式の導出を行い、許容値ε未満に収束するまで、腰部運動パターンの近似解の算出と修正を繰り返し実行する。
【０１２１】
図８に示す処理手順によれば、既知の外力パターンを受けながら、足部運動、体幹運動や上肢運動の設定に基づいて姿勢を安定させる全身協調運動パターンを算出することができる。勿論、ここで言う外力パターンは、ボールを蹴ったときにボールから受ける反力には限定されず、その他の任意の既知外力パターンを含むものとする。算出された全身協調運動パターンを脚式移動ロボット１００に適用することによって、既知の外力を受けても、姿勢安定性を失ったり転倒したりすることなく、動作を継続することができる。
【０１２２】
また、図９には、本実施例に係る脚式移動ロボット１００が既知の外力を受けながら安定した動作を実現するための全身協調運動パターンの生成処理手順に関する他の例をフローチャートの形式で示している。但し、該処理手順では、図８に示した場合と同様に、線形・非干渉多質点近似モデルを用いて脚式移動ロボット１００の各関節位置や動作を記述するものとする。
【０１２３】
該処理手順は、ロボット１００の歩行や身振り・手振りなどの動作を指示する旨のユーザ・コマンド等の入力に応答して開始する。
【０１２４】
かかるユーザ・コマンドは、主制御部８１において解釈され、足部（より具体的には足底）運動、足部運動から導出されるＺＭＰ軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される（ステップＳ３１Ａ）。より具体的には、まず足部運動パターン、次いでＺＭＰ軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、腰部の運動に関しては、Ｚ’方向のみ設定し、Ｘ’及びＹ’の各方向については未知とする。
【０１２５】
さらに、ステップＳ３１Ｂでは、既知の外力パターン群Ｆ1、Ｆ2、…、Ｆj…を設定する。
【０１２６】
例えば、脚部によってボールを蹴るというｊ番目の外力Ｆjが未知であれば、事前にボールを蹴ってみることによって現実に印加される外力Ｆjを予測するようにしてもよい。但し、外力の予測処理手順については後に詳解する。
【０１２７】
また、外力パターンの中で、膝などのように前もって作用点を厳密に設定することができない場合には、近似的な作用点を設定してもよい。
【０１２８】
次に、線形・非干渉多質点近似モデルを用いて、足部、体幹、上肢運動、そして既知の外力パターンにより発生する設定ＺＭＰ上でのピッチ軸、ロール軸回りの各モーメント（Ｍx，Ｍy）を算出する（ステップＳ３２）。
【０１２９】
次いで、腰部水平面内運動（ｒhx’，ｒhy’）をフーリエ級数展開する（ステップＳ３３）。当業界において既に周知のように、フーリエ級数展開することにより、時間軸成分を周波数成分に置き換えて演算することができる。すなわち、この場合には腰部の動きを周期的な動きとして捉えることができる。また、ＦＦＴ（拘束フーリエ変換）を適用することができるので、計算速度を大幅に向上させることができる。
【０１３０】
次いで、設定ＺＭＰ上でのピッチ軸、ロール軸回りの各モーメント（Ｍx，Ｍy）についてもフーリエ級数展開する（ステップＳ３４）。
【０１３１】
次いで、腰部水平面内軌道のフーリエ係数を算出し、さらに逆フーリエ級数展開することで（ステップＳ３５）、腰部運動の近似解が求まる（ステップＳ３６）。ここで求められる近似解は、安定歩行可能な腰部運動パターンを規定する腰部の水平絶対位置の近似解（ｒhx，ｒhy）であり、より具体的にはＺＭＰが目標位置に入るような腰部水平絶対位置である。ＺＭＰ目標位置は、通常、着床した足底に設定される。
【０１３２】
算出された近似解上では予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う（ステップＳ３７）。この際、膝部の軌道を算出してもよい。
【０１３３】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル（すなわち、剛体、若しくは非常に多くの質点からなるロボット１００の精密なモデル）における設定ＺＭＰ上のモーメント（ｅＭx，ｅＭy）を算出する（ステップＳ３８）。非厳密モデルでは上記の［数２］が成立することを前提としたが、厳密ではかかる前提を要しない（すなわち時間の変化に対して一定である必要はない）。
【０１３４】
厳密モデルにおけるモーメント（ｅＭx，ｅＭy）は、腰部運動の発生するモーメント誤差である。続くステップＳ３９では、このモーメント（ｅＭx，ｅＭy）が近似モデルにおけるモーメントの許容値（εＭx，εＭy）未満か否かを判定する。許容値ε未満であれば、腰部安定運動パターンの厳密解及び安定したボール・キックなどの動作を実現できる全身運動パターンを得ることができたので（ステップＳ４０）、本ルーチン全体を終了する。
【０１３５】
他方、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）が近似モデルにおけるモーメントの許容値（εＭx，εＭy）以上であった場合には、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）を用いて非厳密モデルにおける既知発生モーメント（Ｍx，Ｍy）を修正して（ステップＳ４１）、再びフーリエ級数展開して、許容値ε未満に収束するまで、腰部運動パターンの近似解の算出と修正を繰り返し実行する。
【０１３６】
当業者であれば、図９に示す処理手順によっても、図８で示した処理手順と同様、体幹運動や上肢運動の設定に基づいて、既知の外力パターンに抗して適応的な全身協調運動パターンを実現することができる、ということを理解できるであろう。特に、ＺＭＰ方程式の数値的解法に頼らず、フーリエ級数展開を用いることで、周期運動を高速に求めると同時に、ＦＦＴ（高速フーリエ変換）を適用することでモーメント計算そのものを高速化することができる。
【０１３７】
図１０には、事前にボールを蹴ってみることによって現実に印加される外力Ｆjを予測するための処理手順をフローチャートの形式で示している。該処理手順は、脚部によってボールを蹴るというｊ番目の外力Ｆjが未知である場合において適宜実行される。以下、このフローチャートの各ステップについて説明する。
【０１３８】
まず、対象物すなわちボールを試し蹴りするときの速度Ｖtを設定する（ステップＳ５１）。この速度Ｖtは、ボールを蹴る実際の速度Ｖrよりも充分低い値に設定することが好ましい。
【０１３９】
次いで、この設定された低い速度を用いて、ボールを蹴ってみる（ステップＳ５２）。そして、蹴った瞬間における力センサ９４又は９５から出力の時間的経過値や、その力作用点をデータとして入力し且つ一時記憶しておく。
【０１４０】
ステップＳ５３では、蓄積されたデータに基づいて、ボールを実際の速度Ｖrで蹴ったときの外力Ｆjの時間的経過値を予測できるか否かを判断する。
【０１４１】
ステップＳ５３の判断結果が肯定的であれば該処理ルーチン全体を終了する。そして、得られた外力Ｆjの時間的経過値は、脚式移動ロボット１００に印加される外力パターンとして、全身運動パターン生成処理に投じられる。
【０１４２】
他方、判断結果が否定的であれば、ステップＳ５１に戻り、別の速度Ｖtを新たに設定して、試行を繰り返し実行する。
【産業上の利用可能性】
【０１４３】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１４４】
本明細書中では、脚式移動ロボット１００の体幹ピッチ軸５と、体幹ロール軸６と、体幹ヨー軸７という３自由度をロボットの腰部の姿勢（θhx，θhy，θhz）として扱ったが、腰部の位置は人間型ロボット１００と現実のヒトやサルなどの２足直立歩行動物の身体メカニズムとの対比により柔軟に解釈されたい。
【０１４５】
また、本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置であるならば、例えば玩具等のような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０１４６】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【０１４７】
参考のため、「人間形」若しくは「人間型」と呼ばれる一般的な脚式移動ロボットにおける関節モデル構成の一例を図１１に図解しておく。同図に示す例では、肩関節５から上腕、肘関節６、前腕、手首７及び手部８からなる部分を「上肢」と呼ぶ。また、肩関節５から股関節１１までの範囲を「体幹部」と呼び、ヒトの胴体に相当する。また、体幹部のうち特に股関節１１から体幹関節１０までの範囲を「腰部」と呼ぶ。体幹関節１０は、ヒトの背骨が持つ自由度を表現する作用を有する。また、股関節１１より下の大腿部１２、膝関節１４、下腿部１３、足首１５及び足部１６からなる部分を「下肢」と呼ぶ。一般には、股関節より上方を「上体」と呼び、それより下方を「下体」と呼ぶ
【０１４８】
また、図１２には、脚式移動ロボットの他の関節モデル構成を図解している。同図に示す例は、体幹関節１０を有しない点で図１１に示した例とは相違する。各部の名称については図を参照されたい。脊椎に相当する体幹関節が省略される結果として脚式移動ロボットの上体における動きの滑らかさや表現力を失う。但し、危険作業や難作業の代行など、産業目的に適用される脚式移動ロボットの場合、上体の動きを要しない場合がある。なお、図１１及び図１２で用いた参照番号は、それ以外の図面とは一致しない点を理解されたい。
【図面の簡単な説明】
【０１４９】
【図１】図１は、本発明の実施に供される脚式移動ロボット１００を前方から眺望した様子を示した図である。
【図２】図２は、本発明の実施に供される脚式移動ロボット１００を後方から眺望した様子を示した図である。
【図３】図３は、ボールを蹴る動作を適応制御するために、脚式移動ロボット１００の足平に力センサを装着した様子を示した図である。
【図４】図４は、本発明の一実施形態に係る脚式移動ロボット１００が具備する自由度構成モデルを模式的に示した図である。
【図５】図５は、本発明の一実施形態に係る脚式移動ロボット１００の制御システム構成を模式的に示した図である。
【図６】図６は、本発明の一実施形態に係る歩行制御の計算のために導入される、脚式移動ロボット１００の線形且つ非干渉の多質点近似モデルを示した図である。
【図７】図６に示したロボット１００の多質点近似モデルにおける腰部周辺の拡大図である。
【図８】図８は、本発明の一実施形態に係る脚式移動ロボット１００が既知の外力を受けながら安定した動作を行うことができる全身協調運動パターンの生成処理手順の一例を示したフローチャートである。
【図９】図９は、本発明の一実施形態に係る脚式移動ロボット１００が既知の外力を受けながら安定した動作を行うことができる全身協調運動パターンの生成処理手順に関する他の例を示したフローチャートである。
【図１０】図１０は、事前にボールを蹴ってみることによって現実に印加される外力Ｆjを予測するための処理手順を示したフローチャートである。
【図１１】図１１は、脚式移動ロボットの関節モデル構成の一例を模式的に示した図である。
【図１２】図１２は、脚式移動ロボットの関節モデル構成に関する他の例を模式的に示した図である。
【符号の説明】
【０１５０】
１…頭部，２…首関節ヨー軸
３…首関節ピッチ軸，４…首関節ロール軸
５…体幹ピッチ軸，６…体幹ロール軸
７…体幹ヨー軸，８…肩関節ピッチ軸
９…肩関節ロール軸，１０…上腕ヨー軸
１１…肘関節ピッチ軸，１２…前腕ヨー軸
１３…手首関節ピッチ軸，１４…手首関節ロール軸
１５…手部，１６…股関節ヨー軸
１７…股関節ピッチ軸，１８…股関節ロール軸
１９…膝関節ピッチ軸，２０…足首関節ピッチ軸
２１…足首関節ロール軸，２２…足部（足底）
３０…頭部ユニット，４０…体幹部ユニット
５０…腕部ユニット，５１…上腕ユニット
５２…肘関節ユニット，５３…前腕ユニット
６０…脚部ユニット，６１…大腿部ユニット
６２…膝関節ユニット，６３…脛部ユニット
８０…制御ユニット，８１…主制御部
８２…周辺回路
９１，９２…接地確認センサ
９３…姿勢センサ
９４，９５…力センサ
１００…脚式移動ロボット
【図１】
2005022081.tif 000009
【図２】
2005022081.tif 000010
【図３】
2005022081.tif 000011
【図４】
2005022081.tif 000012
【図５】
2005022081.tif 000013
【図６】
2005022081.tif 000014
【図７】
2005022081.tif 000015
【図８】
2005022081.tif 000016
【図９】
2005022081.tif 000017
【図１０】
2005022081.tif 000018
【図１１】
2005022081.tif 000019
【図１２】
2005022081.tif 000020