(57)【特許請求の範囲】
【請求項１】
移動領域における位置を推定しながら前記移動領域を走行する移動体であって、
周囲に存在する障害物の位置情報を取得する障害物情報取得部と、
環境地図を作成する地図作成部と、
予め前記移動領域の所定の位置にて取得された前記障害物の位置情報である環境地図復元用データと、前回作成された前記環境地図とを記憶する記憶部と、
前記前回作成された環境地図と前記障害物情報取得部にて取得した前記障害物の位置情報との比較に基づいて、現在の位置を推定位置として推定する自己位置推定部と、
を備え、
前記地図作成部は、前記環境地図復元用データ及び／又は前記推定位置において取得した前記障害物の位置情報と前記前回作成された環境地図とを用いて一時的な地図を作成し、前記一時的な地図に含まれる前記障害物の位置情報のうち、過去の位置において前記障害物情報取得部により取得できていたが、前記過去の位置から前記移動体が移動するに従って取得できなくなった前記障害物の位置情報を前記一時的な地図から削除し、当該削除後の地図を前記推定位置における環境地図とする、
移動体。
【請求項２】
前記地図作成部は、前記一時的な地図に含まれる領域のうち、前記推定位置に到達するまでに通過した領域である通過領域に対応する領域を前記一時的な地図から削除する、請求項１に記載の移動体。
【請求項３】
前記地図作成部は、前記一時的な地図に含まれる領域のうち、前記推定位置から前記障害物情報取得部により前記障害物の位置情報を取得可能な最大取得可能距離以上離れた領域である測定レンジ外領域に対応する領域を前記一時的な地図から削除する、請求項１又は２に記載の移動体。
【請求項４】
前記地図作成部は、前記一時的な地図に含まれる領域のうち、前記推定位置から前記障害物情報取得部にて実際に取得された前記障害物の位置情報までの距離以上離れた領域である無検出領域に対応する領域を前記一時的な地図から削除する、請求項１〜３のいずれかに記載の移動体。
【請求項５】
前記地図作成部は、前記一時的な地図を所定の個数の部分領域に分割し、前記障害物の位置情報が第１の数未満含まれた状態が第１の時間以上継続した前記部分領域である削除対象部分領域を前記一時的な地図から削除する、請求項１〜４のいずれかに記載の移動体。
【請求項６】
前記地図作成部は、前記削除対象部分領域が列方向又は行方向に第２の数以上連続して並んだときに、前記第２の数以上連続して並んだ前記削除対象部分領域により形成される領域を前記一時的な地図から削除する、請求項５に記載の移動体。
【請求項７】
前記第２の数は、前記一時的な地図の列方向における分割数である列方向分割数、及び／又は、前記一時的な地図の行方向における分割数である行方向分割数と同一である、請求項６に記載の移動体。
【請求項８】
前記地図作成部は、現在の推定位置から移動することによって到達予定の将来位置に対応する前記環境地図復元用データを用いて前記一時的な地図を作成する場合、前記現在の推定位置における前記障害物の位置情報に加えて、前記将来位置に対応する前記環境地図復元用データの前記障害物の位置情報も含めて、前記部分領域に含まれる前記障害物の位置情報を計数する、請求項５〜７のいずれかに記載の移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動領域における位置を推定しながら移動領域を走行する移動体に関する。
【背景技術】
【０００２】
従来から、周囲環境の中を自律して移動する移動体が知られている。移動体が周囲環境の中を自律して移動するためには、移動空間内の物体（以下、障害物と称す）が存在する領域と存在しない領域とを表した環境地図が必要となる。このような環境地図の取得方法については、種々の方法が考案されているが、近年、移動しつつ、リアルタイムで位置の推定と環境地図の作成とを行う技術としてＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）が注目されている。ＳＬＡＭを利用して、レーザレンジファインダ（ＬＲＦ：Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ）又はカメラによる距離計測の結果得られた地形データを用いて環境地図を生成する移動ロボットが提案されている。
【０００３】
ＳＬＡＭを利用して環境地図を作成する方法では、計測誤差が累積することにより、環状の環境地図を作成する場合に、開始部分と終了部分とが一致しないことがある（いわゆる、環状経路問題）。
特許文献１では、このような環状経路問題が発生しないように、環境地図を複数の部分地図に分割することを提案している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−９２１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された移動体では、環境地図を構成する複数の部分地図を作成する際に、複数の連結点を設定し、設定した連結点の中から連結する部分地図の連結点を選択して連結関係を設定する。この場合、環境地図をどのように分割して部分地図を作成するかの計画を立てることが難しく、自動化することが困難である。
【０００６】
また、特に距離計測可能距離が大きいレーザレンジファインダ又はカメラなどを用いた場合であって、移動体が移動する領域がレーザレンジファインダ又はカメラなどにより距離計測可能な領域と同等かそれより狭い領域である場合には、環境地図を複数の部分地図に分割した場合でも、部分地図において環状経路問題が発生する。
【０００７】
本発明の課題は、環境地図を用いて移動領域における移動体の位置を推定しながら移動領域を走行する移動体において、環境地図の環状経路問題を解決することにある。
【課題を解決するための手段】
【０００８】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
【０００９】
本発明の一見地に係る移動体は、移動領域における位置を推定しながら移動領域を走行する移動体である。移動体は、障害物情報取得部と、記憶部と、自己位置推定部と、地図作成部と、を備える。
障害物情報取得部は、移動体の周囲に存在する障害物の位置情報を取得する。記憶部は、環境地図復元用データと、前回作成された環境地図とを記憶する。環境地図復元用データは、予め移動領域の所定の位置にて障害物情報取得部により取得された障害物の位置情報である。
自己位置推定部は、前回作成された環境地図と障害物情報取得部にて取得した障害物の位置情報との比較に基づいて、推定位置を推定する。推定位置は、移動体の現在の位置である。
【００１０】
地図作成部は、環境地図復元用データ及び／又は推定位置において取得した障害物の位置情報と、前回作成された環境地図とを用いて拡大環境地図を作成する。
拡大環境地図を作成後、地図作成部は、拡大環境地図に含まれる領域のうち、無情報領域に対応する領域を拡大環境地図から削除して、推定位置における環境地図を作成する。無情報領域は、障害物情報取得部により障害物の位置情報が取得できない領域である。
【００１１】
上記の移動体が所定の移動領域を移動中、障害物情報取得部が、移動体の周囲に存在する障害物の位置情報を取得する。障害物の位置情報を取得後、自己位置推定部が、前回作成された環境地図と、障害物情報取得部にて取得した障害物の位置情報との比較に基づいて、移動体の現在の位置を推定位置として推定する。
【００１２】
推定位置を推定後、地図作成部は、環境地図復元用データ及び／又は推定位置において取得した障害物の位置情報と、前回作成された環境地図とを用いて、拡大環境地図を作成する。拡大環境地図を作成後、地図作成部は、拡大環境地図に含まれる領域のうち、無情報領域に対応する領域を拡大環境地図から削除して、推定位置における環境地図を作成し記憶部に記憶する。
【００１３】
上記の移動体においては、拡大環境地図に含まれる領域のうち、障害物情報取得部によって障害物の位置情報が取得できない領域に対応する領域（無情報領域）を拡大環境地図から削除して、推定位置（現在の位置）における環境地図を作成している。これにより、作成された環境地図における環状経路問題の発生を低減できる。
【００１４】
地図作成部は、拡大環境地図に含まれる領域のうち、通過領域に対応する領域を無情報領域として拡大環境地図から削除してもよい。通過領域は、所定のタイミングまでに通過した領域である。これにより、移動体がすでに通過して、障害物情報取得部により障害物の位置情報が取得できない領域を、環境地図に含めないようにできる。
【００１５】
地図作成部は、拡大環境地図に含まれる領域のうち、測定レンジ外領域に対応する領域を無情報領域として拡大環境地図から削除してもよい。測定レンジ外領域は、推定位置から最大取得可能距離以上離れた領域である。最大取得可能領域は、障害物情報取得部により障害物の位置情報を取得可能な測定距離である。
これにより、障害物情報取得部の最大測定可能距離以上の位置であるために障害物の位置情報が取得できない領域を、環境地図に含めないようにできる。その結果、環境地図において環状経路問題が発生することを回避できる。
【００１６】
地図作成部は、拡大環境地図に含まれる領域のうち、無検出領域に対応する領域を無情報領域として拡大環境地図から削除してもよい。無検出領域は、推定位置から、位置情報取得部にて実際に取得された障害物の位置情報までの距離以上離れた領域である。
これにより、拡大環境地図から、障害物の厚み方向などの障害物情報取得部により障害物の位置情報が取得できない領域を、環境地図に含めないようにできる。
【００１７】
地図作成部は、拡大環境地図を所定の個数の部分領域に分割し、部分領域のうち削除対象部分領域を無情報領域として拡大環境地図から削除してもよい。削除対象部分領域は、障害物の位置情報が第１の数未満含まれた状態が第１の時間以上継続した部分領域である。これにより、拡大環境地図から削除可能な領域を適切に選択して、拡大環境地図から削除できる。
【００１８】
地図作成部は、削除対象部分領域が列方向又は行方向に第２の数以上連続して並んだときに、第２の数以上連続して並んだ削除対象部分領域により形成される領域を、無情報領域として拡大環境地図から削除してもよい。これにより、効率よく削除対象部分領域を拡大環境地図から削除できる。
【００１９】
第２の数は、列方向分割数、及び／又は、行方向分割数と同一であってもよい。列方向分割数は、拡大環境地図の列方向における分割数である。行方向分割数は、拡大環境地図の行方向における分割数である。これにより、より効率よく削除対象部分領域を拡大環境地図から削除できる。
【００２０】
地図作成部は、将来位置に対応する環境地図復元用データを用いて拡大環境地図を作成してもよい。このとき、地図作成部は、現在の推定位置における障害物の位置情報に加えて、将来位置に対応する環境地図復元用データの障害物の位置情報も含めて、部分領域に含まれる障害物の位置情報を計数する。将来位置は、推定位置から移動することによって到達予定の位置である。
【００２１】
将来位置に対応する環境地図復元用データを含めて拡大環境地図を作成することにより、環境地図の復元を高速化できる。
【００２２】
また、現在の推定位置にて取得した障害物の位置情報に加えて、将来位置に対応する環境地図復元用データに含まれる障害物の位置情報も含めて、部分領域に含まれる障害物の位置情報を計数することにより、環境地図から誤って将来位置に対応する環境地図復元用データに含まれる障害物の位置情報を削除することを回避できる。
【発明の効果】
【００２３】
環境地図を用いて移動領域における移動体の位置を推定しながら移動領域を走行する移動体において、環境地図の環状経路問題を、環境地図を分割した場合に発生する環状経路問題も含めて解決できる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１実施形態の移動体の構成を示す図。
【図２】環境地図の作成方法を示すフローチャート。
【図３】移動領域及び走行経路の一例を示す図。
【図４】移動領域とレーザレンジセンサの測定レンジとの関係を示す図。
【図５Ａ】記憶部に記憶された環境地図の一例を示す図。
【図５Ｂ】位置Ｐ３にて取得した障害物の位置情報の一例を示す図。
【図５Ｃ】将来位置に対応する環境地図復元用データの一例を示す図。
【図６Ａ】教示走行モードの実行時に作成される第１拡大環境地図の一例を示す図。
【図６Ｂ】再現走行モードの実行時に作成される第１拡大環境地図の一例を示す図。
【図７】第２拡大環境地図を分割した一例を模式的に示す図。
【図８Ａ】現在の推定位置にて取得した障害物の位置情報と将来位置に対応する環境地図復元用データとを、第２拡大環境地図にプロットした状態の一例を示す図。
【図８Ｂ】現在の推定位置にて取得した障害物の位置情報と将来位置に対応する環境地図復元用データとを、第２拡大環境地図にプロットした状態の他の一例を示す図。
【図９Ａ】教示走行モードの実行中に障害物の位置情報を計数した場合の削除対象部分領域の一例を示す図。
【図９Ｂ】再現走行モードの実行中に障害物の位置情報を計数した場合の削除対象部分領域の一例を示す図。
【図１０Ａ】教示走行モードの実行時に現在位置にて作成される環境地図の一例を示す図。
【図１０Ｂ】再現走行モードの実行時に現在位置にて作成される環境地図の一例を示す図。
【図１１】移動体の動作の概略を示すフローチャート。
【図１２】再現走行モードを実行中の移動体の動作を示すフローチャート。
【図１３】教示走行モードを実行中の移動体の動作を示すフローチャート。
【発明を実施するための形態】
【００２５】
１．第１実施形態
（１）移動体の全体構成
以下、本発明の第１実施形態による移動体１００の全体構成について図１を用いて説明する。
移動体１００は、走行部１と、障害物情報取得部３と、制御部５と、を主に備える。走行部１は、移動体１００の本体に備えられ、移動体１００を所定の移動領域において移動させる。
【００２６】
障害物情報取得部３は、移動体１００の走行方向前側に設けられた前方レーザレンジセンサ３１と、移動体１００の走行方向後側に設けられた後方レーザレンジセンサ３３とにより構成されており、移動体１００の前方及び後方にある障害物を検出する。
【００２７】
前方レーザレンジセンサ３１及び後方レーザレンジセンサ３３は、例えば、レーザ発振器によりパルス発振されたレーザ光を障害物などの目標物に照射し、目標物から反射した反射光をレーザ受信器により受信することにより、目標物までの距離を算出するレーザレンジファインダ（ＬＲＦ：Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ）である。レーザレンジファインダである前方レーザレンジセンサ３１及び後方レーザレンジセンサ３３は、照射するレーザ光を回転ミラーを用いて所定の角度で扇状にレーザ光を走査することができる。
【００２８】
本実施形態においては、前方レーザレンジセンサ３１により障害物の位置情報（後述）を取得可能な距離測定可能範囲（最大取得可能距離の一例）が、後方レーザレンジセンサ３３の距離測定可能範囲よりも広くなっている。例えば、本実施形態においては、後方レーザレンジセンサ３３は、後方レーザレンジセンサ３３を中心とした半径５ｍ程度の移動体１００の後方の１８０°程度の範囲の物体を検出できる。
一方、前方レーザレンジセンサ３１は、前方レーザレンジセンサ３１を中心とした半径２０ｍ程度の移動体１００の前方の１８０°程度の範囲に存在する物体を検出可能となっている。
【００２９】
障害物情報取得部３が上記の前方レーザレンジセンサ３１と後方レーザレンジセンサ３３とにより構成されることにより、移動体１００を中心とした（特に、移動体１００の前方において）より広い範囲に存在する障害物を検出できる。なお、上記の前方レーザレンジセンサ３１及び後方レーザレンジセンサ３３の距離測定可能範囲は、上記の検出範囲に限られず、必要に応じて、適切な検出範囲を設定できる。
【００３０】
また、本実施形態において、前方レーザレンジセンサ３１及び／又は後方レーザレンジセンサ３３は、上記の移動体１００の本体の鉛直方向の上方（例えば、人の身長よりも高い位置）の前方及び後方に取り付けられている。例えば、移動領域の床面などに設置された物体の移動が頻繁に行われる場合に（例えば、大規模小売店などのように、棚や看板のレイアウト変動が頻繁に行われる場合に）、前方レーザレンジセンサ３１及び後方レーザレンジセンサ３３により取得された障害物の位置情報の時間的な変化（特に、ある時間に存在した物体が、他の時間において存在しないような変化）の移動体１００の自己位置推定や自律走行に対する影響を低減できる。
【００３１】
制御部５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、記憶装置（ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの記憶装置により構成される）、及び各種インターフェースなどを備えるコンピュータである。後述する制御部５の各構成要素の機能の一部又は全部は、上記の記憶装置に記憶された所定のプログラムを実行することで実現されてもよい。
または、制御部５の各構成要素の機能の一部又は全部は、カスタムＩＣなどのハードウェアにより実現されていてもよい。
【００３２】
制御部５は、走行経路を教示する教示走行モードの実行時においては、障害物情報取得部３から入力した信号に基づいて移動領域における移動体１００の位置を推定しながら、後述する操作部７からの操作に基づいて走行部１を制御する。
【００３３】
一方、予め決められた走行経路を自律的に走行する再現走行モードの実行時において、制御部５は、障害物情報取得部３から入力した障害物の位置情報に基づいて移動領域における移動体１００の位置を推定し、推定された移動体１００の位置と、走行スケジュールに示された位置情報との比較に基づいて、走行部１を制御する。
【００３４】
移動体１００は、走行部１と、障害物情報取得部３と、制御部５とに加えて、さらに、操作部７を備える。操作部７は、操作者の手動操作による指示入力を受け付ける。操作部７は、例えば、軸周りの回転角度により制御の指示入力を受け付けるスロットルグリップを左右独立して設けることができる。また、操作部７は、前進速度を受け付けるスロットルグリップと、操舵方向の指示を受け付けるハンドルの組合せとすることも可能である。さらに、操作部７は、スロットルレバーやその他の入力手段を組み合わせたものとすることができる。
【００３５】
（２）走行部の詳細構成
以下、走行部１の詳細な構成について、図１を用いて説明する。走行部１は、２つの走行車輪（図示せず）に対応して、一対のモータ１１ａ、１１ｂと、エンコーダ１３ａ、１３ｂと、モータ駆動部１５ａ、１５ｂと、を有する。
一対のモータ１１ａ、１１ｂは、それぞれ、出力回転軸に上記の走行車輪を回転可能に接続し、モータ１１ａ、１１ｂの出力回転軸の回転により、走行車輪を回転させる。
【００３６】
エンコーダ１３ａ、１３ｂは、それぞれ、モータ１１ａの出力回転軸及びモータ１１ｂの出力回転軸に接続され、モータ１１ａ、１１ｂの回転位置を検出する。
モータ駆動部１５ａ、１５ｂは、それぞれ、走行制御部５９（後述）から入力される制御量と、対応するエンコーダ１３ａ、１３ｂにより検出されるモータ１１ａ、１１ｂの回転位置とに基づいて、対応するモータ１１ａ、１１ｂをフィードバック制御する。
【００３７】
（３）制御部の詳細構成
次に、制御部５の詳細な構成について、図１を用いて説明する。制御部５は、教示データ作成部５１と、ＳＬＡＭ処理部５３と、障害物情報変換部５５と、記憶部５７と、走行制御部５９と、を有する。
教示データ作成部５１は、教示走行モードにおける通過時刻と通過時刻に対応する通過点データの集合である走行スケジュールを作成する。
【００３８】
ＳＬＡＭ処理部５３は、位置推定と環境地図作成とを同時に行うＳＬＡＭ処理を実行する。なお、ＳＬＡＭ処理部５３の構成の詳細については、後ほど説明する。
障害物情報変換部５５は、障害物情報取得部３（前方レーザレンジセンサ３１、後方レーザレンジセンサ３３）において取得された検出信号を、移動体１００の周囲に存在する障害物の位置情報に変換する。例えば、障害物情報変換部５５は、障害物情報取得部３にて取得した検出信号を、所定の座標上の座標値である障害物の位置情報に変換する。
【００３９】
記憶部５７は、制御部５の記憶装置の記憶領域の少なくとも一部に形成された記憶領域である。記憶部５７は、環境地図復元用データと、環境地図とを記憶する。環境地図復元用データは、移動体１００が移動する移動領域の所定の位置にて障害物情報取得部３により予め取得された障害物の位置情報である。
環境地図は、地図作成部５３１により、前回の位置推定時に作成された環境地図であり、記憶部５７は、前回作成された環境地図を記憶する。
【００４０】
記憶部５７は、さらに、再現走行モードの実行時において移動体１００が自律的に移動する走行経路を示す走行スケジュールを記憶している。再現走行モードの実行時に、移動体１００は、走行スケジュールに示された目標位置を参照し、当該目標位置に到達するように走行部１を制御する。
【００４１】
走行制御部５９は、入力される走行命令に基づいて、モータ１１ａ、１１ｂの制御量を生成し、走行部１のモータ１１ａ、１１ｂに出力する。
【００４２】
走行制御部５９に入力される走行命令は、教示走行モードにおいては、操作部７を介して入力される操作者からの指示入力である。一方、再現走行モードにおいては、走行制御部５９に入力される走行命令は、ＳＬＡＭ処理部５３により推定される環境地図上の位置と走行スケジュールとの比較に基づいて生成される。
走行制御部５９としては、例えば、モーションコントローラを用いることができる。
【００４３】
（４）ＳＬＡＭ処理部の詳細構成
次に、ＳＬＡＭ処理部５３の構成の詳細について、図１を用いて説明する。図１に示すように、ＳＬＡＭ処理部５３は、地図作成部５３１と、自己位置推定部５３３と、を有する。
【００４４】
地図作成部５３１は、障害物情報取得部３により取得した障害物の位置情報に基づいて、ローカルマップ（局所地図）及びグローバルマップ（環境地図）を作成する。本実施形態においては、地図作成部５３１は、障害物情報取得部３に取得された障害物の位置情報を局所地図として用いる。
【００４５】
一方、環境地図は、障害物情報取得部３にて取得した障害物の位置情報及び／又は記憶部５７に記憶されている環境地図復元用データと、記憶部５７に記憶されている前回作成された環境地図とを用いて作成される。なお、地図作成部５３１における環境地図の作成方法については、後ほど詳しく説明する。
【００４６】
自己位置推定部５３３は、走行部１による移動量（本実施形態においては、エンコーダ１３ａ、１３ｂから得られる走行車輪の回転数から算出される）から推定される移動体１００の位置を、記憶部５７に記憶された前回作成された環境地図と現在の位置にて取得された局所地図（障害物の位置情報）との比較（マップマッチング）結果に基づいて補正して、移動体１００の位置を推定する。
【００４７】
（５）移動体の動作
５−１．環境地図の作成方法
次に、移動体１００の動作について説明する。まず、地図作成部５３１における環境地図の作成方法について、図２を用いて説明する。
以下の説明においては、図３に示す移動領域Ｓにおいて、移動体１００が位置Ｐ１から移動を開始して、図３の一点鎖線にて示すような移動経路を位置Ｐ２を経由して位置Ｐ３に到達するまで移動したときに、位置Ｐ３にて地図作成部５３１によって環境地図が作成される場合を例にとって説明する。図３は、移動領域及び走行経路の一例を示す図である。
【００４８】
また、移動領域Ｓの位置Ｐ３における前方レーザレンジセンサ３１の測定レンジと、後方レーザレンジセンサ３３の測定レンジとは、図４のようになっているとする。図４は、移動領域とレーザレンジセンサの測定レンジとの関係を示す図である。
図４に示すように、位置Ｐ３においては、移動領域Ｓの上側（図４において見た場合）の障害物（壁など）は、後方レーザレンジセンサ３３の測定レンジ外となっている。
【００４９】
環境地図の作成が開始されると、地図作成部５３１は、まず、第１拡大環境地図を作成する（ステップＳ１００１）。具体的には、地図作成部５３１は、再現走行モードの実行時においては、記憶部５７に記憶されている前回作成された環境地図と、位置Ｐ３に対応する環境地図復元用データ又は位置Ｐ３にて取得した障害物の位置情報（局所地図）と、将来位置Ｐ４に対応する環境地図復元用データとを用いて、一時的な第１拡大環境地図を作成する。
【００５０】
さらに具体的には、地図作成部５３１は、第１拡大環境地図の位置Ｐ３に対応する位置に、上記３つの地図を配置して第１拡大環境地図を作成する。第１拡大環境地図を作成する際に将来位置Ｐ４に対応する環境地図復元用データを用いることにより、再現走行モードの実行時における環境地図の復元を高速化できる。
【００５１】
一方、移動体１００において教示走行モードが実行されている場合には、地図作成部５３１は、位置Ｐ３において取得した障害物の位置情報（局所地図）と、前回作成され記憶部５７に記憶された環境地図とを、第１拡大環境地図の位置Ｐ３に対応する位置に配置して第１拡大環境地図を作成する。
【００５２】
例えば、前回作成された環境地図が位置Ｐ２において図５Ａの太点線にて示すように作成されており、位置Ｐ３における障害物の位置情報が図５Ｂの黒丸にて示すように取得されており、さらに、将来位置Ｐ４に対応する環境地図復元用データが図５Ｃの白丸にて示すようなデータであるとする。図５Ａは、記憶部に記憶された環境地図の一例を示す図である。図５Ｂは、位置Ｐ３にて取得した障害物の位置情報（局所地図）の一例を示す図である。図５Ｃは、将来位置に対応する環境地図復元用データの一例を示す図である。
【００５３】
このとき、移動体１００において教示走行モードが実行されているときには、図６Ａにおいて実線にて示すような第１拡大環境地図が作成される。一方、移動体１００において再現走行モードが実行されているときには、図６Ｂにおいて実線にて示すような第１拡大環境地図が作成される。
図６Ａは教示走行モードの実行時に作成される第１拡大環境地図の一例を示す図である。図６Ｂは再現走行モードの実行時に作成される第１拡大環境地図の一例を示す図である。
【００５４】
第１拡大環境地図を作成後、地図作成部５３１は、第１拡大環境地図から、一辺の長さが前方レーザレンジセンサ３１の最大取得可能距離の２倍であり、対角線の交点が位置Ｐ３となる正方形の領域（図６Ａ及び図６Ｂにおいて点線にて示す正方形の内側の領域）を第１拡大環境地図から抽出して、第２拡大環境地図を作成する（ステップＳ１００２）。
【００５５】
一辺の長さが前方レーザレンジセンサ３１の最大取得可能距離の２倍で対角線の交点が位置Ｐ３となる正方形の領域より外の領域は、位置Ｐ３から最大取得可能距離以上離れた領域であり、障害物情報取得部３の測定レンジ外の領域（以後、測定レンジ外領域と呼ぶことにする）である。すなわち、測定レンジ外領域に存在する障害物の位置情報は障害物情報取得部３により取得できない。
【００５６】
第１拡大環境地図を環境地図として用いた場合、環境地図が広大（例えば、一辺が最大取得可能距離の６倍程度）となるため、環境地図において環状経路問題が発生しやすくなる。従って、上記のように、第１拡大環境地図から測定レンジ外領域に対応する領域を無情報領域（障害物の位置情報が取得できない領域）として削除することにより、測定レンジ外のために障害物の位置情報が取得できない領域を環境地図に含めないようにできる。その結果、環境地図において環状経路問題が発生する確率を低下できる。
【００５７】
図４に示すように障害物情報取得部３（本実施形態においては、前方レーザレンジセンサ３１）が移動領域Ｓに比して広い測定レンジを有している場合、上記のステップＳ１００２を実行して第２拡大環境地図を作成し、第２拡大環境地図を環境地図として用いた場合においても環状経路問題が生じることがある。なぜなら、障害物情報取得部３が移動領域Ｓに比して広い測定レンジを有すると、過去において作成された第２拡大環境地図に含まれていた障害物の位置情報が、現在位置（位置Ｐ３）において作成された第２拡大環境地図に残留することがあるからである。
【００５８】
また、位置Ｐ３において作成された第２拡大環境地図に残留する障害物の位置情報には、移動体１００の移動初期においては取得できていたが、移動体１００が移動するに従って取得できなくなった障害物の位置情報が含まれることがある。
【００５９】
環状経路問題は、例えば、上記のように、移動開始位置の周囲の障害物の位置情報が取得された後、移動体１００が移動して当該移動開始位置の周囲の障害物の位置情報が取得できなくなり、さらに移動体１００が上記の移動開始位置の近辺まで戻ってきて環境地図を作成する場合に、作成された環境地図に上記の移動開始時において取得した障害物の位置情報が含まれている場合に特に発生する。
【００６０】
従って、本実施形態においては、第２拡大環境地図を作成した後、さらに、障害物情報取得部３により障害物の位置情報が取得できなくなった領域を特定し、この領域に対応する第２拡大環境地図における領域（無情報領域）を特定し、この無情報領域に存在する障害物の位置情報を、第２拡大環境地図から削除する。言い換えると、第２拡大環境地図に含まれる障害物の位置情報のうち、障害物情報取得部３により取得できなくなった障害物の位置情報を削除して、環境地図における環状経路問題の発生を低減する。
【００６１】
本実施形態においては、具体的には以下のようにして、無情報領域に存在する障害物の位置情報を第２拡大環境地図から削除する。
【００６２】
第２拡大環境地図を作成後、地図作成部５３１は、まず、第２拡大環境地図を複数の部分領域に分割する（ステップＳ１００３）。例えば、図７に示すように、第２拡大環境地図を８×８の部分領域に分割するものとする。図７は第２拡大環境地図を分割した一例を模式的に示す図である。なお、第２拡大環境地図の分割数は８×８（＝６４個）に限られず、任意の数の分割数とできる。
【００６３】
第２拡大環境地図を複数の部分領域に分割後、地図作成部５３１は、各部分領域に存在する障害物の位置情報を計数する（ステップＳ１００４）。具体的には、移動体１００が教示走行モードを実行しているときには、地図作成部５３１は、第２拡大環境地図に位置Ｐ３にて取得した障害物の位置情報をプロットして、各部分領域に含まれる障害物の位置情報を計数する。
【００６４】
一方、移動体１００が再現走行モードを実行しているときは、地図作成部５３１は、位置Ｐ３にて取得した障害物の位置情報に加えて、位置Ｐ３から移動することによって到達予定の将来位置Ｐ４に対応する環境地図復元用データの障害物の位置情報も含めて、各部分領域に含まれる障害物の位置情報を計数する。
【００６５】
すなわち、移動体１００が再現走行モードを実行中のときには、第２拡大環境地図に位置Ｐ３にて取得した障害物の位置情報と、位置Ｐ４に対応する環境地図復元用データに含まれる障害物の位置情報とをプロットして、各部分領域に含まれる障害物の位置情報を計数する。
【００６６】
位置Ｐ３にて取得した障害物の位置情報に加えて、将来位置Ｐ４に対応する環境地図復元用データも障害物の位置情報として含めて、各部分領域に含まれる障害物の位置情報を計数する場合、地図作成部５３１は、図８Ａに示すように、現在の推定位置Ｐ３と将来位置Ｐ４との相対位置関係を保つようにして、第２拡大環境地図に環境地図復元用データの障害物の位置情報をプロットする。すなわち、第２拡大環境地図の将来位置Ｐ４に対応する位置に、記憶部５７から読み出した将来位置Ｐ４に対応する環境地図復元用データを配置する。
図８Ａは、現在の推定位置にて取得した障害物の位置情報と将来位置に対応する環境地図復元用データとを、第２拡大環境地図にプロットした状態の一例を示す図である。
【００６７】
または、図８Ｂに示すように、現在の位置Ｐ３に将来位置Ｐ４に対応する環境地図復元用データを配置してもよい。この場合は、環境地図復元用データに対して座標移動の処理を行う必要がなくなる。読み出した将来位置Ｐ４に対応する環境地図復元用データを現在の位置Ｐ３に配置するか、将来位置Ｐ４に配置するかは、処理速度等を考慮して適宜選択できる。
図８Ｂは、現在の推定位置にて取得した障害物の位置情報と将来位置に対応する環境地図復元用データとを、第２拡大環境地図にプロットした状態の他の一例を示す図である。
【００６８】
部分領域に含まれる障害物の位置情報の数を計数後、地図作成部５３１は、各部分領域に含まれる障害物の位置情報が第１の数以上であるかどうかを判断する（ステップＳ１００５）。
１つの部分領域に含まれる障害物の位置情報の数が第１の数以上である場合（ステップＳ１００５において「Ｙｅｓ」の場合）、当該１つの部分領域を、削除することなく残しておく部分領域とする。すなわち、当該１つの部分領域は削除対象部分領域ではないと判定する（ステップＳ１００６）。
【００６９】
一方、１つの部分領域に含まれる障害物の位置情報の数が第１の数未満である場合（ステップＳ１００５において「Ｎｏ」の場合）、地図作成部５３１は、当該１つの部分領域に含まれる障害物の位置情報の数が第１の数未満である状態が、第１の時間以上継続しているかどうかを判断する（ステップＳ１００７）。
【００７０】
１つの部分領域に含まれる障害物の位置情報の数が第１の数未満である状態が、第１の時間以上継続していると判断した場合（ステップＳ１００７において「Ｙｅｓ」の場合）、地図作成部５３１は、当該１つの部分領域を削除する対象である削除対象部分領域であると判定する（ステップＳ１００８）。
【００７１】
一方、１つの部分領域に含まれる障害物の位置情報の数が第１の数未満である状態が、第１の時間より短い時間だけ継続したと判断した場合（ステップＳ１００７において「Ｎｏ」の場合）、当該１つの部分領域においてノイズや動的障害物により一時的に少ない数の障害物の位置情報が取得されたか、あるいは、動的障害物などにより一時的に検出信号が遮られて障害物の位置情報数が少なくなった可能性が高いので、地図作成部５３１は、当該１つの部分領域を削除対象部分領域ではないと判定する（ステップＳ１００６）。
【００７２】
上記のように、１つの部分領域に含まれる障害物の位置情報の数が第１の数未満である状態が第１の時間以上継続したときに、当該部分領域を削除対象部分領域とすることにより、障害物情報取得部３において発生したノイズや、移動体１００から遠くの位置に存在する動物（例えば、移動体１００から十分に遠い位置に存在する歩行者など）などが一時的に障害物情報取得部３の視野内に入ってきた場合など、短時間の間に少ない数（第１の数未満）の障害物の位置情報が取得された場合などに、本来は削除すべき部分領域を誤って削除対象部分領域でないと判定することを回避できる。
【００７３】
また、１つの部分領域に含まれる障害物の位置情報の数が第１の数未満である状態が第１の時間以上継続したときに、当該部分領域を削除対象部分領域とすることにより、前方レーザレンジセンサ３１及び後方レーザレンジセンサ３３の移動体１００への取り付け位置の関係上生じる死角に入って一時的に障害物の位置情報が取得できなくなった場合など、一時的に障害物の位置情報が含まれなくなった部分領域を誤って削除対象部分領域とすることを回避できる。
【００７４】
すなわち、削除する対象である削除対象部分領域を、障害物の位置情報が第１の数未満含まれた状態が第１の時間以上継続した部分領域とすることにより、第２拡大環境地図から削除可能な領域を適切に選択して、第２拡大環境地図から削除できる。
【００７５】
なお、上記の第１の数は、障害物情報取得部３の性能（例えば、ノイズの発生頻度など）や、部分領域の大きさなどに基づいて決定できる。また、上記の第１の時間は、障害物がより手前の物体（歩行者など）に一時的に遮られる可能性や移動体１００の移動速度などに基づいて決定できる。
【００７６】
ステップＳ１００６において部分領域を削除対象部分領域としない、又は、ステップＳ１００８において部分領域を削除対象部分領域とすると決定後、地図作成部５３１は、全ての部分領域において障害物の位置情報の数を計数したかどうかを確認する（ステップＳ１００９）。
【００７７】
全ての部分領域において障害物の位置情報の数を計数していない場合（ステップＳ１００９において「Ｎｏ」の場合）、環境地図の作成プロセスはステップＳ１００４に戻り、全ての部分領域において障害物の位置情報の数を計数するまで、上記のステップＳ１００４〜Ｓ１００８を繰り返す。
【００７８】
一方、全ての部分領域において障害物の位置情報の数を計数した場合（ステップＳ１００９において「Ｙｅｓ」の場合）、地図作成部５３１は、削除対象部分領域が第２の数以上連続する箇所が存在するかどうかを確認する（ステップＳ１０１０）。
本実施形態においては、地図作成部５３１は、削除対象部分領域が列方向（図においては縦方向）に列方向分割数だけ連続して存在しているか、及び／又は、行方向（図においては横方向）に行方向分割数だけ連続して存在しているかを確認する。
すなわち、本実施形態においては、上記の第２の数を列方向分割数及び／又は行方向分割数とする。
【００７９】
列方向分割数は第２拡大環境地図の列方向における分割数であり、上記のように、本実施形態においては８である。一方、行方向分割数は第２拡大環境地図の行方向における分割数であり、上記のように、本実施形態においては８である。
【００８０】
全ての部分領域において障害物の位置情報の数を計数し、各部分領域が削除対象部分領域であるかどうかの決定を行うと、移動体１００が教示走行モードを実行しているときには、図９Ａの色を付けた部分領域が削除対象部分領域となる。図９Ａは、教示走行モードの実行中に障害物の位置情報を計数した場合の削除対象部分領域の一例を示す図である。
【００８１】
図９Ａにおいては、第２拡大環境地図の上から３行に存在する削除対象部分領域が、行方向に行方向分割数（８個）だけ連続して存在している。また、第２拡大環境地図の左から２列に存在する削除対象部分領域と、右端の１列に存在する削除対象部分領域とが、列方向に列方向分割数（８個）連続して存在している。
【００８２】
一方、移動体１００が再現走行モードを実行しているときには、図９Ｂの色を付けた部分領域が削除対象部分領域となる。図９Ｂは、再現走行モードの実行中に障害物の位置情報を計数した場合の削除対象部分領域の一例を示す図である。
なお、図９Ｂにおいては、図８Ａに示すように読み出した将来位置Ｐ４に対応する環境地図復元用データを第２拡大環境地図において将来位置Ｐ４に配置した場合を例にとって、削除対象部分領域の決定結果を示している。
【００８３】
図９Ｂにおいては、第２拡大環境地図の上から２行に存在する削除対象部分領域が、行方向に行方向分割数（８個）だけ連続して存在している。また、第２拡大環境地図の左から２列に存在する削除対象部分領域が、列方向に列方向分割数（８個）だけ連続して存在している。
【００８４】
削除対象部分領域が列方向に列方向分割数だけ連続して存在していない、及び、行方向に行方向分割数だけ連続して存在していないと判断された場合（ステップＳ１０１０において「Ｎｏ」の場合）、地図作成部５３１は、削除対象部分領域を削除せず（ステップＳ１０１１）、環境地図作成プロセスを終了する。
【００８５】
一方、削除対象部分領域が列方向に列方向分割数だけ連続して存在する、及び／又は、行方向に行方向分割数だけ連続して存在すると判断された場合（ステップＳ１０１０において「Ｙｅｓ」の場合）、地図作成部５３１は、列方向に列方向分割数だけ連続して存在する削除対象部分領域、及び／又は、行方向に行方向分割数だけ連続して存在する削除対象部分領域を、障害物情報取得部３により障害物の位置情報が取得できなくなった無情報領域として削除する（ステップＳ１０１２）。その後、環境地図作成プロセスを終了する。
【００８６】
例えば、教示走行モードの実行時に図９Ａのように削除対象部分領域が決定された場合には、図１０Ａの実線にて示すような環境地図が位置Ｐ３において作成される。図１０Ａは、教示走行モードの実行時に現在位置にて作成される環境地図の一例を示す図である。
【００８７】
一方、再現走行モードの実行時に図９Ｂのように削除対象部分領域が決定された場合には、図１０Ｂの実線にて示すような環境地図が位置Ｐ３において作成される。図１０Ｂは、再現走行モードの実行時に現在位置にて作成される環境地図の一例を示す図である。
【００８８】
図１０Ａ及び図１０Ｂに示す２つの環境地図には２つの共通点と１つの相違点が存在する。１つ目の共通点は、図１０Ａに示す環境地図及び図１０Ｂに示す環境地図は、共に、第２拡大環境地図の上部（図９Ａ及び図９Ｂにおいて二点鎖線にて囲んだ部分）に存在した障害物の位置情報が削除されて作成されている点である。
【００８９】
図９Ａ及び図９Ｂにおいて二点鎖線にて囲んだ第２拡大環境地図の領域は、移動体１００が位置Ｐ２から位置Ｐ３に到達するまでに通過した領域であって、当該領域に存在する障害物の位置情報が障害物情報取得部３により取得できなくなった領域である。
位置Ｐ３に到達するまでに通過した領域であって、当該領域に存在する障害物の位置情報が障害物情報取得部３により取得できなくなった領域のことを「通過領域」と呼ぶことにする。
【００９０】
上記のステップＳ１００３〜Ｓ１０１２を実行して、上記の通過領域を無情報領域として第２拡大環境地図から削除することにより、移動体１００がすでに通過して、障害物情報取得部３により障害物の位置情報が取得できない領域を、環境地図に含めないようにできる。その結果、環境地図における環状経路問題の発生を抑制できる。
【００９１】
２つ目の共通点は、図１０Ａに示す環境地図及び図１０Ｂに示す環境地図は、共に、第２拡大環境地図の紙面左端に存在した２列の部分領域（図９Ａ及び図９Ｂにおいて一点鎖線にて囲んだ領域）が削除されて作成されている点である。
すなわち、上記２つの環境地図は、共に、第２拡大環境地図に含まれる領域のうち、位置Ｐ３（推定位置）から位置Ｐ３において実際に取得された障害物の位置情報までの距離以上離れた領域が削除されて作成されている。
【００９２】
図９Ａ及び図９Ｂにおいて一点鎖線にて囲んだ領域のように、位置Ｐ３（推定位置）から位置Ｐ３において実際に取得された障害物の位置情報までの距離以上離れた領域を、「無検出領域」と呼ぶことにする。
上記のステップＳ１００３〜Ｓ１０１２を実行して、第２拡大環境地図から無検出領域を無情報領域として削除することにより、障害物の厚み方向などの障害物情報取得部３により障害物の位置情報が取得できない領域を、環境地図に含めないようにできる。
【００９３】
一方、図１０Ａ及び図１０Ｂに示す２つの環境地図の相違点は、図１０Ａに示す環境地図においては第２拡大環境地図の紙面右端に存在した１列の部分領域が削除されているのに対し、図１０Ｂに示す環境地図においては当該１列の部分領域が削除されていない点である。
【００９４】
上記の紙面右端に存在する１列の部分領域には、図９Ｂに示すように、将来位置Ｐ４に対応する環境地図復元用データに含まれる障害物の位置情報が含まれる。
将来位置の環境地図復元用データを用いて環境地図を作成する再現走行モードの実行時において、図９Ａに示すように位置Ｐ３にて取得した障害物の位置情報のみを用いて部分領域が削除対象部分領域であるかどうかを決定すると、将来位置の環境地図復元用データが含まれる部分領域も削除してしまうことになる。
【００９５】
従って、将来位置に対応する環境地図復元用データを用いて環境地図を作成する際に、位置Ｐ３にて取得した障害物の位置情報に加えて、将来位置Ｐ４に対応する環境地図復元用データに含まれる障害物の位置情報も含めて、部分領域に含まれる障害物の位置情報を計数して部分領域が削除対象部分領域であるかどうかを判定する。こうして、環境地図から誤って将来位置Ｐ４に対応する環境地図復元用データに含まれる障害物の位置情報を削除してしまうことを回避できる。
【００９６】
また、上記のように、削除対象部分領域が列方向に列方向分割数だけ連続した場合、及び／又は、削除対象部分領域が行方向に行方向分割数だけ連続した場合に、削除対象部分領域を削除することにより、効率よく削除対象部分領域を削除できる。
【００９７】
５−２．移動体の具体的な動作
Ｉ．移動体の動作の概略
以下、移動体１００の具体的な動作について説明する。まず、移動体１００の動作の概略について図１１を用いて説明する。図１１は、移動体の動作の概略を示すフローチャートである。
移動体１００が動作を開始すると、制御部５が、操作者によりモード選択が行われたか否かを判別する（ステップＳ１）。具体的には、例えば、操作者による操作部７の操作により指示入力を受け付けた場合、又はリモコンからの指示入力信号を受信した場合に、モード選択が行われたと判断する。
【００９８】
操作者によりモード選択が行われていないと判断された場合（ステップＳ１において「Ｎｏ」の場合）、移動体１００の動作プロセスはステップＳ１に戻り、操作者によりモード選択がなされるまで待機する。
【００９９】
一方、操作者によりモード選択がなされたと判断された場合（ステップＳ１において「Ｙｅｓ」の場合）、制御部５は、選択されたモードが教示走行モードであるか、再現走行モードであるかを判断する（ステップＳ２）。
【０１００】
選択されたモードが再現走行モードであると判断された場合（ステップＳ２において「再現走行モード」の場合）、制御部５は、再現走行モードを実行する（ステップＳ３）。
一方、選択されたモードが教示走行モードであると判断された場合（ステップＳ２において「教示走行モード」の場合）、制御部５は、教示走行モードを実行する（ステップＳ４）。
【０１０１】
再現走行モード又は教示走行モードの実行中、あるいは、これらのモードの実行後、制御部５は、移動体１００の動作を終了するかどうかを判断する（ステップＳ５）。
具体的には、制御部５は、操作者による操作部７の操作により処理終了する旨の指示入力があった場合、リモコンにより処理終了する旨の指示入力信号を受信した場合、あるいは、教示走行モードにより作成された走行スケジュールを終了したと判断した場合などに、移動体１００の動作を終了すると判断する。
【０１０２】
移動体１００の動作を終了すると判断した場合（ステップＳ５において「Ｙｅｓ」の場合）、移動体１００は動作を終了する。一方、移動体１００の動作を継続すると判断した場合（ステップＳ５において「Ｎｏ」の場合）、移動体１００の動作プロセスはステップＳ１に戻り、移動体１００は動作を継続する。
【０１０３】
ＩＩ．再現走行モードを実行中の移動体の動作
次に、上記のステップＳ３を実行中（すなわち、再現走行モードを実行中）の移動体１００の動作について、図１２を用いて説明する。図１２は、再現走行モードを実行中の移動体の動作を示すフローチャートである。
移動体１００が再現走行モードを開始すると、まず、移動体１００の周囲に存在する障害物の位置情報を取得する（ステップＳ３１）。具体的には、まず、障害物情報取得部３の前方レーザレンジセンサ３１及び後方レーザレンジセンサ３３が、レーザ光を照射しさらに障害物から反射した反射光を受信する。
【０１０４】
その後、障害物情報変換部５５が、受信した反射光に基づいて障害物情報取得部３から出力される検出信号を、障害物の位置情報（例えば、所定の座標上の座標値）に変換する。障害物情報変換部５５にて座標変換された障害物の位置情報を、現在の位置において取得された局所地図とする。
【０１０５】
現在の位置における障害物の位置情報を取得後、自己位置推定部５３３が、移動体１００の現在の位置を推定する（ステップＳ３２）。
具体的には、自己位置推定部５３３は、まず、過去の時刻における推定位置に、過去の時刻から現在の時刻の間に走行部１により移動した移動量を加算する。
【０１０６】
次に、自己位置推定部５３３は、走行部１による移動量を加算して算出された位置から所定の距離離れた複数の「仮の推定位置」を設定し、仮の推定位置のそれぞれに上記の局所地図を配置する。その後、自己位置推定部５３３は、記憶部５７に記憶された前回作成された環境地図と、仮の推定位置に設置された複数の局所地図とのマップマッチングを行い、仮の推定位置に配置された局所地図と前回作成された環境地図とが最も一致しているときの仮の推定位置を、移動体１００の移動領域Ｓにおける現在の位置と推定する。
【０１０７】
移動体１００の現在の推定位置を推定後、地図作成部５３１は、走行スケジュールに示された次の目標到達点を上記の将来位置として、上記に説明したステップＳ１００１〜Ｓ１０１２を実行して、次の自己位置推定のための（現在の推定位置における）環境地図を作成して、記憶部５７に記憶する（ステップＳ３３）。
【０１０８】
現在の推定位置における環境地図を作成後、走行制御部５９が、ＳＬＡＭ処理部５３から取得した現在の推定位置と、現在再現走行を行っている走行経路を示す走行スケジュールから取得した次の目標到達点との比較に基づいて、現在の推定位置から次の目標到達点まで移動するためのモータ１１ａ、１１ｂの制御量を算出し、モータ駆動部１５ａ、１５ｂに出力する（ステップＳ３４）。
【０１０９】
モータ駆動部１５ａ、１５ｂがモータ１１ａ、１１ｂの制御量を受信すると、受信した制御量に基づいて、モータ駆動部１５ａ、１５ｂはそれぞれ、モータ１１ａ、１１ｂを駆動するための駆動信号を算出してモータ１１ａ、１１ｂに出力する。その結果、移動体１００は現在の推定位置から次の目標到達点に向かって走行する。
【０１１０】
走行部１のモータ１１ａ、１１ｂを制御した後、制御部５は、再現走行モードが終了したかどうかを判断する（ステップＳ３５）。例えば、上記のように、走行スケジュールに示された目標到達点のすべてを移動体１００が通過したと判断した場合に、再現走行モードが終了したと判断する。その他、例えば、操作部７の停止ボタンなどを押すことにより、再現走行モードを途中で終了できるようになっていてもよい。
【０１１１】
再現走行モードを終了すると判断した場合（ステップＳ３５において「Ｙｅｓ」の場合）、制御部５は、走行部１の制御を停止して、再現走行モードを終了する。
一方、再現走行モードを継続すると判断した場合（ステップＳ３５において「Ｎｏ」の場合）、再現走行モードの実行プロセスはステップＳ３１に戻り、再現走行モードが終了すると判断されるまで、上記のステップＳ３１〜Ｓ３４を繰り返し実行する。
【０１１２】
移動体１００において上記のステップＳ３１〜Ｓ３５を実行して再現走行モードを実行することにより、移動体１００は、記憶部５７に記憶された予め決められた走行スケジュールを再現しながら自律的に移動できる。
【０１１３】
ＩＩＩ．教示走行モードを実行中の移動体の動作
次に、上記のステップＳ４における教示走行モードを実行中の移動体１００の動作について、図１３を用いて説明する。図１３は、教示走行モードを実行中の移動体の動作を示すフローチャートである。教示走行モードは、再現走行モードの実行時において用いられる環境地図復元用データや走行スケジュールを取得するために実行される。
【０１１４】
移動体１００において教示走行モードの実行が開始されると、まず、走行制御部５９が、操作者が操作部７を操作したときの操作量に基づいて、走行部１のモータ１１ａ、１１ｂの制御量を作成し、それをモータ１１ａ、１１ｂに出力する（ステップＳ４１）。
例えば、操作者が操作部７のスロットルを操作することにより入力する走行速度及び操舵に関する指示入力を受け付け、走行経路内における走行制御を行う。操作者による指示入力は、リモコンによる無線での指示入力信号を受信する方式でもよい。
【０１１５】
上記のステップＳ４１を実行することにより、移動体１００は、操作者の操作に基づいて移動する。
【０１１６】
操作者の操作に基づいて走行部１を制御後、障害物情報取得部３が、上記の再現走行モードの実行時のステップＳ３１にて説明したのと同様にして、移動体１００の周囲に存在する障害物の位置情報を取得する（ステップＳ４２）。
【０１１７】
障害物の位置情報を取得後、自己位置推定部５３３が、上記の再現走行モードの実行時のステップＳ３２にて説明したのと同様にして、移動体１００の現在の推定位置を推定する（ステップＳ４３）。
【０１１８】
移動体１００の現在の位置を推定後、ＳＬＡＭ処理部５３は、ステップＳ４２において取得した障害物の位置情報（局所地図）を現在の移動体１００の推定位置と関連づけ、当該推定位置と関連づけられた障害物の位置情報を環境地図復元用データとして記憶部５７に記憶する（ステップＳ４４）。
上記のように、ステップＳ４２において取得した障害物の位置情報を推定位置と関連づけて環境地図復元用データとすることにより、再現走行モードの実行時において、地図作成部５３１は、第１拡大環境地図を作成する際に用いるべき環境地図復元用データを参照可能となる。
【０１１９】
上記のステップＳ４４を実行することにより、ＳＬＡＭ処理部５３は、移動領域Ｓの所定の位置にて取得された障害物の位置情報を、環境地図復元用データとして記憶部５７に記憶できる。
【０１２０】
環境地図復元用データを記憶部５７に記憶した後、地図作成部５３１が上記のステップＳ１００１〜Ｓ１０１２を実行して、現在の推定位置における環境地図を作成して、記憶部５７に記憶する（ステップＳ４５）。
【０１２１】
環境地図を作成後、教示データ作成部５１が、走行スケジュールを作成し記憶部５７に記憶する（ステップＳ４６）。
具体的には、教示データ作成部５１は、現在の時刻における推定位置と、移動体１００の走行方向を示す姿勢とを、記憶部５７に記憶して走行スケジュールを作成する。なお、教示データ作成部５１は、現在の時刻も走行スケジュールに記憶してもよい。
【０１２２】
上記の推定位置と移動体１００の姿勢とは、予め決められた所定の時間間隔（タイムスケジュール）毎に取得され記憶部５７に記憶される。これにより、操作者の操作により移動体１００が所定の時間毎に到達した位置と、当該所定の時間毎の移動体１００の姿勢とを、走行スケジュールとして記憶部５７に記憶できる。
【０１２３】
走行スケジュールを作成後、制御部５は、教示走行モードの実行を終了するかどうかを判断する（ステップＳ４７）。
具体的には、制御部５は、例えば、操作者による操作部７の操作により処理終了する旨の指示入力があった場合、又はリモコンにより処理終了する旨の指示入力信号を受信した場合に、教示走行モードの実行を終了すると判断する。その他、教示走行モードの実行中に操作部７の操作が所定の時間以上なされていない場合に、教示走行モードの実行を終了すると判断してもよい。
【０１２４】
教示走行モードの実行を終了すると判断した場合（ステップＳ４７において「Ｙｅｓ」の場合）、制御部５は、教示走行モードを終了する。
一方教示走行モードの実行を継続すると判断した場合（ステップＳ４７において「Ｎｏ」の場合）、教示走行モードの実行プロセスはステップＳ４１に戻り、教示走行モードの実行を終了すると判断されるまで、上記のステップＳ４１〜Ｓ４６を繰り返す。
【０１２５】
上記のステップＳ４１〜Ｓ４７を実行して教示走行モードを実行することにより、操作者の操作に基づいて移動体１００が移動した走行経路を、走行スケジュールとして記憶部５７に記憶できる。また、操作者の操作に基づいて移動体１００を移動させているときに取得された障害物の位置情報を、環境地図復元用データとして記憶部５７に記憶することにより、予め決められた所定の位置において障害物情報取得部３により取得された障害物の位置情報を環境地図復元用データとして記憶部５７に記憶できる。
【０１２６】
２．他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
また、上記において説明したフローチャートの各ステップにおける処理は、本発明の範囲を超えない範囲で変更してもよい。また、フローチャートに示された各ステップの順番も、本発明の範囲を超えない範囲で入れ替えてもよい。
【０１２７】
（Ａ）第２の数の他の実施形態
上記の第１実施形態においては、削除対象部分領域の削除を効率よく行うために、どの削除対象部分領域を削除するかを決定する第２の数は、行方向分割数及び／又は列方向分割数（第１実施形態においては８）と同一としていた。すなわち、第１実施形態においては、第２拡大環境地図の行方向の部分領域が全て削除対象部分領域である場合、及び／又は、第２拡大環境地図の列方向の部分領域が全て削除対象部分領域である場合に、削除対象部分領域が削除されていた。
【０１２８】
しかし、これに限られず、上記の第２の数を行方向分割数及び／又は列方向分割数よりも小さな値としてもよい。例えば、第２の数を１と設定すれば、削除対象部分領域と判断された部分領域を全て削除できる。または、第２の数を１より大で、かつ、行方向分割数及び／又は列方向分割数よりも小となる値としてもよい。この場合、行方向及び／又は列方向に削除対象部分領域が第２の数以上連続して存在する場合に、削除対象部分領域を削除できる。
【０１２９】
（Ｂ）測定レンジ外領域の他の実施形態
上記の第１実施形態においては、第１拡大環境地図から第２拡大環境地図を抽出するために用いる領域は、一辺の長さが前方レーザレンジセンサ３１の最大取得可能距離の２倍で対角線の交点が位置Ｐ３となる正方形であった。しかし、これに限られず、後方レーザレンジセンサ３３の測定レンジ（最大取得可能距離）を考慮して上記の領域を定義してもよい。
【０１３０】
例えば、第１拡大環境地図から第２拡大環境地図を抽出するために用いる領域を、移動体１００の幅方向の辺の長さが前方レーザレンジセンサ３１の最大取得可能距離の２倍とする一方、移動体１００の進行方向の辺の長さが前方レーザレンジセンサ３１の最大取得距離と後方レーザレンジセンサ３３の最大取得距離との和である長方形としてもよい。
【０１３１】
この場合、位置Ｐ３を長方形の対角線の交点に配置するのではなく、例えば、移動体１００の後方と長い一辺（前方レーザレンジセンサ３１の最大取得可能距離の２倍の長さを有する辺）との間の距離が後方レーザレンジセンサ３３の最大取得距離となるような位置に位置Ｐ３を設定してもよい。
【０１３２】
上記のような長方形により第１拡大環境地図から第２拡大環境地図を抽出することにより、後方レーザレンジセンサ３３により障害物の位置情報が取得できない領域を、第２拡大環境地図に含めないようにできる。
【産業上の利用可能性】
【０１３３】
本発明は、移動領域における位置を推定しながら移動領域を走行する移動体に広く適用できる。
【符号の説明】
【０１３４】
１００ 移動体
１     走行部
１１ａ、１１ｂモータ
１３ａ、１３ｂエンコーダ
１５ａ、１５ｂモータ駆動部
３     障害物情報取得部
３１   前方レーザレンジセンサ
３３   後方レーザレンジセンサ
５     制御部
５１   教示データ作成部
５３   ＳＬＡＭ処理部
５３１ 地図作成部
５３３ 自己位置推定部
５５   障害物情報変換部
５７   記憶部
５９   走行制御部
７     操作部
Ｐ３   推定位置
Ｐ４   将来位置
Ｓ     移動領域
【図１】
0006520048.tif 000002
【図２】
0006520048.tif 000003
【図３】
0006520048.tif 000004
【図４】
0006520048.tif 000005
【図５Ａ】
0006520048.tif 000006
【図５Ｂ】
0006520048.tif 000007
【図５Ｃ】
0006520048.tif 000008
【図６Ａ】
0006520048.tif 000009
【図６Ｂ】
0006520048.tif 000010
【図７】
0006520048.tif 000011
【図８Ａ】
0006520048.tif 000012
【図８Ｂ】
0006520048.tif 000013
【図９Ａ】
0006520048.tif 000014
【図９Ｂ】
0006520048.tif 000015
【図１０Ａ】
0006520048.tif 000016
【図１０Ｂ】
0006520048.tif 000017
【図１１】
0006520048.tif 000018
【図１２】
0006520048.tif 000019
【図１３】
0006520048.tif 000020