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

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

▶ 株式会社豊田中央研究所の特許一覧

特許7491065状態推定装置、及び状態推定方法、状態推定プログラム
<>
  • 特許-状態推定装置、及び状態推定方法、状態推定プログラム 図1
  • 特許-状態推定装置、及び状態推定方法、状態推定プログラム 図2
  • 特許-状態推定装置、及び状態推定方法、状態推定プログラム 図3
  • 特許-状態推定装置、及び状態推定方法、状態推定プログラム 図4
  • 特許-状態推定装置、及び状態推定方法、状態推定プログラム 図5
  • 特許-状態推定装置、及び状態推定方法、状態推定プログラム 図6
  • 特許-状態推定装置、及び状態推定方法、状態推定プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-20
(45)【発行日】2024-05-28
(54)【発明の名称】状態推定装置、及び状態推定方法、状態推定プログラム
(51)【国際特許分類】
   G01S 19/45 20100101AFI20240521BHJP
   G01S 19/22 20100101ALI20240521BHJP
   G01C 21/28 20060101ALI20240521BHJP
【FI】
G01S19/45
G01S19/22
G01C21/28
【請求項の数】 5
(21)【出願番号】P 2020097782
(22)【出願日】2020-06-04
(65)【公開番号】P2021189131
(43)【公開日】2021-12-13
【審査請求日】2023-03-15
(73)【特許権者】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】田口 峻
【審査官】梶田 真也
(56)【参考文献】
【文献】特開2019-020338(JP,A)
【文献】特開2002-022818(JP,A)
【文献】特開2004-069635(JP,A)
【文献】国際公開第2016/040166(WO,A1)
【文献】国際公開第2020/090770(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 5/00 - 5/14
G01S 19/00 - 19/55
G01C 21/28
(57)【特許請求の範囲】
【請求項1】
センサの観測値に基づいて推定対象の状態を推定する状態推定装置であって、
前記センサによる観測において複数の観測値の各々が同時に得られた場合に、
前記センサにより同時に観測された複数の観測値の各々を入力として、任意の第1観測、及び前記第1観測より後に統合する第2観測を識別する受信部と、
観測前の状態を示す状態変数を保存する保存部と、
前記推定対象の状態を表す仮説について、観測時点における、前記仮説が表す状態を予測する状態予測部と、
前記第1観測について、前記状態変数、前記第1観測の第1観測値、及び前記状態予測部による予測結果に基づいて、当該第1観測値が正常値であると仮定して更新された状態を表す仮説と、当該第1観測値が異常値であると仮定して更新された状態を表す仮説とを生成する仮説生成部と、
前記仮説生成部によって生成された前記仮説の各々における状態を、仮説の各々の重みを用いて統合することにより前記推定対象の状態を推定する仮説統合部と、
を含み、
前記仮説生成部は、前記第2観測について、前記状態変数、前記第2観測の第2観測値、及び前記仮説統合部による前記第1観測についての統合結果に基づいて、当該第2観測値が正常値であると仮定して更新された状態を表す仮説と、当該第2観測値が異常値であると仮定して更新された状態を表す仮説とを生成し、
前記状態及び前記状態変数が確率分布の平均と分散を示す、
状態推定装置。
【請求項2】
前記仮説生成部は、前記予測結果又は前記統合結果を所定の変数に変換して、前記仮説の各々を生成する請求項1に記載の状態推定装置。
【請求項3】
前記仮説生成部によって生成された複数の仮説のうち、前記観測値が正常値であると仮定して更新された状態を表す仮説については、前記観測値が正常値である場合の観測分布に基づいて当該仮説の重みを算出し、前記観測値が異常値であると仮定して更新された状態を表す仮説については、前記観測値が異常値である場合の観測分布に基づいて当該仮説の重みを算出する重み算出部を更に含む、請求項1又は請求項2に記載の状態推定装置。
【請求項4】
センサの観測値に基づいて推定対象の状態を推定する状態推定装置における状態推定方法であって、
前記センサによる観測において複数の観測値の各々が同時に得られた場合に、
前記センサにより同時に観測された複数の観測値の各々を入力として、任意の第1観測、及び前記第1観測より後に統合する第2観測を識別し、
観測前の状態を示す状態変数を保存し、
前記推定対象の状態を表す仮説について、観測時点における、前記仮説が表す状態を予測し、
前記第1観測について、前記状態変数、前記第1観測の第1観測値、及び予測結果に基づいて、当該第1観測値が正常値であると仮定して更新された状態を表す仮説と、当該第1観測値が異常値であると仮定して更新された状態を表す仮説とを生成し、
前記第1観測について、生成された前記仮説の各々を統合し、
前記第2観測について、前記状態変数、前記第2観測の第2観測値、及び前記第1観測についての統合結果に基づいて、当該第2観測値が正常値であると仮定して更新された状態を表す仮説と、当該第2観測値が異常値であると仮定して更新された状態を表す仮説とを生成し、前記状態及び前記状態変数が確率分布の平均と分散を示しており、
前記第2観測について、生成された前記仮説の各々における状態を、仮説の各々の重みを用いて統合することにより前記推定対象の状態を推定する、
処理をコンピュータに実行させる状態推定方法。
【請求項5】
センサの観測値に基づいて推定対象の状態を推定する状態推定装置における状態推定プログラムであって、
前記センサによる観測において複数の観測値の各々が同時に得られた場合に、
前記センサにより同時に観測された複数の観測値の各々を入力として、任意の第1観測、及び前記第1観測より後に統合する第2観測を識別し、
観測前の状態を示す状態変数を保存し、
前記推定対象の状態を表す仮説について、観測時点における、前記仮説が表す状態を予測し、
前記第1観測について、前記状態変数、前記第1観測の第1観測値、及び予測結果に基づいて、当該第1観測値が正常値であると仮定して更新された状態を表す仮説と、当該第1観測値が異常値であると仮定して更新された状態を表す仮説とを生成し、
前記第1観測について、生成された前記仮説の各々を統合し、
前記第2観測について、前記状態変数、前記第2観測の第2観測値、及び前記第1観測についての統合結果に基づいて、当該第2観測値が正常値であると仮定して更新された状態を表す仮説と、当該第2観測値が異常値であると仮定して更新された状態を表す仮説とを生成し、前記状態及び前記状態変数が確率分布の平均と分散を示しており、
前記第2観測について、生成された前記仮説の各々における状態を、仮説の各々の重みを用いて統合することにより前記推定対象の状態を推定する、
処理をコンピュータに実行させる状態推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、状態推定装置、及び状態推定方法、状態推定プログラムに関する。
【背景技術】
【0002】
従来より、観測を正常値と異常値の確率分布として表現する研究がなされている(非特許文献1)。また、複数の仮説を統合して、複数の仮説の追跡に利用する技術がある(非特許文献2)。
【0003】
また、GPS観測の異常値を判定し、取り除く技術がある(特許文献1)。
【0004】
また、受信した観測値に基づいて、車両の位置を示す状態量の仮説を生成し、車両の位置を推定する技術がある(特許文献2)。
【先行技術文献】
【非特許文献】
【0005】
【文献】M.Wuthrich et al. “Robust Gaussian filtering using a pseudo measurement”, 2016 ACC (2016)
【文献】Andrew R. Runnalls, “A Kullback-Leibler Approach to Gaussian Mixture Reduction“, IEEE Trans. on Aerospace and Electronic Systems, 2007, 43.3,pp989-999.
【特許文献】
【0006】
【文献】特開2012-063313号公報
【文献】特開2019-20338号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記非特許文献1の技術は、重ね合わせた分布をもとの1つの分布としてしか追跡しないため、瞬間的な異常値は判定できるが、時間的追跡をしなければ異常値を判定することができない観測値に対して有用でない。
【0008】
また、非特許文献2では、観測を正常値と異常値の確率分布として表現するものではないため、非特許文献1に適用して、時系列的に異常値を取り除くことは困難である。
【0009】
また、非特許文献1及び非特許文献2ではGPSデータに対して適用することは考慮されていない。
【0010】
ここで、特許文献2の技術によれば、時間的追跡をしなければ異常が判定できない観測値であっても、ロバストに状態を推定することができる。もっとも、特許文献2の技術を用いた場合であっても、複数の観測が同時に得られる際、逐次的に処理した場合に、処理順により結果が異なってしまうという問題が生じ得る。
【0011】
本開示は、上記事情を鑑みて成されたものであり、複数の観測値が同時に観測された場合であっても、ロバストに状態を推定することができる状態推定装置、及び状態推定方法、状態推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本開示に係る状態推定装置は、センサの観測値に基づいて推定対象の状態を推定する状態推定装置であって、前記センサによる観測において複数の観測値の各々が同時に得られた場合に、前記センサにより同時に観測された複数の観測値の各々を入力として、任意の第1観測、及び前記第1観測より後に統合する第2観測を識別する受信部と、観測前の状態を示す状態変数を保存する保存部と、前記推定対象の状態を表す仮説について、観測時点における、前記仮説が表す状態を予測する状態予測部と、前記第1観測について、前記状態変数、前記第1観測の第1観測値、及び前記状態予測部による予測結果に基づいて、当該第1観測値が正常値であると仮定して更新された状態を表す仮説と、当該第1観測値が異常値であると仮定して更新された状態を表す仮説とを生成する仮説生成部と、前記仮説生成部によって生成された前記仮説の各々を統合することにより前記推定対象の状態を推定する仮説統合部と、を含み、前記仮説生成部は、前記第2観測について、前記状態変数、前記第2観測の第2観測値、及び前記仮説統合部による前記第1観測についての統合結果に基づいて、当該第2観測値が正常値であると仮定して更新された状態を表す仮説と、当該第2観測値が異常値であると仮定して更新された状態を表す仮説とを生成する。
【0013】
本開示に係る状態推定方法は、センサの観測値に基づいて推定対象の状態を推定する状態推定装置における状態推定方法であって、前記センサによる観測において複数の観測値の各々が同時に得られた場合に、前記センサにより同時に観測された複数の観測値の各々を入力として、任意の第1観測、及び前記第1観測より後に統合する第2観測を識別し、観測前の状態を示す状態変数を保存し、前記推定対象の状態を表す仮説について、観測時点における、前記仮説が表す状態を予測し、前記第1観測について、前記状態変数、前記第1観測の第1観測値、及び前記予測結果に基づいて、当該第1観測値が正常値であると仮定して更新された状態を表す仮説と、当該第1観測値が異常値であると仮定して更新された状態を表す仮説とを生成し、前記第1観測について、生成された前記仮説の各々を統合し、前記第2観測について、前記状態変数、前記第2観測の第2観測値、及び前記第1観測についての統合結果に基づいて、当該第2観測値が正常値であると仮定して更新された状態を表す仮説と、当該第2観測値が異常値であると仮定して更新された状態を表す仮説とを生成し、前記第2観測について、生成された前記仮説の各々を統合することにより前記推定対象の状態を推定する、処理をコンピュータに実行させる。
【0014】
本開示に係る状態推定プログラムは、入力部が、センサの観測値に基づいて推定対象の状態を推定する状態推定装置における状態推定プログラムであって、前記センサによる観測において複数の観測値の各々が同時に得られた場合に、前記センサにより同時に観測された複数の観測値の各々を入力として、任意の第1観測、及び前記第1観測より後に統合する第2観測を識別し、観測前の状態を示す状態変数を保存し、前記推定対象の状態を表す仮説について、観測時点における、前記仮説が表す状態を予測し、前記第1観測について、前記状態変数、前記第1観測の第1観測値、及び前記予測結果に基づいて、当該第1観測値が正常値であると仮定して更新された状態を表す仮説と、当該第1観測値が異常値であると仮定して更新された状態を表す仮説とを生成し、前記第1観測について、生成された前記仮説の各々を統合し、前記第2観測について、前記状態変数、前記第2観測の第2観測値、及び前記仮説統合部による前記第1観測についての統合結果に基づいて、当該第2観測値が正常値であると仮定して更新された状態を表す仮説と、当該第2観測値が異常値であると仮定して更新された状態を表す仮説とを生成し、前記第2観測について、生成された前記仮説の各々を統合することにより前記推定対象の状態を推定する、処理をコンピュータに実行させる。
【発明の効果】
【0015】
本開示の状態推定装置、及び状態推定方法、状態推定プログラムによれば、複数の観測値が同時に観測された場合であっても、ロバストに状態を推定することができる。
【図面の簡単な説明】
【0016】
図1】本開示の実施形態に係る概略構成を示すブロック図である。
図2】本開示の実施形態に係る仮説の生成及び統合の流れを示す図である。
図3】観測値が正常値である場合の観測分布と観測値が異常値である場合の観測分布とを示す図である。
図4】状態推定装置のハードウェア構成を示すブロック図である。
図5】本開示の実施形態に係る状態推定装置の状態推定処理ルーチンの内容を示すフローチャートである。
図6】本開示の実施形態に係るCANデータによる状態更新処理ルーチンの内容を示すフローチャートである。
図7】本開示の実施形態に係るGPSデータによる状態更新統合処理ルーチンの内容を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、図面を参照して本開示の実施の形態を詳細に説明する。
【0018】
まず、本開示の技術の概要を説明する。本開示の実施の形態では、車両に搭載されたCAN受信機及びGPSセンサからの観測値に基づいて、車両の位置を推定する状態推定装置に本開示の技術を適用した場合を例に説明する。
【0019】
本開示の技術は、前提として特許文献2に関連した技術を用いている。すなわち複数のセンサ間でフレーム同期をしないアプローチをとっている。GPSセンサやCAN経由で得られる車速計等の車載センサのセンシング結果である観測値を受信したタイミングごとに、受信した観測値に基づいて、車両の位置を示す状態量の仮説を生成し、車両の位置を推定する。
【0020】
ここで、特許文献2における前提として異常値の判定に関する問題がある。観測値がマルチパス(建物などに反射した電波)等によって異常値を含むことは時間的追跡をしなければ判定できない。また、1台のセンサの観測値を使って逐次車両の位置を推定するため、異常値を判定することができない、という問題がある。この問題を解決するために、特許文献2では、観測値が正常値である場合の仮説と、観測値が異常値である場合の仮説とをそれぞれ生成する。本開示の手法においても同様の手法を採用する。
【0021】
ここで本開示の手法では、受信したタイミングにおいて、同時に2以上の観測値が得られた場合を考慮して、インフォメーションフィルタを用いたアプローチを採用する。本開示の手法を用いることで、推定結果が処理順に依らず、複数の仮説を保持しないため、高速に計算が可能である。
【0022】
異常値が混在するセンサデータのうち、特に時間的に追跡しないと異常が判定できないデータに対して、正常値の場合及び異常値の場合の双方の仮説を考慮することにより、ロバストな異常値の判定を実現できる。ここで、観測は正常値と異常値との確率分布の重ね合わせとして表現される。それぞれの仮説をインフォメーションフィルタにより更新し、統合することで、複数の観測が同時に得られる場合でも適切に状態を推定することが可能となる。また、当該推定において異常値の影響を除去することが可能になる。これは特に、マルチパスが発生するGPSによる測位において有効である。
【0023】
<状態推定システムのシステム構成>
【0024】
図1に示すように、本発明の実施の形態に係る状態推定システムは、CAN受信機100と、GPSセンサ200と、状態推定装置300とを備えて構成される。
【0025】
CAN受信機100は、CAN(Controller Area Network)から得られる車載センサ(車速計、及びジャイロ等)が観測した観測値を受信する。受信した観測値のうち、少なくとも車両速度及びヨーレートを含んだデータをCANデータとする。
【0026】
そして、CAN受信機100は、受信したCANデータを状態推定装置300に出力する。
【0027】
GPSセンサ200は、各GPS衛星から得られる観測値であるGPSデータを受信する。GPSデータには、疑似距離及びドップラー周波数が含まれている。そして、GPSセンサ200は、受信したGPSデータを状態推定装置300に出力する。ここで、GPSセンサ200では複数の観測が同時にされ得る。例えば、同時に2つの観測が得られたとするならば、それぞれの観測値であるGPSデータを状態推定装置300に出力する。以下の説明においては、GPSセンサ200による観測において2つの観測が同時に得られた場合を前提として説明する。
【0028】
状態推定装置300は、センサの観測値に基づいて自車両の位置を推定する装置である。本発明の実施の形態では、状態推定装置300の内部において、自車両の位置を含む、以下の状態xを推定する。
【数1】
【0029】
ここで、x、y、zは地球中心座標での位置を表す。

はGPS受信機の時刻のずれ量を表す。

はGPS受信機の時刻のずれの変量を表す。

はヨーレートセンサの零点のずれ量(オフセット)を表す。
【0030】
本実施の形態では、状態推定装置300はガウシアンフィルタリングを用いて、状態xをガウス分布として推定する。このため、状態xとして、確率分布の平均

と分散Vとを推定する。
【0031】
状態推定装置300は、機能的には、観測値受信部310と、状態予測部320と、仮説生成部330と、重み算出部340と、仮説統合部350と、出力部360とを備えて構成される。
【0032】
観測値受信部310は、CAN受信機100から出力されたCANデータ、及びGPSセンサ200から出力されたGPSデータを受信する。
【0033】
【数2】

【0034】
ここで、ysatはGPSデータ、yCANはCANデータにおける観測値である。本実施形態においては、同時に観測された2つのysatが得られている。観測値受信部310は、観測値の各々を入力として、観測の変数をそれぞれk=1、k=2(以下、観測kと表す)として識別する。また、ysatについてそれぞれ観測値ysat1、ysat2(以下、単にy、yと表記する場合もある)とする。k=1が、本開示の任意の第1観測、k=2が本開示の第1観測より後に統合する第2観測の一例である。なお、kを3以上とする場合であっても同様に適用可能である。
【0035】
そして、観測値受信部310は、各データを受信するたびに、受信したデータを状態予測部320へ送る。また、観測値受信部310がGPSデータ(ysat)を受信した場合は、保存部322へGPSデータ(ysat)を受信したことを示す通知を送る。
【0036】
状態予測部320は、GPSデータ又はCANデータの観測ごとに、推定対象の状態を表す仮説の各々について、観測時点における、当該仮説が表す状態を予測する。
【0037】
具体的には、状態予測部320は、GPSデータ又はCANデータを観測値受信部310から受け取ると、各データが入力されるたびに、推定対象である自車両の位置を含む状態xの仮説の各々について、以下のように観測時点(GPSデータであれば同時に得られた複数の観測に共通する時点)における状態xを予測する。
【0038】
まず、状態予測部320は、前回生成された仮説の全てを、仮説統合部350から取得しておく。
【0039】
そして、状態予測部320は、取得した仮説の各々について、等速予測モデルなどの物理モデルを用いて当該状態xの予測を行う。本実施形態では、下記の予測モデルを用いて観測時点における仮説の状態xを予測する。
【0040】
【数3】
【0041】
ここで、Qは予測モデルの誤差共分散行列、kはステップを表し、Δtはステップ間の時間幅を表す。また、vxyzはxyz座標での速度ベクトル、Vvxyzはその分散共分散行列を表す。
【0042】
また、

は、前回生成された仮説の状態における確率分布の平均及び分散を表す。
【0043】
ここで仮説の生成及び統合の流れについて説明する。図2は、本開示の仮説の生成及び統合の流れを示す図である。図2に示す例では、観測前の状態をk=0、各観測をk=1、k=2として表記する。状態xは状態変数として保持しておき各仮説の生成において参照する。観測k=1について、正常な仮説の状態xg,1、異常の仮説が表す状態xc,1を生成し、状態xに統合する。観測k=2について、正常な仮説が表す状態xg,2、異常な仮説の状態xc,2を生成し、状態xに統合する。以下、gが正常の仮説、cが異常の仮説を表す。
【0044】
保存部322は、観測値受信部310から通知を受け付けると、観測前の状態を示す状態変数を保存する。観測前の状態は以下の状態変数xで表される。ここでいう観測前の状態とは、当該観測時点に対する状態の更新及び統合を行っていないことを示す。このように観測前の状態を保存して、同時に観測の各々の状態の更新において、一意の変数として利用する。
【数4】
【0045】
仮説生成部330は、GPSデータが入力された場合には、観測k=1及びk=2の順に、それぞれについて仮説の各々を生成する。GPSデータによる状態の更新では、GPS衛星から受信した信号がマルチパス等の影響により、異常な値になっている可能性がある。そこで、仮説生成部330では、以下のように同時に得られた観測の各々について、GPSデータによる観測値が正常値の場合の仮説と、異常値の場合の仮説との2つの仮説をそれぞれ生成し、正常及び異常のそれぞれの可能性を考慮しながら状態を追跡する。状態変数x、観測値(y)、及び予測結果(x)又は統合結果(x)に基づいて、正常の状態(xg,k)を表す仮説と、異常の状態(xc,k)を表す仮説とを生成する。
【0046】
観測k=1については、状態変数x、観測値y、及び状態予測部320による予測結果に基づいて、正常の状態(xg,1)を表す仮説と、異常の状態(xc,1)を表す仮説とを生成する。正常の状態(xg,1)は、観測値yが正常値であると仮定して更新された状態である。異常の状態(xc,1)は、観測値yが異常値であると仮定して更新された状態である。また、観測k=2については、状態変数x、観測値y、及び後述する仮説統合部350による観測k=1についての統合結果に基づいて、正常の状態(xg,2)を表す仮説と、異常の状態(xc,1)を表す仮説とを生成する。正常の状態(xg,2)は、観測値yが正常値であると仮定して更新された状態である。異常の状態(xc,2)は、観測値yが異常値であると仮定して更新された状態である。
【0047】
具体的には、仮説生成部330は、インフォメーションフィルタを用いて、状態の更新を行う。インフォメーションフィルタでは、以下のように予測結果又は統合結果の変数を変換して更新処理を行う。
【数5】
【0048】
インフォメーションフィルタΩ及びξにおいて用いる予測結果又は統合結果は、以下の仮説の状態における確率分布の平均及び分散である。
【0049】
以下は、観測値が正常値であると仮定して更新された状態の仮説の導出である。
【数6】
【0050】
g|kは観測値が正常値の場合の仮説の状態における確率分布の平均であり、Vg|kは観測値が正常値の場合の仮説の状態における分散である。また、Rは観測誤差分散行列である。ここで、h()は以下のGPS観測モデルとし、Hは以下のGPS観測モデルのヤコビアンとする。
【数7】
【0051】
ここで、rは衛星とGPSセンサ200との距離、Iは電離層遅延、Tは対流圏遅延、Cは光速、fはL1ドップラーシフト周波数を表す。
【0052】
以下は、観測値が異常値であると仮定して更新された状態の仮説の導出である。
【数8】
【0053】
c|kは観測値が異常値の場合の仮説の状態における確率分布の平均であり、Vc|kは観測値が異常値の場合の仮説の状態における分散である。
【0054】
また、CANデータは異常値が無い観測値であるため、仮説生成部330は、CANデータが入力された場合には、入力された観測値及び状態予測部320による予測結果に基づいて、観測値が正常値であると仮定して更新された状態を表す仮説を生成する。
【0055】
具体的には、仮説生成部330は、状態予測部320によって予測された仮説の状態xにおける確率分布の平均及び分散

と、観測値yCANから、下記のように仮説が表す状態を更新する。
【0056】
【数9】
【0057】
そして、仮説生成部330は、生成した全ての仮説を、重み算出部340へ渡す。
【0058】
重み算出部340は、仮説生成部330によって生成された複数の仮説の各々について重みを算出する。仮説のうち、観測値が正常値であると仮定して更新された状態を表す仮説については、観測値が正常値である場合の観測分布に基づいて、仮説の重みを算出する。観測値が異常値であると仮定して更新された状態を表す仮説については、観測値が異常値である場合の観測分布に基づいて仮説の重みを算出する。具体的には、以下のように、観測kについて、観測値が正常値である場合の観測分布として正規分布を用い、観測値が異常値である場合の観測分布としてコーシー分布を用いて、それぞれの仮説の重みを算出する。
【数10】
【0059】
が、観測値が正常値であると仮定して更新された状態を表す仮説の重み、pが、観測値が異常値であると仮定して更新された状態を表す仮説の重みである。eは、GPSデータとGPS衛星の観測モデルとの差である。werrは、異常値である観測値の重み係数を表す定数である。
【0060】
図3は、観測値が正常値である場合の観測分布と観測値が異常値である場合の観測分布とを示している。図3に示すように、観測値が正常値である場合の観測分布では、中心付近での値の確率密度が高い。一方、観測値が異常値である場合の観測分布では、中心より離れた値の確率密度が比較的高い。
【0061】
すなわち、重み算出部340は、観測分布から得られる確率密度を用いて、仮説の重みを算出する。
【0062】
ここでは、観測値が正常値である場合の観測分布を正規分布としてモデル化し、観測値が異常値である場合の観測分布をコーシー分布としてモデル化しているが、観測値が異常値である場合の観測分布が、観測値が正常値である場合の観測分布よりも裾の重い分布であれば、他の分布を用いてモデル化してもよい。
【0063】
また、重み算出部340は、CANデータが入力された場合には、観測値が正常値である場合の観測分布(正規分布)を用いて、各仮説の重みを算出する。
【0064】
仮説統合部350は、仮説生成部330によって生成された仮説の各々を統合することにより推定対象の状態を推定する。統合においては、以下の導出のように、観測kについて、重み算出部340で算出した仮説の各々の重みを用いて、仮説を統合する。
【数11】
【0065】
観測k=1については、状態(xg,1)の仮説、及び状態(xc,1)の仮説を統合した状態(x)の仮説を生成する。観測k=2については、状態(xg,2)の仮説、及び状態(xc,2)の仮説を統合した状態(x)の仮説を生成する。
【0066】
状態推定装置300では、仮説生成部330、重み算出部340、及び仮説統合部350において、観測k=1及びk=2を順に処理することにより、推定対象の状態を推定する。仮説統合部350は、観測k=1についての統合結果(x)を状態生成部330に送る。当該統合結果(x)は、次に処理する観測k=2の仮説の生成に用いる。また、CANデータを受信した場合の観測が行われた場合には、仮説の数は増減しないため、仮説統合部350は、仮説の統合を行わない。また、次の観測で用いるために、観測k=2についての統合結果(x)を状態予測部320に送る。当該統合結果(x)は、現時点での観測の推定結果として、次の観測における状態の予測に用いる。
【0067】
そして、出力部360は、仮説統合部350の統合結果により推定した状態xに含まれる自車両の位置(緯度・経度)を出力する。
【0068】
図4は、状態推定装置300のハードウェア構成を示すブロック図である。
【0069】
図4に示すように、状態推定装置300は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
【0070】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、状態推定プログラムが格納されている。
【0071】
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0072】
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
【0073】
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能してもよい。
【0074】
通信インタフェース17は、端末等の他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0075】
次に、図5を参照して、本実施形態の状態推定装置300の状態推定処理ルーチンについて説明する。
【0076】
まず、ステップS100において、観測値受信部310は、CANデータを受信したか否かを判定する。
【0077】
CANデータを受信していた場合(ステップS100のYES)、ステップS102において、状態予測部320が、推定対象の状態を表す仮説の各々について、受信したCANデータの観測時点における、当該仮説が表す状態を予測する。
【0078】
ステップS104において、受信したCANデータの観測値yCANと、上記ステップS102による予測結果とに基づいて、仮説の各々の状態を更新する状態更新処理を行う。当該状態更新処理において状態を推定し、推定した状態に含まれる自車両の位置を出力して、ステップS100に戻る。
【0079】
CANデータを受信していない場合(ステップS100のNO)、ステップS106において、観測値受信部310は、GPSデータを受信したか否かを判定する。ここでのGPSデータは、同時に観測された観測値の各々とする。
【0080】
ステップS108において、観測値受信部310は、同時に観測された観測値の各々を入力として、観測をそれぞれk=1、k=2として識別する。
【0081】
ステップS110において、状態予測部320は、推定対象の状態を表す仮説の各々について、受信したGPSデータの観測時点における、当該仮説が表す状態を予測する。
【0082】
ステップS112において、観測の各々について、状態変数xと、GPSデータの観測値ysat(y,y)と、予測結果とに基づいて、仮説の各々の状態を更新し、統合する状態更新統合処理を行う。状態更新統合処理により得られた最終的な統合結果を、推定した状態に含まれる自車両の位置として出力して、ステップS100に戻る。
【0083】
また、GPSデータを受信していない場合(ステップS106のNO)、再度ステップS100に戻り、CANデータ又はGPSデータを受信するまで、観測値受信部310は、待機する。
【0084】
また、上記ステップS104は、図6に示すCANデータによる状態更新処理ルーチンによって実現される。
【0085】
ステップS200において、仮説生成部330は、仮説の各々について、CANデータの観測値yCANと、上記ステップS102による予測結果とに基づいて、観測値yCANが正常値であると仮定して、当該仮説が表す状態を更新する。
【0086】
ステップS202において、重み算出部340は、上記ステップS200で更新された仮説の各々について、観測値yCANが正常値である場合の観測分布に基づいて、当該仮説の重みを算出する。
【0087】
ステップS204において、仮説統合部350は、上記ステップS200で更新された仮説について、仮説が表す状態と、仮説の重みとに基づいて、状態を推定する。
【0088】
また、上記ステップS112は、図7に示すGPSデータによる状態更新統合処理ルーチンにより実現される。
【0089】
ステップS300において、保存部322は、状態変数xを保存する。
【0090】
ステップS302において、仮説生成部330は、観測k=1と設定する。
【0091】
ステップS304において、仮説生成部330は、観測kについて、状態変数x、観測値(y)、及び予測結果(x)又は統合結果(x)に基づいて、正常の状態(xg,k)を表す仮説と、異常の状態(xc,k)を表す仮説とを生成する。
【0092】
ステップS306において、重み算出部340は、観測kについて、上記ステップS300によって生成された複数の仮説の各々について重みを算出する。仮説のうち、観測値yが正常値であると仮定して更新された状態を表す仮説については、観測値yが正常値である場合の観測分布に基づいて、仮説の重みを算出する。観測値yが異常値であると仮定して更新された状態を表す仮説については、観測値yが異常値である場合の観測分布に基づいて仮説の重みを算出する。
【0093】
ステップS308において、仮説統合部350は、観測kについて、ステップS304によって生成された仮説の各々を統合する。観測k=1については、状態(xg,1)の仮説、及び状態(xc,1)の仮説を統合した状態(x)の仮説を生成する。観測k=2については、状態(xg,2)の仮説、及び状態(xc,2)の仮説を統合した状態(x)の仮説を生成する。
【0094】
ステップS310において、仮説統合部350は、全ての観測kについて処理を終了したか否かを判定する。処理を終了した場合には状態更新統合処理ルーチンを終了し、処理を終了していない場合にはステップS312においてk=k+1とカウントアップしてステップS304に戻って処理を繰り返す。
【0095】
以下は、本実施形態の実験結果の一例を示した表である。表1は平均誤差[m]の測位精度、表2はRSME[m]による測位精度、表3は計算速度を示す。
【表1】

【表2】

【表3】
【0096】
比較に用いた参考文献は以下の通りである。
[参考文献1]D-UKF : Gaoge Hu et. al.,"A derivative UKF for tightly coupled INS/GPS integrated navigation",ISA Transactions, 56, pp.135-144, 2015.
[参考文献2]BA : Y. Kojima, T. Iwase, J. Meguro, and K. Takeyama. ”Development of a Novel Integrated Positioning System ”PRECISE” for ADAS Applications.” 19th ITS World Congress, 2012.
[参考文献3]GMR-MHT : S. Taguchi. T. Yoshimura, “Robust Bayesian Filtering for Positioning using GPS & INS in Multipath Environments.” IEEE/ION PLANS, 2018.
【0097】
以上説明したように、本開示の実施形態に係る状態推定システムによれば、複数の観測値が同時に観測された場合であっても、ロバストに状態を推定することができる。
【0098】
なお、本開示は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0099】
なお、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した状態推定処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、状態推定処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0100】
また、上記実施形態では、状態推定処理のプログラムがROMまたはストレージに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0101】
100 CAN受信機
200 GPSセンサ
300 状態推定装置
310 観測値受信部
320 状態予測部
322 保存部
330 仮説生成部
340 重み算出部
350 仮説統合部
360 出力部
図1
図2
図3
図4
図5
図6
図7