(57)【要約】【課題】計算量を少なくすることができる入力装置、制御装置、制御システム、制御方法及びそのプログラムを提供すること。【解決手段】入力装置に設けられたセンサユニット１７は、互いに異なる角度、例えば直交する２軸（Ｘ軸及びＹ軸）に沿った加速度を検出する加速度センサユニット１６（第１の加速度センサ１６１及び第２の加速度センサ１６２）を有する。センサユニット１７は、その直交する２軸の周りの角加速度を検出する角速度センサユニット１５（第１の角速度センサ１５１及び第２の角速度センサ１５２）を有する。合計４つのセンサが設けられていることにより、計算量を少なくすることができる。また、角速度センサユニット１５からの角速度値が速度値の計算に用いられることにより、積分誤差や重力の影響等を抑制することができる。【選択図】図８
2008305044.tif 000002
【特許請求の範囲】
【請求項１】
第１の方向の第１の加速度を検出する第１の加速度センサと、
前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、
前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、
前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサと、
前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出し、前記第１の速度値及び前記第２の速度値の情報を出力する速度情報出力手段と
を具備することを特徴とする入力装置。
【請求項２】
請求項１に記載の入力装置であって、
前記速度情報出力手段は、
前記第１の加速度値と、重力加速度の前記第１の方向の成分値である第１の基準加速度値との差を第１の補正加速度値として算出し、前記第１の補正加速度値に基き前記第１の速度値を算出することを特徴とする入力装置。
【請求項３】
請求項２に記載の入力装置であって、
前記第２の角速度値に応じて前記第１の速度値を補正する速度補正手段をさらに具備することを特徴とする入力装置。
【請求項４】
請求項３に記載の入力装置であって、
前記速度補正手段は、
前記第２の角速度値の絶対値が閾値より小さい場合に、前記第１の速度値をゼロとすることを特徴とする入力装置。
【請求項５】
請求項２に記載の入力装置であって、
前記第２の角速度値に基き前記第２の軸の周りの第２の角加速度値を算出する角加速度算出手段と、
前記第２の角加速度値に応じて前記第１の基準加速度値を更新するか否かを判定する判定段と
をさらに具備することを特徴とする入力装置。
【請求項６】
請求項５に記載の入力装置であって、
前記第２の角加速度値の絶対値が閾値より小さい場合に、前記第１の基準加速度値を更新する更新手段をさらに具備することを特徴とする入力装置。
【請求項７】
請求項１に記載の入力装置であって、
前記第２の角速度値に基き前記第２の軸の周りの第２の角加速度値を算出する角加速度算出手段をさらに具備し、
前記速度情報出力手段は、
前記第１の加速度値と前記第２の角加速度値の相関を表す相関特性を用いて、前記第１の速度値を算出することを特徴とする入力装置。
【請求項８】
請求項７に記載の入力装置であって、
前記速度情報出力手段は、
前記相関特性として、前記第１の加速度値及び前記第２の角加速度値を用いた相関係数または相関関数を、それぞれ重み係数または重み関数として前記第１の加速度値に乗じることで、前記第１の速度値を算出することを特徴とする入力装置。
【請求項９】
請求項７に記載の入力装置であって、
前記速度情報出力手段は、
前記相関特性として、前記第１の加速度と前記第２の角加速度との比率を用いて前記第１の速度値を算出することを特徴とする入力装置。
【請求項１０】
請求項１に記載の入力装置であって、
前記速度情報出力手段は、
前記第１の加速度値及び前記第２の角加速度値のそれぞれの符号が一致しているか否かを判定し、前記符号が一致していない場合、前記第１の加速度値を用いないことを特徴とする入力装置。
【請求項１１】
第１の方向の第１の加速度を検出する第１の加速度センサと、前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサとを有する入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置であって、
前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値の情報を、前記入力情報として受信する受信手段と、
前記受信された入力情報に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出することで、前記ＵＩの前記画面上の座標情報を生成する座標情報生成手段と
を具備することを特徴とする制御装置。
【請求項１２】
入力情報を出力する入力装置と、前記入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置とを備える制御システムであって、
前記入力装置は、
第１の方向の第１の加速度を検出する第１の加速度センサと、
前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、
前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、
前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサと、
前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出し、第１の速度値及び第２の速度値の情報を前記入力情報として出力する速度情報出力手段とを有し、
前記制御装置は、
前記入力情報を受信する受信手段と、
前記受信された入力情報に応じた、前記ＵＩの前記画面上の座標情報を生成する座標情報生成手段とを有する
ことを特徴とする制御システム。
【請求項１３】
入力情報を出力する入力装置と、前記入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置とを備える制御システムであって、
前記入力装置は、
第１の方向の第１の加速度を検出する第１の加速度センサと、
前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、
前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、
前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサと、
前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値の情報を前記入力情報として出力する出力手段とを有し、
前記制御装置は、
前記入力情報を受信する受信手段と、
前記受信された入力情報に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出することで、前記第１の速度値及び第２の速度値に応じた、前記ＵＩの前記画面上の座標情報を生成する座標情報生成手段とを有する
ことを特徴とする制御システム。
【請求項１４】
入力装置の動きに応じて画面上のＵＩを制御する制御方法であって、
前記入力装置の第１の方向の第１の加速度を検出し、
前記入力装置の、前記第１の方向とは異なる第２の方向の第２の加速度を検出し、
前記入力装置の、前記第１の方向に沿う第１の軸の周りの第１の角速度を検出し、
前記入力装置の、前記第２の方向に沿う第２の軸の周りの第２の角速度を検出し、
前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出し、
前記第１の速度値及び前記第２の速度値に応じた、前記ＵＩの前記画面上の座標情報を生成する
ことを特徴とする制御方法。
【請求項１５】
第１の方向の第１の加速度を検出する第１の加速度センサと、前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサとを有する入力装置のプログラムであって、
前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出し、
前記第１の速度値及び前記第２の速度値の情報を出力する
ことを前記入力装置に実行させるプログラム。
【請求項１６】
第１の方向の第１の加速度を検出する第１の加速度センサと、前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサとを有する入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置のプログラムであって、
前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値の情報を、前記入力情報として受信し、
前記受信された入力情報に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出することで、前記ＵＩの前記画面上の座標情報を生成する
ことを前記制御装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩ（Graphical User Interface）を操作するための空間操作型の入力装置、その操作情報に応じてＧＵＩを制御する制御装置、これらの装置を含む制御システム、制御方法及びそのプログラムに関する。
【背景技術】
【０００２】
ＰＣ（Personal Computer）で普及しているＧＵＩのコントローラとして、主にマウスやタッチパッド等のポインティングデバイスが用いられている。ＧＵＩは、従来のＰＣのＨＩ（Human Interface）にとどまらず、例えばテレビを画像媒体としてリビングルーム等で使用されるＡＶ機器やゲーム機のインターフェースとして使用され始めている。このようなＧＵＩのコントローラとして、ユーザが空間で操作することができるポインティングデバイスが多種提案されている（例えば、特許文献１、２参照）。
【０００３】
特許文献１には、２軸の角速度ジャイロスコープ、つまり２つの角速度センサを備えた入力装置が開示されている。この角速度センサは、振動型の角速度センサである。例えば共振周波数で圧電振動する振動体に回転角速度が加えられると、振動体の振動方向に直交する方向にコリオリ力が生じる。このコリオリ力は、角速度に比例するので、コリオリ力が検出されることで、回転角速度が検出される。特許文献１の入力装置は、角速度センサにより直交する２軸の回りの角速度を検出し、その角速度に応じて、表示手段により表示されるカーソル等の位置情報としてのコマンド信号を生成し、これを制御機器に送信する。
【０００４】
特許文献２には、３つ（３軸）の加速度センサ及び３つ（３軸）の角速度センサ（ジャイロ）を備えたペン型入力装置が開示されている。このペン型入力装置は、それぞれ３つの加速度センサ及び角速度センサにより得られる信号に基いて種々の演算を行い、ペン型入力装置の姿勢角を算出している。
【０００５】
加速度センサは、ユーザの入力装置の操作時の加速度だけでなく、重力加速度を検出する。入力装置に働く重力と、入力装置が動くときの入力装置の慣性力とは同じ物理量であるので、入力装置にはその区別が付かない。例えばユーザが入力装置を勢いよく水平に動かした時、その慣性力と重力との合成力が重力方向（下方向）であると誤認識される。上記特許文献２のペン型入力装置では、３軸の回転角速度、３軸方向の加速度が検出され、すなわち、６自由度すべての量が検出されるので、このような慣性力と重力の問題が解決される。
【０００６】
【特許文献１】特開２００１−５６７４３号公報（段落[００３０]、[００３１]、図３）
【特許文献２】特許第３７４８４８３号公報（段落[００３３]、[００４１]、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献２のペン型入力装置では、３つの加速度センサ及び３つの角速度センサが用いられるので、構成が複雑であり、また、計算量が多くなるので遅延時間が発生するおそれがある。そのため、ユーザの操作タイミングと画面上のＧＵＩの動作タイミングに時間的ずれが生じ、ユーザに違和感を与える。また、計算量が多くなると、消費電力も多くなる。例えば電池が内蔵されるタイプの入力装置にとっては消費電力の問題は重要である。
【０００８】
加速度センサを備える入力装置は、その加速度センサの出力信号を積分することで速度情報を得ている。したがって、原理的に積分誤差が発生するので、ＧＵＩがユーザの入力装置の操作とは異なる動作をしてしまうといった問題がある。
【０００９】
以上のような事情に鑑み、本発明の目的は、計算量を少なくすることができる入力装置、制御装置、制御システム、制御方法及びそのプログラムを提供することにある。
【００１０】
本発明の別の目的は、上記のように計算量を少なくすることができる上に、加速度センサの出力から速度値を算出するときの積分誤差、または重力の影響等の問題を解決することができる技術を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明に係る入力装置は、第１の方向の第１の加速度を検出する第１の加速度センサと、前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサと、前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出し、前記第１の速度値及び前記第２の速度値の情報を出力する速度情報出力手段とを具備する。
【００１２】
人間が自然に入力装置を操作する場合、腕の付け根の回転、肘の回転及び手首の回転のうち少なくとも１つによって操作する。したがって、加速度が発生すれば、その加速度を同じ方向の角加速度も必然的に発生すると考える。また、速度についても同様であり、速度が発生すれば、必然的にそれと同じ方向の角速度が発生する。すなわち、加速度と角加速度には相関関係があり、また、速度と角速度には相関関係がある。すなわち、本発明では、加速度センサ及び角速度センサのうちいずれか一方を他方の補助的なセンサとして用いることができる。その結果、本発明では、異なる２軸の加速度センサ及び異なる２軸の角速度センサである合計４つのセンサで足り、従来のように３軸の加速度センサ及び３軸の角速度センサが設けられる場合に比べ、センサの数を減らすことができる。また、上記相関関係により、計算量を減らすことができ、遅延を防止することができる。また、計算量が減ることにより消費電力を減らすことができる。
【００１３】
基本的な原理として、加速度値を積分することで速度値を得ることができる。しかし、本発明では、その速度値の算出において角速度値が用いられるので、速度情報出力手段により適切な演算処理が行われることにより、積分誤差、重力の影響等を少なくすることができる。具体的には、速度情報出力手段は、以下の各発明のような処理を行う。
【００１４】
本発明において、前記速度情報出力手段は、前記第１の加速度値と、重力加速度の前記第１の方向の成分値である第１の基準加速度値との差を第１の補正加速度値として算出し、前記第１の補正加速度値に基き前記第１の速度値を算出する。これにより、第１の加速度センサへの重力の影響を抑えることができる。
【００１５】
同様に、前記速度情報出力手段は、前記第２の加速度値と、重力加速度の前記第２の方向の成分値である第２の基準加速度値との差を第２の補正加速度値として算出し、前記第２の補正加速度値に基き前記第２の速度値を算出するようにしてもよい。
【００１６】
本発明において、入力装置は、前記第２の角速度値に応じて前記第１の速度値を補正する速度補正手段をさらに具備する。実際にユーザにより入力装置が用いられる場合を考えると、速度（第１の速度）は、その速度の方向と同じ方向の角速度（第２の角速度）に従属するものとみなすことができる。すなわち、ユーザが入力装置を操作する場合、ある一方向に角速度が発生すれば、その一方向に速度が発生しているとみなすことができる。このような考え方により、第２の角速度値に基き、第１の速度値を補正することができる。これにより、積分誤差を抑えることができる。
【００１７】
同様に、入力装置は、前記第１の角速度値に応じて前記第２の速度値を補正する手段をさらに具備してもよい。
【００１８】
本発明において、前記速度補正手段は、前記第２の角速度値の絶対値が閾値より小さい場合に、前記第１の速度値をゼロとする。この場合、前記速度補正手段は、前記第１の角速度値の絶対値が閾値より小さい場合に、前記第２の速度値をゼロとしてもよい。また、このように、第１の速度値の補正及び第２の速度値の補正が個別に行われることにより、例えば第１の軸及び第２の軸のうち一方の角速度値のみが所定の閾値より小さくなれば、その補正が行われることになる。したがって、速度補正手段は、実用的に十分短い時間間隔で第１または第２の速度値をゼロにリセットすることができる。これにより、積分誤差、第１（第２）の加速度センサへの重力の影響、温度ドリフトによるＤＣオフセットの影響を受けにくくなる。
【００１９】
本発明において、入力装置は、前記第２の角速度値に基き前記第２の軸の周りの第２の角加速度値を算出する角加速度算出手段と、前記第２の角加速度値に応じて前記第１の基準加速度値を更新するか否かを判定する判定手段とをさらに具備する。実際にユーザにより入力装置が用いられる場合を考えると、加速度（第１の加速度）は、その加速度の方向と同じ方向の角加速度（第２の角加速度）に従属するものとみなすことができる。したがって、第２の角加速度値に基き、第１の加速度値を校正することができ、つまり、この場合、第１の基準加速度値を更新することで第１の加速度値を校正することができる。これにより、重力の影響、ＤＣオフセットの影響を抑えることができる。
【００２０】
第１の角速度値についても、同様に第１の角加速度値が算出され、これに応じて第２の基準加速度値が更新されてもよい。
【００２１】
本発明において、入力装置は、前記第２の角加速度値の絶対値が閾値より小さい場合に、前記第１の基準加速度値を更新する更新手段をさらに具備する。
【００２２】
同様に、前記更新手段は、前記第１の角加速度値の絶対値が閾値より小さい場合に、前記第２の基準加速度値を更新するようにしてもよい。上記と同様に、第１の基準加速度値の更新及び第２の基準加速度値の更新が個別に行われることにより、更新手段はは、実用的に十分短い時間間隔で第１または第２の基準加速度値を補正することができる。これにより、入力装置は、重力の影響、ＤＣオフセットの影響を受けにくくなる。
【００２３】
本発明において、入力装置は、前記第２の角速度値に基き前記第２の軸の周りの第２の角加速度値を算出する角加速度算出手段をさらに具備し、前記速度情報出力手段は、前記第１の加速度値と前記第２の角加速度値の相関を表す相関特性を用いて、前記第１の速度値を算出する。実際にユーザが入力装置を操作する場合、第１の加速度の信号と第２の角加速度の信号は、類似したプロファイルになる。しかし、加速度信号に重力の影響が増えるほど、そのプロファイルは乖離していく。このような相関特性を利用して、速度情報出力手段が第１（または第２）の速度値を算出することで、入力装置は、重力の影響を受けない現実的な速度値を得ることができる。
【００２４】
同様に、入力装置は、第１の角速度値に基き第１の軸の周りの第１の角加速度を算出する角加速度算出手段をさらに具備し、第２の加速度値と第１の角加速度値の相関を表す相関特性を用いて、第２の速度値を算出するようにしてもよい。
【００２５】
あるいは、速度情報出力手段は、上記第１（第２）の補正加速度値と第２（第１）の角加速度値の相関を表す相関特性を用いて、前記第１（第２）の速度値を算出することも可能である。以下、同様である。
【００２６】
上記の発明では、第１の角速度値と第２の角加速度値の相関特性が用いられたが、これに限られず、第１（第２）の速度値と第２（第１）の角速度値の相関特性が用いられてもよい。以下、同様である。
【００２７】
本発明において、前記速度情報出力手段は、前記相関特性として、前記第１の加速度値及び前記第２の角加速度値を用いた相関係数または相関関数を、それぞれ重み係数または重み関数として前記第１の加速度値に乗じることで、前記第１の速度値を算出する。第２の加速度値及び第１の角加速度値についても同様としてもよい。
【００２８】
本発明において、前記速度情報出力手段は、前記相関特性として、前記第１の加速度と前記第２の角加速度との比率を用いて前記第１の速度値を算出する。これにより、計算量を抑えることができる。第２の加速度値及び第１の角加速度値についても同様としてもよい。例えば、速度情報出力手段は、[第１の加速度／第２の角加速度]の絶対値が閾値以上であるか否かを基準として、第１の速度値を更新するか否かすることができる。これによりさらに計算量を抑えることができる。あるいは、上記したように第１の基準加速度値を更新する形態の場合、速度情報出力手段は、[第１の加速度／第２の角加速度]の絶対値が閾値以上である場合に、前回の第１の速度値をそのまま用いて、これを今回の第１の速度値とするようにしてもよい。
【００２９】
本発明において、前記速度情報出力手段は、前記第１の加速度値及び前記第２の角加速度値のそれぞれの符号が一致しているか否かを判定し、前記符号が一致していない場合、前記第１の加速度値を用いない。すなわち、前回の第１の速度値を今回の第１の速度値としてもよい。例えば、入力装置に急激な姿勢変化が起こった場合、あるいは、入力装置が等速移動している時間が極端に短い場合、入力装置にかかる慣性力（加速度）の反対方向の加速度の出力が発生する可能性がある。この場合に、本発明のように、それぞれの符号が比較されることで、そのような問題を解決することができる。第２の加速度値及び第１の角加速度値についても同様としてもよい。
【００３０】
本発明に係る制御装置は、第１の方向の第１の加速度を検出する第１の加速度センサと、前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサとを有する入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置であって、前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値の情報を、前記入力情報として受信する受信手段と、前記受信された入力情報に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出することで、前記ＵＩの前記画面上の座標情報を生成する座標情報生成手段とを具備する。
【００３１】
本発明において、「第１の方向の〜する制御装置であって、」という前提部分は、本発明の内容を明確化するために記載されたものであり、本発明者等が当該前提部分を公知の技術として意図しているわけではない。以下、同様である。
【００３２】
本発明に係る制御システムは、入力情報を出力する入力装置と、前記入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置とを備える制御システムであって、前記入力装置は、第１の方向の第１の加速度を検出する第１の加速度センサと、前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサと、前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出し、第１の速度値及び第２の速度値の情報を前記入力情報として出力する速度情報出力手段とを有し、前記制御装置は、前記入力情報を受信する受信手段と、前記受信された入力情報に応じた、前記ＵＩの前記画面上の座標情報を生成する座標情報生成手段とを有する。
【００３３】
本発明の他の観点に係る制御システムは、入力情報を出力する入力装置と、前記入力装置から出力された入力情報に応じて、画面上に表示されるＵＩを制御する制御装置とを備える制御システムであって、前記入力装置は、第１の方向の第１の加速度を検出する第１の加速度センサと、前記第１の方向とは異なる第２の方向の第２の加速度を検出する第２の加速度センサと、前記第１の方向に沿う第１の軸の周りの第１の角速度を検出する第１の角速度センサと、前記第２の方向に沿う第２の軸の周りの第２の角速度を検出する第２の角速度センサと、前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値の情報を前記入力情報として出力する出力手段とを有し、前記制御装置は、前記入力情報を受信する受信手段と、前記受信された入力情報に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出することで、前記第１の速度値及び第２の速度値に応じた、前記ＵＩの前記画面上の座標情報を生成する座標情報生成手段とを有する。
【００３４】
本発明に係る制御方法は、画面上のＵＩを制御する制御方法であって、第１の方向の第１の加速度を検出し、前記第１の方向とは異なる第２の方向の第２の加速度を検出し、前記第１の方向に沿う第１の軸の周りの第１の角速度を検出し、前記第２の方向に沿う第２の軸の周りの第２の角速度を検出し、前記第１の加速度値、前記第２の加速度値、前記第１の角速度値及び前記第２の角速度値に基き、前記第１の方向の第１の速度値及び前記第２の方向の第２の速度値を算出し、前記第１の速度値及び前記第２の速度値に応じた、前記ＵＩの前記画面上の座標情報を生成する。
【発明の効果】
【００３５】
以上のように、本発明によれば、計算量を少なくすることができ、消費電力を抑えることができる。加速度センサの積分誤差、または重力の影響等を少なくすることができる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００３７】
図１は、本発明の一実施の形態に係る制御システムを示す図である。制御システム１００は、表示装置５、制御装置４０及び入力装置１を含む。
【００３８】
図２は、入力装置１を示す斜視図である。入力装置１は、ユーザが持つことができる程度の大きさとされている。入力装置１は、筐体１０、筐体１０の上部に設けられた例えば２つのボタン１１、１２、回転式のホイールボタン１３等の操作部を備えている。筐体１０の上部の中央よりに設けられたボタン１１は、例えばＰＣで用いられる入力デバイスとしてのマウスの左ボタンの機能を有し、ボタン１１に隣接するボタン１２は右ボタンの機能を有する。
【００３９】
例えば、ボタン１１を長押して入力装置１を移動させることにより「ドラッグアンドドロップ」、ボタン１１のダブルクリックによりファイルを開く操作、ホイールボタン１３により画面３のスクロール操作が行われるようにしてもよい。ボタン１１、１２、ホイールボタン１３の配置、発行されるコマンドの内容等は、適宜変更可能である。
【００４０】
図３は、入力装置１の内部の構成を模式的に示す図である。図４は、入力装置１の電気的な構成を示すブロック図である。
【００４１】
入力装置１は、センサユニット１７、制御ユニット３０、バッテリー１４を備えている。
【００４２】
図８は、センサユニット１７を示す斜視図である。センサユニット１７は、互いに異なる角度、例えば直交する２軸（Ｘ軸及びＹ軸）に沿った加速度を検出する加速度センサユニット１６を有する。すなわち、加速度センサユニット１６は、第１の加速度センサ１６１及び第２の加速度センサ１６２の２つセンサを含む。また、センサユニット１７は、その直交する２軸の周りの角加速度を検出する角速度センサユニット１５を有する。すなわち、角速度センサユニット１５は、第１の角速度センサ１５１及び第２の角速度センサ１５２の２つのセンサを含む。これらの加速度センサユニット１６及び角速度センサユニット１５はパッケージングされ、回路基板２５上に搭載されている。
【００４３】
第１、第２の角速度センサ１５１、１５２としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。第１、第２の加速度センサ１６１、１６２としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。
【００４４】
図２及び図３の説明では、便宜上、筐体１０の長手方向をＺ’方向とし、筐体１０の厚さ方向をＸ’方向とし、筐体１０の幅方向をＹ’方向とする。この場合、上記センサユニット１７は、回路基板２５の、加速度センサユニット１６及び角速度センサユニット１５を搭載する面がＸ’−Ｙ’平面に実質的に平行となるように、筐体１０に内蔵され、上記したように、両センサユニット１６、１５はＸ軸及びＹ軸の２軸に関する物理量を検出する。また、以降の説明では、入力装置１の動きに関し、Ｙ軸方向をピッチ方向、Ｘ軸方向をヨー方向といい、Ｚ軸方向の周りの回転をロール方向という場合もある。
【００４５】
制御ユニット３０は、メイン基板１８、メイン基板１８上にマウントされたＭＰＵ１９（Micro Processing Unit）（あるいはＣＰＵ）、水晶発振器２０、送信機２１、メイン基板１８上にプリントされたアンテナ２２を含む。
【００４６】
ＭＰＵ１９は、必要な揮発性及び不揮発性メモリを内蔵している。ＭＰＵ１９は、センサユニット１７による検出信号、操作部による操作信号等を入力し、これらの入力信号に応じた所定の制御信号を生成するため、各種の演算処理等を行う。
【００４７】
送信機２１は、ＭＰＵ１９で生成された制御信号（入力情報）をＲＦ無線信号として、アンテナ２２を介して制御装置４０に送信する。
【００４８】
水晶発振器２０は、クロックを生成し、これをＭＰＵ１９に供給する。バッテリー１４としては、乾電池または充電式電池等が用いられる。
【００４９】
制御装置４０はコンピュータであり、ＭＰＵ３５（あるいはＣＰＵ）、ＲＡＭ３６、ＲＯＭ３７、ビデオＲＡＭ４１、アンテナ３９及び受信機３８等を含む。
【００５０】
受信機３８は、入力装置１から送信された制御信号を、アンテナ３９を介して受信する。ＭＰＵ３５は、その制御信号を解析し、各種の演算処理を行う。これにより、表示装置５の画面３上に表示されたＵＩを制御する表示制御信号が生成される。ビデオＲＡＭ４１は、その表示制御信号に応じて生成される、表示装置５に表示される画面データを格納する。
【００５１】
制御装置４０は、入力装置１に専用の機器であってもよいが、ＰＣ等であってもよい。制御装置４０は、ＰＣに限られず、表示装置５と一体となったコンピュータであってもよいし、オーディオ／ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
【００５２】
表示装置５は、例えば液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイ等が挙げられるが、これらに限られない。あるいは、表示装置５は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよい。
【００５３】
図５は、表示装置５に表示される画面３の例を示す図である。画面３上には、アイコン４やポインタ２等のＵＩが表示されている。アイコンとは、コンピュータ上のプログラムの機能、実行コマンド、またはファイルの内容等が画面３上で画像化されたものである。なお、画面３上の水平方向をＸ軸方向とし、垂直方向をＹ軸方向とする。以降の説明の理解を容易にするため、特に明示がない限り、入力装置１で操作される対象となるＵＩがポインタ２（いわゆるカーソル）であるとして説明する。
【００５４】
図６は、ユーザが入力装置１を握った様子を示す図である。図６に示すように、入力装置１は、上記ボタン１１、１２、１３のほか、例えばテレビ等を操作するリモートコントローラに設けられるような各種の操作ボタンや電源スイッチ等の操作部を備えていてもよい。このようにユーザが入力装置１を握った状態で、入力装置１を空中で移動させ、あるいは操作部を操作することにより、その入力情報が制御装置４０に出力され、制御装置４０によりＵＩが制御される。
【００５５】
次に、入力装置１の動かし方及びこれによる画面３上のポインタ２の動きの典型的な例を説明する。図７はその説明図である。
【００５６】
図７（Ａ）、（Ｂ）に示すように、ユーザが入力装置１を握った状態で、入力装置１のボタン１１、１２が配置されている側を表示装置５側に向ける。ユーザは、親指を上にし子指を下にした状態、いわば握手する状態で入力装置１を握る。この状態で、センサユニット１７の回路基板２５（図８参照）は、表示装置５の画面３に対して平行に近くなり、センサユニット１７の検出軸である２軸が、画面３上の水平軸（Ｘ軸）及び垂直軸（Ｙ軸）に対応するようになる。以下、このような図７（Ａ）、（Ｂ）に示す入力装置１の姿勢を基本姿勢という。
【００５７】
図７（Ａ）に示すように、基本姿勢の状態で、ユーザが手首や腕を上下方向、つまりピッチ方向に振る。このとき、第２の加速度センサ１６２は、ピッチ方向の加速度（第２の加速度）を検出し、第１の角速度センサ１５１は、Ｘ軸の周りの角速度（第１の角速度）を検出する。これらの検出値に基き、制御装置４０は、ポインタ２がＹ軸方向に移動するようにそのポインタ２の表示を制御する。
【００５８】
一方、図７（Ｂ）に示すように、基本姿勢の状態で、ユーザが手首や腕を左右方向、つまりヨー方向に振る。このとき、第１の加速度センサ１６１は、ヨー方向の加速度（第１の加速度）を検出し、第２の角速度センサ１５２は、Ｙ軸の周りの角速度（第２の角速度）を検出する。これらの検出値に基き、制御装置４０は、ポインタ２がＸ軸方向に移動するようにそのポインタ２の表示を制御する。
【００５９】
後で詳述するが、一実施の形態では、入力装置１のＭＰＵ１９が、内部の不揮発性メモリに格納されたプログラムに従い、センサユニット１７で検出された各検出値に基きヨー及びピッチ方向の速度値を算出する。この場合、主として入力装置１のＭＰＵ１９が、速度情報出力手段として機能する。ここで、ポインタ２の移動の制御のためには、原則的に、加速度センサユニット１６が検出する２軸の加速度値の積分値（速度）のディメンジョンが用いられる。そして、この速度のディメンジョンの入力情報が制御装置４０に送られる。
【００６０】
他の実施の形態では、入力装置１は、センサユニット１７で検出された物理量が入力情報として制御装置４０に送られる。この場合、制御装置４０のＭＰＵ３５は、ＲＯＭ３７に格納されたプログラムに従い、受信した入力情報に基きヨー及びピッチ方向の速度値を算出し、この速度値に応じてポインタ２を移動させるように表示する（図１４参照）。
【００６１】
制御装置４０は、単位時間当りのヨー方向の変位を、画面３上のＸ軸上でのポインタ２の変位量に変換し、単位時間当りのピッチ方向の変位を、画面３上のＹ軸上でのポインタ２の変位量に変換することにより、ポインタ２を移動させる。典型的には、制御装置４０のＭＰＵ１９は、所定のクロック数ごとに供給されてくる速度値について、（ｎ−１）回目に供給された速度値に、ｎ回目に供給された速度値を加算する。これにより、当該ｎ回目に供給された速度値が、ポインタ２の変位量に相当し、ポインタ２の画面３上の座標情報が生成される。この場合、主として制御装置４０のＭＰＵ１９が、座標情報生成手段として機能する。
【００６２】
上記速度値を算出するときの、加速度値の積分についても、この変位量の算出方法と同様とすればよい。
【００６３】
次に、加速度センサユニット１６への重力の影響について説明する。図９及び図１０は、その説明のための図である。図９は、入力装置１をＺ方向で見た図であり、図１０は、入力装置１をＸ方向で見た図である。
【００６４】
図９（Ａ）では、入力装置１が基本姿勢とされ、静止しているとする。このとき、第１の加速度センサ１６１の出力は実質的に０であり、第２の加速度センサ１６２の出力は、重力加速度Ｇ分の出力とされている。しかし、例えば図９（Ｂ）に示すように、入力装置１がロール方向に傾いた状態では、第１、第２の加速度センサ１６１、１６２は、重力加速度Ｇのそれぞれの傾き成分の加速度値を検出する。
【００６５】
この場合、特に、入力装置１が実際にヨー方向には動いていないにも関わらず、第１の加速度センサ１６１はヨー方向の加速度を検出することになる。この図９（Ｂ）に示す状態は、図９（Ｃ）のように入力装置１が基本姿勢にあるときに、加速度センサユニット１６が破線の矢印で示すような慣性力Ix、Iyを受けた状態と等価であり、加速度センサユニット１６にとって区別が付かない。その結果、加速度センサユニット１６は、矢印Ｆで示すような左に斜め下方向の加速度が入力装置１に加わったと判断し、入力装置１の実際の動きとは違った検出信号を出力する。しかも、重力加速度Ｇは常に加速度センサユニット１６に作用するため、積分値は増大し、ポインタ２を斜め下方に変位させる量は加速度的に増大してしまう。図９（Ａ）から図９（Ｂ）に状態が移行した場合、本来、画面３上のポインタ２が動かないようにすることが、ユーザの直感に合った操作と言える。
【００６６】
例えば、図１０（Ａ）に示すような入力装置１の基本姿勢の状態から、図１０（Ｂ）に示すような、入力装置１がピッチ方向で回転して傾いたときも、上記と同様のことが言える。このような場合、入力装置１が基本姿勢にあるときの第２の加速度センサ１６２が検出する重力加速度Ｇが減少するので、図１０（Ｃ）に示すように、入力装置１は、上のピッチ方向の慣性力Iと区別が付かない。
【００６７】
以上のような加速度センサユニット１６への重力の影響を極力減らすために、本実施の形態に係る入力装置１は、角速度センサユニット１５で検出された角速度値を用いて、入力装置１の速度値を算出する。以下、この動作について説明する。図１１は、その動作を示すフローチャートである。
【００６８】
入力装置１に電源が投入される。例えば、ユーザが入力装置１または制御装置４０に設けられた電源スイッチ等を入れることにより、入力装置１に電源が投入される。電源が投入されると、加速度センサユニット１６から２軸の加速度信号（第１、第２の加速度値ax、ay）が出力され（ステップ１０１ａ）、これがＭＰＵ１９に供給される。この加速度信号は、電源が投入された時点での入力装置１の姿勢（以下、初期姿勢という）に対応する信号である。
【００６９】
初期姿勢は、上記基本姿勢になることも考えられる。しかし、Ｘ軸方向に重力加速度のすべての量が検出される姿勢、すなわち第１の加速度センサ１６１の出力が重力加速度分の加速度値を検出し、第２の加速度センサ１６２の出力が０である場合もある。もちろん初期姿勢は、図９（Ｂ）に示したように傾いた姿勢であることも考えられる。
【００７０】
入力装置１のＭＰＵ１９は、所定のクロック数ごとにこの加速度センサユニット１６からの加速度信号（ax、ay）を取得する。ＭＰＵ１９は、２回目以降の加速度信号（ax、ay）を取得すると、重力の影響を除去するために、次のような演算を行う。すなわちＭＰＵ１９は、下記の式（１）、（２）のように、今回の加速度値ax、ayから、前回のそれぞれＸ軸及びＹ軸方向で検出された重力加速度成分（１回目のax(=arefx)、ay(=arefy)）を差し引き、それぞれ第１の補正加速度値acorx、第２の補正加速度値acoryを生成する（ステップ１０２ａ）。
【００７１】
acorx =ax−arefx・・・（１）
acory =ay−arefy・・・（２）。
【００７２】
arefx、arefyを、以降、それぞれＸ軸及びＹ軸の基準加速度値（第１の基準加速度値、第２の基準加速度値）という。電源が投入されてから最初にステップ１０２ａの計算をするとき、arefx、arefyは電源投入直後に検出された加速度信号ax、ayとなる。
【００７３】
ＭＰＵ１９は、式（３）、（４）に示すように、第１、第２の補正加速度値acorx、acoryを加算していく、つまり積分演算により、それぞれ第１の速度値Vx、第２の速度値Vyを算出する（ステップ１１５）。
【００７４】
Vx(t) =Vx(t-1)＋acorx・・・（３）
Vy(t) =Vy(t-1)＋acory・・・（４）
Vx(t)、Vy(t)は今回の速度値を表し、Vx(t-1)、Vy(t-1)は前回の速度値を表している。
【００７５】
一方、上記したように、入力装置１に電源が投入されると、角速度センサユニット１５から２軸の角速度信号（第１及び第２の角速度値ωx、ωy）が出力され（ステップ１０１ｂ）、これがＭＰＵ１９に供給される。ＭＰＵ１９は、これを取得すると、微分演算により、それぞれの角加速度値（第１の角加速度値Δωx、第２の角加速度値Δωy）を算出する（ステップ１０２ｂ）。
【００７６】
ＭＰＵ１９は、上記Δωx、Δωyの絶対値|Δωy|、|Δωx|がそれぞれ閾値Th１より小さいか否かを判定する（ステップ１０３、ステップ１０６）。|Δωy|≧Th１の場合、ＭＰＵ１９は、第１の基準加速度値arefxをそのまま用い、これを更新しない（ステップ１０４）。同様に、|Δωx|≧Th１の場合、ＭＰＵ１９は、第２の基準加速度値arefyをそのまま用い、これを更新しない（ステップ１０７）。
【００７７】
閾値Th１は、０に近い値が設定される。閾値Th１は、ユーザが意識的に入力装置１を静止させているにも関わらず、ユーザの手ぶれやＤＣオフセットや等により検出されてしまう角速度値が考慮される。こうすることで、ユーザが意識的に入力装置１を静止させた場合に、当該手ぶれやＤＣオフセットによりポインタ２が動いて表示されてしまうことを防止できる。
【００７８】
以上のように処理するのは以下の理由による。
【００７９】
図１２は、入力装置１を操作するユーザを上から見た図である。ユーザが自然に入力装置１を操作する場合、腕の付け根の回転、肘の回転及び手首の回転のうち少なくとも１つによって操作する。したがって、加速度が発生すれば、角加速度も発生すると考える。すなわち、加速度は、その加速度の方向と同じ方向の角加速度に従属するものとみなすことができる。したがって、ＭＰＵ１９は、第２の角加速度値|Δωy|を監視することで、それと同じ方向である第１の基準加速度値arefxを更新するか否かを判定し、式（１）から結果的に第１の補正加速度値acorxを校正するか否かを判定することができる。第１の角加速度値|Δωx|についても同様である。
【００８０】
さらに詳しく説明すると、第２の角加速度値|Δωy|が閾値Th１以上であるときは、ＭＰＵ１９は、入力装置１がヨー方向に動いていると判定する。この場合、ＭＰＵ１９は、第１の基準加速度値arefxを更新せず、結果的に、第１の補正加速度値acorxを校正せず、そのacorxに基き、式（３）の積分演算を続ける。
【００８１】
また、第１の角加速度値|Δωx|が閾値Th１以上であるときは、ＭＰＵ１９は、入力装置１がピッチ方向に動いていると判定する。この場合、ＭＰＵ１９は、第２の基準加速度値arefyを更新せず、結果的に、第２の補正加速度値acoryを校正せず、そのacoryに基き、式（４）の積分演算を続ける。
【００８２】
一方、ステップ１０３において、第２の角加速度値|Δωy|が閾値Th１より小さいときは、ＭＰＵ１９は、入力装置１がヨー方向では静止していると判定する。この場合、ＭＰＵ１９は、第１の基準加速度値arefxを今回の（最新の）検出値axに更新することで、式（１）により、第１の補正加速度値acorxを校正する（ステップ１０５）。最新の検出値axとは、つまり、入力装置１がほぼ静止している状態での検出値であるので、これは重力加速度による成分値となる。
【００８３】
同様に、ステップ１０６において、第１の角加速度値|Δωx|が閾値Th１より小さいときは、ＭＰＵ１９は、入力装置１がピッチ方向では静止していると判定する。この場合、ＭＰＵ１９は、第２の基準加速度値arefyを今回の（最新の）検出値ayに更新することで、式（２）により、第２の補正加速度値acoryを校正する（ステップ１０８）。
【００８４】
なお、本実施の形態では、ヨー方向及びピッチ方向の両方向について閾値を同じ値Th１としたが、両方向で異なる閾値が用いられてもよい。
【００８５】
上記では、角加速度値Δωx、Δωyが監視されたが、さらにＭＰＵ１９は、角速度値ωx、ωyを監視することで、式（３）、（４）で算出された速度値を補正することも可能である。図１２の考え方により、速度が発生すれば、角速度も発生すると考え、速度は、その速度の方向と同じ方向の角速度に従属するものとみなすことができる。
【００８６】
詳しくは、第２の角速度値の絶対値|ωy|が閾値Th２以上であるときは（ステップ１０９のＮＯ）、ＭＰＵ１９は、入力装置１がヨー方向に動いていると判定する。この場合、ＭＰＵ１９は、第１の速度値Vxを補正しない（ステップ１１０）。第１の角速度値の絶対値|ωx|についても同様である（ステップ１１２のＮＯ、ステップ１１３）。
【００８７】
閾値Th２も、上記閾値Th１の設定とどうような趣旨で設定されればよい。
【００８８】
一方、第２の角速度値の絶対値|ωy|が閾値Th２より小さいときは（ステップ１０９のＹＥＳ）、ＭＰＵ１９は、入力装置１がヨー方向では静止していると判定する。この場合、ＭＰＵ１９は、第１の速度値Vxを補正し、例えばゼロにリセットされる（ステップ１１１）。第１の角速度値の絶対値|ωx|についても同様である（ステップ１１２のＹＥＳ、ステップ１１４）。
【００８９】
以上のようにＭＰＵ１９は、両方向の速度値Vx、Vyを出力し、送信機２１はこの速度値に関する入力情報を制御装置４０に出力する（ステップ１１６）。
【００９０】
制御装置４０のＭＰＵ１９は、入力情報である速度値Vx、Vyを入力する（ステップ１１７）。ＭＰＵ１９は、下記の式（５）、（６）に示す、速度値Vx、Vyに応じた、ポインタ２の座標値X、Yを生成し（ステップ１１８）、画面３上のポインタ２が移動するように表示を制御する（ステップ１１９）。
【００９１】
X(t) =X(t-1)＋Vx・・・（５）
Y(t) =Y(t-1)＋Vy・・・（６）。
【００９２】
以上のように、入力装置１がほぼ静止したときには基準加速度値arefx、arefyが更新され、補正加速度値acorx、acoryが校正されるので、加速度センサユニット１６への重力の影響を抑えることができる。また、基準加速度値arefx、arefyが更新されると、式（１）、（２）より加速度値acorx、acoryが補正されるため、ＤＣレベルも補正され、ＤＣオフセットの問題も解決される。さらに、入力装置１がほぼ静止したときには速度値もゼロリセットされるように補正されるので、積分誤差も抑えることができる。積分誤差が発生すると、ユーザが入力装置１の移動を停止させたにも関わらず、ポインタ２が画面３上で動く現象が起こる。
【００９３】
また、本実施の形態では、第１の基準加速度値arefx及び第２の基準加速度値arefyの更新が個別に行われることにより、例えばヨー及びピッチ方向のうち一方の角加速度値のみが閾値より小さくなれば、その校正が行われることになる。したがって、実用的に十分短い時間間隔で、第１の基準加速度値arefxまたは第２の基準加速度値arefyを更新することができる。第１の速度値Vx及び第２の速度値Vyの補正が個別に行われることについても同様のことが言える。図１３は、このことをわかりやすく説明するための図である。
【００９４】
図１３では、Ｘ軸及びＹ軸の平面で見た入力装置１の軌跡を示している。ヨー方向での角速度値ωyがほぼゼロ（閾値Th２より小さい）であれば、Vxがゼロリセットされる。ピッチ方向での角速度値ωxがほぼゼロ（閾値Th２より小さい）であれば、Vyがゼロリセットされる。
【００９５】
従来から、重力の影響を抑えるために、６つのセンサが設けられる入力装置１のほか、３軸の加速度センサにより重力ベクトルの単位時間当りの変化を検出することで、ロール及びピッチの角速度を認識し、これをＸＹの変位量とする装置もある。この装置は、Ｙ軸方向は問題ないが、ユーザがロール方向に手首をひねる、あるいはねじることのみで、Ｘ軸方向でポインタ２を移動させる、といったタイプであるので、ユーザの直感にそぐわない。
【００９６】
図１４は、上記した他の実施の形態を示すフローチャートである。このフローチャートでは、入力装置１がセンサユニット１７から出力された２軸の加速度信号及び２軸の角速度信号を入力情報として制御装置４０に出力する。制御装置４０のＭＰＵ３５は、ステップ２０４〜２１８において、図１１で示したステップ１０２ａ及び１０２ｂ〜１１５を実行する。詳細は、図１１と同様であるので説明を省略する。
【００９７】
後述する図１８〜２１における処理についても同様に、制御装置が速度値が算出されるまでの処理を行うようにしてもよい。
【００９８】
次に、本発明のさらに別の実施の形態について説明する。以降では、加速度及び角加速度の相関特性を利用することで入力装置のピッチ、ロール回転に伴う重力加速度の影響を抑制することができる実施の形態について説明する。
【００９９】
図１５（Ａ）は角速度信号、図１５（Ｂ）は角加速度信号、図１５（Ｃ）は加速度信号、図１５（Ｄ）は速度信号のシミュレーションをそれぞれ示すグラフであり、各グラフについて、横軸は時間である。図１５（Ａ）と図１５（Ｄ）を比較するとグラフは類似し相関がある。同様に、図１５（Ｂ）と図１５（Ｃ）を比較するとグラフは類似し、相関がある。以降の各実施の形態は、このような相関を利用しようというものである。
【０１００】
これら相関特性を利用する各実施の形態は、上記した図１１のステップ１０４〜１１６のフローが実行されることが前提で実行されてもよいし、そうでなく、そのフローが実行されずに実行されてもよい。以降の各実施の形態では、その後者の方で説明する。
【０１０１】
（相関特性を利用する第１の実施の形態）
相関特性を利用する一実施の形態として、補正加速度値（acorx、acory）（または加速度値（ax、ay）でもよい。）と、角加速度値（Δωx、Δωy）との相関係数R2を利用して、速度値を算出する形態を説明する。（acorx、acory）及び（ax、ay）は同じ物理量であるので、以下では、（acorx、acory）が用いられる形態について説明する。また、Ｘ軸とＹ軸では計算方法は同じであるので、以降では、Ｘ軸の補正加速度値acorxに関してのみ説明する。
【０１０２】
図１８は、相関係数R2を利用する入力装置の動作を示すフローチャートである。なお、図１１のフローと異なる点を中心に説明する。
【０１０３】
図１６（Ａ）（図１６（Ｃ）、図１６（Ｅ）、図１７（Ａ）、図１７（Ｃ））は、同じ線速度で、かつ異なる角速度で入力装置が動く場合のポインタの速度を示すシミュレーションのグラフである。横軸は時間である。パラメータは角速度である。図１６（Ａ）（図１６（Ｃ）、図１６（Ｅ）、図１７（Ａ）、図１７（Ｃ））において、太線ａは本来あるべき速度を示している。本来あるべき速度とは、速度と角速度との相関が最も高い理想的な速度の線を意味する。
【０１０４】
図１６（Ａ）に示すように、ユーザが同じ速度で入力装置を動かしても、速度と角速度の相関がくずれるほど、各信号は、本来あるべき線ａから乖離し、ユーザは直感とは異なる操作感を得る。図１６（Ａ）において、線ｂは、主に手首の回転によるものであり、本来の速度に対して角速度が大きく検出されている。線ｃは、主に腕の付け根の回転によるものであり、本来の速度に対して角速度が小さく検出されている。
【０１０５】
また、図１６（Ｂ）（図１６（Ｄ）、図１６（Ｆ）、図１７（Ｂ）、図１７（Ｄ））は、種々の重力成分の影響を受ける場合のポインタの速度を示すシミュレーションを表すグラフである。パラメータは加速度である。図１６（Ｂ）において、入力装置に重力の影響が増えるほどacorxとΔωyの相関は小さくなり、また、各信号は、本来あるべき線（太線）（本来あるべき速度）ｄから乖離していく。本来あるべき線とは、重力の影響がなく、加速度と角加速度との相関が最も高い理想的な線を意味する。
【０１０６】
第１の実施の形態では、例えば、下記の式（７）を用いてR2を求める（ステップ３０３）。
【０１０７】
R2=[Σ(Δωy i−ｍΔωy・Δωy)(acorxi−ｍacorx)]2 / [Σ(Δωy i−ｍΔωy・Δωy)2・Σ(acorxi−ｍacorx)2]・・・（７）
ｍΔωy、ｍacorxは、それぞれΔωy、acorxの平均値である。式（７）に代入されるΔωy、acorxは、現在を起点とした過去の数〜数十サンプルとする。
【０１０８】
次に、下記の式（８）、（９）に示すように、ＭＰＵは、重み係数（相関係数）R2、またはR2に応じた重み関数ｆ（R2）をacorxに乗じてVxを算出する（ステップ３０４）。
【０１０９】
Vx(t) =Vx(t-1)＋Q・R2・acorx・・・（８）
Q：定数
または
Vx(t) =Vx(t-1)＋ｆ（R2）・acorx・・・（９）
ｆ（R2）は基本的に単調増加する関数である。
【０１１０】
図１６（Ｃ）、（Ｄ）は、式（７）を利用した場合における、ポインタの速度をそれぞれ示すシミュレーションのグラフである。すべての線が理想に近くなっているのが分かる。
【０１１１】
あるいは、別の例として、R2が閾値より小さい場合に、ＭＰＵは、
１）積分計算を省略する、
２）そのときの加速度値axを基準加速度値arefxとする（つまり、arefx→ax）、という方法もある。
【０１１２】
なお、図１５（Ａ）〜（Ｄ）おいて、acorxとΔωyについてはR2=0.87、VxとωyについてはR2=0.99とした。
【０１１３】
この第１の実施の形態では、加速度値（補正加速度値）に注目して説明したが、図１５（Ａ）、（Ｄ）に示したように、角速度と速度との関係も同様に類似する。したがって、ＭＰＵは、角速度と速度に関する同様の相関係数を用いて速度値を算出してもよい。
【０１１４】
（相関特性を利用する第２の実施の形態）
図１９は、この実施の形態に係る入力装置の動作を示すフローチャートである。
【０１１５】
ＭＰＵは、上記したR2の計算量が重いと考えられる場合、相関特性としてacorxとΔωyの比を用いた重み関数を用いる。例えば、ＭＰＵは、|acorx/Δωy|を用いて、式（１０）の重み関数M(x)を算出する（ステップ４０３）。ＭＰＵは、この重み関数M(x)を用いて式（１１）で示した速度値を算出する（ステップ４０３）。
【０１１６】
M(x)＝(N−|acorx/Δωy|)/P・・・（１０）
N、P：定数
Vx(t) =Vx(t-1)＋M(x)・acorx・・・（１１）。
【０１１７】
図１６（Ｅ）、（Ｆ）は、式（１０）を利用した場合における、ポインタの速度を示すシミュレーションのグラフである。
【０１１８】
この第２の実施の形態では、加速度値（補正加速度値）に注目して説明したが、図１５（Ａ）、（Ｄ）に示したように、角速度と速度との関係も同様に類似する。したがって、ＭＰＵは、角速度と速度に関する比率|Vx/ωy|を用いて速度値を算出してもよい。
【０１１９】
（相関特性を利用する第３の実施の形態）
図２０は、この実施の形態に係る入力装置の動作を示すフローチャートである。
【０１２０】
加速度が小さい状態の時に、加速度センサユニットがピッチ、ロール変化により重力の影響を受けだすと、重力の影響を受けない慣性の測定値であるΔωyに対してacorxの比率が高くなる。そこで、ＭＰＵは、上記した|acorx/Δωy|が通常の腕の振りで発生しうるMAX値を超えて大きくなった時点で、測定されたacorxは誤差信号が過大とみなし、そのacorxについては式（１１）の計算を行わず、前回の値を今回の値とする。
【０１２１】
例えば、ＭＰＵは、|acorx/Δωy|<Th3（Th3は定数）の場合（ステップ５０３のＹＥＳ）、式（１１）において、M(x)＝１（ステップ５０４）、それ以外でM(x)＝０（ステップ５０５）として処理を実行することができる。
【０１２２】
図１７（Ａ）、（Ｂ）は、式（１１）利用した場合における、ポインタの速度を示すシミュレーションのグラフである。なお、図１７（Ａ）では、角速度が極端に小さい場合に、ポインタの速度が小さく表れ、速度値が補正されていない状態が表れている。このような場合、手振れ等のノイズと判断され、入力装置に設けられた別途の手ぶれ補正回路によりこのノイズがカットされるので問題ない。
【０１２３】
この第３の実施の形態では、加速度値（補正加速度値）に注目して説明したが、図１５（Ａ）、（Ｄ）に示したように、角速度と速度との関係も同様に類似する。したがって、ＭＰＵは、角速度と速度に関して、同様の趣旨で、|Vx/ωy|<Th4であるか否かの処理を用いて速度値を算出してもよい。
【０１２４】
（相関特性を利用する第４の実施の形態）
図２１は、この実施の形態に係る入力装置の動作を示すフローチャートである。
【０１２５】
上記相関特性を利用する第３の実施の形態において、|acorx/Δωy|<Th3の場合（ステップ６０３のＹＥＳ）、そのまま速度値を算出し（ステップ６０４）、それ以外で、そのときの加速度値axが基準加速度値arefxとされて（ステップ６０５）、速度値が算出される。
【０１２６】
図１７（Ｃ）、（Ｄ）は、図２１に示したフローでの処理における、ポインタの速度を示すシミュレーションのグラフである。
【０１２７】
この第４の実施の形態では、加速度値（補正加速度値）に注目して説明したが、図１５（Ａ）、（Ｄ）に示したように、角速度と速度との関係も同様に類似する。したがって、ＭＰＵは、角速度と速度に関して、同様の趣旨で、|Vx/ωy|<Th4である場合に、そのまま速度値を算出し、それ以外では前回の速度値を今回の速度値としてもよい。
【０１２８】
以上の相関特性を利用する第１〜４の実施の形態のように、加速度値と角加速度の相関特性が用いられることで、図１６（Ｂ）に示したような重力の影響を抑制することができる。特に、第２〜４の実施の形態では、計算量を少なくすることができ有用である。しかし、ハードウェアの性能が上がるほど、第１の実施の形態の活用度も増え、この場合最も誤差を少なくすることができる。
【０１２９】
また、速度値と角速度値の相関特性が用いられることで、ユーザが入力装置をＸ軸またはＹ軸の周りで回転させる角速度の大きさとポインタの移動速度との操作感の違いを吸収することができる。
【０１３０】
（相関特性を利用する第５の実施の形態）
入力装置に急激な姿勢変化が起こったり、入力装置の速度プロファイル中に等速の領域が少なかったりすると（図２３参照）、入力装置にかかる慣性力（加速度）と反対方向の加速度出力が発生することもあり、上記第１〜４の実施の形態でも、若干量が吸収しきれない場合がある。例えば、図１６（Ｆ）、図１７（Ｄ）、図２２（Ａ）に示すように、ポインタが減速していく段階で、速度がゼロになる直前では、速度が負になり、ポインタが逆方向に動く可能性もある。
【０１３１】
図２３で示すシミュレーションは、等速部分がほとんどない例、つまり入力装置の短距離移動の例を示している。速度プロファイルの変曲点（下に凸→上に凸）で加速度の符号が変わるが、重力の影響によって、本来あるべき線（太線）ａと線ｂでは、そのタイミングが違っている（線ｂでは、そのタイミングが遅くなっている）。その結果、Δωyとacorxの符号を比較しない例（線ｄ）はプロファイルに乱れが生じる。）
このような問題を解決するために、ＭＰＵは、Δωyとacorxの符号を比較し、符号が逆転していたら、そのacorxを用いず、前回の速度値を今回の速度値とする。これにより、図２２（Ｂ）に示すように、速度がゼロとなる直前から速度値をゼロとして、ユーザの直感に合致した操作感を得ることができる。図２３の例では、線ｃがΔωyとacorxの符号を比較した場合を表しており、破線ｃが本来あるべき線に近づいているのが分かる。
【０１３２】
この第５の実施の形態では、加速度値（補正加速度値）に注目して説明したが、図１５（Ａ）、（Ｄ）に示したように、角速度と速度との関係も同様に類似する。したがって、ＭＰＵは、角速度と速度に関して、同様の趣旨で、Vxとωyの符号を比較して、符号が一致する場合そのまま速度値を算出し、それ以外では、速度値をゼロにリセットしてもよい。
【０１３３】
次に、入力装置の他の実施の形態について説明する。
【０１３４】
図２４は、その入力装置５１を示す斜視図である。図２５は、その入力装置５１のホイールボタン１３側から見た側面図である。これ以降の説明では、図２等に示した実施の形態に係る入力装置５１が含む部材や機能等について同様のものは説明を簡略または省略し、異なる点を中心に説明する。
【０１３５】
入力装置５１の筐体５０は、その筐体５０の表面の所定の位置に設けられた球面の一部または二次曲面の一部５０ａを有する。以下、球面の一部または二次曲面の一部（５０ａ）を便宜的に「下部曲面」（５０ａ）という。
【０１３６】
下部曲面５０ａが配置される位置は、例えば、ボタン１１、１２とはほぼ反対側の位置であり、ユーザが入力装置５１を握ったときに、子指が他の指より最もその下部曲面５０ａの位置に近くなるような位置である。あるいは、ある一方向（Ｚ’軸方向とする。）の長い筐体５０において、筐体５０のそのＺ’軸方向の長さの中心からＺ’軸の正の側にセンサユニット１７が配置される場合、下部曲面５０ａはＺ’軸の負の側に配置された位置となる。
【０１３７】
球面の一部とは、典型的には、実質的に半球面が挙げられるが必ずしも半分である必要はない。二次曲面とは、２次元で描かれる円錐曲線（二次曲線）を３次元まで拡張されたときの曲面をいう。二次曲面として、例えば楕円面、楕円放物面、または双曲面等がある。
【０１３８】
このような入力装置５１の筐体５０の形状により、ユーザは、入力装置５１の下部曲面５０ａを、テーブル、椅子、床、ユーザの膝や太もも等の当接対象物４９に当てた状態で、下部曲面５０ａを支点として入力装置５１を操作しやすくなる。つまり、入力装置５１の下部曲面５０ａを当接対象物４９に当てた状態でも、ユーザは入力装置５１をあらゆる角度に傾けることを容易に行うことができるので、ポインタをアイコンに合わせる等の細かい操作を行うことができるようになる。図２６は、ユーザが入力装置５１の下部曲面５０ａを膝に当てて操作する様子を示す図である。
【０１３９】
あるいは、本実施形態では、手ぶれ補正回路では抑制できない手の震え等による誤操作を防止したり、ユーザが入力装置５１を空中で持ち上げ続けて操作する場合のユーザの疲労を予防することができる。
【０１４０】
図２７は、本発明のさらに別の実施の形態に係る入力装置を示す斜視図である。
【０１４１】
入力装置６１の筐体６０は、図２４、図２５で示した入力装置６１と同様に、球面の一部でなる下部曲面６０ａを有する。入力装置６１の筐体６０の最大長さの方向（Ｚ’軸方向）に垂直な平面であって、下部曲面６０ａに接する平面（以下、便宜的に下端平面５５という。）は、角速度センサユニット１５の検出軸であるＸ軸及びＹ軸（図８参照）が作る平面（Ｘ−Ｙ平面）と実質的に平行な平面となっている。
【０１４２】
このような入力装置６１の構成により、ユーザが下部曲面６０ａを下端平面５５に当てて操作する場合に、入力装置６１に加えられる角速度がそのまま角速度センサユニット１５に入力される。したがって、角速度センサユニット１５からの検出信号から検出値を得る過程での計算量を減らすことができる。
【０１４３】
図２８は、本発明のさらに別の実施の形態に係る入力装置を示す正面図である。図２９は、その入力装置を示す側面図である。
【０１４４】
入力装置７１の筐体７０の下部曲面７０ａは、例えば球面の一部とされている。この下部曲面７０ａは、図２４、図２７で示した入力装置５１、６１の下部曲面５０ａ、６０ａより曲率半径が大きく設定されている。角速度センサユニット１５は、その角速度センサユニット１５の検出軸であるＸ軸及びＹ軸で構成されるＸ−Ｙ平面に含まれる直線が、Ｘ軸方向及びＹ軸方向で見て、上記球面を通る仮想的に描かれた円５６の接線に相当するような位置に配置されている。このような条件を満たす限り、角速度センサユニット１５のＸ−Ｙ平面が、入力装置７１の長手方向に対して傾くように（図２８参照）、角速度センサユニット１５が筐体７０に対して配置されてもよい。
【０１４５】
これにより、ユーザが下部曲面７０ａを当接対象物４９に当てて入力装置７１を操作する場合に発生する角速度のベクトル方向と、角速度センサユニット１５の検出方向が一致するので、リニアな入力が可能となる。
【０１４６】
図３０は、本発明のさらに別の実施の形態に係る入力装置を示す正面図である。
【０１４７】
この入力装置８１の筐体８０の下部曲面８０ａである球面の曲率半径は、例えば図２７に示したものと同じ、または近く設定されている。角速度センサユニット１５は、該角速度センサユニット１５の中心点である２つのＸ軸及びＹ軸の交点を通りそのＸ軸及びＹ軸に直交する仮想的な直線が、下部曲面８０ａを含む第１の球６２の中心点Ｏを通る。このような構成により、下部曲面８０ａを含む第１の球６２と、角速度センサユニット１５のＸ−Ｙ平面に含まれる直線が接線となる第２の球６３が同心となる。したがって、入力装置８１は、図２８で示した入力装置７１の効果と同様の効果を奏する。
【０１４８】
なお、以上説明した球面の一部または二次曲面の一部を備える入力装置５１、６１、７１、または８１について、ユーザが必ずしも下部曲面５０ａ、６０ａ、７０ａ、または８０ａを当接対象物４９に当てて操作しなければならないわけではなく、空中で操作してももちろんかまわない。
【０１４９】
本発明に係る実施の形態は、以上説明した実施の形態に限定されず、他の種々の実施形態が考えられる。
【０１５０】
図１１では入力装置１が大部分の演算を実行し、図１４では制御装置４０が大部分の演算を実行した。しかし、入力装置１及び制御装置４０が、適宜分担して演算を実行するようにしてもよい。図１８〜図２１でも同様である。
【０１５１】
図１８（または、図１９、図２０、図２１）の処理と、図１１に示す処理の一部が合成された処理が実行されてもよい。例えば、図１８のステップ３０３が実行された上で、ステップ１０９〜１１４が実行される形態が考えられる。
【図面の簡単な説明】
【０１５２】
【図１】本発明の一実施の形態に係る制御システムを示す図である。
【図２】入力装置を示す斜視図である。
【図３】入力装置の内部の構成を模式的に示す図である。
【図４】入力装置の電気的な構成を示すブロック図である。
【図５】表示装置に表示される画面の例を示す図である。
【図６】ユーザが入力装置を握った様子を示す図である。
【図７】入力装置の動かし方及びこれによる画面上のポインタの動きの典型的な例を説明するための図である。
【図８】センサユニットを示す斜視図である。
【図９】加速度センサユニットへの重力の影響を説明するための図である。
【図１０】加速度センサユニットへの重力の影響を説明するため他の図である。
【図１１】角速度センサユニットで検出された角速度値に基き、入力装置の速度値が算出されるときの動作を示すフローチャートである。
【図１２】入力装置を操作するユーザを上から見た図である。
【図１３】Ｘ軸及びＹ軸の平面で見た入力装置の軌跡の例を示している。
【図１４】上記した他の実施の形態を示すフローチャートである。
【図１５】（Ａ）は角速度信号、（Ｂ）は角加速度信号、（Ｃ）は加速度信号、（Ｄ）は速度信号のシミュレーションをそれぞれ示すグラフである。
【図１６】異なる角速度ごと、あるいは異なる加速度ごとのポインタの速度を示すシミュレーションのグラフである。
【図１７】異なる角速度ごと、あるいは異なる加速度ごとのポインタの速度を示すシミュレーションの他のグラフである。
【図１８】相関特性を利用する第１の実施の形態に係る入力装置の動作を示すフローチャートである。
【図１９】相関特性を利用する第２の実施の形態に係る入力装置の動作を示すフローチャートである。
【図２０】相関特性を利用する第３の実施の形態に係る入力装置の動作を示すフローチャートである。
【図２１】相関特性を利用する第４の実施の形態に係る入力装置の動作を示すフローチャートである。
【図２２】（Ａ）は、ポインタが減速していく段階で、速度がゼロになる直前にポインタが負の方向になる場合の速度のシミュレーションである。（Ｂ）は、それが改善された例を示す速度のシミュレーションである。
【図２３】等速部分がほとんどない例、つまり入力装置の短距離移動の例を示す速度のシミュレーションである。
【図２４】本発明の他の実施の形態に係る入力装置を示す斜視図である。
【図２５】図２４に示す入力装置の回転式のボタン側から見た側面図である。
【図２６】ユーザが入力装置の下部曲面を膝に当てて操作する様子を示す図である。
【図２７】本発明のさらに別の実施の形態に係る入力装置を示す斜視図である。
【図２８】本発明のさらに別の実施の形態に係る入力装置を示す正面図である。
【図２９】図２８に示す入力装置を示す側面図である。
【図３０】本発明のさらに別の実施の形態に係る入力装置を示す正面図である。
【符号の説明】
【０１５３】
acorx…第１の補正加速度値
acory…第２の補正加速度値
Vx…第１の速度値
Vy…第２の速度値
Δωx…第１の角加速度値
Δωy…第２の角加速度値
Th１、Th2、T3…閾値
arefx…第１の基準加速度値
arefy…第２の基準加速度値
ax…第１の加速度値
ay…第２の加速度値
X、Y…座標値
１、５１、６１、７１、８１…入力装置
２…ポインタ（ＵＩ）
３…画面
１５…角速度センサユニット
１６…加速度センサユニット
１７…センサユニット
４０…制御装置
１００…制御システム
１５１…第１の角速度センサ
１５２…第２の角速度センサ
１６１…第１の加速度センサ
１６２…第２の加速度センサ
【図１】
2008305044.tif 000003
【図２】
2008305044.tif 000004
【図３】
2008305044.tif 000005
【図４】
2008305044.tif 000006
【図５】
2008305044.tif 000007
【図６】
2008305044.tif 000008
【図７】
2008305044.tif 000009
【図８】
2008305044.tif 000010
【図９】
2008305044.tif 000011
【図１０】
2008305044.tif 000012
【図１１】
2008305044.tif 000013
【図１４】
2008305044.tif 000014
【図１８】
2008305044.tif 000015
【図１９】
2008305044.tif 000016
【図２０】
2008305044.tif 000017
【図２１】
2008305044.tif 000018
【図２４】
2008305044.tif 000019
【図２５】
2008305044.tif 000020
【図２６】
2008305044.tif 000021
【図２７】
2008305044.tif 000022
【図２８】
2008305044.tif 000023
【図２９】
2008305044.tif 000024
【図３０】
2008305044.tif 000025
【図１２】
2008305044.tif 000026
【図１３】
2008305044.tif 000027
【図１５】
2008305044.tif 000028
【図１６】
2008305044.tif 000029
【図１７】
2008305044.tif 000030
【図２２】
2008305044.tif 000031
【図２３】
2008305044.tif 000032