IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立産機システムの特許一覧

特許7041047移動体の制御システム、及び、その制御方法
<>
  • 特許-移動体の制御システム、及び、その制御方法 図1
  • 特許-移動体の制御システム、及び、その制御方法 図2
  • 特許-移動体の制御システム、及び、その制御方法 図3
  • 特許-移動体の制御システム、及び、その制御方法 図4
  • 特許-移動体の制御システム、及び、その制御方法 図5
  • 特許-移動体の制御システム、及び、その制御方法 図6
  • 特許-移動体の制御システム、及び、その制御方法 図7
  • 特許-移動体の制御システム、及び、その制御方法 図8
  • 特許-移動体の制御システム、及び、その制御方法 図9
  • 特許-移動体の制御システム、及び、その制御方法 図10
  • 特許-移動体の制御システム、及び、その制御方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-14
(45)【発行日】2022-03-23
(54)【発明の名称】移動体の制御システム、及び、その制御方法
(51)【国際特許分類】
   G05D 1/02 20200101AFI20220315BHJP
【FI】
G05D1/02 H
【請求項の数】 7
(21)【出願番号】P 2018230296
(22)【出願日】2018-12-07
(65)【公開番号】P2020091810
(43)【公開日】2020-06-11
【審査請求日】2020-10-15
(73)【特許権者】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110002365
【氏名又は名称】特許業務法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】清水 秀章
(72)【発明者】
【氏名】槙 修一
【審査官】堀内 亮吾
(56)【参考文献】
【文献】特開2009-163156(JP,A)
【文献】特開2012-168763(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00-1/12
(57)【特許請求の範囲】
【請求項1】
移動体の測定センサによる計測結果を、当該移動体が移動する所定環境の地図のデータと照合して、前記所定環境に於ける前記移動体の位置を推定する移動体の制御システムであって、
前記移動体の制御システムは、コントローラと、メモリと、を備え、
前記コントローラは、前記メモリに記録されたプログラムを実行することによって、
前記所定環境の全体地図から、前記移動体の推定位置周辺の部分地図を取り出し、当該部分地図を前記メモリに記憶させ、
前記部分地図に対して、当該部分地図を更新することの要否を判定するための判定領域を当該部分地図に対して所定の面積比以下のサイズで所定の定義に従って設定し、
前記移動体の推定位置が当該判定領域を越えようとする際に、前記部分地図を更新し、
前記計測結果を、当該更新された前記部分地図と照合させて、前記移動体の前記所定環境に於ける位置を推定
前記全体地図は複数のブロックから構成され、
前記部分地図は当該全体地図の一部であり、
前記判定領域は、前記部分地図内に、当該部分地図を構成するブロック群のうち複数のブロックを含むように設定され、
前記コントローラによって前記部分地図を更新することは、前記移動体の位置が前記判定領域外になろうとする際、当該移動体の位置に最短である、前記ブロックを構成する格子を特定し、当該格子を中心にした部分地図を前記メモリに設定することである、
前記移動体の制御システム。
【請求項2】
前記全体地図は圧縮されて補助記憶装置に記憶されており、
前記コントローラは、前記全体地図から前記部分地図をリードし、当該部分地図を伸長して前記メモリに記憶する、
請求項1記載の移動体の制御システム。
【請求項3】
前記コントローラは、前記移動体の推定位置が前記判定領域内に存在する間、前記部分地図を更新しない、
請求項1記載の移動体の制御システム。
【請求項4】
前記メモリは、複数の記憶領域を備え、
前記コントローラは、
一つの記憶領域に記憶された部分地図に基づいて、前記移動体の位置を推定し、
他の記憶領域に、前記部分地図の更新に必要なデータを記憶させる、
請求項2記載の移動体の制御システム。
【請求項5】
前記コントローラは、
前記他の記憶領域へのデータの記憶が終了するまで、前記一つの記憶領域の部分地図に基づいて、前記移動体の位置の推定を継続し、
前記他の記憶領域へのデータの記憶が終了すると、前記一つの記憶領域の部分地図に基づく前記移動体の位置の推定を終了させ、前記他の記憶領域の部分地図に基づいて、前記移動体の位置の推定を実行させる、
請求項記載の移動体の制御システム。
【請求項6】
前記コントローラは、
前記移動体に対して推定された位置に基づいて、当該移動体の移動機構に対する制御信号を生成し、
当該制御信号を前記移動機構に出力する、
請求項1記載の移動体の制御システム。
【請求項7】
移動体の測定センサによる計測結果を、当該移動体が移動する所定環境の地図のデータと照合して、前記所定環境に於ける前記移動体の位置を推定しながら当該移動体を移動させるための制御方法であって、
コントローラは、メモリに記録されたプログラムを実行することによって、
前記所定環境の全体地図から、前記移動体の推定位置周辺の部分地図を取り出して、前記メモリに記憶させ、
前記部分地図に対して、当該部分地図を更新することの要否を判定するための判定領域を当該部分地図に対して所定の面積比以下のサイズで所定の定義に従って設定し、
前記移動体の推定位置が当該判定領域を越えようとする際に、前記部分地図を更新し、
前記計測結果を当該更新された部分地図と照合させて、前記移動体の前記全体地図に於ける位置を推定
前記全体地図は複数のブロックから構成され、
前記部分地図は当該全体地図の一部であり、
前記判定領域は、前記部分地図内に、当該部分地図を構成するブロック群のうち複数のブロックを含むように設定され、
前記コントローラによって前記部分地図を更新することは、前記移動体の位置が前記判定領域外になろうとする際、当該移動体の位置に最短である、前記ブロックを構成する格子を特定し、当該格子を中心にした部分地図を前記メモリに設定することである、
前記制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は移動体が所定環境を移動する際、当該移動体の所定環境における位置を推定する制御システム、及び、その制御方法に係り、詳しくは、自律型移動ロボットの位置の推定の処理の改良に関する。
【背景技術】
【0002】
近年、専用レールや移動ガイドが無くても、目的地まで人の操作なしに自動的に到達することができる等、自律型移動を可能とするロボットが実現されている。この自律移動型ロボットは距離計測センサを備え、計測データをロボットが移動する環境の地図情報と照合することによって環境に於ける自身の位置を推定しながら移動する。自律型移動ロボットは、例えば、産業用ロボットを移動可能にするため、原子炉の保守のため、そして、災害救援のため等の用途で利用されている。
【0003】
このような自律移動型ロボットとして、出願人は、特開2009-163156号公報に記載された移動ロボットシステムを提案した。この移動ロボットシステムは、センシングデータと地図との照合により自己の位置姿勢を推定しながら移動する移動ロボットシステムにおいて、地図の記憶容量の削減、推定時の地図データへの高速アクセス、ロボット移動に伴う地図データ準備のための処理時間の削減を同時に実現するために、全体地図を管理する全体地図記憶手段と、位置姿勢推定に必要な地図領域を部分地図として連続的に管理する部分地図記憶手段と、部分地図記憶手段の内容を更新する部分地図更新手段を備え、部分地図更新手段は、ロボットの位置姿勢推定初期値に基づき、ロボットの位置姿勢推定に必要となる地図領域の中で、まだ部分地図記憶手段上に書き込まれていないブロックのみを選択して伸長し、空間上連続する領域がメモリ上でも連続する領域となるように記憶されている内容を更新するようにしている。
【0004】
さらに、出願人は、特開2017-191539号公報に記載された、自律移動する移動体(ロボット)で使用される位置同定システムも提案した。この位置同定システムは、位置同定の誤りの可能性を低減するために、重複領域を有する現在の地図と次候補の地図を取得して記憶領域に格納し、距離センサによる周囲の幾何形状の測定結果と現在の地図とに基づき、現在の地図における移動体の現在位置姿勢を同定し、現在位置姿勢を次候補の地図にマッピングし、距離センサによる周囲の幾何形状の測定結果と次候補の地図における現在位置姿勢の周囲の幾何形状と、の一致度を決定し、一致度に基づいて次候補の地図を次の地図として使用するか判定するものである。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2009-163156号公報
【文献】特開2017-191539号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
前記特許文献2に係る位置同定システムでは、移動体の自律移動のためには、移動体の移動経路が予め設定されていなければならない。一方、特許文献1に係る自律移動型ロボットでは、この必要はないが、全体地図に基づいて部分地図を更新しようとする際、CPUに、データのダウンロード、圧縮データの伸長についての負荷が掛かり、ロボットの自律移動が影響を受けるおそれがある。
【0007】
そこで、本発明は、全体地図に基づいて部分地図を更新する際の負荷を低減して、移動体の自律移動を高精度に実現可能にするための制御技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
前記目的を達成するために、本発明は、移動体の測定センサによる計測結果を、当該移動体が移動する所定環境の地図のデータと照合して、前記所定環境に於ける前記移動体の位置を推定する移動体の制御システムであって、前記移動体の制御システムは、コントローラと、メモリと、を備え、前記コントローラは、前記メモリに記録されたプログラムを実行することによって、前記所定環境の全体地図から、前記移動体の推定位置周辺の部分地図を取り出し、当該部分地図を前記メモリに記憶させ、前記部分地図に対して、当該部分地図を更新することの要否を判定するための判定領域を当該部分地図に対して所定の面積比以下のサイズで所定の定義に従って設定し、前記移動体の推定位置が当該領域を越えようとする際に、前記部分地図を更新し、前記計測結果を、当該更新された前記部分地図と照合させて、前記移動体の前記所定環境に於ける位置を推定し、前記全体地図は複数のブロックから構成され、前記部分地図は当該全体地図の一部であり、前記判定領域は、前記部分地図内に、当該部分地図を構成するブロック群のうち複数のブロックを含むように設定され、前記コントローラによって前記部分地図を更新することは、前記移動体の位置が前記判定領域外になろうとする際、当該移動体の位置に最短である、前記ブロックを構成する格子を特定し、当該格子を中心にした部分地図を前記メモリに設定することである、というものである。さらに、本発明は、移動体の制御方法でもある。
【発明の効果】
【0009】
本発明によれば、全体地図に基づいて部分地図を更新する際の負荷を低減して、移動体の自律移動を高精度に実現することに資する、移動体の制御システム、及び、その制御方法を提供することができる。
【図面の簡単な説明】
【0010】
図1】本発明の一実施形態に係る、移動体の制御システムの機能ブロック図である。
図2図1の部分地図設定モジュールの詳細を示す機能ブロック図である。
図3図1の推定モジュール詳細を示す機能ブロック図である。
図4図1の制御システムの機能を実現するためのハードウェアの一例である。
図5図1の全体地図と部分地図との関係の一例を説明する図である。
図6】部分地図の更新判定領域の一例を説明する図である。
図7】部分地図と判定領域の更新の一例を説明する図である。
図8】CPUの動作例の一例を示す図である。
図9】メモリの構成の一例を示す図である。
図10】制御システムの動作の一例に係るフローチャートである。
図11】部分地図と判定領域の更新の他の例を説明する図である。
【発明を実施するための形態】
【0011】
次に、移動体の制御システムの実施形態について説明する。移動体は所定環境を自律移動する。所定環境とは、例えば、工場の内部、建物の内部、災害現場等、特に制限されない。移動体とは、好適には、自律移動型ロボットであってよい。当該制御システムは、移動体の少なくとも位置(所定環境に於ける位置)を推定し、推定した結果を移動体の移動制御に適用して移動体の自律走行を可能とする。当該制御システムは、移動体が計測したデータを所定環境の幾何学的な形状、態様に相当する2次元、又は、3次元データ(地図)と照合させて、移動体が地図内のどの位置に、どのような姿勢で存在しているかを推定する。姿勢とは、移動体の向き、又は、移動方向であってよい。推定を、例えば、同定、決定、設定、判定、認定、又は、特定と言い換えてもよい。
【0012】
次に、前記制御システムを、図に基づいて、具体的に説明する。図1に、同制御システムの実施形態に係る機能ブロック図を示す。制御システムは、全体地図100と、制御モジュール106と、移動体側モジュール104と、を備える。全体地図100とは、移動体が移動する範囲の所定環境102の幾何状況である二次元の環境地図であってよい。移動体側モジュール104は、移動体の移動機構104Aと、距離センサ104Bと、を備える。
【0013】
距離センサ104Bは、例えば、環境102内の障害物迄の距離を計測するためのレーザ距離センサでよい。レーザ距離センサとしての2次元スキャン型距離センサは、ある高さの水平面上を正面に対して-90°から+90°の方向に、1°毎の合計181通りの異なる方向について、障害物までの距離データが短時間で計測できるものであればよい。距離センサは、測定データを制御モジュール106に送信する。測定データは、角度φと距離dの組み合わせとして(d0,φ0),(d1,φ1),...,(d180,φ180)とからなるものでよい。
【0014】
移動機構104Aは、例えば、モータによって駆動される車輪、キャタピラであってよい。移動機構104Aは、制御モジュール106から移動制御信号に基づいて、移動体の速度、移動方向を制御する。
【0015】
制御モジュール106は、距離センサ104Bを制御し、そして、距離センサ104Bから測定データを受信する測定データ収集モジュール106Aと、全体地図に基づいて部分地図(後述)を設定する部分地図設定モジュール106Bと、測定データ収集モジュールから測定データを受信し、これを部分地図と照合させて、移動体の環境102(全体地図100)における位置を推定する推定モジュール106Cと、この推定結果に基づいて、移動体の移動機構に対する駆動信号を生成して出力する移動機構制御モジュール106Dと、を備える。
【0016】
図2に示す様に、部分地図設定モジュール106Bは、全体地図から部分地図を読込む読込みモジュール1062と、読込んだ部分地図の圧縮データを伸長するデータ伸長モジュール1064と、部分地図の更新の要否を判定する更新モジュール1060と、部分地図1066と、を備える。
【0017】
図3に示す様に、推定モジュール106Cは、部分地図1066を参照し、そして、測定データに基づいて幾何形状を生成し、この幾何形状と部分地図とを照合して移動体の推定位置を算出する照合モジュール1070と、移動体の推定位置に基づいて、部分地図の更新の要否を判定する判定モジュール1072と、を備える。
【0018】
図4は、制御モジュール106を実現するためのハードウェア(コンピュータ)の一例である。このハードウェアは、CPU20、メモリ30、ハードディスク40、距離センサ用インタフェース(IF)50、移動機構用インタフェース(IF)60、ネットワークインタフェース(IF)70を備える。
【0019】
CPU20(コントローラ)は、ハードディスク(補助記憶装置)40あるいはメモリ(主記憶装置)30に記憶されたプログラムに基づいて動作し、既述の制御モジュール106を実現する。ハードディスク40は、全体地図を圧縮して記憶する。CPU20は、全体地図から部分地図をリードして伸長し、これをメモリ30に格納する。距離センサ用IF50は、CPU20による制御に基づき距離センサ104Bを動作させ、測定データを送信する。移動機構用IF60は、CPU20による制御に基づき移動機構104Aを動作させる。ネットワークIF70は無線あるいは有線の通信回線とのインタフェースを行い、プログラムの入出力、データの入出力、外部コマンドの入出力などを行う。
【0020】
既述のモジュールとして説明した夫々の機能は、コントローラがプログラムを実行することによって実現される。モジュールを、手段、部、回路、パーツ等の他の言葉で言い換えてもよい。また、モジュールを、論理回路、素子によって実現してもよい。
【0021】
制御モジュール106は、移動体に存在してもよいし、又は、移動体外に存在して移動体との間で無線通信をするように構成されていてもよい。
【0022】
既述の全体地図100は、移動体が走行され得る環境をカバーするものであって、環境102の幾何状況を示した二次元の環境地図からなるものであってよい。二次元の環境地図とは、距離センサによる測定高さ断面での障害物がディジタル画像とされたものであって、障害物が存在しないピクセルが白の画素で、障害物が存在するピクセルが黒の画素として構成されたものである。
【0023】
全体地図100は、例えば、実環境の長さ1cmの距離を1ピクセルとし、300m×300mの領域からなり、複数のブロックに分割されてそれぞれが圧縮されてハードディスク(補助記憶装置)40に記憶されている。一つのブロックは、例えば、1m×1mの矩形からなるものであってよい。ブロックは地図を構成する単位である。
【0024】
部分地図1066はロボットが位置姿勢の推定を行うのに必要な範囲分だけであればよく全体地図100の一部でよい。この必要な範囲分とは、例えば、移動体に搭載されている距離センサ104Bの測定可能範囲が16mであるとすると、移動体から半径16mの円を包含できる数のブロックからなる領域である。部分地図1066がこの程度存在していれば、移動体についての照合、すなわち、移動体の位置と方向との全体地図100に於ける推定が可能である。CPU20は、全体地図100における移動体の位置(移動体が存在するブロック)を中心にして部分地図1066に必要なブロックの数の圧縮データをハードディスク40から読込んで、圧縮データを伸長してメモリ30に展開し、保存する。
【0025】
図5に、全体地図100と部分地図1066との関係の一例を示す。500は全体地図100の構成単位であるブロックであり、Wはブロックの幅(サイズ)である。Hは部分地図1066の幅であり、部分地図1066はH×Hの範囲の複数のブロックによって構成されている。502は移動体のシンボルであり、移動体502を中心にして部分地図1066が設定されている。504は移動の進行方向(向き)であり、506は距離センサ104Bの測定範囲であり、Rは距離センサ104Bの測定可能範囲である。
【0026】
移動体は、逐次自身の位置と姿勢を確認して自身が走行すべき移動方向や移動速度などを決定して自律移動する。CPU20は移動体の自律移動を高精度に実現するためには、移動体の駆動機構104Aを高分解能(短周期)で、例えば、数10m秒から100m秒の範囲で制御しなければならない。しかしながら、サイズの大きい圧縮データを伸長することは時間を要し、これが律速となって、CPU20が短周期で移動体の自律移動を制御することに影響が出る。特開2009-163156号公報のシステムでは、CPU20が、移動体が一つのブロック間を移動する毎に部分地図の更新、すなわち、不要なブロックのデータをメモリから削除すること、そして、足りないブロックの圧縮データをハードディスク40からリードして、これを伸長してメモリに記録することを繰り返しているため、CPU20の処理負荷が大きくなって、移動体の自律移動制御を高精度に行うことができないおそれがある。
【0027】
そこで、制御モジュール106の部分地図設定モジュール106B(CPU20)は、図6に示すように、部分地図内に、複数のブロックからなる更新判定領域を設定し、この領域の境界を移動体の推定位置が超えることを契機として、部分地図の更新を行うこととした。図6において、Sはブロックの格子であって、一つのブロックは4つの格子によって設定される。S1は部分地図を構成するブロック群(16ブロック×16ブロック:図5)の中心の格子である。AR1は、格子S1を中心にして定義された更新判定領域であって、このブロック群のうちの複数のブロック(2ブロック×2ブロック)から構成されている。
【0028】
制御モジュール106の更新モジュール1060は、移動体の推定位置が更新判定領域内AR1の複数のブロック間を移動しても、部分地図の更新を行わない。この間、推定モジュール106Cは移動体の位置の推定を繰り返す。部分地図の更新を行わないようにしても、更新判定領域サイズが部分地図に対して所定の面積比以下に設定されている場合には、移動体の位置の推定の精度に与える影響はほぼないといえる。この面積比は、例えば、1/2であってよい。
【0029】
更新判定領域AR1を越えて移動体が移動する場合には、移動体の位置の推定の精度を維持するために、更新モジュール1060は、読込みモジュール1062に新たなブロックのデータを読込ませて、データ伸長モジュール1064は、読込んだデータを伸長して、これをメモリ30に記録し、一方、不要になったブロックのデータをメモリ30から解放することによって、部分地図を更新する。
【0030】
図7に示すように、判定モジュール1072が、移動体の推定位置が更新判定領域AR1の外になったこと(M1→M2)を判定すると、部分地図を更新し、合わせて、更新判定領域を更新する。判定モジュール1072は、移動体の推定位置に最短の格子S2を特定、選定、判定、又は、検出し、部分地図を、格子S1を中心にした範囲から格子S2を中心にした範囲に設定(更新)し、さらに、更新判定領域AR1を、更新S2を中心にした範囲AR2に設定(更新)する。移動体がM3の位置(AR2内)を経由して、M4の位置(AR2外)に到達すると判定モジュール1072は、部分地図を、格子S2を中心にした範囲から格子S3を中心にした範囲に更新し、さらに、更新判定領域AR2を、格子S2を中心にした範囲AR3に更新する。なお、格子点を基準点等、他の用語に置き換えてもよい。このように、更新判定領域を設けることにより、移動体が部分地図のブロック間を移動する毎に圧縮データの伸長をしなければならないという過負荷状態から、CPU20の負荷を軽減することができる。
【0031】
図8に示すように、CPU20は、移動体の位置の推定処理(P1)の合間に部分地図の更新のための、全体地図からの圧縮データの読込み、圧縮データの伸長、伸長した部分地図のデータのメモリへ30の書き込み(P2)を実施する。圧縮データの伸長には時間を要するため、そこで、メモリ30の部分地図記憶エリアを複数のスロットに分割、例えば、図9に示すように、スロットA、スロットBに二分割する。CPU20は、一方のスロットBに、圧縮された地図データを伸長して記憶し、スロットBにおいて、現在の部分地図が更新されるまで、他方のスロットAに記録された部分地図を利用して、移動体の位置の推定を途切れさせることなく継続する。
【0032】
そして、CPU20は、スロットBに伸長された地図データの記憶が完了して、更新された部分地図がスロットBにおいて設定されると、この部分地図を利用して、移動体の位置の推定を続行する。続いて、部分地図の更新が必要になった際には、CPU20は、更新すべきデータをスロットAに記憶することによって、複数のスロットを交互に利用すればよい。このように、複数のスロットを利用することによって、移動体の位置の推定処理と、部分地図の更新処理とを、移動体の自律移動を高精度に行うことが途切れないようにして、両立させることができる。
【0033】
図10に、制御モジュール106(CPU)による移動体の位置・姿勢の推定のための処理を、改めて、フローチャートとして説明する。制御モジュール106は、このフローチャートを繰り返し実行する。測定データ収集モジュール106Aは、移動体の距離センサ104Bから測定データを収集する(S1000)。推定モジュール106Cは、測定データと部分地図とに基づいて、移動体の位置を推定する(S1002)。判定モジュール1072は、移動体が更新判定領域(図7:AR1)内か否かを判定する(S1004)。
【0034】
判定モジュール1072が、S1004を肯定判定すると、S1000にリターンする。判定モジュール1072がS1004を否定判定すると、移動体に最短である、最寄りの格子点(図7:S2)を特定する(S1006)。部分地図設定モジュール106Bのデータ伸長モジュール1064は、部分地図の更新に必要なブロックの圧縮データのスロットBに対する伸長が完了したか否かを判定し(S1008)、これを肯定すると、推定モジュール106Cは、移動体の位置の推定のために参照する部分地図を、スロットAからスロットBに切替えて(S1012)、S1000にリターンして、移動体の位置の推定のための処理を継続する。
【0035】
判定モジュール1072が、S1008を否定判定すると、部分地図設定モジュール106Bのデータ伸長モジュール1064は、スロットBへ伸長データを展開し(S1010)、スロットBへの伸長データの記憶が終了するまでデータの展開を継続する(S1000へのリターン、S1008の肯定判定)。この時、スロットAはスロットBに切替えられていないため、照合モジュール1070は、スロットAの部分地図に基づいて、スロットBへの切替えがなされる迄、移動体位置の推定を継続する。
【0036】
図11は、更新判定領域AR1に対する移動体の移動態様の一例であって、図7の態様とは異なる態様を示すものである。移動体がM1からM2に移動すると、制御モジュール106は部分地図を、格子点S1を中心とするものから格子点S2を中心にするものに更新し、かつ、更新判定領域をAR1からAR2に更新するために、ハードディスク40からデータのダウンロード、圧縮データ伸長処理を行う。
【0037】
次いで、移動体がM2の位置から更新前の判定領域AR1内のM5,M6の位置に復帰した場合には、部分地図と判定領域の更新が不要となるので、更新が完了していなくとも、制御モジュール106は、スロットBへの更新用データの展開を中断し、スロットAをスロットBに切替えることなく、スロットAの部分地図に基づいて、移動体の位置の推定を継続させる。この際、スロットBに途中まで記録された更新用データは破棄されてよい。
【0038】
なお、既述の1ブロックのサイズ(W)は、移動体の位置の推定の処理と、部分地図の更新のために、メモリへの圧縮データの保存、圧縮データの伸長とを両立させるために、次のように、設定されることが好ましい。
推定の処理のためのCPUの利用率:α
圧縮データをメモリに展開させるために必要な時間:T
CPUの空き(推定の処理の合間)を考慮した展開時間:T/α
移動体の最大速度:V
R≧W/2≧V*(T/α)
Wが小さいと、部分地図の更新が頻発して、CPU20に負荷となり、一方、大きすぎると、部分地図の更新が不十分であるおそれがある。
【0039】
以上説明したように、既述の実施形態に係る制御システムによれば、移動体の移動経路が予め設定されていなくとも、全体地図に基づいて部分地図を更新する際の負荷を低減して、移動体の自律移動を高精度に実現可能な制御技術を提供することができる。
【0040】
既述の実施形態では、本発明を、移動体の位置を推定するための制御システム、又は、制御方法として説明したが、本発明は、移動体の位置の推定結果に基づいて移動体の移動を制御する制御システム、又は、制御方法をも包含するものであってよい。さらに、本発明は、これらの制御システムを備える移動体、又は、これら、制御システムによって制御される移動体を包含するものであってよい。
【0041】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が可能である。例えば、既述の構成・機能・処理等は、それらの一部又は全部を、例えば集積回路で実現されてもよい。また、図面に記載された制御線等の情報は説明の都合からのものであり、実製品と異なっていてもよい。
【符号の説明】
【0042】
20 CPU
30 メモリ
40 ハードディスク
50 距離センサ用IF
60 移動機構用IF
70 ネットワークIF
100 全体地図
102 環境
104 移動体側モジュール
104A 移動機構
104B 距離センサ
106 制御モジュール
106A 測定データ収集モジュール
106B 部分地図設定モジュール
106C 推定モジュール
106D 移動機構制御モジュール
1060 更新モジュール
1062 読込みモジュール
1064 データ伸長モジュール
1066 部分地図
1070 照合モジュール
1072 判定モジュール
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11