ロボットが家事、そして怪我人や高齢者の介護などを本当に手伝うのなら、少なくともと2つの手を必要とするだろう。しかし2つの手を使うというのは、見た目よりも難しい。なので、このロボットコントロールシステムは同じような動きを試みる前に人間から学習する。
ウィスコンシン大学マディソン校の研究の背景にある考え方は、ゼロから2つの手を持つロボットを作るのではなく、単純に人間が考えることなく行なっている手の動きと同じことを理解して実行するシステムを作るというものだ。
たとえば、瓶のフタをあけなければならないとき、あなたは片手で瓶をつかみ、所定の位置に動かして固定し、もう片方の手でフタをねじったり外したりする。2つの手を使ったこの動作は初歩的だが、たくさんの要素を含んでいる。これをロボットに今すぐに自律的に行ってもらうというのは望むべくもない。しかしウィスコンシン大学のロボットなら瓶のフタをあけるという操作がなぜできるのか概念を取り込むことができ、試行錯誤できるかもしれない。
研究者はまず人に動きをとらえる装置を身につけ、日常のタスクの動きをとってもらった。その動きとはカップを重ねる、容器を開けて中身を注ぐ、積み重なったものの上にあるアイテムを取りあげる、といったものだ。手がどういう動きをして、どのように相互作用するのかといった全てのデータが機械学習システムで分析された。これにより、両手を使って以下の4つのうちの1つを行う傾向にあることがわかった。
・片手からもう片方の手への持ち替え
物をつかんでどこかに置きやすいように別の手に持ち替えたり、最初に使った手で何か別のことをしようと手を空けるために行う
・片手での固定
片手でしっかりと握って物体を固定する。そしてもう片方の手でフタを取り除いたり、中身を混ぜたりといった動きをする
・両手を使う
物を持ち上げたり、回転させたり、動かしたりするために両手を一緒に働かせる
・片手で探す
正確には両手を使う動きではなく、基本的には片手に物を持っている間、もう片方の手は必要なものを探したり別のタスクを行う
ロボットはこうした知識を、その動きそのものを実行することなく、人間のコントローラーの動きの解釈で取り込む。繰り返しになるが、こうした動きは現在のAIが実行できない複雑なものだ。
人がリモートでロボットを操作するとき、それは人の動きを忠実に反映させるだけではないか、とあなたは思うだろう。テストではロボットは“2つの手を使った動き”についての知識なしに、いかにそうした動きをとるか基本的なところを示すために人の動きを反映させている。しかし、動きの多くはできていない。
例として、瓶のフタを開けるという行為を考えて欲しい。瓶のフタを開けるとき瓶を片手でしっかり握らなければならず、そしてもう片方の手でフタをあける際には瓶を持った手を後ろに引かなければならないかもしれない、ということを我々は知っている。もしロボティックアームを使ってリモートでこれに挑戦したらそうした情報は存在しない。持っている瓶をもう片方の手で強くたたいてしまったり、つかみ損ねてしまったりするというのは大いにあり得る。
研究者たちが作ったシステムは上記の4つのアクションのうちのどれかを行われていることを認識し、そのアクションがうまくいくよう策を施す。これは、たとえばバケツを2つの手で持ち上げる時、それぞれの腕に別の腕からの圧力がかかっていることを認識する。または、片手がフタに取り掛かっている時、物を持っている腕をしっかりと動かないようにする。1つの手だけが使われているとき(何かをさがしているとき)、このシステムは使っていない手の優先順位を下げ、リソース(体の動きや計算能力など)を動かしている手により多く配分する。
デモンストレーションのビデオでは、卵を(擬似で)割って、かき混ぜて、物を動かし、グラスがのったトレイを持ち上げて水平に保つという、朝食の準備を真似たタスクをリモートオペレーターが行うことで、こうした知識がロボットの試みの成功率向上に貢献していることが見て取れる。
もちろん、これは多かれ少なかれまだ人間が全てを行なっている。しかし人間の動きが増幅され、単に機械による再現以上の要素が含まれている。
これらタスクを自律的に行うようになるまで、道のりは長い。しかしこうした研究はその基礎となる。ロボットが人間のように動くように試みる前に、ロボットはいかに人間が動くかだけでなく、なぜ人間が特定の状況で特定のことを行うのか、さらにはどのような重要なプロセス(手の動きの計画や握る位置を決めたりといったもの)が隠されているのかを観察して理解しなければならない。
マディソン校のチームを率いるのはDaniel Rakita氏で、このシステムについての論文は専門誌Science Roboticsに掲載された。
[原文へ]
(翻訳:Mizoguchi)