柔軟な動きを実現しながら、高速に動作するロボットができないだろうか。そのようなロボットの先駆けが、東京大学が開発した「ロボットが投げたボールをロボットが打つ」システムである。
産業用ロボットは極めて正確な動作を高速に繰り返すことができる。ただし、あらかじめ決められた動作以外はできない。一方、高性能なコンピュータと接続された知能ロボットは、周囲の環境を認識でき、柔軟な行動が可能だ。ただし一般に、動作は緩慢である。柔軟な動きを実現しながら、高速に動作するロボットができないだろうか。
そのようなロボットの先駆けが、東京大学が開発した「ロボットが投げたボールをロボットが打つ」システムである(図1)。投手(スローイングロボット)が投げたボールを、打者(バッティングロボット)が打ち返すというものだ*1)。バッティングロボットに向かってくる球のコースは大まかにしか決まっていないため、人間の打者のように球筋を見て打ち返す必要がある。
打者ロボット側に重要な要素は、飛来する球の軌道を正確に見極めるマシンビジョンと、それに応じて腕を動かす機構の開発だ。
従来のマシンビジョンでは30フレーム/秒で撮影が可能なビデオカメラを用いており、1/30秒ごとの球の軌跡から軌道を計算していた。球が40km/時で飛ぶとすると、1/30秒間に37cm移動する。視界全体から球の位置を捜す探索範囲が広いため、必要な計算量は多い。このため、従来は知能ロボットに接続するコンピュータの情報処理性能をより高くするという手法が採られてきた。
「30フレーム/秒というのは、テレビ放送やビデオ機器の制約にすぎない。本来は対象となる物体の移動速度に応じてフレームレートを変えるべきである」(東京大学大学院情報理工学系研究科教授の石川正俊氏)。
より高いフレームレートで画像を処理できれば計算量は少なくできる。例えば1/1000秒単位で画像を処理すれば、その間に球は1.1cmしか動かない。1フレーム前の球の位置と次の球の位置がほぼ同じであるため、画像中から処理対象の球を見つけるアルゴリズムは単純になる。打者にとっては止まっている球を打つことに等しい。
1/30秒と1/1000秒の違いは大きい。東京大学では野球ロボットの他にもさまざまな機器を試作している。例えば、「指」を用いて小型ゴムボールを10cm程度の高さで高速ドリブルするロボットである。この他、落ちてくる砂の各粒子の座標をリアルタイムに得られるカメラや、顕微鏡のプレパラート内で3次元方向に遊泳する微小生物にリアルタイムで焦点を合わせられる顕微鏡などを試作した。書籍を人間の目では読み取れないほど高速にめくっても、全てのページの内容を読み取れるスキャナも開発した。カメラの前でめくるだけで済み、ガラスの台に1ぺージずつ書籍を押し当てる必要がない。250ページの書籍を約1分で読み取れる。
映像監視システムの考え方を変える可能性もある。例えばビルの中に1万台のカメラを配置し、1000フレーム/秒で撮影することで、人物の動きを常に捕捉できる。ビデオカメラと高性能な画像処理システムの組み合わせよりも安価にシステムを構築できるという。
今回の撮像素子は従来の撮像素子とは仕組みがまったく異なる。撮像素子から映像を取り出し、外部のプロセッサで処理するという従来の仕組みでは、全画素を1/1000秒ごとに読み取ることが難しい。そこで、「1画素ごとにごく小規模なプロセッサとワーキングメモリを配置し、撮像素子内で画像処理を完結させる手法を開発した」(石川氏)。素子の外部には検出した物体の2次元座標だけを出力する。セイコーエプソンと浜松ホトニクスが、それぞれ石川氏の手法を適用した素子を販売している。
「実は1/1000秒単位で画像を処理しようというアイディアはかなり以前から持っており、1993年には64画素×64画素での撮影が可能なボードをゲートアレイを使って試作した。ただし、寸法が1.2m×1.2mになってしまった」(石川氏)。現在は、90nmの製造技術を用いた専用LSIを開発中である。ダイ寸法は10mm×10mmであり、画素数は512×512である。
Copyright © ITmedia, Inc. All Rights Reserved.