(57)【要約】【課題】加速度センサの向きに関係なく得られた検出情報に基づき、加速度センサのオフセット誤差情報及び感度誤差情報を計算可能なプログラム、情報記憶媒体、加速度センサの誤差測定方法及び誤差測定装置並びにゲームシステムを提供すること。【解決手段】加速度センサ２０の互いに直交する３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、加速度センサ２０の検出情報に基づく６組の加速度情報を代入し、当該６つのパラメータを未知数とする連立２次方程式を作成する。この連立２次方程式を、６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含む連立１次方程式に帰着させて当該連立１次方程式を解く。５つの新たな未知数の値から元の６つの未知数の値を計算し、計算結果に基づいて加速度センサの３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する。【選択図】図１
2011053060.tif 000002
【特許請求の範囲】
【請求項１】
加速度センサのオフセット誤差情報及び感度誤差情報を計算するプログラムであって、
前記加速度センサの互いに直交する３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、前記加速度センサの検出情報に基づく６組の加速度情報を代入し、前記６つのパラメータを未知数とする６つの２次方程式からなる連立２次方程式を作成する連立方程式作成部と、
前記連立２次方程式を、前記６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含むとともに前記６つの未知数のいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く連立方程式計算部と、
前記５つの新たな未知数の値から前記６つの未知数の値を計算し、計算結果に基づいて前記加速度センサの前記３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する加速度誤差計算部として、コンピュータを機能させる、プログラム。
【請求項２】
請求項１において、
前記連立方程式計算部は、
前記連立１次方程式の係数行列がその対角要素の絶対値が対角要素でない他のすべての要素の絶対値よりも大きくなるように前記連立１次方程式を作成する、プログラム。
【請求項３】
請求項１又は２において、
前記連立方程式計算部は、
前記６組の加速度情報の中で第１の検出軸方向の値が最大及び最小の２つの前記加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の１つを作成し、前記６組の加速度情報の中で第２の検出軸方向の値が最大及び最小の２つの前記加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の他の１つを作成し、前記６組の加速度情報の中で第３の検出軸方向の値が最大及び最小の２つの前記加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の他の１つを作成する、プログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記連立方程式計算部は、
前記連立２次方程式の任意の２つの２次方程式を演算して得られる多項式又は当該多項式を変形した多項式の各項に含まれる、前記６つの未知数から構成される式又は当該式を実数倍した式を前記５つの新たな未知数と対応させて前記連立１次方程式を作成する、プログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記連立方程式計算部は、
前記加速度センサの３つの検出軸で作られる３次元空間において互いに直交する所定の３つの軸がそれぞれ重力方向の逆方向又はその近傍を向く状態で得られる３組の前記検出情報に基づく３組の前記加速度情報と、前記前記所定の３つの軸がそれぞれ重力方向又はその近傍を向く状態で得られる３組の前記検出情報に基づく３組の前記加速度情報と、を用いて前記連立２次方程式を作成する、プログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記連立方程式作成部は、
前記加速度センサの３つの検出軸をｘ軸、ｙ軸、ｚ軸とし、前記６つのパラメータのうち、前記加速度センサのｘ軸方向、ｙ軸方向、ｚ軸方向の感度のパラメータをそれぞれａ，ｂ，ｃ、前記加速度センサのｘ軸方向、ｙ軸方向、ｚ軸方向のオフセットのパラメータをぞれぞれｐ，ｑ，ｒとした時、前記楕円体の方程式として方程式｛（ｘ−ｐ）／ａ｝２＋｛（ｙ−ｑ）／ｂ｝２＋｛（ｚ−ｒ）／ｃ｝２＝１を用いる、プログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記加速度センサの前記検出情報を取得し、取得した前記検出情報に基づいて前記加速度情報を生成する加速度情報生成部を含む、プログラム。
【請求項８】
請求項７において、
前記加速度情報生成部は、
前記検出情報に基づいて、前記加速度センサの運動による加速度が無視できる状態であるか否かを判定し、前記加速度センサの運動による加速度が無視できる状態での前記検出情報に基づいて、前記加速度情報を生成する、プログラム。
【請求項９】
請求項８において、
前記加速度情報生成部は、
前記検出情報の変動幅が所定の条件を満たす状態が所定時間持続すれば前記加速度センサの運動による加速度が無視できる状態であると判定する、プログラム。
【請求項１０】
請求項９において、
前記加速度情報生成部は、
前記所定時間に取得した複数の前記検出情報に基づいて前記加速度情報を生成する、プログラム。
【請求項１１】
コンピュータに読み取り可能な情報記憶媒体であって、請求項１乃至９のいずれかに記載のプログラムを記憶している、情報記憶媒体。
【請求項１２】
加速度センサのオフセット誤差情報及び感度誤差情報を計算する加速度センサの誤差測定方法であって、
前記加速度センサの互いに直交する３つの検出軸で作られる３次元空間において互いに直交する所定の３つの軸のうちの第１の軸が重力方向の逆方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第１の加速度情報を生成する第１の加速度情報生成ステップと、
前記第１の軸が重力方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第２の加速度情報を生成する第２の加速度情報生成ステップと、
前記所定の３つの軸のうちの第２の軸が重力方向の逆方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第３の加速度情報を生成する第３の加速度情報生成ステップと、
前記第２の軸が重力方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第４の加速度情報を生成する第４の加速度情報生成ステップと、
前記所定の３つの軸のうちの第３の軸が重力方向の逆方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第５の加速度情報を生成する第５の加速度情報生成ステップと、
前記第３の軸が重力方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第６の加速度情報を生成する第６の加速度情報生成ステップと、
前記加速度センサの３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、前記第１の加速度情報、前記第２の加速度情報、前記第３の加速度情報、前記第４の加速度情報、前記第５の加速度情報及び前記第６の加速度情報をそれぞれ代入し、前記６つのパラメータを未知数とする６つの２次方程式からなる連立２次方程式を作成する連立方程式作成ステップと、
前記連立２次方程式を、前記６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含むとともに前記６つの未知数のいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く連立方程式計算ステップと、
前記５つの新たな未知数の値から前記６つの未知数の値を計算し、計算結果に基づいて前記加速度センサの前記３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する誤差計算ステップと、を含む、加速度センサの誤差測定方法。
【請求項１３】
加速度センサのオフセット誤差情報及び感度誤差情報を測定する加速度センサの誤差測定装置であって、
前記加速度センサの検出情報を取得し、取得した前記検出情報に基づいて６組の加速度情報を生成する加速度情報生成部と、
前記加速度センサの互いに直交する３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、前記６組の加速度情報を代入し、前記６つのパラメータを未知数とする６つの２次方程式からなる連立２次方程式を作成する連立方程式作成部と、
前記連立２次方程式を、前記６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含むとともに前記６つの未知数のいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く連立方程式計算部と、
前記５つの新たな未知数の値から前記６つの未知数の値を計算し、計算結果に基づいて前記加速度センサの前記３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する加速度誤差計算部と、を含む加速度センサの誤差測定装置。
【請求項１４】
プレイヤの入力動作に応じて変化する加速度を検出する加速度センサを備えた入力装置から前記加速度センサの検出情報を取得してゲーム演算を行うゲームシステムであって、
前記加速度センサの前記検出情報に基づいて、前記加速度センサのオフセット誤差情報及び感度誤差情報を計算して記憶部に記憶させる加速度誤差測定部と、
前記記憶部に記憶された前記オフセット誤差情報及び前記感度誤差情報に基づいて、前記加速度センサの検出情報を補正してゲーム演算を行うゲーム演算部と、を含み、
前記加速度誤差測定部は、
前記入力装置から前記加速度センサの前記検出情報を取得し、取得した前記検出情報に基づいて６組の加速度情報を生成する加速度情報生成部と、
前記加速度センサの互いに直交する３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、前記６組の加速度情報を代入し、前記６つのパラメータを未知数とする６つの２次方程式からなる連立２次方程式を作成する連立方程式作成部と、
前記連立２次方程式を、前記６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含むとともに前記６つの未知数のいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く連立方程式計算部と、
前記５つの新たな未知数の値から前記６つの未知数の値を計算し、計算結果に基づいて前記加速度センサの前記３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する加速度誤差計算部と、
前記オフセット誤差情報及び前記感度誤差情報を前記記憶部に記憶させる加速度誤差設定部と、を含む、ゲームシステム。
【請求項１５】
請求項１４において、
前記加速度誤差測定部は、
ゲームプログラムの起動時又は加速度誤差測定イベントが発生した場合に、前記検出情報を取得して前記オフセット誤差情報及び前記感度誤差情報の計算を行い、計算した前記オフセット誤差情報及び前記感度誤差情報を前記記憶部に記憶させる、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、加速度センサの誤差測定方法、加速度センサの誤差測定装置及びゲームシステムに関する。
【背景技術】
【０００２】
最近では、ゲーム用のコントローラに加速度センサを設けてコントローラの向きや動きを検出して、ゲーム入力とすることが可能なゲーム装置が存在する。このようなゲーム装置では、検出された向きや動きに応じてゲーム空間のオブジェクトの向きや動きを制御して、当該オブジェクトを含むゲーム画像を生成するゲームが実現されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２２５４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなゲームにおいてはコントローラの向きや動きに応じて矛盾なく動作するゲーム画像を生成することが重要なポイントとなる。ところが、コントローラに内蔵されている加速度センサには誤差（個体差）がある。そのため、加速度センサを使うゲームを開発する際に、幾つかのコントローラで正しく動作することを確認しても、他のコントローラでの動作については不確実さが残る。
【０００５】
従来、加速度センサの誤差の測定方法として、加速度センサの各検出軸方向を上向き及び下向きにした状態で静止させて各検出軸方向に重力加速度のみが加わる状態に設定し、得られた検出値から加速度センサの各検出軸方向のオフセット誤差と感度誤差を算出する手法が行われていた。
【０００６】
しかし、この手法では、加速度センサの各検出軸方向を正確に上向き及び下向きに合わせた状態で静止させなければ誤差を正確に測定できないため、煩わしい操作が必要であるとともに測定に時間がかかるという問題があった。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、本発明のいくつかの態様によれば、加速度センサの向きに関係なく得られた検出情報に基づき、加速度センサのオフセット誤差情報及び感度誤差情報を計算可能なプログラム、情報記憶媒体、加速度センサの誤差測定方法及び誤差測定装置並びにゲームシステムを提供することができる。
【課題を解決するための手段】
【０００８】
（１）本発明は、加速度センサのオフセット誤差情報及び感度誤差情報を計算するプログラムであって、前記加速度センサの互いに直交する３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、前記加速度センサの検出情報に基づく６組の加速度情報を代入し、前記６つのパラメータを未知数とする６つの２次方程式からなる連立２次方程式を作成する連立方程式作成部と、前記連立２次方程式を、前記６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含むとともに前記６つの未知数のいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く連立方程式計算部と、前記５つの新たな未知数の値から前記６つの未知数の値を計算し、計算結果に基づいて前記加速度センサの前記３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する加速度誤差計算部として、コンピュータを機能させる、プログラムに関するものである。また本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部として本体装置を機能させるプログラムを記憶（記録）した情報記憶媒体に関するものである。
【０００９】
加速度センサのオフセット誤差情報は、オフセット誤差そのものであってもよいし、オフセット誤差を一義的に導き出せる他の任意の情報であってもよい。
【００１０】
同様に、加速度センサの感度誤差情報は、感度誤差そのものであってもよいし、感度誤差を一義的に導き出せる他の任意の情報であってもよい。
【００１１】
本発明によれば、加速度センサの検出情報に基づく任意の６組の加速度情報が得られれば代数的に加速度センサのオフセット誤差情報及び感度誤差情報を計算することができる。従って、従来手法のように加速度センサの各検出軸方向を正確に上向き及び下向きに合わせた状態での検出情報が得られなくとも、加速度センサの向きに関係なく得られた検出情報に基づきオフセット誤差情報及び感度誤差情報を計算することができる。
【００１２】
また、ニュートン法（ニュートン・ラプソン法）により、コンピュータで連立２次方程式の解を反復計算により得る方法では計算が収束するまでに時間がかかるが、本発明によれば、連立２次方程式を連立１次方程式に帰着させて代数的に解くので計算時間を短縮することができる。
【００１３】
（２）また、本発明に係るプログラム及び情報記憶媒体では、前記連立方程式計算部は、前記連立１次方程式の係数行列がその対角要素の絶対値が対角要素でない他のすべての要素の絶対値よりも大きくなるように前記連立１次方程式を作成するようにしてもよい。
【００１４】
例えば、所定の規則に従って６組の加速度情報を作成し、連立２次方程式から所定の規則に従って連立１次方程式を作成することにより、対角要素の絶対値が対角要素でない他のすべての要素の絶対値よりも大きくなる係数行列を作成することができる。
【００１５】
このようにすれば、連立１次方程式の計算過程でピボット選択を行わなくても解が得られるとともに計算誤差もより小さくなるので、計算負荷を増やさずに連立１次方程式を安定して精度良く解くことができる。
【００１６】
（３）また、本発明に係るプログラム及び情報記憶媒体では、前記連立方程式計算部は、前記６組の加速度情報の中で第１の検出軸方向の値が最大及び最小の２つの前記加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の１つを作成し、前記６組の加速度情報の中で第２の検出軸方向の値が最大及び最小の２つの前記加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の他の１つを作成し、前記６組の加速度情報の中で第３の検出軸方向の値が最大及び最小の２つの前記加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の他の１つを作成するようにしてもよい。
【００１７】
例えば、連立方程式計算部は、前記６組の加速度情報の中で第１の検出軸方向の値が最大及び最小の２つの前記加速度情報を検出し、当該２つの加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の１つを作成し、前記６組の加速度情報の中で第２の検出軸方向の値が最大及び最小の２つの前記加速度情報を検出し、当該２つの加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の他の１つを作成し、前記６組の加速度情報の中で第３の検出軸方向の値が最大及び最小の２つの前記加速度情報を検出し、当該２つの加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の他の１つを作成するようにしてもよい。
【００１８】
また、例えば、連立方程式計算部は、前記６組の加速度情報の中で、第１の検出軸方向の値が最大、前記第１の検出軸方向の値が最小、第２の検出軸方向の値が最大、前記第２の検出軸方向の値が最小、第３の検出軸方向の値が最大、前記第３の検出軸方向の値が最小となる前記加速度情報がぞれぞれあらかじめ決められており、前記６組の加速度情報の中で前記第１の検出軸方向の値が最大及び最小の２つの前記加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の１つを作成し、前記６組の加速度情報の中で前記第２の検出軸方向の値が最大及び最小の２つの前記加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の他の１つを作成し、前記６組の加速度情報の中で前記第３の検出軸方向の値が最大及び最小の２つの前記加速度情報を前記楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて前記１次方程式の他の１つを作成するようにしてもよい。
【００１９】
このようにすれば、連立１次方程式の係数行列において、少なくとも３つの１次方程式に対応する３行に含まれる３つの対角要素の絶対値が比較的大きくなるとともに、当該３行に含まれる他の要素をほぼ０にすることができる。従って、連立１次方程式の計算過程で、少なくとも、この３つの１次方程式についての計算では計算誤差をより小さくすることができるので、連立１次方程式を安定して精度良く解くことが容易になる。
【００２０】
（４）また、本発明に係るプログラム及び情報記憶媒体では、前記連立方程式計算部は、前記連立２次方程式の任意の２つの２次方程式を演算して得られる多項式又は当該多項式を変形した多項式の各項に含まれる、前記６つの未知数から構成される式又は当該式を実数倍した式を前記５つの新たな未知数と対応させて前記連立１次方程式を作成するようにしてもよい。
【００２１】
例えば、前記連立方程式計算部は、前記６つのパラメータのうち、前記加速度センサの３つの検出軸方向の感度のパラメータをそれぞれａ，ｂ，ｃ、前記加速度センサの３つの検出軸方向のオフセットのパラメータをそれぞれｐ，ｑ，ｒとした時、前記５つの新たな未知数α，β，γ，δ，εを、α＝ｐ，β＝（ａ２／ｂ２）ｑ，γ＝（ａ２／ｃ２）ｒ，δ＝ａ２／ｂ２，ε＝ａ２／ｃ２として前記連立１次方程式を作成するようにしてもよい。
【００２２】
（５）また、本発明に係るプログラム及び情報記憶媒体では、前記連立方程式計算部は、前記加速度センサの３つの検出軸で作られる３次元空間において互いに直交する所定の３つの軸がそれぞれ重力方向（すなわち、重力が加わる方向）の逆方向又はその近傍を向く状態で得られる３組の前記検出情報に基づく３組の前記加速度情報と、前記前記所定の３つの軸がそれぞれ重力方向又はその近傍を向く状態で得られる３組の前記検出情報に基づく３組の前記加速度情報と、を用いて前記連立２次方程式を作成するようにしてもよい。
【００２３】
このようにすれば、加速度センサの３つの検出軸で作られる３次元空間上で、６組の加速度情報に対応する６点が互いに十分離れた位置になるので、この６組の加速度情報を用いればより精度良く楕円体の方程式を特定することができる。すなわち、加速度センサのオフセット誤差情報及び感度誤差情報をより精度良く計算することができる。
【００２４】
（６）また、本発明に係るプログラム及び情報記憶媒体では、前記連立方程式作成部は、前記加速度センサの３つの検出軸をｘ軸、ｙ軸、ｚ軸とし、前記６つのパラメータのうち、前記加速度センサのｘ軸方向、ｙ軸方向、ｚ軸方向の感度のパラメータをそれぞれａ，ｂ，ｃ、前記加速度センサのｘ軸方向、ｙ軸方向、ｚ軸方向のオフセットのパラメータをぞれぞれｐ，ｑ，ｒとした時、前記楕円体の方程式として方程式｛（ｘ−ｐ）／ａ｝２＋｛（ｙ−ｑ）／ｂ｝２＋｛（ｚ−ｒ）／ｃ｝２＝１を用いるようにしてもよい。
【００２５】
（７）また、本発明に係るプログラム及び情報記憶媒体では、前記加速度センサの前記検出情報を取得し、取得した前記検出情報に基づいて前記加速度情報を生成する加速度情報生成部を含むようにしてもよい。
【００２６】
（８）また、本発明に係るプログラム及び情報記憶媒体では、前記加速度情報生成部は、前記検出情報に基づいて、前記加速度センサの運動による加速度が無視できる状態であるか否かを判定し、前記加速度センサの運動による加速度が無視できる状態での前記検出情報に基づいて、前記加速度情報を生成するようにしてもよい。
【００２７】
「運動による加速度が無視できる状態」とは、運動による加速度が０又は０に近い状態であり、加速度センサが静止している状態や等速運動している状態を含む。
【００２８】
このようにすれば、加速度情報の各々は３つの検出軸方向の重力加速度成分がより正確に反映されるので、より精度良く楕円体の方程式を特定することができる。すなわち、加速度センサのオフセット誤差情報及び感度誤差情報をより精度良く計算することができる。
【００２９】
（９）また、本発明に係るプログラム及び情報記憶媒体では、前記加速度情報生成部は、前記検出情報の変動幅が所定の条件を満たす状態が所定時間持続すれば前記加速度センサの運動による加速度が無視できる状態であると判定するようにしてもよい。
【００３０】
「前記検出情報の変動幅が所定の条件を満たす状態」とは、例えば、前記検出情報の変動幅が所定値以下又は所定値未満である状態であってもよい。
【００３１】
（１０）また、本発明に係るプログラム及び情報記憶媒体では、前記加速度情報生成部は、前記所定時間に取得した複数の前記検出情報に基づいて前記加速度情報を生成するようにしてもよい。
【００３２】
例えば、前記加速度情報生成部は、前記所定時間に取得した複数の前記検出情報の全部又は一部の平均値を前記加速度情報とするようにしてもよい。
【００３３】
このようにすれば、加速度センサの検出情報に含まれるランダムなノイズや丸め誤差の影響を減らすことができるので、加速度センサのオフセット誤差情報及び感度誤差情報をさらに精度良く計算することができる。
【００３４】
（１１）また、本発明は、加速度センサのオフセット誤差情報及び感度誤差情報を計算する加速度センサの誤差測定方法であって、前記加速度センサの互いに直交する３つの検出軸で作られる３次元空間において互いに直交する所定の３つの軸のうちの第１の軸が重力方向の逆方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第１の加速度情報を生成する第１の加速度情報生成ステップと、前記第１の軸が重力方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第２の加速度情報を生成する第２の加速度情報生成ステップと、前記所定の３つの軸のうちの第２の軸が重力方向の逆方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第３の加速度情報を生成する第３の加速度情報生成ステップと、前記第２の軸が重力方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第４の加速度情報を生成する第４の加速度情報生成ステップと、前記所定の３つの軸のうちの第３の軸が重力方向の逆方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第５の加速度情報を生成する第５の加速度情報生成ステップと、前記第３の軸が重力方向又はその近傍を向く状態で前記加速度センサの検出情報を取得し、当該検出情報に基づいて第６の加速度情報を生成する第６の加速度情報生成ステップと、前記加速度センサの３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、前記第１の加速度情報、前記第２の加速度情報、前記第３の加速度情報、前記第４の加速度情報、前記第５の加速度情報及び前記第６の加速度情報をそれぞれ代入し、前記６つのパラメータを未知数とする６つの２次方程式からなる連立２次方程式を作成する連立方程式作成ステップと、前記連立２次方程式を、前記６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含むとともに前記６つの未知数のいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く連立方程式計算ステップと、前記５つの新たな未知数の値から前記６つの未知数の値を計算し、計算結果に基づいて前記加速度センサの前記３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する誤差計算ステップと、を含む、加速度センサの誤差測定方法に関するものである。
【００３５】
本発明によれば、加速度センサの向きに関係なく得られた検出情報に基づきオフセット誤差情報及び感度誤差情報を計算することができるとともに、連立２次方程式を連立１次方程式に帰着させて代数的に解くので計算時間を短縮することができる。
【００３６】
また、本発明によれば、加速度センサの３つの検出軸で作られる３次元空間上で、６組の加速度情報に対応する６点が互いに十分離れた位置になるので、この６組の加速度情報を用いればより精度良く楕円体の方程式を特定することができる。すなわち、加速度センサのオフセット誤差情報及び感度誤差情報をより精度良く計算することができる。
【００３７】
（１２）また、本発明は、加速度センサのオフセット誤差情報及び感度誤差情報を測定する加速度センサの誤差測定装置であって、前記加速度センサの検出情報を取得し、取得した前記検出情報に基づいて６組の加速度情報を生成する加速度情報生成部と、前記加速度センサの互いに直交する３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、前記６組の加速度情報を代入し、前記６つのパラメータを未知数とする６つの２次方程式からなる連立２次方程式を作成する連立方程式作成部と、前記連立２次方程式を、前記６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含むとともに前記６つの未知数のいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く連立方程式計算部と、前記５つの新たな未知数の値から前記６つの未知数の値を計算し、計算結果に基づいて前記加速度センサの前記３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する加速度誤差計算部と、を含む加速度センサの誤差測定装置に関するものである。
【００３８】
本発明によれば、加速度センサの向きに関係なく取得した検出情報に基づきオフセット誤差情報及び感度誤差情報を計算することができるとともに、連立２次方程式を連立１次方程式に帰着させて代数的に解くので計算時間を短縮することができる。
【００３９】
（１３）また、本発明は、プレイヤの入力動作に応じて変化する加速度を検出する加速度センサを備えた入力装置から前記加速度センサの検出情報を取得してゲーム演算を行うゲームシステムであって、前記加速度センサの前記検出情報に基づいて、前記加速度センサのオフセット誤差情報及び感度誤差情報を計算して記憶部に記憶させる加速度誤差測定部と、前記記憶部に記憶された前記オフセット誤差情報及び前記感度誤差情報に基づいて、前記加速度センサの検出情報を補正してゲーム演算を行うゲーム演算部と、を含み、前記加速度誤差測定部は、前記入力装置から前記加速度センサの前記検出情報を取得し、取得した前記検出情報に基づいて６組の加速度情報を生成する加速度情報生成部と、前記加速度センサの互いに直交する３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、前記６組の加速度情報を代入し、前記６つのパラメータを未知数とする６つの２次方程式からなる連立２次方程式を作成する連立方程式作成部と、前記連立２次方程式を、前記６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含むとともに前記６つの未知数のいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く連立方程式計算部と、前記５つの新たな未知数の値から前記６つの未知数の値を計算し、計算結果に基づいて前記加速度センサの前記３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する加速度誤差計算部と、前記オフセット誤差情報及び前記感度誤差情報を前記記憶部に記憶させる加速度誤差設定部と、を含む、ゲームシステムに関するものである。
【００４０】
本発明によれば、ゲーム演算を開始する前に、加速度センサの向きに関係なく得られた検出情報に基づきオフセット誤差情報及び感度誤差情報を計算することができる。従って、加速度センサのオフセット誤差情報及び感度誤差情報を測定するために、プレイヤが加速度センサの各検出軸が正確に上向き及び下向きになるように入力装置を保持する煩わしさがなくなる。そして、記憶部に記憶されたオフセット誤差情報及び感度誤差情報に基づいて、加速度センサの検出情報を補正するので、プレイヤの入力操作をより正確に反映したゲーム演算を行うことができる。
【００４１】
（１４）また、本発明に係るゲームシステムでは、前記加速度誤差測定部は、ゲームプログラムの起動時又は加速度誤差測定イベントが発生した場合に、前記検出情報を取得して前記オフセット誤差情報及び前記感度誤差情報の計算を行い、計算した前記オフセット誤差情報及び前記感度誤差情報を前記記憶部に記憶させるようにしてもよい。
【００４２】
例えば、プレイヤが所定の操作入力を行うことにより、加速度誤差測定イベントを自発的に発生させてもよいし、ゲームシステムが所定の条件が成立するか否かを判定して加速度誤差測定イベントを発生させるか否かを決定するようにしてもよい。
【図面の簡単な説明】
【００４３】
【図１】加速度センサの誤差測定装置の機能ブロック図。
【図２】図２（Ａ）〜図２（Ｄ）は、測定対象装置の概略外観図。
【図３】式（８）で表される球を模式的に表した図。
【図４】式（９）で表される楕円体を模式的に表した図。
【図５】６個の測定値（６組の加速度情報）と式（９）で表される楕円体の関係について説明するための図。
【図６】独立な連立方程式の構成について説明するための図。
【図７】独立な連立方程式の構成について説明するための図。
【図８】独立な連立方程式の構成について説明するための図。
【図９】独立な連立方程式の構成について説明するための図。
【図１０】独立な連立方程式の構成について説明するための図。
【図１１】独立な連立方程式の構成について説明するための図。
【図１２】独立な連立方程式の構成について説明するための図。
【図１３】表１に示す測定により得られた６個の測定値の配置を示す図。
【図１４】ｘ、ｙ、ｚいずれかの１軸方向の測定値の時系列の一例を示す図。
【図１５】本実施形態の加速度センサの誤差測定装置の処理例を示すフローチャート。
【図１６】加速度情報を生成する処理例を示すフローチャート。
【図１７】加速度センサの誤差測定精度をさらに良くするための処理例を示すフローチャート。
【図１８】本実施形態のゲームシステムの機能ブロック図。
【図１９】本実施形態のゲームシステムの処理例を示すフローチャート。
【発明を実施するための形態】
【００４４】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００４５】
１．加速度センサの誤差測定装置
１−１．構成
図１は、加速度センサの誤差測定装置の機能ブロック図の一例である。なお本実施形態の加速度センサの誤差測定装置では、図１の各部を全て含む必要はなく、その一部を省略した構成としてもよい。以下では、「加速度センサの誤差測定装置」を、「加速度誤差測定装置」と表記する。
【００４６】
本実施形態の加速度誤差測定装置１は、測定対象装置２に含まれる加速度センサ２０のオフセット誤差情報及び感度誤差情報を測定する処理を行う。
【００４７】
本実施形態では、測定対象装置２は、加速度センサ２０、マイコン２２、通信部２４を含んで構成されている。例えば、測定対象装置２として、図２（Ａ）〜図２（Ｃ）に示すようなゲームコントローラや図２（Ｄ）に示すような携帯電話機などが考えられる。
【００４８】
加速度センサ２０は、互いに直交する３軸方向（ｘ軸方向、ｙ軸方向、ｚ軸方向）の加速度を検出する。測定対象装置２の向きが変わると加速度センサ２０の向きも変わる。また、測定対象装置によって、加速度センサの向きはそれぞれ異なる。例えば、図２（Ａ）〜図２（Ｄ）に示す測定対象装置２では、それぞれの加速度センサ２０の３つの検出軸方向が図２（Ａ）〜図２（Ｄ）に示す方向になっている。
【００４９】
そして、加速度センサ２０は、一定時間（例えば、５ｍｓｅｃ）毎に３軸分の加速度を検出し、加速度センサ２０によって検出された加速度値（検出情報）は、通信部２４によって加速度誤差測定装置１に送信される。
【００５０】
マイコン（マイクロコンピュータ）２２は、加速度センサ２０が検出した加速度値（検出情報）を通信部２４を介して加速度誤差測定装置１に送信させる処理を行う。
【００５１】
通信部２４は、アンテナ、無線モジュールを含み、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）などの通信方式により、加速度誤差測定装置１にデータを無線で送信する。通信部２４は、加速度センサ２０によって検出された加速度値（検出情報）を、所定時間間隔で順次加速度誤差測定装置１に送信している。なお、通信部２４は、加速度誤差測定装置１と通信ケーブルで接続し、当該通信ケーブルを介して検出情報の送信を行うようにしてもよい。
【００５２】
本実施形態の加速度誤差測定装置１は、処理部１０、記憶部３０、操作部３２、表示部３４、情報記憶媒体３６、通信部３８、音出力部４０を含んで構成される。
【００５３】
記憶部３０は、処理部１０や通信部３８などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などのハードウェアにより実現できる。
【００５４】
操作部３２は、ユーザが加速度センサの誤差測定の開始や終了などを指示する操作データを入力するためのものであり、その機能は、操作ボタン、タッチパネル型ディスプレイ、キーボード、マウスなどにより実現できる。
【００５５】
表示部３４は、処理部１０により指示された情報を出力するものであり、その機能は、ＣＲＴディスプレイ、ＬＣＤ（液晶ディスプレイ）、ＯＥＬＤ有機ＥＬディスプレイ、ＰＤＰ（プラズマディスプレイパネル）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００５６】
音出力部４０は、処理部１０により指示された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００５７】
通信部３８は、アンテナ、無線モジュールを含み、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）などの通信方式により、測定対象装置２の通信部２４を介して、測定対象装置２からデータを受信する。例えば、通信部３８は、測定対象装置２において加速度センサ２０よる検出情報を、所定時間間隔で順次受信する。
【００５８】
また、通信部３８は、ネットワーク（インターネット）を介してサーバと通信することができるようにしてもよい。その機能は、各種プロセッサ又は通信用ＡＳＩＣ、ネットワーク・インタフェース・カードなどのハードウェアや、プログラムなどにより実現できる。また、通信部３８は、有線、無線いずれの通信も行うことができる。
【００５９】
処理部１０（プロセッサ）は、測定対象装置２から受信した加速度センサ２０の検出情報や情報記憶媒体３６から記憶部３０に展開されたプログラム等に基づいて処理を行う。
【００６０】
本実施形態の処理部１０は、加速度情報生成部１１、連立方程式作成部１２、連立方程式計算部１３、加速度誤差計算部１４を含む。また、処理部１０は、表示制御部１５や音出力制御部１６を含んでもよい。
【００６１】
加速度情報生成部１１は、測定対象装置２から加速度センサ２０の検出情報を取得し、取得した検出情報に基づいて加速度情報を生成する処理を行う。
【００６２】
例えば、加速度情報生成部１１は、加速度センサ２０の検出情報に基づいて、加速度センサ２０の運動による加速度が無視できる状態であるか否かを判定し、加速度センサ２０の運動による加速度が無視できる状態での検出情報に基づいて、加速度情報を生成するようにしてもよい。
【００６３】
また、例えば、加速度情報生成部１１は、加速度センサ２０の検出情報の変動幅が所定の条件を満たす状態（例えば、所定値以下である状態）が所定時間持続すれば加速度センサ２０の運動による加速度が無視できる状態であると判定するようにしてもよい。
【００６４】
また、例えば、加速度情報生成部１１は、前記所定時間に取得した複数の検出情報に基づいて前記加速度情報を生成する（例えば、前記所定時間に取得した複数の検出情報の全部又は一部の平均値を加速度情報とする）ようにしてもよい。
【００６５】
連立方程式作成部１２は、加速度センサ２０の互いに直交する３つの検出軸方向の各感度及び各オフセットに対応した６つのパラメータを含む楕円体の方程式の変数に、加速度センサ２０の検出情報に基づく６組の加速度情報を代入し、前記６つのパラメータを未知数とする６つの２次方程式からなる連立２次方程式を作成する処理を行う。
【００６６】
例えば、連立方程式作成部１２は、加速度センサ２０の３つの検出軸をｘ軸、ｙ軸、ｚ軸とし、前記６つのパラメータのうち、加速度センサ２０のｘ軸方向、ｙ軸方向、ｚ軸方向の感度のパラメータをそれぞれａ，ｂ，ｃ、加速度センサ２０のｘ軸方向、ｙ軸方向、ｚ軸方向のオフセットのパラメータをぞれぞれｐ，ｑ，ｒとした時、楕円体の方程式として方程式｛（ｘ−ｐ）／ａ｝２＋｛（ｙ−ｑ）／ｂ｝２＋｛（ｚ−ｒ）／ｃ｝２＝１を用いるようにしてもよい。
【００６７】
連立方程式計算部１３は、連立方程式作成部１２が作成した連立２次方程式を、前記６つの未知数の少なくとも１つを含む式でそれぞれ表される５つの新たな未知数を含むとともに前記６つの未知数のいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く処理を行う。
【００６８】
また、例えば、連立方程式計算部１３は、連立１次方程式の係数行列がその対角要素の絶対値が対角要素でない他のすべての要素の絶対値よりも大きくなるように連立１次方程式を作成するようにしてもよい。
【００６９】
また、例えば、連立方程式計算部１３は、加速度センサ２０の検出情報に基づく６組の加速度情報の中で第１の検出軸方向の値が最大及び最小の２つの加速度情報を楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて１次方程式の１つを作成し、前記６組の加速度情報の中で第２の検出軸方向の値が最大及び最小の２つの加速度情報を楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて１次方程式の他の１つを作成し、前記６組の加速度情報の中で第３の検出軸方向の値が最大及び最小の２つの加速度情報を楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて１次方程式の他の１つを作成するようにしてもよい。
【００７０】
また、例えば、連立方程式計算部１３は、連立２次方程式の任意の２つの２次方程式を演算して得られる多項式又は当該多項式を変形した多項式の各項に含まれる、前記６つの未知数から構成される式又は当該式を実数倍した式を前記５つの新たな未知数と対応させて連立１次方程式を作成するようにしてもよい。
【００７１】
また、例えば、連立方程式計算部１３は、加速度センサ２０の３つの検出軸で作られる３次元空間において互いに直交する所定の３つの軸がそれぞれ重力方向の逆方向又はその近傍を向く状態で得られる３組の検出情報に基づく３組の加速度情報と、前記所定の３つの軸がそれぞれ重力方向又はその近傍を向く状態で得られる３組の検出情報に基づく３組の加速度情報と、を用いて連立２次方程式を作成するようにしてもよい。
【００７２】
加速度誤差計算部１４は、連立方程式計算部１３により得られた前記５つの新たな未知数の値から前記６つの未知数の値を計算し、計算結果に基づいて加速度センサ２０の３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する処理を行う。
【００７３】
表示制御部１５は、表示部３４に所定の情報を表示させる処理を行う。例えば、表示制御部１５は、測定開始や測定終了を示す情報、測定結果のオフセット誤差情報及び感度誤差情報などを表示部３４に表示させるようにしてもよい。また、表示制御部１５は、測定開始後に加速度センサ２０の検出情報の所定の条件を満たす状態（例えば、所定値以下である状態）が所定時間持続した場合に測定終了を示す情報を表示部３４に表示させるようにしてもよい。
【００７４】
音出力制御部１６は、音出力部４０から所定の音を出力させる処理を行う。例えば、音制御部１６は、測定開始や測定終了を示す音を表示部３４を音出力部４０から出力させるようにしてもよい。また、音制御部１６は、測定開始後に加速度センサ２０の検出情報の変動幅が所定の条件を満たす状態（例えば、所定値以下である状態）が所定時間持続した場合に測定終了を示す音を音出力部４０から出力させるようにしてもよい。
【００７５】
情報記憶媒体３６（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１０は、情報記憶媒体３６に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体３６には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００７６】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバが有する、記憶部、情報記憶媒体からネットワークを介して情報記憶媒体３６（または、記憶部３０）に配信するようにしてもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲に含まれる。
【００７７】
１−２．加速度センサの誤差測定方法
１−２−１．誤差の意味
加速度センサに作用している真の加速度をＴとする。Ｔは運動による加速度だけでなく、重力をも含んでいるとする。例えば、センサが静止している状態では、Ｔ＝１Ｇである。「Ｇ」は加速度の単位で１Ｇ＝９．８０６６５ｍ／ｓ２である。なお、重力（重力加速度）の大きさは、厳密には緯度や標高等によって異なるが、その違いは僅かなので、ここでは一定の値であるとする。真の加速度Ｔに対して、センサで測定して得られた値がＭであるとする。このとき、次式（１）のようにＭとＴの差を誤差Ｅとする。
【００７８】
【数１】
2011053060.tif 000003
【００７９】
誤差Ｅの大きさはＴの値によって変わるので、ＥはＴの関数として表される。Ｔの２次以上の成分は僅かなので、次式（２）のようにＥをＴの１次式で近似する。
【００８０】
【数２】
2011053060.tif 000004
【００８１】
Ｔ＝０における測定値Ｍのずれがｅ０となるので、ｅ０はオフセット誤差と呼ばれる（０Ｇ誤差とも呼ばれる）。一方ｅ１は、センサの感度のずれに相当するので、感度誤差と呼ばれる。もし誤差が全くなければｅ０＝０，ｅ１＝０である。ＭとＴの関係は次式（３）で表される。
【００８２】
【数３】
2011053060.tif 000005
【００８３】
１−２−２．加速度センサの誤差測定（１軸）
加速度センサの１つの検出軸（ｘ，ｙ，ｚのうちの１つ）のみを対象として、オフセット誤差と感度誤差を測定する方法について考える。加速度センサの検出軸方向を真上または真下に向け、静止状態でのセンサ出力を測定すれば、以下のようにして誤差を求めることができる。
【００８４】
検出軸を真上に向けた静止状態での測定値（前記の検出情報に相当する）をｍ１とする。この状態での真の加速度値は１Ｇなので、式（３）より次式（４）が得られる。
【００８５】
【数４】
2011053060.tif 000006
【００８６】
同様に、検出軸を真下に向けた静止状態での測定値をｍ２とする。この状態での真の加速度値は−１Ｇなので、式（３）より次式（５）が得られる。
【００８７】
【数５】
2011053060.tif 000007
【００８８】
式（４）、（５）よりｅ０，ｅ１を求めると、次式（６）、（７）のようになる。
【００８９】
【数６】
2011053060.tif 000008
【００９０】
【数７】
2011053060.tif 000009
【００９１】
ｅ０の単位はＧで、ｅ１は単位なし（無次元）である。このように、加速度センサの検出軸の向きを垂直方向に合わせることができれば、誤差は容易に求められる。
【００９２】
加速度センサがゲームコントローラに内蔵されているものとする。コントローラの形状が箱型で、面の向き（表面の法線の方向）が加速度センサの検出軸方向と一致している場合は、誤差測定は容易に行なえる。水平面と見なせる面（例えば机の上）にコントローラを置けば、加速度センサの検出軸を垂直方向に合わせることができる。
【００９３】
しかし、コントローラの形状が曲面でできている場合や、コントローラの外形が加速度センサの検出軸方向と合っていない場合には、センサの検出軸を垂直方向に合わせる操作に手間が掛かる。例えば、コントローラを支えた状態で向きを調整して、測定値が最大（あるいは最小）になるような方向を探す等の操作が必要となる。
【００９４】
１−２−３．加速度センサの誤差測定（任意方向）
１−２−３−１．楕円体の方程式
加速度センサの向きを気にせずに誤差測定できる方法について考える。加速度センサが搭載されたコントローラを、様々な向きで静止させ、センサ出力値を調べるものとする。毎回向きを変えてＮ回の測定を行ない、その結果のｘ，ｙ，ｚ各軸の値を、それぞれｘｉ，ｙｉ，ｚｉ（ｉ＝１，２，・・・，Ｎ）とする。ただし、加速度の単位はＧとする。
【００９５】
コントローラには１Ｇの重力のみが作用しているので、もし加速度センサに誤差がなければ、ベクトル（ｘｉ，ｙｉ，ｚｉ）の大きさは１となる。したがって、次式（８）が成立し、Ｎ個の測定値は全て、原点を中心とする半径１の球面上に乗る。図３は、式（８）で表される球を模式的に表した図である。
【００９６】
【数８】
2011053060.tif 000010
【００９７】
これに対して、加速度センサの誤差を考慮すると、感度誤差によるスケール（拡大・縮小）と、オフセット誤差による平行移動が、ｘ，ｙ，ｚ各軸方向に加わる。そのため、式（８）の球ではなく、次式（９）のように主軸がｘ，ｙ，ｚ軸に平行な楕円体(axis aligned ellipsoid) となる。ただしａ＞０，ｂ＞０，ｃ＞０とする。図４は、式（９）で表される楕円体を模式的に表した図である。
【００９８】
【数９】
2011053060.tif 000011
【００９９】
中心座標ｐ，ｑ，ｒがそれぞれｘ，ｙ，ｚ方向のオフセット誤差に相当し、ａ−１，ｂ−１，ｃ−１がそれぞれｘ，ｙ，ｚ方向の感度誤差に相当する。この楕円体の式が決まれば、加速度センサの誤差が得られたことになる。
【０１００】
１−２−３−２．方程式の解法
式（９）の未知数はｐ，ｑ，ｒ，ａ，ｂ，ｃの６個なので、解が求まるためには６個の方程式が必要である。そこで、６個の測定値（ｘ１，ｙ１，ｚ１），（ｘ２，ｙ２，ｚ２），・・・，（ｘ６，ｙ６，ｚ６）を使って、次のように連立方程式を作る。図５に示すように、この６個の測定値（前記の６組の加速度情報に相当する）は、式（９）で表される楕円体の面上に乗る。
【０１０１】
【数１０】
2011053060.tif 000012
【０１０２】
この連立方程式は、未知数ｐ，ｑ，ｒ，ａ，ｂ，ｃの２次方程式なので、解くのが困難である。そこで、以下のようにして連立１次方程式に帰着させる。
【０１０３】
まず、式（１０ｂ）から式（１０ａ）を引いて変形すると、次式（１１）が得られる。
【０１０４】
【数１１】
2011053060.tif 000013
【０１０５】
ここで、未知数を次のように置き換える。
【０１０６】
【数１２】
2011053060.tif 000014
【０１０７】
すると、式（１１）は次式（１３）のようにα，β，γ，δ，εの１次式となる。
【０１０８】
【数１３】
2011053060.tif 000015
【０１０９】
同様にして、式（１０ａ）〜（１０ｆ）の中から２つの式を選び、その差をとって１次式を作る。６個の式から２個の式を選ぶので、６Ｃ２＝１５とおりの式ができるが、そのうち独立なものは５個である。この５元連立１次方程式を解くことによりα，β，γ，δ，εが求まる。
【０１１０】
ｐ，ｑ，ｒは次式（１４）により得られる。
【０１１１】
【数１４】
2011053060.tif 000016
【０１１２】
式（１０ａ）を変形すると次式（１５）が得られ、この式からａが求められる。
【０１１３】
【数１５】
2011053060.tif 000017
【０１１４】
ｂ，ｃは次式（１６）により得られる。
【０１１５】
【数１６】
2011053060.tif 000018
【０１１６】
以上の計算で求めたｐ，ｑ，ｒが、それぞれｘ，ｙ，ｚ方向のオフセット誤差である。また、ａ−１，ｂ−１，ｃ−１がそれぞれｘ，ｙ，ｚ方向の感度誤差である。
【０１１７】
１−２−３−３．独立な連立方程式の構成
連立方程式（１０ａ）〜（１０ｆ）を解く際に、この６つの２次式の中から式を２つ選び、その差をとって１次式を作った。式の選び方は６Ｃ２＝１５とおりあるので、１５個の１次式を作ることができる。しかし、そのうち独立なものは５個しかない。グラフ理論を使ってこのことを説明する。なお、式番号を見やすくするために、（１０ａ），（１０ｂ），・・・，（１０ｆ）の替わりに、それぞれ（ａ），（ｂ），・・・，（ｆ）と書くことにする。
【０１１８】
図６のように６個のノード（点）Ａ，Ｂ，・・・，Ｆを配置し、それぞれが２次式（ａ），（ｂ），・・・，（ｆ）を意味するものとする。また、式（ａ），（ｂ），・・・，（ｆ）を、それぞれノードＡ，Ｂ，・・・，Ｆのノード式と呼ぶことにする。２つのノード式の差から作った１次式を、そのノードを結ぶエッジ（線分）で表すものとする。例えば図７のエッジＡＢは、１次式（ａ）−（ｂ）を意味する。エッジに対応する１次式を、エッジ式と呼ぶことにする。連立１次方程式は、例えば図８のように、グラフとして表される。図８は５個の１次式を表している。
【０１１９】
前述のように連立１次方程式とグラフを対応させると、次のことが言える。
【０１２０】
「連立１次方程式が独立であるための必要十分条件は、グラフがサイクルを含まないことである。」
【０１２１】
サイクルとは閉じた経路のことで、閉道ともいう。図８は独立な連立１次方程式を表すグラフの一例である。これに対して、図９はサイクルＢ−Ｃ−Ｅ−Ｂを含むので独立ではない（従属な式を含む）。
【０１２２】
連立１次方程式の独立性とグラフのサイクルとの関係は、以下のようにして導かれる。
【０１２３】
［必要条件］
図１０のグラフには、２つのエッジ式（ａ）−（ｂ）と（ｂ）−（ｃ）が存在する。この２つの式から、（（ａ）−（ｂ））＋（（ｂ）−（ｃ））の計算により１次式（ａ）−（ｃ）を作ることができる。したがって、図１０にエッジＡＣを追加した図１１の状態は、従属な式を含んでいることになる。この考え方を一般化すると、「グラフがサイクルを含むならば、エッジ式は従属な式を含む」ことが導かれる。
【０１２４】
［十分条件］
一方、「グラフがサイクルを含まなければ、エッジ式は独立である」ことは、以下のように説明できる。サイクルを含まないグラフから１本のエッジを取り除くと、グラフは２つの部分（部分グラフ）Ｇ１とＧ２に分かれる。例えば、図８のグラフからエッジＣＥを取り除くと、図１２のようにＧ１＝｛｛Ａ，Ｂ，Ｃ，Ｄ｝，｛ＡＢ，ＢＣ，ＣＤ｝｝とＧ２＝｛｛Ｅ，Ｆ｝，｛ＥＦ｝｝に分かれる。この図１２の４つのエッジ式から、新たにエッジ式（ｃ）−（ｅ）が作れるかどうかを考える。（ｃ）を含むエッジ式を作ると、例えば（ｃ）−（ａ）のように、必ずＧ１の他のノードのノード式を含んだものになる。同様に、（ｅ）を含むエッジ式は必ずＧ２の他のノードのノード式を含んでいる。Ｇ１，Ｇ２に共通するノードは存在しないので、（ｃ）と（ｅ）の両方を含む１次式を作れば、例えば（ｃ）−（ｅ）−（ａ）＋（ｆ）のように、必ず（ｃ），（ｅ）以外の項が消えずに残ってしまう。したがって、図１２の状態からエッジ式（ｃ）−（ｅ）を作ることはできない。よって、図８のグラフにおいてエッジ式（ｃ）−（ｅ）は独立である。同様の理由により、図８において、エッジ式（ｂ）−（ｃ）も独立である。
【０１２５】
また、図８のエッジ式（ａ）−（ｂ）が独立であることは、次のように説明される。このグラフからエッジＡＢを取り除くと、残る部分グラフＧ１，Ｇ２のうち一方は、ノードＡのみ（エッジを持たない）となる。式（ａ）を含むエッジ式が存在しないので、既存のエッジ式からエッジ式（ａ）−（ｂ）を作ることはできない。したがって、図８のグラフにおいて、エッジ式（ａ）−（ｂ）は独立である。同様の理由により、図８においてエッジ式（ｃ）−（ｄ），（ｅ）−（ｆ）も独立である。
【０１２６】
以上の考え方を一般化すると、「グラフがサイクルを含まなければ、エッジ式は独立である」ことが導かれる。
【０１２７】
サイクルを含まないグラフは、（１本以上の）木（tree）構造になる。また、２本の木を１本のエッジで繋ぐと１本の木になる。したがって、与えられたノードを使って、サイクルを含まない、エッジ数が最大のグラフを作ると、１本の木になる。
【０１２８】
木においては、エッジの数はノードの数より１少ないことが知られている。以上のことから、ノード式が６個の場合、独立な１次式は５個まで作れることになる。
【０１２９】
１−２−３−４．計算精度の向上
６個の測定値から誤差を求める計算は、３次元空間上の６点を通る楕円体を求めることに相当する。そのため、計算結果の精度を良くするには、６つの測定値ｘｉ，ｙｉ，ｚｉ（ｉ＝１，２，・・・，６）はｘｙｚ空間上で互いになるべく離れているほうが良いと、直観的に推測される。このことは、測定値が近接していると、式（１３）の係数の相対精度が低くなることからも理解できる。
【０１３０】
また、連立１次方程式を解くアルゴリズムは種々存在するが、その多く（Gaussの消去法、Gauss-Jordan法、Gauss-Seidel法等）は、係数行列の対角要素の値（絶対値）が小さい場合に、解の精度の低下や、解が求まらないという不具合を生じる。そのため、連立１次方程式を作る際には、係数行列の対角要素の絶対値が大きくなるように構成することが重要である。
【０１３１】
そこで、ｘ１，ｙ１，ｚ１を測定する際には、加速度センサのｘ軸がほぼ上方向を向くようにする。同様に、表１のように６回の測定を、それぞれ向きを変えて行なう。向きは正確である必要はない。このように設定することで、６個の測定値はｘｙｚ空間上で互いに十分離れた位置になる。
【０１３２】
【表１】
2011053060.tif 000019
【０１３３】
図１３は、表１に示す６回の測定により得られた測定値ｍ１〜ｍ６の、式（９）で表される楕円体の面上の配置を示している。例えば、加速度センサのｘ軸方向が正確に上方向すなわち真上方向（重力方向の逆方向）を向いて静止した状態であれば測定値ｍ１は（ａ＋ｐ，ｑ，ｒ）になり、加速度センサのｘ軸方向が正確に下方向すなわち真下方向（重力方向）を向いて静止した状態であれば測定値ｍ２は（−ａ＋ｐ，ｑ，ｒ）になる。同様に、加速度センサのｙ軸方向が真上方向を向いて静止した状態であれば測定値ｍ３は（ｐ，ｂ＋ｑ，ｒ）になり、加速度センサのｙ軸方向が真下方向を向いて静止した状態であれば測定値ｍ４は（ｐ，−ｂ＋ｑ，ｒ）になる。同様に、加速度センサのｚ軸方向が真上方向を向いて静止した状態であれば測定値ｍ５は（ｐ，ｑ，ｃ＋ｒ）になり、加速度センサのｚ軸方向が真下方向を向いて静止した状態であれば測定値ｍ６は（ｐ，ｑ，−ｃ＋ｒ）になる。
【０１３４】
ただし、加速度センサのｘ軸、ｙ軸、ｚ軸を合わせる向きは正確である必要はなく、真上方向又は真下方向の近傍を向くようにすればよい。このようにしても、測定値ｍ１〜ｍ６は、加速度センサのｘ軸、ｙ軸、ｚ軸を真上方向又は真下方向に合わせた時の測定値を中心点とする所定範囲（図１３において斜線で示す範囲）に存在するので、ｘｙｚ空間上で互いに十分離れた位置になる。
【０１３５】
また、加速度センサが通常の精度であれば、ａ≒１，ｂ≒１，ｃ≒１，ｐ≒０，ｑ≒０，ｒ≒０なので、各測定値は概ね次のような値になる。
【０１３６】
【数１７】
2011053060.tif 000020
【０１３７】
そこで、連立１次方程式を次にように構成する。
【０１３８】
すなわち、まず、式（１０ａ）−式（１０ｂ），式（１０ｃ）−式（１０ｄ），式（１０ｅ）−式（１０ｆ），式（１０ａ）−式（１０ｃ）＋式（１０ｂ）−式（１０ｄ），式（１０ａ）−式（１０ｅ）＋式（１０ｂ）−式（１０ｆ）により次式（１８ａ）〜（１８ｅ）を得る。
【０１３９】
【数１８】
2011053060.tif 000021
【０１４０】
次に、式（１８ａ）〜（１８ｅ）に式（１２）を代入すると、次式（１９ａ）〜（１９ｅ）からなる連立１次方程式が得られる。
【０１４１】
【数１９】
2011053060.tif 000022
【０１４２】
従って、式（１９ａ）〜（１９ｅ）からなる連立１次方程式において、α，β，γ，δ，εの係数を要素とする係数行列をＭとすると、式（１９ａ）〜（１９ｅ）からなる連立１次方程式は次のように表すことができる。
【０１４３】
【数２０】
2011053060.tif 000023
【０１４４】
また、係数行列Ｍは次式（２１）のようになる。
【０１４５】
【数２１】
2011053060.tif 000024
【０１４６】
すると、式（１７）より、係数行列Ｍは概ね次のような値になり、対角要素の絶対値が他の要素の絶対値よりも大きい値になる。
【０１４７】
【数２２】
2011053060.tif 000025
【０１４８】
この係数行列を使うことにより、連立１次方程式を安定して精度良く解くことができる。
【０１４９】
一般に、所定の規則に従って加速度センサの向きを変えて測定を行い、得られた６個の測定値を用いて連立２次方程式（１０ａ）〜（１０ｆ）から所定の規則に従って連立１次方程式を作成すれば、対角要素の絶対値が他の要素の絶対値よりも大きい係数行列を得ることができる。
【０１５０】
１−２−４．静止状態の検出
以上の方法を使って加速度センサの誤差を測定する場合、測定時に加速度センサを静止させる必要がある。本来は、加速運動をしていなければよいので、等速直線運動は許容されるが、現実的には静止させるほうが容易である。
【０１５１】
測定値が殆んど変動しない状態が一定時間持続した場合に、静止していると判定する。厳密には、この判定基準は正しくない。本来は、加速運動していない状態（静止状態を含む）のみＯＫ判定を出すべきところを、等加速度運動していてもＯＫになってしまうからである。しかし実際には、もし等加速度運動がある程度持続すればその方向に移動するはずなので、移動していないと確認できる状態（机の上に置いた状態等）であれば、この判定方法で問題はない。
【０１５２】
実際の例としては、測定値の変動幅が０．０３Ｇ以下の状態が１秒間持続した場合に、静止していると判断する。そして、この１秒間の測定値を平均した値を１個の測定値（ｘｉ，ｙｉ，ｚｉ）として扱う。また、このように平均をとることによって、ランダムなノイズやセンサの丸め誤差の影響を減らし、測定値の信頼度を上げることができる。
【０１５３】
図１４を用いて、本実施形態の加速度誤差測定装置１が測定対象装置２（加速度センサ２０）が静止しているか否かを判定する処理の具体的な例を説明する。図１４は、ｘ軸方向、ｙ軸方向、ｚ軸方向のいずれかの１軸方向（例えば、ｘ軸方向）の測定値の時系列の一例を示す図であり、測定間隔は５ｍｓｅｃである。加速度誤差測定装置１は、時刻ｔ１において加速度センサの測定値の取得を開始し、測定値の変動幅が０．０３Ｇ以下の状態が１秒間持続するか否かを判定する。具体的には、まず、時刻ｔ１から１秒経過後の時刻ｔ６において、時刻ｔ１〜ｔ６の１秒間に取得した測定値の変動幅が０．０３Ｇ以下であるか否かを判定する。例えば、時刻ｔ１〜ｔ６の１秒間に取得した測定値の最大値と最小値の差が０．０３Ｇ以下であるか否かを判定すればよい。
【０１５４】
ここで、時刻ｔ１〜ｔ６の１秒間に取得した測定値の変動幅が０．０３Ｇよりも大きい（時刻ｔ３での測定値（最小値）と時刻ｔ４での測定値（最大値）の差が０．０３Ｇより大きい）ため、加速度誤差測定装置１は、次に、時刻ｔ６から５ｍｓｅｃ経過後の時刻ｔ７において、加速度センサの測定値を新たに取得し、時刻ｔ２〜ｔ７の１秒間に取得した測定値の変動幅が０．０３Ｇ以下であるか否かを判定する。このように、加速度誤差測定装置１は、５ｍｓｅｃ経過する毎に過去１秒間（直近の１秒間）に取得した測定値の変動幅が０．０３Ｇ以下になるまで加速度センサの測定値を新たに取得する処理を繰り返す。そして、加速度誤差測定装置１は、時刻ｔ５から時刻ｔ９までの１秒間の測定値の変動幅（最大値と最小値の差）が０．０３Ｇ以下となるので、測定対象装置２（加速度センサ２０）が静止していると判定し、時刻ｔ９において測定値の取得を終了する。
【０１５５】
ただし、加速度誤差測定装置１は、時刻ｔ５から時刻ｔ６までの１秒間に、他の２軸方向（例えば、ｙ軸方向とｚ軸方向）のいずれかの測定値の変動幅が０．０３Ｇを超えれば、測定対象装置２（加速度センサ２０）が静止していないと判定し、３軸方向の測定値の変動幅のすべてが０．０３Ｇ以下の状態が１秒間持続するまで３軸方向の測定値の取得を継続する。
【０１５６】
そして、加速度誤差測定装置１は、時刻ｔ５から時刻ｔ９までの１秒間の３軸方向の各測定値を平均した値を１個の測定値（ｘｉ，ｙｉ，ｚｉ）として扱う。すなわち、同様の処理を全部で６回行えば、ランダムなノイズやセンサの丸め誤差の影響を減らした平均値としての６個の測定値（ｘ１，ｙ１，ｚ１）〜（ｘ６，ｙ６，ｚ６）を得ることができる。
【０１５７】
なお、図１４の例では、時刻ｔ６での判定において、時刻ｔ３での測定値（時刻ｔ１〜ｔ６での最小値）と時刻ｔ４での測定値（時刻ｔ１〜ｔ６での最大値）の差が０．０３Ｇより大きいことがわかる。そこで、時刻ｔ３から１秒経過後の時刻をｔ８とすると、時刻ｔ７〜ｔ８のいずれにおいても過去１秒間に取得した測定値の変動幅が０．０３Ｇよりも大きいことが明らかであるので、時刻ｔ７〜ｔ８では判定処理を行わないようにしてもよい。
【０１５８】
１−３．加速度センサの誤差測定装置の処理
次に、本実施形態の加速度センサの誤差測定装置の処理例について図１５のフローチャートを用いて説明する。
【０１５９】
まず、加速度誤差測定装置１は、式（９）に示した楕円体の方程式の変数（ｘ，ｙ，ｚ）に、６組の加速度情報（ｘ１，ｙ１，ｚ１）〜（ｘ６，ｙ６，ｚ６）をそれぞれ代入し、式（１０ａ）〜式（１０ｆ）に示したａ，ｂ，ｃ，ｐ，ｑ，ｒを未知数とする６つの２次方程式からなる連立２次方程式を作成するステップＳ１０、連立方程式作成ステップ。
【０１６０】
次に、ステップＳ２０で作成したａ，ｂ，ｃ，ｐ，ｑ，ｒを未知数とする連立２次方程式を、α，β，γ，δ，εを未知数とする５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解くステップＳ２０、連立方程式計算ステップ。
【０１６１】
ここで、α，β，γ，δ，εとａ，ｂ，ｃ，ｐ，ｑ，ｒの対応関係はあらかじめ定義されており、例えば、式（１２）に示したように、式（１０ａ）−式（１０ｂ）により得られる多項式（１１）の各項に含まれる、未知数ａ，ｂ，ｃ，ｐ，ｑ，ｒから構成される式ｐ，（ａ２／ｂ２）ｑ,（ａ２／ｃ２）ｒ,ａ２／ｂ２,ａ２／ｃ２を未知数α，β，γ，δ，εと対応させてもよい。また、例えば、式ｐ，（ａ２／ｂ２）ｑ,（ａ２／ｃ２）ｒ,ａ２／ｂ２,ａ２／ｃ２を、多項式（１１）の各項に含まれる各定数で実数倍した式２ｐ，２（ａ２／ｂ２）ｑ,２（ａ２／ｃ２）ｒ,ａ２／ｂ２,ａ２／ｃ２を未知数α，β，γ，δ，εと対応させてもよい。さらに、例えば、多項式（１１）を変形した多項式の各項に含まれる、未知数ａ，ｂ，ｃ，ｐ，ｑ，ｒから構成される式又は当該式を実数倍した式を未知数α，β，γ，δ，εと対応させてもよい。
【０１６２】
また、加速度誤差測定装置１は、ステップＳ２０において、式（１０ａ）〜式（１０ｆ）に示した６つの２次方程式に対して、あらかじめ決められた演算を施して連立１次方程式を作成する。例えば、前述したように、式（１０ａ）−式（１０ｂ），式（１０ｃ）−式（１０ｄ），式（１０ｅ）−式（１０ｆ），式（１０ａ）−式（１０ｃ）＋式（１０ｂ）−式（１０ｄ），式（１０ａ）−式（１０ｅ）＋式（１０ｂ）−式（１０ｆ）により１次方程式（１９ａ）〜（１９ｅ）を作成するようにしてもよい。
【０１６３】
最後に、加速度誤差測定装置１は、ステップＳ２０で求まった未知数α，β，γ，δ，εの値から未知数ａ，ｂ，ｃ，ｐ，ｑ，ｒの値を計算し、計算結果に基づいて加速度センサの３つの検出軸方向のオフセット誤差情報（例えばｐ，ｑ，ｒ）及び感度誤差情報（例えばａ−１，ｂ−１，ｃ−１）を計算するステップＳ３０、加速度誤差計算ステップ。
【０１６４】
次に、本実施形態の加速度センサの誤差測定装置が加速度情報を生成する処理例について図１６のフローチャートを用いて説明する。
【０１６５】
まず、加速度誤差測定装置１は、所定時間Ｔが経過するまで測定対象装置２から加速度センサ２０の検出情報を取得する（ステップＳ５０、Ｓ６０）。
【０１６６】
所定時間Ｔが経過すると（ステップＳ６０でＹｅｓの場合）、次に、加速度誤差測定装置１は、過去Ｔ時間に取得した検出情報の変動幅が所定値（図４に示した例では０．０３Ｇ）以下か否かを判定する（ステップＳ７０）。
【０１６７】
ステップＳ７０において、検出情報の変動幅が所定値よりも大きい場合（ステップＳ７０でＮｏの場合）、加速度誤差測定装置１は、加速度センサ２０の次の検出情報を取得し（ステップＳ８０）、再度、ステップＳ７０の判定処理を行う。
【０１６８】
ステップＳ７０において、検出情報の変動幅が所定値以下である場合（ステップＳ７０でＹｅｓの場合）、加速度誤差測定装置１は、過去Ｔ時間に取得した検出情報の平均値を計算して加速度情報（ｘｉ，ｙｉ，ｚｉ）とする（ステップＳ９０）。
【０１６９】
加速度誤差測定装置１は、ステップＳ５０〜Ｓ９０の処理を６回繰り返すことにより、６組の加速度情報（ｘ１，ｙ１，ｚ１）〜（ｘ６，ｙ６，ｚ６）を作成する。
【０１７０】
加速度センサの誤差測定精度をさらに良くするための処理例について図１７のフローチャートを用いて説明する。
【０１７１】
まず、加速度センサ２０の３つの検出軸（ｘ軸、ｙ軸、ｚ軸）で作られる３次元空間において互いに直交する３つの軸（ξ軸、邇イ、謗イとする）のうちのξ軸が真上方向（重力方向の逆方向）又はその近傍を向くように測定対象装置２をセットする（ステップＳ１００）。ここで、ξ軸、邇イ、謗イは、あらかじめ決められた互いに直交する３つの軸であり、例えば、測定対象装置２の形状を考慮して決めてもよい。なお、ξ軸、邇イ、謗イは、加速度センサ２０の３つの検出軸（ｘ軸、ｙ軸、ｚ軸）とそれぞれ一致してもよく、その場合、図１７のフローチャートによる処理は表１に対応した処理となる。
【０１７２】
次に、例えば、図１６に示したフローチャートに従い、加速度情報（ｘ１，ｙ１，ｚ１）の生成処理を行う（ステップＳ１１０）。
【０１７３】
なお、ステップＳ１００及びＳ１１０は、第１の加速度情報生成ステップに相当する。
【０１７４】
次に、ξ軸が真下方向（重力方向）又はその近傍を向くように測定対象装置２をセットする（ステップＳ１２０）。
【０１７５】
次に、例えば、図１６に示したフローチャートに従い、加速度情報（ｘ２，ｙ２，ｚ２）の生成処理を行う（ステップＳ１３０）。
【０１７６】
なお、ステップＳ１２０及びＳ１３０は、第２の加速度情報生成ステップに相当する。
【０１７７】
次に、邇イが真上方向又はその近傍を向くように測定対象装置２をセットし（ステップＳ１４０）、例えば、図１６に示したフローチャートに従い、加速度情報（ｘ３，ｙ３，ｚ３）の生成処理を行う（ステップＳ１５０）。
【０１７８】
なお、ステップＳ１４０及びＳ１５０は、第３の加速度情報生成ステップに相当する。
【０１７９】
次に、邇イが真下方向又はその近傍を向くように測定対象装置２をセットし（ステップＳ１６０）、例えば、図１６に示したフローチャートに従い、加速度情報（ｘ４，ｙ４，ｚ４）の生成処理を行う（ステップＳ１７０）。
【０１８０】
なお、ステップＳ１６０及びＳ１７０は、第４の加速度情報生成ステップに相当する。
【０１８１】
次に、謗イが真上方向又はその近傍を向くように測定対象装置２をセットし（ステップＳ１８０）、例えば、図１６に示したフローチャートに従い、加速度情報（ｘ５，ｙ５，ｚ５）の生成処理を行う（ステップＳ１９０）。
【０１８２】
なお、ステップＳ１８０及びＳ１９０は、第５の加速度情報生成ステップに相当する。
【０１８３】
次に、謗イが真下方向又はその近傍を向くように測定対象装置２をセットし（ステップＳ２００）、例えば、図１６に示したフローチャートに従い、加速度情報（ｘ６，ｙ６，ｚ６）の生成処理を行う（ステップＳ２１０）。
【０１８４】
なお、ステップＳ２００及びＳ２１０は、第６の加速度情報生成ステップに相当する。
【０１８５】
最後に、例えば、図１５に示したフローチャートに従い、加速度センサ２０のオフセット誤差情報及び感度誤差情報の計算処理を行う（ステップＳ２２０）。
【０１８６】
１−４．本実施形態の効果
本実施形態によれば、加速度センサ２０の検出情報に基づく任意の６組の加速度情報（ｘ１，ｙ１，ｚ１）〜（ｘ６，ｙ６，ｚ６）が得られれば代数的に加速度センサ２０のオフセット誤差ｐ，ｑ，ｒ及び感度誤差ａ−１，ｂ−１，ｃ−１を計算することができる。従って、従来手法のように加速度センサ２０の各検出軸方向を正確に上向き及び下向きに合わせた状態での検出情報が得られなくとも、加速度センサ２０の向きに関係なく得られた検出情報に基づきオフセット誤差ｐ，ｑ，ｒ及び感度誤差ａ−１，ｂ−１，ｃ−１を計算することができる。
【０１８７】
また、ニュートン法（ニュートン・ラプソン法）により、コンピュータで連立２次方程式の解を反復計算により得る方法では計算が収束するまでに時間がかかるが、本実施形態によれば、連立２次方程式（１０ａ）〜（１０ｆ）を連立１次方程式に帰着させて代数的に解くので計算時間を短縮することができる。
【０１８８】
また、本実施形態において、係数行列Ｍが式（２２）のようになるようにすれば係数行列Ｍの対角要素の絶対値が他の要素の絶対値よりも大きい値になるので、連立１次方程式（１９ａ）〜（１９ｅ）の計算過程でピボット選択を行わなくても解が得られるとともに計算誤差もより小さくなる。従って、計算負荷を増やさずに連立１次方程式（１９ａ）〜（１９ｅ）を安定して精度良く解くことができる。
【０１８９】
また、本実施形態において、図１７に示したように、互いに直交するξ軸、邇イ、謗イがそれぞれ真上方向近傍及び真下方向近傍を向くようにして得られた６組の加速度情報（ｘ１，ｙ１，ｚ１）〜（ｘ６，ｙ６，ｚ６）を用いれば、加速度センサ２０のｘ軸、ｙ軸、ｚ軸で作られるｘｙｚ空間上で、６組の加速度情報に対応する６点が互いに十分離れた位置になる。従って、この６組の加速度情報を用いればより精度良く楕円体の方程式（９）を特定することができるので、加速度センサ２０のオフセット誤差ｐ，ｑ，ｒ及び感度誤差ａ−１，ｂ−１，ｃ−１をより精度良く計算することができる。
【０１９０】
また、本実施形態において、図１６に示したように、加速度センサ２０の検出情報の変動幅が所定値以下である状態が所定時間持続した場合に当該所定時間に取得した検出情報の平均値を加速度情報（ｘ１，ｙ１，ｚ１）〜（ｘ６，ｙ６，ｚ６）とすれば、加速度情報（ｘ１，ｙ１，ｚ１）〜（ｘ６，ｙ６，ｚ６）はｘ，ｙ，ｚ軸方向の重力加速度成分がより正確に反映されるので、より精度良く楕円体の方程式（９）を特定することができる。また、加速度センサ２０の検出情報に含まれるランダムなノイズや丸め誤差の影響を減らすことができるので、加速度センサ２０のオフセット誤差ｐ，ｑ，ｒ及び感度誤差ａ−１，ｂ−１，ｃ−１をさらに精度良く計算することができる。
【０１９１】
そして、本実施形態において、測定対象装置２としてゲームコントローラを想定すると、ゲームコントローラに含まれる加速度センサのオフセット誤差及び感度誤差が分かるので、加速度センサの検出情報を補正して誤差なしの状態や誤差最大の状態でアプリケーションの動作確認テストができる。
【０１９２】
２．ゲームシステム
２−１．構成
図１８は、本実施形態のゲームシステムの機能ブロック図の一例である。なお本実施形態のゲームシステムでは、図１８の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
【０１９３】
本実施形態のゲームシステムは、本体装置１００、入力装置２００、情報記憶媒体１８０、表示部（表示装置）１９０、スピーカ１９２、光源１９８を含んで構成されている。
【０１９４】
入力装置２００は、加速度センサ２１０、撮像部２２０、スピーカ２３０、振動部２４０、マイコン２５０、通信部２６０によって構成されている。
【０１９５】
加速度センサ２１０は、３軸（ｘ軸、ｙ軸、ｚ軸）の加速度を検出する。すなわち、加速度センサ２１０は、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサ２１０は、一定時間（例えば、５ｍｓｅｃ）毎に加速度を検出している。加速度センサ２１０によって検出された加速度値（検出情報）は、通信部２６０によって本体装置１００に送信される。
【０１９６】
撮像部２２０は、赤外線フィルタ２２２、レンズ２２４、撮像素子（イメージセンサ）２２６、画像処理回路２２８を含む。赤外線フィルタ２２２は、入力装置２００の前方に配置され、表示部１９０に関連付けられて配置されている光源１９８から入射する光から赤外線のみを通過させる。レンズ２２４は、赤外線フィルタ２２２を透過した赤外線を集光して撮像素子２２６へ出射する。撮像素子２２６は、例えば、ＣＭＯＳセンサやＣＣＤのような固体撮像素子であり、レンズ２２４が集光した赤外線を撮像して撮像画像を生成する。撮像素子２２６で生成された撮像画像は、画像処理回路２２８で処理される。例えば、撮像素子２２６から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報（特定位置）を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を検出する。また、検出した位置情報は、通信部２６０によって、本体装置１００に送信される。
【０１９７】
スピーカ２３０は、本体装置１００から通信部２６０を介して取得した音を出力する。
【０１９８】
振動部（バイブレータ）２４０は、本体装置１００から送信された振動信号を受信して、振動信号に基づいて作動する。
【０１９９】
マイコン（マイクロコンピュータ）２５０は、受信した本体装置１００からのデータに応じて、音を出力する制御や、バイブレータを作動させる制御を行う。また、加速度センサ２１０が検出した加速度値（検出情報）を通信部２６０を介して本体装置１００に送信させる処理を行ったり、撮像部２２０によって検出された位置情報を、通信部２６０を介して本体装置１００に送信させる処理を行う。
【０２００】
通信部２６０は、アンテナ、無線モジュールを含み、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）などの通信方式により、本体装置１００とデータを無線で送受信する。通信部２６０は、加速度センサ２１０によって検出された加速度値（検出情報）や撮像部２２０において検出した位置情報等を、所定の時間間隔で順次本体装置１００に送信している。なお、通信部２６０は、本体装置１００と通信ケーブルで接続し、当該通信ケーブルを介して情報の送受信を行うようにしてもよい。
【０２０１】
なお、入力装置２００は、例えば、図２（Ａ）〜図２（Ｃ）に示したようなコントローラであってもよく、操作部２７０として、ボタン、レバー（アナログパッド）、マウス、十字キー、タッチパネル型ディスプレイなどの操作子を更に設けてもよい。また、入力装置２００はプレイヤの入力動作によって変化する角速度を検出するジャイロセンサを備えていてもよい。
【０２０２】
また入力装置２００は、プレイヤが把持して動かすものであってもよいし、プレイヤが身につけて動かすものであってもよい。また、入力装置２００には、プレイヤが把持する刀型コントローラや銃型コントローラ、あるいはプレイヤが身につける（プレイヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力装置２００には、入力装置２００と一体化されている本体装置１００（ゲーム装置、携帯型ゲーム装置）、携帯電話機なども含まれる。
【０２０３】
次に、本実施形態の本体装置１００について説明する。本実施形態の本体装置１００は、記憶部１７０、処理部１１０、通信部１９６によって構成される。
【０２０４】
記憶部１７０は、処理部１１０や通信部１９４などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などのハードウェアにより実現できる。
【０２０５】
特に、本実施形態の記憶部１７０は、主記憶部１７２、描画バッファ１７４、音データ記憶部１７６を含む。主記憶部１７２は、処理部１１０や通信部１９４などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などのハードウェアにより実現できる。また、描画バッファ１７４は、描画部１４０において生成された画像を記憶する。
【０２０６】
また、音データ記憶部１７６は、プレイヤの入力動作に対する入力装置２００の反応を示す確認音や、ゲーム演算処理に伴い出力される効果音を記憶する。なお、確認音は、検出情報に応じて複数種類記憶する。また、効果音は、モーションや、所与のイベントに応じて複数種類記憶する。また、加速度センサ２１０によって検出される加速度の方向（上方向、下方向、左方向、右方向、前方向、後方向）に応じて複数種類の確認音を記憶してもよい。
【０２０７】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１１０は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。なお情報記憶媒体１８０は、メモリカードに、プレイヤの個人データやゲームのセーブデータなどを記憶するものも含む。
【０２０８】
表示部１９０は、処理部１１０により生成された画像等を出力するものであり、その機能は、ＣＲＴディスプレイ、ＬＣＤ（液晶ディスプレイ）、ＯＥＬＤ有機ＥＬディスプレイ、ＰＤＰ（プラズマディスプレイパネル）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【０２０９】
スピーカ１９２は、音制御部１５０により再生する音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。なお、スピーカ１９２は、表示部に備えられたスピーカとしてもよい。例えば、テレビ（家庭用テレビジョン受像機）を表示部１９０としている場合には、テレビのスピーカとすることができる。
【０２１０】
光源１９８は、例えばＬＥＤであり、表示部１９０に関連付けられて配置される。
【０２１１】
通信部１９６は、ネットワーク（インターネット）を介して他の本体装置（ゲーム装置）と通信することができる。その機能は、各種プロセッサ又は通信用ＡＳＩＣ、ネットワーク・インタフェース・カードなどのハードウェアや、プログラムなどにより実現できる。また、通信部１９６は、有線、無線いずれの通信も行うことができる。
【０２１２】
また、通信部１９６は、アンテナ、無線モジュールを含み、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）などの通信方式により、入力装置２００の通信部２６０を介して、入力装置２００とデータを送受信する。例えば、通信部１９６は、確認音、効果音等の音データ、及び、振動信号を、入力装置２００に送信し、入力装置２００において、加速度センサ２１０や撮像素子２２６によって検出された情報を所定の間隔で受信する。
【０２１３】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバが有する、記憶部、情報記憶媒体からネットワークを介して情報記憶媒体１８０（または、記憶部１７０）に配信するようにしてもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲に含まれる。
【０２１４】
処理部１１０（プロセッサ）は、入力装置２００から受信した検出情報や情報記憶媒体１８０から記憶部１７０に展開されたプログラム等に基づいて、ゲーム演算処理、画像生成処理、或いは音制御の処理などを行う。
【０２１５】
特に本実施形態の処理部１１０は、加速度誤差測定部１２０、ゲーム演算部１３０、描画部１４０、音制御部１５０、振動制御部１６０を含む。
【０２１６】
加速度誤差測定部１２０は、加速度情報生成部１２１、連立方程式作成部１２２、連立方程式計算部１２３、加速度誤差計算部１２４、加速度誤差設定部１２５を含む。
【０２１７】
加速度情報生成部１２１は、入力装置２００から加速度センサ２１０の検出情報を取得し、取得した検出情報に基づいて加速度情報を生成する処理を行う。
【０２１８】
例えば、加速度情報生成部１２１は、加速度センサ２１０の検出情報に基づいて、加速度センサ２１０の運動による加速度が無視できる状態であるか否かを判定し、加速度センサ２１０の運動による加速度が無視できる状態での検出情報に基づいて、加速度情報を生成するようにしてもよい。
【０２１９】
また、例えば、加速度情報生成部１２１は、加速度センサ２１０の検出情報の変動幅が所定の条件を満たす状態（例えば、所定値以下である状態）が所定時間持続すれば加速度センサ２１０の運動による加速度が無視できる状態であると判定するようにしてもよい。
【０２２０】
また、例えば、加速度情報生成部１２１は、前記所定時間に取得した複数の検出情報に基づいて前記加速度情報を生成する（例えば、前記所定時間に取得した複数の検出情報の全部又は一部の平均値を加速度情報とする）ようにしてもよい。
【０２２１】
連立方程式作成部１２２は、加速度センサ２１０の互いに直交する３つの検出軸方向（ｘ軸方向、ｙ軸方向、ｚ軸方向）の各感度及び各オフセットに対応した６つのパラメータａ，ｂ，ｃ，ｐ，ｑ，ｒを含む楕円体の方程式の変数に、加速度センサ２１０の検出情報に基づく６組の加速度情報を代入し、６つのパラメータａ，ｂ，ｃ，ｐ，ｑ，ｒを未知数とする６つの２次方程式からなる連立２次方程式を作成する処理を行う。
【０２２２】
例えば、連立方程式作成部１２２は、楕円体の方程式として方程式｛（ｘ−ｐ）／ａ｝２＋｛（ｙ−ｑ）／ｂ｝２＋｛（ｚ−ｒ）／ｃ｝２＝１を用いるようにしてもよい。
【０２２３】
連立方程式計算部１２３は、連立方程式作成部１２２が作成した連立２次方程式を、６つの未知数ａ，ｂ，ｃ，ｐ，ｑ，ｒの少なくとも１つを含む式でそれぞれ表される５つの新たな未知数α，β，γ，δ，εを含むとともに６つの未知数ａ，ｂ，ｃ，ｐ，ｑ，ｒのいずれも含まない５つの１次方程式からなる連立１次方程式に帰着させて当該連立１次方程式を解く処理を行う。
【０２２４】
また、例えば、連立方程式計算部１２３は、連立１次方程式の係数行列がその対角要素の絶対値が対角要素でない他のすべての要素の絶対値よりも大きくなるように連立１次方程式を作成するようにしてもよい。
【０２２５】
また、例えば、連立方程式計算部１２３は、加速度センサ２１０の検出情報に基づく６組の加速度情報の中で第１の検出軸方向（例えばｘ軸方向）の値が最大及び最小の２つの加速度情報を楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて１次方程式の１つを作成し、前記６組の加速度情報の中で第２の検出軸方向（例えばｙ軸方向）の値が最大及び最小の２つの加速度情報を楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて１次方程式の他の１つを作成し、前記６組の加速度情報の中で第３の検出軸方向（例えばｚ軸方向）の値が最大及び最小の２つの加速度情報を楕円体の方程式の変数にそれぞれ代入して得られた２つの２次方程式の一方から他方を減算して得られる多項式に基づいて１次方程式の他の１つを作成するようにしてもよい。
【０２２６】
また、例えば、連立方程式計算部１２３は、連立２次方程式の任意の２つの２次方程式を演算して得られる多項式又は当該多項式を変形した多項式の各項に含まれる、６つの未知数ａ，ｂ，ｃ，ｐ，ｑ，ｒから構成される式又は当該式を実数倍した式を５つの新たな未知数α，β，γ，δ，εと対応させて連立１次方程式を作成するようにしてもよい。
【０２２７】
また、例えば、連立方程式計算部１２３は、加速度センサ２１０の３つの検出軸（ｘ軸、ｙ軸、ｚ軸）で作られる３次元空間において互いに直交する所定の３つの軸（ξ軸、邇イ、謗イ）がそれぞれ重力方向の逆方向（真上方向）又はその近傍を向く状態で得られる３組の検出情報に基づく３組の加速度情報と、前記所定の３つの軸（ξ軸、邇イ、謗イ）がそれぞれ重力方向（真下方向）又はその近傍を向く状態で得られる３組の検出情報に基づく３組の加速度情報と、を用いて連立２次方程式を作成するようにしてもよい。
【０２２８】
加速度誤差計算部１２４は、連立方程式計算部１２３により得られた５つの新たな未知数α，β，γ，δ，εの値から６つの未知数ａ，ｂ，ｃ，ｐ，ｑ，ｒの値を計算し、計算結果に基づいて加速度センサ２１０の３つの検出軸方向（ｘ軸方向、ｙ軸方向、ｚ軸方向）のオフセット誤差情報及び感度誤差情報を計算する処理を行う。
【０２２９】
加速度誤差設定部１２５は、加速度誤差計算部１２４が計算したオフセット誤差情報及び感度誤差情報を記憶部１７０に記憶させる処理を行う。
【０２３０】
なお、加速度誤差測定部１２０は、ゲームプログラムの起動時又は加速度誤差測定イベントが発生した場合に、加速度センサ２１０の検出情報を取得してオフセット誤差情報及び感度誤差情報の計算を行い、計算したオフセット誤差情報及び感度誤差情報を記憶部１７０に記憶させる一連の処理を行うようにしてもよい。この場合、例えば、加速度センサ２１０の誤差情報を測定して記憶部１７０に記憶させるためのモード（加速度誤差情報設定モード）が設定された場合に、加速度誤差測定イベントが発生するようにしてもよい。そして、プレイヤが所定の操作入力を行うことにより、自発的に加速度誤差情報設定モードに設定してもよいし、処理部１１０が所定の条件が成立するか否かを判定して加速度誤差情報設定モードに設定するか否かを決定するようにしてもよい。
【０２３１】
ゲーム演算部１３０は、キャラクタ（プレイヤキャラクタ、敵キャラクタ）、移動体（車、飛行機など）、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【０２３２】
また、ゲーム演算部１３０は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【０２３３】
例えば、仮想カメラによりオブジェクト（例えば、キャラクタ等）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、オブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【０２３４】
また、ゲーム演算部１３０は、モデル（キャラクタ、車、飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち、プログラム（移動・動作アルゴリズム）や、モーションデータなどに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【０２３５】
描画部１４０は、処理部１１０で行われる種々の処理（ゲーム演算処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず表示物（オブジェクト、モデル）を定義する各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む表示物データ（オブジェクトデータ、モデルデータ）が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７６（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【０２３６】
なお描画部１４０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【０２３７】
そして描画部１４０は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【０２３８】
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）の表示物データ（表示物の頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部１７２に保存される。
【０２３９】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【０２４０】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【０２４１】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより２つの色を合成した色を求める処理を行う。
【０２４２】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えばＲＧＢの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【０２４３】
音制御部１５０は、処理部１１０で行われる種々の処理（ゲーム演算処理等）の結果に基づいて音データ記憶部１７６に記憶されている音（確認音、効果音を含む）を、入力装置のスピーカ２３０及びスピーカ１９２の少なくとも一方から出力させる処理を行う。
【０２４４】
振動制御部１６０は、入力装置に設けられた振動部２４０に振動させる処理を行う。
【０２４５】
なお、本実施形態のゲームシステムは、１人のプレイヤのみがプレイできるシングルプレイヤモード専用のシステムにしてもよいし、複数のプレイヤがプレイできるマルチプレイヤモードも備えるシステムにしてもよい。また複数のプレイヤがプレイする場合に、これらの複数のプレイヤに提供するゲーム画像やゲーム音を、１つの本体装置、表示部を用いて生成してもよい。また、ネットワーク（伝送ライン、通信回線）などで接続された複数のゲーム装置を用いて分散処理により生成してもよい。また、本実施形態は、複数のプレイヤでゲームを行う場合には、複数のプレイヤの入力装置毎に、検出情報に基づいて所定条件を満たすか否かの判定や、判定結果に基づく音制御や、振動制御を行う。
【０２４６】
２−２．本実施形態の具体的な処理
次に、本実施形態のゲームシステムの処理例について図１９のフローチャートを用いて説明する。
【０２４７】
ゲームプログラムが起動すると、本体装置１００は、まず、加速度誤差情報設定モードか否かを判定する（ステップＳ３００）。
【０２４８】
加速度誤差情報設定モードである場合（ステップＳ３００でＮｏの場合）、本体装置１００は、表示部１９０を介して、プレイヤに対して入力装置２００を第１の姿勢で固定するように指示する表示を行う（ステップＳ３１０）。第１の姿勢はあらかじめ決められた所定の姿勢であり、例えば、ξ軸（ｘ軸と一致してもよい）が真上方向又はその近傍を向くような姿勢である。プレイヤが補助具などを使用して入力装置２００を第１の姿勢に固定すると、本体装置１００は加速度センサ２１０の検出情報を取得し、１組目の加速度情報（ｘ１，ｙ１，ｚ１）を生成する（ステップＳ３２０）。ステップＳ３２０の処理は、例えば、図１６のフローチャートに示した処理と同様であってもよい。
【０２４９】
次に、本体装置１００は、表示部１９０を介して、プレイヤに対して入力装置２００を第２の姿勢で固定するように指示する表示を行う（ステップＳ３３０）。第２の姿勢はあらかじめ決められた姿勢であり、例えば、ξ軸（ｘ軸と一致してもよい）が真下方向又はその近傍を向くような姿勢である。プレイヤが入力装置２００を第２の姿勢に固定すると、本体装置１００は加速度センサ２１０の検出情報を取得し、２組目の加速度情報（ｘ２，ｙ２，ｚ２）を生成する（ステップＳ３４０）。ステップＳ３４０の処理は、例えば、図１６のフローチャートに示した処理と同様であってもよい。
【０２５０】
次に、本体装置１００は、表示部１９０を介して、プレイヤに対して入力装置２００を第３の姿勢で固定するように指示する表示を行う（ステップＳ３５０）。第３の姿勢はあらかじめ決められた姿勢であり、例えば、邇イ（ｙ軸と一致してもよい）が真上方向又はその近傍を向くような姿勢である。プレイヤが入力装置２００を第３の姿勢に固定すると、本体装置１００は加速度センサ２１０の検出情報を取得し、３組目の加速度情報（ｘ３，ｙ３，ｚ３）を生成する（ステップＳ３６０）。ステップＳ３６０の処理は、例えば、図１６のフローチャートに示した処理と同様であってもよい。
【０２５１】
次に、本体装置１００は、表示部１９０を介して、プレイヤに対して入力装置２００を第４の姿勢で固定するように指示する表示を行う（ステップＳ３７０）。第４の姿勢はあらかじめ決められた姿勢であり、例えば、邇イ（ｙ軸と一致してもよい）が真下方向又はその近傍を向くような姿勢である。プレイヤが入力装置２００を第４の姿勢に固定すると、本体装置１００は加速度センサ２１０の検出情報を取得し、４組目の加速度情報（ｘ４，ｙ４，ｚ４）を生成する（ステップＳ３８０）。ステップＳ３８０の処理は、例えば、図１６のフローチャートに示した処理と同様であってもよい。
【０２５２】
次に、本体装置１００は、表示部１９０を介して、プレイヤに対して入力装置２００を第５の姿勢で固定するように指示する表示を行う（ステップＳ３９０）。第５の姿勢はあらかじめ決められた姿勢であり、例えば、謗イ（ｚ軸と一致してもよい）が真上方向又はその近傍を向くような姿勢である。プレイヤが入力装置２００を第５の姿勢に固定すると、本体装置１００は加速度センサ２１０の検出情報を取得し、５組目の加速度情報（ｘ５，ｙ５，ｚ５）を生成する（ステップＳ４００）。ステップＳ４００の処理は、例えば、図１６のフローチャートに示した処理と同様であってもよい。
【０２５３】
次に、本体装置１００は、表示部１９０を介して、プレイヤに対して入力装置２００を第６の姿勢で固定するように指示する表示を行う（ステップＳ４１０）。第６の姿勢はあらかじめ決められた姿勢であり、例えば、謗イ（ｚ軸と一致してもよい）が真下方向又はその近傍を向くような姿勢である。プレイヤが入力装置２００を第６の姿勢に固定すると、本体装置１００は加速度センサ２１０の検出情報を取得し、６組目の加速度情報（ｘ６，ｙ６，ｚ６）を生成する（ステップＳ４２０）。ステップＳ４２０の処理は、例えば、図１６のフローチャートに示した処理と同様であってもよい。
【０２５４】
次に、本体装置１００は、ステップＳ３１０〜Ｓ３２０で生成した６組の加速度情報（ｘ１，ｙ１，ｚ１）〜（ｘ６，ｙ６，ｚ６）を用いて、加速度センサ２１０の３つの検出軸方向のオフセット誤差情報及び感度誤差情報を計算する（ステップＳ４３０）。ステップＳ４３０の処理は、例えば、図１５のフローチャートに示した処理と同様であってもよい。
【０２５５】
次に、本体装置１００は、ステップＳ４３０で計算した、加速度センサ２１０の３つの検出軸方向のオフセット誤差情報及び感度誤差情報を記憶部１７０に記憶する（ステップＳ４４０）。ここで、本体装置１００は、ゲームプログラムの次回の起動時においてもこのオフセット誤差情報及び感度誤差情報を使用するために、情報記憶媒体１８０に書き込むようにしてもよい。
【０２５６】
そして、本体装置１００は、ゲーム演算を開始し、記憶部１７０に記憶されたオフセット誤差情報及び感度誤差情報に基づいて、取得した加速度センサ２１０の検出情報を補正しながらゲーム演算を行う（ステップＳ４５０）。
【０２５７】
一方、ステップＳ３００において、加速度誤差情報設定モードでない場合（ステップＳ３００でＮｏの場合）、本体装置１００は、入力装置２に対応づけてあらかじめ定義された加速度センサ２１０のオフセット誤差情報及び感度誤差情報に基づいて、取得した加速度センサ２１０の検出情報を補正しながらゲーム演算を行う（ステップＳ４５０）。また、本体装置１００は、過去にステップＳ３１０〜Ｓ４４０の処理を行い情報記憶媒体１８０にオフセット誤差情報及び感度誤差情報が記憶されている場合には、情報記憶媒体１８０からオフセット誤差情報及び感度誤差情報を読み出して記憶部１７０に書き込み、取得した加速度センサ２１０の検出情報の補正を行うようにしてもよい。
【０２５８】
なお、スタート直後（ステップＳ３００の直前）に加速度誤差情報設定モードが設定されるようにすれば、ゲームプログラムが起動する度に、最新のオフセット誤差情報及び感度誤差情報を用いて加速度センサ２１０の検出情報を補正することができる。こうすれば、例えば、ゲームプログラム起動時の温度やノイズの影響も考慮した補正を行うことができる。また、オフセット誤差情報及び感度誤差情報が情報記憶媒体１８０に記憶されていない場合や情報記憶媒体１８０に記憶されてから所定時間以上経過している場合等に加速度誤差情報設定モードが設定されるようにすれば、ゲームプログラム起動時に、プレイヤが入力装置を所定の姿勢に固定する操作を毎回行う手間を省くことができる。
【０２５９】
このように、本実施形態のゲームシステムによれば、ゲーム演算を開始する前に、加速度センサ２１０の向きに関係なく得られた検出情報に基づきオフセット誤差及び感度誤差を計算することができる。従って、加速度センサ２１０のオフセット誤差及び感度誤差を測定するために、プレイヤが加速度センサ２１０の各検出軸が正確に上向き及び下向きになるように入力装置２００を保持する煩わしさがなくなる。
【０２６０】
そして、本実施形態において、アプリケーション（ゲームプログラム）に加速度センサ２１０の誤差測定プログラムを組み込んでおき、アプリケーションの起動時に加速度センサ２１０のオフセット誤差及び感度誤差を測定すれば、当該アプリケーションは加速度センサ２１０の検出情報を補正することによってオフセット誤差及び感度誤差の影響を受けずに、プレイヤの入力操作をより正確に反映したゲーム演算を行うことができる。
【０２６１】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０２６２】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【０２６３】
１  加速度誤差測定装置、２  測定対象装置、１０  処理部、１１  加速度情報生成部、１２  連立方程式作成部、１３  連立方程式計算部、１４  加速度誤差計算部、１５  表示制御部、１６  音出力制御部、２０  加速度センサ、２２  マイコン、２４  通信部、３０  記憶部、３２  操作部、３４  表示部、３６  情報記憶媒体、３８  通信部、４０  音出力部、１００  本体装置、１１０  処理部、１２０  加速度誤差測定部、１２１  加速度情報生成部、１２２  連立方程式作成部、１２３  連立方程式計算部、１２４  加速度誤差計算部、１２５  加速度誤差設定部、１３０  ゲーム演算部、１４０  描画部、１５０  音制御部、１６０  振動制御部、１７０  記憶部、１７２  主記憶部、１７４  描画バッファ、１７６  音データ記憶部、１８０  情報記憶媒体、１９０  表示部、１９２  スピーカ、１９６  通信部、１９８  光源、２００  入力装置、２１０  加速度センサ、２２０  撮像部、２２２  赤外線フィルタ、２２４  レンズ、２２６  撮像素子、２２８  画像処理回路、２３０  スピーカ、２４０  振動部、２５０  マイコン、２６０  通信部、２７０  操作部
【図１】
2011053060.tif 000026
【図２】
2011053060.tif 000027
【図３】
2011053060.tif 000028
【図４】
2011053060.tif 000029
【図５】
2011053060.tif 000030
【図６】
2011053060.tif 000031
【図７】
2011053060.tif 000032
【図８】
2011053060.tif 000033
【図９】
2011053060.tif 000034
【図１０】
2011053060.tif 000035
【図１１】
2011053060.tif 000036
【図１２】
2011053060.tif 000037
【図１３】
2011053060.tif 000038
【図１４】
2011053060.tif 000039
【図１５】
2011053060.tif 000040
【図１６】
2011053060.tif 000041
【図１７】
2011053060.tif 000042
【図１８】
2011053060.tif 000043
【図１９】
2011053060.tif 000044