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