(57)【特許請求の範囲】
【請求項１】
振動体を振動させるアクチュエータと、
前記振動体を振動させる所定のパルス幅の第１のパルスを含む駆動信号と、前記第１のパルスとは逆位相の第２のパルスを含む制動信号のいずれかを前記アクチュエータに出力可能な駆動回路と、
前記アクチュエータの振動を制御する振動制御部と、
前記振動体の振動波形を検出する振動検出部と、を備え、
前記振動制御部は、
前記駆動信号の駆動波形と前記振動体の振動波形の位相差を算出し、
自器の環境に関する物理量を検出するセンサから入力される検出信号を所定の機器に出力し、前記所定の機器は、検出信号と、前記位相差と前記振動体の制動開始から前記振動体の振動の加速度が所定の収束判定値以下に収束させるための制動信号の特性を示す特性パラメータを含む制動パラメータと、の関係を示す制動モデルを用いて、前記振動制御部から出力された検出信号から制動パラメータを定め、
前記振動制御部は、出力された前記検出信号に対応する応答として、定めた制動パラメータを前記所定の機器から入力し、
入力された制動パラメータのうち前記特性パラメータで示される特性を有する制動信号を生成し、入力された制動パラメータのうち前記位相差に基づいて、前記駆動回路が生成した制動信号を前記アクチュエータに出力するタイミングを補償し、
前記振動体の振動を停止させるとき、前記特性パラメータで示される特性を有する前記制動信号を前記アクチュエータに出力する
電子機器。
【請求項２】
振動体を振動させるアクチュエータと、
前記振動体を振動させる所定のパルス幅の第１のパルスを含む駆動信号と、前記第１のパルスとは逆位相の第２のパルスを含む制動信号のいずれかを前記アクチュエータに出力可能な駆動回路と、
前記アクチュエータの振動を制御する振動制御部と、
前記振動体の振動波形を検出する振動検出部と、を備え、
前記振動制御部は、
前記駆動信号の駆動波形と前記振動体の振動波形の位相差を算出し、
検出信号と、前記位相差と前記振動体の制動開始から前記振動体の振動の加速度が所定の収束判定値以下に収束させるための制動信号の特性を示す特性パラメータを含む制動パラメータと、の関係を示す制動モデルを用いて、自器の環境に関する物理量を検出するセンサから入力される検出信号から制動パラメータを定め、
定めた制動パラメータのうち前記特性パラメータで示される特性を有する制動信号を生成し、定めた制動パラメータのうち前記位相差に基づいて、前記駆動回路が生成した制動信号を前記アクチュエータに出力するタイミングを補償し、
前記振動体の振動を停止させるとき、前記特性パラメータで示される特性を有する前記制動信号を前記アクチュエータに出力する
電子機器。
【請求項３】
前記振動制御部は、
所定の調整動作トリガの検出後、前記振動体を振動させるとき前記位相差と前記特性パラメータを含む制動パラメータを更新する
請求項１または請求項２に記載の電子機器。
【請求項４】
前記調整動作トリガは、自器の動作開始、前記制動パラメータの最後の更新からの経過期間が所定期間以上となるとき、自器の動作環境の変化、自器の設置状況の変化の少なくともいずれか一つである
請求項３に記載の電子機器。
【請求項５】
前記振動制御部は、
自器の環境に関する物理量を検出するセンサから入力される検出信号が示す物理量に基づいて自器の設置状況を判定する
請求項４に記載の電子機器。
【請求項６】
入力操作を受け付け、前記入力操作に反応して前記振動体によって振動させられるように構成される操作入力部を備え、
前記振動制御部は、
振動させた前記振動体の振動の加速度が所定の振動判定値を超えるとき、前記振動体の振動を停止させる
請求項１から請求項５のいずれか一項に記載の電子機器。
【請求項７】
振動体を振動させるアクチュエータと、
前記振動体を振動させる所定のパルス幅の第１のパルスを含む駆動信号と、前記第１のパルスとは逆位相の第２のパルスを含む制動信号のいずれかを前記アクチュエータに出力可能な駆動回路と、
前記アクチュエータの振動を制御する振動制御部と、
前記振動体の振動を検出する振動検出部と、を備える電子機器における制御方法であって、
前記駆動信号の駆動波形と前記振動体の振動波形の位相差を算出する第１ステップと、
自器の環境に関する物理量を検出するセンサから入力される検出信号を所定の機器に出力するステップであって、前記所定の機器は、検出信号と、前記位相差と前記振動体の制動開始から前記振動体の振動の加速度が所定の収束判定値以下に収束させるための制動信号の特性を示す特性パラメータを含む制動パラメータと、の関係を示す制動モデルを用いて、出力された検出信号から制動パラメータを定める、第２ステップと、
出力された前記検出信号に対応する応答として、定めた制動パラメータを前記所定の機器から入力する第３ステップと、
入力された制動パラメータのうち前記特性パラメータで示される特性を有する制動信号を生成し、入力された制動パラメータのうち前記位相差に基づいて、前記駆動回路が生成した制動信号を前記アクチュエータに出力するタイミングを補償する第４ステップと、
前記振動体の振動を停止させるとき、前記特性パラメータで示される特性を有する前記制動信号を前記アクチュエータに出力する第５ステップと、
を有する制御方法。
【請求項８】
振動体を振動させるアクチュエータと、
前記振動体を振動させる所定のパルス幅の第１のパルスを含む駆動信号と、前記第１のパルスとは逆位相の第２のパルスを含む制動信号のいずれかを前記アクチュエータに出力可能な駆動回路と、
前記アクチュエータの振動を制御する振動制御部と、
前記振動体の振動を検出する振動検出部と、を備える電子機器における制御方法であって、
前記駆動信号の駆動波形と前記振動体の振動波形の位相差を算出する第１ステップと、
検出信号と、前記位相差と前記振動体の制動開始から前記振動体の振動の加速度が所定の収束判定値以下に収束させるための制動信号の特性を示す特性パラメータを含む制動パラメータと、の関係を示す制動モデルを用いて、自器の環境に関する物理量を検出するセンサから入力される検出信号から制動パラメータを定める第２ステップと、
定めた制動パラメータのうち前記特性パラメータで示される特性を有する制動信号を生成し、定めた制動パラメータのうち前記位相差に基づいて、前記駆動回路が生成した制動信号を前記アクチュエータに出力するタイミングを補償する第３ステップと、
前記振動体の振動を停止させるとき、前記特性パラメータで示される特性を有する前記制動信号を前記アクチュエータに出力する第４ステップと、
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器および制御方法に関する。
【背景技術】
【０００２】
ユーザに対して触覚フィードバック（Ｈａｐｔｉｃ  Ｆｅｅｄｂａｃｋ）を与える触覚機器（Ｈａｐｔｉｃ  Ｄｅｖｉｃｅ）は、ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）機器、モバイル機器をはじめとする各種の電子機器に応用されている。かかる触覚機器は、ハプティックアクチュエータ（Ｈａｐｔｉｃ  Ａｃｔｕａｔｏｒ）を有し、システムが生成するイベントに応じて、電子機器に備わる振動体、例えば、タッチパネル、筐体などに振動を伝える。ユーザは、振動体に接触して振動を知覚する。触覚フィードバックは、例えば、ソフトウェアキーボードなど、操作に応じた触感をユーザに提供する場面で応用されることがある。
【０００３】
中でも、衝撃型のハプティックアクチュエータは、振動素子が振動体を打撃して一過性の振動を生成する。例えば、特許文献１に記載の電子機器は、リニア共振型アクチュエータ（ＬＲＡ：Ｌｉｎｅａｒ  Ｒｅｓｏｎａｎｔ  Ａｃｔｕａｔｏｒ）を備え、鋭い立ち上がりおよび立下りを有する波形を有する駆動信号により駆動される。衝撃型のハプティックアクチュエータを備えることで、ユーザにインパクト的な触感を与えることが期待されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−３４０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
インパクト的な触感を与える際、例えば、短時間で終了する一時的な振動を与えることが望まれていた。良好なインパクト触感を与えるためには、一旦振動させたアクチュエータを、できるだけ短時間で停止させること（ブレーキング）が望まれる。振動を停止するために、例えば、特許文献１に記載の電子機器は、駆動電圧とは逆位相の制動電圧を印加していた。
【０００６】
しかしながら、機器の個体差や使用環境などの条件は、ブレーキングの特性に影響する。個体差としては、アクチュエータ自体の個体差、機器の重量、寸法、部品間の結合状態などの個体差もブレーキングの特性に影響する要因となりうる。その他の要因として、駆動信号または制動信号の波形、強度、その波形の乱れ、設置環境などが挙げられる。
他方、不十分なブレーキングによればアクチュエータが停止せずに残響が生ずるため良好なインパクト触感が得られない。そのため、典型的な条件を仮定しておき、その仮定のもとで制動信号のパラメータを予め設定していたのが通例である。よって、個体差や使用環境に関わらず、効果的な制動を実現することが期待されていた。
【課題を解決するための手段】
【０００７】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様に係る電子機器は、振動体を振動させるアクチュエータと、前記振動体を振動させる所定のパルス幅の第１のパルスを含む駆動信号と、前記第１のパルスとは逆位相の第２のパルスを含む制動信号のいずれかを前記アクチュエータに出力可能な駆動回路と、前記アクチュエータの振動を制御する振動制御部と、前記振動体の振動波形を検出する振動検出部と、を備え、前記振動制御部は、記駆動信号の駆動波形と前記振動体の振動波形の位相差を算出し、前記位相差に基づいて、前記駆動回路が前記制動信号を前記アクチュエータに出力するタイミングを補償する。
【０００８】
上記の電子機器において、前記振動制御部は、前記振動体の制動開始から前記振動体の振動の加速度が所定の収束判定値以下に収束させるための制動信号の特性を示す特性パラメータを記憶し、前記振動体の振動を停止させるとき、前記特性パラメータで示される特性を有する前記制動信号を前記アクチュエータに出力してもよい。
【０００９】
上記の電子機器において、前記振動制御部は、所定の調整動作トリガの検出後、前記振動体を振動させるとき前記位相差と前記特性パラメータを含む制動パラメータを更新してもよい。
【００１０】
上記の電子機器において、前記調整動作トリガは、自器の動作開始、前記制動パラメータの最後の更新からの経過期間が所定期間以上となるとき、自器の動作環境の変化、自器の設置状況の変化の少なくともいずれか一つであってもよい。
【００１１】
上記の電子機器において、前記振動制御部は、自器の環境に関する物理量を検出するセンサから入力される検出信号が示す物理量に基づいて自器の設置状況を判定してもよい。
【００１２】
上記の電子機器において、前記振動制御部は、自器の環境に関する物理量を検出するセンサから入力される検出信号を所定の機器に出力し、前記検出信号に対する応答として、前記位相差と前記特性パラメータを含む制動パラメータを入力し、前記制動パラメータのうち前記特性パラメータで示される特性を有する制動信号を生成し、前記制動パラメータのうち前記位相差に基づいて、前記駆動回路が生成した制動信号を前記アクチュエータに出力するタイミングを補償し、前記所定の機器は、検出信号と制動パラメータとの関係を示す制動モデルを用いて、前記振動制御部から出力された検出信号から前記制動パラメータを定めてもよい。
【００１３】
上記の電子機器において、前記振動制御部は、検出信号と制動パラメータとの関係を示す制動モデルを用いて、前記検出信号から前記位相差と前記特性パラメータを含む制動パラメータを定め、前記制動パラメータのうち前記特性パラメータで示される特性を有する制動信号を生成し、前記制動パラメータのうち前記位相差に基づいて、前記駆動回路が生成した制動信号を前記アクチュエータに出力するタイミングを補償してもよい。
【００１４】
上記の電子機器において、入力操作を受け付け、前記入力操作に反応して前記振動体によって振動させられるように構成される操作入力部を備え、前記振動制御部は、振動させた前記振動体の振動の加速度が所定の振動判定値を超えるとき、前記振動体の振動を停止させてもよい。
【００１５】
本発明の第２態様に係る制御方法は、振動体を振動させるアクチュエータと、前記振動体を振動させる所定のパルス幅の第１のパルスを含む駆動信号と、前記第１のパルスとは逆位相の第２のパルスを含む制動信号のいずれかを前記アクチュエータに出力可能な駆動回路と、前記アクチュエータの振動を制御する振動制御部と、前記振動体の振動を検出する振動検出部と、を備える電子機器における制御方法であって、前記駆動信号の駆動波形と前記振動体の振動波形の位相差を算出する第２ステップと、前記位相差に基づいて、前記駆動回路が前記制動信号を前記アクチュエータに出力するタイミングを補償する第２ステップと、を有する。
【発明の効果】
【００１６】
本発明の上記態様によれば、個体差や使用環境に関わらず、効果的な制動を実現することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態に係る電子機器の外観を例示する斜視図である。
【図２】本実施形態に係る電子機器のハードウェア構成例を示すブロック図である。
【図３】本実施形態に係る駆動回路の構成例を示すブロック図である。
【図４】本実施形態に係るアクチュエータのハードウェア構成例を示す図である。
【図５】本実施形態に係る電子機器の機能構成例を示すブロック図である。
【図６】振動加速度、駆動信号および制動信号の例を示す説明図である。
【図７】本実施形態に係る調整動作の例を示すフローチャートである。
【図８】本実施形態に係る調整動作の他の例を示すフローチャートである。
【図９】従来の駆動・制動処理における振動加速度、駆動信号および制動信号の例を示す図である。
【図１０】本実施形態に係る駆動・制動処理における振動加速度、駆動信号および制動信号の例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について、図面を参照して説明する。まず、本発明の実施形態に係る電子機器１の概要について説明する。以下の説明では、主に電子機器１がタブレットＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である場合を例にする。電子機器１は、必ずしもタブレットＰＣに限られず、ノートＰＣ、スマートフォンなどの情報処理装置として構成されてもよいし、単体のキーボード、タッチパネルなどの入力装置として構成されてもよい。また、電子機器１は、遠隔制御装置（いわゆるリモコン）、遊戯機、調理器、空調機、冷蔵庫、など、受け付けた操作に応じて動作する機器であればよい。
【００１９】
図１は、本実施形態に係る電子機器１の外観を例示する斜視図である。
電子機器１は、筐体１５で覆われ、その内部に構成部材を収容する。電子機器１は、全体として平たいほぼ直方体の形状を有する。電子機器１の厚みは、表面の幅および高さよりもそれぞれ小さい。筐体１５の表面には、タッチパネル４が配置されている。タッチパネル４は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶ディスプレイ）２３と、操作を受け付けるタッチセンサ４１を重ね合わせて構成される。ＬＣＤ２３が画像を表示可能とする表示領域と、タッチセンサ４１が物体の接触を検出する検出領域は、ほぼ等しい。キーボード５の画像は、ＬＣＤ２３の表示領域のほぼ全面に表示され、複数のキー画像が配置されたキー領域５Ａと、キー画像が配置されない非キー領域５Ｂとを含む。図１に示す例では、キー領域５Ａは、筐体１５の表面の長手方向に細長く、その直交方向の一方に他方よりも偏った位置に設けられている。個々のキー画像は、それぞれ異なる文字、記号、数字、コマンド等の入力のための操作を受け付ける領域を示す。
タッチパネル４は、その周囲を筐体１５で支持される。タッチパネル４自体は、キーストロークを有しないか、キーストロークがあったとしてもユーザが感知できない程度に少ない。
【００２０】
キーボード５の画像が表示される表示領域の一端の内面には、アクチュエータ４７が備わる。ここで、内面とは筐体１５で囲まれる内部空間に向けられた面を指し、その内部空間の外縁に相当する。アクチュエータ４７は、駆動回路４６（後述）から印加される駆動信号の強度に応じて所定の方向（例えば、筐体１５の厚み方向）に振動する。アクチュエータ４７は、その振動をタッチパネル４に伝える。アクチュエータ４７が、筐体１５に設置され、その振動を筐体１５に伝えてもよい。そのため、アクチュエータ４７は、操作のためにタッチパネル４の表面に接触しているユーザの身体の一部（例えば、指）に触感を与える。本実施形態では、アクチュエータ４７は、キーボード５への操作に伴う接触に応じて、タッチパネル４に表示されたキーボード５に振動を与える。ユーザは、指で振動を知覚することで、キーを押下した錯覚を得ることができる。アクチュエータ４７の構成例については、後述する。
【００２１】
筐体１５の外縁部には、その内面に加速度センサ４４が固定されている。加速度センサ４４は、振動体としてタッチパネル４の振動を検出するための振動検出部として機能する。但し、加速度センサ４４は、アクチュエータ４７に直に接しておらず、アクチュエータ４７から離れた位置に設置される。
図１の例では、１個のアクチュエータ４７が、キーボード５の一端に設置されているが、複数のアクチュエータ４７が設けられてもよい。例えば、キーボード５の四隅のそれぞれに各１個のアクチュエータ４７が設けられてもよい。また、１個または複数個のアクチュエータ４７は、キーボード５に代え、筐体１５の外縁部に設けられてもよい。例えば、互いに対向する２辺もしくは４辺のそれぞれに各１個のアクチュエータ４７が設けられてもよい。複数のアクチュエータ４７にそれぞれ印加する駆動信号の位相は、一例としては複数のアクチュエータ４７間で同相とすればよいが、これには限られない。駆動信号の位相は、複数のアクチュエータ４７の相互間において、所定の位相差を有していてもよい。
【００２２】
次に、本実施形態に係る電子機器１のハードウェア構成例について説明する。
図２は、本実施形態に係る電子機器１のハードウェア構成例を示すブロック図である。
電子機器１は、プロセッサ２０、ＲＯＭ２１、ＲＡＭ２２、ＬＣＤ２３、グラフィックアダプタ２４、フラッシュメモリ３０、通信デバイス３１、電源回路３２、タッチセンサ４１、タッチＩＣ４２、加速度センサ４４、ＳｏＣ４５、駆動回路４６、およびアクチュエータ４７を含んで構成される。これらの部材は、相互にバスＢＳで接続され、各種のデータを入出力可能としている。
【００２３】
プロセッサ２０は、電子機器１の動作を制御する。プロセッサ２０は、フラッシュメモリ３０に記憶された各種のプログラムを実行して、その機能を提供する。各種のプログラムには、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、デバイスドライバ、ユーティリティソフトウェア、アプリケーションプログラムなどが含まれうる。プログラムを実行するとは、本願では、そのプログラムに記述された指令で指示される処理を実行することを意味する。プロセッサ２０は、例えば、タッチセンサ４１で受け付けた操作に応じた処理、その処理により取得されるＬＣＤ２３への画像の表示などを実現する。プロセッサ２０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００２４】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）などのシステムファームウェア、各種のデータを格納する。
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２は、プロセッサ２０で実行される各種のプログラムの読み込み、実行により生成される処理データの書き込みを行うための作業領域として用いられる。
ＬＣＤ２３は、グラフィックアダプタ２４から入力される画像信号に基づく画像を表示する。
グラフィックアダプタ２４は、プロセッサ２０の制御に従って、プロセッサ２０から供給される表示情報を画像信号に変換し、変換した画像信号をＬＣＤ２３に出力する。
【００２５】
フラッシュメモリ３０は、電子機器１全体の制御を行うためのＯＳ、周辺機器の動作を制御するためのデバイスドライバ、特定の機能を提供するアプリケーションプログラム、および各種のデータを格納する。電子機器１は、フラッシュメモリ３０とともに、またはフラッシュメモリ３０に代えて、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶媒体を備えてもよい。
通信デバイス３１は、有線または無線で他の機器と接続し、接続した他の機器との間で通信を実行可能とする。通信デバイス３１は、例えば、通信インタフェースユニットである。
【００２６】
電源回路３２は、電源から供給される電力の電圧を、電子機器１を構成する各デバイスで要求される電圧に変換し、電圧を変換した電力をそれぞれのデバイスに供給する。電源回路３２は、例えば、ＡＣ（Ａｌｔｅｒｎａｔｉｎｇ）アダプタ、充電器、電池およびＤＣ（Ｄｉｒｅｃｔ  Ｃｕｒｒｅｎｔ）／ＤＣコンバータを含んで構成される。ＡＣアダプタは、商用の交流電力を直流電力に変換する。充電器は、変換された直流電力のうち消費されずに余った電力を電池に蓄積し、もしくは直流電力が供給されない場合にＤＣ／ＤＣコンバータを経由して各デバイスに電力を供給する。ＤＣ／ＤＣコンバータは、所定の電圧を有する電力を、各デバイスで要求される電圧を有する電力に変換する。
【００２７】
タッチセンサ４１は、検出領域において物体が接触した位置である接触位置を検出する。タッチセンサ４１は、検出位置を示す検出信号をタッチＩＣ４２に出力する。タッチセンサ４１は、例えば、静電容量センサである。タッチセンサ４１は、例えば、物体が接触していない非接触状態における基準値よりも所定の変化量よりも静電容量が変化した位置を接触位置として検出する。
タッチＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）４２は、タッチセンサ４１の動作を制御するタッチコントローラの一例である。また、タッチＩＣ４２は、タッチセンサ４１から入力される検出信号の強度を調整し、強度が調整された検出信号をシステムＳｏＣ３４とプロセッサ２０に出力する。
【００２８】
加速度センサ４４は、自部に加わる加速度を検出し、検出した加速度を示す加速度信号をＳｏＣ４５の振動制御部４５６（後述）に出力する。加速度センサ４４は、例えば、３次元の加速度を検出可能とする三軸加速度センサである。三軸加速度センサは、３個の感度軸を有し、３個の感度軸それぞれの方向は互いに直交する。加速度センサ４４は、自器の向きの検出を主目的とする加速度センサとして共用されてもよいし、別個に備えられてもよい。加速度センサ４４は、筐体１５に固定され、検出される加速度には重力加速度の成分（重力成分）が含まれる。振動制御部４５６は、その時点（現時点）までの感度軸方向ごとの加速度の移動平均値を重力成分として推定し、推定された重力成分の各方向成分間の比から重力方向、ひいては電子機器１の向きを検出することができる。振動制御部４５６は、移動平均において、例えば、指数移動平均（ＥＭＡ：Ｅｘｐｏｎｅｎｔｉａｌｌｙ  Ｍｏｖｉｎｇ  Ａｖｅｒａｇｅ）を採用する。
【００２９】
ＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−Ｃｈｉｐ）４５は、プロセッサ２０とは別個のプロセッサ、記憶媒体およびプログラマブルロジック回路を含んで構成されるマイクロコンピュータの一例である。プロセッサとして、例えば、ＣＰＵが含まれる。記憶媒体として、例えば、ＲＯＭ、ＲＡＭが含まれる。ＳｏＣ４５は、主に電子機器１の周辺の動作環境や入出力状態を管理する。
ＳｏＣ４５は、記憶媒体に予め記憶されたプログラムを実行して、検出信号処理部４５２と、キー出力制御部４５４と、振動制御部４５６と、を備える制御部として機能する。
検出信号処理部４５２は、タッチＩＣ４２から入力される検出信号に基づいてタッチセンサ４１の検出領域に物体の接触したタイミングとその状態を判定する。検出信号処理部は、例えば、検出信号が示す接触位置からなる接触領域の大きさが所定の大きさの判定閾値未満である状態から、その判定閾値以上となる状態に変化するとき、接触開始と判定する。検出信号処理部４５２は、接触領域の大きさが判定閾値以上となる状態から、その判定閾値未満となる状態に変化するとき、接触終了と判定してもよい。
検出信号処理部４５２は、接触開始または接触終了を示す接触状態情報をキー出力制御部と振動制御部に出力する。
キー出力制御部４５４は、接触開始から接触終了との判定を行われない状態での継続期間が所定期間以上となるとき、タッチＩＣ４２から入力される検出信号が示す接触位置の代表点（例えば、重心）がキー領域５Ａに配置されたキー画像の領域内に含まれるとき、そのキー画像が示すキーが押下されたと判定する。キー出力制御部は、押下されたと判定したキーに対応する文字、数字、記号またはコマンドを示すキー入力情報をプロセッサ２０に出力する。
【００３０】
振動制御部４５６は、タッチＩＣ４２から入力される検出信号、検出信号処理部４５２から入力される接触状態情報、および加速度センサ４４から入力される加速度信号のいずれかもしくは所定の組み合わせに基づいて、アクチュエータ４７の振動を制御する。
例えば、振動制御部４５６は、検出信号処理部４５２から接触開始を示す接触状態情報が入力されるとき、所定の時間周期で強度が変動する駆動信号を生成し、生成した駆動信号の駆動回路４６への印加を開始する。各時刻における駆動信号の強度の時系列は駆動波形を示す。駆動信号は、例えば、各周期の一部の時間（以下、パルス幅）において第１電圧値を有し、その他の時間において第２電圧値を有するパルス信号である。第１電圧値は、例えば、０Ｖよりも有意に高い所定の正の電圧値である。第２電圧値は、例えば、０Ｖである。
【００３１】
振動制御部４５６は、加速度センサ４４から入力される加速度信号が示す加速度が、所定の振動判定値よりも高いか否かを判定する。振動判定値は、加速度の上限を示し、制動の開始を判断するための加速度の値である。振動判定値は、例えば、タッチセンサ４１に接触しているユーザの指に対して、タッチセンサ４１を振動させて十分に触感を与えることができる加速度であればよい。所定の振動判定値よりも高いとき、振動制御部４５６は、生成する駆動信号が示す駆動波形を複数の遅延量の候補のそれぞれで遅延させた信号と加速度信号が示す各時刻における加速度の時系列である振動波形との相関係数を算出し、算出した相関係数が最も大きい遅延量の候補を遅延量として定める。定めた遅延量は、駆動信号とタッチセンサ４１に生ずる振動との位相差に相当する。振動制御部４５６は、生成した駆動信号の位相を反転させて駆動信号とは逆位相の制動信号を生成し、駆動信号の生成ならびに出力を停止する。振動制御部４５６は、定めた遅延量を用いて生成した制動信号を駆動回路４６に出力するタイミングを補償する。より具体的には、振動制御部４５６は、定めた遅延量で駆動信号よりも各周期の位相を遅延させて生成した制動信号の駆動回路４６への出力を開始する。制動信号は、各周期の一部の時間であるパルス幅に相当する期間において第３電圧値を有し、その他の時間において第２電圧値を有するパルス信号である。第３電圧値は、例えば、０Ｖよりも有意に低い所定の負の電圧値である。
なお、振動制御部４５６は、駆動信号としてパルス信号を用いる場合には、各周期の起点の時刻から、入力される加速度信号が示す加速度がその次に有意な極大値をとる時刻までの時間を遅延量として定めてもよい。振動制御部４５６は、有意な極大値として、例えば、予め設定されたノイズレベルよりも大きい極大値を判定する。これにより、遅延量の算出に要する演算量を低減することができる。
【００３２】
他方、振動制御部４５６は、入力される加速度信号が示す所定の一方向の加速度をモニタし、その極値とその時刻（極値時刻）、加速度がゼロとなる時刻（ゼロクロス点）を記録する。振動制御部は、極値の絶対値が所定の収束判定値以下となるとき加速度が収束したと判定する。極値とは、極大値と極小値の一方または双方を意味する。加速度の収束は、振動の停止に相当する。振動制御部は、加速度が収束したと判定するとき、制動信号の駆動回路４６への出力を停止する。
なお、振動制御部４５６は、周期ごとの加速度の極大値と、その極大値をとる時刻からなるセットの少なくとも２つから極大値がゼロとなる時刻を停止時刻として推定し、その停止時刻において制動信号の駆動回路４６への出力を停止してもよい。振動制御部４５６は、極大値に代え、極小値を用いて同様の手法により停止時刻を推定してもよい。
【００３３】
駆動回路４６は、振動制御部４５６から駆動信号が入力されるとき、入力される駆動信号に基づく駆動電力をアクチュエータ４７に供給する。駆動回路４６は、振動制御部４５６から制動信号が入力されるとき、入力される制動信号に基づいて制動電力をアクチュエータ４７に供給する。図３に示す例では、駆動回路４６は、反転器４６２と、第１スイッチ４６４と、第２スイッチ４６６を備える。
反転器４６２は、電源回路３２から供給される電力の電圧の極性を反転させ、電圧の極性を反転した電力を第２スイッチに供給する。反転器４６２は、例えば、電源回路３２を構成するＤＣ／ＤＣコンバータとは別個のＤＣ／ＤＣコンバータである。
【００３４】
第１スイッチ４６４、第２スイッチ４６６は、それぞれ駆動電力、制動電力の供給に用いられる。第１スイッチ４６４、第２スイッチ４６６のそれぞれは、例えば、リレースイッチ、ＮＰＮ型トランジスタなどのいずれかを含んで構成される。
第１スイッチ４６４は、入力される駆動信号または制動信号の電圧値が正電圧値であるとき、電源回路３２から供給される電力をアクチュエータ４７に供給し、印加される制御信号の電圧値が０Ｖ以下となるとき、電源回路３２から供給される電力のアクチュエータ４７への供給を停止する。
第２スイッチ４６６は、入力される駆動信号または制動信号の電圧値が負電圧値であるとき、反転器から供給される電力をアクチュエータ４７に供給し、印加される制御信号の電圧値が０Ｖ以上となるとき、反転器から供給される電力のアクチュエータ４７への供給を停止する。
従って、駆動回路４６は、駆動信号が示す信号値に対応する電圧を有する駆動電力を供給し、制動信号が示す信号値に対応する電圧を有する制動電力を供給することができる。なお、駆動回路４６は、入力される駆動信号または制動信号の信号値に対応する電圧を有する駆動電力をアクチュエータ４７に供給することができれば、必ずしも図３に例示される構成を有してなくてもよい。例えば、駆動回路４６は、Ｈブリッジ回路を含むＨブリッジドライバとして構成されてもよい。Ｈブリッジドライバには、少なくとも３段階の電圧値のいずれかを有する入力信号が入力され、電圧値に対応する短時間平均電圧を有する制動電力を供給することができる。そこで、振動制御部４５６は、各時刻の電圧値として第１段階または第２段階の電圧を有するＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）信号を駆動信号とし、各時刻の電圧値として第３段階または第２段階の電圧を有するＰＷＭ信号を制動信号として、Ｈブリッジドライバに出力すればよい。
【００３５】
次に、本実施形態に係るアクチュエータ４７の構成例について説明する。図４は、本実施形態に係るアクチュエータ４７のハードウェア構成例を示す図である。アクチュエータ４７は、例えば、ＬＲＡである。ＬＲＡは、磁界中に所在するコイル１１５に交流電流を流して可動子１５０を所定の方向（図４（Ａ）の例では、矢印の方向）に振動させる構成を有する。アクチュエータ４７は、第１筐体１０１ａと第２筐体１０１ｂで挟まれた内部空間に可動子１５０を含む振動機構を収納して構成される。第２筐体１０１ｂが電子機器１全体の筐体１５（図１）の内面に接触する。以下の説明では、第２筐体１０１ｂから第１筐体１０１ａに向かう方向を上、その逆方向を下と呼ぶことがある。図４（Ａ）は、第２筐体１０１ｂを取り除いた状態で表れる平面図である。図４（Ｂ）は、図４（Ａ）のＢ−Ｃ線を通過し、平面視方向に平行な断面を示す断面図である。Ｂ−Ｃ線は、アクチュエータ４７の長手方向に平行であって、長手方向に直交する幅方向の中央部を通過する。
【００３６】
第１筐体１０１ａと第２筐体１０１ｂの内部空間の長手方向に平行に、２本のシャフト１０３ａ、１０３ｂがそれぞれＢ−Ｃ線よりも中央部よりも幅方向の一端、他端に近い位置に設けられる。シャフト１０３ａの両端は、固定部１０５ａ、１０５ｂで固定され、シャフト１０３ｂの両端は、固定部１０５ｃ、１０５ｄで固定される。シャフト１０３ａ、１０３ｂは、錘１０７ａ、１０７ｂの両端を貫通している。これにより、錘１０７ａ、１０７ｂは、シャフト１０３ａ、１０３ｂに沿って往復直線運動を可能とする。
固定部１０５ａ〜１０５ｄと、錘１０７ａ〜１０７ｄの間には、それぞれ圧縮コイル・バネ１０９ａ〜１０９ｄが設けられている。圧縮コイル・バネ１０９ａ、１０９ｂは、シャフト１０３ａに巻き付けられ、圧縮コイル・バネ１０９ｃ、１０９ｄは、シャフト１０３ｂに巻き付けられている。
上部ヨーク１１１ｂの下面には、互いに磁極の方向が異なる永久磁石１１３ａ、１１３ｂが貼り付けられている。上部ヨーク１１１ｂと下部ヨーク１１１ａの間に形成されるコイル空間には、コイル１１５が配置されている。
【００３７】
コイル１１５は、固定部材（図示せず）を用いて第１筐体１０１ａに固定されている。永久磁石１１３ａ、１１３ｂが放射する磁束は、上部ヨーク１１１ｂ、下部ヨーク１１１ａ、およびコイル空間で構成される磁路を流れる。下部ヨーク１１１ａには、振動方向の端面にシャフト１１７ａ、１１７ｂを固定している。上部ヨーク１１１ｂ、下部ヨーク１１１ａ、錘１０７ａ、１０７ｂ、永久磁石１１３ａ、１１３ｂ、およびシャフト１１７ａ、１１７ｂは、可動子１５０を構成する。なお、アクチュエータ４７において、可動子１５０がコイル１１５を含み、永久磁石１１３ａ、１１３ｂ、下部ヨーク１１１ａおよび上部ヨーク１１１ｂが第１筐体１０１ａに固定されてもよい。
【００３８】
一例として、コイル１１５に可動子１５０の共振周波数ｆ０に相当する周波数ｆで電圧が変動する交流電流を駆動電力として流す場合を仮定する。その場合、永久磁石１１３ａ、１１３ｂが形成する磁界によりコイル１１５に発生したローレンツ力と圧縮コイル・バネ１０９ａ〜１０９ｄの弾力で、可動子１５０が矢印Ａの方向に往復直線運動をして振動する。可動子１５０の往復動作による振動は、第１筐体１０１ａと第２筐体１０１ｂに伝搬する。
可動子１５０の振幅が大きくなると、シャフト１１７ａ、１１７ｂの先端が第１筐体１０１ａに接触または衝突することがある。可動子１５０の振幅は、シャフト１１７ａ、１１７ｂの先端が第１筐体１０１ａの内面に接触しない範囲に設定されることが望ましい。シャフト１１７ａ、１１７ｂが衝突しない程度に可動子１５０の振幅を制限する場合は、必ずしも、シャフト１１７ａ、１１７ｂを設ける必要はない。
【００３９】
なお、アクチュエータ４７は、必ずしもＬＲＡに限られず、形状記憶合金（ＳＭＡ：Ｓｈａｐｅ  Ｍｅｍｏｒｙ  Ａｌｌｏｙ）アクチュエータ、偏心回転質量（ＥＲＭ：Ｅｃｃｅｎｔｒｉｃ  Ｒｏｔａｔｉｎｇ  Ｍａｓｓ）アクチュエータ、圧電素子振動アクチュエータ（ＰＶＡ：Ｐｉｅｚｏ  Ｖｉｂｒａｔｉｏｎ  Ａｃｔｕａｔｏｒ）などのいずれであってもよい。アクチュエータ４７は、回転型のデュアルモード・ハプティクアクチュエータに適用することもできる。
【００４０】
次に、本実施形態に係る電子機器１の機能構成例について説明する。
図５は、本実施形態に係る電子機器１の機能構成例を示すブロック図である。
タッチセンサ４１は、検出領域のうち物体が接触した接触位置を検出し、検出位置を示す検出信号をタッチＩＣ４２に出力する。
タッチＩＣ４２は、タッチセンサ４１から入力される検出信号をＳｏＣ４５に出力する。
【００４１】
ＳｏＣ４５の検出信号処理部４５２は、タッチＩＣ４２から入力される検出信号に基づいてタッチセンサ４１の検出領域への接触開始の有無を判定する。
ＳｏＣ４５の振動制御部４５６は、接触開始と判定されるとき駆動信号を生成し、生成した駆動信号の駆動回路４６への印加を開始する。振動制御部４５６は、加速度センサ４４から入力される加速度信号が示す所定の方向への加速度が、所定の上限よりも高いか否かを判定する。加速度が所定の加速度の上限よりも高いとき、振動制御部４５６は、駆動信号と加速度信号が示す加速度との相関係数に基づいて遅延量を算出する。振動制御部４５６は、生成した駆動信号の位相を反転し、特定した遅延量で遅延させて得られる制動信号の駆動回路４６への印加を開始する。
他方、振動制御部４５６は、加速度センサ４４から入力される加速度信号が示す所定の一方向の加速度が所定の収束判定閾値以下に収束したか否かを判定する。加速度が収束したと判定するとき、ＳｏＣ４５は、制動信号の駆動回路４６への印加を停止する。
【００４２】
駆動回路４６は、ＳｏＣ４５から駆動信号が入力されるとき、入力される駆動信号に基づく駆動電力をアクチュエータ４７に供給する。
駆動回路４６は、ＳｏＣ４５から制動電力が入力されるとき、入力される制動信号に基づく制動電力をアクチュエータ４７に供給する。
【００４３】
図６は、加速度センサ４４により検出される加速度（振動加速度）と駆動信号ならびに制動信号の例を示す説明図である。縦軸に振動加速度と駆動信号ならびに制動信号を示し、横軸に時刻を示す。時刻ｔ０から時刻ｔ１までの駆動期間Ｔ１において、ＳｏＣ４５は駆動信号を駆動回路４６に出力する。図６に示す駆動信号は、周期Ｔで変動する電圧値を有する矩形波である。駆動信号は、各周期の前半において第１電圧値として０Ｖよりも有意に高い正の電圧値を有し、各周期の後半において第２電圧値として０Ｖよりも有意に低い負の電圧値を有する。図６に示す例では、駆動期間Ｔ１は、３周期分の期間に相当する。
駆動回路４６は、入力される駆動信号に基づく駆動電力をアクチュエータ４７に供給する。駆動電力も、各周期の前半において第１電圧値として０Ｖよりも有意に高い正の電圧値を有し、各周期の後半において第２電圧値として０Ｖよりも有意に低い負の電圧値を有する。そのため、アクチュエータ４７の可動子１５０が周期Ｔで振動し、その振動がタッチセンサ４１に伝搬する。振動加速度として、ほぼ周期Ｔで振動する加速度が観測される。駆動信号の出力が継続されるほど、振動加速度の極値の絶対値が増加する傾向がある。また、振動加速度は、各周期において概ね駆動信号が正の電圧値を有する期間において増加し、駆動信号が負の電圧値を有する期間において減少する傾向がある。但し、駆動信号の電圧値と検出される振動の間には位相差が生じる。振動加速度が極値をとるタイミングは、駆動信号の電圧値が変化するタイミングよりも遅延量ΔＴで遅延する。振動制御部４５６は、駆動信号と加速度信号に基づいて遅延量ΔＴを定めることができる。
【００４４】
次に、時刻ｔ１において、振動制御部４５６は、制動を開始する。振動制御部４５６は、例えば、振動加速度の絶対値が所定の上限値以上になるとき、制動を開始すると判定する。振動制御部４５６は、駆動開始時から予め定めた駆動期間Ｔ１が経過するとき、制動を開始すると判定してもよい。
振動制御部４５６は、駆動信号の位相を反転させて制動信号を生成する。但し、従来、振動制御部４５６は、制動信号の電圧値の時系列で表される制動波形の周期の起点を、制動を開始する時点としていた。つまり、振動制御部４５６は、単純に駆動信号の極性を反転させて制動信号を生成し、生成した制動信号を駆動回路４６に出力していた。駆動回路４６は、振動制御部４５６から入力される制動信号に応じた制動電力をアクチュエータ４７に供給する。この場合には、アクチュエータ４７の可動子１５０に、振動信号により加えられた力とは逆向きの力が作用する。そのため、可動子１５０の振動が減衰する。振動制御部４５６は、時刻ｔ２において振動加速度の極値が所定の収束判定閾値以下になるとき、制動信号の出力を停止する。時刻ｔ１からｔ２までの期間が制動期間Ｔ２に相当する。この場合も、各周期の起点から振動加速度が極値をとる時刻までの遅延量ΔＴに相当する遅延が生じる。
【００４５】
他方、本実施形態に係る振動制御部４５６は、駆動信号に対して位相を反転して得られる信号を、定めた遅延量ΔＴで遅延させて制動信号を生成し、生成した制動信号を駆動回路４６に出力する。駆動回路４６は、振動制御部４５６から入力される制動信号に応じた制動電力をアクチュエータ４７に供給する。
ここで、振動制御部４５６は、時刻ｔ１から遅延量ΔＴに相当する期間である遅延期間において、位相の反転直後の電圧値として負の電圧値を維持し、遅延期間の経過時（図６の例では時刻ｔ１’）において、出力すべき制動信号の電圧値の時系列で表される制動波形の周期を開始させる。各周期の前半では、制動信号の電圧値は負値となり、各周期の後半では、制動信号の電圧値は正値となる。そのため、振動加速度が増加する期間と制動信号の電圧値が負値となる期間とがほぼ一致する。また、振動加速度が減少する期間と駆動信号の電圧値が正値となる期間とが、ほぼ一致する。つまり、振動加速度の増加と制動とが同期するため、振動体であるタッチセンサ４１の振動が効果的に抑制される。また、遅延期間において、位相の判定直後の電圧値として負電圧値を維持したまま、制動信号を遅延させることができる。そのため、極力早くアクチュエータ４７の振動を抑止することができる。
【００４６】
次に、本実施形態に係る調整動作の例について説明する。
図７は、本実施形態に係る調整動作の例を示すフローチャートである。図７に示す処理は、触覚刺激（Ｈａｐｔｉｃ  Ｓｔｉｍｕｌｉ）の提示開始から、その終了までの一連の処理を示す。
（ステップＳ１０２）振動制御部４５６は、検出信号処理部４５２から接触開始を示す接触状態情報が入力されるとき、触覚刺激の提示開始を判定する。その後、ステップＳ１０４の処理に進む。
（ステップＳ１０４）振動制御部４５６は、駆動信号を生成し、生成した駆動信号の駆動回路４６への出力を開始する。その後、ステップＳ１０６の処理に進む。
【００４７】
（ステップＳ１０６）加速度センサ４４は、タッチセンサ４１から自部に加わる振動に伴う加速度を計測し、計測した加速度を示す加速度信号を振動制御部４５６に出力する。その後、ステップＳ１０８の処理に進む。
（ステップＳ１０８）振動制御部４５６は、加速度センサ４４から入力される加速度信号が示す所定の方向の加速度をモニタし、ゼロクロス点の時刻、極値とその時刻を記録する。ゼロクロス点の時刻、極値とその時刻の記録は、制動処理の終了まで継続されてもよい。また、振動制御部４５６は、駆動信号と加速度信号が示す加速度との位相差を算出し、算出した位相差を記録する。位相差を示すパラメータとして、上記の遅延量ΔＴが利用可能である。その後、ステップＳ１１０の処理に進む。
【００４８】
（ステップＳ１１０）振動制御部は４５６、所定の制動トリガを検出するとき、制動開始を判定する。制動トリガは、例えば、入力される加速度信号が示す加速度が所定の上限を超えるとき、検出信号処理部４５２から接触終了を示す接触状態情報が入力されるとき、駆動開始から所定の駆動期間Ｔ１が経過するとき、などである。その後、ステップＳ１１２の処理に進む。
（ステップＳ１１２）振動制御部４５６は、駆動信号の位相を反転させて得られる制動信号に、算出した位相差で遅延させてタイミングを調整して得られる制動信号を駆動回路４６に出力する。その後、ステップＳ１１４の処理に進む。
【００４９】
（ステップＳ１１４）振動制御部４５６は、加速度センサ４４から入力される加速度信号が示す加速度が、所定の収束判定閾値以下に収束したか否かを判定する。収束したと判定するとき（ステップＳ１１４  ＹＥＳ）、ステップＳ１１６の処理に進む。収束していないと判定するとき（ステップＳ１１４  ＮＯ）、ステップＳ１１４の処理を繰り返す。
（ステップＳ１１６）振動制御部４５６は、制動信号の出力を停止し、制動開始から収束したと判定した時点までの経過時間内におけるパルス数を特性パラメータとして記録する。制動制御部４５６は、特性パラメータに制動信号のパルスの電圧値（強度）を含めてもよい。その後、図７に示す処理を終了する。
【００５０】
但し、タッチセンサ４１への接触が検出される都度、位相差と振動に伴う加速度の収束を判定する処理の負荷量は大きくなりがちである。そこで、電子機器１は、図７に示す調整動作を少なくとも１回の接触について実行する。その過程で、振動制御部４５６は、位相差と、特性パラメータの組を制動パラメータとして取得する。そして、以降の接触について、振動制御部４５６は、触覚刺激を提示するとき（ステップＳ１０２〜Ｓ１０６）、予め取得した制動パラメータを用いて制動処理（ステップＳ１１０、Ｓ１１２）を行えばよい。
しかしながら、電子機器１の各部材の経年変化、使用環境の変化などにより、記憶した制動パラメータが永続的に制動処理に利用できるとは限らない。
【００５１】
そこで、振動制御部４５６は、所定の調整動作トリガを検出するか否かを判定してもよい。調整動作トリガを検出するとき、振動制御部４５６は、駆動信号と加速度信号との位相差と、制動開始から振動加速度の収束までに要する経過時間内のパルス数を算出し、算出したパルス数とパルスの強度を特性パラメータとして定める。そして、振動制御部４５６は、算出した位相差と特性パラメータの組を制動パラメータとして記憶する。調整動作トリガは、制動パラメータの更新を要する、もしくは好適とするイベントである。調整動作トリガは、電子機器１の部材間もしくは各部材における機械的特性に有意な変化、またはその変化を生じさせるイベントであってもよい。振動制御部４５６は、所定の調整動作トリガを検出しないとき、記憶された制動パラメータを用いて制動処理を実行する。調整動作トリガの検出の際に制動パラメータが更新されるので、有効な制動処理が維持される。なお、振動制御部４５６は、制動パラメータのうち制動信号の特性を示す特性パラメータとして、パルス数に代えて制動信号の出力開始から振動の収束までの経過時間である制動期間が用いてもよい。
【００５２】
調整動作トリガは、例えば、（１）自器の動作開始、（２）制動パラメータの最後の取得からの期間が所定期間以上となること、（３）設置状態の変化、（４）動作環境の変化、などのいずれか、またはそれらの任意の組み合わせである。
（１）自器の動作開始を検出する際、振動制御部４５６は、例えば、電源回路３２から入力される電力制御情報を参照して動作開始を判定することができる。自器の動作開始は、例えば、電力の供給開始（パワーオン）、低消費電力モード（スリープ）から通常動作モードへの変更（ウェイクアップ）などである。電力制御情報により電力の供給先の部材やその供給の有無、供給電力などの情報が含まれうる。
（２）制動パラメータの最後の取得からの期間が所定期間以上となることを検出するため、振動制御部４５６は、新たな制動パラメータを記録する際、その時点における時刻を取得時刻としてさらに制動パラメータと対応付けて記録する。振動制御部４５６は、記録した取得時刻から現時刻までの経過時間が所定期間（例えば、１５分〜３時間）以上となるか否かを判定することができる。
【００５３】
（３）設置状態の変化を検出する際、振動制御部４５６は、例えば、加速度センサ４４から入力される加速度信号のうち、移動や向きの変化に係る所定の周波数よりも周波数が低い低周波成分（例えば、周波数が８〜２０Ｈｚ以下の成分）を観測する。振動制御部４５６は、低周波成分の強度が所定の強度よりも高いとき、位置が変化したと判定することができる。また、振動制御部４５６は、加速度信号から既知の手法を用いて重力成分を抽出し、重力成分の方向が、現時点までの所定の観測期間内（例えば、０．１〜３ｓ）に所定の角度（例えば、１〜５°）以上変化するとき、向きが変化したと判定することができる。
（４）動作環境の変化を検出する際、振動制御部４５６は、例えば、通信デバイス３１から入力される接続情報を参照し、接続情報で示される接続先の変化を検出することができる。接続先の変化自体は、直ちに部材間の機械的特性の変化をもたらす要因にはなるとは限らないが、その変化によりユーザによる使用形態やタッチセンサ４１に対する操作状況が変化することがある。また、振動制御部４５６は、電子機器１に備わる温度センサ（図示せず）入力される温度信号を参照し、最後に制動パラメータを更新した時点から現時点までの温度の変化（例えば、１〜３°）を検出してもよい。温度の変化は、部材間の機械的特性の変化をもたらすことがある。
【００５４】
次に、本実施形態に係る調整動作の他の例について説明する。図８は、本実施形態に係る調整動作の他の例を示すフローチャートである。
（ステップＳ１２２）振動制御部４５６は、検出信号処理部４５２から接触開始を示す接触状態情報を待ち受ける。接触開始を示す接触状態情報が入力されるとき（ステップＳ１２２  ＹＥＳ）、ステップＳ１２４の処理に進む。接触開始を示す接触状態情報が入力されないとき（ステップＳ１２２  ＮＯ）、ステップＳ１２２の処理を繰り返す。
（ステップＳ１２４）振動制御部４５６は、調整動作トリガの検出後、初めての接触開始であるか否かを判定する。調整動作トリガの検出後、初めての接触開始であるとき（ステップＳ１２４  ＹＥＳ）、ステップＳ１２６の処理に進む。調整動作トリガの検出後、初めての接触開始ではないとき（ステップＳ１２４  ＮＯ）、ステップＳ１２８の処理に進む。
【００５５】
（ステップＳ１２６）電子機器１は、触覚刺激の提示（駆動）と制御パラメータの算出、記録を伴う制動処理を実行する。この処理は、図７のステップＳ１０４〜Ｓ１１６の処理に相当する。その後、ステップＳ１２２の処理に戻る。
（ステップＳ１２８）電子機器１は、調整動作を行わずに、触覚刺激の提示（駆動）と振動制御部４５６が記録した制動パラメータを用いた制動処理を実行する。この処理は、図７のステップＳ１０４〜Ｓ１０６、Ｓ１１０〜Ｓ１１２の処理に相当する。その後、ステップＳ１２２の処理に戻る。
【００５６】
次に、本実施形態に係る電子機器１の動作例について説明する。図９は、従来の駆動・制動処理における振動加速度、駆動信号および制動信号の例を示す図である。図１０は、本実施形態に係る駆動処理・制動処理における振動加速度、駆動信号および制動信号の例を示す図である。但し、図９、図１０の動作例は、駆動回路４６がＨブリッジドライバとして構成される場合を例示する。
図９、図１０において、縦軸は振動加速度と駆動信号を示し、横軸は時刻を示す。駆動信号は、半周期ごとの平均値が交互に変動する電圧値を有する。図９、図１０に示す例では、時刻ｔ０から時刻ｔ１まで６周期の間、駆動信号が出力される。但し、図９に示す例では。時刻ｔ１から時刻ｔ２までの３周期の間、位相が単純に反転した制動信号が出力される。振動加速度の極値は、駆動信号の出力が継続するほど増加する傾向を有するが、出力開始から約４周期後にほぼ一定値に収束する。振動加速度の極値は、制動信号の出力が継続しても、緩やかな減少にとどまる。このことは、残響が生じ、制動が有効に作用していないことを示す。制動信号と振動加速度に位相差が生じることが主因と推定される。
【００５７】
図１０に示す例では、時刻ｔ１から時刻ｔ1’の間、電圧値の平均値が維持され、時刻ｔ1’において駆動信号の平均値に対して反転した位相の周期の起点となる制動信号が出力される。時刻ｔ１から時刻ｔ1’の期間は、駆動信号と振動加速度との間の位相差に相当する。そのため、制動信号の各周期の起点と振動加速度が極値をとる時刻が同期する。制動信号の平均値がより高い期間は、ほぼ振動加速度が減少する期間に相当するため、振動加速度の減少が抑制される。これに対し、制動信号の平均値がより低い期間は、ほぼ振動加速度が増加する期間に相当し、制動信号と振動加速度に有意な位相差が生じていない。そのため、制動信号により振動加速度の増加が抑制されるので、振動が効果的に抑制される。
【００５８】
（変形例）
なお、振動制御部４５６は、説明変数として各種センサから入力される検出信号と、目的変数としてその時点で記録された制動パラメータとの関係を示す制動モデルを生成してもよい。制動モデルは、説明変数に対して所定の演算処理を行って目的変数を算出するために用いられる１以上のモデルパラメータを含むデータである。制動モデルを生成することは、推定目的変数が極力目的変数に近似するように、説明変数に対して推定目的変数の算出に用いられる機械学習アルゴリズムのモデルパラメータを算出（学習）することを意味する。モデルパラメータの種別や数は、機械学習アルゴリズムの種別に依存する。本実施形態では、機械学習アルゴリズムとして、例えば、ニューラルネットワーク、ＸＧＢｏｏｓｔなどが利用可能である。
【００５９】
振動制御部４５６は、制動モデルを生成する際、制動パラメータを取得する都度、その時点で入力される検出信号を用いて算出される推定目的変数と、目的変数として取得した制動パラメータとの差が、所定の判定閾値以下となるまでモデルパラメータを再帰的に算出してもよい。
検出信号の取得に係るセンサとして、電子機器１の動作環境、使用状況により変動しうる物理量を検出可能とするセンサ、例えば、加速度センサ４４、温度センサ、などが利用可能である。加速度センサ４４、温度センサは、それぞれ検出した加速度を示す加速度信号、検出した温度を示す温度信号を検出信号として出力する。
【００６０】
振動制御部４５６は、制動処理を行う際、学習により生成したモデルパラメータからなる制動モデルを用いて制動パラメータを算出してもよい。制動制御部４５６は、算出した制動パラメータのうち、指示される強度を有するパルスを含む制動信号を、指示されるパルス数に達するまでの期間、指示される位相差に従って制動信号を遅延させた制動信号を、駆動回路４６に出力する。これにより、振動制御部４５６は、動作環境、使用状況に応じた制動パラメータを取得できるので、より確実に駆動により生じたタッチセンサ４１の振動を停止させることができる。
【００６１】
なお、振動制御部４５６は、制動パラメータを取得するために、制動モデルを予め生成せずに、予め生成した制動モデルを保存する他機器に要求してもよい。他機器は、例えば、インターネットなどのネットワークに接続された所定のサーバ装置である。以下、他機器がサーバ装置である場合を例にするが、これには限られない。他機器は、制動モデルの学習ならびに制動パラメータの算出のための専用の機器であってもよいし、他の機能を主機能として有する機器（例えば、ウェブサーバ）であってもよい。
振動制御部４５６は、制動処理を行う際、通信デバイス３１を用いて、センサから入力される検出信号を含む制動パラメータ要求情報をサーバ装置に送信する。
サーバ装置は、電子機器１から制動パラメータ要求情報を受信するとき、制動パラメータ要求情報に含まれる検出信号から、制動モデルを用いて制動パラメータを算出する。サーバ装置は、算出した制動パラメータを制動パラメータ要求情報に対する応答として電子機器１に送信する。
電子機器１の振動制御部４５６は、サーバ装置から通信デバイス３１を用いて制動パラメータを受信し、受信した制動パラメータを用いて制動処理を行う。
【００６２】
また、振動制御部４５６は、制動パラメータを新たに取得するとき（例えば、図７  Ｓ１０４〜Ｓ１１６）、制動パラメータとその時点における検出信号を含む学習データをサーバ装置に送信してもよい。サーバ装置は、電子機器１から受信した学習データを用いて検出信号と制動パラメータとの関係を示す制動モデルを生成もしくは学習することができる。サーバ装置は、例えば、個々の電子機器１ごとに制動モデルを学習する。学習により得られた制動モデルにより個々の電子機器１に対して効果的な制動パラメータが得られる。サーバ装置は、同種の電子機器１間で共通の制動モデルを学習してもよい。学習により得られた制動モデルにより、多様な使用環境に対して効果的な制動パラメータが得られる。
【００６３】
なお、上記の説明では、主に加速度センサ４４から入力される加速度信号が示す加速度が所定の振動判定値よりも高いとき、振動制御部４５６が、タッチセンサ４１などの振動体の振動に対して制動を開始する場合を例にしたが、これには限られない。振動体の振動中において、振動制御部４５６は、プロセッサ２０またはＳｏＣ４５から制動指示が入力されるとき、制動を開始してもよい。プロセッサ２０またはＳｏＣ４５がアプリケーションプログラムなどの任意のプログラムの実行により振動体を振動させる場合であっても、その実行により任意の時点でその振動を効果的に制動することができる。
【００６４】
以上に説明したように、本実施形態に係る電子機器１は、振動体（例えば、タッチセンサ４１）を振動させるアクチュエータ４７と、振動体を振動させる所定のパルス幅の第１のパルスを含む駆動信号と、前記第１のパルスとは逆位相の第２のパルスを含む制動信号のいずれかをアクチュエータ４７に出力可能な駆動回路４６と、アクチュエータ４７の振動を制御する振動制御部４５６と、振動体の振動波形を検出する振動検出部（例えば、加速度センサ４４）とを備える。振動制御部４５６は、駆動信号の駆動波形と振動体の振動波形の位相差を算出し、駆動回路４６が制動信号をアクチュエータ４７に出力するタイミングを補償する。
この構成によれば、振動体の振動とは逆位相の制動信号がアクチュエータ４７に印加される。そのため、振動体の振動が効果的に抑制される。
【００６５】
また、振動制御部４５６は、振動体の制動開始から振動体の振動の加速度が所定の収束判定値以下に収束させるための制動信号の特性を示す特性パラメータを記憶し、振動体の振動を停止させるとき、前記特性パラメータで示される特性を有する制動信号をアクチュエータ４７に出力してもよい。
この構成によれば、振動体の振動を制動する都度、振動の収束を判定する処理を省略することができる。そのため、より小規模なハードウェア資源による経済的な実現が可能となる。
【００６６】
また、振動制御部４５６は、所定の調整動作トリガの検出後、振動体を振動させるとき位相差と特性パラメータを含む制動パラメータを更新する。調整動作トリガは、例えば、自器（即ち、電子機器１）の動作開始、制動パラメータの最後の更新からの経過期間が所定期間以上となるとき、自器の動作環境の変化、自器の設置状況の変化の少なくとも一つであればよい。振動制御部４５６は、自器の環境に関する物理量を検出するセンサ（例えば、加速度センサ４４、温度センサ）から入力される検出信号が示す物理量に基づいて自器の設置状況を判定する。
この構成によれば、調整動作トリガの検出に応じて更新された制動パラメータを用いて、振動体の制動処理が実行される。そのため、動作環境や設置状況の変化にも関わらず、一定の制動パラメータの使用が継続されることにより振動体の振動が効果的に抑制されなくなる現象を回避することができる。
【００６７】
また、振動制御部４５６は、自器の環境に関する物理量を検出するセンサから入力される検出信号を所定の機器（例えば、サーバ装置）に出力してもよい。当該所定の機器は、検出信号と制動パラメータとの関係を示す制動モデルを用いて、振動制御部４５６から出力された検出信号から位相差と特性パラメータを含む制動パラメータを定める。そして、振動制御部４５６は、出力した検出信号に対する応答として、位相差と特性パラメータを含む制動パラメータを当該所定の機器から入力し、入力した制動パラメータのうち特性パラメータで示される特性を有する制動信号を生成し、入力した制動４７パラメータのうち位相差に基づいて、駆動回路４６が生成した制動信号をアクチュエータに出力するタイミングを補償してもよい。
この構成によれば、電子機器１は、検出信号の出力先とした所定の機器から自器の環境に応じた制動パラメータを取得することができる。そのため、個体差によらず使用環境または設置状況の変動に応じて振動体の振動を効果的に抑制することができる。
【００６８】
また、振動制御部４５６は、検出信号と制動パラメータとの関係を示す制動モデルを用いて、検出信号から位相差と特性パラメータを含む制動パラメータを定め、定めた制動パラメータのうち特性パラメータで示される特性を有する制動信号を生成し、定めた制動パラメータのうち位相差に基づいて、駆動回路４６が生成した制動信号をアクチュエータ４７に出力するタイミングを補償してもよい。
この構成によれば、電子機器１は、自器の環境に応じた制動パラメータを取得することができる。そのため、使用環境または設置状況の変動に応じて振動体の振動を効果的に抑制することができる。
【００６９】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態や変形例に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。上述の実施形態や変形例において説明した各構成は、任意に組み合わせることができる。
【符号の説明】
【００７０】
１…電子機器、２０…プロセッサ、２１…ＲＯＭ、２２…ＲＡＭ、２３…ＬＣＤ、２４…グラフィックアダプタ、３０…フラッシュメモリ、３１…通信デバイス、３２…電源回路、４１…タッチセンサ、４２…タッチＩＣ、４４…加速度センサ、４５…ＳｏＣ、４６…駆動回路、４７…アクチュエータ、４５２…検出信号処理部、４５４…キー出力制御部、４５６…振動制御部、４６２…反転器、４６４…第１スイッチ、４６６…第２スイッチ
【図１】
0006849755.tif 000002
【図２】
0006849755.tif 000003
【図３】
0006849755.tif 000004
【図４】
0006849755.tif 000005
【図５】
0006849755.tif 000006
【図６】
0006849755.tif 000007
【図７】
0006849755.tif 000008
【図８】
0006849755.tif 000009
【図９】
0006849755.tif 000010
【図１０】
0006849755.tif 000011