(57)【要約】  本技術の一形態に係る情報処理装置は、触覚制御部を具備する。前記触覚制御部は、触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、前記触覚提示装置に出力する触覚出力信号を制御する。
2020153116.tif 000002
【特許請求の範囲】
【請求項１】
触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
前記触覚提示装置に出力する触覚出力信号を制御する触覚制御部
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記触覚制御部は、前記接触体情報に基づいて前記触覚提示信号を補正するために使用される補正情報と、前記触覚提示信号と、に基づいて前記触覚出力信号を制御する
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記触覚提示信号は、前記触覚提示装置を加振する振動素子の振幅及び周波数成分を表す信号であり、
前記触覚制御部は、前記接触体情報に基づいて、前記触覚提示信号により表される振幅及び周波数成分の少なくとも一方に関する前記補正情報を生成する
情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記接触体は、前記触覚提示装置に装着されるアタッチメントを含み、
前記触覚制御部は、前記接触体情報として、前記アタッチメントの質量に関する質量情報を取得する
情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記触覚制御部は、前記質量情報に基づいて、前記振動素子の振動により前記触覚提示装置に発生する加速度の、前記アタッチメントの装着に伴う変化率を算出する
情報処理装置。
【請求項６】
請求項５に記載の情報処理装置であって、
前記触覚制御部は、前記加速度の変化率に基づいて、前記触覚提示信号の振幅を補正する
情報処理装置。
【請求項７】
請求項４に記載の情報処理装置であって、
前記触覚制御部は、前記質量情報に基づいて、前記振動素子を含む振動系の共振周波数の、前記アタッチメントの装着に伴うシフト量を算出する
情報処理装置。
【請求項８】
請求項７に記載の情報処理装置であって、
前記触覚制御部は、前記共振周波数のシフト量に基づいて、前記触覚提示信号の周波数成分を補正する
情報処理装置。
【請求項９】
請求項４に記載の情報処理装置であって、
前記アタッチメントは、前記アタッチメントの機器情報を供給可能であり、
前記触覚制御部は、前記アタッチメントの機器情報に基づいて、前記質量情報を取得する
情報処理装置。
【請求項１０】
請求項４に記載の情報処理装置であって、
前記触覚制御部は、ユーザにより入力された入力情報に基づいて、前記質量情報を取得する
情報処理装置。
【請求項１１】
請求項４に記載の情報処理装置であって、
前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有し、
前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記質量情報を算出する
情報処理装置。
【請求項１２】
請求項１１に記載の情報処理装置であって、
前記加速度センサは、所定の振動信号に応じて前記アタッチメントが装着された前記触覚提示装置に発生する第１の加速度を検出し、
前記触覚制御部は、前記所定の振動信号に応じて前記アタッチメントが装着されていない前記触覚提示装置に発生する第２の加速度を取得し、前記第１及び前記第２の加速度に基づいて、前記質量情報を算出する
情報処理装置。
【請求項１３】
請求項１１に記載の情報処理装置であって、
前記触覚制御部は、前記加速度センサにより検出される加速度の時間変化に基づいて、前記質量情報を算出する
情報処理装置。
【請求項１４】
請求項３に記載の情報処理装置であって、
前記振動素子は、前記触覚提示装置の筐体に支持され、
前記触覚制御部は、前記振動素子と前記筐体との機械的な干渉に関する干渉条件に基づいて、前記触覚提示信号を補正する
情報処理装置。
【請求項１５】
請求項３に記載の情報処理装置であって、
前記振動素子は、リニア振動アクチュエータである
情報処理装置。
【請求項１６】
請求項１５に記載の情報処理装置であって、
前記リニア振動アクチュエータは、ボイスコイルモータである
情報処理装置。
【請求項１７】
請求項１に記載の情報処理装置であって、
前記接触体は、前記触覚提示装置を把持するユーザの手を含み、
前記触覚制御部は、前記接触体情報として、前記触覚提示装置を把持する前記ユーザの把持力に関する把持力情報を取得する
情報処理装置。
【請求項１８】
請求項１７に記載の情報処理装置であって、
前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有し、
前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記把持力情報を算出する
情報処理装置。
【請求項１９】
触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
前記触覚提示装置に出力する触覚出力信号を制御する
ことをコンピュータシステムが実行する情報処理方法。
【請求項２０】
触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
前記触覚提示装置に出力する触覚出力信号を制御するステップ
をコンピュータシステムに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、触覚提示に適用可能な情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ユーザに様々な触覚を提示する技術が開発されている。例えば所定の振動パターンで装置を振動させることで、ユーザに対して振動パターンに応じた触覚が提示される。【０００３】
特許文献１には、ユーザの身体に装着可能に構成された力覚デバイスについて記載されている。力覚デバイスには、Ｘアクチュエータ及びＹアクチュエータにより平面内で振動可能に構成された可動体が設けられる。可動体は、例えば人の触覚受容器の検知閾値を応用した振動波形に基づいて振動される。この振動波形は、人が検知できる、または検知できない振幅域及び周波数域を含むように設定される。これにより、摩擦力等の力覚の多彩な触覚をユーザに提示することが可能となっている（特許文献１の明細書段落［００１９］［００２１］［００３０］−［００３３］図１、３等）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１６／０３１１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
今後、ユーザに触覚を提示する技術は、アミューズメント機器、携帯機器、ウェアラブル機器等の様々な装置での応用が期待されており、所望の触覚を提示することが可能な技術が求められている。【０００６】
以上のような事情に鑑み、本技術の目的は、所望の触覚を提示することが可能な情報処理装置、情報処理方法、プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本技術の一形態に係る情報処理装置は、触覚制御部を具備する。
前記触覚制御部は、触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、前記触覚提示装置に出力する触覚出力信号を制御する。【０００８】
この情報処理装置では、触覚提示装置への出力である触覚出力信号が制御される。触覚出力信号の制御は、触覚提示装置向けの触覚コンテンツに応じた触覚提示信号と、触覚提示装置に接触する接触体に関する接触体情報とに基づいて実行される。これにより、接触体に応じて触覚出力信号を制御することが可能となり、所望の触覚を提示することが可能となる。【０００９】
前記触覚制御部は、前記接触体情報に基づいて前記触覚提示信号を補正するために使用される補正情報と、前記触覚提示信号と、に基づいて前記触覚出力信号を制御してもよい。
これにより、接触体に応じて触覚提示装置の動作を補正することが可能となる。この結果、所望の触覚を精度よく提示することが可能となる。【００１０】
前記触覚提示信号は、前記触覚提示装置を加振する振動素子の振幅及び周波数成分を表す信号であってもよい。この場合、前記触覚制御部は、前記接触体情報に基づいて、前記触覚提示信号により表される振幅及び周波数成分の少なくとも一方に関する前記補正情報を生成してもよい。
これにより、触覚提示信号を詳細に補正することが可能となる。この結果、所望の触覚を精度よく提示することが可能となる。【００１１】
前記接触体は、前記触覚提示装置に装着されるアタッチメントを含んでもよい。この場合、前記触覚制御部は、前記接触体情報として、前記アタッチメントの質量に関する質量情報を取得してもよい。
これにより、アタッチメントが装着された場合であっても、触覚提示装置を適正に振動させることが可能となり、優れた触覚効果を発揮することが可能となる。【００１２】
前記触覚制御部は、前記質量情報に基づいて、前記振動素子の振動により前記触覚提示装置に発生する加速度の、前記アタッチメントの装着に伴う変化率を算出してもよい。
これにより、アタッチメントの装着の前後における加速度の変化の割合が算出される。この結果、アタッチメントの装着に伴う触覚の変化等を適正に補正することが可能となる。【００１３】
前記触覚制御部は、前記加速度の変化率に基づいて、前記触覚提示信号の振幅を補正してもよい。
これにより、振動の強度を精度よく補正することが可能となり、例えば所望の強度で触覚コンテンツを提示することが可能となる。【００１４】
前記触覚制御部は、前記質量情報に基づいて、前記振動素子を含む振動系の共振周波数の、前記アタッチメントの装着に伴うシフト量を算出してもよい。
これにより、アタッチメントの装着の前後における共振周波数の変化量が算出される。この結果、アタッチメントの装着に伴う触覚の変化等を適正に補正することが可能となる。【００１５】
前記触覚制御部は、前記共振周波数のシフト量に基づいて、前記触覚提示信号の周波数成分を補正してもよい。
これにより、例えばアタッチメント装着後の共振周波数を使った触覚提示等が可能となる。この結果、例えば十分な強度で触覚コンテンツを提示することが可能となる。【００１６】
前記アタッチメントは、前記アタッチメントの機器情報を供給可能であってもよい。この場合、前記触覚制御部は、前記アタッチメントの機器情報に基づいて、前記質量情報を取得してもよい。
これにより、アタッチメントの質量等を容易かつ精度よく取得することが可能となり、アタッチメントが装着された場合でも、所望の触覚を容易に提示することが可能となる。【００１７】
前記触覚制御部は、ユーザにより入力された入力情報に基づいて、前記質量情報を取得してもよい。
これにより、アタッチメントの種類等に係らず触覚提示信号を補正することが可能となる。【００１８】
前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有してもよい。この場合、前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記質量情報を算出してもよい。
これにより、例えば任意のアタッチメントに対してその質量等を算出することが可能となり、例えば触覚提示信号を適正に補正することが可能となる。【００１９】
前記加速度センサは、所定の振動信号に応じて前記アタッチメントが装着された前記触覚提示装置に発生する第１の加速度を検出してもよい。この場合、前記触覚制御部は、前記所定の振動信号に応じて前記アタッチメントが装着されていない前記触覚提示装置に発生する第２の加速度を取得し、前記第１及び前記第２の加速度に基づいて、前記質量情報を算出してもよい。
これにより、例えば任意のアタッチメントに対してその質量等を精度よく算出することが可能となる。この結果、所望の触覚を精度よく提示することが可能となる。【００２０】
前記触覚制御部は、前記加速度センサにより検出される加速度の時間変化に基づいて、前記質量情報を算出してもよい。
これにより、例えば触覚提示装置の使用状況が変化するような場合であっても、アタッチメントの質量等を適正に算出することが可能となる。【００２１】
前記振動素子は、前記触覚提示装置の筐体に支持されてもよい。この場合、前記触覚制御部は、前記振動素子と前記筐体との機械的な干渉に関する干渉条件に基づいて、前記触覚提示信号を補正してもよい。
これにより、振動素子が筐体と干渉するといった事態が回避される。これにより、異音の発生等が抑制されるとともに、所望の触覚を適正に提示することが可能となる。【００２２】
前記振動素子は、リニア振動アクチュエータであってもよい。
これにより、多彩な触覚を容易に提示することが可能となる。【００２３】
前記リニア振動アクチュエータは、ボイスコイルモータであってもよい。
これにより、多彩な触覚を十分な強度で容易に提示することが可能となる。【００２４】
前記接触体は、前記触覚提示装置を把持するユーザの手を含んでもよい。この場合、前記触覚制御部は、前記接触体情報として、前記触覚提示装置を把持する前記ユーザの把持力に関する把持力情報を取得してもよい。
これにより、ユーザが触覚提示装置をつかむ力等が変化した場合であっても、触覚提示装置を適正に振動させることが可能となり、優れた触覚効果を発揮することが可能となる。【００２５】
前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有してもよい。この場合、前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記把持力情報を算出してもよい。
これにより、ユーザの把持力の変化等を容易に検出することが可能となる。この結果、把持力の変化に伴う触覚の変化等を適正に補正することが可能となる。【００２６】
本技術の一形態に係る情報処理方法は、コンピュータシステムにより実行される情報処理方法であって、触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、前記触覚提示装置に出力する触覚出力信号を制御することを含む。【００２７】
本技術の一形態に係るプログラムは、コンピュータシステムに以下のステップを実行させる。
触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、前記触覚提示装置に出力する触覚出力信号を制御するステップ。
【発明の効果】
【００２８】
以上のように、本技術によれば、所望の触覚を提示することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２９】
【図１】本技術の第１の実施形態に係る触覚提示システムの概要を示す模式図である。
【図２】図１に示す触覚提示システムの構成例を示すブロック図である。
【図３】ゲームコントローラの一例を示す模式図である。
【図４】ボイスコイルモータの構成例を示す模式図である。
【図５】アタッチメントの一例を示す模式図である。
【図６】ボイスコイルモータが接続された振動系の振動モデルを示す模式図である。
【図７】ボイスコイルモータが接続された振動系の振動特性の一例を示すグラフである。
【図８】加振対象の質量と振動系の共振周波数との関係の一例を示すグラフである。
【図９】アタッチメントの装着前後での発生加速度と入力電圧との関係を示すグラフである。
【図１０】触覚提示信号の補正処理の一例を示すフローチャートである。
【図１１】加速度データの解析の一例を説明するためのグラフである。
【図１２】補正された触覚提示信号の一例を示すグラフである。
【図１３】触覚提示装置とアタッチメントとの他の一例を示す模式図である。
【図１４】触覚提示装置とアタッチメントとの他の一例を示す模式図である。
【図１５】触覚提示装置とアタッチメントとの他の一例を示す模式図である。
【発明を実施するための形態】
【００３０】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
【００３１】
＜第１の実施形態＞
［触覚提示システムの構成］
図１は、本技術の第１の実施形態に係る触覚提示システムの概要を示す模式図である。図２は、図１に示す触覚提示システムの構成例を示すブロック図である。触覚提示システム１００は、例えばゲームコンテンツ等を提供するシステムである。触覚提示システム１００では、ゲームコンテンツをプレイするユーザ１に対して、ユーザ１の操作やコンテンツの進行等に応じた様々な触覚コンテンツが提示される。
【００３２】
触覚提示システム１００は、ゲームコントローラ１０と、アタッチメント２０と、ゲーム機本体３０と、撮像ユニット５０と、表示ユニット５１とを有する。図１に示す例では、アタッチメント２０が装着されたゲームコントローラ１０が用いられる。以下では、アタッチメント２０が装着されたゲームコントローラ１０、すなわちアタッチメント２０とゲームコントローラ１０との複合体を、複合コントローラ２１と記載する場合がある。
【００３３】
例えば表示ユニット５１には、ゲーム機本体３０により生成されたゲームコンテンツの画像が表示される。ユーザ１は、表示ユニット５１の表示内容に応じて、複合コントローラ２１（ゲームコントローラ１０及びアタッチメント２０）を使用して入力操作を行うことで、ゲームコンテンツを進行することが可能である。なお、アタッチメント２０は、ゲーム機本体３０の起動中に、ゲームコントローラ１０に対して適宜着脱することが可能である。
【００３４】
また触覚提示システム１００では、例えばゲームコントローラ１０が振動することで、ユーザ１に対して所定の触覚コンテンツが提示される。より詳しくは、ゲームコントローラ１０の振動がアタッチメント２０を介してユーザ１に伝わることで、その振動波形（触覚コンテンツ）に応じた触覚提示（Ｈａｐｔｉｃｓ提示）が実現される。
【００３５】
なお本開示において、触覚（Ｈａｐｔｉｃｓ）とは、例えば人が物体に触れることによって生じる感覚である。例えば物体に触っている際の感触や、物体から受ける力感覚（力覚）等が触覚に含まれる。また触覚コンテンツとは、上記した触覚を表すコンテンツであり、例えば振動の波形、強度、継続時間等が触覚コンテンツのパラメータとして設定される。例えば、ゲーム内において、銃を発射したときの衝撃を表す振動や、ダメージを受けたことを表す振動等は、触覚コンテンツとなる。この他、任意の触覚コンテンツに対して本技術は適用可能である。
【００３６】
以下では、主に振動を用いて提示される触覚について説明する。また触覚コンテンツのことを単に触覚と記載する場合がある。本実施形態では、ゲームコントローラ１０は、触覚提示装置に相当する。またアタッチメント２０は、触覚提示装置に接触する接触体の一例である。
【００３７】
図３は、ゲームコントローラ１０の一例を示す模式図である。図３には、ロッド型のゲームコントローラ１０の外観が模式的に図示されている。ゲームコントローラ１０は、単独でゲーム機本体３０と通信可能であり、ユーザ１による操作入力を受け付ける機能を有する。ゲームコントローラ１０は、把持部１１と、先端部１２とを有する。
【００３８】
把持部１１は、棒状の形状であり、ユーザ１が握るための部位である。また把持部１１は、ゲームコントローラ１０の筐体１３（外装）として機能する。先端部１２は、球体状の形状であり、把持部１１の一方の端に設けられる。先端部１２は、全体が所定の色で発光可能なように構成され、ユーザ１の動作を検出するモーションキャプチャー等のマーカとして機能する。
【００３９】
例えば、後述する撮像ユニット５０により、ゲームコントローラ１０（把持部１１）を掴んだユーザ１が撮影される。またゲーム機本体３０により、ユーザ１を撮影した画像から、所定の色で発光する先端部１２の位置や動きが検出される。これにより、ユーザ１がゲームコントローラ１０を動かす動作等を検出することが可能となる。このように、ゲームコントローラ１０は、ユーザ１の動作による操作入力を行うモーションコントローラのマーカとして機能する。
【００４０】
図２に示すように、ゲームコントローラ１０は、さらに、通信ユニット１４と、入力素子１５と、加速度センサ１６と、ボイスコイルモータ１７（ＶＣＭ：Voice Coil Motor）とを有する。
【００４１】
通信ユニット１４は、ゲーム機本体３０との通信を行う。例えば通信ユニット１４は、ゲーム機本体３０により生成された各種の制御信号を受信し、ゲームコントローラ１０の各部に出力する。また例えば、通信ユニット１４は、ゲームコントローラ１０の各部（入力素子１５及び加速度センサ１６等）により生成されたデータをゲーム機本体３０に送信する。
【００４２】
またゲームコントローラ１０と通信可能なアタッチメント２０が装着されている場合、通信ユニット１４は、アタッチメント２０との通信を行う。例えば通信ユニット１４は、アタッチメント２０を用いて入力されたデータ等を読み込み、ゲーム機本体３０に送信する。またアタッチメント２０が所定の動作を実行する機能（発光機能や振動機能等）を備えている場合、通信ユニット１４は、ゲーム機本体３０により生成された各種の制御信号を受信して、アタッチメント２０の各部に出力する。このように、通信ユニット１４を介してアタッチメント２０とゲーム機本体３０とが通信可能となる。
【００４３】
通信ユニット１４（ゲームコントローラ１０）は、典型的には、ゲーム機本体３０と無線通信を実行し、アタッチメント２０と有線通信を実行するように構成される。通信ユニット１４には、例えばＢｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮ、又はＷＵＳＢ（Wireless USB）等の所定の無線通信が可能な無線通信モジュール等が設けられる。また通信ユニット１４には、所定の接続端子（図示省略）を介してアタッチメント２０との有線通信を行う有線通信モジュール等が設けられる。
【００４４】
この他、通信ユニット１４の具体的な構成や、ゲームコントローラ１０の通信形態等は限定されない。例えばゲームコントローラ１０とアタッチメント２０とが無線通信により接続されてもよい。また例えばゲームコントローラ１０とゲーム機本体３０とが有線通信により接続されてもよい。これらゲームコントローラ１０の通信形態に応じて、通信ユニット１４が適宜構成されてよい。
【００４５】
入力素子１５は、ユーザ１の操作入力を検出する素子である。本実施形態では、図３に示すように、ゲームコントローラ１０（把持部１１）の表面に複数の入力素子１５が設けられる。入力素子１５の具体的な構成は限定されない。例えば、ボタン、スイッチ、ジョイスティック、スライダ等の任意の入力素子が設けられてよい。各入力素子１５を介してユーザ１により入力された入力データは、通信ユニット１４を介してゲーム機本体３０に送信される。
【００４６】
加速度センサ１６は、ゲームコントローラ１０の加速度を検出する。加速度センサ１６は、ゲームコントローラ１０の筐体１３内部に固定して配置され、ゲームコントローラ１０に発生する加速度を検出する。加速度センサ１６の具体的な構成は限定されず、例えば互いに直交する３軸方向（ＸＹＺ方向）の加速度を検出可能な３軸加速度センサ等が用いられる。加速度センサ１６を介して検出された加速度データは、通信ユニット１４を介してゲーム機本体３０に送信される。
【００４７】
なお、ゲームコントローラ１０には、加速度センサ１６の他にジャイロセンサや慣性センサ等が適宜設けられる。ゲームコントローラ１０に設けられるセンサの種類等は限定されず、例えばユーザ１の把持力を検出する圧力センサや、温度センサ等が設けられてもよい。この他、ゲームコントローラ１０の各種の状態を検出する任意のセンサが適宜設けられてよい。
【００４８】
ボイスコイルモータ１７（ＶＣＭ）は、触覚提示用の振動アクチュエータであり、線形に振動する振動子を備えたリニア振動アクチュエータである。リニア振動アクチュエータでは、線形に移動する振動子の振幅や振動周波数を適宜制御することで、多彩な触覚を提示することが可能である。なおリニア振動アクチュエータとしては、ボイスコイルモータ１７の他に、圧力による触覚提示を与えることのできるアクチュエータ、ＬＲＡ（Ｌｉｎｅａｒ Ｒｅｓｏｎａｎｔ Ａｃｔｕａｔｏｒ）、ピエゾ素子を用いたアクチュエータ等を用いることが可能である。これらリニア振動アクチュエータは、本実施形態に係る振動素子の一例である。
【００４９】
図４は、ボイスコイルモータ１７の構成例を示す模式図である。ボイスコイルモータ１７は、ゲームコントローラ１０の筐体１３に支持され、筐体１３の内部に配置される。ボイスコイルモータ１７は、振動子５２と、固定子５３とを有する。ボイスコイルモータ１７は、振動子５２を固定子５３に対して所定の方向に沿って往復運動させることで振動を発生するリニアアクチュエータである。以下では、振動子５２が移動する方向（図中の左右方向）を振動方向と記載する。
【００５０】
振動子５２は、例えば振動方向を軸とする柱状の形状である。振動子５２の側面には電線等が巻き付けられコイル５４が形成される。固定子５３は、筐体１３に固定して配置され、振動子５２を振動方向に沿って移動可能に収容する筒状の空間を有する。筒状の空間の内側面には、一方の磁極（Ｓ極又はＮ極）を振動子５２側に向けて磁石５５が配置される。また振動子５２と固定子５３とは、図示しないばね等の弾性体を介して互いに接続される。
【００５１】
例えば振動子５２のコイル５４に交流電流を流すことで、振動子５２は振動方向に沿って往復運動する。この往復運動により発生する反力は、ゲームコントローラ１０の筐体１３に作用し、ゲームコントローラ１０自体が振動する。これにより、ゲームコントローラ１０（把持部１１）を掴んだユーザ１に対して、振動を用いた触覚提示を行うことが可能となる。
【００５２】
ボイスコイルモータ１７は、例えば電圧駆動により駆動される。例えば図示しない駆動源から、ボイスコイルモータ１７を駆動する電圧信号（以下駆動信号と記載する）がコイル５４に印加される。この駆動信号は、後述するゲーム機本体３０から出力される制御値等に基づいて生成される。なお、ボイスコイルモータ１７を電圧駆動する場合に限定されず、例えば、ボイスコイルモータ１７が電流駆動されるような構成が採用されてもよい。
【００５３】
ボイスコイルモータ１７では、例えば振動子５２の往復運動の幅や周期等を制御することで、広い周波数帯域に対して任意の振幅で振動を発生させることが可能となる。従って、ボイスコイルモータ１７は、広帯域な振動を発生する広帯域アクチュエータであるとも言える。これにより、触覚（Ｈａｐｔｉｃｓ）の表現力を大幅に向上することが可能である。ボイスコイルモータ１７の動作については、後に詳しく説明する。
【００５４】
ボイスコイルモータ１７の具体的な構成は限定されない。例えば図４に示すような、振動子５２にコイル５４が形成されたムービングコイル型のモータに代えて、振動子５２に磁石５５を配置したムービングマグネット型のモータ等が用いられてもよい。また、固定子５３が振動子５２の内側に設けられる構成等が採用されてもよい。この他、ボイスコイルモータ１７のサイズや形状等は、例えば搭載されるゲームコントローラ１０のサイズ等に応じて適宜設定されてよい。
【００５５】
アタッチメント２０は、例えばゲームコントローラ１０に装着される装着物である。典型的には、アタッチメント２０は、ゲームコントローラ１０との相対位置が固定されるように、ゲームコントローラ１０に接触して配置される。
【００５６】
図５は、アタッチメント２０の一例を示す模式図である。図５Ａ〜図５Ｄには、図３に示すゲームコントローラ１０が装着されたアタッチメント２０ａ〜２０ｄの外観が模式的に図示されている。これらのアタッチメント２０ａ〜２０ｄは、ゲームコントローラ１０を装着した状態で、複合コントローラ２１として使用される。
【００５７】
図５Ａに示すアタッチメント２０ａは、片手持ちの銃（ハンドガン）の形状を有する。アタッチメント２０ａは、図１においてユーザ１が使用しているアタッチメント２０である。ゲームコントローラ１０は、アタッチメント２０ａの先端側（銃口側）に挿入され、挿入部分に設けられた固定具によりアタッチメント２０ａと一体的に固定される。この時、ゲームコントローラ１０は、図示しない接続端子を介してアタッチメント２０ａと通信可能に接続される。
【００５８】
またアタッチメント２０ａには、トリガー型の入力素子１５が設けられる。トリガー型の入力素子１５は、図示しない接続端子等を介してゲームコントローラ１０と接続される。例えばユーザ１は、アタッチメント２０ａのグリップを握ったままトリガー（入力素子１５）を引くことで、射撃等の所定の入力操作が可能となる。このように、アタッチメント２０ａは、ユーザ１の入力操作を補助する機能を有するとも言える。
【００５９】
図５Ｂに示すアタッチメント２０ｂは、グリップ型のハンドルの形状を有する。ゲームコントローラ１０は、２つのグリップの間に挿入され、アタッチメント２０ｂと一体的に固定される。アタッチメント２０ｂには、例えば移動方向や選択肢等を入力するための複数のボタン（入力素子１５）が設けられる。アタッチメント２０ｂを用いることで、例えばドライビングゲーム等の入力操作を容易に実行することが可能となる。
【００６０】
図５Ｃに示すアタッチメント２０ｃは、両手持ちの銃の形状を有し、トリガー型の入力素子１５が設けられる。ゲームコントローラ１０は、アタッチメント２０ｃの先端に挿入される。なおアタッチメント２０ｃには、ゲームコントローラ１０とは異なる他のコントローラが装着可能である。また図５Ｄに示すアタッチメント２０ｄは、両手持ちのシューティングコントローラであり、トリガー型の入力素子１５に加え、スティック型の入力素子１５等が設けられる。例えばこのような構成も可能である。
【００６１】
アタッチメント２０ａ〜２０ｄは、接続端子を介してゲームコントローラ１０と通信可能に接続されるアタッチメント２０である。例えばアタッチメント２０ａ〜２０ｄは、ゲームコントローラ１０からの要求信号に対して、自身に関する機器情報を送信する。すなわち、これらのアタッチメント２０は、アタッチメント２０の機器情報を供給可能である。機器情報には、例えばアタッチメント２０の形式、型番、製造メーカー、シリアルナンバー等のアタッチメント２０を特定するための情報等が含まれる。
【００６２】
なおゲームコントローラ１０との通信を行わないアタッチメント２０が用いられてもよい。例えば、アタッチメント２０には、通信機能を持たない外部バッテリ等も含まれる。またゲームコントローラ１０と電気的に接続されないアタッチメント２０が用いられてもよい。例えばゲームコントローラ１０に装着されるケースやカバー等も、本開示におけるアタッチメント２０に含まれる。この他、アタッチメント２０の形態、種類、機能等の具体的な構成は限定されず、例えばゲームコントローラ１０に装着される任意のオブジェクトがアタッチメント２０となり得る。
【００６３】
図２に戻り、ゲーム機本体３０は、通信ユニット３１と、記憶部３２と、制御部３３とを有する。またゲーム機本体３０には、撮像ユニット５０や表示ユニット５１と接続するための接続端子等が適宜設けられる。
【００６４】
通信ユニット３１は、ゲームコントローラ１０との通信を行う。通信ユニット３１は、例えばゲームコントローラ１０の通信ユニット１４と通信可能なように適宜構成される。通信ユニット３１としては、例えば通信ユニット１４と同様の無線通信規格に従って通信可能な無線通信モジュール等が適宜用いられる。通信ユニット３１は、受信部３４と、送信部３５とを有する。
【００６５】
受信部３４は、ゲームコントローラ１０から各種のデータを受信し、ゲームコントローラ１０の各部に適宜出力する。例えばゲームコントローラ１０あるいはアタッチメント２０の入力素子１５を用いて入力された入力データ（ボタン指令等）や、加速度センサ１６により検出された加速度データが受信される。また例えば、アタッチメント２０の機器情報等が受信される。送信部３５は、後述する制御部３３により生成された各種の制御信号や指令値をゲームコントローラ１０に送信する。
【００６６】
記憶部３２は、不揮発性の記憶デバイスであり、例えばＨＤＤ（Hard Disk Drive）やフラッシュメモリ等の記憶素子が用いられる。記憶部３２には、ゲーム機本体３０の全体の動作を制御するための制御プログラム３６等が記憶される。
【００６７】
また記憶部３２には、質量データベース３７が記憶される。質量データベース３７には、ゲームコントローラ１０に装着可能な各アタッチメント２０を特定するための情報（形式や型番等）と、そのアタッチメント２０の質量とのリストが記録される。制御プログラム３６及び質量データベース３７を、ゲーム機本体３０にインストールする方法は限定されない。
【００６８】
制御部３３は、ゲーム機本体３０の各部の動作を制御し、またゲームコントローラ１０に向けて送信される各種の制御信号（後述する触覚出力信号等）を生成する。制御部３３は、本実施形態に係る情報処理装置として機能する。
【００６９】
制御部３３は、例えばＣＰＵ（Central Processing Unit）やメモリ（ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory））等のコンピュータに必要なハードウェア構成を有する。ＣＰＵが記憶部３２に記憶されている本技術に係る制御プログラム３６（アプリケーション）を、ＲＡＭにロードして実行することにより、本技術に係る情報処理方法が実現される。
【００７０】
制御部３３として、例えばＦＰＧＡ（Field Programmable Gate Array）等のＰＬＤ(Programmable Logic Device)、その他ＡＳＩＣ（Application Specific Integrated Circuit）等のデバイスが用いられてもよい。
【００７１】
本実施形態では、制御部３３のＣＰＵが制御プログラム３６を実行することで、機能ブロックとして、コンテンツ処理部３８と、振動データ処理部３９とが実現される。なお、各機能ブロックを実現するために、ＩＣ（集積回路）等の専用のハードウェアが適宜用いられてもよい。
【００７２】
コンテンツ処理部３８は、ゲームコンテンツを進行させる各種の処理を実行する。例えば、ユーザ１により入力された入力データや、モーションキャプチャーの検出結果等に応じて、ゲームコンテンツの映像や音声等を生成する。
【００７３】
コンテンツ処理部３８は、ゲームコントローラ１０に提示する触覚コンテンツに応じた触覚提示信号を生成する。ここで触覚提示信号とは、触覚コンテンツの振動波形を表す信号であり、典型的にはゲームコントローラ１７を加振するボイスコイルモータ１７の振幅及び周波数成分を表す信号である。触覚提示信号としては、例えばボイスコイルモータ１７を駆動する制御値（入力値）を含む信号が生成される。例えば触覚提示信号に含まれる制御値でボイスコイルモータ１７を駆動することで、触覚提示信号により表される振幅及び周波数成分（振動波形）の振動を発生させることが可能となる。
【００７４】
本実施形態では、ゲームコントローラ１０を単体で用いるユーザ１に対して所定の触覚が提示可能となるように、触覚提示信号が設計される。すなわち、触覚提示信号は、アタッチメント２０が装着されていないゲームコントローラ１０を振動させて所定の触覚コンテンツを提示するための振動波形を表す信号であるとも言える。なおコンテンツ処理部３８は、制御部３３とは別のコンピュータ（例えば外部のサーバ装置等）に設けられてもよい。
【００７５】
触覚提示信号の具体的な構成は限定されず、例えばボイスコイルモータ１７の構成等に応じて、所定の触覚コンテンツを提示することが可能な信号が適宜生成されてよい。なお、以下で説明するように、触覚提示システム１００では、コンテンツ処理部３８により生成された触覚提示信号が補正されて、ボイスコイルモータ１７の制御に用いられる。従って、コンテンツ処理部３８により生成された触覚提示信号が、そのままボイスコイルモータ１７の制御に用いられるとは限らない。
【００７６】
振動データ処理部３９は、ゲームコントローラ１０の振動を制御する。本実施形態では、ゲームコントローラ１０に装着されたアタッチメント２０に応じた、ゲームコントローラ１０の振動制御（ボイスコイルモータ１７の駆動制御等）が実行される。
【００７７】
振動データ処理部３９は、ゲームコントローラ１０に提示する触覚コンテンツに応じた触覚提示信号と、ゲームコントローラ１０に接触するアタッチメント２０に関するアタッチメント情報と、に基づいて、ゲームコントローラ１０に出力する触覚出力信号を制御する。触覚出力信号とは、例えば触覚コンテンツを提示するためにゲームコントローラ１０に実際に出力される信号である。この触覚出力信号を制御することで、ゲームコントローラ１０の振動が制御される。本実施形態では、振動データ処理部３９は、触覚制御部に相当する。
【００７８】
振動データ処理部３９は、ゲームコントローラ１０に接触するアタッチメント２０に関するアタッチメント情報を取得する。すなわち、振動データ処理部３９は、ゲームコントローラ１０に装着されてゲームコントローラ１０の筐体１３等に接触しているアタッチメント２０のアタッチメント情報を取得する。本実施形態では、アタッチメント情報は、接触体情報に相当する。
【００７９】
具体的には、アタッチメント情報として、アタッチメント２０の質量に関する質量データが取得される。質量データとは、典型的には、アタッチメント２０の質量（重量）の値を示すデータである。本実施形態では、質量データは、質量情報に相当する。
【００８０】
例えばアタッチメント情報として、アタッチメントが装着されているか否かの情報や、アタッチメント２０の機器情報が取得される。例えばこられの情報をもとに、アタッチメント２０の質量データが質量データベース３７等から読み込まれる。あるいは、ゲームコントローラ１０の加速度センサ１６の検出結果等に基づいて、アタッチメント２０の質量データが算出される。アタッチメント２０の質量データを取得する方法については、後に詳しく説明する。
【００８１】
また本実施形態では、振動データ処理部３９は、アタッチメント情報に基づいて触覚提示信号を補正するために使用される補正情報と、触覚提示信号と、に基づいて触覚出力信号を制御する。例えば補正情報を使用して触覚提示信号を補正した信号が、触覚出力信号となる。すなわち、触覚提示信号を補正することで、触覚出力信号が生成される。
【００８２】
補正情報は、触覚提示信号を補正するための情報であり、例えば上記した質量データ等に基づいて算出される。補正情報としては、例えば触覚提示信号により表される振幅や周波数成分を補正する割合（倍率等）や補正量が算出される。また例えば、アタッチメント２０の種類等に応じて設定されたデフォルトの補正量等が補正情報として用いられてもよい。以下では、補正情報に基づいて触覚提示信号を補正することを、単に触覚提示信号を補正すると記載する場合がある。
【００８３】
例えば、アタッチメント情報である質量データを使って補正情報が算出され、補正情報を使って触覚提示信号が補正される。すなわち、アタッチメント２０の質量に応じて、ボイスコイルモータ１７の振動波形（触覚提示信号）が補正された触覚出力信号が生成される。生成された触覚出力信号は、通信ユニット３１の送信部３５を介してゲームコントローラ１０に送信される。そしてボイスコイルモータ１７の駆動源により、触覚出力信号をもとに駆動信号（電圧信号）が生成され、ボイスコイルモータ１７のコイル５４に印加される。これにより、ボイスコイルモータ１７の駆動制御を実行することが可能となる。
【００８４】
典型的には、ボイスコイルモータ１７に印加される駆動信号は、触覚出力信号と同様の波形を持った信号となる。従って、振動データ処理部３９は、本来の振動波形（触覚提示信号）を補正することで、駆動信号等の波形を制御し、ボイスコイルモータ１７の振動を制御するとも言える。補正情報を算出する方法や触覚提示信号を補正する方法については、後に詳しく説明する。
【００８５】
撮像ユニット５０は、ゲームコントローラ１０（アタッチメント２０）を使用するユーザ１を撮影する。撮影されたユーザ１の画像は、ゲーム機本体３０に適宜出力され、ユーザ１のモーションキャプチャー処理等に用いられる。なお撮像ユニット５０を用いることなく、進行可能なゲームコンテンツ等がプレイされる場合もあり得る。このような場合であっても、本技術は適用可能である。
【００８６】
撮像ユニット５０としては、例えばＣＭＯＳ（Complementary Metal-Oxide Semiconductor）センサやＣＣＤ（Charge Coupled Device）センサ等のイメージセンサを備えるデジタルカメラが用いられる。また例えば、撮像ユニット５０として、ＴＯＦ（Time of Flight）カメラやステレオカメラ等の距離センサ等が用いられてもよい。
【００８７】
表示ユニット５１は、例えばコンテンツ処理部３８により生成された画像を表示する。図１に示す例では、表示ユニット５１として据え置き型のディスプレイが模式的に図示されている。表示ユニット５１の具体的な構成は限定されない。例えば表示ユニット５１として、没入型やシースルー型のＨＭＤ（Head Mount Display）等が用いられてもよい。
【００８８】
［ボイスコイルモータの振動モデル］
図６は、ボイスコイルモータ１７が接続された振動系の振動モデルを示す模式図である。以下では、図６に示す振動モデル６０を参照して、ボイスコイルモータ１７の振動特性について説明する。
【００８９】
振動モデル６０（振動系）は、振動子５２と、ばね部６１と、ダンパー部６２と、加振対象６３とを含む。振動子５２は、ボイスコイルモータ１７の振動子５２（図４参照）であり、所定の方向に往復運動する質量体（振動体）である。ボイスコイルモータ１７では、この振動子５２に対して所定の方向に沿って加振力Ｆ（図中の矢印）が作用することで、振動子５２が振動する。
【００９０】
ばね部６１は、振動子５２と固定子５３（ゲームコントローラ１０の筐体１３）とを接続する弾性体である。ダンパー部６２は、振動子５２の振動を減衰させる減衰力を発生する要素である。振動モデル６０では、図６に示すように、ばね部６１及びダンパー部６２が、振動子５２と加振対象６３との間に並列に配置される。言い換えれば、振動子５２と加振対象６３とは、並列に配置されたばね部６１及びダンパー部６２により接続される。
【００９１】
加振対象６３は、ボイスコイルモータ１７により加振される対象である。例えばアタッチメント２０が装着されている場合、ゲームコントローラ１０及びアタッチメント２０（複合コントローラ２１）から、振動子５２を除いた部分が加振対象６３となる。以下では、振動子５２の質量をｍ、加振対象６３の質量をＭと記載する。またばね部６１のばね係数をｋ、ダンパー部６２のダンパー係数をｃと記載する。
【００９２】
図７は、ボイスコイルモータ１７が接続された振動系の振動特性の一例を示すグラフである。グラフの横軸は、ボイスコイルモータ１７の駆動周波数ｆ（Ｈｚ）であり、例えば振動子５２の振動周期である。グラフの縦軸は、加振対象６３に発生する加速度ａ（Ｇ）である。図７には、例えば振幅が一定の駆動信号（Ｓｉｎ波等）を用いてボイスコイルモータ１７を駆動した場合に、駆動信号の各周期で加振対象６３に発生する加速度ａが示されている。以下では、加振対象６３に発生する加速度ａを発生加速度ａと記載する。
【００９３】
ボイスコイルモータ１７は、振動系に応じて図７に示すように特定の共振周波数ｆ0を有する。例えば、共振周波数ｆ0においてボイスコイルモータ１７の駆動を行うことで、最大の振動加速度を発生可能である。すなわち、駆動信号の振幅が一定である場合、駆動信号の周期を共振周波数ｆ0に設定することで、加振対象６３に発生する発生加速度ａを最大化することが可能である。
【００９４】
例えばゲーム設計者は、体感の強い振動コンテンツを提示した場合等には、共振周波数ｆ0の成分を多く含む触覚提示信号を生成してボイスコイルモータ１７を振動させる。これにより、例えば迫力のある銃の発射感覚の提示等を行うことが可能となる。このように、ボイスコイルモータ１７（アクチュエータ）の周波数特性を考慮したゲームデザインを行うことで、優れたアミューズメント性を発揮することが可能となる。
【００９５】
例えば図１や図５に示すように、ボイスコイルモータ１７を搭載したゲームコントローラ１０に、機能拡張等のためのアタッチメント２０が装着されると、振動系における振動の周波数特性が変化する。周波数特性の変化の要因として、例えば以下の２つの要因が考えられる。
【００９６】
１つ目の要因として、ボイスコイルモータ１７により加振される質量が増加することによる発生加速度ａの低下が挙げられる。例えばゲームコントローラ１０にアタッチメント２０を装着することで、ボイスコイルモータ１７の加振対象６３の質量Ｍが増加する。この質量Ｍの増加に伴い、加振対象６３に発生する発生加速度ａが低下する。
【００９７】
ボイスコイルモータ１７の振動子５２の質量ｍを除いたゲームコントローラ１０の質量をＭ１とし、アタッチメント２０の質量をＭ２とする。例えばアタッチメント２０が装着されていない場合、加振対象６３の質量はＭ＝Ｍ１である。また例えば、アタッチメント２０が装着された場合、加振対象６３の質量はＭ＝Ｍ１＋Ｍ２である。なお、振動系（ゲームコントローラ１０及びアタッチメント２０）の全体の質量はＭ＋ｍとなる。
【００９８】
加振対象６３には、ボイスコイルモータ１７の加振力Ｆにより、Ｆ＝Ｍ・ａの関係を満たすように発生加速度ａが生じる。従って、アタッチメント２０が装着された場合、発生加速度ａは以下の式で表される。
ａ＝Ｆ／Ｍ＝Ｆ／（Ｍ１＋Ｍ２）            （１）
【００９９】
（１）式に示すように、加振される質量Ｍの増加に対して、発生加速度ａは概ね反比例の関係となる。すなわち、ゲームコントローラ１０単体を加振する場合（Ｍ＝Ｍ１）と比べて、アタッチメント２０が装着された場合（Ｍ＝Ｍ１＋Ｍ２）には、発生加速度ａは、質量Ｍの増加分（Ｍ２）におおよそ反比例して減少する。
【０１００】
このように、アタッチメント２０が装着されて加振対象６３の質量が増加することで、ボイスコイルモータ１７により発生する発生加速度ａは減少する。なお、実際には、以下で説明する共振周波数ｆ0の変化によって、ボイスコイルモータ１７の加振力Ｆも変化する。このため、発生加速度ａと各質量との関係は、より複雑な関係となる
【０１０１】
２つ目の要因として、ボイスコイルモータ１７により加振される質量が増加することによる振動系の共振周波数ｆ0の低下が挙げられる。例えばアタッチメント２０を装着することで、発生加速度ａが最大となる共振周波数ｆ0（図７参照）が、低周波数側にシフトする。
【０１０２】
ボイスコイルモータ１７により加振される振動系の共振周波数ｆ0は、図６に示すばね部６１のばね係数ｋを用いて、以下の式で表される。
ｆ0＝ｓｑｒｔ（ｋ／Ｍ'）＝（ｋ／Ｍ'）^（１／２）            （２）
【０１０３】
ここで、Ｍ'は、換算質量と呼ばれるパラメータであり、Ｍ'＝（ｍ・Ｍ）／（ｍ＋Ｍ）で表される。なお、（２）式では、振動を減衰させるダンパー部６２により加えられる減衰力の影響は無視されており、ダンパー係数ｃ等を含まない式となっている。
【０１０４】
図８は、加振対象６３の質量Ｍと振動系の共振周波数ｆ0との関係の一例を示すグラフである。グラフの横軸は、加振対象６３の質量Ｍ（ｋｇ）であり、グラフの縦軸は、振動系の共振周波数ｆ0（Ｈｚ）である。図８には、上記した（２）式に基づいて算出された共振周波数ｆ0の質量Ｍに対する特性が示されている。なお、振動子５２の質量ｍは０．０３ｋｇに設定され、ばね部６１のばね係数ｋは２６００Ｎ／ｍに設定されている。
【０１０５】
例えば振動子５２の質量ｍが加振対象６３の質量Ｍに対して十分小さい場合には、換算質量Ｍ'は、質量Ｍの増加に対して略一定値と見做すことができる。一方で、ゲームコントローラ１０に大きな発生加速度ａを得るために、振動子５２の質量ｍを大きく設定する場合があり得る。このような場合、振動子５２の質量ｍは無視できなくなる。この結果、例えば図８のグラフに示すように、加振対象６３の質量Ｍの増加に対して、共振周波数ｆ0が減少することになる。
【０１０６】
例えば、振動子５２を除いたゲームコントローラ１０の質量Ｍ１が０．１ｋｇの場合、ゲームコントローラ１０単体での共振周波数ｆ0はおよそ５３．４Ｈｚとなる。このゲームコントローラ１０にアタッチメント２０が装着されるとする。アタッチメント２０の質量Ｍ２が０．１ｋｇの場合、加振対象６３の質量Ｍは０．２ｋｇとなる。この場合、アタッチメント２０が装着されたゲームコントローラ１０での共振周波数ｆ0はおよそ５０．２Ｈｚとなる。すなわち、この振動系では、０．１ｋｇのアタッチメント２０を追加することで、共振周波数ｆ0が約３Ｈｚ低下することになる。
【０１０７】
このように、ボイスコイルモータ１７を搭載したゲームコントローラ１０へのアタッチメント２０の接続によって、ゲームコントローラ１０＋アタッチメント２０の系の振動特性が変化する。すなわち、加振される質量Ｍが増加することにより発生加速度ａが低下する。発生加速度ａは、（１）式に示すように質量Ｍの増加に対して概ね反比例の関係となる。また振動系の変化により共振周波数ｆ0が変化する。系としての共振周波数ｆ0は、（２）式に示すように、加振される質量Ｍが大きくなるほど低下する。
【０１０８】
図９は、アタッチメント２０の装着前後での発生加速度ａと入力電圧Ｖとの関係を示すグラフである。図９の上のグラフは、ボイスコイルモータ１７を駆動する駆動信号２（入力電圧）と、加振対象６３に発生する発生加速度ａとの時間変化が示されている。グラフの横軸は時間（ｓ）である。また左側及び右側の縦軸は、それぞれ駆動信号２（Ｖ）及び発生加速度ａ（Ｇ）の各タイミングでの実効値（二乗平均平方根：ｒｍｓ）である。
【０１０９】
例えば振動により発生する加速度は、振動周期に応じて向きが変化し、加速度の符号が絶えず入れ替わる。従って、図９の上のグラフでは、発生加速度ａの所定期間内での実効値をプロットすることで、発生加速度ａの大きさが示されている。なお、発生加速度ａ及び駆動信号２は、ともに所定の基準レベル（図中の荒い波線）を基準にプロットされるように適宜調整されている。
【０１１０】
図９の上のグラフでは、あるタイミングＴ0でゲームコントローラ１０にアタッチメント２０が装着される。すなわち、時刻Ｔ＜Ｔ0である期間では、ゲームコントローラ１０単体が加振され、時刻Ｔ≧Ｔ0である期間では、アタッチメント２０が装着されたゲームコントローラ１０（複合コントローラ２１）が加振される。なお、図９では、アタッチメント２０の装着の前後で、駆動信号２の補正、すなわち触覚提示信号の補正等は行われていないものとする。
【０１１１】
例えば、駆動信号２の実効値（強度）は、ゲームコンテンツの進行に合わせて適宜設定されるため、ランダムな時間変化を示す。図９の上のグラフには、駆動信号２の実効値が基準レベルを中心にランダムに変化する様子が示されている。なお、駆動信号２（触覚提示信号）の補正等が実行されないため、アタッチメント２０の装着後も、駆動信号２の実効値が取り得る値の範囲（ランダムな変化の範囲）等は変わらず、装着前と同様の振動制御が実行される。
【０１１２】
駆動信号２によりボイスコイルモータ１７が駆動されることで、発生加速度ａが発生する。従って、発生加速度ａの実効値の波形は、駆動信号２の実効値の波形と類似した波形となる。なお発生加速度ａは、アタッチメント２０が装着されていない期間（Ｔ＜Ｔ0）では、主に基準レベルよりも高い範囲で変化している。これに対し、アタッチメント２０が装着されている期間（Ｔ≧Ｔ0）では、発生加速度ａが変化する範囲が、基準レベルよりも低い範囲側にシフトする。すなわち、アタッチメント２０が装着されることで、発生加速度ａのレベルが低下する。
【０１１３】
図９の下のグラフは、図９の上のグラフにおける発生加速度ａと駆動信号２との比率（発生加速度ａ／駆動信号２）を示すグラフである。この比率は、振動系において駆動信号２が加速度に変換される割合であるとも言える。
【０１１４】
例えばアタッチメント２０が装着される前の時点では、発生加速度ａと駆動信号２との比率は、おおよそ一定の値となる。なお、ユーザ１の把持力等が変化することにより、振動系の振動条件等が変化する場合があり得る。このような場合、発生加速度ａと駆動信号２との比率は、多少変動する可能性がある。
【０１１５】
またアタッチメント２０が装着されると、装着前に比べ発生加速度ａが低下する。このため、発生加速度ａと駆動信号２との比率も低下し、アタッチメント２０の質量等に応じた所定のレベルに収束する。このように、駆動信号２（触覚提示信号）のレベルを制御しない場合、ゲームコントローラ１０にアタッチメント２０が装着されることで、発生加速度ａが低下する恐れがある。
【０１１６】
［触覚提示信号の補正処理］
図１０は、触覚提示信号の補正処理の一例を示すフローチャートである。図１０に示すフローチャートは、例えばゲーム機本体３０の動作中に繰り返し実行されるループ処理である。例えば、ゲーム機本体３０の起動やゲームコンテンツの開始と同時に、ループ処理が開始される。あるいは、ユーザ１により触覚提示信号の補正を実行するモード等が選択された場合に、ループ処理が開始されてもよい。
【０１１７】
アタッチメント２０が装着されているか否かが判定される（ステップ１０１）。例えばゲームコントローラ１０と通信可能なアタッチメント２０が装着されたとする。この場合、ゲームコントローラ１０は、アタッチメント２０との通信が確立された旨の確認信号をゲーム機本体３０（受信部３４）に送信する。この確認信号が受信されることで、アタッチメント２０が装着されたことを判定することが可能である。
【０１１８】
また例えば、表示ユニット５１に所定のシステムＵＩ（User Interface）を表示し、当該システムＵＩからユーザ１自身がアタッチメント２０の機種選択を行うようにしてもよい。すなわち、ユーザ１自身が、アタッチメント２０が装着されたことを明示的に入力可能な構成が採用されてもよい。例えばアタッチメント２０の機種選択が行われた場合に、アタッチメント２０が装着されたと判定される。
【０１１９】
また例えば、ゲームコントローラ１０に発生する発生加速度ａの検出結果に基づいて、アタッチメント２０の装着の有無が判定されてもよい。この場合、ゲームコントローラ１０に搭載された加速度センサ１６の検出結果（加速度データ）が、ゲーム機本体３０に送信される。そして振動データ処理部３９により、加速度データが解析され、アタッチメント２０が装着されたか否かが判定される。
【０１２０】
図１１は、加速度データの解析の一例を説明するためのグラフである。図１１には、図９の下のグラフと同様のグラフが示されている。振動データ処理部３９は、例えば発生加速度ａと駆動信号２（入力電圧）との比率について、所定の期間内での時間平均値を算出する。平均値を算出する期間等は限定されず、例えば発生加速度ａの検出精度やノイズレベル等に応じて適宜設定されてよい。
【０１２１】
図１１には、時間平均値が算出された５つの期間Ｔａ〜Ｔｅが、矢印を用いて模式的に図示されている。期間Ｔａ〜Ｔｅは、例えば時間範囲が重ならないようにこの順番で連続して設定された期間である。図１１に示す例では、期間Ｔｃの間にアタッチメント２０が装着される。従って、期間Ｔａ及びＴｂでは、アタッチメント２０が装着される前の時間平均値が算出され、期間Ｔｄ及びＴｅでは、アタッチメント２０が装着された後の時間平均値が算出される。期間Ｔａ〜Ｔｅで算出される時間平均値は、それぞれ、１．１８、１．２、１．０、０．６、及び０．５８である。
【０１２２】
振動データ処理部３９では、例えば発生加速度ａと駆動信号２との比率の時間平均値が大きく変化し、収束したタイミングでアタッチメント２０の追加があったことが判定される。例えば、時間平均値が所定の閾値を超えて減少し、その後時間平均値のレベルが戻らなかった場合等にアタッチメント２０が装着されたと判定される。図１１では、例えば期間ＴｃあるいはＴｄにおいて時間平均値の減少が検出され、期間Ｔｅにおいてアタッチメント２０が装着されたと判定される。これにより、アタッチメント２０の装着の有無を確実に判定することが可能となる。
【０１２３】
図１０に戻り、アタッチメント２０が装着されていると判定された場合（ステップ１０１のＹｅｓ）、アタッチメント２０の機器情報が取得され、質量データベース３７にアタッチメント２０の質量Ｍ２を問い合わせる処理が実行される（ステップ１０２）。
【０１２４】
例えば、ゲームコントローラ１０と通信可能なアタッチメント２０が接続された場合、ゲームコントローラ１０の拡張端子から得られる接続中のアタッチメント２０の機器情報が、ゲーム機本体３０の受信部３４に送信される。そして振動データ処理部３９により、質量データベース３７が参照され、機器情報に含まれる形式や型番に対応するアタッチメント２０の質量Ｍ２を問い合わせる処理が実行される。
【０１２５】
また、システムＵＩを介してユーザ１によりアタッチメント２０の機種が選択されている場合等には、選択された機種情報に基づいて、質量データベース３７が参照される。また質量データベース３７を参照する場合に限定されず、例えばゲーム機本体３０が通信ユニット３１を介して接続可能な所定のネットワークに接続された外部のデータベース等が適宜参照されてもよい。なお、図１１を参照して説明したように、発生加速度ａ等に基づいて、アタッチメント２０の装着が判定された場合には、質量Ｍ２を問い合わせる処理等は実行されない。
【０１２６】
アタッチメント２０が装着されていないと判定された場合（ステップ１０１のＮｏ）、アタッチメント２０の質量Ｍ２の問い合わせ等は実行されずステップ１０３が実行される。
【０１２７】
ステップ１０３では、アタッチメント２０の質量Ｍ２の情報（質量データ）が存在するか否かが判定される。アタッチメント２０の質量データが存在する場合（ステップ１０３のＹｅｓ）、アタッチメント２０の質量データが読み込まれ、質量Ｍ２の値が設定される（ステップ１０４）。
【０１２８】
例えば、質量データベース３７等に機器情報に該当するアタッチメント２０が存在する場合、振動データ処理部３９により、アタッチメント２０の質量データが読み込まれ、アタッチメント２０の質量Ｍ２が設定される。このように、振動データ処理部３９により、アタッチメント２０の機器情報に基づいて、質量データが取得される。これにより、アタッチメント２０の質量Ｍ２を容易かつ精度よく取得することが可能となる。
【０１２９】
また例えば、ユーザ１によりアタッチメント２０の機種が選択される場合等には、選択された機種の質量データが質量データベース３７等から読み込まれる。このように、振動データ処理部３９により、ユーザ１により入力された入力情報に基づいて、質量データが取得されてもよい。これにより、例えば機器情報を供給しないアタッチメント２０（追加バッテリや接続端子を持たないアタッチメント２０等）が用いられる場合であっても、アタッチメント２０の質量Ｍ２を適正に設定することが可能となる。
【０１３０】
なお、アタッチメント２０が非純正品である等の理由で、アタッチメント２０の質量データが取得できない状況等も考えられる。このような場合、後述するステップ１０５により、アタッチメント２０の質量Ｍ２を推定する処理が実行される。あるいは、上記したようにアタッチメント２０が接続されたこと自体は、ユーザ１のＵＩ操作等によって認識し、質量Ｍ２としてはデフォルトの質量（例えば１００ｇ等）が設定されてもよい。例えばこのような処理も可能である。
【０１３１】
アタッチメント２０の質量データが存在しない場合（ステップ１０３のＮｏ）、アタッチメント２０の質量Ｍ２を推定する処理が実行される（ステップ１０５）。以下では、質量Ｍ２を推定する処理をＭ２推定プログラムと記載する。
【０１３２】
Ｍ２推定プログラムでは、振動データ処理部３９により、加速度センサ１６の検出結果に基づいて、質量データが算出される。すなわち、ゲームコントローラ１０内の加速度センサ１６を使って、アタッチメント２０の質量Ｍ２が推定される。
【０１３３】
本実施形態では、アタッチメント２０が装着されていない状態で、ゲームコントローラ１０単体を振動させた場合のテストデータが予め記憶される。具体的には、ボイスコイルモータ１７を振動させるテスト信号の波形（テスト波形）のパラメータと、テスト信号に応じて振動した場合にゲームコントローラ１０単体に発生する発生加速度ａ（以下、装着前加速度と記載する）とが、テストデータとして記憶される。
【０１３４】
テスト信号は、質量Ｍ２を推定するための信号である。テスト信号のテスト波形は、例えばＳｉｎ波形や三角波形等の任意の波形が用いられる。テスト波形の形状・周期・振幅等は限定されない。装着前加速度は、例えば商品出荷前に適宜測定される。この場合、ゲームコントローラ１０ごとに装着前加速度が測定されてもよい。これにより、ゲームコントローラ１０の固体差の影響を抑制することが可能となる。あるいは、同じ機種のゲームコントローラ１０に対して、同一の装着前加速度が設定されてもよい。
【０１３５】
これらのテストデータ（テスト波形及び装着前加速度）は、例えばゲームコントローラ１０内のメモリ等に記憶され、商品出荷時にシステムとして既知の値となる。この他、テストデータを記憶する方法やタイミング等は限定されない。例えばＭ２推定プログラムが実行される前の任意のタイミングで装着前加速度を検出して記憶するといった処理が実行されてもよい。本実施形態では、テスト信号は、所定の振動信号に相当し、装着前加速度は、第２の加速度に相当する。
【０１３６】
Ｍ２推定プログラムでは、アタッチメント２０の接続が検出された場合に、質量Ｍ２の算出のために、振動データ処理部３９により、テスト波形の電圧信号（テスト信号）がボイスコイルモータ１７に印加される。すなわち、振動データ処理部３９は、ボイスコイルモータ１７をテスト波形で振動させる。
【０１３７】
この時、ゲームコントローラ１０に発生する発生加速度ａ（以下、装着後加速度と記載する）が加速度センサ１６により検出される。従って、加速度センサ１６は、テスト信号に応じてアタッチメント２０が装着されたゲームコントローラ１０に発生する装着後加速度を検出する。本実施形態では、装着後加速度は第１の加速度に相当する。
【０１３８】
また振動データ処理部３９により、予め記憶されているテストデータが参照され、テスト信号に応じてアタッチメント２０が装着されていないゲームコントローラ１０に発生する装着前加速度が取得される。そして、装着後加速度及び装着前加速度に基づいて、質量データが算出される。
【０１３９】
本実施形態では、発生加速度ａと加振対象６３の質量との間の（１）式の反比例関係に従って、アタッチメント２０の装着前後での加振対象６３の質量の増加分、すなわちアタッチメント２０の質量Ｍ２が算出される。なお、アタッチメント２０の装着の前後において、テスト波形を印加することでボイスコイルモータ１７に発生する加振力Ｆは略一定であると仮定する。以下、具体的に説明する。
【０１４０】
例えば、アタッチメント２０が装着されていない状態で、ボイスコイルモータ１７に６Ｖｐｐの電圧（テスト信号）を印可した際に、ゲームコントローラ１０単体に発生する装着前加速度が３Ｇｐｐだったとする。なおＶｐｐ及びＧｐｐとは、例えばテスト波形及び加速度における最小値から最大値までの最大振幅である。
【０１４１】
またアタッチメント２０が装着された状態で、ボイスコイルモータ１７に装着前と同様の６Ｖｐｐの電圧（テスト信号）が印加され、２Ｇｐｐの装着後加速度が検出されたとする。すなわち、アタッチメント２０の装着により加振対象６３の質量が増加して、装着前加速度３Ｇｐｐから、装着後加速度２Ｇｐｐに発生加速度ａが減少したとする。
【０１４２】
この場合、（１）式より、ボイスコイルモータ１７が加振する加振対象６３の質量は、アタッチメント２０の装着後に１．５倍に増加したことになる。すなわち、アタッチメント２０の装着後の加振対象６３の質量Ｍ１＋Ｍ２は、１．５×Ｍ１となる。従って、アタッチメント２０の質量Ｍ２は、Ｍ２＝０．５×Ｍ１と算出される。
【０１４３】
このように、アタッチメント２０の装着の前後で、テスト波形により発生する加速度をそれぞれ検出することで、アタッチメント２０の質量データ（質量Ｍ２）が推定される。これにより、例えば任意のアタッチメント２０に対してその質量Ｍ２を精度よく算出することが可能となる。
【０１４４】
なお、ユーザ１がゲームコントローラ１０を把持している場合には、ユーザ１の把持力の大きさによって、コントローラの実質質量が変化することが考えられる。例えば把持力の強さに応じて、コントローラが揺れにくくなり、実質質量が増加する場合があり得る。
【０１４５】
そのため、上記したように、発生加速度ａからアタッチメント２０の質量Ｍ２を推測する処理（Ｍ２推定プログラム）は、ユーザ１が手を離している非把持の状態で行うことが望ましい。これにより、ユーザ１の把持力による実質質量の増加による影響等を回避して、アタッチメント２０の質量Ｍ２を精度よく推定することが可能となる。
【０１４６】
また、ユーザ１が手を離して複合コントローラ２１（ゲームコントローラ１０及びアタッチメント２０）が硬い机の上等に置かれたとする。この場合、複合コントローラ２１が振動する際には、机との間で接触・非接触を繰り返すことが考えられる。この結果、例えばＳｉｎ波形等のテスト信号の電圧入力に対して、ノイズ成分を多く含む加速度出力が検出される可能性があり得る。
【０１４７】
そのため、例えばテスト信号と発生加速度ａとの相関を見て、両者が同様の波形になっている場合に、アタッチメント２０の質量Ｍ２を推測することが望ましい。このような状態は、例えば、複合コントローラ２１がソファやカーペット等の柔らかい面の上に置かれている場合に実現される。これにより、加速度センサ１６は、テスト信号に応じた加速度を精度よく検出することが可能となり、例えば質量Ｍ２の推測精度を向上することが可能である。
【０１４８】
例えば、Ｍ２推定プログラムの推定処理を実行する際に、ユーザ１に対して、複合コントローラ２１から手を離し、複合コントローラ２１を柔らかい面に載置する旨を伝えるメッセージ（音声や画像等）が提示される。これにより、Ｍ２推定プログラムを精度よく実行することが可能である。もちろん、ユーザ１が複合コントローラ２１を持った状態で、Ｍ２推定プログラムが実行されてもよい。
【０１４９】
また、Ｍ２推定プログラムとして、テスト信号を用いた振動を発生させることなく、アタッチメント２０の質量Ｍ２を推定する処理が実行されてもよい。この場合、振動データ処理部３９は、加速度センサ１６により検出される加速度の時間変化に基づいて、質量データを算出する。
【０１５０】
例えば、図１１を参照して説明したように、アタッチメント２０の装着の前後では、発生加速度ａと駆動信号２との比率が大きく変化する。例えば、アタッチメント２０が装着されていない期間Ｔａでは、発生加速度ａと駆動信号２との比率（発生加速度ａ／駆動信号２）の時間平均値は１．１８である。またアタッチメント２０が装着されている期間Ｔｅでは、時間平均値は０．５８である。
【０１５１】
これは、例えば同レベルの駆動信号２に対して、アタッチメント２０の装着の前後で、複合コントローラ２１に発生する発生加速度ａのレベルが１．１８から０．５８に低下した状態であるとも言える。従って、アタッチメント２０を装着する前の発生加速度ａ0に対する、アタッチメント２０を装着した後の発生加速度ａ1の減少率α＝（ａ1／ａ0）は、０．５８／１．１８≒１／２となる。
【０１５２】
また（１）式より、アタッチメント２０の装着の前後での発生加速度ａ0及びａ1は、それぞれ、ａ0＝Ｆ／Ｍ１、ａ1＝Ｆ／（Ｍ１＋Ｍ２）と表される。従って、減少率αは、以下の式で表される。
α＝ａ1／ａ0＝Ｍ１／（Ｍ１＋Ｍ２）            （３）
【０１５３】
上記したように、図１１に示す例では、α≒１／２となる。すなわち、（Ｍ１＋Ｍ２）≒２×Ｍ１となり、アタッチメント２０の装着後の質量Ｍ１＋Ｍ２が、装着前の２倍に増加したことが分かる。この場合、装着されたアタッチメント２０の質量Ｍ２（質量の増加分）は、Ｍ２≒Ｍ１と推定される。
【０１５４】
この他、Ｍ２推定プログラムの具体的な処理等は限定されない。例えばアタッチメント２０の質量Ｍ２を推定可能な任意の処理が実行されてよい。Ｍ２推定プログラムによる推定処理が終了すると、ステップ１０４が実行され、推定結果が質量Ｍ２の値として設定される。
【０１５５】
アタッチメント２０の質量Ｍ２が設定されると、コンテンツ処理部３８により、ゲームコンテンツの進行状況に応じたボイスコイルモータ１７用の触覚提示信号が生成され、振動データ処理部３９に出力される（ステップ１０６）。
【０１５６】
図２を参照して説明したように、コンテンツ処理部３８は、所定の触覚を提示する触覚提示信号を生成する。例えば、ゲームコンテンツの進行に応じて、所定の触覚を提示するように設計された振動波形のデータが適宜読み込まれて触覚提示信号が生成される。あるいは、ゲームコンテンツの進行に合わせた触覚提示信号が直接生成されてもよい。
【０１５７】
例えばゲームコンテンツにおいて、弾丸等が発射された時の触覚や、ダメージを受けたときの触覚等を提示するように、触覚提示信号が設計される。なお触覚提示信号は、例えばゲームコントローラ１０が単体で用いられる場合を想定して設計される。従ってコンテンツ処理部３８は、ゲームコントローラ１０が単体で用いられる場合のボイスコイルモータ１７の制御値（入力値）を生成するとも言える。生成された触覚提示信号は、振動データ処理部３９により適宜取得される。
【０１５８】
触覚提示信号が取得されると、アタッチメント２０が装着されているか否かが判定される（ステップ１０７）。図１０に示すように、この判定処理は、ステップ１０３〜１０９までのループ処理の中で、アタッチメント２０が装着されているか否かを判定する処理となる。
【０１５９】
アタッチメント２０の装着の有無の判定は、例えばステップ１０１で説明した処理と同様に実行される。アタッチメント２０が装着されていると判定された場合（ステップ１０７のＹｅｓ）、触覚提示信号が補正され、触覚出力信号が生成される（ステップ１０８）。
【０１６０】
図１２は、補正された触覚提示信号の一例を示すグラフである。図１２Ａ〜図１２Ｃには、コンテンツ処理部３８により生成された触覚提示信号３（点線）と、触覚提示信号３が補正された触覚出力信号４（実線）とがプロットされている。なお触覚提示信号３は、一例としてＳｉｎ波形で示されているが、触覚提示信号３の波形に係らず、本技術は適用可能である。
【０１６１】
（１）式、及び（２）式を参照して説明したように、アタッチメント２０が装着されることで、ボイスコイルモータ１７を含む振動系の振動特性が変化する。本実施形態では、このような振動特性の変化に対して、アタッチメント２０の装着前と略同様の振動が実現されるように、触覚提示信号３が補正される。具体的には、質量データ等のアタッチメント情報に基づいて、触覚提示信号３により表される振幅及び周波数成分との少なくとも一方に関する補正情報が生成される。そして補正情報に基づいて触覚提示信号３が補正され、触覚出力信号４が生成される。
【０１６２】
図１２Ａには、触覚提示信号３の振幅を補正して算出された触覚出力信号４の一例を示すグラフが示されている。以下では、触覚提示信号３の振幅を補正する処理について説明する。
【０１６３】
一般に加振対象６３に作用する加振力Ｆは、振動子５２の振幅（変位量）Ｘと、ばね定数ｋを用いて、Ｆ＝ｋ×Ｘと表される。従って（１）式より、発生加速度ａ＝ｋＸ／Ｍとなる。この振動子５２の振幅Ｘは、触覚提示信号３の振幅を調整することで制御可能である。すなわち、触覚提示信号３の振幅を補正することで、発生加速度ａの大きさを制御することが可能である。
【０１６４】
本実施形態では、アタッチメント２０の装着後の発生加速度ａ1が、アタッチメント２０の装着前の発生加速度ａ0と略等しくなるように触覚提示信号３の振幅が補正される。まず、（１）式に基づいて導出された（３）式に示す発生加速度ａの減少率αが算出される。
【０１６５】
例えば、振動子５２を除いたゲームコントローラ１０の質量Ｍ１（既定値）と、アタッチメント２０の質量Ｍ２（質量データ）とを用いて、減少率α＝Ｍ１／（Ｍ１＋Ｍ２）が算出される。すなわち、質量データに基づいて、ボイスコイルモータ１７の振動によりゲームコントローラ１０に発生する加速度の、アタッチメント２０の装着に伴う減少率αが算出される。本実施形態では、減少率αは、変化率に相当する。
【０１６６】
算出された減少率αの逆数が、触覚提示信号３の振幅に乗算され。触覚提示信号３の振幅が補正される。この場合、減少率αの逆数は、触覚提示信号３の振幅に関する補正情報となる。この処理は、振動子５２の振幅Ｘに１／α＝（Ｍ１＋Ｍ２）／Ｍ１を乗算することに相当する。このように、本実施形態では、振動データ処理部３９により、加速度の減少率αに基づいて、触覚提示信号３の振幅を補正される。
【０１６７】
この結果、ゲームコントローラ１０及びアタッチメント２０の発生加速度ａ2は、ａ2＝ｋＸ／α／（Ｍ１＋Ｍ２）＝ｋＸ／Ｍ１となる。すなわち、振幅が補正された触覚提示信号３に応じて発生する発生加速度ａ2は、アタッチメント２０の装着前の発生加速度ａ0と等しくなる。
【０１６８】
例えば、図１１を参照して説明した例では、アタッチメント２０の質量Ｍ２≒Ｍ１であり、加速度の減少率α＝１／２である。このような場合、図１２Ａに示すように、触覚出力信号４の振幅は、触覚提示信号３の２倍に補正される。この触覚出力信号４を用いてボイスコイルモータ１７を駆動することで、アタッチメント２０の装着前と略同様の加速度を発生させることが可能となる。この結果、アタッチメント２０の装着前と略同様の振動が提示され、所定の触覚を精度よく提示することが可能となる。
【０１６９】
なお触覚提示信号３の振幅について、最大値等が設定されている場合があり得る。例えば振幅の最大値が１．０に設定されたシステムにおいて、減少率αの逆数と振幅との乗算結果が１．０を超える場合には、乗算結果を適宜補正して、触覚出力信号４の振幅を設定する処理が実行される。
【０１７０】
あるいは、振幅が１．０になったタイミングで波形が崩れて、異音が発生するなどの弊害を避けるために、上記の補正処理を、触覚提示信号３の振幅の大きさに応じて、段階的にかけるような計算をさらに加えて処理してもよい。すなわち、触覚出力信号４の振幅が適正な範囲に収まるように、触覚提示信号３の振幅に応じて、補正量が調整される。例えばこのような処理が可能である。
【０１７１】
また複合コントローラ２１（アタッチメント２０及びゲームコントローラ１０）の発生加速度ａを高める他の方法が併用されてもよい。この場合、振動データ処理部３９により、以下で説明する発生加速度ａを高める各方法に合わせて、触覚提示信号３が適宜補正される。
【０１７２】
例えば、アタッチメント２０内に、振動を増幅させるパッシブラジエータ等が設けられてもよい。パッシブラジエータは、例えば、アタッチメント２０及びゲームコントローラ１０からなる振動系の共振周波数付近の共振周波数を持つように適宜設計される。これにより、無給電で振動量を高めることが可能である。
【０１７３】
また、アタッチメント２０内に他の振動アクチェータ（ボイスコイルモータ等）が搭載されてもよい。この振動アクチュエータを給電して駆動し、振動量を高めることが可能である。なお、このアタッチメント２０内の振動アクチュエータは、ゲームコントローラ１０に対してゲーム機本体３０から送信される触覚出力信号４を拡張端子経由で共有して駆動されてもよい。
【０１７４】
また、アタッチメント２０に大型ＶＣＭが搭載されてもよい。この場合、アタッチメント２０及びゲームコントローラ１０の振動系をアタッチメント２０内の大型ＶＣＭで駆動し、ゲームコントローラ１０内のＶＣＭ（ボイスコイルモータ１７）の駆動を停止する。これにより、ゲームコントローラ１０の電力消費を抑制可能である。このように、アタッチメント２０に搭載される振動アクチュエータや大型ＶＣＭは、ゲームコントローラ１０（触覚提示装置）を加振する振動素子として機能する。
【０１７５】
また、ゲームコントローラ１０の電力消費を抑制するために、アタッチメント２０内のバッテリからゲームコントローラ１０に対して電力が供給されてもよい。また例えば、ゲームコントローラ１０に３．７Ｖのバッテリが搭載され、アタッチメント２０に５．０Ｖのバッテリが搭載されているとする。例えばアタッチメント２０からゲームコントローラ１０に５．０Ｖの電圧を供給することで、ボイスコイルモータ１７に印可される最大電圧を高めることが可能である。これにより、上記した触覚出力信号４の振幅が１．０（最大値）を超えてしまうような場合であっても、最大値を拡張して振動量を補うことが可能である。この結果、所望の加速度を容易に実現することが可能である。
【０１７６】
図１２Ｂには、触覚提示信号３の周波数成分を補正して算出された触覚出力信号４の一例を示すグラフが示されている。以下では、触覚提示信号３の周波数成分を補正する処理について説明する。
【０１７７】
本実施形態では、振動データ処理部３９により、質量データに基づいて、ボイスコイルモータ１７を含む振動系の共振周波数ｆ0の、アタッチメント２０の装着に伴うシフト量が算出される。上記した（２）式を参照して説明したように、振動系の共振周波数ｆ0は、換算質量Ｍ'を用いて表される。
【０１７８】
振動データ処理部３９により、アタッチメント２０の質量Ｍ２（質量データ）に基づいて、アタッチメント２０が装着された振動系での換算質量Ｍ'が算出される。また算出された換算質量Ｍ'を用いて、（２）式に従って、アタッチメント２０が装着された振動系での共振周波数ｆ01が算出される。
【０１７９】
またアタッチメント２０が装着される前の共振周波数ｆ00の値が読みこまれる。そして、アタッチメント２０の装着に伴う共振周波数ｆ0のシフト量Δｆ0＝ｆ00−ｆ01が算出される。この共振周波数のシフト量Δｆ0に基づいて、触覚提示信号３の周波数成分が補正される。この場合、共振周波数のシフト量Δｆ0は、触覚提示信号３の周波数成分に関する補正情報となる。例えば触覚提示信号３に対して、シフト量Δｆ0に応じたピッチシフト等の処理が実行される。なおピッチシフトとは、周波数成分を所定の周波数だけシフトする処理である。
【０１８０】
例えば、アタッチメント２０が装着されていないゲームコントローラ１０単体の振動系でボイスコイルモータ１７の共振周波数ｆ00が５３Ｈｚだったとする。この場合、５３ＨｚのＳｉｎ波が触覚提示信号３として設定することで、最大の加速度（装着前加速度ａ0）を出力することが可能となる。
【０１８１】
またアタッチメント２０の装着により、ゲームコントローラ１０及びアタッチメント２０を含む振動系でボイスコイルモータ１７の共振周波数ｆ01が５０Ｈｚに変化したとする。この場合、５３ＨｚのＳｉｎ波形の触覚提示信号３に対する加速度出力は、元の設計の想定よりも小さくなることが考えられる。
【０１８２】
このため、触覚提示信号３を５３ＨｚのＳｉｎ波形から、５０ＨｚのＳｉｎ波形に変化させるピッチシフトの処理が実行される。すなわち、５３Ｈｚの周波数成分が、５０Ｈｚの周波数成分となるように、触覚提示信号３が補正される。図１２Ｂには、ｆ00＝５３Ｈｚである触覚提示信号３の周期（１／ｆ00）と、ｆ01＝５０Ｈｚである触覚出力信号４の周期（１／ｆ01）とが矢印を用いて模式的に図示されている。
【０１８３】
図１２Ｂに示すように、ピッチシフトの処理では、時間軸における波形全体が拡大されることになる。このように、触覚提示信号３を補正することで、アタッチメント２０が接続された状態であっても、振動系として最大の加速度を出力することが可能である。
【０１８４】
なお、触覚提示信号３が単純なＳｉｎ波形ではなく、広い周波数帯域を含む広帯域信号であった場合にも、同じように触覚提示信号３に対して３Ｈｚのピッチシフトの処理を加えることにより、共振周波数ｆ0の変化による発生加速度の低下を回避することができる。これにより、設計意図にあった振動を実現することが可能となり、所定の触覚を精度よく提示することが可能となる。
【０１８５】
図１２Ｃには、触覚提示信号３の振幅及び周波数成分の両方を補正して算出された触覚出力信号４の一例を示すグラフが示されている。図１２Ｃでは、振動データ処理部３９により、図１２Ａを参照して説明した振幅の補正と、図１２Ｂを参照して説明した周波数成分の補正とがそれぞれ実行される。
【０１８６】
例えば、ピッチシフトの処理により、アタッチメント２０が装着された振動系での最大の加速度が出力されるように、触覚提示信号３の周波数成分が補正される。さらにアタッチメント２０の装着前と略同様の加速度が発生するように、ピッチシフトされた触覚提示信号３の振幅が補正される。これにより、所望の加速度を効率的に発生させることが可能となる。この結果、エネルギー消費を抑制しつつ十分に迫力のある触覚を精度よく提示することが可能である。
【０１８７】
このように、本実施形態では、振動データ処理部３９により、アタッチメント２０が装着されたゲームコントローラ１０の振動が、アタッチメント２０が装着されていないゲームコントローラ１０の振動と略同様となるように、ボイスコイルモータ１７が制御される。これにより、アタッチメント２０の装着の前後で略同様の振動を発生することが可能となる。この結果、触覚の強度低下等が回避され、優れた触覚効果を発揮することが可能となる。
【０１８８】
この他、触覚提示信号３を補正する方法等は限定されない。例えば、装着されたアタッチメント２０の質量Ｍ２等に応じて、ゲームコンテンツで用いられる所定の触覚が再現されるように、触覚提示信号３の振幅及び周波数成分等が適宜補正されてよい。また例えば、ボイスコイルモータ１７が適正に振動可能な範囲に合わせて、触覚提示信号３が補正されてもよい。
【０１８９】
例えば、アタッチメント２０が装着されて振動系の重量が変化することにより、ボイスコイルモータ１７の振動子５２が筐体１３等に機械的に接触する現象（メカ当たり）が起きる可能性がある。すなわち、ボイスコイルモータ１７と筐体１３との機械的な干渉が発生する可能性がある。このようなメカ当たりが発生しないように、触覚提示信号３が補正されてもよい。
【０１９０】
ゲームコントローラ１０には、例えば振動子５２と筐体１３とのメカ当たりを回避するための干渉条件が設定される。干渉条件は、例えば振動子５２と筐体１３との接触が回避されるような、触覚提示信号３の振幅や周波数の限界値を含む条件である。すなわち、ゲームコントローラ１０は、干渉条件で指定される振幅や周波数がメカ当たりを生じない限界値となるように設計されるとも言える。
【０１９１】
例えば、ゲームコントローラ１０単体の共振周波数ｆ00が５３Ｈｚであり、振動子５２と筐体１３との接触が回避される限界の条件（干渉条件）として、周波数５０Ｈｚ、振幅１．０（最大値）のＳｉｎ波形の触覚提示信号３が設定されていたとする。すなわち、この干渉条件は、共振周波数ｆ00よりも３Ｈｚ低い周波数成分では、振幅を最大値にしてもメカ当たりが生じないことを意味する。
【０１９２】
このゲームコントローラ１０にアタッチメント２０が装着され、振動系の共振周波数ｆ01が５０Ｈｚになったとする。このような場合、振動データ処理部３９は、上記したピッチシフトの処理により、例えば５０ＨｚのＳｉｎ波形を有する触覚提示信号３を、４７ＨｚのＳｉｎ波形を有する触覚出力信号４に補正する。すなわち、ゲームコントローラ１０単体での干渉条件に合わせて、アタッチメント２０装着後の共振周波数ｆ01と同様の周波数成分を３Ｈｚ低い周波数成分に補正する処理が実行される。
【０１９３】
このように、振動データ処理部３９は、ボイスコイルモータ１７と筐体１３との機械的な干渉に関する干渉条件に基づいて、触覚提示信号３を補正する。これにより、メカ当たりの問題が回避され、振動子５２と筐体１３との衝突による異音の発生や、不要な振動の発生等を事前に回避することが可能となる。
【０１９４】
図１０に戻り、補正された触覚提示信号３（触覚出力信号４）がゲームコントローラ１０に送信される（ステップ１０９）。すなわち、ステップ１０７でアタッチメント２０が装着されていると判定された場合、ボイスコイルモータ１７を制御するための制御信号として、触覚出力信号４がゲームコントローラ１０に送信される。
【０１９５】
なお、ゲームコンテンツの進行中にアタッチメント２０が取り外される等の理由により、アタッチメント２０が装着されていないと判定された場合（ステップ１０７のＮｏ）、触覚提示信号３の補正処理は実行されない。この場合、ステップ１０９では、コンテンツ処理部３８により生成されたゲームコントローラ１０単体を振動させるための触覚提示信号３が、ボイスコイルモータ１７を制御するための制御信号としてそのまま送信される。
【０１９６】
触覚提示信号３が送信されると、ステップ１０３以降の処理が再度実行される。なお、ステップ１０５において推定されたアタッチメント２０の質量Ｍ２は、例えばアタッチメント２０が取り外されない限り次のループ処理においても触覚提示信号３の補正等に用いられる。これにより、触覚提示信号３を補正するループ処理をスムーズに実行することが可能となる。
【０１９７】
以上、本実施形態に係る制御部３３では、ゲームコントローラ１０を加振するボイスコイルモータ１７が制御される。ボイスコイルモータ１７の制御は、ボイスコイルモータ１７を駆動するための触覚提示信号３と、ゲームコントローラ１０に接触するアタッチメント２０に関するアタッチメント情報とに基づいて実行される。これにより、アタッチメント２０に応じたゲームコントローラ１０の振動制御が可能となり、所望の触覚を提示することが可能となる。
【０１９８】
触覚を提示する装置に機能拡張等のためのアタッチメントを装着した場合、振動系の周波数特性等が変化することが考えられる。例えば、把持型の棒状コントローラに対して、銃の形状を持つアタッチメント等を接続した場合に、当初のゲーム設計者の意図した振動が発生しないといった問題が生じる可能性がある。
【０１９９】
本実施形態では、ゲームコントローラ１０に装着されるアタッチメント２０について、装着の有無や、アタッチメント２０の質量Ｍ２等に関する情報が取得される。そして取得されたアタッチメント２０の情報に基づいて、ボイスコイルモータ１７の触覚提示信号が補正される。
【０２００】
例えば、アタッチメント２０の機器情報に基づいて、アタッチメント２０の質量Ｍ２が読み込まれる。このように、アタッチメント２０の接続状態を検出する仕組みを用いることで、アタッチメント２０の種別に応じて、触覚提示信号３を的確に補正することが可能となる。この結果、所望の加速度を発生させることが可能となり、ユーザ１に対して所望の触覚を精度よく提示することが可能となる。
【０２０１】
また例えば、ゲームコントローラ１０の発生加速度ａに基づいて、アタッチメント２０の質量Ｍ２が推定される。これにより、機器情報や質量等が不明なアタッチメント２０や、ゲームコントローラ１０との通信機能等を持たないアタッチメント２０等が用いられる場合であっても、触覚提示信号３を適正に補正することが可能である。これにより、アタッチメント２０の種類に係らず、所望の触覚を適正に提示することが可能となる。
【０２０２】
また本実施形態では、アタッチメント情報に応じて、触覚提示信号３の振幅や周波数成分が補正される。これにより、触覚提示信号３の波形等に係らず、所望の触覚を高精度に提示することが可能となる。
【０２０３】
ゲームコントローラ１０等におけるＨａｐｔｉｃｓ提示（触覚提示）の機能は、今後さらに一般化・高度化すると見込まれる。本実施形態では、ボイスコイルモータ１７の振動モデルに従って、触覚提示信号３の振幅及び周波数成分を精度よく補正することが可能である。これにより、アタッチメント２０等が装着された場合であっても、詳細な触覚を十分精度よく提示することが可能となり、優れた触覚効果を発揮することが可能である。
【０２０４】
＜第２の実施形態＞
本技術に係る第２の実施形態の触覚提示システムについて説明する。これ以降の説明では、上記の実施形態で説明した触覚提示システム１００における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
【０２０５】
本実施形態では、ユーザ１がゲームコントローラ１０を把持する把持力の増減に応じて、触覚提示信号３を補正する処理が実行される。以下では、ユーザ１がゲームコントローラ１０を単体で使用している場合を例に説明を行う。本実施形態では、ゲームコントローラ１０を把持するユーザ１の手は、触覚提示装置に接触する接触体の一例である。
【０２０６】
ユーザ１がゲームコントローラ１０をつかむ力（把持力）が変化すると、ゲームコントローラ１０が加振される度合いが変化する。例えばユーザ１がゲームコントローラ１０を強く握った場合には、ゲームコントローラ１０が揺れにくくなり、ゲームコントローラ１０に発生する発生加速度ａが低下する。
【０２０７】
このように把持力が増加することで発生加速度ａが低下した状態は、例えば図６に示す物理モデルにおいて、加振対象６３の質量Ｍが実質的に増加した状態であると見做すことが可能である。すなわち、ユーザ１の把持力の変化に伴い、ゲームコントローラ１０単体の実質的な質量（実質質量）が変化するとも言える。把持力の増減の要因としては、例えば、各ユーザの興奮状態等による状況変化や、ユーザ１の交代といった要素が考えられる。
【０２０８】
例えば図９の下のグラフの点線で囲まれた領域５では、アタッチメント２０が装着されていない状態で、ゲームコントローラ１０単体に発生する発生加速度ａと、駆動信号２との比率（発生加速度ａ／駆動信号２）が変化する。このような変化は、ユーザ１がゲームコントローラ１０をつかむ把持力が変化することで生じると考えられる。
【０２０９】
本実施形態では、振動データ処理部３９により、ゲームコントローラ１０を把持するユーザ１の把持力に関する把持力情報が取得される。ここで把持力情報とは、例えばユーザ１の把持力を表すことが可能な情報である。典型的には、把持力の変化を示すデータ等が把持力情報として用いられる。本実施形態では、把持力情報は、接触体情報に相当する。
【０２１０】
上記したようにアタッチメント２０等が装着されていない状態で検出される発生加速度ａと駆動信号２との比率は、把持力の変化を示すデータである。例えば、振動データ処理部３９は、ゲームコントローラ１０の加速度センサ１６により検出された加速度データを適宜受信し、把持力の変化を示すデータとして、生加速度ａと駆動信号２との比率を算出する。このように、振動データ処理部３９では、ゲームコントローラ１０に搭載された加速度センサ１６の検出結果に基づいて、把持力情報が算出される。
【０２１１】
なお、把持力情報の具体的な種類等は限定されない。例えばゲームコントローラ１０の把持部１１（筐体１３）に把持力を検出する圧力センサ等が設けられ、ユーザ１の把持力を直接検出するような構成が採用されてもよい。この他、把持力の変化量等を表すことが可能な任意のデータが適宜用いられてよい。
【０２１２】
把持力情報（発生加速度ａと駆動信号２との比率等）が取得されると、把持力情報に基づいて触覚提示信号３が補正され、補正された触覚提示信号３（触覚出力信号４）に基づいてボイスコイルモータ１７が制御される。例えば、発生加速度ａが低下している場合には、その分ユーザ１が感じる振動が弱くなっている。このため、それを補償するために、触覚提示信号３の振幅を増加する処理や、触覚提示信号３の周波数成分をシフトする処理等（図１２等参照）が実行される。
【０２１３】
触覚提示信号３を補正する方法等は限定されない。例えば発生加速度ａと駆動信号２との比率に基づいて、ユーザ１の把持力の増加によるゲームコントローラ１０の実質質量の増加分が算出される。実質質量の増加分は、第１の実施形態におけるアタッチメント２０の質量Ｍ２に相当する。例えば、この増加分に基づいて、触覚提示信号３の振幅や周波数成分が適宜補正されてもよい。また、発生加速度ａと駆動信号２との比率が所定のレベルに維持されるように、触覚提示信号３（駆動信号２）の振幅や周波数成分を変化させるフィードバック処理等が適宜実行されてもよい。
【０２１４】
このように、本実施形態では、触覚提示信号３とゲームコントローラ１０を把持するユーザ１の把持力に関する把持力情報に基づいて、ゲームコントローラ１０を加振するボイスコイルモータ１７が制御される。ユーザ１がゲームコントローラ１０をつかむ力等が変化した場合であっても、ゲームコントローラ１０を適正に振動させることが可能となり、優れた触覚効果を発揮することが可能となる。
【０２１５】
なお、把持力情報に基づいて駆動信号２を補正する処理は、ゲームコントローラ１０が単体で使用される場合に限定されず、アタッチメント２０が装着されたゲームコントローラ１０（複合コントローラ２１）が使用される場合にも適用可能である。この場合、複合コントローラ２１が、触覚提示装置に相当する。例えば、複合コントローラ２１に発生する発生加速度ａ（装着後加速度ａ1）が所定のレベルに維持されるように、ユーザ１の把持力に応じて触覚提示信号３の振幅や周波数成分が適宜補正される。
【０２１６】
また、アタッチメント２０の装着に伴う触覚提示信号３の補正処理と、ユーザ１の把持力の変化に伴う触覚提示信号３の補正処理とが、両方実行されてもよい。例えばアタッチメント２０の質量Ｍ２等に基づいて補正された触覚提示信号が、ユーザ１の把持力の変化（実質質量の増減）等に基づいて補正される。このような処理が実行されてもよい。
【０２１７】
＜その他の実施形態＞
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
【０２１８】
図１３〜図１５は、触覚提示装置とアタッチメントとの他の一例を示す模式図である。図１３は、両手持ちのゲームコントローラ８０と、そのアタッチメント２０の外観を示す模式図である。図１３Ａには、振動アクチュエータ（ボイスコイルモータ等）を搭載した両手持ちのゲームコントローラ８０が図示されている。この両手持ちのゲームコントローラ８０が、触覚提示装置として機能する。
【０２１９】
ゲームコントローラ８０は、左右の把持部８１を有し、例えば把持部８１の内部に振動アクチュエータが搭載される。ユーザ１は、左右の把持部８１を左手及び右手で把持することで、選択ボタンやアナログスティック等を操作してゲームコンテンツを進行させるための入力操作を行う。また振動アクチュエータが適宜振動することで、ユーザ１の左手及び右手に所定の触覚が提示される。
【０２２０】
図１３Ｂに示すアタッチメント２０ｅは、外部バッテリであり、両手持ちのゲームコントローラ８０の動作時間を延長する。また図１３Ｃに示すアタッチメント２０ｆは、文字入力用の外部キーボードであり、ユーザ１の文字入力等をサポートする。アタッチメント２０ｅ及び２０ｆは、左右の把持部８１の間に装着される。
【０２２１】
例えばアタッチメント２０ｅ及び２０ｆが両手持ちのゲームコントローラ８０と通信可能に構成されている場合には、各アタッチメント２０の機器情報が取得され、各アタッチメント２０の質量がデータベース等から読み込まれる。あるいは、ゲームコントローラ８０に加速度センサ等が搭載されている場合には、各アタッチメント２０の質量を推定する処理等が実行されてもよい。そして、アタッチメント２０の質量に基づいて、両手持ちのゲームコントローラ８０が単体で用いられる場合の触覚提示信号３が補正される。
【０２２２】
図１４は、携帯端末８２とそのアタッチメント２０の外観を示す模式図である。図１４Ａには、振動アクチュエータ及び加速度センサを搭載した携帯端末８２が図示されている。携帯端末８２は、例えばスマートフォンやタブレット等であり、ユーザ１が片手あるいは両手で持って使用可能な端末装置である。この他、携帯端末８２の種類等は限定されない。この携帯端末８２が、触覚提示装置として機能する。
【０２２３】
図１４Ｂに示すアタッチメント２０ｇは、携帯端末８２のカバーである。アタッチメント２０ｇは、例えば携帯端末８２のディスプレイ等が見えるように携帯端末８２に装着され、携帯端末８２を保護する機能等を有する。カバー（アタッチメント２０ｇ）の形状等は限定されない。携帯端末８２は、例えば所定のテスト波形で振動することで、アタッチメント２０ｇの質量を推定する。あるいは、ユーザ１によりアタッチメント２０ｇの質量等が設定されてもよい。これらアタッチメント２０ｇの質量等に基づいて、所定の触覚を提示するための触覚提示信号３が補正される。
【０２２４】
図１５は、ウェアラブルデバイス８３とそのアタッチメント２０の外観を示す模式図である。図１５Ａには、スマートウォッチ型のウェアラブルデバイス８３が図示されている。ウェアラブルデバイス８３は、例えばユーザ１の腕に装着して用いられる。この他、ウェアラブルデバイス８３の種類等は限定されず、ユーザ１の身体の各部に装着可能に構成された任意のデバイが用いられてよい。
【０２２５】
ウェアラブルデバイ８３は、振動アクチュエータ及び加速度センサを搭載した本体８４と、本体８４をユーザ１の身体（腕等）に装着するための装着バンド８５とを有する。図１５に示す例では、本体８４が触覚提示装置として機能する。また装着バンド８５は、本体８４に着脱可能に構成されたアタッチメント２０ｈである。
【０２２６】
図１４Ｂには、図１４Ａに示す装着バンド８５とは異なるバンド（アタッチメント２０ｉ）が装着されたウェアラブルデバイス８３が図示されている。このように、装着バンド８５（アタッチメント２０ｈ及び２０ｉ等）が交換された場合であっても、その質量等に応じて、本体８４（振動アクチュエータ）を振動させる触覚提示信号３を適宜補正することにより、所定の触覚を提示可能である。
【０２２７】
このように、触覚提示装置やアタッチメント２０のタイプ等によらず、本技術を用いることで振動アクチュエータを駆動するための触覚提示信号３を適宜補正することが可能である。この結果、設計者等の意図する所定の触覚を精度よく提示することが可能である。なお、上記した例に限定されず、任意の触覚提示装置やアタッチメント２０が用いられる場合に、本技術は適用可能である。
【０２２８】
上記では、アタッチメント情報として、アタッチメント２０の質量に関する情報が取得された。これに限定されず、例えばアタッチメント２０の形状、材質、剛性等に関する情報が取得され、これらの情報に基づいて触覚提示信号３を補正する処理等が実行されてもよい。
【０２２９】
例えばユーザ１が把持する部位と振動アクチュエータ（ＶＣＭ等）との距離が離れている場合等には、触覚提示信号３の振幅を大きく補正するといった処理が実行されてもよい。また例えば、アタッチメント２０の材質が柔らかい場合に、触覚提示信号３の振幅を大きく補正するといった処理が実行されてもよい。これにより、振動が伝わりにくい状態にあったとしても、所定の触覚を適正に提示することが可能である。
【０２３０】
上記では、アタッチメント２０の質量等に基づいて触覚提示信号３の補正処理が実行された。例えば、アタッチメント２０が装着された場合に、アタッチメント２０の種類等に係らず、触覚提示信号３の振幅を所定の割合（デフォルト値）で増加するといった処理が実行されてもよい。これにより、触覚提示信号３の補正処理に要する演算コストを低下することが可能である。例えばこのような処理が実行されてもよい。
【０２３１】
上記では、ボイスコイルモータ等のリニア振動アクチュエータを用いる場合について説明した。リニア振動アクチュエータに代えて、他の振動アクチュエータ（振動素子）が用いられてもよい。例えば振動アクチュエータとして、偏心モータ等の回転型の振動素子等が用いられる場合にも本技術は適用可能である。この場合、偏心モータの回転速度や回転パターン等を適宜調整することで、発生加速度の低下を抑制することが可能である。この他、任意の振動アクチュエータを用いた触覚提示装置に対して、本技術は適用可能である。
【０２３２】
以上説明した本技術に係る特徴部分のうち、少なくとも２つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
【０２３３】
なお、本技術は以下のような構成も採ることができる。
（１）触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
前記触覚提示装置に出力する触覚出力信号を制御する触覚制御部
を具備する情報処理装置。
（２）（１）に記載の情報処理装置であって、
前記触覚制御部は、前記接触体情報に基づいて前記触覚提示信号を補正するために使用される補正情報と、前記触覚提示信号と、に基づいて前記触覚出力信号を制御する
情報処理装置。
（３）（２）に記載の情報処理装置であって、
前記触覚提示信号は、前記触覚提示装置を加振する振動素子の振幅及び周波数成分を表す信号であり、
前記触覚制御部は、前記接触体情報に基づいて、前記触覚提示信号により表される振幅及び周波数成分の少なくとも一方に関する前記補正情報を生成する
情報処理装置。
（４）（３）に記載の情報処理装置であって、
前記接触体は、前記触覚提示装置に装着されるアタッチメントを含み、
前記触覚制御部は、前記接触体情報として、前記アタッチメントの質量に関する質量情報を取得する
情報処理装置。
（５）（４）に記載の情報処理装置であって、
前記触覚制御部は、前記質量情報に基づいて、前記振動素子の振動により前記触覚提示装置に発生する加速度の、前記アタッチメントの装着に伴う変化率を算出する
情報処理装置。
（６）（５）に記載の情報処理装置であって、
前記触覚制御部は、前記加速度の変化率に基づいて、前記触覚提示信号の振幅を補正する
情報処理装置。
（７）（４）から（６）のうちいずれか１つに記載の情報処理装置であって、
前記触覚制御部は、前記質量情報に基づいて、前記振動素子を含む振動系の共振周波数の、前記アタッチメントの装着に伴うシフト量を算出する
情報処理装置。
（８）（７）に記載の情報処理装置であって、
前記触覚制御部は、前記共振周波数のシフト量に基づいて、前記触覚提示信号の周波数成分を補正する
情報処理装置。
（９）（４）から（８）のうちいずれか１つに記載の情報処理装置であって、
前記アタッチメントは、前記アタッチメントの機器情報を供給可能であり、
前記触覚制御部は、前記アタッチメントの機器情報に基づいて、前記質量情報を取得する
情報処理装置。
（１０）（４）から（９）のうちいずれか１つに記載の情報処理装置であって、
前記触覚制御部は、ユーザにより入力された入力情報に基づいて、前記質量情報を取得する
情報処理装置。
（１１）（４）から（１０）のうちいずれか１つに記載の情報処理装置であって、
前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有し、
前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記質量情報を算出する
情報処理装置。
（１２）（１１）に記載の情報処理装置であって、
前記加速度センサは、所定の振動信号に応じて前記アタッチメントが装着された前記触覚提示装置に発生する第１の加速度を検出し、
前記触覚制御部は、前記所定の振動信号に応じて前記アタッチメントが装着されていない前記触覚提示装置に発生する第２の加速度を取得し、前記第１及び前記第２の加速度に基づいて、前記質量情報を算出する
情報処理装置。
（１３）（１１）又は（１２）に記載の情報処理装置であって、
前記触覚制御部は、前記加速度センサにより検出される加速度の時間変化に基づいて、前記質量情報を算出する
情報処理装置。
（１４）（３）から（１３）のうちいずれか１つに記載の情報処理装置であって、
前記振動素子は、前記触覚提示装置の筐体に支持され、
前記触覚制御部は、前記振動素子と前記筐体との機械的な干渉に関する干渉条件に基づいて、前記触覚提示信号を補正する
情報処理装置。
（１５）（３）から（１４）のうちいずれか１つに記載の情報処理装置であって、
前記振動素子は、リニア振動アクチュエータである
情報処理装置。
（１６）（１５）に記載の情報処理装置であって、
前記リニア振動アクチュエータは、ボイスコイルモータである
情報処理装置。
（１７）（１）から（１６）のうちいずれか１つに記載の情報処理装置であって、
前記接触体は、前記触覚提示装置を把持するユーザの手を含み、
前記触覚制御部は、前記接触体情報として、前記触覚提示装置を把持する前記ユーザの把持力に関する把持力情報を取得する
情報処理装置。
（１８）（１７）に記載の情報処理装置であって、
前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有し、
前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記把持力情報を算出する
情報処理装置。
（１９）触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
前記触覚提示装置に出力する触覚出力信号を制御する
ことをコンピュータシステムが実行する情報処理方法。
（２０）触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
前記触覚提示装置に出力する触覚出力信号を制御するステップ
をコンピュータシステムに実行させるプログラム。
【符号の説明】
【０２３４】
１…ユーザ
３…触覚提示信号
４…触覚出力信号
１０、８０…ゲームコントローラ
１３…筐体
１６…加速度センサ
１７…ボイスコイルモータ
２０、２０ａ〜２０ｉ…アタッチメント
２１…複合コントローラ
３０…ゲーム機本体
３６…制御プログラム
３７…質量データベース
３８…コンテンツ処理部
３９…振動データ処理部
６３…加振対象
１００…触覚提示システム
【図１】
2020153116.tif 000003
【図２】
2020153116.tif 000004
【図３】
2020153116.tif 000005
【図４】
2020153116.tif 000006
【図５】
2020153116.tif 000007
【図６】
2020153116.tif 000008
【図７】
2020153116.tif 000009
【図８】
2020153116.tif 000010
【図９】
2020153116.tif 000011
【図１０】
2020153116.tif 000012
【図１１】
2020153116.tif 000013
【図１２】
2020153116.tif 000014
【図１３】
2020153116.tif 000015
【図１４】
2020153116.tif 000016
【図１５】
2020153116.tif 000017
【国際調査報告】
2020153116.tif 000018
2020153116.tif 000019
2020153116.tif 000020
2020153116.tif 000021