(57)【要約】【課題】移動エリア内で自律移動体を精度高く自律移動させることが可能であるとともに、運用に必要なコストを低廉化可能な自律移動体制御装置を提供する。【解決手段】本発明のＣＰＵ１は、第１仮想値を演算する他、特定環境情報２００に基づき、確率的手法によって複数の第２仮想値を演算する。特定環境情報２００は、地図情報５００と環境情報１５０とを参照し、ＣＰＵ１が環境情報１５０から地図情報５００と整合する箇所を抽出することで得られる。また、地図情報５００は、予め非幾何学的特徴部分である壁面５０が除外されている。ＣＰＵ１は、第１仮想値及び各第２仮想値から確定値を決定し、確定値を自動搬送車３の駆動装置１９に出力する。【選択図】図４
2018013860.tif 000002
【特許請求の範囲】
【請求項１】
予め設定された移動エリア内を自律移動する自律移動体に用いられ、
前記自律移動体は、駆動装置と、前記移動エリアの地図情報を記憶する記憶装置と、前記移動エリア内における自己の移動量を検出する自己移動量検出装置と、前記移動エリア内における自己の周囲の環境情報を検出する環境情報検出装置とを備え、
前記移動エリア内における前記自律移動体のｘ座標、ｙ座標及び姿勢を認識しつつ、前記駆動装置、前記記憶装置、前記自己移動量検出装置及び前記環境情報検出装置を制御する自律移動体制御装置であって、
前記移動エリアは、幾何学的特徴部分と非幾何学的特徴部分とを含み、
前記地図情報は、予め前記非幾何学的特徴部分が除外されてなり、
前記地図情報と前記環境情報とを参照し、前記環境情報から前記地図情報と整合する特定環境情報のみを抽出する抽出部と、
前記自律移動体の移動量に基づき、前記自律移動体の第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢からなる第１仮想値を演算する第１演算部と、
前記特定環境情報に基づき、確率的手法によって前記自律移動体の第２推定ｘ座標、第２推定ｙ座標及び第２推定姿勢からなる複数の第２仮想値を演算する第２演算部と、
前記第１仮想値及び前記各第２仮想値から確定値を決定する第１出力モードを実行し、前記確定値を前記駆動装置に出力する第１出力モード部とを有することを特徴とする自律移動体制御装置。
【請求項２】
予め設定された移動エリア内を自律移動する自律移動体に用いられ、
前記自律移動体は、駆動装置と、前記移動エリアの地図情報を記憶する記憶装置と、前記移動エリア内における自己の移動量を検出する自己移動量検出装置と、前記移動エリア内における自己の周囲の環境情報を検出する環境情報検出装置とを備え、
前記移動エリア内における前記自律移動体のｘ座標、ｙ座標及び姿勢を認識しつつ、前記駆動装置、前記記憶装置、前記自己移動量検出装置及び前記環境情報検出装置を制御する自律移動体制御装置であって、
前記移動エリアは、幾何学的特徴部分と非幾何学的特徴部分とを含み、
前記環境情報は、前記幾何学的特徴部分に基づく幾何学的環境情報と、前記非幾何学的特徴部分に基づく非幾何学的環境情報とを含み、
前記自律移動体の移動速度と、前記移動エリア内における前記自律移動体の進行方向とに基づく基準値を演算する基準値演算部と、
前記基準値に基づき、前記環境情報から前記非幾何学的環境情報を削除した編集済環境情報を生成する生成部と、
前記自律移動体の移動量に基づき、前記自律移動体の第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢からなる第１仮想値を演算する第１演算部と、
前記編集済環境情報に基づき、確率的手法によって前記自律移動体の第２推定ｘ座標、第２推定ｙ座標及び第２推定姿勢からなる複数の第２仮想値を演算する第２演算部と、
前記第１仮想値及び前記各第２仮想値から確定値を決定する第１出力モードを実行し、前記確定値を前記駆動装置に出力する第１出力モード部とを有することを特徴とする自律移動体制御装置。
【請求項３】
前記編集済環境情報に基づいて前記環境情報検出装置が検出する前記環境情報の範囲を決定する決定部を有している請求項２記載の自律移動体制御装置。
【請求項４】
前記確定値に基づき、前記確定値と前記第１仮想値との変位量を演算する第３演算部と、
前記変位量が閾値を超えなければ、前記第１仮想値から副確定値を決定する第２出力モードを実行し、前記副確定値を前記駆動装置に出力する第２出力モード部とを有し、
前記第１出力モード部は、前記変位量が前記閾値を超えれば、前記第１出力モードを実行する請求項１乃至３のいずれか１項記載の自律移動体制御装置。
【請求項５】
前記第１出力モードでは、前記各第２仮想値と、前記各第２仮想値と前記第１仮想値とのマッチング率とを重み付けすることにより、前記確定値を決定する請求項１乃至４のいずれか１項記載の自律移動体制御装置。
【請求項６】
前記確率的手法は、ＳＬＡＭアルゴリズムに基づくパーティクルフィルタである請求項１乃至５のいずれか１項記載の自律移動体制御装置。
【請求項７】
前記自律移動体は、自律走行する産業車両である請求項１乃至６のいずれか１項記載の自律移動体制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自律移動体制御装置に関する。
【背景技術】
【０００２】
従来から、移動エリアに磁気テープやレール等を敷設することで特定の移動経路を形成し、この移動経路に沿って移動体を自動で移動させる技術が多々提案されている。これに対し、近年では、移動エリアに特定の移動経路を形成することなく、移動エリア内を自律移動する自律移動体も提案されている。このような自律移動体は、例えば特許文献１に開示されている。
【０００３】
この自律移動体は、駆動装置と、記憶装置と、環境情報検出装置と、自己移動量検出装置と、自律移動体制御装置とを備えている。駆動装置は、モータ等で構成されている。記憶装置は移動エリアの地図情報を記憶している。環境情報検出装置は、移動エリア内における自律移動体の周囲の環境情報を検出する。自己移動量検出装置は、移動エリア内における自律移動体の移動量を検出する。自律移動体制御装置は、駆動装置、記憶装置、環境情報検出装置及び自己移動量検出装置を制御する。
【０００４】
このような自律移動体制御装置では、移動エリア内で自律移動体を自律走行させるに当たり、環境情報検出装置を制御して環境情報を検出する。ここで、移動エリアには、幾何学的特徴部分と非幾何学的特徴部分とが含まれる。このため、環境情報検出装置が検出する環境情報には、幾何学的特徴部分に基づく幾何学的環境情報と、非幾何学的特徴部分に基づく非幾何学的環境情報とが含まれる。そして、これらの幾何学的環境情報及び非幾何学的環境情報と、記憶装置に記憶された地図情報とを基に、確率的手法によって、移動エリア内の自律移動体の座標及び姿勢からなる複数の仮想値を演算する。そして、地図情報の中から環境情報と最も重なり合う箇所の仮想値を確定値として決定する。こうして、自律移動体制御装置は、確定値を移動エリア内における自律移動体の現在の座標及び姿勢として認識するとともに、駆動装置及び自己移動量検出装置を制御して自律移動体を移動エリア内で移動させる。これらの処理を繰り返すことにより、自律移動体制御装置は、移動エリア内における自律移動体の現在の座標及び姿勢を補正しつつ、移動エリア内で自律移動体を自律移動させる。
【０００５】
ところで、移動エリアは、幾何学的特徴部分が多数存在する環境と、非幾何学的特徴部分が多数存在する環境、換言すれば、幾何学的特徴部分の乏しい環境とが混在し得る。非幾何学的特徴部分が多数存在する環境では、環境情報検出装置によって検出される非幾何学的環境情報が多くなるため、自律移動体制御装置が確率的手法によって自律移動体の現在の座標及び姿勢を精度高く求めることが困難となる。非幾何学的環境情報が多くなると、確率的手法によって各仮想値を演算する際の処理負担が大きくなり、演算に必要な時間が長くなるだけでなく、演算された各仮想値のバラツキが大きくなることで、自律移動体制御装置は、各仮想値から確定値を好適に決定することができなくなるためである。
【０００６】
そこで、上記の自律移動体制御装置では、移動エリアに複数の光学作用部材を設けている。これにより、本来は、環境情報検出装置が非幾何学的環境情報を多数検出してしまう環境であっても、光学作用部材を幾何学的環境情報として検出することが可能となる。つまり、この自律移動体制御装置では、環境情報検出装置が検出する非幾何学的環境情報を少なくする一方、検出する幾何学的環境情報を多くすることにより、移動エリアの環境に関係なく、確率的手法によって自律移動体の現在の座標及び姿勢を精度高く求めることが可能となっている。こうして、この自律移動体制御装置では、移動エリア内で自律移動体を精度高く自律移動させることが可能となっている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−２５３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記の自律移動体制御装置において、自律移動体の現在の座標及び姿勢を精度高く求めるためには、多数の光学作用部材が必要となるだけでなく、各光学作用部材を配置する位置を正確に測定する必要がある。また、移動エリアのレイアウトが変更されれば、その都度、各光学作用部材の配置を変更する必要が生じる。これらのため、この自律移動体制御装置では、運用に必要なコストが高騰化する。
【０００９】
本発明は、上記従来の実情に鑑みてなされたものであって、移動エリア内で自律移動体を精度高く自律移動させることが可能であるとともに、運用に必要なコストを低廉化可能な自律移動体制御装置を提供することを解決すべき課題としている。
【課題を解決するための手段】
【００１０】
第１の発明の自律移動体制御装置は、予め設定された移動エリア内を自律移動する自律移動体に用いられ、
前記自律移動体は、駆動装置と、前記移動エリアの地図情報を記憶する記憶装置と、前記移動エリア内における自己の移動量を検出する自己移動量検出装置と、前記移動エリア内における自己の周囲の環境情報を検出する環境情報検出装置とを備え、
前記移動エリア内における前記自律移動体のｘ座標、ｙ座標及び姿勢を認識しつつ、前記駆動装置、前記記憶装置、前記自己移動量検出装置及び前記環境情報検出装置を制御する自律移動体制御装置であって、
前記移動エリアは、幾何学的特徴部分と非幾何学的特徴部分とを含み、
前記地図情報は、予め前記非幾何学的特徴部分が除外されてなり、
前記地図情報と前記環境情報とを参照し、前記環境情報から前記地図情報と整合する特定環境情報のみを抽出する抽出部と、
前記自律移動体の移動量に基づき、前記自律移動体の第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢からなる第１仮想値を演算する第１演算部と、
前記特定環境情報に基づき、確率的手法によって前記自律移動体の第２推定ｘ座標、第２推定ｙ座標及び第２推定姿勢からなる複数の第２仮想値を演算する第２演算部と、
前記第１仮想値及び前記各第２仮想値から確定値を決定する第１出力モードを実行し、前記確定値を前記駆動装置に出力する第１出力モード部とを有することを特徴とする。
【００１１】
第１の発明の自律移動体制御装置では、抽出部が抽出した特定環境情報は、移動エリアにおける幾何学的特徴部分に基づく環境情報、すなわち、幾何学的環境情報のみで構成されている。このため、この特定環境情報に基づくことで、第２演算部が確率的手法によって複数の第２仮想値を演算する際の処理負担を軽減することができ、各第２仮想値を素早く演算することができる。また、演算された各第２仮想値のバラツキも小さくなる。このため、第１出力モードにおいて、移動エリア内における自律移動体の現在のｘ座標、ｙ座標及び姿勢としての確定値を決定するに当たり、この確定値の精度を高くすることができる。このため、この自律移動体制御装置では、移動エリアにおける自律移動体のｘ座標、ｙ座標及び姿勢を精度高く認識することが可能となる。
【００１２】
このように、この自律移動体制御装置では、移動エリアにおける非幾何学的特徴部分が除外された地図情報を用意し、この地図情報と環境情報とから特定環境情報を抽出すれば、精度の高い確定値を求めるに当たって、移動エリアに上記のような光学作用部材を設ける必要がない。また、この自律移動体制御装置では、移動エリアのレイアウトを変更した際も、記憶装置に記憶された地図情報を修正すれば足りるため、比較的容易にその対応を行うことができる。
【００１３】
したがって、第１の発明の自律移動体制御装置によれば、移動エリア内で自律移動体を精度高く自律移動させることが可能であるとともに、運用に必要なコストを低廉化することができる。
【００１４】
第２の発明の自律移動体制御装置は、予め設定された移動エリア内を自律移動する自律移動体に用いられ、
前記自律移動体は、駆動装置と、前記移動エリアの地図情報を記憶する記憶装置と、前記移動エリア内における自己の移動量を検出する自己移動量検出装置と、前記移動エリア内における自己の周囲の環境情報を検出する環境情報検出装置とを備え、
前記移動エリア内における前記自律移動体のｘ座標、ｙ座標及び姿勢を認識しつつ、前記駆動装置、前記記憶装置、前記自己移動量検出装置及び前記環境情報検出装置を制御する自律移動体制御装置であって、
前記移動エリアは、幾何学的特徴部分と非幾何学的特徴部分とを含み、
前記環境情報は、前記幾何学的特徴部分に基づく幾何学的環境情報と、前記非幾何学的特徴部分に基づく非幾何学的環境情報とを含み、
前記自律移動体の移動速度と、前記移動エリア内における前記自律移動体の進行方向とに基づく基準値を演算する基準値演算部と、
前記基準値に基づき、前記環境情報から前記非幾何学的環境情報を削除した編集済環境情報を生成する生成部と、
前記自律移動体の移動量に基づき、前記自律移動体の第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢からなる第１仮想値を演算する第１演算部と、
前記編集済環境情報に基づき、確率的手法によって前記自律移動体の第２推定ｘ座標、第２推定ｙ座標及び第２推定姿勢からなる複数の第２仮想値を演算する第２演算部と、
前記第１仮想値及び前記各第２仮想値から確定値を決定する第１出力モードを実行し、前記確定値を前記駆動装置に出力する第１出力モード部とを有することを特徴とする。
【００１５】
第２の発明の自律移動体制御装置では、生成部が生成した編集済環境情報には、非幾何学的環境情報が存在しない。このため、この編集済環境情報に基づくことで、この自律移動体制御装置でも、第２演算部が確率的手法によって複数の第２仮想値を演算する際の処理負担を軽減することができ、各第２仮想値を素早く演算することができる。また、演算された各第２仮想値のバラツキも小さくなる。これにより、この自律移動体制御装置でも、確定値の精度が高くなり、移動エリアにおける自律移動体のｘ座標、ｙ座標及び姿勢を精度高く認識することが可能となる。
【００１６】
このように、この自律移動体制御装置では、環境情報検出装置が検出した環境情報から、生成部が編集済環境情報を生成するため、第１の発明の自律移動体制御装置と同様、移動エリアに光学作用部材を設ける必要がない。また、この自律移動体制御装置では、移動エリアのレイアウトを変更した際も、第１の発明の自律移動体制御装よりも容易にその対応を行うことができる。
【００１７】
したがって、第２の発明の自律移動体制御装置によっても、移動エリア内で自律移動体を精度高く自律移動させることが可能であるとともに、運用に必要なコストを低廉化することができる。
【００１８】
第２の発明の自律移動体制御装置は、編集済環境情報に基づいて環境情報検出装置が検出する環境情報の範囲を決定する決定部を有していることが好ましい。この場合には、環境情報検出装置が不必要な環境情報を検出することを減らすことができるため、編集済環境情報を更新する際の処理を軽減することができる。
【００１９】
第１の発明の自律移動体制御装置及び第２の発明の自律移動体制御装置は、確定値に基づき、確定値と第１仮想値との変位量を演算する第３演算部と、変位量が閾値を超えなければ、第１仮想値から副確定値を決定する第２出力モードを実行し、副確定値を駆動装置に出力する第２出力モード部とを有し得る。そして、第１出力モード部は、変位量が閾値を超えれば、第１出力モードを実行することが好ましい。
【００２０】
第１出力モードにおいて得られた確定値に対して第１仮想値の変位量が閾値を超えない場合、すなわち、確定値に基づいた移動エリア内における自律移動体のｘ座標、ｙ座標及び姿勢に対して、第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢の精度が高い場合には、さらに第２仮想値を演算する必要性が乏しい。そこで、確定値に対する第１仮想値の変位量が閾値を超えない場合には、第１仮想値を副確定値とし、この副確定値を移動エリア内における自律移動体の現在のｘ座標、ｙ座標及び姿勢とすることで、自律移動体制御装置は処理負担を軽減することができる。
【００２１】
第１出力モードでは、各第２仮想値と、各第２仮想値と第１仮想値とのマッチング率とを重み付けすることにより、確定値を決定することが好ましい。この場合には、第１出力モードにおいて、より精度の高い確定値を決定することができる。
【００２２】
確率的手法は、ＳＬＡＭアルゴリズムに基づくパーティクルフィルタであることが好ましい。この場合には、比較的容易に精度の高い複数の第２仮想値を演算することが可能となる。
【００２３】
自律移動体は、自律走行する産業車両であることが好ましい。産業車両が自律走行する工場や倉庫等の移動エリアでは、産業車両の周囲に非幾何学的特徴部分が多数存在する場合が多く、また、レイアウトの変更も頻繁に行われる。このため、産業車両に本発明の自律移動体制御装置を用いれば、移動エリア内で産業車両の現在の座標及び姿勢を精度高く求めることが可能となる。これにより、産業車両を移動エリアで精度高く自律走行させることが可能となり、作業効率を向上させることが可能となる。
【発明の効果】
【００２４】
第１の発明の自律移動体制御装置及び第２の発明の自律移動体制御装置によれば、移動エリア内で自律移動体を精度高く自律移動させることが可能であるとともに、運用に必要なコストを低廉化することができる。
【図面の簡単な説明】
【００２５】
【図１】図１は、実施例１の自律移動体制御装置が採用された産業車両を示す模式図である。
【図２】図２は、産業車両が移動エリア内を自律走行する状態を示す模式図である。
【図３】図３は、実施例１の自律移動体制御装置に係り、記憶装置に記憶された地図情報を示す模式図である。
【図４】図４は、実施例１の自律移動体制御装置が移動エリア内で産業車両を自律走行させる際の制御フローである。
【図５】図５は、実施例１の自律移動体制御装置に係り、環境情報検出装置が検出した環境情報のうち、図２に示す領域Ｘに対応する部分を示す拡大模式図である。
【図６】図６は、実施例１の自律移動体制御装置に係り、地図情報のうち、図２に示す領域Ｘに対応する部分を示す拡大模式図である。
【図７】図７は、実施例１の自律移動体制御装置に係り、環境情報から特定環境情報のみが抽出された状態を示す拡大模式図である。
【図８】図８は、実施例１の自律移動体制御装置に係り、図２のＡ地点における特定パーティクルの分散状態を示す模式図である。
【図９】図９は、実施例１の自律移動体制御装置に係り、図２のＢ地点における特定パーティクルの分散状態を示す模式図である。
【図１０】図１０は、比較例の自律移動体制御装置に係り、図２のＢ地点における特定パーティクルの分散状態を示す模式図である。
【図１１】図１１は、実施例２の自律移動体制御装置が採用された産業車両を示す模式図である。
【図１２】図１２は、実施例２の自律移動体制御装置が移動エリア内で産業車両を自律走行させる際の制御フローである。
【図１３】図１３は、実施例２の自律移動体制御装置に係り、環境情報検出装置が検出した環境情報の一部を示す拡大模式図である。図（Ａ）は、図（Ａ）〜（Ｃ）のうちで、産業車両が最も移動エリアの東側に位置している際に環境情報検出装置が検出した環境情報を示している。図（Ｂ）は、図（Ａ）よりも産業車両が移動エリアの西側に移動した際に環境情報検出装置が検出した環境情報を示している。図（Ｃ）は、図（Ｂ）よりも産業車両が移動エリアの西側に移動した際に環境情報検出装置が検出した環境情報を示している。
【図１４】図１４は、実施例２の自律移動体制御装置に係り、編集済環境情報の一部を示す拡大模式図である。
【図１５】図１５は、実施例２の自律移動体制御装置に係り、地図情報のうち、図１４に対応する部分を示す拡大模式図である。
【発明を実施するための形態】
【００２６】
以下、本発明を具体化した実施例１、２を図面を参照しつつ説明する。
【００２７】
（実施例１）
図１に示すように、実施例１のＣＰＵ１は、自動搬送車３に搭載されている。ＣＰＵ１は本発明の自律移動体制御装置の一例である。自動搬送車３は、作業者が運転を行うことなく、図２に示す倉庫５内を自律走行可能な産業車両であり、本発明の自律移動体の一例である。また、倉庫５は本発明の移動エリアの一例である。
【００２８】
倉庫５内は、平坦に形成された複数の壁面５０によって、互いに大きさが異なる第１〜４室５１〜５４が区画されている他、第１〜４室５１〜５４と接続する廊下５５が区画されている。第１〜４室５１〜５４内には、各種の荷物棚５６の他、作業机５７等が配置されている。
【００２９】
廊下５５は第１〜４廊下５５ａ〜５５ｄによって構成されている。第１廊下５５ａは、第１室５１と接続して南北方向に延びている。第２廊下５５ｂは、第３室５３と接続するとともに、第１廊下５５ａと第３廊下５５ｃと第４廊下５５ｄとに接続しており、東西方向に延びている。第３廊下５５ｃは、第４室５４と接続するとともに第２廊下５５ｂと接続しており、南北方向に延びている。第４廊下５５ｄは、第２室５２と接続するとともに第２廊下５５ｂと接続しており、南北方向に延びている。
【００３０】
また、倉庫５内には、複数の柱５８が設けられている。各柱は、第１〜４室５１〜５４及び第１〜４廊下５５ａ〜５５ｄにそれぞれ配置されている。そして、各壁面５０は、各柱５８に沿うように設けられている。なお、図２等では、説明を容易にするため、倉庫５内における各柱５８の配置を簡略化して図示している。
【００３１】
ここで、荷物棚５６や作業机５７や柱５８の形状は、比較的多くの幾何学的形状を含んで構成される。これに対し、壁面５０は平坦に形成されていることから、その形状に含まれる幾何学的形状は少ない。このため、この倉庫５内において、荷物棚５６、作業机５７及び柱５８は、本発明における幾何学的特徴部分とされており、壁面５０は、本発明における非幾何学的特徴部分とされている。このため、柱５８や壁面５０の他に多数の荷物棚５６や作業机５７が配置される第１〜４室５１〜５４は、倉庫５内において幾何学的特徴部分に富んだ環境となる。これに対し、第１〜４廊下５５ａ〜５５ｄは、柱５８と壁面５０とで構成される。このように、柱５８は存在するものの、その多くが壁面５０によって構成されるため、第１〜４廊下５５ａ〜５５ｄには、倉庫５内において幾何学的特徴部分に乏しい環境となる。
【００３２】
図１に示すように、自動搬送車３は、上記のＣＰＵ１の他に、複数の駆動輪７、ＲＯＭ９、ＲＡＭ１１、エンコーダ１３、外界センサ１５及び情報入力部１７を備えている。また、図示を省略するものの、自動搬送車３は、公知の操舵装置及び電動モータ等を備えている。
【００３３】
各駆動輪７は、操舵装置及び電動モータ等とともに駆動装置１９を構成しており、倉庫５内で自動搬送車３を走行させることが可能となっている。
【００３４】
ＲＯＭ９には、自動搬送車３を自律走行させるための制御プログラムが記録されている。制御プログラムは、具体的には、ＳＬＡＭ（Simultaneous Localization and Mapping）アルゴリズムであり、確率的手法としてのパーティクルフィルタを実行する。
【００３５】
ＲＡＭ１１は本発明における記憶装置の一例である。ＲＡＭ１１には、図３に示す倉庫５の地図情報５００を記憶している。この地図情報５００は、倉庫５の東西方向をｘ軸とするとともに、倉庫５の南北方向をｙ軸とした際の倉庫５内の座標情報として作成されている。そして、この地図情報５００には、幾何学的特徴部分である荷物棚５６や作業机５７や柱５８の情報は存在するものの、非幾何学的特徴部分である各壁面５０の情報については、作成時の編集によって予め除外されている。つまり、図２に示す現実の倉庫５とは異なり、図３に示す地図情報５００には、各壁面５０が存在しない。
【００３６】
また、図１に示すＲＡＭ１１は、情報入力部１７に入力された経路情報の他、第１、２仮想値や確定値の他、閾値等を一時的に記憶可能となっている。なお、第１、２仮想値等の詳細は後述する。
【００３７】
エンコーダ１３は、本発明における自己移動量検出装置の一例であり、各駆動輪７の回転数や操舵装置の舵角を計測することにより、倉庫５内における自動搬送車３移動量を検出可能となっている。なお、エンコーダ１３は、電動モータの回転数を計測することにより、倉庫５内における自動搬送車３移動量を検出するように構成されても良い。また、エンコーダ１３に換えて、自己移動量検出装置としてＧＰＳ装置等を採用しても良い。
【００３８】
外界センサ１５は、本発明における環境情報検出装置の一例であり、自動搬送車３の下部に取り付けられている。外界センサ１５は、例えば図２のハッチングで示すように、自動搬送車３の周囲における一定の範囲にレーザを照射する。そして、壁面５０や柱５８等に反射して外界センサ１５戻ってきたレーザを受信する。こうして、図５に示すように、倉庫５内における自動搬送車３の周囲の環境情報１５０を検出可能となっている。また、外界センサ１５は環境情報１５０を検出すると同時に、壁面５０や柱５８等から自動搬送車３までの距離を計測する。
【００３９】
ここで、上記のように、倉庫５内には、幾何学的特徴部分である柱５８等と、非幾何学的特徴部分である壁面５０が存在する。このため、外界センサ１５によって検出される環境情報１５０には、柱５８等に基づく幾何学的環境情報１５０ａと、壁面５０に基づく非幾何学的環境情報１５０ｂとが含まれることになる。
【００４０】
図１に示す情報入力部１７は、図示しない操作ディスプレイやキーボード等で構成されており、作業者が自動搬送車３の現在地及び目的地等の経路情報を入力することが可能となっている。
【００４１】
ＣＰＵ１は、これらの駆動装置１９、ＲＯＭ９、ＲＡＭ１１、エンコーダ１３、外界センサ１５及び情報入力部１７を制御して自動搬送車３を自律走行させる。具体的には、ＣＰＵ１は、本発明における抽出部、第１演算部、第２演算部、第３演算部、第１出力モード部及び第２出力モード部として各演算処理を行う。これにより、ＣＰＵ１は、後述する第１出力モード又は第２出力モードを実行しつつ、倉庫５内で自動搬送車３を自律走行させる。
【００４２】
次に、第１室５１内の荷物棚５６にある荷物（図示略）を自動搬送車３が第４室５４内の荷物棚５６まで搬送する場合を例に、倉庫５内で自動搬送車３を自律走行させる際のＣＰＵ１の各演算処理を具体的に説明する。
【００４３】
図４に示すように、自動搬送車３を自律走行させるに当たっては、まず、ＣＰＵ１は、ＲＡＭ１１に記憶された倉庫５の地図情報５００と、情報入力部１７から入力された経路情報とに基づき、自動搬送車３の現在位置と、目的地である第４室５４との地図情報５００上における座標を演算する。そして、ＣＰＵ１は、駆動装置１９を制御することにより、第４室５４に向けて自動搬送車３の走行を開始する（ステップＳ１０１）。
【００４４】
自動搬送車３が走行することにより、エンコーダ１３は、各駆動輪７の回転数や操舵装置の舵角を計測して自動搬送車３の移動量を検出する。そして、この移動量に基づき、ＣＰＵ１は、自動搬送車３の第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢θからなる第１仮想値を演算する（ステップＳ１０２）。この姿勢θは、自動搬送車３の進行方向において、ｘ軸方向に対するｙ軸方向への傾きである。なお、ＣＰＵ１に演算された第１仮想値はＲＡＭ１１に記憶される。
【００４５】
また、自動搬送車３が走行することにより、外界センサ１５は、自動搬送車３の周囲の環境情報１５０（図５参照）を随時検出する（ステップＳ１０３）。この環境情報１５０は、ＲＡＭ１１に記憶される。このため、ＲＡＭ１１には、自動搬送車３が走行するにつれて、環境情報１５０が徐々に蓄積されていくことになる。そして、ＣＰＵ１は、環境情報１５０から特定環境情報２００（図７参照）を抽出する（ステップＳ１０４）。抽出された特定環境情報２００は、ＲＡＭ１１に記憶される。
【００４６】
この特定環境情報２００の抽出について、自動搬送車３が図２に示す領域Ｘを走行する場合を例に具体的に説明する。領域Ｘは、第２廊下５５ｂの一部であり、後述するＢ地点を含んでいる。そして、自動搬送車３が領域Ｘを走行することにより、外界センサ１５は、図５に示す環境情報１５０を検出する。ここで、領域Ｘは第２廊下５５ｂの一部であることから、外界センサ１５は、柱５８と壁面５０とを検出する。このため、環境情報１５０は、各柱５８に基づく幾何学的環境情報１５０ａと、各柱５８の間に存在する各壁面５０に基づく非幾何学的環境情報１５０ｂとで構成される。なお、上記のように、外界センサ１５は自動搬送車３の進行方向に向けて照射されることから、柱５８の一部には外界センサ１５のレーザが照射されない。このため、図２に示す実際の柱５８の形状と、図５に示す幾何学的環境情報１５０ａの形状とは、一部が異なることになる。
【００４７】
また、ＣＰＵ１は、ＲＡＭ１１に記憶された地図情報５００と、上記のように検出された環境情報１５０とを参照する。ここで、地図情報５００には、壁面５０が除外されているため、地図情報５００において、領域Ｘに対応する部分は図６に示す通りとなる。そして、ＣＰＵ１は、図５に示す環境情報１５０から、図３及び図６に示す地図情報５００と整合する箇所を図７に示す特定環境情報２００として抽出する。つまり、領域Ｘにおいては、環境情報１５０と地図情報５００とが整合する箇所は、各柱５８に基づく幾何学的環境情報１５０ａとなる。このため、ＣＰＵ１は、各柱５８に基づく幾何学的環境情報１５０ａを特定環境情報２００として抽出する。換言すれば、特定環境情報２００は、幾何学的環境情報１５０ａのみで構成されることとなる。なお、本実施例では、図２に示す第１〜４廊下５５ａ〜５５ｄは、各柱５８以外の幾何学的特徴部分が存在しない。このため、領域Ｘに限らず、自動搬送車３が第１〜４廊下５５ａ〜５５ｄのいずれの位置を走行していても、ＣＰＵ１は、各柱５８に基づく幾何学的環境情報１５０ａを特定環境情報２００として抽出することとなる。これに対し、例えば、自動搬送車３が第１室５１を走行している場合には、ＣＰＵ１は、各柱５８に基づく幾何学的環境情報１５０ａだけでなく、各荷物棚５６に基づく幾何学的環境情報１５０ａも特定環境情報２００として抽出することとなる。
【００４８】
次に、ＣＰＵ１は、特定環境情報２００に基づき、パーティクルフィルタによって自動搬送車３の第２推定ｘ座標、第２推定ｙ座標及び第２推定姿勢θからなる複数の第２仮想値を演算する（図４に示すステップＳ１０５）。具体的には、ＣＰＵ１は、自動搬送車３の仮想体である多数のパーティクルを自動搬送車３の周囲に分散させる。そして、各パーティクルから、特定環境情報２００に基づき、倉庫５内における現在の自動搬送車３の座標及び姿勢に所定の大きさの尤度でマッチングする特定パーティクルを複数個抽出する。そして、各特定パーティクルのｘ座標、ｙ座標及び姿勢θから、上記の第２仮想値、すなわち、各第２推定ｘ座標、各第２推定ｙ座標及び各第２推定姿勢θをそれぞれ演算する。
【００４９】
次に、ＣＰＵ１は、ＲＡＭ１１内に記憶された情報を基に、既に第１出力モードを実行したことがあるか否かを判断する（ステップＳ１０６）。そして、第１出力モードを実行したことがある場合（ステップＳ１０６：ＹＥＳ）には、ＣＰＵ１は、既に行った第１出力モードで得られた確定値に基づいて、上記の第１仮想値の変位量を演算する（ステップＳ１０７）。この変位量の演算は、具体的には、第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢θと、確定値に基づく倉庫５内における現在の自動搬送車３のｘ座標、ｙ座標及び姿勢θとを比較することによって行う。なお、第１出力モード及び確定値についての詳細は後述する。
【００５０】
こうして演算された第１仮想値の変位量について、ＣＰＵ１は、ＲＡＭ１１に記憶されている閾値を超えているか否かを判断する（ステップＳ１０８）。ここで、変位量が閾値を超えていなければ（ステップＳ１０８：ＮＯ）、倉庫５内における自動搬送車３の現在のｘ座標、ｙ座標及び姿勢θに対して、第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢θの精度が高いことを意味する。このため、ＣＰＵ１は、第２出力モードを実行する（ステップＳ１０９）。第２出力モードでは、ＣＰＵ１は、第１仮想値の第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢θを倉庫５自動搬送車３の現在のｘ座標、ｙ座標及び姿勢θである副確定値とする。こうして、ＣＰＵ１は、倉庫５内における自動搬送車３の現在のｘ座標、ｙ座標及び姿勢θを認識する。そして、ＣＰＵ１は、この副確定値をＲＡＭ１１に記憶させるともに、駆動装置１９に出力することによって、自動搬送車３を自律走行させる。なお、第２出力モードでは、第１出力モードで得られた以前の確定値をＲＡＭ１１から消去しない。
【００５１】
一方、変位量が閾値を超えている場合（ステップＳ１０８：ＹＥＳ）は、既に行った第１出力モードにおいて得られた確定値に対して、第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢θのずれが大きく、第１仮想値の精度が低いことを意味する。このような場合にまで第１仮想値を副確定値とすれば、ＣＰＵ１が認識する倉庫５内における自動搬送車３のｘ座標、ｙ座標及び姿勢θと、倉庫５内における自動搬送車３の現在のｘ座標、ｙ座標及び姿勢θとの誤差が大きくなる。そこで、変位量が閾値を超えている場合には、ＣＰＵ１は、第１出力モードを実行する（ステップＳ１１０）。なお、自動搬送車３を自律走行させた直後のように、第１出力モードを一度も実行したことがない場合（ステップＳ１０６：ＮＯ）についても、ＣＰＵ１は、上記のステップＳ１０７〜Ｓ１０９の処理を行わずに、第１出力モードを実行する。
【００５２】
第１出力モードでは、ステップＳ１０２で演算された第１仮想値及びステップＳ１０５で演算された各第２仮想値から、確定値を決定する。この確定値は、ＣＰＵ１が各第２仮想値と、各第２仮想値と第１仮想値とのマッチング率とを重み付けすることによって決定される。これにより、ＣＰＵ１は、確定値の第２推定ｘ座標、第２推定ｙ座標及び第２推定姿勢θを倉庫５自動搬送車３の現在のｘ座標、ｙ座標及び姿勢θとして認識する。そして、ＣＰＵ１は、この確定値をＲＡＭ１１に記憶させるともに、駆動装置１９に出力することによって、自動搬送車３を自律走行させる。ここで、既にＲＡＭ１１に以前の確定値が記憶されている場合には、新たに得られた確定値を上書きする。また、ＣＰＵ１は、第１出力モードを実行したことについてもＲＡＭ１１に記憶させる。
【００５３】
こうして、ＣＰＵ１は、自動搬送車３が目的地である第４室５４に到達していなければ（ステップＳ１１１：ＮＯ）、上記のステップＳ１０２〜ステップＳ１１０を繰り返すことにより、第１出力モード又は第２出力モードを実行する。これにより、ＣＰＵ１は、自動搬送車３について、図２の矢印で示すように、第１室５１から第１廊下５５ａを通って第２廊下５５ｂに至り、第２廊下５５ｂから第３廊下５５ｃを通って第４室５４に至る経路を通って、第４室５４まで自律走行させることが可能となっている。そして、自動搬送車３が第４室５４の荷物棚５６に到達すれば（ステップＳ１１４：ＹＥＳ）、ＣＰＵ１は自動搬送車３の制御を終了する。
【００５４】
このように、このＣＰＵ１では、特定環境情報２００に基づいて各第２仮想値を演算するため、各第２仮想値を素早く演算することができる。また、ＣＰＵ１は、第１出力モードにおいて、倉庫５内における自動搬送車３現在のｘ座標、ｙ座標及び姿勢として精度の高い確定値を決定することが可能となっている。このため、このＣＰＵ１では、倉庫５における自動搬送車３のｘ座標、ｙ座標及び姿勢を精度高く認識することが可能となっている。
【００５５】
実施例１のＣＰＵ１における作用効果について、比較例と対比しつつ、より詳細に説明する。比較例では、ＲＡＭ１１に記憶される地図情報に壁面５０の情報が含まれている。これにより、比較例では、外界センサが検出する環境情報１５０と地図情報とが整合することとなる。そして、比較例では、ＣＰＵ１が環境情報１５０から特定環境情報２００の抽出を行わない。このため、比較例では、幾何学的環境情報１５０ａ及び非幾何学的環境情報１５０ｂが含まれる環境情報１５０に基づいて、ＣＰＵ１が各第２仮想値を演算するようになっている。
【００５６】
ところで、一般的に、パーティクルフィルタ等の確率的手法を用いた場合、各第２仮想値は一定のバラツキを有して演算される。この各第２仮想値のバラツキは、環境情報１５０に含まれる幾何学的環境情報１５０ａの割合によって変化し、幾何学的環境情報１５０ａが多いほど、各第２仮想値のバラツキが小さくなる。
【００５７】
ここで、実施例１では、ＣＰＵ１が抽出した特定環境情報２００は、幾何学的環境情報１５０ａのみで構成されている。これにより、実施例１のＣＰＵ１が地図情報５００上のｘ座標、ｙ座標及び姿勢θが「ｘＡ：ｙＡ：θＡ」となる第１室５１のＡ地点（図２参照）においてパーティクルフィルタを実行した場合、図８に示すように、特定環境情報２００に基づいて抽出された特定パーティクルＰ１〜Ｐ１０は、Ａ地点に近い範囲に分布する。つまり、特定パーティクルＰ１〜Ｐ１０同士のバラツキは小さい。
【００５８】
同様に、実施例１のＣＰＵ１が地図情報５００上のｘ座標、ｙ座標及び姿勢θが「ｘＢ：ｙＢ：θＢ」となる第２廊下５５ｂのＢ地点（図２参照）においてパーティクルフィルタを実行した場合も、図９に示すように、特定環境情報２００に基づいて抽出された特定パーティクルＰ１〜Ｐ１０は、Ｂ地点に近い範囲で分布する。つまり、この場合も特定パーティクルＰ１〜Ｐ１０同士のバラツキは小さい。なお、Ａ地点及びＢ地点における各特定パーティクルＰ１〜Ｐ１０の分布は一例である。
【００５９】
これに対し、比較例では、ＣＰＵ１が環境情報１５０に基づいて各第２仮想値を演算する。ここで、Ａ地点が存在する第１室５１の他、第２〜４室５２〜５４では、室内に柱５８や壁面５０の他に、多くの荷物棚５６や作業机５７等が配置されている。このため、比較例においても、第１〜４室５１〜５４で外界センサ１５が環境情報１５０を検出した際には、その環境情報１５０には、幾何学的環境情報１５０ａが多く含まれ、反対に、非幾何学的環境情報１５０ｂは少なくなる。このため、比較例のＣＰＵ１がＡ地点でパーティクルフィルタを実行した場合、環境情報１５０に基づいて抽出された特定パーティクルＰ１〜Ｐ１０は、実施例１のＣＰＵ１による場合と同様、Ａ地点に近い範囲に分布する。
【００６０】
しかし、Ｂ地点が存在する第２廊下５５ｂの他、第１、３、４廊下５５ａ、５５ｃ、５５ｄでは、柱５８は存在するものの、大部分が壁面５０となる。つまり、Ｂ地点での環境情報１５０には、幾何学的環境情報１５０ａが少なく、非幾何学的環境情報１５０ｂが多くなる。このため、比較例のＣＰＵ１がＢ地点でパーティクルフィルタを実行した場合、図１０に示すように、環境情報１５０に基づいて抽出された特定パーティクルＰ１〜Ｐ１０のバラツキが大きくなる。
【００６１】
このように、比較例のＣＰＵ１では、環境情報１５０に含まれる非幾何学的環境情報１５０ｂが多くなると、各第２仮想値、ひいては、特定パーティクルＰ１〜Ｐ１０を抽出する際の処理負担が大きくなり、演算に必要な時間が長くなるだけでなく、各特定パーティクルＰ１〜Ｐ１０バラツキが大きくなることで、各第２仮想値から確定値を好適に決定することができなくなる。この結果、比較例のＣＰＵ１では、第１〜４廊下５５ａ〜５５ｄを走行する際の自動搬送車３の現在のｘ座標、ｙ座標及び姿勢を精度高く認識することができなくなる。
【００６２】
この点、実施例１のＣＰＵ１は、特定環境情報２００に基づくことで、各第２仮想値を演算する際の処理負担を軽減することができ、各第２仮想値を素早く演算することができる。また、第１室５１のように倉庫５において幾何学的特徴部分に富んだ環境だけでなく、第２廊下５５ｂや第４廊下５５ｄのように倉庫５内において幾何学的特徴部分に乏しい環境においても、各第２仮想値を演算するに当たって抽出された特定パーティクルＰ１〜Ｐ１０のバラツキが小さくなる。このため、このＣＰＵ１では、第１出力モードにおいて決定する確定値の精度を高くすることができる。このため、このＣＰＵ１では、第１〜４室５１〜５４や第１〜４廊下５５ａ〜５５ｄに関係なく、つまり、幾何学的特徴部分に富んだ環境や幾何学的特徴部分に乏しい環境に関係なく、倉庫５内における自動搬送車３の現在のｘ座標、ｙ座標及び姿勢を精度高く認識することが可能となっている。この結果、このＣＰＵ１では、自動搬送車３を倉庫５内で精度高く自律走行させることが可能であり、自動搬送車３の作業効率を向上させることが可能となっている。
【００６３】
そして、このＣＰＵ１では、倉庫５における壁面５０が除外された地図情報５００を用意し、この地図情報５００と環境情報１５０とから特定環境情報２００を抽出すれば、精度の高い確定値を求めるに当たって、倉庫５に光学作用部材のような部材を別途に設ける必要がない。また、倉庫５では、レイアウトの変更が頻繁に行われ得るものの、そのような場合であっても、このＣＰＵ１では、ＲＡＭ１１に記憶された地図情報５００を修正すれば足りるため、比較的容易にその対応を行うことが可能となっている。
【００６４】
したがって、実施例１のＣＰＵ１によれば、倉庫５内で自動搬送車３を精度高く自律移動させることが可能であるとともに、運用に必要なコストを低廉化することができる。
【００６５】
特に、ＣＰＵ１は、既に第１出力モードを実行し、その際に得られた確定値をＲＡＭ１１が記憶している場合には、その確定値に基づいて第１仮想値の変位量を演算する。そして、変位量が閾値を超えていなければ、第１仮想値を副確定値とする第２出力モードを実行する。これにより、ＣＰＵ１は、第１仮想値の精度が高く、各第２仮想値を演算して確定値を決定する必要性が乏しい場合には、処理負担を軽減しつつ、自動搬送車３を自律走行させることが可能となっている。
【００６６】
（実施例２）
図１１に示すように、実施例２のＣＰＵ１０は、自動搬送車３０に搭載されている。ＣＰＵ１０も本発明の自律移動体制御装置の一例である。また、上記の自動搬送車３と同様、自動搬送車３０も倉庫５内を自律走行可能な産業車両であり、本発明の自律移動体の一例である。
【００６７】
自動搬送車３０の構成は、ＣＰＵ１０を除いて自動搬送車３と同様であるため、同一の構成については、同一の符号を付して構成に関する詳細な説明を省略する。ここで、自動搬送車３０において、ＲＡＭ１１に記憶される地図情報６００（図１５参照）は、上記の地図情報５００と異なり、非幾何学的特徴部分である各壁面５０の情報が除外されていない。つまり、この地図情報６００は、各壁面５０、各荷物棚５６及び各柱５８等を含んだ倉庫５内の座標情報である。
【００６８】
ＣＰＵ１０は、駆動装置１９、ＲＯＭ９、ＲＡＭ１１、エンコーダ１３、外界センサ１５及び情報入力部１７を制御して自動搬送車３０を自律走行させる。具体的には、ＣＰＵ１０は、本発明における基準値演算部、生成部、決定部、第１演算部、第２演算部、第３演算部、第１出力モード部及び第２出力モード部として各演算処理を行う。これにより、ＣＰＵ１０も、第１出力モード又は第２出力モードを実行しつつ、倉庫５内で自動搬送車３０を自律走行させる。
【００６９】
以下、実施例１のＣＰＵ１と同様、第１室５１内の荷物棚５６にある荷物を第４室５４内の荷物棚５６まで搬送する場合を例に、倉庫５内で自動搬送車３０を自律走行させる際のＣＰＵ１０の各演算処理を具体的に説明する。
【００７０】
図１２に示すように、自動搬送車３０を自律走行させるに当たっても、まず、ＣＰＵ１０は、ＲＡＭ１１に記憶された地図情報６００と、情報入力部１７から入力された経路情報とに基づき、自動搬送車３０の現在位置と、目的地である第４室５４との地図情報６００上における座標を演算する。そして、ＣＰＵ１０は、駆動装置１９を制御することにより、第４室５４に向けて自動搬送車３０の走行を開始する（ステップＳ２０１）。
【００７１】
自動搬送車３０が走行することにより、エンコーダ１３は、自動搬送車３０の移動量を検出する。そして、この移動量に基づき、ＣＰＵ１と同様、ＣＰＵ１０は、自動搬送車３０の第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢θからなる第１仮想値を演算する（ステップＳ２０２）。なお、この第１仮想値についてもＲＡＭ１１に記憶される。
【００７２】
また、図１３に示すように、自動搬送車３０が走行するにつれて、外界センサ１５は、自動搬送車３０の周囲の環境情報１５０を検出する（図１２のステップＳ２０３）。ここで、図１３では、自動搬送車３０が図２示す第２廊下５５ｂを東側から西側に向かって走行する際に検出される環境情報１５０を示している。同図に示すように、自動搬送車３０が第２廊下５５ｂを東側から西側に向かって走行することにより、検出される環境情報１５０は。図の（Ａ）〜（Ｃ）の順で逐次変化する。そして、この環境情報１５０は、ＲＡＭ１１に蓄積されていく。なお、上記のように、第２廊下５５ｂの他、第１、３、４廊下５５ａ、５５ｃ、５５ｄは、柱５８と壁面５０とで構成される。このため、環境情報１５０は、柱５８に基づく幾何学的環境情報１５０ａが含まれるものの、その大部分は、壁面５０に基づく非幾何学的環境情報１５０ｂが占めることになる。
【００７３】
また、図１２に示すように、自動搬送車３０が走行することにより、ＣＰＵ１０は、自動搬送車３０の移動速度と、倉庫５内における自動搬送車３０の進行方向とに基づく基準値を演算する（ステップＳ２０４）。この基準値はＲＡＭ１１に記憶される。
【００７４】
次に、ＣＰＵ１０は、環境情報１５０から非幾何学的環境情報１５０ｂの削除が必要であるか否かを判断する（ステップＳ２０５）。なお、この判断は、例えば、ＲＡＭ１１に蓄積される環境情報１５０において、非幾何学的環境情報１５０ｂの割合が一定値を超える等の条件が満たされているか否かによって行う。
【００７５】
そして、環境情報１５０から非幾何学的環境情報１５０ｂの削除が必要であると判断した場合（ステップＳ２０５：ＹＥＳ）には、ＣＰＵ１０は、環境情報１５０から非幾何学的環境情報１５０ｂを削除した編集済環境情報３００（図１４参照）を生成する（ステップＳ２０６）。編集済環境情報３００はＲＡＭ１１に記憶される。
【００７６】
この編集済環境情報３００を生成するに当たっては、ＣＰＵ１０は、ステップＳ２０４で演算した基準値に基づき、自動搬送車３０が走行するにつれて蓄積された環境情報１５０のうち、変化の度合いが基準値を満たさないものを非幾何学的環境情報１５０ｂと特定して、これを環境情報１５０から削除する。この点について、図２及び図１３を基に、自動搬送車３０が第２廊下５５ｂを東側から西側に向かって走行する場合を例に具体的に説明する。第２廊下５５ｂを東側から西側に向かって走行中の自動搬送車３０の周囲は、壁面５０のみが存在する状態が一定程度続く状態となり、時折、柱５８が存在する状態となる。そして、また、壁面５０のみが存在する状態が一定程度続く状態となることが繰り返される。このため、壁面５０のみが存在する場所を自動搬送車３０が走行する際、外界センサ１５は壁面５０のみを検出するため、壁面５０のみを検出している間は、環境情報１５０が殆ど変化しなくなる。一方、柱５８が存在する場所を自動搬送車３０が走行する際には、外界センサ１５が壁面５０の他に柱５８を検出するため、環境情報１５０が変化する。
【００７７】
こうして、図１４に示すように、ＣＰＵ１０は、蓄積された環境情報１５０のうち、変化の度合いが基準値を満たさないものは、外界センサ１５が壁面５０を検出している、すなわち、非幾何学的環境情報１５０ｂであると判断し、これを削除して編集済環境情報３００を生成する。この結果、図１５に示すように、地図情報６００には、壁面５０や柱５８等が存在するものの、図１４に示す編集済環境情報３００には、柱５８に基づく幾何学的環境情報１５０ａは存在するものの、壁面５０に基づく非幾何学的環境情報１５０ｂは存在しなくなる。
【００７８】
そして、ＣＰＵ１０は、自動搬送車３０が倉庫５内をさらに走行し、外界センサ１５が環境情報１５０をさらに検出することにより、それに応じて編集済環境情報３００を更新する。この結果、外界センサ１５が荷物棚５６や作業机５７を検出すれば、編集済環境情報３００には、柱５８に基づく幾何学的環境情報１５０ａと同様、荷物棚５６や作業机５７に基づく幾何学的環境情報１５０ａも存在することになる。
【００７９】
また、このように編集済環境情報３００を生成した後は、ＣＰＵ１０は、編集済環境情報３００に基づいて外界センサ１５が検出する環境情報１５０の範囲を決定する（図１２に示すステップＳ２０７）。具体的には、ＣＰＵ１０は、外界センサ１５が荷物棚５６、作業机５７及び柱５８を検出できる一方、可能な限り壁面５０を検出しないように、外界センサ１５が照射するレーザの向きや範囲を調整する。
【００８０】
そして、ＣＰＵ１０は、編集済環境情報３００に基づき、パーティクルフィルタによって自動搬送車３０の第２推定ｘ座標、第２推定ｙ座標及び第２推定姿勢θからなる複数の第２仮想値を演算する（ステップＳ２０８）。各第２仮想値の演算は、実施例１のＣＰＵ１と同様、各特定パーティクルのｘ座標、ｙ座標及び姿勢θから、各第２推定ｘ座標、各第２推定ｙ座標及び各第２推定姿勢θをそれぞれ演算する。
【００８１】
一方、環境情報１５０から非幾何学的環境情報１５０ｂの削除が不要であると判断した場合（ステップＳ２０５：ＮＯ）には、ＣＰＵ１０は、環境情報１５０に基づき、パーティクルフィルタによって自動搬送車３０の第２推定ｘ座標、第２推定ｙ座標及び第２推定姿勢θからなる複数の第２仮想値を演算する（ステップＳ２０９）。
【００８２】
次に、ＣＰＵ１０は、ＲＡＭ１１内に記憶された情報を基に、既に第１出力モードを実行したことがあるか否かを判断する（ステップＳ２１０）。そして、第１出力モードを実行したことがある場合（ステップＳ２１０：ＹＥＳ）には、ＣＰＵ１０は、実施例１のＣＰＵ１と同様、確定値に基づいて第１仮想値の変位量を演算（ステップＳ２１１）し、第１仮想値の変位量が閾値を超えているか否かを判断する（ステップＳ２１２）。そして、変位量が閾値を超えていなければ（ステップＳ２１２：ＮＯ）、ＣＰＵ１０は、第２出力モードを実行して、第１仮想値の第１推定ｘ座標、第１推定ｙ座標及び第１推定姿勢θを倉庫５自動搬送車３０の現在のｘ座標、ｙ座標及び姿勢θである副確定値とする（ステップＳ２１３）。こうして、ＣＰＵ１０は、倉庫５内における自動搬送車３０の現在のｘ座標、ｙ座標及び姿勢θを認識する。そして、ＣＰＵ１は、この副確定値をＲＡＭ１１に記憶させるともに、駆動装置１９に出力することによって、自動搬送車３０を自律走行させる。
【００８３】
一方、変位量が閾値を超えている場合（ステップＳ２１２：ＹＥＳ）や、第１出力モードを一度も実行したことがない場合（ステップＳ２１０：ＮＯ）には、ＣＰＵ１０は、第１出力モードを実行する（ステップＳ２１４）。
【００８４】
第１出力モードでは、ステップＳ２０２で演算された第１仮想値と、ステップＳ２０８又はステップＳ２０９で演算された各第２仮想値とから、ＣＰＵ１０が確定値を決定する。この確定値の決定は、実施例１のＣＰＵ１と同様にして行われる。これにより、実施例１のＣＰＵ１と同様、ＣＰＵ１０は、確定値の第２推定ｘ座標、第２推定ｙ座標及び第２推定姿勢θを倉庫５自動搬送車３０の現在のｘ座標、ｙ座標及び姿勢θとして認識する。そして、ＣＰＵ１０は、この確定値をＲＡＭ１１に記憶させるともに、駆動装置１９に出力することによって、自動搬送車３０を自律走行させる。なお、既にＲＡＭ１１に以前の確定値が記憶されている場合には、新たに得られた確定値を上書きする。また、ＣＰＵ１０は、第１出力モードを実行したことについてもＲＡＭ１１に記憶させる。
【００８５】
こうして、ＣＰＵ１０は、自動搬送車３０が目的地である第４室５４に到達していなければ（ステップＳ２１５：ＮＯ）、上記のステップＳ２０２〜ステップＳ２１４を繰り返すことにより、第１出力モード又は第２出力モードを実行する。これにより、ＣＰＵ１０も、自動搬送車３０を第４室５４まで自律走行させることが可能となっている。そして、自動搬送車３０が第４室５４に到達すれば（ステップＳ２１５：ＹＥＳ）、ＣＰＵ１０は自動搬送車３０の制御を終了する。
【００８６】
このように、ＣＰＵ１０が生成した編集済環境情報３００には、非幾何学的環境情報１５０ｂが存在しない。このため、ステップＳ２０８において、この編集済環境情報３００に基づいて各第２仮想値を演算することにより、実施例１のＣＰＵ１と同様、ＣＰＵ１０でも、各第２仮想値を演算する際の処理負担を軽減することができ、各第２仮想値を素早く演算することが可能となっている。また、編集済環境情報３００に基づくことで、第１〜４廊下５５ａ〜５５ｄのように倉庫５内の幾何学的特徴部分に乏しい環境においても、各第２仮想値を演算するに当たって抽出された特定パーティクルのバラツキが小さくなる。
【００８７】
ここで、ＣＰＵ１０は、環境情報１５０に基づいて第２仮想値を演算する場合もあり得る（ステップＳ２０９）。しかし、この際の環境情報１５０では、非幾何学的環境情報１５０ｂの割合が少ないため、たとえ環境情報１５０に基づいたとしても、特定パーティクルのバラツキは小さくなる。これらのため、ＣＰＵ１０でも、第１出力モードにおいて決定する確定値の精度を高くすることができ、自動搬送車３０を倉庫５内で精度高く自律走行させることが可能となっている。
【００８８】
また、実施例１のＣＰＵ１と異なり、このＣＰＵ１０では、地図情報６００を予め編集する必要がない。このため、倉庫５のレイアウトが変更された際、ＣＰＵ１０では、実施例１のＣＰＵ１よりも容易にその対応を行うことが可能となっている。
【００８９】
さらに、ＣＰＵ１０は、編集済環境情報３００に基づいて外界センサ１５が検出する環境情報１５０の範囲を決定するため、外界センサ１５が壁面５０を検出することを減らすことができる。このため、ＣＰＵ１０は、自動搬送車３０の走行に応じて編集済環境情報３００を更新する際、その処理を軽減することが可能となっている。このＣＰＵ１０における他の作用は、実施例１のＣＰＵ１と同様である。
【００９０】
以上において、本発明を実施例１、２に即して説明したが、本発明は上記実施例１、２に制限されるものではなく、その趣旨を逸脱しない範囲で適宜変更して適用できることはいうまでもない。
【００９１】
例えば、ＣＰＵ１は、第２出力モードを実行せずに、常に第１出力モードを実行して自動搬送車３を自律走行させても良い。ＣＰＵ１０についても同様である。
【００９２】
また、ＣＰＵ１は、パーティクルフィルタ以外の確率的手法によって複数の第２仮想値を演算しても良く、複数の確率的手法を組み合わせることによって、各第２仮想値を演算しても良い。ＣＰＵ１０についても同様である。
【００９３】
さらに、実施例１では、１つのＣＰＵ１が第１演算部、第２演算部、第３演算部、判断部、主決定部、副決定部、第１出力モード部、第２出力モード部、第３出力モード部及び補正モード部として各演算処理を行う。しかし、これに限らずＣＰＵ１を複数とし、各ＣＰＵ１に上記の演算処理を分担させても良い。ＣＰＵ１０についても同様である。
【００９４】
また、ＣＰＵ１やＣＰＵ１０を自動搬送車３、３０の外部に設け、ＣＰＵ１やＣＰＵ１０は、無線通信によって、駆動装置１９、ＲＯＭ９、ＲＡＭ１１、エンコーダ１３、外界センサ１５及び情報入力部１７を遠隔制御する構成としても良い。
【００９５】
また、自動搬送車３、３０は、上記の自律走行を行う場合と、作業者の運転によって走行する場合とを切り替え可能に構成されても良い。
【産業上の利用可能性】
【００９６】
本発明は、自律移動が可能なロボット、自動車及び産業車両等に利用可能である。
【符号の説明】
【００９７】
１…ＣＰＵ（自律移動体制御装置、抽出部、第１演算部、第２演算部、第３演算部、第１出力モード部及び第２出力モード部）
３…自動搬送車（自律移動体、産業車両）
５…倉庫（移動エリア）
１０…ＣＰＵ（自律移動体制御装置、基準値演算部、生成部、決定部、第１演算部、第２演算部、第３演算部、第１出力モード部及び第２出力モード部）
１１…ＲＡＭ（記憶装置）
１３…エンコーダ（自己移動量検出装置）
１５…外界センサ（環境情報検出装置）
１９…駆動装置
５０…壁面（非幾何学的特徴部分）
５６…荷物棚（幾何学的特徴部分）
５７…作業机（幾何学的特徴部分）
５８…柱（幾何学的特徴部分）
１５０…環境情報
１５０ａ…幾何学的環境情報
１５０ｂ…非幾何学的環境情報
２００…特定環境情報
３００…編集済環境情報
５００、６００…地図情報
【図１】
2018013860.tif 000003
【図２】
2018013860.tif 000004
【図３】
2018013860.tif 000005
【図４】
2018013860.tif 000006
【図５】
2018013860.tif 000007
【図６】
2018013860.tif 000008
【図７】
2018013860.tif 000009
【図８】
2018013860.tif 000010
【図９】
2018013860.tif 000011
【図１０】
2018013860.tif 000012
【図１１】
2018013860.tif 000013
【図１２】
2018013860.tif 000014
【図１３】
2018013860.tif 000015
【図１４】
2018013860.tif 000016
【図１５】
2018013860.tif 000017