(57)【要約】  機器に搭載され、機器の角速度を検出する角速度検出部の出力に基づいて機器の第１の姿勢を算出する第１の姿勢算出部と、第１の姿勢算出部と異なる手段で機器の第２の姿勢を算出する第２の姿勢算出部と、第１の姿勢と、第２の姿勢と、機器の回転情報と、に基づき、第３の姿勢を算出する第３の姿勢算出部と、を備える姿勢算出装置を提供する。
2014125809.tif 000002
【特許請求の範囲】
【請求項１】
機器に搭載され、前記機器の角速度を検出する角速度検出部の出力に基づいて前記機器の第１の姿勢を算出する第１の姿勢算出部と、
前記第１の姿勢算出部と異なる手段で前記機器の第２の姿勢を算出する第２の姿勢算出部と、
前記第１の姿勢と、前記第２の姿勢と、前記機器の回転情報と、に基づき、第３の姿勢を算出する第３の姿勢算出部と、
を備える姿勢算出装置。
【請求項２】
前記第３の姿勢算出部は、
単位時間当たりの前記機器の回転量が小さいほど、前記第１の姿勢に対する差分が小さくなる前記第３の姿勢を算出し、単位時間当たりの前記機器の回転量が大きいほど、前記第２の姿勢に対する差分が小さくなる前記第３の姿勢を算出する
請求項１に記載の姿勢算出装置。
【請求項３】
前記第２の姿勢算出部は、
前記機器に搭載された地磁気検出部及び加速度検出部の少なくとも一方の出力に基づいて前記第２の姿勢を算出する
請求項１又は２に記載の姿勢算出装置。
【請求項４】
前記第３の姿勢出力部は、
前記地磁気検出部または加速度検出部の出力に基づいて、前記第３の姿勢を出力するか否かを決定し、前記第３の姿勢を出力しない場合は、前記第１の姿勢を出力する
請求項３に記載の姿勢算出装置。
【請求項５】
前記第１の姿勢算出部は、前記第２の姿勢算出部よりも短い周期で前記機器の姿勢を算出する
請求項１から４の何れか１項に記載の姿勢算出装置。
【請求項６】
前記第１の姿勢算出部は、前記角速度検出部の出力を累積して前記第１の姿勢を算出する
請求項１から５の何れか１項に記載の姿勢算出装置。
【請求項７】
前記機器の回転情報に基づいて、前記第１の姿勢と前記第２の姿勢とを組み合わせる割合を動的に決定する決定部を更に備え、
前記第３の姿勢算出部は、
前記第１の姿勢と、前記第２の姿勢と、前記決定部が決定した割合と、に基づいて、第３の姿勢を算出する
請求項１から６の何れか１項に記載の姿勢算出装置。
【請求項８】
前記決定部は、
単位時間当たりの前記機器の回転量が大きいほど前記第２の姿勢の割合が大きく、単位時間当たりの前記機器の回転量が小さいほど前記第２の姿勢の割合が小さくなるように前記割合を動的に決定する
請求項７に記載の姿勢算出装置。
【請求項９】
前記第１の姿勢と前記第２の姿勢との差分を算出する差分算出部を更に備え、
前記第３の姿勢算出部は、
前記第１の姿勢及び前記第２の姿勢の少なくとも一方と、前記第１の姿勢と前記第２の姿勢との差分と、前記決定部が決定した割合と、に基づいて、前記第３の姿勢を算出する
請求項７又は８に記載の姿勢算出装置。
【請求項１０】
前記第１の姿勢から前記第２の姿勢への回転軸を算出する回転軸算出部
を更に備え、
前記第３の姿勢算出部は、
前記第１の姿勢に対して、前記回転軸算出部が算出した前記回転軸に、前記機器の回転量を適用して、前記第３の姿勢を算出する
請求項１から６の何れか１項に記載の姿勢算出装置。
【請求項１１】
前記第３の姿勢算出部は、
１単位時間前の前記第１の姿勢に対して、前記回転軸算出部が算出した前記回転軸に、前記機器の回転量を適用して、前記第３の姿勢を算出する
請求項１０に記載の姿勢算出装置。
【請求項１２】
請求項１から１１のいずれか１項に記載の姿勢算出装置を備える携帯機器。
【請求項１３】
機器に搭載され、前記機器の角速度を検出する角速度検出部の出力に基づいて前記機器の第１の姿勢を算出する第１の姿勢算出段階と、
前記第１の姿勢算出段階と異なる手段で前記機器の第２の姿勢を算出する第２の姿勢算出段階と、
前記第１の姿勢と、前記第２の姿勢と、前記機器の回転情報と、に基づき、第３の姿勢を算出する第３の姿勢算出段階と、
を備える姿勢算出方法。
【請求項１４】
コンピュータを、請求項１から１１のいずれか１項に記載の姿勢算出装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、姿勢算出装置、姿勢算出方法、携帯機器およびプログラムに関する。
【背景技術】
【０００２】
従来、機器の姿勢を検出する装置として、角速度センサ、加速度センサおよび地磁気センサを用いた装置が知られている。当該装置の一例として、角速度センサの出力に基づいて単位時間あたりの移動角度を演算する運動角演算装置と、加速度センサ及び地磁気センサの出力に基づいて、静止角を演算する静止角演算装置と、該静止角演算装置による演算結果の真偽を判別する判別装置と、該判別装置の演算結果に応じて、前記運動角演算装置及び静止角演算装置の演算結果から姿勢角を演算する姿勢角演算装置とから構成される姿勢角検出装置が知られている（例えば特許文献１参照）。
[特許文献１]  特開平１１−２１１４７９号公報【０００３】
特許文献１の姿勢角演算装置は、静止角演算装置による演算結果が正しくないと推定される場合に、運動角から姿勢角を算出する。また、特許文献１の姿勢角演算装置は、静止角演算装置による演算結果が正しいと推定される場合に、運動角演算装置から得られる運動角と、静止角演算装置から得られる静止角を予め定められた割合で足し合わせて姿勢角を算出する。即ち、特許文献１の姿勢角演算装置は、運動角と静止角をｋ：１−ｋ（ｋは予め定められた定数）の割合で足し合わせた姿勢を姿勢角として算出している。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の姿勢角検出装置は、機器の使用者に与える違和感を少なくすることと、加速度センサや地磁気センサの出力が正しいと推定される場合に姿勢角を素早く静止角に追従させることの二つを両立させることができないという問題がある。以下、その理由について説明する。【０００５】
多くの場面で、姿勢角演算装置を搭載する機器は大きな加速度をもって運動していたり、姿勢角演算装置の周囲には大きな外乱磁場が発生している。そのため、加速度センサや地磁気センサの出力が正しいと推定される場面は少ない。従って、特許文献１の姿勢角検出装置では、大半は運動角に基づいて姿勢角が算出され、静止角と運動角に基づいて姿勢角が算出される場面は少ない。特許文献１において、ｋの値が小さい場合、運動角の影響が小さく、静止角の影響が大きくなるので、加速度センサや地磁気センサの出力が正しいと推定される場合に姿勢が大きく変化することとなる。機器が静止に近い状態で姿勢が大きく変化すると、機器の使用者に違和感を与えてしまう。一方、ｋの値が大きい場合、運動角の影響が大きく、静止角の影響が小さくなるので、機器の使用者に与える違和感は少なくなるが、静止角に素早く追従することができない。このように、特許文献１の姿勢角検出装置は、機器の使用者に与える違和感を少なくすることと、加速度センサや地磁気センサの出力が正しいと推定される場合に姿勢角を素早く静止角に追従させることの二つを両立させることできないという問題がある。
【課題を解決するための手段】
【０００６】
本発明の第１の態様においては、機器に搭載され、機器の角速度を検出する角速度検出部の出力に基づいて機器の第１の姿勢を算出する第１の姿勢算出部と、第１の姿勢算出部と異なる手段で機器の第２の姿勢を算出する第２の姿勢算出部と、第１の姿勢と、第２の姿勢と、機器の回転情報と、に基づき、第３の姿勢を算出する第３の姿勢算出部と、を備える姿勢算出装置、ならびに、当該装置に係る姿勢算出方法を提供する。【０００７】
本発明の第２の態様においては、第１の態様における姿勢検出装置を備える携帯機器を提供する。本発明の第３の態様においては、コンピュータを、第１の態様における姿勢算出装置として機能させるプログラムを提供する。【０００８】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る携帯機器の概要を示す図である。
【図２】姿勢算出装置の構成例を示す図である。
【図３】姿勢算出部の構成例を示す図である。
【図４】姿勢算出部の動作の概要を説明する図である。
【図５】姿勢算出装置の動作例を示すフローチャートである。
【図６】姿勢算出部の他の構成例を示す図である。
【図７】図６に示した姿勢算出部の動作の概要を説明する図である。
【図８】図６の姿勢算出部を用いた姿勢算出装置の動作例を示すフローチャートである。
【図９】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、本発明の実施形態に係る携帯機器２００の概要を示す図である。携帯機器２００は、携帯電話、タブレット型端末、携帯型パソコン、カメラ、腕時計、ヘッドマウントディスプレイ、ゲーム機等のように、携帯可能な機器を指す。携帯機器２００は、姿勢算出装置１００を備える。姿勢算出装置１００は、直交軸Ｘ、Ｙ、Ｚを有する基準座標系における携帯機器２００の姿勢を検出する。機器の姿勢は、オイラー角または四元数等を用いて定義することができる。
【００１２】
姿勢算出装置１００は、過去から現時点までの携帯機器２００の回転を累積した第１の姿勢と、現時点における携帯機器２００に関する情報に基づく第２の姿勢とを算出する。
【００１３】
図２は、姿勢算出装置１００の構成例を示す図である。本例の姿勢算出装置１００は、地磁気検出部１０、加速度検出部１２、角速度検出部１４、オフセット除去部１６、静止判定部１８および姿勢算出部２０を備える。
【００１４】
角速度検出部１４は、携帯機器２００の角速度を検出する。角速度検出部１４は、直交する３軸（ロール、ピッチ、ヨー）のそれぞれに対して設けられ、携帯機器２００の回転を、各軸を中心とする回転成分に分離して検出する。
【００１５】
静止判定部１８は、携帯機器２００が静止状態か否かを判定する。静止判定部１８は、各検出部が検出したデータに基づいて静止状態を判定する。例えば静止判定部１８は、角速度検出部１４が検出する角速度が、所定の閾値以下の場合に静止状態と判定する。
【００１６】
オフセット除去部１６は、角速度検出部１４の出力におけるオフセット成分を検出する。オフセット成分とは、例えば携帯機器２００が実際には静止しているにも関わらず、角速度検出部１４の出力に現れる角速度成分を指す。オフセット除去部１６は、静止判定部１８が静止状態と判定している間の、角速度検出部１４の出力を平均してオフセット成分を検出してよい。オフセット除去部１６は、角速度検出部１４が出力する角速度データから、当該オフセット成分を除去する。オフセット除去部１６は、定期的にオフセット成分を検出することが好ましい。
【００１７】
姿勢算出部２０は、オフセット成分が除去された角速度データに基づいて、携帯機器２００の第１の姿勢を算出する。姿勢算出部２０は、順次検出される角速度データに応じた姿勢の変化を累積することで、携帯機器２００の第１の姿勢を算出する。また、姿勢算出部２０は、オフセット成分が除去された角速度データに基づいて、携帯機器２００の回転情報を算出する。回転情報としては、携帯機器２００の回転状態を示す情報であれば特に限定は無く、例えば、単位時間当たりの携帯機器２００の回転量や所定時刻における携帯機器２００の角速度などが挙げられる。
【００１８】
地磁気検出部１０は、直交する３軸（ロール、ピッチ、ヨー）のそれぞれに対して設けられ、各軸に平行な磁気成分を検出する。これにより、携帯機器２００に対する地磁気の方向を検出する。加速度検出部１２は、直交する３軸（ロール、ピッチ、ヨー）のそれぞれに対して設けられ、各軸に平行な加速度成分を検出する。これにより、携帯機器２００に対する重力加速度の方向を検出する。
【００１９】
姿勢算出部２０は、地磁気検出部１０および加速度検出部１２が出力する磁気データおよび加速度データに基づいて、携帯機器２００の第２の姿勢を検出する。第１の姿勢が、過去から現時点までのデータの累積で算出されるので誤差が蓄積されるのに対して、第２の姿勢は、過去のデータを用いずに現時点におけるデータから検出されるので誤差が蓄積されない。
【００２０】
なお、磁気データおよび加速度データには、地磁気および重力加速度の他の要因による磁気および加速度の成分が含まれてしまう。このため、姿勢算出部２０は、所定の条件を満たしたときだけ、磁気データおよび加速度データから第２の姿勢を算出する。一般に、姿勢算出部２０が第２の姿勢を算出できる頻度は、第１の姿勢を算出する頻度より少ない。ところで、角速度検出部１４は温度等の影響により一般にオフセットにドリフトが生じる。その為、角速度データを長時間累積すると誤差が蓄積されてしまい、第１の姿勢が正しい姿勢ではなくなってしまう。
【００２１】
姿勢算出部２０は、第２の姿勢を算出した場合に、第１の姿勢と第２の姿勢と角速度検出部の出力から得られる機器の回転情報とに基づいて新たな第３の姿勢を算出する。姿勢算出部２０は、第３の姿勢を現時点における第１の姿勢として用い、以降の携帯機器２００の回転を累積してよい。定期的に第３の姿勢を算出して機器の姿勢として出力することで、第１の姿勢において誤差が蓄積されることを防ぐことができる。
【００２２】
図３は、本発明の実施形態に係る姿勢算出部２０の構成例を示す図である。本例の姿勢算出部２０は、第２の姿勢算出部２２、第１の姿勢算出部２４、差分算出部２６、係数算出部２８、第３の姿勢算出部３０および決定部３２を有する。
【００２３】
第２の姿勢算出部２２は、地磁気検出部１０および加速度検出部１２が検出した磁気データおよび加速度データに基づいて、携帯機器２００の第２の姿勢を算出する。なお、第２の姿勢を算出するのに用いるパラメータは、地磁気の方向および重力方向に限定されない。第２の姿勢算出部２２は、方向が既知の多様なパラメータ（例えば、太陽の方向、外部の既知のマーカーの方向、ＧＰＳ、ネットワーク測位）に基づいて、第２の姿勢を算出することができる。
【００２４】
例えば第２の姿勢算出部２２は、加速度データに基づいて、重力方向に対して携帯機器２００がどれだけ傾いているかを算出する。そして、当該傾きと、地磁気データとに基づいて、水平面において携帯機器２００が向いている方位を算出する。これにより、携帯機器２００の第２の姿勢を算出することができる。本例では、現時点の時刻ｔにおける携帯機器２００の第２の姿勢を、時刻ｔにおける加速度データおよび磁気データにより算出されるロール角Ｒ（ｔ）、ピッチ角Ｐ（ｔ）、ヨー角Ｙ（ｔ）で表す。
【００２５】
なお、携帯機器２００に運動加速度が生じている場合、加速度データからは重力方向を精度よく算出することができない。このため、第２の姿勢算出部２２は、加速度検出部１２が検出する３軸方向の加速度を合成したベクトルの大きさと、重力加速度である１Ｇに相当する大きさとを比較して、差分が所定の閾値以下である場合に第２の姿勢を算出する。
【００２６】
第１の姿勢算出部２４は、角速度検出部１４が検出した角速度データに基づいて、携帯機器２００の第１の姿勢を算出する。本例の第１の姿勢算出部２４は、オフセット除去部１６によりオフセット成分が除去された角速度データに基づいて、第１の姿勢を算出する。本例では、時刻ｔにおける携帯機器２００の第１の姿勢を、時刻ｔにおけるロール角ｒ（ｔ）、ピッチ角ｐ（ｔ）、ヨー角ｙ（ｔ）で表す。ロール角ｒ（ｔ）、ピッチ角ｐ（ｔ）、ヨー角ｙ（ｔ）は、下式で与えられる。
ｒ（ｔ）＝ｒ（ｔ−１）＋Δｒ（ｔ）
ｐ（ｔ）＝ｐ（ｔ−１）＋Δｐ（ｔ）
ｙ（ｔ）＝ｙ（ｔ−１）＋Δｙ（ｔ）
ここで、ｔ−１は、時刻ｔから１単位時間前の時刻を指す。また、Δｒ（ｔ）、Δｐ（ｔ）、Δｙ（ｔ）は、時刻ｔ−１から時刻ｔまでの期間における携帯機器２００の回転量を示す。本明細書において、当該回転量を、現時点の回転量と称する場合がある。当該回転量は、例えば時刻ｔにおける角速度に１単位時間を乗じて算出される。１単位時間は、角速度検出部１４における角速度の検出間隔と同一であってよい。
【００２７】
差分算出部２６は、第１の姿勢および第２の姿勢の差分を算出する。本例の差分算出部２６は、ロール角、ピッチ角、ヨー角のそれぞれの差分ｒ（ｔ）−Ｒ（ｔ）、ｐ（ｔ）−Ｐ（ｔ）、ｙ（ｔ）−Ｙ（ｔ）を算出する。
【００２８】
決定部３２は、携帯機器２００の回転情報に基づいて、第１の姿勢と第２の姿勢とを組み合わせる割合を動的に決定する。割合を動的に決定するとは、割合を常に一定にするのではなく、割合を状況に応じて変化させるという意味で、例えば、第２の姿勢算出部２２が第２の姿勢を算出する毎に、当該時点での携帯機器２００の回転情報に基づいて当該割合を決定する動作を指す。本例の決定部３２は、携帯機器２００の時刻ｔの角速度に基づいて、上述した差分に乗ずるべき比例定数を動的に算出する。決定部３２は、角速度が大きいほど大きく、角速度が小さいほど小さい比例定数ｋを生成する。決定部３２は、ロール角、ピッチ角、ヨー角の角速度の二乗和等に基づいて、ロール角、ピッチ角、ヨー角に対して共通の比例定数ｋを生成してよい。また、決定部３２は、ロール角、ピッチ角、ヨー角の角速度のそれぞれの絶対値に基づいて、ロール角、ピッチ角、ヨー角のそれぞれに対する比例定数ｋｒ、ｋｐ、ｋｙを生成してもよい。当該比例定数は、０より大きく、１未満とする。
【００２９】
係数算出部２８は、差分算出部２６が算出した差分に、決定部３２が算出した比例定数を乗じた差分係数を算出する。本例の係数算出部２８は、以下の差分係数を算出する。
ロール角：ｋｒ（ｒ（ｔ）−Ｒ（ｔ））
ピッチ角：ｋｐ（ｐ（ｔ）−Ｐ（ｔ））
ヨー角：ｋｙ（ｙ（ｔ）−Ｙ（ｔ））
【００３０】
第３の姿勢算出部３０は、第１の姿勢と、第２の姿勢と、携帯機器２００の回転情報とに基づき、新たな第３の姿勢を算出する。つまり、第３の姿勢算出部３０は、第１の姿勢および第２の姿勢を算出するのに用いた回転情報に加えて、携帯機器２００の回転情報を更に用いる。更に用いる回転情報は、第１の姿勢または第２の姿勢を算出するのに用いた回転情報と一部または全部が重複する内容であってもよい。
【００３１】
本例の第３の姿勢算出部３０は、第１の姿勢および第２の姿勢の少なくとも一方と、第１の姿勢および第２の姿勢の差分と、決定部３２が決定した割合とに基づいて、第３の姿勢を算出する。より具体的な例では、第３の姿勢算出部３０は、第１の姿勢算出部２４が算出した第１の姿勢（ｒ（ｔ）、ｐ（ｔ）、ｙ（ｔ））と、係数算出部２８が算出した差分係数とを用いて新たな第３の姿勢を算出する。上述したように、差分係数には、少なくとも第２の姿勢の情報と、携帯機器２００の回転情報に応じた比例定数とが含まれる。本例の第３の姿勢算出部３０は、下式のように、第３の姿勢を算出する。
ロール角：ｒ（ｔ）−ｋｒ（ｒ（ｔ）−Ｒ（ｔ））
ピッチ角：ｐ（ｔ）−ｋｐ（ｐ（ｔ）−Ｐ（ｔ））
ヨー角：ｙ（ｔ）−ｋｙ（ｙ（ｔ）−Ｙ（ｔ））
【００３２】
なお、係数算出部２８は、差分係数の大きさが、携帯機器２００の現時点の回転量の大きさ以下となるように、差分係数を定めてよい。例えば係数算出部２８は、算出した差分係数が、回転量より大きくなる範囲においては、差分係数の大きさを、回転量の大きさに一致させる。
【００３３】
比例定数ｋが１より小さい場合、一度の算出処理では第２の姿勢と第１の姿勢との差分がゼロにはならない。このため姿勢算出部２０は、時刻ｔにおいて検出された差分を、時刻ｔ、ｔ＋１、・・・のように複数のタイミングに分割して、各タイミングにおける第３の姿勢の算出に用いてもよい。決定部３２は、各タイミングにおける携帯機器２００の角速度に応じて、各タイミングにおける比例定数を算出する。姿勢算出部２０は、例えば時刻ｔ＋１における第３の姿勢を、時刻ｔにおける差分を用いて以下のように算出してよい。
ロール角：ｒ（ｔ＋１）−ｋｒ（ｔ＋１）・（ｒ（ｔ）−Ｒ（ｔ））
ピッチ角：ｐ（ｔ＋１）−ｋｐ（ｔ＋１）・（ｐ（ｔ）−Ｐ（ｔ））
ヨー角：ｙ（ｔ＋１）−ｋｙ（ｔ＋１）・（ｙ（ｔ）−Ｙ（ｔ））
【００３４】
姿勢算出部２０は、各タイミングにおける軸毎の比例定数の和（例えば、ｋｒ（ｔ）＋ｋｒ（ｔ＋１）＋・・・）が１とほぼ等しくなるまで、時刻ｔにおいて検出した差分を用いて新たな第３の姿勢を算出してよい。これにより、検出した差分がほぼ無くなるように、第３の姿勢を算出することができる。ただし、時刻ｔにおいて検出した差分を複数のタイミングに分けて、各タイミングにおける第３の姿勢を算出している間に、新たに第２の姿勢が算出されたときは、姿勢算出部２０は、新たな第２の姿勢と第１の姿勢との差分を用いて、第３の姿勢を算出することが好ましい。これにより、第２の姿勢を算出する間隔が長い場合であっても、第２の姿勢と第１の姿勢との差分が無くなるように、第３の姿勢を算出することができる。なお、本発明に用いることのできる第３の姿勢の算出方法は、上述したオイラー角の差分を用いる方法のほか、クォータニオンを用いた線形球面補間、線形補間等の手法も用いることができる。
【００３５】
本例の姿勢算出部２０によれば、第１の姿勢と第２の姿勢と携帯機器２００の回転情報に基づいて第３の姿勢を算出しているので利用者に与える違和感を低減することができる。例えば、携帯機器２００が静止状態に近い場合には第１の姿勢に近い姿勢情報を算出することで姿勢変化時の違和感を低減して、携帯機器２００が大きく動いている場合には第２の姿勢に近い姿勢情報を算出することで、姿勢追従を効率よく行うことができる。つまり、姿勢算出部２０は、単位時間当たりの携帯機器２００の回転量が小さいほど、第１の姿勢に対する差分が小さくなるような第３の姿勢を算出する。また、単位時間当たりの携帯機器の回転量が大きいほど、第２の姿勢に対する差分が小さくなるような第３の姿勢を算出する。姿勢の差分とは、ロール角における差分の絶対値、ピッチ角における差分の絶対値、および、ヨー角における差分の絶対値の和であってよい。
【００３６】
図４は、姿勢算出部２０の動作の概要を説明する図である。図４では、時刻ｔにおける第１の姿勢および第２の姿勢の例を示す。上述したように、第１の姿勢には誤差が蓄積されるので、第１の姿勢および第２の姿勢は必ずしも一致しない。姿勢算出部２０は、第１の姿勢および第２の姿勢の差分に対して、時刻ｔにおける角速度に応じた比例定数を乗じた差分係数を算出する。
【００３７】
図５は、姿勢算出装置１００の動作例を示すフローチャートを示す。姿勢算出装置１００は、角速度検出部１４により、所定の周期で、携帯機器２００の角速度を検出する（Ｓ３００）。第１の姿勢算出部２４は、順次検出される角速度データに応じた姿勢の変化を累積して、携帯機器２００の第１の姿勢を算出する（Ｓ３０２）。姿勢算出装置１００は、Ｓ３００およびＳ３０２の処理を繰り返すことで、所定の周期で第１の姿勢を算出する。
【００３８】
第２の姿勢算出部２２は、第１の姿勢算出部２４と平行して、携帯機器２００の第２の姿勢を算出する（Ｓ３０４）。第２の姿勢算出部２２は、地磁気検出部１０および加速度検出部１２の検出結果が所定の条件を満たす場合に、第２の姿勢を算出する。例えば第２の姿勢算出部２２は、加速度検出部１２が検出する３軸方向の加速度を合成したベクトルの大きさと、重力加速度である１Ｇに相当する大きさとを比較して、差分が所定の閾値以下である場合に第２の姿勢を算出する。
【００３９】
また、第１の姿勢を算出する場合、その算出周期が短いほど、携帯機器２００の姿勢の連続的な滑らかな動作を再現する精度が向上する等の利点もある。本例では、第１の姿勢算出部２４が第１の姿勢を算出する周期は、第２の姿勢算出部２２が第２の姿勢を算出する周期よりも短い。姿勢算出部２０は、第２の姿勢算出部２２が第２の姿勢を算出した場合に、第３の姿勢を算出する。
【００４０】
第２の姿勢算出部２２が第２の姿勢を算出した場合、差分算出部２６が、現時点における第１の姿勢と第２の姿勢との差分を算出する（Ｓ３０６）。次に、決定部３２および係数算出部２８は、現時点における角速度に応じた差分係数を算出する（Ｓ３０８）。そして、第３の姿勢算出部３０は、当該差分係数に基づいて、現時点における第３の姿勢を算出する（Ｓ３１０）。このような処理により、異なる方法で算出した姿勢を出力する時の違和感を低減し、且つ、効率よく姿勢を算出することができる。
【００４１】
第１の姿勢算出部２４は、第３の姿勢算出部３０が算出した第３の姿勢を用いて、以降の第１の姿勢を算出する。本例では、第１の姿勢算出部２４は、第３の姿勢算出部３０が算出した時刻ｔの第３の姿勢に、次の時刻ｔ＋１における回転量Δｒ（ｔ＋１）、Δｐ（ｔ＋１）、Δｙ（ｔ＋１）を加算して、時刻ｔ＋１における第１の姿勢を算出する。
【００４２】
図６は、本発明の実施形態に係る姿勢算出部２０の構成例を示す図である。本例の姿勢算出部２０は、第２の姿勢算出部２２、回転軸算出部３４、回転量算出部３６、第１の姿勢算出部３８、および、第３の姿勢算出部４０を有する。第２の姿勢算出部２２は、図３から図５に関連して説明した第２の姿勢算出部２２と同様の機能を有する。第１の姿勢算出部３８は、図１から図５に関連して説明した第１の姿勢を算出する。第３の姿勢算出部４０は、図１から図５に関連して説明した第３の姿勢を算出する。第１の姿勢算出部３８は、第１の姿勢算出部２４と同一の機能を有してよい。回転量算出部３６は、角速度データに基づいて、携帯機器２００の現時点の回転量を算出する。現時点の回転量は、現時点の角速度に、１単位時間を乗じて算出してよい。本例の回転量算出部３６は、軸毎の回転量を算出する。
【００４３】
回転軸算出部３４は、現時点に対して１単位時間前の第１の姿勢から、現時点における第２の姿勢への回転軸を算出する。回転軸算出部３４は、直交軸Ｘ、Ｙ、Ｚの原点を通り、且つ、１単位時間前の第１の姿勢を当該回転軸回りで回転させたときに、現時点における第２の姿勢に変換できる回転軸を算出する。
【００４４】
一般に、２つの姿勢間の回転は、四元数（クォータニオン）、回転行列またはオイラー角を用いて表すことができる。本実施形態においては、一例として四元数を用いた場合の２つの姿勢間の回転について述べるが、本発明における２つの姿勢間の回転は、上述したように回転行列、オイラー角等を用いた方法も用いることができる。本例の回転軸算出部３４は、１単位時間前の第１の姿勢と、現時点における第２の姿勢とに基づいて、当該回転を示す四元数を算出する。
【００４５】
ここで四元数は、ｑ＝ｗ＋ｘｉ＋ｙｊ＋ｚｋの形式で表現される。また、ｉ、ｊ、ｋは、以下の関係を満たす基底ベクトルである。
ｉ・ｉ＝ｊ・ｊ＝ｋ・ｋ＝−１
ｉ・ｊ＝ｋ、ｊ・ｋ＝ｉ、ｋ・ｉ＝ｊ
ｊ・ｉ＝−ｋ、ｋ・ｊ＝−ｉ、ｉ・ｋ＝−ｊ
【００４６】
現時点における第２の姿勢と、１単位時間前の第１の姿勢との関係は、回転を示す四元数ｑを用いて表現される。
ＰＲ（ｔ）＝ｑＰｒ（ｔ−１）ｑ−１
ただし、ＰＲ（ｔ）は現時点の第２の姿勢を示すベクトル、Ｐｒ(ｔ−１)は、１単位時間前の第１の姿勢を示すベクトル、ｑは回転を示す四元数である。ＰＲ（ｔ）、Ｐｒ(ｔ−１)は、図３から図５に関連して説明したオイラー角による姿勢角の表現を、四元数の表現に変換したものであってよい。また、ＰＲ（ｔ）は、第２の姿勢において、携帯機器２００のある点Ａの位置を示す位置ベクトルであってもよい。また、Ｐｒ(ｔ−１)は、第１の姿勢において、携帯機器２００における同一の点Ａの位置を示す位置ベクトルであってもよい。特定の一点について第２の姿勢および第１の姿勢の間の回転を算出すれば、姿勢全体の回転を特定することができる。
【００４７】
ベクトル（α、β、γ）を回転軸とするθの回転を示す四元数ｑは、以下のように表現される。
ｑ＝ｃｏｓ（θ／２）＋αｓｉｎ（θ／２）・ｉ＋βｓｉｎ（θ／２）・ｊ＋γｓｉｎ（θ／２）・ｋ
そして、１単位時間前の第１の姿勢から第２の姿勢への回転軸は、ベクトルの外積ＰＲ×Ｐｒから下式のように算出できる。
（α、β、γ）＝（ＰＲ×Ｐｒ）／（｜ＰＲ×Ｐｒ｜）
なお、１単位時間前の第１の姿勢から第２の姿勢への回転量は、ベクトルの内積ＰＲ・Ｐｒから下式のように算出できる。
ｃｏｓθ＝（ＰＲ・Ｐｒ）／（｜ＰＲ｜・｜Ｐｒ｜）
【００４８】
第３の姿勢算出部４０は、第１の姿勢算出部３８が算出した１単位時間前の第１の姿勢に対して、回転軸算出部３４が算出した回転軸（α、β、γ）に、回転量算出部３６が検出した現時点の回転量θ'を適用する。なお、回転量θ'は、回転の大きさを示しており、回転軸の情報を有さない。つまり、１単位時間前の第１の姿勢を、当該回転軸回りに、当該回転量θ'で回転させる。これにより、第３の姿勢算出部４０は、現時点の第３の姿勢を算出する。具体的には、下式に基づいて現時点の第１の姿勢Ｐｒ（ｔ）を算出する。
Ｐｒ（ｔ）＝ｑ'Ｐｒ（ｔ−１）ｑ'−１
ｑ'＝ｃｏｓ（θ'／２）＋αｓｉｎ（θ'／２）・ｉ＋βｓｉｎ（θ'／２）・ｊ＋γｓｉｎ（θ'／２）・ｋ
第１の姿勢算出部３８は、第３の姿勢算出部４０が算出した第３の姿勢を現時点における第１の姿勢として用い、以降の携帯機器２００の回転を累積してよい。
【００４９】
これにより、携帯機器２００の回転量に応じて適切な姿勢を算出することができる。このため、利用者に違和感を与えずに、第１の姿勢に蓄積された誤差を補正することができる。詳細には、第１の姿勢における誤差の蓄積を防ぐことができるので、例えば、携帯機器２００が実際には静止しているにも関わらず、算出する姿勢が徐々に変化してしまうことを、利用者に違和感を与えずに防止することができる。また、第１の姿勢から第２の姿勢への回転軸を算出し、第１の姿勢に対して、算出した回転軸に携帯機器２００の回転量を適用して第３の姿勢を算出するので、第３の姿勢が第１の姿勢のドリフトにつられてドリフトしてしまうことを防ぐことができる。この効果は静止時に顕著である。
【００５０】
携帯機器２００がゆっくり回転している場合でも、回転に追従した第１の姿勢を瞬時に算出することができる。本発明における回転量としては、例えば角速度、加速度、地磁気、画像データ、またはこれらの組み合わせにより得られる回転に関する物理量を用いることができる。ここで、加速度を用いた場合は単位時間当たりのピッチ角、ロール角の回転量より各軸に対する回転量を得ることができる。同様に、地磁気を用いた場合は単位時間当たりのヨー角の回転量より、各軸に対する回転量を得ることができる。また、画像データを用いた場合は単位時間当たりの変化量より各軸に対する回転量を得ることができる。
【００５１】
なお、姿勢算出部２０は、角速度検出部１４が検出する現時点の角速度が、予め定められた閾値以下の場合に、図６に関連して説明したように、回転軸を用いて第３の姿勢を算出してよい。例えば姿勢算出部２０は、静止判定部１８において携帯機器２００が静止していると判断される程度に角速度が小さい場合に、回転軸を用いて第３の姿勢を算出する。また、姿勢算出部２０は、現時点の角速度が上述した閾値より大きい場合には、図３から図５に関連して説明したように第３の姿勢を算出してよい。
【００５２】
図７は、図６に示した姿勢算出部２０の動作の概要を説明する図である。図７では、１単位時間前の第１の姿勢および現時点の第２の姿勢の例を示す。第１の姿勢には誤差が累積されるので、例えば携帯機器２００が長時間静止状態であったとしても、１単位時間前の第１の姿勢と、現時点の第２の姿勢との間に差が生じる場合がある。
【００５３】
回転軸算出部３４は、１単位時間前の第１の姿勢を所定の回転軸回りで回転させたときに、現時点の第２の姿勢に変化する回転軸を算出する。つまり、当該回転軸回りで第１の姿勢を回転させたときに得られるいずれかの姿勢が、第２の姿勢と一致するような回転軸を算出する。なお、回転軸算出部３４は、現時点の第１の姿勢から、現時点の第２の姿勢への回転軸を算出してもよい。
【００５４】
第３の姿勢算出部４０は、回転軸算出部３４が算出した回転軸を用いて、携帯機器２００の現時点における回転量で、１単位時間前の第１の姿勢を回転させて、第３の姿勢を算出する。これにより、第１の姿勢に蓄積された誤差を、携帯機器２００の回転量に応じて補正することができる。
【００５５】
図８は、図６の姿勢算出部２０を用いた姿勢算出装置１００の動作例を示すフローチャートを示す。Ｓ３００からＳ３０４までの処理は、図５に示したフローチャートと同一である。
【００５６】
第２の姿勢算出部２２が第２の姿勢を算出した場合、回転軸算出部３４が、一単位時間前の第１の姿勢から、現時点の第２の姿勢への回転軸を算出する（Ｓ３１２）。また、回転量算出部３６は、現時点の角速度データから、現時点の携帯機器２００の回転量を算出する（Ｓ３１４）。Ｓ３１２およびＳ３１４の処理は並行してよい。
【００５７】
そして、第３の姿勢算出部４０は、Ｓ３１２において算出した回転軸に、Ｓ３１４において算出した回転量を適用して、現時点の第３の姿勢を算出する（Ｓ３１６）。第１の姿勢算出部３８は、Ｓ３１６において第３の姿勢算出部４０が算出した第３の姿勢を用いて、以降の第１の姿勢を算出する。このような処理により、誤差補正時の違和感を低減することができる。また、端末が長時間静止しても、誤差の蓄積による姿勢の変化を防ぐことができる。
【００５８】
図９は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００５９】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００６０】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００６１】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００６２】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００６３】
コンピュータ１９００にインストールされ、コンピュータ１９００を姿勢算出装置として機能させるプログラムは、第１の姿勢算出モジュール、第２の姿勢算出モジュール、第３の姿勢算出モジュール、決定モジュール、差分算出モジュール、回転軸算出モジュールおよび回転量算出モジュールを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、姿勢算出装置としてそれぞれ機能させる。
【００６４】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である第１の姿勢算出部２４、第２の姿勢算出部２２、第３の姿勢算出部３０、第１の姿勢算出部３８、第３の姿勢算出部４０、決定部３２、差分算出部２６、回転軸算出部３４および回転量算出部３６として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の静止判定装置が構築される。
【００６５】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００６６】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００６７】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００６８】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００６９】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００７０】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【００７１】
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００７２】
１０・・・地磁気検出部、１２・・・加速度検出部、１４・・・角速度検出部、１６・・・オフセット除去部、１８・・・静止判定部、２０・・・姿勢算出部、２２・・・第２の姿勢算出部、２４・・・第１の姿勢算出部、２６・・・差分算出部、２８・・・係数算出部、３０・・・第３の姿勢算出部、３２・・・決定部、３４・・・回転軸算出部、３６・・・回転量算出部、３８・・・第１の姿勢算出部、４０・・・第３の姿勢算出部、１００・・・姿勢算出装置、２００・・・携帯機器、１９００・・・コンピュータ、２０００・・・ＣＰＵ、２０１０・・・ＲＯＭ、２０２０・・・ＲＡＭ、２０３０・・・通信インターフェイス、２０４０・・・ハードディスクドライブ、２０５０・・・フレキシブルディスク・ドライブ、２０６０・・・ＣＤ−ＲＯＭドライブ、２０７０・・・入出力チップ、２０７５・・・グラフィック・コントローラ、２０８０・・・表示装置、２０８２・・・ホスト・コントローラ、２０８４・・・入出力コントローラ、２０９０・・・フレキシブルディスク、２０９５・・・ＣＤ−ＲＯＭ
【図１】
2014125809.tif 000003
【図２】
2014125809.tif 000004
【図３】
2014125809.tif 000005
【図４】
2014125809.tif 000006
【図５】
2014125809.tif 000007
【図６】
2014125809.tif 000008
【図７】
2014125809.tif 000009
【図８】
2014125809.tif 000010
【図９】
2014125809.tif 000011
【手続補正書】
【提出日】平成28年7月14日(2016.7.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機器に搭載され、前記機器の角速度を検出する角速度検出部の出力に基づいて前記機器の第１の姿勢を算出する第１の姿勢算出部と、
前記第１の姿勢算出部と異なる手段で前記機器の第２の姿勢を算出する第２の姿勢算出部と、
前記第１の姿勢と、前記第２の姿勢と、前記機器の回転情報と、に基づき、第３の姿勢を算出する第３の姿勢算出部と、を備え、
前記第３の姿勢算出部は、
単位時間当たりの前記機器の回転量が小さいほど、前記第１の姿勢に対する差分が小さくなる前記第３の姿勢を算出し、単位時間当たりの前記機器の回転量が大きいほど、前記第２の姿勢に対する差分が小さくなる前記第３の姿勢を算出し、
前記第１の姿勢算出部は、前記第２の姿勢算出部よりも短い周期で前記機器の姿勢を算出する
姿勢算出装置。
【請求項２】
前記第２の姿勢算出部は、
前記機器に搭載された地磁気検出部及び加速度検出部の少なくとも一方の出力に基づいて前記第２の姿勢を算出する
請求項１に記載の姿勢算出装置。
【請求項３】
前記第３の姿勢算出部は、
前記地磁気検出部または加速度検出部の出力に基づいて、前記第３の姿勢を出力するか否かを決定し、前記第３の姿勢を出力しない場合は、前記第１の姿勢を出力する
請求項２に記載の姿勢算出装置。
【請求項４】
前記第１の姿勢算出部は、前記角速度検出部の出力を累積して前記第１の姿勢を算出する
請求項１から３の何れか１項に記載の姿勢算出装置。
【請求項５】
前記機器の回転情報に基づいて、前記第１の姿勢と前記第２の姿勢とを組み合わせる割合を動的に決定する決定部を更に備え、
前記第３の姿勢算出部は、
前記第１の姿勢と、前記第２の姿勢と、前記決定部が決定した割合と、に基づいて、第３の姿勢を算出する
請求項１から４の何れか１項に記載の姿勢算出装置。
【請求項６】
前記決定部は、
単位時間当たりの前記機器の回転量が大きいほど前記第２の姿勢の割合が大きく、単位時間当たりの前記機器の回転量が小さいほど前記第２の姿勢の割合が小さくなるように前記割合を動的に決定する
請求項５に記載の姿勢算出装置。
【請求項７】
前記第１の姿勢と前記第２の姿勢との差分を算出する差分算出部を更に備え、
前記第３の姿勢算出部は、
前記第１の姿勢及び前記第２の姿勢の少なくとも一方と、前記第１の姿勢と前記第２の姿勢との差分と、前記決定部が決定した割合と、に基づいて、前記第３の姿勢を算出する
請求項５又は６に記載の姿勢算出装置。
【請求項８】
前記第１の姿勢から前記第２の姿勢への回転軸を算出する回転軸算出部を更に備え、
前記第３の姿勢算出部は、
前記第１の姿勢に対して、前記回転軸算出部が算出した前記回転軸を用いて、単位時間当たりの前記機器の回転量で回転させて、前記第３の姿勢を算出する
請求項１から４の何れか１項に記載の姿勢算出装置。
【請求項９】
前記第３の姿勢算出部は、
１単位時間前の前記第１の姿勢に対して、前記回転軸算出部が算出した前記回転軸を用いて、単位時間当たりの前記機器の回転量で回転させて、前記第３の姿勢を算出する
請求項８に記載の姿勢算出装置。
【請求項１０】
請求項１から９のいずれか１項に記載の姿勢算出装置を備える携帯機器。
【請求項１１】
機器に搭載され、前記機器の角速度を検出する角速度検出部の出力に基づいて前記機器の第１の姿勢を算出する第１の姿勢算出段階と、
前記第１の姿勢算出段階と異なる手段で前記機器の第２の姿勢を算出する第２の姿勢算出段階と、
前記第１の姿勢と、前記第２の姿勢と、前記機器の回転情報と、に基づき、第３の姿勢を算出する第３の姿勢算出段階と、を備え、
前記第３の姿勢算出段階は、
単位時間当たりの前記機器の回転量が小さいほど、前記第１の姿勢に対する差分が小さくなる前記第３の姿勢を算出し、単位時間当たりの前記機器の回転量が大きいほど、前記第２の姿勢に対する差分が小さくなる前記第３の姿勢を算出し、
前記第１の姿勢算出段階は、前記第２の姿勢算出段階よりも短い周期で前記機器の姿勢を算出する
姿勢算出方法。
【請求項１２】
コンピュータを、請求項１から９のいずれか１項に記載の姿勢算出装置として機能させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の第１の態様においては、機器に搭載され、機器の角速度を検出する角速度検出部の出力に基づいて機器の第１の姿勢を算出する第１の姿勢算出部と、第１の姿勢算出部と異なる手段で機器の第２の姿勢を算出する第２の姿勢算出部と、第１の姿勢と、第２の姿勢と、機器の回転情報と、に基づき、第３の姿勢を算出する第３の姿勢算出部と、を備え、第３の姿勢算出部は、単位時間当たりの機器の回転量が小さいほど、第１の姿勢に対する差分が小さくなる第３の姿勢を算出し、単位時間当たりの機器の回転量が大きいほど、第２の姿勢に対する差分が小さくなる第３の姿勢を算出し、第１の姿勢算出部は、第２の姿勢算出部よりも短い周期で機器の姿勢を算出する、姿勢算出装置、ならびに、当該装置に係る姿勢算出方法を提供する。
【国際調査報告】
2014125809.tif 000012
2014125809.tif 000013
2014125809.tif 000014
2014125809.tif 000015