(57)【特許請求の範囲】
【請求項１】
画面上に表示されるＵＩの動きを制御するために入力情報を出力する入力装置であって、
第１の軸の周りの第１の角速度、前記第１の軸とは異なる第２の軸の周りの第２の角速度、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度を出力する角速度出力手段と、
前記第２の角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第１の合成角速度を算出する合成算出手段と、
前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向の動きを制御するための前記第１の角速度の情報と、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の動きを制御するための前記第１の合成角速度の情報とを、前記入力情報として出力する出力手段と
を具備することを特徴とする入力装置。
【請求項２】
請求項１に記載の入力装置であって、
前記第３の角速度に基き、絶対的な垂直軸からの前記第３の軸の周りの角度を算出する角度算出手段と、
前記算出された角度に応じた回転座標変換により、前記角速度出力手段により出力された前記第１の角速度及び前記第２の角速度をそれぞれ補正し、補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段とをさらに具備し、
前記合成算出手段は、前記第２の補正角速度及び前記第３の角速度に前記２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第２の合成角速度を算出し、
前記出力手段は、前記第２の合成角速度及び前記第１の補正角速度の情報を前記入力情報として出力することを特徴とする入力装置。
【請求項３】
請求項２に記載の入力装置であって、
前記角度算出手段は、
前記第３の角速度を積分演算することにより前記角度を算出する積分手段と、
前記積分手段により得られる積分値をリセットするリセット手段と
を有することを特徴とする入力装置。
【請求項４】
請求項１に記載の入力装置であって、
前記第１の軸はピッチ軸であり、前記第２の軸はヨー軸であり、前記第３の軸はロール軸であることを特徴とする入力装置。
【請求項５】
請求項１に記載の入力装置であって、
前記角速度出力手段は、
前記第１の角速度、前記第２の角速度及び前記第３の角速度を検出する角速度センサを有することを特徴とする入力装置。
【請求項６】
請求項１に記載の入力装置であって、
前記角速度出力手段は、
前記第１の軸の周りの第１の角度、及び、前記第３の軸の周りの第３の角度を検出する角度センサと、
前記第２の角速度を検出する角速度センサと、
前記第１の角度及び前記第３の角度をそれぞれ微分演算することで、前記第１の角速度及び前記第３の角速度を算出する微分手段と
を有することを特徴とする入力装置。
【請求項７】
請求項６に記載の入力装置であって、
前記第３の角度に応じた回転座標変換により、前記第１の角速度及び前記第２の角速度をそれぞれ補正し、補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段をさらに具備し、
前記合成算出手段は、前記第２の補正角速度及び前記第３の角速度に前記２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第２の合成角速度を算出し、
前記出力手段は、前記第２の合成角速度及び前記第１の補正角速度の情報を前記入力情報として出力することを特徴とする入力装置。
【請求項８】
請求項１に記載の入力装置であって、
前記角速度出力手段は、
前記第１の軸の周りの第１の角度、または、前記第３の軸の周りの第３の角度を検出する角度センサと、
前記角度センサにより前記第１の角度が検出された場合、前記第２の角速度及び前記第３の角速度を検出し、前記角度センサにより前記第３の角度が検出された場合、前記第１の角速度及び前記第２の角速度を検出する角速度センサと、
前記角度センサにより前記第１の角度が検出された場合、前記第１の角度を微分演算することで前記第１の角速度を算出し、前記角度センサにより前記第３の角度が検出された場合、前記第３の角度を微分演算することで前記第３の角速度を算出する微分手段と
を有することを特徴とする入力装置。
【請求項９】
請求項８に記載の入力装置であって、
前記角度センサによりで前記第３の角度が検出された場合、前記第３の角度に応じた回転座標変換により、前記第１の角速度及び前記第２の角速度をそれぞれ補正し、補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段をさらに具備し、
前記合成算出手段は、前記第２の補正角速度及び前記第３の角速度に前記２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第２の合成角速度を算出し、
前記出力手段は、前記第２の合成角速度及び前記第１の補正角速度の情報を前記入力情報として出力することを特徴とする入力装置。
【請求項１０】
請求項１に記載の入力装置であって、
前記角速度出力手段は、
前記第１の軸の周りの第１の角度、前記第２の軸の周りの第２の角度、及び、第３の軸の周りの第３の角度を検出する角度センサと、
前記第１の角度、前記第２の角度及び前記第３の角度をそれぞれ微分演算することで、前記第１の角速度、前記第２の角速度及び前記第３の角速度を算出する微分手段と
を有することを特徴とする入力装置。
【請求項１１】
請求項６、８及び１０のうちいずれか１項に記載の入力装置であって、
前記角度センサは、加速度センサ、地磁気センサ、またはイメージセンサであることを特徴とする入力装置。
【請求項１２】
入力装置から出力された第１の軸の周りの第１の角速度、前記第１の軸とは異なる第２の軸の周りの第２の角速度、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度の情報である入力情報に応じて、画面上に表示されるＵＩの動きを制御する制御装置であって、
前記入力情報を受信する受信手段と、
前記受信された第２及び第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第１の合成角速度を算出する合成算出手段と、
前記受信された第１の角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記第１の合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の座標情報を生成する座標情報生成手段と
を具備することを特徴とする制御装置。
【請求項１３】
入力装置から出力された第１の軸の周りの第１の角度、前記第１の軸とは異なる第２の軸の周りの第２の角度、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角度の情報である入力情報に応じて、画面上に表示されるＵＩの動きを制御する制御装置であって、
前記入力情報を受信する受信手段と、
前記受信された第１、第２、第３の角度をそれぞれ微分演算することで、第１の角速度、第２の角速度及び第３の角速度を算出する微分手段と、
前記第２の角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第１の合成角速度を算出する合成算出手段と、
前記第１の角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記第１の合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の座標情報を生成する座標情報生成手段と
を具備することを特徴とする制御装置。
【請求項１４】
入力情報を出力する入力装置と、前記入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置とを備える制御システムであって、
前記入力装置は、
第１の軸の周りの第１の角速度、前記第１の軸とは異なる第２の軸の周りの第２の角速度、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度を出力する角速度出力手段と、
前記第２の角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第１の合成角速度を算出する合成算出手段と、
前記第１の角速度の情報と前記第１の合成角速度の情報とを前記入力情報として出力する出力手段とを有し、
前記制御装置は、
前記入力情報を受信する受信手段と、
前記受信された第１の角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記第１の合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の座標情報を生成する座標情報生成手段とを有することを特徴とする制御システム。
【請求項１５】
入力情報を出力する入力装置と、前記入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置とを備える制御システムであって、
前記入力装置は、
第１の軸の周りの第１の角速度、前記第１の軸とは異なる第２の軸の周りの第２の角速度、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度を出力する角速度出力手段と、
前記第１の角速度、前記第２の角速度及び前記第３の角速度の情報を、前記入力情報として出力する出力手段とを有し、
前記制御装置は、
前記入力情報を受信する受信手段と、
前記受信された第２及び第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第１の合成角速度を算出する合成算出手段と、
前記受信された第１の角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記第１の合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の座標情報を生成する座標情報生成手段とを有することを特徴とする制御システム。
【請求項１６】
入力装置の動きに応じて画面上のＵＩを制御する制御方法であって、
前記入力装置の、第１の軸の周りの第１の角速度を検出し、
前記入力装置の、前記第１の軸とは異なる第２の軸の周りの第２の角速度を検出し、
前記入力装置の、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度を検出し、
前記第２の角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第１の合成角速度を算出し、
前記第１の角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、
前記第１の合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向での座標情報を生成する
ことを特徴とする制御方法。
【請求項１７】
画面上に表示されるＵＩの動きを制御するために入力情報を出力する入力装置であって、
第１の軸に沿う方向の第１の加速度を検出する第１の加速度センサと、
前記第１の軸に沿う方向とは異なる第２の軸の方向の第２の加速度を検出する第２の加速度センサと、
前記第１の軸の周りの第１の角速度を検出する第１の角速度センサと、
前記第２の軸の周りの第２の角速度を検出する第２の角速度センサと、
前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの角度であって、前記第１の加速度及び前記第２の加速度の合成加速度ベクトルと、前記第２の軸との間の角度を、前記第１の加速度及び前記第２の加速度に基いて算出する角度算出手段と、
前記算出された角度に基き、前記第３の軸の周りの第３の角速度を算出する角速度算出手段と、
前記算出された角度に応じた回転座標変換により、前記第１の角速度及び前記第２の角速度をそれぞれ補正し、該補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段と、
前記第２の補正角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された合成角速度を算出する合成算出手段と、
前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向の動きを制御するための前記第１の補正角速度の情報と、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の動きを制御するための前記合成角速度の情報とを、前記入力情報として出力する出力手段と
を具備することを特徴とする入力装置。
【請求項１８】
第１の軸に沿う方向の第１の加速度を検出する第１の加速度センサと、前記第１の軸に沿う方向とは異なる第２の軸の方向の第２の加速度を検出する第２の加速度センサと、前記第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の軸の周りの第２の角速度を検出する第２の角速度センサとを有する入力装置から入力情報として出力された、前記第１の加速度、前記第２の加速度、前記第１の角速度及び前記第２の角速度の情報に応じて、画面上に表示されるＵＩの動きを制御する制御装置であって、
前記入力情報を受信する受信手段と、
前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの角度であって、前記受信された第１及び第２の加速度の合成加速度ベクトルと、前記第２の軸との間の角度を、前記第１の加速度及び前記第２の加速度に基いて算出する角度算出手段と、
前記算出された角度に基き、前記第３の軸の周りの第３の角速度を算出する角速度算出手段と、
前記算出された角度に応じた回転座標変換により、前記受信された第１及び前記第２の角速度をそれぞれ補正し、該補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段と、
前記第２の補正角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された合成角速度を算出する合成算出手段と、
前記第１の補正角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の座標情報を生成する座標情報生成手段と
を具備することを特徴とする制御装置。
【請求項１９】
入力装置の動きに応じて画面上のＵＩを制御する制御方法であって、
前記入力装置の、第１の軸に沿う方向の第１の加速度を検出し、
前記入力装置の、前記第１の軸に沿う方向とは異なる第２の軸の方向の第２の加速度を検出し、
前記入力装置の、前記第１の軸の周りの第１の角速度を検出し、
前記入力装置の、前記第２の軸の周りの第２の角速度を検出し、
前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの角度であって、前記第１の加速度及び前記第２の加速度の合成加速度ベクトルと、前記第２の軸との間の角度を、前記第１の加速度及び前記第２の加速度に基いて算出し、
前記算出された角度に基き、前記第３の軸の周りの第３の角速度を算出し、
前記算出された角度に応じた回転座標変換により、前記第１の角速度及び前記第２の角速度をそれぞれ補正し、
前記補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力し、
前記第２の補正角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された合成角速度を算出し、
前記第１の補正角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、
前記合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向での座標情報を生成する
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩ（Graphical User Interface）を操作するための空間操作型の入力装置、その操作情報に応じてＧＵＩを制御する制御装置、これらの装置を含む制御システム、及びその制御方法に関する。
【背景技術】
【０００２】
ＰＣ（Personal Computer）で普及しているＧＵＩのコントローラとして、主にマウスやタッチパッド等のポインティングデバイスが用いられている。ＧＵＩは、従来のＰＣのＨＩ（Human Interface）にとどまらず、例えばテレビを画像媒体としてリビングルーム等で使用されるＡＶ機器やゲーム機のインターフェースとして使用され始めている。このようなＧＵＩのコントローラとして、ユーザが空間で操作することができるポインティングデバイスが多種提案されている（例えば、特許文献１、２参照）。
【０００３】
特許文献１には、２軸の角速度ジャイロスコープ、つまり２つの角速度センサを備えた入力装置が開示されている。この角速度センサは、振動型の角速度センサである。例えば共振周波数で圧電振動する振動体に回転角速度が加えられると、振動体の振動方向に直交する方向にコリオリ力が生じる。このコリオリ力は、角速度に比例するので、コリオリ力が検出されることで、回転角速度が検出される。特許文献１の入力装置は、角速度センサにより直交する２軸の回りの角速度を検出し、その角速度に応じて、表示手段により表示されるカーソル等の位置情報としてのコマンド信号を生成し、これを制御機器に送信する。
【０００４】
特許文献２には、３つ（３軸）の加速度センサ及び３つ（３軸）の角速度センサ（ジャイロ）を備えたペン型入力装置が開示されている。このペン型入力装置は、それぞれ３つの加速度センサ及び角速度センサにより得られる信号に基いて種々の演算を行い、ペン型入力装置の姿勢角を算出している。
【０００５】
【特許文献１】特開２００１−５６７４３号公報（段落[００３０]、[００３１]、図３）
【特許文献２】特許第３７４８４８３号公報（段落[００３３]、[００４１]、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、テレビやＰＣのディスプレイのアスペクト比は、従来は４：３であったが、近年では１６：９の横長になってきている。したがって、ユーザが上記ポインティングデバイスを用いて横長の画面上でＵＩを動かそうとする場合、その画面上の水平方向の長さが長いため、垂直方向に比べそのＵＩの水平方向への移動が容易ではない。
【０００７】
例えば、水平軸及び垂直軸の少なくとも２軸の角速度センサにより検出された角速度値が、ＵＩの動きの制御に用いられる場合、ユーザは主に手首を支点としてポインティングデバイスを動かすことが多いと考えられる。しかし、人間がポインティングデバイスを握って快適に操作することができる手首の可動範囲を考慮すると、１６：９の画面は垂直方向に比べ水平方向が長すぎる。
【０００８】
将来的には、一部の映画のような１６：９よりさらに横長の画面をフル表示できるディスプレイが製品化されることも考えられる。また、横長の画面に限られず、例えばゲーム等のコンテンツによっては縦長の画面も存在する。
【０００９】
以上のような事情に鑑み、本発明の目的は、所定の方向へＵＩを容易に動かすことができる入力装置、制御装置、制御システム及びその制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係る入力装置は、画面上に表示されるＵＩの動きを制御するために入力情報を出力する入力装置であって、第１の軸の周りの第１の角速度、前記第１の軸とは異なる第２の軸の周りの第２の角速度、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度を出力する角速度出力手段と、前記第２の角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第１の合成角速度を算出する合成算出手段と、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向の動きを制御するための前記第１の角速度の情報と、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の動きを制御するための前記第１の合成角速度の情報とを、前記入力情報として出力する出力手段とを具備する。
【００１１】
本発明では、第２及び第３の演算角速度のいずれか一方の値が用いられるのではなく、第２及び第３の角速度に所定の比率で表された移動係数をそれぞれ乗じて得られる２つの角速度が合成された第１の合成角速度に応じて、ＵＩの画面上での第１の軸方向の動きが制御される。第３の軸は第１及び第２の軸に直交するので、例えばユーザは、その第３の軸の周りに入力装置を回転させること、及び第１の軸方向へ入力装置を動かすことのうち少なくとも一方の操作で、ＵＩの第１の軸方向での動きが制御される。これにより、ユーザは入力装置を第１の軸方向へ動かすときの移動量を少なくすることができ、容易にＵＩを第１の軸方向へ動かすことができる。
【００１２】
「算出する」とは、論理演算により値が算出される意味と、求められるべき各種の値が対応テーブルとしてメモリ等に記憶され、その各種の値のいずれかの値がメモリから読み出される意味の両方を含む。
【００１３】
第２の軸に対応する軸とは、第１の軸及び第２の軸を含む面が画面と平行に近い状態にあって、第３の軸の周りで入力装置が傾いていない理想の初期姿勢にある状態において、当該第２の軸と実質的に平行な軸である。第１の軸に対応する軸についても同様である。
【００１４】
本発明において、入力装置は、前記第３の角速度に基き、絶対的な垂直軸からの前記第３の軸の周りの角度を算出する角度算出手段と、前記算出された角度に応じた回転座標変換により、前記角速度出力手段により出力された前記第１の角速度及び前記第２の角速度をそれぞれ補正し、補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段とをさらに具備し、前記合成算出手段は、前記第２の補正角速度及び前記第３の角速度に前記２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第２の合成角速度を算出し、前記出力手段は、前記第２の合成角速度及び前記第１の補正角速度の情報を前記入力情報として出力する。本発明では第１及び第２の角速度に基いてＵＩの動きが制御される。したがって、入力装置の初期状態が本来の姿勢から第３の軸の周りに傾いた状態にあると、第１及び第２の軸が画面上でのこれらに対応する軸とずれるおそれがある。角度算出手段により算出された角度に応じた回転座標変換により第１及び第２の角速度が補正されることで、そのような問題はなくなる。
【００１５】
本発明において、前記角度算出手段は、前記第３の角速度を積分演算することにより前記角度を算出する積分手段と、前記積分手段により得られる積分値をリセットするリセット手段とを有する。積分値がリセットされることにより、積分誤差を除去することができる。リセットのタイミングは、ユーザにより決定されてもよいし、所定の条件に基いて入力装置が決定してもよい。
【００１６】
本発明において、前記第１の軸はピッチ軸であり、前記第２の軸はヨー軸であり、前記第３の軸はロール軸である。したがって、例えば水平方向に長い画面が用いられる場合、ユーザは水平方向へＵＩの容易に動かすことができる。また、ユーザは第３の軸の周りに入力装置を回転させることで水平方向にＵＩを動かすことができるので、直感的な操作が可能となる。
【００１７】
本発明において、前記角速度出力手段は、前記第１の角速度、前記第２の角速度及び前記第３の角速度を検出する角速度センサを有する。この場合、前記角速度出力手段は、前記第１の軸の周りの第１の角度、及び、前記第３の軸の周りの第３の角度を検出する角度センサと、前記第２の角速度を検出する角速度センサと、前記第１の角度及び前記第３の角度をそれぞれ微分演算することで、前記第１の角速度及び前記第３の角速度を算出する微分手段とを有する。この場合、入力装置は、前記第３の角度に応じた回転座標変換により、前記第１の角速度及び前記第２の角速度をそれぞれ補正し、補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段をさらに具備し、前記合成算出手段は、前記第２の補正角速度及び前記第３の角速度に前記２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第２の合成角速度を算出し、前記出力手段は、前記第２の合成角速度及び前記第１の補正角速度の情報を前記入力情報として出力すればよい。
【００１８】
本発明において、前記角速度出力手段は、前記第１の軸の周りの第１の角度、または、前記第３の軸の周りの第３の角度を検出する角度センサと、前記角度センサにより前記第１の角度が検出された場合、前記第２の角速度及び前記第３の角速度を検出し、前記角度センサにより前記第３の角度が検出された場合、前記第１の角速度及び前記第２の角速度を検出する角速度センサと、前記角度センサにより前記第１の角度が検出された場合、前記第１の角度を微分演算することで前記第１の角速度を算出し、前記角度センサにより前記第３の角度が検出された場合、前記第３の角度を微分演算することで前記第３の角速度を算出する微分手段とを有する。この場合、入力装置は、前記角度センサによりで前記第３の角度が検出された場合、前記第３の角度に応じた回転座標変換により、前記第１の角速度及び前記第２の角速度をそれぞれ補正し、補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段をさらに具備し、前記合成算出手段は、前記第２の補正角速度及び前記第３の角速度に前記２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された第２の合成角速度を算出し、前記出力手段は、前記第２の合成角速度及び前記第１の補正角速度の情報を前記入力情報として出力すればよい。角速度出力手段は、第１、第２及び第３の角度のすべてを検出する３軸の角度センサを有していてもよい。
【００１９】
上記角度センサとしては、加速度センサ、地磁気センサ、またはイメージセンサが挙げられる。
【００２０】
本発明に係る制御装置は、第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第１の軸とは異なる第２の軸の周りの第２の角速度を検出する第２の角速度センサと、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度を検出する第３の角速度センサとを有する入力装置から入力情報として出力された、前記第１、第２及び第３の角速度の情報に応じて、画面上に表示されるＵＩの動きを制御する制御装置であって、前記入力情報を受信する受信手段と、前記受信された第２及び第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる第２の演算角速度及び第３の演算角速度が合成された合成角速度を算出する合成算出手段と、前記受信された第１の角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の座標情報を生成する座標情報生成手段とを具備する。
【００２１】
本発明に係る制御システムは、入力情報を出力する入力装置と、前記入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置とを備える制御システムであって、前記入力装置は、第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第１の軸とは異なる第２の軸の周りの第２の角速度を検出する第２の角速度センサと、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度を検出する第３の角速度センサと、前記第２の角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる第２の演算角速度及び第３の演算角速度が合成角速度を算出する合成算出手段と、前記第１の角速度の情報と前記合成角速度の情報とを前記入力情報として出力する出力手段とを有し、前記制御装置は、前記入力情報を受信する受信手段と、前記受信された第１の角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の座標情報を生成する座標情報生成手段とを有する。
【００２２】
本発明の他の観点に係る制御システムは、入力情報を出力する入力装置と、前記入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置とを備える制御システムであって、前記入力装置は、第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第１の軸とは異なる第２の軸の周りの第２の角速度を検出する第２の角速度センサと、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度を検出する第３の角速度センサと、前記第１の角速度、前記第２の角速度及び前記第３の角速度の情報を、前記入力情報として出力する出力手段とを有し、前記制御装置は、前記入力情報を受信する受信手段と、前記受信された第２及び第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる第２の演算角速度及び第３の演算角速度が合成角速度を算出する合成算出手段と、前記受信された第１の角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の座標情報を生成する座標情報生成手段とを有する。
【００２３】
本発明に係る制御方法は、入力装置の動きに応じて画面上のＵＩを制御する制御方法であって、前記入力装置の、第１の軸の周りの第１の角速度を検出し、前記入力装置の、前記第１の軸とは異なる第２の軸の周りの第２の角速度を検出し、前記入力装置の、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの第３の角速度を検出し、前記第２の角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる第２の演算角速度及び第３の演算角速度が合成された合成角速度を算出し、前記第１の角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向での座標情報を生成する。
【００２４】
本発明の他の観点に係る入力装置は、画面上に表示されるＵＩの動きを制御するために入力情報を出力する入力装置であって、第１の軸に沿う方向の第１の加速度を検出する第１の加速度センサと、前記第１の軸に沿う方向とは異なる第２の軸の方向の第２の加速度を検出する第２の加速度センサと、前記第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の軸の周りの第２の角速度を検出する第２の角速度センサと、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの角度であって、前記第１の加速度及び前記第２の加速度の合成加速度ベクトルと、前記第２の軸との間の角度を、前記第１の加速度及び前記第２の加速度に基いて算出する角度算出手段と、前記算出された角度に基き、前記第３の軸の周りの第３の角速度を算出する角速度算出手段と、前記算出された角度に応じた回転座標変換により、前記第１の角速度及び前記第２の角速度をそれぞれ補正し、該補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段と、前記第２の補正角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された合成角速度を算出する合成算出手段と、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向の動きを制御するための前記第１の補正角速度の情報と、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の動きを制御するための前記合成角速度の情報とを、前記入力情報として出力する出力手段とを具備する。
【００２５】
例えばユーザは、第３の軸の周りに入力装置を回転させること及び第１の軸方向へ入力装置を動かすことのうち少なくとも一方の操作で、ＵＩの第１の軸方向での動きが制御される。これにより、ユーザは入力装置を第１の軸方向へ動かすときの移動量を少なくすることができ、容易にＵＩを第１の軸方向へ動かすことができる。また、本発明では、第１及び第２の加速度センサである２軸の加速度センサと、第１及び第２の角速度センサである２軸の角速度センサとによりＵＩの制御が可能となっている。２軸の加速度センサのそれぞれの加速度値が用いられることにより、入力装置のどのような姿勢であってもＵＩの適切な表示が可能となる。
【００２６】
第２の軸に対応する軸とは、第１の軸及び第２の軸を含む加速度検出面が画面と平行に近い状態にあって、第３の軸の周りで入力装置が傾いていない理想の初期姿勢にある状態において、当該第２の軸と実質的に平行な軸である。第１の軸に対応する軸についても同様である。
【００２７】
本発明の他の観点に係る制御装置は、第１の軸に沿う方向の第１の加速度を検出する第１の加速度センサと、前記第１の軸に沿う方向とは異なる第２の軸の方向の第２の加速度を検出する第２の加速度センサと、前記第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の軸の周りの第２の角速度を検出する第２の角速度センサとを有する入力装置から入力情報として出力された、前記第１の加速度、前記第２の加速度、前記第１の角速度及び前記第２の角速度の情報に応じて、画面上に表示されるＵＩの動きを制御する制御装置であって、前記入力情報を受信する受信手段と、前記第１の軸及び前記第２の軸の両軸に直交する第３の軸の周りの角度であって、前記受信された第１及び第２の加速度の合成加速度ベクトルと、前記第２の軸との間の角度を、前記第１の加速度及び前記第２の加速度に基いて算出する角度算出手段と、前記算出された角度に基き、前記第３の軸の周りの第３の角速度を算出する角速度算出手段と、前記算出された角度に応じた回転座標変換により、前記受信された第１及び前記第２の角速度をそれぞれ補正し、該補正により得られる第１の補正角速度及び第２の補正角速度の情報を出力する回転補正手段と、前記第２の補正角速度及び前記第３の角速度に所定の比率で表された２つの移動係数をそれぞれ乗じて得られる２つの角速度が合成された合成角速度を算出する合成算出手段と、前記第１の補正角速度に応じた、前記ＵＩの前記画面上での前記第２の軸に対応する軸の方向での座標情報を生成し、前記合成角速度に応じた、前記ＵＩの前記画面上での前記第１の軸に対応する軸の方向の座標情報を生成する座標情報生成手段とを具備する。
【発明の効果】
【００２８】
以上のように、本発明によれば、ディスプレイに表示される画面の形状に応じて所定の方向へＵＩを容易に動かすことができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００３０】
図１は、本発明の一実施の形態に係る制御システムを示す図である。制御システム１００は、表示装置５、制御装置４０及び入力装置１を含む。
【００３１】
図２は、入力装置１を示す斜視図である。入力装置１は、ユーザが持つことができる程度の大きさとされている。入力装置１は、筐体１０、筐体１０の上部に設けられた例えば２つのボタン１１、１２、回転式のホイールボタン１３等の操作部を備えている。筐体１０の上部の中央よりに設けられたボタン１１は、例えばＰＣで用いられる入力デバイスとしてのマウスの左ボタンの機能を有し、ボタン１１に隣接するボタン１２は右ボタンの機能を有する。
【００３２】
例えば、ボタン１１を長押して入力装置１を移動させることにより「ドラッグアンドドロップ」、ボタン１１のダブルクリックによりファイルを開く操作、ホイールボタン１３により画面３のスクロール操作が行われるようにしてもよい。ボタン１１、１２、ホイールボタン１３の配置、発行されるコマンドの内容等は、適宜変更可能である。
【００３３】
図３は、入力装置１の内部の構成を模式的に示す図である。図４は、入力装置１の電気的な構成を示すブロック図である。
【００３４】
入力装置１は、センサユニット１７、制御ユニット３０、バッテリー１４を備えている。
【００３５】
図８は、センサユニット１７を示す斜視図である。センサユニット１７は、互いに異なる角度、例えば直交する２軸（Ｘ軸及びＹ軸）に沿った加速度を検出する加速度センサユニット１６を有する。すなわち、加速度センサユニット１６は、第１の加速度センサ１６１及び第２の加速度センサ１６２の２つセンサを含む。また、センサユニット１７は、その直交する２軸の周りの角加速度を検出する角速度センサユニット１５を有する。すなわち、角速度センサユニット１５は、第１の角速度センサ１５１及び第２の角速度センサ１５２の２つのセンサを含む。これらの加速度センサユニット１６及び角速度センサユニット１５はパッケージングされ、回路基板２５上に搭載されている。
【００３６】
第１、第２の角速度センサ１５１、１５２としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。第１、第２の加速度センサ１６１、１６２としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。
【００３７】
図２及び図３の説明では、便宜上、筐体１０の長手方向をＺ’方向とし、筐体１０の厚さ方向をＸ’方向とし、筐体１０の幅方向をＹ’方向とする。この場合、上記センサユニット１７は、回路基板２５の、加速度センサユニット１６及び角速度センサユニット１５を搭載する面がＸ’−Ｙ’平面に実質的に平行となるように、筐体１０に内蔵され、上記したように、両センサユニット１６、１５はＸ軸及びＹ軸の２軸に関する物理量を検出する。Ｘ’軸（ピッチ軸）及びＹ’軸（ヨー軸）を含む平面が加速度検出面、つまり回路基板２５の主面に実質的に平行な面（以下、単に検出面という。）である。以降では、入力デバイス１とともに動く座標系、つまり、入力デバイス１に固定された座標系をＸ’軸、Ｙ’軸、Ｚ’軸で表す。一方、地球上で静止した座標系、つまり慣性座標系をＸ軸、Ｙ軸、Ｚ軸で表す。また、以降の説明では、入力装置１の動きに関し、Ｘ’軸の周りの回転の方向をピッチ方向、Ｙ’軸の周りの回転の方向をヨー方向といい、Ｚ’軸（ロール軸）方向の周りの回転の方向をロール方向という場合もある。
【００３８】
制御ユニット３０は、メイン基板１８、メイン基板１８上にマウントされたＭＰＵ１９（Micro Processing Unit）（あるいはＣＰＵ）、水晶発振器２０、送信機２１、メイン基板１８上にプリントされたアンテナ２２を含む。
【００３９】
ＭＰＵ１９は、必要な揮発性及び不揮発性メモリを内蔵している。ＭＰＵ１９は、センサユニット１７による検出信号、操作部による操作信号等を入力し、これらの入力信号に応じた所定の制御信号を生成するため、各種の演算処理等を行う。
【００４０】
送信機２１は、ＭＰＵ１９で生成された制御信号（入力情報）をＲＦ無線信号として、アンテナ２２を介して制御装置４０に送信する。
【００４１】
水晶発振器２０は、クロックを生成し、これをＭＰＵ１９に供給する。バッテリー１４としては、乾電池または充電式電池等が用いられる。
【００４２】
制御装置４０はコンピュータであり、ＭＰＵ３５（あるいはＣＰＵ）、ＲＡＭ３６、ＲＯＭ３７、ビデオＲＡＭ４１、アンテナ３９及び受信機３８等を含む。
【００４３】
受信機３８は、入力装置１から送信された制御信号（入力情報）を、アンテナ３９を介して受信する。ＭＰＵ３５は、その制御信号を解析し、各種の演算処理を行う。これにより、表示装置５の画面３上に表示されたＵＩを制御する表示制御信号が生成される。ビデオＲＡＭ４１は、その表示制御信号に応じて生成される、表示装置５に表示される画面データを格納する。
【００４４】
制御装置４０は、入力装置１に専用の機器であってもよいが、ＰＣ等であってもよい。制御装置４０は、ＰＣに限られず、表示装置５と一体となったコンピュータであってもよいし、オーディオ／ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
【００４５】
表示装置５は、例えば液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイ等が挙げられるが、これらに限られない。あるいは、表示装置５は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよい。
【００４６】
図５は、表示装置５に表示される画面３の例を示す図である。画面３上には、アイコン４やポインタ２等のＵＩが表示されている。アイコンとは、コンピュータ上のプログラムの機能、実行コマンド、またはファイルの内容等が画面３上で画像化されたものである。なお、画面３上の水平方向をＸ軸方向とし、垂直方向をＹ軸方向とする。以降の説明の理解を容易にするため、特に明示がない限り、入力装置１で操作される対象となるＵＩがポインタ２（いわゆるカーソル）であるとして説明する。
【００４７】
図６は、ユーザが入力装置１を握った様子を示す図である。図６に示すように、入力装置１は、上記ボタン１１、１２、１３のほか、例えばテレビ等を操作するリモートコントローラに設けられるような各種の操作ボタンや電源スイッチ等の操作部を備えていてもよい。このようにユーザが入力装置１を握った状態で、入力装置１を空中で移動させ、あるいは操作部を操作することにより、その入力情報が制御装置４０に出力され、制御装置４０によりＵＩが制御される。
【００４８】
次に、入力装置１の動かし方及びこれによる画面３上のポインタ２の動きの典型的な例を説明する。図７はその説明図である。
【００４９】
図７（Ａ）、（Ｂ）に示すように、ユーザが入力装置１を握った状態で、入力装置１のボタン１１、１２が配置されている側を表示装置５側に向ける。ユーザは、親指を上にし子指を下にした状態、いわば握手する状態で入力装置１を握る。この状態で、センサユニット１７の回路基板２５（図８参照）は、表示装置５の画面３に対して平行に近くなり、センサユニット１７の検出軸である２軸が、画面３上の水平軸（Ｘ軸）（ピッチ軸）及び垂直軸（Ｙ軸）（ヨー軸）に対応するようになる。以下、このような図７（Ａ）、（Ｂ）に示す入力装置１の姿勢を基本姿勢という。
【００５０】
図７（Ａ）に示すように、基本姿勢の状態で、ユーザが手首や腕を、上下方向に動かすかまたはＸ軸の周りで回転させる。このとき、第２の加速度センサ１６２は、Ｙ軸方向の加速度（第２の加速度）を検出し、第１の角速度センサ１５１は、Ｘ軸の周りの角速度（第１の角速度）ωθを検出する。これらの検出値に基き、制御装置４０は、ポインタ２がＹ軸方向に移動するようにそのポインタ２の表示を制御する。
【００５１】
一方、図７（Ｂ）に示すように、基本姿勢の状態で、ユーザが手首や腕を、左右方向に動かすかまたはＹ軸の周りで回転させる。このとき、第１の加速度センサ１６１は、Ｘ軸方向の加速度（第１の加速度）を検出し、第２の角速度センサ１５２は、Ｙ軸の周りの角速度（第２の角速度）ωψを検出する。これらの検出値に基き、制御装置４０は、ポインタ２がＸ軸方向に移動するようにそのポインタ２の表示を制御する。
【００５２】
また、本実施の形態では、基本姿勢の状態で、ユーザが手首をＺ軸の周りにひねるようにして入力装置１を回転させることで、すなわち入力装置１をロール方向に回転させることによっても、ポインタ２がＸ軸方向に移動するように表示が制御されるようになっている。典型的には、本実施の形態では、入力装置１を左右方向に動かすこと及びＹ軸の周りで回転させることのうち少なくとも一方によって、ポインタ２がＸ軸方向に移動するように表示が制御される。
【００５３】
以下、制御システム１００の動作について説明する。図９は、その動作を示すフローチャートである。
【００５４】
入力装置１に電源が投入される。例えば、ユーザが入力装置１または制御装置４０に設けられた電源スイッチ等を入れることにより、入力装置１に電源が投入される。電源が投入されると、加速度センサユニット１６から２軸の加速度信号（第１、第２の加速度値ax、ay）が出力され（ステップ７０１ａ）、これがＭＰＵ１９に供給される。この加速度信号は、電源が投入された時点での入力装置１の姿勢（以下、初期姿勢という）に対応する信号である。ここでは、初期姿勢は上記基本姿勢になっているとして説明する。すなわち、ax=０、ay= 重力加速度であり、この状態からユーザが入力装置１を動かしてポインタ２の表示が制御されるとする。
【００５５】
ＭＰＵ１９は、重力加速度の成分値（ax、ay）に基き、下記の式（１）によりロール角φを算出し（ステップ７０２）（角度算出手段）、これをメモリに記憶する。
【００５６】
φ＝arctan(ax /ay)・・・（１）。
【００５７】
ここでいうロール角は、Ｘ’軸及びＹ’軸方向の合成加速度ベクトルと、Ｙ’軸との間の角度をいう（図１１（Ｂ）参照）。Ｘ’、Ｙ’、Ｚ’軸の座標系は入力装置の動きに合わせて動く座標系であり、すなわち、センサユニット１７に対して静止した座標系である。ここでは、初期姿勢は基本姿勢であるので、初期姿勢の状態ではφ＝０である。
【００５８】
また、入力装置１に電源が投入されると、角速度センサユニット１５から２軸の角速度信号（第２の角速度値ωψ及び第１の角速度値ωθ）が出力され（ステップ７０１ｂ）、これがＭＰＵ１９に供給される。
【００５９】
ＭＰＵ１９は、ステップ７０２で算出されたロール角φに基き、ロール方向の角速度（ロール角速度）値ωφを算出し（ステップ７０３）（角速度算出手段）、これをメモリに記憶する。ロール方向の角速度値ωφは、ロール角φの時間微分で求められる。ＭＰＵ１９は、ロール角φを複数サンプルして微分すればよく、あるいは、所定のクロックごとに（つまり単位時間ごとに）算出するロール角φを角速度値ωφとして出力してもよい。
【００６０】
ＭＰＵ１９は、ヨー角速度値（第２の角速度値）ωψ及びロール角速度値ωφに、所定の比率で表された移動係数α、βをそれぞれ乗じる。α、βの値は任意の実数または関数であり、ＲＯＭ等やその他の記憶デバイスに記憶されていればよい。入力装置１または制御装置４０が、ユーザがα、βを設定できるプログラムを備えていてもよい。ＭＰＵ１９は、移動係数α、βを乗じたことにより得られる２つの角速度値ωψ’、ωφ’が合成された合成角速度値（第１の合成角速度）ωγを算出する（ステップ７０４）（合成算出手段）。
【００６１】
合成の計算式としては、典型的には式（２）の加算式が挙げられる。
【００６２】
ωγ=ωψ’+ωφ’（=αωψ+βωφ）・・・（２）
合成の計算式としては、（２）に限られず、ωψ’・ωφ’であってもよいし、[(ωψ’)2+(ωφ’)2]1/2であってもよい。あるいは他の計算式であってもよい。
【００６３】
この合成角速度値ωγは画面３上のＸ軸方向でのポインタ２の変位量となり、ピッチ方向の角速度値ωθは画面３上のＹ軸方向でのポインタ２の変位量となる。つまり、ポインタ２の両軸の変位量(dX,dY)は下記の式（３）、（４）として表すことができる。
【００６４】
dX =ωψ’+ωφ’=ωγ・・・（３）
dY =ωθ・・・（４）。
【００６５】
ＭＰＵ１９は、角速度値（ωγ、ωθ）の情報を入力情報として制御装置４０に出力する（ステップ７０５）（出力手段）。
【００６６】
制御装置４０のＭＰＵ３５は、角速度値（ωγ、ωθ）の情報を受信する（ステップ７０６）。入力装置１は、所定のクロックごとに、つまり単位時間ごとに角速度値（ωγ、ωθ）を出力するので、制御装置４０は、これを受信し、単位時間ごとのヨー角及びピッチ角の変化量を取得することができる。ＭＰＵ３５は、取得した単位時間当りのヨー角ψ(t)及びピッチ角θ(t)の変化量に応じた、ポインタ２の画面３上における座標値を生成し（ステップ７０７）（座標情報生成手段）、ポインタ２が画面３上で移動するように表示を制御する（ステップ７０８）。
【００６７】
ステップ７０７では、ＭＰＵ３５は上記単位時間当りのヨー角及びピッチ角の変位量に応じたポインタ２の画面３上での単位時間当りの変位量を、演算により、または予めＲＯＭ３７に記憶された参照テーブルにより求める。あるいは、ＭＰＵ３５は、上記角速度値（ωγ、ωθ）の信号にローパスフィルタ（デジタルでもアナログでもよい）をかけて出力してもよい。以上のようにして、ＭＰＵ３５は、ポインタ２の座標値を生成することができる。
【００６８】
以上のように、例えばユーザは、Ｚ軸の周りに入力装置１を回転させること及びＸ軸方向へ入力装置１を動かすことのうち少なくとも一方の操作で、ＵＩの第１の軸方向での動きが制御される。これにより、ユーザは入力装置をＸ軸方向へ動かすときの移動量を少なくすることができ、容易にＵＩを第１の軸方向へ動かすことができる。
【００６９】
特に、例えば水平方向に長い画面が用いられる場合、ユーザは水平方向へポインタ２を容易に動かすことができる。また、ユーザはＺ軸の周りに入力装置１を回転させることで水平方向にポインタ２を動かすことができるので、直感的な操作が可能となる。
【００７０】
図１０は、制御システム１００の他の実施の形態に係る動作を示すフローチャートである。
【００７１】
図９に示したフローでは、入力装置１が移動係数により合成角速度を算出したが、図１０では制御装置４０が演算角速度値を算出する点が異なる。
【００７２】
例えば、入力装置１のＭＰＵ１９は、加速度センサユニット１６から得られる重力加速度の成分値（ax、ay）及び角速度センサユニット１５から得られる角速度値（ωψ、ωθ）の各情報を入力情報として出力する（ステップ２０２）。
【００７３】
制御装置４０のＭＰＵ３５は、重力加速度の成分値（ax、ay）及び角速度値（ωψ、ωθ）の各情報を受信する（ステップ２０３）。ＭＰＵ３５は、重力加速度の成分値（ax、ay）に基き、ロール角φを算出する（ステップ２０４）。ＭＰＵ３５は、ステップ７０３と同様に、ロール角φに基きロール方向の角速度値ωφを算出する（ステップ２０５）。ＭＰＵ３５は、式（２）を用いてヨー角速度値ωψ及びロール角速度値ωφに移動係数α、βをそれぞれ乗じることで２つの角速度値ωψ’及びωφ’を取得し、これらを合成した合成角速度値ωγを算出する（ステップ２０６）。あとは、ＭＰＵ３５は、図９で示すステップ７０７、７０８と同様の処理を行う（ステップ２０７、２０８）。
【００７４】
このように、入力装置１は検出信号の検出値の情報を送信し、制御装置４０が演算処理を行うことも可能である。
【００７５】
次に、加速度センサユニット１６への重力の影響について説明する。図１１はその説明のための図であり、入力装置１をＺ方向で見た図である。
【００７６】
図１１（Ａ）では、入力装置１が基本姿勢とされ、静止しているとする。このとき、第１の加速度センサ１６１の出力は実質的に０であり、第２の加速度センサ１６２の出力は、重力加速度Ｇ分の出力とされている。しかし、例えば図１１（Ｂ）に示すように、入力装置１がロール方向に傾いた状態では、第１、第２の加速度センサ１６１、１６２は、重力加速度Ｇのそれぞれの傾き成分の加速度値を検出する。
【００７７】
この場合、特に、入力装置１が実際にヨー方向には動いていないにも関わらず、第１の加速度センサ１６１はＸ軸方向の加速度を検出することになる。この図１１（Ｂ）に示す状態は、図１１（Ｃ）のように入力装置１が基本姿勢にあるときに、加速度センサユニット１６が破線の矢印で示すような慣性力Ix、Iyを受けた状態と等価であり、加速度センサユニット１６にとって区別が付かない。その結果、加速度センサユニット１６は、矢印Ｆで示すような左に斜め下方向の加速度が入力装置１に加わったと判断し、入力装置１の実際の動きとは違った検出信号を出力する。しかも、重力加速度Ｇは常に加速度センサユニット１６に作用するため、積分値は増大し、ポインタ２を斜め下方に変位させる量は加速度的に増大してしまう。図１１（Ａ）から図１１（Ｂ）に状態が移行した場合、本来、画面３上のポインタ２が動かないようにすることが、ユーザの直感に合った操作と言える。
【００７８】
以上のような加速度センサユニット１６への重力の影響を極力減らすために、次に説明する実施の形態では、入力装置１は、ロール方向の角速度を算出し、これを用いて第１及び第２の角速度を補正する。図１２は、このような制御システム１００の動作を示すフローチャートである。
【００７９】
入力装置１に電源が投入されると、加速度センサユニット１６から２軸の加速度信号（第１、第２の加速度値ax、ay）が出力され（ステップ１００１ａ）、これがＭＰＵ１９に供給される。上記実施の形態では、初期姿勢が基本姿勢であったが、今回は初期姿勢が図１１（Ｂ）に示したようにロール方向に傾いた姿勢であるとして説明する。
【００８０】
ＭＰＵ１９は、重力加速度の成分値（ax、ay）に基き、上記式（１）によりロール角φを算出し（ステップ１００２）、これをメモリに記憶する。
【００８１】
また、入力装置１に電源が投入されると、角速度センサユニット１５から２軸の角速度信号（第２の角速度値ωψ及び第１の角速度値ωθ）が出力され（ステップ１００１ｂ）、これがＭＰＵ１９に供給される。ＭＰＵ１９は、ステップ１００２で算出されたロール角φに基き、上記ステップ７０３と同様にロール方向の角速度（ロール角速度）値ωφを算出し（ステップ１００３）、これをメモリに記憶する。
【００８２】
ここで、図１１で説明した重力の影響を除去するために、ＭＰＵ１９は、例えば図１３に示す式（５）に示したロール角φに応じた回転座標変換により、ヨー角速度値ωψ、ピッチ角速度値ωθをそれぞれ補正する（ステップ１００４）（回転補正手段）。これにより、ＭＰＵ１９は、それぞれ補正された角速度値（ωψ’、ωθ’）を取得し、これをメモリに記憶する。
【００８３】
ＭＰＵ１９は、補正された角速度値ωψ’及び上記ステップ１００３で算出したロール方向の角速度値ωφに所定の比率で表された移動係数α、βをそれぞれ乗じる。ＭＰＵ１９は、移動係数α、βを乗じたことにより得られる２つの角速度値ωψ’’、ωφ’が合成された合成角速度値ωγ（第２の合成角速度）を算出する（ステップ１００５）。
【００８４】
ＭＰＵ１９は、合成角速度値ωγと、ステップ１００４で算出されたピッチ方向の補正角速度値ωθ’の情報を入力情報として出力する（ステップ１００６）。制御装置４０は、ステップ７０６〜７０８と同様な処理を実行する（ステップ１００７〜１００９）。
【００８５】
このように、本実施の形態では、すなわち、入力装置１がＺ軸の周りで、重力方向の軸（以下、垂直軸という）に対して傾いた状態でユーザが入力装置１を動かしても、その傾きによりそれぞれ発生するＸ’軸及びＹ’軸方向の重力加速度成分による影響を除去することができる。
【００８６】
なお、２回目以降のステップ１００１ａ、１００１ｂ以降の処理においては、１回目に算出された、すなわち初期姿勢の状態で算出されメモリに記憶されたロール角φに基きステップ１００４の処理が行われればよい。これは、一度初期姿勢が決まれば、ユーザが意図的に入力装置１をロール方向に回転する場合を除いて、ロール角φの変動を実質的にゼロとみなすことができることによる。このことは、後述する図１４、図１７、図１８についても同様である。
【００８７】
図１２に示したステップ１００２〜１００５の処理を、図１０のように制御装置４０が実行してもよい。
【００８８】
以上では、センサユニット１７の検出面が、垂直軸を含む絶対的な垂直面と実質的に平行の状態のまま、入力装置１がロール方向に傾いた状態でユーザが入力装置１を操作する形態を説明した。しかし、検出面が垂直面から傾いて入力装置１が操作される場合も考えられる。以下、そのような場合の制御システム１００の動作について説明する。図１４は、その動作を示すフローチャートである。
【００８９】
図１５（Ａ）は、検出面が垂直面から傾き、かつ、ロール方向にも傾いて静止している状態にある加速度センサユニット１６を示す図である。加速度センサユニット１６は、この状態でＸ’軸方向及びＹ’軸方向の重力加速度の成分値（ax、ay）をそれぞれ検出している。
【００９０】
図１５（Ａ）では、垂直面と実質的に平行な画面３をロール方向に傾けて図示しており、図中、太い矢印Ｇは重力加速度ベクトルを示している。矢印Ｇ１で示すベクトルは、加速度センサユニット１６が検出しているＸ’軸及びＹ’軸方向の重力加速度ベクトル（ＧＸ’，ＧＹ’）の合成加速度ベクトルＧ１である。したがって、この合成加速度ベクトルＧ１は、重力加速度ベクトルＧのピッチ方向（θ方向）で回転させた成分のベクトルである。図１５（Ｂ）は、図１５（Ａ）の状態にある加速度センサユニット１６を絶対的なＸ−Ｚ平面で見た図である。
【００９１】
図１４を参照して、入力装置１のＭＰＵ１９は、ステップ３０１ａ、３０１ｂで出力される重力加速度成分値（ax、ay）及び角速度（ωψ、ωθ）を取得する。ＭＰＵ１９は、重力加速度成分値（ax、ay）に基き、合成加速度ベクトル量｜a｜を算出する（ステップ３０２）。合成加速度ベクトル量｜a｜は、[(ax)2+(ay)2]1/2より算出することができる。ＭＰＵ１９は、算出した合成加速度ベクトル量｜a｜が閾値Th1以下であるかを判定し（ステップ３０３）、｜a｜が閾値Th1を超える場合、ロール角φを算出する（ステップ３０４）。
【００９２】
垂直面からの検出面の傾きが大きい場合、すなわちピッチ角θが大きい場合、重力加速度成分値（ax、ay）が小さくなり、ロール角φの算出結果の精度が落ちる。したがって、本実施形態では、重力加速度成分値（ax、ay）に基き算出されるロール角φがノイズに埋もれるほど、ピッチ角θが大きくなる場合には、正確なロール角φの算出は困難となる。したがって、｜a｜が閾値Th1以下である場合、ＭＰＵ１９は、ロール角を算出しない、または、閾値Th1以下になるまでロール角φを算出していれば、その算出を停止する（ステップ３０６）。この場合、ＭＰＵ１９は、前回取得したロール角φに応じた回転座標変換により角速度値（ωψ、ωθ）を補正し、補正角速度値（ωψ’、ωθ’）を得るか、または、前回の補正角速度値を得る（ステップ３０７）。前回のロール角φ、前回の補正角速度値の情報は、ＲＡＭ等に記憶しておけばよい。そして、ＭＰＵ１９は、前回のロール角φに基き、ロール方向の角速度値ωφを算出するか（ステップ３０８）、または前回算出された最新の角速度値ωφを用いればよい。
【００９３】
上記閾値Th1は、ノイズ等を考慮して適宜設定されればよい。
【００９４】
ステップ３０４でＭＰＵ１９がロール角φを算出した場合、図１２で示した処理と同様に、ＭＰＵ１９はロール角φに基きロール方向の角速度値ωφを算出し（ステップ３０５）、また、ロール角φに応じた回転座標変換により補正角速度値（ωψ’、ωθ’）を得る（ステップ３０９）。ステップ３１０〜３１４は、図１２のステップ１００５〜１００９と同様である。
【００９５】
ステップ３０６でＭＰＵはロール角φの算出を停止した後、供給される重力加速度成分値（ax、ay）に基き算出された合成加速度ベクトル量｜a｜が閾値Th1を超えた場合、ロール角φの算出を再開し、ステップ３０５、３０９以降の処理が実行される。
【００９６】
本実施の形態によれば、ピッチ角θが大きい場合であっても、ＭＰＵ１９はロール角φの更新を停止するので、正確なロール角φを算出することができる。
【００９７】
図１４に示したステップ３０２〜３１０の処理を、図１０のように制御装置４０が実行してもよい。
【００９８】
ここで、上記ステップ３０６でロール角φの算出が停止されてから、次にその算出が再開されるまでの間に、例えばＹ’軸方向で検出される第２の加速度値ayの正負が変わる場合がある。
【００９９】
図１６（Ａ）、（Ｂ）は、そのときの様子を示す図である。図１６（Ａ）は、ロール角φの算出が停止された瞬間の加速度センサユニット１６の姿勢を示す。図１６（Ｂ）は、ロール角φの算出が再開された瞬間の加速度センサユニット１６の姿勢を示す。このようなとき、Ｙ’軸方向の重力加速度ベクトルＧＹ’の加速度値ayの正負が変わる。これは、Ｙ’軸方向に限らず、Ｘ’軸方向も同様のことが言える。図１６（Ａ）、（Ｂ）では、例えば入力装置１がペン型の装置であって、そのペンの先端部にセンサユニット１７が配置されている形態が想定される。ユーザはこのペン型の入力装置１をペンを持つように握る場合、加速度センサユニット１６は図１６（Ａ）、（Ｂ）に示すように、検出面が下に向くような姿勢となる。
【０１００】
重力加速度ベクトルＧＹ’の加速度値ayの符号が変わると、そのままではロール角φの計算にもエラーが発生する。図１７は、このような現象を回避するための、入力装置１の処理の動作を示すフローチャートである。
【０１０１】
図１６を参照して、ＭＰＵ１９は、ステップ３０３（図１４参照）でＹＥＳの場合に、ロール角φの算出を停止する（ステップ４０１）。すると、ＭＰＵ１９は前回のロール角φに応じた回転座標変換により角速度値（ωψ、ωθ）を補正し、補正角速度値（ωψ’、ωθ’）を得るか、または、前回の補正角度値を得、これを出力する（ステップ４０２）。供給される合成加速度ベクトル量｜a｜が閾値Th1を超えた場合（ステップ４０３のＮＯ）、ＭＰＵ１９は、供給される重力加速度値（ax、ay）に基きロール角を算出する。
【０１０２】
ＭＰＵ１９は、ロール角φの算出を停止したときのロール角、すなわち停止する直前に算出したロール角（第１のロール角）と、算出の再開直後の（ステップ４０４で算出された）ロール角（第２のロール角）との差を算出する（ステップ４０５）。
【０１０３】
ＭＰＵ１９は、その差|Δφ|が閾値Th2以上であった場合（ステップ４０６のＹＥＳ）、最新のロール角である上記第２のロール角に１８０degを加える。ＭＰＵ１９は、第２のロール角に１８０degを加えられた第３のロール角に応じた回転座標変換により補正角速度値（ωψ’、ωθ’）を取得する（ステップ４０８）。ステップ４０６のＮＯの場合、第２のロール角に応じた回転座標変換により補正角速度値（ωψ’、ωθ’）を取得する（ステップ４０７）。あとは、図１４のステップ３１０以降の処理が実行される。
【０１０４】
このようにして、本実施の形態では、入力装置１による該入力装置１の姿勢の認識精度が向上し、適切な方向にポインタ２が動くような表示が可能となる。
【０１０５】
閾値Th2は、例えば６０deg（＝±３０deg）〜９０deg（＝±４５deg）等に設定することができる。しかし、これらの範囲に限られない。
【０１０６】
図１７に示した処理を、図１０のように制御装置４０が実行してもよい。
【０１０７】
図１８は、図１７に示した処理についての他の形態に係る動作を示すフローチャートである。
【０１０８】
ステップ５０１〜５０４は、図１７のステップ４０１〜４０４と同様の処理である。ＭＰＵ１９は、ロール角φの算出停止直前のピッチ方向の角速度ωθの方向と、算出開始直後のピッチ方向での角速度ωθの方向とが同じ方向であるか否かを判定する（ステップ５０５）。つまりωθの正負が、ロール角φの算出停止前及び開始後で一致しているか否かが判定される。ピッチ方向に代えて、あるいは、ピッチ方向に加えて、ヨー方向の角速度ωψの正負が一致しているか否かが判定されてもよい。
【０１０９】
ステップ５０５においてＹＥＳの場合、ピッチ方向での角速度の方向が連続しているので、図１６（Ａ）、（Ｂ）に示すようにＧＹ’の向きが変わっていると判断することができる。この場合、ＭＰＵ１９は、第２のロール角に１８０degを加えられた第３のロール角に応じた回転座標変換により補正角速度値（ωψ’、ωθ’）を取得する（ステップ５０７）。あとは、図１７と同様である。
【０１１０】
このように、ピッチ方向の角速度ωθ（またはヨー方向の角速度ωψ）の連続性が確認さえることで、入力装置１による該入力装置１の姿勢の認識精度がさらに向上する。
【０１１１】
図１８に示した処理を、図１０のように制御装置４０が実行してもよい。
【０１１２】
図１７及び図１８の処理のさらに別の実施の形態として、ロール角の算出が停止されたときの第１及び第２の角速度の合成角速度ベクトル量（第１の合成角速度ベクトル量）と、ロール角の算出が再開されたときの当該合成角速度ベクトル量（第２の合成角速度ベクトル量）との差が閾値以上であるか否かが判定されてもよい。合成角速度ベクトル量は、例えば[(ωψ)2+(ωθ)2]1/2より算出することができる。第１の合成角速度ベクトル量と第２の合成角速度ベクトル量との差が大きい場合は、姿勢の変化が大きいと判断される。ＭＰＵ１９は、その差が閾値以上と判定した場合、ステップ４０８、５０７と同様な処理を実行する。
【０１１３】
このような入力装置１の処理についても、制御装置４０が実行してもよい。
【０１１４】
図１９は、本発明の他の実施の形態に係る入力装置の電気的な構成を示すブロック図である。この入力装置２０１は、上記センサユニット１７を備えておらず、３軸の角速度センサユニット２１５を備えている点で、上記の入力装置１と異なる。
【０１１５】
３軸の角速度センサユニット２１５は、Ｘ’軸の周りの角速度（第１の角速度）ωψを検出する第１の角速度センサ、Ｙ’軸の周りの角速度（第２の角速度）ωθを検出する第２の角速度センサ、Ｚ’軸の周りの角速度（第３の角速度）ωφを検出する第３の角速度センサを有している。これらの角速度センサは、角速度値（ωθ、ωψ、ωφ）の信号をそれぞれ出力する。
【０１１６】
図２０は、この入力装置２０１を含む制御システムの動作を示すフローチャートである。制御装置としては、上記各実施の形態で示した制御装置４０が用いられればよい。
【０１１７】
角速度センサユニット２１５から３軸の角速度信号が出力され（ステップ９０１）、ＭＰＵ１９はこれらの角速度値（ωθ、ωψ、ωφ）を取得する。ＭＰＵ１９は、下記の式（６）の積分演算によりロール角φを算出する（ステップ９０２）。
【０１１８】
φ=φ0 +∫ωφdt ・・・（６）
φ0はロール角の初期値である。
【０１１９】
上記各実施の形態では、入力装置１のロール方向の傾きが回転座標変換により補正されていたが、本実施の形態では、入力装置２０１の初期姿勢における初期値φ0が発生し、また、何も対策をしないと積分誤差が発生することになる。
【０１２０】
式（６）において、積分誤差を除去する現実的かつ簡便な方法として、以下に述べる方法が挙げられる。
【０１２１】
例えば入力装置２０１には、図示しないリセットボタンが設けられる。このリセットボタンは、典型的にはボタン１１、１２、ホイールボタン１３とは別に設けられたボタンである。ユーザがリセットボタンを押している間は、入力装置２０１の操作により制御装置４０はポインタ２を画面上で動かすように表示させる。または、ユーザがリセットボタンを押した直後から次回に再度リセット押すまでの間は、入力装置２０１の操作により制御装置４０はポインタ２を画面上で動かすように表示させる。すなわち、リセットボタンが押されることを積分誤差低減のための動作開始のトリガーとする。
【０１２２】
ここで、トリガーの発効直後に、ＭＰＵ１９または制御装置４０のＭＰＵ３５は、φ0＝０、φ＝０にリセットする（リセット手段）。あるいは式（６）にφ0の項を最初から入れないこととしてもよい。
【０１２３】
この方法では、１回の入力装置２０１の操作（ユーザがリセットボタンを押している時間、または押した直後から次に押すまでの間）ごとにφが０にリセットされるため、実用的には積分誤差が拡大しない。
【０１２４】
この場合、ユーザはリセットスイッチの押圧時に、入力装置２０１をおおよそ基本姿勢になるように注意する必要があるが難易度は低く、容易に習熟できる範囲である。
【０１２５】
なお、リセットボタンが設けられる構成ではなく、入力装置１のＭＰＵ１９または制御装置４０のＭＰＵ３５が所定の条件の下でリセットするようにしてもよい。所定の条件とは、例えば入力装置２０１が基本姿勢になったとき等が挙げられる。入力装置２０１が基本姿勢になったことを検出するためには、例えば上記加速度センサユニット１６等が設けられていればよい。
【０１２６】
ステップ９０２の後、ＭＰＵ１９は、ヨー角速度値ωψ及びロール角速度ωφに、所定の移動係数α、βをそれぞれ乗じ、これにより得られる２つの角速度値ωψ’、ωφ’が合成された合成角速度値ωγを算出する（ステップ９０３）。ＭＰＵ１９は、算出した合成角速度値ωγ、及び、角速度センサユニット２１５から得られたピッチ角速度値ωθの情報を入力情報として出力する（ステップ９０４）。
【０１２７】
制御装置４０は、その入力情報を受信し（ステップ９０５）、これに応じたポインタ２の座標値を生成し（ステップ９０６）、そのポインタ２の表示を制御する（ステップ９０７）。
【０１２８】
図２０に示したステップ９０２〜９０４の処理を、図１０のように制御装置４０が実行してもよい。
【０１２９】
図２１は、図２０の処理についての他の実施の形態に係る動作を示すフローチャートである。
【０１３０】
角速度センサユニット２１５から３軸の角速度信号が出力され（ステップ８０１）、ＭＰＵ１９はこれらの角速度値（ωθ、ωψ、ωφ）を取得する。ＭＰＵ１９は、下記の式（７）よりロール角φを算出する（ステップ８０２）。
【０１３１】
φ=∫ωφdt ・・・（７）。
【０１３２】
ＭＰＵ１９は、図１２で示したステップ１００４〜１００６と同様の処理を実行し（ステップ８０３〜８０５）、制御装置４０のＭＰＵ３５は、ステップ１００７〜１００９（８０６〜８０８）と同様の処理を実行する。
【０１３３】
式（７）においては積分誤差が発生するが、ステップ８０３においてロール角φに応じた回転座標変換が行われるので問題ない。また、上記式（６）のロール角の初期値φ0も、回転座標変換が行われることにより除去される。
【０１３４】
図２１に示したステップ８０２〜８０５の処理を、図１０のように制御装置４０が実行してもよい。
【０１３５】
次に、さらに別の実施の形態について説明する。
【０１３６】
上記各実施の形態では、ロール方向の入力装置１の角速度と、Ｘ軸の周りの入力装置１の角速度の合成がポインタ２のＸ軸方向での変位量に変換された。本実施の形態では、ロール方向の入力装置１の角速度は、ポインタ２のＸ軸方向での変位量に変換されず、Ｘ軸の周りの入力装置１の角速度がそれに変換される。図２２は、その処理を含む制御システム１００の動作を示すフローチャートである。
【０１３７】
入力装置１に電源が投入されると、加速度センサユニット１６から２軸の加速度信号（第１、第２の加速度値ax、ay）が出力され（ステップ１０１ａ）、これがＭＰＵ１９に供給される。この加速度信号は、初期姿勢の状態における信号である。今、初期姿勢が基本姿勢から傾いていたとする。
【０１３８】
ＭＰＵ１９は、重力加速度の成分値（ax、ay）に基き、式（１）によりロール角φを算出する（ステップ１０２）。
【０１３９】
また、入力装置１に電源が投入されると、角速度センサユニット１５から２軸の角速度信号（第１の角速度値ωθ及び第２の角速度値ωψ）が出力され（ステップ１０１ｂ）、これがＭＰＵ１９に供給される。
【０１４０】
ＭＰＵ１９は、算出したロール角に応じた回転座標変換により、角速度値（ωψ、ωθ）をそれぞれ補正し、補正値である補正角速度値（第２及び第１の補正角速度値（ωψ’、ωθ’））を得る（ステップ１０３）。ＭＰＵ１９は、補正角速度値（ωψ’、ωθ’）の情報を制御装置４０に出力する（ステップ１０４）。
【０１４１】
制御装置４０のＭＰＵ３５は、補正角速度値（ωψ’、ωθ’）の情報を受信する（ステップ１０５）。入力装置１は、所定のクロックごとに、つまり単位時間ごとに補正角速度値（ωψ’、ωθ’）を出力するので、制御装置４０は、これを受信し、単位時間ごとのヨー角及びピッチ角の変化量を取得することができる。ＭＰＵ３５は、取得した単位時間当りのヨー角ψ(t)及びピッチ角θ(t)の変化量に応じた、ポインタ２の画面３上における座標値を生成し（ステップ１０６）、ポインタ２が画面３上で移動するように表示を制御する（ステップ１０７）。
【０１４２】
なお、以上のようにロール方向の入力装置１の傾きによる重力加速度成分の影響が除去された後、ユーザが実際に入力装置１を動かして操作する場合、その入力装置１に加速度が発生する。加速度センサユニット１６はこの加速度を検出するので、ステップ１０２で算出したロール角φが変動すると考えられる。以下、このようなロール角φの変動を抑制する３つの実施の形態について説明する。
【０１４３】
図２３は、そのうち１つの実施の形態に係る入力装置を示すブロック図である。入力装置１０１は、加速度センサユニット１６により得られるＸ’軸方向及びＹ’軸方向のうち少なくとも一方の加速度信号が入力されるローパスフィルタ（ＬＰＦ）１０２を備えている。このＬＰＦ１０２により、加速度信号のインパルス状の成分が除去される。
【０１４４】
図２４（Ａ）は、ＬＰＦ１０２を通過する前の、Ｘ’軸方向またはＹ’軸方向の加速度信号を示し、図２４（Ｂ）はＬＰＦ１０２を通過後の加速度信号を示している。インパルス状の成分は、ユーザが入力装置１０１を動かしたときに検出される加速度信号である。図中のＤＣオフセット成分は、重力加速度による成分値であり、この部分はＬＰＦ１０２を通過する。
【０１４５】
典型的には、上記インパルスの波形は十〜数十Hzであることから、ＬＰＦ１０２は数Hzのカットオフ周波数を持つ。カットオフ周波数が低すぎると、位相遅れによるφの遅れが操作時の違和感としてユーザにより感じられるため、実用的な下限が規定されればよい。
【０１４６】
このように、ＬＰＦ１０２によりインパルス状の成分が除去されることで、ロール角φの算出時において、ユーザが入力装置１０１を動かすときに発生する加速度の影響を除去することができる。
【０１４７】
ロール角φの変動を抑制する第２の実施の形態として、ロール角φの算出時において角加速度値が監視される方法が考えられる。図２５は、その動作を示すフローチャートである。
【０１４８】
ステップ６０１ａ、６０１ｂ、６０２ａは、図１４に示したステップ３０１ａ、３０１ｂ、３０２と同様である。ＭＰＵ１９は、供給される角速度値（ωψ、ωθ）に基き、微分演算により角加速度値（Δωψ、Δωθ）を算出する（ステップ６０２ｂ）。なお、ステップ６０２ａと６０２ｂは同じタイミングで処理が実行されるわけではなく、図を分かりやすくするためにそのように記載していだけである。
【０１４９】
ＭＰＵ１９は、算出された両方向の角速度値のうち例えば一方のヨー方向の角速度値｜Δωψ｜が閾値Th3以上であるか否かを判定する（ステップ６０３）。それが閾値Th3以上である場合、ＭＰＵ１９は、ロール角φの算出を停止する（ステップ６０６）。このように処理する理由は、次のような理由による。
【０１５０】
ユーザが入力装置１を自然に操作するとき、入力装置１に角加速度が発生する。ロール角φは、上記式（１）により算出される。また、Ｘ軸またはＹ軸の周りの角速度値（Δωθ、Δωψ）は、後述する式（９）によって加速度値（ax、ay）に基いて算出される。ユーザが入力装置１を動かしたときに入力装置１に加速度が発生しても、それによるロール角φの算出誤差を許容範囲内に抑えるための所望の第１または第２の加速度値を、式（３）によって算出することができる。つまり、角加速度の閾値Th3が設定されることで、ロール角φの算出誤差を許容範囲内に抑えることができる。
【０１５１】
以下、角加速度の閾値Th3について説明する。
【０１５２】
例えば、ユーザが入力装置１を動かしたときに、入力装置１がピッチ方向にθ1＝６０deg傾いた状態にあっても、それによって発生する慣性力によって重力方向のＭＰＵ１９の認識誤差の結果生じるロール角φの誤差を１０deg以内に抑えたい場合の閾値Th3を考える。
【０１５３】
入力装置１がピッチ方向に６０deg傾いた状態では、
ay＝１G・cos60°＝0.5G
となる。したがって、φ＝１０degとして式（１）は、
10°＝arctan(ax /0.5G)
となり、ax＝0.09Gとなる。したがって、axが0.09Gとなるような最小の｜Δωψ｜を求めればよい。
【０１５４】
そこで、ユーザが腕を振るとき発生する加速度と角加速度の関係を考える。ユーザが入力装置１を振る半径が大きいほど、同一加速度ax当りの角加速度｜Δωψ｜は小さくなる。その半径が最大となるのは、肩を回転中心として腕全体を振る場合と仮定する。ここで、腕の長さをLarmとすると、Δωψは下記式（９）で表される。  
｜Δωψ｜＝ax /Larm・・・（９）。
【０１５５】
一般的な例として、半径rの円において中心角θでなる円弧の長さlについて、l = rθであることから式（９）が成立する。
【０１５６】
ax＝0.09G＝0.09×9.8(m/s)、Larm =0.8m（腕の長いユーザと仮定）を式（９）に代入すると、
Δωx＝1.1rad/s2＝６３deg/s 2
となる。つまり、｜Δωψ｜>６３°/s2なる角加速度が検出されたときに、ＭＰＵ１９はφの更新を停止することにより、ユーザが入力装置１をピッチ方向に最大６０deg傾けたときにも、そのロール角φの算出誤差を１０deg以下に抑えることが可能となる。ロール角φの算出誤差の設定範囲は、１０deg以下に限られず、適宜設定可能である。
【０１５７】
ユーザが、肘を回転中心として、または、手首を回転中心として入力装置１を操作する場合には、この角加速度のときのaxはさらに小さな値となるので、慣性力の影響による重力方向の誤差角度は10°を下回る値であり、誤差の小さくなる方向となる。
【０１５８】
ステップ６０４〜６１１は、図１４のステップ３０４、３０６、３０７、３０９、３１１〜３１４と同様の処理である。
【０１５９】
以上の説明では、ヨー方向の角速度について言及したが、ピッチ方向の角速度についても同様のことが言える。したがって、ステップ６０３の後に、｜Δωθ｜が閾値以上であるか否かが判定されるステップが加えられ、それが閾値以上であるときに、ロール角φの更新が停止されてもよい。
【０１６０】
ところで、ヨー方向及びピッチ方向の角速度のうち少なくとも一方が閾値以上である場合に、ＭＰＵ１９はロール角の算出を停止し、ステップ６０４、６０７の処理を行うようにしてもよい。ユーザがかなりの高速でポインタ２を動作させたとき（角速度が高速のとき）、例えば０．１〜０．２秒で画面３の端から端までポインタ２を動かすときは、ロール角の算出をしない方が人間の感覚として違和感が少ないことが実験で分かっている。このようにユーザが画面上でポインタの細かな動作をさせない粗動作時には、ロール角は固定値とされることでユーザの直感に合致した動作が可能となる。例えば、角速度センサ１５１または１５２の出力値を−５１２〜＋５１２に分割した場合、−２００以下、＋２００以上のときはロール角の算出が停止されるようにすればよい。しかし、この値に限られない。
【０１６１】
ロール角φの変動を抑制する第３の実施の形態として、加速度センサユニット１６により検出される加速度に閾値を設ける方法がある。例えば、ＭＰＵ１９は、検出されたＸ’軸方向及びＹ’軸方向の加速度値（ax、ay）のうち少なくとも一方が閾値以上となった場合、ロール角φの更新を停止し、閾値未満となってからその更新を再開する。あるいは、加速度値が一定以上になると、単に検出電圧が飽和するのでそのときに自動的にφの更新が停止される、といった処理であってもよい。
【０１６２】
図２５に示したステップ６０２ａ、６０２ｂ、６０３〜６０７の処理を、図１０のように制御装置４０が実行してもよい。
【０１６３】
図２６は、さらに別の実施の形態に係る入力装置の構成を示す模式図である。
【０１６４】
この入力装置１４１の制御ユニット１３０は、メイン基板１８の下部に配置された加速度センサユニット１１６を備える。加速度センサユニット１１６は、２軸（Ｘ’及びＹ’軸）を検出するものであってもよいし、３軸（Ｘ’、Ｙ’及びＺ’軸）を検出するものであってもよい。
【０１６５】
上記入力装置１と比べ、加速度センサユニット１１６が配置される位置は、ユーザが入力装置１４１を握ったときに手首に近くなる。このような位置に加速度センサユニット１１６が配置されることにより、ユーザの手首の振りによって発生する加速度の影響を最小とすることができる。
【０１６６】
また、例えば加速度センサユニット１１６として３軸タイプが用いられることで、若干計算量が増加するものの、どのような実装面に加速度センサユニット１１６が配置されても、Ｘ’−Ｙ’面内の加速度成分を抽出することができる。その結果、基板のレイアウトの自由度を増やすことが可能となる。
【０１６７】
次に、入力装置の他の実施の形態について説明する。
【０１６８】
図２７は、その入力装置５１を示す斜視図である。図２８は、その入力装置５１のホイールボタン１３側から見た側面図である。これ以降の説明では、図２等に示した実施の形態に係る入力装置１が含む部材や機能等について同様のものは説明を簡略または省略し、異なる点を中心に説明する。
【０１６９】
入力装置５１の筐体５０は、その筐体５０の表面の所定の位置に設けられた球面の一部または二次曲面の一部５０ａを有する。以下、球面の一部または二次曲面の一部（５０ａ）を便宜的に「下部曲面」（５０ａ）という。
【０１７０】
下部曲面５０ａが配置される位置は、例えば、ボタン１１、１２とはほぼ反対側の位置であり、ユーザが入力装置５１を握ったときに、子指が他の指より最もその下部曲面５０ａの位置に近くなるような位置である。あるいは、ある一方向（Ｚ’軸方向とする。）の長い筐体５０において、筐体５０のそのＺ’軸方向の長さの中心からＺ’軸の正の側にセンサユニット１７が配置される場合、下部曲面５０ａはＺ’軸の負の側に配置された位置となる。
【０１７１】
球面の一部とは、典型的には、実質的に半球面が挙げられるが必ずしも半分である必要はない。二次曲面とは、２次元で描かれる円錐曲線（二次曲線）を３次元まで拡張されたときの曲面をいう。二次曲面として、例えば楕円面、楕円放物面、または双曲面等がある。
【０１７２】
このような入力装置５１の筐体５０の形状により、ユーザは、入力装置５１の下部曲面５０ａを、テーブル、椅子、床、ユーザの膝や太もも等の当接対象物４９に当てた状態で、下部曲面５０ａを支点として入力装置５１を操作しやすくなる。つまり、入力装置５１の下部曲面５０ａを当接対象物４９に当てた状態でも、ユーザは入力装置５１をあらゆる角度に傾けることを容易に行うことができるので、ポインタをアイコンに合わせる等の細かい操作を行うことができるようになる。図２９は、ユーザが入力装置５１の下部曲面５０ａを膝に当てて操作する様子を示す図である。
【０１７３】
あるいは、本実施形態では、手ぶれ補正回路では抑制できない手の震え等による誤操作を防止したり、ユーザが入力装置５１を空中で持ち上げ続けて操作する場合のユーザの疲労を予防することができる。
【０１７４】
図３０は、本発明のさらに別の実施の形態に係る入力装置を示す斜視図である。
【０１７５】
入力装置６１の筐体６０は、図２７、図２８で示した入力装置５１と同様に、球面の一部でなる下部曲面６０ａを有する。入力装置６１の筐体６０の最大長さの方向（Ｚ’軸方向）に垂直な平面であって、下部曲面６０ａに接する平面（以下、便宜的に下端平面５５という。）は、角速度センサユニット１５の検出軸であるＸ軸及びＹ軸（図８参照）が作る平面（Ｘ−Ｙ平面）と実質的に平行な平面となっている。
【０１７６】
このような入力装置６１の構成により、ユーザが下部曲面６０ａを下端平面５５に当てて操作する場合に、入力装置６１に加えられる角速度がそのまま角速度センサユニット１５に入力される。したがって、角速度センサユニット１５からの検出信号から検出値を得る過程での計算量を減らすことができる。
【０１７７】
図３１は、本発明のさらに別の実施の形態に係る入力装置を示す正面図である。図３２は、その入力装置を示す側面図である。
【０１７８】
入力装置７１の筐体７０の下部曲面７０ａは、例えば球面の一部とされている。この下部曲面７０ａは、図２７、図３０で示した入力装置５１、６１の下部曲面５０ａ、６０ａより曲率半径が大きく設定されている。角速度センサユニット１５は、その角速度センサユニット１５の検出軸であるＸ軸及びＹ軸で構成されるＸ−Ｙ平面に含まれる直線が、Ｘ軸方向及びＹ軸方向で見て、上記球面を通る仮想的に描かれた円５６の接線に相当するような位置に配置されている。このような条件を満たす限り、角速度センサユニット１５のＸ−Ｙ平面が、入力装置７１の長手方向に対して傾くように（図３１参照）、角速度センサユニット１５が筐体７０に対して配置されてもよい。
【０１７９】
これにより、ユーザが下部曲面７０ａを当接対象物４９に当てて入力装置７１を操作する場合に発生する角速度のベクトル方向と、角速度センサユニット１５の検出方向が一致するので、リニアな入力が可能となる。
【０１８０】
図３３は、本発明のさらに別の実施の形態に係る入力装置を示す正面図である。
【０１８１】
この入力装置８１の筐体８０の下部曲面８０ａである球面の曲率半径は、例えば図３０に示したものと同じ、または近く設定されている。角速度センサユニット１５は、該角速度センサユニット１５の中心点である２つのＸ軸及びＹ軸の交点を通りそのＸ軸及びＹ軸に直交する仮想的な直線が、下部曲面８０ａを含む第１の球６２の中心点Ｏを通る。このような構成により、下部曲面８０ａを含む第１の球６２と、角速度センサユニット１５のＸ−Ｙ平面に含まれる直線が接線となる第２の球６３が同心となる。したがって、入力装置８１は、図３１で示した入力装置７１の効果と同様の効果を奏する。
【０１８２】
なお、以上説明した球面の一部または二次曲面の一部を備える入力装置５１、６１、７１、または８１について、ユーザが必ずしも下部曲面５０ａ、６０ａ、７０ａ、または８０ａを当接対象物４９に当てて操作しなければならないわけではなく、空中で操作してももちろんかまわない。
【０１８３】
図２７〜図３３に示した入力装置５１、６１、７１、または８１が、図１９に示した入力装置２０１及びこの入力装置２０１が実行する処理に適用されてもよいし、図２３に示した構成を有する入力装置１０１及びこの入力装置１０１が実行する処理に適用されてもよい。
【０１８４】
本発明に係る実施の形態は、以上説明した実施の形態に限定されず、他の種々の実施形態が考えられる。
【０１８５】
図９、１０、１２、１４、２０〜２２、２５に示したフローチャートにおいて、入力装置及び制御装置が互いに通信しながら、入力装置の処理の一部を制御装置が行ってもよいし、制御装置の処理の一部を入力装置が行ってもよい。
【０１８６】
上記の入力装置１は、加速度センサユニット１６及び角速度センサユニット１５を備えていた。しかし、入力装置は、角度センサを備えたものであってもよい。この角度センサは、例えば、図３４（Ａ）に示すＸ’軸（第１の軸）の周りの角度（第１の角度）θと、図３４（Ｂ）に示すＺ’軸の周りの角度（第３の角度）φとを検出する２つの角度センサを有する。θは、垂直軸からのＸ’−Ｙ’平面の角度である。もちろん、入力装置は、Ｙ’軸（第２の軸）の周りの角度（第２の角度）ψをも検出する３軸の角度センサを備えていてもよい。
【０１８７】
図３４（Ａ）に示すように、角度センサは、２軸の場合上記加速度センサユニット１６により構成される。重力加速度ＧのＹ’方向成分であるG・sinθがＹ’軸方向での加速度値ayである。これによりθが求められる。また、図３４（Ｂ）に示すように、Ｚ’軸方向での角度はG・sinφ＝ay、またはG・cosφ＝ax（Ｘ’方向成分の加速度値）によりφが求められる。このように、角度θ、φが算出されることで、微分演算（微分手段）によりωθ、ωφが算出される。この場合、Ｙ’軸方向の周りの角速度（第２の角速度）ψは、角速度センサから直接得られる。
【０１８８】
あるいは、角度θ及びφのうちいずれか一方だけ算出され、例えば角度θのみ（またはφのみ）が上記角度センサによって算出され、微分演算によりωθ（またはωφ）が算出されてもよい。この場合、ωφ（またはωθ）及びωψは角速度センサにより直接得られる。
【０１８９】
このように入力装置が角度センサを有する場合であっても、入力装置または制御装置は、上記ロール角φに応じた回転座標変換処理や、移動係数α、βの乗算処理及びこれにより得られる２つの角速度の合成演算処理を行うことが可能である。
【０１９０】
上記角度センサは、加速度センサに代えて、あるいは加速度センサに加えて、地磁気センサ（１軸または２軸のもの）、またはイメージセンサであってもよい。
【図面の簡単な説明】
【０１９１】
【図１】本発明の一実施の形態に係る制御システムを示す図である。
【図２】入力装置を示す斜視図である。
【図３】入力装置の内部の構成を模式的に示す図である。
【図４】入力装置の電気的な構成を示すブロック図である。
【図５】表示装置に表示される画面の例を示す図である。
【図６】ユーザが入力装置を握った様子を示す図である。
【図７】入力装置の動かし方及びこれによる画面上のポインタの動きの典型的な例を説明するための図である。
【図８】センサユニットを示す斜視図である。
【図９】制御システムの動作を示すフローチャートである。
【図１０】制御システムの他の実施の形態に係る動作を示すフローチャートである。
【図１１】加速度センサユニットへの重力の影響を説明するための図である。
【図１２】加速度センサユニットへの重力の影響を極力減らすためのロール方向の回転座標変換による補正処理を含む、制御システムの動作を示すフローチャートである。
【図１３】その回転座標変換の式及び説明図である。
【図１４】検出面が垂直面から傾いて入力装置が操作される場合の制御システムの動作を示すフローチャートである。
【図１５】（Ａ）は、検出面が垂直面から傾き、かつ、ロール方向にも傾いて静止している状態にある加速度センサユニットを示す図である。（Ｂ）は、（Ａ）の状態にある加速度センサユニットを絶対的なＸ−Ｚ平面で見た図である。
【図１６】（Ａ）は、ロール角の算出が停止された瞬間の加速度センサユニットの姿勢を示す図である。（Ｂ）は、ロール角の算出が再開された瞬間の加速度センサユニットの姿勢を示す図である。
【図１７】図１６において、ロール角φの計算エラーを低減させる処理の動作を示すフローチャートである。
【図１８】図１７に示した処理についての他の形態に係る動作を示すフローチャートである。
【図１９】本発明のさらに別の実施の形態に係る入力装置の電気的な構成を示すブロック図である。
【図２０】図１９に示す入力装置を含む制御システムの動作を示すフローチャートである。
【図２１】図２０の処理について他の実施の形態に係る動作を示すフローチャートである。
【図２２】図２に示した入力装置１を含む制御システムのさらに別の実施の形態に係る動作を示すフローチャートである。
【図２３】ロール方向の入力装置の傾きによる重力加速度成分の影響が除去された後、ユーザが実際に入力装置を動かして操作する場合に発生するロール角の変動を抑制する第１の形態に係る入力装置を示すブロック図である。
【図２４】（Ａ）は、ＬＰＦを通過する前の、Ｘ’軸方向またはＹ’軸方向の加速度信号を示すグラフである。（Ｂ）はＬＰＦを通過後の加速度信号を示すグラフである。
【図２５】ロール角の変動を抑制する第２の実施の形態として、ロール角φの算出時において角加速度値が監視される形態の動作を示すフローチャートである。
【図２６】本発明のさらに別の実施の形態に係る入力装置の構成を示す模式図である。
【図２７】本発明のさらに別の実施の形態に係る入力装置を示す斜視図である。
【図２８】図２７に示す入力装置の回転式のボタン側から見た側面図である。
【図２９】ユーザが入力装置の下部曲面を膝に当てて操作する様子を示す図である。
【図３０】本発明のさらに別の実施の形態に係る入力装置を示す斜視図である。
【図３１】本発明のさらに別の実施の形態に係る入力装置を示す正面図である。
【図３２】図２９に示す入力装置を示す側面図である。
【図３３】本発明のさらに別の実施の形態に係る入力装置を示す正面図である。
【図３４】角度センサの原理を説明するための図である。
【符号の説明】
【０１９２】
１、５１、６１、７１、８１、１０１、１４１、２０１…入力装置
２…ポインタ
３…画面
１５、２１５…角速度センサユニット
１６、１１６…加速度センサユニット
１７…センサユニット
４０…制御装置
１００…制御システム
１０２…ローパスフィルタ
１５１…第１の角速度センサ
１５２…第２の角速度センサ
１６１…第１の加速度センサ
１６２…第２の加速度センサ
【図１】
0004325707.tif 000002
【図２】
0004325707.tif 000003
【図３】
0004325707.tif 000004
【図４】
0004325707.tif 000005
【図５】
0004325707.tif 000006
【図６】
0004325707.tif 000007
【図７】
0004325707.tif 000008
【図８】
0004325707.tif 000009
【図９】
0004325707.tif 000010
【図１０】
0004325707.tif 000011
【図１１】
0004325707.tif 000012
【図１２】
0004325707.tif 000013
【図１３】
0004325707.tif 000014
【図１４】
0004325707.tif 000015
【図１５】
0004325707.tif 000016
【図１６】
0004325707.tif 000017
【図１７】
0004325707.tif 000018
【図１８】
0004325707.tif 000019
【図１９】
0004325707.tif 000020
【図２０】
0004325707.tif 000021
【図２１】
0004325707.tif 000022
【図２２】
0004325707.tif 000023
【図２３】
0004325707.tif 000024
【図２４】
0004325707.tif 000025
【図２５】
0004325707.tif 000026
【図２６】
0004325707.tif 000027
【図２７】
0004325707.tif 000028
【図２８】
0004325707.tif 000029
【図２９】
0004325707.tif 000030
【図３０】
0004325707.tif 000031
【図３１】
0004325707.tif 000032
【図３２】
0004325707.tif 000033
【図３３】
0004325707.tif 000034
【図３４】
0004325707.tif 000035