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