JP6332476B2 - 駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法 - Google Patents

駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法 Download PDF

Info

Publication number
JP6332476B2
JP6332476B2 JP2016571509A JP2016571509A JP6332476B2 JP 6332476 B2 JP6332476 B2 JP 6332476B2 JP 2016571509 A JP2016571509 A JP 2016571509A JP 2016571509 A JP2016571509 A JP 2016571509A JP 6332476 B2 JP6332476 B2 JP 6332476B2
Authority
JP
Japan
Prior art keywords
waveform
data
amplitude
drive control
frequency
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
JP2016571509A
Other languages
English (en)
Other versions
JPWO2016120956A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2016120956A1 publication Critical patent/JPWO2016120956A1/ja
Application granted granted Critical
Publication of JP6332476B2 publication Critical patent/JP6332476B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法に関する。
従来より、表示手段と、使用者の操作部位の前記表示手段への接触状態を検出する接触検出手段と、前記表示手段に接触している前記操作部位に対し、所定の触感を与える触感振動を発生させる触感振動発生手段とを備える触感呈示装置がある(例えば、特許文献1参照)。
この触感呈示装置は、さらに、前記接触検出手段による検出結果に基づいて、前記触感振動を発生させるための波形データを生成する振動波形データ生成手段を備える。また、この触感呈示装置は、さらに、前記振動波形データ生成手段により生成された前記波形データに対し超音波を搬送波として変調処理を行い、該変調処理により生成された超音波変調信号を、前記触感振動を発生させるための信号として前記触感振動発生手段に出力する超音波変調手段とを備える。
また、前記超音波変調手段は、周波数変調又は位相変調のどちらか一方を行う。また、前記超音波変調手段は、更に振幅変調を行う。
特開2010−231609号公報
ところで、従来の触感呈示装置の超音波の周波数は、可聴帯域より高い周波数(およそ20kHz以上)であればよく、超音波の周波数自体に特に工夫はなされていないため、良好な触感を提供できないおそれがある。
そこで、良好な触感を提供できる駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法を提供することを目的とする。
本発明の実施の形態の駆動制御装置は、表示部と、前記表示部の表示面側に配設され、操作面を有するトップパネルと、前記操作面に行われる操作入力の座標を検出する座標検出部と、前記操作面に振動を発生させる振動素子とを含む電子機器の前記振動素子を駆動する駆動制御装置であって、前記操作面に超音波帯の固有振動を発生させる駆動信号の振幅の時間変化を表す基本波形であって、時系列的に配列される所定の数の振幅値で構築される基本波形を表す基本波形データを格納するデータ格納部と、前記基本波形の周波数又は振幅を変化させた第1波形を表す第1波形データを生成する波形生成部と、前記基本波形と、前記第1波形とを合成した第1合成波形、又は、複数の前記第1波形を合成した第1合成波形を表す第1合成波形データを生成する波形合成部と、前記第1合成波形データに基づいて前記駆動信号の振幅を変化させることにより、前記振動素子を駆動する駆動制御部とを含む。
良好な触感を提供できる駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法を提供することができる。
実施の形態1の電子機器を示す斜視図である。 実施の形態1の電子機器を示す平面図である。 図2に示す電子機器のA−A矢視断面を示す図である。 超音波帯の固有振動によってトップパネルに生じる定在波のうち、トップパネルの短辺に平行に形成される波頭を示す図である。 電子機器のトップパネルに生じさせる超音波帯の固有振動により、操作入力を行う指先に掛かる動摩擦力が変化する様子を説明する図である。 実施の形態1の電子機器の構成を示す図である。 メモリに格納される第1データを示す図である。 メモリに格納される第2データを示す図である。 メモリに格納される第3データを示す図である。 基本波形を示す図である。 係数行列に含まれる第1周波数倍率及び振幅増倍係数とを表形式で示す図である。 図10に示す基本波形と、図11に示す第1周波数倍率及び振幅増倍係数とによって生成される3つの第1波形を重ねて示す図である。 図12に示す3つの第1波形を合成して得る第1合成波形を示す図である。 実施の形態1の電子機器の駆動制御装置の駆動制御部が実行する処理を示すフローチャートである。 図14の処理の詳細な処理内容を示すフローチャートである。 図15に示すフローチャートの変形例による処理を示すフローチャートである。 シフト係数行列を生成する処理を説明する図である。 実施の形態1の変形例の電子機器の断面を示す図である。 実施の形態1の変形例の電子機器を示す図である。 実施の形態1の変形例の電子機器のタッチパッドの断面を示す図である。 実施の形態1の変形例の電子機器の動作状態を示す平面図である。 実施の形態2で追加的に用いる第2基本波形を示す図である。 実施の形態2のメモリに格納される第2データを示す図である。 実施の形態2のメモリに格納される第3データを示す図である。 第1周波数倍率と振幅増倍係数を設定する際に用いられるダイアログボックスがディスプレイパネルに表示された状態を示す図である。 利用者が振幅データの設定対象として選択した画像を表す図である。 図26に示す画像に振幅データを設定する際のディスプレイパネルの様子を示す図である。 トップパネルに生じる振動パターンを示す図である。 利用者が超音波振動設定アプリケーションを利用して画像に超音波の振動を設定する際に、駆動制御装置のデータ生成部が実行する処理を示すフローチャートである。
以下、本発明の駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法を適用した実施の形態について説明する。
<実施の形態1>

図1は、実施の形態1の電子機器100を示す斜視図である。
電子機器100は、一例として、タッチパネルを入力操作部とする、スマートフォン端末機、タブレット型コンピュータ、又はゲーム機等である。電子機器100は、タッチパネルを入力操作部とする機器であればよいため、例えば、携帯情報端末機、又は、ATM(Automatic Teller Machine)のように特定の場所に設置されて利用される機器であってもよい。
電子機器100の入力操作部101は、タッチパネルの下にディスプレイパネルが配設されており、ディスプレイパネルにGUI(Graphic User Interface)による様々なボタン102A、又は、スライダー102B等(以下、GUI操作部102と称す)が表示される。
電子機器100の利用者は、通常、GUI操作部102を操作するために、指先で入力操作部101に触れる。
次に、図2を用いて、電子機器100の具体的な構成について説明する。
図2は、実施の形態1の電子機器100を示す平面図であり、図3は、図2に示す電子機器100のA−A矢視断面を示す図である。なお、図2及び図3では、図示するように直交座標系であるXYZ座標系を定義する。
電子機器100は、筐体110、トップパネル120、両面テープ130、振動素子140、タッチパネル150、ディスプレイパネル160、及び基板170を含む。
筐体110は、例えば、樹脂製であり、図3に示すように凹部110Aに基板170、ディスプレイパネル160、及びタッチパネル150が配設されるとともに、両面テープ130によってトップパネル120が接着されている。
トップパネル120は、平面視で長方形の薄い平板状の部材であり、透明なガラス、又は、ポリカーボネートのような強化プラスティックで作製される。トップパネル120の表面(Z軸正方向側の面)120Aは、電子機器100の利用者が操作入力を行う操作面の一例である。
トップパネル120は、Z軸負方向側の面に振動素子140が接着され、平面視における四辺が両面テープ130によって筐体110に接着されている。なお、両面テープ130は、トップパネル120の四辺を筐体110に接着できればよく、図3に示すように矩形環状である必要はない。
トップパネル120のZ軸負方向側にはタッチパネル150が配設される。トップパネル120は、タッチパネル150の表面を保護するために設けられている。なお、トップパネル120の表面120Aに、さらに別なパネル又は保護膜等が設けられていてもよい。
トップパネル120は、Z軸負方向側の面に振動素子140が接着された状態で、振動素子140が駆動されることによって振動する。実施の形態1では、トップパネル120の固有振動周波数でトップパネル120を振動させて、トップパネル120に定在波を生じさせる。ただし、トップパネル120には振動素子140が接着されているため、実際には、振動素子140の重さ等を考慮した上で、固有振動周波数を決めることが好ましい。
振動素子140は、トップパネル120のZ軸負方向側の面において、Y軸正方向側において、X軸方向に伸延する短辺に沿って接着されている。振動素子140は、超音波帯の振動を発生できる素子であればよく、例えば、ピエゾ素子のような圧電素子を含むものを用いることができる。
振動素子140は、後述する駆動制御部から出力される駆動信号によって駆動される。振動素子140が発生する振動の振幅(強度)及び周波数は駆動信号によって設定される。また、振動素子140のオン/オフは駆動信号によって制御される。
なお、超音波帯とは、例えば、約20kHz以上の周波数帯をいう。実施の形態1の電子機器100では、振動素子140が振動する周波数は、トップパネル120の振動数と等しくなるため、振動素子140は、トップパネル120の固有振動数で振動するように駆動信号によって駆動される。
タッチパネル150は、ディスプレイパネル160の上(Z軸正方向側)で、トップパネル120の下(Z軸負方向側)に配設されている。タッチパネル150は、電子機器100の利用者がトップパネル120に触れる位置(以下、操作入力の位置と称す)を検出する座標検出部の一例である。
タッチパネル150の下にあるディスプレイパネル160には、GUIによる様々なボタン等(以下、GUI操作部と称す)が表示される。このため、電子機器100の利用者は、通常、GUI操作部を操作するために、指先でトップパネル120に触れる。
タッチパネル150は、利用者のトップパネル120への操作入力の位置を検出できる座標検出部であればよく、例えば、静電容量型又は抵抗膜型の座標検出部であればよい。ここでは、タッチパネル150が静電容量型の座標検出部である形態について説明する。タッチパネル150とトップパネル120との間に隙間があっても、静電容量型のタッチパネル150は、トップパネル120への操作入力を検出できる。
また、ここでは、タッチパネル150の入力面側にトップパネル120が配設される形態について説明するが、トップパネル120はタッチパネル150と一体的であってもよい。この場合、タッチパネル150の表面が図2及び図3に示すトップパネル120の表面120Aになり、操作面を構築する。また、図2及び図3に示すトップパネル120を省いた構成であってもよい。この場合も、タッチパネル150の表面が操作面を構築する。また、この場合には、操作面を有する部材を、当該部材の固有振動で振動させればよい。
また、タッチパネル150が静電容量型の場合は、トップパネル120の上にタッチパネル150が配設されていてもよい。この場合も、タッチパネル150の表面が操作面を構築する。また、タッチパネル150が静電容量型の場合は、図2及び図3に示すトップパネル120を省いた構成であってもよい。この場合も、タッチパネル150の表面が操作面を構築する。また、この場合には、操作面を有する部材を、当該部材の固有振動で振動させればよい。
ディスプレイパネル160は、例えば、液晶ディスプレイパネル又は有機EL(Electroluminescence)パネル等の画像を表示できる表示部であればよい。ディスプレイパネル160は、筐体110の凹部110Aの内部で、図示を省略するホルダ等によって基板170の上(Z軸正方向側)に設置される。
ディスプレイパネル160は、後述するドライバIC(Integrated Circuit)によって駆動制御が行われ、電子機器100の動作状況に応じて、GUI操作部、画像、文字、記号、図形等を表示する。
基板170は、筐体110の凹部110Aの内部に配設される。基板170の上には、ディスプレイパネル160及びタッチパネル150が配設される。ディスプレイパネル160及びタッチパネル150は、図示を省略するホルダ等によって基板170及び筐体110に固定されている。
基板170には、後述する駆動制御装置の他に、電子機器100の駆動に必要な種々の回路等が実装される。
以上のような構成の電子機器100は、トップパネル120に利用者の指が接触し、指先の移動を検出すると、基板170に実装される駆動制御部が振動素子140を駆動し、トップパネル120を超音波帯の周波数で振動させる。この超音波帯の周波数は、トップパネル120と振動素子140とを含む共振系の共振周波数であり、トップパネル120に定在波を発生させる。
電子機器100は、超音波帯の定在波を発生させることにより、トップパネル120を通じて利用者に触感を提供する。
次に、図4を用いて、トップパネル120に発生させる定在波について説明する。
図4は、超音波帯の固有振動によってトップパネル120に生じる定在波のうち、トップパネル120の短辺に平行に形成される波頭を示す図であり、図4の(A)は側面図、(B)は斜視図である。図4の(A)、(B)では、図2及び図3と同様のXYZ座標を定義する。なお、図4の(A)、(B)では、理解しやすさのために、定在波の振幅を誇張して示す。また、図4の(A)、(B)では振動素子140を省略する。
トップパネル120のヤング率E、密度ρ、ポアソン比δ、長辺寸法l、厚さtと、長辺方向に存在する定在波の周期数kとを用いると、トップパネル120の固有振動数(共振周波数)fは次式(1)、(2)で表される。定在波は1/2周期単位で同じ波形を有するため、周期数kは、0.5刻みの値を取り、0.5、1、1.5、2・・・となる。
Figure 0006332476

Figure 0006332476

なお、式(2)の係数αは、式(1)におけるk以外の係数をまとめて表したものである。
図4の(A)、(B)に示す定在波は、一例として、周期数kが10の場合の波形である。例えば、トップパネル120として、長辺の長さlが140mm、短辺の長さが80mm、厚さtが0.7mmのGorilla(登録商標)ガラスを用いる場合には、周期数kが10の場合に、固有振動数fは33.5[kHz]となる。この場合は、周波数が33.5[kHz]の駆動信号を用いればよい。
トップパネル120は、平板状の部材であるが、振動素子140(図2及び図3参照)を駆動して超音波帯の固有振動を発生させると、図4の(A)、(B)に示すように撓むことにより、表面120A(図2及び図3参照)に定在波が生じる。
なお、ここでは、1つの振動素子140がトップパネル120のZ軸負方向側の面において、Y軸正方向側において、X軸方向に伸延する短辺に沿って接着される形態について説明するが、振動素子140を2つ用いてもよい。2つの振動素子140を用いる場合は、もう1つの振動素子140をトップパネル120のZ軸負方向側の面において、Y軸負方向側において、X軸方向に伸延する短辺に沿って接着すればよい。この場合に、2つの振動素子140は、トップパネル120の2つの短辺に平行な中心線を対称軸として、軸対称になるように配設すればよい。
また、2つの振動素子140を駆動する場合は、周期数kが整数の場合は同一位相で駆動すればよく、周期数kが小数(整数部と小数部を含む数)の場合は逆位相で駆動すればよい。
次に、図5を用いて、電子機器100のトップパネル120に生じさせる超音波帯の固有振動について説明する。
図5は、電子機器100のトップパネル120に生じさせる超音波帯の固有振動により、操作入力を行う指先に掛かる動摩擦力が変化する様子を説明する図である。図5の(A)、(B)では、利用者が指先でトップパネル120に触れながら、指をトップパネル120の奥側から手前側に矢印に沿って移動する操作入力を行っている。なお、振動のオン/オフは、振動素子140(図2及び図3参照)をオン/オフすることによって行われる。
また、図5の(A)、(B)では、トップパネル120の奥行き方向において、振動がオフの間に指が触れる範囲をグレーで示し、振動がオンの間に指が触れる範囲を白く示す。
超音波帯の固有振動は、図4に示すようにトップパネル120の全体に生じるが、図5の(A)、(B)には、利用者の指がトップパネル120の奥側から手前側に移動する間に振動のオン/オフを切り替える動作パターンを示す。
このため、図5の(A)、(B)では、トップパネル120の奥行き方向において、振動がオフの間に指が触れる範囲をグレーで示し、振動がオンの間に指が触れる範囲を白く示す。
図5の(A)に示す動作パターンでは、利用者の指がトップパネル120の奥側にあるときに振動がオフであり、指を手前側に移動させる途中で振動がオンになっている。
一方、図5の(B)に示す動作パターンでは、利用者の指がトップパネル120の奥側にあるときに振動がオンであり、指を手前側に移動させる途中で振動がオフになっている。
ここで、トップパネル120に超音波帯の固有振動を生じさせると、トップパネル120の表面120Aと指との間にスクイーズ効果による空気層が介在し、指でトップパネル120の表面120Aをなぞったときの動摩擦係数が低下する。
従って、図5の(A)では、トップパネル120の奥側にグレーで示す範囲では、指先に掛かる動摩擦力は大きく、トップパネル120の手前側に白く示す範囲では、指先に掛かる動摩擦力は小さくなる。
このため、図5の(A)に示すようにトップパネル120に操作入力を行う利用者は、振動がオンになると、指先に掛かる動摩擦力の低下を感知し、指先の滑り易さを知覚することになる。このとき、利用者はトップパネル120の表面120Aがより滑らかになることにより、動摩擦力が低下するときに、トップパネル120の表面120Aに凹部が存在するように感じる。
一方、図5の(B)では、トップパネル120の奥前側に白く示す範囲では、指先に掛かる動摩擦力は小さく、トップパネル120の手前側にグレーで示す範囲では、指先に掛かる動摩擦力は大きくなる。
このため、図5の(B)に示すようにトップパネル120に操作入力を行う利用者は、振動がオフになると、指先に掛かる動摩擦力の増大を感知し、指先の滑り難さ、あるいは、引っ掛かる感じを知覚することになる。そして、指先が滑りにくくなることにより、動摩擦力が高くなるときに、トップパネル120の表面120Aに凸部が存在するように感じる。
以上より、図5の(A)と(B)の場合は、利用者は指先で凹凸を感じ取ることができる。このように人間が凹凸の知覚することは、例えば、"触感デザインのための印刷物転写法とSticky-band Illusion"(第11回計測自動制御学会システムインテグレーション部門講演会論文集 (SI2010, 仙台)____174-177, 2010-12)に記載されている。また、"Fishbone Tactile Illusion"(日本バーチャルリアリティ学会第10 回大会論文集(2005 年9 月))にも記載されている。
なお、ここでは、振動のオン/オフを切り替える場合の動摩擦力の変化について説明したが、これは、振動素子140の振幅(強度)を変化させた場合も同様である。
次に、図6を用いて、実施の形態1の電子機器100の構成について説明する。
図6は、実施の形態1の電子機器100の構成を示す図である。
電子機器100は、振動素子140、アンプ141、タッチパネル150、ドライバIC(Integrated Circuit)151、ディスプレイパネル160、ドライバIC161、制御部200、正弦波発生器310、及び振幅変調器320を含む。
制御部200は、アプリケーションプロセッサ220、通信プロセッサ230、波形生成部240A、波形合成部240B、駆動制御部240C、データ生成部240D、及びメモリ250を有する。制御部200は、例えば、ICチップで実現される。
また、波形生成部240A、波形合成部240B、駆動制御部240C、データ生成部240D、メモリ250、正弦波発生器310、及び振幅変調器320は、駆動制御装置300を構築する。なお、ここでは、アプリケーションプロセッサ220、通信プロセッサ230、波形生成部240A、波形合成部240B、駆動制御部240C、データ生成部240D、及びメモリ250が1つの制御部200によって実現される形態について説明するが、波形生成部240A、波形合成部240B、駆動制御部240C、及びデータ生成部240Dは、制御部200の外部に別のICチップ又はプロセッサとして設けられていてもよい。
この場合には、メモリ250に格納されているデータのうち、駆動制御部240Cの駆動制御に必要なデータは、メモリ250とは別のメモリに格納して、駆動制御装置300の内部に設ければよい。また、波形生成部240A、波形合成部240B、駆動制御部240C、及びデータ生成部240Dが別々のICチップ又はプロセッサによって実現されてもよい。また、波形生成部240A、波形合成部240B、駆動制御部240C、及びデータ生成部240Dのうちのいずれか2つ又は3つが同一のICチップ又はプロセッサによって実現されてもよい。
図6では、筐体110、トップパネル120、両面テープ130、及び基板170(図2参照)は省略する。また、ここでは、アンプ141、ドライバIC151、ドライバIC161、アプリケーションプロセッサ220、通信プロセッサ230、波形生成部240A、波形合成部240B、駆動制御部240C、データ生成部240D、メモリ250、正弦波発生器310、及び振幅変調器320について説明する。
アンプ141は、駆動制御装置300と振動素子140との間に配設されており、駆動制御装置300から出力される駆動信号を増幅して振動素子140を駆動する。
ドライバIC151は、タッチパネル150に接続されており、タッチパネル150への操作入力があった位置を表す位置データを検出し、位置データを制御部200に出力する。この結果、位置データは、アプリケーションプロセッサ220、駆動制御部240C、及びデータ生成部240Dに入力される。なお、位置データが駆動制御部240Cに入力されることは、位置データが駆動制御装置300に入力されることと等価である。
また、ドライバIC151は、位置データを検出する際に、操作入力によってトップパネル120の表面120Aに触れている指先の面積(接触面積)を表す面積データを駆動制御部240Cに出力する。接触面積は、操作入力の接触荷重に応じて変化する。
操作入力の接触荷重とは、指先が表面120Aを押圧する際に、トップパネル120にかかる荷重である。指先がトップパネル120を押圧する力が強ければ、接触荷重は大きくなり、指先の変形量が増えるため、接触面積は大きくなる。一方、指先がトップパネル120を押圧する力が弱ければ、接触荷重は小さくなり、指先の変形量が減るため、接触面積は小さくなる。
なお、タッチパネル150が静電容量型である場合は、ドライバIC151が検出する静電容量によって接触面積を検出すればよい。接触面積が大きくなれば、静電容量は増大し、接触面積が小さくなれば、静電容量は低下する。また、タッチパネル150が抵抗膜型である場合は、ドライバIC151が検出する抵抗値によって接触面積を検出すればよい。接触面積が大きくなれば、抵抗値は低下し、接触面積が小さくなれば、抵抗値は増大する。
ドライバIC161は、ディスプレイパネル160に接続されており、駆動制御装置300から出力される描画データをディスプレイパネル160に入力し、描画データに基づく画像をディスプレイパネル160に表示させる。これにより、ディスプレイパネル160には、描画データに基づくGUI操作部又は画像等が表示される。
アプリケーションプロセッサ220は、電子機器100の種々のアプリケーションを実行する処理を行う。
通信プロセッサ230は、電子機器100が3G(Generation)、4G(Generation)、LTE(Long Term Evolution)、WiFi等の通信を行うために必要な処理を実行する。
波形生成部240Aは、2つの所定の条件が揃った場合に、メモリ250に格納される基本波形データが表す基本波形の周波数又は振幅を変化させた第1波形を表す第1波形データを生成する。なお、2つの所定の条件については後述する。
基本波形データは、基本波形を表すデータである。基本波形は、トップパネル120の表面120A(操作面)に超音波帯の固有振動を発生させる駆動信号の振幅を時間的に変化させるために用いられる基本的な波形である。基本波形は、時系列的に配列される所定の数の振幅値によって構築される包絡線によって表される。基本波形データは、時系列的に配列される基本振幅値であって、基本波形の包絡線を構築する所定の数の振幅値を表す基本振幅値で構築される。
波形生成部240Aは、基本波形データの周波数(基本周波数)よりも高い第1周波数の第1波形データを生成する場合は、基本周波数に対する第1周波数の比(第1周波数倍率)に応じて基本波形データを間引いてデータ点数を減らすことによって、第1波形データを生成する。
基本波形データに含まれる複数の基本振幅値同士の時間軸方向における間隔と、データ点数が間引かれて生成される第1波形データに含まれる複数の第1振幅値同士の時間軸方向における間隔とは等しくされる。
このため、上述のようにデータ点数を減らすことは、第1周波数倍率に応じて基本波形データの周波数を増大させた第1波形データを生成することである。
すなわち、基本波形データを間引いてデータ点数を減らして生成される第1波形データが表す第1波形は、第1周波数倍率に応じて、基本波形を時間軸方向に短縮した波形になる。
第1波形は、時系列的に配列される所定の数の振幅値によって構築される包絡線によって表される。第1波形データは、時系列的に配列され、第1波形の包絡線を構築する所定の数の第1振幅値で構築される。第1振幅値のデータ点数は、基本振幅値のデータ点数に比べて、第1周波数倍率に応じて少なくなっている。
また、波形生成部240Aは、基本波形データの振幅を変化させる場合は、基本振幅値に所定の係数(振幅増倍係数)を乗算する。波形生成部240Aは、基本波形データの振幅を変化させるとともに、基本周波数よりも高い第1周波数に周波数を変化させた第1波形データを生成する場合は、第1周波数倍率に応じて基本波形データを間引いてデータ点数を減らすとともに、振幅を振幅増倍係数倍することによって、第1波形データを生成する。
この場合に、第1波形は、第1周波数倍率に応じて基本波形を時間軸方向に短縮するとともに、振幅が振幅増倍係数倍にされた波形になる。
なお、基本波形と第1波形については、図7乃至図9を用いて後述する。
波形合成部240Bは、基本波形と、第1波形とを合成した第1合成波形、又は、複数の前記第1波形を合成した第1合成波形を表す第1合成波形データを生成する。波形の合成は、基本波形に含まれる振幅を表す複数の基本振幅値と、第1波形に含まれる振幅を表す複数の第1振幅値とを時間的な位置を合わせて合成することによって行われる。
すなわち、時間的な位置が互いに等しい基本振幅値と第1振幅値とが合成されることにより、第1合成振幅値によって構築される第1合成波形データが生成される。基本振幅値と第1振幅値との合成は、振幅値同士を加算することによって行われる。このため、第1合成振幅値は、基本振幅値と、第1振幅値との和で与えられる。
第1合成波形データは、上述のようにして求められるため、第1合成波形は、基本波形を表す包絡線と、第1波形を表す包絡線とを合成した包絡線によって表される。
また、複数の第1波形を合成する場合は、複数の第1振幅値のデータを時間的な位置を合わせて合成すればよい。
なお、第1周波数倍率と振幅増倍係数がともに'1'である場合に生成される第1波形は、基本波形と同一の波形を有する。このような第1波形を、基本波形の周波数又は振幅を変化させた第1波形と合成することは、2つの第1波形を合成することとして捉えることができるとともに、基本波形と第1波形とを合成することとして捉えることができる。
第1合成波形データは、後述する第2合成波形データ及び第3合成波形データを生成するために用いられる。第2合成波形データ及び第3合成波形データは、振動素子140の駆動に用いる駆動信号の強度(振幅)を変調するための振幅値の時間的な変化を表す波形データである。このため、第1合成波形データは、駆動信号の振幅を時間的に変化させるために用いられるデータである。なお、第1合成波形については、図10を用いて後述する。
駆動制御部240Cは、2つの所定の条件が揃った場合に、第1合成波形データに基づいて第3合成波形データを生成し、振幅データとして第3合成波形データを振幅変調器320に出力する。第3合成波形データは、振動素子140の駆動に用いる駆動信号の強度(振幅)を変調するための振幅値の時間的な変化を表す波形データである。
また、駆動制御部240Cは、2つの所定の条件が揃った場合に、位置データを波形生成部240Aに出力する。
第3合成波形データは、操作入力の位置の時間的変化度合に応じて第1合成波形データを間引いてデータ点数を減らして第2合成波形データを生成するとともに、第2合成波形データの振幅値を操作入力の接触荷重に応じて変化させることによって生成される。
ここで、第1合成波形データに含まれる複数の第1合成振幅値同士の時間軸方向における間隔と、データ点数が間引かれて生成される第2合成波形データに含まれる複数の第2合成振幅値同士の時間軸方向における間隔とは等しくされる。
このため、上述のようにデータ点数を減らすことは、時間的変化度合に応じて第1合成波形データの周波数を増大させた第2合成波形データを生成することである。
従って、第3合成波形データは、操作入力の位置の時間的変化度合に応じて第1合成波形データの周波数を増大させて第2合成波形データを生成するとともに、第2合成波形データの振幅値を操作入力の接触荷重に応じて変化させることによって生成される。
なお、上述したように、駆動制御部240Cは、2つの所定の条件が揃った場合に、位置データを波形生成部240Aに出力する。
上述のように、波形生成部240Aに位置データが入力されてから、当該位置データに基づいて駆動制御部240Cが駆動信号を算出するまでの所要時間はΔtである。すなわち、所要時間Δtの間に、波形生成部240Aは、駆動制御部240Cから入手する位置データを用いて第1波形データを生成し、波形合成部240Bは複数の第1波形を合成して第1合成波形データを生成し、駆動制御部240Cは、第1合成波形データに基づいて、最終的な振幅データを生成する。
なお、ドライバIC151から波形生成部240Aに位置データが直接的に入力され、入力された位置データを用いて波形生成部240Aが第1波形データを生成するようにしてもよい。
データ生成部240Dは、利用者の操作入力の内容に応じて、第1データと第3データを生成する。また、第1データ及び第3データに加えて、第2データも生成するようにしてもよい。第1データ、第2データ、及び第3データは、メモリ250に格納される。第1データ、第2データ、及び第3データについては、図7乃至図9を用いて後述する。
ここで、第3合成波形データの生成処理について説明する前に、第3合成波形データの生成処理以外に駆動制御部240Cが実行する処理について説明する。
2つの所定の条件のうちの1つ目の所定の条件に用いる位置データの時間的変化度合としては、利用者の指先がトップパネル120の表面120Aに沿って移動する速度を用いる。利用者の指先の移動速度は、ドライバIC151から入力される位置データの時間的な変化度合に基づいて、駆動制御部240Cが算出する。
また、実施の形態1の駆動制御装置300は、利用者の指先がトップパネル120の表面120Aに沿って移動したときに、指先に掛かる動摩擦力を変化させるためにトップパネル120を振動させる。動摩擦力は、指先が移動しているときに発生するため、駆動制御部240Cは、移動速度が所定の閾値速度以上になったときに、振動素子140を振動させる。移動速度が所定の閾値速度以上になることは、1つ目の所定の条件である。
従って、駆動制御部240Cが出力する振幅データが表す振幅値は、移動速度が所定の閾値速度未満のときはゼロであり、移動速度が所定の閾値速度以上になると、移動速度に応じて所定の振幅値に設定される。
なお、閾値速度は、利用者がトップパネル120の表面120Aに触れた指先を移動させながら操作入力を行う際における指先の移動速度の最低速度として設定すればよい。このような最低速度は、実験結果に基づいて設定してもよく、タッチパネル150の分解能等に応じて設定してもよい。
また、実施の形態1の駆動制御装置300は、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にある場合に、振幅データを振幅変調器320に出力する。操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にあることは、2つ目の所定条件である。
操作入力を行う指先の位置が振動を発生させるべき所定の領域内にあるかどうかは、操作入力を行う指先の位置が、振動を発生させるべき所定の領域の内部にあるか否かに基づいて判定される。
ここで、ディスプレイパネル160に表示するGUI操作部、画像を表示する領域、又は、ページ全体を表す領域等のディスプレイパネル160上における位置は、当該領域を表す領域データによって特定される。領域データは、すべてのアプリケーションにおいて、ディスプレイパネル160に表示されるすべてのGUI操作部、画像を表示する領域、又は、ページ全体を表す領域について存在する。
このため、2つ目の所定条件として、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にあるかどうかを判定する際には、電子機器100が起動しているアプリケーションの種類が関係することになる。アプリケーションの種類により、ディスプレイパネル160の表示が異なるからである。
また、アプリケーションの種類により、トップパネル120の表面120Aに触れた指先を移動させる操作入力の種類が異なるからである。トップパネル120の表面120Aに触れた指先を移動させる操作入力の種類としては、例えば、GUI操作部を操作する際には、所謂フリック操作がある。フリック操作は、指先をトップパネル120の表面120Aに沿って、はじく(スナップする)ように比較的短い距離移動させる操作である。
また、ページを捲る場合には、例えば、スワイプ操作を行う。スワイプ操作は、指先をトップパネル120の表面120Aに沿って掃くように比較的長い距離移動させる操作である。スワイプ操作は、ページを捲る場合の他に、例えば、写真を捲る場合に行われる。また、GUI操作部によるスライダー(図1のスライダー102B参照)をスライドさせる場合には、スライダーをドラッグするドラッグ操作が行われる。
ここで一例として挙げるフリック操作、スワイプ操作、及びドラッグ操作のように、トップパネル120の表面120Aに触れた指先を移動させる操作入力は、アプリケーションによる表示の種類によって使い分けられる。このため、操作入力を行う指先の位置が、振動を発生させるべき所定の領域内にあるかどうかを判定する際には、電子機器100が起動しているアプリケーションの種類が関係することになる。
駆動制御部240Cは、領域データを用いて、ドライバIC151から入力される位置データが表す位置が、振動を発生させるべき所定の領域の内部にあるか否かを判定する。
アプリケーションの種類を表すデータと、操作入力が行われるGUI操作部等を表す領域データと、振動パターンを表すパターンデータとを関連付けた第1データは、メモリ250に格納されている。
ここで、振動パターンとは、正弦波発生器310から出力される超音波帯の正弦波信号の振幅が、駆動制御部240Cが出力する振幅データによって変調されることにより、トップパネル120に生じる超音波振動の時間変化の包絡線のパターンである。この振動パターンは、利用者が指先で実際に感じ取ることのできる振動のパターンである。振動パターンによる振動の周波数は、人間の指先で感知される周波数帯域にあるようにするために、例えば、1kHz以下に設定することが好ましい。
また、駆動制御部240Cは、ドライバIC151から駆動制御装置300に位置データが入力されてから、当該位置データに基づいて駆動信号が算出されるまでの所要時間の間における指先の位置の変化分を補間するために、次の処理を行う。
駆動制御装置300は、所定の制御周期毎に演算を行う。これは駆動制御部240Cも同様である。このため、ドライバIC151から駆動制御装置300に位置データが入力されてから、当該位置データに基づいて駆動制御部240Cが駆動信号を算出するまでの所要時間をΔtとすると、所要時間Δtは、制御周期に等しい。
ここで、指先の移動速度は、ドライバIC151から駆動制御装置300に入力される位置データが表す点(x1、y1)を始点とし、所要時間Δtが経過した後の指先の位置を終点(x2、y2)とするベクトルの速度として求めることができる。
駆動制御部240Cは、ドライバIC151から駆動制御装置300に入力される位置データが表す点(x2、y2)を始点とし、所要時間Δtが経過した後の指先の位置を終点(x3、y3)とするベクトルを求めることにより、所要時間Δt経過後の座標(x3、y3)を推定する。
実施の形態1の電子機器100では、上述のようにして所要時間Δt経過後の座標を推定することにより、所要時間Δtの間における指先の位置の変化分を補間する。
このような所要時間Δt経過後の座標を推定する演算は、駆動制御部240Cが行う。駆動制御部240Cは、推定座標が振動を発生させるべき所定の領域の内部にあるか否かを判定し、振動を発生させるべき所定の領域の内部にある場合に振動を発生させる。従って、2つ目の所定の条件は、推定座標が振動を発生させるべき所定の領域の内部にあることである。
以上より、駆動制御部240Cが振幅データを振幅変調器320に出力するために必要な2つの所定の条件は、指先の移動速度が所定の閾値速度以上であることと、推定座標が振動を発生させるべき所定の領域の内部にあることである。
駆動制御部240Cは、指先の移動速度が所定の閾値速度以上であり、推定座標が振動を発生させるべき所定の領域の内部にある場合に、第3合成波形データを生成して、振幅データとして振幅変調器320に出力する。
次に、駆動制御部240Cが実行する第3合成波形データの生成処理について説明する。
実施の形態1では、時間的変化度合に応じて第1合成波形データを間引いてデータ点数を減らす際に、駆動制御部240Cは、次のような処理を行う。
ここで、vは操作入力の移動速度、vは基準速度である。基準速度vは、操作入力の移動速度vの基準として用いることができる既知の速度であればよく、例えば、上述した閾値速度を用いてもよい。
また、Int(γ)は、γの値を整数に変換する関数を表しており、例えば、小数点以下切り捨て、又は、小数点第一位を四捨五入等を行うことによって整数値を導出する。
駆動制御部240Cは、次式(3)、(4)、(5)を用いて、移動速度vから、速度比γ、周波数シフト量s、第2周波数倍率aを求める。
Figure 0006332476

式(3)は、基準速度vに対する操作入力の移動速度vの比を対数で求める式である。式(4)は、式(3)で求まる比を整数化して周波数シフト量sを求める式である。このため、式(4)によって求まる整数は、基準速度vに対する操作入力の移動速度vの比を整数で表す。式(5)は、2のs乗の値として第2周波数倍率aを求める式である。
駆動制御部240Cは、第1合成波形データに含まれる第1合成振幅値のデータ点数を1/aにした第2合成波形データを生成する。すなわち、駆動制御部240Cは、第1時間軸方向において第1合成振幅値のデータを(a−1)個おきに抽出することにより、データ点数を1/aにした第2合成波形データを生成する。
第1合成振幅値を(a−1)個おきに抽出してデータ点数を1/aにすることは、第2周波数倍率aの値に応じて第1合成振幅値を間引いてデータ点数を減らすことであり、第1合成振幅値の周波数に第2周波数倍率aを乗じた周波数の第2合成波形データを生成することである。
このようにして、第1合成振幅値から第2合成振幅値が生成される。
以上のようにして、駆動制御部240Cは、第1合成波形データから第2合成波形データを生成する。
なお、第2合成波形データは、振幅データとして駆動制御部240Cから振幅変調器320に出力され、正弦波発生器310から出力される超音波帯の正弦波信号の振幅を変調するために用いられる。
第2合成波形の振動は、人間の指先で感知される周波数帯域であるようにするために、例えば、第2合成波形の周波数帯域を1kHz以下に設定することが好ましい。このため、基本波形の周波数は、第1周波数倍率及び第2周波数倍率aを考慮して、例えば、1kHzよりも低い周波数に設定されることが好ましい。
なお、式(3)、(4)、(5)では、2のs乗の値として第2周波数倍率aを求めているが、2よりも大きい自然数又は1より大きい小数(整数部と小数部とを含む数)を用いてもよい。すなわち、式(5)は一般式としてa=mであってもよい。ここで、mは2以上の自然数又は1より大きい小数であり、nは0以上の自然数であり、基準速度vに対する操作入力の移動速度vの比を表す。mの値が小数である場合には、第1合成波形のデータ点数がmで割り切れるような整数の値に設定すればよい。また、mの値が小数である場合に、第1合成波形データの最後のデータ点の第1合成振幅値がゼロにならない場合は、ゼロに設定するような処理を行うようにすればよい。
また、実施の形態1では、第2合成波形データによって与えられる駆動信号の振幅値を操作入力の接触荷重に応じて変化させて第3合成波形データを生成する際に、駆動制御部240Cは次のような処理を行う。ここで、駆動制御部240Cは、ドライバIC151から駆動制御部240Cに入力される面積データが表す接触面積に基づいて操作入力の接触荷重を求める。
駆動制御部240Cは、次式(6)により、接触荷重から振幅倍率aを求め、第2合成波形データに含まれる第2合成振幅値を振幅倍率a倍した第3合成波形データを振幅データとして振幅変調器320に出力する。
ここで、wは接触荷重、wmaxは最大振幅を出力する接触荷重の値を表す。
Figure 0006332476

以上のようにして、駆動制御部240Cは、第2合成波形データの振幅を振幅倍率a倍して第3合成波形データを生成する。
メモリ250は、第1データ、第2データ、及び第3データを格納する。第1データ、第2データ、及び第3データについては、図7乃至図9を用いて後述する。
また、メモリ250は、アプリケーションプロセッサ220がアプリケーションの実行に必要とするデータ及びプログラム、及び、通信プロセッサ230が通信処理に必要とするデータ及びプログラム等を格納する。メモリ250は、データ格納部の一例である。
正弦波発生器310は、トップパネル120を固有振動数で振動させるための駆動信号を生成するのに必要な正弦波を発生させる。例えば、トップパネル120を33.5[kHz]の固有振動数fで振動させる場合は、正弦波の周波数は、33.5[kHz]となる。正弦波発生器310は、超音波帯の正弦波信号を振幅変調器320に入力する。正弦波発生器310が出力する正弦波は、振幅が変調される前の駆動信号であり、一定の周波数と一定の位相で前記操作面に超音波帯の固有振動を発生させる正弦波である。
振幅変調器320は、駆動制御部240Cから入力される振幅データを用いて、正弦波発生器310から入力される正弦波信号の振幅を変調して駆動信号を生成する。この駆動信号は、所定の振動パターンを有する。振幅変調器320は、正弦波発生器310から入力される超音波帯の正弦波信号の振幅のみを変調し、周波数及び位相は変調せずに、所定の振動パターンの駆動信号を生成する。
このため、振幅変調器320が出力する駆動信号は、正弦波発生器310から入力される超音波帯の正弦波信号の振幅のみを変調した超音波帯の正弦波信号である。振幅が変調されるパターンは、所定の振動パターンを表す。なお、振幅データがゼロの場合は、駆動信号の振幅はゼロになる。これは、振幅変調器320が駆動信号を出力しないことと等しい。
次に、図7乃至図9を用いて、メモリ250に格納される、第1データ、第2データ、及び第3データについて説明する。
図7は、メモリ250に格納される第1データを示す図である。
第1データは、アプリケーションの種類を表すアプリケーションID(Identification)と、操作入力が行われるGUI操作部等が表示される領域の座標値を表す領域データと、振動パターンを表すパターンデータとを関連付けたデータである。
図7では、アプリケーションIDとして、app_id1を示す。また、領域データとして、操作入力が行われるGUI操作部等が表示される領域の座標値を表す式f1~f4を示す。また、振動パターンを表すパターンデータとして、P1〜P4を示す。
なお、第1データに含まれるアプリケーションIDで表されるアプリケーションは、スマートフォン端末機、タブレット型コンピュータ、又は、ゲーム機等で利用可能なあらゆるアプリケーションを含み、電子メールの編集モードも含む。
図8は、メモリ250に格納される第2データを示す図である。
第2データは、基本波形の種類を表す基本波形ID(Identification)と、波形データ列とを関連付けたデータである。波形データ列は、基本波形データである。
図8には、基本波形IDとしてfw_id1~fw_id3を示す。また、波形データ列として、[a1, a2, a3,・・・, a3072]、[b1, b2, b3,・・・, b3072]、[c1, c2, c3,・・・, c1024]を示す。
波形データ列[a1, a2, a3,・・・, a3072]は、3072個の基本振幅値a1~a3072を含む。波形データ列[b1, b2, b3,・・・, b3072]と[c1, c2, c3,・・・, c1024]は、それぞれ、3072個の基本振幅値b1~b3072と、1024個の基本振幅値c1~c1024とを含む。
波形データ列[a1, a2, a3,・・・, a3072]、[b1, b2, b3,・・・, b3072]、[c1, c2, c3,・・・, c1024]は、それぞれ、基本振幅値a1~a3072、b1~b3072、c1~c1024によって構築される包絡線を表す。3つの包絡線は、基本波形IDがfw_id1~fw_id3の基本波形を表す。
図9は、メモリ250に格納される第3データを示す図である。
第3データは、振動パターンと、基本波形IDと、係数行列とを関連付けたデータである。図9には、振動パターンを表すパターンデータとして、P1〜P4を示す。基本波形IDとしてfw_id1~fw_id3を示す。また、係数行列として、図9に示すような4つの行列を示す。なお、振動パターンは図7に示す振動パターンと同一であり、基本波形IDは、図8に示す基本波形IDと同一である。
係数行列は、図9では一例として、3行8列、又は、3行6列の行列の形式のデータである。係数行列は、基本周波数に対する第1周波数の比(第1周波数倍率)と、第1波形の周期数と、基本波形の振幅に対する第1波形の振幅の倍率(振幅増倍係数)とを表す情報を含む。
基本周波数に対する第1周波数の倍率は、係数行列の行数によって表される。係数行列の最も上の行の倍率は1倍であり、上から2行目の行の倍率は2倍であり、上から4行目の行の倍率は4倍である。
第1波形の周期数は、係数行列の列数によって表される。図9に示す3行8列の係数行列は、最大で8周期の第1波形を規定することができ、3行6列の係数行列は、最大で6周期の第1波形を規定することができる。
基本波形の振幅に対する第1波形の振幅の倍率(振幅増倍係数)は、基本波形データの振幅を変化させて第1波形データを生成する際に、基本振幅値に乗算する係数である。振幅増倍係数は、係数行列に含まれる成分によって表される。
図9において、振動パターンP1で基本波形IDがfw_id1の係数行列は、第1周波数倍率が1倍の振幅増倍係数としてa11、a12、0、0、0、0、0、0を含む。また、第1周波数倍率が2倍の振幅増倍係数としてa21、a22、a23、a24、0、0、0、0を含む。さらに、第1周波数倍率が4倍の振幅増倍係数としてa31、a32、a33、a34、a35、a36、a37、a38を含む。
これは、第1周波数倍率が1倍の場合には、基本周波数の1倍の第1周波数を有する第1波形であって、1周期目〜2周期目に、それぞれ、基本波形の振幅をa11、a12倍した第1振幅を有する第1波形を生成することを意味する。また、3周期目〜8周期目の係数はすべて0であるため、第1振幅は0に設定される。すなわち、3周期目〜8周期目には、第1波形を生成しないことを意味する。
また、第1周波数倍率が2倍の場合には、基本周波数の2倍の第1周波数を有する第1波形であって、1周期目〜4周期目に、それぞれ、基本波形の振幅をa21、a22、a23、a24倍した第1振幅を有する第1波形を生成することを意味する。また、5周期目〜8周期目の係数はすべて0であるため、第1振幅は0に設定される。すなわち、5周期目〜8周期目には、第1波形を生成しないことを意味する。
また、第1周波数倍率が4倍の場合には、基本周波数の4倍の第1周波数を有する第1波形であって、1周期目〜8周期目に、それぞれ、基本波形の振幅をa31、a32、a33、a34、a35、a36、a37、a38倍した第1振幅を有する第1波形を生成することを意味する。
なお、ここでは、3行8列、又は、3行6列の係数行列について説明したが、係数行列の行数は1行以上であれば何行であってもよく、列数は1列以上であれば何列であってもよい。係数行列の行数によって表される第1周波数の倍率は、最も上の行で1倍であり、2行目以下は、行数をβとすると、2βで表される。
次に、図10乃至図13を用いて、基本波形、第1波形、及び第1合成波形の波形と、係数行列に含まれる第1周波数倍率及び振幅増倍係数とについて説明する。
図10は、基本波形を示す図である。図10に一例として示す基本波形は、3072個の基本振幅値によって構築される包絡線として与えられる。振幅は、5つのピークを有し、1536番目の振幅が最大になっている。このような振幅を表す基本振幅値は、図8に示す波形データ列によって設定される。
図11は、係数行列に含まれる第1周波数倍率及び振幅増倍係数とを表形式で示す図である。図11に示す第1周波数倍率及び振幅増倍係数は、図10に示す基本波形に適用できるように構築されている。
図11に示す表では、下側の行から上側の行に向かって第1周波数倍率が1倍、2倍、4倍と増大するように表されている。また、表の横方向にはデータ点の範囲を示す。
図11に示す表の各行は、3072個のデータ点に含まれる基本波形又は第1波形の周期数に等しい数の列に分けられている。このため、第1周波数倍率が1倍の行は1列、第1周波数倍率が2倍の行は2列、第1周波数倍率が4倍の行は4列に分けられている。
また、図11に示す表に記載されている数値は、振幅増倍係数を示す。例えば、第1周波数倍率が1倍の行の振幅増倍係数は'2'であるため、3072個の第1振幅値は、それぞれ、3072個の基本振幅値を2倍したものになる。
第1周波数倍率が2倍の行の振幅増倍係数は、データ点が1から1536までは'0.8'であり、データ点が1537から3072までは'0'である。このため、データ点が1から1536までは基本周波数の2倍の第1周波数で、基本波形の0.8倍の振幅を有する第1波形が得られる。なお、この第1波形の第1振幅値は、3072個の基本振幅値を1つおきに(2つに1つを)抽出し、振幅を0.8倍にしたものである。なお、データ点が1537から3072までは'0'であるため、第1波形の第1振幅値は、0であり、第1波形は生成されない。
第1周波数倍率が4倍の行の振幅増倍係数は、データ点が1から768までは'1'であり、データ点が769から1536までは'0.5'であり、データ点が1537から3072までは'0'である。
このため、データ点が1から768までは基本周波数の4倍の第1周波数で、基本波形の1倍の振幅を有する第1波形が得られる。また、データ点が769から1536までは基本周波数の4倍の第1周波数で、基本波形の0.5倍の振幅を有する第1波形が得られる。
なお、この第1波形の第1振幅値は、3072個の基本振幅値を3つおきに(4つに1つを)抽出し、振幅を1倍と0.5倍にしたものである。なお、データ点が1537から3072までは'0'であるため、第1波形の第1振幅値は、0であり、第1波形は生成されない。
図12は、図10に示す基本波形と、図11に示す第1周波数倍率及び振幅増倍係数とによって生成される3つの第1波形を重ねて示す図である。第1波形の生成は、波形生成部240A(図6参照)によって行われる。図12には、波形生成部240Aによって生成される3つの第1波形を重ねて示す。
実線で示す波形は、第1周波数倍率が1倍の第1波形であり、破線で示す波形は、第1周波数倍率が2倍の第1波形であり、一点鎖線で示す波形は、第1周波数倍率が4倍の第1波形である。
このように、図10に示す基本波形から、図11に示す第1周波数倍率及び振幅増倍係数とによって生成される3つの第1波形を生成することができる。
図13は、図12に示す3つの第1波形を合成して得る第1合成波形を示す図である。第1合成波形は、波形合成部240B(図6参照)によって行われる。
図11に示す第1周波数倍率及び振幅増倍係数を用いて、図10に示す基本波形の周波数及び振幅を変化させて生成される3つの第1波形(図12参照)を合成することにより、図13に示すようにランダムな振幅が変化する第1合成波形を生成することができる。これは、1つの基本波形から、様々な第1合成波形を生成できることを示している。
また、ここでは第2合成波形を示さないが、上述したように、駆動制御部240Cは、第1合成波形データに含まれる第1合成振幅値を、第2周波数倍率aの値に応じて間引いてデータ点数を減らすことにより、第1合成振幅値の周波数に第2周波数倍率aを乗じた周波数の第2合成波形データを生成する。
例えば、操作入力の位置の移動速度に応じて求まる第2周波数倍率aが'4'である場合は、図13に示す第1合成波形の周波数を4倍にした第2合成波形が生成される。
また、上述したように、駆動制御部240Cは、操作入力の接触荷重に応じて、第2合成波形データの振幅値を変化させて第3合成波形データを生成する。
従って、例えば、操作入力の位置の移動速度に応じて求まる第2周波数倍率aが'4'であり、かつ、接触荷重が操作入力の位置の変化に応じて増大する場合は、図13に示す第1合成波形の周波数を4倍にした第2合成波形の振幅を接触荷重の増大に伴って増幅した第3合成波形データが振幅データとして生成される。
次に、図14を用いて、実施の形態1の電子機器100の駆動制御装置300の駆動制御部240Cが実行する処理について説明する。
図14は、実施の形態1の電子機器100の駆動制御装置300の駆動制御部240Cが実行する処理を示すフローチャートである。
電子機器100のOS(Operating System)は、所定の制御周期毎に電子機器100を駆動するための制御を実行する。このため、駆動制御装置300は、所定の制御周期毎に演算を行う。これは駆動制御部240Cも同様であり、駆動制御部240Cは、図14に示すフローを所定の制御周期毎に繰り返し実行する。
ここで、ドライバIC151から駆動制御装置300に位置データが入力されてから、当該位置データに基づいて振幅変調器320が駆動信号を算出するまでの所要時間をΔtとすると、所要時間Δtは、制御周期に略等しい。
制御周期の1周期の時間は、ドライバIC151から駆動制御装置300に位置データが入力されてから、当該位置データに基づいて駆動信号が算出されるまでの所要時間Δtに相当するものとして取り扱うことができる。
駆動制御部240Cは、電子機器100の電源がオンにされることにより、処理をスタートさせる。
駆動制御部240Cは、現在の位置データが表す座標と、現在のアプリケーションの種類とに応じて、現在操作入力が行われているGUI操作部について、振動パターンと関連付けられた領域データを取得する(ステップS1)。
駆動制御部240Cは、移動速度が所定の閾値速度以上であるか否かを判定する(ステップS2)。移動速度は、ベクトル演算によって算出すればよい。なお、閾値速度は、所謂フリック操作、スワイプ操作、又はドラッグ操作等のように指先を移動させながら操作入力を行う際における指先の移動速度の最低速度として設定すればよい。このような最低速度は、実験結果に基づいて設定してもよく、タッチパネル150の分解能等に応じて設定してもよい。
駆動制御部240Cは、ステップS2で移動速度が所定の閾値速度以上であると判定した場合は、現在の位置データが表す座標と、移動速度とに基づき、Δt時間後の推定座標を演算する(ステップS3)。
駆動制御部240Cは、Δt時間後の推定座標が、ステップS1で求めた領域データが表す領域Stの中になるか否かを判定する(ステップS4)。
駆動制御部240Cは、Δt時間後の推定座標が、ステップS1で求めた領域データが表す領域Stの中にあると判定する場合は、振幅値を算出する(ステップS5)。ステップS5において駆動制御部240Cが振幅値を求める処理は、上述したように、駆動制御部240Cが、第1合成波形データを用いて、操作入力の位置の移動速度と接触荷重に応じて、最終的に出力する振幅データの振幅値を求める処理である。このため、ステップS5は、波形生成部240A、波形合成部240B、及び駆動制御部240Cによって行われる処理である。
駆動制御部240Cは、振幅データを出力する(ステップS6)。これにより、振幅変調器320において、正弦波発生器310から出力される正弦波の振幅が変調されることによって駆動信号が生成され、振動素子140が駆動される。
一方、ステップS2で移動速度が所定の閾値速度以上ではないと判定した場合(S2:NO)と、ステップS4でΔt時間後の推定座標が、ステップS1で求めた領域データが表す領域Stの中にないと判定した場合は、駆動制御部240Cは、振幅値をゼロに設定する(ステップS7)。
この結果、駆動制御部240Cは、振幅値がゼロの振幅データが出力され、振幅変調器320において、正弦波発生器310から出力される正弦波の振幅がゼロに変調された駆動信号が生成される。このため、この場合は、振動素子140は駆動されない。
図15は、図14に示すステップS5の処理の詳細な処理内容を示すフローチャートである。図15に示す処理は、波形生成部240A、波形合成部240B、及び駆動制御部240Cによって実行される処理である。なお、図15に示す処理は、電子機器100(図6参照)がアプリケーションを実行しているときに行われるため、図7に示すアプリケーションIDは、特定されているものとして説明する。
波形生成部240Aは、第1データ(図7参照)の領域データを参照し、位置データが含まれる領域データに対応する振動パターンを決定する(ステップS51)。
次に、波形生成部240Aは、第3データ(図9参照)を参照し、振動パターンに対応する基本波形IDと係数行列を決定する(ステップS52)。これにより、第1周波数倍率、第1波形の周期数、振幅増倍係数が決定する。
次に、波形生成部240Aは、第2データ(図8参照)を参照し、ステップS52で取得した基本波形IDに対応する波形データ列を決定する(ステップS53)。これにより、基本振幅値が決定し、基本振幅値によって構築される包絡線が定まる。包絡線は、基本波形を表す。ステップS53では、例えば、図10のような基本波形が決定する。
次に、波形生成部240Aは、波形データ列と係数行列を用いて、第1波形データを生成する(ステップS54)。例えば、図10のような基本波形に対して、図11に示すような第1周波数倍率と振幅増倍係数を用いると、図12に示すような3つの第1波形を表す3つの第1波形データが生成される。
次に、波形合成部240Bは、複数の第1波形データを合成し、第1合成波形データを生成する(ステップS55)。例えば、図12に示すような3つの第1波形が合成されると、図13に示すような第1合成波形を表す第1合成波形データを生成される。なお、複数の第1波形データのうちの1つは、基本波形データと同一であってもよい。
次に、駆動制御部240Cは、操作入力の移動速度vから、第2周波数倍率aを計算する(ステップS56)。第2周波数倍率aは、式(3)、(4)、(5)を用いて求められる。
次に、駆動制御部240Cは、第1合成波形データに含まれる第1合成振幅値のデータ点数を1/aにした第2合成波形データを生成する(ステップS57)。すなわち、駆動制御部240Cは、第1時間軸方向において第1合成振幅値を(a−1)個おきに抽出することにより、データ点数を1/aにした第2合成波形データを生成する。
例えば、第2周波数倍率aが'2'であり、第1合成波形データのデータ点数が1536である場合は、駆動制御部240Cは、1つおきに(2つにつき1つの)第1合成振幅値を抽出して、データ点数が768の第2合成波形データを生成する。この場合、第2合成波形データの周波数は、第1合成波形データの周波数の2倍である。
駆動制御部240Cは、接触荷重から振幅倍率aを計算する(ステップS58)。接触荷重は、上述のように操作入力の接触面積に基づいて求められる。
駆動制御部240Cは、ステップS57で生成した第2合成波形データに含まれる第2合成振幅値に振幅倍率aを乗算して第3合成波形データを生成する(ステップS59)。第3合成波形データの振幅値は、最終的に振幅データとして駆動制御部240Cから振幅変調器320に出力される。
以上により、振幅データの振幅値が設定される。
以上、実施の形態1の電子機器100によれば、トップパネル120の超音波帯の固有振動を発生させて利用者の指先に掛かる動摩擦力を変化させるので、利用者に良好な触感を提供することができる。
また、実施の形態1の電子機器100は、正弦波発生器310で発生される超音波帯の正弦波の振幅のみを振幅変調器320で変調することによって駆動信号を生成している。正弦波発生器310で発生される超音波帯の正弦波の周波数は、トップパネル120の固有振動数に等しく、また、この固有振動数は振動素子140を加味して設定している。
すなわち、正弦波発生器310で発生される超音波帯の正弦波の周波数又は位相を変調することなく、振幅のみを振幅変調器320で変調することによって駆動信号を生成している。
従って、トップパネル120の超音波帯の固有振動をトップパネル120に発生させることができ、スクイーズ効果による空気層の介在を利用して、指でトップパネル120の表面120Aをなぞったときの動摩擦係数を確実に低下させることができる。また、Sticky-band Illusion効果、又は、Fishbone Tactile Illusion効果により、トップパネル120の表面120Aに凹凸が存在するような良好な触感を利用者に提供することができる。
また、制御周期の1周期の時間に相当する所要時間Δtが経過した後の座標を推定して得る推定座標が振動を発生させるべき所定の領域の内部にある場合に振動を発生させるので、実際に指先が所定のGUI操作部等に触れている間に振動を発生させることができる。
なお、制御周期の1周期の時間に相当する所要時間Δt分の遅れが問題にならない場合は、推定座標の演算を行わなくてもよい。
また、以上では、トップパネル120に凹凸が存在するような触感を利用者に提供するために、振動素子140のオン/オフを切り替える形態について説明した。振動素子140をオフにするとは、振動素子140を駆動する駆動信号が表す振幅値をゼロにすることである。
しかしながら、このような触感を提供するために、必ずしも振動素子140をオンからオフにする必要はない。例えば、振動素子140のオフの状態の代わりに、振幅を小さくして振動素子140を駆動する状態を用いてもよい。例えば、振幅を1/5程度に小さくすることにより、振動素子140をオンからオフにする場合と同様に、トップパネル120に凹凸が存在するような触感を利用者に提供してもよい。
この場合は、振動素子140の振動の強弱を切り替えるような駆動信号で振動素子140を駆動することになる。この結果、トップパネル120に発生する固有振動の強弱が切り替えられ、利用者の指先に凹凸が存在するような触感を提供することができる。
振動素子140の振動の強弱を切り替えるために、振動を弱くする際に振動素子140をオフにすると、振動素子140のオン/オフを切り替えることになる。振動素子140のオン/オフを切り替えることは、振動素子140を断続的に駆動することである。
以上、実施の形態1によれば、良好な触感を提供できる駆動制御装置300、電子機器100、及び駆動制御方法を提供することができる。
また、以上では、基本波形データをメモリ250に格納しておき、基本波形データと、係数行列に含まれる第1周波数倍率及び振幅増倍係数とに基づいて第1波形を求め、複数の第1波形に基づいて第1合成波形を求める。また、第1合成波形に基づいて、第2合成波形を求め、さらに、第2合成波形に基づいて、振幅データとして用いる第3合成波形を求めることができる。
このため、メモリ250に格納しておく波形を表すデータは、基本波形データだけでよい。基本波形データは1種類であってもよい。1種類の基本波形データのみがメモリ250に格納されている場合であっても、係数行列に含まれる第1周波数倍率及び振幅増倍係数を様々な値に設定することにより、様々な第1波形を表す第1波形データを生成することができ、様々な振幅データを生成することができる。
従って、実施の形態1によれば、メモリ250に格納するデータ量を大幅に削減することができる。これは、例えば、複数種類の振幅データを出力するために、各振幅データに応じた波形データを保持する必要がある場合に比べて、データ量を大幅に削減することを意味する。
また、第2周波数倍率aを用いて第2合成波形データのデータ点数を第1合成波形データよりも減らせば、操作入力の速度の増加に応じて第2合成波形データの周波数を第1合成波形データよりも高くすることができるので、操作性をより向上させることができる。
また、第2合成波形データに振幅倍率aを用いて振幅を増大した第3合成波形データを用いれば、接触荷重の増加に応じて第3合成波形データの振幅値を第2合成波形データよりも大きくすることができるので、操作性をより向上させることができる。
なお、第2合成波形データに振幅倍率aを用いて振幅を増大した第3合成波形データを生成しない場合は、第2合成波形データを振幅データとして用いて振動素子140を駆動することになる。
さらに、第2周波数倍率aを用いて第1合成波形データよりもデータ点数を減らした第2合成波形データをも生成しない場合は、第1合成波形データを振幅データとして用いて振動素子140を駆動することになる。
また、第1合成波形データに振幅倍率aを用いて振幅を増大した合成波形データを生成する場合は、振幅倍率aを用いて振幅を増大した合成波形データを振幅データとして用いて振動素子140を駆動することになる。
なお、以上では、基本波形の周波数及び振幅を変化させた第1波形を表す第1波形データを生成する形態について説明したが、基本波形の周波数又は振幅のいずれか一方を変化させた第1波形を表す第1波形データを生成してもよい。
また、以上では、波形合成部240Bが生成する第1合成波形データに基づいて駆動制御部240Cが第2合成波形データを生成し、さらに振幅データとして生成する第3合成波形データを用いて振動素子140の駆動に用いる駆動信号の強度を調整する形態について説明した。
第3合成波形データは、操作入力の位置の時間的変化度合に応じて第1合成波形データのデータ点数を間引いて減らして第2合成波形データを生成するとともに、第2合成波形データの第2合成振幅値を操作入力の接触荷重に応じて変化させることによって生成される。
しかしながら、駆動制御部240Cは、操作入力の位置の時間的変化度合に応じて第1合成波形データのデータ点数を減らなくてもよい。また、駆動制御部240Cは、第2合成波形データの第2合成振幅値を操作入力の接触荷重に応じて変化させなくてもよい。
また、駆動制御部240Cは、操作入力の位置の時間的変化度合に応じて第1合成波形データのデータ点数を減らさずに、第1合成波形データの第1合成振幅値を操作入力の接触荷重に応じて変化させてもよい。
さらに、駆動制御部240Cは、操作入力の位置の時間的変化度合に応じて第1合成波形データのデータ点数を減らさずに、かつ、第2合成波形データの第2合成振幅値を操作入力の接触荷重に応じて変化させなくてもよい。この場合は、駆動制御部240Cが振幅データとして出力する振幅データは、波形合成部240Bによって生成される第1合成波形データと等しくなる。
また、以上では、第1データ、第2データ、及び第3データのうち、第2データは予めメモリ250に格納されており、利用者の操作入力の内容に応じて、第1データと第3データがデータ生成部240Dによって生成される形態について説明した。
しかしながら、第2データも利用者の操作入力の内容に応じてデータ生成部240Dによって生成されてもよい。
また、第2データに加えて第1データと第3データのうちのいずれか一方がメモリ250に予め格納されており、利用者が第1データと第3データのうちのいずれか他方を生成するようにしてもよい。
また、以上では、駆動制御装置300がデータ生成部240Dを含む形態について説明した。データ生成部240Dは、利用者の操作入力の内容に応じて、第1データと第3データ、又は、第1データ、第2データ、及び第3データを生成する。
しかしながら、駆動制御装置300は、データ生成部240Dを含まなくてもよい。この場合には、駆動制御装置300は、メモリ250に予め格納されている第1データ、第2データ、及び第3データに基づいて生成される超音波振動を利用者の操作入力に応じて発生させる。
また、以上では、波形生成部240Aが第1波形データを生成し、波形合成部240Bが基本波形データと第1波形データを合成して第1合成波形データを生成し、第1合成波形データに基づいて駆動制御部240Cが第2合成波形データ及び第3合成波形データを生成する形態について説明した。しかしながら、波形生成部240A、波形合成部240B、及び駆動制御部240Cの処理は、次のように変形してもよい。
図16は、図15に示すフローチャートの変形例による処理を示すフローチャートである。図16に示す処理は、波形生成部240A、波形合成部240B、及び駆動制御部240Cによって実行される処理である。なお、図16に示す処理は、電子機器100(図6参照)がアプリケーションを実行しているときに行われるため、図7に示すアプリケーションIDは、特定されているものとして説明する。
また、ステップS51〜S53の処理は、図15に示すステップS51〜S53と同一であるため、説明を省略する。
波形生成部240Aは、ステップS53で波形データ列を決定すると、操作入力の移動速度vから、周波数シフト量sを計算する(ステップS154)。周波数シフト量sは、式(4)によって求まる。
次に、波形生成部240Aは、係数行列の成分を周波数シフト量sだけ高周波数側の行にシフトしたシフト係数行列を生成する(ステップS155)。
例えば、係数行列が図9に示す振動パターンP1に対応する3行8列の係数行列であり、周波数シフト量sが'2'である場合には、3行8列の係数行列の成分を2行下側(高周波数側)にシフトし、周波数倍率が1倍である最も上の行と、上から2行目との成分(2行8列の成分)がすべて'0'である、5行8列のシフト係数行列を生成する。なお、この処理については、図17を用いて後述する。
波形生成部240Aは、接触荷重から振幅倍率aを計算する(ステップS156)。接触荷重は、上述のように操作入力の接触面積に基づいて求められる。波形生成部240Aは、駆動制御部240Cから入力される面積データが表す接触面積に基づいて操作入力の接触荷重を求める。なお、ドライバIC151から波形生成部240Aに直接的に位置データと接触面積を表すデータとが入力されるようにしてもよい。
次に、波形生成部240Aは、ステップS155で生成したシフト係数行列のすべての成分に、ステップS156で計算した振幅倍率aを乗算した乗算係数行列を生成する(ステップS157)。
次に、波形合成部240Bは、ステップS53で決定した波形データ列と、乗算係数行列とによって求まる複数の第1波形データを合成し、第1合成波形データを生成する(ステップS158)。
以上により、振幅データの振幅値が設定される。
ステップS158で生成された第1合成波形データは、駆動制御部240Cによって振幅データとして振幅変調器320(図6参照)に出力される。
図17は、ステップS155でシフト係数行列を生成する処理を説明する図である。
図17の上側に示すように、3行8列の係数行列があるとする。また、周波数シフト量sが'2'であるとする。周波数シフト量sが'2'であることは、第2周波数倍率aが4倍であることに対応する。
図17の上側に示す3行8列の係数行列では、最も上の行(第1周波数倍率は1倍)で、振幅増倍係数は、a11、a12、0、0、0、0、0、0に設定されている。また、上から2行目(第1周波数倍率は2倍)で、振幅増倍係数は、a21、a22、a23、a24、0、0、0、0に設定されている。また、上から3行目(第1周波数倍率は4倍)で、振幅増倍係数は、a31、a32、a33、a34、a35、a36、a37、a38に設定されている。
このような場合に、波形生成部240Aは、3行8列の係数行列の成分を周波数シフト量sの分だけ下側(高周波数側)にシフトし、行のシフトによってブランクになる行の成分をすべて'0'に設定する。
ここでは、周波数シフト量sは'2'であるため、図17の上側に示す3行8列の係数行列の成分を2行下側(高周波数側)にシフトし、周波数倍率が1倍である最も上の行と、上から2行目との成分(2行8列の成分)がすべて'0'に設定する。
このような処理により、波形生成部240Aは、図17の下側に示す5行8列のシフト係数行列を生成する。
そして、波形生成部240Aは、シフト係数行列のすべての成分に振幅倍率aを乗算した乗算係数行列を生成し、波形合成部240Bは、波形データ列と、乗算係数行列とによって求まる複数の第1波形データを合成して、第1合成波形データを生成する。
図16に示す処理によって生成される第1合成波形データは、駆動制御部240Cによって振幅データとして振幅変調器320(図6参照)に出力される。
以上、図16の処理によれば、図15に示す処理のように第1合成波形データに含まれる第1合成振幅値のデータ点数を1/aにした第2合成波形データを生成する工程を含まない。
このため、図16のフローチャートに示す処理を用いて振幅データを生成すれば、図15に示す処理よりも計算量を減らすことができる。
ここで、図18乃至図22を用いて、実施の形態1の電子機器100の変形例について説明する。
図18は、実施の形態1の変形例の電子機器100Aの断面を示す図である。図18に示す断面は、図3に示すA−A矢視断面に対応する断面である。図18では図3と同様に直交座標系であるXYZ座標系を定義する。
電子機器100Aは、筐体110B、トップパネル120、パネル121、両面テープ130、振動素子140、タッチパネル150、ディスプレイパネル160A、及び基板170を含む。
電子機器100Aは、図3に示す電子機器100のタッチパネル150を裏面側(Z軸負方向側)に設けた構成を有する。このため、図3に示す電子機器100と比べると、両面テープ130、振動素子140、タッチパネル150、及び基板170が裏面側に配設されている。
筐体110Bには、Z軸正方向側の凹部110Aと、Z軸負方向側の凹部110Cとが形成されている。凹部110Aの内部には、ディスプレイパネル160Aが配設され、トップパネル120で覆われている。また、凹部110Cの内部には、基板170とタッチパネル150が重ねて設けられ、パネル121は両面テープ130で筐体110Bに固定され、パネル121のZ軸正方向側の面には、振動素子140が設けられている。
図18に示す電子機器100Aにおいて、パネル120Aへの操作入力に応じて、振動素子140のオン/オフを切り替えることによってパネル120Aに超音波帯の固有振動を発生させれば、図3に示す電子機器100と同様に、利用者が指先の感覚でディスプレイパネル160に表示される画像に対応した触感を知覚できる電子機器100Aを提供することができる。
なお、図18には、裏面側にタッチパネル150を設けた電子機器100Aを示すが、図3に示す構造と図18に示す構造とを合わせて、表面側と裏面側とにそれぞれタッチパネル150を設けてもよい。
図19は、実施の形態1の変形例の電子機器100Bを示す図である。電子機器100Bは、ノートブック型のPC(Personal Computer:パーソナルコンピュータ)である。
PC100Bは、ディスプレイパネル160B1とタッチパッド160B2を含む。
図20は、実施の形態1の変形例の電子機器100Bのタッチパッド160B2の断面を示す図である。図20に示す断面は、図3に示すA−A矢視断面に対応する断面である。図20では図3と同様に直交座標系であるXYZ座標系を定義する。
タッチパッド160B2は、図3に示す電子機器100から、ディスプレイパネル160を取り除いた構成を有する。
図19に示すようなPCとしての電子機器100Bにおいて、タッチパッド160B2への操作入力に応じて、振動素子140のオン/オフを切り替えることによってトップパネル120に超音波帯の固有振動を発生させれば、図3に示す電子機器100と同様に、タッチパッド160B2への操作入力の移動量に応じて、利用者の指先に触感を通じて操作感を提供することができる。
また、ディスプレイパネル160B1の裏面に振動素子140を設けておけば、図3に示す電子機器100と同様に、ディスプレイパネル160B1への操作入力の移動量に応じて、利用者の指先に触感を通じて操作感を提供することができる。この場合は、ディスプレイパネル160B1の代わりに、図3に示す電子機器100を設ければよい。
図21は、実施の形態1の変形例の電子機器100Cの動作状態を示す平面図である。
電子機器100Cは、筐体110、トップパネル120C、両面テープ130、振動素子140、タッチパネル150、ディスプレイパネル160、及び基板170を含む。
図21に示す電子機器100Cは、トップパネル120Cが曲面ガラスであること以外は、図3に示す実施の形態1の教育用触感提供装置100の構成と同様である。
トップパネル120Cは、平面視における中央部がZ軸正方向側に突出するように湾曲している。図21には、トップパネル120CのYZ平面における断面形状を示すが、XZ平面における断面形状も同様である。
このように、曲面ガラスのトップパネル120Cを用いることにより、良好な触感を提供できる。特に、画像として表示する物体の実物の形状が湾曲している場合に有効的である。
<実施の形態2>

実施の形態2の駆動制御装置及び電子機器は、それぞれ、実施の形態1の駆動制御装置300及び電子機器100と同様の構成を有する。実施の形態2の駆動制御装置及び電子機器は、メモリ250に格納される第2データ及び第3データの構造が実施の形態1の構造と異なる。
図22は、実施の形態2で追加的に用いる第2基本波形を示す図である。図22に一例として示す第2基本波形は、2048個の基本振幅値によって構築される包絡線として与えられる。振幅は、5つのピークを有し、1024番目の振幅が最大になっている。このような振幅を表す基本振幅値は、図23に示す波形データ列によって設定される。
実施の形態2では、図10に示す基本波形を第1基本波形として用いるとともに、図22に示す第2基本波形を用いて、振幅データを生成する。第2基本波形は、サブ基本波形の一例である。
図22に示す第2基本波形は、図10に示す基本波形の基本周波数の1.5倍の第2基本周波数を有する。第2基本周波数は、基本周波数の1.5倍に限られるものではないが、基本周波数の整数倍ではなく、小数(整数部と小数部とを含む数)倍であれば任意の数値であってよい。
図23は、実施の形態2のメモリ250に格納される第2データを示す図である。
実施の形態2の第2データは、図8に示す基本波形IDがfw_id1の波形データ列に、[α1, α2, α3,・・・, α2048]を加えたデータ形式を有する。波形データ列[α1, α2, α3,・・・, α2048]は、2048個の基本振幅値α1~α2048を含む。
波形データ列[α1, α2, α3,・・・, α2048]は、基本振幅値α1~α2048によって構築される包絡線を表す。この包絡線は、図22に示す基本波形IDがfw_id1の第2基本波形を表す。
図24は、実施の形態2のメモリ250に格納される第3データを示す図である。
実施の形態2の第3データは、図9に示す第3データに対して、第2基本波形に対応する係数行列を追加した構造を有する。
図24には、一例として、振動パターンP1で基本波形IDがfw_id21の係数行列を示す。この係数行列は、図9に示す振動パターンP1で基本波形IDがfw_id1の係数行列を第1係数行列として含み、次のような第2係数行列を追加したものである。
第2係数行列は、第1周波数倍率が1倍の振幅増倍係数としてα11、α12、α13、0、0、0、0、0、0、0、0、0を含む。また、第1周波数倍率が2倍の振幅増倍係数としてα21、α22、α23、α24、α25、α26、0、0、0、0、0、0を含む。さらに、第1周波数倍率が4倍の振幅増倍係数としてα31、α32、α33、α34、α35、α36、α37、α38、α39、α310、α311、α312を含む。
図24に示す係数行列の第1係数行列は、図23に示す第1基本波形から第1波形を生成するために用いられ、第2係数行列は、図23に示す第2基本波形から第1波形を生成するために用いられる。第2基本波形から生成される第1波形は、第1サブ波形の一例である。
第1基本波形から生成される第1波形と、第2基本波形から生成される第1波形とは、波形合成部240Bによって合成され、第1合成波形が生成される。その後は、実施の形態1と同様に、第1合成波形に基づいて、第2合成波形が生成される。
実施の形態2では、上述のようにして、図10に示す基本波形を第1基本波形として用いるとともに、図22に示す第2基本波形を用いて、振幅データを生成する。
図22に示す第2基本波形は、図10に示す基本波形の基本周波数の1.5倍の第2基本周波数を有する。実施の形態2では、第1基本波形の小数倍の周波数を有する第2基本波形を追加的に用いることにより、実施の形態1よりもさらに様々な振幅データを生成するができる。
次に、図25乃至図29を用いて、利用者が振幅データを設定する方法について説明する。利用者は、電子機器100(図1及び図6参照)にインストールされた超音波振動設定アプリケーションを起動して、以下の処理を行うことにより、好みの画像等に好みの超音波振動を設定することができる。なお、超音波振動設定アプリケーションは、データ生成部240D(図6参照)が実行する。
図25は、第1周波数倍率と振幅増倍係数を設定する際に用いられるダイアログボックス161がディスプレイパネル160に表示された状態を示す図である。ダイアログボックス161は、超音波振動設定アプリケーションが起動され、第1周波数倍率と振幅増倍係数を設定するモードが選択されるとディスプレイパネル160に表示される。
ダイアログボックス161は、第1波形を設定するために用いる第1周波数倍率と振幅増倍係数を設定することができる。なお、ここでは、基本周波数A及びBを有する2個の基本波形を用いて第1周波数倍率と振幅増倍係数を設定する形態について説明する。
ダイアログボックス161の表示は、図11に表形式で示す係数行列に含まれる第1周波数倍率及び振幅増倍係数の表示と同様である。ダイアログボックス161には、テキストボックス161A、161A2、161A4、161A8、161B、161B2、161B4、161B8、終了ボタン161C、データ初期化ボタン161D、及び振動パターンを選択するドロップダウンリスト161Eが表示される。
テキストボックス161A、161A2、161A4、161A8、161B、161B2、161B4、161B8は、振幅増倍係数を入力する入力領域又は入力部である。ここではすべてのテキストボックスの振幅増倍係数が'0'である状態を示すが、利用者が任意の値を各テキストボックスに入力することができる。
テキストボックス161Aは、基本周波数Aの第1基本波形に対して、第1周波数倍率が1倍の第1波形について、振幅増倍係数を入力する入力部である。ここでは、一例として、基本周波数Aの第1基本波形は、データ点数が3072個の基本振幅値を有する基本波形であり、図25では、2個のテキストボックス161Aを用いて、第1周波数倍率が1倍の第1波形について、2周期分の振幅増倍係数を入力することができる。
テキストボックス161A2、161A4、161A8は、それぞれ、基本周波数Aに対して、第1周波数倍率が2倍、4倍、8倍の周波数の第1波形の振幅増倍係数を入力する入力部である。このため、図25には、4個のテキストボックス161A2、8個のテキストボックス161A4、16個のテキストボックス161A8を示す。
テキストボックス161Bは、基本周波数Bの第2基本波形に対して、第1周波数倍率が1倍の第1波形について、振幅増倍係数を入力する入力部である。ここでは、一例として、基本周波数Bは、基本周波数Aの1.5倍である。基本周波数Bの第2基本波形は、データ点数が2048個の基本振幅値を有する基本波形であり、図25では、3個のテキストボックス161Bを用いて、第1周波数倍率が1倍の第1波形について、3周期分の振幅増倍係数を入力することができる。
テキストボックス161B2、161B4、161B8は、それぞれ、基本周波数Bに対して、第1周波数倍率が2倍、4倍、8倍の周波数の第1波形の振幅増倍係数を入力する入力部である。このため、図25には、6個のテキストボックス161B2、12個のテキストボックス161B4、24個のテキストボックス161B8を示す。
利用者は、図25に示すダイアログボックス161を用いて、振幅増倍係数及び第1周波数倍率を任意の値に設定することができる。
以上のようなダイアログボックス161に利用者が振幅増倍係数を入力することにより、基本周波数Aの第1基本波形と基本周波数Bの第2基本波形に基づく、振動パターンP1と振動パターンP2とが生成されたこととする。振動パターンP1とP2は、互いに異なる。振動パターンP1、P2によってトップパネル120に生じる振動については、図28を用いて後述する。
なお、ここでは、共通の基本波形に基づいて、2つの振動パターンP1及びP2を生成する形態について説明するが、2つの振動パターンP1及びP2は、互いに異なる基本波形から生成することも可能である。
以上のような処理を利用者が行うことにより、振動パターン、基本波形ID、及び係数行列を含む第3データがデータ生成部240Dによって作成される。データ生成部240Dは、第3データをメモリ250に格納する。
上述のように利用者が振幅増倍係数を入力した場合には、振動パターンは、振動パターンP1及びP2であり、基本波形IDは、基本周波数A及びBの基本波形の基本波形IDである。なお、基本周波数A及びBの基本波形の基本波形IDは、基本波形データ(波形データ列)と関連付けられて第2データとして予めメモリ250に格納されている。
また、係数行列は、テキストボックス161A、161A2、161A4、161A8、161B、161B2、161B4、161B8に設定される振幅増倍係数を含む係数行列である。
図26は、利用者が振幅データの設定対象として選択した画像を表す図である。図27は、図26に示す画像に振幅データを設定する際のディスプレイパネル160の様子を示す図である。
利用者は、電子機器100(図1及び図6参照)で起動している超音波振動設定アプリケーションで図25に示すように振幅増倍係数又は第1周波数倍率を設定して振動パターンP1及びP2を作成した後に、図26に示すようにディスプレイパネル160に画像400を表示させることができる。画像400には、桃の実401と葉402の画像が含まれている。
ここでは、図26を用いて、画像400に超音波振動を設定する処理について説明する。
超音波振動設定アプリケーションは、利用者が画像400に超音波振動を設定できるようにするために、グラフィック用の設計ツールを起動する。グラフィック用の設計ツールとしては、例えば、画像400に含まれる実401と葉402の輪郭を認識してキャンバス400Aに表示し、利用者が自由にペイントすることができ、さらにペイントした領域に利用者が自由に振動パターンを設定できるものであればよい。
例えば、図27では、キャンバス400Aの下側にパレット403が表示され、濃いグレーのペイントと、薄いグレーのペイントを用いて、キャンバス400Aの内部を自由に塗り分けられるようになっている。濃いグレーで表示されるボタン403Aを押して、ペイントする領域を指定すれば、指定した領域が濃いグレーにペイントされる。また、薄いグレーで表示されるボタン403Bを押して、ペイントする領域を指定すれば、指定した領域が薄いグレーにペイントされる。
濃いグレーのペイントで塗られる領域には、振動パターンP1が設定され、薄いグレーのペイントで塗られる領域には、振動パターンP2が設定されるようになっている。
なお、ここでは、濃いグレーのペイントと薄いグレーのペイントを示すが、実際には、例えば、濃いグレーのペイントは赤色のペイントであり、薄いグレーのペイントは緑色のペイントであることとする。また、ここには、一例として2色のペイントを示すが、3色以上のペイントが用意されていてもよい。
利用者は、図27に示すように、キャンバス400Aに表示される実401Aと葉402Aの輪郭に沿って、実401Aを濃いグレーでペイントし、葉402Aを薄いグレーでペイントする。
このような処理を利用者が行うことにより、超音波振動設定アプリケーションは、濃いグレーでペイントされた領域の領域データと、振動パターンP1とを関連付けるとともに、薄いグレーでペイントされた領域の領域データと、振動パターンP2とを関連付けることにより、第1データを作成する。このようにしてデータ生成部240Dによって作成される第1データは、図7に示す第1データと同様である。データ生成部240Dは、第1データをメモリ250に格納する。
なお、図27に示すキャンバス400Aは、図26に示す画像400とレイヤーを分けて、同時に表示してもよい。このようにすれば、利用者は、画像400を見ながら、キャンバス400Aでペイントを行うことができる。
また、最初に画像400のデータを読み込んだ際に、画像処理によって自動的に領域分割を行い、各領域を暫定的に塗り分けたデフォルトの状態を生成するようにし、デフォルトの状態からペイントを開始するようにしてもよい。
図28は、トップパネル120に生じる振動パターンP1、P2を示す図である。図28において、横軸は時間軸を表し、縦軸は駆動制御部240から出力される振幅データの振幅値を表す。
図28に示す振動パターンP1及びP2は、図26に示す桃の実401及び葉402の模擬的な触感を実現するために、利用者が図25に示すダイアログボックス161に好みの第1周波数倍率及び振幅増倍係数を設定した場合に得られるものとして説明する。
前提条件として、図26に示す桃の実401及び葉402の模擬的な触感を実現するための振動パターンP1、P2を含む第3データ(図9参照)、及び、図27に示すように桃の実401と葉402との領域を表す領域データと振動パターンP1、P2とを関連付けた第1データ(図7参照)が生成されていることとする。
ここで、利用者が図26に示す点Aから点B、C、Dを経て点Eまで、桃の画像400に合わせてトップパネル120の表面120Aをなぞる操作入力を行ったとする。点Aは桃の実401及び葉402以外の点であり、点Bは葉402の端であり、点Cは葉402と実401の境界であり、点Dは実401の端であり、点Eは、桃の実401及び葉402以外の点である。
このような操作入力が行われると、駆動制御装置300は図28に示すように振動素子140を駆動する。
時刻t1において利用者の指先が点Aに触れると、点Aは桃の実401及び葉402以外の点であり、振動パターンP1及びP2は設定されていないため、駆動制御装置300は振動素子140を駆動しない。このため、振幅はゼロである。
時刻t2において利用者の指先が点Bに到達すると、葉402に対応する振動パターンP2による振動がトップパネル120に発生する。これにより利用者は指先を通じて桃の葉402に触れ始めたことを感知することができる。
その後、点Cに至るまで、振動パターンP2による振動がトップパネル120に生じるため、利用者は指先を通じて桃の葉402の表面の滑らかさを触感で感知することができる。振動パターンP2による振幅A100は、桃の葉402の滑らかな触感を表現するために、比較的大きな値に設定されている。振幅が大きければ、スクイーズ効果によって指先にかかる動摩擦力が小さくなり、滑りやすくなるからである。
時刻t3において利用者の指先が点Cに到達すると、実401に対応する振動パターンP1による振動がトップパネル120に発生する。すなわち、時刻t3において、振動パターンP2から振動パターンP1に切り替わる。これにより利用者は指先を通じて桃の実401に触れ始めたことを感知することができる。
振動パターンP1は、実401の表面の少しざらざらした感じと、滑らかな感じとを合わせたような触感を表現するために、振動パターンP2による振幅A100よりも小さな振幅値を有するように設定されている。また、振動パターンP1は、実401の表面の少しざらざら感を出すために、振幅が変動するように設定されている。
このような理由から、振動パターンP1は、振幅A50±3に設定されている。振幅A50±3は、変動の中心が振幅A100の半分のA50で、変動幅が正方向及び負方向にA50の3/50であることを意味する。
このため、時刻t3において利用者の指先が点Cに到達すると、振幅が小さくなることから、利用者の指先にかかる動摩擦力は大きくなり、利用者は指先で、凸な部分に接触したような触感を得る。
桃の実401よりも葉402の方が触り心地が滑らかであることから、利用者は、実401に割り当てる振動パターンP1の振幅A50±3を、葉402に割り当てられる振動パターンP2の振幅A100よりも小さく設定したものである。
その後、点Dに至るまで、振動パターンP1による振動がトップパネル120に生じるため、利用者は指先を通じて桃の実401の表面の滑らかさとざらざら感を触感で感知することができる。
時刻t4において利用者の指先が点Dに達すると、点Dは、桃の実401と、桃の実401及び葉402以外の点との境界であるため、点Dを過ぎた時点で振動パターンP1による駆動は終了し、振幅はゼロになる。
その後、時刻t5で利用者の指先が点Eに達した時点で、利用者は指先をトップパネル120から離す。
以上のように、利用者は、好みの画像400に好みの振動パターンP1、P2による触感を設定することができる。
そして、設定後に利用者が画像400に触れると、画像400に触れる位置に応じて、利用者が設定した好みの振動パターンP1、P2による振動がトップパネル120に発生する。
すなわち、実施の形態2の駆動制御装置300によれば、利用者の好みの振動パターンP1、P2を好みの画像400に自由に設定することができる。
図29は、利用者が超音波振動設定アプリケーションを利用して画像に超音波の振動を設定する際に、駆動制御装置300のデータ生成部240Dが実行する処理を示すフローチャートである。
データ生成部240Dは、利用者の操作入力によって超音波振動設定アプリケーションが選択されると、処理をスタートさせる。
まず、データ生成部240Dは、超音波振動設定アプリケーションを起動する(ステップS101)。これにより、利用者は、ディスプレイパネル160に好みの画像400(図26参照)を表示させることができるようになる。
次に、データ生成部240Dは、利用者によって選択された画像400を認識してキャンバスに表示し、キャンバス400Aの下側にパレット403を表示する(ステップS102)。
次に、データ生成部240Dは、パレット403の内部のボタン403A又はボタン403Bがダブルクリックされたかどうかを判定する(ステップS103)。ここで、ボタン403A又は403Bのダブルクリックは、第1周波数倍率と振幅増倍係数を設定するダイアログボックス161を表示するコマンドである。
データ生成部240Dは、ボタン403A又はボタン403Bがダブルクリックされた(S103:YES)と判定すると、ディスプレイパネル160にダイアログボックス161を表示する(ステップS104)。これにより、利用者は、ダイアログボックス161の中のテキストボックスに、振幅増倍係数を設定することができるようになる。
次に、データ生成部240Dは、各テキストボックスに入力された数値をメモリ250に保持する(ステップS105)。
次に、データ生成部240Dは、終了ボタン161Cが押されたかどうかを判定する(ステップS106)。
データ生成部240Dは、終了ボタン161Cが押された(S106:YES)と判定すると、ステップS105でテキストボックスに入力された振幅増倍係数に基づいて第3データを生成する(ステップS107)。なお、データ生成部240Dは、終了ボタン161Cが押されていない(S106:NO)と判定すると、フローをステップS105にリターンする。
ステップS107の処理が終了すると、データ生成部240Dは、ダイアログボックス161を非表示にする(ステップS108)。ステップS108の処理が終了すると、データ生成部240Dは、フローをステップS103にリターンする。
データ生成部240Dは、ステップS103において、パレット403の内部のボタン403A又はボタン403Bがダブルクリックされていない(S103:NO)と判定すると、フローをステップS109に進める。
データ生成部240Dは、グラフィック用の設計ツールを起動する(ステップS109)。これにより、利用者はキャンバス400Aに自由にペイントすることができるようになる。
例えば、図27では、ボタン403Aをシングルクリックした後、キャンバス400A上でペイントする領域を指定すれば、指定した領域が濃いグレーにペイントされる。また、薄いグレーで表示されるボタン403Bをシングルクリックした後、キャンバス400A上でペイントする領域を指定すれば、指定した領域が薄いグレーにペイントされる。
データ生成部240Dは、濃いグレーのペイントで塗られた領域に振動パターンP1を設定し、薄いグレーのペイントで塗られた領域に振動パターンP2を設定する。
データ生成部240Dは、終了コマンドが入力されたかどうかを判定する(ステップS110)。終了コマンドは、予め設定されていれば、どのようなコマンドでもよく、例えば、キャンバス400A及びパレット403以外の領域をダブルクリックする動作をグラフィック用の設計ツールの終了コマンドとして設定しておけばよい。
データ生成部240Dは、終了コマンドが入力された(S110:YES)と判定すると、キャンバス400Aにペイントされた色のデータに基づいて、濃いグレーと薄いグレーに塗られた領域の座標を表す領域データを生成し、さらに、領域データと振動パターンに基づいて第1データを生成する(ステップS111)。
データ生成部240Dは、ステップS111で第1データを生成すると、超音波振動設定アプリケーションを終了する(ステップS112)。
以上で、データ生成部240Dによる音波振動設定アプリケーションの実行処理が終了する(エンド)。
なお、データ生成部240Dは、ステップS110において、終了コマンドが入力されていない(S110:NO)と判定すると、フローをステップS103にリターンする。
以上のように設定した第1データ及び第3データと、メモリ250に予め格納されている第2データとを用いれば、図26に示す実401と葉402の画像に指先が触れるときに、利用者の好みの触感を表す超音波の振動を発生させることができる。
また、実施の形態2の駆動制御装置300は、図25乃至図29を用いて説明したように、利用者の好みの振動パターンP1、P2を好みの画像400に自由に設定することができる。
従って、利用者にとって非常に利用価値の高い駆動制御装置300及び電子機器100を提供することができる。 以上、本発明の例示的な実施の形態の駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
100、100A、100B、100C 電子機器

110 筐体

120 トップパネル

130 両面テープ

140 振動素子

150 タッチパネル

160 ディスプレイパネル

170 基板

200 制御部

220 アプリケーションプロセッサ

230 通信プロセッサ

240A 波形生成部

240B 波形合成部

240C 駆動制御部

240 データ生成部

250 メモリ

300 駆動制御装置

310 正弦波発生器

320 振幅変調器

Claims (16)


  1. 表示部と、前記表示部の表示面側に配設され、操作面を有するトップパネルと、前記操作面に行われる操作入力の座標を検出する座標検出部と、前記操作面に振動を発生させる振動素子とを含む電子機器の前記振動素子を駆動する駆動制御装置であって、

    前記操作面に超音波帯の固有振動を発生させる駆動信号の振幅の時間変化を表す基本波形であって、時系列的に配列される所定の数の振幅値で構築される基本波形を表す基本波形データを格納するデータ格納部と、

    前記基本波形の周波数又は振幅を変化させた第1波形を表す第1波形データを生成する波形生成部と、

    前記基本波形と、前記第1波形とを合成した第1合成波形、又は、複数の前記第1波形を合成した第1合成波形を表す第1合成波形データを生成する波形合成部と、

    前記第1合成波形データに基づいて前記駆動信号の振幅を変化させることにより、前記振動素子を駆動する駆動制御部と

    を含む、駆動制御装置。

  2. 前記波形生成部は、前記基本波形データのデータ点数を前記基本周波数に対する前記第1波形の第1周波数の比に応じて減らすことによって、前記基本波形の基本周波数よりも高くされる第1周波数を有する前記第1波形を表す前記第1波形データを生成する、請求項1記載の駆動制御装置。

  3. 前記駆動制御部は、前記第1合成波形データのデータ点数を、前記操作面への操作入力の位置の時間的変化度合に応じて減らすことによって、前記第1合成波形の第2周波数よりも高くされる第3周波数を有する第2合成波形を表す第2合成波形データを生成し、前記第2合成波形データを用いて前記駆動信号の振幅を変化させることにより、前記振動素子を駆動する、請求項1又は2記載の駆動制御装置。

  4. 前記駆動制御部は、前記操作入力の位置の時間的変化度合の基本値に対する、前記操作入力の位置の時間的変化度合の比nを用いて、前記第1合成波形データのデータ点数を1/m(mは2以上の自然数又は1より大きい小数、nは0以上の自然数)にすることにより、前記第2合成波形データを生成する、請求項3記載の駆動制御装置。

  5. 前記波形生成部は、前記基本波形データのデータ点数を、前記操作面への操作入力の位置の時間的変化度合に応じて減らすことによって、前記基本波形の基本周波数よりも高くされる第1周波数を有する前記第1波形を表す前記第1波形データを生成する、請求項1又は2記載の駆動制御装置。

  6. 前記波形生成部は、前記操作入力の位置の時間的変化度合の基本値に対する、前記操作入力の位置の時間的変化度合の比nを用いて、前記基本波形データのデータ点数を1/m(mは2以上の自然数又は1より大きい小数、nは0以上の自然数)にすることにより、前記第1波形データを生成する、請求項5記載の駆動制御装置。

  7. 前記駆動制御部は、さらに、前記操作入力の接触荷重に応じて、前記駆動信号の振幅を変化させる、請求項1乃至6のいずれか一項記載の駆動制御装置。

  8. 前記データ格納部は、前記基本波形データのデータ点数の1/X(Xは任意の小数)のデータ点数と、前記基本波形の周波数のX倍の周波数とを有するサブ基本波形を表すサブ基本波形データをさらに格納しており、

    前記波形生成部は、さらに、前記サブ基本波形の周波数又は振幅を変化させた第1サブ波形を表す第1サブ波形データを生成し、

    前記波形合成部は、前記第1合成波形データが表す前記第1合成波形を、前記基本波形、前記第1波形、前記サブ基本波形、及び前記第1サブ波形を合成することによって、又は、複数の前記第1波形と複数の第1サブ波形とを合成することによって生成する、請求項1乃至7のいずれか一項記載の駆動制御装置。

  9. 前記駆動信号は、一定の周波数と一定の位相で前記操作面に超音波帯の固有振動を発生させる駆動信号である、請求項1乃至8のいずれか一項記載の駆動制御装置。

  10. 前記操作面は平面視で長辺と短辺を有する矩形状であり、前記駆動制御部が前記振動素子を振動させることにより、前記操作面の前記長辺又は前記短辺の方向に振幅が変化する定在波が生じる、請求項1乃至9のいずれか一項記載の駆動制御装置。

  11. 前記駆動制御部は、所定時間経過後の前記操作入力の位置を当該位置の時間的変化度合に応じて推定し、推定した操作入力の位置に応じて、前記固有振動の強度が変化するように前記振動素子を駆動する、請求項1乃至10のいずれか一項記載の駆動制御装置。

  12. 前記基本波形の周波数又は振幅を変化させる変化量が前記操作面への操作入力によって入力されると、前記変化量を表すデータを生成して前記データ格納部に格納するデータ生成部をさらに含み、

    前記波形生成部は、前記データ格納部に格納された前記データに基づいて前記基本波形の周波数又は振幅を変化させた第1波形を表す第1波形データを生成する、請求項1乃至11のいずれか一項記載の駆動制御装置。

  13. 前記表示部と、

    前記表示部の表示面側に配設され、操作面を有する前記トップパネルと、

    前記操作面に行われる操作入力の座標を検出する前記座標検出部と、

    前記操作面に振動を発生させる前記振動素子と、

    請求項1乃至12のいずれか一項記載の駆動制御装置と

    を含む電子機器。

  14. 表示部と、前記表示部の表示面側に配設され、操作面を有するトップパネルと、前記操作面に行われる操作入力の座標を検出する座標検出部と、前記操作面に振動を発生させる振動素子とを含む電子機器の前記振動素子を駆動する駆動制御プログラムであって、

    前記操作面に超音波帯の固有振動を発生させる駆動信号の振幅の時間変化を表す基本波形であって、時系列的に配列される所定の数の振幅値で構築される基本波形を表す基本波形データを格納するデータ格納部を有するコンピュータに、

    前記基本波形の周波数又は振幅を変化させる変化量が前記操作面への操作入力によって入力されると、前記変化量を表すデータを前記データ格納部に格納することと、

    前記データ格納部に格納された前記データに基づいて前記基本波形の周波数又は振幅を変化させた第1波形を表す第1波形データを生成することと、

    前記基本波形と、前記第1波形とを合成した第1合成波形、又は、複数の前記第1波形を合成した第1合成波形を表す第1合成波形データを生成することと、

    前記第1合成波形データに基づいて前記駆動信号の振幅を変化させる振動パターンで前記振動素子を駆動することと

    を実行させる駆動制御プログラム。

  15. 前記表示部に画像を表示させた状態で、前記操作面への操作入力によって前記画像の一部に対応する領域が指定されると、前記座標検出部によって検出される前記操作入力の座標に基づき、前記領域を表すデータを作成することと、

    前記領域に関連付ける前記振動パターンが前記操作面への操作入力によって指定されると、前記領域を表すデータと前記振動パターンを表すデータとを関連付けることと、

    前記表示部に画像を表示させた状態で、前記領域の内部で前記操作面への操作入力が行われると、前記領域を表すデータに関連付けられた前記振動パターンで前記駆動信号の振幅を変化させることと

    をさらに含む、請求項14記載の駆動制御プログラム。

  16. 表示部と、前記表示部の表示面側に配設され、操作面を有するトップパネルと、前記操作面に行われる操作入力の座標を検出する座標検出部と、前記操作面に振動を発生させる振動素子とを含む電子機器の前記振動素子を駆動する駆動制御方法であって、

    前記操作面に超音波帯の固有振動を発生させる駆動信号の振幅の時間変化を表す基本波形であって、時系列的に配列される所定の数の振幅値で構築される基本波形を表す基本波形データを格納するデータ格納部を有するコンピュータが、

    前記基本波形の周波数又は振幅を変化させた第1波形を表す第1波形データを生成し、

    前記基本波形と、前記第1波形とを合成した第1合成波形、又は、複数の前記第1波形を合成した第1合成波形を表す第1合成波形データを生成し、

    前記第1合成波形データに基づいて前記駆動信号の振幅を変化させることにより、前記振動素子を駆動する、駆動制御方法。
JP2016571509A 2015-01-26 2015-01-26 駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法 Active JP6332476B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/051964 WO2016120956A1 (ja) 2015-01-26 2015-01-26 駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法

Publications (2)

Publication Number Publication Date
JPWO2016120956A1 JPWO2016120956A1 (ja) 2017-11-02
JP6332476B2 true JP6332476B2 (ja) 2018-05-30

Family

ID=56542616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016571509A Active JP6332476B2 (ja) 2015-01-26 2015-01-26 駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法

Country Status (3)

Country Link
US (1) US10564723B2 (ja)
JP (1) JP6332476B2 (ja)
WO (1) WO2016120956A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015121955A1 (ja) * 2014-02-14 2015-08-20 富士通株式会社 電子機器、入力装置、及び駆動制御方法
US10591993B2 (en) 2016-09-21 2020-03-17 Apple Inc. Haptic structure for providing localized haptic output
US10416772B2 (en) 2017-09-06 2019-09-17 Apple Inc. Electrical haptic output array
US10585482B2 (en) * 2017-09-27 2020-03-10 Apple Inc. Electronic device having a hybrid conductive coating for electrostatic haptics
US10775890B2 (en) 2017-09-27 2020-09-15 Apple Inc. Electronic device having a piezoelectric body for friction haptics
US10248211B1 (en) 2017-09-28 2019-04-02 Apple Inc. Ground-shifted touch input sensor for capacitively driving an electrostatic plate
US10684734B2 (en) * 2017-09-28 2020-06-16 Apple Inc. Transparent high-resistivity layer for electrostatic friction modulation over a capacitive input sensor
CN110597393B (zh) * 2019-09-18 2023-05-05 Oppo(重庆)智能科技有限公司 一种马达振动控制方法、装置及计算机可读存储介质
US11711030B2 (en) * 2020-05-27 2023-07-25 Taiyo Yuden Co., Ltd. Driving device, tactile sensation providing apparatus, and driving method
JP7497266B2 (ja) 2020-10-06 2024-06-10 株式会社デンソーテン 触感制御装置及び触感制御方法
CN115357124B (zh) * 2022-09-20 2023-09-05 武汉市聚芯微电子有限责任公司 一种振动控制方法、装置、设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3949912B2 (ja) * 2000-08-08 2007-07-25 株式会社エヌ・ティ・ティ・ドコモ 携帯型電子機器、電子機器、振動発生器、振動による報知方法および報知制御方法
JP2006163579A (ja) 2004-12-03 2006-06-22 Sony Corp 情報処理システム、情報処理装置及び情報処理方法
US8780053B2 (en) * 2007-03-21 2014-07-15 Northwestern University Vibrating substrate for haptic interface
JP5343871B2 (ja) * 2009-03-12 2013-11-13 株式会社リコー タッチパネル装置、これを含むタッチパネル付き表示装置、及びタッチパネル装置の制御方法
US9874935B2 (en) 2009-03-12 2018-01-23 Immersion Corporation Systems and methods for a texture engine
US9696803B2 (en) 2009-03-12 2017-07-04 Immersion Corporation Systems and methods for friction displays and additional haptic effects
US10564721B2 (en) 2009-03-12 2020-02-18 Immersion Corporation Systems and methods for using multiple actuators to realize textures
KR101885740B1 (ko) 2009-03-12 2018-08-06 임머숀 코퍼레이션 마찰 디스플레이에서 특징부를 제공하는 시스템 및 방법
US10007340B2 (en) 2009-03-12 2018-06-26 Immersion Corporation Systems and methods for interfaces featuring surface-based haptic effects
US9746923B2 (en) 2009-03-12 2017-08-29 Immersion Corporation Systems and methods for providing features in a friction display wherein a haptic effect is configured to vary the coefficient of friction
JP2010231609A (ja) 2009-03-27 2010-10-14 Hitachi Maxell Ltd 触感呈示装置及び方法
JP2013200863A (ja) * 2012-02-23 2013-10-03 Panasonic Corp 電子機器
JP5954132B2 (ja) * 2012-11-19 2016-07-20 アイシン・エィ・ダブリュ株式会社 操作支援システム、操作支援方法及びコンピュータプログラム
JP5781495B2 (ja) 2012-12-28 2015-09-24 京セラドキュメントソリューションズ株式会社 タッチパネル装置
JP6445921B2 (ja) * 2015-04-21 2018-12-26 任天堂株式会社 振動信号生成プログラム、振動信号生成システム、振動信号生成装置、振動信号生成方法、およびデータ出力プログラム

Also Published As

Publication number Publication date
JPWO2016120956A1 (ja) 2017-11-02
US10564723B2 (en) 2020-02-18
US20170308171A1 (en) 2017-10-26
WO2016120956A1 (ja) 2016-08-04

Similar Documents

Publication Publication Date Title
JP6332476B2 (ja) 駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法
JP5780368B1 (ja) 駆動制御装置、電子機器、及び駆動制御方法
JP6183476B2 (ja) 電子機器及び駆動制御方法
US20160349846A1 (en) Electronic device, input apparatus, and drive controlling method
US20180024638A1 (en) Drive controlling apparatus, electronic device, computer-readable recording medium, and drive controlling method
US20180018022A1 (en) Electronic device, coordinate detecting unit, and adhesive member
US11086435B2 (en) Drive control device, electronic device, and drive control method
JP6123850B2 (ja) 駆動制御装置、電子機器、及び駆動制御方法
WO2015121972A1 (ja) 駆動制御装置、電子機器、システム、及び駆動制御方法
US10359850B2 (en) Apparatus and method for switching vibration at panel surface
JP6589995B2 (ja) 電子機器、及び、電子機器の駆動制御方法
WO2016092644A1 (ja) 電子機器及び駆動制御方法
US20180067559A1 (en) Electronic apparatus and non-transitory recording medium having stored therein
WO2016174760A1 (ja) 駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法
JP6399216B2 (ja) 駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法
AU2015202408B2 (en) Drive controlling apparatus, electronic device and drive controlling method
WO2017029717A1 (ja) 駆動制御装置、電子機器、駆動制御プログラム、及び駆動制御方法
JP2016161953A (ja) 電子機器及び接触座標決定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170705

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: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R150 Certificate of patent or registration of utility model

Ref document number: 6332476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150