« 形態素を数えてみたら | メイン | フォーカル・ポインタ »

2009年02月24日

オムニムーバー、人をよける

最近、僕のいる研究室で研究開発している、全方位レンジセンサーを装備し全方位移動が可能な個人用知的移動体(オムニムーバー)による、複数の人間との接触・衝突回避を実現しましたので、ビデオを引用してご紹介します。

オムニムーバーは屋内では、地図を参照しながら、壁沿い走行を行って、目的地まで自動的に移動することができますが、移動の途中で、歩いている人間と遭遇したときにぶつかってしまうことがありました。
これではとても安全な乗り物とは言えませんので、歩いている人間が周囲にいてもぶつからないように動く仕組みを考えていました。

赤外線レーザーを使って、レーザーが届く範囲に存在する物体との距離を計測するレーザーレンジセンサーによって、移動体周辺の物体の位置(正確には物体とセンサーとの距離)を知ることができますが、自分自身が動いているので、周囲の物体との相対的な位置関係が変化します。
問題は、その位置の変化が予測できるかということです。
予測が当たれば、その物体とぶつからないように動くことはそれほど困難ではありません。
オムニムーバーは人間と同じように、どの方位にも旋回せずに動けますから、よけるために向きを変える必要はありませんので、比較的短い時間で回避行動をとることができます。

近くにある物体が壁や柱などの地図に載っているものなら、目的地までの経路を決めるときに、あらかじめ考慮しておくことができますが、一時的に荷物が置かれたときなど、地図に載っていないものが経路上に存在することがわかったときは、自分から見てどの方向のどのあたりにその荷物が存在するかを計算しながら動的に進路を変更する必要があります。
そのために、前述のレンジセンサーが役に立つわけですが、物体が動かないなら、問題はそれほどむずかしくはありません。
自分が止まるか、後ろに下がるかすれば、絶対にその物体にぶつかることはないからです。

しかし、物体が動いている場合は、問題は格段にむずかしくなります。
そもそも、自分より速く動く物体が接近してきた場合は、その進行方向が事前に予測でき、直前に変化しない場合を除いて、それをよけることは原理的に不可能です(ちょっと物騒ですが、プロペラの飛行機に、自動追尾機能を持ったミサイルが接近している状況を想像していただけるとわかると思います)。

オムニムーバーが人間より速く動ける乗り物であるという想定(実際は、電源の関係で、人間の早足(秒速約2メートル)より遅いです)で、人間の移動速度と方向(これを移動ベクトルといいます)を動的に予測して、その邪魔にならないように進路を変えるか停止する仕組みを実現しました。

以下の図は、レンジセンサーで得られた移動体(中央の青い長方形)を中心とした環境情報です。
緑色の点や線が動かない障害物をピンク色の線の集合が動く障害物(の移動ベクトル)を表しています。
また移動体の周囲の色の付いた部分は移動可能領域を、青い線は目的地に近付くための最適な移動方向を示しています。

at9-rangesensor.jpg

レンジセンサーの赤外線レーザーは物体を透過できませんので、壁などがあるとその向こう側の状態がわからなくなります。
そのため、交差点などで出合いがしらに人間とぶつかってしまうことを避けるために、環境側にもセンサーを設置しています。
これについては、また別の機会にご説明します。
ちなみに、移動体同士の場合は、事前に、通信によって現在位置と進路を相手に伝達していますから、衝突を回避することは比較的容易です。
安全で効率的な自動トランスポーテーション(人や荷物を目的地に自動的に運ぶ技術)のために、さらなる研究を進めていきたいと思います。

では、これからオムニムーバーこと個人用知的移動体AT9号機の自動走行と障害物回避のデモビデオをご紹介します。
このビデオでは、移動体に人が乗っています(乗り物なので当然ですね)が、操縦はコンピュータが行っています。
また、ビデオの中では表現されていませんが、自動走行のために、建物内の地図を移動体が自動的に取得して、搭乗者が目的地を自由に設定できるようになっています。

AT9号機の屋内自動走行は、基本的に壁を手がかりにして行います。

そして、角を曲がるときは、できるだけ壁から離れないようにします。
最初に曲がる方向を向いてから横に動き、正面の空間が広がったら前進します。

走行中に人間が近づいてくることがわかったときは、その移動の邪魔にならないように動きます。

この場合は、ほぼ真横によけて人間の進路から外れます。

障害物が動かないことがわかったら、あまり大袈裟によけずに、近くまで寄ってから最短の経路でよけます。

静止物だと思って近づいたら、至近距離でいきなり動き出した場合は一般によけられませんが、人間や他の移動体であることが他の手段(人感センサーや通信)によってわかれば、突然動き始めることが予測されますから、やはり、あまり近づかないようにします。
周囲に障害物(と思われるもの)が見つからなくなったときは、再び壁に近づいてから、壁沿い走行を継続します。
壁には、ランドマークとなるRFIDタグが設置されていて、ATが現在位置を認識し、走行経路を確認するために利用されます。
一般に、壁沿い走行の方が速く動けるようになっていますので、あたりまえのことですが、障害物がないときの方が目的地に早く到着します。

次は、左折ですが、右に曲がったときと同様に曲がる方向をあらかじめ向いてから右方向に走ります。

僕は、この動き方は、進行方向が変わることを、搭乗者にわかりやすく知らせるための方法の一つとしても有効だと思っています。
ちなみに、搭乗者は、いつでも自動走行をキャンセルして降車できるようになっています。

比較的広い空間に出ましたので、この場合ATは、必ずしも壁沿いではなく、目的地まで直線的に動こうとします。
あたりまえですが、空間が広いと障害物回避がより容易になります。

このとき、やはり人間が近づいてくることがわかったら、その移動ベクトルを予測して、人間の進路と重ならず、かつ、目的地にできるだけ近づけるように移動します。

このシーンのようにきびきびと動けるとよいですが、実際はこの3分の2程度の速度で動いています。

それにしても、このビデオはATが自動的に動いていることがわかりにくいですね。

投稿者 nagao : 2009年02月24日 00:02

トラックバック

このエントリーのトラックバックURL:
http://blog.nagao.nuie.nagoya-u.ac.jp/mt/mt-tb.cgi/163