JP2014021838A - 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 - Google Patents
情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 Download PDFInfo
- Publication number
- JP2014021838A JP2014021838A JP2012161664A JP2012161664A JP2014021838A JP 2014021838 A JP2014021838 A JP 2014021838A JP 2012161664 A JP2012161664 A JP 2012161664A JP 2012161664 A JP2012161664 A JP 2012161664A JP 2014021838 A JP2014021838 A JP 2014021838A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- detected magnetic
- magnetic vector
- information processing
- center position
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 228
- 238000004364 calculation method Methods 0.000 title claims description 73
- 239000013598 vector Substances 0.000 claims abstract description 704
- 230000005389 magnetism Effects 0.000 claims abstract description 9
- 238000001514 detection method Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 description 228
- 238000012937 correction Methods 0.000 description 135
- 238000012545 processing Methods 0.000 description 44
- 238000000926 separation method Methods 0.000 description 20
- 230000001133 acceleration Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 230000002159 abnormal effect Effects 0.000 description 14
- 238000013459 approach Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/211—Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/214—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
- A63F13/2145—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/92—Video game devices specially adapted to be hand-held while playing
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B7/00—Measuring arrangements characterised by the use of electric or magnetic techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/10—Features 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/105—Features 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/10—Features 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/1068—Features 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 being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
- A63F2300/1075—Features 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 being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad using a touch screen
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/204—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
- Measuring Magnetic Variables (AREA)
Abstract
【解決手段】情報処理装置は、磁気センサを備える入力装置の姿勢を算出する。情報処理装置は、磁気センサが検出する検出磁気ベクトルを繰り返し取得する。情報処理装置は、検出磁気ベクトルに基づいて定められる基準位置から検出磁気ベクトルの終点位置への方向に応じて検出磁気ベクトルを分類して記憶部に記憶する。情報処理装置は、分類された複数の検出磁気ベクトルから、1つの分類につき少なくとも1つ抽出される各検出磁気ベクトルの各終点位置から推定される曲面を有する球状体の中心位置を繰り返し推定する。入力装置の姿勢は、中心位置から検出磁気ベクトルの終点位置への方向を表す方向ベクトルに基づいて算出される。
【選択図】図11
Description
本発明の一例は、磁気センサを備える入力装置の姿勢を算出する情報処理装置のコンピュータにおいて実行される情報処理プログラムである。情報処理プログラムは、取得手段と、記憶制御手段と、中心推定手段と、姿勢算出手段としてコンピュータを機能させる。
取得手段は、磁気センサが検出する検出磁気ベクトルを取得する。記憶制御手段は、検出磁気ベクトルに基づいて定められる基準位置から検出磁気ベクトルの終点位置への方向に応じて検出磁気ベクトルを分類して記憶部に記憶する。中心推定手段は、分類された複数の検出磁気ベクトルから、1つの分類につき少なくとも1つ抽出される各検出磁気ベクトルの終点位置から推定される曲面を有する球状体の中心位置を推定する。姿勢算出手段は、中心位置から検出磁気ベクトルの終点位置への方向を表す方向ベクトルに基づいて入力装置の姿勢を算出する。
記憶制御手段は、検出磁気ベクトルに基づいて定められる基準位置から検出磁気ベクトルの終点位置への方向に応じて設定される複数のカテゴリのうち、当該基準位置から、取得された検出磁気ベクトルの終点位置への方向に応じたカテゴリに、当該取得された検出磁気ベクトルを分類してもよい。
記憶制御手段は、同じ分類に属する1以上の検出磁気ベクトルから得られる1つの検出磁気ベクトルを記憶部に記憶してもよい。このとき、中心推定手段は、記憶部に記憶されている検出磁気ベクトルの終点位置から推定される曲面を有する球状体の中心位置を推定する。
記憶制御手段は、新たな検出磁気ベクトルが取得され、当該新たな検出磁気ベクトルと同じ分類に属する検出磁気ベクトルがすでに記憶されている場合、すでに記憶されている検出磁気ベクトルに当該新たな検出磁気ベクトルを上書きして記憶してもよい。
記憶制御手段は、新たな検出磁気ベクトルが取得され、当該新たな検出磁気ベクトルと同じ分類に属する検出磁気ベクトルがすでに記憶されている場合、すでに記憶されている検出磁気ベクトルと当該新たな検出磁気ベクトルとに基づいて生成される検出磁気ベクトルを記憶してもよい。
情報処理プログラムは、球状体の面または当該面の内側に基準位置を設定する基準位置設定手段としてコンピュータをさらに機能させてもよい。
記憶制御手段は、中心位置が算出された後、検出磁気ベクトルが取得される度に、中心推定手段によって算出された最新の中心位置を基準位置として、当該取得された検出磁気ベクトルを記憶してもよい。
中心推定手段は、検出磁気ベクトルが新たに記憶される度に中心位置を更新してもよい。
記憶制御手段は、互いに異なる方向を向く複数の分類ベクトルのうちから、基準位置から検出磁気ベクトルの終点への方向に最も近い方向を向く分類ベクトルを選択し、異なる分類ベクトルが選択される検出磁気ベクトルを異なるカテゴリに分類してもよい。
複数の分類ベクトルは、各分類ベクトルの始点を球体の中心に配置した場合に各分類ベクトルの終点が当該球体の球面上、または、当該球面の半分の面上に均等に散らばって配置されるように設定されてもよい。
記憶制御手段は、分類ベクトルと、基準位置から検出磁気ベクトルの終点位置への方向を表すベクトルとの内積の絶対値に基づいて分類ベクトルの選択を行い、さらに、当該内積の正負に応じて異なるカテゴリに検出磁気ベクトルを分類してもよい。
以下、本実施形態の一例に係る情報処理システム、情報処理装置、情報処理プログラム、および姿勢算出方法について説明する。図1は、本実施形態に係る情報処理システムの一例を示すブロック図である。図1において、情報処理システム1は、入力装置2および情報処理装置3を備える。本実施形態における情報処理システム1は、入力装置2の姿勢に応じた値を検出するセンサ(磁気センサ等)を用いて入力装置2の姿勢を算出するものである。
以下、磁気センサ4による検出結果に基づいて入力装置2の姿勢を算出する方法について説明する。本実施形態において、情報処理システム1(情報処理装置3)は、磁気センサ4によって検出される検出磁気ベクトルに基づいて姿勢を算出する。ここで、磁気センサ4が検出する磁界は、磁界の方向が入力装置2の姿勢に依存しない成分と、磁界の方向が入力装置2の姿勢に依存する成分とに分けられる。磁界の方向が入力装置2の姿勢に依存しない成分とは、例えば、入力装置2自身によって発生する磁界(入力装置2が帯びている磁気)である。この成分に関しては、入力装置2の姿勢が変化しても、磁気センサ4で検出される方向が変化しない。
(3−1:姿勢算出処理の流れ)
本実施形態では、姿勢算出処理において、情報処理装置3は以下の第1〜第3処理を実行する。
・第1処理:検出磁気ベクトルを繰り返し取得し、取得された複数の検出磁気ベクトルが所定の条件を満たす場合に磁気球体の中心位置(初期中心位置)を推定する処理
・第2処理:初期中心位置が推定された後、取得された検出磁気ベクトルに基づいて中心位置を更新する処理
・第3処理:初期中心位置が算出された後、中心位置に基づいて決定される方向ベクトルを用いて入力装置2の姿勢を算出する処理
第1処理においては、情報処理装置3は、検出磁気ベクトルを繰り返し取得する。取得された検出磁気ベクトルは、情報処理装置3がアクセス可能な記憶部に設けられるバッファに記憶される。詳細は後述するが、本実施形態においては、バッファに記憶される検出磁気ベクトルの最大数には制限があり、所定の条件を満たす検出磁気ベクトルがバッファに残され、不要と判断された検出磁気ベクトルはバッファから削除される。そして、バッファに記憶されている検出磁気ベクトルが中心位置の推定(算出)に用いられる。なお、以下においては、情報処理装置3によって推定(算出)される中心位置と区別する意図で、磁気球体の正確な中心位置を「実際の中心位置」と記載する。
第1処理において、情報処理装置3は、検出磁気ベクトルが取得される度に、初期中心位置を算出するか否かを判定する。すなわち、情報処理装置3は、検出磁気ベクトルを取得する度に、それまでに取得された検出磁気ベクトルが所定の条件を満たすか否かを判定する。そして、所定の条件が満たされた場合、最初の中心位置(初期中心位置)が推定(算出)される。上記所定の条件は、中心位置を推定するのに十分な検出磁気ベクトルが取得されたか否かを判定するための条件である。本実施形態によれば、所定の条件を満たしたことに応じて中心位置が推定されるので、姿勢の算出に用いることができないほど不正確な中心位置が算出される可能性を低減することができ、姿勢をより精度良く算出することができる。
初期中心位置は、バッファに記憶されている複数の検出磁気ベクトルに基づいて算出される。本実施形態においては、初期中心位置は、上記複数の検出磁気ベクトルの各終点位置を含むように決定される領域(ここでは上記記録範囲)の内部に設定される。換言すれば、初期中心位置は、上記記録範囲である直方体の内部に設定される。これによれば、初期中心位置は、上記複数の検出磁気ベクトルの各終点の周囲に設定され、後述する中心位置の更新処理(第2処理)によって、磁気球体の中心へ次第に近づけることができる。つまり、初期中心位置が(更新処理によって磁気球体の中心へ近づけることが困難な程度に)大きく外れた位置に設定される可能性を低減することができ、初期中心位置を適切な位置に設定することができる。
上述のようにして初期中心位置が設定された後、情報処理装置3は、中心位置を逐次更新する。すなわち、検出磁気ベクトルが取得される度に、取得された検出磁気ベクトルに基づいて新たな中心位置が算出される。本実施形態においては、情報処理装置3は、中心位置から検出磁気ベクトルの終点位置までの線分(半径)の長さに関する条件を用いて(更新後の)中心位置を算出する。具体的には、情報処理装置3は、検出磁気ベクトルが新たに取得された場合、中心位置から(当該中心位置の推定に用いられる)各検出磁気ベクトルの終点までの各半径の長さがそれぞれ、当該各半径の長さの平均に近づくように、中心位置を更新する。以下、図4を参照して、中心位置の更新処理の詳細を説明する。
上記第1処理によって中心位置が設定された後は、方向ベクトルを算出可能になる。したがって、情報処理装置3は、第3処理において、中心位置から方向ベクトルを算出し、方向ベクトルに基づいて入力装置2の姿勢を算出する。
本実施形態においては、情報処理装置3は、磁気センサ4とは別のセンサ(ジャイロセンサ5および加速度センサ6)を用いる方法で得られる入力装置2の姿勢を、方向ベクトルを用いて補正することで、入力装置2の姿勢を算出する。つまり、情報処理装置3は、検出磁気ベクトルを用いる方法とは別の方法によって算出された入力装置2の姿勢を方向ベクトルに基づいて補正する。以下、図6を参照して、方向ベクトルを用いた入力装置2の姿勢の補正方法について説明する。
なお、図6においては、方向ベクトルVa1が基準方向ベクトルVaと一致するように補正を行うものとして説明したが、本実施形態においては、情報処理装置3は、方向ベクトルVa1が基準方向ベクトルVaの方向へ補正度に応じた割合だけ近づくように補正を行う。補正度はどのように決定されてもよいが、本実施形態においては、いくつかの要素に基づいて複数種類の補正率(第1補正率および第2補正率)を算出し、これらの補正度に基づいて最終的に用いる補正度を設定する。以下、補正度の設定方法について説明する。
第1補正率は、新たに取得された検出磁気ベクトル(の終点)が、これまでに取得された検出磁気ベクトル(の終点)に対して離れている度合い(「離間度」と呼ぶ)に応じて設定される。なお、「これまでに取得された検出磁気ベクトル」とは、その時点における中心位置の推定に用いられた検出磁気ベクトルのことであり、換言すれば、バッファに記憶されている検出磁気ベクトルのことである。情報処理装置3は、上記離間度が大きいほど補正率が小さくなるように第1補正率を設定する。第1補正率は、例えば0以上100以下の値で表され、値が大きいほど検出磁気ベクトルに基づく補正の度合いが大きくなる(図6の例で言えば、方向ベクトルVa1が基準方向ベクトルVaにより近づく)ものとする。
第2補正率は、新たに取得された検出磁気ベクトルに対応する方向ベクトルの方向と、ユーザが所定の操作を行った時の検出磁気ベクトル(ここでは、基準磁気ベクトル)に対応する方向ベクトルの方向との差に応じて設定される。情報処理装置3は、上記の方向の差が大きいほど補正率が小さくなるように第2補正率を設定する。第2補正率は、第1補正率と同様、例えば0以上100以下の値で表され、値が大きいほど検出磁気ベクトルに基づく補正の度合いが大きくなるものとする。
本実施形態においては、上記第1補正率および第2補正率に基づいて、最終的な補正度を算出する。例えば、情報処理装置3は、第1補正率と第2補正率とを乗算し、所定の係数をさらに乗算した補正度を算出する。なお、他の実施形態においては、上記第1補正率および第2補正率のうちいずれか一方に基づいて最終的な補正度を算出してもよい。例えば、入力装置2の姿勢が全方向にわたって変化するような操作方法が想定される場合には、第2補正率を用いずに補正度が算出されてもよい。また、情報処理装置3は、補正度が急激に大きくなることを防止してもよい(後述するステップS36およびS37参照)。情報処理装置3が算出する入力装置2の姿勢が、方向ベクトルを用いた補正によって急激に変化することを防止するためである。
本実施形態においては、第3処理において、情報処理装置3は、中心位置に関する所定の条件が満たされた場合に、方向ベクトルに基づく入力装置2の姿勢を算出する。つまり、推定された中心位置が磁気球体の実際の中心位置を表すものとして信頼できる度合いが低い場合には、情報処理装置3は検出磁気ベクトルに基づく入力装置2の姿勢を算出しないことにより、不正確な姿勢を算出する可能性を低減するものである。
本実施形態においては、情報処理装置3は、検出磁気ベクトルを条件に応じて分類して記憶するバッファを用いる。そして、バッファに記憶される検出磁気ベクトルを用いて中心位置を推定(算出)する。つまり、本実施形態においては、バッファから消去された検出磁気ベクトルは中心位置の推定に用いられない。情報処理装置3は、効率良く、かつ、精度良く中心位置を算出するべく、中心位置の算出に用いる検出磁気ベクトルを、上記のバッファを用いて選別する。以下、取得された検出磁気ベクトルをバッファに記憶する方法について説明する。
以下、図13〜図16を参照して、本実施形態において情報処理システム1(情報処理装置3)で実行される具体的な処理の一例について説明する。図13は、本実施形態において情報処理システム1の記憶部(メモリ9)に設定されるデータ領域の一例を示す図である。図13に示すように、情報処理装置3のメモリ9には、プログラム格納領域11、操作データ格納領域13、処理用データ格納領域15、およびバッファ領域27が設定される。なお、メモリ9には、図13に示すデータの他、表示装置へ出力すべき画像やそれを生成するために用いられる画像のデータ等を格納するための領域が設定されてもよい。
上記実施形態においては、入力装置の姿勢に応じて変化する値を検出するセンサとして磁気センサを用いる場合を例として説明した。ここで、他の実施形態においては、入力装置の姿勢に応じて変化する値を検出するセンサは、他のセンサであってもよい。本実施形態における姿勢算出処理は、入力装置の姿勢に応じて変化する値を検出するセンサから取得される検出ベクトルが、入力装置の姿勢に依存しない成分と、入力装置の姿勢に依存する成分とを含む場合に有効である。すなわち、情報処理装置3は、上記検出ベクトルを取得し、検出ベクトルの各終点位置から推定される曲面を有する球状体の中心位置を推定し、中心位置から検出ベクトルの終点位置への方向を表す方向ベクトルに基づいて入力装置の姿勢を算出するものであってもよい。
2 入力装置
3 情報処理装置
4 磁気センサ
5 ジャイロセンサ
6 加速度センサ
7 操作部
8 CPU
9 メモリ
12 情報処理プログラム
27 バッファ領域
Claims (14)
- 磁気センサを備える入力装置の姿勢を算出する情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記情報処理プログラムは、
前記磁気センサが検出する検出磁気ベクトルを取得する取得手段と、
前記検出磁気ベクトルに基づいて定められる基準位置から検出磁気ベクトルの終点位置への方向に応じて前記検出磁気ベクトルを分類して記憶部に記憶する記憶制御手段と、
分類された複数の検出磁気ベクトルから、1つの分類につき少なくとも1つ抽出される各検出磁気ベクトルの終点位置から推定される曲面を有する球状体の中心位置を推定する中心推定手段と、
前記中心位置から検出磁気ベクトルの終点位置への方向を表す方向ベクトルに基づいて前記入力装置の姿勢を算出する姿勢算出手段として前記コンピュータを機能させる、情報処理プログラム。 - 前記記憶制御手段は、前記検出磁気ベクトルに基づいて定められる基準位置から検出磁気ベクトルの終点位置への方向に応じて設定される複数のカテゴリのうち、当該基準位置から、取得された前記検出磁気ベクトルの終点位置への方向に応じたカテゴリに、当該取得された検出磁気ベクトルを分類する、請求項1に記載の情報処理プログラム。
- 前記記憶制御手段は、同じ分類に属する1以上の検出磁気ベクトルから得られる1つの検出磁気ベクトルを前記記憶部に記憶し、
前記中心推定手段は、前記記憶部に記憶されている検出磁気ベクトルの終点位置から推定される曲面を有する球状体の中心位置を推定する、請求項1または請求項2に記載の情報処理プログラム。 - 前記記憶制御手段は、新たな検出磁気ベクトルが取得され、当該新たな検出磁気ベクトルと同じ分類に属する検出磁気ベクトルがすでに記憶されている場合、すでに記憶されている検出磁気ベクトルに当該新たな検出磁気ベクトルを上書きして記憶する、請求項3に記載の情報処理プログラム。
- 前記記憶制御手段は、新たな検出磁気ベクトルが取得され、当該新たな検出磁気ベクトルと同じ分類に属する検出磁気ベクトルがすでに記憶されている場合、すでに記憶されている検出磁気ベクトルと当該新たな検出磁気ベクトルとに基づいて生成される検出磁気ベクトルを記憶する、請求項3に記載の情報処理プログラム。
- 前記球状体の面または当該面の内側に前記基準位置を設定する基準位置設定手段として前記コンピュータをさらに機能させる、請求項1から請求項5のいずれか1項に記載の情報処理プログラム。
- 前記記憶制御手段は、前記中心位置が算出された後、前記検出磁気ベクトルが取得される度に、前記中心推定手段によって算出された最新の中心位置を前記基準位置として、当該取得された検出磁気ベクトルを記憶する、請求項1からは請求項6のいずれか1項に記載の情報処理プログラム。
- 前記中心推定手段は、前記検出磁気ベクトルが新たに記憶される度に前記中心位置を更新する、請求項7に記載の情報処理プログラム。
- 前記記憶制御手段は、互いに異なる方向を向く複数の分類ベクトルのうちから、基準位置から前記検出磁気ベクトルの終点への方向に最も近い方向を向く分類ベクトルを選択し、異なる分類ベクトルが選択される検出磁気ベクトルを異なるカテゴリに分類する、請求項1から請求項8のいずれか1項に記載の情報処理プログラム。
- 前記複数の分類ベクトルは、各分類ベクトルの始点を球体の中心に配置した場合に各分類ベクトルの終点が当該球体の球面上、または、当該球面の半分の面上に均等に散らばって配置されるように設定される、請求項9に記載の情報処理プログラム。
- 前記記憶制御手段は、前記分類ベクトルと、基準位置から検出磁気ベクトルの終点位置への方向を表すベクトルとの内積の絶対値に基づいて分類ベクトルの選択を行い、さらに、当該内積の正負に応じて異なるカテゴリに検出磁気ベクトルを分類する、請求項9または請求項10に記載の情報処理プログラム。
- 磁気センサを備える入力装置の姿勢を算出する情報処理装置であって、
前記磁気センサが検出する検出磁気ベクトルを取得する取得部と、
前記検出磁気ベクトルに基づいて定められる基準位置から検出磁気ベクトルの終点位置への方向に応じて前記検出磁気ベクトルを分類して記憶部に記憶する記憶制御部と、
分類された複数の検出磁気ベクトルから、1つの分類につき少なくとも1つ抽出される各検出磁気ベクトルの終点位置から推定される曲面を有する球状体の中心位置を推定する中心推定部と、
前記中心位置から検出磁気ベクトルの終点位置への方向を表す方向ベクトルに基づいて前記入力装置の姿勢を算出する姿勢算出部とを備える、情報処理装置。 - 磁気センサを備える入力装置の姿勢を算出する情報処理システムであって、
前記磁気センサが検出する検出磁気ベクトルを取得する取得部と、
前記検出磁気ベクトルに基づいて定められる基準位置から検出磁気ベクトルの終点位置への方向に応じて前記検出磁気ベクトルを分類して記憶部に記憶する記憶制御部と、
分類された複数の検出磁気ベクトルから、1つの分類につき少なくとも1つ抽出される各検出磁気ベクトルの終点位置から推定される曲面を有する球状体の中心位置を推定する中心推定部と、
前記中心位置から検出磁気ベクトルの終点位置への方向を表す方向ベクトルに基づいて前記入力装置の姿勢を算出する姿勢算出部とを備える、情報処理システム。 - 磁気センサを備える入力装置の姿勢を算出する姿勢算出方法であって、
前記磁気センサが検出する検出磁気ベクトルを取得する取得ステップと、
前記検出磁気ベクトルに基づいて定められる基準位置から検出磁気ベクトルの終点位置への方向に応じて前記検出磁気ベクトルを分類して記憶部に記憶する記憶制御ステップと、
分類された複数の検出磁気ベクトルから、1つの分類につき少なくとも1つ抽出される各検出磁気ベクトルの終点位置から推定される曲面を有する球状体の中心位置を推定する中心推定ステップと、
前記中心位置から検出磁気ベクトルの終点位置への方向を表す方向ベクトルに基づいて前記入力装置の姿勢を算出する姿勢算出ステップとを備える、姿勢算出方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012161664A JP6105222B2 (ja) | 2012-07-20 | 2012-07-20 | 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 |
EP12189446.3A EP2687956B1 (en) | 2012-07-20 | 2012-10-22 | Information processing program, information processing system and attitude calculation method for calculating an attitude of an input unit |
US13/664,870 US9238173B2 (en) | 2012-07-20 | 2012-10-31 | Storage medium having information processing program stored thereon, information processing device, information processing system, and attitude calculation method |
CN201210483689.9A CN103576849B (zh) | 2012-07-20 | 2012-11-23 | 信息处理系统、信息处理装置以及姿势计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012161664A JP6105222B2 (ja) | 2012-07-20 | 2012-07-20 | 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014021838A true JP2014021838A (ja) | 2014-02-03 |
JP6105222B2 JP6105222B2 (ja) | 2017-03-29 |
Family
ID=47044902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012161664A Active JP6105222B2 (ja) | 2012-07-20 | 2012-07-20 | 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9238173B2 (ja) |
EP (1) | EP2687956B1 (ja) |
JP (1) | JP6105222B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6105222B2 (ja) * | 2012-07-20 | 2017-03-29 | 任天堂株式会社 | 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 |
JP6105221B2 (ja) * | 2012-07-20 | 2017-03-29 | 任天堂株式会社 | 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 |
EP2687955B1 (en) * | 2012-07-20 | 2018-08-22 | Nintendo Co., Ltd. | Information processing program, information processing system and attitude calculation method for calculating an attitude of an input unit |
JP6221688B2 (ja) * | 2013-11-27 | 2017-11-01 | 富士通株式会社 | 磁性体解析装置、磁性体解析プログラムおよび磁性体解析方法 |
CN113407809B (zh) * | 2020-03-17 | 2024-01-09 | Gsi 科技公司 | 高效的相似性搜索 |
US11645292B2 (en) * | 2020-03-17 | 2023-05-09 | Gsi Technology Inc. | Efficient similarity search |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS601510B2 (ja) * | 1976-11-04 | 1985-01-16 | 三菱重工業株式会社 | シヤツトオフバルブ |
US4660161A (en) * | 1983-06-17 | 1987-04-21 | Honda Giken Kogyo Kabushiki Kaisha | Correction method for vehicle-mounted geomagnetic field sensors |
JPH0658758A (ja) * | 1992-08-06 | 1994-03-04 | Mitsubishi Electric Corp | 方位検出装置 |
JPH10153428A (ja) * | 1996-11-22 | 1998-06-09 | Alps Electric Co Ltd | 車両方位検出装置 |
US20030167121A1 (en) * | 2002-03-01 | 2003-09-04 | Ockerse Harold C. | Electronic compass system |
US20060252539A1 (en) * | 2004-12-17 | 2006-11-09 | Inventec Appliances Corporation | Game software's direction control device and method for handheld apparatus |
JPWO2006009247A1 (ja) * | 2004-07-23 | 2008-05-01 | ヤマハ株式会社 | 方位処理装置、方位処理方法、方位処理プログラム、方位測定装置、傾斜オフセットの補正方法、方位計測方法、方位センサユニット及び携帯電子機器 |
JP4908637B2 (ja) * | 2008-11-20 | 2012-04-04 | 旭化成エレクトロニクス株式会社 | 物理量計測装置および物理量計測方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149627B2 (en) * | 2002-03-01 | 2006-12-12 | Gentex Corporation | Electronic compass system |
JP4899525B2 (ja) * | 2006-02-21 | 2012-03-21 | ヤマハ株式会社 | 磁気センサ制御装置、磁気測定装置、並びにオフセット設定方法及びプログラム |
JP2008128649A (ja) * | 2006-11-16 | 2008-06-05 | Citizen Holdings Co Ltd | 方位センサおよび記録媒体 |
JP4798809B1 (ja) | 2010-11-01 | 2011-10-19 | 任天堂株式会社 | 表示装置、ゲームシステム、およびゲーム処理方法 |
KR20120100702A (ko) * | 2010-02-03 | 2012-09-12 | 닌텐도가부시키가이샤 | 표시 장치, 게임 시스템 및 게임 처리 방법 |
EP2687955B1 (en) * | 2012-07-20 | 2018-08-22 | Nintendo Co., Ltd. | Information processing program, information processing system and attitude calculation method for calculating an attitude of an input unit |
JP6105222B2 (ja) * | 2012-07-20 | 2017-03-29 | 任天堂株式会社 | 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 |
-
2012
- 2012-07-20 JP JP2012161664A patent/JP6105222B2/ja active Active
- 2012-10-22 EP EP12189446.3A patent/EP2687956B1/en active Active
- 2012-10-31 US US13/664,870 patent/US9238173B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS601510B2 (ja) * | 1976-11-04 | 1985-01-16 | 三菱重工業株式会社 | シヤツトオフバルブ |
US4660161A (en) * | 1983-06-17 | 1987-04-21 | Honda Giken Kogyo Kabushiki Kaisha | Correction method for vehicle-mounted geomagnetic field sensors |
JPH0658758A (ja) * | 1992-08-06 | 1994-03-04 | Mitsubishi Electric Corp | 方位検出装置 |
JPH10153428A (ja) * | 1996-11-22 | 1998-06-09 | Alps Electric Co Ltd | 車両方位検出装置 |
US20030167121A1 (en) * | 2002-03-01 | 2003-09-04 | Ockerse Harold C. | Electronic compass system |
JP2005519278A (ja) * | 2002-03-01 | 2005-06-30 | ジェンテックス コーポレイション | 電子コンパスシステム |
JPWO2006009247A1 (ja) * | 2004-07-23 | 2008-05-01 | ヤマハ株式会社 | 方位処理装置、方位処理方法、方位処理プログラム、方位測定装置、傾斜オフセットの補正方法、方位計測方法、方位センサユニット及び携帯電子機器 |
US20060252539A1 (en) * | 2004-12-17 | 2006-11-09 | Inventec Appliances Corporation | Game software's direction control device and method for handheld apparatus |
JP4908637B2 (ja) * | 2008-11-20 | 2012-04-04 | 旭化成エレクトロニクス株式会社 | 物理量計測装置および物理量計測方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2687956B1 (en) | 2018-11-21 |
EP2687956A3 (en) | 2016-11-30 |
EP2687956A2 (en) | 2014-01-22 |
JP6105222B2 (ja) | 2017-03-29 |
US20140025335A1 (en) | 2014-01-23 |
US9238173B2 (en) | 2016-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6105303B2 (ja) | 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 | |
JP6105222B2 (ja) | 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 | |
WO2018090538A1 (zh) | 网球拍动作识别方法及装置 | |
JP5927776B2 (ja) | 携帯機器 | |
US20140168057A1 (en) | Gyro aided tap gesture detection | |
TWI691731B (zh) | 位置追蹤系統及方法 | |
US20160089566A1 (en) | Sensor, motion measurement system, and method of motion measurement | |
CN105841695B (zh) | 信息处理装置、信息处理方法以及记录介质 | |
JP6197702B2 (ja) | 入力方法,プログラム及び入力装置 | |
TWI476733B (zh) | 運動軌跡重建方法及其裝置 | |
JP6105221B2 (ja) | 情報処理プログラム、情報処理装置、情報処理システム、および、姿勢算出方法 | |
JP2017191426A (ja) | 入力装置、入力制御方法、コンピュータプログラム、及び記憶媒体 | |
KR101870542B1 (ko) | 모션 인식 방법 및 장치 | |
TWI680382B (zh) | 電子裝置及其姿態校正方法 | |
US10917710B2 (en) | System and earphone related to transformation of sensed data | |
CN103576849B (zh) | 信息处理系统、信息处理装置以及姿势计算方法 | |
TWI491902B (zh) | 方位角校正方法及其磁力感應器 | |
JP2021069702A (ja) | 評価方法、および評価装置 | |
CN111078489B (zh) | 电子装置及其姿态校正方法 | |
JP6972675B2 (ja) | 姿勢評価装置、姿勢算出装置、姿勢計測システム、姿勢評価方法及びプログラム | |
KR102280780B1 (ko) | 모션 센서의 측정 정확도를 향상시키기 위한 전자 장치 및 그 방법 | |
US20200089940A1 (en) | Human behavior understanding system and method | |
TW202111487A (zh) | 人類行為理解系統及人類行為理解方法 | |
KR20180068348A (ko) | 스마트폰 기반 가상현실 환경에서 사용자의 자세 추론 방법 | |
KR20190143513A (ko) | 직교좌표계를 이용한 모션 인식 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150602 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160824 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161017 |
|
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: 20170222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6105222 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |