小型無人移動体による個人用知的移動体のセンシング領域の拡張とその応用に関する研究

PDF
渡辺 賢
名古屋大学工学部 電気電子・情報工学科 情報コース

概要

1 はじめに

1.1 パーソナルモビリティと自動走行

近年、セグウェイ社の「セグウェイ」など搭乗者の行きたい場所まで自動で走行するパーソナルモビリティについての研究も盛んである。

我々の研究室でも自動走行するパーソナルモビリティであるAT(Attentive Townvehicle) と呼ばれる移動体の研究を行っている(図)。ATは自動走行するだけでなく、タッチパネル式のコンソールを通して搭乗者からの入力を受け付け、搭乗者に情報を提示したりできる移動体である。乗り物を情報端末化することで、我々にとって最も基本的であり、日常生活の大部分で行っている「移動」という行動と連携させ、人間と情報端末との新たな関係を見出すことが本研究を含む研究全体の大きな目標である。例えば、AT に乗って体験した記録をAT のセンサー情報とともに記録し、それをソーシャルサービスで共有することにより他のユーザーが閲覧・引用しAT を使って追体験できるような研究や、美術館において、搭乗者の閲覧したい作品までの自動走行と、その作品に関する情報提示をすることでより豊かな鑑賞体験にする研究などが行われてきた。このようにAT は移動と情報端末が一つになった乗り物でしか成し得ないような体験を提案し、実現してきた。

こうした自動走行するパーソナルモビリティには、とっさに出現する移動障害物などを回避し、目的地まで安全に走行する機能が必要不可欠である。安全に自動走行するための問題について次の節で説明する。

個人用知的移動体AT

図1.1: 個人用知的移動体AT

1.2 自動走行の安全性

パーソナルモビリティに限らず乗り物が自動走行する場合、安全性の問題を特に慎重に扱わなければならない。なぜなら、自分で操作する乗り物とは違い、自動走行では事故に対する全ての責任を乗り物が負わなければならないからである。しかし、安全な自動走行が技術的に不可能かというとそうではない。たとえば、2010年10 月10 日にグーグル社は自動運転カーのプロジェクトを発表した。このプロジェクトではすでに自動走行によって車を公道で22 万5000 キロ以上走行させている。ただし、運転席には訓練を受けたドライバーを、助手席にはソフトウェア技術者を乗車させて、緊急の場合に対応できるような状況で実験を行っている。しかし、人間が常に監視しながら緊急の事態に備えている自動走行は完全な自動走行とは言えない。このように基本はコンピュータによる自動走行を行い、緊急時は人間の判断を優先するような形の自動走行が普及することも確かに考えられる。しかし、パーソナルモビリティに搭乗する人数は一人であり、AT のような移動中にコンソールに情報を提示したり、操作するような仕組みにおいては、緊急事態に対する判断を搭乗者に求めるのは問題がある。したがって、搭乗者の緊急な判断を必要としない安全な自動走行、つまり、安全性に対するより確実な仕組みを実現する必要がある。自動走行の安全性に関する研究としては、移動体にセンサーを搭載し、動的な環境をセンサーで取得することで移動障害物などを回避するのが基本である。環境を取得するセンサーとしてはカメラやレーザーレンジセンサーなどがある。カメラは画像処理によって移動障害物などを認識するが、画像処理では障害物を精度よく認識するのは現在の技術で困難であるため、広範囲の障害物情報を距離データとして取得するレンジセンサーを用いるのが主流である

しかし、カメラもレンジセンサーも交差点のようなセンサーの死角となる領域にある障害物を検知することはできない。AT においてもレンジセンサーによる移動障害物に関する研究が行われたが、やはり死角から現れる人間を回避することができない問題を挙げている。このような死角からの移動障害物にとっさに対応して回避することは、移動体そのものの持つセンサーでは十分でなく、いかに環境側に周囲の情報を収集し伝達する仕組みを実現するか、ということが重要となる。この仕組みとして、過去に環境側にセンサーを設置することで解決する方法が考えられてきた。しかし、複雑で数多く存在する歩道の全てを網羅的にインフラ整備することはコストの面で実現が困難である。現実的には局所的に設置することが考えられるが、これも網羅性の面で問題がある。環境固定センサーが物体によって遮断されることも考えられる。次節にて、本研究ではこれらの問題を解決する手法を提案する。

1.3 小型無人移動体によるセンシング領域の拡張

自動走行する移動体の搭乗者の安全性を高めるためには、移動体そのものの持つセンサーでは十分ではなく、いかに環境側に周囲の情報を収集し伝達する仕組みを実現するか、ということが重要となる。前節で述べたように、この問題を環境設置センサーのみで網羅的にセンシングするのはコストの面で難しい。環境設置センサー以外、もしくはそれらと共存することができる新しい手法を提案する。本研究では、AT の前方に小型無人移動体(Small Unmanned Vehicle、以下SUVと表記する) を自律走行させ(図)、それをATの拡張センサーとして運用し、AT自身のセンサーでは取得が困難な環境情報を取得する仕組みを提案する(図)。

ATは、自分の目的地と走行予定経路をSUVに伝達し、SUVはATの経路上の少し前方を自律的に走行する。SUVにはレンジセンサーが搭載されており、このセンサーで取得した情報を常にATに送信する。このように、相互に通信して、連携することでATは自身のセンサーでは見えない領域のセンサー情報を取得することができる。しかし、ATとSUVのレンジセンサーが取得した値はそれぞれの現在地を原点とした座標系の値であるため、統合するにはお互いの位置関係を知る必要がある。具体的には、ATとSUVの現在地を絶対座標で知るか、ATとSUVのどちらかを原点としたもう片方の相対座標を知らなければならない。本研究では両手法を実現して比較した。相対座標を知る方法としては、SUVがATの前方を走行することを利用してATのレンジセンサーでSUVの認識を行い、SUVの位置を認識する仕組みを実現した。SUVを認識する方法としては、レンジセンサーの値を領域分割により線分候補を抽出し、さらにその線分候補全てに対し線分を見つけ出すというアルゴリズムを用いた。また、絶対座標を知る方法は、以下の通りである。まずあらかじめ環境をSUVが走行したという前提で、その時に記録したレンジセンサーの値のログを解析することにより環境地図を作り、ATとSUVはそれぞれ現在のレンジセンサーの値と環境地図を比較して現在地を推定し、絶対座標系でのそれぞれの位置を計算した。環境地図と位置推定を行う方法はパーティクルフィルタによる方法で実装した。この方法は確率に基づく手法であり、乱数を用いて大量の次状態を予測し、それぞれの尤度を求めてその重みで次状態を決める。このような方法は解を一意に決めるような計算方法に比べて、誤差を含むような計算に強い性質がある。そのため、取得する値に誤差が乗るセンサーの値を使った地図生成、位置推定に関して非常によく機能した。

上記の二通りのセンシング領域の統合方法を試し、より優れた手法を採り入れることで、SUVによるATのセンシング領域の拡張を実現した。さらに、ATが自動走行を開始した時に、SUVが自律的にATの前を走行する連携走行の機能、SUVが移動障害物を見つけた際に、それを回避し、ATに移動障害物の情報を伝える機能、さらに、これらの仕組みを用いて、ATの死角から接近する移動障害物との衝突を回避する仕組みを実現した。これによって、ATの死角から接近する移動障害物とATの衝突は提案手法で避けることができる。しかし、SUVの死角から接近する移動障害物とSUVの衝突はこの提案手法では防ぐことができない。これについて次節で説明する。

ATの前を自律走行するSUV

図1.2: ATの前を自律走行するSUV

SUVによるATのセンシング領域の拡張

図1.3: SUVによるATのセンシング領域の拡張

1.4 小型無人移動体と移動障害物の衝突

本研究では、ATの搭乗者が安全に自動走行するための手段としてSUVを用いたセンシング領域の拡張を提案する。これにより、前方の死角から接近する移動障害物とATの衝突を避けることが可能になるが、場合によってはSUVと移動障害物の衝突の問題が発生すると考えられる。この問題に対しての解決策の提案を3点述べる。

1点目の方法は、SUVがより機敏に動くことで、急に現れた移動障害物を十分に避けられる機能を持つことである。ATは人が乗るので、その重さのために、急な回避をすることが困難である。また、急な加速度の変化は搭乗者の乗り心地を悪くし、搭乗者の乗り物に対する安心感を損なってしまうだろう。SUVは小型であるため、急激な運動が可能であり、無人であるため、加速度等を考慮する必要はない。

2点目の方法は、万が一衝突しても、双方への影響が少なくなるようにSUVを設計することである。具体的にはSUVがボールのように球状で柔らかければ、移動体と衝突した時に相手に与えるダメージを最小限にすることができると思われる。

3点目の方法は、SUVが空を飛ぶことである。移動障害物より高い領域をSUVが飛んでいれば移動障害物と衝突する危険はほぼ無くなる。SUVは小型で無人であるため、ATの場合と異なり、飛行型の移動体を作りやすい。

以上の3点はそれぞれ「衝突の頻度を下げる」「衝突した時の衝撃を少なくする」「衝突を無くす」という解決策であるが、いずれもSUVが小型で無人の移動体であるから可能な方法である。つまり、SUVと移動障害物の衝突の問題点は、SUVを工夫することで、ある程度解決できる問題である。しかし、本研究では、ATの搭乗者の安全性の向上に焦点を当て、SUVと移動障害物の衝突については、今後の課題として6.2.1項で述べる。この項では、上に挙げた3つ目の解決策である空飛ぶSUVに関して、筆者の所属する研究室で現在行われている研究について簡単に述べる。

1.5 本論文の構成

以下に本論文の構成を示す。第2章では、個人用知的移動体ATについて、そのコンセプトと機能について詳しく述べる。第3章では、本研究のために製作した小型無人移動体(SUV)について、その仕様や機能について詳しく述べ、第4章では、SUVによるATのセンシング領域の拡張について、また、SUVを用いてATの自動走行を安全にする方法について述べる。第5章で、本研究の関連研究について述べ、最後の第6章で、まとめと今後の課題を述べる。

2 個人用知的移動体AT

筆者の所属する研究室では、人間の生活において最も基本的で重要な要素の一つである「移動」に着目し、移動体を用いて人間を物理的に移動させることで、我々の生活する実世界と情報の世界をより密接に関連付ける方法を探っている。人間にとって「移動」は、自立的かつ快適に生活するために必要不可欠な行動であり、我々は生活の大部分において「移動」しなければならない。そのために人間はこれまで、自動車・バイク・車椅子など様々な移動体を数多く作り上げ、現在もそれらを幅広く利用している。このような状況で、情報技術を人間の生活に役立たせるために、人間の「移動」と情報との新たな関係を構築することを目指す。そのためには、日常的な移動体そのものを情報端末とする手法が考えられる。つまり、乗り物に情報処理・通信機能を持たせ、情報処理と人間の物理的な移動を連動させる、搭乗型(マウンタブル)コンピューティングという考え方である。この搭乗型コンピューティングのコンセプトのもと、情報端末化した移動体の一つとして、我々はAT(Attentive Townvehicle)と呼ばれる、個人用の知的移動体を設計・開発している。AT は、搭乗者である人間や自身を取り巻く環境に適応し、周囲の環境や他の移動体との通信によって協調的に動作することが可能な個人用の乗り物である。本章では、ATのコンセプト、各種センサーを含むATの主要なデバイス、ATの自動走行の方法について説明する。

2.1 ATのコンセプト

ATは、搭乗者である人間やAT自身を取り巻く環境に適応することで、搭乗者を支援する、全方位移動・自動走行可能な個人用の乗り物である。図に示すようにATにおける研究テーマは多岐に渡っている。以下にそれぞれのテーマについて説明する。

ATに関わる研究テーマ

図2.1: ATに関わる研究テーマ

2.1.1 ATと環境とのインタラクション

ここで言う環境とは、物理的環境(実世界)と情報的環境(情報世界)の2つの意味を持つ。物理的環境とは、人間やATと物理的に作用し合う環境である。人間が感覚によって物理的な世界を認識するように、ATはセンサー類によって世界を認識し、人間が運動によって物理的な世界に影響を与えるように、ATはモーターによって物理的な世界に影響を与える。一方、情報的環境とは、地図情報などの、ATがアクセスできるコンテンツやサービスの集合を示している。これに関連して行われた研究に、実世界対象物の認識手法や場所に連動した情報コンテンツの利用などがある。

2.1.2 ATと人間とのインタラクション

ATが搭乗者の特性を把握し、情報処理を搭乗者に適応させていく、個人適応という研究課題がある。搭乗者によって、提示するインタフェース、ATの移動速度や加速度、搭乗者の嗜好や、その場の状況に応じた情報を提示するなどの研究が行われている。また、ATが搭乗者を識別してインタラクションを行う例として、これまでにはATを降りた搭乗者を追尾する研究も行われてきた。

2.1.3 AT間(移動体間)のインタラクション

移動体間通信を行うことで、AT同士が協調して走行することができる。これまでに、お互いに接近しているAT同士が衝突回避を行う研究や、無人のATが有人のATを追尾するなどの研究が行われてきた。また、AT同士の通信だけでなく、搭乗者間のコミュニケーションを共有・再利用するなどの研究も行われた。

2.1.4 ATの個体としての自律性

人間の生活において基本的な部分をなす「移動」を支援するために、自動的に目的地へ到着する機能を実現するという研究課題である。到着することだけが目的ではなく、いかに効率的に移動するかという問題もこのテーマに含まれる。

2.1.5 ATの搭乗者の安全性

ATのような人間を乗せて自動走行をする移動体は、特に安全性の問題について慎重に対処する必要がある。具体的には、AT自身の持つセンサーや環境側のセンサーなどを利用して環境情報をできるだけ正確に取得することで、安全な走行を実現するという研究課題がある。本研究のセンシング領域の拡張も主にここに位置付けられる。

以上のように、搭乗者や他のAT、センサー類を用いてATは様々なインタラクションを実現することによって、搭乗者である人間や、環境への適応が可能な移動体を目指している。

2.2 ATの構成

ATの構成を説明する上で特に重要になるデバイスおよびセンサーである、メカナムホイール、RFIDタグリーダー、レーザーレンジセンサーについて説明し、それらを用いて実現されるATの特徴・機能について説明する。

ATの主要な構成

図2.2: ATの主要な構成

2.2.1 メカナムホイール

ATはメカナムホイールという特殊なホイールを4個用いており、全方位移動を可能にする(図)。メカナムホイールは車軸に対して45度傾けられた小型のローラーを車輪の周囲に等間隔に複数個(たとえば、8つ)並べて取り付けられた車輪である。本体としての車輪はモーターによって制御することができるが、周囲のローラーの回転は制御できず、空転するのみである。メカナムホイールは正転する際、ホイール自体は前方向に移動するように回転するが,車軸に対して45度傾けられた方向に配置されたローラーにより、ローラー軸方向に対して法線方向の推進力が生じない。この結果、メカナムホイールは,ローラー軸と平行の方向に進行する。したがって、4輪の進行方向の組み合わせによって全方位移動が可能となる。ATは、全方位移動ができる特性を活かして、障害物を回避する際に車体の向きを変更することなく、そのまま横や斜めに移動できる(図)。この手法には、車などの移動体のように、回避する際に、現状よりも対象に接近することなく回避することができ、方向転換に余分な空間を必要としない、といった利点がある。

全方位移動による障害物の回避

図2.3: 全方位移動による障害物の回避

2.2.2 RFIDタグリーダー

ATはRFIDタグ(図)のID情報を非接触の状態で読み取る機能をもつRFIDタグリーダーを搭載している(図)。この技術は非接触ICカード(Suica,FeliCaなど)で広く普及している技術と同様であり、ATでは自分の現在地を知るために使われている。RFIDタグを壁に貼り付け、座標情報とIDの対応関係が記録されている地図データベース(図)を用いることで、ATは、読み取ったIDから自身の現在位置を知ることができる。

RFIDタグ

図2.4: RFIDタグ

ATが保持する地図

図2.5: ATが保持する地図

現在位置情報を知るシステムとして最も一般的なのものはGPS (Global Positioning System)である。しかし、GPS 衛星から発信される電波は、建物などにぶつかって屈折・反射するため屋内での測位は困難である。屋内での測位手法としては、無線を用いた方法があるが、壁や家具など障害物が多い屋内環境で、電波は屋外の場合以上に屈折・反射をしてしまうため、測位精度は一般にあまり高くない。他の屋内測位手法に、超音波センサを用いた方法もあるが、この方法では超音波を受け取る受信機を環境側に数多く設置する必要があるため、非常にコストがかかる。RFIDタグは非常に計量で安価で電源を必要としないため、壁沿い走行中の位置認識を目的として、壁に設置しても環境側にかかるコストは比較的低い。

2.2.3 レーザーレンジセンサー

AT は、自分から見た障害物までの距離と角度を知ることができるレーザーレンジセンサーを搭載している(図)。このレンジセンサーは、物体にレーザー光をあて、その反射光を受光して物体までの距離を算出する。この方法で一定角度間隔で距離を測定することで、平面上に扇状の距離情報を、最大30m、角度240度の範囲で得ることができる。このレンジセンサーをATの前後左右に1つずつ計4つ装備した。レンジセンサーはそれぞれ図のように180度の範囲の障害物を検出するように設定し、ATから見た角度にセンサーの死角が無いように設置している。ただし、床面からの高さが約30cmの位置にレンジセンサーを固定しているため、その高さの床面に平行な平面上のみがスキャンされる。実際にスキャンした様子が図である。

4つのレンジセンサーの統合

図2.6: 4つのレンジセンサーの統合

レンジセンサーによる障害物の検出

図2.7: レンジセンサーによる障害物の検出

レンジセンサーはATの目として様々な用途で使われる。例えば、移動障害物を検出して、避ける方向を決めたり、自動走行時に壁の位置と向きを検出して自分の向きを補正したり、コントローラーによるマニュアル走行時に障害物にぶつからないように補助する時などに利用されている。

2.3 ATの自動走行

ATは第\ref{sec:RFIDtagReader}節で述べたようなRFIDタグが壁に貼ってあるような屋内の環境で、搭乗者の目的地まで自動的に移動する機能を持つ。ATの自動走行は大まかに以下のような流れで行われる。\begin{enumerate} \item 搭乗者がコンソールを用いて目的地のIDを入力する。 \item ATは近くの壁に近づきRFIDタグを探す。 \item 見つけたタグのIDを現在地のIDとして、目的地のIDと共に地図情報を管理するサーバーに送信する。以降環境情報サーバーと呼ぶ。 \item 環境情報サーバーは現在地IDと目的地IDから最短経路を計算する。 \item 環境情報サーバーはATが最短経路を走行するための動作をプランニングし、経路と一緒にATに送信する。 \item ATは受け取った動作プランの通りに走行することで目的地へ向かう。\end{enumerate}以下でより詳細な仕組みについて説明する。

2.3.1 環境情報サーバーと地図情報

まず、地図情報を管理するサーバーについて説明する。図のようなRFIDタグのIDと座標情報の対応関係や情報などを持つ「環境情報サーバー」が建物ごとに用意されている。建物内にいる間、ATは常に環境情報サーバーと通信可能な状態を維持し続ける。また、環境情報サーバーは建物内にいるすべてのATと通信し、全ATの動きを把握することが可能である。各ATとッ環境情報サーバーの通信形態は、図に示す通りである。環境情報サーバーは、主に、そのサーバーが置かれている建物の地図データが格納されたデータベースと、経路や動作を生成するプログラムから成る。搭乗者が目的地を設定した際に、ATは、目的地の位置情報と目的地までの経路・動作情報の取得要求を送信する。環境情報サーバーは、各ATからの要求に応じて地図情報や経路・動作情報を送信する。それ以外にも、各ATの現在位置に応じて、周辺の混雑状況や一時的に通行禁止となっている場所情報などの経路情報を、定期的に送信する。建物内の全ATの動きを環境情報サーバーが把握することによって、ATは混雑している通路とそうでない通路を判断することができる。また、近い将来に混雑すると思われる通路を予測することもできる。それによって、多くのATが同じ通路に集まらないよう事前に各ATに通知を行うことが可能である。さらに、物が置かれて一部の通路が通行不可になったとしても、サーバーの情報を変更するだけで、すべてのATがその通路を通らないようにすることができる。また、環境情報サーバーはAT同士の衝突回避にも使われる。ある一定の距離範囲内に複数のATが接近した場合に、それぞれの搭乗者に衝突の危険性があることを通知するという方法で回避を行う。また、環境情報サーバーで全てのATを管理することで、AT同士が近づいてから衝突回避を行うのではなく、将来すれ違うであろうATも予測して事前に速度や経路を調整するといったより広い範囲の視野で衝突回避を行うことも可能である。

地図サーバーが持つ地図情報

図2.8: 地図サーバーが持つ地図情報

ATと環境情報サーバーの通信

図2.9: ATと環境情報サーバーの通信

2.3.2 経路生成と動作プランニング

環境情報サーバーは、ATからの経路生成の要求を受け、現在位置を示すタグから目的地を示すタグまでの経路を計算する。経路とは、目的地まで走行する途中で受信すべきRFIDタグのIDを、受信すべき順に並べたものである。経路生成はダイクストラ法で行われ、最短距離となる経路を探索する。経路決定後、動作プランを決定する。動作プランとは図に示すような、各タグ間の6つの基本動作を組み合わせたものであるが、隣接するタグ間の基本動作は地図情報から算出可能で、これらと経路を組み合わせることにより自動生成される。図の1?5の5つの基本動作にはそれぞれ進行方向があり、それらをつなぐための動作として6番目の「その場回転」動作を含む。したがって、右左折時あるいはタグの属性や開始位置における向きによって、 「その場回転」動作をプランの適切な位置に加えるプランニングを行う。生成した動作プランの例を図に示す。図は環境情報サーバーのコンソール画面であり、ATの現在位置は図に示したアイコンで表示される。図のように、自動走行の開始位置と目的地を設定し、図に示したアイコンの向きで走行を開始した場合、まず突当り左折動作を行い、直後に交差点右折動作を行う。次に、壁沿い走行の手掛かりとする壁を変更する。その後は、壁沿いを直進し、次の交差点で左折する際は左折後のことを考慮し、その場回転動作で向きを変更する。最後に突当りを右折して、壁沿いを走行し、目的地に到着する、というプランが生成される。

6種類のタグ間基本動作

図2.10: 6種類のタグ間基本動作

動作プランニング

図2.11: 動作プランニング

2.3.3 動的な環境下での自動走行

ATは、地図上にない障害物や人間が存在する環境でも安全な自動走行が可能でなければならない。また、ATは自律移動ロボットとは異なり、人間を乗せて走行する移動体であるため、自動走行中における、搭乗者の経路変更や手動操作への切り替えを許容できるような柔軟性を持っている必要がある。そのため、自動走行中の状況が変化しても、ATがそれを認識した上で対応させられるような仕組みを構築した。走行中、進行方向に静止障害物が存在したり、近くに人間が存在したりする場合は、壁沿い走行を継続するより、目の前の障害物を回避することの方が優先となる。その場合に壁沿い走行を中断し、移動体の周囲の状況を把握するためのレーザーレンジセンサーを利用して障害物や人間を巧みに回避する制御方法に切り替える。周囲に障害物や人間が存在しなくなったときに現在位置から当初の目的地までの経路・動作プランを再計算して壁沿い走行を再開する。

2.4 ATの安全性

自動走行する乗り物は、安全性の問題を特に慎重に扱わなければならない。なぜなら、搭乗者が操作する場合と異なり、自動走行では事故に対する全ての責任を乗り物が負わなければならないためである。しかし、安全な自動走行が技術的に不可能かというとそうではない。例えば、2010年10月10日に米グーグル社は自動運転カーのプロジェクトを発表した 。このプロジェクトではすでに自動走行によって車を公道で22万5000キロ以上走らせている。ただし、運転席には訓練を受けたドライバーを、助手席にはソフトウェア技術者を乗車させて緊急の場合に対応できるような状況で実験を行っている。しかし、緊急時の判断を人間に任せる形の自動走行はATにおいてあまり適切ではない。なぜなら、ATのような、移動中にコンソールに情報を提示したり、情報端末を操作するような仕組みにおいては、搭乗者は環境に常に注意を払うことができないためである。よって、安全性に対する、より確実な仕組みを考案する必要がある。ATは自身に衝突する可能性がある移動障害物をレンジセンサーで検知する。移動障害物がATであれば第\ref{sec:mapServer}節で述べたように環境情報サーバーによって衝突を回避することができるが、環境を移動するのが全てATであると仮定するのは現実的ではない。ATのレンジセンサーが検知できるのは第\ref{sec:rangeSensor}節で述べたようにATの全方位の一定角度毎の障害物までの距離である。よって、交差点の死角からの移動障害物をレンジセンサーで検出することはできない。レンジセンサーによる移動障害物に関する研究はすでに行われてきたが、やはり死角から現れる人間などを回避することができないという問題を指摘している。これらの問題を解決するのが本研究の主な目的であり、本研究ではATと、小型無人移動体と呼ばれる新しい移動体を連携させることによって解決する手法を提案する。小型無人移動体については次章で詳しく説明し、ATと小型無人移動体を連携して、死角等の問題に対処する具体的な手法については4章で説明する。

3 小型無人移動体(SUV)

本研究ではATと連携して自律走行する小型無人移動体(Small Unmanned Vehicle,以下SUV)を2台製作し(図)、ATの搭乗者の安全性を向上させるための拡張型センサーとしての機能を実現した。

SUVは事前に環境を走行することにより環境地図を生成する機能を持ち、その地図を利用して自己位置の推定を行う。環境地図を用いて自分の現在地を認識することができるため、比較的柔軟な自律走行が可能である。また、地図と現在のセンサーの値を比較することで、人間などの地図には存在しない障害物を認識することが可能である。SUVはATと連携して走行することが可能であり、ATが自動走行を開始するとSUVはATよりも少し先を自律的に走行する。連携して走行する際に、ATに対して地図には存在しない障害物情報を逐次送信することで、ATは死角になっている領域の情報を補完することができる。本章では、SUVのコンセプト、SUVの構成、SUVが持つ機能である地図生成、自己位置推定、自律走行について説明する。ATとSUVとの連携についての機能は次章で詳しく説明する。

小型無人移動体

図3.1: 小型無人移動体

3.1 SUVのコンセプト

誰かの後ろに付いていく方が、一人で歩くより安全である。そのような経験から、第2.4節で述べた自動走行の安全性に対する問題へのアプローチとして、小型で無人の移動体を前に走らせることで、後ろを走る搭乗者の安全性が上がるのではないかという着想に至った。このようなアイディアから、本研究ではSUVを、ATの自律走行する拡張センサーとして位置付け、それに基づく安全性を向上させるための新しい手法を提案する。

第1.3節でも述べたように、ATのような自動走行をする乗り物の安全性を向上させることは特に重要な問題であり、死角となる領域にある障害物を移動体自身のセンサーで検知することができないことは安全性に関する重大な問題の一つである。それゆえ、死角から接近している人間を安全に回避することは難しい。このような問題は、移動体そのものの持つセンサーでは不十分であり、いかに環境側に周囲の情報を収集し伝達する仕組みを実現するか、ということが重要になってくる。しかし、複雑で数多く存在する歩道の全域に渡ってそのようなインフラを整備することはコストの面で実現が困難である。よって上記の問題を環境にセンサーを設置することによるインフラ以外の方法で解決したい。

ところで、搭乗者の安全のために移動体が走行可能な全ての地点の環境情報を知る必要はあるだろうか。例えば、現在地から遠く離れた地点の環境の情報が搭乗者の安全性に大きく関わってくることはあまりない。逆に進行方向の前方の死角に移動障害物が接近している場合、その情報を取得することは搭乗者の安全性と大きく関係する。つまり、搭乗者の安全のために知りたい情報の重要度が、全ての地点で同等ではなく一部の情報、特に進行方向前方に集中していると考えられる。そこで、その領域をATに代わってセンシングするために、SUVにATの前方を自律走行させる。センシングした情報をATに伝えることで、ATは自身のセンシング領域をSUVによって拡張することができる(図)。

小型無人移動体による死角からの移動障害物の検知

図3.2: 小型無人移動体による死角からの移動障害物の検知

3.2 SUVの構成

SUVは、ベースとなる移動体として二輪走行機構、後方を走るATを認識するためのCMOS赤外線センサーを3台、SUVの向きを精度よく計測するための角速度センサー、障害物を認識するためのレーザーレンジセンサー、現在地を認識するためのRFIDタグリーダー、そしてそれらを制御するためのノートPCから構成されている(図)。

次に二輪走行機構、CMOS赤外線センサー、角速度センサー、レーザーレンジセンサー、RFIDタグリーダーについて説明する。制御については次節で詳しく説明する。

SUVの構成

図3.3: SUVの構成

3.2.1 二輪走行機構

SUVはベースとなる移動体としてiRobot社のiRobot Createを使用している。iRobot Createは、お掃除ロボットとして知られるRoombaをベースとした、教育・開発者向けのプログラム可能なロボットである。iRobot Createはサーボモーターによって独立に動く二つの車輪を持ち、これにより前後移動・その場回転・カーブ移動が可能である。速度は-500?500mm/sまで出すことが可能である。また、二つのタイヤの回転数を内部で計算することによって、走った距離と回転角度(オドメトリ情報)を知ることができる。しかし、このオドメトリ情報は必ずしも正しい値ではなく、誤差を含む値である。モーターの回転数が高出力の時と、低出力の時の誤差は特に大きく、出発地点からの相対位置を知るためには不十分な精度である。これについての問題解決の方法としてジャイロセンサーを使用した。詳しくは第3.2.2項で述べる。また、iRobot Create本体に様々なセンサーが標準で搭載されている。バンパーセンサー、ホイールセンサー、PSDセンサー、IRレシーバーである。このうち、バンパーセンサーはSUVの前面の左右にそれぞれ持ち、進行中に右のバンパーセンサーが反応したら左へ回転し軌道を修正するなど、このセンサーの値によってSUVの動作を決定することができる。また、壁と衝突した時の衝撃を吸収してくれる。ホイールセンサーはタイヤが地面に着いているかを調べるセンサーである。タイヤが地面に着いていない時は、制御PCの信号を無視して必ずモーターの回転を停止する機能を持つ。PSDセンサーはiRobot Createの側面の壁との距離を測ることができるが、SUVはレーザーレンジセンサーによって、広範囲の障害物までの距離を測定可能なため、本研究ではPSDセンサーは使用しない。IRレシーバーは赤外線の信号を受信することができるセンサーである。これによりiRobot Createに付属するリモコンから命令を送信することができる。

iRobot Createのセンサー

図3.4: iRobot Createのセンサー

3.2.2 CMOS赤外線センサー

SUVはCMOS赤外線センサーとしてWiiリモコンを3台搭載している。Wiiリモコンとは任天堂から販売されている家庭用ゲーム機Wiiで使用可能なゲームコントローラーある。Wiiリモコンの先端には赤外線LEDを認識するために使われるCMOS赤外線センサーが搭載されている。このセンサーは赤外線LEDだけを写すカメラであり、写されたLEDの光をWiiリモコン内部で処理することで、Wiiリモコンの出力として赤外線の座標を取得することが可能である(図)。標準で最大4つまでのLEDの座標を取得することができる。LEDを一定間隔に並べておくことで、Wiiリモコンはその光源までの距離を計算することができる。SUVではこの技術を応用し、SUVとATの距離を知ることに利用した。具体的な計算方法は、以下の通りである。図で、二つのLEDの間の孤の長さをLED間の長さdと近似すると(図の水色部分)、図と図で表しているx,width,r,\theta,d\frac{x}{width} = \frac{d}{r\theta} という関係式で表すことができ、rをATまでの距離と近似すれば、ATまでの距離を\frac{width\times d}{x\theta}で求めることができる。また、WiiリモコンのCMOS赤外線センサーは視野角が狭く、約20度である。そこで、WiiリモコンをSUVに3台搭載することによって、視野角を広くし、ATの検出をしやすくした。WiiリモコンはBluetoothによる通信が可能であり、SUVに搭載されている制御用PCと通信を行う。

SUVから見たATのLED

図3.5: SUVから見たATのLED

二点のLEDから距離測定

図3.6: 二点のLEDから距離測定

3.2.3 ジャイロセンサー

SUVはジャイロセンサーとしてWiiモーションプラスを搭載している。Wiiモーションプラスはジャイロセンサーを含むWiiリモコンの拡張デバイスで、Wiiリモコンの下部に装着することでジャイロセンサーの値である角速度をWiiリモコンから取得可能となる。ジャイロセンサーは物体が回転する際のコリオリ力を計測することで角速度を計測することができるセンサーである。デジタルカメラの手ぶれ補正機能などでも使われているなど、微小な回転にも反応することができる。このWiiモーションプラスから取得できる角速度を積分することでSUVの回転角を求めることができる。第3.2.1項で説明したように、iRobot Createのオドメトリ情報の精度は十分ではなく、特にSUVを高速で指定した角度だけ回転させようとする時に大きな誤差がでてしまう。SUVの向きがずれると位置推定に大きな誤差がでてしまうためWiiモーションプラスを使いこの精度を向上させた。

3.2.4 レーザーレンジセンサー

SUVには第2.2.3項で説明したものと同じレーザーレンジセンサーが搭載されている。ただし、ATに搭載されているレンジセンサーよりも計測距離が短く、最大5.6m先の障害物を検知することができる。また、レンジセンサーが4台搭載されているATとは異なり、SUVに搭載されているレンジセンサーは1台のみである。このため、SUVの周囲360度の情報を取得することはできず、前方240度が検出領域である(図)。本研究ではSUVはATの前方を走行しており、後方の障害物との距離を計測することができないため、ATとの距離を知ることができない。しかし、第3.2.2項で説明したような仕組みでATとの距離を測定するため問題ない。

レンジセンサーの取得可能範囲

図3.7: レンジセンサーの取得可能範囲

3.2.5 RFIDタグリーダー

SUVには第2.*項で説明したものと同じRFIDタグリーダーが搭載されている。ATに搭載されているRFIDタグリーダーよりも取得可能なRFIDタグまでの距離が短く、SUVが走行中に読み取れる有効範囲は10cm?20cmまでである。また、RFIDタグリーダーはSUVから着脱可能である。RFIDタグリーダーはATと同様に、自分の現在地を認識するために使用される。本研究では第3.*節で説明するような仕組みで現在地を認識するので、通常は使用しない。ただし、第3.*項で詳しく説明するが、RIFDタグリーダーはSUVの位置推定の仕組みを補助する形で使用することが考えられる。

3.3 地図生成

SUVはATに自分のセンサー情報を送ることでATのセンシング領域を拡張することが可能である。ATにとって知りたい情報とは、人間などの移動障害物や地図上に現れない障害物などの情報、つまり地図との差分である。地図との差分を知るためにはSUVのセンサーによる地図情報を前もって作成しなければならない。移動体の地図生成はSLAM問題として知られる。その問題に対して、本研究では最も有名な手法の一つであるパーティクルフィルタを用いて解決した。また、生成された地図を実際の地図と比較した。

3.3.1 SLAM問題

移動体のオドメトリ情報(これまでの移動距離情報)とセンサー情報から地図を生成するためには、自己位置と環境地図を同時に推定しなければならない。これはSLAM(Simultaneous Localization and Mapping)問題として有名な問題である。SLAM問題とは時刻tにおけるセンサー情報z_{1:t}とオドメトリ情報u_{1:t}が与えられた状態での、姿勢a_t=(x_t,y_t,\theta_t )、地図情報mである事後確率

    p(a_t,m|z_{1:t},u_{1:t})

の分布関数を求めることである。SLAM問題の難しい点はz_{1:t}u_{1:t}は誤差を含む値なので、それを考慮しなければならないことである。SLAM問題に対しては数々の手法が提案されている。本研究ではこのSLAM問題で最も効果があるとされている手法の一つであるパーティクルフィルタによる地図生成を実現した。

3.3.2 パーティクルフィルタによる地図生成

N個のサンプル点(パーティクル)の集合を近似的に事後確率の分布関数として扱うのがパーティクルフィルタ(または逐次モンテカルロ法)である。本研究では前項での事後確率p(a_t,m|z_{1:t},u_{1:t})の分布関数をパーティクルフィルタで求めることで地図生成と位置推定を行った。パーティクルの数は多いほど効果が高く、100以下など少ないと効果は期待できない。本研究では、計算時間の都合でパーティクル数を500にして行った。パーティクルフィルタによる地図生成は次の4ステップで行われる。

  • 予測

    各パーティクルについて、次の運動モデルに従って次状態のa_tを予測する。

    a_{t}= a_{t-1}+ R_{t-1} (u_t+ w_t)

    R_t : a_tの向きへの回転行列w_t : オドメトリ誤差を表す正規分布N(0,\Sigma_W)に従った乱数(ここでの\Sigma_Wは経験的に求めた。また乱数はボックスミューラー法により計算した)

  • 尤度計算

    各パーティクルについて尤度p(z_t|a_t,m)を個々の計測値に対する尤度の積p(z_t|a_t,m)= \prod_{k=1}^K{p(z_t^k |a_t,m)}で求める。個々の尤度は以下の計測モデルを使って求める。

       p(z_t^k|a_t,m)= \left(\begin{array}{c}z_{hit} z_{short}  z_{max}\end{array}\right) \circ \left(\begin{array}{c}p_{hit} (z_t^k |a_t,m) p_{short} (z_t^k |a_t,m) p_{max} (z_t^k |a_t,m)\end{array}\right)

    z_{hit},z_{short},z_{max} : z_{hit}+z_{short}+z_{max} = 1となるように決めた重み定数(経験的に求めた)

    p_{hit} (z_t^k |a_t,m)p_{short} (z_t^k |a_t,m)p_{max} (z_t^k |a_t,m)はそれぞれ正しい計測時の局所的な計測雑音、想定外の物体、計測失敗の確率分布を表す。それぞれの分布図のグラフを図に示す。

  • リサンプリング

    前の状態の各パーティクルの尤度を元にパーティクルを選び直す。高い尤度が与えられたパーティクルを多くのパーティクルにコピーし、尤度の低いパーティクルを消去することにより、パーティクル数を一定に保つ。

  • 各パーティクル毎に持つ地図情報mに対して、現在の位置に計測値を加えることで地図を更新する。

    SUVが一定間隔進むたびにセンサーの値とオドメトリの値のログを取り、走行終了後に上記の4ステップの計算を一つのログ情報ごとに行うことで地図を生成した。実際に作った地図を図に示す。

    地図更新

3.3.3 実環境と生成された地図の比較

生成された地図がどの程度正確か、実環境と比較することで検証した。具体的には、以下の二点について検証した。

  1. 生成された地図が実環境とどの程度相似であるかどうか

    はSUVによって生成された地図であり、図はその地図の壁部分を抜き出した図である。図と図の見取り図を重ね合わせることで、実環境と生成された地図が相似な形をしているかを調べた結果、図に示すように、見取り図とかなり正確に重なっていることが分かる。一番下の、黒字で9.91と書かれている壁は見取り図と、生成された地図でずれているように見えるが、見取り図の壁は柱の外側を結ぶ線であるため、これは外壁の線であると思われる。よって全体的に相似な地図になっていることが分かる。また、エレベーターの下側には、実際には流し台と薄い壁が存在し、見取り図には載っていないが、生成された地図には正しく記録されている。

  2. 生成された地図と実際の距離情報に誤差がどの程度あるのか

    生成された地図はレンジセンサーを用いて作られた地図なので、距離情報を含んでいる。地図上での距離がどの程度正確であるか、実環境の壁の長さを測定して比較したところ、図に示されるような結果になった。この図で、太い黒字で書いてあるのが実際に計測した距離で、赤字が生成された地図の長さである。単位はメートルである。誤差が一番大きいのは、実際は9.91mで地図上では9.76mの壁である。誤差は+1.5%で、誤差はあまりないことが分かった。また、全ての数字において生成された地図の方が実際の地図より距離が短くなる傾向があることが分かる。

レンジセンサーにより生成された地図

図3.8: レンジセンサーにより生成された地図

生成された地図の壁を抜き出した図

図3.9: 生成された地図の壁を抜き出した図

実環境と生成された地図の比較

図3.10: 実環境と生成された地図の比較

3.4 自己位置推定

前節では、SUVが現在のセンサーの値と地図情報との差分を出すために地図を生成するアルゴリズムについて説明した。差分を出すためにはSUVが生成した地図のどこにいるのか、自分の現在地を推定しなければならない。ここでいう位置推定とは、二次元のグローバルな座標系、つまり地図の座標系において移動体の姿勢a_t=(x_t,y_t,\theta_t)を推定することである。姿勢は移動体の位置x,yと向き\thetaによって決まる値である。地図情報m、計測z_{1:t}、制御u_{1:t}が与えられた状態で、姿勢a_tである事後確率

    p(a_t |m,z_{1:t},u_{1:t})

の分布関数を求めることで現在地を推定する。本研究ではこの分布関数を第3.3.2項の手法の地図更新のステップをなくし、後は同じアルゴリズムで実装した。mが既知であるため、第3.3.2項よりも簡単で大きな効果が期待できる。第3.3節ではSUVが走行した後にログから地図を生成したが、位置推定はリアルタイムに処理して現在地を推定しなければ意味がない。計算処理速度を上げるため、地図生成で用いたアルゴリズムよりも分解能を減らすなどの工夫をした。位置推定は地図が既知で更新する必要がないので実際の位置と推定した位置がずれても、後の計算で正しい位置に収束していく結果が得られた。このことは第3.4.2項で詳しく説明する。

なお、オドメトリ情報のみを使ってSUVのおおよその位置を推定することは可能だが、現在地の誤差が蓄積され、補正されることはない。オドメトリ情報のみの現在地の計算と位置推定を行った現在地の精度の違いについては第3.4.3項で検証する。

3.4.1 位置推定の分類

位置推定の問題は文献により次の3つに分類されている。

  1. 位置の初期値が既知である、または不確かさがガウス分布など局所的な分布に収まっている条件で位置推定を行う場合

    局所的推定

  2. 大域的推定

    位置の初期値が未知である条件で位置推定を行う場合

  3. 移動中に移動体が突然別の場所に移動する可能性がある条件で位置推定を行う場合

    ロボット誘拐問題

下にいくほど難しい問題である。本研究では局所的推定の問題を取り扱った。つまり、SUVを走らせる前に地図上でどの位置にいるかを大まかに指定する必要があるが、一番安定して位置推定を行うことができる。2,3の解決についてもSUVで実装して検証を行った。これについては次の節で説明する。

3.4.2 パーティクルフィルタによる位置推定

第3.3.2項の手法とほぼ同様のアルゴリズムで実装した。第3.3.2項との差分は

  • 地図が既知であるため地図更新のステップをなくした

  • 実時間で計算しなければならないので、処理速度を上げるためにセンサーの角度分解能を10度ずつにした

  • 収束しやすくするために運動モデルの誤差を表す正規分布の分散\Sigma_Wを地図生成より大きくした

  • 位置の初期値は指定された初期値の付近に均等に広げた

以上の変更点でパーティクルフィルタにより姿勢a_tを求めた。結果としてこの位置推定には次のような性質があった。

  1. オドメトリに急激な誤差が現れても正解のパーティクルが含まれていれば収束する。図左はオドメトリに急激に誤差が乗った時で、図右がその後3回位置推定を行った後の状態である。水色が地図情報を表し、オレンジが位置推定したSUVの現在地を表し、青が現在のセンサーの値を表している。

  2. 特徴が少ない時にはパーティクルは分散し、特徴が多い環境では収束しやすい。図左を見るとSUVの周りに赤い点が散らばっているが、この点は一つのパーティクルの現在地を表す。この図では左の壁と右の壁しかセンサー情報がないため、縦にパーティクルの分散が広がっている。しかし、図右はその後突当りの壁をセンサーが認識するようになることで縦方向の分散が収束している。

  3. 地図作成時と多少物の配置が変わっていたり、周りに人がいたりするなど地図情報と多少ずれがあっても大まかに合っていれば収束した。図左のように地図生成時にない静止障害物(図の緑の部分)を環境に置いた状態で位置推定を行ったのが図右である。現在のセンサーの値で地図との重なりがない部分が存在しても他のセンサー情報の重なりにより位置推定ができている。

結果としては、十分に安定した位置推定が実現できた。上記の2の特徴がない環境で分散してしまうのはSUVのセンサーの測定距離が短いため、真っ直ぐな壁が続くところで分散が壁方向に拡がってしまうためである。しかし、壁の突当りや途中で障害物がある環境では位置の分散を収束させることができる。また、RFIDタグを読み取って分散を収束させる方法も考えられる。

位置の初期値をおおまかに決定する局所的推定の問題について説明したが、初期値を環境地図に一様に分布させることで大域的推定を行うことができる。図はパーティクル数を10000にして地図全体にパーティクルを一様に分布させることで、大域的推定を行った時の結果である。各パーティクルの位置を赤い点で示している。?は走行を開始した直後の様子であり、赤い点が地図全体に広がっている。?でいくつかの候補にパーティクルが集まっていき、?ではほとんど一つの候補に集まっている。?では完全に一つの地点にパーティクルが密集している。この例では?で密集した地点が正しい位置であった。しかし、?のような状態から正しい候補に収束するとは限らない。さらに、パーティクルの数を局所的推定よりはるかに多くしなければならないので、処理に時間がかかる。本研究では、より安定した推定法である局所的推定を用いる。また、ロボット誘拐問題についてはRFIDタグを読み取ることで現在地の推定値が正しいかどうか確認する方法が考えられる。具体的には、読み取ったタグIDの座標が現在の座標と大きく変わる場合は、タグIDの座標の付近を初期値としてパーティクルを作り直す方法が考えられる。しかし、本研究では、位置が急に変わるロボット誘拐問題を考慮せず、これを今後の課題とする。

大域的推定の結果

図3.11: 大域的推定の結果

3.4.3 位置推定の精度の検証

パーティクルフィルタによる位置推定が、オドメトリのみで位置を計算するのと比べて、どの程度正しく位置を推定できているのかを実験によって検証した。ここで検証したいことは、パーティクルフィルタによる位置推定を行うことにより現在地情報に誤差が累積することなく、ある一定の誤差内に留まりつづけるかどうかである。実験内容は以下の通りである。

  1. 出発地点から決まったコース(図)をリモコンによるマニュアル操作で6周する

  2. 出発地点に目印をつけておき、毎周SUVが目印の位置に来た時点で位置推定なしの現在地情報と位置推定ありの現在地情報を記録する

  3. 出発地点と2の現在地情報との距離を調べる

実験環境と実験コース

図3.12: 実験環境と実験コース

以上の実験を行えば、2の手順で記録される現在地情報と出発地点との距離が0に近づくほど精度よく現在地を認識できていることになる。また参考のために、3で計算した距離のグラフと位置推定あり、なしでの1周、6周時の軌跡を図3.20に示す。図のグラフを見ると、位置推定なしのオドメトリ情報のみだと誤差が累積されており、パーティクルフィルタによる位置推定ありの結果が1周目から6周目まで一定の誤差範囲内で落ち着いていることがわかる。図の軌跡を見ても位置推定なしの場合は誤差の累積のため現在地情報と実世界の現在地の対応が全く取れていないが、位置推定ありの方は安定して位置推定ができていることが分かる。以上の結果から位置推定を行うことにより、現在地の誤差が累積されないことが検証された。

周回後の現在地情報と出発地点との距離

図3.13: 周回後の現在地情報と出発地点との距離

位置推定あり・なしの場合のそれぞれの軌跡

図3.14: 位置推定あり・なしの場合のそれぞれの軌跡

3.5 自律走行

ATの搭乗者が目的地を設定し、ATが自動走行を始めるとSUVはATから目的地と経路を教えてもらい、その経路をたどる自律走行機能が必要である。なお、自動走行とは、ATのように機械が自力で動いていても、人によりいつでも手動走行に切り替えることができる場合を指し、自律走行とは、SUVのように機械が常に自力で走行を制御しなければならない場合を指す。ATは壁を沿いながら自動走行するが、SUVはATの拡張型センサーとして機能するために、ATから死角である領域に素早く短いコースで近づいて、その場所を監視したり、より柔軟な自律走行をしなくてはならない。よってSUVはATと独立して目的地まで自律的に移動をする仕組みが必要である。

そのための方法として、ノード情報を地図情報に追加して、地図に経路のグラフ構造を持たせ、グラフ構造から経路探索する方法を実現した。これにより、与えるノード情報を増やすことでより柔軟な経路生成が可能となった。第3.5.1項で地図に追加するグラフ構造について、第3.5.2項でグラフを使っての経路探索について、第3.5.3項で探索した経路を使って自律走行する仕組みについて、第3.5.4項で自律走行の精度の検証について述べる。

3.5.1 地図のグラフ構造

第3.3節で生成した地図にノード情報を追加して、SUVが走行可能なノード間を結ぶことで、地図をSUVが走行可能な経路を表すグラフ構造として表現することができる。さらにノードとRFIDタグのIDを関連付けることで、SUVは、RFIDタグの座標に基づくATの経路情報を自身の地図情報と結び付けることができる。図は地図にノードを加えた状態を表している。ピンク色の点はRFIDタグのID情報を持ったノードである。本研究では、グラフ構造は人間の手によって作成されるが、地図生成時にSUVが実際に走った経路や、地図情報の形に基づいて、自動的にグラフ構造を生成するべきであるので、これを今後の課題とする。ここで作成されたグラフ構造は次項の経路探索に利用される。

グラフ構造を持つ地図

図3.15: グラフ構造を持つ地図

3.5.2 経路探索

第3.5.1項で地図に追加したグラフ構造からSUVの経路を探索する。探索のアルゴリズムは深さ優先探索で行った。地図情報の座標を指定すると、一番近いノードを探索し目的地ノードとする。また、SUVの現在地から一番近いノードを出発地ノードとし、二点のノードを通る最短経路を生成する(図)。ノードを細かく設定するほどSUVはより効率的な経路を生成できるようになる(図)。この仕組みからSUVは地図上のどの座標にも移動することができる。

経路生成の仕組み

図3.16: 経路生成の仕組み

効率的な経路生成

図3.17: 効率的な経路生成

また、第2.3.2項で述べたように、ATは環境に設置されたRFIDタグによってグラフ化された地図を持ち、それを用いて経路生成を行う。しかし、この地図はSUVのレンジセンサーのデータによって生成された地図情報とは異なるため、ノード情報にRFIDタグの情報を結び付けることでATの地図との対応関係を作る。これにより、RFIDタグで生成された経路をSUVに正確に伝達することができ、SUVはRFIDタグと関連付いたノードを全て通るような経路を生成することができる。これについては第4.5.1項で詳しく説明する。

3.5.3 自律走行のアルゴリズム

第3.5.2項で生成されたら経路をSUVがトレースするアルゴリズムはとてもシンプルで、現在地から次のノードに向かうようにその場回転により向きを変えて、次のノードまでの距離だけ直進する。指定距離分を直進したら、現在地が目的のノードの位置とずれていてもそのノードに到達したとして、さらに次のノードに同様の方法で向かう。これを繰り返して目的地の座標まで進む方法で自律走行する。走行している最中にも位置推定を行っているため誤差が累積しないので、現在地から次のノードの位置へ向かっていれば目的地にある程度の誤差範囲内で到達することができる。このアルゴリズムの問題点は、まず静的環境においてのみでしか走行できないことである。地図情報の経路に従って走行するだけであるため、経路上に障害物が存在する場合や、移動障害物と遭遇する時に回避することができない。現在のレンジセンサーの値を位置推定だけでなく、障害物認識に利用し、その情報を基に行動するような仕組みを追加する必要がある。また、ノード間の距離が短いとノードに到着するたびに、次のノードの向きへその場回転をするため、移動時間が長くなってしまう。ノードを全て通るようなベジェ曲線を決定し、その曲線を通るようなカーブ走行を制御する方法があるので、それを実装することでより効率的な走行が可能になると思われる。以上の2つの問題は今後の課題である。

3.5.4 自律走行の精度の検証

上で説明した仕組みで正しく自律走行が可能かどうかを実験によって検証した。ここで検証したいことは、壁にぶつかることなく自律走行が安定して行えるかと、自律走行によって、実際にSUVが到着した場所と設定した目的地の間にどのくらいの誤差があるかどうかである。地図を生成した時の出発地点は、地図の原点になる。つまり、出発地点と地図上の原点の対応関係は正確である。そこで、地図上の原点を目的地に設定した際のに到着地点と、地図生成を開始した地点を比べることで自律走行の誤差を計測した。安定して目的地に自律走行できる回数と、到着地点の誤差に基づいて自律走行の精度を評価する。実験内容は以下の通りである。

実験内容

  1. 目印を付けた地点からSUVを手動で操作し、地図を生成した。

  2. 出発点を目印の場所にして、図の7つの緑の四角のエリアから、SUVが内部でランダムに目的地を選び、その地点に向かって自律走行を開始させた。自律走行には1で使った地図を使った。目的地には60cm \times 60cmの四角をテープで作ってあり、自律走行が終わった時点で、その四角の領域にSUVが入っているかどうかで、自律走行が正しく行われたかを評価した。SUVの大きさは直径34cmである。

  3. 自律走行が完了したら、その場所から2と同様な手順で次の目的地を選び、再び自律走行を開始させた。

  4. 合計5回の自律走行が行われた後、地図の原点に向かって自律走行を開始させた。目印とのずれを、目標設定地点と実際の到着地点の誤差として計測する。

  5. 2から4の手順を10回行った。2の手順を再びやる際は、目印の位置にSUVを合わせることで誤差をリセットした。

自律走行の目的地候補エリア

図3.18: 自律走行の目的地候補エリア

実験手順2,3の結果が図である。結果Cは、自律走行が失敗した場合であり、それは四角の領域から完全にはみ出た場合、あるいは壁などにぶつかって自律走行を中断した場合である。それらの場合は0回であった。結果Bは、SUVが枠線から一部はみ出た回数であるが、その場合は6回あり、いずれもSUVの中心は枠内にあった。結果Aは、四角の領域に完全にSUVが入った回数であり、44回あった。この結果から、SUVは安定して自律走行できることが確認された。

安定した自律走行の検証結果

図3.19: 安定した自律走行の検証結果

この結果から、設定された目的地点に最大で15.1cm、平均して7cmの誤差で到着できることが分かった。この誤差は、十分な精度だと考えられるので、SUVが目的地に精度良く到着できることが確認された。\begin{center}表3.1 目的地と到着地点の誤差\end{center}\begin{tabular}{|c||c|c|c|c|c|c|c|c|c|c|} \hline実験番号(回目) & 1& 2& 3& 4& 5& 6& 7& 8& 9& 10\\ \hline誤差(cm) & 6.2& 15.1& 13.5& 3.0& 9.3& 2.1& 1.9& 10.8& 0.8& 7.3\\ \hline\end{tabular}\begin{tabular}{|c||c|c|c|c|} \hline & 最小& 最大& 平均& 標準偏差\\ \hline誤差(cm) & 0.8& 15.1& 7.0& 4.8\\ \hline\end{tabular}

4 SUVとATのセンシング領域の統合と連携走行

本研究ではSUVをATのセンシング領域を拡大させるための外部拡張センサーとして扱い、ATの搭乗者の安全性を向上させる手法を提案する。具体的には、SUVとATが相互に通信し、ATはSUVのセンサーの値を自身のセンシング領域に統合することで、SUVがセンシングした情報をAT自身でセンシングした情報と同様に扱う。本研究では,AT,SUVともに距離センサーとしてレーザーレンジセンサーを使用しているため,本論文中のセンサーの値はすべてレーザーレンジセンサーによる距離の値を指す。ATが自動走行を行う際、SUVは全て自律的にATと同様の経路をATよりも先に走行し、ATの進行方向周辺の領域をセンシングする。

センシング領域を統合するためには、ATとSUVのどちらかの現在位置を原点とした相対座標か、ATとSUVの現在地を絶対座標のどちらかで知る必要がある。そのことについては第4.1節で詳しく説明する。第4.2節、第4.3節ではそれぞれの手法を実現し、比較・検討した。また、ATは環境地図をあらかじめ持っているため、SUVがセンシングした壁などの情報はATにとって既知である。ATにとって知りたい情報とは、人間などの地図に載っていない障害物の情報である。そのためSUVに、このような障害物と壁などを区別する機能を実現した。これについては第4.4節で説明する。第4.5節ではSUVがどのようにATと連携して自律走行するかを説明する。

4.1 異なる座標系のセンサー情報の統合

に示すように、SUVは自身のレンジセンサーの中心を原点とし、自身の向きをy軸正方向としたxy座標系の情報をセンサーの値として知ることができる。ATは前後左右に搭載された4つのレンジセンサーの値を統合することで、自身の中心を原点とし、自身の向きをy軸正方向としたxy座標の空間の情報をセンサーの値として知ることができる。そのためSUVのセンサーの情報をATのセンサーの情報と統合するためには座標系の変換を行う必要がある。

その一つの方法は、ATの座標系をSUVの座標系に変換する、もしくはその逆である。これは、例えばATの座標系から見たSUVの座標p_{suv}(p_x, p_y)と向き\thetaを使って、SUVの座標系の点pを、p(Rは-\thetaの回転変換する行列)の式によってATの座標系に変換することである。または、SUVがATの座標と向きを知ることで片方の座標系の点を変換し、もう片方の座標系の点にすることができる。第4.2節でこれを詳しく説明する。もう一つの方法は、ATとSUVでお互いの基準となる座標系を決め、その座標系でのセンサーの点の座標を求める方法である。これについては第4.3節で詳しく説明する。

ATとSUVのセンサー情報の座標系

図4.1: ATとSUVのセンサー情報の座標系

4.2 相対座標によるセンシング領域の統合

前節で説明したように、ATからSUVの相対的な位置が分かればセンサーの値を統合することが可能である。ATからSUVの位置を知るために、ATのレンジセンサーと、第3.2.2項で説明したSUVのCMOS赤外線センサーを利用した。以下で詳しく説明する。

4.3 SUV検出アルゴリズム

SUVを検出するために、以下のようなアルゴリズムでSUVを検出した。

  1. ATはSUVのおおよその初期位置を,SUVのCMOS赤外線センサーの情報をもとに得る。

    SUVがATの正面にいる際に、第3.2.2項で説明した仕組みでATとの距離を求め、その情報をATに送信することで、ATはSUVのおおよその位置を得る。

  2. ATはSUVのおおよその位置から、線分抽出アルゴリズムを用いてSUVの正しい位置を探す

    SUVに搭載されている制御PCのモニターを立て、ストッパーで固定することで、ATのレンジセンサーからSUVの制御PCを直線として認識することができる。後で説明する線分抽出アルゴリズムで、SUVのおおよその位置付近の領域に含まれる線分を全て見つけ出し、制御PCの長さに近い線分をSUVの正しい位置とする。

  3. SUVから送られてくるオドメトリ情報を利用してSUVの位置を更新する

    SUVから送られてくるオドメトリ情報を2で求めたATからの相対座標に足し合わせることで、SUVの相対座標を更新する。ただし、この情報はオドメトリ情報に含まれる誤差を考慮しないので、SUVの位置の誤差は蓄積されていく。

  4. 3で説明したようにオドメトリ情報の誤差によって徐々に正しい相対座標ではなくなっていくので、2の方法で再度補正する。もし、ATのレンジセンサーの検出範囲にいないなど、2の方法で正しくSUVを検出できない場合は補正を行わず、オドメトリ情報の値のみを利用する。

    一定時間毎に2の方法でSUVの位置を補正する

次に、2で説明している線分抽出アルゴリズムについて説明する。

  1. レンジセンサーで取得した点集合Pから指定した領域をN等分し、N×Nの領域のそれぞれの領域U_{mn}(0 \leq n,m<N)に含まれる点の集合P_{mn} (x|x\in U_{mn}\wedge x \in P)を抽出する(図の?)。本研究では、指定領域を1m正方形とし、4\times 4の分割で行った。

  2. それぞれのP_{mn}について最小二乗法により線分候補L_{mn}を計算する。P_{mn}に含まれる点が1点以下の時は線分候補を出さない(図の?)。

  3. それぞれのL_{mn}について、L_{mn}P_{mn}内に含まれる点で距離が閾値\alpha以下である、つまりL_{mn}に近い点の集合をP_{mn}^{、 同様にL_{mn}P内に含まれる点で距離が\alpha以下である点の集合をP_{mn}^{とする。P_{mn}\subseteq P_{mn}^{であることに注意する(図の?はP_{11}^{ を赤、P_{11}^{を赤と緑の点で表している)。

  4. P_{mn}^{の全ての点についてP_{mn}^{の点の中で、最大のxを持つ点と、最小の点をxを持つ点に閾値\beta以下の距離である点をP_{mn}^{に含める。このプロセスを含める点がなくなるまで続ける。終わった時点でのP_{mn}^{の最大のxを持つ点と、最小のxを持つ点を結んだ線を抽出した線分の一つとする(図の?)。

以上のアルゴリズムでATから見たSUVの相対座標を計算した。次項ではその値を使いSUVのレンジセンサーの値をATのレンジセンサーの値と統合する。

線分抽出アルゴリズム

図4.2: 線分抽出アルゴリズム

4.4 センシング領域の拡張

前項で説明したアルゴリズムでSUVの相対座標を計算し、SUVから送信されるレンジセンサーの情報を統合することで、ATのセンシング領域を拡張した。図は実際に統合した様子をATのコンソールでモニターしている様子である。図の?、?は青色のATのセンサー情報とピンク色のSUVのセンサー情報が重なっており、さらに実際の写真と比較すると、壁の情報をセンシングできていることが分かる。しかし、図の?を見るとSUVの左側にある壁の情報がずれている、つまりSUVの位置がずれていることが分かる。これは前項で説明した通り、SUVがATの検出不可な領域にいる時は、ATはSUVから送られてくるオドメトリ情報のみを利用して位置を決めているため、オドメトリの誤差を補正する手段がないためである。ATの一定距離先を走るだけならば、レンジセンサーにより誤差をリセットすることができるが、SUVにより遠くを偵察させる状況では誤差が累積していく一方である。

また、図の?のセンサー地図に壁ではない四角い障害物が見えているのがわかるが、このような障害物の情報と壁の情報が同等の情報として描画されている。しかし、外部拡張センサーの用途を考えると、壁などの情報よりも障害物の情報の方がより重要な情報であるので、これを区別する手段があればSUVの外部拡張センサーとしてより有用なものになる。しかし、これらを区別するためには壁など動かない物体の情報を前もって知っておく必要がある。

以上の二点の問題を解決するために相対座標によるセンシング領域の拡張でなく、絶対座標によるセンシング領域の拡張を実現した。詳しくは次節以降で説明する。

相対座標によるセンシング領域の拡張

図4.3: 相対座標によるセンシング領域の拡張

4.5 絶対座標によるセンシング領域の統合

第4.1節で説明したように、ATとSUVの位置を共通の座標系(すべての移動体で共通の座標系)での座標、つまり絶対座標を知ることができれば、センシング領域を統合することができる。本研究ではATとSUVで共通の地図を作り、その地図上での自身の位置の座標を求めることでこれを実現した。地図は第3.3節で説明したようにSUVが環境を事前に走行することで、レンジセンサーで取得した値を計算して地図生成を行った。第3.4節で説明したように、生成した地図と現在のレンジセンサーの値を比較することで自分が地図上のどこにいるのかを推定した。第3.4節ではSUVの機能として説明したが、ATにもSUVと同じ仕組みで位置推定を行った。

4.6 ATのオドメトリ情報の取得

ATはRFIDタグで位置情報を取得するため、オドメトリ情報を取得するための仕組みが存在しない。本研究では、ATに回転数を知るためのロータリーエンコーダーと、現在の向きを知るための3軸角度センサーを搭載する(図)ことによりオドメトリ情報の取得を可能にした。

ATは第2.2.1項で説明したように、メカナムホイールという特殊なホイールで全方位移動を実現している。ATの後方左側のメカナムホイールのベルト部分にロータリーエンコーダーを取り付け(図左)、そこで取得した信号をPIC(図右)で計算することでATにホイールの回転数を出力する。ホイールの回転数にホイール一周で進んだ距離をかけることでATの走行距離を計算することができる。しかし、4つのホイールが独立な力で回転することにより直進以外の全方位移動やその場回転を行っているため、一つのホイールにロータリーエンコーダーをつけるだけでは全方位移動、その場回転のオドメトリを計算することはできない。そこで、本研究ではATが直進移動とその場回転だけを行うことを前提とし、直進している時はロータリーエンコーダー、その場回転をしている時は3軸角度センサーと使い分けることによりATのオドメトリ情報を取得した。次項で、この値を使ってATの位置推定を行う仕組みについて説明する。

ロータリーエンコーダーと制御回路

図4.4: ロータリーエンコーダーと制御回路

3軸角度センサー

図4.5: 3軸角度センサー

4.7 ATの位置推定

ATのオドメトリ情報とレンジセンサー情報を使い、第3.4節の仕組みでATの位置推定を行った。SUVとの差異は以下の点である。

  1. レンジセンサーの取得可能範囲が異なるATは全方位が取得範囲で、SUVは前方から左右120度ずつが取得可能範囲である

  2. レンジセンサーの最大計測距離が異なるATの最大計測距離は30mで、SUVは5.6mである

  3. ATの位置推定のために利用するセンサー地図はAT自身ではなくSUVが生成したものである

  4. オドメトリ情報がSUVに比べて精度が低い

SUVとの差異は以上の4点であるが、アルゴリズムは第3.4節で説明したものと全く同じものを組み込んだ。実際に走行させてATが正しく位置推定を行えることを確認した。その様子を図に示す。水色で表している地図情報と、青で表しているATのレンジセンサー情報が重なっていることから、位置推定が正しく行われていることが分かる。上で挙げた差異点の1と2は位置推定するための情報がSUVより多く集まるため有効に働いた。差異点の3は第3.3.3項で説明したように生成された地図は実際の距離情報を反映しているため、AT自身のセンサーが正しい距離の値を取得するならば、地図自体には正しく距離情報が反映されているため位置推定できたと思われる。差異点4は図から分かるように、大きなオドメトリの誤差によって生じるずれも、位置推定を何度も行うことで収束できる。パーティクルフィルタが多少のずれに対してロバストであることが分かる。

ATがSUVと同様の方法で位置推定を行うことにより、SUVとATは同じ地図で現在地を把握することができる。これによりSUVとATの位置を絶対座標で表すことが可能となった。次項で絶対座標によるセンシング領域の統合を行い、第4.2節の方法と比較する。

ATの位置推定

図4.6: ATの位置推定

ATのオドメトリの誤差

図4.7: ATのオドメトリの誤差

4.8 センシング領域の拡張

前項までに説明した方法で、ATとSUVの絶対座標を知ることができるため、それに基づいて両者のセンシング領域を統合した。統合した様子をATのコンソール上で見ることができる。図は実際にATのコンソール上で表示されるSUVとATのセンシング情報である。赤い線や点はSUVのセンシング情報で、青はATのセンシング情報である。また、水色は地図情報である。SUVがATの死角にある障害物の情報を取得して、それがATのコンソール上で確認できたことが分かる。第4.2.2項の相対座標によるセンシング領域の統合と大きく異なるのは、あらかじめ地図が表示されていることである。これにより第4.2.2項で挙げた問題である、障害物の情報を調べることができる。これについては次節で詳しく説明する。また、ATとSUVが共通の地図の座標系に対する位置座標を計算するため、第4.2.2項であげたSUVがATのセンシング領域から離れた位置でオドメトリの誤差が累積される問題が解決された。これにより、第3.1節で説明したSUVはATの前方を常に走行することで搭乗者の安全性を向上させることだけでなく、SUVをATが指定した目的地まで指定してその場所の様子をセンシングさせるといった、外部拡張センサーとしてのより柔軟な使い方が可能となった。それについては第4.5節で説明する。

絶対座標でのSUVのセンサー情報の統合

図4.8: 絶対座標でのSUVのセンサー情報の統合

4.9 地図にない障害物情報の検出

前節で、レンジセンサーで得た情報を利用して生成した地図をあらかじめ用意しておき、その地図を基準にした絶対座標でSUVとATの互いの位置を認識する方法を実現した。ATはあらかじめ地図を知っているため、壁などのすでに地図に載っている情報より、人間など地図に載っていない障害物情報がATにとってより重要な情報である。そのため、地図にない障害物情報を検出できる仕組みと、さらに検出した障害物を地図上に表示し続ける仕組みをSUVを用いて実現した(図)。この図では、現在のレンジセンサーの値で地図上に載っている点を青、現在取得したレンジセンサーの値で地図上に載っていない点をピンクで表している。また、以前にピンクとして取得した値を障害物情報として地図上に残しておいた情報を緑で表している。ただし、ピンクの点である、現在取得したレンジセンサーの値で地図に載っていない点を、常に緑の点として残しておくと、位置推定の誤差がある状態では正しく検出されない。具体的には、図左のようにSUVの向きの誤差が大きい時に、壁の情報が地図情報とセンサー情報で大きく異なり、壁を地図上に存在しない障害物と誤認識してしまう(図はATのセンサー情報と地図とのずれの図であるが、SUVの場合も同様である)。

そこで、SUVの位置の精度が良く、かつ現在のレンジセンサーの値で地図に載っていない点を障害物情報として地図に残しておくことで、意味のない障害物情報を残さないような仕組みを実現した。ここで、パーティクルフィルタの各パーティクルの座標の分散がある閾値以下の時を位置の精度が良いとした。図4.11の上が分散が小さく、位置推定の精度が良く、図の下が、分散が大きく位置推定の精度が悪い時の例である。第3.3.2項で説明した通り、パーティクルフィルタはリサンプリングのステップで、尤度の小さなパーティクルを削除し、尤度が大きなパーティクルだけを残す。よって、パーティクルの分散が小さい、つまりパーティクルが一ヶ所に固まっている時は、SUVの現在地がその付近である尤度が高い時である。よってこれを位置の精度が良い時とした。

地図にない障害物を地図上の情報として残しておく仕組みには、いくつかの問題がある。例えば、可動式の机や一時的にその場所に置いてある段ボール箱などは、地図にない情報として記録されるのはやむを得ないが、それがその場所から移動された後に、以前に記録された情報を消す仕組みが必要である。そのための仕組みとして、後から同じ場所を通った時に記録された障害物情報と現在のセンサーの値を比較して、障害物がなくなっていたら、その障害物情報を消すようにした。

また、人のような移動障害物の情報の扱いも問題の一つである。これは先ほどの机や段ボールとは違い、障害物情報として記録しておく必要はない。先ほど説明した障害物情報を地図に残す仕組みで、人とすれ違った時の様子が図に示されている。人の足を障害物として残してあるため、地図に意味のない緑の点が数多く残ってしまっている。しかし、先ほどの、同じ場所を通った時に障害物が消えていたら地図上からその情報を取り除く仕組みによって、移動障害物も通り過ぎた後は消えた障害物として扱われるため、移動障害物の痕跡を地図上に残したままにならないようにできる。

地図にない障害物情報の検出

図4.9: 地図にない障害物情報の検出

移動障害物の検出

図4.10: 移動障害物の検出

4.10 ATとSUVの連携走行

前節まではSUVがセンシングした情報をATと統合することについて説明した。SUVはATの前方を自律的に走行する。そのためには事前にATが走行する経路を知り、その経路を自律的に走行する仕組みが必要である。さらに、ATとSUVの連携走行する際に、ATとSUVが衝突したり、SUVとATの距離が離れすぎてしまわないように、二台の速度の制御をしなければならない。それについて第4.5.1項で説明する。SUVがATの前方を連携走行することによって、SUVはATの死角となる領域をセンシングする。死角となった領域から移動障害物が接近している場合は、SUVは自律的に避ける機能と、移動障害物が接近していることをATに知らせる機能を持つ必要がある。それについて第4.5.2項で説明する。

また、第4.3節で説明した絶対座標によるセンシング領域の拡張により、SUVがATのセンシング領域に存在しない、つまりATの近くにいない場合でもセンシング領域を拡張することができる。これにより、ATの搭乗者にとって知りたい領域を任意に指定し、その付近をSUVに走行させることで、その領域をセンシングする仕組みを実現した。これについては第4.5.3項で説明する。

4.11 ATの自動走行と連携走行

ATは第2.3節で説明したように、現在地のRFIDと目的地のRFIDを環境情報サーバーに送り、環境情報サーバーから経路に関する情報と動作に関する情報を取得する。ここでの経路とは、走行中に読み取るべきRFIDタグの順番である。SUVは第3.5.1項で説明したように、生成した地図にRFIDの情報を付与してあるので、SUVはATから読み取るRFIDタグの順番を受け取り、その情報を基に3.3節で説明した地図上(以降、環境情報サーバーの地図と区別するためレンジセンサー地図と呼ぶ)での経路を構成することができる。図左は第2.3.3項で説明した仕組みによりATの現在地がID5で、目的地のIDを47に設定した時に生成された経路で、IDを5→4→3→2→47と辿る経路が生成された図である。図右はSUVがATの辿るタグIDを受け取り、ATの経路を辿る経路をSUVの持つレンジセンサー地図で生成した図である。また、第4.3節で説明したようにATはSUVの位置を把握しているので、SUVがATより先に行き過ぎてしまった場合はSUVに一時停止命令を送り、ATがSUVに近づき過ぎた場合はATが一時停止する。このような仕組みでATとSUVの連携走行を実現した。

レンジセンサー地図上でのATの経路の再現

図4.11: レンジセンサー地図上でのATの経路の再現

4.12 SUVの移動障害物の検知とATの自動走行の中断

SUVとATは前項で説明した方法で連携走行し、SUVはATの死角を補うことができる。死角から移動障害物がSUVに接近してくる場合、SUVはその移動障害物を回避する必要がある。そこで、SUVのレンジセンサーの時間ごとに取得できる障害物の距離データから移動障害物を発見し、移動方向を推定する仕組みを実現した。図は移動障害物を検知した時の図である。赤い矢印は、人間の片足が動いている時にその動きを検知して向きを描画した時の図である。この矢印から、SUVは移動障害物が自分自身に衝突するかどうか判定し、衝突する場合は移動障害物が衝突しない位置まで後退することで回避する。本研究では、SUVが回避する行動としては後退だけであり、最適な回避方法の選択については今後の課題である。

SUVは自身が回避するだけでなく、移動障害物を検知したことをATに伝える。SUVから移動障害物の情報を受け取ったATは自動走行を一時中断することで、移動障害物との衝突を避け、安全な自動走行をすることができる。本研究では、移動障害物の情報を受け取った時のATの行動は自動走行の一時停止のみであり、最適な行動については今後の課題である。

回避すべき移動障害物の検知

図4.12: 回避すべき移動障害物の検知

4.13 指定した領域のセンシング

SUVはATの外部拡張センサーとしてATの死角となる領域をセンシングするというコンセプトで開発されたが、センシング領域は必ずしもATの近傍でなくてもよい。離れた場所へSUVを送りその場所をセンシングする、というような使い方もできる。この場合、前項で説明したような、SUVがATの目的地を暗黙的に取得して走行するのではなく、ATの搭乗者が直接目的地を指定することでSUVに目的地を伝える。SUVはATから目的地を受け取ると第3.5節で説明された仕組みで目的地まで向かう。この仕組みによって、ATは自らがその場所に移動しなくても、目的地の場所をセンシングすることが可能になる。これにより、例えばATに乗って何かの作業をしている間に、別の場所の様子を確認したい時に、SUVをその場所まで移動させることで、その場所の状況を把握することができる。図左は、ATのコンソールから搭乗者がSUVに目的地を指定した図で、図右は、SUVが指定した目的地まで自律走行した図である。

さらに、本研究では、センシングできる情報はレンジセンサーの情報だけであるが、映像や音声などセンシングできる情報を増やすことで、今後、様々な応用を実現する予定である。

指定した領域のセンシング

図4.13: 指定した領域のセンシング

5 関連研究

本研究では、小型無人移動体を個人用知的移動体の外部拡張センサーとしてセンシング領域を拡張することによって、安全な自動走行を実現することを目的とした。関連研究として、第5.1節ではロボットと環境固定センサーを拡張センサーとして扱う研究、第5.2節では小型自律飛行機を用いて環境をセンシングする研究、第5.3節では画像処理を用いて安全な自動走行を目指す研究、第5.4節では見通し不良区間における安全走行の支援を行う研究について紹介し、それぞれについて本研究との違いを述べる。

5.1 環境固定センサーとロボット搭載センサーによる協調センシング

ロボットが道路や、屋内を走る際に周囲の情報を取得するアプローチとして、ロボットの搭載センサーと環境固定センサーを利用することが考えられる。しかし、例えば、固定カメラの計測範囲は狭く、物体による遮蔽という問題もある。このため、日常生活環境を全域にわたって死角がないように多数のカメラを配置するのは極めて困難である。分散的に配置された固定センサーからの情報だけでなく、移動ロボットに搭載されるセンサーを移動センサーと見なしてその情報もあわせて環境情報を構築することにすれば、より少ないセンサーで、より広域の環境をカバーできるようになる。このような考えに基づいて、毛利らは、環境固定センサーとロボット搭載センサーの協調による環境情報の構造化手法を提案している。 提案手法の実装の一例として、レーザーレンジファインダ (LRF)をロボットに搭載し、環境固定カメラと協調させて移動体の追跡を行う手法を実現した。環境固定カメラはロボットの絶対位置を、ロボットは周囲の移動体の相対的な位置を計測するので、それらを統合することにより、移動体の絶対的な位置を得ることができる。これにより、環境固定カメラの計測範囲外に存在する移動体に対しても、その絶対的な位置を知ることを可能にしている。

本研究では、SUVの一台の特定なATに従属させて連携走行することで、ATの死角領域をセンシングすることを可能にした。しかし、SUVは自律走行の機能を持つためATに従属する必然性はなく、環境を独立して巡回するような使い方も考えられる。さらに、この研究のように自律走行するロボットと環境固定センサーが取得した情報を協調的に使用することで、環境情報を網羅的にセンシングする使い方も考えられる。SUVを環境インフラの一部に取り入れる考えは、本研究の今後の課題として重要なテーマだと思われる。これについては第6.2.2節で述べる。

5.2 センサー統合による無人ヘリコプター搭載型マッピングシステム

鈴木らは、自律飛行機(UAV: Unmanned Aerial Vehicle)を用いて3次元情報を自動的に計測する研究を行った。具体的にはレーザースキャナ、デジタルカメラ、慣性計測装置(IMU)、GPSを無人ヘリコプターに搭載し、計測する。取得した画像とレーザーレンジセンサーのデータを、補正されたIMUのデータをもとに座標変換する。IMUのデータ補正に画像標定結果が使用されているため、デジタル画像とレーザーレンジデータの重ね合わせが精度良く行われ、色つきの3次元点群画像を構築することができる。この研究では構築した3次元点群画像を礫河原の植生調査に活用することを目的とするが、本研究のように自動走行する乗り物のセンサーインフラとして使用することも考えられる。SUVは地上を走る無人移動体であるが、これが飛行する移動体に置き換われば、移動障害物とSUV自体の衝突も容易に回避することが可能となる。SUVの飛行についてはすでに研究を始めており、それについては第6.2.1項で触れる。

5.3 安全・安心なインテリジェント電動車いす

佐藤らは、パーソナルモビリティのための安全性を確保する技術に関する研究を行っている。この研究では、多数のカメラをボール状に集合させることで全方向撮影可能な全方向ステレオカメラの技術を使い、さまざまな技術要素を取り入れることで安全な乗り物を目指している。必要な要素技術を統合した試作機を完成させ、ユーザーに実際に使用してもらうことで新たに必要な要素技術を発見していく研究プロセスをとっているため、安全という面だけでなく、安心な乗り物を作ることにも適している。具体的には、察知した危険を搭乗者にフィードバックするためのインタフェースなどは、安心して乗るためには必要な技術であることがユーザーからの声で明らかになり、そのための技術開発で改善されたことも述べられている。さらに、全方向を撮影なカメラをステレオ視で立体化することにより、レーザーレンジセンサーのような平面上の距離データでは実現が困難であるさまざまな安全に対する機能を実現できる可能性があると思われる。具体的に実現された機能として、段差認識、障害物認識、搭乗者のジェスチャー認識などがある。また、画像処理による計算時間の遅延の問題も解決している。しかし、乗り物から見えない死角の領域の危険察知については、全方向ステレオカメラを使用しても不可能であり、本研究はこの点に関する問題解決を目指したものである。ただし、この研究で行っているユーザーの声を反映した技術の開発に関しては、本研究でも今後行うべき課題である。

5.4 見通し不良区間における安全走行支援システム

松本らは、車の運転において見通しの悪いカーブでの交通事故を減らすための支援システムを提案している。見通しの悪いカーブは交通事故が多発箇所であり、このような道路を走行する際に注意すべき点として、カーブ先に停止している車両や、すれ違う対向車などがある。事前に前方の状況を認識していれば、運転者は余裕を持ってこれらを回避することが可能となる。そこで、この研究では見通しの悪いカーブからなる道路を画像センサーで監視し、その監視映像を画像処理することで、システムが自動的に対向車や障害物(停止・低速車、落下物)を検知する。その検知内容を、表示装置で、見通し不良区間の直前に置き、運転手はそれを見ることで、対向車線や停止車両に対し特に注意を向けながら運転することができる。

本研究では、環境への固定センサーの設置はインフラへのコストが高いとして、自律走行が可能な外部拡張センサーとしてのSUVの研究を行った。しかし、この研究では、交通事故多発する箇所を限定することで、その設置コストに対しての問題に対して解決を図っている。屋内や屋外での歩道は、車道よりも複雑な形状で危険な箇所を完全に限定することは難しいが、人通りの多い交差点などに限定して環境設置型のセンサーを置くことは今後考えられる解決策の一つである。ただし、環境設置型センサーも環境情報を取得するための手段の一つであり、SUVで取得する情報と併せて使うことで、より安全な自動走行が可能になると思われる。そのため、この研究成果を、将来的に本研究に採り込むことも検討すべきである。

6 まとめと今後の課題

6.1 まとめ

本研究の成果は以下の3点である。

  • 移動体間のセンシング領域を統合するための基礎技術の開発

  • 移動体間の連携自動走行の実現

  • センシング領域の統合・連携自動走行を用いた安全な自動走行の実現

それぞれについて詳しく説明する。

6.1.1 移動体間のセンシング領域を統合するための基礎技術の開発

第3.4節で説明した通り、SUVでセンサーから生成した地図上で、現在位置を推定する機能を実現した。さらに第4.3.2項で説明した通り、SUVと同様の方法でATの現在位置を推定することができる。これらにより、複数の移動体間で互いの位置を共通の地図上の座標で知ることができ、それぞれが取得したセンサー情報を統合することが可能となった。

6.1.2 移動体間の連携自動走行の実現

第3.5節で説明した通り、SUVで任意の目的地に向かって自律走行する機能を実現した。本機能により、SUVはATの自動走行の経路をトレースする自律走行が可能となり、さらにATが互いの位置情報を用いて、ATとSUVの速度を制御することで連携走行を実現した。これについては第4.5.1項で詳しく述べた。

6.1.3 センシング領域の統合・連携自動走行を用いた応用例の実現

SUVが移動障害物を検知した際に、移動障害物が自分と衝突する場合にのみ後方に退くことで移動障害物を回避する機能を実現した。さらに、SUVが回避中にATの自動走行を中断させることで、ATの安全な自動走行を可能にした。これは上で述べた二点の技術を用いた応用例であり、本研究が目指した安全性を強化する手法である。これについては第4.5.2項で詳しく述べた。

6.2 今後の応用の可能性およびその課題

本研究で得た成果を利用することによる、SUVの今後の応用の可能性とその課題について述べる。

6.2.1 空中用SUV

第1.4節で、SUVと移動障害物の衝突は、SUVが小型で無人移動体であることから容易に解決できる問題であると述べた。さらに、具体的な解決策として、SUVが空を飛ぶことで障害物との衝突を無くす方法について触れた。これは現在研究中であるが、まだ実現されていない。そのため、今後の課題の一つとして、以下に述べる。

空中には移動障害物が存在せず、地上よりも自由に移動することができるので拡張型センサーとして地上より適した状況である。人間を乗せて空中を移動できるような乗り物の実現は、まだ先の話であるが、空を飛ぶ小型の移動体はすでに実現されている。例えば、パロット社の「AR.Drone」は空中で静止状態を持続することができる移動体である。旋回、上昇下降、全方位移動など柔軟な移動ができる。現在、この移動体を用いて空を飛ぶSUVを研究中である。しかし、AR.Droneは飛んでいる間は常にエネルギーを消費するので、常時飛び続けることは難しい。その問題の解決法として、通常時は空中用のSUVは地上用のSUVの上に設置されており、環境をセンシングする必要がある時に分離して飛行する方法を想定している(図)。また、一つの移動体で、地上走行と空中走行を切り替えられる移動体の研究が防衛省で行われている。この研究では形状が球体で、空を飛ぶ時は内部のプロペラで飛行し、着陸した後は転がりながら地上を進む。今後このような移動体の研究が進めば空を飛ぶSUVとして利用できる可能性がある。

地上用SUVと空中用SUVの連携

図6.1: 地上用SUVと空中用SUVの連携

6.2.2 環境インフラとしてのSUV

本研究では、SUVを、自律移動するセンサーとして、特定のATに従属するものとして利用した。SUVの自律移動型センサーとしての機能を独立して用いることで、他の問題へ適用することが今後の応用として考えられる。その一つの例が環境情報を取得するためのインフラとしてSUVを使うことである。環境情報は時間とともに変化する。具体的には、ショッピングモールでの店や通路の混み具合や、荷物等が運搬されている状況などである。そのような環境情報は、ATに限らず様々な場面で利用することができる。具体的には、次の目的地を決めたり、無駄な行動を減らすことなどである。先の例で言えば、ショッピングモールでは、混んでいる店に行くのを後回しにしたり、荷物等が運搬されている状況では、その運搬経路を避けて通るようにすることで、走行中に発生すると予測される問題を回避することができる。そのために、複数のSUVを環境中に巡回させ、このような環境情報を自動的に収集することが考えられる。

筆者の所属する研究室では、すでに、環境インフラとしてのSUVの研究も同時に進めている。この研究では、動的に変化する環境の、特に、道を塞ぐ障害物をSUVによってセンシングし、その情報を環境情報として共有する仕組みおよびその応用について研究している。具体的には、複数のSUVが環境を自律的に巡回し、障害物によってATが進行不可能な場所を発見した場合に、環境情報サーバーに情報を送信し、その情報をに基づいて、ATは走行経路を自動走行中に動的に変更することができる。それによって、ATの自動走行を効率化するための研究である。しかし、この研究でセンシングする情報は、レーザーレンジセンサーによる距離データのみであるので、先ほどのショッピングモールなどの例を実現することは難しい。今後は、センサーを拡張することで、取得する情報を増やすことが課題である。具体的には音声・画像、3次元の深度などのセンサーである。

また、環境インフラとしてのSUVの研究では、SUVが、時々刻々と変化する環境情報をどの程度の頻度で収集できるかを実験するシミュレーターを開発した。それにより、効率的に環境情報をセンシングするための、環境に分散させ稼働させるSUVの適切な台数がほぼ明らかになっている。それらの情報を用いて、環境インフラとしてのSUVについての機能を一般化することも今後の課題の一つである。

謝辞

本研究を進めるにあたり、指導教員である長尾確教授をはじめ、数多くの方々に御支援、御協力をいただきました。この場で、感謝の言葉を申し上げたいと思います。\\ 長尾確教授には、本研究を始めるきっかけ、毎週のプロジェクトゼミでの貴重な意見、研究に対する心構え、論文執筆に関するアドバイスなど、数多くの御指導頂きました。大変御世話になりました。心から御礼申し上げます。

松原茂樹准教授には、ゼミ中に鋭い意見を何度も頂き、本研究について再度自分の中で考えるきっかけを頂きました。大変感謝しています。

大平茂輝助教には、ゼミ中に新たなアイディアを提案して頂いたり、論文執筆に関するアドバイスを頂きました。本当にありがとうございました。

同研究室博士後期課程の土田貴裕さん、石戸谷顕太郎さんには、本研究に関するアドバイスをはじめ、幅広い知識や研究に対する考え方を教えてもらいました。お二人にたくさんの刺激を頂いたおかげで、本研究だけでなく情報工学全般に対する考え方が一年で大きく変わりました。心から感謝致します。

ATプロジェクトのメンバーである井上泰佑さんには、研究やプログラミングに関する様々なアドバイスをいただき、大変御世話になりました。ありがとうございます。

また、木内啓輔先輩、山本圭介先輩がいつも夜遅くまで頑張っている姿を見ることで、自分も励まされ、粘り強く研究を続けてこれました。研究に対するアドバイスもたくさん頂きました。森直史先輩にはWiiリモコンやレンジセンサーのAPIという本研究には欠かせない資産を頂いたり、プログラミングの作法について教わりました。高橋勲先輩には本研究とは直接関係ありませんが、Objective-Cのプログラミング技術を教わりました。

同期の磯貝邦昭君、棚瀬達央君には、研究生活で貴重な御意見を頂いたことに加え、研究室におけるさまざまな活動の中で御世話になりました。ありがとうございます。

長尾研究室秘書の鈴木美苗さんには、辛い研究生活で心が滅入った時に、お菓子の差し入れなどを頂き、心が救われました。ありがとうございます。

最後に、大学で論文を書けるまでに育てていただいた両親に心より感謝します。

様々な人に支えられ、刺激され、励まされてこの論文を書くことができました。本当に感謝しています。改めて御礼申し上げます。