(57)【要約】【課題】  可動部の周期運動に着目して機体の姿勢安定制御を行なう。【解決手段】  ロボットの可動部の運動を周期運動と捉え、その位相を調整することで大局的な姿勢安定制御を行なう。ロボット・システムに１以上の位相発生器を用い、その位相に応じて複数の制御器の中から１つを選択する。制御器は連続的な位相情報に基づいて可動部の駆動を制御する。また、物理系から実際の位相を推定し、この推定値を用いて位相発生器の振動数や位相を調節し、物理の位相とロボット・システムの位相発生器間で相互引き込みを行ない、結果としてロボットのダイナミクスを有効に用いた運動制御を実現する。【選択図】  図１
2005096068.tif 000002
【特許請求の範囲】
【請求項１】
複数の可動部を有するロボット装置であって、
前記の可動部の少なくとも一部の周期運動に関する位相信号を発生する位相信号発生手段と、
前記位相信号に基づいて前記可動部の制御信号を生成する制御手段と、
前記制御信号に従って前記可動部を駆動する駆動手段と、
前記駆動手段により駆動される前記可動部の状態量を検出する状態量検出手段と、
前記状態量に基づいて前記可動部の周期運動に関する位相又は角周波数を推定する推定手段と、
を備え、
前記位相信号発生手段は、前記推定手段により推定された位相又は角周波数に基づいて、前記位相信号を更新する、
ことを特徴とするロボット装置。
【請求項２】
前記制御手段は、制御則の異なる複数の制御器を備え、前記位相信号に基づいて適切な制御器を選択し、該選択された制御器が前記位相信号に基づいて前記可動部の制御信号を生成する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記可動部は１以上の関節を有し、
前記状態量検出手段は前記関節の関節角又は関節角速度のうち少なくとも１つを状態量として検出し、
前記推定手段は前記関節角又は関節角速度のうち少なくとも１つに基づいて前記関節の周期運動に関する位相又は各周波数を推定する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項４】
前記可動部として複数の可動脚を備え、
前記状態量検出手段は、前記可動脚の各足底において受ける床反力を状態量として検出し、
前記推定手段は、各可動脚の足底における床反力に基づいて前記可動部の周期運動における位相又は角周波数を推定する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項５】
前記可動部として複数の可動脚を備え、
前記状態量検出手段は、前記可動脚の各足底において進行方向又はその直交方向に受ける床面からの摩擦力を状態量として検出し、
前記推定手段は、各可動脚の足底で床面から受ける摩擦力に基づいて前記可動部の周期運動における位相又は角周波数を推定する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項６】
前記ロボット装置は体幹部を備え、
前記状態量検出手段は、前記体幹部の傾きを状態量として検出し、
前記推定手段は、前記体幹部の傾きに基づいて前記可動部の周期運動における位相又は角周波数を推定する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項７】
前記状態量検出手段は、前記ロボット装置又は可動部の加速度を状態量として検出し、
前記推定手段は、前記加速度に基づいて前記可動部の周期運動における位相又は角周波数を推定する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項８】
前記推定手段は、所定の事象の発生に応答して、前記関節の周期運動に関する位相をリセットする、
ことを特徴とする請求項１に記載のロボット装置。
【請求項９】
前記推定手段は、前記状態検出量検出手段で検出された状態量と前記可動部の周期に関する教師信号を学習し、前記の学習された教師信号に基づいて位相又は角周波数を推定する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項１０】
前記推定手段は、前記状態検出量検出手段で検出された状態量に応じて前記可動部の周期運動に関する位相又は角周波数を出力するニューラル・ネットワークで構成される、
ことを特徴とする請求項１に記載のロボット装置。
【請求項１１】
周期運動と捉えられる複数の可動部を含み、
前記制御手段は、周期運動と捉えられる可動部毎に制御器を配設し、
装置全体の協調動作を実現するために可動部毎の制御器からの制御量を調停する調停手段をさらに備える、
ことを特徴とする請求項１に記載のロボット装置。
【請求項１２】
周期運動と捉えられる可動部と、周期運動と捉えられない可動部を含み、
前記の周期運動と捉えられない可動部のための制御則に基づく制御信号を生成する第２の制御手段と、
装置全体の協調動作を実現するために前記制御手段及び前記第２の制御手段からの制御量を調停する調停手段をさらに備える、
ことを特徴とする請求項１に記載のロボット装置。
【請求項１３】
複数の可動部を有するロボットの姿勢制御方法であって、
前記の可動部の少なくとも一部の周期運動に関する位相信号を発生する位相信号発生ステップと、
前記位相信号に基づいて前記可動部の制御信号を生成する制御ステップと、
前記制御信号に従って前記可動部を駆動する駆動ステップと、
前記駆動ステップにより駆動される前記可動部の状態量を検出する状態量検出ステップと、
前記状態量に基づいて前記可動部の周期運動に関する位相又は角周波数を推定する推定ステップと、
を備え、
前記位相信号発生ステップでは、前記推定ステップにより推定された位相又は角周波数に基づいて、前記位相信号を更新する、
ことを特徴とするロボットの姿勢制御方法。
【請求項１４】
前記制御ステップは、制御則の異なる複数の制御サブステップを備え、前記位相信号に基づいて適切な制御サブステップを選択し、該選択された制御サブステップからの前記位相信号に基づいて前記可動部の制御信号を生成する、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項１５】
前記可動部は１以上の関節を有し、
前記状態量検出ステップでは前記関節の関節角又は関節角速度のうち少なくとも１つを状態量として検出し、
前記推定ステップでは、前記関節角又は関節角速度のうち少なくとも１つに基づいて前記関節の周期運動に関する位相又は各周波数を推定する、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項１６】
前記ロボットは前記可動部として複数の可動脚を備え、
前記状態量検出ステップでは、前記可動脚の各足底において受ける床反力を状態量として検出し、
前記推定ステップでは、各可動脚の足底における床反力に基づいて前記可動部の周期運動における位相又は角周波数を推定する、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項１７】
前記ロボットは前記可動部として複数の可動脚を備え、
前記状態量検出ステップでは、前記可動脚の各足底において進行方向又はその直交方向に受ける床面からの摩擦力を状態量として検出し、
前記推定ステップでは、各可動脚の足底で床面から受ける摩擦力に基づいて前記可動部の周期運動における位相又は角周波数を推定する、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項１８】
前記ロボット装置は体幹部を備え、
前記状態量検出ステップでは、前記体幹部の傾きを状態量として検出し、
前記推定ステップでは、前記体幹部の傾きに基づいて前記可動部の周期運動における位相又は角周波数を推定する、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項１９】
前記状態量検出ステップでは、前記ロボット装置又は可動部の加速度を状態量として検出し、
前記推定ステップでは、前記加速度に基づいて前記可動部の周期運動における位相又は角周波数を推定する、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項２０】
前記推定ステップでは、所定の事象の発生に応答して、前記関節の周期運動に関する位相をリセットする、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項２１】
前記推定ステップでは、前記状態検出量検出ステップにおいて検出された状態量と前記可動部の周期に関する教師信号を学習し、前記の学習された教師信号に基づいて位相又は角周波数を推定する、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項２２】
前記推定ステップは、前記状態検出量検出ステップにおいて検出された状態量に応じて前記可動部の周期運動に関する位相又は角周波数を出力するニューラル・ネットワークで構成される、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項２３】
周期運動と捉えられる複数の可動部を含み、
前記制御ステップは、周期運動と捉えられる可動部毎に対応する制御サブステップを有し、
装置全体の協調動作を実現するために可動部毎の制御サブステップからの制御量を調停する調停ステップをさらに備える、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【請求項２４】
前記ロボットは、周期運動と捉えられる可動部と、周期運動と捉えられない可動部を含み、
前記の周期運動と捉えられない可動部のための制御則に基づく制御信号を生成する第２の制御ステップと、
装置全体の協調動作を実現するために前記制御ステップ及び前記第２の制御ステップからの制御量を調停する調停ステップをさらに備える、
ことを特徴とする請求項１３に記載のロボットの姿勢制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脚などの複数の可動部を備えたロボット装置及びロボットの姿勢制御方法に係り、特に、所定の安定規範に基づいて姿勢の安定性を自律的に維持するロボット装置及びロボットの姿勢制御方法に関する。
【０００２】
さらに詳しくは、本発明は、ＺＭＰ（Ｚｅｒｏ Ｍｏｍｅｎｔ Ｐｏｉｎｔ）を安定度判別の規範として用いずに機体の姿勢安定制御を行なうロボット装置及びロボットの姿勢制御方法に係り、特に、可動部の周期運動に着目して機体の姿勢安定制御を行なうロボット装置及びロボットの姿勢制御方法に関する。
【背景技術】
【０００３】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の“ＲＯＢＯＴＡ（奴隷機械）”に由来すると言われている。
【０００４】
わが国では、ロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（ｉｎｄｕｓｔｒｉａｌ ｒｏｂｏｔ）であった。最近では、可動脚を備え脚式作業を行なうことができる脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。ヒトの動作をモデルにした脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット（ｈｕｍａｎｏｉｄ ｒｏｂｏｔ）と呼ぶ。
【０００５】
２足直立による脚式移動は、クローラ式や、４足又は６足式などに比し不安定で姿勢制御や歩行制御が難しくなるが、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できるという点で優れている。
【０００６】
２足の脚式移動ロボットに関する姿勢制御や安定歩行に関する技術は既に数多提案されている。ここで言う安定な「歩行」とは、「転倒することなく、脚を使って移動すること」と定義される。機体の転倒は、ロボットが実行中の作業を中断することを意味し、且つ、転倒状態から起き上がって作業を再開するために相当の労力や時間が払われる。また、転倒によって、ロボット本体自体、あるいは転倒するロボットと衝突する相手側の物体にも、致命的な損傷を与えてしまう危険がある。このため、転倒を回避するための姿勢安定制御は、脚式移動ロボットの開発上、最も重要な課題の１つに位置付けられている。
【０００７】
直立歩行を行なうロボットは基本姿勢としての通常の直立姿勢がそもそも不安定である。脚式移動ロボットの姿勢安定制御には、ＺＭＰ（Ｚｅｒｏ Ｍｏｍｅｎｔ Ｐｏｉｎｔ）が歩行の安定度判別の規範として用いられることが多い。ＺＭＰによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。力学的推論の帰結として、足底接地点と路面の形成する支持多角形（すなわちＺＭＰ安定領域）の辺上あるいはその内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちＺＭＰが存在する（例えば、非特許文献１を参照のこと）。
【０００８】
ＺＭＰ規範に基づく２足歩行パターン生成は、足底着地点をあらかじめ設定することができ、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。また、ＺＭＰを安定度判別規範とすることは、力ではなく軌道を運動制御上の目標値として扱うことを意味するので、技術的に実現可能性が高まる。
【０００９】
目標ＺＭＰ制御は、すべての瞬間において、動的釣り合いを取るように運動を計画することにより、実機上で成功を収めている。ＺＭＰを安定度判別規範とする運動生成手法は、安定した２足歩行を実現することができる、確立された手法である。一方、ＺＭＰに基づく安定制御は常に１つの方程式に拘束されるという側面があり、ＺＭＰ規範に基づく軌道計画にはロボット自身や環境を正確にモデリングし、運動の実現には高精度な軌道追従制御系により環境モデルと常に整合を取る必要がある。言い換えれば、未知の環境への適応性という点で問題がある。ＺＭＰ方程式を数学的に解くことは演算負荷が比較的高く、リアルタイム制御への適用には困難を伴うこともある。
【００１０】
また、ＺＭＰ方程式を満たすことは、ロボットの姿勢安定制御において十分条件であって、必要条件ではない。例えば、人間の歩行などを観察すると、必ずしもすべての瞬間でＺＭＰ安定余裕が最大となるように保たれている訳ではない。
【００１１】
他方、ヒトなどの生体メカニズムでは、ＺＭＰに依存しない形態で、四肢が持つ物理法則を好適に利用して、より人間らしい歩行動作を行なっていると言われている。ロボットも、このように物理法則をうまく利用することができれば、精緻なモデルを必要としないで（すなわち少ない演算負荷により）、アクチュエータの駆動トルクを要せず、高いエネルギ変換効率で歩行動作を実現することができると思料される。
【００１２】
例えば、歩行運動を周期運動として捉え、ロボットの可動部の少なくとも一部を物理振動子として捉え、この振動子の位相や振動数を決定又は制御するという形態で歩行動作を制御することができる。このような周期運動が継続することを「安定な歩行」とみなすことができる。このような場合、一周期の間に（ＺＭＰ理論では）動的釣り合いが保たれない瞬間がある、すなわち瞬間的に安定性を逸脱することはあっても、この周期を繰り返すことによって元の状態を回復することができれば、運動を継続することが可能である。勿論、一周期では元の状態に戻らなくても、現実的な時間内で一定の周期運動に収束すれば、やはり運動を継続することができる。
【００１３】
ロボットの歩行運動に着目し、安定性をこのように定義すれば、未知の外乱に対しても数周期後には定常状態に復帰するという、「大局的な安定性」を実現することができる。この結果、精緻なモデルや精緻なトラッキングが不要となる。また、アクチュエータのゲインを低下させることができ、低ゲインによりコスト低減や安全性の向上を実現することができる（逆に、精緻なモデルや精緻なトラッキングが必要な場合、高ゲイン化、高精度化とともにコストが増大する）。また、大局的安定性により、安定領域を逸脱することが許容される結果として、歩行やその他の脚式動作（歩容）を多様化して、ロボットは表現力を増し、環境への適応性も備えることができる。
【００１４】
このように歩行運動の周期性に着目した脚式移動ロボットの歩行技術として、四足ロボットの生物規範型不整地適応動歩行（例えば、非特許文献２を参照のこと）や、ヒトの２足歩行運動の外乱に対するリズムリセットと歩行の動的安定性の関係（例えば、非特許文献３を参照のこと）などが挙げられる。
【００１５】
前者によれば、独自の非線形ダイナミクスからなる機械システムと神経システムをカップリングした動的システムと環境との相互作用を通じて適応的な運動を創発的に生成する。しかしながら、位相や振動数の引き込みは非線形微分方程式（松岡オシレータ）により行なわれるが、これは物理振動子の位相の解析解を求めることができないことを意味し、システムを数学的に設計することができない。すなわち、具体的な設計論に至らない。
【００１６】
また、後者の場合、位相リセットを伴う運動軌道と歩行の動的安定性の関連を２足歩行の力学系モデルを用いて数学的に解析することができる。しかしながら、既知の外乱直後にオープン・ループで物理振動子の位相を調節するものであり、物理系からのフィードバックはなく、未知の状態や外乱に対する適応性に欠ける。
【００１７】
【非特許文献１】ヴコブラトビッチ（Ｍｉｏｍｉｒ Ｖｕｋｏｂｒａｔｏｖｉｃ）著「脚式移動ロボット（ＬＥＧＧＥＤ ＬＯＣＯＭＯＴＩＯＮ ＲＯＢＯＴＳ）」（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））
【非特許文献２】福岡外著「四足ロボットの生物規範型不整地適応動歩行―神経・機械カップリング系構成法の提案とピッチ運動・ＣＰＧ・ロール運動間相互引き込みの評価―」（日本ロボット学会誌２１巻５号，２００３年７月）
【非特許文献３】山崎外著「ヒトの二足歩行運動の外乱に対するリズムリセットと歩行の動的安定性の関係」（信学技報，社団法人  電子情報通信学会）
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明の目的は、所定の安定規範に基づいて姿勢の安定性を自律的に維持することができる、優れたロボット装置及びロボットの姿勢制御方法を提供することにある。
【００１９】
本発明のさらなる目的は、ＺＭＰを安定度判別の規範として用いずに機体の姿勢安定制御を好適に行なうことができる、優れたロボット装置及びロボットの姿勢制御方法を提供することにある。
【００２０】
本発明のさらなる目的は、可動部の周期運動に着目して機体の姿勢安定制御を行なうことができる、優れたロボット装置及びロボットの姿勢制御方法を提供することにある。
【００２１】
本発明のさらなる目的は、ロボットの可動部の少なくとも一部を状態と環境に応じた物理振動子として捉え、数学的に操作可能な位相発生により可動部の動作を制御するとともに、未知の外乱に適応的に対応することができる、優れたロボット装置及びロボットの姿勢制御方法を提供することにある。
【課題を解決するための手段】
【００２２】
本発明は、上記課題を参酌してなされたものであり、複数の可動部を有するロボット装置であって、
前記の可動部の少なくとも一部の周期運動に関する位相信号を発生する位相信号発生手段と、
前記位相信号に基づいて前記可動部の制御信号を生成する制御手段と、
前記制御信号に従って前記可動部を駆動する駆動手段と、
前記駆動手段により駆動される前記可動部の状態量を検出する状態量検出手段と、
前記状態量に基づいて前記可動部の周期運動に関する位相又は角周波数を推定する推定手段と、
を備え、
前記位相信号発生手段は、前記推定手段により推定された位相又は角周波数に基づいて、前記位相信号を更新する、
ことを特徴とするロボット装置である。
【００２３】
ここで、前記制御手段は、制御則の異なる複数の制御器を備え、前記位相信号に基づいて適切な制御器を選択し、該選択された制御器が前記位相信号に基づいて前記可動部の制御信号を生成する。
【００２４】
本発明に係るロボット装置によれば、可動部の運動を周期運動と捉え、その移送を調整することで大局的な姿勢安定制御を行なうことができる。すなわち、ロボット・システムに１以上の位相発生器を用い、その位相に応じて複数の制御器の中から１つを選択する。制御器は連続的内装情報に基づいて可動部の駆動を制御する。また、物理系から実際の位相を推定し、この推定値を用いて位相発生器の振動数や位相を調節し、物理の位相とロボット・システムの位相発生器間で相互引き込みを行ない、結果としてロボットのダイナミクスを有効に用いた運動制御を実現することができる。
【００２５】
図１には、本発明に係るロボット装置の姿勢安定制御メカニズムの構成を概念的に示している。ロボット装置は、可動部の運動を周期運動と捉え、歩行やその他の可動部の動作を位相で記述する。
【００２６】
ロボット・システムを構成する物理系毎に１つ以上の位相発生器が定義される。また、制御側が異なる複数の制御器が用意されており、ロボット・システムからの位相出力に応じて、適切な制御器が選択される。
【００２７】
制御器は、位相発生器からの連続した位相情報φに基づいて、ロボットの可動部の駆動を制御する。
【００２８】
ロボット・システム上に配設されたセンサでは、駆動時における状態量が検出される。位相推定器は、センサ情報に基づいて、実現された角周波数ωと位相φを推定する。
【００２９】
そして、推定された運動の位相や角周波数を基に、位相発生器では可動部の周期運動における位相と各周波数を調節する。
【００３０】
従来は、歩行運動を周期運動として捉え、神経振動子のようなもので周期信号を発生し、それを用いてアクチュエータの制御を行ない、観測される歩行運動の周期的な信号と神経振動子を干渉させることで引き込みを行ない、安定な歩行運動を得ようとしていた（例えば、非特許文献２を参照のこと）。
【００３１】
これに対し、本発明では、周期運動を神経振動子のように直接振幅信号を発生させるのではなく、位相信号を発生させ、位相信号から制御量としての振幅信号に発生させることで、引き込み制御や安定領域を広く、設計し易いものにする。
【００３２】
位相信号は、典型的には、以下の更新則により調整される。
【００３３】
【数１】
2005096068.tif 000003
【００３４】
上式で、ΔωとΔφは、運動を観測して得られる運動の位相推定値と位相発生器との位相誤差推定値であり、運動の位相推定はロボット・センサから推定される。具体的には、歩行運動であれば、足底スイッチ（又は接地確認センサ）の接地時点とその周期、腕部の運動であれば、手先の接触スイッチの時点とスタートからそこに至るまでの時間から予測される周期全身協調運動であれば、同様な関節運動が始まる時点とその周期より推定される。
【００３５】
位相信号発生手段で生成する位相信号φから適当な変換を用いて、ロボットの可動部への入力信号（制御量）Ｕを得る。
【００３６】
【数２】
2005096068.tif 000004
【００３７】
観測信号のベクトルＶから推定される位相並びに角周波数をそれぞれφ0、ω0とおくと、下式により位相誤差推定値を得ることができる。（変形として、この推定を制御量Ｕと観測ベクトルＶから比較する方法や、φとＶから推定する方法、φ0とＵから推定する方法、Ｕ、Ｖ、φから推定する方法なども考えられる。）
【００３８】
【数３】
2005096068.tif 000005
【００３９】
滑らかな運動を保証するために、位相をなだらかに変化させる、あるいはダイナミクスを用いて操作するなどの方法が考えられる。例えば、
【００４０】
【数４】
2005096068.tif 000006
【００４１】
として、
【００４２】
【数５】
2005096068.tif 000007
【００４３】
とすることなどが考えられる。また、急峻な位相変化が予想される場合（例えば、歩行中に躓くなど）には、ロボットの可動部への入力信号（制御量）Ｕをダイナミカル・システムを用いて操作する方法が考えられる。例えば、
【００４４】
【数６】
2005096068.tif 000008
【００４５】
とすることにより、滑らかな運動が実現される。（位相で滑らかにつなぐ場合は、例えば傾斜面歩行のような、数歩で収束するような場合に適している。これに対し、躓くなど早い対応が必要な場合には、位相を急峻に変化させ、制御基礎のものをスイッチングするべきである。このときの運動の滑らかさは制御器側で保証する。）
【００４６】
ロボットの可動部を周期運動として捉える従来の制御方法の多くは、時間をパラメータとして目標軌道を記述していた。これに対し、本発明では、位相φを用いて目標軌道を記述する。
【００４７】
また、本発明では、単一のロボット・システムに１つ以上の位相発生器を定義する。位相発生器の構成は特に限定されないが、位相リセットによる振る舞いの解析解が求まることが設計論的に望ましい。位相発生器はロボットの機体そのものであり、例えば機体全体として１つの位相発生器とみなすこともできるし、関節自由度毎に位相発生器として捉えることもでき（後述）、任意性がある。
【００４８】
また、本発明では、ロボット・システムからの位相出力φに応じて適切な制御器を選択する。例えば、下表に示すように、左右の脚状態に基づいてロボット・システムの位相が判別され、各状態について適切な制御器が用意されている。あるいは、２以上の制御器が同じＰＤ制御などであっても、制御パラメータ（例えばゲイン値）が異なるようにする。
【００４９】
【表１】
2005096068.tif 000009
【００５０】
制御器は、連続した位相情報φを基に可動部を制御する。また、運動をダイナミカル・システムで記述してあれば、急峻な位相変化が到来しても、制御器側で滑らかさを保証することができる。
【００５１】
図２には、２足の脚式移動ロボットが左右の脚を交互に支持脚、遊脚に切り替えて歩行動作を行なうときの、位相情報φに基づいて制御器を適宜選択するメカニズムについて図解している。
【００５２】
図示の例では、遊脚を持ち上げる動作を位相情報φに基づいて制御する制御器（Ｓｗｉｎｇ  Ｃｏｎｔｒｏｌｌｅｒ）、遊脚を接地させる動作を位相情報φに基づいて制御する制御器（Ｔｏｕｃｈ  Ｄｏｗｎ  Ｃｏｎｔｒｏｌｌｅｒ）、両脚支持期の動作を位相情報φに基づいて制御する制御器（Ｄｏｕｂｌｅ  Ｓｕｐｐｏｒｔ  Ｃｏｎｔｒｏｌｌｅｒ）、単脚支持期の動作を位相情報φに基づいて制御する制御器（Ｓｉｎｇｌｅ  Ｓｕｐｐｒｏｔ  Ｃｏｎｔｒｏｌｌｅｒ）が用意されている。
【００５３】
位相発生器（Ｐｈａｓｅ  Ｃｏｎｔｒｏｌｌｅｒ）は、歩行運動中の現時点での位相φを発生させる。そして、位相φに基づいて制御器が選択され、これに位相情報φが供給される。
【００５４】
制御器では、供給された位相情報φに基づいて、ロボットの可動部への制御量Ｕを生成する。ロボットの可動部は、制御量Ｕに従って歩行運動のための駆動を行なう。
【００５５】
歩行運動中には、可動部における各関節の角度、角速度、角加速度、その他のセンサ出力値が取得され、位相推定器（Ｐｈａｓｅ  Ｅｓｔｉｍａｔｏｒ）に投入される。位相推定器では、これらのセンサ出力値すなわち可動部の状態量に基づいて、周期運動における位相並びに角周波数を推定し、これを位相発生器に供給する。
【００５６】
位相発生器では、推定された位相又は角周波数に基づいて、位相信号Φを更新し、ロボット・システムの周期運動の位相を調整する。
【００５７】
ここで、ロボットの前記可動部は例えば１以上の関節自由度で構成されている。このような場合、前記状態量検出手段は前記関節の関節角又は関節角速度のうち少なくとも１つを状態量として検出する。そして、前記推定手段は前記関節角又は関節角速度のうち少なくとも１つに基づいて前期関節の周期運動に関する位相又は各周波数を推定することができる。
【００５８】
最も単純な例として、位相を関節角度として出力する。すなわち、横軸に周期（時間）Ｔをとり、縦軸に関節角度θをとると、正弦波形のチャートとなる（図３を参照のこと）。ここで、横軸に関節角をとり、縦軸に関節角速度をとると、単位円上を周回するチャートとなる。このとき、ある時点における回転角（単位円上の時点と原点を結ぶ直線が横軸となす角）φが周期運動の位相となる（図４を参照のこと）。
【００５９】
また、前記可動部として複数の可動脚を備えていてもよい。このような場合、  前記状態量検出手段は、前記可動脚の各足底において受ける床反力を状態量として検出する。そして、前記推定手段は、各可動脚の足底における床反力に基づいて位相又は角周波数を推定することができる。例えば、床反力に基づいて、左右いずれかの脚による単脚支持期又は両脚支持期を判定することができ、この支持脚判定結果を歩行運動における位相φとして推定することができる。
【００６０】
また、ロボット装置は、可動部として複数の可動脚を備えていてもよい。このような場合、前記状態量検出手段は、前記可動脚の各足底において受ける床反力を状態量として検出してもよい。そして、前記推定手段は、各可動脚の足底における床反力に基づいて前記可動部の周期運動における位相又は角周波数を推定するようにしてもよい。
【００６１】
あるいは、前記状態量検出手段は、前記可動脚の各足底において進行方向又はその直交方向に受ける床面からの摩擦力を状態量として検出し、前記推定手段は各可動脚の足底で床面から受ける摩擦力に基づいて前記可動部の周期運動における位相又は角周波数を推定するようにしてもよい。
【００６２】
また、前記ロボット装置は体幹部を備え、前記状態量検出手段は前記体幹部の傾きを状態量として検出するようにしてもよい。そして、前記推定手段は、前記体幹部の傾きに基づいて前記可動部の周期運動における位相又は角周波数を推定するようにしてもよい。
【００６３】
また、前記状態量検出手段は、前記ロボット装置又は可動部の加速度を状態量として検出し、前記推定手段は、前記加速度に基づいて前記可動部の周期運動における位相又は角周波数を推定するようにしてもよい。
【００６４】
また、前記推定手段は、所定の事象の発生に応答して、前記関節の周期運動に関する位相をリセットするようにしてもよい。
【００６５】
また、前記推定手段は、前記状態検出量検出手段で検出された状態量と前記可動部の周期に関する教師信号を学習し、前記の学習された教師信号に基づいて位相又は角周波数を推定するようにしてもよい。
【００６６】
また、前記推定手段は、前記状態検出量検出手段で検出された状態量に応じて前記可動部の周期運動に関する位相又は角周波数を出力するニューラル・ネットワークで構成してもよい。
【００６７】
前記推定手段は、連続した複数の内界センサ情報を基に、フィードフォワード・ニューラル・ネットワークで位相や角周波数を連続的に推定するようにしてもよい。
【００６８】
あるいは、位相を離散的に推定する場合には、例えば歩行動作において各脚の接地を位相０、一方の脚の接地を位相πと定義して、足底の接地確認センサの出力により観測することができる。また、この場合の各周波数は、左右の脚の接地の時間間隔より算出することができる。
【００６９】
本発明に係るロボット装置においては、物理系毎に１つ以上の位相発生器が定義される。ここで、図５に示すように、機体全体を周期運動を行なう１つの物理振動子として捉え、機体全体で１つの位相発生器を定義するようにしてもよい。
【００７０】
あるいは、歩行やその他の脚式運動においては、左右の各脚の動作をそれぞれ独立した周期運動と捉え、図６に示すように、脚毎に１つの位相発生器を定義するようにしてもよい。
【００７１】
また、歩行やその他の脚式運動においては、左右の脚部においては協調的に動作し、単脚支持と両脚支持を交互に繰り返すことから、下肢においては１つの周期運動と捉えることができる一方、上肢と体幹などその他の部位においては別の周期運動と捉えることができる。このような場合、図７に示すように、下肢と、上肢及び体幹において、それぞれ異なる位相発生器を定義することができる。勿論、このときも左右の各脚の動作をそれぞれ独立した周期運動と捉え、図８に示すように、脚毎に１つの位相発生器を定義するようにしてもよい。
【００７２】
また、歩行やその他の機体運動において、左右の脚、左右の腕、体幹、頭部の動作をそれぞれ独立した周期運動と捉え、図９に示すように、部位毎に１つの位相発生器を定義するようにしてもよい。
【００７３】
また、上述したように可動部毎に、すなわち隣接する関節の運動を組み合わせて１つの周期運動と捉える必要は必ずしもなく、図１０に示すように、関節毎に独立した周期運動を行なっているものと捉えて、関節毎に位相発生器を定義することもできる。
【００７４】
図６〜図１０に示したように、単一のロボット装置上で複数の位相発生器を定義した場合、位相発生器毎すなわち周期運動と捉えられる可動部毎に、対応した制御側を備えた制御器が配設されることになる。このような場合、装置全体の協調動作を実現するために可動部毎の制御器からの制御量を調停する調停手段をさらに備えていてもよい。
【００７５】
また、ロボット装置を構成するすべての可動部の運動を周期運動と捉えることができるとは限らない。すなわち、周期運動と捉えられる可動部と、周期運動と捉えられない可動部を含む場合がある。
【００７６】
このような場合、周期運動と捉えられない可動部のために、周期運動とは無関係の制御則に基づいて可動部を制御する第２の制御手段を配置すればよい。このような第２の制御手段は、例えばＺＭＰ安定度判別規範に基づいて制御信号を生成する。
【００７７】
そして、このような場合、装置全体の協調動作を実現するためには、前記制御手段による周期運動の位相に基づく可動部の制御量と、周期運動を行なわない可動部に対する第２の制御手段からの制御量とを調停する調停手段をさらに備えていてもよい（図１１を参照のこと）。
【発明の効果】
【００７８】
本発明によれば、ＺＭＰを安定度判別の規範として用いずに機体の姿勢安定制御を好適に行なうことができる、優れたロボット装置及びロボットの姿勢制御方法を提供することができる。
【００７９】
また、本発明によれば、可動部の周期運動に着目して機体の姿勢安定制御を行なうことができる、優れたロボット装置及びロボットの姿勢制御方法を提供することができる。
【００８０】
また、本発明によれば、ロボットの可動部の少なくとも一部を状態と環境に応じた物理振動子として捉え、数学的に操作可能な位相発生により可動部の動作を制御するとともに、未知の外乱に適応的に対応することができる、優れたロボット装置及びロボットの姿勢制御方法を提供することができる。
【００８１】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００８２】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００８３】
Ａ．ロボットの構成
図１２及び図１３には本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット１００は、胴体部と、頭部と、左右の上肢部と、脚式移動を行なう左右２足の下肢部とで構成され、例えば胴体に内蔵されている制御部（図示しない）により機体の動作を統括的にコントロールするようになっている。
【００８４】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【００８５】
このように構成されたロボット装置１００は、制御部（図１２及び図１３には図示しない）による全身協調的な動作制御により、２足歩行を実現することができる。かかる２足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
【００８６】
（１）右脚を持ち上げた、左脚による単脚支持期
（２）右足が接地した両脚支持期
（３）左脚を持ち上げた、右脚による単脚支持期
（４）左足が接地した両脚支持期
【００８７】
制御部は、この脚式移動ロボット１００を構成する各関節アクチュエータの駆動制御や各センサ（後述）などからの外部入力を処理するコントローラ（主制御部）や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【００８８】
脚式移動ロボット１００における歩行制御は、例えばＺＭＰを安定度判別規範として、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行なうことによっても実現される。この場合、両脚支持期では、下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。
【００８９】
あるいは、後述するように、脚式移動ロボット１００の左右の脚部など、全身の可動部のうち少なくとも一部を物理振動子として捉え、センサ出力などに基づいて得られる内部状態と外部環境に応じて物理振動子の位相を数学的に操作により発生させて、機体の大局的な安定性を実現するとともに、未知の外乱に適応的に対応することができる。
【００９０】
図１４には、この脚式移動ロボット１００が具備する関節自由度構成を模式的に示している。同図に示すように、ロボット装置１００は、２本の腕部と頭部１を含む上肢と、移動動作を実現する２本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成された、複数の肢を備えた構造体である。
【００９１】
頭部を支持する首関節（Ｎｅｃｋ）は、首関節ヨー軸１と、第１及び第２の首関節ピッチ軸２ａ，２ｂと、首関節ロール軸３という４自由度を有している。
【００９２】
また、各腕部は、その自由度として、肩（Ｓｈｏｕｌｄｅｒ）における肩関節ピッチ軸４と、肩関節ロール軸５と、上腕ヨー軸６、肘（Ｅｌｂｏｗ）における肘関節ピッチ軸７と、手首（Ｗｒｉｓｔ）における手首関節ヨー軸８と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
【００９３】
また、体幹部（Ｔｒｕｎｋ）は、体幹ピッチ軸９と、体幹ロール軸１０という２自由度を有する。
【００９４】
また、下肢を構成する各々の脚部は、股関節（Ｈｉｐ）における股関節ヨー軸１１と、股関節ピッチ軸１２と、股関節ロール軸１３と、膝（Ｋｎｅｅ）における膝関節ピッチ軸１４と、足首（Ａｎｋｌｅ）における足首関節ピッチ軸１５と、足首関節ロール軸１６と、足部とで構成される。
【００９５】
但し、エンターティンメント向けの脚式移動ロボット１００が上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計・製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【００９６】
なお、本実施形態に係る脚式移動ロボット１００は、腰部位置に重心が設定されており、姿勢安定制御の重要な制御対象点であるとともに、装置の「基体」を構成する。
【００９７】
図１５には、脚式移動ロボット１００の制御システム構成を模式的に示している。同図に示すように、ロボット装置１００は、ヒトの四肢を表現した各機構ユニット３０、４０、５０Ｒ／Ｌ、６０Ｒ／Ｌと、各機構ユニット間の協調動作を実現するための適応制御を行なう制御ユニット８０とで構成される（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下同様）。
【００９８】
脚式移動ロボット１００全体の動作は、制御ユニット８０によって統括的に制御される。制御ユニット８０は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）やメモリ等の主要回路コンポーネント（図示しない）で構成される主制御部８１と、電源回路やロボット１００の各構成要素とのデータやコマンドの授受を行なうインターフェース（いずれも図示しない）などを含んだ周辺回路８２とで構成される。
【００９９】
ここで言う周辺回路８２は、ロボット装置に搭載される周辺機器類の他、ケーブルや無線を通して接続される外付けの周辺機器、充電ステーション（図示しない）やその他の周辺機器を接続するためのインターフェース・コネクタなどを含むものとする。
【０１００】
本発明を実現する上で、この制御ユニット８０の設置場所は特に限定されない。図１５では体幹部ユニット４０に搭載されているが、頭部ユニット３０に搭載してもよい。あるいは、脚式移動ロボット１００外に制御ユニット８０を配備して、脚式移動ロボット１００の機体とは有線若しくは無線で交信するようにしてもよい。
【０１０１】
図１４に示した脚式移動ロボット１００内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３０には、首関節ヨー軸１、首関節ピッチ軸２、首関節ロール軸３の各々を表現する首関節ヨー軸アクチュエータＭ1、首関節ピッチ軸アクチュエータＭ2、首関節ロール軸アクチュエータＭ3が配設されている。
【０１０２】
また、体幹部ユニット４０には、体幹ピッチ軸９、体幹ロール軸１０の各々を表現する体幹ピッチ軸アクチュエータＭ9、体幹ロール軸アクチュエータＭ10が配設されている。
【０１０３】
また、腕部ユニット５０Ｒ／Ｌは、上腕ユニット５１Ｒ／Ｌと、肘関節ユニット５２Ｒ／Ｌと、前腕ユニット５３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸４、肩関節ロール軸５、上腕ヨー軸６、肘関節ピッチ軸７、手首関節ヨー軸８の各々を表現する肩関節ピッチ軸アクチュエータＭ4、肩関節ロール軸アクチュエータＭ5、上腕ヨー軸アクチュエータＭ6、肘関節ピッチ軸アクチュエータＭ7、手首関節ヨー軸アクチュエータＭ8が配設されている。
【０１０４】
また、脚部ユニット６０Ｒ／Ｌは、大腿部ユニット６１Ｒ／Ｌと、膝ユニット６２Ｒ／Ｌと、脛部ユニット６３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１、股関節ピッチ軸１２、股関節ロール軸１３、膝関節ピッチ軸１４、足首関節ピッチ軸１５、足首関節ロール軸１６の各々を表現する股関節ヨー軸アクチュエータＭ11、股関節ピッチ軸アクチュエータＭ12、股関節ロール軸アクチュエータＭ13、膝関節ピッチ軸アクチュエータＭ14、足首関節ピッチ軸アクチュエータＭ15、足首関節ロール軸アクチュエータＭ16が配設されている。
【０１０５】
各関節に用いられるアクチュエータＭ1、Ｍ2、Ｍ3…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータで構成することができる。
【０１０６】
頭部ユニット３０、体幹部ユニット４０、腕部ユニット５０、各脚部ユニット６０などの機構ユニット毎に、アクチュエータ駆動制御用の副制御部３５、４５、５５、６５が配設されている。
【０１０７】
体幹部４０には、加速度センサ９５と姿勢センサ９６が配設されている。加速度センサ９５は、ＸＹＺの各軸方向に配置する。また、腰部に加速度センサ９５を配設することによって、質量操作量が大きな部位である腰部を制御対象点として設定して、その位置における姿勢や加速度を直接計測して、ＺＭＰに基づく姿勢安定制御を行なうことができる。加速度センサ９５と姿勢センサ９６は、図１４中ではそれぞれ加速度センサＡ１及びジャイロ・センサＧ１として構成されている。
【０１０８】
また、各脚部６０Ｒ及び６０Ｌには、接地確認センサ９１及び９２と、加速度センサ９３及び９４がそれぞれ配設されている。接地確認センサ９１及び９２は、例えば足底に圧力センサを装着することにより構成され、床反力の有無により足底が着床したか否かを検出することができる。また、加速度センサ９３及び９４は、少なくともＸ及びＹの各軸方向に配置する。左右の足部に加速度センサ９３及び９４を配設することにより、ＺＭＰ位置に最も近い足部で直接ＺＭＰ方程式を組み立てることができる。図３中では、左右の足首に、足平における加速度を計測するセンサＡ２及びＡ２と、足平の姿勢を計測するジャイロ・センサＧ２及びＧ３がそれぞれ配設されている。また、左右の足底の四隅に、接地並びに床反力を計測する力センサＦ１〜Ｆ４、Ｆ５〜Ｆ８が配設されている。
【０１０９】
ここで、接地確認センサ９１及び９２に出力に基づいて、例えば両脚支持期、単脚支持期の判定や、さらには物理振動子としての可動脚の位相φや角周波数ωを推定することができる。また、加速度センサ９３並びに９４は、少なくともＸ及びＹの各軸方向に配置する。左右の足部に加速度センサ９３，９４を配設することにより、ＺＭＰ位置に最も近い足部で直接ＺＭＰ方程式を組み立てることができる。
【０１１０】
主制御部８０は、各センサＡ１〜Ａ３、Ｇ１〜Ｇ３、Ｆ１〜Ｆ８の出力に基づいて、ロボット１００の内部状態や外部環境に応じた姿勢安定制御を行なう。より具体的には、副制御部３５、４５、５５、６５の各々に対して適応的な制御を行ない、脚式移動ロボット１００の上肢、体幹、及び下肢が協調して駆動する。ここで、姿勢安定制御の第１の方法として、ＺＭＰを規範として、すべての瞬間において、動的釣り合いを取るように運動を計画し目標ＺＭＰ制御を行なう。また、姿勢安定制御の第２の方法として、例えば歩行運動中に可動脚など機体の少なくとも一部において周期運動を抽出して、内部状態や外部環境に応じてその位相信号を発生し、この位相信号に基づいて可動部の駆動制御を行なう。
【０１１１】
Ｂ．生物学的原理に基づく２足歩行
本発明者らは、人間のような行動を人と同様の情報処理手法に基づいてヒューマノイド・ロボットで実現するための研究を行なっている。以下では、このような研究を通じて、人間の情報処理の仕組みについての理解を深め、人間の２足歩行に関し生物学的な見地からその原理を明らかにし、得られた知見に基づきロボットで人間のような自然な歩行を行なう手法について詳解する。本明細書では、特に以下の３つの点に注目して説明する。
【０１１２】
（１）ＣＰＧ（Ｃｅｎｔｒａｌ Ｐａｔｔｅｒｎ Ｇｅｎｅｒａｔｏｒ）の特性と２足歩行
近年、望ましい周期運動を実現するために、神経振動子を用いたＣＰＧの研究が行なわれ、その性質の幾つかは実験的に明らかになってきているが、ＣＰＧを用いて２足歩行を実現するための基本的な性質は依然として明らかではない。そこで、本明細書では、ＣＰＧを用いて２足歩行を実現する上で必要となるＣＰＧの特性を明らかにする。本発明者らは、神経振動子を用いたＣＰＧにより、小型２ 足歩行ロボットにおいて望ましい歩行運動の実現に成功した。
【０１１３】
（２）歩行の基本原理
本発明者らは物理的・数学的な観点から歩行の原理的な要素に関連する研究を行ない、歩行の力学的な理解・制御手法の開発を目指している。本明細書では、周期運動の生成に関し、非線形力学系に基づく新しいＣＰＧの概念並びにその有効性について説明する。
【０１１４】
（３）歩行学習制御法
歩行制御器のより高いレベルの部位において、複数の評価基準を用いることができるような学習法について詳解する。その枠組みにおいて歩行中の状態の遷移や歩行周期の学習を行なう。さらに、安定な歩行軌道を生成すると同時にロバスト性と効率性の両方を実現するような学習法について説明する。本発明に係る歩行学習制御法によって、人間のように機敏な歩行運動をヒューマノイド・ロボットで実現する。
【０１１５】
以下では、次の各項目に分けて、本発明の実施形態について説明する。
１．ＣＰＧ（Ｃｅｎｔｒａｌ Ｐａｔｔｅｒｎ Ｇｅｎｅｒａｔｏｒ） の基本的特性に関する研究：神経振動子を用いた２足歩行
２．歩行の基本原理：運動学習プリミティブを用いた人間の歩行の学習及び適応
３．学習による歩行制御：モデル・ベース強化学習による２足歩行の効率的な学習アルゴリズム
【０１１６】
Ｂ−１．神経振動子による２足歩行
本発明者らは、従来の目標ＺＭＰ制御法に変わり得る、非モデル・ベースの２足歩行制御法を確立することを最終的な目標としている。ＺＭＰ規範に基づく従来手法は、制御工学的手法に基づく簡単化の後、解析的に解を求めることが可能であり、汎用性が非常に高い。反面、ロボット・環境とも精緻なモデル化を必要とし、その結果，実際のハードウェアに対する要求精度は非常に高い。また、数学的に導出される運動は、見かけの上でも人間の歩行様式とは異なるものとなっている．本発明者らは、以上の問題意識から、運動生理学・脳神経科学・計算機学習の知見を用いて「より人間に近い歩行制御法」について開示する。この項では、生物の脊髄に存在するリズム生成器（Ｃｅｎｔｒａｌ Ｐａｔｔｅｒｎ Ｇｅｎｅｒａｔｏｒ，ＣＰＧ）に着目し，神経振動子によりモデル化しその特性を理解するとともに、特に実機への適用を試みる。
【０１１７】
Ｂ−１−１．Ｃｅｎｔｒａｌ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ（ＣＰＧ）の特性
Ｂ−１−１−１．ＣＰＧとは
生物の脊髄にはＣＰＧと呼ばれるリズム生成器があることが実験的に確かめられている[1]。例として、最も原始的な魚類であるヤツメウナギの推進や、除脳猫の歩行実験がしばしば引用される。後者は、脳と脊髄を分断した猫を速度が変化するトレッドミル上で歩行させる実験である。このとき、速度に合わせて猫は歩容を変化させることが知られている。この実験から、脳が歩行運動すべてを司っているのではなく、脊髄中に何らかのリズム生成器が存在し、それらはセンサ・フィードバック（例えば接地情報）によって調節されていることが示されている。
【０１１８】
また、ラットの脊髄神経単体を取り出すと、センサ入力なしに歩行時と同様の振動的な興奮が観察される。したがって、脊髄神経には脳やセンサ情報とは無関係に、内在的に振動する特性を持ったリズム生成器があると考えられており、これをＣＰＧと呼んでいる（人間にＣＰＧがあるかどうかはいまだ議論の分かれるところであるが、例えば生後間もない赤ん坊が脇を支えてやると歩行に似た左右の足踏み動作を行なうことや、障害を負い歩行困難な成人の脊椎に周期的な電気刺激を与えるとリハビリの効果が向上するなどの報告から、内在的なリズム発生器の存在が予想されている）。
【０１１９】
Ｂ−１−１−２．神経振動子
ＣＰＧ のモデル化には松岡による神経振動子モデルが一般に使われる（図１６を参照のこと）[2]。ｘ1、ｘ2、ｖ1、ｖ2は内部変数、ｃ、β、γ、τ1、τ2は定数である。入力をｇ、出力をｙとする。このときτ1、τ2は発振の時定数・出力波形の外形を決める。下式中に陽に時間が表れていない点に注意されたい。
【０１２０】
【数７】
2005096068.tif 000010
【０１２１】
ここで、τ1、τ2はオシレータの波形と周波数を決定する。ｃは振幅をコントロールする意味パラメータである。ｃは定常入力と呼ばれ出力の振幅を決める。出力を解析的に求めることは困難であるが、数値的にある程度の指針は示されている[3]。
【０１２２】
神経振動子は入力ｇがなくともτ1、τ2で決められた固有振動数ωnで発振する。十分な振幅の入力ｇがあり、その振動数がωn に近い場合、出力は入力に対して一定の位相関係で固定される。つまり「引き込み現象（Ｅｎｔｒａｉｎｍｅｎｔ）」を起す。これが神経振動子の最も大きな特長である。
【０１２３】
Ｂ−１−１−３．ＤＢを用いた実験
ＣＰＧによる引き込み現象を定性的に理解するため、Ｄｙｎａｍｉｃ Ｂｒａｉｎ（ＤＢ）を用いて（１）ヨーヨー動作、（２）スリンキー（コイル状のバネ）動作の実験を行なった。手順として、まずＤＢシミュレータを用いてＣＰＧを実装した後、実機で検証を行なった（図１７を参照のこと）。まず、ヨーヨーを模した動きとして、１自由度バネ−マス系を肘の上下動で励振させることを考える。ＣＰＧの入力は手首トルク、出力を肘角度とした（重りはボトルに水を入れたもの、バネはゴムひもを用いたため非線形性を伴う）。正弦波で駆動した場合に比して、素早く振幅の一定した引き込みが見られた。また、質量やバネ定数など変化した場合でも、ある程度の範囲なら、引き込みを起すことが確認できた。また、バネのおもちゃであるスリンキーを用いて、振動を継続させる実験も行なった。手首トルクの振幅が小さくなると振動を停止する様子や、周期の変動にも適応的に調節する様子が確かめられた。しかしながら以下の点に注意が必要と思料される。
【０１２４】
（１）神経振動子のみによる引き込みの範囲はさほど大きくない。
文献［３］にもあるように、神経振動子の固有振動数に近い領域でのみ引き込みが起こる。ヨーヨー動作の場合、質量を２００［ｇ］〜５００［ｇ］の範囲（固有振動数で±２０％程度の差）の範囲では引き込みが見られたが、それを超える範囲では定常的な振動は難しい。すなわち、ある程度のモデル化をあらかじめ行なう必要がある。実際、振動子の時定数はバネ−マス系の固有振動数から先に求め、標準値として設定している。引き込み領域を拡大するため、琴坂らはＰｈａｓｅ Ｌｏｃｋ Ｌｏｏｐ（ＰＬＬ）と同様の手法で時定数を変化させている[4]。
【０１２５】
（２）フィードバック信号の振幅
振動子の入力はトルクであり、出力は関節角度である。次元の異なる量を結び付けていることから、何らかの正規化を行なわなければならない。ＤＢのトルク・センサにはオフセットや不感帯があり、シミュレータでの値はほとんど使えず、実験的に求めざるを得ない。また、フィードバック信号として肘トルクを用いての実験も行なったが、肘の上下に伴い生じる前腕部の慣性トルクがバネ−マス系の力変動に重畳されるため、励振を続けることができない。これはＩｎｖｅｒｓｅ Ｄｙｎａｍｉｃｓを用いて減算すれば解決できるが、精密なモデルが必要となる。シミュレータ上では重りの絶対速度をフィードバックした振動も試みた。この場合、ボディのダイナミクスなどは完全に除外されることからより安定した引き込みが見られるが、外界センサを必要とするため実機での実験は行なわなかった。
【０１２６】
（３）フィードバック信号の位相
神経振動子による引き込みを起すことは簡単に確認できるが、目的とするリミット・サイクルの構成方法が問題である。成就した例では、励振させることが目的であり、「大きなトルクが印加されているときに肘を引き上げる」ことで実現可能である。逆に、制振を目的とするのであれば、フィードバック信号の符号を逆にすれば良く、このことはシミュレータ上でも確認できる。しかしながら、タスクによっては、例えば位相９０［ｄｅｇ］で固定する必要もあり、このような場合、単一の神経振動子のみでは不可能である。宮腰らは、４つのニューロンを用いて位相を自動調整する機構を提案している[5]。
【０１２７】
Ｂ−１−２．２足歩行への適用
この項では、神経振動子を用いた２足歩行運動を考える上で、まず始めに過去の技術をまとめ、実ロボットを制御する場合の問題点を明らかにする。
【０１２８】
ＣＰＧの２足歩行への適用は多賀による先駆的な研究から始まる[6, 7, 8]。多賀は従来の制御工学的歩行研究のアンチテーゼとも言うべきＧｌｏｂａｌ Ｅｎｔｒａｉｎｍｅｎｔと呼ぶ概念を主張した。従来の工学的アプローチではロボットを制御対象として考えモデル化し、目標軌道を導出した後、実際の運動と理想軌道との誤差を減らすよう制御を行なう。環境の変化やロボットのパラメータ変化は理想状態からの誤差、あるいは外乱とみなされる。制御側から言えば、このような変化は「理想状態から逸脱させる好ましくないもの」として捉えられる。これを生物になぞらえれば、神経系＝制御系、筋骨格系＝非制御系と考えられ、神経系はもっぱら筋骨格系を支配し、理想状態との誤差を減らすよう指令していると言える。目標ＺＭＰ制御も同じ立場である。これに対し、多賀は神経生理学的な知見から「神経系と筋骨格系とを相互作用する対等な力学系として記述」し、「リズムの引き込みを通じて神経系と筋骨格系とをあわせた位相空間で、リミット・サイクル・アトラクタが形成され、これが安定かつ柔軟な歩行の生成に対応する」と主張し、これをＧｌｏｂａｌ Ｅｎｔｒａｉｎｍｅｎｔと呼ぶ。ここでは、環境の変化や筋骨格系の変化、物理系・制御系のすべての要素が歩行の生成に寄与する。したがって、従来の制御工学のような明示的な神経系と筋骨格系の主従関係はない。図１８に示すように、矢状面拘束の２足歩行モデルの各関節に神経振動子を配置し、環境との相互作用によって自律的に歩行が生成される。また、傾斜地では歩幅が自律的に調整される様子や、神経系の活動レベル（出力トルク振幅、パラメータ定常入力ｃ）を変化させることで歩行から走行へ、歩容が自然に変化することなどをシミュレーションにより示している。
【０１２９】
ところで、神経振動子を闇雲に設定しては歩行運動を生成することはできない。多賀は、神経生理学的な知見から、神経振動子の配置と結合、複数の重み付けされたセンサ・フィードバック経路を決定した。ここで、これらの結合を如何に見つけ、重み付けを行うかという点が問題である。上述したＤＢの実験で分かるように、単に何らかのリミット・サイクルを構成することは容易であるが、合目的なリミット・サイクルを構成することは困難である。ことさら神経振動子の入力に筋骨格系・環境とのインタラクションをすべて含んでいる場合、解析的に解くことは不可能である。多賀は、これらの重み付け係数を試行錯誤的に手動で調整した。これには年単位の多大な時間を費やしており、また、計算機環境によって結果が異なるなど、ロバスト性や拡張性に欠ける。
【０１３０】
多賀の提案を受けて、長谷らはこれらの手動調整をＧｅｎｅｔｉｃ Ａｌｇｏｒｉｔｈｍ により最適化した[9, 10]。その結果、多賀が提案したフィードバック経路より多少簡潔な神経構造を自動的に獲得することができる。以降、長谷らのこの手法は神経振動子を用いた歩容獲得のスタンダードな方法となる。また、佐藤らは、強化学習の枠組みを用いて、多賀と同じモデルのフィードバック重み付け係数を獲得した[11]。また、このときの値は多賀の設定したものとは異なる。
【０１３１】
さて、以上を概観するに、神経振動子を用いた２足歩行研究はほとんどすべてがシミュレーション・レベルに留まっているのが現状である。２足歩行の場合、床反力モデリングの不完全さなどから、シミュレータと実機は一致しないのが常である。したがって、以上の成果を実機にそのまま適用するのは困難であると考えられ、これが多賀の提案から１０数年が経過した現在でも実験的に示されない大きな理由であると考えられる。
【０１３２】
神経振動子をＣＰＧとして用いた歩行制御において、実機で成功を収めた１つの例として、木村らによる四脚歩行ロボットが挙げられる[12, 13]。神経振動子と反射系、ＰＤサーボ系、状態機械（Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）を巧妙に組み合わせることで、従来のアプローチでは困難な高い不整地踏破性を実現することができる。具体的には、ＣＰＧは関節を駆動するのではなく、脚の位相を制御し、その出力に応じたサーボ・ゲイン選択と状態遷移が起こる。センサ情報は神経振動子に入力され、各脚の位相関係を調節する。従来のアプローチでは神経振動子出力を関節トルク指令していたのに対し、位相のみを離散的に制御することで、高い運動性能を示すことができる。解析的な検討はほとんど行なわれておらず、多くのパラメータが実験的に選択されているものの。ＣＰＧによる制御の可能性を示した。また、その動きは非常に生物らしく見える動きである。木村らの研究の目的は、実機に適用し得るＣＰＧコントローラを構築することである。したがって、実験的に成功した木村らのアプローチを参考に、次項では２足歩行への適用について考察する。現段階でＣＰＧを用いて実機を動かした例は見られないことから、たとえ直観的なコントローラであっても、成功例を導き出すことが先決であると思料される。
【０１３３】
Ｂ−１−３．２足歩行シミュレーション
この項では、実機を用いる前段階としてＳＤ／Ｆａｓｔを用いたＢｉｐｅｄ Ｓｉｍｕｌａｔｏｒによりさまざまなコントローラを実装し検討する。まず、シミュレータについて説明し、続いて実装したコントローラについて言及する。
【０１３４】
Ｂ−１−３−１．Ｂｉｐｅｄ  Ｓｉｍｕｌａｔｏｒ
シミュレータは、本発明者らが構築したＢｉｐｅｄ Ｓｉｍｕｌａｔｏｒを用いる。このシミュレータは、動力学計算にＳＤ／Ｆａｓｔという汎用ダイナミクスシミュレータを用いている。脚は体幹・腿・脛で構成され、足首関節は持たない。これは、問題の簡単化と、竹馬歩行時の床反力分布が通常歩行と似ているとの測定結果から歩行に本質的な運動に足首関節は寄与しないと仮定したことに依拠する。歩行路面と脚先は点接触とし、接触モデルは単純なバネ−ダンパ・モデルである。制御サイクルは１ミリ秒で、関節指令はトルクで行なわれる。しかしながら、多くの機械モデルはＰＤサーボ系が組まれていることから、実装性を考慮して内部的にＰＤコントローラを組み、位置目標値を与えることで脚軌道を制御した。脚先の接地状態・すべての状態変数が観測可能で、センサ情報の遅れはないものとする。
【０１３５】
Ｂ−１−３−２．Ｓｔａｔｅ  Ｍａｃｈｉｎｅ
まず始めに、歩行運動を直観的に理解するため、Ｓｔａｔｅ Ｍａｃｈｉｎｅ を用いて歩行について考察する。歩行運動を図１９に示すように３つのステートに分離する。なお、ＰＤゲインは、簡単のため、すべての相で固定している。
【０１３６】
Ｓｔａｎｃｅ１では、両脚支持状態で進行方向前側の脚（以下、「前脚」と呼ぶ）を屈曲することで重心位置を前方に倒し込む。前脚への荷重を見るため、前方の安定余裕（Ｓｔａｂｉｌｉｔｙ  Ｍａｒｇｉｎ：ＳＭ）を指標として用いる。ここで、重心位置はほぼ腰部（基体）のジョイント近傍にあることと、脚質量、特に脛節は軽量であることから、簡易的に腰部ジョイントの床面投影点と前脚接地位置の相対距離を用いている。なお、定性的にはＳＭに動的効果を組み入れた指標がＺＭＰ安定余裕であると考えられる。
【０１３７】
Ｓｔａｎｃｅ１の運動を継続し、ＳＭがある一定値以下になったとき、屈曲を止め，逆に進展動作（Ｓｔａｎｃｅ２）に移る。進展により重心位置が高くなることで、位置エネルギが印加され、結果として歩行を継続するための運動エネルギを注入している。なお、進展の関数は時間ではなくＳＭの関数として表されている。したがって、速く倒れ込むようであれば速く進展する。Ｓｗｉｎｇでは、Ｓｔａｎｃｅ１の継続により進行方向後ろ側（以下、「後脚」と呼ぶ）が床から離れたときに切り替わる。遊脚軌道では、腰部はＳＭ、膝は時間の関数として与えられている。腿節の質量は比較的大きいため、遊脚が支持脚より前方にあれば、両脚支持になる安定側に倒れ込む。直観的に言えば、倒れ易い片足支持相を素早く動かし、両脚支持相によって転倒を防ぐ歩容である。シミュレータに実装し、歩行を継続できることを確認した。
【０１３８】
本方式のメリットとして、以下の事柄が挙げられる。
【０１３９】
（１）直観的に理解し易い。
（２）オフライン時間ベースのオープン軌道ではないため（若干の外乱にならば）、適応できる。
（３）精緻なモデルを必要としない。
【０１４０】
Ｂ−１−３−３．Ｓｔａｔｅ  Ｍａｃｈｉｎｅ  ＋  ＣＰＧ
前項では、ステート切り替えには、単純にＳＭと接地情報のみを用いていた。これらはシミュレーション上では問題がなくても、実機を用いた場合、センサ・ノイズなどにより正しく機能しない場合がある。そこで、ステートの切り替えにＣＰＧを用いることを考えた。具体的には、ＳＭ変位を入力としてＣＰＧを引き込み、その出力の正負の符号のみを使って相の切り替えを行なう。
【０１４１】
前項では、相の切り替えにはＳＭの離散的な値のみ用いていたが、本項では連続的なＳＭの値を用いることによって、位相の推定がロバストになる可能性がある。シミュレータ上に実装し継続歩行可能なことを確認した。ステート・マシーン・ベースに比して、動きは滑らかになる。しかしながら、前項のアプローチに比してパラメータ変動に対するロバスト性などの面で十分なメリットは確認できない。これは、シミュレータというクリーンな環境のためとも考えられる。
【０１４２】
木村のアプローチは、位相の推定ができるだけでなく、脚接地情報をＣＰＧに有効にフィードバックすることにメリットがある。例えば、一脚が想定した床面高さより高いところに接地した場合でも、乗り上げた脚が縮み、対角脚が進展することで体勢を保つ機能を付加できる（ロール・ピッチ緊張性迷路反射）。しかし、これらの反射系は、４脚あることで初めて可能となるフィードバック系であり、２脚にそのまま適用することはできない。２足歩行が継続可能な効果的なセンサ・フィードバックについては後述に譲る。
【０１４３】
Ｂ−１−３−４．Ｂａｌｌｉｓｔｉｃ  Ｗａｌｋ  ＋  ＣＰＧ
従来のＣＰＧのアプローチは多くの場合、各関節に神経振動子を配置し、トルク出力により関節駆動を行なっている。これは振動子出力を拮抗筋に対応させる運動生理学的立場からは自然な考え方である。一方、ロボット工学的立場から見れば、このような配置はＤｉｒｅｃｔ Ｋｉｎｅｍａｔｉｃｓ的な考え方であり、各神経振動子出力がどのように系全体（例えば重心高さなど）に反映されるかは直観的に理解し難いものである。これにより、ただでさえ複雑な振る舞いをする神経振動子を、倒れる、倒れないといった系全体の上位のレベルで評価して多数のパラメータ調整を行なうことは非常に難しい。ロボット工学的に考えるのであれば、このような場合、Ｉｎｖｅｒｓｅ Ｋｉｎｅｍａｔｉｃｓを用いるのが常套手段である。つまり、絶対座標系でＸ方向、Ｚ方向に各々振動させるという考え方である。しかし、これは純粋に工学的手法であり、人間の歩行動作と類似性が見出せるかどうかは分らない（別の理由として、ハードウェアの制約がある。実際シミュレータ上に実装してみたが、重心高さを一定に保って体幹を進行方向に前後させようとした場合、実験機には充分な膝トルクがなく挫屈してしまうことが確かめられた）。
【０１４４】
そこで、人間の歩行運動と類似性があり、また直観的な見通しも良いモデルとして、脚を腰関節から接地点までの直動（Ｌｉｎｅａｒ Ｍｏｔｉｏｎ：ＬＭ）と、腰周りの回転（ＳＷｉｎｇ ｍｏｔｉｏｎ：ＳＷ） に分解する、Ｃｏｍｐａｓｓ−ｌｉｋｅ  Ｂｉｐｅｄを考える（図２０を参照のこと）。
【０１４５】
宮腰によると、腰部ジョイントがＰａｓｓｉｖｅ（受動的）、脚が直動でＡｃｔｉｖｅ（能動的）に動くＣｏｍｐａｓｓ  ｌｉｋｅ  ｂｉｐｅｄに対して、適切な初速を脚・体幹に与えれば、オープン・ループな歩行が可能であり、また、そのときの得られる床反力は人間の歩行と類似したものとなることが分っている。このとき、ＬＭの振動数はＳＷに対して３倍の振動数である[14]。この知見に基づいて、ＣＰＧを直動自由度と腰部の回転自由度に割り振り、歩行を考えた。
【０１４６】
図２１には、神経振動子の配置と結合係数を示している。あらかじめＣＰＧ固有振動数を前々項の歩行振動数を参考にして、１倍、並びに３倍となるようにパラメータをセットし、定常発振させた後、機体に初速を与えたシミュレータ・モデルに出力する、始めはＣＰＧに対して何もフィードバックを行なわずに動作を見た。その結果、パラメータ調節を行なっても７歩程度で転倒に至ることが分った。次に、両脚支持期のＳＭに応じてＳＷ神経振動子にフィードバックをかけたところ、直動系には明示的なフィードバック経路は無いにもかかわらず、ＳＷ神経振動子が適切な位相関係に引き込まれた結果、歩行を継続することが可能である。しかしながら、パラメータ変化に対する感度が非常に高い。例えば、スイング角度が１［ｄｅｇ］変化するだけで転倒に至る。また、特に歩き始めの状態が難しく、定常に投入し安定したリミット・サイクルができる初速度を見出すことは困難である。
【０１４７】
Ｂ−１−４．実験機への適用
この項では、前項で記載した２足歩行シミュレーションの内容を実機に適用する。Ｂ−１−３−４項で導出したコントローラの実装を目指し、シミュレーションで得られた知見に基づいて実験的に調整を行なうことで歩行を実現することができる。
【０１４８】
Ｂ−１−４−１．実験機
図２２には、実験機としてのロボットの機体リンク部分の構造を模式的に示している。足裏形状によって大きく挙動が変わることから、点接地以外にも異なる形状の部品が付けられるよう機構改良を行なった。また、接地状態が計測できるよう機械スイッチを付加できる仕様とした。アクチュエータにはＤＣブラシレス・モータを使用し、減速機による摩擦や粘性を排除するためダイレクト・ドライブと同等の使用方法になっている。このため、機体の大きさに比して著しく高出力なモータ（２０００［Ｗ］×４）を装備している。
【０１４９】
Ｂ−１−４−２．足踏み動作
まず、その場で足踏みをする動作を考える。歩行に移る前に足踏み動作を実現するのは神経振動子を用いた歩行研究の常套手段である[15, 16]。
【０１５０】
本実験機の場合、足首関節が無いため脚を前後に一定角度で開くことで転倒を防ぐ。直動運動（ＬＭ）を行なうことで、上体のピッチ振動を発生させる。振動を継続させるために、図２３に示すようなフィードバック経路を導入した。脚が遊脚の場合、それを継続させるよう伸縮側に興奮性のフィードバックを入れる。両脚接地時は体幹のピッチに応じて脚長を伸ばす方向に調節を行なう。つまり、前方向に傾いている場合は前脚の支持脚期間が延長される。前後脚は図２１に示した結合を持たせてあるので、振動的に前後に揺れる足踏み動作が生成される。
【０１５１】
実験的にパラメータの調整を行なった結果、足踏み動作を確認した。また、外乱を加えた場合でも、足踏みの周期や支持脚期間を延長することで復帰する様子が確認することができた。なお、バランスを保つセンサ・フィードバックは両脚支持期にのみ作用するので、例えば前方に大きく傾き後脚が浮いている場合。復帰モーメントの大きさは足裏形状に依存する。
【０１５２】
Ｂ−１−４−３．ＣＰＧ  ＋  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ
前項で実現された足踏み動作にＳｗｉｎｇ Ｍｏｔｉｏｎを組み合わせることで歩行動作を行なう。このとき、脚の切り替えにはＳｔａｔｅ  Ｍａｃｈｉｎｅ を用い、後脚が遊脚且つ前方のＳｔａｂｉｌｉｔｙ  Ｍａｒｇｉｎが一定値以下になった場合に、単純に前後脚の角度目標値を入れ替える（図２４を参照のこと）。
【０１５３】
直観的に言えば、「前に倒れそうになったら足を出す」ということである。実機に適用したところ、歩行動作が出来ることを確認した。このとき手動調整した値は、神経振動子パラメータ、ＰＤゲイン、ＬＭ・ＳＷの振幅、Ｓｔａｂｉｌｉｔｙ  Ｍａｒｇｉｎの閾値である。実験機のハードウェア的な問題（モータ加熱による特性の変化など）により、継続歩行距離は変化するが、５０歩程度は常に歩くことができる（最長では連続３６０歩、歩行距離約５０ｍ、歩行速度約０．４ｍ／ｓ）。また、路面の材質の変化や推進に抗する向きの力に対しても、ある程度適応することが可能である。
【０１５４】
ここで実現される、Ｓｗｉｎｇ  Ｍｏｔｉｏｎと組み合わせた足踏み動作は、歩幅と周期が自動的に調節され、その様子は非常に生物的に見える。これは、ＣＰＧ、Ｓｔａｔｅ  Ｍａｃｈｉｎｅとも軌道計画に時間を陽に含んでいないため見られる現象であると考えられる。
【０１５５】
他方、両脚が揃ってしまった場合や、下り坂の場合には、実装したフィードバック系が十分ではないこともある。その改善策として、ＳＷの振幅を変化させる、足首関節を設けることなどが考えられる。
【０１５６】
Ｂ−１−４−４．ＣＰＧのみ
次に、ＳＷｉｎｇ Ｍｏｔｉｏｎ（ＳＷ）も神経振動子で駆動することについて考察してみる。Ｌｉｎｅａｒ  Ｍｏｔｉｏｎ（ＬＭ）と協調して動くことが必要であることから、ＬＭの出力を符号反転してＳＷに入力する（図２５を参照のこと）。
【０１５７】
この結合の場合、ＬＭとＳＷの位相差は１８０［ｄｅｇ］となる。ＳＷの振動数はＬＭと同じ値とする。実験の結果、Ｓｔａｔｅ  Ｍａｃｈｉｎｅを用いた場合と同様に歩行が可能であった。
【０１５８】
Ｓｔａｔｅ  Ｍａｃｈｉｎｅに比して、特に歩行開始時から定常状態に投入することが困難である。これはＳＷがＬＭに適切な位相関係で引き込まれるのに時間がかかることが原因であると考えられる。図６３にはそのシミュレーション結果を、図２６には定常歩行時の計測結果を、それぞれ示している。ＬＭとＳＷの最適な位相差は１８０［ｄｅｇ］には限定されないが、実データを見るとＳＷは位相遅れを生じた状態で引き込まれている。
【０１５９】
また、膝関節に関しても脚着床時に大きな偏差を生じていることが分る。これは、ゲインが低いことにより生じている。従来の軌道追従制御の観点からは、制御特性が低いという欠点とも捉えられるが、逆言すれば、木村らの４脚歩行機械と同様、低ゲイン・アクチュエータによる仮想バネ−ダンピング特性を積極的に利用して歩行していると言うこともできる。この結果から、ゲインの値が歩行に重要な影響を及ぼしていることが分る。
【０１６０】
図６４には、左股関節を周期運動を行なう物理振動子として捉えたときの、振動子の位相の変化を描いた位相平面図のシミュレーション結果を示している。また、図２７には、そのときの実験結果を示している。各図から、リミット・サイクルが形成されていることが確かめられる。脚着床時に大きな角速度変化を生じていることから、着床時に床面との脚先相対速度ゼロで接地していないことが分る。このような衝突は、ロボットの挙動を不安定にするため、従来のＺＭＰでは行なわないが、それ故、人間で言えば「抜き足差し足」のような不自然な歩き方になる。
【０１６１】
一方、人間の歩行は速度調節に積極的に踵の衝突を利用していると考えられることから、より人間に近い歩き方であると考えられる。歩行周期に関しては、神経振動子の固有周期が１歩当たり０．３３秒であるのに対し、定常時の歩行周期は平均で０．３６８秒であり、引き込み特性により調整されていることが分る。また、人間との誤差８％と比較的近い値を示していることから、ロボットにとって無理の無い運動であると考えられる。歩行時の歩幅は必ずしも一定ではなく、例えば左右で歩幅が異なるような歩行も観測されたが。歩行を継続することが可能であり、異なる歩幅であっても本手法が適用できる可能性が見出された．そこで、歩行速度を歩幅によって調節することを考える。
【０１６２】
多賀は神経振動子の活性（振幅）を変化させる定常入力値ｃ を大きくすることで歩行から走行への歩容変化を報告している[6]。ｃは１．８〜３．５の間で変更可能で、この範囲以外では歩行することができない。小さいｃでは歩幅が狭くなることによりＳｔａｂｉｌｉｔｙ  Ｍａｒｇｉｎが減少し容易に転倒し、大きい歩幅では遊脚着床時の大きな衝撃で挙動が不安定になるためである。
【０１６３】
ｃの変化により歩容の印象が異なる。ｃが小さい場合はしとやかに、大きい場合は行進のように歩いている印象を受けることから、表現方法の１つとして用いることができると考えられる。
【０１６４】
図２８には、定常入力値ｃと歩行速度・機械的消費エネルギ・移動の効率を表す無次元量、移動仕事率の関係を示している。消費エネルギはサーボ・ドライバへのトルク指令値と測定された角速度より算出し、測定された歩行速度とあわせて移動仕事率を算出する。ｃを大きくすることで歩幅が増加し、歩行速度を変化させることが可能である。しかし、速度調節の範囲は限られており、足首関節が無い本実験機では、特に足裏円弧半径に依存するものと考えられる。
【０１６５】
本手法は、動的効果を積極的に利用することで歩行を継続するものであり、機体のピッチ方向への固有振動数に近いところでしか歩行できない。この特性はＰａｓｓｉｖｅ  Ｄｙｎａｍｉｃ  Ｗａｌｋ[17]に顕著に見られるように、機体の物理特性を積極的に利用した歩行に共通の問題である。歩行速度の低い移動には足首トルクによる制御や異なるフィードバック経路が必須であると考えられる。多賀はその場足踏みと定常歩行で異なる枠組みが必要であると主張している。
【０１６６】
ｃが大きくなるにつれ消費エネルギも増加している。移動仕事率を求めるとｃが１．８のとき最小となり最も効率が高かくなる。本手法によれば、脚式移動ロボットは極めて高いエネルギ効率で移動することができる。ここで、消費エネルギは純粋に機械出力から求めており、アクチュエータに印加している電力は、ｃ＝２．０５のとき約３４０［Ｗ］（効率０．７％）である。高効率歩容を目指したＳｐｒｉｎｇ  Ｆｌａｍｉｎｇｏ[18]でも機械出力５［Ｗ］に対し２００［Ｗ］の電力（効率２．５％）であることから、バッテリ持続時間といった実効効率向上のためにはハードウェア特性が最重要課題であると思料される。
【０１６７】
また本手法の歩行の様子を見ると、膝の屈曲が少なくなっている。図２９には、脚長・質量で正規化した関節最大トルクを典型的な目標ＺＭＰ規範を用いた場合との比較を示している。この結果から、膝にかかる負荷が約３分の１となっていることが分る。
【０１６８】
本手法において、最も重要なメリットの１つとして、関節ゲインを低く設定することができる点が挙げられる。現在の脚式移動ロボットの多くが高価にならざるを得ない理由は、高精度の軌道追従を実現するための高ゲイン設定にあるからである。高ゲインにするためには、ギアのバックラッシュ低減や応答特性の改善など、ハードウェアに対する要求が非常に高い。また、常に関節スティフネスが高い状態は、人とのインタラクションにおいて安全性を考える上で非常に危険である。また、反射ベースの動きは、環境に応じて異なることから、例えば転倒などの動作をとっても条件によってさまざまな反応を示す。これは人間を飽きさせないための重要なキーポイントではないかと本発明者らは考えている。
【０１６９】
Ｂ−２．運動学習プリミティブに寄る人間の歩行の学習及び適用
ＳＤＲ（ソニー）、ＡＳＩＭＯ（ホンダ）、ＨＲＰ（産総研）、Ｈ７（東大）などに代表されるようなヒューマノイド・ロボットが開発され、高いレベルの２足歩行の進歩は著しい。これらの多くはＺＭＰを用いた関節軌道計画により歩行パターンを生成している（前述）。ＺＭＰを規範とした運動生成手法は安定した２足歩行を実現する確立された手法である一方、その軌道計画にはロボットの正確なモデリングが必要であり、運動の実現には高精度な軌道追従制御系を要する。また、逆運動学上の特異点を回避するために、膝を曲げた歩行パターンになるという問題点も指摘されている。
【０１７０】
これに対し、近年、生物規範型の制御手法として神経振動子を用いたＣＰＧによる自律的な適応機構を持った歩行運動生成の試みがなされてきている（前述）。ＣＰＧとしては、松岡によって提案された伸筋と屈筋の駆動をモデル化した非線形の連立微分方程式による神経振動子[2]が広く用いられ、環境との相互作用を伴う引き込み現象を利用した周期運動の制御に応用されている。具体例としては２足歩行制御[19, 20]、４足歩行制御[12]，ジャグリング[21]、ドラミング[4]、スリンキー（コイル状のバネ）の制御[3]などが挙げられる。しかしながら、各振動子の相互結合の設計をどのように行なうかという点や、目的とする動作を実現する振動子のパラメータの調整が困難であるという問題点があり、制御系の設計手法としての課題が残されている。
【０１７１】
この項では、ロボットや歩行の物理的及び力学的性質に着目し、人間のような自然で滑らかな歩行の実現を目指した制御系の設計手法について説明する。本発明者らは、ヒューマノイド・ロボットのような多自由度システムにおいて、人間のような複雑で滑らかな運動を見まね学習により実現するための運動生成、運動記述アルゴリズムの研究を行なっている。関節軌道を非線形微分方程式によって記述し、人間が模範により示した運動を統計的学習手法を用いて高速に学習し実現する運動学習プリミティブについて既に提案している[22]。この項では、特に、位相振動子とＬｏｃａｌｌｙ ｗｅｉｇｈｔｅｄ ｌｅａｒｎｉｇｎ（局所重光き回帰）[23]をベースとしたリミット・サイクル・アトラクタを持った周期運動学習プリミティブをＣＰＧモデルとして用い、人間の歩行動作の学習、獲得した運動の適切なスケーリングによりロボットでの歩行の運動生成について説明する。図３０にはその概念図を示している。
【０１７２】
本プリミティブをＣＰＧとして用いる利点は、計測された人間の歩行パターンなどの模範となる運動が与えられたときに、それらを高速に学習することが可能であることや、学習した周期運動の振幅、周期、オフセットに関するスケーリングが容易であることなどが挙げられる。この項では、さらに、環境からのフィードバックによる位相リセット[24]及び位相振動子、機械系、環境との相互作用による引き込みを利用した歩行周期の自律的な適応則の提案を行ない数値シミュレーションにより本手法の有効性の基礎的な検討をする。
【０１７３】
この項では、図３１に示す平面５リンク２足歩行ロボットのモデルを用いた数値シミュレーションを行なう。ロボットの全長は４０ｃｍ、重さは約３ｋｇであり、下表に数値シミュレーションで用いる物理パラメータを示している。
【０１７４】
【表２】
2005096068.tif 000011
【０１７５】
図示の通り、ロボットは腰関節と膝関節に各２つのアクチュエータを持ち、その運動は矢状平面内に拘束されるものとする。シミュレーションでは、ロボットの運動方程式はＳＤ／ＦＡＳＴ[25]を用いて導出し、例えばルンゲ・クッタ法により１ミリ秒の時間間隔で積分し、地面との接触はバネ−ダンパ・モデルを用いて床反力を計算する。
【０１７６】
Ｂ−２−１．運動学習プリミティブによる人間の歩行の学習
Ｂ−２−１−１．周期運動学習プリミティブ
この項では、本発明者らが提案した運動学習プリミティブ[22]について簡単に説明する。この運動プリミティブは、人間が模範により示した運動（到達運動・周期運動）を非線形微分方程式を用いて記述し、統計的学習手法により高速に学習し、ロボットでの運動生成に用いるためのものである。以下、周期運動に関する運動プリミティブの定式化について述べる。
【０１７７】
基礎的な周期運動パターン生成器として、下式に示すような極座標系（φ，ｒ）で表したリミット・サイクル振動子系を考える。
【０１７８】
【数８】
2005096068.tif 000012
【０１７９】
ここで、（φ，ｒ）はそれぞれ振動子の位相及び振幅を表す。τは時定数、ｒ0は（相対的な）目標振幅、μは正の定数である。上式の位相ダイナミクスを以下のように表すこともできる。下式は、振動子としてのロボットの周期運動に関する位相信号φを生成する位相発生器に相当すると理解されたい。
【０１８０】
【数９】
2005096068.tif 000013
【０１８１】
運動プリミティブの出力ｙは、位相振動子の状態（φ，ｒ）及びその座標変換したものｖ（ハット）＝［ｒｃｏｓφ，ｒｓｉｎφ］T を入力とした２次系のダイナミクスである以下の式で表される。
【０１８２】
【数１０】
2005096068.tif 000014
【０１８３】
ここで、αz並びにβzは正の定数、ｙmは出力のオフセットである。ｆは局所線形モデル[23]を用いた下式に示す非線形関数近似器であり、局所モデルはガウシアンΨi＝ｅｘｐ（−ｈi（ｍｏｄ（φ，２π）−ｃi）2）により重み付けられ、出力は各局所モデルの荷重平均を取ることにより求められる。
【０１８４】
【数１１】
2005096068.tif 000015
【０１８５】
ｗiは局所線形モデルのパラメータであり、後述するように、目標となる模範軌道が与えられたときにＬｏｃａｌｌｙ ｗｅｉｇｈｔｅｄ ｒｅｇｒｅｓｓｉｏｎ（局所重み付き回帰）により決定される。
【０１８６】
上記の２式［数１０］及び［数１１］は、歩行運動などのロボットの周期運動を位相情報φで記述するものであり、脚などの可動部の駆動を制御する制御器に相当する。このような制御器によれば、単純なパラメータの設定だけで、振幅、同期、オフセットなどを容易に且つ連続的に変更することができる。
【０１８７】
この項で説明する運動プリミティブの特長として、図３２には学習した軌道の変更の例を示している。運動プリミティブ中のパラメータｒ0、τ（＝１／ω）、Ｙmを変更することにより、学習した運動の振幅、周期、オフセットをそれぞれ容易に変更することが可能である。本発明者らは、ヒューマノイド・ロボットＤＢを用いた８の字運動やドラミングの学習実験でその有効性について検証している[22]。
【０１８８】
Ｂ−２−１−２．運動学習プリミティブを用いた２足歩行ロボット制御系
図３３には、本実施形態に係るロボット制御系の概念図を示している。ＣＰＧモデルとして、Ｂ−２−３−１項で述べた運動学習プリミティブを用い、その出力をロボットの目標関節軌道θdesとする。ここでは、各関節にそれぞれの目標軌道を生成する運動学習プリミティブを用いる（ｉ＝１〜４）。ロボットの関節角度制御には局所ＰＤコントローラを用いる。ロボットからＣＰＧへのフィードバックとしては地面との接地情報を用い、これにより振動子の位相リセット[24]及び固有振動数ωの更新を行なう。
【０１８９】
この項では、位相リセットとして、各脚が接地したときに接地脚の振動子の位相をφ＝０に、逆側の脚の位相をφ＝πとする操作を行なう。歩行周期の適応における振動子の固有振動数の更新則についてはＢ−２−４項で詳しく述べる。また、位相リセットに関しては、この項で後述する。
【０１９０】
Ｂ−２−１−３．人間の歩行パターンの学習
歩行データ：
この項では、人間の歩行の関節角データ（２９歳男性、身長１７６ｃｍ、体重８３．５ｋｇ、右足腰・膝関節という構成の人間の歩行の関節角データを用いる[26]。将来的には、さまざまな条件下でのデータを収集しそれらを基に学習を行なう。図３４（左）には収集されたデータの関節角度を、同図（右）には右足接地から次の接地までの１周期分を取り出して示している。次項で述べる学習では、この軌道を２０周期分繰り返し、周期軌道としたものを学習データとして使用するものとする。図３４に示した長さの歩行データは便宜的なものであり、実際に歩行データを計測する際には十分な周期のデータを実際に計測することが好ましい、本データの周期は離散ＦＦＴによるパワースペクトラム及び自己相関をとることにより、周期Ｔ＝１．１７秒、周波数ｆ＝１／Ｔ＝０．８５５Ｈｚと推定する。
【０１９１】
局所重み付き回帰による学習（Ｌｏｃａｌｌｙ  ｗｅｉｇｈｔｅｄ  ｌｅａｒｎｉｎｇ）：
人間の模範運動から関節軌道ｙdemoが計測により得られたとき、制御器に相当する上式［数１０］中の学習パラメータｗiをＬｏｃａｌｌｙ ｗｅｉｇｈｔｅｄ ｌｅａｒｎｉｎｇ（局所重みつき回帰）[23]を求める手法について説明する。
【０１９２】
ある時刻ｔ におけるデータ点あるデータ点（ｆｔａｒｇｅｔ，ｖ（ハット））が与えられたとする。
【０１９３】
【数１２】
2005096068.tif 000016
【０１９４】
このとき、学習パラメータｗiは、逐次局所重み付き回帰[23]によって以下のように更新される。
【０１９５】
【数１３】
2005096068.tif 000017
【０１９６】
ここで、
【０１９７】
【数１４】
2005096068.tif 000018
【０１９８】
であり、λ∈［０，１］は忘却係数である。また、学習において、局所モデルの数・配置のオンラインでの追加、局所モデルの担当領域オンライン最適化により、未知の近似対象に対して、事前に関数近似器の構造を決定することなく望ましい近似精度で近似を行なうことができる。
【０１９９】
図３５には、運動学習プリミティブでの人間の歩行軌道の学習の結果を示している。以下のシミュレーションでは、右足のデータのみ収録されていたため、まず上記の軌道の学習において、右足腰関節（Ｒ_HIP）及び右足膝関節（Ｒ_KNEE） のデータについてそれぞれの関節に対応する学習パラメータを決定する。次に、左足腰関節（Ｌ_HIP）、左足膝関節（Ｌ_KNEE）にはそれぞれ右足用の腰、膝関節の学習パラメータを用い、左右の振動子の位相をπ［ｒａｄ］だけずらすことによって歩行の目標軌道の生成を行なう。
【０２００】
Ｂ−２−１−４．数値シミュレーション
パラメータ設定：
数値シミュレーションでは、運動学習プリミティブ、ＰＤコントローラなどのパラメータは下表のように設定した。
【０２０１】
【表３】
2005096068.tif 000019
【０２０２】
現段階ではこれらのパラメータはシミュレーションにおいて経験的に決定している。但し、これらのパラメータは、周期や振幅などのように物理的な意味合いが直感的であり、他のＣＰＧモデルの場合に比べてその調整は比較的容易であると考えられる。なお、この項でのシミュレーションでは、振動子の周期については歩き始めから２歩目までは１．５秒（角周波数にしてω＝４．１９ｒａｄ／ｓ）、３歩目から９歩目までは１．２秒（角周波数にしてω＝５．２４ｒａｄ／ｓ）、１０歩目以降は１．０秒（ω＝６．２８ｒａｄ／ｓ）と、段階的に変更した。これらの値は経験的に得たものである。後述では、引き込み現象を利用した歩行周期の自律的な適応則、並びにその結果から得られる周期のスケーリング則について考察する。
【０２０３】
シミュレーション結果：
シミュレーションにおいて、歩き始めの一歩は両足を揃えた状態から左足を踏み出す軌道を設計者が人手により生成する。図３６には、ｔ＝０〜２０の運動学習プリミティブの出力による目標関節軌道及びロボットの各関節軌道を示している。図３７には、歩行２周期分（歩数４歩）の左足の目標関節軌道及びロボットの各関節軌道、各足の接地タイミングを示している。さらに図３８には、このときの関節トルク指令値を示している。この歩行時における腰関節及び膝関節指令速度の範囲は、それぞれ−３．１２〜２．２２ｒａｄ／ｓ、−６．０９〜５．２３ｒａｄ／ｓの範囲である。
【０２０４】
ここで、時刻ｔ＝１１．２〜１１．６秒の膝関節のトルク指令値に注目すると、膝の振り出しにトルクをほとんど要していないことが分かる。このことから、膝下リンクのスイングが太股リンクの振り出しを利用して受動的に行なわれていると考えられる。また、図３９には、定常状態におけるロボットの歩行の様子を示している。各コマの時間間隔は６６ミリ秒である。
【０２０５】
Ｂ−２−２．位相振動子の引き込みを利用した歩行周期の自律的な適応
Ｂ−２−２−１．結合位相振動子系における引き込みによる同期
位相差フィードバックによる引き込み：
まず、結合位相振動子系の位相差フィードバックによる引き込みよる同期について簡単に説明する[27]。図４０に示すような２つの結合位相振動子のダイナミクスを考える。下式は、ロボットの２つ可動部の周期運動に関する位相情報φ1及びφ2を生成する位相発生器に相当する。
【０２０６】
【数１５】
2005096068.tif 000020
【０２０７】
このとき、位相差ψをψ＝φ2−φ1のように定義すると、その時間微分は下式の通りとなる。
【０２０８】
【数１６】
2005096068.tif 000021
【０２０９】
このときの平衡点ψ*は以下の式で求められる。
【０２１０】
【数１７】
2005096068.tif 000022
【０２１１】
また、このときの各振動子の振動数は下式に示すように引き込まれる。
【０２１２】
【数１８】
2005096068.tif 000023
【０２１３】
したがって、各振動子は引き込みの結果、漸近的に振動数ω*＝（Ｋ2ω1＋Ｋ1ω2）／（Ｋ1＋Ｋ2）、位相差ψ＝φ2−φ1＝（ω2−ω1）／（Ｋ1＋Ｋ2）で同期して振動することが分かる。
【０２１４】
固有振動数適応による目標位相差の実現：
上記の位相振動子では、各々の振動子の固有振動数ω1及びω2が固定されている場合、各振動子は引き込みの結果、位相差ψ＝φ2−φ1＝（ω2−ω1）／（Ｋ1＋Ｋ2）で同期して振動する。このとき、ω1＝ω2であれば、各振動子は位相差ゼロで同期することが分かる。したがって、下式に示すように固有振動数の更新のダイナミクスを導入することにより、漸近的にω1→ω2とし、引き込みによって振動数の同調と位相差ゼロでの同期を実現することを考える。
【０２１５】
【数１９】
2005096068.tif 000024
【０２１６】
これにより漸近的にω1→ω2となるので、位相差はψ＝φ2−φ1→０となる。
【０２１７】
Ｂ−２−２−２．歩行周期適応則
この項では、上述した結合位相振動子の引き込みのメカニズムを、運動学習プリミティブを用いた歩行制御における歩行周期の自律的適応に応用することについて考察する。図３０に示したように、本実施形態に係る制御系は、運動学習プリミティブを用いたＣＰＧと機械系振動子（ロボット）が結合されたものであると考えられる。
【０２１８】
本発明者らは、ｓｉｎ合成波を用いた目標関節軌道生成に関して、一歩に要する時間の実測値によりパターン生成器の振動数を下式のように更新することを考えた。
【０２１９】
【数２０】
2005096068.tif 000025
【０２２０】
この場合、位相推定器は、状態量Ｖに基づく位相の計測値ωnmeasuredをそのまま位相推定値として取り扱う。但し、
【０２２１】
【数２１】
2005096068.tif 000026
【０２２２】
であり、Ｔnmeasuredはｎ歩目においてロボットが一歩に要する時間（振動子に関しては半周期）と定義する。これは、Ｂ−２−４−１で説明した位相振動子のダイナミクスの観点から考えると、上式［数１９］を離散化したものにほかならない。しかしながら、振動数の更新のみでは、位相差そのもののフィードバックがないため、引き込みにより望ましい位相差を実現するには不十分であることが分かる。そこで、本実施形態では、Ｂ−２−４−１項の記載に基づいて、さらに位相差のフィードバックを接地時の「位相リセット」で離散的に行なう下式のような適応則を運動学習プリミティブ（位相発生器）に導入する。位相リセットにより、歩行やその他の運動時における過渡特性を改善し、安定化することができる（後述）。下式は、位相発生器における更新則に相当し、位相推定器による位相や角周波数の推定値（この例では計測値）を基に位相信号を更新する。
【０２２３】
【数２２】
2005096068.tif 000027
【０２２４】
但し、ｎは歩数、φrobotheelstrikeは接地時における機械系振動子（ロボット）の位相であり、自足の接地時にはφrobotheelstrike＝０、逆足接地時にはφrobotheelstrike＝πという具合に、プリミティブ（位相発生器）に対して位相リセットを定義する。これにより、位相振動子と機械系振動子の歩行を実現する上での望ましい同期が実現されることが、Ｂ−２−４−１項の位相振動子のダイナミクスの解析との関連性から示唆される。この項では、ωの更新は離散的に行うが、連続的なωの更新や、位相フィードバックのゲインも考慮した下式の適応則を導入することもできる。
【０２２５】
【数２３】
2005096068.tif 000028
【０２２６】
Ｂ−２−２−３．数値シミュレーション
ここでは、前項で述べた歩行周期適応則についてのシミュレーションを行なう。角周波数ωの初期値は、４．７８ｒａｄ／ｓ（振動子の周期１．５秒）とした。図４１には、結合係数ＫをＫ＝０．２、０．５、０．８とした場合のそれぞれの歩行シミュレーション結果を示している。同図左は一歩に要する時間を示し、同図右は角周波数ωの更新のプロットである。同図より、ＣＰＧと機械系の相互作用による引き込みにより歩行周期の自律的な適応が実現されていることが理解できよう。
【０２２７】
Ｂ−２−３．運動のスケーリングに関する考察
Ｂ−２−２−３項で述べたシミュレーションでは、設計者がロボットでの歩行を実現するために経験的に歩行周期のスケーリングを行なった。しかしながら、Ｂ−２−２−２項で述べたように、明示的に目標周期を与えなくても、引き込み現象を利用することによってＣＰＧ−機械系が同期し、結果としてロボットの物理的な特性にとって望ましい歩行周期が得られていると考えられる。そこで、この項では、計測された人間の歩行周期とロボットが自律的に適応して得られた歩行周期の関係について考察を行なう。
【０２２８】
人間の歩行において、遊脚が自由振動により振り出されるものと仮定し、図４２に示すような長さの異なる２つの単振り子の運動を考える。このとき、線形化された振り子の運動方程式は周知のように、以下の式で表される。
【０２２９】
【数２４】
2005096068.tif 000029
【０２３０】
このときの固有振動数ωは下式の通りである。
【０２３１】
【数２５】
2005096068.tif 000030
【０２３２】
したがって、人間の歩行の周波数ωhumanと、人間の脚長ｌhumanと、ロボットの脚長ｌrobotが与えられたとき、ロボットの望ましい周波数ωrobotは単振り子の周波数の比より、以下の式で推定される。
【０２３３】
【数２６】
2005096068.tif 000031
【０２３４】
以下、人間の歩行データとＢ−２−４−２項で述べたシミュレーションにおいて、ロボットが自律的に適応して得られた歩行周期の関係について考察する。
【０２３５】
文献［２６］に収録されている歩行データは、身長１７６ｃｍ、２９歳男性のものである。解剖学的には、人間の脚長は身長に対して約４９％であることが知られている[28]。したがって、ここでは人間の脚長をｌhuman＝１．７６×０．４９＝０．８６ｍと仮定する。ロボットの脚長はｌrobot＝０．４ｍであるので、上式［数２６］のスケーリング則より、ロボットの歩行周波数及び一歩に要する時間は以下のように推定することができる。
【０２３６】
【数２７】
2005096068.tif 000032
【０２３７】
Ｂ−２−２−２項の適応則を用いたロボットのシミュレーション結果では、漸近的に以下の通りとなる（Ｋ＝０．２、０．５、０．８についての９０歩目から１００歩目までの間の値の平均）。
【０２３８】
【数２８】
2005096068.tif 000033
【０２３９】
この結果から、推定値とシミュレーション結果で得られた値の誤差は約３％であり、上式［数２６］の周波数のスケーリング則によりロボットの望ましい歩行周期を計算することが可能であることが示唆される。
【０２４０】
ここで、数値シミュレーションにより、位相リセットが外乱に対する歩行のロバスト性に有効であることを示す。本シミュレーションでは、外乱として、歩行中にさまざまなタイミングでロボットを前向きあるいは後ろ向きに押すような外力を０．１秒間だけ加え、どれだけの大きさまでの外力に対してロボットが転倒せず歩行を継続できるかを検証した。具体的には、歩行中の位相φ が０〜２πの間で各位相（０．１ｒａｄ毎）に対し、ロボットが歩行継続可能な最大の外乱の大きさを調べた。図６５では、そのシミュレーション結果を位相リセットがある場合と位相リセットがない場合とで比較して示している。
【０２４１】
また、図６６では、φ＝２．０ｒａｄにおいて、外乱として−２．０Ｎの外力が０．１秒間だけ加えられた場合（２．０Ｎ の力で後ろ向きに押された場合）の応答の例を示している。図６６（ａ）は位相リセットありの場合、図６６（ｂ）は位相リセットなしの場合をそれぞれ示している。これらの結果により、位相リセットが歩行の外乱に対するロバスト性に貢献していることが分かる。
【０２４２】
Ｂ−２−４．分散型位相発生器のための位相リセット
本発明では、ロボット装置を周期運動を行なう物理振動子と捉え、位相信号を生成する位相発生器を定義する．このとき、独立した周期運動を行なう複数の可動部（例えば、左右の脚や、脚と上体などの組み合わせ）が見出された場合には、図６〜図１０を参照しながら既に説明したように、可動部毎に複数の位相発生器が定義される。
【０２４３】
他方、ＺＭＰの替わりに、ｎｅｕｒａｌ ｏｓｃｉｌｌａｔｏｒ（ＣＰＧ）、ｐａｓｓｉｖｅ ｄｙｎａｍｉｃｓ、ｓｔａｔｅ ｍａｃｈｉｎｅ、ｒｅｉｎｆｏｒｃｅｍｅｎｔ ｌｅａｒｎｉｎｇ、ｏｐｔｉｍｉｚａｔｉｏｎ、ｋｉｎｅｔｉｃ ｅｎｅｒｇｙ ｃｏｎｓｔｒａｉｎｔなどは生物らしい機体動作を実現することができるものの、非線形力学系がすべてを覆い尽くし、現実的な設計論を構築するのが困難である（極言すれば、数学的な原理ではない）という問題がある。
【０２４４】
そこで、複数の分布する神経振動子と物理世界の相互作用を、位相反応曲線（ｐｈａｓｅ  ｒｅｓｐｏｎｓｅ  ｃｕｒｖｅ又はｐｈａｓｅ ｒｅｓｅｔｔｉｎｇ ｃｕｒｖｅ）で記述し、設計しようというアイデアに至る。これは、位相振動子を扱えばよいので、物理世界以外は、ある意味で離散力学系の安定周期解の解析になり、とても単純化される。システム全体としてはハイブリッド制御系であるが、物理世界からのフィードバックを位相リセットで近似することにより簡単化される。逆に、神経振動子から物理世界へは、目標軌道、トルク、筋肉への運動指令、スティッフネス、目標軌道からのずれに対するローカルなフィードバックのゲインなどのうち少なくとも一部を用いて、連続的な情報の流れを仮定する。振動子の位相に対する影響は１周期の中で２〜３回、可能であれば１回の位相リセットを考える。
【０２４５】
分散配置される各位層発生器間における相互同期も、状態変数の拡散、位相の差のサイン関数など連続力学系でもデザインすることができるが、設計の見通しの良さ、特に異なる位相差（ゲイト）の実現を考慮するとすべて位相反応曲線で行なった方がよいと思料される。
【０２４６】
反射学の創設者Ｓｈｅｒｒｉｎｇｔｏｎの、刺激→反応→刺激→反応の連鎖による（歩行を含めた）複雑な行動の説明は、刺激を必要とせずにリズム運動を作り出すＣＰＧの存在の実証によって否定されたというのは、あまりに単純化した話である。例えば、スティックインセクト（七節）は前者による歩行をすると言われているし、ＣＰＧも感覚入力からの修飾を受けている。状態機械というのも、陽には振動子が全くないが、振動子の位相をさらに粗視化して小数の領域に分け、ある位相の範囲で行なわれる運動系への下降性の運動プログラムだけに注目してそれを記述したものと見なせる。すると、状態機械というのも陰には位相振動子が背景にあるのだと言える。状態機械を位相振動子と位相リセットにシステマティックに焼き直すことが、本発明に係るロボットの設計論の本質である。
【０２４７】
図４３には、位相振動子と位相リセットのメカニズムを模式的に示している。同図に示す例では、脚式移動ロボットなどの状態機械から位相発生器の相当する神経振動子Ｎと、可動部やその状態量を検出するセンサからなる物理振動子Ｐが抽出されている。神経振動子Ｎからは継続的に位相情報φ若しくはこれに基づく制御量Ｕが供給されている。これに対し、物理振動子Ｐ側からは、位相リセット情報が供給される。
【０２４８】
本発明者らは、連続相互作用より、あるいは連続相互作用を近似して、移送発生器に対する位相リセットを考えている。何故ならば、歩行というのは、接地、スタンス、スイングなど、現象が離散的であるからと強弁できる。少なくとも位相は離散的にリセットし、軌道、力、スティッフネス制御は連続的にするというハイブリッド制御は、トポロジカルに同じオープン、あるいはクローズド・キネマティック・チェーンになっているときは、質的に同じ連続制御則を適用し、しかしそれを離散的に切り替えるためには、離散的な事象（接地）に着目して、位相を（つまり複数プログラムの切り替えを）行なうというのは、非線形力学系から考えても合理的と思料される。
【０２４９】
Ｂ−２−２項では、上述したように、歩行動作において例えば足裏のスイッチを利用して、各脚の接地を位相φ＝０、一方の脚の接地を位相φ＝πという具合に位相を離散的に推定している。図４４には、２足歩行の脚式移動ロボットにおいて足裏のスイッチを利用して位相推定を行なうメカニズムを図解している。同図に示す例では、左右の脚の足裏のスイッチによって離床又は接地が検出されることに応答して、位相がリセットされ、系の周期が確定する。すなわち、１周期の間では、左右の脚が交互に立脚（ｓｔａｎｃｅ）及び遊脚（ｓｗｉｎｇ）が繰り返される。ここで、離床時よりも接地時の方が情報の確信度（ｃｏｎｆｉｄｅｎｃｅ）が高いので、位相リセットのタイミングとしてより適している。
【０２５０】
しかしながら、足裏のスイッチだけで、離散的な事象（位相）を推定するのは精緻さにやや欠ける。換言すれば、足裏のスイッチだけでなくその他のさまざまな状態量を取り込んで位相推定を行なうことにより、確信度はより高まる。確信度まで含めて、フィードフォワード・ニューラル・ネットワークで位相を推定しておき、確信度が高くて、肝心な位相のときにリセットをかけることがより好ましい。小脳に、位相の推定器（順モデル）と位相のリセット器（逆モデル）があるとよい。
【０２５１】
図４５には、連続相互作用による位相リセットのメカニズムを図解している。ロボットの機体からは、独立した周期運動を行なう複数の可動部が見出され、個々の部位毎に位相発生器としての神経振動子Ｎ１、Ｎ２、Ｎ３、Ｎ４が定義されている。
【０２５２】
各位相発生器Ｎ１、Ｎ２、Ｎ３、Ｎ４は、物理振動子としての下位の制御器Ｃに対して位相情報を出力する。そして、制御器Ｃは、位相情報に基づいてそれぞれの可動部への制御情報を生成する。
【０２５３】
また、図示の制御メカニズムでは、位相発生器毎に位相フィードフォワード・モデル（すなわち位相推定器）を備えている。すなわち、可動部の状態量を検出すると、この状態量に基づいて可動部の周期運動に関する位相又は角周波数が推定され、これら推定値が位相発生器Ｎ１、Ｎ２、Ｎ３、Ｎ４にフィードフォワードされる。各位相発生器Ｎ１、Ｎ２、Ｎ３、Ｎ４では、推定された位相又は角周波数を用いて、所定の項神速に基づいて位相信号を更新する。
【０２５４】
図４４に示した制御メカニズムにおける動作手順を以下に示しておく。
【０２５５】
（１）位相発生器としての神経振動子Ｎは、可動部を駆動制御する下位のコントローラＣのスイッチングを行なう。
（２）物理振動子としての可動部における単一の位相（若しくは幾つかの位相）に基づいて、位相発生器としての神経振動子Ｎの位相をリセットする。
（３）位相反応曲線を用いて、複数の位相発生器間で、神経振動子の周期−位相の物理系の挙動に応じた同調化を行なう。位相反応曲線の詳細については、次項に譲る。
（４）位相リセットには、位相推定のためのフォワード・モデルを用いる。
【０２５６】
Ｂ−２−５．位相反応曲線を用いた位相発生器の更新則
位相発生器での更新則は位相反応曲線（ＰＲＣ：Ｐｈａｓｅ Ｒｅｓｐｏｎｓｅ Ｃｕｒｖｅ又はＰｈａｓｅ Ｒｅｓｅｔｔｉｎｇ Ｃｕｒｖｅ）を用いることで安定周期解を直観的に理解し易い形で保証しつつ、位相更新則を設計することができる。
【０２５７】
位相反応曲線は、生体での同調を伴うリズム現象（例えば、生物の睡眠・覚醒サイクル、人のフィンガー・タッピング（机をトントンと周期的に繰り返し叩く動作）など）で観測されるような、外部刺激に対する振動子の位相の変化の関係を表したものである。例えば、周期運動をしている振り子に短時間の外乱を加えた場合、外乱がさほど大きくなければ、長い時間経過した後には元の周期での運動に収束する。このとき、収束した運動は、外乱が無い場合の運動と比べて、周期は同一であるものの、位相のずれが生じている。横軸に外乱を加えたタイミング（位相）、縦軸にどの程度位相ずれ（進みｏｒ遅れ）を生じたかを図示したものが位相反応曲線（ＰＲＣ）である。
【０２５８】
例えば、図４６に示すような位相反応曲線について考察してみる。位相発生器が生成した位相信号がφkのときに、位相推定器から信号が入った場合にΔ（φk）だけ位相ズレを生じさせる。この位相反応曲線を設計することでロボット機体ダイナミクスを有効に利用した外界との望ましいリズムの同調を実現する周期運動を行うことを考える。このようなＰＲＣの設計には強化学習の枠組みを用いることもできる。
【０２５９】
ここで、位相推定器からの出力が１周期に１回ずつ離散的に発生するとする。具体的には、例えば右足が接地したときのみ位相推定器から信号が出力されるものとする。このとき、位相反応曲線を用いて、位相シフトΔ（φk）を離散的に行なう更新則を考える。なお、簡単のため、ここでは振動数ωの更新は行なわないものとする。すなわちＴP、ＴNは一定値である。
【０２６０】
図４７は、引き込みの差分方程式を模式的に示している。但し、ＴNは位相発生器の自然周期、ＴPは周期運動を行なうロボットの可動部の自然周期、φは位相発生器としての神経振動子の位相、Δ（φ）は位相発生器の位相反応曲線（進行しているときの符号が正）、φkはｋ番目のサンプリング時刻において物理振動子からパルスが発されたときの神経振動子の位相である。
【０２６１】
図４７と以下の式（１）及び（２）から、位相反応曲線ＰＲＣによる位相調節後の新しい位相上での、次の位相推定器の出力が生じる時の位相φk+1は、式（３）のようになる。十分に時間が経過した後では、位相発生器の出力と位相推定器からの入力はある一定の位相関係に固定されることが、安定した周期運動のために必要である。すなわち、式（３）において、φk+1＝φkとなる。よって、平衡点は式（４）のように得られる。
【０２６２】
【数２９】
2005096068.tif 000034
【０２６３】
位相反応曲線ＰＲＣを用いると、定常解の安定性が図式的に求められる。図４８には、上式（４）を位相反応曲線上に示した様子を示している。図示のように、同式と同曲線の交点が収束後の位相ズレ量となる。このとき、位相反応曲線の傾きが負であれば、交点は安定な平衡点となり、安定周期解があることが分かる。一方、交点での傾きが正であれば、位相は発散するため安定解とはならないことが分かる。このように位相反応曲線の設計によって、安定周期解の存在を図式的に簡単に保証することができる。
【０２６４】
位相反応曲線を用いた設計は、複数の位相発生器間であっても適用可能である。図４９には、２つの位相発生器の間で、相互に離散的信号によって引き込む様子を示している。
【０２６５】
このときの相互引き込みによる差分方程式を下式（５）〜（７）に示す。図５０にはこれを示している。図示のように、ここでも安定性の判別が図式的に可能である。このように位相反応曲線を用いれば、複数の位相発生器間で安定周期解がどこにあるのか、図式的に理解することが容易になる。
【０２６６】
【数３０】
2005096068.tif 000035
【０２６７】
Ｂ−２−６．ニューラル・ネットワークを用いた位相推定器
上述した実施形態では、歩行動作において例えば足裏のスイッチを利用して、各脚の接地を位相φ＝０、一方の脚の接地を位相φ＝πという具合に位相を離散的に推定している。しかしながら、足裏のスイッチだけで、離散的な事象（位相）を推定するのは精緻さにやや欠ける。足裏のスイッチだけでなくその他のさまざまな状態量を取り込んで位相推定を行なうことにより、確信度はより高まる。この項では、ニューラル・ネットワークを用いた位相推定器の構成例について説明する。
【０２６８】
センサの観測値ｖから位相推定値φ'を出力するニューラル・ネットワークを構成する。ここでは一例として、下式に示すようなパラメータ線形のものを考える。
【０２６９】
【数３１】
2005096068.tif 000036
【０２７０】
ここで、ｗiはｉ番目のネットワークの荷重（パラメータ）、ｂi（）はｉ番目の基底関数である。例えば、下式に示すような動径基底関数を用いることができる。また、ｎは基底関数の数である。
【０２７１】
【数３２】
2005096068.tif 000037
【０２７２】
但し、ｖiはｉ番目の基底関数の中心値であり、Ｄは基底関数の大きさを決めるパラメータである。
【０２７３】
ここで、ニューラル・ネットワークの出力を用いて、例として次式の正規分布による確率モデルを考える。
【０２７４】
【数３３】
2005096068.tif 000038
【０２７５】
但し、σ2は分散を表す。これによって、現在の位相に関する確率モデルを得る。よって、例えばφa＜φ＜φb且つＰ（φ｜ｖ）＞ａを満たす場合は、制御器を切り替えるなどといったことが可能となる。但し、φa、φbは制御器の切り替え位相を示すものであり、ａは閾値を示す。
【０２７６】
また、確率モデルを用いて、ベイズ推定により位相推定器を構成することもできる。まず、一例として位相の事前確率を次式の正規分布で表す。
【０２７７】
【数３４】
2005096068.tif 000039
【０２７８】
ここで、φ0は位相出力器が出力する平均位相、σ2はその分散である。さらに、位相が与えられたときの予測されるセンサの観測値の確率モデルを次式のように表す。
【０２７９】
【数３５】
2005096068.tif 000040
【０２８０】
但し、ｖ'（φ）は現在の位相から観測値を出力する関数であり、Σは観測値の共分散行列である。ここで、ベイズ推定により下式の通りとなる。
【０２８１】
【数３６】
2005096068.tif 000041
【０２８２】
よって、例えばφa＜φ＜φb且つＰ（φ｜ｖ）＞ａを満たす場合は、制御器を切り替えるなどといったことが可能となる。但し、φa及びφbは制御器の切り替え位相を示すものであり、ａは閾値を示す。
【０２８３】
より複雑な各確率分布の表現手法との一例として、混合分布を用いることも可能である。
【０２８４】
Ｂ−３．モデル・ベース強化学習による２足歩行の効率的な学習アルゴリズム
この項では、人間の歩行学習メカニズムの理解を目指して、２足歩行ロボットのための学習アルゴリズムについて説明する。また、学習アルゴリズムの過程を通じて、効率の良い歩行を実現することを目指している。歩行運動は、倒れずに次の１歩を踏み出すというタスクとして表現することができるが、安定な歩行を生成するための教師軌道を求めることは容易ではない場合が多い。そこで、本実施形態では、学習の枠組みとして強化学習を用いている。
【０２８５】
Ｂ−３−１．２足歩行ロボット
この項では、支持棒によって２次元平面内に拘束された５リンクの２足歩行ロボットを対象システムとして扱う（図５１を参照ること）。開発された実ロボットは、ダイレクト・ドライブのモータをアクチュエータとして用いることで、高いバックドライバビリティーを供えている。同定されたロボットの物理パラメータを下表に示している。
【０２８６】
【表４】
2005096068.tif 000042
【０２８７】
また、２足歩行の問題を扱う場合、地面と足裏の接触、衝突が問題となる。開発したシミュレータにおいて用いた衝突モデルは下式の通りである。
【０２８８】
【数３７】
2005096068.tif 000043
【０２８９】
但し、Ｆx、Ｆzはそれぞれ水平方向及び鉛直方向の床反力、ｘ、ｚは足先の水平位置及び鉛直位置を表し、ｘgは足先接地点、ｚgは足先の高さを表す。また、床反力の表現としてバネ−ダンパ・モデルを用いており、水平方向の位置ゲインはｋx＝３０００、速度ゲインはｂx＝３０、鉛直方向の位置ゲインはｋz＝５０００、速度ゲインはｂz＝１００とする。滑りのモデルとしては、Ｆx＞ｃＦzならｘg＝ｘとした。但し、ｃ＝１．０は静止摩擦係数である。
【０２９０】
Ｂ−３−２．Ｓｔａｔｅ  Ｍａｃｈｉｎｅを用いた実ロボットによる２足歩行の実現
この項では、学習アルゴリズムの基礎となる手法について検討する。最初の試みとして、既に歩行制御きの構築手法として成果を納めているＳｔａｔｅ ｍａｃｈｉｎｅ[29]を用いた方法を実際のロボット（図５１を参照のこと）に適用した。
【０２９１】
Ｂ−３−２−１．状態遷移図
Ｓｔａｔｅ ｍａｃｈｉｎｅを用いた方法では、状態の定義と遷移の条件を決定する必要がある。ここでは、シミュレーションや実機を用いて、実験的に定義や条件を設定した。図５２には、状態遷移図を示している。
【０２９２】
状態１は両脚支持状態を示しており、ここから遊脚を引き上げ、状態２に遷移する。状態２では、遊脚を前方に振っている状態を示しており、遊脚の足先が支持脚の足先を過ぎると状態３に遷移する。状態３では、遊脚の膝を伸ばす状態を示している。ここで、上体の位置が支持脚を過ぎると、状態４に遷移する。状態４では、わずかに曲がった支持脚の膝を伸ばすことで、地面を蹴りエネルギを注入する。遊脚が地面に接地すると状態１に戻り、左右脚が支持脚と遊脚で交代する。
【０２９３】
Ｂ−３−２−２．実験結果
図５３に歩行中の関節角軌道を、図５４に出力トルクの軌道を示している。また、図５５には最終的に得られた実機による歩行パターンを示している（実ロボットでの歩行パターン（左列）：左足が支持脚（右列）：右足が支持脚，それぞれ上段から下段に向かって時間が進んでいる）。
【０２９４】
Ｂ−３−３．歩行周期の推定
前項において、Ｓｔａｔｅ ｍａｃｈｉｎｅを用いた動的な２足歩行について説明した。しかし、環境の変化に対し、同じパラメータを用いたＳｔａｔｅ ｍａｃｈｉｎｅでは対応できないということが考えられる。この項では、歩行制御器の環境適応性について考察する。
【０２９５】
図５６には、ネコを用いた動物実験を示している。同図左はネコの歩行適応実験の様子を示しており。左前のトレッドミルのみ異なる速度を持つ。また、同図右は小脳とＣＰＧモデルを示している。ＣＦ（Ｃｌｉｍｂｉｎｇ Ｆｉｂｅｒ）は登上線維を表す。ＣＦはＣＰＧからのフィードバックを受けている。この実験によると、Ｃｅｎｔｒａｌ Ｐａｔｔｅｒｎ Ｇｅｎｅｒａｔｏｒ（ＣＰＧ）のパラメータの変更には小脳が関わっていることが示唆されている[30]。脳の学習は一般に登上線維によって伝達される誤差信号を用いた教師付の学習を行なっていると言われている[31]。また、ＣＰＧのパラメータの変更を要するような適応実験において顕著な登上線維の発火が見られるという報告がある[30]。以上の点から考えると、歩行中の外界との相互作用によりＣＰＧのパラメータを変更するための何らかの誤差信号を得ていると思料される。
【０２９６】
実際の誤差信号が何であるかは不明であるが、本発明者らは、歩行周期によって誤差を検出することを考えた。歩行軌道生成器の歩行周期を、外界からの情報を用いて対象の力学系に適応させることを考える。ここで、目標歩行周期を実現するための角周波数ω*を実際の歩行に要した周期から導くと、下式の通りとなる。
【０２９７】
【数３８】
2005096068.tif 000044
【０２９８】
よって、誤差信号は下式で表される。
【０２９９】
【数３９】
2005096068.tif 000045
【０３００】
但し、ωnはｎ歩目の推定された角周波数を示す。そこで、角周波数の更新則は下式のようになる。
【０３０１】
【数４０】
2005096068.tif 000046
【０３０２】
ここでは、この手法を検証するために、図５７に示すような単純な３リンクの歩行ロボット・モデルを用いた。用いた制御器は次式に示すように、周期的な目標軌道を追従するようにした。
【０３０３】
【数４１】
2005096068.tif 000047
【０３０４】
但し、τlは左足に加えるトルク、τrは右足に加えるトルク、ｋ＝５．０は位置ゲイン、ｂ＝０．１は速度ゲイン、θl及びθrはそれぞれ左右の脚の角度を示す。また、現在の推定された位相はφ＝ω（ハット）ｔのように表される。ここで、ｔは現在の時刻を表す。
【０３０５】
Ｂ−３−３−１．シミュレーション結果
まず歩行周期の推定を行なわない場合についてシミュレーション上で実験を行なった。適切な初期条件（進行方向への初期速度０．２［ｍ／ｓ］）を与え、平地（傾斜角＝０度）で歩行可能な歩行周期を初期値（Ｔ＝０．４２［ｓｅｃ］、ω0＝１５［ｒａｄ／ｓｅｃ］）として選んだ。それらのパラメータを用いて上りの傾斜（３度）と下りの傾斜（４度）において歩行を行なわせたところ、それぞれ１０歩以内に転倒した。
【０３０６】
一方、歩行周期の推定を行なったところ、それぞれの傾斜において歩行を継続することができた。但し、それぞれの傾斜角は歩行周期の推定を行なった場合の歩行継続可能な限界を示している。これらより傾斜が大きい場合は、歩行周期の推定のみで対応することはできないことが分かる。
【０３０７】
Ｂ−３−４．強化学習を用いた歩行運動の獲得
以上のことから、安定な歩行を得るためには、周期的な歩行軌道を環境が持つ力学系のタイミングに合わせることが有効であることが理解できよう。しかし、歩行軌道そのものを変更する手段を持たない。この項では、初期に与えられた歩行軌道では安定な歩行ができないような場合に、強化学習の枠組みを用いて歩行が可能となるような軌道の学習法について考察する。また、ここでの提案モデルはＢ−３−２項で説明したＳｔａｔｅ ｍａｃｈｉｎｅと同様の枠組みを用いている。さらに、遷移条件を位相によって与えているため、前項で説明した歩行周期の推定方法を適用することができる。
【０３０８】
この項で提案する手法では、パラメータ更新と行動決定を歩行軌道における２つのｐｏｉｎｃａｒｅ断面（φ＝π／２，φ＝３π／２位相上）において行なった。図５８に示すように、ここでは歩行軌道を４つの中間姿勢（経由点）を用いて表現する（位相φ＝π／２、φ＝３π／２でのｐｏｉｎｃａｒｅ断面において、パラメータの更新と行動の選択を行なっている）。但し、左右の対象性を考慮すると、２つの中間姿勢のみを決定すれば良いことになる。この枠組みは、Ｓｔａｔｅ ｍａｃｈｉｎｅにおける状態遷移条件を位相で決定していることになる（ここでは、図５８に示すように位相φ＝０、φ＝π／２、φ＝π、φ＝３π／２において状態遷移を行なった）。同様の枠組みとして、松岡オシレータ[2]の出力を遷移条件に用いる手法が提案され、４足歩行ロボットへの適用に成功している[32]。また、この提案法を４つの中間姿勢を経由点として用いた軌道生成手法と考えることもできる[33]。
【０３０９】
このモデルを用いた学習手法の構築を行なう。学習器への入力状態は、上体の支持脚先端からのずれ及びその加速度成分からなるｘとした。図５９には、学習のための状態の定義（同図左）と行動の定義（同図右）を示している。つまり、支持脚を支持点にした倒立振子に対応するような状態表現を用いている。図示の通り、学習器の出力は、遊脚接地点の選択に対応する、遊脚膝関節の目標角である。
【０３１０】
Ｂ−３−４−１．モデル・ベース強化学習法
この項では、モデルを用いる強化学習法[34,35]について簡単な説明を行なう。制御対象のモデルが既知の場合はそれを用いることができるが、ここではモデルが未知として、制御対象のモデル自体も学習することを考える。そこで、始めにモデルの学習方法について説明する。
【０３１１】
モデル学習：
制御対象のモデルは教師付き学習の枠組みで行なうことができる。本実施形態に係る手法の中で学習すべきダイナミクス・モデルは図５８に示したように、位相π／２から３π／２への状態ｘの写像を獲得することである（対象性を考慮すると、位相φ＝３π／２からφ＝π／２への写像も獲得することになる）。ここで、この離散時間ダイナミクスを以下のように表し、関数近似器を用いて近似することを考える。
【０３１２】
【数４２】
2005096068.tif 000048
【０３１３】
すなわち、下式に示すような、パラメータｍを持つ関数近似器によってダイナミクスの推定を行なう。教師信号は、次の離散時刻での状態を用いることができる。
【０３１４】
【数４３】
2005096068.tif 000049
【０３１５】
価値関数の学習：
強化学習の目的は、各時刻で受け取る報酬（又は罰）の総和を一連の行動を通じて最大化（又は最小化）するような行動則を獲得することである。つまり、時刻Ｔにおいて受け取る報酬をｒ（Ｔ）とすると、下式のように定義される累積報酬の期待値（価値関数と呼ばれる）を最大化するように行動則の更新を行なう。但し、γ（０≦γ≦1）は割引率を表す。
【０３１６】
【数４４】
2005096068.tif 000050
【０３１７】
ここで問題となるのは、学習を通じてどのように価値関数を推定し、それを用いて行動則を更新するかである。ここでは、連続関数を用いた関数近似器をによって価値関数を近似することを考える。つまり、下式のように考える。
【０３１８】
【数４５】
2005096068.tif 000051
【０３１９】
但し、ｖは関数近似器のパラメータ・ベクトルを表す。ここで、上式［数３８］の満たすべき報酬と価値関数の関係からのずれを下式のように表し、Ｔｅｍｐｏｒａｌ Ｄｉｆｆｅｒｅｎｃｅ誤差（ＴＤ誤差）と呼ぶ。
【０３２０】
【数４６】
2005096068.tif 000052
【０３２１】
この誤差を用いて，次式のように価値関数の更新を行なう。但し、β＝０．２は、学習率でパラメータとして設定する必要がある。
【０３２２】
【数４７】
2005096068.tif 000053
【０３２３】
行動則の学習：
行動則の更新のために、推定されたモデルと価値関数を用いる。行動則を更新する手順は以下の通りである。
【０３２４】
（１）現在の行動則と推定されたモデルを用いて、次の時刻（位相）での状態を推定する。
（２）次の時刻（位相）での状態における価値関数の勾配∂Ｖ／∂ｘを計算する。
（３）次の時刻（位相）での状態におけるモデルの入力に関する勾配∂ｆ／∂ｕを計算する。
（４）価値関数の勾配∂Ｖ／∂ｘに状態が遷移するように行動則を更新することが望ましいが、制御入力によって１ステップの離散時間のうちに任意の状態に遷移させることはできない。そこで、モデルの入力に関する勾配∂ｆ／∂ｕによって、制御入力が可能な方向に写像する。つまり、∂Ｖ／∂ｘ・∂ｆ／∂ｕの方向に行動則を更新する。
【０３２５】
【数４８】
2005096068.tif 000054
【０３２６】
ここで、α＝０．２は学習率でパラメータである。
【０３２７】
また、関数近似器としてはＲｅｃｅｐｔｉｖｅ Ｆｉｅｌｄ Ｗｅｉｇｈｔｅｄ Ｒｅｇｒｅｓｓｉｏｎ（ＲＦＷＲ）[23]を用いた。
【０３２８】
実験結果：
上述の手法を、図５１に示した５リンク構成のモデルに適用し、シミュレーションにより検証を行なった。但し、初期の１歩に関しては、別途目標軌道を用意した。
【０３２９】
図６０には、学習中（２５試行目）の歩行軌道の例を示している。膝関節の遊脚接地時の目標角が、探索行動のためばらつきがある出力になっている。各関節での目標角が滑らかにつながっているのは、出力された目標姿勢を躍度最小基準を用いた軌道（５次のスプライン）によって補間しているからである。このような手法は、和田ら[33]、宮本ら[36]によって提案されている。安定な歩行は約５０試行で獲得された。図６１には、学習後の安定な歩行軌道を示している。はじめの４歩くらいは膝を大きめに曲げてその後蹴ることにより、倒れないようにエネルギを注入していることが分かる。
【０３３０】
図６７には、学習の前後での２脚歩行ロボットの歩行軌道を比較している。同図の上段には学習前の歩行軌道を、同図の中段に３０試行後の歩行軌道を、同図の下段には学習後の歩行軌道を、それぞれ示している。また、図６８には、それぞれの試行での累積報酬を示している。ここでは、はじめて５０歩の歩行に成功したときを歩行獲得と定義する。５回の実験を行なった結果、平均８０試行で歩行運動を獲得する。図６７の下段には、獲得された歩行軌道を示している。
【０３３１】
また、図６９には、シミュレーションにより獲得された価値関数を示している。同図から、定性的に以下のことが読み取れる。下式は、脚が前方にあり、且つ股関節位置が後方に速度を持っていることを表しており、後方に転倒し易い状態である。このとき、価値関数の値は低くなっている。
【０３３２】
【数４９】
2005096068.tif 000055
【０３３３】
また、下式は、支持脚が股関節の鉛直線上にあり、前方への速度を持っている場合に相当し、価値関数は高い値を示している。つまり、前進しているときには高い値を示している。
【０３３４】
【数５０】
2005096068.tif 000056
【０３３５】
以上のことから、定性的にも妥当な価値関数が獲得されていることが理解できよう。
【０３３６】
図７０には、提案する手法を実機に適用したときの、学習前の２脚ロボットが歩行する様子を示している。図示のように、数歩のうちに転倒に至っていることが分る。また、図７１には、学習後の２脚ロボットが歩行する様子を示している。およそ５０回の試行を経て、図示の実験例では、定常的な歩行動作を獲得することができた。
【０３３７】
通常、歩行のような多自由度系の学習においては、学習が収束するまで数百から数万という多くの試行回数が必要であり、実機検証は現実的に不可能である。これに対し、本手法では５０回という実機で十分に試行可能な少ない回数で学習を収束させることができる優れた方法であることが理解できよう。図７２には、実機実験により獲得された価値関数を示している。関数の概形がシミュレーション結果図６９とよく似ている形であることが分る。
【０３３８】
また、環境の変化に対する適応性能を検証するため、学習によって獲得された制御器を用いて、勾配のある環境で歩行が可能であるかどうかを試した。勾配は０．１度毎に検証し、上りで０．６度、下りで０．２度まで新たに学習することなく、安定な歩行が可能であることが確認された。ここでの歩行の周期はＴ＝０．７９［ｓｅｃ］（ω＝８．０［ｒａｄ／ｓｅｃ］）とした。Ｂ４−２項で説明した実機実験で実現されたものとほぼ同じである。
【０３３９】
Ｂ−３−４−２．歩行周期推定方法の適用
前項では、環境変化に対する適応性能の検証を行なった。大きな上り斜面への適応が困難であるのは、足首トルクを発生することができないためと考えられるが、下り斜面への適応性能は高いとは言えない結果になった。これは主に、設定した歩行周期が下り坂の場合のダイナミクスに合っていないためと考えられる。しかし、本実施形態に係る学習手法は、位相を遷移条件として用いているため、Ｂ−３−３項で詳解した歩行周期推定法を用いることができる。そこで、歩行周期推定法による適応実験をシミュレーション上で行なった。環境としては、１．５度の下り坂で実験を行なった。すると、７試行ほど転倒を繰り返した後、８試行目で安定な歩行を行なうことができるようになった。
【０３４０】
Ｂ−３−４−３．獲得された行動則の解析
この項では、図５８に示した、位相φ＝π／２、φ＝３π／２におけるｐｏｉｎｃａｒｅ断面において獲得された行動則が作り出す離散ダイナミクスの安定性について検証する。検証方法としては、ｐｏｉｎｃａｒｅ断面での離散ダイナミクスのヤコビアンの固有値を用いる[37,38]。この各固有値λiが｜λi（Ｊ）｜＜１なら周期軌道は安定であると言える。本実施形態に係る手法では、ダイナミクス・モデルと行動則を表現するために連続関数を用いたので、次式に示すように、解析的にヤコビ行列Ｊを求めることができる。
【０３４１】
【数５１】
2005096068.tif 000057
【０３４２】
但し、学習中は探索的な行動を行なうこと、及びダイナミクスが状態として図５９における入力状態ｘのみ考慮するという荒い表現になっているため、安定歩行軌道付近でのダイナミクスの近似精度が低い場合がある。このため，安定歩行中にモデルの更新のみを行なって、シミュレーション上のロボットを５０歩かせた場合の固有値の変化を図６２に示した。モデル誤差が減少するのに伴って、ヤコビ行列の固有値が１以下になっていることが判る。このとき、行動則の更新は行なっていない。つまり、学習された行動則は固有値の計算からも安定な歩行周期を生成することが確かめられた。
【０３４３】
実機実験により獲得された制御器の安定性を、シミュレーションの場合と同様、検討した。図７３には、試行毎の固有値の平均値を求めた結果を示している。学習が進むにつれて固有値が減少し、最終的に大きさが１より小さくなっていることが分る。実機実験により、学習された行動則は固有値の計算からも安定な歩行周期を生成することが確かめられた。
【産業上の利用可能性】
【０３４４】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【０３４５】
本明細書では、２足の脚式移動ロボットに本発明を適用した実施形態を中心に説明してきたが、本発明の要旨はこれに限定されるものではない。４足あるいは任意の脚数の脚式ロボットの歩行動作や、脚式以外の移動ロボットの行動制御、移動体以外の機械装置における駆動制御に対しても、同様に本発明を適用することができる。
【０３４６】
また、本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置あるいはその他一般的な移動体装置であるならば、例えば玩具などのような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０３４７】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０３４８】
《参考文献》
１：Ａｖｉｓ Ｈ．Ｃｏｈｅｎ著“Ｃｏｎｔｒｏｌ ｐｒｉｎｃｉｐｌｅ ｆｏｒ ｌｏｃｏｍｏｔｉｏｎ − ｌｏｏｋｉｎｇ ｔｏｗａｒｄ ｂｉｏｌｏｇｙ”（ＡＭＡＭ ２００３）
２：Ｍａｔｓｕｏｋａ Ｋ著“Ｓｕｓｔａｉｎｅｄ ｏｓｃｉｌｌａｔｉｏｎｓ ｇｅｎｅｒａｔｅｄ ｂｙ ｍｕｔｕａｌｌｙ ｉｎｈｉｂｉｔｉｎｇ ｎｅｕｒｏｎｓ ｗｉｔｈ ａｄａｐｔｉｏｎ”（Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，５２，ｐｐ．３４５−３５３（１９８５））
３：Ｍａｔｔｈｅｗ Ｍ． Ｗｉｌｌｉａｍｓｏｎ著“Ｎｅｕｒａｌ Ｃｏｎｔｒｏｌ ｏｆ Ｒｈｙｔｈｍｉｃ Ａｒｍ Ｍｏｖｅｍｅｎｔｓ”（Ｎｅｕｒａｌ Ｎｅｔｗｏｒｋｓ，Ｖｏｌ．１１，Ｉｓｓｕｅｓ ７−８，ｐｐ．１３７９−１３９４（１９９８））
４：琴坂、Ｓ．Ｓｃｈａａｌ共著「神経振動子を用いたロボットのリズミックな運動生成」（日本ロボット学会誌，Ｖｏｌ．１９，Ｎｏ．１，ｐｐ．１１６−１２３（２００１））
５：宮腰、多賀、國吉共著「神経振動子のパラメータ自動調整機構」（第５回ロボティクスシンポジア予稿集，ｐｐ．３０１−３０６（２０００））
６：Ｇ．Ｔａｇａ，Ｙ．Ｙａｍａｇｕｃｈｉ，Ｈ．Ｓｈｉｍｉｚｕ共著“Ｓｅｌｆ−ｏｒｇａｎｉｚｅｄ ｃｏｎｔｒｏｌ ｏｆ ｂｉｐｅｄａｌ ｌｏｃｏｍｏｔｉｏｎ ｂｙ ｎｅｕｒａｌ ｏｓｃｉｌｌａｔｏｒｓ ｉｎ ｕｎｐｒｅｄｉｃｔａｂｌｅ ｅｎｖｉｒｏｎｍｅｎｔ，Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，ｖｏｌ．６５，ｐｐ．１４７−１５９（１９９１））
７：Ｇ．Ｔａｇａ著“Ａ ｍｏｄｅｌ ｏｆ ｔｈｅ ｎｅｕｒｏ−ｍｕｓｃｕｌｏ−ｓｋｅｌｅｔａｌ ｓｙｓｔｅｍ ｆｏｒ ｈｕｍａｎ ｌｏｃｏｍｏｔｉｏｎ Ｉ”（Ｅｍｅｒｇｅｎｃｅ ｏｆ ｂａｓｉｃ ｇａｉｔ，Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，ｖｏｌ．７３，ｐｐ．９７−１１１（１９９５））
８：Ｇ．Ｔａｇａ著“Ａ ｍｏｄｅｌ ｏｆ ｔｈｅ ｎｅｕｒｏ−ｍｕｓｃｕｌｏ−ｓｋｅｌｅｔａｌ ｓｙｓｔｅｍ ｆｏｒ ｈｕｍａｎ ｌｏｃｏｍｏｔｉｏｎ II”（Ｒｅａｌ−ｔｉｍｅ Ａｄａｐｔａｂｉｌｉｔｙ ｕｎｄｅｒ ｖａｒｉｏｕｓ ｃｏｎｓｔｒａｉｎｔｓ“（Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，ｖｏｌ．７３，ｐｐ．１１３−１２１（１９９５））
９：長谷、山崎共著「神経振動子と遺伝的アルゴリズムを用いた実２足歩行類似運動の生成」（計測自動制御学会論文集，Ｖｏｌ．３３，Ｎｏ．５，ｐｐ．４４８−４５４（１９９７））
１０：長谷、山崎共著「２足歩行運動を生成する神経系構造の自律的獲得」（機論（Ｃ編），Ｖｏｌ．６４，Ｎｏ．６２５，ｐｐ．３５４１−３５４７（１９９８））
１１：Ｍ．Ｓａｔｏ，Ｙ．Ｎａｋａｍｕｒａ，Ｓ．Ｉｓｈｉｉ共著“Ｒｅｉｎｆｏｒｃｅｍｅｎｔ Ｌｅａｒｎｉｎｇ ｆｏｒ Ｂｉｐｅｄ Ｌｏｃｏｍｏｔｉｏｎ”（ＩＣＡＮＮ（２００２））
１２：福岡、木村共著「４足ロボットの生物規範型不整地適応動歩行−体性感覚・前庭感覚による調整−」（日本ロボット学会誌，Ｖｏｌ．１９，Ｎｏ．４，ｐｐ．５１０−５１７（２００１））
１３：Ｈ．Ｋｉｍｕｒａ，Ｙ．Ｆｕｋｕｏｋａ，Ｔ．Ｍｉｍｕｒａ共著“Ｄｙｎａｍｉｃｓ Ｂａｓｅｄ Ｉｎｔｅｇｒａｔｉｏｎ ｏｆ Ｍｏｔｉｏｎ Ａｄａｐｔａｔｉｏｎ ｆｏｒ ａ Ｑｕａｄｒｕｐｅｄ Ｒｏｂｏｔ”（ＡＭＡＭ２００３）
１４：宮腰、山本、多賀、國吉共著「脚伸縮機構による二足歩行シミュレーション」（第１８回日本ロボット学会学術講演会予稿集，第３巻，ｐｐ．１１０７−１１０８（２０００））
１５：Ｇ．Ｔａｇａ著“Ａ Ｍｏｄｅｌ ｏｆ Ｉｎｔｅｇｒａｔｉｏｎ ｏｆ Ｐｏｓｔｕｒｅ ａｎｄ Ｌｏｃｏｍｏｔｉｏｎ”（Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｓｙｍｐｏｓｉｕｍ ｏｎ Ｃｏｍｐｕｔｅｒ Ｓｉｍｕｌａｔｉｏｎ ｉｎ Ｂｉｏｍｅｃｈａｎｉｃｓ（１９９７））
１６：宮腰、多賀、國吉、長久保共著「神経振動子を用いた三次元２足足踏みシミュレーション−ヒューマノイドの実世界内行動を目指して」（日本ロボット学会誌，Ｖｏｌ．１８，Ｎｏ．１，ｐｐ．８７−９３（２０００））
１７：Ｔ．ＭｃＧｅｅｒ著“Ｐａｓｓｉｖｅ Ｄｙｎａｍｉｃ Ｗａｌｋｉｎｇ”（ＩＪＲＲ，ｐｐ．６２−８２（１９９０））
１８：Ｐｒａｔｔ，Ｊｅｒｒｙ著“Ｅｘｐｌｏｉｔｉｎｇ Ｉｎｈｅｒｅｎｔ Ｒｏｂｕｓｔｎｅｓｓ ａｎｄ Ｎａｔｕｒａｌ Ｄｙｎａｍｉｃｓ ｉｎ ｔｈｅ Ｃｏｎｔｒｏｌ ｏｆ Ｂｉｐｅｄａｌ Ｗａｌｋｉｎｇ Ｒｏｂｏｔｓ”（Ｐｈ．Ｄ． Ｔｈｅｓｉｓ，Ｃｏｍｐｕｔｅｒ Ｓｃｉｅｎｃｅ Ｄｅｐａｒｔｍｅｎｔ，Ｍａｓｓａｃｈｕｓｅｔｔｓ Ｉｎｓｔｉｔｕｔｅ ｏｆ Ｔｅｃｈｎｏｌｏｇｙ，Ｃａｍｂｒｉｄｇｅ，Ｍａｓｓａｃｈｕｓｅｔｔｓ（２０００））
１９：Ｈａｓｅ，Ｋ．、Ｙａｍａｚａｋｉ，Ｎ共著“Ｃｏｍｐｕｔａｔｉｏｎａｌ ｅｖｏｌｕｔｉｏｎ ｏｆ ｈｕｍａｎ ｂｉｐｅｄａｌ ｗａｌｋｉｎｇ ｂｙ ａ ｎｅｕｒｏ−ｍｕｓｃｕｌｏｓｋｅｌｅｔａｌ ｍｏｄｅｌ．”（Ａｒｔｉｆｉｃｉａｌ Ｌｉｆｅ ａｎｄ Ｒｏｂｏｔｉｃｓ，Ｖｏｌ．３，ｐｐ．  １３３−１３８，  １９９９）
２０：Ｔａｇａ，Ｇ著“Ｎｏｎｌｉｎｅａｒ ｄｙｎａｍｉｃｓ ｏｆ ｔｈｅ ｈｕｍａｎ ｍｏｔｏｒ ｃｏｎｔｒｏｌ − ｒｅａｌ−ｔｉｍｅ ａｎｄ ａｎｔｉｃｉｐａｔｏｒｙ ａｄａｐｔａｔｉｏｎ ｏｆ ｌｏｃｏｍｏｔｉｏｎ ａｎｄ ｄｅｖｅｌｏｐｍｅｎｔ ｏｆ ｍｏｖｅｍｅｎｔｓ”（Ｉｎ Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ ｔｈｅ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｓｙｍｐｏｓｉｕｍ ｏｎ Ａｄａｐｔｉｖｅ Ｍｏｔｉｏｎ ｏｆ Ａｎｉｍａｌｓ ａｎｄ Ｍａｃｈｉｎｅｓ，２０００）
２１：Ｍｉｙａｋｏｓｈｉ，Ｓ．、Ｙａｍａｋｉｔａ，Ｍ．、Ｆｕｒｕｔａ，Ｋ.共著“Ｊｕｇｇｌｉｎｇ ｃｏｎｔｒｏｌ ｕｓｉｎｇ ｎｅｕｒａｌ ｏｓｃｉｌｌａｔｏｒｓ”（Ｉｎ Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ ｔｈｅ ＩＥＥＥ／ＲＳＪ  Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ Ｒｏｂｏｔｓ ａｎｄ Ｓｙｓｔｅｍｓ，ｐｐ．１１８６−１１９３，１９９４）
２２：Ｉｊｓｐｅｅｒｔ，Ａ．、Ｎａｋａｎｉｓｈｉ，Ｊ.、Ｓｃｈａａｌ，Ｓ．共著“Ｌｅａｒｎｉｎｇ ａｔｔｒａｃｔｏｒ ｌａｎｄｓｃａｐｅｓ ｆｏｒ ｌｅａｒｎｉｎｇ ｍｏｔｏｒ ｐｒｉｍｉｔｉｖｅｓ”（Ｉｎ Ｎｅｕｒａｌ Ｉｎｆｏｒｍａｔｉｏｎ Ｐｒｏｃｅｓｓｉｎｇ Ｓｙｓｔｅｍｓ（ＮＩＰＳ  ２００２），２００２）
２３：Ｓｃｈａａｌ，Ｓ．、Ａｔｋｅｓｏｎ，Ｃ．Ｇ．共著“Ｃｏｎｓｔｒｕｃｔｉｖｅ ｉｎｃｒｅｍｅｎｔａｌ ｌｅａｒｎｉｎｇ ｆｒｏｍ ｏｎｌｙ ｌｏｃａｌ ｉｎｆｏｒｍａｔｉｏｎ”（Ｎｅｕｒａｌ Ｃｏｍｐｕｔａｔｉｏｎ，Ｖｏｌ．１０，Ｎｏ．８，ｐｐ．２０４７−２０８４，１９９８）
２４：川人光男著「生体におけるリズム現象の工学的研究」（医用電子と生体工学，Ｖｏｌ．１９，Ｎｏ．３，ｐｐ．１７１−１７８，１９８１）
２５：ｈｔｔｐ：／／ｗｗｗ．ｓｄｆａｓｔ．ｃｏｍ
２６：江原義弘、山本澄子共著「ボディダイナミクス入門歩き始めと歩行の分析」（医歯薬出版株式会社，２００２）
２７：Ｓｔｒｏｇａｔｚ、Ｓ．Ｈ．著“Ｎｏｎｌｉｎｅａｒ ｄｙｎａｍｉｃｓ ａｎｄ ｃｈａｏｓ： ｗｉｔｈ  ａｐｐｌｉｃａｔｉｏｎｓ ｔｏ ｐｈｙｓｉｃｓ”（Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ，１９９４）
２８：Ｄｅｍｐｓｔｅｒ，Ｗ．Ｔ．、Ｇａｕｇｈｒａｎ，Ｇ．Ｒ．Ｌ．共著“Ｐｒｏｐｅｒｔｉｅｓ  ｏｆ ｂｏｄｙ ｓｅｇｍｅｎｔｓ ｂａｓｅｄ ｏｎ ｓｉｚｅ ａｎｄ ｗｅｉｇｈｔ”（Ａｍｅｒｉｃａｎ Ｊｏｕｒｎａｌ ｏｆ Ａｎａｔｏｍｙ，Ｖｏｌ．１２０，ｐｐ．３３−５４，１９６５．）
２９：Ｍ．Ｈ．Ｒａｉｂｅｒｔ著“Ｌｅｇｇｅｄ Ｒｏｂｏｔｓ Ｔｈａｔ Ｂａｌａｎｃｅ”（Ｔｈｅ ＭＩＴ Ｐｒｅｓｓ，Ｃａｍｂｒｉｄｇｅ，ＭＡ，１９８６）
３０：柳原大著「運動学習と小脳」（体育の科学，Ｖｏｌ．４６，Ｎｏ．６，ｐｐ． ４５５−４６３，１９９６）
３１：川人光男著「脳の計算理論」（産業図書，１９９６）
３２：Ｙ．Ｆｕｋｕｏｋａ、Ｈ．Ｋｉｍｕｒａ共著“Ａｄａｐｔｉｖｅ Ｄｙｎａｍｉｃ Ｗａｌｋｉｎｇ ｏｆ ａ Ｑｕａｄｒｕｐｅｄ Ｒｏｂｏｔ ｏｎ Ｉｒｒｅｇｕｌａｒ Ｔｅｒｒａｉｎ ｂａｓｅｄ ｏｎ Ｂｉｏｌｏｇｉｃａｌ Ｃｏｎｃｅｐｔｓ”（Ｉｎｔ．Ｊｏｕｒｎａｌ ｏｆ Ｒｏｂｏｔｉｃｓ Ｒｅｓｅａｒｃｈ，Ｖｏｌ．２２，Ｎｏ．２, ｐｐ．１８７−２０２，２００３）
３３：Ｙ．Ｗａｄａ、Ｍ． Ｋａｗａｔｏ共著“Ａ ｔｈｅｏｒｙ ｆｏｒ ｃｕｒｓｉｖｅ ｈａｎｄｗｒｉｔｉｎｇ ｂａｓｅｄ ｏｎ ｔｈｅ ｍｉｎｉｍｉｚａｔｉｏｎ ｐｒｉｎｃｉｐｌｅ”（Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ， Ｖｏｌ．７３，ｐｐ．３−１５，１９９５）
３４：Ｒ．Ｓ．Ｓｕｔｔｏｎ、Ａ．Ｇ．Ｂａｒｔｏ共著“Ｒｅｉｎｆｏｒｃｅｍｅｎｔ Ｌｅａｒｎｉｎｇ：Ａｎ Ｉｎｔｒｏｄｕｃｔｉｏｎ”（Ｔｈｅ ＭＩＴ Ｐｒｅｓｓ，Ｃａｍｂｒｉｄｇｅ，ＭＡ，１９９８）
３５：Ｋ．Ｄｏｙａ著“Ｒｅｉｎｆｏｒｃｅｍｅｎｔ Ｌｅａｒｎｉｎｇ ｉｎ Ｃｏｎｔｉｎｕｏｕｓ Ｔｉｍｅ ａｎｄ Ｓｐａｃｅ”（Ｎｅｕｒａｌ Ｃｏｍｐｕｔａｔｉｏｎ，Ｖｏｌ．１２，Ｎｏ．１，ｐｐ．２１９−２４５，２０００）
３６：Ｈ．Ｍｉｙａｍｏｔｏ、Ｓ． Ｓｃｈａａｌ、Ｆ．Ｇａｎｄｏｌｆｏ、Ｈ．Ｇｏｍｉ、Ｙ．Ｋｏｉｋｅ、Ｒ．Ｏｓｕ、Ｅ．Ｎａｋａｎｏ、Ｙ．Ｗａｄａ、Ｍ．Ｋａｗａｔｏ共著“Ａ Ｋｅｎｄａｍａ Ｌｅａｒｎｉｎｇ Ｒｏｂｏｔ Ｂａｓｅｄ ｏｎ Ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ Ｔｈｅｏｒｙ”（Ｎｅｕｒａｌ Ｎｅｔｗｏｒｋｓ，Ｖｏｌ．９，ｐｐ．１２８１−１３０２，１９９６）
３７：Ｍ．Ｇａｒｃｉａ、Ａ．Ｃｈａｔｔｅｒｊｅｅ、Ａ．Ｒｕｉｎａ、Ｍ．Ｊ．Ｃｏｌｅｍａｎｇ共著“Ｔｈｅ ｓｉｍｐｌｅｓｔ ｗａｌｋｉｎｇ ｍｏｄｅｌ： ｓｔａｂｉｌｉｔｙ，ｃｏｍｐｌｅｘｉｔｙｕ，ａｎｄ ｓｃａｌｉｎｇ”（ＡＳＭＥ Ｊｏｕｎａｌ ｏｆ Ｂｉｏｍｅｃｈａｎｉｃａｌ Ｅｎｇｉｎｅｅｒｉｎｇ，Ｖｏｌ．１２０，Ｎｏ．２，ｐｐ．２８１−２８８，１９９８）
３８：Ｒ．Ｑ．Ｖａｎ ｄｅｒ Ｌｉｎｄｅ著“Ｐａｓｓｉｖｅ ｂｉｐｅｄａｌ ｗａｌｋｉｎｇ ｗｉｔｈ ｐｈａｓｉｃ ｍｕｓｃｌｅ ｃｏｎｔｒａｃｔｉｏｎ”（Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，Ｖｏｌ．８２，ｐｐ．２２７−２３７，１９９９）
【図面の簡単な説明】
【０３４９】
【図１】図１は、本発明に係るロボット装置の姿勢安定制御メカニズムの構成を概念的に示した図である。
【図２】図２は、２足の脚式移動ロボットが左右の脚を交互に支持脚、遊脚に切り替えて歩行動作を行なうときの、位相情報φに基づいて制御器を適宜選択するメカニズムを示した図である。
【図３】図３は、可動部の関節角θと周期運動における位相φの関係を説明するための図である。
【図４】図４は、可動部の関節角θと周期運動における位相φの関係を説明するための図である。
【図５】図５は、ロボット全体の運動を周期運動と捉え、機体全体で１つの位相発生器を定義した様子を示した図である。
【図６】図６は、歩行やその他の脚式運動においては、左右の各脚の動作をそれぞれ独立した周期運動と捉え、脚毎に１つの位相発生器を定義した様子を示した図である。
【図７】図７は、下肢においては１つの周期運動と捉えることができる一方、上肢と体幹などその他の部位においては別の周期運動と捉え、下肢と、上肢及び体幹において、それぞれ異なる位相発生器を定義した様子を示した図である。
【図８】図８は、上肢及び体幹と、左右の各脚部をそれぞれ独立した周期運動と捉えて位相発生器を定義した様子を示した図である。
【図９】図９は、左右の脚、左右の腕、体幹、頭部の動作をそれぞれ独立した周期運動と捉え、部位毎に１つの位相発生器を定義した様子を示した図である。
【図１０】図１０は、関節毎に独立した周期運動を行なっているものと捉えて、関節毎に位相発生器を定義した様子を示した図である。
【図１１】図１１は、各可動部への制御量を調停して装置全体の協調動作を実現する仕組みを模式的に示した図である。
【図１２】図１２は、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方から眺望した様子を示した図である。
【図１３】図１３は、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を後方から眺望した様子を示した図である。
【図１４】図１４は、脚式移動ロボット１００が具備する関節自由度構成を模式的に示した図である。
【図１５】図１５は、脚式移動ロボット１００の制御システム構成を模式的に示した図である。
【図１６】図１６は、松岡による神経振動子モデルを示した図である。
【図１７】図１７は、ＤＢを用いたＣＰＧによる引き込み現象の実験機の構成を模式的に示した図である。
【図１８】図１８は、矢状面拘束の２足歩行モデルの各関節に神経振動子を配置し、環境との相互作用により自律的な歩行が生成される様子を示した図である。
【図１９】図１９は、歩行運動を３つのステートに分離した様子を示した図である。
【図２０】図２０は、Ｃｏｍｐａｓｓ−ｌｉｋｅ  Ｂｉｐｅｄモデルを示した図である。
【図２１】図２１は、神経振動子の配置と結合係数を示した図である。
【図２２】図２２は、実験機としてのロボットの機体リンク部分の構造を模式的に示した図である。
【図２３】図２３は、フィードバック経路の構成を示した図である。
【図２４】図２４は、前後脚の角度目標値を入れ替える様子を示した図である。
【図２５】図２５は、ＬＭの出力を符号反転してＳＷに入力する様子を示した図である。
【図２６】図２６は、定常歩行時の計測結果を示した図である。
【図２７】図２７は、Ｌｅｆｔ  ｈｉｐ  ｊｏｉｎｔの位相平面図を示した図である。
【図２８】図２８は、定常入力値ｃと歩行速度・機械的消費エネルギ・移動の効率を表す無次元量、移動仕事率の関係を示した図である。
【図２９】図２９は、脚長・質量で正規化した関節最大トルクを比較した結果を示した図である。
【図３０】図３０は、位相振動子と局所重光き回帰をベースとしたリミット・サイクル・アトラクタを持った周期運動学習プリミティブをＣＰＧモデルとして用い、人間の歩行動作の学習、獲得した運動の適切なスケーリングによりロボットでの歩行の運動生成の概念図である。
【図３１】図３１は、平面５リンク２足歩行ロボットのモデルを示した図である。
【図３２】図３２は、学習した軌道の変更の例を示した図である。
【図３３】図３３は、本発明の一実施形態に係るロボット制御系の概念図である。
【図３４】図３４は、収集されたデータの関節角度と、右足接地から次の接地までの１周期分を取り出して示した図である。
【図３５】図３５は、運動学習プリミティブでの人間の歩行軌道の学習の結果を示した図である。
【図３６】図３６は、ｔ＝０〜２０の運動学習プリミティブの出力による目標関節軌道及びロボットの各関節軌道を示した図である。
【図３７】図３７は、歩行２周期分（歩数４歩）の左足の目標関節軌道及びロボットの各関節軌道、各足の接地タイミングを示した図である。
【図３８】図３８は、関節トルク指令値を示した図である。
【図３９】図３９は、定常状態におけるロボットの歩行の様子を示した図である。
【図４０】図４０は、２つの結合位相振動子のダイナミクスを示した図である。
【図４１】図４１は、歩行シミュレーション結果を示した図である。
【図４２】図４２は、遊脚が自由振動により振り出されるものと仮定し、長さの異なる２つの単振り子の運動を描いた図である。
【図４３】図４３は、位相振動子と位相リセットのメカニズムを模式的に示した図である。
【図４４】図４４は、２足歩行の脚式移動ロボットにおいて足裏のスイッチを利用して位相推定を行なうメカニズムを示した図である。
【図４５】図４５は、連続相互作用による位相リセットのメカニズムを示した図である。
【図４６】図４６は、位相反応曲線の例を示した図である。
【図４７】図４７は、引き込みの差分方程式を模式的に示した図である。
【図４８】図４８は、位相反応曲線上で定常解の安定性を求める様子を示した図である。
【図４９】図４９は、２つの位相発生器の間で、相互に離散的信号によって引き込む様子を示した図である。但し、一方の位相発生器Ｎ1は位相φ、周期Ｔ1、位相反応曲線Δ（φ1）とし、他方の位相発生器Ｎ2は位相φ、周期Ｔ2、位相反応曲線Δ（φ2）とする。
【図５０】図５０は、相互引き込みによる差分方程式を示したグラフである。
【図５１】図５１は、支持棒によって２次元平面内に拘束された５リンクの２足歩行ロボットを示した図である。
【図５２】図５２は、図５１に示した実ロボットについての状態遷移図を示した図である。
【図５３】図５３は、実験により得られた歩行中の関節角軌道を示した図である。
【図５４】図５４は、実験により得られた出力トルクの軌道を示した図である。
【図５５】図５５は、最終的に得られた実記による歩行パターンを示した図である。
【図５６】図５６は、ネコを用いた動物実験を示した図である。
【図５７】図５７は、単純な３リンク構成の歩行ロボット・モデルを示した図である。
【図５８】図５８は、歩行軌道生成モデルを示した図である。
【図５９】図５９は、学習のための状態の定義（同図左）と行動の定義（同図右）を示した図である。
【図６０】図６０は、学習中（２５試行目）の歩行軌道の例を示した図である。
【図６１】図６１は、学習後の安定な歩行軌道を示した図である。
【図６２】図６２は、シミュレーション上のロボットを５０歩かせた場合の固有値の変化を示した図である。
【図６３】図６３は、定常歩行時のシミュレーション結果を示した図である。
【図６４】図６４は、左股関節を周期運動を行なう物理振動子として捉えたときの、振動子の位相の変化を描いた位相平面図のシミュレーション結果を示した図である。
【図６５】図６５は、位相リセットが外乱に対する歩行のロバスト性に有効であることを表した数値シミュレーション結果を示した図である。
【図６６】図６６は、歩行時に外乱が与えられた場合の応答を示した図である。
【図６７】図６７は、学習の前後での２脚歩行ロボットの歩行軌道の比較を示した図である。
【図６８】図６８は、歩行の試行での累積報酬を示した図である。
【図６９】図６９は、シミュレーションにより獲得された価値関数を示した図である。
【図７０】図７０は、提案する手法を実機に適用したときの、学習前の２脚ロボットが歩行する様子を示した図である。
【図７１】図７１は、学習後の２脚ロボットが歩行する様子を示した図である。
【図７２】図７２は、実機実験により獲得された価値関数を示した図である。
【図７３】図７３は、試行毎の固有値の平均値を求めた結果を示した図である。
【符号の説明】
【０３５０】
１…首関節ヨー軸
２Ａ…第１の首関節ピッチ軸
２Ｂ…第２の首関節（頭）ピッチ軸
３…首関節ロール軸
４…肩関節ピッチ軸
５…肩関節ロール軸
６…上腕ヨー軸
７…肘関節ピッチ軸
８…手首関節ヨー軸
９…体幹ピッチ軸
１０…体幹ロール軸
１１…股関節ヨー軸
１２…股関節ピッチ軸
１３…股関節ロール軸
１４…膝関節ピッチ軸
１５…足首関節ピッチ軸
１６…足首関節ロール軸
３０…頭部ユニット，４０…体幹部ユニット
５０…腕部ユニット，５１…上腕ユニット
５２…肘関節ユニット，５３…前腕ユニット
６０…脚部ユニット，６１…大腿部ユニット
６２…膝関節ユニット，６３…脛部ユニット
８０…制御ユニット，８１…主制御部
８２…周辺回路
９１，９２…接地確認センサ
９３，９４…加速度センサ
９５…姿勢センサ
９６…加速度センサ
１００…脚式移動ロボット
【図１】
2005096068.tif 000058
【図２】
2005096068.tif 000059
【図３】
2005096068.tif 000060
【図４】
2005096068.tif 000061
【図５】
2005096068.tif 000062
【図６】
2005096068.tif 000063
【図７】
2005096068.tif 000064
【図８】
2005096068.tif 000065
【図９】
2005096068.tif 000066
【図１０】
2005096068.tif 000067
【図１１】
2005096068.tif 000068
【図１２】
2005096068.tif 000069
【図１３】
2005096068.tif 000070
【図１４】
2005096068.tif 000071
【図１５】
2005096068.tif 000072
【図１６】
2005096068.tif 000073
【図１７】
2005096068.tif 000074
【図１８】
2005096068.tif 000075
【図１９】
2005096068.tif 000076
【図２０】
2005096068.tif 000077
【図２１】
2005096068.tif 000078
【図２２】
2005096068.tif 000079
【図２３】
2005096068.tif 000080
【図２４】
2005096068.tif 000081
【図２５】
2005096068.tif 000082
【図２６】
2005096068.tif 000083
【図２７】
2005096068.tif 000084
【図２８】
2005096068.tif 000085
【図２９】
2005096068.tif 000086
【図３０】
2005096068.tif 000087
【図３１】
2005096068.tif 000088
【図３２】
2005096068.tif 000089
【図３３】
2005096068.tif 000090
【図３４】
2005096068.tif 000091
【図３５】
2005096068.tif 000092
【図３６】
2005096068.tif 000093
【図３７】
2005096068.tif 000094
【図３８】
2005096068.tif 000095
【図３９】
2005096068.tif 000096
【図４０】
2005096068.tif 000097
【図４１】
2005096068.tif 000098
【図４２】
2005096068.tif 000099
【図４３】
2005096068.tif 000100
【図４４】
2005096068.tif 000101
【図４５】
2005096068.tif 000102
【図４６】
2005096068.tif 000103
【図４７】
2005096068.tif 000104
【図４８】
2005096068.tif 000105
【図４９】
2005096068.tif 000106
【図５０】
2005096068.tif 000107
【図５１】
2005096068.tif 000108
【図５２】
2005096068.tif 000109
【図５３】
2005096068.tif 000110
【図５４】
2005096068.tif 000111
【図５５】
2005096068.tif 000112
【図５６】
2005096068.tif 000113
【図５７】
2005096068.tif 000114
【図５８】
2005096068.tif 000115
【図５９】
2005096068.tif 000116
【図６０】
2005096068.tif 000117
【図６１】
2005096068.tif 000118
【図６２】
2005096068.tif 000119
【図６３】
2005096068.tif 000120
【図６４】
2005096068.tif 000121
【図６５】
2005096068.tif 000122
【図６６】
2005096068.tif 000123
【図６７】
2005096068.tif 000124
【図６８】
2005096068.tif 000125
【図６９】
2005096068.tif 000126
【図７０】
2005096068.tif 000127
【図７１】
2005096068.tif 000128
【図７２】
2005096068.tif 000129
【図７３】
2005096068.tif 000130