JP2016109608A - Posture estimation device and control program for posture estimation device - Google Patents

Posture estimation device and control program for posture estimation device Download PDF

Info

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
Application number
JP2014248810A
Other languages
Japanese (ja)
Inventor
伊吹 半田
Ibuki Handa
伊吹 半田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2014248810A priority Critical patent/JP2016109608A/en
Publication of JP2016109608A publication Critical patent/JP2016109608A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Navigation (AREA)

Abstract

PROBLEM TO BE SOLVED: To estimate a posture while suppressing a processing load.SOLUTION: A posture estimation device, provided in a portable apparatus 1 equipped with an acceleration sensor 80 for periodically detecting acceleration in three directions and successively outputting the detection result as acceleration data a and an angular velocity sensor 90 for periodically detecting angular velocity in three directions and successively outputting the detection result as angular velocity data ω, for estimating the posture q of the portable apparatus 1, the posture estimation device being characterized by including: a posture prediction unit 21 for predicting, on the basis of the angular velocity data ω, the posture q of the portable apparatus 1 at the current time of day from the posture q of the portable apparatus 1 at a time of day past the current time of day; a posture correction unit 22 for correcting the prediction result of the posture prediction unit 21 on the basis of the acceleration data a; and an estimated posture output unit 23 for outputting either the prediction result of the posture prediction unit 21 or the correction result of the posture correction unit 22 as the estimated value of the posture q of the portable apparatus 1.SELECTED DRAWING: Figure 4

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, Patent Document 1 includes a posture by integrating outputs from a plurality of sensors such as a three-axis angular velocity sensor and a three-axis acceleration sensor using a sigma point Kalman filter which is a kind of nonlinear Kalman filter. An estimation device for estimating the state of a dynamic system is disclosed.

特開2012−132713号公報JP 2012-132713 A

ところで、カルマンフィルタの演算では、姿勢を含むシステムの状態を周期的に推定する演算を実行するのに加えて、当該状態の推定値の推定誤差の共分散を周期的に演算することが必要となる。このため、カルマンフィルタを用いて姿勢を推定する場合には、処理負荷が大きくなるという問題が存在した。また、カルマンフィルタの演算では、状態モデルを用いて姿勢を推定するため、当該状態モデルが正確でない場合には、正確な姿勢の推定も困難になるという問題が存在した。   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.

本発明の実施形態に係る携帯機器1の構成を示すブロック図である。It is a block diagram which shows the structure of the portable apparatus 1 which concerns on embodiment of this invention. 携帯機器1の外観を示す斜視図である。1 is a perspective view showing an external appearance of a mobile device 1. 姿勢推定部2を表すブロック図である。3 is a block diagram illustrating a posture estimation unit 2. FIG. 演算部20を表すブロック図である。3 is a block diagram illustrating a calculation unit 20. FIG. 補正加速度ベクトルaを説明するための説明図である。It is an explanatory diagram for explaining correction acceleration vector a C.

以下、本発明を実施するための形態について図面を参照して説明する。ただし、各図において、各部の寸法及び縮尺は、実際のものと適宜に異ならせてある。また、以下に述べる実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
<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 portable device 1. The mobile device 1 realizes the orientation represented by the image by rotating an image such as a map displayed on a screen (display unit 62 described later) included in the mobile device 1 according to the orientation of the mobile device 1. A function to follow the direction of the space is provided. This function is realized by estimating the attitude of the mobile device 1 based on the outputs of various sensors.

携帯機器1は、各種の構成要素とバスを介して接続され装置全体を制御するCPU10、CPU10の作業領域として機能するRAM(Random Access Memory)51、姿勢推定プログラム100等の各種のプログラムやデータを記憶したROM(Read Only Memory)52、通信を実行する通信部61、画像を表示する表示部62、及び、GPS部63を備える。また、携帯機器1は、加速度を検出して加速度データaを出力する加速度センサ80と、角速度を検出して角速度データωを出力する角速度センサ90を備える。   The mobile device 1 stores various programs and data such as a CPU 10 that is connected to various components via a bus and controls the entire apparatus, a RAM (Random Access Memory) 51 that functions as a work area of the CPU 10, and a posture estimation program 100. A stored ROM (Read Only Memory) 52, a communication unit 61 that executes communication, a display unit 62 that displays an image, and a GPS unit 63 are provided. The portable device 1 also includes an acceleration sensor 80 that detects acceleration and outputs acceleration data a, and an angular velocity sensor 90 that detects angular velocity and outputs angular velocity data ω.

表示部62は、CPU10が姿勢推定プログラム100を実行することにより推定した携帯機器1の姿勢qの推定値に基づいて、方位等を表す矢印等の画像を表示する。GPS部63は、GPS衛星からの信号を受信して携帯機器1の位置情報(緯度、経度)を生成する。   The display unit 62 displays an image such as an arrow indicating the azimuth or the like based on the estimated value of the posture q of the mobile device 1 estimated by the CPU 10 executing the posture estimation program 100. The GPS unit 63 receives a signal from a GPS satellite and generates position information (latitude, longitude) of the mobile device 1.

加速度センサ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 acceleration sensor 80 includes an X-axis acceleration sensor 81, a Y-axis acceleration sensor 82, and a Z-axis acceleration sensor 83. Examples of the acceleration sensor include detection type sensors such as a piezoresistive type, a capacitance type, and a heat detection type. The acceleration sensor I / F 84 AD-converts output signals from the sensors and periodically outputs acceleration data a every unit time. The acceleration data a is a vector having three components of an x-axis, a y-axis, and a z-axis representing the resultant force of inertia and gravity in a coordinate system fixed to the portable device 1 that moves integrally with the acceleration sensor 80. As shown in FIG. More specifically, the acceleration data a represents the output value from the X-axis acceleration sensor 81 as an x-axis component and the output value from the Y-axis acceleration sensor 82 in the coordinate system fixed to the portable device 1 as the y-axis. This is three-dimensional vector data represented by a component and an output value from the Z-axis acceleration sensor 83 being represented by a z-axis component.
Therefore, if the mobile device 1 is in a stationary state or a constant velocity linear motion state, the acceleration data a is three-dimensional vector data indicating the magnitude and direction of gravitational acceleration in a coordinate system fixed to the mobile device 1.

角速度センサ90は、X軸角速度センサ91、Y軸角速度センサ92、及び、Z軸角速度センサ93を備える。角速度センサI/F94は、各センサからの出力信号をAD変換して角速度データωを単位時間毎に周期的に出力する。角速度データωは、携帯機器1に固定された座標系において、3方向に延在する3軸(X軸、Y軸、Z軸)の周りのそれぞれの角速度を示す3次元のベクトルデータである。   The angular velocity sensor 90 includes an X-axis angular velocity sensor 91, a Y-axis angular velocity sensor 92, and a Z-axis angular velocity sensor 93. The angular velocity sensor I / F 94 AD-converts output signals from the sensors and periodically outputs angular velocity data ω every unit time. The angular velocity data ω is three-dimensional vector data indicating respective angular velocities around three axes (X axis, Y axis, Z axis) extending in three directions in a coordinate system fixed to the mobile device 1.

CPU10は、ROM52に格納されている姿勢推定プログラム100を実行することによって、携帯機器1の姿勢qを単位時間毎に周期的に推定する。すなわち、携帯機器1に設けられたCPU10は、姿勢推定プログラム100を実行することにより、姿勢推定部2(「姿勢推定装置」の一例)として機能する。   The CPU 10 periodically estimates the posture q of the mobile device 1 every unit time by executing the posture estimation program 100 stored in the ROM 52. That is, the CPU 10 provided in the mobile device 1 functions as the posture estimation unit 2 (an example of “posture estimation device”) by executing the posture estimation program 100.

<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 posture estimation unit 2. The posture estimation unit 2 estimates the posture q of the mobile device 1 per unit time based on the acceleration data a and the angular velocity data ω output every unit time. Hereinafter, the posture of the mobile device 1 estimated by the posture estimation unit 2 is referred to as an estimated posture q OUT .

本実施形態では、携帯機器1の姿勢qを、クォータニオンを用いて表現する。クォータニオンとは、物体の姿勢を表す4次元数である。例えば、携帯機器1に固定された座標系の各軸と、地上に固定された座標系の各軸とが一致する姿勢を基準姿勢と定義し、基準姿勢をq=[0、0、0、1]と表現する。このとき、携帯機器1の任意の姿勢qは、地上に固定された座標系における3次元の単位ベクトルρの方向に延在する軸を回転軸として、基準姿勢である携帯機器1を角度ψだけ回転した姿勢として表現できる。すなわち、携帯機器1の姿勢qは、クォータニオンを用いて、以下の式(1)で表される。

Figure 2016109608
In the present embodiment, the posture q of the mobile device 1 is expressed using quaternions. A quaternion is a four-dimensional number representing the posture of an object. For example, a posture in which each axis of the coordinate system fixed to the mobile device 1 and each axis of the coordinate system fixed to the ground coincide with each other is defined as a reference posture, and the reference posture is defined as q = [0, 0, 0, 1] Expressed as T. At this time, the arbitrary posture q of the mobile device 1 is determined by setting the mobile device 1 that is the reference posture as an angle ψ with the axis extending in the direction of the three-dimensional unit vector ρ in the coordinate system fixed on the ground as the rotation axis. It can be expressed as a rotated posture. That is, the attitude q of the mobile device 1 is expressed by the following formula (1) using a quaternion.
Figure 2016109608

図3に示すように、姿勢推定部2は、推定姿勢qOUTを推定する演算を実行する演算部20と、加速度データaに基づいて携帯機器1の動きが安定しているか否かを判定し、判定結果を示す判定情報JDを出力する判定部30と、判定部30の判定情報JDに基づいて、加速度データaを演算部20に対して供給するか否かを制御するスイッチSWと、を備える。 As illustrated in FIG. 3, the posture estimation unit 2 determines whether the movement of the mobile device 1 is stable based on the calculation unit 20 that performs a calculation for estimating the estimated posture q OUT and the acceleration data a. A determination unit 30 that outputs determination information JD indicating the determination result, and a switch SW that controls whether or not the acceleration data a is supplied to the calculation unit 20 based on the determination information JD of the determination unit 30. Prepare.

判定部30は、上述のとおり、加速度データaに基づいて、携帯機器1の動きが安定しているか否か、すなわち、携帯機器1に大きな振動が生じていないか否かを判定する。具体的には、判定部30は、以下の式(2)に例示する条件、すなわち、「加速度データaの示すベクトルの大きさと重力加速度ベクトルgの大きさとの差分値の絶対値が、所定の閾値εよりも小さい」という条件を充足するか否かを判定する。ここで、重力加速度ベクトルgとは、地上に固定された座標系において重力加速度の向き及び大きさを示す3次元のベクトルである。
なお、各種変数、ベクトル、行列等を表す符号に付された添え字kは、0≦kを満たす自然数であり、当該変数、ベクトル、行列等が時刻Tにおける値であることを意味する。ここで、時刻Tk+1は時刻Tよりも単位時間だけ後の時刻を示し、時刻Tk−1は時刻Tよりも単位時間だけ過去の時刻を示すこととする。また、以下では、時刻Tにおける加速度データaの示す3次元ベクトルを加速度ベクトルaと称し、時刻Tにおける角速度データωの示す3次元ベクトルを角速度ベクトルωと称する。また、加速度ベクトルaを、加速度センサ80により観測される観測値と称し、角速度ベクトルωを、角速度センサ90により観測される観測値と称する場合がある。

Figure 2016109608
As described above, the determination unit 30 determines whether or not the movement of the mobile device 1 is stable based on the acceleration data a, that is, whether or not a large vibration is generated in the mobile device 1. Specifically, the determination unit 30 determines that the condition exemplified in the following formula (2), that is, “the absolute value of the difference value between the magnitude of the vector indicated by the acceleration data a and the magnitude of the gravitational acceleration vector g is a predetermined value. It is determined whether or not the condition “smaller than threshold ε A ” is satisfied. Here, the gravitational acceleration vector g is a three-dimensional vector indicating the direction and magnitude of gravitational acceleration in a coordinate system fixed on the ground.
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 acceleration sensor 80, and the angular velocity vector ω k may be referred to as an observed value observed by the angular velocity sensor 90.
Figure 2016109608

判定部30は、式(2)に示す条件が充足される場合には、携帯機器1の動きが安定していると判定し、判定情報JDに対して、携帯機器1の動きが安定していることを示す値、例えば「1」を設定する。また、判定部30は、式(2)に示す条件が充足されない場合には、携帯機器1の動きが不安定であると判定し、判定情報JDに対して、携帯機器1の動きが不安定であることを示す値、例えば「0」を設定する。   The determination unit 30 determines that the movement of the mobile device 1 is stable when the condition shown in Expression (2) is satisfied, and the movement of the mobile device 1 is stable with respect to the determination information JD. For example, “1” is set. Further, the determination unit 30 determines that the movement of the mobile device 1 is unstable when the condition shown in Expression (2) is not satisfied, and the movement of the mobile device 1 is unstable with respect to the determination information JD. For example, “0” is set.

スイッチ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 acceleration sensor 80 and the calculation unit 20 and controls whether or not the acceleration data a is supplied to the calculation unit 20 based on the determination information JD.
Specifically, the switch SW is turned on when the determination result in the determination unit 30 is positive, that is, when the determination information JD output from the determination unit 30 indicates “1”. In this case, the computing unit 20 calculates the estimated posture q OUT using the acceleration data a output from the acceleration sensor 80 and the angular velocity data ω output from the angular velocity sensor 90.
On the other hand, the switch SW is turned off when the determination result in the determination unit 30 is negative, that is, when the determination information JD output from the determination unit 30 indicates “0”. In this case, the calculation unit 20 calculates the estimated posture q OUT using the angular velocity data ω output from the angular velocity sensor 90 without using the acceleration data a output from the acceleration sensor 80.
Hereinafter, the operation of the calculation unit 20 will be described in detail.

<3. 演算部について>
図4は、演算部20の機能ブロック図である。この図に示すように、演算部20は、姿勢予測部21(「予測部」の一例)と、姿勢補正部22(「補正部」の一例)と、推定姿勢出力部23(「出力部」の一例)と、を備える。
<3. About the calculation unit>
FIG. 4 is a functional block diagram of the calculation unit 20. As shown in this figure, the calculation unit 20 includes a posture prediction unit 21 (an example of a “prediction unit”), a posture correction unit 22 (an example of a “correction unit”), and an estimated posture output unit 23 (an “output unit”). For example).

姿勢予測部21は、時刻Tk−1において出力される角速度データωの示す角速度ベクトルωk−1に基づいて、姿勢推定部2により推定された時刻Tk−1における携帯機器1の推定姿勢qOUTから、時刻Tにおける携帯機器1の姿勢qの予測値(以下、「予測姿勢q」と称する)を算出する。
姿勢補正部22は、時刻Tにおいて出力される加速度データaの示す加速度ベクトルaに基づいて予測姿勢qを補正することで、時刻Tにおける携帯機器1の姿勢qの予測値の補正値(以下、「補正姿勢q」と称する)を算出する。
推定姿勢出力部23は、姿勢予測部21が算出した予測姿勢q、または、姿勢補正部22が算出した補正姿勢qを、時刻Tにおける携帯機器1の推定姿勢qOUTとして出力する。
以下、これら姿勢予測部21、姿勢補正部22、及び、推定姿勢出力部23について詳細に説明する。
Orientation prediction unit 21 on the basis of the angular velocity vector omega k-1 indicated by the angular velocity data omega outputted at time T k-1, the estimated position of the mobile device 1 at time T k-1 which is estimated by the posture estimating unit 2 From q OUT , a predicted value of posture q of portable device 1 at time T k (hereinafter referred to as “predicted posture q G ”) is calculated.
The posture correcting unit 22 corrects the predicted posture q G based on the acceleration vector a k indicated by the acceleration data a output at the time T k , thereby correcting the predicted value of the posture q of the mobile device 1 at the time T k . A value (hereinafter referred to as “correction posture q A ”) is calculated.
The estimated posture output unit 23 outputs the predicted posture q G calculated by the posture prediction unit 21 or the corrected posture q A calculated by the posture correction unit 22 as the estimated posture q OUT of the mobile device 1 at time T k .
Hereinafter, the posture prediction unit 21, the posture correction unit 22, and the estimated posture output unit 23 will be described in detail.

上述のとおり、姿勢予測部21は、角速度ベクトルωk−1に基づいて、時刻Tk−1における携帯機器1の推定姿勢qOUTから、予測姿勢qを予測する演算を実行する。
なお、以下では、図4に示すように、時刻Tk−1における携帯機器1の推定姿勢qOUTが、姿勢予測部21による時刻Tにおける予測姿勢qの算出に用いられる場合には、説明の便宜上、当該推定姿勢qOUTを予測前姿勢qG−INと称する場合がある。
As described above, the posture prediction unit 21 performs a calculation for predicting the predicted posture q G from the estimated posture q OUT of the mobile device 1 at time T k−1 based on the angular velocity vector ω k−1 .
Hereinafter, as illustrated in FIG. 4, when the estimated posture q OUT of the mobile device 1 at time T k−1 is used for calculation of the predicted posture q G at time T k by the posture prediction unit 21, For convenience of explanation, the estimated posture q OUT may be referred to as a pre-prediction posture q G-IN .

姿勢予測部21は、例えば、以下に示す回転運動の方程式(3)に従って、予測前姿勢qG−INから予測姿勢qを算出する。
ここで、式(3)の演算子Ωは、式(4)で定義される。また、式(4)の行列I3×3は、3行3列の単位行列である。また、式(4)の演算子Γは、3次元ベクトルL=(L,L,L)を用いて、式(5)で定義される。また、符号Δtは、時刻Tk−1から時刻Tまでの単位時間を示す。また、式(4)の成分Ψは、式(6)で定義される。

Figure 2016109608
Orientation prediction unit 21, for example, according to equation (3) of the rotational movement below, calculates the predicted attitude q G from the prediction before the attitude q G-IN.
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).
Figure 2016109608

上述のとおり、姿勢補正部22は、加速度ベクトルaに基づいて、予測姿勢qを補正し、補正姿勢qを算出する。
この姿勢補正部22は、図4に例示するように、予測観測値演算部221と、補正観測値演算部222と、補正量演算部223と、補正姿勢演算部224と、を備える。以下、これら姿勢補正部22の各構成要素について説明する。
As described above, the posture correction unit 22 corrects the predicted posture q G based on the acceleration vector a k and calculates a corrected posture q A.
As illustrated in FIG. 4, the posture correction unit 22 includes a predicted observation value calculation unit 221, a corrected observation value calculation unit 222, a correction amount calculation unit 223, and a correction posture calculation unit 224. Hereinafter, each component of the posture correction unit 22 will be described.

予測観測値演算部221は、時刻Tにおける携帯機器1の姿勢が予測姿勢qである場合に、時刻Tにおいて加速度センサ80により観測される観測値である加速度ベクトルaを予測する演算を実行する。そして、予測観測値演算部221は、当該予測の結果を表す予測加速度ベクトルaを出力する。
具体的には、予測観測値演算部221は、以下に示す式(7)に従って、予測加速度ベクトルaを算出する。ここで、式(7)の行列R(q)は、地上に固定された座標系から、姿勢qである携帯機器1に固定された座標系へと座標変換するための3行3列の行列であり、以下の式(8)で表される。

Figure 2016109608
The predicted observation value calculation unit 221 calculates an acceleration vector a k that is an observation value observed by the acceleration sensor 80 at the time T k when the posture of the mobile device 1 at the time T k is the predicted posture q G. Execute. Then, the predicted observation value calculating unit 221 outputs the predicted acceleration vector a O representing the result of the prediction.
Specifically, the predicted observation value calculating unit 221, according to equation (7) shown below to calculate the predicted acceleration vector a O. Here, the matrix R (q) in Expression (7) is a 3-by-3 matrix for coordinate conversion from a coordinate system fixed on the ground to a coordinate system fixed to the mobile device 1 in the posture q. And is represented by the following equation (8).
Figure 2016109608

上述のとおり、演算部20には、判定部30における判定結果が肯定である場合、すなわち、携帯機器1の動きが安定している場合に、加速度ベクトルaが供給される。携帯機器1の動きが安定している場合、加速度センサ80による観測値である加速度ベクトルaは、重力加速度を表していると看做すことができる。このため、予測観測値演算部221は、式(7)に示すように、時刻Tにおける携帯機器1の姿勢qを予測姿勢qとしたうえで、重力加速度ベクトルgを携帯機器1に固定された座標系に座標変換し、当該座標変換により得られたベクトルを、加速度ベクトルaの予測値である予測加速度ベクトルaとする。 As described above, the acceleration vector ak is supplied to the arithmetic unit 20 when the determination result in the determination unit 30 is positive, that is, when the movement of the mobile device 1 is stable. When the movement of the mobile device 1 is stable, it can be considered that the acceleration vector a k that is an observation value by the acceleration sensor 80 represents the gravitational acceleration. Therefore, the predicted observation value calculating unit 221, as shown in equation (7), the attitude q of the portable device 1 at time T k upon which a predicted position q G, fixed to the gravitational acceleration vector g in the portable device 1 is the coordinate transformation to the coordinate system, the vector obtained by the coordinate transformation, the predicted acceleration vector a O is the predicted value of the acceleration vector a k.

補正観測値演算部222は、予測観測値演算部221が算出した予測加速度ベクトルaと、加速度センサ80が供給する加速度データaの示す加速度ベクトルaとを、加重平均することで、補正加速度ベクトルaを生成する。
具体的には、補正観測値演算部222は、以下の式(9)に基づいて、補正加速度ベクトルaを生成する。なお、式(9)において、係数αは、0<α<1を満たす実数である。

Figure 2016109608
The corrected observation value calculation unit 222 performs a weighted average of the predicted acceleration vector a O calculated by the prediction observation value calculation unit 221 and the acceleration vector a k indicated by the acceleration data a supplied from the acceleration sensor 80, thereby correcting the corrected acceleration. A vector a C is generated.
Specifically, the corrected observed value calculation unit 222 generates a corrected acceleration vector a C based on the following equation (9). In Equation (9), the coefficient α A is a real number that satisfies 0 <α A <1.
Figure 2016109608

図5は、加速度ベクトルa、予測加速度ベクトルa、及び、補正加速度ベクトルaの関係について説明するための説明図である。この図に示すように、補正加速度ベクトルaは、加速度ベクトルa及び予測加速度ベクトルaに垂直な単位ベクトルdに垂直なベクトルであって、加速度ベクトルa及び予測加速度ベクトルaの間の方向を向いたベクトルとなる。以下、この図に示すように、予測加速度ベクトルa及び補正加速度ベクトル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は、補正加速度ベクトルaと予測加速度ベクトルaとに基づいて、予測姿勢qを補正するためのクォータニオンである姿勢変化量Pを算出する。具体的には、補正量演算部223は、以下に示す式(10)に基づいて、姿勢変化量Pを算出する。なお、単位ベクトルdは、式(11)により求めることができる。式(11)において、「a×a」は、予測加速度ベクトルaと補正加速度ベクトルaとのクロス積を意味する。

Figure 2016109608
Correction amount calculation unit 223, based on the corrected acceleration vector a C and predicted acceleration vector a O, and calculates the posture change amount P A is a quaternion for correcting the predicted attitude q G. Specifically, the correction amount calculation unit 223, based on equation (10) shown below, calculates the posture change amount P A. Note that the unit vector d A can be obtained by Expression (11). In Expression (11), “a O × a C ” means a cross product of the predicted acceleration vector a O and the corrected acceleration vector a C.
Figure 2016109608

式(1)からも明らかなように、クォータニオンは、姿勢そのものを表すことができる他に、姿勢の変化量を表すことができる。姿勢の変化が、ある軸を中心とした回転である場合に、当該姿勢の変化量(例えば、姿勢変化量P)を、軸の延在する方向(例えば、単位ベクトルd)と、当該軸を中心とする回転の大きさ(例えば、角度θ)と、を示すクォータニオンを用いて表すことができる。
すなわち、クォータニオンである姿勢変化量Pは、予測加速度ベクトルaを補正加速度ベクトルaへと姿勢変化させる場合の、姿勢の変化量を表す。換言すれば、姿勢変化量Pは、携帯機器1の姿勢qを、加速度センサ80の観測値が予測加速度ベクトルaとなる予測姿勢qから、加速度センサ80の観測値が補正加速度ベクトルaとなる補正姿勢qへと、変化させる場合の、携帯機器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 mobile device 1 from the predicted posture q G where the observed value of the acceleration sensor 80 is the predicted acceleration vector a O, and the observed value of the acceleration sensor 80 is the corrected acceleration vector a. This is a quaternion indicating the amount of change in the attitude of the mobile device 1 when changing to the corrected attitude q A that becomes C.

補正姿勢演算部224は、予測姿勢qを、姿勢変化量Pだけ変化させることで、補正姿勢qを算出する。
なお、以下では、図4に示すように、予測姿勢qが、補正姿勢演算部224による補正姿勢qの算出に用いられる場合には、説明の便宜上、当該予測姿勢qを補正前姿勢qA−INと称する場合がある。
Correcting the posture computing unit 224, a predicted position q G, by changing only the posture variation P A, calculates the correction posture q A.
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 position calculating section 224, for convenience of explanation, before correcting the predicted position q G posture It may be referred to as q A-IN .

補正姿勢演算部224は、以下の式(12)に従って、補正前姿勢qA−INを姿勢変化量Pだけ変化させる補正を実行することで、補正姿勢qを算出する。
ここで、演算子[×]は、クォータニオン積である。クォータニオン積とは、2つのクォータニオンのうち、一方のクォータニオンを姿勢と看做し、他方のクォータニオンを姿勢変化量と看做すことで、一方のクォータニオンとして表された姿勢を、他方のクォータニオンとして表された姿勢変化量だけ姿勢変化させる演算である。

Figure 2016109608
Correcting the posture computing unit 224 according to the following equation (12), by executing the correction of changing the uncorrected attitude q A-IN only posture variation P A, calculates the correction posture q A.
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.
Figure 2016109608

以上において説明したように、姿勢補正部22は、角速度センサ90からの出力値である角速度ベクトルωk−1に応じて定められる予測加速度ベクトルaと、加速度センサ80からの出力値である加速度ベクトルaとの、加重平均として補正加速度ベクトルaを算出する(式(9)参照)。そして、予測加速度ベクトルaを、予測加速度ベクトルa及び加速度ベクトルaの間の方向を向く補正加速度ベクトルaへと姿勢変化させる場合の姿勢変化量Pを求め、当該姿勢変化量Pにより予測姿勢qを補正することで、補正姿勢qを算出する。すなわち、本実施形態において、補正姿勢qは、角速度センサ90が出力する角速度データωと、加速度センサ80が出力する加速度データaとの双方に基づいて定められる。
ところで、仮に、式(9)において、係数αを「1」とする場合、補正加速度ベクトルaは、加速度ベクトルaとなる。この場合、補正姿勢qは、角速度データωの影響を受けることなく、加速度データaのみに基づいて定められる。そして、この場合、補正姿勢qは、加速度データaに重畳するノイズや、加速度センサ80における測定誤差の影響により、真の姿勢から乖離した姿勢となることがある。
また、仮に、式(9)において、係数αを「0」とする場合、補正加速度ベクトルaは、予測加速度ベクトルaとなる。この場合、補正姿勢qは、加速度ベクトルaの影響を受けることなく、角速度データωに基づいて定められる。そして、この場合、補正姿勢qは、角速度データωに重畳するノイズや、角速度センサ90における測定誤差の影響により、真の姿勢から乖離した姿勢となる事がある。
これに対して本実施形態では、式(9)に示すように、補正加速度ベクトルaを、予測加速度ベクトルaと加速度ベクトルaとの加重平均として算出し、補正姿勢qを、加速度データa及び角速度データωの双方に基づいて定める。このため、本実施形態では、補正姿勢qを、加速度データaまたは角速度データωの何れか一方に基づいて定める場合と比較して、加速度データa及び角速度データωに重畳するノイズの影響や、加速度センサ80及び角速度センサ90における測定誤差の影響を小さく抑えることができる。これにより、本実施形態では、真の姿勢に近い正確な補正姿勢qの算出が可能となる。
As described above, the posture correction unit 22 determines the predicted acceleration vector a O determined according to the angular velocity vector ω k−1 that is the output value from the angular velocity sensor 90 and the acceleration that is the output value from the acceleration sensor 80. A corrected acceleration vector a C is calculated as a weighted average with the vector a k (see formula (9)). Then, the predicted acceleration vector a O, obtains a predicted acceleration vector a O and posture variation P A in the case of the changing the posture to the correction acceleration vector a C oriented at between acceleration vector a k, the posture variation P A corrected posture q A is calculated by correcting the predicted posture q G by A. That is, in the present embodiment, the corrected posture q A is determined based on both the angular velocity data ω output from the angular velocity sensor 90 and the acceleration data a output from the acceleration sensor 80.
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 acceleration sensor 80.
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 angular velocity sensor 90.
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 acceleration sensor 80 and the angular velocity sensor 90 can be reduced. Thus, in the present embodiment, it is possible to calculate an accurate correction posture q A close to the true position.

推定姿勢出力部23は、上述のとおり、予測姿勢qまたは補正姿勢qを、時刻Tにおける携帯機器1の推定姿勢qOUTとして出力する。
より具体的には、推定姿勢出力部23は、判定情報JDが「1」を示す場合、すなわち、判定部30における判定結果が肯定である場合には、姿勢補正部22が予測姿勢qを補正して補正姿勢qを算出するため、当該補正姿勢qを、時刻Tにおける携帯機器1の推定姿勢qOUTとして出力する。一方、推定姿勢出力部23は、判定情報JDが「0」を示す場合、すなわち、判定部30における判定結果が否定である場合には、姿勢補正部22による予測姿勢qに対する補正が実行されないため、姿勢予測部21により算出された予測姿勢qを、時刻Tにおける携帯機器1の推定姿勢qOUTとして出力する。
Estimating the attitude output unit 23, as described above, the predicted attitude q G or correction posture q A, and outputs as the estimated attitude q OUT of the portable device 1 at time T k.
More specifically, when the determination information JD indicates “1”, that is, when the determination result in the determination unit 30 is affirmative, the estimated posture output unit 23 sets the predicted posture q G to calculate the correct attitude q a correction to, and outputs the correction posture q a, as the estimated attitude q OUT of the portable device 1 at time T k. On the other hand, the estimated position output unit 23, if the determination information JD indicates "0", i.e., if the determination result in the determination unit 30 is negative is not performed is corrected for the predicted attitude q G by the posture correcting portion 22 Therefore, the predicted attitude q G calculated by the orientation prediction unit 21, and outputs as the estimated attitude q OUT of the portable device 1 at time T k.

このように、姿勢推定部2は、単位時間毎に角速度センサ90が出力する角速度データωに基づいて、携帯機器1の姿勢qの予測値である予測姿勢qを生成する。また、姿勢推定部2は、単位時間毎に加速度センサ80が出力する加速度データaの示す値が安定している場合には、当該加速度データaに基づいて、予測姿勢qを補正することで補正姿勢qを算出する。そして、姿勢推定部2は、予測姿勢qが補正姿勢qへと補正された場合には、補正姿勢qを携帯機器1の推定姿勢qOUTとして出力し、また、予測姿勢qが補正されない場合には、予測姿勢qを携帯機器1の推定姿勢qOUTとして出力する。
このように、本実施形態に係る姿勢推定部2は、角速度センサ90の出力する角速度データωと、加速度センサ80の出力する加速度データaとの双方に基づいて、時刻Tk−1における推定姿勢qOUTから、時刻Tにおける推定姿勢qOUTを算出することで、携帯機器1の姿勢qを単位時間毎に推定する。
Thus, the posture estimating unit 2 based on the angular velocity data ω the angular velocity sensor 90 outputs per unit time, and generates a predicted attitude q G is a prediction value of the orientation q of the portable equipment 1. Further, the posture estimating unit 2, if the value indicated by the acceleration data a by the acceleration sensor 80 outputs is stable for each unit time, that on the basis of the acceleration data a, corrects the predicted position q G A corrected posture qA is calculated. Then, the posture estimating unit 2, if the predicted position q G is corrected to a corrected posture q A outputs the correction posture q A as the estimated attitude q OUT of the portable device 1, also predicted position q G If not corrected, the predicted posture q G is output as the estimated posture q OUT of the mobile device 1.
As described above, the posture estimation unit 2 according to the present embodiment is based on both the angular velocity data ω output from the angular velocity sensor 90 and the acceleration data a output from the acceleration sensor 80, and the estimated posture at time T k−1 . By calculating the estimated posture q OUT at time T k from q OUT , the posture q of the mobile device 1 is estimated for each unit time.

<4. 実施形態の結論>
以上において説明したように、本実施形態に係る姿勢推定部2は、角速度センサ90が出力する角速度データωに基づいて算出された予測姿勢qを、加速度センサ80が出力する加速度データaに基づいて補正することで、補正姿勢qを算出する。すなわち、本実施形態では、角速度データωと、加速度データaとの双方に基づいて、携帯機器1の姿勢qを推定する。
<4. Conclusion of Embodiment>
As described above, the posture estimation unit 2 according to the present embodiment uses the predicted posture q G calculated based on the angular velocity data ω output from the angular velocity sensor 90 based on the acceleration data a output from the acceleration sensor 80. by correcting Te, and calculates the correction posture q a. That is, in the present embodiment, the posture q of the mobile device 1 is estimated based on both the angular velocity data ω and the acceleration data a.

ところで、一般的に、加速度データaには、携帯機器1の姿勢qの推定のために加速度センサ80が検出すべき重力加速度の他に、携帯機器1の振動に起因する加速度がノイズとして重畳する可能性が高い。他方、角速度データωは、一般的に、携帯機器1の姿勢qの推定のために角速度センサ90が検出すべき携帯機器1の姿勢変化のみを検出するため、加速度データaと比較してノイズが重畳する可能性が低い。これらのことから、携帯機器1の姿勢qの推定において、信頼性の高いデータのみを使用する態様、すなわち、角速度データωに基づいて算出された予測姿勢qを推定姿勢qOUTとして出力し、加速度データaに基づく予測姿勢qの補正を実行しない態様(以下、「対比例」と称する)も想定されうる。 Incidentally, in general, acceleration data a is superimposed with noise caused by vibration of the mobile device 1 in addition to the gravitational acceleration to be detected by the acceleration sensor 80 in order to estimate the posture q of the mobile device 1. Probability is high. On the other hand, since the angular velocity data ω generally detects only the posture change of the mobile device 1 to be detected by the angular velocity sensor 90 in order to estimate the posture q of the mobile device 1, noise is generated compared to the acceleration data a. The possibility of overlapping is low. From these, in the estimation of the posture q of the mobile device 1, only the highly reliable data is used, that is, the predicted posture q G calculated based on the angular velocity data ω is output as the estimated posture q OUT . manner that does not perform the correction of the predicted position q G based on the acceleration data a (hereinafter, referred to as "comparison example") also be envisaged.

しかし、時刻Tにおける携帯機器1の姿勢qの予測結果である予測姿勢qは、時刻Tk−1における携帯機器1の推定姿勢qOUTを、時刻Tk−1から時刻Tまでの単位時間における携帯機器1の姿勢変化量だけ変化させた姿勢である(式(3)参照)。つまり、姿勢予測部21が実行する携帯機器1の姿勢qを予測する演算(以下、「予測演算」と称する)は、単位時間における携帯機器1の姿勢qの相対的な変化量を求める演算に過ぎない。
よって、対比例においては、例えば、初期状態(時刻T)における携帯機器1の推定姿勢qOUTと、時刻Tにおける携帯機器1の真の姿勢qとの間に誤差が存在する場合、姿勢予測部21による予測演算を繰り返し実行しても、当該誤差は解消されない。
また、対比例において、時刻Tにおける携帯機器1の予測姿勢qは、初期状態(時刻T)から時刻Tまでの間に姿勢予測部21が実行したk回の予測演算において得られるk個の姿勢変化量Ω(ω)、Ω(ω)、…、Ω(ωk−1)の合計値に基づいて算出される。このため、仮に、角速度センサ90の信頼性が高く、角速度データωに重畳するノイズが小さい場合であっても、時刻Tと時刻Tとの時間長が長くなり、予測演算の実行回数が増加するに従って、角速度データωに重畳するノイズの予測姿勢qに対する影響も蓄積する。つまり、時刻Tと現時刻Tとの時間長が長くなるに従って、携帯機器1の予測姿勢qと携帯機器1の真の姿勢qとの誤差も蓄積し増大する。
However, the predicted attitude q G is a prediction result of the portable device 1 posture q at time T k is the estimated pose q OUT of the portable device 1 at time T k-1, from time T k-1 to time T k The posture is changed by the posture change amount of the mobile device 1 in unit time (see Expression (3)). That is, the calculation (hereinafter referred to as “prediction calculation”) for predicting the posture q of the mobile device 1 executed by the posture prediction unit 21 is a calculation for obtaining a relative change amount of the posture q of the mobile device 1 in unit time. Not too much.
Therefore, in contrast, for example, when there is an error between the estimated posture q OUT of the mobile device 1 in the initial state (time T 0 ) and the true posture q of the mobile device 1 at the time T 0 , Even if the prediction calculation by the prediction unit 21 is repeatedly executed, the error is not eliminated.
Further, in the comparative example, the predicted attitude q G of the portable device 1 at time T k, obtained in the k times of the prediction computation orientation prediction unit 21 has performed during the initial state (time T 0) to the time T k It is calculated based on a total value of k posture change amounts Ω (ω 0 ), Ω (ω 1 ),..., Ω (ω k−1 ). For this reason, even if the reliability of the angular velocity sensor 90 is high and the noise superimposed on the angular velocity data ω is small, the time length between the time T 0 and the time T k becomes long, and the number of times of execution of the prediction calculation is increased. with increasing, also accumulates effects on predicted position q G of noise superimposed on the angular velocity data omega. That is, as the time length between the time T 0 and the current time T k increases, the error between the predicted posture q G of the mobile device 1 and the true posture q of the mobile device 1 also accumulates and increases.

これに対して、本実施形態に係る姿勢推定部2は、判定部30における判定結果が肯定である場合、すなわち、加速度ベクトルaが重力加速度を表していると看做せる場合に、加速度ベクトルaにより予測姿勢qを補正する。
携帯機器1の姿勢qが変化している場合、時間の経過と共に、携帯機器1に固定された座標系の向き(X軸、Y軸、Z軸の向き)も変化する。この場合、時刻Tk−1における携帯機器1に固定された座標系は、時刻Tにおける携帯機器1に固定された座標系とは異なる座標系となる。よって、携帯機器1の姿勢qが変化している場合、ある時刻における携帯機器1に固定された座標系から見た、当該ある時刻における携帯機器1の姿勢と、当該ある時刻における携帯機器1に固定された座標系から見た、当該ある時刻とは異なる時刻における携帯機器1の姿勢とは、異なる姿勢となる場合がある。このような、ある時刻における携帯機器1に固定された座標系から見た、携帯機器1の姿勢は、角速度ベクトルωに基づいて表される。具体的には、角速度ベクトルωk−1は、時刻Tk−1における携帯機器1に固定された座標系から見た時刻Tにおける携帯機器1の謂わば相対的な姿勢を示す(式(3)参照)。
これに対して、加速度ベクトルaは、地上に固定された座標系から見た携帯機器1の謂わば絶対的な姿勢を示す。このため、本実施形態のように、加速度ベクトルaを用いて予測姿勢qに対する補正を実行することで、初期状態において生じていた推定姿勢qOUTの誤差を小さくすることができ、また、予測演算を繰り返すことで蓄積される誤差を小さくすることができる。これにより、本実施形態にかかる姿勢推定部2は、携帯機器1の姿勢qを正確に推定することができる。
On the other hand, when the determination result in the determination unit 30 is affirmative, that is, when it can be considered that the acceleration vector ak represents gravitational acceleration, the posture estimation unit 2 according to the present embodiment has an acceleration vector. to correct the prediction attitude q G by a k.
When the posture q of the mobile device 1 is changing, the direction of the coordinate system (X-axis, Y-axis, and Z-axis directions) fixed to the mobile device 1 also changes with the passage of time. In this case, the coordinate system fixed to the mobile device 1 at time T k−1 is a different coordinate system from the coordinate system fixed to the mobile device 1 at time T k . Therefore, when the posture q of the portable device 1 is changing, the posture of the portable device 1 at the certain time and the portable device 1 at the certain time as viewed from the coordinate system fixed to the portable device 1 at the certain time. The posture of the mobile device 1 at a time different from the certain time as seen from the fixed coordinate system may be different. The posture of the mobile device 1 as viewed from the coordinate system fixed to the mobile device 1 at a certain time is expressed based on the angular velocity vector ω k . Specifically, the angular velocity vector ω k−1 indicates a so - called relative posture of the mobile device 1 at time T k viewed from the coordinate system fixed to the mobile device 1 at time T k−1 (formula ( 3)).
On the other hand, the acceleration vector ak indicates a so-called absolute attitude of the mobile device 1 viewed from a coordinate system fixed on the ground. For this reason, as in the present embodiment, by executing the correction for the predicted posture q G using the acceleration vector a k , the error of the estimated posture q OUT that has occurred in the initial state can be reduced, The accumulated error can be reduced by repeating the prediction calculation. Thereby, the posture estimation unit 2 according to the present embodiment can accurately estimate the posture q of the mobile device 1.

ところで、上述のとおり、演算部20が備える姿勢補正部22は、加速度ベクトルaと、重力加速度ベクトルgを携帯機器1に固定された座標系において表したベクトルとが、略同じであることを前提として予測姿勢qを補正する。しかし、携帯機器1が振動する等、携帯機器1の動きが不安定な場合、加速度ベクトルaには、重力加速度以外の加速度がノイズとして重畳する。この場合、加速度ベクトルaと、重力加速度ベクトルgを携帯機器1に固定された座標系において表したベクトルとを、略同じと看做すことはできない。よって、携帯機器1の動きが不安定である場合に、加速度ベクトルaを用いて予測姿勢qを補正して得られる補正姿勢qは、携帯機器1の真の姿勢から大きく乖離している可能性が高い。つまり、この場合、姿勢推定部2が、補正姿勢qを推定姿勢qOUTとして出力すると、姿勢推定部2は、携帯機器1の真の姿勢から大きく乖離した推定姿勢qOUTを出力することとなる。
これに対して、本実施形態に係る姿勢推定部2は、判定部30における判定結果が肯定で、携帯機器1の動きが安定している場合にのみ、加速度データaを演算部20に供給し、加速度ベクトルaによる予測姿勢qに対する補正を実行する。このため、本実施形態に係る姿勢推定部2では、携帯機器1の真の姿勢から大きく乖離した推定姿勢qOUTが算出されることを防止することができる。
By the way, as described above, the posture correction unit 22 included in the calculation unit 20 confirms that the acceleration vector ak and the vector representing the gravitational acceleration vector g in the coordinate system fixed to the mobile device 1 are substantially the same. to correct the prediction attitude q G as a premise. However, when the movement of the mobile device 1 is unstable, such as when the mobile device 1 vibrates, acceleration other than gravitational acceleration is superimposed as noise on the acceleration vector ak . In this case, the acceleration vector ak and the vector representing the gravitational acceleration vector g in the coordinate system fixed to the portable device 1 cannot be regarded as substantially the same. Therefore, when the movement of the mobile device 1 is unstable, the corrected posture q A obtained by correcting the predicted posture q G using the acceleration vector a k is greatly deviated from the true posture of the mobile device 1. There is a high possibility. That is, in this case, when the posture estimation unit 2 outputs the corrected posture q A as the estimated posture q OUT , the posture estimation unit 2 outputs the estimated posture q OUT greatly deviating from the true posture of the mobile device 1. Become.
On the other hand, the posture estimation unit 2 according to the present embodiment supplies the acceleration data a to the calculation unit 20 only when the determination result in the determination unit 30 is affirmative and the movement of the mobile device 1 is stable. Then, correction for the predicted posture q G by the acceleration vector a k is executed. For this reason, in the posture estimation unit 2 according to the present embodiment, it is possible to prevent the estimated posture q OUT greatly deviating from the true posture of the mobile device 1.

このように、本実施形態に係る姿勢推定部2は、角速度センサ90の出力する角速度データωと、加速度センサ80の出力する加速度データaとの双方に基づいて推定姿勢qOUTを算出するため、角速度データωまたは加速度データaの一方のみに基づいて推定姿勢qOUTを算出する場合と比較して、携帯機器1の真の姿勢により近い推定姿勢qOUTを算出することができる。
更に、本実施形態にかかる姿勢推定部2は、カルマンフィルタによる演算のように、姿勢qの推定値の推定誤差の共分散を単位時間毎に演算する必要が無いため、カルマンフィルタを用いて携帯機器1の姿勢qを推定する場合と比較して、処理負荷を軽減することができる。
Thus, the posture estimation unit 2 according to the present embodiment calculates the estimated posture q OUT based on both the angular velocity data ω output from the angular velocity sensor 90 and the acceleration data a output from the acceleration sensor 80. as compared with the case of calculating the estimated posture q OUT based on only one of the angular velocity data ω or acceleration data a, it can be calculated closer estimated attitude q OUT by the true attitude of the mobile device 1.
Furthermore, since the posture estimation unit 2 according to the present embodiment does not need to calculate the covariance of the estimation error of the estimated value of the posture q every unit time unlike the calculation by the Kalman filter, the portable device 1 uses the Kalman filter. The processing load can be reduced as compared with the case where the posture q is estimated.

<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)に例示したように、加速度ベクトルaの大きさと重力加速度ベクトルgの大きさとの差分が、閾値εよりも小さい否かを判定するが、本発明はこのような形態に限定されるものでは無く、判定部30は、携帯機器1の動きが安定しているか否かを判定することができれば、どのような構成であってもよい。
例えば、判定部30は、加速度データaの有する加速度ベクトルaの各成分について、HPF(High-pass filter)を透過させた場合に、HPFの出力値が所定値よりも小さいか否かを判定するものであってもよい。この場合、携帯機器1に振動が生じていれば、HPFの出力値が所定値以上となるため、携帯機器1の動きが安定しているか否かを判定することができる。
<Modification 1>
The determination unit 30 according to the embodiment described above determines whether or not the difference between the magnitude of the acceleration vector a k and the magnitude of the gravitational acceleration vector g is smaller than the threshold value ε A , as illustrated in the above-described equation (2). However, the present invention is not limited to such a form, and the determination unit 30 may have any configuration as long as it can determine whether the movement of the mobile device 1 is stable. Also good.
For example, the determination unit 30 determines whether or not the output value of the HPF is smaller than a predetermined value when each component of the acceleration vector ak included in the acceleration data a is transmitted through an HPF (High-pass filter). You may do. In this case, if vibration is generated in the mobile device 1, the output value of the HPF is equal to or greater than a predetermined value.

<変形例2>
上述した実施形態及び変形例において、姿勢推定部2はスイッチSWを備えるが、本発明はこのような形態に限定されるものでは無く、姿勢推定部2はスイッチSWを備えない構成であってもよい。
<Modification 2>
In the embodiment and the modification described above, the posture estimation unit 2 includes the switch SW. However, the present invention is not limited to such a form, and the posture estimation unit 2 may not include the switch SW. Good.

姿勢推定部2がスイッチSWを備えない場合、判定部30の判定結果に関わらず、加速度ベクトルaを演算部20に供給してもよい。この場合、姿勢補正部22は、判定部30の判定結果に関わらず、予測姿勢qを加速度ベクトルaにより補正して補正姿勢qを算出してもよいし、また、推定姿勢出力部23は、判定部30の判定結果に関わらず、補正姿勢qを推定姿勢qOUTとして出力してもよい。 When the posture estimation unit 2 does not include the switch SW, the acceleration vector ak may be supplied to the calculation unit 20 regardless of the determination result of the determination unit 30. In this case, the posture correction unit 22 may calculate the corrected posture q A by correcting the predicted posture q G with the acceleration vector a k regardless of the determination result of the determination unit 30, or the estimated posture output unit. 23 may output the corrected posture q A as the estimated posture q OUT regardless of the determination result of the determination unit 30.

なお、姿勢推定部2がスイッチSWを供えない場合、上述した式(9)に示す、補正加速度ベクトルaを算出する加重平均の演算において、加速度ベクトルaに付される重みである係数αを、判定部30の判定結果に基づいて変化させてもよい。例えば、判定部30の判定結果が肯定であり携帯機器1の動作が安定であると看做せる場合には、式(9)に示すとおり係数αを用いて補正加速度ベクトルaを算出し、判定部30の判定結果が否定であり携帯機器1の動作が不安定である場合には、式(9)において、係数αの代わりに、0≦α<α<1を満たす実数である係数αを用いて、補正加速度ベクトルaを算出してもよい。
携帯機器1の動作が不安定であり、加速度ベクトルaが重力加速度を示す成分以外のノイズ成分を含む場合、加速度ベクトルaに基づいて算出される補正姿勢qも、加速度ベクトルaに含まれるノイズの影響を受ける。この場合、補正姿勢qが、携帯機器1の真の姿勢から大きく乖離したものとして算出される。
本変形例では、判定部30の判定結果が否定である場合、式(9)に示す補正加速度ベクトルaを算出するための加重平均の演算において、加速度ベクトルaに対応する重みを、係数αの代わりに、係数αよりも小さい係数αとするため、加速度ベクトルaに対応する重みを係数αとする場合と比較して、加速度ベクトルaの有するノイズの補正姿勢qに対する影響を小さくできる。つまり、本変形例では、式(9)において加速度ベクトルaに対応する重みを係数αとする場合と比較して、予測加速度ベクトルaに対応する重みである係数(1−α)を大きくすることができる。このため、携帯機器1の動作が不安定であっても、携帯機器1の真の姿勢に近い補正姿勢qを算出することができる。
When the posture estimation unit 2 is not provided with the switch SW, the coefficient α which is a weight added to the acceleration vector a k in the calculation of the weighted average for calculating the corrected acceleration vector a C shown in the above equation (9). A may be changed based on the determination result of the determination unit 30. For example, when the determination result of the determination unit 30 is affirmative and the operation of the mobile device 1 can be regarded as stable, the corrected acceleration vector a C is calculated using the coefficient α A as shown in Equation (9). When the determination result of the determination unit 30 is negative and the operation of the mobile device 1 is unstable, a real number satisfying 0 ≦ α BA <1 instead of the coefficient α A in the equation (9) The corrected acceleration vector a C may be calculated using the coefficient α B as follows.
Operation of the mobile device 1 is unstable, if the acceleration vector a k comprises a noise component other than the component indicating the gravitational acceleration, the correction posture q A calculated based on the acceleration vector a k, the acceleration vector a k It is affected by the included noise. In this case, the corrected posture q A is calculated as being greatly deviated from the true posture of the mobile device 1.
In this modification, when the determination result of the determination unit 30 is negative, in the calculation of the weighted average for calculating the corrected acceleration vector a C shown in Expression (9), the weight corresponding to the acceleration vector a k is expressed as the coefficient instead of alpha a, for a small coefficient alpha B than the coefficient alpha a, as compared with the case of the weight corresponding to the acceleration vector a k a coefficient alpha a, noise included in the acceleration vector a k correction posture q The influence on A can be reduced. That is, in the present modification, the coefficient (1-α B ) that is the weight corresponding to the predicted acceleration vector a O is compared with the case where the weight corresponding to the acceleration vector a k is set to the coefficient α A in Equation (9). Can be increased. For this reason, even if the operation of the mobile device 1 is unstable, it is possible to calculate the corrected posture q A that is close to the true posture of the mobile device 1.

また、上述した実施形態及び変形例において、姿勢推定部2は判定部30を備えるが、本発明はこのような形態に限定されるものでは無く、姿勢推定部2は判定部30を備えない構成であってもよい。この場合、姿勢推定部2はスイッチSWを備えない構成であってもよい。
姿勢推定部2が判定部30を備えない場合、加速度センサ80の出力する加速度ベクトルaが、常に演算部20に供給されることとしてもよい。この場合、演算部20は、加速度ベクトルaに基づいて予測姿勢qを補正して得られる補正姿勢qを、推定姿勢qOUTとして出力すればよい。
なお、姿勢推定部2が判定部30を供えない場合、式(9)における係数αの代わりに、0<α<α<1を満たす実数である係数αを用いて、補正加速度ベクトルaを算出してもよい。この場合、予測加速度ベクトルaに対応する重みである係数(1−α)を大きくすることができる。このため、携帯機器1の動作が不安定であっても、携帯機器1の真の姿勢に近い補正姿勢qを算出することができる。
In the embodiment and the modification described above, the posture estimation unit 2 includes the determination unit 30, but the present invention is not limited to such a form, and the posture estimation unit 2 does not include the determination unit 30. It may be. In this case, the posture estimation unit 2 may be configured without the switch SW.
When the posture estimation unit 2 does not include the determination unit 30, the acceleration vector a k output from the acceleration sensor 80 may be always supplied to the calculation unit 20. In this case, the arithmetic unit 20, the correction posture q A obtained by correcting the predicted position q G based on the acceleration vector a k, may be output as the estimated attitude q OUT.
When the posture estimation unit 2 does not include the determination unit 30, a corrected acceleration α is used by using a coefficient α C that is a real number satisfying 0 <α CA <1 instead of the coefficient α A in the equation (9). The vector a C may be calculated. In this case, the coefficient (1-α C ) that is a weight corresponding to the predicted acceleration vector a O can be increased. For this reason, even if the operation of the mobile device 1 is unstable, it is possible to calculate the corrected posture q A that is close to the true posture of the mobile device 1.

<変形例3>
上述した実施形態及び変形例において、携帯機器1は、加速度センサ80及び角速度センサ90を備えるが、本発明はこのような形態に限定されるものでは無く、携帯機器1は、これらに加えて、3方向の磁気を周期的に検出して検出結果を出力する磁気センサを備えるものであってもよい。
この場合、姿勢推定部2は、上述した実施形態及び変形例のように、加速度センサ80及び角速度センサ90からの出力結果に基づいて、鉛直方向(重力加速度ベクトルgの延在方向)からの携帯機器1の傾きを推定するのに加え、磁気センサ及び角速度センサ90からの出力結果に基づいて、磁極北に向かう方向からの携帯機器1の傾きを推定するものであってもよい。
<Modification 3>
In the embodiment and the modification described above, the mobile device 1 includes the acceleration sensor 80 and the angular velocity sensor 90. However, the present invention is not limited to such a form, and the mobile device 1 includes, You may provide the magnetic sensor which detects the magnetism of 3 directions periodically and outputs a detection result.
In this case, the posture estimation unit 2 is portable from the vertical direction (the direction in which the gravitational acceleration vector g extends) based on the output results from the acceleration sensor 80 and the angular velocity sensor 90, as in the above-described embodiments and modifications. In addition to estimating the inclination of the device 1, the inclination of the portable device 1 from the direction toward the north of the magnetic pole may be estimated based on the output results from the magnetic sensor and the angular velocity sensor 90.

<変形例4>
上述した実施形態及び変形例において、加速度センサ80及び角速度センサ90等のセンサは、単位時間毎に周期的に検出した観測値を出力するが、本発明はこのような形態に限定されるものでは無く、任意のタイミングで観測値を出力するものであればよい。この場合、姿勢予測部21は、角速度データωが出力されるタイミングで、予測姿勢qを生成するための演算を実行すればよく、姿勢補正部22は、加速度データaが出力されるタイミングで、補正姿勢qを生成するための演算を実行すればよい。すなわち、演算部20は、角速度データωに基づいて予測姿勢qを生成する姿勢予測部21の処理と、加速度データaに基づいて補正姿勢qを生成する姿勢補正部22の処理とを、独立して、非同期で実行してもよい。
更に、姿勢予測部21と姿勢補正部22とが非同期で動作する場合、姿勢補正部22は、予測姿勢qの代わりに推定姿勢qOUTに基づいて、補正姿勢qを生成してもよい。すなわち、演算部20は、推定姿勢qOUTを予測前姿勢qG−INとして当該予測前姿勢qG−INに基づいて予測姿勢qを生成する姿勢予測部21における処理と、推定姿勢qOUTを補正前姿勢qA−INとして当該補正前姿勢qA−INに基づいて補正姿勢qを生成する姿勢補正部22における処理とを、互いに排他的なタイミングで且つ互いに独立して実行するものであってもよい。
<Modification 4>
In the embodiment and the modification described above, sensors such as the acceleration sensor 80 and the angular velocity sensor 90 output observation values periodically detected every unit time, but the present invention is not limited to such a form. There is no limitation as long as the observation value is output at an arbitrary timing. In this case, the posture predicting portion 21, at the timing when the angular velocity data ω is output may be executed an operation for generating a predicted attitude q G, posture correction section 22 at the timing of the acceleration data a is output The calculation for generating the corrected posture q A may be executed. That is, the calculation unit 20 performs processing of the posture prediction unit 21 that generates the predicted posture q G based on the angular velocity data ω and processing of the posture correction unit 22 that generates the corrected posture q A based on the acceleration data a. It may be executed independently and asynchronously.
Further, when the posture prediction unit 21 and the posture correction unit 22 operate asynchronously, the posture correction unit 22 may generate a corrected posture q A based on the estimated posture q OUT instead of the predicted posture q G. . That is, the calculation unit 20 sets the estimated posture q OUT as the pre - prediction posture q G-IN and generates a predicted posture q G based on the pre-prediction posture q G-IN , and the estimated posture q OUT. Is executed at the mutually exclusive timing and independently from each other, with the pre - correction posture q A-IN as the pre-correction posture q A-IN and generating the corrected posture q A based on the pre-correction posture q A-IN It may be.

1…携帯機器、2…姿勢推定部、10…CPU、20…演算部、21…姿勢予測部、22…姿勢補正部、23…推定姿勢出力部、221…予測観測値演算部、222…補正観測値演算部、223…補正量演算部、224…補正姿勢演算部、30…判定部、80…加速度センサ、90…角速度センサ。
DESCRIPTION OF SYMBOLS 1 ... Portable apparatus, 2 ... Attitude estimation part, 10 ... CPU, 20 ... Calculation part, 21 ... Attitude prediction part, 22 ... Attitude correction part, 23 ... Estimated attitude output part, 221 ... Predicted observation value calculation part, 222 ... Correction Observation value calculation unit, 223 ... correction amount calculation unit, 224 ... correction posture calculation unit, 30 ... determination unit, 80 ... acceleration sensor, 90 ... angular velocity sensor.

Claims (4)

3方向の加速度を周期的に検出して検出結果を加速度データとして順次出力する加速度センサと、
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方向の加速度を周期的に検出して検出結果を加速度データとして順次出力する加速度センサと、
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.
JP2014248810A 2014-12-09 2014-12-09 Posture estimation device and control program for posture estimation device Pending JP2016109608A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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