(57)【要約】【課題】演算コストを低減して自己位置同定を行う。【解決手段】移動体１０は、自己位置同定手段１２０、周囲の環境を計測する環境計測手段１１０、障害物マップ生成手段１３０、目的地までの移動経路を生成する経路計画手段１４０、経路を走行するための制御信号を生成する追従制御手段１５０、制御信号に基づいて駆動する駆動手段１６０、及び移動体１０の加速度を計測する加速度計測手段１９０を備える。自己位置同定手段１２０は、障害物マップに記録された障害物の位置を通過した場合と、加速度が閾値を超えた場合と、経路の曲率が閾値以上の箇所を通過した場合と、制御信号と駆動手段の駆動状態との比較によりスリップが生じていると判定した場合と、地図とのマッチングによる自己位置の同定から所定の時間が経過した場合または所定の距離だけ走行した場合と、のいずれかに該当した場合に、地図とのマッチングにより自己位置の同定を行う。【選択図】図１
2012128781.tif 000002
【特許請求の範囲】
【請求項１】
オドメトリによる自己位置の推定と、地図とのマッチングにより自己位置の同定と、を行い、自律移動する移動体であって、
自己位置同定手段と、
周囲の環境を計測する環境計測手段と、
前記環境計測手段により計測された情報と、前記自己位置同定手段で求めた位置情報とに基づいて、障害物の位置が記録されている障害物マップを生成する障害物マップ生成手段と、
前記障害物マップ生成手段が生成した障害物マップ上に、目的地までの移動経路を生成する経路計画手段と、
前記経路計画手段が計画した経路を走行するための制御信号を生成する追従制御手段と、
前記追従制御手段が生成した制御信号に基づいて駆動輪を駆動させる駆動手段と、
前記移動体の加速度を計測する加速度計測手段と、を備え、
前記自己位置同定手段は、前記障害物マップに記録された障害物の位置を通過した場合と、前記加速度計測手段により求めた加速度があらかじめ定めた閾値を超えた場合と、前記経路計画手段により生成された経路のうち曲率が閾値以上の箇所を通過した場合と、前記追従制御手段の制御信号と前記駆動手段の駆動状態との比較によりスリップが生じていると判定した場合と、地図とのマッチングによる自己位置の同定から所定の時間が経過した場合と、地図とのマッチングによる自己位置の同定から所定の距離だけ走行した場合と、のいずれかに該当した場合に、地図とのマッチングにより自己位置の同定を行う、移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体に関する。
【背景技術】
【０００２】
近年、所定の経路を移動する自律型の移動体が供されている。このような移動体は、経路上における自己位置を同定しながら走行する。
【０００３】
移動体の自己位置推定は、駆動輪径及び駆動輪の回転数に基づいて自己位置を推定するによる方法（オドメトリ）と、地図とのマッチングにより自己位置を同定する方法を組み合わせることにより、自己位置を同定する方法が知られている。
【０００４】
オドメトリによる自己位置推定では、駆動輪の回転数の積算により、ある地点からの移動距離を算出することで、自己位置を推定する。したがって、オドメトリによる自己位置推定では、駆動輪のスリップにより誤差が生じる場合がある。また、移動体が長距離走行する場合に誤差が積算する。
【０００５】
地図とのマッチングによる自己位置同定方法では、外界センサを用いて周囲の環境を測定し、事前に保持してある地図とマッチングすることで、自己位置を同定する。これにより、地図とのマッチングによる自己位置推定方法では、移動体の絶対位置を同定することができるが、演算のコストが高いという特徴がある。
【０００６】
したがって、移動体において、オドメトリによる自己位置推定を高頻度で実行し、地図とのマッチングによる自己位置同定を低頻度で実行することが行われている。これにより、移動体は、オドメトリによる自己位置推定で生じる誤差を、地図とのマッチングによって修正しながら、自己位置を同定する。
これにより、移動体は、地図とのマッチングによる自己位置同定のみを用いる場合に比べ、演算コストを低減することができる。
【０００７】
特許文献１には、自己位置の同定に必要なランドマーク情報の処理コストを低減し、環境の変化に対しても柔軟に対応可能な移動体について記載されている。
【０００８】
特許文献２には、オドメトリのずれを修正する移動体について記載されている。該移動体は、走行する区間ごとに車両特徴量を記憶しておき、オドメトリによる自己位置推定の際に、区間ごとに設定された車両特徴量と、オドメトリによる情報とに基づいて自己位置を推測する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−１６５２７５号公報
【特許文献２】特開２００６−２５２３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
オドメトリによる自己位置推定では、誤差が生じるタイミングは不明である。したがって、移動体は、地図とのマッチングによる自己位置同定を一定周期ごとに行うことで、オドメトリにより生じる誤差を修正していた。しかしながら、地図とのマッチングによる自己位置同定は、オドメトリにより生じる誤差の修正が不要な場合であっても行われるため、演算コストが高くなり、他のタスクに制約を生じる場合があった。
本発明は、このような問題点を解決するためになされたものであり、演算コストを低減して自己位置同定を行うことを目的とする。
【課題を解決するための手段】
【００１１】
本発明にかかる移動体は、オドメトリによる自己位置の推定と、地図とのマッチングにより自己位置の同定と、を行い、自律移動する移動体であって、自己位置同定手段と、周囲の環境を計測する環境計測手段と、前記環境計測手段により計測された情報と、前記自己位置同定手段で求めた位置情報とに基づいて、障害物の位置が記録されている障害物マップを生成する障害物マップ生成手段と、前記障害物マップ生成手段が生成した障害物マップ上に、目的地までの移動経路を生成する経路計画手段と、前記経路計画手段が計画した経路を走行するための制御信号を生成する追従制御手段と、前記追従制御手段が生成した制御信号に基づいて駆動輪を駆動させる駆動手段と、前記移動体の加速度を計測する加速度計測手段と、を備え、前記自己位置同定手段は、前記障害物マップに記録された障害物の位置を通過した場合と、前記加速度計測手段により求めた加速度があらかじめ定めた閾値を超えた場合と、前記経路計画手段により生成された経路のうち曲率が閾値以上の箇所を通過した場合と、前記追従制御手段の制御信号と前記駆動手段の駆動状態との比較によりスリップが生じていると判定した場合と、地図とのマッチングによる自己位置の同定から所定の時間が経過した場合と、地図とのマッチングによる自己位置の同定から所定の距離だけ走行した場合と、のいずれか一つの場合に、地図とのマッチングにより自己位置の同定を行う。
これにより、移動体は、オドメトリのずれやすい場所を通過した場合に、地図とのマッチングによる自己位置の同定を行うことができる。
【発明の効果】
【００１２】
演算コストを低減して自己位置同定を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１にかかる移動体のブロック図である。
【図２】実施の形態１にかかる障害物マップである。
【図３】実施の形態１にかかる障害物の図である。
【図４】実施の形態１にかかる処理のフローチャートである。
【図５】実施の形態１にかかる加速度が閾値以上となる場合の図である。
【図６】実施の形態１にかかる加速判定後の地図とのマッチング開始タイミングを示す図である。
【発明を実施するための形態】
【００１４】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は、移動体１０のブロック図である。
【００１５】
移動体１０は、環境計測手段１１０と、自己位置同定手段１２０と、障害物マップ生成手段１３０と、経路計画手段１４０と、追従制御手段１５０と、駆動手段１６０と、マップ記憶部１８０と、加速度計測手段１９０と、駆動輪１７０を備える。
移動体１０は、自律移動を行うロボットである。以下では、移動体１０をロボットと呼ぶこともある。
【００１６】
環境計測手段１１０は、移動体１０の周囲の環境を連続的に計測する。環境計測手段１１０は、距離センサであり、例えばレーザ距離計や、ステレオカメラである。環境計測手段１１０は、周囲の物体からの距離を、距離データとして取得する。
環境計測手段１１０は、取得した距離データを、自己位置同定手段１２０と、障害物マップ生成手段１３０に出力する。例えば、環境計測手段１１０は、自己位置を同定するために必要な周囲の物体からの距離を自己位置同定手段１２０に出力し、マップ記憶部１８０に記憶された地図に記載されていない障害物までの距離を障害物マップ生成手段１３０に出力する。
【００１７】
自己位置同定手段１２０は、オドメトリによる自己位置の推定や、地図とのマッチングによる自己位置の同定を行う。自己位置同定手段１２０は、演算部１２１と、記憶部１２２と、を備える。
自己位置同定手段１２０は、マップ記憶部１８０からマップ情報が供給され、環境計測手段１１０から距離データが供給され、経路計画手段１４０から経路データが供給され、駆動手段１６０からエンコーダ値が供給され、加速度計測手段１９０からロボット加速度が供給される。自己位置同定手段１２０は、供給されたデータ及び値に基づいて、オドメトリによる自己位置の推定を行うか、地図とのマッチングによる自己位置の同定を行うか、のいずれかを選択し、実行する。自己位置同定手段１２０が、自己位置を求める方法を選択する手順については、後に詳述する。
【００１８】
演算部１２１は、制御プログラムに基づいて処理を実行するＣＰＵ（Central Processing Unit）を備える。
オドメトリによる自己位置の推定を行う場合には、演算部１２１は、記憶部１２２に記憶されている前回の演算により求めた自己位置と、駆動手段１６０から供給されたエンコーダ値に基づいて演算を行い、現在の自己位置を推定する。具体的には、演算部１２１は、移動体１０が前回の演算により求めた自己位置から、エンコーダ値に基づく距離だけ移動したものとして演算する。
地図とのマッチングにより自己位置の同定を行う場合には、演算部１２１は、マップ記憶部１８０から供給されたマップ情報と、環境計測手段１１０から供給された距離データと、に基づいて自己位置を同定する。具体的には、演算部１２１は、環境計測手段１１０から供給された距離データから、移動体１０がマップ上のどの位置に存在しているかの演算を行う。演算部１２１は、演算により推定した自己位置を、記憶部１２２と、障害物マップ生成手段１３０に出力する。
【００１９】
記憶部１２２は、例えばメモリやＨＤＤなどの記憶媒体である。記憶部１２２は、演算部１２１から供給された演算結果を、一時的に記憶する。記憶部１２２は、演算部１２１がオドメトリによる自己位置の推定を行う場合に、記憶している前回の演算時の自己位置を、演算部１２１に出力する。
【００２０】
障害物マップ生成手段１３０は、環境計測手段１１０から供給される障害物の情報と、自己位置同定手段１２０から供給された自己位置の情報に基づいて、障害物マップを生成する。図２に障害物マップの一例を示す。障害物マップには、地図上における移動体１０の場所と、障害物の座標が記録されている。
図３に障害物の一例として、各部屋の入口に設けられた段差を示す。典型的には、障害物は、図３に示した段差のほか、エレベーターの溝や点字ブロックなどがある。
【００２１】
また典型的には、障害物マップ生成手段１３０は、障害物マップとして、グリッドマップおよびトポロジーマップを用いる。
グリッドマップとは、地図上の領域が、一定領域ごとにグリッド単位で区切られているマップである。グリッドマップでは、図２のように、廊下のグリッドと、部屋Ａのグリッドと、部屋Ｂのグリッドと、部屋Ｃのグリッドと、を区切って設けている。障害物マップ生成手段１３０は、障害物のあるグリッドには、障害物があることを示すＩＤを割り振る。
トポロジーマップとは、複数のノードと、当該複数のノードを接続するエッジからなるマップである。ここで、トポロジーマップは、グリッドマップにおける各グリッド間の関係を示す。例えば、部屋Ａから部屋Ｃに向かう場合、部屋Ａの入口、廊下、部屋Ｃの入口、を介している。この場合、部屋Ａ、部屋Ａの入口、廊下、部屋Ｃの入口、部屋Ｃをそれぞれノードとし、部屋Ａと部屋Ａの入口、部屋Ａの入口と廊下、廊下と部屋Ｃの入口、部屋Ｃの入口と部屋Ｃ、をそれぞれエッジで接続する。
このようにして、障害物マップ生成手段１３０は、グリッド間の関係を示すトポロジーマップを生成する。このとき、障害物マップ生成手段１３０は、移動体１０が通過する障害物の箇所をノードとする。
障害物マップ生成手段１３０は、障害物マップを逐次生成し、生成した障害物マップを経路計画手段１４０に出力する。また、障害物マップ生成手段１３０は、グリッドマップのＩＤの情報や、トポロジーマップのノードの情報を、自己位置同定手段１２０に出力する。
【００２２】
経路計画手段１４０は、移動体１０が移動する移動経路の計画を行う。図２の破線は、経路計画手段１４０により計画された、移動体１０が廊下から部屋Ｂに移動する経路である。経路計画手段１４０は、障害物マップ生成手段１３０で生成された障害物マップの供給を受け、現在地から目的地まで移動する経路を計画する。すなわち、経路計画手段１４０は、障害物マップ生成手段１３０が生成したトポロジーマップに基づき、始点のノードから、終点のノードまで移動する経路を計画する。
経路計画手段１４０は、計画した経路情報を、自己位置同定手段１２０に出力する。また、経路計画手段１４０は、追従制御手段１５０に、経路情報を出力する。
【００２３】
追従制御手段１５０は、移動体１０が定められた経路を走行するよう制御する。より具体的には、追従制御手段１５０は、移動体１０が経路計画手段１４０で計画された経路を追従して走行するように、駆動手段１６０を制御する制御信号を生成する。追従制御手段１５０は、生成した制御信号を、駆動手段１６０に出力する。また、追従制御手段１５０は、生成した制御信号の制御値を、自己位置同定手段１２０に出力する。
【００２４】
駆動手段１６０は、追従制御手段１５０から供給された制御信号に基づいて動作し、駆動輪１７０を駆動させる。例えば、駆動手段１６０は、複数のモータであり、移動体１０の左右に設けられた駆動輪１７０を、それぞれ駆動する。
また、駆動手段１６０は、エンコーダ１６１を備える。エンコーダ１６１は、モータの回転数を計測し、計測結果をエンコーダ値として、自己位置同定手段１２０に出力する。
【００２５】
駆動輪１７０は、移動体１０に設けられた複数の車輪である。例えば、駆動輪１７０は、移動体１０の前後および左右において、接地した状態で設けられている。
移動体１０の左右に設けられた駆動輪１７０は、それぞれ駆動手段１６０と連結しており、駆動手段１６０からそれぞれ駆動力が与えられる。移動体１０の前後に設けられた駆動輪１７０は、駆動手段１６０は接続していない補助輪である。移動体１０は、駆動手段１６０から与えられる駆動力が異なる場合に、左右の駆動輪１７０の回転数が異なることで、旋回動作を行うことができる。
なお、駆動輪１７０の個数や配置等については、上記に限られない。
【００２６】
マップ記憶部１８０は、移動体１０が移動するエリアの、地図情報を記憶している。マップ記憶部１８０は、自己位置同定手段１２０に地図情報を出力する。
【００２７】
加速度計測手段１９０は、移動体１０が走行する加速度を取得する。典型的には、加速度計測手段１９０は、加速度計である。加速度計測手段１９０は、移動体１０の前後方向（ｘ軸）、左右方向（ｙ軸）、上下方向（ｚ軸）の３つの軸方向について、加速度を取得する。
加速度計測手段１９０は、取得した加速度を、自己位置同定手段１２０に出力する。
【００２８】
次に、動作について説明する。図４は、自己位置同定手段１２０が、オドメトリによる自己位置の推定を行うか、地図とのマッチングにより自己位置の同定を行うかを選択し、自己位置を求めるフローチャートである。
【００２９】
自己位置同定手段１２０は、自己位置の情報を取得する（ＳＴ１０）。例えば、自己位置同定手段１２０は、記憶部１２２に記憶されている、前回の演算で求めた自己位置を取得する。
【００３０】
障害物マップを生成する（ＳＴ２０）。具体的には、環境計測手段１１０は、自己位置同定手段１２０と、障害物マップ生成手段１３０に、距離データおよび障害物の情報を送信する。障害物マップ生成手段１３０は、環境計測手段１１０から供給された障害物の情報と、自己位置同定手段１２０で算出された自己位置の情報に基づいて、障害物マップを生成する。ここで、障害物マップ生成手段１３０は、障害物がある領域に障害物がある旨のＩＤを割り振ったグリッドマップと、障害物が存在する箇所をノードとして登録したトポロジーマップを、それぞれ生成する。
【００３１】
移動体１０の現在位置が、オドメトリがずれやすい位置であるか否かを判定する（ＳＴ３０）。オドメトリがずれやすい場所とは、障害物がある場所であり、図３に示した部屋の入り口の段差や、エレベーターの溝や、点字ブロックがある場所などである。
より具体的には、自己位置同定手段１２０は、移動体１０の位置が、グリッドマップにおいて障害物があることを示すＩＤが割り振られたグリッドであるか否かを判定する。また、自己位置同定手段１２０は、障害物があることを示すＩＤが割り振られたグリッドに移動体１０がある場合には、トポロジーマップにおける障害物を示すノードを通過したか否かを判定する。
移動体１０の位置がが、グリッドマップにおいて障害物があることを示すＩＤが付されたグリッド内では無い場合や、トポロジーマップにおいて障害物を示すノードを通過していない場合には（ＳＴ３０でＮＯ）、ＳＴ４０に進む。グリッドマップにおいて障害物があることを示すＩＤが付されたグリッド内であり、トポロジーマップにおいて、障害物を示すノードを通過した場合には（ＳＴ３０でＹＥＳ）、地図とのマッチングによる自己位置の同定を行う（ＳＴ２００）。
【００３２】
自己位置同定手段１２０は、経路情報を取得する（ＳＴ４０）。具体的には、経路計画手段１４０は、障害物マップ生成手段１３０が生成した障害物マップを用いて、現在地から目標位置までの経路を計画する。経路計画手段１４０は、自己位置同定手段１２０に経路の情報を出力する。
【００３３】
自己位置同定手段１２０は、経路上でオドメトリがずれやすい箇所を通過したか否かを判定する（ＳＴ５０）。ここでオドメトリがずれやすい箇所とは、経路の曲率ｒが、一定値Ｒ以上の箇所である。一定値Ｒは、ロボットにより異なるため、実験により求めるのが望ましい。
移動体１０が、曲率ｒが一定値Ｒ以上となっている箇所を通過していない場合には（ＳＴ５０でＮＯ）、ＳＴ６０に進む。移動体１０が、オドメトリがずれやすい経路を通過した場合には（ＳＴ５０でＹＥＳ）、自己位置同定手段１２０は地図とのマッチングによる自己位置の同定を開始する（ＳＴ２００）。
【００３４】
次に、加速度計測手段１９０は、走行する移動体１０の加速度を取得する（ＳＴ６０）。具体的には、加速度計測手段１９０を用いて、移動体１０の振動や慣性を計測する。加速度計測手段１９０は、計測された加速度を自己位置同定手段１２０に出力する。
【００３５】
自己位置同定手段１２０は、加速度が閾値を超えているか否かを判定する（ＳＴ７０）ここで、加速度が閾値以上となる状況とは、図５に示すように、移動体１０が、地図に記載のない路面上の段差を通過する場合（図５（Ａ））、凹凸路面などのスリップしやすい環境下を通過する場合（図５（Ｂ））や、壁や人などの障害物と接触する場合（図５（Ｃ））などである。
より具体的には、加速度計測手段１９０は、ｘ軸、ｙ軸、ｚ軸の３軸に対する加速度を取得する。自己位置同定手段１２０は、それぞれ一定値以上の加速度が生じたか否かを判定する。オドメトリのずれと、各軸の加速度との関係や設定すべき閾値は、ロボットにより異なるため、実験により求めるのが望ましい。
加速度が閾値以下であれば（ＳＴ７０でＮＯ）、ＳＴ８０に進む。加速度が閾値以上であれば（ＳＴ７０でＹＥＳ）、地図とのマッチングによる自己位置の同定を開始する（ＳＴ２００）。
【００３６】
ここで図６は、加速度の変化の検知により、地図とのマッチングを開始するタイミングの例である。すなわち、加速度が一定値以上となったことを検知した後、Δｔ時間だけ一定値以下の状態が続いた場合に、自己位置同定手段１２０は、自己位置の同定（ＳＴ２００）を開始する。これにより、移動体１０の振動や揺れが収まり、安定してから自己位置を同定することができる。
【００３７】
次に、駆動手段１６０に設けられたモータの回転数を取得する（ＳＴ８０）。ここで、駆動手段１６０は、経路計画手段１４０で計画された経路を走行するよう、追従制御手段１５０から与えられた制御指示に基づいて動作している。例えば、追従制御手段１５０は駆動手段１６０に、発生させるトルクの指示を出している。
駆動手段１６０に設けられたエンコーダ１６１は、モータの回転数を計測し、エンコーダ値として自己位置同定手段１２０に出力する。
【００３８】
自己位置同定手段１２０は、エンコーダ値から、移動体１０がスリップしたか否かを判定する（ＳＴ９０）。具体的には、自己位置同定手段１２０は、追従制御手段１５０が出力した制御値と、モータ回転数にかかるエンコーダ値との間で、一定の偏差以上のずれが生じた場合には、駆動輪１７０がスリップしたものと判定する。典型的には、この駆動輪１７０のスリップは、移動体１０が、摩擦の低い路面を通過する場合に発生する。
自己位置同定手段１２０は、駆動輪１７０がスリップしたと判定した場合には（ＳＴ９０でＹＥＳ）、地図とのマッチングによる自己位置の同定を開始する（ＳＴ２００）。スリップしたと判定されない場合には（ＳＴ９０でＮＯ）、ＳＴ１００に進む。
【００３９】
次に、前回の地図とのマッチングによる自己位置同定を行った時刻からの処理時間を計測する（ＳＴ１００）。例えば、自己位置同定手段１２０は、時刻取得手段を有しており、地図とのマッチングによる自己位置の同定を行った場合に、その時刻を記憶部１２２に記憶する。さらに、自己位置同定手段１２０は、現在の時刻を取得し、前回、地図とのマッチングを行った時刻からの経過時間を取得する。
【００４０】
次に、自己位置同定手段１２０は、一定時間が経過したか否かを判定する（ＳＴ１１０）。自己位置同定手段１２０は、あらかじめ設定した一定時間が経過したと判定した場合には（ＳＴ１１０でＹＥＳ）、オドメトリのずれによる誤差が蓄積していると考えられるため、地図とのマッチングによる自己位置同定を開始する（ＳＴ２００）。
一定時間が経過していなければ（ＳＴ１１０でＮＯ）、ＳＴ１２０に進む。
【００４１】
自己位置同定手段１２０は、走行距離を取得する（ＳＴ１２０）。例えば、自己位置同定手段１２０は、最後に地図とのマッチングにより自己位置同定が行われたときからの走行距離を、駆動手段１６０から入力されたエンコーダ値に基づいて累積して、記憶部１２２に記憶する。
【００４２】
自己位置同定手段１２０は、走行距離が一定距離以上となったか否かを判定する（ＳＴ１３０）。自己位置同定手段１２０は、あらかじめ設定した一定距離を走行したと判定した場合には（ＳＴ１３０でＹＥＳ）、オドメトリのずれによる誤差が蓄積していると考えられるため、地図とのマッチングによる自己位置同定を開始する（ＳＴ２００）。走行距離が一定距離に達していなければしていなければ（ＳＴ１３０でＮＯ）、ＳＴ１４０に進む。
【００４３】
自己位置同定手段１２０は、オドメトリにより自己位置の推定を行う（ＳＴ１４０）。例えば、演算部１２１は、前回の自己位置から駆動手段１６０から取得したエンコーダ値の分だけ走行したものとして演算を行う。これにより、自己位置同定手段１２０は、オドメトリにより自己位置を推定して設定する。自己位置を設定したら、ＳＴ１０に戻り、目標位置に到達するまで処理を繰り返し行う。
【００４４】
自己位置同定手段１２０は、オドメトリによる自己位置がずれやすい箇所を通過した場合には、地図とのマッチングによる自己位置の同定を行う（ＳＴ２００）。より具体的には、自己位置同定手段１２０は、環境計測手段１１０から供給された環境情報と、マップ記憶部１８０に記憶されている地図に基づいて、自己位置の同定を行う。自己位置を同定したら、ＳＴ１０に戻り、目標位置に到達するまで処理を繰り返し行う。
【００４５】
これにより、移動体１０では、オドメトリによる自己位置推定により高頻度で自己位置を推定しつつ、オドメトリがずれやすい箇所を通過した場合に、地図とのマッチングにより自己位置の同定を行うことができる。したがって、オドメトリによる自己位置推定では、センサノイズや車輪の滑りなどの影響で真値からずれていくが、地図とのマッチングにより自己位置の同定を行うことで、ずれを修正することができる。
オドメトリがずれやすい箇所を通過した場合に地図とのマッチングによる自己位置の同定を行うため、高頻度に地図とのマッチングを行う必要が無く、移動体１０の演算コストを低減することができる。
【００４６】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上記ではグリッドマップは、廊下及び部屋の単位で１つのグリッドとしたが、それ以外の任意に定めた単位であっても良い。また障害物マップとして、グリッドマップとトポロジーマップの両方を用い、トポロジーマップ中の障害物のノードを通過した場合に地図とのマッチングによる自己位置同定を行うこととしたが、移動体１０の位置がグリッドマップで障害物を含むグリッド内であるか否かを判定することにより、地図とのマッチングによる自己位置同定を行うか否かを決定しても良い。また、グリッドマップの情報を用いずに、トポロジーマップ中の障害物のノードの通過のみを判定しても良い。
エンコーダ１６１は、駆動手段として設けられたモータの回転数を取得するものとしたが、例えば駆動輪１７０の回転数を取得するものであっても良い。
【符号の説明】
【００４７】
１０    移動体
１１０    環境計測手段
１２０    自己位置同定手段
１２１    演算部
１２２    記憶部
１３０    障害物マップ生成手段
１４０    経路計画手段
１５０    追従制御手段
１６０    駆動手段
１６１    エンコーダ
１７０    駆動輪
１８０    マップ記憶部
１９０    加速度計測手段
【図１】
2012128781.tif 000003
【図２】
2012128781.tif 000004
【図３】
2012128781.tif 000005
【図４】
2012128781.tif 000006
【図５】
2012128781.tif 000007
【図６】
2012128781.tif 000008