例えば、主要なポインティングデバイスであるマウスにおいては、昨今、スクロールホイール(スクロールダイヤル)等が設けられている。これによって、カーソルポインタ等の移動のみならず、画面のスクロールを簡単に実行することができる。マウスにスクロール操作機能が追加されることによって、例えば、縦に長い文書を表示している場合に、その画面を上下に簡単にスクロールすることができ、したがって、ユーザの利便性が向上する。
これに対して、従来のモーションセンサを搭載する入力装置(3次元ポインティングデバイス等)によって画面をスクロールするときは、ユーザは、例えば、カーソルポインタを画面のスクロールバー上に位置させ、ドラッグ操作をする必要がある。したがって、ユーザには、非常に細かな操作が要求される。
また、入力装置に、スクールホイール等を有する操作部を設け、ダイヤルやスイッチの操作によって、画面のスクロールや画面のズーム(倍率調整)を行えるようにすることも考えられる。しかし、入力装置は、空間において、ユーザの手によって保持された状態で使用されるため、ダイヤルやスイッチを安定的に操作するのがむずかしい。
また、入力装置には、手で簡単に操作できるように、小型かつ軽量であることが求められる。したがって、入力装置の本体部(筐体)に設けることができるダイヤルやスイッチの数は、現実的には1個程度である。このことは、例えば、3次元入力装置の多機能化の妨げとなる。
本発明の少なくとも一つの実施形態によれば、画面のスクロール等を簡単に行うことができる入力装置を実現することができる。また、例えば、入力装置に、カーソルポインタを上下左右に移動させる機能と、画面をスクロール等する機能とを無理なく付与することが可能となる。したがって、例えば、マウスに近い操作性をもつポインティングデバイスや、指示棒やレーザーポインタに近い操作性をもち、かつ画面のスクロール等も簡単に行える、使い勝手がよく、かつ多機能なポインティングデバイスを実現することができる。
(1)本発明の入力装置の一態様は、長手方向軸を有する本体部と、前記本体部の長手方向軸についての回転を検出するモーションセンサ部と、を含む。
モーションセンサ部は、長手方向軸(長軸)を有する入力装置の本体部(筐体)の、長手方向軸(長軸)周りの回転を検出する。本体部(筐体)の「長手方向」は、一般的に「本体部(筐体)が延在する方向(直線的に長く伸びる方向)」であり、「長手方向軸」は例えば、「長手方向に一致する軸」である。
本体部(筐体)の回転は、例えば、ジャイロセンサによって回転角速度を検出することによって検出することができ、また、加速度センサによって、長手方向軸周りの本体部の傾きを検出することによっても検出することができる。モーションセンサ部から出力される物理量信号は、制御対象の移動制御、その他の制御に利用することができる。例えば、物理量信号に応じて、表示画面のスクロール方向とスクロール量を制御することができ、また、例えば、表示画面(あるいは表示画面中の特定の箇所)のズーム倍率を制御することもできる。
上述したように、入力装置は、空間において、ユーザの手によって保持された状態で使用されるために、ユーザが、ダイヤルやスイッチを安定的に操作するのがむずかしいが、ユーザが、本体部(筐体)を、長手方向軸を中心軸として時計回りあるいは反時計回りに回転させることは容易である。したがって、本態様によれば、ユーザは、入力装置を用いて、例えば、画面のスクロールやズーム等を簡単に行うことができ、入力装置の使い勝手が向上する。また、ダイヤルやスイッチ等を筐体に設ける必要がないため、入力装置のユーザインタフェースの簡素化を図ることができる。
なお、本明細書では、空間における本体部(筐体)の先端が指し示す方向(指示方向またはポイント方向)という表現も使用する。指示方向(ポイント方向)は、空間における本体部(筐体)の姿勢によって定まり、概念上は、長手方向軸(筐体の形状によって定まる軸)と区別される。但し、空間座標を基準とすれば、すなわち、空間における筐体の姿勢が決まれば、結果的に、「本体部(筐体)の長手方向」と「本体部(筐体)のポイント方向」は一致すると考えられる。よって、本明細書では、入力装置の本体部(筐体)の空間における姿勢に関係しないときは、原則として「長手方向、長手方向軸」等の用語を使用し、空間における姿勢に関係するときは、「指示方向あるいはポイント方向、X軸(ポイント方向に一致する3次元空間における軸)」等の用語を使用する。上述のとおり、「長手方向軸、ポイント方向軸、X軸」は、結果的に、一致するものとして取り扱うことができる。
(2)本発明の入力装置の他の態様では、前記モーションセンサ部は、前記本体部の長手方向軸に一致するX軸と、前記X軸に垂直な第1面内において互いに直交するY軸およびZ軸とによって定まる3次元の第1直交座標系における、前記X軸についての角速度を検出するX軸ジャイロセンサを有する。
本態様では、X軸,Y軸およびZ軸で定義される3次元直交座標系を定義する。入力装
置には、X軸周りの回転角速度を検出するX軸ジャイロセンサが設けられる。X軸ジャイロセンサから出力される角速度信号は、制御対象の移動制御、その他の制御に利用することができる。例えば、物理量信号に応じて、表示画面のスクロール方向とスクロール量を制御することができ、また、例えば、表示画面(あるいは表示画面中の特定の箇所)のズーム倍率を制御することもできる。
(3)本発明の入力装置の他の態様では、前記入力装置は、制御対象に関する制御量を決定するために使用され、前記入力装置は、前記モーションセンサ部からの物理量信号を、前記制御量を示す制御量信号に変換する物理量/制御量変換部を、さらに有する。
入力装置に設けられるモーションセンサ部によって検出された角速度信号等は、そのまま制御信号等として、例えばデータ処理装置に送信することができる。但し、この場合は、データ処理装置が、受信した角速度信号に基づいて、表示部における制御対象物の制御量(例えば、カーソルポインタの変位量、遠隔操作されるカメラの首振り量、画面のスクロール量、画面のズーム倍率等)を演算する必要があり、その分、データ処理装置の負担が増大する。
そこで、本態様では、入力装置に、物理量/制御量変換部を設け、入力装置側で、角速度信号等を、表示部における制御対象物の制御量に変換する。そして、得られた制御量の情報(制御量信号)を、データ処理装置等に送信する。これによって、受信側(データ処理装置等)の処理負担が軽減される。
(4)本発明の入力装置の他の態様では、前記モーションセンサ部は、前記Y軸についての角速度を検出するY軸ジャイロセンサと、前記Z軸についての角速度を検出するZ軸ジャイロセンサと、をさらに有し、かつ、前記X軸についての角速度信号に基づく第1信号処理を実行する第1信号処理部と、前記Y軸についての角速度信号および前記Z軸についての角速度信号に基づく第2信号処理を実行する第2信号処理部と、を有する。
X軸、Y軸およびZ軸によって定まる3次元の直交座標系における、本体部(筐体)の3次元の動きを検出するためには、入力装置は、Y軸およびZ軸周りの回転と、X軸周りの回転とを、各々独立に検出できなければならない。このためには、Y軸およびZ軸周りの回転を検出するための信号処理系と、X軸周りの回転を検出するための信号処理系とが必要である。そこで、本態様では、入力装置には、X軸についての角速度信号に基づく第1信号処理を実行する第1信号処理部と、Y軸およびZ軸についての角速度信号に基づく第2信号処理を実行する第2信号処理部と、が設けられる。
例えば、第1信号処理部および第2信号処理部の各々は、第1のハードウエアと第2のハードウエア(つまり、異なるハードウエア)によって実現することができる。また、例えば、共通のハードウエアをソフトウエアによって制御する場合(例えば、CPUを使用する場合)には、各信号処理部毎の信号処理ルーチンを用意することによって、第1信号処理部および第2信号処理部の各々を実現することができる。
(5)本発明の入力装置の他の態様では、前記第1信号処理および前記第2信号処理のいずれを優先すべきかを決定する優先処理決定部と、前記優先処理決定部による決定に基づいて、前記第1信号処理部から出力される第1処理信号および第2信号処理部から出力される第2処理信号のいずれか一方を選択的に出力する選択部と、を有する優先選択部を、さらに有する。
上記(4)の態様で述べたとおり、Y軸およびZ軸周りの回転と、X軸周りの回転とを、各々独立して検出する必要があり、上記(4)の態様では、第1の信号処理部と第2の
信号処理部が設けられる。但し、現実には、Y軸およびZ軸周りの回転と、X軸周りの回転が同時に生じる場合がある。つまり、ユーザが、入力装置の本体部(筐体)を手で支持した状態で、本体部(筐体)の先端部を左右上下に微小に振ったり(すなわち、Y軸ならびにZ軸について微小回転を生じさせたり)、あるいは、本体部(筐体)をX軸周りに回転させたりしたとき、Y軸およびZ軸周りの回転と、X軸周りの回転とが同時に生じる場合があり得る。ユーザが、入力装置の本体部を手に持って操作する以上、現実には、不要な若干の回転が、ユーザの意図に反して生じてしまうのは、やむを得ないことである。
例えば、ユーザが、画面のスクロールをするために、本体部(筐体)をX軸周りに回転させたとき、ユーザの意図に反した、Y軸周りあるいはZ軸周りの回転が生じて、これによって、表示画面上でカーソルポインタが不意に動くような事態が生じると、入力装置の操作精度や信頼性が低下することになる。
したがって、入力装置は、第1信号処理部と第2信号処理部が同時並行的に動作する事態が生じたとき、どちらの信号処理部の処理を優先すべきかを判定し、出力信号を選択することができることが、より望ましい。そこで、本態様では、入力装置に優先選択部を設ける。優先選択部は、優先処理決定部と、優先処理決定部による決定に基づいて、第1信号処理部から出力される第1処理信号および第2信号処理部から出力される第2処理信号のいずれか一方を選択的に出力する選択部と、を有する。これによって、ユーザの意図しない操作が確実に防止され、入力装置の操作精度や信頼性の低下が防止される。
(6)本発明の入力装置の他の態様では、前記モーションセンサ部は、前記Y軸についての加速度を検出するY軸加速度センサと、前記Z軸についての加速度を検出するZ軸加速度センサと、をさらに有し、かつ、前記第2信号処理部は、前記Y軸加速度センサにより検出されるY軸加速度と、前記Z軸加速度センサにより検出されるZ軸加速度と、に基づいて座標変換を行う座標変換処理部を有し、前記座標変換処理部は、前記Y軸ジャイロセンサによって検出されるY軸角速度および前記Z軸ジャイロセンサによって検出されるZ軸角速度の各々を、前記X軸に垂直な第1面における水平軸であるU軸と、前記第1面において前記U軸に垂直な軸であるV軸と、によって定まる2次元の第2直交座標系におけるU軸角速度およびV軸角速度の各々に変換する。
上記(4)の態様で述べたとおり、Y軸およびZ軸周りの回転と、X軸周りの回転とを、各々独立して検出する必要があり、上記(4)の態様では、第1の信号処理部と第2の信号処理部が設けられ、上記(5)の態様では、さらに優先選択部が設けられる。但し、Y軸およびZ軸周りの回転の検出と、X軸周りの回転の検出との独立性を確保するためには、X軸周りの本体部(筐体)の回転が、Y軸およびZ軸周りの回転の検出に影響を与えないようにすることが望ましい。
例えば、各軸に対応する角速度センサの各々は、入力装置の本体部に設けられる平面(例えば、筐体の内壁面)に固定されている。よって、入力装置の本体部(筐体)が、X軸について回転すれば、Y軸,Z軸も同様に回転し、Y軸ジャイロセンサやZ軸ジャイロセンサの空間における位置も変動する。X軸についての回転が生じた状態においてY軸角速度センサおよびZ軸角速度サンサの各々によって検出された角速度と、回転が生じない状態で検出された角速度との間には差(誤差)が存在する。
そこで、本態様では、回転補償処理を行い、検出信号を補正することによって、検出誤差を抑制する。本態様では、本体部の指示方向に一致するX軸に垂直な第1面におけるY軸およびZ軸により定まる2次元のYZ直交座標系を定義し、また、本体部の指示方向に一致するX軸に垂直な第1面における水平軸であるU軸と、第1面においてU軸に垂直な軸であるV軸と、によって定まる2次元の第2直交座標系(UV直交座標系)を定義する
。U軸は、第1面内における水平軸であり、また、V軸は、第1面内においてU軸に直交する垂直軸である。U軸およびV軸の各々は、本体部の指示方向(ポイント方向)が特定されることによって一義的に定まり、入力装置のX軸についての回転に影響されない。
そして、本態様では、座標変換処理部が、YZ直交座標系から第2直交座標系(UV交座標系)への座標変換(回転座標変換)を実行して、Y軸ジャイロセンサによって検出されるY軸角速度およびZ軸ジャイロセンサによって検出されるZ軸角速度の各々を、U軸角速度およびV軸角速度の各々に変換する。これによって、Y軸およびZ軸の各々について検出された角速度(X軸についての回転が生じた場合には回転に伴う誤差が含まれている)が、本体部のX軸についての回転が無い状態における正確な角速度に補正される。
座標軸変換(回転座標変換)を実行するためには、X軸に直交する第1面内における、X軸(Y軸)と、U軸(V軸)との間の回転角を検出する必要がある。そこで、本態様では、検出軸であるY軸についての物理量測定装置として、Y軸角速度センサの他に、Y軸加速度センサが設けられ、検出軸であるZについての物理量測定装置として、Z軸角速度センサの他に、Z軸加速度センサが設けられる。入力装置の本体部(筐体)が指示方向軸であるX軸について回転した場合、Y軸について検出される加速度およびZ軸について検出される加速度の各々は、回転角に応じて変動する。すなわち、Y軸加速度ならびにZ軸加速度は、第1面内における回転角をパラメータ(変数)に含む式で表現される。よって、Y軸加速度およびZ軸加速度を検出することができれば、回転角の情報を得ることができる。得られた回転角の情報に基づき、回転座標変換を実行することによって、Y軸角速度およびZ軸角速度を、U軸角速度ならびにV軸角速度に変換することができる。
よって、本態様によれば、X軸周りの本体部(筐体)の回転が、Y軸およびZ軸周りの回転の検出に影響を与えないようになる。したがって、本態様によれば、Y軸およびZ軸周りの回転の検出と、X軸周りの回転の検出との完全な独立性を確保することができる。
(7)本発明の入力装置の他の態様では、前記入力装置からの信号出力の許可/禁止を切り換えるための出力イネーブルスイッチを備える操作部を有する。
本態様では、入力装置に、入力装置からの信号出力の許可/禁止を切り換えるための操作部(例えば、押下式あるいはスライド式の出力イネーブルスイッチ)が設けられる。操作部の構成には種々のバリエーションが考えられる。例えば、入力装置が、カーソルポインタの移動制御機能(第1制御機能)および画面のスクロール機能(第2制御機能)を有する場合、各々の機能毎に出力イネーブルスイッチを設けることができ、また、各機能のイネーブル/ディスエーブルを共通に制御する共通の出力イネーブルスイッチを設けることもできる。出力イネーブルスイッチの操作は、本体部(筐体)の空間における姿勢とは無関係に行うことができるため、ユーザにとって、出力イネーブルスイッチの操作を行うことは容易である。
ユーザが、操作部を操作しているときのみ(例えば、出力イネーブルスイッチを押下しているときにのみ)、入力装置から信号が出力される。したがって、操作部の操作がなされない期間(例えば、出力イネーブルスイッチが押下されない期間)においては、本体部(筐体)を動かしても、例えば、制御対象(例えばカーソルポインタ)の位置変位等は生じない。よって、本態様によれば、制御対象の、ユーザが意図しない動きを確実に防止することができ、入力装置の使い勝手がさらに向上する。
(8)本発明の入力装置の他の態様では、前記第1信号処理部による前記第1処理を実行するか、前記第2信号処理部による前記第2信号処理を実行するかを強制的に切り換えるための切り換えスイッチを備える操作部を有する。
例えば、入力装置が、カーソルポインタの移動制御機能(第1制御機能)および画面のスクロール機能(第2制御機能)を有しているが、ユーザは、第1制御機能のみを利用したいと望む場合もあり得る。そこで、本態様では、入力装置がもつ複数の機能の中から、いずれか一つを選択できるように、機能(信号処理の種類)を切り換える切り換えスイッチを入力装置に設ける。これによって、ユーザは、入力装置がもつ複数の機能の中から、使用を望む一つの機能を選択して利用することができる。したがって、ユーザの利便性がさらに向上する。
(9)本発明の入力装置の他の態様では、前記第1信号処理部から出力される前記第1処理信号は、表示画面のスクロール量または表示画像のズーム倍率の制御量信号であり、前記第2信号処理部から出力される前記第2処理信号は、表示画面におけるカーソルポインタの変位に関する制御量信号である。
本態様によれば、ユーザは、入力装置の本体部(筐体)をX軸(長手方向軸)周りに回転させることによって、画面のスクロール操作やズーム操作を簡単に行うことができ、また、ユーザは、本体部(筐体)の先端部を、例えば、左右上下に微小に振ることによって、カーソルポインタを画面上で、例えば、左右上下に移動させることができる。したがって、例えば、マウスに近い操作性をもつポインティングデバイスや、指示棒やレーザーポインタに近い操作性をもち、かつ画面のスクロール等も簡単に行える、使い勝手がよく、かつ多機能なポインティングデバイスを実現することができる。
(10)本発明のデータ処理システムの一態様では、上記いずれかの入力装置と、前記入力装置の送信信号を受信し、受信信号に基づいて所与のデータ処理を実行するデータ処理装置と、を含む。
本発明の上述の態様の少なくとも一つを使用することによって、3次元入力装置の使い勝手が向上する。現在、コンピュータ上で3次元空間を扱うことが多くなり、これに伴って、3次元運動を入力できる3次元入力デバイスを用いた、利便性の高いシステムの必要性が高まっている。本態様によれば、操作性に優れ、多機能かつ小型の3次元入力装置を用いたデータ処理システムを実現することができる。
次に、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成のすべてが、本発明の解決手段として必須であるとは限らない。
(第1の実施形態)
(3次元入力装置の利用例)図1は、入力装置(3次元入力装置:ここでは、例えば、マウスやレーザーポインタの代わりに使用することができるポインティングデバイスとする)を利用したデータ処理システムの一例の構成を示す図である。
図1では、入力装置101と、データ処理装置200(無線アンテナAN2を有する)および表示装置300と、によってデータ処理システムが構成される。入力装置101とデータ処理装置200は、通信(ここでは無線通信とする。但し、これに限定されるものではなく有線通信や光通信等であってもよい)によって、信号(情報)の送受信を行うことができる。
入力装置101は長手方向軸(長軸)SX1を有し、また、モーションセンサ部(図1では不図示)を有している。モーションセンサ部は、例えば、ジャイロセンサや加速度センサ等を有し、長手方向軸(長軸)SX1周りの、入力装置101の本体部(筐体)100の回転を検出することができる。長手方向軸(長軸)SX1周りの回転によって生じる物理量(回転角速度や加速度等)は、表示画面のスクロール量の制御や、表示画面(あるいは、表示画面中の指定領域)のズーム倍率の変更の制御等に使用することができる。
図1の上側に点線で囲んで示される例では、表示装置300によって、例えばスクリーン上やディスプレイ上に、東京都区内の地図が表示されている。ユーザが入力装置101の本体部(筐体)100を手に持って、本体部(筐体)100を、長手方向軸SX1周りに、図中の矢印の方向にθ(SX1)だけ回転する(ここで、図中の矢印の方向を正方向とする)。
すると、例えば、表示画面PT1は、上側にスクロールされる。ユーザが、本体部(筐体)100を負方向に回転すると、表示画面PT1は、下側にスクロールされる。また、例えば、表示画面PT2中の指定領域Mのズーム倍率が増大し、画像が拡大される。ユーザが、本体部(筐体)100を負方向に回転すると、表示画面PT2中の指定領域Mについてのズーム倍率が小さくなり、画像が縮小される。
上述したように、入力装置101の本体部(筐体)100は、空間において、ユーザの手によって保持された状態で使用されるために、ユーザが、ダイヤルやスイッチを安定的
に操作するのがむずかしいが、ユーザが、本体部(筐体)100を、長手方向軸SX1を中心軸として時計回りあるいは反時計回りに回転させることは容易である。したがって、図1に示されるデータ処理システムでは、ユーザは、入力装置101を用いて、例えば、画面のスクロールやズーム等を簡単に行うことができ、入力装置101の使い勝手が格段に向上する。また、ダイヤルやスイッチ等を筐体に設ける必要がないため、入力装置のユーザインタフェースの簡素化を図ることができる。
図1の入力装置101は、例えば、円柱形状の外観を有する。入力装置101の本体部(筐体)100は長手方向軸(長軸)SX1と、短軸SX2(長手方向軸SX1に直交し、長手方向軸に比べて長さが短い軸)を有する。「長手方向」は、例えば、「本体部(筐体)100が直線的に延在する方向(直線的に長く伸びる方向)」である。
図1では、円柱形状の本体部(筐体)100の上面Aの中心点C1と、底面C2の中心点C2を結ぶ線分を想定し、この線分に一致する軸を長手方向軸SX1としている。上面Aや底面Bは、筐体の垂直断面とみることもでき、例えば、「筐体の垂直断面の中心点の法線に一致し、かつ長手方向に一致する軸」を長手方向軸SX1とすることができる。
長手方向軸SX1は、空間において設定されるX軸(ポイント方向軸)と一致する。ポイント方向(指示方向)は、「空間に位置する本体部(筐体)の先端が指し示す方向」である。「ポイント方向」は、空間における本体部(筐体)の姿勢によって定まり、概念上は、長手方向軸(筐体の形状によって定まる軸)と区別される。但し、空間座標を基準とすれば、結果的に、「本体部(筐体)の長手方向」と「本体部(筐体)のポイント方向」は一致すると考えられる。よって、本明細書では、入力装置の本体部(筐体)の空間における姿勢に関係しないときは、原則として「長手方向、長手方向軸」等の用語を使用し、空間における姿勢に関係するときは、「指示方向あるいはポイント方向、X軸(ポイント方向に一致する3次元空間における軸)」等の用語を使用する。上述のとおり、「長手方向軸、ポイント方向軸、X軸」は、結果的に、一致するものとして取り扱うことが可能である。
(X軸周りの回転を検出する入力装置の内部構成例)
図2は、X軸周りの回転を検出する入力装置の内部構成の一例を示す図である。図2の入力装置101は、モーションセンサ部111を有し、モーションセンサ部111は、本体部(筐体)100の長手方向軸SX1に一致するX軸と、X軸に垂直な面内において互いに直交するY軸およびZ軸とによって定まる3次元の直交座標系における、X軸についての周りの回転角速度を検出するX軸ジャイロセンサ110を有する。
入力装置101は、さらに、アンプ519と、A/D変換器528と、変換処理部(CPU等)534と、送信部(通信部)536と、アンテナAN1と、を有する。変換処理部(CPU等)101には、物理量/制御量変換部としての係数演算部534が設けられる。係数演算部534は、例えば、角速度信号に変換係数を乗算することによって、角速度信号を変位量信号に変換する。
図2においては、空間において、X軸,Y軸およびZ軸で定義される3次元直交座標系が定義され、入力装置101には、X軸周りの回転角速度を検出するためのX軸ジャイロセンサ110が設けられる。X軸ジャイロセンサ110から出力される角速度信号ωxは、制御対象(例えば、カーソルポイ)の移動制御、その他の制御(制御対象である画面のスクロール制御や、制御対象である画面や特定領域のズーム倍率変更制御)に利用することができる。すなわち、例えば、物理量信号に応じて、表示画面のスクロール方向とスクロール量を制御することができ、また、例えば、表示画面(あるいは表示画面中の特定の箇所)のズーム倍率を制御することもできる。
モーションセンサ部111(X軸ジャイロセンサ110)によって検出された角速度信号ωxは、そのまま制御信号等として、例えばデータ処理装置200(図1参照)に送信することができる。但し、この場合は、データ処理装置200が、受信した角速度信号に基づいて、表示装置300(図1参照)における制御対象物の制御量(例えば、カーソルポインタの変位量、遠隔操作されるカメラの首振り量、画面のスクロール量、画面のズーム倍率等)を演算する必要があり、その分、データ処理装置の負担が増大する。
そこで、図2では、入力装置101に、物理量/制御量変換部としての係数演算部534を設け、入力装置101側で、角速度信号ωxを、表示装置300における制御対象物の制御量に変換する。そして、得られた制御量の情報(制御量信号)が、データ処理装置200に送信される。これによって、受信側(データ処理装置200)における処理負担が軽減される。
(X軸,Y軸,Z軸周りの回転を検出する入力装置の利用例や内部構成等)図2の入力装置では、X軸周りの回転のみを検出している。入力装置が、X軸周りの回転のみならず、Y軸周りの回転ならびにZ軸周りの回転も検出することができれば、より多くの情報の入力が可能である。以下、X軸,Y軸,Z軸の各軸周りの回転を検出する入力装置について説明する。
図3は、X軸,Y軸およびZ軸の各軸周りの回転を検出する入力装置の利用例を説明するための図である。図3では、本体部(筐体)100の長手方向軸SX1に一致するX軸と、X軸に垂直な面内において互いに直交するY軸およびZ軸とによって定まる3次元の直交座標系が定義される。そして、入力装置101は、本体部(筐体)100の3軸の各々についての回転を検出する。
図3では、入力装置101は、レーザーポインタの代わりに使用される。スクリーン400上には、画面410が表示される。画面410は、上下にスクロールされることができる。また、カーソルポインタCPが画面410上を上下左右に移動する。図3では、カーソルポインタCPの上下左右の移動は、ユーザが、本体部(筐体)100の先端部を、Y軸方向あるいはZ軸方向に微小に変位させることによって制御される。また、画面410の上下のスクロールは、本体部(筐体)100のX軸周りの回転によって制御される。
図4(A)〜図4(C)は、本体部(筐体)100の先端部の、Y軸方向あるいはZ軸方向における微小変位の検出について説明するための図である。
図4(A)に示されるように、入力装置101の本体部(筐体)100の指示方向(ポイント方向)に一致するX軸と、X軸に垂直な第1面であるQ面内において互いに直交するY軸およびZ軸と、によって、3次元空間における第1直交座標系が定義される。X軸は第1検出軸であり、Y軸は第2検出軸であり、Z軸は第3検出軸である。
入力装置101の本体部(筐体)100の空間上における姿勢が特定されれば、第1直交座標系は一義的に定まる。第1直交座標系は、固定された座標系ではなく、図4(A)において点線で示されるように、入力装置101の本体部(筐体)がX軸についてθ(X)だけ回転されると、これに伴って、Y軸およびZ軸もθ(X)だけ回転する。なお、θ(X)は、X軸を回転軸とする回転の回転角であることを表す。
図4(B)に示されるように、入力装置101の本体部(筐体)100の上下(垂直方向)の微小な動きは、Y軸を回転軸とする回転(回転角θ(Y))として検出することができる。なお、図4(B)では、入力装置101の本体部(筐体)100は、便宜上、直
方体形状に描かれている。この直方体形状は、例えば、モーションセンサ(角速度センサ等)が取り付けられる筐体の内壁面を示していると見ることができる。したがって、Y軸角速度センサによってY軸についての回転角速度を検出し、角速度を時間で積分すれば、Y軸に関する回転角θ(Y)の情報を得ることができる。つまり、入力装置101の本体部(筐体)100の上下の動きを検出することができる。
また、図4(C)に示されるように、入力装置101の本体部(筐体)100の左右(水平方向)の微小な動きは、Z軸を回転軸とする回転(回転角θ(Z))として検出することができる。したがって、Z軸角速度センサによってZ軸についての回転角速度を検出し、角速度を時間で積分すれば、Z軸に関する回転角θ(Z)の情報を得ることができる。すなわち、入力装置101の本体部(筐体)100の左右の動きを検出することができる。
図5(A),図5(B)は、X軸,Y軸,Z軸周りの回転を検出する入力装置の内部構成の一例を示す図である。なお、図5(A)は、X軸周りの筐体の回転がない状態を示し、図5(B)は、X軸周りの筐体の回転(回転角θ2)が生じた状態を示す。
入力装置101は、X軸周りの回転角速度ωxを検出するX軸ジャイロセンサ110と、Y軸周りの回転角速度ωyを検出するY軸ジャイロセンサ102と、Z軸周りの回転角速度ωzを検出するZ軸ジャイロセンサ104と、Y軸方向の加速度を検出するY軸加速度センサ106と、Z軸方向の加速度を検出するZ軸加速度センサ108と、を有する。X軸ジャイロセンサ110、Y軸ジャイロセンサ102およびZ軸ジャイロセンサ104の各々は、各軸の矢印の方向(図5(A),図5(B)においては反時計回りの方向)の角速度に対して正の値を出力し、Y軸加速度センサ106およびZ軸加速度センサ108は、各軸の矢印の方向の加速度に対して正の値を出力するものとする。
なお、図5(B)においては、X軸に垂直な第1面であるQ面内において、水平軸であるU軸と、U軸に垂直なV軸(垂直軸)によって、2次元の第2の直交座標系が定義されている。この点は、回転補償のための座標変換処理に関係する。この点については、後述する。
(X軸周りの回転検出と、Y軸およびZ軸周りの回転検出との独立性の説明)X軸、Y軸およびZ軸によって定まる3次元の直交座標系における、入力装置101の本体部(筐体)100の3次元の動きを検出するためには、入力装置101は、Y軸およびZ軸周りの回転と、X軸周りの回転とを、各々独立に検出できなければならない。
このためには、信号処理部の構成として、例えば、図6(A)〜図6(C)に示すような構成を採用することが好ましい。
図6(A)〜図6(C)は、X軸周りの回転検出と、Y軸およびZ軸周りの回転検出との独立性を確保するための構成について説明するための図である。
図6(A)では、入力装置101には、X軸についての角速度信号ωxに基づく第1信号処理を実行する第1信号処理部531と、Y軸およびZ軸についての角速度信号ωy,ωz(ならびに加速度信号γy,γz)に基づく第2信号処理を実行する第2信号処理部533と、が設けられている。なお、第1信号処理部531は、第2処理信号SGaを出力し、また、第2信号処理部533は、第2処理信号SGbを出力する。
すなわち、第1信号処理と第2信号処理の独立性を確保するためには、Y軸およびZ軸周りの回転を検出するための信号処理系と、X軸周りの回転を検出するための信号処理系
とを設ける必要がある。
例えば、第1信号処理部531および第2信号処理部533の各々は、第1のハードウエアと第2のハードウエア(つまり、異なるハードウエア)によって実現することができる。また、例えば、共通のハードウエアをソフトウエアによって制御する場合(例えば、CPUを使用する場合)には、各信号処理部毎の信号処理ルーチンを用意することによって、第1信号処理部531および第2信号処理部533の各々を実現することができる。
図6(B)では、さらに優先選択部543が設けられる。優先選択部543には、第1信号処理および前記第2信号処理のいずれを優先すべきかを決定する優先処理決定部E1と、優先処理決定部E1による決定に基づいて、第1信号処理部531から出力される第1処理信号および第2信号処理部533から出力される第2処理信号のいずれか一方を選択的に出力する選択部E2と、が設けられる。
入力装置101が、ユーザの手によって空間中に保持されている以上、現実には、Y軸およびZ軸周りの回転と、X軸周りの回転が同時に生じる場合があり得る。つまり、ユーザが、入力装置の本体部(筐体)を手で支持した状態で、本体部(筐体)100の先端部を左右上下に微小に振ったり(すなわち、Y軸ならびにZ軸について微小回転を生じさせたり)、あるいは、本体部(筐体)100をX軸周りに回転させたりしたとき、Y軸およびZ軸周りの回転と、X軸周りの回転とが同時に生じる場合があり得る。ユーザが、入力装置の本体部を手に持って操作する以上、現実には、不要な若干の回転が、ユーザの意図に反して生じてしまうのは、やむを得ないことである。
例えば、ユーザが、画面のスクロールをするために、本体部(筐体)をX軸周りに回転させたとき、ユーザの意図に反した、Y軸周りあるいはZ軸周りの回転が生じて、これによって、表示画面上でカーソルポインタが不意に動くような事態が生じると、入力装置の101の操作精度や信頼性が低下することになる。
したがって、入力装置101は、第1信号処理部531と第2信号処理部533が同時並行的に動作する事態が生じたとき、どちらの信号処理部の処理を優先すべきかを判定し、出力信号を選択することができることが、より望ましい。
そこで、図6(B)では、入力装置101に優先選択部543が設けられる。優先選択部543は、優先処理決定部E1と、優先処理決定部による決定に基づいて、第1信号処理部から出力される第1処理信号および第2信号処理部から出力される第2処理信号のいずれか一方を選択的に出力する選択部E2と、を有する。これによって、ユーザの意図しない操作が確実に防止され、入力装置の操作精度や信頼性の低下が防止される。
図6(C)では、さらに、回転補償部(座標変換処理部)532が設けられる。Y軸およびZ軸周りの回転の検出と、X軸周りの回転の検出との独立性を確保するためには、X軸周りの本体部(筐体)100の回転が、Y軸およびZ軸周りの回転の検出に影響を与えないようにすることが望ましい。
例えば、各軸に対応する角速度センサ102,104,110の各々は、入力装置101の本体部(筐体)100に設けられる平面(例えば、筐体の内壁面)に固定されている。よって、入力装置101の本体部(筐体)100が、X軸について回転すれば、Y軸,Z軸も同様に回転し、Y軸ジャイロセンサやZ軸ジャイロセンサの空間における位置も変動する。X軸についての回転が生じた状態においてY軸角速度センサ102およびZ軸角速度サンサ104の各々によって検出された角速度と、回転が生じない状態で検出された角速度との間には差(誤差)が存在する。
そこで、図6(C)では、回転補償処理を行い、検出信号を補正することによって、検出誤差を抑制する。すなわち、先に図5(B)に示したように、本体部(筐体)100のポイント方向に一致するX軸に垂直な第1面内におけるY軸およびZ軸により定まる2次元のYZ直交座標系を定義し、また、本体部(筐体)100のポイント方向に一致するX軸に垂直な第1面内における水平軸であるU軸と、第1面においてU軸に垂直な軸であるV軸と、によって定まる2次元の第2直交座標系(UV直交座標系)を定義する。U軸は、第1面内における水平軸であり、また、V軸は、第1面内においてU軸に直交する垂直軸である。U軸およびV軸の各々は、本体部(筐体))の指示方向(ポイント方向)が特定されることによって一義的に定まり、入力装置101のX軸についての回転に影響されない。そして、YZ直交座標系から第2直交座標系(UV直交座標系)への座標変換(回転座標変換)によって、Y軸ジャイロセンサ102によって検出されるY軸角速度ωyおよびZ軸ジャイロセンサ104によって検出されるZ軸角速度ωzの各々を、U軸角速度ωuおよびV軸角速度ωvの各々に変換する。これによって、Y軸およびZ軸の各々について検出された角速度(X軸についての回転が生じた場合には回転に伴う誤差が含まれている)が、本体部(筐体)100のX軸についての回転が無い状態における正確な角速度に補正される。よって、図6(C)の構成によれば、X軸周りの本体部(筐体)の回転が、Y軸およびZ軸周りの回転の検出に影響を与えないようになる。したがって、図6(C)の構成によれば、Y軸およびZ軸周りの回転の検出と、X軸周りの回転の検出との完全な独立性を確保することができる。回転補償処理(回転座標変換)の詳細については、図9〜図13を参照して後述する。
(X軸,Y軸,Z軸の各軸についての回転を検出する3次元入力装置を使用したシステムの具体的な構成の例)図7は、X軸,Y軸,Z軸の各軸についての回転を検出する3次元入力装置を使用したデータ処理システムの具体的な構成の一例を示す図である。図7の入力装置では、図6(C)に示す構成が採用されている。
入力装置101(ここでは、3次元ポインティングデバイスとする)は、モーションセンサ部(3次元モーションセンサ部)502を有する。モーションセンサ部502は、X軸ジャイロセンサ110と、Y軸ジャイロセンサ102と、Z軸ジャイロセンサ104と、Y軸加速度センサ106と、Z軸加速度センサ108と、を有する。Y軸加速度センサ106およびZ軸加速度センサ108は、回転補償処理(回転座標変換)のために設けられている。
入力装置(ポインティングデバイス)101は、さらに、各センサ102〜110の出力信号を増幅する増幅器512〜518および519と、A/D変換器520〜526および528と、変換処理部(例えばCPU)530と、比較判定部540と、選択信号生成部541と、セレクタ535と、無線送信部536と、アンテナAN1と、を有する。
比較判定部540および選択信号生成部541は、図6(B)における優先処理決定部E1を構成する。また、セレクタ535は、図6(B)における選択部E2に相当する。
また、変換処理部530は、座標変換処理部532と、係数演算部(物理量/制御量変換部)534a,534bと、を有する。係数演算部(物理量/制御量変換部)534a,534bは、設けられないこともあり得る。この場合には、座標変換後の角速度信号(ωu(あるいはωy),ωv(あるいはωz),ωx,)が出力されることになる。
また、データ処理装置600は、アンテナAN2と、受信部610と、データ処理部(例えばCPU)620と、ROM630と、RAM640と、表示制御部650と、表示部660と、を有する。表示部660は、ディスプレイ662を有する場合がある。また
、表示部660が投射型の表示装置である場合には、例えばスクリーン400上に画像を表示する。
図7の入力装置101は、制御対象(例えばカーソルポインタCP)の変位方向および変位量を決定するための情報をデータ処理装置600に入力するために用いることができる。入力装置101に設けられる物理量/制御量変換部としての係数演算部534は、座標変換処理部532から出力される角速度信号に対して係数(変換係数)を乗算し、例えば、制御対象(カーソルポインタCP等)の変位量(広義には制御量)を特定するための変位量信号(広義には制御量信号)に変換する。すなわち、例えば、座標変換後の角速度信号ωu,ωvの各々が、変位量信号Mh,Mv(Mhは水平方向の変位量、Mvは垂直方向の変位量)の各々に変換される。また、座標変換後の角速度信号ωxが、画面のスクロール量を示す変位量Msに変換される。なお、座標変換処理の詳細は後述する。
入力装置101に設けられるモーションセンサ部502によって検出された各軸についての角速度信号は、そのまま制御信号等としてデータ処理装置に送信することができる。但し、この場合は、データ処理装置600が、受信した角速度信号に基づいて、表示部660における制御対象物(例えばカーソルポインタCP)の変位量を演算する必要があり、その分、データ処理装置600の負担が増大する。そこで、図7では、入力装置101に、物理量/制御量変換部としての係数演算部534を設け、入力装置101側で、角速度信号を、表示部660における制御対象物(例えばカーソルポインタCPや表示画面)の制御量(カーソルの移動量や画面のスクロール量)に変換している。そして、得られた変制御量の情報(制御量信号)Mh,Mv,Msの各々を、無線通信(これに限定されず、光通信や有線通信であってもよい)によってデータ処理装置600に送信する。これによって、データ処理装置600の処理負担が軽減される。
また、座標変換処理部532は、本体部(筐体)の先端の指示方向(ポイント方向)が真上や真下付近になる場合には、本体部の動きに応じた信号の出力を禁止し、あるいは、座標変換処理を中止して、座標変換処理前のY軸角速度信号ωyおよびZ軸角速度信号ωzの各々をそのまま出力する。
なお、図7における比較判定部540,選択信号生成部541およびセレクタ535からなる優先選択部(図6(C)における参照符号543)の動作については後述する。
また、データ処理装置600のデータ処理部620は、受信部610によって受信された信号に基づいて、所与のデータ処理を行い、例えば、画像表示用のデータやタイミング制御信号を生成する。表示制御部650は、表示部660における画像表示を制御する。
図7のデータ処理システムでは、入力装置に送信部536が設けられ、無線通信(光通信を含む)によって、入力装置101から、データ処理装置等に物理量信号を自在に送信することができる。よって、入力装置の使い勝手が向上する。なお、入力装置101が、有線通信によって信号を出力することもできる。
本実施形態によれば、操作性に優れた小型の3次元入力装置を用いたデータ処理システムを実現することができる。次に、図7における比較判定部540,選択信号生成部541およびセレクタ535からなる優先選択部(図6(C)における参照符号543)の処理手順について説明する。
(優先選択部の処理手順)図8は、優先選択部の処理手順を示すフロー図である。優先選択部(図6(C)における参照符号543)は、図7における比較判定部540,選択信号生成部541およびセレクタ535によって構成される。優先選択部543は、X軸周りの回転と、Y軸もしくはZ軸回りの回転とが同時並行的に生じた場合に、どちらがユーザの意図による回転であるかを判定し、いずれか一方の処理を優先的に選択する。
まず、図7における比較判定部540は、X軸,Y軸およびZ軸の各々についての角速度データωx,ωy,ωzを取り込む(ステップS150)。
次に、比較判定部540は、筐体の微小なブレ等によって生じるノイズの検出を防止するために、しきい値判定を実行する(ステップ151)。
すなわち、図8に示されるように、X軸回りの角速度ωxの絶対値が、X軸周りの回転に対するしきい値Cxよりも大きいか否かを判定し、大きい場合にのみ、ωxを処理対象の信号として採用し、採用した信号をJ(x)として保存し、小さい場合には、取得したωxを破棄する。
また、ωyの2乗とωzの2乗の和の平方根が、Y軸またはZ軸周りの回転に対するしきい値Cyzよりも大きいか否かを判定し、大きい場合にのみ、ωy,ωzを処理対象の信号として採用し、上述の平方根の信号をJ(yz)として保存し、小さい場合には、取得したωy,ωzを破棄する。
次に、比較判定部540は、修正係数の乗算処理を実行する(ステップS152)。すなわち、本体部(筐体)100のX軸周りの回転(ねじり)による通常の角速度は、例えば、数十度/秒程度であるのに対し、本体部(筐体)100の先端部をY軸やZ軸方向に微小に振ることによって生じるY軸やZ軸周りの通常の角速度は、例えば、数度/秒程度である。すなわち、本来、回転量のスケールが異なるため、J(x)とJ(yz)とを直接に比較すると、必ずJ(x)>J(yz)となり、適正な比較処理ができない。そこで、J(x)に所与の修正係数Kxを乗算してJ(x)の値を所定の割合で小さくし、また、J(yz)に所与の修正係数Kyzを乗算してJ(yz)の値を所定の割合で大きくする。
次に、比較判定部540は、KxJ(x)と、KyzJ(yz)とを比較する(ステップS153)。KxJ(x)>KyzJ(yz)ならば、図7の選択信号生成部541は、選択信号SELを第1レベルとし、これによって、セレクタ535は、X軸周りの角速度ωxまたは、これに対応する制御量(例えば画面のスクロール量Ms)を選択して出力する(ステップS154)。
また、KxJ(x)<KyzJ(yz)ならば、図7の選択信号生成部541は、選択信号SELを第2レベルとし、これによって、セレクタ535は、Y軸またはZ軸周りの角速度ωy,ωzまたは、これに対応する制御量(カーソルの水平変位量Mh,垂直変位量MV)を選択して出力する(ステップS155)。
これによって、X軸についての回転と、Y軸あるいはZ軸についての回転が同時に生じた場合でも、ユーザの意図しない操作が確実に防止され、入力装置101の操作精度や信頼性の低下が防止される。
(回転補償のための座標変換についての説明)以下、図7の座標変換処理部532による、回転補償のための座標変換処理について説明する。
図9(A)〜図9(C)は、入力装置のX軸に関する回転による、角速度の検出誤差について説明するための図である。図9(A)に示すように、入力装置101の本体部(筐
体)100の右先端が、右斜め上方を向いている(ポイントしている)状態を想定する。図9(B)は、入力装置101の本体部(筐体)100が、X軸に関して回転していない状態における、図9(A)のS−S’の断面を示している。図9(C)は、入力装置101の本体部(筐体)100が、X軸に関してθ2だけ回転した状態における、図9(A)のS−S’の断面を示している。
図9(B),図9(C)に示されるように、入力装置101の本体部(筐体)100の内壁面の断面は略正方形である。内壁面を構成する4つの面(あるいは内壁面の断面形状を構成する各辺)をP1〜P4とする。2個のジャイロセンサ(角速度センサ)102,104は各々、Y軸およびZ軸(すなわち検出軸)についての回転角速度を検出する。各ジャイロセンサ102,104は各々、入力装置101の本体部(筐体)100の内壁面P3およびP2に固定されている。よって、図9(C)に示すように、入力装置101の本体部(筐体)100が、検出軸(Y軸,Z軸)以外の軸(X軸)についてθ2だけ回転すれば、Y軸,Z軸も同様に回転し、結果的に、各ジャイロセンサ(角速度センサ)の位置が変動する。
したがって、入力装置101の本体部(筐体)100の先端部に同一の動き(ここでは、左右の動きQR,QLとする)が生じたとしても、X軸周りの回転が生じない状態(図9(B)の状態)において検出される角速度と、X軸周りの回転が生じた状態(図9(C)の状態)において検出される角速度には差が生じる。すなわち、検出軸(Y軸,Z軸)以外の軸(X軸)についての入力装置101の本体部(筐体)100の回転によって、検出誤差が生じる。
したがって、本実施形態では、検出された角速度(Y軸およびZ軸についての角速度)の補正(具体的には座標変換)を実行することによって、X軸周りの筐体の回転に影響されることなく、常に、正確な角速度を検出できるようにする。これによって、ユーザの、本体部(筐体)の持ち方の制約がなくなり、3次元入力装置の操作性が改善される。座標変換を実行するためには、X軸周りの回転角についての情報を得る必要があり、そのために、本実施形態の入力装置には、Y軸周りの加速度およびZ軸周りの加速度を検出する加速度センサが設けられる。
(座標変換処理)
入力装置101には、座標変換処理部532が設けられ、座標変換処理部532が、座標変換処理を実行する。以下、図10〜図13を用いて、座標変換処理について説明する。
図10は、座標変換(回転座標変換)の内容を説明するための図である。また、図11(A)〜図11(E)および図12は、座標変換に必要な情報等について説明するための図である。座標変換は、一般に平行移動と回転の組み合わせで実現される。本実施形態では、X軸についての回転のみを考慮すればよい。回転座標変換は、回転行列を用いた行列演算によって実現することができる。
ここで、Y軸加速度をγ
yとし、Z軸加速度をγ
zとし、Y軸角速度をω
yとし、Z軸加速度をω
zとしたとき、座標変換処理部532は、下記(1)式および(2)式の演算によって、Y軸角速度ω
yおよびZ軸角速度ω
zの各々を、U軸角速度ω
uおよびω
vの各々に変換する。以下、順をおって説明する。X軸に垂直なQ面(図4(A)参照)におけるY軸(Z軸)とU軸(V軸)とがなす角をθ2としたとき、Y軸角速度ω
yおよびZ軸角速度ω
zの各々をU軸角速度ω
uおよびω
vの各々に変換するためには、下記(3)式の行列演算を行えばよい。したがって、下記(4)式および(5)式が成立する。
図10に示される座標変換処理部532は、上記(4)式および(5)式に示される演算を実行する。但し、(4)式および(5)式の演算を実行するためには、sinθ2ならびにcosθ2を知る必要があり、このために、本実施形態では、Y軸加速度センサ106およびZ軸加速度センサ108が設けられている。
ここで、図11(A)〜図11(E)を参照して、重力加速度について説明する。図11(A)に示すように、重力加速度(鉛直上向き方向)をGとする。すなわち、無重量状態(例えば、物体が宇宙空間などに置かれた状態)では、加速度センサの出力はゼロである。同様に、自由落下している物体内も無重量状態であるため、加速度センサの出力はゼロである。一方、地球上の自由落下とはその物体が下向きに1G(上向きに−1G)で加速している状態である。また、(加速度センサ出力)=(物体の加速状態)−(下向きの1G)という関係が成立する。したがって、物体が静止している状態では、加速度センサの出力=0−(下向きの1G)=(上向きの1G)が成立する。また、鉛直軸(G軸)と第1面とがθ1をなしている場合、重力加速度(鉛直上向き)Gの、第1面内の垂直軸であるV軸(X軸についての回転がない状態におけるZ軸に一致する)についての成分をG1(=Gcosθ1)とする。
図11(B)に示されるように、本体部(筐体)100の内壁面P4にY軸加速度線センサ106が設けられ、本体部(筐体)100の内壁面P1にZ軸加速度線センサ108が設けられる。図11(B)は、本体部(筐体)100のX軸に関する回転が生じていない状態を示している。図11(C)は、図11(B)に対応する、ベクトルG1の各座標軸についての成分を示している。ここで、入力装置101の本体部(筐体)100がX軸についてθ2だけ回転した場合を想定する。
図11(D)は、本体部(筐体)100のX軸に関する回転(回転角θ2)が生じた状態を示している。図11(E)は、図11(D)に対応する、ベクトルG1の各座標軸についての成分を示している。図11(E)において、ベクトルG1は、Z軸成分とY軸成分(共に、図中、太い点線で示されている)に分解することができる。すなわち、重力加速度GのZ軸成分(すなわちZ軸加速度γ
z)はG1cosθ2であり、同様に、重力加速度(鉛直上向き)GのY軸成分(すなわちY軸加速度γ
y)はG1sinθ2である。明らかなように、Y軸加速度γ
y,Z軸加速度γ
zは、X軸周りの回転角θ2の情報を含んでいる。したがって、Z軸加速度γ
zおよびY軸加速度γ
yを検出することによって、上述の(4)式および(5)式の演算を実行することができる。すなわち、(4)式および(5)式は、下記の(6)式および(7)式のように変形することができる。また、G1は、下記(
8)式のように表すことができる。
(8)式を、(6)式および(7)式の分母に代入し、また、(6)式および(7)式において、γy=G1sinθ2,γz=G1cosθ2と置くことによって、上記の(1)式および(2)式を得ることができる。すなわち、座標変換処理部532が、(1)式および(2)式の演算を実行することによって、Y軸角速度ωyおよびZ軸角速度ωzの各々を、U軸角速度ωuおよびωvの各々に変換することができる。
図12は、ωy,ωz,ωu,ωv,γy,γzの相互関係を示す図である。上述のとおり、Y軸角速度ωy,Z軸角速度ωzの各々は、Y軸ジャイロセンサ102およびZ軸ジャイロセンサ104によって検出される。また、Y軸加速度γy,Z軸加速度γzの各々は、Y軸加速度センサ106およびZ軸加速度センサ108によって検出される。U軸角速度ωuおよびV軸角速度ωvは、上記の座標変換によって求められる。
(ポイント方向が鉛直上向き近傍、あるいは鉛直下向き方向近傍である場合の対策)入力装置101の本体部(筐体)100が鉛直上向きあるいは鉛直下向き付近である場合、鉛直軸(G軸)とQ面(図4(A)参照)とがなす角θ1は略90°となる。したがって、重力加速度(鉛直上向き)Gの、X軸に垂直なQ面内における垂直軸であるV軸の成分G1(=Gcosθ1)は、cos90=0であることから、略0になる。よって、Y軸加速度(γy=G1sinθ2)ならびにZ軸加速度(γz=G1cosθ2)も、略0となる。よって、上記の(1)式および(2)式における分母が略0となり、座標変換のための演算が不能となる。
現実的には、本体部(筐体)の指示方向(ポイント方向)は画面やスクリーンを向いており、かなり水平に近い状態なので問題はないと考えられるが、稀なケースとして、入力装置101の本体部(筐体)100の指示方向が鉛直上向き近傍、あるいは鉛直下向き近傍になる場合も想定され得る以上、何らかの対策を施すことが望ましい。
そこで、例えば、本体部(筐体)100の先端の指示方向(ポイント方向)が真上や真下付近になる場合には、入力装置101からの信号出力をゼロに抑制する(すなわち、本体部の動きに応じた信号の出力を禁止する)方法を採用する。これによって、データ処理装置(入力装置101からの信号を受ける側)における処理負担(対策処理に伴う負担)が軽減される。
また、例えば、本体部(筐体)100の指示方向が鉛直上向き近傍、あるいは鉛直下向き近傍であるときは、座標変換処理部532による座標変換処理を中止して、座標変換処理前のY軸角速度信号およびZ軸角速度信号の各々をそのまま出力するようにしてもよい。この場合、データ処理装置(入力装置101からの信号を受ける側)は、受信したY軸角速度信号およびZ軸角速度信号に基づいて、例えば、表示部における制御対象(例えば、カーソルポインタ)の位置を制御することができるという利点がある。
なお、本体部(筐体)100の先端の指示方向(ポイント方向)が真上や真下付近にな
っていることは、例えば、上記の(1)式,(2)式における分母を所定の閾値と比較することによって、検出することができる。すなわち、分母が閾値よりも小さいときに、ポイント方向が真上付近あるいは真下付近になっていると判定することができる。
図13は、回転補償のための座標変換処理の処理順例を示すフロー図である。入力装置101に設けられる座標変換処理部532は、加速度データγy,γzを取り込み(ステップS700)、また、角速度データωy,ωzを取り込む(ステップS701)。
次に、γyωy−γyωzをSuとおき(ステップS702)、γyωy+γzωzをSvとおき(ステップS703)、上記(1)式および(2)式の分母をkとおき(ステップS704)、kSuをωu,kSvをωvとおく(ステップS705)。これによって、U軸に関する回転角速度ωuと、V軸に関する回転角速度ωvが得られる。
次に、物理量/変位量変換部(係数演算部)534は、ωvに係数βyvを乗算して、横変位量MHを算出し(ステップS706)、ωuに係数βzuを乗算して、縦変位量MVを算出し(ステップS707)、整数化処理によってMh,Mvを算出する(ステップS708)。
また、入力装置101の本体部(筐体)100のポイント方向が真上付近あるいは真下付近である場合には、横変位量および縦変位量が共に0となる。よって、Mh=0かつMv=0である場合には、入力装置101から信号を出力することなく処理を終了し(ステップS709)、ステップS709でNoと判定されたときのみ、水平変位量Mhおよび縦変位量Mvを、データ処理装置600に向けて送信する(ステップS710)。
(第2の実施形態)
図14〜図16の各々は、X軸周りの回転,Y軸周りの回転,Z軸周りの回転を検出する入力装置の他の例(イネーブルスイッチ等を設ける例)の外観構成の例を示す図である。
図14では、入力装置101の本体部(筐体)100に、信号出力の許可/禁止を切り換えるための出力イネーブルスイッチSW1(例えば押下式あるいはスライド式のスイッチ)を有する操作部700が設けられる。
ここでは、例えば、入力装置101が、カーソルポインタの移動制御機能(第1制御入力機能)および画面のスクロール機能(第2制御入力機能)を有する場合を想定する。図14に示される出力イネーブルスイッチSW1は、各機能のイネーブル/ディスイネーブルを共通に制御する共通の出力イネーブルスイッチである。出力イネーブルスイッチSW1の操作は、本体部(筐体)100の空間における姿勢とは無関係に行うことができるため、ユーザにとって、出力イネーブルスイッチSW1の操作を行うことは容易である。
出力イネーブルスイッチSW1を設けることによって、ユーザが、操作部700を操作しているときのみ(例えば、出力イネーブルスイッチSW1を押下しているときにのみ)、入力装置101から信号が出力される。したがって、操作部700の操作がなされない期間(例えば、出力イネーブルスイッチSW1が押下されない期間)においては、本体部(筐体)100を動かしても、例えば、制御対象(例えばカーソルポインタ)の位置変位等は生じない。よって、図14の入力装置101によれば、制御対象の、ユーザが意図しない動きを確実に防止することができ、入力装置の使い勝手がさらに向上する。
操作部700の構成には種々のバリエーションが考えられる。図15では、入力装置101が有する上記の2つの機能の各々に対応した出力イネーブルスイッチSW2,SW3を設けている。この場合、ユーザは、カーソル移動制御機能、画面のスクロール制御機能
のいずれかを選択的にオンさせることができ、ユーザの利便性が向上する。
また、図16では、操作部700において、切り換えスイッチSW4が設けられる。例えば、入力装置が、カーソルポインタの移動制御機能(第1制御機能)および画面のスクロール機能(第2制御機能)を有しているが、ユーザは、第1制御機能のみを利用したいと望む場合もあり得る。そこで、図16は、入力装置101がもつ複数の機能の中から、いずれか一つを選択できるように、機能(信号処理の種類)を切り換える切り換えスイッチ(スクロール/カーソル移動切り換えスイッチ)SW4を、本体部(筐体)100の操作部700に設けている。これによって、ユーザは、入力装置101がもつ複数の機能の中から、使用を望む一つの機能を選択して利用することができる。したがって、ユーザの利便性がさらに向上する。
図17は、X軸周りの回転,Y軸周りの回転,Z軸周りの回転を検出する入力装置の他の例(イネーブルスイッチ等を設ける例)の内部構成を示す図である。
図17の入力装置101は、図7の構成に、さらに、操作部700(図14〜図16に示されるスイッチSW1〜SW4のうちの少なくも一つを有する)と、入力インタフェース702が追加されている。操作部700は、例えば、入力装置101からの信号出力モードを切り換えるためのモード切り換えスイッチとして機能する。
また、例えば、マウスと同等の機能を実現するために、図17の構成に加えて、さらに、マウスの左/右クリックボタンと同じ機能を持つボタン等を追加することもできる。この場合、入力装置101の使い勝手がさらに向上する。
以上説明したように、本発明の少なくとも一つの実施形態によれば、画面のスクロール等を簡単に行うことができる入力装置を実現することができる。また、例えば、入力装置に、カーソルポインタを上下左右に移動させる機能と、画面をスクロール等する機能とを無理なく付与することが可能となる。したがって、例えば、多機能なマウスに近い操作性をもつポインティングデバイスや、指示棒やレーザーポインタに近い操作性をもち、かつ画面のスクロール等も簡単に行える、使い勝手がよく、かつ多機能なポインティングデバイスを実現することができる。
本実施形態の入力装置は、従来、マウスや、支持棒、あるいはレーザーポインタ等が使われてきたプレゼンテーション等の場面で特に有用であるが、それにとどまるものではない。例えば、コンピュータ等の入力装置、すなわちユーザーインターフェースとして使われる場合、そこで動作するあらゆるアプリケーションの入力のために利用することができる。また、本実施形態の入力装置は、遠隔操作によるカメラの首振りシステムや、ロボット制御システム等、多様なシステムに応用することができる。また、本実施形態の入力装置は、マウスのスクロールホイール等による情報入力が可能なアプリケーションプログラムを搭載する装置やシステム全般に適用することができる。従来、本体部(筐体)をポイント方向周りに回転する(ひねる,ねじる)という動作は、まったく活用されていなかった。本実施形態の入力装置は、まったく新しいユーザインタフェースを備える多機能な入力装置であり、さらなる応用が期待される。
なお、本発明の実施形態について詳述したが、本発明の新規事項および効果から逸脱しない範囲で、多くの変形が可能であることは、当業者には容易に理解できるであろう。したがって、このような変形例は、すべて本発明に含まれるものとする。また、入力装置という用語は、最も広義に解釈するものとし、空間的変位に対応する信号を入力できる入力装置を広く含むものとする。また、3次元モーションセンサの構成は、前掲の実施形態に限定されるものでではなく、その他の構成(例えば、ジャイロセンサと加速度センサに加
えて、さらに磁気センサを有する構成等)も採用することができる。また、空間的変位には、入力装置の姿勢、回転が含まれ、また、並進も含まれる。なお、入力装置の並進(水平移動や垂直移動等)は、加速度センサの出力の変動を時間で積分することによって算出することができる。