(58)【調査した分野】(Int.Cl.,DB名)
長手方向の軸上の異なる位置に所定範囲の加速度を検出する複数の加速度センサを設けたスティック状の操作子において、前記複数の加速度センサのうちの1の加速度センサの設置位置に生じた加速度を算出する方法であって、前記操作子の制御部が実行する、
前記複数の加速度センサが検出した前記加速度を取得するステップと、
取得した前記加速度に基づいて、前記設置位置に生じた加速度が前記所定範囲内の加速度であるか否かを判定するステップと、
前記判定の結果、前記所定範囲内の加速度である場合に、前記1の加速度センサが検出した加速度と他の加速度センサが検出した加速度との比率を算出するステップと、
前記判定の結果、前記所定範囲を超える加速度である場合に、前記他の加速度センサが検出した加速度に前記比率を乗じることで、前記設置位置に生じた加速度を算出するステップと、
を含む方法。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を用いて説明する。
【0013】
[操作子1の構成]
初めに、
図1を参照して、本発明の一実施形態としての操作子1の構成について説明する。
図1(1)は、本発明の操作子1の機能構成を示すブロック図であり、
図1(2)は、本発明の操作子1の外観を示す図である。
【0014】
図1(2)に示すように、本発明の操作子1は、長手方向に延びるスティック状の部材であり、長手方向の軸100上の任意の位置(支点M)でユーザに保持される。ユーザは、支点Mで操作子を保持しつつ、手首などを中心とした振り上げ振り下ろし動作を行うことで、操作子1を用いた所定の動作を行う。
図1(1)を参照して、操作子1は、CPU(Central Processing Unit)11と、第1加速度センサ12と、第2加速度センサ13と、ROM(Read Only Memory)14と、RAM(Random Access Memory)15と、データ通信部16と、を含んで構成される。なお、以下において第1加速度センサ12と第2加速度センサ13とを区別しない場合には、「加速度センサ12,13」と呼ぶ。
【0015】
CPU11は、操作子1の全体を制御し、例えば、加速度センサ12,13から出力された加速度に基づいて、当該加速度センサ12,13が設置された位置に生じた加速度を取得する制御を行う。このとき、CPU11は、後述するように、第2加速度センサ13から出力された加速度を用いて、第1加速度センサ12の設置位置に生じた加速度を算出する場合がある。すなわち、CPU11は、操作子1の所定の位置に生じた加速度を、当該位置とは異なる位置に設置された加速度センサから出力された加速度に基づいて、算出する場合がある。また、CPU11は、データ通信部16を介して後述のメインユニット2との間の通信制御を行う。
【0016】
加速度センサ12,13は、軸100上の任意の位置に設置され、ユーザの動作に応じて当該設置位置に生じた加速度を検出し、CPU11に対して出力する。加速度センサ12,13は、設置位置に生じる任意の方向の加速度を検出することができ、例えば、操作子1の3軸方向の夫々に生じる加速度を検出する3軸加速度センサであってもよい。ここで、加速度センサ12,13には、検出可能な加速度の検出範囲(ダイナミックレンジ)が設定されており、本実施形態では、一例として、夫々「±5G」の検出範囲が設定されているものとする。また、加速度センサ12,13には、加速度を検出するサンプリング周期が設定されており、本実施形態では、一例として、夫々「20Hz」のサンプリング周期が設定され、加速度センサ12,13では、同一のタイミングで加速度を検出することとする。
なお、操作子1の加速度を用いるシステムに応じて、加速度センサ12,13に各軸の合成ベクトルの利用や、重心方向のキャンセル処理、各種キャリブレーションなどを適宜行わせることとしてもよい。
【0017】
第1加速度センサ12は、操作子1の一端(先端側)、すなわち、軸100上のユーザが保持する支点Mから最も離れた位置に設置される。また、第2加速度センサ13は、軸100上の第1加速度センサ12の設置位置と支点Mとの間に設置される。このとき、第2加速度センサ13は、第1加速度センサ12の基板(図示せず)と並行かつ同じ向きに設置される。なお、第2加速度センサ13は、任意の位置に設置することとしてよく、支点Mの位置や操作子1の利用態様などにより効果的な位置に設置することができる。
【0018】
このように、第1加速度センサ12と第2加速度センサ13とは、同軸上に設置される一方で、支点Mからの距離が夫々異なるため、ユーザが操作子1に対して振り上げ振り下ろし動作を行った場合には、夫々異なる加速度を検出することになる。例えば、
図2を参照して、ユーザが支点Mを中心に操作子1を振り下ろした場合、当該支点Mからの距離が長い第1加速度センサ12は、大きな加速度を検出し、当該支点Mからの距離が短い第2加速度センサ13は、小さな加速度を検出する。
【0019】
図1に戻り、ROM14は、CPU11の実行する各種処理の処理プログラムを格納する。また、RAM15は、加速度センサ12,13が検出した加速度や、CPU11が算出した加速度など、処理において取得され又は生成された値を格納する。
【0020】
データ通信部16は、メインユニット2に設けられたデータ通信部21との間で所定の通信を行う。所定の通信は、任意の方法で行うこととしてよく、本実施形態では、赤外線通信によりメインユニット2との間での通信を行う。
メインユニット2についての詳細は省略するが、メインユニット2は、データ通信部16から送られたデータに基づいて所定の処理を行う。ここで、データ通信部16から送られたデータには、操作子1に生じた加速度が含まれる。また、データ通信部16から送られたデータに基づく所定の処理としては、特に規定するものではないが、上述した特許文献1に記載されたように加速度からユーザの演奏動作を検知し、当該演奏動作に応じた楽音を発音する処理(例えば、エアドラム)を一例としてあげることができる。
【0021】
[検出範囲を超える加速度の算出方法]
このとき、加速度センサ12,13には、加速度の検出範囲が設定されているため、当該検出範囲を超える加速度が生じた場合には、正確な加速度を検出することができず、メインユニット2において適切な処理を行うことができない。
図2を参照して、例えば、操作子1の先端(第1加速度センサ12が設置)を打面に打ち付けた場合、操作子1の先端には第1加速度センサ12の検出範囲を超える加速度が生じる可能性がある。このような場合に、CPU11は、第2加速度センサ13の加速度から操作子1の先端に生じた加速度を算出することとしている。
【0022】
初めに、
図3を算出して操作子1の先端に検出範囲内の加速度が生じた場合の加速度センサ12,13の出力値及びCPU11が算出する加速度について説明する。
図3(1)は、操作子1に対する所定の動作が行われた場合における第1加速度センサ12の出力値(加速度)を示すグラフであり、
図3(2)は、当該場合における第2加速度センサ13の出力値(加速度)を示すグラフである。
図3(1)(2)に示すように、第1加速度センサ12及び第2加速度センサ13の夫々は、設定された検出範囲内の加速度を出力している。このとき、第1加速度センサ12は、操作子1の先端に生じた加速度を正確に検出できているため、CPU11は、第1加速度センサ12の出力値を、操作子1の先端部に生じた加速度として算出する。
【0023】
続いて、
図4を算出して操作子1の先端に検出範囲を超える加速度が生じた場合の加速度センサ12,13の出力値及びCPU11が算出する加速度について説明する。
図4(1)は、操作子1に対する所定の動作が行われた場合における第1加速度センサ12の出力値(加速度)を示すグラフであり、
図4(2)は、当該場合における第2加速度センサ13の出力値(加速度)を示すグラフである。
操作子1の先端に検出範囲を超える加速度がかかっているため、
図4(1)に示すように第1加速度センサ12の出力値は、飽和してしまい、第1加速度センサ12は、検出範囲を超えた分の加速度を検出することができない。他方、第2加速度センサ13は、支点Mからの距離や打面との打撃点N(
図2参照)からの距離が第1加速度センサ12とは異なるため、操作子1の先端に検出範囲を超える加速度がかかっている場合であっても、設定された検出範囲内で加速度を出力することができる。このとき、第2加速度センサ13は、操作子1の先端(第1加速度センサ12の設置位置)とは異なる位置に設置されているため、第2加速度センサ13の出力値は、操作子1の先端に生じた加速度を検出したものではない。
【0024】
そこで、CPU11は、
図5に示す方法を用いて、第2加速度センサ13の加速度から操作子1の先端に生じた加速度を算出することとしている。
具体的には、
図5(A)を参照して、初めに、CPU11は、第1加速度センサ12の出力値が飽和する前に、第1加速度センサ12の出力値と第2加速度センサ13の出力値との比率を算出する。例えば、時間「t1」において、第1加速度センサ12が加速度「2G」を出力し、第2加速度センサ13が加速度「1G」を出力している場合、CPU11は、第1加速度センサ12の出力値と第2加速度センサ13の出力値との比率「2」を算出する。
図5(B)を参照して、その後、CPU11は、第1加速度センサ12の出力値が飽和した後、算出した比率と第2加速度センサ13の出力値とから、操作子1の先端に生じた加速度を算出する。例えば、時間「t2」では、第1加速度センサ12の出力値は飽和している一方で、第2加速度センサ13は検出範囲内の加速度「4G」を出力している。このとき、CPU11は、第2加速度センサ13が出力した加速度「4G」に比率「2」を乗じることで、操作子1の先端に生じた加速度「8G」を算出する。
【0025】
このような方法により、CPU11は、第1加速度センサ12の出力値が飽和した後であっても、操作子1の先端に生じた加速度を適切に算出することができ、加速度センサ12,13の検出範囲(ダイナミックレンジ)を広げることができる。
【0026】
ところで、第1加速度センサ12の出力値と第2加速度センサ13の出力値との比率は、支点Mや打撃点Nの位置により異なる。そのため、CPU11は、第1加速度センサ12が飽和する直前に検出された出力値から算出した比率を用いることが好ましい。なお、第1加速度センサ12が飽和する直前に検出された出力値とは、第1加速度センサ12が検出範囲の上限となる加速度を検出した直前のサンプリング周期で検出された出力値を意味する。
一般的に、操作子1が打面に打撃された場合の加速度の変化は急峻であり、短期間であるため、その期間中に支点Mが大きく移動してしまうことは考えられない。そのため、飽和する直前の比率を用いることで、CPU11は、支点Mや打撃点Nの位置に関わらず、一定の精度で検出範囲を超えた加速度を算出することができる。
【0027】
[操作子1先端の加速度算出処理]
続いて、
図6を参照して、加速度センサ12,13が所定のサンプリング周期で検出した加速度に基づいて、CPU11が操作子1の先端に生じた加速度を算出する処理について説明する。
【0028】
初めに、CPU11は、第1加速度センサ12が出力した加速度をRAM15に格納するとともに(ステップS1)、第2加速度センサ13が出力した加速度もRAM15に格納し(ステップS2)、ステップS3の処理に移る。ステップS3では、CPU11は、第1加速度センサ12が飽和しているか否かを判定、すなわち、第1加速度センサ12から取得した加速度が、検出範囲の上限の加速度(本実施形態では、「±5G」)であるか否かを判定する。このとき、検出範囲の上限の加速度である場合には、CPU11は、ステップS6の処理に移り、検出範囲の上限未満の加速度である場合には、CPU11は、ステップS4の処理に移る。
【0029】
ステップS4では、CPU11は、第1加速度センサ12から取得した加速度と第2加速度センサ13から取得した加速度との比率を算出し、RAM15に格納する。具体的には、CPU11は、第1加速度センサ12から取得した加速度を第2加速度センサ13から取得した加速度で除算することで、比率を算出する。続いて、CPU11は、第1加速度センサ12から取得した加速度を有効とし(ステップS5)、処理を終了する。
また、ステップS6では、CPU11は、RAM15に格納された比率を読み出し、第2加速度センサ13から取得した加速度に当該比率を乗じて有効とし、処理を終了する。
【0030】
このように、CPU11は、検出範囲内の加速度については、操作子1の先端に設置された第1加速度センサ12を用いて、操作子1の先端に生じた加速度を算出し(ステップS5)、検出範囲を超える加速度については、第2加速度センサ13を用いて、操作子1の先端に生じた加速度を算出する(ステップS6)。
このとき、
図6に示す処理を加速度センサ12,13のサンプリング周期で繰り返し実行することで、CPU11は、第1加速度センサ12が飽和する直前の比率を用いて、操作子1の先端に生じた加速度を算出することができる。
【0031】
以上、本実施形態の操作子1の構成及び処理について説明した。このような操作子1によれば、第1加速度センサ12の検出範囲を超える加速度についても、同軸上の異なる位置に設置された第2加速度センサ13の出力値を用いて算出することができるため、第1加速度センサ12の検出範囲(ダイナミックレンジ)を広げることができる。
このとき、操作子1では、第1加速度センサ12が飽和する直前の比率を用いることとしているため、支点Mや打撃点Nの位置に関わらず、一定の精度で検出範囲を超えた加速度を算出することができる。
【0032】
以上、本発明の実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換など種々の変更を行うことができる。これら実施形態やその変形は、本明細書などに記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0033】
例えば、上記実施形態では、操作子1の先端に第1加速度センサ12の検出範囲を超える加速度が生じる場合を例にとっているが、これに限られるものではない。打撃点Nが操作子1の先端ではなく操作子1の中腹となった場合には、第2加速度センサ13の設置位置に検出範囲を超える加速度が生じ、第1加速度センサ12の先端位置には検出範囲内の加速度が生じることも考えられる。このような場合であっても、加速度センサ12,13の出力値の比率を用いて、検出範囲を超えた加速度を算出することができる。
【0034】
また、上記実施形態では、操作子1に2つの加速度センサ12,13を設けることとしているが、これに限られるものではなく、3つ以上の加速度センサを設けることとしてもよい。この場合においても、検出範囲を超えた加速度を、他の加速度センサの出力値及び比率を用いることで算出することができる。
【0035】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
スティック状の操作子であって、
当該操作子の長手方向の軸上の夫々異なる位置に設けられ、所定範囲の加速度を検出する複数の加速度センサと、
前記複数の加速度センサのうちの1の加速度センサの設置位置に生じた加速度を算出する加速度算出手段と、を備え、
前記加速度算出手段は、
前記設置位置に生じた加速度が前記所定範囲内の加速度である場合に、前記1の加速度センサが検出した加速度と他の加速度センサが検出した加速度との比率を算出する比率算出手段と、
前記設置位置に生じた加速度が前記所定範囲を超える加速度である場合に、前記他の加速度センサが検出した加速度に前記比率を乗じることで、前記設置位置に生じた加速度を算出する加速度演算手段と、
を備えることを特徴とする操作子。
[付記2]
前記加速度算出手段は、前記1の加速度センサにおいて前記所定範囲内の加速度が検出される場合に、当該加速度を前記設置位置に生じた加速度と算出する、
ことを特徴とする付記1に記載の操作子。
[付記3]
前記1の加速度センサは、前記軸上の先端部に設けられ、前記他の加速度センサは、前記先端部とユーザに保持される位置との間に設けられる、
ことを特徴とする付記1又は2に記載の操作子。
[付記4]
長手方向の軸上の異なる位置に所定範囲の加速度を検出する複数の加速度センサを設けたスティック状の操作子において、前記複数の加速度センサのうちの1の加速度センサの設置位置に生じた加速度を算出する方法であって、前記操作子の制御部が実行する、
前記複数の加速度センサが検出した前記加速度を取得するステップと、
取得した前記加速度に基づいて、前記設置位置に生じた加速度が前記所定範囲内の加速度であるか否かを判定するステップと、
前記判定の結果、前記所定範囲内の加速度である場合に、前記1の加速度センサが検出した加速度と他の加速度センサが検出した加速度との比率を算出するステップと、
前記判定の結果、前記所定範囲を超える加速度である場合に、前記他の加速度センサが検出した加速度に前記比率を乗じることで、前記設置位置に生じた加速度を算出するステップと、
を含む方法。