(57)【要約】  自己位置推定方法は、複数のセンサ５〜８の検出情報から複数のアルゴリズム（１１〜１３）により移動体１の自己位置を推定する第１ステップと、複数のアルゴリズムのそれぞれ毎に、各アルゴリズムの推定処理により得られる一つ以上の状態量Ａ，Ｂ，Ｃから、学習済のニューラルネットワーク（１４）により各アルゴリズム毎の重み係数を決定する第２ステップと、各アルゴリズムにより推定された自己位置を重み係数により合成して得られる位置を移動体１の自己位置として特定する第３ステップとを備える。
2019202806.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサの検出情報から、該複数のセンサのうちの一つ以上のセンサの検出情報を各々用いる複数のアルゴリズムのそれぞれにより、移動体の自己位置を推定する第１ステップと、
前記複数のアルゴリズムのそれぞれ毎に、各アルゴリズムの推定処理により得られる一つ以上の状態量であって、各アルゴリズムにより推定された前記自己位置の確からしさに関連する状態量を学習済のニューラルネットワークに入力し、当該入力された状態量から該ニューラルネットワークにより前記複数のアルゴリズムのそれぞれ毎の重み係数を決定する第２ステップと、
前記複数のアルゴリズムのそれぞれにより推定された前記自己位置を、前記決定された重み係数により合成して得られる位置を、前記移動体の自己位置として特定する第３ステップとを備えることを特徴とする移動体の自己位置推定方法。
【請求項２】
請求項１記載の移動体の自己位置推定方法において、
前記複数のセンサは、前記移動体の外界を撮像するカメラを含み、
前記複数のアルゴリズムのうちの一つのアルゴリズムである第Ａアルゴリズムは、前記移動体の自己位置の推定のために、前記カメラの撮像画像から特徴点を検出し、当該検出された特徴点と、該撮像画像よりも過去の撮像画像から検出された特徴点とのマッチングを行う処理を逐次実行するように構成されたアルゴリズムであり、
前記第Ａアルゴリズムに係る前記状態量は、前記撮像画像から検出された特徴点の総数のうち、前記マッチングによる対応付けがなされた特徴点の個数の割合を示す状態量を含むことを特徴とする移動体の自己位置推定方法。
【請求項３】
請求項１記載の移動体の自己位置推定方法において、
前記複数のセンサは、前記移動体の外界物までの距離を測定する測距センサを含み、
前記複数のアルゴリズムのうちの一つのアルゴリズムである第Ｂアルゴリズムは、前記測距センサによる測距データと、粒子フィルタとを用いて前記移動体の自己位置を推定するアルゴリズムであり、
前記第Ｂアルゴリズムに係る前記状態量は、該第Ｂアルゴリズムが前記移動体の自己位置を推定する過程で生成する共分散を含むことを特徴とする移動体の自己位置推定方法。
【請求項４】
請求項１記載の移動体の自己位置推定方法において、
前記複数のセンサは、前記移動体に作用する磁気を検出する磁気センサを含み、
前記複数のアルゴリズムのうちの一つのアルゴリズムである第Ｃアルゴリズムは、前記磁気センサによる磁気の検出データと、粒子フィルタとを用いて前記移動体の自己位置を推定するアルゴリズムであり、
前記第Ｃアルゴリズムに係る前記状態量は、該第Ｃアルゴリズムが前記移動体の自己位置を推定する過程で生成する共分散を含むことを特徴とする移動体の自己位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の自己位置を推定する方法に関する。
【背景技術】
【０００２】
従来より、移動ロボット等の移動体の自己位置を、複数のセンサの検出情報を用いて推定する種々様々な技術が提案されている。例えば、特許文献１には、エンコーダもしくはジャイロスコープ等の内界センサの検出情報と、測距センサ、ＩＲセンサ、超音波センサ、カメラ等の外界センサの検出情報とを用いて移動体の自己位置を推定する技術が提案されている。【０００３】
また、一つ以上のセンサの検出情報を用いて、移動体の自己位置を推定するアルゴリズムも、従来より、種々様々なアルゴリズムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１４９０８８号公報
【発明の概要】
【０００５】
ところで、種々様々な環境下で、高い信頼性で自己位置を推定することを可能とするために、複数のセンサの検出情報から複数のアルゴリズムにより、それぞれ自己位置を推定し、これらの複数の自己位置の推定値を、適当な重み係数を用いて合成することで、自己位置を特定することが考えられる。そして、この場合、上記重み係数を事前に学習させることが考えられる。
【０００６】
この場合、上記重み係数の学習の手法として、各アルゴリズムによる自己位置推定値の実際の位置との偏差（自己位置推定値の誤差）を入力情報として用いて、上記重み係数の学習を行うことが考えられる。しかるに、この場合、当該学習を行う場所が、特定の場所に限定されざるを得ないため、該特定の場所以外の種々様々な場所にも適用し得る重み係数を学習することが困難となりやすい。
【０００７】
本発明はかかる背景に鑑みてなされたものであり、移動体の移動環境の影響を受け難い態様で移動体の自己位置の推定を行うことを可能とする自己位置推定方法を提供することを目的とする。
【０００８】
本発明の自己位置推定方法は、上記の目的を達成するために、複数のセンサの検出情報から、該複数のセンサのうちの一つ以上のセンサの検出情報を各々用いる複数のアルゴリズムのそれぞれにより、移動体の自己位置を推定する第１ステップと、
前記複数のアルゴリズムのそれぞれ毎に、各アルゴリズムの推定処理により得られる一つ以上の状態量であって、各アルゴリズムにより推定された前記自己位置の確からしさに関連する状態量を学習済のニューラルネットワークに入力し、当該入力された状態量から該ニューラルネットワークにより前記複数のアルゴリズムのそれぞれ毎の重み係数を決定する第２ステップと、
前記複数のアルゴリズムのそれぞれにより推定された前記自己位置を、前記決定された重み係数により合成して得られる位置を、前記移動体の自己位置として特定する第３ステップとを備えることを特徴とする（第１発明）。 
【０００９】
なお、本発明において、前記複数のアルゴリズムは、各アルゴリズムの種類と、各アルゴリズムで使用するセンサの検出情報の種類とのうちの少なくとも一方が互いに相違するものである。
【００１０】
また、本発明おける自己位置は、通常の意味での移動体の位置（座標位置）に限らず、該移動体の姿勢（向き）を含み得る。
【００１１】
上記第１発明によれば、前記第２ステップで、前記複数のアルゴリズムのそれぞれ毎の重み係数を決定するニューラルネットワークは、各アルゴリズム毎に、各アルゴリズムの推定処理（移動体の自己位置を推定する処理）により得られる一つ以上の状態量が入力され、これらの状態量から、各アルゴリズム毎の重み係数を決定する。
【００１２】
この場合、各アルゴリズム毎の状態量は、各アルゴリズムにより推定された移動体の自己位置の確からしさに関連する状態量である。このため、各アルゴリズム毎の当該状態量は、該アルゴリズムの推定処理が、移動体の自己位置の信頼性の高い推定値を求める上で、どの程度適切になされたかの度合いを反映したものとなる。
【００１３】
このため、前記ニューラルネットワークの事前学習によって、該ニューラルネットワークは、各アルゴリズムに対応する重み係数が、該アルゴリズムによる自己位置の推定処理を他のアルゴリズムよりも適切に行い得る状況では相対的に高くなり、且つ、該アルゴリズムによる自己位置の推定処理を適切に行うことが他のアルゴリズムよりも困難な状況では相対的に低くなるように、入力される各アルゴリズム毎の状態量の全体に応じて各アルゴリズム毎の重み係数を決定できるようになる。
【００１４】
また、前記ニューラルネットワークにより決定される各アルゴリズム毎の重み係数は、各アルゴリズムにより推定された移動体の自己位置の精度ではなく、各アルゴリズム毎の前記状態量に依存して決定されるものである。このため、該重み係数は、移動体の移動環境の場所の影響を受けにくいものとなる。
【００１５】
そして、第３ステップでは、前記複数のアルゴリズムのそれぞれにより推定された前記自己位置を、上記の如く決定された重み係数により合成して得られる位置が、前記移動体の自己位置として特定される。
【００１６】
これにより、第１発明によれば、移動体の移動環境の影響を受け難い態様で移動体の自己位置の推定を行うことが可能となる。
【００１７】
上記第１発明では、前記複数のセンサは、前記移動体の外界を撮像するカメラを含み、前記複数のアルゴリズムのうちの一つのアルゴリズムである第Ａアルゴリズムは、前記移動体の自己位置の推定のために、前記カメラの撮像画像から特徴点を検出し、当該検出された特徴点と、該撮像画像よりも過去の撮像画像から検出された特徴点とのマッチングを行う処理を逐次実行するように構成されたアルゴリズムであるという態様を採用し得る。この場合、前記第Ａアルゴリズムに係る前記状態量は、前記撮像画像から検出された特徴点の総数のうち、前記マッチングによる対応付けがなされた特徴点の個数の割合を示す状態量を含むことが好ましい（第２発明）。
【００１８】
これによれば、第Ａアルゴリズムに対応する前記状態量は、前記撮像画像から検出された特徴点の総数のうち、前記マッチングによる対応付けがなされた特徴点の個数の割合を示す状態量を含む。このため、該状態量は、第Ａアルゴリズムにより推定される移動体の自己位置の確からしさに関連する状態量として適正なものとなる。 
【００１９】
なお、前記割合を示す状態量は、該割合そのものに限らず、例えば、前記撮像画像から検出された特徴点の総数と、前記マッチングによる対応付けがなされた特徴点の個数との組であってもよい。
【００２０】
また、上記第１発明又は第２発明では、前記複数のセンサは、前記移動体の外界物までの距離を測定する測距センサを含み、前記複数のアルゴリズムのうちの一つのアルゴリズムである第Ｂアルゴリズムは、前記測距センサによる測距データと、粒子フィルタとを用いて前記移動体の自己位置を推定するアルゴリズムであるという態様を採用し得る。この場合、前記第Ｂアルゴリズムに係る前記状態量は、該第Ｂアルゴリズムが前記移動体の自己位置を推定する過程で生成する共分散を含むことが好ましい（第３発明）。
【００２１】
これによれば、第Ｂアルゴリズムに対応する前記状態量は、前記共分散を含む。このため、該状態量は、第Ｂアルゴリズムにより推定される移動体の自己位置の確からしさに関連する状態量として適正なものとなる。
【００２２】
また、上記第１〜第３発明では、前記複数のセンサは、前記移動体に作用する磁気を検出する磁気センサを含み、前記複数のアルゴリズムのうちの一つのアルゴリズムである第Ｃアルゴリズムは、前記磁気センサによる磁気の検出データと、粒子フィルタとを用いて前記移動体の自己位置を推定するアルゴリズムであるという態様を採用し得る。この場合、前記第Ｃアルゴリズムに係る前記状態量は、該第Ｃアルゴリズムが前記移動体の自己位置を推定する過程で生成する共分散を含むことが好ましい（第３発明）。
【００２３】
これによれば、第Ｃアルゴリズムに対応する前記状態量は、前記共分散を含むので、該状態量は、第Ｃアルゴリズムにより推定される移動体の自己位置の確からしさに関連する状態量として適正なものとなる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態における移動体の概略構成を示す図。
【図２】図１に示す自己位置推定部による処理を示すブロック図。
【発明を実施するための形態】
【００２５】
本発明の一実施形態を図１及び図２を参照して以下に説明する。図１を参照して、本実施形態での移動体１は、例えば車輪型の移動体であり、その移動環境の床面上に、複数の車輪２を介して支持される機体３を有する。そして、移動体１は、図示を省略する電動モータ等のアクチュエータにより、一つ以上の車輪２を回転駆動することにより、あるいは、一つ以上の車輪２の回転駆動と操舵（方向転換）とを行うことにより、床面上を移動する。
【００２６】
この移動体１には、自己位置を推定するために使用する複数のセンサが搭載されている。例えば、一つ以上の車輪２の回転角を検出する角度センサ等のオドメトリ用のセンサ５と、移動体１の周囲に存在する外界物までの距離を測定する測距センサとしてのレーザ・レンジ・ファインダ６（以降、ＬＲＦ６という）と、移動体１の上方に存在する天井を撮像するカメラ７と、移動体１に作用する磁気を検出する磁気センサ８とが移動体１に搭載されている。なお、オドメトリ用のセンサ５は、車輪２の回転角を検出する角度センサの他、車輪２のうちの操舵輪の操舵角を検出するセンサを含み得る。また、カメラ７は、本実施形態では、ステレオカメラである。
【００２７】
移動体１には、これらのセンサの検出情報を用いて自己位置推定を行う自己位置推定処理装置１０が搭載されている。該自己位置推定処理装置１０は、例えば、マイコン、メモリ、インターフェース回路等を含む一つ以上の電子回路ユニットにより構成される。
【００２８】
そして、自己位置推定処理装置１０は、実装されたハードウェア構成及びプログラム（ソウフトウェア構成）の両方又は一方により実現される機能として、図２のブロック図で示す如く、第１自己位置推定処理部１１と、第２自己位置推定処理部１２と、第３自己位置推定処理部１３と、重み係数学習処理部１４と、自己位置特定処理部１５とを含む。なお、自己位置推定処理装置１０は、上記の機能に限らず、例えば移動体１の移動制御等を行う機能も含み得る、
【００２９】
第１自己位置推定処理部１１は、ＬＲＦ６の検出情報とオドメトリ用センサ５の検出情報とを用いて移動体１の自己位置を推定する処理を実行する機能部、第２自己位置推定処理部１１は、カメラ７の検出情報を用いて移動体１の自己位置を推定する処理を逐次実行する機能部、第３自己位置推定処理部１３は、磁気センサ８の検出情報を用いて移動体１の自己位置を推定する処理を逐次実行する機能部である。
【００３０】
なお、本実施形態では、移動体１の自己位置は、より詳しくは、移動体１の移動環境に任意に設定されるグローバル座標系で見た、移動体１の位置と姿勢（向き）との組である。以降の説明では、第１〜第３自己位置推定処理部１１〜１３により推定される自己位置を、推定位置姿勢ということがある。
【００３１】
また、重み係数学習処理部１４は、第１〜第３自己位置推定処理部１１〜１３のそれぞれから入力される後述の状態量Ａ，Ｂ，Ｃに応じて、第１〜第３自己位置推定処理部１１〜１３のそれぞれに対応する重み係数（詳しくは、第１〜第３自己位置推定処理部１１〜１３のそれぞれから出力される移動体１の推定位置姿勢に対する重み係数）を出力する機能部、自己位置特定処理部１５は、第１〜第３自己位置推定処理部１１〜１３のそれぞれから出力される移動体１の推定位置姿勢を、重み係数学習処理部１４から出力される重み係数に応じて合成することによって、移動体１の自己位置を特定する（移動体１の推定位置姿勢を確定する）機能部である。
【００３２】
以下に、上記各機能部の詳細と併せて、自己位置推定処理装置１０の全体の処理を説明する。
【００３３】
第１〜第３自己位置推定処理部１１〜１３の処理が以下に説明する如く実行される。第１自己位置推定処理部１１には、ＬＲＦ６及びオドメトリ用センサ５のそれぞれの検出情報が入力されると共に、移動体１の移動環境のマップデータ（例えば、２次元の占有格子地図等）とが入力される。この場合、マップデータは、自己位置推定処理装置１０のメモリにあらかじめ記憶保持され、あるいは、外部のサーバ等から随時、ダウンロードされる。
【００３４】
そして、第１自己位置推定処理部１１は、ＬＲＦ６の検出情報（移動体１の周囲の外界物の測距データ）と、オドメトリ用センサ５の検出情報と、マップデータとから、自己位置推定用の所定のアルゴリズムにより、移動体１の自己位置を逐次推定する（推定位置姿勢を逐次決定する）。
【００３５】
本実施形態では、第１自己位置推定処理部１１は、自己位置推定用のアルゴリズムとして、粒子フィルタを用いて自己位置推定を行うアルゴリズム、例えば、AMCL（Adaptive Monte Carlo Localization）という公知の手法のアルゴリズムを使用する。該アルゴリズムは、本発明における第Ｂアルリズムに相当するものである。
【００３６】
このAMCLのアルゴリズムでは、次のような処理によって、移動体１の自己位置が逐次推定される。すなわち、まず、移動体１の初期位置及び初期姿勢（向き）に応じて、移動体１の近辺に、粒子フィルタにおける複数の粒子（パーティクル）が生成される。そして、オドメトリ用センサ５の検出情報から推定される移動体１の移動速度（並進速度及び角速度）に応じて、各粒子の新たな移動位置が推定される。
【００３７】
次いで、ＬＲＦ６による移動体１の周囲の外界物の測距データを取得し、この測距データと、マップデータとに基づいて、各粒子の新たな移動位置の尤度が算出される。そして、リサンプリング処理によって、尤度が低い粒子が消滅され、さらに、尤度の高い粒子の近辺に新たな粒子が生成される。
【００３８】
AMCLのアルゴリズムでは、以上の如き処理を逐次実行することで得られる尤度の高い粒子の位置の時系列に基づいて、移動体１の自己位置が逐次推定される（移動体１の推定位置姿勢が逐次決定される）。また、このアルゴリズムでは、当該推定処理の実行過程で、推定位置姿勢の確からしさに関連する状態量としての共分散（詳しくは分散共分散）が生成される。
【００３９】
そして、第１自己位置推定処理部１１は、上記の如くAMCLのアルゴリズムにより推定した移動体１の自己位置（推定位置姿勢）と該推定時の時刻である推定時刻とを逐次出力すると共に、該推定位置姿勢の確からしさに関連する状態量Ａとして、上記共分散（分散共分散）を出力する。
【００４０】
第２自己位置推定処理部１２には、カメラ７の検出情報としての撮像画像（移動体１の上方の天井の撮像画像）が入力される。なお、本実施形態では、カメラ７はステレオカメラであるので、第２自己位置推定処理部１２に入力されるカメラ７の検出情報（撮像画像）はステレオ画像（一対の撮像画像）である。ただし、カメラ７は、ステレオカメラに限らず、単眼カメラであってもよい。
【００４１】
そして、第２自己位置推定処理部１２は、入力された撮像画像から、自己位置推定用の所定のアルゴリズムにより、移動体１の自己位置を逐次推定する（推定位置姿勢を逐次決定する）。
【００４２】
本実施形態では、第２自己位置推定処理部１２は、自己位置推定用のアルゴリズムとして、入力された撮像画像からの特徴点の検出と、該特徴点と、過去に入力された撮像画像から検出された特徴点とのマッチングとを行うアルゴリズムを使用する。より具体的には、第２自己位置推定処理部１２は、当該アルゴリズムとして、例えば、ORB_SLAMという公知の手法のアルゴリズムを使用する。該アルゴリズムは、本発明における第Ａアルリズムに相当するものである。
【００４３】
このORB_SLAMのアルゴリズムでは、次のような処理によって、移動体１の自己位置が逐次推定される。すなわち、移動体１の初期位置を設定した上で、カメラ７による撮像画像（ステレオ画像）が第２自己位置推定処理部１２に逐次入力される。そして、入力された撮像画像毎に、該撮像画像からＯＲＢ特徴点を検出する処理が逐次実行される。なお、移動体１の初期位置は、例えば、ＬＲＦ６の検出情報に基づいて設定され得る。
【００４４】
そして、新たに入力された撮像画像（時刻ｔの撮像画像）から検出されたＯＲＢ特徴点と、一つ前に入力された過去の撮像画像（時刻ｔ−Δｔの撮像画像）から検出されたＯＲＢ特徴点とが比較され、ＯＲＢ特徴点同士のマッチングが行われる。このマッチングでは、特徴量の差の大きさ（絶対値）が所定の閾値以下となるＯＲＢ特徴点同士が互いに同じＯＲＢ特徴点（互いに対応するＯＲＢ特徴点）であると判定される。
【００４５】
そして、当該マッチングに基づいて、上記二つの時刻ｔ，ｔ−Δｔの間の期間での移動体１の移動量及び移動方向が推定される。さらに、この移動量及び移動方向の推定値と、時刻ｔ−Δｔでの移動体１の推定位置姿勢とから、時刻ｔでの移動体１の推定位置姿勢が決定される。なお、ORB_SLAMのアルゴリズムにより求める移動体１の推定位置姿勢は、例えば、第１自己位置推定処理部１２に入力される撮像画像のフレーム数が所定数に達する毎に、ＬＲＦ６の検出情報に基づいて認識される移動体１の位置姿勢にリセットしてもよい。
【００４６】
ORB_SLAMのアルゴリズムでは、以上の如き処理を逐次実行することで、移動体１の自己位置が逐次推定される（移動体１の推定位置姿勢が逐次決定される）。また、このアルゴリズムでは、当該推定処理の実行過程で、推定位置姿勢の確からしさに関連する状態量として、移動体１の推定速度・角速度（並進速度及び角速度の推定値）と、検出されたＯＲＢ特徴点の個数（総数）及びマッチング個数（前記マッチングにより互いに同じであると判定されたＯＲＢ特徴点の個数）と、誤差関数の誤差値（前記マッチングにおける特徴量の差）と、推定状態（移動体１の推定速度・角速度の推定精度の高低度合い）とが生成される。
【００４７】
そして、第２自己位置推定処理部１２は、上記の如くORB_SLAMのアルゴリズムにより推定した移動体１の自己位置（推定位置姿勢）と該推定時の時刻である推定時刻とを逐次出力する。さらに第２自己位置推定処理部１２は、該推定位置姿勢の確からしさに関連する状態量Ｂとして、移動体１の推定速度・角速度（並進速度及び角速度の推定値）と、検出されたＯＲＢ特徴点の個数及びマッチング個数と、誤差関数の誤差値（前記マッチングにおける特徴量の差）と、推定状態とを出力する。なお、ＯＲＢ特徴点の個数及びマッチング個数の代わりに、ＯＲＢ特徴点の個数（総数）に対するマッチング個数の割合を出力するようにしてもよい。
【００４８】
第３自己位置推定処理部１３には、磁気センサ８の検出情報としての磁気の検出データとオドメトリ用センサ５の検出情報とが入力されると共に、移動体１の移動環境の磁気的マップデータとが入力される。この場合、磁気的マップデータは、自己位置推定処理装置１０のメモリにあらかじめ記憶保持され、あるいは、外部のサーバ等から随時、ダウンロードされる。そして、第３自己位置推定処理部１３は、入力された磁気の検出データと、オドメトリ用センサ５の検出情報と、磁気的マップデータとから、自己位置推定用の所定のアルゴリズムにより、移動体１の自己位置を逐次推定する（推定位置姿勢を逐次決定する）。
【００４９】
本実施形態では、第３自己位置推定処理部１３は、自己位置推定用のアルゴリズムとして、粒子フィルタを用いて自己位置推定を行うアルゴリズム、例えば、第１自己位置推定処理部１１と同様にAMCLを使用する。該アルゴリズムは、本発明における第Ｃアルリズムに相当するものである。
【００５０】
このアルゴリズムでは、まず、移動体１の初期位置及び初期姿勢（向き）に応じて、移動体１の近辺に、粒子フィルタにおける複数の粒子（パーティクル）が生成される。そして、オドメトリ用センサ５の検出情報から推定される移動体１の移動速度（並進速度及び角速度）に応じて、各粒子の新たな移動位置が推定される。次いで、磁気センサ８による磁気の検出データ（移動体１に作用する磁気の検出データ）を取得し、この検出データと、磁気的マップデータとに基づいて、各粒子の新たな移動位置の尤度が算出される。そして、リサンプリング処理によって、尤度が低い粒子が消滅され、さらに、尤度の高い粒子の近辺に新たな粒子が生成される。
【００５１】
第３自己位置推定処理部１３のAMCLのアルゴリズムでは、以上の如き処理を逐次実行することで移動体１の自己位置が逐次推定される（移動体１の推定位置姿勢が逐次決定される）。また、このアルゴリズムでは、当該推定処理の実行過程で、推定位置姿勢の確からしさに関連する状態量としての共分散（詳しくは分散共分散）が生成される。
【００５２】
そして、第３自己位置推定処理部１３は、上記の如くAMCLのアルゴリズムにより推定した移動体１の自己位置（推定位置姿勢）と該推定時の時刻である推定時刻とを逐次出力すると共に、該推定位置姿勢の確からしさに関連する状態量Ｃとして、上記共分散（分散共分散）を出力する。
【００５３】
第１〜第３自己位置推定処理部１３からそれぞれ出力される前記状態量Ａ，Ｂ，Ｃは、重み係数学習処理部１４に入力される。この重み係数学習処理部１４は、本実施形態では、ニューラルネットワークにより構成される。そして、このニューラルネットワークは、前記状態量Ａ，Ｂ，Ｃから構成される特徴ベクトルをマルチモーダル情報として用いるマルチモーダル学習があらかじめ実施されている。
【００５４】
このマルチモーダル学習は、より詳しくは、種々様々な状態量Ａ，Ｂ，Ｃから構成される特徴ベクトルから、第１〜第３自己位置推定処理部１１〜１３のそれぞれのアルゴリズムによる移動体１の自己位置の推定処理が、他のアルゴリズムに比してどの程度適切になされているかの度合いに相当する重み係数（第１〜第３自己位置推定処理部１３から出力される推定位置姿勢のそれぞれに対応する重み係数）を生成する学習である。
【００５５】
重み係数学習処理部１４のニューラルネットワークは、このようなマルチモーダル学習があらかじめ実施されている。このため、第１〜第３自己位置推定処理部１１〜１３のそれぞれから状態量Ａ，Ｂ，Ｃが入力された重み係数学習処理部１４は、該状態量Ａ，Ｂ，Ｃにより構成される特徴ベクトルから、第１〜第３自己位置推定処理部１１〜１３のそれぞれに対応する重み係数をニューラルネットワークにより生成して出力する。
【００５６】
この場合、当該ニューラルネットワークは、基本的には、第１〜第３自己位置推定処理部１１〜１３のそれぞれが出力する移動体１の推定位置姿勢のそれぞれの確からしさがより高いものほど、重み係数が大きな値となるように第１〜第３自己位置推定処理部１１〜１３のそれぞれに対応する重み係数を生成して出力する。
【００５７】
例えば第１自己位置推定処理部１１による移動体１の自己位置の推定処理が、第２自己位置推定処理部１２及び第３自己位置推定処理部１３に比して、より適切になされる状況では、第１自己位置推定処理部１３に対応する重み係数が、第２自己位置推定処理部１４及び第３自己位置推定処理部１５のそれぞれに対応する重み係数よりも大きな値になるようにそれぞれの重み係数が生成される。
【００５８】
また、例えば、第２自己位置推定処理部１２による移動体１の自己位置の推定処理が、第１自己位置推定処理部１１及び第３自己位置推定処理部１３に比して、より適切になされる状況では、第２自己位置推定処理部１２に対応する重み係数が、第１自己位置推定処理部１１及び第３自己位置推定処理部１３のそれぞれに対応する重み係数よりも大きな値になるようにそれぞれの重み係数が生成される。
【００５９】
また、例えば、第３自己位置推定処理部１３による移動体１の自己位置の推定処理が、第２自己位置推定処理部１２及び第２自己位置推定処理部１２に比して、より適切になされる状況では、第３自己位置推定処理部１３に対応する重み係数が、第１自己位置推定処理部１１及び第２自己位置推定処理部１２のそれぞれに対応する重み係数よりも大きな値になるようにそれぞれの重み係数が生成される。
【００６０】
重み係数学習処理部１４から出力される第１〜第３自己位置推定処理部１１〜１３のそれぞれに対応する重み係数は、自己位置特定処理部１５に入力される。また、該自己位置特定処理部１５には、第１〜第３自己位置推定処理部１１〜１３のそれぞれから、移動体１の推定位置姿勢及び推定時刻が入力される。
【００６１】
そして、自己位置特定処理部１５は、第１〜第３自己位置推定処理部１１〜１３のそれぞれの互いに同一時刻での推定位置姿勢を、入力された重み係数に応じて合成してなる位置姿勢を、移動体１の自己位置として特定する。すなわち、第１〜第３自己位置推定処理部１１〜１３のそれぞれの推定位置姿勢に対しそれぞれに対応する重み係数を乗じたものの総和が移動体１の自己位置として特定される。なお、このとき各重み係数の和は１である。
【００６２】
本実施形態では、自己位置推定処理装置１０は、以上説明した如く移動体１の自己位置を逐次特定する。この場合、第１〜第３自己位置推定処理部１１〜１３のそれぞれにより推定された自己位置を、重み係数学習処理部１４により第１〜第３自己位置推定処理部１１〜１３のそれぞれ毎の状態量Ａ，Ｂ，Ｃに応じて決定される重み係数により合成することによって移動体１の自己位置が特定される。
【００６３】
そして、この場合、重み係数学習処理部１４は、第１〜第３自己位置推定処理部１１〜１３のそれぞれ毎の状態量Ａ，Ｂ，Ｃを入力情報とするものであるので、移動体１の種々様々な移動環境で、状態量Ａ，Ｂ，Ｃに応じて出力すべき重み係数を事前に学習しておくことができる。
【００６４】
そのため、自己位置推定処理装置１０は、移動体１の種々様々な移動環境で、移動体１の自己位置を高い信頼性で推定（特定）することができる。
【００６５】
なお、本発明は以上説明した実施形態に限定されるものではなく、他の実施形態を採用することもできる。以下に、他の実施形態をいくつか例示する。
【００６６】
前記実施形態では、第１〜第３自己位置推定処理部１１〜１３の３種類の自己位置推定処理部を備える自己位置推定処理装置１０を例示した。ただし、自己位置推定処理装置１０は、例えば、第１〜第３自己位置推定処理部１１〜１３のうちのいずれか一つを備えないものであってもよい。あるいは、自己位置推定処理装置１０は、さらに多くの自己位置推定処理部を備えていてもよい。
【００６７】
また、前記実施形態では、重み係数学習処理部１４として、マルチモーダル学習を行うニューラルネットワークを例示した。ただし、重み係数学習処理部１４として、例えば、LSTM（Long short-term memory）等の再帰型ニューラルネットワーク（RNN）等を使用してもよい。
【００６８】
また、前記実施形態では第２自己位置推定処理部１２に係る状態量Ｂとして、移動体１の推定速度・角速度（並進速度及び角速度の推定値）と、検出されたＯＲＢ特徴点の個数及びマッチング個数と、誤差関数の誤差値（前記マッチングにおける特徴量の差）と、推定状態とを用いた。ただし、これらの状態量のうちの一部の状態量、例えば移動体１の推定速度・角速度、誤差関数の誤差値、推定状態等を省略してもよい。
【００６９】
また、前記実施形態では、測距センサとしてＬＲＦ６を使用した。ただし、ＬＲＦ６の代わりに、例えば超音波式の測距センサ等を使用してもよい。
【００７０】
また、前記実施形態では、移動体として、車輪型の移動体１を例示した。ただし、本発明の適用対象の移動体は、車輪型の移動体に限らず、例えば、脚式の移動体等であってよい。
【図１】
2019202806.tif 000003
【図２】
2019202806.tif 000004
【国際調査報告】
2019202806.tif 000005
2019202806.tif 000006
2019202806.tif 000007
2019202806.tif 000008