(57)【特許請求の範囲】
【請求項１】
ユーザによるゲーム操作データをゲーム装置に伝送するゲームコントローラであって、
当該ゲームコントローラの動きを検出する動きセンサと、
前記動きセンサの出力に設けられるローパスフィルタと、
少なくとも１つの振動子とを備え、
前記ローパスフィルタのカットオフ周波数は、当該ゲームコントローラの固有周波数よりも低く設定されることを特徴とするゲームコントローラ。
【請求項２】
前記ローパスフィルタのカットオフ周波数は、前記振動子の振動に起因する当該ゲームコントローラの振動成分の少なくとも一部を除去できるように設定されることを特徴とする請求項１に記載のゲームコントローラ。
【請求項３】
前記ローパスフィルタのカットオフ周波数は、当該ゲームコントローラの固有周波数のピーク値の２／３倍以下に設定されることを特徴とする請求項１または２に記載のゲームコントローラ。
【請求項４】
前記ローパスフィルタは、異なるカットオフ周波数をもつフィルタ回路を選択的に利用可能に構成されることを特徴とする請求項１から３のいずれかに記載のゲームコントローラ。
【請求項５】
前記ローパスフィルタのカットオフ周波数は、１５Ｈｚ以下の所定値に設定されることを特徴とする請求項１から４のいずれかに記載のゲームコントローラ。
【請求項６】
前記動きセンサの出力を所定の送信周期で送信する無線通信モジュールをさらに備え、
前記ローパスフィルタによる遅延時間は、前記無線通信モジュールの送信周期の２倍よりも短く設定されることを特徴とする請求項１から５のいずれかに記載のゲームコントローラ。
【請求項７】
前記ローパスフィルタによる遅延時間は、前記無線通信モジュールの送信周期よりも短く設定されることを特徴とする請求項６に記載のゲームコントローラ。
【請求項８】
前記動きセンサの出力を所定の送信周期で送信する無線通信モジュールと、
前記動きセンサと前記ローパスフィルタとの間に配置される別のローパスフィルタをさらに備え、
２段の前記ローパスフィルタによる遅延時間は、前記無線通信モジュールの送信周期の２倍よりも短く設定されていることを特徴とする請求項１から５のいずれかに記載のゲームコントローラ。
【請求項９】
２段ローパスフィルタを構成する各ローパスフィルタによる遅延時間は、前記無線通信モジュールの送信周期よりも短く設定されていることを特徴とする請求項８に記載のゲームコントローラ。
【請求項１０】
前記動きセンサは、少なくとも１つの加速度センサと、角速度センサを含み、
前記加速度センサと前記ローパスフィルタとの間に設けられるパッシブフィルタと、
前記角速度センサと前記ローパスフィルタとの間に設けられるアクティブフィルタとを、さらに備えることを特徴とする請求項１から９のいずれかに記載のゲームコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームコントローラの技術に関する。
【背景技術】
【０００２】
ゲームシステムにおいて、モータなどの振動子を備えたゲームコントローラが普及している。ゲームの進行にあわせて振動子が駆動されることで、ユーザに現実感を与えることができる。
【０００３】
また近年、ゲームコントローラに動きセンサを搭載して、ゲームコントローラの姿勢や動きそのものをゲームへの入力として利用することが現実化されている。ユーザがゲームコントローラを動かすと、動きセンサはゲームコントローラの傾きや回転量などを検出し、その検出値をゲーム装置に送信することで、従来からあるボタン操作とは異なるゲーム入力が実現される。たとえばレーシングゲームでは、ゲームコントローラが自動車のハンドルのように扱われて、ユーザは、ボタン操作よりもリアルな感覚をもってゲームを行うことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ゲームコントローラに振動子と動きセンサが搭載された場合、動きセンサは、ユーザの動作により与えられるゲームコントローラの動き成分に加えて、振動子の振動に起因するゲームコントローラの動き成分も検出する。そのため、ユーザが本来意図するゲーム操作とは異なる入力がゲームキャラクタの挙動に反映されることがあり、ユーザに違和感を生じさせることもある。
【０００５】
そこで本発明は、加速度センサや角速度センサなどの動きセンサの出力から、振動子の振動に起因するゲームコントローラの動き成分を簡易に除去または低減する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様のゲームコントローラは、ユーザによるゲーム操作データをゲーム装置に伝送するゲームコントローラであって、当該ゲームコントローラの動きを検出する動きセンサと、動きセンサの出力に設けられるローパスフィルタと、少なくとも１つの振動子とを備える。ローパスフィルタのカットオフ周波数は、当該ゲームコントローラの固有周波数（固有振動数）よりも低く設定される。なお、ゲームコントローラは、複数の固有周波数のピーク値を有することが考えられるが、その場合には、ローパスフィルタのカットオフ周波数が、最も低い固有周波数のピーク値よりも低く設定されることが好ましい。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によると、動きセンサの出力から、振動子の振動に起因するゲームコントローラの動き成分を簡易に除去または低減する技術を提供することができる。
【発明を実施するための最良の形態】
【０００９】
図１は、本発明の実施例にかかるゲームシステムの使用環境を示す。ゲームシステム１は、画像表示装置３、音声出力装置４、ゲーム装置１０およびコントローラ２０を備える。画像表示装置３、音声出力装置４およびコントローラ２０は、ゲーム装置１０に接続される。
【００１０】
画像表示装置３は画像信号を出力するディスプレイであって、ゲーム装置１０において生成された画像信号を受けて、ゲーム画面を表示する。音声出力装置４は音声を出力するスピーカであって、ゲーム装置１０において生成された音声信号を受けて、ゲーム音声を出力する。画像表示装置３および音声出力装置４は、ゲームシステム１における出力装置を構成する。ゲーム装置１０と出力装置は、ＡＶケーブルなどの有線により接続されてもよく、また無線により接続されてもよい。またゲーム装置１０と出力装置との間には、ネットワーク（ＬＡＮ）ケーブルやワイヤレスＬＡＮなどで構築したホームネットワークが構築されてもよい。
【００１１】
コントローラ２０は、ユーザがゲーム中のキャラクタを動作させるゲーム操作データを入力するための入力装置であり、またゲーム装置１０は、コントローラ２０から供給されるゲーム操作データをもとにゲームアプリケーションを処理して、ゲームアプリケーションの処理結果を示す画像信号および音声信号を生成する処理装置である。なお、本実施例に示す技術は、ゲームアプリケーションに限らず、他の種類のアプリケーションを実行する処理装置を備えたエンタテインメントシステムにおいても実現できる。以下では、エンタテインメントシステムを代表して、ゲームアプリケーションを実行するゲームシステム１について説明する。
【００１２】
コントローラ２０は、ユーザによるゲーム操作データをゲーム装置１０に伝送する機能をもち、本実施例ではゲーム装置１０との間で無線通信可能な無線コントローラとして構成される。コントローラ２０とゲーム装置１０は、Bluetooth（ブルートゥース）（登録商標）プロトコルを用いて無線接続を確立してもよい。ゲーム操作データの送受信において、ゲーム装置１０は親機すなわちマスタとして機能し、コントローラ２０は子機すなわちスレーブとして機能する。なおコントローラ２０は、無線コントローラに限らず、ゲーム装置１０とケーブルを介して接続される有線コントローラであってもよい。
【００１３】
コントローラ２０は、図示しないバッテリにより駆動され、ゲームを進行させるゲーム入力を行うための複数のボタンやキーを有して構成される。ユーザがコントローラ２０のボタンやキーを操作すると、そのゲーム操作データが無線により周期的にゲーム装置１０に送信される。またコントローラ２０は、コントローラ２０の３軸方向の加速度を検出する３軸加速度センサと、所定の軸回りの角速度を検出する角速度センサを有して構成される。３軸加速度センサおよび角速度センサは、コントローラ２０の動きを検出する動きセンサを構成する。ゲームアプリケーションによっては、各センサの検出値がゲーム操作データとして扱われ、無線により周期的にゲーム装置１０に送信される。たとえば、コントローラ２０を自動車のハンドルに見立て、ユーザがコントローラ２０をハンドルのように動かすことで、ゲーム中の自動車を動かすレーシングゲームにおいては、３軸加速度センサおよび角速度センサの出力値がゲーム操作データとして利用される。
【００１４】
ゲーム装置１０は、コントローラ２０からゲームアプリケーションに関するゲーム操作データを受信し、ゲーム操作データに応じてゲーム進行を制御して、ゲーム画像信号およびゲーム音声信号を生成する。生成されたゲーム画像信号およびゲーム音声信号は、それぞれ画像表示装置３および音声出力装置４により出力される。またゲーム装置１０は、ゲームアプリケーションの進行状況に応じて、コントローラ２０を振動させる振動制御信号をコントローラ２０に送信する機能ももつ。コントローラ２０は振動子を有し、振動開始信号を受信すると振動子を駆動させ、振動停止信号を受信すると振動子の駆動を停止させる。なおゲーム装置１０は、振動子を駆動させるか否かを特定する振動制御信号を、送信フレームごとに送信してもよく、この場合、コントローラ２０は、この振動制御信号にしたがって動作する。
【００１５】
図２は、コントローラの外観構成を示す。コントローラ２０には、方向キー２１、アナログスティック２７と、４種の操作ボタン２６が設けられている。４種のボタン２２〜２５には、それぞれを区別するために、異なる色で異なる図形が記されている。すなわち、○ボタン２２には赤色の丸、×ボタン２３には青色のバツ、□ボタン２４には紫色の四角形、△ボタン２５には緑色の三角形が記されている。
【００１６】
ユーザは左手で左側把持部２８ａを把持し、右手で右側把持部２８ｂを把持して、コントローラ２０を操作する。方向キー２１、アナログスティック２７、操作ボタン２６は、ユーザが左側把持部２８ａ、右側把持部２８ｂを把持した状態で操作可能なように、筐体上面３０に設けられる。
【００１７】
左側把持部２８ａおよび右側把持部２８ｂの筐体内部には、モータなどで構成される振動子が配置される。コントローラ２０の無線通信モジュールがゲーム装置１０から振動開始信号を受信すると、左右の振動子が駆動され、その振動がコントローラ２０の筐体に伝達されて、コントローラ２０が振動する。またコントローラ２０の筐体内部の中央付近には、コントローラ２０の動作を制御するための基板が配置される。この基板には、既述した３軸加速度センサや角速度センサなども設けられている。なおコントローラ２０の外郭を構成する筐体は、下側筐体と上側筐体とを嵌め合わせることで構成され、振動子および基板は、下側筐体に固定されている。
【００１８】
基板上の３軸加速度センサおよび角速度センサは、コントローラ２０の動きを検出するが、振動子が駆動されたときには、その駆動により生じるコントローラ２０の振動成分も検出値に含まれる。上記したレーシングゲームにおいて、コントローラ２０を水平に維持することで自動車がまっすぐに走るようなゲーム設定がされている場合、振動子が駆動されると、まっすぐに走行するはずの自動車が、振動成分によりジグザグ走行するようなことも想定される。このような自動車の挙動はユーザに違和感を与えることになるため、振動子による振動成分は、可能な限りゲーム操作データから取り除くことが好ましい。以下において、ユーザの動作によるコントローラ２０の姿勢や動きを、できるだけ忠実にゲーム中のキャラクタに反映させる仕組みを説明する。
【００１９】
図３は、コントローラの内部構成を示す。コントローラ２０は、処理部９０を有し、さらに、モータと偏心部材から構成される振動子８０ａ、８０ｂと、無線通信モジュール９２とを備える。振動子８０ａ、８０ｂは、それぞれコントローラ２０の左側把持部２８ａ、右側把持部２８ｂの筐体内部に配置される。無線通信モジュール９２は、ゲーム装置１０の無線通信モジュールとの間でデータを送受信する機能をもつ。処理部９０は、コントローラ２０における所期の処理を実行する。処理部９０および無線通信モジュール９２の機能は、筐体内部に設けられる基板に作り込まれた回路として実現されてもよい。
【００２０】
処理部９０は、メイン制御部５０、入力受付部５２、センサユニット５６、フィルタユニット６０、アナログデジタル変換装置６４、平均処理ユニット６８、メモリ７０、読出部７２、通信制御部７４および駆動制御部７６を備える。通信制御部７４は、無線通信モジュール９２との間で必要なデータの送受を行う。
【００２１】
入力受付部５２は、方向キー２１、操作ボタン２６、アナログスティック２７などの入力部からの入力情報を受け付け、メイン制御部５０に送る。メイン制御部５０は、受け取った入力情報をメモリ７０に供給し、記憶させる。各種入力部からの入力情報は、メモリ７０においてそれぞれに割り当てられる領域に上書きして記憶される。
【００２２】
通信制御部７４は、所定の周期で無線通信モジュール９２の送信処理を制御する。ゲーム装置１０のゲーム画像のフレーム周期は１／６０秒に設定されているため、無線通信モジュール９２の送信周期は、１／６０秒以下の時間、たとえば１１．２５ｍ秒に設定される。読出部７２は、無線通信モジュール９２の送信周期にあわせてメモリ７０からデータを読み出し、通信制御部７４に供給する。各種入力部からの情報は、それぞれの記憶領域において上書き保存されているため、読出部７２は、最新のゲーム操作データを通信制御部７４に供給できる。
【００２３】
センサユニット５６は、複数の加速度センサ５４および角速度センサ５３を有する。センサユニット５６が３軸加速度センサを含む場合、センサユニット５６は、３つの加速度センサ５４を有して構成される。加速度センサ５４および角速度センサ５３は、ユーザの動作によるコントローラ２０の動きを検出する。本実施例において加速度センサ５４および角速度センサ５３の検出値は、ゲームアプリケーションのゲーム操作データとして利用される。
【００２４】
フィルタユニット６０は、複数のローパスフィルタ（ＬＰＦ）５８、５７を有する。ＬＰＦ５８は、加速度センサ５４の下流に設けられ、加速度センサ５４の出力のうち、カットオフ周波数以下の周波数成分を通過させ、カットオフ周波数近傍から、それ以上の周波数成分を減衰させるフィルタである。ＬＰＦ５７は、角速度センサ５３の下流に設けられ、角速度センサ５３の出力のうち、カットオフ周波数以下の周波数成分を通過させ、カットオフ周波数近傍から、それ以上の周波数成分を減衰させるフィルタである。ＬＰＦ５８およびＬＰＦ５７は、パッシブフィルタとして構成され、同一のカットオフ周波数を有するように構成されてもよい。パッシブフィルタはアクティブフィルタに比べて、そのフィルタ動作に電力を要しないため、バッテリ駆動のコントローラ２０においては好適である。
【００２５】
なお図示していないが、加速度センサ５４とＬＰＦ５８の間には、さらにパッシブフィルタが設けられてもよい。このパッシブフィルタは、加速度センサ５４の内部に形成されてもよく、また加速度センサ５４の内部抵抗と、加速度センサ５４の外部に設けたコンデンサにより形成されてもよい。またこのパッシブフィルタは、加速度センサ５４の外部において、ＬＰＦ５８と直列されるように形成されてもよい。このパッシブフィルタのカットオフ周波数は、ＬＰＦ５８のカットオフ周波数以上に設定される。
【００２６】
同様に図示していないが、角速度センサ５３とＬＰＦ５７の間には、さらにアクティブフィルタが設けられてもよい。アクティブフィルタは、ＯＰアンプやトランジスタなどの増幅素子を有し、角速度センサ５３の出力を増幅して、ＬＰＦ５７に供給する機能をもつ。角速度センサ５３の出力は、加速度センサ５４の出力と比較すると小さいため、アクティブフィルタで増幅することで、ゲーム操作データとして好適に利用されることが可能となる。アクティブフィルタのカットオフ周波数は、ＬＰＦ５７のカットオフ周波数以上に設定される。
【００２７】
アナログデジタル変換装置６４は、複数のアナログデジタル変換器（ＡＤＣ）６２、６３を有する。ＡＤＣ６２は、ＬＰＦ５８から出力されるアナログ信号をデジタル信号に変換する。ＡＤＣ６３は、ＬＰＦ５７から出力されるアナログ信号をデジタル信号に変換する。サンプリング周期は、無線通信モジュール９２による送信周期と比較して短く設定されることが好ましく、たとえば２ｍ秒程度であってよい。アナログデジタル変換装置６４は、固定のサンプリング周期を保持してもよく、またメイン制御部５０によりサンプリング周期を所望に制御されてもよい。
【００２８】
平均処理ユニット６８は、複数の平均処理部６６、６７を有する。平均処理部６６は、ＡＤＣ６２から出力されるサンプリング値を、無線通信モジュール９２の送信周期の間、平均処理し、メモリ７０において割り当てられる領域に上書きする。平均処理部６７は、ＡＤＣ６３から出力されるサンプリング値を、無線通信モジュール９２の送信周期の間、平均処理し、メモリ７０において割り当てられる領域に上書きする。このように、平均処理部６６、６７が、送信周期の間のサンプリング値を平均化することで、センサ出力に重畳されている振動子８０起因の筐体の振動成分の影響を低減することが可能となる。なお、処理部９０において、平均処理部６６、６７は存在しなくてもよく、その場合には、ＡＤＣ６２、６３のサンプリング値は、メモリ７０においてそれぞれに割り当てられる領域に、サンプリング周期で上書きされて記憶されることになる。
【００２９】
既述したように、読出部７２は、無線通信モジュール９２の送信周期で特定される送信タイミングにあわせてメモリ７０からデータを読み出し、通信制御部７４に供給する。平均処理部６６、６７、またはＡＤＣ６２、６３から供給されるセンサ出力値は、それぞれの記憶領域において上書き保存されているため、読出部７２は、最新のセンサ情報を通信制御部７４に供給できる。通信制御部７４は、無線通信モジュール９２から、入力受付部５２で受け付けた操作ボタン２６などの操作情報とともに、動きセンサ、すなわち加速度センサ５４および角速度センサ５３により取得されたセンサ情報をゲーム操作データとして、ゲーム装置１０に送信させる。
【００３０】
また無線通信モジュール９２は、ゲーム装置１０から振動開始または振動停止を指示する振動制御信号を受信すると、メイン制御部５０に供給する。メイン制御部５０は、振動制御信号を駆動制御部７６に供給し、駆動制御部７６は、振動制御信号をもとに振動子８０ａ、８０ｂを動作させる。駆動制御部７６は、振動子８０ａ、８０ｂを駆動するためのスイッチとして構成されてもよく、また供給電圧のデューティ比を可変とするＰＷＭ制御部として構成されてもよい。
【００３１】
図４は、加速度センサに設けられるローパスフィルタの構成を示す。加速度センサ５４の出力は、ＬＰＦ６１およびＬＰＦ５８からなる２段構成の２次パッシブフィルタ５９によりフィルタリング処理される。この２次パッシブフィルタ５９は、２段ローパスフィルタを構成している。２次パッシブフィルタ５９のカットオフ周波数は、ＬＰＦ６１のカットオフ周波数およびＬＰＦ５８のカットオフ周波数の小さい方として定められる。図３にも示すように、ＬＰＦ５８は、加速度センサ５４の出力の下流に配置され、ＬＰＦ６１は、加速度センサ５４とＬＰＦ５８の間に配置される。図４の例では、ＬＰＦ６１は、加速度センサ５４における内部抵抗Ｒ１と、容量Ｃ１から構成される。ＬＰＦ５８は、抵抗Ｒ２と、容量Ｃ２から構成される。なお、フィルタの次数は２次に限定されるものではないが、後述するように、コントローラ２０においては２次であることが好適である。
【００３２】
本実施例のコントローラ２０には、加速度センサ５４および角速度センサ５３とともに、自らが振動する振動子８０が存在している。加速度センサ５４などの動きセンサでは、ユーザの動作によるコントローラ２０の動きが正確に検出されることが好ましく、動きセンサが、振動子８０の振動により筐体に与えられる振動成分を検出することは好ましくない。通常、ユーザがコントローラ２０を動かすスピードには限界があるため、２次パッシブフィルタ５９のカットオフ周波数を、人間がコントローラ２０を動かす限界周波数もしくはそれ以下に設定することで、加速度センサ５４がユーザの動作によるコントローラ２０の動きを検出できるとともに、振動子８０の振動に起因するコントローラ２０の振動成分を加速度センサ５４の出力から除去することができる。
【００３３】
また、加速度センサ５４などの動きセンサによる検出値に影響を与える振動成分は、振動子８０自身の振動成分よりも、振動子８０の振動に起因する共振成分の方がはるかに大きい。そこで、本実施例のゲーム装置１０では、筐体内の部材を筐体にきつく固定することで、コントローラ２０の固有周波数のピーク値を高く設定することが好ましい。これによりＬＰＦ５８のカットオフ周波数を、コントローラ２０の固有周波数のピーク値よりも低く設定することができ、２次パッシブフィルタ５９において、共振成分の少なくとも一部を除去することが可能となる。このとき、ＬＰＦ５８のカットオフ周波数は、コントローラ２０の固有周波数のピーク値の２／３以下に設定することで、共振成分の多くを除去することが可能となる。
【００３４】
図５は、角速度センサに設けられるローパスフィルタの構成を示す。角速度センサ５３の出力は、ＬＰＦ４２およびＬＰＦ５７からなる２段構成の２段ローパスフィルタ４４によりフィルタリング処理される。２段ローパスフィルタ４４のカットオフ周波数は、ＬＰＦ４２のカットオフ周波数およびＬＰＦ５７のカットオフ周波数の小さい方として定められる。図３にも示すように、ＬＰＦ５７は、角速度センサ５３の出力の下流に配置され、ＬＰＦ４２は、角速度センサ５３とＬＰＦ５７の間に配置される。既述したように、ＬＰＦ４２は、角速度センサ５３の出力を増幅するべく、アクティブフィルタとして構成される。図５の例では、ＬＰＦ４２は、角速度センサ５３における内部抵抗Ｒ３と、ＯＰアンプ、抵抗Ｒ４と、容量Ｃ３から構成される。ＬＰＦ５７は、抵抗Ｒ５と、容量Ｃ４から構成される。
【００３５】
図４に関連して説明したように、ユーザがコントローラ２０を動かすスピードには限界があるため、２段ローパスフィルタ４４のカットオフ周波数を、人間がコントローラ２０を動かす限界周波数もしくはそれ以下に設定することで、角速度センサ５３がユーザの動作によるコントローラ２０の動きを検出できるとともに、振動子８０の振動に起因するコントローラ２０の振動成分を角速度センサ５３の出力から除去することができる。また本実施例のゲーム装置１０では、筐体内の部材を筐体にきつく固定することで、コントローラ２０の固有周波数のピーク値を高く設定し、これによりＬＰＦ５７のカットオフ周波数を、コントローラ２０の固有周波数のピーク値よりも低く設定することができ、２段ローパスフィルタ４４において、共振成分の少なくとも一部を除去することが可能となる。このとき、ＬＰＦ５７のカットオフ周波数は、コントローラ２０の固有周波数のピーク値の２／３以下に設定することで、共振成分の多くを除去することが可能となる。
【００３６】
図６（ａ）は、コントローラの上側筐体を外して、下側筐体に固定される基板および振動子を露出させた状態を示す。基板８８は横長の形状を有し、下側筐体の前方中央位置に固定される。振動子８０ａは、モータ８２ａと、モータシャフトの先端に取り付けられた偏心部材８６ａを有し、一対の締結爪８４ａにより挟持されて、下側筐体の左側把持部２８ａの位置に固定される。同様に振動子８０ｂは、モータ８２ｂと偏心部材８６ｂを有し、一対の締結爪８４ｂにより挟持されて、下側筐体の右側把持部２８ｂの位置に固定される。偏心部材８６は半円形状を有して、モータシャフトに対して偏心して固定され、モータシャフトが回転すると、筐体を振動させる。
【００３７】
図６（ｂ）は、モータの固定構造を示す。一対の締結爪８４は下側筐体から延出され、モータ８２は、一対の締結爪８４の間に押し込まれる。モータ８２が押し込まれた状態で、一対の締結爪８４は、互いに近づく方向にモータ８２を押しつける弾性を有し、この弾性力でモータ８２は下側筐体にきつく固定される。なお基板８８についても、固有周波数を上げるべく、下側筐体にきつく固定される。
【００３８】
図７は、コントローラの振動周波数と、加速度センサで検出されるノイズレベルの関係を取得した実験結果を示す。なお、加速度センサ５４の出力は、ＬＰＦ６１およびＬＰＦ５８などのフィルタを通さずに検出した値であって、すなわち加速度センサ５４の検出値そのものが示されている。この実験結果によると、コントローラ２０に印加される振動の周波数が大体１５Ｈｚから２０Ｈｚの間で、加速度センサ５４で検出するノイズが大幅に増加する傾向が認められる。また、図示されるように、コントローラ２０の固有周波数（固有振動数）のピーク値は、大体２２Ｈｚとなっている。したがって、コントローラ２０の筐体に印加される振動成分を効果的に除去するためには、ＬＰＦ５８のカットオフ周波数が１５Ｈｚ以下であればよいことを、発明者はこの実験結果により見いだした。
【００３９】
ユーザの動作によりコントローラ２０に与えられる振動数は、振動子８０の振動によりコントローラ２０に与えられる振動数よりも一般には低い。既述したように、人間がコントローラ２０を動かすスピードには限界があり、通常は１５Ｈｚを超えることはないと考えられる。したがって、ＬＰＦ５８のカットオフ周波数を、１５Ｈｚ以下の所定値、たとえば１５Ｈｚに設定すると、ＬＰＦ５８は、ユーザの動きに起因する振動成分を好適に出力できるとともに、振動子８０の振動に起因する振動成分を効果的に除去することが可能となる。
【００４０】
一方で、ＬＰＦ５８のカットオフ周波数をユーザ動作によるコントローラ２０の動きを検出できる範囲で可能な限り低くすると（たとえば５Ｈｚ程度）、振動子８０に起因するコントローラ２０の振動を効果的に除去できるが、一方で時定数の影響により、ＬＰＦ５８における遅延時間が大きくなる。ゲームシステム１においては、ユーザによるゲーム操作データを、瞬時にゲーム中のキャラクタの動きに反映させることが好ましく、ＬＰＦ５８における遅延時間は、できるだけ小さくすることが好ましい。具体的には、ＬＰＦ５８による遅延時間は、無線通信モジュール９２の送信周期よりも短く設定されることが好ましい。これにより、ＬＰＦ５８を設けたことで、センサ出力値の送信に２送信周期以上の遅延が発生することはなく、最大でも１送信周期の遅延ですむことになる。
【００４１】
ＬＰＦ５８を構成する抵抗Ｒ２の抵抗値を３３ｋΩ、容量Ｃ２の容量値を０．３３μＦとする。このように抵抗値および容量値を設定することで、ＣＲフィルタのカットオフ周波数は約１５Ｈｚとなる。このとき、時定数による遅延時間は、約１０．８９ｍ秒である。既述したように、本実施例において無線通信モジュール９２の送信周期は、１１．２５ｍ秒に設定されているため、カットオフ周波数を１５Ｈｚに設定したときのＬＰＦ５８の遅延時間は、無線通信モジュール９２の送信周期よりも短くなる。これにより、ＬＰＦ５８を設けても、センサ出力値の送信遅延時間を最大でも無線通信モジュール９２の１送信周期に抑えることができる。
【００４２】
図４を参照して、ＬＰＦ５８の前段に配置されるＬＰＦ６１は、１５Ｈｚのカットオフ周波数を有するように、ＬＰＦ５８と同じ構造を有してもよい。これにより、２次パッシブフィルタ５９による遅延時間を、最大でも無線通信モジュール９２の２送信周期に抑えることができる。これにより、リアルタイム性が要求されるゲームにおいても許容可能な遅延時間を実現できる。
【００４３】
なお以上は、加速度センサ５４の出力に設けられたＬＰＦ５８について説明したが、同様の理由により、角速度センサ５３の出力に設けられたＬＰＦ５７についても、時定数による遅延時間を加味した適切なカットオフ周波数が設定される。
【００４４】
図５を参照して、具体的に、ＬＰＦ５７は、１５Ｈｚのカットオフ周波数をもったＬＰＦ５８と同じ構造を有してよい。すなわちＬＰＦ５７を構成する抵抗Ｒ５の抵抗値を３３ｋΩ、容量Ｃ４の容量値を０．３３μＦとしてもよい。また、ＬＰＦ５７の前段に配置されるＬＰＦ４２は、約１ｋＨｚのカットオフ周波数をもつように抵抗値、容量値などが定められてもよい。これにより、２段ローパスフィルタ４４による遅延時間を、最大でも無線通信モジュール９２の２送信周期に抑えることができる。これにより、リアルタイム性が要求されるゲームにおいても許容可能な遅延時間を実現できる。
【００４５】
図８は、加速度センサの下流に設けるＬＰＦについてのシミュレーション結果を示す。このシミュレーションでは、加速度センサ５４の下流に、１）カットオフ周波数１５ＨｚのＬＰＦを１つ設けた場合、２）カットオフ周波数１５ＨｚのＬＰＦを直列に２つ設けた場合、３）カットオフ周波数７．５ＨｚのＬＰＦを１つ設けた場合について、可動周波数帯域での電圧レベルと、ノイズ周波数帯域での周波数特性を調べた。
【００４６】
図８（ａ）は、可動周波数帯域での電圧レベルを示す。このシミュレーション結果から、カットオフ周波数７．５ＨｚのＬＰＦ１段では、センサ出力の減衰成分が非常に大きいことが判明した。
【００４７】
図８（ｂ）は、ノイズ周波数帯域での周波数特性を示す。このシミュレーション結果から、カットオフ周波数１５ＨｚのＬＰＦ１段では、ノイズ成分を好適に除去できないことが判明した。なお、図８（ｂ）には、ノイズ周波数帯域として１０Ｈｚから３５Ｈｚまでが示されているが、本実施例の環境においては、１５Ｈｚ以上をノイズ成分と想定している。
【００４８】
以上のシミュレーション結果より、加速度センサ５４の下流には、２つのＬＰＦ６１およびＬＰＦ５８から構成される２次パッシブフィルタ５９を設けることで、２次パッシブフィルタ５９は、ユーザによる動きを好適に出力できるとともに、振動子８０の振動に起因した振動成分をセンサ出力値から好適に除去できる。以上の理由により本実施例では、加速度センサ５４の下流に、カットオフ周波数を１５ＨｚとするＬＰＦ６１およびＬＰＦ５８を２段で設けている。
【００４９】
図９は、ＬＰＦの変形例を示す。このＬＰＦ５８は、異なるカットオフ周波数をもつフィルタ回路５８ａ、５８ｂを、スイッチ５５により選択的に利用可能に構成される。なお図４に示すＬＰＦ６１は、加速度センサ５４とＬＰＦ５８の間に設けられているが、図示を省略している。図９に示すＬＰＦ５８おいて、たとえばフィルタ回路５８ａは１０Ｈｚのカットオフ周波数をもち、フィルタ回路５８ｂは１５Ｈｚのカットオフ周波数をもってもよい。また、スイッチ５５は、フィルタ回路を経由しないバイパス経路５８ｃを選択することも可能である。
【００５０】
上記したように、フィルタ回路では時定数による遅延が発生するため、ユーザのゲーム操作データを瞬時にゲーム中のキャラクタ動作に反映させることが要求されるゲームアプリケーションでは、遅延時間の観点からは、センサ出力がフィルタ回路に接続されていないことが望ましい。そこで、振動子８０の振動が発生しないゲームアプリケーションでは、メイン制御部５０がスイッチ５５を制御して、加速度センサ５４とバイパス経路５８ｃとを接続させる。一方、振動子８０の振動が発生するゲームアプリケーションでは、低遅延が要求されるゲームアプリケーションと、低遅延が要求されないゲームアプリケーションとで、メイン制御部５０が加速度センサ５４の接続先を決定する。すなわち、低遅延が要求されるゲームアプリケーションでは、メイン制御部５０がスイッチ５５を制御して、加速度センサ５４とフィルタ回路５８ｂとを接続させ、低遅延が要求されないゲームアプリケーションでは、加速度センサ５４とフィルタ回路５８ａとを接続させる。このように、振動発生の有無、さらには低遅延要求の有無に応じてメイン制御部５０がスイッチ５５を制御することで、ゲーム装置１０に対してゲームアプリケーションに応じた適切なゲーム操作データを送信することが可能となる。
【００５１】
ゲームアプリケーションにおける振動発生の有無、低遅延要求の有無の情報は、ゲーム装置１０からコントローラ２０に予め送信されてもよい。ゲームプログラム中に、振動発生の有無、および／または低遅延要求の有無の情報が埋め込まれている場合は、ゲーム装置１０がその情報を読み出して、予めコントローラ２０に通知しておいてもよい。メイン制御部５０は、通知された情報をもとに、スイッチ５５の接続先を設定する。
【００５２】
また、振動子８０の駆動は、ゲーム装置１０から送信される振動制御信号によって制御される。したがってメイン制御部５０は、振動開始信号を受け取ると、振動子８０を振動する前にスイッチ５５をバイパス経路５８ｃからフィルタ回路５８ａまたはフィルタ回路５８ｂに切り替え、振動停止信号を受け取ると、スイッチ５５をバイパス経路５８ｃに戻してもよい。これにより、振動子８０の振動が発生している間は、振動子８０の振動に起因する振動成分をフィルタ処理しつつ、振動子８０の振動が発生していない間は、加速度センサ５４の出力がバイパス経路５８ｃに接続されるため、フィルタ処理による遅延を回避することができる。なお、以上は加速度センサ５４の下流に設けたＬＰＦ５８について説明したが、角速度センサ５３の下流に設けたＬＰＦ５７も同様の構成をとってよい。
【００５３】
図１０は、ゲーム装置の構成を示す。ゲーム装置１０は、無線通信モジュール１００、通信制御部１０２、メイン制御部１０４、センサ出力補正部１１０、振動制御信号生成部１２０、アプリケーション処理部１３０および出力部１４０を備える。本実施例におけるゲーム装置１０の処理機能は、ＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置１０に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。図示の例では、ゲーム装置１０のＣＰＵが、通信制御部１０２、メイン制御部１０４、センサ出力補正部１１０、振動制御信号生成部１２０、アプリケーション処理部１３０としての機能を実現する。なお、ハードウェアの構成上、ゲーム装置１０は複数のＣＰＵを有してもよい。このような場合、１つのＣＰＵが無線通信モジュール１００の動作を制御する通信制御部１０２として機能し、別のＣＰＵがゲーム装置１０全体の動作を制御するメイン制御部１０４として機能し、別のＣＰＵがゲームアプリケーションを実行するアプリケーション処理部１３０および振動制御信号生成部１２０として機能し、また別のＣＰＵがセンサ出力を補正するセンサ出力補正部１１０として機能してもよい。
【００５４】
通信制御部１０２は、無線通信モジュール１００との間で必要なデータを送受して、無線通信モジュール１００の通信処理を制御し、無線通信モジュール１００は、コントローラ２０の無線通信モジュール９２との間で無線通信を確立する。無線通信モジュール１００および無線通信モジュール９２は、たとえばBluetooth（登録商標）プロトコルによる接続を確立する。コントローラ２０の無線通信モジュール９２からは、所定の周期でゲーム操作データなどのデータが送信され、通信制御部１０２は、無線通信モジュール１００で受信したデータをメイン制御部１０４に供給する。
【００５５】
メイン制御部１０４は、方向キー２１などの入力部から入力されたゲーム操作データをアプリケーション処理部１３０に供給する。アプリケーション処理部１３０は、ゲーム操作データをゲームアプリケーションの処理に反映する。
【００５６】
またメイン制御部１０４は、デジタル化されたセンサ出力値をセンサ出力補正部１１０に供給する。アプリケーション処理部１３０で起動されているゲームアプリケーションは、センサ出力値をゲーム操作データとして利用するものであり、センサ出力補正部１１０は、センサ出力値を適切に補正して、アプリケーション処理部１３０にゲーム操作データとして供給する。アプリケーション処理部１３０は、センサ出力値をゲームアプリケーションの処理に反映する。
【００５７】
センサ出力取得部１１２は、センサ出力を受け取ると、マスク処理部１１８に供給する。なおセンサ出力取得部１１２は、コントローラ２０から所定の送信周期で供給されるセンサ出力を平均処理して、マスク処理部１１８に供給してもよい。たとえば、センサ出力取得部１１２は、所定数の周期分のセンサ出力を平均処理する。このように、連続して供給される所定数のセンサ出力を平均化することで、センサ出力に重畳されている振動子８０起因の筐体の振動成分の影響を低減することが可能となる。マスク処理部１１８は、加速度０を含んだ所定のマスク範囲内にある加速度センサ出力をマスク処理する。具体的にマスク処理部１１８は、そのような加速度センサ出力を、加速度０に補正する。なお、コントローラ２０において加速度センサ５４は複数存在しており、センサ出力補正部１１０は、加速度センサ５４の個数分だけ設けられる。またマスク処理部１１８は、角速度０を含んだ所定のマスク範囲内にある角速度センサ出力もマスク処理する。具体的に、マスク処理部１１８は、そのような角速度センサ出力を、角速度０に補正する。
【００５８】
図１１は、ユーザの動作によるコントローラの動きを検出したセンサ出力を示す。たとえば、このセンサ出力はＺ軸成分（垂直成分）の加速度センサ出力であるとする。図１１（ａ）は、ユーザがコントローラを水平に把持して垂直方向に動かさないときのセンサ出力ＳＯ＿１０を示し、図１１（ｂ）は、ユーザがコントローラを水平に把持しながら垂直方向に上下に動かしたときのセンサ出力ＳＯ＿２０を示す。
【００５９】
図１２は、ユーザの動作によるコントローラの動きとともに、振動子の振動によるコントローラの振動を検出したセンサ出力を示す。図１２（ａ）は、ユーザがコントローラを水平に把持して垂直方向に動かさないときのセンサ出力ＳＯ＿１２を示し、図１２（ｂ）は、ユーザがコントローラを水平に把持しながら垂直方向に上下に動かしたときのセンサ出力ＳＯ＿２２を示す。図１１と比較すると、ユーザ動作によるコントローラ２０の動きに、振動子８０の振動に起因するコントローラ２０の振動が重畳していることが示される。
【００６０】
振動子８０による振動成分がセンサ出力に重畳され、そのセンサ出力がゲームキャラクタを動作させるゲーム操作データとして利用される場合、ユーザからすると、自分の動作によるゲーム入力に対してゲームキャラクタが意図しない挙動を示すことになる。そのため、本来であれば、振動子８０の振動に起因するノイズ成分は、全て除去されることが好ましい。
【００６１】
しかしながら、発明者は、ユーザがコントローラ２０を動かしている場合と、そうでない場合とで、振動子８０の振動に起因するノイズ成分がユーザに与える影響に違いがあるという知見を、被験者を通じた実験により取得した。この実験では、ユーザがゲームキャラクタの動作を固定することを意図して、コントローラ２０を動かさない場合、振動子８０の振動に起因するノイズ成分によりゲームキャラクタが動いてしまうと、ユーザが違和感を感じる傾向にあり、一方、ユーザがゲームキャラクタを動作させることを意図してコントローラ２０を動かしている場合、振動子８０の振動に起因するノイズ成分がゲームキャラクタの動作に影響しても、ユーザは、ほとんど気がつかないことが判明した。この実験を通じて、発明者は、そもそもコントローラ２０を正確に思い通りに動かすことが容易ではないため、ユーザの動作よりも小さい振幅のノイズ成分は、ユーザ動作の誤差範囲とみなすことができるという知見を得るに至った。
【００６２】
したがって、図１２（ａ）に示すＳＯ＿１２のセンサ出力は、ゲームキャラクタの動きを固定したいユーザの意図に反して、ゲームキャラクタが動いてしまうため好ましくなく、一方、図１２（ｂ）に示すＳＯ＿２２のセンサ出力は、ユーザにとって違和感のないゲームキャラクタの動作を実現できることが分かる。以上の知見をもとに、本実施例のマスク処理部１１８は、加速度０を含んだ所定範囲内の振幅成分をマスク処理することで、センサ出力を補正する。
【００６３】
図１３は、マスク処理する加速度の範囲を示す。図１３（ａ）は、センサ出力ＳＯ＿１２とマスク範囲の関係を示し、図１３（ｂ）は、センサ出力ＳＯ＿２２とマスク範囲の関係を示す。ここでは、−Ａｔｈ（Ａｔｈは正の所定値）以上、Ａｔｈ以下をマスク範囲としており、マスク範囲の負の下限値の絶対値および正の上限値を等しくしている。これは、振動子８０に起因するノイズ成分が、コントローラ２０の現在姿勢を基準に正負に略均等に振れるためである。なお、マスク範囲の負の下限値の絶対値および正の上限値は、必ずしも等しい必要はない。
【００６４】
図１４は、マスク処理する際のセンサ出力と加速度の関係を示す。この例では、センサ出力が００ｈ（ヘキサ）からＦＦｈの値をとり、センサ出力００ｈは、−３Ｇの加速度に対応し、センサ出力ＦＦｈは、＋３Ｇの加速度に対応する。たとえば、センサ出力７４ｈが、−Ａｔｈの加速度に対応し、センサ出力８Ｃｈが、＋Ａｔｈの加速度に対応すると、マスク処理部１１８は、センサ出力が、７４ｈから８Ｃｈの範囲にあるときに、加速度を０に補正して出力する。
【００６５】
図１５は、図１３に示すセンサ出力をマスク処理した結果を示す。図１５（ａ）は、センサ出力ＳＯ＿１２をマスク処理して生成したセンサ出力ＳＯ＿１４を示し、図１５（ｂ）は、センサ出力ＳＯ＿２２をマスク処理して生成したセンサ出力ＳＯ＿２４を示す。図１５（ａ）のセンサ出力ＳＯ＿１４は、マスク範囲内にある加速度成分を除去されることで、ユーザが静止させているコントローラ２０の状態を適切に表現している。一方、図１５（ｂ）のセンサ出力ＳＯ＿２４は、マスク範囲内にある加速度成分は除去されるものの、ユーザ動作によるコントローラ２０の動きを実質的に表現できている。このように、マスク処理部１１８は、加速度０の前後にある所定の加速度成分をマスク処理して無視することで、センサ出力を、適切なゲーム操作データに補正することが可能となる。
【００６６】
マスク処理部１１８は、補正したセンサ出力を、ゲーム操作データとしてアプリケーション処理部１３０に供給する。アプリケーション処理部１３０は、メイン制御部１０４から直接供給される操作ボタン２６などによるゲーム操作データとともに、マスク処理部１１８から供給されるゲーム操作データをゲームキャラクタの動作に反映した画像信号、音声信号を生成し、出力部１４０から画像表示装置３および音声出力装置４のそれぞれに供給する。
【００６７】
なおマスク処理部１１８は、コントローラ２０の動作状態をもとに、マスク処理を実行するか否かを定めてもよい。上記したようにマスク処理は、マスク範囲内の加速度成分を０に設定する処理であるため、ユーザがコントローラ２０を動かしている場合には、その動き成分もマスクされて、破棄されることになる。
【００６８】
そこで、動作状態判定部１１４が、コントローラ２０の動作状態を判定し、その判定結果をもとに、マスク処理の実行が制御されてもよい。具体的に動作状態判定部１１４は、センサ出力取得部１１２からセンサ出力を取得し、センサ出力が連続して所定時間マスク範囲内の値をとり続けるか判定する。この判定時間は、たとえば数秒であってよい。動作状態判定部１１４が、センサ出力がマスク範囲内の値を所定時間とり続けたことを判定すると、その判定結果をマスク処理部１１８に通知する。マスク処理部１１８は、この判定結果を受けると、センサ出力のマスク処理を開始する。また動作状態判定部１１４は、センサ出力がマスク範囲外の値をとったことを判定すると、その判定結果をマスク処理部１１８に通知する。マスク処理部１１８は、この判定結果を受けると、センサ出力のマスク処理を終了する。このように、動作状態判定部１１４がコントローラ２０の動作状態を監視することで、マスク処理部１１８は、適切なタイミングでマスク処理を実行することが可能となる。
【００６９】
また、コントローラ２０の動作状態は、振動子８０が振動しているか否かにより判定されてもよい。振動制御信号生成部１２０は、アプリケーション処理部１３０からの指示により振動制御信号を生成し、メイン制御部１０４に供給する。通信制御部１０２は、メイン制御部１０４から振動制御信号を受け取ると、無線通信モジュール１００からコントローラ２０に振動制御信号を送信させる。このように、コントローラ２０の振動子８０は、振動制御信号生成部１２０で生成された振動制御信号により制御されているため、このことを利用して、コントローラ２０の動作状態を判定するアプローチも有効である。
【００７０】
具体的に振動状態判定部１１６は、振動制御信号生成部１２０から振動制御信号を受け取る。これにより、振動状態判定部１１６は、これから振動子８０が振動を開始するのか、または振動を停止するのかを判定できる。振動状態判定部１１６は、振動開始信号を受け取ると、振動子８０が振動する状態にあることを判定し、マスク処理部１１８に通知する。マスク処理部１１８は、この通知を受けると、センサ出力のマスク処理を開始する。また振動状態判定部１１６は、振動停止信号を受け取ると、振動子８０の振動が停止する状態にあることを判定し、マスク処理部１１８に通知する。マスク処理部１１８は、この通知を受けると、センサ出力のマスク処理を停止する。なお、振動停止信号がコントローラ２０に供給されて、モータ８２への電力の印加が停止されても、偏心部材８６の惰性回転が停止するまでに、ある程度の時間がかかる。そのため、電力印加の停止から、偏心部材８６の回転が停止するまでの時間を考慮して、マスク処理部１１８は、通知を受けた後、所定時間の経過後に、マスク処理を停止するようにしてもよい。このように、振動状態判定部１１６が、振動子８０の振動にコントローラ２０が共振しうる状態にあるか否かを判定することで、マスク処理部１１８は、適切なタイミングでマスク処理を実行することが可能となる。
【００７１】
動作状態判定部１１４および振動状態判定部１１６を利用したマスク処理の制御は、それぞれ単独で実行することも可能であるが、組み合わせることで、コントローラ２０の動作状態を適切に反映したマスク処理を実現できる。なお、これらを組み合わせてマスク処理を制御する場合、振動状態判定部１１６による振動状態の判定結果に基づいたマスク処理制御が、動作状態判定部１１４による動作状態の判定結果に基づいたマスク処理制御よりも優先されてもよい。振動子８０の振動に起因するコントローラ２０の振動は、振動子８０が振動していなければ発生しないため、振動子８０の振動の有無を優先して判定することで、より適切なマスク処理制御を実現できる。
【００７２】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例においては、加速度センサ出力をマスク処理する例について説明したが、角速度センサ出力についても同様にマスク処理することで、振動子８０の振動に起因するコントローラ２０の振動成分を、角速度センサ出力から除去または低減することが可能である。
【００７３】
実施例においては、センサ出力の補正機能をゲーム装置１０にもたせたが、コントローラ２０がセンサ出力の補正機能を実現してもよい。たとえば、マスク処理部１１８を、コントローラ２０においてアナログデジタル変換装置６４または平均処理ユニット６８の後段に配置することで、コントローラ２０にセンサ出力の補正機能をもたせることが可能となる。なお、このとき、動作状態判定部１１４および振動状態判定部１１６の機能は、メイン制御部５０により実現される。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施例にかかるゲームシステムの使用環境を示す図である。
【図２】コントローラの外観構成を示す図である。
【図３】コントローラの内部構成を示す図である。
【図４】加速度センサの出力に設けたローパスフィルタの構成を示す図である。
【図５】角速度センサの出力に設けたローパスフィルタの構成を示す図である。
【図６】（ａ）は、下側筐体に固定される基板および振動子を露出させた状態を示す図であり、（ｂ）はモータの固定構造を示す図である。
【図７】コントローラの振動周波数と、加速度センサで検出されるノイズレベルの関係を取得した実験結果を示す図である。
【図８】加速度センサの下流に設けるＬＰＦについてのシミュレーション結果を示す図である。
【図９】ＬＰＦの変形例を示す図である。
【図１０】ゲーム装置の構成を示す図である。
【図１１】ユーザの動作によるコントローラの動きを検出したセンサ出力を示す図である。
【図１２】ユーザの動作によるコントローラの動きとともに、振動子の振動によるコントローラの振動を検出したセンサ出力を示す図である。
【図１３】マスク処理する加速度の範囲を示す図である。
【図１４】マスク処理する際のセンサ出力と加速度の関係を示す図である。
【図１５】図１３に示すセンサ出力をマスク処理した結果を示す図である。
【符号の説明】
【００７５】
１・・・ゲームシステム、３・・・画像表示装置、４・・・音声出力装置、１０・・・ゲーム装置、２０・・・コントローラ、４２・・・ＬＰＦ、４４・・・２段ローパスフィルタ、５０・・・メイン制御部、５２・・・入力受付部、５３・・・角速度センサ、５４・・・加速度センサ、５５・・・スイッチ、５６・・・センサユニット、５７、５８・・・ＬＰＦ、５８ａ・・・フィルタ回路、５８ｂ・・・フィルタ回路、５８ｃ・・・バイパス経路、５９・・・２次パッシブフィルタ、６０・・・フィルタユニット、６１・・・ＬＰＦ、６２、６３・・・ＡＤＣ、６４・・・アナログデジタル変換装置、６６、６７・・・平均処理部、６８・・・平均処理ユニット、７０・・・メモリ、７２・・・読出部、７４・・・通信制御部、７６・・・駆動制御部、８０・・・振動子、８２・・・モータ、８４・・・締結爪、８６・・・偏心部材、８８・・・基板、９０・・・処理部、９２・・・無線通信モジュール、１００・・・無線通信モジュール、１０２・・・通信制御部、１０４・・・メイン制御部、１１０・・・センサ出力補正部、１１２・・・センサ出力取得部、１１４・・・動作状態判定部、１１６・・・振動状態判定部、１１８・・・マスク処理部、１２０・・・振動制御信号生成部、１３０・・・アプリケーション処理部、１４０・・・出力部。
【図１】
0004892443.tif 000002
【図２】
0004892443.tif 000003
【図３】
0004892443.tif 000004
【図４】
0004892443.tif 000005
【図５】
0004892443.tif 000006
【図６】
0004892443.tif 000007
【図９】
0004892443.tif 000008
【図１０】
0004892443.tif 000009
【図１１】
0004892443.tif 000010
【図１２】
0004892443.tif 000011
【図１３】
0004892443.tif 000012
【図１４】
0004892443.tif 000013
【図１５】
0004892443.tif 000014
【図７】
0004892443.tif 000015
【図８】
0004892443.tif 000016