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

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

▶ 株式会社日立製作所の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023091205
(43)【公開日】2023-06-30
(54)【発明の名称】位置推定システム
(51)【国際特許分類】
   G01C 21/30 20060101AFI20230623BHJP
   G05D 1/02 20200101ALI20230623BHJP
【FI】
G01C21/30
G05D1/02 J
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021205826
(22)【出願日】2021-12-20
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】金子 アレックス益男
(72)【発明者】
【氏名】橋爪 滋郎
【テーマコード(参考)】
2F129
5H301
【Fターム(参考)】
2F129AA01
2F129BB03
2F129BB04
2F129BB15
2F129BB26
2F129BB33
2F129BB50
2F129BB66
2F129CC14
2F129CC15
2F129EE78
2F129FF02
2F129FF14
2F129FF18
2F129FF36
2F129GG17
2F129GG18
5H301AA01
5H301CC03
5H301CC06
5H301CC10
5H301FF11
5H301GG08
5H301GG09
(57)【要約】
【課題】実際の現在位置(真値)を導くに好適な現在位置の候補を多数生成可能な位置推定システムを提供する。
【解決手段】移動体に搭載され、センサからの情報をもとに現在位置の候補を生成し、現在位置の候補から移動体の現在位置として最も確率の高い候補を抽出する位置推定システムであって、移動体に搭載されるセンサからの情報に基づいて、移動体が存在する空間に含まれる直線を認識する直線認識手段と、移動体に搭載されるセンサからの情報に基づいて、移動体が存在する空間に含まれるランドマークを認識するランドマーク認識手段と、認識したランドマークに対して、認識した直線のうち数の多い平行な線の向きと同方向及び逆方向並びに直交する方向であって、かつ認識したランドマークと移動体との相対距離の位置に移動体の現在位置の候補を複数生成する生成手段と、現在位置の候補から移動体の現在位置として最も確率の高い候補を抽出する抽出部を備えることを特徴とする位置推定システム。
【選択図】図1
【特許請求の範囲】
【請求項1】
移動体に搭載され、センサからの情報をもとに現在位置の候補を生成し、現在位置の候補から移動体の現在位置として最も確率の高い候補を抽出する位置推定システムであって、
位置推定システムは、移動体に搭載されるセンサからの情報に基づいて、前記移動体が存在する空間に含まれる直線を認識する直線認識手段と、前記移動体に搭載されるセンサからの情報に基づいて、前記移動体が存在する空間に含まれるランドマークを認識するランドマーク認識手段と、認識した前記ランドマークに対して、認識した前記直線のうち数の多い平行な線の向きと同方向及び逆方向並びに直交する方向であって、かつ認識した前記ランドマークと前記移動体との相対距離の位置に前記移動体の現在位置の候補を複数生成する生成手段と、現在位置の候補から移動体の現在位置として最も確率の高い候補を抽出する抽出部を備えることを特徴とする位置推定システム。
【請求項2】
請求項1に記載の位置推定システムであって、
前記抽出部は、前記移動体が取得したランドマークの情報と、予め定められた地図情報とに基づいて、前記移動体の現在位置を予測する予測手段と、複数の前記現在位置の候補と、前記予測手段の予測結果とを比較し、複数の前記現在位置の候補のうち、前記移動体の現在位置として最も確率の高い候補を抽出する抽出手段を備えることを特徴とする位置推定システム。
【請求項3】
請求項1または請求項2に記載の位置推定システムであって、
前記生成手段は、前記ランドマークと前記移動体との相対距離と、前記直線認識手段が認識した前記線の向きと、予め定められた地図情報によるランドマークの数に基づいて、現在位置の候補の数と位置を算出することを特徴とする位置推定システム。
【請求項4】
請求項2に記載の位置推定システムであって、
前記抽出手段は、前記予測手段が予測したそれぞれの位置候補から認識可能なランドマークの位置と、現在位置から実際にセンサで認識したランドマークの位置を比較し、それぞれの位置候補が現在位置である確率を算出することを特徴とする位置推定システム。
【請求項5】
請求項2に記載の位置推定システムであって、
前記予測手段は、それぞれの位置候補の過去の位置とセンサで算出した移動体の移動量に基づいて、それぞれの位置候補の最新位置を算出し、算出したそれぞれの位置候補と地図情報によるセンサで認識可能なランドマークの位置を予測することを特徴とする位置推定システム。
【請求項6】
請求項1から請求項5のいずれか1項に記載の位置推定システムであって、
現在位置の候補から移動体の現在位置として最も確率の高い候補を抽出する処理を、移動体がロストしたことをもって実行することを特徴とする位置推定システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,移動体の位置推定システムに関する。
【背景技術】
【0002】
移動体として例えば搬送ロボットがその周囲の情報を収集し,移動体の現在位置を推定する技術が開発されている。現在位置推定は、移動体の仮の現在位置から収集した周囲の情報を事前に作成した走行環境の地図とマッチングすることにより、仮の現在位置を修正する。一方、仮の現在位置が不明であり、あるいは誤差が大きい場合、マッチングしても、仮の現在位置を修正できない(以下においてはこの事象を、「移動体がロストした」というものとする)ため、搬送ができなくなる。
【0003】
例えば,非特許文献1は,移動体がロストしたとき、Particle Filterを用いて、事前に定められた数(P)に基づいてランダムな位置と方位を有する現在位置の候補を複数生成する。次に、移動体が走行しながら実際に収集した周囲の情報と地図情報による予測した周囲の情報に基づいて、それぞれの現在位置の候補の存在確率を算出し、確率の高い現在位置の候補付近では候補を新しく生成し、確率の低い現在位置の候補を削除することによって、現在位置の候補の数を調整していく。最終的に、最も確率の高い現在位置の候補を現在位置とする。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】V.Elvira,et al.“Adapting the Number of Particles in Sequential Monte Carlo through an Online Scheme for Convergence Assessment”.IEEE Transactions on Signal Processing.2017.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし,非特許文献1のように,走行環境の広さやランドマーク配置に合わせないで、ランダムで事前に定められた候補の数に基づいて現在位置の候補を生成する場合、移動体が周囲の情報を収集しても、最も確率の高い現在位置の候補が実際の現在位置(真値)に収束する保証はない。
【0006】
また、位置の候補が多い場合、処理時間が増えることになり、一方、候補が少ないと、正確な位置推定できないということになる。
【0007】
以上のことから本発明においては、実際の現在位置(真値)を導くに好適な現在位置の候補を多数生成可能な位置推定システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために,本発明の移動体の位置推定システムは,「移動体に搭載され、センサからの情報をもとに現在位置の候補を生成し、現在位置の候補から移動体の現在位置として最も確率の高い候補を抽出する位置推定システムであって、移動体に搭載されるセンサからの情報に基づいて、移動体が存在する空間に含まれる直線を認識する直線認識手段と、移動体に搭載されるセンサからの情報に基づいて、移動体が存在する空間に含まれるランドマークを認識するランドマーク認識手段と、認識したランドマークに対して、認識した直線のうち数の多い平行な線の向きと同方向及び逆方向並びに直交する方向であって、かつ認識したランドマークと移動体との相対距離の位置に移動体の現在位置の候補を複数生成する生成手段と、現在位置の候補から移動体の現在位置として最も確率の高い候補を抽出する抽出部を備えることを特徴とする位置推定システム。」としたものである。
【発明の効果】
【0009】
本発明によれば、実際の現在位置(真値)を導くに好適な現在位置の候補を多数生成できるので、位置推定システムを搭載した移動体は,ロストしたときの位置推定の正確さが向上できる。また本発明の実施例によれば、正確で低処理での位置推定が可能となり、位置の候補生成の最適化が図られる。
【図面の簡単な説明】
【0010】
図1】本発明の実施例に係る移動体の位置推定システムの構成例を示す図。
図2】本発明の実施例に係る移動体の位置推定システムにおける処理フロー例を示す図。
図3】直線認識処理ステップS202の詳細処理内容を事例で説明するための図。
図4a】センサ12で取得した図3と同じ内容のフレーム例を示す図。
図4b】座標404の下に管理されるランドマークの配置情報例を示す図。
図5a図4bの候補に対して移動量を加算した後の候補を示す図。
図5b】センサと外部記憶装置のランドマークを比較することを示す図。
図6a】移動体が工場内(走行環境内)で搬送作業している状態を示す図。
図6b】センサ取得範囲602内に障害物が存在する状態を示す図。
図6c】移動体1が位置推定できなくなった後の動作を示す図。
図6d】移動体1が位置推定を回復するときの動作を示す図。
【発明を実施するための形態】
【0011】
以下,本発明の実施例に係る移動体の位置推定システムについて,図面を用いて説明する。
【実施例0012】
図1は,本発明の実施例1に係る移動体の位置推定システムの構成例を示す図である。図1において移動体1は、本発明の一実施例に係る位置推定システム10を搭載している。計算機で構成された位置推定システム10は、複数のセンサ12(12a,12b,・・・12n)、入力部(信号受付部)2,処理部14,制御部15、メモリ16,出力部17などがバス18により共通接続されており、各種の情報が共有されている。なお、位置推定システム10は図示せぬ通信部を介して外部記憶装置19に接続されている。
【0013】
このうち信号受付部2は,外部から位置信号(この場合に位置信号とは、直接的に位置を示す信号は勿論、その加工により位置となりえる信号をも含むものである)を受付る。信号受付部2は,例えば,世界の絶対座標で現在位置を推定するGPSである。また,信号受付部2は,GPSよりも精度よく現在位置を推定するRTK-GPSでもよい。また,信号受付部2は,準天頂衛星でもよい。また,信号受付部2は,既知の位置に固定されたビーコンでもよい。また,信号受付部2は,車輪エンコーダやIMUやジャイロなど相対座標で位置を推定するセンサから受信してもよい。また,信号受付部2は,走行環境の立体物の形状,大きさ,高さなどの情報を受信してもよい。最終的に,移動体1の現在位置推定や制御や認知に利用できる情報を入手可能なものであればよい。
【0014】
センサ12は,例えばスチルカメラまたはビデオカメラである。また,センサ12は単眼カメラまたは複眼カメラでもよい。また,センサ12はレーザセンサでもよい。センサ12は,センサ12の出力から最終的に、走行環境のランドマーク情報を抽出できるものであればよい。
【0015】
センサ12aは,例えば,移動体1の前方に設置されている。センサ12aの取得方向は移動体1の前方に向けられている。センサ12aは,例えば,移動体1の前方の遠景情報を取得する。他のセンサ12b,・・・センサ12nは,センサ12aと異なる位置に設置され,センサ12aと異なる撮像方向または領域を撮像する。センサ12bは,例えば,移動体1の後方で下方に向けて設置されていてもよい。センサ12bは,移動体1後方の近景情報を取得するものでよい。
【0016】
センサ12が単眼カメラの場合,床面や天井が平らであれば,画像上のピクセル位置と実際の地上位置関係(x,y)が一定になるため,センサ12からランドマークまでの距離を幾何学的に計算できる。また、床面や天井が平らでない場合、画像上でのランドマークの時系列での移動量と信号受付部2から受信した移動体1の移動量に基づいて、ランドマークまでの距離を推定できる。センサ12がステレオカメラの場合,画像上のランドマークまでの距離を正確に幾何学的に計測できる。また,センサ12がレーザの場合,より正確で遠方の情報を取得できる。以下の説明では,カメラやレーザを採用した事例について説明するが,周囲の立体物への距離を算出できれば,これ以外のセンサ(広角レンズを有するカメラまたはTOFカメラなど)でもよい。
【0017】
また,センサ12a,センサ12b,・・・センサ12nは,同時に障害物や日差しなどの環境外乱の影響を受けないような条件で移動体1に設置されるのがよい。例えば,センサ12aは移動体1の前方で前向きに設置されるのに対して,センサ12bは移動体1の後方で後ろ向きまたは下向きに設置されてもよい。これにより,例えば,日差しの影響によりセンサ12aが正確な情報を取得できなかった場合でも、進行方向の逆向きまたは下向きのセンサ12bには影響しにくいので、環境外乱の影響を受けずに距離測定が可能である。
【0018】
また,センサ12a,センサ12b,・・・センサ12nは,互いに異なる取得条件(絞り値,ホワイトバランス,周期,等)で取得してもよい。例えば,明るい場所用にパラメータを調整したセンサと,暗い場所用にパラメータを調整したセンサとを搭載することで,環境の明暗によらず撮像可能としてもよい。
【0019】
センサ12a,センサ12b,・・・センサ12nは,制御部15から取得開始の指令を受けたとき,または一定の時間間隔で情報を取得する。取得された情報のデータ及び取得時刻は,メモリ16に格納される。
【0020】
また、センサ12a,センサ12b,・・・センサ12nがそれぞれ取得した情報を用いて、異なるタスクを実施してもよい。例えば、センサ12aとセンサ12bで取得した情報に基づいて移動体1の位置推定を行い、センサ12cとセンサ12dで障害物検知を行う。最終的に、それぞれのセンサ12a,センサ12b,・・・センサ12nが得られた情報に基づいた結果を融合し、制御部15による移動体1の制御ができればよい。また、制御部15のCPUがシングルスレッドでしか処理できない場合、それぞれのセンサ12a,センサ12b,・・・センサ12nが得られた情報をセンサ12a,センサ12b,・・・センサ12nの順番で処理する。一方、制御部15のCPUがマルチスレッドで処理できる場合は、センサ12a,センサ12b,・・・センサ12nが得られた情報を同時に処理することができる。
【0021】
処理部14は、信号受付部2やセンサ12で取得した情報を処理して移動体1の位置、ランドマークの認識、またはランドマークへの距離を算出する。例えば,処理部14は,センサ12が時系列に取得した情報で移動体1の移動量を算出し,過去の位置に移動量を加算して現在位置を推定する。処理部14は,時系列に取得した情報の各情報で特徴を抽出してもよい。
【0022】
処理部14は,さらに,次以降の情報で同じ特徴を抽出する。そして,処理部14は,特徴のトラッキングにより移動体1の移動量を算出する。また,処理部14は,Simultaneous Localization and Mapping(SLAM)やStructure from Motion技術を用いて,移動体1の走行環境の形状を算出する。また、処理部14は,Iterative Closest Point(ICP)技術を用いて、センサ12で取得された情報を事前に作られた走行環境の形状情報と比較するマップマッチングを行い、移動体1の位置を推定する。
【0023】
また、処理部14は、外部記憶装置19から得られた情報を処理する。処理部14は,算出された位置または移動量に応じた表示を行ってもよく,または移動体1の制御に関する信号を出力してもよい。処理部14は,例えば,移動体1の走行中にセンサ12が取得した情報を処理して,障害物検知する。また,処理部14は,例えば,移動体1の走行中にセンサ12が取得した情報を処理して,事前に定められたランドマークを認識する。また、処理部14は現在位置の候補を生成する。また、処理部14は、算出した移動体1の移動量に基づいて、それぞれの現在位置の候補を更新する。また、処理部14は、更新したそれぞれの現在位置の候補と外部記憶装置19から受信した情報に基づいて、ランドマークの位置を予測する。処理部14の詳細は後述する。
【0024】
制御部15は,処理部14の情報処理の結果に基づいて,移動体1に対して移動速度に関する指令を出力する。例えば,制御部15は,情報内の立体物の解像度,情報内の特徴のうちの外れ値の数または情報処理の種類等に応じて,移動体1の移動速度を増加させる指令,減少させる指令または維持させる指令を出力してもよい。
【0025】
メモリ16は,移動体1の主記憶装置(メインメモリ)およびストレージなどの補助記憶装置を含む。処理部14がメモリ16に格納された情報データ及び取得時刻に基づいて,様々な情報処理を行う。この情報処理では,例えば,中間情報が作成されてメモリ16に保存される。中間情報は,処理部14による処理の他,制御部15などの判断や処理に利用されてもよい。
【0026】
出力部17は、移動体1の状態や次に行う動作を表示するなどの出力を行う。出力部17は、例えば、センサ12で得られた情報を出力する。また、出力部17は、処理部14の処理結果や制御部15の指令を出力する。例えば、移動体1が次に移動する目的地や現在位置から認識可能なランドマークを出力する。また、出力部17は、センサ12で認識した周囲の障害物を出力する。また、出力部17は、地図情報を出力する。なお出力部の機能は移動体1に搭載されるが、出力先としての例えばモニタは移動体1に搭載、或は非搭載のいずれであってもよい。
【0027】
バス18は,IEBUS(Inter Equipment Bus)やLIN(Local Interconnect Network)やCAN(Controller Area Network)などで構成できる。
【0028】
外部記憶装置19は,移動体1が走行する環境の地図情報を有する。外部記憶装置19の地図情報は,例えば,走行環境にある静止物(壁,柱,看板,照明、テーブル、椅子、など)の形状や位置である。外部記憶装置19のそれぞれの地図情報を数式で表してもよい。例えば,線情報を複数点で構成せず,線の傾きと切片のみでよい。また,外部記憶装置19の地図情報を区別せずに,点群で表してもよい。点群は3D(x,y,z),4D(x,y,z,色)などで表してもよい。最終的に,移動体1の現在位置から走行環境を検出し,マップマッチングができれば,外部記憶装置19の地図情報をどんな形にしてもよい。
【0029】
制御部15から取得開始の指令を受けたとき,外部記憶部19が地図情報をメモリ16に送る。外部記憶装置19は,移動体1に搭載された場合,情報をバス18で送受信する。一方,外部記憶装置19は移動体1に搭載されていない場合,信号受付部2で移動体1と外部記憶装置19を接続する。移動体1と外部記憶装置19の接続は,例えば,Local Area Network(LAN)でする。また,移動体1と外部記憶装置19の接続をWide Area Network(WAN)にしてもよい。また、制御部15から指令を受けたとき,外部記憶装置19が移動体1の走行環境の地図情報を処理部14に送る。
【0030】
図2は,本発明の実施例に係る移動体の位置推定システムにおける処理フロー例を示している。ここでは、処理部14における処理内容の一例を示している。なお、図2におけるフローは、移動体がロストしたことを前提として起動されるものであり、ロスト以前には、別途初期設定された位置情報に基づいた走行制御が行われていたものとする。
【0031】
まずこの一連の処理の最初に、情報取得処理ステップS201では、センサ12において走行環境の情報を例えば所定時間間隔で取得する。
【0032】
次に直線認識処理ステップS202は、情報取得処理ステップS201で得られた情報から走行環境における直線を認識する。センサ12がカメラの場合、直線認識処理ステップS202はカメラセンサ12で得られた画像から直線を抽出する。抽出する方法は、例えば、Hough Transformが利用可能である。また、センサ12がレーザの場合、取得したコーナーや平面の位置関係に基づいて直線を抽出する。
【0033】
なおここで、移動体1が配置される走行環境は、直線が存在する領域であれば、屋内、屋外を問わない。但し本発明の以下の説明では、走行環境として人間が構築した屋内環境を想定し例示している。特に屋内の場合には、長方形パターンを構成する直線が多数配置されていることから、長方形パターンを構成する直線を多数抽出しやすいといえる。
【0034】
走行環境から複数の線を抽出できる場合、それぞれ抽出した線の方向を算出し、最も多い方向の線を抽出する。また、センサ12に誤差があるため、最も多い線の方向を抽出する前に、他の方向を有する線への相対角度を算出する。算出した相対角度が90度になっていれば、長方形パターンを構成する線である確率が高いため、線を抽出し、90度とは違う相対角度の場合は抽出しない。最終的に長方形パターンに対する移動体1の方位推定が必要のため、複数の線を抽出した場合、抽出した複数の線の平均や中央値を算出する。直線認識処理ステップS202の詳細処理内容は、図3を用いて後述する。
【0035】
図2の確認処理ステップS203では、直線認識処理ステップS202の処理により、走行環境の情報から直線認識ができたか否かを確認する。障害物や外乱などの影響で移動体1の現在位置から、線を認識できない場合、情報取得処理ステップS201に戻り、新たな環境の情報を抽出する。この場合の新たな環境の情報とは、移動体が移動した後の新たな環境での情報であるが、より積極的な意味合いにおいては、上方や前後左右に設置された複数のセンサを切り替えて、例えば前センサの確認後は左右あるいは後センサについての処理を行い、線を検知する可能性を高める処理を併せて実行することが望ましい。そのうえで、直線認識できた場合は、ランドマーク認識処理ステップS204に進む。
【0036】
ランドマーク認識処理ステップS204では、センサ12により走行環境から取得した情報から、外部記憶装置19に事前に登録した特定のランドマークを認識する。ランドマークは、例えば、看板、照明、テーブル、椅子、機器などの静止物、あるいはランドマークは走行環境のエッジやコーナーであり、その位置や形状が外部記憶装置19に記憶されていることから、センサ12で走行環境から取得した情報を用いて、外部記憶装置19を参照することでランドマークの認識が可能である。
【0037】
またランドマーク認識処理ステップS204では、特定のランドマークを認識した後、移動体1と認識したランドマークの間の相対距離を測定する。センサ12がステレオカメラやライダーのように、距離情報を算出できるセンサの場合、センサ12が測定した距離情報を相対距離とすることができる。
【0038】
他方、センサ12が直接的に距離を算出できない単眼カメラの場合、深層学習や幾何学的に認識したランドマークへの相対距離を測定することができる。ランドマークが点群以外の場合、相対距離の座標を事前に決める必要がある。例えば、ランドマーク認識処理ステップS204において画像からランドマークを認識した場合、画像上でのランドマークの中心を算出し、その中心を座標基準としてセンサ12からの相対距離を測定する。また、中心ではなく、画像上でのコーナーを座標基準としてもよい。
【0039】
最終的に、センサ12の出力を用いて、ランドマーク認識処理ステップS204で認識したランドマークの位置が、外部記憶装置19に登録されたランドマークの位置と一致すればよい。
【0040】
確認処理ステップS205では、センサ12で取得した走行環境の情報からランドマークを認識できたか、否かを確認する。障害物や外乱などの影響で移動体1の現在位置からランドマークを認識できない場合は、情報取得処理ステップS201に戻り、センサを変更するなどして新たな環境の情報を抽出する。ランドマーク認識できた場合は、候補生成処理ステップS206に進む。
【0041】
候補生成処理ステップS206では、直線認識処理ステップS202での処理と、ランドマーク認識処理ステップS204での処理と、外部記憶装置19に事前に登録したランドマークに基づいて、現在位置の候補を生成する。候補生成処理ステップS206の詳細処理内容は、図4を用いて後述する。
【0042】
予測処理ステップS207では、候補生成処理ステップS206でそれぞれ生成した現在位置の候補の位置を更新し、それぞれの更新した位置でランドマークの位置を予測する。予測処理ステップS207の詳細処理内容は、図5を用いて後述する。
【0043】
現在位置抽出処理ステップS208では、予測処理ステップS207で得られたそれぞれの現在位置の候補から実際の現在位置を抽出する。
【0044】
図3は、直線認識処理ステップS202の詳細処理内容を事例で説明するための図である。この事例では、説明を簡単に行うという理由により、センサ12をカメラとし、走行環境の天井を撮像した事例とする。この事例においてフレーム300は、センサ12で取得したフレーム(画像)であり、座標301はU軸-V軸で示したフレーム300の座標である。
【0045】
フレーム300内には多数の線が映りこまれており、このうち、線302a~302gは、フレーム300に映っている平行線である。線303は、平行な線302a~302gとは、異なる方向を有する線である。線304a~304bは、平行な線302a~302gに対して90度で配置された線である。また壁305a~305cは、フレーム300に映っている走行環境の壁である。
【0046】
これら各種の線の中から走行環境の長方形パターンを構成する線を認識するには、まず、フレーム300に映っている全ての線(線302a~302g、線303、線304a~304b)を抽出する。
【0047】
次に、抽出した線の向きをそれぞれ算出し、最も本数が多い線の向きを求める。この場合、平行な線302a~302gの向きが最も本数が多い線の向きとして抽出される。また、線303のように、向きが異なる線(外れ値)があっても、線302a~302gの本数に対して少ないため、直線認識処理ステップS202では認識されない。
【0048】
またこの処理では、障害物の影響で平行な線302a~302gを抽出するのが困難で、誤って線303を認識する場合があるため、線304a~304bの向きを用いて直線認識の信頼度を上げる。例えば、線303は線304a~304bに対して90度で配置されていないため、長方形を構成する線である可能性が低い。一方、平行な線302a~302gは線304a~304bに対して90度で配置されているため、長方形パターンを構成する線である確率が高い。従って、平行な線302a~302gの向きが認識される。また、センサ12で取得した画像に線302a~302gに対して90度で配置された線304a~304bが映っていなかった場合、時系列に認識した過去の線の向きと移動体1の過去の移動量に基づいて直線認識することができる。このようにして直線認識処理ステップS202では、最も本数が多い線の向きが抽出される。
【0049】
図4a,図4bは、候補生成処理ステップS206の詳細処理内容を事例で説明するための図である。この事例では、説明を簡単に行うという理由により、センサ12をカメラとし、走行環境の天井を撮像しているものとする。またフレーム300は、センサ12で取得したフレームである。座標301はU軸-V軸で示したフレーム300の座標である。
【0050】
図4aは、センサ12で取得した図3と同じ内容のフレームである。但しここでは、直線認識処理ステップS202で認識した線の向き402と、ランドマーク認識処理ステップS204で認識したランドマーク403に着目して表記している。この図でランドマーク403は、〇印で示されている。
【0051】
図4bは、外部記憶装置19に登録された走行環境の事例であり、X軸-Y軸で示した座標404の下に管理されるランドマークの配置情報例である。ここでは、外部記憶装置19に登録された走行環境のランドマーク405a~ランドマーク405nと、その位置を示している。また図4bには、ランドマーク405nに仮着目した時の現在位置の候補407a~407dを例示している。なお、距離d406は、ランドマーク認識処理ステップS204で算出したセンサ12から認識したランドマーク405nへの相対距離である。
【0052】
図4bでの説明にあたり、確認処理ステップS205までの処理により確認できた事項は、ランドマークの存在と、直線の向きと、そのランドマークまでの相対距離が判明したことの3点のみである。図4bに例示する複数のランドマークのどれが存在確認したランドマークであり、またこの存在確認したランドマークに対する現在位置(方向、姿勢)までは判明していない。
【0053】
これらのことから、候補生成処理ステップS206では、以下のようにして現在位置の候補407a~407dを生成する。ここでは、図4bのランドマーク405nを用いて現在位置候補生成の考え方を説明する。
【0054】
まず、直線認識処理ステップS202で認識した線の向き402と、ランドマーク認識処理ステップS204で認識したランドマークへの距離d406に基づいて、現在位置の候補407aを算出する。この処理では、走行環境が屋内環境であり、長方形パターンが多く配置されているため、直線認識処理ステップS202で認識した線の向き402が長方形パターンの1方向であることを利用して、残りの3方向、つまり、線の向き402に対して、90度、180度、270度回転した現在位置の候補407b~407dを生成する。これは、認識した線の向き402に対して逆方向または直交する方向に現在位置の候補407b~407dを追加配置したことである。
【0055】
なお、この説明では、図4bのランドマーク405nを用いて説明したが、その前提として、そもそもランドマーク認識処理ステップS204で認識したランドマークが実際に外部記憶装置19に登録されたランドマーク405nか分からない。このため、外部記憶装置19に登録されたランドマーク405a~ランドマーク405nの全てに対して現在位置の候補を生成する。また、長方形の4方向と外部記憶装置19に登録されたランドマークの数nが既知のため、現在位置の候補の数(n*4)を正確に算出できる。つまり、ランダムに現在位置の候補を生成する公知例と違って、本発明は現在位置の候補の正確な位置と方位を含めて、候補の数も算出可能となる。
【0056】
なお、前述した現在位置の候補の数(n*4)は、位置推定するための最小限必要な数であるが、走行環境の外乱やセンサ12の誤差が大きい場合、位置推定の信頼度を上げるために現在位置の候補を増やしてもよい。例えば、本発明で生成した現在位置の候補に加えて、従来技術のようにランダムに現在位置の候補を生成してもよい。また、最小限必要な現在位置の候補(n*4)を増やすためのパラメータkを用いることができる。その場合、生成する現在位置の候補がn*4*kとなり、走行環境の外乱やセンサ12の誤差に合わせてパラメータkを調整する。また、ランダムではなく、センサ12の誤差と生成した現在位置の候補(n*4)に基づいて現在位置の候補の数を調整してもよい。例えば、センサ12の誤差が1メートルの場合、それぞれ生成した現在位置の候補(n*4)の中心から、1メートル以内他の現在の候補を生成してもよい。最終的に、移動体1の実際の現在位置を特定できる情報があれば、その情報に基づいてパラメータkを調整してもよい。例えば、信号受信部2で受信した情報に基づいて、移動体1の実際の現在位置を地図の特定の領域に絞ることができた場合、n*4を生成する必要がなく、特定した領域周辺にn*4より少ない現在位置の候補を生成する。さらには、90度間隔に配置した候補の間にさらに45度間隔で追加配置することもできる。
【0057】
図5a,図5bを用いて、予測処理ステップS207の処理内容を事例で説明する。図5aは、図4bの現在位置の候補407b~407dに対してそれぞれ移動量D501を加算した後の現在位置の候補502a~502dを示す図である。移動量D501の加算により、407aは502aの位置に、407bは502bの位置に、407cは502cの位置に、407dは502dの位置にそれぞれシフトしている。
【0058】
図5bにおいて、(移動量D501を加算した後の)現在位置の候補503aと503bは、ランドマーク505をセンサ12で実際に認識したときの最新現在位置の候補である。図5bでは、センサ12で実際に認識したランドマーク505をそれぞれの現在位置の候補503a~503bの座標に変換した後のそれぞれの位置を示している。
【0059】
これに対し、ランドマーク504a~504bは、外部記憶装置19の情報に基づいて、現在位置の候補503a~503bに対する最も近いランドマークの位置を示している。また、ランドマーク505は、移動体1の実際の現在位置で実際に認識したランドマークである。
【0060】
図5bの位置関係において、予測処理ステップS207では、実際に認識したランドマーク505を現在位置の候補503a~503bの座標から得られたランドマーク504a~504bと比較する。現在位置の候補503aについて、その近傍の505と504aの距離、現在位置の候補503bについて、その近傍の505と504bの距離をそれぞれ評価する。
【0061】
評価結果に応じて現在位置抽出処理ステップS208では、現在位置の候補を抽出する。このケースでは、ランドマーク505からランドマーク504aへの距離の方がランドマーク505からランドマーク504bへの距離よりも近いため、移動体1の実際の現在位置を現在位置の候補503aとし、現在位置抽出処理ステップS208で現在位置の候補として503aを抽出する。
【0062】
一方、センサ12の誤差が発生する可能性があるため、現在位置抽出処理ステップS208で抽出する現在位置のロバスト性を上げるための観察を増やしてもよい。例えば、時系列に認識認識したランドマーク504a,504bからランドマーク505への距離を算出して、算出したそれぞれの距離の平均を算出して、最も平均距離の小さい現在位置の候補を実際の現在位置とする。また、bayesian確率を用いて、算出したそれぞれの最新の現在位置の候補から認識可能なランドマークの予測と実際にセンサ12で認識ランドマークに対して、それぞれの現在位置の候補の存在確率を算出してもよい。それで、それぞれの現在位置の候補の存在確率を時系列に算出し、事前に定められた存在確率の閾値より存在確率が大きくなった現在位置の候補があった場合、その現在位置の候補を現在位置とする。
【0063】
以上説明した位置推定システムは、走行環境に配置されたランドマークと直線にパターンがある想定で、抽出したランドマークからの相対位置と直線パターンに基づいて位置の候補を正確に生成することで、位置の候補を正確に算出できるため、最適な処理時間と正確さで位置推定ができる。特に、正確で低処理な位置推定と、位置の候補生成の最適化を図ることができる。
【実施例0064】
実施例2では、実施例1の位置推定システムを搭載した移動体1を走行環境内で実運用することに付いて説明する。
【0065】
図6aは、移動体1が工場内(走行環境内)で搬送作業している状態を示している。ここで、X軸―Y軸で示す座標601は、外部記憶装置19に登録された走行環境のランドマーク情報の座標である。またセンサ取得範囲602はセンサ12の情報取得範囲であり、簡単のため、センサ12をカメラ1台とする。またランドマーク603a~603eは、工場内の天井に配置された照明であり、外部記憶装置19に登録された情報である。この状態では、移動体1がセンサ12で得られたランドマーク情報に基づいてマップマッチングを行い、位置推定している。この場合、移動体1は問題なく搬送作業ができているものとする。
【0066】
図6bは、センサ取得範囲602内に障害物が存在する状態を示している。この状態では、障害物604(例えば作業者)がセンサ取得範囲602に入り、移動体1は位置推定ができなくなった。従って、移動体1は座標601に対する現在位置が不明となった。
【0067】
図6cは、移動体1が位置推定できなくなった後の動作を示している。この時、図2の処理によれば、まず、情報取得処理ステップS201では、センサ12により走行環境の画像を取得する。次に、直線認識処理ステップS202では、情報取得処理ステップS201で取得した画像から線認識を実施する。この認識処理により、工場内においてある箱604a~604nから直線605を認識したものとする。
【0068】
次にランドマーク認識処理ステップS204では、ランドマーク603aを認識し、センサ12からランドマーク603aへの距離d606が算出されたとする。そして、距離d606と、認識した直線605の方向と、外部記憶装置19に登録されたランドマークの数に基づいて、候補生成処理ステップS206では、現在位置の候補を生成する。この場合、外部記憶装置19にランドマークが5つあるため、候補生成処理ステップS206では、4*5=20の現在の位置の候補が生成される。なお、現在位置の候補607a~607nは、ステップ候補生成で生成された現在位置の候補である。
【0069】
図6dは、移動体1が位置推定を回復するときの動作を示している。図6dにおいて、最新現在位置の候補608a~608nは、予測手段207で算出したそれぞれの生成した現在位置の候補の最新位置である。
【0070】
あるとき、センサ12でランドマーク609を認識したとする。センサ12で実際に認識したランドマーク609をそれぞれの現在位置の候補607a~607nの座標に変換したあと、外部記憶装置19に登録されたそれぞれのランドマーク情報と比較する。そこで、現在位置の候補608bの座標に対して変換したランドマーク609に最も近い外部記憶装置19に登録された情報による予測がランドマーク603bのため、現在位置抽出手段208で現在位置の候補608bを現在位置とする。従って、移動体1が工場内での搬送作業を続けられる。
【符号の説明】
【0071】
1:移動体
2:信号受付部
12:センサ
14:処理部
15:制御部
16:メモリ
17:出力部
19:外部記憶装置
図1
図2
図3
図4a
図4b
図5a
図5b
図6a
図6b
図6c
図6d