大学、専門学校や企業などの研究室を訪問し、研究テーマや実験の様子をレポート
第1回 Part.2第1回 ロボットによる日常作業の可能性を探る(2)
Part.2
床や物体を見分けることができる
目を搭載
情報理工学系研究科 稲葉 雅幸研究室
公開:
更新:
日本はロボット先進国だ。かつては産業用ロボットが日本の製造業を躍進させ、最近はより人間の生活に近いところでロボットが活躍を始めている。ホビーの世界ではすでに産業化が進み、家庭やオフィスなどにヒューマノイド(等身大の人間型ロボット)が入ってくるのも、それほど遠い将来のことではないかもしれない。そこで、東京大学大学院情報理工学研究科の稲葉雅幸先生の研究室を訪ね、最先端のロボット研究について話をうかがうことにした。(Part.2/全4回)
HRP2による研究テーマは、大きく4つに分類されている。それは、3次元視覚による環境空間認識、全身動作プランナ、身体誘導にもとづく全身行動教示、家庭内日常生活支援だ。では、それぞれの研究内容はどのようなものなのか、順を追って教えていただくことにしよう。
まず、3次元視覚による環境空間認識とは?
「ロボットが動き、物を扱うためには目が非常に重要です。研究室では1990年からロボットの目の研究を続けていて、一部は産業化もされています。その目をHRP2に応用したのです。HRP2の体に載せるコンピュータで簡単な処理をして、外部の頭脳部分でより複雑な処理をするという組み合わせになっています」
この目を搭載したことでHRP2は、床、壁、物体などをある程度見分けることができるようになった。
「3次元視覚というのは、人間の目のような視覚ということです。2つの目(カメラ)を持つことで対象物との距離や奥行き感がわかるのです。ただ、カメラに『写っている』だけでは『見る』ことにはならないので、写っている物を何かに見なす処理をする必要があります。
そこで、ソフトウエアがエージェントと呼ばれるものをたくさん視野に放ちます。これは物に貼り付く記号のようなものです。対象物ごとに複数のエージェントが貼り付き、それを監視し続けることで1つのまとまりだと判断できるようになり、これは床であろうとか、箱であろうと見なします。もし、対象物が動けばエージェントも一緒に動きますから、それを追跡することで3次元の移動軌跡も認識できます」
これによって、床に出っ張りがあれば、その段差を乗り越える行動、床にある紐をつかむ行動、箱の裏側にも見えていない面があるはずという推測から形状モデルを認識することなどができるようになってきた。
目的とする動作から逆算して
動き方を決める
次に全身動作プランナについて教えていただくことにしよう。全身動作プランナとはどのようなもので、どういう研究が行われているのだろうか。
「全身動作プランナというのは、ロボットが自分はどう動けばいいかをプランニングする機能のことです。そのために必要な要素がいくつかありますが、まず自分の体を壊さないことが大切です。何かにぶつかったりすると壊れますからね。それから、倒れないようにバランスをとることもあります。さらに、物を持つときにはどういう姿勢をすればいいかということもあります。そういう要素を全部組み合わせて、物とぶつからず、力学的に安定で、対象物も安定的に持てる動作を計算して決めるのです」
このとき、ロボット自身の動きを優先して動作を決めるのではなく、目的とする動作から逆算して適切な動作を考えるのだという。この研究によって、人間から受け取った箱をテーブルの上に置く動作を生成できるようになった。
「ロボットに、箱をテーブルの上に置け、という指示を与えて箱を渡します。ロボットは箱を受け取ったら、目測でテーブルまで歩いていって箱をテーブルの上に置きます。もし、箱の位置が低くて、テーブルの側面にぶつかった場合は、少し上に持ち上げてからテーブルの上に置くこともできます」
そんなことまでできるというのは驚きだが、これは手首にある、力を感じるセンサーからの情報で判断するのだという。
「センサーでは、どの方向から力が加わっているかがわかります。箱に対して横からの力を感知したら、テーブルの側面に当たったのだろうという見なし判断をします。テーブルの上に置くときも、いつまでも押しつけていると箱が壊れますから、下側からの力を感知したら箱を少しスライドさせて手を離すようになっています」
こうした動作の生成は、すべてシミュレータで行い、そのうえで可能な動作を実機で行う方法をとっている。
「これは研究室の大きな特徴でもあるのですが、これまでにつくった実機はすべて、仮想の体をシミュレータ内で動かせるようにしてあります。そうすると、継承してきた行動プログラムを全部、仮想の体に適用することができるからです。それに、いきなり実機を動かして失敗したら壊れる可能性もあるので、まずシミュレータで動作を生成してから実機を動かすようにしています」
《つづく》
●次回は「ロボットに動作を教える手順について」です。