JP4509988B2 - 操作デバイス制御装置、操作デバイス制御方法、プログラム及び操作デバイス - Google Patents

操作デバイス制御装置、操作デバイス制御方法、プログラム及び操作デバイス Download PDF

Info

Publication number
JP4509988B2
JP4509988B2 JP2006256325A JP2006256325A JP4509988B2 JP 4509988 B2 JP4509988 B2 JP 4509988B2 JP 2006256325 A JP2006256325 A JP 2006256325A JP 2006256325 A JP2006256325 A JP 2006256325A JP 4509988 B2 JP4509988 B2 JP 4509988B2
Authority
JP
Japan
Prior art keywords
signal
output
value
sensor
operation device
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.)
Active
Application number
JP2006256325A
Other languages
English (en)
Other versions
JP2008077426A (ja
Inventor
紀行 福島
真一 平田
浩二 景山
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 Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2006256325A priority Critical patent/JP4509988B2/ja
Priority to CN2007800044277A priority patent/CN101379457B/zh
Priority to EP07792856A priority patent/EP2065789A4/en
Priority to US12/374,779 priority patent/US7933729B2/en
Priority to PCT/JP2007/066258 priority patent/WO2008035531A1/ja
Publication of JP2008077426A publication Critical patent/JP2008077426A/ja
Application granted granted Critical
Publication of JP4509988B2 publication Critical patent/JP4509988B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • G01C19/56Turn-sensitive devices using vibrating masses, e.g. vibratory angular rate sensors based on Coriolis forces
    • G01C19/5776Signal processing not specific to any of the devices covered by groups G01C19/5607 - G01C19/5719
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1018Calibration; Key and button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1025Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Manufacturing & Machinery (AREA)
  • Signal Processing (AREA)
  • Gyroscopes (AREA)
  • Position Input By Displaying (AREA)

Description

本発明は、ジャイロセンサを備えた操作デバイス、また当該操作デバイスを制御する操作デバイス制御装置、操作デバイス制御方法及びプログラムに関する。
例えばデジタルスチルカメラ等の装置は、手ぶれ補正などの目的でジャイロセンサ(例えば圧電振動型ジャイロセンサなど)を備える場合がある。このような装置は、当該装置に搭載されたジャイロセンサを用いることにより、当該装置の姿勢や運動に関する情報を得ることができる。具体的に、このジャイロセンサは、装置に生じた角速度を検知し、検知した角速度に応じたセンサ信号(例えば電圧信号など)を出力する。例えば、基準軸に対して所定方向(例えば時計回り方向)にジャイロセンサが回転する場合には、基準センサ信号(角速度が生じていない状態において出力されるセンサ信号)より大きなセンサ信号が出力され、当該所定方向と反対方向(例えば反時計回り方向)にジャイロセンサが回転する場合には、基準センサ信号より小さいセンサ信号が出力される。
上記説明したジャイロセンサにおける基準センサ信号は、常に一定値を取るとは限らない。すなわち、基準センサ信号は、ジャイロセンサ自体の個体差などによって、個々のジャイロセンサごとに異なる場合がある。また、温度などの使用環境の変化による影響を受けて、使用中に変動する場合もある。この基準センサ信号の違いや変動によって、ジャイロセンサから出力されるセンサ信号の大きさも変わってしまうこととなる。
そこで、上述したデジタルスチルカメラ等の装置においては、ジャイロセンサの出力に対して、ハイパスフィルタによるフィルタリングを行い、低周波数成分の除去を行うことがある。これにより、ジャイロセンサが出力するセンサ信号から基準センサ信号の変動などによって生じる影響を取り除いて、所定の信号を中心とした出力信号を得ることができる。この出力信号を用いることにより、手ぶれ補正などにおいて用いられる、角速度の変動に関する情報が得られる。
しかしながら、上記方法によりセンサ信号をフィルタリングすると、センサ信号の低周波数成分に関する情報を除去してしまうため、例えば一定の角速度でジャイロセンサが回転した場合などにおいては、このような回転の動きに関する情報が失われるおそれがある。このため、フィルタリング後の出力信号を積分しても、ジャイロセンサの回転量を正確に取得できない。以上のことから、例えばユーザが把持して操作する操作デバイスに上記説明したジャイロセンサを搭載して、当該操作デバイスの回転角に関する情報を取得するなどの用途においては、ハイパスフィルタを用いる方法を適用することは困難である。
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、操作デバイスに備えられたジャイロセンサの出力するセンサ信号に応じて、基準センサ信号の個体差や変動の影響を低減しつつ、当該操作デバイスの回転角に関する情報を取得することのできる操作デバイス制御装置、操作デバイス制御方法及びプログラム並びに操作デバイスを提供することにある。
上記課題を解決するための本発明に係る操作デバイス制御装置は、角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスの制御装置であって、前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定する基準センサ信号推定手段と、前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させる制御手段と、を含むことを特徴とする。
また、本発明に係る操作デバイス制御方法は、角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスの制御方法であって、前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定するステップと、前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させるステップと、を含むことを特徴とする。
また、本発明に係るプログラムは、角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスを制御するためのプログラムであって、前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定する基準センサ信号推定手段、及び前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させる制御手段、としてコンピュータを機能させるためのプログラムである。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。
また、本発明に係る操作デバイスは、角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサと、前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段と、前記信号出力手段が出力する出力信号に基づいて推定された、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号に応じた信号を、前記所与の基準信号として前記信号出力手段に入力する基準信号入力手段と、を含むことを特徴とする。
以下、本発明の一実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係るエンタテインメントシステム(情報処理装置)のハードウェア構成を示す図である。同図に示すように、エンタテインメントシステム10は、MPU(Micro Processing Unit)11と、メインメモリ20と、画像処理部24と、モニタ26と、入出力処理部28と、音声処理部30と、スピーカ32と、光ディスク読み取り部34と、ハードディスク38と、インタフェース(I/F)40,44と、操作デバイス42と、カメラユニット46と、ネットワークインタフェース48と、を含んで構成されるコンピュータシステムである。
図2は、MPU11の構成を示す図である。同図に示すように、MPU11は、メインプロセッサ12と、サブプロセッサ14a,14b,14c,14d,14e,14f,14g,14hと、バス16と、メモリコントローラ18と、インタフェース(I/F)22と、を含んで構成される。
メインプロセッサ12は、図示しないROM(Read Only Memory)に記憶されるオペレーティングシステム、例えばDVD(Digital Versatile Disk)−ROM等の光ディスク36から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ14a乃至14hに対する制御を行ったりする。
サブプロセッサ14a乃至14hは、メインプロセッサ12からの指示に従って、各種情報処理を行ったり、エンタテインメントシステム10の各部を、例えばDVD−ROM等の光ディスク36から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて制御したりする。
バス16は、アドレス及びデータをエンタテインメントシステム10の各部でやり取りするためのものである。メインプロセッサ12、サブプロセッサ14a乃至14h、メモリコントローラ18、インタフェース22は、バス16を介して相互にデータ授受可能に接続される。
メモリコントローラ18は、メインプロセッサ12及びサブプロセッサ14a乃至14hからの指示に従って、メインメモリ20へのアクセスを行う。メインメモリ20には、光ディスク36やハードディスク38から読み出されたプログラム及びデータや、通信ネットワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。メインメモリ20はメインプロセッサ12やサブプロセッサ14a乃至14hの作業用としても用いられる。
インタフェース22には画像処理部24及び入出力処理部28が接続される。メインプロセッサ12及びサブプロセッサ14a乃至14hと、画像処理部24又は入出力処理部28と、の間のデータ授受はインタフェース22を介して行われる。
画像処理部24は、GPU(Graphical Processing Unit)とフレームバッファとを含んで構成される。GPUは、メインプロセッサ12やサブプロセッサ14a乃至14hから供給される画像データに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ26に出力される。なお、モニタ26には例えば家庭用テレビ受像機が用いられる。
入出力処理部28には、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース40及び44、並びにネットワークインタフェース48が接続される。入出力処理部28は、メインプロセッサ12及びサブプロセッサ14a乃至14hと、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース40及び44、ネットワークインタフェース48と、の間のデータ授受を制御する。
音声処理部30は、SPU(Sound Processing Unit)とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク36やハードディスク38から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。SPUは、これらの各種音声データを再生してスピーカ32から出力させる。なお、スピーカ32には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
光ディスク読み取り部34は、メインプロセッサ12及びサブプロセッサ14a乃至14hからの指示に従って、光ディスク36に記憶されたプログラムやデータを読み取る。なお、エンタテインメントシステム10は、光ディスク36以外の他のコンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成されてもよい。
光ディスク36は例えばDVD−ROM等の一般的な光ディスク(コンピュータ読み取り可能な情報記憶媒体)である。また、ハードディスク38は一般的なハードディスク装置である。光ディスク36やハードディスク38には各種プログラムやデータがコンピュータ読み取り可能に記憶される。
インタフェース(I/F)40,44は、操作デバイス42やカメラユニット46等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えばUSB(Universal Serial Bus)インタフェースが用いられる。また、例えばBluetooth(登録商標)インタフェースなどの無線通信インタフェースが用いられてもよい。
操作デバイス42は汎用操作入力手段であり、ユーザが各種操作(例えばゲーム操作)を入力するために用いられる。入出力処理部28は、所定時間(例えば1/60秒)ごとに操作デバイス42の各部の状態をスキャンし、その結果を表す操作信号をメインプロセッサ12やサブプロセッサ14a乃至14hに供給する。メインプロセッサ12やサブプロセッサ14a乃至14hは、ユーザによって行われた操作の内容をその操作信号に基づいて判断する。なお、エンタテインメントシステム10は複数の操作デバイス42を接続可能に構成されており、各操作デバイス42から入力される操作信号に基づいて、メインプロセッサ12やサブプロセッサ14a乃至14hが各種処理を実行するようになっている。
カメラユニット46は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を所定時間(例えば1/60秒)ごとに入力する。本実施の形態におけるカメラユニット46は、撮影画像をJPEG(Joint Photographic Experts Group)形式の画像データとして入力するようになっている。また、カメラユニット46は、例えばレンズをプレイヤに向けた状態でモニタ26の上に設置され、ケーブルを介してインタフェース44に接続される。ネットワークインタフェース48は入出力処理部28と通信ネットワークとに接続されており、エンタテインメントシステム10が通信ネットワークを介して他のエンタテインメントシステム10とデータ通信するのを中継するようになっている。
また、本実施形態において、操作デバイス42は、ユーザによる当該操作デバイス42の保持状態を示す信号を出力する手段(例えば、操作デバイス42の姿勢や運動を検知するモーションセンサ等)を備えている。具体例として、操作デバイス42は、図3に示すように、その表面に、方向キーやアナログデバイス、操作ボタン、その他のキー(図中「A」ないし「D」と描く)を備えており、その内部に加速度センサ51及びジャイロセンサ52を備える。加速度センサ51及びジャイロセンサ52は、後述するように、操作デバイス42の保持状態を示す信号(センサ信号)をそれぞれ出力する。なお、本実施形態においては、加速度センサ51及びジャイロセンサ52が出力するセンサ信号は、いずれも電圧信号であることとする。
図4は、操作デバイス42内部の概略の回路構成を示す図である。操作デバイス42は、図4に示すように、加速度センサ51と、ジャイロセンサ52と、信号出力部53と、アナログデジタル(A/D)コンバータ54a及び54bと、基準信号入力部55と、記憶部56と、インタフェース(I/F)57と、を含んで構成される。
加速度センサ51は、梁に支持された錘を内蔵し、当該錘にかかる加速度によって、錘が変位して、それにより梁に生じるたわみ量を検出することで錘にかかる加速度を検出する。加速度センサ51は、互いに略直交する3軸方向の加速度をそれぞれ検出する、3軸加速度センサであってもよい。具体例として、図3に示したように、加速度センサ51は、操作デバイス42の筐体内部に固定されており、互いに直交するx軸、y軸、及びz軸の3つの基準軸が設定されている。ここで、例えばx軸は操作デバイス42の長手方向(左右方向)、y軸は操作デバイス42の奥行方向(前後方向)、z軸は操作デバイス42の厚み方向(図3において紙面に対して鉛直手前側の方向)にそれぞれ対応させてもよい。そして、加速度センサ51は、3つの基準軸のそれぞれに対する加速度を検知し、検知した加速度に応じた3つの電圧信号を、センサ信号として出力する。
図5は、加速度センサ51が検知するいずれかの軸に対する加速度と、検知した加速度に応じて出力する電圧信号と、の対応関係を模式的に示すグラフである。図5に示すように、加速度センサ51は加速度に略比例する電圧信号を出力し、加速度を検知しない状態では基準電圧信号Varを出力する。出力される電圧信号の基準電圧信号Varに対する高低により、各軸について、その正負いずれの方向に加速度が生じているかを検知できる。なお、図において1Gは、重力加速度に相当する加速度を示している。
ジャイロセンサ52は、操作デバイス42のz軸(ジャイロ基準軸)を中心とした回転の角速度を検知し、当該検知した角速度に応じたセンサ信号を出力する。例えばジャイロセンサ52は、圧電素子を振動させ、当該圧電素子の回転によって生じるコリオリ力に応じた振動を検知する圧電振動型ジャイロセンサである。なお、以下では、ジャイロセンサ52が角速度を検知しない状態(操作デバイス42がz軸に対して回転していない状態)において出力する電圧信号を、基準センサ信号Vgrという。
エンタテインメントシステム10は、加速度センサ51の場合と同様に、ジャイロセンサ52が出力するセンサ信号の基準センサ信号Vgrに対する高低によって、z軸に対していずれの向きに回転が生じているかを検知できる。具体例として、図3におけるRa方向(紙面に向かって時計回り方向)に操作デバイス42が回転している場合、基準センサ信号Vgrより高い電圧信号が出力され、図3におけるRb方向(紙面に向かって反時計回り方向)に操作デバイス42が回転している場合には、基準センサ信号Vgrより低い電圧信号が出力される。エンタテインメントシステム10は、このジャイロセンサ52の出力を一定時間ごとにサンプリングし、積分演算を行うことで、操作デバイス42のz軸に対する回転の変位量(回転角)を取得できる。
信号出力部53は、ジャイロセンサ52が出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する。例えば信号出力部53は、図4に例示する回路構成の増幅回路である。この増幅回路は、ジャイロセンサ52が出力する電圧信号と、所与の電圧信号(以下、増幅基準信号Vrという)と、の電位差を増幅して得られる電圧信号を、出力信号として出力する。信号出力部53の増幅によって得られる出力信号は、A/Dコンバータ54aに入力される。
この増幅回路による増幅は、ジャイロセンサ52が出力するセンサ信号の角速度に対する感度が低い場合(すなわち、センサから出力される電圧信号の変動幅が小さい場合)に必要となる。ここで、増幅基準信号Vrが基準センサ信号Vgrと乖離していると、ジャイロセンサ52から出力されるセンサ信号は基準センサ信号Vgrに対して非対称に増幅されることとなる。その結果、特に乖離の度合いが大きい場合には、回路が想定する電圧変動範囲を超えてしまい、正しく増幅ができなくなるおそれがある。そのため、増幅回路に対して入力される増幅基準信号Vrを、基準センサ信号Vgrに応じて制御する必要がある。本実施形態における増幅基準信号Vrの制御方法については、後述する。
A/Dコンバータ54a及び54bは、電圧信号などのアナログ信号を、所定範囲のデジタル出力信号に変換する回路である。本実施形態において、A/Dコンバータ54aは、信号出力部53が出力する増幅後の電圧信号を、デジタル出力信号に変換し、インタフェース57に対して出力する。また、A/Dコンバータ54bは、加速度センサ51が出力する各基準軸の加速度に応じた3つの電圧信号を、それぞれデジタル出力信号に変換し、インタフェース57に対して出力する。ここで、A/Dコンバータ54a及び54bが出力するデジタル出力信号は、いずれも10ビットの分解能を有し、0から1023までの範囲の値をとり得ることとする。
基準信号入力部55は、インタフェース57を介して所与の基準デジタル信号Drを取得し、当該取得した基準デジタル信号Drに応じた電圧信号を、増幅基準信号Vrとして信号出力部53に入力する。本実施形態において、基準信号入力部55は、PWM(Pulse Width Modulation)信号ジェネレータ55aと、平滑回路55bと、を含んでなる。
PWM信号ジェネレータ55aは、後述する基準信号制御部62bが出力する基準デジタル信号Drを、インタフェース57を介して取得する。そして、取得した基準デジタル信号Drに応じたデューティー比によりパルス幅変調がなされた電圧信号(PWM信号)を生成し、当該PWM信号を平滑回路55bに対して出力する。なお、PWM信号ジェネレータ55aに入力される基準デジタル信号Drは、ここでは8ビットの分解能を有し、0から255までの範囲の値をとり得ることとする。
平滑回路55bは、例えば図4に示すような回路構成のローパスフィルタであって、PWM信号ジェネレータ55aによって生成されたPWM信号の平滑化を行う。これによって、基準デジタル信号Drに応じた大きさの電圧信号が生成され、増幅基準信号Vrとして信号出力部53に入力される。
なお、ここで説明した基準信号入力部55の構成は例示である。基準信号入力部55は、例えばデジタルアナログコンバータ等、上記構成とは異なる手段によって基準デジタル信号Drを増幅基準信号Vrに変換し、信号出力部53に対して出力することとしてもよい。
記憶部56は、EEPROM(Electronically Erasable and Programmable Read Only Memory)等であって、操作デバイス42の生産工程などにおいて書き込まれたデータを記憶する。記憶部56に記憶されたデータは、インタフェース57を介して読み出され、エンタテインメントシステム10のMPU11が実行する処理に供される。なお、本実施形態において記憶部56に記憶されるデータの内容については、後述する。
インタフェース57は、USBインタフェースやBluetooth(登録商標)インタフェースなどであって、インタフェース40と操作デバイス42との間のデータの送受信を中継する。
以下では、以上のハードウェア構成を有するエンタテインメントシステム10が、加速度センサ51やジャイロセンサ52の出力するセンサ信号を用いて、操作デバイス42の保持状態に応じた処理を行う場合に実現する機能について、説明する。
図6は、この場合のエンタテインメントシステム10が実現する機能の一例を示す機能ブロック図である。エンタテインメントシステム10は、機能的に、図6に示すように、出力値取得部61と、ジャイロセンサ信号制御部62と、キャリブレーション処理部63と、フィルタリング処理部64と、アプリケーション実行部65と、を含んで構成される。これらの機能は、例えばMPU11が、メインメモリ20に格納されるプログラムに従って動作することにより、実現できる。このプログラムは、インターネット等の通信ネットワークを介して提供されるものであってもよいし、光ディスク、メモリカード等のコンピュータで読み取り可能な各種情報記憶媒体に格納されて提供されるものであってもよい。
出力値取得部61は、操作デバイス42の保持状態に応じて操作デバイス42が出力する出力値を取得する。ここでは具体的に、A/Dコンバータ54aが出力する操作デバイス42の角速度を示すデジタル出力信号を、出力値Dgとして取得する。また、A/Dコンバータ54bが出力する操作デバイス42に対する各基準軸の加速度を示す3つのデジタル出力信号を、出力値Daとして取得する。出力値取得部61は、操作デバイス42のインタフェース57及びエンタテインメントシステム10本体のインタフェース40を介して、出力値を取得する。なお、出力値取得部61は、所定時間ごと(例えば垂直同期信号が入力されたタイミングごと)に継続して出力値を取得することとする。
ジャイロセンサ信号制御部62は、出力値取得部61が取得する出力値のうち、ジャイロセンサ52の出力に応じた出力値Dgを用いて、前述した信号出力部53に入力される増幅基準信号Vrの制御を行う。ジャイロセンサ信号制御部62の機能の詳細については、後述する。
キャリブレーション処理部63は、出力値取得部61が取得する出力値のうち、加速度センサ51の出力に応じた出力値Daに対して、キャリブレーション処理を行い、結果として得られるデジタル値を操作デバイス42の保持状態を示す状態値Dsとして出力する。また、フィルタリング処理部64は、キャリブレーション処理部63が出力する状態値Dsを取得し、取得した状態値Dsに対して所定のフィルタリング処理を実行することにより、状態値Dsからノイズ性の信号による影響を除去する処理を行う。キャリブレーション処理部63及びフィルタリング処理部64の機能の詳細については、後述する。
アプリケーション実行部65は、例えば光ディスク36等から読み出されてメインメモリ20に格納されたアプリケーションプログラムを実行することにより、ゲーム等の処理を実行する。ここで、アプリケーション実行部65は、ジャイロセンサ信号制御部62及び/又はフィルタリング処理部64から出力されるデータを用いて、操作デバイス42の保持状態に応じた処理を実現する。
次に、ジャイロセンサ信号制御部62の機能例について、図7の機能ブロック図に基づいて説明する。ジャイロセンサ信号制御部62は、機能的に、図7に示すように、基準センサ信号推定部62aと、基準信号制御部62bと、出力値補正部62cと、初期値設定部62dと、を含んで構成される。これらの機能は、例えばエンタテインメントシステム10に予め格納されたシステムソフトウェアをMPU11が実行することによって実現される。
基準センサ信号推定部62aは、信号出力部53から出力される出力信号に基づいて、ジャイロセンサ52が角速度を検知しない状態において出力する基準センサ信号Vgrを推定する。ここでは具体的に、基準センサ信号推定部62aは、基準センサ信号Vgrと、後述する基準信号制御部62bによって制御される増幅基準信号Vrと、に応じて出力される出力値Dgの推定値(基準センサ信号推定値De)を算出することにより、基準センサ信号Vgrの推定を行う。また、基準センサ信号推定部62aは、出力値取得部61が出力値Dgを所定時間ごとに取得して得られる出力値列に基づいて、基準センサ信号推定値Deの算出を行う。
ここで、基準センサ信号推定部62aが出力値列に基づいて基準センサ信号推定値Deを算出する推定値算出処理の具体例について、説明する。以下の例では、基準センサ信号推定部62aは、出力値列を構成する出力値Dgの中から、処理の対象として用いる出力値Dgを選択する。そして、当該選択された出力値Dgの代表値(例えば平均値)を算出することにより、基準センサ信号推定値Deを算出する。
具体例として、基準センサ信号推定部62aは、出力値列を所定の時間区間に区切って得られる複数の評価区間Pnのそれぞれについて、当該各評価区間Pnにおける出力値Dgの代表値を算出し、当該算出された代表値に基づいて基準センサ信号の推定を行う。ここで評価区間Pn(n=1,2,3・・・)には、出力値列において連続する所定のサンプル数の出力値Dgが属している。基準センサ信号推定部62aは、この評価区間ごとに、各評価区間に属する出力値Dgの平坦性(変動の程度)を示す評価指数Enを算出し、評価指数Enに基づいて基準センサ信号推定値Deの算出対象として用いる評価区間を選択する。そして、選択した評価区間における出力値Dgの代表値(平均値等)に基づいて、基準センサ信号推定値Deを算出する。
以下、上述した処理の具体例を、図8のフロー図に基づいて説明する。このフローによる処理は、出力値取得部61が各評価区間Pnに属する所定のサンプル数の出力値Dgを取得するごとに、実行される。
まず基準センサ信号推定部62aは、処理対象となる現在の評価区間Pnについて、当該評価区間Pnに属する出力値Dgの最大値(区間最大値)Dmaxn、最小値(区間最小値)Dminn、及び平均値(区間平均値)Davgnを算出する(S1)。続いて、S1で算出された区間最大値Dmaxn、区間最小値Dminn、及び区間平均値Davgnに基づいて、以下の計算式により、評価指数Enを算出する(S2)。
Figure 0004509988
この計算式の例においては、評価指数Enは、区間最大値Dmaxn及び区間最小値Dminnの区間平均値Davgnに対する分散の和となっている。これにより、評価指数Enは、評価区間Pnにおける出力値Dgが一定に近いほど、小さな値となる。通常、ユーザが操作デバイス42を操作している状況においては、出力値Dgの変動が大きくなり、逆にユーザが操作デバイス42を操作していない場合には出力値Dgの変動は小さくなると推定される。したがって、評価指数Enが小さく、出力値Dgの変動の小さい状態における出力値Dgは、ジャイロセンサ52の基準センサ信号Vgrに応じて出力された値に近いものと推定される。
ただし、操作デバイス42の回転の角速度がジャイロセンサ52の測定範囲を越える状況にある場合、センサ信号は最大値又は最小値に飽和してしまう。その結果、このような場合にも出力値Dgは一定になり、評価指数Enの値は小さくなると考えられる。そこで、基準センサ信号推定部62aは、評価区間Pnに属する出力値Dgが所定の上限値THmax及び下限値THminの範囲内(すなわち、THmin<Dg<THmax)に含まれるか否かの判定を行う(S3)。判定の結果、出力値Dgが所定の閾値の範囲内に含まれない場合には、当該評価区間Pnに対する処理を終了する。
続いて基準センサ信号推定部62aは、評価指数Enが所定の閾値Eth未満(すなわち、En<Eth)であるか否かを判定する(S4)。判定の結果、評価指数Enが閾値Eth以上であれば、当該評価区間Pnの情報を基準センサ信号推定値Deの推定には使用しないこととし、評価区間Pnに対する処理を終了する。
S3及びS4の処理の結果、判定条件が満たされると判定した場合には、基準センサ信号推定部62aは、評価区間Pnの情報を基準センサ信号Vgrの推定に用いることとする。この場合、基準センサ信号推定部62aは、S1で算出された区間平均値Davgnを、当該評価区間Pnに属する出力値Dgの代表値として、メインメモリ20内に格納する(S5)。なお、この場合において、メインメモリ20内には、常に所定数の評価区間に係る区間平均値の情報が保持されるよう制御される。すなわち、既に所定数の区間平均値の情報が保持されている場合、基準センサ信号推定部62aは、S5の処理において、新たな区間平均値の情報をメインメモリ20に書き込むとともに、最も古い区間平均値の情報を削除する。
さらに、基準センサ信号推定部62aは、S5の処理によってメインメモリ20内に格納された所定数の区間平均値の情報に基づいて、基準センサ信号推定値Deの算出を行う。ここで、S3及びS4の条件を満たす評価区間の区間平均値Davgnが所定数得られたとしても、この中には基準センサ信号Vgrに対応しない情報が含まれている可能性がある。なぜなら、ユーザが操作デバイス42を一定の角速度でゆっくり動かした場合など、特殊な状況においては、ジャイロセンサ52が角速度を検知しない状態でないにもかかわらずS3及びS4の判定条件を満たすことがありうるからである。
そこで、基準センサ信号推定部62aは、S5の処理によってメインメモリ20内に格納されている複数の区間平均値Davgnについて、その最大値と最小値との差Wが所定の閾値Wth未満(すなわち、W<Wth)であるか否かを判定する(S6)。判定の結果、Wの値が所定の閾値以上と判定した場合には、処理を終了する。これにより、複数の区間平均値Davgnの間でばらつきがある場合には、その時点での基準センサ信号推定値Deの算出を中止することができる。
S6の判定条件が満たされる場合、基準デジタル信号推定部62aは、S5の処理によってメインメモリ20内に格納されている所定数の区間平均値Davgnのさらに平均値を算出することによって、当該算出された平均値を基準センサ信号推定値Deとして決定する(S7)。
以上説明した例により、温度等の影響でジャイロセンサ52の使用中に基準センサ信号Vgrが変動した場合であっても、基準センサ信号推定部62aは、この変化した基準センサ信号Vgrに応じた基準センサ信号推定値Deを算出できる。
なお、基準センサ信号推定部62aは、上述した例と異なる方法で基準センサ信号推定値Deの算出を行ってもよい。例えば基準センサ信号推定部62aは、時間的長さが互いに異なる複数種類に評価区間についてそれぞれ代表値(平均値等)を算出し、当該算出された複数種類の代表値に基づいて基準センサ信号の推定を周期的に行ってもよい。すなわち、上述した例においては、基準センサ信号推定部62aは、比較的短周期の評価区間を用いて基準センサ信号推定値Deの算出を行っている。この場合、基準センサ信号Vgr操作デバイス42の使用中に変動した場合には、比較的早くこの変動に応じた基準センサ信号推定値Deの更新を行うことができる。しかし、一方で、ユーザが操作デバイス42を頻繁に操作している間など、センサ出力が安定しない場合には、基準センサ信号推定値Deの更新を行う頻度が低下する。そこで、この短周期の推定値算出処理によって推定される推定値と、比較的長周期の評価区間による推定値算出処理によって推定される推定値と、のいずれか一方を選択することにより、より精度の高い基準センサ信号推定値Deの算出を実現することとしてもよい。
具体例として、基準センサ信号推定部62aは、上述した短周期の推定値算出処理のほかに、この推定値算出処理によって算出されたDavgnを出力値Dgに代わる入力として用いて、短周期の推定値算出処理と同様の処理を実行してもよい。これは、より長周期の評価区間による推定値算出処理であって、出力値列に対してローパスフィルタによるフィルタリングがなされた後の信号列に対する推定値算出処理に相当する。そして、短周期の推定値算出処理によって基準センサ信号推定値Deが更新された場合には、長周期の推定値算出処理の処理結果をリセットする制御を行う(すなわち、これまで蓄積された長周期の評価区間の平均値に関する情報を削除する)。一方、短周期の推定値算出処理による基準センサ信号推定値Deの更新が一定時間なされない場合には、長周期の推定値算出処理によって得られた基準センサ信号推定値Deを、基準信号制御部62bに対して出力することとする。こうすれば、可能な場合には、基準センサ信号Vgrに対する追従性のよい短周期の処理によって基準センサ信号推定値Deの更新を行い、一方で、短周期の処理によって基準センサ信号推定値Deの算出が行えない状況においては、長周期の処理によって基準センサ信号推定値Deの更新を行うことができる。
なお、アプリケーション実行部65は、このような基準センサ信号推定部62aによる基準センサ信号推定値Deの算出を可能にするために、所定のタイミングで、ユーザに対して操作デバイス42を静止させる指示情報を提示してもよい。この指示情報に応じてユーザが操作デバイス42を静止させることで、基準センサ信号推定部62aは素早く精度のよい基準センサ信号推定値Deの算出を行うことができる。
また、上述した例においては、基準センサ信号推定部62aは、出力値取得部61が取得したジャイロセンサ52の出力に応じた出力値Dgのみに基づいて、基準センサ信号Vgrの推定を行うこととしたが、これ以外の情報を用いてもよい。例えば基準センサ信号推定部62aは、加速度センサ51などの他のセンサの出力や、操作デバイス42に備えられたボタン等の状態を示す情報など、ユーザの操作デバイス42に対する操作に関する情報を取得する。そして、この操作デバイス42に対するユーザの操作に関する情報に基づいて、基準センサ信号の推定を行う。
具体例として、基準センサ信号推定部62aは、前述した評価指数Enとともに、操作デバイス42に対するユーザの操作に関する情報を用いて、基準センサ信号推定値Deの算出に使用する出力値Dgを選択する。これにより、操作デバイス42の状態に応じて基準センサ信号Vgrの推定に用いるジャイロセンサ52の出力値を選択でき、推定の精度を向上できる。さらに、基準センサ信号推定部62aは、操作デバイス42の使用時間や、アプリケーション実行部65が実行している処理の内容等に関する情報を用いて、基準センサ信号Vgrの推定を行うこととしてもよい。
基準信号制御部62bは、基準センサ信号推定部62aによって推定された基準センサ信号に応じて、信号出力部53に入力される増幅基準信号Vrを変化させる制御を実行する。ここでは具体的に、基準信号制御部62bは、基準センサ信号推定部62aによって算出された基準センサ信号推定値Deに応じて、基準デジタル信号Drの値を決定する。そして、この基準デジタル信号Drを操作デバイス42のインタフェース57を介して基準信号入力部55に入力することにより、増幅基準信号Vrの制御を行う。
具体例として、基準信号制御部62bは、基準センサ信号Vgrに応じて得られる出力値Dgが、所定の目標値Dcに一致するように、基準センサ信号推定値Deに応じて基準デジタル信号Drを変化させる。すなわち、基準センサ信号推定値Deと、所定の目標値Dcと、の差に応じて、現在出力している基準デジタル信号Drを変化させる。こうすれば、ジャイロセンサ52から基準センサ信号Vgrが出力されている場合、基準信号制御部62bの制御に応じて出力される出力値Dgは所定の目標値Dcに略一致することとなる。これにより、出力値Dgは目標値Dcを振幅中心として角速度の変動を示す値となる。
この場合の目標値Dcは、例えばA/Dコンバータ54aが出力するデジタル出力信号のとり得る値の範囲の中央値(ここでは512)に設定される。また、アプリケーション実行部65の指示に応じて決定される値であってもよい。
ここで、基準デジタル信号Drの分解能及びこれに応じて基準信号入力部55が出力する増幅基準信号Vrの精度が十分高ければ、基準センサ信号Vgrに応じて出力される出力値Dgを正確に目標値Dcに一致させるような微調整が可能となる。しかしながら、回路構成上の制約などによって、ある程度粗い精度でしか増幅基準信号Vrの制御ができない場合がある。この場合、以下に説明する方法によって、基準デジタル信号Drの調整と、出力値Dgに対する補正処理と、を組み合わせることで、基準センサ信号推定値Deに応じた出力値Dgの微調整が可能となる。
例えば本実施形態において、信号出力部53は、入力される2つの電圧信号の電位差を−A倍に増幅する増幅回路であることとする。この場合、ジャイロセンサ52が出力するセンサ信号Vgと、信号出力部53が出力する出力信号Voとの間には、以下の関係式が成り立つ。
Vo−Vr=−A(Vg−Vr)
この関係式を変形すると、以下の式になる。
Vo=−A・Vg+(A+1)Vr
上記関係式より、増幅基準信号Vrの変化量に対する出力信号Voの変化量の比率は、(A+1)となる。
さらに、上述したように、本実施形態において、出力信号Voに応じてA/Dコンバータ54aが出力するデジタル出力信号(すなわち出力値Dg)の分解能は10ビットである。また、基準信号入力部55に入力される基準デジタル信号Drの分解能は8ビットであり、この基準デジタル信号Drに応じて増幅基準信号Vrは制御される。この出力値Dgと基準デジタル信号Drの分解能の比率は、4倍(2ビット×2)となる。
以上のことから、本実施形態において、基準デジタル信号Drの変化量に対する出力値Dgの変化量の比率は、4(A+1)となる。すなわち、基準デジタル信号Drの変化量ΔDrと、この変化に応じた出力値Dgの変化量ΔDgと、の間に、以下の関係式が成り立つ。
ΔDg=4(A+1)ΔDr
ここで、基準デジタル信号Drの変化量に対する出力値Dgの変化量の比率を、以下では変動比率Rとする。この関係式から分かるように、本実施形態においては、基準デジタル信号Drを1変化させるごとに、出力値DgはR(=4(A+1))ずつ変化することとなる。ただし、Aは整数値とは限らず、その場合、出力値Dgの変化量ΔDgは上記計算式によって得られた値を例えば四捨五入等によって整数に変換した値となる。
以上説明したように、本実施形態においては、基準デジタル信号Drを変化させるだけでは、出力値Dgを十分精度よく制御することはできない。そこで、ジャイロセンサ信号制御部62は、基準デジタル信号Drの変化で調整しきれない範囲の調整を、出力値Dgに対する補正によって行う。具体例として、基準信号制御部62bは、上述した変動比率Rに基づいて、基準デジタル信号Drの現在の値に対する変化量ΔDrを決定し、決定した変化量を反映した新たな基準デジタル信号Drを基準信号入力部55に対して出力する。また、併せて基準信号制御部62bは、変動比率Rに基づいて、当該新たな基準デジタル信号Drの入力に応じて基準センサ信号Vgrに対して出力されると想定される出力値Dgと、基準センサ信号推定部62aによって推定された基準センサ信号Vgrに対して出力されるべき出力値Dg(ここでは目標値Dc)と、の差を補正する補正値ΔDgを算出する。
例えば基準信号制御部62bは、以下の関係式を満たすように、基準デジタル信号Drの変化量ΔDr及び補正値ΔDgを算出する。
Dc−De=R・ΔDr+ΔDg
ここでΔDrは、ΔDgの絶対値がR未満となるような整数値に決定される。例えば、Dc−DeをRで割った商がΔDr、余りがΔDgとなる。そして、基準信号制御部62bは、現在出力している基準デジタル信号DrにΔDrを加算した値を新たな基準デジタル信号Drとして出力するとともに、メインメモリ20に格納されている補正値ΔDgを算出された値に更新する。この場合、新たな基準デジタル信号Drの入力に応じて基準センサ信号Vgrに対して出力されると想定される出力値Dgは、De+R・ΔDrとなる。なお、Dc−Deの絶対値がR未満の場合、基準信号制御部62bは基準デジタル信号Drを変化させることなく、補正値ΔDgの更新のみ実行する。
出力値補正部62cは、基準信号制御部62bが算出し、メインメモリ20内に格納した補正値ΔDgに基づいて、出力値取得部61が取得した出力値Dgの補正を行う。すなわち、基準信号制御部62bが基準デジタル信号Drを変化させた後、当該変化に応じて出力される出力値Dgに対して、基準信号制御部62bが算出したΔDgを加算することにより、出力値Dgの補正を行う。これにより、基準センサ信号Vgrに対して得られる出力値Dgが目標値Dcに略一致するように、出力値Dgを補正できる。
本実施形態においては、この補正された出力値がアプリケーション実行部65に対して出力される。アプリケーション実行部65は、補正された出力値と、目標値Dcと、の差を積分演算することで、操作デバイス42の回転角に関する情報を取得できる。
初期値設定部62dは、基準デジタル信号Drの初期値を取得し、基準信号制御部62bに対して出力する。初期値設定部62dは、例えばエンタテインメントシステム10の電源投入時や、操作デバイス42がエンタテインメントシステム10に接続された時点などにおいて、操作デバイス42の記憶部56に格納されたデータを読み出すことで、基準デジタル信号Drの初期値を取得する。基準信号制御部62bは、初期値設定部62dが初期値を取得した場合、当該取得された初期値に応じて基準デジタル信号Drを決定し、基準信号入力部55に対して出力する。
また、初期値設定部62dは、出力値補正部62cが出力値Dgの補正に使用する補正値ΔDgの初期値についても、基準デジタル信号Drの初期値とともに取得し、メインメモリ20に格納することとしてもよい。
本実施形態においては、出力値Dgの時間変化に応じて基準デジタル信号Drを制御している。そのため、基準デジタル信号Drの初期値が例えば0などの所定値の場合、基準デジタル信号Drが基準センサ信号Vgrに応じた値に調整されるまでに、時間がかかってしまう場合がある。そこで、本実施形態においては、予め操作デバイス42の記憶部56に格納された基準デジタル信号Drの初期値に応じて、基準デジタル信号Drの制御を行うこととしている。
この場合において、記憶部56に格納される基準デジタル信号Drの初期値は、例えば操作デバイス42の生産工程などにおいて、操作デバイス42を静止させた状態で、基準デジタル信号Drを変化させてA/Dコンバータ54aが出力するデジタル出力信号を測定することによって、このデジタル出力信号が目標値Dcに最も近づくように決定される。また、この場合の基準デジタル信号Drの初期値に対して出力されるデジタル出力信号と、目標値Dcと、の差が、補正値ΔDgの初期値として決定される。
以上説明した処理によって、ジャイロセンサ信号制御部62は、信号出力部53が出力した出力信号に基づいて推定された基準センサ信号に応じて、信号出力部53に入力される基準信号を制御することにより、ジャイロセンサ52が出力するセンサ信号を、振幅中心がセンサの個体差によらない所定値(ここでは目標値Dc)となるような出力信号に変換できる。これにより、アプリケーション実行部65は、得られた出力信号を用いて積分演算を行うことで、操作デバイス42のジャイロ基準軸に対する回転角の情報を精度よく求めることができる。
次に、キャリブレーション処理部63の機能例について、図9の機能ブロック図に基づいて説明する。キャリブレーション処理部63は、機能的に、図9に示すように、基準値取得部63aと、状態値算出部63bと、を含んで構成される。これらの機能は、例えばエンタテインメントシステム10に予め格納されたシステムソフトウェアをMPU11が実行することによって実現される。
基準値取得部63aは、操作デバイス42の所定の保持状態(基準状態)に応じた出力値を、基準値として取得する。基準値は、例えば操作デバイス42の生産工程において、操作デバイス42を基準状態に保ってセンサ出力を測定等することによって取得され、記憶部56に格納される。基準値取得部63aは、例えばエンタテインメントシステム10の電源投入時や、操作デバイス42がエンタテインメントシステム10に接続された時点などにおいて、記憶部56に格納されたデータを読み出すことで基準値を取得する。読み出された基準値は、メインメモリ20に格納される。
ここで、記憶部56に格納される基準値の具体例について説明する。記憶部56に格納される基準値は、操作デバイス42の所定の第1保持状態(第1基準状態)に応じた出力値(第1基準値)と、第1基準状態とは異なる所定の第2保持状態(第2基準状態)に応じた出力値(第2基準値)と、を含む。ここで、第1基準状態及び第2基準状態は、出力値の特に精度が要求される範囲に応じて決定される。
また、記憶部56は、所定の第3保持状態(第3基準状態)に応じた出力値(第3基準値)を含んでもよい。例えばこの場合の第3基準状態は、第1基準状態と第2基準状態の間の保持状態であって、加速度センサ51が加速度を検知しない状態など、操作デバイス42の標準的な保持状態を示している。なお、操作デバイス42の標準的な保持状態が、前述した第1基準状態又は第2基準状態のいずれかに一致する場合などにおいては、記憶部56は必ずしも第3基準状態に応じた第3基準値を保持しなくともよい。
これらの基準状態は、キャリブレーション処理部63によるキャリブレーション処理の対象となる複数種類の出力値のそれぞれについて、予め定められているものとする。本実施形態においては、加速度センサ51が測定する3つの基準軸の加速度に応じた3種類の出力値が、それぞれキャリブレーション処理の対象となる。したがって、3つの基準軸のそれぞれについて複数の基準状態が定められている。この各基準軸の基準状態に応じた出力値が、それぞれ測定され、基準値として記憶部56に格納される。
具体例として、ここではx軸及びy軸の加速度に応じた出力値について、各軸の正方向が鉛直方向(重力方向)に一致する状態を第1基準状態とする。この場合、第1基準値は、+1Gの重力加速度に応じた出力値となる。また、各軸の負方向が鉛直方向に一致する状態を第2基準状態とする。この場合、第2基準値は、−1Gの重力加速度に応じた出力値となる。さらに、各軸が鉛直方向に対して水平となった状態を、第3基準状態とする。この場合、第3基準値は、0Gの重力加速度に応じた出力値となる。図10(a),(b)及び(c)は、x軸の加速度に応じた出力値についての、基準状態の例を示す説明図である。図10(a)が第1基準状態を、図10(b)が第2基準状態を、図10(c)が第3基準状態を、それぞれ示している。なお、いずれの図についても、図3に例示する操作デバイス42をy軸の正方向に向かって見た様子を示している。また、図10(c)の状態は、y軸の第3基準状態でもある。
また、z軸の加速度に応じた出力値については、z軸が鉛直方向に対して水平となった状態を、第1基準状態とする。この場合、第1基準値は、0Gの重力加速度に応じた出力値となる。また、z軸の負方向が鉛直方向に一致する状態を第2基準状態とする。この場合、第2基準値は、−1Gの重力加速度に応じた出力値となる。
図11は、以上説明した例において、操作デバイス42の記憶部56に格納される基準値の一例を示す説明図である。なお、この例においては、z軸についての第3基準状態はないものとする。これは、一般的にユーザが操作デバイス42を上下逆になるまで傾けて用いることは少ないと考えられるため、加速度センサ51を操作デバイス42の傾きを検出する用途に用いる場合、x軸及びy軸については−1Gから+1Gまで、z軸については−1Gから0Gまでの範囲を精度よく測定することが求められるからである。
状態値算出部63bは、出力値取得部61が取得した出力値Daと、基準値取得部63aが取得してメインメモリ20に格納した第1及び第2基準値と、に基づいて、出力値Daに応じた操作デバイス42の保持状態を示す状態値Dsを算出し、出力する。状態値算出部63bは、出力値取得部61によって出力値Daが取得されるごとに状態値Dsを算出する処理を実行し、各出力値Daに対して補正がなされた状態値Dsを出力する。なお、状態値算出部63bは、さらに第3基準値も用いて、状態値Dsを算出することとしてもよい。
ここで、状態値算出部63bが状態値Dsを算出する状態値算出処理の具体例について、説明する。まず、x軸の加速度に応じた出力値Daを補正して、状態値Dsを算出する処理の例について、説明する。この場合、状態値算出部63bは、以下の計算式により、第1及び第2基準値を用いた直線補間を行うことで、状態値Dsを算出する。
Figure 0004509988
この計算式において、R1x,R2x及びR3xは、それぞれ第1、第2及び第3基準値を示しており、C1x及びC2xは所定の補正パラメタを示している。
操作デバイス42が第3基準状態(ここでは0Gの重力加速度に対応した状態)にある場合、出力値Daは第3基準値R3xになると想定される。この場合、状態値算出処理によって算出される状態値Dsは、固定値であるC2xになる。したがって、第3基準値R3xがセンサの個体差等によって異なる値になっても、状態値算出部63bは、操作デバイス42の第3基準状態を示す状態値として常に所定の値C2xを出力する。このC2xは、例えばA/Dコンバータ54bが出力するデジタル信号のとり得る値の範囲の中央値(ここでは512)に設定される。
また、状態値算出処理によって算出される状態値Dsは、係数C1x/(R1x−R2x)を比例定数として、出力値Daに比例する値となる。その結果、第1基準状態を示す状態値と、第2基準状態を示す状態値と、の差は、センサの個体差等によらず所定の値C1xになる。したがって、センサの個体差等のために、第1基準状態と第2基準状態との間で、ユーザの一定量の操作に対する出力値Daの変化量が異なったとしても、一定量の操作に対して補正後の状態値Dsの変化量は一定になる。すなわち、重力加速度の変化量に対する状態値Dsの変化量は、常に一定となる。これにより、前述した第3基準状態を示す状態値C2xを基準として、第1基準状態と第2基準状態との間の範囲(注目範囲)において、状態値Dsが正しく操作デバイス42の保持状態を示すこととなり、状態値Dsの精度を向上できる。
なお、y軸の加速度に応じた出力値Daを補正する場合も、x軸の場合と同様の計算式によって実現できる。この場合、C1y,C2yはそれぞれC1x,C2xと等しい値であってよい。
次に、z軸の加速度に応じた出力値Daを補正する処理の例について、説明する。この場合、状態値算出部63bは、以下の計算式によって状態値Dsを算出する。
Figure 0004509988
ここで、(1)式の場合と同様に、R1z及びR2zは、それぞれ第1及び第2基準値を示しており、C1z及びC2zは所定の補正パラメタを示している。この(2)式によれば、第1基準値R1z及び第2基準値R2zは、常に固定値C2z及び(C2z−C1z)に補正されることとなる。
z軸については、前述したように、第1基準状態は0Gの重力加速度に、第2基準状態は−1Gの重力加速度に、それぞれ対応している。この両者の間の範囲は、x軸及びy軸の場合における注目範囲の1/2に対応する。したがって、
Figure 0004509988
とすることで、いずれの基準軸についても、重力加速度の変化量に対する状態値Dsの変化量が一定になるよう制御できる。また、(2)式においては、(1)式における第3基準値に代えて第1基準値が用いられており、z軸についての第1基準状態はx軸及びy軸の場合の第3基準状態と同様に0Gの重力加速度に対応している。したがって、C2z=C2x=C2yとすることで、各基準軸について、0Gの重力加速度に対する状態値Dsが同じ値になるよう制御できる。
また、以上説明した計算式によって算出された状態値Dsが、A/Dコンバータ54bが出力するデジタル出力信号のとり得る値の範囲に含まれない場合、状態値算出部63bは、状態値Dsがこの範囲に含まれるように補正することとしてもよい。すなわち、状態値算出部63bは、算出される状態値が所定の上限値及び下限値の間に含まれるように、状態値を補正する。具体例として、本実施形態においては、計算式によって算出された値が下限値0未満の場合には0を、上限値1023を超える場合には1023を、それぞれ状態値Dsとして出力する。こうすれば、注目範囲における補正後の状態値Dsの精度を保ったまま、出力値Daの全体を、元の出力値Daがとり得る値の範囲に含まれるよう補正し、状態値Dsとして出力できる。これにより、例えば加速度に応じた出力値として10ビットの分解能のデジタル値を取得することを前提にアプリケーションプログラムが設計されている場合、アプリケーション実行部65は、このアプリケーションプログラムをそのまま実行して、キャリブレーション処理部63によるキャリブレーション処理実行後の状態値Dsに応じた処理を実現できる。
以上説明した機能によって、キャリブレーション処理部63は、出力値取得部61が取得した出力値Daと、第1及び第2基準状態に応じて予め取得された第1及び第2基準値と、に基づいて状態値Dsを算出することで、注目範囲における状態値Dsの精度を確保しつつ、操作デバイス42の個体差を吸収する補正を行うことができる。
次に、フィルタリング処理部64の機能例について、図12の機能ブロック図に基づいて説明する。フィルタリング処理部64は、機能的に、図12に示すように、パラメタセット保持部64aと、パラメタセット選択部64bと、フィルタ演算実行部64cと、を含んで構成される。パラメタセット保持部64aの機能は、メインメモリ20等によって実現できる。また、パラメタセット選択部64b及びフィルタ演算実行部64cの機能は、例えばアプリケーションプログラムとともに光ディスク36等に格納されて提供されるライブラリプログラムをMPU11が実行することによって実現される。
パラメタセット保持部64aは、所定のフィルタリング処理に用いられるパラメタを少なくとも一つ含むパラメタセットを、複数保持する。具体例として、パラメタセット保持部64aは、パラメタセット番号と、所定の数のパラメタからなるパラメタセットと、を関連づけるテーブルを保持する。図13は、このようなテーブルに格納される複数のパラメタセットの一例を示す説明図である。
パラメタセット選択部64bは、パラメタセット保持部64aが保持している複数のパラメタセットの中から、アプリケーション実行部65の指示に応じて、一のパラメタセットを選択する。例えばパラメタセット選択部64bは、アプリケーション実行部65から通知されるパラメタセット番号に応じて、当該パラメタセット番号に関連づけられたパラメタセットを選択する。
フィルタ演算実行部64cは、パラメタセット選択部64bが選択したパラメタセットを用いて、状態値Dsに対する所定のフィルタリング処理を行う。具体的に、フィルタ演算実行部64cは、状態値算出部63bが所定時間ごとに出力する状態値Dsを、状態値列として取得し、当該状態値列に対してフィルタリング処理を行う。
フィルタ演算実行部64cが実行するフィルタリング処理は、例えば状態値列の高周波数成分を除去するローパスフィルタ処理である。以下では、フィルタ演算実行部64cが実行するフィルタリング処理がローパスフィルタ処理である場合の具体例について、説明する。
この場合、パラメタセット保持部64aが保持する各パラメタセットに含まれるパラメタは、フィルタ処理に用いられるフィルタ係数である。一つのパラメタセットに含まれるパラメタの組を、P1,P2,P3,P4及びP5とすると、ローパスフィルタ処理は具体的に例えば以下の計算式によって実現される。
Figure 0004509988
ここで、Ds[n]は、n回目のサンプリングにおいて得られる状態値であり、Ds′[n]はフィルタリング後の状態値を示す。また、u[n]は、(3)式によりサンプリングごとに一時的に算出される計算値である。このu[n]は、過去所定回数分の値が一時的にメインメモリ20に格納され、(3)式及び(4)式の演算に用いられる。なお、この計算式は、2次のIIR(Infinite Impulse Response)フィルタによるローパスフィルタ処理の例を示している。このようなフィルタによれば、ユーザの操作に対する状態値Dsの変化の応答速度を比較的犠牲にせずに、ノイズ性の信号を除去することができる。
上記の例において、パラメタセット保持部64aが保持する複数のパラメタセットは、それぞれ互いに異なるカットオフ周波数に対応しているものとする。したがって、各パラメタセットを用いたローパスフィルタ処理によって、それぞれ異なる範囲の周波数成分が除去されることとなる。具体例として、状態値Dsを取得するサンプリング周波数が100Hzの場合に、カットオフ周波数25Hz、10Hz及び5Hzにそれぞれ対応した3つのフィルタ係数の組が、パラメタセットとして保持される。この3つのパラメタセットのうち、アプリケーション実行部65の指示によって選択されたパラメタセットにより、状態値列に対してカットオフ周波数以上の周波数成分を除去するフィルタリング処理が実行される。
これにより、エンタテインメントシステム10は、例えばメニュー画面をモニタ26に表示させてユーザにメニュー項目を選択させる場面など、操作デバイス42の操作に対する感度をそれほど必要としない場合には、より低いカットオフ周波数でフィルタリング処理を行うことにより、効果的にノイズ性の信号を状態値列から除去できる。逆に、アプリケーション実行部65が例えばユーザの微妙な操作に応じて画面上に表示されたオブジェクト(ゲームキャラクタや、ポインタなど)の動作を制御する処理を実行する場合には、より高いカットオフ周波数でフィルタリング処理を行うことにより、ユーザの操作に対する応答性を向上させることができ、ユーザの操作性を向上できる。
なお、フィルタリング処理部64は、加速度センサ51が出力する各基準軸の加速度を示す3つの状態値列に対して、共通するパラメタセットを用いてフィルタリング処理を実行してもよいし、それぞれの状態値列に対して互いに異なるパラメタセットを用いてフィルタリング処理を実行してもよい。
例えばパラメタセット保持部64aは、一つのパラメタセット番号に関連づけて、複数種類の状態値列のそれぞれに対応したパラメタセットを保持することとしてもよい。この場合、パラメタセット選択部64bは、アプリケーション実行部65の指示に応じて、複数種類の状態値列のそれぞれについて、一つずつパラメタセットを選択する。そして、フィルタ演算実行部64cは、複数種類の状態値列のそれぞれに対して、選択されたパラメタセットを用いたフィルタリング処理を行う。
こうすれば、例えば加速度センサ51が出力する各基準軸の加速度を示す状態値列について、それぞれ異なるカットオフ周波数によるローパスフィルタ処理が実現できる。これにより、例えばアプリケーション実行部65が実行する処理の内容に応じて、特定方向の基準軸について特にノイズ性の信号が生じることが予測される場合(例えば操作デバイス42の特定の面に配置されたボタンが使用される場合)、当該基準軸に応じた状態値列に対してより低いカットオフ周波数によるローパスフィルタ処理を行うことで、望ましい条件でノイズ性の信号を除去できる。また、ユーザが特定方向に操作デバイス42を傾ける操作に応じた処理を実現する場合、当該方向に対応する基準軸以外の基準軸についてより低いカットオフ周波数によるローパスフィルタ処理を行うことで、ユーザの操作に対する感度を落とさずに、ノイズ性の信号を除去できる。
アプリケーション実行部65は、以上説明したフィルタリング処理部64によるフィルタリング処理の結果得られる状態値Ds′を用いて、操作デバイス42の保持状態に応じた処理を実行する。このように、アプリケーション実行部65の指示に応じてフィルタリング処理部64によるフィルタリング処理の条件を変化させることで、エンタテインメントシステム10は、アプリケーション実行部65の処理内容に応じたフィルタリング処理を実現でき、ユーザの操作性を向上できる。
なお、本発明は上記実施形態に限定されるものではなく、種々の変形実施が可能である。
例えば以上の説明においては、エンタテインメントシステム10の本体が、信号出力部53に入力される所与の基準信号を制御する操作デバイス制御装置として動作する場合の例について説明したが、操作デバイス制御装置は、操作デバイス42に内蔵されてもよい。
また、ジャイロセンサ52が出力する電圧信号に対して、増幅回路による増幅が必要ない場合などにおいては、信号出力部53は例えばエンタテインメントシステム10本体が所定のプログラムを実行することによって実現されることとしてもよい。すなわち、信号出力部53は、ジャイロセンサ52の出力する電圧信号に応じたデジタル信号と、所与の基準信号(デジタル信号)と、の差に応じたデジタル信号を出力信号として出力する機能を持つソフトウェアとして実現される。
また、以上の説明においては、加速度センサ51の出力に応じた出力値Daに基づいてキャリブレーション処理やフィルタリング処理を行うこととしたが、エンタテインメントシステム10は、ジャイロセンサ52の出力に応じた出力値Dgに基づいて、キャリブレーション処理部63によるキャリブレーション処理や、フィルタリング処理部64によるフィルタリング処理を実行してもよい。この場合、前述した各基準状態は、加速度センサ51の例のような操作デバイス42が所定の姿勢で静止した状態ではなく、所定の角速度で回転している状態であってもよい。また、エンタテインメントシステム10は、その他の操作デバイス42の姿勢や運動を検知するモーションセンサ等を用いて、操作デバイス42の保持状態に応じた出力値を取得し、この出力値に対してキャリブレーション処理やフィルタリング処理を実行してもよい。
さらに、フィルタリング処理部64は、ローパスフィルタによるフィルタリング処理に限らず、別の種類のフィルタリング処理を状態値列に対して実行することとしてもよい。
本発明の実施の形態に係るエンタテインメントシステムのハードウェア構成図である。 MPUの詳細構成図である。 操作デバイスの外観の一例を示す図である。 操作デバイスの内部構成の一例を示す図である。 加速度センサが出力する電圧信号の一例を示すグラフ図である。 本発明の実施の形態に係るエンタテインメントシステムの機能例を示す機能ブロック図である。 ジャイロセンサ信号制御部の機能例を示す機能ブロック図である。 ジャイロセンサ信号制御部によって実行される処理の一例を示すフロー図である。 キャリブレーション処理部の機能例を示す機能ブロック図である。 操作デバイスの所定の保持状態の例を示す説明図である。 操作デバイスの記憶部に格納される基準値の一例を示す説明図である。 フィルタリング処理部の機能例を示す機能ブロック図である。 本実施形態に係るエンタテインメントシステムが保持する複数のパラメタセットの一例を示す説明図である。
符号の説明
10 エンタテインメントシステム、11 MPU、12 メインプロセッサ、14a〜14h サブプロセッサ、16 バス、18 メモリコントローラ、20 メインメモリ、22,40,44,57 インタフェース、24 画像処理部、26 モニタ、28 入出力処理部、30 音声処理部、32 スピーカ、34 光ディスク読み取り部、36 光ディスク、38 ハードディスク、42 操作デバイス、46 カメラユニット、48 ネットワークインタフェース、51 加速度センサ、52 ジャイロセンサ、53 信号出力部、54a,54b アナログデジタルコンバータ、55 基準信号入力部、56 記憶部、61 出力値取得部、62 ジャイロセンサ信号制御部、62a 基準センサ信号推定部、62b 基準信号制御部、62c 出力値補正部、62d 初期値設定部、63 キャリブレーション処理部、63a 基準値取得部、63b 状態値算出部、64 フィルタリング処理部、64a パラメタセット保持部、64b パラメタセット選択部、64c フィルタ演算実行部、65 アプリケーション実行部。

Claims (11)

  1. 角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスの制御装置であって、
    前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号を所定の時間区間に区切って得られる複数の評価区間のそれぞれについて、当該各評価区間における前記出力信号の代表値を算出し、当該算出された代表値に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定する基準センサ信号推定手段と、
    前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させる制御手段と、
    を含むことを特徴とする操作デバイス制御装置。
  2. 請求項1に記載の操作デバイス制御装置において、
    前記センサ信号及び前記所与の基準信号は、電圧信号であって、
    前記信号出力手段は、前記ジャイロセンサが出力するセンサ信号と、前記所与の基準信号と、の電位差を増幅して得られる電圧信号を、前記出力信号として出力する増幅回路である
    ことを特徴とする操作デバイス制御装置。
  3. 請求項2に記載の操作デバイス制御装置において、
    前記操作デバイスは、
    前記信号出力手段が出力する電圧信号をデジタル値に変換し、デジタル出力信号として出力するアナログデジタルコンバータと、
    所与の基準デジタル信号を取得し、当該取得した基準デジタル信号に応じた電圧信号を、前記所与の基準信号として前記信号出力手段に入力する基準信号入力手段と、
    をさらに含み、
    前記基準センサ信号推定手段は、前記アナログデジタルコンバータが出力する前記デジタル出力信号に基づいて、前記基準センサ信号を推定し、
    前記制御手段は、前記推定された基準センサ信号に応じたデジタル値を、前記基準デジタル信号として前記基準信号入力手段に入力することにより、前記所与の基準信号を変化させる
    ことを特徴とする操作デバイス制御装置。
  4. 請求項3に記載の操作デバイス制御装置において、
    前記基準デジタル信号の変化量に対する前記デジタル出力信号の変化量の比率に基づいて、前記基準デジタル信号を前記基準信号入力手段に入力した場合に、前記ジャイロセンサによる前記基準センサ信号の出力に対応して前記アナログデジタルコンバータが出力すると想定される前記デジタル出力信号と、前記ジャイロセンサによる前記基準センサ信号の出力に対応して前記アナログデジタルコンバータが出力すべき前記デジタル出力信号と、の差を補正する補正値を算出する補正値算出手段と、
    前記算出された補正値に基づいて前記デジタル出力信号を補正する補正手段と、
    をさらに含むことを特徴とする操作デバイス制御装置。
  5. 請求項1乃至4のいずれか一項に記載の操作デバイス制御装置において、
    前記基準センサ信号推定手段は、互いに異なる長さの複数種類に前記評価区間についてそれぞれ前記代表値を算出し、当該算出された複数種類の代表値に基づいて前記基準センサ信号を推定する
    ことを特徴とする操作デバイス制御装置。
  6. 請求項1乃至のいずれか一項に記載の操作デバイス制御装置において、
    前記基準センサ信号推定手段は、さらに前記操作デバイスに対するユーザの操作に関する情報に基づいて、前記基準センサ信号を推定する
    ことを特徴とする操作デバイス制御装置。
  7. 角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスの制御方法であって、
    前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号を所定の時間区間に区切って得られる複数の評価区間のそれぞれについて、当該各評価区間における前記出力信号の代表値を算出し、当該算出された代表値に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定するステップと、
    前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させるステップと、
    を含むことを特徴とする操作デバイス制御方法。
  8. 角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサを備える操作デバイスを制御するためのプログラムであって、
    前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段から出力される出力信号を所定の時間区間に区切って得られる複数の評価区間のそれぞれについて、当該各評価区間における前記出力信号の代表値を算出し、当該算出された代表値に基づいて、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号を推定する基準センサ信号推定手段、及び
    前記推定された基準センサ信号に応じて、前記所与の基準信号を変化させる制御手段、
    としてコンピュータを機能させるためのプログラム。
  9. 請求項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
  10. 角速度を検知し、当該検知した角速度に応じたセンサ信号を出力するジャイロセンサと、
    前記ジャイロセンサが出力するセンサ信号と、所与の基準信号と、の差に応じた出力信号を出力する信号出力手段と、
    前記信号出力手段が出力する出力信号を所定の時間区間に区切って得られる複数の評価区間のそれぞれについて、当該各評価区間における前記出力信号の代表値を算出し、当該算出された代表値に基づいて推定された、前記ジャイロセンサが角速度を検知しない状態において出力する基準センサ信号に応じた信号を、前記所与の基準信号として前記信号出力手段に入力する基準信号入力手段と、
    を含むことを特徴とする操作デバイス。
  11. 請求項10に記載の操作デバイスにおいて、
    前記センサ信号及び前記所与の基準信号は、電圧信号であって、
    前記信号出力手段は、前記ジャイロセンサが出力するセンサ信号と、前記所与の基準信号と、の電位差を増幅して得られる電圧信号を、前記出力信号として出力する増幅回路であって、
    前記信号出力手段が出力する電圧信号をデジタル値に変換し、デジタル出力信号として出力するアナログデジタルコンバータをさらに含み、
    前記基準信号入力手段は、前記デジタル出力信号に基づいて推定された前記基準センサ信号に応じたデジタル値を、所与の基準デジタル信号として取得し、当該取得した基準デジタル信号に応じた電圧信号を、前記所与の基準信号として前記信号出力手段に入力する
    ことを特徴とする操作デバイス。
JP2006256325A 2006-09-21 2006-09-21 操作デバイス制御装置、操作デバイス制御方法、プログラム及び操作デバイス Active JP4509988B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006256325A JP4509988B2 (ja) 2006-09-21 2006-09-21 操作デバイス制御装置、操作デバイス制御方法、プログラム及び操作デバイス
CN2007800044277A CN101379457B (zh) 2006-09-21 2007-08-22 操作设备控制设备,操作设备控制方法,信息存储介质和操作设备
EP07792856A EP2065789A4 (en) 2006-09-21 2007-08-22 MANEUVER DEVICE CONTROL APPARATUS, MANEUVER DEVICE CONTROL METHOD, INFORMATION STORAGE MEDIUM, AND MANEUVER DEVICE
US12/374,779 US7933729B2 (en) 2006-09-21 2007-08-22 Operation device control apparatus, operation device control method, information storage medium, and operation device
PCT/JP2007/066258 WO2008035531A1 (fr) 2006-09-21 2007-08-22 Appareil de commande de dispositif de manœuvre, procédé de commande de dispositif de manœuvre, support de stockage d'informations et dispositif de manœuvre

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006256325A JP4509988B2 (ja) 2006-09-21 2006-09-21 操作デバイス制御装置、操作デバイス制御方法、プログラム及び操作デバイス

Publications (2)

Publication Number Publication Date
JP2008077426A JP2008077426A (ja) 2008-04-03
JP4509988B2 true JP4509988B2 (ja) 2010-07-21

Family

ID=39200360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006256325A Active JP4509988B2 (ja) 2006-09-21 2006-09-21 操作デバイス制御装置、操作デバイス制御方法、プログラム及び操作デバイス

Country Status (5)

Country Link
US (1) US7933729B2 (ja)
EP (1) EP2065789A4 (ja)
JP (1) JP4509988B2 (ja)
CN (1) CN101379457B (ja)
WO (1) WO2008035531A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI374373B (en) * 2008-02-05 2012-10-11 Asustek Comp Inc Handheld pointing device and pointing method thereof and bias drift improving method
JP2010015535A (ja) * 2008-06-02 2010-01-21 Sony Corp 入力装置、制御システム、ハンドヘルド装置及び校正方法
JP5157671B2 (ja) * 2008-06-19 2013-03-06 株式会社リコー 撮像装置
EP2140915B1 (en) 2008-06-30 2019-03-06 Nintendo Co., Ltd. Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
EP2140919B1 (en) * 2008-06-30 2018-09-05 Nintendo Co., Ltd. Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
EP2140916B1 (en) 2008-06-30 2018-10-31 Nintendo Co., Ltd. Coordinate calculation apparatus and storage medium having coordinate calculation program stored therein
US8384565B2 (en) * 2008-07-11 2013-02-26 Nintendo Co., Ltd. Expanding operating device and operating system
EP2228109B1 (en) 2009-03-09 2021-03-24 Nintendo Co., Ltd. Information processing apparatus, storage medium having information processing program stored therein, information processing system, and display range control method
JP5393218B2 (ja) * 2009-03-25 2014-01-22 任天堂株式会社 ゲーム装置およびゲームプログラム
JP5430246B2 (ja) * 2009-06-23 2014-02-26 任天堂株式会社 ゲーム装置およびゲームプログラム
WO2011122214A1 (ja) * 2010-03-30 2011-10-06 株式会社カプコン プログラム及びそのプログラムを記録した記録媒体
CN102096482B (zh) * 2010-11-11 2012-10-03 青岛海信信芯科技有限公司 智能电视控制设备及控制方法
PL393402A1 (pl) * 2010-12-22 2012-07-02 Wisene Spółka Z Ograniczoną Odpowiedzialnością Sposób monitorowania składowej pionowej przemieszczenia i składowej pionowej zmiany ugięcia elementów konstrukcji obiektu budowlanego, zwłaszcza dachu, oraz system do realizacji tego sposobu
JP6215527B2 (ja) * 2012-02-02 2017-10-18 旭化成エレクトロニクス株式会社 物理量計測装置及び物理量計測方法
CN104869287A (zh) * 2015-05-18 2015-08-26 成都平行视野科技有限公司 基于移动设备gpu和角速度传感器的视频拍摄降噪方法
IT202100024644A1 (it) * 2021-09-27 2023-03-27 St Microelectronics Srl Circuito di controllo di un giroscopio mems, giroscopio mems e metodo di controllo

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145378A (ja) * 2002-08-28 2004-05-20 Sony Corp 電子機器装置、信号補償装置及び信号補償方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0731062B2 (ja) * 1992-02-10 1995-04-10 住友電気工業株式会社 ジャイロのオフセット補正方法及び装置
US5453758A (en) * 1992-07-31 1995-09-26 Sony Corporation Input apparatus
JPH0744315A (ja) * 1993-05-21 1995-02-14 Sony Corp 入力装置
JPH07324941A (ja) 1994-06-02 1995-12-12 Matsushita Electric Ind Co Ltd オフセットドリフト補正装置
JP3282547B2 (ja) 1997-06-27 2002-05-13 株式会社村田製作所 外力計測装置
US7370531B2 (en) 2004-01-20 2008-05-13 Ngk Insulators, Ltd. Detection circuits, detection method and systems of measuring physical quantities

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145378A (ja) * 2002-08-28 2004-05-20 Sony Corp 電子機器装置、信号補償装置及び信号補償方法

Also Published As

Publication number Publication date
US7933729B2 (en) 2011-04-26
EP2065789A4 (en) 2013-01-23
EP2065789A1 (en) 2009-06-03
WO2008035531A1 (fr) 2008-03-27
CN101379457A (zh) 2009-03-04
CN101379457B (zh) 2011-04-13
US20090183567A1 (en) 2009-07-23
JP2008077426A (ja) 2008-04-03

Similar Documents

Publication Publication Date Title
JP4509988B2 (ja) 操作デバイス制御装置、操作デバイス制御方法、プログラム及び操作デバイス
JP4700584B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8786549B2 (en) Gyro mouse de-drift and hand jitter reduction
JP2011029735A5 (ja)
JP2007310840A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
EP2141538B1 (en) Vibration correcting device
JP2011017688A (ja) 角度測定の方法およびそれを実施するための角度測定ジャイロシステム
JP5630969B2 (ja) 姿勢算出装置、姿勢算出プログラム、姿勢算出システム、および、姿勢算出方法
JP2006293218A (ja) 撮影システム
JP6999542B2 (ja) 携帯型電子装置を使用して測定するためのシステム及び方法
JPH10253361A (ja) 信号処理方法及び三次元データ入力装置
JP5620516B2 (ja) 安定化方法、及びコンピュータ・システム
JP2010207329A (ja) 座標算出装置および座標算出プログラム
JP6384194B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7383702B2 (ja) センサのゼロレート出力を較正するための方法および装置
JP4668839B2 (ja) 情報処理装置、その制御方法及びプログラム
KR20090119062A (ko) 3d 가속도 센서를 구비한 3d 포인팅 디바이스 및 이를이용한 포인터 제어 정보의 생성 방법과, 전자 기기 및전자 기기의 포인터 제어 방법과 전자 기기의 기능 실행방법
KR20120071738A (ko) 비정형 환경 대응 이동체 운용을 위한 환경 센서 안정화 장치 및 방법
JPWO2020071284A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP6042394B2 (ja) 座標算出装置および座標算出プログラム
JP2009222540A (ja) サーボ型振動計
JP2019074376A (ja) 角速度導出装置および角速度導出方法
CN106921832A (zh) 光学式图像稳定化模块以及相机模块
JP2019121864A (ja) 信号処理装置、撮像装置、振れ角度算出方法及び振れ角度算出プログラム
TW202435692A (zh) 電子裝置與其影像穩定功能的增益校正方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100427

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100428

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4509988

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250