(57)【要約】  ハプティックインターフェースユニットは、ドライバー層と通信するデバイスのオペレーティングシステムにアプリケーションを含むことができる。複数のセンサー及びアクチュエーターが、ドライバー層と通信することができる。ドライバー層は、センサーからの情報を分析して、ドライバー層に記憶されたインタラクションモデルに基づいて出力信号を生成する。アプリケーションは、ドライバー層におけるインタラクションモデルを更新する。【選択図】図４
2020512642.tif 000002
【特許請求の範囲】
【請求項１】
デバイスのオペレーティングシステムで動作するアプリケーションと、
前記アプリケーションと通信するドライバー層と、
前記ドライバー層と通信する複数のセンサーと、
前記ドライバー層と通信する複数のアクチュエーターと、
を備え、
前記ドライバー層は、前記センサーからの情報を分析して、該ドライバー層に記憶されたインタラクションモデルに基づいて出力信号を生成し、
前記アプリケーションは、前記出力信号とは非同期的に前記ドライバー層における前記インタラクションモデルを更新する、ハプティックインターフェースユニット。
【請求項２】
複数のバッファーを含むメモリ管理モジュールを更に備える、請求項１に記載のハプティックインターフェース。
【請求項３】
前記複数のバッファーのうちの１つは、常に書込みに対して安全であり、前記複数のバッファーのうちの他の１つは、常に読出しに対して安全である、請求項２に記載のハプティックインターフェース。
【請求項４】
デバイスのオペレーティングシステムで動作するアプリケーションと、
前記アプリケーションと通信するドライバー層と、
前記アプリケーション及び前記ドライバー層と通信する触覚処理ユニットと、
前記触覚処理ユニットと通信する複数のセンサーと、
前記触覚処理ユニットと通信する複数のアクチュエーターと、
を備え、
前記触覚処理ユニットは、前記センサーからの情報を分析して、該触覚処理ユニットに記憶されたインタラクションモデルに基づいて出力信号を生成し、
前記アプリケーションは、前記出力信号とは非同期式に前記触覚処理ユニットにおける前記インタラクションモデルを更新する、ハプティックインターフェース。
【請求項５】
複数のバッファーを含むメモリ管理モジュールを更に備え、前記複数のバッファーのうちの１つは、常に書込みに対して安全であり、前記複数のバッファーのうちの他の１つは、常に読出しに対して安全である、請求項４に記載のハプティックインターフェース。
【請求項６】
前記複数のバッファーのうちの１つは、前記触覚処理ユニットがハードウェアタイミング回路を用いて前記出力信号を生成するのを容易にする、請求項５に記載のハプティックインターフェース。
【請求項７】
前記触覚処理ユニットは、２０ｋＨｚを超過するレートで情報を分析しかつ出力を生成するように動作する、請求項４に記載のハプティックインターフェース。
【請求項８】
前記ドライバー層は触覚処理ユニットドライバーを含み、前記オペレーティングシステムはヒューマン入力デバイスドライバーを含み、前記触覚処理ユニットは、前記触覚処理ユニットドライバー及び前記ヒューマン入力デバイスドライバーの両方と通信する、請求項４に記載のハプティックインターフェース。
【請求項９】
前記ドライバー層は、前記ヒューマン入力デバイスドライバーからのタッチ入力データを分析して、前記アプリケーションに記憶されたグローバルインタラクションモデルに基づいてローカルインタラクションモデルを生成する、請求項８に記載のハプティックインターフェース。
【請求項１０】
前記ドライバー層は、前記ローカルインタラクションモデルのデータを、前記触覚処理ユニットにおけるデコーダーに送信する前に圧縮するエンコーダーを備え、前記デコーダーは、前記触覚処理ユニットにおけるインタラクションモデルバッファー内のインタラクションモデルをリアルタイムレンダリングのために前記データによって更新する前にデータを分析する、請求項９に記載のハプティックインターフェース。
【請求項１１】
ハプティックインターフェースを動作させる方法であって、
検知回路によりセンサー位置及び圧力情報を読み取るステップと、
前記検知回路を介して前記センサー位置及び圧力情報をドライバー層に送信するステップと、
前記ドライバー層により前記センサー位置及び圧力情報を処理するステップと、
前記ドライバー層に記憶されたインタラクションモデルに基づいてハプティック出力信号を計算するステップと、
アクチュエーター回路を介して前記ハプティック出力信号を前記アクチュエーターに送信するステップと、
前記アクチュエーターによりハプティック出力を生成するステップと、
を含む、方法。
【請求項１２】
前記生成するステップは、前記ハプティック出力信号を送信するステップの入力レートと比較して低下したレートで、前記センサー位置及び圧力情報をアプリケーションに送信するステップを更に含む、請求項１１に記載の方法。
【請求項１３】
前記入力レートと比較して前記低下したレートで前記ドライバー層に記憶された前記インタラクションモデルを更新するステップを更に含む、請求項１２に記載の方法。
【請求項１４】
ハプティックインターフェースを動作させる方法であって、
検知回路によりセンサー位置及び圧力情報を読み取るステップと、
前記検知回路を介して前記センサー位置及び圧力情報を触覚処理ユニットに送信するステップと、
前記触覚処理ユニットにより前記センサー位置及び圧力情報を処理するステップと、
前記触覚処理ユニットに記憶されたインタラクションモデルに基づいてハプティック出力信号を計算するステップと、
アクチュエーター回路を介して前記ハプティック出力信号を前記アクチュエーターに送信するステップと、
前記アクチュエーターによりハプティック出力を生成するステップと、
を含む、方法。
【請求項１５】
前記触覚処理ユニットにおける入力タイマーが満了したか否かを判断するステップを更に含む、請求項１４に記載の方法。
【請求項１６】
ドライバー層に前記センサー位置及び圧力情報を送信するステップを更に含む、請求項１５に記載の方法。
【請求項１７】
前記センサー位置及び圧力情報をフォーマットするステップと、前記センサー位置及び圧力情報をアプリケーションに送信するステップとを更に含む、請求項１６に記載の方法。
【請求項１８】
前記アプリケーションによって受信された前記センサー位置及び圧力情報に基づいて該アプリケーションにより前記インタラクションモデルを更新するステップを更に含む、請求項１７に記載の方法。
【請求項１９】
前記ドライバー層を介して、前記更新されたインタラクションモデルを前記触覚処理ユニットに送信するステップを更に含む、請求項１８に記載の方法。
【請求項２０】
複数のバッファーから書込みバッファーを決定するステップと、前記書込みバッファーに前記更新されたインタラクションモデルを書き込むステップと、次の書込みバッファーとして前記複数のバッファーのうちの他のバッファーを特定するステップとを更に含む、請求項１８に記載の方法。
【請求項２１】
前記計算するステップは、複数のバッファーから読出しバッファーを決定することと、該読出しバッファーから前記インタラクションモデルを読み出すこととを更に含む、請求項１４に記載の方法。
【請求項２２】
触覚処理ユニットドライバーにおける前記センサー位置及び圧力情報を処理して、アプリケーションに記憶されたグローバルインタラクションモデルからローカルインタラクションモデルを生成するステップを更に含む、請求項１６に記載の方法。
【請求項２３】
前記触覚処理ユニットドライバーからの前記ローカルインタラクションモデルのデータにより、前記触覚処理ユニットにおけるインタラクションモデルバッファーを更新するステップを更に含む、請求項２２に記載の方法。
【請求項２４】
前記触覚処理ユニットドライバーにおける前記ローカルインタラクションモデルのデータを符号化するステップと、前記触覚処理ユニットにおけるデコーダーに符号化データを送信するステップと、前記符号化データを分析するステップと、前記触覚処理ユニットにおけるインタラクションモデルバッファー内の前記インタラクションモデルを、リアルタイムレンダリングのために分析データにより更新するステップとを更に含む、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本国際出願は、２０１７年３月２８日に出願された米国特許出願第６２／４７７，８１０号の恩典及び優先権を主張する、２０１８年３月２７日に出願された米国特許出願第１５／９３７，４０３号の恩典及び優先権を主張する。これらの米国特許出願の双方は、引用することにより完全に本明細書の一部をなす。
【０００２】
本開示は、包括的にはハプティクスに関する。より詳細には、本開示は、ハプティックインターフェース及び制御システムに関する。
【背景技術】
【０００３】
タッチスクリーンはコンピューターインターフェースとして定着しており、携帯電話、タブレット、ラップトップコンピューター、銀行キオスク、その他多くの適用例及びデバイスにおいて使用される。タッチスクリーンは、画面と接触しているユーザーの指の位置を検出することができる。検出された位置は、その後、ユーザーが触れたことによって表されるようなユーザーのコマンドに応答する、例えば、タッチスクリーン上で見ることができるグラフィカルオブジェクトを動かす、又はボタン若しくはメニューアイテムを選択する等のために、コンピュータープログラムによって使用することができる。
【０００４】
通常、タッチセンシティブスクリーンは透明であり、視覚的に表現されたオブジェクトに自分が触れているか、又はオブジェクトを自分が指していることをユーザーが想像することができるようにビジュアルディスプレイと組み合わせられる。関連する２つの情報の流れ、すなわち、コンピューターからユーザーへの視覚情報及びユーザーからコンピューターへのタッチ情報がある。
【０００５】
ユーザーが自分の触覚を利用して、コンピューターから情報を得ることができる、タッチ情報の他方の伝達方向はより一般的ではない。これは、ユーザーが、表面のエッジ又はテクスチャーを、又は表面上の明らかな凸部又は凹部さえも知覚するのをサポートすることができる。
【０００６】
ユーザーにタッチ情報を伝達する機能は、ハプティクスと呼ばれる。ハプティクスの現在の形は、ハンドヘルドデバイスの振動を生成することによって成し遂げられる。ユーザーは、ビジュアルディスプレイ上に表現されるアイコン又は他のグラフィカルフィーチャとユーザーとのインタラクションにおいて振動が生じていると想像することができる。振動ハプティクスを超えて進展したものとして、表面ハプティックディスプレイという用語は、画面によって力を生成することができ、画面と接触している点にあるユーザーの指先に力を及ぼすことができるタッチスクリーンを指している。
【発明の概要】
【０００７】
この概要は、本開示の詳細な説明において更に記載される概念のうちの選択されたものを簡略化形式で紹介するように提供される。この概要は、請求項に記載の主題の重要な又は必須の発明の概念を特定するように意図されておらず、請求項に記載の主題の範囲を画定するようにも意図されていない。
【０００８】
概して、本明細書に開示するハプティックインターフェースユニットは、アプリケーション、ドライバー層、センサー、アクチュエーター及びインターフェースモデルを備えることができる。
【０００９】
上述した概要は、本開示の以下の詳細な説明と同様、添付図面に関連して読まれるときによりよく理解される。本開示を例示する目的で、本開示の発明の概念の例示的な構造を図面に示す。しかしながら、本明細書における開示及び発明の概念は、本明細書に開示する具体的な方法及び手段に限定されない。
【図面の簡単な説明】
【００１０】
【図１】センサー及びアクチュエーターを備えるハプティック表面を示す図である。
【図２】シングルレート処理アーキテクチャを使用する先行技術によるハプティックインターフェースを概略的に示す図である。
【図３】図２のハプティックインターフェースによって実行されるプロセスの動作の概略図である。
【図４】ドライバー層ソフトウェアとともに構築されたマルチレート処理ユニットを使用する、本開示に一貫するハプティックインターフェースユニットの一実施形態を概略的に示す図である。
【図５】図４のハプティックインターフェースユニットによって実行されるプロセスの動作の概略図である。
【図６Ａ】連続ハプティック動作を確実にするインタラクションモデルに対する更新のためにメモリ管理モジュールによって実行されるプロセスの動作の概略図である。
【図６Ｂ】更新されたインタラクションモデルに関してドライバー層において実行されるプロセスの動作の概略図である。
【図７】触覚処理ユニット（ＴＰＵ：tactile  processing  unit）においてマルチレート処理ユニットを使用する、本開示と一貫するハプティックインターフェースユニットの別の実施形態を概略的に示す図である。
【図８】図７のハプティックインターフェースによって操作されるプロセスの概略図である。
【図９】ヒューマン入力デバイス（ＨＩＤ：Human  Input  Device）及びハプティックインターフェースの両方としての役割を果たす、本開示と一貫する二重機能ハプティックインターフェースユニットの一実施形態を概略的に示す図である。
【図１０】本開示と一貫するハプティックインターフェースのドライバー層とハードウェア層との間の符号化通信層の一実施形態を概略的に示す図である。
【発明を実施するための形態】
【００１１】
以下の開示は、全体として、添付図面、図面の説明、要約書、背景技術、発明の概要、及び関連の見出しとともに読まれるとき、提供される詳細な説明を参照して最もよく理解することができる。異なる図上に見出されるときの同一の参照番号は同じ要素又は機能的に同等な要素を特定する。要約書に挙げた要素は参照されないが、それでも、関連付けによって詳細な説明及び関連する開示の要素を指す。
【００１２】
ハプティックシステムの中心には、インタラクションの基本モデルがある。インタラクションモデルは、ユーザー入力に対するアクチュエーター応答を定義し、多くの場合、仮想環境のリアルタイムシミュレーションである。キー押下フィードバックの例では、インタラクションモデルは、タッチ圧力検出に対する出力振動波形応答を計算する。ハプティックインタラクションモデルをレンダリングすることに伴う１つの問題は、入力を通信し、ハプティック出力を計算し、次いで出力信号を送出するために必要な時間に関係する。ハプティック出力信号を送出する際の遅延により、ハプティック体験の質が低下する可能性がある。したがって、ユーザーにハプティック出力を効率的に伝達する方法が必要とされている。
【００１３】
ハプティック設計者は、ハプティックインターフェースユニットの更新レートの重要性を以前から理解しており、この判断を理由に、リアルタイムオペレーティングシステム（ＲＴＯＳ）を使用して、ハプティックインターフェース又はインタラクションシミュレーションを計算した。ＲＴＯＳ環境は、多種多様のアプリケーションを提供するように全オペレーティングシステムを実行するコンシューマーグレードのデバイスでは通常実装されない。大部分のコンシューマーグレードのデバイスでは、ハプティックインタラクションモデルは、ソフトウェアで実装され、したがって、オペレーティングシステム（ＯＳ）において利用可能なリソースによりレート制限される。
【００１４】
インタラクションをレンダリングするのにＯＳレベルのプロセスに依存するハプティックインターフェースは、いくつかのシステム障害を受けやすい。第１に、イベントのタイミングは、通常保証されず、システムの不安定なレイテンシーは、ユーザーのハプティック知覚系を混乱させる可能性がある。第２に、ソフトウェアはしばしばフリーズする可能性があり、その際、ハプティックフィードバックプロセスを妨げる可能性がある。両方の障害が、ユーザーに対して一貫性の欠如を提示するため、ハプティックインターフェースが物理的システムを表している、という錯覚を破る。
【００１５】
本発明の実施形態は、ＲＴＯＳ環境の使用を必要とすることなく、現実的なハプティックインターフェースの提供を可能にするように、技術的改良を提供する。特化した専用のハードウェア及び／又はソフトウェアを採用することにより、本発明の実施形態は、低レイテンシー、イベントの保証されたタイミングを提供し、アプリケーションレベルでソフトウェア障害に直面した場合であっても、一貫したユーザー体験を可能にする。特に、ドライバー層に対する変更は、先行技術によるソフトウェア実装では可能ではなかった方法でリアルタイムハプティックフィードバックを可能にする技術的改良である。
【００１６】
本開示の一態様では、ハプティックインターフェースユニットの一実施形態は、ドライバー層と通信するデバイスのオペレーティングシステムにアプリケーションを含むことができる。複数のセンサー及びアクチュエーターが、ドライバー層と通信することができる。ドライバー層は、センサーからの情報を分析して、ドライバー層に記憶されたインタラクションモデルに基づいて出力信号を生成する。アプリケーションは、ドライバー層におけるインタラクションモデルを更新する。
【００１７】
本開示の他の態様では、ハプティックインターフェースユニットの一実施形態は、デバイスのオペレーティングシステムにおけるアプリケーションと、そのアプリケーションと通信する触覚処理ユニット（ＴＰＵ）とを含むことができる。複数のセンサー及びアクチュエーターが、ＴＰＵと通信することができる。ＴＰＵは、センサーからの情報を分析して、ＴＰＵに記憶されたインタラクションモデルに基づき出力信号を生成する。別の実施形態では、アプリケーションは、ＴＰＵにおけるインタラクションモデルを非同期的に更新することができる。
【００１８】
図１は、センサー１０４及びアクチュエーター１０２を備えたハプティック表面１００を示す。アクチュエーター１０２は、例えば指１０１等、表面と接触する物体にハプティック効果を伝達するために使用される。アクチュエーター１０２は、限定されないが、表面にわたって振動を発生させる超音波アクチュエーター、物体に対して静電力を発生させる静電アクチュエーター若しくは他の任意の既知のアクチュエーター、又は同じか若しくは同様の機能の提供を促進する構造的要素若しくはアセンブリを含む、任意の既知のアクチュエーター１０２とすることができる。センサー１０４（当業者であれば、簡潔さ及び明確さのために、こうしたアレイを構成する個々のセンサーではなく、センサー１０４の領域が示されていることを理解するであろう）を使用して、ハプティック表面上の物体１０１の位置が特定される。ハプティック表面１００上の物体１０１の位置を使用して、物体１０１にハプティック信号が送出される。実施形態例では、センサー１０４及びアクチュエーター１０２は、タッチパネルのハプティック表面１００上の透明な導電電極の同じ組により実装することができる。
【００１９】
図２は、シングルレート処理アーキテクチャを使用する先行技術によるハプティックインターフェース２００を概略的に示す。ハプティックインターフェース２００は、携帯電話又はラップトップ等のコンピューティングデバイスのメモリで動作するアプリケーション２０２を含む。アプリケーション２０２は、センサー入力に基づいてハプティック出力を決定するインタラクションモデルを含みかつそれを動作させ、例えば、インタラクションモデルは、タッチ位置に基づいて表面摩擦を変化させる空間マッピングとすることができる。一実施形態では、アプリケーション２０２は、デバイスのオペレーティングシステムで動作する。アプリケーション２０２は、検知回路２０８によりセンサー２０６に通信可能に結合されるドライバー層２０４から、センサー情報を受け取る。ドライバー層２０４はまた、アクチュエーター回路２１２によりアクチュエーター２１４に通信可能に結合されている。ドライバー層２０４は、センサー情報を収集し、アプリケーションに送出するためにその情報をフォーマットするように作用する。アプリケーション２０２は、センサーデータを処理し、ドライバー層２０４に出力を提供し、その結果、ドライバー層は、ハプティック出力を発生させるためにアクチュエーター回路２１２を介してアクチュエーター２１４を操作する（例えば、選択的にアクティベートしディアクティベートする）ように信号を送ることができる。
【００２０】
図３は、図２に示すハプティックインターフェース２００で動作するハプティック制御ループ３００の動作の概略図を示す。ステップ３０２において、センサー２０６は、ハプティック表面１００と接触している位置及び加えられた力（指１０１又は他の物体の圧力等）を読み取る。ステップ３０４において、センサー２０６は、読み取った位置及び力を、検知回路２０８を介してドライバー層２０４に送信する。ステップ３０６において、ドライバー層２０４は、検知回路２０８から情報を受け取り、アプリケーション２０２によって処理されるように情報をフォーマットした後、アプリケーション２０２に情報を送信する。ステップ３０８において、アプリケーション２０２は、センサー２０６によって受け取られた情報に基づいてハプティック出力信号を計算し、そのハプティック出力信号を、処理されるようにドライバー層２０４に送信する。ステップ３１０において、ドライバー層２０４は、ハプティック出力信号をフォーマットし、その信号をアクチュエーター回路２１２に送信する。ステップ３１２において、アクチュエーター２１４は、アクチュエーター回路２１２からハプティック出力信号を受信し、ハプティック出力を発生させる。このハプティック制御ループでは、いくつかのステップは、オペレーティングシステムによってスケジューリングされる。大部分のオペレーティングシステムはスケジューリングのタイミングを保証することができないため、ハプティック制御ループは、予測することができない可変量のジッター及びラグを受けやすく、ユーザー体験は悪影響を受ける。
【００２１】
図４は、マルチレート触覚処理ユニットを使用する、本開示と一貫するハプティックインターフェースユニット２００の一実施形態を概略的に示す。ハプティックインターフェース２００は、アプリケーション２０２、ドライバー層２０４、センサー２０６、検知回路２０８、アクチュエーター回路２１２及びアクチュエーター２１４を備える。本実施形態と一貫して、アプリケーション２０２は、ドライバー層２０４とインタラクトして、ドライバー層２０４においてインタラクションモデルを更新して記憶し、その結果、ドライバー層２０４は、ハプティック出力を発生させるために、アプリケーションとインターフェースすることなく、アクチュエーター回路２１２を介してアクチュエーター２１４に対するハプティック出力信号を分析して発生させる。ドライバー層２０４からのハプティック出力信号の発生の後、ドライバー層２０４は、センサー情報をアプリケーション２０２に送信し、アプリケーションは、ドライバー層２０４においてインタラクションモデルを更新する。触覚処理ユニットは、ドライバー層ソフトウェアで実装され、アプリケーションレベルのオペレーティングシステムスケジューリングに影響されない。
【００２２】
図５は、図４のハプティックインターフェースユニットによって実行されるプロセス４００の概略表現を示す。ステップ４０２において、センサー２０６は、指の位置及び／又は圧力を読み取る。ステップ４０４において、センサー２０６は、センサー回路２０８を介して位置及び／又は圧力をドライバー層２０４に送信する。ステップ４０６において、ドライバー層２０４は、位置及び／又は圧力を処理し、カウンターをインクリメントする。ステップ４０８において、ドライバー層２０４は、ドライバー層２０４に記憶されたインタラクションモデルに基づいてハプティック出力信号を計算する。ステップ４１０において、ドライバー層２０４は、アクチュエーター回路２１２に出力されるハプティック出力信号を送信する。ステップ４１２において、アクチュエーター回路２１２は、ハプティック出力を生成するアクチュエーターにハプティック出力信号を送信する。
【００２３】
ステップ４１４において、ドライバー層２０４は、カウンターが１００等の所定数以上であるか否かを判断する。カウンターが所定数を超えた場合、４１６において、ドライバーは、センサー２０６から読み取られた位置及び圧力をアプリケーション２０２に送信する。カウンターが所定数未満である場合、ドライバー層２０４は、センサー２０６から追加の情報（例えば、指／物体の位置、圧力／力等）を読み取る。ステップ４１８において、アプリケーション２０２は、位置及び／又は圧力情報を受け取り、ドライバー層２０４に記憶されたインタラクションモデルを更新する。
【００２４】
図５に示すプロセスは、好ましくは、ハプティック出力のレンダリングにアプリケーション層メッセージを含まないマルチレート処理アーキテクチャによって実装され、したがって、オペレーティングシステム遅延に影響されない。ステップ４１６は、アプリケーションの内部で実行することができ、したがって、ステップ４０８とは非同期である。
【００２５】
図６Ａ及び図６Ｂは、連続したハプティック動作があるように、ハプティック制御ループを妨げることなくインタラクションモデルへの非同期の（すなわち、任意のタイミングの）更新を可能にするように、メモリ管理モジュールによって実行されるプロセスの動作と、更新されたインタラクションモデルに関してドライバー層において実行されるプロセスの動作との概略図を示す。これにより、異常動作（又はデッドロックした）アプリケーションの場合にハプティックインタラクションの完全性が確保される。この実施形態では、好ましくは、例えば２つのバッファー等、複数のバッファーが実装され、複数のバッファーのうちの１つは常に読出しに対して安全であり、複数のバッファーのうちの１つは書込みに対して安全である。このように、アーキテクチャは、ハプティック出力が、アプリケーションからの非同期更新にも関わらず、常に正しく計算されることを保証する。ハードウェアタイミング回路は、出力信号で有用である可能性がある。
【００２６】
図６Ａは、この図６Ａの第１のステップとして複製された、図５からのステップ４１８のプロセスの更なる動作の概略図である。ステップ４２０において、新たなインタラクションモデルは、出力バッファーに書き込まれるように準備される。ステップ４２２において、プロセスは、他の動作要素に基づいて、バッファーＡが「書込みバッファー」であるべきかバッファーＢが「書込みバッファー」であるべきかを判断する。上述したように、書込みバッファーではないバッファーは「読出しバッファー」となる。バッファーＡが書込みバッファーであるように選択された場合、ステップ４２４において、新たなインタラクションモデルはバッファーＡに書き込まれる。ステップ４２６において、要求された場合にこのプロセスの次の繰返しに対して、バッファーＢは書込みバッファーとして設定され、バッファーＡは読出しバッファーとして設定される。バッファーＢが書込みバッファーであるように選択された場合、ステップ４２８において、新たなインタラクションモデルはバッファーＢに書き込まれる。ステップ４３０において、要求された場合にこのプロセスの次の繰返しに対して、バッファーＡは書込みバッファーとして設定され、バッファーＢは読出しバッファーとして設定される。
【００２７】
図６Ｂは、図５からのステップ４０８のプロセスの更なる動作の概略図である。ステップ４４０において、ドライバー層は入力を受信し、次いで、ステップ４４２において、いずれのバッファーが読出しバッファーであるかを判断する。読出しバッファーがバッファーＡである場合、ステップ４４４において、バッファーＡに記憶されたインタラクションモデルを使用してアクチュエーターに対する出力が計算される。読出しバッファーがバッファーＢである場合、ステップ４４６において、バッファーＢに記憶されたインタラクションモデルを使用して、ハードウェアタイミング回路を用いてアクチュエーターに対する出力が計算される。
【００２８】
図７は、本開示と一貫するハプティックインターフェースユニット２００の別の実施形態を概略的に示す。ハプティックインターフェースは、アプリケーション２０２、ドライバー層２０４、センサー２０６、検知回路２０８、アクチュエーター回路２１２及びアクチュエーター２１４、並びにアプリケーション２０２及びドライバー層２０４と通信する触覚処理ユニット５００を備える。本実施形態と一貫して、触覚処理ユニット５００は、専用のソフトウェアコンピューティングコアと、入力信号を受信し、出力信号を生成するカスタム設計ハードウェア回路、例えばハードウェアタイミング回路との両方を含む、ハードウェア実装である。組込みプロセッサ５００からハプティック出力信号を生成した後、触覚処理ユニット５００は、ドライバー層２０４を介してアプリケーション２０２と通信し、アプリケーション２０２は、ドライバー層２０４を介して触覚処理ユニット５００におけるインタラクションモデルを更新する。
【００２９】
図８は、図７のハプティックインターフェースによって操作されるプロセス６００の概略表現を示す。ステップ６０２において、センサー２０６は、指の位置及び／又は圧力を読み取る。ステップ６０４において、センサー２０６は、センサー回路２０８を介して位置及び／又は圧力を、位置及び／又は圧力を処理する触覚処理ユニット５００に送信する。ステップ６０６において、触覚処理ユニット５００は、触覚処理ユニット５００に記憶されたインタラクションモデルに基づいてハプティック出力信号を決定する。ステップ６０８において、触覚処理ユニット５００は、アクチュエーター回路２１２を介してハプティック出力信号をアクチュエーター２１４に送信する。ステップ６１０において、触覚処理ユニット５００は、触覚処理ユニット５００のメモリにおける入力タイマーが満了したか否かを判断する。入力タイマーが満了していない場合、触覚処理ユニット５００は、更なるセンサー情報を読み出す。入力タイマーが満了した場合、ステップ６１２において、触覚処理ユニット５００は、位置及び／又は圧力情報をドライバー層２０４に送信する。ステップ６１４において、ドライバー層２０４は、位置及び／又は圧力情報をフォーマットし、フォーマットした情報をアプリケーション層に送信する。ステップ６１６において、アプリケーション２０２は、受信した圧力及び／又は位置に基づいてインタラクションモデルを更新する。ステップ６１８において、アプリケーション２０２は、ドライバー層２０４を介して、更新したインタラクションモデルを触覚処理ユニット５００に送信する。
【００３０】
図８に示すプロセスは、マルチレート処理アーキテクチャの別の実施形態である。この実施形態では、触覚処理ユニット５００は、特化したハードウェアタイミング回路を使用して、ステップ６０４、６０６及び６０８を実施し、全可聴周波数範囲にわたるのに十分である２０ｋＨｚを超過する更新レートを達成することができる。ハードウェアタイミング出力により、計算遅延は予想通りごくわずかであり、物理的システムをエミュレートするような複雑なハプティックインタラクションを確実にレンダリングすることができる。
【００３１】
ステップ６１８の結果として、触覚処理ユニット５００は、ドライバー層２０４を通してアプリケーション層２０２から非同期的にインタラクションモデル更新を受信する。利用可能な通信帯域幅及びタスクスケジューリングにより、これらの更新レートは約１ｋＨｚ又は２ｋＨｚに制限される。本明細書において上述したようなマルチバッファリング等、触覚処理ユニット５００における特化したメモリ管理により、ハードウェアタイミング出力が完全かつ有効なメモリに常にアクセスすることが確実になる。
【００３２】
図９は、ヒューマン入力デバイス（ＨＩＤ）及びハプティックインターフェースの両方としての役割を提供する、本開示と一貫する二重機能ハプティックインターフェースユニットの一実施形態を概略的に示す。この実施形態では、触覚処理ユニット５００は、広くサポートされているヒューマン入力デバイス入力９０２としてかつハプティックインターフェースとしての両方の役割を果たす、二重機能デバイスとしてのオペレーティングシステム９００に接続することができる。この実施形態では、（他の要素もあるが特に検知回路２０８を備える）センサーインターフェース９０４は、センサー２０６から得られるデータを、インタラクションモデルバッファー９０６に、並びにＨＩＤドライバー９０２及びハプティックインターフェース制御ドライバー又はＴＰＵドライバー９０５の両方に、並びにオペレーティングシステムドライバー層２０４に存在する他の任意の既存のドライバーに送信する。その結果、ドライバー層２０４は、ＨＩＤドライバー９０２からのタッチ入力データを分析し、予測し、計算し、生成して、アプリケーションに記憶されたグローバルインタラクションモデルに基づいてローカルインタラクションモデルを生成することができる。好ましくは、一態様では、触覚処理ユニット５００におけるメモリ制約に適応するために、触覚処理ユニット５００にローカルインタラクションモデルの関連データのサブセットを送信することができる。さらに、触覚処理ユニット５００におけるメモリ制約を満足させるように、触覚処理ユニット５００に、関連するタッチ入力データ及びセンサーデータを送信することができる。一実施形態例では、ドライバー層２０４は（ＨＩＤ９０２からの）タッチ入力を使用して、グローバルインタラクションモデル９０８のいずれの部分が近い将来タッチ入力に局所的に近接して配置されるかを分析して予測し、ＴＰＵインタラクションモデルバッファー９０６に配置するべきローカルインタラクションモデル９１０を計算して生成する。
【００３３】
図１０は、本開示と一貫するハプティックインターフェースのドライバー層とハードウェア層との間の符号化通信層の一実施形態を概略的に示す。この実施形態では、ドライバー層２０４のＴＰＵドライバー９０５は、通信バスによって課される帯域幅制限を満たすように、ローカルインタラクションモデル９１０のデータを触覚処理ユニット５００に中継する前に圧縮する、エンコーダー１００２を備えることができる。一実施形態では、エンコーダー１００２は、関連データ、ローカルインタラクションモデルのパラメーターにおける変化又は差分を送信するのみである。触覚処理ユニット５００におけるデコーダー１００４は、符号化データを解釈し、その後、その符号化データを、リアルタイムレンダリングに対して本明細書に記載したようなハードウェアタイミングハプティック制御ループ及びインターフェースによって使用されるようにインタラクションモデルバッファー９０６に提供する。
【００３４】
本開示では、数量を特定しない語は、単数のもの及び複数のものの両方を含むように解釈されるべきである。逆に、複数の要素に対するいかなる言及も、適切である場合は、単数のものを含むものとする。
【００３５】
本明細書に開示される、本発明における好ましい実施形態に対する様々な変更及び修正は、当業者には明らかであろうと理解されるべきである。そのような変更及び修正は、本開示の趣旨及び範囲から逸脱することなく、かつその意図された利点を減らすことなく行われ得る。したがって、そのような変更及び修正は、添付の特許請求の範囲に含まれるものと意図される。
【００３６】
上述した例は、単に説明の目的で提供しており、本明細書に開示した本発明の概念を限定するものとして決して解釈されるべきでは決してない。発明の概念について様々な実施形態に関連して記載したが、本明細書で使用した用語は、限定の用語ではなく説明及び例示の用語であることが理解されよう。さらに、発明の概念について、本明細書では、特定の手段、材料及び実施形態に関して説明したが、発明の概念は、本明細書に開示する詳細に限定するようには意図されず、むしろ、添付の請求項の範囲内にあるような全ての機能的に均等な構造物、方法及び使用にまで及ぶ。本明細書の教示を利用できる当業者であれば、そうした教示に対する多数の修正に影響を与えることができ、発明の概念の範囲及び趣旨から逸脱することなく、本明細書の態様において変更が行われることが可能である。
【００３７】
本発明の概念の開示した実施形態の様々な要素の構造、機能又は構成の他の任意の開示していない又は付随する詳細は、それらの要素が開示されているように実施するために必要な属性を有する限り、本発明の概念の利点の達成には不可欠であるとは考えられない。確かに、ハプティック技術分野における当業者は、発明の概念を促進しかつ実施するために、多種多様な構造的かつ機能的システム及び構成並びにそれらのシステム及び構成の適切な組合せを思いつくことができよう。構造及び動作のこれらの及び他の詳細の選択は、本開示に鑑みて、本技術分野ににおいて基本的な技能を有する者の能力の範囲でも十分可能であると考えられる。発明の概念を有利に実施することができる実用的で有効な構造及び機能を開示する目的で、本発明の概念の例示的な実施形態についてかなり詳細に記載した。本明細書に記載した実施形態は、単に例示的であるように意図されている。本発明の概念の新規な特徴は、本発明の概念の趣旨及び範囲から逸脱することなく、他の構造的又は機能的形態に組み込むことができる。本発明の概念は、例示的な実施形態に関して記載した要素を含む実施形態及びそうした要素からなる実施形態の両方を包含する。別段の指示がない限り、本明細書で使用した全ての一般語及び用語は、The  New  Shorter  Oxford  English  Dictionary,  1993  editionにおいて定義されているようなそれらの慣例的な意味を有するものとする。全ての技術用語は、その特定の技術分野における当業者が利用する適切な技術部門により確立されるようなそれらの慣例的な意味を有するものとする。
【図１】
2020512642.tif 000003
【図２】
2020512642.tif 000004
【図３】
2020512642.tif 000005
【図４】
2020512642.tif 000006
【図５】
2020512642.tif 000007
【図６Ａ】
2020512642.tif 000008
【図６Ｂ】
2020512642.tif 000009
【図７】
2020512642.tif 000010
【図８】
2020512642.tif 000011
【図９】
2020512642.tif 000012
【図１０】
2020512642.tif 000013
【国際調査報告】
2020512642.tif 000014
2020512642.tif 000015
2020512642.tif 000016
2020512642.tif 000017