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