(57)【要約】【課題】高精度のセンサ及び６軸センサを必要とすることなく、入力装置の回転角度を精度良く算出することができる入力装置、制御装置、ハンドヘルド装置、これらの装置を含む制御システム及び制御方法を提供すること。【解決手段】角速度センサユニットで得られる角速度値の積分演算により、入力装置の回転角度であるロール角が算出される。例えば、入力装置１が略等速状態にあるときに、加速度センサの出力値を用いて、算出されたロール角が校正される。これにより、入力装置１が静止状態である場合に限られず、等速度で動いているときも、入力装置１はロール角を校正可能である。【選択図】図１０
2010157157.tif 000002
【特許請求の範囲】
【請求項１】
入力装置の第１の方向に沿う軸回りの角速度値を検出する角速度検出部と、
前記入力装置の、前記第１の方向に直交する第２の方向と、前記第１の方向及び前記第２の方向の両方に直交する第３の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、
前記検出された角速度値の積分演算により前記入力装置の回転角度値を得る積分手段と、
前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記検出された両加速度値に基づき前記入力装置の回転角度値を算出する校正手段と
を具備する入力装置。
【請求項２】
請求項１に記載の入力装置であって、
前記判定手段は、前記入力装置が略等速度の状態にある場合に、前記入力装置が前記適した状態にあると判定する入力装置。
【請求項３】
請求項２に記載の入力装置であって、
前記判定手段は、前記角速度値の微分演算により角加速度値を得、前記得られた角加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定する入力装置。
【請求項４】
請求項２に記載の入力装置であって、
前記判定手段は、前記検出された両加速度値の微分演算により微分加速度値を得、前記得られた微分加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定する入力装置。
【請求項５】
請求項１に記載の入力装置であって、
前記判定手段は、前記入力装置の、前記第１の方向に沿う軸回りの回転角度の時間変化率が小さい場合に、前記入力装置が前記適した状態にあると判定する入力装置。
【請求項６】
請求項１に記載の入力装置であって、
前記判定手段は、前記入力装置が前記加速度検出部を用いて重力方向を精度良く検出できる姿勢にあるときに、前記入力装置が前記適した状態にあると判定する入力装置。
【請求項７】
請求項６に記載の入力装置であって、
前記判定手段は、前記検出された両加速度値の絶対値が閾値を超える場合に、前記入力装置が前記適した状態にあると判定する入力装置。
【請求項８】
請求項３に記載の入力装置であって、
前記得られた角加速度値に、ユーザが入力装置を動かすときの回転半径を乗じることにより、重力加速度が除去された前記入力装置の加速度値である慣性加速度値を得る取得手段をさらに具備する入力装置。
【請求項９】
請求項８に記載の入力装置であって、
前記判定手段は、前記得られた慣性加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定する入力装置。
【請求項１０】
請求項１に記載の入力装置であって、
前記検出された加速度値から、前記入力装置の動きによる慣性加速度値を減じた値に基づき、前記入力装置の回転角度値を算出する算出手段をさらに具備する入力装置。
【請求項１１】
請求項１に記載の入力装置であって、
少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、ユーザが前記入力装置を介しての操作の対象画像となる、画面上での画像の動きを制御するための制御情報を算出する制御情報算出手段をさらに具備する入力装置。
【請求項１２】
請求項１１に記載の入力装置であって、
前記制御情報算出手段は、さらに、前記検出された両方の加速度値のうち少なくとも一方と、前記角速度値と、のうち少なくとも一方に基づき、前記制御情報を算出する入力装置。
【請求項１３】
請求項１に記載の入力装置であって、
前記角速度検出部は、前記入力装置の前記第２の方向に沿う軸回りの角速度値をさらに検出し、
前記加速度検出部は、前記入力装置の前記第１の方向に作用する加速度値をさらに検出し、
前記積分手段は、前記検出された前記第２の方向に沿う軸回りの角速度値の積分演算により、前記入力装置の前記第２の方向に沿う軸回りの回転角度値である第２の回転角度値を得、
前記判定手段により、前記入力装置が、前記第２の回転角度値を校正するために適した状態にあると判定された場合、前記校正手段は、前記第２の回転角度値を校正するために、前記検出された前記第１及び第３の方向にそれぞれ作用する加速度値に基づき前記入力装置の第２の回転角度値を算出する入力装置。
【請求項１４】
入力装置の第１の方向に沿う軸回りの角速度値を検出する角速度検出部と、前記入力装置の、前記第１の方向に直交する第２の方向と、前記第１の方向及び前記第２の方向の両方に直交する第３の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、前記検出された両方の加速度値及び角速度値の情報を送信する送信手段とを有する入力装置から送信された前記情報に基づき、画面上での画像の動きを制御する制御装置であって、
前記送信された情報を受信する受信手段と、
前記受信された角速度値の積分演算により前記入力装置の回転角度値を得る積分手段と、
前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値、及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記受信された両加速度値に基づき前記入力装置の回転角度値を算出する校正手段と
少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記画面上での前記画像の動きを制御する制御手段と
を具備する制御装置。
【請求項１５】
表示部と、
ハンドヘルド装置の第１の方向に沿う軸回りの角速度値を検出する角速度検出部と、
前記ハンドヘルド装置の、前記第１の方向に直交する第２の方向と、前記第１の方向及び第２の方向の両方に直交する第３の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、
前記検出された角速度値の積分演算により前記ハンドヘルド装置の回転角度値を得る積分手段と、
前記ハンドヘルド装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
前記判定手段により、前記ハンドヘルド装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された両加速度値に基づき前記ハンドヘルド装置の回転角度値を算出する校正手段と、
少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記表示部の画面上での画像の動きを制御する制御手段と
を具備するハンドヘルド装置。
【請求項１６】
請求項１５に記載のハンドヘルド装置であって、
前記判定手段は、前記ハンドヘルド装置が前記加速度検出部を用いて重力方向を精度良く検出できる姿勢にあるときに、前記ハンドヘルド装置が前記適した状態にあると判定する入力装置。
【請求項１７】
請求項１５に記載のハンドヘルド装置であって、
前記判定手段は、前記ハンドヘルド装置が略等速度の状態にある場合に、前記ハンドヘルド装置が前記適した状態にあると判定する入力装置。
【請求項１８】
入力装置であって、
前記入力装置の第１の方向に沿う軸回りの角速度値を検出する角速度検出部と、
前記入力装置の、前記第１の方向に直交する第２の方向と、前記第１の方向及び前記第２の方向の両方に直交する第３の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、
前記検出された角速度値の積分演算により前記入力装置の回転角度値を得る積分手段と、
前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記検出された両方向の加速度値に基づき前記入力装置の回転角度値を算出する校正手段と、
少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、ユーザが前記入力装置を介しての操作の対象画像となる、画面上での画像の動きを制御するための制御情報を算出する制御情報算出手段と、
前記算出された制御情報を送信する送信手段とを有する入力装置と、
制御装置であって、
前記送信された情報を受信する受信手段と、
前記受信された前記制御情報に基づき、前記画面上での前記画像の動きを制御する制御手段とを有する制御装置と
を具備する制御システム。
【請求項１９】
入力装置であって、
前記入力装置の第１の方向に沿う軸回りの角速度値を検出する角速度検出部と、
前記入力装置の、前記第１の方向に直交する第２の方向と、前記第１の方向及び前記第２の方向の両方に直交する第３の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、
前記検出された両方の加速度値及び角速度値の情報を送信する送信手段とを有する入力装置と、
制御装置であって、
前記送信された情報を受信する受信手段と、
前記受信された角速度値の積分演算により前記入力装置の回転角度値を得る積分手段と、
前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記受信された両加速度値に基づき前記入力装置の回転角度値を算出する校正手段と
少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記画面上での前記画像の動きを制御する制御手段とを有する制御装置と
を具備する制御システム。
【請求項２０】
装置の角速度値及び加速度値を検出し、
前記検出された角速度値の積分演算により前記装置の回転角度値を得、
前記装置の前記加速度値に基づいて算出された回転角度値を用いて、前記積分演算で得た回転角度値を校正するために適した状態にあるか否かを、前記検出された加速度値または角速度値のうち少なくとも一方に基づき判定し、
前記判定により、前記装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された加速度値に基づき前記入力装置の回転角度値を算出する
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面上の画像を操作するための空間操作型の入力装置、その操作情報に応じて画像を制御する制御装置、ハンドヘルド装置、これらの装置を含む制御システム、制御方法に関する。
【背景技術】
【０００２】
ＰＣ（Personal Computer）で普及しているＧＵＩ（Graphical User Interface）のコントローラとして、主にマウスやタッチパッド等のポインティングデバイスが用いられている。ＧＵＩは、従来のＰＣのＨＩ（Human Interface）にとどまらず、例えばＴＶを画像媒体としてリビングルーム等で使用されるＡＶ機器やゲーム機のインターフェースとして使用され始めている。このようなＧＵＩのコントローラとして、ユーザが空間で操作することができるポインティングデバイスが多種提案されている。
【０００３】
ポインティングデバイスの動きを検出するセンサとして、角速度センサや加速度センサが用いられる場合が多い。例えば前者の場合はポインティングデバイスの角速度値が画面上のポインタの速度値に対応する値となり、後者の場合は、加速度値の積分演算により、ポインティングデバイスの速度値を取得し、この速度値が画面上のポインタの速度値に対応する値となる。
【０００４】
例えば特許文献１に記載されたペン型入力デバイスは、加速度センサを用いてペン先部の静止状態である初期の回転角度、つまり傾き角度を算出し、ジャイロセンサを用いて筆記中の加速度センサの検出値の回転補正を行うものである。具体的には、このペン型入力デバイスは、その明細書段落[００４１]に記載されているように、筆記中の傾き角度（回転角度ベクトル）をジャイロセンサの検出値に基づきストラップダウン法やオイラー法を用いて算出する。そして、算出された回転角度ベクトルにより加速度センサの検出値の回転補正が行われる。
【０００５】
【特許文献１】特許第３５０６８７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ストラップダウン法やオイラー法では、高精度なジャイロセンサが必要であり、また、３軸加速度センサ及び３軸ジャイロセンサの合計６軸のセンサが必要となる。
【０００７】
以上のような事情に鑑み、本発明の目的は、高精度のセンサ及び６軸センサを必要とすることなく、入力装置の回転角度を精度良く算出することができる入力装置、制御装置、ハンドヘルド装置、これらの装置を含む制御システム及び制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一形態に係る入力装置は、角速度検出部と、加速度検出部と、積分手段と、判定手段と、校正手段とを具備する。  
前記角速度検出部は、入力装置の第１の方向に沿う軸回りの角速度値を検出する。  
前記加速度検出部は、前記入力装置の、前記第１の方向に直交する第２の方向と、前記第１の方向及び前記第２の方向の両方に直交する第３の方向とにそれぞれ作用する加速度値を検出する。  
前記積分手段は、前記検出された角速度値の積分演算により前記入力装置の回転角度値を得る。  
前記判定手段は、前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値、及び角速度値のうち少なくとも一方に基づき判定する。  
前記校正手段は、前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記検出された両加速度値に基づき前記入力装置の回転角度値を算出する。
【０００９】
検出された角速度値が積分されることにより回転角度値が算出されるので、ストラップダウン法やオイラー法を用いる必要がない。したがって、高精度のセンサ及び６軸センサを必要とすることなく、入力装置の回転角度値を精度良く算出することができる。また、校正手段により、入力装置が、積分演算により得られた回転角度値を校正するために適した状態にある回転角度値が校正されるので、回転角度値の算出精度を高めることができる。
【００１０】
前記判定手段は、前記入力装置が略等速度の状態にある場合に、前記入力装置が前記適した状態にあると判定してもよい。
【００１１】
入力装置が静止状態である場合に限られず、略等速度で動いているときも、入力装置は回転角度値を校正可能であるので、校正の機会が多くなる。これにより、後述するように、回転角度値を用いて画面上の画像の制御情報が算出される場合には、結果的に高精度な制御情報を得ることができる。
【００１２】
略等速度の状態とは、等速度の状態及び静止状態も含む意味である。
【００１３】
前記判定手段は、前記角速度値の微分演算により角加速度値を得、前記得られた角加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定してもよい。
【００１４】
角速度検出部の検出値の微分値である角加速度値が用いられることにより、重力加速度の影響を除去することができ、正確な判定処理が可能となる。
【００１５】
あるいは、前記判定手段は、前記加速度値の微分演算により微分加速度値を得、前記得られた微分加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定してもよい。
【００１６】
加速度値の微分値が用いられることにより、その判定の際に、重力加速度の影響を除去することができ、正確な判定処理が可能となる。
【００１７】
前記判定手段は、前記入力装置の、前記第１の方向に沿う軸回りの回転角度の時間変化率が小さい場合に、前記入力装置が前記適した状態にあると判定してもよい。
【００１８】
例えば、判定手段は、回転角度値の時間変化率が閾値以下のときに、入力装置が略等速度の状態にあると判定することができる。これにより、入力装置が略等速度の状態にあり、かつ、回転角度値の変化が小さいことを、入力装置が認識することができる。
【００１９】
この場合、入力装置は、前記加速度検出部で検出された２方向の加速度値に基づき前記入力装置の回転角度値を算出し、そして、この回転角度値の時間変化率を算出してもよい。あるいは、回転角度の時間変化率として、角速度検出部で検出された角速度値が採用されてもよい。
【００２０】
前記判定手段は、前記検出された両加速度値の絶対値が閾値を超える場合に、前記入力装置が前記適した状態にあると判定してもよい。
【００２１】
両加速度値の閾値として、入力装置の姿勢の変化により、加速度検出部の出力値のＳ／Ｎが変化する場合があるので、例えばそのＳ／Ｎを基準に設定されればよい。
【００２２】
判定手段は、入力装置が略等速度の状態にある場合で、かつ、検出された加速度値が閾値を超える場合に、入力装置が適した状態にあると判定してもよい。
【００２３】
前記入力装置は、前記得られた角加速度値に、ユーザが入力装置を動かすときの回転半径を乗じることにより、重力加速度が除去された前記入力装置の加速度値である慣性加速度値を得る取得手段をさらに具備してもよい。
【００２４】
前記判定手段は、前記得られた慣性加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定してもよい。
【００２５】
これにより、判定手段による判定精度がさらに高められる。
【００２６】
前記校正手段は、前記検出された加速度値（少なくとも一方の加速度値）から前記慣性加速度値を減じた値に基づき、前記入力装置の回転角度値を算出してもよい。
【００２７】
これにより、検出された加速度値を用いて回転角度値を算出する際に、ローパスフィルタがなくても、検出された加速度値から、入力装置の動きによる慣性加速度の影響を除去することができ、重力加速度を抽出することができる。
【００２８】
前記入力装置は、前記検出された加速度値（少なくとも一方の加速度値）から、前記入力装置の動きによる慣性加速度値を減じた値に基づき、前記入力装置の回転角度値を算出してもよい。
【００２９】
前記入力装置は、少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、ユーザが前記入力装置を介しての操作の対象画像となる、画面上での画像の動きを制御するための制御情報を算出する制御情報算出手段をさらに具備してもよい。
【００３０】
回転角度値は、制御情報算出手段が制御情報を算出する際に、主に回転座標変換の補正を行うために必要な情報である。
【００３１】
「画面上での画像の動き」とは、例えば、画面上のポインタの動き、スクロールによる画像の動き、ズームイン（またはズームアウト）による画像の動き、または、画面内での画像の向き等が挙げられる。
【００３２】
前記制御情報算出手段は、さらに、前記検出された両方の加速度値のうち少なくとも一方と、前記角速度値と、のうち少なくとも一方に基づき、前記制御情報を算出してもよい。
【００３３】
前記角速度検出部は、前記入力装置の前記第２の方向に沿う軸回りの角速度値をさらに検出し、前記加速度検出部は、前記入力装置の前記第１の方向に作用する加速度値をさらに検出してもよい。また、前記積分手段は、前記検出された前記第２の方向に沿う軸回りの角速度値の積分演算により、前記入力装置の前記第２の方向に沿う軸回りの回転角度値である第２の回転角度値を得てもよい。また、前記判定手段により、前記入力装置が、前記第２の回転角度値を校正するために適した状態にあると判定された場合、前記校正手段は、前記第２の回転角度値を校正するために、前記検出された前記第１及び第３の方向にそれぞれ作用する加速度値に基づき前記入力装置の第２の回転角度値を算出してもよい。
【００３４】
本発明の一形態に係る制御装置は、角速度検出部と、加速度検出部と、送信手段とを有する入力装置から送信された情報に基づき、画面上での画像の動きを制御する制御装置である。  
前記角速度検出部は、入力装置の第１の方向に沿う軸回りの角速度値を検出する。  
前記加速度検出部は、前記入力装置の、前記第１の方向に直交する第２の方向と、前記第１の方向及び前記第２の方向の両方に直交する第３の方向とにそれぞれ作用する加速度値を検出する。  
前記送信手段は、前記検出された両方の加速度値及び角速度値の情報を送信する。  
前記制御装置は、受信手段と、積分手段と、判定手段と、校正手段と、制御手段とを具備する。  
前記受信手段は、前記送信された情報を受信する。  
前記積分手段は、前記受信された角速度値の積分演算により前記入力装置の回転角度値を得る。  
前記判定手段は、前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値、及び角速度値のうち少なくとも一方に基づき判定する。  
前記校正手段は、前記判定手段により、前記ハンドヘルド装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された両加速度値に基づき前記ハンドヘルド装置の回転角度値を算出する。  
前記制御手段は、少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記画面上での前記画像の動きを制御する。
【００３５】
本発明の一形態に係るハンドヘルド装置は、表示部と、角速度検出部と、加速度検出部と、積分手段と、判定手段と、校正手段と、制御手段とを具備する。  
前記角速度検出部は、ハンドヘルド装置の第１の方向に沿う軸回りの角速度値を検出する。  
前記加速度検出部は、前記ハンドヘルド装置の、前記第１の方向に直交する第２の方向と、前記第１の方向及び第２の方向の両方に直交する第３の方向とにそれぞれ作用する加速度値を検出する。  
前記積分手段は、前記検出された角速度値の積分演算により前記ハンドヘルド装置の回転角度値を得る。  
前記判定手段は、前記ハンドヘルド装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する。  
前記校正手段は、前記判定手段により、前記ハンドヘルド装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された両加速度値に基づき前記ハンドヘルド装置の回転角度値を算出する。  
前記制御手段は、少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記表示部の画面上での画像の動きを制御する。
【００３６】
前記判定手段は、前記ハンドヘルド装置が前記加速度検出部を用いて重力方向を精度良く検出できる姿勢にあるときに、前記ハンドヘルド装置が前記適した状態にあると判定してもよい。
【００３７】
前記判定手段は、前記ハンドヘルド装置が略等速度の状態にある場合に、前記ハンドヘルド装置が前記適した状態にあると判定してもよい。
【００３８】
本発明の一形態に係る制御システムは、上述の入力装置と制御装置とを具備すればよい。
【００３９】
本発明の一形態に係る制御方法は、装置の角速度値及び加速度値を検出することを含む。  
前記検出された角速度値の積分演算により前記装置の回転角度値が得られる。  
前記装置の前記加速度値に基づいて算出された回転角度値を用いて、前記積分演算で得た回転角度値を校正するために適した状態にあるか否かが、前記検出された加速度値または角速度値のうち少なくとも一方に基づき判定される。  
前記判定により、前記装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された加速度値に基づき前記入力装置の回転角度値が算出される。
【００４０】
「装置」は、入力装置またはハンドヘルド装置等、ユーザが操作できるものであれば何でもよい。
【発明の効果】
【００４１】
高精度のセンサ及び６軸センサを必要とすることなく、入力装置の回転角度を精度良く算出することができる。
【発明を実施するための最良の形態】
【００４２】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００４３】
図１は、本発明の一実施の形態に係る制御システムを示す図である。制御システム１００は、表示装置５、制御装置４０及び入力装置１を含む。
【００４４】
図２は、入力装置１を示す斜視図である。入力装置１は、ユーザが持つことができる程度の大きさとされている。入力装置１は、筐体１０、筐体１０の上部に設けられた例えば２つのボタン１１、１２、回転式のホイールボタン１３等の操作部を備えている。筐体１０の上部の中央よりに設けられたボタン１１は、例えばＰＣで用いられる入力デバイスとしてのマウスの左ボタンの機能を有し、ボタン１１に隣接するボタン１２は右ボタンの機能を有する。
【００４５】
例えば、ボタン１１を長押して入力装置１を移動させることにより「ドラッグアンドドロップ」、ボタン１１のダブルクリックによりファイルを開く操作、ホイールボタン１３により画面３のスクロール操作が行われるようにしてもよい。ボタン１１、１２、ホイールボタン１３の配置、発行されるコマンドの内容等は、適宜変更可能である。
【００４６】
図３は、入力装置１の内部の構成を模式的に示す図である。図４は、入力装置１の電気的な構成を示すブロック図である。
【００４７】
入力装置１は、センサユニット１７、制御ユニット３０、バッテリー１４を備えている。
【００４８】
図８は、センサユニット１７を示す斜視図である。センサユニット１７は、互いに異なる角度、例えば直交する２軸（Ｘ軸及びＹ軸）に沿った加速度を検出する加速度センサユニット１６を有する。すなわち、加速度センサユニット１６は、第１の加速度センサ１６１及び第２の加速度センサ１６２の２つセンサを含む。また、センサユニット１７は、その直交する３軸の回りの角速度を検出する角速度センサユニット１５を有する。すなわち、角速度センサユニット１５は、第１の角速度センサ１５１、第２の角速度センサ１５２及び第３の角速度センサ１５３の３つのセンサを含む。これらの加速度センサユニット１６及び角速度センサユニット１５はパッケージングされ、回路基板２５上に搭載されている。
【００４９】
第１、第２及び第３の角速度センサ１５１、１５２及び１５３としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。角速度センサ１５１、１５２及び１５３としては、振動型ジャイロセンサに限られず、回転コマジャイロセンサ、レーザリングジャイロセンサ、ガスレートジャイロセンサ、あるいは、地磁気型ジャイロセンサ等が用いられてもよい。第１、第２の加速度センサ１６１、１６２としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。
【００５０】
図２及び図３の説明では、便宜上、筐体１０の長手方向をＺ’方向とし、筐体１０の厚さ方向をＸ’方向とし、筐体１０の幅方向をＹ’方向とする。この場合、上記センサユニット１７は、回路基板２５の、加速度センサユニット１６及び角速度センサユニット１５を搭載する面がＸ’−Ｙ’平面に実質的に平行となるように、筐体１０に内蔵され、上記したように、両センサユニット１６、１５はＸ軸及びＹ軸の２軸に関する物理量を検出する。Ｘ’軸及びＹ’軸を含む平面が加速度検出面、つまり回路基板２５の主面に実質的に平行な面である。
【００５１】
以降では、入力装置１とともに動く座標系、つまり、入力装置１に固定された座標系をＸ’軸、Ｙ’軸、Ｚ’軸で表す。一方、地球上で静止した座標系、つまり慣性座標系をＸ軸、Ｙ軸、Ｚ軸で表す。また、以降の説明では、入力装置１の動きに関し、Ｘ’軸の回りの回転の方向をピッチ方向、Ｙ’軸の回りの回転の方向をヨー方向といい、Ｚ’軸（ロール軸）方向の回りの回転の方向をロール方向という場合もある。
【００５２】
制御ユニット３０は、メイン基板１８、メイン基板１８上にマウントされたＭＰＵ１９（Micro Processing Unit）（あるいはＣＰＵ）、水晶発振器２０、送受信機２１、メイン基板１８上にプリントされたアンテナ２２を含む。
【００５３】
ＭＰＵ１９は、必要な揮発性及び不揮発性メモリを内蔵している。ＭＰＵ１９には、センサユニット１７による検出信号、操作部による操作信号等が入力され、これらの入力信号に応じた所定の制御信号を生成するため、各種の演算処理等を行う。
【００５４】
送受信機２１は、ＭＰＵ１９で生成された制御信号（制御情報）を含む情報をＲＦ無線信号として、アンテナ２２を介して制御装置４０に送信する。また、送受信機２１は、制御装置４０から送信された各種の信号を受信することも可能となっている。
【００５５】
水晶発振器２０は、クロックを生成し、これをＭＰＵ１９に供給する。バッテリー１４としては、乾電池または充電式電池等が用いられる。
【００５６】
制御装置４０は、ＭＰＵ３５（あるいはＣＰＵ）、表示制御部４２、ＲＡＭ３６、ＲＯＭ３７、ビデオＲＡＭ４１、アンテナ３９及び送受信機３８等を含む。
【００５７】
送受信機３８は、入力装置１から送信された情報を、アンテナ３９を介して受信する。また、送受信機３８は、入力装置１へ各種の情報を送信することも可能となっている。ＭＰＵ３５は、受信された情報を解析し、各種の演算処理を行う。表示制御部４２は、ＭＰＵ３５の制御に応じて、主に、表示装置５の画面３上に表示するための画面データを生成する。ビデオＲＡＭ４１は、表示制御部４２の作業領域となり、生成された画面データを一時的に格納する。
【００５８】
制御装置４０は、入力装置１に専用の機器であってもよいが、ＰＣ等であってもよい。制御装置４０は、入力装置１に専用の機器に限られず、表示装置５と一体となったコンピュータであってもよいし、オーディオ／ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
【００５９】
表示装置５は、例えば液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイ等が挙げられるが、これらに限られない。あるいは、表示装置５は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよいし、このようなディスプレイと上記制御装置４０とが一体となった装置でもよい。
【００６０】
図５は、表示装置５に表示される画面３の例を示す図である。画面３上には、アイコン４やポインタ２等が表示されている。アイコンとは、コンピュータ上のプログラムの機能、実行コマンド、またはファイルの内容等が画面３上で画像化されたものである。なお、画面３上の水平方向をＸ軸方向とし、垂直方向をＹ軸方向とする。
【００６１】
図６は、ユーザが入力装置１を握った様子を示す図である。図６に示すように、入力装置１は、上記ボタン１１、１２、１３のほか、例えばＴＶ等を操作するリモートコントローラに設けられるような各種の操作ボタンや電源スイッチ等の操作部を備えていてもよい。このようにユーザが入力装置１を握った状態で、入力装置１を空中で移動させ、あるいは操作部を操作することにより、その入力情報が制御装置４０に出力され、制御装置４０によりポインタが制御される。
【００６２】
次に、入力装置１の動かし方及びこれによる画面３上のポインタ２の動きの典型的な例を説明する。図７はその説明図である。
【００６３】
図７（Ａ）、（Ｂ）に示すように、ユーザが入力装置１を握った状態で、入力装置１のボタン１１、１２が配置されている側を表示装置５側に向ける。ユーザは、親指を上にし子指を下にした状態、いわば握手する状態で入力装置１を握る。この状態で、センサユニット１７の回路基板２５（図８参照）は、表示装置５の画面３に対して平行に近くなり、センサユニット１７の検出軸である２軸が、画面３上の水平軸（Ｘ軸）及び垂直軸（Ｙ軸）に対応するようになる。以下、このような図７（Ａ）、（Ｂ）に示す入力装置１の姿勢を基本姿勢という。
【００６４】
図７（Ａ）に示すように、基本姿勢の状態で、ユーザが手首や腕を上下方向、つまりピッチ方向に振る。このとき、第２の加速度センサ１６２は、Ｙ’軸方向の加速度を検出し、第１の角速度センサ１５１は、Ｘ’軸の回りの角速度を検出する。これらの検出値に基づき、制御装置４０は、ポインタ２がＹ軸方向に移動するようにそのポインタ２の表示を制御する。
【００６５】
一方、図７（Ｂ）に示すように、基本姿勢の状態で、ユーザが手首や腕を左右方向、つまりヨー方向に振る。このとき、第１の加速度センサ１６１は、Ｘ’軸方向の加速度を検出し、第２の角速度センサ１５２は、Ｙ’軸の回りの角速度を検出する。これらの検出値に基づき、制御装置４０は、ポインタ２がＸ軸方向に移動するようにそのポインタ２の表示を制御する。
【００６６】
次に、加速度センサユニット１６への重力の影響について説明する。図９はその説明のための図である。図９は、入力装置１をＺ方向で見た図である。
【００６７】
図９（Ａ）では、入力装置１が基本姿勢とされ、静止しているとする。このとき、第１の加速度センサ１６１の出力は実質的に０であり、第２の加速度センサ１６２の出力は、重力加速度Ｇ分の出力とされている。しかし、例えば図９（Ｂ）に示すように、入力装置１がロール方向に傾いた状態では、第１、第２の加速度センサ１６１、１６２は、重力加速度Ｇのそれぞれの傾き成分の加速度値を検出する。
【００６８】
この場合、特に、入力装置１が実際にヨー方向には動いていないにも関わらず、第１の加速度センサ１６１はＸ軸方向の加速度を検出することになる。この図９（Ｂ）に示す状態は、図９（Ｃ）のように入力装置１が基本姿勢にあるときに、加速度センサユニット１６が破線の矢印で示すような慣性力Ix、Iyを受けた状態と等価であり、加速度センサユニット１６にとって区別が付かない。その結果、加速度センサユニット１６は、矢印で示すような左に斜め下方向の加速度が入力装置１に加わったと判断し、入力装置１の実際の動きとは違った検出信号を出力する。しかも、重力加速度Ｇは常に加速度センサユニット１６に作用するため、加速度から速度を求めるための加速度の積分値は増大し、ポインタ２を斜め下方に変位させる量は加速度的に増大してしまう。図９（Ａ）から図９（Ｂ）に状態が移行した場合、本来、画面３上のポインタ２が動かないようにすることが、ユーザの直感に合った操作と言える。
【００６９】
図１０は、本発明の一実施の形態に係る入力装置の処理を示すフローチャートである。
【００７０】
入力装置１に電源が投入される。例えば、ユーザが入力装置１または制御装置４０に設けられた電源スイッチ等を入れることにより、入力装置１に電源が投入される。電源が投入されると、角速度センサユニット１５から３軸の角速度信号が出力される。ＭＰＵ１９は、この３軸の角速度信号による第１の角速度値ωψ、第２の角速度値ωθ及び第３の角速度値ωφを取得する（ステップ１０１）。
【００７１】
また、入力装置１に電源が投入されると、加速度センサユニット１６から２軸の加速度信号が出力される。ＭＰＵ１９は、この２軸の加速度信号による第１の加速度値ax及び第２の加速度値ayを取得する（ステップ１０２）。この加速度値の信号は、電源が投入された時点での入力装置１の姿勢（以下、初期姿勢という）に対応する信号である。
【００７２】
なお、図１０のフローでは、角速度値の取得後、加速度値が取得されたが、その順序は逆でもよいし、並列的に取得されてもよい。このことは、後で説明する図１２、１３、１７においても同様である。
【００７３】
ＭＰＵ１９は、加速度値（ax、ay）及び角速度値（ωψ、ωθ）に基づき、速度値（Vx、Vy）（ポインタ２を画面３上で動かすための制御情報）を算出する（ステップ１０３）。算出された速度値は、後述するように角速度値が用いられて演算により求められるので、実質的に入力装置の動きに合致した速度値が得られる。この速度値の算出についての詳細は後述する。
【００７４】
ＭＰＵ１９は、入力装置１が略等速状態にあるか否かを判定する。具体的には、ＭＰＵ１９は、まず検出された角速度値(ωψ、ωθ、ωφ)をそれぞれ微分することで、角加速度値(Δωψ、Δωθ、Δωφ)を取得する（ステップ１０４）。そして、ＭＰＵ１９は、これらすべての角加速度値の絶対値が閾値th1以下である否かを判定する（ステップ１０５）。閾値th1は、ゼロに近い値が設定されるが、適宜設定可能である。ＭＰＵ１９は、これら２つのステップ１０４、１０５により、入力装置１が略等速状態にあるか否かを判定することができる。
【００７５】
略等速状態を判定する理由は、入力装置１が略等速状態にあるときは、加速度センサユニット１６の検出値に慣性加速度が含まれておらず、その検出値から実質的に重力加速度を抽出することができるからである。ここでいう慣性加速度とは、実質的に入力装置１の動きのみにより発生する加速度であり、加速度センサユニット１６の検出値から重力加速度値が除去されたものである。入力装置１が略等速状態にある場合、入力装置１が、後述するロール角を校正するために適した状態にある、と言える。
【００７６】
加速度センサユニット１６の検出値から重力加速度が抽出される理由は、後述する式（２）で示すように、ＭＰＵ１９が入力装置１のロール角（ロール方向の回転角度値）を正確に算出するためである。つまり、式（２）によるロール角の算出時に、加速度センサユニット１６の検出値に慣性加速度が含まれていると、正確なロール角が算出されないからである。逆に言えば、加速度センサユニット１６の検出値に慣性加速度が含まれていないときは、加速度値から正確なロール角が算出できることになる。
【００７７】
ここでの略等速状態とは、正確なロール角算出に支障があるような慣性加速度が働かない状態を意味し、入力装置１が静止している状態も含む。この「略等速状態」は、上記閾値th1の設定範囲によってその範囲が定められる。この閾値th1の設定の際に考慮される事項は、主に、センサユニット１７（特に角速度センサユニット１５）からの出力信号のドリフトがある。
【００７８】
ここでいうドリフトとは、温度ドリフト、ＤＣドリフト、回路遅延によるドリフト、ストレス（応力）によるドリフト等である。ストレスによるドリフトとは、例えば、ユーザが筐体１０を握るときに筐体１０を介してセンサユニット１７に係る応力により発生するドリフトである。このドリフトが大きい場合において、閾値th1の設定が低すぎると、入力装置１が略等速状態となる機会が少なくなり、傾き角ψを校正しきれない場合がある。したがって、ドリフト値は閾値th1が設定される上で重要なパラメータとなる。
【００７９】
この閾値th1の設定の際に考慮される他の事項として、次のようなものがある。例えばステップ２０２及び３０２の処理が、加速度センサユニット１６の出力信号で判定される場合、入力装置１の筐体１０内で、センサユニット１７（特に加速度センサユニット１６）が配置される位置が重要なパラメータとなる。ユーザが入力装置１を同じように動かしても、その配置によっては加速度センサユニット１６の出力値が異なるからである。
【００８０】
以上のように、入力装置１の設計者は、このような各種ドリフトや加速度センサユニット１６の筐体１０内での配置を総合的に考慮した上で閾値th1を設定すればよい。
【００８１】
角速度センサユニット１５は重力加速度の影響を受けない。したがって、ステップ１０５の処理のように角加速度値が判定対象とされることで、重力加速度の影響を受けずに正確な判定処理が可能となる。
【００８２】
なお、ステップ１０５において、ロール方向の角加速度値Δωφは、閾値判定の対象とされなくてもよい。ステップ１０５では、入力装置１が、画面３上のポインタ２をＸ軸及びＹ軸上、つまりＸ−Ｙ平面である２次元で動かす上で入力装置１の略等速状態が判定対象とされるからである。
【００８３】
入力装置１が略等速状態にないとき（ステップ１０５のＹＥＳ）、ＭＰＵ１９は、下記式（１）により、つまり角速度値ωφの積分演算により、ロール角を算出する（ステップ１０６）。
【００８４】
φ(t) =φ(t-1)＋ωφ(t)・・・（１）。
【００８５】
式（１）中、(t)は現在の値を意味し、(t-1)は、例えばメモリに格納された、現在より１つ前の値を示している。
【００８６】
入力装置１が略等速状態にあるとき（ステップ１０５のＮＯ）、ＭＰＵ１９は、加速度センサユニット１６により得られた加速度値（ax、ay）のそれぞれ両方の絶対値が閾値th2以下であるか否かを判定する（ステップ１０７）。閾値th2は、ゼロに近い値が設定されるが、適宜設定可能である。ＭＰＵ１９は、ステップ１０７でＹＥＳの場合、ステップ１０６に処理を進め、ＮＯの場合、加速度値（ax、ay）に基づき、例えば下記式（２）を用いてロール角を算出する（ステップ１０８）。
【００８７】
φ(t)＝arctan(ax(t)/ay(t))・・・（２）。
【００８８】
加速度値（ax、ay）のそれぞれ両方の絶対値がゼロに近い値である場合、図２に示したように、入力装置１のボタン１１、１２が設けられた、筐体１０の端部が実質的に上方または下方を向くときである。このような状態では、加速度センサの検出軸が重力加速度の方向に直交する方向に近くなって加速度値（ax、ay）が小さくなるので、ノイズが相対的に大きくなり、加速度センサユニット１６の検出値のＳ／Ｎが小さくなる。すなわち、この場合、入力装置１は重力方向を精度良く検出できない姿勢にある。Ｓ／Ｎが小さいと、ＭＰＵ１９は、式（２）を用いてロール角を算出する場合に、正確にそれを算出できない。したがって、ステップ１０７でＹＥＳの場合、ＭＰＵ１９は、式（２）でなく、式（１）を用いてロール角を算出する。ステップ１０７でＮＯの場合、入力装置１が傾き角ψを校正するために適した状態にある、と言える。
【００８９】
ステップ１０７においてＮＯの場合、すなわち、加速度センサユニット１６の検出値のＳ／Ｎが大きい場合、ＭＰＵ１９は、式（２）を用いてロール角を算出する。これにより、正確なロール角が算出される。
【００９０】
以上のように、ロール角の計算方法が式（１）及び（２）の２通り用意されている理由は、式（１）及び（２）のそれぞれが相補的に用いられるようにするためである。例えば式（２）による方法では、入力装置１に慣性加速度が働いているときは、正確なロール角が計算できないので、所定条件下で式（１）が用いられる。一方、式（１）による方法では、積分誤差が発生するので、所定条件下で式（２）が用いられ、式（１）により得られたロール角の校正が行われる。
【００９１】
このように、入力装置１が略等速状態にあるときに、ロール角の校正が実行されることにより、入力装置１が静止状態である場合に限られず、略等速度で動いているときも、入力装置１はロール角を校正可能であるので、校正の機会が多くなる。これにより、高精度にポインタの位置を制御することができる。ユーザが実際に入力装置１を使う場合、校正の機会は、少なくとも数秒に１回程度ある。具体的には、ユーザが入力装置１を動かして止める間に、必ず加速度がゼロとなる瞬間があるので、その瞬間またはその直前等に校正が実行され得る。
【００９２】
ステップ１０９では、ＭＰＵ１９は、算出したロール角φに応じた回転座標変換により、ステップ１０３により得られた速度値（Vx、Vy）をそれぞれ補正し、補正値である補正速度値（Vx’、Vy’）を得る。すなわち、ＭＰＵ１９は、図１１に示す回転座標変換の式（３）を用いて、速度値（Vx、Vy）を補正する。このようなロール角を利用した回転座標変換補正により、図９（Ｂ）に示したように、入力装置１がロール方向に傾いた状態であっても、高精度なポインタの制御が可能となる。
【００９３】
ＭＰＵ１９は、送受信機２１により、補正速度値（Vx’、Vy’）の情報を制御装置４０に送信する（ステップ１１０）。
【００９４】
制御装置４０のＭＰＵ３５は、補正速度値（Vx’、Vy’）の情報を受信する（ステップ１１１）。入力装置１は、所定のクロックごとに、つまり単位時間ごとに補正速度値（Vx’、Vy’）を送信するので、制御装置４０は、これを受信し、単位時間ごとのＸ軸及びＹ軸方向の変位量を取得することができる。ＭＰＵ３５は、下の式（４）、（５）より、取得した単位時間当りのＸ軸及びＹ軸方向の変位量に応じた、ポインタ２の画面３上における座標値（X(t)、Y(t)）を生成する（ステップ１１２）。この座標値の生成により、ＭＰＵ３５は、ポインタ２が画面３上で移動するように表示を制御する（ステップ１１３）。
【００９５】
X(t) =X(t-1)＋Vx’(t)・・・（４）
Y(t) =Y(t-1)＋Vy’(t)・・・（５）。
【００９６】
以上のように、検出された角速度値が積分されることによりロール角が算出されるので、ストラップダウン法やオイラー法を用いる必要がない。したがって、高精度のセンサ及び６軸センサを必要とすることなく、ロール角を精度良く算出することができる。また、入力装置１がロール角の校正に適した状態にあるときに、ロール角の校正が行われるので（ステップ１０８）、正確なロール角を算出することができる。
【００９７】
[入力装置の略等速状態の、他の実施形態に係る判定方法]
図１０で示したステップ１０５において、入力装置１が略等速状態にあるか否か判定された。この略等速状態の他の実施形態に係る判定方法について、以下、[１]〜[３]の３つの方法を説明する。
【００９８】
[１]例えば、ＭＰＵ１９は、下記の式（６）により得られるロール角の時間変化率Δφが、閾値th3以下であるか否かを判定する。この判定処理（Δφ≦th3？）が、上記ステップ１０７の代わりに実行されればよい。ロール角変化率が大きいときに校正すると誤差が乗りやすいが、Δφ≦th3の場合、入力装置１のロール角変化が小さく、校正に適した状態にあると判定される。閾値th3は、ゼロに近い値が設定されるが、適宜設定可能である。その場合、その判定処理（Δφ≦th3？）の前に、ステップ１０５と同様な略等速度の状態にあることの判定処理が実行されてもよい。
【００９９】
Δφ(t)＝arctan(ax(t)/ay(t))−arctan(ax(t-1)/ay(t-1))・・・（６）。
【０１００】
これにより、入力装置が略等速度の状態にあり、かつ、ロール角の変化が小さい（例えばゼロ付近）こと、すなわち校正に適した条件であることを、入力装置１が認識することができる。
【０１０１】
[２]例えば、ＭＰＵ１９は、下記の式（７）、（８）により加速度値の時間変化率（Δax、Δay）を算出し、この時間変化率（Δax、Δay）が閾値th4以下であるか否かの処理を、上記ステップ１０４及び１０５の代わりに実行する。（Δax、Δay）の両方が閾値th4以下の場合、入力装置１が略等速状態にあると判定される。閾値th4は、ゼロに近い値が設定されるが、適宜設定可能である。
【０１０２】
Δax(t)＝ax(t)−ax(t-1)・・・（７）
Δay(t)＝ay(t)−ay(t-1)・・・（８）。
【０１０３】
この判定処理は、入力装置１の加減速時は、静止時よりも加速度の変化量が多い傾向があるので、このことを利用している。下の[３]における式（９）が用いられる場合も同様である。また、加速度値の時間変化率は加速度値の微分値であるので、この判定処理の際に重力加速度の影響を除去することができ、高精度な判定が可能となる。
【０１０４】
[３]例えば、ＭＰＵ１９は、下記の式（９）を用いて、加速度センサユニット１６により得られる加速度値（ax、ay）の合成ベクトルの大きさの時間変化率ΔＧを算出する。ＭＰＵ１９は、この時間変化率ΔＧが閾値th5以下であるか否かの判定処理を実行する。変化率ΔＧが閾値th5以下である場合、入力装置１が略等速状態にあると判定される。これらの処理は、上記ステップ１０４及び１０５の代わりに実行される。閾値th5は、ゼロに近い値が設定されるが、適宜設定可能である。
【０１０５】
ΔＧ(t)＝(ax(t)2+ay(t)2)1/2−(ax(t-1)2+ay(t-1)2)1/2・・・（９）。
【０１０６】
以上説明した[１]〜[３]の３つの方法のほか、入力装置１の略等速状態を判定する方法として、例えば[２]及び[３]の両方を実行し、両方の判定がＹＥＳのときに、入力装置１が略等速状態にあると判定してもよい。つまり、時間変化率（Δax、Δay）が閾値th4以下であって、かつ、時間変化率ΔＧが閾値th5以下である場合に、入力装置１が略等速状態であると判定される。
【０１０７】
以上のように、加速度値（ax、ay）及び角速度値(ωψ、ωθ、ωφ)のうち少なくとも一方に基づき、入力装置１が略等速状態であるか否かが判定されてもよい。この場合、角速度値(ωψ、ωθ、ωφ)については、これら３つの値のうち、少なくとも(ωψ、ωθ)に基づき、または、少なくともωφに基づき、略等速状態が判定されてもよい。
【０１０８】
[入力装置の他の実施形態に係る処理]
次に、入力装置１の他の実施形態に係る処理について説明する。図１２は、その処理を示すフローチャートである。以下の説明では、図１０に示した処理と異なる処理を中心に説明する。
【０１０９】
例えば、ＭＰＵ１９は、ステップ２０５において、下記の式（１０）、（１１）により慣性加速度値（axi、ayi）を算出する。
【０１１０】
axi=Rψ・Δωψ・・・（９）
ayi=Rθ・Δωθ・・・（１０）。
【０１１１】
（Rψ、Rθ）は、例えば、ユーザが入力装置１を持って、ある点を通る軸の回りに動かすときの回転半径として設定される。例えばユーザが肘を中心として入力装置１を動かすときは、回転半径（Rψ、Rθ）の両方を、肘から手の先（指など）までの距離にそれぞれ設定することができる。
【０１１２】
Rψとして、ユーザが実際に取り得る最大値（例えば肩から手の先までの長さ程度の定数）が用いられることにより、実際よりも大きめの慣性加速度値を得ることができる。この値を使用すれば、より安全率の高い判定を行うことができる。
【０１１３】
ステップ２０６では、ＭＰＵ１９は、得られた慣性加速度値（axi、ayi）の両方の絶対値が、閾値th6以下であるか否かを判定する。慣性加速度値（axi、ayi）は、検出値（ax、ay）から重力の影響が除去された値であるので、ステップ２０６における判定処理の精度を高めることができる。閾値th6は、ゼロに近い値が設定されるが、適宜設定可能である。
【０１１４】
また、ステップ２０９では、ＭＰＵ１９は、下記の式（１１）により、検出値（ax、ay）から慣性加速度値（axi、ayi）を除去した上で、ロール角φを算出する。これにより、ロール角を算出するときに、ローパスフィルタがなくても、検出された加速度値（ax、ay）から、慣性加速度の影響を除去することができ、重力加速度を抽出することができる。これにより、正確なロール角が算出される。
【０１１５】
φ(t) =arctan[(ax(t)-axi(t))/(ay(t)-ayi(t))]・・・（１１）。
【０１１６】
なお、ステップ２０９では、ステップ２０６を経ているので、除去される慣性加速度値の値はゼロに近い小さい値となる。
【０１１７】
入力装置１の他の実施形態に係る処理として、ステップ２０６では、ステップ１０５と同様の処理が実行されてもよい。あるいは、他の実施形態に係る処理として、ステップ２０９では、ステップ１０８と同様の処理が実行されてもよい。
【０１１８】
これまでの説明では、入力装置１が主要な演算を行って速度値（Vx、Vy）を算出していた。図１３に示す実施の形態では、制御装置４０が主要な演算を行う。この図１３に示す処理は、図１０に対応する。
【０１１９】
入力装置１が、例えばセンサユニット１７から出力された２軸の加速度値及び３軸の角速度値の情報を制御装置に送信する（ステップ３０３）。制御装置４０は、送信された情報を受信し（ステップ３０４）、ステップ３０５以降では、図１０に示したステップ１０３以降と同様の処理を実行する。
【０１２０】
[Ａ]あるいは、入力装置１が、ステップ３０５のようにセンサユニット１７から出力された２軸の加速度値及び３軸の角速度値に基づき、速度値（Vx、Vy）を算出し、その速度値の情報を制御装置に送信してもよい。
【０１２１】
[Ｂ]あるいは、入力装置１が、例えばステップ３０８及び３１０の処理まで実行し、算出されたロール角φの情報を制御装置４０に送信してもよい。
【０１２２】
[Ｃ]あるいは、入力装置１が、例えばステップ３１１の処理まで実行して補正速度値（Vx’、Vy’）を取得し、この補正速度値の情報を制御装置４０に送信してもよい。
【０１２３】
図１２で示した処理についても、図１３に示した処理、あるいは、[Ａ]、[Ｂ]、または[Ｃ]で説明した処理のように、制御装置４０が主な処理を実行してもよい。
【０１２４】
[速度値（Vx、Vy）の算出方法]
次に、図１０、図１２及び図１３におけるステップ１０３、２０３、３０３の速度値の算出方法について説明する。
【０１２５】
例えば、ユーザが入力装置１を左右方向（ヨー方向）へ振って操作する場合において、ユーザが自然に入力装置１を操作する場合、手首（あるいは手指）の回転、肘の回転及び腕の付け根の回転のうち少なくとも１つによって操作する。したがって、入力装置１の動きと、この手首あるいは手指（以下、手首等という）、肘及び腕の付け根の回転とを比較すると、以下に示す１．２．の関係があることが分かる。
【０１２６】
１．入力装置１のＹ’軸回りの角速度値ωψは、肩の回転による角速度、肘の回転による角速度、及び、手指（あるいは手首）の回転等による角速度の合成値である。  
２．入力装置１のヨー方向の速度値Vxは、肩、肘、及び手首等の角速度に、肩と入力装置１との距離、肘と入力装置１との距離、及び、手首等と入力装置１との距離等をそれぞれ乗じた値の合成値である。
【０１２７】
ここで、微小時間での入力装置１の回転運動について、入力装置１は、Ｙ’軸に平行であり、時間ごとに位置が変化する中心軸の回りに回転していると考えることができる。この時間ごとに位置が変化する中心軸（つまり瞬間中心を通る軸）と、入力装置１との距離を、Ｙ’軸回りの回転半径Ｒψ(ｔ)とすると、入力装置１の速度値Vxと、角速度値ωψとの関係は、以下の式（a）で表される。すなわち、ヨー方向の速度値Vxは、Ｙ’軸回りの角速度値ωψに、中心軸と入力装置１との距離Ｒψ(ｔ)を乗じた値となる。
【０１２８】
Vx＝Ｒψ(ｔ)・ωψ・・・（a）。
【０１２９】
式（a）に示すように、入力装置１の速度値と、角速度値との関係は、比例定数をＲ(ｔ)とした比例関係、つまり、相関関係にある。
【０１３０】
上記式（a）を変形して式（a-1）を得る。  
Ｒψ(ｔ)＝Vx/ωψ・・・（a-1）。
【０１３１】
式（a-1）の右辺は、速度のディメンジョンである。この式（a-1）の右辺に表されている速度値と角速度値とがそれぞれ微分され、加速度、あるいは加速度の時間変化率のディメンジョンとされても相関関係は失われない。同様に、速度値と角速度値とがそれぞれ積分され、変位のディメンジョンとされても相関関係は失われない。
【０１３２】
したがって、式（a-1）の右辺に表されている速度及び角速度をそれぞれ変位、加速度、加速度の時間変化率のディメンジョンとして、以下の式（a-2）、（a-3）、（a-4）が得られる。
【０１３３】
Ｒψ(ｔ)＝ｘ／ψ・・・（a-2）
Ｒψ(ｔ)＝a x／Δωψ・・・（a-3）
Ｒψ(ｔ)＝Δa x／Δ（Δωψ）・・・（a-4）。
【０１３４】
上記式（a-1）、（a-2）、（a-3）、（a-4）のうち、例えば式（a-3）に注目すると、加速度値a xと、角速度値Δωψが既知であれば、回転半径Ｒψ(ｔ)が求められることが分かる。
【０１３５】
上述のように、第１の加速度センサ１６１は、ヨー方向の加速度値axを検出し、第１の角速度センサ１５１は、Ｙ’軸の回りの角速度値ωψを検出する。したがって、Ｙ’軸回りの角速度値ωψが微分され、Ｙ’軸回りの角加速度値Δωψが算出されれば、Ｙ’軸回りの回転半径Ｒψ(ｔ)が求められる。
【０１３６】
Ｙ’軸回りの回転半径Ｒψ(ｔ)が既知であれば、この回転半径Ｒψ(ｔ)に、第１の角速度センサ１５１によって検出されたＹ’軸の回りの角速度値ωψを乗じることで、入力装置１のＸ’軸方向の速度値Vxが求められる（式（a）参照）。すなわち、ユーザの回転の操作量そのものがＸ’軸方向の線速度値に変換され、ユーザの直感に合致した速度値となる。
【０１３７】
この速度値の算出方法については、ユーザが入力装置１を上下方向（ピッチ方向）へ振って操作する場合にも適用することができる。
【０１３８】
図１２で示したステップ２０５においては、回転半径（Rψ、Rθ）が定数であった。しかしながら、ＭＰＵ１９は、例えば上記式（a-3）を用いて回転半径Rψを算出してもよい。Rθも同様に算出され得る。
【０１３９】
[ハンドヘルド装置]
図１４（Ａ）〜（Ｄ）は、ハンドヘルド装置を示す模式的な図である。ハンドヘルド装置５０は、表示部５５を備えた携帯型のデバイスであり、典型的には、ＰＤＡ（Personal Digital Assistance）、携帯電話機、携帯音楽プレイヤー、デジタルカメラ等である。
【０１４０】
ハンドヘルド装置５０の筐体６０内には、センサユニット１１７が設けられている。センサユニット１１７は、例えばＸ’及びＹ’の検出軸で構成される平面が、表示部５５の表面と実質的に平行になるように、筐体６０内に配置されている。ハンドヘルド装置５０は、例えば図４に示した構成と同様な電気的な構成要素を備えることができる。
【０１４１】
センサユニット１１７としては、図８に示したような、回路基板２５の片面に角速度センサユニット１５及び加速度センサユニット１６が配置されたものに限られない。例えば図１５（Ａ）及び（Ｂ）に示すように、回路基板２５の両面に、両センサユニット１５及び１６がそれぞれ配置されたものであってもよい。図１５（Ａ）及び（Ｂ）は、ハンドヘルド装置５０の側面を模式的に示す図である。
【０１４２】
本実施形態における典型的なセンサ構成は、X'及びY'軸方向の加速度を検出する２軸の加速度センサと、Z'軸回りの角速度を検出する１軸角速度センサの組み合せであるが、３軸加速度センサや２軸以上の角速度センサを使用してもよい。
【０１４３】
図１４（Ａ）〜（Ｄ）では、例えばＹ軸方向の負の向きを重力方向としている。図１４（Ａ）では、ハンドヘルド装置５０は、センサユニット１１７のＹ’軸方向の負の向きが重力方向に向くような姿勢、図１４（Ｂ）ではその逆方向に向くような姿勢をとっている。図１４（Ｃ）では、ハンドヘルド装置５０は、センサユニット１１７のＸ’軸方向の負の向きが、重力方向に向くような姿勢、図１４（Ｄ）ではその逆方向に向くような姿勢をとっている。
【０１４４】
ハンドヘルド装置５０のＭＰＵは、図１７に示した処理を実行することにより、Ｚ’軸回りの回転角度値、すなわちロール角を算出する。したがって、ＭＰＵは、その姿勢が変化しても、その姿勢の変化に応じて表示部５５内の画像の向きを制御することができる。ＭＰＵは、図１７に示した処理により、検出された加速度値から慣性加速度値が除去された重力加速度値を検出することができるので、ハンドヘルド装置を素早く回転操作しても、それ程大きな時間遅れを生じることなく典型的には図１４（Ａ）〜（Ｄ）に示すように、ＭＰＵは、その姿勢変化に応じて重力方向が下となるように表示部５５内の画像の向きを制御することができる。ハンドヘルド装置５０を回転操作する場合に検出される慣性加速度値は、その回転中心とセンサユニットの位置が近いほど小さくなるが、実際の操作における回転中心はばらつきが大きいため、例えばセンサユニットを装置の中央部に配置したとしても慣性加速度の影響を完全に排除することは難しい。なお、ハンドヘルド装置５０の表示部５５は、タッチパネル型の表示部であり、例えばキーボードの画像を表示している。
【０１４５】
また、このハンドヘルド装置５０によれば、図１７に示した処理により、図１６に示すように、連続的に画像の向きを制御することもできる。
【０１４６】
さらに、このハンドヘルド装置が、図１５（Ｂ）に示すように（Ｙ軸方向の負の向きが重力方向）、Ｘ’軸回りに回転し傾いた状態でＺ’軸回りに回転する場合を考える。すると２軸の加速度センサの検出面であるＸ’−Ｙ’平面が水平に近い状態となり、検出値が小さくなるためＳ／Ｎが悪化し、正確に回転角度を得ることが難しい。したがってこの場合には、図１７に示した方法により、Ｚ’軸回りの角速度値を積分して回転角度を算出し（ステップ４０４）、この回転角度（ロール角φ）に基づき、表示部５５内での画像の向きを図１４（A）〜（D）に示すように回転制御することができる（ステップ４０８）。この回転操作中にハンドヘルド装置５０の傾きが小さくなり、加速度の検出値が大きくなった場合は、検出された加速度値に基づき、上記ロール角φを校正できることは言うまでもない（ステップ４０６）。
【０１４７】
[入力装置及びハンドヘルド装置のさらに別の実施形態に係る処理]
図１８は、入力装置１を用いたさらに別の実施形態に係る処理を説明するための図である。
【０１４８】
入力装置１の構成は、図２〜４で示した入力装置１の構成と同じである。図１８（Ａ）に示す入力装置１の姿勢は、図７（Ａ）及び（Ｂ）に示す姿勢と同じである。そして、ユーザが、図１８（Ｂ）に示すように、入力装置１をＺ’軸回りに、つまりロール角φの方向に回転させるように（手首をひねるようにして）入力装置１を操作する。この場合に、入力装置１のＭＰＵ１９は、典型的には図１７に示したステップ４０１〜４０７の処理を実行する。そしてＭＰＵ１９は、ステップ４０５（及び４０７）で算出されたロール角φに応じて、表示装置５（図５参照）の画面３上におけるＸ軸上でのポインタ２の動きを制御するための情報（例えば速度値Vxまたは変位Ｘの情報）を生成し、これを制御装置４０に出力する。
【０１４９】
この場合、ＭＰＵ１９は、ロール角φの値をそのまま、ポインタ２を動かすためのＸ軸上での速度値Vxまたは変位Ｘとして用いればよい。あるいは、メモリに記憶された所定の変換式を用いて、ロール角φから速度値Vxまたは変位Ｘに変換するようにしてもよい。
【０１５０】
図１８（Ｃ）に示すように、ＭＰＵ１９は、上記ロール角φを用いた制御情報の算出処理と同様に、Ｘ’軸回りのピッチ角θを用いて速度値Vyまたは変位Ｙを算出することもできる。速度値Vyまたは変位Ｙは、画面３上におけるＹ軸上でのポインタ２の動きを制御するための制御情報である。この場合、ＭＰＵ１９は、図１７に示したステップ４０１〜４０７と同様な処理を実行するが、ωφ→ωθと置き換えられ、（ax、ay）→（ay、az）と置き換えられる。
【０１５１】
図１９は、上述のハンドヘルド装置５０を用いたさらに別の実施形態を処理を説明するための図である。この例でも、ユーザがハンドヘルド装置５０を持って、手首をひねることで、表示部５５内で画像（例えばポインタ）の動きを制御する。
【０１５２】
ハンドヘルド装置のＭＰＵは、センサ１１７（図１５参照）の出力に基づき、図１７のステップ４０１〜４０７の処理と同様に、Ｙ’軸回りのヨー角ψ及びＸ’軸回りのピッチ角θを算出する。ＭＰＵは、これらの角度値（ψ、θ）を、表示部５５内におけるＸ軸及びＹ軸上でのポインタ２を動かすための制御情報（例えば速度値または変位の情報）とする。この場合、角度値ψは、表示部５５内でＸ軸方向でのポインタ２を動かすための制御情報に対応し、角度値θは、表示部５５内でＹ軸方向でのポインタ２を動かすための制御情報に対応する。
【０１５３】
[その他の実施形態]
本発明に係る実施形態は、以上説明した実施形態に限定されず、他の種々の実施形態が考えられる。
【０１５４】
上記実施形態に係る入力装置１では、入力装置１の動きに応じてポインタ２の動きが制御される例を示した。しかし、入力装置１の動きに応じて、画像のスクロール、ズームイン、ズームアウト等による画像（画面）の動きが制御されてもよい。同様に、上記実施形態に係るハンドヘルド装置５０では、ハンドヘルド装置５０の動きに応じて、ロール方向の画像の向きが制御される例を示した。しかし、表示部に表示されるポインタ２の動き、あるいは、表示部に表示される、上記した画像のスクロール等による画像（画面）の動きが制御されてもよい。
【０１５５】
入力装置１は、加速度センサユニット１６を備えていたが、これに代えて、ロータリエンコーダ及び錘を含む傾斜センサを備えていてもよい。この場合、例えば図１０におけるステップ１０７及び１０８に代えて、傾斜センサの検出値に基づきロール角が算出されればよい。傾斜センサは、ロータリエンコーダを利用する場合に限られず、ポテンショメータまたは静電容量を利用してもよい。このように、傾斜センサが用いられる場合も、加速度センサユニット１６が用いられる場合と同様に、典型的には、角加速度値(Δωψ、Δωθ、Δωφ)の微分値により入力装置１の略等速状態が判定され得る。
【０１５６】
上記各実施の形態では、入力装置１の回転角度値としてロール角を例に挙げた。しかし、ロール角だけでなく（またはロール角に加え）、入力装置１の、ピッチ方向の回転角度値であるピッチ角が算出され、これが回転座標変換により利用されてもよい。
【０１５７】
速度値（Vx、Vy）の算出方法としては、ＭＰＵ１９が、角速度値（ωψ、ωθ）を用いず、例えば加速度値（ax、ay）を単に積分して速度値を求める方法がある。
【０１５８】
あるいは、その逆で、加速度値（ax、ay）が用いられず、角速度値（ωψ、ωθ）が速度値（Vx、Vy）の代わりとして用いられてもよい。その場合、検出された角速度値（ωψ、ωθ）は時間微分することで角加速度値（Δωψ、Δωθ）を求めることができ、これを加速度値として用いることも可能である。
【０１５９】
上記各実施の形態に係る入力装置１、ハンドヘルド装置５０については、無線で入力情報を制御装置４０に送信する形態を示したが、有線により入力情報が送信されてもよい。
【０１６０】
上記各実施の形態では、入力装置１、ハンドヘルド装置５０の動きに応じて画面上で動くポインタ２を、矢印の画像として表した。しかし、ポインタ２の画像は矢印に限られず、単純な円形、角形等でもよいし、キャラクタ画像、またはその他の画像であってもよい。
【０１６１】
センサユニット１７の、角速度センサユニット１５及び加速度センサユニット１６の検出軸は、上述のＸ’軸及びＹ’軸のように必ずしも互いに直交していなくてもよい。その場合、三角関数を用いた計算によって、互いに直交する軸方向に投影されたそれぞれの加速度が得られる。また同様に、三角関数を用いた計算によって、互いに直交する軸の回りのそれぞれの角速度を得ることができる。
【０１６２】
以上の各実施の形態で説明したセンサユニット１７について、角速度センサユニット１５のＸ’及びＹ’の検出軸と、加速度センサユニット１６のＸ’及びＹ’軸の検出軸がそれぞれ一致している形態を説明した。しかし、それら各軸は、必ずしも一致していなくてもよい。例えば、角速度センサユニット１５及び加速度センサユニット１６が基板上に搭載される場合、角速度センサユニット１５及び加速度センサユニット１６の検出軸のそれぞれが一致しないように、角速度センサユニット１５及び加速度センサユニット１６がその基板の主面内で所定の回転角度だけずれて搭載されていてもよい。その場合、三角関数を用いた計算によって、各軸の加速度及び角速度を得ることができる。
【０１６３】
上記角速度センサユニット１５の代わりとして、角度センサあるいは角加速度センサが用いられてもよい。角度センサとしては、地磁気センサまたはイメージセンサ等が挙げられる。例えば３軸地磁気センサが用いられる場合、角度値の変化量が検出されるので、その場合、角度値が微分演算されることで角速度値が得られる。角加速度センサは、複数の加速度センサの組み合わせにより構成され、角加速度センサにより得られる角加速度値が積分演算されることで、角速度値が得られる。
【図面の簡単な説明】
【０１６４】
【図１】本発明の一実施の形態に係る制御システムを示す図である。
【図２】入力装置を示す斜視図である。
【図３】入力装置の内部の構成を模式的に示す図である。
【図４】入力装置の電気的な構成を示すブロック図である。
【図５】表示装置に表示される画面の例を示す図である。
【図６】ユーザが入力装置を握った様子を示す図である。
【図７】入力装置の動かし方及びこれによる画面上のポインタの動きの典型的な例を説明するための図である。
【図８】センサユニットを示す斜視図である。
【図９】加速度センサユニットへの重力の影響を説明するための図である。
【図１０】一実施の形態に係る制御システムの処理を示すフローチャートである。
【図１１】その回転座標変換の式及び説明図である。
【図１２】入力装置の他の実施形態に係る処理を示すフローチャートである。
【図１３】制御装置が主要な演算を行う場合の制御システムの処理を示すフローチャートである。
【図１４】（Ａ）〜（Ｄ）は、ハンドヘルド装置を示す模式的な図である。
【図１５】（Ａ）及び（Ｂ）は、ハンドヘルド装置の側面を模式的に示す図である。
【図１６】連続的に画像の向きが制御される場合のハンドヘルド装置の図である。
【図１７】ハンドヘルド装置の処理を示すフローチャートである。
【図１８】入力装置を用いたさらに別の実施形態に係る処理を説明するための図である。
【図１９】ハンドヘルド装置を用いたさらに別の実施形態を処理を説明するための図である。
【符号の説明】
【０１６５】
１…入力装置
２…ポインタ
３…画面
１５…角速度センサユニット
１６…加速度センサユニット
１７、１１７…センサユニット
１９…ＭＰＵ
２１…送受信機
３０…制御ユニット
３５…ＭＰＵ
４０…制御装置
４２…表示制御部
５０…ハンドヘルド装置
５５…表示部
１００…制御システム
【図１】
2010157157.tif 000003
【図２】
2010157157.tif 000004
【図３】
2010157157.tif 000005
【図４】
2010157157.tif 000006
【図５】
2010157157.tif 000007
【図６】
2010157157.tif 000008
【図７】
2010157157.tif 000009
【図８】
2010157157.tif 000010
【図９】
2010157157.tif 000011
【図１０】
2010157157.tif 000012
【図１１】
2010157157.tif 000013
【図１２】
2010157157.tif 000014
【図１３】
2010157157.tif 000015
【図１４】
2010157157.tif 000016
【図１５】
2010157157.tif 000017
【図１６】
2010157157.tif 000018
【図１７】
2010157157.tif 000019
【図１８】
2010157157.tif 000020
【図１９】
2010157157.tif 000021