【解決手段】移動体システム(351)は、自律的に移動することが可能な移動体(101)と、移動体が移動する経路を生成する運行管理装置(251)とを有する。移動体は位置推定装置から出力された位置情報を参照しながら駆動装置を制御して自律的に移動することが可能である。運行管理装置は、空間内の複数の位置の各々と複数の位置の各々における信頼度とを関連付けた信頼度地図(205b)を記憶した記憶装置(203)と、信頼度地図データを参照して信頼度が予め定められた信頼度閾値以上である高信頼度領域(94)を決定し、高信頼度領域を通過する経路を生成する演算回路(207)とを有する。移動体は、生成された経路に従って移動体を移動させる。
前記記憶装置は、前記空間内の複数の位置の各々と前記複数の位置の各々における前記信頼度の時間的な変化の大きさとを関連付けた変化地図データをさらに記憶しており、
前記演算回路は、
前記変化地図データを参照して、前記信頼度の時間的な変化の大きさが予め定められた変化閾値以上である、高変化量領域を決定し、
前記高信頼度領域を通過し、かつ、前記高変化量領域を避ける経路を生成する、請求項1から4のいずれかに記載の移動体システム。
前記地図作成装置の前記演算回路は、前記空間内の複数の位置の各々と前記複数の位置の各々における前記信頼度の時間的な変化の大きさとを関連付けた変化地図データをさらに生成し、前記変化地図データを前記記憶装置に記憶する、請求項7から9のいずれかに記載の地図作成システム。
前記変化地図データでは、前記空間内の複数の単位領域の各位置と前記各位置における信頼度の変化の大きさとが関連付けられている、請求項10に記載の地図作成システム。
自律的に移動することが可能な少なくとも1つの移動体と、前記少なくとも1つの移動体が移動する経路を生成する運行管理装置とを有する移動体システムにおいて、前記運行管理装置の演算回路によって実行されるコンピュータプログラムであって、
前記少なくとも1つの移動体は、
前記移動体を移動させる駆動装置と、
周囲の空間を繰り返しスキャンしてスキャンごとにセンサデータを出力する外界センサと、
前記センサデータと予め用意された環境地図データとを照合して、照合結果に基づき、前記移動体の位置および姿勢を示す位置情報、および前記センサデータと前記環境地図データとが一致した程度を示す信頼度を出力する位置推定装置と、
前記位置推定装置から出力された前記位置情報を参照しながら前記駆動装置を制御して、前記移動体を移動させるコントローラと、
前記運行管理装置と通信する第1通信回路と
を備え、
前記運行管理装置は、
第2通信回路と、
空間内の複数の位置の各々と前記複数の位置の各々における信頼度とを関連付けた信頼度地図データを記憶した記憶装置と、
前記演算回路と
を備え、
前記コンピュータプログラムは前記演算回路に、
前記記憶装置から前記信頼度地図データを読み出させ、
前記信頼度地図データを参照して前記信頼度が予め定められた信頼度閾値以上である高信頼度領域を決定させ、
前記高信頼度領域を通過する経路を生成させ、
前記第2通信回路を介して生成した前記経路を前記少なくとも1つの移動体に送信させる、コンピュータプログラム。
少なくとも1つの移動体と、前記少なくとも1つの移動体を移動させるための地図データを作成する地図作成装置とを有する地図作成システムにおいて、前記地図作成装置の演算回路によって実行されるコンピュータプログラムであって、
前記少なくとも1つの移動体は、
前記移動体を移動させる駆動装置と、
周囲の空間を繰り返しスキャンしてスキャンごとにセンサデータを出力する外界センサと、
前記センサデータと予め用意された環境地図データとを照合して、照合結果に基づき、前記移動体の位置および姿勢を示す位置情報、および前記センサデータと前記環境地図データとが一致した程度を示す信頼度を出力する位置推定装置と、
前記位置推定装置から出力された前記位置情報を参照しながら前記駆動装置を制御して、前記移動体を移動させるコントローラと、
前記位置情報および前記信頼度の組を送信する第1通信回路と
を備え、
前記地図作成装置は、前記第2通信回路と、前記演算回路と、前記記憶装置とを備え、
前記コンピュータプログラムは前記演算回路に、
第2通信回路を介して前記第1通信回路から前記位置情報および前記信頼度の組を受信させ、
空間内の各位置と前記信頼度とを関連付けた信頼度地図データを生成させ、
前記記憶装置に前記信頼度地図データを記憶させる、
コンピュータプログラム。
【発明を実施するための形態】
【0012】
<用語>
本開示の実施形態を説明する前に、本明細書において使用する用語の定義を説明する。
【0013】
「無人搬送車」(AGV)とは、本体に人手または自動で荷物を積み込み、指示された場所まで自動走行し、人手または自動で荷卸しをする無軌道車両を意味する。「無人搬送車」は、無人牽引車および無人フォークリフトを含む。
【0014】
「無人」の用語は、車両の操舵に人を必要としないことを意味しており、無人搬送車が「人(たとえば荷物の積み下ろしを行う者)」を搬送することは除外しない。
【0015】
「無人牽引車」とは、人手または自動で荷物の積み込み荷卸しをする台車を牽引して、指示された場所まで自動走行する無軌道車両である。
【0016】
「無人フォークリフト」とは、荷物移載用のフォークなどを上下させるマストを備え、フォークなどに荷物を自動移載し指示された場所まで自動走行し、自動荷役作業をする無軌道車両である。
【0017】
「無軌道車両」とは、車輪と、車輪を回転させる電気モータまたはエンジンを備える移動体(vehicle)である。
【0018】
「移動体」とは、人または荷物を載せて移動する装置であり、移動のための駆動力(traction)を発生させる車輪、二足または多足歩行装置、プロペラなどの駆動装置を備える。本開示における「移動体」の用語は、狭義の無人搬送車のみならず、モバイルロボット、サービスロボット、およびドローンを含む。
【0019】
「自動走行」は、無人搬送車が通信によって接続されるコンピュータの運行管理システムの指令に基づく走行と、無人搬送車が備える制御装置による自律的走行とを含む。自律的走行には、無人搬送車が所定の経路に沿って目的地に向かう走行のみならず、追尾目標に追従する走行も含まれる。また、無人搬送車は、一時的に作業者の指示に基づくマニュアル走行を行ってもよい。「自動走行」は、一般には「ガイド式」の走行および「ガイドレス式」の走行の両方を含むが、本開示では「ガイドレス式」の走行を意味する。
【0020】
「ガイド式」とは、誘導体を連続的または断続的に設置し、誘導体を利用して無人搬送車を誘導する方式である。
【0021】
「ガイドレス式」とは、誘導体を設置せずに誘導する方式である。本開示の実施形態における無人搬送車は、自己位置推定装置を備え、ガイドレス式で走行することができる。
【0022】
「自己位置推定装置」は、レーザレンジファインダなどの外界センサによって取得されたセンサデータに基づいて環境地図上における自己位置を推定する装置である。
【0023】
「外界センサ」は、移動体の外部の状態をセンシングするセンサである。外界センサには、たとえば、レーザレンジファインダ(測域センサともいう)、カメラ(またはイメージセンサ)、LIDAR(Light Detection and Ranging)、ミリ波レーダ、および磁気センサがある。
【0024】
「内界センサ」は、移動体の内部の状態をセンシングするセンサである。内界センサには、たとえばロータリエンコーダ(以下、単に「エンコーダ」と称することがある)、加速度センサ、および角加速度センサ(たとえばジャイロセンサ)がある。
【0025】
「SLAM(スラム)」とは、Simultaneous Localization and Mappingの略語であり、自己位置推定と環境地図作成を同時に行うことを意味する。
【0026】
<例示的な実施形態>
以下、添付の図面を参照しながら、本開示による移動体および移動体管理システムの一例を説明する。なお、必要以上に詳細な説明は省略する場合がある。たとえば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。本発明者らは、当業者が本開示を十分に理解するために添付図面および以下の説明を提供する。これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【0027】
本開示では、「移動体管理システム」を説明する。「移動体管理システム」は2種類のシステム、すなわち地図作成システムおよび移動体システム、を包括する概念である。地図作成システムおよび移動体システムはいずれも構成要素として移動体を含むが、各システムにおける移動体の動作は異なっている。
【0028】
地図作成システムで行われる移動体の動作(第1の動作)は、後述の信頼度地図の作成に必要なデータを収集して地図作成装置に送信する動作である。移動体システムで行われる移動体の動作(第2の動作)は、外界センサを用いて取得したセンサデータと予め作成されている地図データとを照合して自己位置を推定しながら、運行管理装置によって生成された経路に沿って自律的に移動する動作である。そのような移動体の例は、無人搬送車(例えば後述の
図6)である。
【0029】
図1は、移動体管理システム100(地図作成システム301および移動体システム351)の概略構成を示すブロック図である。移動体管理システム100は、管理装置50と、移動体101とを有している。管理装置50は、地図作成システム301では地図作成装置201として動作し、移動体システム351では運行管理装置251として動作する。ハードウェア構成上は、地図作成装置201と運行管理装置251とは同じである。
【0030】
地図作成システム301および移動体システム351は異なる状況・場面で利用され得るため、本来は別個独立の機器群によって構成され得る。しかしながら、同じ機器群が、あるタイミングでは一方のシステムとして動作し、他のタイミングでは他方のシステムとして動作してもよい。移動体の上述の第1の動作および第2の動作は択一的に行われるとは限られない。例えば移動体が既存の環境地図を用いて上述の第2の動作を行っている際、推定した現在の位置情報、および、環境地図と実際に取得されたセンサデータとが一致した程度(信頼度)の組を地図作成装置に送信することができる。なお、信頼度の単位は、例えば「%」である。
【0031】
まず
図1および
図2Aを参照しながら地図作成システム301の構成および動作を説明する。
【0032】
移動体101は、外界センサ103と、位置推定装置105と、コントローラ107と、駆動装置109と、通信回路111とを備えている。ある実施形態では位置推定装置105およびコントローラ107は、それぞれ別個の半導体集積回路チップであるが、他の実施形態では、位置推定装置105およびコントローラ107は1つの半導体集積回路チップであり得る。
【0033】
駆動装置109は、移動体101を移動させる機構を備えている。駆動装置109は、例えば少なくとも1台の駆動用電気モータ(以下、単に「モータ」と称する)、および、当該モータを制御するモータ制御回路を備え得る。
【0034】
外界センサ103は、例えばレーザレンジファインダ、カメラ、レーダ、またはLIDARなどの、外部環境をセンシングするセンサである。外界センサ103は、所定の角度範囲で周囲の空間を繰り返しスキャンしてセンサデータを出力する。
【0035】
位置推定装置105は、不図示の記憶装置に地図データを格納している。地図データは、例えば、移動体101の動作開始前に取得されたセンサデータを用いて生成されている。センサデータは、実際に移動体101が空間を移動しながら取得され得る。
【0036】
位置推定装置105は、外界センサ103から出力されたセンサデータと当該地図データとを照合して、照合結果に基づき移動体の位置および姿勢を推定する。位置推定装置105は、推定した移動体の位置および姿勢(orientation)を示す情報(本明細書において「位置情報」と称する)を順次出力する。位置推定装置105は、センサデータと地図データとを照合した際、両者が一致した程度を示す信頼度を出力する。信頼度は、推定された現在の位置情報とともに1組のデータとして出力され得る。
【0037】
コントローラ107は、例えば、半導体集積回路であるマイクロコントローラユニット(マイコン)である。コントローラ107は、信頼度が所定の基準値以上であれば、位置推定装置105から出力された位置情報を参照しながら駆動装置109を制御して、移動体101を移動させる。信頼度が所定の基準値未満であれば、コントローラ107は位置情報に従った移動に代えて、例えば後述のオドメトリデータを利用した走行に切り替えてもよい。
【0038】
地図作成システム301において利用される移動体101は、位置情報および信頼度を1組としたデータを、地図作成装置201に送信する。それにより地図作成装置201は、位置ごとに信頼度を記述した「信頼度地図」を作成することができる。地図作成装置201はさらに、位置ごとに信頼度の時間的な変化の大きさを関連付けた「変化地図」を作成することもできる。信頼度地図および変化地図は、移動体システム351において運行管理装置251が移動体101の移動経路を決定する際に利用され得る。詳細は後述する。
【0039】
地図作成システム301で利用される地図作成装置201は、記憶装置203と、演算回路207と、通信回路209とを有する。
【0040】
記憶装置203は、ハードディスクドライブなどの磁気記憶装置、ソリッドステートドライブなどの半導体記憶装置、光ディスクドライブなどの光学的記録媒体などの記憶装置である。記憶方式は任意である。
【0041】
演算回路207は、半導体集積回路であるマイクロコントローラユニット(マイコン)である。
【0042】
通信回路209は、無線または有線で通信を行う回路である。無線で通信を行う場合、通信回路209は、例えばWi−Fi(登録商標)規格に準拠した通信を行うための、アンテナ、高周波回路等を含む通信チップであり得る。有線で通信を行う場合、通信回路209は、例えばイーサネット(登録商標)規格に準拠した通信を行うための、インタフェース装置および半導体集積回路によって構成された通信コントローラを含む。
【0043】
演算回路207は、通信回路209を介して移動体101から受信した位置情報および信頼度の組を利用して、空間内の各位置と信頼度とを関連付けた信頼度地
図205bを生成する。演算回路207は、生成した信頼度地
図205bを記憶装置203に格納する。
【0044】
図1に示す例では、記憶装置203は環境地
図205aおよび変化地
図205cを記憶している。演算回路207が環境地
図205aを生成することは必須ではない。例えば地図作成装置201は、他の装置によって作成された環境地
図205aを記憶装置203に記憶していてもよい。また地図作成装置201は、信頼度地
図205bの生成に加えて、必要に応じて変化地
図205cを生成し、記憶装置203に記憶してもよい。
【0045】
なお、演算回路207によって生成され、記憶装置203に格納される実体は各地図の「データ」である。しかしながら説明の便宜上、「データ」という文言を省略することがある。
【0046】
図2Aは、地図作成システム301として機能する移動体101および地図作成装置201の各動作の概要を示すフローチャートである。図中のステップS10、S12およびS14が移動体101の動作であり、ステップS20およびS22が地図作成装置201の動作である。移動体101および地図作成装置201は別個独立のコンピュータプログラムによって動作する。
【0047】
ステップS10において移動体101の外界センサ103は、周囲の空間を繰り返しスキャンしてスキャン毎に得られたセンサデータを出力する。ステップS12において位置推定装置105はセンサデータと環境地図データとを照合して、推定した位置情報と信頼度の組を出力する。ステップS14において、コントローラ107は通信回路111を介して地図作成装置201に位置情報と信頼度の組を送信する。
【0048】
地図作成装置201の演算回路207は、通信回路209を介して移動体101から得られた位置情報と信頼度の組を次々と受け取る。
【0049】
ステップS20において、通信回路209は位置情報と信頼度の組のデータを次々と受け取り、演算回路207に渡す。ステップS22において、演算回路207は、受け取った空間内の各位置と信頼度とを関連付けて信頼度地図を生成する。ステップS22において演算回路207は、生成した信頼度地図のデータを記憶装置203に記憶する。
【0050】
このようにして得られた信頼度地図を参照すれば、空間内の各位置の信頼度の高低を把握することができる。信頼度が相対的に高い位置では、移動体101は自己位置を比較的高精度で推定することができる。一方、信頼度が相対的に低い位置では、移動体101の自己位置推定精度が相対的に低くなる可能性があることが分かる。
【0051】
なお、ステップS10、S12およびS14の動作主体は異なっているが、実際には、例えば1つの信号処理回路またはコンピュータ(図示せず)が外界センサ103、位置推定装置105およびコントローラ107を制御して動作させていると考えることができる。
図2Aの移動体101の動作は、そのような1つの信号処理回路またはコンピュータが実行するコンピュータプログラムの手順であり得る。
【0052】
またステップS20、S22およびS24についても同様に、例えば1つの信号処理回路またはコンピュータ(図示せず)が記憶装置203、演算回路207および通信回路209を制御して動作させていると考えることができる。
図2Aの地図作成装置201の動作は、そのような1つの信号処理回路またはコンピュータが実行するコンピュータプログラムの手順であり得る。
【0053】
地図作成装置201と運行管理装置251とが別個の装置として存在する場合、地図作成装置201の演算回路207は、生成した信頼度地図および/または変化地
図205cのデータを、通信回路209を介して運行管理装置251に送信してもよい。
【0054】
次に、
図1および
図2Bを参照しながら移動体システム351の構成および動作を説明する。
【0055】
移動体システム351における移動体101の構成は、地図作成システム301における移動体101の構成と同じである。従って移動体101の再度の説明は省略する。移動体システム351における移動体101固有の動作は以下に説明する。
【0056】
移動体システム351で利用される運行管理装置251もまた、記憶装置203、演算回路207および通信回路209を有する。運行管理装置251のハードウェア構成は地図作成装置201のハードウェア構成と同じであってよい。また、記憶装置203には環境地
図205a、信頼度地
図205bおよび変化地
図205cがそれぞれ記憶されている。ただし変化地
図205cを記憶することは必須ではない。
【0057】
図2Bは、移動体システム351として機能する移動体101および運行管理装置251の各動作の概要を示すフローチャートである。
【0058】
ステップS30において、運行管理装置251の演算回路207は、記憶装置203から信頼度地
図205bを読み出す。ステップS32において演算回路207は、信頼度地図データを参照して信頼度が予め定められた信頼度閾値以上である高信頼度領域を決定する。ステップS34において演算回路207は、高信頼度領域を通過する経路を生成する。ステップS36において演算回路207は、通信回路209を介して生成した経路のデータを送信する。
【0059】
ステップS40において移動体101のコントローラ107は、通信回路111を介して経路のデータを受け取る。ステップS42において移動体101は、駆動装置109を制御して経路に沿って移動する。
【0060】
図2Bの運行管理装置251の動作は、そのような1つの信号処理回路またはコンピュータが実行するコンピュータプログラムの手順であり得る。また、
図2Bの移動体101の動作は、そのような1つの信号処理回路またはコンピュータが実行するコンピュータプログラムの手順であり得る。
【0061】
高信頼度領域では移動体101は自己位置を比較的高精度で推定することができる。したがって、高信頼度領域を通過する経路に沿って移動する移動体101は、スムーズに運行することができる。
【0062】
以下、移動体が無人搬送車である場合のより具体的な例を説明する。本明細書では、略語を用いて、無人搬送車を「AGV」と記述することがある。なお、以下の説明は、矛盾がない限り、AGV以外の移動体、例えば移動ロボット、ドローン、または有人の車両などにも同様に適用することができる。以下では主として環境地図を単に「地図」と略記することがある。本開示では「地図」は、上述の「信頼度地図」、「変化地図」を包含しないことに留意されたい。
【0063】
(1)システムの基本構成
図3は、本開示による例示的な移動体管理システム100の基本構成例を示している。移動体管理システム100は、少なくとも1台のAGV10と、地図の作成またはAGV10の運行管理を行う管理装置50とを含む。
図3には、ユーザ1によって操作される端末装置20も記載されている。
【0064】
AGV10は、走行に磁気テープなどの誘導体が不要な「ガイドレス式」走行が可能な無人搬送台車である。AGV10は、自己位置推定を行い、推定の結果を端末装置20および管理装置50に送信することができる。AGV10は、管理装置50からの指令に従って移動空間S内を自動走行することが可能である。AGV10は、さらに、人または他の移動体に追従して移動する「追尾モード」で動作することが可能である。
【0065】
管理装置50は、地図作成装置201(
図1)として動作する場合には移動空間Sの地図を作成し、運行管理装置251(
図1)として動作する場合には、各AGV10の位置をトラッキングし、各AGV10の走行を管理する。管理装置50は、コンピュータシステムであり、デスクトップ型PC、ノート型PC、および/または、サーバコンピュータであり得る。管理装置50は、複数のアクセスポイント2を介して、各AGV10と通信する。たとえば、管理装置50は、各AGV10が次に向かうべき位置の座標のデータを各AGV10に送信する。各AGV10は、定期的に、たとえば100ミリ秒ごとに自身の位置および姿勢(orientation)を示すデータを管理装置50に送信する。指示した位置にAGV10が到達すると、管理装置50は、さらに次に向かうべき位置の座標のデータを送信する。AGV10は、端末装置20に入力されたユーザ1の操作に応じて移動空間S内を走行することも可能である。端末装置20の一例はタブレットコンピュータである。典型的には、端末装置20を利用したAGV10の走行は地図作成時に行われ、管理装置50を利用したAGV10の走行は地図作成後に行われる。
【0066】
図4は、3台のAGV10a、10bおよび10cが存在する移動空間Sの一例を示している。いずれのAGVも図中の奥行き方向に走行しているとする。AGV10aおよび10bは天板に載置された荷物を搬送中である。AGV10cは、前方のAGV10bに追従して走行している。なお、説明の便宜のため、
図4では参照符号10a、10bおよび10cを付したが、以下では、「AGV10」と記述する。
【0067】
AGV10は、天板に載置された荷物を搬送する方法以外に、自身と接続された牽引台車を利用して荷物を搬送することも可能である。
図5Aは接続される前のAGV10および牽引台車5を示している。牽引台車5の各足にはキャスターが設けられている。AGV10は牽引台車5と機械的に接続される。
図5Bは、接続されたAGV10および牽引台車5を示している。AGV10が走行すると、牽引台車5はAGV10に牽引される。牽引台車5を牽引することにより、AGV10は、牽引台車5に載置された荷物を搬送できる。
【0068】
AGV10と牽引台車5との接続方法は任意である。ここでは一例を説明する。AGV10の天板にはプレート6が固定されている。牽引台車5には、スリットを有するガイド7が設けられている。AGV10は牽引台車5に接近し、プレート6をガイド7のスリットに差し込む。差し込みが完了すると、AGV10は、図示されない電磁ロック式ピンをプレート6およびガイド7に貫通させ、電磁ロックをかける。これにより、AGV10と牽引台車5とが物理的に接続される。
【0069】
再び
図3を参照する。各AGV10と端末装置20とは、たとえば1対1で接続されてBluetooth(登録商標)規格に準拠した通信を行うことができる。各AGV10と端末装置20とは、1または複数のアクセスポイント2を利用してWi−Fi(登録商標)に準拠した通信を行うこともできる。複数のアクセスポイント2は、たとえばスイッチングハブ3を介して互いに接続されている。
図3には2台のアクセスポイント2a、2bが記載されている。AGV10はアクセスポイント2aと無線で接続されている。端末装置20はアクセスポイント2bと無線で接続されている。AGV10が送信したデータはアクセスポイント2aで受信され、スイッチングハブ3を介してアクセスポイント2bに転送され、アクセスポイント2bから端末装置20に送信される。また、端末装置20が送信したデータは、アクセスポイント2bで受信され、スイッチングハブ3を介してアクセスポイント2aに転送され、アクセスポイント2aからAGV10に送信される。これにより、AGV10および端末装置20の間の双方向通信が実現される。複数のアクセスポイント2はスイッチングハブ3を介して管理装置50とも接続されている。これにより、管理装置50と各AGV10との間でも双方向通信が実現される。
【0070】
(2)環境地図の作成
自己位置を推定しながらAGV10が走行できるようにするため、移動空間S内の地図が作成される。AGV10には位置推定装置およびレーザレンジファインダが搭載されており、レーザレンジファインダの出力を利用して地図を作成できる。
【0071】
AGV10は、ユーザの操作によってデータ取得モードに遷移する。データ取得モードにおいて、AGV10はレーザレンジファインダを用いたセンサデータの取得を開始する。レーザレンジファインダは周期的にたとえば赤外線または可視光のレーザビームを周囲に放射して周囲の空間Sをスキャンする。レーザビームは、たとえば、壁、柱等の構造物、床の上に置かれた物体等の表面で反射される。レーザレンジファインダは、レーザビームの反射光を受けて各反射点までの距離を計算し、各反射点の位置が示された測定結果のデータを出力する。各反射点の位置には、反射光の到来方向および距離が反映されている。測定結果のデータは「計測データ」または「センサデータ」と呼ばれることがある。
【0072】
位置推定装置は、センサデータを記憶装置に蓄積する。移動空間S内のセンサデータの取得が完了すると、記憶装置に蓄積されたセンサデータが外部装置に送信される。外部装置は、たとえば信号処理プロセッサを有し、かつ、地図作成プログラムがインストールされたコンピュータである。
【0073】
外部装置の信号処理プロセッサは、スキャンごとに得られたセンサデータ同士を重ね合わせる。信号処理プロセッサが重ね合わせる処理を繰り返し行うことにより、空間Sの地図を作成することができる。外部装置は、作成した地図のデータをAGV10に送信する。AGV10は、作成した地図のデータを内部の記憶装置に保存する。外部装置は、管理装置50であってもよいし、他の装置であってもよい。
【0074】
外部装置ではなくAGV10が地図の作成を行ってもよい。上述した外部装置の信号処理プロセッサが行った処理を、AGV10のマイクロコントローラユニット(マイコン)などの回路が行えばよい。AGV10内で地図を作成する場合には、蓄積されたセンサデータを外部装置に送信する必要が無くなる。センサデータのデータ容量は一般には大きいと考えられる。センサデータを外部装置に送信する必要がないため、通信回線の占有を回避できる。
【0075】
なお、センサデータを取得するための移動空間S内の移動は、ユーザの操作に従ってAGV10が走行することによって実現し得る。たとえば、AGV10は、端末装置20を介して無線でユーザから前後左右の各方向への移動を指示する走行指令を受け取る。AGV10は走行指令にしたがって移動空間S内を前後左右に走行し、地図を作成する。AGV10がジョイスティック等の操縦装置と有線で接続されている場合には、当該操縦装置からの制御信号にしたがって移動空間S内を前後左右に走行し、地図を作成してもよい。レーザレンジファインダを搭載した計測台車を人が押し歩くことによってセンサデータを取得してもよい。
【0076】
なお、
図3および
図4には複数台のAGV10が示されているが、AGVは1台であってもよい。複数台のAGV10が存在する場合、ユーザ1は端末装置20を利用して、登録された複数のAGVのうちから一台のAGV10を選択して、移動空間Sの地図を作成させることができる。
【0077】
地図が作成されると、以後、各AGV10は当該地図を利用して自己位置を推定しながら自動走行することができる。自己位置を推定する処理の説明は後述する。
【0078】
(3)AGVの構成
図6は、本実施形態にかかる例示的なAGV10の外観図である。AGV10は、2つの駆動輪11aおよび11bと、4つのキャスター11c、11d、11eおよび11fと、フレーム12と、搬送テーブル13と、走行制御装置14と、レーザレンジファインダ15とを有する。2つの駆動輪11aおよび11bは、AGV10の右側および左側にそれぞれ設けられている。4つのキャスター11c、11d、11eおよび11fは、AGV10の4隅に配置されている。なお、AGV10は、2つの駆動輪11aおよび11bに接続される複数のモータも有するが、複数のモータは
図6には示されていない。また、
図6には、AGV10の右側に位置する1つの駆動輪11aおよび2つのキャスター11cおよび11eと、左後部に位置するキャスター11fとが示されているが、左側の駆動輪11bおよび左前部のキャスター11dはフレーム12の蔭に隠れているため明示されていない。4つのキャスター11c、11d、11eおよび11fは、自由に旋回することができる。以下の説明では、駆動輪11aおよび駆動輪11bを、それぞれ車輪11aおよび車輪11bとも称する。
【0079】
AGV10は、さらに、障害物を検知するための少なくとも1つの障害物センサ19を備えている。
図6の例では、フレーム12の4隅に4つの障害物センサ19が設けられている。障害物センサ19の個数および配置は、
図6の例とは異なっていてもよい。障害物センサ19は、例えば、赤外線センサ、超音波センサ、またはステレオカメラなどの、距離計測が可能な装置であり得る。障害物センサ19が赤外線センサである場合、例えば一定時間ごとに赤外線を出射し、反射された赤外線が戻ってくるまでの時間を計測することにより、一定距離以内に存在する障害物を検知することができる。AGV10は、少なくとも1つの障害物センサ19から出力された信号に基づいて経路上の障害物を検知したとき、その障害物を回避する動作を行う。
【0080】
走行制御装置14は、AGV10の動作を制御する装置であり、主としてマイコン(後述)を含む集積回路、電子部品およびそれらが搭載された基板を含む。走行制御装置14は、上述した、端末装置20とのデータの送受信、および前処理演算を行う。
【0081】
レーザレンジファインダ15は、たとえば赤外線または可視光のレーザビーム15aを放射し、当該レーザビーム15aの反射光を検出することにより、反射点までの距離を測定する光学機器である。本実施形態では、AGV10のレーザレンジファインダ15は、たとえばAGV10の正面を基準として左右135度(合計270度)の範囲の空間に、0.25度ごとに方向を変化させながらパルス状のレーザビーム15aを放射し、各レーザビーム15aの反射光を検出する。これにより、0.25度ごと、合計1081ステップ分の角度で決まる方向における反射点までの距離のデータを得ることができる。なお、本実施形態では、レーザレンジファインダ15が行う周囲の空間のスキャンは実質的に床面に平行であり、平面的(二次元的)である。しかしながら、レーザレンジファインダ15は高さ方向のスキャンを行ってもよい。
【0082】
AGV10の位置および姿勢(向き)と、レーザレンジファインダ15のスキャン結果とにより、AGV10は、空間Sの地図を作成することができる。地図には、AGVの周囲の壁、柱等の構造物、床の上に載置された物体の配置が反映され得る。地図のデータは、AGV10内に設けられた記憶装置に格納される。
【0083】
一般に、移動体の位置および姿勢は、ポーズ(pose)と呼ばれる。二次元面内における移動体の位置および姿勢は、XY直交座標系における位置座標(x, y)と、X軸に対する角度θによって表現される。AGV10の位置および姿勢、すなわちポーズ(x, y, θ)を、以下、単に「位置」と呼ぶことがある。
【0084】
レーザビーム15aの放射位置から見た反射点の位置は、角度および距離によって決定される極座標を用いて表現され得る。本実施形態では、レーザレンジファインダ15は極座標で表現されたセンサデータを出力する。ただし、レーザレンジファインダ15は、極座標で表現された位置を直交座標に変換して出力してもよい。
【0085】
レーザレンジファインダの構造および動作原理は公知であるため、本明細書ではこれ以上の詳細な説明は省略する。レーザレンジファインダ15によって検出され得る物体の例は、人、荷物、棚、壁である。
【0086】
レーザレンジファインダ15は、周囲の空間をセンシングしてセンサデータを取得するための外界センサの一例である。そのような外界センサの他の例としては、イメージセンサおよび超音波センサが考えられる。
【0087】
走行制御装置14は、レーザレンジファインダ15の測定結果と、自身が保持する地図データとを比較して、自身の現在位置を推定することができる。なお、保持されている地図データは、他のAGV10が作成した地図データであってもよい。
【0088】
図7Aは、AGV10の第1のハードウェア構成例を示している。また
図7Aは、走行制御装置14の具体的な構成も示している。
【0089】
AGV10は、走行制御装置14と、レーザレンジファインダ15と、2台のモータ16aおよび16bと、駆動装置17と、車輪11aおよび11bと、2つのロータリエンコーダ18aおよび18bとを備えている。
【0090】
走行制御装置14は、マイコン14aと、メモリ14bと、記憶装置14cと、通信回路14dと、位置推定装置14eとを有している。マイコン14a、メモリ14b、記憶装置14c、通信回路14dおよび位置推定装置14eは通信バス14fで接続されており、相互にデータを授受することが可能である。レーザレンジファインダ15もまた通信インタフェース(図示せず)を介して通信バス14fに接続されており、計測結果である計測データを、マイコン14a、位置推定装置14eおよび/またはメモリ14bに送信する。
【0091】
マイコン14aは、走行制御装置14を含むAGV10の全体を制御するための演算を行うプロセッサまたは制御回路(コンピュータ)である。典型的にはマイコン14aは半導体集積回路である。マイコン14aは、制御信号であるPWM(Pulse Width Modulation)信号を駆動装置17に送信して駆動装置17を制御し、モータに印加する電圧を調整させる。これによりモータ16aおよび16bの各々が所望の回転速度で回転する。
【0092】
左右のモータ16aおよび16bの駆動を制御する1つ以上の制御回路(たとえばマイコン)を、マイコン14aとは独立して設けてもよい。たとえば、モータ駆動装置17が、モータ16aおよび16bの駆動をそれぞれ制御する2つのマイコンを備えていてもよい。それらの2つのマイコンは、エンコーダ18aおよび18bから出力されたエンコーダ情報を用いた座標計算をそれぞれ行い、所与の初期位置からのAGV10の移動距離を推定してもよい。また、当該2つのマイコンは、エンコーダ情報を利用してモータ駆動回路17aおよび17bを制御してもよい。
【0093】
メモリ14bは、マイコン14aが実行するコンピュータプログラムを記憶する揮発性の記憶装置である。メモリ14bは、マイコン14aおよび位置推定装置14eが演算を行う際のワークメモリとしても利用され得る。
【0094】
記憶装置14cは、不揮発性の半導体メモリ装置である。ただし、記憶装置14cは、ハードディスクに代表される磁気記録媒体、または、光ディスクに代表される光学式記録媒体であってもよい。さらに、記憶装置14cは、いずれかの記録媒体にデータを書き込みおよび/または読み出すためのヘッド装置および当該ヘッド装置の制御装置を含んでもよい。
【0095】
記憶装置14cは、走行する空間Sの地図データM、および、1または複数の走行経路のデータ(走行経路データ)Rを記憶する。地図データMは、AGV10が地図作成モードで動作することによって作成され記憶装置14cに記憶される。走行経路データRは、地図データMが作成された後に外部から送信される。本実施形態では、地図データMおよび走行経路データRは同じ記憶装置14cに記憶されているが、異なる記憶装置に記憶されてもよい。
【0097】
端末装置20がタブレットコンピュータである場合には、AGV10はタブレットコンピュータから走行経路を示す走行経路データRを受信する。このときの走行経路データRは、複数のマーカの位置を示すマーカデータを含む。「マーカ」は走行するAGV10の通過位置(経由点)を示す。走行経路データRは、走行開始位置を示す開始マーカおよび走行終了位置を示す終了マーカの位置情報を少なくとも含む。走行経路データRは、さらに、1以上の中間経由点のマーカの位置情報を含んでもよい。走行経路が1以上の中間経由点を含む場合には、開始マーカから、当該走行経由点を順に経由して終了マーカに至る経路が、走行経路として定義される。各マーカのデータは、そのマーカの座標データに加えて、次のマーカに移動するまでのAGV10の向き(角度)および走行速度のデータを含み得る。AGV10が各マーカの位置で一旦停止し、自己位置推定および端末装置20への通知などを行う場合には、各マーカのデータは、当該走行速度に達するまでの加速に要する加速時間、および/または、当該走行速度から次のマーカの位置で停止するまでの減速に要する減速時間のデータを含み得る。
【0098】
端末装置20ではなく管理装置50(たとえば、PCおよび/またはサーバコンピュータ)がAGV10の移動を制御してもよい。その場合には、管理装置50は、AGV10がマーカに到達する度に、次のマーカへの移動をAGV10に指示してもよい。たとえば、AGV10は、管理装置50から、次に向かうべき目的位置の座標データ、または、当該目的位置までの距離および進むべき角度のデータを、走行経路を示す走行経路データRとして受信する。
【0099】
AGV10は、作成された地図と走行中に取得されたレーザレンジファインダ15が出力したセンサデータとを利用して自己位置を推定しながら、記憶された走行経路に沿って走行することができる。
【0100】
通信回路14dは、たとえば、Bluetooth(登録商標)および/またはWi−Fi(登録商標)規格に準拠した無線通信を行う無線通信回路である。いずれの規格も、2.4GHz帯の周波数を利用した無線通信規格を含む。たとえばAGV10を走行させて地図を作成するモードでは、通信回路14dは、Bluetooth(登録商標)規格に準拠した無線通信を行い、1対1で端末装置20と通信する。
【0101】
位置推定装置14eは、地図の作成処理、および、走行時には自己位置の推定処理を行うことができる。例えば位置推定装置14eは、AGV10の位置および姿勢とレーザレンジファインダのスキャン結果とにより、移動空間Sの地図を作成する。走行時には、位置推定装置14eは、レーザレンジファインダ15からセンサデータを受け取り、また、記憶装置14cに記憶された地図データMを読み出す。レーザレンジファインダ15のスキャン結果から作成された局所的地図データ(センサデータ)を、より広範囲の地図データMとのマッチングを行うことにより、地図データM上における自己位置(x, y, θ)を同定する。位置推定装置14eは、局所的地図データが地図データMに一致した程度を表す「信頼度」のデータを生成する。信頼度は、例えば、取得したセンサデータの総数と、地図データMと一致するセンサデータ数との比率で算出することができる。自己位置(x, y, θ)、および、信頼度の各データは、AGV10から端末装置20または管理装置50に送信され得る。端末装置20または管理装置50は、自己位置(x, y, θ)、および、信頼度の各データを受信して、内蔵または接続された表示装置に表示することができる。
【0102】
本実施形態では、マイコン14aと位置推定装置14eとは別個の構成要素であるとしているが、これは一例である。マイコン14aおよび位置推定装置14eの各動作を独立して行うことが可能な1つのチップ回路または半導体集積回路であってもよい。
図7Aには、マイコン14aおよび位置推定装置14eを包括するチップ回路14gが示されている。以下では、マイコン14aおよび位置推定装置14eが別個独立に設けられている例を説明する。
【0103】
2台のモータ16aおよび16bは、それぞれ2つの車輪11aおよび11bに取り付けられ、各車輪を回転させる。つまり、2つの車輪11aおよび11bはそれぞれ駆動輪である。本明細書では、モータ16aおよびモータ16bは、それぞれAGV10の右輪および左輪を駆動するモータであるとして説明する。
【0104】
移動体10は、さらに、車輪11aおよび11bの回転位置または回転速度を測定するエンコーダユニット18をさらに備えている。エンコーダユニット18は、第1ロータリエンコーダ18aおよび第2ロータリエンコーダ18bを含む。第1ロータリエンコーダ18aは、モータ16aから車輪11aまでの動力伝達機構のいずれかの位置における回転を計測する。第2ロータリエンコーダ18bは、モータ16bから車輪11bまでの動力伝達機構のいずれかの位置における回転を計測する。エンコーダユニット18は、ロータリエンコーダ18aおよび18bによって取得された信号を、マイコン14aに送信する。マイコン14aは、位置推定装置14eから受信した信号だけでなく、エンコーダユニット18から受信した信号を利用して、移動体10の移動を制御してもよい。
【0105】
駆動装置17は、2台のモータ16aおよび16bの各々に印加される電圧を調整するためのモータ駆動回路17aおよび17bを有する。モータ駆動回路17aおよび17bの各々はいわゆるインバータ回路を含む。モータ駆動回路17aおよび17bは、マイコン14aまたはモータ駆動回路17a内のマイコンから送信されたPWM信号によって各モータに流れる電流をオンまたはオフし、それによりモータに印加される電圧を調整する。
【0106】
図7Bは、AGV10の第2のハードウェア構成例を示している。第2のハードウェア構成例は、レーザ測位システム14hを有する点、および、マイコン14aが各構成要素と1対1で接続されている点において、第1のハードウェア構成例(
図7A)と相違する。
【0107】
レーザ測位システム14hは、位置推定装置14eおよびレーザレンジファインダ15を有する。位置推定装置14eおよびレーザレンジファインダ15は、たとえばイーサネット(登録商標)ケーブルで接続されている。位置推定装置14eおよびレーザレンジファインダ15の各動作は上述した通りである。レーザ測位システム14hは、AGV10のポーズ(x, y, θ)を示す情報をマイコン14aに出力する。
【0108】
マイコン14aは、種々の汎用I/Oインタフェースまたは汎用入出力ポート(図示せず)を有している。マイコン14aは、通信回路14d、レーザ測位システム14h等の、走行制御装置14内の他の構成要素と、当該汎用入出力ポートを介して直接接続されている。
【0109】
図7Bに関して上述した構成以外は、
図7Aの構成と共通である。よって共通の構成の説明は省略する。
【0110】
本開示の実施形態におけるAGV10は、図示されていないバンパースイッチなどのセーフティセンサを備えていてもよい。AGV10は、ジャイロセンサなどの慣性計測装置を備えていてもよい。ロータリエンコーダ18aおよび18bまたは慣性計測装置などの内界センサによる測定データを利用すれば、AGV10の移動距離および姿勢の変化量(角度)を推定することができる。これらの距離および角度の推定値は、オドメトリデータと呼ばれ、位置推定装置14eによって得られる位置および姿勢の情報を補助する機能を発揮し得る。
【0111】
(4)地図データ
図8A〜
図8Fは、センサデータを取得しながら移動するAGV10を模式的に示す。ユーザ1は、端末装置20を操作しながらマニュアルでAGV10を移動させてもよい。あるいは、
図7Aおよび
図7Bに示される走行制御装置14を備えるユニット、または、AGV10そのものを台車に載置し、台車をユーザ1が手で押す、または牽くことによってセンサデータを取得してもよい。
【0112】
図8Aには、レーザレンジファインダ15を用いて周囲の空間をスキャンするAGV10が示されている。所定のステップ角毎にレーザビームが放射され、スキャンが行われる。なお、図示されたスキャン範囲は模式的に示した例であり、上述した合計270度のスキャン範囲とは異なっている。
【0113】
図8A〜
図8Fの各々では、レーザビームの反射点の位置が、記号「・」で表される複数の黒点4を用いて模式的に示されている。レーザビームのスキャンは、レーザレンジファインダ15の位置および姿勢が変化する間に短い周期で実行される。このため、現実の反射点の個数は、図示されている反射点4の個数よりも遥かに多い。位置推定装置14eは、走行に伴って得られる黒点4の位置を、たとえばメモリ14bに蓄積する。AGV10が走行しながらスキャンを継続して行うことにより、地図データが徐々に完成されてゆく。
図8Bから
図8Eでは、簡略化のためスキャン範囲のみが示されている。当該スキャン範囲は例示であり、上述した合計270度の例とは異なる。
【0114】
地図作成装置201(
図1)として動作する管理装置50は、地図作成に必要な量のセンサデータを取得すると、そのセンサデータに基づいて地図を作成する。なお、地図作成装置201に代えて、AGV10内のマイコン14aが地図を作成してもよい。地図作成装置201またはマイコン14aは、センサデータを取得しながらリアルタイムで地図を作成してもよい。
【0115】
図8Fは、完成した地
図40の一部を模式的に示す。
図8Fに示される地図では、レーザビームの反射点の集まりに相当する点群(Point Cloud)によって自由空間が仕切られている。地図の他の例は、物体が占有している空間と自由空間とをグリッド単位で区別する占有格子地図である。地図のデータ(地図データM)は管理装置50の記憶装置またはAGV10のメモリ14bまたは記憶装置14cに蓄積される。なお図示されている黒点の数または密度は一例である。
【0116】
こうして得られた地図データは、複数のAGV10によって共有され得る。
【0117】
AGV10が地図データに基づいて自己位置を推定するアルゴリズムの典型例は、ICP(Iterative Closest Point)マッチングである。前述したように、レーザレンジファインダ15のスキャン結果から作成された局所的地図データ(センサデータ)を、より広範囲の地図データMとのマッチングを行うことにより、地図データM上における自己位置(x, y, θ)を推定することができる。
【0118】
AGV10が走行するエリアが広い場合、地図データMのデータ量が多くなる。そのため、地図の作成時間が増大したり、自己位置推定に多大な時間を要するなどの不都合が生じる可能性がある。そのような不都合が生じる場合には、地図データMを、複数の部分地図のデータに分けて作成および記録してもよい。
【0119】
図9は、4つの部分地図データm1、m2、m3、m4の組み合わせによって1つの工場の1フロアの全域がカバーされる例を示している。この例では、1つの部分地図データは50m×50mの領域をカバーしている。X方向およびY方向のそれぞれにおいて隣接する2つの地図の境界部分に、幅5mの矩形の重複領域が設けられている。この重複領域を「地図切替エリア」と呼ぶ。1つの部分地図を参照しながら走行しているAGV10が地図切替エリアに到達すると、隣接する他の部分地図を参照する走行に切り替える。部分地図の枚数は4枚に限らず、AGV10が走行するフロアの面積、地図作成および自己位置推定を実行するコンピュータの性能に応じて適宜設定してよい。部分地図データのサイズおよび重複領域の幅も、上記の例に限定されず、任意に設定してよい。
【0120】
(5)管理装置の構成例
図10は、管理装置50のハードウェア構成例を示している。管理装置50は、CPU51と、メモリ52と、位置データベース(位置DB)53と、通信回路54と、地図データベース(地
図DB)55と、画像処理回路56とを有する。
【0121】
CPU51、メモリ52、位置DB53、通信回路54、地
図DB55および画像処理回路56は通信バス57で接続されており、相互にデータを授受することが可能である。
【0122】
CPU51は、管理装置50の動作を制御する信号処理回路(コンピュータ)である。典型的にはCPU51は半導体集積回路である。
【0123】
メモリ52は、CPU51が実行するコンピュータプログラムを記憶する、揮発性の記憶装置である。メモリ52は、CPU51が演算を行う際のワークメモリとしても利用され得る。
【0124】
位置DB53は、各AGV10の行き先となり得る各位置を示す位置データを格納する。位置データは、たとえば管理者によって工場内に仮想的に設定された座標によって表され得る。位置データは管理者によって決定される。
【0125】
通信回路54は、たとえばイーサネット(登録商標)規格に準拠した有線通信を行う。通信回路54はアクセスポイント2(
図3)と有線で接続されており、アクセスポイント2を介して、AGV10と通信することができる。通信回路54は、AGV10に送信すべきデータを、バス57を介してCPU51から受信する。また通信回路54は、AGV10から受信したデータ(通知)を、バス57を介してCPU51および/またはメモリ52に送信する。
【0126】
地
図DB55は、AGV10が走行する工場等の内部の地図のデータ、および信頼度地図および変化地図の各データを格納する。当該地図は、地
図40(
図8F)と同じ形式であってもよいし、異なっていてもよい。各AGV10の位置と1対1で対応関係を有する地図であれば、データの形式は問わない。たとえば地
図DB55に格納される地図は、CADによって作成された地図であってもよい。信頼度地図および変化地図の具体例は後述する。
【0127】
位置DB53および地
図DB55は、不揮発性の半導体メモリ上に構築されてもよいし、ハードディスクに代表される磁気記録媒体、または光ディスクに代表される光学式記録媒体上に構築されてもよい。
【0128】
画像処理回路56はモニタ58に表示される映像のデータを生成する回路である。画像処理回路56は、専ら、管理者が管理装置50を操作する際に動作する。本実施形態では特にこれ以上の詳細な説明は省略する。なお、モニタ59は管理装置50と一体化されていてもよい。また画像処理回路56の処理をCPU51が行ってもよい。
【0129】
(6)管理装置の動作
図11を参照しながら、管理装置50の動作の概要を説明する。地図作成装置201としての管理装置50の動作は
図8A〜
図8Fを参照しながら説明したため、以下では運行管理装置251としての管理装置50の動作を説明する。
【0130】
図11は、管理装置50によって決定されたAGV10の移動経路の一例を模式的に示す図である。
【0131】
AGV10および管理装置50の動作の概要は以下のとおりである。以下では、あるAGV10が現在、位置M
1におり、幾つかの位置を通過して、最終的な目的地である位置M
n+1(n:1以上の正の整数)まで走行する例を説明する。なお、位置DB53には位置M
1の次に通過すべき位置M
2、位置M
2の次に通過すべき位置M
3等の各位置を示す座標データが記録されている。
【0132】
管理装置50のCPU51は、位置DB53を参照して位置M
2の座標データを読み出し、位置M
2に向かわせる走行指令を生成する。通信回路54は、アクセスポイント2を介して走行指令をAGV10に送信する。
【0133】
CPU51は、AGV10から、アクセスポイント2を介して、定期的に現在位置および姿勢を示すデータを受信する。こうして管理装置50は、各AGV10の位置をトラッキングすることができる。CPU51は、AGV10の現在位置が位置M
2に一致したと判定すると、位置M
3の座標データを読み出し、位置M
3に向かわせる走行指令を生成してAGV10に送信する。つまり管理装置50は、AGV10がある位置に到達したと判定すると、次に通過すべき位置に向かわせる走行指令を送信する。これにより、AGV10は最終的な目的位置M
n+1に到達することができる。上述した、AGV10の通過位置および目的位置は「マーカ」と呼ばれることがある。
【0134】
経路は複数のマーカによって構成される。本明細書では、経路を生成すること、はマーカの位置および順序を決定することを意味する。管理装置50は生成した経路を、上述のようにマーカ毎にAGV10へ送信してもよいし、複数のマーカをまとめてAGV10へ送信してもよい。
【0135】
(7)移動体システム351の動作例
次に、移動体システム351(
図1)の動作例をより具体的に説明する。
【0136】
図8A〜
図8Fに示す手順で地図が新規に作成された直後は、地図は現実の環境を正しく反映している。したがって、AGV10の位置推定装置14eが、当該地図のデータとレーザレンジファインダ15から出力されたセンサデータとのマッチングを行うと、両者はよく一致する。このとき、位置推定装置14eは相対的に高い信頼度のデータを出力する。
【0137】
図12Aは、地図作成直後のマッチング結果を示す例である。AGV10は、図面下方から白矢印に示す向き(上方)に移動を行っているとする。図面には、約270度の、レーザレンジファインダ15のスキャン範囲が示されている。
【0138】
位置推定装置14eは、地
図40のデータとレーザレンジファインダ15から出力されたセンサデータのマッチングを行う。太線80は、両者が一致すると判断された箇所を模式的に示している。太線80の位置から理解されるように、マッチングの結果、図面左側および下側の壁面の一部、および、設置物90の表面の一部が位置推定装置14eによって一致したと判定されている。このときの信頼度は、比較的高く、例えば90〜95%であるとする。
【0139】
図12Bは信頼度地
図42の一例を示している。信頼度地
図42は、移動空間S内の複数の位置の各々と複数の位置の各々における信頼度とを関連付けて作成されている。各位置および信頼度はいずれも位置推定装置14eから出力される。
【0140】
本実施形態にかかる位置推定装置14eはセンチメートルの精度で位置情報を出力する。そのため、例えば50m×50mの移動空間Sを記述する信頼度地
図42のデータ量が非常に大きくなり得る。
図12Bに示す信頼度地
図42は、移動空間Sを複数の単位領域に分け、各単位領域の位置と各位置における信頼度とが関連付けて作成されている。単位領域は、例えば1m×1mの領域である。これによりデータ量の増大を抑制することができる。
【0141】
図12Cは、移動体システム351においてAGV10を移動させる経路R1の例を示している。経路の生成手順は以下のとおりである。
【0142】
運行管理装置251として動作する管理装置50(
図10)のCPU51は、AGV10の移動開始位置Psおよび移動目標位置Pdの指定を受け付ける。指定は、通信回路54またはキーボード、マウス等の入力装置(図示せず)を介して行われ得る。
【0143】
CPU51は信頼度地
図42を参照する。作成当初の信頼度地
図42では、全ての単位領域の信頼度が閾値(例えば信頼度=40)以上である。本明細書では、信頼度が閾値以上である領域を「高信頼度領域」と呼ぶ。CPU51は、信頼度地
図42を利用して、地図内の領域のうちのどの領域が高信頼度領域であるかを決定する。信頼度地
図42によれば、移動空間Sの全ての領域が高信頼度領域であると言える。CPU51は、経路の設定に関して制限をすることなく、最短の経路R1をAGV10の経路として決定する。
【0144】
CPU51は、例えば位置DB53および地
図DB55を参照して、移動開始位置Psおよび移動目標位置Pdを結ぶ最短の経路R1を設定する。「最短」とは、AGV10が走行可能な経路のうち、移動距離が最も短い経路を言う。経路R1の全ての区間は高信頼度領域を通過すると言える。
【0145】
地
図40が作成されてから時間が経過すると、環境が変化し、それにより現実の環境と地
図40との相違が発生し得る。
図13は、
図12Aに示す設置物90が、時間の経過に伴って設置物92に変化した例を示している。設置物90が、例えば複数荷物の集合体である場合、一部の荷物が搬出されることにより、設置物90全体の大きさまたは形状が設置物92に変化することがある。このような環境の変化により、地
図40のデータとスキャンデータとの一致の程度がこれまでと比較して低下し、位置同定精度の低下が発生し得る。
【0146】
図14Aは、設置物90から設置物92へ変化した後の、マッチング結果を示す例である。先の例と同様、太線80は両者が一致すると判断された箇所を模式的に示している。一方、太破線82は、
図12Aの例では一致していたが設置物92への変化によって相違することとなった箇所を模式的に示している。太破線82の箇所では、地
図40のデータとスキャンデータとが相違する。そのため、信頼度は、例えば35%程度にまで低下する。
図12Aの例と比較して、
図14Aの例では信頼度は約55〜60%程度悪化している。
【0147】
CPU51は、AGV10から受け取った位置情報と信頼度とを用いて、例えば定期的に信頼度地
図42を更新する。1台または複数台のAGV10が移動空間Sを移動することによって、信頼度地
図42が定期的に更新され得る。
【0148】
図14Bは、更新された信頼度地
図42aの例を示している。左上に示す3×4の12個の単位領域の信頼度が大きく下がっていることが理解される。このような信頼度地
図42aのもとでAGV10に
図12Cに示す経路R1を移動させると、自己位置の推定精度が下がることが予想される。ところが本実施形態では「高信頼度領域」を決定する。これにより、経路R1とは異なる経路が生成され得る。
【0149】
更新された信頼度地
図42aを参照して、CPU51は高信頼度領域を決定する。
図15Aは、決定された高信頼度領域94を破線で示している。
【0150】
次に、CPU51は、AGV10の移動開始位置Psおよび移動目標位置Pdの各データから最短の経路R1(
図12C)を探し出し、経路候補として設定する。
図15Aには、経路R1を破線の矢印で示している。
【0151】
続いてCPU51は、経路R1が高信頼度領域94を通過するか否かを判定する。本例の場合には経路R1が高信頼度領域94を通過しないため、CPU51は、経路R1から高信頼度領域94を通過する他の経路を生成する。
【0152】
図15Bは、経路R1から生成された、高信頼度領域94を通過する経路R2の一例を示している。経路R1を、例えば一定の移動距離ごとに複数の区間に分けたとき、CPU51は、高信頼度領域94を通過する区間はそのまま新たな経路R2として採用する。経路R1に高信頼度領域94を通過しない区間が含まれていれば、CPU51は、複数の区間の少なくとも1つの区間を、高信頼度領域94を通過する区間に変更する。これによりCPU51は新たな経路R2を生成する。CPU51は生成した経路R2をAGV10に送信する。経路R2は高信頼度領域94を通過するため、高信頼度領域を通過する経路に沿って移動するAGV10はスムーズに移動することができる。
【0154】
一旦経路を生成した後、信頼度地
図42が更新され、その結果、生成した経路の一部が高信頼度領域94を通過しなくなる場合があり得る。そのような場合、CPU51は再度経路を生成し直し、AGV10に送信してもよい。そのときの手順は上述の手順と同じである。
【0155】
環境によっては、または時刻によっては高信頼度領域94が不連続になり、高信頼度領域94以外の領域、すなわち信頼度が相対的に低い領域、を通過しなければ経路が生成されない場合もあり得る。そのような場合には、候補とされる複数の経路のうち、最も高信頼度領域94を通過する区間が長い経路を採用してもよい。
【0156】
自己位置の推定を行うことが可能な信頼度を例えば30%とする。信頼度が40%まで低下すると、信頼度が将来30%になることが想定され得る。そこでCPU51は、高信頼度領域94を通過する経路を生成し直し、AGV10に送信してもよい。
【0157】
次に、変化地図および変化地図を利用する経路の生成処理を説明する。
【0158】
「変化地図」は信頼度地
図42の応用例であり、移動空間S内の複数の位置の各々と、複数の位置の各々における信頼度の時間的な変化の大きさとを関連付けて作成される。変化地図は、例えば地図作成システム301の地図作成装置201(
図1)または管理装置50(
図10)によって作成される。例えば管理装置50のCPU51は、時間を置いて作成された2つの信頼度地
図42を地
図DB55から読み出す。CPU51は、それらの差分を求め変化地図を生成し、地
図DB55に記憶する。
【0159】
次に、変化地図を用いた経路の生成処理を説明する。移動体システム351の運行管理装置251として動作する管理装置50を例示する。
【0160】
変化地図を生成するとCPU51は、変化地図内に高変化量領域を設定する。「高変化量領域」は、信頼度の時間的な変化の大きさが予め定められた変化閾値以上である領域である。変化閾値の一例は、30%である。
【0161】
図16は、変化地
図44、および、高変化量領域45−1および45−2の例を示している。
【0162】
「高変化量領域」に該当する場合には、突然、信頼度が大きく下がる可能性があると言える。よって、たとえ高信頼度領域であると判定される領域であったとしても、「高変化量領域」に該当する場合にはAGV10が安定的に移動できるとは限らない。より安定した移動を可能にするため、本実施形態では、CPU51は高変化量領域を避ける経路を生成する。
【0163】
図17Aは、高信頼度領域96、および、高変化量領域98−1および98−2を示す例である。CPU51は、高信頼度領域96を通過し、かつ、高変化量領域98−1および98−2を避ける経路を生成する。具体的には、CPU51は、上述した処理により経路R2を決定した後、経路R2が高変化量領域98−1および98−2を通過するか否かを判定する。経路R2が高変化量領域98−1および98−2を通過する場合、CPU51は高変化量領域98−1および98−2を避ける経路を生成する。
【0164】
図17Bは、高信頼領域96を通過し、かつ高変化量領域98−1および98−2を避けて生成された経路R3の例を示している。高信頼度領域96を通過し、かつ、高変化量領域98−1および98−2を避ける経路に沿って移動するAGV10はよりスムーズに移動することができる。
【0165】
なお、上述の説明では、2つの信頼度地
図42の差分を利用して変化地
図44を生成したが、差分の利用は一例である。2つの信頼度地
図42の変化率、比および分散のいずれかを利用して変化地
図44を生成してもよい。
【0166】
上記の包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラム、または記録媒体によって実現されてもよい。あるいは、システム、装置、方法、集積回路、コンピュータプログラム、および記録媒体の任意な組み合わせによって実現されてもよい。