ボール認識によるロボットのバッティング

研究目的

 「ロボットを作ってヒトを知る」ための象徴的なデモンストレーションとして野球のバッティングが選ばれました。バッターはピッチャーの投げるボールを見て、軌道を予測して全身をたくみに使って力強くバットを振ります。これは認識、予測、制御が三位一体となった高度な感覚運動制御です。本プロジェクトでは、ボールを見て打つという一連の動作をロボットで実現することを最初の目標としました。

ボール認識と予測学習

画像を拡大

 ヒトのような感覚運動制御を研究するため、高速カメラや外部カメラによって投げられたボールを認識することは「行わない」という拘束を設定しました。しかしボールが届いてからバットをスイングしたのでは遅いので、ボールの軌道を予測してバットを振ります。

ロボットが自分の目で投げられたボールを認識して、コースを予測しバットをスイングするのです。頭部に搭載されたカメラ(IMG1)は広角系と望遠系の2系統で、それぞれのフレームレートは30fpsです。この視覚システムのみを用いてボールの到達位置と時間を逐次的に学習するアルゴリズムを実装しています。これまで、初期位置・速度情報のみに基づいて到達時間はほぼ正確に、位置は非常に大雑把な推定をできるようになっています。

運動制御

動画を再生

 ピッチャーが投げるボールの軌道を正確に予測するために頭部をなるべく動かさない必要があります。通常のバランス制御を用いると、ロボットは転倒しませんが、姿勢の揺動が大きいことがわかりました。

重心の推定値はさまざまな要因で常に変動しているので、ボールの軌道予測に集中するときに揺動のある重心フィードバックは邪魔になります。そこで、スイングするときに外乱は存在せず姿勢は一定であることを考慮して、剛性制御を併用しました。これによって、揺動を低く抑えたスイングが達成できました。(動画参照)

運動教示

動画を再生

 上で示した実験においては、下半身は見た目にはほとんど動いていませんが、人間の本来のスイング動作においては時間変化するパターン(フォーム)として神経系に記憶されていると考えられます。我々のロボットは冗長な関節を有しているため、バランスを行いながら運動を直接教示することも可能です。(動画参照)

バットでボールを打つ

動画を再生

 最終的にはヒューマノイドロボットが人が投げるボールを打ち返す実験に成功しました。バッティングは、単にバットを振る動作だけでなく、飛んでくるボールを見て、軌道を予測し、全身のバランスも同時に取りながらバットで打つという幾つもの動きを組み合わせた難易度の高い運動能力を要します。(動画参照)

今後の展開としては、空振りする確率もあるため、認識率の改善を試みています。このような難易度の高いデモ実現を通じて、ヒトの感覚運動制御の理解に近づきたいと考えます。