JP5141098B2 - Attitude data filter device, attitude data filtering method, and attitude data filter program. - Google Patents

Attitude data filter device, attitude data filtering method, and attitude data filter program. Download PDF

Info

Publication number
JP5141098B2
JP5141098B2 JP2007147508A JP2007147508A JP5141098B2 JP 5141098 B2 JP5141098 B2 JP 5141098B2 JP 2007147508 A JP2007147508 A JP 2007147508A JP 2007147508 A JP2007147508 A JP 2007147508A JP 5141098 B2 JP5141098 B2 JP 5141098B2
Authority
JP
Japan
Prior art keywords
posture
time
indicated
data
angular acceleration
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.)
Expired - Fee Related
Application number
JP2007147508A
Other languages
Japanese (ja)
Other versions
JP2008298700A (en
Inventor
伊吹 半田
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 JP2007147508A priority Critical patent/JP5141098B2/en
Publication of JP2008298700A publication Critical patent/JP2008298700A/en
Application granted granted Critical
Publication of JP5141098B2 publication Critical patent/JP5141098B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Gyroscopes (AREA)

Description

本発明は姿勢データフィルタ装置、姿勢データフィルタリング方法および姿勢データフィルタプログラムに関し、特に時系列の姿勢データを平滑化する技術に関する。   The present invention relates to an attitude data filter device, an attitude data filtering method, and an attitude data filter program, and more particularly to a technique for smoothing time-series attitude data.

従来、例えば3次元地磁気センサと3次元加速度センサとを用い、これらが搭載された物体の姿勢を示す姿勢データを導出する方法が知られている(例えば特許文献1参照)。この方法によると、姿勢データにはノイズが混入しており、また、物体に衝撃が加わると、加速度センサを用いて姿勢を導出することに起因して実際の姿勢とは著しく異なる姿勢を示す姿勢データが導出されることになる。このようにノイズが混入した姿勢データや誤った姿勢データをそのまま用いて装置の姿勢を表示することは好ましくない。また姿勢データに基づいて何らかの処理(例えば歩数計算処理)を行う場合にも、ノイズが混入した姿勢データや誤った姿勢データをそのまま用いることは好ましくない。このため、従来は、音響データや画像データなどに適用されるフィルタ処理によって姿勢データを平滑化する処理が行われている。
国際公開第WO/2006−009247号パンフレット
2. Description of the Related Art Conventionally, there has been known a method of using, for example, a three-dimensional geomagnetic sensor and a three-dimensional acceleration sensor and deriving posture data indicating the posture of an object on which these are mounted (for example, see Patent Document 1). According to this method, noise is mixed in the posture data, and when an impact is applied to the object, the posture is significantly different from the actual posture due to the use of the acceleration sensor to derive the posture. Data will be derived. As described above, it is not preferable to display the posture of the apparatus using the posture data mixed with noise or the wrong posture data as it is. Also, when performing some processing (for example, step count calculation processing) based on posture data, it is not preferable to use posture data mixed with noise or wrong posture data as it is. For this reason, conventionally, processing for smoothing posture data is performed by filter processing applied to acoustic data, image data, and the like.
International Publication No. WO / 2006-009247 Pamphlet

ところで、物体の姿勢は連続的かつ循環的に変化する状態である。また、従来のフィルタ処理で操作されるオイラー角などの物理量は線形空間において定義される有限個数のデータ集合として表される。仮にオイラー角のように、連続する2つの姿勢が不連続なデータに対応する有限個数の集合、すなわち微小な差しかない2つの姿勢を線形空間において差の大きなデータで示す特異区間のある集合として、回転角度に制限のない物体(例えば携帯型情報機器)の姿勢を示す姿勢データが定義されるとする。このような姿勢データを連続的かつ非循環的な物理量を示すデータとみなし、すなわち実際の物理現象との対応関係を無視し得るデータとみなした上で、移動平均等の数学的操作によって平滑化する従来のフィルタ処理を姿勢データに適用した場合、特異区間において適正な処理結果を得られないという問題がある。
また、移動平均を求めることによって平滑化するフィルタ装置をFIR(Finite Impulse Response)フィルタ装置として実現する場合、平滑化強度を高めるためにはバッファの段数を多く設計しなければならないという問題がある。
By the way, the posture of the object is in a state of changing continuously and cyclically. In addition, physical quantities such as Euler angles that are manipulated by conventional filtering are represented as a finite number of data sets defined in a linear space. As a Euler angle, as a set with a singular interval in which two consecutive postures corresponding to discontinuous data, that is, two poses that are not very small, are indicated by data with a large difference in a linear space, Assume that posture data indicating the posture of an object (for example, a portable information device) with no limitation on the rotation angle is defined. Such attitude data is regarded as data indicating continuous and non-circular physical quantities, that is, data corresponding to actual physical phenomena can be ignored, and smoothed by mathematical operations such as moving average. When the conventional filter processing is applied to the posture data, there is a problem that an appropriate processing result cannot be obtained in the singular section.
Further, when a filter device that performs smoothing by obtaining a moving average is realized as an FIR (Finite Impulse Response) filter device, there is a problem that a large number of buffer stages must be designed to increase the smoothing strength.

本発明は、不適切な平滑化結果が導出される特異区間がなく、また、バッファの段数が少なくても平滑化強度を高めることのできる姿勢データフィルタ装置、姿勢データフィルタリング方法および姿勢データフィルタプログラムを提供することを目的とする。   The present invention provides an attitude data filter device, an attitude data filtering method, and an attitude data filter program that have no singular interval from which an inappropriate smoothing result is derived and that can increase the smoothing strength even when the number of buffer stages is small. The purpose is to provide.

本願発明者は、姿勢データを単に数学的なデータとして操作するのではなく、姿勢データが示す物理現象に着目し、時間軸方向に離散的な姿勢データ群に内在する角速度および角加速度を表出させるとともに、出力データが示す第二の姿勢の仮想的な物体の回転を入力データが示す第一の姿勢に向かって加速させる作用としてフィルタ処理をモデル化することによって、不適切な平滑化結果が導出される特異区間のないフィルタ処理を実現することに成功した。   The inventor does not simply operate the posture data as mathematical data, but pays attention to the physical phenomenon indicated by the posture data, and expresses the angular velocity and angular acceleration inherent in the discrete posture data group in the time axis direction. And by modeling the filter process as an action of accelerating the rotation of the virtual object in the second posture indicated by the output data toward the first posture indicated by the input data, an inappropriate smoothing result is obtained. We succeeded in realizing the filtering without derived singular interval.

〔1〕すなわち、上記目的を達成するための姿勢データフィルタ装置は、時刻iT(Tは定数、i=0,1,2・・・)における第一の姿勢を示す入力データ:A'を順次取得する入力手段と、
時刻iTにおける第二の姿勢を示す出力データ:Aを順次出力する出力手段と、
時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の角度をθ、前記出力データの軌跡が示す時刻iTにおける角速度をω、時刻(i−1)Tから時刻iTまでの第二の姿勢の回転の角加速度を、
=N1i−N2i
とするとき、
(1)θ=0であるとき、N1i=0であり、
(2)−π/2≦θ≦π/2であるとき、N1iが示す角加速度の大きさはθの絶対値に対して単調増加し、
(3)N1iが示す角加速度の向きは時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の向きに対応し、
(4)N2iが示す角加速度の大きさはωが示す角速度の大きさに対して単調増加し、
(5)N2iが示す角加速度の向きはωが示す角速度の向きに対応する、
を、前記入力データと初期値Aと初期値ωとに基づいて導出する演算手段と、
を備える。
[1] That is, the attitude data filter device for achieving the above object receives input data A ′ i indicating the first attitude at time iT (T is a constant, i = 0, 1, 2,...). Input means for sequentially acquiring;
Output data indicating the second posture at time iT: output means for sequentially outputting A i ;
The angle of rotation from the second posture at time (i-1) T to the first posture at time iT is θ i , the angular velocity at time iT indicated by the locus of the output data is ω i , and time (i− 1) The angular acceleration of rotation of the second posture from T to time iT is
N i = N 1i -N 2i
And when
(1) When θ i = 0, N 1i = 0,
(2) When −π / 2 ≦ θ i ≦ π / 2, the magnitude of angular acceleration indicated by N 1i increases monotonously with respect to the absolute value of θ i ,
(3) The direction of angular acceleration indicated by N 1i corresponds to the direction of rotation from the second posture at time (i−1) T to the first posture at time iT,
(4) The magnitude of the angular acceleration indicated by N 2i monotonously increases with respect to the magnitude of the angular velocity indicated by ω i ,
(5) The direction of angular acceleration indicated by N 2i corresponds to the direction of angular velocity indicated by ω i .
Computing means for deriving A i based on the input data, the initial value A 0 and the initial value ω 0 ;
Is provided.

図1、図2、図3は、本発明において用いるモデルを示す説明図である。入力データA'が第一の姿勢を示す物体を対象物体といい、出力データAが第二の姿勢を示す仮想的な物体を仮想物体というものとする。今、時刻(m−1)T、mT、(m+1)Tにおいて入力データA'が図1、図2、図3に示す順に変化すると仮定する。仮想物体の姿勢が対象物体の姿勢に追従するようにフィルタ処理を行うため、各時刻において、対象物体および仮想物体はそれぞれに固有の角速度で回転していると考えることとする。仮想物体が時刻(m−2)Tから時刻(m−1)Tまでの期間に一定の角速度ωm−1で回転すると仮定すると、仮想物体の角速度ωm−1は図2に示すように仮想物体の姿勢データAm−2、Am−1の軌跡から導出できる。 1, 2 and 3 are explanatory diagrams showing models used in the present invention. An object whose input data A ′ i indicates the first posture is referred to as a target object, and a virtual object whose output data A i indicates the second posture is referred to as a virtual object. Now, it is assumed that the input data A ′ i changes at the times (m−1) T, mT, and (m + 1) T in the order shown in FIGS. Since the filtering process is performed so that the attitude of the virtual object follows the attitude of the target object, it is assumed that the target object and the virtual object are rotated at a specific angular velocity at each time. Assuming the virtual object is rotated at a time (m-2) times from T (m-1) of constant period until T angular velocity ω m-1, the angular velocity omega m-1 of the virtual object as shown in FIG. 2 It can be derived from the trajectories of the virtual object posture data A m-2 and A m−1 .

平滑化機能を実現するためには、仮想物体の角加速度Nを次の条件を満たすように定めればよい。
・出力データAが示す姿勢から入力データA'が示す姿勢に近づくように仮想物体の回転が加速する。
・仮想物体は対象物体に比べて緩やかに姿勢変化する。
・出力データAが示す姿勢と入力データA'が示す姿勢の差が小さくなると仮想物体の角速度ωは入力データA'の軌跡が示す角速度に近くなる。
In order to realize the smoothing function, the angular acceleration N of the virtual object may be determined so as to satisfy the following condition.
The rotation of the virtual object is accelerated so as to approach the posture indicated by the input data A ′ from the posture indicated by the output data A.
-The posture of the virtual object changes more slowly than the target object.
When the difference between the attitude indicated by the output data A and the attitude indicated by the input data A ′ becomes smaller, the angular velocity ω of the virtual object becomes closer to the angular velocity indicated by the locus of the input data A ′.

これらの条件を満たすために、仮想物体の角加速度NをN1iとN2iの差として表し、図3に示すN1i、N2iをそれぞれ次のように定める。
(1)θ=0であるとき、N1i=0であり、
(2)−π/2≦θ≦π/2であるとき、N1iが示す角加速度の大きさはθの絶対値に対して単調増加し、
(3)N1iが示す角加速度の向きは前記第二の姿勢から前記第一の姿勢への回転の向きに対応する。
For satisfying these conditions represent the angular acceleration N i of the virtual object as the difference between the N 1i and N 2i, N 1i illustrated in FIG. 3, defining the N 2i as follows, respectively.
(1) When θ i = 0, N 1i = 0,
(2) When −π / 2 ≦ θ i ≦ π / 2, the magnitude of angular acceleration indicated by N 1i increases monotonously with respect to the absolute value of θ i ,
(3) The direction of angular acceleration indicated by N 1i corresponds to the direction of rotation from the second posture to the first posture.

は、−π/2≦θ≦π/2を満たす任意の時刻において、出力データAが示す姿勢から入力データA'が示す姿勢に近づくように仮想物体の回転を加速させる成分であるとともに、出力データAが示す姿勢と入力データA'が示す姿勢の差を示すθの絶対値が大きくなるほど大きくなる成分である。 N 1 is a component that accelerates the rotation of the virtual object so that the posture indicated by the output data A approaches the posture indicated by the input data A ′ at an arbitrary time satisfying −π / 2 ≦ θ i ≦ π / 2. In addition, it is a component that increases as the absolute value of θ indicating the difference between the attitude indicated by the output data A and the attitude indicated by the input data A ′ increases.

ここで仮に対象物体と仮想物体の姿勢が一致した状態でいずれも静止している時刻から対象物体が回転した後に静止したとする。しかし、角加速度成分N1iで仮想物体を加速させるとすれば、対象物体が再び静止しても、加速度成分N1iの積分値に相当する成分が仮想物体の角速度からなくなることはないため、仮想物体の姿勢はいつまでたっても対象物体の姿勢に収束しない。 Here, it is assumed that the target object is stationary after the target object is rotated from the time at which both the target object and the virtual object are in the same posture and are stationary. However, if the virtual object is accelerated by the angular acceleration component N 1i , the component corresponding to the integral value of the acceleration component N 1i does not disappear from the angular velocity of the virtual object even if the target object is stationary again. The posture of the object does not converge to the posture of the target object indefinitely.

そこで、仮想物体の回転の抵抗になる加速度成分N2iを導入する。−N2iは仮想物体の回転が速いほど大きくなり、仮想物体の回転の向きと反対の向きの成分を持つ角加速度を示す。すなわち、
(4)N2iが示す角加速度の大きさはω が示す角速度の大きさに対して単調増加し、
(5)N2iが示す角加速度の向きはω が示す角速度の向きに対応する。
このような角加速度成分N2iの導入によって、仮想物体は対象物体に比べて緩やかに姿勢変化するようになるだけでなく、出力データAが示す姿勢と入力データA'が示す姿勢の差が小さくなると、仮想物体の角速度ωは、出力データAの軌跡が示す角速度に近くなる。
Therefore, an acceleration component N 2i that becomes a resistance to rotation of the virtual object is introduced. -N 2i increases as the virtual object rotates faster, and indicates an angular acceleration having a component in the direction opposite to the direction of rotation of the virtual object. That is,
(4) The magnitude of the angular acceleration indicated by N 2i monotonously increases with respect to the magnitude of the angular velocity indicated by ω i ,
(5) The direction of angular acceleration indicated by N 2i corresponds to the direction of angular velocity indicated by ω i .
The introduction of such an angular acceleration component N 2i not only causes the virtual object to change its posture more gently than the target object, but also reduces the difference between the posture indicated by the output data A and the posture indicated by the input data A ′. Then, the angular velocity ω of the virtual object is close to the angular velocity indicated by the locus of the output data A.

そして、仮想物体の姿勢の初期値Aと対象物体の角速度の初期値ωを設定し、N1iとN2iで表される仮想物体の角加速度N=N1i−N2iで仮想物体が加速するように、仮想物体の姿勢を示すAを順次操作すると、姿勢データの平滑化が実現される。
これらの操作は、隣接二項間漸化式の演算によって可能であるため、バッファの段数が少なくても、係数の設定によって平滑化強度を高めることができる。尚、θは、仮想物体の姿勢から対象物体の姿勢まで最短軌跡で回転する回転の角度である。
Then, the initial value A 0 of the posture of the virtual object and the initial value ω 0 of the angular velocity of the target object are set, and the virtual object is expressed by the angular acceleration N i = N 1i −N 2i of the virtual object represented by N 1i and N 2i. so it accelerates and sequentially operating the a i indicating the posture of the virtual object, smoothing the orientation data is realized.
Since these operations can be performed by calculating a recurrence formula between adjacent binomials, the smoothing strength can be increased by setting the coefficient even if the number of buffer stages is small. Note that θ is an angle of rotation that rotates with the shortest path from the posture of the virtual object to the posture of the target object.

また、仮想物体の姿勢から対象物体の姿勢までの回転を示す行列は次式(7)で示すRと表すことができる。このとき、仮想物体の姿勢から対象物体の姿勢までの回転の軸の方向を持つベクトルω'は次式(8)と表すことができ、その回転の角度θは、ω'を軸として右ねじ方向を正とすると次式(9)、(10)と表すことができる。ただし、ベクトルは全て列ベクトルとし、行ベクトルは列ベクトルの転置行列として表現している。

Figure 0005141098
Further, the matrix indicating the rotation from the virtual object posture to the target object posture can be represented by R shown by the following equation (7). At this time, the vector ω ′ having the direction of the axis of rotation from the posture of the virtual object to the posture of the target object can be expressed by the following equation (8), and the rotation angle θ is a right-handed screw about ω ′. If the direction is positive, it can be expressed by the following equations (9) and (10). However, all vectors are column vectors, and row vectors are expressed as transposed matrices of column vectors.
Figure 0005141098

ここで、ω'の大きさを1で正規化したω"を次式(11)によって導入する。

Figure 0005141098
前述のように、
(1)θ=0であるとき、N1i=0であり、
(2)N1iが示す角加速度の大きさはsinθの絶対値に比例し、
(3)N1iが示す角加速度の向きは時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の向きに一致するとき、
1i=Kω"sinθ・・・(12)
とかける。式(12)は式(11)の定義から、
1i=Kω'・・・(13)
となる。したがって、(2)N1iが示す角加速度の大きさがsinθの絶対値に比例するモデルは、計算量の低減の観点からも好ましい。 Here, ω ″ obtained by normalizing the magnitude of ω ′ by 1 is introduced by the following equation (11).
Figure 0005141098
As aforementioned,
(1) When θ i = 0, N 1i = 0,
(2) The magnitude of the angular acceleration indicated by N 1i is proportional to the absolute value of sin θ i ,
(3) When the direction of angular acceleration indicated by N 1i coincides with the direction of rotation from the second posture at time (i−1) T to the first posture at time iT,
N 1i = Kω "sinθ i (12)
Call it. Equation (12) is derived from the definition of Equation (11).
N 1i = Kω ′ i (13)
It becomes. Therefore, (2) a model in which the magnitude of angular acceleration indicated by N 1i is proportional to the absolute value of sin θ i is preferable from the viewpoint of reducing the amount of calculation.

また、N1iが示す角加速度の向きを時刻(i−1)Tにおける第二の姿勢から時刻iTにおける第一の姿勢への回転の向きに一致させ、N2iが示す角加速度の向きをωi−1が示す角速度の向きに一致させることにより、仮想物体の姿勢が対象物体の姿勢に近づける加速操作の効率を最大化することができる。 Further, the direction of angular acceleration indicated by N 1i is matched with the direction of rotation from the second attitude at time (i−1) T to the first attitude at time iT, and the direction of angular acceleration indicated by N 2i is ω. By matching the direction of the angular velocity indicated by i-1 , it is possible to maximize the efficiency of the acceleration operation in which the posture of the virtual object approaches the posture of the target object.

〔3〕さらに、上記目的を達成するための姿勢データフィルタ装置において、前記入力データおよび前記出力データは正格直交行列の成分であり、前記演算手段は、次式(1)、(2)の漸化式を用いてAを導出する、ことが好ましい。

Figure 0005141098
ただし、前記出力データが示す姿勢の回転は角速度ベクトルωを回転軸とする右ねじ方向への回転とし、||ω||は角速度ωの大きさに比例し、
e:ネイピア数
Γ、K:正の定数
のi行j列成分をrm,ijとするとき、
Figure 0005141098
である。 [3] Further, in the attitude data filter device for achieving the above-mentioned object, the input data and the output data are components of a strict orthogonal matrix, and the arithmetic means calculates the following equations (1) and (2) It is preferable to derive A i using the chemical formula.
Figure 0005141098
However, the rotation of the posture indicated by the output data is rotation in the right-handed direction with the angular velocity vector ω i as the rotation axis, and || ω i || is proportional to the magnitude of the angular velocity ω i ,
e: Napier number Γ, K: When i row j column component of positive constant R m is rm , ij ,
Figure 0005141098
It is.

まず連続時間において上記〔2〕のモデルを数式化することを考える。時刻tにおける物体の姿勢を表す正格直交行列をA(t)とし、その時刻において物体は次式(14)で示す角速度ω(t)を回転軸として右ねじ方向に回転しているものとする。ただし、||ω(t)||は角速度ω(t)の大きさに比例するものとする。

Figure 0005141098
First, consider formulating the model [2] in continuous time. The strict orthogonal matrix representing the posture of the object at time t is A (t), and at that time, the object is rotating in the right-handed direction with the angular velocity ω (t) represented by the following equation (14) as the rotation axis. . However, || ω (t) || is proportional to the magnitude of the angular velocity ω (t).
Figure 0005141098

このとき、

Figure 0005141098
とすると、A(t)は次式(16)の微分方程式を満たす。
Figure 0005141098
At this time,
Figure 0005141098
Then, A (t) satisfies the following differential equation (16).
Figure 0005141098

式(16)においてΩ(t)=Ωで一定とすると、時刻tから時間がT経過したときの姿勢行列A(t+T)(姿勢を示す正格直交行列を姿勢行列というものとする。)は、次式(17)のように書くことができる。

Figure 0005141098
In Equation (16), assuming that Ω (t) = Ω 0 and constant, posture matrix A (t + T) when time T has elapsed from time t (a strict orthogonal matrix indicating the posture is referred to as a posture matrix). The following equation (17) can be written.
Figure 0005141098

したがって、時間Tが十分微小であると考えると、式(16)の微分方程式は次式(18)よって近似することができる。

Figure 0005141098
Therefore, when the time T is considered to be sufficiently small, the differential equation of the equation (16) can be approximated by the following equation (18).
Figure 0005141098

次に連続時間において角速度と角加速度の関係を数式化することを考える。ω(t)の角加速度をN(t)とすると、次式(19)が成立する。

Figure 0005141098
Next, consider formulating the relationship between angular velocity and angular acceleration in continuous time. When the angular acceleration of ω (t) is N (t), the following equation (19) is established.
Figure 0005141098

連続時間において上記〔2〕のモデルを微分方程式として示したものが次式(20)である。

Figure 0005141098
ここで、
Figure 0005141098
である。またRは時刻(i−1)Tにおける仮想物体の姿勢(第二の姿勢)から時刻iTにおける対象物体の姿勢(第一の姿勢)への回転を示す正格直交行列である。 The following equation (20) shows the model of [2] as a differential equation in continuous time.
Figure 0005141098
here,
Figure 0005141098
It is. R m is a strict orthogonal matrix indicating the rotation from the posture of the virtual object (second posture) at time (i−1) T to the posture of the target object (first posture) at time iT.

時間Tが十分微小であると考えると、式(20)の微分方程式は次式(23)によって近似することができる。

Figure 0005141098
Considering that the time T is sufficiently small, the differential equation of the equation (20) can be approximated by the following equation (23).
Figure 0005141098

連続時間における微分方程式(16)、(20)を式(18)、(23)によって近似することによって、入力データA'から出力データAを導出するための漸化式は、式(1)、(2)、(3)で表されるように計算量の比較的少ないものになる。尚、式(2)において、

Figure 0005141098
である。
また、フィルタ処理の対象となる入力データ及び出力データを正格直交行列の成分とすることにより、特異区間におけるアルゴリズムを変更するための分岐処理などで処理が複雑化することがない。正格直交行列である姿勢行列によって姿勢を表現すると、微小な姿勢変化は、常に、行列成分の微小な変化として表れるからである。すなわち、姿勢行列の成分は、特異区間のないパラメータである。 By approximating the differential equations (16), (20) in continuous time by the equations (18), (23), the recurrence formula for deriving the output data A i from the input data A ′ i is given by the equation (1) ), (2), and (3), the amount of calculation is relatively small. In equation (2),
Figure 0005141098
It is.
In addition, by using input data and output data to be filtered as components of a strict orthogonal matrix, processing is not complicated by branch processing for changing an algorithm in a singular section. This is because if the posture is expressed by a posture matrix that is a strict orthogonal matrix, a small change in posture always appears as a small change in matrix components. That is, the component of the posture matrix is a parameter without a singular interval.

さて、ここまで説明した発明は、姿勢データフィルタ装置のみならず、姿勢データフィルタリング方法や姿勢データフィルタプログラムにも適用可能である。
〔4〕すなわち、上記目的を達成するための姿勢データフィルタリング方法は、時刻iT(Tは定数、i=0,1,2・・・)における第一の姿勢を示す入力データ:A'を順次取得し、
時刻iTにおける第二の姿勢を示す出力データ:Aを順次出力し、
時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の角度をθ、前記出力データの軌跡が示す時刻iTにおける角速度をω、時刻(i−1)Tから時刻iTまでの第二の姿勢の回転の角加速度を、
=N1i−N2i
とするとき、
(1)θ=0であるとき、N1i=0であり、
(2)−π/2≦θ≦π/2であるとき、N1iが示す角加速度の大きさはθの絶対値に対して単調増加し、
(3)N1iが示す角加速度の向きは時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の向きに対応し、
(4)N2iが示す角加速度の大きさはωが示す角速度の大きさに対して単調増加し、
(5)N2iが示す角加速度の向きはωが示す角速度の向きに対応する、
を、前記入力データと初期値Aと初期値ωとに基づいて導出する、
ことを含む。
The invention described so far can be applied not only to the posture data filter device but also to the posture data filtering method and the posture data filter program.
[4] In other words, the attitude data filtering method for achieving the above object is based on input data A ′ i indicating the first attitude at time iT (T is a constant, i = 0, 1, 2,...). Obtain sequentially,
Output data indicating the second posture at time iT: A i is sequentially output,
The angle of rotation from the second posture at time (i-1) T to the first posture at time iT is θ i , the angular velocity at time iT indicated by the locus of the output data is ω i , and time (i− 1) The angular acceleration of rotation of the second posture from T to time iT is
N i = N 1i -N 2i
And when
(1) When θ i = 0, N 1i = 0,
(2) When −π / 2 ≦ θ i ≦ π / 2, the magnitude of angular acceleration indicated by N 1i increases monotonously with respect to the absolute value of θ i ,
(3) The direction of angular acceleration indicated by N 1i corresponds to the direction of rotation from the second posture at time (i−1) T to the first posture at time iT,
(4) The magnitude of the angular acceleration indicated by N 2i monotonously increases with respect to the magnitude of the angular velocity indicated by ω i ,
(5) The direction of angular acceleration indicated by N 2i corresponds to the direction of angular velocity indicated by ω i .
A i is derived based on the input data, the initial value A 0 and the initial value ω 0 .
Including that.

〔5〕さらに、上記目的を達成するための姿勢データフィルタプログラムは、時刻iT(Tは定数、i=0,1,2・・・)における第一の姿勢を示す入力データ:A'を順次取得する入力手段と、
時刻iTにおける第二の姿勢を示す出力データ:Aを順次出力する出力手段と、
時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の角度をθ、前記出力データの軌跡が示す時刻iTにおける角速度をω、時刻(i−1)Tから時刻iTまでの第二の姿勢の回転の角加速度を、
=N1i−N2i
とするとき、
(1)θ=0であるとき、N1i=0であり、
(2)−π/2≦θ≦π/2であるとき、N1iが示す角加速度の大きさはθの絶対値に対して単調増加し、
(3)N1iが示す角加速度の向きは時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の向きに対応し、
(4)N2iが示す角加速度の大きさはωが示す角速度の大きさに対して単調増加し、
(5)N2iが示す角加速度の向きはωが示す角速度の向きに対応する、
を、前記入力データと初期値Aと初期値ωとに基づいて導出する導出手段と、
してコンピュータを機能させる。
[5] Further, the attitude data filter program for achieving the above object includes the input data A ′ i indicating the first attitude at time iT (T is a constant, i = 0, 1, 2,...). Input means for sequentially acquiring;
Output data indicating the second posture at time iT: output means for sequentially outputting A i ;
The angle of rotation from the second posture at time (i-1) T to the first posture at time iT is θ i , the angular velocity at time iT indicated by the locus of the output data is ω i , and time (i− 1) The angular acceleration of rotation of the second posture from T to time iT is
N i = N 1i -N 2i
And when
(1) When θ i = 0, N 1i = 0,
(2) When −π / 2 ≦ θ i ≦ π / 2, the magnitude of angular acceleration indicated by N 1i increases monotonously with respect to the absolute value of θ i ,
(3) The direction of angular acceleration indicated by N 1i corresponds to the direction of rotation from the second posture at time (i−1) T to the first posture at time iT,
(4) The magnitude of the angular acceleration indicated by N 2i monotonously increases with respect to the magnitude of the angular velocity indicated by ω i ,
(5) The direction of angular acceleration indicated by N 2i corresponds to the direction of angular velocity indicated by ω i .
Derivation means for deriving A i based on the input data, the initial value A 0 and the initial value ω 0 ;
And make the computer work.

尚、請求項に記載された動作の順序は、技術的な阻害要因がない限りにおいて記載順に限定されず、同時に実行されても良いし、記載順の逆順に実行されても良いし、連続した順序で実行されなくても良い。また請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。さらに、本発明は姿勢データフィルタプログラムの記録媒体としても成立する。むろん、そのコンピュータプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体であってもよい。   The order of the operations described in the claims is not limited to the order of description as long as there is no technical obstruction factor, and may be executed at the same time, may be executed in the reverse order of the description order, or may be continuous. It does not have to be executed in order. The function of each means described in the claims is realized by hardware resources whose function is specified by the configuration itself, hardware resources whose function is specified by a program, or a combination thereof. The functions of these means are not limited to those realized by hardware resources that are physically independent of each other. Furthermore, the present invention is also established as a recording medium for the attitude data filter program. Of course, the recording medium for the computer program may be a magnetic recording medium, a magneto-optical recording medium, or any recording medium that will be developed in the future.

以下、本発明の実施の形態を添付図面を参照しながら以下の順に説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
***************
1.姿勢データフィルタ装置のハードウェア構成
2.姿勢行列
3.姿勢データフィルタ装置のソフトウェア構成
4.姿勢データフィルタリング処理
5.他の実施形態
***************
Hereinafter, embodiments of the present invention will be described in the following order with reference to the accompanying drawings. In addition, the same code | symbol is attached | subjected to the corresponding component in each figure, and the overlapping description is abbreviate | omitted.
***************
1. 1. Hardware configuration of attitude data filter device Posture matrix 3. Software configuration of attitude data filter device 4. Attitude data filtering processing Other Embodiments ***********

〔1.姿勢データフィルタ装置のハードウェア構成〕
図4は、本発明による姿勢データフィルタ装置の一実施形態を示すブロック図である。図4において姿勢データフィルタ装置は、携帯型情報機器10の制御部13として表されている。携帯型情報機器10は、加速度センサ11と地磁気センサ12と制御部13とディスプレイ14とを備えている。携帯型情報機器10は、PDA(Personal Digital Assistance)、携帯型電話、携帯型ゲーム機、歩数計、電子コンパスなど、姿勢データを処理する携帯型の情報処理装置である。
[1. Hardware configuration of attitude data filter device]
FIG. 4 is a block diagram showing an embodiment of the attitude data filter device according to the present invention. In FIG. 4, the attitude data filter device is represented as the control unit 13 of the portable information device 10. The portable information device 10 includes an acceleration sensor 11, a geomagnetic sensor 12, a control unit 13, and a display 14. The portable information device 10 is a portable information processing device that processes posture data, such as a PDA (Personal Digital Assistance), a portable phone, a portable game machine, a pedometer, and an electronic compass.

加速度センサ11は、ピエゾ抵抗型、静電容量型、熱検知型などどのような検知方式であってもよく、互いに直交するx,y,zの3軸の成分によって重力加速度の反対向きの加速度と加速度センサの運動に固有の加速度を合成した加速度を示すベクトルデータである加速度データを出力する。静止した状態において加速度センサ11から出力される加速度データの方向は重力方向を示しているため、加速度データは携帯型情報機器10の傾きを示すデータとして利用することが出来る。   The acceleration sensor 11 may be of any detection method such as a piezoresistive type, a capacitance type, or a heat detection type, and acceleration in the direction opposite to the gravitational acceleration is obtained by three axis components of x, y, and z orthogonal to each other. And acceleration data, which is vector data indicating acceleration obtained by combining the acceleration inherent to the motion of the acceleration sensor. Since the direction of the acceleration data output from the acceleration sensor 11 in a stationary state indicates the direction of gravity, the acceleration data can be used as data indicating the inclination of the portable information device 10.

地磁気センサ12は、MI素子、MR素子などからなる3つの磁気センサユニットを備え、互いに直交するx,y,zの3軸の成分によって地磁気の方向を示すベクトルデータである地磁気データを出力する。加速度データと地磁気データとを組み合わせることにより、携帯型情報機器10からみた方位を正確に表示することが可能になる。
制御部13は、図示しないプロセッサと記憶媒体(例えばRAMとROM)とインタフェースとを備えるコンピュータであって、後述する姿勢データフィルタプログラムを実行することにより入力手段と出力手段と演算手段として機能する。
The geomagnetic sensor 12 includes three magnetic sensor units composed of MI elements, MR elements, and the like, and outputs geomagnetic data, which is vector data indicating the direction of geomagnetism by three axes of x, y, and z that are orthogonal to each other. By combining the acceleration data and the geomagnetic data, it is possible to accurately display the orientation viewed from the portable information device 10.
The control unit 13 is a computer including a processor, a storage medium (for example, a RAM and a ROM), and an interface (not shown), and functions as an input unit, an output unit, and a calculation unit by executing an attitude data filter program described later.

〔2.姿勢行列〕
ここで、携帯型情報機器10の姿勢を示す姿勢データとしての姿勢行列について説明する。例えば図5に示す、水平東向きのベクトルa、水平北向きのベクトルb、鉛直上向きのベクトルcを基底とする座標系で携帯型情報機器10の姿勢を表現するものとする。これらのベクトルが基準基底となるように、ベクトルa,b,cをそれぞれ次式(27)で定義する。

Figure 0005141098
[2. (Attitude matrix)
Here, an attitude matrix as attitude data indicating the attitude of the portable information device 10 will be described. For example, it is assumed that the attitude of the portable information device 10 is expressed by a coordinate system based on a horizontal eastward vector a, a horizontal northward vector b, and a vertically upward vector c shown in FIG. The vectors a, b, and c are defined by the following equation (27) so that these vectors become reference bases.
Figure 0005141098

携帯型情報機器10に固定された互いに直行する3つの基準軸x,y,zの方向を向きとし、大きさが1であるベクトルx,y,zを基準基底{a,b,c}の一次結合として表すことは携帯型情報機器10の姿勢を表すことに等しい。そこで、ベクトルx,y,zを次式(28)、(29)、(30)のように基準基底{a,b,c}の線形結合として係数x,x,x,y,y,y,z,z,zを用いて表現するとする。

Figure 0005141098
A vector x, y, z having a direction of three reference axes x, y, z fixed to the portable information device 10 and perpendicular to each other and having a size of 1 is represented by the reference base {a, b, c}. Expressing as a linear combination is equivalent to expressing the attitude of the portable information device 10. Therefore, the vectors x, y, z are converted into coefficients x a , x b , x c , y a as linear combinations of the reference bases {a, b, c} as in the following equations (28), (29), (30). , and it expressed using y b, y c, z a , z b, z c.
Figure 0005141098

式(28)、(29)、(30)の関係は次式(31)のように書き換えることができる。

Figure 0005141098
基準基底を式(27)で定義しているため、式(31)は次式(32)と等価である。
Figure 0005141098
The relationship between the equations (28), (29), and (30) can be rewritten as the following equation (31).
Figure 0005141098
Since the reference basis is defined by Expression (27), Expression (31) is equivalent to the following Expression (32).
Figure 0005141098

ベクトルx,y,zを1つの行列にまとめて表現した次式(33)の行列を姿勢行列というものとする。行列Aは行列式が1である正格直交行列であり、携帯型情報機器10の自由度3の姿勢と一対一に対応する。また姿勢をこのような姿勢行列で表現すると、微小な姿勢変化は、常に、行列成分の微小な変化として表れる。すなわち、姿勢行列の成分は、特異区間のないパラメータである。

Figure 0005141098
A matrix of the following equation (33) in which the vectors x, y, and z are collectively expressed as one matrix is referred to as an attitude matrix. The matrix A is a strict orthogonal matrix whose determinant is 1, and corresponds one-to-one with the attitude of the mobile information device 10 with 3 degrees of freedom. When the posture is expressed by such a posture matrix, a minute posture change always appears as a minute change of the matrix component. That is, the component of the posture matrix is a parameter without a singular interval.
Figure 0005141098

〔3.姿勢データフィルタ装置のソフトウェア構成〕
制御部13は図4に示すモジュール群を備えるコンピュータプログラムを実行することにより、携帯型情報機器10の姿勢をディスプレイ14に表示する機能を有する。
加速度データ処理モジュール131は、加速度センサ11から出力される加速度データを時間間隔T'で入力し、加速度データに所定の補正処理を施す。
地磁気データ処理モジュール132は、地磁気センサ12から出力される地磁気データを時間間隔T'で入力し、地磁気データに所定の補正処理を施す。
姿勢データ生成モジュール133は、加速度データ及び地磁気データに基づいて姿勢行列である入力姿勢行列A'の成分である姿勢データを生成する。加速度データ及び地磁気データに基づいて姿勢データを生成する処理はよく知られた処理であるため説明を省略する。
[3. Software configuration of attitude data filter device]
The control unit 13 has a function of displaying the attitude of the portable information device 10 on the display 14 by executing a computer program including the module group shown in FIG.
The acceleration data processing module 131 inputs acceleration data output from the acceleration sensor 11 at a time interval T ′, and performs a predetermined correction process on the acceleration data.
The geomagnetic data processing module 132 inputs the geomagnetic data output from the geomagnetic sensor 12 at a time interval T ′, and performs a predetermined correction process on the geomagnetic data.
The attitude data generation module 133 generates attitude data that is a component of the input attitude matrix A ′, which is an attitude matrix, based on the acceleration data and the geomagnetic data. Since the process of generating the attitude data based on the acceleration data and the geomagnetic data is a well-known process, the description thereof is omitted.

姿勢データフィルタモジュール134は、時刻iTの入力姿勢行列A'にフィルタ処理を施し、携帯型情報機器10の姿勢を示す姿勢行列である出力姿勢行列Aの成分を出力データとして出力するプログラムである。出力姿勢行列Aは、制御部13の不揮発性記憶媒体に記憶されている初期値Aとωと入力姿勢行列A'とに基づいて導出される。
姿勢データ処理モジュール135は、出力姿勢行列Aに基づいて携帯型情報機器10の姿勢をディスプレイ14に表示するための処理を実行する。携帯型情報機器10の姿勢は、オイラー角などの数字で表示してもよいし、画像で表示してもよい。
The attitude data filter module 134 is a program that performs a filtering process on the input attitude matrix A ′ i at time iT, and outputs a component of the output attitude matrix A i that is an attitude matrix indicating the attitude of the portable information device 10 as output data. is there. The output attitude matrix A is derived based on the initial values A 0 and ω 0 and the input attitude matrix A ′ i stored in the nonvolatile storage medium of the control unit 13.
The attitude data processing module 135 executes a process for displaying the attitude of the portable information device 10 on the display 14 based on the output attitude matrix A i . The posture of the portable information device 10 may be displayed as a number such as Euler angle or may be displayed as an image.

〔3.姿勢データフィルタリング処理〕
図6は、姿勢データフィルタモジュール134による姿勢データフィルタリング処理を示すフローチャートである。
はじめに姿勢データフィルタモジュール134は入力姿勢行列A'(m=0,1,2・・・)を入力する(ステップS10)。
[3. (Attitude data filtering process)
FIG. 6 is a flowchart showing posture data filtering processing by the posture data filter module 134.
First, the attitude data filter module 134 inputs an input attitude matrix A ′ m (m = 0, 1, 2,...) (Step S10).

次に姿勢データフィルタモジュール134は入力姿勢行列A'と出力姿勢行列Am―1とから、Rを導出する(ステップS11)。Rは、次式(34)に示すように時刻(m−1)Tにおける仮想物体の姿勢(第二の姿勢)から時刻mTにおける対象物体の姿勢(第一の姿勢)への回転を示す正格直交行列である。

Figure 0005141098
Next, the attitude data filter module 134 derives R m from the input attitude matrix A ′ m and the output attitude matrix A m−1 (step S11). R m indicates the rotation from the posture of the virtual object (second posture) at time (m−1) T to the posture of the target object (first posture) at time mT as shown in the following equation (34). It is a strict orthogonal matrix.
Figure 0005141098

次に姿勢データフィルタモジュール134は、時刻(m−1)Tにおける第二の姿勢から時刻mTにおける第一の姿勢への回転の角速度ω'をRから導出する(ステップS12)。携帯型情報機器10の回転は角速度ベクトルを回転軸とする右ねじ方向への回転として表現し、||ω'||は角速度ω'の大きさに比例し、Rのi行j列成分をrm,ijとするとき、ω'は次式(35)によって定まる。ただしKは正の定数とする。

Figure 0005141098
Next, the attitude data filter module 134 derives an angular velocity ω ′ m of rotation from the second attitude at time (m−1) T to the first attitude at time mT from R m (step S12). The rotation of the portable information device 10 is expressed as a rotation in the right-hand screw direction with the angular velocity vector as the rotation axis, and || ω ′ i || is proportional to the magnitude of the angular velocity ω ′ i , and i row j of R m When the column component is rm , ij , ω ' i is determined by the following equation (35). K is a positive constant.
Figure 0005141098

次に姿勢データフィルタモジュール134はω'm−1、ωm−1からω、Ωを導出する(ステップS13)。ωは出力姿勢行列の軌跡が示す携帯型情報機器10の時刻iTにおける角速度であって、次式(36)、(37)によって定まる。

Figure 0005141098
またΩは次式(38)によって定まる。
Figure 0005141098

Next, the attitude data filter module 134 derives ω m and Ω m from ω ′ m−1 and ω m−1 (step S13). ω i is an angular velocity at the time iT of the portable information device 10 indicated by the locus of the output attitude matrix, and is determined by the following equations (36) and (37).
Figure 0005141098
Ω i is determined by the following equation (38).
Figure 0005141098

次に姿勢データフィルタモジュール134は出力姿勢行列Am−1、Ω、から出力姿勢行列Aの成分を導出する(ステップS14)。出力姿勢行列Aは次式(39)によって定まる。

Figure 0005141098
姿勢データフィルタモジュール134は、以上の処理を入力姿勢行列A'毎に順次繰り返すことにより、出力姿勢行列Aの成分を姿勢データとして順次姿勢データフィルタ処理モジュール135に出力する。
以上説明した実施形態によると、フィルタ処理の対象となる入力データ及び出力データを正格直交行列の成分とすることにより、特異区間におけるアルゴリズムを変更するための分岐処理などで処理が複雑化することがない。連続時間における微分方程式(16)、(20)を式(18)、(23)によって近似することによって、入力データA'から出力データAを導出するための計算量を低減することができる。また、隣接二項間漸化式の演算によって入力データA'から出力データAを導出できるため、演算部13に必要なバッファの段数を低減することができる。また、定数KおよびΓの設定によって、平滑化強度を自由に設定することができる。 Next, the posture data filter module 134 derives a component of the output posture matrix A m from the output posture matrix A m −1 , Ω m (step S14). The output attitude matrix Am is determined by the following equation (39).

Figure 0005141098
The attitude data filter module 134 sequentially outputs the components of the output attitude matrix A i to the attitude data filter processing module 135 as attitude data by sequentially repeating the above processing for each input attitude matrix A ′ i .
According to the embodiment described above, the input data and the output data to be subjected to the filtering process are components of the strict orthogonal matrix, so that the process becomes complicated by a branch process for changing the algorithm in the singular section. Absent. By approximating the differential equations (16) and (20) in continuous time with the equations (18) and (23), the amount of calculation for deriving the output data A i from the input data A ′ i can be reduced. . Further, since the output data A i can be derived from the input data A ′ i by the calculation of the recurrence formula between adjacent binomials, the number of buffer stages required for the calculation unit 13 can be reduced. Further, the smoothing strength can be freely set by setting the constants K and Γ.

〔4.他の実施形態〕
本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば、時間間隔Tは仕様に見合う範囲で十分短い時間であればよく、制御部13に加速度データおよび地磁気データを入力する時間間隔T'と姿勢データフィルタの漸化式で用いる時間間隔Tとは一致していてもよいし、T=nT'(n=1,2・・・)、T=T'/nであってもよい。
[4. Other embodiments]
The technical scope of the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present invention. For example, the time interval T may be sufficiently short as long as it meets the specifications. The time interval T ′ for inputting acceleration data and geomagnetic data to the control unit 13 and the time interval T used in the recurrence formula of the attitude data filter are as follows. They may coincide with each other, or T = nT ′ (n = 1, 2,...), T = T ′ / n.

また、姿勢を示す入力データおよび出力データの形式は、対象となる物体の姿勢を表現可能な形態であればよく、微小な姿勢変化が常にパラメータの微小な変化として表れる四元数を用いてもよいし、微小な姿勢変化がパラメータの不連続変化として表れる特異区間のあるオイラー角を用いてもよい。   The format of the input data and output data indicating the posture may be any form that can represent the posture of the target object, and a quaternion in which a minute posture change always appears as a minute parameter change may be used. Alternatively, an Euler angle having a singular section in which a minute posture change appears as a discontinuous change in parameters may be used.

また、出力姿勢行列Aは、時刻(i−1)Tにおける第二の姿勢から時刻iTにおける第一の姿勢への回転の角度をθ、出力データの軌跡が示す時刻iTにおける角速度をω、時刻(i−1)Tから時刻iTまでの第二の姿勢の回転の角加速度を、N=N1i−N2iとするとき、次の条件を満たすものであればよい。
(1)θ=0であるとき、N1i=0であり、
(2)−π/2≦θ≦π/2であるとき、N1iが示す角加速度の大きさはθの絶対値に対して単調増加し、
(3)N1iが示す角加速度の向きは時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の向きに対応し、
(4)N2iが示す角加速度の大きさはωが示す角速度の大きさに対して単調増加し、
(5)N2iが示す角加速度の向きはωが示す角速度の向きに対応する。
すなわち例えば、(2)を満たすθとN1iの大きさとの関数を図7(A)、図7(B)に示すような関数としてもよいし、N1iが示す角加速度の向きが時刻(i−1)Tにおける第二の姿勢から時刻iTにおける前記第一の姿勢への回転の向きから若干ずれてもよいし、N2iが示す角加速度の向きもωが示す角速度の向きから若干ずれてもよい。
The output attitude matrix A i represents the angle of rotation from the second attitude at time (i−1) T to the first attitude at time iT as θ i , and the angular velocity at time iT indicated by the locus of output data as ω. i , When the angular acceleration of the rotation of the second posture from time (i-1) T to time iT is N i = N 1i −N 2i , the following condition may be satisfied.
(1) When θ i = 0, N 1i = 0,
(2) When −π / 2 ≦ θ i ≦ π / 2, the magnitude of angular acceleration indicated by N 1i increases monotonously with respect to the absolute value of θ i ,
(3) The direction of angular acceleration indicated by N 1i corresponds to the direction of rotation from the second posture at time (i−1) T to the first posture at time iT,
(4) The magnitude of the angular acceleration indicated by N 2i monotonously increases with respect to the magnitude of the angular velocity indicated by ω i ,
(5) The direction of angular acceleration indicated by N 2i corresponds to the direction of angular velocity indicated by ω i .
That is, for example, the function of θ satisfying (2) and the magnitude of N 1i may be functions as shown in FIGS. 7A and 7B, and the direction of angular acceleration indicated by N 1i is the time ( i-1) The direction of rotation from the second posture at T to the first posture at time iT may be slightly deviated, and the direction of angular acceleration indicated by N 2i is slightly different from the direction of angular velocity indicated by ω i. It may shift.

本発明の実施形態にかかる説明図。Explanatory drawing concerning embodiment of this invention. 本発明の実施形態にかかる説明図。Explanatory drawing concerning embodiment of this invention. 本発明の実施形態にかかる説明図。Explanatory drawing concerning embodiment of this invention. 本発明の実施形態にかかるブロック図。The block diagram concerning embodiment of this invention. 本発明の実施形態にかかる模式図。The schematic diagram concerning embodiment of this invention. 本発明の実施形態にかかるフローチャート。The flowchart concerning embodiment of this invention. 本発明の実施形態にかかるグラフ。The graph concerning embodiment of this invention.

符号の説明Explanation of symbols

10:携帯型情報機器、11:加速度センサ、12:地磁気センサ、13:制御部、14:ディスプレイ、131:地磁気データ処理モジュール、132:加速度データ処理モジュール、133:姿勢データ生成モジュール、134:姿勢データフィルタモジュール、135:姿勢データ処理モジュール 10: Portable information device, 11: Acceleration sensor, 12: Geomagnetic sensor, 13: Control unit, 14: Display, 131: Geomagnetic data processing module, 132: Acceleration data processing module, 133: Posture data generation module, 134: Posture Data filter module 135: Attitude data processing module

Claims (4)

時刻iT(Tは定数、i=0,1,2・・・)における第一の姿勢を示す入力データ:A'を順次取得する入力手段と、
時刻iTにおける第二の姿勢を示す出力データ:Aを順次出力する出力手段と、
時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の角度をθ、前記出力データの軌跡が示す時刻iTにおける角速度をω、時刻(i−1)Tから時刻iTまでの第二の姿勢の回転の角加速度を、
=N1i−N2i
とするとき、
(1)θ=0であるとき、N1i=0であり、
(2)−π/2≦θ≦π/2であるとき、N1iが示す角加速度の大きさはθの絶対値に対して単調増加し、
(3)N1iが示す角加速度の向きは時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の向きに対応し、
(4)N2iが示す角加速度の大きさはωが示す角速度の大きさに対して単調増加し、
(5)N2iが示す角加速度の向きはωが示す角速度の向きに対応する、
を、前記入力データと初期値Aと初期値ωとに基づいて導出する演算手段と、
を備える姿勢データフィルタ装置。
Input means for sequentially acquiring input data A ′ i indicating the first posture at time iT (T is a constant, i = 0, 1, 2,...);
Output data indicating the second posture at time iT: output means for sequentially outputting A i ;
The angle of rotation from the second posture at time (i-1) T to the first posture at time iT is θ i , the angular velocity at time iT indicated by the locus of the output data is ω i , and time (i− 1) The angular acceleration of rotation of the second posture from T to time iT is
N i = N 1i -N 2i
And when
(1) When θ i = 0, N 1i = 0,
(2) When −π / 2 ≦ θ i ≦ π / 2, the magnitude of angular acceleration indicated by N 1i increases monotonously with respect to the absolute value of θ i ,
(3) The direction of angular acceleration indicated by N 1i corresponds to the direction of rotation from the second posture at time (i−1) T to the first posture at time iT,
(4) The magnitude of the angular acceleration indicated by N 2i monotonously increases with respect to the magnitude of the angular velocity indicated by ω i ,
(5) The direction of angular acceleration indicated by N 2i corresponds to the direction of angular velocity indicated by ω i .
Computing means for deriving A i based on the input data, the initial value A 0 and the initial value ω 0 ;
An attitude data filter device comprising:
前記入力データおよび前記出力データは正格直交行列の成分であり、
前記演算手段は、次式(1)、(2)、(3)の漸化式を用いてAを導出する、
請求項に記載の姿勢データフィルタ装置。
Figure 0005141098
ただし
e:ネイピア数
Γ、K:正の定数
のi行j列成分をrm,ijとするとき、
Figure 0005141098
である。
The input data and the output data are components of a strict orthogonal matrix;
The calculation means derives A i using a recurrence formula of the following formulas (1), (2), and (3):
The attitude data filter device according to claim 1 .
Figure 0005141098
However ,
e: Napier number Γ, K: When i row j column component of positive constant R m is rm , ij ,
Figure 0005141098
It is.
時刻iT(Tは定数、i=0,1,2・・・)における第一の姿勢を示す入力データ:A'を順次取得し、
時刻iTにおける第二の姿勢を示す出力データ:Aを順次出力し、
時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の角度をθ、前記出力データの軌跡が示す時刻iTにおける角速度をω、時刻(i−1)Tから時刻iTまでの第二の姿勢の回転の角加速度を、
=N1i−N2i
とするとき、
(1)θ=0であるとき、N1i=0であり、
(2)−π/2≦θ≦π/2であるとき、N1iが示す角加速度の大きさはθの絶対値に対して単調増加し、
(3)N1iが示す角加速度の向きは時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の向きに対応し、
(4)N2iが示す角加速度の大きさはωが示す角速度の大きさに対して単調増加し、
(5)N2iが示す角加速度の向きはωが示す角速度の向きに対応する、
を、前記入力データと初期値Aと初期値ωとに基づいて導出する、
ことを含む姿勢データフィルタリング方法。
Input data A ′ i indicating the first posture at time iT (T is a constant, i = 0, 1, 2,...) Are sequentially acquired.
Output data indicating the second posture at time iT: A i is sequentially output,
The angle of rotation from the second posture at time (i-1) T to the first posture at time iT is θ i , the angular velocity at time iT indicated by the locus of the output data is ω i , and time (i− 1) The angular acceleration of rotation of the second posture from T to time iT is
N i = N 1i -N 2i
And when
(1) When θ i = 0, N 1i = 0,
(2) When −π / 2 ≦ θ i ≦ π / 2, the magnitude of angular acceleration indicated by N 1i increases monotonously with respect to the absolute value of θ i ,
(3) The direction of angular acceleration indicated by N 1i corresponds to the direction of rotation from the second posture at time (i−1) T to the first posture at time iT,
(4) The magnitude of the angular acceleration indicated by N 2i monotonously increases with respect to the magnitude of the angular velocity indicated by ω i ,
(5) The direction of angular acceleration indicated by N 2i corresponds to the direction of angular velocity indicated by ω i .
A i is derived based on the input data, the initial value A 0 and the initial value ω 0 .
Posture data filtering method.
時刻iT(Tは定数、i=0,1,2・・・)における第一の姿勢を示す入力データ:A'を順次取得する入力手段と、
時刻iTにおける第二の姿勢を示す出力データ:Aを順次出力する出力手段と、
時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の角度をθ、前記出力データの軌跡が示す時刻iTにおける角速度をω、時刻(i−1)Tから時刻iTまでの第二の姿勢の回転の角加速度を、
=N1i−N2i
とするとき、
(1)θ=0であるとき、N1i=0であり、
(2)−π/2≦θ≦π/2であるとき、N1iが示す角加速度の大きさはθの絶対値に対して単調増加し、
(3)N1iが示す角加速度の向きは時刻(i−1)Tにおける前記第二の姿勢から時刻iTにおける前記第一の姿勢への回転の向きに対応し、
(4)N2iが示す角加速度の大きさはωが示す角速度の大きさに対して単調増加し、
(5)N2iが示す角加速度の向きはωが示す角速度の向きに対応する、
を、前記入力データと初期値Aと初期値ωとに基づいて導出する導出手段と、
してコンピュータを機能させる姿勢データフィルタプログラム。
Input means for sequentially acquiring input data A ′ i indicating the first posture at time iT (T is a constant, i = 0, 1, 2,...);
Output data indicating the second posture at time iT: output means for sequentially outputting A i ;
The angle of rotation from the second posture at time (i-1) T to the first posture at time iT is θ i , the angular velocity at time iT indicated by the locus of the output data is ω i , and time (i− 1) The angular acceleration of rotation of the second posture from T to time iT is
N i = N 1i -N 2i
And when
(1) When θ i = 0, N 1i = 0,
(2) When −π / 2 ≦ θ i ≦ π / 2, the magnitude of angular acceleration indicated by N 1i increases monotonously with respect to the absolute value of θ i ,
(3) The direction of angular acceleration indicated by N 1i corresponds to the direction of rotation from the second posture at time (i−1) T to the first posture at time iT,
(4) The magnitude of the angular acceleration indicated by N 2i monotonously increases with respect to the magnitude of the angular velocity indicated by ω i ,
(5) The direction of angular acceleration indicated by N 2i corresponds to the direction of angular velocity indicated by ω i .
Derivation means for deriving A i based on the input data, the initial value A 0 and the initial value ω 0 ;
Posture data filter program that allows the computer to function.
JP2007147508A 2007-06-01 2007-06-01 Attitude data filter device, attitude data filtering method, and attitude data filter program. Expired - Fee Related JP5141098B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007147508A JP5141098B2 (en) 2007-06-01 2007-06-01 Attitude data filter device, attitude data filtering method, and attitude data filter program.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007147508A JP5141098B2 (en) 2007-06-01 2007-06-01 Attitude data filter device, attitude data filtering method, and attitude data filter program.

Publications (2)

Publication Number Publication Date
JP2008298700A JP2008298700A (en) 2008-12-11
JP5141098B2 true JP5141098B2 (en) 2013-02-13

Family

ID=40172335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007147508A Expired - Fee Related JP5141098B2 (en) 2007-06-01 2007-06-01 Attitude data filter device, attitude data filtering method, and attitude data filter program.

Country Status (1)

Country Link
JP (1) JP5141098B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102510997B (en) * 2009-09-26 2015-01-21 阿尔卑斯电气株式会社 Geomagnetism sensing device
JP4599502B1 (en) * 2010-06-03 2010-12-15 アイチ・マイクロ・インテリジェント株式会社 Magnetic gyro
JP5816879B2 (en) * 2011-07-05 2015-11-18 アイチ・マイクロ・インテリジェント株式会社 Magnetic gyro
DE102012011632A1 (en) * 2011-07-28 2013-01-31 Memsic Inc. Motion- and attitude-sensing system for use in e.g. cellular telephone, for sensing attitude of rigid object in space, has three-axis magnetic compass to provide signals associated with change in attitude of electronic device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2913122B2 (en) * 1991-07-16 1999-06-28 株式会社トキメック Strap down gyro device
JP4613539B2 (en) * 2004-07-16 2011-01-19 トヨタ自動車株式会社 Robot motion planning method

Also Published As

Publication number Publication date
JP2008298700A (en) 2008-12-11

Similar Documents

Publication Publication Date Title
JP5223502B2 (en) Direction tracking display device, direction tracking display method, and direction tracking display program
US8700356B2 (en) Apparatus and method sensing motion
Menner et al. Constrained inverse optimal control with application to a human manipulation task
JP4582116B2 (en) INPUT DEVICE, CONTROL DEVICE, CONTROL SYSTEM, CONTROL METHOD AND ITS PROGRAM
US20190250708A1 (en) Method for tracking hand pose and electronic device thereof
US20050237296A1 (en) Apparatus, system and method for virtual user interface
US9516223B2 (en) Motion-based image stitching
EP2933605A1 (en) A device orientation correction method for panorama images
US20160077166A1 (en) Systems and methods for orientation prediction
JP5141098B2 (en) Attitude data filter device, attitude data filtering method, and attitude data filter program.
CN109186596B (en) IMU measurement data generation method, system, computer device and readable storage medium
US11335023B2 (en) Human pose estimation using neural networks and kinematic structure
CN106597664B (en) A kind of virtual implementing helmet and the method for improving virtual implementing helmet display effect
JP2023503942A (en) Methods, apparatus, electronics and computer readable storage media for displaying objects in video
CN114692425A (en) Welding robot simulation method, system, equipment and medium of digital twinning technology
JP2020095471A (en) Estimation device, training device, estimation method, and training method
JP2016076104A (en) Method for processing data of gesture input system
KR102062263B1 (en) Apparatus for generating a trajectory of a vehicle and method thereof
O-larnnithipong et al. Orientation correction for a 3D hand motion tracking interface using inertial measurement units
JPH08137608A (en) Three-dimension coordinate input device
JP2020098575A (en) Image processor, method for processing information, and image processing program
JP2000242408A (en) Device and method for correcting coordinate and calculating parameter for coordinate correction, storage medium storing coordinate correction control program and medium storing parameter calculation program for coordinate correction
JP6536162B2 (en) Movement information calculation method, movement information calculation apparatus, and movement information calculation program
CN106803056B (en) Estimation method and device of limb relationship
JP6621167B1 (en) Motion estimation device, electronic device, control program, and motion estimation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100421

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121023

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121105

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5141098

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees