状態推定装置及びそのプログラム、並びに、統合状態推定システム及び統合状態推定装置
【課題】 複数の状態推定動作を並列動作させることで推定処理の高速性、信頼性、汎用性を高めた統合状態推定システムを提供する。
【解決手段】 統合状態推定システムSは、通信路(ネットワークN)を介して、複数の状態推定装置10を備え、各状態推定装置10が、それぞれ推定した観測対象の状態(状態量X)を送受信し合うことで状態量Xを統合し、少なくとも一つの状態推定装置10が、観測対象の状態を示す推定量Eを出力することを特徴とする。
【解決手段】 統合状態推定システムSは、通信路(ネットワークN)を介して、複数の状態推定装置10を備え、各状態推定装置10が、それぞれ推定した観測対象の状態(状態量X)を送受信し合うことで状態量Xを統合し、少なくとも一つの状態推定装置10が、観測対象の状態を示す推定量Eを出力することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、観測対象の観測量に基づいて、当該観測対象の状態量を推定する状態推定装置及びそのプログラム、並びに、統合状態推定システム及び統合状態推定装置に関する。
【背景技術】
【0002】
従来、観測対象の観測量から状態量を推定する手法として、カルマンフィルタによる推定手法が知られている。このカルマンフィルタは、複数の観測量を観測ベクトルとして一つにまとめ、観測時に混入する観測雑音の共分散行列とともにフィルタリング処理を行うことで、複数の観測量を融合して状態量を推定するものである。
【0003】
また、他の手法としては、コンデンセーション法をはじめとする、パーティクルフィルタによる推定手法が知られている(例えば、非特許文献1参照)。このパーティクルフィルタは、有限のパーティクル(複数のベクトルの集合)によって確率密度関数を表現し、この確率密度関数を用いて、時系列に入力される観測量から状態量を推定するものである。このパーティクルフィルタによれば、カルマンフィルタでは推定することができない非ガウス性雑音が混入する場合であっても、任意の非ガウシアンな確率密度関数によって、状態量を推定することができる。
さらに、このパーティクルフィルタを、推定量の分散によって適応的に切り替える手法も提案されている(特許文献1参照)。
【非特許文献1】M.Isard and A.Blake, CONDENSATION - Conditional Density Propagation for Visual Tracking, International Journal of Computer Vision, vol.29, no.1, pp.5-28(1998)
【特許文献1】特開2005−44352号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、前記した従来の状態推定手法によれば、複数の観測量をまとめて処理するため、装置内において処理が集中してしまう。このため、従来の手法を適用した状態推定装置において、本手法による処理は高速化を阻害する要因となっている。
また、従来の状態推定手法を適用した状態推定装置においては、処理が集中しているため、当該状態推定装置が故障した場合、状態推定動作が停止してしまう。このため、状態推定を安定して行うためには、同一の状態推定装置を複数動作させなければならず、システム全体として、高価なものとなってしまうという問題がある。
また、従来の状態推定手法を適用した状態推定装置では、予め定めた観測対象の観測量に基づいて状態を推定するため、観測対象や推定を行う対象を変更することが容易ではなく、汎用性に欠けるといった問題がある。
【0005】
本発明は、以上のような問題点に鑑みてなされたものであり、複数の状態推定動作を並列動作させることで推定処理の高速性、信頼性、汎用性を高めた状態推定装置及びそのプログラム、並びに、統合状態推定システム及び統合状態推定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載の状態推定装置は、観測対象の観測量に基づいて、当該観測対象の状態を示す状態量を推定する状態推定装置において、状態量記憶手段と、状態更新手段と、状態受信手段と、状態統合手段と、状態送信手段とを備える構成とした。
【0007】
かかる構成において、状態推定装置は、状態更新手段によって、外部から入力された観測量により、状態量記憶手段に記憶する状態量(内部状態量)を更新する。これによって、観測量に基づいて、逐次内部状態量が更新されることになる。なお、状態量の更新は、一般的なカルマンフィルタや拡張カルマンフィルタの観測更新方程式により更新することとしてもよいし、シーケンシャルモンテカルロ法により状態量を状態ベクトルの集合として更新することとしてもよい。
【0008】
また、状態推定装置は、状態受信手段によって、通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信し、状態統合手段によって、外部状態量と状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する。これによって、状態推定装置は、他の状態推定装置において推定された状態量を取り込み、利用することができる。なお、状態量の統合とは、複数の状態推定装置に分散して記憶されている状態量を1つの状態量にまとめて加工することであって、例えば、複数の状態量の平均値をとることで新たな状態量としてもよいし、予め定めた確率分布となるように、それぞれの状態量を選択することで新たな状態量としてもよい。
また、状態推定装置は、状態送信手段によって、状態量記憶手段に記憶されている内部状態量を他の状態推定手段に送信する。これによって、状態推定装置は、自身が推定した状態量を、他の状態推定装置に利用させることが可能になる。
【0009】
また、請求項2に記載の状態推定装置は、請求項1に記載の状態推定装置において、前記状態量記憶手段が、複数の前記内部状態量を時刻に対応付けて記憶する構成とした。
【0010】
かかる構成において、状態推定装置は、内部状態量を時刻に対応付けて状態量記憶手段に記憶することで、他の状態推定装置から送信される状態量と内部で記憶する状態量とを時刻によって対応付けることができる。
【0011】
さらに、請求項3に記載の状態推定装置は、請求項2に記載の状態推定装置において、状態予測手段を備える構成とした。
【0012】
かかる構成において、状態推定装置は、状態予測手段によって、状態量記憶手段に記憶されている複数の内部状態量に基づいて、ある時刻における状態量を予測する。なお、状態量の予測については、一般的な状態遷移方程式あるいは現在の状態と未来の状態との間の遷移確率により予測することができる。
【0013】
また、請求項4に記載の統合状態推定システムは、観測対象の観測量に基づいて、通信路に接続された複数の状態推定装置により、当該観測対象の状態を示す状態量を統合して推定する統合状態推定システムであって、状態推定装置が、状態量記憶手段と、状態受信手段と、状態統合手段と、状態送信手段とを備え、前記複数の状態推定装置の少なくとも一つが状態更新手段を備え、さらに、前記複数の状態推定装置の少なくとも一つが推定量出力手段を備える構成とした。
【0014】
かかる構成において、統合状態推定システムは、当該システムを構成する状態推定装置が、状態量記憶手段に観測対象の状態量を内部状態量として記憶する。そして、状態推定装置は、状態受信手段によって、通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信し、状態統合手段によって、外部状態量と状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する。また、状態推定装置は、状態送信手段によって、状態量記憶手段に記憶されている内部状態量を他の状態推定装置に送信する。このように、統合状態推定装置システムは、各状態推定装置において、状態量を送受信することで、統合することができる。
【0015】
なお、状態量の更新は、複数の状態推定装置の少なくとも一つが、状態更新手段によって、外部から入力された観測量により、状態量記憶手段に記憶する状態量(内部状態量)を更新することで行う。この状態更新手段の数は、観測量の数に基づいて決定されるものであって、少なくとも観測量の数が一つである場合は、複数の状態推定装置の中の一つに備えられればよい。
そして、複数の状態推定装置の少なくとも一つが、推定量出力手段によって、状態量記憶手段に記憶されている内部状態量を推定量として出力する。
【0016】
さらに、請求項5に記載の統合状態推定装置は、観測対象の観測量に基づいて、当該観測対象の状態を示す状態量を統合して推定する統合状態推定装置であって、前記状態量を推定する状態推定手段を複数備え、前記状態推定手段が、状態量記憶手段と、状態受信手段と、状態統合手段と、状態送信手段とを備え、前記複数の状態推定手段の少なくとも一つが状態更新手段を備え、さらに、前記複数の状態推定手段の少なくとも一つが推定量出力手段を備える構成とした。
【0017】
かかる構成において、統合状態推定装置は、状態推定手段が状態量記憶手段に観測対象の状態量を内部状態量として記憶する。そして、状態推定手段は、状態受信手段によって、通信路に接続された他の状態推定手段において記憶されている状態量を外部状態量として受信し、状態統合手段によって、外部状態量と状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する。また、状態推定手段は、状態送信手段によって、状態量記憶手段に記憶されている内部状態量を他の状態推定装置に送信する。このように、統合状態推定装置は、各状態推定手段において、状態量を送受信することで、統合することができる。
【0018】
なお、状態量の更新は、複数の状態推定手段の少なくとも一つが、状態更新手段によって、外部から入力された観測量により、状態量記憶手段に記憶する状態量(内部状態量)を更新することで行う。そして、複数の状態推定手段の少なくとも一つが、推定量出力手段によって、状態量記憶手段に記憶されている内部状態量を推定量として出力する。
【0019】
また、請求項6に記載の状態推定プログラムは、観測対象の観測量に基づいて、通信路に接続された複数の状態推定装置により、当該観測対象の状態を示す状態量を統合して推定するために、前記状態推定装置におけるコンピュータを、状態更新手段、状態受信手段、状態統合手段、状態送信手段、推定量出力手段として機能させる構成とした。
【0020】
かかる構成において、状態推定プログラムは、状態更新手段によって、外部から入力された観測量により、状態量記憶手段に記憶する状態量(内部状態量)を更新する。そして、状態推定プログラムは、状態受信手段によって、通信路に接続された他の状態推定手段において記憶されている状態量を外部状態量として受信し、状態統合手段によって、外部状態量と状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する。
また、状態推定プログラムは、状態送信手段によって、状態量記憶手段に記憶されている内部状態量を他の状態推定手段に送信する。また、状態推定プログラムは、推定量出力手段によって、状態量記憶手段に記憶されている内部状態量を推定量として出力する。
【発明の効果】
【0021】
本発明は、以下に示す優れた効果を奏するものである。
請求項1、請求項4又は請求項6に記載の発明によれば、複数の状態推定装置において推定される状態量を統合して観測対象の状態を推定することができる。これによって、推定処理を複数の状態推定装置に分散させることで、並列動作が可能となり、推定動作の高速化を図ることができる。また、本発明によれば、複数の状態推定装置のいずれかに障害が発生した場合であっても、他の状態推定装置における状態量を統合することで、状態推定のサービスを継続することができる。また、本発明によれば、状態推定装置単位で交換等が可能であるため、新しい観測量に基づいて状態を推定する場合であっても、その追加、変更が容易であり、システム全体の汎用性を高めることができる。
【0022】
請求項2に記載の発明によれば、他の状態推定装置から送信される状態量と内部で記憶している状態量とを時刻によって対応付けているため、状態量の時刻同期をとることができる。これによって、状態推定装置間で推定する状態の時刻を一致させることができるため、時刻のずれがなくなり、状態推定の精度を高めることができる。
【0023】
請求項3に記載の発明によれば、観測量が入力されない時点においても、状態を推定し、その推定量を出力することが可能になり、安定して状態推定を行うことができる。
請求項5に記載の発明によれば、複数の状態推定手段において推定される状態量を統合して観測対象の状態を推定することができる。これによって、並列動作が可能になり、推定動作の高速化を図ることができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の実施の形態について図面を参照して説明する。
[統合状態推定システムの概要]
最初に、図1を参照して、統合状態推定システムの構成について説明する。図1は、本発明に係る統合状態推定システムの全体の構成を示す全体構成図である。
図1に示すように、統合状態推定システムSは、通信路(ネットワークN)を介して、複数の状態推定装置10を接続し、各状態推定装置10で推定される観測対象の状態(状態量)を統合して、所望の状態量を推定し、推定値として出力するものである。
【0025】
状態推定装置10は、外部から入力される観測量Yに基づいて、観測対象の状態(状態量X)を推定するとともに、他の状態推定装置が推定した状態量と統合するものである。なお、状態推定装置10は、いずれか一つが観測量Yを入力すればよく、また、いずれか一つが推定量Eを出力すればよい。例えば、状態推定装置103のように外部に推定量Eを出力しない形態、状態推定装置104のように外部から観測量Yを入力しない形態、状態推定装置105のように観測量Yの入力や推定量Eの出力を行わない形態であってもよい。
【0026】
なお、ここで、観測対象とは、動き、変動等の状態の変化を伴うもの、あるいは、事象であって、動きを伴う人物、車両等や、変動を伴う株価等がその対象となりうる。例えば、状態推定装置10は、人物を観測対象として、複数の位置からカメラで撮影した画像における人物の位置を観測量とすることで、人物の3次元位置や、速度等を推定することができる。
【0027】
(状態量について)
ここで、統合状態推定システムSにおいて使用する状態量について説明する。
状態量は、観測対象の動き、変動等の状態を示すデータ量であって、例えば、観測対象の速度等である。この状態量は、例えば、一つのベクトル(以下、状態ベクトルという)により表現することができる。例えば、物体の3次元位置及び3次元速度からなる6次元ベクトル量、あるいは、天体の軌道6要素等のベクトル量を状態量とすることができる。
【0028】
また、例えば、状態量は、一つのベクトルと一つの行列との組により表現することができる。この場合、ベクトルは、先に説明した状態ベクトルと同様のものである。一方、行列は、状態ベクトルに含まれる誤差を表す共分散行列(以下、状態共分散行列という)により表現することができる。
【0029】
さらに、例えば、状態量は、複数のベクトルの集合(以下、パーティクルという)として表現することができる。なお、パーティクルを構成する個々のベクトルは、先に説明した状態ベクトルと同様のものである。例えば、個々のベクトルとして、3次元位置及び3次元速度からなる6次元ベクトルを用いることができる。
【0030】
(観測量について)
次に、統合状態推定システムSに入力される観測量について説明する。
観測量は、観測対象を観測した結果のデータ量であって、例えば、観測対象の2次元位置等である。この観測量は、例えば、一つのベクトル(以下、観測ベクトルという)により表現することができる。なお、複数のセンサ等によって多次元の観測結果が得られる場合は、各センサ等から得られるデータを行ベクトルとして多重化することで、一つのベクトルとして表現することができる。
【0031】
また、例えば、観測量は、観測ベクトルに加え、観測ベクトルの誤差や信頼度を表す量を付加することもできる。例えば、観測ベクトルの誤差を、共分散行列(以下、観測共分散行列という)により表現することができる。
さらに、例えば、観測量は、先に説明した状態ベクトルに対する確率密度として定義することとしてもよい。
【0032】
なお、状態ベクトル又は観測ベクトルにおいて、スカラ量を扱う場合は、これを1次元のベクトル量とみなすこととする。また、行列やテンソル量を扱う場合は、その各要素を予め定めた一定の規則により1次元に並べたものをもってベクトル量とみなすものとする。
【0033】
(システム例)
ここで、図2を参照して、統合状態推定システムの具体例であるカーナビゲーションシステムについて説明する。図2は、統合状態推定システムの具体例であるカーナビゲーションシステムの構成を示す全体構成図である。
カーナビゲーションシステムSNは、状態推定装置101〜103を、通信路(ネットワークN)を介して接続した構成となっている。このカーナビゲーションシステムSNは、自動車の3次元位置(例えば、緯度、経度及び高度)、速度ベクトル、姿勢角(例えば、ロール角、ピッチ角及びヨー角)、並びに、角速度ベクトルを状態量Xとする。
【0034】
ここで、状態推定装置101は、GPS(Global Positioning System)受信機2が観測した時刻データを観測量Y1として入力する。また、状態推定装置102は、車速パルス計測器3が観測した自動車車輪の車速パルスの時間間隔データを観測量Y2として入力する。さらに、状態推定装置103は、ジャイロセンサ4が観測した角加速度データを観測量Y3として入力する。
そして、例えば、状態推定装置101が、状態量Xから自動車の位置情報のみを抽出し、推定量Eとして出力する。
【0035】
このように、状態推定装置101〜103を通信路(ネットワークN)に接続することで、GPS受信機2、車速パルス計測器3、ジャイロセンサ4の各観測手段により観測された観測量Y1,Y2,Y3に基づく状態量Xが統合され、状態推定装置101において、自動車の位置を推定し、推定量Eとして出力することができる。
【0036】
以上、説明したように、ここでは、統合状態推定システムS(図1参照)やカーナビゲーションシステムSN(図2参照)を、ネットワークNに接続した複数の状態推定装置10で構成したが、各状態推定装置10を、一つの手段として内部構成に組み込んで、図3に示すように、各状態推定手段10をバスB等の通信路を介して接続することで、統合状態推定装置1として構成することとしてもよい。
すなわち、状態推定装置(状態推定手段)を接続する通信路は、LANケーブル、電話線、シリアルケーブル等のメタル線路や、光ファイバ、赤外線、無線回線、基板内の配線、基板間の配線、ICチップ内の配線等、任意の伝送媒体を用いることができる。また、通信路は、途中、交換機、ルータ、ハブ、リピータ等の中継装置を介しても構わない。
【0037】
以下、統合状態推定システムSを構成する状態推定装置10の内部構成について詳細に説明を行うが、図3に示した統合状態推定装置1における状態推定手段10においても、内部構成は同じ構成で実現することができる。
【0038】
[第1実施形態:状態推定装置(状態推定手段)の構成]
まず、図4を参照して、状態推定装置10の構成について説明する。図4は、本発明の第1実施形態に係る状態推定装置の内部構成を示すブロック構成図である。
状態推定装置(状態推定手段)10は、外部から入力される観測対象の観測量に基づいて、ネットワークNに接続した他の状態推定装置と協働して、観測対象の状態を示す状態量を推定するものである。ここでは、状態推定装置10は、状態量記憶手段11と、状態更新手段12と、状態受信手段13と、状態統合手段14と、状態送信手段15と、推定量出力手段16とを備えている。
【0039】
状態量記憶手段11は、観測対象の状態を示す状態量のうち、当該状態推定装置10内部で保持する状態量(内部状態量)を記憶するものであって、例えば、RAM(Random Access Memory)等である。
この状態量記憶手段11は、後記する状態更新手段12や状態統合手段14によって、状態量が読み出され、又は、書き込まれ、状態送信手段15や推定量出力手段16によって、読み出される。
【0040】
状態更新手段12は、外部から入力される観測量Yによって、状態量記憶手段11に記憶されている状態量を更新するものである。ここでは、状態更新手段12は、状態量記憶手段11から状態量(内部状態量XI)を読み出し、観測量Yによって状態量を更新し、その更新された状態量(観測後状態量XY)を内部状態量XIとして、状態量記憶手段11に書き込む。
なお、状態更新手段12は、観測量Yをそのまま観測後状態量XYとして状態量記憶手段11に書き込むこととしてもよいが、予め観測量Yにおけるノイズ、誤差等がモデル化されている場合は、そのモデルに基づいて、観測後状態量XYを算出し、更新することが状態推定の精度を高める上で望ましい。
以下、数式を用いて、状態更新手段12における状態量の更新手法について説明する。
【0041】
(状態量及び観測量がベクトルの場合)
まず、状態量(内部状態量XI)として状態ベクトルxI(すなわち、XI={xI})、観測量Yとして観測ベクトルy(すなわち、Y={y})を採用する場合における状態量の更新について説明する。なお、状態ベクトルxIから観測ベクトルyへの関数h及びノイズ(雑音)nにより、状態の更新が、以下の式(1)によりモデル化できるものとする。
【0042】
【数1】
【0043】
ここで、関数hに逆関数h−1が存在する場合には、適当な実数値α(望ましくは0≦
α≦1の実数値)を用いて、以下の式(2)により観測後の状態ベクトルxYを得ることができる。
【0044】
【数2】
【0045】
すなわち、観測後状態量XYは、XY={xY}である。なお、状態量記憶手段11から、状態ベクトルxIが読み出せなかった場合(存在しなかった場合)には、例えば、前記式(2)でαの値を“1”とした、xY=h−1(y)により観測後の状態ベクトルxYを求めることとしてもよい。
【0046】
(状態量及び観測量がベクトル及び共分散行列の場合)
次に、状態量(内部状態量XI)として状態ベクトルxI及び状態共分散行列PI(すなわち、XI={xI,PI})、観測量Yとして観測ベクトルyと観測共分散行列R(すなわち、Y={y,R})を採用する場合における状態量の更新について説明する。なお、状態ベクトルxIから観測ベクトルyへの関数h及びノイズ(雑音)nにより、状態の更新が、以下の式(3)によりモデル化することができるものとする。
【0047】
【数3】
【0048】
ここで、E[]は期待値、上付き添え字Tは転置を表している。
このとき、例えば、以下の式(4)に示す拡張カルマンフィルタの観測更新方程式によって、観測後状態量XY={xY,PY}を決定することができる。
【0049】
【数4】
【0050】
ここで、Kはフィルタ感度、Hは観測行列、上付き添え字Tは転置を表している。
なお、状態量記憶手段11から、状態ベクトルxIと状態共分散行列PIとが読み出せなかった場合(存在しなかった場合)には、例えば、xY=h−1(y)、PY=diag{λ1,λ2,…,λD}(ただし、diagは対角行列、λ1,λ2,…,λDは非負の実数、DはXYの次元とする)としてもよい。
【0051】
(状態量がパーティクル、観測量が確率密度関数の場合)
次に、状態量(内部状態量XI)としてパーティクル、観測量Yとして確率密度関数を採用する場合における状態量の更新について説明する。
まず、状態量記憶手段11から読み出される内部状態量XIに含まれる状態ベクトルの数をN個、各々の状態ベクトルをx(i)(ただし、i=1,2,…,N)とする。すなわち、XI={x(1),x(2),…,x(N)}とする。
【0052】
一方、観測量Yである確率密度関数は、引数を状態ベクトルxとし、Y(x)のように記述することとする。
最初に、状態更新手段12は、1≦i≦Nなるすべてのiに対して、観測量Y(x(i))に基づいて、以下の式(5)により、i番目の状態ベクトルが発生する確率p(i)を算出する。
【0053】
【数5】
【0054】
続いて、状態更新手段12は、観測後状態量XYに、確率p(i)の大きい状態ベクトルx(i)が多く含まれ、確率p(i)の小さい状態ベクトルx(i)が少なく含まれる(又は含まれない)ように、状態量を再編成(再サンプリング)する。なお、状態ベクトルx(i)をとるサンプル数は、精度を高めるため、確率p(i)に比例する頻度(個数)であることが望ましく、例えば、確率p(i)がp(1)=1/10、p(2)=6/10、p(3)=3/10で、状態量の総数が10個の場合、状態ベクトルx(1)を1個、状態ベクトルx(2)を6個、状態ベクトルx(3)を3個のように、状態量(パーティクル)を生成し直す。
例えば、状態更新手段12は、以下の手順により状態量を更新する。
まず、以下の式(6)に示すように、式(5)で示した確率p(i)を累積した累積確率a(i)を算出するとともに、観測後状態量XYを空集合(XY=φ)とする。
【0055】
【数6】
【0056】
続けて、状態更新手段12は、以下の式(7)に示すように、0<r≦1なる一様乱数rを生成する。
【0057】
【数7】
【0058】
さらに、状態更新手段12は、以下の式(8)に示すように、累積確率a(i)≧rを満たし、かつ、累積確率a(i)が最小となる配列引数iを探索し、これをjとおく。
【0059】
【数8】
【0060】
そして、状態更新手段12は、以下の式(9)に示すように、観測後状態量XYに状態ベクトルx(j)を含める。
【0061】
【数9】
【0062】
そして、状態更新手段12は、前記した式(7)〜式(9)の処理を所定回数(例えば、内部状態量XIに含まれる状態ベクトルの数と同じN回)繰り返す。これによって、観測後状態量XYにおいて、パーティクルの頻度によって、確率密度関数が近似表現されることになる。
なお、状態量記憶手段11から、内部状態量XIが読み出せなかった場合(存在しなかった場合)には、例えば、状態更新手段12は、状態ベクトルを乱数によりN個生成し、これらをまとめたものを観測後状態量XYとする。また、このときの乱数は、確率密度関数Y(x)に従うこととしてもよい。
図4に戻って、状態推定装置10の構成について説明を続ける。
【0063】
状態受信手段13は、ネットワークNに接続された他の状態推定装置が保持し、当該他の状態推定装置から送信される状態量(受信状態量XR;外部状態量)を受信するものである。この受信した受信状態量XRは、状態統合手段14に出力される。
ここで、他の状態推定装置は、状態量(受信状態量XR)を含んだメッセージを、ネットワークNを経由して送信する。なお、このメッセージには、送信元に関する情報(例えば、IPアドレス等)を含めることとしてもよい。
【0064】
状態統合手段14は、状態受信手段13で受信した状態量(受信状態量XR)と、状態量記憶手段11に記憶されている状態量(内部状態量XI)とを統合し統合状態量XJを生成するものである。この統合状態量XJは、内部状態量XIとして状態量記憶手段11に記憶され、内部状態量XIが更新される。
なお、状態統合手段14は、状態量記憶手段11から内部状態量XIが読み出せなかった場合(存在しなかった場合)には、受信した状態量(受信状態量XR)をそのまま統合状態量XJとする。
以下、数式を用いて、状態統合手段14における状態量の統合手法について説明する。
【0065】
(状態量がベクトルの場合)
まず、状態量(内部状態量XI及び受信状態量XR)として、一つの状態ベクトルを採用する場合における状態量の統合について説明する。
状態量として状態ベクトルを採用する場合、状態統合手段14は、内部状態量XIの状態ベクトルをxI、受信状態量XRの状態ベクトルをxRとし、以下の式(10)により統合後の状態ベクトルxJを算出する。
【0066】
【数10】
【0067】
ここで、βは適当な実数値とし、望ましくは0≦β≦1の値をとるものとする。
なお、統合状態量XJは、XJ={xJ}である。
【0068】
(状態量がベクトル及び共分散行列の場合)
次に、状態量(内部状態量XI及び受信状態量XR)として、状態ベクトル及び状態共分散行列を採用する場合における状態量の統合について説明する。
状態量として、状態ベクトル及び状態共分散行列を採用する場合、状態統合手段14は、内部状態量XIの状態ベクトルxI及び状態共分散行列PIと、受信状態量XRの状態ベクトルxR及び状態共分散行列PRとに基づいて、統合状態量XJの状態ベクトルxJ及び状態共分散行列PJを以下に示す手順により算出する。
まず、状態統合手段14は、以下の式(11)に示すように、状態共分散行列PI及び状態共分散行列PRのi行i列成分を抽出し、それぞれvI(i)及びvR(i)とする(ただし、i=1,2,…,D;Dは状態ベクトルの次元数)。
【0069】
【数11】
【0070】
続いて、状態統合手段14は、以下の式(12)に示すように、状態ベクトルxI及び状態ベクトルxRのi行成分を抽出し、それぞれxI(i)及びxR(i)とする。
【0071】
【数12】
【0072】
そして、状態統合手段14は、前記式(11)で抽出したvI(i)及びvR(i)の大小に応じて、スカラ量xT(i)を、以下に示す式(13)により決定する。
【0073】
【数13】
【0074】
そして、状態統合手段14は、この式(13)で決定されたスカラ量xT(i)を、以下の式(14)に示すように、配列引数iについて配列することで、状態ベクトルxJを構成する。
【0075】
【数14】
【0076】
一方、状態統合手段14は、状態共分散行列PJを、以下の式(15)に示すように、前記式(11)で抽出したvI(i)及びvR(i)の小さい方を配列引数iについて並べた対角行列とする。
【0077】
【数15】
【0078】
なお、統合状態量XJは、XJ={xJ,PJ}である。
【0079】
(状態量がパーティクルの場合)
次に、状態量(内部状態量XI)としてパーティクルを採用する場合における状態量の統合について説明する。
状態量として、パーティクルを採用する場合、状態統合手段14は、内部状態量XI及び受信状態量XRの和集合(XI∪XR)に含まれる状態ベクトル“2N”個の中から、確率的にN´個の状態ベクトルを選択し、その選択されたN´個の状態ベクトルを統合状態量XJとする。なお、統合状態量XJに含まれる状態ベクトルの個数N´は、内部状態量XIの個数Nと同数であってもよい。
【0080】
ここでは、内部状態量XI及び受信状態量XRに含まれる状態ベクトルの数をN個とし、各々の状態ベクトルをxI(i)及びxR(i)(ただし、i=1,2,…,N)とする。すなわち、XI={xI(1),xI(2),…,xI(N)}、XR={xR(1),xR(2),…,xR(N)}とする。
まず、状態統合手段14は、統合状態量XJを空集合(XJ=φ)とする。
続けて、状態統合手段14は、以下の式(16)に示すように、0<r≦1なる一様乱数rを生成する。
【0081】
【数16】
【0082】
そして、状態統合手段14は、一様乱数rが予め定めた定数(閾値γ〔0<γ≦1の実数値〕)よりも大きいか小さいかによって、以下の式(17)に示すように、状態ベクトルxI(i)又はxR(i)を、統合状態量XJに含める。
【0083】
【数17】
【0084】
そして、状態統合手段14は、前記した式(16)及び式(17)の処理を状態ベクトルの回数(N)分繰り返す。これによって、内部状態量XI及び受信状態量XRに含まれる状態ベクトルから確率的に選択された状態ベクトル群により統合状態量XJを構成することができる。このとき、例えば、閾値γを“0.5”とすると、内部状態量XI及び受信状態量XRから同等の確率で状態ベクトルが選択されることになる。また、γの値が大きいほど、内部状態量XIに比べて、受信状態量XRを重視することができる。
図4に戻って、状態推定装置10の構成について説明を続ける。
【0085】
状態送信手段15は、状態量記憶手段11に記憶されている状態量(内部状態量XI)を読み出して、ネットワークNに接続された他の状態推定装置に送信するものである。
なお、状態送信手段15は、状態量(内部状態量XI)を含んだメッセージを他の状態推定装置に送信する際に、送信先や送信元を示すアドレス情報(IPアドレス等)を含めることとしてもよい。
また、状態量がまだ記憶されていない等の理由によって、状態量記憶手段11から状態量(内部状態量XI)を読み出せない場合、状態送信手段15は、送信を行わないこととしてもよいし、送信不可能であるというメッセージを送信することとしてもよい。
また、状態送信手段15は、定期的に内部状態量XIを送信することとしてもよいし、他の状態推定装置からの要求に基づいて送信することとしてもよい。
【0086】
推定量出力手段16は、状態量記憶手段11に記憶されている状態量(内部状態量XI)を読み出して、推定量Eとして外部に出力するものである。
なお、推定量出力手段16は、内部状態量XIをそのまま推定量Eとして出力することとしてもよいし、一部の状態量のみを出力したり、状態量に所定の変換を施して出力したりすることとしてもよい。
【0087】
例えば、状態量が状態ベクトルである場合、推定量出力手段16は、状態ベクトルの一部成分を抽出して、推定量Eを新たなベクトル量やスカラ量とすることができる。具体的には、状態ベクトルが3次元位置及び3次元速度で構成される場合に、3次元位置のみを推定量Eとする。あるいは、推定量出力手段16は、状態ベクトルに演算処理、例えば、線形変換を施した結果を推定量Eとして出力することとしてもよい。
【0088】
また、例えば、状態量がパーティクルの場合、推定量出力手段16は、パーティクルを構成する一部の状態ベクトルを取り出して推定量Eとすることができる。あるいは、推定量出力手段16は、パーティクルを構成する状態ベクトルすべてについて平均ベクトルを算出し、推定量Eとして出力することとしてもよい。
なお、状態量がまだ記憶されていない等の理由によって、状態量記憶手段11から状態量(内部状態量XI)を読み出せない場合、推定量出力手段16は、推定量Eを出力しないこととしてもよいし、出力することができない旨を出力することとしてもよい。
【0089】
以上、状態推定装置10の構成について説明したが、本発明はこの構成に限定されるものではない。例えば、推定量Eの出力を他の状態推定装置で行うこととし、状態推定装置10からは出力を行わない構成としてもよい。この場合、状態推定装置10の構成から推定量出力手段16を省略することができる。また、外部からの観測量Yの入力を他の状態推定装置で行うこととし、状態推定装置10では入力を行わない構成としてもよい。この場合、状態推定装置10の構成から状態更新手段12を省略することができる。
【0090】
また、図5に示すように、状態更新手段12を外部の観測装置20に備え、状態更新手段12を状態推定装置10から省略し、データの入出力のみを行う入出力手段17を備えた状態推定装置10Bの構成としてもよい。例えば、観測装置20は、図示を省略したセンサ等を備えた位置観測手段と、状態更新手段12とを備えている。そして、観測装置20の状態更新手段12が、位置観測手段(図示せず)により観測した結果である観測対象の位置(観測量)に基づいて状態量(観測後状態量XY)を算出し、状態量記憶手段11に記憶されている内部状態量XIを更新することとしてもよい。
【0091】
この場合、観測装置20は、観測後状態量XYとともに、観測後状態量XYに対する評価値を状態推定装置10Bに出力することとしてもよい。例えば、観測装置20は、センサであるカメラによって入力した画像に観測対象が存在するか(撮影されているか)否かを判定し、存在すると判定した場合は評価値に高い値を、存在しないと判定した場合は評価値に低い値を設定する。この評価値を参照することで、状態推定装置10Bは、状態統合手段14において、状態量の統合を行う際に、内部状態量XIと受信状態量XRとの統合の度合いを決定することとしてもよい。
【0092】
また、状態推定装置10(10B)は、一般的なコンピュータを、前記した各手段として機能させることで実現することができる。このプログラム(状態推定プログラム)は、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
【0093】
以上説明したように、状態推定装置10(10B)は、他の状態推定装置で推定した状態量と、当該状態推定装置10で推定した状態量とを統合し、観測対象の状態を推定することができる。これによって、状態推定装置10は、他の状態推定装置と協働し、状態の推定を分散して行うことができる。また、例えば、他の状態推定装置に状態推定装置10と共通の状態量を記憶させておくことで、状態推定装置10に障害が発生した場合であっても、状態の推定を継続することが可能になる。
【0094】
[第1実施形態:状態推定装置(状態推定手段)の動作]
次に、図6〜図8を参照して、状態推定装置10の動作について説明する。図6は、状態推定装置の全体動作を示すフローチャートである。図7は、状態推定装置における状態更新手段の動作を示すフローチャートである。図8は、状態推定装置における状態統合手段の動作を示すフローチャートである。
【0095】
(全体動作)
まず、図6を参照(適宜図4参照)して、状態推定装置10の動作について説明する。
状態推定装置10は、状態更新手段12によって、外部から観測量Yが入力されたか否かを判定する(ステップS1)。そして、観測量Yが入力された場合(ステップS1でYes)、状態更新手段12は、観測量Yによって、状態量記憶手段11に記憶されている内部状態量XIを更新する(ステップS2)。なお、このステップS2における内部状態量更新処理の詳細については、図7を参照して後で説明を行うこととする。一方、観測量Yが入力されなかった場合(ステップS1でNo)、状態更新手段12は、そのままステップS3の動作に進む。
【0096】
また、状態推定装置10は、状態統合手段14によって、状態受信手段13において、ネットワークNに接続された他の状態推定装置から状態量(受信状態量XR)を受信したか否かを判定する(ステップS3)。そして、受信状態量XRを受信した場合(ステップS3でYes)、状態統合手段14は、受信状態量XRと状態量記憶手段11に記憶されている内部状態量XIとを統合する(ステップS4)。なお、このステップS4における内部状態量統合処理の詳細については、図8を参照して後で説明を行うこととする。一方、受信状態量XRが受信されなかった場合(ステップS3でNo)、状態統合手段14は、そのままステップS5の動作に進む。
【0097】
そして、状態推定装置10は、状態送信手段15によって、状態量記憶手段11に記憶されている内部状態量XIの一部又は全部を読み出して、送信状態量XSとして、ネットワークNに接続された他の状態推定装置に送信する(ステップS5)。なお、状態送信手段15は、状態量記憶手段11から内部状態量XIが読み出せない場合、送信を行わない、又は、送信不可能であるというメッセージを送信する。
また、状態推定装置10は、推定量出力手段16によって、状態量記憶手段11に記憶されている内部状態量XIを読み出して、推定量Eとして外部に出力する(ステップS6)。なお、推定量出力手段16は、一部の内部状態量XIのみを出力したり、内部状態量XIに所定の変換を施して出力したりすることとしてもよい。
【0098】
以上、状態推定装置10の動作について説明したが、本動作はこの手順に限定されるものではない。ここでは、説明の都合上時系列に動作の説明を行ったが、内部状態量更新処理(ステップS2)や内部状態量統合処理(ステップS4)を並列に動作させることとしてもよいし、観測量Yの入力や受信状態量XRの受信が不規則に入力される場合は、そのタイミングに合わせて動作することとしてもよい。
【0099】
(内部状態量更新処理)
次に、図7を参照(適宜図4参照)して、状態推定装置10の状態更新手段12における状態量更新処理の動作について説明する。なお、本動作は、図6のステップS2の動作に相当する。また、ここでは、状態量更新処理の一例として、状態量がパーティクル、観測量が確率密度関数である場合の動作について説明する。
【0100】
まず、状態更新手段12は、状態量記憶手段11に内部状態量XI(XI={x(1),x(2),…,x(N)})が記憶されているか否かを判定する(ステップS20)。そして、内部状態量XIが記憶されている場合(ステップS20でYes)、状態更新手段12は、内部状態量XIに含まれるN個の状態ベクトルx(i)(ただし、i=1,2,…,N)に対して、観測量Y(x(i))に基づいて、状態ベクトルが発生する確率p(i)を算出する(ステップS21:前記式(5)参照)。さらに、状態更新手段12は、ステップS21で算出した確率p(i)をi番目まで累積した累積確率a(i)を、iごとにN個分算出する(ステップS22)。
【0101】
ここで、状態更新手段12は、観測後の状態量(観測後状態量XY)を空集合(XY=φ)、ループ回数に用いる変数mを“1”にそれぞれ初期化する(ステップS23)。
そして、状態更新手段12は、0<r≦1なる実数値の一様乱数rを生成し(ステップS24)、ステップS22で算出した累積確率a(i)の中でa(i)≧rを満たし、かつ、a(i)が最小となる配列引数iを探索しjとする(ステップS25)。続けて、状態更新手段12は、ステップS25で探索された配列引数jに対応する状態ベクトルx(j)を、観測後状態量XYに追加する(ステップS26)。
【0102】
その後、状態更新手段12は、ループ回数の変数mをインクリメント(+1)し(ステップS27)、変数mの値がN以下である場合(ステップS28でYes)、ステップS24に戻って動作を続ける。一方、変数mの値がNを超過した場合(ステップS28でNo)、動作を終了する。
なお、ステップS20において、状態量記憶手段11に内部状態量XIが記憶されていない場合(ステップS20でNo)、状態更新手段12は、状態ベクトルを乱数によりN個(r1,r2,…,rN)生成することで、観測後状態量XYを生成し(ステップS29)、動作を終了する。
以上の動作を行うことで、状態更新手段12は、状態量記憶手段11に記憶されている内部状態量XIを、確率の高いパーティクルをより高頻度にした確率密度関数の近似によって表現することができる。
【0103】
(内部状態量統合処理)
次に、図8を参照(適宜図4参照)して、状態推定装置10の状態統合手段14における内部状態量統合処理の動作について説明する。なお、本動作は、図6のステップS4の動作に相当する。また、ここでは、内部状態量統合処理の一例として、状態量がパーティクルである場合の動作について説明する。
なお、内部状態量XI及び受信状態量XRに含まれる状態ベクトルの数をN個とし、各々の状態ベクトルをxI(i)及びxR(i)(ただし、i=1,2,…,N)とする。すなわち、XI={xI(1),xI(2),…,xI(N)}、XR={xR(1),xR(2),…,xR(N)}とする。
【0104】
まず、状態統合手段14は、統合後の状態量(統合状態量XY)を空集合(XY=φ)、ループ回数に用いる変数mを“1”にそれぞれ初期化する(ステップS40)。
そして、状態統合手段14は、0<r≦1なる実数値の一様乱数rを生成し(ステップS41)、その一様乱数rが予め定めた定数(閾値γ〔0<γ≦1の実数値〕)以下であるか否かを判定する(ステップS42)。
【0105】
ここで、一様乱数rが閾値γ以下の場合(ステップS42でYes)、状態統合手段14は、統合状態量XJに、受信状態量XRに含まれるm番目の状態ベクトルxR(m)を追加する(ステップS43)。一方、一様乱数rが閾値γ未満の場合(ステップS42でNo)、状態統合手段14は、統合状態量XJに、内部状態量XIに含まれるm番目の状態ベクトルxI(m)を追加する(ステップS44)。
その後、状態統合手段14は、ループ回数の変数mをインクリメント(+1)し(ステップS45)、変数mの値がN以下である場合(ステップS46でYes)、ステップS41に戻って動作を続ける。一方、変数mの値がNを超過した場合(ステップS46でNo)、動作を終了する。
【0106】
以上の動作を行うことで、状態統合手段14は、内部状態量XI及び受信状態量XRに含まれる状態ベクトルから、予め定めた閾値γを基準として選択された状態ベクトル群により統合状態量XJを構成することができる。すなわち、閾値γによって、内部状態量又は受信状態量のいずれを重視するのかを設定することができる。
【0107】
[第2実施形態:状態推定装置(状態推定手段)の構成]
次に、図9を参照して、状態推定装置の他の構成について説明する。図9は、本発明の第2実施形態に係る状態推定装置の内部構成を示すブロック構成図である。
状態推定装置10Cは、外部から入力される観測対象の観測量に基づいて、ネットワークNに接続した他の状態推定装置と協働して、観測対象の状態を示す状態量を推定するものである。なお、状態推定装置10Cは、複数の時点における状態量(内部状態量)を保持することで、複数の状態推定装置間での処理の違いや、観測時刻の違いに起因する時間ずれの影響を吸収する。ここでは、状態推定装置10Cは、状態量記憶手段11Cと、状態更新手段12Cと、状態受信手段13Cと、状態統合手段14Cと、状態送信手段15Cと、推定量出力手段16Cと、状態予測手段18とを備えている。
【0108】
状態量記憶手段11Cは、観測対象の状態を示す状態量のうち、当該状態推定装置10C内部で保持する状態量(内部状態量)を記憶するものである。なお、状態量記憶手段11Cは、複数の時点における内部状態量を記憶することが、状態量記憶手段11(図4)とは異なっている。
例えば、状態量記憶手段11Cには、時刻“0”から時刻“M−1”に対応したM個の要素を有する配列を確保する。
【0109】
ここで、状態量記憶手段11Cに対する書き込み又は読み出しを行う各手段(状態更新手段12C、状態統合手段14C、状態送信手段15C、推定量出力手段16C及び状態予測手段18)は、0≦t<Mなる整数値tで示される時刻における内部状態量XI(t)を参照する場合、M個の要素を有する配列のt番目の要素を参照すればよい。また、0≦t<Mなる整数値以外で時刻が示される場合は、状態量記憶手段11Cに対する書き込み時には動作を行わず、読み出し時には何も読み出さない(空集合φを読み出す)ものとする。
また、状態量記憶手段11Cは、M個の要素を有する配列を確保し、その各要素に時刻情報(時刻t)と内部状態量XI(t)とを記憶する構成としてもよい。
【0110】
ここで、図10を参照して、状態量記憶手段11Cに記憶されている内部状態量へのアクセス(読み出し/書き込み)手法について説明する。図10は、状態量記憶手段の記憶内容の一例を示すデータ構造図である。図10では、一例として、状態量記憶手段11Cに10個の要素を有する配列を確保し、アドレス0からアドレス9にそれぞれ時刻情報(時刻t)と内部状態量XI(t)とを対応付けて記憶している状態を示している。
まず、時刻tに内部状態量XI(t)を書き込む手法について説明する。
ここで、時刻tを配列の要素数Tで除算した場合の剰余をアドレスA(A番目のアドレス)とする。すなわち、アドレスAは、以下の式(18)により算出される。
【0111】
【数18】
【0112】
ここで、演算子%は剰余を示し、t%MはtをMで除算した剰余を表すものとする。
このように算出されたアドレスAに対して、時刻tと内部状態量XI(t)との対を書き込むこととする。
例えば、図10に示すように、時刻t=“1025”に内部状態量XI(1025)を書き込む場合、前記式(18)により、アドレスA=“1025%10”=“5”を得る。そこで、アドレスA=“5”に対し、t=“1025”なる時刻情報と、t=“1025”における内部状態量XI(1025)との対を書き込む。
【0113】
次に、時刻tに内部状態量XI(t)を読み出す手法について説明する。なお、アドレスは、前記式(18)により算出される。
ここで、アドレスA(A番目のアドレス)には、時刻τが時刻情報として書き込まれているとする。もし、τ=tであれば、アドレスAに書き込まれている状態量は所望の時刻tにおける内部状態量XI(t)であるため、そのまま内部状態量XI(t)を読み出せばよい。もし、τ≠tであれば、アドレスAに書き込まれている状態量は所望の時刻tにおけるものではないため、例えば、読み出しデータを空集合φとする。
【0114】
例えば、図10に示すように、時刻t=“1032”の内部状態量XI(1032)を読み出す場合、前記式(18)により、アドレスA=“1032%10”=“2”を得る。そして、アドレスA=“2”に書き込まれている時刻情報(時刻τ)を読み出す。この場合、τ=“1032”である。すなわち、τ=t=“1032”であるため、アドレスA=“2”に書き込まれている状態量は所望の時刻t=“1032”における内部状態量XI(1032)であると判断することができ、このアドレスA=“2”に書き込まれている内部状態量XI(1032)を読み出せばよい。
【0115】
また、時刻t=“1033”の内部状態量XI(1033)を読み出す場合、前記式(18)により、アドレスA=“1033%10”=“3”を得る。そして、アドレスA=“3”に書き込まれている時刻情報(時刻τ)を読み出す。この場合、τ=“1023”である。すなわち、τ≠t=“1033”であるため、アドレスA=“3”に書き込まれている状態量は所望の時刻t=“1033”における内部状態量XI(1033)ではないと判断することができる。そこで、読み出しデータを空集合φとする。
これによって、時刻tの内部状態量XI(t)の読み出し/書き込みにおける時刻のずれを防止することができる。
図9に戻って、状態推定装置10Cの構成について説明を続ける。
【0116】
状態更新手段12Cは、外部から入力される時刻tYの観測量Y(tY)によって、状態量記憶手段11Cに記憶されている内部状態量XI(tY)を更新するものである。
状態受信手段13Cは、ネットワークNに接続された他の状態推定装置が保持し、当該他の状態推定装置から送信される時刻tRの受信状態量XR(tR)を受信し、状態統合手段14Cに出力するものである。
【0117】
状態統合手段14Cは、状態受信手段13Cで受信した時刻tRの受信状態量XR(tR)と、状態量記憶手段11Cに記憶されている時刻tRの内部状態量XI(tR)とを統合し時刻tRの統合状態量XJ(tR)を生成するものである。
状態送信手段15Cは、状態量記憶手段11Cに記憶されている、ある時刻tSの内部状態量XI(tS)を読み出して、ネットワークNに接続された他の状態推定装置に送信するものである。
【0118】
推定量出力手段16Cは、状態量記憶手段11Cに記憶されている、ある時刻tEの内部状態量XI(tE)を読み出して、推定量E(tE)として外部に出力するものである。
なお、状態更新手段12C、状態受信手段13C、状態統合手段14C、状態送信手段15C及び推定量出力手段16Cは、時刻(時刻tY、時刻tR、時刻tS及び時刻tE)に基づいて動作し、内部状態量XI(t)の更新等を行うとともに、その時刻に同期した制御信号を状態予測手段18に出力することを除き、図4で説明した状態更新手段12、状態受信手段13、状態統合手段14、状態送信手段15及び推定量出力手段16と同一の機能を有しているため、各機能については説明を省略する。
【0119】
状態予測手段18は、制御信号で通知されるタイミングに基づいて、ある時刻tPにおける状態量(予測状態量)XP(tP)を予測するものである。
ここで、状態予測手段18は、ある時刻tOにおける内部状態量XI(tO)と、ある時刻tPにおける内部状態量XI(tP)とを状態量記憶手段11Cから読み出し、予測処理を行うことで、時刻tPにおける予測状態量XP(tP)を予測し、内部状態量XI(tP)として状態量記憶手段11Cに書き込むこととする。
この状態予測手段18は、まず、時刻tOから時刻tPへの状態遷移を表す予め定めた変換則F(tO,tP;X)を用いて、以下の式(19)により、状態遷移後の状態量(遷移後状態量XQ(tP))を算出する。
【0120】
【数19】
【0121】
また、状態予測手段18は、算出した遷移後状態量XQ(tP)と、時刻tOにおける内部状態量XI(tO)とに基づいて、時刻tPにおける予測状態量XP(tP)を算出する。なお、遷移後状態量XQ(tP)と内部状態量XI(tO)とから予測状態量XP(tP)を算出する手法は、図4で説明した状態統合手段14と同様の手法を用いることができる。この場合、状態統合手段14における内部状態量XI、受信状態量XR及び統合状態量XJを、それぞれ内部状態量XI(tO)、遷移後状態量XQ(tP)及び予測状態量XP(tP)と読み替えればよく、説明を省略する。
【0122】
なお、状態予測手段18は、遷移後状態量XQ(tP)をそのまま予測状態量XP(tP)とすることとしてもよく、この場合は、状態予測手段18は、状態量記憶手段11Cから、時刻tOにおける内部状態量XI(tO)を読み出す必要はない。
【0123】
また、状態予測手段18は、例えば、状態統合手段14Cから制御信号として時刻tRが通知された場合、時刻tO=“tR”、時刻tP=“tR+1”として動作する。また、状態予測手段18は、時刻tO及び時刻tPを、(tO,tP)=(tR,tR±1),(tR,tR±2),…,(tR,tR±TR)のように、時刻tRの前後の時間TRにわたって適用することとしてもよい。
あるいは、状態予測手段18は、状態更新手段12Cの動作の直後、状態受信手段13Cの動作の前後、状態送信手段15Cの動作の直前、推定量出力手段16Cの動作の直前等、状態統合手段14Cと同様に、制御信号に基づいて動作を行うこととしてもよい。
また、状態予測手段18は、制御信号によらず、タイマ(図示せず)等に基づいて、時刻tO及び時刻tPを設定することとしてもよい。
以下、数式を用いて、前記式(19)における遷移後の状態量の演算について、さらに説明を付加することにする。
【0124】
(状態量がベクトルの場合)
まず、状態量(内部状態量XI)として、一つの状態ベクトルを採用する場合における遷移後状態量の演算について説明する。
この場合、状態予測手段18は、前記式(19)の変換則Fとして、単位時間あたりの状態遷移行列Φを用いることができる。
すなわち、内部状態量XI(tO)を表す状態ベクトルをxI(tO)としたとき、状態遷移後の状態量である遷移後状態量XQ(tP)を表す状態ベクトルxQ(tP)は、状態遷移行列Φを用いて、以下の式(20)により算出することができる。
【0125】
【数20】
【0126】
このとき、遷移後状態量XQ(tP)は、XQ(tP)={xQ(tP)}となる。
【0127】
(状態量がベクトル及び共分散行列の場合)
次に、状態量(内部状態量XI)として、状態ベクトル及び状態共分散行列を採用する場合における遷移後状態量の演算について説明する。
この場合、状態予測手段18は、前記式(19)の変換則Fとして、単位時間あたりの状態遷移行列Φ及び単位時間あたりのプロセス雑音の共分散行列Qを用いることができる。
すなわち、内部状態量XI(tO)を表す状態ベクトルをxI(tO)、その状態共分散行列をPI(tO)としたとき、遷移後状態量XQ(tP)を表す状態ベクトルxQ(tP)、その状態共分散行列PQ(tP)は、単位時間あたりの状態遷移行列Φ及び単位時間あたりのプロセス雑音の共分散行列Qを用いて、以下の式(21)により算出することができる。なお、上付き添え字Tは転置を表している。
【0128】
【数21】
【0129】
このとき、遷移後状態量XQ(tP)は、XQ(tP)={xQ(tP),PQ(tP)}となる。
【0130】
(状態量がパーティクルの場合)
次に、状態量(内部状態量XI)としてパーティクルを採用する場合における遷移後状態量の演算について説明する。
この場合、状態予測手段18は、前記式(19)の変換則Fとして、単位時間あたりの状態遷移行列Φ及び単位時間あたりのプロセス雑音の共分散行列Qを用いることができる。
すなわち、内部状態量XI(tO)に含まれる状態ベクトルの数をN個、各々の状態ベクトルをxI(i)(tO)(ただし、i=1,2,…,N)としたとき、遷移後状態量XQ(tP)に含まれる状態ベクトルxQ(i)(tP)は、単位時間あたりの状態遷移行列Φ及び単位時間あたりのプロセス雑音の共分散行列Qを用いて、以下の式(22)により算出することができる。なお、nはノイズ(雑音)、E[]は期待値、上付き添え字Tは転置を表している。
【0131】
【数22】
【0132】
このとき、遷移後状態量XQ(tP)は、XQ(tP)={xQ(1)(tP),xQ(2)(tP),…,xQ(N)(tP)}となる。
以上、状態推定装置10Cの構成について説明したが、本発明はこの構成に限定されるものではない。例えば、図11に示すように、状態更新手段12Cを外部の観測装置20Cに備え、状態更新手段12Cを状態推定装置10Cから省略し、データの入出力のみを行う入出力手段17Cを備えた状態推定装置10Dの構成としてもよい。この場合、センサ等の位置観測手段(図示せず)により観測した結果である観測対象の位置(観測量)が時刻tYに対応付けられて、観測装置20の状態更新手段12Cから、状態推定装置10Dに入力される。
【0133】
また、状態推定装置10C(10D)は、一般的なコンピュータを、前記した各手段として機能させることで実現することができる。このプログラム(状態推定プログラム)は、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
【0134】
以上説明したように、状態推定装置10C(10D)は、他の状態推定装置で推定した状態量と、当該状態推定装置10Cで推定した状態量とを統合し、観測対象の状態を推定することができる。これによって、状態推定装置10Cは、他の状態推定装置と協働し、状態の推定を分散して行うことができる。また、例えば、他の状態推定装置に状態推定装置10Cと共通の状態量を記憶させておくことで、状態推定装置10Cに障害が発生した場合であっても、状態の推定を継続することが可能になる。さらに、状態推定装置10Cは、時間の経過に伴った予測を行うため、状態推定の精度を高めることができる。
なお、状態推定装置10Cの動作は、複数の時点における状態量(内部状態量)を保持して状態量の予測を行うことを除き、図6〜図8で説明した状態推定装置10(図4参照)と、基本的な動作は同一であるため説明を省略する。
【図面の簡単な説明】
【0135】
【図1】本発明に係る統合状態推定システムの全体の構成を示す全体構成図である。
【図2】統合状態推定システムの具体例であるカーナビゲーションシステムの構成を示す全体構成図である。
【図3】本発明に係る統合状態推定装置の構成を示す構成図である。
【図4】本発明の第1実施形態に係る状態推定装置の内部構成を示すブロック構成図である。
【図5】本発明の第1実施形態に係る状態推定装置の変形例を示すブロック構成図である。
【図6】本発明に係る状態推定装置の全体動作を示すフローチャートである。
【図7】本発明に係る状態推定装置における状態更新手段の動作を示すフローチャートである。
【図8】本発明に係る状態推定装置における状態統合手段の動作を示すフローチャートである。
【図9】本発明の第2実施形態に係る状態推定装置の内部構成を示すブロック構成図である。
【図10】状態量記憶手段の記憶内容の一例を示すデータ構造図である。
【図11】本発明の第2実施形態に係る状態推定装置の変形例を示すブロック構成図である。
【符号の説明】
【0136】
S 統合状態推定システム
1 統合状態推定装置
10 状態推定装置
11 状態量記憶手段
12 状態更新手段
13 状態受信手段
14 状態統合手段
15 状態送信手段
16 推定量出力手段
17 入出力手段
18 状態予測手段
【技術分野】
【0001】
本発明は、観測対象の観測量に基づいて、当該観測対象の状態量を推定する状態推定装置及びそのプログラム、並びに、統合状態推定システム及び統合状態推定装置に関する。
【背景技術】
【0002】
従来、観測対象の観測量から状態量を推定する手法として、カルマンフィルタによる推定手法が知られている。このカルマンフィルタは、複数の観測量を観測ベクトルとして一つにまとめ、観測時に混入する観測雑音の共分散行列とともにフィルタリング処理を行うことで、複数の観測量を融合して状態量を推定するものである。
【0003】
また、他の手法としては、コンデンセーション法をはじめとする、パーティクルフィルタによる推定手法が知られている(例えば、非特許文献1参照)。このパーティクルフィルタは、有限のパーティクル(複数のベクトルの集合)によって確率密度関数を表現し、この確率密度関数を用いて、時系列に入力される観測量から状態量を推定するものである。このパーティクルフィルタによれば、カルマンフィルタでは推定することができない非ガウス性雑音が混入する場合であっても、任意の非ガウシアンな確率密度関数によって、状態量を推定することができる。
さらに、このパーティクルフィルタを、推定量の分散によって適応的に切り替える手法も提案されている(特許文献1参照)。
【非特許文献1】M.Isard and A.Blake, CONDENSATION - Conditional Density Propagation for Visual Tracking, International Journal of Computer Vision, vol.29, no.1, pp.5-28(1998)
【特許文献1】特開2005−44352号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、前記した従来の状態推定手法によれば、複数の観測量をまとめて処理するため、装置内において処理が集中してしまう。このため、従来の手法を適用した状態推定装置において、本手法による処理は高速化を阻害する要因となっている。
また、従来の状態推定手法を適用した状態推定装置においては、処理が集中しているため、当該状態推定装置が故障した場合、状態推定動作が停止してしまう。このため、状態推定を安定して行うためには、同一の状態推定装置を複数動作させなければならず、システム全体として、高価なものとなってしまうという問題がある。
また、従来の状態推定手法を適用した状態推定装置では、予め定めた観測対象の観測量に基づいて状態を推定するため、観測対象や推定を行う対象を変更することが容易ではなく、汎用性に欠けるといった問題がある。
【0005】
本発明は、以上のような問題点に鑑みてなされたものであり、複数の状態推定動作を並列動作させることで推定処理の高速性、信頼性、汎用性を高めた状態推定装置及びそのプログラム、並びに、統合状態推定システム及び統合状態推定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載の状態推定装置は、観測対象の観測量に基づいて、当該観測対象の状態を示す状態量を推定する状態推定装置において、状態量記憶手段と、状態更新手段と、状態受信手段と、状態統合手段と、状態送信手段とを備える構成とした。
【0007】
かかる構成において、状態推定装置は、状態更新手段によって、外部から入力された観測量により、状態量記憶手段に記憶する状態量(内部状態量)を更新する。これによって、観測量に基づいて、逐次内部状態量が更新されることになる。なお、状態量の更新は、一般的なカルマンフィルタや拡張カルマンフィルタの観測更新方程式により更新することとしてもよいし、シーケンシャルモンテカルロ法により状態量を状態ベクトルの集合として更新することとしてもよい。
【0008】
また、状態推定装置は、状態受信手段によって、通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信し、状態統合手段によって、外部状態量と状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する。これによって、状態推定装置は、他の状態推定装置において推定された状態量を取り込み、利用することができる。なお、状態量の統合とは、複数の状態推定装置に分散して記憶されている状態量を1つの状態量にまとめて加工することであって、例えば、複数の状態量の平均値をとることで新たな状態量としてもよいし、予め定めた確率分布となるように、それぞれの状態量を選択することで新たな状態量としてもよい。
また、状態推定装置は、状態送信手段によって、状態量記憶手段に記憶されている内部状態量を他の状態推定手段に送信する。これによって、状態推定装置は、自身が推定した状態量を、他の状態推定装置に利用させることが可能になる。
【0009】
また、請求項2に記載の状態推定装置は、請求項1に記載の状態推定装置において、前記状態量記憶手段が、複数の前記内部状態量を時刻に対応付けて記憶する構成とした。
【0010】
かかる構成において、状態推定装置は、内部状態量を時刻に対応付けて状態量記憶手段に記憶することで、他の状態推定装置から送信される状態量と内部で記憶する状態量とを時刻によって対応付けることができる。
【0011】
さらに、請求項3に記載の状態推定装置は、請求項2に記載の状態推定装置において、状態予測手段を備える構成とした。
【0012】
かかる構成において、状態推定装置は、状態予測手段によって、状態量記憶手段に記憶されている複数の内部状態量に基づいて、ある時刻における状態量を予測する。なお、状態量の予測については、一般的な状態遷移方程式あるいは現在の状態と未来の状態との間の遷移確率により予測することができる。
【0013】
また、請求項4に記載の統合状態推定システムは、観測対象の観測量に基づいて、通信路に接続された複数の状態推定装置により、当該観測対象の状態を示す状態量を統合して推定する統合状態推定システムであって、状態推定装置が、状態量記憶手段と、状態受信手段と、状態統合手段と、状態送信手段とを備え、前記複数の状態推定装置の少なくとも一つが状態更新手段を備え、さらに、前記複数の状態推定装置の少なくとも一つが推定量出力手段を備える構成とした。
【0014】
かかる構成において、統合状態推定システムは、当該システムを構成する状態推定装置が、状態量記憶手段に観測対象の状態量を内部状態量として記憶する。そして、状態推定装置は、状態受信手段によって、通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信し、状態統合手段によって、外部状態量と状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する。また、状態推定装置は、状態送信手段によって、状態量記憶手段に記憶されている内部状態量を他の状態推定装置に送信する。このように、統合状態推定装置システムは、各状態推定装置において、状態量を送受信することで、統合することができる。
【0015】
なお、状態量の更新は、複数の状態推定装置の少なくとも一つが、状態更新手段によって、外部から入力された観測量により、状態量記憶手段に記憶する状態量(内部状態量)を更新することで行う。この状態更新手段の数は、観測量の数に基づいて決定されるものであって、少なくとも観測量の数が一つである場合は、複数の状態推定装置の中の一つに備えられればよい。
そして、複数の状態推定装置の少なくとも一つが、推定量出力手段によって、状態量記憶手段に記憶されている内部状態量を推定量として出力する。
【0016】
さらに、請求項5に記載の統合状態推定装置は、観測対象の観測量に基づいて、当該観測対象の状態を示す状態量を統合して推定する統合状態推定装置であって、前記状態量を推定する状態推定手段を複数備え、前記状態推定手段が、状態量記憶手段と、状態受信手段と、状態統合手段と、状態送信手段とを備え、前記複数の状態推定手段の少なくとも一つが状態更新手段を備え、さらに、前記複数の状態推定手段の少なくとも一つが推定量出力手段を備える構成とした。
【0017】
かかる構成において、統合状態推定装置は、状態推定手段が状態量記憶手段に観測対象の状態量を内部状態量として記憶する。そして、状態推定手段は、状態受信手段によって、通信路に接続された他の状態推定手段において記憶されている状態量を外部状態量として受信し、状態統合手段によって、外部状態量と状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する。また、状態推定手段は、状態送信手段によって、状態量記憶手段に記憶されている内部状態量を他の状態推定装置に送信する。このように、統合状態推定装置は、各状態推定手段において、状態量を送受信することで、統合することができる。
【0018】
なお、状態量の更新は、複数の状態推定手段の少なくとも一つが、状態更新手段によって、外部から入力された観測量により、状態量記憶手段に記憶する状態量(内部状態量)を更新することで行う。そして、複数の状態推定手段の少なくとも一つが、推定量出力手段によって、状態量記憶手段に記憶されている内部状態量を推定量として出力する。
【0019】
また、請求項6に記載の状態推定プログラムは、観測対象の観測量に基づいて、通信路に接続された複数の状態推定装置により、当該観測対象の状態を示す状態量を統合して推定するために、前記状態推定装置におけるコンピュータを、状態更新手段、状態受信手段、状態統合手段、状態送信手段、推定量出力手段として機能させる構成とした。
【0020】
かかる構成において、状態推定プログラムは、状態更新手段によって、外部から入力された観測量により、状態量記憶手段に記憶する状態量(内部状態量)を更新する。そして、状態推定プログラムは、状態受信手段によって、通信路に接続された他の状態推定手段において記憶されている状態量を外部状態量として受信し、状態統合手段によって、外部状態量と状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する。
また、状態推定プログラムは、状態送信手段によって、状態量記憶手段に記憶されている内部状態量を他の状態推定手段に送信する。また、状態推定プログラムは、推定量出力手段によって、状態量記憶手段に記憶されている内部状態量を推定量として出力する。
【発明の効果】
【0021】
本発明は、以下に示す優れた効果を奏するものである。
請求項1、請求項4又は請求項6に記載の発明によれば、複数の状態推定装置において推定される状態量を統合して観測対象の状態を推定することができる。これによって、推定処理を複数の状態推定装置に分散させることで、並列動作が可能となり、推定動作の高速化を図ることができる。また、本発明によれば、複数の状態推定装置のいずれかに障害が発生した場合であっても、他の状態推定装置における状態量を統合することで、状態推定のサービスを継続することができる。また、本発明によれば、状態推定装置単位で交換等が可能であるため、新しい観測量に基づいて状態を推定する場合であっても、その追加、変更が容易であり、システム全体の汎用性を高めることができる。
【0022】
請求項2に記載の発明によれば、他の状態推定装置から送信される状態量と内部で記憶している状態量とを時刻によって対応付けているため、状態量の時刻同期をとることができる。これによって、状態推定装置間で推定する状態の時刻を一致させることができるため、時刻のずれがなくなり、状態推定の精度を高めることができる。
【0023】
請求項3に記載の発明によれば、観測量が入力されない時点においても、状態を推定し、その推定量を出力することが可能になり、安定して状態推定を行うことができる。
請求項5に記載の発明によれば、複数の状態推定手段において推定される状態量を統合して観測対象の状態を推定することができる。これによって、並列動作が可能になり、推定動作の高速化を図ることができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の実施の形態について図面を参照して説明する。
[統合状態推定システムの概要]
最初に、図1を参照して、統合状態推定システムの構成について説明する。図1は、本発明に係る統合状態推定システムの全体の構成を示す全体構成図である。
図1に示すように、統合状態推定システムSは、通信路(ネットワークN)を介して、複数の状態推定装置10を接続し、各状態推定装置10で推定される観測対象の状態(状態量)を統合して、所望の状態量を推定し、推定値として出力するものである。
【0025】
状態推定装置10は、外部から入力される観測量Yに基づいて、観測対象の状態(状態量X)を推定するとともに、他の状態推定装置が推定した状態量と統合するものである。なお、状態推定装置10は、いずれか一つが観測量Yを入力すればよく、また、いずれか一つが推定量Eを出力すればよい。例えば、状態推定装置103のように外部に推定量Eを出力しない形態、状態推定装置104のように外部から観測量Yを入力しない形態、状態推定装置105のように観測量Yの入力や推定量Eの出力を行わない形態であってもよい。
【0026】
なお、ここで、観測対象とは、動き、変動等の状態の変化を伴うもの、あるいは、事象であって、動きを伴う人物、車両等や、変動を伴う株価等がその対象となりうる。例えば、状態推定装置10は、人物を観測対象として、複数の位置からカメラで撮影した画像における人物の位置を観測量とすることで、人物の3次元位置や、速度等を推定することができる。
【0027】
(状態量について)
ここで、統合状態推定システムSにおいて使用する状態量について説明する。
状態量は、観測対象の動き、変動等の状態を示すデータ量であって、例えば、観測対象の速度等である。この状態量は、例えば、一つのベクトル(以下、状態ベクトルという)により表現することができる。例えば、物体の3次元位置及び3次元速度からなる6次元ベクトル量、あるいは、天体の軌道6要素等のベクトル量を状態量とすることができる。
【0028】
また、例えば、状態量は、一つのベクトルと一つの行列との組により表現することができる。この場合、ベクトルは、先に説明した状態ベクトルと同様のものである。一方、行列は、状態ベクトルに含まれる誤差を表す共分散行列(以下、状態共分散行列という)により表現することができる。
【0029】
さらに、例えば、状態量は、複数のベクトルの集合(以下、パーティクルという)として表現することができる。なお、パーティクルを構成する個々のベクトルは、先に説明した状態ベクトルと同様のものである。例えば、個々のベクトルとして、3次元位置及び3次元速度からなる6次元ベクトルを用いることができる。
【0030】
(観測量について)
次に、統合状態推定システムSに入力される観測量について説明する。
観測量は、観測対象を観測した結果のデータ量であって、例えば、観測対象の2次元位置等である。この観測量は、例えば、一つのベクトル(以下、観測ベクトルという)により表現することができる。なお、複数のセンサ等によって多次元の観測結果が得られる場合は、各センサ等から得られるデータを行ベクトルとして多重化することで、一つのベクトルとして表現することができる。
【0031】
また、例えば、観測量は、観測ベクトルに加え、観測ベクトルの誤差や信頼度を表す量を付加することもできる。例えば、観測ベクトルの誤差を、共分散行列(以下、観測共分散行列という)により表現することができる。
さらに、例えば、観測量は、先に説明した状態ベクトルに対する確率密度として定義することとしてもよい。
【0032】
なお、状態ベクトル又は観測ベクトルにおいて、スカラ量を扱う場合は、これを1次元のベクトル量とみなすこととする。また、行列やテンソル量を扱う場合は、その各要素を予め定めた一定の規則により1次元に並べたものをもってベクトル量とみなすものとする。
【0033】
(システム例)
ここで、図2を参照して、統合状態推定システムの具体例であるカーナビゲーションシステムについて説明する。図2は、統合状態推定システムの具体例であるカーナビゲーションシステムの構成を示す全体構成図である。
カーナビゲーションシステムSNは、状態推定装置101〜103を、通信路(ネットワークN)を介して接続した構成となっている。このカーナビゲーションシステムSNは、自動車の3次元位置(例えば、緯度、経度及び高度)、速度ベクトル、姿勢角(例えば、ロール角、ピッチ角及びヨー角)、並びに、角速度ベクトルを状態量Xとする。
【0034】
ここで、状態推定装置101は、GPS(Global Positioning System)受信機2が観測した時刻データを観測量Y1として入力する。また、状態推定装置102は、車速パルス計測器3が観測した自動車車輪の車速パルスの時間間隔データを観測量Y2として入力する。さらに、状態推定装置103は、ジャイロセンサ4が観測した角加速度データを観測量Y3として入力する。
そして、例えば、状態推定装置101が、状態量Xから自動車の位置情報のみを抽出し、推定量Eとして出力する。
【0035】
このように、状態推定装置101〜103を通信路(ネットワークN)に接続することで、GPS受信機2、車速パルス計測器3、ジャイロセンサ4の各観測手段により観測された観測量Y1,Y2,Y3に基づく状態量Xが統合され、状態推定装置101において、自動車の位置を推定し、推定量Eとして出力することができる。
【0036】
以上、説明したように、ここでは、統合状態推定システムS(図1参照)やカーナビゲーションシステムSN(図2参照)を、ネットワークNに接続した複数の状態推定装置10で構成したが、各状態推定装置10を、一つの手段として内部構成に組み込んで、図3に示すように、各状態推定手段10をバスB等の通信路を介して接続することで、統合状態推定装置1として構成することとしてもよい。
すなわち、状態推定装置(状態推定手段)を接続する通信路は、LANケーブル、電話線、シリアルケーブル等のメタル線路や、光ファイバ、赤外線、無線回線、基板内の配線、基板間の配線、ICチップ内の配線等、任意の伝送媒体を用いることができる。また、通信路は、途中、交換機、ルータ、ハブ、リピータ等の中継装置を介しても構わない。
【0037】
以下、統合状態推定システムSを構成する状態推定装置10の内部構成について詳細に説明を行うが、図3に示した統合状態推定装置1における状態推定手段10においても、内部構成は同じ構成で実現することができる。
【0038】
[第1実施形態:状態推定装置(状態推定手段)の構成]
まず、図4を参照して、状態推定装置10の構成について説明する。図4は、本発明の第1実施形態に係る状態推定装置の内部構成を示すブロック構成図である。
状態推定装置(状態推定手段)10は、外部から入力される観測対象の観測量に基づいて、ネットワークNに接続した他の状態推定装置と協働して、観測対象の状態を示す状態量を推定するものである。ここでは、状態推定装置10は、状態量記憶手段11と、状態更新手段12と、状態受信手段13と、状態統合手段14と、状態送信手段15と、推定量出力手段16とを備えている。
【0039】
状態量記憶手段11は、観測対象の状態を示す状態量のうち、当該状態推定装置10内部で保持する状態量(内部状態量)を記憶するものであって、例えば、RAM(Random Access Memory)等である。
この状態量記憶手段11は、後記する状態更新手段12や状態統合手段14によって、状態量が読み出され、又は、書き込まれ、状態送信手段15や推定量出力手段16によって、読み出される。
【0040】
状態更新手段12は、外部から入力される観測量Yによって、状態量記憶手段11に記憶されている状態量を更新するものである。ここでは、状態更新手段12は、状態量記憶手段11から状態量(内部状態量XI)を読み出し、観測量Yによって状態量を更新し、その更新された状態量(観測後状態量XY)を内部状態量XIとして、状態量記憶手段11に書き込む。
なお、状態更新手段12は、観測量Yをそのまま観測後状態量XYとして状態量記憶手段11に書き込むこととしてもよいが、予め観測量Yにおけるノイズ、誤差等がモデル化されている場合は、そのモデルに基づいて、観測後状態量XYを算出し、更新することが状態推定の精度を高める上で望ましい。
以下、数式を用いて、状態更新手段12における状態量の更新手法について説明する。
【0041】
(状態量及び観測量がベクトルの場合)
まず、状態量(内部状態量XI)として状態ベクトルxI(すなわち、XI={xI})、観測量Yとして観測ベクトルy(すなわち、Y={y})を採用する場合における状態量の更新について説明する。なお、状態ベクトルxIから観測ベクトルyへの関数h及びノイズ(雑音)nにより、状態の更新が、以下の式(1)によりモデル化できるものとする。
【0042】
【数1】
【0043】
ここで、関数hに逆関数h−1が存在する場合には、適当な実数値α(望ましくは0≦
α≦1の実数値)を用いて、以下の式(2)により観測後の状態ベクトルxYを得ることができる。
【0044】
【数2】
【0045】
すなわち、観測後状態量XYは、XY={xY}である。なお、状態量記憶手段11から、状態ベクトルxIが読み出せなかった場合(存在しなかった場合)には、例えば、前記式(2)でαの値を“1”とした、xY=h−1(y)により観測後の状態ベクトルxYを求めることとしてもよい。
【0046】
(状態量及び観測量がベクトル及び共分散行列の場合)
次に、状態量(内部状態量XI)として状態ベクトルxI及び状態共分散行列PI(すなわち、XI={xI,PI})、観測量Yとして観測ベクトルyと観測共分散行列R(すなわち、Y={y,R})を採用する場合における状態量の更新について説明する。なお、状態ベクトルxIから観測ベクトルyへの関数h及びノイズ(雑音)nにより、状態の更新が、以下の式(3)によりモデル化することができるものとする。
【0047】
【数3】
【0048】
ここで、E[]は期待値、上付き添え字Tは転置を表している。
このとき、例えば、以下の式(4)に示す拡張カルマンフィルタの観測更新方程式によって、観測後状態量XY={xY,PY}を決定することができる。
【0049】
【数4】
【0050】
ここで、Kはフィルタ感度、Hは観測行列、上付き添え字Tは転置を表している。
なお、状態量記憶手段11から、状態ベクトルxIと状態共分散行列PIとが読み出せなかった場合(存在しなかった場合)には、例えば、xY=h−1(y)、PY=diag{λ1,λ2,…,λD}(ただし、diagは対角行列、λ1,λ2,…,λDは非負の実数、DはXYの次元とする)としてもよい。
【0051】
(状態量がパーティクル、観測量が確率密度関数の場合)
次に、状態量(内部状態量XI)としてパーティクル、観測量Yとして確率密度関数を採用する場合における状態量の更新について説明する。
まず、状態量記憶手段11から読み出される内部状態量XIに含まれる状態ベクトルの数をN個、各々の状態ベクトルをx(i)(ただし、i=1,2,…,N)とする。すなわち、XI={x(1),x(2),…,x(N)}とする。
【0052】
一方、観測量Yである確率密度関数は、引数を状態ベクトルxとし、Y(x)のように記述することとする。
最初に、状態更新手段12は、1≦i≦Nなるすべてのiに対して、観測量Y(x(i))に基づいて、以下の式(5)により、i番目の状態ベクトルが発生する確率p(i)を算出する。
【0053】
【数5】
【0054】
続いて、状態更新手段12は、観測後状態量XYに、確率p(i)の大きい状態ベクトルx(i)が多く含まれ、確率p(i)の小さい状態ベクトルx(i)が少なく含まれる(又は含まれない)ように、状態量を再編成(再サンプリング)する。なお、状態ベクトルx(i)をとるサンプル数は、精度を高めるため、確率p(i)に比例する頻度(個数)であることが望ましく、例えば、確率p(i)がp(1)=1/10、p(2)=6/10、p(3)=3/10で、状態量の総数が10個の場合、状態ベクトルx(1)を1個、状態ベクトルx(2)を6個、状態ベクトルx(3)を3個のように、状態量(パーティクル)を生成し直す。
例えば、状態更新手段12は、以下の手順により状態量を更新する。
まず、以下の式(6)に示すように、式(5)で示した確率p(i)を累積した累積確率a(i)を算出するとともに、観測後状態量XYを空集合(XY=φ)とする。
【0055】
【数6】
【0056】
続けて、状態更新手段12は、以下の式(7)に示すように、0<r≦1なる一様乱数rを生成する。
【0057】
【数7】
【0058】
さらに、状態更新手段12は、以下の式(8)に示すように、累積確率a(i)≧rを満たし、かつ、累積確率a(i)が最小となる配列引数iを探索し、これをjとおく。
【0059】
【数8】
【0060】
そして、状態更新手段12は、以下の式(9)に示すように、観測後状態量XYに状態ベクトルx(j)を含める。
【0061】
【数9】
【0062】
そして、状態更新手段12は、前記した式(7)〜式(9)の処理を所定回数(例えば、内部状態量XIに含まれる状態ベクトルの数と同じN回)繰り返す。これによって、観測後状態量XYにおいて、パーティクルの頻度によって、確率密度関数が近似表現されることになる。
なお、状態量記憶手段11から、内部状態量XIが読み出せなかった場合(存在しなかった場合)には、例えば、状態更新手段12は、状態ベクトルを乱数によりN個生成し、これらをまとめたものを観測後状態量XYとする。また、このときの乱数は、確率密度関数Y(x)に従うこととしてもよい。
図4に戻って、状態推定装置10の構成について説明を続ける。
【0063】
状態受信手段13は、ネットワークNに接続された他の状態推定装置が保持し、当該他の状態推定装置から送信される状態量(受信状態量XR;外部状態量)を受信するものである。この受信した受信状態量XRは、状態統合手段14に出力される。
ここで、他の状態推定装置は、状態量(受信状態量XR)を含んだメッセージを、ネットワークNを経由して送信する。なお、このメッセージには、送信元に関する情報(例えば、IPアドレス等)を含めることとしてもよい。
【0064】
状態統合手段14は、状態受信手段13で受信した状態量(受信状態量XR)と、状態量記憶手段11に記憶されている状態量(内部状態量XI)とを統合し統合状態量XJを生成するものである。この統合状態量XJは、内部状態量XIとして状態量記憶手段11に記憶され、内部状態量XIが更新される。
なお、状態統合手段14は、状態量記憶手段11から内部状態量XIが読み出せなかった場合(存在しなかった場合)には、受信した状態量(受信状態量XR)をそのまま統合状態量XJとする。
以下、数式を用いて、状態統合手段14における状態量の統合手法について説明する。
【0065】
(状態量がベクトルの場合)
まず、状態量(内部状態量XI及び受信状態量XR)として、一つの状態ベクトルを採用する場合における状態量の統合について説明する。
状態量として状態ベクトルを採用する場合、状態統合手段14は、内部状態量XIの状態ベクトルをxI、受信状態量XRの状態ベクトルをxRとし、以下の式(10)により統合後の状態ベクトルxJを算出する。
【0066】
【数10】
【0067】
ここで、βは適当な実数値とし、望ましくは0≦β≦1の値をとるものとする。
なお、統合状態量XJは、XJ={xJ}である。
【0068】
(状態量がベクトル及び共分散行列の場合)
次に、状態量(内部状態量XI及び受信状態量XR)として、状態ベクトル及び状態共分散行列を採用する場合における状態量の統合について説明する。
状態量として、状態ベクトル及び状態共分散行列を採用する場合、状態統合手段14は、内部状態量XIの状態ベクトルxI及び状態共分散行列PIと、受信状態量XRの状態ベクトルxR及び状態共分散行列PRとに基づいて、統合状態量XJの状態ベクトルxJ及び状態共分散行列PJを以下に示す手順により算出する。
まず、状態統合手段14は、以下の式(11)に示すように、状態共分散行列PI及び状態共分散行列PRのi行i列成分を抽出し、それぞれvI(i)及びvR(i)とする(ただし、i=1,2,…,D;Dは状態ベクトルの次元数)。
【0069】
【数11】
【0070】
続いて、状態統合手段14は、以下の式(12)に示すように、状態ベクトルxI及び状態ベクトルxRのi行成分を抽出し、それぞれxI(i)及びxR(i)とする。
【0071】
【数12】
【0072】
そして、状態統合手段14は、前記式(11)で抽出したvI(i)及びvR(i)の大小に応じて、スカラ量xT(i)を、以下に示す式(13)により決定する。
【0073】
【数13】
【0074】
そして、状態統合手段14は、この式(13)で決定されたスカラ量xT(i)を、以下の式(14)に示すように、配列引数iについて配列することで、状態ベクトルxJを構成する。
【0075】
【数14】
【0076】
一方、状態統合手段14は、状態共分散行列PJを、以下の式(15)に示すように、前記式(11)で抽出したvI(i)及びvR(i)の小さい方を配列引数iについて並べた対角行列とする。
【0077】
【数15】
【0078】
なお、統合状態量XJは、XJ={xJ,PJ}である。
【0079】
(状態量がパーティクルの場合)
次に、状態量(内部状態量XI)としてパーティクルを採用する場合における状態量の統合について説明する。
状態量として、パーティクルを採用する場合、状態統合手段14は、内部状態量XI及び受信状態量XRの和集合(XI∪XR)に含まれる状態ベクトル“2N”個の中から、確率的にN´個の状態ベクトルを選択し、その選択されたN´個の状態ベクトルを統合状態量XJとする。なお、統合状態量XJに含まれる状態ベクトルの個数N´は、内部状態量XIの個数Nと同数であってもよい。
【0080】
ここでは、内部状態量XI及び受信状態量XRに含まれる状態ベクトルの数をN個とし、各々の状態ベクトルをxI(i)及びxR(i)(ただし、i=1,2,…,N)とする。すなわち、XI={xI(1),xI(2),…,xI(N)}、XR={xR(1),xR(2),…,xR(N)}とする。
まず、状態統合手段14は、統合状態量XJを空集合(XJ=φ)とする。
続けて、状態統合手段14は、以下の式(16)に示すように、0<r≦1なる一様乱数rを生成する。
【0081】
【数16】
【0082】
そして、状態統合手段14は、一様乱数rが予め定めた定数(閾値γ〔0<γ≦1の実数値〕)よりも大きいか小さいかによって、以下の式(17)に示すように、状態ベクトルxI(i)又はxR(i)を、統合状態量XJに含める。
【0083】
【数17】
【0084】
そして、状態統合手段14は、前記した式(16)及び式(17)の処理を状態ベクトルの回数(N)分繰り返す。これによって、内部状態量XI及び受信状態量XRに含まれる状態ベクトルから確率的に選択された状態ベクトル群により統合状態量XJを構成することができる。このとき、例えば、閾値γを“0.5”とすると、内部状態量XI及び受信状態量XRから同等の確率で状態ベクトルが選択されることになる。また、γの値が大きいほど、内部状態量XIに比べて、受信状態量XRを重視することができる。
図4に戻って、状態推定装置10の構成について説明を続ける。
【0085】
状態送信手段15は、状態量記憶手段11に記憶されている状態量(内部状態量XI)を読み出して、ネットワークNに接続された他の状態推定装置に送信するものである。
なお、状態送信手段15は、状態量(内部状態量XI)を含んだメッセージを他の状態推定装置に送信する際に、送信先や送信元を示すアドレス情報(IPアドレス等)を含めることとしてもよい。
また、状態量がまだ記憶されていない等の理由によって、状態量記憶手段11から状態量(内部状態量XI)を読み出せない場合、状態送信手段15は、送信を行わないこととしてもよいし、送信不可能であるというメッセージを送信することとしてもよい。
また、状態送信手段15は、定期的に内部状態量XIを送信することとしてもよいし、他の状態推定装置からの要求に基づいて送信することとしてもよい。
【0086】
推定量出力手段16は、状態量記憶手段11に記憶されている状態量(内部状態量XI)を読み出して、推定量Eとして外部に出力するものである。
なお、推定量出力手段16は、内部状態量XIをそのまま推定量Eとして出力することとしてもよいし、一部の状態量のみを出力したり、状態量に所定の変換を施して出力したりすることとしてもよい。
【0087】
例えば、状態量が状態ベクトルである場合、推定量出力手段16は、状態ベクトルの一部成分を抽出して、推定量Eを新たなベクトル量やスカラ量とすることができる。具体的には、状態ベクトルが3次元位置及び3次元速度で構成される場合に、3次元位置のみを推定量Eとする。あるいは、推定量出力手段16は、状態ベクトルに演算処理、例えば、線形変換を施した結果を推定量Eとして出力することとしてもよい。
【0088】
また、例えば、状態量がパーティクルの場合、推定量出力手段16は、パーティクルを構成する一部の状態ベクトルを取り出して推定量Eとすることができる。あるいは、推定量出力手段16は、パーティクルを構成する状態ベクトルすべてについて平均ベクトルを算出し、推定量Eとして出力することとしてもよい。
なお、状態量がまだ記憶されていない等の理由によって、状態量記憶手段11から状態量(内部状態量XI)を読み出せない場合、推定量出力手段16は、推定量Eを出力しないこととしてもよいし、出力することができない旨を出力することとしてもよい。
【0089】
以上、状態推定装置10の構成について説明したが、本発明はこの構成に限定されるものではない。例えば、推定量Eの出力を他の状態推定装置で行うこととし、状態推定装置10からは出力を行わない構成としてもよい。この場合、状態推定装置10の構成から推定量出力手段16を省略することができる。また、外部からの観測量Yの入力を他の状態推定装置で行うこととし、状態推定装置10では入力を行わない構成としてもよい。この場合、状態推定装置10の構成から状態更新手段12を省略することができる。
【0090】
また、図5に示すように、状態更新手段12を外部の観測装置20に備え、状態更新手段12を状態推定装置10から省略し、データの入出力のみを行う入出力手段17を備えた状態推定装置10Bの構成としてもよい。例えば、観測装置20は、図示を省略したセンサ等を備えた位置観測手段と、状態更新手段12とを備えている。そして、観測装置20の状態更新手段12が、位置観測手段(図示せず)により観測した結果である観測対象の位置(観測量)に基づいて状態量(観測後状態量XY)を算出し、状態量記憶手段11に記憶されている内部状態量XIを更新することとしてもよい。
【0091】
この場合、観測装置20は、観測後状態量XYとともに、観測後状態量XYに対する評価値を状態推定装置10Bに出力することとしてもよい。例えば、観測装置20は、センサであるカメラによって入力した画像に観測対象が存在するか(撮影されているか)否かを判定し、存在すると判定した場合は評価値に高い値を、存在しないと判定した場合は評価値に低い値を設定する。この評価値を参照することで、状態推定装置10Bは、状態統合手段14において、状態量の統合を行う際に、内部状態量XIと受信状態量XRとの統合の度合いを決定することとしてもよい。
【0092】
また、状態推定装置10(10B)は、一般的なコンピュータを、前記した各手段として機能させることで実現することができる。このプログラム(状態推定プログラム)は、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
【0093】
以上説明したように、状態推定装置10(10B)は、他の状態推定装置で推定した状態量と、当該状態推定装置10で推定した状態量とを統合し、観測対象の状態を推定することができる。これによって、状態推定装置10は、他の状態推定装置と協働し、状態の推定を分散して行うことができる。また、例えば、他の状態推定装置に状態推定装置10と共通の状態量を記憶させておくことで、状態推定装置10に障害が発生した場合であっても、状態の推定を継続することが可能になる。
【0094】
[第1実施形態:状態推定装置(状態推定手段)の動作]
次に、図6〜図8を参照して、状態推定装置10の動作について説明する。図6は、状態推定装置の全体動作を示すフローチャートである。図7は、状態推定装置における状態更新手段の動作を示すフローチャートである。図8は、状態推定装置における状態統合手段の動作を示すフローチャートである。
【0095】
(全体動作)
まず、図6を参照(適宜図4参照)して、状態推定装置10の動作について説明する。
状態推定装置10は、状態更新手段12によって、外部から観測量Yが入力されたか否かを判定する(ステップS1)。そして、観測量Yが入力された場合(ステップS1でYes)、状態更新手段12は、観測量Yによって、状態量記憶手段11に記憶されている内部状態量XIを更新する(ステップS2)。なお、このステップS2における内部状態量更新処理の詳細については、図7を参照して後で説明を行うこととする。一方、観測量Yが入力されなかった場合(ステップS1でNo)、状態更新手段12は、そのままステップS3の動作に進む。
【0096】
また、状態推定装置10は、状態統合手段14によって、状態受信手段13において、ネットワークNに接続された他の状態推定装置から状態量(受信状態量XR)を受信したか否かを判定する(ステップS3)。そして、受信状態量XRを受信した場合(ステップS3でYes)、状態統合手段14は、受信状態量XRと状態量記憶手段11に記憶されている内部状態量XIとを統合する(ステップS4)。なお、このステップS4における内部状態量統合処理の詳細については、図8を参照して後で説明を行うこととする。一方、受信状態量XRが受信されなかった場合(ステップS3でNo)、状態統合手段14は、そのままステップS5の動作に進む。
【0097】
そして、状態推定装置10は、状態送信手段15によって、状態量記憶手段11に記憶されている内部状態量XIの一部又は全部を読み出して、送信状態量XSとして、ネットワークNに接続された他の状態推定装置に送信する(ステップS5)。なお、状態送信手段15は、状態量記憶手段11から内部状態量XIが読み出せない場合、送信を行わない、又は、送信不可能であるというメッセージを送信する。
また、状態推定装置10は、推定量出力手段16によって、状態量記憶手段11に記憶されている内部状態量XIを読み出して、推定量Eとして外部に出力する(ステップS6)。なお、推定量出力手段16は、一部の内部状態量XIのみを出力したり、内部状態量XIに所定の変換を施して出力したりすることとしてもよい。
【0098】
以上、状態推定装置10の動作について説明したが、本動作はこの手順に限定されるものではない。ここでは、説明の都合上時系列に動作の説明を行ったが、内部状態量更新処理(ステップS2)や内部状態量統合処理(ステップS4)を並列に動作させることとしてもよいし、観測量Yの入力や受信状態量XRの受信が不規則に入力される場合は、そのタイミングに合わせて動作することとしてもよい。
【0099】
(内部状態量更新処理)
次に、図7を参照(適宜図4参照)して、状態推定装置10の状態更新手段12における状態量更新処理の動作について説明する。なお、本動作は、図6のステップS2の動作に相当する。また、ここでは、状態量更新処理の一例として、状態量がパーティクル、観測量が確率密度関数である場合の動作について説明する。
【0100】
まず、状態更新手段12は、状態量記憶手段11に内部状態量XI(XI={x(1),x(2),…,x(N)})が記憶されているか否かを判定する(ステップS20)。そして、内部状態量XIが記憶されている場合(ステップS20でYes)、状態更新手段12は、内部状態量XIに含まれるN個の状態ベクトルx(i)(ただし、i=1,2,…,N)に対して、観測量Y(x(i))に基づいて、状態ベクトルが発生する確率p(i)を算出する(ステップS21:前記式(5)参照)。さらに、状態更新手段12は、ステップS21で算出した確率p(i)をi番目まで累積した累積確率a(i)を、iごとにN個分算出する(ステップS22)。
【0101】
ここで、状態更新手段12は、観測後の状態量(観測後状態量XY)を空集合(XY=φ)、ループ回数に用いる変数mを“1”にそれぞれ初期化する(ステップS23)。
そして、状態更新手段12は、0<r≦1なる実数値の一様乱数rを生成し(ステップS24)、ステップS22で算出した累積確率a(i)の中でa(i)≧rを満たし、かつ、a(i)が最小となる配列引数iを探索しjとする(ステップS25)。続けて、状態更新手段12は、ステップS25で探索された配列引数jに対応する状態ベクトルx(j)を、観測後状態量XYに追加する(ステップS26)。
【0102】
その後、状態更新手段12は、ループ回数の変数mをインクリメント(+1)し(ステップS27)、変数mの値がN以下である場合(ステップS28でYes)、ステップS24に戻って動作を続ける。一方、変数mの値がNを超過した場合(ステップS28でNo)、動作を終了する。
なお、ステップS20において、状態量記憶手段11に内部状態量XIが記憶されていない場合(ステップS20でNo)、状態更新手段12は、状態ベクトルを乱数によりN個(r1,r2,…,rN)生成することで、観測後状態量XYを生成し(ステップS29)、動作を終了する。
以上の動作を行うことで、状態更新手段12は、状態量記憶手段11に記憶されている内部状態量XIを、確率の高いパーティクルをより高頻度にした確率密度関数の近似によって表現することができる。
【0103】
(内部状態量統合処理)
次に、図8を参照(適宜図4参照)して、状態推定装置10の状態統合手段14における内部状態量統合処理の動作について説明する。なお、本動作は、図6のステップS4の動作に相当する。また、ここでは、内部状態量統合処理の一例として、状態量がパーティクルである場合の動作について説明する。
なお、内部状態量XI及び受信状態量XRに含まれる状態ベクトルの数をN個とし、各々の状態ベクトルをxI(i)及びxR(i)(ただし、i=1,2,…,N)とする。すなわち、XI={xI(1),xI(2),…,xI(N)}、XR={xR(1),xR(2),…,xR(N)}とする。
【0104】
まず、状態統合手段14は、統合後の状態量(統合状態量XY)を空集合(XY=φ)、ループ回数に用いる変数mを“1”にそれぞれ初期化する(ステップS40)。
そして、状態統合手段14は、0<r≦1なる実数値の一様乱数rを生成し(ステップS41)、その一様乱数rが予め定めた定数(閾値γ〔0<γ≦1の実数値〕)以下であるか否かを判定する(ステップS42)。
【0105】
ここで、一様乱数rが閾値γ以下の場合(ステップS42でYes)、状態統合手段14は、統合状態量XJに、受信状態量XRに含まれるm番目の状態ベクトルxR(m)を追加する(ステップS43)。一方、一様乱数rが閾値γ未満の場合(ステップS42でNo)、状態統合手段14は、統合状態量XJに、内部状態量XIに含まれるm番目の状態ベクトルxI(m)を追加する(ステップS44)。
その後、状態統合手段14は、ループ回数の変数mをインクリメント(+1)し(ステップS45)、変数mの値がN以下である場合(ステップS46でYes)、ステップS41に戻って動作を続ける。一方、変数mの値がNを超過した場合(ステップS46でNo)、動作を終了する。
【0106】
以上の動作を行うことで、状態統合手段14は、内部状態量XI及び受信状態量XRに含まれる状態ベクトルから、予め定めた閾値γを基準として選択された状態ベクトル群により統合状態量XJを構成することができる。すなわち、閾値γによって、内部状態量又は受信状態量のいずれを重視するのかを設定することができる。
【0107】
[第2実施形態:状態推定装置(状態推定手段)の構成]
次に、図9を参照して、状態推定装置の他の構成について説明する。図9は、本発明の第2実施形態に係る状態推定装置の内部構成を示すブロック構成図である。
状態推定装置10Cは、外部から入力される観測対象の観測量に基づいて、ネットワークNに接続した他の状態推定装置と協働して、観測対象の状態を示す状態量を推定するものである。なお、状態推定装置10Cは、複数の時点における状態量(内部状態量)を保持することで、複数の状態推定装置間での処理の違いや、観測時刻の違いに起因する時間ずれの影響を吸収する。ここでは、状態推定装置10Cは、状態量記憶手段11Cと、状態更新手段12Cと、状態受信手段13Cと、状態統合手段14Cと、状態送信手段15Cと、推定量出力手段16Cと、状態予測手段18とを備えている。
【0108】
状態量記憶手段11Cは、観測対象の状態を示す状態量のうち、当該状態推定装置10C内部で保持する状態量(内部状態量)を記憶するものである。なお、状態量記憶手段11Cは、複数の時点における内部状態量を記憶することが、状態量記憶手段11(図4)とは異なっている。
例えば、状態量記憶手段11Cには、時刻“0”から時刻“M−1”に対応したM個の要素を有する配列を確保する。
【0109】
ここで、状態量記憶手段11Cに対する書き込み又は読み出しを行う各手段(状態更新手段12C、状態統合手段14C、状態送信手段15C、推定量出力手段16C及び状態予測手段18)は、0≦t<Mなる整数値tで示される時刻における内部状態量XI(t)を参照する場合、M個の要素を有する配列のt番目の要素を参照すればよい。また、0≦t<Mなる整数値以外で時刻が示される場合は、状態量記憶手段11Cに対する書き込み時には動作を行わず、読み出し時には何も読み出さない(空集合φを読み出す)ものとする。
また、状態量記憶手段11Cは、M個の要素を有する配列を確保し、その各要素に時刻情報(時刻t)と内部状態量XI(t)とを記憶する構成としてもよい。
【0110】
ここで、図10を参照して、状態量記憶手段11Cに記憶されている内部状態量へのアクセス(読み出し/書き込み)手法について説明する。図10は、状態量記憶手段の記憶内容の一例を示すデータ構造図である。図10では、一例として、状態量記憶手段11Cに10個の要素を有する配列を確保し、アドレス0からアドレス9にそれぞれ時刻情報(時刻t)と内部状態量XI(t)とを対応付けて記憶している状態を示している。
まず、時刻tに内部状態量XI(t)を書き込む手法について説明する。
ここで、時刻tを配列の要素数Tで除算した場合の剰余をアドレスA(A番目のアドレス)とする。すなわち、アドレスAは、以下の式(18)により算出される。
【0111】
【数18】
【0112】
ここで、演算子%は剰余を示し、t%MはtをMで除算した剰余を表すものとする。
このように算出されたアドレスAに対して、時刻tと内部状態量XI(t)との対を書き込むこととする。
例えば、図10に示すように、時刻t=“1025”に内部状態量XI(1025)を書き込む場合、前記式(18)により、アドレスA=“1025%10”=“5”を得る。そこで、アドレスA=“5”に対し、t=“1025”なる時刻情報と、t=“1025”における内部状態量XI(1025)との対を書き込む。
【0113】
次に、時刻tに内部状態量XI(t)を読み出す手法について説明する。なお、アドレスは、前記式(18)により算出される。
ここで、アドレスA(A番目のアドレス)には、時刻τが時刻情報として書き込まれているとする。もし、τ=tであれば、アドレスAに書き込まれている状態量は所望の時刻tにおける内部状態量XI(t)であるため、そのまま内部状態量XI(t)を読み出せばよい。もし、τ≠tであれば、アドレスAに書き込まれている状態量は所望の時刻tにおけるものではないため、例えば、読み出しデータを空集合φとする。
【0114】
例えば、図10に示すように、時刻t=“1032”の内部状態量XI(1032)を読み出す場合、前記式(18)により、アドレスA=“1032%10”=“2”を得る。そして、アドレスA=“2”に書き込まれている時刻情報(時刻τ)を読み出す。この場合、τ=“1032”である。すなわち、τ=t=“1032”であるため、アドレスA=“2”に書き込まれている状態量は所望の時刻t=“1032”における内部状態量XI(1032)であると判断することができ、このアドレスA=“2”に書き込まれている内部状態量XI(1032)を読み出せばよい。
【0115】
また、時刻t=“1033”の内部状態量XI(1033)を読み出す場合、前記式(18)により、アドレスA=“1033%10”=“3”を得る。そして、アドレスA=“3”に書き込まれている時刻情報(時刻τ)を読み出す。この場合、τ=“1023”である。すなわち、τ≠t=“1033”であるため、アドレスA=“3”に書き込まれている状態量は所望の時刻t=“1033”における内部状態量XI(1033)ではないと判断することができる。そこで、読み出しデータを空集合φとする。
これによって、時刻tの内部状態量XI(t)の読み出し/書き込みにおける時刻のずれを防止することができる。
図9に戻って、状態推定装置10Cの構成について説明を続ける。
【0116】
状態更新手段12Cは、外部から入力される時刻tYの観測量Y(tY)によって、状態量記憶手段11Cに記憶されている内部状態量XI(tY)を更新するものである。
状態受信手段13Cは、ネットワークNに接続された他の状態推定装置が保持し、当該他の状態推定装置から送信される時刻tRの受信状態量XR(tR)を受信し、状態統合手段14Cに出力するものである。
【0117】
状態統合手段14Cは、状態受信手段13Cで受信した時刻tRの受信状態量XR(tR)と、状態量記憶手段11Cに記憶されている時刻tRの内部状態量XI(tR)とを統合し時刻tRの統合状態量XJ(tR)を生成するものである。
状態送信手段15Cは、状態量記憶手段11Cに記憶されている、ある時刻tSの内部状態量XI(tS)を読み出して、ネットワークNに接続された他の状態推定装置に送信するものである。
【0118】
推定量出力手段16Cは、状態量記憶手段11Cに記憶されている、ある時刻tEの内部状態量XI(tE)を読み出して、推定量E(tE)として外部に出力するものである。
なお、状態更新手段12C、状態受信手段13C、状態統合手段14C、状態送信手段15C及び推定量出力手段16Cは、時刻(時刻tY、時刻tR、時刻tS及び時刻tE)に基づいて動作し、内部状態量XI(t)の更新等を行うとともに、その時刻に同期した制御信号を状態予測手段18に出力することを除き、図4で説明した状態更新手段12、状態受信手段13、状態統合手段14、状態送信手段15及び推定量出力手段16と同一の機能を有しているため、各機能については説明を省略する。
【0119】
状態予測手段18は、制御信号で通知されるタイミングに基づいて、ある時刻tPにおける状態量(予測状態量)XP(tP)を予測するものである。
ここで、状態予測手段18は、ある時刻tOにおける内部状態量XI(tO)と、ある時刻tPにおける内部状態量XI(tP)とを状態量記憶手段11Cから読み出し、予測処理を行うことで、時刻tPにおける予測状態量XP(tP)を予測し、内部状態量XI(tP)として状態量記憶手段11Cに書き込むこととする。
この状態予測手段18は、まず、時刻tOから時刻tPへの状態遷移を表す予め定めた変換則F(tO,tP;X)を用いて、以下の式(19)により、状態遷移後の状態量(遷移後状態量XQ(tP))を算出する。
【0120】
【数19】
【0121】
また、状態予測手段18は、算出した遷移後状態量XQ(tP)と、時刻tOにおける内部状態量XI(tO)とに基づいて、時刻tPにおける予測状態量XP(tP)を算出する。なお、遷移後状態量XQ(tP)と内部状態量XI(tO)とから予測状態量XP(tP)を算出する手法は、図4で説明した状態統合手段14と同様の手法を用いることができる。この場合、状態統合手段14における内部状態量XI、受信状態量XR及び統合状態量XJを、それぞれ内部状態量XI(tO)、遷移後状態量XQ(tP)及び予測状態量XP(tP)と読み替えればよく、説明を省略する。
【0122】
なお、状態予測手段18は、遷移後状態量XQ(tP)をそのまま予測状態量XP(tP)とすることとしてもよく、この場合は、状態予測手段18は、状態量記憶手段11Cから、時刻tOにおける内部状態量XI(tO)を読み出す必要はない。
【0123】
また、状態予測手段18は、例えば、状態統合手段14Cから制御信号として時刻tRが通知された場合、時刻tO=“tR”、時刻tP=“tR+1”として動作する。また、状態予測手段18は、時刻tO及び時刻tPを、(tO,tP)=(tR,tR±1),(tR,tR±2),…,(tR,tR±TR)のように、時刻tRの前後の時間TRにわたって適用することとしてもよい。
あるいは、状態予測手段18は、状態更新手段12Cの動作の直後、状態受信手段13Cの動作の前後、状態送信手段15Cの動作の直前、推定量出力手段16Cの動作の直前等、状態統合手段14Cと同様に、制御信号に基づいて動作を行うこととしてもよい。
また、状態予測手段18は、制御信号によらず、タイマ(図示せず)等に基づいて、時刻tO及び時刻tPを設定することとしてもよい。
以下、数式を用いて、前記式(19)における遷移後の状態量の演算について、さらに説明を付加することにする。
【0124】
(状態量がベクトルの場合)
まず、状態量(内部状態量XI)として、一つの状態ベクトルを採用する場合における遷移後状態量の演算について説明する。
この場合、状態予測手段18は、前記式(19)の変換則Fとして、単位時間あたりの状態遷移行列Φを用いることができる。
すなわち、内部状態量XI(tO)を表す状態ベクトルをxI(tO)としたとき、状態遷移後の状態量である遷移後状態量XQ(tP)を表す状態ベクトルxQ(tP)は、状態遷移行列Φを用いて、以下の式(20)により算出することができる。
【0125】
【数20】
【0126】
このとき、遷移後状態量XQ(tP)は、XQ(tP)={xQ(tP)}となる。
【0127】
(状態量がベクトル及び共分散行列の場合)
次に、状態量(内部状態量XI)として、状態ベクトル及び状態共分散行列を採用する場合における遷移後状態量の演算について説明する。
この場合、状態予測手段18は、前記式(19)の変換則Fとして、単位時間あたりの状態遷移行列Φ及び単位時間あたりのプロセス雑音の共分散行列Qを用いることができる。
すなわち、内部状態量XI(tO)を表す状態ベクトルをxI(tO)、その状態共分散行列をPI(tO)としたとき、遷移後状態量XQ(tP)を表す状態ベクトルxQ(tP)、その状態共分散行列PQ(tP)は、単位時間あたりの状態遷移行列Φ及び単位時間あたりのプロセス雑音の共分散行列Qを用いて、以下の式(21)により算出することができる。なお、上付き添え字Tは転置を表している。
【0128】
【数21】
【0129】
このとき、遷移後状態量XQ(tP)は、XQ(tP)={xQ(tP),PQ(tP)}となる。
【0130】
(状態量がパーティクルの場合)
次に、状態量(内部状態量XI)としてパーティクルを採用する場合における遷移後状態量の演算について説明する。
この場合、状態予測手段18は、前記式(19)の変換則Fとして、単位時間あたりの状態遷移行列Φ及び単位時間あたりのプロセス雑音の共分散行列Qを用いることができる。
すなわち、内部状態量XI(tO)に含まれる状態ベクトルの数をN個、各々の状態ベクトルをxI(i)(tO)(ただし、i=1,2,…,N)としたとき、遷移後状態量XQ(tP)に含まれる状態ベクトルxQ(i)(tP)は、単位時間あたりの状態遷移行列Φ及び単位時間あたりのプロセス雑音の共分散行列Qを用いて、以下の式(22)により算出することができる。なお、nはノイズ(雑音)、E[]は期待値、上付き添え字Tは転置を表している。
【0131】
【数22】
【0132】
このとき、遷移後状態量XQ(tP)は、XQ(tP)={xQ(1)(tP),xQ(2)(tP),…,xQ(N)(tP)}となる。
以上、状態推定装置10Cの構成について説明したが、本発明はこの構成に限定されるものではない。例えば、図11に示すように、状態更新手段12Cを外部の観測装置20Cに備え、状態更新手段12Cを状態推定装置10Cから省略し、データの入出力のみを行う入出力手段17Cを備えた状態推定装置10Dの構成としてもよい。この場合、センサ等の位置観測手段(図示せず)により観測した結果である観測対象の位置(観測量)が時刻tYに対応付けられて、観測装置20の状態更新手段12Cから、状態推定装置10Dに入力される。
【0133】
また、状態推定装置10C(10D)は、一般的なコンピュータを、前記した各手段として機能させることで実現することができる。このプログラム(状態推定プログラム)は、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
【0134】
以上説明したように、状態推定装置10C(10D)は、他の状態推定装置で推定した状態量と、当該状態推定装置10Cで推定した状態量とを統合し、観測対象の状態を推定することができる。これによって、状態推定装置10Cは、他の状態推定装置と協働し、状態の推定を分散して行うことができる。また、例えば、他の状態推定装置に状態推定装置10Cと共通の状態量を記憶させておくことで、状態推定装置10Cに障害が発生した場合であっても、状態の推定を継続することが可能になる。さらに、状態推定装置10Cは、時間の経過に伴った予測を行うため、状態推定の精度を高めることができる。
なお、状態推定装置10Cの動作は、複数の時点における状態量(内部状態量)を保持して状態量の予測を行うことを除き、図6〜図8で説明した状態推定装置10(図4参照)と、基本的な動作は同一であるため説明を省略する。
【図面の簡単な説明】
【0135】
【図1】本発明に係る統合状態推定システムの全体の構成を示す全体構成図である。
【図2】統合状態推定システムの具体例であるカーナビゲーションシステムの構成を示す全体構成図である。
【図3】本発明に係る統合状態推定装置の構成を示す構成図である。
【図4】本発明の第1実施形態に係る状態推定装置の内部構成を示すブロック構成図である。
【図5】本発明の第1実施形態に係る状態推定装置の変形例を示すブロック構成図である。
【図6】本発明に係る状態推定装置の全体動作を示すフローチャートである。
【図7】本発明に係る状態推定装置における状態更新手段の動作を示すフローチャートである。
【図8】本発明に係る状態推定装置における状態統合手段の動作を示すフローチャートである。
【図9】本発明の第2実施形態に係る状態推定装置の内部構成を示すブロック構成図である。
【図10】状態量記憶手段の記憶内容の一例を示すデータ構造図である。
【図11】本発明の第2実施形態に係る状態推定装置の変形例を示すブロック構成図である。
【符号の説明】
【0136】
S 統合状態推定システム
1 統合状態推定装置
10 状態推定装置
11 状態量記憶手段
12 状態更新手段
13 状態受信手段
14 状態統合手段
15 状態送信手段
16 推定量出力手段
17 入出力手段
18 状態予測手段
【特許請求の範囲】
【請求項1】
観測対象の観測量に基づいて、当該観測対象の状態を示す状態量を推定する状態推定装置において、
前記観測対象の状態量を内部状態量として記憶する状態量記憶手段と、
外部から入力された前記観測量に基づいて、前記状態量記憶手段に記憶されている内部状態量を更新する状態更新手段と、
通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信する状態受信手段と、
この状態受信手段で受信した外部状態量と、前記状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する状態統合手段と、
前記状態量記憶手段に記憶されている内部状態量を前記他の状態推定手段に送信する状態送信手段と、
を備えていることを特徴とする状態推定装置。
【請求項2】
前記状態量記憶手段は、複数の前記内部状態量を時刻に対応付けて記憶することを特徴とする請求項1に記載の状態推定装置。
【請求項3】
前記状態量記憶手段に記憶されている複数の内部状態量に基づいて、ある時刻における状態量を予測する状態予測手段を備えていることを特徴とする請求項2に記載の状態推定装置。
【請求項4】
観測対象の観測量に基づいて、通信路に接続された複数の状態推定装置により、当該観測対象の状態を示す状態量を統合して推定する統合状態推定システムであって、
前記状態推定装置は、
前記観測対象の状態量を内部状態量として記憶する状態量記憶手段と、
前記通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信する状態受信手段と、
この状態受信手段で受信した外部状態量と、前記状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する状態統合手段と、
前記状態量記憶手段に記憶されている内部状態量を前記他の状態推定手段に送信する状態送信手段とを備え、
前記複数の状態推定装置の少なくとも一つが、外部から入力された前記観測量に基づいて、当該状態推定装置の状態量記憶手段に記憶されている内部状態量を更新する状態更新手段を備え、
前記複数の状態推定装置の少なくとも一つが、当該状態推定装置の状態量記憶手段に記憶されている内部状態量を推定量として出力する推定量出力手段を備えていることを特徴とする統合状態推定システム。
【請求項5】
観測対象の観測量に基づいて、当該観測対象の状態を示す状態量を統合して推定する統合状態推定装置であって、
前記状態量を推定する状態推定手段を複数備え、
前記状態推定手段は、
前記観測対象の状態量を内部状態量として記憶する状態量記憶手段と、
通信路に接続された他の状態推定手段において記憶されている状態量を、外部状態量として受信する状態受信手段と、
この状態受信手段で受信した外部状態量と、前記状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する状態統合手段と、
前記状態量記憶手段に記憶されている内部状態量を前記他の状態推定手段に送信する状態送信手段とを備え、
前記複数の状態推定手段の少なくとも一つが、外部から入力された前記観測量に基づいて、当該状態推定手段の状態量記憶手段に記憶されている内部状態量を更新する状態更新手段を備え、
前記複数の状態推定手段の少なくとも一つが、当該状態推定手段の状態量記憶手段に記憶されている内部状態量を推定量として出力する推定量出力手段を備えていることを特徴とする統合状態推定装置。
【請求項6】
観測対象の観測量に基づいて、通信路に接続された複数の状態推定装置により、当該観測対象の状態を示す状態量を統合して推定するために、前記状態推定装置におけるコンピュータを、
外部から入力される前記観測量に基づいて、前記状態量を内部状態量として記憶する状態量記憶手段において、当該内部状態量を更新する状態更新手段、
前記通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信する状態受信手段、
この状態受信手段で受信した外部状態量と、前記状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する状態統合手段、
前記状態量記憶手段に記憶されている内部状態量を前記他の状態推定手段に送信する状態送信手段、
前記状態量記憶手段に記憶されている内部状態量を推定量として出力する推定量出力手段、
として機能させることを特徴とする状態推定プログラム。
【請求項1】
観測対象の観測量に基づいて、当該観測対象の状態を示す状態量を推定する状態推定装置において、
前記観測対象の状態量を内部状態量として記憶する状態量記憶手段と、
外部から入力された前記観測量に基づいて、前記状態量記憶手段に記憶されている内部状態量を更新する状態更新手段と、
通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信する状態受信手段と、
この状態受信手段で受信した外部状態量と、前記状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する状態統合手段と、
前記状態量記憶手段に記憶されている内部状態量を前記他の状態推定手段に送信する状態送信手段と、
を備えていることを特徴とする状態推定装置。
【請求項2】
前記状態量記憶手段は、複数の前記内部状態量を時刻に対応付けて記憶することを特徴とする請求項1に記載の状態推定装置。
【請求項3】
前記状態量記憶手段に記憶されている複数の内部状態量に基づいて、ある時刻における状態量を予測する状態予測手段を備えていることを特徴とする請求項2に記載の状態推定装置。
【請求項4】
観測対象の観測量に基づいて、通信路に接続された複数の状態推定装置により、当該観測対象の状態を示す状態量を統合して推定する統合状態推定システムであって、
前記状態推定装置は、
前記観測対象の状態量を内部状態量として記憶する状態量記憶手段と、
前記通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信する状態受信手段と、
この状態受信手段で受信した外部状態量と、前記状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する状態統合手段と、
前記状態量記憶手段に記憶されている内部状態量を前記他の状態推定手段に送信する状態送信手段とを備え、
前記複数の状態推定装置の少なくとも一つが、外部から入力された前記観測量に基づいて、当該状態推定装置の状態量記憶手段に記憶されている内部状態量を更新する状態更新手段を備え、
前記複数の状態推定装置の少なくとも一つが、当該状態推定装置の状態量記憶手段に記憶されている内部状態量を推定量として出力する推定量出力手段を備えていることを特徴とする統合状態推定システム。
【請求項5】
観測対象の観測量に基づいて、当該観測対象の状態を示す状態量を統合して推定する統合状態推定装置であって、
前記状態量を推定する状態推定手段を複数備え、
前記状態推定手段は、
前記観測対象の状態量を内部状態量として記憶する状態量記憶手段と、
通信路に接続された他の状態推定手段において記憶されている状態量を、外部状態量として受信する状態受信手段と、
この状態受信手段で受信した外部状態量と、前記状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する状態統合手段と、
前記状態量記憶手段に記憶されている内部状態量を前記他の状態推定手段に送信する状態送信手段とを備え、
前記複数の状態推定手段の少なくとも一つが、外部から入力された前記観測量に基づいて、当該状態推定手段の状態量記憶手段に記憶されている内部状態量を更新する状態更新手段を備え、
前記複数の状態推定手段の少なくとも一つが、当該状態推定手段の状態量記憶手段に記憶されている内部状態量を推定量として出力する推定量出力手段を備えていることを特徴とする統合状態推定装置。
【請求項6】
観測対象の観測量に基づいて、通信路に接続された複数の状態推定装置により、当該観測対象の状態を示す状態量を統合して推定するために、前記状態推定装置におけるコンピュータを、
外部から入力される前記観測量に基づいて、前記状態量を内部状態量として記憶する状態量記憶手段において、当該内部状態量を更新する状態更新手段、
前記通信路に接続された他の状態推定装置において記憶されている状態量を外部状態量として受信する状態受信手段、
この状態受信手段で受信した外部状態量と、前記状態量記憶手段に記憶されている内部状態量とを統合して、当該内部状態量を更新する状態統合手段、
前記状態量記憶手段に記憶されている内部状態量を前記他の状態推定手段に送信する状態送信手段、
前記状態量記憶手段に記憶されている内部状態量を推定量として出力する推定量出力手段、
として機能させることを特徴とする状態推定プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−72709(P2007−72709A)
【公開日】平成19年3月22日(2007.3.22)
【国際特許分類】
【出願番号】特願2005−258206(P2005−258206)
【出願日】平成17年9月6日(2005.9.6)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
【公開日】平成19年3月22日(2007.3.22)
【国際特許分類】
【出願日】平成17年9月6日(2005.9.6)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
[ Back to top ]