(57)【要約】  良好な触感の操作感を提供できるゲームコントローラを提供することを課題とする。  ゲームコントローラは、筐体と、前記筐体の開口部に配設されるタッチパネルと、前記タッチパネルに操作入力を行う操作面に振動を発生させる振動素子と、前記操作面に超音波帯の固有振動を発生させる駆動信号で前記振動素子を駆動する駆動制御部とを含む。
2015121963.tif 000002
【特許請求の範囲】
【請求項１】
筐体と、
前記筐体の開口部に配設されるタッチパネルと、
前記タッチパネルに操作入力を行う操作面に振動を発生させる振動素子と、
前記操作面に超音波帯の固有振動を発生させる駆動信号で前記振動素子を駆動する駆動制御部と
を含む、ゲームコントローラ。
【請求項２】
前記駆動制御部は、前記操作面への操作入力の位置及び当該位置の時間的変化度合に応じて、前記固有振動の強度が変化するように前記振動素子を駆動する、請求項１記載のゲームコントローラ。
【請求項３】
前記駆動制御部は、前記操作入力の位置が、当該操作入力の始点に対する所定距離の位置を通過するときに、前記固有振動の強度を変化させる、請求項１又は２記載のゲームコントローラ。
【請求項４】
前記駆動制御部は、前記操作入力の位置が、ゲームの画像データによる表示内容の中の所定の位置を通過するときに、前記固有振動の強度を変化させる、請求項１乃至３のいずれか一項記載のゲームコントローラ。
【請求項５】
前記駆動信号は、一定の周波数と一定の位相で前記操作面に超音波帯の固有振動を発生させる駆動信号である、請求項１乃至４のいずれか一項記載のゲームコントローラ。
【請求項６】
前記タッチパネルは、平面視で長辺と短辺を有する長方形であり、前記駆動制御部が前記駆動信号で前記振動素子を駆動すると、前記長辺の方向に振幅が変化する定在波が前記操作面に生じる、請求項１乃至５のいずれか一項記載のゲームコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームコントローラに関する。
【背景技術】
【０００２】
従来より、表示手段と、使用者の操作部位の前記表示手段への接触状態を検出する接触検出手段と、前記表示手段に接触している前記操作部位に対し、所定の触感を与える触感振動を発生させる触感振動発生手段とを備える触感呈示装置がある（例えば、特許文献１参照）。【０００３】
この触感呈示装置は、さらに、前記接触検出手段による検出結果に基づいて、前記触感振動を発生させるための波形データを生成する振動波形データ生成手段を備える。また、この触感呈示装置は、さらに、前記振動波形データ生成手段により生成された前記波形データに対し超音波を搬送波として変調処理を行い、該変調処理により生成された超音波変調信号を、前記触感振動を発生させるための信号として前記触感振動発生手段に出力する超音波変調手段とを備える。【０００４】
また、前記超音波変調手段は、周波数変調又は位相変調のどちらか一方を行う。また、前記超音波変調手段は、更に振幅変調を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２３１６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、従来の触感呈示装置の超音波の周波数は、可聴帯域より高い周波数（およそ２０ｋＨｚ以上）であればよく、超音波の周波数自体に特に工夫はなされていないため、良好な触感の操作感を提供できないおそれがある。また、これは、従来の触感呈示装置をゲームコントローラに用いても同様である。【０００７】
そこで、良好な触感の操作感を提供できるゲームコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施の形態のゲームコントローラは、筐体と、前記筐体の開口部に配設されるタッチパネルと、前記タッチパネルに操作入力を行う操作面に振動を発生させる振動素子と、前記操作面に超音波帯の固有振動を発生させる駆動信号で前記振動素子を駆動する駆動制御部とを含む。
【発明の効果】
【０００９】
良好な触感の操作感を提供できるゲームコントローラを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態のゲームコントローラ１００を示す斜視図である。
【図２】実施の形態のゲームコントローラ１００のタッチパネル１５０及びその周辺の構成を示す平面図である。
【図３】図２のＡ−Ａ矢視断面を示す図である。
【図４】超音波帯の固有振動によってトップパネル１２０に生じる定在波のうち、トップパネル１２０の短辺に平行に形成される波頭を示す図である。
【図５】ゲームコントローラ１００のトップパネル１２０に生じさせる超音波帯の固有振動により、操作入力を行う指先に掛かる動摩擦力が変化する様子を説明する図である。
【図６】実施の形態のゲームコントローラ１００の構成を示す図である。
【図７】実施の形態のゲームコントローラ１００のトップパネル１２０の表面に操作入力を行う状態を示す図である。
【図８】実施の形態のゲームコントローラ１００の動作例を示す図である。
【図９】実施の形態１のゲームコントローラ１００の駆動制御部２４０が実行する処理を示すフローチャートである。
【図１０】実施の形態のゲームコントローラ１００のトップパネル１２０の表面に操作入力を行う状態を示す図である。
【図１１】実施の形態のゲームコントローラ１００の動作例を示す図である。
【図１２】実施の形態のゲームコントローラ１００のトップパネル１２０の表面に操作入力を行う状態を示す図である。
【図１３】実施の形態のゲームコントローラ１００の動作例を示す図である。
【図１４】メモリ２５０に格納される振幅値を表す振幅データと移動速度との関係を表すデータを示す図である。
【図１５】指先の移動速度によって振幅データの振幅値を小さくする度合を調整する駆動パターンを示す図である。
【図１６】実施の形態の変形例によるゲームコントローラ１００Ａを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明のゲームコントローラを適用した実施の形態について説明する。
【００１２】
＜実施の形態＞
図１は、実施の形態のゲームコントローラ１００を示す斜視図である。
【００１３】
ゲームコントローラ１００は、筐体１１０及び２つのタッチパネル１５０を含む。ゲームコントローラ１００は、有線又は無線によってゲーム機本体に接続される、所謂リモートコントローラである。
【００１４】
ゲームコントローラ１００は、利用者がタッチパネル１５０に指先等で操作入力を行うことにより、ゲーム機本体の操作を行うものである。タッチパネル１５０は、２つあるため、利用者がゲームコントローラ１００を両手で持った状態で、２つのタッチパネル１５０を左右の手で操作することができる。
【００１５】
なお、ゲームコントローラ１００には、例えば、加速度センサ又はジャイロセンサが内蔵されいてもよい。この場合は、タッチパネル１５０を介してゲーム機本体を操作することに加えて、ゲームコントローラ１００の角度を変えたり、ゲームコントローラ１００を振ったりすることによっても、ゲーム機本体を操作することができる。
【００１６】
また、ゲームコントローラ１００には、ボタンが設けられていてもよい。
【００１７】
次に、図２を用いて、ゲームコントローラ１００のタッチパネル１５０の周辺の具体的な構成について説明する。
【００１８】
図２は、実施の形態のゲームコントローラ１００のタッチパネル１５０及びその周辺の構成を示す平面図であり、図３は、図２のＡ−Ａ矢視断面を示す図である。図２に示すタッチパネル１５０及びその周辺の構成は、図１に示す２つのタッチパネル１５０のうちの一方と、その周辺の構成に対応する。なお、図２及び図３では、図示するように直交座標系であるＸＹＺ座標系を定義する。
【００１９】
ゲームコントローラ１００は、筐体１１０、トップパネル１２０、両面テープ１３０、振動素子１４０、タッチパネル１５０、及び基板１７０を含む。
【００２０】
筐体１１０は、例えば、樹脂製であり、図３に示すように凹部１１０Ａに基板１７０及びタッチパネル１５０が配設されるとともに、両面テープ１３０によってトップパネル１２０が接着されている。なお、筐体１１０に平面視で矩形状の凹部１１０Ａを形成することにより、筐体１１０には凹部１１０Ａによって形成される矩形状の開口が存在する。この開口は、図２では矩形環状の両面テープ１３０の矩形状の開口と略一致している。図２では、タッチパネル１５０は、凹部１１０Ａの矩形状の開口の内側に位置している。
【００２１】
トップパネル１２０は、平面視で長方形の薄い平板状の部材であり、ガラス、又は、ポリカーボネートのような強化プラスティックで作製される。トップパネル１２０の表面（Ｚ軸正方向側の面）は、ゲームコントローラ１００の利用者が操作入力を行う操作面の一例である。
【００２２】
トップパネル１２０は、Ｚ軸負方向側の面に振動素子１４０が接着され、平面視における四辺が両面テープ１３０によって筐体１１０に接着されている。なお、両面テープ１３０は、トップパネル１２０の四辺を筐体１１０に接着できればよく、図３に示すように矩形環状である必要はない。
【００２３】
トップパネル１２０のＺ軸負方向側にはタッチパネル１５０が配設される。トップパネル１２０は、タッチパネル１５０の表面を保護するために設けられている。なお、トップパネル１２０の表面に、さらに別なパネル又は保護膜等が設けられていてもよい。
【００２４】
トップパネル１２０は、Ｚ軸負方向側の面に振動素子１４０が接着された状態で、振動素子１４０が駆動されることによって振動する。実施の形態では、トップパネル１２０の固有振動周波数でトップパネル１２０を振動させて、トップパネル１２０に定在波を生じさせる。ただし、トップパネル１２０には振動素子１４０が接着されているため、実際には、振動素子１４０の重さ等を考慮した上で、固有振動周波数を決めることが好ましい。
【００２５】
振動素子１４０は、トップパネル１２０のＺ軸負方向側の面において、Ｙ軸正方向側において、Ｘ軸方向に伸延する短辺に沿って接着されている。振動素子１４０は、超音波帯の振動を発生できる素子であればよく、例えば、ピエゾ素子のような圧電素子を含むものを用いることができる。
【００２６】
振動素子１４０は、後述する駆動制御部から出力される駆動信号によって駆動される。振動素子１４０が発生する振動の振幅（強度）及び周波数は駆動信号によって設定される。また、振動素子１４０のオン／オフは駆動信号によって制御される。
【００２７】
なお、超音波帯とは、例えば、約２０ｋＨｚ以上の周波数帯をいう。実施の形態のゲームコントローラ１００では、振動素子１４０が振動する周波数は、トップパネル１２０の振動数と等しくなるため、振動素子１４０は、トップパネル１２０の固有振動数で振動するように駆動信号によって駆動される。
【００２８】
タッチパネル１５０は、基板１７０の上（Ｚ軸正方向側）で、トップパネル１２０の下（Ｚ軸負方向側）に配設されている。タッチパネル１５０は、ゲームコントローラ１００の利用者がトップパネル１２０に触れる位置（以下、操作入力の位置と称す）を検出する座標検出部の一例である。
【００２９】
タッチパネル１５０は、利用者のトップパネル１２０への操作入力の位置を検出できる座標検出部であればよく、例えば、静電容量型又は抵抗膜型の座標検出部であればよい。ここでは、タッチパネル１５０が静電容量型の座標検出部である形態について説明する。タッチパネル１５０とトップパネル１２０との間に隙間があっても、静電容量型のタッチパネル１５０は、トップパネル１２０への操作入力を検出できる。
【００３０】
また、ここでは、タッチパネル１５０の入力面側にトップパネル１２０が配設される形態について説明するが、トップパネル１２０はタッチパネル１５０と一体的であってもよい。この場合、タッチパネル１５０の表面が図２及び図３に示すトップパネル１２０の表面になり、操作面を構築する。また、図２及び図３に示すトップパネル１２０を省いた構成であってもよい。この場合も、タッチパネル１５０の表面が操作面を構築する。また、この場合には、操作面を有する部材を、当該部材の固有振動で振動させればよい。
【００３１】
また、タッチパネル１５０が静電容量型の場合は、トップパネル１２０の上にタッチパネル１５０が配設されていてもよい。この場合も、タッチパネル１５０の表面が操作面を構築する。また、タッチパネル１５０が静電容量型の場合は、図２及び図３に示すトップパネル１２０を省いた構成であってもよい。この場合も、タッチパネル１５０の表面が操作面を構築する。また、この場合には、操作面を有する部材を、当該部材の固有振動で振動させればよい。
【００３２】
基板１７０は、筐体１１０の凹部１１０Ａの内部に配設される。基板１７０の上にはタッチパネル１５０が配設される。タッチパネル１５０は、図示を省略するホルダ等によって基板１７０及び筐体１１０に固定されている。
【００３３】
基板１７０には、後述する駆動制御装置の他に、ゲームコントローラ１００の駆動に必要な種々の回路等が実装される。
【００３４】
以上のような構成のゲームコントローラ１００は、トップパネル１２０に利用者の指が接触し、指先の移動を検出すると、基板１７０に実装される駆動制御部が振動素子１４０を駆動し、トップパネル１２０を超音波帯の周波数で振動させる。この超音波帯の周波数は、トップパネル１２０と振動素子１４０とを含む共振系の共振周波数であり、トップパネル１２０に定在波を発生させる。
【００３５】
ゲームコントローラ１００は、超音波帯の定在波を発生させることにより、トップパネル１２０を通じて利用者に触感を提供する。
【００３６】
次に、図４を用いて、トップパネル１２０に発生させる定在波について説明する。
【００３７】
図４は、超音波帯の固有振動によってトップパネル１２０に生じる定在波のうち、トップパネル１２０の短辺に平行に形成される波頭を示す図であり、図４の（Ａ）は側面図、（Ｂ）は斜視図である。図４の（Ａ）、（Ｂ）では、図２及び図３と同様のＸＹＺ座標を定義する。なお、図４の（Ａ）、（Ｂ）では、理解しやすさのために、定在波の振幅を誇張して示す。また、図４の（Ａ）、（Ｂ）では振動素子１４０を省略する。
【００３８】
トップパネル１２０のヤング率Ｅ、密度ρ、ポアソン比δ、長辺寸法ｌ、厚さｔと、長辺方向に存在する定在波の周期数ｋとを用いると、トップパネル１２０の固有振動数（共振周波数）ｆは次式（１）、（２）で表される。定在波は１／２周期単位で同じ波形を有するため、周期数ｋは、０．５刻みの値を取り、０．５、１、１．５、２・・・となる。
【００３９】
【数１】
2015121963.tif 000003
【００４０】
【数２】
2015121963.tif 000004
なお、式（２）の係数αは、式（１）におけるｋ２以外の係数をまとめて表したものである。
【００４１】
図４の（Ａ）、（Ｂ）に示す定在波は、一例として、周期数ｋが１０の場合の波形である。例えば、トップパネル１２０として、長辺の長さｌが１４０ｍｍ、短辺の長さが８０ｍｍ、厚さｔが０．７ｍｍのGorilla（登録商標）ガラスを用いる場合には、周期数ｋが１０の場合に、固有振動数ｆは３３．５［ｋＨｚ］となる。この場合は、周波数が３３．５［ｋＨｚ］の駆動信号を用いればよい。
【００４２】
トップパネル１２０は、平板状の部材であるが、振動素子１４０（図２及び図３参照）を駆動して超音波帯の固有振動を発生させると、図４の（Ａ）、（Ｂ）に示すように撓むことにより、表面に定在波が生じる。
【００４３】
なお、ここでは、１つの振動素子１４０がトップパネル１２０のＺ軸負方向側の面において、Ｙ軸正方向側において、Ｘ軸方向に伸延する短辺に沿って接着される形態について説明するが、振動素子１４０を２つ用いてもよい。２つの振動素子１４０を用いる場合は、もう１つの振動素子１４０をトップパネル１２０のＺ軸負方向側の面において、Ｙ軸負方向側において、Ｘ軸方向に伸延する短辺に沿って接着すればよい。この場合に、２つの振動素子１４０は、トップパネル１２０の２つの短辺に平行な中心線に対して対称になるように配設すればよい。
【００４４】
また、２つの振動素子１４０を駆動する場合は、周期数ｋが整数の場合は同一位相で駆動すればよく、周期数ｋが奇数の場合は逆位相で駆動すればよい。
【００４５】
次に、図５を用いて、ゲームコントローラ１００のトップパネル１２０に生じさせる超音波帯の固有振動について説明する。
【００４６】
図５は、ゲームコントローラ１００のトップパネル１２０に生じさせる超音波帯の固有振動により、操作入力を行う指先に掛かる動摩擦力が変化する様子を説明する図である。図５の（Ａ）、（Ｂ）では、利用者が指先でトップパネル１２０に触れながら、指をトップパネル１２０の奥側から手前側に矢印に沿って移動する操作入力を行っている。なお、振動のオン／オフは、振動素子１４０（図２及び図３参照）をオン／オフすることによって行われる。
【００４７】
また、図５の（Ａ）、（Ｂ）では、トップパネル１２０の奥行き方向において、振動がオフの間に指が触れる範囲をグレーで示し、振動がオンの間に指が触れる範囲を白く示す。
【００４８】
超音波帯の固有振動は、図４に示すようにトップパネル１２０の全体に生じるが、図５の（Ａ）、（Ｂ）には、利用者の指がトップパネル１２０の奥側から手前側に移動する間に振動のオン／オフを切り替える動作パターンを示す。
【００４９】
このため、図５の（Ａ）、（Ｂ）では、トップパネル１２０の奥行き方向において、振動がオフの間に指が触れる範囲をグレーで示し、振動がオンの間に指が触れる範囲を白く示す。
【００５０】
図５の（Ａ）に示す動作パターンでは、利用者の指がトップパネル１２０の奥側にあるときに振動がオフであり、指を手前側に移動させる途中で振動がオンになっている。
【００５１】
一方、図５の（Ｂ）に示す動作パターンでは、利用者の指がトップパネル１２０の奥側にあるときに振動がオンであり、指を手前側に移動させる途中で振動がオフになっている。
【００５２】
ここで、トップパネル１２０に超音波帯の固有振動を生じさせると、トップパネル１２０の表面と指との間にスクイーズ効果による空気層が介在し、指でトップパネル１２０の表面をなぞったときの動摩擦係数が低下する。
【００５３】
従って、図５の（Ａ）では、トップパネル１２０の奥側にグレーで示す範囲では、指先に掛かる動摩擦力は大きく、トップパネル１２０の手前側に白く示す範囲では、指先に掛かる動摩擦力は小さくなる。
【００５４】
このため、図５の（Ａ）に示すようにトップパネル１２０に操作入力を行う利用者は、振動がオンになると、指先に掛かる動摩擦力の低下を感知し、指先の滑り易さを知覚することになる。このとき、利用者はトップパネル１２０の表面がより滑らかになることにより、動摩擦力が低下するときに、トップパネル１２０の表面に凹部が存在するように感じる。
【００５５】
一方、図５の（Ｂ）では、トップパネル１２０の奥側に白く示す範囲では、指先に掛かる動摩擦力は小さく、トップパネル１２０の手前側にグレーで示す範囲では、指先に掛かる動摩擦力は大きくなる。
【００５６】
このため、図５の（Ｂ）に示すようにトップパネル１２０に操作入力を行う利用者は、振動がオフになると、指先に掛かる動摩擦力の増大を感知し、指先の滑り難さ、あるいは、引っ掛かる感じを知覚することになる。そして、指先が滑りにくくなることにより、動摩擦力が高くなるときに、トップパネル１２０の表面に凸部が存在するように感じる。
【００５７】
以上より、図５の（Ａ）と（Ｂ）の場合は、利用者は指先で凹凸を感じ取ることができる。このように人間が凹凸の知覚することは、例えば、"触感デザインのための印刷物転写法とSticky-band Illusion"(第11回計測自動制御学会システムインテグレーション部門講演会論文集 (SI2010, 仙台)____174-177, 2010-12)に記載されている。また、"Fishbone Tactile Illusion"(日本バーチャルリアリティ学会第10 回大会論文集(2005 年9 月))にも記載されている。
【００５８】
なお、ここでは、振動のオン／オフを切り替える場合の動摩擦力の変化について説明したが、これは、振動素子１４０の振幅（強度）を変化させた場合も同様である。
【００５９】
次に、図６を用いて、実施の形態のゲームコントローラ１００の構成について説明する。
【００６０】
図６は、実施の形態のゲームコントローラ１００の構成を示す図である。図６には、ゲームコントローラ１００と有線又は無線で接続されるゲーム機本体５００とディスプレイパネル５１０を示す。
【００６１】
ゲームコントローラ１００は、振動素子１４０、アンプ１４１、タッチパネル１５０、ドライバＩＣ(Integrated Circuit)１５１、制御装置２００、正弦波発生器３１０、及び振幅変調器３２０を含む。
【００６２】
制御装置２００は、制御プロセッサ２２０、駆動制御部２４０、及びメモリ２５０を有する。制御装置２００は、例えば、ＩＣチップで実現される。
【００６３】
なお、ここでは、制御プロセッサ２２０、駆動制御部２４０、及びメモリ２５０が１つの制御装置２００によって実現される形態について説明するが、駆動制御部２４０は、制御装置２００の外部に別のＩＣチップ又はプロセッサとして設けられていてもよい。この場合には、メモリ２５０に格納されているデータのうち、駆動制御部２４０の駆動制御に必要なデータは、メモリ２５０とは別のメモリに格納すればよい。
【００６４】
図６では、筐体１１０、トップパネル１２０、両面テープ１３０、及び基板１７０（図２参照）は省略する。また、ここでは、アンプ１４１、ドライバＩＣ１５１、制御プロセッサ２２０、駆動制御部２４０、メモリ２５０、正弦波発生器３１０、及び振幅変調器３２０について説明する。
【００６５】
アンプ１４１は、振幅変調器３２０と振動素子１４０との間に配設されており、振幅変調器３２０から出力される駆動信号を増幅して振動素子１４０を駆動する。
【００６６】
ドライバＩＣ１５１は、タッチパネル１５０に接続されており、タッチパネル１５０への操作入力があった位置を表す位置データを検出し、位置データを制御装置２００に出力する。この結果、位置データは、制御プロセッサ２２０と駆動制御部２４０に入力される。
【００６７】
制御プロセッサ２２０は、ゲームコントローラ１００の制御処理のうち、駆動制御部２４０が行う制御処理以外を行う。
【００６８】
駆動制御部２４０は、振幅を表す振幅データを振幅変調器３２０に出力する。振幅データは、振動素子１４０の駆動に用いる駆動信号の強度を調整するための振幅値を表すデータである。振幅を表す振幅データは、メモリ２５０に格納しておけばよい。
【００６９】
また、実施の形態のゲームコントローラ１００は、利用者の指先がトップパネル１２０の表面に沿って移動したときに、指先に掛かる動摩擦力を変化させるためにトップパネル１２０を振動させる。
【００７０】
トップパネル１２０の表面に触れた指先を移動させる操作入力の種類としては、例えば、所謂フリック操作、スワイプ操作、及びドラッグ操作がある。
【００７１】
フリック操作は、指先をトップパネル１２０の表面に沿って、はじく（スナップする）ように比較的短い距離移動させる操作である。スワイプ操作は、指先をトップパネル１２０の表面に沿って掃くように比較的長い距離移動させる操作である。また、ドラッグ操作は、例えば、ディスプレイパネル５１０に表示されたボタン等をスライドさせる場合に、ボタン等を選択しながら指先をトップパネル１２０の表面に沿って移動させる操作である。
【００７２】
ここで一例として挙げるフリック操作、スワイプ操作、及びドラッグ操作のように、トップパネル１２０の表面に触れた指先を移動させる操作入力は、アプリケーションによる表示の種類によって使い分けられる。このため、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にあるかどうかを判定する際には、ゲームコントローラ１００が起動しているアプリケーションの種類が関係することになる。
【００７３】
メモリ２５０は、振幅を表す振幅データと、振動パターンを表すパターンデータとを格納する。また、メモリ２５０の内部では、これらのデータのうち、関連づけが必要なデータ同士については、例えば、識別子等を用いて関連付けてテーブル形式のデータにしておけばよい。
【００７４】
また、メモリ２５０は、制御プロセッサ２２０が制御処理の実行に必要とするデータ及びプログラム等を格納する。
【００７５】
正弦波発生器３１０は、トップパネル１２０を固有振動数で振動させるための駆動信号を生成するのに必要な正弦波を発生させる。例えば、トップパネル１２０を３３．５［ｋＨｚ］の固有振動数ｆで振動させる場合は、正弦波の周波数は、３３．５［ｋＨｚ］となる。正弦波発生器３１０は、超音波帯の正弦波信号を振幅変調器３２０に入力する。
【００７６】
振幅変調器３２０は、駆動制御部２４０から入力される振幅データを用いて、正弦波発生器３１０から入力される正弦波信号の振幅を変調して駆動信号を生成する。振幅変調器３２０は、正弦波発生器３１０から入力される超音波帯の正弦波信号の振幅のみを変調し、周波数及び位相は変調せずに、駆動信号を生成する。
【００７７】
このため、振幅変調器３２０が出力する駆動信号は、正弦波発生器３１０から入力される超音波帯の正弦波信号の振幅のみを変調した超音波帯の正弦波信号である。なお、振幅データがゼロの場合は、駆動信号の振幅はゼロになる。これは、振幅変調器３２０が駆動信号を出力しないことと等しい。
【００７８】
また、ゲームコントローラ１００は、ケーブル等、又は、無線ＬＡＮ(Local Area Network)あるいはBluetooth（登録商標）等によって無線でゲーム機本体５００に接続される。ゲーム機本体５００を動作させる利用者は、ゲームコントローラ１００のトップパネル１２０に操作入力を行う。
【００７９】
ゲームコントローラ１００は、トップパネル１２０の表面に行われる操作入力の内容を表す操作信号をゲーム機本体５００に送信し、ゲーム機本体５００は、ビデオゲームの進行に伴ってディスプレイパネル５１０に表示される画像の制御を行うとともに、ゲームコントローラ１００から入力される操作信号に基づく制御を行う。
【００８０】
例えば、ディスプレイパネル５１０に表示される乗り物あるいは人のようなオブジェクト、又は、ポインタあるいはカーソル等を移動させる操作を行う場合には、トップパネル１２０の表面の任意の位置に対して行われる操作入力の始点は、オブジェクト、ポインタ、又はカーソル等の表示位置に対応する。
【００８１】
そして、トップパネル１２０に対して行われる操作入力の移動は、オブジェクト、ポインタ、又はカーソル等の移動に対応する。すなわち、操作入力の始点に対する移動は、ディスプレイパネル５１０の表示画面の中におけるオブジェクト、ポインタ、又はカーソル等の相対的な移動に対応する。
【００８２】
また、ゲームコントローラ１００には、ゲーム機本体５００が行う画面の制御に必要なデータのうち、振動素子１４０の駆動に関係する画像の画面内における座標位置を表す座標データがゲーム機本体５００から入力される。
【００８３】
ゲームコントローラ１００の駆動制御部２４０は、トップパネル１２０の表面への操作入力に応じて振動素子１４０を駆動するとともに、ゲーム機本体５００から入力される座標データに応じて振動素子１４０を駆動する。
【００８４】
図７は、実施の形態のゲームコントローラ１００のトップパネル１２０の表面に操作入力を行う状態を示す図である。なお、図７には図示しないが、トップパネル１２０の裏側には、タッチパネル１５０（図２及び３参照）が配設されている。
【００８５】
図８は、実施の形態のゲームコントローラ１００の動作例を示す図である。図８には、図７に示す操作入力に応じて振動素子１４０が駆動される駆動パターンを示す。図８では、横軸は時間軸を表し、縦軸は振幅データの振幅値を表す。
【００８６】
図７に示すように、トップパネル１２０の表面に沿って矢印で示すように操作入力が行われた場合に、操作入力が始まった時点で振動素子１４０をオンにし、操作入力の始点１２１から移動量が所定の移動量に到達したときに、振動素子１４０をオフにする。
【００８７】
例えば、図７に示す始点１２１からドラッグ操作が行われると振動素子１４０をオンにして、操作入力の位置が３本の破線Ｌ１、Ｌ２、Ｌ３で示す位置を通過するときに、振動素子１４０をオフにする。
【００８８】
なお、図７に示す３本の破線Ｌ１、Ｌ２、Ｌ３は、操作入力の移動方向における始点１２１からの移動量を示すために表したものであり、ここで判定する移動量は、始点１２１に対する相対的な移動量である。
【００８９】
図７に示す場合の振動素子１４０の動作は、図８に示すように、時刻ｔ１で操作入力が行われることにより、駆動制御部２４０は振幅値がＡ１の振幅データを出力し、振動素子１４０がオンになる。
【００９０】
操作入力の位置は、時刻ｔ１〜ｔ２までは移動せずに停止している。時刻ｔ１〜ｔ２の間は、操作入力が行われているため、駆動制御部２４０は振幅値がＡ１の振幅データを出力し続け、振動素子１４０はオンの状態に保持される。
【００９１】
時刻ｔ２で操作入力の位置が移動し始めると、駆動制御部２４０は振幅値がＡ１の振幅データを出力し続け、振動素子１４０はオンの状態に保持される。利用者の指先にかかる動摩擦係数はスクイーズ効果によって低下するため、指先はトップパネル１２０の表面を移動しやすい状態になる。
【００９２】
時刻ｔ３で操作入力の移動量が始点１２１（図７参照）から１本目の破線Ｌ１までの長さに対応する所定の移動量に達すると、駆動制御部２４０は、振幅データの振幅値を０に設定する。これにより、振動素子１４０はオフにされる。
【００９３】
振動素子１４０がオフになると、利用者は指先に掛かる動摩擦力の増大を感知し、指先の滑り難さ、あるいは、引っ掛かる感じを知覚することになる。そして、指先が滑りにくくなることにより、動摩擦力が高くなるときに、トップパネル１２０の表面に凸部が存在するように感じる。
【００９４】
振動素子１４０をオフにするのは、期間ＴＰ１の間だけである。期間ＴＰ１は、例えば、５０ミリ秒程度である。期間ＴＰ１が過ぎると、駆動制御部２４０は振幅値がＡ１の振幅データを出力し、再び振動素子１４０はオンになる。
【００９５】
そして、時刻ｔ４で操作入力の移動量が始点１２１（図７参照）から２本目の破線Ｌ２までの長さに対応する移動量に達すると、駆動制御部２４０は、振幅データの振幅値を０に設定する。これにより、振動素子１４０はオフにされ、利用者は指先に掛かる動摩擦力の増大により、トップパネル１２０の表面に凸部が存在するように感じる。
【００９６】
振動素子１４０をオフにするのは、期間ＴＰ１の間だけである。期間ＴＰ１が過ぎると、駆動制御部２４０は振幅値がＡ１の振幅データを出力し、再び振動素子１４０はオンになる。
【００９７】
そして、時刻ｔ５で操作入力の移動量が始点１２１（図７参照）から３本目の破線Ｌ３までの長さに対応する移動量に達すると、駆動制御部２４０は、振幅データの振幅値を０に設定する。これにより、振動素子１４０はオフにされ、利用者は指先に掛かる動摩擦力の増大により、トップパネル１２０の表面に凸部が存在するように感じる。
【００９８】
振動素子１４０をオフにするのは、期間ＴＰ１の間だけである。期間ＴＰ１が過ぎると、駆動制御部２４０は振幅値がＡ１の振幅データを出力し、再び振動素子１４０はオンになる。
【００９９】
時刻ｔ６で操作入力が移動しなくなり、時刻ｔ７まで指先がトップパネル１２０の表面に触れて操作入力が行われるため、駆動制御部２４０は振幅値がＡ１の振幅データを出力し続け、振動素子１４０はオンの状態に保持される。
【０１００】
そして、時刻ｔ７で指先がトップパネル１２０の表面から離れて操作入力が行われなくなると、駆動制御部２４０は、振幅データの振幅値を０に設定し、振動素子１４０はオフにされる。
【０１０１】
図９は、実施の形態１のゲームコントローラ１００の駆動制御部２４０が実行する処理を示すフローチャートである。
【０１０２】
ゲームコントローラ１００のＯＳ（Operating System）は、所定の制御周期毎にゲームコントローラ１００を駆動するための制御を実行する。このため、駆動制御部２４０は、図９に示すフローを所定の制御周期毎に繰り返し実行する。
【０１０３】
まず、処理が開始される前の状態では、駆動制御部２４０は振幅データを出力しておらず、駆動素子１４０はオフにされている。
【０１０４】
駆動制御部２４０は、ゲームコントローラ１００の電源がオンにされることにより、処理をスタートさせる。
【０１０５】
駆動制御部２４０は、操作入力があるかどうかを判定する（ステップＳ１）。操作入力の有無は、ドライバＩＣ１５１（図６参照）から位置データが入力されるかどうかで判定すればよい。
【０１０６】
駆動制御部２４０は、操作入力があったと判定すると（Ｓ１：ＹＥＳ）、振幅Ａ１の駆動信号を用いて振動素子１４０を駆動する（ステップＳ２）。これにより、トップパネル１２０に超音波帯の固有振動が生じる。
【０１０７】
なお、駆動制御部２４０は、操作入力があると判定すると、操作入力が開始された座標を始点として記憶する。操作入力が開始された座標としては、ドライバＩＣ１５１（図６参照）から最初に入力される位置データを用いればよい。
【０１０８】
次いで、駆動制御部２４０は、操作入力があるかどうかを判定する（ステップＳ３）。操作入力が継続しているかどうかを判定するためである。
【０１０９】
駆動制御部２４０は、操作入力がある（Ｓ３：ＹＥＳ）と判定すると、操作入力の始点からの移動量が、いずれかの相対位置に到達したかどうかを判定する（ステップＳ４）。いずれかの相対位置とは、図７に示す始点１２１に対する３本の破線Ｌ１、Ｌ２、Ｌ３の位置であり、始点１２１から操作入力の移動方向における距離で決まる位置である。図７では、矢印で示す操作入力の移動方向における始点１２１と３本の破線Ｌ１、Ｌ２、Ｌ３の各々との間の距離によって、始点１２１に対する相対位置が決まる。
【０１１０】
駆動制御部２４０は、操作入力の始点からの移動量が、いずれかの相対位置に到達した（Ｓ４：ＹＥＳ）と判定すると、駆動信号を期間ＴＰ１にわたってオフにする（ステップＳ５）。これにより、トップパネル１２０の超音波帯の固有振動は期間ＴＰ１にわたってオフにされる。期間ＴＰ１は、上述したように、例えば５０ミリ秒に設定される。
【０１１１】
駆動制御部２４０は、ステップＳ５の処理が終了すると、フローをステップＳ３にリターンする。
【０１１２】
なお、駆動制御部２４０は、ステップＳ１において、操作入力がないと判定すると（Ｓ１：ＮＯ）、ステップＳ１の処理を繰り返し実行する。図９に示す一連の処理は、操作入力が行われることによって始まる処理だからである。
【０１１３】
また、駆動制御部２４０は、ステップＳ３において操作入力がない（Ｓ３：ＮＯ）と判定すると、一連の処理を終了する（エンド）。一連の処理が終了すると、振動素子１４０はオフにされる。
【０１１４】
また、駆動制御部２４０は、ステップＳ４において、いずれの相対位置にも到達していない（Ｓ４：ＮＯ）と判定すると、フローをステップＳ３にリターンする。
【０１１５】
以上のような一連の処理は、ゲームコントローラ１００の電源がオンにされている間は繰り返し実行される。
【０１１６】
ここで、図７及び図８に示したように、時刻ｔ３で操作入力の位置が破線Ｌ１に達し、時刻ｔ４で操作入力の位置が破線Ｌ２に達し、時刻ｔ５で操作入力の位置が破線Ｌ３に達する場合は、次のようにフローが進む場合である。
【０１１７】
まず、時刻ｔ１で操作入力が行われることにより、駆動制御部２４０はステップＳ１でＹＥＳと判定し、ステップＳ２で振動素子１４０がオンされる。
【０１１８】
次いで、時刻ｔ１〜ｔ２までは操作入力の位置が移動せずに停止するため、駆動制御部２４０はステップＳ３でＹＥＳと判定し、ステップＳ４ではＮＯと判定する。すなわち、時刻ｔ１〜ｔ２までは、ステップＳ３及びＳ４によるサブルーチンの処理が繰り返し実行される。なお、時刻ｔ１〜ｔ２までは、振動素子１４０はオンの状態に保持される。
【０１１９】
そして、時刻ｔ２で操作入力の位置が移動し始めて時刻ｔ３で操作入力の位置が破線Ｌ１に達すると、駆動制御部２４０はステップＳ４でＹＥＳと判定し、ステップＳ５で振動素子１４０を期間ＴＰ１にわたってオフにする。なお、時刻ｔ３から期間ＴＰ１が経過すると、駆動制御部２４０は振動素子１４０をオンにする。
【０１２０】
その後、時刻ｔ４で操作入力の位置が破線Ｌ２に達すると、駆動制御部２４０はステップＳ４でＹＥＳと判定し、ステップＳ５で振動素子１４０を期間ＴＰ１にわたってオフにする。時刻ｔ４から期間ＴＰ１が経過すると、駆動制御部２４０は振動素子１４０をオンにする。
【０１２１】
さらに、その後、時刻ｔ５で操作入力の位置が破線Ｌ３に達すると、駆動制御部２４０はステップＳ４でＹＥＳと判定し、ステップＳ５で振動素子１４０を期間ＴＰ１にわたってオフにする。時刻ｔ５から期間ＴＰ１が経過すると、駆動制御部２４０は振動素子１４０をオンにする。
【０１２２】
時刻ｔ６で操作入力の位置が停止すると、駆動制御部２４０はステップＳ４でＮＯと判定し、時刻ｔ６〜ｔ７までは、ステップＳ３及びＳ４によるサブルーチンの処理が繰り返し実行され、振動素子１４０はオンの状態に保持される。操作入力は引き続き行われているからである。
【０１２３】
そして、時刻ｔ７で操作入力が行われなくなると、駆動制御部２４０はステップＳ３でＮＯと判定し、一連の処理が終了する（エンド）。これにより、振動素子１４０はオフにされる。
【０１２４】
なお、例えば、時刻ｔ３で操作入力の位置が破線Ｌ１に達した時点で利用者の指がトップパネル１２０から離れて操作入力が行われなくなった場合は、時刻ｔ３から期間ＴＰ１にわたって振動素子１４０がオフにされている間に、駆動制御部２４０がステップＳ３でＮＯと判定することにより、再度振動素子１４０がオンにされることなく、一連の処理が終了する（エンド）。このため、図９に示す一連の処理の制御周期を期間ＴＰ１より短く設定知れ置けばよい。
【０１２５】
なお、図７に矢印で示す操作入力の移動方向における始点１２１と３本の破線Ｌ１、Ｌ２、Ｌ３の各々との間の距離は、例えば、利用者がビデオゲームをプレイする際の操作における単位操作量に設定しておけばよい。例えば、ビデオゲームが自動車を運転するゲームである場合には、単位操作量は、ハンドルを操作する量、アクセルの開度、ブレーキの強度等の一目盛り分に対応する量に設定することができる。
【０１２６】
このように単位操作量を設定すれば、操作量が単位操作量に達する度に、利用者の指先に凸部がある触感を提供でき、良好な操作感を実現できる。
【０１２７】
図１０は、実施の形態のゲームコントローラ１００のトップパネル１２０の表面に操作入力を行う状態を示す図である。なお、トップパネル１２０の裏側には、タッチパネル１５０（図２及び３参照）が配設される。
【０１２８】
図１１は、実施の形態のゲームコントローラ１００の動作例を示す図である。図１１には、図１０に示す操作入力に応じて振動素子１４０が駆動される駆動パターンを示す。図１１では、横軸は時間軸を表し、縦軸は振幅データの振幅値を表す。
【０１２９】
図１０に示すように、トップパネル１２０の表面に沿って矢印で示すようにドラッグ操作による操作入力が行われており、ディスプレイパネル５１０に表示される乗り物又は人のようなオブジェクトを移動させているとする。
【０１３０】
そして、操作入力の位置がトップパネル１２０上の所定の位置Ｐ１、Ｐ２を通過するときに、ごく短い期間だけ駆動制御部２４０が振動素子１４０をオンにする。
【０１３１】
このように振動素子１４０を駆動すると、ごく短い期間だけ振動素子１４０がオンになる間に指先にかかる動摩擦力が低下し、オフにされると指先にかかる動摩擦力が増大するため、凸部が存在するような良好な感触を利用者の指先に提供できる。
【０１３２】
上述のような処理は、例えば、ディスプレイパネル５１０の表示画面に表示されるオブジェクトの現在の表示位置と、オブジェクトの進行方向における所定の地点との相対的な位置関係を表すデータに基づいて、トップパネル１２０の現在の操作入力の位置に対する所定の位置Ｐ１、Ｐ２の座標を演算することによって実現できる。
【０１３３】
このようにすれば、ゲームコントローラ１００でビデオゲームをプレイしている利用者の操作入力によってディスプレイパネル５１０の表示画面中をオブジェクトが移動し、所定の地点を通過するときに、操作入力の位置はトップパネル１２０上の所定の位置Ｐ１、Ｐ２を通過することになる。
【０１３４】
従って、操作入力によって移動するオブジェクトがディスプレイパネル５１０の表示画面中の所定の地点を通過するときに、駆動制御部２４０がごく短い期間だけ振動素子１４０をオンにすることにより、オブジェクトが所定の地点を通過したことを触感を通じて利用者に知覚させることができる。
【０１３５】
ディスプレイパネル５１０の表示画面における所定の地点は、例えば、表示画面における領域同士の境界、又は、通過によってポイントを付与する地点等に設定すればよい。
【０１３６】
図１０に示す場合の振動素子１４０の動作は、図１１を用いて説明すると次の通りである。
【０１３７】
時刻ｔ１１で操作入力が行われることにより、駆動制御部２４０は振幅値が０の振幅データを出力し、振動素子１４０はオフである。
【０１３８】
操作入力の位置は、時刻ｔ１１〜ｔ１２までは移動せずに停止している。時刻ｔ１１〜ｔ１２の間は、振動素子１４０はオフの状態に保持される。
【０１３９】
時刻ｔ１２で操作入力の位置が移動し始め、時刻ｔ１３で操作入力の位置が位置Ｐ１（図１０参照）に達すると、駆動制御部２４０は、ごく短い期間ＴＰ１１にわたって振幅データの振幅値をＡ１に設定する。これにより、振動素子１４０は期間ＴＰ１１にわたってオンにされる。
【０１４０】
振動素子１４０はオンにされると、利用者の指先にかかる動摩擦係数はスクイーズ効果によって低下するため、指先はトップパネル１２０の表面を移動しやすい状態になる。
【０１４１】
そして、時刻ｔ１４で期間ＴＰ１１が終了すると、駆動制御部２４０は、振幅データの振幅値を０に設定する。これにより、振動素子１４０はオフにされ、利用者は指先に掛かる動摩擦力の増大により、トップパネル１２０の表面に凸部が存在するように感じる。
【０１４２】
なお、振動素子１４０をオンにする期間ＴＰ１１は、例えば、１００ミリ秒程度である。
【０１４３】
そして、時刻ｔ１４から時刻ｔ１５まで操作入力の位置が移動し、時刻ｔ１５で操作入力の位置が位置Ｐ２（図１０参照）に達すると、駆動制御部２４０は、ごく短い期間ＴＰ１１にわたって振幅データの振幅値をＡ１に設定する。これにより、振動素子１４０は期間ＴＰ１１にわたってオンにされる。
【０１４４】
振動素子１４０はオンにされると、利用者の指先にかかる動摩擦係数はスクイーズ効果によって低下するため、指先はトップパネル１２０の表面を移動しやすい状態になる。
【０１４５】
そして、期間ＴＰ１１が終了すると、駆動制御部２４０は、振幅データの振幅値を０に設定する。これにより、振動素子１４０はオフにされ、利用者は指先に掛かる動摩擦力の増大により、トップパネル１２０の表面に凸部が存在するように感じる。
【０１４６】
さらに、時刻ｔ１６で操作入力の位置が移動しなくなり、時刻ｔ１７まで指先がトップパネル１２０の表面に触れて操作入力が行われ、振動素子１４０はオフの状態に保持される。
【０１４７】
そして、時刻ｔ１７で指先がトップパネル１２０の表面から離れて操作入力が行われなくなる。
【０１４８】
図１２は、実施の形態のゲームコントローラ１００のトップパネル１２０の表面に操作入力を行う状態を示す図である。なお、トップパネル１２０の裏側には、タッチパネル１５０（図２及び３参照）が配設される。
【０１４９】
図１３は、実施の形態のゲームコントローラ１００の動作例を示す図である。図１３には、図１２に示す操作入力に応じて振動素子１４０が駆動される駆動パターンを示す。図１３では、横軸は時間軸を表し、縦軸は振幅データの振幅値を表す。
【０１５０】
図１２に示すように、トップパネル１２０の表面に沿って矢印で示すようにドラッグ操作による操作入力が行われており、ディスプレイパネル５１０に表示される乗り物又は人のようなオブジェクトを移動させているとする。
【０１５１】
そして、操作入力の位置がトップパネル１２０上の所定の区間Ｓを通過する間に、駆動制御部２４０が振幅が時間的にランダムに変化する振幅データを用いて振動素子１４０をオンにする。
【０１５２】
このように振動素子１４０を駆動すると、振幅データの時間的な変化に合わせて指先にかかる動摩擦力が変動する。振幅が大きいときは動摩擦力が比較的低くなり、振幅が小さいときは動摩擦力が比較的大きくなる。
【０１５３】
このような動摩擦力の時間的な変動により、トップパネル１２０の表面にランダムな高さの凹凸部が存在するような感触を利用者の指先に提供できる。利用者の指先には、トップパネル１２０の表面がざらざらしているような感触が提供される。
【０１５４】
例えば、ディスプレイパネル５１０の表示画面に表示される乗り物又は人のようなオブジェクトが、障害物の多い区間を通過するような場合に、上述のように振幅が時間的にランダムに変化する振幅データを用いて振動素子１４０を駆動すればよい。
【０１５５】
ディスプレイパネル５１０の表示画面に表示されるオブジェクトの現在の表示位置と、表示画面に表示される障害物の多い区間の始点及び終点の位置との相対的な位置関係を表すデータに基づいて、トップパネル１２０の現在の操作入力の位置に対する区間Ｓの始点及び終点の座標を演算することにより、トップパネル１２０における所定の位置Ｐ１、Ｐ２の座標を求めることができる。
【０１５６】
また、振幅を時間的にランダムに変化させるには、例えば、乱数を用いて振幅値が時系列的に出力されるような振幅データを用いて振動素子１４０を駆動すればよく、このような振幅データはメモリ２５０（図６参照）に格納しておけばよい。
【０１５７】
このようにすれば、ゲームコントローラ１００でビデオゲームをプレイしている利用者の操作入力によってディスプレイパネル５１０の表示画面中をオブジェクトが移動し、障害物の多い区間を通過するときに、操作入力の位置はトップパネル１２０上の区間Ｓを通過することになる。
【０１５８】
従って、オブジェクトがディスプレイパネル５１０の表示画面中の障害物の多い区間を通過するときに、振幅が時間的にランダムに変化する振幅データを用いて駆動制御部２４０が振動素子１４０を駆動することにより、オブジェクトが障害物の多い区間を通過したことを触感を通じて利用者に知覚させることができる。
【０１５９】
図１２に示す場合の振動素子１４０の動作は、図１３を用いて説明すると次の通りである。
【０１６０】
時刻ｔ２１で操作入力が行われることにより、駆動制御部２４０は振幅値が０の振幅データを出力し、振動素子１４０はオフである。
【０１６１】
操作入力の位置は、時刻ｔ２１〜ｔ２２までは移動せずに停止している。時刻ｔ２１〜ｔ２２の間は、振動素子１４０はオフの状態に保持される。
【０１６２】
時刻ｔ２２で操作入力の位置が移動し始め、時刻ｔ２３で操作入力の位置が区間Ｓの始点（図１２参照）に達すると、駆動制御部２４０は、振幅が時間的にランダムに変化する振幅データで振動素子１４０を駆動する。
【０１６３】
振幅が時間的にランダムに変化する振幅データによる振動素子１４０の駆動は、時刻ｔ２３〜ｔ２４まで続く。そして、時刻ｔ２４で駆動制御部２４０は振動素子１４０をオフにする。
【０１６４】
振動素子１４０はオンにされると、利用者の指先にかかる動摩擦係数はスクイーズ効果によって低下するため、指先はトップパネル１２０の表面を移動しやすい状態になる。
【０１６５】
また、時刻ｔ２３〜ｔ２４までの期間に、駆動制御部２４０は、振幅が時間的にランダムに変化する振幅データを用いるため、利用者の指先には、トップパネル１２０の表面がざらざらしているような感触が提供される。
【０１６６】
時刻ｔ２４で振動素子１４０がオフにされた後は、時刻ｔ２５まで操作入力が行われ、駆動制御部２４０は、振幅データの振幅値を０に設定する。
【０１６７】
そして、時刻ｔ２５で操作入力が行われなくなる。
【０１６８】
また、駆動制御部２４０は、上述のような処理に加えて、位置データの時間的変化度合に応じて振幅値を設定してもよい。
【０１６９】
ここで、位置データの時間的変化度合としては、利用者の指先がトップパネル１２０の表面に沿って移動する速度を用いる。利用者の指先の移動速度は、ドライバＩＣ１５１から入力される位置データの時間的な変化度合に基づいて、駆動制御部２４０が算出すればよい。
【０１７０】
実施の形態のゲームコントローラ１００は、一例として、指先の移動速度に関わらずに利用者が指先から感知する触感を一定にするために、移動速度が高いほど振幅値を小さくし、移動速度が低いほど振幅値を大きくする。
【０１７１】
このような振幅値を表す振幅データと移動速度との関係を表すデータは、メモリ２５０に格納しておけばよい。
【０１７２】
なお、ここでは、振幅値を表す振幅データと移動速度との関係を表すデータを用いて移動速度に応じた振幅値を設定する形態について説明するが、次式（３）を用いて振幅値Ａを算出してもよい。式（３）で算出される振幅値Ａは、移動速度が高いほど小さくなり、移動速度が低いほど大きくなる。
【０１７３】
【数３】
2015121963.tif 000005
ここで、Ａ０は振幅の基準値であり、Ｖは指先の移動速度であり、ａは所定の定数である。式（３）を用いて振幅値Ａを算出する場合は、式（３）を表すデータと、振幅の基準値Ａ０と所定の定数ａを表すデータとをメモリ２５０に格納しておけばよい。
【０１７４】
駆動制御部２４０は、移動速度が所定の閾値速度以上になったときに、振動素子１４０を振動させる。
【０１７５】
従って、駆動制御部２４０が出力する振幅データが表す振幅値は、移動速度が所定の閾値速度未満のときはゼロであり、移動速度が所定の閾値速度以上になると、移動速度に応じて所定の振幅値に設定される。移動速度が所定の閾値速度以上のときには、移動速度が高いほど振幅値は小さく設定され、移動速度が低いほど振幅値を大きく設定される。
【０１７６】
駆動制御部２４０は、指先の移動速度が所定の閾値速度以上である場合に、移動速度に応じた振幅値を表す振幅データをメモリ２５０から読み出して、振幅変調器３２０に出力する。
【０１７７】
図１４は、メモリ２５０に格納される振幅値を表す振幅データと移動速度との関係を表すデータを示す図である。
【０１７８】
図１４に示すデータによれば、移動速度Ｖが０以上ｂ１未満（０≦Ｖ＜ｂ１）のときは振幅値を０に設定し、移動速度Ｖがｂ１以上ｂ２未満（ｂ１≦Ｖ＜ｂ２）のときは振幅値をＡ１に設定し、移動速度Ｖがｂ２以上ｂ３未満（ｂ２≦Ｖ＜ｂ３）のときは、振幅値をＡ２に設定することになる。
【０１７９】
例えば、図８及び図１１に示す駆動パターンの振幅値を指先の移動速度に応じて、図１４に示すデータのように設定することができる。
【０１８０】
以上、実施の形態のゲームコントローラ１００によれば、トップパネル１２０の超音波帯の固有振動を発生させて利用者の指先に掛かる動摩擦力を変化させるので、利用者に良好な触感を提供することができる。
【０１８１】
また、実施の形態のゲームコントローラ１００は、正弦波発生器３１０で発生される超音波帯の正弦波の振幅のみを振幅変調器３２０で変調することによって駆動信号を生成している。正弦波発生器３１０で発生される超音波帯の正弦波の周波数は、トップパネル１２０の固有振動数に等しく、また、この固有振動数は振動素子１４０を加味して設定している。
【０１８２】
すなわち、正弦波発生器３１０で発生される超音波帯の正弦波の周波数又は位相を変調することなく、振幅のみを振幅変調器３２０で変調することによって駆動信号を生成している。
【０１８３】
従って、トップパネル１２０の超音波帯の固有振動をトップパネル１２０に発生させることができ、スクイーズ効果による空気層の介在を利用して、指でトップパネル１２０の表面をなぞったときの動摩擦係数を確実に低下させることができる。また、Sticky-band Illusion効果、又は、Fishbone Tactile Illusion効果により、トップパネル１２０の表面に凹凸が存在するような良好な触感を利用者に提供することができる。
【０１８４】
また、以上では、トップパネル１２０に凹凸が存在するような触感を利用者に提供するために、振動素子１４０のオン／オフを切り替える形態について説明した。振動素子１４０をオフにするとは、振動素子１４０を駆動する駆動信号が表す振幅値をゼロにすることである。
【０１８５】
しかしながら、このような触感を提供するために、必ずしも振動素子１４０をオンからオフにする必要はない。例えば、振動素子１４０のオフの状態の代わりに、振幅を小さくして振動素子１４０を駆動する状態を用いてもよい。例えば、振幅を１／５程度に小さくすることにより、振動素子１４０をオンからオフにする場合と同様に、トップパネル１２０に凹凸が存在するような触感を利用者に提供してもよい。
【０１８６】
この場合は、振動素子１４０の振動の強弱を切り替えるような駆動信号で振動素子１４０を駆動することになる。この結果、トップパネル１２０に発生する固有振動の強弱が切り替えられ、利用者の指先に凹凸が存在するような触感を提供することができる。
【０１８７】
振動素子１４０の振動の強弱を切り替えるために、振動を弱くする際に振動素子１４０をオフにすると、振動素子１４０のオン／オフを切り替えることになる。振動素子１４０のオン／オフを切り替えることは、振動素子１４０を断続的に駆動することである。
【０１８８】
また、トップパネル１２０に凹凸が存在するような触感を提供する際に、指先の移動速度に応じて、振幅データの振幅値を小さくする度合を調整してもよい。
【０１８９】
図１５は、指先の移動速度によって振幅データの振幅値を小さくする度合を調整する駆動パターンを示す図である。
【０１９０】
図１５の（Ａ）に示す駆動パターンは、振幅値をＡ１に設定して振動素子１４０をオンにしている状態から、指先にかかる動摩擦力を増大させるために振幅値を小さくする際に、時刻ｔ３１と時刻ｔ３２ｎにおいて、振幅値をＡ０１まで低下させる。振幅値Ａ０１は、一例として、振幅値の１／５である。
【０１９１】
一方、図１５の（Ｂ）に示す駆動パターンは、振幅値をＡ１に設定して振動素子１４０をオンにしている状態から、指先にかかる動摩擦力を増大させるために振幅値を小さくする際に、時刻ｔ３１と時刻ｔ３２ｎにおいて、振幅値をＡ０２まで低下させる。振幅値Ａ０２は、一例として、振幅値の４／５である。
【０１９２】
例えば、移動速度が高いときの方が、凹凸の触感が指先に伝わり易い傾向があるため、移動速度が所定値より高い場合は、図１５の（Ａ）の駆動パターンを用いて、指先にかかる動摩擦力を増大させるために振幅値を小さくする際に、振幅値をＡ０１まで低下させる。
【０１９３】
また、移動速度が所定値以下場合は、図１５の（Ｂ）の駆動パターンを用いて、指先にかかる動摩擦力を増大させるために振幅値を小さくする際に、振幅値をＡ０２まで低下させる。
【０１９４】
以上のように指先の移動速度に応じて振幅データの振幅値を調整することにより、指先の移動速度に応じて異なる触感を利用者に提供することができる。
【０１９５】
また、以上では、図１に示すように、２つのタッチパネル１５０を含むゲームコントローラ１００について説明したが、タッチパネル１５０は１つであってもよい。
【０１９６】
図１６は、実施の形態の変形例によるゲームコントローラ１００Ａを示す図である。ゲームコントローラ１００Ａは、筐体１１０Ｂの開口部に配設される１つのタッチパネル１５０を含む。筐体１１０Ｂには、ボタン１１１Ａも設けられている。筐体１１０Ｂは縦長タイプであり、図中の下側を片方の手で持ち、上側に設けられたタッチパネル１５０を他方の手で操作すればよい。ゲームコントローラ１００Ａは、他方の手の人差し指で操作するのに特に適した形状である。
【０１９７】
以上、本発明の例示的な実施の形態のゲームコントローラについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１９８】
１００、１００Ａ  ゲームコントローラ
１１０、１１０Ｂ  筐体
１２０  トップパネル
１３０  両面テープ
１４０  振動素子
１５０  タッチパネル
１７０  基板
２００  制御部
２２０  制御プロセッサ
２４０  駆動制御部
２５０  メモリ
３１０  正弦波発生器
３２０  振幅変調器
【図１】
2015121963.tif 000006
【図２】
2015121963.tif 000007
【図３】
2015121963.tif 000008
【図４】
2015121963.tif 000009
【図５】
2015121963.tif 000010
【図６】
2015121963.tif 000011
【図７】
2015121963.tif 000012
【図８】
2015121963.tif 000013
【図９】
2015121963.tif 000014
【図１０】
2015121963.tif 000015
【図１１】
2015121963.tif 000016
【図１２】
2015121963.tif 000017
【図１３】
2015121963.tif 000018
【図１４】
2015121963.tif 000019
【図１５】
2015121963.tif 000020
【図１６】
2015121963.tif 000021
【国際調査報告】
2015121963.tif 000022
2015121963.tif 000023
2015121963.tif 000024
2015121963.tif 000025