(57)【要約】【課題】  複数の物理振動子を配置して運動制御を行なう際の、振動子間の位相関係を好適に調整する。【解決手段】  可動部の周期運動の制御に引き込み特性を利用するために、４素子型の神経振動子を基準振動子として用いている。４素子型の振動子は９０度位相差のある信号を出力する構造を備えている。したがって、９０度異なる振動子の出力が必要となる局面においては、センサ・フィードバックを用いることなく所望の位相関係を調整することができ、堅牢な制御システムを構築することができる。【選択図】  図１４
2006289602.tif 000002
【特許請求の範囲】
【請求項１】
複数の可動部を有するロボット装置であって、
少なくとも一部の可動部の周期運動に関する位相信号を生成する１以上の振動子からなる位相信号発生手段と、
各振動子に対し、フィードバック信号ｇを所定のフィードバック・ゲインｈを以って入力する入力手段と、
前記位相信号に基づいて前記可動部の制御信号を生成する制御手段と、
前記制御信号に従って前記可動部を駆動する駆動手段とを備え、
前記位相信号発生手段を構成する少なくとも１つの振動子は、あらかじめ位相関係が９０度異なる出力ｑ0及びｑ1を持つ４素子型神経振動子を基準振動子として構成される、
ことを特徴とするロボット装置。
【請求項２】
前記４素子型神経振動子は、下式に従ってあらかじめ位相関係が９０度異なる２つの出力ｑ0及びｑ1を持つ、
ことを特徴とする請求項１に記載のロボット装置（但し、ｕ0、ｕ1、ｕ2、ｕ3、ｖ0、ｖ1、ｖ2、ｖ3は内部変数、τ0、τ1、τ2、τ3は時定数（＞０）、ｃは定常入力（＞０）、βは疲労係数（＞０）、γ23、γ32、γ01、γ10、γ02、γ30、γ13、γ21は素子間結合の重み（＞０）、ｇj及びｇkはフィードバック信号、ｈj及びｈkはフィードバック・ゲインである）。
【数１】
2006289602.tif 000029
【請求項３】
前記４素子型神経振動子の一方の出力ｑ0と他方の出力ｑ1にそれぞれ重みγを付けて線形結合して、前記振動子への入力信号に対して任意の位相差を生成する位相差生成手段をさらに備える、
ことを特徴とする請求項１に記載のロボット装置。
【請求項４】
前記位相信号発生手段は、４素子型神経振動子と２素子型神経振動子を組み合わせ、各振動子からの出力を、所望の周期関数をフーリエ級数展開したときの基底関数として用いる、
ことを特徴とする請求項１に記載のロボット装置。
【請求項５】
前記ロボット装置は可動部として体幹に取り付けられた複数の脚を含み、
独立して扱うことができる前額面内運動と矢状面内運動からなる歩行運動を実行する際に、前記制御手段は、前額面内運動に対し２素子型神経振動子による制御を用いるとともに、矢状面内運動に対し４素子型神経振動子による制御を用いる、
ことを特徴とする請求項１に記載のロボット装置。
【請求項６】
前記入力手段は、前額面内運動のうちＺ方向運動を記述する振動子に対し、足裏に印加される力に応じたフィードバック信号を入力する、
ことを特徴とする請求項５に記載のロボット装置。
【請求項７】
前記入力手段は、前額面内運動のうちＺ方向運動を記述する振動子に対し、体幹のロール方向の傾きに応じたフィードバック信号を入力する、
ことを特徴とする請求項５に記載のロボット装置。
【請求項８】
前記位相信号発生手段は、矢状面内運動のうちＸ方向運動を４素子型神経振動子で記述し、
前記入力手段は、該Ｘ方向運動の振動子に対するフィードバック信号として、４素子型神経振動子からＺ方向運動の振動子とは位相が９０度ずれた信号を得る、
ことを特徴とする請求項５に記載のロボット装置。
【請求項９】
前記入力手段は、前記４素子型神経振動子のうち一方の２素子型神経振動子にはＺ方向振動子と同じフィードバック系を導入し、他方の２素子型神経振動子には体幹のロール方向角速度に応じたフィードバック信号をフィードバックする、
ことを特徴とする請求項８に記載のロボット装置。
【請求項１０】
少なくとも１つの可動部において基準座標系が設定され、
前記位相信号発生手段は、前記基準座標系を構成する座標軸毎に振動子を配設し、
前記制御手段は、振動子の自励発振と前記可動部の周期運動に対する引き込み現象により発される前記基準座標系における前記可動部への指令値を該当する関節部に対する指令値に変換し、
前記駆動手段は、変換して得られた関節部に対する指令値に基づいて関節部を駆動する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項１１】
可動部として足部を含む脚を備え、
前記脚に対する基準座標系は、前記ロボット装置の体重を支持する前記脚の長さ方向と、前記足部の接地位置又は前記脚の軌道を決定するロール及びピッチ方向に座標軸を持ち、
前記位相信号発生手段は、前記基準座標系の座標軸毎に振動子を配設する、
ことを特徴とする請求項１０に記載のロボット装置。
【請求項１２】
前記入力手段は、矢状面内運動のうちＸ方向運動を記述する振動子φxに対し、体幹ロール角速度に応じたフィードバック信号ｇxを入力し、
前記制御手段による歩行制御におけるフィードバック信号を最適化する学習手段をさらに備える、
ことを特徴とする請求項５に記載のロボット装置。
【請求項１３】
前記学習手段は、強化学習の一手法である方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の２次元を入力とし、Ｘ方向運動を記述する振動子φxへのフィードバック項ｇxを学習する、
ことを特徴とする請求項１２に記載のロボット装置。
【請求項１４】
学習に組み合わせる報酬関数を設定する報酬関数設定手段をさらに備える、
ことを特徴とする請求項１２に記載のロボット装置。
【請求項１５】
前記報酬関数設定手段は、ロボット装置に腰の高さと移動速度を反映する報酬関数を設定する、
ことを特徴とする請求項１４に記載のロボット装置。
【請求項１６】
前記報酬関数設定手段は、報酬関数に消費エネルギを罰として与える、
ことを特徴とする請求項１５に記載のロボット装置。
【請求項１７】
前記報酬関数設定手段は、ヨー回りの目標角速度を与え、その誤差を罰として与える、
ことを特徴とする請求項１５に記載のロボット装置。
【請求項１８】
複数の可動部を有するロボット装置の制御方法であって、
少なくとも一部の可動部の周期運動に関する位相信号を１以上の振動子を用いて生成する位相信号発生ステップと、
各振動子に対し、フィードバック信号ｇを所定のフィードバック・ゲインｈを以って入力する入力ステップと、
前記位相信号に基づいて前記可動部の制御信号を生成する制御ステップと、
前記制御信号に従って前記可動部を駆動する駆動ステップを備え、
前記位相信号発生ステップで用いられる少なくとも１つの振動子は、あらかじめ位相関係が９０度異なる出力ｑ0及びｑ1を持つ４素子型神経振動子を基準振動子として構成される、
ことを特徴とするロボット装置の制御方法。
【請求項１９】
前記４素子型神経振動子は、下式に従ってあらかじめ位相関係が９０度異なる２つの出力ｑ0及びｑ1を持つ、
ことを特徴とする請求項１８に記載のロボット装置の制御方法（但し、ｕ0、ｕ1、ｕ2、ｕ3、ｖ0、ｖ1、ｖ2、ｖ3は内部変数、τ0、τ1、τ2、τ3は時定数（＞０）、ｃは定常入力（＞０）、βは疲労係数（＞０）、γ23、γ32、γ01、γ10、γ02、γ30、γ13、γ21は素子間結合の重み（＞０）、ｇj及びｇkはフィードバック信号、ｈj及びｈkはフィードバック・ゲインである）。
【数２】
2006289602.tif 000030
【請求項２０】
一方の出力ｑ0と他方の出力ｑ1にそれぞれ重みγを付けて線形結合して、前記振動子への入力信号に対して任意の位相差を生成する位相差生成ステップをさらに備える、
ことを特徴とする請求項１８に記載のロボット装置の制御方法。
【請求項２１】
前記位相信号発生ステップでは、４素子型神経振動子と２素子型神経振動子を組み合わせ、各振動子からの出力を、所望の周期関数をフーリエ級数展開したときの基底関数として用いる、
ことを特徴とする請求項１８に記載のロボット装置の制御方法。
【請求項２２】
前記ロボット装置は可動部として体幹に取り付けられた複数の脚を含み、
独立して扱うことができる前額面内運動と矢状面内運動からなる歩行運動を実行する際に、前記制御ステップでは、前額面内運動に対し２素子型神経振動子による制御を用いるとともに、矢状面内運動に対し４素子型神経振動子による制御を用いる、
ことを特徴とする請求項１８に記載のロボット装置の制御方法。
【請求項２３】
前記入力ステップでは、前額面内運動のうちＺ方向運動を記述する振動子に対し、足裏に印加される力に応じたフィードバック信号を入力する、
ことを特徴とする請求項２２に記載のロボット装置の制御方法。
【請求項２４】
前記入力ステップでは、前額面内運動のうちＺ方向運動を記述する振動子に対し、体幹のロール方向の傾きに応じたフィードバック信号を入力する、
ことを特徴とする請求項２２に記載のロボット装置の制御方法。
【請求項２５】
前記位相信号発生ステップでは、矢状面内運動のうちＸ方向運動を４素子型神経振動子で記述し、
前記入力ステップでは、該Ｘ方向運動の振動子に対するフィードバック信号として、４素子型神経振動子からＺ方向運動の振動子とは位相が９０度ずれた信号を得る、
ことを特徴とする請求項２２に記載のロボット装置の制御方法。
【請求項２６】
前記入力ステップでは、前記４素子型神経振動子のうち一方の２素子型神経振動子にはＺ方向振動子と同じフィードバック系を導入し、他方の２素子型神経振動子には体幹のロール方向角速度をフィードバックする、
ことを特徴とする請求項２５に記載のロボット装置の制御方法。
【請求項２７】
少なくとも１つの可動部において基準座標系が設定され、
前記位相信号発生ステップでは、前記基準座標系を構成する座標軸毎に振動子を配設し、
前記制御ステップでは、振動子の自励発振と前記可動部の周期運動に対する引き込み現象により発される前記基準座標系における前記可動部への指令値を該当する関節部に対する指令値に変換し、
前記駆動ステップでは、変換して得られた関節部に対する指令値に基づいて関節部を駆動する、
ことを特徴とする請求項１８に記載のロボット装置の制御方法。
【請求項２８】
可動部として足部を含む脚を備え、
前記脚に対する基準座標系は、前記ロボット装置の体重を支持する前記脚の長さ方向と、前記足部の接地位置又は前記脚の軌道を決定するロール及びピッチ方向に座標軸を持ち、
前記位相信号発生ステップでは、前記基準座標系の座標軸毎に振動子を配設する、
ことを特徴とする請求項２７に記載のロボット装置の制御方法。
【請求項２９】
前記入力ステップでは、矢状面内運動のうちＸ方向運動を記述する振動子に対し、体幹ロール角速度に応じたフィードバック信号を入力し、
前記制御ステップによるフィードバック信号を最適化する学習ステップをさらに備える、
ことを特徴とする請求項２２に記載のロボット装置の制御方法。
【請求項３０】
前記学習ステップでは、強化学習の一手法である方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の２次元を入力とし、Ｘ方向運動を記述する振動子へのフィードバック項を学習する、
ことを特徴とする請求項２９に記載のロボット装置の制御方法。
【請求項３１】
学習に組み合わせる報酬関数を設定する報酬関数設定ステップをさらに備える、
ことを特徴とする請求項２９に記載のロボット装置の制御方法。
【請求項３２】
前記報酬関数設定ステップでは、ロボット装置に腰の高さと移動速度を反映する報酬関数を設定する、
ことを特徴とする請求項３１に記載のロボット装置の制御方法。
【請求項３３】
前記報酬関数設定ステップでは、報酬関数に消費エネルギを罰として与える、
ことを特徴とする請求項３２に記載のロボット装置の制御方法。
【請求項３４】
前記報酬関数設定ステップでは、ヨー回りの目標角速度を与え、その誤差を罰として与える、
ことを特徴とする請求項３２に記載のロボット装置の制御方法。
【請求項３５】
前記ロボット装置は可動部として体幹に取り付けられた複数の脚を含み、
所定の旋回半径からなる円弧に沿った歩行による旋回運動を実行する際に、前記位相信号発生手段は、胴体座標系のＸ方向運動を４素子型又は２素子型神経振動子で記述するとともにＺ方向運動を２素子型神経振動子で記述し、
前記制御手段は、旋回半径と直進時の基準歩幅から幾何学的に求まる各脚の歩幅に該振動子出力を乗算した値に基づいてＸ方向における基準位置に対する各脚の足先位置を決定するとともに、各脚の足先ヨー角度をＸの関数として前記円弧に沿うように決定し該足先ヨー角度に基づいてＹ方向における基準位置に対する各脚の足先位置を決定する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項３６】
前記入力手段は、前額面内運動のうちＺ方向運動を記述する振動子に対し、体幹のロール方向の傾き、又は足裏に印加される力のうち少なくとも一方に応じたフィードバック信号を入力する、
ことを特徴とする請求項３５に記載のロボット装置。
【請求項３７】
前記位相信号発生手段は、矢状面内運動のうちＸ方向運動を４素子型神経振動子で記述し、
前記入力手段は、前記４素子型神経振動子のうち一方の２素子型神経振動子にはＺ方向振動子と同じフィードバック系を導入し、他方の２素子型神経振動子には体幹のロール方向角速度に応じたフィードバック信号をフィードバックする、
ことを特徴とする請求項３５に記載のロボット装置。
【請求項３８】
ある目標地点まで移動する際に、前記制御手段は、現在の進行方向と該目標地点のなす角と目標地点までの該距離から旋回半径を決定し、該旋回半径からなる円弧に沿った歩行による旋回運動を実行して該目標地点までの移動を実現する、
ことを特徴とする請求項３５に記載のロボット装置。
【請求項３９】
前記入力手段が入力するフィードバック信号を最適化する学習を行なう学習手段をさらに備える、
ことを特徴とする請求項３５に記載のロボット装置。
【請求項４０】
前記入力手段は、矢状面内運動のうちＸ方向運動を記述する振動子φxに対し、体幹ロール角速度に応じたフィードバック信号ｇxを入力し、
前記学習手段は、強化学習の一手法である方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の２次元を入力とし、Ｘ方向運動を記述する振動子φxへのフィードバック項ｇxを学習する、
ことを特徴とする請求項３９に記載のロボット装置。
【請求項４１】
前記ロボット装置は可動部として体幹に取り付けられた複数の脚を含み、
所定の旋回半径からなる円弧に沿った歩行による旋回運動を実行する際に、前記位相信号発生ステップでは、胴体座標系のＸ方向運動を４素子型又は２素子型神経振動子で記述するとともにＺ方向運動を２素子型神経振動子で記述し、
前記制御ステップでは、旋回半径から幾何学的に求まる各脚の歩幅に該振動子出力を乗算した値に基づいてＸ方向における基準位置に対する各脚の足先位置を決定するとともに、各脚の足先ヨー角度をＸの関数として前記円弧に沿うように決定し該足先ヨー角度に基づいてＹ方向における基準位置に対する各脚の足先位置を決定する、
ことを特徴とする請求項１８に記載のロボット装置の制御方法。
【請求項４２】
前記入力ステップでは、前額面内運動のうちＺ方向運動を記述する振動子に対し、体幹のロール方向の傾き、又は足裏に印加される力のうち少なくとも一方に応じたフィードバック信号を入力する、
ことを特徴とする請求項４１に記載のロボット装置の制御方法。
【請求項４３】
前記位相信号発生ステップでは、矢状面内運動のうちＸ方向運動を４素子型神経振動子で記述し、
前記入力ステップでは、前記４素子型神経振動子のうち一方の２素子型神経振動子にはＺ方向振動子と同じフィードバック系を導入し、他方の２素子型神経振動子には体幹のロール方向角速度に応じたフィードバック信号をフィードバックする、
ことを特徴とする請求項４１に記載のロボット装置の制御方法。
【請求項４４】
ある目標地点まで移動する際に、前記制御ステップでは、現在の進行方向と該目標地点のなす角と目標地点までの該距離から旋回半径を決定し、該旋回半径からなる円弧に沿った歩行による旋回運動を実行して該目標地点までの移動を実現する、
ことを特徴とする請求項４１に記載のロボット装置の制御方法。
【請求項４５】
前記入力ステップにおいて入力するフィードバック信号を最適化する学習を行なう学習ステップをさらに備える、
ことを特徴とする請求項４１に記載のロボット装置の制御方法。
【請求項４６】
前記入力ステップでは、矢状面内運動のうちＸ方向運動を記述する振動子φxに対し、体幹ロール角速度に応じたフィードバック信号ｇxを入力し、
前記学習ステップでは、強化学習の一手法である方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の２次元を入力とし、Ｘ方向運動を記述する振動子φxへのフィードバック項ｇxを学習する、
ことを特徴とする請求項４５に記載のロボット装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脚などの複数の可動部を備えたロボット装置及びその制御方法に係り、特に、所定の安定規範に基づいて姿勢の安定性を自律的に維持するロボット装置及びその制御方法に関する。
【０００２】
さらに詳しくは、本発明は、可動部の周期運動に着目して姿勢安定制御を行なうロボット装置及びその制御方法に係り、特に、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を行なうロボット装置及びその制御方法に関する。
【背景技術】
【０００３】
最近、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。これら脚式移動ロボットは、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作を実現できるという点で優れている。
【０００４】
この種のロボットが転倒すると、実行中の作業が中断し、転倒状態から起き上がって作業を再開するために相当の労力や時間が払われる。また、転倒によって、ロボット本体自体、あるいはロボットと衝突する物体にも致命的な損傷を与える危険がある。このため、脚式移動ロボットに関する姿勢制御や安定歩行に関する技術は既に数多提案されている。
【０００５】
脚式移動ロボットの歩行運動制御技術は、例えば、モデルベースト・アプローチと非モデルベースト・アプローチに大別することができる。
【０００６】
モデルベースト・アプローチの例として、ＺＭＰ（Ｚｅｒｏ Ｍｏｍｅｎｔ Ｐｏｉｎｔ）を歩行の安定度判別の規範とする制御技術（例えば、特許文献１及び特許文献２を参照のこと）や、線形倒立振子制御（例えば、非特許文献１を参照のこと）などが挙げられる。
【０００７】
ＺＭＰ理論は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。その力学的推論の帰結として、足底接地点と路面の形成する支持多角形の内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちＺＭＰが存在する（例えば、非特許文献２を参照のこと）。目標ＺＭＰ制御では、すべての瞬間において、動的釣り合いを取るように脚部などの運動を計画する。ＺＭＰ規範に基づく２足歩行パターン生成は、足底着地点をあらかじめ設定することができ、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。
【０００８】
しかしながら、ＺＭＰ制御を始めとしたモデルベーストによる歩行運動制御を実現するためには、事前情報としてロボット各部位の重心位置や慣性モーメント、リンク長などの精緻なモデル情報が必要であり、不整地環境の歩行についても、環境の事前情報が必要となる場合が多い。また、モデル情報に基づいて設計された関節角軌道を正確に追従できるような高精度なアクチュエータが必要となる。その結果、未知の外力が印加される場合や未知の不整地を歩行する場合には、頑健性に劣ることとなる。また、高精度のアクチュエータを使用すると、装置の製造コストが増大するという問題がある。
【０００９】
例えば、ＺＭＰ規範に基づく軌道計画を立てるには、ロボット自身や環境を正確にモデリングし、運動の実現には高精度な軌道追従制御系により環境モデルと常に整合を取る必要がある。言い換えれば、未知の環境への適応性に問題がある。ＺＭＰ方程式を数学的に解くことは演算負荷が比較的高く、リアルタイム制御への適用には困難を伴うこともある。また、ＺＭＰ方程式を満たすことは、ロボットの姿勢安定制御において十分条件であって、必要条件ではない。例えば、人間の歩行などを観察すると、必ずしもすべての瞬間でＺＭＰ安定余裕が最大となるように保たれている訳ではない。
【００１０】
他方、ヒトなどの生体メカニズムでは、計画ＺＭＰ追従制御に依存しない形態で、四肢が持つ物理法則を好適に利用して、効率よく歩行動作を行なっていると言われている。ロボットも、このように物理法則をうまく利用することができれば、精緻なモデルを必要としないで（すなわち少ない演算負荷により）、アクチュエータの駆動トルクを要せず、高いエネルギ変換効率で歩行動作を実現することができると思料される。
【００１１】
最近では、モデルベーストの制御技術における上記の問題点に鑑みて、精緻な機械モデル情報や環境情報を事前に必要としない、非モデルベーストのアプローチが注目を集め始めている。その代表例として、中枢パターン生成器（ＣｅｎｔｒａｌＰａｔｔｅｒｎ Ｇｅｎｅｒａｔｏｒ：ＣＰＧ）を用いた方法が挙げられる。
【００１２】
ＣＰＧは生物の神経系に存在するリズム発生器のことであり、外部からの入力がない場合でも固有振動数で自励発振する。例えば、ラットの神経系のみを単体に取り出した場合、周期的な励起が観測される。また、大脳を除去した猫を速度の変化するトレッドミル上に置くと、その移動速度に応じて歩容を遷移させることが知られている（例えば、非特許文献３を参照のこと）。また、ＣＰＧは、環境からのフィードバック信号に対して引き込み特性（Ｅｎｔｒａｉｎｍｅｎｔ）を持つことが知られている。すなわち、ＣＰＧの固有振動数が環境に応じて自律的に調整される機能を持つ。
【００１３】
生物の神経系が持つ自励発振と引き込み特性という特長を利用して、環境変化に対して頑健な制御器を構成しようとする研究が近年盛んになっている。例えば、ロボットの可動部の少なくとも一部を、このような引き込み特性を持つ振動子として捉え、ロボットが行なう歩行やその他の運動を周期運動として扱い、この振動子の位相や振動数を決定又は制御するという形態で歩行動作を制御することができる。このような周期運動が継続することを「安定な歩行」とみなすことができる。
【００１４】
現在、神経振動子を用いた２足歩行シミュレーションに関し、幾つかの提案がなされている（例えば、非特許文献４〜６を参照のこと）。これらはいずれも、引き込み特性を持つ振動子に対し、適切なセンサ・フィードバックを行なうことで歩行を実現している。また、位相振動子による３次元２足歩行運動についても提案がなされている（例えば、非特許文献７〜８を参照のこと）。
【００１５】
本発明者らは、このような引き込み特性を用いて歩行運動などのロボットの動作制御を行なう場合には、振動子に対するフィードバック系をどのように調整するかという点に技術的課題があると思料する。非特許文献４では、生物学的知見に基づいて、手動による試行錯誤を行なっている。また、非特許文献５では、Ｇｅｎｅｔｉｃ  Ａｌｇｏｒｉｔｈｍを用いて最適化を行なっている。また、非特許文献６では、ＣＰＧ  ａｃｔｏｒ−ｃｒｉｔｉｃと名付けた強化学習の枠組みを用いている。これらはいずれもシミュレーション段階での成果を議論したものであり、実機上での動作に関して報告したものではない。
【００１６】
ほとんどのシミュレーションでは関節軸毎に回転型アクチュエータを配置し、これらをトルク制御に基づいて所望の運動を実現する。例えば、直接の制御対象である関節軸毎に振動子を配置し、環境からのフィードバック情報を用いて歩行やその他の運動を生成することが考えられる（例えば、非特許文献４を参照のこと）。
【００１７】
このようにロボット装置上に複数の振動子が配置された構成では、振動子間の位相関係をどのように調整するかが重要である、と本発明者らは思料する。前述した従来技術（非特許文献４〜６を参照）ではいずれも、振動子間の位相関係は振動子結合によりゼロ又は１８０度に固定しており、その他の位相差はセンサ・フィードバックによって調整している。しかしながら、実機上のセンサ信号はノイズや遅れを含むことから、適切な位相差を生成できるとは限らない。また、歩行開始時や歩行停止時の非定常的で過渡的なセンサ信号を利用することはできず、適切な位相差を生成できない。さらに、実機上で実装可能なセンサ数は限定されており、必要な位相差を生成するためのセンサ信号をすべて用意できるとも限らない。
【００１８】
要言すれば、センサ・フィードバックにより振動子の位相調整を行なう場合、外乱に対する耐性が低下したり、あるいはセンサそのものが実装できなかったりするという問題がある。
【００１９】
また、ヒューマノイドなどの脚式移動ロボットに期待される多様な移動機能を実現するためには、移動方向の制御が必要であることが明確であるにも拘らず、過去の研究の多くは直進運動のみを扱うものばかりである。
【００２０】
例えば、非モデルベースト制御において、ＣＰＧとして結合位相振動子を用い、脚振動子の位相の関数として脚のヨー回転を生成することによって、３次元の旋回２足歩行運動を扱うことができる（例えば、非特許文献８を参照のこと）。しかしながら、旋回半径を陽に規定できない、多くの未知パラメータを調整する必要がある、といった問題がある。
【００２１】
【特許文献１】特許第３４４３０７７号公報
【特許文献２】特許第３４４３１１６号公報
【非特許文献１】Ｓ．Ｋａｊｉｔａ，Ｆ．Ｋａｎｅｈｉｒｏ，Ｋ．Ｋａｎｅｋｏ，Ｋ．Ｆｕｊｉｗａｒａ，Ｋ．Ｙｏｋｏｉ  ａｎｄ  Ｈ．Ｈｉｒｕｋａｗａ，“Ｂｉｐｅｄ  ｗａｌｋｉｎｇ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｉｏｎ  ｂｙ  ａｓｉｍｐｌｅ  ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ  ｉｎｖｅｒｔｅｄ  ｐｅｎｄｕｌｕｍ  ｍｏｄｅｌ”（Ａｄｖａｎｃｅｄ  Ｒｏｂｏｔｉｃｓ，Ｖｏｌ．１７，Ｎｏ．２，ｐｐ．１３１−１４７，２００３）
【非特許文献２】ヴコブラトビッチ（Ｍｉｏｍｉｒ Ｖｕｋｏｂｒａｔｏｖｉｃ）著「脚式移動ロボット（ＬＥＧＧＥＤ ＬＯＣＯＭＯＴＩＯＮ ＲＯＢＯＴＳ）」（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））
【非特許文献３】Ａｖｉｓ Ｈ． Ｃｏｈｅｎ： Ｃｏｎｔｒｏｌ ｐｒｉｎｃｉｐｌｅ ｆｏｒ ｌｏｃｏｍｏｔｉｏｎ - ｌｏｏｋｉｎｇｔｏｗａｒｄ ｂｉｏｌｏｇｙ， ＡＭＡＭ ２００３
【非特許文献４】Ｇ． Ｔａｇａ， Ｙ． Ｙａｍａｇｕｃｈｉ， Ｈ． Ｓｈｉｍｉｚｕ： Ｓｅｌｆ−ｏｒｇａｎｉｚｅｄ ｃｏｎｔｒｏｌ ｏｆ ｂｉｐｅｄａｌｌｏｃｏｍｏｔｉｏｎ ｂｙ ｎｅｕｒａｌ ｏｓｃｉｌｌａｔｏｒｓ ｉｎ ｕｎｐｒｅｄｉｃｔａｂｌｅ ｅｎｖｉｒｏｎｍｅｎｔ， Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，ｖｏｌ．６５， ｐｐ．１４７−１５９（１９９１）
【非特許文献５】長谷，山崎：神経振動子と遺伝的アルゴリズムを用いた実２足歩行類似運動の生成，計測自動制御学会論文集，Ｖｏｌ．３３，Ｎｏ．５，ｐｐ．４４８−４５４（１９９７）
【非特許文献６】中村，佐藤，石井：神経振動子ネットワークを用いたリズム運動に対する強化学習法，電子情報通信学会論文誌，Ｖｏｌ．Ｊ８７−Ｄ−２，Ｎｏ．３，ｐｐ．８９３−９０２（２００４）
【非特許文献７】Ｋ．Ｔｓｕｃｈｉｙａ，Ｓ．Ａｏｉ，Ｋ．Ｔｓｕｊｉｔａ，“Ｌｏｃｏｍｏｔｉｏｎ  Ｒｏｂｏｔ  ｕｓｉｎｇ  Ｎｏｎｌｉｎｅａｒ  Ｏｓｃｉｌｌａｔｏｒｓ”（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎＩｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ（ＩＲＯＳ‘０３），ｐｐ．１７４５−１７５０（２００３））
【非特許文献８】Ｓ．Ａｏｉ，Ｋ．Ｔｓｕｃｈｉｙａ，Ｋ．Ｔｓｕｊｉｔａ，“Ｔｕｒｎｉｎｇ  Ｃｏｎｔｒｏｌ  ｏｆ  ａ  Ｂｉｐｅｄ  Ｌｏｃｏｍｏｔｉｏｎ  Ｒｏｂｏｔ  ｕｓｉｎｇ  Ｎｏｎｌｉｎｅａｒ  Ｏｓｃｉｌｌａｔｏｒｓ”（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ（ＩＣＲＡ‘０４），００．３０４３−０３４８（２００４））
【発明の開示】
【発明が解決しようとする課題】
【００２２】
本発明の目的は、可動部の周期運動に着目して姿勢安定制御を好適に行なうことができる、優れたロボット装置及びその制御方法を提供することにある。
【００２３】
本発明のさらなる目的は、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を好適に行なうことができる、優れたロボット装置及びその制御方法を提供することにある。
【００２４】
本発明のさらなる目的は、複数の振動子を配置して運動制御を行なう際の、振動子間の位相関係を好適に調整することができる、優れたロボット装置及びその制御方法を提供することにある。
【００２５】
本発明のさらなる目的は、実機上に搭載したセンサからのフィードバックのみに頼ることなく、振動子の位相調整を行ない、振動子の引き込み特性を用いて可動部の周期運動を好適に制御することができる、優れたロボット装置及びその制御方法を提供することにある。
【００２６】
本発明のさらなる目的は、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を行なうことで、円弧に沿った歩行（旋回歩行）を実現することができる、優れたロボット装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【００２７】
本発明は、上記課題を参酌してなされたものであり、複数の可動部を有するロボット装置であって、
少なくとも一部の可動部の周期運動に関する位相信号を生成する１以上の振動子からなる位相信号発生手段と、
各振動子に対し、フィードバック信号ｇを所定のフィードバック・ゲインｈを以って入力する入力手段と、
前記位相信号に基づいて前記可動部の制御信号を生成する制御手段と、
前記制御信号に従って前記可動部を駆動する駆動手段を備え、
前記位相信号発生手段を構成する少なくとも１つの振動子は、あらかじめ位相関係が９０度異なる出力ｑ0及びｑ1を持つ４素子型神経振動子を基準振動子として構成される、
ことを特徴とするロボット装置である。
【００２８】
本発明は、運動生理学・脳神経科学・計算機学習の知見を用い、脚などの可動部位の少なくとも一部を振動子として捉え、歩行やその他の動作を周期運動として扱うロボット装置に関する。
【００２９】
当該ロボット装置の制御手段は、振動子の出力する位相信号を脚などの可動部の関節の位置や角速度、角加速度、トルクといった関節指示値（制御信号）にマッピングする。そして、可動部を構成する各関節は制御信号に基づいて駆動する。可動部が操作した際の関節位置や角速度角加速度、トルクや外力、あるいはその他の環境情報がセンサによって計測されるが、入力手段は、これらのセンサ出力値に基づいてフィードバック信号を生成して、振動子に入力する。すなわち、フィードバック信号に基づいて振動子の位相や振動数を決定又は制御することでロボット装置の動作を制御するが、振動子はフィードバック信号に対し引き込み特性を持ち、その固有振動数は環境に応じて自律的に調整される。
【００３０】
例えば、ロボット装置が脚式移動ロボットである場合、歩行運動そのものを周期運動として捉え、神経振動子のようなもので周期信号を発生し、それを用いて脚部の関節アクチュエータの制御を行なう。このとき、観測される歩行運動の周期的な信号と神経振動子を干渉させることによって引き込み現象が発生し、安定な歩行運動を得ることができる。この場合、周期運動が継続することを「安定な歩行」とみなすことができる。
【００３１】
ここで、振動子に対するフィードバック系をどのように調整するかという点に技術的課題がある。また、ロボット装置上に複数の振動子が配置された構成では、協調した運動を生成するため振動子間の位相関係を調整しなければならない。例えば、２つの振動子出力間で９０度の位相差が必要であるとすると、あらかじめ９０度の位相差を持つ入力信号を各々の振動子に入力することが必要となる。
【００３２】
センサなどの検出信号から得られる外部環境を振動子に対する入力信号として扱うことができる。しかしながら、実機上で実装可能なセンサ数は限定されており、しかもノイズや遅れを含む。加えて、適切な位相関係は過渡状態では得られ難く、定常状態でなければ有効なセンサ・フィードバックが得られず、外乱に対する耐性が低い。
【００３３】
そこで、本発明では、ロボット装置における可動部の周期運動を引き込み特性により制御する振動子として、従来の２素子型神経振動子に代えて、４素子型神経振動子を適用している。４素子型神経振動子は、センサ信号に頼ることなく、構造的に９０度の位相遅れを持たせることができることから、２素子型神経振動子に比べて頑健である。
【００３４】
また、４素子型神経振動子の場合、一方の２素子型神経振動子の出力と他方の２素子型神経振動子の出力にそれぞれ重みを付けて線形結合することで、入力に対して任意の位相差を生成することができる。
【００３５】
また、４素子型神経振動子は、２素子型神経振動子と同様の引き込み特性を持つことから、センサ信号（すなわち環境情報）に基づくフィードバック信号に同期させることも可能である。また、２素子間に結合があることから、一方の振動子の周期が調節されると他方の振動子にも影響を及ぼすことにより、周期を自動調節することが可能である。
【００３６】
また、フーリエ級数展開では正弦波・余弦波の基底関数があれば任意の周期関数を表現できるということが当業界で知られている。そこで、４素子型の振動子と２素子型の振動子を用意することで、近似的にこれらの基底関数を用意することができ、これらを組み合わせることで、より広範な周期関数を表現することが可能となる。
【００３７】
また、ロボット装置が、可動部として複数の脚を含む脚式移動ロボットである場合、その直進歩行運動を前額面内運動と矢状面内運動に分解し、それぞれの運動は独立であると近似できることが当業界で知られている。そして、前額面内運動に対し２素子型神経振動子による制御を用いるとともに、矢状面内運動に対し４素子型神経振動子による制御を用いるようにしてもよい。
【００３８】
前額面内運動のうちＺ方向運動は、自重を支える運動と、遊脚のためのクリアランスをとる動きを左右の脚で交互に行なう。ここで、振動子が定常的な発振を行ない、安定した足踏み動作を継続するために、Ｚ方向の振動子φzに対し、進展反応や前庭脊髄反応を表現したフィードバック系を導入するようにしてもよい。
【００３９】
進展反応は、脚が進展されているとき、足裏に力が加わるとより強く踏み込む動作である。Ｚ方向運動を記述する振動子φzに対し、足裏に印加される力に応じたフィードバック信号を入力することにより、進展反応を実現することができる。例えば、床反力が大きくなったとき、より脚を踏み込むように動作する結果、常に床面からの体幹高さを高く保持することができる。
【００４０】
また、前庭脊髄反応とは、体幹が傾斜した場合、傾きを止める側の筋肉が進展される動作である。体幹のロール方向の傾きを振動子φzにフィードバックすることで、この反射を導入することができる。
【００４１】
一方、矢状面内の歩行運動については、足先軌道が楕円のような軌道であれば歩行が可能である。この場合、Ｚ方向の運動とは位相が９０度ずれた信号が必要であるから、そこで、矢状面内運動のうちＸ方向運動を４素子型神経振動子で記述する。例えば、一方の２素子型神経振動子にはＺ方向振動子と同じフィードバック系を導入することで足踏み運動と同期させる。また、他方の２素子型神経振動子には体幹のロール方向角速度をフィードバックする。この場合、４素子型神経振動子の構造から、Ｚ方向運動の振動子とは位相が９０度ずれたフィードバック信号を自律的に得ることができる。
【００４２】
また、多くのロボット装置は関節軸毎に回転型アクチュエータを配置していることから、直接の制御対象である関節軸毎に神経振動子を配置するという設計方法が考えられる。しかしながら、このような順動力学での振動子の配置が、振動子の振る舞いを系全体の挙動として理解することを難しくなる。
【００４３】
そこで、本発明では、制御目標である可動部に対する基準座標系を設定し、この基準座標系の座標軸毎に可動部についての振動子を記述する。この場合、振動子から基準座標系における可動部への指令値を得て、可動部に対する位置・速度・力指令を逆キネマティクス演算により関節角度・関節角速度・関節トルク指令に変換することができる。また、基準座標系における可動部位の状態量を振動子にフィードバックすることで、引き込み現象を有効に利用することができる。
【００４４】
このように基準座標系の座標軸毎に可動部についての振動子を記述する場合、ロボット装置が実現する機能に応じた振動子の配置を実現することができる。また、制御目標である可動部の作用点について振動子を記述するので、振動子の役割を直観的に理解し易い配置となり、振動子のパラメータを調節することが容易になる。そして、振動子による可動部の作用点に対する指令値を該当する関節部に対する指令値に変換することで、直接の制御対象である関節部アクチュエータの指令値を得ることができるので、ロボット装置の系全体としての力学的特性に対して有効に引き込みを行ない、振動子による引き込み現象をより有効に利用することができる。
【００４５】
基準座標系は、可動部が実現する機能毎に割り当てられた座標軸で構成することができる。例えば、ロボット装置が可動部位として足部を含む脚式移動ロボットである場合には、脚に対する基準座標系を、ロボット装置の体重を支持する脚の長さ方向と、足部の接地位置又は前記脚の軌道を決定するロール及びピッチ方向の各座標軸で構成し、基準座標系の座標軸毎に振動子が設けることができる。
【００４６】
また、神経振動子を用いた２足歩行の研究の多くは、移動方向の制御が必要であることが明確であるにも拘らず、過去の研究の多くは矢状面内の運動のみであり、直進運動を扱うものばかりである。３次元の旋回２足歩行運動を扱うシステムであっても、旋回半径を陽に規定できない、多くのパラメータを調整する必要があるなどの問題がある。
【００４７】
これに対し、本発明に係るロボット装置では、引き込み特性を持つ振動子をタスクに応じた作業座標系方向に配置して周期的な歩行運動の制御を行なうが、歩幅と旋回半径が規定されたときに、幾何学的拘束条件を考慮して脚のヨー回転とｙ軸位置を定めることによって、歩幅と旋回半径より求められる幾何学的な関係から円弧に沿った旋回歩行を実現することができる。
【００４８】
このように振動子の引き込み特性を利用して旋回運動が可能となる場合、制御手段は、目標点に向かって到達するように旋回半径を規定することで、目標点への到達運動を実現することができる。また、最終的な目的地に至る途中で複数の目標点を順次設定して各目標点間の歩行を旋回運動で実現し、これらの旋回運動を接続することで複雑な歩行経路を指定して、曲線的な経路に沿った歩行運動を行なうこともできる。
【００４９】
ここで、ロボット装置から得られるセンサ信号から振動子への入力信号にマッピングする際、学習を行なうことでマッピングの最適化を行なうことができる。上述したように可動部の周期運動を引き込み特性により制御する振動子として、任意の位相に調整可能となる４素子型の神経振動子を用いる場合、あらかじめ適切な位相差を振動子結合として導入することによって、学習の収束性を高めることができるとともに、さらに報酬関数の設定により多様な運動を生成することができる。
【００５０】
例えば、脚式移動ロボットを前額面内運動と矢状面内運動に分離して考えた場合、上述したように、ロール軸及びヨー軸で構成されるＸＺ平面で見ると、足先軌道は楕円のような軌道であれば歩行が可能であり、Ｘ方向運動を記述する振動に対し、Ｚ方向の運動とは位相が９０度ずれたフィードバック信号を与えればよい。しかしながら、これは直観的に求めたものであり、最適とは限らない。そこで、４素子型神経振動子を用いた歩行制御と機械学習の一手法である強化学習とを組み合わせることで、歩行運動の最適化を図ることができる。
【００５１】
この強化学習手段は、例えば方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の２次元を入力とし、Ｘ方向運動を記述する振動子へのフィードバック項を学習することができる。
【００５２】
多自由度のロボットの挙動を２次元の状態量に集約していることから、通常の学習の枠組みでは収束させることは一般に難しいと考えられる。これに対し、方策勾配法によれば、このような部分観測マルコフ決定過程問題も扱うことができることが当業界で知られている。
【００５３】
また、強化学習の報酬関数を設計することで、抽象的な高次レベルでのフィードバック項の最適化が可能であり、多様な歩行運動を生成することが可能である。
【００５４】
例えば、ロボット装置に腰の高さと移動速度を反映する報酬関数を設定する。ここで、報酬関数に消費エネルギを罰として与えることによって、より移動効率の高い歩行を得ることができる。また、ヨー回りの目標角速度を与え、その誤差を罰として与えることによって、旋回するための歩行運動を得ることができる。
【発明の効果】
【００５５】
本発明によれば、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を好適に行なうことができる、優れたロボット装置及びその制御方法を提供することができる。
【００５６】
本発明に係るロボット装置は、複数の振動子を配置して運動制御を行なう際の、振動子間の位相関係を好適に調整することができる。振動子を用いたロボットの運動制御は、非モデルベーストの制御技術であり、振動子が持つ引き込み特性により、ロボット自身のモデル変化に対して堅牢である。また振動子の引き込み特性により、ロボット装置にペイロードが加わった場合であっても歩行が可能である。
【００５７】
また、本発明に係るロボット装置は、実機上に搭載したセンサからのフィードバックのみに頼ることなく、振動子の位相調整を行ない、振動子の引き込み特性を用いて可動部の周期運動を好適に制御することができる。
【００５８】
本発明に係るロボット装置は、可動部の周期運動の制御に引き込み特性を利用するために、４素子型の神経振動子を基準振動子として用いている。４素子型の振動子は９０度位相差のある信号を出力する構造を備えている。したがって、９０度異なる振動子の出力が必要となる局面においては、センサ・フィードバックを用いることなく所望の位相関係を調整することができ、堅牢な制御システムを構築することができる。
【００５９】
また、４素子型の神経振動子が出力する９０度位相差のある信号からＳＩＮ波及びＣＯＳ波を得ることができる。任意の周期関数はフーリエ級数展開することにより、ＳＩＮ波及びＣＯＳ波と近似可能な波形を用いて記述することが可能であることから、可動部のさまざまな周期運動を引き込み特性により制御することが可能となる。
【００６０】
また、４素子型の神経振動子は、９０度位相差のある出力信号を持つことから、例えば方策勾配法などの強化学習を行なうことにより、振動子へのフィードバック項を最適化することができる。
【００６１】
また、４素子型の神経振動子は、必要な位相差を振動子結合によりあらかじめ陽に導入できることから、安定な歩行パターンを生成し易い。例えば、方策勾配法などの強化学習と組み合わせて、振動子へのフィードバック項を最適化することができる。
【００６２】
また、本発明によれば、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を行なうことで、歩幅と旋回半径より求められる幾何学的な関係から円弧に沿った歩行（旋回歩行）を実現することができる、優れたロボット装置及びその制御方法を提供することができる。
【００６３】
本発明によれば、詳細なモデル情報を必要とせずに旋回歩行を実現することができ、振動子の引き込み特性を用いることで外乱に対して堅牢な歩行制御を行なうことができる。
【００６４】
また、本発明によれば、旋回半径を陽に規定することが可能であり、経路計画を簡単化することができる。勿論、旋回半径が歩行とともに変化する場合であっても、追従が可能である。
【００６５】
ロボット装置は、旋回歩行を利用することで、さまざまな目標点に到達する歩行を行なうことができる。また、目標到達点を系列的に与えていくことで、歩行経路を指定することも可能である。さらに、障害物回避など、高次の指令に従った歩容も可能となる。
【００６６】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００６７】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００６８】
Ａ．ロボット装置の構成
図１及び図２には本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット１００は、胴体部と、頭部と、左右の上肢部と、脚式移動を行なう左右２足の下肢部とで構成され、例えば胴体に内蔵されている制御部（図示しない）により機体の動作を統括的にコントロールするようになっている。
【００６９】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【００７０】
制御部は、この脚式移動ロボット１００を構成する各関節アクチュエータの駆動制御や各センサ（後述）などからの外部入力を処理するコントローラ（主制御部）や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【００７１】
このように構成された脚式移動ロボット１００は、制御部による全身協調的な動作制御により、２足歩行を実現することができる。かかる２足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
【００７２】
（１）右脚を持ち上げた、左脚による単脚支持期
（２）右足が接地した両脚支持期
（３）左脚を持ち上げた、右脚による単脚支持期
（４）左足が接地した両脚支持期
【００７３】
脚式移動ロボット１００における歩行制御は、例えばＺＭＰを安定度判別規範として、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行なうことによっても実現される。この場合、両脚支持期では、下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。
【００７４】
あるいは、後に詳解するように、脚式移動ロボット１００の左右の脚部など、全身の可動部のうち少なくとも一部を、周期的運動を繰り返す振動子として捉えることができる。この場合、センサ出力などに基づいて得られる内部状態と外部環境に応じて振動子の位相を数学的操作により発生させて、機体の周期安定性を実現するとともに、未知の外乱に適応的に対応することができる。
【００７５】
図３には、この脚式移動ロボット１００が具備する関節自由度構成を模式的に示している。同図に示すように、脚式移動ロボット１００は、２本の腕部と頭部を含む上肢と、移動動作を実現する２本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成された、複数の肢を備えた構造体である。
【００７６】
頭部を支持する首関節（Ｎｅｃｋ）は、首関節ヨー軸１と、第１及び第２の首関節ピッチ軸２ａ及び２ｂと、首関節ロール軸３という３自由度を有している。
【００７７】
また、各腕部は、その自由度として、肩（Ｓｈｏｕｌｄｅｒ）における肩関節ピッチ軸４と、肩関節ロール軸５と、上腕ヨー軸６、肘（Ｅｌｂｏｗ）における肘関節ピッチ軸７と、手首（Ｗｒｉｓｔ）における手首関節ヨー軸８と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
【００７８】
また、体幹部（Ｔｒｕｎｋ）は、体幹ピッチ軸９と、体幹ロール軸１０という２自由度を有する。
【００７９】
また、下肢を構成する各々の脚部は、股関節（Ｈｉｐ）における股関節ヨー軸１１と、股関節ピッチ軸１２と、股関節ロール軸１３と、膝（Ｋｎｅｅ）における膝関節ピッチ軸１４と、足首（Ａｎｋｌｅ）における足首関節ピッチ軸１５と、足首関節ロール軸１６と、足部とで構成される。
【００８０】
但し、エンターティンメント向けの脚式移動ロボット１００が上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計若しくは製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【００８１】
図４には、脚式移動ロボット１００の制御システム構成を模式的に示している。同図に示すように、脚式移動ロボット１００は、ヒトの四肢を表現した各機構ユニット３０、４０、５０Ｒ／Ｌ、６０Ｒ／Ｌと、各機構ユニット間の協調動作を実現するための適応制御を行なう制御ユニット８０とで構成される（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下同様）。
【００８２】
脚式移動ロボット１００全体の動作は、制御ユニット８０によって統括的に制御される。制御ユニット８０は、ＣＰＵ（Ｃｅｎｔｒａｌ ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ）やメモリなどの主要回路コンポーネント（図示しない）で構成される主制御部８１と、電源回路やロボット１００の各構成要素とのデータやコマンドの授受を行なうインターフェース（いずれも図示しない）などを含んだ周辺回路８２とで構成される。
【００８３】
ここで言う周辺回路８２は、機体に搭載される周辺機器類の他、ケーブルや無線を通して接続される外付けの周辺機器、充電ステーション（図示しない）やその他の周辺機器を接続するためのインターフェース・コネクタなどを含むものとする。
【００８４】
図３に示した脚式移動ロボット１００は、関節軸毎に回転型アクチュエータを配置し、これらの位置制御に基づいて所望の装置運動を実現する。
【００８５】
頭部ユニット３０には、首関節ヨー軸１、首関節ピッチ軸２、首関節ロール軸３の各々の自由度を実現する首関節ヨー軸アクチュエータＡ1、首関節ピッチ軸アクチュエータＡ2、首関節ロール軸アクチュエータＡ3が配設されている。
【００８６】
また、体幹部ユニット４０には、体幹ピッチ軸９、体幹ロール軸１０の各々の自由度を実現する体幹ピッチ軸アクチュエータＡ9、体幹ロール軸アクチュエータＡ10が配置されている。
【００８７】
また、腕部ユニット５０Ｒ／Ｌは、上腕ユニット５１Ｒ／Ｌと、肘関節ユニット５２Ｒ／Ｌと、前腕ユニット５３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸４、肩関節ロール軸５、上腕ヨー軸６、肘関節ピッチ軸７、手首関節ヨー軸８の各々の自由度を実現する肩関節ピッチ軸アクチュエータＡ4、肩関節ロール軸アクチュエータＡ5、上腕ヨー軸アクチュエータＡ6、肘関節ピッチ軸アクチュエータＡ7、手首関節ヨー軸アクチュエータＡ8が配置されている。
【００８８】
また、脚部ユニット６０Ｒ／Ｌは、大腿部ユニット６１Ｒ／Ｌと、膝ユニット６２Ｒ／Ｌと、脛部ユニット６３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１、股関節ピッチ軸１２、股関節ロール軸１３、膝関節ピッチ軸１４、足首関節ピッチ軸１５、足首関節ロール軸１６の各々の自由度を実現する股関節ヨー軸アクチュエータＡ11、股関節ピッチ軸アクチュエータＡ12、股関節ロール軸アクチュエータＡ13、膝関節ピッチ軸アクチュエータＡ14、足首関節ピッチ軸アクチュエータＡ15、足首関節ロール軸アクチュエータＡ16が配置されている。
【００８９】
頭部ユニット３０、体幹部ユニット４０、腕部ユニット５０、各脚部ユニット６０などの機構ユニット毎に、アクチュエータ駆動制御用の副制御部３５、４５、５５、並びに６５がそれぞれ配置されている。
【００９０】
体幹部４０には、加速度センサ９５と姿勢センサ９６が配設されている。また、左右の脚部の足底６０Ｒ及び６０Ｌには、１以上の接地確認センサ９１及び９２と、加速度センサ９３及び９４がそれぞれ配設されている。また、手先やその他のエンド・エフェクタとなる部位に接触確認（若しくは感圧）センサを配置したりする（図示しない）。接地確認センサ９１及び９２は、例えば足底に圧力センサを装着することにより構成され、床反力の有無により足底が着床したか否かを検出することができる。
【００９１】
これらのセンサ出力値を環境情報に用いて、振動子へのフィードバック項を生成することができる。例えば、接地確認センサ９１及び９２に出力に基づいて、例えば両脚支持期、単脚支持期の判定や、さらには振動子としての可動脚の位相φや角周波数ωを推定することができる。
【００９２】
主制御部８０は、各センサ９１〜９３の出力に基づいて、ロボット１００の内部状態や外部環境に応じた姿勢安定制御を行なう。より具体的には、副制御部３５、４５、５５、６５の各々に対して適応的な制御を行ない、脚式移動ロボット１００の上肢、体幹、及び下肢が協調して駆動する。歩行運動中に脚など可動部位の少なくとも一部において周期運動を抽出して、内部状態や外部環境に応じてその位相信号を発生し、この位相信号に基づいて可動部の駆動制御を行なうことにより、姿勢安定制御を行なうことができる。
【００９３】
Ｂ．振動子を用いたロボット装置の運動制御
ＺＭＰ規範に基づくロボット装置の運動制御方法は、制御工学的手法に基づく簡単化を施した後、解析的に解を求めることが可能であり、汎用性が非常に高い。その反面、ロボット装置及び外部環境とも精緻なモデル化を必要とし、その結果、実際のハードウェアに対する要求精度は非常に高くなる。また、数学的に導出される運動は、見かけの上でも人間の歩行様式とは異なるものとなる。
【００９４】
一方、ヒトを始めとする脚式歩行の生体メカニズムでは、現在実現されているＺＭＰ規範の軌道とは異なる形態で、四肢が持つ物理法則を好適に利用し、自然な歩行動作を行なっている。ロボット装置も、このような物理法則を有効に利用することで、精緻なモデルを必要とせず（すなわち低い計算コストで）、より低いアクチュエータの駆動トルクで、且つ高いエネルギ変換効率で、歩行動作を実現することができると思料される。
【００９５】
本発明者らは、以上の問題意識から、運動生理学、脳神経科学、計算機学習の知見を用いて「より人間に近い歩行制御法」について開示する。すなわち、ロボット装置における脚などの可動部位の少なくとも一部を振動子として捉え、歩行やその他の動作を周期運動として扱い、この振動子の位相や振動数を決定又は制御するという形態で歩行動作を制御する。この場合、周期運動が継続することを、ロボット装置の「安定な歩行」とみなすことができる。
【００９６】
振動子を用いたロボット装置の運動制御の原理について、図５及び図６を参照しながら説明する。
【００９７】
ロボット装置全体、あるいは脚部や腕部、腰部、頭部など可動部位の動作は、周期的な運動を行なう振動子として記述される。この振動子は、図５に示すように、定常的に自励発振を行なう。ここで、外部環境の変化などによるフィードバック信号が入力として与えられると、振動子の振幅や周期、位相などが一時的に乱れるものの、やがて図６に示すように、入力信号に対し位相差が固定された発振を行なう出力信号を得ることができる。
【００９８】
このように、入出力間で位相関係が固定されることを、引き込み現象（Ｅｎｔｒａｉｎｍｅｎｔ）と呼ぶ。振動子を用いたロボット装置の運動制御においては、外部環境からの信号を用いて引き込み現象を有効に利用し、自律的に調整された振動子の出力位相情報φに基づいて、ロボット装置又はその一部の可動部位に対する制御量Ｕを得ることができる。
【００９９】
図３５には、振動子が持つ引き込み特性を利用したロボットの制御システムの基本的構成を示している。図示のシステムは、神経振動子に基づいて指令値を生成するＣＰＧ制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
【０１００】
ＣＰＧ制御部は、神経振動子と、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
【０１０１】
神経振動子は、生物の神経系に存在すると言われるリズム発生器に相当する振動子であり、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、ｑiを出力する。
【０１０２】
胴体座標系足先軌道生成部は、神経振動子の出力ｑiを、直交胴体座標系から見た足先軌道へ変換（マッピング）する。ここで言う足先軌道としては、位置や速度、力軌道などが考えられるが、以下の説明では位置軌道を扱うことにする。
【０１０３】
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
【０１０４】
実ロボットは、おおまかに言えば、ＣＰＧ制御部による制御対象として運動を実現するアクチュエータと、運動実行時における物理環境との相互作用を観測するセンサで構成される。
【０１０５】
神経振動子フィードバック信号生成部は、実ロボットのセンサから入力される観測値に基づいて、神経振動子へのフィードバック信号ｈiｇiを生成する。ここで、ｈiはフィードバック信号ｇiに対するゲインであり、ｈiｇiはＣＰＧ制御部内の神経振動子への入力信号となる。神経振動子が持つ引き込み特性により、ｑiの発振周波数はｇiの発振周波数と同期し、その位相関係は一定値に固定される。すなわち、フィードバック信号に基づいて神経振動子の位相や振動数を決定又は制御することでロボット装置の動作を制御するが、神経振動子はフィードバック信号に対し引き込み現象を持ち、その固有振動数は環境に応じて自律的に調整される。
【０１０６】
このようにして、神経振動子は、ロボットのダイナミクスに応じた発振を続けることになり、環境に自律的に適応する枠組みとなる。
【０１０７】
なお、実ロボットのセンサから入力される観測値を、どのように神経振動子への適切なフィードバック信号に変換（マッピング）するかという問題がある。学習を用いることで最適化を図るという解決方法があるが、この点の詳細については後述に譲る。
【０１０８】
Ｃ．振動子の構成
引き込み特性を持つ振動子としては、工学的には、検波回路などに用いられるＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）回路などが挙げられる。その他の例として、非線形振動子や位相振動子を挙げることができる。あるいは、非線形微分方程式により記述される神経振動子である松岡オシレータを振動子に用いることもできる。
【０１０９】
なお、松岡オシレータに関しては、例えば、Ｍａｔｓｕｏｋａ， Ｋ．著“Ｓｕｓｔａｉｎｅｄ ｏｓｃｉｌｌａｔｉｏｎｓ ｇｅｎｅｒａｔｅｄ ｂｙｍｕｔｕａｌｌｙ ｉｎｈｉｂｉｔｉｎｇ ｎｅｕｒｏｎｓ ｗｉｔｈ ａｄａｐｔｉｏｎ”（Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，５２，ｐｐ．３４５−３５３（１９８５））に記載されている。但し、同文献では発振を継続する条件とその波形が例示されているだけであり、脚式移動ロボットの歩行運動などの可動部の周期運動における振動子の位相調整に適用したものではない。
【０１１０】
以下では、生物神経系の相互抑制による自励発振を定式化した、松岡オシレータを、脚式移動ロボットの歩行運動に適用する場合について検討する。
【０１１１】
図７には、神経振動子の構成例を示している。歩行運動の生成には、一般に２素子型の神経振動子が用いられている。この種の振動子は、以下のように記述される。
【０１１２】
【数１】
2006289602.tif 000003
【０１１３】
ここでｕ0、ｕ1、ｖ0、ｖ1は内部変数であり、τ0とτ1は時定数、ｃは定常入力、βは疲労係数、γ01とγ10は素子間結合の重みである。また、ｇjは神経振動子に対するフィードバック信号、ｈjはフィードバック・ゲインであり、ｑ1は神経振動子の出力信号である。２つのニューロンが相互抑制結合することで、フィードバック信号なしでも振動子の出力は自励発振する。このとき、出力の振動数と波形は時定数τ0、τ1、振幅は定常入力ｃにより調節可能であることが数値的に示されている（例えば、Ｍ．Ｗｉｌｌｉａｍｓｏｎ著“ＮｅｕｒａｌＣｏｎｔｒｏｌ ｏｆ Ｒｈｙｔｈｍｉｃ Ａｒｍ Ｍｏｖｅｍｅｎｔｓ”（Ｎｅｕｒａｌ Ｎｅｔｗｏｒｋｓ，Ｖｏｌ．１１，ｉｓｓｕｅｓ ７−８，ｐｐ．１３７９−１３９４（１９９８）を参照のこと）。
【０１１４】
図８には、振動子における入力信号と出力信号の関係を示している。但し、入力信号を点線で、出力信号を実線でそれぞれ描いている。図示のように、出力信号が入力信号に引き込まれていく、すなわち一定の位相差が保たれていく様子が分かる。
【０１１５】
十分な振幅で、振動子の固有振動数に近い信号が入力されるとき、引き込み現象によりその入出力間の位相が一定値に固定される。したがって、ロボット装置の状態を記述する神経振動子に対して適切なフィードバック信号ｇj並びにフィードバック・ゲインｈjで入力することで、環境との相互作用に応じた堅牢な制御系を構築することができる（例えば、Ｇ．Ｔａｇａ著“Ａｍｏｄｅｌ ｏｆ ｔｈｅ ｎｅｕｒｏ−ｍｕｓｃｕｌｏ−ｓｋｅｌｅｔａｌ ｓｙｓｔｅｍ ｆｏｒ ｈｕｍａｎ ｌｏｃｏｍｏｔｉｏｎ Ｉ”（Ｅｍｅｒｇｅｎｃｅ ｏｆｂａｓｉｃ ｇａｉｔ，Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，ｖｏｌ．７３，ｐｐ．９７−１１１（１９９５））、並びに、Ｈ．Ｋｉｍｕｒａ、Ｙ．Ｆｕｋｕｏｋａ、Ｔ．Ｍｉｍｕｒａ共著“ＤｙｎａｍｉｃｓＢａｓｅｄ Ｉｎｔｅｇｒａｔｉｏｎ ｏｆ Ｍｏｔｉｏｎ Ａｄａｐｔａｔｉｏｎ ｆｏｒ ａ Ｑｕａｄｒｕｐｅｄ Ｒｏｂｏｔ”（Ｐｒｏｃ．ｏｆ ２ｎｄ ＩｎｔｅｒｎａｔｉｏｎａｌＳｙｍｐｏｓｉｕｍ ｏｎ Ａｄａｐｔｉｖｅ Ｍｏｔｉｏｎ ｏｆ Ａｎｉｍａｌｓ ａｎｄ Ｍａｃｈｉｎｅｓ，ＴｈＰ−Ｉ−２（２００３））を参照のこと）。本実施形態において使用する振動子パラメータを以下に示しておく。
【０１１６】
【数２】
2006289602.tif 000004
【０１１７】
例えば、歩行運動そのものを周期運動として捉え、神経振動子のようなもので周期信号を発生し、それを用いて脚部の関節アクチュエータの制御を行なう。このとき、観測される歩行運動の周期的な信号と神経振動子を干渉させることによって引き込み現象が発生し、安定な歩行運動を得ることができる。
【０１１８】
ここで、振動子に対するフィードバック系をどのように調整するかという点に技術的課題がある。また、ロボット装置上に複数の振動子が配置された構成では、振動子間の位相関係を調整しなければならない。振動子に対する入力信号としては、センサなどの検出信号から得られる外部環境を扱うことができる（非特許文献４〜６を参照）。しかしながら、実機上で実装可能なセンサ数は限定されており、しかもノイズや遅れを含む。また、過渡状態においては望ましい位相関係が得られない場合も多く、その結果、定常状態でなければ有効なセンサ・フィードバックが得られず、外乱に対する耐性が低い。振動子の位相調整に関しては後述に譲る。
【０１１９】
Ｄ．振動子の配置
図３及び図４に示したように、本実施形態に係るロボット装置は関節軸毎に回転型アクチュエータを配置し、これらの位置制御に基づいて所望の装置運動を実現するので、直接の制御対象である関節軸毎に振動子を配置することが考えられる。例えば、６自由度の脚に対し関節毎に振動子を定義することもできる。
【０１２０】
ところが、このような順動力学での振動子の配置が、振動子の振る舞いを系全体の挙動として理解することを難しくする、という問題がある。すなわち、個々の関節角の動作が作用点としての足部の挙動（接地点や歩幅など）にどれだけ寄与するのか、判りにくい。
【０１２１】
このような振動子の配置方法は、ロボット工学的には、順運動学的な配置となり、各振動子の指令は非常に複雑なものとなる。例えば、歩行型ロボットの重心高さを制御する、あるいは脚の接地位置を制御するような特定のタスクを実行する場合、振動子が出力すべき指令は制御目標（すなわち重心高さや接地位置）と座標系が相違するため、振動子特性の設計が直観的に理解し難く、実現が困難である。このため、フィードバック経路が非常に複雑になり、試行錯誤的に多大な時間を要してしまう。
【０１２２】
そこで、本実施形態では、逆キネマティクスを導入した振動子の配置を行なうようにしている。制御目標である可動部位に対する基準座標系を設定し、この基準座標系の座標軸毎に可動部位についての振動子を記述する。この場合、振動子の可動部位の状態量に対する引き込み現象により、外乱に対して十分な耐性を持たせることができると同時に、基準座標系における可動部位への指令値を得ることができる。そして、可動部位に対する位置指令を逆キネマティクス演算により、関節角度指令に変換することができる。図３５に示した例では、胴体座標系を設定し、神経振動子の出力ｑiを当該座標系の足先軌道にマッピングし、さらに逆キネマティクス演算により脚部の各関節指令値を算出している。
【０１２３】
基準座標系の座標軸毎に可動部位についての振動子を記述するので、ロボット装置が実現する機能に応じた振動子の配置を実現することができる。また、制御目標である可動部位の作用点について振動子を記述するので、振動子の役割を直観的に理解し易い配置となり、振動子のパラメータ調節が容易になる。そして、振動子による可動部位に対する指令値を該当する関節部に対する指令値に変換することで、直接の制御対象である関節部アクチュエータの指令値を得ることができる。したがって、ロボット装置の系全体の力学的特性にも有効に引き込みを行ない、振動子による引き込み現象をより有効に利用することができる。
【０１２４】
図９には、ＸＹＺ直交座標系により基準座標系が構成され、その軸に沿って振動子を配置した例を示している。すなわち、ロボット装置の自重を支持する動作はＺ方向であり、歩を進めるための動作はＸ方向、左右のバランスを保つための腰揺動はＹ方向であると機能的に分解することができる。そして、ＸＹＺの各方向に振動子φx、φy、φzをそれぞれ配置し、対称性を考慮して左右の脚で合計３個の振動子を使用する。足先姿勢に関しても、同様に基準座標系で考えることができる。
【０１２５】
ここで、図９に示した振動子の配置構成をした脚を用いた定常直進歩行について考察する。但し、説明の簡単化のため、足先姿勢は基準姿勢のままであるとする。
【０１２６】
絶対空間上に座標系Ｒworldを設定する。また、ロボットに固定された座標系Ｒbodyを設定する。ここでは、図１０に示すように原点と座標軸をとる。絶対座標系Ｒworldから見たロボット座標系Ｒbodyの原点位置を姿勢を以下のように表す。
【０１２７】
【数３】
2006289602.tif 000005
【０１２８】
この場合、ロボット装置に固定された座標系Ｒbodyから見た左右の足先位置（ｘ， ｙ，ｚ）、並びに姿勢（ｒｏｌｌ，ｐｉｔｃｈ，ｙａｗ）をそれぞれ以下のように表す。但し、記号Ｌは左、Ｒは右を意味する。
【０１２９】
【数４】
2006289602.tif 000006
【０１３０】
これら足先位置が与えられたとき、逆キネマティクス演算を用いて関節角を算出することができる。
【０１３１】
ＸＺ平面は「矢状面（Ｓａｇｉｔｔａｌ Ｐｌａｎｅ）」であり、ＹＺ平面は「前額面（Ｌａｔｅｒａｌ Ｐｌａｎｅ）」である。本明細書では、Ｘ軸正方向に進むことを前進、Ｘ軸負方向に進むことを後進と呼ぶことにする。
【０１３２】
Ｅ．４素子型神経振動子
歩行運動の生成には、図７に示したように、２素子型の神経振動子が一般に用いられている。このタイプの神経振動子の場合、正弦波（ｓｉｎφ）を入力すると僅かに遅れを伴った正弦波が出力され、余弦波（ｃｏｓφ）を入力すると僅かに遅れを伴った余弦波がそのまま出力される。すなわち、定常状態において、入出力間の位相差は一般にさほど大きく取れず、その位相関係も恣意的に可変することはできない。図１１には、２素子型神経振動子に時刻２．６秒で正弦波入力した場合の出力の時系列変化を示している。入力に対してわずかな位相遅れを以って出力が引き込まれ、周期も調整されていることが理解できよう。
【０１３３】
ここで、所定の位相関係を持つ２つの神経振動子がロボット装置に配置されている場合について考察してみる。これら振動子がともに図７に示した２素子型神経振動子で構成されている場合、位相関係を恣意的に調整することはできない。このため、例えば２つの振動子出力間で９０度の位相差が必要であるとすると、あらかじめ９０度の位相差を持つ入力信号を各々の振動子に入力することが必要となる（図１２を参照のこと）。（振動子出力間で９０度の位相差が必要となるケースについては後に詳解する。）
【０１３４】
従来、振動子間でゼロあるいは１８０度以外の所定の位相関係を得るためには、センサ・フィードバックによって調整している（非特許文献４〜６を参照）。しかしながら、必ずしも９０度ずれた入力信号が常にセンサから得られるとは限らない。また、これら２つの振動子の間には何の結合もなく、たとえ一方の振動子の周期が調整されたとしても、他方には影響を及ぼさない。また、センサ出力にはノイズや遅れを含むことから、定常状態でなければ有効なセンサ・フィードバックが得られず、外乱に対する耐性が低い。また、実機上で実装可能なセンサ数は限定されていることから、センサ・フィードバックを利用できない場合もある。さらに、試行錯誤的な学習によるフィードバック項の最適化を行なう場合、外乱に対する耐性が低く定常状態を得難いことから、学習に要する試行回数が増大するという問題もある。
【０１３５】
そこで、本発明者らは、ロボット装置における可動部の周期運動を引き込み特性により制御する振動子として、従来の２素子型神経振動子に代えて、４素子型神経振動子を適用することを提案する。
【０１３６】
図１３には、４素子型神経振動子の構成を示している。これは、２素子型神経振動子を直交させて組み合わせ、環状に一方向の抑制結合を導入した構造であり、神経素子の組み（０−１）と（２−３）の各々の出力は９０度の位相遅れを持った振動となる。この種の振動子は、以下のように記述される。
【０１３７】
【数５】
2006289602.tif 000007
【０１３８】
ここで、ｕ0、ｕ1、ｕ2、ｕ3、ｖ0、ｖ1、ｖ2、ｖ3は内部変数、τ0、τ1、τ2、τ3は時定数（＞０）、ｃは定常入力（＞０）、βは疲労係数（＞０）、γ23、γ32、γ01、γ10、γ02、γ30、γ13、γ21は素子間結合の重み（＞０）、ｇj及びｇkはフィードバック信号、ｈj及びｈkはフィードバック・ゲイン、ｑ1及びｑ2はそれぞれの神経振動子からの出力である。
【０１３９】
図１４には、４素子型神経振動子の出力波形を示している。同図から分かるように、４素子型神経振動子は、センサ信号に頼ることなく、２つの振動子出力ｑ1及びｑ2に対し構造的に９０度の位相遅れを持たせることができる。したがって、あらかじめ９０度の位相差を持つ入力信号を各々の振動子に入力することが必要となる運動の制御を行なう場合、４素子型神経振動子は２素子型神経振動子に比べて頑健である。
【０１４０】
また、４素子型神経振動子の場合、振動子（０−１）の出力ｑ1と振動子（２−３）の出力ｑ2にそれぞれ重みを付けて線形結合することで、入力に対して任意の位相差を生成することができる。さらに、引き込み特性も２素子型と同様に持つことからセンサ信号に同期させることも可能である。また、２素子間に結合があることから、一方の周期が調節されると他方にも影響を及ぼすことにより、周期を自動調節することが可能である。
【０１４１】
フーリエ級数展開では正弦波と余弦波の基底関数があれば任意の周期関数を表現できるということが当業界で知られている。したがって、４素子型の振動子と２素子型の振動子を用意することで、近似的にこれらの基底関数を用意することができ、これらを組み合わせることで、より広範な周期関数を表現することが可能となる。
【０１４２】
位相調節可能な振動子として４素子型の神経振動子が既に提案されている（例えば、宮腰清一、多賀厳太郎、國吉康夫共著「神経振動子のパラメータ自動調節機構」（第５回ロボティクスシンポジア予稿集、シーパル須磨（神戸）、ロボティクスシンポジア運営委員会、ｐｐ．３０１−３０６、２０００年）を参照のこと）。しかしながら、これは振り子の励振問題に４素子型神経振動子を適用したものであり、脚式移動ロボットの歩行運動などの可動部の周期運動における振動子の位相調整に適用したものではない。
【０１４３】
これに対し、本発明では、可動部の周期運動を引き込み特性により制御する振動子として、任意の位相に調整可能となる４素子型の神経振動子を用いている。４素子型の神経振動子を用いたロボットの運動制御では、神経振動子に対するフィードバック項を学習により最適化する際、その学習の収束性を高めることができ、さらに報酬関数の設定により多様な運動を生成することができる。強化学習については後に詳解する。
【０１４４】
Ｆ．振動子を用いた２足歩行運動
本実施形態に係るロボット装置は、左右の可動脚を備え、２足歩行を行なう。かかる２足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
【０１４５】
（１）右脚を持ち上げた、左脚による単脚支持期
（２）右足が接地した両脚支持期
（３）左脚を持ち上げた、右脚による単脚支持期
（４）左足が接地した両脚支持期
【０１４６】
要するに、歩行運動は、離散的な接地と支持脚と遊脚の切り替えを周期的に繰り返すことにより実現される。
【０１４７】
本実施形態では、基準座標系の座標軸毎に可動部位についての振動子を記述するようにしている。この場合、振動子の可動部位の状態量に対する引き込み現象により、外乱に対して十分な耐性を持つ、基準座標系における可動部位への指令値を得ることができる。このような可動部位に対する位置指令を逆キネマティクス演算により関節角度指令に変換することができる。また、４素子型の振動子と２素子型の振動子を用意することで、近似的にフーリエ級数展開における基底関数を用意することができ、これらを組み合わせることで、より広範な周期関数を表現することが可能となる。図１５には、脚式移動ロボットの下肢の座標系と振動子の配置を示している。
【０１４８】
歩行運動を矢状面と前額面に分解して検討することは広く一般に用いられる考え方である。以下では、まず始めに、前後進を伴わないその場足踏み、すなわち前額面内での運動にのみ着目する。これに続いて、矢状面内での運動を考え、前後進を伴う歩行運動について述べる。
【０１４９】
Ｆ−１．前額面内の足踏み運動
前額面（ＹＺ平面）内運動を、さらにＺ方向とＹ方向と独立に分解して考える。Ｚ方向運動は、自重を支える運動と、遊脚のためのクリアランスをとる動きを左右の脚で交互に行なう。足踏み運動は左右対称動作と仮定し、左右で符号反転させた振動子出力に基づいて、左右それぞれの脚への位置指令ＰL_z及びＰR_zを求める。
【０１５０】
ここで、Ｚ方向に沿って配置した振動子φzの出力をｑzとおき、Ｚ方向初期基準位置をＺ0とおく。下式のように、脚Ｚ位置を駆動すれば足踏み運動を生成することができる（図１６を参照のこと）。
【０１５１】
【数６】
2006289602.tif 000008
【０１５２】
しかしながら、ロボットの固有振動数と振動子の固有振動数が近い場合、共振により定常的な振動は継続できず、外乱にも弱い。また、振動子の固有振動数が小さい場合、脚を遊脚化できない。そこで、本実施形態では、振動子が定常的な発振を行ない、安定した足踏み動作を継続するため、振動子φzに対し、以下のようなフィードバック系を導入する。
【０１５３】
（１）進展反応（Ｅｘｔｅｎｓｏｒ  Ｒｅｓｐｏｎｓｅ）
除脳猫の実験では、脚が進展されているとき、足裏に力が加わるとより強く踏み込むことが知られており、「進展反応」と呼ばれる。このような動作は、鉛直方向床反力を神経振動子に対するフィードバックに用いることにより、実現することができる。計測される左右脚床反力をそれぞれＦL_Z、ＦR_Zとおく。また、ロボットの質量をｍ、重力加速度をｇとおく。このとき、Ｚ方向に沿って配置した振動子φzへのフィードバック信号ｇERを下式のように設定することができる。なお、フィードバック・ゲインｈERの調節を行ない易くなるようにｍｇで正規化している。
【０１５４】
【数７】
2006289602.tif 000009
【０１５５】
Ｚ方向に沿って配置した振動子φzにより脚Ｚ位置を駆動させて足踏み運動を生成する際、この振動子φzに対し上述したような進展反応を利用したフィードバック系を導入することにより、床反力が大きくなったとき、より脚を踏み込むように動作する。この結果、常に床面からの体幹高さＰbody_Zを高く保持することができる。図１７にはその様子を示している。
【０１５６】
（２）前庭脊髄反応（Ｖｅｓｔｉｂｕｌｏ−ｓｐｉｎａｌ  Ｒｅｆｌｅｘ）
生物の神経系には、体幹が傾斜した場合、傾きを止める側の筋肉が進展されることが知られており、これを「前庭脊髄反射」と呼ぶ。体幹のロール方向の傾きθrollに基づくフィードバック信号ｇVSRを振動子に入力することで、この反射を導入することができる。
【０１５７】
【数８】
2006289602.tif 000010
【０１５８】
ところで、神経振動子はパラメータを調節することにより、大きなフィードバック値が入力された場合に発振を止めることが可能である。図１８にはその様子を示している。この性質を利用して、体幹が大きく傾いた場合、発振を一時的に抑制し、重力による復帰モーメントによって転倒を回避することができる。
【０１５９】
図３６には、ロボット装置の前額面内の足踏み運動を制御するシステム構成例を示している。図示のシステムは、２素子型神経振動子に基づいて指令値を生成するＣＰＧ制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
【０１６０】
ＣＰＧ制御部は、神経振動子と、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
【０１６１】
２素子型神経振動子φzは、胴体座標系Ｚ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、ｑzを出力する。２素子型神経振動子の出力は上式（１）に示した通りである。
【０１６２】
胴体座標系足先軌道生成部は、神経振動子の出力ｑzを、直交胴体座標系から見た左右それぞれの脚部が足踏み運動する際の足先の位置軌道ＰL_z及びＰR_zへ変換（マッピング）する。ここでは、左右脚の対称運動を仮定しており、左右それぞれの脚への位置指令ＰL_z及びＰR_zは上式（７）及び（８）のように変換される。
【０１６３】
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
【０１６４】
神経振動子フィードバック信号生成部は、ロボットが足踏み運動を行なっている際におけるセンサから入力される観測値に基づいて、神経振動子へのフィードバック信号を生成する。ここでは、神経振動子フィードバック信号生成部は、足踏み運動により得られた体幹ロール角度θroll、及び左右脚のＺ方向床反力ＦLz、ＦRzを入力し、上式（９）及び（１０）に示したような、伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをそれぞれ生成し、ＣＰＧ制御部内の神経振動子へ入力する。前額面内の足踏み運動は、進展反応、前庭脊髄反射のどちらの場合も２素子型神経振動子により駆動される。
【０１６５】
神経振動子φzが持つ引き込み特性により、ｑzの発振周波数はｇER及びｇVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。
【０１６６】
以上、脚式移動ロボットの前額面内の足踏み運動を制御する振動子に対し、２つのフィードバック系ｇER及びｇVSRを導入することによって、ロバストな足踏み運動を実現することができる。図１９〜図２２には、これらのフィードバック系ｇER及びｇVSRを導入したときのロボットの前額面内における足踏み運動についてのシミュレーション結果を示している。
【０１６７】
図１９には、定常的な足踏み運動を行なっているとき、時刻０においてＹ方向の外力を印加した場合の体幹ロール角度θrollの変化を示している。フィードバックがない場合は転倒に至っているが、進展反応及び前庭脊髄反射を導入することにより足踏み運動を継続できることが分かる。
【０１６８】
図２０には、前額面内で定常的な足踏み運動を行なっているとき、ロボットの重力の１５％に相当するＹ方向の力を０．１秒間だけロボットに印加した場合の挙動を示している。これに対し、進展反応及び前庭脊髄反射を利用したフィードバック系を導入することによって、足踏み運動の周期が延長され、足踏み運動が継続できていることが分かる。
【０１６９】
図２１には、固有周期に近い０．８秒間の足踏み運動中に、さまざまなタイミングでＹ方向の力をロボットに印加したとき、ロボット本体は転倒せずに足踏みを継続できる最大の外力の大きさを示している。ここでは、左足を接地したときを位相ゼロと定義し、１周期を横軸にとっている。比較のため、フィードバックなしの正弦波で駆動した場合と、フィードバックなしの神経振動子で駆動した場合を併せて示している。この場合も、進展反応及び前庭脊髄反射を利用したフィードバック系を導入した神経振動子により足踏み運動を行なう場合がより大きな外力に対して耐えられることが分かる。
【０１７０】
図２２には、より実際的な外乱として床面に段差がある場合を想定し、ロボットが転倒に至らない最大の高さを示している。同図からも、Ｚ方向に沿って配置した神経振動子φzを用いて足踏み運動を行なわせる際、進展反応及び前庭脊髄反射を利用したフィードバック系を導入することの有効性が分かる。
【０１７１】
Ｆ−２．矢状面内の歩行運動
続いて、ＹＺ平面内の運動に、さらにＸ方向の脚運動を加えて歩行を生成する場合について考察してみる。
【０１７２】
矢状面内運動は、ＸＺ平面で見ると、足先軌道は、楕円のような軌道であれば歩行が可能である。例えば、図２３に示すような右回りの楕円軌道を描けば、ロボット装置はＸ方向に移動することができる。この場合、Ｘ方向の運動は、Ｚ方向の運動とは位相が９０度だけずれたフィードバック信号が必要である、と本発明者らは理解している。このときの右脚の足先のＸ座標ＰR_x及びＺ座標ＰR_zは下式のようになる。但し、ａ及びｂを定数、ψを位相としてパラメータ表示する。また、左右の脚部運動は対称と考え、ここでは記載を省略する。
【０１７３】
【数９】
2006289602.tif 000011
【０１７４】
上式より、Ｘ方向の振動にはＺ方向の振動と位相が９０度ずれた信号が必要となる。以下、定性的に考察をする。図２４に示すようにｐbody_Rollは振動子φzの出力ｑzにより片脚を踏み込んだ場合に生じていると考えられる。すなわち、足先位置ｐbody_Rollと振動子出力ｑzは同位相で振動していると考えられる。仮にｑzが正弦波で駆動されているとするならば、その１階微分は余弦波となり、９０度の位相差が得られる。すなわち、ｐbody_Rollの１階微分は９０度の位相差があると予想される。ロボット装置が定常足踏みを行なう際の、体幹のロール方向角速度をシミュレーションから求めると、図２５に示すような結果が得られた。
【０１７５】
主にＺ方向の運動が体幹のロール角度を生じていることから、その１階微分であるロール角速度は位相が９０度ずれるものと考えられる。したがって、Ｘ方向運動を記述する振動子φxに対するフィードバック信号として、体幹のロール方向の角速度を用いることができる。振動子φxは、体幹のロール角速度を用いて、Ｘ方向の運動を引き込む。また、歩行を左右対称な運動であると仮定し、Ｚ方向と同様に、振動子出力を符号反転し、左右対称に駆動する。
【０１７６】
矢状面内運動Ｘ方向に関して、下式のように振動子φxを配置する。左右脚を交互に踏み出すため、振動子φxの出力ｑxの符号を左右で反転している。
【０１７７】
【数１０】
2006289602.tif 000012
【０１７８】
この場合、Ｚ方向の運動とは位相が９０度ずれた信号が必要である。図２５から、足底の接地確認センサから得られる床反力の値と体幹のロール方向角速度値はほぼ９０度の位相差があることが分かる。そこで、下式に示すように、体幹のロール方向角速度を用いてフィードバック信号ｇxを生成し、これを神経振動子φxに入力して引き込みを行ない、９０度の位相差を生成することができる。
【０１７９】
【数１１】
2006289602.tif 000013
【０１８０】
この場合、矢状面内のＸ方向歩行運動は、下式で表される２素子型神経振動子を用いて記述することができる。
【０１８１】
【数１２】
2006289602.tif 000014
【０１８２】
図３７には、ロボット装置の歩行運動を制御するシステム構成例を示している。ここでは、前額面内の足踏み運動は既に実現されているものとし、これに矢状面内の運動を重畳する。図示のシステムは、神経振動子に基づいて指令値を生成するＣＰＧ制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
【０１８３】
ＣＰＧ制御部は、２素子型神経振動子φx及びφzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
【０１８４】
２素子型神経振動子φx及びφzは、それぞれ胴体座標系Ｘ方向及びＺ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振する。振動子φxの出力信号ｑxは上式（１５）に示した通りである。
【０１８５】
胴体座標系足先軌道生成部は、神経振動子の出力ｑxを、直交胴体座標系から見た左右それぞれの脚部が前額面内及び矢状面内それぞれの歩行運動を行なう際の足先のＺ方向の位置軌道ＰL_z及びＰR_z、並びにＸ方向の位置軌道ＰL_x及びＰR_zへ変換（マッピング）する。ここでは、左右脚の対称運動を仮定しており、左右それぞれの脚へのＺ方向の位置指令は上式（７）及び（８）のように変換され、Ｘ方向の位置指令ＰL_z及びＰR_zは上式（１２）及び（１３）のように変換される。
【０１８６】
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
【０１８７】
神経振動子フィードバック信号生成部は、運動により得られた体幹ロール角度θroll、及び左右脚のＺ方向床反力ＦLz、ＦRzを入力し、上式（９）及び（１０）に示したような、伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをそれぞれ生成し、ＣＰＧ制御部内の２素子型神経振動子φzへ入力する。
【０１８８】
また、神経振動子フィードバック信号生成部は、ロボットが歩行運動を行なっている際にセンサから入力される観測値に基づいて、神経振動子へのフィードバック信号を生成する。ここでは、神経振動子フィードバック信号生成部は、体幹ロール角度θroll、及び左右脚のＺ方向床反力ＦLz、ＦRzに加えて、体幹ロール角速度を入力し、上式（１４）に示したようなフィードバック信号ｇxを生成し、ＣＰＧ制御部内の神経振動子φxへ入力信号する。
【０１８９】
神経振動子φxが持つ引き込み特性により、ｑxの発振周波数は、体幹ロール角速度から求まるフィードバック信号ｇxの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。また、伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをそれぞれ生成して神経振動子φzへ入力すると、神経振動子φzが持つ引き込み特性によりｑzの発振周波数がｇER及びｇVSRの発振周波数と同期することは、前述（図３６を参照のこと）と同様である。
【０１９０】
ところが、矢状面内の周期運動を制御する神経振動子φxとしてこのような２素子型振動子（図７を参照のこと）を用い、且つ、振動子φxに対するフィードバックをセンサ出力のみに頼った場合には、非定常状態のセンサ出力では適切なフィードバック信号とならず、また、運動学習に要する試行回数が増大するという問題がある（前述）。
【０１９１】
そこで、Ｘ方向の振動子φxを２素子型神経振動子に代えて、２素子型神経振動子を直交させて組み合わせて構成される４素子型神経振動子（図１３並びに図１５を参照のこと）を用いることで、このような問題を解決することができる。４素子型の神経振動子は、構造的に各振動子から９０度の位相差が得られるようになっているので、センサ・フィードバックのみに頼る必要がない。
【０１９２】
図１５において、４素子型神経振動子のうち、０と１で示した振動子にはＺ方向振動子と同じフィードバック系を導入することで足踏み運動と同期させる。また、２と３で示した振動子には体幹のロール方向角速度をフィードバックする。４素子振動子の特性として、センサ・フィードバックに頼ることなく、図１４で示したように９０度の位相差を以って発振することから、神経振動子の引き込み現象は容易且つ安定して起こり、その位相関係は強固に固定される。この場合の矢状面内のＸ方向歩行運動は、下式で表される４素子型神経振動子を用いて記述することができる。
【０１９３】
【数１３】
2006289602.tif 000015
【０１９４】
図３８には、ロボット装置のＸ方向の振動子に４素子型の神経振動子を用いた場合の歩行運動を制御するシステム構成例を示している。ここでは、前額面内の足踏み運動は図３７に示したシステムにおいて既に実現されているものとし、これに矢状面内の運動を重畳する。図示のシステムは、神経振動子に基づいて指令値を生成するＣＰＧ制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
【０１９５】
ＣＰＧ制御部は、４素子型神経振動子φx及び２素子型神経振動子φzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
【０１９６】
４素子型神経振動子φx及び２素子型神経振動子φzはそれぞれ胴体座標系Ｘ方向及びＺ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、ｑx及びｑzを出力する。４素子型の神経振動子の出力は上式（１６）にそれぞれ示した通りである。
【０１９７】
胴体座標系足先軌道生成部は、神経振動子の出力ｑxを、直交胴体座標系から見た左右それぞれの脚部が前額面内及び矢状面内それぞれの歩行運動を行なう際の足先のＺ方向の位置軌道ＰL_z及びＰR_z、並びにＸ方向の位置軌道ＰL_x及びＰR_zへ変換（マッピング）する。ここでは、左右脚の対称運動を仮定しており、左右それぞれの脚へのＺ方向の位置指令は上式（７）及び（８）のように変換される。また、Ｘ方向の位置指令ＰL_z及びＰR_zは、上式（１２）及び（１３）のように変換される。
【０１９８】
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
【０１９９】
神経振動子フィードバック信号生成部は、運動により得られた体幹ロール角度θroll、及び左右脚のＺ方向床反力ＦLz、ＦRzを入力し、上式（９）及び（１０）に示したような伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRを生成して、ＣＰＧ制御部内の２素子型神経振動子φzへ入力する。
【０２００】
また、神経振動子フィードバック信号生成部は、ロボットが歩行運動を行なっている際にセンサから観測値として得られた体幹ロール角度θroll、及び左右脚のＺ方向床反力ＦLz、ＦRz、体幹ロール角速度を入力し、上式（１４）に示したようなフィードバック信号ｇxを生成し、ＣＰＧ制御部内の４素子型神経振動子φxへ入力信号する。さらに伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをＸ方向の４素子型神経振動子φxにも入力する点で、図３７に示したシステム構成とは相違する。
【０２０１】
神経振動子φxが持つ引き込み特性により、ｑxの発振周波数は、体幹ロール角速度から求まるフィードバック信号ｇx、並びに伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。また、伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをそれぞれ生成して神経振動子φzへ入力すると、神経振動子φzが持つ引き込み特性によりｑzの発振周波数がｇER及びｇVSRの発振周波数と同期する。
【０２０２】
ロボットの歩行における周期運動の制御に４素子型神経振動子を用いた場合、以下のような作用効果を得ることができる。
【０２０３】
（１）フィードバック項を試行錯誤的な学習により最適化を行なう際、学習の収束が速くなる。
（２）前額面と矢状面内の脚のＸ及びＺ方向の同期した歩行が可能となる。
（３）センサノイズや遅れに強くなる。
【０２０４】
ここで、ロボットの歩行運動における前額面内運動と矢状面内運動の同期の例について示しておく。ロボットの定常直進歩行運動中にＹ方向への外力を印加した場合について考えてみる。
【０２０５】
図２６及び図２７には、２素子型神経振動子及び４素子型神経振動子をそれぞれ用いてロボットに定常直進歩行運動を行なわせた場合のシミュレーション結果をそれぞれ示している。各図では、時刻６．７秒において、Ｙ方向へ７．５［Ｎ］（自重の１１％）の外力を０．１秒間だけ印加した場合のそれぞれの振動子φx及びφzの出力ｑx及びｑzと、体幹ピッチ角度と、基準姿勢時で正規化した腰の高さを時系列で示している。
【０２０６】
外力が印加されることによって、図２０で示したように、振動子の周期は大きくなる。このとき、２素子振動子を用いた場合には、Ｚ方向とＸ方向振動子に直接の結合が無いため、図２６中の点Ｐで示されるように、センサ・フィードバック系に頼ると、非定常状態では周期は十分に調節されない。このため、最終的にロボット装置は転倒に至ってしまう。これに対し、４素子振動子を用いた場合には、図２７中の点Ｑで示されるように、環状の一方向抑制結合によりＸ方向振動子の周期も自律的に調節されることから、ロボットは歩行を継続できていることが分かる。
【０２０７】
Ｆ−３．旋回運動への拡張
ここまでは、神経振動子の引き込み特性を利用した２足歩行ロボットの定常的な直進運動制御について説明してきた。ヒューマノイドを始めとする脚式ロボットには、このような直進運動に限らず、多様な移動方向の制御が必要である。そこで、この項では、神経振動子の引き込み特性を利用したロボットの運動制御を３次元の旋回２足歩行運動に拡張した実施形態について説明する。
【０２０８】
上述したように、引き込み特性を持つ振動子をタスクに応じた作業座標系方向に配置することにより、２足歩行ロボットの周期的な歩行運動の制御を行なうことができる。歩幅と旋回半径が規定されたときに、幾何学的拘束条件を考慮して脚のヨー回転とｙ軸位置を定めることによって、歩幅と旋回半径より求められる幾何学的な関係から円弧に沿った旋回歩行を実現することができる。さらに、目標点に向かって到達するように旋回半径を規定することで、目標点への到達運動を実現することができる。また、目標点を複数設定することで、曲線的な経路に沿った歩行運動を行なうこともできる。
【０２０９】
ここで、一定の旋回半径で示される円弧に沿った歩行運動を生成する場合について考察してみる。
【０２１０】
図３９には、２足歩行ロボットが円弧に沿って旋回運動を行なうときの左右の足平の軌道を示している。同図は、旋回歩行を上から見下ろした様子であり、点線の円弧に沿ってロボットの胴体座標系原点が時計回りに旋回歩行しているものとする。旋回半径をＲdesiredと定め、時計回りに旋回するときを正方向と定義する。直進の歩幅に比して、円弧の中心に近い側の脚の歩幅を小さく、遠い方の脚の歩幅を大きくする必要がある。また、体幹をヨー軸回りに旋回させるために、脚のヨー軸を回転する必要がある。
【０２１１】
直進歩行時の左右脚の歩幅をともにＡxとおき、旋回歩行時の左脚と右脚の歩幅をそれぞれＡlx及びＡrxとおとき、左右脚のＹ方向の胴体座標系からみた各足平の基準位置をそれぞれｙl0及びｙr0とおく。旋回歩行時の左右それぞれの歩幅は幾何学的に下式（１７）、（１８）のように定めることができる。
【０２１２】
【数１４】
2006289602.tif 000016
【０２１３】
上式より、左脚の歩幅は小さくなり、右脚の歩幅は大きくなる。振動子出力をｑxとすると、左右の足先Ｘ方向位置ｐlx及びｐrxはそれぞれ下式（１９）、（２０）のように表される。
【０２１４】
【数１５】
2006289602.tif 000017
【０２１５】
次に、体幹をヨー周りに回転させるため、左右の足先ヨー角度をＸの関数として円弧に沿うように下式（２１）及び（２２）のように定める。
【０２１６】
【数１６】
2006289602.tif 000018
【０２１７】
また、左右の足先Ｙ方向位置ｐly及びｐryは、幾何学的に下式（２３）及び（２４）のように求められる。
【０２１８】
【数１７】
2006289602.tif 000019
【０２１９】
以上から、歩幅Ａxと旋回半径Ｒdesiredが規定されたときに、幾何学的拘束条件から左右それぞれの脚の足先のＸＹ位置及びヨー角度を求めることができる。
【０２２０】
図４０には、ロボット装置のＸ方向運動を４素子型神経振動子で記述するとともにＺ方向運動を２素子型神経振動子で記述して、旋回運動を制御するシステム構成例を示している。図示のシステムは、神経振動子に基づいて指令値を生成するＣＰＧ制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
【０２２１】
ＣＰＧ制御部は、４素子型神経振動子φx及び２素子型神経振動子φzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
【０２２２】
４素子型神経振動子φx及び２素子型神経振動子φzはそれぞれ胴体座標系Ｘ方向及びＺ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、ｑx及びｑzを出力する。２素子型神経振動子の出力は上式（１）に、４素子型の神経振動子の出力は上式（１３）にそれぞれ示した通りである。但し、φxに４素子型ではなく２素子型の神経振動子を用いて実装することも可能である。
【０２２３】
設計者（旋回運動などロボットの動作パターンを作成するデザイナの他、オペレータ、ユーザを含む）は、目標とする歩行速度と旋回半径で歩行するための歩幅Ａx並びに旋回半径Ｒdesiredを陽に設定し、胴体座標系足先軌道生成部に入力する。
【０２２４】
胴体座標系足先軌道生成部は、神経振動子の出力ｑxを、直交胴体座標系から見た左右それぞれの脚部が歩幅Ａxを以って所定の旋回半径Ｒdesiredで示される円弧に沿った旋回運動を行なう際の足先のＸ方向位置軌道ｐlx及びｐrxへ変換（マッピング）する。ここでは、左右それぞれの脚への位置指令ｐlx及びｐrxは上式（１９）及び（２０）のように変換される。さらに、足先Ｘ方向位置に基づいて、上式（２１）及び（２２）に従って足先ヨー方向の姿勢ｐlyaw及びｐryawが、上式（２３）及び（２４）に従って足先Ｙ方向位置ｐly及びｐryが決定される。
【０２２５】
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
【０２２６】
神経振動子フィードバック信号生成部は、ロボットが旋回運動を行なっている際のセンサからの観測値に基づいて、神経振動子へのフィードバック信号を生成する。ここで、神経振動子フィードバック信号生成部は、体幹ロール角度θroll、及び左右脚のＺ方向床反力ＦLz、ＦRz、体幹ロール角速度を入力し、上式（１４）に示したようなフィードバック信号ｇxを生成し、ＣＰＧ制御部内の神経振動子φxへ入力信号する。
【０２２７】
神経振動子φxが持つ引き込み特性により、ｑxの発振周波数はフィードバック信号ｇx、ｇER及びｇVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。
【０２２８】
また、神経振動子フィードバック信号生成部は、伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをそれぞれ生成し、ＣＰＧ制御部内の神経振動子φzへ入力する。そして、神経振動子φzが持つ引き込み特性によりｑzの発振周波数がｇER及びｇVSRの発振周波数と同期する（前述並びに図３６を参照のこと）。
【０２２９】
本発明者らは、位置（０，０）よりＸ方向性に向かって歩行を開始した場合のロボットの重心軌跡について計算機シミュレーションを行なってみた。ここでは、直進時の歩幅Ａxを０．０１５メートルと規定し、旋回半径Ｒdesired＝−０．３メートル、０．５メートル、１．０メートルのそれぞれに設定した（但し、反時計回りなので、符号はマイナスとしている）。なお、上式（２３）及び（２４）の右辺第２項は微小であるから無視した。
【０２３０】
図４１には、位置（０，０）よりＸ方向性に向かって歩行を開始した場合のロボットの重心軌跡の計算機シミュレーション結果を示している。同図をみると、与えた旋回半径とほぼ同じ大きさで一定の曲率半径で旋回運動が実現できていることが確かめられる。足先ヨー角度をＸの関数として円弧に沿うようにして体幹をヨー回りに回転させるようにしたので、前額面内運動と矢状面内運動は分離不能となるが、この場合であっても、神経振動子の引き込み特性により歩行を継続することが可能となる。
【０２３１】
上述したように、神経振動子の引き込み特性を利用してロボットの旋回運動制御が可能となるとき、さらに、目標点に向かって到達するように旋回半径を規定することで、目標点への到達運動を実現することができる。
【０２３２】
本発明者らは、上記の旋回歩行を用いて、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なってみた。ここでは、絶対座標系において、到達目標位置及びロボットの重心位置・姿勢が計測可能であると仮定する。また、図４２に示すように、ロボットの現在の進行方向と目標地点のなす角をθsteeringとし、目標地点までの距離をＤとおくと、このときの旋回半径Ｒdesiredは下式（２５）又は（２６）のように決定することができる。
【０２３３】
【数１８】
2006289602.tif 000020
【０２３４】
ここで、Ｋ1、Ｋ2は定数であり、Ｋ2は旋回運動が直進歩行と近似できる十分大きな値とする。また、目標到達点付近では、歩行速度を小さくし目標到達精度を向上させるため、調節の閾値をＤthとして歩幅Ａxを下式（２７）又は（２８）を用いて調節する
【０２３５】
【数１９】
2006289602.tif 000021
【０２３６】
上式において、ｃはＸ方向に配置された神経振動子の定常入力項であり、その振動子出力ｑxの振幅とｃの間には線形関係があることが知られていることから、歩幅Ａxを調整することと等価な効果がある。
【０２３７】
また、歩行開始時の急激な加速による転倒を防ぐため、下式（２９）又は（３０）に従って歩幅を調整する。ここで、ｔは歩行開始からの経過時間、ｔinitは加速時間を規定する定数である。
【０２３８】
【数２０】
2006289602.tif 000022
【０２３９】
図４３には、ロボット装置のＸ方向運動を４素子型神経振動子で記述するとともにＺ方向運動を２素子型神経振動子で記述して、旋回運動を利用した目標地点への歩行を制御するシステム構成例を示している。図示のシステムは、図４０に示したシステム構成とほぼ同一である。図４０に示した旋回運動制御においては、設計者が陽に設定した歩幅Ａx並びに旋回半径Ｒdesiredを胴体座標系足先軌道生成部に入力することで、目標とする歩行速度と旋回半径による歩行運動を制御する。これに対し、図４３に示したシステムでは、ロボットの現在の進行方向と目標地点のなす角θsteeringと目標地点までの距離Ｄから、上式（２５）〜（３０）を用いて歩幅Ａx並びに旋回半径Ｒdesiredを自動的に設定するアルゴリズムが導入され、該アルゴリズムの出力を胴体座標系足先軌道生成部に入力するように構成されている。
【０２４０】
図４４〜図４９には、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示している。＋字記号で示した点が目標到達点であり、目標到達点を変更しながら合計で６回の試行を行なった。位置（０，０）から歩行を開始し、Ｘ方向におよそ０．２５メートルだけ歩行した後、上述した旋回運動による目標地点への移動の制御方法を導入した、６回行なったすべての指向において目標値点に到達できていることが確認される。また、目標地点に近くなるに従い、前進速度が低下していることを、重心軌跡から理解することができよう。すべての場合で、０．０１メートルを下回る目標到達精度を実現することができた。
【０２４１】
このように、目標点に向かって到達するように旋回半径を規定することで、目標点への到達運動を実現することができる。さらに、最終的な目的地に至る途中で複数の目標点を順次設定して各目標点間の歩行を旋回運動で実現し、これらの旋回運動を接続することで複雑な歩行経路を指定して、曲線的な経路に沿った歩行運動を行なうこともできる。
【０２４２】
図５０には、複数の目標点を順次設定して各目標点間の旋回歩行により星型の経路を歩行させた場合の計算機シミュレーション結果を示している。同図から、想定した通りの経路を歩行することが可能であることが理解できよう。障害物回避動作など、より高次の指令に対応することも可能である。なお、図示の例では、目標到達点付近での歩幅調整は行なっていない。
【０２４３】
Ｇ．神経振動子を用いたロボットの歩行運動制御と学習との組み合わせ
Ｘ方向振動子へのフィードバック項ｇxは上式（１４）で示される体幹ロール角速度の線形フィードバックを直感的に用いたが、この項が最適であるとは限らない。そこで、学習を用いることで、振動子へのフィードバック項の最適化を図る。また、計算機シミュレーションと実機とではモデル化誤差があり、シミュレーション上で獲得されたフィードバックがそのまま実機に適用できるとは限らない。以下では、そのような場合であっても、シミュレーションのモデル化誤差を吸収するため実機上で追加学習を行なうことができることを説明する。
【０２４４】
通常の学習ではすべての状態量を入力として学習を行なう。これに対し、ロボットの場合は多自由度、多次元であり、すべての状態量を扱うことが困難である。このため、一部の限られた観測可能な状態量から学習することが可能な学習法が適用される。
【０２４５】
前項Ｆでは、Ｘ方向とＺ方向の運動とで位相が９０度ずれた信号が必要であることを述べた。ここで、上式（１４）で示した歩行のためのフィードバック系（体幹ロール角速度を用いた神経振動子へのフィードバック）は、直観的に求めたものであり、最適であるとは限らない。そこで、４素子型神経振動子を用いた歩行制御と強化学習（Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ）とを組み合わせることで、最適化を図る。
【０２４６】
ここでも、歩行運動を矢状面内運動と前額面内運動に分離できるものと考える。前額面内運動は前述の足踏み運動をそのまま用い、矢状面内運動はＸ方向に配置した神経振動子φxへのフィードバック項ｇxを学習する。この学習には、強化学習の一手法である方策勾配法を用いることにする。学習アルゴリズムへの入力は、体幹ロール角速度と体幹ピッチ角速度の２次元とし、出力はＸ方向に配置した神経振動子へのフィードバック項とする（図２８を参照のこと）。
【０２４７】
【数２１】
2006289602.tif 000023
【０２４８】
強化学習の一手法である方策勾配法を用いて、体幹ロール角速度及び体幹ピッチ角速度を入力し、フィードバック・ゲインｈxも含めたフィードバック項を出力とする非線形マッピングｆを獲得する。これにより、直観的に求めた式（１４）を最適化することができる。すなわち、以下に示す４素子型神経振動子のフィードバック項ｇxを学習する。
【０２４９】
【数２２】
2006289602.tif 000024
【０２５０】
多自由度のロボットの挙動を２次元の状態量に集約していることから、通常の機械学習の枠組みでは収束させることは一般に難しいと考えられる。これに対し、強化学習の一手法である方策勾配法によれば、このような部分観測マルコフ決定過程問題も扱うことができる、ということが当業界で知られている。
【０２５１】
図５１には、ロボット装置のＸ方向の振動子に４素子型の神経振動子を用いた場合の直進歩行運動の制御（図３８を参照のこと）に対し、Ｘ方向振動子φxのフィードバック項ｇxを強化学習する仕組みを導入したシステム構成例を示している。ここでは、前額面内の足踏み運動は図３７に示したシステムにおいて既に実現されているものとし、これに矢状面内の運動を重畳する。図示のシステムは、神経振動子に基づいて指令値を生成するＣＰＧ制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
【０２５２】
ＣＰＧ制御部は、４素子型神経振動子φx及び２素子型神経振動子φzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
【０２５３】
４素子型神経振動子φx及び２素子型神経振動子φzはそれぞれ胴体座標系Ｘ方向及びＺ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、ｑx及びｑzを出力する。
【０２５４】
胴体座標系足先軌道生成部は、神経振動子の出力ｑxを、直交胴体座標系から見た左右それぞれの脚部が前額面内及び矢状面内それぞれの歩行運動を行なう際の足先のＺ方向の位置軌道ＰL_z及びＰR_z、並びにＸ方向の位置軌道ＰL_x及びＰR_zへ変換（マッピング）する。ここでは、左右脚の対称運動を仮定しており、左右それぞれの脚へのＺ方向の位置指令は上式（７）及び（８）のように変換され、Ｘ方向の位置指令ＰL_z及びＰR_zは上式（１２）及び（１３）のように変換される。
【０２５５】
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
【０２５６】
神経振動子フィードバック信号生成部は、体幹ロール角度θroll、及び左右脚のＺ方向床反力ＦLz、ＦRzを入力し、上式（９）及び（１０）に示したような伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRを生成して、ＣＰＧ制御部内の２素子型神経振動子φzへ入力する。
【０２５７】
また、神経振動子フィードバック信号生成部は、ロボットが歩行運動を行なっている際のセンサから入力される観測値である体幹ロール角度θroll、及び左右脚のＺ方向床反力ＦLz、ＦRz、体幹ロール角速度及び体幹ピッチ角速度を入力し、上フィードバック信号ｇxを生成し、ＣＰＧ制御部内の４素子型神経振動子φxへ入力信号する。さらに伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをＸ方向の４素子型神経振動子φxにも入力する。
【０２５８】
ここで、Ｘ方向のフィードバック信号ｇxは、体幹ロール角速度の単純な線形マッピングが最適であるとは限らない。このため、神経振動子フィードバック信号生成部内では、Ｘ方向の神経振動子φxのフィードバック信号ｇxを強化学習により獲得して、最適化を行なう。なお、ゲインを含めて学習を行なうので、ｈxは不要となる。一方、Ｚ方向神経振動子φzに対するフィードバック信号は、図３８に示したと同様に、単純な線形フィードバックを用いている。
【０２５９】
神経振動子φxが持つ引き込み特性により、ｑxの発振周波数は、体幹ロール角速度から求まるフィードバック信号ｇx、並びに伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。また、伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをそれぞれ生成し、ＣＰＧ制御部内の神経振動子φzへ入力し、神経振動子φzが持つ引き込み特性によりｑzの発振周波数がｇER及びｇVSRの発振周波数と同期する。
【０２６０】
強化学習は、試行錯誤を通じて環境に適応することに特徴がある学習であり、教師付き学習とは異なり状態入力に対する正しい行動出力を明示的に示す教師が存在しない代わりに、報酬というスカラを手がかりに学習する。報酬にはノイズや遅れがあるため、行動を実行した直後の報酬を見るだけでは、学習主体の行動の正否を判断することはできない。強化学習は、不確実性のある環境を扱える点や、報酬に遅れが存在し、離散的な状態遷移で段取り的な制御規則を必要とする問題にも適用できる点に特徴がある。
【０２６１】
強化学習のメカニズムは、学習主体としての学習器と、制御対象となる環境で構成される。学習器は、時刻ｔにおいて環境の状態観測Ｓ（ｔ）及び報酬ｒ（ｔ）に応じて意思決定を行ない、行動を出力する。上記の神経振動子に対するフィードバック信号の強化学習を行なう場合、状態観測はセンサ出力であり、行動出力はフィードバック信号ｇxに相当する。学習器が出力する行動により、環境は次時刻Ｓ（ｔ＋１）へ状態遷移し、その遷移に応じた報酬ｒ（ｔ＋１）を学習器に与える。そして、学習器は、報酬ｒ（ｔ）の１試行中の総計を最大化することを目的として、状態観測から行動出力へのマッピングすなわち政策（ｐｏｌｉｃｙ）を獲得する。
【０２６２】
図５２には、神経振動子フィードバック信号生成部内の学習器と、制御対象としてのロボットとの関係を示している。図示の学習システムにおける強化学習の手順について以下に説明する。
【０２６３】
まず、Ａｃｔｏｒと呼ばれる行動価値関数が何らかのフィードバック信号ｇxを出力し、これがＸ方向の神経振動子φxに入力されてＸ方向の振動が調整され、ｑxが規定される。この出力に従ってロボットの脚関節が駆動され運動が生成される。このとき得られる体幹ロール及びピッチ角速度を学習器に入力する状態ベクトルｓとする。また、報酬ｒ（ｔ）は下式（３３）より算出される。
【０２６４】
【数２３】
2006289602.tif 000025
【０２６５】
Ｃｒｉｔｉｃは、状態ベクトルｓと報酬ｒ（ｔ）の情報を用いて、その行動の価値を価値関数Ｖwc（ｔ）を用いて算出する。価値関数Ｖwc（ｔ）は、現在の報酬のみならず、この行動を継続した場合に得られる未来までの価値の総和を予測する。
【０２６６】
価値関数Ｖwc（ｔ）の予測からのずれ量がＴｅｍｐｏｒａｌＤｉｆｆｅｒｅｎｃｅ Ｅｒｒｏｒ（ＴＤ−ｅｒｒｏｒ）、δ（ｔ）と呼ばれる。その予測が正しければδ（ｔ）はゼロとなる。逆にδ（ｔ）がゼロでない場合は、予測が正しくない訳であるから、価値関数をδ（ｔ）を用いて正しい予測ができるよう、価値関数内部のパラメータｗｃを更新する。
【０２６７】
また、Ａｃｔｏｒと呼ばれる行動価値関数は、状態ベクトルｓと予測からのずれ量δ（ｔ）の情報を用いて、より高い価値が得られるよう行動価値関数内部のパラメータｗμとｗσを更新し、新たなｇxを出力する。
【０２６８】
このようなループを繰り返すことにより強化学習が実行され、フィードバック信号ｇxは最適化される。
【０２６９】
続いて、シミュレーションにより学習の効能について検討する。学習試行のシーケンスは以下の通りである。
【０２７０】
（１）前述の線形フィードバック（式（１４））を用いて、定常歩行させる。
（２）所定の時刻で線形フィードバックを停止し、同時に学習を開始する。
（３）腰の高さが一定値以下になったら転倒とみなし、試行を打ち切る。
（４）２０秒間転倒せずに歩行を継続できたら、成功とみなし、次の試行を行なう。
【０２７１】
歩行による移動速度は、より現実を反映するように、「体幹の接地脚に対する相対速度」と定義する。この移動速度を、ローパス・フィルタを通して使用する。移動速度に関する重みβを大きくすれば、より速く移動する歩行が獲得される。
【０２７２】
図２９及び図３０には、２素子型神経振動子及び４素子型神経振動子をそれぞれ用いたロボットの歩行運動制御において、体幹ロール角θrollを時間で１次微分した体幹ロール角速度と体幹ピッチ角θpitchを時間で１次微分した体幹ピッチ角速度の２次元を入力とし、Ｘ方向に配置した神経振動子へのフィードバック項ｇxを学習する計算機シミュレーションを行なった際の学習曲線を示している。
【０２７３】
２素子型神経振動子を用いた場合、図２９に示すように、学習アルゴリズムへの入力値の初期条件（Ｓ（ｔ0））を４回変えて試行した結果、初期条件３のときのみ収束し、その試行回数はおよそ４００回程度であった。これに対し、４素子型神経振動子を用いた場合、同様に４つの初期条件すべてについて試行してみたが、図３０に示すように、いずれの条件でも学習を収束させることが可能であり、これらの試行回数は５０〜２００程度であった。これは、２素子の場合に比しておよそ１３％〜５０％程度の試行回数であり、計算時間も大きく短縮されることが分かる。
【０２７４】
図３１には、４素子振動子を用いて獲得されたＣｒｉｔｉｃ及びＡｃｔｏｒを示している。同図左において、四角で示される箇所は、ロボットの歩行時に得られる角速度の軌跡を表している。定常的な軌道を描いていることから（定常的な軌跡では価値関数が大きい）、歩行が継続されていることが分かる。また、同図右は行動出力ｕの分布を表している。出力飽和関数を介してｇxとして神経振動子φxにフィードバックされる。
【０２７５】
行動の中間出力ｕは、下式（２４）に示すように、最大値をｇxmaxとする飽和関数を通してｇxに変換される（例えば、本出願人に既に譲渡されている特開２００５−２８８５９４号公報を参照のこと）。
【０２７６】
【数２４】
2006289602.tif 000026
【０２７７】
図３１より、縦方向（すなわち、ピッチ角速度）にはあまり変化が見られず、横方向（すなわち、ロール角速度）に応じて出力値が変わっていることが分かる。ロール角速度が−０．７〜０．７の範囲では、ロール角速度を関数としてほぼ線形に出力ｕが変化している。したがって、獲得されたフィードバックは直観的に求めた式（１４）の結果と矛盾しない。すなわち、生成される脚軌道も、図２３で示した望ましい位相関係で脚軌道が生成されているということを理解できよう。
【０２７８】
４素子振動子を用いて獲得された制御器を用いて実機で実験を行なったところ、シミュレーションとのモデル化誤差からそのままでは転倒する場合も観察された。そこで、実機により追加学習を行なうことで、より確実に歩行できるように改善する。
【０２７９】
図３２には、実機による結果を示している。同図から分かるように、試行回数が増加するに連れ、高い総報酬を得るよう方策が改善していることが理解できよう。なお、実機とシミュレーションでは報酬の計測方法そのものが異なることから、総報酬の絶対値そのものは意味がないことを注記しておく。
【０２８０】
なお、ここで示した報酬関数はあくまで一例である。例えば、消費エネルギを罰として与えることで、より移動効率の高い歩行を得ることができる。
【０２８１】
【数２５】
2006289602.tif 000027
【０２８２】
また、ヨー回りの目標角速度を与え、その誤差を罰として与えると旋回するための歩行が得られると考えられる。
【０２８３】
【数２６】
2006289602.tif 000028
【０２８４】
勿論、これらの組み合わせでも良い。強化学習と組み合わせることで、抽象的な高次レベルでのフィードバック項の最適化が可能であるところが大きな利点である。
【０２８５】
また、神経振動子のフィードバック項に対する強化学習は、定常直進歩行だけでなく旋回歩行時の運動制御においても導入することができる。図５３には、ロボット装置のＸ方向運動を４素子型神経振動子で記述するとともに、Ｚ方向運動を２素子型神経振動子で記述して所定の旋回半径の円弧に沿った旋回運動制御（図４０を参照のこと）に対し、Ｘ方向振動子φxのフィードバック項ｇxを強化学習する仕組みを導入したシステム構成例を示している。図示のシステムは、神経振動子に基づいて指令値を生成するＣＰＧ制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
【０２８６】
ＣＰＧ制御部は、４素子型神経振動子φx及び２素子型神経振動子φzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
【０２８７】
４素子型神経振動子φx及び２素子型神経振動子φzはそれぞれ胴体座標系Ｘ方向及びＺ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、ｑx及びｑzを出力する。２素子型神経振動子の出力は上式（１）に、４素子型の神経振動子の出力は上式（１３）にそれぞれ示した通りである。
【０２８８】
目標とする歩行速度と旋回半径で歩行するための歩幅Ａx並びに旋回半径Ｒdesiredが陽に設定されると、胴体座標系足先軌道生成部は、神経振動子の出力ｑxを、直交胴体座標系から見た左右それぞれの脚部が歩幅Ａxを以って所定の旋回半径Ｒdesiredで示される円弧に沿った旋回運動を行なう際の足先のＸ方向位置軌道ｐlx及びｐrxへ変換（マッピング）する。ここでは、左右それぞれの脚への位置指令ｐlx及びｐrxは上式（１９）及び（２０）のように変換される。さらに、足先Ｘ方向位置に基づいて、上式（２１）及び（２２）に従って足先ヨー方向姿勢ｐlyaw及びｐryawが決定され、上式（２３）及び（２４）に従って足先Ｙ方向位置ｐly及びｐryが決定される。
【０２８９】
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
【０２９０】
神経振動子フィードバック信号生成部は、ロボットが旋回運動を行なっている際のセンサからの観測値に基づいて、神経振動子へのフィードバック信号を生成する。ここでは、神経振動子フィードバック信号生成部は、体幹ロール角度θroll、及び左右脚のＺ方向床反力ＦLz、ＦRz、体幹ロール角速度、体幹ピッチ角速度を入力し、強化学習によりフィードバック信号ｇxを生成し、ＣＰＧ制御部内の神経振動子φxへ入力信号する。
【０２９１】
また、神経振動子フィードバック信号生成部は、伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをそれぞれ生成し、ＣＰＧ制御部内の神経振動子φzへ入力する。
【０２９２】
旋回運動においても、Ｘ方向のフィードバック信号ｇxは、上式（１４）で示すような体幹ロール角速度の単純な線形マッピングを用いることが最適であるとは限らない。そこで、上述した直進歩行運動の場合と同様に、神経振動子フィードバック信号生成部内では、Ｘ方向の神経振動子φxのフィードバック信号ｇxを強化学習により獲得して、最適化を行なう。なお、ゲインを含めて学習を行なうので、ｈxは不要となる。一方、Ｚ方向神経振動子φzに対するフィードバック信号は、図３８に示したと同様に、単純な線形フィードバックを用いている。
【０２９３】
神経振動子φxが持つ引き込み特性により、ｑxの発振周波数は、体幹ロール角速度から求まるフィードバック信号ｇx、並びに伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。また、伸展反応及び前提脊髄反射を模した線形フィードバック信号ｇER及びｇVSRをそれぞれ生成し、ＣＰＧ制御部内の神経振動子φzへ入力し、神経振動子φzが持つ引き込み特性によりｑzの発振周波数がｇER及びｇVSRの発振周波数と同期する。
【０２９４】
図５３に示したシステム構成によれば、旋回運動の神経振動子φxへのフィードバック項ｇを強化学習することができる。学習の枠組みは直進歩行と全く同じものを用いることができるが、この場合の学習器は旋回脚軌道を環境の変化とみなすことになる。直進歩行と旋回歩行のどちらの場合でも、学習アルゴリズムを変更する必要はなく最適化を図ることができるのは、大きな利点である。
【０２９５】
図５４には、歩幅Ａxを０．０１５メートル、旋回半径Ｒdesiredを０．３メートルに設定して神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションを行なったときの学習曲線を示している。図示の例では、およそ３００階の試行で旋回歩行が獲得されていることが分かる。総計４５回の計算機実験を行なったところ、およそ８０％の確率で旋回歩容が獲得された。
【０２９６】
また、本発明者らは、歩幅Ａxを０．０１５メートル、旋回半径Ｒdesiredを０．３、０．５、１．０メートルにそれぞれ規定したときに、神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションを試みた。図５５〜図５７には、それぞれの場合に獲得された行動の中間出力ｕを示している。また、これらの比較として、旋回半径が∞に相当する直進歩行の場合の結果を図５８に示す。各図において、中間出力ｕが最大又は最小のピークとなる点を点線で結んでいる。
【０２９７】
直進の場合は（図５８を参照のこと）、点線が水平であることから、体幹ピッチ角速度に対して対称な出力になっている。これに対し、旋回半径Ｒdesiredが小さくなるにつれ、点線が徐々に傾きを持つようになることが分かる。これは、旋回半径Ｒdesiredが小さくなるに従い、体幹のヨー軸回りの回転の効果を無視することができなくなり、前額面と矢状面の運動の分離ができなくなることによるものと考えられる。実際、シミュレーションの様子を見ると、直進運動の場合と異なり、旋回歩行運動の場合、ピッチ方向への振動をより大きく生成している。しかしながら、この場合であっても、学習器は環境に応じて適切なフィードバック項を獲得することができるを示している。
【０２９８】
また、図５５〜図５７では、獲得されたフィードバック出力は、異なる旋回半径Ｒdesiredであっても、概ね体幹ロール角速度に依存した傾向を示している。したがって、目標旋回半径が連続的に変化するような場合であっても、事前に求められた幾つかのフィードバック項を適切な重みで線形結合して重ね合わせることで対応することが可能と考えられる。具体例として、ここでは実験を行なわなかった旋回半径Ｒdesired＝０．４メートルに対するフィードバック項は、Ｒdesired＝０．３メートル及びＲdesired＝０．５メートルのフィードバック項を適切な重みで線形結合することで得ることができる。
【０２９９】
また、本発明者らは、計算機シミュレーションにより獲得された神経振動子へのフィードバック項を実機に実装して検証してみた。その結果、およそ６０％が実機歩行可能であった。残り４０％あまりで歩行が実現できなかった原因はシミュレータのモデル化誤差によるものと考えられる。このような場合であっても、実機を用いて追加学習を行なうことができる。何故ならば、学習アルゴリズム自身は演算量が小さいことから、実機環境を用いてオンラインで学習を行なうことができるからである。
【０３００】
図５９には、計算機シミュレーションで得られたフィードバック制御器を初期値として用い、実機環境下で追加学習を行なった結果を示している。同図において、横軸は試行回数、縦軸は１回の試行で獲得された総報酬を示している。追加学習開始直後には転倒していたが、およそ１００回の試行でフィードバックが改善され、継続的な歩行を実現することができた。
【０３０１】
追加学習を行なえば、計算機シミュレーションと実機のモデル化誤差を吸収することができる。また、シミュレーション上では学習していない未知の歩行面、例えば傾斜や段差のある環境においても、適応的に歩行パターンを学習することができる。
【０３０２】
Ｈ．他の運動への適用
図３３に示すように、２関節ロボットのアームを用いてクランクを廻すタスクを考える。振動子を関節に配置するのではなく、作業座標系に沿って配置する。このようにした場合、２素子振動子と４素子振動子を組み合わせて用い、図３４に示すように配置することで、タスクに応じた位相差を振動子結合の構造として生成することができる。
【産業上の利用可能性】
【０３０３】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０３０４】
本明細書では、２足歩行型のロボット装置に適用した実施形態を中心に説明してきたが、本発明の要旨は必ずしもこれに限定されるものではない。２足以外の歩行型ロボットや、脚式以外のロボット装置、あるいはロボット以外の機械装置であっても、周期運動を行なう可動部に対して、自励発振と引き込み特性を持つ振動子を用いて運動制御を行なうことによって、同様に本発明の効果を奏することが可能である。
【０３０５】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０３０６】
【図１】図１は、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方から眺望した様子を示した図である。
【図２】図２は、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を後方から眺望した様子を示した図である。
【図３】図３は、脚式移動ロボット１００が具備する関節自由度構成を模式的に示した図である。
【図４】図４は、脚式移動ロボット１００の制御システム構成を模式的に示した図である。
【図５】図５は、振動子を用いたロボット装置の運動制御の原理を説明するための図である。
【図６】図６は、振動子を用いたロボット装置の運動制御の原理を説明するための図である。
【図７】図７は、２素子型神経振動子の構成例を示した図である。
【図８】図８は、振動子において入力信号に出力信号が引き込まれていく様子を示した図である。
【図９】図９は、基準座標系として脚先のデカルト座標系を設定し、脚に振動子を配置した構成例を示した図である。
【図１０】図１０は、定常直進歩行について考察する際の座標軸の設定を示した図である。
【図１１】図１１は、２素子型神経振動子に時刻２．６秒で正弦波入力した場合の出力の時系列変化を示した図である。
【図１２】図１２は、２つの振動子にあらかじめ９０度の位相差を持つフィードバック信号が入力される様子を示した図である。
【図１３】図１３は、４素子型神経振動子の構成例を示した図である。
【図１４】図１４は、４素子型神経振動子の出力波形を示した図である。
【図１５】図１５は、脚式移動ロボットの下肢の座標系と振動子の配置を示した図である。
【図１６】図１６は、振動子を用いた前額面内運動の制御を説明するための図である。
【図１７】図１７は、脚式移動ロボットがＺ方向に沿って配置した振動子φzにより脚Ｚ位置を駆動させて足踏み運動を生成する際、振動子φzに進展反応を利用したフィードバック系を導入して、常に床面からの体幹高さＰbody_Zを高く保持する様子を示した図である。
【図１８】図１８は、神経振動子のパラメータを調節することにより大きなフィードバック値が入力された場合に発振を止める様子を示した図である。
【図１９】図１９は、Ｚ方向に沿って配置した振動子φzにより脚Ｚ位置を駆動させて前額面内の足踏み運動を生成する際に、フィードバック系ｇER及びｇVSRを導入したときのシミュレーション結果を示した図である。
【図２０】図２０は、Ｚ方向に沿って配置した振動子φzにより脚Ｚ位置を駆動させて前額面内の足踏み運動を生成する際に、フィードバック系ｇER及びｇVSRを導入したときのシミュレーション結果を示した図である。
【図２１】図２１は、Ｚ方向に沿って配置した振動子φzにより脚Ｚ位置を駆動させて前額面内の足踏み運動を生成する際に、フィードバック系ｇER及びｇVSRを導入したときのシミュレーション結果を示した図である。
【図２２】図２２は、Ｚ方向に沿って配置した振動子φzにより脚Ｚ位置を駆動させて前額面内の足踏み運動を生成する際に、フィードバック系ｇER及びｇVSRを導入したときのシミュレーション結果を示した図である。
【図２３】図２３は、ロボットの矢状面内における歩行運動の振動子を用いた制御を説明するための図である。
【図２４】図２４は、ロボットの矢状面内における歩行運動の振動子を用いた制御を説明するための図である。
【図２５】図２５は、振動子を用いてロボットの前額面内足踏み運動の制御を行なったときのシミュレーション結果を示した図である。
【図２６】図２６は、２素子型神経振動子により脚Ｚ位置を駆動させて前額面内及び矢状面内の運動を同期させて歩行する際に、Ｙ方向へ外力を印加させた場合のシミュレーション結果を示した図である。
【図２７】図２７は、４素子型神経振動子により脚Ｚ位置を駆動させて前額面内及び矢状面内の運動を同期させて歩行する際に、Ｙ方向へ外力を印加させた場合のシミュレーション結果を示した図である。
【図２８】図２８は、４素子型神経振動子を用いてロボットの歩行運動を制御する際の、体幹ロール角速度と体幹ピッチ角速度の２次元を入力し、Ｘ方向に配置した神経振動子へのフィードバック項ｇxを学習する学習アルゴリズムの構成を示した図である。
【図２９】図２９は、２素子型神経振動子を用いたロボットの歩行運動制御において、体幹ロール角速度と体幹ピッチ角速度の２次元を入力とし、Ｘ方向に配置した神経振動子へのフィードバック項ｇxを学習する計算機シミュレーションを行なった際の学習曲線を示した図である。
【図３０】図３０は、４素子型神経振動子を用いたロボットの歩行運動制御において、体幹ロール角速度と体幹ピッチ角速度の２次元を入力とし、Ｘ方向に配置した神経振動子へのフィードバック項ｇxを学習する計算機シミュレーションを行なった際の学習曲線を示した図である。
【図３１】図３１は、４素子振動子を用いて獲得されたＣｒｉｔｉｃ及びＡｃｔｏｒを示した図である。
【図３２】図３２は、４素子振動子を用いて獲得された制御器を用いてロボットの歩行制御を行なう際に、実機で追加学習を行なった結果を示した図である。
【図３３】図３３は、４素子型神経振動子を２関節ロボットのアームによるクランク回し運動に適用した例を示した図である。
【図３４】図３４は、４素子型神経振動子を２関節ロボットのアームによるクランク回し運動に適用した例を示した図である。
【図３５】図３５は、振動子が持つ引き込み特性を利用したロボットの制御システムの基本的構成を示した図である。
【図３６】図３６は、ロボット装置の前額面内の足踏み運動を制御するシステム構成例を示した図である。
【図３７】図３７は、ロボット装置の直進歩行運動を２素子型神経振動子で制御するシステム構成例を示した図である。
【図３８】図３８は、ロボット装置のＸ方向運動に４素子型の神経振動子を用いた場合の直進歩行運動を制御するシステム構成例を示した図である。
【図３９】図３９は、２足歩行ロボットが円弧に沿って旋回運動を行なうときの左右の足平の軌道を示した図である。
【図４０】図４０は、ロボット装置のＸ方向運動を４素子型神経振動子で記述するとともに、Ｚ方向運動を２素子型神経振動子で記述して所定の旋回半径の円弧に沿った旋回運動を制御するシステム構成例を示した図である。
【図４１】図４１は、Ｘ方向運動を４素子型神経振動子で記述するとともにＺ方向運動を２素子型神経振動子で記述して歩行運動が制御されるロボットの重心軌跡の計算機シミュレーション結果を示した図である。
【図４２】図４２は、ロボットの現在の進行方向と目標地点のなす角をθsteeringとし、目標地点までの距離をＤとおいたときに旋回半径Ｒdesiredを求める仕組みを説明するための図である。
【図４３】図４３は、ロボット装置のＸ方向運動を４素子型神経振動子で記述するとともにＺ方向運動を２素子型神経振動子で記述して、旋回運動を利用した目標地点への歩行を制御するシステム構成例を示した図である。
【図４４】図４４は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。
【図４５】図４５は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。
【図４６】図４６は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。
【図４７】図４７は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。
【図４８】図４８は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。
【図４９】図４９は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。
【図５０】図５０は、複数の目標点を順次設定して各目標点間の旋回歩行により星型の経路を歩行させた場合の計算機シミュレーション結果を示した図である。
【図５１】図５１は、ロボット装置のＸ方向の振動子に４素子型の神経振動子を用いた場合の直進歩行運動制御に対し、Ｘ方向振動子φxのフィードバック項ｇxを強化学習する仕組みを導入したシステム構成例を示した図である。
【図５２】図５２は、神経振動子フィードバック信号生成部内の学習器と、制御対象としてのロボットとの関係を示した図である。
【図５３】図５３は、ロボット装置の所定の旋回半径の円弧に沿った旋回運動制御に対し、Ｘ方向振動子φxのフィードバック項ｇxを強化学習する仕組みを導入したシステム構成例を示した図である。
【図５４】図５４は、歩幅Ａxを０．０１５メートル、旋回半径Ｒdesiredを０．３メートルに設定して神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションを行なったときの学習曲線を示した図である。
【図５５】図５５は、歩幅Ａxを０．０１５メートル、旋回半径Ｒdesiredを０．３メートルに規定したときに神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションにおける中間出力ｕを示した図である。
【図５６】図５６は、歩幅Ａxを０．０１５メートル、旋回半径Ｒdesiredを０．５メートルに規定したときに神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションにおける中間出力ｕを示した図である。
【図５７】図５７は、歩幅Ａxを０．０１５メートル、旋回半径Ｒdesiredを１．０メートルに規定したときに神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションにおける中間出力ｕを示した図である。
【図５８】図５８は、歩幅Ａx０．０１５メートルで直進歩行（旋回半径Ｒdesired＝∞）するときに神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションにおける中間出力ｕを示した図である。
【図５９】図５９は、計算機シミュレーションで得られたフィードバック制御器を初期値として用い、実機環境下で追加学習を行なった結果を示した図である。
【符号の説明】
【０３０７】
１…首関節ヨー軸
２Ａ…第１の首関節ピッチ軸
２Ｂ…第２の首関節（頭）ピッチ軸
３…首関節ロール軸
４…肩関節ピッチ軸
５…肩関節ロール軸
６…上腕ヨー軸
７…肘関節ピッチ軸
８…手首関節ヨー軸
９…体幹ピッチ軸
１０…体幹ロール軸
１１…股関節ヨー軸
１２…股関節ピッチ軸
１３…股関節ロール軸
１４…膝関節ピッチ軸
１５…足首関節ピッチ軸
１６…足首関節ロール軸
３０…頭部ユニット，４０…体幹部ユニット
５０…腕部ユニット，５１…上腕ユニット
５２…肘関節ユニット，５３…前腕ユニット
６０…脚部ユニット，６１…大腿部ユニット
６２…膝関節ユニット，６３…脛部ユニット
８０…制御ユニット，８１…主制御部
８２…周辺回路
９１，９２…接地確認センサ
９３，９４…加速度センサ
９５…姿勢センサ
９６…加速度センサ
１００…脚式移動ロボット
【図１】
2006289602.tif 000031
【図２】
2006289602.tif 000032
【図３】
2006289602.tif 000033
【図４】
2006289602.tif 000034
【図５】
2006289602.tif 000035
【図６】
2006289602.tif 000036
【図７】
2006289602.tif 000037
【図８】
2006289602.tif 000038
【図９】
2006289602.tif 000039
【図１０】
2006289602.tif 000040
【図１１】
2006289602.tif 000041
【図１２】
2006289602.tif 000042
【図１３】
2006289602.tif 000043
【図１４】
2006289602.tif 000044
【図１５】
2006289602.tif 000045
【図１６】
2006289602.tif 000046
【図１７】
2006289602.tif 000047
【図１８】
2006289602.tif 000048
【図１９】
2006289602.tif 000049
【図２０】
2006289602.tif 000050
【図２１】
2006289602.tif 000051
【図２２】
2006289602.tif 000052
【図２３】
2006289602.tif 000053
【図２４】
2006289602.tif 000054
【図２５】
2006289602.tif 000055
【図２６】
2006289602.tif 000056
【図２７】
2006289602.tif 000057
【図２８】
2006289602.tif 000058
【図２９】
2006289602.tif 000059
【図３０】
2006289602.tif 000060
【図３１】
2006289602.tif 000061
【図３２】
2006289602.tif 000062
【図３３】
2006289602.tif 000063
【図３４】
2006289602.tif 000064
【図３５】
2006289602.tif 000065
【図３６】
2006289602.tif 000066
【図３７】
2006289602.tif 000067
【図３８】
2006289602.tif 000068
【図３９】
2006289602.tif 000069
【図４０】
2006289602.tif 000070
【図４２】
2006289602.tif 000071
【図４３】
2006289602.tif 000072
【図５０】
2006289602.tif 000073
【図５１】
2006289602.tif 000074
【図５２】
2006289602.tif 000075
【図５３】
2006289602.tif 000076
【図５４】
2006289602.tif 000077
【図５９】
2006289602.tif 000078
【図４１】
2006289602.tif 000079
【図４４】
2006289602.tif 000080
【図４５】
2006289602.tif 000081
【図４６】
2006289602.tif 000082
【図４７】
2006289602.tif 000083
【図４８】
2006289602.tif 000084
【図４９】
2006289602.tif 000085
【図５５】
2006289602.tif 000086
【図５６】
2006289602.tif 000087
【図５７】
2006289602.tif 000088
【図５８】
2006289602.tif 000089