■概要
複雑な力学計算は行わず人間のように姿勢反射(*1)のみによってバランスを取る。
■原理
ここで利用する姿勢反射とは、接地してる側の脚の股関節を動かし、
「上体が常に垂直となるよう」制御するというもの。
例えば上体が前に傾いた際は、より股を広げることで後ろに戻す。
逆に後ろに傾いたときは股を狭める、或いは歩行時なら脚の振出
速度を落とし上体を前に戻す。横方向に傾いた場合も同様の方法で
上体を垂直に維持する。
接地している側の股関節動かしたとき、上体角がどのように変化するかを
物理シミュレーションによって確認。以下
無重力状態に於いて3本の棒をそれぞれ青は上体、白は脚に見立て
白いl棒の一方をフリージョイントで地面に固定、
股関節(白い棒と青い棒の接続部分)を右に広げると
上体は左に傾く、また逆方向に広げれば上体は右に傾く、
上体垂直制御⇒UVC(Upper body vertical control)は
この効果を利用して上体を常に垂直に維持する。
本ロボットの場合、バランス制御はUVCのみであり、ZMP(*2)など
を意識した力学計算は一切行っていない。
またホビーロボットでよく使用される振れ抑止のためのジャイロ(*3)も
適用していない。
■歩行制御
UVCは歩行制御に於いてそれ単独では利用できず、実際には
歩行に係る3要素(以下)を合成するかたちで歩行動作を実現する。
@歩行モーション
外力が加わらなければそれのみで歩行可能な安定した
軌道再現型の歩行モーション(固定モーション
*4)
A姿勢反射
UVC(上体垂直制御)、バランス制御の要。
B同期(CPG *5)
ロボットの固有振動数に同期する歩行リズム(周期)の生成。
但し、本シミュレーションでは固定周期(簡略仕様)となっている。
以上の3要素を統合し安定な歩行動作を実現。
■シミュレーションプログラム
プログラム全体としては、ODEメイン部と、歩行制御部に
大別でき、ODEメイン部は3Dオブジェクトの生成と、歩行制御部の
指示に従いオブジェクト(ロボット)を動かす。
一方、歩行制御部は歩行パターンを生成する歩行処理メイン部であり、
@歩行モーション、A姿勢反射、B同期 を統合し、
ロボットの関節駆動量をリアルタイムに生成する。
(歩行制御部は100ステップ程の短いプログラムで出来ている)
(ソースコード公開)
細かな最適化は行なっていないので色々と改良の余地あり、
書籍等への掲載、再配布も自由。
また、商用以外の目的ならUVCの実機への適用、および公開も自由。
■ロボットの動きについて
動画ではロボットがバーに接触し押し戻されたり、
球体につまずいて踏ん張ったりするシーンがあるが、
これは特にその様な動作を組込んでいるわけではなく
UVCの効果により不規則・自発的に生成される。
■課題
UVCのみを利用した歩行制御は、例えば首を落された鶏が脊髄反射だけで
歩いているようなもので多様な外部条件には対応できない。(*6)
汎用的なヒューマノイドロボットとするためには、
人間の運動野の機能(簡単な動作)、運動連合野の機能(一連の動作)
小脳の機能(誤差の補正)や前頭葉の機能(外界モデルの構築と操作)
など、中枢系の機能も必要になる。
それにはディープラーニングのような一方向的な情報処理だけでなく、自身に向けての処理
(自己反省、イメージ操作)を取入れ、外界モデルの構築
(それには現実世界にアクセスできる身体が必要)とそれを操作できる(考える)能力を
備えたロボットへと進化させなければならない。
------------------------ 補足説明 ------------------------
*1:
人間には、立ち直り反射(空間内で頭や体幹を正しい位置に保ったり、
頭と体幹の相対関係を正したりする機能)、パラシュート反射
(前から押されると後ろに腰を引く)、伸展反射、緊張性迷路反射、
緊張性頸反射など幾つもの上体垂直保持に係る反射があり、
それらによって歩行バランスを維持する。
*2:
通常ZMPと呼ばれる足裏に加わる圧力の中心(或いは重心に対する重力と加速度との合力でも求まる)
が地面に接触する支持多角形(例えば三脚の場合は正三角形)の中央に来るよう
脚の運びを決める。それを求める運動方程式や各種計算。
*3:
レートジャイロの出力(加速度)を通常は足首のロール軸とピッチ軸の関節駆動量に重畳し、
傾いた方向に踏ん張る動きをさせることで機体の振れを抑止する。
*4:
人間の場合は、左側に体幹が移動した場合、反射的に右側の脚が上がるなど
基本的な歩行動作そのものも反射によって補われている。
*5:
脊髄にあるパターン発生器(central pattern generator)であり、
歩行のリズムを生成する。何らかのフィードバック信号を利用して
歩行リズムが崩れないように出力パターンや周期を調整する。
*6:
ヒューマノイドロボットの開発が中止になったり棚上げにされてしまう
ケースが多い。条件の良い場所での歩行や、何かのショーを行うだけのロボット
(現状レベル)に、あまり意味を見出せないのかもしれない。