JP2016109608A - Posture estimation device and control program for posture estimation device - Google Patents
Posture estimation device and control program for posture estimation device Download PDFInfo
- Publication number
- JP2016109608A JP2016109608A JP2014248810A JP2014248810A JP2016109608A JP 2016109608 A JP2016109608 A JP 2016109608A JP 2014248810 A JP2014248810 A JP 2014248810A JP 2014248810 A JP2014248810 A JP 2014248810A JP 2016109608 A JP2016109608 A JP 2016109608A
- Authority
- JP
- Japan
- Prior art keywords
- posture
- acceleration
- unit
- angular velocity
- data
- 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)
Abstract
Description
本発明は姿勢推定装置及び姿勢推定装置の制御プログラムに関する。 The present invention relates to a posture estimation device and a control program for the posture estimation device.
物体の姿勢等、動的システムの状態を推定する演算を実行する場合、1種類のセンサの出力結果に基づいて算出するよりも、複数のセンサの出力結果を統合して算出した方が、短時間に正確な推定をすることができる。 When performing calculations that estimate the state of a dynamic system, such as the posture of an object, it is shorter to calculate by integrating the output results of multiple sensors than to calculate based on the output results of one type of sensor. An accurate estimate of time can be made.
異種の物理量を測定する複数のセンサの出力を統合し動的システムの状態を推定する方法として、カルマンフィルタを用いる方法が知られている。例えば、特許文献1には、非線形カルマンフィルタの1種であるシグマポイントカルマンフィルタを用いて、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,
ところで、カルマンフィルタの演算では、姿勢を含むシステムの状態を周期的に推定する演算を実行するのに加えて、当該状態の推定値の推定誤差の共分散を周期的に演算することが必要となる。このため、カルマンフィルタを用いて姿勢を推定する場合には、処理負荷が大きくなるという問題が存在した。また、カルマンフィルタの演算では、状態モデルを用いて姿勢を推定するため、当該状態モデルが正確でない場合には、正確な姿勢の推定も困難になるという問題が存在した。 By the way, in the calculation of the Kalman filter, in addition to executing the calculation for periodically estimating the state of the system including the posture, it is necessary to periodically calculate the covariance of the estimation error of the estimated value of the state. . For this reason, there has been a problem that the processing load increases when the posture is estimated using the Kalman filter. Further, since the posture is estimated using the state model in the calculation of the Kalman filter, there is a problem that it is difficult to estimate the posture accurately if the state model is not accurate.
本発明は、上述した点に鑑みてなされたものであり、処理負荷を抑えつつ、姿勢を推定する技術を提供することを、解決課題の一つとする。 The present invention has been made in view of the above points, and an object of the present invention is to provide a technique for estimating a posture while suppressing a processing load.
上述した課題を解決するため、本発明に係る姿勢推定装置は、3方向の加速度を周期的に検出して検出結果を加速度データとして順次出力する加速度センサと、3方向の角速度を周期的に検出して検出結果を角速度データとして順次出力する角速度センサと、を備えた機器に設けられた姿勢推定装置であって、前記角速度データに基づいて、現時刻よりも過去の時刻における前記機器の姿勢から、現時刻における前記機器の姿勢を予測する予測部と、前記加速度データに基づいて、前記予測部の予測結果を補正する補正部と、を備える、ことを特徴とする。 In order to solve the above-described problem, the posture estimation apparatus according to the present invention periodically detects acceleration in three directions and sequentially outputs a detection result as acceleration data, and periodically detects angular velocity in three directions. An angular velocity sensor that sequentially outputs detection results as angular velocity data, and based on the angular velocity data, based on the angular velocity data, the posture of the device at a time earlier than the current time is provided. And a prediction unit that predicts the attitude of the device at the current time, and a correction unit that corrects a prediction result of the prediction unit based on the acceleration data.
この発明に係る姿勢推定装置によれば、角速度データに基づいて機器の姿勢の予測値を算出し、加速度データに基づいて機器の姿勢の予測値を補正することで、機器の姿勢を推定する。すなわち、本発明にかかる姿勢推定装置では、機器の姿勢の推定値の推定誤差の共分散を算出することなく、機器の姿勢を推定する。よって、本発明にかかる姿勢推定装置では、カルマンフィルタ等のように、推定値の推定誤差の共分散を算出しつつ姿勢を推定する場合と比較して、計算負荷を軽減することができる。
また、この発明によれば、加速度データ及び角速度データの双方に基づいて機器の姿勢を推定することができるため、加速度データまたは角速度データのいずれか一方に基づいて機器の姿勢を推定する場合と比較して、機器の真の姿勢に近い推定値を算出することができる。
According to the posture estimation apparatus according to the present invention, the device posture is estimated by calculating a predicted value of the device posture based on the angular velocity data and correcting the predicted value of the device posture based on the acceleration data. In other words, the posture estimation apparatus according to the present invention estimates the posture of the device without calculating the covariance of the estimation error of the estimated value of the posture of the device. Therefore, in the posture estimation apparatus according to the present invention, the calculation load can be reduced as compared with the case of estimating the posture while calculating the covariance of the estimation value estimation error, such as a Kalman filter.
Further, according to the present invention, since the posture of the device can be estimated based on both the acceleration data and the angular velocity data, it is compared with the case where the posture of the device is estimated based on either the acceleration data or the angular velocity data. Thus, an estimated value close to the true attitude of the device can be calculated.
上述した姿勢推定装置は、前記加速度データに基づいて前記機器の動きが安定しているか否かを判定する判定部を備え、前記補正部は、前記判定部の判定結果が肯定の場合に、前記予測部の予測結果を補正する、ことを特徴とすることが好ましい。
この態様によれば、機器の動きが不安定であり、加速度データにノイズが重畳している可能性が高い場合に、加速度データを用いた補正の演算を実行しないことができる。このため、加速度データに重畳するノイズが、機器の姿勢の推定に対して及ぼす影響を小さくすることができる。すなわち、この態様によれば、判定部の判定結果に関わらず補正の演算を実行する場合と比較して、精度の高い姿勢の推定が可能となる。
The posture estimation device described above includes a determination unit that determines whether or not the movement of the device is stable based on the acceleration data, and the correction unit includes the determination unit when the determination result of the determination unit is positive. It is preferable that the prediction result of the prediction unit is corrected.
According to this aspect, when the movement of the device is unstable and there is a high possibility that noise is superimposed on the acceleration data, the correction calculation using the acceleration data can not be executed. For this reason, it is possible to reduce the influence of noise superimposed on the acceleration data on the estimation of the posture of the device. That is, according to this aspect, it is possible to estimate the posture with higher accuracy than in the case of executing the correction calculation regardless of the determination result of the determination unit.
上述した姿勢推定装置において、前記補正部は、現時刻に前記加速度センサが出力する加速度データの示す値と、前記機器が前記予測部の予測結果の示す姿勢である場合に前記加速度センサが出力する加速度データの示す値との、加重平均値に基づいて、前記予測部の予測結果を補正する、ことを特徴とすることが好ましい。
この態様によれば、加速度データ及び角速度データの双方に基づいて機器の姿勢を推定するため、加速度データまたは角速度データのいずれか一方に基づいて機器の姿勢を推定する場合と比較して、精度の高い姿勢の推定が可能となる。
In the posture estimation apparatus described above, the correction unit outputs the acceleration sensor when the value indicated by the acceleration data output by the acceleration sensor at the current time and the posture indicated by the prediction result of the prediction unit are present. It is preferable that the prediction result of the prediction unit is corrected based on a weighted average value with a value indicated by acceleration data.
According to this aspect, since the posture of the device is estimated based on both the acceleration data and the angular velocity data, the accuracy of the device is more accurate than in the case where the posture of the device is estimated based on either the acceleration data or the angular velocity data. A high posture can be estimated.
また、本発明に係る姿勢推定装置の制御プログラムは、3方向の加速度を周期的に検出して検出結果を加速度データとして順次出力する加速度センサと、3方向の角速度を周期的に検出して検出結果を角速度データとして順次出力する角速度センサと、コンピュータと、を備えた機器に設けられた姿勢推定装置の制御プログラムであって、前記コンピュータを、前記角速度データに基づいて、現時刻よりも過去の時刻における前記機器の姿勢から、現時刻における前記機器の姿勢を予測する予測部と、前記加速度データに基づいて、前記予測部の予測結果を補正する補正部と、して機能させる、ことを特徴とする。 In addition, the control program for the posture estimation apparatus according to the present invention periodically detects acceleration in three directions and sequentially outputs detection results as acceleration data, and periodically detects and detects angular velocity in three directions. A control program for an attitude estimation device provided in a device including an angular velocity sensor that sequentially outputs a result as angular velocity data and a computer, the computer based on the angular velocity data, A prediction unit that predicts the posture of the device at a current time from a posture of the device at a time, and a correction unit that corrects a prediction result of the prediction unit based on the acceleration data. And
この発明によれば、カルマンフィルタ等のように推定値の推定誤差の共分散を算出しつつ姿勢を推定する場合と比較して、計算負荷を抑えつつ、機器の姿勢を推定することができる。また、この発明によれば、加速度データまたは角速度データのいずれか一方に基づいて機器の姿勢を推定する場合と比較して、機器の姿勢を精度良く推定することができる。 According to the present invention, it is possible to estimate the posture of the device while suppressing the calculation load as compared to the case of estimating the posture while calculating the covariance of the estimation value estimation error as in the Kalman filter. Moreover, according to this invention, compared with the case where the attitude | position of an apparatus is estimated based on either one of acceleration data or angular velocity data, the attitude | position of an apparatus can be estimated with a sufficient precision.
以下、本発明を実施するための形態について図面を参照して説明する。ただし、各図において、各部の寸法及び縮尺は、実際のものと適宜に異ならせてある。また、以下に述べる実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
<A.実施形態>
本発明の実施の形態について図面を参照して説明する。
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. However, in each figure, the size and scale of each part are appropriately changed from the actual ones. Further, since the embodiments described below are preferable specific examples of the present invention, various technically preferable limitations are attached thereto. However, the scope of the present invention is particularly limited in the following description. Unless otherwise stated, the present invention is not limited to these forms.
<A. Embodiment>
Embodiments of the present invention will be described with reference to the drawings.
<1. 機器構成及びソフトウェア構成について>
図1は、本発明の実施形態に係る携帯機器1(「機器」の一例)のブロック図であり、図2は携帯機器1の外観を示す斜視図である。携帯機器1は、携帯機器1の姿勢に応じて携帯機器1が備える画面(後述する表示部62)に表示されている地図等の画像を回転させることによって、画像によって表されている方位を現実空間の方位に追従させる機能を備える。この機能は、各種センサの出力に基づいて、携帯機器1の姿勢を推定することによって実現される。
<1. About device configuration and software configuration>
FIG. 1 is a block diagram of a portable device 1 (an example of “device”) according to an embodiment of the present invention, and FIG. 2 is a perspective view showing an appearance of the
携帯機器1は、各種の構成要素とバスを介して接続され装置全体を制御するCPU10、CPU10の作業領域として機能するRAM(Random Access Memory)51、姿勢推定プログラム100等の各種のプログラムやデータを記憶したROM(Read Only Memory)52、通信を実行する通信部61、画像を表示する表示部62、及び、GPS部63を備える。また、携帯機器1は、加速度を検出して加速度データaを出力する加速度センサ80と、角速度を検出して角速度データωを出力する角速度センサ90を備える。
The
表示部62は、CPU10が姿勢推定プログラム100を実行することにより推定した携帯機器1の姿勢qの推定値に基づいて、方位等を表す矢印等の画像を表示する。GPS部63は、GPS衛星からの信号を受信して携帯機器1の位置情報(緯度、経度)を生成する。
The
加速度センサ80は、X軸加速度センサ81、Y軸加速度センサ82、及び、Z軸加速度センサ83を備える。加速度センサには、例えば、ピエゾ抵抗型、静電容量型、熱検知型等のような検知方式のセンサがある。加速度センサI/F84は、各センサからの出力信号をAD変換して加速度データaを単位時間毎に周期的に出力する。加速度データaは、加速度センサ80と一体となって運動する携帯機器1に固定された座標系における慣性力と重力との合力を、x軸、y軸、及び、z軸の3成分を有するベクトルとして示すデータである。より具体的には、加速度データaは、携帯機器1に固定された座標系において、X軸加速度センサ81からの出力値をx軸成分で表し、Y軸加速度センサ82からの出力値をy軸成分で表し、Z軸加速度センサ83からの出力値をz軸成分で表す3次元のベクトルデータである。
従って、携帯機器1が静止状態または等速直線運動状態にあれば、加速度データaは、携帯機器1に固定された座標系において重力加速度の大きさと方向とを示す3次元のベクトルデータとなる。
The
Therefore, if the
角速度センサ90は、X軸角速度センサ91、Y軸角速度センサ92、及び、Z軸角速度センサ93を備える。角速度センサI/F94は、各センサからの出力信号をAD変換して角速度データωを単位時間毎に周期的に出力する。角速度データωは、携帯機器1に固定された座標系において、3方向に延在する3軸(X軸、Y軸、Z軸)の周りのそれぞれの角速度を示す3次元のベクトルデータである。
The
CPU10は、ROM52に格納されている姿勢推定プログラム100を実行することによって、携帯機器1の姿勢qを単位時間毎に周期的に推定する。すなわち、携帯機器1に設けられたCPU10は、姿勢推定プログラム100を実行することにより、姿勢推定部2(「姿勢推定装置」の一例)として機能する。
The
<2. 姿勢推定部について>
図3は、姿勢推定部2の機能を表した機能ブロック図である。姿勢推定部2は、単位時間毎に出力される加速度データa及び角速度データωに基づいて、単位時間毎に携帯機器1の姿勢qを推定する。以下、姿勢推定部2が推定した携帯機器1の姿勢を、推定姿勢qOUTと称する。
<2. About posture estimation unit>
FIG. 3 is a functional block diagram showing functions of the
本実施形態では、携帯機器1の姿勢qを、クォータニオンを用いて表現する。クォータニオンとは、物体の姿勢を表す4次元数である。例えば、携帯機器1に固定された座標系の各軸と、地上に固定された座標系の各軸とが一致する姿勢を基準姿勢と定義し、基準姿勢をq=[0、0、0、1]Tと表現する。このとき、携帯機器1の任意の姿勢qは、地上に固定された座標系における3次元の単位ベクトルρの方向に延在する軸を回転軸として、基準姿勢である携帯機器1を角度ψだけ回転した姿勢として表現できる。すなわち、携帯機器1の姿勢qは、クォータニオンを用いて、以下の式(1)で表される。
図3に示すように、姿勢推定部2は、推定姿勢qOUTを推定する演算を実行する演算部20と、加速度データaに基づいて携帯機器1の動きが安定しているか否かを判定し、判定結果を示す判定情報JDを出力する判定部30と、判定部30の判定情報JDに基づいて、加速度データaを演算部20に対して供給するか否かを制御するスイッチSWと、を備える。
As illustrated in FIG. 3, the
判定部30は、上述のとおり、加速度データaに基づいて、携帯機器1の動きが安定しているか否か、すなわち、携帯機器1に大きな振動が生じていないか否かを判定する。具体的には、判定部30は、以下の式(2)に例示する条件、すなわち、「加速度データaの示すベクトルの大きさと重力加速度ベクトルgの大きさとの差分値の絶対値が、所定の閾値εAよりも小さい」という条件を充足するか否かを判定する。ここで、重力加速度ベクトルgとは、地上に固定された座標系において重力加速度の向き及び大きさを示す3次元のベクトルである。
なお、各種変数、ベクトル、行列等を表す符号に付された添え字kは、0≦kを満たす自然数であり、当該変数、ベクトル、行列等が時刻Tkにおける値であることを意味する。ここで、時刻Tk+1は時刻Tkよりも単位時間だけ後の時刻を示し、時刻Tk−1は時刻Tkよりも単位時間だけ過去の時刻を示すこととする。また、以下では、時刻Tkにおける加速度データaの示す3次元ベクトルを加速度ベクトルakと称し、時刻Tkにおける角速度データωの示す3次元ベクトルを角速度ベクトルωkと称する。また、加速度ベクトルakを、加速度センサ80により観測される観測値と称し、角速度ベクトルωkを、角速度センサ90により観測される観測値と称する場合がある。
Note that the subscript k attached to codes representing various variables, vectors, matrices, and the like is a natural number that satisfies 0 ≦ k, which means that the variables, vectors, matrices, and the like are values at time T k . Here, the time T k + 1 represents the time after the unit time than the time T k, the time T k-1 is set to indicate a past time by a unit time than the time T k. In the following, it referred to three-dimensional vector indicating the acceleration data a at time T k and an acceleration vector a k, a 3-dimensional vector indicating the angular velocity data omega at time T k is referred to as angular velocity vector omega k. Further, the acceleration vector a k may be referred to as an observed value observed by the
判定部30は、式(2)に示す条件が充足される場合には、携帯機器1の動きが安定していると判定し、判定情報JDに対して、携帯機器1の動きが安定していることを示す値、例えば「1」を設定する。また、判定部30は、式(2)に示す条件が充足されない場合には、携帯機器1の動きが不安定であると判定し、判定情報JDに対して、携帯機器1の動きが不安定であることを示す値、例えば「0」を設定する。
The
スイッチSWは、加速度センサ80と演算部20との間に設けられ、判定情報JDに基づいて、加速度データaを演算部20に対して供給するか否かを制御する。
具体的には、スイッチSWは、判定部30における判定結果が肯定である場合、すなわち、判定部30が出力する判定情報JDが「1」を示す場合、オンする。この場合、演算部20は、加速度センサ80が出力する加速度データaと、角速度センサ90が出力する角速度データωと、を用いて推定姿勢qOUTを算出する。
一方、スイッチSWは、判定部30における判定結果が否定である場合、すなわち、判定部30が出力する判定情報JDが「0」を示す場合、オフする。この場合、演算部20は、加速度センサ80が出力する加速度データaを用いずに、角速度センサ90が出力する角速度データωを用いて推定姿勢qOUTを算出する。
以下、演算部20の動作について詳述する。
The switch SW is provided between the
Specifically, the switch SW is turned on when the determination result in the
On the other hand, the switch SW is turned off when the determination result in the
Hereinafter, the operation of the
<3. 演算部について>
図4は、演算部20の機能ブロック図である。この図に示すように、演算部20は、姿勢予測部21(「予測部」の一例)と、姿勢補正部22(「補正部」の一例)と、推定姿勢出力部23(「出力部」の一例)と、を備える。
<3. About the calculation unit>
FIG. 4 is a functional block diagram of the
姿勢予測部21は、時刻Tk−1において出力される角速度データωの示す角速度ベクトルωk−1に基づいて、姿勢推定部2により推定された時刻Tk−1における携帯機器1の推定姿勢qOUTから、時刻Tkにおける携帯機器1の姿勢qの予測値(以下、「予測姿勢qG」と称する)を算出する。
姿勢補正部22は、時刻Tkにおいて出力される加速度データaの示す加速度ベクトルakに基づいて予測姿勢qGを補正することで、時刻Tkにおける携帯機器1の姿勢qの予測値の補正値(以下、「補正姿勢qA」と称する)を算出する。
推定姿勢出力部23は、姿勢予測部21が算出した予測姿勢qG、または、姿勢補正部22が算出した補正姿勢qAを、時刻Tkにおける携帯機器1の推定姿勢qOUTとして出力する。
以下、これら姿勢予測部21、姿勢補正部22、及び、推定姿勢出力部23について詳細に説明する。
The
The estimated
Hereinafter, the
上述のとおり、姿勢予測部21は、角速度ベクトルωk−1に基づいて、時刻Tk−1における携帯機器1の推定姿勢qOUTから、予測姿勢qGを予測する演算を実行する。
なお、以下では、図4に示すように、時刻Tk−1における携帯機器1の推定姿勢qOUTが、姿勢予測部21による時刻Tkにおける予測姿勢qGの算出に用いられる場合には、説明の便宜上、当該推定姿勢qOUTを予測前姿勢qG−INと称する場合がある。
As described above, the
Hereinafter, as illustrated in FIG. 4, when the estimated posture q OUT of the
姿勢予測部21は、例えば、以下に示す回転運動の方程式(3)に従って、予測前姿勢qG−INから予測姿勢qGを算出する。
ここで、式(3)の演算子Ωは、式(4)で定義される。また、式(4)の行列I3×3は、3行3列の単位行列である。また、式(4)の演算子Γは、3次元ベクトルL=(L1,L2,L3)を用いて、式(5)で定義される。また、符号Δtは、時刻Tk−1から時刻Tkまでの単位時間を示す。また、式(4)の成分Ψkは、式(6)で定義される。
Here, the operator Ω in Expression (3) is defined by Expression (4). Further, the matrix I 3 × 3 in the equation (4) is a unit matrix of 3 rows and 3 columns. The operator Γ in equation (4) is defined by equation (5) using a three-dimensional vector L = (L 1 , L 2 , L 3 ). A symbol Δt indicates a unit time from time T k −1 to time T k . Further, the component Ψ k of the formula (4) is defined by the formula (6).
上述のとおり、姿勢補正部22は、加速度ベクトルakに基づいて、予測姿勢qGを補正し、補正姿勢qAを算出する。
この姿勢補正部22は、図4に例示するように、予測観測値演算部221と、補正観測値演算部222と、補正量演算部223と、補正姿勢演算部224と、を備える。以下、これら姿勢補正部22の各構成要素について説明する。
As described above, the
As illustrated in FIG. 4, the
予測観測値演算部221は、時刻Tkにおける携帯機器1の姿勢が予測姿勢qGである場合に、時刻Tkにおいて加速度センサ80により観測される観測値である加速度ベクトルakを予測する演算を実行する。そして、予測観測値演算部221は、当該予測の結果を表す予測加速度ベクトルaOを出力する。
具体的には、予測観測値演算部221は、以下に示す式(7)に従って、予測加速度ベクトルaOを算出する。ここで、式(7)の行列R(q)は、地上に固定された座標系から、姿勢qである携帯機器1に固定された座標系へと座標変換するための3行3列の行列であり、以下の式(8)で表される。
Specifically, the predicted observation
上述のとおり、演算部20には、判定部30における判定結果が肯定である場合、すなわち、携帯機器1の動きが安定している場合に、加速度ベクトルakが供給される。携帯機器1の動きが安定している場合、加速度センサ80による観測値である加速度ベクトルakは、重力加速度を表していると看做すことができる。このため、予測観測値演算部221は、式(7)に示すように、時刻Tkにおける携帯機器1の姿勢qを予測姿勢qGとしたうえで、重力加速度ベクトルgを携帯機器1に固定された座標系に座標変換し、当該座標変換により得られたベクトルを、加速度ベクトルakの予測値である予測加速度ベクトルaOとする。
As described above, the acceleration vector ak is supplied to the
補正観測値演算部222は、予測観測値演算部221が算出した予測加速度ベクトルaOと、加速度センサ80が供給する加速度データaの示す加速度ベクトルakとを、加重平均することで、補正加速度ベクトルaCを生成する。
具体的には、補正観測値演算部222は、以下の式(9)に基づいて、補正加速度ベクトルaCを生成する。なお、式(9)において、係数αAは、0<αA<1を満たす実数である。
Specifically, the corrected observed
図5は、加速度ベクトルak、予測加速度ベクトルaO、及び、補正加速度ベクトルaCの関係について説明するための説明図である。この図に示すように、補正加速度ベクトルaCは、加速度ベクトルak及び予測加速度ベクトルaOに垂直な単位ベクトルdAに垂直なベクトルであって、加速度ベクトルak及び予測加速度ベクトルaOの間の方向を向いたベクトルとなる。以下、この図に示すように、予測加速度ベクトルaO及び補正加速度ベクトルaCのなす角度を、角度θAと称する。 FIG. 5 is an explanatory diagram for explaining the relationship among the acceleration vector a k , the predicted acceleration vector a O , and the corrected acceleration vector a C. As shown in this figure, the correction acceleration vector a C is a vector perpendicular to the acceleration vector a k and the predicted acceleration vector a O perpendicular unit vector d A, of the acceleration vector a k and the predicted acceleration vector a O It becomes a vector facing the direction between. Hereinafter, as shown in this figure, the angle of the predicted acceleration vector a O and correction acceleration vector a C, referred to as the angle theta A.
補正量演算部223は、補正加速度ベクトルaCと予測加速度ベクトルaOとに基づいて、予測姿勢qGを補正するためのクォータニオンである姿勢変化量PAを算出する。具体的には、補正量演算部223は、以下に示す式(10)に基づいて、姿勢変化量PAを算出する。なお、単位ベクトルdAは、式(11)により求めることができる。式(11)において、「aO×aC」は、予測加速度ベクトルaOと補正加速度ベクトルaCとのクロス積を意味する。
式(1)からも明らかなように、クォータニオンは、姿勢そのものを表すことができる他に、姿勢の変化量を表すことができる。姿勢の変化が、ある軸を中心とした回転である場合に、当該姿勢の変化量(例えば、姿勢変化量PA)を、軸の延在する方向(例えば、単位ベクトルdA)と、当該軸を中心とする回転の大きさ(例えば、角度θA)と、を示すクォータニオンを用いて表すことができる。
すなわち、クォータニオンである姿勢変化量PAは、予測加速度ベクトルaOを補正加速度ベクトルaCへと姿勢変化させる場合の、姿勢の変化量を表す。換言すれば、姿勢変化量PAは、携帯機器1の姿勢qを、加速度センサ80の観測値が予測加速度ベクトルaOとなる予測姿勢qGから、加速度センサ80の観測値が補正加速度ベクトルaCとなる補正姿勢qAへと、変化させる場合の、携帯機器1の姿勢の変化量を示すクォータニオンである。
As is clear from the equation (1), the quaternion can represent the posture change amount in addition to the posture itself. When the change in posture is rotation about a certain axis, the change amount of the posture (for example, the posture change amount P A ) is set to the direction in which the axis extends (for example, the unit vector d A ) It can be expressed using a quaternion indicating the magnitude of rotation about the axis (for example, the angle θ A ).
That is, the posture change amount P A that is a quaternion represents the amount of change in posture when the predicted acceleration vector a O is changed to the corrected acceleration vector a C. In other words, the posture change amount P A is calculated based on the posture q of the
補正姿勢演算部224は、予測姿勢qGを、姿勢変化量PAだけ変化させることで、補正姿勢qAを算出する。
なお、以下では、図4に示すように、予測姿勢qGが、補正姿勢演算部224による補正姿勢qAの算出に用いられる場合には、説明の便宜上、当該予測姿勢qGを補正前姿勢qA−INと称する場合がある。
Correcting the
In the following, as shown in FIG. 4, the predicted attitude q G is, when used to calculate the correction posture q A by the correction
補正姿勢演算部224は、以下の式(12)に従って、補正前姿勢qA−INを姿勢変化量PAだけ変化させる補正を実行することで、補正姿勢qAを算出する。
ここで、演算子[×]は、クォータニオン積である。クォータニオン積とは、2つのクォータニオンのうち、一方のクォータニオンを姿勢と看做し、他方のクォータニオンを姿勢変化量と看做すことで、一方のクォータニオンとして表された姿勢を、他方のクォータニオンとして表された姿勢変化量だけ姿勢変化させる演算である。
Here, the operator [×] is a quaternion product. A quaternion product refers to the attitude expressed as one quaternion as the other quaternion by considering one of the two quaternions as the attitude and the other quaternion as the attitude change amount. This is a calculation for changing the posture by the posture change amount.
以上において説明したように、姿勢補正部22は、角速度センサ90からの出力値である角速度ベクトルωk−1に応じて定められる予測加速度ベクトルaOと、加速度センサ80からの出力値である加速度ベクトルakとの、加重平均として補正加速度ベクトルaCを算出する(式(9)参照)。そして、予測加速度ベクトルaOを、予測加速度ベクトルaO及び加速度ベクトルakの間の方向を向く補正加速度ベクトルaCへと姿勢変化させる場合の姿勢変化量PAを求め、当該姿勢変化量PAにより予測姿勢qGを補正することで、補正姿勢qAを算出する。すなわち、本実施形態において、補正姿勢qAは、角速度センサ90が出力する角速度データωと、加速度センサ80が出力する加速度データaとの双方に基づいて定められる。
ところで、仮に、式(9)において、係数αAを「1」とする場合、補正加速度ベクトルaCは、加速度ベクトルakとなる。この場合、補正姿勢qAは、角速度データωの影響を受けることなく、加速度データaのみに基づいて定められる。そして、この場合、補正姿勢qAは、加速度データaに重畳するノイズや、加速度センサ80における測定誤差の影響により、真の姿勢から乖離した姿勢となることがある。
また、仮に、式(9)において、係数αAを「0」とする場合、補正加速度ベクトルaCは、予測加速度ベクトルaOとなる。この場合、補正姿勢qAは、加速度ベクトルakの影響を受けることなく、角速度データωに基づいて定められる。そして、この場合、補正姿勢qAは、角速度データωに重畳するノイズや、角速度センサ90における測定誤差の影響により、真の姿勢から乖離した姿勢となる事がある。
これに対して本実施形態では、式(9)に示すように、補正加速度ベクトルaCを、予測加速度ベクトルaOと加速度ベクトルakとの加重平均として算出し、補正姿勢qAを、加速度データa及び角速度データωの双方に基づいて定める。このため、本実施形態では、補正姿勢qAを、加速度データaまたは角速度データωの何れか一方に基づいて定める場合と比較して、加速度データa及び角速度データωに重畳するノイズの影響や、加速度センサ80及び角速度センサ90における測定誤差の影響を小さく抑えることができる。これにより、本実施形態では、真の姿勢に近い正確な補正姿勢qAの算出が可能となる。
As described above, the
By the way, if the coefficient α A is “1” in equation (9), the corrected acceleration vector a C is the acceleration vector a k . In this case, correction posture q A is not affected by the angular velocity data omega, is determined based only on the acceleration data a. In this case, the corrected posture q A may be a posture deviated from the true posture due to the noise superimposed on the acceleration data a or the measurement error in the
If the coefficient α A is “0” in the equation (9), the corrected acceleration vector a C is the predicted acceleration vector a O. In this case, correction posture q A, without being affected by the acceleration vector a k, is determined based on the angular velocity data omega. In this case, the corrected posture q A may be a posture deviated from the true posture due to the noise superimposed on the angular velocity data ω or the measurement error in the
On the other hand, in the present embodiment, as shown in Expression (9), the corrected acceleration vector a C is calculated as a weighted average of the predicted acceleration vector a O and the acceleration vector a k, and the corrected posture q A is calculated as the acceleration. It is determined based on both data a and angular velocity data ω. Therefore, in the present embodiment, the correction posture q A, as compared to the case determined based on one of the acceleration data a or the angular velocity data omega, the influence of noise superimposed on the acceleration data a and the angular velocity data omega, The influence of measurement errors in the
推定姿勢出力部23は、上述のとおり、予測姿勢qGまたは補正姿勢qAを、時刻Tkにおける携帯機器1の推定姿勢qOUTとして出力する。
より具体的には、推定姿勢出力部23は、判定情報JDが「1」を示す場合、すなわち、判定部30における判定結果が肯定である場合には、姿勢補正部22が予測姿勢qGを補正して補正姿勢qAを算出するため、当該補正姿勢qAを、時刻Tkにおける携帯機器1の推定姿勢qOUTとして出力する。一方、推定姿勢出力部23は、判定情報JDが「0」を示す場合、すなわち、判定部30における判定結果が否定である場合には、姿勢補正部22による予測姿勢qGに対する補正が実行されないため、姿勢予測部21により算出された予測姿勢qGを、時刻Tkにおける携帯機器1の推定姿勢qOUTとして出力する。
Estimating the
More specifically, when the determination information JD indicates “1”, that is, when the determination result in the
このように、姿勢推定部2は、単位時間毎に角速度センサ90が出力する角速度データωに基づいて、携帯機器1の姿勢qの予測値である予測姿勢qGを生成する。また、姿勢推定部2は、単位時間毎に加速度センサ80が出力する加速度データaの示す値が安定している場合には、当該加速度データaに基づいて、予測姿勢qGを補正することで補正姿勢qAを算出する。そして、姿勢推定部2は、予測姿勢qGが補正姿勢qAへと補正された場合には、補正姿勢qAを携帯機器1の推定姿勢qOUTとして出力し、また、予測姿勢qGが補正されない場合には、予測姿勢qGを携帯機器1の推定姿勢qOUTとして出力する。
このように、本実施形態に係る姿勢推定部2は、角速度センサ90の出力する角速度データωと、加速度センサ80の出力する加速度データaとの双方に基づいて、時刻Tk−1における推定姿勢qOUTから、時刻Tkにおける推定姿勢qOUTを算出することで、携帯機器1の姿勢qを単位時間毎に推定する。
Thus, the
As described above, the
<4. 実施形態の結論>
以上において説明したように、本実施形態に係る姿勢推定部2は、角速度センサ90が出力する角速度データωに基づいて算出された予測姿勢qGを、加速度センサ80が出力する加速度データaに基づいて補正することで、補正姿勢qAを算出する。すなわち、本実施形態では、角速度データωと、加速度データaとの双方に基づいて、携帯機器1の姿勢qを推定する。
<4. Conclusion of Embodiment>
As described above, the
ところで、一般的に、加速度データaには、携帯機器1の姿勢qの推定のために加速度センサ80が検出すべき重力加速度の他に、携帯機器1の振動に起因する加速度がノイズとして重畳する可能性が高い。他方、角速度データωは、一般的に、携帯機器1の姿勢qの推定のために角速度センサ90が検出すべき携帯機器1の姿勢変化のみを検出するため、加速度データaと比較してノイズが重畳する可能性が低い。これらのことから、携帯機器1の姿勢qの推定において、信頼性の高いデータのみを使用する態様、すなわち、角速度データωに基づいて算出された予測姿勢qGを推定姿勢qOUTとして出力し、加速度データaに基づく予測姿勢qGの補正を実行しない態様(以下、「対比例」と称する)も想定されうる。
Incidentally, in general, acceleration data a is superimposed with noise caused by vibration of the
しかし、時刻Tkにおける携帯機器1の姿勢qの予測結果である予測姿勢qGは、時刻Tk−1における携帯機器1の推定姿勢qOUTを、時刻Tk−1から時刻Tkまでの単位時間における携帯機器1の姿勢変化量だけ変化させた姿勢である(式(3)参照)。つまり、姿勢予測部21が実行する携帯機器1の姿勢qを予測する演算(以下、「予測演算」と称する)は、単位時間における携帯機器1の姿勢qの相対的な変化量を求める演算に過ぎない。
よって、対比例においては、例えば、初期状態(時刻T0)における携帯機器1の推定姿勢qOUTと、時刻T0における携帯機器1の真の姿勢qとの間に誤差が存在する場合、姿勢予測部21による予測演算を繰り返し実行しても、当該誤差は解消されない。
また、対比例において、時刻Tkにおける携帯機器1の予測姿勢qGは、初期状態(時刻T0)から時刻Tkまでの間に姿勢予測部21が実行したk回の予測演算において得られるk個の姿勢変化量Ω(ω0)、Ω(ω1)、…、Ω(ωk−1)の合計値に基づいて算出される。このため、仮に、角速度センサ90の信頼性が高く、角速度データωに重畳するノイズが小さい場合であっても、時刻T0と時刻Tkとの時間長が長くなり、予測演算の実行回数が増加するに従って、角速度データωに重畳するノイズの予測姿勢qGに対する影響も蓄積する。つまり、時刻T0と現時刻Tkとの時間長が長くなるに従って、携帯機器1の予測姿勢qGと携帯機器1の真の姿勢qとの誤差も蓄積し増大する。
However, the predicted attitude q G is a prediction result of the
Therefore, in contrast, for example, when there is an error between the estimated posture q OUT of the
Further, in the comparative example, the predicted attitude q G of the
これに対して、本実施形態に係る姿勢推定部2は、判定部30における判定結果が肯定である場合、すなわち、加速度ベクトルakが重力加速度を表していると看做せる場合に、加速度ベクトルakにより予測姿勢qGを補正する。
携帯機器1の姿勢qが変化している場合、時間の経過と共に、携帯機器1に固定された座標系の向き(X軸、Y軸、Z軸の向き)も変化する。この場合、時刻Tk−1における携帯機器1に固定された座標系は、時刻Tkにおける携帯機器1に固定された座標系とは異なる座標系となる。よって、携帯機器1の姿勢qが変化している場合、ある時刻における携帯機器1に固定された座標系から見た、当該ある時刻における携帯機器1の姿勢と、当該ある時刻における携帯機器1に固定された座標系から見た、当該ある時刻とは異なる時刻における携帯機器1の姿勢とは、異なる姿勢となる場合がある。このような、ある時刻における携帯機器1に固定された座標系から見た、携帯機器1の姿勢は、角速度ベクトルωkに基づいて表される。具体的には、角速度ベクトルωk−1は、時刻Tk−1における携帯機器1に固定された座標系から見た時刻Tkにおける携帯機器1の謂わば相対的な姿勢を示す(式(3)参照)。
これに対して、加速度ベクトルakは、地上に固定された座標系から見た携帯機器1の謂わば絶対的な姿勢を示す。このため、本実施形態のように、加速度ベクトルakを用いて予測姿勢qGに対する補正を実行することで、初期状態において生じていた推定姿勢qOUTの誤差を小さくすることができ、また、予測演算を繰り返すことで蓄積される誤差を小さくすることができる。これにより、本実施形態にかかる姿勢推定部2は、携帯機器1の姿勢qを正確に推定することができる。
On the other hand, when the determination result in the
When the posture q of the
On the other hand, the acceleration vector ak indicates a so-called absolute attitude of the
ところで、上述のとおり、演算部20が備える姿勢補正部22は、加速度ベクトルakと、重力加速度ベクトルgを携帯機器1に固定された座標系において表したベクトルとが、略同じであることを前提として予測姿勢qGを補正する。しかし、携帯機器1が振動する等、携帯機器1の動きが不安定な場合、加速度ベクトルakには、重力加速度以外の加速度がノイズとして重畳する。この場合、加速度ベクトルakと、重力加速度ベクトルgを携帯機器1に固定された座標系において表したベクトルとを、略同じと看做すことはできない。よって、携帯機器1の動きが不安定である場合に、加速度ベクトルakを用いて予測姿勢qGを補正して得られる補正姿勢qAは、携帯機器1の真の姿勢から大きく乖離している可能性が高い。つまり、この場合、姿勢推定部2が、補正姿勢qAを推定姿勢qOUTとして出力すると、姿勢推定部2は、携帯機器1の真の姿勢から大きく乖離した推定姿勢qOUTを出力することとなる。
これに対して、本実施形態に係る姿勢推定部2は、判定部30における判定結果が肯定で、携帯機器1の動きが安定している場合にのみ、加速度データaを演算部20に供給し、加速度ベクトルakによる予測姿勢qGに対する補正を実行する。このため、本実施形態に係る姿勢推定部2では、携帯機器1の真の姿勢から大きく乖離した推定姿勢qOUTが算出されることを防止することができる。
By the way, as described above, the
On the other hand, the
このように、本実施形態に係る姿勢推定部2は、角速度センサ90の出力する角速度データωと、加速度センサ80の出力する加速度データaとの双方に基づいて推定姿勢qOUTを算出するため、角速度データωまたは加速度データaの一方のみに基づいて推定姿勢qOUTを算出する場合と比較して、携帯機器1の真の姿勢により近い推定姿勢qOUTを算出することができる。
更に、本実施形態にかかる姿勢推定部2は、カルマンフィルタによる演算のように、姿勢qの推定値の推定誤差の共分散を単位時間毎に演算する必要が無いため、カルマンフィルタを用いて携帯機器1の姿勢qを推定する場合と比較して、処理負荷を軽減することができる。
Thus, the
Furthermore, since the
<B.変形例>
以上の実施形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は、相互に矛盾しない範囲内で適宜に併合され得る。
なお、以下に例示する変形例において作用や機能が実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
<B. Modification>
The above embodiment can be variously modified. Specific modifications are exemplified below. Two or more aspects arbitrarily selected from the following examples can be appropriately combined within a range that does not contradict each other.
In addition, about the element which an effect | action and a function are equivalent to embodiment in the modification illustrated below, the code | symbol referred by the above description is diverted and each detailed description is abbreviate | omitted suitably.
<変形例1>
上述した実施形態に係る判定部30は、上述した式(2)に例示したように、加速度ベクトルakの大きさと重力加速度ベクトルgの大きさとの差分が、閾値εAよりも小さい否かを判定するが、本発明はこのような形態に限定されるものでは無く、判定部30は、携帯機器1の動きが安定しているか否かを判定することができれば、どのような構成であってもよい。
例えば、判定部30は、加速度データaの有する加速度ベクトルakの各成分について、HPF(High-pass filter)を透過させた場合に、HPFの出力値が所定値よりも小さいか否かを判定するものであってもよい。この場合、携帯機器1に振動が生じていれば、HPFの出力値が所定値以上となるため、携帯機器1の動きが安定しているか否かを判定することができる。
<
The
For example, the
<変形例2>
上述した実施形態及び変形例において、姿勢推定部2はスイッチSWを備えるが、本発明はこのような形態に限定されるものでは無く、姿勢推定部2はスイッチSWを備えない構成であってもよい。
<
In the embodiment and the modification described above, the
姿勢推定部2がスイッチSWを備えない場合、判定部30の判定結果に関わらず、加速度ベクトルakを演算部20に供給してもよい。この場合、姿勢補正部22は、判定部30の判定結果に関わらず、予測姿勢qGを加速度ベクトルakにより補正して補正姿勢qAを算出してもよいし、また、推定姿勢出力部23は、判定部30の判定結果に関わらず、補正姿勢qAを推定姿勢qOUTとして出力してもよい。
When the
なお、姿勢推定部2がスイッチSWを供えない場合、上述した式(9)に示す、補正加速度ベクトルaCを算出する加重平均の演算において、加速度ベクトルakに付される重みである係数αAを、判定部30の判定結果に基づいて変化させてもよい。例えば、判定部30の判定結果が肯定であり携帯機器1の動作が安定であると看做せる場合には、式(9)に示すとおり係数αAを用いて補正加速度ベクトルaCを算出し、判定部30の判定結果が否定であり携帯機器1の動作が不安定である場合には、式(9)において、係数αAの代わりに、0≦αB<αA<1を満たす実数である係数αBを用いて、補正加速度ベクトルaCを算出してもよい。
携帯機器1の動作が不安定であり、加速度ベクトルakが重力加速度を示す成分以外のノイズ成分を含む場合、加速度ベクトルakに基づいて算出される補正姿勢qAも、加速度ベクトルakに含まれるノイズの影響を受ける。この場合、補正姿勢qAが、携帯機器1の真の姿勢から大きく乖離したものとして算出される。
本変形例では、判定部30の判定結果が否定である場合、式(9)に示す補正加速度ベクトルaCを算出するための加重平均の演算において、加速度ベクトルakに対応する重みを、係数αAの代わりに、係数αAよりも小さい係数αBとするため、加速度ベクトルakに対応する重みを係数αAとする場合と比較して、加速度ベクトルakの有するノイズの補正姿勢qAに対する影響を小さくできる。つまり、本変形例では、式(9)において加速度ベクトルakに対応する重みを係数αAとする場合と比較して、予測加速度ベクトルaOに対応する重みである係数(1−αB)を大きくすることができる。このため、携帯機器1の動作が不安定であっても、携帯機器1の真の姿勢に近い補正姿勢qAを算出することができる。
When the
Operation of the
In this modification, when the determination result of the
また、上述した実施形態及び変形例において、姿勢推定部2は判定部30を備えるが、本発明はこのような形態に限定されるものでは無く、姿勢推定部2は判定部30を備えない構成であってもよい。この場合、姿勢推定部2はスイッチSWを備えない構成であってもよい。
姿勢推定部2が判定部30を備えない場合、加速度センサ80の出力する加速度ベクトルakが、常に演算部20に供給されることとしてもよい。この場合、演算部20は、加速度ベクトルakに基づいて予測姿勢qGを補正して得られる補正姿勢qAを、推定姿勢qOUTとして出力すればよい。
なお、姿勢推定部2が判定部30を供えない場合、式(9)における係数αAの代わりに、0<αC<αA<1を満たす実数である係数αCを用いて、補正加速度ベクトルaCを算出してもよい。この場合、予測加速度ベクトルaOに対応する重みである係数(1−αC)を大きくすることができる。このため、携帯機器1の動作が不安定であっても、携帯機器1の真の姿勢に近い補正姿勢qAを算出することができる。
In the embodiment and the modification described above, the
When the
When the
<変形例3>
上述した実施形態及び変形例において、携帯機器1は、加速度センサ80及び角速度センサ90を備えるが、本発明はこのような形態に限定されるものでは無く、携帯機器1は、これらに加えて、3方向の磁気を周期的に検出して検出結果を出力する磁気センサを備えるものであってもよい。
この場合、姿勢推定部2は、上述した実施形態及び変形例のように、加速度センサ80及び角速度センサ90からの出力結果に基づいて、鉛直方向(重力加速度ベクトルgの延在方向)からの携帯機器1の傾きを推定するのに加え、磁気センサ及び角速度センサ90からの出力結果に基づいて、磁極北に向かう方向からの携帯機器1の傾きを推定するものであってもよい。
<Modification 3>
In the embodiment and the modification described above, the
In this case, the
<変形例4>
上述した実施形態及び変形例において、加速度センサ80及び角速度センサ90等のセンサは、単位時間毎に周期的に検出した観測値を出力するが、本発明はこのような形態に限定されるものでは無く、任意のタイミングで観測値を出力するものであればよい。この場合、姿勢予測部21は、角速度データωが出力されるタイミングで、予測姿勢qGを生成するための演算を実行すればよく、姿勢補正部22は、加速度データaが出力されるタイミングで、補正姿勢qAを生成するための演算を実行すればよい。すなわち、演算部20は、角速度データωに基づいて予測姿勢qGを生成する姿勢予測部21の処理と、加速度データaに基づいて補正姿勢qAを生成する姿勢補正部22の処理とを、独立して、非同期で実行してもよい。
更に、姿勢予測部21と姿勢補正部22とが非同期で動作する場合、姿勢補正部22は、予測姿勢qGの代わりに推定姿勢qOUTに基づいて、補正姿勢qAを生成してもよい。すなわち、演算部20は、推定姿勢qOUTを予測前姿勢qG−INとして当該予測前姿勢qG−INに基づいて予測姿勢qGを生成する姿勢予測部21における処理と、推定姿勢qOUTを補正前姿勢qA−INとして当該補正前姿勢qA−INに基づいて補正姿勢qAを生成する姿勢補正部22における処理とを、互いに排他的なタイミングで且つ互いに独立して実行するものであってもよい。
<Modification 4>
In the embodiment and the modification described above, sensors such as the
Further, when the
1…携帯機器、2…姿勢推定部、10…CPU、20…演算部、21…姿勢予測部、22…姿勢補正部、23…推定姿勢出力部、221…予測観測値演算部、222…補正観測値演算部、223…補正量演算部、224…補正姿勢演算部、30…判定部、80…加速度センサ、90…角速度センサ。
DESCRIPTION OF
Claims (4)
3方向の角速度を周期的に検出して検出結果を角速度データとして順次出力する角速度センサと、
を備えた機器に設けられた姿勢推定装置であって、
前記角速度データに基づいて、現時刻よりも過去の時刻における前記機器の姿勢から、現時刻における前記機器の姿勢を予測する予測部と、
前記加速度データに基づいて、前記予測部の予測結果を補正する補正部と、
を備える、
ことを特徴とする姿勢推定装置。 An acceleration sensor that periodically detects acceleration in three directions and sequentially outputs detection results as acceleration data;
An angular velocity sensor that periodically detects angular velocities in three directions and sequentially outputs the detection results as angular velocity data;
A posture estimation device provided in a device comprising:
Based on the angular velocity data, a prediction unit that predicts the posture of the device at the current time from the posture of the device at a time earlier than the current time;
A correction unit that corrects a prediction result of the prediction unit based on the acceleration data;
Comprising
A posture estimation apparatus characterized by that.
前記補正部は、
前記判定部の判定結果が肯定の場合に、前記予測部の予測結果を補正する、
ことを特徴とする、請求項1に記載の姿勢推定装置。 A determination unit that determines whether the movement of the device is stable based on the acceleration data;
The correction unit is
When the determination result of the determination unit is positive, the prediction result of the prediction unit is corrected.
The posture estimation apparatus according to claim 1, wherein:
現時刻に前記加速度センサが出力する加速度データの示す値と、前記機器が前記予測部の予測結果の示す姿勢である場合に前記加速度センサが出力する加速度データの示す値との、加重平均値に基づいて、前記予測部の予測結果を補正する、
ことを特徴とする、請求項1または2に記載の姿勢推定装置。 The correction unit is
A weighted average value of the value indicated by the acceleration data output by the acceleration sensor at the current time and the value indicated by the acceleration data output by the acceleration sensor when the device is in the posture indicated by the prediction result of the prediction unit. Based on the prediction result of the prediction unit,
The posture estimation apparatus according to claim 1 or 2, characterized in that
3方向の角速度を周期的に検出して検出結果を角速度データとして順次出力する角速度センサと、
コンピュータと、
を備えた機器に設けられた姿勢推定装置の制御プログラムであって、
前記コンピュータを、
前記角速度データに基づいて、現時刻よりも過去の時刻における前記機器の姿勢から、現時刻における前記機器の姿勢を予測する予測部と、
前記加速度データに基づいて、前記予測部の予測結果を補正する補正部と、
して機能させる、
ことを特徴とする姿勢推定装置の制御プログラム。
An acceleration sensor that periodically detects acceleration in three directions and sequentially outputs detection results as acceleration data;
An angular velocity sensor that periodically detects angular velocities in three directions and sequentially outputs the detection results as angular velocity data;
A computer,
A control program for a posture estimation device provided in a device comprising:
The computer,
Based on the angular velocity data, a prediction unit that predicts the posture of the device at the current time from the posture of the device at a time earlier than the current time;
A correction unit that corrects a prediction result of the prediction unit based on the acceleration data;
Make it work,
A control program for a posture estimation device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014248810A JP2016109608A (en) | 2014-12-09 | 2014-12-09 | Posture estimation device and control program for posture estimation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014248810A JP2016109608A (en) | 2014-12-09 | 2014-12-09 | Posture estimation device and control program for posture estimation device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016109608A true JP2016109608A (en) | 2016-06-20 |
Family
ID=56123781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014248810A Pending JP2016109608A (en) | 2014-12-09 | 2014-12-09 | Posture estimation device and control program for posture estimation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016109608A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020075825A1 (en) * | 2018-10-12 | 2020-04-16 | 洋紀 山本 | Movement estimating device, electronic instrument, control program, and movement estimating method |
-
2014
- 2014-12-09 JP JP2014248810A patent/JP2016109608A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020075825A1 (en) * | 2018-10-12 | 2020-04-16 | 洋紀 山本 | Movement estimating device, electronic instrument, control program, and movement estimating method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7844415B1 (en) | Dynamic motion compensation for orientation instrumentation | |
JP4615287B2 (en) | Azimuth and orientation detection device | |
KR101107537B1 (en) | Sensor-based orientation system | |
JP4199553B2 (en) | Hybrid navigation device | |
US9939273B2 (en) | Attitude estimating device, attitude estimating method, and storage medium | |
JP2014089113A (en) | Posture estimation device and program | |
CN108731664B (en) | Robot state estimation method, device, computer equipment and storage medium | |
US10022070B2 (en) | Integrated circuit including a detection unit for detecting an angular velocity signal of a moving object based on a signal from a sensor | |
US20140222369A1 (en) | Simplified method for estimating the orientation of an object, and attitude sensor implementing such a method | |
EP2930467A1 (en) | A system and method for sensing the inclination of a moving platform with respect to gravity | |
JP2012173190A (en) | Positioning system and positioning method | |
CN105841695B (en) | Information processing apparatus, information processing method, and recording medium | |
JP7025215B2 (en) | Positioning system and positioning method | |
JP2013122406A (en) | Position output device using satellite navigation system | |
JP6383907B2 (en) | Vehicle position measuring apparatus and method | |
KR20080083182A (en) | Method for estimating movement of a solid | |
JP5678748B2 (en) | Terminal device and geomagnetic environment determination program | |
JP5511088B2 (en) | Portable device, program and method for correcting gravity vector used for autonomous positioning | |
US20140303924A1 (en) | Reference value generating method and reference value generating device | |
JP2013122384A (en) | Kalman filter and state estimation device | |
TWI472953B (en) | Inertial sensing input apparatus, system and method thereof | |
JP2015094631A (en) | Position calculation device, and position calculation method | |
JP2016109609A (en) | Posture estimation device and control program for posture estimation device | |
JP5571027B2 (en) | Portable device, program and method for correcting gravity vector used for autonomous positioning | |
JP2006038650A (en) | Posture measuring method, posture controller, azimuth meter and computer program |