視覚情報をリアルタイムに処理して動きを制御する
チームが開発した新しいシステムは、2つのコントローラから構成されています。
コントローラとは、ロボットの状態を一連の行動に変換するアルゴリズムのことです。
1つ目はロボット前面に取り付けられたビデオカメラからの入力を、リアルタイムで処理するニューラルネットワークの上位コントローラです。
これは人間で言えば学習する脳にあたる機能です。
2つ目はロボットの持つ12箇所の関節のトルクを算出する低位コントローラーです。これはニューラルネットワークではなく、単純にロボットの動きを簡潔に物理方程式で示すだけのものです。
こちらのほうは、ある意味では反射的な反応を行う脊髄のような役割をしていると言えるでしょう。
1つのロボットの制御を脳と脊髄の2つのコントローラーに分割することで、より生物に近い動きを期待できます。
基礎的な設計が終わると、チームは1つ目のニューラルネットワークをまずはシミュレーションによって学習させ、視覚的に取得された前方の地形情報と、現在の自分の状態(関節角度、体の向き)の情報を元に、リアルタイムに動きを制御できるようにしました。
そして、次に何百もの不連続な地形を走るシミュレーションを行い、最適な解決法を学んだロボットに対し、次は現実世界の隙間のある木板の上を走らせる実験を行いました。
しかし、シミュレーションとは異なり、現実のセンサーにはノイズがあるため、これが蓄積して実際の自分の体の状態をロボットがうまく認識できない状態が発生しました。
そこで、チームは、モーションキャプチャーを使って、ロボットに自分の正しい状態を認識できるようにして実験を継続したのです。
これはロボットに自らの姿勢を認識させる役割を果たしました。
これにより、ロボットは90%近い地形を飛び越えることに成功します。
重要なのはロボットの歩行を調節することでした。
人間が大きな隙間を飛び越えようとした場合、まず全力で走ってスピードをあげ、両足を揃えて力強くジャンプしてます。
ロボットも同様に足を踏み入れるタイミングや時間を調節して、地形をうまく乗り越えるのです。
ロボットが視覚情報を元にして、リアルタイムに地形をクリアできるようになれば、彼らの活動可能な地形は大きく広がることになります。
今回は、まだ実験室内に留まるものですが、研究者たちはモーションキャプチャーも利用せず、外の地形で軽やかに走り回れるよう、改良を重ねていくと話しています。