(57)【要約】      （修正有）【課題】ユーザに特定のイベントを知らせるため、又はシミュレート又はバーチャル環境内でより深い知覚没入を生成するためのリアルなフィードバックを提供する。【解決手段】プロセッサ１２は、アクチュエータ駆動回路１６へ制御信号を出力し、アクチュエータ駆動回路１６は、所望のハプティック効果を生じるために、必要な電気インパルス電流及び電圧をアクチュエータ１８に提供するために用いられる。タッチ面１１は、タッチを認識し、面上でのタッチの位置及びマグニチュードも認識してもよい。タッチに対応するデータは、プロセッサ１２又はシステム１０内の別のプロセッサに送信される。プロセッサ１２は、タッチを読み取り、それに応じてハプティック効果信号を生成する。【選択図】図１
2018026157.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサによって実行されたときに、前記プロセッサにアクチュエータを用いてハプティック効果を生成させる命令を有するコンピュータ可読媒体であって、前記ハプティック効果を生成することは、
前記ハプティック効果を定義するハプティック効果定義を受け付けるステップと、
アクチュエータが、前記ハプティック効果をプレイ可能かどうかを判定することを含む前記ハプティック効果定義を前処理するステップと、
前記ハプティック効果のプレイ中に、前記アクチュエータの状態の推定又は測定に基づいてフォース値を調整することを含む前記ハプティック効果定義を後処理するステップと、を備えるコンピュータ可読媒体。
【請求項２】
前記アクチュエータの状態の推定は、前記アクチュエータが立ち上がり時間曲線又は立ち下がり時間曲線のどこに位置するかを推定することに基づく、請求項１に記載のコンピュータ可読媒体。
【請求項３】
前記ハプティック効果定義は、前記ハプティック効果の包絡線を定義するパラメータ化された振動定義を含む請求項１に記載のコンピュータ可読媒体。
【請求項４】
前記パラメータ化された振動定義は、持続期間、周波数又はマグニチュードの少なくとも一つを含む一又はそれ以上のパラメータを有する請求項３に記載のコンピュータ可読媒体。
【請求項５】
前記アクチュエータは、特性を含み、前記判定することは、少なくとも前記特性に基づく、請求項１に記載のコンピュータ可読媒体。
【請求項６】
前記前処理するステップは、前記ハプティック効果をスケールダウンすることを含む請求項１に記載のコンピュータ可読媒体。
【請求項７】
前記後処理するステップは、フォース値が、アクチュエータ用の駆動回路へ送信される前に、毎回実行される請求項１に記載のコンピュータ可読媒体。
【請求項８】
前処理された前記ハプティック効果は、プレイされ、前記後処理するステップは、前記ハプティック効果がプレイされると生じる、請求項１に記載のコンピュータ可読媒体。
【請求項９】
前記ハプティック効果は、前記ハプティック効果を前記アクチュエータへ送信することによりプレイされる請求項８に記載のコンピュータ可読媒体。
【請求項１０】
アクチュエータを用いてハプティック効果を生成する方法であって、
前記ハプティック効果を定義するハプティック効果定義を受け付けるステップと、
前記アクチュエータが、前記ハプティック効果をプレイ可能かどうかを判定することを含む前記ハプティック効果定義を前処理するステップと、
前記ハプティック効果のプレイ中に、前記アクチュエータの状態の推定又は測定に基づいてフォース値を調整することを含む前記ハプティック効果定義を後処理するステップと、を備える方法。
【請求項１１】
前記アクチュエータの状態の推定は、前記アクチュエータが立ち上がり時間曲線又は立ち下がり時間曲線のどこに位置するかを推定することに基づく、請求項１０に記載の方法。
【請求項１２】
前記ハプティック効果定義は、前記ハプティック効果の包絡線を定義するパラメータ化された振動定義を含む請求項１０に記載の方法。
【請求項１３】
前記パラメータ化された振動定義は、持続期間、周波数又はマグニチュードの少なくとも一つを含む一又はそれ以上のパラメータを有する請求項１２に記載の方法。
【請求項１４】
前記アクチュエータは、特性を含み、前記判定することは、少なくとも前記特性に基づく、請求項１０に記載の方法。
【請求項１５】
前記前処理するステップは、前記ハプティック効果をスケールダウンすることを含む請求項１０に記載の方法。
【請求項１６】
前記後処理するステップは、フォース値が、アクチュエータ用の駆動回路へ送信される前に、毎回実行される請求項１０に記載の方法。
【請求項１７】
前処理された前記ハプティック効果は、プレイされ、前記後処理するステップは、前記ハプティック効果がプレイされると生じる、請求項１０に記載の方法。
【請求項１８】
前記ハプティック効果は、前記ハプティック効果を前記アクチュエータへ送信することによりプレイされる請求項１７に記載の方法。
【請求項１９】
ハプティカリィイネーブルドシステムであって、
ハプティック効果を定義するハプティック効果定義を受け付けるコントローラと、
前記コントローラと接続される駆動回路と、
前記駆動回路と接続されるアクチュエータと、
前記アクチュエータが、前記ハプティック効果をプレイ可能かどうかを判定することを含む前記ハプティック効果定義を前処理する、前記駆動回路と接続されるプリプロセッサと、
前記ハプティック効果のプレイ中に、前記アクチュエータの状態の推定又は測定に基づいてフォース値を調整することを含む前記ハプティック効果定義を後処理する、前記駆動回路と接続されるポストプロセッサと、を備えるシステム。
【請求項２０】
前記アクチュエータの状態の推定は、前記アクチュエータが立ち上がり時間曲線又は立ち下がり時間曲線のどこに位置するかを推定することに基づく、請求項１９に記載のシステム。
【請求項２１】
前記ハプティック効果定義は、前記ハプティック効果の包絡線を定義するパラメータ化された振動定義を含む請求項１９に記載のシステム。
【請求項２２】
前記パラメータ化された振動定義は、持続期間、周波数又はマグニチュードの少なくとも一つを含む一又はそれ以上のパラメータを有する請求項２１に記載のシステム。
【請求項２３】
前記アクチュエータは、特性を含み、前記判定することは、少なくとも前記特性に基づく、請求項１９に記載のシステム。
【請求項２４】
前記前処理は、前記ハプティック効果のスケールダウンを含む請求項１９に記載のシステム。
【請求項２５】
前記後処理は、フォース値が、前記駆動回路へ送信される前に、毎回実行される請求項１９に記載のシステム。
【請求項２６】
前処理された前記ハプティック効果は、プレイされ、前記後処理は、前記ハプティック効果がプレイされると生じる、請求項１９に記載のシステム。
【請求項２７】
前記ハプティック効果は、前記ハプティック効果を前記アクチュエータへ送信することによりプレイされる請求項２６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
一実施形態は、一般的にはハプティック効果に関するものであり、特に、アクチュエータを用いるハプティック効果の生成に関する。
【背景技術】
【０００２】
電子デバイスメーカーは、ユーザにとってリッチなインターフェースを提供するために努力している。従来のデバイスは、ユーザにフィードバックを提供するために視覚及び聴覚のキューを使用する。いくつかのインターフェースデバイスでは、運動感覚フィードバック（例えば、アクティブ及び抵抗性のフォースフィードバック）及び／又は触覚フィードバック（例えば、振動、テクスチャ及び熱）もユーザに提供され、より一般的には、「ハプティックフィードバック」又は「ハプティック効果」と総称される。ハプティックフィードバックは、ユーザインターフェースを促進及び簡素化するキューを提供することができる。具体的には、振動効果又は振動触覚ハプティック効果は、ユーザに特定のイベントを知らせるため、又はシミュレート又はバーチャル環境内でより深い知覚没入を生成するためのリアルなフィードバックを提供するための電子デバイスのユーザのキューの提供に有益である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ハプティックフィードバックは、携帯電話、スマートフォン、ポータブルゲーミングデバイス及び他の様々なポータブル電子デバイスのようなポータブル電子デバイスに組み込まれることも多くなっている。例えば、いくつかのポータブルゲーミングアプリケーションは、ハプティックフィードバックを提供するように構成される大規模なゲーミングシステムで用いられるコントロールデバイス（例えば、ジョイスティック等）と同様の態様で振動することが可能である。さらに、スマートフォンのようなデバイスは、タッチスクリーン上の「ボタン」が、ユーザによって選択されたときに、それらが機械的なもののように感じられるようにする。
【０００４】
振動効果を生成するために、多くのデバイスは、いくつかのタイプのアクチュエータ／モータ又はハプティック出力装置を使用する。この目的のために使用される既存のアクチュエータは、モータによって偏心質量が可動し、回転軸の周りを回転する偏心質量アクチュエータ（Ｅｃｃｅｎｔｒｉｃ  Ｒｏｔａｔｉｎｇ  Ｍａｓｓ（「ＥＲＭ」）ａｃｔｕａｔｏｒ）のような電磁アクチュエータを含む。しかし、慣性のため、ＥＲＭの偏心質量は、所望の回転速度に達するまで、及び下がるまでに時間が掛かる。この「スピンアップ（ｓｐｉｎ  ｕｐ）」及び「スピンダウン（ｓｐｉｎ  ｄｏｗｎ）」時間は、振動タイプハプティック効果の生成において遅延を生じ、ハプティック効果の「フィーリング」を低下させる。特に、複数の「キーパッド」押下への応答のような互いに短い期間内で生成される複数のハプティック効果は、低速で、高価ではないＥＲＭによる遅延に起因する連続的な「騒音（ｂｕｚｚ）」を「段階的に生じる（ｃａｓｃａｄｅ）」又は累積させる。
【課題を解決するための手段】
【０００５】
一実施形態は、アクチュエータを用いるハプティック効果を生成するシステムである。前記システムは、ハプティック効果を定義するハプティック効果定義を受け付ける。前記システムは、アクチュエータが、ハプティック効果をプレイすることが可能かどうかを判定することにより、ハプティック効果定義を前処理する。前記システムは、ハプティック効果をプレイ中に、アクチュエータの状態の推定又は測定に基づいてフォース値を調整することにより、ハプティック効果を後処理する。
【図面の簡単な説明】
【０００６】
【図１】図１は、本発明の一実施形態に係るハプティカリィイネーブルドシステムのブロック図である。
【図２】図２は、本発明の一実施形態に係る最小又はカスケードのないハプティック効果を生成するときの図１のシステムの機能のフローチャートである。
【図３】図３は、３つのハプティック領域が用いられる場合の本発明の一実施形態に係るハプティック効果定義を前処理するときの図１のシステムの機能のフローチャートである。
【図４】図４は、一実施形態に係る図３の機能を図示する一例の効果を示す。
【図５】図５は、本発明の一実施形態に係るハプティック効果定義を後処理するときの図１のシステムの機能のフローチャートである。
【発明を実施するための形態】
【０００７】
一実施形態は、アクチュエータ特性を占有し、複数のハプティック効果のカスケーディング（ｃａｓｃａｄｉｎｇ）を最小化するために、ハプティック効果定義を調整、前処理及び後処理するＥＲＭアクチュエータ用のシステム及び駆動回路である。前処理は、ハプティック効果のマグニチュード又は他のパラメータをスケールすることができる。後処理は、アクチュエータ特性、現在のアクチュエータの状態及び所望のマグニチュードに基づいて新たなマグニチュードを生成することができる。
【０００８】
図１は、本発明の一実施形態に係るハプティカリィイネーブルドシステム（ｈａｐｔｉｃａｌｌｙ−ｅｎａｂｌｅｄ  ｓｙｓｔｅｍ）１０のブロック図である。システム１０は、ハウジング１５内に実装されたタッチ検知面１１又は他のタイプのユーザインターフェースを含んでもよく、機械的なキー／ボタン１３を含んでもよい。システム１０の内部は、システム１０で振動３０、３１を生成するハプティックフィードバックシステムである。一実施形態では、振動は、タッチ面１１で生成される。各種の実施形態では、図１に示される要素の全てが実装のために必要とされるわけではない。
【０００９】
ハプティックフィードバックシステムは、プロセッサ又はコントローラ１２を含む。プロセッサ１２には、メモリ２０及びアクチュエータ駆動回路１６が接続され、アクチュエータ駆動回路１６は、アクチュエータ１８に接続される。アクチュエータ１８は、回転質量を有するアクチュエータを含む任意のタイプのアクチュエータであってもよく、一実施形態では、偏心質量アクチュエータ（Ｅｃｃｅｎｔｒｉｃ  Ｒｏｔａｔｉｎｇ  Ｍａｓｓ（「ＥＲＭ」）ａｃｔｕａｔｏｒ）である。一実施形態では、アクチュエータ１８は、相対的に長い立ち上り時間及び立ち下がり時間を有する任意のタイプのアクチュエータである。プロセッサ１２は、任意のタイプの汎用目的のプロセッサであってもよく、又は特定用途向け集積回路（「ＡＳＩＣ」）のようなハプティック効果を提供するように具体的に設計されたプロセッサであることもできる。プロセッサ１２は、システム１０全体を動作する同一のプロセッサであってもよく、別のプロセッサであってもよい。プロセッサ１２は、どのハプティック効果がプレイされるか、及びハプティック効果がハイレベルパラメータに基づいてプレイされる順序を決定することができる。通常、特定のハプティック効果を定義するハイレベルパラメータは、マグニチュード（ｍａｇｎｉｔｕｄｅ）、周波数及び持続期間を含む。ストリーミングモータコマンドのようなローレベルパラメータも特定のハプティック効果を決定するために用いられる。ハプティック効果は、ハプティック効果が生成されるとき又はユーザのインタラクションに基づくこれらのパラメータのバリエーションであるときに、これらのパラメータのいくつかのバリエーションを含む場合、「動的（ｄｙｎａｍｉｃ）」とみなされてもよい。
【００１０】
プロセッサ１２は、アクチュエータ駆動回路１６へ制御信号を出力し、アクチュエータ駆動回路１６は、所望のハプティック効果を生じるために、必要な電気インパルス電流及び電圧（つまり、「モータ信号」）をアクチュエータ１８に提供するために用いられる電子部品及び回路を含む。システム１０は、一以上のアクチュエータ１８を含んでもよく、各アクチュエータは、別の駆動回路１６を含んでもよく、全てが共通のプロセッサ１２と接続される。メモリデバイス２０は、ランダムアクセスメモリ（ＲＡＭ）又はリードオンリーメモリ（ＲＯＭ）のような任意のタイプのストレージデバイス又はコンピュータ可読媒体であることができる。メモリ２０は、プロセッサ１２によって実行される命令を記憶する。命令のうち、メモリ２０は、ハプティック効果モジュール２２を含み、以下のより詳細に開示されるように、プロセッサ１２によって実行されるときに、ハプティック効果を提供する一方で、カスケードを最小にするアクチュエータ１８用に駆動信号を生成する。メモリ２０は、プロセッサ１２の内部に配置されてもよく、又は内部及び外部メモリの任意の組み合わせであってもよい。
【００１１】
タッチ面１１は、タッチを認識し、面上でのタッチの位置及びマグニチュードも認識してもよい。タッチに対応するデータは、プロセッサ１２又はシステム１０内の別のプロセッサに送信され、プロセッサ１２は、タッチを読み取り、それに応じてハプティック効果信号を生成する。タッチ面１１は、容量検知、抵抗検知、表面音響波検知、圧力検知、光学検知等を含む任意のセンシング技術を用いてタッチを検知してもよい。タッチ面１１は、マルチタッチ接触を検知してもよく、同時に生じるマルチタッチを区別することが可能であってもよい。タッチ面１１は、キー、ダイヤル等とインタラクトするためのユーザのために画像を生成及び表示するタッチスクリーンであってもよく、又は最小限の画像又は画像のないタッチパッドであってもよい。
【００１２】
システム１０は、携帯電話、パーソナルデジタルアシスタント（「ＰＤＡ」）、スマートフォン、コンピュータタブレット、ゲーミングコンソール、ウェアラブルデバイスであってもよく、又は、一又はそれ以上のアクチュエータを含むハプティック効果システムを含む任意の他のタイプのデバイスであってもよい。システム１０は、ハプティック効果を生成する一又はそれ以上のアクチュエータを含む（例えば、ブレスレット、アームバンド、グローブ、ジャケット、ベスト、眼鏡、靴、ベルト等）のウェアラブルデバイスであってもよい。ユーザインターフェースは、タッチ検知面であってもよく、又はマウス、タッチパッド、ミニジョイスティック、スクロールホイール、トラックボール、ゲームパッド又はゲームコントローラ等のような任意の他のタイプのユーザインターフェースであってもよい。一以上のアクチュエータを有する実施形態では、各アクチュエータは、デバイス上でハプティック効果の広い範囲を生成するために、異なる回転性能を有してもよい。
【００１３】
上述したように、ＥＲＭ又は他のタイプの低速モータのような、長い立ち上がり及び立ち下がり時間を有するアクチュエータで振動ハプティック効果をプレイするとき、典型的ないくつかの待ち時間が存在する。したがって、タッチスクリーンキーボードのバーチャルキーの連続押下への応答のような、一連の素早いハプティック効果をプレイするとき、連続的なバズ（ｂｕｚｚ）が生成され、これは、「カスケーディング（ｃａｓｃａｄｉｎｇ）」と呼ばれる。カスケーディングは、初めの効果をプレイした後に、後続の効果を受信したときに、モータが停止しないことにより生じる。結果的に、モータは、連続的に回転してしまい、ハプティック効果が互いに短い期間内にプレイされるとき、ユーザは、個々のハプティック効果を感じることができなくなってしまう。カスケーディングの問題の既知の解決手段は、素早い立ち上がり時間及び立ち下がり時間を有する比較的高価なＥＲＭを用いること、ブレーキング信号を含む双方向駆動信号をサポートする比較的高価な駆動回路を用いること、又はハプティック効果が速くプレイされることを防ぐ何らかの手段を含む。
【００１４】
実施形態は、アクチュエータの低速な立ち上がり及び立ち下がり時間に適応し、かつカスケーディングを最小化するために、ハプティック効果信号の前処理及び後処理を含む。前処理及び後処理の前に、実施形態は、アクチュエータの立ち上がり時間及び立ち下がり時間を特徴付け、かつそれらの時間のバリエーションを占有するために、アクチュエータを「調整（ｔｕｎｅ）」する。いくつかの実施形態は、カスケーディングを最小化又は排除するために、前処理又は後処理のみを実装してもよい。他の実施形態は、カスケーディングを最小化又は排除するために、前処理及び後処理の両方を実装してもよい。
【００１５】
具体的には、低速アクチュエータは、非線形立ち上がり及び立ち下がり時間を有する。このようなアクチュエータをモデル化することを可能にするために、実施形態は、停止状態から定格加速度の９０％へ立ち上がるためにアクチュエータから得られる総立ち上がり時間を測定する。一実施形態におけるこの立ち上がり時間は、立ち上がり時間の１０％、２０％．．．９０％で１０個の区分に分割され、各ポイントでの対応する加速は、記述される。これらの９個の値＋総立ち上がり時間は、チューニングパラメータに加えられる。通常、任意の数のポイント／区分を選択することができ、より多くのポイントが立ち上がり曲線に沿って取られ、より正確にモデル化できる。デバイス上の各アクチュエータは、一実施形態において９９個のチューニングパラメータの各アクチュエータ独自のセットを有する。これらのパラメータを変化させることにより異なるハプティック効果をもたらす。チューニングパラメータの実施例は、（１）マグニチュードをスケーリングするためのゲイン値、（２）非線形アクチュエータから線形応答を得ることを補助する線形化値、（３）マグスウィープ（ＭａｇＳｗｅｅｐ）効果キック及びブレーキパラメータ、（４）ピリオディック（Ｐｅｒｉｏｄｉｃ）効果パラメータ、（５）更新レート（例えば、５ｍｓ）及び（６）アクチュエータタイプ、ビルドナンバー等のような情報パラメータを含む。
【００１６】
立ち上がり曲線と同様に、１０個の値は、一実施形態における立ち下がり曲線のために取得されるが、任意の数の値を用いることができる。立ち下がり時間は、定格加速度から知覚可能な加速度（一実施形態では、〜０．０４ｇ）以下へ到達するために、アクチュエータに必要とされる時間であるとみなされる。ブレーキングがアクチュエータによってサポートされる場合、負のオーバードライブ電圧又はシャンティング（ｓｈｕｎｔｉｎｇ）のような他のブレーキングメカニズムが適用される。そうない場合、電圧は印加されない。このチューニングモデルを適用することにより、実施形態は、モータがプレイ可能な効果及び所与の時間でのモータの状態の、より正確なピクチャを有する。
【００１７】
図２は、本発明の一実施形態に係るカスケードを最小にする又はカスケードのないハプティック効果を生成するときのシステム１０の機能のフローチャートである。一実施形態では、図２、３及び５のフロチャートの機能は、メモリ又は他のコンピュータ可読媒体又は有形媒体に記憶されるソフトウェア（例えば、ハプティック効果モジュール２２）によって実装され、プロセッサによって実行される。他の実施形態では、機能は、（例えば、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等）用途の使用を通じて）ハードウェアによって行われてもよく、又はハードウェア及ソフトウェアの任意の組み合わせによって行われてもよい。
【００１８】
２０２では、ハプティック効果は、ハプティック効果の包絡線／形状を定義する、パラメータ化された振動定義の形態で受け付けられる。当該定義は、持続期間、周波数、マグニチュード（ｍａｇｎｉｔｕｄｅ）等を含むハプティック効果を定義するパラメータを含む。一実施形態では、当該定義は、Ｉｍｍｅｒｓｉｏｎ  Ｃｏｒｐの「ＴｏｕｃｈＳｅｎｓｅ（登録商標）３０００  Ｈａｐｔｉｃ  Ｄｅｓｉｇｎ  Ｋｉｔ」に基づく。この実施形態では、ハプティック効果は、マグスウィープ（ＭａｇＳｗｅｅｐ）又はピリオディック（Ｐｅｒｉｏｄｉｃ）基本効果から形成される「インパルス（ｉｍｐｕｌｓｅ）」、「サステイン（ｓｕｓｔａｉｎ）」及び「フェード（ｆａｄｅ）」の３つの基本パーツ／領域又は効果マグニチュードを含む包絡線によって形成される定義形状によって定義される。タイムライン（Ｔｉｍｅｌｉｎｅｓ）及び補間（Ｉｎｔｅｒｐｏｌａｔｅｄ）効果のような他の効果タイプは、基本効果を構成する。他の実施形態では、定義は、図２の機能を通じて相対的に維持されるハプティック効果の一般的なものである。
【００１９】
２０４では、ハプティック効果定義は、前処理される。通常、前処理は、所望のハプティック効果を決定すること及び実際の効果を決定することにより、システム１０内のアクチュエータ１８の特性に一致させるために、ハプティック効果を修正し、アクチュエータは、その特性に基づいてプレイされることが可能となる。「新たな」効果は、元の効果と同一又はスケールダウンバージョンのいずれかである。例えば、ハプティック効果定義が短時間に非常に強い場合、アクチュエータは、素早く回転することができない。したがって、前処理は、ハプティック効果がプレイされる前に、マグニチュードの低減のようなアクチュエータを調整するために、ハプティック効果定義を変更する。一実施形態では、前処理は、プレイされる所望の効果に基づき、かつアクチュエータ立ち上がり曲線及び／又は立ち下がり曲線に基づいて「クリッピング（ｃｌｉｐｐｉｎｇ）」することを含む。クリッピングは、基本効果レベルで生じ、アクチュエータが、効果の持続期間の最後に所望のマグニチュードを達成できることを確実にする。したがって、同一の効果が、繰り返しプレイされる場合、効果は、互いにマージされず、カスケーディングを防ぐ。通常、前処理は、カスケーディングが低減される又は低減されないが、互いに対する効果特性をできるだけ維持するような手段で効果を変更する。マグニチュードスケーリングに加えて又は替わりの他の方法を用いることができ、効果持続期間スケーリングを含む。前処理のさらなる詳細は、以下に開示される。
【００２０】
２０６では、前処理されたハプティック効果は、前処理信号を駆動回路へ送信することにより開始／プレイされ、これは、アクチュエータに振動ハプティック効果を生成させる。
【００２１】
ハプティック効果がプレイされている間、後処理インターバルが到達したかどうかを判定する。後処理インターバルは、予め決定されており、典型的には、タイマ／クロックティック（ｃｌｏｃｋ  ｔｉｃｋ）／サイクルごと（例えば、５ｍｓごと）に等しく、駆動回路へ送信されたフォース値（ｆｏｒｃｅ  ｖａｌｕｅ）を有する前に、毎回生じる。
【００２２】
２０８でｎｏの場合、２１２では、ハプティック効果は、その持続期間が終了するまで、プレイを継続し、フローは、２０８へ移る。
【００２３】
２０８でｙｅｓの場合、２１０では、ハプティック効果定義は、後処理される。通常、後処理は、与えられたポイント（つまり、アクチュエータの現在の状態）において、その立ち上がり又は立ち下がり曲線に位置するアクチュエータを推定又は測定し、アクチュエータ駆動回路へ送信されるフォース／電圧値は調整される。フォースの値は、特定の時間において効果定義に基づいて、どの程度速くモータがスピンされることが望まれるかを示す。後処理は、所望の効果フォースと共にアクチュエータの現在の状態を判定し、新たなフォース／マグニチュードを決定する。新たなフォースは、所望のフォースと同様であってもよく、又はアクチュエータにできるだけ早く所望のフォースを実現させるフォースであってもよい。フォース値は、Ｉｍｍｅｒｓｉｏｎ  Ｃｏｒｐの「ＴｏｕｃｈＳｅｎｓｅ（登録商標）  ３０００  Ｈａｐｔｉｃ  Ｄｅｓｉｇｎ  Ｋｉｔ」からのカーネルのような外部エンティティから受信されることができる。後処理は、アクチュエータの現在の状態についての推定又は測定（つまり、既に回転しているものがどの程度速いか）に基づいてフォース値を調整する。後処理のさらなる詳細は、以下に開示される。
【００２４】
２１２では、ハプティック効果は、２１０での後処理の後に、プレイされる。フローは、２０８へ移る。
【００２５】
図３は、３つの効果領域が用いられる場合の本発明の一部の実施形態に係るハプティック効果定義を前処理したときのシステム１０の機能のフローチャートである。通常、この実施形態については、３つの領域（つまり、インパルス、サステイン及びフェード）外で、アクチュエータが実現できる最大マグニチュード（“ｎｅｗＭａｘ”）は、決定される。３つの全ての領域は、その後、“ｎｅｗＭａｘ／ｏｌｄＭａｘ”比を用いてスケールされる。したがって、効果形状は、維持される。図４は、一実施形態に係る図３の機能性を示す例示的な効果を示す。
【００２６】
具体的には、図３に示されるように、３０２では、効果は、インパルス、サステイン及びフェードの３つのマグニチュード区分／領域に分割される。インパルス及びフェード領域は、フラットでありうる、又はランプアップ又はランプダウンでありうる。サステイン領域は、一実施形態において常にフラットである。
【００２７】
変数“ｏｌｄＭａｘ”は、３つの区分のうち最大のマグニチュードと等しい。図４では、元の効果のインパルス区分４０２は、初めの区分であり、４２０で終了する。次の区分は、４３０で終了するサステイン区分である。最後に、フェード区分は、効果を終結させる。
【００２８】
３０４では、インパルス区分がランプダウンされ、アクチュエータの立ち上がり曲線と交わるかどうかを判定する。図４では、インパルス区分は、ランプダウンせず、４１４で立ち上がり曲線４０６と交わる。
【００２９】
３０４でｙｅｓの場合、３０６では、変数“ｎｅｗＭａｘ”は、インパルス交差レベルと等しく、変数“Ｓｕｓａｃｈｉｅｖｅｄ”は、１に等しい。図４では、インパルス交差レベルは、第１のクリッピング４０９である。
【００３０】
３０４でｎｏの（つまり、インパルスがランプダウンされる）場合、３０８では、ｎｅｗＭａｘは、立ち上がり曲線のサステイン交差レベルと等しい。サステイン交差レベルが、サステインレベルよりも大きい場合、変数Ｓｕｓａｃｈｉｅｖｅｄは、１に等しい。３１０では、フェード区分がランプダウンするかどうかを判定する。３１０でｙｅｓの場合、３１２では、Ｓｕｓａｃｈｉｅｖｅｄが１と等しいかどうかを判定する。変数Ｓｕｓａｃｈｉｅｖｅｄ＝１の場合、フローは３１６へ移る。
【００３１】
３１０又は３１２でｎｏの場合、３１４では、フェード区分と立ち上がり曲線との交差レベルは、決定される。立ち上がり曲線がフェード区分に交差しない場合、ｆａｄｅＩｎｔｅｒｓｅｃｔＬｅｖｅｌは、立ち上がり曲線がフェード持続期間において実現されうる最大に設定される。交差レベルがｎｅｗＭａｘよりも大きい場合、ｎｅｗＭａｘは、交差レベルに設定される。図４では、曲線４０７とは交差せず、最大値は、第２のクリッピング４１１であり、これは、第１のクリッピング４０９よりも大きい。
【００３２】
３１６では、ｎｅｗＭａｘ／ｏｌｄＭａｘのスケールファクタは、決定される。元の効果は、マグニチュードレベルにスケールファクタを掛けることにより、スケールファクタに基づいてスケールされた効果にスケールされる。図４では、スケールファクタは、０．７５であり、元の効果４０２は、スケール効果４０３にスケールされる。
【００３３】
上述したように、前処理は、全体効果を、アクチュエータが実現できるものにスケールする一方で、効果形状を維持する（又は元の効果を維持する）。フローは、初期のランプ、サステイン及びフェードマグニチュード外の最大マグニチュード（“ｏｌｄＭａｘ”と示される）を決定する。フローは、その後、アクチュエータ立ち上がり曲線が、効果曲線と交差することに基づいて実際に実現可能な３つのマグニチュードを見つける（つまり、“ＩｍｐＩｎｔｅｒｓｅｃｔＬｅｖｅｌ”、“ＳｕｓＩｎｔｅｒｓｅｃｔＬｅｖｅｌ”及び“ＦａｄｅＩｎｔｅｒｓｅｃｔＬｅｖｅｌ”）。ｎｅｗＭａｘは、これら３つの効果マグニチュードの最大値である。最後に、ｎｅｗＭａｘ／ｏｌｄＭａｘのスケールファクタを決定する。元の効果における３つの全ての効果マグニチュードは、新たなマグニチュードに達するために、このスケールファクタによって乗算される。
【００３４】
他の実施形態では、クリッピング効果マグニチュードに替えて、効果持続期間は、クリップされうる。さらに、効果持続期間及びマグニチュードの両方もクリップされうる。この実施形態については、垂線は、効果から立ち上がり曲線へ引かれ、垂線と立ち上がり曲線との交点でのマグニチュード及び持続期間が用いられる。
【００３５】
別の実施形態では、効果曲線下の領域は決定され、効果のプレイに用いられる。この実施形態は、非常に低速なモータについて、ユーザが、異なる効果形状間の差を知ることができないと仮定する。別の実施形態では、効果の持続期間は、決定されることができ、当該決定は、ゼロから開始する当該持続期間の後、アクチュエータが最終的にどの程度速くなるかについてなされ、効果が最大マグニチュードスクエアパルス（ｍａｘｉｍｕｍ  ｍａｇｎｉｔｕｄｅ  ｓｑｕａｒｅ  ｐｕｌｓｅ）である場合、効果マグニチュード、インパルスレベル（ｉｍｐｕｌｓｅ  ｌｅｖｅｌ）及びフェードレベル（ｆａｄｅ  ｌｅｖｅｌ）は、その値に制限されうる。さらに、実施形態は、「タイムライン（Ｔｉｍｅｌｉｎｅ）」ハプティック効果のための別のクリッピングプロセスを有しうる。ピリオディック（Ｐｅｒｉｏｄｉｃ）、マグスウィープ（Ｍａｇｓｗｅｅｐ）及びウェーブフォーム（Ｗａｖｅｆｏｒｍ）効果は、複雑な効果シーケンスを形成するためにタイムライン（Ｔｉｍｅｌｉｎｅ）と置き換えられうる。
【００３６】
図５は、本発明の一実施形態に係るハプティック効果定義を後処理するときのシステム１０の機能のフローチャートである。通常、図５の後処理機能は、タイマーティック／サイクルごとに実行され、典型的には、５ｍｓである。各時間ごとに、実施形態は、所望のフォースを決定し、アクチュエータへ送信するために、新たなフォース／電圧を算出する（つまり、モータを所望の速度で回転させるために部分的にオーバードライブ又はブレーキングする）。実施形態は、アクチュエータが立ち上がり又は立ち下がり曲線のどこにあるかに関連してどのモータが現在稼働しているかの推定を考慮することにより、どの程度速くモータが回転できるか比較されたハプティック効果に基づいてどの程度速くモータが回転すべきかを決定する。実施形態は、所望の速度にできるだけ近くモータを回転させる電圧を演算し、その後、推定された速度を更新／再演算し、これは、モータが、タイマーティックの所望の速度に到達できない場合、所望の速度と同一にはならない。
【００３７】
５０２では、所望のフォース／出力が、推定出力と等しいかどうかを判定する。５０２でｙｅｓの場合、出力は、５０４で線形化される。出力の線形化は、通常、摩擦等のような実世界のパラメータを出力決定へ追加する。例えば、アクチュエータにおける摩擦は、１５％のフォースが、ハプティック効果に基づいて１％のフォースを生成するために必要であることを意味してもよい。一部の実施形態では、テーブル又は他のマッピングは、線形化のために用いられる。
【００３８】
５０２でｎｏの場合、５０６では、変数“Ｄｉｆｆ”は、（所望の出力）−（推定出力）として決定される。
【００３９】
５０８では、Ｄｉｆｆが０より大きいかどうか判定する。
【００４０】
５０８でｙｅｓの場合、アクチュエータが１タイマーティック（ｔｉｍｅｒ  ｔｉｃｋ）で実現されうる立ち上がり時間を決定する。一実施形態では、アクチュエータの立ち上がり時間スロープに基づくルックアップテーブルは、決定のために用いられる。ルックアップテーブルは、前処理の前に、上述したチューニング機能に基づいて生成される。ルックアップテーブルが生成されると、前処理及び後処理に用いられる。
【００４１】
５１２では、Ｄｉｆｆが、立ち上がりスロープよりも大きいかどうかを判定する。
【００４２】
５１２でｙｅｓの場合、５１４では、Ｄｉｆｆは、立ち上がりスロープと等しく、出力は、アクチュエータの最大出力と等しい。
【００４３】
５１２でｎｏの場合、新たな出力は、２点間の線形補間を用いて決定される。線形補間に関する追加の詳細は、以下に開示される。他の実施形態では、任意のタイプの補間モデルを用いることができる。
【００４４】
５２４では、Ｅｓｔｉｍａｔｅは、Ｄｉｆｆと等しく、Ｎｅｗ  Ｆｏｒｃｅは、出力と等しい。
【００４５】
５２６では、出力は、５０４のように線形化される。
【００４６】
５０８においてＤｉｆｆが０を超えない場合、５１８では、アクチュエータが１タイマーティックで実現されうる立ち下がりスロープは、決定される。一実施形態では、アクチュエータの立ち下がり時間スロープに基づくルックアップテーブルは、決定のために用いられる。
【００４７】
５２０では、Ｄｉｆｆが立ち下がりスロープ未満であるかどうかを判定する。
【００４８】
５２０でｙｅｓの場合、５２２では、Ｄｉｆｆは、立ち下がりスロープと等しく、出力は、ブレーキング能力に基づき０又は負の最大パワーと等しい。フローは、その後、５２４へ移る。
【００４９】
５２０でｎｏの場合、フローは、５１６へ移る。
【００５０】
上述したように、後処理のために、アクチュエータの立ち上がり及び立ち下がり曲線は、調整（ｔｕｎｉｎｇ）処理に対する変更に基づいて１０個の直線区分に分割される。タイマーティック（ｔｉｍｅｒ  ｔｉｃｋ）におけるフォース値の最大値の増加／現象は、これらの線区分のスロープに基づいて決定される。スロープは、アクチュエータが、次のタイマーティックによる所望のフォース値を取得するかどうかを判定するために用いられる。そうでない場合、キック又はブレーキパルスは、印加される。アクチュエータが、次のタイマーティックによる所望のフォースを取得することができる場合、フォースが増加／減少されるべき量は、アクチュエータが、タイマーティックの終了によって所望のフォース値にあるように、決定される。推定フォースは、図５に示されるようにティック毎に更新される。
【００５１】
一実施形態では、後処理は、パラメータ定義が以下のような擬似コードによって実装されることができる。
・  Ｓｍａｘ  −  ｍａｘｉｍｕｍ  ‘ｓｔｒｅｎｇｔｈ’  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ；  ｅ．ｇ．，  ６３
−‘Ｓｔｒｅｎｇｔｈ’  ｍｅａｎｓ  “ｅｆｆｅｃｔ  ｄｅｓｉｇｎｅｒ  ｉｎｔｅｎｔ”
・  Ｖｍａｘ  −  ｍａｘｉｍｕｍ  ｖｏｌｔａｇｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ；  ｅ．ｇ．，  １２７
・  Ｔｔｉｃｋ  −  ｕｐｄａｔｅ  ｐｅｒｉｏｄ；  ｅ．ｇ．，  ５ｍｓ
・  Ｖｒａｔ  −  ｒａｔｅｄ  ｖｏｌｔａｇｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  （＜＝  Ｖｍａｘ）
・  Ｔｒｉｓｅ  −  ｔｉｍｅ  ｔｏ  ｇｏ  ｆｒｏｍ  ０  ｔｏ  Ｓｍａｘ  ｗｈｅｎ  ａｐｐｌｙｉｎｇ  Ｖｍａｘ
・  Ｔｆａｌｌ  −  ｔｉｍｅ  ｔｏ  ｇｏ  ｆｒｏｍ  Ｓｍａｘ  ｔｏ  ０  ｗｈｅｎ  ａｐｐｌｙｉｎｇ  −Ｖｍａｘ
【００５２】
導出されたパラメータは、以下のようになる。
・  Ｍｍａｘ  −  ｍａｘｉｍｕｍ  ｓｔｒｅｎｇｔｈ−ｖｅｒｓｕｓ−ｔｉｍｅ  ｓｌｏｐｅ
−  Ｗｈｅｎ  ａｐｐｌｙｉｎｇ  Ｖｍａｘ
−  Ｔｈｅ  ａｃｔｕａｔｏｒ  ｃａｎ’ｔ  ａｃｃｅｌｅｒａｔｅ  ａｎｙ  ｆａｓｔｅｒ  ｔｈａｎ  ｔｈｉｓ
−  Ｍｍａｘ  ＝  Ｓｍａｘ  ／  Ｔｒｉｓｅ
−  Ｍｍａｘ  ＞  ０
・  Ｍｍｉｎ  −  ｍｉｎｉｍｕｍ  ｓｔｒｅｎｇｔｈ−ｖｅｒｓｕｓ−ｔｉｍｅ  ｓｌｏｐｅ
−  Ｗｈｅｎ  ａｐｐｌｙｉｎｇ  −Ｖｍａｘ
−  Ｔｈｅ  ａｃｔｕａｔｏｒ  ｃａｎ’ｔ  ｓｌｏｗ  ｄｏｗｎ  ａｎｙ  ｆａｓｔｅｒ  ｔｈａｎ  ｔｈｉｓ
−  Ｍｍｉｎ  ＝  −Ｓｍａｘ  ／  Ｔｆａｌｌ
−  Ｍｍｉｎ  ＜  ０
【００５３】
入力は、以下のようになる。
・  Ｓｄｅｓ  −  ｄｅｓｉｒｅｄ  ｓｔｒｅｎｇｔｈ  ａｔ  ｔｉｍｅ  ｔ  ＋  Ｔｔｉｃｋ
−  Ｔｈｉｓ  ｉｓ  ｗｈａｔ  ｔｈｅ  ｅｆｆｅｃｔ  ｄｅｓｉｇｎｅｒ  ｗａｎｔｓ  ｔｏ  ｆｅｅｌ
−  Ｓｄｅｓ  ＞＝  ０
【００５４】
状態変数は、以下のようになる。
・  Ｓｅｓｔ  −  ｅｓｔｉｍａｔｅｄ  ｓｔｒｅｎｇｔｈ  ａｔ  ｔｉｍｅ  ｔ
−  Ｔｈｉｓ  ｉｓ  ｗｈａｔ  ｔｈｅ  ｓｉｍｕｌａｔｉｏｎ  ‘ｔｈｉｎｋｓ’  ｔｈｅ  ｕｓｅｒ  ｉｓ  ｆｅｅｌｉｎｇ
−  Ｓｅｓｔ  ＞＝  ０
【００５５】
所望のスロープは、以下のようになる。
・  Ｍｄｅｓ  −  Ｔｈｉｓ  ｉｓ  ｔｈｅ  ｓｌｏｐｅ  ｎｅｅｄｅｄ  ｔｏ  ｇｏ  ｆｒｏｍ  Ｓｅｓｔ  ｔｏ  Ｓｄｅｓ  ｉｎ  Ｔｔｉｃｋ
−  Ｍｄｅｓ  ＝  （Ｓｄｅｓ−Ｓｅｓｔ）／Ｔｔｉｃｋ
【００５６】
取り得るスロープは、以下のようになる。
・  Ｃｌｉｐ  Ｍｄｅｓ  ｔｏ  ｗｈａｔ  ｔｈｅ  ａｃｔｕａｔｏｒ  ｃａｎ  ａｃｈｉｅｖｅ
−  Ｍｏｕｔ  ＝  ＭＡＸ（ＭＩＮ（Ｍｄｅｓ，Ｍｍａｘ），Ｍｍｉｎ）
【００５７】
出力電圧は、以下のようになる。
・  Ｉｆ  Ｍｏｕｔ  ＝  ０，
−  Ｖｏｕｔ１  ＝  Ｖｒａｔ  ＊  Ｓｅｓｔ  ／  Ｓｍａｘ
−  Ｉｎ  ｏｒｄｅｒ  ｔｏ  ｍａｉｎｔａｉｎ  Ｓｅｓｔ
・  Ｉｆ  Ｍｏｕｔ  ＝  Ｍｍａｘ，
−  Ｖｏｕｔ２  ＝  Ｖｍａｘ
・  Ｉｆ  Ｍｏｕｔ  ＝  Ｍｍｉｎ，
−  Ｖｏｕｔ２  ＝  −Ｖｍａｘ
・  Ｉｎｔｅｒｐｏｌａｔｅ  ｌｉｎｅａｒｌｙ
−  Ｖｏｕｔ  ＝  Ｖｏｕｔ１  ＋  （Ｖｏｕｔ２  −  Ｖｏｕｔ１）  ＊  Ｍｏｕｔ  ／（Ｍｏｕｔ  ＞＝  ０  ？  Ｍｍａｘ  ：  Ｍｍｉｎ）
【００５８】
最後に、更新された状態は、以下のようになる。
・Ｅｓｔｉｍａｔｅ  ｓｔａｔｅ  ａｔ  ｔｉｍｅ  ｔ  ＋  Ｔｔｉｃｋ
−Ｓｅｓｔ’  ＝  Ｓｅｓｔ  ＋  Ｍｏｕｔ  ＊  Ｔｔｉｃｋ
【００５９】
開示されているように、実施形態は、ハプティック効果定義を前処理及び／又は後処理することによりハプティック効果を生成する。前処理は、所望の効果と共にアクチュエータ特性をルックアップし、実際の効果を、アクチュエータがプレイ可能かどうか判定する。前処理された効果は、元の効果と同一又はスケールダウンされたもののいずれかである。前処理は、ハプティック効果がプレイされる前に、ハプティック効果を実現可能なものに変更する。
【００６０】
後処理は、新たなフォースを取り出すために、アクチュエータの現在の状態と共に、所望のフォースをルックアップする。この新たなフォースは、所望のフォースと同一であってもよく、又はアクチュエータが、できるだけ早く所望のフォースを得るフォースであってもよい。一実施形態において共に実装される、又は他の実施形態において個別に実装される（つまり、一実施形態は、前処理のみを実装し、他の実施形態は、後処理のみを実装する）前処理及び後処理の結果として、連続するキーパッドの押下のような一連の素早いハプティック効果からのカスケーディングは、最小化又は除去される。
【００６１】
本明細書では、複数の実施形態を具体的に例示および／または説明している。しかし、開示されている実施形態の修正および変更も、上述の教示の対象範囲に含まれ、本発明の精神および範囲から逸脱せずに添付の請求項の範囲内に含まれるものとする。
【図１】
2018026157.tif 000003
【図２】
2018026157.tif 000004
【図３】
2018026157.tif 000005
【図４】
2018026157.tif 000006
【図５】
2018026157.tif 000007
【手続補正書】
【提出日】平成29年10月11日(2017.10.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサによって実行されたときに、前記プロセッサにアクチュエータを用いてハプティック効果を生成させる命令を有する非一時的なコンピュータ可読媒体であって、前記ハプティック効果を生成することは、
ハプティック効果定義を前記アクチュエータに送信し、前記ハプティック効果定義に対応するハプティック効果をプレイさせるステップと、
前記ハプティック効果をプレイしている間、前記ハプティック効果定義を処理するステップと、を備え、
前記処理するステップは、前記アクチュエータの現在の状態の推定又は測定に基づいて前記ハプティック効果定義のフォース値を調整することを含む、
コンピュータ可読媒体。
【請求項２】
前記アクチュエータの状態の推定は、前記アクチュエータが立ち上がり時間曲線又は立ち下がり時間曲線のどこに位置するかを推定することに基づく、請求項１に記載のコンピュータ可読媒体。
【請求項３】
前記ハプティック効果をプレイすることは、複数のタイマサイクルを含み、前記処理するステップは、タイマサイクルごとに生じる、請求項１に記載のコンピュータ可読媒体。
【請求項４】
前記ハプティック効果定義を処理するステップは、前記アクチュエータの所望の出力が前記アクチュエータの推定出力と等しいかを判定することを含む、請求項１に記載のコンピュータ可読媒体。
【請求項５】
前記アクチュエータの所望の出力が前記アクチュエータの推定出力と等しい場合には、前記アクチュエータの出力を線形化するステップを更に備える、請求項４に記載のコンピュータ可読媒体。
【請求項６】
前記アクチュエータの所望の出力が前記アクチュエータの推定出力と等しくない場合には、前記アクチュエータの新たな出力は、前記アクチュエータの所望の出力と前記アクチュエータの推定出力との差に基づいて決定される、請求項４に記載のコンピュータ可読媒体。
【請求項７】
前記ハプティック効果を生成することは、前記送信するステップの前に、前記アクチュエータが前記ハプティック効果のプレイを可能であるか判定することによって前記ハプティック効果定義を前処理するステップを更に備え、
前記判定することは、前記アクチュエータの立ち上がり時間及び前記アクチュエータの立ち下がり時間を特徴づけることを含む、請求項１に記載のコンピュータ可読媒体。
【請求項８】
アクチュエータを用いてハプティック効果を生成する方法であって、
ハプティック効果定義を前記アクチュエータに送信し、前記ハプティック効果定義に対応するハプティック効果をプレイさせるステップと、
前記ハプティック効果をプレイしている間、前記ハプティック効果定義を処理するステップと、を備え、
前記処理するステップは、前記アクチュエータの現在の状態の推定又は測定に基づいて前記ハプティック効果定義のフォース値を調整することを含む、
方法。
【請求項９】
前記アクチュエータの状態の推定は、前記アクチュエータが立ち上がり時間曲線又は立ち下がり時間曲線のどこに位置するかを推定することに基づく、請求項８に記載の方法。
【請求項１０】
前記ハプティック効果をプレイすることは、複数のタイマサイクルを含み、前記処理するステップは、タイマサイクルごとに生じる、請求項８に記載の方法。
【請求項１１】
前記ハプティック効果定義を処理するステップは、前記アクチュエータの所望の出力が前記アクチュエータの推定出力と等しいかを判定することを含む、請求項８に記載の方法。
【請求項１２】
前記アクチュエータの所望の出力が前記アクチュエータの推定出力と等しい場合には、前記アクチュエータの出力を線形化するステップを更に備える、請求項１１に記載の方法。
【請求項１３】
前記アクチュエータの所望の出力が前記アクチュエータの推定出力と等しくない場合には、前記アクチュエータの新たな出力は、前記アクチュエータの所望の出力と前記アクチュエータの推定出力との差に基づいて決定される、請求項１１に記載の方法。
【請求項１４】
前記ハプティック効果を生成することは、前記送信するステップの前に、前記アクチュエータが前記ハプティック効果のプレイを可能であるか判定することによって前記ハプティック効果定義を前処理するステップを更に備え、
前記判定することは、前記アクチュエータの立ち上がり時間及び前記アクチュエータの立ち下がり時間を特徴づけることを含む、請求項８に記載の方法。
【請求項１５】
ハプティカリィイネーブルドシステムであって、
アクチュエータと、
前記アクチュエータと接続される駆動回路と、
前記駆動回路と接続されるコントローラと、を備え、
前記コントローラは、ハプティック効果を定義するハプティック効果定義を受け付け、前記ハプティック効果定義を前記アクチュエータに送信し、前記ハプティック効果定義に対応するハプティック効果を前記アクチュエータによってプレイさせ、
前記コントローラは、前記ハプティック効果をプレイしている間、前記ハプティック効果定義を処理し、
前記処理することは、前記アクチュエータの現在の状態の推定又は測定に基づいて前記ハプティック効果定義のフォース値を調整することを含む、
システム。
【請求項１６】
前記アクチュエータの状態の推定は、前記アクチュエータが立ち上がり時間曲線又は立ち下がり時間曲線のどこに位置するかを推定することに基づく、請求項１５に記載のシステム。
【請求項１７】
前記ハプティック効果をプレイすることは、複数のタイマサイクルを含み、前記処理することは、タイマサイクルごとに生じる、請求項１５に記載のシステム。
【請求項１８】
前記ハプティック効果定義を処理することは、前記アクチュエータの所望の出力が前記アクチュエータの推定出力と等しいかを判定することを含む、請求項１５に記載のシステム。
【請求項１９】
前記処理することは、前記アクチュエータの所望の出力が前記アクチュエータの推定出力と等しい場合には、前記アクチュエータの出力を線形化することを更に備える、請求項１８に記載のシステム。
【請求項２０】
前記アクチュエータの所望の出力が前記アクチュエータの推定出力と等しくない場合には、前記アクチュエータの新たな出力は、前記アクチュエータの所望の出力と前記アクチュエータの推定出力との差に基づいて決定される、請求項１８に記載のシステム。
【請求項２１】
前記コントローラは、前記送信するステップの前に、前記アクチュエータが前記ハプティック効果のプレイを可能であるか判定することによって前記ハプティック効果定義を前処理し、
前記判定することは、前記アクチュエータの立ち上がり時間及び前記アクチュエータの立ち下がり時間を特徴づけることを含む、請求項１５に記載のシステム。
【外国語明細書】
2018026157000001.pdf