(57)【要約】      （修正有）【課題】ネットワークを介してハプティックアクチュエータを制御する。【解決手段】ハプティックサーバ１１０は、ハプティックアクチュエータ１５０の選択を受信し、ハプティック効果ドライバソフトウェアパッケージまたはライブラリを受信し、ハプティック効果の選択を受信し、ハプティックアクチュエータドライブ値を含むハプティックコマンドメッセージを作成し、ネットワークを介してハプティックコマンドメッセージをハプティックハードウェアサポートプラットフォーム１２０に送信する。ハプティックハードウェアサポートプラットフォームは、ネットワークを介してハプティックコマンドメッセージを受信し、ハプティックアクチュエータドライブ値を抽出するためにハプティックコマンドメッセージを解析し、および選択されたハプティック効果を再生するためにハプティックアクチュエータにハプティックアクチュエータドライブ信号を適用する。【選択図】図１
2018005917.tif 000002
【特許請求の範囲】
【請求項１】
ハプティックシステムであって、
ネットワークに結合され、メモリとプロセッサとを含む、ハプティックサーバであって、前記プロセッサは、
ハプティックアクチュエータの選択を受信し、
ハプティック効果ドライバソフトウェアパッケージまたはライブラリの選択を受信し、
前記選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリからハプティック効果の選択を受信し、
前記選択されたハプティックアクチュエータ、前記選択されたハプティック効果、および前記選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリに基づいて、ハプティックコマンドメッセージを作成し、前記ハプティックコマンドメッセージはハプティックアクチュエータドライブ値を含み、および
前記ネットワークを介して前記ハプティックコマンドメッセージを送信するように構成される、
ハプティックサーバと、
前記ネットワークに結合されかつ前記選択されたハプティックアクチュエータに接続され、メモリとプロセッサとを含む、ハプティックハードウェアサポートプラットフォームであって、前記プロセッサは、
前記ネットワークを介して、前記ハプティックコマンドメッセージを受信し、
前記ハプティックアクチュエータドライブ値を抽出するために、前記ハプティックコマンドメッセージを解析し、および
前記選択されたハプティック効果を再生するために、ハプティックアクチュエータドライブ信号を前記ハプティックアクチュエータに適用するように構成され、前記ハプティックアクチュエータドライブ信号は前記ハプティックアクチュエータドライブ値に基づく、
ハプティックハードウェアサポートプラットフォームと、を含む、
ハプティックシステム。
【請求項２】
前記ハプティックアクチュエータ、ハプティック効果ドライバソフトウェアパッケージまたはライブラリ、およびハプティック効果の前記選択は、前記ネットワークに結合されたハプティッククライアントから受信される、請求項１に記載のシステム。
【請求項３】
前記ハプティックサーバプロセッサが、
前記選択されたハプティック効果への変更を前記ハプティッククライアントから受信するようにさらに構成された、
請求項２に記載のシステム。
【請求項４】
前記ハプティックサーバプロセッサが、
前記ハプティックハードウェアサポートプラットフォームからハプティックプラットフォーム能力メッセージを受信し、前記ハプティックプラットフォーム能力メッセージは、前記ハプティックハードウェアサポートプラットフォームのための認証情報を含み、
前記認証情報に基づいて、前記ハプティックハードウェアサポートプラットフォームを認証し、および
前記ハプティックハードウェアサポートプラットフォームを前記ハプティッククライアントのユーザと関連付けるようにさらに構成された、
請求項２に記載のシステム。
【請求項５】
前記ハプティックサーバプロセッサが、
前記ハプティックハードウェアサポートプラットフォームに接続された各ハプティックアクチュエータのための複数のハプティックアクチュエータ特性を受信するようにさらに構成された、
請求項１に記載のシステム。
【請求項６】
前記複数のハプティックアクチュエータ特性が、前記ハプティックハードウェアサポートプラットフォームから、ハプティックプラットフォーム能力メッセージにおいて受信される、請求項５に記載のシステム。
【請求項７】
前記複数のハプティックアクチュエータ特性が、アクチュエータ型式とアクチュエータ更新レートを含む、請求項６に記載のシステム。
【請求項８】
前記複数のハプティックアクチュエータ特性が、前記ハプティッククライアントから受信される、請求項５に記載のシステム。
【請求項９】
前記複数のハプティックアクチュエータ特性が、立ち上がり時間、立ち下り時間、および定格電圧を含む、請求項８に記載のシステム。
【請求項１０】
前記ハプティックサーバプロセッサが、
新しいハプティック効果ドライバソフトウェアパッケージまたはライブラリの選択を受信し、
前記選択されたハプティックアクチュエータ、前記選択されたハプティック効果、および前記新しいハプティック効果ドライバソフトウェアパッケージまたはライブラリに基づいて、新しいハプティックコマンドメッセージを作成し、前記新しいハプティックコマンドメッセージは新しいハプティックアクチュエータドライブ値を含み、および
前記ネットワークを介して、前記新しいハプティックコマンドメッセージを前記ハプティックハードウェアサポートプラットフォームに送信するように、さらに構成され、並びに
前記ハプティックハードウェアサポートプラットフォームプロセッサが、
前記ネットワークを介して、前記新しいハプティックコマンドメッセージを受信し、
前記新しいハプティックアクチュエータドライブ値を抽出するために、前記新しいハプティックコマンドメッセージを解析し、および
前記選択されたハプティック効果を再生するために、新しいハプティックアクチュエータドライブ信号を前記ハプティックアクチュエータに適用し、前記新しいハプティックアクチュエータドライブ信号は前記新しいハプティックアクチュエータドライブ値に基づくようにさらに構成された、
請求項１に記載のシステム。
【請求項１１】
ネットワークを介して、ハプティックアクチュエータを制御するためのコンピュータベースの方法であって、前記方法が、
ネットワークに結合されたハプティックサーバにおいて、
ハプティックアクチュエータの選択を受信するステップと、
ハプティック効果ドライバソフトウェアパッケージまたはライブラリの選択を受信するステップと、
前記選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリからハプティック効果の選択を受信するステップと、
前記選択されたハプティックアクチュエータ、前記選択されたハプティック効果、および前記選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリに基づいて、ハプティックコマンドメッセージを作成するステップであって、前記ハプティックコマンドメッセージはハプティックアクチュエータドライブ値を含む、作成するステップ、および
前記ネットワークを介して前記ハプティックコマンドメッセージを送信するステップと、を含み、並びに
前記ネットワークに結合されかつ前記選択されたハプティックアクチュエータに接続されたハプティックハードウェアサポートプラットフォームにおいて、
前記ネットワークを介して、前記ハプティックコマンドメッセージを受信するステップと、
前記ハプティックアクチュエータドライブ値を抽出するために、前記ハプティックコマンドメッセージを解析するステップと、
前記選択されたハプティック効果を再生するために、ハプティックアクチュエータドライブ信号を前記ハプティックアクチュエータに適用するステップであって、前記ハプティックアクチュエータドライブ信号は前記ハプティックアクチュエータドライブ値に基づく、適用するステップと、を含む、
コンピュータベースの方法。
【請求項１２】
前記ハプティックアクチュエータ、ハプティック効果ドライバソフトウェアパッケージまたはライブラリ、およびハプティック効果の前記選択は、前記ネットワークに結合されたハプティッククライアントから受信される、請求項１１に記載のコンピュータベースの方法。
【請求項１３】
前記ハプティックサーバにおいて、
前記選択されたハプティック効果への変更を前記ハプティッククライアントから受信するステップをさらに含む、
請求項１２に記載のコンピュータベースの方法。
【請求項１４】
前記ハプティックサーバにおいて、
前記ハプティックハードウェアサポートプラットフォームからハプティックプラットフォーム能力メッセージを受信するステップであって、前記ハプティックプラットフォーム能力メッセージは、前記ハプティックハードウェアサポートプラットフォームのための認証情報を含む、受信するステップと、
前記認証情報に基づいて、前記ハプティックハードウェアサポートプラットフォームを認証するステップと、および
前記ハプティックハードウェアサポートプラットフォームを前記ハプティッククライアントのユーザと関連付けるステップと、をさらに含む、
請求項１２に記載のコンピュータベースの方法。
【請求項１５】
前記ハプティックサーバにおいて、
前記ハプティックハードウェアサポートプラットフォームに接続された各ハプティックアクチュエータのための複数のハプティックアクチュエータ特性を受信するステップをさらに含む、
請求項１１に記載のコンピュータベースの方法。
【請求項１６】
前記複数のハプティックアクチュエータ特性が、前記ハプティックハードウェアサポートプラットフォームから、ハプティックプラットフォーム能力メッセージにおいて受信される、請求項１５に記載のコンピュータベースの方法。
【請求項１７】
前記複数のハプティックアクチュエータ特性が、アクチュエータ型式とアクチュエータ更新レートを含む、請求項１６に記載のコンピュータベースの方法。
【請求項１８】
前記複数のハプティックアクチュエータ特性が、前記ハプティッククライアントから受信される、請求項１５に記載のコンピュータベースの方法。
【請求項１９】
前記複数のハプティックアクチュエータ特性が、立ち上がり時間、立ち下り時間、および定格電圧を含む、請求項１８に記載のコンピュータベースの方法。
【請求項２０】
前記ハプティックサーバにおいて、
新しいハプティック効果ドライバソフトウェアパッケージまたはライブラリの選択を受信するステップと、
前記選択されたハプティックアクチュエータ、前記選択されたハプティック効果、および前記新しいハプティック効果ドライバソフトウェアパッケージまたはライブラリに基づいて、新しいハプティックコマンドメッセージを作成するステップであって、前記新しいハプティックコマンドメッセージは新しいハプティックアクチュエータドライブ値を含む、作成するステップと、
前記ネットワークを介して、前記新しいハプティックコマンドメッセージを前記ハプティックハードウェアサポートプラットフォームに送信するステップと、並びに
前記ハプティックハードウェアサポートプラットフォームにおいて、
前記ネットワークを介して、前記新しいハプティックコマンドメッセージを受信するステップと、
前記新しいハプティックアクチュエータドライブ値を抽出するために、前記新しいハプティックコマンドメッセージを解析するステップと、および
前記選択されたハプティック効果を再生するために、新しいハプティックアクチュエータドライブ信号を前記ハプティックアクチュエータに適用するステップであって、前記新しいハプティックアクチュエータドライブ信号は前記新しいハプティックアクチュエータドライブ値に基づく、適用するステップと、をさらに含む、
請求項１１に記載のコンピュータベースの方法。
【発明の詳細な説明】
【技術分野】
【０００１】
一実施形態は、一般的にハプティック効果に関し、特に、ハプティック効果を生成する電子デバイスに関する。
【背景技術】
【０００２】
モバイルデバイス、パーソナルコンピュータ、家庭用ゲーム機、携帯ゲーム機、マイクロコンソール等のような電子機器は、一般的に、ユーザにフィードバックを提供するために視覚的および聴覚的合図を使用する。いくつかの電子デバイスにおいて、運動感覚フィードバック（例えば、アクティブおよび抵抗力フィードバック）及び／又は触覚フィードバック（例えば、振動、テクスチャ、温度変化など）をユーザに提供することができる。一般に、そのようなフィードバックは、「ハプティックフィードバック」または「ハプティック効果」と総称される。ハプティック効果は、シンプルなアラートを特定のイベントに拡張することから、シミュレートされたまたは仮想の環境内でユーザに対し感覚をより深く浸透させることへ、電子デバイスとのユーザの対話を強化するきっかけを提供する。
【０００３】
一般に、電子デバイスのオペレーティングシステム（ＯＳ）またはリアルタイムオペレーティングシステム（ＲＴＯＳ）によって実行されるアプリケーションは、ハプティック効果を生成するために１つまたは複数のハプティックアクチュエータにコマンドを送信する。例えば、アプリケーションの実行中に発生する特定のイベントに応答して、またはユーザが電子デバイスまたは例えばビデオゲームコントローラなどといった電子デバイスに接続された別個の入力デバイスの、ボタン、タッチスクリーンなどと対話するとき、アプリケーションはユーザによって知覚されるハプティック効果を生成するためにハプティックアクチュエータにコマンドを送信する。アプリケーションは、通常は、ハプティック効果ドライバソフトウェアまたはハプティック効果ライブラリへの関数呼び出しを使用してハプティックコマンドを生成する。残念なことに、ソフトウェア開発中、アプリケーションはユーザに提供されるハプティック効果を選択、開発、および改良するために、繰り返しコンパイルされ電子デバイスにダウンロードされなければならない。さらに、特定のハプティックアクチュエータに対する異なるハプティックソフトウェアドライバまたはハプティック効果ライブラリによって生成される効果のデモンストレーションが同様に強制される。既知のハプティックフィードバック評価キットは、同様の、あるいは異なる欠陥に悩まされる。
【発明の概要】
【０００４】
本発明の実施形態は、ネットワークを介してハプティックアクチュエータを制御するためのシステムおよびコンピュータベースの方法を提供する。
【０００５】
一実施形態において、ネットワークを介したハプティックアクチュエータを制御する方法は、ネットワークに結合されたハプティックサーバにおいて、ネットワークに結合されたハプティックハードウェアサポートプラットフォームに接続されたハプティックアクチュエータの選択を受信するステップと、ハプティック効果ドライバソフトウェアパッケージまたはライブラリの選択を受信するステップと、選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリからハプティック効果の選択を受信するステップと、選択されたハプティックアクチュエータ、選択されたハプティック効果、および選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリに基づき、ハプティックコマンドメッセージを作成するステップであって、ハプティックコマンドメッセージはハプティックアクチュエータドライブ値を含む、作成するステップと、ネットワークを介してハプティックコマンドメッセージをハプティックハードウェアサポートプラットフォームに送信するステップと、を含む。
【０００６】
この実施形態において、該方法は、ハプティックハードウェアサポートプラットフォームにおいて、ネットワークを介してハプティックコマンドメッセージを受信するステップと、ハプティックアクチュエータドライブ値を抽出するために、ハプティックコマンドメッセージを解析するステップと、選択されたハプティック効果を再生するために、ハプティックアクチュエータドライブ信号をハプティックアクチュエータに適用するステップであって、ハプティックアクチュエータドライブ信号は、ハプティックアクチュエータドライブ値に基づく、適用するステップも含む。
【０００７】
前述の一般的な説明および以下の詳細な説明は、例示的および説明的なものであり、記載された実施例に本発明を限定する意図が無いことを理解されたい。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に従った、クラウド接続ハプティックシステムのシステムブロック図である。
【図２】本発明の実施形態に従った、ハプティックハードウェアサポートプラットフォームのシステムブロック図である。
【図３】本発明の実施形態に従った、ハプティック通信プロトコルを表す図である。
【図４】本発明の実施形態に従った、ハプティック効果設計アプリケーションのためのグラフィカルユーザインタフェースを表す図である。
【図５】本発明の実施形態に従った、ハプティック効果設計アプリケーションのためのグラフィカルユーザインタフェースを表す図である。
【図６Ａ】本発明の実施形態に従った、ネットワークを介してハプティックアクチュエータを制御するための機能を図示するフローチャート図である。
【図６Ｂ】本発明の実施形態に従った、ネットワークを介してハプティックアクチュエータを制御するための機能を図示するフローチャート図である。
【発明を実施するための形態】
【０００９】
本発明の実施形態を図面を参照して説明するが、図面の同種の参照符号は同種の部分を示す。
【００１０】
本発明の実施形態は、電子デバイス用の、特にラピッドプロトタイピングおよびアプリケーション開発環境におけるハプティック効果の「プラグアンドプレイ」開発を有利に可能にするクラウド接続ハプティックシステムを提供する。異なるハプティックアクチュエータをシステムに迅速かつ容易に接続できるだけでなく、アプリケーションを繰り返しコンパイルして電子デバイスにダウンロードする必要なしに、異なるハプティック効果ドライバソフトウェア及び／又は異なるハプティック効果ライブラリが評価されることもできる。
【００１１】
図１は、本発明の一実施形態に従った、クラウド接続ハプティックデモンストレーションシステム１００のシステムブロック図である。
【００１２】
ハプティックデモンストレーションシステム１００は、１つまたは複数のローカルエリアネットワーク、ワイドエリアネットワーク、インターネットなどを含み得るネットワーク１４０に接続されたハプティックサーバ（コンピュータ）１１０、ハプティックハードウェアサポートプラットフォーム１２０、およびハプティッククライアント（コンピュータ）１３０を含む。さらに、ネットワーク１４０は、例えば有線および無線イーサネット（登録商標）、Bluetooth（登録商標）などの様々なネットワークプロトコルを実行する、例えば銅線または同軸ケーブルネットワーク、光ファイバーネットワーク、Bluetooth無線ネットワーク、Wi-Fi無線ネットワーク、CDMA、FDMA、およびTDMAセルラ無線ネットワークなどの有線および／または無線ネットワークの様々な組合せを含むことができる。
【００１３】
ハプティックハードウェアサポートプラットフォーム１２０は、マイクロコントローラユニット（MCU）、通信インタフェース、および単線、より線または編組線、ツイストペア線、リボンケーブルなどを使用してハプティックアクチュエータ１５０に結合されたハプティックドライバ回路を含む。一実施形態において、単一のハプティックドライバ回路がマルチプレクサ、スイッチなどを用いて複数のハプティックアクチュエータ１５０に接続され、別の実施形態において、いくつかのハプティックドライバ回路が提供され、各ハプティックドライバ回路は単一のハプティックアクチュエータ１５０に結合される。一般に、各ハプティックドライバ回路は、例えば電子モータ、電磁アクチュエータ、ボイスコイル、ソレノイド、偏心回転質量（ERM）振動モータ、高調波ERMモータ（HERM）、線形共振アクチュエータ（LRA）、圧電アクチュエータ、電気活性ポリマ（EAP）アクチュエータ、形状記憶合金、静電摩擦ディスプレイ、超音波振動発生器、高帯域幅アクチュエータなどの、ハプティックアクチュエータ１５０の特定の型式をサポートする。特定の実施形態において、単一のハプティックドライバ回路は、異なる種類のハプティックアクチュエータ１５０をサポートしてもよい。
【００１４】
ハプティックサーバ１１０は、ハプティックアクチュエータ１５０を使用してハプティック効果セッションを構成および制御するために、ハプティッククライアント１３０上で実行するアプリケーションと通信するハプティック効果設計アプリケーションと、ハプティックハードウェアサポートプラットフォーム１２０上で実行するファームウェアとを実行する、特にプログラムされた汎用コンピュータである。一実施形態において、ハプティック効果設計アプリケーションは、ハプティッククライアント１３０上で実行するウェブブラウザアプリケーションと通信するウェブサーバアプリケーションである。他のクライアントサーバおよび分散型ソフトウェアアーキテクチャも本発明によって検討される。
【００１５】
ウェブベースの実施形態において、ハプティック効果設計アプリケーションは、ハプティッククライアント１３０上で実行するブラウザアプリケーションを介してユーザに提示されるグラフィカルユーザインタフェースを生成し、特定のハプティック効果ドライバソフトウェアパッケージまたはライブラリから１つ又は複数のハプティック効果を選択及び／又はカスタマイズすることによって、ユーザが特定のハプティックアクチュエータ１５０用の１つ又は複数のハプティック信号を設計することを可能にする。異なるハプティック効果ドライバソフトウェアパッケージおよびライブラリが提供されてもよく、これは有利にはユーザが異なる制御レジーム（regime）の下で特定のハプティックアクチュエータ１５０の性能を評価および比較することを可能にする。例えば、異なるハプティック効果ドライバソフトウェアパッケージまたはライブラリは、例えば、低忠実度(fidelity)ハプティック効果、中忠実度ハプティック効果、高忠実度ハプティック効果などの異なる制御忠実度を有するハプティックコマンドを作成してもよい。
【００１６】
ハプティッククライアント１３０上で実行されるブラウザアプリケーションから受信されたユーザ入力に応答して、および特定のハプティックアクチュエータ１５０の特性に基づいて、ハプティック効果デザインアプリケーションは、選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリを用いて、ハプティックコマンドメッセージを生成し、これはハプティック通信プロトコルを使用してネットワーク１４０を介してサーバコンピュータ１１０からハプティックハードウェアサポートプラットフォーム１２０に送信される。ハプティックハードウェアサポートプラットフォーム１２０のマイクロコントローラユニット上で実行するファームウェアは、ハプティックコマンドメッセージを解析しかつ復号化し、次いで特定のハプティックアクチュエータ１５０に結合されたハプティックドライバ回路に対し制御信号を生成して提供する。ハプティックドライバ回路は、マイクロコントローラユニットから受信した制御信号に応答して、特定のハプティックアクチュエータ１５０のためのドライブ信号を生成する。
【００１７】
一般的に、単一のハプティックアクチュエータ１５０は、ハプティックセッション中に単一のハプティックドライバ回路によって駆動される。いくつかの実施形態において、ハプティックコマンドメッセージは、いくつかのハプティックアクチュエータ１５０のためのドライブ値を含んでもよく、一方、他の実施形態において、それぞれが単一のハプティックアクチュエータ１５０のためのドライブ値を提供する、いくつかのハプティックコマンドメッセージが受信されてもよい。これらの実施形態において、いくつかのハプティックアクチュエータ１５０は、ハプティックセッション中に、対応するハプティックドライバ回路に提供されるドライブ信号を用いて、同時に駆動されてもよい。
【００１８】
図２は、本発明の一実施形態に従った、ハプティックハードウェアサポートプラットフォーム２００のシステムブロック図である。
【００１９】
ハプティックハードウェアサポートプラットフォーム２２０は、図１に示されるハプティックハードウェアサポートプラットフォーム１２０に対応し、ハプティックドライバ回路２３０に結合されたMCU２１０と、外部電力入力コネクタ２６２に結合された電源２６０と、Bluetoothネットワーク２４２、Wi-Fiネットワーク２４４、セルラネットワーク２４６などの１つまたは複数のローカル無線ネットワークとの通信をサポートする無線通信インタフェース２４０と、MCU２１０に結合されたバス２５０または情報を通信するための別の通信メカニズムと、無線通信インタフェース２４０と、電源２６０と、を含む。図２に示されるローカル無線ネットワークは、ネットワーク１４０の一部を形成すると考えられる。ハプティックハードウェアサポートプラットフォーム２２０の電力は、電源２６０に結合された再充電可能または交換可能なバッテリ２６４、外部電力入力コネクタ２６２に設けられた外部電力、イーサネットコネクタ２１７、ユニバーサル・シリアル・バス（USB）コネクタ２１８などによって提供されてもよい。
【００２０】
一実施形態において、MCU２１０はRenesas Synergy S5マイクロコントローラである。一般的に、MCU２１０は、中央処理装置（CPU）２１２、情報およびCPU２１２によって実行される命令を記憶するためのメモリ２１４、および例えばイーサネット、USBおよびシリアル通信インタフェース２１６、入出力（I/O）回路２２０、システムおよび電力管理回路２２２、オプションのLCDディスプレイ、タッチスクリーンなどを制御するためのマンマシンインタフェース回路（HMI）２２４などのような様々な周辺機器を実装する他の回路を含む。メモリ２１４は、例えばコードフラッシュメモリ、データフラッシュメモリ、静的ランダムアクセスメモリ（SRAM）、フラッシュキャッシュメモリ等の揮発性および不揮発性メモリの両方を含む。特定の実施形態において、メモリ２１４は、リアルタイムオペレーティングシステム（RTOS）およびRAMにロードされCPU２１２によって実行されるときに機能性を提供する別のファームウェアを不揮発性メモリに格納する。I/O回路２２０は、ハプティックドライバ回路２３０に結合されかつ汎用I/Oポート、アナログ−デジタル（A/D）コンバータ、デジタル−アナログ（D/A）コンバータ、パルス振幅変調（PWM）タイマ等を含む。
【００２１】
特定の実施形態において、ハプティックハードウェアサポートプラットフォーム２２０は、ERM振動モータ、LRA、圧電アクチュエータ、および電気活性ポリマ（EAP）アクチュエータをサポートする。別の実施形態は、これら及び／又は他の型式のアクチュエータ、またはそれらの組合せをサポートする。一般的に、ハプティックドライバ回路２３０は、MCU２１０から制御信号を受信し、ハプティックアクチュエータ１５０を駆動するために必要な電圧および電流を供給する。
【００２２】
ERM振動モータは、例えば、ゲームランブル効果のような、ゆっくりとした、手の込んだユーザインタフェースアプリケーションのために使用されてもよく、および大衆市場のデバイスのための最も費用効果の高いハプティックアクチュエータの一つを提供する。軸と回転偏心質量を使用するERM振動モータは、直径が３ｍｍ〜８ｍｍ（またはそれ以上）、長さが１０ｍｍ〜２０ｍｍ（またはそれ以上）、および回転質量振り回し直径が４〜７ｍｍ（またはそれ以上）を含む、典型的な寸法を有する長方形または円筒形である。シャフトレス設計を使用したERM振動モータは、直径が８〜１２ｍｍ（またはそれ以上）、長さが３ｍｍ〜４ｍｍ（またはそれ以上）を含む、典型的な寸法を有するコイン型である。ERM振動モータは、１．３V〜５Vの動作電圧、７５ｍA〜２４０ｍAの動作電流を有し、５０Hz〜３５０Hzの周波数で振動し、比較的高い機械的時定数（例えば、約５０ｍｓ）を有する。
【００２３】
ERM振動モータのためのハプティックドライバ回路２３０は、とりわけ電力増幅器を含み、および電力増幅器がERM振動モータのリード線にわたって印加する電圧値を指定する、MCU２１０からパルス振幅変調（PWM）または相互集積チップ（I2C）制御信号を受信する。制御信号は双方向であり、正および負の電圧を印加されることができる。制御信号は、５ｍｓ間隔でMCU２１０によって更新されてもよく、各間隔で新しい電圧値が指令されることができる。
【００２４】
LRAは、ハプティックに適しており、多くのスマートフォンで使用されている。LRAは、共振周波数で減衰質量／ばねシステム（damped mass/spring system）を直線的に移動するためにAC入力信号を必要とする。LRAは、直径８〜１０ｍｍ、長さ３ｍｍ〜４ｍｍを含む、典型的な寸法を有する円筒形である。LRAは、１．８V〜２Vの動作電圧、５０ｍA〜７５ｍAの動作電流を有し、１５０Hz〜２５０Hzの周波数で共振し、および約３０ｍｓの機械的時定数を有する。LRAは、ベアリングを有さないため、耐久性があり、パーツは摩擦を受けない。これらはERMよりもコストがかかり、および共振音を防止するためにより高度な制御が必要である。
【００２５】
LRAのためのハプティックドライバ回路２３０は、とりわけ、MCU２１０からPWMまたはI2C制御信号を受信かつ解釈するアクチュエータドライバ増幅チップを含み、次いでアクチュエータの共振周波数（通常１７５Hz）にきっちりと対応する周波数でLRAを駆動する。一実施形態において、方形波が制御信号として使用される。制御信号は、５ｍｍ間隔で更新されてもよい。LRAのためのハプティックドライバ回路２３０はLRAの共振周波数に自動的にロックする「オートチューン」機能を有してもよく、これはパフォーマンスを最適化し、不適切に調整されたLRAアクチュエータでしばしば発生する共振音を制御する。
【００２６】
圧電アクチュエータは、高忠実度のハプティック効果を作成するために使用されることができる高性能アクチュエータである。圧電アクチュエータは、マッチ棒状のフォームファクタを有し、一般的に約４ｘ４ｘ４０ｍｍの寸法であり、およびタブレットデバイスのほかに新しいスマートフォンの設計にも簡単にフィットする。圧電アクチュエータは、多くの利点を有し、持続時間において２ｍｓと短いハプティック効果の作成を可能にする優れた機械時定数（５ｍｓ未満）を含み、これはタッチタイピングフィードバックによく適合する。圧電アクチュエータは広範囲の周波数（１５０Hz〜３００Hz）で振動し、様々な非常に微妙なタッチ感覚を作成する。しかしながら、圧電アクチュエータは、最大＋／−７０Vでおおよそ５０nFの容量性負荷を駆動する増幅器を必要とする。必要な瞬間消費電力は、例えば３V電源でおおよそ３００ｍAと高いが、圧電アクチュエータは、ERM振動モータまたはLRAより多くのエネルギーを消費しない。圧電アクチュエータは、それらの本質的に脆いセラミック材料であるにも関わらず、非常に耐久性があり、ハンドヘルドデバイスについて特有の、厳しい落下試験レジメンに耐えられるように設計されている。
【００２７】
圧電アクチュエータのためのハプティックドライバ回路２３０は、とりわけ、電力増幅器を含み、８ｋHzの８ビットPCMデータストリームに類似するMCU２１０からパルス振幅変調（PWM）または相互集積チップ（I2C）制御信号を受信する。
【００２８】
EAPアクチュエータは、ハイエンドのスマートフォンで使用されている。EAPアクチュエータは、幅広であるが、外部の移動可能な主要部に付けられた非常にフラットなパネル（例えば、４５ｍｍ ｘ ３８ｍｍ ｘ ０．８ｍｍ）であり、一般的にデバイス自信のバッテリであり、これは次いで９０Hz〜１２５Hzのどこかで共振するように設計されたスレッドに組み込まれる。EAPアクチュエータのための機械的時定数は、低ミリ秒である。EAPアクチュエータは８００V信号を生成することができる電子機器を必要とする。スレッドは非常に狭いスペースに統合することは困難である可能性があるが、アクチュエータ材料自体が極めて薄く、優れた耐久性を有することができる。EAPアクチュエータは、圧電アクチュエータと同様の性能を提供する。
【００２９】
EAPアクチュエータのためのハプティックドライバ回路２３０は、とりわけ最大８００Vを生成するための電力増幅器を含み、およびMCU２１０からPWMまたはI2C制御信号を受信する。
【００３０】
特定のハプティックアクチュエータとハプティックハードウェアサポートプラットフォーム２００を使用してハプティックセッションを開始するために、ユーザは、特定のハプティックアクチュエータのリード線を適切なハプティックドライバ回路２３０のコネクタに接続し、ハプティックハードウェアサポートプラットフォーム２００の電源をいれる。MCU２１０の電源をいれるシーケンスの間、ハードウェアブートローダは、CPU212のブートシーケンスを実行し、これは一般的にCPU212のクロック、割込み等を初期化すること、およびメモリ２１４からソフトウェアブートローダをロードすることを含み、これはメモリ２１４の不揮発性の部分からSRAMに、例えばハードウェアドライバ、RTOSなどを含むソフトウェアをロードする。一旦起動されると、RTOSは、メモリ２１４の不揮発性の部分からSRAMに、例えばスケジューラモジュール、セキュリティモジュール、通信ハンドラモジュール、コマンドハンドラモジュール、ハプティックハンドラモジュール、ハプティック更新時間モジュール、ハプティックアクチュエータドライブ制御モジュールなどを含む様々なハプティック関連ソフトウェアモジュールをロードする。
【００３１】
スケジューラモジュールは、RTOSと連携して、他のモジュールの実行、他のモジュール間の通信などを管理する。
【００３２】
セキュリティモジュールは、ネットワーク１４０を介してサーバコンピュータ１１０とハプティックハードウェアサポートプラットフォーム２００との間で交換されるメッセージを認証し、解読し、および暗号化する。例えば、セキュリティモジュールは、イーサネットI/F２１６および無線通信I/F２４０からネットワークメッセージを受信し、ネットワークメッセージを認証し、通信ハンドラモジュールに転送し、通信ハンドラモジュールからメッセージを受信し、ネットワーク１４０を介して送信するために、それらを暗号化してイーサネットI/F２１６および無線通信I/F２４０に転送する。
【００３３】
通信ハンドラモジュールは、ネットワーク１４０を介して、サーバコンピュータ１１０上で実行する、ハプティック効果設計アプリケーションから受信され、ハプティック効果設計アプリケーションに送信されるメッセージを処理する。これらのメッセージは、ハプティック効果設計アプリケーションに送信されるハプティックプラットフォーム能力メッセージ、ハプティック効果設計アプリケーションから受信されるハプティックコマンドメッセージなどを含む。
【００３４】
例えば、通信ハンドラモジュールは、ハプティックコマンドメッセージを識別し、コマンドハンドラモジュールに転送し、ハプティックプラットフォーム能力メッセージを作成し、暗号化などのためにセキュリティモジュールに転送する。特定の実施形態において、コマンドハンドラモジュールは、ハプティックコマンドメッセージからハプティックデータを抽出するために、ハプティック通信プロトコルに従ってハプティックコマンドメッセージを解析する。ハプティックデータは、次いでハプティックデータハンドラモジュールに提供される。特定の実施形態において、ハプティックコマンドメッセージは、いくつかのハプティックアクチュエータ１５０にのためのハプティックデータを含んでもよい。
【００３５】
図３は、本発明の実施形態に従った、ハプティック通信プロトコルを表す図である。
【００３６】
この実施形態において、ハプティック通信プロトコル３００は、ハプティックプラットフォーム能力メッセージ３１０、ハプティックコマンドメッセージ３２０、ハプティックコマンドメッセージ３３０などを含む。他のメッセージもまた、本発明によって検討される。ハプティックプラットフォーム能力メッセージ３１０は、認証及び／又はプラットフォーム情報３１２、および１つまたは複数のハプティックパケット情報配列３１４を含む。ハプティックコマンドメッセージ３２０は、１つまたは複数のハプティックアクチュエータ１５０のためのドライブ値を包含するハプティックデータパケット３２２を含む。コマンドメッセージ３３０は、コマンド３３２およびコマンド引数３３４を含む。
【００３７】
表１は、例示的なハプティックプラットフォーム能力メッセージ３１０を示し、表２は例示的なハプティックパケット情報配列３１４を示し、および表３は、本発明の特定の実施形態に従った、例示的なハプティックデータパケット３２２を示す。
【００３８】
【表１】
2018005917.tif 000003
【００３９】
【表２】
2018005917.tif 000004
【００４０】
【表３】
2018005917.tif 000005
【００４１】
コマンドハンドラモジュールは、例えば、ハプティックコマンドメッセージ３２０、ハプティックコマンドメッセージ３３０などの、通信ハンドラモジュールから受信したコマンドメッセージを処理する。
【００４２】
ハプティックデータハンドラモジュールは、ハプティックデータパケット３２２から特定のハプティックアクチュエータ１５０のためのドライブ値を抽出し、これらのドライブ値をCPU212のバッファまたはメモリ２１４に投入し、ハプティック効果を再生するためにハプティック更新タイマモジュールおよびハプティックアクチュエータドライブ制御モジュールを呼び出す。
【００４３】
一実施形態において、ハプティック効果データブロックは、ハプティックアクチュエータ１５０の回転の方向および速度を決定する８ビットの符号なしドライブ値を含む。値の範囲は[0, 255]であり、ハプティックアクチュエータ１５０に応じて異なる意味を有する。例えば、一方向アクチュエータは、一方向にのみ回転するので、ドライブ値の範囲は、次のように分割されてもよく、すなわち、[0, 127]の範囲のドライブ値は除外かつ無視され、１２８のドライブ値はアクチュエータを停止させ、[129, 255]の範囲のドライブ値は、ドライブ値が増加するにつれてその速度を増加して、アクチュエータを時計回り（または反時計回り）方向に回転させる。
【００４４】
ハプティックアクチュエータドライブ制御モジュールは、バッファに記憶されたドライブ値を制御信号に変換し、制御信号をハプティックアクチュエータ１５０に結合されたハプティックドライバ回路２３０に提供する。ハプティックアクチュエータドライブ制御モジュールは、特定のハプティックドライバ回路２３０が必要とし得る任意の追加の信号も提供する。上述の実施形態において、ハプティックアクチュエータドライブ制御モジュールは、８ビットの符号なしドライブ値を制御信号に変換し、制御信号をハプティックドライバ回路２３０に提供し、これは、ドライブ信号を使用してハプティックアクチュエータを駆動する。制御信号は、PWM信号、I2C信号等の１つまたは複数の信号を介してハプティックドライバ回路２３０に提供されるが、１つまたは複数のアナログ信号が使用されてもよい。ドライブ信号は、可変電圧信号、可変電流信号などのアナログ信号を介してハプティックアクチュエータ１５０に提供されるが、デジタル信号が使用されてもよい。したがって、ドライブ信号は、ドライブ値に基づいており、ハプティックドライバ回路２３０は、選択されたハプティック効果を再生するためにハプティックアクチュエータ１５０にドライブ値を適用する。ハプティックアクチュエータドライブ制御モジュールの実行は、ハプティック更新割込み信号によって制御される。
【００４５】
ハプティック更新タイマモジュールは、CPU２１２上のハードウェアタイマを制御する。ハードウェアタイマは、ハプティックアクチュエータ１５０のための更新間隔毎に割込みを発生させるように構成される。異なる割込みは、異なる更新間隔で異なるハプティックアクチュエータを駆動するために提供されてもよく、異なるハプティックアクチュエータは、同時に、連続して、などで駆動してもよい。割込みが発生したとき、ハプティックアクチュエータドライブ制御モジュールは、ハプティックアクチュエータ１５０に適用されるドライブ値を制御信号に変換し、次いで制御信号をハプティックドライブ回路２３０に提供する。一例において、ハプティックアクチュエータ１５０は２００Hz（５ｍｓ）の更新間隔またはレートを有し、ハプティックアクチュエータ１５０によって生成されるハプティック効果は、例えば｛20, 30, 50, 70｝の４つの８ビットドライブ値によって定義される。このハプティック効果を再生するために、ハプティックアクチュエータドライブ制御モジュールは、５ｍｓごとに設定されたこのドライブ値からドライブ値を読み取り、ドライブ値を制御信号に変換し、および制御信号をハプティックドライバ回路２３０に提供し、これはハプティックアクチュエータ１５０を駆動する。
【００４６】
この例において、時間t=0msで、ハプティックアクチュエータドライブ制御モジュールは、ドライブ値“２０”を制御信号に変換し、制御信号をハプティックドライバ回路２３０に提供し、これは特定のハプティックアクチュエータ１５０にドライブ信号を適用する。時間t=5msで、ハプティックアクチュエータドライブ制御モジュールは、ドライブ値“３０”を制御信号に変換し、制御信号をハプティックドライバ回路２３０に提供し、これは特定のハプティックアクチュエータ１５０にドライブ信号を適用する。時間t=10msで、ハプティックアクチュエータドライブ制御モジュールは、ドライブ値“５０”を制御信号に変換し、制御信号をハプティックドライバ回路２３０に提供し、これは特定のハプティックアクチュエータ１５０にドライブ信号を適用する。時間t=15msで、ハプティックアクチュエータドライブ制御モジュールは、ドライブ値“７０”を制御信号に変換し、制御信号をハプティックドライバ回路２３０に提供し、これは特定のハプティックアクチュエータ１５０にドライブ信号を適用する。時間t=20msで、読み取るためのドライブ値が残されていないので、特定のハプティックアクチュエータ１５０は動作されない。この例において、ハプティック更新タイマモジュールは、５ｍｓごとに割込みを発生するように構成され、そうすることによって、ドライブ値は読み取られ、制御信号に変換されることができ、特定のハプティックアクチュエータ１５０へのドライブ信号として適用のためにハプティックドライバ回路２３０に提供される。
【００４７】
通信ハンドラモジュールがRTOSによって最初に実行されるとき、無線通信I/F２４０は、Bluetoothネットワーク２４２、Wi-Fiネットワーク２４４、セルラネットワーク２４６等の利用可能なローカル無線ネットワークを識別し、通信ハンドラモジュールは、次いでネットワーク１４０を介して、例えばイーサネット、Bluetooth、TCP/IP、UDPなどの適切なネットワーク通信プロトコルスタックに従ってサーバコンピュータ１１０への通信リンクまたはチャネルを確立する。
【００４８】
通信ハンドラモジュールは、次いで、例えば固有のプラットフォームシリアル番号またはIDなどの認証及び／又はプラットフォーム情報３１２を含むハプティックプラットフォーム能力メッセージ３１０を、サーバコンピュータ１１０上で実行するハプティック効果設計アプリケーションに送信する。特定の実施形態において、ハプティックプラットフォーム能力メッセージ３１０は、例えば、FTP、TFTP等の標準的なネットワーク通信プロトコルを使用して送信されるが、他のファイルまたはメッセージ送信プロトコルもまた、本発明によって考慮される。いくつかの実施形態において、ハプティックプラットフォーム能力メッセージ３１０は、送信前に暗号化されてもよい。ハプティックサーバ１１０がハプティックプラットフォーム能力メッセージ３１０を受信したあと、ハプティック効果設計アプリケーションは（必要ならば）解読し、ハプティックハードウェアサポートプラットフォーム２００を認証し、特定のユーザと関連付ける。
【００４９】
いくつかの実施形態において、通信ハンドラモジュールがRTOSによって最初に実行されるおき、通信ハンドラモジュールは、ハプティックデータハンドラモジュール及び／又はハプティックアクチュエータドライブ制御モジュールがハプティックドライバ回路２３０に接続されたハプティックアクチュエータ１５０の特性を決定することを要求する。これらの特性は、次いで通信ハンドラモジュールに提供され、これは、ネットワーク１４０を介してハプティックサーバ１１０上で実行するハプティック効果設計アプリケーションに送信されるハプティックプラットフォーム能力メッセージ３１０内の、ハプティックアクチュエータ１５０に対応するハプティックパケット情報配列３１４を含む。例えば、立ち上がり時間、立ち下り時間、定格電圧などのような別の特性も伝達されてもよい。立ち上がり時間は、休止から開始するピーク加速度の９０％に到達するようにアクチュエータによってとられるミリ秒単位の時間である。立ち下がり時間は、ピーク加速度の９０％から休止状態に到達するようにアクチュエータによってとられるミリ秒単位の時間である。定格電圧は、アクチュエータの定格電圧／動作電圧である。
【００５０】
他の実施形態において、複数のハプティックアクチュエータ１５０が１つまたは複数のハプティックドライバ回路２３０に接続されてもよく、およびハプティックハンドラモジュールは、例えばハプティックドライバ回路２３０に接続されたハプティックアクチュエータ１５０の数、各ハプティックアクチュエータ１５０の型式、接続された各ハプティックアクチュエータ１５０の特性などを含む、これらのハプティックアクチュエータ１５０の特性を決定してもよい。これらの特性は、次いで通信ハンドラモジュールに提供され、これはネットワーク１４０を介してハプティックサーバ１１０上で実行するハプティック効果設計アプリケーションに送信されるハプティックプラットフォーム能力メッセージ３１０の各ハプティックアクチュエータ１５０のためのハプティックパケット情報配列３１４を含む。
【００５１】
いくつかの実施形態において、ハプティックプラットフォーム能力メッセージ３１０は、送信前に暗号化されてもよい。
【００５２】
ハプティックサーバ１１０がハプティックプラットフォーム能力メッセージ３１０を受信した後、ハプティック効果設計アプリケーションは、（必要ならば）解読し、ハプティックアクチュエータ１５０の特性をハプティックハードウェアサポートプラットフォーム２００と関連付ける。
【００５３】
図４および５は、本発明の実施形態に従った、ハプティック効果デザインアプリケーションのためのグラフィカルユーザインタフェースを表す図である。
【００５４】
ウェブベースの実施形態において、ハプティッククライアント１３０上で実行されるブラウザアプリケーションは、ネットワーク１４０を介してサーバコンピュータ１１０上で実行するハプティック効果設計アプリケーションへの通信リンクを確立する。ハプティック効果設計アプリケーションは、次いでグラフィカルユーザインタフェース（GUI）ウィンドウ４００を生成し、これはブラウザアプリケーションを介してユーザに提供される。
【００５５】
最初に、ユーザは、例えばユーザネームおよびパスワード等の、特定の信用証明をGUIウィンドウ４００に入力し、これはハプティック効果設計アプリケーションによって認証される。次いでGUIウィンドウ５００がユーザに提供され、これは存在し得るユーザに関連付けられた利用可能なハプティックハードウェアサポートプラットフォーム２００のリストを含み、ユーザは次いでリストから適切なハプティックハードウェアサポートプラットフォーム２００を選択する。あるいは、単一のハプティックハードウェアサポートプラットフォーム２００は、ユーザに関連付けられてもよく、選択は必須ではない。
【００５６】
図６Aおよび６Bは、本発明の実施形態に従った、ネットワークを介してハプティックアクチュエータを制御するための機能を図示するフローチャート図である。
【００５７】
実施形態６００に関して、６１０において、ハプティックアクチュエータサポートプラットフォームに接続されたハプティックアクチュエータの選択は、ハプティックサーバで受信される。特定の実施形態において、ユーザは、GUIウィンドウ５００で、プルダウンメニュー、ポップアップメニュー、チェックボックスなどを使用して、ハプティックハードウェアサポートプラットフォーム２００に接続された特定のハプティックアクチュエータ１５０を、利用可能なハプティックアクチュエータ型式のリストから選択する。いくつかの実施形態において、ハプティックハードウェアサポートプラットフォーム２００に接続された特定のハプティックアクチュエータ１５０は、ハプティックプラットフォーム能力メッセージ３１０で提供される特性に基づいて、ハプティック効果設計アプリケーションによって識別され、ユーザはこの情報を単に確認する。別の実施形態において、ユーザは、GUIウィンドウ５００の様々な入力フィールド（図示せず）に特定のハプティックアクチュエータ１５０の特性を入力し、ハプティック効果設計アプリケーションは、ユーザによる確認のために特定のハプティックアクチュエータ１５０を識別する。これらの特性は、例えば、質量、形状、寸法などの機械的データ、例えば、立ち上がり時間、立ち下がり時間、定格電圧などの電気的データを含んでもよい。別の実施形態において、２つ以上のハプティックアクチュエータ１５０は、ユーザによって選択されるかまたは入力されてもよく、あるいはハプティックプラットフォーム報告メッセージ３１０によって提供されてもよい。
【００５８】
６２０において、ハプティック効果ドライバソフトウェアパッケージまたはライブラリの選択が、ハプティックサーバで受信される。特定の実施形態において、ユーザは、GUIウィンドウ５００内のプルダウンメニュー、ポップアップメニュー、チェックボックス等を使用して、利用可能なハプティック効果ドライバソフトウェアパッケージまたはライブラリのリストから特定のハプティック効果ドライバソフトウェアパッケージまたはライブラリを選択する。例えば、ユーザは、ハプティック効果ドライバソフトウェアパッケージまたはライブラリのいくつかの異なるバージョンのリストから、モバイルデバイスのためのハプティック効果ドライバソフトウェアパッケージまたはライブラリの特定のバージョンを選択してもよい。各バージョンは、異なるハプティック効果を作成してもよく、あるいはハプティック効果の異なる型式を含んでもよい。ハプティック効果ドライバソフトウェアパッケージまたはライブラリの異なるバージョンの例には、Immersion TS2000, TS2500, TS3000, TS4000, TS5000などを含むが、これらに限定されない。
【００５９】
６３０において、選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリからのハプティック効果は、ハプティックサーバで受信される。特定の実施形態において、ユーザは、GUIウィンドウ５００のプルダウンメニュー、ポップアップメニュー、チェックボックスなどを使用して、利用可能なハプティック効果のリストから特定のハプティック効果を選択する。ハプティック効果は、一般的に、例えばクリック、カチカチいう音、衝突、アップランプ（up ramp）、ダウンランプ(down ramp)、パルス、ブザー、アラート、テクスチャ、例えば爆発、武器、衝撃、エンジンなどのゲーム関連の効果などが含まれる。ハプティック効果の各型式は、例えば、強い力でのはっきりしたシングルクリック、中程度の力での強いダブルクリック、弱い力でのカチカチいう音など、１つ又は複数の修飾語句を有してもよい。例示的なハプティック効果ライブラリリストの一部を表１に示す。特定の実施形態において、２つ以上のハプティック効果は、連続的な再生のために選択されることができる。
【００６０】
【表４】
2018005917.tif 000006
【００６１】
オプション６３５において、選択されたハプティック効果に対する１つまたは複数の変更がハプティックサーバで受信される。いくつかの実施形態において、ユーザはGUIウィンドウ５００を使用して選択されたハプティック効果を変更してもよい。
【００６２】
６４０において、ハプティックコマンドメッセージは、選択されたハプティックアクチュエータ、選択されたハプティック効果、および選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリに基づいてハプティックサーバで作成される。特定の実施形態において、ハプティックコマンドメッセージ３２０は、選択されたハプティックアクチュエータ１５０のためのドライブ値の時間系列を伴うハプティックデータパケット３２２を含む。言い換えると、ハプティック効果設計アプリケーションは、選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリを呼び出し、選択されたハプティック効果および選択されたハプティックアクチュエータ１５０の特性を提供することによって、選択されたハプティック効果をレンダリングする。
【００６３】
６５０において、ハプティックコマンドメッセージは、ネットワークを介してハプティックサーバからハプティックハードウェアサポートプラットフォームに送信される。上述したように、ハプティック効果設計アプリケーションは、上述した、以前に確立された通信リンクまたはチャネルを使用して、ネットワーク１４０を介してハプティックコマンドメッセージ３２０をハプティックハードウェアサポートプラットフォーム２００に送信する。別の実施形態において、新しい通信リンクまたはチャネルが、ハプティックサーバ１１０とハプティックハードウェアサポートプラットフォーム２００との間に確立されてもよい。
【００６４】
６６０において、ハプティックコマンドメッセージは、ネットワークを介してハプティックハードウェアサポートプラットフォームで受信される。通信ハンドラモジュールは、以前に確立された通信リンクまたはチャネル、あるいは、代わりに新しい通信リンクまたはチャネルを使用して、ネットワーク１４０を介してハプティックコマンドメッセージ３２０を受信し、次いでハプティックコマンドメッセージをコマンドハンドラモジュールに転送する。
【００６５】
６７０において、ハプティックコマンドメッセージは、ハプティックアクチュエータドライブ値を抽出するために解析される。コマンドハンドラモジュールは、ハプティックアクチュエータドライブ値を含むハプティックデータパケット３２２を抽出するために、ハプティックコマンドメッセージ３２０を解析する。次いで、コマンドハンドラモジュールは、ハプティックデータパケット３２２をハプティックデータハンドラモジュールに提供する。ハプティックデータハンドラモジュールは、CPU212のバッファまたはメモリ２１４に、特定のハプティックアクチュエータ１５９のためのドライブ値を投入し、ハプティック効果を再生するために、ハプティック更新タイマモジュール及びハプティックアクチュエータドライブ制御モジュールを呼び出す。
【００６６】
６８０において、ハプティックアクチュエータドライブ信号が、選択されたハプティック効果を再生するためにハプティックアクチュエータに適用され、ハプティックアクチュエータドライブ信号は、ハプティックアクチュエータドライブ値に基づく。上述したように、ハプティック更新割込み信号に応答して、ハプティックアクチュエータドライブ制御モジュールは、バッファからドライブ値を読み出し、ドライブ値に基づいて、制御信号を作成し、次いでハプティックドライバ回路２３０に提供する。ハプティックドライバ回路２３０は、制御信号に応答して、ドライブ信号を生成し、ハプティックアクチュエータ１５に提供する。別の実施形態において、ドライブ値は制御信号である。従って、介在する制御信号が用いられるか否かにかかわらず、ドライブ信号は常にドライブ値に基づく。
【００６７】
本発明は、有利には、ユーザが異なるハプティック効果ドライバソフトウェアパッケージ及び／又はライブラリの品質および性能を、迅速、容易、かつ効果的に比較および対比することを可能にする。例えば、ユーザが、ERMアクチュエータ向けのImmersionのTS2000およびTS2500ソフトウェア製品の品質と性能を比較および対比したいとする。これら２つのソフトウェア製品によって生成されたハプティック効果を比較および対比するために、ハプティック効果設計アプリケーションは、ユーザがハプティックハードウェアサポートプラットフォームに接続された特定のERMアクチュエータを選択及び／又は構成し、第１のソフトウェア製品（例えば、TS2000ソフトウェア製品）を選択し、次いでこのERMアクチュエータのためのハプティック効果を体験することを可能にする。ハプティック効果設計アプリケーションの第２のソフトウェア製品（例えば、TS2500ソフトウェア製品）の単純な選択により、TS2500製品を使用して、このERMアクチュエータのための新しいハプティック効果が作成され、および体験されることができる。言い換えると、ユーザは、ハプティック効果設計アプリケーションの「スイッチを反転する」だけで、同じERMアクチュエータのためのこれらの２つの製品によって作成されるハプティック効果の違いを体験する。ユーザは、TS2500製品がより鮮明でより望ましい応答を提供すると感じてもよい。
【００６８】
その上、本発明は、有利には、ユーザが迅速、容易、かつ効果的にハプティックアクチュエータを選択および構成することを可能にする。例えば、ユーザが表面をハプティック化（haptify）することを望むと仮定する。ハプティックアクチュエータの選択および構成のために、ユーザは、例えば質量、形状、寸法などのアクチュエータ特性をハプティック効果設計アプリケーションに入力してもよく、これは、アクチュエータの型式、製造者、およびアクチュエータ構成パラメータを決定する。あるいは、ユーザは、ハプティック効果設計アプリケーションによって提供されたリストから、ハプティックアクチュエータを単純に選択してもよく、これは、関連するアクチュエータ構成パラメータをロードする。ユーザは、上述したように、ソースコード等を再コンパイルしてダウンロードする必要なしに、所望のハプティック効果結果を即座に得るために、アクチュエータ構成パラメータを「微調整」することができる。
【００６９】
特定の実施形態において、クラウド接続ハプティックデモンストレーションシステム１００は、構成可能なコンピューティングリソース（例えば、ネットワーク、サーバ、ストレージ、アプリケーション、およびサービス）の共有されたプールへの便利なオンデマンドネットワークアクセスを可能にする。クラウド（またはネットワーク）を介して提供またはアクセスされるサービスは、クラウドサービスと呼ばれる。
【００７０】
クラウド接続ハプティックデモンストレーションシステム１００によって提供されるサービスは、そのユーザのニーズを満たすように動的に拡張することができる。クラウド接続ハプティックデモンストレーションシステム１００によって提供されるサービスの具体的なインスタンス化は、「サービスインスタンス」と呼ばれる。一般に、インターネットのような、通信ネットワークを介してクラウドサービスプロバイダのシステムからユーザに利用可能にされた任意のサービスは、「クラウドサービス」と呼ばれる。一般的に、パブリッククラウド環境において、クラウドサービスプロバイダのシステムを構成するサーバとシステムは、顧客の個人用及び／又は業務用のサービスおよびシステムとは異なる。例えば、クラウドサービスプロバイダのシステムは、アプリケーションをホストしてもよく、ユーザは、インターネットなどの通信ネットワークを介して、要求に応じて、アプリケーションを注文し、使用してもよい。
【００７１】
従って、ネットワークを介してハプティックアクチュエータを制御するためのシステムおよび方法が、有利に提供される。
【００７２】
一実施形態において、システムは、メモリとプロセッサを含む、ネットワークに結合されたハプティックサーバと、ネットワークに結合され、メモリとプロセッサを含む選択されたハプティックアクチュエータに接続された、ハプティックハードウェアサポートプラットフォームと、を含む。ハプティックサーバプロセッサは、ハプティックアクチュエータの選択を受信し、ハプティック効果ドライバソフトウェアパッケージまたはライブラリの選択を受信し、選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリからハプティック効果の選択を受信し、選択されたハプティックアクチュエータ、選択されたハプティック効果、および選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリに基づいてハプティックコマンドメッセージを作成し、ネットワークを介してハプティックコマンドメッセージを送信するように構成され、ハプティックコマンドメッセージは複数のハプティックアクチュエータドライブ値を含む。ハプティックハードウェアサポートプラットフォームプロセッサは、ネットワークを介してハプティックコマンドメッセージを受信し、複数のハプティックアクチュエータドライブ値を抽出するためにハプティックコマンドメッセージを解析し、および選択されたハプティック効果を再生するために、ハプティックアクチュエータにハプティックアクチュエータドライブ信号を適用するように構成され、ハプティックアクチュエータドライブ信号は、ハプティックアクチュエータドライブ値に基づく。
【００７３】
別の実施形態において、方法は、ネットワークに結合されたハプティックサーバで、ネットワークに結合されたハプティックハードウェアサポートプラットフォームに接続されたハプティックアクチュエータの選択を受信するステップと、ハプティック効果ドライバソフトウェアパッケージまたはライブラリの選択を受信するステップと、選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリからハプティック効果の選択を受信するステップと、選択されたハプティックアクチュエータ、選択されたハプティック効果、および選択されたハプティック効果ドライバソフトウェアパッケージまたはライブラリに基づいてハプティックコマンドメッセージを作成するステップと、ネットワークを介してハプティックハードウェアサポートプラットフォームにハプティックコマンドメッセージを送信するステップと、を含み、ハプティックコマンドメッセージは、複数のハプティックアクチュエータドライブ値を含む。方法はまた、ハプティックハードウェアサポートプラットフォームにおいて、ネットワークを介してハプティックコマンドメッセージを受信するステップと、複数のハプティックアクチュエータドライブ値を抽出するためにハプティックコマンドメッセージを解析するステップと、選択されたハプティック効果を再生するために、ハプティックアクチュエータにハプティックアクチュエータドライブ信号を適用するステップと、を含み、ハプティックアクチュエータドライブ信号は、ハプティックアクチュエータドライブ値に基づく。
【００７４】
本発明の多くの特徴および利点は、詳細な明細書から明らかであり、従って、添付の特許請求の範囲によって、本発明の真の精神および範囲内に入る本発明のすべてのそのような特徴および利点を網羅することが意図される。さらに、当業者に数多くの修正および変形が容易に発生するであろうから、本発明を図示および説明した正確な構成および動作に限定することは望ましくなく、従ってすべての適切な修正および均等物は、本発明の範囲内である。
【符号の説明】
【００７５】
１００  クラウド接続ハプティックデモンストレーションシステム
１１０  介してサーバコンピュータ
１１０  サーバコンピュータ
１２０  ハプティックハードウェアサポートプラットフォーム
１３０  ハプティッククライアント
１４０  ネットワーク
１５０  ハプティックアクチュエータ
２００  ハプティックハードウェアサポートプラットフォーム
２１２  中央処理装置（ＣＰＵ）
２１４  メモリ
２１６  シリアル通信インタフェース
２１７  イーサネットコネクタ
２１８  ＵＳＢコネクタ
２２０  入出力（Ｉ／Ｏ）回路
２２０  ハプティックハードウェアサポートプラットフォーム
２２２  システムおよび電力管理回路
２２４  マンマシンインタフェース回路（ＨＭＩ）
２３０  ハプティックドライバ回路
２４０  無線通信インタフェース
２４２  Ｂｌｕｅｔｏｏｔｈネットワーク
２４４  ネットワーク
２４６  セルラネットワーク
２５０  バス
２６０  電源
２６２  外部電力入力コネクタ
２６４  バッテリ
３００  ハプティック通信プロトコル
３１０  ハプティックプラットフォーム能力メッセージ
３１２  プラットフォーム情報
３１４  ハプティックパケット情報配列
３２０  ハプティックコマンドメッセージ
３２２  ハプティックデータパケット
３３０  ハプティックコマンドメッセージ
３３２  コマンド
４００  ＧＵＩウィンドウ
【図１】
2018005917.tif 000007
【図２】
2018005917.tif 000008
【図３】
2018005917.tif 000009
【図４】
2018005917.tif 000010
【図５】
2018005917.tif 000011
【図６Ａ】
2018005917.tif 000012
【図６Ｂ】
2018005917.tif 000013
【外国語明細書】
2018005917000001.pdf