JP5747752B2 - Posture estimation device, posture estimation method, posture estimation program - Google Patents
Posture estimation device, posture estimation method, posture estimation program Download PDFInfo
- Publication number
- JP5747752B2 JP5747752B2 JP2011194246A JP2011194246A JP5747752B2 JP 5747752 B2 JP5747752 B2 JP 5747752B2 JP 2011194246 A JP2011194246 A JP 2011194246A JP 2011194246 A JP2011194246 A JP 2011194246A JP 5747752 B2 JP5747752 B2 JP 5747752B2
- Authority
- JP
- Japan
- Prior art keywords
- quaternion
- angle
- posture
- angular velocity
- bias
- 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
Links
- 238000000034 method Methods 0.000 title claims description 22
- 238000005259 measurement Methods 0.000 claims description 32
- 238000005070 sampling Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 9
- 238000010606 normalization Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Landscapes
- Gyroscopes (AREA)
Description
本発明は、姿勢推定装置、姿勢推定方法、及び、姿勢推定プログラムに関する。 The present invention relates to a posture estimation device, a posture estimation method, and a posture estimation program.
この種の技術として、特許文献1は、チルト検出手段と角速度検出手段を有した傾動可能な物体の姿勢を推定する方法を開示している。 As this type of technology, Patent Document 1 discloses a method for estimating the attitude of a tiltable object having a tilt detection unit and an angular velocity detection unit.
ところで、本願出願人は、移動ロボットの姿勢を推定する技術を開発しており、具体的には、移動ロボットに、姿勢角度を計測する傾斜センサ(例えば3軸加速度センサ)と、姿勢角度の変化である姿勢角速度を計測するジャイロセンサとを設けている。そして、傾斜センサの計測結果と、ジャイロセンサの計測結果とをフィルタ処理により合成することで、移動ロボットの姿勢を精度よく推定することとしている。即ち、移動ロボットの姿勢の推定は、以下の式により行われる。以下の式(1)〜(3)は、オイラー角表現による1つの軸についてのフィルタ処理を示している。 By the way, the applicant of the present application has developed a technique for estimating the posture of a mobile robot. Specifically, the mobile robot includes a tilt sensor (for example, a three-axis acceleration sensor) that measures a posture angle, and a change in posture angle. And a gyro sensor for measuring the posture angular velocity. Then, the posture of the mobile robot is accurately estimated by combining the measurement result of the tilt sensor and the measurement result of the gyro sensor by filter processing. That is, the posture of the mobile robot is estimated by the following equation. The following formulas (1) to (3) show the filter processing for one axis by Euler angle expression.
αドット measuredは、ジャイロセンサによる姿勢角速度の計測結果である。
αmeasuredは、傾斜センサによる姿勢角度の計測結果である。
αpredictは、ジャイロセンサによる姿勢角速度の計測結果を用いて予測した、移動ロボットの姿勢角度の予測値である。
αnは、移動ロボットの姿勢角度の予測値に、傾斜センサによる姿勢角度の計測結果を加味した、移動ロボットの姿勢角度の推定値である。
bnは、ジャイロセンサの姿勢角速度バイアスの推定値である。
bn-1は、前回のジャイロセンサの姿勢角速度バイアスの推定値である。
dtは、サンプリング周期である。
K0は、カルマンフィルタ係数である。
K1は、カルマンフィルタ係数である。
The α dot measured is a measurement result of the posture angular velocity by the gyro sensor.
α measured is a measurement result of the posture angle by the tilt sensor.
α predict is a predicted value of the posture angle of the mobile robot predicted using the measurement result of the posture angular velocity by the gyro sensor.
α n is an estimated value of the posture angle of the mobile robot obtained by adding the measurement result of the posture angle by the tilt sensor to the predicted value of the posture angle of the mobile robot.
b n is an estimated value of the attitude angular velocity bias of the gyro sensor.
b n−1 is an estimated value of the attitude angular velocity bias of the previous gyro sensor.
dt is a sampling period.
K 0 is a Kalman filter coefficient.
K 1 is a Kalman filter coefficient.
上記式(2)は1つの軸についてのフィルタ処理を示しているので、3つの軸については、上記フィルタ処理を3回繰り返すことになり、計算コストが高い。これに対し、本願出願人は、四元数の概念を導入して、上記式(2)の計算コストを抑えることに成功している。詳しくは以下の通りである。 Since the above equation (2) shows the filtering process for one axis, the filtering process is repeated three times for three axes, and the calculation cost is high. On the other hand, the present applicant has succeeded in reducing the calculation cost of the above formula (2) by introducing the concept of quaternions. Details are as follows.
上記式(2)を変形すると、下記式(4)となる。下記式(4)においてαnは、αpredictとαmeasuredという2つの角度を(1-K0):K0の比率で補間する角度に相当している。αをオイラー角による1つの軸の角度としてではなく四元数であるとすると、下記式(4)の演算は球面線形補間(slerp:Spherical linear interpolation)と同一の形として捉えることができる。 When the above equation (2) is modified, the following equation (4) is obtained. In the following formula (4), α n corresponds to an angle that interpolates two angles α predict and α measured at a ratio of (1-K 0 ): K 0 . If α is a quaternion rather than an angle of one axis by Euler angles, the calculation of the following equation (4) can be regarded as the same form as spherical linear interpolation (slerp).
ここで、q0とq1の2つの四元数の間を変数tで補間する関数slerp(q0,q1,t)は理論上、下記式(5)によって定義される。 Here, the function slerp (q 0 , q 1 , t) for interpolating between the two quaternions of q 0 and q 1 with the variable t is theoretically defined by the following equation (5).
上記式(5)は、q0とq1の間の弧の長さであるωを利用して下記式(6)で代替することができる。 The above equation (5) can be replaced by the following equation (6) using ω which is the length of the arc between q 0 and q 1 .
そして、2つの四元数の間の三角関数は下記式(7)で簡単に求められる。 The trigonometric function between the two quaternions can be easily obtained by the following equation (7).
従って、下記式(8)のようになる。 Therefore, the following equation (8) is obtained.
以上のように、αをオイラー角による1つの軸の姿勢角度ではなく四元数であるとして四元数特有の球面線形補間を利用することにより、上記式(2)を低い計算コストで実行することが可能となる。このような上記式(2)についての効率的な計算手法については、本願出願人が既に特許出願している。 As described above, the above equation (2) is executed at low calculation cost by using spherical linear interpolation peculiar to a quaternion, assuming that α is not a posture angle of one axis by Euler angles but a quaternion. It becomes possible. The applicant of the present application has already filed a patent for an efficient calculation method for the above equation (2).
一方で、上記式(3)の演算については改善の余地が残されていた。詳しくは、上記式(3)については、上記式(2)と違って、四元数特有の球面線形補間を利用するかたちには持っていくことができない。従って、αmeasured等が既に四元数であった場合には、一度オイラー角表現に戻して演算を実行し、再度四元数に戻すといった計算が必要となる。そして、四元数とオイラー角の間の変換には、三角関数や逆関数といった時間がかかる関数を多用するため、結果として上記式(3)の演算には多くの時間を費やしていた。 On the other hand, there was room for improvement in the calculation of the above formula (3). Specifically, unlike the above equation (2), the above equation (3) cannot be brought into the form of using the spherical linear interpolation peculiar to the quaternion. Therefore, when α measured or the like is already a quaternion, it is necessary to perform calculation by returning to the Euler angle representation once and executing the calculation again. And, since a function that takes time such as a trigonometric function or an inverse function is frequently used for conversion between the quaternion and the Euler angle, as a result, much time is spent on the calculation of the above formula (3).
本願発明の目的は、姿勢角速度バイアスを推定する計算の効率を向上する技術を提供することにある。 An object of the present invention is to provide a technique for improving the efficiency of calculation for estimating a posture angular velocity bias.
本願発明の第1の観点によれば、傾斜角センサとジャイロセンサを備えた機器本体の姿勢を前記傾斜角センサの計測結果と前記ジャイロセンサの計測結果に基づいて推定する姿勢推定装置であって、前記傾斜角センサの計測結果に基づいて前記機器本体の姿勢角度の四元数表現である第1姿勢角度四元数αmeasuredを生成する第1姿勢角度四元数生成手段と、前記ジャイロセンサの計測結果に基づいて前記機器本体の姿勢角度の四元数表現である第2姿勢角度四元数αpredictを予測して生成する第2姿勢角度四元数生成手段と、フィルタ係数K1を生成するフィルタ係数生成手段と、下記式(9)により姿勢角速度バイアス四元数bnを推定する姿勢角速度バイアス四元数推定手段と、を備えた姿勢推定装置が提供される。ただし、bn-1は、前回の姿勢角速度バイアス四元数である。以上の構成によれば、四元数表現をオイラー角表現に変換したり、オイラー角表現を四元数表現に変換する必要がなく、四元数表現のまま前記姿勢角速度バイアス四元数bnを推定することができる。従って、前記角速度バイアス四元数bnを高い計算効率で推定することができる。 According to a first aspect of the present invention, there is provided an attitude estimation device for estimating an attitude of a device body including an inclination angle sensor and a gyro sensor based on a measurement result of the inclination angle sensor and a measurement result of the gyro sensor. A first attitude angle quaternion generating means for generating a first attitude angle quaternion α measured which is a quaternion representation of the attitude angle of the device main body based on a measurement result of the tilt angle sensor; and the gyro sensor a second attitude angle quaternion generating means for generating and predicting a second orientation angle quaternion alpha predict on the basis of the measurement result is quaternion number representation of the attitude angle of the device body, the filter coefficient K 1 There is provided an attitude estimation device including filter coefficient generation means for generating and attitude angular velocity bias quaternion estimation means for estimating an attitude angular velocity bias quaternion b n by the following equation (9). However, b n−1 is the previous attitude angular velocity bias quaternion. According to the above configuration, there is no need to convert the quaternion representation into the Euler angle representation or the Euler angle representation into the quaternion representation, and the posture angular velocity bias quaternion b n remains in the quaternion representation. Can be estimated. Therefore, the angular velocity bias quaternion b n can be estimated with high calculation efficiency.
好ましくは、前記姿勢角速度バイアス推定手段は、前記フィルタ係数K1が負である場合は、前記フィルタ係数K1の正負を反転させた上で、前記式(9)により姿勢角速度バイアス四元数bnを推定する。以上の構成によれば、四元数の累乗を問題なく演算することができる。 Preferably, when the filter coefficient K 1 is negative, the attitude angular velocity bias estimation unit inverts the positive / negative of the filter coefficient K 1 and then calculates the attitude angular velocity bias quaternion b according to the equation (9). Estimate n . According to the above configuration, the power of the quaternion can be calculated without any problem.
好ましくは、前記姿勢角速度バイアス推定手段は、前記フィルタ係数K1の絶対値が1を超える場合は、前記フィルタ係数K1の絶対値を1にした上で、前記式(9)により姿勢角速度バイアス四元数bnを推定する。以上の構成によれば、四元数の累乗を問題なく演算することができる。 Preferably, the posture angular velocity estimated bias means, said if the absolute value of the filter coefficient K 1 is greater than 1, the absolute value of the filter coefficient K 1 in terms of the 1, posture angular velocity bias by the formula (9) Estimate the quaternion b n . According to the above configuration, the power of the quaternion can be calculated without any problem.
本願発明の第2の観点によれば、傾斜角センサとジャイロセンサを備えた機器本体の姿勢を前記傾斜角センサの計測結果と前記ジャイロセンサの計測結果に基づいて推定する姿勢推定方法であって、前記傾斜角センサの計測結果に基づいて前記機器本体の姿勢角度の四元数表現である第1姿勢角度四元数αmeasuredを生成する第1姿勢角度四元数生成ステップと、前記ジャイロセンサの計測結果に基づいて前記機器本体の姿勢角度の四元数表現である第2姿勢角度四元数αpredictを予測して生成する第2姿勢角度四元数生成ステップと、フィルタ係数K1を生成するフィルタ係数生成ステップと、上記式(9)により姿勢角速度バイアス四元数bnを推定する姿勢角速度バイアス四元数推定ステップと、を備えた姿勢推定方法が提供される。ただし、bn-1は、前回の姿勢角速度バイアス四元数である。 According to a second aspect of the present invention, there is provided an attitude estimation method for estimating an attitude of a device main body including an inclination angle sensor and a gyro sensor based on a measurement result of the inclination angle sensor and a measurement result of the gyro sensor. A first posture angle quaternion generating step for generating a first posture angle quaternion α measured which is a quaternion representation of the posture angle of the device main body based on a measurement result of the tilt angle sensor, and the gyro sensor A second attitude angle quaternion generation step that predicts and generates a second attitude angle quaternion α predict , which is a quaternion representation of the attitude angle of the device body, based on the measurement result, and a filter coefficient K 1 There is provided a posture estimation method including a filter coefficient generation step to be generated and a posture angular velocity bias quaternion estimation step for estimating the posture angular velocity bias quaternion b n by the above equation (9). However, b n−1 is the previous attitude angular velocity bias quaternion.
また、コンピュータに、上記の姿勢推定方法を実行させるための姿勢推定プログラムが提供される。 Also provided is a posture estimation program for causing a computer to execute the posture estimation method described above.
本願発明によれば、四元数表現をオイラー角表現に変換したり、オイラー角表現を四元数表現に変換する必要がなく、四元数表現のまま前記姿勢角速度バイアス四元数bnを推定することができる。従って、前記角速度バイアス四元数bnを高い計算効率で推定することができる。 According to the present invention, there is no need to convert the quaternion representation into the Euler angle representation or the Euler angle representation into the quaternion representation, and the posture angular velocity bias quaternion b n is not changed from the quaternion representation. Can be estimated. Therefore, the angular velocity bias quaternion b n can be estimated with high calculation efficiency.
以下、図1〜4を参照して、本願発明の実施形態を説明する。 Hereinafter, an embodiment of the present invention will be described with reference to FIGS.
倒立二輪車1(移動ロボット、機器)は、倒立二輪車本体2(機器本体)と、図示しない台車、ハンドル、車輪等を備えて構成されている。 The inverted two-wheeled vehicle 1 (mobile robot, device) includes an inverted two-wheeled vehicle main body 2 (device main body), a cart, a handle, wheels, and the like (not shown).
倒立二輪車本体2は、傾斜角センサ3と、ジャイロセンサ4と、CPU5(Central Processing Unit)と、RAM6(Random Access Memory)と、ROM7(Read Only Memory)と、によって構成されている。ROM7には、姿勢推定プログラムと姿勢制御プログラムが記憶されている。姿勢推定プログラムと姿勢制御プログラムは、CPU5に読み込まれ、CPU5上で実行されることで、CPU5等のハードウェアに、姿勢推定部8(姿勢推定装置)及び姿勢制御部9としての機能を発揮させるようになっている。
The inverted two-
姿勢推定部8は、倒立二輪車本体2の姿勢を傾斜角センサ3の計測結果とジャイロセンサ4の計測結果に基づいて推定するものである。なお、「倒立二輪車本体2の姿勢」は、「倒立二輪車本体2の姿勢角度」と「倒立二輪車本体2の姿勢角速度」を含む概念である。
The
姿勢制御部9は、姿勢推定部8によって推定された倒立二輪車本体2の姿勢に基づいて、倒立二輪車本体2の姿勢を制御するものである。
The
図2に示すように、姿勢推定部8は、第1姿勢角度四元数生成部20(第1姿勢角度四元数生成手段)と、第2姿勢角度四元数生成部21(第2姿勢角度四元数生成手段)と、フィルタ係数生成部22(フィルタ係数生成手段)と、姿勢角度四元数合成部23と、姿勢角度四元数正規化部24と、オイラー角変換部25と、姿勢角速度バイアス四元数推定部26(姿勢角速度バイアス四元数推定手段)と、姿勢角速度バイアス四元数正規化部27と、によって構成されている。
As shown in FIG. 2, the
図3に示すように、姿勢角速度バイアス四元数推定部26は、差分演算部40(差分演算手段)と、フィルタ演算部41(フィルタ演算手段)と、積分演算部42(積分演算手段)と、によって構成されている。
As shown in FIG. 3, the attitude angular velocity bias
(傾斜角センサ3)
図1に戻り、傾斜角センサ3は、倒立二輪車本体2の現在の姿勢角度を計測するためのものである。本実施形態において傾斜角センサ3は、3軸加速度センサと地磁気センサの組み合わせによって構成されている。3軸加速度センサは、倒立二輪車本体2の姿勢角度のうちロール角度とピッチ角度を計測可能である。地磁気センサは、倒立二輪車本体2の姿勢角度のうちヨー角度を計測可能である。傾斜角センサ3は、計測により得られた姿勢角度信号を姿勢推定部8の第1姿勢角度四元数生成部20に出力する。
(Inclination angle sensor 3)
Returning to FIG. 1, the
(ジャイロセンサ4)
ジャイロセンサ4は、倒立二輪車本体2の現在の姿勢角速度を計測するためのものである。本実施形態においてジャイロセンサ4は、MEMSジャイロによって構成されている。ジャイロセンサ4は、計測により得られた姿勢角速度信号を姿勢推定部8の第2姿勢角度四元数生成部21に出力する。
(Gyro sensor 4)
The gyro sensor 4 is for measuring the current posture angular velocity of the
(第1姿勢角度四元数生成部20)
図2の第1姿勢角度四元数生成部20は、傾斜角センサ3の計測結果に基づいて倒立二輪車本体2の姿勢角度の四元数表現である第1姿勢角度四元数αmeasuredを生成するものである。具体的には以下の通りである。
(First posture angle quaternion generator 20)
The first posture angle
(→フィルタ処理)
先ず、第1姿勢角度四元数生成部20は、傾斜角センサ3から受信した姿勢角度信号をフィルタ処理して、姿勢角度信号に含まれる望ましくない周波数帯域をカットする。
(→ Filter processing)
First, the first posture angle
(→取り付け角度補正処理)
次に、第1姿勢角度四元数生成部20は、倒立二輪車本体2に対する3軸加速度センサの取り付け角度に基づいて、姿勢角度信号を補正する。これにより、姿勢角度信号から、3軸加速度センサの取り付け角度による影響がキャンセルされる。
(→ Mounting angle correction process)
Next, the first posture angle
(→自加速度キャンセル処理)
次に、第1姿勢角度四元数生成部20は、車輪の回転数を微分して得られる倒立二輪車本体2の加速度に基づいて、姿勢角度信号を補正する。これにより、姿勢角度信号から、自加速度による影響がキャンセルされる。
(→ Self acceleration cancellation process)
Next, the first posture angle
(→姿勢角度行列変換処理)
次に、第1姿勢角度四元数生成部20は、姿勢角度信号(加速度センサベクトル)にヨー角(方位角)を加えた回転を姿勢角度行列に変換する。
(→ Attitude angle matrix conversion process)
Next, the first posture angle
(→四元数変換処理)
次に、第1姿勢角度四元数生成部20は、姿勢角度行列を、姿勢角度の四元数表現である第1姿勢角度四元数αmeasuredに変換する。
(→ Quaternion conversion process)
Next, the first posture angle
そして、第1姿勢角度四元数生成部20は、生成した第1姿勢角度四元数αmeasuredを、姿勢角度四元数合成部23と姿勢角速度バイアス四元数推定部26に出力する。
Then, the first posture angle
(第2姿勢角度四元数生成部21)
第2姿勢角度四元数生成部21は、ジャイロセンサ4の計測結果に基づいて倒立二輪車本体2の姿勢角度の四元数表現である第2姿勢角度四元数αpredictを予測して生成するものである。具体的には以下の通りである。
(Second posture angle quaternion generator 21)
Second posture angle quaternion generator 21 is generated by predicting a second orientation angle quaternion alpha predict which quaternion number representation of the attitude angle of the inverted two-
(→フィルタ処理)
先ず、第2姿勢角度四元数生成部21は、ジャイロセンサ4から受信した姿勢角速度信号をフィルタ処理して、姿勢角速度信号に含まれる望ましくない周波数帯域をカットする。
(→ Filter processing)
First, the second posture angle quaternion generation unit 21 filters the posture angular velocity signal received from the gyro sensor 4 and cuts an undesirable frequency band included in the posture angular velocity signal.
(→予測処理)
次に、第2姿勢角度四元数生成部21は、RAM6から、前回の姿勢角速度バイアスbn-1を取得した上で、姿勢角速度信号αドット measuredから前回の姿勢角速度バイアスbn-1を引き算し、これにサンプリング周期dtを掛け、前回の姿勢角度αn-1に積算し、結果を四元数に変換する。これにより、第2姿勢角度四元数αpredictが求められる。なお、この予測処理は、始めから四元数で演算してもよいし、とりあえずオイラー角で演算して最後に四元数変換することとしてもよい。オイラー角で演算する場合は、下記式(1)による。
(→ prediction process)
Next, the second posture angle quaternion generator 21 obtains the previous posture angular velocity bias b n−1 from the RAM 6 and then obtains the previous posture angular velocity bias b n−1 from the posture angular velocity signal α dot measured. Subtract, multiply this by the sampling period dt, add to the previous attitude angle α n−1 , and convert the result to a quaternion. Thereby, the second posture angle quaternion α predict is obtained. This prediction process may be performed with a quaternion from the beginning, or may be performed with Euler angles for the time being and finally converted into a quaternion. When calculating with the Euler angle, the following equation (1) is used.
そして、第2姿勢角度四元数生成部21は、生成した第2姿勢角度四元数αpredictを姿勢角度四元数合成部23と姿勢角速度バイアス四元数推定部26に出力する。
Then, the second posture angle quaternion generation unit 21 outputs the generated second posture angle quaternion α predict to the posture angle
(フィルタ係数生成部22)
フィルタ係数生成部22は、状態フィードバックを実現する際のオブザーバの一種として、カルマンフィルタ係数K0、K1を生成する。カルマンフィルタ係数K0は姿勢角の計測ノイズをフィルタして姿勢角にフィードバックするための係数であり、カルマンフィルタ係数K1は姿勢角の計測ノイズをフィルタして姿勢角速度バイアスにフィードバックするための係数である。
(Filter coefficient generator 22)
The filter
(姿勢角度四元数合成部23)
姿勢角度四元数合成部23は、第1姿勢角度四元数αmeasuredと第2姿勢角度四元数αpredictをカルマンフィルタ係数K0でのフィルタ処理により合成して、倒立二輪車本体2の現在の姿勢角度αn(推定値)を生成する。この姿勢角度四元数合成部23による合成処理は、前述したように球面線形補間を利用することで効率良く実行できることを示した。必要であれば、オイラー角で表現した式(2)を参照されたい。姿勢角度四元数合成部23は、生成した倒立二輪車本体2の現在の姿勢角度αn(推定値)を姿勢角度四元数正規化部24に出力する。
(Attitude angle quaternion synthesis unit 23)
The posture angle
(姿勢角度四元数正規化部24)
姿勢角度四元数正規化部24は、浮動小数点演算の誤差の蓄積を回避すべく、倒立二輪車本体2の現在の姿勢角度αnを正規化する。姿勢角度四元数正規化部24は、正規化した姿勢角度αnをオイラー角変換部25に出力する。
(Attitude angle quaternion normalization unit 24)
The posture angle
(オイラー角変換部25)
オイラー角変換部25は、姿勢角度αnをオイラー角表現に変換した上で姿勢制御部9に出力する。
(Euler angle converter 25)
The Euler
(姿勢角速度バイアス四元数推定部26:図3)
姿勢角速度バイアス四元数推定部26は、下記式(9)により角速度バイアス四元数bnを推定する。具体的には以下の通りである。
(Attitude angular velocity bias quaternion estimation unit 26: FIG. 3)
The posture angular velocity bias
姿勢角速度バイアスbnは、前述したように下記式(3)により求められる。 The attitude angular velocity bias b n is obtained by the following equation (3) as described above.
上記式(3)は、前述した式(2)のようには球面線形補間を利用できるかたちに変形することができない。そこで、姿勢角速度バイアス四元数推定部26は、四元数の累乗(べき乗)という概念を導入して、上記式(3)を効率的に解く。詳しく説明すると、qtは四元数qのt乗を意味するが、t=0のときq0=1、即ち恒等四元数(1,0,0,0)を示す。また、t=1のときq1=qとなり、実数と同等の振る舞いをする。注意すべきは、t<0の場合とt>1の場合であり、四元数は360度以上の回転を示すことができないので、tを大きくして複数回転を表すようなことはできない。(as)t=astのようなスカラーの累乗に関する代数が当てはまらないことがある。しかし、今回のようなフィルタ演算の場合は、ノイズをフィルタリングして小さくするという意味からK1の絶対値は必ず1より小さい値になる上に、第1姿勢角度四元数αmeasuredも第2姿勢角度四元数αpredictもある1つの角度を示すことから累乗の乗数が0〜1の範囲で使用することができる。なお、四元数の累乗は乗数が0以上1以下の範囲で使用することが一般的である。
The above equation (3) cannot be transformed into a form in which spherical linear interpolation can be used like the above-described equation (2). Therefore, the attitude angular velocity bias
さて、オイラー角表現での足し算は四元数表現では外積(演算子は×)であり、オイラー角表現での引き算は四元数表現では共役四元数(演算子は−1)との外積である。また、回転のスカラーの掛け算は、四元数表現での累乗に相当する。従って、上記式(3)は、上記式(9)に置き換えることができる。上記式(9)の意味としては、姿勢角度四元数αのノイズ成分をカルマンフィルタ係数K1でフィルタリングし、これを用いて姿勢角速度バイアス四元数bn-1を回転させて修正する、ということになる。 Now, addition in Euler angle representation is a cross product (operator is x) in quaternion representation, and subtraction in Euler angle representation is a cross product with conjugate quaternion (operator is -1 ) in quaternion representation. It is. The multiplication of the rotation scalar corresponds to the power in the quaternion representation. Therefore, the above formula (3) can be replaced with the above formula (9). As the meaning of the above equation (9), the noise component of the posture angle quaternion α is filtered by the Kalman filter coefficient K 1 and is used to rotate and correct the posture angular velocity bias quaternion b n−1. It will be.
従って、図3において、差分演算部40は、第1姿勢角度四元数生成部20から取得した第1姿勢角度四元数αmeasuredと、第2姿勢角度四元数生成部21から取得した第2姿勢角度四元数αpredictと、の差分を求めて姿勢角度四元数αのノイズ成分を算出する。
Therefore, in FIG. 3, the difference calculation unit 40 includes the first posture angle quaternion α measured acquired from the first posture angle
次に、フィルタ演算部41は、差分演算部40が算出した姿勢角度四元数αのノイズ成分をカルマンフィルタ係数K1でフィルタ処理する。このとき、カルマンフィルタ係数K1が負である場合は、フィルタ演算部41は、カルマンフィルタ係数K1の正負を反転させた上で、姿勢角度四元数αのノイズ成分をフィルタ処理する。即ち、上記式(9)に代えて下記式(10)を用いる。
Next, the
また、フィルタの方式としてカルマンフィルタなどの係数が変化するタイプが存在する。例えば逐次カルマンフィルタではK0及びK1の絶対値が一時的に1より大きな値になることがある。この場合、フィルタ演算部41は、カルマンフィルタ係数K1の絶対値を1にした上で、前記の式(9)又は(10)により姿勢角速度バイアス四元数bnを推定すればよい。カルマンフィルタ係数K0についても同様である。
In addition, as a filter method, there is a type in which coefficients such as a Kalman filter change. For example, in the sequential Kalman filter, the absolute values of K 0 and K 1 may temporarily be larger than 1. In this case, the
次に、積分演算部42は、フィルタ処理後の値を、前回の姿勢角速度バイアス四元数bn-1に積算して、現在の姿勢角速度バイアス四元数bnを求める。積分演算部42は、求めた姿勢角速度バイアス四元数bnを姿勢角速度バイアス四元数正規化部27に出力する。
Then, the integral calculating
(姿勢角速度バイアス四元数正規化部27)
姿勢角速度バイアス四元数正規化部27は、浮動小数点演算の誤差の蓄積を回避すべく、姿勢角速度バイアス四元数bnを正規化する。そして、姿勢角速度バイアス四元数正規化部27は、正規化した姿勢角速度バイアス四元数bnをRAM6に保存する。
(Attitude angular velocity bias quaternion normalization unit 27)
The attitude angular velocity bias
次に、図4を参照して、主として姿勢推定部8の作動を説明する。
Next, the operation of the
(傾斜角センサによる計測ステップ)
倒立二輪車1の電源を投入すると(S300)、傾斜角センサ3は、倒立二輪車本体2の現在の姿勢角度を計測して、姿勢角度信号を第1姿勢角度四元数生成部20に出力する(S310)。次に、ジャイロセンサ4は、倒立二輪車本体2の現在の姿勢角速度を計測して、姿勢角速度信号を第2姿勢角度四元数生成部21に出力する(S320)。次に、第1姿勢角度四元数生成部20は、傾斜角センサ3から受信した姿勢角度信号に基づいて倒立二輪車本体2の姿勢角度の四元数表現である第1姿勢角度四元数αmeasuredを生成する(S330)。次に、第2姿勢角度四元数生成部21は、ジャイロセンサ4から受信した姿勢角速度信号に基づいて倒立二輪車本体2の姿勢角度の四元数表現である第2姿勢角度四元数αpredictを予測して生成する(S340)。次に、フィルタ係数生成部22は、カルマンフィルタ係数K0、K1を生成する(S350)。なお、S310とS320の処理は可換であり、S330〜S350の処理は適宜順番を入れ替えても良い。次に、姿勢角速度バイアス四元数推定部26は、下記式(9)により姿勢角速度バイアス四元数bnを推定する(S360)。そして、処理をS310に戻して次の周期に備える。
(Measurement step by tilt angle sensor)
When the power of the inverted motorcycle 1 is turned on (S300), the
以上に本願発明の好適な実施形態を説明したが、上記実施形態は、要するに、以下の特長を有している。 Although the preferred embodiment of the present invention has been described above, the above embodiment has the following features in short.
姿勢推定部8(姿勢推定装置)は、傾斜角センサ3とジャイロセンサ4を備えた倒立二輪車本体2(機器本体)の姿勢を傾斜角センサ3の計測結果とジャイロセンサ4の計測結果に基づいて推定するものである。姿勢推定部8は、傾斜角センサ3の計測結果に基づいて倒立二輪車本体2の姿勢角度の四元数表現である第1姿勢角度四元数αmeasuredを生成する第1姿勢角度四元数生成部20(第1姿勢角度四元数生成手段)と、ジャイロセンサ4の計測結果に基づいて倒立二輪車本体2の姿勢角度の四元数表現である第2姿勢角度四元数αpredictを予測して生成する第2姿勢角度四元数生成部21(第2姿勢角度四元数生成手段)と、カルマンフィルタ係数K1(フィルタ係数K1)を生成するフィルタ係数生成部22(フィルタ係数生成手段)と、下記式(9)により姿勢角速度バイアス四元数bnを推定する姿勢角速度バイアス四元数推定部26(姿勢角速度バイアス四元数推定手段)と、を備える。ただし、bn-1は、前回の姿勢角速度バイアス四元数である。
The posture estimation unit 8 (posture estimation device) determines the posture of the inverted two-wheeled vehicle body 2 (equipment main body) including the
以上の構成によれば、四元数表現をオイラー角表現に変換したり、オイラー角表現を四元数表現に変換する必要がなく、四元数表現のまま姿勢角速度バイアス四元数bnを推定することができる。従って、角速度バイアス四元数bnを高い計算効率で推定することができる。 According to the above configuration, to convert quaternary number representation Euler angles representing the Euler angles representation there is no need to convert the quaternion representation, the left posture angular velocity bias quaternion b n quaternary number representation Can be estimated. Therefore, the angular velocity bias quaternion b n can be estimated with high calculation efficiency.
また、姿勢角速度バイアス姿勢推定部8は、カルマンフィルタ係数K1が負である場合は、カルマンフィルタ係数K1の正負を反転させた上で、前記式(9)により姿勢角速度バイアス四元数bnを推定する。以上の構成によれば、四元数の累乗を問題なく演算することができる。
Further, when the Kalman filter coefficient K 1 is negative, the attitude angular velocity bias
また、姿勢角速度バイアス姿勢推定部8は、カルマンフィルタ係数K1の絶対値が1を超える場合は、カルマンフィルタ係数K1の絶対値を1にした上で、前記式(9)により姿勢角速度バイアス四元数bnを推定する。以上の構成によれば、四元数の累乗を問題なく演算することができる。
Further, the posture angular velocity bias
なお、角速度バイアスbnの推定を始めるに際し、角速度バイアスbnの初期値は「回転しない」ことを表す恒等四元数(1,0,0,0)とすることが考えれる。この場合、倒立二輪車1の状態(温度や各角速度センサのバイアス固有値)によりいずれある値に収束していくことになる。好ましくは、倒立二輪車1を起動し、姿勢推定のフィルタ演算を開始するときに姿勢角速度バイアスbnの初期値を恒等四元数から開始することに代えて、前回の起動後に収束した値を初期値として採用すれば、一層安定した姿勢角速度バイアスbnの推定を行うことができる。 When the estimation of the angular velocity bias b n is started, it is conceivable that the initial value of the angular velocity bias b n is the identity quaternion (1,0,0,0) representing “not rotating”. In this case, it will eventually converge to a certain value depending on the state of the inverted motorcycle 1 (temperature and the bias eigenvalue of each angular velocity sensor). Preferably, instead of starting the initial value of the attitude angular velocity bias b n from the identity quaternion when starting the inverted motorcycle 1 and starting the attitude estimation filter calculation, the value converged after the previous activation is calculated. If adopted as the initial value, the posture angular velocity bias b n can be estimated more stably.
1 倒立二輪車
2 倒立二輪車本体
3 傾斜角センサ
4 ジャイロセンサ
8 姿勢推定部
9 姿勢制御部
26 姿勢角速度バイアス四元数推定部
DESCRIPTION OF SYMBOLS 1
Claims (5)
前記傾斜角センサの計測結果に基づいて前記機器本体の姿勢角度の四元数表現である第1姿勢角度四元数αmeasuredを生成する第1姿勢角度四元数生成手段と、
前記ジャイロセンサの計測結果に基づいて前記機器本体の姿勢角度の四元数表現である第2姿勢角度四元数αpredictを予測して生成する第2姿勢角度四元数生成手段と、
フィルタ係数K1を生成するフィルタ係数生成手段と、
下記式により角速度バイアス四元数bnを推定する角速度バイアス四元数推定手段と、
を備えたバイアス四元数推定装置。
ただし、bn-1は、前回の角速度バイアス四元数である。 In a device body having an inclination angle sensor and a gyro sensor, a bias quaternion estimation device that estimates an angular velocity bias quaternion that is a quaternion expression of an output value in a stationary state of the gyro sensor,
First posture angle quaternion generation means for generating a first posture angle quaternion αmeasured which is a quaternion representation of the posture angle of the device main body based on the measurement result of the tilt angle sensor;
Second attitude angle quaternion generation means for predicting and generating a second attitude angle quaternion αpredict, which is a quaternion representation of the attitude angle of the device body, based on the measurement result of the gyro sensor;
Filter coefficient generation means for generating the filter coefficient K1,
Angular velocity bias quaternion estimating means for estimating angular velocity bias quaternion bn by the following equation;
Bias quaternion estimation device.
However, bn-1 is the previous angular velocity bias quaternion.
前記第2姿勢角度四元数生成手段は、前記ジャイロセンサの計測結果から前回の角速度バイアスを引き算し、引き算した結果にサンプリング周期を掛け算し、前記機器本体の前回の姿勢角度に積算することで、前記第2姿勢角度四元数αpredictを生成する、The second attitude angle quaternion generating means subtracts the previous angular velocity bias from the measurement result of the gyro sensor, multiplies the subtracted result by a sampling period, and adds the result to the previous attitude angle of the device body. Generating the second attitude angle quaternion αpredict,
バイアス四元数推定装置。Bias quaternion estimation device.
前記角速度バイアス四元数推定手段は、前記フィルタ係数K1が負である場合は、前記フィルタ係数K1の正負を反転させた上で、請求項1の式により前記角速度バイアス四元数bnを推定する、
バイアス四元数推定装置。 The posture estimation apparatus according to claim 1 or 2 ,
The angular velocity bias quaternion estimating means estimates the angular velocity bias quaternion bn according to the equation of claim 1 after inverting the sign of the filter coefficient K1 when the filter coefficient K1 is negative. ,
Bias quaternion estimation device .
前記角速度バイアス四元数推定手段は、前記フィルタ係数K1の絶対値が1を超える場合は、前記フィルタ係数K1の絶対値を1にした上で、請求項1の式により前記角速度バイアス四元数bnを推定する、
バイアス四元数推定装置。 The posture estimation apparatus according to any one of claims 1 to 3 ,
The angular velocity bias quaternion estimating means sets the absolute value of the filter coefficient K1 to 1 when the absolute value of the filter coefficient K1 exceeds 1, and then calculates the angular velocity bias quaternion according to the equation of claim 1. estimate bn ,
Bias quaternion estimation device .
前記傾斜角センサの計測結果に基づいて前記機器本体の姿勢角度の四元数表現である第1姿勢角度四元数αmeasuredを生成する第1姿勢角度四元数生成ステップと、
前記ジャイロセンサの計測結果に基づいて前記機器本体の姿勢角度の四元数表現である第2姿勢角度四元数αpredictを予測して生成する第2姿勢角度四元数生成ステップと、
フィルタ係数K1を生成するフィルタ係数生成ステップと、
下記式により角速度バイアス四元数bnを推定する角速度バイアス四元数推定ステップと、
を含む、バイアス四元数推定方法。
ただし、bn-1は、前回の角速度バイアス四元数である。 In a device body having an inclination angle sensor and a gyro sensor, a bias quaternion estimation method for estimating an angular velocity bias quaternion that is a quaternion expression of an output value in a stationary state of the gyro sensor,
A first posture angle quaternion generating step for generating a first posture angle quaternion αmeasured which is a quaternion representation of the posture angle of the device main body based on the measurement result of the tilt angle sensor;
A second attitude angle quaternion generation step that predicts and generates a second attitude angle quaternion αpredict that is a quaternion representation of the attitude angle of the device body based on the measurement result of the gyro sensor;
A filter coefficient generation step for generating the filter coefficient K1,
Angular velocity bias quaternion estimation step for estimating the angular velocity bias quaternion bn by the following equation;
Including a bias quaternion estimation method.
However, bn-1 is the previous angular velocity bias quaternion.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011194246A JP5747752B2 (en) | 2011-09-06 | 2011-09-06 | Posture estimation device, posture estimation method, posture estimation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011194246A JP5747752B2 (en) | 2011-09-06 | 2011-09-06 | Posture estimation device, posture estimation method, posture estimation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013054009A JP2013054009A (en) | 2013-03-21 |
JP5747752B2 true JP5747752B2 (en) | 2015-07-15 |
Family
ID=48131117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011194246A Expired - Fee Related JP5747752B2 (en) | 2011-09-06 | 2011-09-06 | Posture estimation device, posture estimation method, posture estimation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5747752B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108827301A (en) * | 2018-04-16 | 2018-11-16 | 南京航空航天大学 | A kind of improvement error quaternion Kalman filtering robot pose calculation method |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019078560A (en) * | 2017-10-20 | 2019-05-23 | シャープ株式会社 | Gyro sensor offset correcting device, offset correction program, and pedestrian autonomous navigation device |
JP7025215B2 (en) * | 2018-01-05 | 2022-02-24 | ローム株式会社 | Positioning system and positioning method |
CN110967664B (en) * | 2019-11-28 | 2024-01-23 | 宁波大学 | DOA estimation method based on COLD array enhanced quaternion ESPRIT |
CN111694429B (en) * | 2020-06-08 | 2023-06-02 | 北京百度网讯科技有限公司 | Virtual object driving method and device, electronic equipment and readable storage |
JP7550641B2 (en) | 2020-12-25 | 2024-09-13 | ナブテスコ株式会社 | Knee joint, posture calculation device, knee joint control method, knee joint control program, and posture calculation device control program |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8825367D0 (en) * | 1988-10-29 | 1989-04-19 | British Aerospace | Semi-strapdown gyromagnetic compass |
JPH095104A (en) * | 1995-06-23 | 1997-01-10 | Nippon Telegr & Teleph Corp <Ntt> | Method and apparatus for measurement of three-dimensional attitude angle of moving body |
US6377906B1 (en) * | 2000-02-03 | 2002-04-23 | Independence Technology, L.L.C. | Attitude estimation in tiltable body using modified quaternion data representation |
JP4876204B2 (en) * | 2006-01-05 | 2012-02-15 | ヒロボー株式会社 | Small attitude sensor |
JP4726134B2 (en) * | 2006-04-03 | 2011-07-20 | 国立大学法人 東京大学 | MOBILE BODY CONTROL DEVICE AND MOBILE BODY CONTROL METHOD |
US8250921B2 (en) * | 2007-07-06 | 2012-08-28 | Invensense, Inc. | Integrated motion processing unit (MPU) with MEMS inertial sensing and embedded digital electronics |
JP5161498B2 (en) * | 2007-06-18 | 2013-03-13 | 株式会社豊田中央研究所 | Posture signal calculation device |
JP5540850B2 (en) * | 2010-04-09 | 2014-07-02 | トヨタ自動車株式会社 | Attitude estimation apparatus, method and program |
-
2011
- 2011-09-06 JP JP2011194246A patent/JP5747752B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108827301A (en) * | 2018-04-16 | 2018-11-16 | 南京航空航天大学 | A kind of improvement error quaternion Kalman filtering robot pose calculation method |
Also Published As
Publication number | Publication date |
---|---|
JP2013054009A (en) | 2013-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5747752B2 (en) | Posture estimation device, posture estimation method, posture estimation program | |
JP5349478B2 (en) | Inverse kinematics | |
EP3528489B1 (en) | Method and system for panoramic video stabilization, and portable terminal | |
JP5540850B2 (en) | Attitude estimation apparatus, method and program | |
JP5430378B2 (en) | Workload prediction device | |
JP5701374B2 (en) | Image enlargement apparatus and method | |
JP4876204B2 (en) | Small attitude sensor | |
CN109550219B (en) | Method and system for determining motion information and mobile device | |
JP6255924B2 (en) | IC for sensor, sensor device, electronic device and mobile object | |
JP2015527760A5 (en) | ||
JP2007041733A (en) | Attitude angle detection device for motion object | |
CN111207776B (en) | Star sensor and gyroscope combined calibration method suitable for Mars detection | |
JP2015094630A5 (en) | ||
JP2002323322A (en) | Device and method for estimating attitude using inertial measurement device and program | |
JP5653184B2 (en) | Image processing apparatus and method | |
JP2013122384A (en) | Kalman filter and state estimation device | |
US20150134294A1 (en) | Attitude calculation apparatus and attitude calculation method | |
JP2011047881A5 (en) | ||
JP2019114828A (en) | Circuit arrangement, vibration device, electronic apparatus, and movable body | |
JP5141098B2 (en) | Attitude data filter device, attitude data filtering method, and attitude data filter program. | |
JP6536162B2 (en) | Movement information calculation method, movement information calculation apparatus, and movement information calculation program | |
WO2021006038A1 (en) | Torque compensation device and torque compensation method | |
JP6610898B2 (en) | Horizontal metacenter height estimation apparatus and horizontal metacenter height estimation method | |
JP2012198057A (en) | Attitude estimation apparatus | |
JP5161498B2 (en) | Posture signal calculation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141021 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141106 |
|
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: 20150414 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150427 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5747752 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |