(57)【要約】  移動体が自己位置を推定する技術を提供する。自律的に移動することが可能な移動体（１０１）は、移動体を移動させる駆動装置（１０９）と、移動しながら周囲の空間を繰り返し撮影して撮影毎に環境画像を生成するステレオカメラ（１０３）と、各々が、空間の各位置に関連付けられた複数の基準画像を記憶する記憶装置（１０６）と、環境画像と複数の基準画像とを利用して、自己位置の位置情報を順次出力する位置推定装置（１０５）と、位置推定装置から出力された位置情報を参照しながら駆動装置を制御して、移動体を移動させるコントローラ（１０７）と、を有している。位置推定装置は、環境画像から複数の特徴点を抽出して複数の基準画像と照合し、かつ、環境画像に含まれる画像オブジェクトを検出し、照合結果および検出結果を利用して自己位置を推定する。
2019187816.tif 000002
【特許請求の範囲】
【請求項１】
自律的に移動することが可能な移動体であって、
前記移動体を移動させる駆動装置と、
移動しながら周囲の空間を繰り返し撮影して撮影毎に環境画像を生成するステレオカメラと、
各々が、前記空間の各位置に関連付けられた複数の基準画像を記憶する記憶装置と、
前記環境画像と前記複数の基準画像とを利用して、自己位置の位置情報を順次出力する位置推定装置と、
前記位置推定装置から出力された位置情報を参照しながら前記駆動装置を制御して、前記移動体を移動させるコントローラと、
を備え、
前記位置推定装置は、前記環境画像から複数の特徴点を抽出して前記複数の基準画像と照合し、かつ、前記環境画像に含まれる画像オブジェクトを検出し、照合結果および検出結果を利用して自己位置を推定する、移動体。
【請求項２】
前記位置推定装置は、前記環境画像に含まれる、前記空間の床面に描かれた標示の画像オブジェクトを検出する、請求項１に記載の移動体。
【請求項３】
前記標示の画像オブジェクトは、該標示の画像オブジェクトを検出する規則に基づいた、直線、点線、記号、文字および色の少なくとも１つである、請求項２に記載の移動体。
【請求項４】
前記標示の画像オブジェクトと前記空間内の位置とを関連付けたデータが予め用意されており、前記位置推定装置は、前記規則に従って前記標示の画像オブジェクトの位置を決定し、自己位置を推定する、請求項３に記載の移動体。
【請求項５】
前記複数の基準画像の各々は、前記空間の各位置で撮影することによって取得された画像であって、前記空間の各位置の情報と関連付けられており、
前記位置推定装置は、前記環境画像の複数の特徴点と、前記複数の基準画像の各々に含まれる複数の特徴点とを照合する、請求項１から４のいずれか１項に記載の移動体。
【請求項６】
前記移動体は、第１時刻から第２時刻までの間移動を行い、
前記位置推定装置は、前記第１時刻における自己位置である第１自己位置を推定した後、前記第２時刻に取得された前記環境画像の複数の特徴点の各変位量および各変位方向を算出し、前記各変位量および前記各変位方向を用いて、前記第１自己位置を、前記第２時刻における自己位置である第２自己位置に更新する、請求項５に記載の移動体。
【請求項７】
前記位置推定装置は、前記各変位量および前記各変位方向から、前記移動体が移動した距離および進行方向を決定し、前記第１自己位置を前記第２自己位置に更新する、請求項６に記載の移動体。
【請求項８】
前記位置推定装置は、照合による一致の程度が閾値未満で、かつ、前記環境画像の画像オブジェクトが検出可能である場合には、前記照合結果を利用せず、前記環境画像の画像オブジェクトの検出結果を利用して自己位置を推定する、請求項１から７のいずれか１項に記載の移動体。
【請求項９】
前記記憶装置は、前記空間を移動しながら撮影して取得されていた前記複数の基準画像を予め記憶し、さらに、前記複数の基準画像の各々に含まれる画像オブジェクトの位置情報を予め格納しており、
前記位置推定装置は、前記環境画像の画像オブジェクトの検出結果から、前記複数の基準画像の各々に含まれる画像オブジェクトの位置情報を参照し、自己位置を推定する、請求項８に記載の移動体。
【請求項１０】
前記位置推定装置は、
前記環境画像の第１部分領域で前記特徴点を抽出して地図と照合し、
前記環境画像の、前記第１部分領域とは異なる第２部分領域で前記画像オブジェクトを検出する、請求項１から９のいずれか１項に記載の移動体。
【請求項１１】
前記第１部分領域および前記第２部分領域は、前記環境画像の中に予め定められている、請求項１０に記載の移動体。
【請求項１２】
前記第１部分領域および前記第２部分領域は、前記移動体の位置に応じて変化する、請求項１０に記載の移動体。
【請求項１３】
少なくとも１つの移動体と、
前記移動体の移動を管理する運行管理装置と
を備え、
前記少なくとも１つの移動体は、請求項１０から１２のいずれか１項に記載の移動体であり、
前記運行管理装置は、前記地図を前記移動体に送信する、移動体システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動体および移動体システムに関する。
【背景技術】
【０００２】
所定の経路に沿って自律的に空間を移動する自律移動ロボットが開発されている。自律移動ロボットは、レーザ距離センサ等の外界センサを用いて周囲の空間をセンシングし、センシング結果と、予め用意された地図とのマッチングを行い、自身の現在の位置および姿勢を推定（同定）する。自律移動ロボットは、自身の現在の位置および姿勢を制御しながら、当該経路に沿って移動することができる。【０００３】
特開２０１６−９９６３５号公報は、予め設定された走行ルートを走行する自動運転システムやドライバの操作を支援する運転支援システムを開示する。車両の自動運転システムは、自車両周辺の道路のレーンマーカーや停止位置などの路面表示を検知し、自車両周辺の複数の移動体・障害物などの立体物を検知し、道路上の走行領域を判定して、立体物との衝突を回避する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−９９６３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特開２０１６−９９６３５号公報に記載の発明は、まず、所定の方法で自車両の位置を特定し、その後、路面表示の検知および立体物の検知を行い、道路上の走行領域を判定する。【０００６】
本発明の、限定的ではない例示的なある実施形態は、移動体が自己位置を推定する技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の例示的な実施形態における移動体は、自律的に移動することが可能な移動体であって、前記移動体を移動させる駆動装置と、移動しながら周囲の空間を繰り返し撮影して撮影毎に環境画像を生成するステレオカメラと、各々が、前記空間の各位置に関連付けられた複数の基準画像を記憶する記憶装置と、前記環境画像と前記複数の基準画像とを利用して、自己位置の位置情報を順次出力する位置推定装置と、前記位置推定装置から出力された位置情報を参照しながら前記駆動装置を制御して、前記移動体を移動させるコントローラと、を備え、前記位置推定装置は、前記環境画像から複数の特徴点を抽出して前記複数の基準画像と照合し、かつ、前記環境画像に含まれる画像オブジェクトを検出し、照合結果および検出結果を利用して前記自己位置を推定する。
【発明の効果】
【０００８】
本発明の実施形態によれば、環境画像に含まれる複数の特徴点に加え、画像オブジェクトも利用して自己位置を推定する。環境画像を取得できればよいので、例えばＧＰＳが利用できない屋内等の環境であっても自己位置を推定することができる。また画像オブジェクトを利用することにより、特徴点が少ない、または、特徴点が大きく変動した場合でも、自己位置の推定精度を保つことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の例示的な実施形態における移動体の概略構成を示すブロック図である。
【図２】図２は、移動体の動作の概要を示すフローチャートである。
【図３】図３は、本発明による、各ＡＧＶの走行を制御する制御システムの概要を示す図である。
【図４】図４は、ＡＧＶが存在する移動空間Ｓの一例を示す図である。
【図５Ａ】図５Ａは、接続される前のＡＧＶおよび牽引台車を示す図である。
【図５Ｂ】図５Ｂは、接続されたＡＧＶおよび牽引台車を示す図である。
【図６】図６は、本実施形態にかかる例示的なＡＧＶの外観図である。
【図７Ａ】図７Ａは、ＡＧＶの第１のハードウェア構成例を示す図である。
【図７Ｂ】図７Ｂは、ＡＧＶの第２のハードウェア構成例を示す図である。
【図８Ａ】図８Ａは、移動しながら地図を生成するＡＧＶを示す図である。
【図８Ｂ】図８Ｂは、移動しながら地図を生成するＡＧＶを示す図である。
【図８Ｃ】図８Ｃは、移動しながら地図を生成するＡＧＶを示す図である。
【図８Ｄ】図８Ｄは、移動しながら地図を生成するＡＧＶを示す図である。
【図８Ｅ】図８Ｅは、移動しながら地図を生成するＡＧＶを示す図である。
【図８Ｆ】図８Ｆは、完成した地図の一部を模式的に示す図である。
【図９】図９は、複数の部分地図によって１つのフロアの地図が構成される例を示す図である。
【図１０】図１０は、運行管理装置のハードウェア構成例を示す図である。
【図１１】図１１は、運行管理装置によって決定されたＡＧＶの移動経路の一例を模式的に示す図である。
【図１２】図１２は、例示的な実施形態にかかるＡＧＶ１０の構成を示す図である。
【図１３Ａ】図１３Ａは、ＡＧＶ１０が走行する空間８０を、ステレオカメラ２５によって撮影した環境画像９０の例を示す模式図である。
【図１３Ｂ】図１３Ｂは、環境画像９０を、特徴点の抽出対象の領域９０Ａと、画像オブジェクトの検出対象の領域９０Ｂとに分けた例を示す模式図である。
【図１４】図１４は、特徴点を用いた自己位置の推定と、画像オブジェクトを用いた自己位置の推定とを混在させて走行するＡＧＶ１０を説明するための図である。
【発明を実施するための形態】
【００１０】
＜用語＞
本発明の実施形態を説明する前に、本明細書において使用する用語の定義を説明する。
【００１１】
「無人搬送車」（ＡＧＶ（Automated guided vehicle））とは、本体に人手または自動で荷物を積み込み、指示された場所まで自動走行し、人手または自動で荷卸しをする無軌道車両を意味する。「無人搬送車」は、無人牽引車および無人フォークリフトを含む。
【００１２】
「無人」の用語は、車両の操舵に人を必要としないことを意味しており、無人搬送車が「人（たとえば荷物の積み下ろしを行う者）」を搬送することは除外しない。
【００１３】
「無人牽引車」とは、人手または自動で荷物の積み込み荷卸しをする台車を牽引して、指示された場所まで自動走行する無軌道車両である。
【００１４】
「無人フォークリフト」とは、荷物移載用のフォークなどを上下させるマストを備え、フォークなどに荷物を自動移載し指示された場所まで自動走行し、自動荷役作業をする無軌道車両である。
【００１５】
「無軌道車両」とは、車輪と、車輪を回転させる電気モータまたはエンジンを備える移動体（vehicle）である。
【００１６】
「移動体」とは、人または荷物を載せて移動する装置であり、移動のための駆動力(traction)を発生させる車輪、二足または多足歩行装置、プロペラなどの駆動装置を備える。本発明における「移動体」の用語は、狭義の無人搬送車のみならず、モバイルロボット、サービスロボット、およびドローンを含む。
【００１７】
「自動走行」は、無人搬送車が通信によって接続されるコンピュータの運行管理システムの指令に基づく走行と、無人搬送車が備える制御装置による自律的走行とを含む。自律的走行には、無人搬送車が所定の経路に沿って目的地に向かう走行のみならず、追尾目標に追従する走行も含まれる。また、無人搬送車は、一時的に作業者の指示に基づくマニュアル走行を行ってもよい。「自動走行」は、一般には「ガイド式」の走行および「ガイドレス式」の走行の両方を含むが、本発明では「ガイドレス式」の走行を意味する。
【００１８】
「ガイド式」とは、誘導体を連続的または断続的に設置し、誘導体を利用して無人搬送車を誘導する方式である。
【００１９】
「ガイドレス式」とは、誘導体を設置せずに誘導する方式である。本発明の実施形態における無人搬送車は、自己の位置を推定する位置推定装置を備え、ガイドレス式で走行することができる。
【００２０】
「位置推定装置」は、レーザレンジファインダなどの外界センサによって取得されたセンサデータに基づいて環境地図上における自己位置を推定する装置である。
【００２１】
「外界センサ」は、移動体の外部の状態をセンシングするセンサである。外界センサには、たとえば、レーザレンジファインダ（測域センサともいう）、カメラ（またはイメージセンサ）、ＬＩＤＡＲ（Light Detection and Ranging）、ミリ波レーダ、および磁気センサがある。
【００２２】
「内界センサ」は、移動体の内部の状態をセンシングするセンサである。内界センサには、たとえばロータリエンコーダ（以下、単に「エンコーダ」と称することがある）、加速度センサ、および角加速度センサ（たとえばジャイロセンサ）がある。
【００２３】
「ＳＬＡＭ（スラム）」とは、Simultaneous Localization and Mappingの略語であり、自己位置推定と環境地図作成を同時に行うことを意味する。
【００２４】
＜例示的な実施形態＞
以下、添付の図面を参照しながら、本発明にかかる移動体および移動体システムの一例を説明する。なお、必要以上に詳細な説明は省略する場合がある。たとえば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。本発明者らは、当業者が本発明を十分に理解するために添付図面および以下の説明を提供する。これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【００２５】
本発明において説明する移動体は、ステレオカメラで周囲の空間を撮影し、生成した画像（以下「環境画像」と呼ぶ。）と、空間の各位置に関連付けられた複数の基準画像とを利用して自己位置を推定する。「基準画像」は、事前に撮影された空間の画像である。推定した自己位置を利用して、移動体は自律的に移動することが可能である。そのような移動体の例は、無人搬送車（例えば後述の図６）である。
【００２６】
より具体的に説明する。移動体は、環境画像から複数の特徴点を抽出して複数の基準画像と照合する。照合は、複数の特徴点が有する関係が、複数の基準画像のどの基準画像に最もよく現われているかの観点で行われる。移動体はさらに、環境画像に含まれる画像オブジェクトを検出する。画像オブジェクトは、例えば床面に描かれた標示であり、レーン、中央分離帯、荷物の搬送先等として定義される直線、点線、記号、文字および／または色である。移動体は、照合結果および検出結果を利用することにより、自己位置を推定する。つまり、移動体は、環境画像から特徴点を抽出し、同時に環境画像に含まれる画像オブジェクトの意味を考慮して、自己位置を推定することができる。
【００２７】
図１は、本発明の例示的な実施形態における移動体の概略構成を示すブロック図である。移動体１０１は、ステレオカメラ１０３と、位置推定装置１０５と、記憶装置１０６と、コントローラ１０７と、駆動装置１０９とを備えている。なお、ある実施形態では位置推定装置１０５およびコントローラ１０７は、それぞれ別個の半導体集積回路チップであるが、他の実施形態では、位置推定装置１０５およびコントローラ１０７は１つの半導体集積回路チップであり得る。
【００２８】
駆動装置１０９は、移動体１０１を移動させる機構を備えている。駆動装置１０９は、例えば少なくとも１台の駆動用電気モータ（以下、単に「モータ」と称する）、および、当該モータを制御するモータ制御回路を備え得る。
【００２９】
ステレオカメラ１０３は、移動体１０１の移動に応じて周囲の空間を繰り返し撮影して撮影毎に環境画像を生成する。撮影間隔は、例えば１００ミリ秒である。
【００３０】
位置推定装置１０５は、記憶装置１０６に記憶された地図を参照する。「地図」とは、本来的には、移動体１０１が移動可能な空間の状況を、縮小し、記号化することで視覚化された平面的な線図である。しかしながら本明細書では、移動体１０１の動作開始前に撮影された空間の画像の集合を、「地図」と呼ぶことがある。このような基準画像の集合を地図と呼ぶ理由は、各基準画像が、空間内の各位置と関連付けられ、各位置を特定可能な特徴を含むからである。後述のように、移動体１０１は、撮影した環境画像の特徴点が、どの基準画像に存在するかを検出する。特徴点が所定以上の割合で一致したと判断された画像に関連付けられた位置が、移動体１０１の現在位置である。このような基準画像の集合を、本明細書では「地図」の範疇として捉える。
【００３１】
位置推定装置１０５は、ステレオカメラ１０３から出力された環境画像から複数の特徴点を抽出し、抽出結果と基準画像の集合とを照合し、照合結果に基づき移動体の位置および姿勢を推定する。位置推定装置１０５は、推定した移動体の位置および姿勢（orientation）を示す情報（本明細書において「位置情報」と称する）を順次出力する。
【００３２】
コントローラ１０７は、例えば、半導体集積回路であるマイクロコントローラユニット（マイコン）である。コントローラ１０７は、位置推定装置１０５から出力された位置情報を参照しながら駆動装置１０９を制御して、移動体１０１を移動させる。
【００３３】
本実施形態では、位置推定装置１０５は、環境画像から抽出された複数の特徴点と、基準画像の集合とを照合した際、両者が一致した程度を示す信頼度を出力する。コントローラ１０７は、走行中に当該信頼度が予め定められた閾値未満になり、かつ、環境画像中の画像オブジェクトが検出可能である場合には、照合結果を利用せず、環境画像の画像オブジェクトの検出結果を利用して自己位置を推定してもよい。移動体１０１は、１枚の環境画像を取得できればよいので、例えばＧＰＳが利用できない屋内等の環境であっても自己位置を推定することができる。また、移動体１０１は、画像オブジェクトを利用することにより、特徴点が少ない、または、特徴点が大きく変動した場合でも、自己位置の推定精度を保つことができる。
【００３４】
図２は、本発明の例示的な移動体１０１の動作の概要を示すフローチャートである。フローチャートによる処理は、本来、ある１つのＣＰＵ、ＭＰＵまたはマイクロコントローラによって実行される処理の手順を示している。しかしながら図２のフローチャートは、理解の便宜のため、位置推定装置１０５およびコントローラ１０７の処理を混在させて示している。位置推定装置１０５およびコントローラ１０７は、互いにデータの授受を行いながら、各々の処理を実行する。ステップＳ１〜Ｓ５は位置推定装置１０５の処理である。ステップＳ６はコントローラ１０７の処理である。
【００３５】
ステップＳ１において、位置推定装置１０５は、ステレオカメラ１０３が周囲の空間を繰り返し撮影して撮影毎に生成した環境画像を受け取る。位置推定装置１０５は、ステップＳ２において、環境画像から複数の特徴点を抽出する。特徴点は、例えば画像内のエッジである。ステレオカメラ１０３は、複眼の視差情報によって奥行きの情報も取得できるため、エッジの前後または左右で奥行きが異なる場合には、当該エッジを、空間内に存在する物の境界線であると判断できる。
【００３６】
ステップＳ３において、位置推定装置１０５は、複数の特徴点と、複数の基準画像の各々とを照合する。例えば位置推定装置１０５は、抽出された複数の特徴点が有する関係が、複数の基準画像のどの基準画像に最もよく現われているかを照合する。位置推定装置１０５は、両者が一致する程度を、「一致度」として出力する。なお、複数の特徴点と全ての基準画像とを毎回照合すると処理に時間を要するため、照合する範囲を一部の基準画像に限定してもよい。
【００３７】
ステップＳ４において、位置推定装置１０５は、環境画像の中から画像オブジェクトを検出する。画像オブジェクトの例は上述の通りである。
【００３８】
ステップＳ５において、位置推定装置１０５は、ステップＳ３での照合結果、および／または、ステップＳ４での検出結果を利用して自己位置を推定し、位置情報を出力する。
【００３９】
ステップＳ６において、コントローラ１０７は、位置推定装置１０５から出力された位置情報を起点として、指定された目的地に向かって駆動装置１０９を駆動させて移動体１０１を移動させる。なお、ステップＳ６は、理解の便宜のために含めた処理であり、位置同定処理自体に必須ではない。そのため、図２ではステップＳ６を破線で示している。
【００４０】
なお、基準画像の撮影から時間が経過した場合、実際の空間の状況が変化することにより、実際の空間と基準画像とが相違する可能性が高くなる。このため、基準画像の撮影から時間が経過すると、基準画像は「地図」としての精度が低下する場合がある。そこで、移動体１０１は、通信回路を有し、この通信回路を介して外部から最新の基準画像を取得してもよい。通信回路は、更新された基準画像を外部の装置、例えば後述の運行管理装置、から受信する。
【００４１】
以下、本発明にかかる移動体が無人搬送車である場合のより具体的な例を説明する。本明細書では、略語を用いて、無人搬送車を「ＡＧＶ」と記述することがある。なお、以下の説明は、矛盾がない限り、ＡＧＶ以外の移動体、例えば移動ロボット、ドローン、または有人の車両などにも同様に適用することができる。
【００４２】
まず、下記項目（１）〜（６）において、外界センサとしてレーザレンジファインダを有するＡＧＶの基本的な構成および動作を説明する。その後、項目（７）において、本実施形態にかかるＡＧＶ、すなわち、外界センサとしてステレオカメラを有するＡＧＶの構成および動作を説明する。
【００４３】
（１）システムの基本構成
図３は、本発明かかる例示的な移動体管理システム１００の基本構成例を示している。移動体管理システム１００は、少なくとも１台のＡＧＶ１０と、ＡＧＶ１０の運行管理を行う運行管理装置５０とを含む。図３には、ユーザ１によって操作される端末装置２０も記載されている。
【００４４】
ＡＧＶ１０は、走行に磁気テープなどの誘導体が不要な「ガイドレス式」走行が可能な無人搬送台車である。ＡＧＶ１０は、自己位置推定を行い、推定の結果を端末装置２０および運行管理装置５０に送信することができる。ＡＧＶ１０は、運行管理装置５０からの指令に従って移動空間Ｓ内を自動走行することが可能である。ＡＧＶ１０は、さらに、人または他の移動体に追従して移動する「追尾モード」で動作することが可能である。
【００４５】
運行管理装置５０は、各ＡＧＶ１０の位置をトラッキングし、各ＡＧＶ１０の走行を管理するコンピュータシステムである。運行管理装置５０は、デスクトップ型ＰＣ、ノート型ＰＣ、および／または、サーバコンピュータであり得る。運行管理装置５０は、複数のアクセスポイント２を介して、各ＡＧＶ１０と通信する。たとえば、運行管理装置５０は、各ＡＧＶ１０が次に向かうべき位置の座標のデータを各ＡＧＶ１０に送信する。各ＡＧＶ１０は、定期的に、たとえば１００ミリ秒ごとに自身の位置および姿勢（orientation）を示すデータを運行管理装置５０に送信する。指示した位置にＡＧＶ１０が到達すると、運行管理装置５０は、さらに次に向かうべき位置の座標のデータを送信する。ＡＧＶ１０は、端末装置２０に入力されたユーザ１の操作に応じて移動空間Ｓ内を走行することも可能である。端末装置２０の一例はタブレットコンピュータである。典型的には、端末装置２０を利用したＡＧＶ１０の走行は地図作成時に行われ、運行管理装置５０を利用したＡＧＶ１０の走行は地図作成後に行われる。
【００４６】
図４は、３台のＡＧＶ１０ａ、１０ｂおよび１０ｃが存在する移動空間Ｓの一例を示している。いずれのＡＧＶも図中の奥行き方向に走行しているとする。ＡＧＶ１０ａおよび１０ｂは天板に載置された荷物を搬送中である。ＡＧＶ１０ｃは、前方のＡＧＶ１０ｂに追従して走行している。なお、説明の便宜のため、図４では参照符号１０ａ、１０ｂおよび１０ｃを付したが、以下では、「ＡＧＶ１０」と記述する。
【００４７】
ＡＧＶ１０は、天板に載置された荷物を搬送する方法以外に、自身と接続された牽引台車を利用して荷物を搬送することも可能である。図５Ａは、接続される前のＡＧＶ１０および牽引台車５を示している。牽引台車５の各足にはキャスターが設けられている。ＡＧＶ１０は牽引台車５と機械的に接続される。図５Ｂは、接続されたＡＧＶ１０および牽引台車５を示している。ＡＧＶ１０が走行すると、牽引台車５はＡＧＶ１０に牽引される。牽引台車５を牽引することにより、ＡＧＶ１０は、牽引台車５に載置された荷物を搬送できる。
【００４８】
ＡＧＶ１０と牽引台車５との接続方法は任意である。ここでは一例を説明する。ＡＧＶ１０の天板にはプレート６が固定されている。牽引台車５には、スリットを有するガイド７が設けられている。ＡＧＶ１０は、牽引台車５に接近し、プレート６をガイド７のスリットに差し込む。差し込みが完了すると、ＡＧＶ１０は、図示されない電磁ロック式ピンをプレート６およびガイド７に貫通させ、電磁ロックをかける。これにより、ＡＧＶ１０と牽引台車５とが物理的に接続される。
【００４９】
再び図３を参照する。各ＡＧＶ１０と端末装置２０とは、たとえば１対１で接続されてＢｌｕｅｔｏｏｔｈ（登録商標）規格に準拠した通信を行うことができる。各ＡＧＶ１０と端末装置２０とは、１または複数のアクセスポイント２を利用してＷｉ−Ｆｉ（登録商標）に準拠した通信を行うこともできる。複数のアクセスポイント２は、たとえばスイッチングハブ３を介して互いに接続されている。図３には２台のアクセスポイント２ａ、２ｂが記載されている。ＡＧＶ１０は、アクセスポイント２ａと無線で接続されている。端末装置２０は、アクセスポイント２ｂと無線で接続されている。ＡＧＶ１０が送信したデータは、アクセスポイント２ａで受信され、スイッチングハブ３を介してアクセスポイント２ｂに転送され、アクセスポイント２ｂから端末装置２０に送信される。また、端末装置２０が送信したデータは、アクセスポイント２ｂで受信され、スイッチングハブ３を介してアクセスポイント２ａに転送され、アクセスポイント２ａからＡＧＶ１０に送信される。これにより、ＡＧＶ１０および端末装置２０の間の双方向通信が実現される。複数のアクセスポイント２は、スイッチングハブ３を介して運行管理装置５０とも接続されている。これにより、運行管理装置５０と各ＡＧＶ１０との間でも双方向通信が実現される。
【００５０】
（２）環境地図の作成
自己位置を推定しながらＡＧＶ１０が走行できるようにするため、移動空間Ｓ内の地図が作成される。ＡＧＶ１０には位置推定装置およびレーザレンジファインダが搭載されており、レーザレンジファインダの出力を利用して地図を作成できる。
【００５１】
ＡＧＶ１０は、ユーザの操作によってデータ取得モードに遷移する。データ取得モードにおいて、ＡＧＶ１０は、レーザレンジファインダを用いたセンサデータの取得を開始する。レーザレンジファインダは、周期的にたとえば赤外線または可視光のレーザビームを周囲に放射して周囲の移動空間Ｓをスキャンする。レーザビームは、たとえば、壁、柱等の構造物、床の上に置かれた物体等の表面で反射される。レーザレンジファインダは、レーザビームの反射光を受けて各反射点までの距離を計算し、各反射点の位置が示された測定結果のデータを出力する。各反射点の位置には、反射光の到来方向および距離が反映されている。測定結果のデータは「計測データ」または「センサデータ」と呼ばれることがある。
【００５２】
位置推定装置は、センサデータを記憶装置に蓄積する。移動空間Ｓ内のセンサデータの取得が完了すると、記憶装置に蓄積されたセンサデータが外部装置に送信される。外部装置は、たとえば信号処理プロセッサを有し、かつ、地図作成プログラムがインストールされたコンピュータである。
【００５３】
外部装置の信号処理プロセッサは、スキャンごとに得られたセンサデータ同士を重ね合わせる。信号処理プロセッサが重ね合わせる処理を繰り返し行うことにより、移動空間Ｓの地図を作成することができる。外部装置は、作成した地図のデータをＡＧＶ１０に送信する。ＡＧＶ１０は、作成した地図のデータを内部の記憶装置に保存する。外部装置は、運行管理装置５０であってもよいし、他の装置であってもよい。
【００５４】
外部装置ではなくＡＧＶ１０が地図の作成を行ってもよい。この場合、上述した外部装置の信号処理プロセッサが行った処理を、ＡＧＶ１０のマイクロコントローラユニット（マイコン）などの回路が行えばよい。ＡＧＶ１０内で地図を作成する場合には、蓄積されたセンサデータを外部装置に送信する必要が無くなる。センサデータのデータ容量は、一般には大きいと考えられる。センサデータを外部装置に送信する必要がないため、通信回線の占有を回避できる。
【００５５】
なお、センサデータを取得するための移動空間Ｓ内の移動は、ユーザの操作に従ってＡＧＶ１０が走行することによって実現し得る。たとえば、ＡＧＶ１０は、端末装置２０を介して無線でユーザから前後左右の各方向への移動を指示する走行指令を受け取る。ＡＧＶ１０は、走行指令にしたがって移動空間Ｓ内を前後左右に走行し、地図を作成する。ＡＧＶ１０がジョイスティック等の操縦装置と有線で接続されている場合には、ＡＧＶ１０は、当該操縦装置からの制御信号にしたがって移動空間Ｓ内を前後左右に走行し、地図を作成してもよい。レーザレンジファインダを搭載した計測台車を人が押し歩くことによってセンサデータを取得してもよい。
【００５６】
なお、図３および図４には複数台のＡＧＶ１０が示されているが、ＡＧＶは１台であってもよい。複数台のＡＧＶ１０が存在する場合、ユーザ１は、端末装置２０を利用して、登録された複数のＡＧＶのうちから一台のＡＧＶ１０を選択して、選択したＡＧＶ１０に移動空間Ｓの地図を作成させることができる。
【００５７】
地図が作成されると、以後、各ＡＧＶ１０は、当該地図を利用して自己位置を推定しながら自動走行することができる。自己位置を推定する処理の説明は後述する。
【００５８】
（３）ＡＧＶの構成
図６は、例示的なＡＧＶ１０の外観図である。ＡＧＶ１０は、２つの駆動輪１１ａおよび１１ｂと、４つのキャスター１１ｃ、１１ｄ、１１ｅおよび１１ｆと、フレーム１２と、搬送テーブル１３と、走行制御装置１４と、レーザレンジファインダ１５とを有する。２つの駆動輪１１ａおよび１１ｂは、ＡＧＶ１０の右側および左側にそれぞれ設けられている。４つのキャスター１１ｃ、１１ｄ、１１ｅおよび１１ｆは、ＡＧＶ１０の４隅に配置されている。なお、ＡＧＶ１０は、２つの駆動輪１１ａおよび１１ｂに接続される複数のモータも有するが、複数のモータは図６には示されていない。また、図６には、ＡＧＶ１０の右側に位置する１つの駆動輪１１ａおよび２つのキャスター１１ｃおよび１１ｅと、左後部に位置するキャスター１１ｆとが示されているが、左側の駆動輪１１ｂおよび左前部のキャスター１１ｄはフレーム１２の蔭に隠れているため明示されていない。４つのキャスター１１ｃ、１１ｄ、１１ｅおよび１１ｆは、自由に旋回することができる。以下の説明では、駆動輪１１ａおよび駆動輪１１ｂを、それぞれ車輪１１ａおよび車輪１１ｂとも称する。
【００５９】
ＡＧＶ１０は、さらに、障害物を検知するための少なくとも１つの障害物センサ１９を備えている。図６の例では、フレーム１２の４隅に４つの障害物センサ１９が設けられている。障害物センサ１９の個数および配置は、図６の例とは異なっていてもよい。障害物センサ１９は、例えば、赤外線センサ、超音波センサ、またはステレオカメラなどの、距離計測が可能な装置であり得る。障害物センサ１９が赤外線センサである場合、例えば一定時間ごとに赤外線を出射し、反射された赤外線が戻ってくるまでの時間を計測することにより、一定距離以内に存在する障害物を検知することができる。ＡＧＶ１０は、少なくとも１つの障害物センサ１９から出力された信号に基づいて経路上の障害物を検知したとき、その障害物を回避する動作を行う。障害物を回避する動作は、例えば、障害物を避けて移動する動作である。
【００６０】
走行制御装置１４は、ＡＧＶ１０の動作を制御する装置であり、主としてマイコン（後述）を含む集積回路、電子部品およびそれらが搭載された基板を含む。走行制御装置１４は、上述した、端末装置２０とのデータの送受信、および前処理演算を行う。
【００６１】
レーザレンジファインダ１５は、たとえば赤外線または可視光のレーザビーム１５ａを放射し、当該レーザビーム１５ａの反射光を検出することにより、反射点までの距離を測定する光学機器である。ＡＧＶ１０のレーザレンジファインダ１５は、たとえばＡＧＶ１０の正面を基準として左右１３５度（合計２７０度）の範囲の空間に、０．２５度ごとに方向を変化させながらパルス状のレーザビーム１５ａを放射し、各レーザビーム１５ａの反射光を検出する。これにより、０．２５度ごと、合計１０８１ステップ分の角度で決まる方向における反射点までの距離のデータを得ることができる。なお、レーザレンジファインダ１５が行う周囲の空間のスキャンは実質的に床面に平行であり、平面的（二次元的）である。しかしながら、レーザレンジファインダ１５は高さ方向のスキャンを行ってもよい。
【００６２】
ＡＧＶ１０の位置および姿勢（向き）と、レーザレンジファインダ１５のスキャン結果とにより、ＡＧＶ１０は、移動空間Ｓの地図を作成することができる。地図には、ＡＧＶの周囲の壁、柱等の構造物、床の上に載置された物体の配置が反映され得る。地図のデータは、ＡＧＶ１０内に設けられた記憶装置に格納される。
【００６３】
一般に、移動体の位置および姿勢は、ポーズ（ｐｏｓｅ）と呼ばれる。二次元面内における移動体の位置および姿勢は、ＸＹ直交座標系における位置座標（ｘ,ｙ）と、Ｘ軸に対する角度θによって表現される。ＡＧＶ１０の位置および姿勢、すなわちポーズ（ｘ,ｙ,θ）を、以下、単に「位置」と呼ぶことがある。
【００６４】
レーザビーム１５ａの放射位置から見た反射点の位置は、角度および距離によって決定される極座標を用いて表現され得る。レーザレンジファインダ１５は極座標で表現されたセンサデータを出力する。ただし、レーザレンジファインダ１５は、極座標で表現された位置を直交座標に変換して出力してもよい。
【００６５】
レーザレンジファインダの構造および動作原理は公知であるため、本明細書ではこれ以上の詳細な説明は省略する。レーザレンジファインダ１５によって検出され得る物体の例は、人、荷物、棚、壁である。
【００６６】
レーザレンジファインダ１５は、周囲の空間をセンシングしてセンサデータを取得するための外界センサの一例である。そのような外界センサの他の例としては、イメージセンサおよび超音波センサが考えられる。
【００６７】
走行制御装置１４は、レーザレンジファインダ１５の測定結果と、自身が保持する地図データとを比較して、ＡＧＶ１０の現在位置を推定することができる。なお、保持されている地図データは、他のＡＧＶ１０が作成した地図データであってもよい。
【００６８】
図７Ａは、ＡＧＶ１０の第１のハードウェア構成例を示している。また図７Ａは、走行制御装置１４の具体的な構成も示している。
【００６９】
ＡＧＶ１０は、走行制御装置１４と、レーザレンジファインダ１５と、２台のモータ１６ａおよび１６ｂと、駆動装置１７と、車輪１１ａおよび１１ｂと、２つのロータリエンコーダ１８ａおよび１８ｂとを備えている。
【００７０】
走行制御装置１４は、マイコン１４ａと、メモリ１４ｂと、記憶装置１４ｃと、通信回路１４ｄと、位置推定装置１４ｅとを有している。マイコン１４ａ、メモリ１４ｂ、記憶装置１４ｃ、通信回路１４ｄおよび位置推定装置１４ｅは通信バス１４ｆで接続されており、相互にデータを授受することが可能である。レーザレンジファインダ１５もまた通信インタフェース（図示せず）を介して通信バス１４ｆに接続されており、計測結果である計測データを、マイコン１４ａ、位置推定装置１４ｅおよび／またはメモリ１４ｂに送信する。
【００７１】
マイコン１４ａは、走行制御装置１４を含むＡＧＶ１０の全体を制御するための演算を行うプロセッサまたは制御回路（コンピュータ）である。典型的にはマイコン１４ａは半導体集積回路である。マイコン１４ａは、制御信号であるＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）信号を駆動装置１７に送信して駆動装置１７を制御し、モータ１６ａおよび１６ｂに印加する電圧を調整させる。これによりモータ１６ａおよび１６ｂの各々が所望の回転速度で回転する。
【００７２】
左右のモータ１６ａおよび１６ｂの駆動を制御する１つ以上の制御回路（たとえばマイコン）を、マイコン１４ａとは独立して設けてもよい。たとえば、駆動装置１７が、モータ１６ａおよび１６ｂの駆動をそれぞれ制御する２つのマイコンを備えていてもよい。それらの２つのマイコンは、ロータリエンコーダ１８ａおよび１８ｂから出力されたエンコーダ情報を用いた座標計算をそれぞれ行い、所定の初期位置からのＡＧＶ１０の移動距離を推定してもよい。また、当該２つのマイコンは、エンコーダ情報を利用してモータ駆動回路１７ａおよび１７ｂを制御してもよい。
【００７３】
メモリ１４ｂは、マイコン１４ａが実行するコンピュータプログラムを記憶する揮発性の記憶装置である。メモリ１４ｂは、マイコン１４ａおよび位置推定装置１４ｅが演算を行う際のワークメモリとしても利用され得る。
【００７４】
記憶装置１４ｃは、不揮発性の半導体メモリ装置である。ただし、記憶装置１４ｃは、ハードディスクに代表される磁気記録媒体、または、光ディスクに代表される光学式記録媒体であってもよい。さらに、記憶装置１４ｃは、いずれかの記録媒体にデータを書き込みおよび／または読み出すためのヘッド装置および当該ヘッド装置の制御装置を含んでもよい。
【００７５】
記憶装置１４ｃは、走行する移動空間Ｓの地図データＭ、および、１または複数の走行経路のデータ（走行経路データ）Ｒを記憶する。地図データＭは、ＡＧＶ１０が地図作成モードで動作することによって作成され記憶装置１４ｃに記憶される。走行経路データＲは、地図データＭが作成された後に外部から送信される。地図データＭおよび走行経路データＲは、同じ記憶装置１４ｃに記憶されているが、異なる記憶装置に記憶されてもよい。
【００７６】
走行経路データＲの例を説明する。
【００７７】
端末装置２０がタブレットコンピュータである場合には、ＡＧＶ１０はタブレットコンピュータから走行経路を示す走行経路データＲを受信する。このときの走行経路データＲは、複数のマーカの位置を示すマーカデータを含む。「マーカ」は、走行するＡＧＶ１０の通過位置（経由点）を示す。走行経路データＲは、走行開始位置を示す開始マーカおよび走行終了位置を示す終了マーカの位置情報を少なくとも含む。走行経路データＲは、さらに、１以上の中間経由点のマーカの位置情報を含んでもよい。走行経路が１以上の中間経由点を含む場合には、開始マーカから、当該走行経由点を順に経由して終了マーカに至る経路が、走行経路として定義される。各マーカのデータは、そのマーカの座標データに加えて、次のマーカに移動するまでのＡＧＶ１０の向き（角度）および走行速度のデータを含み得る。ＡＧＶ１０が各マーカの位置で一旦停止し、自己位置推定および端末装置２０への通知などを行う場合には、各マーカのデータは、当該走行速度に達するまでの加速に要する加速時間、および／または、当該走行速度から次のマーカの位置で停止するまでの減速に要する減速時間のデータを含み得る。
【００７８】
端末装置２０ではなく、運行管理装置５０（たとえば、ＰＣおよび／またはサーバコンピュータ）が、ＡＧＶ１０の移動を制御してもよい。その場合には、運行管理装置５０は、ＡＧＶ１０がマーカに到達する度に、次のマーカへの移動をＡＧＶ１０に指示してもよい。たとえば、ＡＧＶ１０は、運行管理装置５０から、次に向かうべき目的位置の座標データ、または、当該目的位置までの距離および進むべき角度のデータを、走行経路を示す走行経路データＲとして受信する。
【００７９】
ＡＧＶ１０は、作成された地図と、走行中に取得されたレーザレンジファインダ１５が出力したセンサデータとを利用して自己位置を推定しながら、記憶された走行経路に沿って走行することができる。
【００８０】
通信回路１４ｄは、たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）および／またはＷｉ−Ｆｉ（登録商標）規格に準拠した無線通信を行う無線通信回路である。いずれの規格も、２．４ＧＨｚ帯の周波数を利用した無線通信規格を含む。たとえばＡＧＶ１０を走行させて地図を作成するモードでは、通信回路１４ｄは、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に準拠した無線通信を行い、１対１で端末装置２０と通信する。
【００８１】
位置推定装置１４ｅは、地図の作成処理、および、走行時には自己位置の推定処理を行う。位置推定装置１４ｅは、ＡＧＶ１０の位置および姿勢と、レーザレンジファインダ１５のスキャン結果とにより、移動空間Ｓの地図を作成する。走行時には、位置推定装置１４ｅは、レーザレンジファインダ１５からセンサデータを受け取り、また、記憶装置１４ｃに記憶された地図データＭを読み出す。位置推定装置１４ｅは、レーザレンジファインダ１５のスキャン結果から作成された局所的地図データ(センサデータ)と、より広範囲の地図データＭとのマッチングを行うことにより、地図データＭ上における自己位置（ｘ,ｙ,θ）を同定する。位置推定装置１４ｅは、局所的地図データが地図データＭに一致した程度を表す「信頼度」のデータを生成する。自己位置（ｘ,ｙ,θ）、および、信頼度の各データは、ＡＧＶ１０から端末装置２０または運行管理装置５０に送信され得る。端末装置２０または運行管理装置５０は、自己位置（ｘ,ｙ,θ）、および、信頼度の各データを受信して、内蔵または接続された表示装置に表示することができる。
【００８２】
本実施形態では、マイコン１４ａと位置推定装置１４ｅとは別個の構成要素であるとしているが、これは一例である。マイコン１４ａおよび位置推定装置１４ｅは、マイコン１４ａおよび位置推定装置１４ｅの各動作を独立して行うことが可能な１つのチップ回路または半導体集積回路であってもよい。図７Ａには、マイコン１４ａおよび位置推定装置１４ｅを包括するチップ回路１４ｇが示されている。以下では、マイコン１４ａおよび位置推定装置１４ｅが別個独立に設けられている例を説明する。
【００８３】
２台のモータ１６ａおよび１６ｂは、それぞれ２つの車輪１１ａおよび１１ｂに取り付けられ、各車輪１１ａおよび１１ｂを回転させる。つまり、２つの車輪１１ａおよび１１ｂはそれぞれ駆動輪である。本明細書では、モータ１６ａおよびモータ１６ｂは、それぞれＡＧＶ１０の右輪（車輪１１ａ）および左輪（車輪１１ｂ）を駆動するモータであるとして説明する。
【００８４】
移動体１０は、さらに、車輪１１ａおよび１１ｂの回転位置または回転速度を測定するエンコーダユニット１８を備えている。エンコーダユニット１８は、ロータリエンコーダ１８ａおよびロータリエンコーダ１８ｂを含む。ロータリエンコーダ１８ａは、モータ１６ａから車輪１１ａまでの動力伝達機構のいずれかの位置における回転を計測する。ロータリエンコーダ１８ｂは、モータ１６ｂから車輪１１ｂまでの動力伝達機構のいずれかの位置における回転を計測する。エンコーダユニット１８は、ロータリエンコーダ１８ａおよび１８ｂによって取得された信号を、マイコン１４ａに送信する。マイコン１４ａは、位置推定装置１４ｅから受信した信号だけでなく、エンコーダユニット１８から受信した信号を利用して、移動体１０の移動を制御してもよい。
【００８５】
駆動装置１７は、２台のモータ１６ａおよび１６ｂの各々に印加される電圧を調整するためのモータ駆動回路１７ａおよび１７ｂを有する。モータ駆動回路１７ａおよび１７ｂの各々はいわゆるインバータ回路を含む。モータ駆動回路１７ａは、マイコン１４ａまたはモータ駆動回路１７ａ内のマイコンから送信されたＰＷＭ信号によってモータ１６ａに流れる電流をオンまたはオフし、それによりモータ１６ａに印加される電圧を調整する。モータ駆動回路１７ｂは、マイコン１４ａまたはモータ駆動回路１７ｂ内のマイコンから送信されたＰＷＭ信号によってモータ１６ｂに流れる電流をオンまたはオフし、それによりモータ１６ｂに印加される電圧を調整する。
【００８６】
図７Ｂは、ＡＧＶ１０の第２のハードウェア構成例を示している。第２のハードウェア構成例は、レーザ測位システム１４ｈを有する点、および、マイコン１４ａが各構成要素と１対１で接続されている点において、第１のハードウェア構成例（図７Ａ）と相違する。
【００８７】
レーザ測位システム１４ｈは、位置推定装置１４ｅおよびレーザレンジファインダ１５を有する。位置推定装置１４ｅおよびレーザレンジファインダ１５は、たとえばイーサネット（登録商標）ケーブルで接続されている。位置推定装置１４ｅおよびレーザレンジファインダ１５の各動作は上述した通りである。レーザ測位システム１４ｈは、ＡＧＶ１０のポーズ（ｘ,ｙ,θ）を示す情報をマイコン１４ａに出力する。
【００８８】
マイコン１４ａは、種々の汎用Ｉ／Ｏインタフェースまたは汎用入出力ポート（図示せず）を有している。マイコン１４ａは、通信回路１４ｄ、レーザ測位システム１４ｈ等の、走行制御装置１４内の他の構成要素と、当該汎用入出力ポートを介して直接接続されている。
【００８９】
図７Ｂに関して上述した構成以外は、図７Ａの構成と共通である。よって共通の構成の説明は省略する。
【００９０】
ＡＧＶ１０は、図示されていないバンパースイッチなどのセーフティセンサを備えていてもよい。ＡＧＶ１０は、ジャイロセンサなどの慣性計測装置を備えていてもよい。ＡＧＶ１０は、ロータリエンコーダ１８ａおよび１８ｂまたは慣性計測装置などの内界センサによる測定データを利用すれば、ＡＧＶ１０の移動距離および姿勢の変化量(角度)を推定することができる。これらの距離および角度の推定値は、オドメトリデータと呼ばれ、位置推定装置１４ｅによって得られる位置および姿勢の情報を補助する機能を発揮し得る。
【００９１】
（４）地図データ
図８Ａ、図８Ｂ、図８Ｃ、図８Ｄ、図８Ｅ、および図８Ｆは、センサデータを取得しながら移動するＡＧＶ１０を模式的に示す図である。ユーザ１は、端末装置２０を操作しながらマニュアルでＡＧＶ１０を移動させてもよい。あるいは、図７Ａおよび図７Ｂに示される走行制御装置１４を備えるユニット、または、ＡＧＶ１０そのものを台車に載置し、台車をユーザ１が手で押す、または牽くことによってセンサデータを取得してもよい。
【００９２】
図８Ａには、レーザレンジファインダ１５を用いて周囲の空間をスキャンするＡＧＶ１０が示されている。所定のステップ角毎にレーザビームが放射され、スキャンが行われる。なお、図示されたスキャン範囲は模式的に示した例であり、上述した合計２７０度のスキャン範囲とは異なっている。
【００９３】
図８Ａ〜図８Ｆの各々では、レーザビームの反射点の位置が、記号「・」で表される複数の黒点４を用いて模式的に示されている。レーザビームのスキャンは、レーザレンジファインダ１５の位置および姿勢が変化する間に短い周期で実行される。このため、現実の反射点の個数は、図示されている黒点４の個数よりも遥かに多い。位置推定装置１４ｅは、走行に伴って得られる黒点４の位置を、たとえばメモリ１４ｂに蓄積する。地図データは、ＡＧＶ１０が走行しながらスキャンを継続して行うことにより、徐々に完成されてゆく。図８Ｂから図８Ｅでは、簡略化のためスキャン範囲のみが示されている。当該スキャン範囲は例示であり、上述した合計２７０度の例とは異なる。
【００９４】
地図は、地図作成に必要な量のセンサデータを取得した後、そのセンサデータに基づいて、このＡＧＶ１０内のマイコン１４ａまたは外部のコンピュータを用いて作成してもよい。あるいは、地図は、移動しつつあるＡＧＶ１０が取得したセンサデータに基づいてリアルタイムで作成してもよい。
【００９５】
図８Ｆは、完成した地図４０の一部を模式的に示す図である。図８Ｆに示される地図では、レーザビームの反射点の集まりに相当する点群(Point Cloud)によって自由空間が仕切られている。地図の他の例は、物体が占有している空間と自由空間とをグリッド単位で区別する占有格子地図である。位置推定装置１４ｅは、地図のデータ（地図データＭ）をメモリ１４ｂまたは記憶装置１４ｃに蓄積する。なお図示されている黒点の数または密度は一例である。
【００９６】
こうして得られた地図データは、複数のＡＧＶ１０によって共有され得る。
【００９７】
ＡＧＶ１０が地図データに基づいて自己位置を推定するアルゴリズムの典型例は、ＩＣＰ(Iterative Closest Point)マッチングである。前述したように、ＡＧＶ１０は、レーザレンジファインダ１５のスキャン結果から作成された局所的地図データ(センサデータ)に対して、より広範囲の地図データＭとのマッチングを行うことにより、地図データＭ上における自己位置（ｘ,ｙ,θ）を推定することができる。
【００９８】
ＡＧＶ１０が走行するエリアが広い場合、地図データＭのデータ量が多くなる。そのため、地図の作成時間が増大したり、自己位置推定に多大な時間を要したりなどの不都合が生じる可能性がある。そのような不都合が生じる場合には、地図データＭを、複数の部分地図のデータに分けて作成および記録してもよい。
【００９９】
図９は、４つの部分地図データＭ１、Ｍ２、Ｍ３、Ｍ４の組み合わせによって１つの工場の１フロアの全域がカバーされる例を示している。この例では、１つの部分地図データは、５０ｍ×５０ｍの領域をカバーしている。Ｘ方向およびＹ方向のそれぞれにおいて隣接する２つの地図の境界部分に、幅５ｍの矩形の重複領域が設けられている。この重複領域を「地図切替エリア」と呼ぶ。ＡＧＶ１０は、１つの部分地図を参照しながら走行し、地図切替エリアに到達すると、隣接する他の部分地図を参照する走行に切り替える。部分地図の枚数は、４枚に限らず、ＡＧＶ１０が走行するフロアの面積、地図作成および自己位置推定を実行するコンピュータの性能に応じて適宜設定してよい。部分地図データのサイズおよび重複領域の幅も、上記の例に限定されず、任意に設定してよい。
【０１００】
（５）運行管理装置の構成例
図１０は、運行管理装置５０のハードウェア構成例を示している。運行管理装置５０は、ＣＰＵ５１と、メモリ５２と、位置データベース（位置ＤＢ）５３と、通信回路５４と、地図データベース（地図ＤＢ）５５と、画像処理回路５６とを有する。
【０１０１】
ＣＰＵ５１、メモリ５２、位置ＤＢ５３、通信回路５４、地図ＤＢ５５および画像処理回路５６は、バス５７で接続されており、相互にデータを授受することが可能である。
【０１０２】
ＣＰＵ５１は、運行管理装置５０の動作を制御する信号処理回路（コンピュータ）である。典型的にはＣＰＵ５１は半導体集積回路である。
【０１０３】
メモリ５２は、ＣＰＵ５１が実行するコンピュータプログラムを記憶する、揮発性の記憶装置である。メモリ５２は、ＣＰＵ５１が演算を行う際のワークメモリとしても利用され得る。
【０１０４】
位置ＤＢ５３は、各ＡＧＶ１０の行き先となり得る各位置を示す位置データを格納する。位置データは、たとえば管理者によって工場内に仮想的に設定された座標によって表され得る。位置データは管理者によって決定される。
【０１０５】
通信回路５４は、たとえばイーサネット（登録商標）規格に準拠した有線通信を行う。通信回路５４は、アクセスポイント２(図３)と有線で接続されており、アクセスポイント２を介して、ＡＧＶ１０と通信することができる。通信回路５４は、ＡＧＶ１０に送信すべきデータを、バス５７を介してＣＰＵ５１から受信する。また通信回路５４は、ＡＧＶ１０から受信したデータ（通知）を、バス５７を介してＣＰＵ５１および／またはメモリ５２に送信する。
【０１０６】
地図ＤＢ５５は、ＡＧＶ１０が走行する工場等の内部の地図のデータを格納する。当該地図は、地図４０（図８Ｆ）と同じであってもよいし、異なっていてもよい。地図ＤＢ５５に格納される地図は、各ＡＧＶ１０の位置と１対１で対応関係を有する地図であれば、データの形式は問わない。たとえば地図ＤＢ５５に格納される地図は、ＣＡＤによって作成された地図であってもよい。
【０１０７】
位置ＤＢ５３および地図ＤＢ５５は、不揮発性の半導体メモリ上に構築されてもよいし、ハードディスクに代表される磁気記録媒体、または光ディスクに代表される光学式記録媒体上に構築されてもよい。
【０１０８】
画像処理回路５６は、モニタ５８に表示される映像のデータを生成する回路である。画像処理回路５６は、専ら、管理者が運行管理装置５０を操作する際に動作する。なお、モニタ５９は、運行管理装置５０と一体化されていてもよい。また画像処理回路５６の処理をＣＰＵ５１が行ってもよい。
【０１０９】
（６）運行管理装置の動作
図１１を参照しながら、運行管理装置５０の動作の概要を説明する。図１１は、運行管理装置５０によって決定されたＡＧＶ１０の移動経路の一例を模式的に示す図である。
【０１１０】
ＡＧＶ１０および運行管理装置５０の動作の概要は以下のとおりである。以下では、あるＡＧＶ１０が現在、位置Ｍ１にあり、幾つかの位置を通過して、最終的な目的地である位置Ｍｎ＋１（ｎ：１以上の正の整数）まで走行する例を説明する。なお、位置ＤＢ５３には、位置Ｍ１の次に通過すべき位置Ｍ２、位置Ｍ２の次に通過すべき位置Ｍ３等の各位置を示す座標データが記録されている。
【０１１１】
運行管理装置５０のＣＰＵ５１は、位置ＤＢ５３を参照して位置Ｍ２の座標データを読み出し、位置Ｍ２に向かわせる走行指令を生成する。通信回路５４は、アクセスポイント２を介して走行指令をＡＧＶ１０に送信する。
【０１１２】
ＣＰＵ５１は、ＡＧＶ１０から、アクセスポイント２を介して、定期的に現在位置および姿勢を示すデータを受信する。こうして運行管理装置５０は、各ＡＧＶ１０の位置をトラッキングすることができる。ＣＰＵ５１は、ＡＧＶ１０の現在位置が位置Ｍ２に一致したと判定すると、位置Ｍ３の座標データを読み出し、位置Ｍ３に向かわせる走行指令を生成してＡＧＶ１０に送信する。つまり運行管理装置５０は、ＡＧＶ１０がある位置に到達したと判定すると、次に通過すべき位置に向かわせる走行指令を送信する。これにより、ＡＧＶ１０は、最終的な目的位置Ｍｎ＋１に到達することができる。上述した、ＡＧＶ１０の通過位置および目的位置は、「マーカ」と呼ばれることがある。
【０１１３】
（７）ＡＧＶの構成・動作例
上述した項目（１）〜（６）は、一般的なＡＧＶの構成および動作である。以下、本実施形態にかかるＡＧＶの構成および動作のより具体的な例を説明する。なお、ＡＧＶには、これまでと同じ参照符号「１０」を付して説明する。
【０１１４】
図１２は、本実施形態にかかるＡＧＶ１０の構成を示している。
【０１１５】
構成上、図１２のＡＧＶ１０が図７ＡのＡＧＶ１０と相違する点は、図７Ａのレーザレンジファインダ１５が、図１２ではステレオカメラ２５に変更されている点である。他は共通である。
【０１１６】
ステレオカメラ２５は、対象物を複数の異なる方向から同時に撮影することにより、画像のみならず、奥行き方向の情報も記録できるようにしたカメラである。本実施形態では、ステレオカメラ２５は、水平方向に数センチメートルから数十センチメートル離れて並べて配置された２つのデジタルカメラである。２つのデジタルカメラは、ステレオカメラ２５の右眼および左眼に対応し、それぞれがレンズとレンズに入射した光を受ける撮像素子とを有する。各撮像素子は、画像信号を出力するＣＭＯＳイメージセンサまたはＣＣＤイメージであり得る。ステレオカメラ２５は、同期して撮影された左右のデジタルカメラの画像の視差を算出し、視差に対応する被写体までの距離を算出する演算回路を備えている。視差の算出方法は公知であるから、本明細書において具体的な説明は省略する。
【０１１７】
なお、図７Ｂの構成に関しても、レーザレンジファインダ１５をステレオカメラ２５に変更すれば、本実施形態にかかるＡＧＶ１０として採用することができる。図７Ｂの構成に対応する、ステレオカメラ２５を有するＡＧＶ１０の図示は省略する。
【０１１８】
なお、本実施形態にかかるＡＧＶ１０は、ステレオカメラおよびレーザレンジファインダを有していてもよい。すなわち、本実施形態は、レーザレンジファインダの使用を排除するものではない。
【０１１９】
一方、データに関して図１２のＡＧＶ１０が図７ＡのＡＧＶ１０と相違する点は、地図データＭの実体である。外界センサとしてステレオカメラ２５を採用したことに伴い、図１２における記憶装置１４ｃには、空間の各位置に関連付けられた複数の基準画像が格納されている。各基準画像は、空間８０（図１３Ａ参照）を予め撮影して取得された画像である。基準画像を撮影時の位置は予め分かっているため、各基準画像には各基準画像の空間８０内の位置情報を関連付けることができる。
【０１２０】
図１３Ａは、ＡＧＶ１０が走行する空間８０を、ステレオカメラ２５によって撮影した環境画像９０の例を模式的に示している。図示される環境画像９０は、例えばステレオカメラ２５の左眼の画像であるとし、右眼の画像の記載は省略する。図中の破線の矩形は、環境画像９０の範囲、換言するとステレオカメラ２５の左眼の視野を表している。
【０１２１】
空間８０には種々の設置物が存在する。例えば、図１３Ａには、キャビネット８２、奥行き方向に細長い机８４が存在することが理解される。
【０１２２】
ＡＧＶ１０の位置推定装置１４ｅは、ステレオカメラ２５から環境画像９０を受け取り、環境画像９０を解析する。ここでいう「解析」とは、特徴点の抽出、および、画像オブジェクトの検出である。
【０１２３】
ＡＧＶ１０の位置推定装置１４ｅは、予め「画像処理規則」を有している。「画像処理規則」は、特徴点を抽出する規則と、画像オブジェクトを検出する規則を含む。
【０１２４】
特徴点を抽出する規則は、環境画像９０内の、隣接する画素間の輝度差が閾値以上である両方の画素を、特徴点であると認定する規則である。より端的には、特徴点を抽出する規則は、環境画像９０内の「エッジ」を構成する画素群を、特徴点にする規則である。特徴点は、他の方法によって決定されてもよく、その方法が特徴点を抽出する規則として規定されていればよい。位置推定装置１４ｅは、環境画像９０内に、特徴点を抽出する規則に合致する画素が存在する場合に、当該画素を特徴点として検出する。
【０１２５】
画像オブジェクトを検出する規則は、平行な２本の白線を画像オブジェクトであると認定する規則である。本実施形態では、画像オブジェクトを検出する規則の例として、平行な２本の白線は、空間８０の床面に描かれた、ＡＧＶ１０の走行専用レーンの標示である、という意味がシステム管理者によって与えられている。画像オブジェクトを検出する規則の他の例として、平行な２本の白線の間の白の点線は中央分離帯であるとし、黄色の直線は、積載物の置き場所である、という規則を設けることもできる。位置推定装置１４ｅは、環境画像９０内に、画像オブジェクトを検出する規則に合致する画素群が存在する場合に、当該画素群を画像オブジェクトとして検出する。
【０１２６】
図１３Ａには、解析結果として、「○」（例えば符号９１）で表現された、抽出された多数の特徴点と、平行な２本の白線の画像オブジェクト９２Ａおよび９２Ｂが示されている。
【０１２７】
上述の例では、特徴点および画像オブジェクトは、いずれも環境画像９０の全体から抽出され、検出されることを想定していた。
【０１２８】
しかしながら、本実施形態は、特徴点の抽出対象領域および画像オブジェクトの検出対象領域を予め定めておいてもよい。図１３Ｂは、環境画像９０を、特徴点の抽出対象の領域９０Ａと、画像オブジェクトの検出対象の領域９０Ｂとに分けた例を模式的に示している。本実施形態は、環境画像９０を解析する領域を制限することにより、処理負荷を軽減することができる。図１３Ｂでは、領域９０Ａで特徴点を示す「○」が抽出され、領域９０Ｂで画像オブジェクト９２Ａおよび９２Ｂが検出されていることを示している。
【０１２９】
図１３Ｂの例では、領域９０Ｂが領域９０Ａの下方に位置している。その理由は、画像オブジェクトを検出する規則が、床面に描かれた標示を画像オブジェクトであるとして検出することを想定しているからである。したがって、領域９０Ａおよび９０Ｂの位置関係は、上述した「画像処理規則」に応じて決定され得る。さらに、領域９０Ａおよび９０Ｂは、環境画像９０を２分割した一方と他方でなくてもよいし、領域９０Ａおよび／または９０Ｂがそれぞれ複数設けられてもよい。
【０１３０】
ＡＧＶ１０の位置推定装置１４ｅは、抽出した複数の特徴点を、記憶装置１４ｃに地図データＭとして記憶された複数の基準画像の各々と照合する。より具体的に説明する。複数の基準画像は、予め撮影されて記憶装置１４ｃに記憶されている。このとき、位置推定装置１４ｅは、各基準画像に、上述した特徴点を抽出する規則を適用して、各基準画像内の特徴点を予め抽出しておく。これにより、位置推定装置１４ｅは、抽出した特徴点同士を照合することができる。例えば位置推定装置１４ｅは、環境画像９０の複数の特徴点の位置関係が、どの基準画像の複数の特徴点の位置関係と相関が大きいかを判定する。その結果、位置推定装置１４ｅは、抽出した特徴点と相関が最も大きくなる特徴点を有する基準画像を決定する。
【０１３１】
相関を算出する方法は任意である。相関の大きさは、相関係数の大きさを求めることによって定量的に評価することができる。例えば環境画像９０の特徴点と、ある基準画像の特徴点との相関係数は、共分散を環境画像９０の特徴点の標準偏差で除算し、かつ、基準画像の特徴点の標準偏差で除算することによって求められる。
【０１３２】
なお、本実施形態は、各基準画像とともに、または各基準画像に代えて、特徴点を表すデータを記憶装置１４ｃに記憶させてもよい。これにより、位置推定装置１４ｅは、各基準画像の特徴点を都度抽出する必要がなくなる。
【０１３３】
位置推定装置１４ｅは、決定した基準画像に関連付けられている位置を、ＡＧＶ１０の現在の位置であると推定する。
【０１３４】
位置推定装置１４ｅは、検出した画像オブジェクトの意味から、自己位置を推定することができる。そのために、本実施形態は、画像オブジェクトと空間８０内の位置とを関連付けたデータを予め用意しておく。例えば、位置に応じて特定の画像オブジェクトの見え方（向き、大きさ等）が変わり得るため、見え方と、見え方に応じた位置とを関連付けることができる。特定の画像オブジェクトが空間８０内に１箇所しか存在しない場合には、画像オブジェクトと位置とを一意に関連付けることができる。あるいは、複数の画像オブジェクトが存在する場合には、空間８０内で当該組み合わせが検出される位置が限定され得るため、位置を関連付けることができる。このように、位置推定装置１４ｅは、画像オブジェクトと当該データとを利用することによっても、検出した画像オブジェクトの位置を決定することができる。
【０１３５】
図１４は、特徴点を用いた自己位置の推定と、画像オブジェクトを用いた自己位置の推定とを混在させて走行するＡＧＶ１０を説明するための図である。ＡＧＶ１０は、図面の右方向に走行しつつあるとする。また、位置１１０の近傍は、環境画像の特徴点と基準画像の特徴点とが比較的よく一致し、走行に伴う位置の変化を精度良く検出することができているとする。なお、位置１１０の近傍においても、ＡＧＶ１０の位置推定装置１４ｅは、画像オブジェクトに基づく自己位置推定を行い、特徴点に基づく自己位置推定を補間し、位置推定精度を向上させてもよい。このときの位置推定装置１４ｅの処理は、図２に示すフローチャートによって表されている。よって再度の説明は省略する。
【０１３６】
ＡＧＶ１０が走行を継続して位置Ｐに到達すると、位置Ｐの両側の壁１１２が単調であること等により、環境画像の特徴点と基準画像の特徴点との一致の程度である信頼度が閾値未満にまで低下し、自己位置の推定精度が低下する場合が生じ得る。そのような位置は、事前に把握可能である。そこで、そのような位置には、例えば２本の白線１１４を用意し、２本の白線１１４に、位置に応じて複数のマークを付与しておく。ＡＧＶ１０は、２本の白線１１４の検出に伴って各マークを検出し得る。本実施の形態において各マークと位置情報とを関連付けたデータを用意すれば、位置推定装置１４ｅは、自己位置を精度よく推定できる。この場合、ＡＧＶ１０は、特徴点の照合結果は利用せず、画像オブジェクトによる自己位置推定を行えばよい。このときの位置推定装置１４ｅの処理は、図２に示すフローチャートにおいて、結果的にステップＳ４およびＳ５が実行されることを意味する。
【０１３７】
上述の実施形態では、ＡＧＶ１０は予め基準画像の集合を保持し、ステレオカメラ２５によって取得した画像の特徴点と、各基準画像の特徴点とを比較することで、現在の位置を推定した。しかしながら、本発明は、そのような基準画像を予め用意しておかなくても、ＡＧＶ１０に自己位置を推定させながら動作させることが可能である。
【０１３８】
例えば、ＡＧＶ１０が、ある被写体に近付きながら、ステレオカメラ２５で当該被写体を撮影する状況を考える。ステレオカメラ２５の左眼および右眼の画像に存在する被写体像のある特徴点の視差（特徴点の変位量および変位方向）は、ＡＧＶ１０の移動に伴って変化する。視差の変化量は、ＡＧＶ１０が被写体に近付いた距離に比例する。ＡＧＶ１０が被写体から離れる場合や、被写体を右または左に見ながら移動する場合も同様である。つまり、ＡＧＶ１０は、視差の変化から、前回の撮影時から今回の撮影時までのＡＧＶ１０の相対的な移動量を算出できる。移動を開始する絶対座標が正しく与えられさえすれば、ＡＧＶ１０は、相対的な移動量を累積して現在の位置を把握しながら移動することができる。上記方法によれば、本発明は、基準画像を予め用意する必要はない。
【０１３９】
さらに、本発明は、ＡＧＶ１０に画像オブジェクトを認識させ、当該オブジェクトに何らかの意味、例えば走行禁止領域を示すという意味、を与えておけば、ＡＧＶ１０をその意味に従って走行させることができる。例えば、画像オブジェクトが黄色で、Ｘｃｍの幅を有し、Ｙｃｍ以上の長さを有する場合には、積載物を置く領域である、という意味を持たせておく。一般に、ＡＧＶ１０は、積載物の荷下ろしのために当該領域に近接して停止することはあっても、横切ることはない。そこで、走行中のＡＧＶ１０が上述の条件に合致する画像オブジェクトを検出した場合は、ＡＧＶ１０は、走行途中に画像オブジェクトに対応する線を横切らないように走行させることができる。
【０１４０】
上記の包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラム、または記録媒体によって実現されてもよい。あるいは、システム、装置、方法、集積回路、コンピュータプログラム、および記録媒体の任意な組み合わせによって実現されてもよい。
【０１４１】
本出願は、２０１８年３月３０日に出願された日本特許出願である特願２０１８−０６８３８２号に基づく優先権を主張し、当該日本特許出願に記載されたすべての記載内容を援用する。
【産業上の利用可能性】
【０１４２】
本発明の例示的な移動体および移動体システムは、工場、倉庫、建設現場、物流、病院などで荷物、部品、完成品などの物の移動および搬送に好適に利用され得る。
【符号の説明】
【０１４３】
１００…移動体管理システム、１０１…移動体、１０３…ステレオカメラ、１０５…位置推定装置、１０６…記憶装置、１０７…コントローラ、１０９…駆動装置
【図１】
2019187816.tif 000003
【図２】
2019187816.tif 000004
【図３】
2019187816.tif 000005
【図４】
2019187816.tif 000006
【図５Ａ】
2019187816.tif 000007
【図５Ｂ】
2019187816.tif 000008
【図６】
2019187816.tif 000009
【図７Ａ】
2019187816.tif 000010
【図７Ｂ】
2019187816.tif 000011
【図８Ａ】
2019187816.tif 000012
【図８Ｂ】
2019187816.tif 000013
【図８Ｃ】
2019187816.tif 000014
【図８Ｄ】
2019187816.tif 000015
【図８Ｅ】
2019187816.tif 000016
【図８Ｆ】
2019187816.tif 000017
【図９】
2019187816.tif 000018
【図１０】
2019187816.tif 000019
【図１１】
2019187816.tif 000020
【図１２】
2019187816.tif 000021
【図１３Ａ】
2019187816.tif 000022
【図１３Ｂ】
2019187816.tif 000023
【図１４】
2019187816.tif 000024
【国際調査報告】
2019187816.tif 000025
2019187816.tif 000026