JP2006289602A - ロボット装置及びその制御方法 - Google Patents

ロボット装置及びその制御方法 Download PDF

Info

Publication number
JP2006289602A
JP2006289602A JP2006028875A JP2006028875A JP2006289602A JP 2006289602 A JP2006289602 A JP 2006289602A JP 2006028875 A JP2006028875 A JP 2006028875A JP 2006028875 A JP2006028875 A JP 2006028875A JP 2006289602 A JP2006289602 A JP 2006289602A
Authority
JP
Japan
Prior art keywords
motion
vibrator
robot apparatus
feedback
oscillator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006028875A
Other languages
English (en)
Other versions
JP5052013B2 (ja
Inventor
Gen Endo
玄 遠藤
Atsushi Morimoto
淳 森本
Takamitsu Matsubara
崇充 松原
Atsushi Nakanishi
淳 中西
Cheng Gordon
チェン ゴードン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Science and Technology Agency
ATR Advanced Telecommunications Research Institute International
Sony Corp
Original Assignee
Japan Science and Technology Agency
ATR Advanced Telecommunications Research Institute International
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Science and Technology Agency, ATR Advanced Telecommunications Research Institute International, Sony Corp filed Critical Japan Science and Technology Agency
Priority to JP2006028875A priority Critical patent/JP5052013B2/ja
Publication of JP2006289602A publication Critical patent/JP2006289602A/ja
Application granted granted Critical
Publication of JP5052013B2 publication Critical patent/JP5052013B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

【課題】 複数の物理振動子を配置して運動制御を行なう際の、振動子間の位相関係を好適に調整する。
【解決手段】 可動部の周期運動の制御に引き込み特性を利用するために、4素子型の神経振動子を基準振動子として用いている。4素子型の振動子は90度位相差のある信号を出力する構造を備えている。したがって、90度異なる振動子の出力が必要となる局面においては、センサ・フィードバックを用いることなく所望の位相関係を調整することができ、堅牢な制御システムを構築することができる。
【選択図】 図14

Description

本発明は、脚などの複数の可動部を備えたロボット装置及びその制御方法に係り、特に、所定の安定規範に基づいて姿勢の安定性を自律的に維持するロボット装置及びその制御方法に関する。
さらに詳しくは、本発明は、可動部の周期運動に着目して姿勢安定制御を行なうロボット装置及びその制御方法に係り、特に、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を行なうロボット装置及びその制御方法に関する。
最近、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。これら脚式移動ロボットは、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作を実現できるという点で優れている。
この種のロボットが転倒すると、実行中の作業が中断し、転倒状態から起き上がって作業を再開するために相当の労力や時間が払われる。また、転倒によって、ロボット本体自体、あるいはロボットと衝突する物体にも致命的な損傷を与える危険がある。このため、脚式移動ロボットに関する姿勢制御や安定歩行に関する技術は既に数多提案されている。
脚式移動ロボットの歩行運動制御技術は、例えば、モデルベースト・アプローチと非モデルベースト・アプローチに大別することができる。
モデルベースト・アプローチの例として、ZMP(Zero Moment Point)を歩行の安定度判別の規範とする制御技術(例えば、特許文献1及び特許文献2を参照のこと)や、線形倒立振子制御(例えば、非特許文献1を参照のこと)などが挙げられる。
ZMP理論は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。その力学的推論の帰結として、足底接地点と路面の形成する支持多角形の内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちZMPが存在する(例えば、非特許文献2を参照のこと)。目標ZMP制御では、すべての瞬間において、動的釣り合いを取るように脚部などの運動を計画する。ZMP規範に基づく2足歩行パターン生成は、足底着地点をあらかじめ設定することができ、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。
しかしながら、ZMP制御を始めとしたモデルベーストによる歩行運動制御を実現するためには、事前情報としてロボット各部位の重心位置や慣性モーメント、リンク長などの精緻なモデル情報が必要であり、不整地環境の歩行についても、環境の事前情報が必要となる場合が多い。また、モデル情報に基づいて設計された関節角軌道を正確に追従できるような高精度なアクチュエータが必要となる。その結果、未知の外力が印加される場合や未知の不整地を歩行する場合には、頑健性に劣ることとなる。また、高精度のアクチュエータを使用すると、装置の製造コストが増大するという問題がある。
例えば、ZMP規範に基づく軌道計画を立てるには、ロボット自身や環境を正確にモデリングし、運動の実現には高精度な軌道追従制御系により環境モデルと常に整合を取る必要がある。言い換えれば、未知の環境への適応性に問題がある。ZMP方程式を数学的に解くことは演算負荷が比較的高く、リアルタイム制御への適用には困難を伴うこともある。また、ZMP方程式を満たすことは、ロボットの姿勢安定制御において十分条件であって、必要条件ではない。例えば、人間の歩行などを観察すると、必ずしもすべての瞬間でZMP安定余裕が最大となるように保たれている訳ではない。
他方、ヒトなどの生体メカニズムでは、計画ZMP追従制御に依存しない形態で、四肢が持つ物理法則を好適に利用して、効率よく歩行動作を行なっていると言われている。ロボットも、このように物理法則をうまく利用することができれば、精緻なモデルを必要としないで(すなわち少ない演算負荷により)、アクチュエータの駆動トルクを要せず、高いエネルギ変換効率で歩行動作を実現することができると思料される。
最近では、モデルベーストの制御技術における上記の問題点に鑑みて、精緻な機械モデル情報や環境情報を事前に必要としない、非モデルベーストのアプローチが注目を集め始めている。その代表例として、中枢パターン生成器(CentralPattern Generator:CPG)を用いた方法が挙げられる。
CPGは生物の神経系に存在するリズム発生器のことであり、外部からの入力がない場合でも固有振動数で自励発振する。例えば、ラットの神経系のみを単体に取り出した場合、周期的な励起が観測される。また、大脳を除去した猫を速度の変化するトレッドミル上に置くと、その移動速度に応じて歩容を遷移させることが知られている(例えば、非特許文献3を参照のこと)。また、CPGは、環境からのフィードバック信号に対して引き込み特性(Entrainment)を持つことが知られている。すなわち、CPGの固有振動数が環境に応じて自律的に調整される機能を持つ。
生物の神経系が持つ自励発振と引き込み特性という特長を利用して、環境変化に対して頑健な制御器を構成しようとする研究が近年盛んになっている。例えば、ロボットの可動部の少なくとも一部を、このような引き込み特性を持つ振動子として捉え、ロボットが行なう歩行やその他の運動を周期運動として扱い、この振動子の位相や振動数を決定又は制御するという形態で歩行動作を制御することができる。このような周期運動が継続することを「安定な歩行」とみなすことができる。
現在、神経振動子を用いた2足歩行シミュレーションに関し、幾つかの提案がなされている(例えば、非特許文献4〜6を参照のこと)。これらはいずれも、引き込み特性を持つ振動子に対し、適切なセンサ・フィードバックを行なうことで歩行を実現している。また、位相振動子による3次元2足歩行運動についても提案がなされている(例えば、非特許文献7〜8を参照のこと)。
本発明者らは、このような引き込み特性を用いて歩行運動などのロボットの動作制御を行なう場合には、振動子に対するフィードバック系をどのように調整するかという点に技術的課題があると思料する。非特許文献4では、生物学的知見に基づいて、手動による試行錯誤を行なっている。また、非特許文献5では、Genetic Algorithmを用いて最適化を行なっている。また、非特許文献6では、CPG actor−criticと名付けた強化学習の枠組みを用いている。これらはいずれもシミュレーション段階での成果を議論したものであり、実機上での動作に関して報告したものではない。
ほとんどのシミュレーションでは関節軸毎に回転型アクチュエータを配置し、これらをトルク制御に基づいて所望の運動を実現する。例えば、直接の制御対象である関節軸毎に振動子を配置し、環境からのフィードバック情報を用いて歩行やその他の運動を生成することが考えられる(例えば、非特許文献4を参照のこと)。
このようにロボット装置上に複数の振動子が配置された構成では、振動子間の位相関係をどのように調整するかが重要である、と本発明者らは思料する。前述した従来技術(非特許文献4〜6を参照)ではいずれも、振動子間の位相関係は振動子結合によりゼロ又は180度に固定しており、その他の位相差はセンサ・フィードバックによって調整している。しかしながら、実機上のセンサ信号はノイズや遅れを含むことから、適切な位相差を生成できるとは限らない。また、歩行開始時や歩行停止時の非定常的で過渡的なセンサ信号を利用することはできず、適切な位相差を生成できない。さらに、実機上で実装可能なセンサ数は限定されており、必要な位相差を生成するためのセンサ信号をすべて用意できるとも限らない。
要言すれば、センサ・フィードバックにより振動子の位相調整を行なう場合、外乱に対する耐性が低下したり、あるいはセンサそのものが実装できなかったりするという問題がある。
また、ヒューマノイドなどの脚式移動ロボットに期待される多様な移動機能を実現するためには、移動方向の制御が必要であることが明確であるにも拘らず、過去の研究の多くは直進運動のみを扱うものばかりである。
例えば、非モデルベースト制御において、CPGとして結合位相振動子を用い、脚振動子の位相の関数として脚のヨー回転を生成することによって、3次元の旋回2足歩行運動を扱うことができる(例えば、非特許文献8を参照のこと)。しかしながら、旋回半径を陽に規定できない、多くの未知パラメータを調整する必要がある、といった問題がある。
特許第3443077号公報 特許第3443116号公報 S.Kajita,F.Kanehiro,K.Kaneko,K.Fujiwara,K.Yokoi and H.Hirukawa,"Biped walking pattern generation by asimple three−dimensional inverted pendulum model"(Advanced Robotics,Vol.17,No.2,pp.131−147,2003) ヴコブラトビッチ(Miomir Vukobratovic)著「脚式移動ロボット(LEGGED LOCOMOTION ROBOTS)」(加藤一郎外著『歩行ロボットと人工の足』(日刊工業新聞社)) Avis H. Cohen: Control principle for locomotion - lookingtoward biology, AMAM 2003 G. Taga, Y. Yamaguchi, H. Shimizu: Self−organized control of bipedallocomotion by neural oscillators in unpredictable environment, Biological Cybernetics,vol.65, pp.147−159(1991) 長谷,山崎:神経振動子と遺伝的アルゴリズムを用いた実2足歩行類似運動の生成,計測自動制御学会論文集,Vol.33,No.5,pp.448−454(1997) 中村,佐藤,石井:神経振動子ネットワークを用いたリズム運動に対する強化学習法,電子情報通信学会論文誌,Vol.J87−D−2,No.3,pp.893−902(2004) K.Tsuchiya,S.Aoi,K.Tsujita,"Locomotion Robot using Nonlinear Oscillators"(International Conference onIntelligent Robots and Systems(IROS‘03),pp.1745−1750(2003)) S.Aoi,K.Tsuchiya,K.Tsujita,"Turning Control of a Biped Locomotion Robot using Nonlinear Oscillators"(International Conference on Robotics and Automation(ICRA‘04),00.3043−0348(2004))
本発明の目的は、可動部の周期運動に着目して姿勢安定制御を好適に行なうことができる、優れたロボット装置及びその制御方法を提供することにある。
本発明のさらなる目的は、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を好適に行なうことができる、優れたロボット装置及びその制御方法を提供することにある。
本発明のさらなる目的は、複数の振動子を配置して運動制御を行なう際の、振動子間の位相関係を好適に調整することができる、優れたロボット装置及びその制御方法を提供することにある。
本発明のさらなる目的は、実機上に搭載したセンサからのフィードバックのみに頼ることなく、振動子の位相調整を行ない、振動子の引き込み特性を用いて可動部の周期運動を好適に制御することができる、優れたロボット装置及びその制御方法を提供することにある。
本発明のさらなる目的は、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を行なうことで、円弧に沿った歩行(旋回歩行)を実現することができる、優れたロボット装置及びその制御方法を提供することにある。
本発明は、上記課題を参酌してなされたものであり、複数の可動部を有するロボット装置であって、
少なくとも一部の可動部の周期運動に関する位相信号を生成する1以上の振動子からなる位相信号発生手段と、
各振動子に対し、フィードバック信号gを所定のフィードバック・ゲインhを以って入力する入力手段と、
前記位相信号に基づいて前記可動部の制御信号を生成する制御手段と、
前記制御信号に従って前記可動部を駆動する駆動手段を備え、
前記位相信号発生手段を構成する少なくとも1つの振動子は、あらかじめ位相関係が90度異なる出力q0及びq1を持つ4素子型神経振動子を基準振動子として構成される、
ことを特徴とするロボット装置である。
本発明は、運動生理学・脳神経科学・計算機学習の知見を用い、脚などの可動部位の少なくとも一部を振動子として捉え、歩行やその他の動作を周期運動として扱うロボット装置に関する。
当該ロボット装置の制御手段は、振動子の出力する位相信号を脚などの可動部の関節の位置や角速度、角加速度、トルクといった関節指示値(制御信号)にマッピングする。そして、可動部を構成する各関節は制御信号に基づいて駆動する。可動部が操作した際の関節位置や角速度角加速度、トルクや外力、あるいはその他の環境情報がセンサによって計測されるが、入力手段は、これらのセンサ出力値に基づいてフィードバック信号を生成して、振動子に入力する。すなわち、フィードバック信号に基づいて振動子の位相や振動数を決定又は制御することでロボット装置の動作を制御するが、振動子はフィードバック信号に対し引き込み特性を持ち、その固有振動数は環境に応じて自律的に調整される。
例えば、ロボット装置が脚式移動ロボットである場合、歩行運動そのものを周期運動として捉え、神経振動子のようなもので周期信号を発生し、それを用いて脚部の関節アクチュエータの制御を行なう。このとき、観測される歩行運動の周期的な信号と神経振動子を干渉させることによって引き込み現象が発生し、安定な歩行運動を得ることができる。この場合、周期運動が継続することを「安定な歩行」とみなすことができる。
ここで、振動子に対するフィードバック系をどのように調整するかという点に技術的課題がある。また、ロボット装置上に複数の振動子が配置された構成では、協調した運動を生成するため振動子間の位相関係を調整しなければならない。例えば、2つの振動子出力間で90度の位相差が必要であるとすると、あらかじめ90度の位相差を持つ入力信号を各々の振動子に入力することが必要となる。
センサなどの検出信号から得られる外部環境を振動子に対する入力信号として扱うことができる。しかしながら、実機上で実装可能なセンサ数は限定されており、しかもノイズや遅れを含む。加えて、適切な位相関係は過渡状態では得られ難く、定常状態でなければ有効なセンサ・フィードバックが得られず、外乱に対する耐性が低い。
そこで、本発明では、ロボット装置における可動部の周期運動を引き込み特性により制御する振動子として、従来の2素子型神経振動子に代えて、4素子型神経振動子を適用している。4素子型神経振動子は、センサ信号に頼ることなく、構造的に90度の位相遅れを持たせることができることから、2素子型神経振動子に比べて頑健である。
また、4素子型神経振動子の場合、一方の2素子型神経振動子の出力と他方の2素子型神経振動子の出力にそれぞれ重みを付けて線形結合することで、入力に対して任意の位相差を生成することができる。
また、4素子型神経振動子は、2素子型神経振動子と同様の引き込み特性を持つことから、センサ信号(すなわち環境情報)に基づくフィードバック信号に同期させることも可能である。また、2素子間に結合があることから、一方の振動子の周期が調節されると他方の振動子にも影響を及ぼすことにより、周期を自動調節することが可能である。
また、フーリエ級数展開では正弦波・余弦波の基底関数があれば任意の周期関数を表現できるということが当業界で知られている。そこで、4素子型の振動子と2素子型の振動子を用意することで、近似的にこれらの基底関数を用意することができ、これらを組み合わせることで、より広範な周期関数を表現することが可能となる。
また、ロボット装置が、可動部として複数の脚を含む脚式移動ロボットである場合、その直進歩行運動を前額面内運動と矢状面内運動に分解し、それぞれの運動は独立であると近似できることが当業界で知られている。そして、前額面内運動に対し2素子型神経振動子による制御を用いるとともに、矢状面内運動に対し4素子型神経振動子による制御を用いるようにしてもよい。
前額面内運動のうちZ方向運動は、自重を支える運動と、遊脚のためのクリアランスをとる動きを左右の脚で交互に行なう。ここで、振動子が定常的な発振を行ない、安定した足踏み動作を継続するために、Z方向の振動子φzに対し、進展反応や前庭脊髄反応を表現したフィードバック系を導入するようにしてもよい。
進展反応は、脚が進展されているとき、足裏に力が加わるとより強く踏み込む動作である。Z方向運動を記述する振動子φzに対し、足裏に印加される力に応じたフィードバック信号を入力することにより、進展反応を実現することができる。例えば、床反力が大きくなったとき、より脚を踏み込むように動作する結果、常に床面からの体幹高さを高く保持することができる。
また、前庭脊髄反応とは、体幹が傾斜した場合、傾きを止める側の筋肉が進展される動作である。体幹のロール方向の傾きを振動子φzにフィードバックすることで、この反射を導入することができる。
一方、矢状面内の歩行運動については、足先軌道が楕円のような軌道であれば歩行が可能である。この場合、Z方向の運動とは位相が90度ずれた信号が必要であるから、そこで、矢状面内運動のうちX方向運動を4素子型神経振動子で記述する。例えば、一方の2素子型神経振動子にはZ方向振動子と同じフィードバック系を導入することで足踏み運動と同期させる。また、他方の2素子型神経振動子には体幹のロール方向角速度をフィードバックする。この場合、4素子型神経振動子の構造から、Z方向運動の振動子とは位相が90度ずれたフィードバック信号を自律的に得ることができる。
また、多くのロボット装置は関節軸毎に回転型アクチュエータを配置していることから、直接の制御対象である関節軸毎に神経振動子を配置するという設計方法が考えられる。しかしながら、このような順動力学での振動子の配置が、振動子の振る舞いを系全体の挙動として理解することを難しくなる。
そこで、本発明では、制御目標である可動部に対する基準座標系を設定し、この基準座標系の座標軸毎に可動部についての振動子を記述する。この場合、振動子から基準座標系における可動部への指令値を得て、可動部に対する位置・速度・力指令を逆キネマティクス演算により関節角度・関節角速度・関節トルク指令に変換することができる。また、基準座標系における可動部位の状態量を振動子にフィードバックすることで、引き込み現象を有効に利用することができる。
このように基準座標系の座標軸毎に可動部についての振動子を記述する場合、ロボット装置が実現する機能に応じた振動子の配置を実現することができる。また、制御目標である可動部の作用点について振動子を記述するので、振動子の役割を直観的に理解し易い配置となり、振動子のパラメータを調節することが容易になる。そして、振動子による可動部の作用点に対する指令値を該当する関節部に対する指令値に変換することで、直接の制御対象である関節部アクチュエータの指令値を得ることができるので、ロボット装置の系全体としての力学的特性に対して有効に引き込みを行ない、振動子による引き込み現象をより有効に利用することができる。
基準座標系は、可動部が実現する機能毎に割り当てられた座標軸で構成することができる。例えば、ロボット装置が可動部位として足部を含む脚式移動ロボットである場合には、脚に対する基準座標系を、ロボット装置の体重を支持する脚の長さ方向と、足部の接地位置又は前記脚の軌道を決定するロール及びピッチ方向の各座標軸で構成し、基準座標系の座標軸毎に振動子が設けることができる。
また、神経振動子を用いた2足歩行の研究の多くは、移動方向の制御が必要であることが明確であるにも拘らず、過去の研究の多くは矢状面内の運動のみであり、直進運動を扱うものばかりである。3次元の旋回2足歩行運動を扱うシステムであっても、旋回半径を陽に規定できない、多くのパラメータを調整する必要があるなどの問題がある。
これに対し、本発明に係るロボット装置では、引き込み特性を持つ振動子をタスクに応じた作業座標系方向に配置して周期的な歩行運動の制御を行なうが、歩幅と旋回半径が規定されたときに、幾何学的拘束条件を考慮して脚のヨー回転とy軸位置を定めることによって、歩幅と旋回半径より求められる幾何学的な関係から円弧に沿った旋回歩行を実現することができる。
このように振動子の引き込み特性を利用して旋回運動が可能となる場合、制御手段は、目標点に向かって到達するように旋回半径を規定することで、目標点への到達運動を実現することができる。また、最終的な目的地に至る途中で複数の目標点を順次設定して各目標点間の歩行を旋回運動で実現し、これらの旋回運動を接続することで複雑な歩行経路を指定して、曲線的な経路に沿った歩行運動を行なうこともできる。
ここで、ロボット装置から得られるセンサ信号から振動子への入力信号にマッピングする際、学習を行なうことでマッピングの最適化を行なうことができる。上述したように可動部の周期運動を引き込み特性により制御する振動子として、任意の位相に調整可能となる4素子型の神経振動子を用いる場合、あらかじめ適切な位相差を振動子結合として導入することによって、学習の収束性を高めることができるとともに、さらに報酬関数の設定により多様な運動を生成することができる。
例えば、脚式移動ロボットを前額面内運動と矢状面内運動に分離して考えた場合、上述したように、ロール軸及びヨー軸で構成されるXZ平面で見ると、足先軌道は楕円のような軌道であれば歩行が可能であり、X方向運動を記述する振動に対し、Z方向の運動とは位相が90度ずれたフィードバック信号を与えればよい。しかしながら、これは直観的に求めたものであり、最適とは限らない。そこで、4素子型神経振動子を用いた歩行制御と機械学習の一手法である強化学習とを組み合わせることで、歩行運動の最適化を図ることができる。
この強化学習手段は、例えば方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の2次元を入力とし、X方向運動を記述する振動子へのフィードバック項を学習することができる。
多自由度のロボットの挙動を2次元の状態量に集約していることから、通常の学習の枠組みでは収束させることは一般に難しいと考えられる。これに対し、方策勾配法によれば、このような部分観測マルコフ決定過程問題も扱うことができることが当業界で知られている。
また、強化学習の報酬関数を設計することで、抽象的な高次レベルでのフィードバック項の最適化が可能であり、多様な歩行運動を生成することが可能である。
例えば、ロボット装置に腰の高さと移動速度を反映する報酬関数を設定する。ここで、報酬関数に消費エネルギを罰として与えることによって、より移動効率の高い歩行を得ることができる。また、ヨー回りの目標角速度を与え、その誤差を罰として与えることによって、旋回するための歩行運動を得ることができる。
本発明によれば、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を好適に行なうことができる、優れたロボット装置及びその制御方法を提供することができる。
本発明に係るロボット装置は、複数の振動子を配置して運動制御を行なう際の、振動子間の位相関係を好適に調整することができる。振動子を用いたロボットの運動制御は、非モデルベーストの制御技術であり、振動子が持つ引き込み特性により、ロボット自身のモデル変化に対して堅牢である。また振動子の引き込み特性により、ロボット装置にペイロードが加わった場合であっても歩行が可能である。
また、本発明に係るロボット装置は、実機上に搭載したセンサからのフィードバックのみに頼ることなく、振動子の位相調整を行ない、振動子の引き込み特性を用いて可動部の周期運動を好適に制御することができる。
本発明に係るロボット装置は、可動部の周期運動の制御に引き込み特性を利用するために、4素子型の神経振動子を基準振動子として用いている。4素子型の振動子は90度位相差のある信号を出力する構造を備えている。したがって、90度異なる振動子の出力が必要となる局面においては、センサ・フィードバックを用いることなく所望の位相関係を調整することができ、堅牢な制御システムを構築することができる。
また、4素子型の神経振動子が出力する90度位相差のある信号からSIN波及びCOS波を得ることができる。任意の周期関数はフーリエ級数展開することにより、SIN波及びCOS波と近似可能な波形を用いて記述することが可能であることから、可動部のさまざまな周期運動を引き込み特性により制御することが可能となる。
また、4素子型の神経振動子は、90度位相差のある出力信号を持つことから、例えば方策勾配法などの強化学習を行なうことにより、振動子へのフィードバック項を最適化することができる。
また、4素子型の神経振動子は、必要な位相差を振動子結合によりあらかじめ陽に導入できることから、安定な歩行パターンを生成し易い。例えば、方策勾配法などの強化学習と組み合わせて、振動子へのフィードバック項を最適化することができる。
また、本発明によれば、引き込み特性を持つ振動子を用いて可動部の周期運動の制御を行なうことで、歩幅と旋回半径より求められる幾何学的な関係から円弧に沿った歩行(旋回歩行)を実現することができる、優れたロボット装置及びその制御方法を提供することができる。
本発明によれば、詳細なモデル情報を必要とせずに旋回歩行を実現することができ、振動子の引き込み特性を用いることで外乱に対して堅牢な歩行制御を行なうことができる。
また、本発明によれば、旋回半径を陽に規定することが可能であり、経路計画を簡単化することができる。勿論、旋回半径が歩行とともに変化する場合であっても、追従が可能である。
ロボット装置は、旋回歩行を利用することで、さまざまな目標点に到達する歩行を行なうことができる。また、目標到達点を系列的に与えていくことで、歩行経路を指定することも可能である。さらに、障害物回避など、高次の指令に従った歩容も可能となる。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
以下、図面を参照しながら本発明の実施形態について詳解する。
A.ロボット装置の構成
図1及び図2には本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット100が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット100は、胴体部と、頭部と、左右の上肢部と、脚式移動を行なう左右2足の下肢部とで構成され、例えば胴体に内蔵されている制御部(図示しない)により機体の動作を統括的にコントロールするようになっている。
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
制御部は、この脚式移動ロボット100を構成する各関節アクチュエータの駆動制御や各センサ(後述)などからの外部入力を処理するコントローラ(主制御部)や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
このように構成された脚式移動ロボット100は、制御部による全身協調的な動作制御により、2足歩行を実現することができる。かかる2足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
(1)右脚を持ち上げた、左脚による単脚支持期
(2)右足が接地した両脚支持期
(3)左脚を持ち上げた、右脚による単脚支持期
(4)左足が接地した両脚支持期
脚式移動ロボット100における歩行制御は、例えばZMPを安定度判別規範として、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行なうことによっても実現される。この場合、両脚支持期では、下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。
あるいは、後に詳解するように、脚式移動ロボット100の左右の脚部など、全身の可動部のうち少なくとも一部を、周期的運動を繰り返す振動子として捉えることができる。この場合、センサ出力などに基づいて得られる内部状態と外部環境に応じて振動子の位相を数学的操作により発生させて、機体の周期安定性を実現するとともに、未知の外乱に適応的に対応することができる。
図3には、この脚式移動ロボット100が具備する関節自由度構成を模式的に示している。同図に示すように、脚式移動ロボット100は、2本の腕部と頭部を含む上肢と、移動動作を実現する2本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成された、複数の肢を備えた構造体である。
頭部を支持する首関節(Neck)は、首関節ヨー軸1と、第1及び第2の首関節ピッチ軸2a及び2bと、首関節ロール軸3という3自由度を有している。
また、各腕部は、その自由度として、肩(Shoulder)における肩関節ピッチ軸4と、肩関節ロール軸5と、上腕ヨー軸6、肘(Elbow)における肘関節ピッチ軸7と、手首(Wrist)における手首関節ヨー軸8と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
また、体幹部(Trunk)は、体幹ピッチ軸9と、体幹ロール軸10という2自由度を有する。
また、下肢を構成する各々の脚部は、股関節(Hip)における股関節ヨー軸11と、股関節ピッチ軸12と、股関節ロール軸13と、膝(Knee)における膝関節ピッチ軸14と、足首(Ankle)における足首関節ピッチ軸15と、足首関節ロール軸16と、足部とで構成される。
但し、エンターティンメント向けの脚式移動ロボット100が上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計若しくは製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
図4には、脚式移動ロボット100の制御システム構成を模式的に示している。同図に示すように、脚式移動ロボット100は、ヒトの四肢を表現した各機構ユニット30、40、50R/L、60R/Lと、各機構ユニット間の協調動作を実現するための適応制御を行なう制御ユニット80とで構成される(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下同様)。
脚式移動ロボット100全体の動作は、制御ユニット80によって統括的に制御される。制御ユニット80は、CPU(Central ProcessingUnit)やメモリなどの主要回路コンポーネント(図示しない)で構成される主制御部81と、電源回路やロボット100の各構成要素とのデータやコマンドの授受を行なうインターフェース(いずれも図示しない)などを含んだ周辺回路82とで構成される。
ここで言う周辺回路82は、機体に搭載される周辺機器類の他、ケーブルや無線を通して接続される外付けの周辺機器、充電ステーション(図示しない)やその他の周辺機器を接続するためのインターフェース・コネクタなどを含むものとする。
図3に示した脚式移動ロボット100は、関節軸毎に回転型アクチュエータを配置し、これらの位置制御に基づいて所望の装置運動を実現する。
頭部ユニット30には、首関節ヨー軸1、首関節ピッチ軸2、首関節ロール軸3の各々の自由度を実現する首関節ヨー軸アクチュエータA1、首関節ピッチ軸アクチュエータA2、首関節ロール軸アクチュエータA3が配設されている。
また、体幹部ユニット40には、体幹ピッチ軸9、体幹ロール軸10の各々の自由度を実現する体幹ピッチ軸アクチュエータA9、体幹ロール軸アクチュエータA10が配置されている。
また、腕部ユニット50R/Lは、上腕ユニット51R/Lと、肘関節ユニット52R/Lと、前腕ユニット53R/Lに細分化されるが、肩関節ピッチ軸4、肩関節ロール軸5、上腕ヨー軸6、肘関節ピッチ軸7、手首関節ヨー軸8の各々の自由度を実現する肩関節ピッチ軸アクチュエータA4、肩関節ロール軸アクチュエータA5、上腕ヨー軸アクチュエータA6、肘関節ピッチ軸アクチュエータA7、手首関節ヨー軸アクチュエータA8が配置されている。
また、脚部ユニット60R/Lは、大腿部ユニット61R/Lと、膝ユニット62R/Lと、脛部ユニット63R/Lに細分化されるが、股関節ヨー軸11、股関節ピッチ軸12、股関節ロール軸13、膝関節ピッチ軸14、足首関節ピッチ軸15、足首関節ロール軸16の各々の自由度を実現する股関節ヨー軸アクチュエータA11、股関節ピッチ軸アクチュエータA12、股関節ロール軸アクチュエータA13、膝関節ピッチ軸アクチュエータA14、足首関節ピッチ軸アクチュエータA15、足首関節ロール軸アクチュエータA16が配置されている。
頭部ユニット30、体幹部ユニット40、腕部ユニット50、各脚部ユニット60などの機構ユニット毎に、アクチュエータ駆動制御用の副制御部35、45、55、並びに65がそれぞれ配置されている。
体幹部40には、加速度センサ95と姿勢センサ96が配設されている。また、左右の脚部の足底60R及び60Lには、1以上の接地確認センサ91及び92と、加速度センサ93及び94がそれぞれ配設されている。また、手先やその他のエンド・エフェクタとなる部位に接触確認(若しくは感圧)センサを配置したりする(図示しない)。接地確認センサ91及び92は、例えば足底に圧力センサを装着することにより構成され、床反力の有無により足底が着床したか否かを検出することができる。
これらのセンサ出力値を環境情報に用いて、振動子へのフィードバック項を生成することができる。例えば、接地確認センサ91及び92に出力に基づいて、例えば両脚支持期、単脚支持期の判定や、さらには振動子としての可動脚の位相φや角周波数ωを推定することができる。
主制御部80は、各センサ91〜93の出力に基づいて、ロボット100の内部状態や外部環境に応じた姿勢安定制御を行なう。より具体的には、副制御部35、45、55、65の各々に対して適応的な制御を行ない、脚式移動ロボット100の上肢、体幹、及び下肢が協調して駆動する。歩行運動中に脚など可動部位の少なくとも一部において周期運動を抽出して、内部状態や外部環境に応じてその位相信号を発生し、この位相信号に基づいて可動部の駆動制御を行なうことにより、姿勢安定制御を行なうことができる。
B.振動子を用いたロボット装置の運動制御
ZMP規範に基づくロボット装置の運動制御方法は、制御工学的手法に基づく簡単化を施した後、解析的に解を求めることが可能であり、汎用性が非常に高い。その反面、ロボット装置及び外部環境とも精緻なモデル化を必要とし、その結果、実際のハードウェアに対する要求精度は非常に高くなる。また、数学的に導出される運動は、見かけの上でも人間の歩行様式とは異なるものとなる。
一方、ヒトを始めとする脚式歩行の生体メカニズムでは、現在実現されているZMP規範の軌道とは異なる形態で、四肢が持つ物理法則を好適に利用し、自然な歩行動作を行なっている。ロボット装置も、このような物理法則を有効に利用することで、精緻なモデルを必要とせず(すなわち低い計算コストで)、より低いアクチュエータの駆動トルクで、且つ高いエネルギ変換効率で、歩行動作を実現することができると思料される。
本発明者らは、以上の問題意識から、運動生理学、脳神経科学、計算機学習の知見を用いて「より人間に近い歩行制御法」について開示する。すなわち、ロボット装置における脚などの可動部位の少なくとも一部を振動子として捉え、歩行やその他の動作を周期運動として扱い、この振動子の位相や振動数を決定又は制御するという形態で歩行動作を制御する。この場合、周期運動が継続することを、ロボット装置の「安定な歩行」とみなすことができる。
振動子を用いたロボット装置の運動制御の原理について、図5及び図6を参照しながら説明する。
ロボット装置全体、あるいは脚部や腕部、腰部、頭部など可動部位の動作は、周期的な運動を行なう振動子として記述される。この振動子は、図5に示すように、定常的に自励発振を行なう。ここで、外部環境の変化などによるフィードバック信号が入力として与えられると、振動子の振幅や周期、位相などが一時的に乱れるものの、やがて図6に示すように、入力信号に対し位相差が固定された発振を行なう出力信号を得ることができる。
このように、入出力間で位相関係が固定されることを、引き込み現象(Entrainment)と呼ぶ。振動子を用いたロボット装置の運動制御においては、外部環境からの信号を用いて引き込み現象を有効に利用し、自律的に調整された振動子の出力位相情報φに基づいて、ロボット装置又はその一部の可動部位に対する制御量Uを得ることができる。
図35には、振動子が持つ引き込み特性を利用したロボットの制御システムの基本的構成を示している。図示のシステムは、神経振動子に基づいて指令値を生成するCPG制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
CPG制御部は、神経振動子と、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
神経振動子は、生物の神経系に存在すると言われるリズム発生器に相当する振動子であり、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、qiを出力する。
胴体座標系足先軌道生成部は、神経振動子の出力qiを、直交胴体座標系から見た足先軌道へ変換(マッピング)する。ここで言う足先軌道としては、位置や速度、力軌道などが考えられるが、以下の説明では位置軌道を扱うことにする。
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
実ロボットは、おおまかに言えば、CPG制御部による制御対象として運動を実現するアクチュエータと、運動実行時における物理環境との相互作用を観測するセンサで構成される。
神経振動子フィードバック信号生成部は、実ロボットのセンサから入力される観測値に基づいて、神経振動子へのフィードバック信号hiiを生成する。ここで、hiはフィードバック信号giに対するゲインであり、hiiはCPG制御部内の神経振動子への入力信号となる。神経振動子が持つ引き込み特性により、qiの発振周波数はgiの発振周波数と同期し、その位相関係は一定値に固定される。すなわち、フィードバック信号に基づいて神経振動子の位相や振動数を決定又は制御することでロボット装置の動作を制御するが、神経振動子はフィードバック信号に対し引き込み現象を持ち、その固有振動数は環境に応じて自律的に調整される。
このようにして、神経振動子は、ロボットのダイナミクスに応じた発振を続けることになり、環境に自律的に適応する枠組みとなる。
なお、実ロボットのセンサから入力される観測値を、どのように神経振動子への適切なフィードバック信号に変換(マッピング)するかという問題がある。学習を用いることで最適化を図るという解決方法があるが、この点の詳細については後述に譲る。
C.振動子の構成
引き込み特性を持つ振動子としては、工学的には、検波回路などに用いられるPLL(Phase Lock Loop)回路などが挙げられる。その他の例として、非線形振動子や位相振動子を挙げることができる。あるいは、非線形微分方程式により記述される神経振動子である松岡オシレータを振動子に用いることもできる。
なお、松岡オシレータに関しては、例えば、Matsuoka, K.著“Sustained oscillations generated bymutually inhibiting neurons with adaption”(Biological Cybernetics,52,pp.345−353(1985))に記載されている。但し、同文献では発振を継続する条件とその波形が例示されているだけであり、脚式移動ロボットの歩行運動などの可動部の周期運動における振動子の位相調整に適用したものではない。
以下では、生物神経系の相互抑制による自励発振を定式化した、松岡オシレータを、脚式移動ロボットの歩行運動に適用する場合について検討する。
図7には、神経振動子の構成例を示している。歩行運動の生成には、一般に2素子型の神経振動子が用いられている。この種の振動子は、以下のように記述される。
ここでu0、u1、v0、v1は内部変数であり、τ0とτ1は時定数、cは定常入力、βは疲労係数、γ01とγ10は素子間結合の重みである。また、gjは神経振動子に対するフィードバック信号、hjはフィードバック・ゲインであり、q1は神経振動子の出力信号である。2つのニューロンが相互抑制結合することで、フィードバック信号なしでも振動子の出力は自励発振する。このとき、出力の振動数と波形は時定数τ0、τ1、振幅は定常入力cにより調節可能であることが数値的に示されている(例えば、M.Williamson著“NeuralControl of Rhythmic Arm Movements”(Neural Networks,Vol.11,issues 7−8,pp.1379−1394(1998)を参照のこと)。
図8には、振動子における入力信号と出力信号の関係を示している。但し、入力信号を点線で、出力信号を実線でそれぞれ描いている。図示のように、出力信号が入力信号に引き込まれていく、すなわち一定の位相差が保たれていく様子が分かる。
十分な振幅で、振動子の固有振動数に近い信号が入力されるとき、引き込み現象によりその入出力間の位相が一定値に固定される。したがって、ロボット装置の状態を記述する神経振動子に対して適切なフィードバック信号gj並びにフィードバック・ゲインhjで入力することで、環境との相互作用に応じた堅牢な制御系を構築することができる(例えば、G.Taga著“Amodel of the neuro−musculo−skeletal system for human locomotion I”(Emergence ofbasic gait,Biological Cybernetics,vol.73,pp.97−111(1995))、並びに、H.Kimura、Y.Fukuoka、T.Mimura共著“DynamicsBased Integration of Motion Adaptation for a Quadruped Robot”(Proc.of 2nd InternationalSymposium on Adaptive Motion of Animals and Machines,ThP−I−2(2003))を参照のこと)。本実施形態において使用する振動子パラメータを以下に示しておく。
例えば、歩行運動そのものを周期運動として捉え、神経振動子のようなもので周期信号を発生し、それを用いて脚部の関節アクチュエータの制御を行なう。このとき、観測される歩行運動の周期的な信号と神経振動子を干渉させることによって引き込み現象が発生し、安定な歩行運動を得ることができる。
ここで、振動子に対するフィードバック系をどのように調整するかという点に技術的課題がある。また、ロボット装置上に複数の振動子が配置された構成では、振動子間の位相関係を調整しなければならない。振動子に対する入力信号としては、センサなどの検出信号から得られる外部環境を扱うことができる(非特許文献4〜6を参照)。しかしながら、実機上で実装可能なセンサ数は限定されており、しかもノイズや遅れを含む。また、過渡状態においては望ましい位相関係が得られない場合も多く、その結果、定常状態でなければ有効なセンサ・フィードバックが得られず、外乱に対する耐性が低い。振動子の位相調整に関しては後述に譲る。
D.振動子の配置
図3及び図4に示したように、本実施形態に係るロボット装置は関節軸毎に回転型アクチュエータを配置し、これらの位置制御に基づいて所望の装置運動を実現するので、直接の制御対象である関節軸毎に振動子を配置することが考えられる。例えば、6自由度の脚に対し関節毎に振動子を定義することもできる。
ところが、このような順動力学での振動子の配置が、振動子の振る舞いを系全体の挙動として理解することを難しくする、という問題がある。すなわち、個々の関節角の動作が作用点としての足部の挙動(接地点や歩幅など)にどれだけ寄与するのか、判りにくい。
このような振動子の配置方法は、ロボット工学的には、順運動学的な配置となり、各振動子の指令は非常に複雑なものとなる。例えば、歩行型ロボットの重心高さを制御する、あるいは脚の接地位置を制御するような特定のタスクを実行する場合、振動子が出力すべき指令は制御目標(すなわち重心高さや接地位置)と座標系が相違するため、振動子特性の設計が直観的に理解し難く、実現が困難である。このため、フィードバック経路が非常に複雑になり、試行錯誤的に多大な時間を要してしまう。
そこで、本実施形態では、逆キネマティクスを導入した振動子の配置を行なうようにしている。制御目標である可動部位に対する基準座標系を設定し、この基準座標系の座標軸毎に可動部位についての振動子を記述する。この場合、振動子の可動部位の状態量に対する引き込み現象により、外乱に対して十分な耐性を持たせることができると同時に、基準座標系における可動部位への指令値を得ることができる。そして、可動部位に対する位置指令を逆キネマティクス演算により、関節角度指令に変換することができる。図35に示した例では、胴体座標系を設定し、神経振動子の出力qiを当該座標系の足先軌道にマッピングし、さらに逆キネマティクス演算により脚部の各関節指令値を算出している。
基準座標系の座標軸毎に可動部位についての振動子を記述するので、ロボット装置が実現する機能に応じた振動子の配置を実現することができる。また、制御目標である可動部位の作用点について振動子を記述するので、振動子の役割を直観的に理解し易い配置となり、振動子のパラメータ調節が容易になる。そして、振動子による可動部位に対する指令値を該当する関節部に対する指令値に変換することで、直接の制御対象である関節部アクチュエータの指令値を得ることができる。したがって、ロボット装置の系全体の力学的特性にも有効に引き込みを行ない、振動子による引き込み現象をより有効に利用することができる。
図9には、XYZ直交座標系により基準座標系が構成され、その軸に沿って振動子を配置した例を示している。すなわち、ロボット装置の自重を支持する動作はZ方向であり、歩を進めるための動作はX方向、左右のバランスを保つための腰揺動はY方向であると機能的に分解することができる。そして、XYZの各方向に振動子φx、φy、φzをそれぞれ配置し、対称性を考慮して左右の脚で合計3個の振動子を使用する。足先姿勢に関しても、同様に基準座標系で考えることができる。
ここで、図9に示した振動子の配置構成をした脚を用いた定常直進歩行について考察する。但し、説明の簡単化のため、足先姿勢は基準姿勢のままであるとする。
絶対空間上に座標系Rworldを設定する。また、ロボットに固定された座標系Rbodyを設定する。ここでは、図10に示すように原点と座標軸をとる。絶対座標系Rworldから見たロボット座標系Rbodyの原点位置を姿勢を以下のように表す。
この場合、ロボット装置に固定された座標系Rbodyから見た左右の足先位置(x, y,z)、並びに姿勢(roll,pitch,yaw)をそれぞれ以下のように表す。但し、記号Lは左、Rは右を意味する。
これら足先位置が与えられたとき、逆キネマティクス演算を用いて関節角を算出することができる。
XZ平面は「矢状面(Sagittal Plane)」であり、YZ平面は「前額面(Lateral Plane)」である。本明細書では、X軸正方向に進むことを前進、X軸負方向に進むことを後進と呼ぶことにする。
E.4素子型神経振動子
歩行運動の生成には、図7に示したように、2素子型の神経振動子が一般に用いられている。このタイプの神経振動子の場合、正弦波(sinφ)を入力すると僅かに遅れを伴った正弦波が出力され、余弦波(cosφ)を入力すると僅かに遅れを伴った余弦波がそのまま出力される。すなわち、定常状態において、入出力間の位相差は一般にさほど大きく取れず、その位相関係も恣意的に可変することはできない。図11には、2素子型神経振動子に時刻2.6秒で正弦波入力した場合の出力の時系列変化を示している。入力に対してわずかな位相遅れを以って出力が引き込まれ、周期も調整されていることが理解できよう。
ここで、所定の位相関係を持つ2つの神経振動子がロボット装置に配置されている場合について考察してみる。これら振動子がともに図7に示した2素子型神経振動子で構成されている場合、位相関係を恣意的に調整することはできない。このため、例えば2つの振動子出力間で90度の位相差が必要であるとすると、あらかじめ90度の位相差を持つ入力信号を各々の振動子に入力することが必要となる(図12を参照のこと)。(振動子出力間で90度の位相差が必要となるケースについては後に詳解する。)
従来、振動子間でゼロあるいは180度以外の所定の位相関係を得るためには、センサ・フィードバックによって調整している(非特許文献4〜6を参照)。しかしながら、必ずしも90度ずれた入力信号が常にセンサから得られるとは限らない。また、これら2つの振動子の間には何の結合もなく、たとえ一方の振動子の周期が調整されたとしても、他方には影響を及ぼさない。また、センサ出力にはノイズや遅れを含むことから、定常状態でなければ有効なセンサ・フィードバックが得られず、外乱に対する耐性が低い。また、実機上で実装可能なセンサ数は限定されていることから、センサ・フィードバックを利用できない場合もある。さらに、試行錯誤的な学習によるフィードバック項の最適化を行なう場合、外乱に対する耐性が低く定常状態を得難いことから、学習に要する試行回数が増大するという問題もある。
そこで、本発明者らは、ロボット装置における可動部の周期運動を引き込み特性により制御する振動子として、従来の2素子型神経振動子に代えて、4素子型神経振動子を適用することを提案する。
図13には、4素子型神経振動子の構成を示している。これは、2素子型神経振動子を直交させて組み合わせ、環状に一方向の抑制結合を導入した構造であり、神経素子の組み(0−1)と(2−3)の各々の出力は90度の位相遅れを持った振動となる。この種の振動子は、以下のように記述される。
ここで、u0、u1、u2、u3、v0、v1、v2、v3は内部変数、τ0、τ1、τ2、τ3は時定数(>0)、cは定常入力(>0)、βは疲労係数(>0)、γ23、γ32、γ01、γ10、γ02、γ30、γ13、γ21は素子間結合の重み(>0)、gj及びgkはフィードバック信号、hj及びhkはフィードバック・ゲイン、q1及びq2はそれぞれの神経振動子からの出力である。
図14には、4素子型神経振動子の出力波形を示している。同図から分かるように、4素子型神経振動子は、センサ信号に頼ることなく、2つの振動子出力q1及びq2に対し構造的に90度の位相遅れを持たせることができる。したがって、あらかじめ90度の位相差を持つ入力信号を各々の振動子に入力することが必要となる運動の制御を行なう場合、4素子型神経振動子は2素子型神経振動子に比べて頑健である。
また、4素子型神経振動子の場合、振動子(0−1)の出力q1と振動子(2−3)の出力q2にそれぞれ重みを付けて線形結合することで、入力に対して任意の位相差を生成することができる。さらに、引き込み特性も2素子型と同様に持つことからセンサ信号に同期させることも可能である。また、2素子間に結合があることから、一方の周期が調節されると他方にも影響を及ぼすことにより、周期を自動調節することが可能である。
フーリエ級数展開では正弦波と余弦波の基底関数があれば任意の周期関数を表現できるということが当業界で知られている。したがって、4素子型の振動子と2素子型の振動子を用意することで、近似的にこれらの基底関数を用意することができ、これらを組み合わせることで、より広範な周期関数を表現することが可能となる。
位相調節可能な振動子として4素子型の神経振動子が既に提案されている(例えば、宮腰清一、多賀厳太郎、國吉康夫共著「神経振動子のパラメータ自動調節機構」(第5回ロボティクスシンポジア予稿集、シーパル須磨(神戸)、ロボティクスシンポジア運営委員会、pp.301−306、2000年)を参照のこと)。しかしながら、これは振り子の励振問題に4素子型神経振動子を適用したものであり、脚式移動ロボットの歩行運動などの可動部の周期運動における振動子の位相調整に適用したものではない。
これに対し、本発明では、可動部の周期運動を引き込み特性により制御する振動子として、任意の位相に調整可能となる4素子型の神経振動子を用いている。4素子型の神経振動子を用いたロボットの運動制御では、神経振動子に対するフィードバック項を学習により最適化する際、その学習の収束性を高めることができ、さらに報酬関数の設定により多様な運動を生成することができる。強化学習については後に詳解する。
F.振動子を用いた2足歩行運動
本実施形態に係るロボット装置は、左右の可動脚を備え、2足歩行を行なう。かかる2足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
(1)右脚を持ち上げた、左脚による単脚支持期
(2)右足が接地した両脚支持期
(3)左脚を持ち上げた、右脚による単脚支持期
(4)左足が接地した両脚支持期
要するに、歩行運動は、離散的な接地と支持脚と遊脚の切り替えを周期的に繰り返すことにより実現される。
本実施形態では、基準座標系の座標軸毎に可動部位についての振動子を記述するようにしている。この場合、振動子の可動部位の状態量に対する引き込み現象により、外乱に対して十分な耐性を持つ、基準座標系における可動部位への指令値を得ることができる。このような可動部位に対する位置指令を逆キネマティクス演算により関節角度指令に変換することができる。また、4素子型の振動子と2素子型の振動子を用意することで、近似的にフーリエ級数展開における基底関数を用意することができ、これらを組み合わせることで、より広範な周期関数を表現することが可能となる。図15には、脚式移動ロボットの下肢の座標系と振動子の配置を示している。
歩行運動を矢状面と前額面に分解して検討することは広く一般に用いられる考え方である。以下では、まず始めに、前後進を伴わないその場足踏み、すなわち前額面内での運動にのみ着目する。これに続いて、矢状面内での運動を考え、前後進を伴う歩行運動について述べる。
F−1.前額面内の足踏み運動
前額面(YZ平面)内運動を、さらにZ方向とY方向と独立に分解して考える。Z方向運動は、自重を支える運動と、遊脚のためのクリアランスをとる動きを左右の脚で交互に行なう。足踏み運動は左右対称動作と仮定し、左右で符号反転させた振動子出力に基づいて、左右それぞれの脚への位置指令PL_z及びPR_zを求める。
ここで、Z方向に沿って配置した振動子φzの出力をqzとおき、Z方向初期基準位置をZ0とおく。下式のように、脚Z位置を駆動すれば足踏み運動を生成することができる(図16を参照のこと)。
しかしながら、ロボットの固有振動数と振動子の固有振動数が近い場合、共振により定常的な振動は継続できず、外乱にも弱い。また、振動子の固有振動数が小さい場合、脚を遊脚化できない。そこで、本実施形態では、振動子が定常的な発振を行ない、安定した足踏み動作を継続するため、振動子φzに対し、以下のようなフィードバック系を導入する。
(1)進展反応(Extensor Response)
除脳猫の実験では、脚が進展されているとき、足裏に力が加わるとより強く踏み込むことが知られており、「進展反応」と呼ばれる。このような動作は、鉛直方向床反力を神経振動子に対するフィードバックに用いることにより、実現することができる。計測される左右脚床反力をそれぞれFL_Z、FR_Zとおく。また、ロボットの質量をm、重力加速度をgとおく。このとき、Z方向に沿って配置した振動子φzへのフィードバック信号gERを下式のように設定することができる。なお、フィードバック・ゲインhERの調節を行ない易くなるようにmgで正規化している。
Z方向に沿って配置した振動子φzにより脚Z位置を駆動させて足踏み運動を生成する際、この振動子φzに対し上述したような進展反応を利用したフィードバック系を導入することにより、床反力が大きくなったとき、より脚を踏み込むように動作する。この結果、常に床面からの体幹高さPbody_Zを高く保持することができる。図17にはその様子を示している。
(2)前庭脊髄反応(Vestibulo−spinal Reflex)
生物の神経系には、体幹が傾斜した場合、傾きを止める側の筋肉が進展されることが知られており、これを「前庭脊髄反射」と呼ぶ。体幹のロール方向の傾きθrollに基づくフィードバック信号gVSRを振動子に入力することで、この反射を導入することができる。
ところで、神経振動子はパラメータを調節することにより、大きなフィードバック値が入力された場合に発振を止めることが可能である。図18にはその様子を示している。この性質を利用して、体幹が大きく傾いた場合、発振を一時的に抑制し、重力による復帰モーメントによって転倒を回避することができる。
図36には、ロボット装置の前額面内の足踏み運動を制御するシステム構成例を示している。図示のシステムは、2素子型神経振動子に基づいて指令値を生成するCPG制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
CPG制御部は、神経振動子と、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
2素子型神経振動子φzは、胴体座標系Z方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、qzを出力する。2素子型神経振動子の出力は上式(1)に示した通りである。
胴体座標系足先軌道生成部は、神経振動子の出力qzを、直交胴体座標系から見た左右それぞれの脚部が足踏み運動する際の足先の位置軌道PL_z及びPR_zへ変換(マッピング)する。ここでは、左右脚の対称運動を仮定しており、左右それぞれの脚への位置指令PL_z及びPR_zは上式(7)及び(8)のように変換される。
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
神経振動子フィードバック信号生成部は、ロボットが足踏み運動を行なっている際におけるセンサから入力される観測値に基づいて、神経振動子へのフィードバック信号を生成する。ここでは、神経振動子フィードバック信号生成部は、足踏み運動により得られた体幹ロール角度θroll、及び左右脚のZ方向床反力FLz、FRzを入力し、上式(9)及び(10)に示したような、伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをそれぞれ生成し、CPG制御部内の神経振動子へ入力する。前額面内の足踏み運動は、進展反応、前庭脊髄反射のどちらの場合も2素子型神経振動子により駆動される。
神経振動子φzが持つ引き込み特性により、qzの発振周波数はgER及びgVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。
以上、脚式移動ロボットの前額面内の足踏み運動を制御する振動子に対し、2つのフィードバック系gER及びgVSRを導入することによって、ロバストな足踏み運動を実現することができる。図19〜図22には、これらのフィードバック系gER及びgVSRを導入したときのロボットの前額面内における足踏み運動についてのシミュレーション結果を示している。
図19には、定常的な足踏み運動を行なっているとき、時刻0においてY方向の外力を印加した場合の体幹ロール角度θrollの変化を示している。フィードバックがない場合は転倒に至っているが、進展反応及び前庭脊髄反射を導入することにより足踏み運動を継続できることが分かる。
図20には、前額面内で定常的な足踏み運動を行なっているとき、ロボットの重力の15%に相当するY方向の力を0.1秒間だけロボットに印加した場合の挙動を示している。これに対し、進展反応及び前庭脊髄反射を利用したフィードバック系を導入することによって、足踏み運動の周期が延長され、足踏み運動が継続できていることが分かる。
図21には、固有周期に近い0.8秒間の足踏み運動中に、さまざまなタイミングでY方向の力をロボットに印加したとき、ロボット本体は転倒せずに足踏みを継続できる最大の外力の大きさを示している。ここでは、左足を接地したときを位相ゼロと定義し、1周期を横軸にとっている。比較のため、フィードバックなしの正弦波で駆動した場合と、フィードバックなしの神経振動子で駆動した場合を併せて示している。この場合も、進展反応及び前庭脊髄反射を利用したフィードバック系を導入した神経振動子により足踏み運動を行なう場合がより大きな外力に対して耐えられることが分かる。
図22には、より実際的な外乱として床面に段差がある場合を想定し、ロボットが転倒に至らない最大の高さを示している。同図からも、Z方向に沿って配置した神経振動子φzを用いて足踏み運動を行なわせる際、進展反応及び前庭脊髄反射を利用したフィードバック系を導入することの有効性が分かる。
F−2.矢状面内の歩行運動
続いて、YZ平面内の運動に、さらにX方向の脚運動を加えて歩行を生成する場合について考察してみる。
矢状面内運動は、XZ平面で見ると、足先軌道は、楕円のような軌道であれば歩行が可能である。例えば、図23に示すような右回りの楕円軌道を描けば、ロボット装置はX方向に移動することができる。この場合、X方向の運動は、Z方向の運動とは位相が90度だけずれたフィードバック信号が必要である、と本発明者らは理解している。このときの右脚の足先のX座標PR_x及びZ座標PR_zは下式のようになる。但し、a及びbを定数、ψを位相としてパラメータ表示する。また、左右の脚部運動は対称と考え、ここでは記載を省略する。
上式より、X方向の振動にはZ方向の振動と位相が90度ずれた信号が必要となる。以下、定性的に考察をする。図24に示すようにpbody_Rollは振動子φzの出力qzにより片脚を踏み込んだ場合に生じていると考えられる。すなわち、足先位置pbody_Rollと振動子出力qzは同位相で振動していると考えられる。仮にqzが正弦波で駆動されているとするならば、その1階微分は余弦波となり、90度の位相差が得られる。すなわち、pbody_Rollの1階微分は90度の位相差があると予想される。ロボット装置が定常足踏みを行なう際の、体幹のロール方向角速度をシミュレーションから求めると、図25に示すような結果が得られた。
主にZ方向の運動が体幹のロール角度を生じていることから、その1階微分であるロール角速度は位相が90度ずれるものと考えられる。したがって、X方向運動を記述する振動子φxに対するフィードバック信号として、体幹のロール方向の角速度を用いることができる。振動子φxは、体幹のロール角速度を用いて、X方向の運動を引き込む。また、歩行を左右対称な運動であると仮定し、Z方向と同様に、振動子出力を符号反転し、左右対称に駆動する。
矢状面内運動X方向に関して、下式のように振動子φxを配置する。左右脚を交互に踏み出すため、振動子φxの出力qxの符号を左右で反転している。
この場合、Z方向の運動とは位相が90度ずれた信号が必要である。図25から、足底の接地確認センサから得られる床反力の値と体幹のロール方向角速度値はほぼ90度の位相差があることが分かる。そこで、下式に示すように、体幹のロール方向角速度を用いてフィードバック信号gxを生成し、これを神経振動子φxに入力して引き込みを行ない、90度の位相差を生成することができる。
この場合、矢状面内のX方向歩行運動は、下式で表される2素子型神経振動子を用いて記述することができる。
図37には、ロボット装置の歩行運動を制御するシステム構成例を示している。ここでは、前額面内の足踏み運動は既に実現されているものとし、これに矢状面内の運動を重畳する。図示のシステムは、神経振動子に基づいて指令値を生成するCPG制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
CPG制御部は、2素子型神経振動子φx及びφzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
2素子型神経振動子φx及びφzは、それぞれ胴体座標系X方向及びZ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振する。振動子φxの出力信号qxは上式(15)に示した通りである。
胴体座標系足先軌道生成部は、神経振動子の出力qxを、直交胴体座標系から見た左右それぞれの脚部が前額面内及び矢状面内それぞれの歩行運動を行なう際の足先のZ方向の位置軌道PL_z及びPR_z、並びにX方向の位置軌道PL_x及びPR_zへ変換(マッピング)する。ここでは、左右脚の対称運動を仮定しており、左右それぞれの脚へのZ方向の位置指令は上式(7)及び(8)のように変換され、X方向の位置指令PL_z及びPR_zは上式(12)及び(13)のように変換される。
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
神経振動子フィードバック信号生成部は、運動により得られた体幹ロール角度θroll、及び左右脚のZ方向床反力FLz、FRzを入力し、上式(9)及び(10)に示したような、伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをそれぞれ生成し、CPG制御部内の2素子型神経振動子φzへ入力する。
また、神経振動子フィードバック信号生成部は、ロボットが歩行運動を行なっている際にセンサから入力される観測値に基づいて、神経振動子へのフィードバック信号を生成する。ここでは、神経振動子フィードバック信号生成部は、体幹ロール角度θroll、及び左右脚のZ方向床反力FLz、FRzに加えて、体幹ロール角速度を入力し、上式(14)に示したようなフィードバック信号gxを生成し、CPG制御部内の神経振動子φxへ入力信号する。
神経振動子φxが持つ引き込み特性により、qxの発振周波数は、体幹ロール角速度から求まるフィードバック信号gxの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。また、伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをそれぞれ生成して神経振動子φzへ入力すると、神経振動子φzが持つ引き込み特性によりqzの発振周波数がgER及びgVSRの発振周波数と同期することは、前述(図36を参照のこと)と同様である。
ところが、矢状面内の周期運動を制御する神経振動子φxとしてこのような2素子型振動子(図7を参照のこと)を用い、且つ、振動子φxに対するフィードバックをセンサ出力のみに頼った場合には、非定常状態のセンサ出力では適切なフィードバック信号とならず、また、運動学習に要する試行回数が増大するという問題がある(前述)。
そこで、X方向の振動子φxを2素子型神経振動子に代えて、2素子型神経振動子を直交させて組み合わせて構成される4素子型神経振動子(図13並びに図15を参照のこと)を用いることで、このような問題を解決することができる。4素子型の神経振動子は、構造的に各振動子から90度の位相差が得られるようになっているので、センサ・フィードバックのみに頼る必要がない。
図15において、4素子型神経振動子のうち、0と1で示した振動子にはZ方向振動子と同じフィードバック系を導入することで足踏み運動と同期させる。また、2と3で示した振動子には体幹のロール方向角速度をフィードバックする。4素子振動子の特性として、センサ・フィードバックに頼ることなく、図14で示したように90度の位相差を以って発振することから、神経振動子の引き込み現象は容易且つ安定して起こり、その位相関係は強固に固定される。この場合の矢状面内のX方向歩行運動は、下式で表される4素子型神経振動子を用いて記述することができる。
図38には、ロボット装置のX方向の振動子に4素子型の神経振動子を用いた場合の歩行運動を制御するシステム構成例を示している。ここでは、前額面内の足踏み運動は図37に示したシステムにおいて既に実現されているものとし、これに矢状面内の運動を重畳する。図示のシステムは、神経振動子に基づいて指令値を生成するCPG制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
CPG制御部は、4素子型神経振動子φx及び2素子型神経振動子φzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
4素子型神経振動子φx及び2素子型神経振動子φzはそれぞれ胴体座標系X方向及びZ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、qx及びqzを出力する。4素子型の神経振動子の出力は上式(16)にそれぞれ示した通りである。
胴体座標系足先軌道生成部は、神経振動子の出力qxを、直交胴体座標系から見た左右それぞれの脚部が前額面内及び矢状面内それぞれの歩行運動を行なう際の足先のZ方向の位置軌道PL_z及びPR_z、並びにX方向の位置軌道PL_x及びPR_zへ変換(マッピング)する。ここでは、左右脚の対称運動を仮定しており、左右それぞれの脚へのZ方向の位置指令は上式(7)及び(8)のように変換される。また、X方向の位置指令PL_z及びPR_zは、上式(12)及び(13)のように変換される。
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
神経振動子フィードバック信号生成部は、運動により得られた体幹ロール角度θroll、及び左右脚のZ方向床反力FLz、FRzを入力し、上式(9)及び(10)に示したような伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRを生成して、CPG制御部内の2素子型神経振動子φzへ入力する。
また、神経振動子フィードバック信号生成部は、ロボットが歩行運動を行なっている際にセンサから観測値として得られた体幹ロール角度θroll、及び左右脚のZ方向床反力FLz、FRz、体幹ロール角速度を入力し、上式(14)に示したようなフィードバック信号gxを生成し、CPG制御部内の4素子型神経振動子φxへ入力信号する。さらに伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをX方向の4素子型神経振動子φxにも入力する点で、図37に示したシステム構成とは相違する。
神経振動子φxが持つ引き込み特性により、qxの発振周波数は、体幹ロール角速度から求まるフィードバック信号gx、並びに伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。また、伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをそれぞれ生成して神経振動子φzへ入力すると、神経振動子φzが持つ引き込み特性によりqzの発振周波数がgER及びgVSRの発振周波数と同期する。
ロボットの歩行における周期運動の制御に4素子型神経振動子を用いた場合、以下のような作用効果を得ることができる。
(1)フィードバック項を試行錯誤的な学習により最適化を行なう際、学習の収束が速くなる。
(2)前額面と矢状面内の脚のX及びZ方向の同期した歩行が可能となる。
(3)センサノイズや遅れに強くなる。
ここで、ロボットの歩行運動における前額面内運動と矢状面内運動の同期の例について示しておく。ロボットの定常直進歩行運動中にY方向への外力を印加した場合について考えてみる。
図26及び図27には、2素子型神経振動子及び4素子型神経振動子をそれぞれ用いてロボットに定常直進歩行運動を行なわせた場合のシミュレーション結果をそれぞれ示している。各図では、時刻6.7秒において、Y方向へ7.5[N](自重の11%)の外力を0.1秒間だけ印加した場合のそれぞれの振動子φx及びφzの出力qx及びqzと、体幹ピッチ角度と、基準姿勢時で正規化した腰の高さを時系列で示している。
外力が印加されることによって、図20で示したように、振動子の周期は大きくなる。このとき、2素子振動子を用いた場合には、Z方向とX方向振動子に直接の結合が無いため、図26中の点Pで示されるように、センサ・フィードバック系に頼ると、非定常状態では周期は十分に調節されない。このため、最終的にロボット装置は転倒に至ってしまう。これに対し、4素子振動子を用いた場合には、図27中の点Qで示されるように、環状の一方向抑制結合によりX方向振動子の周期も自律的に調節されることから、ロボットは歩行を継続できていることが分かる。
F−3.旋回運動への拡張
ここまでは、神経振動子の引き込み特性を利用した2足歩行ロボットの定常的な直進運動制御について説明してきた。ヒューマノイドを始めとする脚式ロボットには、このような直進運動に限らず、多様な移動方向の制御が必要である。そこで、この項では、神経振動子の引き込み特性を利用したロボットの運動制御を3次元の旋回2足歩行運動に拡張した実施形態について説明する。
上述したように、引き込み特性を持つ振動子をタスクに応じた作業座標系方向に配置することにより、2足歩行ロボットの周期的な歩行運動の制御を行なうことができる。歩幅と旋回半径が規定されたときに、幾何学的拘束条件を考慮して脚のヨー回転とy軸位置を定めることによって、歩幅と旋回半径より求められる幾何学的な関係から円弧に沿った旋回歩行を実現することができる。さらに、目標点に向かって到達するように旋回半径を規定することで、目標点への到達運動を実現することができる。また、目標点を複数設定することで、曲線的な経路に沿った歩行運動を行なうこともできる。
ここで、一定の旋回半径で示される円弧に沿った歩行運動を生成する場合について考察してみる。
図39には、2足歩行ロボットが円弧に沿って旋回運動を行なうときの左右の足平の軌道を示している。同図は、旋回歩行を上から見下ろした様子であり、点線の円弧に沿ってロボットの胴体座標系原点が時計回りに旋回歩行しているものとする。旋回半径をRdesiredと定め、時計回りに旋回するときを正方向と定義する。直進の歩幅に比して、円弧の中心に近い側の脚の歩幅を小さく、遠い方の脚の歩幅を大きくする必要がある。また、体幹をヨー軸回りに旋回させるために、脚のヨー軸を回転する必要がある。
直進歩行時の左右脚の歩幅をともにAxとおき、旋回歩行時の左脚と右脚の歩幅をそれぞれAl x及びAr xとおとき、左右脚のY方向の胴体座標系からみた各足平の基準位置をそれぞれyl 0及びyr 0とおく。旋回歩行時の左右それぞれの歩幅は幾何学的に下式(17)、(18)のように定めることができる。
上式より、左脚の歩幅は小さくなり、右脚の歩幅は大きくなる。振動子出力をqxとすると、左右の足先X方向位置pl x及びpr xはそれぞれ下式(19)、(20)のように表される。
次に、体幹をヨー周りに回転させるため、左右の足先ヨー角度をXの関数として円弧に沿うように下式(21)及び(22)のように定める。
また、左右の足先Y方向位置pl y及びpr yは、幾何学的に下式(23)及び(24)のように求められる。
以上から、歩幅Axと旋回半径Rdesiredが規定されたときに、幾何学的拘束条件から左右それぞれの脚の足先のXY位置及びヨー角度を求めることができる。
図40には、ロボット装置のX方向運動を4素子型神経振動子で記述するとともにZ方向運動を2素子型神経振動子で記述して、旋回運動を制御するシステム構成例を示している。図示のシステムは、神経振動子に基づいて指令値を生成するCPG制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
CPG制御部は、4素子型神経振動子φx及び2素子型神経振動子φzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
4素子型神経振動子φx及び2素子型神経振動子φzはそれぞれ胴体座標系X方向及びZ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、qx及びqzを出力する。2素子型神経振動子の出力は上式(1)に、4素子型の神経振動子の出力は上式(13)にそれぞれ示した通りである。但し、φxに4素子型ではなく2素子型の神経振動子を用いて実装することも可能である。
設計者(旋回運動などロボットの動作パターンを作成するデザイナの他、オペレータ、ユーザを含む)は、目標とする歩行速度と旋回半径で歩行するための歩幅Ax並びに旋回半径Rdesiredを陽に設定し、胴体座標系足先軌道生成部に入力する。
胴体座標系足先軌道生成部は、神経振動子の出力qxを、直交胴体座標系から見た左右それぞれの脚部が歩幅Axを以って所定の旋回半径Rdesiredで示される円弧に沿った旋回運動を行なう際の足先のX方向位置軌道pl x及びpr xへ変換(マッピング)する。ここでは、左右それぞれの脚への位置指令pl x及びpr xは上式(19)及び(20)のように変換される。さらに、足先X方向位置に基づいて、上式(21)及び(22)に従って足先ヨー方向の姿勢pl yaw及びpr yawが、上式(23)及び(24)に従って足先Y方向位置pl y及びpr yが決定される。
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
神経振動子フィードバック信号生成部は、ロボットが旋回運動を行なっている際のセンサからの観測値に基づいて、神経振動子へのフィードバック信号を生成する。ここで、神経振動子フィードバック信号生成部は、体幹ロール角度θroll、及び左右脚のZ方向床反力FLz、FRz、体幹ロール角速度を入力し、上式(14)に示したようなフィードバック信号gxを生成し、CPG制御部内の神経振動子φxへ入力信号する。
神経振動子φxが持つ引き込み特性により、qxの発振周波数はフィードバック信号gx、gER及びgVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。
また、神経振動子フィードバック信号生成部は、伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをそれぞれ生成し、CPG制御部内の神経振動子φzへ入力する。そして、神経振動子φzが持つ引き込み特性によりqzの発振周波数がgER及びgVSRの発振周波数と同期する(前述並びに図36を参照のこと)。
本発明者らは、位置(0,0)よりX方向性に向かって歩行を開始した場合のロボットの重心軌跡について計算機シミュレーションを行なってみた。ここでは、直進時の歩幅Axを0.015メートルと規定し、旋回半径Rdesired=−0.3メートル、0.5メートル、1.0メートルのそれぞれに設定した(但し、反時計回りなので、符号はマイナスとしている)。なお、上式(23)及び(24)の右辺第2項は微小であるから無視した。
図41には、位置(0,0)よりX方向性に向かって歩行を開始した場合のロボットの重心軌跡の計算機シミュレーション結果を示している。同図をみると、与えた旋回半径とほぼ同じ大きさで一定の曲率半径で旋回運動が実現できていることが確かめられる。足先ヨー角度をXの関数として円弧に沿うようにして体幹をヨー回りに回転させるようにしたので、前額面内運動と矢状面内運動は分離不能となるが、この場合であっても、神経振動子の引き込み特性により歩行を継続することが可能となる。
上述したように、神経振動子の引き込み特性を利用してロボットの旋回運動制御が可能となるとき、さらに、目標点に向かって到達するように旋回半径を規定することで、目標点への到達運動を実現することができる。
本発明者らは、上記の旋回歩行を用いて、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なってみた。ここでは、絶対座標系において、到達目標位置及びロボットの重心位置・姿勢が計測可能であると仮定する。また、図42に示すように、ロボットの現在の進行方向と目標地点のなす角をθsteeringとし、目標地点までの距離をDとおくと、このときの旋回半径Rdesiredは下式(25)又は(26)のように決定することができる。
ここで、K1、K2は定数であり、K2は旋回運動が直進歩行と近似できる十分大きな値とする。また、目標到達点付近では、歩行速度を小さくし目標到達精度を向上させるため、調節の閾値をDthとして歩幅Axを下式(27)又は(28)を用いて調節する
上式において、cはX方向に配置された神経振動子の定常入力項であり、その振動子出力qxの振幅とcの間には線形関係があることが知られていることから、歩幅Axを調整することと等価な効果がある。
また、歩行開始時の急激な加速による転倒を防ぐため、下式(29)又は(30)に従って歩幅を調整する。ここで、tは歩行開始からの経過時間、tinitは加速時間を規定する定数である。
図43には、ロボット装置のX方向運動を4素子型神経振動子で記述するとともにZ方向運動を2素子型神経振動子で記述して、旋回運動を利用した目標地点への歩行を制御するシステム構成例を示している。図示のシステムは、図40に示したシステム構成とほぼ同一である。図40に示した旋回運動制御においては、設計者が陽に設定した歩幅Ax並びに旋回半径Rdesiredを胴体座標系足先軌道生成部に入力することで、目標とする歩行速度と旋回半径による歩行運動を制御する。これに対し、図43に示したシステムでは、ロボットの現在の進行方向と目標地点のなす角θsteeringと目標地点までの距離Dから、上式(25)〜(30)を用いて歩幅Ax並びに旋回半径Rdesiredを自動的に設定するアルゴリズムが導入され、該アルゴリズムの出力を胴体座標系足先軌道生成部に入力するように構成されている。
図44〜図49には、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示している。+字記号で示した点が目標到達点であり、目標到達点を変更しながら合計で6回の試行を行なった。位置(0,0)から歩行を開始し、X方向におよそ0.25メートルだけ歩行した後、上述した旋回運動による目標地点への移動の制御方法を導入した、6回行なったすべての指向において目標値点に到達できていることが確認される。また、目標地点に近くなるに従い、前進速度が低下していることを、重心軌跡から理解することができよう。すべての場合で、0.01メートルを下回る目標到達精度を実現することができた。
このように、目標点に向かって到達するように旋回半径を規定することで、目標点への到達運動を実現することができる。さらに、最終的な目的地に至る途中で複数の目標点を順次設定して各目標点間の歩行を旋回運動で実現し、これらの旋回運動を接続することで複雑な歩行経路を指定して、曲線的な経路に沿った歩行運動を行なうこともできる。
図50には、複数の目標点を順次設定して各目標点間の旋回歩行により星型の経路を歩行させた場合の計算機シミュレーション結果を示している。同図から、想定した通りの経路を歩行することが可能であることが理解できよう。障害物回避動作など、より高次の指令に対応することも可能である。なお、図示の例では、目標到達点付近での歩幅調整は行なっていない。
G.神経振動子を用いたロボットの歩行運動制御と学習との組み合わせ
X方向振動子へのフィードバック項gxは上式(14)で示される体幹ロール角速度の線形フィードバックを直感的に用いたが、この項が最適であるとは限らない。そこで、学習を用いることで、振動子へのフィードバック項の最適化を図る。また、計算機シミュレーションと実機とではモデル化誤差があり、シミュレーション上で獲得されたフィードバックがそのまま実機に適用できるとは限らない。以下では、そのような場合であっても、シミュレーションのモデル化誤差を吸収するため実機上で追加学習を行なうことができることを説明する。
通常の学習ではすべての状態量を入力として学習を行なう。これに対し、ロボットの場合は多自由度、多次元であり、すべての状態量を扱うことが困難である。このため、一部の限られた観測可能な状態量から学習することが可能な学習法が適用される。
前項Fでは、X方向とZ方向の運動とで位相が90度ずれた信号が必要であることを述べた。ここで、上式(14)で示した歩行のためのフィードバック系(体幹ロール角速度を用いた神経振動子へのフィードバック)は、直観的に求めたものであり、最適であるとは限らない。そこで、4素子型神経振動子を用いた歩行制御と強化学習(Reinforcement Learning)とを組み合わせることで、最適化を図る。
ここでも、歩行運動を矢状面内運動と前額面内運動に分離できるものと考える。前額面内運動は前述の足踏み運動をそのまま用い、矢状面内運動はX方向に配置した神経振動子φxへのフィードバック項gxを学習する。この学習には、強化学習の一手法である方策勾配法を用いることにする。学習アルゴリズムへの入力は、体幹ロール角速度と体幹ピッチ角速度の2次元とし、出力はX方向に配置した神経振動子へのフィードバック項とする(図28を参照のこと)。
強化学習の一手法である方策勾配法を用いて、体幹ロール角速度及び体幹ピッチ角速度を入力し、フィードバック・ゲインhxも含めたフィードバック項を出力とする非線形マッピングfを獲得する。これにより、直観的に求めた式(14)を最適化することができる。すなわち、以下に示す4素子型神経振動子のフィードバック項gxを学習する。
多自由度のロボットの挙動を2次元の状態量に集約していることから、通常の機械学習の枠組みでは収束させることは一般に難しいと考えられる。これに対し、強化学習の一手法である方策勾配法によれば、このような部分観測マルコフ決定過程問題も扱うことができる、ということが当業界で知られている。
図51には、ロボット装置のX方向の振動子に4素子型の神経振動子を用いた場合の直進歩行運動の制御(図38を参照のこと)に対し、X方向振動子φxのフィードバック項gxを強化学習する仕組みを導入したシステム構成例を示している。ここでは、前額面内の足踏み運動は図37に示したシステムにおいて既に実現されているものとし、これに矢状面内の運動を重畳する。図示のシステムは、神経振動子に基づいて指令値を生成するCPG制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
CPG制御部は、4素子型神経振動子φx及び2素子型神経振動子φzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
4素子型神経振動子φx及び2素子型神経振動子φzはそれぞれ胴体座標系X方向及びZ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、qx及びqzを出力する。
胴体座標系足先軌道生成部は、神経振動子の出力qxを、直交胴体座標系から見た左右それぞれの脚部が前額面内及び矢状面内それぞれの歩行運動を行なう際の足先のZ方向の位置軌道PL_z及びPR_z、並びにX方向の位置軌道PL_x及びPR_zへ変換(マッピング)する。ここでは、左右脚の対称運動を仮定しており、左右それぞれの脚へのZ方向の位置指令は上式(7)及び(8)のように変換され、X方向の位置指令PL_z及びPR_zは上式(12)及び(13)のように変換される。
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
神経振動子フィードバック信号生成部は、体幹ロール角度θroll、及び左右脚のZ方向床反力FLz、FRzを入力し、上式(9)及び(10)に示したような伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRを生成して、CPG制御部内の2素子型神経振動子φzへ入力する。
また、神経振動子フィードバック信号生成部は、ロボットが歩行運動を行なっている際のセンサから入力される観測値である体幹ロール角度θroll、及び左右脚のZ方向床反力FLz、FRz、体幹ロール角速度及び体幹ピッチ角速度を入力し、上フィードバック信号gxを生成し、CPG制御部内の4素子型神経振動子φxへ入力信号する。さらに伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをX方向の4素子型神経振動子φxにも入力する。
ここで、X方向のフィードバック信号gxは、体幹ロール角速度の単純な線形マッピングが最適であるとは限らない。このため、神経振動子フィードバック信号生成部内では、X方向の神経振動子φxのフィードバック信号gxを強化学習により獲得して、最適化を行なう。なお、ゲインを含めて学習を行なうので、hxは不要となる。一方、Z方向神経振動子φzに対するフィードバック信号は、図38に示したと同様に、単純な線形フィードバックを用いている。
神経振動子φxが持つ引き込み特性により、qxの発振周波数は、体幹ロール角速度から求まるフィードバック信号gx、並びに伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。また、伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをそれぞれ生成し、CPG制御部内の神経振動子φzへ入力し、神経振動子φzが持つ引き込み特性によりqzの発振周波数がgER及びgVSRの発振周波数と同期する。
強化学習は、試行錯誤を通じて環境に適応することに特徴がある学習であり、教師付き学習とは異なり状態入力に対する正しい行動出力を明示的に示す教師が存在しない代わりに、報酬というスカラを手がかりに学習する。報酬にはノイズや遅れがあるため、行動を実行した直後の報酬を見るだけでは、学習主体の行動の正否を判断することはできない。強化学習は、不確実性のある環境を扱える点や、報酬に遅れが存在し、離散的な状態遷移で段取り的な制御規則を必要とする問題にも適用できる点に特徴がある。
強化学習のメカニズムは、学習主体としての学習器と、制御対象となる環境で構成される。学習器は、時刻tにおいて環境の状態観測S(t)及び報酬r(t)に応じて意思決定を行ない、行動を出力する。上記の神経振動子に対するフィードバック信号の強化学習を行なう場合、状態観測はセンサ出力であり、行動出力はフィードバック信号gxに相当する。学習器が出力する行動により、環境は次時刻S(t+1)へ状態遷移し、その遷移に応じた報酬r(t+1)を学習器に与える。そして、学習器は、報酬r(t)の1試行中の総計を最大化することを目的として、状態観測から行動出力へのマッピングすなわち政策(policy)を獲得する。
図52には、神経振動子フィードバック信号生成部内の学習器と、制御対象としてのロボットとの関係を示している。図示の学習システムにおける強化学習の手順について以下に説明する。
まず、Actorと呼ばれる行動価値関数が何らかのフィードバック信号gxを出力し、これがX方向の神経振動子φxに入力されてX方向の振動が調整され、qxが規定される。この出力に従ってロボットの脚関節が駆動され運動が生成される。このとき得られる体幹ロール及びピッチ角速度を学習器に入力する状態ベクトルsとする。また、報酬r(t)は下式(33)より算出される。
Criticは、状態ベクトルsと報酬r(t)の情報を用いて、その行動の価値を価値関数Vwc(t)を用いて算出する。価値関数Vwc(t)は、現在の報酬のみならず、この行動を継続した場合に得られる未来までの価値の総和を予測する。
価値関数Vwc(t)の予測からのずれ量がTemporalDifference Error(TD−error)、δ(t)と呼ばれる。その予測が正しければδ(t)はゼロとなる。逆にδ(t)がゼロでない場合は、予測が正しくない訳であるから、価値関数をδ(t)を用いて正しい予測ができるよう、価値関数内部のパラメータwcを更新する。
また、Actorと呼ばれる行動価値関数は、状態ベクトルsと予測からのずれ量δ(t)の情報を用いて、より高い価値が得られるよう行動価値関数内部のパラメータwμとwσを更新し、新たなgxを出力する。
このようなループを繰り返すことにより強化学習が実行され、フィードバック信号gxは最適化される。
続いて、シミュレーションにより学習の効能について検討する。学習試行のシーケンスは以下の通りである。
(1)前述の線形フィードバック(式(14))を用いて、定常歩行させる。
(2)所定の時刻で線形フィードバックを停止し、同時に学習を開始する。
(3)腰の高さが一定値以下になったら転倒とみなし、試行を打ち切る。
(4)20秒間転倒せずに歩行を継続できたら、成功とみなし、次の試行を行なう。
歩行による移動速度は、より現実を反映するように、「体幹の接地脚に対する相対速度」と定義する。この移動速度を、ローパス・フィルタを通して使用する。移動速度に関する重みβを大きくすれば、より速く移動する歩行が獲得される。
図29及び図30には、2素子型神経振動子及び4素子型神経振動子をそれぞれ用いたロボットの歩行運動制御において、体幹ロール角θrollを時間で1次微分した体幹ロール角速度と体幹ピッチ角θpitchを時間で1次微分した体幹ピッチ角速度の2次元を入力とし、X方向に配置した神経振動子へのフィードバック項gxを学習する計算機シミュレーションを行なった際の学習曲線を示している。
2素子型神経振動子を用いた場合、図29に示すように、学習アルゴリズムへの入力値の初期条件(S(t0))を4回変えて試行した結果、初期条件3のときのみ収束し、その試行回数はおよそ400回程度であった。これに対し、4素子型神経振動子を用いた場合、同様に4つの初期条件すべてについて試行してみたが、図30に示すように、いずれの条件でも学習を収束させることが可能であり、これらの試行回数は50〜200程度であった。これは、2素子の場合に比しておよそ13%〜50%程度の試行回数であり、計算時間も大きく短縮されることが分かる。
図31には、4素子振動子を用いて獲得されたCritic及びActorを示している。同図左において、四角で示される箇所は、ロボットの歩行時に得られる角速度の軌跡を表している。定常的な軌道を描いていることから(定常的な軌跡では価値関数が大きい)、歩行が継続されていることが分かる。また、同図右は行動出力uの分布を表している。出力飽和関数を介してgxとして神経振動子φxにフィードバックされる。
行動の中間出力uは、下式(24)に示すように、最大値をgx maxとする飽和関数を通してgxに変換される(例えば、本出願人に既に譲渡されている特開2005−288594号公報を参照のこと)。
図31より、縦方向(すなわち、ピッチ角速度)にはあまり変化が見られず、横方向(すなわち、ロール角速度)に応じて出力値が変わっていることが分かる。ロール角速度が−0.7〜0.7の範囲では、ロール角速度を関数としてほぼ線形に出力uが変化している。したがって、獲得されたフィードバックは直観的に求めた式(14)の結果と矛盾しない。すなわち、生成される脚軌道も、図23で示した望ましい位相関係で脚軌道が生成されているということを理解できよう。
4素子振動子を用いて獲得された制御器を用いて実機で実験を行なったところ、シミュレーションとのモデル化誤差からそのままでは転倒する場合も観察された。そこで、実機により追加学習を行なうことで、より確実に歩行できるように改善する。
図32には、実機による結果を示している。同図から分かるように、試行回数が増加するに連れ、高い総報酬を得るよう方策が改善していることが理解できよう。なお、実機とシミュレーションでは報酬の計測方法そのものが異なることから、総報酬の絶対値そのものは意味がないことを注記しておく。
なお、ここで示した報酬関数はあくまで一例である。例えば、消費エネルギを罰として与えることで、より移動効率の高い歩行を得ることができる。
また、ヨー回りの目標角速度を与え、その誤差を罰として与えると旋回するための歩行が得られると考えられる。
勿論、これらの組み合わせでも良い。強化学習と組み合わせることで、抽象的な高次レベルでのフィードバック項の最適化が可能であるところが大きな利点である。
また、神経振動子のフィードバック項に対する強化学習は、定常直進歩行だけでなく旋回歩行時の運動制御においても導入することができる。図53には、ロボット装置のX方向運動を4素子型神経振動子で記述するとともに、Z方向運動を2素子型神経振動子で記述して所定の旋回半径の円弧に沿った旋回運動制御(図40を参照のこと)に対し、X方向振動子φxのフィードバック項gxを強化学習する仕組みを導入したシステム構成例を示している。図示のシステムは、神経振動子に基づいて指令値を生成するCPG制御部と、制御対象となるロボットと、神経振動子に対するフィードバック項を与える神経振動子フィードバック信号生成部で構成される。
CPG制御部は、4素子型神経振動子φx及び2素子型神経振動子φzと、胴体座標系足先軌道生成部と、逆キネマティクス演算部と、関節指令値生成部を備えている。
4素子型神経振動子φx及び2素子型神経振動子φzはそれぞれ胴体座標系X方向及びZ方向に沿って配置され、環境に対して引き込み特性を持つが、フィードバック信号なしの状態でも固有振動数で自励発振して、qx及びqzを出力する。2素子型神経振動子の出力は上式(1)に、4素子型の神経振動子の出力は上式(13)にそれぞれ示した通りである。
目標とする歩行速度と旋回半径で歩行するための歩幅Ax並びに旋回半径Rdesiredが陽に設定されると、胴体座標系足先軌道生成部は、神経振動子の出力qxを、直交胴体座標系から見た左右それぞれの脚部が歩幅Axを以って所定の旋回半径Rdesiredで示される円弧に沿った旋回運動を行なう際の足先のX方向位置軌道pl x及びpr xへ変換(マッピング)する。ここでは、左右それぞれの脚への位置指令pl x及びpr xは上式(19)及び(20)のように変換される。さらに、足先X方向位置に基づいて、上式(21)及び(22)に従って足先ヨー方向姿勢pl yaw及びpr yawが決定され、上式(23)及び(24)に従って足先Y方向位置pl y及びpr yが決定される。
逆キネマティクス演算部は、生成された足先軌道を実現するための脚部の各関節位置を逆キネマティクス演算により算出する。関節指令値生成部は、得られた関節位置に駆動するための指令値信号を生成して、各関節アクチュエータへ出力する。
神経振動子フィードバック信号生成部は、ロボットが旋回運動を行なっている際のセンサからの観測値に基づいて、神経振動子へのフィードバック信号を生成する。ここでは、神経振動子フィードバック信号生成部は、体幹ロール角度θroll、及び左右脚のZ方向床反力FLz、FRz、体幹ロール角速度、体幹ピッチ角速度を入力し、強化学習によりフィードバック信号gxを生成し、CPG制御部内の神経振動子φxへ入力信号する。
また、神経振動子フィードバック信号生成部は、伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをそれぞれ生成し、CPG制御部内の神経振動子φzへ入力する。
旋回運動においても、X方向のフィードバック信号gxは、上式(14)で示すような体幹ロール角速度の単純な線形マッピングを用いることが最適であるとは限らない。そこで、上述した直進歩行運動の場合と同様に、神経振動子フィードバック信号生成部内では、X方向の神経振動子φxのフィードバック信号gxを強化学習により獲得して、最適化を行なう。なお、ゲインを含めて学習を行なうので、hxは不要となる。一方、Z方向神経振動子φzに対するフィードバック信号は、図38に示したと同様に、単純な線形フィードバックを用いている。
神経振動子φxが持つ引き込み特性により、qxの発振周波数は、体幹ロール角速度から求まるフィードバック信号gx、並びに伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRの発振周波数と同期し、その位相関係は一定値に固定され、固有振動数は環境に応じて自律的に調整される。また、伸展反応及び前提脊髄反射を模した線形フィードバック信号gER及びgVSRをそれぞれ生成し、CPG制御部内の神経振動子φzへ入力し、神経振動子φzが持つ引き込み特性によりqzの発振周波数がgER及びgVSRの発振周波数と同期する。
図53に示したシステム構成によれば、旋回運動の神経振動子φxへのフィードバック項gを強化学習することができる。学習の枠組みは直進歩行と全く同じものを用いることができるが、この場合の学習器は旋回脚軌道を環境の変化とみなすことになる。直進歩行と旋回歩行のどちらの場合でも、学習アルゴリズムを変更する必要はなく最適化を図ることができるのは、大きな利点である。
図54には、歩幅Axを0.015メートル、旋回半径Rdesiredを0.3メートルに設定して神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションを行なったときの学習曲線を示している。図示の例では、およそ300階の試行で旋回歩行が獲得されていることが分かる。総計45回の計算機実験を行なったところ、およそ80%の確率で旋回歩容が獲得された。
また、本発明者らは、歩幅Axを0.015メートル、旋回半径Rdesiredを0.3、0.5、1.0メートルにそれぞれ規定したときに、神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションを試みた。図55〜図57には、それぞれの場合に獲得された行動の中間出力uを示している。また、これらの比較として、旋回半径が∞に相当する直進歩行の場合の結果を図58に示す。各図において、中間出力uが最大又は最小のピークとなる点を点線で結んでいる。
直進の場合は(図58を参照のこと)、点線が水平であることから、体幹ピッチ角速度に対して対称な出力になっている。これに対し、旋回半径Rdesiredが小さくなるにつれ、点線が徐々に傾きを持つようになることが分かる。これは、旋回半径Rdesiredが小さくなるに従い、体幹のヨー軸回りの回転の効果を無視することができなくなり、前額面と矢状面の運動の分離ができなくなることによるものと考えられる。実際、シミュレーションの様子を見ると、直進運動の場合と異なり、旋回歩行運動の場合、ピッチ方向への振動をより大きく生成している。しかしながら、この場合であっても、学習器は環境に応じて適切なフィードバック項を獲得することができるを示している。
また、図55〜図57では、獲得されたフィードバック出力は、異なる旋回半径Rdesiredであっても、概ね体幹ロール角速度に依存した傾向を示している。したがって、目標旋回半径が連続的に変化するような場合であっても、事前に求められた幾つかのフィードバック項を適切な重みで線形結合して重ね合わせることで対応することが可能と考えられる。具体例として、ここでは実験を行なわなかった旋回半径Rdesired=0.4メートルに対するフィードバック項は、Rdesired=0.3メートル及びRdesired=0.5メートルのフィードバック項を適切な重みで線形結合することで得ることができる。
また、本発明者らは、計算機シミュレーションにより獲得された神経振動子へのフィードバック項を実機に実装して検証してみた。その結果、およそ60%が実機歩行可能であった。残り40%あまりで歩行が実現できなかった原因はシミュレータのモデル化誤差によるものと考えられる。このような場合であっても、実機を用いて追加学習を行なうことができる。何故ならば、学習アルゴリズム自身は演算量が小さいことから、実機環境を用いてオンラインで学習を行なうことができるからである。
図59には、計算機シミュレーションで得られたフィードバック制御器を初期値として用い、実機環境下で追加学習を行なった結果を示している。同図において、横軸は試行回数、縦軸は1回の試行で獲得された総報酬を示している。追加学習開始直後には転倒していたが、およそ100回の試行でフィードバックが改善され、継続的な歩行を実現することができた。
追加学習を行なえば、計算機シミュレーションと実機のモデル化誤差を吸収することができる。また、シミュレーション上では学習していない未知の歩行面、例えば傾斜や段差のある環境においても、適応的に歩行パターンを学習することができる。
H.他の運動への適用
図33に示すように、2関節ロボットのアームを用いてクランクを廻すタスクを考える。振動子を関節に配置するのではなく、作業座標系に沿って配置する。このようにした場合、2素子振動子と4素子振動子を組み合わせて用い、図34に示すように配置することで、タスクに応じた位相差を振動子結合の構造として生成することができる。
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
本明細書では、2足歩行型のロボット装置に適用した実施形態を中心に説明してきたが、本発明の要旨は必ずしもこれに限定されるものではない。2足以外の歩行型ロボットや、脚式以外のロボット装置、あるいはロボット以外の機械装置であっても、周期運動を行なう可動部に対して、自励発振と引き込み特性を持つ振動子を用いて運動制御を行なうことによって、同様に本発明の効果を奏することが可能である。
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
図1は、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット100が直立している様子を前方から眺望した様子を示した図である。 図2は、本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット100が直立している様子を後方から眺望した様子を示した図である。 図3は、脚式移動ロボット100が具備する関節自由度構成を模式的に示した図である。 図4は、脚式移動ロボット100の制御システム構成を模式的に示した図である。 図5は、振動子を用いたロボット装置の運動制御の原理を説明するための図である。 図6は、振動子を用いたロボット装置の運動制御の原理を説明するための図である。 図7は、2素子型神経振動子の構成例を示した図である。 図8は、振動子において入力信号に出力信号が引き込まれていく様子を示した図である。 図9は、基準座標系として脚先のデカルト座標系を設定し、脚に振動子を配置した構成例を示した図である。 図10は、定常直進歩行について考察する際の座標軸の設定を示した図である。 図11は、2素子型神経振動子に時刻2.6秒で正弦波入力した場合の出力の時系列変化を示した図である。 図12は、2つの振動子にあらかじめ90度の位相差を持つフィードバック信号が入力される様子を示した図である。 図13は、4素子型神経振動子の構成例を示した図である。 図14は、4素子型神経振動子の出力波形を示した図である。 図15は、脚式移動ロボットの下肢の座標系と振動子の配置を示した図である。 図16は、振動子を用いた前額面内運動の制御を説明するための図である。 図17は、脚式移動ロボットがZ方向に沿って配置した振動子φzにより脚Z位置を駆動させて足踏み運動を生成する際、振動子φzに進展反応を利用したフィードバック系を導入して、常に床面からの体幹高さPbody_Zを高く保持する様子を示した図である。 図18は、神経振動子のパラメータを調節することにより大きなフィードバック値が入力された場合に発振を止める様子を示した図である。 図19は、Z方向に沿って配置した振動子φzにより脚Z位置を駆動させて前額面内の足踏み運動を生成する際に、フィードバック系gER及びgVSRを導入したときのシミュレーション結果を示した図である。 図20は、Z方向に沿って配置した振動子φzにより脚Z位置を駆動させて前額面内の足踏み運動を生成する際に、フィードバック系gER及びgVSRを導入したときのシミュレーション結果を示した図である。 図21は、Z方向に沿って配置した振動子φzにより脚Z位置を駆動させて前額面内の足踏み運動を生成する際に、フィードバック系gER及びgVSRを導入したときのシミュレーション結果を示した図である。 図22は、Z方向に沿って配置した振動子φzにより脚Z位置を駆動させて前額面内の足踏み運動を生成する際に、フィードバック系gER及びgVSRを導入したときのシミュレーション結果を示した図である。 図23は、ロボットの矢状面内における歩行運動の振動子を用いた制御を説明するための図である。 図24は、ロボットの矢状面内における歩行運動の振動子を用いた制御を説明するための図である。 図25は、振動子を用いてロボットの前額面内足踏み運動の制御を行なったときのシミュレーション結果を示した図である。 図26は、2素子型神経振動子により脚Z位置を駆動させて前額面内及び矢状面内の運動を同期させて歩行する際に、Y方向へ外力を印加させた場合のシミュレーション結果を示した図である。 図27は、4素子型神経振動子により脚Z位置を駆動させて前額面内及び矢状面内の運動を同期させて歩行する際に、Y方向へ外力を印加させた場合のシミュレーション結果を示した図である。 図28は、4素子型神経振動子を用いてロボットの歩行運動を制御する際の、体幹ロール角速度と体幹ピッチ角速度の2次元を入力し、X方向に配置した神経振動子へのフィードバック項gxを学習する学習アルゴリズムの構成を示した図である。 図29は、2素子型神経振動子を用いたロボットの歩行運動制御において、体幹ロール角速度と体幹ピッチ角速度の2次元を入力とし、X方向に配置した神経振動子へのフィードバック項gxを学習する計算機シミュレーションを行なった際の学習曲線を示した図である。 図30は、4素子型神経振動子を用いたロボットの歩行運動制御において、体幹ロール角速度と体幹ピッチ角速度の2次元を入力とし、X方向に配置した神経振動子へのフィードバック項gxを学習する計算機シミュレーションを行なった際の学習曲線を示した図である。 図31は、4素子振動子を用いて獲得されたCritic及びActorを示した図である。 図32は、4素子振動子を用いて獲得された制御器を用いてロボットの歩行制御を行なう際に、実機で追加学習を行なった結果を示した図である。 図33は、4素子型神経振動子を2関節ロボットのアームによるクランク回し運動に適用した例を示した図である。 図34は、4素子型神経振動子を2関節ロボットのアームによるクランク回し運動に適用した例を示した図である。 図35は、振動子が持つ引き込み特性を利用したロボットの制御システムの基本的構成を示した図である。 図36は、ロボット装置の前額面内の足踏み運動を制御するシステム構成例を示した図である。 図37は、ロボット装置の直進歩行運動を2素子型神経振動子で制御するシステム構成例を示した図である。 図38は、ロボット装置のX方向運動に4素子型の神経振動子を用いた場合の直進歩行運動を制御するシステム構成例を示した図である。 図39は、2足歩行ロボットが円弧に沿って旋回運動を行なうときの左右の足平の軌道を示した図である。 図40は、ロボット装置のX方向運動を4素子型神経振動子で記述するとともに、Z方向運動を2素子型神経振動子で記述して所定の旋回半径の円弧に沿った旋回運動を制御するシステム構成例を示した図である。 図41は、X方向運動を4素子型神経振動子で記述するとともにZ方向運動を2素子型神経振動子で記述して歩行運動が制御されるロボットの重心軌跡の計算機シミュレーション結果を示した図である。 図42は、ロボットの現在の進行方向と目標地点のなす角をθsteeringとし、目標地点までの距離をDとおいたときに旋回半径Rdesiredを求める仕組みを説明するための図である。 図43は、ロボット装置のX方向運動を4素子型神経振動子で記述するとともにZ方向運動を2素子型神経振動子で記述して、旋回運動を利用した目標地点への歩行を制御するシステム構成例を示した図である。 図44は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。 図45は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。 図46は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。 図47は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。 図48は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。 図49は、目標地点へ移動するロボットの運動制御の計算機シミュレーションを行なったときのロボットの重心軌跡を示した図である。 図50は、複数の目標点を順次設定して各目標点間の旋回歩行により星型の経路を歩行させた場合の計算機シミュレーション結果を示した図である。 図51は、ロボット装置のX方向の振動子に4素子型の神経振動子を用いた場合の直進歩行運動制御に対し、X方向振動子φxのフィードバック項gxを強化学習する仕組みを導入したシステム構成例を示した図である。 図52は、神経振動子フィードバック信号生成部内の学習器と、制御対象としてのロボットとの関係を示した図である。 図53は、ロボット装置の所定の旋回半径の円弧に沿った旋回運動制御に対し、X方向振動子φxのフィードバック項gxを強化学習する仕組みを導入したシステム構成例を示した図である。 図54は、歩幅Axを0.015メートル、旋回半径Rdesiredを0.3メートルに設定して神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションを行なったときの学習曲線を示した図である。 図55は、歩幅Axを0.015メートル、旋回半径Rdesiredを0.3メートルに規定したときに神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションにおける中間出力uを示した図である。 図56は、歩幅Axを0.015メートル、旋回半径Rdesiredを0.5メートルに規定したときに神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションにおける中間出力uを示した図である。 図57は、歩幅Axを0.015メートル、旋回半径Rdesiredを1.0メートルに規定したときに神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションにおける中間出力uを示した図である。 図58は、歩幅Ax0.015メートルで直進歩行(旋回半径Rdesired=∞)するときに神経振動子へのフィードバック項を強化学習で獲得する計算機シミュレーションにおける中間出力uを示した図である。 図59は、計算機シミュレーションで得られたフィードバック制御器を初期値として用い、実機環境下で追加学習を行なった結果を示した図である。
符号の説明
1…首関節ヨー軸
2A…第1の首関節ピッチ軸
2B…第2の首関節(頭)ピッチ軸
3…首関節ロール軸
4…肩関節ピッチ軸
5…肩関節ロール軸
6…上腕ヨー軸
7…肘関節ピッチ軸
8…手首関節ヨー軸
9…体幹ピッチ軸
10…体幹ロール軸
11…股関節ヨー軸
12…股関節ピッチ軸
13…股関節ロール軸
14…膝関節ピッチ軸
15…足首関節ピッチ軸
16…足首関節ロール軸
30…頭部ユニット,40…体幹部ユニット
50…腕部ユニット,51…上腕ユニット
52…肘関節ユニット,53…前腕ユニット
60…脚部ユニット,61…大腿部ユニット
62…膝関節ユニット,63…脛部ユニット
80…制御ユニット,81…主制御部
82…周辺回路
91,92…接地確認センサ
93,94…加速度センサ
95…姿勢センサ
96…加速度センサ
100…脚式移動ロボット

Claims (46)

  1. 複数の可動部を有するロボット装置であって、
    少なくとも一部の可動部の周期運動に関する位相信号を生成する1以上の振動子からなる位相信号発生手段と、
    各振動子に対し、フィードバック信号gを所定のフィードバック・ゲインhを以って入力する入力手段と、
    前記位相信号に基づいて前記可動部の制御信号を生成する制御手段と、
    前記制御信号に従って前記可動部を駆動する駆動手段とを備え、
    前記位相信号発生手段を構成する少なくとも1つの振動子は、あらかじめ位相関係が90度異なる出力q0及びq1を持つ4素子型神経振動子を基準振動子として構成される、
    ことを特徴とするロボット装置。
  2. 前記4素子型神経振動子は、下式に従ってあらかじめ位相関係が90度異なる2つの出力q0及びq1を持つ、
    ことを特徴とする請求項1に記載のロボット装置(但し、u0、u1、u2、u3、v0、v1、v2、v3は内部変数、τ0、τ1、τ2、τ3は時定数(>0)、cは定常入力(>0)、βは疲労係数(>0)、γ23、γ32、γ01、γ10、γ02、γ30、γ13、γ21は素子間結合の重み(>0)、gj及びgkはフィードバック信号、hj及びhkはフィードバック・ゲインである)。
  3. 前記4素子型神経振動子の一方の出力q0と他方の出力q1にそれぞれ重みγを付けて線形結合して、前記振動子への入力信号に対して任意の位相差を生成する位相差生成手段をさらに備える、
    ことを特徴とする請求項1に記載のロボット装置。
  4. 前記位相信号発生手段は、4素子型神経振動子と2素子型神経振動子を組み合わせ、各振動子からの出力を、所望の周期関数をフーリエ級数展開したときの基底関数として用いる、
    ことを特徴とする請求項1に記載のロボット装置。
  5. 前記ロボット装置は可動部として体幹に取り付けられた複数の脚を含み、
    独立して扱うことができる前額面内運動と矢状面内運動からなる歩行運動を実行する際に、前記制御手段は、前額面内運動に対し2素子型神経振動子による制御を用いるとともに、矢状面内運動に対し4素子型神経振動子による制御を用いる、
    ことを特徴とする請求項1に記載のロボット装置。
  6. 前記入力手段は、前額面内運動のうちZ方向運動を記述する振動子に対し、足裏に印加される力に応じたフィードバック信号を入力する、
    ことを特徴とする請求項5に記載のロボット装置。
  7. 前記入力手段は、前額面内運動のうちZ方向運動を記述する振動子に対し、体幹のロール方向の傾きに応じたフィードバック信号を入力する、
    ことを特徴とする請求項5に記載のロボット装置。
  8. 前記位相信号発生手段は、矢状面内運動のうちX方向運動を4素子型神経振動子で記述し、
    前記入力手段は、該X方向運動の振動子に対するフィードバック信号として、4素子型神経振動子からZ方向運動の振動子とは位相が90度ずれた信号を得る、
    ことを特徴とする請求項5に記載のロボット装置。
  9. 前記入力手段は、前記4素子型神経振動子のうち一方の2素子型神経振動子にはZ方向振動子と同じフィードバック系を導入し、他方の2素子型神経振動子には体幹のロール方向角速度に応じたフィードバック信号をフィードバックする、
    ことを特徴とする請求項8に記載のロボット装置。
  10. 少なくとも1つの可動部において基準座標系が設定され、
    前記位相信号発生手段は、前記基準座標系を構成する座標軸毎に振動子を配設し、
    前記制御手段は、振動子の自励発振と前記可動部の周期運動に対する引き込み現象により発される前記基準座標系における前記可動部への指令値を該当する関節部に対する指令値に変換し、
    前記駆動手段は、変換して得られた関節部に対する指令値に基づいて関節部を駆動する、
    ことを特徴とする請求項1に記載のロボット装置。
  11. 可動部として足部を含む脚を備え、
    前記脚に対する基準座標系は、前記ロボット装置の体重を支持する前記脚の長さ方向と、前記足部の接地位置又は前記脚の軌道を決定するロール及びピッチ方向に座標軸を持ち、
    前記位相信号発生手段は、前記基準座標系の座標軸毎に振動子を配設する、
    ことを特徴とする請求項10に記載のロボット装置。
  12. 前記入力手段は、矢状面内運動のうちX方向運動を記述する振動子φxに対し、体幹ロール角速度に応じたフィードバック信号gxを入力し、
    前記制御手段による歩行制御におけるフィードバック信号を最適化する学習手段をさらに備える、
    ことを特徴とする請求項5に記載のロボット装置。
  13. 前記学習手段は、強化学習の一手法である方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の2次元を入力とし、X方向運動を記述する振動子φxへのフィードバック項gxを学習する、
    ことを特徴とする請求項12に記載のロボット装置。
  14. 学習に組み合わせる報酬関数を設定する報酬関数設定手段をさらに備える、
    ことを特徴とする請求項12に記載のロボット装置。
  15. 前記報酬関数設定手段は、ロボット装置に腰の高さと移動速度を反映する報酬関数を設定する、
    ことを特徴とする請求項14に記載のロボット装置。
  16. 前記報酬関数設定手段は、報酬関数に消費エネルギを罰として与える、
    ことを特徴とする請求項15に記載のロボット装置。
  17. 前記報酬関数設定手段は、ヨー回りの目標角速度を与え、その誤差を罰として与える、
    ことを特徴とする請求項15に記載のロボット装置。
  18. 複数の可動部を有するロボット装置の制御方法であって、
    少なくとも一部の可動部の周期運動に関する位相信号を1以上の振動子を用いて生成する位相信号発生ステップと、
    各振動子に対し、フィードバック信号gを所定のフィードバック・ゲインhを以って入力する入力ステップと、
    前記位相信号に基づいて前記可動部の制御信号を生成する制御ステップと、
    前記制御信号に従って前記可動部を駆動する駆動ステップを備え、
    前記位相信号発生ステップで用いられる少なくとも1つの振動子は、あらかじめ位相関係が90度異なる出力q0及びq1を持つ4素子型神経振動子を基準振動子として構成される、
    ことを特徴とするロボット装置の制御方法。
  19. 前記4素子型神経振動子は、下式に従ってあらかじめ位相関係が90度異なる2つの出力q0及びq1を持つ、
    ことを特徴とする請求項18に記載のロボット装置の制御方法(但し、u0、u1、u2、u3、v0、v1、v2、v3は内部変数、τ0、τ1、τ2、τ3は時定数(>0)、cは定常入力(>0)、βは疲労係数(>0)、γ23、γ32、γ01、γ10、γ02、γ30、γ13、γ21は素子間結合の重み(>0)、gj及びgkはフィードバック信号、hj及びhkはフィードバック・ゲインである)。
  20. 一方の出力q0と他方の出力q1にそれぞれ重みγを付けて線形結合して、前記振動子への入力信号に対して任意の位相差を生成する位相差生成ステップをさらに備える、
    ことを特徴とする請求項18に記載のロボット装置の制御方法。
  21. 前記位相信号発生ステップでは、4素子型神経振動子と2素子型神経振動子を組み合わせ、各振動子からの出力を、所望の周期関数をフーリエ級数展開したときの基底関数として用いる、
    ことを特徴とする請求項18に記載のロボット装置の制御方法。
  22. 前記ロボット装置は可動部として体幹に取り付けられた複数の脚を含み、
    独立して扱うことができる前額面内運動と矢状面内運動からなる歩行運動を実行する際に、前記制御ステップでは、前額面内運動に対し2素子型神経振動子による制御を用いるとともに、矢状面内運動に対し4素子型神経振動子による制御を用いる、
    ことを特徴とする請求項18に記載のロボット装置の制御方法。
  23. 前記入力ステップでは、前額面内運動のうちZ方向運動を記述する振動子に対し、足裏に印加される力に応じたフィードバック信号を入力する、
    ことを特徴とする請求項22に記載のロボット装置の制御方法。
  24. 前記入力ステップでは、前額面内運動のうちZ方向運動を記述する振動子に対し、体幹のロール方向の傾きに応じたフィードバック信号を入力する、
    ことを特徴とする請求項22に記載のロボット装置の制御方法。
  25. 前記位相信号発生ステップでは、矢状面内運動のうちX方向運動を4素子型神経振動子で記述し、
    前記入力ステップでは、該X方向運動の振動子に対するフィードバック信号として、4素子型神経振動子からZ方向運動の振動子とは位相が90度ずれた信号を得る、
    ことを特徴とする請求項22に記載のロボット装置の制御方法。
  26. 前記入力ステップでは、前記4素子型神経振動子のうち一方の2素子型神経振動子にはZ方向振動子と同じフィードバック系を導入し、他方の2素子型神経振動子には体幹のロール方向角速度をフィードバックする、
    ことを特徴とする請求項25に記載のロボット装置の制御方法。
  27. 少なくとも1つの可動部において基準座標系が設定され、
    前記位相信号発生ステップでは、前記基準座標系を構成する座標軸毎に振動子を配設し、
    前記制御ステップでは、振動子の自励発振と前記可動部の周期運動に対する引き込み現象により発される前記基準座標系における前記可動部への指令値を該当する関節部に対する指令値に変換し、
    前記駆動ステップでは、変換して得られた関節部に対する指令値に基づいて関節部を駆動する、
    ことを特徴とする請求項18に記載のロボット装置の制御方法。
  28. 可動部として足部を含む脚を備え、
    前記脚に対する基準座標系は、前記ロボット装置の体重を支持する前記脚の長さ方向と、前記足部の接地位置又は前記脚の軌道を決定するロール及びピッチ方向に座標軸を持ち、
    前記位相信号発生ステップでは、前記基準座標系の座標軸毎に振動子を配設する、
    ことを特徴とする請求項27に記載のロボット装置の制御方法。
  29. 前記入力ステップでは、矢状面内運動のうちX方向運動を記述する振動子に対し、体幹ロール角速度に応じたフィードバック信号を入力し、
    前記制御ステップによるフィードバック信号を最適化する学習ステップをさらに備える、
    ことを特徴とする請求項22に記載のロボット装置の制御方法。
  30. 前記学習ステップでは、強化学習の一手法である方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の2次元を入力とし、X方向運動を記述する振動子へのフィードバック項を学習する、
    ことを特徴とする請求項29に記載のロボット装置の制御方法。
  31. 学習に組み合わせる報酬関数を設定する報酬関数設定ステップをさらに備える、
    ことを特徴とする請求項29に記載のロボット装置の制御方法。
  32. 前記報酬関数設定ステップでは、ロボット装置に腰の高さと移動速度を反映する報酬関数を設定する、
    ことを特徴とする請求項31に記載のロボット装置の制御方法。
  33. 前記報酬関数設定ステップでは、報酬関数に消費エネルギを罰として与える、
    ことを特徴とする請求項32に記載のロボット装置の制御方法。
  34. 前記報酬関数設定ステップでは、ヨー回りの目標角速度を与え、その誤差を罰として与える、
    ことを特徴とする請求項32に記載のロボット装置の制御方法。
  35. 前記ロボット装置は可動部として体幹に取り付けられた複数の脚を含み、
    所定の旋回半径からなる円弧に沿った歩行による旋回運動を実行する際に、前記位相信号発生手段は、胴体座標系のX方向運動を4素子型又は2素子型神経振動子で記述するとともにZ方向運動を2素子型神経振動子で記述し、
    前記制御手段は、旋回半径と直進時の基準歩幅から幾何学的に求まる各脚の歩幅に該振動子出力を乗算した値に基づいてX方向における基準位置に対する各脚の足先位置を決定するとともに、各脚の足先ヨー角度をXの関数として前記円弧に沿うように決定し該足先ヨー角度に基づいてY方向における基準位置に対する各脚の足先位置を決定する、
    ことを特徴とする請求項1に記載のロボット装置。
  36. 前記入力手段は、前額面内運動のうちZ方向運動を記述する振動子に対し、体幹のロール方向の傾き、又は足裏に印加される力のうち少なくとも一方に応じたフィードバック信号を入力する、
    ことを特徴とする請求項35に記載のロボット装置。
  37. 前記位相信号発生手段は、矢状面内運動のうちX方向運動を4素子型神経振動子で記述し、
    前記入力手段は、前記4素子型神経振動子のうち一方の2素子型神経振動子にはZ方向振動子と同じフィードバック系を導入し、他方の2素子型神経振動子には体幹のロール方向角速度に応じたフィードバック信号をフィードバックする、
    ことを特徴とする請求項35に記載のロボット装置。
  38. ある目標地点まで移動する際に、前記制御手段は、現在の進行方向と該目標地点のなす角と目標地点までの該距離から旋回半径を決定し、該旋回半径からなる円弧に沿った歩行による旋回運動を実行して該目標地点までの移動を実現する、
    ことを特徴とする請求項35に記載のロボット装置。
  39. 前記入力手段が入力するフィードバック信号を最適化する学習を行なう学習手段をさらに備える、
    ことを特徴とする請求項35に記載のロボット装置。
  40. 前記入力手段は、矢状面内運動のうちX方向運動を記述する振動子φxに対し、体幹ロール角速度に応じたフィードバック信号gxを入力し、
    前記学習手段は、強化学習の一手法である方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の2次元を入力とし、X方向運動を記述する振動子φxへのフィードバック項gxを学習する、
    ことを特徴とする請求項39に記載のロボット装置。
  41. 前記ロボット装置は可動部として体幹に取り付けられた複数の脚を含み、
    所定の旋回半径からなる円弧に沿った歩行による旋回運動を実行する際に、前記位相信号発生ステップでは、胴体座標系のX方向運動を4素子型又は2素子型神経振動子で記述するとともにZ方向運動を2素子型神経振動子で記述し、
    前記制御ステップでは、旋回半径から幾何学的に求まる各脚の歩幅に該振動子出力を乗算した値に基づいてX方向における基準位置に対する各脚の足先位置を決定するとともに、各脚の足先ヨー角度をXの関数として前記円弧に沿うように決定し該足先ヨー角度に基づいてY方向における基準位置に対する各脚の足先位置を決定する、
    ことを特徴とする請求項18に記載のロボット装置の制御方法。
  42. 前記入力ステップでは、前額面内運動のうちZ方向運動を記述する振動子に対し、体幹のロール方向の傾き、又は足裏に印加される力のうち少なくとも一方に応じたフィードバック信号を入力する、
    ことを特徴とする請求項41に記載のロボット装置の制御方法。
  43. 前記位相信号発生ステップでは、矢状面内運動のうちX方向運動を4素子型神経振動子で記述し、
    前記入力ステップでは、前記4素子型神経振動子のうち一方の2素子型神経振動子にはZ方向振動子と同じフィードバック系を導入し、他方の2素子型神経振動子には体幹のロール方向角速度に応じたフィードバック信号をフィードバックする、
    ことを特徴とする請求項41に記載のロボット装置の制御方法。
  44. ある目標地点まで移動する際に、前記制御ステップでは、現在の進行方向と該目標地点のなす角と目標地点までの該距離から旋回半径を決定し、該旋回半径からなる円弧に沿った歩行による旋回運動を実行して該目標地点までの移動を実現する、
    ことを特徴とする請求項41に記載のロボット装置の制御方法。
  45. 前記入力ステップにおいて入力するフィードバック信号を最適化する学習を行なう学習ステップをさらに備える、
    ことを特徴とする請求項41に記載のロボット装置の制御方法。
  46. 前記入力ステップでは、矢状面内運動のうちX方向運動を記述する振動子φxに対し、体幹ロール角速度に応じたフィードバック信号gxを入力し、
    前記学習ステップでは、強化学習の一手法である方策勾配法を用い、体幹ロール角速度及び体幹ピッチ角速度の2次元を入力とし、X方向運動を記述する振動子φxへのフィードバック項gxを学習する、
    ことを特徴とする請求項45に記載のロボット装置の制御方法。
JP2006028875A 2005-03-17 2006-02-06 ロボット装置及びその制御方法 Expired - Fee Related JP5052013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006028875A JP5052013B2 (ja) 2005-03-17 2006-02-06 ロボット装置及びその制御方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005078122 2005-03-17
JP2005078122 2005-03-17
JP2006028875A JP5052013B2 (ja) 2005-03-17 2006-02-06 ロボット装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2006289602A true JP2006289602A (ja) 2006-10-26
JP5052013B2 JP5052013B2 (ja) 2012-10-17

Family

ID=37410734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006028875A Expired - Fee Related JP5052013B2 (ja) 2005-03-17 2006-02-06 ロボット装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP5052013B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009110331A1 (ja) * 2008-03-04 2009-09-11 国立大学法人九州工業大学 制御システム、振動制御装置及び制御信号生成方法
JP2017030137A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
JP2017520415A (ja) * 2014-06-03 2017-07-27 アルティミンズ ロボティクス ゲーエムベーハー ロボットをプログラムする方法およびシステム
JP2018198031A (ja) * 2017-05-25 2018-12-13 日本電信電話株式会社 移動体制御方法、移動体制御装置、及びプログラム
CN110909859A (zh) * 2019-11-29 2020-03-24 中国科学院自动化研究所 基于对抗结构化控制的仿生机器鱼运动控制方法、系统
CN114099235A (zh) * 2021-11-23 2022-03-01 上海卓道医疗科技有限公司 康复机器人及其振动运动一体控制系统和方法
CN114469000A (zh) * 2022-01-27 2022-05-13 重庆邮电大学 基于多传感器数据强化学习的人体减跌防震智能监测方法及系统
CN114526738A (zh) * 2022-01-25 2022-05-24 中国科学院深圳先进技术研究院 一种基于深度强化学习的移动机器人视觉导航方法及装置
CN114740875A (zh) * 2022-03-31 2022-07-12 山东大学 基于神经振荡器的机器人节律运动控制方法及系统
CN115659631A (zh) * 2022-10-24 2023-01-31 江西理工大学 一种基于振幅包络的延展态的实现方法
US11780095B2 (en) 2015-07-31 2023-10-10 Fanuc Corporation Machine learning device, robot system, and machine learning method for learning object picking operation
CN116859978A (zh) * 2023-08-08 2023-10-10 之江实验室 一种双足机器人踝关节控制的逆运动学求解方法及装置
CN117555339A (zh) * 2024-01-11 2024-02-13 科大讯飞股份有限公司 策略网络训练方法及人形双足机器人步态控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004073649A (ja) * 2002-08-21 2004-03-11 Honda Motor Co Ltd 歩行補助装置の制御システム
JP2005288594A (ja) * 2004-03-31 2005-10-20 Sony Corp 2足歩行移動装置
JP2005305597A (ja) * 2004-04-21 2005-11-04 Sony Corp ロボット装置及びその制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004073649A (ja) * 2002-08-21 2004-03-11 Honda Motor Co Ltd 歩行補助装置の制御システム
JP2005288594A (ja) * 2004-03-31 2005-10-20 Sony Corp 2足歩行移動装置
JP2005305597A (ja) * 2004-04-21 2005-11-04 Sony Corp ロボット装置及びその制御方法

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2470168A (en) * 2008-03-04 2010-11-10 Nat University Corp Kyushu I O Control system,oscillation control device,and control signal generation method
GB2470168B (en) * 2008-03-04 2012-06-06 Nat University Corp Kyushu Inst Of Technology Control System,Oscillation Control Device,and Control Signal Generation Method
US8417389B2 (en) 2008-03-04 2013-04-09 National University Corporation Kyushu Institute Of Technology Control system, oscillation control device, and control signal generation method
WO2009110331A1 (ja) * 2008-03-04 2009-09-11 国立大学法人九州工業大学 制御システム、振動制御装置及び制御信号生成方法
US10279476B2 (en) 2014-06-03 2019-05-07 ArtiMinds Robotics GmbH Method and system for programming a robot
JP2017520415A (ja) * 2014-06-03 2017-07-27 アルティミンズ ロボティクス ゲーエムベーハー ロボットをプログラムする方法およびシステム
US10807235B2 (en) 2015-07-31 2020-10-20 Fanuc Corporation Machine learning device, robot controller, robot system, and machine learning method for learning action pattern of human
US11780095B2 (en) 2015-07-31 2023-10-10 Fanuc Corporation Machine learning device, robot system, and machine learning method for learning object picking operation
US11904469B2 (en) 2015-07-31 2024-02-20 Fanuc Corporation Machine learning device, robot controller, robot system, and machine learning method for learning action pattern of human
JP2017030137A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
JP2018198031A (ja) * 2017-05-25 2018-12-13 日本電信電話株式会社 移動体制御方法、移動体制御装置、及びプログラム
CN110909859A (zh) * 2019-11-29 2020-03-24 中国科学院自动化研究所 基于对抗结构化控制的仿生机器鱼运动控制方法、系统
CN114099235A (zh) * 2021-11-23 2022-03-01 上海卓道医疗科技有限公司 康复机器人及其振动运动一体控制系统和方法
CN114526738A (zh) * 2022-01-25 2022-05-24 中国科学院深圳先进技术研究院 一种基于深度强化学习的移动机器人视觉导航方法及装置
CN114526738B (zh) * 2022-01-25 2023-06-16 中国科学院深圳先进技术研究院 一种基于深度强化学习的移动机器人视觉导航方法及装置
CN114469000B (zh) * 2022-01-27 2023-08-11 重庆邮电大学 基于多传感器数据强化学习的人体减跌防震智能监测方法及系统
CN114469000A (zh) * 2022-01-27 2022-05-13 重庆邮电大学 基于多传感器数据强化学习的人体减跌防震智能监测方法及系统
WO2023184933A1 (zh) * 2022-03-31 2023-10-05 山东大学 基于神经振荡器的机器人节律运动控制方法及系统
CN114740875A (zh) * 2022-03-31 2022-07-12 山东大学 基于神经振荡器的机器人节律运动控制方法及系统
CN115659631A (zh) * 2022-10-24 2023-01-31 江西理工大学 一种基于振幅包络的延展态的实现方法
CN115659631B (zh) * 2022-10-24 2023-08-04 江西理工大学 一种基于振幅包络的延展态的实现方法
CN116859978A (zh) * 2023-08-08 2023-10-10 之江实验室 一种双足机器人踝关节控制的逆运动学求解方法及装置
CN116859978B (zh) * 2023-08-08 2024-05-03 之江实验室 一种双足机器人踝关节控制的逆运动学求解方法及装置
CN117555339A (zh) * 2024-01-11 2024-02-13 科大讯飞股份有限公司 策略网络训练方法及人形双足机器人步态控制方法
CN117555339B (zh) * 2024-01-11 2024-04-26 科大讯飞股份有限公司 策略网络训练方法及人形双足机器人步态控制方法

Also Published As

Publication number Publication date
JP5052013B2 (ja) 2012-10-17

Similar Documents

Publication Publication Date Title
JP5052013B2 (ja) ロボット装置及びその制御方法
JP4836592B2 (ja) ロボット装置及びその制御方法
JP4587738B2 (ja) ロボット装置及びロボットの姿勢制御方法
JP3972854B2 (ja) ロボットの運動制御装置
US20060214622A1 (en) Control system and related method for multi-limbed, multi-legged robot
US7076338B2 (en) Motion unit generating method for legged mobile robot
Al-Shuka et al. Modeling, stability and walking pattern generators of biped robots: a review
Wu et al. Neurally controlled steering for collision-free behavior of a snake robot
Chew et al. Dynamic bipedal walking assisted by learning
Grzelczyk et al. Prototype, control system architecture and controlling of the hexapod legs with nonlinear stick-slip vibrations
JP2007185756A (ja) 制御システム及び制御方法、並びにコンピュータ・プログラム
Chen et al. An adaptive locomotion controller for a hexapod robot: CPG, kinematics and force feedback
JP4483254B2 (ja) ロボット装置及びロボット装置の制御方法
Van der Noot et al. Experimental validation of a bio-inspired controller for dynamic walking with a humanoid robot
Zhao et al. Intelligent control of multilegged robot smooth motion: a review
JP4587699B2 (ja) ロボット装置及びその制御方法
JP3674779B2 (ja) 脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置
Lu et al. A novel multi-configuration quadruped robot with redundant DOFs and its application scenario analysis
JP4518615B2 (ja) 脚式移動ロボットの動作制御システム及び動作制御方法
Haserbek et al. Model-free End-to-end Learning of Agile Quadrupedal Locomotion over Challenging Terrain
Liu Walking control for a bipedal model with exoskeleton applications
Feng et al. Humanoid robot field-programmable gate array hardware and robot-operating-system-based software machine co-design
Sari et al. Implementation and integration of fuzzy algorithms for descending stair of KMEI humanoid robot
Yang et al. Real-time Bipedal Walking Gait Adjustment Modes Based on a Truncated Fourier Series Model
Elhasairi Humanoid robot full-body control & balance restoration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120724

R150 Certificate of patent or registration of utility model

Ref document number: 5052013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees