(57)【要約】操作部材、及び触感提示機構を備える操作デバイスと接続され、操作部材に対するユーザーの操作入力を受け付け、当該操作入力を受け付けた際に触感提示機構を動作させることによって、操作入力に対応する触感をユーザーに提示する操作デバイスの制御装置であって、受け付けた操作入力の内容に応じて、ユーザーに提示する触感の内容を変化させる。
2019064518.tif 000002
【特許請求の範囲】
【請求項１】
操作部材、及び触感提示機構を備える操作デバイスと接続される操作デバイスの制御装置であって、
前記操作部材に対するユーザーの操作入力を受け付ける操作入力受付部と、
前記操作入力を受け付けた際に前記触感提示機構を動作させることによって、前記操作入力に対応する触感を前記ユーザーに提示する触感提示部と、
を含み、
前記触感提示部は、前記操作入力受付部が受け付けた操作入力の内容に応じて、前記ユーザーに提示する触感の内容を変化させる
ことを特徴とする操作デバイスの制御装置。
【請求項２】
請求項１に記載の操作デバイスの制御装置において、
前記操作デバイスは、複数の操作部材を備え、
前記操作入力受付部は、前記複数の操作部材のいずれかに対する前記ユーザーの操作入力を受け付け、
前記触感提示部は、前記ユーザーが操作した操作部材の前記操作デバイス上の配置位置に応じて、前記ユーザーに提示する触感の内容を変化させる
ことを特徴とする操作デバイスの制御装置。
【請求項３】
請求項２に記載の操作デバイスの制御装置において、
前記操作デバイスは、前記触感提示機構として複数の振動機構を備え、
前記触感提示部は、前記複数の振動機構それぞれに、前記配置位置に応じて決まる強さで振動を発生させることによって、前記ユーザーに前記操作入力に対応する触感を提示する
ことを特徴とする操作デバイスの制御装置。
【請求項４】
請求項２に記載の操作デバイスの制御装置において、
前記触感提示部は、前記ユーザーが操作した操作部材の前記操作デバイス上の配置位置に応じた向きの疑似力覚を提示する
ことを特徴とする操作デバイスの制御装置。
【請求項５】
請求項１に記載の操作デバイスの制御装置において、
前記触感提示部は、前記ユーザーによる前記操作部材に対する操作入力の強さを示す情報を取得し、当該取得した情報に応じて、前記ユーザーに提示する触感の強さを変化させる
ことを特徴とする操作デバイスの制御装置。
【請求項６】
請求項１に記載の操作デバイスの制御装置において、
前記触感提示部は、前記ユーザーによる前記操作部材に対する操作入力の強さを示す情報を取得し、当該取得した情報に応じて、前記ユーザーに触感を提示するタイミングを決定する
ことを特徴とする操作デバイスの制御装置。
【請求項７】
請求項１に記載の操作デバイスの制御装置において、
前記操作部材は感圧センサーであって、
前記操作入力受付部は、前記感圧センサーに対するユーザーの押圧操作を受け付け、
前記触感提示部は、前記操作入力受付部が前記押圧操作を受け付けた際における前記操作デバイスの状態に応じて、前記ユーザーに提示する触感の内容を変化させる
ことを特徴とする操作デバイスの制御装置。
【請求項８】
請求項７に記載の操作デバイスの制御装置において、
前記触感提示部は、前記感圧センサーが検出した過去の圧力値の時間変化に応じて、前記触感の提示タイミングを決定する
ことを特徴とする操作デバイスの制御装置。
【請求項９】
請求項８に記載の操作デバイスの制御装置において、
前記触感提示部は、前記感圧センサーが検出した過去の圧力値の時間変化に応じて、圧力値が所与の閾値を超えるタイミングを推定し、当該推定の結果に応じて前記触感の提示タイミングを決定する
ことを特徴とする操作デバイスの制御装置。
【請求項１０】
請求項７に記載の操作デバイスの制御装置において、
前記触感提示部は、前記感圧センサーが検出する圧力値が所与の閾値を超えるタイミングで前記触感の提示を開始し、前記操作デバイスが移動中か否かに応じて、前記閾値を変化させる
ことを特徴とする操作デバイスの制御装置。
【請求項１１】
請求項７に記載の操作デバイスの制御装置において、
前記触感提示部は、前記感圧センサーが検出する圧力値が所与の閾値を超えるタイミングで前記触感の提示を開始し、前記操作デバイスが備える他の操作部材に対する操作入力の有無に応じて、前記閾値を変化させる
ことを特徴とする操作デバイスの制御装置。
【請求項１２】
操作部材と、
当該操作部材に連結される構造体と、
一端が前記構造体に固定され、他端が別の支持体によって支持される振動機構と、
を備え、
前記構造体は、前記別の支持体よりも剛性が高い
ことを特徴とする操作デバイス。
【請求項１３】
操作部材、及び触感提示機構を備える操作デバイスの制御方法であって、
前記操作部材に対するユーザーの操作入力を受け付ける操作入力受付ステップと、
前記操作入力を受け付けた際に前記触感提示機構を動作させることによって、前記操作入力に対応する触感を前記ユーザーに提示する触感提示ステップと、
を含み、
前記触感提示ステップでは、前記操作入力受付ステップで受け付けた操作入力の内容に応じて、前記ユーザーに提示する触感の内容を変化させる
ことを特徴とする操作デバイスの制御方法。
【請求項１４】
操作部材、及び触感提示機構を備える操作デバイスを制御するためのプログラムであって、
前記操作部材に対するユーザーの操作入力を受け付ける操作入力受付部、及び、
前記操作入力を受け付けた際に前記触感提示機構を動作させることによって、前記操作入力に対応する触感を前記ユーザーに提示する触感提示部、
としてコンピュータを機能させ、
前記触感提示部は、前記操作入力受付部が受け付けた操作入力の内容に応じて、前記ユーザーに提示する触感の内容を変化させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーの操作に応じた触感を提示する操作デバイス、その制御装置、制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
スマートフォンや家庭用ゲーム機に接続されるコントローラなどのように、ユーザーからの操作入力を受け付ける操作デバイスの中には、振動を発生させるなどしてユーザーに触感を提示する触感提示機構を備えるものがある。このような操作デバイスは、ユーザーが操作ボタンを操作したなどのタイミングで触感提示機構を動作させることにより、ユーザーの操作に応じた感触を提示して、操作感を向上させることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記従来例の技術における操作デバイスにおいて、例えば操作ボタンごとに個別の触感提示機構を設けることは、コストの増大や装置の大型化を招くことになる。一方で、各種の操作に対する触感を共通の触感提示機構によって提示しようとすると、反応が画一的になってしまい、操作感の向上につながりにくくなる傾向がある。【０００４】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、ユーザーの操作に応じた触感を効果的に提示することのできる操作デバイス、その制御装置、制御方法、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明に係る操作デバイスの制御装置は、操作部材、及び触感提示機構を備える操作デバイスと接続される操作デバイスの制御装置であって、前記操作部材に対するユーザーの操作入力を受け付ける操作入力受付部と、前記操作入力を受け付けた際に前記触感提示機構を動作させることによって、前記操作入力に対応する触感を前記ユーザーに提示する触感提示部と、を含み、前記触感提示部は、前記操作入力受付部が受け付けた操作入力の内容に応じて、前記ユーザーに提示する触感の内容を変化させることを特徴とする。【０００６】
本発明に係る操作デバイスは、操作部材と、当該操作部材に連結される構造体と、一端が前記構造体に固定され、他端が別の支持体によって支持される振動機構と、を備え、前記構造体は、前記別の支持体よりも剛性が高いことを特徴とする。【０００７】
本発明に係る操作デバイスの制御方法は、操作部材、及び触感提示機構を備える操作デバイスの制御方法であって、前記操作部材に対するユーザーの操作入力を受け付ける操作入力受付ステップと、前記操作入力を受け付けた際に前記触感提示機構を動作させることによって、前記操作入力に対応する触感を前記ユーザーに提示する触感提示ステップと、を含み、前記触感提示ステップでは、前記操作入力受付ステップで受け付けた操作入力の内容に応じて、前記ユーザーに提示する触感の内容を変化させることを特徴とする。【０００８】
本発明に係るプログラムは、操作部材、及び触感提示機構を備える操作デバイスを制御するためのプログラムであって、前記操作部材に対するユーザーの操作入力を受け付ける操作入力受付部、及び、前記操作入力を受け付けた際に前記触感提示機構を動作させることによって、前記操作入力に対応する触感を前記ユーザーに提示する触感提示部、としてコンピュータを機能させ、前記触感提示部は、前記操作入力受付部が受け付けた操作入力の内容に応じて、前記ユーザーに提示する触感の内容を変化させることを特徴とする。このプログラムは、コンピュータ読み取り可能で非一時的な情報記憶媒体に格納されて提供されてよい。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係る操作デバイスを含むシステムの構成例を表すブロック図である。
【図２】操作デバイスの外観を示す図である。
【図３】情報処理装置の機能を表す機能ブロック図である。
【図４】フィードバック振動に対する補正処理の一例を説明する図である。
【図５】操作デバイスの構造の一例を模式的に示す断面図である。
【図６】振動データの一例を示す図である。
【図７】本発明の第２の実施形態における操作デバイスの外観を示す図である。
【図８】感圧センサーが検出する圧力値に応じたフィードバック振動の制御について説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１１】
［第１の実施形態］
まず、本発明の第１の実施形態について説明する。図１に示すように、本実施形態では、制御装置として機能する情報処理装置１０は、操作デバイス２０と通信可能に接続されている。
【００１２】
操作デバイス２０は、ユーザーが手で保持したり、ユーザーの身体に装着したりして使用するデバイスである。操作デバイス２０は振動機構２１を内蔵しており、この振動機構２１を動作させることによってユーザーに振動を提示する。振動機構２１は、リニア共振アクチュエータやボイスコイルモーター、偏心モーターなど、各種の振動発生素子であってよい。本実施形態では、操作デバイス２０は複数の振動機構２１を内蔵しているものとする。具体的に、ユーザーが左手で把持する把持部に振動機構２１ａが、右手で把持する把持部に振動機構２１ｂが、それぞれ配置されている。
【００１３】
また、操作デバイス２０は、ユーザーによる操作の対象となる操作ボタンやレバー、タッチセンサなど、各種の操作部材を備えている。具体的に本実施形態では、図２に示すように、操作デバイス２０の左側に複数の操作ボタン２２ａ〜２２ｄが、右側に複数の操作ボタン２３ａ〜２３ｄが、右側の操作ボタン２３ａ〜２３ｄよりも中央寄りの位置に操作ボタン２４が、それぞれ配置されている。
【００１４】
情報処理装置１０は、例えば家庭用ゲーム機やパーソナルコンピュータ等であってよい。また、本実施形態において情報処理装置１０は、表示装置１４とも通信接続される。この情報処理装置１０は、図１に示すように、制御部１１と、記憶部１２と、インタフェース部１３とを含んで構成されている。
【００１５】
制御部１１は、少なくとも一つのプロセッサを含み、記憶部１２に格納されたプログラムに従って各種の情報処理を実行する。この制御部１１が実行する処理の具体例については、後に詳しく述べる。
【００１６】
記憶部１２は、メモリデバイス等を含み、制御部１１によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ、非一時的な記憶媒体に格納されて提供され、この記憶部１２に複写されたものであってもよい。またこの記憶部１２は、制御部１１のワークメモリとしても動作する。
【００１７】
インタフェース部１３は、ＵＳＢ（Universal Serial Bus）等のシリアルインタフェースあるいは、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の無線通信インタフェースを含んで構成される。情報処理装置１０は、このインタフェース部１３を介して操作デバイス２０と通信可能に接続される。特に本実施形態において、インタフェース部１３は、制御部１１からの指示に従って、振動機構２１を動作させるための制御信号を送信する。さらにインタフェース部１３は、表示装置１４と有線又は無線で通信するための通信インタフェースを含んでいる。情報処理装置１０は、インタフェース部１３を介して、表示装置１４が表示すべき映像の内容を示す映像信号を表示装置１４に対して送信する。
【００１８】
表示装置１４は、情報処理装置１０から送信される映像信号に基づく映像を表示する。表示装置１４は、例えば家庭用テレビ受像機や液晶ディスプレイであってもよいし、ヘッドマウントディスプレイ等のユーザーが頭部に装着して使用するタイプのデバイスであってもよい。
【００１９】
以下、情報処理装置１０の制御部１１が実現する機能の具体例について説明する。本実施形態において制御部１１は、機能的に、図３に示すように、操作入力受付部３１と、アプリケーション実行部３２と、触感提示部３３と、を含んで構成されている。これらの機能は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することにより実現される。このプログラムは、インターネット等の通信ネットワークを介して情報処理装置１０に提供されてもよいし、光ディスク等のコンピュータ読み取り可能な情報記憶媒体に格納されて提供されてもよい。
【００２０】
操作入力受付部３１は、操作デバイス２０に設けられた各操作部材に対するユーザーの操作入力を受け付ける。具体的に、操作デバイス２０は、いずれかの操作ボタンをユーザーが押下した場合に、押下された操作ボタンを特定する情報を含んだ制御信号を情報処理装置１０に対して送信する。操作入力受付部３１は、この操作デバイス２０が送信する制御信号を参照して、ユーザーの操作内容を特定する。
【００２１】
アプリケーション実行部３２は、アプリケーションプログラムを読み出すことによって、その処理を実行する。本実施形態においてアプリケーション実行部３２は、操作入力受付部３１が受け付けたユーザーの操作内容に応じて、各種の処理を実行し、その実行結果を表示装置１４の画面に表示させる。また、アプリケーション実行部３２は、その処理内容に応じて、操作デバイス２０に内蔵された振動機構２１を動作させる振動指示を出力してもよい。
【００２２】
触感提示部３３は、操作デバイス２０に対して、振動機構２１を振動させる制御命令を出力する。具体的に触感提示部３３は、アプリケーション実行部３２が振動指示を出力した場合に、その指示内容に応じた振動を発生させる制御命令を操作デバイス２０に対して出力する。これにより操作デバイス２０は、例えばアプリケーション実行部３２がゲーム等のアプリケーションプログラムを実行する場合に、その処理内容に応じて、ユーザーにゲーム内の衝撃等を表現するための振動を提示することができる。以下では、アプリケーション実行部３２が実行する処理の内容に従って振動機構２１が発生させる振動を、アプリケーション振動という。
【００２３】
また、触感提示部３３は、操作入力受付部３１が操作入力を受け付けたタイミングで、ユーザーに触感を提示するための制御命令を出力する。この制御命令に応じて振動機構２１が振動を発生させることによって、ユーザーに操作入力に対応した触感が提示される。以下では、ユーザーの操作入力に対応して振動機構２１が発生させる振動を、フィードバック振動という。フィードバック振動を発生させることによって、ユーザーが操作デバイス２０表面の操作部材を操作した際に、その操作部材そのものが備える物理的な感触とは異なる触感をユーザーに提示することができ、操作感を向上させることができる。
【００２４】
さらに触感提示部３３は、操作入力受付部３１が受け付けたユーザーの操作内容に応じて、フィードバック振動の内容を変化させる。具体的に、触感提示部３３は、ユーザーが操作した操作部材の位置に応じて、操作デバイス２０に内蔵されている各振動機構２１が発生すべき振動の強さを変化させる。より詳細には、ユーザーが操作した操作部材から各振動機構までの距離に応じて、距離の短い振動機構ほど強い振動を発生させることとする。例えば振動機構２１ａと振動機構２１ｂの間に配置されたいずれかの操作ボタンをユーザーが操作した場合、触感提示部３３は、その操作ボタンから各振動機構２１までの距離の比に応じて、各振動機構２１に発生させる振動の強さの比を決定する。
【００２５】
一例として、ユーザーが操作ボタン２４を操作した場合について説明する。操作ボタン２４から振動機構２１ａまでの距離ｄ１は、操作ボタン２４から振動機構２１ｂまでの距離ｄ２の約４倍である。そのため触感提示部３３は、振動機構２１ａと振動機構２１ｂとの出力比が１：４になるように、双方の振動機構２１を振動させる。これにより操作デバイス２０は、ユーザーが操作した操作ボタン２４からは離れた位置に配置された振動機構２１ａ及び２１ｂを用いて、ユーザーが違和感を感じにくい態様でユーザーの操作入力に対応する触感を提示することができる。
【００２６】
また、操作ボタン２４よりもさらに振動機構２１ｂに近い位置に配置された操作ボタン２３ａ〜２３ｄをユーザーが操作した場合、触感提示部３３は、操作ボタン２４の例より振動機構２１ａと振動機構２１ｂとの出力比が大きくなるように、それぞれのフィードバック振動の強さを決定する。あるいは触感提示部３３は、距離の比が所定値以上の大きさになる位置の操作部材をユーザーが操作した際には、より近い位置にある振動機構２１だけを動作させてもよい。例えば触感提示部３３は、操作ボタン２２ａ〜２２ｄが操作された場合には振動機構２１ａだけにフィードバック振動を発生させ、操作ボタン２３ａ〜２３ｄが操作された場合には振動機構２１ｂだけにフィードバック振動を発生させてもよい。
【００２７】
さらに触感提示部３３は、ユーザーが操作した操作部材の位置に応じて、発生させるフィードバック振動の振動波形を変化させてもよい。例えば触感提示部３３は、いずれかの方向に偏った振動波形に基づく振動を各振動機構に発生させることによって、その方向に引っ張られるかのような感覚をユーザーに提示することができる。以下では、このような感覚を疑似力覚といい、疑似力覚を発生させる振動を疑似力覚振動という。触感提示部３３は、フィードバック振動として、操作部材が配置された位置に向かう疑似力覚をユーザーに感じさせるような疑似力覚振動を発生させてもよい。具体例として、ユーザーが向かって左側の上方に配置された操作ボタン２２ａを操作した場合、触感提示部３３は、振動機構２１ａに上方向に向かう疑似力覚振動を発生させる。逆に下方に配置された操作ボタン２２ｃが操作された場合、触感提示部３３は、振動機構２１ａに下方向に向かう疑似力覚振動を発生させる。同様に、操作ボタン２３ａが操作された場合には振動機構２１ｂに上方向に向かう疑似力覚振動を発生させ、操作ボタン２３ｃが操作された場合には振動機構２１ｂに下方向に向かう疑似力覚振動を発生させる。これにより、ユーザーの操作入力に対応する触感を擬似的に発生させることができる。
【００２８】
また、触感提示部３３は、ユーザーが操作した操作部材がどれかに応じて、発生させるフィードバック振動の波形形状や周波数など、波形パターン自体を変化させてもよい。これにより、操作部材ごとに異なる感触の触感を提示することができる。
【００２９】
具体例として、正弦波のパルス波形をフィードバック振動に用いる場合、周波数が高いほど軽い感触に、低いほど重い感触になる。そこで、特定の操作ボタンが操作された場合、比較的低い周波数のパルス波形を、余韻を感じさせるために徐々に弱くしながら繰り返し提示することで、柔らかいボタンを押しているような感触をユーザーに提示することができる。また、アタックが強い（開始直後の振幅が大きい）波形形状のフィードバック振動を発生させることで、硬いボタンを押しているような感触をユーザーに提示することができる。
【００３０】
また、触感提示部３３は、ユーザーが操作部材に対して行った操作量や操作の強さを示す指標値を取得し、その指標値に応じてフィードバック振動の強さを変化させてもよい。具体的に、操作部材が操作量を取得可能なアナログボタン等の場合、操作入力受付部３１はその操作量を示す数値情報を取得する。触感提示部３３は、取得された操作量の数値に応じて、フィードバック振動の強さを決定する。あるいは、操作部材の表面に感圧センサー等が配置され、ユーザーの押圧操作の強さを検出可能な場合、触感提示部３３は、その操作の強さを示す数値に応じて、フィードバック振動の強さを決定してもよい。
【００３１】
一例として、触感提示部３３は、感圧センサーの検出値が１０以上の場合には振幅０．１の振動を発生させ、１００以上の場合には振幅１．０の振動を発生させるなど、検出値に応じて発生させる振動の振幅の強さを変化させる。なお、この例において触感提示部３３は、感圧センサーの検出値が所定のオフセット値を超えるまではフィードバック振動を発生させないこととしてもよい。
【００３２】
さらに、触感提示部３３は、操作量や操作の強さを示す指標値に応じて、フィードバック振動の強さだけでなく、フィードバック振動の発生タイミングを変化させてもよい。具体的に触感提示部３３は、操作量が所定の閾値を超えたタイミングでフィードバック振動を発生させることにより、操作中に段階的に変化する触感を提示することができる。
【００３３】
一例として、０（無操作）から１．０（最大量）までの範囲の数値で操作量を取得可能なアナログボタンをユーザーが操作する場合について、説明する。触感提示部３３は、取得される操作量が０．５を超えたタイミング、及び１．０に到達したタイミングのそれぞれでフィードバック振動を発生させる。これにより、二段階で押し込み可能なボタンを操作しているかのような触感をユーザーに提示できる。さらに、中間段階では比較的軽い感触を、操作量が最大量になったときには重い感触を、それぞれ提示するなど、閾値毎に提示するフィードバック振動の内容を変化させてもよい。
【００３４】
あるいは触感提示部３３は、操作量が０．１増加するごとに比較的短いフィードバック振動を提示するなどして、操作中の感触を段階的にユーザーに提示してもよい。このように複数回にわたって振動を提示する例において、ユーザーが一気にアナログボタンを操作した場合には、途中のフィードバック振動を省略してもよいし、複数回のフィードバック振動を操作完了後に順次発生させてもよい。このような制御によれば、操作が行われている途中の感触を細かくユーザーに提示して、ボタンを押し込む際の摩擦感や押し込みづらさなどを表現することができる。
【００３５】
なお、人間の感じる圧力の大きさに関して、スティーヴンスのべき法則が存在することが知られている。そのことを考慮して、触感提示部３３は、操作量が一定間隔（例えば０．１）増加するごとにフィードバック振動を提示してもよいが、閾値の間の間隔が徐々に増加するような複数の閾値を用いて、フィードバック振動の発生タイミングを決定してもよい。具体例として、触感提示部３３は、操作量が０から１．０の数値範囲で定義される場合に、０．１、０．２、０．３という一定間隔ではなく、０．１、０．３、０．６、１．０のように、間隔が徐々に大きくなるような複数の閾値を超えるごとに、フィードバック振動を提示することとする。これにより、人間の操作感覚と合致したフィードバックを与えることが可能になる。
【００３６】
以上の説明では、操作量や操作の強さを示す指標値の絶対値に応じてフィードバック振動の発生タイミングを決定することとしたが、触感提示部３３は、このような指標値の単位時間当たりの変化量に応じて、フィードバック振動を発生させるか否か、また発生させるフィードバック振動の強さなどを決定してもよい。
【００３７】
具体例として、触感提示部３３は、所定時間おきにその時点の感圧センサーの検出値を取得することとする。そして、新たに取得した検出値が、前回の検出値よりも所定閾値以上上昇していた場合に、フィードバック振動を発生させる。例えば閾値が１０で所定時間おきに取得された感圧センサーの検出値が０，１２，２１，８３であった場合、２回目の感圧値取得時には０から１２に変化しており変化量１２が閾値１０以上なので、所定のフィードバック振動を発生させる。３回目の取得時には変化量２１−１２＝９は閾値１０未満なので、フィードバック振動を発生させない。４回目の取得時には変化量６２が閾値１０以上なので、フィードバック振動を発生させる。このとき触感提示部３３は、提示するフィードバック振動の強さを変化量に応じて変化させてもよい。また、変化量に応じてフィードバック振動の提示回数を決定してもよい。例えば上述の例では４回目の取得時には変化量６２が閾値１０の６倍以上なので、６回のフィードバック振動を発生させることとしてもよい。
【００３８】
また、触感提示部３３は、操作部材に対する操作が短時間に繰り返される場合、フィードバック振動の提示を制限してもよい。例えばアナログボタンをユーザーが連打している場合、それぞれの操作に対してフィードバック振動を提示することが難しくなる。そこで触感提示部３３は、短時間に繰り返し操作が行われていると判定される場合、フィードバック振動の発生指示を制限する。具体的に、例えば触感提示部３３は、操作量が閾値を超える回数が所定時間内に所定回数を超えた場合、フィードバック振動の発生指示を制限する。また、触感提示部３３は、操作量や操作の強さを示す数値の時間変化が所定の閾値を超えた場合に、フィードバック振動の発生指示を制限してもよい。なお、触感提示部３３は、ユーザーが操作部材に対する操作を繰り返す場合であっても、初回の操作に対するフィードバック振動は発生させることとしてもよい。
【００３９】
さらに、操作量や操作の強さを直接取得する機構を備えていない操作部材をユーザーが操作した場合であっても、触感提示部３３は、操作デバイス２０に設けられた他のセンサーによってユーザーが行った操作の強さを推定してもよい。例えば操作デバイス２０に加速度センサー等のモーションセンサーが内蔵されている場合、触感提示部３３は、操作部材が操作を受け付けたタイミングにおけるモーションセンサーの検出結果を参照して、操作の強さを推定してもよい。ユーザーの操作の瞬間に操作デバイス２０に加速度が加わったと判定される場合、その加速度の大きさが操作の強さを表すと推定できる。そこで触感提示部３３は、検出された加速度の大きさに応じて、フィードバック振動の強さを変化させる。
【００４０】
あるいは触感提示部３３は、操作デバイス２０に設けられたマイクロホンが集音する音声信号に応じて、操作の強さを推定してもよい。操作ボタンをユーザーが操作する際には、操作音が発生する。マイクロホンを用いてこの操作音を集音することによって、触感提示部３３は、その音量から操作の強さを推定することができる。推定された操作の強さに応じてフィードバック振動の強さを変化させることで、ユーザーの操作入力の強さに連動したフィードバック振動を発生させることができる。
【００４１】
また、アプリケーション振動とフィードバック振動を同時に発生させるべき場合、触感提示部３３は、両者の振動波形を合成した振動を発生させる制御命令を出力する。これにより操作デバイス２０は、単に触感提示部３３が出力する制御命令に応じた振動を発生させるだけで、アプリケーション振動とフィードバック振動の双方をユーザーに提示できる。
【００４２】
この場合において、アプリケーション振動のピークとフィードバック振動のピークがタイミング的に重なる場合、フィードバック振動がユーザーに認識されなくなってしまうおそれがある。そこでこのような場合、触感提示部３３は、フィードバック振動の発生タイミングを遅延させる補正処理を実行してもよい。
【００４３】
図４は、このような補正処理の内容を説明する図である。図の１段目（最上段）はアプリケーション振動の波形を示しており、２段目はユーザーの操作入力に応じたフィードバック振動の本来の発生タイミングを示している。補正処理を実行せずにこの両者をそのまま合成した場合、図の３段目に示すように、フィードバック振動の発生タイミングが分かり難い波形になってしまう。そこで触感提示部３３は、図の４段目に示すように、フィードバック振動の波形を遅延させる補正処理を実行する。補正されたフィードバック振動の波形を１段目に示すアプリケーション振動の波形と合成すると、図の５段目（最下段）に示すような波形が得られる。このような波形に従って振動機構２１を動作させることにより、フィードバック振動をユーザーに認識させやすくすることができる。
【００４４】
あるいは触感提示部３３は、フィードバック振動の発生タイミングを変化させる代わりに、フィードバック振動とタイミングが重なるアプリケーション振動の振幅を小さくする補正処理を実行してもよい。具体的に、例えば触感提示部３３は、フィードバック振動の発生期間、及びその前後所定期間にわたって提示されるアプリケーション振動の振幅を、所定割合だけ小さくする。このような制御によれば、フィードバック振動の発生をユーザーに認識させやすくすることができる。さらにこの場合において、触感提示部３３は、アプリケーション振動の振幅を瞬間的に小さく変化させるのではなく、徐々に小さくなるように補正してもよい。
【００４５】
また、操作デバイス２０が複数の振動機構２１を備えている場合、触感提示部３３は、アプリケーション振動とフィードバック振動を同時期に発生させる際には、それぞれの振動を別の振動機構２１に提示させてもよい。例えば触感提示部３３は、アプリケーション振動とフィードバック振動のタイミングが重なる場合、アプリケーション振動を振動機構２１ａから発生させ、フィードバック振動を振動機構２１ｂから発生させる。この例では、触感提示部３３は、両者の振動波形を合成することなく、それぞれ独立の制御命令として、発生させるべき振動機構２１を指定する情報とともに操作デバイス２０に対して送信する。これにより、フィードバック振動をユーザーに認識させやすくすることができる。
【００４６】
なお、触感提示部３３は、アプリケーション振動をいずれか一つの振動機構２１から発生させるとともに、フィードバック振動については複数の振動機構２１から発生させる制御を行ってもよい。例えば触感提示部３３は、二つの振動を合成した振動を振動機構２１ａに発生させ、振動機構２１ｂにはフィードバック振動のみを発生させる。逆に、フィードバック振動を一つの振動機構２１から発生させるとともに、アプリケーション振動については複数の振動機構２１から発生させることとしてもよい。このような制御によっても、複数の振動機構２１が互いに異なる振動を発生させるため、フィードバック振動をユーザーが認識しやすくなる。
【００４７】
さらに本実施形態において、操作デバイス２０は、各操作ボタンから離れた位置に配置されている振動機構２１によるフィードバック振動を効果的にユーザーに伝達するために、以下に説明するような構造を備えてもよい。図５は、この例における操作デバイス２０の右側の把持部を通る断面を右側から見た様子を模式的に示している。この図の例では、振動機構２１ｂの一端は構造体２５に固定されている。また、操作ボタン２３ａ〜２３ｄが配置された基板も、構造体２５に連結されており、構造体２５が振動すると連動して操作ボタン２３ａ〜２３ｄも振動するようになっている。
【００４８】
一方、振動機構２１ｂの構造体２５に固定されている側の端部と逆側の端部は、支持体２６によって支持されている。ここで、支持体２６は、構造体２５よりも剛性が低い素材で形成されており、構造体２５からは分離して配置されている。例えば支持体２６は、スポンジ等で形成されてよい。このように、振動機構２１ｂの操作部材に近い側の端部を、反対側の端部よりも剛性が高い部材に固定し、かつ剛性が高い部材が操作部材と連動するようにすることで、振動機構２１ｂが発生させる振動をユーザーの指に伝達しやすくすることができる。これにより、ユーザーが操作入力に対応する触感を感じやすくなる。
【００４９】
以上の説明では、操作デバイス２０と通信接続された、操作デバイス２０とは独立の情報処理装置１０が、本発明の一実施形態に係る制御装置として機能することとした。しかしながら、本発明の実施の形態に係る制御装置は、操作デバイス２０と一体に構成されてもよい。すなわち、操作デバイス２０に内蔵されるマイクロコンピュータ等が、本発明の実施の形態に係る制御装置として機能することとしてもよい。この場合、操作デバイス２０内の制御装置が、前述した操作入力受付部３１及び触感提示部３３の機能の少なくとも一部を実現する。これにより制御装置は、外部と通信することなく、操作デバイス２０の筐体表面に設けられた操作部材に対するユーザーの操作入力に応じたフィードバック振動を発生させることができる。そのため、通信による遅延が生じにくく、ユーザーの操作に対して直ちに触感を提示することができる。
【００５０】
なお、この例においても、操作デバイス２０内の制御装置は、情報処理装置１０から送信される制御命令に応じて振動機構２１を動作させてもよい。この場合、振動機構２１は、情報処理装置１０からの制御命令に応じてアプリケーション振動を発生させるとともに、ユーザーの操作入力に応じたフィードバック振動も発生させることになる。
【００５１】
さらにこの例において、フィードバック振動の内容は、予め情報処理装置１０から指定されることとしてもよい。具体的に、情報処理装置１０は、フィードバック振動の振動波形を示す振動データを、空き時間等に予め操作デバイス２０内の制御装置に対して送信する。例えば情報処理装置１０がゲームプログラムを実行している場合、シーンの切り替えやゲームのロード等のために、ゲームのプレイが中断されるタイミングが生じる。情報処理装置１０は、このようなタイミングにおいて、振動データを操作デバイス２０に送信する。操作デバイス２０内の制御装置は、受信した振動データをメモリ内に格納する。そして、その後にユーザーが操作部材を操作したときには、メモリ内の振動データを読み出して、その内容に応じた振動を振動機構２１に発生させる。こうすれば、通信遅延を回避しながら、情報処理装置１０の要求に応じたフィードバック振動を発生させることができる。
【００５２】
この例において、情報処理装置１０の制御部１１は、処理の進行に伴って、新しい振動データを操作デバイス２０に対して送信し、古い振動データを上書きさせてもよい。これにより、処理の進行とともにフィードバック振動の内容を変化させることができる。
【００５３】
図６は、情報処理装置１０から操作デバイス２０に送信される振動データの内容の具体例を示している。この図の例では、操作ボタンごとに、波形データのデータ種別（ＰＣＭ波形データか、周波数及び波形形状によって特定される波形データか）、及び波形データの内容が格納される。また、操作ボタンの押下時に振動を発生させるか否か、解放時に振動を発生させるか否か、操作中繰り返し振動を発生させるか否かのそれぞれを指定するフラグ情報が含まれてもよい。また、繰り返し振動を発生させる場合、繰り返し周期（繰り返しの時間間隔）や、ボタン押下後繰り返し振動を開始するまでの遅延時間を指定する情報が含まれてもよい。さらに、アプリケーションプログラムが当該操作ボタンを使用しない場合（すなわち、当該操作ボタンに対する操作入力がアプリケーションプログラムに無視される場合）にどのような制御をすべきかを指定する情報が含まれてもよい。具体的にこの操作ボタン未使用時の動作を指定する情報は、当該操作ボタンに対する操作入力があった場合に他の操作ボタンと同様のフィードバック振動を発生させるか、何も振動を発生させないか、あるいは通常のフィードバック振動とは別の警告のための振動を発生させるか、が指定されてよい。このような各種の情報を含んだ振動データを予め受信し、ユーザーの操作が行われた場合にその操作内容に応じて振動機構２１を動作させることで、操作デバイス２０の制御装置は、リアルタイムにフィードバック振動を発生させることができる。
【００５４】
なお、操作デバイス２０内のメモリに格納される振動波形のデータは、時刻歴の波形データであってもよいし、ｓｉｎ関数などの関数式によって記述されてもよい。また、格納される振動波形のデータは、振動機構２１が発生させる振動そのままの波形を示すデータであってもよいし、合成して用いられる基本波形のデータであってもよい。
【００５５】
基本波形のデータが使用される場合、例えば操作デバイス２０の出荷時などにおいて、複数種類の基本波形のデータが予めメモリ内に格納される。情報処理装置１０は、前述した図６に示すような振動波形そのものの内容を示すデータを送信する代わりに、どの基本波形を使用するか、どのように合成するかなどを指定する波形指定情報を、操作デバイス２０に対して送信する。操作デバイス２０内の制御装置は、波形指定情報の内容に従ってメモリ内に格納されている基本波形に基づいて実際に使用する振動波形を生成する。そして、生成した振動波形に従って振動機構２１を振動させる。
【００５６】
具体例として、１００Ｈｚの１周期分の正弦波の波形（基本波形Ａ）、及びのこぎり波の波形（基本波形Ｂ）がそれぞれ基本波形として用意されているものとする。これに対して情報処理装置１０は、基本波形の種類、振幅、再生時間、再生速度、加算条件等を指定する波形指定情報を送信する。例えば情報処理装置１０は、「基本波形Ａを振幅０．５、再生時間５０ｍｓ、再生速度１．０で再生」といった内容を含む波形指定情報を送信する。この場合操作デバイス２０内の制御装置は、基本波形Ａを加工して実際の振動波形を生成する。あるいは情報処理装置１０は、「時刻０〜１００ｍｓで、基本波形Ａを振幅０．５、再生速度１．０、基本波形Ｂを振幅０．４で加算して合成」というように、複数の基本波形それぞれの振幅や再生速度を指定して両者を合成させる波形指定情報を送信してもよい。あるいは、複数の波形を時間方向で接続して「時刻０〜１００ｍｓで、基本波形Ａを振幅０．８、再生速度０．８で出力、時刻１００ｍｓ〜２００ｍｓで、基本波形Ｂを振幅０．４、再生速度１．２で出力」といった情報を指定してもよい。
【００５７】
なお、基本波形が正弦波などの関数によって記憶されている場合、情報処理装置１０は、振幅、周波数、長さなどのパラメータを波形指定情報として送信し、格納されている関数に基づいて実際の振動波形を生成することとしてもよい。この場合のパラメータは、固定値であってもよいが、時間とともに変化する値であってもよい。例えば振幅の時間変化（エンベロープ）を指定する波形指定情報を送信することで、時間とともに振幅が変化する振動をユーザーに提示できる。このような制御によれば、操作デバイス２０内には限られた数の基本波形しか格納していないにもかかわらず、アプリケーションプログラムの要求に応じて多様な振動を発生させることができる。
【００５８】
［第２の実施形態］
以下、本発明の第２の実施形態について、説明する。本実施形態では、操作デバイスの形状、及び配置される操作部材等が第１の実施形態とは相違している。一方で、情報処理装置１０が実現する機能は、一部第１の実施形態と共通する。そこで、第１の実施形態と共通する構成要素、及び機能については、第１の実施形態と同一の符号で参照し、その詳細な説明は省略する。
【００５９】
本実施形態において制御装置として機能する情報処理装置１０は、図７に例示するような操作デバイス４０と接続されている。操作デバイス４０は、本体部４１と本体部４１に取り付けられた固定具４２とを備えており、ユーザーは固定具４２に自身の手のひらを通して本体部４１を手で把持して使用する。
【００６０】
本体部４１の前面側には、ユーザーの人差し指で操作されるトリガーボタン４３と、ユーザーの中指で操作される感圧センサー４４と、が配置されている。ユーザーが中指で感圧センサー４４の表面を押圧する操作を行うと、感圧センサー４４はその圧力を検知し、情報処理装置１０に対して送信する。また、本体部４１には振動機構４５が内蔵されており、ユーザーが感圧センサー４４に対して押圧操作を行った際には、この振動機構４５を動作させることによってユーザーに触感を提示する。これにより、感圧センサー４４自体は一般的な操作ボタンなどのように物理的に押し込むことができないにもかかわらず、ユーザーは感圧センサー４４を擬似的に操作ボタンのように操作することができる。
【００６１】
情報処理装置１０の操作入力受付部３１は、ユーザーの操作内容を表す情報として、感圧センサー４４の検出結果を操作デバイス４０から取得する。触感提示部３３は、この感圧センサー４４の検出結果に応じて、振動機構４５にフィードバック振動を発生させる。
【００６２】
触感提示部３３は、感圧センサー４４が検出した圧力値が所定の閾値Ｔｈを超えた場合に、フィードバック振動を発生させる制御命令を出力する。これに応じて振動機構４５が動作することにより、押圧操作に応じた触感がユーザーに提示される。
【００６３】
さらに触感提示部３３は、感圧センサー４４の圧力値が実際に閾値Ｔｈを超えたタイミングではなく、所定時間後に閾値Ｔｈを超えると予想されたタイミングで、フィードバック振動を発生させる制御命令を出力してもよい。触感提示部３３が制御命令を出力してから実際に振動機構４５が動作を開始するまでには、タイムラグが生じる。特に情報処理装置１０と操作デバイス４０とが無線によって接続されている場合、制御命令が操作デバイス４０に到達するまでにある程度の時間がかかるため、ユーザーが押圧操作を行ってからフィードバック振動が開始するまでに遅延が生じることになる。そこで触感提示部３３は、所定時間おきに、その時点までの過去の圧力値の時間変化（すなわち、過去複数回の感圧センサー４４の検出値）に基づいて、その時点から時間Ｔが経過した後の圧力値を予測する。そして、予測値が閾値Ｔｈを超えると判定された場合、そのタイミングでフィードバック振動の制御命令を出力する。これにより、圧力値が閾値Ｔｈを超えるタイミングで直ちにフィードバック振動を発生させることができる。
【００６４】
図８はこのような制御の具体例について説明する図であって、感圧センサー４４が検出する圧力値の時間変化を示している。この例では、時刻ｔ１において、それまでの圧力値の時間変化を元に算出される時刻（ｔ１＋Ｔ）における圧力値の予測値が、閾値Ｔｈを超えることになる。そこで触感提示部３３は、このタイミングでフィードバック振動の制御命令を出力する。
【００６５】
また、触感提示部３３は、操作入力が行われた際の操作デバイス４０の状態に基づいて、フィードバック振動を開始すると判定するための閾値Ｔｈを変化させてもよい。この例では、操作入力受付部３１は、感圧センサー４４が検出する圧力値のほかにも、その圧力値が得られた際の操作デバイス４０の状態に関する情報を取得する。
【００６６】
具体的に、例えば操作入力受付部３１は、操作デバイス４０に内蔵された加速度センサー等のモーションセンサーの検出結果を取得する。触感提示部３３は、モーションセンサーの検出結果から操作デバイス４０が運動していると判定された場合、閾値Ｔｈを大きくする。これは、ユーザーが操作デバイス４０を振ったりしたときには、意図せず感圧センサー４４に圧力が加わるためである。なお、触感提示部３３は、その時点における移動速度に応じて、移動速度が大きければ大きいほど閾値Ｔｈを大きく変更してもよい。
【００６７】
また、触感提示部３３は、操作デバイス４０の状態に関する情報の一つとして、他の操作部材に対する操作入力の有無を示す情報を取得してもよい。例えば操作入力受付部３１がトリガーボタン４３に対する操作入力を受け付けた場合、触感提示部３３は、感圧センサー４４の圧力値に対する閾値Ｔｈを大きくしてもよい。ユーザーが人差し指でトリガーボタン４３を押し込む操作を行っている場合、中指にも無意識に力が加わると想定される。そこで、ユーザーが他の指で操作入力を行っている場合には閾値Ｔｈを大きくすることで、誤検出を避けることができる。
【００６８】
以上説明したように、本発明の各実施形態に係る制御装置によれば、操作デバイスに対するユーザーの操作入力に応じた触感を提示する場合に、より操作感を向上できる態様で触感を提示できる。
【００６９】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば以上の説明において触感提示部３３が実行することとした処理の少なくとも一部は、アプリケーションプログラムによって実現されてもよい。例えば、アプリケーション実行部３２が、操作入力受付部３１が受け付けた操作入力の内容に応じたフィードバック振動の内容を決定し、アプリケーション振動と同様にしてフィードバック振動を発生させる振動指示を出力してもよい。
【００７０】
また、以上の説明では振動機構が振動を発生させることによりユーザーの操作入力に対応した触感を提示することとしたが、これに限らず操作デバイスは、例えば力覚提示機構等、各種の触感提示機構によってユーザーの操作入力に対応した触感を提示してもよい。この場合にも、力覚提示機構が提示する力覚の強さや内容を、ユーザーが操作した操作部材の配置位置等に応じて決定することで、操作感を向上することができる。
【符号の説明】
【００７１】
１０  情報処理装置、１１  制御部、１２  記憶部、１３  インタフェース部、１４  表示装置、２０  操作デバイス、２１  振動機構、２２ａ〜２２ｄ，２３ａ〜２３ｄ，２４  操作ボタン、２５  構造体、２６  支持体、３１  操作入力受付部、３２  アプリケーション実行部、３３  触感提示部、４０  操作デバイス、４１  本体部、４２  固定具、４３  トリガーボタン、４４  感圧センサー、４５  振動機構。
【図１】
2019064518.tif 000003
【図２】
2019064518.tif 000004
【図３】
2019064518.tif 000005
【図４】
2019064518.tif 000006
【図５】
2019064518.tif 000007
【図６】
2019064518.tif 000008
【図７】
2019064518.tif 000009
【図８】
2019064518.tif 000010
【国際調査報告】
2019064518.tif 000011
2019064518.tif 000012
2019064518.tif 000013
2019064518.tif 000014
2019064518.tif 000015
2019064518.tif 000016
2019064518.tif 000017
2019064518.tif 000018