(57)【要約】【解決課題】全体地図に基づいて部分地図を更新する際の負荷を低減して、移動体の自律移動を高精度に実現可能な制御技術を提供する。【解決手段】移動体の測定センサによる計測結果を、移動体が移動する所定環境の地図のデータと照合して、移動体の位置を推定しながら移動体を自律移動させる移動体の制御システムであって、コントローラは所定環境の全体地図から移動体の推定位置周辺の部分地図をメモリに記憶させ、部分地図に対して、部分地図を更新することの要否を判定するための判定領域を設定し、移動体の推定位置が領域を越えようとする際に、部分地図を更新する。【選択図】図１
2020091810.tif 000002
【特許請求の範囲】
【請求項１】
移動体の測定センサによる計測結果を、当該移動体が移動する所定環境の地図のデータと照合して、前記所定環境に於ける前記移動体の位置を推定する移動体の制御システムであって、
前記移動体の制御システムは、コントローラと、メモリと、を備え、
前記コントローラは、前記メモリに記録されたプログラムを実行することによって、
前記所定環境の全体地図から、前記移動体の推定位置周辺の部分地図を取り出し、当該部分地図を前記メモリに記憶させ、
前記部分地図に対して、当該部分地図を更新することの要否を判定するための判定領域を設定し、
前記移動体の推定位置が当該判定領域を越えようとする際に、前記部分地図を更新し、
前記計測結果を、当該更新された前記部分地図と照合させて、前記移動体の前記所定環境に於ける位置を推定する、
前記移動体の制御システム。
【請求項２】
前記全体地図は圧縮されて補助記憶装置に記憶されており、
前記コントローラは、前記全体地図から前記部分地図をリードし、当該部分地図を伸長して前記メモリに記憶する、
請求項１記載の移動体の制御システム。
【請求項３】
前記全体地図は複数のブロックから構成され、
前記部分地図は当該全体地図の一部であり、
前記判定領域は、前記部分地図内に、当該部分地図を構成するブロック群のうち複数のブロックを含むように設定されている、
請求項１記載の移動体の制御システム。
【請求項４】
前記コントローラは、前記移動体の推定位置が前記判定領域内に存在する間、前記部分地図を更新しない、
請求項１記載の移動体の制御システム。
【請求項５】
前記コントローラによって前記部分地図を更新することは、前記移動体の位置が前記判定領域外になろうとする際、当該移動体の位置に最短である、前記ブロックを構成する格子を特定し、当該格子を中心にした部分地図を前記メモリに設定することである、
請求項３記載の移動体の制御システム。
【請求項６】
前記メモリは、複数の記憶領域を備え、
前記コントローラは、
一つの記憶領域に記憶された部分地図に基づいて、前記移動体の位置を推定し、
他の記憶領域に、前記部分地図の更新に必要なデータを記憶させる、
請求項２記載の移動体の制御システム。
【請求項７】
前記コントローラは、
前記他の記憶領域へのデータの記憶が終了するまで、前記一つの記憶領域の部分地図に基づいて、前記移動体の位置の推定を継続し、
前記他の記憶領域へのデータの記憶が終了すると、前記一つの記憶領域の部分地図に基づく前記移動体の位置の推定を終了させ、前記他の記憶領域の部分地図に基づいて、前記移動体の位置の推定を実行させる、
請求項６記載の移動体の制御システム。
【請求項８】
前記コントローラは、
前記移動体に対して推定された位置に基づいて、当該移動体の移動機構に対する制御信号を生成し、
当該制御信号を前記移動機構に出力する、
請求項１記載の移動体の制御システム。
【請求項９】
移動体の測定センサによる計測結果を、当該移動体が移動する所定環境の地図のデータと照合して、前記所定環境に於ける前記移動体の位置を推定しながら当該移動体を移動させるための制御方法であって、
コントローラは、メモリに記録されたプログラムを実行することによって、
前記所定環境の全体地図から、前記移動体の推定位置周辺の部分地図を取り出して、前記メモリに記憶させ、
前記部分地図に対して、当該部分地図を更新することの要否を判定するための判定領域を設定し、
前記移動体の推定位置が当該判定領域を越えようとする際に、前記部分地図を更新し、
前記計測結果を当該更新された部分地図と照合させて、前記移動体の前記全体地図に於ける位置を推定する、
前記制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動体が所定環境を移動する際、当該移動体の所定環境における位置を推定する制御システム、及び、その制御方法に係り、詳しくは、自律型移動ロボットの位置の推定の処理の改良に関する。
【背景技術】
【０００２】
近年、専用レールや移動ガイドが無くても、目的地まで人の操作なしに自動的に到達することができる等、自律型移動を可能とするロボットが実現されている。この自律移動型ロボットは距離計測センサを備え、計測データをロボットが移動する環境の地図情報と照合することによって環境に於ける自身の位置を推定しながら移動する。自律型移動ロボットは、例えば、産業用ロボットを移動可能にするため、原子炉の保守のため、そして、災害救援のため等の用途で利用されている。
【０００３】
このような自律移動型ロボットとして、出願人は、特開２００９−１６３１５６号公報に記載された移動ロボットシステムを提案した。この移動ロボットシステムは、センシングデータと地図との照合により自己の位置姿勢を推定しながら移動する移動ロボットシステムにおいて、地図の記憶容量の削減、推定時の地図データへの高速アクセス、ロボット移動に伴う地図データ準備のための処理時間の削減を同時に実現するために、全体地図を管理する全体地図記憶手段と、位置姿勢推定に必要な地図領域を部分地図として連続的に管理する部分地図記憶手段と、部分地図記憶手段の内容を更新する部分地図更新手段を備え、部分地図更新手段は、ロボットの位置姿勢推定初期値に基づき、ロボットの位置姿勢推定に必要となる地図領域の中で、まだ部分地図記憶手段上に書き込まれていないブロックのみを選択して伸長し、空間上連続する領域がメモリ上でも連続する領域となるように記憶されている内容を更新するようにしている。
【０００４】
さらに、出願人は、特開２０１７−１９１５３９号公報に記載された、自律移動する移動体（ロボット）で使用される位置同定システムも提案した。この位置同定システムは、位置同定の誤りの可能性を低減するために、重複領域を有する現在の地図と次候補の地図を取得して記憶領域に格納し、距離センサによる周囲の幾何形状の測定結果と現在の地図とに基づき、現在の地図における移動体の現在位置姿勢を同定し、現在位置姿勢を次候補の地図にマッピングし、距離センサによる周囲の幾何形状の測定結果と次候補の地図における現在位置姿勢の周囲の幾何形状と、の一致度を決定し、一致度に基づいて次候補の地図を次の地図として使用するか判定するものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１６３１５６号公報
【特許文献２】特開２０１７−１９１５３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前記特許文献２に係る位置同定システムでは、移動体の自律移動のためには、移動体の移動経路が予め設定されていなければならない。一方、特許文献１に係る自律移動型ロボットでは、この必要はないが、全体地図に基づいて部分地図を更新しようとする際、ＣＰＵに、データのダウンロード、圧縮データの伸長についての負荷が掛かり、ロボットの自律移動が影響を受けるおそれがある。
【０００７】
そこで、本発明は、全体地図に基づいて部分地図を更新する際の負荷を低減して、移動体の自律移動を高精度に実現可能にするための制御技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するために、本発明は、移動体の測定センサによる計測結果を、当該移動体が移動する所定環境の地図のデータと照合して、前記所定環境に於ける前記移動体の位置を推定する移動体の制御システムであって、前記移動体の制御システムは、コントローラと、メモリと、を備え、前記コントローラは、前記メモリに記録されたプログラムを実行することによって、前記所定環境の全体地図から、前記移動体の推定位置周辺の部分地図を取り出し、当該部分地図を前記メモリに記憶させ、前記部分地図に対して、当該部分地図を更新することの要否を判定するための判定領域を設定し、前記移動体の推定位置が当該領域を越えようとする際に、前記部分地図を更新し、前記計測結果を、当該更新された前記部分地図と照合させて、前記移動体の前記所定環境に於ける位置を推定するというものである。さらに、本発明は、移動体の制御方法でもある。
【発明の効果】
【０００９】
本発明によれば、全体地図に基づいて部分地図を更新する際の負荷を低減して、移動体の自律移動を高精度に実現することに資する、移動体の制御システム、及び、その制御方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る、移動体の制御システムの機能ブロック図である。
【図２】図１の部分地図設定モジュールの詳細を示す機能ブロック図である。
【図３】図１の推定モジュール詳細を示す機能ブロック図である。
【図４】図１の制御システムの機能を実現するためのハードウェアの一例である。
【図５】図１の全体地図と部分地図との関係の一例を説明する図である。
【図６】部分地図の更新判定領域の一例を説明する図である。
【図７】部分地図と判定領域の更新の一例を説明する図である。
【図８】ＣＰＵの動作例の一例を示す図である。
【図９】メモリの構成の一例を示す図である。
【図１０】制御システムの動作の一例に係るフローチャートである。
【図１１】部分地図と判定領域の更新の他の例を説明する図である。
【発明を実施するための形態】
【００１１】
次に、移動体の制御システムの実施形態について説明する。移動体は所定環境を自律移動する。所定環境とは、例えば、工場の内部、建物の内部、災害現場等、特に制限されない。移動体とは、好適には、自律移動型ロボットであってよい。当該制御システムは、移動体の少なくとも位置（所定環境に於ける位置）を推定し、推定した結果を移動体の移動制御に適用して移動体の自律走行を可能とする。当該制御システムは、移動体が計測したデータを所定環境の幾何学的な形状、態様に相当する２次元、又は、３次元データ（地図）と照合させて、移動体が地図内のどの位置に、どのような姿勢で存在しているかを推定する。姿勢とは、移動体の向き、又は、移動方向であってよい。推定を、例えば、同定、決定、設定、判定、認定、又は、特定と言い換えてもよい。
【００１２】
次に、前記制御システムを、図に基づいて、具体的に説明する。図１に、同制御システムの実施形態に係る機能ブロック図を示す。制御システムは、全体地図１００と、制御モジュール１０６と、移動体側モジュール１０４と、を備える。全体地図１００とは、移動体が移動する範囲の所定環境１０２の幾何状況である二次元の環境地図であってよい。移動体側モジュール１０４は、移動体の移動機構１０４Ａと、距離センサ１０４Ｂと、を備える。
【００１３】
距離センサ１０４Ｂは、例えば、環境１０２内の障害物迄の距離を計測するためのレーザ距離センサでよい。レーザ距離センサとしての２次元スキャン型距離センサは、ある高さの水平面上を正面に対して-90°から+90°の方向に、１°毎の合計181通りの異なる方向について、障害物までの距離データが短時間で計測できるものであればよい。距離センサは、測定データを制御モジュール１０６に送信する。測定データは、角度φと距離dの組み合わせとして(d0,φ0),(d1,φ1),...,(d180,φ180)とからなるものでよい。
【００１４】
移動機構１０４Ａは、例えば、モータによって駆動される車輪、キャタピラであってよい。移動機構１０４Ａは、制御モジュール１０６から移動制御信号に基づいて、移動体の速度、移動方向を制御する。
【００１５】
制御モジュール１０６は、距離センサ１０４Ｂを制御し、そして、距離センサ１０４Ｂから測定データを受信する測定データ収集モジュール１０６Ａと、全体地図に基づいて部分地図（後述）を設定する部分地図設定モジュール１０６Ｂと、測定データ収集モジュールから測定データを受信し、これを部分地図と照合させて、移動体の環境１０２（全体地図１００）における位置を推定する推定モジュール１０６Ｃと、この推定結果に基づいて、移動体の移動機構に対する駆動信号を生成して出力する移動機構制御モジュール１０６Ｄと、を備える。
【００１６】
図２に示す様に、部分地図設定モジュール１０６Ｂは、全体地図から部分地図を読込む読込みモジュール１０６２と、読込んだ部分地図の圧縮データを伸長するデータ伸長モジュール１０６４と、部分地図の更新の要否を判定する更新モジュール１０６０と、部分地図１０６６と、を備える。
【００１７】
図３に示す様に、推定モジュール１０６Ｃは、部分地図１０６６を参照し、そして、測定データに基づいて幾何形状を生成し、この幾何形状と部分地図とを照合して移動体の推定位置を算出する照合モジュール１０７０と、移動体の推定位置に基づいて、部分地図の更新の要否を判定する判定モジュール１０７２と、を備える。
【００１８】
図４は、制御モジュール１０６を実現するためのハードウェア（コンピュータ）の一例である。このハードウェアは、ＣＰＵ２０、メモリ３０、ハードディスク４０、距離センサ用インタフェース（ＩＦ）５０、移動機構用インタフェース（ＩＦ）６０、ネットワークインタフェース（ＩＦ）７０を備える。
【００１９】
ＣＰＵ２０（コントローラ）は、ハードディスク（補助記憶装置）４０あるいはメモリ（主記憶装置）３０に記憶されたプログラムに基づいて動作し、既述の制御モジュール１０６を実現する。ハードディスク４０は、全体地図を圧縮して記憶する。ＣＰＵ２０は、全体地図から部分地図をリードして伸長し、これをメモリ３０に格納する。距離センサ用ＩＦ５０は、ＣＰＵ２０による制御に基づき距離センサ１０４Ｂを動作させ、測定データを送信する。移動機構用ＩＦ６０は、ＣＰＵ２０による制御に基づき移動機構１０４Ａを動作させる。ネットワークＩＦ７０は無線あるいは有線の通信回線とのインタフェースを行い、プログラムの入出力、データの入出力、外部コマンドの入出力などを行う。
【００２０】
既述のモジュールとして説明した夫々の機能は、コントローラがプログラムを実行することによって実現される。モジュールを、手段、部、回路、パーツ等の他の言葉で言い換えてもよい。また、モジュールを、論理回路、素子によって実現してもよい。
【００２１】
制御モジュール１０６は、移動体に存在してもよいし、又は、移動体外に存在して移動体との間で無線通信をするように構成されていてもよい。
【００２２】
既述の全体地図１００は、移動体が走行され得る環境をカバーするものであって、環境１０２の幾何状況を示した二次元の環境地図からなるものであってよい。二次元の環境地図とは、距離センサによる測定高さ断面での障害物がディジタル画像とされたものであって、障害物が存在しないピクセルが白の画素で、障害物が存在するピクセルが黒の画素として構成されたものである。
【００２３】
全体地図１００は、例えば、実環境の長さ１ｃｍの距離を１ピクセルとし、３００ｍ×３００ｍの領域からなり、複数のブロックに分割されてそれぞれが圧縮されてハードディスク（補助記憶装置）４０に記憶されている。一つのブロックは、例えば、１ｍ×１ｍの矩形からなるものであってよい。ブロックは地図を構成する単位である。
【００２４】
部分地図１０６６はロボットが位置姿勢の推定を行うのに必要な範囲分だけであればよく全体地図１００の一部でよい。この必要な範囲分とは、例えば、移動体に搭載されている距離センサ１０４Ｂの測定可能範囲が１６ｍであるとすると、移動体から半径１６ｍの円を包含できる数のブロックからなる領域である。部分地図１０６６がこの程度存在していれば、移動体についての照合、すなわち、移動体の位置と方向との全体地図１００に於ける推定が可能である。ＣＰＵ２０は、全体地図１００における移動体の位置（移動体が存在するブロック）を中心にして部分地図１０６６に必要なブロックの数の圧縮データをハードディスク４０から読込んで、圧縮データを伸長してメモリ３０に展開し、保存する。
【００２５】
図５に、全体地図１００と部分地図１０６６との関係の一例を示す。５００は全体地図１００の構成単位であるブロックであり、Ｗはブロックの幅（サイズ）である。Ｈは部分地図１０６６の幅であり、部分地図１０６６はＨ×Ｈの範囲の複数のブロックによって構成されている。５０２は移動体のシンボルであり、移動体５０２を中心にして部分地図１０６６が設定されている。５０４は移動の進行方向（向き）であり、５０６は距離センサ１０４Ｂの測定範囲であり、Ｒは距離センサ１０４Ｂの測定可能範囲である。
【００２６】
移動体は、逐次自身の位置と姿勢を確認して自身が走行すべき移動方向や移動速度などを決定して自律移動する。ＣＰＵ２０は移動体の自律移動を高精度に実現するためには、移動体の駆動機構１０４Ａを高分解能（短周期）で、例えば、数１０ｍ秒から１００ｍ秒の範囲で制御しなければならない。しかしながら、サイズの大きい圧縮データを伸長することは時間を要し、これが律速となって、ＣＰＵ２０が短周期で移動体の自律移動を制御することに影響が出る。特開２００９−１６３１５６号公報のシステムでは、ＣＰＵ２０が、移動体が一つのブロック間を移動する毎に部分地図の更新、すなわち、不要なブロックのデータをメモリから削除すること、そして、足りないブロックの圧縮データをハードディスク４０からリードして、これを伸長してメモリに記録することを繰り返しているため、ＣＰＵ２０の処理負荷が大きくなって、移動体の自律移動制御を高精度に行うことができないおそれがある。
【００２７】
そこで、制御モジュール１０６の部分地図設定モジュール１０６Ｂ（ＣＰＵ２０）は、図６に示すように、部分地図内に、複数のブロックからなる更新判定領域を設定し、この領域の境界を移動体の推定位置が超えることを契機として、部分地図の更新を行うこととした。図６において、Ｓはブロックの格子であって、一つのブロックは４つの格子によって設定される。Ｓ１は部分地図を構成するブロック群（１６ブロック×１６ブロック：図５）の中心の格子である。ＡＲ１は、格子Ｓ１を中心にして定義された更新判定領域であって、このブロック群のうちの複数のブロック（２ブロック×２ブロック）から構成されている。
【００２８】
制御モジュール１０６の更新モジュール１０６０は、移動体の推定位置が更新判定領域内ＡＲ１の複数のブロック間を移動しても、部分地図の更新を行わない。この間、推定モジュール１０６Ｃは移動体の位置の推定を繰り返す。部分地図の更新を行わないようにしても、更新判定領域サイズが部分地図に対して所定の面積比以下に設定されている場合には、移動体の位置の推定の精度に与える影響はほぼないといえる。この面積比は、例えば、１／２であってよい。
【００２９】
更新判定領域ＡＲ１を越えて移動体が移動する場合には、移動体の位置の推定の精度を維持するために、更新モジュール１０６０は、読込みモジュール１０６２に新たなブロックのデータを読込ませて、データ伸長モジュール１０６４は、読込んだデータを伸長して、これをメモリ３０に記録し、一方、不要になったブロックのデータをメモリ３０から解放することによって、部分地図を更新する。
【００３０】
図７に示すように、判定モジュール１０７２が、移動体の推定位置が更新判定領域ＡＲ１の外になったこと（Ｍ１→Ｍ２）を判定すると、部分地図を更新し、合わせて、更新判定領域を更新する。判定モジュール１０７２は、移動体の推定位置に最短の格子Ｓ２を特定、選定、判定、又は、検出し、部分地図を、格子Ｓ１を中心にした範囲から格子Ｓ２を中心にした範囲に設定（更新）し、さらに、更新判定領域ＡＲ１を、更新Ｓ２を中心にした範囲ＡＲ２に設定（更新）する。移動体がＭ３の位置（ＡＲ２内）を経由して、Ｍ４の位置（ＡＲ２外）に到達すると判定モジュール１０７２は、部分地図を、格子Ｓ２を中心にした範囲から格子Ｓ３を中心にした範囲に更新し、さらに、更新判定領域ＡＲ２を、格子Ｓ２を中心にした範囲ＡＲ３に更新する。なお、格子点を基準点等、他の用語に置き換えてもよい。このように、更新判定領域を設けることにより、移動体が部分地図のブロック間を移動する毎に圧縮データの伸長をしなければならないという過負荷状態から、ＣＰＵ２０の負荷を軽減することができる。
【００３１】
図８に示すように、ＣＰＵ２０は、移動体の位置の推定処理（Ｐ１）の合間に部分地図の更新のための、全体地図からの圧縮データの読込み、圧縮データの伸長、伸長した部分地図のデータのメモリへ３０の書き込み（Ｐ２）を実施する。圧縮データの伸長には時間を要するため、そこで、メモリ３０の部分地図記憶エリアを複数のスロットに分割、例えば、図９に示すように、スロットＡ、スロットＢに二分割する。ＣＰＵ２０は、一方のスロットＢに、圧縮された地図データを伸長して記憶し、スロットＢにおいて、現在の部分地図が更新されるまで、他方のスロットＡに記録された部分地図を利用して、移動体の位置の推定を途切れさせることなく継続する。
【００３２】
そして、ＣＰＵ２０は、スロットＢに伸長された地図データの記憶が完了して、更新された部分地図がスロットＢにおいて設定されると、この部分地図を利用して、移動体の位置の推定を続行する。続いて、部分地図の更新が必要になった際には、ＣＰＵ２０は、更新すべきデータをスロットＡに記憶することによって、複数のスロットを交互に利用すればよい。このように、複数のスロットを利用することによって、移動体の位置の推定処理と、部分地図の更新処理とを、移動体の自律移動を高精度に行うことが途切れないようにして、両立させることができる。
【００３３】
図１０に、制御モジュール１０６（ＣＰＵ）による移動体の位置・姿勢の推定のための処理を、改めて、フローチャートとして説明する。制御モジュール１０６は、このフローチャートを繰り返し実行する。測定データ収集モジュール１０６Ａは、移動体の距離センサ１０４Ｂから測定データを収集する（Ｓ１０００）。推定モジュール１０６Ｃは、測定データと部分地図とに基づいて、移動体の位置を推定する（Ｓ１００２）。判定モジュール１０７２は、移動体が更新判定領域（図７：ＡＲ１）内か否かを判定する（Ｓ１００４）。
【００３４】
判定モジュール１０７２が、Ｓ１００４を肯定判定すると、Ｓ１０００にリターンする。判定モジュール１０７２がＳ１００４を否定判定すると、移動体に最短である、最寄りの格子点（図７：Ｓ２）を特定する（Ｓ１００６）。部分地図設定モジュール１０６Ｂのデータ伸長モジュール１０６４は、部分地図の更新に必要なブロックの圧縮データのスロットＢに対する伸長が完了したか否かを判定し（Ｓ１００８）、これを肯定すると、推定モジュール１０６Ｃは、移動体の位置の推定のために参照する部分地図を、スロットＡからスロットＢに切替えて（Ｓ１０１２）、Ｓ１０００にリターンして、移動体の位置の推定のための処理を継続する。
【００３５】
判定モジュール１０７２が、Ｓ１００８を否定判定すると、部分地図設定モジュール１０６Ｂのデータ伸長モジュール１０６４は、スロットＢへ伸長データを展開し（Ｓ１０１０）、スロットＢへの伸長データの記憶が終了するまでデータの展開を継続する（Ｓ１０００へのリターン、Ｓ１００８の肯定判定）。この時、スロットＡはスロットＢに切替えられていないため、照合モジュール１０７０は、スロットＡの部分地図に基づいて、スロットＢへの切替えがなされる迄、移動体位置の推定を継続する。
【００３６】
図１１は、更新判定領域ＡＲ１に対する移動体の移動態様の一例であって、図７の態様とは異なる態様を示すものである。移動体がＭ１からＭ２に移動すると、制御モジュール１０６は部分地図を、格子点Ｓ１を中心とするものから格子点Ｓ２を中心にするものに更新し、かつ、更新判定領域をＡＲ１からＡＲ２に更新するために、ハードディスク４０からデータのダウンロード、圧縮データ伸長処理を行う。
【００３７】
次いで、移動体がＭ２の位置から更新前の判定領域ＡＲ１内のＭ５，Ｍ６の位置に復帰した場合には、部分地図と判定領域の更新が不要となるので、更新が完了していなくとも、制御モジュール１０６は、スロットＢへの更新用データの展開を中断し、スロットＡをスロットＢに切替えることなく、スロットＡの部分地図に基づいて、移動体の位置の推定を継続させる。この際、スロットＢに途中まで記録された更新用データは破棄されてよい。
【００３８】
なお、既述の１ブロックのサイズ（Ｗ）は、移動体の位置の推定の処理と、部分地図の更新のために、メモリへの圧縮データの保存、圧縮データの伸長とを両立させるために、次のように、設定されることが好ましい。
推定の処理のためのＣＰＵの利用率：α
圧縮データをメモリに展開させるために必要な時間：Ｔ
ＣＰＵの空き（推定の処理の合間）を考慮した展開時間：Ｔ／α
移動体の最大速度：Ｖ
Ｒ≧Ｗ／２≧Ｖ*（Ｔ／α）
Ｗが小さいと、部分地図の更新が頻発して、ＣＰＵ２０に負荷となり、一方、大きすぎると、部分地図の更新が不十分であるおそれがある。
【００３９】
以上説明したように、既述の実施形態に係る制御システムによれば、移動体の移動経路が予め設定されていなくとも、全体地図に基づいて部分地図を更新する際の負荷を低減して、移動体の自律移動を高精度に実現可能な制御技術を提供することができる。
【００４０】
既述の実施形態では、本発明を、移動体の位置を推定するための制御システム、又は、制御方法として説明したが、本発明は、移動体の位置の推定結果に基づいて移動体の移動を制御する制御システム、又は、制御方法をも包含するものであってよい。さらに、本発明は、これらの制御システムを備える移動体、又は、これら、制御システムによって制御される移動体を包含するものであってよい。
【００４１】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が可能である。例えば、既述の構成・機能・処理等は、それらの一部又は全部を、例えば集積回路で実現されてもよい。また、図面に記載された制御線等の情報は説明の都合からのものであり、実製品と異なっていてもよい。
【符号の説明】
【００４２】
２０      ＣＰＵ
３０      メモリ
４０      ハードディスク
５０      距離センサ用ＩＦ
６０      移動機構用ＩＦ
７０      ネットワークＩＦ
１００    全体地図
１０２    環境
１０４    移動体側モジュール
１０４Ａ  移動機構
１０４Ｂ  距離センサ
１０６    制御モジュール
１０６Ａ  測定データ収集モジュール
１０６Ｂ  部分地図設定モジュール
１０６Ｃ  推定モジュール
１０６Ｄ  移動機構制御モジュール
１０６０  更新モジュール
１０６２  読込みモジュール
１０６４  データ伸長モジュール
１０６６  部分地図
１０７０  照合モジュール
１０７２  判定モジュール
【図１】
2020091810.tif 000003
【図２】
2020091810.tif 000004
【図３】
2020091810.tif 000005
【図４】
2020091810.tif 000006
【図５】
2020091810.tif 000007
【図６】
2020091810.tif 000008
【図７】
2020091810.tif 000009
【図８】
2020091810.tif 000010
【図９】
2020091810.tif 000011
【図１０】
2020091810.tif 000012
【図１１】
2020091810.tif 000013