JP2011185669A - 姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラム - Google Patents

姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラム Download PDF

Info

Publication number
JP2011185669A
JP2011185669A JP2010049493A JP2010049493A JP2011185669A JP 2011185669 A JP2011185669 A JP 2011185669A JP 2010049493 A JP2010049493 A JP 2010049493A JP 2010049493 A JP2010049493 A JP 2010049493A JP 2011185669 A JP2011185669 A JP 2011185669A
Authority
JP
Japan
Prior art keywords
information
vector
coordinate system
acceleration
posture
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.)
Granted
Application number
JP2010049493A
Other languages
English (en)
Other versions
JP2011185669A5 (ja
JP5614527B2 (ja
Inventor
Hirofumi Udagawa
裕文 宇田川
Sachihiro Kobayashi
祥宏 小林
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 JP2010049493A priority Critical patent/JP5614527B2/ja
Priority to US13/020,876 priority patent/US9043177B2/en
Priority to CN201110053281.3A priority patent/CN102192740B/zh
Publication of JP2011185669A publication Critical patent/JP2011185669A/ja
Publication of JP2011185669A5 publication Critical patent/JP2011185669A5/ja
Application granted granted Critical
Publication of JP5614527B2 publication Critical patent/JP5614527B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)
  • Gyroscopes (AREA)
  • Position Input By Displaying (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)

Abstract

【課題】簡易な構成でありながら、位置の発散を抑制して仮想3次元空間における姿勢を適切に算出することができる姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラムを提供する。
【解決手段】センサー情報取得部210は、3つの角速度センサーがそれぞれ検出する3軸回りの角速度情報(GX、GY、GZ)と3つの加速度センサーがそれぞれ検出する3軸方向の加速度情報(AX、AY、AZ)を取得する。姿勢情報算出部220は、角速度情報(GX、GY、GZ)と加速度情報(AX、AY、AZ)に基づいて、仮想3次元空間における姿勢角と位置座標を算出する。特に、姿勢情報算出部220は、加速度情報(AX、AY、AZ)から得られる慣性座標系加速度ベクトル(A)に基づいて固定座標系速度ベクトルを算出し、当該固定座標系速度ベクトルに対応づけて仮想3次元空間における位置座標を算出する。
【選択図】図3

Description

本発明は、姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラムに関する。
近年、慣性センサーを用いて物体の姿勢を算出するシステムが様々な場面において利用されている。例えば、自動車やヘリコプター等の移動体に3軸角速度センサーと3軸加速度センサーを取り付け、センサーから得られる情報に基づいて移動体の姿勢を計算することにより、移動体の姿勢の安定制御を行うシステム等が実現されている。
一般に、物体の姿勢は姿勢角と位置により特定することができる。物体の姿勢角は、3軸角速度センサーが検出した角速度ベクトルを1階積分することで得られる。ところが、3軸角速度センサーの出力値には微小なオフセットが含まれるため、角速度ベクトルを1階積分することによりオフセット分が徐々に蓄積されてしまう。そのため、計算により得られる姿勢角の真の姿勢角に対する誤差がオフセットに比例して徐々に増大し、例えば、物体が静止しているにもかかわらず微小な角速度で回転しているかのような結果が得られることになる。この問題を解決する手法として、カルマンフィルターを用いて、センサー出力値から姿勢角の真値を推定する手法が知られている。
特開平9−5104号公報 特開2007−183138号公報
一方、物体の位置は、3軸加速度センサーが検出した加速度ベクトルを2階積分することで得られる。3軸加速度センサーの出力値にも微小なオフセットが含まれるので、オフセット分が徐々に蓄積されていき、物体が静止しているにもかかわらず移動しているかのような結果が得られることになる。しかも、加速度ベクトルを2階積分するので、計算により得られる位置の真の位置に対する誤差が増加する速度はオフセットの2乗に比例し、姿勢角の誤差が増加する速度よりもずっと速い。そのため、カルマンフィルターを用いて位置の真値を推定するためには、カルマンゲインを大きくしなければならない。しかし、カルマンゲインを大きくすると、物体の計算上の位置を真の位置に引き戻す速度が速すぎて、実際には物体がゆっくり移動しているのに静止しているかのような計算結果が得られることになる。特に、センサーのオフセットが比較的大きければカルマンゲインをより大きく設定しなければならなくなり、カルマンフィルターを用いて加速度センサーの出力値のみで物体の位置を推定することは現実的に極めて困難である。
この問題を解決するために、現実的には、加速度センサーの出力値と外部から得られる特定の情報に基づいて、物体の位置を推定する手法が採用されている。例えば、赤外線発光装置を所定位置に固定し、物体に固定されたCCDカメラでこの赤外線発光装置を撮像することで物体と赤外線発光装置との相対的な位置関係の情報を得ることができるので、この情報を用いてカルマンフィルターにより物体の位置の真値を推定することができる。しかし、このような手法では、センサー以外の装置が必要になるためシステムが大型化する。
その一方で、例えば、ポインティングデバイスを用いて仮想3Dモデルを操作するような用途では、時間が経過しても仮想3Dモデルの位置が発散しないことと、ポインティングデバイスの動きに追従して仮想3Dモデルが動くことは要求されるが、仮想3Dモデルの厳密な位置の算出までは要求されない場合もある。このような厳密な位置の算出が不要なシステムでは低コスト化の要求も高く、システムの大型化は望ましくない。
本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、簡易な構成でありながら、位置の発散を抑制して仮想3次元空間における姿勢を適切に算出することができる姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラムを提供することができる。
(1)本発明は、3つの角速度センサーがそれぞれ検出する互いに平行でない3軸回りの角速度情報と、3つの加速度センサーがそれぞれ検出する互いに平行でない3軸方向の加速度情報と、に基づいて仮想3次元空間における姿勢角と位置座標を算出する姿勢情報算出装置であって、前記3軸回りの角速度情報と前記3軸方向の加速度情報を取得するセンサー情報取得部と、前記センサー情報取得部が取得した前記3軸回りの角速度情報と前記3軸方向の加速度情報に基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を算出する姿勢情報算出部と、を含み、前記姿勢情報算出部は、前記3軸方向の加速度情報から得られる慣性座標系加速度ベクトルに基づいて固定座標系速度ベクトルを算出し、当該固定座標系速度ベクトルに対応づけて前記仮想3次元空間における前記位置座標を算出する。
本発明に係る姿勢情報算出装置では、まず、慣性座標系(センサー座標系)の加速度ベクトルを固定座標系の速度ベクトルに変換する。ここで、慣性座標系の加速度ベクトルから固定座標系の位置(距離)を算出するには2階積分が必要だが、慣性座標系の加速度ベクトルから固定座標系の速度ベクトルを算出するには1階積分で足りる。さらに、本発明に係る姿勢情報算出装置では、この固定座標系の速度ベクトルに対応づけて仮想3次元空間における位置座標を生成する点に特徴がある。こうすることにより、センサーオフセットに起因する位置座標(加速度ベクトルを1階積分して得られる)のドリフト量と姿勢角(角速度ベクトルを1階積分して得られる)のドリフト量は同程度であり、従来より姿勢角の算出に適用されてきたカルマンフィルターを用いた手法等が本発明における位置座標の算出にも適用することができる。従って、本発明によれば、簡易な構成でありながら位置の発散を抑制して仮想3次元空間における姿勢を適切に算出することができる姿勢情報算出装置を提供することができる。
(2)この姿勢情報算出装置において、前記姿勢情報算出部は、前記3軸回りの角速度情報と3軸方向の加速度情報に基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を特定するために必要な所与のパラメーターを更新する姿勢情報更新部と、前記姿勢情報更新部が更新した後の前記パラメーターを、所与の拘束条件に従い修正する姿勢情報修正部と、前記姿勢情報修正部が修正した後の前記パラメーターに基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を算出する姿勢情報生成部と、を含み、前記姿勢情報更新部は、前記慣性座標系加速度ベクトルと時刻k−1における修正後の前記固定座標系速度ベクトルに基づいて、時刻kにおける前記固定座標系速度ベクトルを更新する速度ベクトル更新手段を含み、前記姿勢情報修正部は、前記固定座標系速度ベクトルのノルムを0とする拘束条件に従い、前記速度ベクトル更新手段が更新した時刻kにおける前記固定座標系速度ベクトルを修正する速度ベクトル修正手段を含み、前記姿勢情報生成部は、前記速度ベクトル修正手段が修正した時刻kにおける前記固定座標系速度ベクトルに対応づけて前記仮想3次元空間における前記位置座標を生成する位置座標生成手段を含むようにしてもよい。
この姿勢情報算出装置では、固定座標系速度ベクトルの更新処理を行った後、ノルムを0とする(すなわち、固定座標系速度ベクトルを(0,0,0)とする)拘束条件に従って修正処理を行い、修正後の固定座標系速度ベクトルに対応づけて仮想3次元空間における位置座標を生成する。こうすることにより、固定座標系速度ベクトル(0,0,0)に対応づけられた所定座標(例えば原点)に引き戻されるように位置座標が生成されるので、オフセットドリフトに起因する位置座標の発散を抑制することができる。
また、この姿勢情報算出装置によれば、固定座標系の速度ベクトルを仮想3次元空間の位置座標に対応づける(固定座標系の位置座標を仮想3次元空間の位置座標に対応づけるわけではない)ので、位置座標がセンサー出力に適切に追従するように、所定座標に引き戻される速度を比較的容易に調整することができる。
(3)この姿勢情報算出装置において、前記速度ベクトル更新手段は、前記慣性座標系加速度ベクトルを、時刻k−1における前記固定座標系姿勢角ベクトルに基づいて回転させて前記固定座標系加速度ベクトルに変換し、当該固定座標系加速度ベクトルから固定座標系重力加速度ベクトルを減算し、減算結果を所定の単位時間で1階積分して単位時間固定座標系速度ベクトルを算出し、時刻k−1における修正後の前記固定座標系速度ベクトルに前記単位時間固定座標系速度ベクトルを加算することにより時刻kにおける前記固定座標系速度ベクトルを更新するようにしてもよい。
(4)この姿勢情報算出装置において、前記位置座標生成手段は、時刻kにおける修正後の前記固定座標系速度ベクトルを、時刻kにおける前記位置座標とするようにしてもよい。
こうすることにより、修正後の固定座標系速度ベクトルから位置座標を生成する計算が不要となるので、計算量を低減することができる。
(5)この姿勢情報算出装置において、前記姿勢情報算出部は、前記3軸回りの角速度情報から得られる慣性座標系角速度ベクトルに基づいて固定座標系姿勢角ベクトルを算出し、当該固定座標系姿勢角ベクトルに基づいて前記仮想3次元空間における前記姿勢角を算出し、前記姿勢情報更新部は、前記慣性座標系角速度ベクトルと時刻k−1における修正後の前記固定座標系姿勢角ベクトルに基づいて、時刻kにおける前記固定座標系姿勢角ベクトルを更新する姿勢角ベクトル更新手段を含み、前記姿勢情報修正部は、前記慣性座標系加速度ベクトルに基づく拘束条件に従い、前記姿勢角ベクトル更新手段が更新した時刻kにおける前記固定座標系姿勢角ベクトルを修正する姿勢角ベクトル修正手段を含み、前記姿勢情報生成部は、修正後の前記固定座標系姿勢角ベクトルに基づいて、前記仮想3次元空間における前記姿勢角を生成する姿勢角生成手段を含むようにしてもよい。
この姿勢情報算出装置では、固定座標系姿勢角ベクトルの更新処理を行った後、慣性座標系加速度ベクトルに基づく拘束条件に従って修正処理を行い、修正後の固定座標系姿勢角ベクトルに対応づけて仮想3次元空間における姿勢角を生成する。こうすることにより、現在の慣性座標系加速度ベクトルに基づく姿勢に基づく姿勢角が生成されるので、センサーオフセットに起因する姿勢角の発散を抑制することができる。
(6)この姿勢情報算出装置において、前記姿勢角ベクトル更新手段は、前記慣性座標系角速度ベクトルを所定の単位時間で1階積分して単位時間回転角クオータ二オンを算出し、時刻k−1における修正後の前記固定座標系姿勢角ベクトルに前記単位時間回転角クオータ二オンを作用させることにより時刻kにおける前記固定座標系姿勢角ベクトルを更新するようにしてもよい。
(7)この姿勢情報算出装置において、前記姿勢角生成手段は、時刻kにおける修正後の前記固定座標系姿勢角ベクトルを、時刻kにおける前記姿勢角とするようにしてもよい。
こうすることにより、修正後の固定座標系姿勢角ベクトルから姿勢角を生成する計算が不要となるので、計算量を低減することができる。
(8)この姿勢情報算出装置において、前記センサー情報取得部は、温度センサーが検出する温度情報を受け取り、前記姿勢情報更新部は、前記温度情報と時刻k−1における修正後の前記3つの角速度センサーのオフセットに基づいて、時刻kにおける前記3つの角速度センサーのオフセットを更新する角速度オフセット更新手段と、前記温度情報と時刻k−1における修正後の前記3つの加速度センサーのオフセットに基づいて、時刻kにおける前記3つの加速度センサーのオフセットを更新する加速度オフセット更新手段と、を含み、前記姿勢情報修正部は、所与の拘束条件に従い、前記角速度オフセット更新手段が更新した時刻kにおける前記3つの角速度センサーのオフセットを修正する角速度オフセット修正手段と、所与の拘束条件に従い、前記加速度オフセット更新手段が更新した時刻kにおける前記3つの加速度センサーのオフセットを修正する加速度オフセット修正手段と、を含むようにしてもよい。
こうすることにより、温度によるセンサーオフセットの変動を考慮してセンサーオフセットを更新することができる。そのため、センサーオフセットによるドリフト量が低減し、位置座標や姿勢角が引き戻される速度をさらに容易に調整することができる。従って、仮想3次元空間における位置座標と姿勢角を、センサー出力に、より迅速に追従させることができる。
(9)本発明は、互いに平行でない3軸回りの角速度情報をそれぞれ検出する3つの角速度センサーと、互いに平行でない3軸方向の加速度情報をそれぞれ検出する3つの加速度センサーと、上記のいずれかの姿勢情報算出装置と、を含む、姿勢情報算出システムである。
(10)本発明は、3つの角速度センサーがそれぞれ検出する互いに平行でない3軸回りの角速度情報と、3つの加速度センサーがそれぞれ検出する互いに平行でない3軸方向の加速度情報と、に基づいて仮想3次元空間における姿勢角と位置座標を算出する姿勢情報算出方法であって、前記3軸回りの角速度情報と前記3軸方向の加速度情報を取得するセンサー情報取得ステップと、前記センサー情報取得ステップにおいて取得した前記3軸回りの角速度情報と前記3軸方向の加速度情報に基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を算出する姿勢情報算出ステップと、を含み、前記姿勢情報算出ステップにおいて、前記3軸方向の加速度情報から得られる慣性座標系加速度ベクトルに基づいて固定座標系速度ベクトルを算出し、当該固定座標系速度ベクトルに対応づけて前記仮想3次元空間における前記位置座標を算出する。
(11)本発明は、3つの角速度センサーがそれぞれ検出する互いに平行でない3軸回りの角速度情報と、3つの加速度センサーがそれぞれ検出する互いに平行でない3軸方向の加速度情報と、に基づいて仮想3次元空間における姿勢角と位置座標を算出する姿勢情報算出プログラムであって、前記3軸回りの角速度情報と前記3軸方向の加速度情報に基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を算出する姿勢情報算出部としてコンピューターを機能させ、前記姿勢情報算出部は、前記3軸方向の加速度情報から得られる慣性座標系加速度ベクトルに基づいて固定座標系速度ベクトルを算出し、当該固定座標系速度ベクトルに対応づけて前記仮想3次元空間における前記位置座標を算出する。
第1実施形態の姿勢情報算出システムの概略構成図。 センサー情報出力装置の構成例を示す図。 姿勢情報算出装置の構成例を示す図。 姿勢情報算出装置の処理手順を示すフローチャート図。 姿勢情報算出部による姿勢情報算出処理の手順を示すフローチャート図。 カルマンフィルターの更新処理の手順の一例を示すフローチャート図。 カルマンフィルターの修正処理の手順の一例を示すフローチャート図。 第2実施形態の姿勢情報算出システムの概略構成図。 センサー情報出力装置の構成例を示す図。 姿勢情報算出装置の構成例を示す図。 カルマンフィルターの更新処理の手順の一例を示すフローチャート図。 姿勢情報算出システムを適用したゲームシステムの一例を示す図。
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.第1実施形態
1−1.姿勢情報算出システムの構成
図1は、第1実施形態の姿勢情報算出システムの概略構成図である。図1に示すように、第1実施形態の姿勢情報算出システム1Aは、センサー情報出力装置10Aと姿勢情報算出装置20Aを含んで構成されている。
センサー情報出力装置10Aは、互いに直交する3軸(X軸、Y軸、Z軸)方向の角速度情報をそれぞれ検出する3つのジャイロセンサー(角速度センサー)110X、110Y、110Zを含み、当該X軸、Y軸、Z軸方向の角速度情報を出力する。さらに、センサー装置10Aは、互いに直交する3軸(X軸、Y軸、Z軸)方向の加速度情報をそれぞれ検出する3つの加速度センサー112X、112Y、112Zを含み、当該X軸、Y軸、Z軸方向の加速度情報を出力する。
姿勢情報算出装置20Aは、センサー情報取得部210と姿勢情報算出部220を含んで構成されており、センサー情報出力装置10Aによる検出情報(角速度情報と加速度情報)に基づいて仮想3次元空間における姿勢角と位置座標を算出する処理を行う。
センサー情報取得部210は、ジャイロセンサー110X、110Y、110Zがそれぞれ検出するX軸、Y軸、Z軸方向の角速度情報と加速度センサー112X、112Y、112Zがそれぞれ検出するX軸、Y軸、Z軸方向の加速度情報を取得する処理(センサー情報取得処理)を行う。
姿勢情報算出部220は、センサー情報取得部210が取得したX軸、Y軸、Z軸方向の角速度情報とX軸、Y軸、Z軸方向の加速度情報に基づいて、仮想3次元空間における姿勢角と位置座標を算出する処理(姿勢情報算出処理)を行う。具体的には、姿勢情報算出部220は、X軸、Y軸、Z軸方向の加速度情報から得られる慣性座標系加速度ベクトル(センサー座標系(慣性座標系)での加速度ベクトル)に基づいて固定座標系速度ベクトル(実3次元空間(固定座標系)での速度ベクトル)を算出し、当該固定座標系速度ベクトルに対応づけて仮想3次元空間における位置座標を算出する。また、姿勢情報算出部220は、X軸、Y軸、Z軸方向の角速度情報から得られる慣性座標系角速度ベクトル(センサー座標系(慣性座標系)での角速度ベクトル)に基づいて固定座標系における姿勢角ベクトル(実3次元空間(固定座標系)での姿勢角ベクトル)を算出し、当該固定座標系姿勢角ベクトルに基づいて仮想3次元空間における姿勢角を算出する。
より具体的には、姿勢情報算出部220は、姿勢情報更新部230、姿勢情報修正部240、姿勢情報生成部250を含んで構成されており、仮想3次元空間における姿勢角と位置座標を算出する上記の処理を行う。ここで、姿勢情報更新部230は、X軸、Y軸、Z軸回りの角速度情報とX軸、Y軸、Z軸方向の加速度情報に基づいて、仮想3次元空間における姿勢角と位置座標を特定するために必要な所与のパラメーターを更新する処理(姿勢情報更新処理)を行う。姿勢情報修正部240は、姿勢情報更新部240が更新した後のパラメーターを、所与の拘束条件に従い修正する処理(姿勢情報修正処理)を行う。姿勢情報生成部250は、姿勢情報修正部240が修正した後のパラメーターに基づいて、仮想3次元空間における姿勢角と位置座標を生成する処理(姿勢情報生成処理)を行う。
1−2.センサー情報出力装置の構成
図2は、センサー情報出力装置10Aの構成例を示す図である。
センサーモジュール100には、図1で説明した3つのジャイロセンサー110X、110Y、110Zと3つの加速度センサー112X、112Y、112Zが固定されている。ここで、ジャイロセンサー110X、110Y、110Zは、検出軸が互いに直交するように配置されている。同様に、加速度センサー112X、112Y、112Zは、検出軸が互いに直交するように配置されている。さらに、ジャイロセンサー110Xと加速度センサー112X、ジャイロセンサー110Yと加速度センサー112Y、ジャイロセンサー110Zと加速度センサー112Zは、互いの検出軸が同じ方向(順に、X軸方向、Y軸方向、Z軸方向と定義する)を向くように配置されている。
ジャイロセンサー110X、110Y、110Zは、それぞれ、センサーモジュール100に加わったX軸回り、Y軸回り、Z軸回りの角速度に応じた大きさの直流電圧を出力する。また、加速度センサー112X、112Y、112Zは、それぞれ、センサーモジュール100に加わったX軸方向、Y軸方向、Z軸方向の加速度に応じた大きさの直流電圧を出力する。
ジャイロセンサー110X、110Y、110Zの各出力電圧は、それぞれ増幅器(AMP)120X、120Y、120Zで増幅された後、それぞれローパスフィルター(LPF)130X、130Y、130Zを通してノイズ成分が除去される。
同様に、加速度センサー112X、112Y、112Zの各出力電圧は、それぞれ増幅器(AMP)122X、122Y、122Zで増幅された後、それぞれローパスフィルター(LPF)132X、132Y、132Zを通してノイズ成分が除去される。
A/D変換器(ADC)140は、ローパスフィルター(LPF)130X、130Y、130Z、132X、132Y、132Zの各出力電圧VGX、VGY、VGZ、VAX、VAY、VAZを時分割にサンプリングしてそれぞれNビットのデジタル値GX、GY、GZ、AX、AY、AZに変換し、時分割に出力する。
ここで、GX、GY、GZは、それぞれ、センサーモジュール100に加わったX軸回り、Y軸回り、Z軸回りの角速度の向きと大きさに応じたデジタル値(角速度情報)であり、AX、AY、AZは、それぞれ、センサーモジュール100に加わったX軸方向、Y軸方向、Z軸方向の加速度の向きと大きさに応じたデジタル値(加速度情報)である。このデジタル値GX、GY、GZ(角速度情報)とAX、AY、AZ(加速度情報)が、センサー情報出力装置10Aから姿勢情報算出装置20Aに送信される。
1−3.姿勢情報算出装置の構成
図3は、姿勢情報算出装置20Aの構成例を示す図である。
姿勢情報算出装置20Aは、ADCインターフェース回路(ADCI/F)212、マイコンインターフェース回路(マイコンI/F)214、マイクロコンピューター300を含んで構成されている。
ADCインターフェース回路(ADCI/F)212は、センサー情報出力装置10Aが時分割に出力する角速度情報(GX、GY、GZ)と加速度情報(AX、AY、AZ)を、適当なタイミングで順番にサンプリングして取得する処理を行う。
マイコンインターフェース回路(マイコンI/F)214は、ADCインターフェース回路(ADCI/F)212が取得した角速度情報(GX、GY、GZ)から1組の角速度ベクトル(慣性座標系角速度ベクトル)G=(GX,GY,GZ)を生成する処理を行う。また、マイコンインターフェース回路(マイコンI/F)214は、ADCインターフェース回路(ADCI/F)212が取得した加速度情報(AX、AY、AZ)から1組の加速度ベクトル(慣性座標系加速度ベクトル)A=(AX,AY,AZ)を生成する処理を行う。マイコンインターフェース回路(マイコンI/F)214は、マイクロコンピューターの仕様に合わせてビット拡張又は丸め処理等の種々の処理も合わせて行う。このようにして生成された慣性座標系角速度ベクトルGと慣性座標系加速度ベクトルAはマイクロコンピューター300に供給される。
なお、ADCインターフェース回路(ADCI/F)212とマイコンインターフェース回路(マイコンI/F)214は、図1に示したセンサー情報取得部210として機能する。
マイクロコンピューター300は、処理部310、記憶部320、通信部330等を含んで構成されている。また、マイクロコンピューター300は、情報記憶媒体400を接続可能に構成されている。
情報記憶媒体400は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD等)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現することができる。
記憶部320は、処理部310や通信部330などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現することができる。
処理部310は、情報記憶媒体400に格納されるプログラム(姿勢情報算出プログラム)や情報記憶媒体400から読み出されたデータなどに基づいて、記憶部320をワーク領域として各種処理を行う。即ち情報記憶媒体400には、本実施形態の各手段としてマイクロコンピューター300(コンピューターの一例)を機能させるためのプログラム(各手段の処理をコンピュータに実行させるためのプログラム)が記憶される。処理部310の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、アプリケーションプログラム、OS(例えば汎用OS等)により実現することができる。
通信部330は、外部(例えばサーバー装置や他の端末機)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現することができる。
本実施形態では、処理部310は、速度ベクトル更新手段232、姿勢角ベクトル更新手段234、角速度オフセット更新手段236、加速度オフセット更新手段238を含む。
速度ベクトル更新手段232は、慣性座標系加速度ベクトル(A)と時刻k−1における修正後の固定座標系速度ベクトルに基づいて、時刻kにおける固定座標系速度ベクトルを更新する処理を行う。例えば、速度ベクトル更新手段232は、慣性座標系加速度ベクトル(A)を、時刻k−1における固定座標系姿勢角ベクトルに基づいて回転させて固定座標系加速度ベクトルに変換し、当該固定座標系加速度ベクトルから固定座標系重力加速度ベクトルを減算し、減算結果を所定の単位時間Δtで1階積分して単位時間固定座標系速度ベクトル(単位時間Δtにおける速度変化量)を算出し、時刻k−1における修正後の固定座標系速度ベクトルに単位時間固定座標系速度ベクトルを加算することにより時刻kにおける固定座標系速度ベクトルを更新するようにしてもよい。
姿勢角ベクトル更新手段234は、慣性座標系角速度ベクトル(G)と時刻k−1における修正後の固定座標系姿勢角ベクトルに基づいて、時刻kにおける固定座標系姿勢角ベクトルを更新する処理を行う。例えば、姿勢角ベクトル更新手段234は、慣性座標系角速度ベクトル(G)を所定の単位時間Δtで1階積分して単位時間回転角クオータ二オン(単位時間Δtにおける回転角)を算出し、時刻k−1における修正後の固定座標系姿勢角ベクトルに単位時間回転角クオータ二オンを作用させることにより時刻kにおける固定座標系姿勢角ベクトルを更新するようにしてもよい。
角速度オフセット更新手段236は、時刻kにおけるジャイロセンサー110X、110Y、110Zのオフセットを更新する処理を行う。
加速度オフセット更新手段238は、時刻kにおける加速度センサー112X、112Y、112Zのオフセットを更新する処理を行う。
なお、速度ベクトル更新手段232、姿勢角ベクトル更新手段234、角速度オフセット更新手段236、加速度オフセット更新手段238は、図1に示した姿勢情報更新部230として機能する。
また、本実施形態では、処理部310は、速度ベクトル修正手段242、姿勢角ベクトル修正手段244、角速度オフセット修正手段246、加速度オフセット修正手段248を含む。
速度ベクトル修正手段242は、固定座標系速度ベクトルのノルムを0とする拘束条件に従い、速度ベクトル更新手段232が更新した時刻kにおける固定座標系速度ベクトルを修正する処理を行う。
姿勢角ベクトル修正手段244は、慣性座標系加速度ベクトル(A)に基づく拘束条件に従い、姿勢角ベクトル更新手段234が更新した時刻kにおける固定座標系姿勢角ベクトルを修正する処理を行う。
角速度オフセット修正手段246は、所与の拘束条件に従い、角速度オフセット更新手段236が更新した時刻kにおけるジャイロセンサー110X、110Y、110Zのオフセットを修正する処理を行う。
加速度オフセット修正手段248は、所与の拘束条件に従い、加速度オフセット更新手段238が更新した時刻kにおける加速度センサー112X、112Y、112Zのオフセットを修正する処理を行う。
なお、速度ベクトル修正手段242、姿勢角ベクトル修正手段244、角速度オフセット修正手段246、加速度オフセット修正手段248は、図1に示した姿勢情報修正部240として機能する。
さらに、本実施形態では、処理部310は、位置座標生成手段252、姿勢角生成手段254を含む。
位置座標生成手段252は、速度ベクトル修正手段242が修正した時刻kにおける固定座標系速度ベクトルに対応づけて仮想3次元空間における位置座標を生成する処理を行う。例えば、位置座標生成手段252は、時刻kにおける修正後の固定座標系速度ベクトルを、時刻kにおける仮想3次元空間での位置座標とするように構成してもよい。
姿勢角生成手段254は、修正後の固定座標系姿勢角ベクトルに基づいて、仮想3次元空間における姿勢角を生成する処理を行う。例えば、姿勢角生成手段254は、時刻kにおける修正後の固定座標系姿勢角ベクトルを、時刻kにおける仮想3次元空間での姿勢角とするように構成してもよい。
なお、位置座標生成手段252と姿勢角生成手段254は、図1に示した姿勢情報生成部250として機能する。
また、処理部310は、姿勢情報修正部240として機能する上記各手段、姿勢情報生成部250として機能する上記各手段、姿勢情報生成部250として機能する上記各手段
により、図1に示した姿勢情報算出部220として機能する。
なお、本実施形態の各手段としてコンピュータを機能させるためのプログラム(姿勢情報算出プログラム)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部330を介して情報記憶媒体400(記憶部320)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
1−4.姿勢情報算出処理の手順
1−4−1.処理手順の概略
図4(A)は、姿勢情報算出装置20Aの処理手順を示すフローチャート図である。図4(A)に示すように、姿勢情報算出装置20Aは、終了イベントが発生するまで(ステップS30でYesの場合)、前述したセンサー情報取得部210によるセンサー情報取得処理と姿勢情報算出部220による姿勢情報算出処理を繰り返す。
図4(B)は、姿勢情報算出部220による姿勢情報算出処理(図4(A)のステップS20の処理)の手順を示すフローチャート図である。図4(B)に示すように、姿勢情報算出部220は、まず、姿勢情報更新部230により姿勢情報更新処理を行う(ステップS22)。具体的には、速度ベクトル更新手段232、姿勢角ベクトル更新手段234、角速度オフセット更新手段236、加速度オフセット更新手段238が前述した各処理を行う。
次に、姿勢情報算出部220は、姿勢情報修正部240により姿勢情報修正処理を行う(ステップS24)。具体的には、速度ベクトル修正手段242、姿勢角ベクトル修正手段244、角速度オフセット修正手段246、加速度オフセット修正手段248が前述した各処理を行う。
最後に、姿勢情報算出部220は、姿勢情報生成部250により姿勢情報生成処理を行う(ステップS26)。具体的には、位置座標生成手段252と姿勢角生成手段254が前述した各処理を行う。
特に、本実施形態では、姿勢情報算出部220は、カルマンフィルターを用いて、所与のパラメーター(変数)の更新処理と修正処理を行い、仮想3次元空間における姿勢角の真値と位置座標の真値を推定する。このカルマンフィルターの更新処理と修正処理は、所定時間を単位時間Δtとして時刻0、1、・・・の各々で離散的に行われる。この単位時間Δtは、慣性座標系角速度ベクトルG及び慣性座標系加速度ベクトルAの更新周期や姿勢情報算出システム1Aを使用するアプリケーションの仕様等に基づいて、適当な時間が決定される。
次に、本実施形態におけるカルマンフィルターの構成について詳細に説明する。
1−4−2.カルマンフィルター
[使用変数]
本実施形態では、カルマンフィルターの更新処理と修正処理において以下に示す変数を使用する。
Δt:離散積分用微小ステップ時間(sec)
ω:角速度センサーにおける、時間的に相関関係がなく平均が0のノイズ(mV)
α:加速度センサーにおける、時間的に相関関係がなく平均が0のノイズ(mV)
gi:3つの角速度センサーが出力する角速度ベクトル(mV)(慣性座標系)
ai:3つの加速度センサーが出力する加速度ベクトル(mV)(慣性座標系)
Se:角速度センサー感度(mV/dps)
Se:加速度センサー感度(mV/(m/sec))
bω:角速度センサーの初期オフセット電圧(mV)
bα:加速度センサーの初期オフセット電圧(mV)
bω^:時刻kにおける更新後の角速度センサーオフセット電圧(mV)
bω:時刻kにおける修正後の角速度センサーオフセット電圧(mV)
bα^:時刻kにおける更新後の加速度センサーオフセット電圧(mV)
bα:時刻kにおける修正後の加速度センサーオフセット電圧(mV)
ΔQt:3軸微小ステップ時間回転角クオータニオン(度)
Qt^:時刻kにおける更新後の姿勢角ベクトル(固定座標系)
Qt:時刻kにおける修正後の姿勢角ベクトル(固定座標系)
ΔVe:3軸微小ステップ時間速度変化量(m/sec)
Ve^:時刻kにおける更新後の速度ベクトル(固定座標系)
Ve:時刻kにおける修正後の速度ベクトル(固定座標系)
本実施形態では、カルマンフィルターによる更新・修正の対象となるパラメーターとして、固定座標系速度ベクトルVe(Ve^)、固定座標系姿勢角ベクトルQt(Qt^)、ジャイロセンサー(110X、110Y、110Z)のオフセット電圧bω(bω^)、加速度センサー(112X、112Y、112Z)のオフセット電圧bα(bα^)の4種類のパラメーターを設定する。
固定座標系速度ベクトルVe(Ve^)は、実3次元空間におけるセンサーモジュール100の速度の向きと大きさを示すものである。固定座標系姿勢角ベクトルQt(Qt^)は、実3次元空間におけるセンサーモジュール100の姿勢角をベクトルで表すものであり、例えば法線ベクトルを用いることができる。ジャイロセンサーのオフセット電圧bω(bω^)は、角速度が加わっていない時(例えば静止時)に当該ジャイロセンサーが出力する電圧値である。加速度センサーのオフセット電圧電圧bα(bα^)は、加速度が加わっていない時(例えば静止時)に当該加速度センサーが出力する電圧値である。
[処理手順]
図5は、カルマンフィルターを用いた姿勢情報算出処理の手順を示すフローチャート図である。図5に示すように、姿勢情報算出部220は、まず、現在の時刻を表す変数kを0に初期化した後(ステップS110)、カルマンフィルターの初期化処理を行う(ステップS120)。この初期化処理(ステップS120)では、カルマンフィルターによる更新・修正の対象となるパラメーターに初期値を設定する処理が行われる。ここで、Ve,Qt,bω,bαとしてあらかじめ決められた固定値を設定してもよい。例えば、Veとしてノルムが0のベクトル(0,0,0)を設定し、Qtとして鉛直方向単位ベクトル(0,0,−1)を設定し、bωやbαとしてあらかじめ測定された所定温度(25℃等)でのオフセット電圧値を設定してもよい。あるいは、起動時に毎回測定を行い、Ve,Qt,bω,bαに当該測定値を設定するようにしてもよい。また、bω,bαには、前回の姿勢情報算出処理における最終値(前回起動終了時の値)を設定するようにしてもよい。
次に、姿勢情報算出部220は、時刻kを1だけ増やした後(ステップS130)、カルマンフィルターの更新処理を行う(ステップS140)。この更新処理(ステップS140)では、センサー情報取得部210から供給される情報(慣性座標系角速度ベクトル(G)と慣性座標系加速度ベクトル(A))と時刻k−1におけるパラメーター値に基づいて、時刻kにおけるパラメーター値を更新する処理が行われる。
次に、姿勢情報算出部220は、カルマンフィルターの修正処理を行う(ステップS150)。この修正処理(ステップS150)では、時刻kにおける更新後のパラメーター値と所与の拘束条件に基づいて、時刻kにおけるパラメーター値を修正する処理が行われる。
次に、姿勢情報算出部220は、姿勢情報生成処理を行う(ステップS160)。この姿勢情報生成処理(ステップS160)では、時刻kにおける修正後のパラメーター値に基づいて、時刻kにおける姿勢情報(仮想3次元空間における姿勢角と位置座標)を生成する処理が行われる。
その後、単位時間Δtが経過するまでに姿勢情報算出処理の終了イベントが発生すると(ステップS170でYesの場合)、姿勢情報算出部220は姿勢情報算出処理を終了する。一方、単位時間Δtが経過しても姿勢情報算出処理の終了イベントが発生しなければ(ステップS170でNoの場合)、姿勢情報算出部220は、時刻kを1だけ増やした後(ステップS130)、カルマンフィルター更新処理(ステップS140)、カルマンフィルター修正処理(ステップS150)、姿勢情報生成処理(ステップS160)を再度行う。
このようにして、終了イベントが発生するまで、単位時間Δt毎にカルマンフィルター更新処理(ステップS140)とカルマンフィルター修正処理(ステップS150)が繰り返され、新たな姿勢情報が生成される。
[カルマンフィルター更新処理]
本実施形態におけるカルマンフィルターの更新処理では、後述する修正処理により時刻k−1において修正された後の4種類のパラメーターbωk−1、bαk−1、Qtk−1、Vek−1(またはこれらの初期値bω、bα、Qt、Ve)を、時刻kにおいて、それぞれbω^、bα^、Qt^、Ve^に更新する処理を行う。
拡張カルマンフィルターで用いる更新式は、次式(1)のように表される。
Figure 2011185669
X^=(bω^,bα^,Qt^,Ve^、Xk−1=(bωk−1,bαk−1,Qtk−1,Vek−1、u=(Vgi,Vai)、wk−1=(wω,wα)である。式(1)は、時刻k−1における修正後のパラメーターXk−1とセンサー出力値uとセンサーノイズwk−1に対して関数fを適用すると、時刻kにおける更新後のパラメーターX^が得られることを表している。この関数fは非常に複雑な関数であるため、式(1)を厳密に計算すると莫大な計算処理量になり、リアルタイムに姿勢情報を算出したい場合には現実的ではない。そこで、本実施形態では、関数fのヤコビアンFk−1を定義し、次の更新式(2)を用いる。
Figure 2011185669
更新式(2)によれば、Fk−1とXk−1の行列積を計算することでX^が得られるので、リアルタイムな姿勢情報の算出に適している。ここで、前述の通り、X^=(bω^,bα^,Qt^,Ve^、Xk−1=(bωk−1,bαk−1,Qtk−1,Vek−1なので、bω^,bα^,Qt^,Ve^を求める更新式を定義し、これらの更新式の関係を満たすように種々の行列変形を施すことでFk−1を求めることができる。
本実施形態では、bω^,bα^を求める更新式はそれぞれ次式(3)、(4)のように定義する。
Figure 2011185669
Figure 2011185669
また、本実施形態では、Qt^を求める更新式を次式(5)のように定義する。
Figure 2011185669
式(5)におけるΔQtは次式(6)により求めることができる。
Figure 2011185669
式(6)におけるωは次式(7)により求めることができる。
Figure 2011185669
関数φは角速度ベクトルをクオータ二オンに変換する関数であり、i,j,kは3つのクオータ二オン基底である。また、(ar,ar,ar)は、慣性座標系における角速度ベクトル(慣性座標系角速度ベクトル)であり、ar,ar,arは、それぞれX軸回り、Y軸回り、Z軸回りの角速度である。(ar,ar,ar)は次式(8)により求めることができる。
Figure 2011185669
また、本実施形態では、Ve^を求める更新式を次式(9)のように定義する。
Figure 2011185669
ΔVeは次式(10)により求めることができる。
Figure 2011185669
関数ρは、Qtk−1を、初期姿勢角ベクトルQtからQtk−1への回転クオータ二オンに変換する関数である。(ρ(Qtk−1))は、(ρ(Qtk−1))の共役クオータ二オンである。Gは、重力加速度ベクトルである。また、(gr,gr,gr)は、慣性座標系における加速度ベクトル(慣性座標系加速度ベクトル)であり、gr,gr,grは、それぞれX軸方向、Y軸方向、Z軸方向の加速度である。(gr,gr,gr)は次式(11)により求めることができる。
Figure 2011185669
このように定義した4つの更新式(3)、(4)、(5)、(9)を満たすように種々の行列変形を施すことでFk−1を求めることができる。
さらに、本実施形態におけるカルマンフィルターの更新処理では、後述する修正処理により時刻k−1において修正された後のXk−1と真値の残差の共分散行列Pk−1(:E[εk−1,εk−1 ])を、時刻kにおいて、Fk−1を用いてP^に更新する処理も行う。共分散行列P^を求める更新式は次式(11)のように定義される。
Figure 2011185669
k−1(:E[wk−1,wk−1 ])は、wk−1の共分散行列を表す。
次に、カルマンフィルターの更新処理の手順の一例について説明する。図6は、本実施形態におけるカルマンフィルターの更新処理の手順の一例を示すフローチャート図である。
まず、式(8)を用いて、3つのジャイロセンサー110X、110Y、110Zの出力電圧Vgiから慣性座標系角速度ベクトル(ar,ar,ar)を計算する(ステップS141)。
次に、式(6)と式(7)を用いて、ステップS141で計算した慣性座標系角速度ベクトル(ar,ar,ar)から3軸微小ステップ時間回転角クオータニオンΔQtを計算する(ステップS142)。
次に、式(11)を用いて、3つの加速度センサー112X、112Y、112Zの出力電圧Vaiから慣性座標系加速度ベクトル(gr,gr,gr)を計算する(ステップS143)。
次に、式(10)を用いて、ステップS143で計算した慣性座標系加速度ベクトルから3軸微小ステップ時間速度変化量ΔVeを計算する(ステップS144)。
次に、ステップS142で計算した3軸微小ステップ時間回転角クオータニオンΔQtとステップS144で計算した3軸微小ステップ時間速度変化量ΔVeを用いて、式(3)、(4)、(5)、(9)を満たすように種々の行列変形を施してFk−1を作成する(ステップS145)。
次に、更新式(2)を用いてFk−1とXk−1の行列積を計算し、Xk−1をX^に更新する(ステップS146)。
最後に、更新式(12)を用いてPk−1をP^に更新する(ステップS147)。
[カルマンフィルター修正処理]
本実施形態におけるカルマンフィルターの更新処理では、更新処理による時刻kにおける更新後の4種類のパラメーターbω^、bα^、Qt^、Ve^を、時刻kにおいて、それぞれbω、bα、Qt、Veに修正する処理を行う。
カルマンフィルターの修正処理では、次式(13)のような観測方程式が定義される。
Figure 2011185669
式(13)において、Zは観測値ベクトル、Xは求める値、yは観測残差、Hは観測方程式傾き成分行列である。
カルマンフィルター修正処理では、観測方程式(13)における観測残差yが最小になるような、すなわち次式(14)で定義される評価関数JWLSを最小にするようなXを求める処理を行う。
Figure 2011185669
Wは重みを表す対象行列である。
本実施形態では、求める値XはX=(bω、bα、Qt、Veに対応し、観測値ベクトルZは時刻kにおける観測値ベクトルZに対応し、Hは時刻k−1における観測方程式傾き成分行列Hk−1に対応する。ただし、Hk−1は各時刻で毎回計算しなおしてもよいし、固定値であってもよい。
本実施形態で用いる修正式は次式(15)のように定義される。
Figure 2011185669
はカルマンゲインであり、次式(16)のように定義される。
Figure 2011185669
は次式(17)のように定義される。
Figure 2011185669
k−1は次式(18)のように定義される。
Figure 2011185669
ここで、修正式(15)が評価関数JWLSを最小にするようにX^を修正するということは、Z−Hk−1が最小になる、言い換えるとHk−1がZに近づくように修正処理が行われる。従って、Xの真値の推定精度を高めるためには、観測値ベクトルZが最も確からしい値であることが望ましい。
そこで、本実施形態では、時刻kにおける更新後の姿勢角ベクトルQt^を修正するための観測値として、式(11)を用いて加速度センサー112X、112Y、112Zの出力電圧から計算される加速度ベクトル(gr,gr,gr)(=Vai−bαk−1/Se)を採用する。センサーモジュール100が静止状態の時は加速度センサーには重力加速度のみが加わるので、加速度センサー112X、112Y、112Zの出力電圧から計算される重力方向に基づいて、姿勢角ベクトルQt^を修正することができる。これにより、ジャイロセンサー110X、110Y、110Zのオフセット誤差から生ずる水平面ドリフトを補正することができる。
また、本実施形態では、時刻kにおける更新後の速度ベクトルVe^を修正するための観測値として(0,0,0)を採用する。すなわち、時刻kにおける修正後の速度ベクトルVeは(0,0,0)に近づく。そして、本実施形態では、速度ベクトルVeを仮想3次元空間における位置座標と定義するので、センサーモジュール100が静止状態の時は仮想3次元空間における位置座標が原点(0,0,0)に引き戻される。これにより、加速度センサー112X、112Y、112Zのオフセット誤差から生ずる、仮想3次元空間における位置座標のドリフトを補正することができる。
さらに、本実施形態におけるカルマンフィルターの修正処理では、更新処理により時刻kにおいて更新された後の共分散行列P^を、時刻kにおいて、KとHk−1を用いてPに修正する処理も行う。共分散行列P^の修正式は次式(19)のように定義される。
Figure 2011185669
次に、カルマンフィルターの修正処理の手順の一例について説明する。図7は、本実施形態におけるカルマンフィルターの修正処理の手順の一例を示すフローチャート図である。
まず、式(16)、式(17)、式(18)を用いて、カルマンゲインKを計算する(ステップS151)。
次に、観測値ベクトルZkを計算する(ステップS152)。前述のように、特に、本実施形態では、Qt^を修正するための観測値として(gr,gr,gr)を計算し、Ve^を修正するための観測値は(0,0,0)にする。なお、bω^を修正するための観測値とbα^を修正するための観測値は、一般的な既知の式に従って計算すればよい。
次に、修正式(15)を用いてX^をXに修正する(ステップS153)。
最後に、修正式(19)を用いてP^をPに修正する(ステップS154)。
1−5.効果
以上に説明したように、本実施形態では、慣性座標系(センサー座標系)の加速度ベクトルを固定座標系加速度ベクトルに変換した後に1階積分して得られる固定座標系速度ベクトルを仮想3次元空間における位置座標と1対1に対応づける。こうすることにより、固定座標系速度ベクトルをノルムとカルマンゲインの積に比例する速度で原点に引き戻すことができ、システムを起動してからある程度時間が経過しても、安定して位置座標を生成することができる。より具体的にいうと、本実施形態では、固定座標系速度ベクトルの更新処理を行った後、固定座標系速度ベクトルを(0,0,0)とする拘束条件に従って修正処理を行い、修正後の固定座標系速度ベクトルに対応づけて仮想3次元空間における位置座標を生成する。こうすることにより、原点に引き戻されるように位置座標が生成されるので、センサーオフセットに起因する位置座標の発散を効果的に抑制することができる。さらに、速度ベクトルは加速度ベクトルを1階積分して得られるので、速度ベクトルを位置座標と対応づけることで、位置座標のドリフト量はセンサーオフセットに比例し(従来のように、センサーオフセットの2乗に比例するのではない)、急激な増加が抑えられるので、カルマンゲインを比較的小さくすることができる。
また、本実施形態では、慣性座標系(センサー座標系)の角速度ベクトルを固定座標系角速度ベクトルに変換した後に1階積分して得られる固定座標系姿勢角ベクトルを仮想3次元空間における姿勢角と1対1に対応づける。こうすることにより、センサーオフセットによる姿勢角のドリフト量の急激な増加が抑えられ、カルマンゲインを比較的小さくすることができる。
また、本実施形態では、修正後の固定座標系速度ベクトル及び修正後の固定座標系姿勢角ベクトルを、それぞれ、そのまま仮想3次元空間における位置座標及び姿勢角とするので、あらためて位置座標を生成する計算が不要となり、計算量を低減することができる。
さらに、本実施形態によれば、ユーザーアプリケーションで姿勢を用いる必要があるとき、慣性センサーを用いて位置を算出することができるため、外部にセンサーを用意して、慣性センサーが据え付けられた系、あるいは系の外部に位置するユーザーアプリケーションに加速度データを送信し処理を行う必要がなくなる。
また、位置を算出するシステムが、慣性センサーが位置する系単独でシステムを構成することができるため、複数の系と系間の通信インターフェイスを用いる必要はなくなり、ある程度規模の大きいハードウェア、やステムリソースを必要とすることもなくなる。
また、システムのGUIにおいてウインドウとして3Dウインドウを用い、センサーモジュールをポインテッドデバイスとして用いる場合、モジュール慣性力情報(角速度情報、加速度情報)を3Dウインドウに物理的に反映するシステムがUIとして自然であるが、その際、位置(3Dウインドウ)も含めた姿勢を算出するアルゴリズムを提案できる。
このように、本実施形態によれば、簡易な構成でありながら位置座標と姿勢角の発散を抑制して仮想3次元空間における姿勢情報を適切に算出することができる。
2.第2実施形態
2−1.姿勢情報算出システムの構成
図8は、第2実施形態の姿勢情報算出システムの概略構成図である。図8に示すように、第2実施形態の姿勢情報算出システム1Bでは、センサー情報出力装置10Bが温度センサー114を含んで構成されている点において、第1実施形態の姿勢情報算出システム1Aと異なる。すなわち、センサー情報出力装置10Bは、互いに直交する3軸(X軸、Y軸、Z軸)方向の角速度情報と加速度情報に加えて、温度情報も出力する。
姿勢情報算出装置20Bは、センサー情報出力装置10Bによる検出情報(加速度情報、角速度情報、温度情報)に基づいて仮想3次元空間における姿勢角と位置座標を算出する処理を行う。
2−2.センサー情報出力装置の構成
図9は、センサー情報出力装置10Bの構成例を示す図である。センサーモジュール102には、第1実施形態におけるセンサーモジュール100と同様に、3つのジャイロセンサー110X、110Y、110Zと3つの加速度センサー112X、112Y、112Zが固定されている。さらに、センサーモジュール102は、ジャイロセンサー110X、110Y、110Z、加速度センサー112X、112Y、112Zの近傍に温度センサー114が固定されている。温度センサー114は、周辺温度に応じた大きさの直流電圧を出力する。
温度センサー114の出力電圧は、増幅器(AMP)124で増幅された後、ローパスフィルター(LPF)134を通してノイズ成分が除去される。
A/D変換器(ADC)140は、ローパスフィルター(LPF)130X、130Y、130Z、132X、132Y、132Z、134の各出力電圧VGX、VGY、VGZ、VAX、VAY、VAZ、Vを時分割にサンプリングしてそれぞれNビットのデジタル値GX、GY、GZ、AX、AY、AZ、T(Tは、温度センサー114の周辺温度に応じたデジタル値(温度情報))に変換し、時分割に出力する。このデジタル値GX、GY、GZ(角速度情報)、AX、AY、AZ(加速度情報)、T(温度情報)が、センサー情報出力装置10Bから姿勢情報算出装置20Bに送信される。
センサー情報出力装置10Bのその他の構成については、センサー情報出力装置10Aと同じであるので、その説明を省略する。
2−3.姿勢情報算出装置の構成
図10は、姿勢情報算出装置20Bの構成例を示す図である。
姿勢情報算出装置20Bでは、ADCインターフェース回路(ADCI/F)212は、センサー情報出力装置10Bが時分割に出力する角速度情報(GX、GY、GZ)、加速度情報(AX、AY、AZ)、温度情報(T)を、適当なタイミングで順番にサンプリングして取得する処理を行う。
マイコンインターフェース回路(マイコンI/F)214は、第1実施形態における姿勢情報算出装置20Aと同様に、慣性座標系角速度ベクトル(G)や慣性座標系加速度ベクトル(A)を生成する処理やその他の種々の処理を行い、さらに、慣性座標系角速度ベクトルGや慣性座標系加速度ベクトルAとともに温度情報Tもマイクロコンピューター300に供給する。
マイクロコンピューター300の構成は姿勢情報算出装置20Aと同じであるが、角速度オフセット更新手段236と加速度オフセット更新手段238の機能が第1実施形態と異なる。
角速度オフセット更新手段236は、温度情報(T)と時刻k−1における修正後のジャイロセンサー110X、110Y、110Zのオフセットに基づいて、時刻kにおけるジャイロセンサー110X、110Y、110Zのオフセットを更新する処理を行う。例えば、角速度オフセット更新手段236は、時刻k−1における修正後のジャイロセンサー110X、110Y、110Zのオフセットに、あらかじめ定義された、温度情報(T)とジャイロセンサー110X、110Y、110Zのオフセット補正値の対応関係を参照して得られるオフセット補正値を加算することにより、時刻kにおけるジャイロセンサー110X、110Y、110Zのオフセットを更新するようにしてもよい。
加速度オフセット更新手段238は、温度情報(T)と時刻k−1における修正後の加速度センサー112X、112Y、112Zのオフセットに基づいて、時刻kにおける加速度センサー112X、112Y、112Zのオフセットを更新する処理を行う。例えば、加速度オフセット更新手段238は、時刻k−1における修正後の加速度センサー112X、112Y、112Zのオフセットに、あらかじめ定義された、温度情報(T)と加速度センサー112X、112Y、112Zのオフセット補正値の対応関係を参照して得られるオフセット補正値を加算することにより、時刻kにおける加速度センサー112X、112Y、112Zのオフセットを更新するようにしてもよい。
姿勢情報算出装置20Bのその他の構成については、姿勢情報算出装置20Aと同じであるので、その説明を省略する。
2−4.姿勢情報算出処理の手順
2−4−1.処理手順の概略
第2実施形態における姿勢情報算出装置20Bの全体的な処理手順は、図4(A)及び図4(B)で説明した処理手順と同様であるので、その説明を省略する。
次に、第2実施形態におけるカルマンフィルターの構成について詳細に説明する。
2−4−2.カルマンフィルター
[使用変数]
第2実施形態におけるカルマンフィルターの更新処理と修正処理では、第1実施形態で説明した変数に加えて以下に示す変数を使用する。
Se:温度感度(mV/℃)
:温度センサーの出力値(mV)
第1実施形態と同様に、第2実施形態でも、これらの変数のうちカルマンフィルターによる更新・修正の対象となる変数(パラメーター)は、bω(bω^)、bα(bα^)、Qt(Qt^)、Ve(Ve^)の4種類である。
[処理手順]
第2実施形態におけるカルマンフィルターを用いた姿勢情報算出処理の手順は、図5で説明した処理手順と同様であるので、その説明を省略する。ただし、第2実施形態では、カルマンフィルターの更新処理(ステップS140)において、慣性座標系角速度ベクトル(G)、慣性座標系加速度ベクトル(A)、温度情報(T)と時刻k−1におけるパラメーター値に基づいて、時刻kにおけるパラメーター値を更新する処理が行われる点が第1実施形態と異なる。
[カルマンフィルター更新処理]
第2実施形態では、第1実施形態で説明した4つの更新式(3)、(4)、(5)、(9)のうち、更新式(5)と(9)の形は変わらないが、更新式(3)と(4)の形が異なる。
第2実施形態では、bω^を求める更新式を次式(20)のように定義する。
Figure 2011185669
関数bωは温度Tを角速度センサーオフセット補正用電圧値に変換する関数である。温度Tは次式(21)により求めることができる。
Figure 2011185669
また、第2実施形態では、bα^を求める更新式を次式(22)のように定義する。
Figure 2011185669
関数bαは温度Tを加速度センサーオフセット補正用電圧値に変換する関数である。温度Tは前述の式(21)により求めることができる。
第2実施形態におけるカルマンフィルター更新処理のその他の式は第1実施形態と同じであるので、その説明を省略する。
次に、カルマンフィルターの更新処理の手順の一例について説明する。図11は、第2実施形態におけるカルマンフィルターの更新処理の手順の一例を示すフローチャート図である。
まず、式(21)を用いて、温度センサー114の出力電圧Vから温度Tを計算する(ステップS240)。
次に、式(20)を用いて、ステップS240で計算した温度値Tから角速度センサーオフセット補正用電圧値bω(T)を計算する(ステップS241)。
次に、式(22)を用いて、ステップS240で計算した温度値Tから加速度センサーオフセット補正用電圧値bα(T)を計算する(ステップS242)。
続いて、ステップS243〜S249の処理を行って更新処理を終了するが、ステップS243〜S249の処理は、図11に示したステップS141〜S147の処理と同じであるので、その説明を省略する。
[カルマンフィルター修正処理]
第2実施形態におけるカルマンフィルター修正処理の内容及び手順は、第1実施形態と同じであるので、その説明を省略する。
2−5.効果
以上に説明した第2実施形態によれば、第1実施形態と同様の効果に加えて、以下の効果を奏する。
すなわち、第2実施形態では、bω^を求める更新式(20)とbα^を求める更新式(21)にともに温度補正の項が追加されているので、修正式(15)において、bω^に温度補正項に基づく修正も加えられる。このように、温度によるセンサーオフセットの変動を考慮してセンサーオフセットbω^、bα^を更新することでセンサーオフセットによるドリフト量を低減することができるので、カルマンゲインをより小さくすることができる。従って、仮想3次元空間における位置座標と姿勢角を、より迅速にセンサー出力に追従させることができる。
3.適用例
本実施形態の姿勢情報算出システム1A(1B)は、例えば、ポインティングデバイスとしての3Dマウス、バーチャルリアリティー等に使用されるヘッドマウントディスプレイ、頭の姿勢を検出するトラッカー、3Dゲームパッド等を使用する種々のシステムに適用することができる。一例として、図12に、本実施形態の姿勢情報算出システムを適用したゲームシステムを示す。
図12に示すゲームシステム1000は、コントローラー500、ゲーム機本体600、ディスプレイ装置700で構成されており、コントローラー500とゲーム機本体600、ゲーム機本体600とディスプレイ装置700は、それぞれ、通信ケーブル610と620で接続されており、情報通信が可能になっている。
このゲームシステム1000では、プレイヤーがコントローラー500を介して仮想3次元空間に配置された戦闘機オブジェクト(3Dモデル)を操作することができ、ゲーム機本体600のゲーム演算処理により、この戦闘機オブジェクトがディスプレイ装置700の表示部710に戦闘機720として2次元表示される。
このゲームシステム1000では、戦闘機720の姿勢がコントローラーの姿勢に連動する。例えば、ゲームコントローラー500を水平面内で左右方向(図のA方向)に移動させると、それに応じて戦闘機720が左右方向(図のa方向)に移動する。また、ゲームコントローラー500を水平面内で前後方向(図のB方向)に移動させると、それに応じて戦闘機720が上下方向(図のb方向)に移動する。さらに、ゲームコントローラー500を水平面内で回転させると(図のC方向の回転)、それに応じて戦闘機720が回転する(図のc方向の回転)。
この操作を可能とするため、コントローラー500には、その内部に、検出軸が互いに直交するように配置された3つの角速度センサーと、検出軸が互いに直交するように配置された3つの加速度センサーが設けられており、これらのセンサーの出力値はゲーム機本体600に送信され、仮想3次元空間における戦闘機オブジェクトの姿勢角と位置座標の算出処理が行われる。
コントローラー500とディスプレイ装置700をそれぞれ本実施形態のセンサー情報出力装置10A(10B)と姿勢情報算出装置20A(20B)として構成することにより、このゲームシステム1000を実現することができる。こうすることにより、コントローラー500の姿勢角と移動速度を、それぞれ戦闘機オブジェクトの姿勢角と位置座標に対応させることができ、コントローラ500の移動を停止する毎にセンサーオフセットによるドリフトが補正され、戦闘機720を表示部710の中心(原点)に引き戻すことができる。また、コントローラー500の移動速度を戦闘機オブジェクトの位置座標と対応させることでカルマンゲインを比較的小さくすることができるので、戦闘機オブジェクトの姿勢をユーザーの操作にリアルタイムに追従させることも容易である。
なお、コントローラー500には操作レバー510と520が設けられており、プレイヤーは操作レバー510、520を操作することで、戦闘機オブジェクトが備えるミサイルなどの種々の装備を扱うことができる。すなわち、このゲームシステム1000によれば、コントローラー500の姿勢を変えることでそれに応じて戦闘機オブジェクトの姿勢を変えながら、操作レバー510、520の操作により、この姿勢操作と同時に戦闘機オブジェクトの装備を扱うことができるので、プレイヤーの操作性やゲームの趣向性を向上させることができる。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
例えば、センサー情報出力装置10Aに含まれる3つのジャイロセンサー110X、110Y、110Zは、互いに直交する3軸(X軸、Y軸、Z軸)方向の角速度を検出するものとして説明したが、本発明の範囲はこれに限られず、ジャイロセンサー110X、110Y、110Zが互いに平行でない任意の3軸方向の角速度を検出する場合も本発明の範囲に含まれる。この場合、姿勢情報算出部220は、アラインメント補正により、互いに平行でない任意の3軸における角速度ベクトルを直交座標系における角速度ベクトルに変換した後、本実施形態において説明した処理を行うようにすればよい。
同様に、センサー情報出力装置10Aに含まれる3つの加速度センサー112X、112Y、112Zは、互いに直交する3軸(X軸、Y軸、Z軸)方向の加速度を検出するものとして説明したが、本発明の範囲はこれに限られず、加速度センサー112X、112Y、112Zが互いに平行でない任意の3軸方向の加速度を検出する場合も本発明の範囲に含まれる。この場合、姿勢情報算出部220は、アラインメント補正により、互いに平行でない任意の3軸における加速度ベクトルを直交座標系における加速度ベクトルに変換した後、本実施形態において説明した処理を行うようにすればよい。
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
1A,1B 姿勢情報算出システム、10A,10B センサー情報出力装置、20A,20B 姿勢情報算出装置、100,102 センサーモジュール、110X,110Y,110Z ジャイロセンサー、112X,112Y,112Z 加速度センサー、114 温度センサー、120X,120Y,120Z,122X,122Y,122Z,124 増幅器(AMP)、130X,130Y,130Z,132X,132Y,132Z,134 ローパスフィルター(LPF)、140 A/D変換器(ADC)、210 センサー情報取得部、212 ADCインターフェース回路(ADCI/F)、214 マイコンインターフェース回路(マイコンI/F)、220 姿勢情報算出部、230 姿勢情報更新部、232 速度ベクトル更新手段、234 姿勢角ベクトル更新手段、236 角速度オフセット更新手段、238 加速度オフセット更新手段、240 姿勢情報修正部、242 速度ベクトル修正手段、244 姿勢角ベクトル修正手段、246 角速度オフセット修正手段、248 加速度オフセット修正手段、250 姿勢情報生成部、252 位置座標生成手段、254 姿勢角生成手段、300 マイクロコンピューター、310 処理部、320 記憶部、330 通信部、400 情報記憶媒体、500 コントローラー、510,520 操作レバー、600 ゲーム機本体、610,620 通信ケーブル、700 ディスプレイ装置、710 表示部、720 戦闘機、1000 ゲームシステム

Claims (11)

  1. 3つの角速度センサーがそれぞれ検出する互いに平行でない3軸回りの角速度情報と、3つの加速度センサーがそれぞれ検出する互いに平行でない3軸方向の加速度情報と、に基づいて仮想3次元空間における姿勢角と位置座標を算出する姿勢情報算出装置であって、
    前記3軸回りの角速度情報と前記3軸方向の加速度情報を取得するセンサー情報取得部と、
    前記センサー情報取得部が取得した前記3軸回りの角速度情報と前記3軸方向の加速度情報に基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を算出する姿勢情報算出部と、を含み、
    前記姿勢情報算出部は、
    前記3軸方向の加速度情報から得られる慣性座標系加速度ベクトルに基づいて固定座標系速度ベクトルを算出し、当該固定座標系速度ベクトルに対応づけて前記仮想3次元空間における前記位置座標を算出する、姿勢情報算出装置。
  2. 請求項1において、
    前記姿勢情報算出部は、
    前記3軸回りの角速度情報と3軸方向の加速度情報に基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を特定するために必要な所与のパラメーターを更新する姿勢情報更新部と、
    前記姿勢情報更新部が更新した後の前記パラメーターを、所与の拘束条件に従い修正する姿勢情報修正部と、
    前記姿勢情報修正部が修正した後の前記パラメーターに基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を算出する姿勢情報生成部と、を含み、
    前記姿勢情報更新部は、
    前記慣性座標系加速度ベクトルと時刻k−1における修正後の前記固定座標系速度ベクトルに基づいて、時刻kにおける前記固定座標系速度ベクトルを更新する速度ベクトル更新手段を含み、
    前記姿勢情報修正部は、
    前記固定座標系速度ベクトルのノルムを0とする拘束条件に従い、前記速度ベクトル更新手段が更新した時刻kにおける前記固定座標系速度ベクトルを修正する速度ベクトル修正手段を含み、
    前記姿勢情報生成部は、
    前記速度ベクトル修正手段が修正した時刻kにおける前記固定座標系速度ベクトルに対応づけて前記仮想3次元空間における前記位置座標を生成する位置座標生成手段を含む、姿勢情報算出装置。
  3. 請求項2において、
    前記速度ベクトル更新手段は、
    前記慣性座標系加速度ベクトルを、時刻k−1における前記固定座標系姿勢角ベクトルに基づいて回転させて前記固定座標系加速度ベクトルに変換し、当該固定座標系加速度ベクトルから固定座標系重力加速度ベクトルを減算し、減算結果を所定の単位時間で1階積分して単位時間固定座標系速度ベクトルを算出し、時刻k−1における修正後の前記固定座標系速度ベクトルに前記単位時間固定座標系速度ベクトルを加算することにより時刻kにおける前記固定座標系速度ベクトルを更新する、姿勢情報算出装置。
  4. 請求項2又は3において、
    前記位置座標生成手段は、
    時刻kにおける修正後の前記固定座標系速度ベクトルを、時刻kにおける前記位置座標とする、姿勢情報算出装置。
  5. 請求項2乃至4のいずれかにおいて、
    前記姿勢情報算出部は、
    前記3軸回りの角速度情報から得られる慣性座標系角速度ベクトルに基づいて固定座標系姿勢角ベクトルを算出し、当該固定座標系姿勢角ベクトルに基づいて前記仮想3次元空間における前記姿勢角を算出し、
    前記姿勢情報更新部は、
    前記慣性座標系角速度ベクトルと時刻k−1における修正後の前記固定座標系姿勢角ベクトルに基づいて、時刻kにおける前記固定座標系姿勢角ベクトルを更新する姿勢角ベクトル更新手段を含み、
    前記姿勢情報修正部は、
    前記慣性座標系加速度ベクトルに基づく拘束条件に従い、前記姿勢角ベクトル更新手段が更新した時刻kにおける前記固定座標系姿勢角ベクトルを修正する姿勢角ベクトル修正手段を含み、
    前記姿勢情報生成部は、
    修正後の前記固定座標系姿勢角ベクトルに基づいて、前記仮想3次元空間における前記姿勢角を生成する姿勢角生成手段を含む、姿勢情報算出装置。
  6. 請求項5において、
    前記姿勢角ベクトル更新手段は、
    前記慣性座標系角速度ベクトルを所定の単位時間で1階積分して単位時間回転角クオータ二オンを算出し、時刻k−1における修正後の前記固定座標系姿勢角ベクトルに前記単位時間回転角クオータ二オンを作用させることにより時刻kにおける前記固定座標系姿勢角ベクトルを更新する、姿勢情報算出装置。
  7. 請求項5又は6において、
    前記姿勢角生成手段は、
    時刻kにおける修正後の前記固定座標系姿勢角ベクトルを、時刻kにおける前記姿勢角とする、姿勢情報算出装置。
  8. 請求項2乃至7のいずれかにおいて、
    前記センサー情報取得部は、
    温度センサーが検出する温度情報を受け取り、
    前記姿勢情報更新部は、
    前記温度情報に対応づけられた角速度センサーのオフセットと時刻k−1における修正後の前記3つの角速度センサーのオフセットに基づいて、時刻kにおける前記3つの角速度センサーのオフセットを更新する角速度オフセット更新手段と、
    前記温度情報に対応づけられた加速度センサーのオフセットと時刻k−1における修正後の前記3つの加速度センサーのオフセットに基づいて、時刻kにおける前記3つの加速度センサーのオフセットを更新する加速度オフセット更新手段と、を含み、
    前記姿勢情報修正部は、
    所与の拘束条件に従い、前記角速度オフセット更新手段が更新した時刻kにおける前記3つの角速度センサーのオフセットを修正する角速度オフセット修正手段と、
    所与の拘束条件に従い、前記加速度オフセット更新手段が更新した時刻kにおける前記3つの加速度センサーのオフセットを修正する加速度オフセット修正手段と、を含む、姿勢情報算出装置。
  9. 互いに平行でない3軸回りの角速度情報をそれぞれ検出する3つの角速度センサーと、
    互いに平行でない3軸方向の加速度情報をそれぞれ検出する3つの加速度センサーと、
    請求項1乃至8のいずれかに記載の姿勢情報算出装置と、を含む、姿勢情報算出システム。
  10. 3つの角速度センサーがそれぞれ検出する互いに平行でない3軸回りの角速度情報と、3つの加速度センサーがそれぞれ検出する互いに平行でない3軸方向の加速度情報と、に基づいて仮想3次元空間における姿勢角と位置座標を算出する姿勢情報算出方法であって、
    前記3軸回りの角速度情報と前記3軸方向の加速度情報を取得するセンサー情報取得ステップと、
    前記センサー情報取得ステップにおいて取得した前記3軸回りの角速度情報と前記3軸方向の加速度情報に基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を算出する姿勢情報算出ステップと、を含み、
    前記姿勢情報算出ステップにおいて、
    前記3軸方向の加速度情報から得られる慣性座標系加速度ベクトルに基づいて固定座標系速度ベクトルを算出し、当該固定座標系速度ベクトルに対応づけて前記仮想3次元空間における前記位置座標を算出する、姿勢情報算出方法。
  11. 3つの角速度センサーがそれぞれ検出する互いに平行でない3軸回りの角速度情報と、3つの加速度センサーがそれぞれ検出する互いに平行でない3軸方向の加速度情報と、に基づいて仮想3次元空間における姿勢角と位置座標を算出する姿勢情報算出プログラムであって、
    前記3軸回りの角速度情報と前記3軸方向の加速度情報に基づいて、前記仮想3次元空間における前記姿勢角と前記位置座標を算出する姿勢情報算出部としてコンピューターを機能させ、
    前記姿勢情報算出部は、
    前記3軸方向の加速度情報から得られる慣性座標系加速度ベクトルに基づいて固定座標系速度ベクトルを算出し、当該固定座標系速度ベクトルに対応づけて前記仮想3次元空間における前記位置座標を算出する、姿勢情報算出プログラム。
JP2010049493A 2010-03-05 2010-03-05 姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラム Active JP5614527B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010049493A JP5614527B2 (ja) 2010-03-05 2010-03-05 姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラム
US13/020,876 US9043177B2 (en) 2010-03-05 2011-02-04 Posture information calculation device, posture information calculation system, posture information calculation method, and information storage medium
CN201110053281.3A CN102192740B (zh) 2010-03-05 2011-03-04 姿势信息计算装置、姿势信息计算系统及姿势信息计算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010049493A JP5614527B2 (ja) 2010-03-05 2010-03-05 姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラム

Publications (3)

Publication Number Publication Date
JP2011185669A true JP2011185669A (ja) 2011-09-22
JP2011185669A5 JP2011185669A5 (ja) 2013-03-21
JP5614527B2 JP5614527B2 (ja) 2014-10-29

Family

ID=44532052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010049493A Active JP5614527B2 (ja) 2010-03-05 2010-03-05 姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラム

Country Status (3)

Country Link
US (1) US9043177B2 (ja)
JP (1) JP5614527B2 (ja)
CN (1) CN102192740B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015506518A (ja) * 2012-03-29 2015-03-02 ▲華▼▲為▼▲終▼端有限公司 デスクトップ・コンテナ・ページの切り替えを制御するための方法および端末

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015094631A (ja) * 2013-11-11 2015-05-18 セイコーエプソン株式会社 位置算出装置及び位置算出方法
CN104713530B (zh) * 2015-02-06 2016-11-23 南京理工大学 运动物体空间坐标信息探测方法
JP6332212B2 (ja) 2015-09-18 2018-05-30 カシオ計算機株式会社 姿勢推定装置、姿勢推定方法及びプログラム
CN106612491A (zh) * 2015-10-22 2017-05-03 中兴通讯股份有限公司 一种实现报警的方法、装置和系统
CN105807915A (zh) * 2016-02-24 2016-07-27 北京小鸟看看科技有限公司 虚拟鼠标的控制方法、控制装置以及头戴显示设备
TWI664533B (zh) * 2017-01-18 2019-07-01 宏達國際電子股份有限公司 定位裝置及方法
CN110832342A (zh) * 2017-06-30 2020-02-21 古野电气株式会社 航迹预测装置、航迹预测方法及航迹预测程序
JP7257116B2 (ja) * 2017-12-21 2023-04-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 姿勢同定方法及びプログラム
JP7155562B2 (ja) * 2018-03-22 2022-10-19 トヨタ自動車株式会社 姿勢角演算装置、移動装置、姿勢角演算方法、およびプログラム
CN109029459B (zh) * 2018-07-24 2023-07-21 南京信息工程大学 一种运动目标轨迹追踪系统及基于该系统的计算方法
JP2020020630A (ja) * 2018-07-31 2020-02-06 セイコーエプソン株式会社 姿勢推定方法、姿勢推定装置及び移動体
CN109395374A (zh) * 2018-09-04 2019-03-01 南京工程学院 基于人体姿态检测的互动式运动娱乐设备及其控制方法
JP7133511B2 (ja) * 2019-06-11 2022-09-08 本田技研工業株式会社 情報処理装置、情報処理方法、およびプログラム
CN110414590A (zh) * 2019-07-24 2019-11-05 重庆大学 基于智能移动设备和卷积神经网络的人体活动识别方法
CN110705496B (zh) * 2019-10-11 2023-04-18 成都乐动信息技术有限公司 一种基于九轴传感器的游泳姿势识别方法
CN113091979B (zh) * 2019-12-23 2022-07-22 马洪文 分布式多维力测力系统及测力方法
CN111241983B (zh) * 2020-01-07 2023-09-26 京东科技信息技术有限公司 一种姿势检测方法、装置、系统、电子设备及存储介质
CN113587920B (zh) * 2020-04-30 2024-02-20 阿里巴巴集团控股有限公司 运动测量方法、装置、电子设备及计算机可读存储介质
CN111678514B (zh) * 2020-06-09 2023-03-28 电子科技大学 一种基于载体运动条件约束和单轴旋转调制的车载自主导航方法
CN112188037B (zh) * 2020-09-24 2023-03-24 影石创新科技股份有限公司 生成陀螺仪旋转方向的方法及计算机设备
JP2023050517A (ja) * 2021-09-30 2023-04-11 セイコーエプソン株式会社 慣性センサーデバイス及びセンサーモジュール
CN114184211B (zh) * 2021-12-27 2023-07-14 北京计算机技术及应用研究所 一种惯导可靠性试验中性能变化机理一致性判定方法
CN116674701B (zh) * 2023-04-26 2024-06-04 上海新纪元机器人有限公司 减摇防晕座椅及其控制方法和系统
CN117450992B (zh) * 2023-09-21 2024-05-03 中国海洋工程研究院(青岛) 一种姿态与磨损监测预警方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008307392A (ja) * 2007-06-18 2008-12-25 Ailive Inc 可動コントローラを使った対話式制御のための自己完結式慣性ナビゲーション・システム
JP2009003651A (ja) * 2007-06-20 2009-01-08 Nintendo Co Ltd 情報処理プログラムおよび情報処理装置
JP2010048814A (ja) * 2009-10-20 2010-03-04 Nintendo Co Ltd ディジタルデータ補正プログラムおよびディジタルデータ補正装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH095104A (ja) 1995-06-23 1997-01-10 Nippon Telegr & Teleph Corp <Ntt> 移動物体の三次元姿勢角測定法および三次元姿勢角計測装置
JPH11213176A (ja) * 1998-01-26 1999-08-06 Sega Enterp Ltd 画像処理方法
US6176837B1 (en) * 1998-04-17 2001-01-23 Massachusetts Institute Of Technology Motion tracking system
US6375572B1 (en) * 1999-10-04 2002-04-23 Nintendo Co., Ltd. Portable game apparatus with acceleration sensor and information storage medium storing a game progam
KR100552688B1 (ko) * 2003-09-08 2006-02-20 삼성전자주식회사 관성 항법 시스템의 자세 보상 방법 및 장치, 이를 이용한관성 항법 시스템의 위치 계산 방법 및 장치
JP4876204B2 (ja) 2006-01-05 2012-02-15 ヒロボー株式会社 小型姿勢センサ
US9007299B2 (en) 2006-07-14 2015-04-14 Ailive Inc. Motion control used as controlling device
US8781162B2 (en) 2011-01-05 2014-07-15 Ailive Inc. Method and system for head tracking and pose estimation
US8041659B2 (en) 2006-07-14 2011-10-18 Ailive, Inc. Systems and methods for motion recognition using multiple sensing streams
US20110044501A1 (en) 2006-07-14 2011-02-24 Ailive, Inc. Systems and methods for personalized motion control
US7702608B1 (en) 2006-07-14 2010-04-20 Ailive, Inc. Generating motion recognizers for arbitrary motions for video games and tuning the motion recognizers to the end user
US7636645B1 (en) * 2007-06-18 2009-12-22 Ailive Inc. Self-contained inertial navigation system for interactive control using movable controllers
US20120208639A1 (en) 2006-07-14 2012-08-16 Ailive Inc. Remote control with motion sensitive devices
US9405372B2 (en) 2006-07-14 2016-08-02 Ailive, Inc. Self-contained inertial navigation system for interactive control using movable controllers
US8384665B1 (en) 2006-07-14 2013-02-26 Ailive, Inc. Method and system for making a selection in 3D virtual environment
US9050528B2 (en) 2006-07-14 2015-06-09 Ailive Inc. Systems and methods for utilizing personalized motion control in virtual environment
JP4285548B2 (ja) * 2007-02-05 2009-06-24 エプソントヨコム株式会社 ジャイロセンサモジュールおよび角速度検出方法
US20090221368A1 (en) 2007-11-28 2009-09-03 Ailive Inc., Method and system for creating a shared game space for a networked game
US8419545B2 (en) 2007-11-28 2013-04-16 Ailive, Inc. Method and system for controlling movements of objects in a videogame
EP2140919B1 (en) * 2008-06-30 2018-09-05 Nintendo Co., Ltd. Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
US7925467B2 (en) 2008-06-30 2011-04-12 Nintendo Co., Ltd. Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
JP6029255B2 (ja) * 2008-07-03 2016-11-24 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
JP4439572B2 (ja) 2008-07-11 2010-03-24 任天堂株式会社 ディジタルデータ補正プログラムおよびディジタルデータ補正装置
CN101648076A (zh) * 2008-08-12 2010-02-17 鼎亿数码科技(上海)有限公司 游戏控制器及其使用陀螺仪的运动捕捉方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008307392A (ja) * 2007-06-18 2008-12-25 Ailive Inc 可動コントローラを使った対話式制御のための自己完結式慣性ナビゲーション・システム
JP2009003651A (ja) * 2007-06-20 2009-01-08 Nintendo Co Ltd 情報処理プログラムおよび情報処理装置
JP2010048814A (ja) * 2009-10-20 2010-03-04 Nintendo Co Ltd ディジタルデータ補正プログラムおよびディジタルデータ補正装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015506518A (ja) * 2012-03-29 2015-03-02 ▲華▼▲為▼▲終▼端有限公司 デスクトップ・コンテナ・ページの切り替えを制御するための方法および端末
JP2016164807A (ja) * 2012-03-29 2016-09-08 ▲華▼▲為▼▲終▼端有限公司 デスクトップ・コンテナ・ページの切り替えを制御するための方法および端末

Also Published As

Publication number Publication date
US20110218753A1 (en) 2011-09-08
US9043177B2 (en) 2015-05-26
JP5614527B2 (ja) 2014-10-29
CN102192740A (zh) 2011-09-21
CN102192740B (zh) 2015-02-04

Similar Documents

Publication Publication Date Title
JP5614527B2 (ja) 姿勢情報算出装置、姿勢情報算出システム、姿勢情報算出方法及び姿勢情報算出プログラム
JP5930451B2 (ja) ジャイロスコープの調整およびジャイロカメラのアライメント
Madgwick An efficient orientation filter for inertial and inertial/magnetic sensor arrays
JP4876204B2 (ja) 小型姿勢センサ
CN108731676B (zh) 一种基于惯性导航技术的姿态融合增强测量方法及系统
JP2015179002A (ja) 姿勢推定方法、姿勢推定装置及びプログラム
EP2140227A1 (en) Method and system for orientation sensing
WO2021218731A1 (zh) Imu与刚体的位姿融合方法、装置、设备及存储介质
CN108827288A (zh) 一种基于对偶四元数的降维捷联惯性导航系统初始对准方法及系统
Aligia et al. An orientation estimation strategy for low cost IMU using a nonlinear Luenberger observer
JP2013096724A (ja) 状態推定装置
JP2013122384A (ja) カルマンフィルタ、及び、状態推定装置
JP2012037405A (ja) センサー装置、電子機器及び角速度センサーのオフセット補正方法
He et al. Estimating the orientation of a rigid body moving in space using inertial sensors
CN115839726B (zh) 磁传感器和角速度传感器联合标定的方法、系统及介质
JP2013185898A (ja) 状態推定装置
JP5962842B2 (ja) 空間安定装置、空間安定方法、及び空間安定プログラム
Barraza-Madrigal et al. Instantaneous position and orientation of the body segments as an arbitrary object in 3D space by merging gyroscope and accelerometer information
Isaev et al. Mathematical modelling of the stabilization system for a mobile base video camera using quaternions
Schwaab et al. Fusion of visual odometry and inertial sensors using dual quaternions and stochastic cloning
WO2024141098A1 (zh) 用于在头戴显示设备显示画面的方法、装置、设备及介质
WO2024141097A1 (zh) 用于修正用户设备与目标设备的相对姿态的方法及装置
McLean et al. A robotic joint sensor
Von Marcard Design and implementation of an attitude estimation system to control orthopedic components
Liu et al. A linear computationally efficient Kalman filter for robust attitude estimation from horizon measurements and GNSS observations

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140430

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20140619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140630

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: 20140813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140826

R150 Certificate of patent or registration of utility model

Ref document number: 5614527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350