JP2015179002A - 姿勢推定方法、姿勢推定装置及びプログラム - Google Patents

姿勢推定方法、姿勢推定装置及びプログラム Download PDF

Info

Publication number
JP2015179002A
JP2015179002A JP2014056214A JP2014056214A JP2015179002A JP 2015179002 A JP2015179002 A JP 2015179002A JP 2014056214 A JP2014056214 A JP 2014056214A JP 2014056214 A JP2014056214 A JP 2014056214A JP 2015179002 A JP2015179002 A JP 2015179002A
Authority
JP
Japan
Prior art keywords
posture
error
output
change amount
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014056214A
Other languages
English (en)
Inventor
康 中岡
Yasushi Nakaoka
康 中岡
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2014056214A priority Critical patent/JP2015179002A/ja
Publication of JP2015179002A publication Critical patent/JP2015179002A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Navigation (AREA)

Abstract

【課題】慣性センサーの出力信号を用いて十分な精度で物体の姿勢を推定することが可能な姿勢推定方法、姿勢推定装置及びプログラムを提供すること。
【解決手段】姿勢推定方法は、角速度センサー12の出力を用いて、サンプリング周期Δtを変数とする多項式で近似して対象物の姿勢変化量を計算する工程(S8)と、加速度センサー14の出力と角速度センサー12の出力とを用いて、対象物の速度変化量を計算する工程(S9)と、姿勢変化量と速度変化量とを用いて、対象物の姿勢を推定する工程(S10)と、を含む。
【選択図】図4

Description

本発明は、対象物の姿勢を推定する、姿勢推定方法、姿勢推定装置及びプログラムに関する。
物体に慣性計測装置(IMU:Inertial Measurement Unit)を装着し、慣性計測装置(IMU)の出力信号を用いて物体の位置や姿勢を算出する装置やシステムが知られている。慣性計測装置(IMU)の出力信号にはバイアス誤差があり、姿勢計算にも誤差が生じるため、カルマンフィルターを用いてこれらの誤差を補正し、物体の正確な姿勢を推定する手法が提案されている。例えば、特許文献1では、ジャイロ、加速度センサー、磁気センサー、速度センサーの観測値をカルマンフィルターに入力し、移動体の姿勢を推定する姿勢推定装置が提案されている。
特開2011−227017号公報
しかしながら、特許文献1に記載の姿勢推定装置では、高精度な姿勢推定を実現するために、磁気センサーの観測値を用いることが必須であるため、センサーの部品点数が多くなり、低コスト化や小型化が難しいという問題がある。
本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、慣性センサーの出力信号を用いて十分な精度で物体の姿勢を推定することが可能な姿勢推定方法、姿勢推定装置及びプログラムを提供することができる。
本発明は前述の課題の少なくとも一部を解決するためになされたものであり、以下の態様または適用例として実現することが可能である。
[適用例1]
本適用例に係る姿勢推定方法は、角速度センサーの出力を用いて、サンプリング周期を変数とする多項式で近似して対象物の姿勢変化量を計算する工程と、加速度センサーの出力と前記角速度センサーの出力とを用いて、前記対象物の速度変化量を計算する工程と、前記姿勢変化量と前記速度変化量とを用いて、前記対象物の姿勢を推定する工程と、を含む。
対象物は、例えば、人、動物、移動体、運動器具であってもよい。
慣性センサーは、加速度や角速度等の慣性量を計測可能なセンサーであればよく、例えば、加速度や角速度を計測可能な慣性計測ユニット(IMU:Inertial Measurement Unit)でもよい。また、慣性センサーは、対象物に対して脱着可能であってもよいし、例えば、対象物に内蔵されるなど、対象物に固定されていて取り外すことができないものでもよい。
本適用例に係る姿勢推定方法によれば、サンプリング周期の多項式で近似して姿勢変化
量を計算することで、従来よりも姿勢変化量の計算誤差を小さくすることができる。また、本適用例に係る姿勢推定方法によれば、加速度センサーの出力だけでなく角速度センサーの出力も用いて速度変化量を計算することで、対象物の回転がすぐに速度変化量に反映され、対象物が急激に回転した場合でも、速度変化量の計算精度の劣化を低減させることができる。従って、本適用例に係る姿勢推定方法によれば、角速度センサーの出力と加速度センサーの出力とを用いて、十分な精度で物体の姿勢を推定することができる。
[適用例2]
上記適用例に係る姿勢推定方法は、前記対象物の速度変化量を計算する工程において、前記角速度センサーの出力と前記加速度センサーの出力とを用いて前記サンプリング周期を変数とする多項式で近似して前記対象物の加速度を計算し、当該加速度を用いて前記速度変化量を計算してもよい。
本適用例に係る姿勢推定方法によれば、サンプリング周期の多項式で近似して速度変化量を計算することで、従来よりも速度変化量の計算誤差を小さくすることができる。従って、本適用例に係る姿勢推定方法によれば、角速度センサーの出力と加速度センサーの出力とを用いて、十分な精度で物体の姿勢を推定することができる。
[適用例3]
上記適用例に係る姿勢推定方法において、前記対象物の姿勢を推定する工程は、前記姿勢変化量と前記速度変化量とを用いて、前記対象物の姿勢と速度とを予測する工程と、前記予測した前記対象物の速度とゼロとの差を用いて、前記予測した前記対象物の姿勢を補正する工程と、を含んでもよい。
本適用例に係る姿勢推定方法によれば、対象物の運動速度は長期的にはゼロであるとして対象物の速度の観測残差を用いて、対象物の姿勢を補正するので、方位角の観測情報が無くても、対象物の姿勢を精度よく推定することができる。
[適用例4]
上記適用例に係る姿勢推定方法において、前記対象物の姿勢を推定する工程は、前記角速度センサーの出力を用いて、前記対象物の姿勢誤差を更新する工程と、前記更新された前記姿勢誤差に含まれる方位角誤差を除去する工程と、を含み、前記対象物の姿勢を補正する工程において、前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正してもよい。
角速度センサーの出力と加速度センサーの出力とを用いて対象物の姿勢を補正する場合、これらの出力には対象物の方位角についての情報が含まれないので、対象物の方位角誤差については補正されない。従って、更新された姿勢誤差に含まれる方位角誤差を残しておくと、方位角誤差の確からしさが単調に減少し、姿勢誤差が単調に増加するため、姿勢の推定精度が劣化するおそれがある。本適用例に係る姿勢推定方法によれば、角速度センサーの出力を用いて更新した対象物の姿勢誤差に含まれる方位角誤差を除去するので、姿勢誤差が単調に増加することを防止し、姿勢の推定精度を劣化させないようにすることができる。
[適用例5]
上記適用例に係る姿勢推定方法において、前記対象物の姿勢を推定する工程は、前記角速度センサーの出力を用いて、前記対象物の回転誤差が方位角誤差成分を含まないものとして前記対象物の姿勢誤差を更新する工程を含み、前記対象物の姿勢を補正する工程において、前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正してもよい。
角速度センサーの出力と加速度センサーの出力とを用いて対象物の姿勢を補正する場合、これらの出力には対象物の水平方向の回転誤差についての情報が含まれないので、対象物の水平方向の回転誤差については補正されない。従って、対象物の回転誤差が方位角誤差成分を含むものとして対象物の姿勢誤差を更新すると、回転誤差の方位角誤差成分の確からしさが単調に減少し、姿勢誤差が単調に増加するため、姿勢の推定精度が劣化するおそれがある。本適用例に係る姿勢推定方法によれば、角速度センサーの出力を用いて、対象物の回転誤差が方位角誤差成分を含まないものとして対象物の姿勢誤差を更新するので、姿勢誤差が単調に増加することを防止し、姿勢の推定精度を劣化させないようにすることができる。
[適用例6]
本適用例に係る姿勢推定方法は、慣性センサーの出力を用いて、対象物の姿勢を予測する工程と、前記慣性センサーの出力を用いて、前記対象物の姿勢誤差を更新する工程と、前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する工程と、前記更新された前記姿勢誤差に含まれる方位角誤差を除去する工程と、を含む。
慣性センサーの出力を用いて対象物の姿勢を補正する場合、慣性センサーの出力には対象物の方位角についての情報が含まれないので、対象物の方位角誤差については補正されない。従って、更新された姿勢誤差に含まれる方位角誤差を残しておくと、方位角誤差の確からしさが単調に減少し、姿勢誤差が単調に増加するため、姿勢の推定精度が劣化するおそれがある。本適用例に係る姿勢推定方法によれば、慣性センサーの出力を用いて更新した対象物の姿勢誤差に含まれる方位角誤差を除去するので、姿勢誤差が単調に増加することを防止し、姿勢の推定精度を劣化させないようにすることができる。
[適用例7]
本適用例に係る姿勢推定方法は、慣性センサーの出力を用いて、対象物の姿勢を予測する工程と、前記慣性センサーの出力を用いて、前記対象物の回転誤差が方位角誤差成分を含まないものとして前記対象物の姿勢誤差を更新する工程と、前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する工程と、を含む。
慣性センサーの出力を用いて対象物の姿勢を補正する場合、慣性センサーの出力には対象物の水平方向の回転誤差についての情報が含まれないので、対象物の水平方向の回転誤差については補正されない。従って、対象物の回転誤差が方位角誤差成分を含むものとして対象物の姿勢誤差を更新すると、回転誤差の方位角誤差成分の確からしさが単調に減少し、姿勢誤差が単調に増加するため、姿勢の推定精度が劣化するおそれがある。本適用例に係る姿勢推定方法によれば、慣性センサーの出力を用いて、対象物の回転誤差が方位角誤差成分を含まないものとして対象物の姿勢誤差を更新するので、姿勢誤差が単調に増加することを防止し、姿勢の推定精度を劣化させないようにすることができる。
[適用例8]
上記適用例に係る姿勢推定方法は、前記慣性センサーの出力を用いて、前記対象物の速度変化量を計算する工程を含み、前記対象物の姿勢を予測する工程において、前記速度変化量を用いて、前記対象物の速度を予測し、前記対象物の姿勢を補正する工程において、前記予測した前記対象物の速度とゼロとの差を用いて、前記予測した前記対象物の姿勢を補正してもよい。
本適用例に係る姿勢推定方法によれば、対象物の運動速度は長期的にはゼロであるとして対象物の速度の観測残差を用いて、対象物の姿勢を補正するので、方位角の観測情報が無くても、対象物の姿勢を精度よく推定することができる。
[適用例9]
上記適用例に係る姿勢推定方法は、前記慣性センサーの出力を用いて、サンプリング周期を変数とする多項式で近似して前記対象物の姿勢変化量を計算する工程を含み、前記対象物の姿勢を予測する工程において、前記姿勢変化量を用いて、前記対象物の姿勢を予測してもよい。
本適用例に係る姿勢推定方法によれば、サンプリング周期の多項式で近似して姿勢変化量を計算することで、従来よりも姿勢変化量の計算誤差を小さくすることができる。従って、本適用例に係る姿勢推定方法によれば、慣性センサーの出力を用いて、十分な精度で物体の姿勢を推定することができる。
[適用例10]
本適用例に係る姿勢推定装置は、角速度センサーの出力を用いて、サンプリング周期を変数とする多項式で近似して対象物の姿勢変化量を計算する姿勢変化量計算部と、加速度センサーの出力と前記角速度センサーの出力とを用いて、前記対象物の速度変化量を計算する速度変化量計算部と、前記姿勢変化量と前記速度変化量とを用いて、前記対象物の姿勢を推定する姿勢推定部と、を含む。
[適用例11]
上記適用例に係る姿勢推定装置は、前記角速度センサー及び前記加速度センサーを含んでもよい。
[適用例12]
本適用例に係る姿勢推定装置は、慣性センサーの出力を用いて、対象物の姿勢を予測する姿勢予測部と、前記慣性センサーの出力を用いて、前記対象物の姿勢誤差を更新する姿勢誤差更新部と、前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する姿勢補正部と、前記更新された前記姿勢誤差に含まれる方位角誤差を除去する方位角誤差除去部と、を含む。
[適用例13]
本適用例に係る姿勢推定装置は、慣性センサーの出力を用いて、対象物の姿勢を予測する姿勢予測部と、前記慣性センサーの出力を用いて、前記対象物の回転誤差が方位角誤差成分を含まないものとして前記対象物の姿勢誤差を更新する姿勢誤差更新部と、前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する姿勢補正部と、を含む。
[適用例14]
上記適用例に係る姿勢推定装置は、前記慣性センサーを含んでもよい。
[適用例15]
本適用例に係るプログラムは、角速度センサーの出力を用いて、サンプリング周期を変数とする多項式で近似して対象物の姿勢変化量を計算する工程と、加速度センサーの出力と前記角速度センサーの出力とを用いて、前記対象物の速度変化量を計算する工程と、前記姿勢変化量と前記速度変化量とを用いて、前記対象物の姿勢を推定する工程と、をコンピューターに実行させる。
[適用例16]
本適用例に係るプログラムは、慣性センサーの出力を用いて、対象物の姿勢を予測する工程と、前記慣性センサーの出力を用いて、前記対象物の姿勢誤差を更新する工程と、前
記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する工程と、前記更新された前記姿勢誤差に含まれる方位角誤差を除去する工程と、をコンピューターに実行させる。
[適用例17]
本適用例に係るプログラムは、前記慣性センサーの出力を用いて、前記対象物の回転誤差が方位角誤差成分を含まないものとして前記対象物の姿勢誤差を更新する工程と、前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する工程と、をコンピューターに実行させる。
本実施形態の姿勢推定装置の構成例を示す図。 センサー座標系とローカル座標系について説明するための図。 本実施形態における処理部の構成例を示す図。 姿勢推定処理の手順の一例を示すフローチャート図。 状態ベクトルx及び誤差共分散行列Σx,k を推定する処理の手順の一例を示すフローチャート図。 本実施形態の姿勢推定システムの構成例を示す図。
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.姿勢推定理論
1−1.IMU出力モデル
慣性計測装置(IMU)の(補正済み)出力は、各サンプリング時刻(t)における3軸ジャイロセンサー出力dω,kと3軸加速度センサー出力da,kで構成される。ここで、3軸ジャイロセンサー出力dω,kは、式(1)のように、サンプリング期間(Δt=t−tk−1)中の角速度ωの平均値と残存バイアス誤差bωとの和で表される。
Figure 2015179002
3軸加速度センサー出力da,kも同様に、式(2)のように、加速度αの平均値と残存バイアス誤差bαとの和で表される。
Figure 2015179002
1−2.角速度積分による3次元姿勢算出
3次元姿勢をクォータニオン(四元数)で表す場合、その姿勢qと角速度ω[rad/s]との関係は式(3)の微分方程式で表される。
Figure 2015179002
ここで、○と■を重ねた記号はクォータニオン乗算を表し、例えばqとpのクォータニオン乗算の各要素は、式(4)のように計算される。
Figure 2015179002
また、3次元ベクトルωは、式(5)のように、実(スカラー)成分がゼロで純虚(ベクトル)成分がωの各成分と一致するクォータニオンと等価とみなす。
Figure 2015179002
微分方程式(3)を解くことで3次元姿勢を算出することができるが、残念ながらその一般解は見つかっていない。さらに角速度ωの値も離散的な平均値としてしか得られないため、式(6)を使って微小(サンプリング)時間ごとに逐一近似計算を行わなければならない。
Figure 2015179002
式(6)は、姿勢クォータニオンqと、角速度ωの軸ごとの積分関数を考え、それぞれのt=tk−1におけるテイラー展開からΔtの3次項までに基づいて算出した式であり、式中のωk−1を含む項がコーニング補正項に相当する。記号■は3次元ベクトルのクロス積(ベクトル積)を表し、例えばv■wの各要素は式(7)のように計算される。
Figure 2015179002
1−3.重力加速度による傾き誤差観測
加速度センサーはその運動によって生じる加速度を検出するが、地球上では常に約1[G](=9.80665[m/s])の重力加速度が加算されて検出される。この重力加速度は必ず鉛直(上)方向のベクトルであるため、3軸加速度センサー出力との比較によって姿勢の傾き(ロールとピッチ)成分の誤差を知ることができる。そのために、まず3軸加速度センサーによって観測されたセンサー座標系(xyz座標教)の加速度ベクトルαを水平な直交軸と鉛直下向き軸によるローカル空間の座標系(XYZ座標系)でのベクトルα'に変換しなければならない。この座標(回転)変換は姿勢クォータニオンqとその共役クォータニオンqを使って式(8)のように計算することができる。
Figure 2015179002
この式(8)は3次元座標変換行列Cを使って式(9)のように表すこともできる。
Figure 2015179002
この加速度α’を同じローカル空間座標系(XYZ座標系)における重力加速度ベクトルgと比較することで傾き誤差を得られる。重力加速度ベクトルgは、式(10)で表される。式(10)において、Δgは重力加速度gの標準値との差[G]を表す。
Figure 2015179002
1−4.ゼロ運動速度観測
特に、ユーザインターフェース用途においてIMUの運動速度は長期的にほぼゼロに等しいと考えられる。ローカル空間座標系における運動速度vとセンサー座標系における加速度αおよび角速度ωとの関係は座標変換行列Cを使って式(11)の微分方程式で表される。
Figure 2015179002
ここでも加速度αおよび角速度ωの値は離散的な平均値としてしか得られないため、式(12)を使って微小(サンプリング)時間ごとに逐一近似計算することで運動速度ベクトルを算出する。
Figure 2015179002
式(12)は、速度ベクトルvと、加速度αおよび角速度ωの軸ごとの積分関数を考え、それぞれのt=tk−1におけるテイラー展開からΔTの3次項までに基づいて算出した式である。なお、3次項には残存誤差ελが存在するが十分小さいため式(12)では無視する。記号・は3次元ベクトルのドット積(スカラー積)を表し、例えばv・wは式(13)のように計算される。
Figure 2015179002
1−5.姿勢クォータニオンとその誤差
算出される姿勢クォータニオンqは、式(14)のようにその真値(^)に対して誤差εを持つと考えられる。
Figure 2015179002
ここでΣ は誤差εの大きさを表す誤差共分散行列である。またE[・]は期待値を、右肩のTはベクトル・行列の転置をそれぞれ表す。
クォータニオンおよびその誤差はその要素として四つの値を持つが、三次元姿勢(回転変換)の自由度は3つしかない。姿勢クォータニオンが持つ第4の自由度は拡大/縮小変換に相当するが、姿勢検出処理においてはこの拡大/縮小率は常に1に固定されなければならない。実際には各種の演算誤差によってこの拡大/縮小率成分が変化してしまうので、これを抑制するための処理が必要になる。
姿勢クォータニオンqの場合はその絶対値の二乗が拡大/縮小率に相当するので、式(15)のように絶対値を1にする正規化処理によってその変化を抑制する。
Figure 2015179002
姿勢誤差εの場合は、その分散共分散行列Σ のランク(階数)を3に保つ必要がある。そこで(姿勢誤差角度は十分小さいとして)ローカル空間座標での(3次元)誤差回転ベクトルεθを考えて、式(16)のようにランクを制限する。
Figure 2015179002
1−6.方位角誤差の除去(無視)
姿勢検出において磁気センサーなどの方位角観測手段を持たない場合、姿勢誤差の方位角成分は単調に増加するだけで何の役にも立たない。更には、その増大した誤差見積もりがフィードバックゲインを不必要に上げる事となり予期しない方位角の変化や振動の原因となる。そこで、式(16)から方位角誤差成分εθzを除去する。
Figure 2015179002
1−7.拡張カルマンフィルター
上記の各モデル式に基づいて3次元姿勢を算出する拡張カルマンフィルターを設計することができる。
[状態ベクトルと誤差共分散行列]
式(18)のように、求めるべき未知の状態値として、姿勢クォータニオンq、運動速度ベクトルv、ジャイロセンサーバイアスbω(角速度ωに対するオフセット)、加速度センサーバイアスbα(加速度αに対するオフセット)、および重力加速度補正値Δgで拡張カルマンフィルターの状態ベクトルx(14次元のベクトル)を構成し、その誤差の共分散行列Σ を定義する。
Figure 2015179002
[プロセスモデル]
プロセスモデルでは、サンプリング間隔Δt、ジャイロセンサー出力dωおよび加速度センサー出力dαの値に基づいて最新の状態ベクトルの値を式(19)のように予測する。
Figure 2015179002
状態誤差の共分散行列は、ジャイロセンサー出力dωと加速度センサー出力dαのノイズ成分ηω、ηαと、ジャイロセンサーバイアスbω、加速度センサーバイアスbα、および重力加速度値gの不安定性を表すプロセスノイズρω、ρα、およびρの影響を受けて式(20)のように更新される。
Figure 2015179002
ここで0n×mはn行m列の零行列を、In×mはn行m列の恒等行列を表し、Jは、このプロセスモデルの偏微分で求められる式(21)のような各誤差の伝播係数の行列である。また、Σは式(22)のような各ノイズの共分散行列である。
Figure 2015179002
Figure 2015179002
[観測モデル]
観測モデルでは、加速度センサー出力dαに基づく重力加速度の観測残差と、ゼロ運動速度の観測残差を式(23)のように算出する。
Figure 2015179002
ここに加速度センサー出力dαのノイズ成分ηαおよび観測誤差となる運動加速度成分ζと運動速度成分ζを加味して式(24)のようにカルマン係数Kを算出する。
Figure 2015179002
ここでJは、この観測モデルの偏微分で求められる式(25)のような各誤差の伝播係数の行列である。また、Σは式(26)のような各ノイズの共分散行列である。
Figure 2015179002
Figure 2015179002
ここで、μは予測運動加速度から各軸の誤差RMSを算出する係数である。このカルマン係数Kを使って式(27)のように状態ベクトルxを補正するとともに、その誤差共分散行列Σ を更新する。
Figure 2015179002
[姿勢正規化モデル]
姿勢正規化モデルは、姿勢クォータニオンとその誤差共分散を適切な値に維持するために式(28)の更新を行う。
Figure 2015179002
ここで、D’D’は姿勢誤差のランク制限と方位角成分除去を行う式(29)の行列である。
Figure 2015179002
1−8.初期値
[状態ベクトルと誤差共分散行列]
状態ベクトルxと誤差共分散行列Σ の初期値は式(30)のように与える。
Figure 2015179002
[姿勢クォータニオン]
IMUの姿勢をクォータニオン表現で与える必要がある。航空機の姿勢などで用いられるロール(バンク)角φ[rad]、ピッチ(仰)角θ[rad]、およびヨー(方位)角ψ[rad]からは式(31)のように姿勢クォータニオンqを算出できる。
Figure 2015179002
また、その誤差共分散行列Σ はロール角誤差のRMSσφ[rad RMS]とピッチ角誤差のRMSσθ[rad RMS]から式(32)のように算出される(ヨー角誤差は無視される)。
Figure 2015179002
[速度ベクトル]
初期状態が静止ならば、速度ベクトルvをゼロにするべきである。また、静止かどうかにかかわらず速度ベクトルvの各軸の誤差RMSσvx、σvy、およびσvz[Gs RMS]に基づいて式(33)のように誤差共分散行列Σ を与える。
Figure 2015179002
[ジャイロ/加速度センサー残存バイアス]
ジャイロセンサーの残存バイアスbωおよび加速度センサーの残存バイアスbαが分かっているなら適切に設定されるべきである。不明な場合は期待値としてゼロを与える。また、ジャイロセンサーの各軸の残存バイアスの誤差RMSσbωx、σbωy、およびσbωz[rad/s RMS]と、加速度センサーの各軸の残存バイアスの誤差RMSσbαx、σbαy、およびσbαz[G RMS]に基づいて式(34)のように誤差共分散行列Σbω 及びΣbα を与える。
Figure 2015179002
[重力加速度補正値]
重力加速度値が分かっているなら標準値1[G](=9.80665[m/s])との差が適切に設定されるべきである。不明な場合は期待値としてゼロを与える。また、その値の誤差RMSσΔg[G RMS]を誤差共分散行列に反映する。
1−9.設定値
[サンプリング間隔]
IMS出力からの姿勢検出処理は原理的に時間積分演算のため、サンプリング間隔Δt[s]は重要な値であり、適切に設定されなければならない。
[ジャイロ/加速度センサー出力ノイズ]
ジャイロセンサーおよび加速度センサーの出力に含まれるノイズ成分ηを、軸ごとに独立した平均ゼロ、分散ση のホワイトガウスノイズとみなし、その大きさを式(35)のようにそれぞれのRMS値(σηωx,σηωy,σηωz)[rad/s RMS]および(σηαx,σηαy,σηαz)[G RMS]で指定する。
Figure 2015179002
[ジャイロ/加速度センサーバイアスおよび重力加速度値の不安定性]
ジャイロセンサーおよび加速度センサーのバイアスは一定ではなく時間とともに変動すると考えられる。また、重力加速度値も周囲の環境によってわずかながら変動すると考えられる。これらの変動を個別のランダムウォークとみなして不安定性を式(36)のように(σρωx,σρωy,σρωz)[rad/s/√s]、(σραx,σραy,σραz)[G/√s]およびσρg[G/√s]で指定する。
Figure 2015179002
[運動加速度]
姿勢補正のための重力加速度観測において、運動加速度成分は観測誤差ζとなる。これを単純なホワイトガウスノイズとみなした場合、急激な運動による大きな運動加速度に対して姿勢が過敏に反応する結果となる。そこで、推定運動加速度(観測加速度と推定重力加速度の差)の大きさに応じてレベルが変化する式(37)のようなノイズモデルを使い、その線形係数μ[N/A]と定数項(σζαx,σζαy,σζαz)[G RMS]を設定項目とする。
Figure 2015179002
[運動速度]
ゼロ運動速度観測では、IMUの運動速度が長期的にほぼゼロであることを観測するため、短期的に現れる運動速度は観測誤差ζとなる。これを軸ごとに独立したホワイトガウスノイズとみなし、その大きさを式(38)のようにRMS値(σζvx,σζvy,σζvz)[Gs RMS]で指定する。
Figure 2015179002
2.姿勢推定装置
[姿勢推定装置の構成]
図1は、本実施形態の姿勢推定装置の構成例を示す図である。図1に示すように、本実施形態の姿勢推定装置1は、慣性計測ユニット(IMU)10、処理部20、ROM30、RAM40、記録媒体50及び通信部60を含んで構成されている。ただし、本実施形態の姿勢推定装置1は、これらの一部の要素を変更又は削除し、あるいは、他の要素を追加した構成であってもよい。
姿勢推定装置1は、IMU10と処理部20が1つの筐体に収容されて構成されていてもよいし、IMU10が処理部20を収容する本体から分離されて(あるいは分離可能に)構成されていてもよい。前者の場合は姿勢推定装置1が対象物に装着され、後者の場合はIMU10が対象物に装着され、姿勢推定装置1は、当該対象物の姿勢を推定する処理を行う。
本実施形態では、IMU10は、角速度センサー12、加速度センサー14及び信号処理部16を含んで構成されている。ただし、本実施形態のIMU10は、これらの一部の要素を変更又は削除し、あるいは、他の要素を追加した構成であってもよい。
角速度センサー12は、互いに交差する(理想的には直交する)3軸方向の各々の角速度を計測し、計測した3軸角速度の大きさ及び向きに応じたアナログ信号を出力する。
加速度センサー14は、互いに交差する(理想的には直交する)3軸方向の各々の加速度を計測し、計測した3軸加速度の大きさ及び向きに応じたアナログ信号を出力する。
信号処理部16は、角速度センサー12の出力信号を所定の周期Δtでサンプリングしてデジタル値の3軸角速度データに変換する処理を行う。また、信号処理部16は、加速度センサー14の出力信号を所定の周期Δtでサンプリングしてデジタル値の3軸加速度データに変換する処理を行う。
角速度センサー12及び加速度センサー14は、それぞれ3軸が、IMU10に対して定義される直交座標系(センサー座標系)の3軸(x軸、y軸、z軸)と一致するようにIMU10に取り付けられるのが理想的だが、実際には取り付け角の誤差が生じる。そこで、信号処理部16は、取り付け角誤差に応じてあらかじめ算出された補正パラメーターを用いて、3軸角速度データ及び3軸加速度データをxyz座標系のデータに変換する処理も行う。さらに、信号処理部16は、角速度センサー12及び加速度センサー14の温度特性に応じて、3軸角速度データ及び3軸加速度データを温度補正する処理も行う。
なお、角速度センサー12及び加速度センサー14にA/D変換や温度補正の機能が組み込まれていてもよい。
IMU10は、信号処理部16による処理後の3軸角速度データdω,ω及び3軸加速度データdω,αを処理部20に出力する。
ROM30は、処理部20が各種の処理を行うためのプログラムや、アプリケーション
機能を実現するための各種プログラムやデータ等を記憶している。
RAM40は、処理部20の作業領域として用いられ、ROM30から読み出されたプログラムやデータ、処理部20が各種プログラムに従って実行した演算結果等を一時的に記憶する記憶部である。
記録媒体50は、処理部20の処理により生成されたデータのうち、長期的な保存が必要なデータを記憶する不揮発性の記憶部である。また、記録媒体50は、処理部20が各種の処理を行うためのプログラムや、アプリケーション機能を実現するための各種プログラムやデータ等を記憶していてもよい。
処理部20は、ROM30あるいは記録媒体50に記憶されているプログラム、あるいはネットワークを介してサーバーから受信してRAM40や記録媒体50に記憶したプログラムに従って各種の処理を行う。特に、本実施形態では、処理部20は、当該プログラムを実行することにより、バイアス除去部22、姿勢変化量計算部24、速度変化量計算部26及び姿勢推定部28として機能し、IMU10がΔt間隔で出力する3軸角速度データdω,k及び3軸加速度データdω,αに対して所定の演算を行い、対象物の姿勢を推定する処理を行う。
本実施形態では、図2に示すように、IMU10の座標系であるセンサー座標系(互いに直交するx軸、y軸、z軸で構成されるxyz座標系)と対象物が存在する空間の座標系であるローカル空間座標系(互いに直交するX軸、Y軸、Z軸で構成されるXYZ座標系)を考える。処理部20は、対象物に装着されたIMU10から出力されるセンサー座標系の3軸角速度と3軸加速度からローカル空間座標系における対象物の姿勢(IMU10の姿勢ともいえる)を推定する。
バイアス除去部22は、角速度センサー12の出力からバイアス誤差を除去した3軸角速度を計算する処理、及び加速度センサー14の出力からバイアス誤差を除去した3軸加速度を計算する処理を行う。
姿勢変化量計算部24は、角速度センサー12の出力を用いて(具体的には、バイアス除去部22によりバイアス誤差が除去された3軸角速度を用いて)、サンプリング周期Δtを変数とする多項式で近似して対象物の姿勢変化量を計算する処理を行う。
速度変化量計算部26は、加速度センサー14の出力と角速度センサー12の出力とを用いて(具体的には、バイアス除去部22によりバイアス誤差が除去された3軸角速度と3軸加速度とを用いて)、対象物の速度変化量を計算する処理を行う。
姿勢推定部28は、積分計算部101、姿勢予測部102、姿勢誤差更新部103、補正係数計算部104、姿勢補正部105、正規化部106、姿勢誤差補正部107及び方位角誤差除去部108として機能し、姿勢変化量計算部24が計算した姿勢変化量と速度変化量計算部26が計算した速度変化量とを用いて、対象物の姿勢を推定する処理を行う。実際には、姿勢推定部28は、拡張カルマンフィルターにより、前出の式(18)で定義した状態ベクトルx及びその誤差共分散行列Σ を推定する処理を行う。
積分計算部101は、対象物の姿勢(具体的には、姿勢補正部105により補正され、正規化部106により正規化された直前の姿勢の推定値)に姿勢変化量計算部24が計算した姿勢変化量を積算する積分処理を行う。また、積分計算部101は、対象物の速度(具体的には、姿勢補正部105により補正され、正規化部106により正規化された直前の速度の推定値)に速度変化量計算部26が計算した速度変化量を積算する積分処理を行
う。
姿勢予測部102は、角速度センサー12の出力を用いて(具体的には、姿勢変化量計算部24が計算した姿勢変化量を用いて)、対象物の姿勢を予測する処理を行う。また、姿勢予測部102は、速度変化量計算部26が計算した速度変化量を用いて、対象物の速度を予測する処理も行う。実際には、姿勢予測部102は、状態ベクトルxを予測する処理を行うが、この処理の詳細については後述する。
姿勢誤差更新部103は、角速度センサー12の出力を用いて(具体的には、バイアス除去部22によりバイアス誤差が除去された3軸角速度を用いて)、対象物の姿勢誤差を更新する処理を行う。言い換えれば、姿勢誤差更新部103は、角速度センサー12の出力を用いて(具体的には、バイアス除去部22によりバイアス誤差が除去された3軸角速度を用いて)、対象物の回転誤差が方位角誤差成分を含まないものとして対象物の姿勢誤差を更新する処理を行う。実際には、姿勢誤差更新部103は、拡張カルマンフィルターにより、誤差共分散行列Σ を更新する処理を行うが、この処理の詳細については後述する。
補正係数計算部104は、姿勢誤差更新部103により更新された姿勢誤差を用いて、姿勢補正部105による対象物の姿勢の補正量や姿勢誤差補正部107による姿勢誤差の補正量を決める補正係数を計算する処理を行う。実際には、補正係数計算部104は、カルマン係数Kを計算する処理を行うが、この処理の詳細については後述する。
姿勢補正部105は、姿勢誤差更新部103により更新された姿勢誤差を用いて、姿勢予測部102が予測した対象物の姿勢を、補正係数計算部104が計算した補正係数に応じて補正する処理を行う。特に、姿勢補正部105は、姿勢予測部102が予測した対象物の速度とゼロとの差を用いて、姿勢予測部102が予測した対象物の姿勢を補正する。実際には、姿勢補正部105は、拡張カルマンフィルターにより、姿勢予測部102が予測した状態ベクトルxを補正する処理を行うが、この処理の詳細については後述する。
正規化部106は、姿勢補正部105が補正した対象物の姿勢を、その大きさが変わらないように正規化する処理を行う。実際には、正規化部106は、姿勢補正部105が補正した状態ベクトルxを正規化する処理を行うが、この処理の詳細については後述する。
姿勢誤差補正部107は、姿勢誤差更新部103により更新された姿勢誤差を、補正係数計算部104が計算した補正係数に応じて補正する処理を行う。実際には、姿勢誤差補正部107は、拡張カルマンフィルターにより、姿勢誤差更新部103が更新した誤差共分散行列Σ を補正する処理を行うが、この処理の詳細については後述する。
方位角誤差除去部108は、姿勢誤差更新部103により更新された姿勢誤差(具体的には、さらに姿勢誤差補正部107により補正された姿勢誤差)に含まれる方位角誤差を除去する処理を行う。実際には、方位角誤差除去部108は、姿勢誤差補正部107が補正した誤差共分散行列Σ に対して、姿勢の誤差共分散行列Σ のランク制限と方位角誤差成分の除去を行った誤差共分散行列Σ を生成する処理を行うが、この処理の詳細については後述する。
処理部20が推定した対象物の姿勢の情報は、通信部60を介して他の装置に送信可能である。
[処理部の構成]
図3は、処理部20の具体的な構成例を示す図である。図3において、図1と同じ構成
要素には同じ符号を付している。図3に示すように、IMU10が出力する時刻tにおける角速度データdω,k及び加速度データdα,kは、バイアス除去部22に入力される。角速度データdω,kは、時刻tk−1から時刻tまでの期間Δtの角速度ωの平均値と角速度センサー12の残存バイアス誤差bωの和で表される(前出の式(1)参照)。同様に、加速度データdα,kは、時刻tk−1から時刻tまでの期間Δtの加速度αの平均値と加速度センサー14の残存バイアス誤差bαの和で表される(前出の式(2)参照)。
バイアス除去部22は、時刻tにおける角速度データdω,kから、推定された時刻tk−1における残存バイアス誤差bω,k−1を差し引いて、時刻tk−1から時刻tまでの期間Δtの角速度ωの平均値を計算する(前出の式(19)参照)。また、バイアス除去部22は、時刻tにおける加速度データdα,kから、推定された時刻tk−1における残存バイアス誤差bα,k−1を差し引いて、時刻tk−1から時刻tまでの期間Δtの加速度αの平均値を計算する(前出の式(19)参照)。
姿勢変化量計算部24は、バイアス除去部22が計算した時刻tk−1から時刻tまでの期間Δtの角速度ωの平均値及び時刻tk−2から時刻tk−1までの期間Δtの角速度ωの平均値を前出の式(6)の多項式に代入し、時刻tにおける姿勢変化量Δqを近似計算する。
速度変化量計算部26は、前出の式(9)により、推定された時刻tk−1における姿勢クォータニオンqk−1から時刻tにおける座標変換行列Cを計算する。また、速度変化量計算部26は、バイアス除去部22が計算した時刻tk−1から時刻tまでの期間Δtの加速度αの平均値、角速度ωの平均値及び時刻tk−2から時刻tk−1までの期間Δtの加速度αの平均値、角速度ωの平均値を前出の式(12)の多項式に代入し、時刻tにおける加速度λを近似計算する。また、速度変化量計算部26は、推定された時刻tk−1における重力加速度補正値Δgk−1を前出の式(10)に代入し、時刻tk−1における重力加速度ベクトルgk−1を計算する。さらに、速度変化量計算部26は、計算した時刻tにおける座標変換行列C,加速度λ及び時刻tk−1における重力加速度ベクトルgk−1から時刻tにおける速度変化量(Cλ−gk−1)Δtを計算する。
図3に示すように、姿勢推定部28は、積分計算部101、姿勢予測部102、姿勢誤差更新部103、補正係数計算部104、姿勢補正部105、正規化部106、姿勢誤差補正部107及び方位角誤差除去部108を含んで構成されており、拡張カルマンフィルターにより、時刻tにおける状態ベクトルx及びその共分散行列Σx,k を推定する。
積分計算部101は、推定された時刻tk−1における姿勢クォータニオンqk−1と姿勢変化量計算部24が計算した時刻tにおける姿勢変化量Δqとのクォータニオン乗算(前出の式(6)の計算)を行う。また、積分計算部101は、推定された時刻tk−1における速度ベクトルvk−1と速度変化量計算部26が計算した時刻tにおける速度変化量(Cλ−gk−1)Δtとの加算(前出の式(12)の計算)を行う。
姿勢予測部102は、前出の式(19)により、時刻tにおける状態ベクトルxの各要素である、姿勢クォータニオンq、運動速度ベクトルv、角速度センサー12のバイアスbω,k、加速度センサー14のバイアスbα,k、重力加速度補正値Δgを、それぞれ、積分計算部101による姿勢クォータニオンqk−1と姿勢変化量Δqとのクォータニオン乗算結果、積分計算部101による速度ベクトルvk−1と速度変化量(Cλ−gk−1)Δtとの加算結果、推定された時刻tk−1における角速度セン
サー12の残存バイアス誤差bω,k−1、推定された時刻tk−1における加速度センサー14の残存バイアス誤差bα,k−1、推定された時刻tk−1における重力加速度補正値Δgk−1であると予測する。
姿勢誤差更新部103は、姿勢変化量計算部24が計算した時刻tにおける姿勢変化量Δq、速度変化量計算部26が計算した時刻tにおける加速度λ及び座標変換行列C、推定された時刻tk−1における姿勢クォータニオンqk−1及び時刻tk−1における誤差共分散行列Σx,k−1 を用いて、前出の式(20)及び式(21)より、時刻tにおける誤差共分散行列Σx,k を更新する。
補正係数計算部104は、姿勢誤差更新部103が更新した時刻tにおける誤差共分散行列Σx,k 、速度変化量計算部26が計算した時刻tにおける座標変換行列C、バイアス除去部22が計算した時刻tk−1から時刻tまでの期間Δtの加速度αの平均値、姿勢予測部が予測した時刻tにおける姿勢クォータニオンq及び重力加速度補正値Δgを用いて、前出の式(23)、式(24)、式(25)及び式(26)より、時刻tにおける変換行列H及びカルマン係数Kを計算する。
姿勢補正部105は、補正係数計算部104が計算した時刻tにおける変換行列H及びカルマン係数K用いて、前出の式(27)より、姿勢予測部102が予測した時刻tにおける状態ベクトルxの各要素(姿勢クォータニオンq、運動速度ベクトルv、角速度センサー12のバイアスbω,k、加速度センサー14のバイアスbα,k、重力加速度補正値Δg)を補正する。
正規化部106は、姿勢補正部105が補正した時刻tにおける状態ベクトルxの各要素(姿勢クォータニオンq、運動速度ベクトルv、角速度センサー12のバイアスbω,k、加速度センサー14のバイアスbα,k、重力加速度補正値Δg)を、前出の式(28)により正規化する。
姿勢誤差補正部107は、補正係数計算部104が計算した時刻tにおける変換行列H及びカルマン係数K用いて、前出の式(27)より、姿勢誤差更新部103が更新した時刻tにおける誤差共分散行列Σx,k を補正する。
方位角誤差除去部108は、正規化部106が正規化した時刻tにおける姿勢クォータニオンqを用いて、前出の式(29)により行列D’D’を計算し、行列D’D’を用いて、式(28)により、姿勢誤差補正部107が補正した時刻tにおける誤差共分散行列Σx,k を計算する。これにより、姿勢クォータニオンqの誤差共分散行列Σq,k のランクを3に保つ(制限する)とともに誤差共分散行列Σq,k から方位角誤差成分εθzが除去された誤差共分散行列Σx,k が生成される。
姿勢推定部28は、正規化部106が計算した時刻tにおける状態ベクトルx及び方位角誤差除去部108が計算した時刻tにおける誤差共分散行列Σx,k を、それぞれ時刻tにおける状態ベクトル及びその誤差共分散行列であると推定する。そして、このように推定された時刻tにおける状態ベクトルx及び誤差共分散行列Σx,k は、次のサンプリング周期Δtが経過すると、時刻tk−1における状態ベクトルxk−1及び誤差共分散行列Σx,k−1 として、バイアス除去部22、速度変化量計算部26、積分計算部101、姿勢予測部102及び姿勢誤差更新部103にフィードバックされる。
[姿勢推定処理の手順]
図4は、図3に示した処理部20による姿勢推定処理の手順の一例を示すフローチャー
ト図である。
図4に示すように、処理部200は、まず、k=0、t0=0に設定し(S2)、時刻tにおける状態ベクトルx及び誤差共分散行列Σx,0 を設定(初期化)する(S2)。具体的には、処理部200は、前出の式(30)のように表される、状態ベクトルxの各要素q,v,bω,0,bα,0,Δg及び誤差共分散行列Σx,0 に含まれるΣq,0 ,Σv,0 ,Σbω,0 ,Σbα,0 ,σΔg,0 を設定する。
処理部20は、例えば、IMU10の初期姿勢があらかじめ決められたロール角、ピッチ角、ヨー角となるようにしておいて当該ロール角、ピッチ角、ヨー角を前出の式(31)に代入してqを設定してもよい。あるいは、処理部20は、IMU10が静止した状態で加速度センサー14から加速度データを取得し、当該加速度データから重力加速度の方向を特定してロール角、ピッチ角を計算し、ヨー角を所定値(例えば0)として、当該ロール角、ピッチ角、ヨー角を前出の式(31)に代入してqを設定してもよい。また、処理部20は、ロール角誤差のRMSσφとピッチ角誤差のRMSσθを式(32)に代入してΣq,0 を設定する。
また、処理部20は、例えば、IMU10が静止した状態を初期状態としてvを0に設定し、速度ベクトルvの各軸の誤差RMSσvx,σvy、σvzを式(33)に代入してΣv,0 を設定する。
また、処理部20は、角速度センサー12の残存バイアスbω及び加速度センサー14の残存バイアスbαがわかっていればこれらの値をbω,0,bα,0に設定し、bω,bαが不明であれば、bω,0,bα,0にゼロを設定する。また、処理部20は、角速度センサー12の各軸の残存バイアス誤差RMSσbωx,σbωy,σbωz及び加速度ンサー110の各軸の残存バイアス誤差RMSσbαx,σbαy,σbαzを式(34)に代入してΣbω,0 ,Σbα,0 を設定する。
また、処理部20は、重力加速度値がわかっていれば1Gとの差をΔgに設定し、重力加速度値が不明であれば、Δgにゼロを設定する。また、処理部20は、σΔg,0 に重力加速度値の誤差RMSσΔgを設定する。
次に、処理部20は、サンプリング周期Δtが経過するまで待機し(S3のN)、サンプリング周期Δtが経過すると(S3のY)、k=k+1に設定した後(S4)、t=tk−1+Δtに設定する(S5)。
次に、処理部20は、IMU10から角速度データdω,k及び加速度データdα,kを取得する(S6)。
次に、処理部20(バイアス除去部22)は、時刻tにおける角速度データdω,k及び加速度データdα,kから、それぞれ、時刻tk−1で推定されたバイアスbω,k−1及びbα,k−1を除去する(S7)。
次に、処理部20(姿勢変化量計算部24)は、時刻tにおける姿勢変化量Δqを計算する(S8)。
次に、処理部20(速度変化量計算部26)は、時刻tにおける速度変化量(Cλ−gk−1)を計算する(S9)。
次に、処理部20(姿勢推定部28)は、時刻tにおける状態ベクトルx及び誤差共分散行列Σx,k を推定する(S10)。
そして、処理部20は、姿勢推定処理の終了イベントが発生するまで(S11のN)、ステップS3〜S10の処理を繰り返し、終了イベントが発生すれば(S11のY)、姿勢推定処理を終了する。
図5は、図3に示した姿勢推定部28による時刻tにおける状態ベクトルx及び誤差共分散行列Σx,k を推定する処理(図4のステップS10の処理)の手順の一例を示すフローチャート図である。
図5に示すように、まず、姿勢推定部28(積分計算部101)は、時刻tk−1における姿勢クォータニオンqk−1と時刻tにおける姿勢変化量Δqとをクォータニオン乗算する(S100)。
次に、姿勢推定部28(積分計算部101)は、時刻tk−1における速度ベクトルvk−1と時刻tにおける速度変化量(Cλ−gk−1)とを加算する(S100)。
次に、姿勢推定部28(姿勢予測部102)は、時刻tにおける状態ベクトルxを予測する(S102)。
次に、姿勢推定部28(姿勢誤差更新部103)は、時刻tにおける誤差共分散行列Σx,k を更新する(S103)。
次に、姿勢推定部28(姿勢誤差更新部103)は、時刻tにおける誤差共分散行列Σx,k を更新する(S103)。
次に、姿勢推定部28(補正係数計算部104)は、時刻tにおけるカルマン係数Kを計算する(S104)。
次に、姿勢推定部28(姿勢補正部105)は、時刻tにおける状態ベクトルxを補正する(S105)。
次に、姿勢推定部28(正規化部106)は、時刻tにおける状態ベクトルxを正規化する(S106)。
次に、姿勢推定部28(姿勢誤差補正部107)は、時刻tにおける誤差共分散行列Σx,k を補正する(S107)。
最後に、姿勢推定部28(方位角誤差除去部108)は、正規化された姿勢クォータニオンqの誤差共分散行列Σq,k のランク制限と方位角誤差成分εθzが除去された、時刻tにおける誤差共分散行列Σx,k を生成する(S108)。
以上に説明したように、本実施形態の姿勢推定装置1によれば、IMUの出力モデルの式(1)及び式(2)から導かれる式(6)及び式(12)を用いて対象物の姿勢変化量及び速度変化量を計算し、この姿勢変化量と速度変化量とを用いて対象物の姿勢を推定する。式(6)及び式(12)では、Δtの1次項のみならず2次項及び3次項も用いて姿勢変化量及び速度変化量を計算することで、従来よりも姿勢変化量や速度変化量の計算誤差が小さくなる。
また、対象物が回転すると座標変換行列Cが変化するが、座標変換行列Cはカルマンフィルターによって推定された姿勢クォータニオンqの要素から計算されるため、対象物が急激に回転した場合、座標変換行列Cにすぐに追従しない場合がある。本実施形態の姿勢推定装置1によれば、式(12)において、加速度だけでなく角速度も用いて加速度λを計算することで、対象物の回転がすぐに加速度λに反映され、対象物が急激に回転した場合でも、速度変化量の計算精度の劣化を低減させることができる。
さらに、本実施形態の姿勢推定装置1によれば、式(23)より、加速度センサーの出力による重力加速度の観測残差と対象物の運動速度は長期的にはゼロであるとしてゼロ運動速度の観測残差を用いて、式(24)のカルマン係数Kを計算するので、方位角の観測情報が無くても、対象物の姿勢を精度よく推定することができる。
また、角速度センサーの出力と加速度センサーの出力には象物の方位角についての情報が含まれないため対象物の方位角誤差については補正されないが、更新された姿勢誤差に含まれる方位角誤差を残しておくと、方位角誤差の確からしさが単調に減少し、姿勢誤差が単調に増加するため、姿勢の推定精度が劣化するおそれがある。本実施形態の姿勢推定装置1によれば、式(29)により、角速度センサー12の出力と加速度センサー14の出力とを用いて更新した対象物の姿勢誤差に含まれる方位角誤差を除去するので、姿勢誤差が単調に増加することを防止し、姿勢の推定精度を劣化させないようにすることができる。
以上より、本実施形態の姿勢推定装置1によれば、角速度センサー12の出力と加速度センサー14の出力のみを用いて、対象物の姿勢を十分な精度で推定することができる。
3.姿勢推定システム
図6は、本実施形態の姿勢推定システムの構成例を示す図である。図6に示すように、本実施形態の姿勢推定システム2は、慣性計測装置(IMU)3と姿勢推定装置4を含んで構成されている。
本実施形態では、IMU3は、角速度センサー212、加速度センサー214、信号処理部216及び通信部218を含んで構成されており、対象物に装着される。ただし、本実施形態のIMU3は、これらの一部の要素を変更又は削除し、あるいは、他の要素を追加した構成であってもよい。
角速度センサー212は、互いに交差する(理想的には直交する)3軸方向の各々の角速度を計測し、計測した3軸角速度の大きさ及び向きに応じたアナログ信号を出力する。
加速度センサー214は、互いに交差する(理想的には直交する)3軸方向の各々の加速度を計測し、計測した3軸加速度の大きさ及び向きに応じたアナログ信号を出力する。
信号処理部216は、角速度センサー12と加速度センサー14から、それぞれ3角速度データと3加速度データを受け取ってA/D変換する処理を行う。
角速度センサー212及び加速度センサー214は、それぞれ3軸が、IMU3に対して定義される直交座標系(センサー座標系)の3軸(x軸、y軸、z軸)と一致するようにIMU3に取り付けられるのが理想的だが、実際には取り付け角の誤差が生じる。そこで、信号処理部216は、取り付け角誤差に応じてあらかじめ算出された補正パラメーターを用いて、3軸角速度データ及び3軸加速度データをxyz座標系のデータに変換する処理も行う。また、信号処理部216は、角速度センサー212及び加速度センサー21
4の温度特性に応じて、3軸角速度データ及び3軸加速度データを温度補正する処理も行う。
なお、角速度センサー212及び加速度センサー214にA/D変換や温度補正の機能が組み込まれていてもよい。
さらに、信号処理部216は、これらの処理後の3軸角速度データdω,ω及び3軸加速度データdω,αに時刻情報を付して通信用のフォーマットに合わせたパケットデータを生成し、通信部218に出力する。
通信部218は、信号処理部216から受け取ったパケットデータを姿勢推定装置4に送信する処理や、姿勢推定装置4から制御コマンドを受信して信号処理部216に送る処理等を行う。信号処理部216は、制御コマンドに応じた各種処理を行う。
姿勢推定装置4は、通信部310、処理部320、ROM330、RAM340、記録媒体350、操作部360、表示部370及び音出力部380を含んで構成されている。ただし、本実施形態の姿勢推定装置4は、これらの一部の要素を変更又は削除し、あるいは、他の要素を追加した構成であってもよい。姿勢推定装置4は、例えば、パーソナルコンピューター(PC)やスマートフォンなどの携帯機器であってもよい。
通信部310は、IMU3から送信されたパケットデータを受信し、処理部320に送る処理や、処理部320からの制御コマンドをIMU3に送信する処理等を行う。
操作部360は、ユーザーからの操作データを取得し、処理部320に送る処理を行う。操作部360は、例えば、タッチパネル型ディスプレイ、ボタン、キー、マイクなどであってもよい。
表示部370は、処理部320の処理結果を文字、グラフ、表、アニメーション、その他の画像として表示するものである。表示部370は、例えば、CRT、LCD、タッチパネル型ディスプレイ、HMD(ヘッドマウントディスプレイ)などであってもよい。なお、1つのタッチパネル型ディスプレイで操作部360と表示部370の機能を実現するようにしてもよい。
音出力部380は、処理部320の処理結果を音声やブザー音等の音として表示するものである。音出力部380は、例えば、スピーカーやブザーなどであってもよい。
ROM330は、処理部320が各種の処理を行うためのプログラムや、アプリケーション機能を実現するための各種プログラムやデータ等を記憶している。
RAM340は、処理部320の作業領域として用いられ、ROM330から読み出されたプログラムやデータ、処理部320が各種プログラムに従って実行した演算結果等を一時的に記憶する記憶部である。
記録媒体350は、処理部320の処理により生成されたデータのうち、長期的な保存が必要なデータを記憶する不揮発性の記憶部である。また、記録媒体350は、処理部320が各種の処理を行うためのプログラムや、アプリケーション機能を実現するための各種プログラムやデータ等を記憶していてもよい。
処理部320は、ROM330あるいは記録媒体350に記憶されているプログラム、あるいはネットワークを介してサーバーから受信してRAM340や記録媒体350に記
憶したプログラムに従って各種の処理を行う。特に、本実施形態では、処理部320は、当該プログラムを実行することにより、データ取得部321、バイアス除去部322、姿勢変化量計算部324、速度変化量計算部326及び姿勢推定部328として機能する。そして、処理部320は、IMU3がΔt間隔で計測したセンサー座標系(xyz座標系)の3軸角速度データdω,k及び3軸加速度データdω,αに対して所定の演算を行い、IMU10が装着された対象物のローカル空間座標系(XYZ座標系)における姿勢(IMU3の姿勢ともいえる)を推定する。
データ取得部321は、通信部310がIMU3から受信したパケットデータを受け取り、受け取ったパケットデータから時刻情報及び計測データ(3軸角速度データdω,k及び3軸加速度データdω,α)を取得し、バイアス除去部322に送る処理を行う。
バイアス除去部322、姿勢変化量計算部324及び速度変化量計算部326の各処理は、それぞれ、図1のバイアス除去部22、姿勢変化量計算部24及び速度変化量計算部26の各処理と同じであるため、その説明を省略する。
姿勢推定部328は、積分計算部401、姿勢予測部402、姿勢誤差更新部403、補正係数計算部404、姿勢補正部405、正規化部406、姿勢誤差補正部407及び方位角誤差除去部408として機能し、姿勢変化量計算部324が計算した姿勢変化量と速度変化量計算部326が計算した速度変化量とを用いて、対象物の姿勢を推定する処理を行う。積分計算部401、姿勢予測部402、姿勢誤差更新部403、補正係数計算部404、姿勢補正部405、正規化部406、姿勢誤差補正部407及び方位角誤差除去部408の各処理は、それぞれ、図1の積分計算部101、姿勢予測部102、姿勢誤差更新部103、補正係数計算部104、姿勢補正部105、正規化部106、姿勢誤差補正部107及び方位角誤差除去部108の各処理と同じであるため、その説明を省略する。
処理部20は、推定した対象物の姿勢に応じた画像データや音データを生成し、表示部370や音出力部380に出力する。
姿勢推定装置4の処理部320の具体的な構成は図3と同様であってもよいため、その図示及び説明を省略する。また、処理部320による姿勢推定処理の手順は図4のフローチャート図と同様であってもよいため、その図示及び説明を省略する。また、姿勢推定部328による時刻tにおける状態ベクトルx及び誤差共分散行列Σx,k を推定する処理(図4のステップS10の処理)の手順も図5のフローチャート図と同様であってもよいため、その図示及び説明を省略する。
本実施形態の姿勢推定システム2によれば、姿勢推定装置4により、角速度センサー212の出力と加速度センサー214の出力のみを用いて、対象物の姿勢を十分な精度で推定することができる。
4.変形例
本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
例えば、上述した実施形態では、角速度センサー12と加速度センサー14は1つのIMU10に収容され、一体化されているが、角速度センサー12と加速度センサー14は別体であってもよい。同様に、角速度センサー212と加速度センサー214は1つのIMU3に収容され、一体化されているが、角速度センサー212と加速度センサー214は別体であってもよい。
また、例えば、上述した実施形態では、姿勢推定装置1あるいは姿勢推定装置4は、対象物の姿勢情報のみを出力しているが、さらに他の情報を出力してもよい。例えば、姿勢推定装置1あるいは姿勢推定装置4は、時刻tにおける速度ベクトルvに基づく対象物の速度情報や速度ベクトルvを積分して得られる対象物の位置情報を出力してもよい。
上述した各実施形態および各変形例は一例であって、これらに限定されるわけではない。例えば、各実施形態および各変形例を適宜組み合わせることも可能である。
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
1 姿勢推定装置、2 姿勢推定システム、3 慣性計測装置(IMU)、4 姿勢推定装置、10 慣性計測ユニット(IMU)、12 角速度センサー、14 加速度センサー、16 信号処理部、20 処理部、22 バイアス除去部、24 姿勢変化量計算部、26 速度変化量計算部、28 姿勢推定部、30 ROM、40 RAM、50 記録媒体、60 通信部、101 積分計算部、102 姿勢予測部、103 姿勢誤差更新部、104 補正係数計算部、105 姿勢補正部、106 正規化部、107 姿勢誤差補正部、108 方位角誤差除去部、212 角速度センサー、214 加速度センサー、216 信号処理部、218 通信部、310 通信部、320 処理部、321
データ取得部、322 バイアス除去部、324 姿勢変化量計算部、326 速度変化量計算部、328 姿勢推定部、330 ROM、340 RAM、350 記録媒体、360 操作部、370 表示部、380 音出力部、401 積分計算部、402 姿勢予測部、403 姿勢誤差更新部、404 補正係数計算部、405 姿勢補正部、406 正規化部、407 姿勢誤差補正部、408 方位角誤差除去部

Claims (17)

  1. 角速度センサーの出力を用いて、サンプリング周期を変数とする多項式で近似して対象物の姿勢変化量を計算する工程と、
    加速度センサーの出力と前記角速度センサーの出力とを用いて、前記対象物の速度変化量を計算する工程と、
    前記姿勢変化量と前記速度変化量とを用いて、前記対象物の姿勢を推定する工程と、を含む、姿勢推定方法。
  2. 前記対象物の速度変化量を計算する工程において、
    前記角速度センサーの出力と前記加速度センサーの出力とを用いて前記サンプリング周期を変数とする多項式で近似して前記対象物の加速度を計算し、当該加速度を用いて前記速度変化量を計算する、請求項1に記載の姿勢推定方法。
  3. 前記対象物の姿勢を推定する工程は、
    前記姿勢変化量と前記速度変化量とを用いて、前記対象物の姿勢と速度とを予測する工程と、
    前記予測した前記対象物の速度とゼロとの差を用いて、前記予測した前記対象物の姿勢を補正する工程と、を含む、請求項1又は2に記載の姿勢推定方法。
  4. 前記対象物の姿勢を推定する工程は、
    前記角速度センサーの出力を用いて、前記対象物の姿勢誤差を更新する工程と、
    前記更新された前記姿勢誤差に含まれる方位角誤差を除去する工程と、を含み、
    前記対象物の姿勢を補正する工程において、
    前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する、請求項3に記載の姿勢推定方法。
  5. 前記対象物の姿勢を推定する工程は、
    前記角速度センサーの出力を用いて、前記対象物の回転誤差が方位角誤差成分を含まないものとして前記対象物の姿勢誤差を更新する工程を含み、
    前記対象物の姿勢を補正する工程において、
    前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する、請求項3に記載の姿勢推定方法。
  6. 慣性センサーの出力を用いて、対象物の姿勢を予測する工程と、
    前記慣性センサーの出力を用いて、前記対象物の姿勢誤差を更新する工程と、
    前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する工程と、
    前記更新された前記姿勢誤差に含まれる方位角誤差を除去する工程と、を含む、姿勢推定方法。
  7. 慣性センサーの出力を用いて、対象物の姿勢を予測する工程と、
    前記慣性センサーの出力を用いて、前記対象物の回転誤差が方位角誤差成分を含まないものとして前記対象物の姿勢誤差を更新する工程と、
    前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する工程と、を含む、姿勢推定方法。
  8. 前記慣性センサーの出力を用いて、前記対象物の速度変化量を計算する工程を含み、
    前記対象物の姿勢を予測する工程において、
    前記速度変化量を用いて、前記対象物の速度を予測し、
    前記対象物の姿勢を補正する工程において、
    前記予測した前記対象物の速度とゼロとの差を用いて、前記予測した前記対象物の姿勢を補正する、請求項6又は7に記載の姿勢推定方法。
  9. 前記慣性センサーの出力を用いて、サンプリング周期を変数とする多項式で近似して前記対象物の姿勢変化量を計算する工程を含み、
    前記対象物の姿勢を予測する工程において、
    前記姿勢変化量を用いて、前記対象物の姿勢を予測する、請求項6乃至8のいずれか一項に記載の姿勢推定方法。
  10. 角速度センサーの出力を用いて、サンプリング周期を変数とする多項式で近似して対象物の姿勢変化量を計算する姿勢変化量計算部と、
    加速度センサーの出力と前記角速度センサーの出力とを用いて、前記対象物の速度変化量を計算する速度変化量計算部と、
    前記姿勢変化量と前記速度変化量とを用いて、前記対象物の姿勢を推定する姿勢推定部と、を含む、姿勢推定装置。
  11. 前記角速度センサー及び前記加速度センサーを含む、請求項10に記載の姿勢推定装置。
  12. 慣性センサーの出力を用いて、対象物の姿勢を予測する姿勢予測部と、
    前記慣性センサーの出力を用いて、前記対象物の姿勢誤差を更新する姿勢誤差更新部と、
    前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する姿勢補正部と、
    前記更新された前記姿勢誤差に含まれる方位角誤差を除去する方位角誤差除去部と、を含む、姿勢推定装置。
  13. 慣性センサーの出力を用いて、対象物の姿勢を予測する姿勢予測部と、
    前記慣性センサーの出力を用いて、前記対象物の回転誤差が方位角誤差成分を含まないものとして前記対象物の姿勢誤差を更新する姿勢誤差更新部と、
    前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する姿勢補正部と、を含む、姿勢推定装置。
  14. 前記慣性センサーを含む、請求項12又は13に記載の姿勢推定装置。
  15. 角速度センサーの出力を用いて、サンプリング周期を変数とする多項式で近似して対象物の姿勢変化量を計算する工程と、
    加速度センサーの出力と前記角速度センサーの出力とを用いて、前記対象物の速度変化量を計算する工程と、
    前記姿勢変化量と前記速度変化量とを用いて、前記対象物の姿勢を推定する工程と、をコンピューターに実行させる、プログラム。
  16. 慣性センサーの出力を用いて、対象物の姿勢を予測する工程と、
    前記慣性センサーの出力を用いて、前記対象物の姿勢誤差を更新する工程と、
    前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する工程と、
    前記更新された前記姿勢誤差に含まれる方位角誤差を除去する工程と、をコンピューターに実行させる、プログラム。
  17. 前記慣性センサーの出力を用いて、前記対象物の回転誤差が方位角誤差成分を含まない
    ものとして前記対象物の姿勢誤差を更新する工程と、
    前記更新された前記姿勢誤差を用いて、前記予測した前記対象物の姿勢を補正する工程と、をコンピューターに実行させる、プログラム。
JP2014056214A 2014-03-19 2014-03-19 姿勢推定方法、姿勢推定装置及びプログラム Pending JP2015179002A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014056214A JP2015179002A (ja) 2014-03-19 2014-03-19 姿勢推定方法、姿勢推定装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014056214A JP2015179002A (ja) 2014-03-19 2014-03-19 姿勢推定方法、姿勢推定装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2015179002A true JP2015179002A (ja) 2015-10-08

Family

ID=54263153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014056214A Pending JP2015179002A (ja) 2014-03-19 2014-03-19 姿勢推定方法、姿勢推定装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2015179002A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017181218A (ja) * 2016-03-29 2017-10-05 Kddi株式会社 角速度センサを用いてユーザの前方方向を推定する携帯端末、プログラム及び方法
JP2019158425A (ja) * 2018-03-08 2019-09-19 セイコーエプソン株式会社 慣性計測装置、移動体、携帯型電子機器、及び電子機器
WO2022018964A1 (ja) * 2020-07-20 2022-01-27 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム
CN114184211A (zh) * 2021-12-27 2022-03-15 北京计算机技术及应用研究所 一种惯导可靠性试验中性能变化机理一致性判定方法
US11372020B2 (en) 2018-07-31 2022-06-28 Seiko Epson Corporation Posture estimation method, posture estimation device, and vehicle
US11789032B2 (en) 2020-10-29 2023-10-17 Seiko Epson Corporation Inertial measurement unit
US11797026B2 (en) 2020-05-28 2023-10-24 Seiko Epson Corporation Posture estimation device, sensor module, measurement system, moving object, and posture estimation method
JP7550641B2 (ja) 2020-12-25 2024-09-13 ナブテスコ株式会社 膝継手、姿勢計算装置、膝継手の制御方法、膝継手の制御用プログラムおよび姿勢計算装置の制御用プログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017181218A (ja) * 2016-03-29 2017-10-05 Kddi株式会社 角速度センサを用いてユーザの前方方向を推定する携帯端末、プログラム及び方法
JP2019158425A (ja) * 2018-03-08 2019-09-19 セイコーエプソン株式会社 慣性計測装置、移動体、携帯型電子機器、及び電子機器
JP2021105618A (ja) * 2018-03-08 2021-07-26 セイコーエプソン株式会社 慣性計測装置、移動体測位装置、システム、及び移動体
JP7092229B2 (ja) 2018-03-08 2022-06-28 セイコーエプソン株式会社 慣性計測装置、移動体測位装置、システム、及び移動体
US11372020B2 (en) 2018-07-31 2022-06-28 Seiko Epson Corporation Posture estimation method, posture estimation device, and vehicle
US11686744B2 (en) 2018-07-31 2023-06-27 Seiko Epson Corporation Posture estimation method, posture estimation device, and vehicle
US11971429B2 (en) 2018-07-31 2024-04-30 Seiko Epson Corporation Posture estimation method, posture estimation device, and vehicle
US11797026B2 (en) 2020-05-28 2023-10-24 Seiko Epson Corporation Posture estimation device, sensor module, measurement system, moving object, and posture estimation method
WO2022018964A1 (ja) * 2020-07-20 2022-01-27 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム
US11789032B2 (en) 2020-10-29 2023-10-17 Seiko Epson Corporation Inertial measurement unit
JP7550641B2 (ja) 2020-12-25 2024-09-13 ナブテスコ株式会社 膝継手、姿勢計算装置、膝継手の制御方法、膝継手の制御用プログラムおよび姿勢計算装置の制御用プログラム
CN114184211A (zh) * 2021-12-27 2022-03-15 北京计算机技术及应用研究所 一种惯导可靠性试验中性能变化机理一致性判定方法

Similar Documents

Publication Publication Date Title
JP2015179002A (ja) 姿勢推定方法、姿勢推定装置及びプログラム
JP5614527B2 (ja) 姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラム
JP5061264B1 (ja) 小型姿勢センサ
WO2018184467A1 (zh) 一种云台姿态检测方法及装置
JP2020020631A (ja) 姿勢推定方法、姿勢推定装置及び移動体
US9459276B2 (en) System and method for device self-calibration
Madgwick An efficient orientation filter for inertial and inertial/magnetic sensor arrays
JP2014089113A (ja) 姿勢推定装置及びプログラム
US20150354967A1 (en) Inertial device, method, and program
JP6215337B2 (ja) 適応型スケールおよび/または重力推定
JP2006126148A (ja) 方位姿勢検出装置
JP2020020630A (ja) 姿勢推定方法、姿勢推定装置及び移動体
JP2013064695A (ja) 状態推定装置、オフセット更新方法およびオフセット更新プログラム
CN106813679B (zh) 运动物体的姿态估计的方法及装置
JP2012173190A (ja) 測位システム、測位方法
Vertzberger et al. Attitude adaptive estimation with smartphone classification for pedestrian navigation
JP2013029512A (ja) 携帯型電子デバイスのための、磁場センサおよび加速度計を使用して姿勢および角速度を検知するシステムおよび方法
WO2019215987A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2013096724A (ja) 状態推定装置
CN116067370A (zh) 一种imu姿态解算方法及设备、存储介质
Nonnarit et al. Gyroscope drift correction algorithm for inertial measurement unit used in hand motion tracking
JP2007232444A (ja) 慣性航法装置およびその誤差補正方法
JP2012037405A (ja) センサー装置、電子機器及び角速度センサーのオフセット補正方法
Evren et al. High precision stabilization of pan-tilt systems using reliable angular acceleration feedback from a master-slave Kalman filter
JP2013185898A (ja) 状態推定装置