JP2013122384A - Kalman filter and state estimation device - Google Patents
Kalman filter and state estimation device Download PDFInfo
- Publication number
- JP2013122384A JP2013122384A JP2011270090A JP2011270090A JP2013122384A JP 2013122384 A JP2013122384 A JP 2013122384A JP 2011270090 A JP2011270090 A JP 2011270090A JP 2011270090 A JP2011270090 A JP 2011270090A JP 2013122384 A JP2013122384 A JP 2013122384A
- Authority
- JP
- Japan
- Prior art keywords
- state
- vector
- sensors
- value
- estimated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Navigation (AREA)
- Measuring Magnetic Variables (AREA)
Abstract
Description
本発明は、カルマンフィルタ、及び、状態推定装置に関する。 The present invention relates to a Kalman filter and a state estimation device.
地磁気の向きや、物体の姿勢等を算出する場合、地磁気センサからの出力結果のみに基づいて算出するよりも、地磁気センサの他に加速度センサや角速度センサ等の異種の物理量を測定する複数のセンサの出力結果を統合して算出した方が、短時間で正確な値を求めることができる。 When calculating the direction of geomagnetism, the posture of an object, etc., multiple sensors that measure different physical quantities such as acceleration sensors and angular velocity sensors in addition to the geomagnetic sensor, rather than calculating only based on the output result from the geomagnetic sensor If the output results are integrated and calculated, an accurate value can be obtained in a short time.
異種の物理量を測定する複数のセンサの出力を統合し、動的システムの状態を推定する方法として、カルマンフィルタを用いる方法が知られている。例えば、特許文献1には、3軸の角速度センサ及び3軸の加速度センサと非線形カルマンフィルタとを実装した姿勢角計測装置が開示されている。また、非特許文献1には、3軸角速度センサ、3軸加速度センサ、及び3軸地磁気センサからの出力信号を、拡張カルマンフィルタやアンセンテッド変換を用いたシグマポイントカルマンフィルタを用いて統合し、姿勢を推定する方法が開示されている。
A method using a Kalman filter is known as a method for estimating the state of a dynamic system by integrating the outputs of a plurality of sensors that measure different physical quantities. For example,
一般的に、カルマンフィルタは、動的システムの状態を表す複数の物理量の経時的な変化を推定する状態遷移モデルと、推定された動的システムの状態から、動的システムの有する複数のセンサが計測する値(観測値)を推定する観測モデルとを有する。そして、カルマンフィルタは、推定された観測値と、複数のセンサが実際に測定する観測値との差分(観測残差)を用いて、動的システムの状態を表す複数の物理量の各々を推定する値(状態変数)を要素とする状態ベクトルを推定し逐次更新することにより、状態ベクトルの各要素の示す値を、実際の物理量(真値)に近づける演算を行う。 In general, the Kalman filter is a state transition model that estimates changes over time in multiple physical quantities that represent the state of a dynamic system, and multiple sensors in the dynamic system measure from the estimated state of the dynamic system. And an observation model for estimating a value to be performed (observed value). The Kalman filter is a value for estimating each of a plurality of physical quantities representing the state of the dynamic system using a difference (observation residual) between the estimated observation value and the observation value actually measured by the plurality of sensors. A state vector having (state variable) as an element is estimated and sequentially updated, so that the value indicated by each element of the state vector is approximated to an actual physical quantity (true value).
ところで、地磁気センサや角速度センサ等のセンサは、検出対象となる成分以外の成分を検出する場合がある。この場合、センサの検出対象である成分を正確に求めるためには、センサの出力値から、検出対象となる成分以外の成分を取り除く補正処理が必要となる。この補正処理において取り除かれる成分を、センサのオフセットと呼ぶ。
センサのオフセットは、センサの温度変化に伴い変化する場合がある。センサに急激な温度変化が生じ、センサのオフセットが急激に変化する場合、状態ベクトルの各要素の示す値と真値とが乖離し、カルマンフィルタは、動的システムの状態を正確に推定することができなくなる場合がある。
Incidentally, a sensor such as a geomagnetic sensor or an angular velocity sensor may detect a component other than a component to be detected. In this case, in order to accurately determine the component that is the detection target of the sensor, a correction process that removes components other than the component that is the detection target from the output value of the sensor is necessary. The component removed in this correction process is called a sensor offset.
The sensor offset may change as the temperature of the sensor changes. When a sudden temperature change occurs in the sensor and the sensor offset changes abruptly, the value indicated by each element of the state vector deviates from the true value, and the Kalman filter can accurately estimate the state of the dynamic system. It may not be possible.
本発明は、上述した点に鑑みてなされたものであり、センサに温度変化が生じる場合に、正確な状態推定を行うことができるカルマンフィルタの提供を解決課題とする。 The present invention has been made in view of the above points, and an object of the present invention is to provide a Kalman filter that can perform accurate state estimation when a temperature change occurs in a sensor.
上述した課題を解決するため、本発明に係るカルマンフィルタは、互いに直交する3方向の磁気成分を検出し、3軸の座標系においてベクトルデータとして表現される磁気データを順次出力する3次元磁気センサを含む、複数のセンサと、前記3次元磁気センサの温度を検出して温度データを順次出力する温度検出部と、を備えた機器に組み込まれ、システムの状態を推定する状態推定装置に用いられるカルマンフィルタであって、前記3次元磁気センサのオフセットを推定した値を示すオフセット推定ベクトルを含む複数の状態変数を要素とする状態ベクトルを、システムの経時的な変化を表す状態遷移モデルに対して適用することで、単位時間経過後の前記状態ベクトルを推定し、これを推定状態ベクトルとして算出する、状態遷移モデル部と、前記複数のセンサの出力値の各々を要素とする観測値ベクトルに基づいて観測残差を算出し、前記推定状態ベクトルと、前記観測残差とに基づいて、前記状態ベクトルを更新し、これを更新後の状態ベクトルとして算出する、更新部と、を備え、前記単位時間における、前記温度データの変化量を、温度変化量としたとき、前記状態遷移モデルで規定されるプロセスノイズの共分散のうち、前記オフセット推定ベクトルに生じるプロセスノイズの共分散の各成分を、前記温度変化量に基づいて定める、ことを特徴とする。 In order to solve the above-described problem, a Kalman filter according to the present invention is a three-dimensional magnetic sensor that detects magnetic components in three directions orthogonal to each other and sequentially outputs magnetic data expressed as vector data in a three-axis coordinate system. A Kalman filter used in a state estimation device that estimates a state of a system, and is incorporated in a device including a plurality of sensors and a temperature detection unit that detects temperatures of the three-dimensional magnetic sensor and sequentially outputs temperature data A state vector having a plurality of state variables including an offset estimation vector indicating an estimated value of the offset of the three-dimensional magnetic sensor is applied to a state transition model representing a change of the system over time. Thus, the state vector after the unit time has been estimated is calculated as an estimated state vector. And an observation residual based on an observation value vector having each of output values of the plurality of sensors as elements, and updating the state vector based on the estimated state vector and the observation residual An update unit that calculates this as a state vector after update, and when the amount of change in the temperature data in the unit time is a temperature change amount, the process noise defined by the state transition model Among the covariances, each component of the process noise covariance generated in the offset estimation vector is determined based on the temperature change amount.
この発明によれば、3次元磁気センサのオフセット推定値を状態ベクトルの要素(状態変数)とするカルマンフィルタの演算において、状態遷移モデルで規定されるプロセスノイズの共分散を、3次元磁気センサの温度変化量に基づいて定める。
3次元磁気センサのオフセットは、3次元磁気センサの温度変化に伴い、変化する。従って、3次元磁気センサに温度変化が生じ、3次元磁気センサのオフセットが変化する場合、カルマンフィルタの演算で用いる状態ベクトルのうち、3次元磁気センサのオフセットを推定する状態変数の示す値が、真値から乖離する。
これに対して、本発明に係るカルマンフィルタは、状態遷移モデルにおいて規定されるプロセスノイズの共分散を、3次元磁気センサの温度変化量に基づいて定め、3次元磁気センサの温度変化に伴い生じる3次元磁気センサのオフセットの変化を考慮して状態ベクトルの更新を行うため、正確な状態推定が可能となる。
According to the present invention, in the calculation of the Kalman filter using the estimated offset value of the three-dimensional magnetic sensor as an element (state variable) of the state vector, the covariance of the process noise defined by the state transition model is calculated using the temperature of the three-dimensional magnetic sensor. Determine based on the amount of change.
The offset of the three-dimensional magnetic sensor changes as the temperature of the three-dimensional magnetic sensor changes. Therefore, when a temperature change occurs in the three-dimensional magnetic sensor and the offset of the three-dimensional magnetic sensor changes, the value indicated by the state variable for estimating the offset of the three-dimensional magnetic sensor is true among the state vectors used in the calculation of the Kalman filter. Deviates from the value.
On the other hand, the Kalman filter according to the present invention determines the covariance of process noise defined in the state transition model based on the temperature change amount of the three-dimensional magnetic sensor 3 Since the state vector is updated in consideration of the offset change of the three-dimensional magnetic sensor, accurate state estimation can be performed.
また、本発明に係るカルマンフィルタは、複数のセンサと、前記複数のセンサのうち、1以上のセンサの各々の温度を検出し、前記1以上のセンサの各々に対応する温度データを出力する温度検出部と、を備えた機器に組み込まれ、システムの状態を推定する状態推定装置に用いられるカルマンフィルタであって、前記複数のセンサのうち前記1以上のセンサの各々のオフセットを推定した値を要素とするベクトルをオフセット推定ベクトルとしたとき、前記オフセット推定ベクトルを含む複数の状態変数を要素とする状態ベクトルを、システムの経時的な変化を表す状態遷移モデルに対して適用することで、単位時間経過後の前記状態ベクトルを推定し、これを推定状態ベクトルとして算出する、状態遷移モデル部と、前記複数のセンサの出力値の各々を要素とする観測値ベクトルに基づいて観測残差を算出し、前記推定状態ベクトルと、前記観測残差とに基づいて、前記状態ベクトルを更新し、これを更新後の状態ベクトルとして算出する、更新部と、を備え、前記状態遷移モデルで規定されるプロセスノイズの共分散のうち、前記オフセット推定ベクトルに生じるプロセスノイズの共分散の各成分を、前記単位時間における、1以上の前記温度データの各々の温度変化量に基づいて定める、ことを特徴としてもよい。 The Kalman filter according to the present invention detects a temperature of each of one or more sensors among the plurality of sensors and the plurality of sensors, and outputs temperature data corresponding to each of the one or more sensors. And a Kalman filter used in a state estimation device for estimating a system state, wherein a value obtained by estimating an offset of each of the one or more sensors among the plurality of sensors is used as an element. When a vector to be used is an offset estimation vector, a state vector having a plurality of state variables including the offset estimation vector as an element is applied to a state transition model representing a change of the system over time, so that unit time elapses. A state transition model unit that estimates the subsequent state vector and calculates this as an estimated state vector; and the plurality of sensors An observation residual is calculated based on an observed value vector having each force value as an element, the state vector is updated based on the estimated state vector and the observed residual, and this state vector is updated. And an update unit, and among the process noise covariances defined by the state transition model, each component of the process noise covariance generated in the offset estimation vector is one or more in the unit time The temperature data may be determined based on a temperature change amount of each of the temperature data.
この発明によれば、1以上のセンサの各々のオフセットを推定した値を要素に含む状態ベクトルを更新するカルマンフィルタの演算において、状態遷移モデルで規定されるプロセスノイズの共分散が、1以上のセンサの各々の温度変化量に基づいて定められる。
この場合、1以上のセンサの各々に生じる温度変化に伴う、1以上のセンサの各々のオフセットの変化を考慮して、状態ベクトルの更新を行うことが可能となるため、正確な状態推定が可能となる。
According to this invention, the covariance of the process noise defined by the state transition model is one or more sensors in the calculation of the Kalman filter that updates the state vector including the estimated value of the offset of each of the one or more sensors. It is determined based on each temperature change amount.
In this case, since it is possible to update the state vector in consideration of the change in the offset of each of the one or more sensors accompanying the temperature change that occurs in each of the one or more sensors, accurate state estimation is possible. It becomes.
また、上述したカルマンフィルタにおいて、前記複数のセンサには、互いに直交する3方向の磁気成分を検出し、3軸の座標系においてベクトルデータとして表現される磁気データを順次出力する3次元磁気センサと、互いに直交する3軸の周りの角速度を検出し、3軸の座標系においてベクトルデータとして表現される角速度データを順次出力する3次元角速度センサとが含まれ、前記1以上のセンサには、前記3次元磁気センサ、または、前記3次元角速度センサのうち、少なくとも一方が含まれる、ことを特徴とすることが好ましい。 In the above-described Kalman filter, the plurality of sensors include a three-dimensional magnetic sensor that detects magnetic components in three directions orthogonal to each other and sequentially outputs magnetic data represented as vector data in a three-axis coordinate system; A three-dimensional angular velocity sensor that detects angular velocities around three axes orthogonal to each other and sequentially outputs angular velocity data expressed as vector data in a three-axis coordinate system. It is preferable that at least one of a three-dimensional magnetic sensor or the three-dimensional angular velocity sensor is included.
この発明によれば、3次元磁気センサと3次元角速度センサとを備える機器に組み込まれた状態推定装置が行うカルマンフィルタの演算において、3次元磁気センサまたは3次元角速度センサに温度変化が生じても、正確な状態推定を行うことが可能となる。 According to this invention, even if a temperature change occurs in the three-dimensional magnetic sensor or the three-dimensional angular velocity sensor in the calculation of the Kalman filter performed by the state estimation device incorporated in the device including the three-dimensional magnetic sensor and the three-dimensional angular velocity sensor, Accurate state estimation can be performed.
また、本発明に係る状態推定装置は、上述したカルマンフィルタのうちいずれかのカルマンフィルタと、各々の出力が前記観測値ベクトルの要素となる前記複数のセンサと、前記複数のセンサのうち1以上のセンサの温度を各々検出し、前記1以上のセンサに対応する1以上の前記温度データを出力する温度検出部とを備えることを特徴とする。 Moreover, the state estimation apparatus according to the present invention includes any one of the Kalman filters described above, the plurality of sensors whose outputs are elements of the observation vector, and one or more sensors among the plurality of sensors. And a temperature detector that outputs one or more temperature data corresponding to the one or more sensors.
この発明によれば、1以上のセンサの各々のオフセットを推定した値を要素に含む状態ベクトルを更新するカルマンフィルタの演算において、状態遷移モデルで規定されるプロセスノイズの共分散が、1以上のセンサの各々の温度変化量に基づいて定められる。
この場合、状態推定装置は、1以上のセンサの各々に生じる温度変化に伴い生じる、1以上のセンサの各々のオフセットの変化を考慮して、状態ベクトルの更新を行うことが可能となるため、正確な状態推定が可能となる。
According to this invention, the covariance of the process noise defined by the state transition model is one or more sensors in the calculation of the Kalman filter that updates the state vector including the estimated value of the offset of each of the one or more sensors. It is determined based on each temperature change amount.
In this case, since the state estimation device can update the state vector in consideration of the change in the offset of each of the one or more sensors that occurs due to the temperature change that occurs in each of the one or more sensors, Accurate state estimation is possible.
また、上述した状態推定装置において、前記温度検出部は、前記複数のセンサのうち前記1以上のセンサの内部に配置されることを特徴とすることが好ましい。 In the state estimation device described above, it is preferable that the temperature detection unit is disposed inside the one or more sensors among the plurality of sensors.
本発明において、1以上のセンサの各々の温度を検出する温度検出部は、1以上のセンサの各々の内部にそれぞれ配置されるものであってもよいし、1以上のセンサの外部に配置されるものであってもよい。すなわち、温度検出部は、1以上のセンサの各々の温度を検出し、単位時間毎に1以上のセンサの各々に対応する温度データを出力するものであればよい。
温度検出部が1以上のセンサの内部に配置される場合、または、外部に配置される場合のいずれの場合であっても、状態推定装置は、1以上のセンサの各々に生じる温度変化に伴い生じる、1以上のセンサの各々のオフセットの変化を考慮して、状態ベクトルの更新を行うことが可能となるため、正確な状態推定が可能となる。
In the present invention, the temperature detection unit that detects the temperature of each of the one or more sensors may be disposed inside each of the one or more sensors, or may be disposed outside the one or more sensors. It may be a thing. That is, the temperature detection part should just detect the temperature of each of one or more sensors, and outputs the temperature data corresponding to each of one or more sensors per unit time.
Regardless of whether the temperature detection unit is arranged inside one or more sensors or arranged outside, the state estimation device is accompanied by a temperature change occurring in each of the one or more sensors. The state vector can be updated in consideration of the generated offset change of each of the one or more sensors, so that accurate state estimation is possible.
<A.実施形態>
本発明の実施の形態について図面を参照して説明する。
<A. Embodiment>
Embodiments of the present invention will be described with reference to the drawings.
[1. 機器構成及びソフトウェア構成について]
図1は、本発明の実施形態に係る携帯機器のブロック図であり、図2は携帯機器の外観を示す斜視図である。携帯機器1は、画面の姿勢に応じて地図などの画像を回転させることによって、画像によって表されている方位を現実空間の方位に追従させる機能を備える。この機能は、各種センサの出力に基づいてカルマンフィルタの演算を行い、携帯機器1の姿勢と、携帯機器1から見た地磁気Bgの向きとを推定することによって実現される。
[1. Device configuration and software configuration]
FIG. 1 is a block diagram of a portable device according to an embodiment of the present invention, and FIG. 2 is a perspective view showing an appearance of the portable device. The
携帯機器1は、各種の構成要素とバスを介して接続され装置全体を制御するCPU10、CPU10の作業領域として機能するRAM(蓄積部)20、状態推定プログラム100等の各種のプログラムやデータを記憶したROM30、通信を実行する通信部40、画像を表示する表示部50、及びGPS部60を備える。
また、携帯機器1は、地磁気Bg等の磁気を検出して磁気データを出力する3次元磁気センサ70、加速度を検出して加速度データを出力する3次元加速度センサ80、及び角速度を検出して角速度データを出力する3次元角速度センサ90を備える。
The
The
表示部50は、CPU10が状態推定プログラム100を実行することにより推定したシステムの状態に基づいて算出された地磁気Bgの向きや携帯機器1の姿勢μ等を、矢印等の画像により表示する。
GPS部60は、GPS衛星からの信号を受信して携帯機器1の位置情報(緯度、経度)を生成する。
The
The
3次元磁気センサ70は、X軸磁気センサ71、Y軸磁気センサ72、及びZ軸磁気センサ73を備える。各センサは、MI素子(磁気インピーダンス素子)、MR素子(磁気抵抗効果素子)などを用いて構成することができる。磁気センサI/F74は、X軸磁気センサ71、Y軸磁気センサ72、及び、Z軸磁気センサ73からの出力信号をAD変換して磁気データmを出力する。この磁気データmは、x軸、y軸およびz軸の3成分によって表されるベクトルデータである。より具体的には、磁気データmは、3次元磁気センサ70に固定された座標系(以下、「センサ座標系ΣS」と称する)において、X軸磁気センサ71からの出力値をx軸成分として表し、Y軸磁気センサ72からの出力値をy軸成分として表し、Z軸磁気センサ73からの出力値をz軸成分として表すベクトルデータである。
また、3次元磁気センサ70は、3次元磁気センサ70の温度を検出する第1温度検出部75を備える。磁気センサI/F74は、第1温度検出部75からの出力信号をAD変換して温度データTmを出力する。すなわち、第1温度検出部75は、携帯機器1の備えるセンサの温度を検出する温度検出部として機能する。
The three-dimensional
The three-dimensional
ところで、3次元磁気センサ70が検出する磁気データmには、地磁気Bgが含まれる。
地磁気Bgは、磁極北に向かう水平成分と伏角方向の鉛直成分を有する磁界であり、地上のある一点に固定された座標系(以下、「地上座標系ΣG」と称する)において、一定の向き及び大きさを有するベクトルGBgとして表される(なお、ベクトルの符号の左上に示す添え字「G」は、当該ベクトルが地上座標系ΣGで表されたベクトルであることを意味する)。つまり、センサ座標系ΣSにおいて、地磁気Bgは、携帯機器1の姿勢μに連動して向きを変える、一定の大きさのベクトルSBg(μ)として表される(なお、ベクトルの符号の左上に示す添え字「S」は、当該ベクトルがセンサ座標系ΣSで表されたベクトルであることを意味する)。従って、センサ座標系ΣSにおいて地磁気Bgを表すベクトルSBg(μ)を算出することで、携帯機器1の姿勢μを求めることができる。
一方、3次元磁気センサ70が搭載される携帯機器1は、着磁性を有する各種金属や、電気回路等、磁界を発生させる部品が備えられることが多い。このため、3次元磁気センサ70が出力するベクトルデータ(磁気データm)は、地磁気Bgを表すベクトルと、携帯機器1に搭載された部品が発する磁界(内部磁界Bi)を表すベクトルとを加算したベクトルとなる。従って、センサ座標系ΣSにおける地磁気Bgを表すベクトルSBg(μ)を算出し、携帯機器1から見た地磁気Bgの向きを正確に求めるためには、センサ座標系ΣSにおいて、3次元磁気センサが出力する磁気データmの示す座標から、携帯機器1の部品が発する内部磁界Biを表すベクトルSBiを減算する補正処理が必要となる。
このように、検出対象である地磁気Bgの正確な向きを特定するために、補正処理において、3次元磁気センサ70から出力される磁気データmから取り除かれる内部磁界Biを表すベクトルSBiを、3次元磁気センサ70のオフセットと呼ぶ。
Incidentally, the magnetic data m detected by the three-dimensional
The geomagnetism Bg is a magnetic field having a horizontal component toward the magnetic pole north and a vertical component in the dip direction, and has a fixed orientation in a coordinate system fixed to a certain point on the ground (hereinafter referred to as “ground coordinate system Σ G ”). and expressed as a vector G Bg having a size (the letter "G" subscript indicates the upper left of the sign of the vector means that the vector is a vector expressed in ground coordinate system sigma G). That is, in the sensor coordinate system Σ S , the geomagnetism Bg is expressed as a vector S Bg (μ) having a certain magnitude that changes its direction in conjunction with the attitude μ of the mobile device 1 (note that the upper left of the sign of the vector) letter "S" subscript indicates the means that the vector is a vector expressed in the sensor coordinate system sigma S). Therefore, by calculating the vector S Bg (mu) representing the geomagnetism Bg in the sensor coordinate system sigma S, it can be obtained of the
On the other hand, the
Thus, in order to specify the correct orientation of the geomagnetism Bg that is the detection target, the vector S Bi representing the internal magnetic field Bi removed from the magnetic data m output from the three-dimensional
3次元加速度センサ80は、X軸加速度センサ81、Y軸加速度センサ82、及びZ軸加速度センサ83を備える。各センサは、ピエゾ抵抗型、静電容量型、熱検知型などのような検知方式であってもよい。加速度センサI/F84は、各センサからの出力信号をAD変換して加速度データaを出力する。この加速度データaは、3次元加速度センサ80と一体となって運動する携帯機器1に固定された座標系における慣性力と重力との合力を、x軸、y軸及びz軸の3成分を有するベクトルとして示すデータである。従って、携帯機器1が静止状態または等速直線運動状態にあれば、加速度データaは、携帯機器1に固定された座標系において重力加速度の大きさと方向とを示すベクトルデータとなる。
The three-
3次元角速度センサ90は、X軸角速度センサ91、Y軸角速度センサ92、及びZ軸角速度センサ93を備える。角速度センサI/F94は、各センサからの出力信号をAD変換して角速度データgを出力する。角速度データgは、各軸の回りの角速度を示すベクトルデータである。
The three-dimensional
CPU10は、ROM30に格納されている状態推定プログラム100を実行することによって、携帯機器1の姿勢や3次元磁気センサ70のオフセット等のシステムの状態を表す複数の物理量を推定する。すなわち、携帯機器1は、CPU10が状態推定プログラム100を実行することにより、状態推定装置として機能する。
The
図3は、状態推定装置のうち、CPU10が状態推定プログラム100を実行することにより実現される機能を表した機能ブロック図である。図3に示すように、状態推定装置は、初期値生成部200、カルマンフィルタ演算部300、及び出力情報生成部500を備える。
初期値生成部200は、各種設定情報に基づき、初期ベクトルINIを生成し、これを出力する。
カルマンフィルタ演算部300は、3次元磁気センサ70から出力される磁気データm、3次元加速度センサ80から出力される加速度データa、及び3次元角速度センサ90から出力される角速度データgを要素とする観測値ベクトルyを用いて、初期ベクトルINIを初期値とする状態ベクトルxを逐次更新する非線形カルマンフィルタの演算を実行することで、システムの状態を推定する。
出力情報生成部500は、カルマンフィルタ演算部300から周期的に出力される状態ベクトルxに基づいて、地磁気Bgの向き等の出力情報を算出する。
FIG. 3 is a functional block diagram showing functions realized by the
The initial
The Kalman
The output
ここで、状態ベクトルxとは、複数の状態変数を要素とするベクトルである。状態ベクトルxの要素である複数の状態変数の各々は、非線形カルマンフィルタが推定するシステムの状態を示す複数の物理量を表す。すなわち、状態ベクトルxは、非線形カルマンフィルタが推定するシステムの状態を表すベクトルである。
本実施形態は、状態ベクトルxの要素(状態変数)として、携帯機器1の姿勢μ、地磁気の強さr、地磁気の伏角φ、携帯機器1の角速度ω、3次元角速度センサ90のオフセット推定値gOFF、及び3次元磁気センサ70のオフセット推定値mOFFを採用し、これらを推定の対象とする。
時刻T=kにおける状態ベクトルxkは、以下の式(1)で表される。なお、各種変数、ベクトル、行列等の右下に付された添え字「k」は、当該各種変数、ベクトル、行列等の時刻T=kにおける値であることを意味する。
In this embodiment, as the elements (state variables) of the state vector x, the attitude μ of the
The state vector x k at time T = k is expressed by the following equation (1). The subscript “k” attached to the lower right of various variables, vectors, matrices, and the like means that the values of the various variables, vectors, matrices, etc. at time T = k.
ここで、地磁気の強さrはスカラーであり、地磁気の伏角φはスカラーであり、角速度ωは3次元ベクトルであり、3次元角速度センサ90のオフセット推定値gOFFは3次元ベクトルであり、3次元磁気センサ70のオフセット推定値mOFFは3次元ベクトルである。
また、姿勢μは、クォータニオンを用いて表現される。クォータニオンとは、物体の姿勢(回転状態)を表す4次元数である。例えば、センサ座標系ΣSの各軸と、地上座標系ΣGの各軸とが一致する姿勢μを基準姿勢と定義し、基準姿勢をμ=(0、0、0、1)と表現する。このとき、携帯機器1の任意の姿勢μは、基準姿勢に対して単位ベクトルρの方向を回転軸として角度ψだけ回転した姿勢として表現できる。回転後の姿勢μは、クォータニオンを用いて、式(2)で与えられる。
In addition, the posture μ is expressed using quaternions. A quaternion is a four-dimensional number that represents the posture (rotation state) of an object. For example, the respective axes of the sensor coordinate system sigma S, the attitude mu where the respective axes of the ground coordinate system sigma G match is defined as a reference position, the reference orientation mu = expressed as (0, 0, 0, 1) . At this time, the arbitrary posture μ of the
観測値ベクトルyとは、3次元磁気センサ70から出力される磁気データm、3次元加速度センサ80から出力される加速度データa、及び、3次元角速度センサ90から出力される角速度データgを要素とするベクトルである。時刻T=kにおける観測値ベクトルykは式(3)で与えられる。
カルマンフィルタ演算部300は、上述した状態ベクトルxkと観測値ベクトルykとを用いた非線形カルマンフィルタの演算を実行して、状態ベクトルxkの各要素が真値に近づくように状態ベクトルxkを周期的に更新することで、システムの状態を表す複数の物理量を推定する。
ここで、「真値」とは、状態ベクトルxkの各要素に対応する実際の物理量を表す値である。また、以下では、状態ベクトルxkの各要素を真値としたベクトルを、「状態ベクトルの真値」と称する。なお、非線形カルマンフィルタの演算の詳細については、後述する。
The Kalman
Here, the “true value” is a value representing an actual physical quantity corresponding to each element of the state vector x k . Hereinafter, a vector in which each element of the state vector x k is a true value is referred to as a “true value of the state vector”. Details of the operation of the nonlinear Kalman filter will be described later.
初期値生成部200は、初期ベクトルINIを生成し、これを出力する。
初期ベクトルINIは、以下の式(4)に示すように、状態ベクトルxkの初期値、つまり時刻T=0における状態ベクトルx0であり、姿勢μの初期値μ0、地磁気の強さrの初期値r0、地磁気の伏角φの初期値φ0、角速度ωの初期値ω0、3次元角速度センサ90のオフセット推定値gOFFの初期値gOFF,0、及び3次元磁気センサ70のオフセット推定値mOFFの初期値mOFF,0を要素として含む。
The initial vector INI is the initial value of the state vector x k , that is, the state vector x 0 at time T = 0, the initial value μ 0 of the posture μ, and the geomagnetism strength r, as shown in the following equation (4). the initial value r 0 of the initial value phi 0 geomagnetic dip phi, the angular velocity omega initial value omega 0, the initial value of the offset estimation value g OFF of the three-dimensional
なお、初期ベクトルINIの各要素は、真値から大きく乖離しないように適宜定めればよい。以下では、初期ベクトルINIの各要素の設定例を示す。 It should be noted that each element of the initial vector INI may be determined as appropriate so as not to greatly deviate from the true value. In the following, a setting example of each element of the initial vector INI is shown.
地磁気の強さrの初期値r0、及び地磁気の伏角φの初期値φ0は、例えば、GPS部60から供給される位置情報に基づいて生成することができる。これは、地球上の位置が特定できれば、その位置における地磁気の強さ及び伏角を知ることができるからである。具体的には、ROM30には、位置情報と地磁気の強さ及び伏角とを対応づけて記憶したルックアップテーブルLUT1が格納される。初期値生成部200は、ルックアップテーブルLUT1を参照して、位置情報に対応する地磁気の強さ及び伏角を、地磁気の強さrの初期値r0及び地磁気の伏角φの初期値φ0として設定する。
なお、携帯機器1が衛星からの電波の届かない場所(例えば、地下街)にある場合には、GPS部60から位置情報が得られない。そのような場合には、携帯機器1が使われ得る地域の典型的な値を採用すればよい。その値もルックアップテーブルLUT1に格納されている。初期値生成部200は、位置情報の取得が不能な場合には、典型的な値をルックアップテーブルLUT1から読み出す。例えば、日本で販売された携帯機器1については、明石市の地磁気の強さ及び伏角に基づいて、地磁気の強さrの初期値r0、及び地磁気の伏角φの初期値φ0を算出する。
The initial value r 0 of the geomagnetic strength r and the initial value φ 0 of the geomagnetic dip angle φ can be generated based on position information supplied from the
In addition, when the
角速度ωの初期値ω0は、例えば、携帯機器1が静止していることを仮定して、「0」に設定する。
また、3次元角速度センサ90のオフセット推定値gOFFの初期値gOFF,0は、通常「0」近辺に調整されているため、「0」に設定する。
姿勢μの初期値μ0は、例えば、携帯機器1が一定方向に向いて静止していることを仮定して、実際の初期姿勢とのずれを小さくするような値を設定する。
The initial value ω 0 of the angular velocity ω is set to “0”, for example, assuming that the
Further, the initial value g OFF, 0 of the offset estimated value g OFF of the three-dimensional
As the initial value μ 0 of the posture μ, for example, assuming that the
3次元磁気センサ70のオフセット推定値mOFFの初期値mOFF,0は、時刻T=0に3次元磁気センサ70から出力される磁気データm0、地上座標系ΣGにおいて地磁気Bgを表したベクトルGBg、及び、行列B(μ)を用いて、以下に示す式(5)により算出される。
ここで、行列B(μ)は、携帯機器1が姿勢μである場合に、地上座標系ΣGにおいて表現されたベクトルを、センサ座標系ΣSで表現するための座標変換行列であり、以下の式(6)で表される。また、時刻T=0における地磁気Bgを地上座標系ΣGから表したベクトルGBgは、地磁気の強さrの初期値r0と、地磁気の伏角φの初期値φ0とを用いて、以下の式(7)で表される。なお、本実施形態では、地上座標系ΣGを、y軸が磁極北を向き、z軸が鉛直上を向くように定める。
Here, the matrix B (mu), when the
このように、初期値生成部200は、初期ベクトルINIを生成しこれを出力する。そして、カルマンフィルタ演算部300は、初期ベクトルINIを初期値とする状態ベクトルxkを更新する非線形カルマンフィルタの演算を実行することで、システムの状態を推定する。以下では、カルマンフィルタ演算部300が行う非線形カルマンフィルタの演算の詳細について説明する。
In this way, the initial
[2. 非線形カルマンフィルタによる演算について]
一般的にカルマンフィルタは、動的システムの状態の経時的な変化を表す状態遷移モデルを用いて、ある時刻(時刻T=k−1)のシステムの状態を示す状態ベクトルx+ k−1から単位時間が経過した後(時刻T=k)の状態ベクトルxkを推定する。この推定値を、推定状態ベクトルx− kと称する。
そして、カルマンフィルタは、各種センサからの出力を要素とする観測値ベクトルykと状態ベクトルxkとの関係を表す観測モデルを用いて、推定状態ベクトルx− kから観測値ベクトルykを推定する。この推定値を、推定観測値ベクトルy− kと称する。
次に、カルマンフィルタは、推定観測値ベクトルy− kと、実際の観測値を要素とする観測値ベクトルykとの差分を観測残差zkとして算出し、観測残差zkに基づいてカルマンゲインKkを算出する。さらに、カルマンフィルタは、観測残差zk、カルマンゲインKk、及び、推定状態ベクトルx− kを用いて、状態ベクトルx+ k−1を更新することにより、更新後の状態ベクトルx+ kを算出する。
以上のような状態ベクトルxkの更新を繰り返すカルマンフィルタの演算により、状態ベクトルxkの各要素を実際の物理量を正確に表した値(真値)に近い正確な値へと近付ける。
[2. Calculation using nonlinear Kalman filter]
In general, the Kalman filter uses a state transition model that represents a change in the state of a dynamic system over time, and a unit from a state vector x + k−1 that indicates the state of the system at a certain time (time T = k−1). The state vector x k after the elapse of time (time T = k) is estimated. This estimated value is referred to as an estimated state vector x − k .
Then, the Kalman filter estimates the observation value vector y k from the estimated state vector x − k using an observation model that represents the relationship between the observation value vector y k and the state vector x k whose elements are outputs from various sensors. . This estimated value is referred to as an estimated observation value vector y − k .
Next, the Kalman filter estimated observed value vector y - and k, calculates the difference between the observed value vector y k to the actual observed value element as observed residuals z k, based on the observation residuals z k Kalman The gain Kk is calculated. Furthermore, the Kalman filter updates the state vector x + k after updating the state vector x + k−1 using the observation residual z k , the Kalman gain K k , and the estimated state vector x − k. calculate.
By the Kalman filter operation that repeatedly updates the state vector x k as described above, each element of the state vector x k is brought close to an accurate value close to a value (true value) that accurately represents the actual physical quantity.
なお、詳細は後述するが、本実施形態ではカルマンフィルタとして、非線形カルマンフィルタであるシグマポイントカルマンフィルタを用いる。
シグマポイントカルマンフィルタは、まず、状態ベクトルx+ k−1の周囲に複数のシグマポイントχ+ k−1を設定し、これらの複数のシグマポイントχ+ k−1を状態遷移モデルに適用することで、単位時間経過後の複数のシグマポイントを推定する。この推定された複数のシグマポイントを、推定シグマポイントχ− kと称する。次に、シグマポイントカルマンフィルタは、複数の推定シグマポイントχ− kの平均を算出することにより、推定状態ベクトルx− kを求める。
従って、シグマポイントカルマンフィルタを用いてカルマンフィルタの演算を実行する場合、推定観測値ベクトルy− kは、厳密には、推定状態ベクトルx− kの周辺に存在する複数の推定シグマポイントχ− kに基づいて算出される。
Although details will be described later, in this embodiment, a sigma point Kalman filter which is a nonlinear Kalman filter is used as the Kalman filter.
The sigma point Kalman filter first sets a plurality of sigma points χ + k−1 around the state vector x + k−1 and applies the plurality of sigma points χ + k−1 to the state transition model. Estimate multiple sigma points after unit time. The plurality of estimated sigma points are referred to as estimated sigma points χ − k . Next, the sigma point Kalman filter obtains an estimated state vector x - k by calculating an average of a plurality of estimated sigma points χ - k .
Therefore, when the Kalman filter operation is performed using the sigma point Kalman filter, the estimated observation value vector y − k is strictly based on a plurality of estimated sigma points χ − k existing around the estimated state vector x − k. Is calculated.
本実施形態における、非線形カルマンフィルタの状態遷移モデルは以下に示す式(8)で与えられ、観測モデルは以下に示す式(9)で与えられる。なお、本実施形態では、式(8)に現れる状態方程式f、および、式(9)に現れる観測方程式hは、非線形の関数である。
ここで、状態ベクトルxkはdim(x)次元のベクトルであり、観測値ベクトルykはdim(y)次元のベクトルである。本実施形態では、dim(x)=15であり、dim(y)=9である。
ここで、P− kは、推定状態ベクトルx− kの推定誤差の共分散であり、P+ kは、更新後の状態ベクトルx+ kの推定誤差の共分散である。また、Pyy kは、観測残差zkの共分散であり、Pxy kは、推定状態ベクトルx− kと、推定観測値ベクトルy− kとの相互共分散行列である。
また、式(8)に現れるプロセスノイズwk及び式(9)に現れる観測ノイズvkは「0」を中心とするガウスノイズである。
式(8)は、時刻T=kにおける状態ベクトルxkが、時刻T=k−1における状態ベクトルxk−1を状態方程式fに代入して得られた値と、時刻T=k−1におけるプロセスノイズwk−1とを加算することにより推定されることを示している。
また、式(9)は、時刻T=kにおける観測値ベクトルykが、時刻T=kにおける状態ベクトルxkを観測方程式hに代入して得られる値と、時刻T=kにおける観測ノイズvkとを加算することにより推定されることを示している。
なお、プロセスノイズwkの共分散をQk、観測ノイズvkの共分散をRkと表す。
Here, the state vector x k is a dim (x) -dimensional vector, and the observation value vector y k is a dim (y) -dimensional vector. In the present embodiment, dim (x) = 15 and dim (y) = 9.
Here, P − k is the covariance of the estimated error of the estimated state vector x − k , and P + k is the covariance of the estimated error of the updated state vector x + k . P yy k is a covariance of the observation residual z k , and P xy k is a mutual covariance matrix of the estimated state vector x − k and the estimated observation value vector y − k .
Further, the process noise w k appearing in the equation (8) and the observation noise v k appearing in the equation (9) are Gaussian noises centered on “0”.
Equation (8) shows that the state vector x k at time T = k is obtained by substituting the state vector x k-1 at time T = k−1 for the state equation f, and the time T = k−1. It is estimated by adding the process noise w k−1 in FIG.
Equation (9) shows that the observed value vector y k at time T = k is obtained by substituting the state vector x k at time T = k into the observation equation h, and the observed noise v at time T = k. It shows that it is estimated by adding k .
Incidentally, representing the covariance of the process noise w k Q k, the covariance of measurement noise v k and R k.
プロセスノイズwkの共分散Qkは、以下の式(10)に示すように、行列Qcst,1、行列Qcst,2、及び、行列Qm,kにより構成される15行15列の対称行列である。
ここで、行列Qcst,1は、12行12列の対称行列であり、行列Qcst,1の各成分は定数である。この行列Qcst,1は、状態遷移モデルにおいて状態ベクトルxkに生じるプロセスノイズwkのうち、3次元磁気センサ70のオフセット推定値mOFF,k以外の要素に生じるプロセスノイズの共分散を表す行列である。行列Qcst,2は、12行3列の零行列である。
行列Qm,kは、3行3列の対称行列であり、状態遷移モデルにおいて状態ベクトルxkに生じるプロセスノイズwkのうち、3次元磁気センサ70のオフセット推定値mOFF,kに生じるプロセスノイズの共分散を表す行列である。行列Qm,kは、以下の式(11)に示すように、3次元磁気センサ70の温度変化量ΔTm,kに基づいて定められる。なお、式(11)に現れる係数αmは、正の実数である。また、行列Qcst,mは、3次元磁気センサ70に温度変化が生じても3次元磁気センサ70のオフセットが変化しないと仮定した状態遷移モデルにおいて、状態ベクトルxkに生じるプロセスノイズwkのうち、3次元磁気センサ70のオフセット推定値mOFF,kに生じるプロセスノイズの共分散を表す行列である。本実施形態では、行列Qcst,mの各成分は定数とする。
また、式(12)に示すように、温度変化量ΔTm,kは、時刻T=kにおける温度データTm,kと、時刻T=k−1における温度データTm,k−1との差分の絶対値を表す。なお、温度変化量ΔTmに対して添え字「k」を付す場合には、時刻T=kと時刻T=k−1との間に生じる、3次元磁気センサ70の温度変化量の絶対値であることを表す。
Here, the matrix Q cst, 1 is a 12 × 12 symmetric matrix, and each component of the matrix Q cst, 1 is a constant. This matrix Q cst, 1 represents the covariance of process noise generated in elements other than the estimated offset value m OFF, k of the three-dimensional
The matrix Q m, k is a symmetric matrix with 3 rows and 3 columns, and the process that occurs in the offset estimation value m OFF, k of the three-dimensional
Further, as shown in the equation (12), the temperature change amount ΔT m, k is the temperature data T m, k at time T = k and the temperature data T m, k−1 at time T = k−1. Represents the absolute value of the difference. Note that when subjecting the letter "k" subscripts to temperature variation [Delta] T m occurs between time T = k and time T = k-1, the absolute value of the temperature change amount of the three-dimensional
3次元磁気センサ70のオフセットは、3次元磁気センサ70の温度変化に伴い、変化する。より具体的には、3次元磁気センサ70のオフセットの変化の大きさは、3次元磁気センサ70の温度変化量ΔTm,kの大きさに基づいて定められる。
詳細は後述するが、3次元磁気センサ70のオフセットの経時的な変化を定式化することは難しい。つまり、3次元磁気センサ70のオフセットの経時的な変化を、3次元磁気センサ70の温度変化まで考慮したうえで、状態方程式fとして定式化することは難しい。
状態方程式fが3次元磁気センサ70の温度変化を考慮していない場合、状態遷移モデルは、3次元磁気センサ70に温度変化が生じたときに、状態推定装置が推定するシステムの経時的な変化を正確に表現することができなくなる。そして、状態遷移モデルが、システムの経時的な変化を正確に表現していない場合、状態遷移モデルを信頼して状態ベクトルxkを更新すると、状態ベクトルxkの各要素(特に、3次元磁気センサ70のオフセット推定値mOFF,k)は、真値から乖離した値となる可能性が高い。
このように、状態ベクトルxkの各要素が真値から乖離した値となる場合、状態推定装置は、システムの状態を正確に推定できない。また、状態ベクトルxkの各要素が真値から乖離した値となった場合、その後、非線形カルマンフィルタの演算を繰り返しても、状態ベクトルxkの各要素が真値に近い値に収束するまでに長い時間を要することになる。
The offset of the three-dimensional
Although details will be described later, it is difficult to formulate a change with time of the offset of the three-dimensional
When the state equation f does not take into account the temperature change of the three-dimensional
Thus, if each element of the state vector x k is a value which deviates from the true value, the state estimation device may not accurately estimate the state of the system. Further, when each element of the state vector x k becomes a value deviating from the true value, even if the calculation of the nonlinear Kalman filter is repeated thereafter, until each element of the state vector x k converges to a value close to the true value. It will take a long time.
これに対して、本実施形態では、式(11)に示した通り、プロセスノイズwkの共分散Qkのうち、3次元磁気センサ70のオフセット推定値mOFFに対応する成分である行列Qm,kを、3次元磁気センサ70の温度変化量ΔTm,kに基づいて定める。
この場合、状態遷移モデルは、状態方程式fにおいて定式化することができない3次元磁気センサ70の温度変化に伴う3次元磁気センサ70のオフセットの変化を、プロセスノイズwkとして考慮する。これにより、本実施形態に係る状態推定装置は、状態遷移モデルと、状態推定装置が推定するシステムの経時的な変化との間に存在する誤差を考慮しつつ、状態ベクトルxkの更新を行うことができるため、更新後の状態ベクトルx+ kの各要素が真値から乖離する可能性を低減させることが可能となる。
On the other hand, in the present embodiment, as shown in Expression (11), the matrix Q that is a component corresponding to the offset estimated value m OFF of the three-dimensional
In this case, the state transition model considers the change in the offset of the three-dimensional
なお、センサのオフセットを推定する値を表す状態変数のうち、当該センサの温度変化量に基づいて、当該状態変数に生じるプロセスノイズの共分散が定められる状態変数を、「オフセット推定ベクトル」と称する場合がある。
本実施形態では、センサのオフセットを推定する値を表す状態変数が、3次元角速度センサ90のオフセット推定値gOFF、及び3次元磁気センサ70のオフセット推定値mOFFであるのに対して、センサの温度変化量に基づいて状態変数に生じるプロセスノイズの共分散が定められる状態変数は、3次元磁気センサ70のオフセット推定値mOFFである。つまり、本実施形態では、3次元磁気センサ70のオフセット推定値mOFFが、オフセット推定ベクトルに該当する。
Of the state variables representing values for estimating the sensor offset, a state variable in which the covariance of process noise occurring in the state variable is determined based on the temperature change amount of the sensor is referred to as an “offset estimation vector”. There is a case.
In the present embodiment, the state variables representing the values for estimating the sensor offset are the offset estimated value g OFF of the three-dimensional
時刻T=kにおける観測残差zkは、実際の観測値ベクトルykと、推定観測値ベクトルy− kとに基づいて定められるベクトルであり、以下に示す式(13)で表される。カルマンフィルタは、以下の式(15)に示すように、観測残差zk、推定状態ベクトルx− k、及び、式(14)に示すカルマンゲインKkを用いて、更新後の状態ベクトルx+ kを算出する。また、カルマンフィルタは、以下の式(16)に示すように、状態ベクトルxkの推定誤差の共分散Pkを更新する。
ここで、P− kは、推定状態ベクトルx− kの推定誤差の共分散であり、P+ kは、更新後の状態ベクトルx+ kの推定誤差の共分散である。また、Pyy kは、観測残差zkの共分散であり、Pxy kは、推定状態ベクトルx− kと、推定観測値ベクトルy− kとの相互共分散行列である。
Here, P − k is the covariance of the estimated error of the estimated state vector x − k , and P + k is the covariance of the estimated error of the updated state vector x + k . P yy k is a covariance of the observation residual z k , and P xy k is a mutual covariance matrix of the estimated state vector x − k and the estimated observation value vector y − k .
なお、推定観測値ベクトルy− kは、推定状態ベクトルx− k(厳密には、推定シグマポイントχ− k)を、式(9)に示す観測モデルに適用することで算出される値である。よって、推定観測値ベクトルy− kと実際のセンサ出力に基づく観測値ベクトルykとの差分である観測残差zkは、推定状態ベクトルx− kと実際の物理量を正確に表した値(真値)との近似度を示す値である。
従って、式(15)に示すように、観測残差zkを用いて、推定状態ベクトルx− kを、更新後の状態ベクトルx+ kへと更新することにより、状態ベクトルxkの各要素を真値に近い値へと近付けることができる。
Note that the estimated observation value vector y − k is a value calculated by applying the estimated state vector x − k (strictly, the estimated sigma point χ − k ) to the observation model shown in Expression (9). . Therefore, the observation residual z k that is the difference between the estimated observation vector y − k and the observation vector y k based on the actual sensor output is a value that accurately represents the estimated state vector x − k and the actual physical quantity ( This is a value indicating the degree of approximation to the true value.
Therefore, as shown in Expression (15), by using the observation residual z k , the estimated state vector x − k is updated to the updated state vector x + k , whereby each element of the state vector x k Can be brought closer to the true value.
カルマンフィルタ演算部300は、アンセンテッド変換を用いたシグマポイントカルマンフィルタを用いて、非線形カルマンフィルタの演算を実行する。
図3に示すように、遅延部310は、加算器390から出力される更新後の状態ベクトルx+ kを、単位時間(時刻T=k−1から時刻T=kに相当する時間)だけ遅延させることで、状態ベクトルx+ k−1を生成し、これを、シグマポイント生成部320に対して出力する。なお、初回の演算(時刻T=0における演算)では、遅延部310は、初期値生成部200が出力する初期ベクトルINIを、状態ベクトルx+ k−1に適用する。
The Kalman
As illustrated in FIG. 3, the
シグマポイント生成部320は、3次元磁気センサ70が順次出力する温度データTm,kを式(11)に適用し、行列Qm,k−1を算出することで、式(10)に示すプロセスノイズwkの共分散Qk−1を算出する。
The sigma
また、シグマポイント生成部320は、「dim(x)」行「dim(x)」列の共分散行列P+ k−1及びQk−1を用いて、「2dim(x)+1」個のシグマポイントを生成する。
具体的には、まず、複数のシグマポイントの平均に対して、平均のまわりのシグマポイントの広がりを表すスケーリングパラメータλを用いて、式(17)及び式(18)に示すベクトルσk(1)〜σk(2dim(x))を定義する。
Specifically, first, with respect to the average of a plurality of sigma points, using the scaling parameter λ representing the spread of the sigma points around the average, the vector σ k (1) expressed by the equations (17) and (18) is used. ) To σ k (2dim (x)).
このとき、シグマポイント生成部320は、ベクトルσk−1と状態ベクトルx+ k−1とに基づいて、式(19)及び式(20)で示される「2dim(x)+1」個のシグマポイントχ+ k−1(0)〜χ+ k−1(2dim(x))を生成する。
状態遷移演算部330は、式(21)に示すように、時刻T=k−1における「2dim(x)+1」個のシグマポイントχ+ k−1(0)〜χ+ k−1(2dim(x))の各々を、状態方程式fに適用することにより、時刻T=kにおける「2dim(x)+1」個の推定シグマポイントχ− k(0)〜χ− k(2dim(x))を算出する。
次に、推定状態ベクトル算出部340は、式(22)に示すように、時刻T=kにおける「2dim(x)+1」個の推定シグマポイントχ− k(0)〜χ− k(2dim(x))の平均値を計算することで、推定状態ベクトルx− kを算出する。
また、推定状態ベクトル算出部340は、式(23)に示すように、推定状態ベクトルx− kの推定誤差の共分散P− kを算出する。ここで、ベクトルξjは、以下の式(24)に示す、推定シグマポイントχ− k(j)と推定状態ベクトルx− kとの差分を表すベクトルである。
このように、シグマポイント生成部320、状態遷移演算部330、及び、推定状態ベクトル算出部340は、状態遷移モデルにおいて状態ベクトルx+ k−1に生じるプロセスノイズwkの共分散Qk−1を算出するとともに、状態ベクトルx+ k−1を状態遷移モデルに適用することで推定状態ベクトルx− kを算出する、状態遷移モデル部410として機能する。
As described above, the sigma
一方、推定観測値算出部350は、式(25)に示すように、時刻T=kにおける「2dim(x)+1」個の推定シグマポイントχ− k(0)〜χ− k(2dim(x))の各々を、観測方程式hに適用することにより、「2dim(x)+1」個の推定観測値γk(0)〜γk(2dim(x))を算出する。
そして、推定観測値ベクトル算出部360は、式(26)に示すように、「2dim(x)+1」個の推定観測値γk(0)〜γk(2dim(x))の平均を演算することにより、推定観測値ベクトルy− kを算出する。
また、推定観測値ベクトル算出部360は、式(27)に示すように、観測残差の共分散Pyy kを算出する。ここで、ベクトルζjは、以下の式(28)に示すように、推定観測値γk(j)と推定観測値ベクトルy− kとの差分を表すベクトルである。
このように、推定観測値算出部350、及び、推定観測値ベクトル算出部360は、推定シグマポイントχ− k(0)〜χ− k(2dim(x))の各々を観測モデルに適用することで推定観測値ベクトルy− kを算出する観測モデル部420として機能する。
Thus, the estimated observation
減算器370は、式(13)に示したように、観測値ベクトルykと、推定観測値ベクトルy− kとの差分として、観測残差zkを算出する。
カルマンゲイン付与部380は、式(29)に示すように、相互共分散行列Pxy kを算出する。そして、カルマンゲイン付与部380は、式(14)に示したように、観測残差の共分散Pyy kと、相互共分散行列Pxy kとに基づいて、カルマンゲインKkを算出し、式(15)の右辺第2項(Kkzk)の演算を実行する。また、カルマンゲイン付与部380は、式(16)に示したように、状態ベクトルxkの推定誤差の共分散Pkを、P− kからP+ kに更新する。
The Kalman
加算器390は、式(15)に示したように、推定状態ベクトルx− kと、カルマンゲイン付与部380から出力される式(15)の右辺第2項(Kkzk)とを加算することにより、更新後の状態ベクトルx+ kを算出する。
The
このように、減算器370、カルマンゲイン付与部380、及び、加算器390は、観測残差zk、カルマンゲインKk、及び、推定状態ベクトルx− kを用いて、状態ベクトルx+ k−1を更新した更新後の状態ベクトルx+ kを算出する更新部430として機能する。
As described above, the
次に、状態遷移モデル部410において用いられる状態遷移モデルのうち、状態遷移演算部330における演算で用いられる状態方程式fについて説明する。
Next, of the state transition models used in the state
まず、状態方程式fのうち、時刻T=k−1における姿勢μ+ k−1から、単位時間経過後の時刻T=kにおける姿勢μ− kを推定する演算は、以下に示す式(30)として表される。ここで、μ− kは、時刻kにおける推定状態ベクトルx− kのうち、姿勢μを表す状態変数に対応する要素である。
なお、式(30)の右辺の演算子Ωは、式(31)により定義される。ここで、I3×3は3行3列の単位行列を表す。3次元ベクトルl=(l1,l2,l3)に対して、演算子[l×]は、式(32)で定義される。また、単位時間(時刻T=k−1から時刻T=kまでの測定時間間隔)をΔtで表し、時刻T=kにおける更新後の状態ベクトルx+ kのうち角速度を表す状態変数に対応する要素をω+ kで表したとき、演算子Ωを構成する成分Ψ+ kは、式(33)で定義される。
Note that the operator Ω on the right side of the equation (30) is defined by the equation (31). Here, I 3 × 3 represents a unit matrix of 3 rows and 3 columns. For the three-dimensional vector l = (l 1 , l 2 , l 3 ), the operator [l ×] is defined by equation (32). Further, unit time (measurement time interval from time T = k−1 to time T = k) is represented by Δt, and corresponds to a state variable representing an angular velocity in the state vector x + k after the update at time T = k. When the element is represented by ω + k , the component Ψ + k constituting the operator Ω is defined by Expression (33).
姿勢μは、クォータニオンで表現され、式(2)に示すように、正規化条件||μ||=1を満たす必要がある。しかし、シグマポイントカルマンフィルタを用いて状態ベクトルxkを更新する場合、更新後の状態ベクトルx+ kは、式(22)に示すように、推定シグマポイントχ− k(j)の平均として算出される推定状態ベクトルx− kに基づいて定められるため、(更新前の)状態ベクトルx+ k−1のノルムと、更新後の状態ベクトルx+ kのノルムとは、異なる値となることがある。従って、シグマポイントカルマンフィルタの演算を行う場合、(更新前の)状態ベクトルx+ k−1の要素である姿勢μ+ k−1のノルムと、更新後の状態ベクトルx+ kの要素である姿勢μ+ kのノルムとは、異なる値となる可能性が存在する。つまり、シグマポイントカルマンフィルタの演算を行う場合、姿勢μについての正規化条件が満たされなくなる可能性が存在する。
そこで、姿勢μに対して何らかの演算が行われるときには、演算後の結果をそのベクトル自身の大きさで正規化する。
なお、より厳密に正規化条件を保つためには、状態ベクトルxkを構成する要素のうち姿勢μkについてはMRPs (modified Rodrigues parameters)を用いて前時刻との差分情報だけに限定し、カルマンフィルタの外部にある姿勢情報をカルマンフィルタから得られる差分情報に基づいて更新すればよい。
The attitude μ is expressed by a quaternion and needs to satisfy the normalization condition || μ || = 1 as shown in the equation (2). However, when the state vector x k is updated using the sigma point Kalman filter, the updated state vector x + k is calculated as an average of the estimated sigma points χ − k (j) as shown in Equation (22). that the estimated state vector x - since that is determined based on k, the norm of the (pre-update) the state vector x + k-1, and the norm of the state vector x + k after update, it may become different values . Accordingly, when the sigma point Kalman filter is calculated, the norm of the posture μ + k−1 that is an element of the state vector x + k−1 (before update) and the posture that is an element of the state vector x + k after update. There is a possibility of a different value from the norm of μ + k . That is, when performing the sigma point Kalman filter calculation, there is a possibility that the normalization condition for the posture μ is not satisfied.
Therefore, when any calculation is performed on the posture μ, the result after the calculation is normalized by the size of the vector itself.
In order to maintain the normalization condition more strictly, the posture μ k among elements constituting the state vector x k is limited to only the difference information from the previous time using MRPs (modified Rodrigues parameters), and the Kalman filter May be updated based on the difference information obtained from the Kalman filter.
地磁気の強さr及び地磁気の伏角φは、変化を予測することが難しい。そこで、本実施形態に係る状態遷移モデルでは、便宜上、時刻T=kにおける地磁気の強さrk及び伏角φkと、時刻T=k−1における地磁気の強さrk−1及び伏角φk−1とは各々等しい値であると仮定する。
同様に、3次元角速度センサ90のオフセット推定値gOFFは、変化を予測することが難しい。そこで、本実施形態に係る状態遷移モデルでは、便宜上、時刻T=kにおける3次元角速度センサ90のオフセット推定値gOFF,Kと、時刻T=k−1における3次元角速度センサ90のオフセット推定値gOFF,K−1とは等しい値であると仮定する。
It is difficult to predict changes in the geomagnetic strength r and the geomagnetic dip angle φ. Therefore, in the state transition model according to the present embodiment, for the sake of convenience, the geomagnetic strength r k and the dip angle φ k at time T = k, and the geomagnetic strength r k-1 and the dip angle φ k at time T = k−1. It is assumed that −1 is an equal value.
Similarly, it is difficult to predict a change in the estimated offset value g OFF of the three-dimensional
携帯機器1の角速度ωは、携帯機器1の利用者による携帯機器1の動かし方に依存して変化するため、時刻T=k−1の角速度ωk−1を用いて、時刻T=kにおける角速度ωkを定式化することは難しい。そこで、本実施形態に係る状態遷移モデルでは、便宜上、時刻T=kにおける角速度ωkと、時刻T=k−1における角速度ωk−1とは等しいと仮定する。
Since the angular velocity ω of the
前述の通り、3次元磁気センサ70のオフセットは、携帯機器1の部品が発する内部磁界Biの方向及び大きさをセンサ座標系ΣSにおいて表現したベクトルである。従って、携帯機器1の内部状態が一定である間は、3次元磁気センサ70のオフセットも変化しない。一方、携帯機器1の内部状態が変化した場合、例えば、携帯機器1に搭載された部品を流れる電流の大きさが変化した場合や、携帯機器1に搭載された部品の着磁状況が変化した場合には、3次元磁気センサ70のオフセットも変化する。すなわち、携帯機器1の内部状態は、携帯機器1の利用者による携帯機器1の操作や、携帯機器1の外部の環境等に依存して変化する。従って、3次元磁気センサ70のオフセットが変化するタイミングや3次元磁気センサ70のオフセットの変化量を予測することは困難であり、時刻T=k−1における3次元磁気センサ70のオフセット推定値mOFF,K−1を用いて、時刻T=kにおける3次元磁気センサ70のオフセット推定値mOFF,Kを定式化することは難しい。
そこで、本実施形態に係る状態遷移モデルでは、便宜上、時刻T=kにおける3次元磁気センサ70のオフセット推定値mOFF,Kと、時刻T=k−1における3次元磁気センサ70のオフセット推定値mOFF,K−1とは等しいと仮定する。
As described above, the offset of the three-dimensional
Therefore, in the state transition model according to the present embodiment, for convenience, the estimated offset value m OFF, K of the three-dimensional
このように、本実施形態に係る状態遷移モデルにおける状態方程式fは、以下に示す式(34)のように、状態ベクトルxkを構成する複数の状態変数のうち、姿勢μkを表す状態変数以外は、前の時刻から変化しないことを表す方程式として、定式化される。
このように、状態ベクトルxkを、状態方程式fに適用した場合、状態ベクトルxkのうち、姿勢μk以外の各要素の示す値は変化しない。
しかし、状態ベクトルxkのうち姿勢μk以外の各要素は、加算器390において、観測残差zkに基づいて真値に近づくように更新される。つまり、式(15)に示すように、状態ベクトルxkの各要素は、状態遷移モデルにより算出される推定状態ベクトルx− kと、複数のセンサからの出力値(観測値ベクトルyk)を用いて算出される観測残差zkとの双方に基づいて、真値に近づくように更新される。
As described above, when the state vector x k is applied to the state equation f, the value indicated by each element other than the posture μ k in the state vector x k does not change.
However, each element of the state vector x k other than the posture μ k is updated by the
式(15)に示すように、推定状態ベクトルx− k及び観測残差zkの、更新後の状態ベクトルx+ kに対する寄与の割合は、カルマンゲインKkによって定められる。
すなわち、カルマンゲインKkの各成分を適切に定めることができれば、更新後の状態ベクトルx+ kに占める推定状態ベクトルx− kの割合と、更新後の状態ベクトルx+ kに占める観測残差zkの割合とが、適切に調整され、更新後の状態ベクトルx+ kの各要素が真値から乖離することを防止することが可能となる。
As shown in equation (15), the estimated state vector x - of k and observation residuals z k, the rate of contribution to the state vector x + k after update is determined by the Kalman gain K k.
In other words, the Kalman gain K k if it is possible to properly determine the components of the estimated state vector x accounts for the state vector x + k after update - k and the ratio of the observed residuals occupying the state vector x + k after update The ratio of z k is appropriately adjusted, and it is possible to prevent each element of the updated state vector x + k from deviating from the true value.
ところで、状態遷移モデルにおいて用いられる状態方程式が、状態推定装置が推定するシステムの経時的な変化を正確に表すことができない場合、状態方程式を用いて算出された推定状態ベクトルx− kの各要素は、真値から乖離した値となっている可能性が高い。
この場合、例えば、カルマンゲインKkの各成分を大きな値とし、式(15)における第2項(Kkzk)の各要素を大きな値とすることで、更新後の状態ベクトルx+ kに占める推定状態ベクトルx− kの割合を相対的に小さくする。これにより、更新後の状態ベクトルx+ kの各要素が真値から乖離することを防止することが可能となる。
By the way, when the state equation used in the state transition model cannot accurately represent the change over time of the system estimated by the state estimation device, each element of the estimated state vector x − k calculated using the state equation Is likely to be a value deviating from the true value.
In this case, for example, each component of the Kalman gain K k is set to a large value, and each element of the second term (K k z k ) in Equation (15) is set to a large value, so that the updated state vector x + k The ratio of the estimated state vector x - k to the relative value is relatively small. Thereby, it becomes possible to prevent each element of the updated state vector x + k from deviating from the true value.
本実施形態に係る状態方程式fは、式(34)に示すように、3次元磁気センサ70のオフセット推定値mOFFが一定の値であること(経時的な変化をしないこと)を表した方程式である。しかし、実際には、3次元磁気センサ70に温度変化が生じた場合、3次元磁気センサ70のオフセット(真値)は変化する。そして、3次元磁気センサ70のオフセットの変化の大きさは、3次元磁気センサ70の温度変化量ΔTm,kの大きさに基づいて定められる。すなわち、温度変化量ΔTm,kが大きな値となる場合、状態方程式fを用いて算出される3次元磁気センサ70のオフセット推定値mOFFは、3次元磁気センサ70のオフセットの実際の値(真値)とは乖離した値として算出される。つまり、温度変化量ΔTm,kが大きな値となる場合、状態方程式fは、状態推定装置が推定するシステムを表す物理量の経時的な変化を正確に表現することができない。
The state equation f according to the present embodiment is an equation representing that the estimated offset value m OFF of the three-dimensional
そこで、本実施形態では、式(10)、式(11)、及び式(12)に示すように、3次元磁気センサ70の温度変化量ΔTm,kに基づいて、プロセスノイズwkの共分散Qkを定める。
プロセスノイズwkは、状態方程式fと、状態推定装置が推定するシステムを表す物理量の経時的な変化との間に存在する誤差を表現する。よって、3次元磁気センサ70の温度変化に起因する、状態方程式fと、システムの経時的な変化との間に存在する誤差は、プロセスノイズwk(及び、その共分散Qk)により表現することが可能となる。
詳細は後述するが、カルマンゲインKkは、プロセスノイズwk−1の共分散Qk−1に基づいて定められる。よって、カルマンゲインKkは、温度変化量ΔTm,k−1に基づいて定められる。その結果、式(15)に示すカルマンゲインKkを用いた状態ベクトルxkの更新において、更新後の状態ベクトルx+ kは、3次元磁気センサ70の温度変化に起因して状態方程式fとシステムの経時的な変化との間に生じる誤差を考慮して算出されることになる。
すなわち、本実施形態によれば、3次元磁気センサ70の温度変化に起因して、状態方程式fとシステムの経時的な変化との間に誤差が生じた場合であっても、当該誤差を考慮して更新後の状態ベクトルx+ kが定められるため、更新後の状態ベクトルx+ kの各要素が真値から乖離する可能性を低減させることが可能となる。
Therefore, in the present embodiment, as shown in Expression (10), Expression (11), and Expression (12), the process noise w k is shared based on the temperature change amount ΔT m, k of the three-dimensional
The process noise w k expresses an error that exists between the state equation f and the change over time of the physical quantity representing the system estimated by the state estimation device. Therefore, the error existing between the state equation f and the change with time of the system due to the temperature change of the three-dimensional
Although details will be described later, the Kalman gain K k is determined based on the covariance Q k−1 of the process noise w k−1 . Therefore, the Kalman gain K k is determined based on the temperature change amount ΔT m, k−1 . As a result, in the update of the state vector x k using the Kalman gain K k shown in equation (15), the updated state vector x + k is derived from the state equation f due to the temperature change of the three-dimensional
That is, according to the present embodiment, even if an error occurs between the state equation f and the change over time of the system due to the temperature change of the three-dimensional
以下、カルマンゲインKkが、プロセスノイズwk−1の共分散Qk−1に基づいて定められることについて説明する。
まず、式(17)及び式(18)に示すように、複数のシグマポイントχ+ k−1(1)〜χ+ k−1(2dim(x))の平均に対する広がりの大きさは、プロセスノイズwk−1の共分散Qk−1に基づいて定められる。そして、式(21)、式(22)、及び式(24)に示すように、複数のシグマポイントχ+ k−1(1)〜χ+ k−1(2dim(x))の広がりの大きさに基づいて、ベクトルξ1〜ξ2dim(x)の各々が定められる。また、式(23)に示すように、推定状態ベクトルx− kの推定誤差の共分散P− kは、ベクトルξ1〜ξ2dim(x)に基づいて定められる。このように、推定状態ベクトルx− kの推定誤差の共分散P− kは、プロセスノイズwk−1の共分散Qk−1に基づいて定められる。
同様に、式(25)、式(26)、及び式(28)に示すように、複数のシグマポイントχ+ k−1(1)〜χ+ k−1(2dim(x))の広がりの大きさに基づいて、ベクトルζ1〜ζ2dim(x)の各々が定められる。そして、式(29)に示すように、相互共分散行列Pxy kは、ベクトルξ1〜ξ2dim(x)と、ベクトルζ1〜ζ2dim(x)とに基づいて定められる。また、式(27)に示すように、観測残差の共分散Pyy kは、ベクトルζ1〜ζ2dim(x)に基づいて定められる。このように、相互共分散行列Pxy kと、観測残差の共分散Pyy kとは、プロセスノイズwk−1の共分散Qk−1に基づいて定められる。
カルマンゲインKkは、式(14)に示すように、相互共分散行列Pxy kと、観測残差の共分散Pyy kとに基づいて定められる。従って、カルマンゲインKkは、プロセスノイズwk−1の共分散Qk−1に基づいて定められることになる。
Hereinafter, it will be described that the Kalman gain K k is determined based on the covariance Q k−1 of the process noise w k−1 .
First, as shown in equations (17) and (18), the magnitude of the spread with respect to the average of a plurality of sigma points χ + k−1 (1) to χ + k−1 (2dim (x)) It is determined based on the covariance Q k−1 of the noise w k−1 . Then, as shown in Expression (21), Expression (22), and Expression (24), the spread of a plurality of sigma points χ + k−1 (1) to χ + k−1 (2dim (x)) is large. Based on this, each of the vectors ξ 1 to ξ 2 dim (x) is determined. Further, as shown in equation (23), the estimated state vector x - k of the estimation error covariance P - k is determined based on the vector ξ 1 ~ξ 2dim (x). Thus, the estimated state vector x - covariance P of k of the estimation error - k is determined based on the covariance Q k-1 of the process noise w k-1.
Similarly, as shown in Expression (25), Expression (26), and Expression (28), the spread of a plurality of sigma points χ + k−1 (1) to χ + k−1 (2dim (x)) Based on the magnitude, each of vectors ζ 1 to ζ 2 dim (x) is determined. As shown in Expression (29), the mutual covariance matrix P xy k is determined based on the vectors ξ 1 to ξ 2 dim (x) and the vectors ζ 1 to ζ 2 dim (x) . Further, as shown in Expression (27), the covariance P yy k of the observation residual is determined based on the vectors ζ 1 to ζ 2dim (x) . Thus, the mutual covariance matrix P xy k and the observation residual covariance P yy k are determined based on the covariance Q k−1 of the process noise w k−1 .
As shown in the equation (14), the Kalman gain K k is determined based on the mutual covariance matrix P xy k and the observation residual covariance P yy k . Therefore, the Kalman gain K k is determined based on the covariance Q k−1 of the process noise w k−1 .
仮に、プロセスノイズwk−1の共分散Qk−1が、温度変化量ΔTm,k−1を考慮せずに定められる場合、カルマンゲインKkの各成分も、温度変化量ΔTm,k−1を考慮せずに定められる。この場合、更新後の状態ベクトルx+ kも、温度変化量ΔTm,k−1を考慮せずに定められるため、更新後の状態ベクトルx+ kの各要素が、真値から乖離した値となる可能性が高い。
これに対して、本実施形態に係る状態推定装置は、上述したように、温度変化量ΔTm,k−1に基づいて、プロセスノイズwk−1の共分散Qk−1を定める。
具体的には、状態遷移モデルにおいて状態ベクトルxkに生じるプロセスノイズwk−1の共分散Qk−1のうち、3次元磁気センサ70のオフセット推定値mOFF,kに生じるプロセスノイズの共分散を表す行列Qm,k−1は、温度変化量ΔTm,k−1に基づいて定められる。従って、カルマンゲインKkのうち、3次元磁気センサ70のオフセット推定値mOFF,kに対応する成分の各々の値は、温度変化量ΔTm,k−1に基づいて決定される。
その結果、更新後の状態ベクトルx+ kのうち3次元磁気センサ70のオフセット推定値mOFF + kに対応する要素が、3次元磁気センサ70の温度変化量ΔTm,k−1を考慮して算出されるため、更新後の状態ベクトルx+ kのうち3次元磁気センサ70のオフセット推定値mOFF + kに対応する要素が、3次元磁気センサ70のオフセットの実際の値(真値)とは乖離した値として算出されることを防止することができる。
If the covariance Q k−1 of the process noise w k−1 is determined without considering the temperature change ΔT m, k−1 , each component of the Kalman gain K k is also the temperature change ΔT m, It is determined without considering k-1 . In this case, since the updated state vector x + k is also determined without considering the temperature variation ΔT m, k−1 , the values of the updated state vector x + k deviate from the true values. Is likely.
On the other hand, as described above, the state estimation device according to the present embodiment determines the covariance Q k−1 of the process noise w k−1 based on the temperature change amount ΔT m, k−1 .
Specifically, among the covariance Q k−1 of the process noise w k−1 generated in the state vector x k in the state transition model, the process noise generated in the offset estimated value m OFF, k of the three-dimensional
As a result, the element corresponding to the offset estimated value m OFF + k of the three-dimensional
次に、観測モデル部420において用いられる観測モデルのうち、推定観測値算出部350における演算で用いられる観測方程式hについて説明する。
Next, among the observation models used in the
3次元角速度センサ90から出力される角速度データgの推定値γgyroは、角速度ωと、角速度センサのオフセット推定値gOFFとを用いて、式(35)で与えられる。
また、地上座標系ΣGにおいて地磁気Bgを表すベクトルGBgは式(36)で与えられる。従って、3次元磁気センサ70から出力される磁気データmの推定値γmagは、磁気センサのオフセット推定値mOFFと、式(6)で示した行列B(μ)とを用いて、式(37)で与えられる。
また、観測モデルにおいて、3次元加速度センサ80から出力される加速度データaの推定値γaccは、式(6)で示した行列B(μ)と、ベクトルGGRVとを用いて、式(38)で与えられる。なお、ベクトルGGRVは、以下の式(39)に示すように、地上座標系ΣGにおいて重力加速度を表したベクトルを、重力加速度の大きさで正規化した3次元のベクトルである。
このように、本実施形態に係る観測モデルにおける観測方程式hは、式(35)、式(37)、及び式(38)により定式化される。
そして、式(3)を式(13)の右辺第1項に代入し、式(35)、式(37)、及び式(38)を用いて式(13)の右辺第2項を表すことにより、式(13)を、以下の式(40)に変形することができる。このとき、観測残差zkは、式(40)により算出される。
Then, substituting Equation (3) into the first term on the right side of Equation (13) and expressing the second term on the right side of Equation (13) using Equation (35), Equation (37), and Equation (38). Thus, the equation (13) can be transformed into the following equation (40). At this time, the observation residual z k is calculated by Expression (40).
[3. 出力情報について]
出力情報生成部500は、カルマンフィルタ演算部300が周期的に出力する状態ベクトルxkに基づいて、携帯機器1の姿勢μを算出し、これを出力情報として出力する。
なお、本実施形態では、出力情報生成部500は姿勢μを出力情報として出力するが、本発明はこのような形態に限られるものではなく、携帯機器1が備える各種センサの出力値と、状態ベクトルxkとに基づいて算出される情報を出力情報としてもよい。
例えば、出力情報生成部500は、携帯機器1から見た地磁気Bgの向きを出力情報として算出するものであってもよい。具体的には、出力情報生成部500は、3次元磁気センサ70から出力される磁気データmkと、状態ベクトルxkの要素である3次元磁気センサ70のオフセット推定値mOFF,kとに基づいて、センサ座標系ΣSにおける地磁気Bgを表すベクトルSBgを算出し、これを出力情報として出力するものであってもよい。
[3. About output information]
The output
In the present embodiment, the output
For example, the output
[4. 結論]
以上に示したように、本実施形態に係る状態推定装置は、3次元磁気センサ70の温度変化量ΔTm,kに基づいて、行列Qm,kの各成分の値を設定する。
3次元磁気センサ70の温度変化量ΔTm,kが大きな値となる場合、状態遷移モデルにおける3次元磁気センサ70のオフセット推定値mOFFの経時的な変化と、3次元磁気センサ70のオフセット(真値)の経時的な変化とが、異なる場合がある。これに対して本実施形態では、行列Qm,kを、温度変化量ΔTm,kに基づいて定めるため、3次元磁気センサ70の温度が変化し、状態遷移モデルがシステムの経時的な変化を正確に表現できなくなったときに生じる、状態遷移モデルが表現するシステムの経時的な変化と、実際のシステムの経時的な変化との誤差を考慮して状態ベクトルxkの更新を行うことが可能となる。これにより、状態ベクトルxkの各要素が、真値から乖離する可能性を低減させることが可能となった。すなわち、本実施形態に係る状態推定装置は、非線形カルマンフィルタの演算において、状態ベクトルxkの各要素が真値から乖離する可能性を低減させることで、正確且つ高速な状態推定が可能となった。
[4. Conclusion]
As described above, the state estimation device according to the present embodiment sets the value of each component of the matrix Q m, k based on the temperature change amount ΔT m, k of the three-dimensional
When the temperature change amount ΔT m, k of the three-dimensional
<B.変形例>
本発明は上述した実施形態に限定されるものではなく、例えば、以下の変形が可能である。また、以下に示す変形例のうちの2以上の変形例を組み合わせることもできる。
<B. Modification>
The present invention is not limited to the above-described embodiments, and for example, the following modifications are possible. Also, two or more of the modifications shown below can be combined.
(1)変形例1
上述した実施形態に係る状態推定装置は、シグマポイントカルマンフィルタを用いて非線形カルマンフィルタの演算を実行するものであったが、本発明はこのような形態に限定されるものでは無く、拡張カルマンフィルタ等、公知の非線形カルマンフィルタを適宜適用して演算を行うものでもよい。
図4は、変形例1に係る状態推定プログラムを実行したときに実現される機能を表した機能ブロック図である。図4に示すように、変形例1に係る状態推定装置は、カルマンフィルタ演算部300の代わりにカルマンフィルタ演算部300aを備える点を除き、実施形態に係る状態推定装置と同様に構成される。そして、変形例1に係るカルマンフィルタ演算部300aは、状態遷移モデル部410を備える代わりに、状態遷移モデル部410aを備える点と、観測モデル部420を備える代わりに、観測モデル部420aを備える点とを除いて、カルマンフィルタ演算部300と同様に構成される。
(1)
Although the state estimation apparatus according to the above-described embodiment executes the operation of the nonlinear Kalman filter using the sigma point Kalman filter, the present invention is not limited to such a form and is known as an extended Kalman filter or the like. The calculation may be performed by appropriately applying the nonlinear Kalman filter.
FIG. 4 is a functional block diagram showing functions realized when the state estimation program according to the first modification is executed. As illustrated in FIG. 4, the state estimation device according to the first modification is configured in the same manner as the state estimation device according to the embodiment except that a Kalman
状態遷移モデル部410aは、状態ベクトルx+ k−1を、式(8)に示す状態遷移モデルに適用することで、推定状態ベクトルx− kを算出する。また、状態遷移モデル部410aは、式(10)〜式(12)に示すように、3次元磁気センサ70の温度変化量ΔTm,kに基づいて、プロセスノイズwkの共分散Qkを算出する。
観測モデル部420aは、推定状態ベクトルx− kを、式(9)に示す観測モデルに適用することにより、推定観測値ベクトルy− kを算出する。
このように、変形例1に係る非線形カルマンフィルタの演算では、複数のシグマポイントを生成することなく、状態ベクトルx+ kを更新する。
The state
The
Thus, in the calculation of the nonlinear Kalman filter according to the first modification, the state vector x + k is updated without generating a plurality of sigma points.
一般的に非線形カルマンフィルタは、カルマンゲインKを、プロセスノイズwの共分散Qに基づいて定める。変形例1に係る状態推定装置は、実施形態に係る状態推定装置と同様、プロセスノイズwkの共分散Qkを、3次元磁気センサ70の温度変化量ΔTm,kに基づいて定める。従って、3次元磁気センサ70の温度変化量ΔTm,kが大きな値となる場合であっても、更新後の状態ベクトルx+ k+1の各要素が真値から乖離する可能性を低減させることが可能となる。
すなわち、本発明は、状態推定装置が備えるセンサの温度変化に起因する、状態推定精度の劣化を防止することを目的としたものであり、状態推定装置が使用する非線形カルマンフィルタの種類を問わず適用することが可能である。
In general, the nonlinear Kalman filter determines the Kalman gain K based on the covariance Q of the process noise w. Similar to the state estimation device according to the embodiment, the state estimation device according to Modification 1 determines the covariance Q k of the process noise w k based on the temperature change ΔT m, k of the three-dimensional
That is, the present invention is intended to prevent deterioration of state estimation accuracy due to a temperature change of a sensor included in the state estimation device, and is applicable regardless of the type of nonlinear Kalman filter used by the state estimation device. Is possible.
(2)変形例2
上述した実施形態及び変形例に係る状態推定装置は、非線形カルマンフィルタを用いた演算を行うことでシステムの状態を推定するものであったが、本発明はこれに限定されるものではなく、線形カルマンフィルタを用いた演算によりシステムの状態を推定するものであってもよい。すなわち、状態方程式f及び観測方程式hは線形関数であってもよい。
一般的に、線形カルマンフィルタは、カルマンゲインKを、プロセスノイズwの共分散Qに基づいて定める。従って、線形カルマンフィルタを用いた演算によりシステムの状態を推定する場合であっても、プロセスノイズwkの共分散Qkを、3次元磁気センサ70の温度変化量ΔTm,kに基づいて定めることにより、3次元磁気センサ70に温度変化が生じても、状態ベクトルxkが真値から乖離した値に更新されることを防止することが可能となる。
(2) Modification 2
Although the state estimation device according to the above-described embodiment and the modification estimates the system state by performing a calculation using a nonlinear Kalman filter, the present invention is not limited to this, and the linear Kalman filter It is also possible to estimate the state of the system by an operation using. That is, the state equation f and the observation equation h may be linear functions.
In general, the linear Kalman filter determines the Kalman gain K based on the covariance Q of the process noise w. Accordingly, even when the state of the system is estimated by calculation using a linear Kalman filter, the covariance Q k of the process noise w k is determined based on the temperature change ΔT m, k of the three-dimensional
(3)変形例3
上述した実施形態及び変形例に係る状態推定装置は、温度検出部がセンサの内部に配置されるものであったが、本発明はこのような構成に限定されるものではなく、温度検出部がセンサの外部に配置されるものであってもよい。
図5は、変形例3に係る携帯機器1aを表すブロック図である。携帯機器1aは、第1温度検出部75aを備える点と、3次元磁気センサ70の代わりに3次元磁気センサ70aを備える点とを除き、実施形態に係る携帯機器1と同様に構成される。
3次元磁気センサ70aは、X軸磁気センサ71、Y軸磁気センサ72、及び、Z軸磁気センサ73と、これら磁気センサ71〜73からの出力信号をAD変換して、磁気データmを出力する磁気センサI/F74aとを備える。第1温度検出部75aは、3次元磁気センサ70aの温度を検出し、温度データTmを出力する。すなわち、第1温度検出部75aは、携帯機器1aの備えるセンサの温度を検出する温度検出部として機能する。
変形例3に係る状態推定装置は、3次元磁気センサ70aの外部に配置される第1温度検出部75aが、3次元磁気センサ70aの温度を検出するため、プロセスノイズwkの共分散Qkを、3次元磁気センサ70aの温度変化量に基づいて定めることができる。これにより、状態ベクトルxkが真値から乖離した値に更新されることを防止することができる。
(3) Modification 3
In the state estimation device according to the embodiment and the modification described above, the temperature detection unit is arranged inside the sensor, but the present invention is not limited to such a configuration, and the temperature detection unit It may be arranged outside the sensor.
FIG. 5 is a block diagram illustrating a
The three-dimensional
In the state estimation device according to the modified example 3, the first
(4)変形例4
上述した実施形態及び変形例は、3次元磁気センサ70の温度を表す温度データTmに基づいて、プロセスノイズwkの共分散Qkを定めるものであったが、本発明はこのような形態に限定されるものでは無く、3次元磁気センサ70の温度を表す温度データTmに加え、3次元角速度センサ90の温度を表す温度データTgを考慮して、プロセスノイズwkの共分散Qkを定めてもよい。
図6は、変形例4に係る携帯機器1bを表すブロック図である。携帯機器1bは、3次元角速度センサ90の代わりに、3次元角速度センサ90aを備える点を除いて、携帯機器1と同様に構成される。
3次元角速度センサ90aは、3次元角速度センサ90aの温度を検出する第2温度検出部95を備える点と、角速度センサI/F94の代わりに角速度センサI/F94aを備える点とを除いて、3次元角速度センサ90と同様に構成される。角速度センサI/F94aは、X軸角速度センサ91、Y軸角速度センサ92、及び、Z軸角速度センサ93からの出力信号をAD変換して角速度データgを出力するとともに、第2温度検出部95からの出力信号をAD変換して、温度データTgを出力する。
すなわち、変形例4において、第1温度検出部75及び第2温度検出部95は、携帯機器1bの備えるセンサの温度を検出する温度検出部600として機能する。
(4) Modification 4
Embodiments and modifications described above, based on the temperature data T m indicative of the temperature of the three-dimensional
FIG. 6 is a block diagram illustrating a
The three-dimensional
That is, in the modification 4, the 1st
変形例4に係る状態推定装置において、プロセスノイズwkの共分散Qkは、以下の式(41)に示す値に設定される。すなわち、プロセスノイズwkの共分散Qkは、以下の式(41)に示すように、行列Qcst,11、行列Qcst,12、行列Qcst,13、行列Qcst,23、行列Qg,k、及び、行列Qm,kにより構成される。
ここで、行列Qcst,11は9行9列の対称行列であり、行列Qcst,11の各成分は定数である。また、行列Qcst,12は9行3列の零行列であり、行列Qcst,13は9行3列の零行列であり、行列Qcst,23は3行3列の零行列である。行列Qm,kは、実施形態と同様に、式(11)及び式(12)により定められる3行3列の対称行列である。
行列Qg,kは、以下の式(42)及び式(43)に基づいて定められる。ここで、温度変化量ΔTg,kは、以下の式(43)に示すように、時刻T=kにおける温度データTg,kと、時刻T=k−1における温度データTg,k−1との差分の絶対値を表す値である。また、係数αgは、正の実数である。行列Qcst,gは、3次元角速度センサ90aに温度変化が生じても3次元角速度センサ90aのオフセットが変化しないと仮定した状態遷移モデルにおいて、状態ベクトルxkに生じるプロセスノイズwkのうち、3次元角速度センサ90aのオフセット推定値gOFF,kに生じるプロセスノイズの共分散を表す行列である。本実施形態では、行列Qcst,gの各成分は定数とする。
Here, the matrix Q cst, 11 is a 9 × 9 symmetric matrix, and each component of the matrix Q cst, 11 is a constant. The matrix Q cst, 12 is a 9 × 3 zero matrix, the matrix Q cst, 13 is a 9 × 3 zero matrix, and the matrix Q cst, 23 is a 3 × 3 zero matrix. The matrix Q m, k is a 3 × 3 symmetric matrix defined by the equations (11) and (12), as in the embodiment.
The matrix Q g, k is determined based on the following equations (42) and (43). Here, the amount of temperature change [Delta] T g, k, as shown in the following equation (43), time T = temperature data T g in k, k a, the time T = temperature at k-1 data T g, k- It is a value representing the absolute value of the difference from 1 . The coefficient α g is a positive real number. The matrix Q cst, g is the process noise w k generated in the state vector x k in the state transition model that assumes that the offset of the three-dimensional
このように、変形例4に係る状態推定装置は、温度検出部600を備えるため、3次元磁気センサ70の温度変化と、3次元角速度センサ90aの温度変化との双方を考慮して、状態ベクトルxkを更新することが可能となる。
これにより、3次元磁気センサ70及び3次元角速度センサ90aの双方の温度が変化した場合であっても、状態ベクトルxkの各要素が真値から乖離した値となる可能性を低減することが可能となり、正確且つ高速な状態推定が可能となる。
As described above, since the state estimation device according to the modification 4 includes the
Thus, even when the temperature of both the three-dimensional
なお、変形例4では、3次元角速度センサ90aのオフセット推定値gOFFと、3次元磁気センサ70のオフセット推定値mOFFとを要素とする6次元のベクトルが、オフセット推定ベクトルに該当する。
In the fourth modification, a six-dimensional vector having the offset estimated value g OFF of the three-dimensional
変形例4において、温度検出部600は、3次元磁気センサ70及び3次元角速度センサ90aの内部に配置されているが、温度検出部600は、3次元磁気センサ70及び3次元角速度センサ90aの外部に配置されるものであってもよい。
具体的には、第1温度検出部75は3次元磁気センサ70の外部に配置されるものであってもよく、第2温度検出部95は3次元角速度センサ90aの外部に配置されるものであってもよい。
In the modification 4, the
Specifically, the
(5)変形例5
上述した実施形態及び変形例において、状態推定装置は、3次元磁気センサ70、3次元加速度センサ80、及び3次元角速度センサ90を備えたが、本発明はこのような形態に限定されるものではなく、これら3種類のセンサのうち一部のセンサのみを備えるものであってもよい。また、これら3種類のセンサ以外のセンサを備えるものであってもよい。
つまり、本発明に係る状態推定装置は、異種の物理量を測定する複数のセンサを備え、これら複数のセンサの出力を統合しシステムの状態を推定するカルマンフィルタの演算を行うものであればよい。
(5) Modification 5
In the embodiment and the modification described above, the state estimation device includes the three-dimensional
That is, the state estimation apparatus according to the present invention may be any apparatus that includes a plurality of sensors that measure different physical quantities and that performs a Kalman filter operation that estimates the state of the system by integrating the outputs of the plurality of sensors.
例えば、状態推定装置が、異種の物理量を測定する5つのセンサを備え、当該5つのセンサのうち、3つのセンサ(以下、「第1センサ群」と称する)の各々のオフセットを推定の対象とする場合を想定する。
この場合、状態推定装置は、第1センサ群を構成する3つのセンサのうち、1以上のセンサ(以下、「第2センサ群」と称する)の各々の温度を検出する温度検出部を備えるものであってもよい。この例において、温度検出部は、第2センサ群を構成する1以上のセンサの各々に対応する1以上の温度データを出力する。そして、状態推定装置は、温度検出部が出力する1以上の温度データの各々の変化量に基づいて、状態遷移モデルにおいて生じるプロセスノイズの共分散を定める。
すなわち、この例において、第2センサ群を構成する1以上のセンサの各々のオフセットを推定した値を要素とするベクトルが、オフセット推定ベクトルに該当する。そして、状態推定装置は、状態遷移モデルにおいて規定されるプロセスノイズの共分散のうち、オフセット推定ベクトルに生じるプロセスノイズの共分散を、温度検出部が出力する1以上の温度データの各々の変化量に基づいて定める。
これにより、第2センサ群を構成する1以上のセンサのうちいずれかの温度が変化した場合であっても、状態ベクトルxkの各要素が真値から乖離した値となる可能性を低減することが可能となり、正確且つ高速な状態推定が可能となる。
For example, the state estimation device includes five sensors that measure different physical quantities, and among the five sensors, the offset of each of three sensors (hereinafter referred to as “first sensor group”) is an object of estimation. Assume that
In this case, the state estimation device includes a temperature detection unit that detects the temperature of each of one or more sensors (hereinafter referred to as “second sensor group”) among the three sensors constituting the first sensor group. It may be. In this example, the temperature detection unit outputs one or more temperature data corresponding to each of the one or more sensors constituting the second sensor group. Then, the state estimation device determines the covariance of process noise generated in the state transition model based on the amount of change in each of the one or more temperature data output from the temperature detection unit.
That is, in this example, a vector whose element is a value obtained by estimating the offset of each of one or more sensors constituting the second sensor group corresponds to the offset estimation vector. Then, the state estimation device includes a process noise covariance generated in the offset estimation vector among the process noise covariances defined in the state transition model, and a change amount of each of the one or more temperature data output by the temperature detection unit. Determine based on.
Accordingly, even when any temperature among the one or more sensors constituting the second sensor group have been changed, to reduce the possibility that the elements of the state vector x k is a value which deviates from the true value Therefore, accurate and high-speed state estimation becomes possible.
なお、変形例5に係る状態推定装置は、5つのセンサを備え、第1センサ群は3つのセンサより構成されているが、これはあくまでも例示である。すなわち、本発明に係る状態推定装置は、2以上のセンサを備えるものであればよく、第1センサ群は、状態推定装置の備える2以上のセンサのうち1以上のセンサから構成されるものであればよい。また、この場合、第2センサ群は、第1センサ群を構成する1以上のセンサの全てを含んでもよいし、第1センサ群を構成する1以上のセンサの一部のセンサから構成されるものであってもよい。
状態推定装置が備えるセンサの種類や、センサの個数に関わらず、センサの温度変化量に基づいてプロセスノイズの共分散を定めることにより、状態ベクトルxkが真値から乖離した値に更新されることを防止することが可能となる。
In addition, although the state estimation apparatus which concerns on the modification 5 is provided with five sensors and the 1st sensor group is comprised from three sensors, this is an illustration to the last. That is, the state estimation device according to the present invention only needs to include two or more sensors, and the first sensor group includes one or more sensors among the two or more sensors included in the state estimation device. I just need it. In this case, the second sensor group may include all of the one or more sensors constituting the first sensor group, or may include a part of the one or more sensors constituting the first sensor group. It may be a thing.
Regardless of the type of sensors provided in the state estimation device and the number of sensors, the state vector xk is updated to a value deviating from the true value by determining the covariance of the process noise based on the sensor temperature change amount. This can be prevented.
1…携帯機器、10…CPU、50…表示部、70…3次元磁気センサ、75…第1温度検出部、80…3次元加速度センサ、90…3次元角速度センサ、100…状態推定プログラム、200…初期値生成部、300…カルマンフィルタ演算部、500…出力情報生成部500、m…磁気データ、Tm…温度データ、ΔTm,k…温度変化量、x…状態ベクトル、wk…プロセスノイズ、Qk…プロセスノイズの共分散、y…観測値ベクトル、z…観測残差。
DESCRIPTION OF
Claims (5)
前記3次元磁気センサの温度を検出して温度データを順次出力する温度検出部と、
を備えた機器に組み込まれ、
システムの状態を推定する状態推定装置に用いられるカルマンフィルタであって、
前記3次元磁気センサのオフセットを推定した値を示すオフセット推定ベクトルを含む複数の状態変数を要素とする状態ベクトルを、
システムの経時的な変化を表す状態遷移モデルに対して適用することで、
単位時間経過後の前記状態ベクトルを推定し、これを推定状態ベクトルとして算出する、
状態遷移モデル部と、
前記複数のセンサの出力値の各々を要素とする観測値ベクトルに基づいて観測残差を算出し、
前記推定状態ベクトルと、前記観測残差とに基づいて、前記状態ベクトルを更新し、
これを更新後の状態ベクトルとして算出する、
更新部と、を備え、
前記単位時間における、前記温度データの変化量を、温度変化量としたとき、
前記状態遷移モデルで規定されるプロセスノイズの共分散のうち、
前記オフセット推定ベクトルに生じるプロセスノイズの共分散の各成分を、
前記温度変化量に基づいて定める、
ことを特徴とする、カルマンフィルタ。 A plurality of sensors including a three-dimensional magnetic sensor that detects magnetic components in three directions orthogonal to each other and sequentially outputs magnetic data expressed as vector data in a three-axis coordinate system;
A temperature detector that detects the temperature of the three-dimensional magnetic sensor and sequentially outputs temperature data;
Built into equipment with
A Kalman filter used in a state estimation device for estimating a state of a system,
A state vector having a plurality of state variables including an offset estimation vector indicating a value obtained by estimating an offset of the three-dimensional magnetic sensor,
By applying to the state transition model that represents the change of the system over time,
Estimating the state vector after elapse of unit time, and calculating this as an estimated state vector;
A state transition model part;
An observation residual is calculated based on an observation value vector having each of output values of the plurality of sensors as an element,
Updating the state vector based on the estimated state vector and the observation residual;
This is calculated as an updated state vector,
An update unit, and
When the amount of change in the temperature data in the unit time is a temperature change amount,
Of the process noise covariances defined by the state transition model,
Each component of the covariance of the process noise that occurs in the offset estimation vector is
Based on the amount of temperature change,
A Kalman filter characterized by that.
前記複数のセンサのうち、1以上のセンサの各々の温度を検出し、前記1以上のセンサの各々に対応する温度データを出力する温度検出部と、
を備えた機器に組み込まれ、
システムの状態を推定する状態推定装置に用いられる
カルマンフィルタであって、
前記複数のセンサのうち前記1以上のセンサの各々のオフセットを推定した値を要素とするベクトルをオフセット推定ベクトルとしたとき、
前記オフセット推定ベクトルを含む複数の状態変数を要素とする状態ベクトルを、
システムの経時的な変化を表す状態遷移モデルに対して適用することで、
単位時間経過後の前記状態ベクトルを推定し、これを推定状態ベクトルとして算出する、
状態遷移モデル部と、
前記複数のセンサの出力値の各々を要素とする観測値ベクトルに基づいて観測残差を算出し、
前記推定状態ベクトルと、前記観測残差とに基づいて、前記状態ベクトルを更新し、
これを更新後の状態ベクトルとして算出する、
更新部と、を備え、
前記状態遷移モデルで規定されるプロセスノイズの共分散のうち、
前記オフセット推定ベクトルに生じるプロセスノイズの共分散の各成分を、
前記単位時間における、1以上の前記温度データの各々の温度変化量に基づいて定める、
ことを特徴とする、カルマンフィルタ。 Multiple sensors,
A temperature detection unit that detects a temperature of each of the one or more sensors among the plurality of sensors and outputs temperature data corresponding to each of the one or more sensors;
Built into equipment with
A Kalman filter used in a state estimation device for estimating a state of a system,
When a vector whose element is an estimated value of each of the one or more sensors among the plurality of sensors is an offset estimation vector,
A state vector including a plurality of state variables including the offset estimation vector,
By applying to the state transition model that represents the change of the system over time,
Estimating the state vector after elapse of unit time, and calculating this as an estimated state vector;
A state transition model part;
An observation residual is calculated based on an observation value vector having each of output values of the plurality of sensors as an element,
Updating the state vector based on the estimated state vector and the observation residual;
This is calculated as an updated state vector,
An update unit, and
Of the process noise covariances defined by the state transition model,
Each component of the process noise covariance that occurs in the offset estimation vector is
Based on the temperature change amount of each of the one or more temperature data in the unit time,
A Kalman filter characterized by that.
互いに直交する3方向の磁気成分を検出し、3軸の座標系においてベクトルデータとして表現される磁気データを順次出力する3次元磁気センサと、
互いに直交する3軸の周りの角速度を検出し、3軸の座標系においてベクトルデータとして表現される角速度データを順次出力する3次元角速度センサとが含まれ、
前記1以上のセンサには、
前記3次元磁気センサ、または、前記3次元角速度センサのうち、少なくとも一方が含まれる、
ことを特徴とする、
請求項2に記載のカルマンフィルタ。 The plurality of sensors include
A three-dimensional magnetic sensor that detects magnetic components in three directions orthogonal to each other and sequentially outputs magnetic data expressed as vector data in a three-axis coordinate system;
A three-dimensional angular velocity sensor that detects angular velocity around three axes orthogonal to each other and sequentially outputs angular velocity data expressed as vector data in a three-axis coordinate system;
The one or more sensors include
At least one of the three-dimensional magnetic sensor or the three-dimensional angular velocity sensor is included.
It is characterized by
The Kalman filter according to claim 2.
各々の出力が前記観測値ベクトルの要素となる前記複数のセンサと、
前記複数のセンサのうち1以上のセンサの温度を各々検出し、前記1以上のセンサに対応する1以上の前記温度データを出力する温度検出部と
を備える
ことを特徴とする状態推定装置。 A Kalman filter according to any one of claims 1 to 3,
The plurality of sensors, each output being an element of the observation vector;
A state estimation device comprising: a temperature detection unit that detects temperatures of one or more sensors among the plurality of sensors and outputs one or more temperature data corresponding to the one or more sensors.
前記複数のセンサのうち前記1以上のセンサの内部に配置される
ことを特徴とする、
請求項4に記載の状態推定装置。
The temperature detector is
It is disposed inside the one or more sensors among the plurality of sensors.
The state estimation apparatus according to claim 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011270090A JP2013122384A (en) | 2011-12-09 | 2011-12-09 | Kalman filter and state estimation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011270090A JP2013122384A (en) | 2011-12-09 | 2011-12-09 | Kalman filter and state estimation device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013122384A true JP2013122384A (en) | 2013-06-20 |
Family
ID=48774422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011270090A Pending JP2013122384A (en) | 2011-12-09 | 2011-12-09 | Kalman filter and state estimation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013122384A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015114221A (en) * | 2013-12-12 | 2015-06-22 | セイコーエプソン株式会社 | Signal processing device, detection device, sensor, electronic device, and movable body |
JP2017191039A (en) * | 2016-04-14 | 2017-10-19 | セイコーエプソン株式会社 | Magnetic field measurement device and calibration method for the same |
JP2018128467A (en) * | 2018-05-11 | 2018-08-16 | セイコーエプソン株式会社 | Signal processing device, detection device, sensor, electronic device, and movable body |
US10215785B2 (en) | 2013-12-12 | 2019-02-26 | Seiko Epson Corporation | Signal processing device, detection device, sensor, electronic apparatus and moving object |
CN110765717A (en) * | 2019-10-22 | 2020-02-07 | 哈尔滨理工大学 | FPGA-based extended Kalman filter circuit structure design method |
-
2011
- 2011-12-09 JP JP2011270090A patent/JP2013122384A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015114221A (en) * | 2013-12-12 | 2015-06-22 | セイコーエプソン株式会社 | Signal processing device, detection device, sensor, electronic device, and movable body |
US10215785B2 (en) | 2013-12-12 | 2019-02-26 | Seiko Epson Corporation | Signal processing device, detection device, sensor, electronic apparatus and moving object |
JP2017191039A (en) * | 2016-04-14 | 2017-10-19 | セイコーエプソン株式会社 | Magnetic field measurement device and calibration method for the same |
JP2018128467A (en) * | 2018-05-11 | 2018-08-16 | セイコーエプソン株式会社 | Signal processing device, detection device, sensor, electronic device, and movable body |
CN110765717A (en) * | 2019-10-22 | 2020-02-07 | 哈尔滨理工大学 | FPGA-based extended Kalman filter circuit structure design method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140122015A1 (en) | Attitude estimation method and apparatus | |
CN104969030B (en) | Inertial device, methods and procedures | |
JP2013064695A (en) | State estimating device, offset updating method, and offset updating program | |
JP5061264B1 (en) | Small attitude sensor | |
JP6705972B2 (en) | Attitude estimation device, attitude estimation method, control program, and recording medium | |
Wu et al. | A novel approach for attitude estimation based on MEMS inertial sensors using nonlinear complementary filters | |
JP6191145B2 (en) | Offset estimation apparatus and program | |
WO2014119799A1 (en) | Inertial device, method, and program | |
JP7025215B2 (en) | Positioning system and positioning method | |
JP2013096724A (en) | State estimation device | |
Troni et al. | Adaptive Estimation of Measurement Bias in Three-Dimensional Field Sensors with Angular Rate Sensors: Theory and Comparative Experimental Evaluation. | |
KR20140025319A (en) | Apparatuses and methods for dynamic tracking and compensation of magnetic near field | |
JP2013122384A (en) | Kalman filter and state estimation device | |
CN109000639B (en) | Attitude estimation method and device of multiplicative error quaternion geomagnetic tensor field auxiliary gyroscope | |
Sokolović et al. | INS/GPS navigation system based on MEMS technologies | |
Castellanos et al. | A low-cost air data attitude heading reference system for the tourism airplane applications | |
JP5678748B2 (en) | Terminal device and geomagnetic environment determination program | |
CN112577518A (en) | Inertial measurement unit calibration method and device | |
JP2013061309A (en) | Kalman filter, state estimation device, method for controlling kalman filter, and control program of kalman filter | |
JP2013185898A (en) | State estimation device | |
JP2014219340A (en) | Offset correction method and offset correction device | |
JP7404227B2 (en) | Method and apparatus for characterizing orientation determined from measurements of magnetic fields | |
Hemanth et al. | Calibration of 3-axis magnetometers | |
JP2013088162A (en) | State estimation apparatus | |
Gao et al. | A novel robust Kalman filter on AHRS in the magnetic distortion environment |