(57)【要約】【課題】  ロボット装置が実現する機能に応じた振動子の配置を決定し、振動子の役割を直観的に理解容易にする。【解決手段】  可動部位に対する基準座標系を設定し、制御目標である可動部位の作用点について振動子を記述するので、振動子の役割を直観的に理解し易い配置となり、振動子パラメータの調節が容易になる。そして、振動子による可動部位に対する指令値を該当する関節部に対する指令値に変換し、直接の制御対象である関節部アクチュエータの指令値を得るので、ロボット装置の力学的特性にも有効に引き込みを行ない、振動子による引き込み現象をより有効に利用する。【選択図】  図１
2005305597.tif 000002
【特許請求の範囲】
【請求項１】
複数の可動部位と可動部位を駆動する関節部を備えたロボット装置において、
少なくとも１つの可動部位において設定された基準座標系と、
可動部位における状態量を検出する状態量検出手段と、
前記基準座標系を構成する座標軸毎に設けられた、自励発振するとともに、可動部位の状態量に対する引き込み現象により基準座標系における可動部位への指令値を発する振動子と、
前記振動子による基準座標系における可動部位への指令値を該当する関節部に対する指令値に変換する変換手段と、
前記変換手段により得られた関節部に対する指令値に基づいて関節部の駆動を制御する駆動制御手段と、
を具備することを特徴とするロボット装置。
【請求項２】
前記振動子は可動部位に対する位置指令を発し、
前記変換手段は、可動部位に対する位置指令を逆キネマティクス演算により関節角度指令に変換する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記振動子は可動部位に対する速度指令を発し、
前記変換手段は、可動部位に対する速度指令を逆ヤコビ行列又は擬似逆ヤコビ行列を用いて関節角速度指令に変換する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項４】
前記振動子は可動部位に対する力指令を発し、
前記変換手段は、可動部位に対する力指令をヤコビ行列の転置行列又は擬似ヤコビ行列の転置行列を用いて関節角トルク指令に変換する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項５】
前記基準座標系は、可動部位が実現する機能毎に割り当てられた座標軸で構成される、
ことを特徴とする請求項１に記載のロボット装置。
【請求項６】
可動部位として足部を含む脚を備え、
前記脚に対する基準座標系は、前記ロボット装置の体重を支持する前記脚の長さ方向と、前記足部の接地位置又は前記脚の軌道を決定するロール及びピッチ方向に座標軸を持ち、
前記基準座標系の座標軸毎に振動子が設けられている、
ことを特徴とする請求項５に記載のロボット装置。
【請求項７】
可動部位において設定された基準座標系を構成する少なくとも１つの座標軸に前記振動子が配設されるとともに、他の座標軸を所定の制御則に基づいて制御する制御手段をさらに備える、
ことを特徴とする請求項１に記載のロボット装置。
【請求項８】
複数の作用点と作用点を駆動する関節部を備えたロボット装置において、
作用点における状態量を検出する状態量検出手段と、
少なくとも１つの作用点に設けられた、自励発振するとともに、作用点における状態量に対する引き込み現象により作用点の軌道を生成する振動子と、
前記振動子により得られる作用点軌道を該当する関節部に対する指令値に変換する変換手段と、
前記変換手段により得られた関節部に対する指令値に基づいて関節部の駆動を制御する駆動制御手段と、
を具備することを特徴とするロボット装置。
【請求項９】
複数の可動部位を持つロボット装置において、
可動部位を駆動する駆動手段と、
可動部位における状態量を検出する状態量検出手段と、
前記駆動手段を制御することにより前記ロボット装置の運動を実現する駆動制御手段を備え、
前記駆動制御手段は、独立して扱うことができる２以上の運動を制御する際に、少なくとも１つの運動を可動部位の状態量に対して引き込み現象を起こす振動子を用いて制御し、他の少なくとも１つの運動を振動子以外の制御器を用いて制御する、
ことを特徴とするロボット装置。
【請求項１０】
前記ロボット装置は可動部位として複数の脚を含み、
前記駆動手段は、独立して扱うことができる前額面内運動と矢状面内運動からなる歩行運動を実行する際に、前額面内運動に対し振動子による制御を用いるとともに、矢状面内運動を進行方向の歩行パターンを記述した状態遷移機械により制御する、
ことを特徴とする請求項９に記載のロボット装置。
【請求項１１】
前記駆動制御手段は、振動子以外の制御器を可動部位における状態量に応じて切り替えて用いる、
ことを特徴とする請求項９に記載のロボット装置。
【請求項１２】
複数の可動部位と可動部位を駆動する関節部を備えたロボット装置の制御方法において、
少なくとも１つの可動部位において基準座標系を設定するステップと、
可動部位における状態量を検出する状態量検出ステップと、
前記基準座標系を構成する座標軸毎に振動子を記述し、該振動子の自励発振と可動部位の状態量に対する引き込み現象により基準座標系における可動部位への指令値を生成するステップと、
前記振動子による基準座標系における可動部位への指令値を該当する関節部に対する指令値に変換する変換ステップと、
前記変換ステップにより得られた関節部に対する指令値に基づいて関節部の駆動を制御する駆動制御ステップと、
を具備することを特徴とするロボット装置の制御方法。
【請求項１３】
前記振動子は可動部位に対する位置指令を発し、
前記変換ステップでは、可動部位に対する位置指令を逆キネマティクス演算により関節角度指令に変換する、
ことを特徴とする請求項１２に記載のロボット装置の制御方法。
【請求項１４】
前記振動子は可動部位に対する速度指令を発し、
前記変換ステップでは、可動部位に対する速度指令を逆ヤコビ行列又は擬似逆ヤコビ行列を用いて関節角速度指令に変換する、
ことを特徴とする請求項１２に記載のロボット装置の制御方法。
【請求項１５】
前記振動子は可動部位に対する力指令を発し、
前記変換ステップでは、可動部位に対する力指令をヤコビ行列の転置行列又は擬似ヤコビ行列の転置行列を用いて関節角トルク指令に変換する、
ことを特徴とする請求項１２に記載のロボット装置の制御方法。
【請求項１６】
前記基準座標系は、可動部位が実現する機能毎に割り当てられた座標軸で構成される、
ことを特徴とする請求項１２に記載のロボット装置の制御方法。
【請求項１７】
前記ロボット装置は可動部位として足部を含む脚を備え、
前記脚に対する基準座標系は、前記ロボット装置の体重を支持する前記脚の長さ方向と、前記足部の接地位置又は前記脚の軌道を決定するロール及びピッチ方向に座標軸を持ち、
前記の指令値を生成するステップでは、前記基準座標系の座標軸毎に振動子を記述する、
ことを特徴とする請求項１６に記載のロボット装置の制御方法。
【請求項１８】
前記の指令値を生成するステップでは、可動部位において設定された基準座標系を構成する少なくとも１つの座標軸に前記振動子を記述するとともに、他の座標軸を所定の制御則に基づいて指令値を生成する、
ことを特徴とする請求項１２に記載のロボット装置の制御方法。
【請求項１９】
複数の作用点と作用点を駆動する関節部を備えたロボット装置の制御方法において、
作用点における状態量を検出する状態量検出ステップと、
少なくとも１つの作用点に振動子を記述し、該振動子の自励発振と作用点における状態量に対する引き込み現象により作用点の軌道を生成するステップと、
前記振動子により得られる作用点軌道を該当する関節部に対する指令値に変換する変換ステップと、
前記変換ステップにより得られた関節部に対する指令値に基づいて関節部の駆動を制御する駆動制御ステップと、
を具備することを特徴とするロボット装置の制御方法。
【請求項２０】
複数の可動部位を持つロボット装置の制御方法において、
可動部位における状態量を検出する状態量検出ステップと、
独立して扱うことができる２以上の運動を制御する際に、
少なくとも１つの運動を可動部位の状態量に対して引き込み現象を起こす振動子を用いて制御するステップと、
他の少なくとも１つの運動を振動子以外の制御則に基づいて制御するステップと、
を具備することを特徴とするロボット装置の制御方法。
【請求項２１】
前記ロボット装置は可動部位として複数の脚を含み、
独立して扱うことができる前額面内運動と矢状面内運動からなる歩行運動を実行する際に、前額面内運動に対し振動子による制御を用いるとともに、矢状面内運動を進行方向の歩行パターンを記述した状態遷移機械により制御する、
ことを特徴とする請求項２０に記載のロボット装置の制御方法。
【請求項２２】
振動子以外の制御則を複数備え、可動部位における状態量に応じて制御側を切り替えて用いる、
ことを特徴とする請求項２０に記載のロボット装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脚などの複数の可動部を備えたロボット装置及びその制御方法に係り、特に、所定の安定規範に基づいて姿勢の安定性を自律的に維持するロボット装置及びその制御方法に関する。
【０００２】
さらに詳しくは、本発明は、ＺＭＰ（Ｚｅｒｏ Ｍｏｍｅｎｔ Ｐｏｉｎｔ）を安定度判別の規範として用いずに機体の姿勢安定制御を行なうロボット装置及びその制御方法に係り、特に、可動部の周期運動に着目して機体の姿勢安定制御を行なうロボット装置及びその制御方法に関する。
【背景技術】
【０００３】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の“ＲＯＢＯＴＡ（奴隷機械）”に由来すると言われている。わが国では、ロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（ｉｎｄｕｓｔｒｉａｌ ｒｏｂｏｔ）であった。
【０００４】
最近では、イヌやネコのように４足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトやサルなどの２足直立歩行を行う動物の身体メカニズムや動作を模した「人間形」若しくは「人間型」のロボット（ｈｕｍａｎｏｉｄ ｒｏｂｏｔ）など、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。これら脚式移動ロボットは、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作を実現できるという点で優れている。
【０００５】
脚式移動ロボットに関する姿勢制御や安定歩行に関する技術は既に数多提案されている。何故ならば、ロボットの転倒は、ロボットが実行中の作業を中断することを意味し、且つ、転倒状態から起き上がって作業を再開するために相当の労力や時間が払われるからである。また、転倒によって、ロボット本体自体、あるいはロボットと衝突する物体にも致命的な損傷を与えてしまう危険がある。したがって、安定な「歩行」は、「転倒することなく、脚を使って移動すること」と定義される。
【０００６】
例えば、ＺＭＰ（Ｚｅｒｏ Ｍｏｍｅｎｔ Ｐｏｉｎｔ）が歩行の安定度判別の規範とするロボットの姿勢安定制御システムは既に確立されている（例えば、特許文献１及び特許文献２を参照のこと）。ＺＭＰ理論は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。その力学的推論の帰結として、足底接地点と路面の形成する支持多角形の内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちＺＭＰが存在する（例えば、非特許文献１を参照のこと）。
【０００７】
目標ＺＭＰ制御では、すべての瞬間において、動的釣り合いを取るように運動を計画する。ＺＭＰ規範に基づく２足歩行パターン生成は、足底着地点をあらかじめ設定することができ、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。また、ＺＭＰを安定度判別規範とすることは、力ではなく軌道を運動制御上の目標値として扱うことを意味するので、技術的に実現可能性が高まる。
【０００８】
一方、ＺＭＰに基づく安定制御は常に１つの方程式に拘束されるという側面があり、ＺＭＰ規範に基づく軌道計画にはロボット自身や環境を正確にモデリングし、運動の実現には高精度な軌道追従制御系により環境モデルと常に整合を取る必要がある。言い換えれば、未知の環境への適応性という点で問題がある。ＺＭＰ方程式を数学的に解くことは演算負荷が比較的高く、リアルタイム制御への適用には困難を伴うこともある。また、ＺＭＰ方程式を満たすことは、ロボットの姿勢安定制御において十分条件であって、必要条件ではない。例えば、人間の歩行などを観察すると、必ずしもすべての瞬間でＺＭＰ安定余裕が最大となるように保たれている訳ではない。
【０００９】
他方、ヒトなどの生体メカニズムでは、ＺＭＰに依存しない形態で、四肢が持つ物理法則を好適に利用して、より人間らしい歩行動作を行なっていると言われている。ロボットも、このように物理法則をうまく利用することができれば、精緻なモデルを必要としないで（すなわち少ない演算負荷により）、アクチュエータの駆動トルクを要せず、高いエネルギ変換効率で歩行動作を実現することができると思料される。
【００１０】
例えば、ロボットの可動部の少なくとも一部を物理振動子として捉え、ロボットが行なう歩行やその他の運動を周期運動として扱い、この振動子の位相や振動数を決定又は制御するという形態で歩行動作を制御することができる。このような周期運動が継続することを「安定な歩行」とみなすことができる。
【００１１】
物理振動子としてのロボット（又はその一部の可動部）の一周期の間には、ＺＭＰ理論やその他の安定度判別規範では、瞬間的に安定性を逸脱し、動的釣り合いが保たれない瞬間があるかもしれない。このような場合であっても、物理振動子による周期運動によれば、この周期を繰り返すことによって元の状態を回復させ、運動を継続することが可能である。勿論、一周期では元の状態に戻らなくても、現実的な時間内で一定の周期運動に収束すれば、やはり運動を継続することができる。
【００１２】
ロボットの歩行運動に着目し、安定性をこのように定義すれば、未知の外乱に対しても数周期後には定常状態に復帰するという、「大局的な安定性」を実現することができる。この結果、精緻なモデルや精緻なトラッキングが不要となる。また、アクチュエータのゲインを低下させることができ、低ゲインによりコスト低減や安全性の向上を実現することができる（逆に、精緻なモデルや精緻なトラッキングが必要な場合には、高ゲイン化、高精度化とともにコストが増大する）。また、大局的安定性により、安定領域を逸脱することが許容される結果として、歩行やその他の脚式動作（歩容）を多様化して、ロボットは表現力を増し、環境への適応性も備えることができる。
【００１３】
ロボット装置が行なう運動に対し周期性を与えるリズム発生器は、Ｃｅｎｔｒａｌ  ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ（ＣＰＧ）と呼ばれる。ＣＰＧは、自励発振するとともに、環境からのフィードバック信号に対して引き込み現象（Ｅｎｔｒａｉｎｍｅｎｔ）を持つ。すなわち、神経系が環境に自律的に調節される機能を持つ。この特徴を利用して、環境変化に対して頑健な制御メカニズムを構成しようとする研究が近年盛んに行なわれている。
【００１４】
例えば、２足歩行シミュレーション（例えば、非特許文献２を参照のこと）や、４脚歩行機械への適用（例えば、非特許文献３を参照のこと）、位相振動子と位相リセットを用いた２足歩行機械の制御（例えば、非特許文献４を参照のこと）。ＣＰＧ／ＮＰ法による動作学習（例えば、非特許文献５を参照のこと）などが挙げられる
【００１５】
しかしながら、多自由度を持つロボットにあるタスクを実行させようとした場合、各々の振動子がどのように寄与しているのかを直観的に理解することが非常に難しい、という問題がある。
【００１６】
ほとんどのロボット装置は関節軸毎に回転型アクチュエータを配置し、これらの位置制御に基づいて所望の装置運動を実現する。したがって、直接の制御対象である関節軸毎に振動子を配置し、環境からのフィードバック情報を用いて歩行やその他の運動を生成することが考えられる（例えば、非特許文献２を参照のこと）。このような場合、フィードバック経路が非常に複雑になり、試行錯誤的に多大な時間を要してしまう。
【００１７】
このような振動子の配置方法は、振動子出力が関節の拮抗筋を駆動していると捉えれば、生物学的には自然である。しかしながら、ロボット工学的には、順運動学的な配置となり、各振動子の指令は非常に複雑なものとなる。例えば、歩行型ロボットの重心高さを制御する、あるいは脚の接地位置を制御するような特定のタスクを実行する場合、振動子が出力すべき指令は制御目標（すなわち重心高さや接地位置）と座標系が相違するため、振動子特性の設計が直観的に理解しがたく、実現が困難である．
【００１８】
また、歩行運動の周期性に着目して、四足ロボットの生物規範型不整地適応動歩行に振動子を利用することができる（例えば、非特許文献３を参照のこと）。この場合、振動子出力を直接用いることはせず、その符号のみを用い、各アクチュエータへの出力は振動子出力の符号をトリガとして駆動される状態遷移機械として制御メカニズムが構成される。このような制御器は、４脚歩行機械のように脚の運び方（歩容）が安定性に寄与する場合には有効であるが、２脚歩行のような脚数の少ない歩行においては、振動子の抽象化の度合いが高過ぎるため、不向きであると思料される。
【００１９】
また、各脚の振動運動の位相情報として振動子を用いる場合（例えば、非特許文献４を参照のこと）、脚先の軌道は位相により一意に決定されるが、やはり振動子出力の抽象化の度合いが高いため、具体的な力学的機能を持たない。
【００２０】
また、リズム発生器を用いるものの環境からのフィードバックを持たない制御系の場合には（例えば、非特許文献５を参照のこと）、オープンループな制御方法となり、外乱に対して脆弱である。
【００２１】
要するに、振動子を用いたロボットの制御システムは、関節トルクレベル又は位相レベルで振動子を配置するものに大別される。
【００２２】
しかしながら、このような振動子の配置方法では、ロボットの可動部に与えられる外部環境の変化や実行すべきさまざまな機能に十分追従することができない。
【００２３】
脚式移動ロボットにおける歩行動作を例にとると、遊脚と支持脚とでは、系の物理的特性が大きく異なる。また、脚を前に振り出す運動と、体重を支える運動は大きく機能が相違する。このような場合に、個々の関節毎に振動子を設定することは、あまりに微視的な分割であり、１つの機能を作り出すための複雑なフィードバック経路が必要である。一方、位相レベルでこのような歩行動作を捉えるのは、脚のすべての運動を位相という唯一のスカラ量に無理やり集約させてしまうことになり、巨視的に過ぎる。
【００２４】
【特許文献１】特許第３４４３０７７号公報
【特許文献２】特許第３４４３１１６号公報
【非特許文献１】ヴコブラトビッチ（Ｍｉｏｍｉｒ Ｖｕｋｏｂｒａｔｏｖｉｃ）著「脚式移動ロボット（ＬＥＧＧＥＤ ＬＯＣＯＭＯＴＩＯＮ ＲＯＢＯＴＳ）」（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））
【非特許文献２】Ｇ．Ｔａｇａ，Ｙ．Ｙａｍａｇｕｃｈｉ，Ｈ．Ｓｈｉｍｉｚｕ共著“Ｓｅｌｆ−ｏｒｇａｎｉｚｅｄ ｃｏｎｔｒｏｌ ｏｆ ｂｉｐｅｄａｌ ｌｏｃｏｍｏｔｉｏｎ ｂｙ ｎｅｕｒａｌ ｏｓｃｉｌｌａｔｏｒｓ ｉｎ ｕｎｐｒｅｄｉｃｔａｂｌｅ ｅｎｖｉｒｏｎｍｅｎｔ，Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，ｖｏｌ．６５，ｐｐ．１４７−１５９（１９９１））
【非特許文献３】福岡外著「四足ロボットの生物規範型不整地適応動歩行―神経・機械カップリング系構成法の提案とピッチ運動・ＣＰＧ・ロール運動間相互引き込みの評価―」（日本ロボット学会誌２１巻５号，２００３年７月）
【非特許文献４】Ｔｓｕｃｈｌａ，Ｋ．、Ａｏｉ，Ｓ．、Ｔｓｕｊｉｔａ，Ｋ．共著“Ｌｏｃｏｍｏｔｉｏｎ  ｃｏｎｔｒｏｌ  ｏｆ  ａ  ｂｉｐｅｄ  ｌｏｃｏｌｏｔｉｏｎ  ｒｏｂｏｔ  ｕｓｉｎｇ  ｎｏｎｌｉｎｅａｒ  ｏｓｃｉｌｌａｔｏｒｓ”（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，２００３（ＩＲＯＳ２００３）  Ｐｒｏｃｅｅｄｏｎｇｓ．２００３  ＩＥＥＥ／ＲＳＪ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ，  Ｖｏｌｕｍｅ  ２，  Ｏｃｔ．２７−３１，  Ｐａｇｅｓ：１７４５−１７５０）
【非特許文献５】ｈｔｔｐ：／／ｐｒ．ｆｕｊｉｔｓｕ．ｃｏｍ／ｎｅｗｓ／２００３／０３／２７．ｈｔｍｌ
【発明の開示】
【発明が解決しようとする課題】
【００２５】
本発明の目的は、所定の安定規範に基づいて姿勢の安定性を自律的に維持することができる、優れたロボット装置及びその制御方法を提供することにある。
【００２６】
本発明のさらなる目的は、可動部の周期運動に着目して機体の姿勢安定制御を行なうことができる、優れたロボット装置及びその制御方法を提供することにある。
【００２７】
本発明のさらなる目的は、ロボットの可動部の少なくとも一部を状態と環境に応じた物理振動子として捉え、数学的に操作可能な位相発生により可動部の動作を制御するとともに、未知の外乱に適応的に対応することができる、優れたロボット装置及びその制御方法を提供することにある。
【００２８】
本発明のさらなる目的は、各々の振動子が可動部の動作制御に対して持つ寄与を直観的に理解することができる、優れたロボット装置及びその制御方法を提供することにある。
【００２９】
本発明のさらなる目的は、ロボット装置が実現する機能に応じた振動子の配置を決定し、振動子の役割を直観的に理解することができるとともに、ロボット装置の力学的特性にも有効に引き込みを行ない、振動子による引き込み現象をより有効に利用することができる、優れたロボット装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【００３０】
本発明は、上記課題を参酌してなされたものであり、複数の可動部位と可動部位を駆動する関節部を備えたロボット装置において、
少なくとも１つの可動部位において設定された基準座標系と、
可動部位における状態量を検出する状態量検出手段と、
前記基準座標系を構成する座標軸毎に設けられた、自励発振するとともに、可動部位の状態量に対する引き込み現象により基準座標系における可動部位への指令値を発する振動子と、
前記振動子による基準座標系における可動部位への指令値を該当する関節部に対する指令値に変換する変換手段と、
前記変換手段により得られた関節部に対する指令値に基づいて関節部の駆動を制御する駆動制御手段と、
を具備することを特徴とするロボット装置である。
【００３１】
本発明に係るロボットの可動部の少なくとも一部を内部状態や外部環境に応じた物理振動子として捉え、数学的に操作可能な位相発生により可動部の動作を制御する。この振動子は、自励発振するとともに、外部環境に応じた引き込み特性を持ち、神経系が環境に自律的に調節されるのと同様の作用に基づいて、環境変化に対して頑健な制御メカニズムを実現することができる。
【００３２】
ところが、多自由度を持つロボットにあるタスクを実行させようとした場合、各々の振動子がどのように寄与しているのかを直観的に理解することが非常に難しい、という問題がある。すなわち、個々の関節角の動作が作用点としての足部の挙動（接地点や歩幅など）にどれだけ寄与するのか、判りにくい。
【００３３】
これに対し、本発明によれば、制御目標である可動部位に対する基準座標系を設定し、この基準座標系の座標軸毎に可動部位についての振動子を記述するので、ロボット装置が実現する機能に応じた振動子の配置を実現することができる。
【００３４】
また、本発明によれば、制御目標である可動部位の作用点について振動子を記述するので、振動子の役割を直観的に理解し易い配置となり、振動子の調節が容易になる。そして、振動子による可動部位に対する指令値を該当する関節部に対する指令値に変換することで、直接の制御対象である関節部アクチュエータの指令値を得ることができるので、ロボット装置の力学的特性にも有効に引き込みを行ない、振動子による引き込み現象をより有効に利用することができる。
【００３５】
ここで、前記振動子は可動部位に対する位置指令を発するようにしてもよい。この場合、前記変換手段は、可動部位に対する位置指令を逆キネマティクス演算により関節角度指令に変換することができる。
【００３６】
あるいは、前記振動子は可動部位に対する速度指令を発するようにしてもよい。この場合、前記変換手段は、可動部位に対する速度指令を逆ヤコビ行列又は擬似逆ヤコビ行列を用いて関節角速度指令に変換することができる。
【００３７】
あるいは、前記振動子は可動部位に対する力指令を発するようにしてもよい。この場合、前記変換手段は、可動部位に対する力指令をヤコビ行列の転置行列又は擬似ヤコビ行列の転置行列を用いて関節角トルク指令に変換することができる。
【００３８】
前記基準座標系は、可動部位が実現する機能毎に割り当てられた座標軸で構成することができる。例えば、ロボット装置が可動部位として足部を含む脚式移動ロボットである場合には、前記脚に対する基準座標系を、前記ロボット装置の体重を支持する前記脚の長さ方向と、前記足部の接地位置又は前記脚の軌道を決定するロール及びピッチ方向の各座標軸で構成し、前記基準座標系の座標軸毎に振動子が設けることができる。
【００３９】
このとき、可動部位において設定された基準座標系を構成する少なくとも１つの座標軸に前記振動子を配設する。また、他の座標軸には、所定の制御則に基づいて制御する制御手段をさらに備えるようにしてもよい。例えば、脚部の振動子の基準座標系をＸＹＺ直交座標系で構成する場合、床反力に相当するＺ軸並びにロボット装置における左右の揺動に相当するＹ軸にそれぞれ振動子を配置するとともに、ロボット装置の進行方向に相当するＸ軸に歩行パターンを制御するステートマシンを配置することができる。
【発明の効果】
【００４０】
本発明によれば、可動部の周期運動に着目して機体の姿勢安定制御を行なうことができる、優れたロボット装置及びその制御方法を提供することができる。
【００４１】
また、本発明によれば、振動子を用いた制御が直観的で理解し易い配置にすることにより、振動子パラメータの調節が容易になる。
【００４２】
また、本発明によれば、ロボット装置が実現する物理的な機能に応じた振動子の配置を決定するので、引き込みの特性をより有効に使うことができる。この結果、振動子特性の設計が容易になり，また，振動しに用いるフィードバック状態量演算に対する計算コストを削減することができる。また、引き込み特性を有効に利用することで、未知の外乱に対して頑健なロボット装置を設計することが可能となる。
【００４３】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００４４】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００４５】
Ａ．ロボット装置の構成
図１及び図２には本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット１００は、胴体部と、頭部と、左右の上肢部と、脚式移動を行なう左右２足の下肢部とで構成され、例えば胴体に内蔵されている制御部（図示しない）により機体の動作を統括的にコントロールするようになっている。
【００４６】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【００４７】
制御部は、この脚式移動ロボット１００を構成する各関節アクチュエータの駆動制御や各センサ（後述）などからの外部入力を処理するコントローラ（主制御部）や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【００４８】
このように構成された脚式移動ロボット１００は、制御部による全身協調的な動作制御により、２足歩行を実現することができる。かかる２足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
【００４９】
（１）右脚を持ち上げた、左脚による単脚支持期
（２）右足が接地した両脚支持期
（３）左脚を持ち上げた、右脚による単脚支持期
（４）左足が接地した両脚支持期
【００５０】
脚式移動ロボット１００における歩行制御は、例えばＺＭＰを安定度判別規範として、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行なうことによっても実現される。この場合、両脚支持期では、下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。
【００５１】
あるいは、後述するように、脚式移動ロボット１００の左右の脚部など、全身の可動部のうち少なくとも一部を物理振動子として捉え、センサ出力などに基づいて得られる内部状態と外部環境に応じて物理振動子の位相を数学的に操作により発生させて、機体の大局的な安定性を実現するとともに、未知の外乱に適応的に対応することができる。
【００５２】
図３には、この脚式移動ロボット１００が具備する関節自由度構成を模式的に示している。同図に示すように、脚式移動ロボット１００は、２本の腕部と頭部を含む上肢と、移動動作を実現する２本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成された、複数の肢を備えた構造体である。
【００５３】
頭部を支持する首関節（Ｎｅｃｋ）は、首関節ヨー軸１と、第１及び第２の首関節ピッチ軸２ａ及び２ｂと、首関節ロール軸３という３自由度を有している。
【００５４】
また、各腕部は、その自由度として、肩（Ｓｈｏｕｌｄｅｒ）における肩関節ピッチ軸４と、肩関節ロール軸５と、上腕ヨー軸６、肘（Ｅｌｂｏｗ）における肘関節ピッチ軸７と、手首（Ｗｒｉｓｔ）における手首関節ヨー軸８と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
【００５５】
また、体幹部（Ｔｒｕｎｋ）は、体幹ピッチ軸９と、体幹ロール軸１０という２自由度を有する。
【００５６】
また、下肢を構成する各々の脚部は、股関節（Ｈｉｐ）における股関節ヨー軸１１と、股関節ピッチ軸１２と、股関節ロール軸１３と、膝（Ｋｎｅｅ）における膝関節ピッチ軸１４と、足首（Ａｎｋｌｅ）における足首関節ピッチ軸１５と、足首関節ロール軸１６と、足部とで構成される。
【００５７】
但し、エンターティンメント向けの脚式移動ロボット１００が上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計・製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【００５８】
なお、本実施形態に係る脚式移動ロボット１００は、腰部位置に重心が設定されており、姿勢安定制御の重要な制御対象点であるとともに、装置の「基体」を構成する。
【００５９】
図４には、脚式移動ロボット１００の制御システム構成を模式的に示している。同図に示すように、脚式移動ロボット１００は、ヒトの四肢を表現した各機構ユニット３０、４０、５０Ｒ／Ｌ、６０Ｒ／Ｌと、各機構ユニット間の協調動作を実現するための適応制御を行なう制御ユニット８０とで構成される（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下同様）。
【００６０】
脚式移動ロボット１００全体の動作は、制御ユニット８０によって統括的に制御される。制御ユニット８０は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）やメモリなどの主要回路コンポーネント（図示しない）で構成される主制御部８１と、電源回路やロボット１００の各構成要素とのデータやコマンドの授受を行なうインターフェース（いずれも図示しない）などを含んだ周辺回路８２とで構成される。
【００６１】
ここで言う周辺回路８２は、機体に搭載される周辺機器類の他、ケーブルや無線を通して接続される外付けの周辺機器、充電ステーション（図示しない）やその他の周辺機器を接続するためのインターフェース・コネクタなどを含むものとする。
【００６２】
本発明を実現する上で、この制御ユニット８０の設置場所は特に限定されない。図４では体幹部ユニット４０に搭載されているが、頭部ユニット３０に搭載してもよい。あるいは、脚式移動ロボット１００外に制御ユニット８０を配置して、脚式移動ロボット１００本体とは有線若しくは無線で交信するようにしてもよい。
【００６３】
図３に示した脚式移動ロボット１００は、関節軸毎に回転型アクチュエータを配置し、これらの位置制御に基づいて所望の装置運動を実現する。
【００６４】
頭部ユニット３０には、首関節ヨー軸１、首関節ピッチ軸２、首関節ロール軸３の各々の自由度を実現する首関節ヨー軸アクチュエータＡ1、首関節ピッチ軸アクチュエータＡ2、首関節ロール軸アクチュエータＡ3が配設されている。
【００６５】
また、体幹部ユニット４０には、体幹ピッチ軸９、体幹ロール軸１０の各々の自由度を実現する体幹ピッチ軸アクチュエータＡ9、体幹ロール軸アクチュエータＡ10が配置されている。
【００６６】
また、腕部ユニット５０Ｒ／Ｌは、上腕ユニット５１Ｒ／Ｌと、肘関節ユニット５２Ｒ／Ｌと、前腕ユニット５３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸４、肩関節ロール軸５、上腕ヨー軸６、肘関節ピッチ軸７、手首関節ヨー軸８の各々の自由度を実現する肩関節ピッチ軸アクチュエータＡ4、肩関節ロール軸アクチュエータＡ5、上腕ヨー軸アクチュエータＡ6、肘関節ピッチ軸アクチュエータＡ7、手首関節ヨー軸アクチュエータＡ8が配置されている。
【００６７】
また、脚部ユニット６０Ｒ／Ｌは、大腿部ユニット６１Ｒ／Ｌと、膝ユニット６２Ｒ／Ｌと、脛部ユニット６３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１、股関節ピッチ軸１２、股関節ロール軸１３、膝関節ピッチ軸１４、足首関節ピッチ軸１５、足首関節ロール軸１６の各々の自由度を実現する股関節ヨー軸アクチュエータＡ11、股関節ピッチ軸アクチュエータＡ12、股関節ロール軸アクチュエータＡ13、膝関節ピッチ軸アクチュエータＡ14、足首関節ピッチ軸アクチュエータＡ15、足首関節ロール軸アクチュエータＡ16が配置されている。
【００６８】
各関節に用いられる回転型アクチュエータＡ1、Ａ2、Ａ3…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型アクチュエータ・モータで構成される。この種のＡＣサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開２０００−２９９９７０号公報に開示されている。各関節アクチュエータには、モータ・トルクを検出するトルク・センサや、回転位置若しくは関節位置を検出する角度・位置センサがそれぞれ配設されている。
【００６９】
頭部ユニット３０、体幹部ユニット４０、腕部ユニット５０、各脚部ユニット６０などの機構ユニット毎に、アクチュエータ駆動制御用の副制御部３５、４５、５５、並びに６５がそれぞれ配置されている。
【００７０】
体幹部４０には、加速度センサ９５と姿勢センサ９６が配設されている。加速度センサ９５は、例えばＸ、Ｙ、Ｚ各軸方向に配置する。機体の腰部に加速度センサ９５を配設することによって、質量操作量が大きな部位である腰部を制御対象点として設定して、その位置における姿勢や加速度を直接計測して、ＺＭＰに基づく姿勢安定制御を行なうことができる。
【００７１】
また、各脚部６０Ｒ及び６０Ｌには、１以上の接地確認センサ９１及び９２と、加速度センサ９３及び９４がそれぞれ配設されている。接地確認センサ９１及び９２は、例えば足底に圧力センサを装着することにより構成され、床反力の有無により足底が着床したか否かを検出することができる。接地確認センサ９１及び９２に出力に基づいて、例えば両脚支持期、単脚支持期の判定や、さらには物理振動子としての可動脚の位相φや角周波数ωを推定することができる。
【００７２】
また、加速度センサ９３並びに９４は、少なくともＸ及びＹの各軸方向に配置する。左右の足部に加速度センサ９３及び９４を配設することにより、床反力やその他の外部環境に関する情報を得ることができる。勿論、これらの加速度センサ出力に基づいて床反力から加速度項若しくはモーメント項を直接得て、ＺＭＰ位置に最も近い足部におけるＺＭＰ方程式を組み立てることができる。
【００７３】
主制御部８０は、各センサ９１〜９３の出力に基づいて、ロボット１００の内部状態や外部環境に応じた姿勢安定制御を行なう。より具体的には、副制御部３５、４５、５５、６５の各々に対して適応的な制御を行ない、脚式移動ロボット１００の上肢、体幹、及び下肢が協調して駆動する。ここで、姿勢安定制御の第１の方法として、例えば歩行運動中に脚など可動部位の少なくとも一部において周期運動を抽出して、内部状態や外部環境に応じてその位相信号を発生し、この位相信号に基づいて可動部の駆動制御を行なう。また、姿勢安定制御の第２の方法として、ＺＭＰを規範として、すべての瞬間において、動的釣り合いを取るように運動を計画し目標ＺＭＰ制御を行なうことができる。
【００７４】
Ｂ．振動子を用いたロボット装置の運動制御
ＺＭＰ規範に基づくロボット装置の運動制御方法は、制御工学的手法に基づく簡単化を施した後、解析的に解を求めることが可能であり、汎用性が非常に高い。その反面、ロボット装置及び外部環境とも精緻なモデル化を必要とし、その結果，実際のハードウェアに対する要求精度は非常に高くなる。また、数学的に導出される運動は、見かけの上でも人間の歩行様式とは異なるものとなる。
【００７５】
一方、ヒトを始めとする脚式歩行の生体メカニズムでは、現在実現されているＺＭＰ規範の軌道とは異なる形態で、四肢が持つ物理法則を好適に利用し、自然な歩行動作を行なっている。ロボット装置も、このような物理法則を有効に利用することで、精緻なモデルを必要とせず（すなわち低い計算コストで）、より低いアクチュエータの駆動トルクで、且つ高いエネルギ変換効率で、歩行動作を実現することができると思料される。
【００７６】
本発明者らは、以上の問題意識から、運動生理学・脳神経科学・計算機学習の知見を用いて「より人間に近い歩行制御法」について開示する。すなわち、ロボット装置における脚などの可動部位の少なくとも一部を物理振動子として捉え、歩行やその他の動作を周期運動として扱い、この振動子の位相や振動数を決定又は制御するという形態で歩行動作を制御する。この場合、周期運動が継続することを、ロボット装置の「安定な歩行」とみなすことができる。
【００７７】
振動子を用いたロボット装置の運動制御の原理について、図５及び図６を参照しながら説明する。
【００７８】
ロボット装置全体、あるいは脚部や腕部、腰部、頭部など可動部位の動作は、周期的な運動を行なう振動子として記述される。この振動子は、図５に示すように、定常的に自励発振を行なう。ここで、外部環境の変化などによるフィードバック信号が入力として与えられると、振動子の振幅や周期、位相などが一時的に乱れるものの、やがて図６に示すように、入力信号に対し位相差が固定された発振を行なう出力信号を得ることができる。
【００７９】
このように、入出力間で位相関係が固定されることを、引き込み現象（Ｅｎｔｒａｉｎｍｅｎｔ）と呼ぶ。振動子を用いたロボット装置の運動制御においては、外部環境からの信号を用いて引き込み現象を有効に利用し，自律的に調整された振動子の出力位相情報φに基づいて、ロボット装置又はその一部の可動部位に対する制御量Ｕを得ることができる。
【００８０】
引き込み特性を持つ振動子としては、工学的には、検波回路などに用いられるＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）回路などが挙げられる。その他の例として、非線形振動子や位相振動子を挙げることができる。
【００８１】
あるいは、非線形微分方程式により記述される神経振動子である松岡オシレータ（例えば、Ｍａｔｓｕｏｋａ， Ｋ．著“Ｓｕｓｔａｉｎｅｄ ｏｓｃｉｌｌａｔｉｏｎｓ ｇｅｎｅｒａｔｅｄ ｂｙ ｍｕｔｕａｌｌｙ ｉｎｈｉｂｉｔｉｎｇ ｎｅｕｒｏｎｓ ｗｉｔｈ ａｄａｐｔｉｏｎ”（Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，５２，ｐｐ．３４５−３５３（１９８５））を参照のこと）を振動子に用いることもできる。この種の振動子は、図７のように構成され、以下のように記述される。
【００８２】
【数１】
2005305597.tif 000003
【００８３】
ここでｕ1、ｕ2、ｖ1、ｖ2 は内部変数であり、τ1、τ2、ｃ、β、γ、ｈjは定数である。また、ｇjとＣＰＧはそれぞれ入力信号並びに出力信号である。２つのニューロンが相互抑制結合することで、入力信号なしでも振動子の出力は自励発振する。このとき、出力の振動数と波形は時定数τ1、τ2、振幅はｃにより調節可能であることが数値的に示されている（例えば、Ｍ．Ｗｉｌｌｉａｍｓｏｎ著“Ｎｅｕｒａｌ Ｃｏｎｔｒｏｌ ｏｆ Ｒｈｙｔｈｍｉｃ Ａｒｍ Ｍｏｖｅｍｅｎｔｓ”（Ｎｅｕｒａｌ Ｎｅｔｗｏｒｋｓ，Ｖｏｌ．１１，ｉｓｓｕｅｓ ７−８，ｐｐ．１３７９−１３９４（１９９８）を参照のこと）。
【００８４】
図８には、振動子における入力信号と出力信号の関係を示している。但し、入力信号を点線で、出力信号を実線でそれぞれ描いている。図示のように、出力信号が入力信号に引き込まれていく、すなわち一定の位相差が保たれていく様子が分る。
【００８５】
十分な振幅で、振動子の固有振動数に近い信号が入力されるとき、引き込み現象によりその入出力間の位相が一定値に固定される。したがって、ロボット装置の状態を神経振動子に適切な入力信号ｇj、ゲインｈjで入力することで、環境との相互作用に応じた堅牢な制御系を構築することができる（例えば、Ｇ．Ｔａｇａ著“Ａ ｍｏｄｅｌ ｏｆ ｔｈｅ ｎｅｕｒｏ−ｍｕｓｃｕｌｏ−ｓｋｅｌｅｔａｌ ｓｙｓｔｅｍ ｆｏｒ ｈｕｍａｎ ｌｏｃｏｍｏｔｉｏｎ Ｉ”（Ｅｍｅｒｇｅｎｃｅ ｏｆ ｂａｓｉｃ ｇａｉｔ，Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，ｖｏｌ．７３，ｐｐ．９７−１１１（１９９５））、並びに、Ｈ．Ｋｉｍｕｒａ、Ｙ．Ｆｕｋｕｏｋａ、Ｔ．Ｍｉｍｕｒａ共著“Ｄｙｎａｍｉｃｓ Ｂａｓｅｄ Ｉｎｔｅｇｒａｔｉｏｎ ｏｆ Ｍｏｔｉｏｎ Ａｄａｐｔａｔｉｏｎ ｆｏｒ ａ Ｑｕａｄｒｕｐｅｄ Ｒｏｂｏｔ”（Ｐｒｏｃ．ｏｆ ２ｎｄ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｓｙｍｐｏｓｉｕｍ ｏｎ Ａｄａｐｔｉｖｅ Ｍｏｔｉｏｎ ｏｆ Ａｎｉｍａｌｓ ａｎｄ Ｍａｃｈｉｎｅｓ，ＴｈＰ−Ｉ−２（２００３））を参照のこと）。本実施形態において使用する振動子パラメータを以下に示しておく（ｃ＝２．０５のときＣＰＧoutput＝１．０）。
【００８６】
【数２】
2005305597.tif 000004
【００８７】
なお、振動子に対する入力信号としては、主にセンサなどの検出信号から得られる外部環境を扱うことができるが、その他にロボット装置内で管理される本能や感情で構成される情動などの内部状態や、その他の状態値を入力信号に用いてもよい。
【００８８】
図９には、振動子を用いたロボット装置の姿勢安定制御メカニズムの構成を概念的に示している。ロボット装置は、可動部の運動を周期運動と捉え、歩行やその他の可動部の動作を位相で記述する。
【００８９】
ロボット・システムを構成する物理系毎に１つ以上の位相発生器が定義される。制御器は、位相発生器からの連続した位相情報φに基づいて、ロボットの可動部の駆動を制御する。
【００９０】
図示の例では、制御側が異なる複数の制御器が用意されており、ロボット・システムからの位相出力に応じて、適切な制御器が選択される。勿論、１つの制御器のみを用いて位相発生器からの位相出力を処理するように構成することもできる。
【００９１】
ロボット・システム上に配設されたセンサでは、駆動時における状態量が検出される。位相推定器は、センサ情報に基づいて、実現された角周波数ωと位相φを推定する。
【００９２】
そして、推定された運動の位相や角周波数を基に、位相発生器では可動部の周期運動における位相と各周波数を調節する。
【００９３】
例えば、歩行運動そのものを周期運動として捉え、神経振動子のようなもので周期信号を発生し、それを用いてアクチュエータの制御を行ない、観測される歩行運動の周期的な信号と神経振動子を干渉させることで引き込みを行ない、安定な歩行運動を得ることができる。
【００９４】
あるいは、上述のように周期運動を神経振動子のように直接振幅信号を発生させるのではなく、位相信号を発生させ、位相信号から制御量としての振幅信号に発生させるようにしてもよい。この場合、引き込み制御や安定領域を広く、設計し易いものにする。
【００９５】
位相信号は、典型的には、以下の更新則により調整される。
【００９６】
【数３】
2005305597.tif 000005
【００９７】
上式で、ΔωとΔφは、運動を観測して得られる運動の位相推定値と位相発生器との位相誤差推定値であり、運動の位相推定はロボット・センサから推定される。具体的には、歩行運動であれば、足底スイッチ（又は接地確認センサ）の接地時点とその周期、腕部の運動であれば、手先の接触スイッチの時点とスタートからそこに至るまでの時間から予測される周期全身協調運動であれば、同様な関節運動が始まる時点とその周期より推定される。
【００９８】
位相信号発生手段で生成する位相信号φから適当な変換を用いて、ロボットの可動部への入力信号（制御量）Ｕを得る。
【００９９】
【数４】
2005305597.tif 000006
【０１００】
観測信号のベクトルＶから推定される位相並びに角周波数をそれぞれφ0、ω0とおくと、下式により位相誤差推定値を得ることができる。（変形として、この推定を制御量Ｕと観測ベクトルＶから比較する方法や、φとＶから推定する方法、φ0とＵから推定する方法、Ｕ、Ｖ、φから推定する方法なども考えられる。）
【０１０１】
【数５】
2005305597.tif 000007
【０１０２】
滑らかな運動を保証するために、位相を緩やかに変化させる、あるいはダイナミクスを用いて操作するなどの方法が考えられる。例えば、
【０１０３】
【数６】
2005305597.tif 000008
【０１０４】
として、
【０１０５】
【数７】
2005305597.tif 000009
【０１０６】
とすることなどが考えられる。また、急峻な位相変化が予想される場合（例えば、歩行中に躓くなど）には、ダイナミカル・システムを用いてロボットの可動部への入力信号（制御量）Ｕを操作する方法が考えられる。例えば、
【０１０７】
【数８】
2005305597.tif 000010
【０１０８】
とすることにより、滑らかな運動が実現される。（位相で滑らかにつなぐ場合は、例えば傾斜面歩行のような、数歩で収束するような場合に適している。これに対し、躓くなど早い対応が必要な場合には、位相を急峻に変化させ、制御基礎のものをスイッチングするべきである。このときの運動の滑らかさは制御器側で保証する。）
【０１０９】
ロボット装置の可動部位における運動を周期運動として捉えると、時間をパラメータとして目標軌道を記述することができる。これに対し、位相φを用いて目標軌道を記述することもできる。
【０１１０】
また、単一のロボット・システムを位相発生器で記述するだけでなく、複数の位相発生器を定義することも可能である。位相発生器の構成は特に限定されないが、位相リセットによる振る舞いの解析解が求まることが設計論的に望ましい。位相発生器はロボット装置そのものであり、例えば装置全体として１つの位相発生器とみなすこともできるし、関節自由度毎に位相発生器として捉えることもでき（後述）、任意性がある。
【０１１１】
図９に示したように複数の制御器を設ける場合、ロボット・システムからの位相出力φに応じて適切な制御器を選択するようにしてもよい。例えば、下表に示すように、左右の脚状態に基づいてロボット・システムの位相が判別され、各状態について適切な制御器が用意されている。あるいは、２以上の制御器が同じＰＤ制御などであっても、制御パラメータ（例えばゲイン値）が異なるようにする。
【０１１２】
【表１】
2005305597.tif 000011
【０１１３】
制御器は、連続した位相情報φを基に可動部を制御する。また、運動を第並み駆る・システムで記述してあれば、急峻な位相変化が到来しても、制御器側で滑らかさを保証することができる。
【０１１４】
図１０には、２足の脚式移動ロボットが左右の脚を交互に支持脚、遊脚に切り替えて歩行動作を行なうときの、位相情報φに基づいて制御器を適宜選択するメカニズムについて図解している。
【０１１５】
図示の例では、遊脚を持ち上げる動作を位相情報φに基づいて制御する制御器（Ｓｗｉｎｇ  Ｃｏｎｔｒｏｌｌｅｒ）、遊脚を接地させる動作を位相情報φに基づいて制御する制御器（Ｔｏｕｃｈ  Ｄｏｗｎ  Ｃｏｎｔｒｏｌｌｅｒ）、両脚支持期の動作を位相情報φに基づいて制御する制御器（Ｄｏｕｂｌｅ  ＳＵｐｐｏｒｔ  Ｃｏｎｔｒｏｌｌｅｒ）、単脚支持期の動作を位相情報φに基づいて制御する制御器（Ｓｉｎｇｌｅ  Ｓｕｐｐｒｏｔ  Ｃｏｎｔｒｏｌｌｅｒ）が用意されている。
【０１１６】
位相発生器（Ｐｈａｓｅ  Ｃｏｎｔｒｏｌｌｅｒ）は、歩行運動中の現時点での位相φを発生させる。そして、位相φに基づいて制御器が選択され、これに位相情報φが供給される。
【０１１７】
制御器では、供給された位相情報φに基づいて、ロボットの可動部への制御量Ｕを生成する。ロボットの可動部は、制御量Ｕに従って歩行運動のための駆動を行なう。
【０１１８】
歩行運動中には、可動部における各関節の角度、角速度、角加速度、その他のセンサ出力値が取得され、位相推定器（Ｐｈａｓｅ  Ｅｓｔｉｍａｔｏｒ）に投入される。位相推定器では、これらのセンサ出力値すなわち可動部の状態量に基づいて、周期運動における位相並びに角周波数を推定し、これを位相発生器に供給する。
【０１１９】
位相発生器では、推定された位相又は角周波数に基づいて、位相信号Φを更新し、ロボット・システムの周期運動の位相を調整するする。
【０１２０】
ここで、ロボットの可動部は例えば１以上の関節自由度で構成されている。このような場合、例えばモータ・エンコーダなどのセンサにより関節角を状態量として検出する。そして、位相推定器では関節角に基づいて関節の周期運動に関する位相又は各周波数を推定することができる。
【０１２１】
最も単純な例として、位相を関節角度として出力する。すなわち、横軸に周期（時間）Ｔをとり、縦軸に関節角度θをとると、正弦波形のチャートとなる（図１１を参照のこと）。ここで、横軸に関節角をとり、縦軸に関節角速度をとると、単位円上を周回するチャートとなる。このとき、ある時点における回転角（単位円上の時点と原点を結ぶ直線が横軸となす角）φが周期運動の位相となる（図１２を参照のこと）。
【０１２２】
本実施形態では、ロボット装置は複数の可動脚を備えている。この場合、例えば可動脚の各足底に配設されている接地確認センサ９１及び９２により検出される床反力を状態量として検出し、振動子としての位相発生器への入力信号として利用することができる。そして、位相推定器は、各可動脚の足底における床反力に基づいて位相又は角周波数を推定する。例えば、床反力に基づいて、左右いずれかの脚による単脚支持期又は両脚支持期を判定することができ、この支持脚判定結果を歩行運動における位相φとして推定することができる。
【０１２３】
また、位相推定器は、各可動脚の足底における床反力に基づいて前記可動部の周期運動における位相又は角周波数を推定するようにしてもよい。
【０１２４】
あるいは、可動脚の各足底において進行方向又はその直交方向に受ける床面からの摩擦力を状態量として検出し、振動子としての位相発生器への入力信号として利用することができる。この場合、位相推定器は、各可動脚の足底で床面から受ける摩擦力に基づいて、可動脚の周期運動における位相又は角周波数を推定するようにしてもよい。
【０１２５】
また、本実施形態に係るロボット装置は体幹部を備えているが、姿勢センサ９５から得られる体幹部の傾きを状態量として検出し、これを振動子としての位相発生器への入力信号として利用することができる。そして、位相推定器は、体幹部の傾きに基づいて、体幹部やその他の可動部の周期運動における位相又は角周波数を推定するようにしてもよい。
【０１２６】
また、体幹部や足底に設けられた加速度センサ９３、９４、９６から得られるロボット装置又は可動部毎の加速度を状態量として検出し、振動子としての位相発生器への入力信号として利用することができる。位相推定器は、これら加速度情報からなる状態量に基づいてロボット装置又はその可動部の周期運動における位相又は角周波数を推定するようにしてもよい。
【０１２７】
また、位相推定器は、所定の事象の発生に応答して、前記関節の周期運動に関する位相をリセットするようにしてもよい。
【０１２８】
また、位相推定器は、検出された状態量と可動部の周期に関する教師信号を学習し、前記の学習された教師信号に基づいて位相又は角周波数を推定するようにしてもよい。
【０１２９】
例えば、位相推定器を、検出された状態量に応じて前記可動部の周期運動に関する位相又は角周波数を出力するニューラル・ネットワークで構成することができる。
【０１３０】
あるいは、位相推定器を、連続した複数の内界センサ情報を基に、フィードフォワード・ニューラル・ネットワークで構成し、位相や角周波数を連続的に推定するようにしてもよい。
【０１３１】
あるいは、位相を離散的に推定する場合には、例えば歩行動作において各脚の接地を位相０、一方の脚の接地を位相πと定義して、足底の接地確認センサの出力により観測することができる。また、この場合の各周波数は、左右の脚の接地の時間間隔より算出することができる。
【０１３２】
Ｃ．振動子の定義
本発明に係るロボット装置においては、物理系毎に１つ以上の振動子が定義される。ここで、図１４に示すように、ロボット装置全体を周期運動を行なう１つの物理振動子として捉え、ロボット装置全体で１つの振動子を定義するようにしてもよい。
【０１３３】
あるいは、歩行やその他の脚式運動においては、左右の各脚の動作をそれぞれ独立した周期運動と捉え、図１４に示すように、脚毎に１つの振動子を定義するようにしてもよい。
【０１３４】
また、歩行やその他の脚式運動においては、左右の脚部が協調的に動作し、単脚支持と両脚支持を交互に繰り返すことから、下肢においては１つの周期運動と捉えることができる一方、上肢と体幹などその他の部位においては別の周期運動と捉えることができる。このような場合、図１５に示すように、下肢と、上肢及び体幹において、それぞれ異なる振動子を定義することができる。勿論、このときも左右の各脚の動作をそれぞれ独立した周期運動と捉え、図１６に示すように、脚毎に１つずつ振動子を定義するようにしてもよい。
【０１３５】
また、歩行やその他の運動において、左右の脚、左右の腕、体幹、頭部の動作をそれぞれ独立した周期運動と捉え、図１７に示すように、部位毎に１つの振動子を定義するようにしてもよい。
【０１３６】
また、上述したように可動部毎に、すなわち隣接する関節の運動を組み合わせて１つの周期運動と捉える必要は必ずしもない。例えば、図１８に示すように、運動制御システムにおける直接の制御対象となる関節毎に独立した周期運動を行なっているものと捉えて、関節毎に振動子を定義することもできる。
【０１３７】
図１４〜図１８に示したように、単一のロボット装置上で複数の振動子を定義した場合、振動子毎すなわち周期運動と捉えられる可動部毎に、対応した制御側を備えた制御器が配設されることになる。このような場合、装置全体の協調動作を実現するために可動部毎の制御器からの制御量を調停する調停手段をさらに備えていてもよい。
【０１３８】
また、ロボット装置を構成するすべての可動部の運動を周期運動と捉えることができるとは限らない。すなわち、周期運動と捉えられる可動部と、周期運動と捉えられない可動部を含む場合がある。このような場合、周期運動と捉えられない可動部のために、周期運動とは無関係の制御則に基づいて可動部を制御する第２の制御手段を配置すればよい。このような第２の制御手段は、例えばＺＭＰ安定度判別規範に基づいて制御信号を生成する。あるいはステートマシンに基づいて制御信号を生成する。
【０１３９】
そして、このような場合、装置全体の協調動作を実現するためには、前記制御手段による周期運動の位相に基づく可動部の制御量と、周期運動を行なわない可動部に対する第２の制御手段からの制御量とを調停する調停手段をさらに備えていてもよい（図１９を参照のこと）。
【０１４０】
Ｄ．振動子を用いた２足歩行運動
本実施形態に係るロボット装置は、制御部による全身協調的な動作制御により、２足歩行を実現することができる。かかる２足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
【０１４１】
（１）右脚を持ち上げた、左脚による単脚支持期
（２）右足が接地した両脚支持期
（３）左脚を持ち上げた、右脚による単脚支持期
（４）左足が接地した両脚支持期
【０１４２】
要するに、歩行運動は、離散的な接地と支持脚と遊脚の切り替えを周期的に繰り返すことにより実現される。
【０１４３】
Ｄ−１．２次元モデルへの振動子の適用
人間の歩行運動と類似性があり、また直観的な見通しも良いモデルとして、例えば、２次元平面拘束コンパス型モデル（Ｃｏｍｐａｓｓ−ｌｉｋｅ  Ｂｉｐｅｄ）を挙げることができる。このモデルは、脚を腰関節から接地点までの直動（Ｌｉｎｅａｒ Ｍｏｔｉｏｎ：ＬＭ）と、腰回りの回転(ＳＷｉｎｇ ｍｏｔｉｏｎ：ＳＷ) に分解して歩行運動を取り扱うものである（図２０を参照のこと）。すなわち、腰関節回りの極座標系に分解する。直動関節は主に体重を支え、進行方向へ重心を送り出す動きを行なう。これに対し、腰関節回りの回転は脚を前に進めるとともに接地点の制御及び歩幅の調整を行なう。
【０１４４】
このような２次元平面拘束コンパス型モデルにおいて、直動脚長さを正弦波で駆動し、腰関節をフリー（Ｐａｓｓｉｖｅ）関節にした場合でも、適切な初期条件の下では人間の歩行に類似した運動を生成可能であることがシミュレーションにより確かめられている（例えば、宮腰、山本、多賀、國吉共著「脚伸縮機構による二足歩行シミュレーション」（第１８回日本ロボット学会学術講演会予稿集、第３巻、ｐｐ．１１０７−１１０８（２０００））を参照のこと）。このときに得られる床反力は、人間の測定データとの類似生が高い。
【０１４５】
そこで、本発明者らは、この直動脚ＬＭと腰回転関節ＳＭに対して、それぞれ振動子を配置する（図２０を参照のこと）。このような振動子配置によれば、直動脚の振動子は主に自重を支持し、バランスを保つ機能を担うことを直観的に理解し易い。また、腰回転関節は脚の歩幅を規定することから、速度の調節や接地点選択による歩行を安定化する機能を担うことを直観的に理解し易い。すなわち、振動子を用いた制御が直観的で理解し易い配置にすることにより、振動子パラメータの調節が容易になる。
【０１４６】
図２１には、直動脚ＬＭに振動子を配置した構成を模式的に示している。同図に示すように、脚を前後に開き、その場で足踏みを生成するフィードバック系が構成され、振動子に対する入出力を備えている。
【０１４７】
左右の両脚は、逆位相で収縮及び伸展を行なうことから、ロボット装置の上体は前後方向に揺動を行なうことになる。このとき、定常的に振動を継続するよう、上体の絶対角を両脚支持期の振動子にフィードバックする。すなわち、上体が前方に倒れているようであれば、前側の脚を伸展し後脚を収縮させることで復帰モーメントを発生させる。フィードバックの符号は脚接地点と重心の相対位置（Ｓｔａｂｉｌｉｔｙ Ｍｅａｓｕｒｅ）によって前後脚を判断し反転させている。また、床面との十分なクリアランスを確保するため、遊脚時には脚収縮を大きくするようフィードバックを加えている。遊脚期並びに支持脚期における振動子に対するパラメータを以下に示す。
【０１４８】
【数９】
2005305597.tif 000012
【０１４９】
また、支持脚期における直動脚ＬＭに配置した振動子に対するパラメータを以下に示す。
【０１５０】
【数１０】
2005305597.tif 000013
【０１５１】
また、図２２には、腰回転関節ＳＭに振動子を配置した構成を模式的に示している。同図に示すように、腰回転関節ＳＭは直動脚ＬＭと協調して動作することが必要であることから、ＬＭの出力をＳＭの入力信号として用いることにより、腰回転関節ＳＭについてフィードバック系が構成される。
【０１５２】
脚長が最大になるとき、接地点は最後方の位置、最小となるとき接地点は最前方の位置を取るように符号を決定する。これにより、前脚は常に後脚より短くなることから、前方に倒れこむモーメントが発生するので、ロボット装置はこのモーメントを用いて推進することができる。これはＰａｓｓｉｖｅ Ｄｙｎａｍｉｃ Ｗａｌｋｅｒ（受動動的歩行器）を駆動する重力場を定性的に類似する。腰回転関節ＳＭに配置した振動子に関するパラメータを以下に示す。
【０１５３】
【数１１】
2005305597.tif 000014
【０１５４】
Ｄ−２．３次元モデルへの振動子の適用
図３及び図４に示したように、本実施形態に係るロボット装置は関節軸毎に回転型アクチュエータを配置し、これらの位置制御に基づいて所望の装置運動を実現する。例えば、直接の制御対象である関節軸毎に振動子を配置し、環境からのフィードバック情報を用いて歩行やその他の運動を生成することが考えられる（例えば、非特許文献２を参照のこと）。図１８に示したように、６自由度の脚に対し関節毎に振動子を定義することもできる。
【０１５５】
ところが、このような順動力学での振動子の配置が、振動子の振る舞いを系全体の挙動として理解することを難しくする、という問題がある。すなわち、個々の関節角の動作が作用点としての足部の挙動（接地点や歩幅など）にどれだけ寄与するのか、判りにくい。
【０１５６】
そこで、本実施形態では、振動子の配置において、逆キネマティクスを導入する。制御目標である可動部位に対する基準座標系を設定し、この基準座標系の座標軸毎に可動部位についての振動子を記述する。この場合、振動子の可動部位の状態量に対する引き込み現象により、基準座標系における可動部位への指令値を得ることができる。このような可動部位に対する位置指令を逆キネマティクス演算により関節角度指令に変換することができる。
【０１５７】
基準座標系の座標軸毎に可動部位についての振動子を記述するので、ロボット装置が実現する機能に応じた振動子の配置を実現することができる。また、制御目標である可動部位の作用点について振動子を記述するので、振動子の役割を直観的に理解し易い配置となり、振動子のパラメータ調節が容易になる。そして、振動子による可動部位に対する指令値を該当する関節部に対する指令値に変換することで、直接の制御対象である関節部アクチュエータの指令値を得ることができるので、ロボット装置の力学的特性にも有効に引き込みを行ない、振動子による引き込み現象をより有効に利用することができる。
【０１５８】
図２３には、ＸＹＺ直交座標系により基準座標系が構成され，その軸に沿って振動子を配置した例を示している。すなわち、ロボット装置の自重を支持する動作はＺ方向であり、歩を進めるための動作はＸ方向、左右のバランスを保つための腰揺動はＹ方向であると機能的に分解することができる。そして、ＸＹＺの各方向に振動子φx、φy、φzをそれぞれ配置し、左右の脚で合計６個の振動子を使用する。足先姿勢に関しても、同様に基準座標系で考えることができる。
【０１５９】
ここで、図２３に示した振動子の配置構成をした脚を用いた定常直進歩行について考察する。但し、説明の簡単化のため、足先姿勢は基準姿勢のままであるとする。
【０１６０】
絶対空間上に座標系Ｒworldを設定する。また、ロボットに固定された座標系Ｒbodyを設定する。ここでは、図２４に示すように原点と座標軸をとる。絶対座標系Ｒworldから見たロボット座標系Ｒbodyの原点位置を姿勢を以下のように表す。
【０１６１】
【数１２】
2005305597.tif 000015
【０１６２】
この場合、ロボット装置に固定された座標系Ｒbodyから見た左右の足先位置（ｘ， ｙ，ｚ）、並びに姿勢（ｒｏｌｌ，ｐｉｔｃｈ，ｙａｗ）をそれぞれ以下のように表す。但し、記号Ｌは左、Ｒは右を意味する。
【０１６３】
【数１３】
2005305597.tif 000016
【０１６４】
これら足先位置が与えられたとき、逆キネマティクス演算を用いて関節角を算出することができる。
【０１６５】
ＸＺ平面は矢状面（Ｓａｇｉｔｔａｌ Ｐｌａｎｅ）であり、ＹＺ平面は前額面（Ｌａｔｅｒａｌ Ｐｌａｎｅ）である。ここでは、Ｘ軸正方向に進むことを前進、負方向に進むことを後進と呼ぶことにする。
【０１６６】
まず始めに、前後進を伴わないその場足踏み、すなわち前額面内での運動にのみ着目する。歩行運動を矢状面・前額面に分解して検討することは広く一般に用いられる考え方である。これに続いて、矢状面内での運動を考え、前後進を伴う歩行運動について述べる。
【０１６７】
前額面（ＹＺ平面）内運動を、さらにＺ方向とＹ方向と独立に分解して考える。Ｚ方向運動は、自重を支える運動と、遊脚のためのクリアランスをとる動きを交互に行なう。足踏み運動は左右対称動作と仮定し、左右で符号反転させた振動し出力を位置指令として送る。安定した足踏み動作を継続するため、足底の力センサ（接地確認センサ９１及び９２）のセンサ情報を抑制結合として振動子φzにフィードバックする。すなわち、床反力が大きくなると、それ以上脚を踏み込む動作を抑制する動作である。これにより、ロボット装置の接地状態に応じて振動子の引き込み現象が生じ、足踏みの振動数が調整される。
【０１６８】
ここで、Ｚ方向に沿って配置した振動子φzの出力をＣＰＧZとおき、Ｚ方向初期基準位置をＺoffsetとおく。下式のように、脚Ｚ位置を駆動すれば足踏み運動を生成することができる（図２５を参照のこと）。しかしながら、ロボットの固有振動数と振動子の固有振動数が異なれば定常的な振動は継続できず、外乱にも弱い。
【０１６９】
【数１４】
2005305597.tif 000017
【０１７０】
定常的な発振を行なうため、床反力を入力信号とし引き込みを行なう。計測される左右脚床反力をそれぞれＦL_Z、及びＦR_Zとおく。また、ロボットの質量をｍ、重力加速度をｇとおく。このとき、振動子ＣＰＧZへのフィードバック信号ｇzを下式のように設定することができる。
【０１７１】
【数１５】
2005305597.tif 000018
【０１７２】
なお、フィードバック・ゲインｈZの調節がし易いように、ｍｇで正規化している。ｈZ＜０と設定することで、床反力が大きくなったとき、より脚を踏み込むように動作し、常に床面からの体幹高さｐbody_Zを高く保持することができる（図２６を参照のこと）。
【０１７３】
上記の式［数１５］では左右の床反力を用いていたが、支持脚切り替えが瞬間的に起こると近似できる場合は、床反力波形は矩形波で観測されるため、片側の床反力のみで実現することができる。ｈZ＜０としたとき、振動子ＣＰＧzへのフィードバック信号ｇzの以下のいずれかの式で表すか、又は簡単に接地状態を検出するＯＮ−ＯＦＦスイッチを設け、矩形波信号を取り出すようにしてもよい。この場合、フィードバック信号を安価なセンサで実現できることから、装置コスト並びに計算コストを削減することができる。
【０１７４】
【数１６】
2005305597.tif 000019
【０１７５】
２足歩行ロボットの場合は一般に、重心位置は対称性に注意して矢状面内に設計される。また、左右脚は干渉しないよう、Ｙ方向にオフセットを以って設計される。したがって、Ｚ方向のみの運動では、図２７に示すように、ｐbody_Rollが大きく揺動することになる。そこで、次にＹ方向の前額面内運動を考える。
【０１７６】
Ｙ方向の前額面内運動は、遊脚と支持脚の交換を行ない易くするために、振動子を用いた制御を補助的に行なう。Ｙ方向は左右の脚で同じ方向に駆動し、平行リンクとして体幹を移動させる。Ｙ方向運動は、Ｚ方向の運動と同期協調する必要があることから、Ｚ方向と同様の振動子フィードバック系を構成し、振動子φyは引き込み現象を起こす。
【０１７７】
Ｙ方向に沿って配置した振動子φyの出力をＣＰＧYとし、初期基準位置をＹoffsetとおく。このときの足先Ｙ座標は下式のように定められる。
【０１７８】
【数１７】
2005305597.tif 000020
【０１７９】
図２８に示すように、ＦL_Zを引き込みに用いて常に足底上に重心があるように揺動をさせることにより、ｐbody_Rollを小さくすることができる。このとき、フィードバック信号ｇYは下式のように表される。
【０１８０】
【数１８】
2005305597.tif 000021
【０１８１】
また逆に、ｈZ＜０とした場合、体幹部のロールはより大きくなるが、図２９に示すように、常に遊脚側に倒れる向きに重心を移動させる。このため、Ｙ方向への静的安定余裕が増し、外乱に強くなるという効果がある。
【０１８２】
なお、上記［数１８］の第一式の右辺は、先述の［数１５］の第一式の右辺と同じであることから、上記の式［数１６］に示したように片方の力センサ情報のみでも同様に簡略化することが可能である。
【０１８３】
このようにＹＺの２方向の振動子と、床反力という１種類のセンサ情報のみを用いて、安定な足踏み運動を生成することができる。図３０には、振動子を用いた足踏み運動、すなわち前額面内運動の制御を行なったときのシミュレーション結果を示している。但し、振動子の内部変数には適切な初期値をあらかじめ与えてある。また、実線は振動子φzの出力ＣＰＧZを、点線は同振動子へのフィードバック信号ｇzを示している。なお、理解を容易にするために、適当な係数を掛けている。足踏み開始時の過渡的な挙動の後、およそ２秒後に定常状態に達した。上記の式［数１４］より、ｇzが負になる、すなわち右脚に荷重が印加されているとき、振動子φzの出力ＣＰＧZも負になっていることから、荷重が掛かると踏み込む運動であり、定常的な足踏みが行なわれている、ということが理解できよう。
【０１８４】
続いて、ＹＺの２方向の振動しフィードバック系に対し、さらにＸ方向の脚運動を加え、歩行を生成する場合について考察してみる。
【０１８５】
ＸＺ平面で見ると、足先軌道は、楕円のような軌道であれば歩行が可能である。この場合、Ｚ方向の運動とは、位相が９０度ずれた信号が必要である。そこで、体幹のロール方向の角速度を用いることとする。主にＺ方向の運動が体幹のロール角度を生じていることから、その１階微分であるロール角速度は位相が９０度ずれるものと考えられる。振動子φxは、このロール角速度を用いて、Ｘ方向の運動を引き込む。また、歩行を左右対称な運動であると仮定し、Ｚ方向と同様に、振動子出力を符号反転し、左右対称に駆動する。
【０１８６】
矢状面内運動は、例えば図３１に示すような右回りの楕円軌道を描けば、ロボット装置はＸ方向に移動することができる。このときの足先Ｘ座標は下式のようになる。但し、ａ及びｂを定数、φを位相としてパラメータ表示する。
【０１８７】
【数１９】
2005305597.tif 000022
【０１８８】
上式より、Ｘ方向の振動にはＺ方向の振動と位相が９０度ずれた信号が必要となる．そこで定性的に以下の考察をする。図３２に示すようにｐbody_Rollは振動子φzの出力ＣＰＧZにより片脚を踏み込んだ場合に生じていると考えられる。すなわち、足先位置ｐbody_Rollと振動し出力ＣＰＧZは同位相で振動していると考えられる。仮にＣＰＧZが正弦波で駆動されているとするならば、その１階微分は余弦波となり、９０度の位相差が得られる。すなわち、ｐbody_Rollの１階微分は９０度の位相差があると予想される。
【０１８９】
そこで、定常足踏みの際の、体幹のロール方向角速度をシミュレーションから求めると、図３３に示すような結果が得られた。同図から、Ｚ方向の引き込みに用いられている床反力の値と、体幹のロール方向角速度値はほぼ９０度の位相差があることが分る。
【０１９０】
矢状面内運動Ｘ方向に関して、下式のように振動子φxを配置する。左右脚を交互に踏み出すため、振動子φxの出力ＣＰＧXの符号を左右で反転している。
【０１９１】
【数２０】
2005305597.tif 000023
【０１９２】
このとき、振動子φxへのフィードバック信号は以下のように定める。
【０１９３】
【数２１】
2005305597.tif 000024
【０１９４】
図３４に示すように、引き込みにより定常的な脚軌道が得られ、歩行が可能になる。図３５には、歩行時の（ｐbody_Z，ｐbody_Z，ｐbody_Z）を示している。図示の例では、およそ毎秒０．１３メートルの速度でＸ方向にほぼ一定の速度で歩行できていることが分る。また、Ｚ方向高さがほぼ一定であることから、転倒も起こっていないことが分る。
【０１９５】
なお、上記の［数２０］に示した各式に振幅を可変する定数Ａxをかけることにより、歩幅の調節が可能になる。前額面内の振動周期は一定であるから、歩幅が広がることにより、移動速度の調節が可能になる。また、Ａx＜０とすれば後退の動作も可能である。なお、Ａxを明示的に用いなくとも、神経振動子の出力振幅を可変するパラメータｃを用いても同様の操作ができる。その場合はフィードバック係数ｈxも可変する必要がある。
【０１９６】
【数２２】
2005305597.tif 000025
【０１９７】
以上により、逆キネマティクスを導入し，デカルト座標系で振動子の配置を行ない、フィードバック系を求めることにより、ロボット装置の歩行運動を生成可能であることが理解できよう。このように振動子を配置した制御システムは、機能すなわち座標軸毎の３つの振動子と、左右の足部における床反力を検出する２つの力センサで構成することができる。すなわち、単純な仕組みでありながら、歩行が可能である。
【０１９８】
また、図３６には、他の構成例として，基準座標系を脚先のデカルト座標系として選び、各軸回りの揺動、すなわちロール、ピッチ、ヨーに対しそれぞれ振動子φRoll、φPitch、φYawを配置した例を示す．左右の脚で合計６個の振動子を使用する。
【０１９９】
また、図３７には、他の構成例として、基準座標系を脚先の極座標系として記述した場合を示している。左右それぞれの脚には、脚の長さ方向（Ｌｅｎｇｔｈ）、ロール方向（Ｒｏｌｌ）、及びピッチ方向（Ｐｉｔｃｈ）に３つの振動子φLength、φRoll、φPitchが配置され、合計で６個の振動子を使用する。
【０２００】
各振動子φLength、φRoll、φPitchは状態量に対する引き込み現象により脚の該当方向に対する指令値を生成する。脚の長さ方向の振動子φLengthは、主に自重を支持し、バランスを保つ機能を担う。φPitchの引き込みは、φLengthの出力となる。振動子の配置以外は、２次元コンパス・モデル（前述）をそのまま使用して好適に歩行を実現することができる。
【０２０１】
図２３並びに図３６に示した例では、脚の足先位置をＸＹＺ直交座標からなるデカルト座標系で振動子を記述したが、本発明の要旨はこれに限定されるものではない。図３７に示す例では、足先位置を仮想的に股関節回りの極座標系を用いて表示している。このような仮想脚は“Ｖｉｒｔｕａｌ Ｌｅｇ”と呼ばれ、ホッピング・ロボットなどに適用されている（例えば、Ｍａｒｃ Ｒａｉｂｅｒｔ著“Ｌｅｇｇｅｄ Ｒｏｂｏｔ ｔｈａｔ Ｂａｌａｎｃｅ”（Ｍａｓｓａｃｈｕｓｅｔｔｓ Ｉｎｓｔｉｔｕｔｅ ｏｆ Ｔｅｃｈｎｏｌｏｇｙ Ｃａｍｂｒｉｄｇｅ，ＭＡ，ＵＳＡ）を参照されたい）。
【０２０２】
図３７に示した例では、足先位置をこの仮想脚（ＶＬと表記する）の脚長（ｐVL_length）、前額面内回転角（ｐVL_roll）、矢状面内回転角（ｐVL_pitch）で表記することを考える。
【０２０３】
【数２３】
2005305597.tif 000026
【０２０４】
この場合、前述のデカルト座標系の例と対比させて、下式のように定性的に考えることができる。
【０２０５】
【数２４】
2005305597.tif 000027
【０２０６】
歩行運動の解析をする場合、バイオメカニクスの分野では膝関節の部分を直動として扱う。コンパス型モデルが説明に良く用いられ、このような近似が比較的良く成り立つことが知られている。よって、振動子を極座標表示に対して適用することで、より人間に近い、自然な脚軌道を記述することができる。
【０２０７】
また、図３８には、他の構成例として，左右２つのＸＹＺ直交座標系により基準座標系が構成される例を示している。左右それぞれの脚にはＸＹＺの各方向に振動子φx、φy、φzが配置され、合計で６個の振動子を使用する。ロボット装置の自重を支持する動作はＺ方向であり、歩を進めるための動作はＸ方向、左右のバランスを保つための腰揺動はＹ方向であると機能的に分解することができる。この場合、左右のＸＺ方向の振動子φx、φzの位相差は１８０度、φyの位相差は０度であることが好ましい。
【０２０８】
Ｄ−３．振動子と状態遷移機械との組み合わせ
ロボット装置か２足歩行運動を行なう場合、前額面内運動と矢状面内運動を独立して扱うことができる、ということは当業者において一般に知られている。そこで、このうち一方を振動子による引き込み現象を利用して制御するとともに、他方を異なる制御機を用いて制御するというシステムを想到することができる。
【０２０９】
脚部の振動子の基準座標系をＸＹＺ直交座標系で構成する場合、Ｚ方向はロボット装置の自重を支持する動作に相当し、Ｙ方向は、左右のバランスを保つための揺動動作に相当し、Ｘ方向は歩を進める（すなわち、接地点や歩幅を決定する）動作に相当する。そこで、本発明者らは、前額面内の運動を振動子により行ない、矢状面内運動をステートマシン（状態遷移機械）により制御するハイブリッド制御システムについて提案する。
【０２１０】
前額面内運動の制御には、上述した足踏み運動と同様の振動子制御システムを用いる。これにより、定常的な足踏み動作を実現することができる。
【０２１１】
ここで、遊脚期となる脚はＸ軸の正方向に脚位置を線形的に変化し、支持脚期となる脚はＸ軸の負方向に脚位置を線形的に駆動すれば、Ｘ方向へ進む歩行運動が生成される。
【０２１２】
前額面内足踏み運動により生成される一歩の時間をＴ秒、歩幅をＳｔメートル、Ｚ方向床反力をＦZニュートン、遊脚−支持脚切り替え時の床反力ＦZの閾値をＦZ_thニュートンとおき、デューティ比を０．５と仮定した場合、足先速度を下式のように記述することができる。
【０２１３】
【数２５】
2005305597.tif 000028
【０２１４】
なお、歩幅の中心値が基準位置Ｘoffsetを保持するように、以下に示すようにＸ位置の最大値及び最小値を制限する。
【０２１５】
【数２６】
2005305597.tif 000029
【０２１６】
このようにＸ方向に対してステートマシンを設定することで、歩行が可能となる。支持脚時の足先速度は常に一定であることから、デューティ比が０．５異常で両脚支持期が存在する場合であっても、左右の脚で相対速度がないことから、足裏滑りを生じず、消費電力を低減することができる。これは、未知の路面高さや外乱などによって両脚支持期が存在する場合にも当てはまる。
【０２１７】
進行方向を変える場合では、旋回半径を規定し、幾何学的に矛盾が生じないよう、円弧に沿ってＹ方向速度並びにヨー回転を記述することで実現可能である。
【０２１８】
Ｙ方向に移動する場合も同様の考え方を用いることができる。Ｙ方向は振動子により制御されているが、その出力に対してステートマシンの出力を重ね合わせることで、Ｙ方向の移動も実現可能である。
【０２１９】
また、複数のステートマシンを用意しておき、床反力の値に応じてステートマシンを切り替えて使用するようにしてもよい。また、足踏み運動は、振動子が床反力に引き込まれることで継続されている。したがって、矢状面内運動も床反力を介して振動し出力に引き込まれることになり、結果として適切なタイミングで脚を駆動することが可能である。
【０２２０】
Ｅ．歩行運動以外の運動に対する振動子の適用
これまで２足歩行の脚式移動ロボットを例にとって振動子の配置方法について説明してきたが、本発明の要旨はこれに限定されるものではない。他のタイプの脚式移動ロボット装置、脚式移動以外のロボット装置若しくは移動装置においても、姿勢やその他の安定制御に振動子による引き込み現象を利用することができる。
【０２２１】
Ｅ−１．脚式以外の移動体への振動子の適用
例えば、足先にローラースケートが配設された、脚と車輪を組み合わせたハイブリッド移動体におけるローラースケート運動の制御に、振動子による引き込み現象を利用することができる。このとき、接地点では抗力の異方性がある。すなわち、車輪の回転軸方向は摩擦があるが進行せず、これに対し車輪の回転方向は進行するが摩擦がない。このため、車輪転がり方向には移動し易く、軸方向には移動しにくい。このような異方性に着目し、作用点軌道に振動子を配置することができる（図３９を参照のこと）。
【０２２２】
なお、脚車輪ハイブリッド移動体に関しては、例えば、Ｅｎｄｏ，Ｇ．，Ｈｉｒｏｓｅ，Ｓ．共著“Ｓｔｕｄｙ  ｏｎ  Ｒｏｌｌｅｒ−Ｗａｌｋｅｒ  （ｍｕｌｔｉ−ｍｏｄｅ  ｓｔｅｅｒｉｎｇ  ｃｏｎｔｒｏｌ  ａｎｄ  ｓｅｌｆ−ｃｏｎｔａｉｎｅｄ  ｌｏｃｏｍｏｔｉｏｎ）”（Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ，  ２０００．Ｐｒｏｃｅｅｄｉｎｇｓ．ＩＣＲＡ  ‘００．ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ，  Ｖｏｌｕｍｅ３，２４−２８  Ａｐｒｉｌ  ２０００，Ｐａｇｅｓ２８０８−２８１４  ｖｏｌ．３）を参照されたい。
【０２２３】
Ｅ−２．ロボット装置の移動作業以外の運動への振動子の適用
さらに上述した他にも、ロボット装置における移動以外のさまざまな運動に関しても、作用点軌道を振動子で記述することにより、同様に本発明を適用することができる。
【０２２４】
例えば、左右の両腕を用いて鋸を引く運動の場合、鋸を引く動作若しくは機能と、鋸を被削物に押し付ける動作若しくは機能に分解することができ、これらの独立した運動毎に振動子を記述する。具体的に言えば、胴体に対し腕部を支持する肩関節部に振動子φShoulderを配置し、鋸を引いたり被削物に押し付けたりする作用点としての肘部に振動子φElbowを配置し、被削物に対して直接作用を及ぼす鋸の刃先に振動子φSawを配置する。そして、これらの引き込み現象により、系全体として鋸で被削物を切断するという作業を好適に実現することができる。
【０２２５】
あるいは、主たる運動方向である鋸の歯に沿った向きに一方の振動子を配置し、また、鋸の歯を被削物押し当てる向きに力制御など別の制御側に基づく制御器を用いることも可能である。
【産業上の利用可能性】
【０２２６】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【０２２７】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置あるいはその他一般的な移動体装置であるならば、例えば玩具などのような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０２２８】
本明細書では、２足歩行の脚式移動ロボットを例にとって振動子の配置方法について説明してきたが、本発明の要旨はこれに限定されるものではない。他のタイプの脚式移動ロボット装置、脚式移動以外のロボット装置若しくは移動装置においても、姿勢やその他の安定制御に振動子による引き込み現象を利用する場合には、同様に本発明を適用することができる。
【０２２９】
また、ロボット装置における移動以外のさまざまな運動に関しても、作用点軌道を振動子で記述することにより、同様に本発明を適用することができる。
【０２３０】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【図面の簡単な説明】
【０２３１】
【図１】図１は、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方から眺望した様子を示した図である。
【図２】図２は、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を後方から眺望した様子を示した図である。
【図３】図３は、脚式移動ロボット１００が具備する関節自由度構成を模式的に示した図である。
【図４】図４は、脚式移動ロボット１００の制御システム構成を模式的に示した図である。
【図５】図５は、振動子を用いたロボット装置の運動制御の原理を説明するための図である。
【図６】図６は、振動子を用いたロボット装置の運動制御の原理を説明するための図である。
【図７】図７は、振動子の構成例を示した図である。
【図８】図８は、振動子において入力信号に出力信号が引き込まれていく様子を示した図である。
【図９】図９は、振動子を用いたロボット装置の姿勢安定制御メカニズムの構成を概念的に示した図である。
【図１０】図１０は、２足の脚式移動ロボットが左右の脚を交互に支持脚、遊脚に切り替えて歩行動作を行なうときの、位相情報φに基づいて制御器を適宜選択するメカニズムを示した図である。
【図１１】図１１は、可動部の関節角θと周期運動における位相φの関係を説明するための図である。
【図１２】図１２は、可動部の関節角θと周期運動における位相φの関係を説明するための図である。
【図１３】図１３は、ロボット全体の運動を周期運動と捉え、機体全体で１つの位相発生器を定義した様子を示した図である。
【図１４】図１４は、歩行やその他の脚式運動においては、左右の各脚の動作をそれぞれ独立した周期運動と捉え、脚毎に１つの位相発生器を定義した様子を示した図である。
【図１５】図１５は、下肢においては１つの周期運動と捉えることができる一方、上肢と体幹などその他の部位においては別の周期運動と捉え、下肢と、上肢及び体幹において、それぞれ異なる位相発生器を定義した様子を示した図である。
【図１６】図１６は、上肢及び体幹と、左右の各脚部をそれぞれ独立した周期運動と捉えて位相発生器を定義した様子を示した図である。
【図１７】図１７は、左右の脚、左右の腕、体幹、頭部の動作をそれぞれ独立した周期運動と捉え、部位毎に１つの位相発生器を定義した様子を示した図である。
【図１８】図１８は、関節毎に独立した周期運動を行なっているものと捉えて、関節毎に位相発生器を定義した様子を示した図である。
【図１９】図１９は、各可動部への制御量を調停して装置全体の協調動作を実現する仕組みを模式的に示した図である。
【図２０】図２０は、２次元平面拘束コンパス型モデル（Ｃｏｍｐａｓｓ−ｌｉｋｅ  Ｂｉｐｅｄ）を示した図である。
【図２１】図２１は、直動脚ＬＭに振動子を配置した構成を模式的に示した図である。
【図２２】図２２は、腰回転関節ＳＭに振動子を配置した構成を模式的に示した図である。
【図２３】図２３は、基準座標系として脚先のデカルト座標系を設定し、脚に振動子を配置した構成例を示した図である。
【図２４】図２４は、定常直進歩行について考察する際の座標軸の設定を示した図である。
【図２５】図２５は、振動子を用いた前額面内運動の制御を説明するための図である。
【図２６】図２６は、振動子を用いた前額面内運動の制御を説明するための図である。
【図２７】図２７は、振動子を用いた前額面内運動の制御を説明するための図である。
【図２８】図２８は、振動子を用いた前額面内運動の制御を説明するための図である。
【図２９】図２９は、振動子を用いた前額面内運動の制御を説明するための図である。
【図３０】図３０は、振動子を用いた前額面内運動の制御を行なったときのシミュレーション結果を示した図である。
【図３１】図３１は、振動子を用いた矢状面内運動の制御を説明するための図である。
【図３２】図３２は、振動子を用いた矢状面内運動の制御を説明するための図である。
【図３３】図３３は、振動子を用いた矢状面内運動の制御を行なったときのシミュレーション結果を示した図である。
【図３４】図３４は、振動子を用いた矢状面内運動の制御を説明するための図である。
【図３５】図３５は、振動子を用いた矢状面内運動の制御を説明するための図である。
【図３６】図３６は、基準座標系として脚先のデカルト座標系を設定し、脚に振動子を配置した構成例を示した図である。
【図３７】図３７は、基準座標系として脚先の極座標系を設定し、脚に振動子を配置した構成例を示した図である。
【図３８】図３８は、基準座標系として脚先のデカルト座標系を設定し、脚に振動子を配置した構成例を示した図である。
【図３９】図３９は、脚車輪ハイブリッド移動体の構成を示した図である。
【符号の説明】
【０２３２】
１…首関節ヨー軸
２Ａ…第１の首関節ピッチ軸
２Ｂ…第２の首関節（頭）ピッチ軸
３…首関節ロール軸
４…肩関節ピッチ軸
５…肩関節ロール軸
６…上腕ヨー軸
７…肘関節ピッチ軸
８…手首関節ヨー軸
９…体幹ピッチ軸
１０…体幹ロール軸
１１…股関節ヨー軸
１２…股関節ピッチ軸
１３…股関節ロール軸
１４…膝関節ピッチ軸
１５…足首関節ピッチ軸
１６…足首関節ロール軸
３０…頭部ユニット，４０…体幹部ユニット
５０…腕部ユニット，５１…上腕ユニット
５２…肘関節ユニット，５３…前腕ユニット
６０…脚部ユニット，６１…大腿部ユニット
６２…膝関節ユニット，６３…脛部ユニット
８０…制御ユニット，８１…主制御部
８２…周辺回路
９１，９２…接地確認センサ
９３，９４…加速度センサ
９５…姿勢センサ
９６…加速度センサ
１００…脚式移動ロボット
【図１】
2005305597.tif 000030
【図２】
2005305597.tif 000031
【図３】
2005305597.tif 000032
【図４】
2005305597.tif 000033
【図５】
2005305597.tif 000034
【図６】
2005305597.tif 000035
【図７】
2005305597.tif 000036
【図８】
2005305597.tif 000037
【図９】
2005305597.tif 000038
【図１０】
2005305597.tif 000039
【図１１】
2005305597.tif 000040
【図１２】
2005305597.tif 000041
【図１３】
2005305597.tif 000042
【図１４】
2005305597.tif 000043
【図１５】
2005305597.tif 000044
【図１６】
2005305597.tif 000045
【図１７】
2005305597.tif 000046
【図１８】
2005305597.tif 000047
【図１９】
2005305597.tif 000048
【図２０】
2005305597.tif 000049
【図２１】
2005305597.tif 000050
【図２２】
2005305597.tif 000051
【図２３】
2005305597.tif 000052
【図２４】
2005305597.tif 000053
【図２５】
2005305597.tif 000054
【図２６】
2005305597.tif 000055
【図２７】
2005305597.tif 000056
【図２８】
2005305597.tif 000057
【図２９】
2005305597.tif 000058
【図３０】
2005305597.tif 000059
【図３１】
2005305597.tif 000060
【図３２】
2005305597.tif 000061
【図３３】
2005305597.tif 000062
【図３４】
2005305597.tif 000063
【図３５】
2005305597.tif 000064
【図３６】
2005305597.tif 000065
【図３７】
2005305597.tif 000066
【図３８】
2005305597.tif 000067
【図３９】
2005305597.tif 000068