JP7179711B2 - コントローラ装置、その制御方法、及びプログラム - Google Patents

コントローラ装置、その制御方法、及びプログラム Download PDF

Info

Publication number
JP7179711B2
JP7179711B2 JP2019209031A JP2019209031A JP7179711B2 JP 7179711 B2 JP7179711 B2 JP 7179711B2 JP 2019209031 A JP2019209031 A JP 2019209031A JP 2019209031 A JP2019209031 A JP 2019209031A JP 7179711 B2 JP7179711 B2 JP 7179711B2
Authority
JP
Japan
Prior art keywords
vibration
vibrating body
operating member
operation member
condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019209031A
Other languages
English (en)
Other versions
JP2021082011A (ja
Inventor
拓郎 沢田
貴志 榎原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2019209031A priority Critical patent/JP7179711B2/ja
Priority to US17/090,104 priority patent/US11379043B2/en
Priority to EP20205909.3A priority patent/EP3825818A1/en
Priority to CN202011261027.8A priority patent/CN112891925A/zh
Publication of JP2021082011A publication Critical patent/JP2021082011A/ja
Application granted granted Critical
Publication of JP7179711B2 publication Critical patent/JP7179711B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/22Setup operations, e.g. calibration, key configuration or button assignment
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/218Input arrangements for video game devices characterised by their sensors, purposes or types using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2250/00Miscellaneous game characteristics
    • A63F2250/02Miscellaneous game characteristics having an effect on the human senses
    • A63F2250/025Miscellaneous game characteristics having an effect on the human senses related to sense of touch
    • 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/1018Calibration; Key and button assignment
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/015Force feedback applied to a joystick

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Switch Cases, Indication, And Locking (AREA)

Description

本発明は、コントローラ装置、その制御方法、及びプログラムに関する。
予め定めた第1の位置と第2の位置との間で移動可能とし、第1の位置に対して付勢して、ユーザの押し込み操作によって第2の位置の方向へ押し込むことが可能な押し込みボタンを備えたコントローラ装置がある。
また、この押し込みボタンに対し、このボタンの裏側(ユーザが押し込む操作を行う側とは反対側)に周期的に当接させて押し込みボタンに振動を与える振動機構を備えたコントローラ装置がある。
しかしながら上記従来の振動機構を備えたコントローラ装置では、押し込みボタンを第2の位置まで移動させた状態で、振動機構を振動させると、コントローラ装置の各部に振動が伝わり、意図しない振動音が生じてしまう問題点があった。
本発明は上記実情に鑑みて為されたもので、意図しない振動音の発生を抑制できるコントローラ装置、その制御方法、及びプログラムを提供することをその目的の一つとする。
上記従来例の問題点を解決する本発明の一態様は、コントローラ装置であって、所定の振動体可動範囲内で移動可能な振動体と、ユーザにより操作される操作部材であって、前記振動体の振動体可動範囲とその一部が重なる可動範囲内で移動操作可能な操作部材と、振動を行うべき旨の振動指示を受け入れる受入手段と、前記操作部材の前記可動範囲内での位置を検出する検出手段と、前記受け入れた振動指示と前記検出した操作部材の位置とに応じて前記振動体の位置及び振動を制御して、前記操作部材に振動を与える制御手段と、を含み、前記制御手段は、予め定めた条件を満足するときに、前記指示された振動より補正された状態で、前記振動体の振動を制御することとしたものである。
本発明によると、意図しない振動音の発生を抑制できる。
本発明の実施の形態に係るコントローラ装置の構成例を表す概略説明図である。 本発明の実施の形態に係るコントローラ装置の押し込みボタンと、振動提示部との関係を表す説明図である。 本発明の実施の形態に係るコントローラ装置の回路構成例を表すブロック図である。 本発明の実施の形態に係るコントローラ装置の振動提示部の例を表す概略説明図である。 本発明の実施の形態に係るコントローラ装置が備える制御部の機能ブロック図である。
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るコントローラ装置1は、図1に例示するように、本体部11と、この本体部11の左右方向両側から手前方向へ向かって延設される把持部12と、本体部11に配された操作部13と、振動提示部14と、回路部15とを含み、情報処理装置2との間で操作に関する情報を送受する。
本実施の形態のコントローラ装置1の操作部13には、ユーザが押し込んで操作する押し込みボタン131が含まれる。またこの操作部13には、傾倒操作するジョイスティックや十字キーその他のボタンが含まれてもよい。本実施の形態のここでの例では、押し込みボタン131は、コントローラ装置1の把持部12をユーザが母指球と小指と薬指とで把持したとき、ユーザの人差し指または中指で操作可能な位置に配されているものとする。
この押し込みボタン131は、実質的に柱状をなし、筐体外部に露出してユーザの指が触れる面である外面131Fと、筐体内部側の面であって、押し込み方向とその法線とが平行、ないし実質的に平行な(平行から所定の角度範囲内にある)面となる背面131Bとを備える。
本実施の形態の例では、押し込みボタン131は、ユーザが操作しない状態では、その外面131Fがデフォルトの位置に移動するよう弾性体などによって付勢された状態にあり、ユーザが外面131Fを、コントローラ装置1の筐体内方へ押し込むと、予め設定された機械的な限界である限界位置までの範囲で筐体内方へ移動する。
また押し込みボタン131は、その押し込み位置を電気的に検出し、当該検出した押し込み位置を表す情報を、回路部15に出力している。ここで押し込み位置の検出の方法は広く知られた種々のセンサを用いて為し得るので、ここでの詳しい説明は省略する。
なお、ここで押し込み位置は、図2に示すように、押し込みボタン131の背面131Bの位置で表すものとし、外面131Fがデフォルト位置にあるときの背面131Bの位置を、第1の位置Pa、外面131Fを筐体内方の限界位置まで押し込んだときの背面131Bの位置を、第2の位置Pbとする。従って押し込みボタン131の位置は、このボタン131のストロークである第1の位置Paと第2の位置Pbとの間(移動範囲R)に含まれる。
振動提示部14は、押し込みボタン131を振動させて、押し込みボタン131を操作するユーザに振動を提示する。この振動提示部14の具体的な構成及び動作については後に述べる。
回路部15は、操作部13からコントローラ装置1に対するユーザの操作内容を表す情報を受け入れて、当該受け入れた情報を情報処理装置2に出力する。本実施の形態の一例では、この回路部15は、図3に例示するように、プロセッサ151と、記憶部152と、通信部153とを含んで構成される。
ここでプロセッサ151は、プログラム制御デバイスであり、記憶部152に格納されたプログラムに従って動作する。本実施の形態では、このプロセッサ151は、操作部13から、操作部13の押し込みボタン131の押し込み量を表す情報を含む、操作内容を表す情報を受け入れる。そして当該受け入れた操作内容を表す情報を、情報処理装置2に対して出力する。またプロセッサ151は、振動提示部14を制御する。このプロセッサ151の動作については後に詳しく説明する。
記憶部152は、メモリデバイスであり、プロセッサ151が実行するプログラムを保持する。またこの記憶部152はプロセッサ151のワークメモリとしても動作する。
通信部153は、情報処理装置2との間で有線、または無線にて情報を送受する。すなわちこの通信部153は、プロセッサ151から入力される指示に従って、処理内容を表す情報等を、情報処理装置2に対して送出する。またこの通信部153は、情報処理装置2から受け入れる種々の情報を、プロセッサ151に対して出力する。
本実施の形態のある例では、コントローラ装置1は、さらに傾きセンサ(不図示)やプッシュスイッチ、傾倒操作されるジョイスティックなどを含んでもよく、この場合、プロセッサ151は、傾きセンサが検出するコントローラ装置1の姿勢の情報(傾き角度の情報)や、プッシュスイッチやジョイスティックの操作に関する情報を、操作内容を表す情報に含めて情報処理装置2に対して送出する。
[振動提示部の構成・動作]
次に振動提示部14の構成及び動作の例について説明する。本実施の形態ではこの振動提示部14は、押し込みボタン131を振動させて、押し込みボタン131を操作するユーザに振動を提示する。具体的な例として振動提示部14は、図4に例示するように、アクチュエータ141と、当該アクチュエータ141により回動するアーム142(本発明の振動体に相当する)とを含む。
ここでアクチュエータ141は、回路部15のプロセッサ151によって制御される。このアクチュエータ141は、その外周接線方向に伸びるアーム142が取り付けられた回転軸141rを備えており、プロセッサ151から入力される指示に従って、この回転軸141r周りに、指示された方向に上記アーム142を回転させる。また、このアクチュエータ141は、エンコーダを含み、予め定めた状態(例えばアーム142を最も筐体内方へ引き込んだ状態としたとき)の角度を基準として、この基準とした角度からの回転軸141rの回転角の情報θを取得している。そしてアクチュエータ141は、当該回転角の情報をプロセッサ151に出力する。
本実施の形態では、このアーム142の先端は、アクチュエータ141により、図2に例示した押し込みボタン131の背面131Bの移動範囲(移動軌跡)Rと重なる範囲で移動する。具体的に、アーム142の先端は、下側(筐体内方)に対しては、第2の位置Pbよりもさらに筐体内側にある位置Pxをその限界の位置とする。また、上側(ボタン131側)に対しては、第1の位置Paより筐体内側の位置Pyをその限界の位置とする。
このように本実施の形態では、振動体であるアーム142の可動範囲(振動体可動範囲)Px-Pyと、押し込みボタン131(の背面131B)の移動範囲Rとは、その一部が重なりあう。
次にここで、プロセッサ151の動作について説明する。本実施の形態のプロセッサ151は、情報処理装置2との間で、有線または無線にて通信可能に接続され、記憶部に格納されたプログラムに従って動作することで、図5に示すように、受入部41と、検出部42と、振動制御部43とを含む構成を機能的に実現する。
受入部41は、情報処理装置2から振動を行わせるべき旨の指示(振動指示)を受け入れて振動制御部43に出力する。この指示には振動の強度を表す振動強度情報が含まれる。またこの受入部41は、情報処理装置2から振動を終了するべき旨の指示(振動終了指示)を受け入れて振動制御部43に出力する。
検出部42は、操作部材である押し込みボタン131の背面131Bの移動範囲R内での位置の情報を受け入れて、押し込みボタン131の背面131Bの位置Qを検出して、当該検出した位置Qを表す情報を出力する。
振動制御部43は、受入部41が受け入れた振動を行わせるべき旨の振動指示と、検出部42が検出した押し込みボタン131の位置(背面131Bの位置)の情報とに応じて、振動提示部14のアクチュエータ141の回転の位置及び振動を制御して、押し込みボタン131に振動を与える。
具体的に本実施の形態の振動制御部43は、受入部41が振動指示を受け入れると、検出部42が検出している押し込みボタン131の背面131Bの位置Qにアーム142が当接する位置までアクチュエータ141の回転位置を制御する。
本実施の形態の一例では、振動制御部43は、アクチュエータ141が出力する、回転軸141rの回転角の情報に基づいて得られるアーム142の位置(以下、アーム142の位置とは、実質的に柱状のアーム142の先端側の辺のうち、筐体外周側に最も近い側の点142pの位置を指すものとする)を表す情報を得る。なお、振動制御部43は、押し込みボタン131の背面131Bの位置(移動範囲R内の位置)及び、アーム142の位置(アクチュエータ141の回転位置に対応する)を表す情報に対応して、移動範囲Rとアーム142の可動範囲とが互いに重なりあう範囲を、10段階に量子化して表現した情報(図2のP0乃至P9)を、それぞれの位置範囲情報として生成する。
そこで振動制御部43は、検出部42が検出している押し込みボタン131の背面131Bの位置Qが例えばこの量子化された位置範囲P4にあるときには、アーム142が位置範囲P4内の目標位置(例えば位置範囲P4の中央の位置)に移動するよう、アクチュエータ141の回転位置を制御する。
そして振動制御部43は、受入部41が受け入れた振動指示に含まれる振動強度情報に基づいてアクチュエータ141の回転角度の振幅を制御しつつ、アクチュエータ141を当該振幅で連続的に往復動させ、それに応じてアーム142を当該振幅で連続的に往復動させる。これによりアーム142は、振動した状態となる(振動制御)。このとき、回転角度の振幅は、上記目標位置に対応する目標角度θtからアーム142の位置を位置Pxに近接させる方向(筐体内方へ引き込む方向)へθaだけ回転した角度と、上記目標角度θtからアーム142の位置を位置Pyに近接させる方向(押し込みボタン131を押し上げる方向)へθbだけ回転した角度との間の範囲を振幅とする。ここでθaは、受入部41が受け入れた振動強度情報が表す強度の値sに対し、θa=α・s(αは実験的に定め得る正の定数)などとして、強度の値sに対して単調増加する関数で設定する。またθbは、予め定めた値としておいてもよいし、θaと同様に、θb=β・s(βはαと同様、実験的に定め得る正の定数)などとして、強度の値sに対して単調増加する関数で設定してもよい。
振動制御部43は、アーム142を振動制御するときには、例えば当初はθt-θaをアクチュエータ141の目標角度として設定し、以下、アクチュエータ141が回転しなくなるか、あるいは目標位置へ達するごとにθt+θbと、θt-θaとを交互にアクチュエータ141の目標角度として設定して、アクチュエータ141を往復動させる。
また振動制御部43は、受入部41が振動を終了するべき旨の振動終了指示を受けるまで、アーム142の振動を継続する。この振動を継続している間、振動制御部43は、検出部42が検出している押し込みボタン131Bの位置の情報を繰り返し取得し、当該位置の情報が変化するごとに、変化した後の位置に、アーム142が当接する位置までアクチュエータ141の回転位置を制御して振動を継続する。
本実施の形態において特徴的なことの一つは、ここで振動制御部43が、予め定められた条件が満足された状態にある場合に、受入部41が受け入れた振動指示により指示された振動よりも補正された状態で(例えば振動強度情報で表される振動の強度の値を補正して、当該補正した強度の値に基づいて)、アーム142の振動を制御することである。
またここでの条件は操作部材である押し込みボタン131の背面131Bが、第2の位置Pbに近接した位置範囲(上記位置範囲P9)にあるとの条件を含むこととしてよい。つまり、本実施の形態のこの例では、例えばアーム142を振動させている間に、押し込みボタン131の背面131Bが位置範囲P9内の位置に移動した(ユーザが押し込みボタン131を限界に近い位置まで押し込んだ)ときには、振動制御部43は、指示されている振動の強度よりも補正された強度で振動するよう、アーム142の振動を制御する。
さらにこの補正は、予め定めた関数で定められるパラメータを、指定された振動強度情報が表す強度の値に乗じることとしてもよい。一例としてこの関数は、条件ごとに定められ、押し込みボタン131の背面131Bが、第2の位置Pbに近接した位置P(上記10段階の位置範囲における位置範囲P9)にあるとの条件に対しては、押し込みボタン131の背面131Bの位置Pと最も押し込まれた位置であるPbとの差が小さいほど「0」に近く、その差が大きいほど「1」に近接する、位置Pの単調関数(値はどの位置でも「0」以上「1」以下となる関数)を振動強度情報が表す強度の値に乗じて、強度の値を補正する。
この補正の例によると、ユーザが押し込みボタン131を押し込み、押し込みボタン131の背面131Bが位置範囲P9内にある状態で、さらにユーザが押し込みボタン131を押し込むと、その背面131Bが限界位置に近くなるほど、情報処理装置2から指示された振動強度よりも小さい強度で振動するよう、アーム142の振動が制御される。これにより、限界まで押し込んだときに振動が十分弱められ、コントローラ装置1の各部に振動が伝わり、意図しない振動音が生じてしまうことが防止される。
[条件の別の例]
また、ここまでの説明では、条件は押し込みボタン131の背面131Bが第2の位置Pbに近接した位置Pにある(位置範囲P9内に入っている)こととしたが、本実施の形態において、振動を補正する条件は、この例に限られない。
例えば本実施の形態では、アーム142を振動するよう制御した時点で、押し込みボタン131があった位置から、押し込みボタン131がユーザにより操作されて移動したことを条件として、振動を補正してもよい。
具体的に、本実施の形態では、振動制御部43は、振動指示があったときに、検出部42が検出している押し込みボタン131の背面131Bの位置Qにアーム142の先端を移動させるようアクチュエータ141の回転位置を制御する。
つまり、振動制御部43は、アーム142の先端の移動先となる目標位置を、押し込みボタン131の背面131Bの位置Qに設定し、アーム142が回転して、その先端が当該目標位置に達するときのアクチュエータ141の回転角度θtを目標角度とする。そして振動制御部43は、アクチュエータ141が出力する、現在の回転角の情報と目標角度の情報とに基づいて、アクチュエータ141の回転方向及び回転速度(アクチュエータ141に対して供給する電流など)を制御する。この制御は、一般的なフィードバック制御により行うことができるので、ここでの詳しい説明を省略する。
振動制御部43は、アクチュエータ141が出力する回転角の情報を、所定のタイミングごとに繰り返し参照し、アクチュエータ141が出力する回転角が、制御を開始してから所定の時間内に目標角度に到達したときには、アクチュエータ141の回転角の目標角度θtを、θt+Δθだけ更新して、再度フィードバック制御によりアーム142の先端を移動する。なお、ここでΔθは予め定めておく。
また振動制御部43は、回転方向及び回転速度の制御にも関わらず、アクチュエータ141が出力する回転角が、制御を開始してから所定の時間内に目標角度に到達しない場合(アクチュエータ141が目標角度に回転したときのアーム142の先端の位置よりも第2の位置に近い側に押し込みボタン131の背面131Bの位置Qがあり、アーム142の先端が押し込みボタン131に当接して当該位置Qで止まってしまう場合)、フィードバック制御に代えて、受入部41が受け入れた振動指示に含まれる振動強度情報に基づいてアクチュエータ141の回転角度の振幅を制御しつつ、アクチュエータ141を当該振幅で連続的に往復動させ、アーム142を当該振幅で連続的に往復移動させて、振動させる制御(振動制御)を行う。
振動制御部43は、振動制御の開始の時点で、アーム142の位置(アクチュエータ141の回転角)を初期位置θsとして記憶しておく。また、当初は振幅の補正値λ=λminとしておく。ここでλminは0以上1未満の値とする。
振動制御部43は、この初期位置θsから押し込みボタン131を押し上げる方向にλ・θbだけ回転した角度(つまりθs+λ・θb)と、初期位置θsから筐体内方に向かってλ・θaだけ回転した角度(つまりθs-λ・θa)との間でアクチュエータ141を往復回転動するよう設定することでアーム142の先端を振動させる(振動制御)。
振動制御部43は、振動制御中のアクチュエータ141の出力する回転角を参照し、アーム142が最も筐体外方(第1の位置に近い側)となったときの上側の回転角θuを得る。そして、このθuがθsに比べ、θs-θu>θth(ただしθthは正のしきい値)であるとき(つまり、振動を開始した後、押し込みボタン131がさらに所定の移動量を超えて筐体内方へ押し込まれているとき)には、振動制御部43は、振幅の補正値λ=1として、この回転角θuから押し込みボタン131を押し上げる方向にλ・θbだけ回転した角度(つまりθu+λ・θb)と、回転角θuから筐体内方に向かってλ・θaだけ回転した角度(つまりθu-λ・θa)との間でアクチュエータ141を往復回転動するよう設定する。
一方、振動制御部43は、0≦θs-θu≦θthであるときには、振幅の補正値λを、λ=f(θs-θu)とする。ここでf(x)は、xについての単調増加関数であり、x>θthなるxに対してはf(x)=1となり、f(0)=λminとする。
そして振動制御部43は、回転角θuから押し込みボタン131を押し上げる方向にλ・θbだけ回転した角度(つまりθu+λ・θb)と、回転角θuから筐体内方に向かってλ・θaだけ回転した角度(つまりθu-λ・θa)との間でアクチュエータ141を往復回転動するよう設定する。
すなわち、本実施の形態では、アーム142を振動させるなどして押し込みボタン131に振動を呈示するときには、振動制御部43は、振動の開始位置での押し込みボタン131の位置に対応する情報(上述の例では、アーム142が押し込みボタン131に当接する位置に対応するアクチュエータ141の回転角を用いている)を初期位置の情報として記憶しておき、初期位置の情報よりもさらに押し込まれた位置に移動するほど、振動の振幅(強度)を大きくする。また、初期位置に近くなるほど、振動の振幅(強度)を小さくする。
これによりユーザの指が押し込みボタン131から離れつつある状態(押し込まれた位置から第1の位置へ戻りつつある状態、つまり初期位置からさらに押し込まれてから、初期位置に戻っていく状態)で振動を呈示する際に生じるノイズを抑制できる。
[動作]
本実施の形態のコントローラ装置1は、以上の構成を備えており、次のように動作する。以下の例では、コントローラ装置1は、振動の開始時、あるいは押し込みボタン131が限界まで押し込まれている(その背面131Bが位置範囲P9に含まれる位置まで到達している)ときを除いて、情報処理装置2から指示された振動の強度sに対し、アーム142の振幅θaを、θa=α・s(αは実験的に定め得る正の定数)として、強度の値sに対して単調増加する関数で設定するものとする。
当初、ユーザが、コントローラ装置1を把持して押し込みボタン131を操作し、位置範囲P4内にある位置Qに、押し込みボタン131の背面131Bが達するまで、押し込みボタン131を押し込んだ状態にあるとする。このとき情報処理装置2が、実行中のゲームアプリケーションの処理として、所定の強度sで振動するべき旨の振動強度情報を含む、振動指示を送出すると、プロセッサ151が、この指示を受信して次のように動作する。
プロセッサ151は、押し込みボタン131の背面131Bが位置Qにあることを検出し、アーム142の目標位置を、押し込みボタン131の背面131Bの位置Qに設定し、アーム142が当該目標位置に達するときのアクチュエータ141の回転角度θtを目標角度とする。そしてプロセッサ151は、アクチュエータ141が出力する、現在の回転角の情報と目標角度の情報とに基づいて、アクチュエータ141の回転方向及び回転速度を制御する、フィードバック制御を行う。
プロセッサ151は、アクチュエータ141が出力する回転角の情報を、所定のタイミングごとに繰り返し参照し、アクチュエータ141が出力する回転角が、フィードバック制御を開始してから所定の時間内に目標角度θtに到達すると、プロセッサ151は、振幅の補正値λ=λminを設定し、目標角度θtから押し込みボタン131を押し上げる方向に向にλ・θbだけ回転した角度(つまりθs+λ・θb)と、初期位置θsから筐体内方に向かってλ・θaだけ回転した角度(つまりθs-λ・θa)との間でアクチュエータ141を往復回転動するよう設定することでアーム142の先端を振動させる(振動制御)。
以下、プロセッサ151は、振動制御中のアクチュエータ141の出力する回転角を参照し、アーム142が最も筐体外方(第1の位置に近い側)となったときの上側の回転角θuを得る。そしてプロセッサ151は、θs-θu>θth(ただしθthは正のしきい値)であるときには振幅の補正値λ=1として、この回転角θuから押し込みボタン131を押し上げる方向にλ・θbだけ回転した角度(つまりθu+λ・θb)と、回転角θuから筐体内方に向かってλ・θaだけ回転した角度(つまりθu-λ・θa)との間でアクチュエータ141を往復回転動するよう設定する。一方、プロセッサ151は、0≦θs-θu≦θthであるときには、振幅の補正値λを、λ=f(θs-θu)とする。ここでf(x)は、xについての単調増加関数であり、x>θthなるxに対してはf(x)=1となり、f(0)=λminとする。
そしてプロセッサ151は、回転角θuから押し込みボタン131を押し上げる方向にλ・θbだけ回転した角度(つまりθu+λ・θb)と、回転角θuから筐体内方に向かってλ・θaだけ回転した角度(つまりθu-λ・θa)との間でアクチュエータ141を往復回転動するよう設定する。
この制御により、ユーザが押し込みボタン131の表面131Fを指で押下している(表面131Fに指の力がかかっている)状態では、押し込みボタン131が初期位置に相当する位置から筐体内方へ移動し、補正値λが単調増加することとなって振動が大きくなる。また初期位置に相当する位置から所定の押し込み量を超えて押し込みボタン131を押し込んだときには、補正値λ=1となって、予定された振動が呈示される。
その後、ユーザが押し込みボタン131の押し込みをやめる(あるいは押し込む力を弱める)と、押し込みボタン131が初期位置に相当する位置へ戻ることとなり、補正値λは単調減少することとなって振動は小さくなる。また初期位置に相当する位置を超えて押し込みボタン131がデフォルトの位置に近くなると、振動は呈示されない状態となる。
このことにより、ユーザの指が振動のダンパーとして働かない状態(ユーザの指が十分に押し込みボタン131に触れていない状態)では振動が弱められ、ノイズ等の発生が抑制される。
またユーザが、押し込みボタン131の背面131Bが位置範囲P9内の位置Pに達するまで、押し込みボタン131を押し込み、さらにその後、限界(押し込みボタン131の背面131Bが第2の位置Pbに達する)まで押し込むこととする。そしてこの間、情報処理装置2が、実行中のゲームアプリケーションの処理として、所定の強度sで振動するべき旨の振動強度情報を含む、振動指示を送出すると、プロセッサ151が、この指示を受信して次のように動作する。
プロセッサ151は、押し込みボタン131の背面131Bが位置Pbにあることを検出し、アーム142の目標位置を、押し込みボタン131の背面131Bの位置Pに設定し、アーム142が当該目標位置に達するときのアクチュエータ141の回転角度θtを目標角度とする。そしてプロセッサ151は、アクチュエータ141が出力する、現在の回転角の情報と目標角度の情報とに基づいて、アクチュエータ141の回転方向及び回転速度を制御する、フィードバック制御を行う。
プロセッサ151は、アクチュエータ141が出力する回転角の情報を、所定のタイミングごとに繰り返し参照し、アクチュエータ141が出力する回転角が、フィードバック制御を開始してから所定の時間内に目標角度θtに到達すると、その時点でフィードバック制御に代えて、受信した振動指示に含まれる振動強度情報に基づいてアクチュエータ141の回転角度の振幅を決定する。
具体的には、プロセッサ151は、押し込みボタン131の背面131Bの位置Pが、最も押し込まれた位置であるPbとの差が小さいほど「0」に近く、その差が大きいほど「1」に近接する、位置Pの単調関数(値はどの位置でも「0」以上「1」以下となる関数)g(P)を振動強度情報が表す強度の値sに乗じて、強度の値を補正する。
すなわち、振幅θaを、
θa=α・g(P)・s
とする。
そしてプロセッサ151は、目標角度θtから押し込みボタン131を押し上げる方向にθbだけ回転した角度(つまりθt+θb)と、目標角度θtから筐体内方に向かって、上記の方法で定めたθaだけ回転した角度(つまりθt-θa)との間の振幅として設定して、この振幅の範囲でアクチュエータ141を連続的に往復動させて、アーム142を振動させる制御(振動制御)を行う。なお、θbは予め定めた値としておく。
ここでプロセッサ151は、振動制御の間、アクチュエータ141が出力する回転角θが、前回設定した目標角度θtよりも押し込みボタン131を押し上げる方向に、予め定めたしきい値θh(0<θh≦θbとする)より大きい値となった(θ>θt+θhであったか)否かを調べる。
ここでの例では、アクチュエータ141が出力する回転角θは、目標角度θt+Δθよりも押し込みボタン131を押し上げる方向に、予め定めたしきい値θhより大きい値にはなっていないものとする。
プロセッサ151は、その後、押し込みボタン131の背面131Bを繰り返し取得し、振幅θaを、
θa=α・g(P)・s
と設定して、振動制御を行うが、補正関数g(P)のために、ユーザが押し込みボタン131を押し込むほど、振幅は小さくなるよう制御される。
この制御により、限界まで押し込まれたときには振動の振幅が制限されることとなり、意図しないノイズを生じさせることなく、ゲームアプリケーション等から指示された振動を、ユーザに提示できるようになる。
1 コントローラ装置、2 情報処理装置、11 本体部、12 把持部、13 操作部、14 振動提示部、15 回路部、41 受入部、42 検出部、43 振動制御部、131B 背面、131 押し込みボタン、141 アクチュエータ、142 アーム。

Claims (5)

  1. 所定の振動体可動範囲内で移動可能な振動体と、
    ユーザにより操作される操作部材であって、前記振動体の振動体可動範囲とその一部が重なる可動範囲内で移動操作可能な操作部材と、
    振動強度の指示を含む振動指示を受け入れる受入手段と、
    前記操作部材の前記可動範囲内での位置を検出する検出手段と、
    前記受け入れた振動指示と前記検出した操作部材の位置とに応じて前記振動体の位置及び振動を制御して、前記操作部材に振動を与える制御手段と、
    を含み、
    前記操作部材の前記可動範囲は、ユーザが操作していないときの第1の位置と、ユーザが操作部材をコントローラ装置の筐体内方に向かって押し込んだ限界の位置である第2の位置との間の範囲であり、
    前記制御手段は、予め定めた条件として少なくとも、
    前記操作部材が、前記第2の位置に近接した所定の位置範囲にあるとの条件を含む条件を満足するときに、
    前記指示された振動強度を予め定めた方法で補正し、当該補正された振動強度の振動を、前記操作部材に与えるよう、前記振動体の振動を制御し、
    前記予め定めた条件には、前記操作部材の位置が、前記振動体が振動を開始した時点から移動するとの条件をさらに含み、
    前記制御手段は、前記操作部材の位置が前記第2の位置に近接した所定の位置範囲にあるときを除き、前記振動体が振動を開始した時点での前記操作部材の位置を初期位置として記憶し、当該初期位置から前記操作部材が移動するとの条件が満足されるときに、当該初期位置よりも前記操作部材が押し込まれた位置に移動するほど振動強度を大きくするよう補正し、当該補正された振動強度の振動を、前記操作部材に与えるよう、前記振動体の振動を制御するコントローラ装置。
  2. 請求項1に記載のコントローラ装置であって、
    前記制御手段は、予め条件ごとに定めた関数で定められるパラメータを、前記指示された振動強度が表す強度の値に乗じて振動強度を定めるコントローラ装置。
  3. 請求項に記載のコントローラ装置であって、
    前記第2の位置に近接した所定の位置範囲にあるとの条件を含む条件を満足するときの補正の方法は、前記指示された振動強度を低減する補正であるコントローラ装置。
  4. 所定の振動体可動範囲内で移動可能な振動体と、ユーザにより操作される操作部材であって、前記振動体の振動体可動範囲とその一部が重なる可動範囲内で移動操作可能な操作部材と、振動強度の指示を含む振動指示を受け入れる受入手段と、前記操作部材の前記可動範囲内での位置を検出する検出手段と、を含むコントローラ装置を、
    制御手段が、前記受け入れた振動指示と前記検出した操作部材の位置とに応じて前記振動体の位置及び振動を制御して、前記操作部材に振動を与え、
    前記操作部材の前記可動範囲は、ユーザが操作していないときの第1の位置と、ユーザが操作部材をコントローラ装置の筐体内方に向かって押し込んだ限界の位置である第2の位置との間の範囲であり、
    さらに当該制御手段は、予め定めた条件として少なくとも、
    前記操作部材が、前記第2の位置に近接した所定の位置範囲にあるとの条件を含む条件を満足するときに、
    前記指示された振動強度を予め定めた方法で補正し、当該補正された振動強度の振動を、前記操作部材に与えるよう、前記振動体の振動を制御し、
    前記予め定めた条件には、前記操作部材の位置が、前記振動体が振動を開始した時点から移動するとの条件をさらに含み、
    前記制御手段は、前記操作部材の位置が前記第2の位置に近接した所定の位置範囲にあるときを除き、前記振動体が振動を開始した時点での前記操作部材の位置を初期位置として記憶し、当該初期位置から前記操作部材が移動するとの条件が満足されるときに、当該初期位置よりも前記操作部材が押し込まれた位置に移動するほど振動強度を大きくするよう補正し、当該補正された振動強度の振動を、前記操作部材に与えるよう、前記振動体の振動を制御するコントローラ装置の制御方法。
  5. 所定の振動体可動範囲内で移動可能な振動体と、ユーザにより操作される操作部材であって、前記振動体の振動体可動範囲とその一部が重なる可動範囲内で移動操作可能な操作部材と、振動強度の指示を含む振動指示を受け入れる受入手段と、前記操作部材の前記可動範囲内での位置を検出する検出手段と、を含むコントローラ装置の制御部により実行されるプログラムであって、
    前記操作部材の前記可動範囲は、ユーザが操作していないときの第1の位置と、ユーザが操作部材をコントローラ装置の筐体内方に向かって押し込んだ限界の位置である第2の位置との間の範囲であり、
    前記制御部を、前記受け入れた振動指示と前記検出した操作部材の位置とに応じて前記振動体の位置及び振動を制御して、前記操作部材に振動を与える制御手段であって、予め定めた条件として少なくとも、前記操作部材が、前記第2の位置に近接した所定の位置範囲にあるとの条件を含む条件を満足するときに、前記指示された振動強度を予め定めた方法で補正し、当該補正された振動強度の振動を、前記操作部材に与えるよう、前記振動体の振動を制御し、
    前記予め定めた条件には、前記操作部材の位置が、前記振動体が振動を開始した時点から移動するとの条件をさらに含み、
    前記制御手段は、前記操作部材の位置が前記第2の位置に近接した所定の位置範囲にあるときを除き、前記振動体が振動を開始した時点での前記操作部材の位置を初期位置として記憶し、当該初期位置から前記操作部材が移動するとの条件が満足されるときに、当該初期位置よりも前記操作部材が押し込まれた位置に移動するほど振動強度を大きくするよう補正し、当該補正された振動強度の振動を、前記操作部材に与えるよう、前記振動体の振動を制御する制御手段として機能させるプログラム。
JP2019209031A 2019-11-19 2019-11-19 コントローラ装置、その制御方法、及びプログラム Active JP7179711B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019209031A JP7179711B2 (ja) 2019-11-19 2019-11-19 コントローラ装置、その制御方法、及びプログラム
US17/090,104 US11379043B2 (en) 2019-11-19 2020-11-05 Controller apparatus, controller apparatus controlling method, and program
EP20205909.3A EP3825818A1 (en) 2019-11-19 2020-11-05 Controller apparatus, controller apparatus controlling method, and program
CN202011261027.8A CN112891925A (zh) 2019-11-19 2020-11-12 控制器装置、控制器装置控制方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019209031A JP7179711B2 (ja) 2019-11-19 2019-11-19 コントローラ装置、その制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021082011A JP2021082011A (ja) 2021-05-27
JP7179711B2 true JP7179711B2 (ja) 2022-11-29

Family

ID=73138686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019209031A Active JP7179711B2 (ja) 2019-11-19 2019-11-19 コントローラ装置、その制御方法、及びプログラム

Country Status (4)

Country Link
US (1) US11379043B2 (ja)
EP (1) EP3825818A1 (ja)
JP (1) JP7179711B2 (ja)
CN (1) CN112891925A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115501575A (zh) * 2022-09-22 2022-12-23 瑞声开泰声学科技(上海)有限公司 力反馈装置的降噪方法、游戏手柄和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016186041A1 (ja) 2015-05-15 2016-11-24 フィールズ株式会社 振動式入力装置
WO2018016017A1 (ja) 2016-07-20 2018-01-25 株式会社プロドローン 無人航空機および移動体捕捉システム
WO2019107207A1 (ja) 2017-11-30 2019-06-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、及びプログラム
WO2019142873A1 (ja) 2018-01-19 2019-07-25 株式会社ソニー・インタラクティブエンタテインメント 操作入力装置及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5163291B2 (ja) * 2008-06-02 2013-03-13 ソニー株式会社 入力装置、制御装置、制御システム及び制御方法
JP5507760B2 (ja) * 2012-01-17 2014-05-28 パナソニック株式会社 電子機器
US9050529B2 (en) * 2012-01-30 2015-06-09 Microsoft Technology Licensing, Llc Force feedback triggers
JP6149895B2 (ja) * 2015-05-20 2017-06-21 株式会社三洋物産 遊技機
WO2018016107A1 (ja) 2016-07-21 2018-01-25 株式会社ソニー・インタラクティブエンタテインメント 操作デバイス、及び制御システム
WO2018020778A1 (ja) * 2016-07-26 2018-02-01 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、操作デバイス、及び操作デバイスの制御方法
JP7043166B2 (ja) * 2016-09-21 2022-03-29 株式会社デンソーテン 表示制御装置、表示制御システム及び表示制御方法
JP6650890B2 (ja) * 2017-01-06 2020-02-19 任天堂株式会社 ゲームシステム、ゲームプログラム、情報処理装置およびゲーム制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016186041A1 (ja) 2015-05-15 2016-11-24 フィールズ株式会社 振動式入力装置
WO2018016017A1 (ja) 2016-07-20 2018-01-25 株式会社プロドローン 無人航空機および移動体捕捉システム
WO2019107207A1 (ja) 2017-11-30 2019-06-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、及びプログラム
WO2019142873A1 (ja) 2018-01-19 2019-07-25 株式会社ソニー・インタラクティブエンタテインメント 操作入力装置及びプログラム

Also Published As

Publication number Publication date
EP3825818A1 (en) 2021-05-26
JP2021082011A (ja) 2021-05-27
US20210149490A1 (en) 2021-05-20
CN112891925A (zh) 2021-06-04
US11379043B2 (en) 2022-07-05

Similar Documents

Publication Publication Date Title
US11980810B2 (en) Information processing system, operation device, and operation device control method
JP7199476B2 (ja) 制御システム、制御装置、制御方法、及びプログラム
JP7179711B2 (ja) コントローラ装置、その制御方法、及びプログラム
JP7233367B2 (ja) ユーザインターフェース装置
JP6720310B2 (ja) 操作デバイス、及び操作デバイスの制御方法
WO2019082386A1 (ja) 操作デバイス
JP7176040B2 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2019142873A1 (ja) 操作入力装置及びプログラム
WO2020111155A1 (ja) 情報処理装置、その制御方法、及びプログラム
JP5013476B2 (ja) ロボットハンド装置
JP2016203266A (ja) ロボットハンド
WO2024105772A1 (ja) 情報処理装置、操作デバイス、情報処理方法、及びプログラム
CN110049737B (zh) 处置器具
JP2023131042A (ja) ジョイスティックシステム
JPH10112245A (ja) スイッチ一体型ジョイスティック

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211006

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220912

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220912

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220922

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221116

R150 Certificate of patent or registration of utility model

Ref document number: 7179711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150