JP2010157157A - 入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法 - Google Patents

入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法 Download PDF

Info

Publication number
JP2010157157A
JP2010157157A JP2008335808A JP2008335808A JP2010157157A JP 2010157157 A JP2010157157 A JP 2010157157A JP 2008335808 A JP2008335808 A JP 2008335808A JP 2008335808 A JP2008335808 A JP 2008335808A JP 2010157157 A JP2010157157 A JP 2010157157A
Authority
JP
Japan
Prior art keywords
input device
value
acceleration
rotation angle
angular velocity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008335808A
Other languages
English (en)
Inventor
Kazuyuki Yamamoto
一幸 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2008335808A priority Critical patent/JP2010157157A/ja
Publication of JP2010157157A publication Critical patent/JP2010157157A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Position Input By Displaying (AREA)

Abstract

【課題】高精度のセンサ及び6軸センサを必要とすることなく、入力装置の回転角度を精度良く算出することができる入力装置、制御装置、ハンドヘルド装置、これらの装置を含む制御システム及び制御方法を提供すること。
【解決手段】角速度センサユニットで得られる角速度値の積分演算により、入力装置の回転角度であるロール角が算出される。例えば、入力装置1が略等速状態にあるときに、加速度センサの出力値を用いて、算出されたロール角が校正される。これにより、入力装置1が静止状態である場合に限られず、等速度で動いているときも、入力装置1はロール角を校正可能である。
【選択図】図10

Description

本発明は、画面上の画像を操作するための空間操作型の入力装置、その操作情報に応じて画像を制御する制御装置、ハンドヘルド装置、これらの装置を含む制御システム、制御方法に関する。
PC(Personal Computer)で普及しているGUI(Graphical User Interface)のコントローラとして、主にマウスやタッチパッド等のポインティングデバイスが用いられている。GUIは、従来のPCのHI(Human Interface)にとどまらず、例えばTVを画像媒体としてリビングルーム等で使用されるAV機器やゲーム機のインターフェースとして使用され始めている。このようなGUIのコントローラとして、ユーザが空間で操作することができるポインティングデバイスが多種提案されている。
ポインティングデバイスの動きを検出するセンサとして、角速度センサや加速度センサが用いられる場合が多い。例えば前者の場合はポインティングデバイスの角速度値が画面上のポインタの速度値に対応する値となり、後者の場合は、加速度値の積分演算により、ポインティングデバイスの速度値を取得し、この速度値が画面上のポインタの速度値に対応する値となる。
例えば特許文献1に記載されたペン型入力デバイスは、加速度センサを用いてペン先部の静止状態である初期の回転角度、つまり傾き角度を算出し、ジャイロセンサを用いて筆記中の加速度センサの検出値の回転補正を行うものである。具体的には、このペン型入力デバイスは、その明細書段落[0041]に記載されているように、筆記中の傾き角度(回転角度ベクトル)をジャイロセンサの検出値に基づきストラップダウン法やオイラー法を用いて算出する。そして、算出された回転角度ベクトルにより加速度センサの検出値の回転補正が行われる。
特許第3506878号公報
しかしながら、ストラップダウン法やオイラー法では、高精度なジャイロセンサが必要であり、また、3軸加速度センサ及び3軸ジャイロセンサの合計6軸のセンサが必要となる。
以上のような事情に鑑み、本発明の目的は、高精度のセンサ及び6軸センサを必要とすることなく、入力装置の回転角度を精度良く算出することができる入力装置、制御装置、ハンドヘルド装置、これらの装置を含む制御システム及び制御方法を提供することにある。
上記目的を達成するため、本発明の一形態に係る入力装置は、角速度検出部と、加速度検出部と、積分手段と、判定手段と、校正手段とを具備する。
前記角速度検出部は、入力装置の第1の方向に沿う軸回りの角速度値を検出する。
前記加速度検出部は、前記入力装置の、前記第1の方向に直交する第2の方向と、前記第1の方向及び前記第2の方向の両方に直交する第3の方向とにそれぞれ作用する加速度値を検出する。
前記積分手段は、前記検出された角速度値の積分演算により前記入力装置の回転角度値を得る。
前記判定手段は、前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値、及び角速度値のうち少なくとも一方に基づき判定する。
前記校正手段は、前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記検出された両加速度値に基づき前記入力装置の回転角度値を算出する。
検出された角速度値が積分されることにより回転角度値が算出されるので、ストラップダウン法やオイラー法を用いる必要がない。したがって、高精度のセンサ及び6軸センサを必要とすることなく、入力装置の回転角度値を精度良く算出することができる。また、校正手段により、入力装置が、積分演算により得られた回転角度値を校正するために適した状態にある回転角度値が校正されるので、回転角度値の算出精度を高めることができる。
前記判定手段は、前記入力装置が略等速度の状態にある場合に、前記入力装置が前記適した状態にあると判定してもよい。
入力装置が静止状態である場合に限られず、略等速度で動いているときも、入力装置は回転角度値を校正可能であるので、校正の機会が多くなる。これにより、後述するように、回転角度値を用いて画面上の画像の制御情報が算出される場合には、結果的に高精度な制御情報を得ることができる。
略等速度の状態とは、等速度の状態及び静止状態も含む意味である。
前記判定手段は、前記角速度値の微分演算により角加速度値を得、前記得られた角加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定してもよい。
角速度検出部の検出値の微分値である角加速度値が用いられることにより、重力加速度の影響を除去することができ、正確な判定処理が可能となる。
あるいは、前記判定手段は、前記加速度値の微分演算により微分加速度値を得、前記得られた微分加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定してもよい。
加速度値の微分値が用いられることにより、その判定の際に、重力加速度の影響を除去することができ、正確な判定処理が可能となる。
前記判定手段は、前記入力装置の、前記第1の方向に沿う軸回りの回転角度の時間変化率が小さい場合に、前記入力装置が前記適した状態にあると判定してもよい。
例えば、判定手段は、回転角度値の時間変化率が閾値以下のときに、入力装置が略等速度の状態にあると判定することができる。これにより、入力装置が略等速度の状態にあり、かつ、回転角度値の変化が小さいことを、入力装置が認識することができる。
この場合、入力装置は、前記加速度検出部で検出された2方向の加速度値に基づき前記入力装置の回転角度値を算出し、そして、この回転角度値の時間変化率を算出してもよい。あるいは、回転角度の時間変化率として、角速度検出部で検出された角速度値が採用されてもよい。
前記判定手段は、前記検出された両加速度値の絶対値が閾値を超える場合に、前記入力装置が前記適した状態にあると判定してもよい。
両加速度値の閾値として、入力装置の姿勢の変化により、加速度検出部の出力値のS/Nが変化する場合があるので、例えばそのS/Nを基準に設定されればよい。
判定手段は、入力装置が略等速度の状態にある場合で、かつ、検出された加速度値が閾値を超える場合に、入力装置が適した状態にあると判定してもよい。
前記入力装置は、前記得られた角加速度値に、ユーザが入力装置を動かすときの回転半径を乗じることにより、重力加速度が除去された前記入力装置の加速度値である慣性加速度値を得る取得手段をさらに具備してもよい。
前記判定手段は、前記得られた慣性加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定してもよい。
これにより、判定手段による判定精度がさらに高められる。
前記校正手段は、前記検出された加速度値(少なくとも一方の加速度値)から前記慣性加速度値を減じた値に基づき、前記入力装置の回転角度値を算出してもよい。
これにより、検出された加速度値を用いて回転角度値を算出する際に、ローパスフィルタがなくても、検出された加速度値から、入力装置の動きによる慣性加速度の影響を除去することができ、重力加速度を抽出することができる。
前記入力装置は、前記検出された加速度値(少なくとも一方の加速度値)から、前記入力装置の動きによる慣性加速度値を減じた値に基づき、前記入力装置の回転角度値を算出してもよい。
前記入力装置は、少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、ユーザが前記入力装置を介しての操作の対象画像となる、画面上での画像の動きを制御するための制御情報を算出する制御情報算出手段をさらに具備してもよい。
回転角度値は、制御情報算出手段が制御情報を算出する際に、主に回転座標変換の補正を行うために必要な情報である。
「画面上での画像の動き」とは、例えば、画面上のポインタの動き、スクロールによる画像の動き、ズームイン(またはズームアウト)による画像の動き、または、画面内での画像の向き等が挙げられる。
前記制御情報算出手段は、さらに、前記検出された両方の加速度値のうち少なくとも一方と、前記角速度値と、のうち少なくとも一方に基づき、前記制御情報を算出してもよい。
前記角速度検出部は、前記入力装置の前記第2の方向に沿う軸回りの角速度値をさらに検出し、前記加速度検出部は、前記入力装置の前記第1の方向に作用する加速度値をさらに検出してもよい。また、前記積分手段は、前記検出された前記第2の方向に沿う軸回りの角速度値の積分演算により、前記入力装置の前記第2の方向に沿う軸回りの回転角度値である第2の回転角度値を得てもよい。また、前記判定手段により、前記入力装置が、前記第2の回転角度値を校正するために適した状態にあると判定された場合、前記校正手段は、前記第2の回転角度値を校正するために、前記検出された前記第1及び第3の方向にそれぞれ作用する加速度値に基づき前記入力装置の第2の回転角度値を算出してもよい。
本発明の一形態に係る制御装置は、角速度検出部と、加速度検出部と、送信手段とを有する入力装置から送信された情報に基づき、画面上での画像の動きを制御する制御装置である。
前記角速度検出部は、入力装置の第1の方向に沿う軸回りの角速度値を検出する。
前記加速度検出部は、前記入力装置の、前記第1の方向に直交する第2の方向と、前記第1の方向及び前記第2の方向の両方に直交する第3の方向とにそれぞれ作用する加速度値を検出する。
前記送信手段は、前記検出された両方の加速度値及び角速度値の情報を送信する。
前記制御装置は、受信手段と、積分手段と、判定手段と、校正手段と、制御手段とを具備する。
前記受信手段は、前記送信された情報を受信する。
前記積分手段は、前記受信された角速度値の積分演算により前記入力装置の回転角度値を得る。
前記判定手段は、前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値、及び角速度値のうち少なくとも一方に基づき判定する。
前記校正手段は、前記判定手段により、前記ハンドヘルド装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された両加速度値に基づき前記ハンドヘルド装置の回転角度値を算出する。
前記制御手段は、少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記画面上での前記画像の動きを制御する。
本発明の一形態に係るハンドヘルド装置は、表示部と、角速度検出部と、加速度検出部と、積分手段と、判定手段と、校正手段と、制御手段とを具備する。
前記角速度検出部は、ハンドヘルド装置の第1の方向に沿う軸回りの角速度値を検出する。
前記加速度検出部は、前記ハンドヘルド装置の、前記第1の方向に直交する第2の方向と、前記第1の方向及び第2の方向の両方に直交する第3の方向とにそれぞれ作用する加速度値を検出する。
前記積分手段は、前記検出された角速度値の積分演算により前記ハンドヘルド装置の回転角度値を得る。
前記判定手段は、前記ハンドヘルド装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する。
前記校正手段は、前記判定手段により、前記ハンドヘルド装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された両加速度値に基づき前記ハンドヘルド装置の回転角度値を算出する。
前記制御手段は、少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記表示部の画面上での画像の動きを制御する。
前記判定手段は、前記ハンドヘルド装置が前記加速度検出部を用いて重力方向を精度良く検出できる姿勢にあるときに、前記ハンドヘルド装置が前記適した状態にあると判定してもよい。
前記判定手段は、前記ハンドヘルド装置が略等速度の状態にある場合に、前記ハンドヘルド装置が前記適した状態にあると判定してもよい。
本発明の一形態に係る制御システムは、上述の入力装置と制御装置とを具備すればよい。
本発明の一形態に係る制御方法は、装置の角速度値及び加速度値を検出することを含む。
前記検出された角速度値の積分演算により前記装置の回転角度値が得られる。
前記装置の前記加速度値に基づいて算出された回転角度値を用いて、前記積分演算で得た回転角度値を校正するために適した状態にあるか否かが、前記検出された加速度値または角速度値のうち少なくとも一方に基づき判定される。
前記判定により、前記装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された加速度値に基づき前記入力装置の回転角度値が算出される。
「装置」は、入力装置またはハンドヘルド装置等、ユーザが操作できるものであれば何でもよい。
高精度のセンサ及び6軸センサを必要とすることなく、入力装置の回転角度を精度良く算出することができる。
以下、本発明の実施の形態を図面を参照しながら説明する。
図1は、本発明の一実施の形態に係る制御システムを示す図である。制御システム100は、表示装置5、制御装置40及び入力装置1を含む。
図2は、入力装置1を示す斜視図である。入力装置1は、ユーザが持つことができる程度の大きさとされている。入力装置1は、筐体10、筐体10の上部に設けられた例えば2つのボタン11、12、回転式のホイールボタン13等の操作部を備えている。筐体10の上部の中央よりに設けられたボタン11は、例えばPCで用いられる入力デバイスとしてのマウスの左ボタンの機能を有し、ボタン11に隣接するボタン12は右ボタンの機能を有する。
例えば、ボタン11を長押して入力装置1を移動させることにより「ドラッグアンドドロップ」、ボタン11のダブルクリックによりファイルを開く操作、ホイールボタン13により画面3のスクロール操作が行われるようにしてもよい。ボタン11、12、ホイールボタン13の配置、発行されるコマンドの内容等は、適宜変更可能である。
図3は、入力装置1の内部の構成を模式的に示す図である。図4は、入力装置1の電気的な構成を示すブロック図である。
入力装置1は、センサユニット17、制御ユニット30、バッテリー14を備えている。
図8は、センサユニット17を示す斜視図である。センサユニット17は、互いに異なる角度、例えば直交する2軸(X軸及びY軸)に沿った加速度を検出する加速度センサユニット16を有する。すなわち、加速度センサユニット16は、第1の加速度センサ161及び第2の加速度センサ162の2つセンサを含む。また、センサユニット17は、その直交する3軸の回りの角速度を検出する角速度センサユニット15を有する。すなわち、角速度センサユニット15は、第1の角速度センサ151、第2の角速度センサ152及び第3の角速度センサ153の3つのセンサを含む。これらの加速度センサユニット16及び角速度センサユニット15はパッケージングされ、回路基板25上に搭載されている。
第1、第2及び第3の角速度センサ151、152及び153としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。角速度センサ151、152及び153としては、振動型ジャイロセンサに限られず、回転コマジャイロセンサ、レーザリングジャイロセンサ、ガスレートジャイロセンサ、あるいは、地磁気型ジャイロセンサ等が用いられてもよい。第1、第2の加速度センサ161、162としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。
図2及び図3の説明では、便宜上、筐体10の長手方向をZ’方向とし、筐体10の厚さ方向をX’方向とし、筐体10の幅方向をY’方向とする。この場合、上記センサユニット17は、回路基板25の、加速度センサユニット16及び角速度センサユニット15を搭載する面がX’−Y’平面に実質的に平行となるように、筐体10に内蔵され、上記したように、両センサユニット16、15はX軸及びY軸の2軸に関する物理量を検出する。X’軸及びY’軸を含む平面が加速度検出面、つまり回路基板25の主面に実質的に平行な面である。
以降では、入力装置1とともに動く座標系、つまり、入力装置1に固定された座標系をX’軸、Y’軸、Z’軸で表す。一方、地球上で静止した座標系、つまり慣性座標系をX軸、Y軸、Z軸で表す。また、以降の説明では、入力装置1の動きに関し、X’軸の回りの回転の方向をピッチ方向、Y’軸の回りの回転の方向をヨー方向といい、Z’軸(ロール軸)方向の回りの回転の方向をロール方向という場合もある。
制御ユニット30は、メイン基板18、メイン基板18上にマウントされたMPU19(Micro Processing Unit)(あるいはCPU)、水晶発振器20、送受信機21、メイン基板18上にプリントされたアンテナ22を含む。
MPU19は、必要な揮発性及び不揮発性メモリを内蔵している。MPU19には、センサユニット17による検出信号、操作部による操作信号等が入力され、これらの入力信号に応じた所定の制御信号を生成するため、各種の演算処理等を行う。
送受信機21は、MPU19で生成された制御信号(制御情報)を含む情報をRF無線信号として、アンテナ22を介して制御装置40に送信する。また、送受信機21は、制御装置40から送信された各種の信号を受信することも可能となっている。
水晶発振器20は、クロックを生成し、これをMPU19に供給する。バッテリー14としては、乾電池または充電式電池等が用いられる。
制御装置40は、MPU35(あるいはCPU)、表示制御部42、RAM36、ROM37、ビデオRAM41、アンテナ39及び送受信機38等を含む。
送受信機38は、入力装置1から送信された情報を、アンテナ39を介して受信する。また、送受信機38は、入力装置1へ各種の情報を送信することも可能となっている。MPU35は、受信された情報を解析し、各種の演算処理を行う。表示制御部42は、MPU35の制御に応じて、主に、表示装置5の画面3上に表示するための画面データを生成する。ビデオRAM41は、表示制御部42の作業領域となり、生成された画面データを一時的に格納する。
制御装置40は、入力装置1に専用の機器であってもよいが、PC等であってもよい。制御装置40は、入力装置1に専用の機器に限られず、表示装置5と一体となったコンピュータであってもよいし、オーディオ/ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
表示装置5は、例えば液晶ディスプレイ、EL(Electro-Luminescence)ディスプレイ等が挙げられるが、これらに限られない。あるいは、表示装置5は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよいし、このようなディスプレイと上記制御装置40とが一体となった装置でもよい。
図5は、表示装置5に表示される画面3の例を示す図である。画面3上には、アイコン4やポインタ2等が表示されている。アイコンとは、コンピュータ上のプログラムの機能、実行コマンド、またはファイルの内容等が画面3上で画像化されたものである。なお、画面3上の水平方向をX軸方向とし、垂直方向をY軸方向とする。
図6は、ユーザが入力装置1を握った様子を示す図である。図6に示すように、入力装置1は、上記ボタン11、12、13のほか、例えばTV等を操作するリモートコントローラに設けられるような各種の操作ボタンや電源スイッチ等の操作部を備えていてもよい。このようにユーザが入力装置1を握った状態で、入力装置1を空中で移動させ、あるいは操作部を操作することにより、その入力情報が制御装置40に出力され、制御装置40によりポインタが制御される。
次に、入力装置1の動かし方及びこれによる画面3上のポインタ2の動きの典型的な例を説明する。図7はその説明図である。
図7(A)、(B)に示すように、ユーザが入力装置1を握った状態で、入力装置1のボタン11、12が配置されている側を表示装置5側に向ける。ユーザは、親指を上にし子指を下にした状態、いわば握手する状態で入力装置1を握る。この状態で、センサユニット17の回路基板25(図8参照)は、表示装置5の画面3に対して平行に近くなり、センサユニット17の検出軸である2軸が、画面3上の水平軸(X軸)及び垂直軸(Y軸)に対応するようになる。以下、このような図7(A)、(B)に示す入力装置1の姿勢を基本姿勢という。
図7(A)に示すように、基本姿勢の状態で、ユーザが手首や腕を上下方向、つまりピッチ方向に振る。このとき、第2の加速度センサ162は、Y’軸方向の加速度を検出し、第1の角速度センサ151は、X’軸の回りの角速度を検出する。これらの検出値に基づき、制御装置40は、ポインタ2がY軸方向に移動するようにそのポインタ2の表示を制御する。
一方、図7(B)に示すように、基本姿勢の状態で、ユーザが手首や腕を左右方向、つまりヨー方向に振る。このとき、第1の加速度センサ161は、X’軸方向の加速度を検出し、第2の角速度センサ152は、Y’軸の回りの角速度を検出する。これらの検出値に基づき、制御装置40は、ポインタ2がX軸方向に移動するようにそのポインタ2の表示を制御する。
次に、加速度センサユニット16への重力の影響について説明する。図9はその説明のための図である。図9は、入力装置1をZ方向で見た図である。
図9(A)では、入力装置1が基本姿勢とされ、静止しているとする。このとき、第1の加速度センサ161の出力は実質的に0であり、第2の加速度センサ162の出力は、重力加速度G分の出力とされている。しかし、例えば図9(B)に示すように、入力装置1がロール方向に傾いた状態では、第1、第2の加速度センサ161、162は、重力加速度Gのそれぞれの傾き成分の加速度値を検出する。
この場合、特に、入力装置1が実際にヨー方向には動いていないにも関わらず、第1の加速度センサ161はX軸方向の加速度を検出することになる。この図9(B)に示す状態は、図9(C)のように入力装置1が基本姿勢にあるときに、加速度センサユニット16が破線の矢印で示すような慣性力Ix、Iyを受けた状態と等価であり、加速度センサユニット16にとって区別が付かない。その結果、加速度センサユニット16は、矢印で示すような左に斜め下方向の加速度が入力装置1に加わったと判断し、入力装置1の実際の動きとは違った検出信号を出力する。しかも、重力加速度Gは常に加速度センサユニット16に作用するため、加速度から速度を求めるための加速度の積分値は増大し、ポインタ2を斜め下方に変位させる量は加速度的に増大してしまう。図9(A)から図9(B)に状態が移行した場合、本来、画面3上のポインタ2が動かないようにすることが、ユーザの直感に合った操作と言える。
図10は、本発明の一実施の形態に係る入力装置の処理を示すフローチャートである。
入力装置1に電源が投入される。例えば、ユーザが入力装置1または制御装置40に設けられた電源スイッチ等を入れることにより、入力装置1に電源が投入される。電源が投入されると、角速度センサユニット15から3軸の角速度信号が出力される。MPU19は、この3軸の角速度信号による第1の角速度値ωψ、第2の角速度値ωθ及び第3の角速度値ωφを取得する(ステップ101)。
また、入力装置1に電源が投入されると、加速度センサユニット16から2軸の加速度信号が出力される。MPU19は、この2軸の加速度信号による第1の加速度値ax及び第2の加速度値ayを取得する(ステップ102)。この加速度値の信号は、電源が投入された時点での入力装置1の姿勢(以下、初期姿勢という)に対応する信号である。
なお、図10のフローでは、角速度値の取得後、加速度値が取得されたが、その順序は逆でもよいし、並列的に取得されてもよい。このことは、後で説明する図12、13、17においても同様である。
MPU19は、加速度値(ax、ay)及び角速度値(ωψ、ωθ)に基づき、速度値(Vx、Vy)(ポインタ2を画面3上で動かすための制御情報)を算出する(ステップ103)。算出された速度値は、後述するように角速度値が用いられて演算により求められるので、実質的に入力装置の動きに合致した速度値が得られる。この速度値の算出についての詳細は後述する。
MPU19は、入力装置1が略等速状態にあるか否かを判定する。具体的には、MPU19は、まず検出された角速度値(ωψ、ωθ、ωφ)をそれぞれ微分することで、角加速度値(Δωψ、Δωθ、Δωφ)を取得する(ステップ104)。そして、MPU19は、これらすべての角加速度値の絶対値が閾値th1以下である否かを判定する(ステップ105)。閾値th1は、ゼロに近い値が設定されるが、適宜設定可能である。MPU19は、これら2つのステップ104、105により、入力装置1が略等速状態にあるか否かを判定することができる。
略等速状態を判定する理由は、入力装置1が略等速状態にあるときは、加速度センサユニット16の検出値に慣性加速度が含まれておらず、その検出値から実質的に重力加速度を抽出することができるからである。ここでいう慣性加速度とは、実質的に入力装置1の動きのみにより発生する加速度であり、加速度センサユニット16の検出値から重力加速度値が除去されたものである。入力装置1が略等速状態にある場合、入力装置1が、後述するロール角を校正するために適した状態にある、と言える。
加速度センサユニット16の検出値から重力加速度が抽出される理由は、後述する式(2)で示すように、MPU19が入力装置1のロール角(ロール方向の回転角度値)を正確に算出するためである。つまり、式(2)によるロール角の算出時に、加速度センサユニット16の検出値に慣性加速度が含まれていると、正確なロール角が算出されないからである。逆に言えば、加速度センサユニット16の検出値に慣性加速度が含まれていないときは、加速度値から正確なロール角が算出できることになる。
ここでの略等速状態とは、正確なロール角算出に支障があるような慣性加速度が働かない状態を意味し、入力装置1が静止している状態も含む。この「略等速状態」は、上記閾値th1の設定範囲によってその範囲が定められる。この閾値th1の設定の際に考慮される事項は、主に、センサユニット17(特に角速度センサユニット15)からの出力信号のドリフトがある。
ここでいうドリフトとは、温度ドリフト、DCドリフト、回路遅延によるドリフト、ストレス(応力)によるドリフト等である。ストレスによるドリフトとは、例えば、ユーザが筐体10を握るときに筐体10を介してセンサユニット17に係る応力により発生するドリフトである。このドリフトが大きい場合において、閾値th1の設定が低すぎると、入力装置1が略等速状態となる機会が少なくなり、傾き角ψを校正しきれない場合がある。したがって、ドリフト値は閾値th1が設定される上で重要なパラメータとなる。
この閾値th1の設定の際に考慮される他の事項として、次のようなものがある。例えばステップ202及び302の処理が、加速度センサユニット16の出力信号で判定される場合、入力装置1の筐体10内で、センサユニット17(特に加速度センサユニット16)が配置される位置が重要なパラメータとなる。ユーザが入力装置1を同じように動かしても、その配置によっては加速度センサユニット16の出力値が異なるからである。
以上のように、入力装置1の設計者は、このような各種ドリフトや加速度センサユニット16の筐体10内での配置を総合的に考慮した上で閾値th1を設定すればよい。
角速度センサユニット15は重力加速度の影響を受けない。したがって、ステップ105の処理のように角加速度値が判定対象とされることで、重力加速度の影響を受けずに正確な判定処理が可能となる。
なお、ステップ105において、ロール方向の角加速度値Δωφは、閾値判定の対象とされなくてもよい。ステップ105では、入力装置1が、画面3上のポインタ2をX軸及びY軸上、つまりX−Y平面である2次元で動かす上で入力装置1の略等速状態が判定対象とされるからである。
入力装置1が略等速状態にないとき(ステップ105のYES)、MPU19は、下記式(1)により、つまり角速度値ωφの積分演算により、ロール角を算出する(ステップ106)。
φ(t) =φ(t-1)+ωφ(t)・・・(1)。
式(1)中、(t)は現在の値を意味し、(t-1)は、例えばメモリに格納された、現在より1つ前の値を示している。
入力装置1が略等速状態にあるとき(ステップ105のNO)、MPU19は、加速度センサユニット16により得られた加速度値(ax、ay)のそれぞれ両方の絶対値が閾値th2以下であるか否かを判定する(ステップ107)。閾値th2は、ゼロに近い値が設定されるが、適宜設定可能である。MPU19は、ステップ107でYESの場合、ステップ106に処理を進め、NOの場合、加速度値(ax、ay)に基づき、例えば下記式(2)を用いてロール角を算出する(ステップ108)。
φ(t)=arctan(ax(t)/ay(t))・・・(2)。
加速度値(ax、ay)のそれぞれ両方の絶対値がゼロに近い値である場合、図2に示したように、入力装置1のボタン11、12が設けられた、筐体10の端部が実質的に上方または下方を向くときである。このような状態では、加速度センサの検出軸が重力加速度の方向に直交する方向に近くなって加速度値(ax、ay)が小さくなるので、ノイズが相対的に大きくなり、加速度センサユニット16の検出値のS/Nが小さくなる。すなわち、この場合、入力装置1は重力方向を精度良く検出できない姿勢にある。S/Nが小さいと、MPU19は、式(2)を用いてロール角を算出する場合に、正確にそれを算出できない。したがって、ステップ107でYESの場合、MPU19は、式(2)でなく、式(1)を用いてロール角を算出する。ステップ107でNOの場合、入力装置1が傾き角ψを校正するために適した状態にある、と言える。
ステップ107においてNOの場合、すなわち、加速度センサユニット16の検出値のS/Nが大きい場合、MPU19は、式(2)を用いてロール角を算出する。これにより、正確なロール角が算出される。
以上のように、ロール角の計算方法が式(1)及び(2)の2通り用意されている理由は、式(1)及び(2)のそれぞれが相補的に用いられるようにするためである。例えば式(2)による方法では、入力装置1に慣性加速度が働いているときは、正確なロール角が計算できないので、所定条件下で式(1)が用いられる。一方、式(1)による方法では、積分誤差が発生するので、所定条件下で式(2)が用いられ、式(1)により得られたロール角の校正が行われる。
このように、入力装置1が略等速状態にあるときに、ロール角の校正が実行されることにより、入力装置1が静止状態である場合に限られず、略等速度で動いているときも、入力装置1はロール角を校正可能であるので、校正の機会が多くなる。これにより、高精度にポインタの位置を制御することができる。ユーザが実際に入力装置1を使う場合、校正の機会は、少なくとも数秒に1回程度ある。具体的には、ユーザが入力装置1を動かして止める間に、必ず加速度がゼロとなる瞬間があるので、その瞬間またはその直前等に校正が実行され得る。
ステップ109では、MPU19は、算出したロール角φに応じた回転座標変換により、ステップ103により得られた速度値(Vx、Vy)をそれぞれ補正し、補正値である補正速度値(Vx’、Vy’)を得る。すなわち、MPU19は、図11に示す回転座標変換の式(3)を用いて、速度値(Vx、Vy)を補正する。このようなロール角を利用した回転座標変換補正により、図9(B)に示したように、入力装置1がロール方向に傾いた状態であっても、高精度なポインタの制御が可能となる。
MPU19は、送受信機21により、補正速度値(Vx’、Vy’)の情報を制御装置40に送信する(ステップ110)。
制御装置40のMPU35は、補正速度値(Vx’、Vy’)の情報を受信する(ステップ111)。入力装置1は、所定のクロックごとに、つまり単位時間ごとに補正速度値(Vx’、Vy’)を送信するので、制御装置40は、これを受信し、単位時間ごとのX軸及びY軸方向の変位量を取得することができる。MPU35は、下の式(4)、(5)より、取得した単位時間当りのX軸及びY軸方向の変位量に応じた、ポインタ2の画面3上における座標値(X(t)、Y(t))を生成する(ステップ112)。この座標値の生成により、MPU35は、ポインタ2が画面3上で移動するように表示を制御する(ステップ113)。
X(t) =X(t-1)+Vx’(t)・・・(4)
Y(t) =Y(t-1)+Vy’(t)・・・(5)。
以上のように、検出された角速度値が積分されることによりロール角が算出されるので、ストラップダウン法やオイラー法を用いる必要がない。したがって、高精度のセンサ及び6軸センサを必要とすることなく、ロール角を精度良く算出することができる。また、入力装置1がロール角の校正に適した状態にあるときに、ロール角の校正が行われるので(ステップ108)、正確なロール角を算出することができる。
[入力装置の略等速状態の、他の実施形態に係る判定方法]
図10で示したステップ105において、入力装置1が略等速状態にあるか否か判定された。この略等速状態の他の実施形態に係る判定方法について、以下、[1]〜[3]の3つの方法を説明する。
[1]例えば、MPU19は、下記の式(6)により得られるロール角の時間変化率Δφが、閾値th3以下であるか否かを判定する。この判定処理(Δφ≦th3?)が、上記ステップ107の代わりに実行されればよい。ロール角変化率が大きいときに校正すると誤差が乗りやすいが、Δφ≦th3の場合、入力装置1のロール角変化が小さく、校正に適した状態にあると判定される。閾値th3は、ゼロに近い値が設定されるが、適宜設定可能である。その場合、その判定処理(Δφ≦th3?)の前に、ステップ105と同様な略等速度の状態にあることの判定処理が実行されてもよい。
Δφ(t)=arctan(ax(t)/ay(t))−arctan(ax(t-1)/ay(t-1))・・・(6)。
これにより、入力装置が略等速度の状態にあり、かつ、ロール角の変化が小さい(例えばゼロ付近)こと、すなわち校正に適した条件であることを、入力装置1が認識することができる。
[2]例えば、MPU19は、下記の式(7)、(8)により加速度値の時間変化率(Δax、Δay)を算出し、この時間変化率(Δax、Δay)が閾値th4以下であるか否かの処理を、上記ステップ104及び105の代わりに実行する。(Δax、Δay)の両方が閾値th4以下の場合、入力装置1が略等速状態にあると判定される。閾値th4は、ゼロに近い値が設定されるが、適宜設定可能である。
Δax(t)=ax(t)−ax(t-1)・・・(7)
Δay(t)=ay(t)−ay(t-1)・・・(8)。
この判定処理は、入力装置1の加減速時は、静止時よりも加速度の変化量が多い傾向があるので、このことを利用している。下の[3]における式(9)が用いられる場合も同様である。また、加速度値の時間変化率は加速度値の微分値であるので、この判定処理の際に重力加速度の影響を除去することができ、高精度な判定が可能となる。
[3]例えば、MPU19は、下記の式(9)を用いて、加速度センサユニット16により得られる加速度値(ax、ay)の合成ベクトルの大きさの時間変化率ΔGを算出する。MPU19は、この時間変化率ΔGが閾値th5以下であるか否かの判定処理を実行する。変化率ΔGが閾値th5以下である場合、入力装置1が略等速状態にあると判定される。これらの処理は、上記ステップ104及び105の代わりに実行される。閾値th5は、ゼロに近い値が設定されるが、適宜設定可能である。
ΔG(t)=(ax(t)2+ay(t)2)1/2−(ax(t-1)2+ay(t-1)2)1/2・・・(9)。
以上説明した[1]〜[3]の3つの方法のほか、入力装置1の略等速状態を判定する方法として、例えば[2]及び[3]の両方を実行し、両方の判定がYESのときに、入力装置1が略等速状態にあると判定してもよい。つまり、時間変化率(Δax、Δay)が閾値th4以下であって、かつ、時間変化率ΔGが閾値th5以下である場合に、入力装置1が略等速状態であると判定される。
以上のように、加速度値(ax、ay)及び角速度値(ωψ、ωθ、ωφ)のうち少なくとも一方に基づき、入力装置1が略等速状態であるか否かが判定されてもよい。この場合、角速度値(ωψ、ωθ、ωφ)については、これら3つの値のうち、少なくとも(ωψ、ωθ)に基づき、または、少なくともωφに基づき、略等速状態が判定されてもよい。
[入力装置の他の実施形態に係る処理]
次に、入力装置1の他の実施形態に係る処理について説明する。図12は、その処理を示すフローチャートである。以下の説明では、図10に示した処理と異なる処理を中心に説明する。
例えば、MPU19は、ステップ205において、下記の式(10)、(11)により慣性加速度値(axi、ayi)を算出する。
axi=Rψ・Δωψ・・・(9)
ayi=Rθ・Δωθ・・・(10)。
(Rψ、Rθ)は、例えば、ユーザが入力装置1を持って、ある点を通る軸の回りに動かすときの回転半径として設定される。例えばユーザが肘を中心として入力装置1を動かすときは、回転半径(Rψ、Rθ)の両方を、肘から手の先(指など)までの距離にそれぞれ設定することができる。
Rψとして、ユーザが実際に取り得る最大値(例えば肩から手の先までの長さ程度の定数)が用いられることにより、実際よりも大きめの慣性加速度値を得ることができる。この値を使用すれば、より安全率の高い判定を行うことができる。
ステップ206では、MPU19は、得られた慣性加速度値(axi、ayi)の両方の絶対値が、閾値th6以下であるか否かを判定する。慣性加速度値(axi、ayi)は、検出値(ax、ay)から重力の影響が除去された値であるので、ステップ206における判定処理の精度を高めることができる。閾値th6は、ゼロに近い値が設定されるが、適宜設定可能である。
また、ステップ209では、MPU19は、下記の式(11)により、検出値(ax、ay)から慣性加速度値(axi、ayi)を除去した上で、ロール角φを算出する。これにより、ロール角を算出するときに、ローパスフィルタがなくても、検出された加速度値(ax、ay)から、慣性加速度の影響を除去することができ、重力加速度を抽出することができる。これにより、正確なロール角が算出される。
φ(t) =arctan[(ax(t)-axi(t))/(ay(t)-ayi(t))]・・・(11)。
なお、ステップ209では、ステップ206を経ているので、除去される慣性加速度値の値はゼロに近い小さい値となる。
入力装置1の他の実施形態に係る処理として、ステップ206では、ステップ105と同様の処理が実行されてもよい。あるいは、他の実施形態に係る処理として、ステップ209では、ステップ108と同様の処理が実行されてもよい。
これまでの説明では、入力装置1が主要な演算を行って速度値(Vx、Vy)を算出していた。図13に示す実施の形態では、制御装置40が主要な演算を行う。この図13に示す処理は、図10に対応する。
入力装置1が、例えばセンサユニット17から出力された2軸の加速度値及び3軸の角速度値の情報を制御装置に送信する(ステップ303)。制御装置40は、送信された情報を受信し(ステップ304)、ステップ305以降では、図10に示したステップ103以降と同様の処理を実行する。
[A]あるいは、入力装置1が、ステップ305のようにセンサユニット17から出力された2軸の加速度値及び3軸の角速度値に基づき、速度値(Vx、Vy)を算出し、その速度値の情報を制御装置に送信してもよい。
[B]あるいは、入力装置1が、例えばステップ308及び310の処理まで実行し、算出されたロール角φの情報を制御装置40に送信してもよい。
[C]あるいは、入力装置1が、例えばステップ311の処理まで実行して補正速度値(Vx’、Vy’)を取得し、この補正速度値の情報を制御装置40に送信してもよい。
図12で示した処理についても、図13に示した処理、あるいは、[A]、[B]、または[C]で説明した処理のように、制御装置40が主な処理を実行してもよい。
[速度値(Vx、Vy)の算出方法]
次に、図10、図12及び図13におけるステップ103、203、303の速度値の算出方法について説明する。
例えば、ユーザが入力装置1を左右方向(ヨー方向)へ振って操作する場合において、ユーザが自然に入力装置1を操作する場合、手首(あるいは手指)の回転、肘の回転及び腕の付け根の回転のうち少なくとも1つによって操作する。したがって、入力装置1の動きと、この手首あるいは手指(以下、手首等という)、肘及び腕の付け根の回転とを比較すると、以下に示す1.2.の関係があることが分かる。
1.入力装置1のY’軸回りの角速度値ωψは、肩の回転による角速度、肘の回転による角速度、及び、手指(あるいは手首)の回転等による角速度の合成値である。
2.入力装置1のヨー方向の速度値Vxは、肩、肘、及び手首等の角速度に、肩と入力装置1との距離、肘と入力装置1との距離、及び、手首等と入力装置1との距離等をそれぞれ乗じた値の合成値である。
ここで、微小時間での入力装置1の回転運動について、入力装置1は、Y’軸に平行であり、時間ごとに位置が変化する中心軸の回りに回転していると考えることができる。この時間ごとに位置が変化する中心軸(つまり瞬間中心を通る軸)と、入力装置1との距離を、Y’軸回りの回転半径Rψ(t)とすると、入力装置1の速度値Vxと、角速度値ωψとの関係は、以下の式(a)で表される。すなわち、ヨー方向の速度値Vxは、Y’軸回りの角速度値ωψに、中心軸と入力装置1との距離Rψ(t)を乗じた値となる。
Vx=Rψ(t)・ωψ・・・(a)。
式(a)に示すように、入力装置1の速度値と、角速度値との関係は、比例定数をR(t)とした比例関係、つまり、相関関係にある。
上記式(a)を変形して式(a-1)を得る。
ψ(t)=Vxψ・・・(a-1)。
式(a-1)の右辺は、速度のディメンジョンである。この式(a-1)の右辺に表されている速度値と角速度値とがそれぞれ微分され、加速度、あるいは加速度の時間変化率のディメンジョンとされても相関関係は失われない。同様に、速度値と角速度値とがそれぞれ積分され、変位のディメンジョンとされても相関関係は失われない。
したがって、式(a-1)の右辺に表されている速度及び角速度をそれぞれ変位、加速度、加速度の時間変化率のディメンジョンとして、以下の式(a-2)、(a-3)、(a-4)が得られる。
ψ(t)=x/ψ・・・(a-2)
ψ(t)=a x/Δωψ・・・(a-3)
ψ(t)=Δa x/Δ(Δωψ)・・・(a-4)。
上記式(a-1)、(a-2)、(a-3)、(a-4)のうち、例えば式(a-3)に注目すると、加速度値a xと、角速度値Δωψが既知であれば、回転半径Rψ(t)が求められることが分かる。
上述のように、第1の加速度センサ161は、ヨー方向の加速度値axを検出し、第1の角速度センサ151は、Y’軸の回りの角速度値ωψを検出する。したがって、Y’軸回りの角速度値ωψが微分され、Y’軸回りの角加速度値Δωψが算出されれば、Y’軸回りの回転半径Rψ(t)が求められる。
Y’軸回りの回転半径Rψ(t)が既知であれば、この回転半径Rψ(t)に、第1の角速度センサ151によって検出されたY’軸の回りの角速度値ωψを乗じることで、入力装置1のX’軸方向の速度値Vxが求められる(式(a)参照)。すなわち、ユーザの回転の操作量そのものがX’軸方向の線速度値に変換され、ユーザの直感に合致した速度値となる。
この速度値の算出方法については、ユーザが入力装置1を上下方向(ピッチ方向)へ振って操作する場合にも適用することができる。
図12で示したステップ205においては、回転半径(Rψ、Rθ)が定数であった。しかしながら、MPU19は、例えば上記式(a-3)を用いて回転半径Rψを算出してもよい。Rθも同様に算出され得る。
[ハンドヘルド装置]
図14(A)〜(D)は、ハンドヘルド装置を示す模式的な図である。ハンドヘルド装置50は、表示部55を備えた携帯型のデバイスであり、典型的には、PDA(Personal Digital Assistance)、携帯電話機、携帯音楽プレイヤー、デジタルカメラ等である。
ハンドヘルド装置50の筐体60内には、センサユニット117が設けられている。センサユニット117は、例えばX’及びY’の検出軸で構成される平面が、表示部55の表面と実質的に平行になるように、筐体60内に配置されている。ハンドヘルド装置50は、例えば図4に示した構成と同様な電気的な構成要素を備えることができる。
センサユニット117としては、図8に示したような、回路基板25の片面に角速度センサユニット15及び加速度センサユニット16が配置されたものに限られない。例えば図15(A)及び(B)に示すように、回路基板25の両面に、両センサユニット15及び16がそれぞれ配置されたものであってもよい。図15(A)及び(B)は、ハンドヘルド装置50の側面を模式的に示す図である。
本実施形態における典型的なセンサ構成は、X'及びY'軸方向の加速度を検出する2軸の加速度センサと、Z'軸回りの角速度を検出する1軸角速度センサの組み合せであるが、3軸加速度センサや2軸以上の角速度センサを使用してもよい。
図14(A)〜(D)では、例えばY軸方向の負の向きを重力方向としている。図14(A)では、ハンドヘルド装置50は、センサユニット117のY’軸方向の負の向きが重力方向に向くような姿勢、図14(B)ではその逆方向に向くような姿勢をとっている。図14(C)では、ハンドヘルド装置50は、センサユニット117のX’軸方向の負の向きが、重力方向に向くような姿勢、図14(D)ではその逆方向に向くような姿勢をとっている。
ハンドヘルド装置50のMPUは、図17に示した処理を実行することにより、Z’軸回りの回転角度値、すなわちロール角を算出する。したがって、MPUは、その姿勢が変化しても、その姿勢の変化に応じて表示部55内の画像の向きを制御することができる。MPUは、図17に示した処理により、検出された加速度値から慣性加速度値が除去された重力加速度値を検出することができるので、ハンドヘルド装置を素早く回転操作しても、それ程大きな時間遅れを生じることなく典型的には図14(A)〜(D)に示すように、MPUは、その姿勢変化に応じて重力方向が下となるように表示部55内の画像の向きを制御することができる。ハンドヘルド装置50を回転操作する場合に検出される慣性加速度値は、その回転中心とセンサユニットの位置が近いほど小さくなるが、実際の操作における回転中心はばらつきが大きいため、例えばセンサユニットを装置の中央部に配置したとしても慣性加速度の影響を完全に排除することは難しい。なお、ハンドヘルド装置50の表示部55は、タッチパネル型の表示部であり、例えばキーボードの画像を表示している。
また、このハンドヘルド装置50によれば、図17に示した処理により、図16に示すように、連続的に画像の向きを制御することもできる。
さらに、このハンドヘルド装置が、図15(B)に示すように(Y軸方向の負の向きが重力方向)、X’軸回りに回転し傾いた状態でZ’軸回りに回転する場合を考える。すると2軸の加速度センサの検出面であるX’−Y’平面が水平に近い状態となり、検出値が小さくなるためS/Nが悪化し、正確に回転角度を得ることが難しい。したがってこの場合には、図17に示した方法により、Z’軸回りの角速度値を積分して回転角度を算出し(ステップ404)、この回転角度(ロール角φ)に基づき、表示部55内での画像の向きを図14(A)〜(D)に示すように回転制御することができる(ステップ408)。この回転操作中にハンドヘルド装置50の傾きが小さくなり、加速度の検出値が大きくなった場合は、検出された加速度値に基づき、上記ロール角φを校正できることは言うまでもない(ステップ406)。
[入力装置及びハンドヘルド装置のさらに別の実施形態に係る処理]
図18は、入力装置1を用いたさらに別の実施形態に係る処理を説明するための図である。
入力装置1の構成は、図2〜4で示した入力装置1の構成と同じである。図18(A)に示す入力装置1の姿勢は、図7(A)及び(B)に示す姿勢と同じである。そして、ユーザが、図18(B)に示すように、入力装置1をZ’軸回りに、つまりロール角φの方向に回転させるように(手首をひねるようにして)入力装置1を操作する。この場合に、入力装置1のMPU19は、典型的には図17に示したステップ401〜407の処理を実行する。そしてMPU19は、ステップ405(及び407)で算出されたロール角φに応じて、表示装置5(図5参照)の画面3上におけるX軸上でのポインタ2の動きを制御するための情報(例えば速度値Vxまたは変位Xの情報)を生成し、これを制御装置40に出力する。
この場合、MPU19は、ロール角φの値をそのまま、ポインタ2を動かすためのX軸上での速度値Vxまたは変位Xとして用いればよい。あるいは、メモリに記憶された所定の変換式を用いて、ロール角φから速度値Vxまたは変位Xに変換するようにしてもよい。
図18(C)に示すように、MPU19は、上記ロール角φを用いた制御情報の算出処理と同様に、X’軸回りのピッチ角θを用いて速度値Vyまたは変位Yを算出することもできる。速度値Vyまたは変位Yは、画面3上におけるY軸上でのポインタ2の動きを制御するための制御情報である。この場合、MPU19は、図17に示したステップ401〜407と同様な処理を実行するが、ωφ→ωθと置き換えられ、(ax、ay)→(ay、az)と置き換えられる。
図19は、上述のハンドヘルド装置50を用いたさらに別の実施形態を処理を説明するための図である。この例でも、ユーザがハンドヘルド装置50を持って、手首をひねることで、表示部55内で画像(例えばポインタ)の動きを制御する。
ハンドヘルド装置のMPUは、センサ117(図15参照)の出力に基づき、図17のステップ401〜407の処理と同様に、Y’軸回りのヨー角ψ及びX’軸回りのピッチ角θを算出する。MPUは、これらの角度値(ψ、θ)を、表示部55内におけるX軸及びY軸上でのポインタ2を動かすための制御情報(例えば速度値または変位の情報)とする。この場合、角度値ψは、表示部55内でX軸方向でのポインタ2を動かすための制御情報に対応し、角度値θは、表示部55内でY軸方向でのポインタ2を動かすための制御情報に対応する。
[その他の実施形態]
本発明に係る実施形態は、以上説明した実施形態に限定されず、他の種々の実施形態が考えられる。
上記実施形態に係る入力装置1では、入力装置1の動きに応じてポインタ2の動きが制御される例を示した。しかし、入力装置1の動きに応じて、画像のスクロール、ズームイン、ズームアウト等による画像(画面)の動きが制御されてもよい。同様に、上記実施形態に係るハンドヘルド装置50では、ハンドヘルド装置50の動きに応じて、ロール方向の画像の向きが制御される例を示した。しかし、表示部に表示されるポインタ2の動き、あるいは、表示部に表示される、上記した画像のスクロール等による画像(画面)の動きが制御されてもよい。
入力装置1は、加速度センサユニット16を備えていたが、これに代えて、ロータリエンコーダ及び錘を含む傾斜センサを備えていてもよい。この場合、例えば図10におけるステップ107及び108に代えて、傾斜センサの検出値に基づきロール角が算出されればよい。傾斜センサは、ロータリエンコーダを利用する場合に限られず、ポテンショメータまたは静電容量を利用してもよい。このように、傾斜センサが用いられる場合も、加速度センサユニット16が用いられる場合と同様に、典型的には、角加速度値(Δωψ、Δωθ、Δωφ)の微分値により入力装置1の略等速状態が判定され得る。
上記各実施の形態では、入力装置1の回転角度値としてロール角を例に挙げた。しかし、ロール角だけでなく(またはロール角に加え)、入力装置1の、ピッチ方向の回転角度値であるピッチ角が算出され、これが回転座標変換により利用されてもよい。
速度値(Vx、Vy)の算出方法としては、MPU19が、角速度値(ωψ、ωθ)を用いず、例えば加速度値(ax、ay)を単に積分して速度値を求める方法がある。
あるいは、その逆で、加速度値(ax、ay)が用いられず、角速度値(ωψ、ωθ)が速度値(Vx、Vy)の代わりとして用いられてもよい。その場合、検出された角速度値(ωψ、ωθ)は時間微分することで角加速度値(Δωψ、Δωθ)を求めることができ、これを加速度値として用いることも可能である。
上記各実施の形態に係る入力装置1、ハンドヘルド装置50については、無線で入力情報を制御装置40に送信する形態を示したが、有線により入力情報が送信されてもよい。
上記各実施の形態では、入力装置1、ハンドヘルド装置50の動きに応じて画面上で動くポインタ2を、矢印の画像として表した。しかし、ポインタ2の画像は矢印に限られず、単純な円形、角形等でもよいし、キャラクタ画像、またはその他の画像であってもよい。
センサユニット17の、角速度センサユニット15及び加速度センサユニット16の検出軸は、上述のX’軸及びY’軸のように必ずしも互いに直交していなくてもよい。その場合、三角関数を用いた計算によって、互いに直交する軸方向に投影されたそれぞれの加速度が得られる。また同様に、三角関数を用いた計算によって、互いに直交する軸の回りのそれぞれの角速度を得ることができる。
以上の各実施の形態で説明したセンサユニット17について、角速度センサユニット15のX’及びY’の検出軸と、加速度センサユニット16のX’及びY’軸の検出軸がそれぞれ一致している形態を説明した。しかし、それら各軸は、必ずしも一致していなくてもよい。例えば、角速度センサユニット15及び加速度センサユニット16が基板上に搭載される場合、角速度センサユニット15及び加速度センサユニット16の検出軸のそれぞれが一致しないように、角速度センサユニット15及び加速度センサユニット16がその基板の主面内で所定の回転角度だけずれて搭載されていてもよい。その場合、三角関数を用いた計算によって、各軸の加速度及び角速度を得ることができる。
上記角速度センサユニット15の代わりとして、角度センサあるいは角加速度センサが用いられてもよい。角度センサとしては、地磁気センサまたはイメージセンサ等が挙げられる。例えば3軸地磁気センサが用いられる場合、角度値の変化量が検出されるので、その場合、角度値が微分演算されることで角速度値が得られる。角加速度センサは、複数の加速度センサの組み合わせにより構成され、角加速度センサにより得られる角加速度値が積分演算されることで、角速度値が得られる。
本発明の一実施の形態に係る制御システムを示す図である。 入力装置を示す斜視図である。 入力装置の内部の構成を模式的に示す図である。 入力装置の電気的な構成を示すブロック図である。 表示装置に表示される画面の例を示す図である。 ユーザが入力装置を握った様子を示す図である。 入力装置の動かし方及びこれによる画面上のポインタの動きの典型的な例を説明するための図である。 センサユニットを示す斜視図である。 加速度センサユニットへの重力の影響を説明するための図である。 一実施の形態に係る制御システムの処理を示すフローチャートである。 その回転座標変換の式及び説明図である。 入力装置の他の実施形態に係る処理を示すフローチャートである。 制御装置が主要な演算を行う場合の制御システムの処理を示すフローチャートである。 (A)〜(D)は、ハンドヘルド装置を示す模式的な図である。 (A)及び(B)は、ハンドヘルド装置の側面を模式的に示す図である。 連続的に画像の向きが制御される場合のハンドヘルド装置の図である。 ハンドヘルド装置の処理を示すフローチャートである。 入力装置を用いたさらに別の実施形態に係る処理を説明するための図である。 ハンドヘルド装置を用いたさらに別の実施形態を処理を説明するための図である。
符号の説明
1…入力装置
2…ポインタ
3…画面
15…角速度センサユニット
16…加速度センサユニット
17、117…センサユニット
19…MPU
21…送受信機
30…制御ユニット
35…MPU
40…制御装置
42…表示制御部
50…ハンドヘルド装置
55…表示部
100…制御システム

Claims (20)

  1. 入力装置の第1の方向に沿う軸回りの角速度値を検出する角速度検出部と、
    前記入力装置の、前記第1の方向に直交する第2の方向と、前記第1の方向及び前記第2の方向の両方に直交する第3の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、
    前記検出された角速度値の積分演算により前記入力装置の回転角度値を得る積分手段と、
    前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
    前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記検出された両加速度値に基づき前記入力装置の回転角度値を算出する校正手段と
    を具備する入力装置。
  2. 請求項1に記載の入力装置であって、
    前記判定手段は、前記入力装置が略等速度の状態にある場合に、前記入力装置が前記適した状態にあると判定する入力装置。
  3. 請求項2に記載の入力装置であって、
    前記判定手段は、前記角速度値の微分演算により角加速度値を得、前記得られた角加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定する入力装置。
  4. 請求項2に記載の入力装置であって、
    前記判定手段は、前記検出された両加速度値の微分演算により微分加速度値を得、前記得られた微分加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定する入力装置。
  5. 請求項1に記載の入力装置であって、
    前記判定手段は、前記入力装置の、前記第1の方向に沿う軸回りの回転角度の時間変化率が小さい場合に、前記入力装置が前記適した状態にあると判定する入力装置。
  6. 請求項1に記載の入力装置であって、
    前記判定手段は、前記入力装置が前記加速度検出部を用いて重力方向を精度良く検出できる姿勢にあるときに、前記入力装置が前記適した状態にあると判定する入力装置。
  7. 請求項6に記載の入力装置であって、
    前記判定手段は、前記検出された両加速度値の絶対値が閾値を超える場合に、前記入力装置が前記適した状態にあると判定する入力装置。
  8. 請求項3に記載の入力装置であって、
    前記得られた角加速度値に、ユーザが入力装置を動かすときの回転半径を乗じることにより、重力加速度が除去された前記入力装置の加速度値である慣性加速度値を得る取得手段をさらに具備する入力装置。
  9. 請求項8に記載の入力装置であって、
    前記判定手段は、前記得られた慣性加速度値に基づき前記入力装置が略等速度の状態にあるか否かを判定する入力装置。
  10. 請求項1に記載の入力装置であって、
    前記検出された加速度値から、前記入力装置の動きによる慣性加速度値を減じた値に基づき、前記入力装置の回転角度値を算出する算出手段をさらに具備する入力装置。
  11. 請求項1に記載の入力装置であって、
    少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、ユーザが前記入力装置を介しての操作の対象画像となる、画面上での画像の動きを制御するための制御情報を算出する制御情報算出手段をさらに具備する入力装置。
  12. 請求項11に記載の入力装置であって、
    前記制御情報算出手段は、さらに、前記検出された両方の加速度値のうち少なくとも一方と、前記角速度値と、のうち少なくとも一方に基づき、前記制御情報を算出する入力装置。
  13. 請求項1に記載の入力装置であって、
    前記角速度検出部は、前記入力装置の前記第2の方向に沿う軸回りの角速度値をさらに検出し、
    前記加速度検出部は、前記入力装置の前記第1の方向に作用する加速度値をさらに検出し、
    前記積分手段は、前記検出された前記第2の方向に沿う軸回りの角速度値の積分演算により、前記入力装置の前記第2の方向に沿う軸回りの回転角度値である第2の回転角度値を得、
    前記判定手段により、前記入力装置が、前記第2の回転角度値を校正するために適した状態にあると判定された場合、前記校正手段は、前記第2の回転角度値を校正するために、前記検出された前記第1及び第3の方向にそれぞれ作用する加速度値に基づき前記入力装置の第2の回転角度値を算出する入力装置。
  14. 入力装置の第1の方向に沿う軸回りの角速度値を検出する角速度検出部と、前記入力装置の、前記第1の方向に直交する第2の方向と、前記第1の方向及び前記第2の方向の両方に直交する第3の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、前記検出された両方の加速度値及び角速度値の情報を送信する送信手段とを有する入力装置から送信された前記情報に基づき、画面上での画像の動きを制御する制御装置であって、
    前記送信された情報を受信する受信手段と、
    前記受信された角速度値の積分演算により前記入力装置の回転角度値を得る積分手段と、
    前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値、及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
    前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記受信された両加速度値に基づき前記入力装置の回転角度値を算出する校正手段と
    少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記画面上での前記画像の動きを制御する制御手段と
    を具備する制御装置。
  15. 表示部と、
    ハンドヘルド装置の第1の方向に沿う軸回りの角速度値を検出する角速度検出部と、
    前記ハンドヘルド装置の、前記第1の方向に直交する第2の方向と、前記第1の方向及び第2の方向の両方に直交する第3の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、
    前記検出された角速度値の積分演算により前記ハンドヘルド装置の回転角度値を得る積分手段と、
    前記ハンドヘルド装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
    前記判定手段により、前記ハンドヘルド装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された両加速度値に基づき前記ハンドヘルド装置の回転角度値を算出する校正手段と、
    少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記表示部の画面上での画像の動きを制御する制御手段と
    を具備するハンドヘルド装置。
  16. 請求項15に記載のハンドヘルド装置であって、
    前記判定手段は、前記ハンドヘルド装置が前記加速度検出部を用いて重力方向を精度良く検出できる姿勢にあるときに、前記ハンドヘルド装置が前記適した状態にあると判定する入力装置。
  17. 請求項15に記載のハンドヘルド装置であって、
    前記判定手段は、前記ハンドヘルド装置が略等速度の状態にある場合に、前記ハンドヘルド装置が前記適した状態にあると判定する入力装置。
  18. 入力装置であって、
    前記入力装置の第1の方向に沿う軸回りの角速度値を検出する角速度検出部と、
    前記入力装置の、前記第1の方向に直交する第2の方向と、前記第1の方向及び前記第2の方向の両方に直交する第3の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、
    前記検出された角速度値の積分演算により前記入力装置の回転角度値を得る積分手段と、
    前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
    前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記検出された両方向の加速度値に基づき前記入力装置の回転角度値を算出する校正手段と、
    少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、ユーザが前記入力装置を介しての操作の対象画像となる、画面上での画像の動きを制御するための制御情報を算出する制御情報算出手段と、
    前記算出された制御情報を送信する送信手段とを有する入力装置と、
    制御装置であって、
    前記送信された情報を受信する受信手段と、
    前記受信された前記制御情報に基づき、前記画面上での前記画像の動きを制御する制御手段とを有する制御装置と
    を具備する制御システム。
  19. 入力装置であって、
    前記入力装置の第1の方向に沿う軸回りの角速度値を検出する角速度検出部と、
    前記入力装置の、前記第1の方向に直交する第2の方向と、前記第1の方向及び前記第2の方向の両方に直交する第3の方向とにそれぞれ作用する加速度値を検出する加速度検出部と、
    前記検出された両方の加速度値及び角速度値の情報を送信する送信手段とを有する入力装置と、
    制御装置であって、
    前記送信された情報を受信する受信手段と、
    前記受信された角速度値の積分演算により前記入力装置の回転角度値を得る積分手段と、
    前記入力装置が、前記積分演算により得られた回転角度値を校正するために適した状態にあるか否かを、前記検出された両加速度値及び角速度値のうち少なくとも一方に基づき判定する判定手段と、
    前記判定手段により、前記入力装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記回転角度値を校正するために、前記受信された両加速度値に基づき前記入力装置の回転角度値を算出する校正手段と
    少なくとも前記積分手段で得られた前記回転角度値及び前記校正手段で算出された前記回転角度値に基づき、前記画面上での前記画像の動きを制御する制御手段とを有する制御装置と
    を具備する制御システム。
  20. 装置の角速度値及び加速度値を検出し、
    前記検出された角速度値の積分演算により前記装置の回転角度値を得、
    前記装置の前記加速度値に基づいて算出された回転角度値を用いて、前記積分演算で得た回転角度値を校正するために適した状態にあるか否かを、前記検出された加速度値または角速度値のうち少なくとも一方に基づき判定し、
    前記判定により、前記装置が、前記回転角度値を校正するために適した状態にあると判定された場合、前記検出された加速度値に基づき前記入力装置の回転角度値を算出する
    制御方法。
JP2008335808A 2008-12-29 2008-12-29 入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法 Pending JP2010157157A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008335808A JP2010157157A (ja) 2008-12-29 2008-12-29 入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008335808A JP2010157157A (ja) 2008-12-29 2008-12-29 入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法

Publications (1)

Publication Number Publication Date
JP2010157157A true JP2010157157A (ja) 2010-07-15

Family

ID=42575032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008335808A Pending JP2010157157A (ja) 2008-12-29 2008-12-29 入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法

Country Status (1)

Country Link
JP (1) JP2010157157A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411437A (zh) * 2010-09-21 2012-04-11 申金坡 对鼠标绕z轴旋转后的倾角进行补偿的方法及设备
WO2014188549A1 (ja) * 2013-05-22 2014-11-27 株式会社東芝 機器制御方法、機器制御装置、プログラムおよび電子機器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411437A (zh) * 2010-09-21 2012-04-11 申金坡 对鼠标绕z轴旋转后的倾角进行补偿的方法及设备
CN102411437B (zh) * 2010-09-21 2017-09-08 申金坡 对鼠标绕z轴旋转后的倾角进行补偿的方法及设备
WO2014188549A1 (ja) * 2013-05-22 2014-11-27 株式会社東芝 機器制御方法、機器制御装置、プログラムおよび電子機器
JP5659303B1 (ja) * 2013-05-22 2015-01-28 株式会社東芝 機器制御方法、機器制御装置、プログラムおよび電子機器

Similar Documents

Publication Publication Date Title
JP5293603B2 (ja) 入力装置、制御装置、制御システム、制御方法及びハンドヘルド装置
JP5201146B2 (ja) 入力装置、制御装置、制御システム、制御方法及びハンドヘルド装置
US9829998B2 (en) Information processing apparatus, input apparatus, information processing system, information processing method, and program
JP4582116B2 (ja) 入力装置、制御装置、制御システム、制御方法及びそのプログラム
US8576168B2 (en) Input apparatus, control apparatus, control system, control method, and handheld apparatus
JP4325707B2 (ja) 入力装置、制御装置、制御システム及び制御方法
JP5407863B2 (ja) 入力装置、制御装置、制御システム及び制御方法
US8395583B2 (en) Input apparatus, control apparatus, control system, control method, and handheld apparatus
US20080042973A1 (en) System for sensing yaw rate using a magnetic field sensor and portable electronic devices using the same
US8614671B2 (en) Input apparatus, control apparatus, control system, and control method
JP2009301531A (ja) 空間操作型入力装置、制御装置、制御システム、制御方法、空間操作型入力装置の製造方法及びハンドヘルド装置
JP2010152761A (ja) 入力装置、制御装置、制御システム、電子機器及び制御方法
US8441436B2 (en) Input apparatus, control apparatus, control system, control method, and handheld apparatus
JP2009140107A (ja) 入力装置及び制御システム
JP2009265897A (ja) ハンドヘルド型情報処理装置、制御装置、制御システム及び制御方法
JP2010152587A (ja) 入力装置、制御システム、ハンドヘルド装置及び校正方法
JP2010157157A (ja) 入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法
JP2010157106A (ja) 入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法