WO2020153116A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2020153116A1
WO2020153116A1 PCT/JP2020/000177 JP2020000177W WO2020153116A1 WO 2020153116 A1 WO2020153116 A1 WO 2020153116A1 JP 2020000177 W JP2020000177 W JP 2020000177W WO 2020153116 A1 WO2020153116 A1 WO 2020153116A1
Authority
WO
WIPO (PCT)
Prior art keywords
tactile
attachment
information processing
information
mass
Prior art date
Application number
PCT/JP2020/000177
Other languages
English (en)
French (fr)
Inventor
山野 郁男
佑輔 中川
亜由美 中川
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US17/422,832 priority Critical patent/US20220080304A1/en
Priority to CN202080009253.9A priority patent/CN113302579A/zh
Priority to JP2020568052A priority patent/JP7456388B2/ja
Publication of WO2020153116A1 publication Critical patent/WO2020153116A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1037Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted for converting control signals received from the game device into a haptic signal, e.g. using force feedback

Abstract

本技術の一形態に係る情報処理装置は、触覚制御部を具備する。前記触覚制御部は、触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、前記触覚提示装置に出力する触覚出力信号を制御する。

Description

情報処理装置、情報処理方法、及びプログラム
 本技術は、触覚提示に適用可能な情報処理装置、情報処理方法、及びプログラムに関する。
 近年、ユーザに様々な触覚を提示する技術が開発されている。例えば所定の振動パターンで装置を振動させることで、ユーザに対して振動パターンに応じた触覚が提示される。
 特許文献1には、ユーザの身体に装着可能に構成された力覚デバイスについて記載されている。力覚デバイスには、Xアクチュエータ及びYアクチュエータにより平面内で振動可能に構成された可動体が設けられる。可動体は、例えば人の触覚受容器の検知閾値を応用した振動波形に基づいて振動される。この振動波形は、人が検知できる、または検知できない振幅域及び周波数域を含むように設定される。これにより、摩擦力等の力覚の多彩な触覚をユーザに提示することが可能となっている(特許文献1の明細書段落[0019][0021][0030]-[0033]図1、3等)。
国際公開第2016/031118号公報
 今後、ユーザに触覚を提示する技術は、アミューズメント機器、携帯機器、ウェアラブル機器等の様々な装置での応用が期待されており、所望の触覚を提示することが可能な技術が求められている。
 以上のような事情に鑑み、本技術の目的は、所望の触覚を提示することが可能な情報処理装置、情報処理方法、プログラムを提供することにある。
 上記目的を達成するため、本技術の一形態に係る情報処理装置は、触覚制御部を具備する。
 前記触覚制御部は、触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、前記触覚提示装置に出力する触覚出力信号を制御する。
 この情報処理装置では、触覚提示装置への出力である触覚出力信号が制御される。触覚出力信号の制御は、触覚提示装置向けの触覚コンテンツに応じた触覚提示信号と、触覚提示装置に接触する接触体に関する接触体情報とに基づいて実行される。これにより、接触体に応じて触覚出力信号を制御することが可能となり、所望の触覚を提示することが可能となる。
 前記触覚制御部は、前記接触体情報に基づいて前記触覚提示信号を補正するために使用される補正情報と、前記触覚提示信号と、に基づいて前記触覚出力信号を制御してもよい。
 これにより、接触体に応じて触覚提示装置の動作を補正することが可能となる。この結果、所望の触覚を精度よく提示することが可能となる。
 前記触覚提示信号は、前記触覚提示装置を加振する振動素子の振幅及び周波数成分を表す信号であってもよい。この場合、前記触覚制御部は、前記接触体情報に基づいて、前記触覚提示信号により表される振幅及び周波数成分の少なくとも一方に関する前記補正情報を生成してもよい。
 これにより、触覚提示信号を詳細に補正することが可能となる。この結果、所望の触覚を精度よく提示することが可能となる。
 前記接触体は、前記触覚提示装置に装着されるアタッチメントを含んでもよい。この場合、前記触覚制御部は、前記接触体情報として、前記アタッチメントの質量に関する質量情報を取得してもよい。
 これにより、アタッチメントが装着された場合であっても、触覚提示装置を適正に振動させることが可能となり、優れた触覚効果を発揮することが可能となる。
 前記触覚制御部は、前記質量情報に基づいて、前記振動素子の振動により前記触覚提示装置に発生する加速度の、前記アタッチメントの装着に伴う変化率を算出してもよい。
 これにより、アタッチメントの装着の前後における加速度の変化の割合が算出される。この結果、アタッチメントの装着に伴う触覚の変化等を適正に補正することが可能となる。
 前記触覚制御部は、前記加速度の変化率に基づいて、前記触覚提示信号の振幅を補正してもよい。
 これにより、振動の強度を精度よく補正することが可能となり、例えば所望の強度で触覚コンテンツを提示することが可能となる。
 前記触覚制御部は、前記質量情報に基づいて、前記振動素子を含む振動系の共振周波数の、前記アタッチメントの装着に伴うシフト量を算出してもよい。
 これにより、アタッチメントの装着の前後における共振周波数の変化量が算出される。この結果、アタッチメントの装着に伴う触覚の変化等を適正に補正することが可能となる。
 前記触覚制御部は、前記共振周波数のシフト量に基づいて、前記触覚提示信号の周波数成分を補正してもよい。
 これにより、例えばアタッチメント装着後の共振周波数を使った触覚提示等が可能となる。この結果、例えば十分な強度で触覚コンテンツを提示することが可能となる。
 前記アタッチメントは、前記アタッチメントの機器情報を供給可能であってもよい。この場合、前記触覚制御部は、前記アタッチメントの機器情報に基づいて、前記質量情報を取得してもよい。
 これにより、アタッチメントの質量等を容易かつ精度よく取得することが可能となり、アタッチメントが装着された場合でも、所望の触覚を容易に提示することが可能となる。
 前記触覚制御部は、ユーザにより入力された入力情報に基づいて、前記質量情報を取得してもよい。
 これにより、アタッチメントの種類等に係らず触覚提示信号を補正することが可能となる。
 前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有してもよい。この場合、前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記質量情報を算出してもよい。
 これにより、例えば任意のアタッチメントに対してその質量等を算出することが可能となり、例えば触覚提示信号を適正に補正することが可能となる。
 前記加速度センサは、所定の振動信号に応じて前記アタッチメントが装着された前記触覚提示装置に発生する第1の加速度を検出してもよい。この場合、前記触覚制御部は、前記所定の振動信号に応じて前記アタッチメントが装着されていない前記触覚提示装置に発生する第2の加速度を取得し、前記第1及び前記第2の加速度に基づいて、前記質量情報を算出してもよい。
 これにより、例えば任意のアタッチメントに対してその質量等を精度よく算出することが可能となる。この結果、所望の触覚を精度よく提示することが可能となる。
 前記触覚制御部は、前記加速度センサにより検出される加速度の時間変化に基づいて、前記質量情報を算出してもよい。
 これにより、例えば触覚提示装置の使用状況が変化するような場合であっても、アタッチメントの質量等を適正に算出することが可能となる。
 前記振動素子は、前記触覚提示装置の筐体に支持されてもよい。この場合、前記触覚制御部は、前記振動素子と前記筐体との機械的な干渉に関する干渉条件に基づいて、前記触覚提示信号を補正してもよい。
 これにより、振動素子が筐体と干渉するといった事態が回避される。これにより、異音の発生等が抑制されるとともに、所望の触覚を適正に提示することが可能となる。
 前記振動素子は、リニア振動アクチュエータであってもよい。
 これにより、多彩な触覚を容易に提示することが可能となる。
 前記リニア振動アクチュエータは、ボイスコイルモータであってもよい。
 これにより、多彩な触覚を十分な強度で容易に提示することが可能となる。
 前記接触体は、前記触覚提示装置を把持するユーザの手を含んでもよい。この場合、前記触覚制御部は、前記接触体情報として、前記触覚提示装置を把持する前記ユーザの把持力に関する把持力情報を取得してもよい。
 これにより、ユーザが触覚提示装置をつかむ力等が変化した場合であっても、触覚提示装置を適正に振動させることが可能となり、優れた触覚効果を発揮することが可能となる。
 前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有してもよい。この場合、前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記把持力情報を算出してもよい。
 これにより、ユーザの把持力の変化等を容易に検出することが可能となる。この結果、把持力の変化に伴う触覚の変化等を適正に補正することが可能となる。
 本技術の一形態に係る情報処理方法は、コンピュータシステムにより実行される情報処理方法であって、触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、前記触覚提示装置に出力する触覚出力信号を制御することを含む。
 本技術の一形態に係るプログラムは、コンピュータシステムに以下のステップを実行させる。
 触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、前記触覚提示装置に出力する触覚出力信号を制御するステップ。
 以上のように、本技術によれば、所望の触覚を提示することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の第1の実施形態に係る触覚提示システムの概要を示す模式図である。 図1に示す触覚提示システムの構成例を示すブロック図である。 ゲームコントローラの一例を示す模式図である。 ボイスコイルモータの構成例を示す模式図である。 アタッチメントの一例を示す模式図である。 ボイスコイルモータが接続された振動系の振動モデルを示す模式図である。 ボイスコイルモータが接続された振動系の振動特性の一例を示すグラフである。 加振対象の質量と振動系の共振周波数との関係の一例を示すグラフである。 アタッチメントの装着前後での発生加速度と入力電圧との関係を示すグラフである。 触覚提示信号の補正処理の一例を示すフローチャートである。 加速度データの解析の一例を説明するためのグラフである。 補正された触覚提示信号の一例を示すグラフである。 触覚提示装置とアタッチメントとの他の一例を示す模式図である。 触覚提示装置とアタッチメントとの他の一例を示す模式図である。 触覚提示装置とアタッチメントとの他の一例を示す模式図である。
 以下、本技術に係る実施形態を、図面を参照しながら説明する。
 <第1の実施形態>
 [触覚提示システムの構成]
 図1は、本技術の第1の実施形態に係る触覚提示システムの概要を示す模式図である。図2は、図1に示す触覚提示システムの構成例を示すブロック図である。触覚提示システム100は、例えばゲームコンテンツ等を提供するシステムである。触覚提示システム100では、ゲームコンテンツをプレイするユーザ1に対して、ユーザ1の操作やコンテンツの進行等に応じた様々な触覚コンテンツが提示される。
 触覚提示システム100は、ゲームコントローラ10と、アタッチメント20と、ゲーム機本体30と、撮像ユニット50と、表示ユニット51とを有する。図1に示す例では、アタッチメント20が装着されたゲームコントローラ10が用いられる。以下では、アタッチメント20が装着されたゲームコントローラ10、すなわちアタッチメント20とゲームコントローラ10との複合体を、複合コントローラ21と記載する場合がある。
 例えば表示ユニット51には、ゲーム機本体30により生成されたゲームコンテンツの画像が表示される。ユーザ1は、表示ユニット51の表示内容に応じて、複合コントローラ21(ゲームコントローラ10及びアタッチメント20)を使用して入力操作を行うことで、ゲームコンテンツを進行することが可能である。なお、アタッチメント20は、ゲーム機本体30の起動中に、ゲームコントローラ10に対して適宜着脱することが可能である。
 また触覚提示システム100では、例えばゲームコントローラ10が振動することで、ユーザ1に対して所定の触覚コンテンツが提示される。より詳しくは、ゲームコントローラ10の振動がアタッチメント20を介してユーザ1に伝わることで、その振動波形(触覚コンテンツ)に応じた触覚提示(Haptics提示)が実現される。
 なお本開示において、触覚(Haptics)とは、例えば人が物体に触れることによって生じる感覚である。例えば物体に触っている際の感触や、物体から受ける力感覚(力覚)等が触覚に含まれる。また触覚コンテンツとは、上記した触覚を表すコンテンツであり、例えば振動の波形、強度、継続時間等が触覚コンテンツのパラメータとして設定される。例えば、ゲーム内において、銃を発射したときの衝撃を表す振動や、ダメージを受けたことを表す振動等は、触覚コンテンツとなる。この他、任意の触覚コンテンツに対して本技術は適用可能である。
 以下では、主に振動を用いて提示される触覚について説明する。また触覚コンテンツのことを単に触覚と記載する場合がある。本実施形態では、ゲームコントローラ10は、触覚提示装置に相当する。またアタッチメント20は、触覚提示装置に接触する接触体の一例である。
 図3は、ゲームコントローラ10の一例を示す模式図である。図3には、ロッド型のゲームコントローラ10の外観が模式的に図示されている。ゲームコントローラ10は、単独でゲーム機本体30と通信可能であり、ユーザ1による操作入力を受け付ける機能を有する。ゲームコントローラ10は、把持部11と、先端部12とを有する。
 把持部11は、棒状の形状であり、ユーザ1が握るための部位である。また把持部11は、ゲームコントローラ10の筐体13(外装)として機能する。先端部12は、球体状の形状であり、把持部11の一方の端に設けられる。先端部12は、全体が所定の色で発光可能なように構成され、ユーザ1の動作を検出するモーションキャプチャー等のマーカとして機能する。
 例えば、後述する撮像ユニット50により、ゲームコントローラ10(把持部11)を掴んだユーザ1が撮影される。またゲーム機本体30により、ユーザ1を撮影した画像から、所定の色で発光する先端部12の位置や動きが検出される。これにより、ユーザ1がゲームコントローラ10を動かす動作等を検出することが可能となる。このように、ゲームコントローラ10は、ユーザ1の動作による操作入力を行うモーションコントローラのマーカとして機能する。
 図2に示すように、ゲームコントローラ10は、さらに、通信ユニット14と、入力素子15と、加速度センサ16と、ボイスコイルモータ17(VCM:Voice Coil Motor)とを有する。
 通信ユニット14は、ゲーム機本体30との通信を行う。例えば通信ユニット14は、ゲーム機本体30により生成された各種の制御信号を受信し、ゲームコントローラ10の各部に出力する。また例えば、通信ユニット14は、ゲームコントローラ10の各部(入力素子15及び加速度センサ16等)により生成されたデータをゲーム機本体30に送信する。
 またゲームコントローラ10と通信可能なアタッチメント20が装着されている場合、通信ユニット14は、アタッチメント20との通信を行う。例えば通信ユニット14は、アタッチメント20を用いて入力されたデータ等を読み込み、ゲーム機本体30に送信する。またアタッチメント20が所定の動作を実行する機能(発光機能や振動機能等)を備えている場合、通信ユニット14は、ゲーム機本体30により生成された各種の制御信号を受信して、アタッチメント20の各部に出力する。このように、通信ユニット14を介してアタッチメント20とゲーム機本体30とが通信可能となる。
 通信ユニット14(ゲームコントローラ10)は、典型的には、ゲーム機本体30と無線通信を実行し、アタッチメント20と有線通信を実行するように構成される。通信ユニット14には、例えばBluetooth(登録商標)、無線LAN、又はWUSB(Wireless USB)等の所定の無線通信が可能な無線通信モジュール等が設けられる。また通信ユニット14には、所定の接続端子(図示省略)を介してアタッチメント20との有線通信を行う有線通信モジュール等が設けられる。
 この他、通信ユニット14の具体的な構成や、ゲームコントローラ10の通信形態等は限定されない。例えばゲームコントローラ10とアタッチメント20とが無線通信により接続されてもよい。また例えばゲームコントローラ10とゲーム機本体30とが有線通信により接続されてもよい。これらゲームコントローラ10の通信形態に応じて、通信ユニット14が適宜構成されてよい。
 入力素子15は、ユーザ1の操作入力を検出する素子である。本実施形態では、図3に示すように、ゲームコントローラ10(把持部11)の表面に複数の入力素子15が設けられる。入力素子15の具体的な構成は限定されない。例えば、ボタン、スイッチ、ジョイスティック、スライダ等の任意の入力素子が設けられてよい。各入力素子15を介してユーザ1により入力された入力データは、通信ユニット14を介してゲーム機本体30に送信される。
 加速度センサ16は、ゲームコントローラ10の加速度を検出する。加速度センサ16は、ゲームコントローラ10の筐体13内部に固定して配置され、ゲームコントローラ10に発生する加速度を検出する。加速度センサ16の具体的な構成は限定されず、例えば互いに直交する3軸方向(XYZ方向)の加速度を検出可能な3軸加速度センサ等が用いられる。加速度センサ16を介して検出された加速度データは、通信ユニット14を介してゲーム機本体30に送信される。
 なお、ゲームコントローラ10には、加速度センサ16の他にジャイロセンサや慣性センサ等が適宜設けられる。ゲームコントローラ10に設けられるセンサの種類等は限定されず、例えばユーザ1の把持力を検出する圧力センサや、温度センサ等が設けられてもよい。この他、ゲームコントローラ10の各種の状態を検出する任意のセンサが適宜設けられてよい。
 ボイスコイルモータ17(VCM)は、触覚提示用の振動アクチュエータであり、線形に振動する振動子を備えたリニア振動アクチュエータである。リニア振動アクチュエータでは、線形に移動する振動子の振幅や振動周波数を適宜制御することで、多彩な触覚を提示することが可能である。なおリニア振動アクチュエータとしては、ボイスコイルモータ17の他に、圧力による触覚提示を与えることのできるアクチュエータ、LRA(Linear Resonant Actuator)、ピエゾ素子を用いたアクチュエータ等を用いることが可能である。これらリニア振動アクチュエータは、本実施形態に係る振動素子の一例である。
 図4は、ボイスコイルモータ17の構成例を示す模式図である。ボイスコイルモータ17は、ゲームコントローラ10の筐体13に支持され、筐体13の内部に配置される。ボイスコイルモータ17は、振動子52と、固定子53とを有する。ボイスコイルモータ17は、振動子52を固定子53に対して所定の方向に沿って往復運動させることで振動を発生するリニアアクチュエータである。以下では、振動子52が移動する方向(図中の左右方向)を振動方向と記載する。
 振動子52は、例えば振動方向を軸とする柱状の形状である。振動子52の側面には電線等が巻き付けられコイル54が形成される。固定子53は、筐体13に固定して配置され、振動子52を振動方向に沿って移動可能に収容する筒状の空間を有する。筒状の空間の内側面には、一方の磁極(S極又はN極)を振動子52側に向けて磁石55が配置される。また振動子52と固定子53とは、図示しないばね等の弾性体を介して互いに接続される。
 例えば振動子52のコイル54に交流電流を流すことで、振動子52は振動方向に沿って往復運動する。この往復運動により発生する反力は、ゲームコントローラ10の筐体13に作用し、ゲームコントローラ10自体が振動する。これにより、ゲームコントローラ10(把持部11)を掴んだユーザ1に対して、振動を用いた触覚提示を行うことが可能となる。
 ボイスコイルモータ17は、例えば電圧駆動により駆動される。例えば図示しない駆動源から、ボイスコイルモータ17を駆動する電圧信号(以下駆動信号と記載する)がコイル54に印加される。この駆動信号は、後述するゲーム機本体30から出力される制御値等に基づいて生成される。なお、ボイスコイルモータ17を電圧駆動する場合に限定されず、例えば、ボイスコイルモータ17が電流駆動されるような構成が採用されてもよい。
 ボイスコイルモータ17では、例えば振動子52の往復運動の幅や周期等を制御することで、広い周波数帯域に対して任意の振幅で振動を発生させることが可能となる。従って、ボイスコイルモータ17は、広帯域な振動を発生する広帯域アクチュエータであるとも言える。これにより、触覚(Haptics)の表現力を大幅に向上することが可能である。ボイスコイルモータ17の動作については、後に詳しく説明する。
 ボイスコイルモータ17の具体的な構成は限定されない。例えば図4に示すような、振動子52にコイル54が形成されたムービングコイル型のモータに代えて、振動子52に磁石55を配置したムービングマグネット型のモータ等が用いられてもよい。また、固定子53が振動子52の内側に設けられる構成等が採用されてもよい。この他、ボイスコイルモータ17のサイズや形状等は、例えば搭載されるゲームコントローラ10のサイズ等に応じて適宜設定されてよい。
 アタッチメント20は、例えばゲームコントローラ10に装着される装着物である。典型的には、アタッチメント20は、ゲームコントローラ10との相対位置が固定されるように、ゲームコントローラ10に接触して配置される。
 図5は、アタッチメント20の一例を示す模式図である。図5A~図5Dには、図3に示すゲームコントローラ10が装着されたアタッチメント20a~20dの外観が模式的に図示されている。これらのアタッチメント20a~20dは、ゲームコントローラ10を装着した状態で、複合コントローラ21として使用される。
 図5Aに示すアタッチメント20aは、片手持ちの銃(ハンドガン)の形状を有する。アタッチメント20aは、図1においてユーザ1が使用しているアタッチメント20である。ゲームコントローラ10は、アタッチメント20aの先端側(銃口側)に挿入され、挿入部分に設けられた固定具によりアタッチメント20aと一体的に固定される。この時、ゲームコントローラ10は、図示しない接続端子を介してアタッチメント20aと通信可能に接続される。
 またアタッチメント20aには、トリガー型の入力素子15が設けられる。トリガー型の入力素子15は、図示しない接続端子等を介してゲームコントローラ10と接続される。例えばユーザ1は、アタッチメント20aのグリップを握ったままトリガー(入力素子15)を引くことで、射撃等の所定の入力操作が可能となる。このように、アタッチメント20aは、ユーザ1の入力操作を補助する機能を有するとも言える。
 図5Bに示すアタッチメント20bは、グリップ型のハンドルの形状を有する。ゲームコントローラ10は、2つのグリップの間に挿入され、アタッチメント20bと一体的に固定される。アタッチメント20bには、例えば移動方向や選択肢等を入力するための複数のボタン(入力素子15)が設けられる。アタッチメント20bを用いることで、例えばドライビングゲーム等の入力操作を容易に実行することが可能となる。
 図5Cに示すアタッチメント20cは、両手持ちの銃の形状を有し、トリガー型の入力素子15が設けられる。ゲームコントローラ10は、アタッチメント20cの先端に挿入される。なおアタッチメント20cには、ゲームコントローラ10とは異なる他のコントローラが装着可能である。また図5Dに示すアタッチメント20dは、両手持ちのシューティングコントローラであり、トリガー型の入力素子15に加え、スティック型の入力素子15等が設けられる。例えばこのような構成も可能である。
 アタッチメント20a~20dは、接続端子を介してゲームコントローラ10と通信可能に接続されるアタッチメント20である。例えばアタッチメント20a~20dは、ゲームコントローラ10からの要求信号に対して、自身に関する機器情報を送信する。すなわち、これらのアタッチメント20は、アタッチメント20の機器情報を供給可能である。機器情報には、例えばアタッチメント20の形式、型番、製造メーカー、シリアルナンバー等のアタッチメント20を特定するための情報等が含まれる。
 なおゲームコントローラ10との通信を行わないアタッチメント20が用いられてもよい。例えば、アタッチメント20には、通信機能を持たない外部バッテリ等も含まれる。またゲームコントローラ10と電気的に接続されないアタッチメント20が用いられてもよい。例えばゲームコントローラ10に装着されるケースやカバー等も、本開示におけるアタッチメント20に含まれる。この他、アタッチメント20の形態、種類、機能等の具体的な構成は限定されず、例えばゲームコントローラ10に装着される任意のオブジェクトがアタッチメント20となり得る。
 図2に戻り、ゲーム機本体30は、通信ユニット31と、記憶部32と、制御部33とを有する。またゲーム機本体30には、撮像ユニット50や表示ユニット51と接続するための接続端子等が適宜設けられる。
 通信ユニット31は、ゲームコントローラ10との通信を行う。通信ユニット31は、例えばゲームコントローラ10の通信ユニット14と通信可能なように適宜構成される。通信ユニット31としては、例えば通信ユニット14と同様の無線通信規格に従って通信可能な無線通信モジュール等が適宜用いられる。通信ユニット31は、受信部34と、送信部35とを有する。
 受信部34は、ゲームコントローラ10から各種のデータを受信し、ゲームコントローラ10の各部に適宜出力する。例えばゲームコントローラ10あるいはアタッチメント20の入力素子15を用いて入力された入力データ(ボタン指令等)や、加速度センサ16により検出された加速度データが受信される。また例えば、アタッチメント20の機器情報等が受信される。送信部35は、後述する制御部33により生成された各種の制御信号や指令値をゲームコントローラ10に送信する。
 記憶部32は、不揮発性の記憶デバイスであり、例えばHDD(Hard Disk Drive)やフラッシュメモリ等の記憶素子が用いられる。記憶部32には、ゲーム機本体30の全体の動作を制御するための制御プログラム36等が記憶される。
 また記憶部32には、質量データベース37が記憶される。質量データベース37には、ゲームコントローラ10に装着可能な各アタッチメント20を特定するための情報(形式や型番等)と、そのアタッチメント20の質量とのリストが記録される。制御プログラム36及び質量データベース37を、ゲーム機本体30にインストールする方法は限定されない。
 制御部33は、ゲーム機本体30の各部の動作を制御し、またゲームコントローラ10に向けて送信される各種の制御信号(後述する触覚出力信号等)を生成する。制御部33は、本実施形態に係る情報処理装置として機能する。
 制御部33は、例えばCPU(Central Processing Unit)やメモリ(RAM(Random Access Memory)、ROM(Read Only Memory))等のコンピュータに必要なハードウェア構成を有する。CPUが記憶部32に記憶されている本技術に係る制御プログラム36(アプリケーション)を、RAMにロードして実行することにより、本技術に係る情報処理方法が実現される。
 制御部33として、例えばFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)、その他ASIC(Application Specific Integrated Circuit)等のデバイスが用いられてもよい。
 本実施形態では、制御部33のCPUが制御プログラム36を実行することで、機能ブロックとして、コンテンツ処理部38と、振動データ処理部39とが実現される。なお、各機能ブロックを実現するために、IC(集積回路)等の専用のハードウェアが適宜用いられてもよい。
 コンテンツ処理部38は、ゲームコンテンツを進行させる各種の処理を実行する。例えば、ユーザ1により入力された入力データや、モーションキャプチャーの検出結果等に応じて、ゲームコンテンツの映像や音声等を生成する。
 コンテンツ処理部38は、ゲームコントローラ10に提示する触覚コンテンツに応じた触覚提示信号を生成する。ここで触覚提示信号とは、触覚コンテンツの振動波形を表す信号であり、典型的にはゲームコントローラ17を加振するボイスコイルモータ17の振幅及び周波数成分を表す信号である。触覚提示信号としては、例えばボイスコイルモータ17を駆動する制御値(入力値)を含む信号が生成される。例えば触覚提示信号に含まれる制御値でボイスコイルモータ17を駆動することで、触覚提示信号により表される振幅及び周波数成分(振動波形)の振動を発生させることが可能となる。
 本実施形態では、ゲームコントローラ10を単体で用いるユーザ1に対して所定の触覚が提示可能となるように、触覚提示信号が設計される。すなわち、触覚提示信号は、アタッチメント20が装着されていないゲームコントローラ10を振動させて所定の触覚コンテンツを提示するための振動波形を表す信号であるとも言える。なおコンテンツ処理部38は、制御部33とは別のコンピュータ(例えば外部のサーバ装置等)に設けられてもよい。
 触覚提示信号の具体的な構成は限定されず、例えばボイスコイルモータ17の構成等に応じて、所定の触覚コンテンツを提示することが可能な信号が適宜生成されてよい。なお、以下で説明するように、触覚提示システム100では、コンテンツ処理部38により生成された触覚提示信号が補正されて、ボイスコイルモータ17の制御に用いられる。従って、コンテンツ処理部38により生成された触覚提示信号が、そのままボイスコイルモータ17の制御に用いられるとは限らない。
 振動データ処理部39は、ゲームコントローラ10の振動を制御する。本実施形態では、ゲームコントローラ10に装着されたアタッチメント20に応じた、ゲームコントローラ10の振動制御(ボイスコイルモータ17の駆動制御等)が実行される。
 振動データ処理部39は、ゲームコントローラ10に提示する触覚コンテンツに応じた触覚提示信号と、ゲームコントローラ10に接触するアタッチメント20に関するアタッチメント情報と、に基づいて、ゲームコントローラ10に出力する触覚出力信号を制御する。触覚出力信号とは、例えば触覚コンテンツを提示するためにゲームコントローラ10に実際に出力される信号である。この触覚出力信号を制御することで、ゲームコントローラ10の振動が制御される。本実施形態では、振動データ処理部39は、触覚制御部に相当する。
 振動データ処理部39は、ゲームコントローラ10に接触するアタッチメント20に関するアタッチメント情報を取得する。すなわち、振動データ処理部39は、ゲームコントローラ10に装着されてゲームコントローラ10の筐体13等に接触しているアタッチメント20のアタッチメント情報を取得する。本実施形態では、アタッチメント情報は、接触体情報に相当する。
 具体的には、アタッチメント情報として、アタッチメント20の質量に関する質量データが取得される。質量データとは、典型的には、アタッチメント20の質量(重量)の値を示すデータである。本実施形態では、質量データは、質量情報に相当する。
 例えばアタッチメント情報として、アタッチメントが装着されているか否かの情報や、アタッチメント20の機器情報が取得される。例えばこられの情報をもとに、アタッチメント20の質量データが質量データベース37等から読み込まれる。あるいは、ゲームコントローラ10の加速度センサ16の検出結果等に基づいて、アタッチメント20の質量データが算出される。アタッチメント20の質量データを取得する方法については、後に詳しく説明する。
 また本実施形態では、振動データ処理部39は、アタッチメント情報に基づいて触覚提示信号を補正するために使用される補正情報と、触覚提示信号と、に基づいて触覚出力信号を制御する。例えば補正情報を使用して触覚提示信号を補正した信号が、触覚出力信号となる。すなわち、触覚提示信号を補正することで、触覚出力信号が生成される。
 補正情報は、触覚提示信号を補正するための情報であり、例えば上記した質量データ等に基づいて算出される。補正情報としては、例えば触覚提示信号により表される振幅や周波数成分を補正する割合(倍率等)や補正量が算出される。また例えば、アタッチメント20の種類等に応じて設定されたデフォルトの補正量等が補正情報として用いられてもよい。以下では、補正情報に基づいて触覚提示信号を補正することを、単に触覚提示信号を補正すると記載する場合がある。
 例えば、アタッチメント情報である質量データを使って補正情報が算出され、補正情報を使って触覚提示信号が補正される。すなわち、アタッチメント20の質量に応じて、ボイスコイルモータ17の振動波形(触覚提示信号)が補正された触覚出力信号が生成される。生成された触覚出力信号は、通信ユニット31の送信部35を介してゲームコントローラ10に送信される。そしてボイスコイルモータ17の駆動源により、触覚出力信号をもとに駆動信号(電圧信号)が生成され、ボイスコイルモータ17のコイル54に印加される。これにより、ボイスコイルモータ17の駆動制御を実行することが可能となる。
 典型的には、ボイスコイルモータ17に印加される駆動信号は、触覚出力信号と同様の波形を持った信号となる。従って、振動データ処理部39は、本来の振動波形(触覚提示信号)を補正することで、駆動信号等の波形を制御し、ボイスコイルモータ17の振動を制御するとも言える。補正情報を算出する方法や触覚提示信号を補正する方法については、後に詳しく説明する。
 撮像ユニット50は、ゲームコントローラ10(アタッチメント20)を使用するユーザ1を撮影する。撮影されたユーザ1の画像は、ゲーム機本体30に適宜出力され、ユーザ1のモーションキャプチャー処理等に用いられる。なお撮像ユニット50を用いることなく、進行可能なゲームコンテンツ等がプレイされる場合もあり得る。このような場合であっても、本技術は適用可能である。
 撮像ユニット50としては、例えばCMOS(Complementary Metal-Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサ等のイメージセンサを備えるデジタルカメラが用いられる。また例えば、撮像ユニット50として、TOF(Time of Flight)カメラやステレオカメラ等の距離センサ等が用いられてもよい。
 表示ユニット51は、例えばコンテンツ処理部38により生成された画像を表示する。図1に示す例では、表示ユニット51として据え置き型のディスプレイが模式的に図示されている。表示ユニット51の具体的な構成は限定されない。例えば表示ユニット51として、没入型やシースルー型のHMD(Head Mount Display)等が用いられてもよい。
 [ボイスコイルモータの振動モデル]
 図6は、ボイスコイルモータ17が接続された振動系の振動モデルを示す模式図である。以下では、図6に示す振動モデル60を参照して、ボイスコイルモータ17の振動特性について説明する。
 振動モデル60(振動系)は、振動子52と、ばね部61と、ダンパー部62と、加振対象63とを含む。振動子52は、ボイスコイルモータ17の振動子52(図4参照)であり、所定の方向に往復運動する質量体(振動体)である。ボイスコイルモータ17では、この振動子52に対して所定の方向に沿って加振力F(図中の矢印)が作用することで、振動子52が振動する。
 ばね部61は、振動子52と固定子53(ゲームコントローラ10の筐体13)とを接続する弾性体である。ダンパー部62は、振動子52の振動を減衰させる減衰力を発生する要素である。振動モデル60では、図6に示すように、ばね部61及びダンパー部62が、振動子52と加振対象63との間に並列に配置される。言い換えれば、振動子52と加振対象63とは、並列に配置されたばね部61及びダンパー部62により接続される。
 加振対象63は、ボイスコイルモータ17により加振される対象である。例えばアタッチメント20が装着されている場合、ゲームコントローラ10及びアタッチメント20(複合コントローラ21)から、振動子52を除いた部分が加振対象63となる。以下では、振動子52の質量をm、加振対象63の質量をMと記載する。またばね部61のばね係数をk、ダンパー部62のダンパー係数をcと記載する。
 図7は、ボイスコイルモータ17が接続された振動系の振動特性の一例を示すグラフである。グラフの横軸は、ボイスコイルモータ17の駆動周波数f(Hz)であり、例えば振動子52の振動周期である。グラフの縦軸は、加振対象63に発生する加速度a(G)である。図7には、例えば振幅が一定の駆動信号(Sin波等)を用いてボイスコイルモータ17を駆動した場合に、駆動信号の各周期で加振対象63に発生する加速度aが示されている。以下では、加振対象63に発生する加速度aを発生加速度aと記載する。
 ボイスコイルモータ17は、振動系に応じて図7に示すように特定の共振周波数f0を有する。例えば、共振周波数f0においてボイスコイルモータ17の駆動を行うことで、最大の振動加速度を発生可能である。すなわち、駆動信号の振幅が一定である場合、駆動信号の周期を共振周波数f0に設定することで、加振対象63に発生する発生加速度aを最大化することが可能である。
 例えばゲーム設計者は、体感の強い振動コンテンツを提示した場合等には、共振周波数f0の成分を多く含む触覚提示信号を生成してボイスコイルモータ17を振動させる。これにより、例えば迫力のある銃の発射感覚の提示等を行うことが可能となる。このように、ボイスコイルモータ17(アクチュエータ)の周波数特性を考慮したゲームデザインを行うことで、優れたアミューズメント性を発揮することが可能となる。
 例えば図1や図5に示すように、ボイスコイルモータ17を搭載したゲームコントローラ10に、機能拡張等のためのアタッチメント20が装着されると、振動系における振動の周波数特性が変化する。周波数特性の変化の要因として、例えば以下の2つの要因が考えられる。
 1つ目の要因として、ボイスコイルモータ17により加振される質量が増加することによる発生加速度aの低下が挙げられる。例えばゲームコントローラ10にアタッチメント20を装着することで、ボイスコイルモータ17の加振対象63の質量Mが増加する。この質量Mの増加に伴い、加振対象63に発生する発生加速度aが低下する。
 ボイスコイルモータ17の振動子52の質量mを除いたゲームコントローラ10の質量をM1とし、アタッチメント20の質量をM2とする。例えばアタッチメント20が装着されていない場合、加振対象63の質量はM=M1である。また例えば、アタッチメント20が装着された場合、加振対象63の質量はM=M1+M2である。なお、振動系(ゲームコントローラ10及びアタッチメント20)の全体の質量はM+mとなる。
 加振対象63には、ボイスコイルモータ17の加振力Fにより、F=M・aの関係を満たすように発生加速度aが生じる。従って、アタッチメント20が装着された場合、発生加速度aは以下の式で表される。
 a=F/M=F/(M1+M2)      (1)
 (1)式に示すように、加振される質量Mの増加に対して、発生加速度aは概ね反比例の関係となる。すなわち、ゲームコントローラ10単体を加振する場合(M=M1)と比べて、アタッチメント20が装着された場合(M=M1+M2)には、発生加速度aは、質量Mの増加分(M2)におおよそ反比例して減少する。
 このように、アタッチメント20が装着されて加振対象63の質量が増加することで、ボイスコイルモータ17により発生する発生加速度aは減少する。なお、実際には、以下で説明する共振周波数f0の変化によって、ボイスコイルモータ17の加振力Fも変化する。このため、発生加速度aと各質量との関係は、より複雑な関係となる
 2つ目の要因として、ボイスコイルモータ17により加振される質量が増加することによる振動系の共振周波数f0の低下が挙げられる。例えばアタッチメント20を装着することで、発生加速度aが最大となる共振周波数f0(図7参照)が、低周波数側にシフトする。
 ボイスコイルモータ17により加振される振動系の共振周波数f0は、図6に示すばね部61のばね係数kを用いて、以下の式で表される。
 f0=sqrt(k/M')=(k/M')^(1/2)      (2)
 ここで、M'は、換算質量と呼ばれるパラメータであり、M'=(m・M)/(m+M)で表される。なお、(2)式では、振動を減衰させるダンパー部62により加えられる減衰力の影響は無視されており、ダンパー係数c等を含まない式となっている。
 図8は、加振対象63の質量Mと振動系の共振周波数f0との関係の一例を示すグラフである。グラフの横軸は、加振対象63の質量M(kg)であり、グラフの縦軸は、振動系の共振周波数f0(Hz)である。図8には、上記した(2)式に基づいて算出された共振周波数f0の質量Mに対する特性が示されている。なお、振動子52の質量mは0.03kgに設定され、ばね部61のばね係数kは2600N/mに設定されている。
 例えば振動子52の質量mが加振対象63の質量Mに対して十分小さい場合には、換算質量M'は、質量Mの増加に対して略一定値と見做すことができる。一方で、ゲームコントローラ10に大きな発生加速度aを得るために、振動子52の質量mを大きく設定する場合があり得る。このような場合、振動子52の質量mは無視できなくなる。この結果、例えば図8のグラフに示すように、加振対象63の質量Mの増加に対して、共振周波数f0が減少することになる。
 例えば、振動子52を除いたゲームコントローラ10の質量M1が0.1kgの場合、ゲームコントローラ10単体での共振周波数f0はおよそ53.4Hzとなる。このゲームコントローラ10にアタッチメント20が装着されるとする。アタッチメント20の質量M2が0.1kgの場合、加振対象63の質量Mは0.2kgとなる。この場合、アタッチメント20が装着されたゲームコントローラ10での共振周波数f0はおよそ50.2Hzとなる。すなわち、この振動系では、0.1kgのアタッチメント20を追加することで、共振周波数f0が約3Hz低下することになる。
 このように、ボイスコイルモータ17を搭載したゲームコントローラ10へのアタッチメント20の接続によって、ゲームコントローラ10+アタッチメント20の系の振動特性が変化する。すなわち、加振される質量Mが増加することにより発生加速度aが低下する。発生加速度aは、(1)式に示すように質量Mの増加に対して概ね反比例の関係となる。また振動系の変化により共振周波数f0が変化する。系としての共振周波数f0は、(2)式に示すように、加振される質量Mが大きくなるほど低下する。
 図9は、アタッチメント20の装着前後での発生加速度aと入力電圧Vとの関係を示すグラフである。図9の上のグラフは、ボイスコイルモータ17を駆動する駆動信号2(入力電圧)と、加振対象63に発生する発生加速度aとの時間変化が示されている。グラフの横軸は時間(s)である。また左側及び右側の縦軸は、それぞれ駆動信号2(V)及び発生加速度a(G)の各タイミングでの実効値(二乗平均平方根:rms)である。
 例えば振動により発生する加速度は、振動周期に応じて向きが変化し、加速度の符号が絶えず入れ替わる。従って、図9の上のグラフでは、発生加速度aの所定期間内での実効値をプロットすることで、発生加速度aの大きさが示されている。なお、発生加速度a及び駆動信号2は、ともに所定の基準レベル(図中の荒い波線)を基準にプロットされるように適宜調整されている。
 図9の上のグラフでは、あるタイミングT0でゲームコントローラ10にアタッチメント20が装着される。すなわち、時刻T<T0である期間では、ゲームコントローラ10単体が加振され、時刻T≧T0である期間では、アタッチメント20が装着されたゲームコントローラ10(複合コントローラ21)が加振される。なお、図9では、アタッチメント20の装着の前後で、駆動信号2の補正、すなわち触覚提示信号の補正等は行われていないものとする。
 例えば、駆動信号2の実効値(強度)は、ゲームコンテンツの進行に合わせて適宜設定されるため、ランダムな時間変化を示す。図9の上のグラフには、駆動信号2の実効値が基準レベルを中心にランダムに変化する様子が示されている。なお、駆動信号2(触覚提示信号)の補正等が実行されないため、アタッチメント20の装着後も、駆動信号2の実効値が取り得る値の範囲(ランダムな変化の範囲)等は変わらず、装着前と同様の振動制御が実行される。
 駆動信号2によりボイスコイルモータ17が駆動されることで、発生加速度aが発生する。従って、発生加速度aの実効値の波形は、駆動信号2の実効値の波形と類似した波形となる。なお発生加速度aは、アタッチメント20が装着されていない期間(T<T0)では、主に基準レベルよりも高い範囲で変化している。これに対し、アタッチメント20が装着されている期間(T≧T0)では、発生加速度aが変化する範囲が、基準レベルよりも低い範囲側にシフトする。すなわち、アタッチメント20が装着されることで、発生加速度aのレベルが低下する。
 図9の下のグラフは、図9の上のグラフにおける発生加速度aと駆動信号2との比率(発生加速度a/駆動信号2)を示すグラフである。この比率は、振動系において駆動信号2が加速度に変換される割合であるとも言える。
 例えばアタッチメント20が装着される前の時点では、発生加速度aと駆動信号2との比率は、おおよそ一定の値となる。なお、ユーザ1の把持力等が変化することにより、振動系の振動条件等が変化する場合があり得る。このような場合、発生加速度aと駆動信号2との比率は、多少変動する可能性がある。
 またアタッチメント20が装着されると、装着前に比べ発生加速度aが低下する。このため、発生加速度aと駆動信号2との比率も低下し、アタッチメント20の質量等に応じた所定のレベルに収束する。このように、駆動信号2(触覚提示信号)のレベルを制御しない場合、ゲームコントローラ10にアタッチメント20が装着されることで、発生加速度aが低下する恐れがある。
 [触覚提示信号の補正処理]
 図10は、触覚提示信号の補正処理の一例を示すフローチャートである。図10に示すフローチャートは、例えばゲーム機本体30の動作中に繰り返し実行されるループ処理である。例えば、ゲーム機本体30の起動やゲームコンテンツの開始と同時に、ループ処理が開始される。あるいは、ユーザ1により触覚提示信号の補正を実行するモード等が選択された場合に、ループ処理が開始されてもよい。
 アタッチメント20が装着されているか否かが判定される(ステップ101)。例えばゲームコントローラ10と通信可能なアタッチメント20が装着されたとする。この場合、ゲームコントローラ10は、アタッチメント20との通信が確立された旨の確認信号をゲーム機本体30(受信部34)に送信する。この確認信号が受信されることで、アタッチメント20が装着されたことを判定することが可能である。
 また例えば、表示ユニット51に所定のシステムUI(User Interface)を表示し、当該システムUIからユーザ1自身がアタッチメント20の機種選択を行うようにしてもよい。すなわち、ユーザ1自身が、アタッチメント20が装着されたことを明示的に入力可能な構成が採用されてもよい。例えばアタッチメント20の機種選択が行われた場合に、アタッチメント20が装着されたと判定される。
 また例えば、ゲームコントローラ10に発生する発生加速度aの検出結果に基づいて、アタッチメント20の装着の有無が判定されてもよい。この場合、ゲームコントローラ10に搭載された加速度センサ16の検出結果(加速度データ)が、ゲーム機本体30に送信される。そして振動データ処理部39により、加速度データが解析され、アタッチメント20が装着されたか否かが判定される。
 図11は、加速度データの解析の一例を説明するためのグラフである。図11には、図9の下のグラフと同様のグラフが示されている。振動データ処理部39は、例えば発生加速度aと駆動信号2(入力電圧)との比率について、所定の期間内での時間平均値を算出する。平均値を算出する期間等は限定されず、例えば発生加速度aの検出精度やノイズレベル等に応じて適宜設定されてよい。
 図11には、時間平均値が算出された5つの期間Ta~Teが、矢印を用いて模式的に図示されている。期間Ta~Teは、例えば時間範囲が重ならないようにこの順番で連続して設定された期間である。図11に示す例では、期間Tcの間にアタッチメント20が装着される。従って、期間Ta及びTbでは、アタッチメント20が装着される前の時間平均値が算出され、期間Td及びTeでは、アタッチメント20が装着された後の時間平均値が算出される。期間Ta~Teで算出される時間平均値は、それぞれ、1.18、1.2、1.0、0.6、及び0.58である。
 振動データ処理部39では、例えば発生加速度aと駆動信号2との比率の時間平均値が大きく変化し、収束したタイミングでアタッチメント20の追加があったことが判定される。例えば、時間平均値が所定の閾値を超えて減少し、その後時間平均値のレベルが戻らなかった場合等にアタッチメント20が装着されたと判定される。図11では、例えば期間TcあるいはTdにおいて時間平均値の減少が検出され、期間Teにおいてアタッチメント20が装着されたと判定される。これにより、アタッチメント20の装着の有無を確実に判定することが可能となる。
 図10に戻り、アタッチメント20が装着されていると判定された場合(ステップ101のYes)、アタッチメント20の機器情報が取得され、質量データベース37にアタッチメント20の質量M2を問い合わせる処理が実行される(ステップ102)。
 例えば、ゲームコントローラ10と通信可能なアタッチメント20が接続された場合、ゲームコントローラ10の拡張端子から得られる接続中のアタッチメント20の機器情報が、ゲーム機本体30の受信部34に送信される。そして振動データ処理部39により、質量データベース37が参照され、機器情報に含まれる形式や型番に対応するアタッチメント20の質量M2を問い合わせる処理が実行される。
 また、システムUIを介してユーザ1によりアタッチメント20の機種が選択されている場合等には、選択された機種情報に基づいて、質量データベース37が参照される。また質量データベース37を参照する場合に限定されず、例えばゲーム機本体30が通信ユニット31を介して接続可能な所定のネットワークに接続された外部のデータベース等が適宜参照されてもよい。なお、図11を参照して説明したように、発生加速度a等に基づいて、アタッチメント20の装着が判定された場合には、質量M2を問い合わせる処理等は実行されない。
 アタッチメント20が装着されていないと判定された場合(ステップ101のNo)、アタッチメント20の質量M2の問い合わせ等は実行されずステップ103が実行される。
 ステップ103では、アタッチメント20の質量M2の情報(質量データ)が存在するか否かが判定される。アタッチメント20の質量データが存在する場合(ステップ103のYes)、アタッチメント20の質量データが読み込まれ、質量M2の値が設定される(ステップ104)。
 例えば、質量データベース37等に機器情報に該当するアタッチメント20が存在する場合、振動データ処理部39により、アタッチメント20の質量データが読み込まれ、アタッチメント20の質量M2が設定される。このように、振動データ処理部39により、アタッチメント20の機器情報に基づいて、質量データが取得される。これにより、アタッチメント20の質量M2を容易かつ精度よく取得することが可能となる。
 また例えば、ユーザ1によりアタッチメント20の機種が選択される場合等には、選択された機種の質量データが質量データベース37等から読み込まれる。このように、振動データ処理部39により、ユーザ1により入力された入力情報に基づいて、質量データが取得されてもよい。これにより、例えば機器情報を供給しないアタッチメント20(追加バッテリや接続端子を持たないアタッチメント20等)が用いられる場合であっても、アタッチメント20の質量M2を適正に設定することが可能となる。
 なお、アタッチメント20が非純正品である等の理由で、アタッチメント20の質量データが取得できない状況等も考えられる。このような場合、後述するステップ105により、アタッチメント20の質量M2を推定する処理が実行される。あるいは、上記したようにアタッチメント20が接続されたこと自体は、ユーザ1のUI操作等によって認識し、質量M2としてはデフォルトの質量(例えば100g等)が設定されてもよい。例えばこのような処理も可能である。
 アタッチメント20の質量データが存在しない場合(ステップ103のNo)、アタッチメント20の質量M2を推定する処理が実行される(ステップ105)。以下では、質量M2を推定する処理をM2推定プログラムと記載する。
 M2推定プログラムでは、振動データ処理部39により、加速度センサ16の検出結果に基づいて、質量データが算出される。すなわち、ゲームコントローラ10内の加速度センサ16を使って、アタッチメント20の質量M2が推定される。
 本実施形態では、アタッチメント20が装着されていない状態で、ゲームコントローラ10単体を振動させた場合のテストデータが予め記憶される。具体的には、ボイスコイルモータ17を振動させるテスト信号の波形(テスト波形)のパラメータと、テスト信号に応じて振動した場合にゲームコントローラ10単体に発生する発生加速度a(以下、装着前加速度と記載する)とが、テストデータとして記憶される。
 テスト信号は、質量M2を推定するための信号である。テスト信号のテスト波形は、例えばSin波形や三角波形等の任意の波形が用いられる。テスト波形の形状・周期・振幅等は限定されない。装着前加速度は、例えば商品出荷前に適宜測定される。この場合、ゲームコントローラ10ごとに装着前加速度が測定されてもよい。これにより、ゲームコントローラ10の固体差の影響を抑制することが可能となる。あるいは、同じ機種のゲームコントローラ10に対して、同一の装着前加速度が設定されてもよい。
 これらのテストデータ(テスト波形及び装着前加速度)は、例えばゲームコントローラ10内のメモリ等に記憶され、商品出荷時にシステムとして既知の値となる。この他、テストデータを記憶する方法やタイミング等は限定されない。例えばM2推定プログラムが実行される前の任意のタイミングで装着前加速度を検出して記憶するといった処理が実行されてもよい。本実施形態では、テスト信号は、所定の振動信号に相当し、装着前加速度は、第2の加速度に相当する。
 M2推定プログラムでは、アタッチメント20の接続が検出された場合に、質量M2の算出のために、振動データ処理部39により、テスト波形の電圧信号(テスト信号)がボイスコイルモータ17に印加される。すなわち、振動データ処理部39は、ボイスコイルモータ17をテスト波形で振動させる。
 この時、ゲームコントローラ10に発生する発生加速度a(以下、装着後加速度と記載する)が加速度センサ16により検出される。従って、加速度センサ16は、テスト信号に応じてアタッチメント20が装着されたゲームコントローラ10に発生する装着後加速度を検出する。本実施形態では、装着後加速度は第1の加速度に相当する。
 また振動データ処理部39により、予め記憶されているテストデータが参照され、テスト信号に応じてアタッチメント20が装着されていないゲームコントローラ10に発生する装着前加速度が取得される。そして、装着後加速度及び装着前加速度に基づいて、質量データが算出される。
 本実施形態では、発生加速度aと加振対象63の質量との間の(1)式の反比例関係に従って、アタッチメント20の装着前後での加振対象63の質量の増加分、すなわちアタッチメント20の質量M2が算出される。なお、アタッチメント20の装着の前後において、テスト波形を印加することでボイスコイルモータ17に発生する加振力Fは略一定であると仮定する。以下、具体的に説明する。
 例えば、アタッチメント20が装着されていない状態で、ボイスコイルモータ17に6Vppの電圧(テスト信号)を印可した際に、ゲームコントローラ10単体に発生する装着前加速度が3Gppだったとする。なおVpp及びGppとは、例えばテスト波形及び加速度における最小値から最大値までの最大振幅である。
 またアタッチメント20が装着された状態で、ボイスコイルモータ17に装着前と同様の6Vppの電圧(テスト信号)が印加され、2Gppの装着後加速度が検出されたとする。すなわち、アタッチメント20の装着により加振対象63の質量が増加して、装着前加速度3Gppから、装着後加速度2Gppに発生加速度aが減少したとする。
 この場合、(1)式より、ボイスコイルモータ17が加振する加振対象63の質量は、アタッチメント20の装着後に1.5倍に増加したことになる。すなわち、アタッチメント20の装着後の加振対象63の質量M1+M2は、1.5×M1となる。従って、アタッチメント20の質量M2は、M2=0.5×M1と算出される。
 このように、アタッチメント20の装着の前後で、テスト波形により発生する加速度をそれぞれ検出することで、アタッチメント20の質量データ(質量M2)が推定される。これにより、例えば任意のアタッチメント20に対してその質量M2を精度よく算出することが可能となる。
 なお、ユーザ1がゲームコントローラ10を把持している場合には、ユーザ1の把持力の大きさによって、コントローラの実質質量が変化することが考えられる。例えば把持力の強さに応じて、コントローラが揺れにくくなり、実質質量が増加する場合があり得る。
 そのため、上記したように、発生加速度aからアタッチメント20の質量M2を推測する処理(M2推定プログラム)は、ユーザ1が手を離している非把持の状態で行うことが望ましい。これにより、ユーザ1の把持力による実質質量の増加による影響等を回避して、アタッチメント20の質量M2を精度よく推定することが可能となる。
 また、ユーザ1が手を離して複合コントローラ21(ゲームコントローラ10及びアタッチメント20)が硬い机の上等に置かれたとする。この場合、複合コントローラ21が振動する際には、机との間で接触・非接触を繰り返すことが考えられる。この結果、例えばSin波形等のテスト信号の電圧入力に対して、ノイズ成分を多く含む加速度出力が検出される可能性があり得る。
 そのため、例えばテスト信号と発生加速度aとの相関を見て、両者が同様の波形になっている場合に、アタッチメント20の質量M2を推測することが望ましい。このような状態は、例えば、複合コントローラ21がソファやカーペット等の柔らかい面の上に置かれている場合に実現される。これにより、加速度センサ16は、テスト信号に応じた加速度を精度よく検出することが可能となり、例えば質量M2の推測精度を向上することが可能である。
 例えば、M2推定プログラムの推定処理を実行する際に、ユーザ1に対して、複合コントローラ21から手を離し、複合コントローラ21を柔らかい面に載置する旨を伝えるメッセージ(音声や画像等)が提示される。これにより、M2推定プログラムを精度よく実行することが可能である。もちろん、ユーザ1が複合コントローラ21を持った状態で、M2推定プログラムが実行されてもよい。
 また、M2推定プログラムとして、テスト信号を用いた振動を発生させることなく、アタッチメント20の質量M2を推定する処理が実行されてもよい。この場合、振動データ処理部39は、加速度センサ16により検出される加速度の時間変化に基づいて、質量データを算出する。
 例えば、図11を参照して説明したように、アタッチメント20の装着の前後では、発生加速度aと駆動信号2との比率が大きく変化する。例えば、アタッチメント20が装着されていない期間Taでは、発生加速度aと駆動信号2との比率(発生加速度a/駆動信号2)の時間平均値は1.18である。またアタッチメント20が装着されている期間Teでは、時間平均値は0.58である。
 これは、例えば同レベルの駆動信号2に対して、アタッチメント20の装着の前後で、複合コントローラ21に発生する発生加速度aのレベルが1.18から0.58に低下した状態であるとも言える。従って、アタッチメント20を装着する前の発生加速度a0に対する、アタッチメント20を装着した後の発生加速度a1の減少率α=(a1/a0)は、0.58/1.18≒1/2となる。
 また(1)式より、アタッチメント20の装着の前後での発生加速度a0及びa1は、それぞれ、a0=F/M1、a1=F/(M1+M2)と表される。従って、減少率αは、以下の式で表される。
 α=a1/a0=M1/(M1+M2)      (3)
 上記したように、図11に示す例では、α≒1/2となる。すなわち、(M1+M2)≒2×M1となり、アタッチメント20の装着後の質量M1+M2が、装着前の2倍に増加したことが分かる。この場合、装着されたアタッチメント20の質量M2(質量の増加分)は、M2≒M1と推定される。
 この他、M2推定プログラムの具体的な処理等は限定されない。例えばアタッチメント20の質量M2を推定可能な任意の処理が実行されてよい。M2推定プログラムによる推定処理が終了すると、ステップ104が実行され、推定結果が質量M2の値として設定される。
 アタッチメント20の質量M2が設定されると、コンテンツ処理部38により、ゲームコンテンツの進行状況に応じたボイスコイルモータ17用の触覚提示信号が生成され、振動データ処理部39に出力される(ステップ106)。
 図2を参照して説明したように、コンテンツ処理部38は、所定の触覚を提示する触覚提示信号を生成する。例えば、ゲームコンテンツの進行に応じて、所定の触覚を提示するように設計された振動波形のデータが適宜読み込まれて触覚提示信号が生成される。あるいは、ゲームコンテンツの進行に合わせた触覚提示信号が直接生成されてもよい。
 例えばゲームコンテンツにおいて、弾丸等が発射された時の触覚や、ダメージを受けたときの触覚等を提示するように、触覚提示信号が設計される。なお触覚提示信号は、例えばゲームコントローラ10が単体で用いられる場合を想定して設計される。従ってコンテンツ処理部38は、ゲームコントローラ10が単体で用いられる場合のボイスコイルモータ17の制御値(入力値)を生成するとも言える。生成された触覚提示信号は、振動データ処理部39により適宜取得される。
 触覚提示信号が取得されると、アタッチメント20が装着されているか否かが判定される(ステップ107)。図10に示すように、この判定処理は、ステップ103~109までのループ処理の中で、アタッチメント20が装着されているか否かを判定する処理となる。
 アタッチメント20の装着の有無の判定は、例えばステップ101で説明した処理と同様に実行される。アタッチメント20が装着されていると判定された場合(ステップ107のYes)、触覚提示信号が補正され、触覚出力信号が生成される(ステップ108)。
 図12は、補正された触覚提示信号の一例を示すグラフである。図12A~図12Cには、コンテンツ処理部38により生成された触覚提示信号3(点線)と、触覚提示信号3が補正された触覚出力信号4(実線)とがプロットされている。なお触覚提示信号3は、一例としてSin波形で示されているが、触覚提示信号3の波形に係らず、本技術は適用可能である。
 (1)式、及び(2)式を参照して説明したように、アタッチメント20が装着されることで、ボイスコイルモータ17を含む振動系の振動特性が変化する。本実施形態では、このような振動特性の変化に対して、アタッチメント20の装着前と略同様の振動が実現されるように、触覚提示信号3が補正される。具体的には、質量データ等のアタッチメント情報に基づいて、触覚提示信号3により表される振幅及び周波数成分との少なくとも一方に関する補正情報が生成される。そして補正情報に基づいて触覚提示信号3が補正され、触覚出力信号4が生成される。
 図12Aには、触覚提示信号3の振幅を補正して算出された触覚出力信号4の一例を示すグラフが示されている。以下では、触覚提示信号3の振幅を補正する処理について説明する。
 一般に加振対象63に作用する加振力Fは、振動子52の振幅(変位量)Xと、ばね定数kを用いて、F=k×Xと表される。従って(1)式より、発生加速度a=kX/Mとなる。この振動子52の振幅Xは、触覚提示信号3の振幅を調整することで制御可能である。すなわち、触覚提示信号3の振幅を補正することで、発生加速度aの大きさを制御することが可能である。
 本実施形態では、アタッチメント20の装着後の発生加速度a1が、アタッチメント20の装着前の発生加速度a0と略等しくなるように触覚提示信号3の振幅が補正される。まず、(1)式に基づいて導出された(3)式に示す発生加速度aの減少率αが算出される。
 例えば、振動子52を除いたゲームコントローラ10の質量M1(既定値)と、アタッチメント20の質量M2(質量データ)とを用いて、減少率α=M1/(M1+M2)が算出される。すなわち、質量データに基づいて、ボイスコイルモータ17の振動によりゲームコントローラ10に発生する加速度の、アタッチメント20の装着に伴う減少率αが算出される。本実施形態では、減少率αは、変化率に相当する。
 算出された減少率αの逆数が、触覚提示信号3の振幅に乗算され。触覚提示信号3の振幅が補正される。この場合、減少率αの逆数は、触覚提示信号3の振幅に関する補正情報となる。この処理は、振動子52の振幅Xに1/α=(M1+M2)/M1を乗算することに相当する。このように、本実施形態では、振動データ処理部39により、加速度の減少率αに基づいて、触覚提示信号3の振幅を補正される。
 この結果、ゲームコントローラ10及びアタッチメント20の発生加速度a2は、a2=kX/α/(M1+M2)=kX/M1となる。すなわち、振幅が補正された触覚提示信号3に応じて発生する発生加速度a2は、アタッチメント20の装着前の発生加速度a0と等しくなる。
 例えば、図11を参照して説明した例では、アタッチメント20の質量M2≒M1であり、加速度の減少率α=1/2である。このような場合、図12Aに示すように、触覚出力信号4の振幅は、触覚提示信号3の2倍に補正される。この触覚出力信号4を用いてボイスコイルモータ17を駆動することで、アタッチメント20の装着前と略同様の加速度を発生させることが可能となる。この結果、アタッチメント20の装着前と略同様の振動が提示され、所定の触覚を精度よく提示することが可能となる。
 なお触覚提示信号3の振幅について、最大値等が設定されている場合があり得る。例えば振幅の最大値が1.0に設定されたシステムにおいて、減少率αの逆数と振幅との乗算結果が1.0を超える場合には、乗算結果を適宜補正して、触覚出力信号4の振幅を設定する処理が実行される。
 あるいは、振幅が1.0になったタイミングで波形が崩れて、異音が発生するなどの弊害を避けるために、上記の補正処理を、触覚提示信号3の振幅の大きさに応じて、段階的にかけるような計算をさらに加えて処理してもよい。すなわち、触覚出力信号4の振幅が適正な範囲に収まるように、触覚提示信号3の振幅に応じて、補正量が調整される。例えばこのような処理が可能である。
 また複合コントローラ21(アタッチメント20及びゲームコントローラ10)の発生加速度aを高める他の方法が併用されてもよい。この場合、振動データ処理部39により、以下で説明する発生加速度aを高める各方法に合わせて、触覚提示信号3が適宜補正される。
 例えば、アタッチメント20内に、振動を増幅させるパッシブラジエータ等が設けられてもよい。パッシブラジエータは、例えば、アタッチメント20及びゲームコントローラ10からなる振動系の共振周波数付近の共振周波数を持つように適宜設計される。これにより、無給電で振動量を高めることが可能である。
 また、アタッチメント20内に他の振動アクチェータ(ボイスコイルモータ等)が搭載されてもよい。この振動アクチュエータを給電して駆動し、振動量を高めることが可能である。なお、このアタッチメント20内の振動アクチュエータは、ゲームコントローラ10に対してゲーム機本体30から送信される触覚出力信号4を拡張端子経由で共有して駆動されてもよい。
 また、アタッチメント20に大型VCMが搭載されてもよい。この場合、アタッチメント20及びゲームコントローラ10の振動系をアタッチメント20内の大型VCMで駆動し、ゲームコントローラ10内のVCM(ボイスコイルモータ17)の駆動を停止する。これにより、ゲームコントローラ10の電力消費を抑制可能である。このように、アタッチメント20に搭載される振動アクチュエータや大型VCMは、ゲームコントローラ10(触覚提示装置)を加振する振動素子として機能する。
 また、ゲームコントローラ10の電力消費を抑制するために、アタッチメント20内のバッテリからゲームコントローラ10に対して電力が供給されてもよい。また例えば、ゲームコントローラ10に3.7Vのバッテリが搭載され、アタッチメント20に5.0Vのバッテリが搭載されているとする。例えばアタッチメント20からゲームコントローラ10に5.0Vの電圧を供給することで、ボイスコイルモータ17に印可される最大電圧を高めることが可能である。これにより、上記した触覚出力信号4の振幅が1.0(最大値)を超えてしまうような場合であっても、最大値を拡張して振動量を補うことが可能である。この結果、所望の加速度を容易に実現することが可能である。
 図12Bには、触覚提示信号3の周波数成分を補正して算出された触覚出力信号4の一例を示すグラフが示されている。以下では、触覚提示信号3の周波数成分を補正する処理について説明する。
 本実施形態では、振動データ処理部39により、質量データに基づいて、ボイスコイルモータ17を含む振動系の共振周波数f0の、アタッチメント20の装着に伴うシフト量が算出される。上記した(2)式を参照して説明したように、振動系の共振周波数f0は、換算質量M'を用いて表される。
 振動データ処理部39により、アタッチメント20の質量M2(質量データ)に基づいて、アタッチメント20が装着された振動系での換算質量M'が算出される。また算出された換算質量M'を用いて、(2)式に従って、アタッチメント20が装着された振動系での共振周波数f01が算出される。
 またアタッチメント20が装着される前の共振周波数f00の値が読みこまれる。そして、アタッチメント20の装着に伴う共振周波数f0のシフト量Δf0=f00-f01が算出される。この共振周波数のシフト量Δf0に基づいて、触覚提示信号3の周波数成分が補正される。この場合、共振周波数のシフト量Δf0は、触覚提示信号3の周波数成分に関する補正情報となる。例えば触覚提示信号3に対して、シフト量Δf0に応じたピッチシフト等の処理が実行される。なおピッチシフトとは、周波数成分を所定の周波数だけシフトする処理である。
 例えば、アタッチメント20が装着されていないゲームコントローラ10単体の振動系でボイスコイルモータ17の共振周波数f00が53Hzだったとする。この場合、53HzのSin波が触覚提示信号3として設定することで、最大の加速度(装着前加速度a0)を出力することが可能となる。
 またアタッチメント20の装着により、ゲームコントローラ10及びアタッチメント20を含む振動系でボイスコイルモータ17の共振周波数f01が50Hzに変化したとする。この場合、53HzのSin波形の触覚提示信号3に対する加速度出力は、元の設計の想定よりも小さくなることが考えられる。
 このため、触覚提示信号3を53HzのSin波形から、50HzのSin波形に変化させるピッチシフトの処理が実行される。すなわち、53Hzの周波数成分が、50Hzの周波数成分となるように、触覚提示信号3が補正される。図12Bには、f00=53Hzである触覚提示信号3の周期(1/f00)と、f01=50Hzである触覚出力信号4の周期(1/f01)とが矢印を用いて模式的に図示されている。
 図12Bに示すように、ピッチシフトの処理では、時間軸における波形全体が拡大されることになる。このように、触覚提示信号3を補正することで、アタッチメント20が接続された状態であっても、振動系として最大の加速度を出力することが可能である。
 なお、触覚提示信号3が単純なSin波形ではなく、広い周波数帯域を含む広帯域信号であった場合にも、同じように触覚提示信号3に対して3Hzのピッチシフトの処理を加えることにより、共振周波数f0の変化による発生加速度の低下を回避することができる。これにより、設計意図にあった振動を実現することが可能となり、所定の触覚を精度よく提示することが可能となる。
 図12Cには、触覚提示信号3の振幅及び周波数成分の両方を補正して算出された触覚出力信号4の一例を示すグラフが示されている。図12Cでは、振動データ処理部39により、図12Aを参照して説明した振幅の補正と、図12Bを参照して説明した周波数成分の補正とがそれぞれ実行される。
 例えば、ピッチシフトの処理により、アタッチメント20が装着された振動系での最大の加速度が出力されるように、触覚提示信号3の周波数成分が補正される。さらにアタッチメント20の装着前と略同様の加速度が発生するように、ピッチシフトされた触覚提示信号3の振幅が補正される。これにより、所望の加速度を効率的に発生させることが可能となる。この結果、エネルギー消費を抑制しつつ十分に迫力のある触覚を精度よく提示することが可能である。
 このように、本実施形態では、振動データ処理部39により、アタッチメント20が装着されたゲームコントローラ10の振動が、アタッチメント20が装着されていないゲームコントローラ10の振動と略同様となるように、ボイスコイルモータ17が制御される。これにより、アタッチメント20の装着の前後で略同様の振動を発生することが可能となる。この結果、触覚の強度低下等が回避され、優れた触覚効果を発揮することが可能となる。
 この他、触覚提示信号3を補正する方法等は限定されない。例えば、装着されたアタッチメント20の質量M2等に応じて、ゲームコンテンツで用いられる所定の触覚が再現されるように、触覚提示信号3の振幅及び周波数成分等が適宜補正されてよい。また例えば、ボイスコイルモータ17が適正に振動可能な範囲に合わせて、触覚提示信号3が補正されてもよい。
 例えば、アタッチメント20が装着されて振動系の重量が変化することにより、ボイスコイルモータ17の振動子52が筐体13等に機械的に接触する現象(メカ当たり)が起きる可能性がある。すなわち、ボイスコイルモータ17と筐体13との機械的な干渉が発生する可能性がある。このようなメカ当たりが発生しないように、触覚提示信号3が補正されてもよい。
 ゲームコントローラ10には、例えば振動子52と筐体13とのメカ当たりを回避するための干渉条件が設定される。干渉条件は、例えば振動子52と筐体13との接触が回避されるような、触覚提示信号3の振幅や周波数の限界値を含む条件である。すなわち、ゲームコントローラ10は、干渉条件で指定される振幅や周波数がメカ当たりを生じない限界値となるように設計されるとも言える。
 例えば、ゲームコントローラ10単体の共振周波数f00が53Hzであり、振動子52と筐体13との接触が回避される限界の条件(干渉条件)として、周波数50Hz、振幅1.0(最大値)のSin波形の触覚提示信号3が設定されていたとする。すなわち、この干渉条件は、共振周波数f00よりも3Hz低い周波数成分では、振幅を最大値にしてもメカ当たりが生じないことを意味する。
 このゲームコントローラ10にアタッチメント20が装着され、振動系の共振周波数f01が50Hzになったとする。このような場合、振動データ処理部39は、上記したピッチシフトの処理により、例えば50HzのSin波形を有する触覚提示信号3を、47HzのSin波形を有する触覚出力信号4に補正する。すなわち、ゲームコントローラ10単体での干渉条件に合わせて、アタッチメント20装着後の共振周波数f01と同様の周波数成分を3Hz低い周波数成分に補正する処理が実行される。
 このように、振動データ処理部39は、ボイスコイルモータ17と筐体13との機械的な干渉に関する干渉条件に基づいて、触覚提示信号3を補正する。これにより、メカ当たりの問題が回避され、振動子52と筐体13との衝突による異音の発生や、不要な振動の発生等を事前に回避することが可能となる。
 図10に戻り、補正された触覚提示信号3(触覚出力信号4)がゲームコントローラ10に送信される(ステップ109)。すなわち、ステップ107でアタッチメント20が装着されていると判定された場合、ボイスコイルモータ17を制御するための制御信号として、触覚出力信号4がゲームコントローラ10に送信される。
 なお、ゲームコンテンツの進行中にアタッチメント20が取り外される等の理由により、アタッチメント20が装着されていないと判定された場合(ステップ107のNo)、触覚提示信号3の補正処理は実行されない。この場合、ステップ109では、コンテンツ処理部38により生成されたゲームコントローラ10単体を振動させるための触覚提示信号3が、ボイスコイルモータ17を制御するための制御信号としてそのまま送信される。
 触覚提示信号3が送信されると、ステップ103以降の処理が再度実行される。なお、ステップ105において推定されたアタッチメント20の質量M2は、例えばアタッチメント20が取り外されない限り次のループ処理においても触覚提示信号3の補正等に用いられる。これにより、触覚提示信号3を補正するループ処理をスムーズに実行することが可能となる。
 以上、本実施形態に係る制御部33では、ゲームコントローラ10を加振するボイスコイルモータ17が制御される。ボイスコイルモータ17の制御は、ボイスコイルモータ17を駆動するための触覚提示信号3と、ゲームコントローラ10に接触するアタッチメント20に関するアタッチメント情報とに基づいて実行される。これにより、アタッチメント20に応じたゲームコントローラ10の振動制御が可能となり、所望の触覚を提示することが可能となる。
 触覚を提示する装置に機能拡張等のためのアタッチメントを装着した場合、振動系の周波数特性等が変化することが考えられる。例えば、把持型の棒状コントローラに対して、銃の形状を持つアタッチメント等を接続した場合に、当初のゲーム設計者の意図した振動が発生しないといった問題が生じる可能性がある。
 本実施形態では、ゲームコントローラ10に装着されるアタッチメント20について、装着の有無や、アタッチメント20の質量M2等に関する情報が取得される。そして取得されたアタッチメント20の情報に基づいて、ボイスコイルモータ17の触覚提示信号が補正される。
 例えば、アタッチメント20の機器情報に基づいて、アタッチメント20の質量M2が読み込まれる。このように、アタッチメント20の接続状態を検出する仕組みを用いることで、アタッチメント20の種別に応じて、触覚提示信号3を的確に補正することが可能となる。この結果、所望の加速度を発生させることが可能となり、ユーザ1に対して所望の触覚を精度よく提示することが可能となる。
 また例えば、ゲームコントローラ10の発生加速度aに基づいて、アタッチメント20の質量M2が推定される。これにより、機器情報や質量等が不明なアタッチメント20や、ゲームコントローラ10との通信機能等を持たないアタッチメント20等が用いられる場合であっても、触覚提示信号3を適正に補正することが可能である。これにより、アタッチメント20の種類に係らず、所望の触覚を適正に提示することが可能となる。
 また本実施形態では、アタッチメント情報に応じて、触覚提示信号3の振幅や周波数成分が補正される。これにより、触覚提示信号3の波形等に係らず、所望の触覚を高精度に提示することが可能となる。
 ゲームコントローラ10等におけるHaptics提示(触覚提示)の機能は、今後さらに一般化・高度化すると見込まれる。本実施形態では、ボイスコイルモータ17の振動モデルに従って、触覚提示信号3の振幅及び周波数成分を精度よく補正することが可能である。これにより、アタッチメント20等が装着された場合であっても、詳細な触覚を十分精度よく提示することが可能となり、優れた触覚効果を発揮することが可能である。
 <第2の実施形態>
 本技術に係る第2の実施形態の触覚提示システムについて説明する。これ以降の説明では、上記の実施形態で説明した触覚提示システム100における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
 本実施形態では、ユーザ1がゲームコントローラ10を把持する把持力の増減に応じて、触覚提示信号3を補正する処理が実行される。以下では、ユーザ1がゲームコントローラ10を単体で使用している場合を例に説明を行う。本実施形態では、ゲームコントローラ10を把持するユーザ1の手は、触覚提示装置に接触する接触体の一例である。
 ユーザ1がゲームコントローラ10をつかむ力(把持力)が変化すると、ゲームコントローラ10が加振される度合いが変化する。例えばユーザ1がゲームコントローラ10を強く握った場合には、ゲームコントローラ10が揺れにくくなり、ゲームコントローラ10に発生する発生加速度aが低下する。
 このように把持力が増加することで発生加速度aが低下した状態は、例えば図6に示す物理モデルにおいて、加振対象63の質量Mが実質的に増加した状態であると見做すことが可能である。すなわち、ユーザ1の把持力の変化に伴い、ゲームコントローラ10単体の実質的な質量(実質質量)が変化するとも言える。把持力の増減の要因としては、例えば、各ユーザの興奮状態等による状況変化や、ユーザ1の交代といった要素が考えられる。
 例えば図9の下のグラフの点線で囲まれた領域5では、アタッチメント20が装着されていない状態で、ゲームコントローラ10単体に発生する発生加速度aと、駆動信号2との比率(発生加速度a/駆動信号2)が変化する。このような変化は、ユーザ1がゲームコントローラ10をつかむ把持力が変化することで生じると考えられる。
 本実施形態では、振動データ処理部39により、ゲームコントローラ10を把持するユーザ1の把持力に関する把持力情報が取得される。ここで把持力情報とは、例えばユーザ1の把持力を表すことが可能な情報である。典型的には、把持力の変化を示すデータ等が把持力情報として用いられる。本実施形態では、把持力情報は、接触体情報に相当する。
 上記したようにアタッチメント20等が装着されていない状態で検出される発生加速度aと駆動信号2との比率は、把持力の変化を示すデータである。例えば、振動データ処理部39は、ゲームコントローラ10の加速度センサ16により検出された加速度データを適宜受信し、把持力の変化を示すデータとして、生加速度aと駆動信号2との比率を算出する。このように、振動データ処理部39では、ゲームコントローラ10に搭載された加速度センサ16の検出結果に基づいて、把持力情報が算出される。
 なお、把持力情報の具体的な種類等は限定されない。例えばゲームコントローラ10の把持部11(筐体13)に把持力を検出する圧力センサ等が設けられ、ユーザ1の把持力を直接検出するような構成が採用されてもよい。この他、把持力の変化量等を表すことが可能な任意のデータが適宜用いられてよい。
 把持力情報(発生加速度aと駆動信号2との比率等)が取得されると、把持力情報に基づいて触覚提示信号3が補正され、補正された触覚提示信号3(触覚出力信号4)に基づいてボイスコイルモータ17が制御される。例えば、発生加速度aが低下している場合には、その分ユーザ1が感じる振動が弱くなっている。このため、それを補償するために、触覚提示信号3の振幅を増加する処理や、触覚提示信号3の周波数成分をシフトする処理等(図12等参照)が実行される。
 触覚提示信号3を補正する方法等は限定されない。例えば発生加速度aと駆動信号2との比率に基づいて、ユーザ1の把持力の増加によるゲームコントローラ10の実質質量の増加分が算出される。実質質量の増加分は、第1の実施形態におけるアタッチメント20の質量M2に相当する。例えば、この増加分に基づいて、触覚提示信号3の振幅や周波数成分が適宜補正されてもよい。また、発生加速度aと駆動信号2との比率が所定のレベルに維持されるように、触覚提示信号3(駆動信号2)の振幅や周波数成分を変化させるフィードバック処理等が適宜実行されてもよい。
 このように、本実施形態では、触覚提示信号3とゲームコントローラ10を把持するユーザ1の把持力に関する把持力情報に基づいて、ゲームコントローラ10を加振するボイスコイルモータ17が制御される。ユーザ1がゲームコントローラ10をつかむ力等が変化した場合であっても、ゲームコントローラ10を適正に振動させることが可能となり、優れた触覚効果を発揮することが可能となる。
 なお、把持力情報に基づいて駆動信号2を補正する処理は、ゲームコントローラ10が単体で使用される場合に限定されず、アタッチメント20が装着されたゲームコントローラ10(複合コントローラ21)が使用される場合にも適用可能である。この場合、複合コントローラ21が、触覚提示装置に相当する。例えば、複合コントローラ21に発生する発生加速度a(装着後加速度a1)が所定のレベルに維持されるように、ユーザ1の把持力に応じて触覚提示信号3の振幅や周波数成分が適宜補正される。
 また、アタッチメント20の装着に伴う触覚提示信号3の補正処理と、ユーザ1の把持力の変化に伴う触覚提示信号3の補正処理とが、両方実行されてもよい。例えばアタッチメント20の質量M2等に基づいて補正された触覚提示信号が、ユーザ1の把持力の変化(実質質量の増減)等に基づいて補正される。このような処理が実行されてもよい。
 <その他の実施形態>
 本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
 図13~図15は、触覚提示装置とアタッチメントとの他の一例を示す模式図である。図13は、両手持ちのゲームコントローラ80と、そのアタッチメント20の外観を示す模式図である。図13Aには、振動アクチュエータ(ボイスコイルモータ等)を搭載した両手持ちのゲームコントローラ80が図示されている。この両手持ちのゲームコントローラ80が、触覚提示装置として機能する。
 ゲームコントローラ80は、左右の把持部81を有し、例えば把持部81の内部に振動アクチュエータが搭載される。ユーザ1は、左右の把持部81を左手及び右手で把持することで、選択ボタンやアナログスティック等を操作してゲームコンテンツを進行させるための入力操作を行う。また振動アクチュエータが適宜振動することで、ユーザ1の左手及び右手に所定の触覚が提示される。
 図13Bに示すアタッチメント20eは、外部バッテリであり、両手持ちのゲームコントローラ80の動作時間を延長する。また図13Cに示すアタッチメント20fは、文字入力用の外部キーボードであり、ユーザ1の文字入力等をサポートする。アタッチメント20e及び20fは、左右の把持部81の間に装着される。
 例えばアタッチメント20e及び20fが両手持ちのゲームコントローラ80と通信可能に構成されている場合には、各アタッチメント20の機器情報が取得され、各アタッチメント20の質量がデータベース等から読み込まれる。あるいは、ゲームコントローラ80に加速度センサ等が搭載されている場合には、各アタッチメント20の質量を推定する処理等が実行されてもよい。そして、アタッチメント20の質量に基づいて、両手持ちのゲームコントローラ80が単体で用いられる場合の触覚提示信号3が補正される。
 図14は、携帯端末82とそのアタッチメント20の外観を示す模式図である。図14Aには、振動アクチュエータ及び加速度センサを搭載した携帯端末82が図示されている。携帯端末82は、例えばスマートフォンやタブレット等であり、ユーザ1が片手あるいは両手で持って使用可能な端末装置である。この他、携帯端末82の種類等は限定されない。この携帯端末82が、触覚提示装置として機能する。
 図14Bに示すアタッチメント20gは、携帯端末82のカバーである。アタッチメント20gは、例えば携帯端末82のディスプレイ等が見えるように携帯端末82に装着され、携帯端末82を保護する機能等を有する。カバー(アタッチメント20g)の形状等は限定されない。携帯端末82は、例えば所定のテスト波形で振動することで、アタッチメント20gの質量を推定する。あるいは、ユーザ1によりアタッチメント20gの質量等が設定されてもよい。これらアタッチメント20gの質量等に基づいて、所定の触覚を提示するための触覚提示信号3が補正される。
 図15は、ウェアラブルデバイス83とそのアタッチメント20の外観を示す模式図である。図15Aには、スマートウォッチ型のウェアラブルデバイス83が図示されている。ウェアラブルデバイス83は、例えばユーザ1の腕に装着して用いられる。この他、ウェアラブルデバイス83の種類等は限定されず、ユーザ1の身体の各部に装着可能に構成された任意のデバイが用いられてよい。
 ウェアラブルデバイ83は、振動アクチュエータ及び加速度センサを搭載した本体84と、本体84をユーザ1の身体(腕等)に装着するための装着バンド85とを有する。図15に示す例では、本体84が触覚提示装置として機能する。また装着バンド85は、本体84に着脱可能に構成されたアタッチメント20hである。
 図14Bには、図14Aに示す装着バンド85とは異なるバンド(アタッチメント20i)が装着されたウェアラブルデバイス83が図示されている。このように、装着バンド85(アタッチメント20h及び20i等)が交換された場合であっても、その質量等に応じて、本体84(振動アクチュエータ)を振動させる触覚提示信号3を適宜補正することにより、所定の触覚を提示可能である。
 このように、触覚提示装置やアタッチメント20のタイプ等によらず、本技術を用いることで振動アクチュエータを駆動するための触覚提示信号3を適宜補正することが可能である。この結果、設計者等の意図する所定の触覚を精度よく提示することが可能である。なお、上記した例に限定されず、任意の触覚提示装置やアタッチメント20が用いられる場合に、本技術は適用可能である。
 上記では、アタッチメント情報として、アタッチメント20の質量に関する情報が取得された。これに限定されず、例えばアタッチメント20の形状、材質、剛性等に関する情報が取得され、これらの情報に基づいて触覚提示信号3を補正する処理等が実行されてもよい。
 例えばユーザ1が把持する部位と振動アクチュエータ(VCM等)との距離が離れている場合等には、触覚提示信号3の振幅を大きく補正するといった処理が実行されてもよい。また例えば、アタッチメント20の材質が柔らかい場合に、触覚提示信号3の振幅を大きく補正するといった処理が実行されてもよい。これにより、振動が伝わりにくい状態にあったとしても、所定の触覚を適正に提示することが可能である。
 上記では、アタッチメント20の質量等に基づいて触覚提示信号3の補正処理が実行された。例えば、アタッチメント20が装着された場合に、アタッチメント20の種類等に係らず、触覚提示信号3の振幅を所定の割合(デフォルト値)で増加するといった処理が実行されてもよい。これにより、触覚提示信号3の補正処理に要する演算コストを低下することが可能である。例えばこのような処理が実行されてもよい。
 上記では、ボイスコイルモータ等のリニア振動アクチュエータを用いる場合について説明した。リニア振動アクチュエータに代えて、他の振動アクチュエータ(振動素子)が用いられてもよい。例えば振動アクチュエータとして、偏心モータ等の回転型の振動素子等が用いられる場合にも本技術は適用可能である。この場合、偏心モータの回転速度や回転パターン等を適宜調整することで、発生加速度の低下を抑制することが可能である。この他、任意の振動アクチュエータを用いた触覚提示装置に対して、本技術は適用可能である。
 以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
 なお、本技術は以下のような構成も採ることができる。
(1)触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
 前記触覚提示装置に出力する触覚出力信号を制御する触覚制御部
 を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
 前記触覚制御部は、前記接触体情報に基づいて前記触覚提示信号を補正するために使用される補正情報と、前記触覚提示信号と、に基づいて前記触覚出力信号を制御する
 情報処理装置。
(3)(2)に記載の情報処理装置であって、
 前記触覚提示信号は、前記触覚提示装置を加振する振動素子の振幅及び周波数成分を表す信号であり、
 前記触覚制御部は、前記接触体情報に基づいて、前記触覚提示信号により表される振幅及び周波数成分の少なくとも一方に関する前記補正情報を生成する
 情報処理装置。
(4)(3)に記載の情報処理装置であって、
 前記接触体は、前記触覚提示装置に装着されるアタッチメントを含み、
 前記触覚制御部は、前記接触体情報として、前記アタッチメントの質量に関する質量情報を取得する
 情報処理装置。
(5)(4)に記載の情報処理装置であって、
 前記触覚制御部は、前記質量情報に基づいて、前記振動素子の振動により前記触覚提示装置に発生する加速度の、前記アタッチメントの装着に伴う変化率を算出する
 情報処理装置。
(6)(5)に記載の情報処理装置であって、
 前記触覚制御部は、前記加速度の変化率に基づいて、前記触覚提示信号の振幅を補正する
 情報処理装置。
(7)(4)から(6)のうちいずれか1つに記載の情報処理装置であって、
 前記触覚制御部は、前記質量情報に基づいて、前記振動素子を含む振動系の共振周波数の、前記アタッチメントの装着に伴うシフト量を算出する
 情報処理装置。
(8)(7)に記載の情報処理装置であって、
 前記触覚制御部は、前記共振周波数のシフト量に基づいて、前記触覚提示信号の周波数成分を補正する
 情報処理装置。
(9)(4)から(8)のうちいずれか1つに記載の情報処理装置であって、
 前記アタッチメントは、前記アタッチメントの機器情報を供給可能であり、
 前記触覚制御部は、前記アタッチメントの機器情報に基づいて、前記質量情報を取得する
 情報処理装置。
(10)(4)から(9)のうちいずれか1つに記載の情報処理装置であって、
 前記触覚制御部は、ユーザにより入力された入力情報に基づいて、前記質量情報を取得する
 情報処理装置。
(11)(4)から(10)のうちいずれか1つに記載の情報処理装置であって、
 前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有し、
 前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記質量情報を算出する
 情報処理装置。
(12)(11)に記載の情報処理装置であって、
 前記加速度センサは、所定の振動信号に応じて前記アタッチメントが装着された前記触覚提示装置に発生する第1の加速度を検出し、
 前記触覚制御部は、前記所定の振動信号に応じて前記アタッチメントが装着されていない前記触覚提示装置に発生する第2の加速度を取得し、前記第1及び前記第2の加速度に基づいて、前記質量情報を算出する
 情報処理装置。
(13)(11)又は(12)に記載の情報処理装置であって、
 前記触覚制御部は、前記加速度センサにより検出される加速度の時間変化に基づいて、前記質量情報を算出する
 情報処理装置。
(14)(3)から(13)のうちいずれか1つに記載の情報処理装置であって、
 前記振動素子は、前記触覚提示装置の筐体に支持され、
 前記触覚制御部は、前記振動素子と前記筐体との機械的な干渉に関する干渉条件に基づいて、前記触覚提示信号を補正する
 情報処理装置。
(15)(3)から(14)のうちいずれか1つに記載の情報処理装置であって、
 前記振動素子は、リニア振動アクチュエータである
 情報処理装置。
(16)(15)に記載の情報処理装置であって、
 前記リニア振動アクチュエータは、ボイスコイルモータである
 情報処理装置。
(17)(1)から(16)のうちいずれか1つに記載の情報処理装置であって、
 前記接触体は、前記触覚提示装置を把持するユーザの手を含み、
 前記触覚制御部は、前記接触体情報として、前記触覚提示装置を把持する前記ユーザの把持力に関する把持力情報を取得する
 情報処理装置。
(18)(17)に記載の情報処理装置であって、
 前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有し、
 前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記把持力情報を算出する
 情報処理装置。
(19)触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
 前記触覚提示装置に出力する触覚出力信号を制御する
 ことをコンピュータシステムが実行する情報処理方法。
(20)触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
 前記触覚提示装置に出力する触覚出力信号を制御するステップ
 をコンピュータシステムに実行させるプログラム。
 1…ユーザ
 3…触覚提示信号
 4…触覚出力信号
 10、80…ゲームコントローラ
 13…筐体
 16…加速度センサ
 17…ボイスコイルモータ
 20、20a~20i…アタッチメント
 21…複合コントローラ
 30…ゲーム機本体
 36…制御プログラム
 37…質量データベース
 38…コンテンツ処理部
 39…振動データ処理部
 63…加振対象
 100…触覚提示システム

Claims (20)

  1.  触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
     前記触覚提示装置に出力する触覚出力信号を制御する触覚制御部
     を具備する情報処理装置。
  2.  請求項1に記載の情報処理装置であって、
     前記触覚制御部は、前記接触体情報に基づいて前記触覚提示信号を補正するために使用される補正情報と、前記触覚提示信号と、に基づいて前記触覚出力信号を制御する
     情報処理装置。
  3.  請求項2に記載の情報処理装置であって、
     前記触覚提示信号は、前記触覚提示装置を加振する振動素子の振幅及び周波数成分を表す信号であり、
     前記触覚制御部は、前記接触体情報に基づいて、前記触覚提示信号により表される振幅及び周波数成分の少なくとも一方に関する前記補正情報を生成する
     情報処理装置。
  4.  請求項3に記載の情報処理装置であって、
     前記接触体は、前記触覚提示装置に装着されるアタッチメントを含み、
     前記触覚制御部は、前記接触体情報として、前記アタッチメントの質量に関する質量情報を取得する
     情報処理装置。
  5.  請求項4に記載の情報処理装置であって、
     前記触覚制御部は、前記質量情報に基づいて、前記振動素子の振動により前記触覚提示装置に発生する加速度の、前記アタッチメントの装着に伴う変化率を算出する
     情報処理装置。
  6.  請求項5に記載の情報処理装置であって、
     前記触覚制御部は、前記加速度の変化率に基づいて、前記触覚提示信号の振幅を補正する
     情報処理装置。
  7.  請求項4に記載の情報処理装置であって、
     前記触覚制御部は、前記質量情報に基づいて、前記振動素子を含む振動系の共振周波数の、前記アタッチメントの装着に伴うシフト量を算出する
     情報処理装置。
  8.  請求項7に記載の情報処理装置であって、
     前記触覚制御部は、前記共振周波数のシフト量に基づいて、前記触覚提示信号の周波数成分を補正する
     情報処理装置。
  9.  請求項4に記載の情報処理装置であって、
     前記アタッチメントは、前記アタッチメントの機器情報を供給可能であり、
     前記触覚制御部は、前記アタッチメントの機器情報に基づいて、前記質量情報を取得する
     情報処理装置。
  10.  請求項4に記載の情報処理装置であって、
     前記触覚制御部は、ユーザにより入力された入力情報に基づいて、前記質量情報を取得する
     情報処理装置。
  11.  請求項4に記載の情報処理装置であって、
     前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有し、
     前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記質量情報を算出する
     情報処理装置。
  12.  請求項11に記載の情報処理装置であって、
     前記加速度センサは、所定の振動信号に応じて前記アタッチメントが装着された前記触覚提示装置に発生する第1の加速度を検出し、
     前記触覚制御部は、前記所定の振動信号に応じて前記アタッチメントが装着されていない前記触覚提示装置に発生する第2の加速度を取得し、前記第1及び前記第2の加速度に基づいて、前記質量情報を算出する
     情報処理装置。
  13.  請求項11に記載の情報処理装置であって、
     前記触覚制御部は、前記加速度センサにより検出される加速度の時間変化に基づいて、前記質量情報を算出する
     情報処理装置。
  14.  請求項3に記載の情報処理装置であって、
     前記振動素子は、前記触覚提示装置の筐体に支持され、
     前記触覚制御部は、前記振動素子と前記筐体との機械的な干渉に関する干渉条件に基づいて、前記触覚提示信号を補正する
     情報処理装置。
  15.  請求項3に記載の情報処理装置であって、
     前記振動素子は、リニア振動アクチュエータである
     情報処理装置。
  16.  請求項15に記載の情報処理装置であって、
     前記リニア振動アクチュエータは、ボイスコイルモータである
     情報処理装置。
  17.  請求項1に記載の情報処理装置であって、
     前記接触体は、前記触覚提示装置を把持するユーザの手を含み、
     前記触覚制御部は、前記接触体情報として、前記触覚提示装置を把持する前記ユーザの把持力に関する把持力情報を取得する
     情報処理装置。
  18.  請求項17に記載の情報処理装置であって、
     前記触覚提示装置は、前記触覚提示装置の加速度を検出する加速度センサを有し、
     前記触覚制御部は、前記加速度センサの検出結果に基づいて、前記把持力情報を算出する
     情報処理装置。
  19.  触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
     前記触覚提示装置に出力する触覚出力信号を制御する
     ことをコンピュータシステムが実行する情報処理方法。
  20.  触覚提示装置に提示する触覚コンテンツに応じた触覚提示信号と、前記触覚提示装置に接触する接触体に関する接触体情報と、に基づいて、
     前記触覚提示装置に出力する触覚出力信号を制御するステップ
     をコンピュータシステムに実行させるプログラム。
PCT/JP2020/000177 2019-01-21 2020-01-07 情報処理装置、情報処理方法、及びプログラム WO2020153116A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/422,832 US20220080304A1 (en) 2019-01-21 2020-01-07 Information processing apparatus, information processing method, and program
CN202080009253.9A CN113302579A (zh) 2019-01-21 2020-01-07 信息处理装置、信息处理方法和程序
JP2020568052A JP7456388B2 (ja) 2019-01-21 2020-01-07 情報処理装置、情報処理方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019007579 2019-01-21
JP2019-007579 2019-01-21

Publications (1)

Publication Number Publication Date
WO2020153116A1 true WO2020153116A1 (ja) 2020-07-30

Family

ID=71735939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/000177 WO2020153116A1 (ja) 2019-01-21 2020-01-07 情報処理装置、情報処理方法、及びプログラム

Country Status (4)

Country Link
US (1) US20220080304A1 (ja)
JP (1) JP7456388B2 (ja)
CN (1) CN113302579A (ja)
WO (1) WO2020153116A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220214742A1 (en) * 2021-01-04 2022-07-07 Universal City Studios Llc User-specific interactive object systems and methods
CN114100110A (zh) * 2021-10-29 2022-03-01 歌尔股份有限公司 操作装置及游戏手柄
US11775071B1 (en) * 2022-03-08 2023-10-03 Microsoft Technology Licensing, Llc Haptic feedback from a computing accessory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005524158A (ja) * 2002-04-25 2005-08-11 イマージョン コーポレイション ロータリー式調和運動質量体を使用しての触覚フィードバック
WO2017043610A1 (ja) * 2015-09-08 2017-03-16 ソニー株式会社 情報処理装置、方法およびコンピュータプログラム
JP2018102610A (ja) * 2016-12-27 2018-07-05 任天堂株式会社 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7965276B1 (en) * 2000-03-09 2011-06-21 Immersion Corporation Force output adjustment in force feedback devices based on user contact
WO2009035100A1 (ja) 2007-09-14 2009-03-19 National Institute Of Advanced Industrial Science And Technology バーチャルリアリティ環境生成装置及びコントローラ装置
CN104395866B (zh) * 2012-11-30 2018-02-23 松下知识产权经营株式会社 触觉提示装置及触觉提示方法
US9174134B1 (en) * 2014-11-12 2015-11-03 Immersion Corporation Peripheral device with haptic diminishment prevention component
US10296093B1 (en) * 2017-03-06 2019-05-21 Apple Inc. Altering feedback at an electronic device based on environmental and device conditions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005524158A (ja) * 2002-04-25 2005-08-11 イマージョン コーポレイション ロータリー式調和運動質量体を使用しての触覚フィードバック
WO2017043610A1 (ja) * 2015-09-08 2017-03-16 ソニー株式会社 情報処理装置、方法およびコンピュータプログラム
JP2018102610A (ja) * 2016-12-27 2018-07-05 任天堂株式会社 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法

Also Published As

Publication number Publication date
US20220080304A1 (en) 2022-03-17
CN113302579A (zh) 2021-08-24
JPWO2020153116A1 (ja) 2021-12-02
JP7456388B2 (ja) 2024-03-27

Similar Documents

Publication Publication Date Title
WO2020153116A1 (ja) 情報処理装置、情報処理方法、及びプログラム
EP3343327B1 (en) Vibration control system, vibration control apparatus, vibration control program and vibration control method
US10427039B2 (en) Haptic surround functionality
JP6626576B2 (ja) 操作デバイス、及び制御システム
CN107924236B (zh) 信息处理装置、方法和存储介质
JP6626992B2 (ja) 情報処理システム、振動制御方法、及びプログラム
KR102054370B1 (ko) 햅틱 피드백 방법 및 장치, 기계로 읽을 수 있는 저장 매체 및 휴대용 통신 단말
KR102253594B1 (ko) 제한된 기간의 햅틱 효과를 제공하는 시스템, 디바이스 및 방법
US10471346B2 (en) Information processing system, non-transitory storage medium having stored therein information processing program, information processing apparatus, and information processing method
JP2018112953A (ja) 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法
CN109240487B (zh) 沉浸式系统、控制方法及非暂态计算机可读取媒体
CN110383213B (zh) 内容呈现系统、内容呈现装置和风呈现装置
JP2018206058A (ja) 情報処理システム、情報処理プログラム、情報処理装置、および、情報処理方法
US11170615B2 (en) Information processing apparatus, information processing method, and recording medium
US20180345138A1 (en) Non-transitory storage medium having stored therein game program, information processing apparatus, information processing system, and information processing method
JPWO2019043787A1 (ja) 振動制御装置
JP7045408B2 (ja) 情報処理プログラム
JP7340556B2 (ja) 振動制御システム
JP2020047162A (ja) 入力装置、プログラムおよび方法
JP2011160928A (ja) ゲーム装置用コントローラ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20745073

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020568052

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20745073

Country of ref document: EP

Kind code of ref document: A1