説明

経路探索装置及び移動システム

【課題】安全かつ最短な経路を探索する。
【解決手段】取得部111は、周囲に存在する物体までの位置を示す測域データを取得する。地図データ生成部112は、取得部111により取得された測域データを二次元の座標空間にプロットすることで、2次元の地図データを生成する。特定部113は、地図データにおいて歩行者を示す点群を特定する。投票部114は、投票空間を生成し、生成した投票空間を構成する各格子に、特定部113により特定された歩行者を示す点群を構成する測域データを投票する。安全率算出部115は、投票部114による投票結果にしたがって、各格子の安全率を算出する。探索部116は、安全率が算出された投票空間において、スタート位置を示す格子とゴール位置を示す格子との距離が最短となり、かつ、安全率が最も高くなるような経路を所定のアルゴリズムを用いて探索する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スタート位置からゴール位置までの経路を探索する技術に関するものである。
【背景技術】
【0002】
移動ロボットの自律移動には自己位置推定や地図構築が重要な要素となっている。しかしながら、屋外環境では気候等の影響により路面の状況が変化する等、環境が動的に変化しやすいため、移動時の環境状況に応じて目的地まで安全に走行できる経路探索手法が必要である。
【0003】
環境状況に応じた自律移動手法として、画像情報からロボットが走行できる路面の領域を判別して路面上を走行する方法や、路面以外の障害物を検出して危険を回避する方法が知られている。また,環境の走行を繰り返すことで状況変化の多い領域、危険度の高い領域を学習し、安全に移動できる領域地図を生成する手法も提案されている。しかしながら、このような地図の生成には非常に労力を要するといった問題がある。
【0004】
また、非特許文献1には、画像データから障害物と人間の位置情報を抽出することで、環境内を歩行している人間によって掃引された床面領域を移動可能領域とみなす地図を作成し、作成した地図を基に、経路計画を行う技術が開示されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】「移動ロボットによる歩行者観察に基づく地図作製と自律移動のための一手法」田中完爾、岡田伸宏廣、近藤英二、日本機械学会論文集、70巻693号(2004−5)、論文No.03−0437
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1の手法では、ある床領域を掃引した人間の人数に関わらず、少なくとも1人の人間が掃引した床面領域は移動可能領域としてみなされているため、掃引した人間の人数に応じて床面領域がどの程度安全か否かを評価することができない。つまり、多くの人間が掃引した床面領域ほど安全である可能性が高いことが推定されるが、引用文献1の手法では、掃引した人間の人数を考慮に入れて床面領域の安全性の評価が行われていないため、より安全な経路を探索するためには更なる改善の余地がある。
【0007】
本発明の目的は、安全かつ最短な経路を探索することができる経路探索装置及びその経路探索装置を備える移動システムを提供することである。
【課題を解決するための手段】
【0008】
(1)本発明の一局面による経路探索装置は、周囲に存在する物体までの位置を示す測域データを取得する取得手段と、前記取得手段により取得された測域データを二次元の座標空間にプロットすることで、前記物体の位置を示す2次元の地図データを生成する地図データ生成手段と、前記地図データから周囲に存在する各物体を示す点群を抽出し、抽出した点群のうち所定の歩行者条件を満たしている点群を、歩行者を示す点群として特定する特定手段と、前記地図データが示す二次元の座標空間を格子状に区画することで投票空間を生成し、生成した投票空間を構成する各格子に、前記特定手段により特定された歩行者を示す点群を構成する各測域データを投票する投票手段と、前記投票手段による投票結果が高い格子ほどに、安全率が高くなるように各格子の安全率を算出する安全率算出手段と、前記安全率が算出された投票空間において、所定のスタート位置を示す格子と所定のゴール位置を示す格子との距離が最短となり、かつ、前記安全率が最も高くなるような経路を所定のアルゴリズムを用いて探索する探索手段とを備えることを特徴とする。
【0009】
この構成によれば、周囲に存在する物体の位置を示す測域データが取得され、取得された測域データが二次元の座標空間にプロットされ、各物体を示す点群が抽出され、抽出された点群の中から歩行者を示す点群が特定される。そして、二次元の座標空間を格子状に区画することで得られる投票空間に、歩行者を示す点群を構成する測域データが投票され、投票結果が高い格子ほどに、安全率が高くなるように各格子の安全率が算出される。これにより、投票空間は、多くの歩行者が通った格子ほど高い安全率が算出された2次元の地図データとなる。そして、この投票空間を用いて、スタート位置を示す格子と所定のゴール位置とを示す格子との距離が最短となり、かつ、安全率が最も高くなるような経路が探索される。
【0010】
これにより、多くの歩行者が通るために安全性が高く、かつ、スタート位置からゴール位置までの距離が最短となるような経路を探索することができる。よって、スタート位置からゴール位置まで自動運転する移動システム(ロボット)に本構成を採用すると、障害物との衝突を回避させると同時に、最短経路で移動体をゴール位置まで誘導させることができる。
【0011】
(2)前記特定手段は、点群の移動速度及び形状を前記歩行者条件として採用することが好ましい。
【0012】
この構成によれば、点群の移動速度及び形状が歩行者条件として採用されているため、歩行者を示す点群を精度良く特定することができる。
【0013】
(3)前記歩行者条件における点群の形状は、点群を構成する点の個数及び点群の幅を含むことが好ましい。
【0014】
この構成によれば、点群の個数及び幅が歩行者条件の形状として採用されているため、点群をより精度良く特定することができる。
【0015】
(4)前記測域データは、地面からの高さが歩行者の膝下の高さとなるように水平方向に向けてレーザビームを照射することで測定されたものであり、前記投票手段は、歩行者を示す点群を構成する測域データが投票された格子を中心として当該格子の投票値を所定の二次元分布関数に従って変化させることで周囲の格子の投票値を設定することが好ましい。
【0016】
この構成によれば、歩行者の胴体のサイズを考慮に入れた投票を行うことができる。また、二次元分布関数に従って投票値が変化されているため、投票値をなだらかに変化させることができる。
【0017】
(5)前記特定手段は、前記歩行者条件を満たさない点群を障害物を示す点群として特定し、前記投票手段は、前記歩行者を示す点群の測域データについては投票値を正の値にして投票し、前記障害物を示す点群を構成する測域データについては投票値を負の値にして投票することが好ましい。
【0018】
この構成によれば、障害物を示す点群と歩行者を示す点群とが明確に区別されるように安全率を算出することができる。
【0019】
(6)前記探索手段は、A*アルゴリズムを用いて経路を探索することが好ましい。
【0020】
この構成によれば、距離が最短となり、かつ、安全率の高い経路をより正確に探索することができる。
【0021】
(7)GPSセンサと方位センサとを更に備え、前記安全率算出手段は、前記GPSセンサにより測定された自己の現在位置を示す位置データと前記方位センサにより測定された方位データとを基に、前記投票空間の座標系をグローバル座標系に変換し、前記探索手段は、前記GPSセンサにより測定された自己の現在位置を示す格子を前記投票空間に設定し、設定した現在位置を示す格子を前記スタート位置とすることで、前記経路を探索することが好ましい。
【0022】
この構成によれば、投票空間の座標系をグローバル座標系で表すことができるため、GPSセンサにより測定された自己の現在位置をスタート位置としてゴール位置までの経路を探索することができる。また、グローバル座標系における位置データ(例えば、緯度、経度)を入力することで、ゴール位置の設定を行うことができる。また、GPSセンサ及び方位センサを備えているため、GPSセンサ及び方位センサから自己の現在位置及び進行方向が探索した経路からずれているか否かを検出することができる。
【発明の効果】
【0023】
本発明によれば、多くの歩行者が通るために安全性が高く、かつ、スタート位置からゴール位置までの距離が最短となるような経路を探索することができる。
【図面の簡単な説明】
【0024】
【図1】本発明の一実施の形態による移動システムの外観構成図を示している。
【図2】図1に示す移動システムの電気的な構成を示すブロック図である。
【図3】図1に示す移動システムの機能的な構成を示したブロック図である。
【図4】本発明の実施の形態による移動システムが経路を探索する際の動作を示すフローチャートである。
【図5】歩行者条件を示した表である。
【図6】(A)は地図データ生成部により生成された地図データの一例を示す模式図であり、(B)は(A)に示す地図データから歩行者を示す点群が抽出された地図データを示す模式図である。
【図7】(A)は測域データがプロットされた地図データにおいて投票空間の分解能程度に分解能が低くされた地図データを示し、(B)は測域データが投票された投票空間を示している。
【図8】探索部により探索された経路の一例を示した模式図である。
【図9】探索部により探索された経路に沿って移動システムが移動する際の処理を示すフローチャートである。
【図10】ナビゲーション実験によって得られた移動安全領域地図データと、探索した経路と、移動システムの走行経路とを示している。
【図11】(A)〜(D)は、走行中の移動システムの様子を示した図である。
【発明を実施するための形態】
【0025】
以下、本発明の一実施の形態による移動システムについて説明する。図1は、本発明の一実施の形態による移動システムの外観構成図を示している。図1に示すように移動システムは、車椅子型の移動システムであって、測域センサ1、経路探索部2、方位センサ3、タイヤ部4、台5、フレーム6、操作部7、及びGPSセンサ8を備えている。
【0026】
測域センサ1は、例えばレーザレンジファインダにより構成され、移動システムの周囲に位置する物体までの距離及び方向を示す測域データを測定する。具体的には、測域センサ1は、地上から歩行者の膝下程度の高さの水平面上において、レーザビームの射出方向を扇状に変更してレーザビームをスキャンし、物体からの反射光を受光することで周囲に位置する物体までの測域データを測定する。ここで、測域センサ1は、例えば、水平面上において、真正面の方向を基準として時計回りの方向を正とすると、−90度から+90度の180度の範囲でレーザビームをスキャンすることで測域データを測定する。
【0027】
なお、測域データには、測域センサ1の真正面の方向を基準としたときの検出した物体の方向を示す方向データと、測域センサ1を基準としたときの物体までの距離を示す距離データとが含まれている。また、方向データとしては、レーザビームの照射角度が採用されている。
【0028】
また、測域センサ1は、台5の前方に取り付けられているため、移動システムの前方において、数十メートル〜数百メートル(例えば最大80メートル)を半径とする半円状の範囲内に位置する物体の測域データを測定することになる。なお、本実施の形態では、測域センサ1としては、例えば、SICK(ジック)社製のLMS200が採用されている。
【0029】
経路探索部2は、コンピュータにより構成され、本実施の形態では、例えばノートブックパソコンが採用されている。方位センサ3は、例えば、3次元の磁気方位センサにより構成され、ヨー角の角度成分を、グローバル座標系の真北の方向と移動システムの真正面の方向との間の角度として測定し、測定した角度を方位データとして経路探索部2に出力する。本実施の形態では、方位センサ3としては、例えばHoneywell(ハネウエル)社製のTruePoint HMR3500が採用されている。
【0030】
タイヤ部4は、フレーム6の下部に取り付けられた4つのタイヤにより構成され、移動システムを地面に沿って移動させる。なお、4つのタイヤのうち、後方に設けられた左右2つの半径の大きなタイヤには、それぞれ、左モータM1及び右モータM2が取り付けられ、両タイヤは、左右モータM1,M2からの駆動力を受けて回転する。なお、前方に設けられた半径の小さな2個のタイヤは補助輪である。
【0031】
台5は、経路探索部2等のコンピュータを設置する台により構成されている。操作部7は、例えばジョイスティックにより構成され、移動システムをマニュアル運転する場合に使用される。
【0032】
フレーム6は、例えば四角柱状の部材により構成され、車椅子の骨格部分を形成し、下部にはタイヤが取り付けられ、中央部には台5が取り付けられ、前方左手には操作部7が取り付けられている。
【0033】
GPSセンサ8は、例えば、differentialGPSセンサ(相対即位方式のGPSセンサ)により構成され、フレーム6の前方左手側に立設された柱81の上端に取り付けられ、移動システムのグローバル座標系における位置データを取得する。ここで、位置データは、緯度成分及び経度成分を含んでいる。本実施の形態では、GPSセンサ8としては、例えば、hemisphere社製のA100が採用されている。
【0034】
図2は、図1に示す移動システムの電気的な構成を示すブロック図である。図2に示すように、移動システムは、測域センサ1、経路探索部2、方位センサ3、操作部7、GPSセンサ8、左モータ駆動部9(タイヤ駆動手段の一例)、右モータ駆動部10(タイヤ駆動手段の一例)、モータ制御部11(タイヤ駆動手段の一例)、左モータM1(タイヤ駆動手段の一例)、及び右モータM2(タイヤ駆動手段の一例)を備えている。
【0035】
経路探索部2は、入力装置21、ROM(リードオンリメモリ)22、CPU(中央演算処理装置)23、RAM(ランダムアクセスメモリ)24、外部記憶装置25、表示装置26、記録媒体駆動装置27、及び入出力インターフェイス(I/F)29を備えている。入力装置21、ROM22、CPU23、RAM24、外部記憶装置25、表示装置26、記録媒体駆動装置27、及びI/F29は、バスラインに接続され、このバスラインを介して種々のデータ等が入出され、CPU23の制御の下、種々の処理が実行される。
【0036】
入力装置21は、キーボード、マウス等から構成され、ユーザが種々のデータを入力するために使用される。ROM22には、BIOS(Basic Input/Output System)等のシステムプログラムが記憶される。外部記憶装置25は、ハードディスクドライブやSSD(Solid State Drive)等から構成され、所定のOS(Operating System)及びコンピュータを経路探索部2として機能させるための制御プログラムが記憶されている。CPU23は、外部記憶装置25からOS等を読み出し、各ブロックの動作を制御する。RAM24は、CPU23の作業領域等として用いられる。
【0037】
表示装置26は、液晶表示装置等から構成され、CPU23の制御の下に種々の画像を表示する。記録媒体駆動装置27は、CD−ROMドライブ、フレキシブルディスクドライブ等から構成される。
【0038】
なお、記録媒体28は、CD−ROM等のコンピュータ読み取り可能な記録媒体28により構成され、コンピュータを経路探索部2として機能させるための制御プログラムを格納する。ユーザはこの記録媒体28を記録媒体駆動装置27に読み込ませることで、制御プログラムをコンピュータにインストールする。
【0039】
I/F29は、例えばUSB規格に準拠する複数のポートにより構成され、測域センサ1、方位センサ3、GPSセンサ8、及びモータ制御部11が接続されている。モータ制御部11には、左モータ駆動部9及び右モータ駆動部10が接続されている。モータ制御部11には、操作部7が接続されている。
【0040】
モータ制御部11は、経路探索部2から出力される指示信号にしたがって、左モータM1及び右モータM2のそれぞれが経路探索部2により指定された回転速度で回転するように左モータ駆動部9及び右モータ駆動部10を制御する。左モータ駆動部9及び右モータ駆動部10は、モータ制御部11の制御のしたがって、左モータM1及び右モータM2のそれぞれを指定された回転速度で回転させる。
【0041】
図3は、図1に示す移動システムの機能的な構成を示したブロック図である。図3に示すように移動システムは、取得部111(取得手段の一例)、地図データ生成部112(地図データ生成手段の一例)、特定部113(特定手段の一例)、投票部114(投票手段の一例)、安全率算出部115(安全率算出手段の一例)、探索部116(探索手段の一例)、移動制御部117(移動制御手段の一例)、地図データ記憶部121、及び移動安全領域地図データ記憶部122を備えている。
【0042】
取得部111〜移動制御部117は、経路探索部2のCPU23により構成され、地図データ記憶部121、及び移動安全領域地図データ記憶部122は、経路探索部2のRAM24等により構成されている。
【0043】
取得部111は、測域センサ1により測定された移動システムの周囲に存在する物体までの距離及び方向を示す測域データを取得する。また、取得部111は、GPSセンサ8により測定された移動システムのグローバル座標系における位置データを取得する。また、取得部111は、方位センサ3により測定された移動システムの方位データを取得する。また、取得部111は、入力装置21を操作することでユーザにより入力されたゴール位置を示す位置データを取得する。ここで、ゴール位置を示す位置データとしては、グローバル座標系における緯度成分と緯度成分と含む位置データが採用される。
【0044】
地図データ生成部112は、取得部111により取得された測域データを二次元の座標空間にプロットすることで、物体の位置を示す2次元の地図データを生成する。ここで、地図データ生成部112は、例えば以下のようにして、地図データを生成する。
【0045】
まず、地表面を上側から見たときの座標平面であって、測域センサ1の真正面の方向が第1の座標軸として設定され、この第1の座標軸に直交する方向が第2の座標軸として設定された座標平面を2次元の座標空間として設定する。次に、設定した座標空間に、測域センサ1の位置を示す基準点をプロットする。次に、測域データに含まれる方向データからプロットするべき測域データの基準点からの向きを定め、測域データに含まれる距離データからプロットするべき測域データの基準点からの距離を定める。次に、定めた向きと距離とにより特定される座標空間の座標位置に測域データをプロットする。このような処理を、測域センサ1から出力する各測域データに対して実行し、地図データを生成する。
【0046】
また、地図データ生成部112は、測域センサ1に一定の時間間隔(スキャン周期)を空けてレーザビームを複数回スキャンさせ、測域センサ1が1回スキャンする度に1枚の地図データを生成することで、複数枚の地図データを生成する。なお、生成された複数枚の地図データは地図データ記憶部121に記憶される。
【0047】
特定部113は、地図データ生成部112により生成された各地図データにおいて、各物体を示す点群を抽出し、抽出した点群のうち所定の歩行者条件を満たしている点群を、歩行者を示す点群として特定する。具体的には、特定部113は、以下のようにして、歩行者を示す点群を特定する。まず、各地図データにおいて、一塊の点群、すなわち、連続して存在する点群を1つの物体を示す点群として抽出する。
【0048】
次に、各地図データにおいて、幅及び構成点数が所定の歩行者条件を満たす点群を、歩行者の候補となる候補点群として特定する。次に、異なる地図データ間において、同一の物体を示す候補点群同士を対応付け、対応付けた候補点群の移動速度を算出する。次に、算出した移動速度が所定の歩行者条件を満たす点群を、歩行者を示す点群として特定する。
【0049】
なお、候補点群の移動速度は、例えば下記のようにして求めればよい。まず、各地図データを、動画像を構成する1枚のフレームとしてとらえ、対応付けた候補点群を時系列に並べる。次に、時系列に並べた各候補点群の重心位置を特定する。次に、特定した重心位置のフレーム間における移動距離を求める。次に、求めた移動距離を測域センサ1によるスキャン周期で割ることで各候補点群のフレーム間での移動速度を求め、求めた移動速度の平均値を候補点群の移動速度として算出する。
【0050】
なお、特定部113は、所定の歩行者条件を満たさなかった点群を障害物を示す点群として特定する。
【0051】
投票部114は、地図データが示す二次元の座標空間を格子状に区画することで投票空間を生成し、生成した投票空間を構成する各格子に、特定部113により特定された歩行者を示す点群を構成する測域データを投票する。
【0052】
ここで、投票部114は、歩行者を示す点群を構成する測域データが投票された格子を中心として当該格子の投票値を所定の二次元分布関数に従って変化させることで周囲の格子の投票値を設定し、設定した投票値で周囲の格子に投票する。ここで、二次元分布関数としては例えば二次元ガウス分布関数を採用することができる。
【0053】
また、投票部114は、歩行者を示す点群の測域データについては投票値を正の値(例えば「+1」)にして投票し、障害物を示す点群を構成する測域データについては投票値を負の値(例えば「−1」)にして投票する。これにより、安全率を算出するに際して、障害物と歩行者とを明確に区別することができる。
【0054】
また、投票部114は、障害物を示す点群を構成する測域データについても歩行者を示す点群を構成する測域データと同様にして、測域データが投票された格子を中心として当該格子の投票値を二次元ガウス分布関数に従って変化させることで周囲の格子の投票値を設定する。
【0055】
安全率算出部115は、投票部114による投票結果が高い格子ほどに、安全率が高くなるように各格子の安全率を算出する。具体的には、安全率算出部115は、投票部114が各格子に対して投票した投票値の和を求めることで各格子の安全率を算出し、移動安全領域地図データを生成する。なお、生成された移動安全領域地図データは移動安全領域地図データ記憶部122に記憶される。
【0056】
また、安全率算出部115は、GPSセンサ8により測定された移動システムのグローバル座標系における位置と、方位センサ3により測定された移動システムの方位とから、二次元の座標空間に設定された第1及び第2の座標軸をグローバル座標系に変換することでプロットした各測域データのグローバル座標系における位置を求める。
【0057】
探索部116は、安全率が算出された投票空間において、スタート位置を示す格子と予め定められたゴール位置を示す格子との距離が最短となり、かつ、安全率が最も高くなるような経路を所定のアルゴリズム(例えばA*アルゴリズム)を用いて探索する。
【0058】
なお、スタート位置としては、地図データ生成部112が地図データにプロットした基準点のグローバル座標系における位置データを採用することができる。
【0059】
移動制御部117は、経路探索部2によって探索された経路にしたがって、移動システムが移動するように、モータ制御部11に指示信号を出力し、左モータM1及び右モータM2を駆動させる。ここで、移動制御部117は、移動システムを右方向に旋回させる場合は、左モータM1の回転速度が右モータM2の回転速度より大きくなるように、モータ制御部11に指示信号を出力する。一方、移動制御部117は、移動システムを左方向に旋回させる場合は、右モータM2の回転速度が左モータM1の回転速度よりも大きくなるように、モータ制御部11に指示信号を出力する。
【0060】
次に、本発明の実施の形態による移動システムの動作について説明する。図4は、本発明の実施の形態による移動システムが経路を探索する際の動作を示すフローチャートである。
【0061】
まず、ステップS1において、取得部111は、GPSセンサ8により測定された移動システムの現在位置を示す位置データを取得すると共に、方位センサ3により測定された移動システムの方位を示す方位データを取得する。
【0062】
次に、取得部111は、測域センサ1により測定された測域データを取得する(ステップS2)。ここで、測域センサ1は、上述したように、スキャン周期にしたがってレーザビームを複数回スキャンする。スキャン周期としては、歩行者の移動速度を求めるにあたり好適な値を採用することが好ましい。
【0063】
次に、地図データ生成部112は、測域センサ1がレーザビームを1回スキャンする度に、測定した測域データを2次元の座標空間にプロットすることで、複数枚の地図データを生成する(ステップS3)。この場合、生成される地図データは、第1の座標軸が、例えば測域センサ1の真正面の方向に設定され、第2の座標軸が、例えば第1の座標軸と直交する方向に設定される。
【0064】
次に、特定部113は、ステップS3で作成された複数枚の地図データを用いて、各地図データから移動システムの周囲に存在する各物体を示す点群を抽出し、抽出した点群が所定の歩行者条件を満たすか否かにより、歩行者を示す点群と障害物を示す点群とを特定する(ステップS4)。
【0065】
図5は、歩行者条件を示した表である。図5に示すように、歩行者条件としては、点群の幅w(cm)、構成点数N(個)、及び移動速度v(cm/sec)が採用されている。本実施の形態では、幅wとして例えば、5≦w≦60が採用され、構成点数Nとして例えば1≦N≦30が採用され、移動速度vとして例えばv≧12が採用されている。
【0066】
したがって、特定部113は、各地図データにおいて、まず、幅w及び構成点数Nが図5に示す条件を満たす点群を歩行者を示す点群候補として特定する。そして、各地図データを動画像のフレームとみたてて、各フレームにおいて同一の歩行者を示す点群候補を対応付けて時系列に並べる。
【0067】
そして、時系列に並べた点群候補の重心位置のフレーム間での移動距離を求め、移動距離をスキャン周期で割ることで、対応付けた点群候補のフレーム間での移動速度を求め、求めた移動速度の平均値を、対応付けた点群候補の移動速度として算出する。そして、算出した移動速度が図5に示す条件を満たす点群候補を、歩行者を示す点群として特定する。
【0068】
なお、特定部113は、例えばあるフレームのある点群候補に対して最も近接する次のフレーム内の点群候補を同一物体を示す点群候補として対応付ければよい。
【0069】
また、地図データから歩行者を示す点群を抽出する手法として、人の足首の高さをスキャンすることで得られる点群の幾何的特徴量を求めるArras達が開発した手法が知られている。したがって、このArras達が開発した手法を用いて歩行者を示す点群を特定してもよいし、Arras達が開発した手法と上述した歩行者を示す点群を特定する手法とを組み合わせることで歩行者を示す点群を特定してもよい。
【0070】
なお、Arras達が開発した手法は、「Kai O.Arras,Oscar Martinez Mozos,Wolfman Burgard: “Using Boosted Features for the Detection of People in 2D Range Data”,IEEE International Conference on Robotics and Automation,pp.3402-3407. 2007.」に開示されている。
【0071】
図6(A)は地図データ生成部112により生成された地図データの一例を示す模式図であり、(B)は(A)に示す地図データから歩行者を示す点群が抽出された地図データを示す模式図である。
【0072】
図6(A)に示すように、二次元の座標空間内において、複数の測域データがプロットされていることが分かる。そして、上述した歩行者を示す点群を特定する処理を実行した結果、図6(B)に示すように中央部の濃い黒丸で示す3つの点群が歩行者を示す点群として特定されていることが分かる。そして、それ以外の両端にプロットされた点群は、歩行者条件を満たしていないため、障害物として特定されていることが分かる。
【0073】
次に、投票部114は、地図データが示す二次元の座標空間を格子状に区画することで投票空間を生成する(ステップS5)。
【0074】
次に、投票部114は、ステップS3で生成した各地図データにおいて、歩行者を示す点群を構成する測域データについては、投票値を1として投票空間の各格子に投票すると共に、障害物を示す点群を構成する測域データについては、投票値を−1として投票空間の各格子に投票する(ステップS6)。
【0075】
図7(A)は投票空間の分解能程度に分解能が低くされた地図データを示し、(B)は測域データが投票された投票空間を示している。
【0076】
図7(B)においては、グレーの色が濃くなるにつれて安全率が高いことを示し、黒色は安全率が負の値であることを示している。また、図7(B)においては、各格子の大きさは10(cm)四方とされている。
【0077】
図7(A)において歩行者を示す測域データD1は、図7(B)において格子K1に位置するため、投票値が1とされて格子K1に投票されている。したがって、投票部114は、格子K1を中心として二次元ガウス分布関数を当てはめ、格子K1の投票値である1を、当てはめた二次元ガウス分布関数に従って変化させ、格子K1の周囲の格子の投票値を設定し、設定した投票値で周囲の格子に投票する。
【0078】
ここで、二次元ガウス分布関数を当てはめるのは、歩行者の胴体の領域も安全であると考えたからである。つまり、測域センサ1は、地上から歩行者の膝下程度の高さの水平面上においてレーザビームを走査しているため、歩行者を示す点群のサイズは、歩行者の膝下周りのサイズを有することになる。したがって、二次元ガウス分布関数を当てはめて、投票する格子領域に広がりを持たせることで、歩行者の胴体のサイズを考慮に入れた投票を行うことができる。よって、二次元ガウス分布関数の半値幅としては、中心となる格子から人間の胴回りの半径程度(例えば20cm)の領域内に含まれる格子が投票されるような値を採用することが好ましい。
【0079】
例えば、図7(B)においては、格子K1を中心として格子K1を除く格子3個分の半径の円状の領域R1内に位置する各格子が投票されている。また、領域R1内の各格子の投票値は格子K1の投票値である1をガウス関数に従って変化させた値が設定されている。よって、領域R1において格子K1から離れる格子ほど投票値が低くなっている。
【0080】
このようにして、投票部114は、ステップS3で作成した複数枚の地図データに含まれる各測域データを図7(B)に示す1枚の投票空間に投票していく。また、障害物を示す点群を構成する測域データについては、投票値を−1として投票を行う。そして、歩行者及び障害物を示す点群を構成する測域データについては、二次元ガウス分布関数に従って周囲の格子にも投票を行う。
【0081】
次に、安全率算出部115は、各格子において、投票部114が投票した投票値の合計値を求め、求めた合計値を各格子の安全率として算出する(ステップS7)。例えば、図7(B)に示す格子K1においては、図7(A)に示す測域データD1を投票する際に設定された投票値と測域データD1の周囲に位置する測域データD2を投票する際に設定された投票値とによって投票されることになる。そのため、これらの測域データD1が投票される際に格子K1に対して投票された投票値の合計値が格子K1の安全率として算出されることになる。
【0082】
これにより、同じ領域を複数の歩行者が通過すると、その度に安全率が増加することになる。つまり、より多くの歩行者が通過する領域ほど、安全率が高い領域になる。なお、安全率の値には上限値を設けてもよい。
【0083】
次に、安全率算出部115は、ステップS1にてGPSセンサ8により測定された位置データと、方位センサ3により測定された方位データとを用いて投票空間に設定された第1及び第2の座標軸をグローバル座標系に変換する(ステップS8)。
【0084】
具体的には、安全率算出部115は、GPSセンサ8により測定された位置データが、移動システムの現在位置に相当する基準点RP(図7(B)参照)を示し、かつ、第1の座標軸Z1が経度方向を示し、第2の座標軸Z2が緯度方向を示すように、位置データ及び方位データを用いて、元の移動安全領域地図データに設定されていた第1の座標軸及び第2座標軸をグローバル座標系に座標変換する。これにより、図7(B)に示す第1の座標軸Z1は経度方向を向き、第2の座標軸Z2は緯度方向を向くことになり、移動安全領域地図データ内の各格子はグローバル座標系、つまり経度成分及び緯度成分で表されることになる。
【0085】
また、障害物を示す点群を構成する測域データD3は、格子K2に位置するため、格子K2に投票されることになるが、測域データD3は障害物を示す点群を構成する測域データであるため、格子K2の投票値は−1となる。また、障害物についても格子K2を中心として二次元ガウス分布関数が適用されるため、格子K2の周囲の格子にも投票される。なお、障害物について適用する二次元ガウス分布関数については、半値幅を歩行者について適用する二次元ガウス分布関数よりも小さくしてもよい。以上の処理によって、図7(B)に示すような移動安全領域地図データが生成される(ステップS9)。
【0086】
次に、探索部116は、安全率算出部115により生成された移動安全領域地図データにスタート位置を示す格子とゴール位置を示す格子とを設定し、スタート位置を示す格子からゴール位置を示す格子までの安全かつ最短な経路を探索する(ステップS10)。
【0087】
図8は、探索部116により探索された経路の一例を示した模式図である。なお、図8においては、黒色の線が探索された経路を示している。探索部116は、スタート位置を示す格子SKからゴール位置を示す格子GKまでの総コストf(n)を計算し、総コストf(n)が最小となるような経路を探索する。なお、総コストf(n)は式(1)で定義される。
【0088】
【数1】

【0089】
但し、h(n)はある格子nから格子GKまでのコストの推定値であり、格子nから格子GKまでの直線距離D(n,goal)により規定される。g(n)は格子SKから格子nまでの各格子のコストを足し合わせたものである。各格子のコストは隣接する格子との直線距離D(i,i+1)に比例し、格子i+1の安全率αi+1に反比例する。そして、探索部116は、格子SKからf(n)が小さくなるように探索していき、格子GKにたどり着いた時に得られる経路が最適経路となる。
【0090】
具体的には、探索部116は、格子SKを始めの注目格子として設定し、注目格子と注目格子に隣接する例えば8個の格子とのそれぞれのコストを算出し、算出したコストが最小となる格子を次の注目格子として設定する処理を繰り返すことで経路を探索する。
【0091】
ここで、注目格子をCK、隣接する8個の格子のうちいずれか1つの格子をNKとすると、注目格子CKと格子NKとのコストは、D(CK,NK)/αNK+D(NK,GK)により与えられる。そして、格子NKのうちコストが最小となる格子が次の注目格子CKとして設定される。なお、D(CK,NK)としては、例えば、注目格子CKと格子NKとの重心同士を結ぶ直線距離を採用することができる。D(NK,GK)としては、例えば、格子NKと格子GKとの重心同士を結ぶ直線距離を採用することができる。
【0092】
また、注目格子CKに隣接する8個の格子の全てをコストの算出対象とすることなく、8個の格子のうち、過去に設定された注目格子CKにおいてコストの算出対象とされた格子については、コストの算出対象から除外するようにしてもよい。
【0093】
これにより最適経路として図8に示すように、経路の距離も考慮した上で、安全率の高い領域を通過するような経路を探索することができる。また、より多くの歩行者が通過した領域が経路として選択されるため、複数の経路が存在する場合にも最適な経路を求めることができる。
【0094】
次に、探索した経路にしたがって、移動システムが実際に移動する際の処理について説明する。移動システムは、GPSセンサ8と方位センサ3とによって、常に自己位置(x,y,θ)を推定している。但し、xは緯度成分、yは経度成分、θは移動システムの方位を示している。まず、移動システムを停止させた状態で測域センサ1による歩行者認識と移動安全領域地図データの生成を行う。そして、安全率が記録された格子が一定数を超えると、生成された移動安全領域地図データと自己位置とを基に、目的地までの経路を探索する。これらの処理については上述した。そして、移動制御部117は、推定した自己位置が探索した経路から外れないように移動システムを移動させる。
【0095】
なお、生成した移動安全領域地図データの外にゴール位置が設定されることもある。この場合、経路探索部2は、生成済みの移動安全領域地図データ内において、ゴール位置に最も近い位置をサブゴール位置として設定し、設定したサブゴール位置までの経路を探索し、設定したサブゴール位置まで移動システムを移動させればよい。
【0096】
そして、移動システムがサブゴール位置に到達すると、経路探索部2は、再び、移動安全領域地図データを生成し、生成した移動安全領域地図データ内に設定したゴール位置が存在する場合は、ゴール位置までの経路を探索し、移動システムをそのゴール位置まで移動させればよい。
【0097】
一方、生成した移動安全領域地図データ内に設定したゴール位置が存在しない場合は、上述したようにサブゴール位置を設定し、サブゴール位置まで、移動システムを移動させればよい。そして、経路探索部2は、この処理を繰り返し実行することで、移動システムを目的とするゴール位置に到達させればよい。
【0098】
図9は、探索部116により探索された経路に沿って移動システムが移動する際の処理を示すフローチャートである。まず、移動制御部117は、左モータ駆動部9及び右モータ駆動部10に指示信号を出力し、左モータM1及び右モータM2の駆動を開始させる(ステップS21)。
【0099】
次に、取得部111は、GPSセンサ8から位置データを取得すると共に、方位センサ3から方位データを取得する(ステップS22でYES)。ここで、取得部111は、一定の時間間隔で位置データ及び方位データを取得する。一方、取得部111により位置データ及び方位データが取得されない場合(ステップS22でNO)、処理がステップS25に進められる。
【0100】
次に、移動制御部117は、移動システムの進行方向を変更させる必要があるか否かを判定する(ステップS23)。この場合、移動制御部117は、取得部111により取得された位置データと方位データとから、移動システムの進行方向を特定し、特定した進行方向が探索された経路の方向からずれる場合は、進行方向が探索された経路の方向を向くように左右モータM1,M2の回転速度を設定するための指示信号をモータ制御部11に出力する(ステップS24)。
【0101】
一方、移動制御部117は、移動システムの進行方向が、探索された経路の方向からずれない場合(ステップS23でNO)、処理をステップS25に進める。
【0102】
次に、移動制御部117は、取得部111により取得された位置データを用いて、移動システムがゴール位置に到着しているか否かを判定し、ゴール位置に到着していない場合(ステップS25でNO)、処理をステップS22に戻し、ステップS22〜S25の処理を繰り返す。一方、移動制御部117は、移動システムがゴール位置に到着したと判定した場合(ステップS25でYES)、左モータM1及び右モータM2を停止させ(ステップS26)、処理を終了する。
【0103】
次に、本移動システムの手法の有効性を検証するために、屋外環境で行われたナビゲーション実験について説明する。このナビゲーション実験では約50(m)先の地点をゴール位置として設定し、経路の途中に危険領域を想定した障害物領域を設けた。ナビゲーション実験を行った結果、歩行者を認識することによって、移動システムの移動安全領域地図データを生成することができた。図10は、ナビゲーション実験によって得られた移動安全領域地図データと、探索した経路と、移動システムの走行経路とを示している。また、図11(A)〜(D)は、走行中の移動システムの様子を示した図である。なお、図11(A)〜(D)は、それぞれ、図10に示す「1」,「2」,「3」,「4」の位置で移動システムを撮影したものである。
【0104】
図10では、やや色の濃い(淡いグレー色の)線が安全率の高い領域を示し、上下両側に点在する線が障害物の領域を示し、線L1が探索された経路を示し、線L2が移動システムの走行経路を示し、×印はサブゴール位置を示している。
【0105】
図10に示すように、移動ロボットが移動できる安全率の高い領域が示された移動安全領域地図データを生成することができ、生成した移動安全領域地図データをもとに経路探索を実行することで、測域センサ1では測定が困難な障害物が回避するように移動システムを走行させることができた。また、移動システムはサブゴール位置に停止して、移動安全領域地図データの拡大とナビゲーションを繰り返すことで、最終的に離れた場所にあるゴール位置までたどり着くことができた。
【0106】
このように、本移動システムでは、歩行者の軌跡情報を用いることで、動的な環境でも状況に応じて安全な経路で移動システムを移動させることができる。また、上記のナビゲーション実験からも分かるように、測域センサ1で測定が困難な障害物が存在する場合でも、歩行者の軌跡情報を用いることで自動的に移動システムが障害物を回避する経路を探索することができる。
【符号の説明】
【0107】
1 測域センサ
2 経路探索部
3 方位センサ
8 GPSセンサ
9 左モータ駆動部
10 右モータ駆動部
11 モータ制御部
111 取得部
112 地図データ生成部
113 特定部
114 投票部
115 安全率算出部
116 探索部
117 移動制御部
121 地図データ記憶部
122 移動安全領域地図データ記憶部

【特許請求の範囲】
【請求項1】
周囲に存在する物体までの位置を示す測域データを取得する取得手段と、
前記取得手段により取得された測域データを二次元の座標空間にプロットすることで、前記物体の位置を示す2次元の地図データを生成する地図データ生成手段と、
前記地図データから周囲に存在する各物体を示す点群を抽出し、抽出した点群のうち所定の歩行者条件を満たしている点群を、歩行者を示す点群として特定する特定手段と、
前記地図データが示す二次元の座標空間を格子状に区画することで投票空間を生成し、生成した投票空間を構成する各格子に、前記特定手段により特定された歩行者を示す点群を構成する各測域データを投票する投票手段と、
前記投票手段による投票結果が高い格子ほどに、安全率が高くなるように各格子の安全率を算出する安全率算出手段と、
前記安全率が算出された投票空間において、所定のスタート位置を示す格子と所定のゴール位置を示す格子との距離が最短となり、かつ、前記安全率が最も高くなるような経路を所定のアルゴリズムを用いて探索する探索手段とを備えることを特徴とする経路探索装置。
【請求項2】
前記特定手段は、点群の移動速度及び形状を前記歩行者条件として採用することを特徴とする請求項1記載の経路探索装置。
【請求項3】
前記歩行者条件における点群の形状は、点群を構成する点の個数及び点群の幅を含むことを特徴とする請求項2記載の経路探索装置。
【請求項4】
前記測域データは、地面からの高さが歩行者の膝下の高さとなるように水平方向に向けてレーザビームを照射することで測定されたものであり、
前記投票手段は、歩行者を示す点群を構成する測域データが投票された格子を中心として当該格子の投票値を所定の二次元分布関数に従って変化させることで周囲の格子の投票値を設定することを特徴とする請求項1〜3のいずれかに記載の経路探索装置。
【請求項5】
前記特定手段は、前記歩行者条件を満たさない点群を障害物を示す点群として特定し、
前記投票手段は、前記歩行者を示す点群の測域データについては投票値を正の値にして投票し、前記障害物を示す点群を構成する測域データについては投票値を負の値にして投票することを特徴とする請求項4記載の経路探索装置。
【請求項6】
前記探索手段は、A*アルゴリズムを用いて経路を探索することを特徴とする請求項1〜5のいずれかに記載の経路探索装置。
【請求項7】
GPSセンサと方位センサとを更に備え、
前記安全率算出手段は、前記GPSセンサにより測定された自己の現在位置を示す位置データと前記方位センサにより測定された方位データとを基に、前記投票空間の座標系をグローバル座標系に変換し、
前記探索手段は、前記GPSセンサにより測定された自己の現在位置を示す格子を前記投票空間に設定し、設定した現在位置を示す格子を前記スタート位置とすることで、前記経路を探索することを特徴とする請求項1〜6のいずれかに記載の経路探索装置。
【請求項8】
請求項1〜7のいずれかに記載の経路探索装置と、
タイヤ部と、
前記タイヤ部を駆動するためのタイヤ駆動手段とを備え、
前記経路探索装置は、前記経路探索装置により探索された経路に沿って移動するように前記タイヤ駆動手段を駆動させることを特徴とする移動システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−59043(P2011−59043A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−211464(P2009−211464)
【出願日】平成21年9月14日(2009.9.14)
【出願人】(504143441)国立大学法人 奈良先端科学技術大学院大学 (226)
【Fターム(参考)】