(57)【特許請求の範囲】
【請求項１】
第１の軸を中心とする回転移動のための第１の回転速度信号ＲＸを供給する第１の回転センサと、
第２の軸を中心とする回転移動のための第２の回転速度信号ＲＺを供給する第２の回転センサと、
前記第１の軸に沿った第１の方向における重力加速度に応じて、第１の加速度信号ＡＸを供給する第１の加速度計と、
前記第２の軸に沿った第２の方向における重力加速度に応じて、第２の加速度信号ＡＺを供給する第２の加速度計と、
を含む、電子ディスプレイ上でカーソルの移動を制御するためのポインティングデバイスであって、
（ａ）前記それぞれの回転センサおよび加速度計からＲＸ、ＲＺ、ＡＸおよびＡＺを受信し、
（ｂ）ＡＸおよびＡＺのベクトル和ＡＸＺを計算し、
（ｃ）
Ｘｃｏｍｐ＝［ＡＸ＊ＲＸ＋ＡＺ＊ＲＺ］／ＡＸＺ
Ｙｃｏｍｐ＝［ＡＸ＊ＲＺ−ＡＺ＊ＲＸ］／ＡＸＺ
を解くことによって、ロール補正されたカーソル移動信号を計算し、かつ
（ｄ）前記補正されたカーソル移動信号を、前記電子ディスプレイ上の前記カーソルの移動に関連した受信機に送信する処理装置をさらに含むことを特徴とするポインティングデバイス。
【請求項２】
第３の軸に沿った第３の方向における重力加速度に応じて、第３の加速度信号ＡＹを供給する第３の加速度計と、
補正されたカーソル移動信号を前記受信機に送信する前に、前記処理装置が、（ｃ）ＡＸ、ＡＹおよびＡＺのベクトル和ＡＸＹＺを計算し、（ｄ）
Ｘ’ｃｏｍｐ＝［Ｘｃｏｍｐ＊ＡＸＹＺ／ＡＸＺ
Ｙｃｏｍｐ＝［ＡＸ＊ＲＺ−ＡＺ＊ＲＸ］／ＡＸＺ
を解くことによって、ピッチおよびロール補正されたカーソル移動信号を計算することと、
をさらに含むことを特徴とする、請求項１に記載のポインティングデバイス。
【請求項３】
前記第１の加速度信号ＡＸが、式：ＡＸｃｏｒｒｅｃｔｅｄ＝ＡＸ−ΔＲＺ／Δ時間＊ｌＸによって、前記第２の軸を中心とする前記第１の加速度計の回転加速度用に補正され、
前記第２の加速度信号ＡＺが、式：ＡＺｃｏｒｒｅｃｔｅｄ＝ＡＺ−ΔＲＸ／Δ時間＊ｌＺによって、前記第１の軸を中心とする前記第２の加速度計の回転加速度用に補正され、
ｌＸが、前記第１の方向において前記第１の加速度計を通る線と、前記第２の軸との間の垂線の長さであり、ｌＺが、前記第２の方向において前記第２の加速度計を通る線と、前記第１の軸との間の垂線の長さであることを特徴とする、請求項１または２に記載のポインティングデバイス。
【請求項４】
前記処理装置が、４ＭＨｚ未満で動作する８ビットまたは１６ビットプロセッサを含むことを特徴とする、請求項１または２に記載のポインティングデバイス。
【請求項５】
前記処理装置が、前記第１の回転センサ、前記第２の回転センサ、前記第１の加速度計および前記第２の加速度計を、２ミリ秒ごとに１回サンプリングすることを特徴とする、請求項１または２に記載のポインティングデバイス。
【請求項６】
前記処理装置が、前記補正されたカーソル移動信号を８ミリ秒ごとに１回供給することを特徴とする、請求項５に記載のポインティングデバイス。
【請求項７】
第１の回転センサが第１の軸を中心とする回転移動用の第１の回転速度ＲＸを検出することと、
第２の回転センサが第２の軸を中心とする回転移動用の第２の回転速度ＲＺを検出することと、
第１の加速度計が前記第１の軸に沿った第１の方向における重力加速度に応じて、第１の加速度信号ＡＸを検出することと、
第２の加速度計が前記第２の軸に沿った第２の方向における重力加速度に応じて、第２の加速度信号ＡＺを検出することと、
を含む、電子ディスプレイ上のカーソルの移動を制御するためのロール補正信号を供給するための方法であって、
処理装置がＡＸおよびＡＺのベクトル和ＡＸＺを計算することと、
前記処理装置が第１のロール補正されたカーソル移動信号Ｘｃｏｍｐ＝［ＡＸ＊ＲＸ＋ＡＺ＊ＲＺ］／ＡＸＺを計算することと、
前記処理装置が第２のロール補正されたカーソル移動信号Ｙｃｏｍｐ＝［ＡＸ＊ＲＺ−ＡＺ＊ＲＸ］／ＡＸＺを計算することと、
前記処理装置が前記補正されたカーソル移動信号を、前記電子ディスプレイ上の前記カーソルの移動に関連した受信機に送信することと、
をさらに含むことを特徴とする方法。
【請求項８】
第３の加速度計が第３の軸に沿った第３の方向における重力加速度に応じて、第３の加速度信号ＡＹを検出することと、
前記処理装置が補正されたカーソル移動信号を前記受信機に送信する前に、ＡＸ、ＡＹおよびＡＺのベクトル和ＡＸＹＺを計算することと、
前記処理装置が新しい第１のロール補正されたカーソル移動信号Ｘ’ｃｏｍｐ＝Ｘｃｏｍｐ＊ＡＸＹＺ／ＡＸＺを計算することと、
をさらに含むことを特徴とする、請求項７に記載の方法。
【請求項９】
前記処理装置が式ＡＸｃｏｒｒｅｃｔｅｄ＝ＡＸ−ΔＲＺ／Δ時間＊ｌＸによって、前記第２の軸を中心とする前記第１の加速度計の回転加速度用の前記第１の加速度信号ＡＸを補正することと、
前記処理装置が式ＡＺｃｏｒｒｅｃｔｅｄ＝ＡＺ−ΔＲＸ／Δ時間＊ｌＺによって、前記第１の軸を中心とする前記第２の加速度計の回転加速度用の前記第２の加速度信号ＡＺを補正することと、
をさらに含み、
ｌＸが、前記第１の方向において前記第１の加速度計を通る線と、前記第２の軸との間の垂線の長さであり、ｌＺが、前記第２の方向において前記第２の加速度計を通る線と、前記第１の軸との間の垂線の長さであることを特徴とする、請求項７または８に記載の方法。
【請求項１０】
前記処理装置は、４ＭＨｚ未満で動作し、かつ前記検出および計算ステップを実行する８ビットまたは１６ビットプロセッサを含むことを特徴とする、請求項７または８に記載の方法。
【請求項１１】
前記処理装置は、前記第１の回転センサ、前記第２の回転センサ、前記第１の加速度計および前記第２の加速度計を、２ミリ秒ごとに１回サンプリングすることをさらに含むことを特徴とする、請求項７または８に記載の方法。
【請求項１２】
前記処理装置は、前記補正されたカーソル移動信号Ｘｃｏｍｐ、Ｘ’ｃｏｍｐおよびＹｃｏｍｐを８ミリ秒ごとに１回供給することを特徴とする、請求項７または８に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
ポインティングデバイスによって、ユーザは、自分の動作に応じて、コンピュータディスプレイ上でカーソルまたは他のインジケータを移動させることが可能になる。通常のコンピュータマウスポインティングデバイスは、２次元平面上の水平移動をコンピュータスクリーン上の対応するカーソル移動に変換する。マウスにはセンサが含まれるが、このセンサは、典型的には表面上の移動を検出するレーザまたはローラーボールセンサである。
【０００２】
３次元空間で動作し、かつ表面上の移動の検出を必要としない他のタイプのポインティングデバイスが設計された。移動検出機構には、ポインティングデバイスの回転移動を検出するジャイロスコープ、および直線移動を検出する加速度計が含まれる。ジャイロスコープおよび加速度計は、ポインティングデバイスの移動に対応する信号を発し、かつコンピュータスクリーン上のカーソルの移動を制御するために用いられる。ハンドヘルド角度検出コントローラの例が、１９９９年４月２７日にＴｈｏｍａｓ  Ｊ．  Ｑｕｉｎｎに付与された「ジャイロスコープポインタおよび方法（ＧＹＲＯＳＣＯＰＩＣ  ＰＯＩＮＴＥＲ  ＡＮＤ  ＭＥＴＨＯＤ）」なる名称の米国特許第５，８９８，４２１号明細書、および１９９５年８月８日にＴｈｏｍａｓ  Ｊ．  Ｑｕｉｎｎに付与された「ジャイロスコープポインタ（ＧＹＲＯＳＣＯＰＩＣ  ＰＯＩＮＴＥＲ）」なる名称の米国特許第５，４４０，３２６号明細書に説明されている。既存の３次元ポインティングデバイスに関する問題は、次のことである。すなわち、ユーザが、水平からオフセットされた角度で自然にデバイスを保持した場合に、ポインティングデバイスの移動がロール角の分だけオフセットされたカーソル移動に帰着すること、つまりロール角で保持されたポインティングデバイスの水平移動が、コンピュータスクリーン上のカーソルの角度付き移動に帰着することである。
【０００３】
いくつかのポインティングデバイスは、ユーザの自然な手の位置に対してロール補正を提供することができる。しかしながら、既存のロール補正されたポインティングデバイスに関する問題は、それらが、非常に複雑な三角マトリックスアルゴリズムであって、著しい量の電力を消費し、かつより高価な高出力プロセッサを必要とするアルゴリズムを利用するということである。安価なまたは低出力の処理装置にとっては、三角法形式は、計算プロセスを減速し、リアルタイムの計算制約で動作することを困難にする。ポインティングデバイスは、コードレスデバイスであるのが好ましいので、より強力なプロセッサを動作させるために用いられる携帯電池は、頻繁な充電または取り替えを必要とする可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
必要なものは、安価な低出力プロセッサを使用でき、かつ電池寿命を実質的に改善できるように、よりエネルギ効率のよい方法でロール補正を実行する、改良されたポインティングデバイスである。
【課題を解決するための手段】
【０００５】
本発明は、加速度計および回転センサからのデータを用いて代数ロール補正アルゴリズムを計算するために、低出力プロセッサを用いる３次元ポインティングデバイスに関する。本発明のポインティングデバイスは、先行技術より作製が安価で、はるかにエネルギ効率がよい。ポインティングデバイスは、ポインティングデバイスの幅にわたって延びる横方向Ｘ軸、ポインティングデバイスの重心軸に沿って延びるＹ軸、およびポインティングデバイスの中心から上に延びる垂直Ｚ軸を有する。移動を検出するために、ポインティングデバイスには、Ｘ、ＹおよびＺ方向における重力および加速度を検出する加速度計と、ピッチにおいてＸ軸およびヨーにおいてＺ軸を中心とするポインティングデバイスの回転速度を測定するジャイロスコープと、が含まれる。
【０００６】
加速度計およびジャイロスコープは、マイクロプロセッサに結合されるが、このマイクロプロセッサは、電子装置に結合されたディスプレイスクリーン上でカーソルを移動するために用いられる、ロール補正されたカーソル制御信号に、加速度計およびジャイロスコープ信号を変換する。ポインティングデバイスにはまた、ソフトウェアユーザインタフェースと対話するためにもまた使用できる１つまたは複数のボタンおよびスクロールホイールを含むことができる。ポインティングデバイスは、送信システムを有することができ、その結果、ポインティングデバイス出力信号は、無線周波数または赤外光信号などの無線インタフェースを介して、電子装置に送信することができる。ユーザは、３次元空間において本発明のポインティングデバイスを垂直および水平に移動させて、コンピュータスクリーン上の目標位置にカーソルを移動させることによって、ソフトウェアを制御するようにポインティングデバイスを用いることができる。次に、ユーザは、ポインティングデバイス上のボタンをクリックするか、またはスクロールホイールを回転させることによって、視覚ディスプレイに対する制御を作動させることができる。
【０００７】
ポインティングデバイスが完全な水平方向に静止して保持された場合には、垂直Ｚ方向加速度計は、重力の全てを検出し、水平ＸおよびＹ方向加速度計は、どんな重力も検出しないことになろう。しかしながら、ポインティングデバイスは、一般に、いくらかのロールを伴ってユーザにより保持されるので、重力の一部が、Ｘ、ＹおよびＺ方向加速度計によって検出される。ロール補正を実行するために、ポインティングデバイスは、Ｘ、ＹおよびＺ方向加速度計信号に基づいて、ユーザの手の位置の自然なロールを動的に検出し、かつロールを調整されたカーソル制御出力信号を絶えず更新する。本発明のポインティングデバイスの水平および垂直移動用のロール補正係数ＸｃｏｍｐおよびＹｃｏｍｐは、代数アルゴリズムによって表される。
Ｘｃｏｍｐ＝［ＡＸ＊ＲＸ＋ＡＺ＊ＲＺ］／ＡＸＺ
Ｙｃｏｍｐ＝［ＡＸ＊ＲＺ−ＡＺ＊ＲＸ］／ＡＸＺ
ここで、ＡＸは、Ｘ方向における加速度であり、ＡＺは、Ｚにおける加速度である。ＡＸＺは、式ＡＸＺ＝［ＡＸ２＋ＡＺ２］１／２によって解かれるＡＸおよびＡＺのベクトル和であり、ＲＸは、Ｘ軸を中心とする回転ピッチ速度であり、ＲＺは、Ｚ軸を中心とする回転ヨー速度である。システムが、ロールを動的に検出するので、本発明のシステムは、ロール補正を絶えず更新し、かつどんなユーザの手のロールにも自動的に適応する。
【０００８】
本発明のポインティングデバイスの実施形態において、ポインティングデバイスのピッチ移動、ユーザ誘導加速度、およびポインティングデバイスの温度における変動に対して、カーソル移動ＸｃｏｍｐおよびＹｃｏｍｐに補正を提供するために、追加的計算が実行される。ポインティングデバイスがピッチにおいて回転すると、Ｚ軸ジャイロスコープは、垂直方向から離れるように角度を付けられる。これは、Ｚ軸を中心とする回転速度の検出を減少させて、Ｘｃｏｍｐ値を低減する。実施形態において、ポインティングデバイスは、ピッチ角を検出し、ピッチ角を補正するために補正係数Ｘｃｏｍｐを増加させる。
【０００９】
ユーザ誘導加速度は、ポインティングデバイスの回転中心からの、加速度計のオフセット位置によって引き起こされる。ユーザがポインティングデバイスを移動させると共に、加速度計は、ポインティングデバイスの回転移動を検出する。実施形態において、システムは、加速度計において回転加速度を計算し、回転加速度を補正するために、加速度計出力信号を調整する。別の実施形態において、システムは、加速度計において求心加速度を計算し、それに応じて加速度計信号を調整する。ユーザ誘導回転加速度を除去することによって、加速度計信号の重力成分を分離し、ポインティングデバイスのロールを正確に検出することができる。
【００１０】
運動センサ出力が温度変動によって変えられた場合には、温度補正が必要とされる可能性がある。温度補正は、ポインティングデバイスにおける温度の変化を検出すること、および温度変化が検出された場合には、補正係数を運動センサ信号に適用することによって実行される。実施形態において、ポインティングデバイスには、温度を周期的に検出する温度トランスデューサが含まれる。温度の実質的な変化が検出された場合には、温度補正係数が、回転センサ出力に適用される。
【００１１】
ロール補正および他の補正式が、非常に簡単な代数アルゴリズムを用いるので、電気エネルギをほとんど必要としない基本プロセッサを本発明のポインティングデバイスに用いることができる。実施形態において、プロセッサは、約４ＭＨｚ以下で動作する８ビットマイクロコントローラまたは１６ビットＲＩＳＣ（縮小命令セットコンピュータ）プロセッサである。これらの動作条件下では、本発明のポインティングデバイスのプロセッサに電力を供給するために用いられる電池は、数か月にわたって使用し続けることが可能である。これは、１２〜１６ＭＨｚで動作し、かつはるかに多くのエネルギを消費する一層強力なプロセッサを必要とする三角法またはマトリックスベースのロール補正アルゴリズムを用いるポインティングデバイスに勝る著しい改良である。
【図面の簡単な説明】
【００１２】
【図１】Ｘ、Ｙ、Ｚ座標系におけるポインティングデバイスを示す。
【図２】本発明のポインティングデバイスのブロック図を示す。
【図３】視覚ディスプレイを有する電子装置と共に用いられるポインティングデバイスを示す。
【図４】ロール補正を有しないポインティングデバイス、および視覚ディスプレイを示す。
【図５】加速度信号ＡＸおよびＡＺが図で示された、ロール角におけるポインティングデバイスを示す。
【図６】回転速度信号ＲＸおよびＲＺが図で示された、ロール角におけるポインティングデバイスを示す。
【図７】ポインティングデバイスの上面断面図を示す。
【発明を実施するための形態】
【００１３】
図１を参照すると、ハンドヘルド移動検出ポインティングデバイス１０１の実施形態が示されている。ポインティングデバイス１０１は、互いに直角なＸ、ＹおよびＺ軸によって定義された３次元デカルト座標系内で動作する。Ｘ、ＹおよびＺ座標系の中心点は、ポインティングデバイス１０１の回転の中心である。Ｘ軸１０５は、ポインティングデバイス１０１の幅にわたって延び、Ｙ軸１０７は、重心軸に沿って延び、Ｚ軸１０９は、ポインティングデバイス１０１の中心から上に延びる。ポインティングデバイス１０１用の座標系は、「本体座標系」として周知である。
【００１４】
ポインティングデバイス１０１には、Ｘ、ＹおよびＺ方向加速度計１１１、１１２、１１３を含んでもよく、これらの加速度計は、それぞれ、互いに直角に実装され、かつＸ、ＹおよびＺ方向における加速度および重力を検出する。Ｘ、ＹおよびＺ方向加速度計は、ポインティングデバイス１０１用の加速の各方向成分に対応する加速度値ＡＸ、ＡＹおよびＡＺを出力する。合計加速度は、ＡＸ、ＡＹおよびＡＺのベクトル和ＡＸＹＺであり、これは、式ＡＸＹＺ＝［ＡＸ２＋ＡＹ２＋ＡＺ２］１／２によって表される。
【００１５】
ポインティングデバイス１０１にはまた、回転速度を測定するＸ軸ジャイロスコープ１１５およびＺ軸ジャイロスコープ１１７が含まれる。Ｘ軸ジャイロスコープ１１５は、Ｘ軸１０５を中心とするピッチにおける、ポインティングデバイス１０１の回転速度を検出し、Ｚ軸ジャイロスコープ１１７は、Ｚ軸１０９を中心とする回転速度ヨーを検出する。
【００１６】
ユーザがポインティングデバイス１０１を移動させる場合に、移動は、一般に、加速度計１１１、１１２、１１３によって検出される平行移動の組み合わせであり、回転は、Ｘ軸およびＺ軸ジャイロスコープ１１５、１１７９によって検出される。手、手首および腕は、関節を中心に動くので、ポインティングデバイスの垂直移動は、Ｘ軸１０５を中心とする回転速度を生じ、水平移動は、Ｚ軸１０９を中心とする回転速度を生じる。
【００１７】
図２を参照すると、本発明のポインティングデバイスのコンポーネントのブロック図が示されている。Ｘ、ＹおよびＺ加速度計１１１、１１２、１１３、ならびにＸ軸およびＺ軸回転センサ１１５、１１７が、プロセッサ２０５に結合されている。加速度センサおよび回転センサに加えて、後で論じる温度信号補正を実行するために用いられる温度センサ２１７をプロセッサ２０５に結合してもよい。マウスボタン２０９およびスクロールホイール２１１を含む追加の入力装置をプロセッサ２０５に結合してもよい。プロセッサ２０５はまた、較正、変換、フィルタリング等を含む追加の信号処理を実行してもよい。プロセッサ２０５は、以下で説明する方法で、ポインティングデバイス用のロール補正を実行し、かつ補正されたカーソル制御信号を生成するが、これらの信号は、ボタン／スクロールホイール信号で送信機２１５に転送され、送信機２１５は、これらの信号を、ディスプレイを有する電子装置に結合された受信機に送信する。
【００１８】
図３を参照すると、ポインティングデバイス１０１は、移動を検出して、カーソル制御信号を、視覚ディスプレイ１６１を有する電子装置１５７に結合された受信機１５１に送信する。視覚ディスプレイ１６１は、カーソル１６３の位置および移動を視覚ディスプレイ１６１上に示すために用いられ、かつ「ユーザ座標系」として周知のＸおよびＹ軸座標系を有する。Ｘ軸１０５を中心とするポインティングデバイス１０１の回転は、視覚ディスプレイ１６１の垂直Ｙ方向におけるカーソル１６３の移動を引き起こし、Ｚ軸１０９を中心とする回転は、カーソル１６３の水平Ｘ移動を引き起こす。カーソル１６３の移動の速度は、回転速度の大きさに比例する。したがって、ポインティングデバイス１０１の回転が停止された場合には、カーソル１６３の移動もまた停止される。ポインティングデバイス１０１の移動およびディスプレイ１６１スクリーン上のカーソル１６３の移動を適切に調和させるために、カーソル１６３の移動信号にスケーリングプロセスを適用することができる。カーソル１６３用の移動制御信号が説明されるが、他の実施形態において、本発明のシステムおよび方法は、任意のタイプの視覚ディスプレイ上の、任意の他のタイプのオブジェクトまたはマーカの移動を制御するために用いることができる。
【００１９】
背景技術の部で論じたように、人々は、完全な水平方向ではなく、Ｙ軸を中心としてわずかなロール角で物体を保持する。ロール補正を提供しないポインティングデバイスが、傾斜して保持された場合には、ポインティングデバイス内の加速度計およびジャイロスコープは、全て、地面に対してロール角の分だけオフセットされる。このロール角によって、ポインティングデバイスにおける加速度計およびジャイロスコープの出力は、ロール角の分だけオフセットされる。図４を参照すると、ポインティングデバイス１０１がロール角θＡで保持され、かつ水平軸を中心とし回転して移動された場合には、Ｘ軸ジャイロスコープおよびＺ軸ジャイロスコープの両方とも回転速度を検出し、カーソル１６３は、視覚ディスプレイ１６１のＹ垂直方向だけではなく、ＸおよびＹ方向に傾斜して移動する。
【００２０】
この問題を解決するために、本発明のポインティングデバイスは、ユーザがポインティングデバイスを保持するロール角に関係なく、ポインティングデバイスの移動に基づいてカーソルが移動するように、ロール補正を提供する。図５を参照すると、ポインティングデバイス１０１が、ロール角θＡで保持された場合には、ＸおよびＺ方向の加速度計は、両方とも、いくらかの重力加速度を検出し、加速度信号ＡＸおよびＡＺを発する。加速度信号ＡＸおよびＡＺ成分の大きさを比較することによって、ポインティングデバイス１０１のロール角θＡは、式θＡ＝ａｒｃｔａｎ（ＡＸ／ＡＺ）によって計算することができる。ロール補正計算に必要な別の値は、ＡＸおよびＡＺのベクトル和であり、これは、式ＡＸＺ＝［ＡＸ２＝ＡＺ２］１／２によって定義される。
【００２１】
ポインティングデバイスのロール角θＡはまた、Ｘ軸およびＸ軸ジャイロスコープからの回転速度出力ＲＸおよびＲＺを変化させる。ＲＸおよびＲＺ回転成分の大きさによって形成される角度は、θＲによって表される。ロール角θＡのように、回転成分角度θＲは、式θＲ＝ａｒｃｔａｎ（ＲＸ／ＲＺ）によって計算される。ＲＸおよびＲＺ回転成分のベクトル和は、式ＲＸＺ＝（ＲＸ２＋ＲＺ２）１／２によって計算される。図６を参照すると、ポインティングデバイス１０１が、ピッチにおいて上方向、かつヨーにおいて左回りの等しい回転速度で回転して対角線上に移動される場合には、ポインティングデバイスは、大きさが等しいＲＸ回転信号６２１およびＲＺ回転信号６２３を発するはずである。しかしながら、ポインティングデバイスのロールによって大きさがシフトされ、ベクトル和ＲＸＺは一定のまま、ＲＺ回転６２５を増加させてＲＸ回転６２７を減少させる。
【００２２】
本発明のポインティングデバイスのためのＸｃｏｍｐおよびＹｃｏｍｐ用の基本ロール補正式を用いて、視覚ディスプレイ上のカーソルのためのＸおよびＹ移動信号用のロール補正を提供する。ＸｃｏｍｐおよびＹｃｏｍｐ補正係数は、回転速度のベクトル和ＲＸＺと、加速度成分の角度θＡおよび回転速度成分の角度θＲの和の正弦および余弦と、に基づいている。基本ロール補正式は次の通りである。
Ｘｃｏｍｐ＝ＲＸＺ＊ｓｉｎ（θＡ＋θＲ）
Ｙｃｏｍｐ＝ＲＸＺ＊ｃｏｓ（θＡ＋θＲ）
【００２３】
（θＡ＋θＲ）の正弦および余弦を計算することは可能であるが、これらの三角法計算は、かなり困難であり、かなりの量の処理能力を必要とする。したがって、この計算を実行するポインティングデバイスは、強力なマイクロプロセッサ、およびマイクロプロセッサを動作させる、より大きな電源を必要とする。より効率的なロール補正ポインティングデバイスを作るために、正弦および余弦関数は単純化される。基本ＸｃｏｍｐおよびＹｃｏｍｐ式は、以下の等価な式に変換される。
ｓｉｎ（θＡ＋θＲ）＝ｓｉｎ（θＡ）＊ｃｏｓ（θＲ）＋ｃｏｓ（θＡ）＊ｓｉｎ（θＲ）
ｃｏｓ（θＡ＋θＲ）＝ｃｏｓ（θＡ）＊ｃｏｓ（θＲ）−ｓｉｎ（θＡ）＊ｓｉｎ（θＲ）
【００２４】
図５を参照すると、正弦および余弦関数は、直角三角形の幾何学的関係を表す。例において、直角三角形の直角辺は、ＡＸおよびＡＺの大きさによって表されている。第３の辺の長さはＡＸＺであり、これは、［ＡＸ２＋ＡＺ２］１／２と等しい。角度θＡは、辺ＡＸおよびＡＸＺ間である。正弦および余弦関数は、三角比によって置き換えることができる。すなわち、ｓｉｎθＡ＝ＡＺ／ＡＸＺ、ｃｏｓθＡ＝ＡＸ／ＡＸＺ、ｓｉｎθＲ＝ＲＺ／ＲＸＺ、およびｃｏｓθＲ＝ＲＸ／ＲＸＺである。これらの正弦および余弦の同値を、ＸｃｏｍｐおよびＹｃｏｍｐ式に代入することによって、簡略化されたＸｃｏｍｐおよびＹｃｏｍｐ式は、次のようになる。
Ｘｃｏｍｐ＝ＲＸＺ＊［ＡＺ／ＡＸＺ＊ＲＸ／ＲＸＺ＋ＡＸ／ＡＸＺ＊ＲＺ／ＲＸＺ］
Ｙｃｏｍｐ＝ＲＸＺ＊［ＡＺ／ＡＸＺ＊ＲＸ／ＲＸＺ−ＡＸ／ＡＸＺ＊ＲＺ／ＲＸＺ］
【００２５】
式は、次のようにさらに簡略化される。
Ｘｃｏｍｐ＝［ＡＸ＊ＲＸ＋ＡＺ＊ＲＺ］／ＡＸＺ
Ｙｃｏｍｐ＝［ＡＸ＊ＲＺ−ＡＺ＊ＲＸ］／ＡＸＺ
【００２６】
簡略化されたロール補正アルゴリズムは、いくつかの利点を提供する。ロール補正カーソル信号用にこれらの純粋な代数アルゴリズムを用いることによって、ＸｃｏｍｐおよびＹｃｏｍｐは、非常に低減された計算要件で計算され、計算を実行するために必要なエネルギを大幅に低減する。電力をほとんど消費せず、かつポインティングデバイスが、携帯電池で、はるかに長い期間にわたって動作できるようにし、充電または取り替え間の電池寿命を延ばす低出力プロセッサを用いることができる。低出力プロセッサはまた、より高出力なプロセッサよりはるかに安価なコンポーネントである。したがって、本発明のポインティングデバイスの製造コストは、著しく低減することができる。要するに、本発明の代数ベースのロール補正ポインティングデバイスは、三角法ベースのロール補正アルゴリズムを用いるポインティングデバイスに勝る多くの利点を有する。
【００２７】
本発明のポインティングデバイスが用いられる場合には、代数ＸｃｏｍｐおよびＹｃｏｍｐアルゴリズムは、全ての検出された移動に応答するために絶えず計算されている。全ての意図した移動に直ちに応答するために、運動センサは、絶えずサンプリングされ、ＡＸ、ＡＺ、ＲＸおよびＲＺの値は、絶えず更新される。このサンプリングは、ポインティングデバイスが移動および静止している場合に、行ってもよい。実施形態において、加速度計および回転センサは、ほぼ２ミリ秒ごとに１回サンプリングされる。センサの読み取り誤差が生じる可能性があるので、システムには、疑わしいデータポイントを削除するための機構を含んでもよい。実施形態において、システムは、各センサ用に４つの読み取り値が取得されて高および低値が廃棄されるサンプリングシステムを利用する。次に、ＡＸ、ＡＹ、ＡＺ、ＲＸおよびＲＺ用の２つの中間センサ読み取り値が、ＸｃｏｍｐおよびＹｃｏｍｐを計算するために、平均されてプロセッサに転送される。ＸｃｏｍｐおよびＹｃｏｍｐの計算が、どの４つのセンサ読み取り値に対しても１回実行されるので、センサ用の報告時間は、ほぼ８ミリ秒ごとになり得る。
【００２８】
基本ロール補正の補正システムおよび方法を上記で説明したが、本発明のポインティングデバイスに追加的な調整を適用して、ＸｃｏｍｐおよびＹｃｏｍｐカーソル制御信号における潜在的な誤差をさらに補正することができる。実施形態において、Ｘｃｏｍｐ値は、ポインティングデバイスのピッチに対して補正される。ポインティングデバイスが、ピッチにおいて水平方向から離れるように回転すると、Ｚ軸回転センサは、垂直方向から離れるように角度を付けられ、検出されるＺ軸回転速度ＲＺは低減される。ピッチ用のＸｃｏｍｐ値を補正するために、補正係数ＡＸＹＺ／ＡＸＺが適用される。ここで、ＡＸＹＺ＝［ＡＸ２＋ＡＹ２＋ＡＺ２］１／２であり、ＡＸＺ＝［ＡＸ２＋ＡＺ２］１／２である。ＡＹが水平に整列されるので、重力は小さく、ＡＸＹＺ／ＡＸＺは、ポインティングデバイスが水平の場合には約１．０である。ポインティングデバイスが、ピッチにおいて水平から離れるように回転するときには、ＡＹ信号が増加し、その結果、ＡＸＹＺ／ＡＸＺもまた、増加したピッチと共に値が増加する。ピッチ補正は、以下の式においてＸｃｏｍｐに適用される。
Ｘｃｏｍｐ＝［ＡＸ＊ＲＸ＋ＡＺ＊ＲＺ］／ＡＸＺ＊［ＡＸＹＺ／ＡＸＺ］
【００２９】
Ｘｃｏｍｐ用のピッチ補正とは対照的に、Ｙｃｏｍｐには補正係数が必要ではない。Ｘ軸回転センサは、Ｘ軸と整列され、Ｘ軸を中心とするピッチ回転速度を検出する。したがって、Ｙｃｏｍｐは、ポインティングデバイスがピッチで移動された場合には、低減されない。ピッチがＹｃｏｍｐを変化させないので、ピッチ補正は、Ｙｃｏｍｐには適用されない。
【００３０】
ポインティングデバイスに適用できる別の補正は、加速度計によって検出できるユーザ誘導回転加速度用の補正である。加速度計がポインティングデバイスの正確な中心には位置していないので、ポインティングデバイスの回転は、加速度計によって検出されるユーザ誘導加速度を引き起こし、かつ加速度計出力信号ＡＸ、ＡＹおよびＡＺにおける誤差に帰着する。ユーザ誘導加速度には、回転加速度および求心加速度を含むことができる。これらの加速度を動的に検出および計算することにより、本発明のシステムは、補正係数を出力信号ＡＸ、ＡＹおよびＡＺに適用してユーザ誘導加速度を除去することができる。次に、加速度計によって検出された重力は、分離され、結果として、より正確なロール補正計算をもたらすことができる。
【００３１】
回転加速度は、ポインティングデバイスの回転速度に変化がある場合に加速度計によって検出される。加速度計がポインティングデバイスの回転中心には位置していないので、どんな回転加速度も、式Ａ＝ΔＲ／Δ時間＊ｌに基づいて、加速度計の線形加速を引き起こす。回転加速度は、ΔＲ／Δ時間であり、かつ各回転センササンプル間の速度の差を検出すること、およびこの差をサンプル時間で割ることによって、決定することができる。支点アーム長さｌは、それぞれ、Ｘ、ＹおよびＺ加速度計のそれぞれに対して異なることができ、ｌＸ、ｌＹおよびｌＺによってそれぞれ表してもよい。Ｘ、ＹおよびＺ加速度計が、単に一方向における加速度を検出するだけなので、支点アーム長さは、加速度計と、検出方向に直角な回転軸との間の距離である。
【００３２】
図７を参照すると、ポインティングデバイス１０１の上面図が示されている。Ｘ方向加速度計１１１の線形加速度は、Ｚ軸を中心とするポインティングデバイス１０１の回転加速度３２１に、支点アームの長さｌＸ３２３を掛けることによって計算される。支点アーム長さｌＸ３２３は、Ｚ軸３２７から、Ｘ方向においてＸ方向加速度計１１１を通過する線３２９までの垂線の長さに等しい。長さｌＸ３２３が、線３２９およびＺ軸３２７の両方に直角であることに留意されたい。同様に、Ｚ方向加速度計の線形加速度は、Ｘ軸を中心とするポインティングデバイスの回転加速度と支点アーム長さｌＺとを乗算したものであり、支点アーム長さｌＺは、Ｘ軸から、Ｚ方向においてＺ方向加速度計を通過する線までの垂線の長さである。場合によっては、正確な支点アーム長さｌＸおよびｌＺを決定するのが困難な場合があり、近似的な長さを用いて、回転加速度を計算することができる。実施形態において、ユーザ誘導回転加速度は、次の式に基づいて、検出された加速度から減算される。
ＡＸｃｏｒｒｅｃｔｅｄ＝ＡＸ−ΔＲＺ／Δ時間＊ｌＸ
ＡＺｃｏｒｒｅｃｔｅｄ＝ＡＺ−ΔＲＸ／Δ時間＊ｌＺ
【００３３】
これらの計算は、Ｙ軸を中心とする回転を説明しない。なぜなら、本発明のポインティングデバイスは、Ｙ軸回転センサを含まなくてもよいからである。しかしながら、ＲＹが０である可能性が高いので、その場合には、ΔＲＹ／Δ時間＝０であり、かつＹ軸回転加速度の影響は無視でき、ＡＸｃｏｒｒｅｃｔｅｄおよびＡＺｃｏｒｒｅｃｔｅｄ計算には必要でない。ＡＹｃｏｒｒｅｃｔｅｄ＝ＡＸ−ΔＲＸ／Δ時間＊ｌＹ１−ΔＲＺ／Δ時間＊ｌＹ２を計算することもまた可能であり、ここでｌＹ１は、Ｘ軸から、Ｙ方向においてＹ方向加速度計を通過する線までの垂線の長さであり、ｌＹ２は、Ｚ軸から、Ｙ方向においてＹ方向加速度計を通過する線までの垂線の長さである。ＡＹが、ピッチ補正計算において用いられるだけであり、かつ大きさが小さい可能性が高いので、ＡＹｃｏｒｒｅｃｔｅｄ計算は、ＸｃｏｍｐおよびＹｃｏｍｐ計算にそれほどの影響がない可能性があり、必要としなくてもよい。
【００３４】
ＡＸ、ＡＹおよびＡＺの値はまた、回転中心からの加速度計のオフセットゆえに、求心加速度によって変えられる可能性がある。求心計算は、式Ａｃｅｎｔｒｉｐｅｔａｌ＝Ｒ２＊半径に基づく。「Ｒ」の値は、回転軸を中心とする加速度計のオフセット距離である。求心加速度は、２つの別個の成分を有することができる。例えば、Ｙ加速度計の求心加速度は、回転ＲＸ２およびＲＺ２によって引き起こすことができる。半径は、回転軸からの加速度計の距離である。実施形態において、求心加速度は、ＸｃｏｍｐおよびＹｃｏｍｐ計算を補正するために計算されて用いられる。しかしながら、一般に、求心加速度は、回転加速度と比較して非常に小さく、加速度計の補正式から省略することができる。
【００３５】
加速度計および回転センサの出力を変える可能性がある別の要因は、温度である。図２を参照すると、ポインティングデバイスコンポーネントのブロック図が示されている。温度の影響を補正するために、ポインティングデバイスは、温度信号をプロセッサ２０５に供給する温度センサ２１７を有することができる。検出された温度は、メモリ２１９に記憶することができ、対応する温度補正係数は、回転センサの出力ＲＸおよびＲＺに適用することができる。プロセッサ２０５は、温度を周期的にチェックするように構成することができ、温度が、記憶された温度から著しく変化した場合には、新しい温度補正要因を、回転速度信号に適用することができる。実施形態において、温度は５分ごとにチェックされ、温度が摂氏２度を超えて変化した場合には、新しい温度補正値が適用される。
【００３６】
必要とされる温度補正係数を最小限にするために、本発明の移動検出システムは、温度への逆の反応を有するペアのコンポーネントを備えて設計することができる。例えば、回転センサからの回転速度出力信号は、温度が増加するにつれて増加する可能性がある。これらの回転センサは、温度の上昇と共に回転出力読み取り値を減少させる調整器とペアにしてもよい。これらのペアのコンポーネントが、信号に対して逆の影響を及ぼすので、出力回転信号に対する温度変動の正味の影響は低減される。それでも温度補正が必要とされる可能性があるが、温度変化の影響が低減され、これは、システムをより安定させる。
【００３７】
本発明のポインティングデバイスはまた、センサ較正を自動で実行することが可能である。ポインティングデバイスの動作中に、システムは、ポインティングデバイスが静止していることを示す定常出力を加速度計ＡＸおよびＡＺが生成しているときに検出してもよい。この時間中に、ジャイロスコープの出力ＲＸおよびＲＺは、ポインティングデバイスが回転していないので、ゼロのはずである。実施形態において、本発明のポインティングデバイスは、どんな回転ＲＸおよびＲＺ出力誤差も補正するように較正プロセスを実行してもよい。これらの補正オフセットは、メモリ２１９に記憶し、較正プロセスが再び実行されるまで、回転センサの出力を調整するために用いることができる。
【００３８】
非常に簡単な代数アルゴリズムを用いて補正係数が計算されるので、電気エネルギをほとんど必要としない基本プロセッサを用いることができる。実施形態において、本発明のロール補正ポインティングデバイスは、約４ＭＨｚまたはより遅く動作する８ビットマイクロコントローラまたは１６ビットＲＩＳＣ（縮小命令セットコンピュータ）プロセッサを用いる。普通に入手可能な１つまたは複数の１．５ボルトのＡＡまたはＡＡＡサイズの電池などの消費者用電池は、数か月間またはより長く、充電なしで本発明のポインティングデバイスに電力を供給することができる。これは、１２〜１６ＭＨｚで動作するより強力なプロセッサを必要とし、はるかに多くのエネルギを消費し、かつ電池のより頻繁な充電または取り替えを必要とする、三角法ベースのロール補正アルゴリズムを用いるポインティングデバイスに勝る著しい改良である。
【００３９】
他の実施形態において、ポインティングデバイスには、追加のエネルギ節約機構を含むことができる。ポインティングデバイス１０１が用いられていない場合には、それは、自動的にスイッチを切るか、または低エネルギ消費の待機モードに置くことができる。実施形態において、ポインティングデバイスのプロセッサは、加速度計が定常出力信号を発していること、および／または回転センサがゼロ回転速度信号を発していることを検出してもよい。これらのセンサ出力が、長期間にわたって続く場合には、プロセッサは、ポインティングデバイスを止めるか、またはスリープモードに入れてもよい。ポインティングデバイスを再始動させるために、ユーザが、ポインティングデバイス上のボタンを押すようにするか、またはポインティングデバイスが、移動を検出してもよい。これに応じて、プロセッサは、ポインティングデバイスのコンポーネントに電力を印加してもよい。加速度計およびジャイロスコープが、使用可能になるために約２５０ミリ秒を必要とするだけなので、応答の遅延はわずかであり、ユーザによって気付かれない可能性がある。
【００４０】
明確な理解のために前述の発明を詳細に説明したが、添付の特許請求の範囲内で、様々な変更および修正を実行可能であることが明白である。したがって、添付の特許請求の範囲は、本発明の趣旨および範囲内に入る全てのかかる変更、置き換えおよび均等物を含むものと解釈されるように意図されている。
【図１】
0005807291.tif 000002
【図２】
0005807291.tif 000003
【図３】
0005807291.tif 000004
【図４】
0005807291.tif 000005
【図５】
0005807291.tif 000006
【図６】
0005807291.tif 000007
【図７】
0005807291.tif 000008