IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

2023-547764拡張現実におけるオブジェクト再配置タスクのための最適支援
<>
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図1
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図2
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図3
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図4A
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図4B
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図5
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図6
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図7
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図8A
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図8B
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図8C
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図9
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図10
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図11
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図12
  • -拡張現実におけるオブジェクト再配置タスクのための最適支援 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-14
(54)【発明の名称】拡張現実におけるオブジェクト再配置タスクのための最適支援
(51)【国際特許分類】
   G06F 3/01 20060101AFI20231107BHJP
【FI】
G06F3/01 510
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023517920
(86)(22)【出願日】2021-09-19
(85)【翻訳文提出日】2023-05-01
(86)【国際出願番号】 US2021051007
(87)【国際公開番号】W WO2022081300
(87)【国際公開日】2022-04-21
(31)【優先権主張番号】63/091,832
(32)【優先日】2020-10-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/319,963
(32)【優先日】2021-05-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.Blu-ray
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】カールスバーグ, ケヴィン トーマス
(72)【発明者】
【氏名】デサイ, ルタ パリマル
(72)【発明者】
【氏名】ニューマン, ベンジャミン アレキサンダー
(72)【発明者】
【氏名】ヒリス, ジェームズ
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA23
5E555AA59
5E555AA64
5E555BA38
5E555BB38
5E555BC04
5E555CA42
5E555CA44
5E555CB34
5E555CB66
5E555CC03
5E555DA08
5E555DA09
5E555DA23
5E555DA24
5E555DB41
5E555DC09
5E555DD08
5E555EA07
5E555EA20
5E555FA00
(57)【要約】
開示されるコンピュータ実装方法が、人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、複数のオブジェクトを識別することに基づいて、複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義することとを含み得る。本方法は、オブジェクト操作目的を完了するために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、人工現実システムを介して、アクションシーケンスを示す通知をユーザに提示することとをも含み得る。様々な他の方法、システム、およびコンピュータ可読媒体も開示される。
【選択図】図5
【特許請求の範囲】
【請求項1】
人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、
前記複数のオブジェクトを識別することに基づいて、前記複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義することと、
前記オブジェクト操作目的を完了するために前記複数のオブジェクトのうちの前記少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、
前記人工現実システムを介して、前記アクションシーケンスを示す通知を前記ユーザに提示することと
を含む、コンピュータ実装方法。
【請求項2】
前記オブジェクト操作目的が、前記複数のオブジェクトのうちの前記少なくとも1つについての所望の終了状態を定義し、前記アクションシーケンスが、前記所望の終了状態をもたらすために前記複数のオブジェクトのうちの前記少なくとも1つを操作するためのアクションステップを含む、請求項1に記載の方法。
【請求項3】
前記人工現実システムを介して、前記アクションシーケンスの進捗を監視することと、
前記進捗を監視しながら、前記アクションシーケンスからの逸脱を検出することと、
検出された前記逸脱に基づいて前記アクションシーケンスを更新することと
をさらに含む、請求項1または2に記載の方法。
【請求項4】
前記オブジェクト操作目的を定義することが、
コンテキスト信号と前記複数のオブジェクトの前記識別とに基づいて、前記複数のオブジェクトに関するユーザ目標を推論することと、
推論された前記ユーザ目標に基づいて、目的のライブラリから前記オブジェクト操作目的を選択することと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記コンテキスト信号が、時刻、ユーザ入力、または前記ユーザのビューのうちの少なくとも1つを含む、請求項4に記載の方法。
【請求項6】
前記ユーザ目標を推論することが、前記複数のオブジェクトに関する複数のユーザ目標を推論することをさらに含み、
前記オブジェクト操作目的を選択することが、前記複数のユーザ目標に基づいて目的の前記ライブラリから複数のオブジェクト操作目的を選択することをさらに含む、
請求項4または5に記載の方法。
【請求項7】
前記オブジェクト操作目的の現在状態を識別することをさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記現在状態が、前記オブジェクト操作目的に関連付けられた物理オブジェクトについての不確実な状態を含む、請求項7に記載の方法。
【請求項9】
前記アクションシーケンスは、前記不確実な状態を解決することが予想されるアクションステップを含む、請求項8に記載の方法。
【請求項10】
前記複数のオブジェクトが、既知のオブジェクトと未知のオブジェクトとを含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記オブジェクト操作目的が、前記複数のオブジェクトのうちの前記少なくとも1つを所望のロケーションに再位置決めするためのオブジェクト再配置タスクを含み、前記アクションシーケンスが、前記複数のオブジェクトのうちの前記少なくとも1つを前記所望のロケーションに移動するための少なくとも1つのアクションステップを含む、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記通知が、視覚通知、ハプティック通知、または可聴通知のうちの少なくとも1つを含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
少なくとも1つの物理プロセッサと、
コンピュータ実行可能命令を備える物理メモリと
を備えるシステムであって、前記コンピュータ実行可能命令は、前記物理プロセッサによって実行されたとき、前記物理プロセッサに、
人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、
前記複数のオブジェクトを識別することに基づいて、前記複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義することと、
前記オブジェクト操作目的を完了するために前記複数のオブジェクトのうちの前記少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、
前記人工現実システムを介して、前記アクションシーケンスを示す通知を前記ユーザに提示することと、を行わせる、
システム。
【請求項14】
前記オブジェクト操作目的が、前記複数のオブジェクトのうちの前記少なくとも1つについての所望の終了状態を定義し、前記アクションシーケンスが、前記所望の終了状態をもたらすために前記複数のオブジェクトのうちの前記少なくとも1つを操作するためのアクションステップを含む、請求項13に記載のシステム。
【請求項15】
前記物理プロセッサに、
前記人工現実システムを介して、前記アクションシーケンスの進捗を監視することと、
前記進捗を監視しながら、前記アクションシーケンスからの逸脱を検出することと、
検出された前記逸脱に基づいて前記アクションシーケンスを更新することと
を行わせる命令をさらに備える、請求項13または14に記載のシステム。
【請求項16】
前記オブジェクト操作目的を定義するための前記命令が、前記プロセッサに、
コンテキスト信号と前記複数のオブジェクトの前記識別とに基づいて、前記複数のオブジェクトに関するユーザ目標を推論することと、
推論された前記ユーザ目標に基づいて、目的のライブラリから前記オブジェクト操作目的を選択することと
をさらに行わせる、請求項13から15のいずれか一項に記載のシステム。
【請求項17】
1つまたは複数のコンピュータ実行可能命令を備える非一時的コンピュータ可読媒体であって、前記1つまたは複数のコンピュータ実行可能命令は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されたとき、前記コンピューティングデバイスに、
人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、
前記複数のオブジェクトを識別することに基づいて、前記複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義することと、
前記オブジェクト操作目的を完了するために前記複数のオブジェクトのうちの前記少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、
前記人工現実システムを介して、前記アクションシーケンスを示す通知を前記ユーザに提示することと、を行わせる、
非一時的コンピュータ可読媒体。
【請求項18】
前記オブジェクト操作目的が、前記複数のオブジェクトのうちの前記少なくとも1つについての所望の終了状態を定義し、前記アクションシーケンスが、前記所望の終了状態をもたらすために前記複数のオブジェクトのうちの前記少なくとも1つを操作するためのアクションステップを含む、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記コンピューティングデバイスに、
前記人工現実システムを介して、前記アクションシーケンスの進捗を監視することと、
前記進捗を監視しながら、前記アクションシーケンスからの逸脱を検出することと、
検出された前記逸脱に基づいて前記アクションシーケンスを更新することと
を行わせる命令をさらに備える、請求項17または18に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記オブジェクト操作目的を定義するための前記命令が、前記コンピューティングデバイスに、
コンテキスト信号と前記複数のオブジェクトの前記識別とに基づいて、前記複数のオブジェクトに関するユーザ目標を推論することと、
推論された前記ユーザ目標に基づいて、目的のライブラリから前記オブジェクト操作目的を選択することと
をさらに行わせる、請求項17から19のいずれか一項に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、拡張現実におけるオブジェクト再配置タスク(object-rearrangement task)に関し、詳細には、拡張現実におけるオブジェクト再配置タスクに関する支援を提供することに関する。
【背景技術】
【0002】
人々は、しばしば、ほとんど事前に計画することなく、家事、旅行のための荷造りなど、ルーチンタスクを実施する。たとえば、人は、最も近いまたは最も容易なステップからタスクを開始し、他のステップに移り得る。人は、現在のステップを完了することなしに別のステップに移り、1つまたは複数のステップを忘れ、および/または非意図的に困難を加え得る順序または様式でステップを通して進み得る。
【0003】
本開示は、少なくとも部分的に、上記で説明された不利および欠点のいずれかまたはすべてに対処しようするものである。
【発明の概要】
【0004】
本開示の第1の態様によれば、人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、複数のオブジェクトを識別することに基づいて、複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的(object-manipulation objective)を定義することと、オブジェクト操作目的を完了するために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、人工現実システムを介して、アクションシーケンスを示す通知をユーザに提示することとを含む、コンピュータ実装方法が提供される。
【0005】
いくつかの実施形態では、オブジェクト操作目的は、複数のオブジェクトのうちの少なくとも1つについての所望の終了状態を定義し得、アクションシーケンスは、所望の終了状態をもたらすために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップを含み得る。
【0006】
いくつかの実施形態では、本方法は、人工現実システムを介して、アクションシーケンスの進捗(progress)を監視することと、進捗を監視しながら、アクションシーケンスからの逸脱を検出することと、検出された逸脱に基づいてアクションシーケンスを更新することとをさらに含み得る。
【0007】
いくつかの実施形態では、オブジェクト操作目的を定義することは、コンテキスト信号と複数のオブジェクトの識別とに基づいて、複数のオブジェクトに関するユーザ目標(user goal)を推論することと、推論されたユーザ目標に基づいて、目的のライブラリからオブジェクト操作目的を選択することとをさらに含み得る。
【0008】
いくつかの実施形態では、コンテキスト信号は、時刻、ユーザ入力、またはユーザのビューのうちの少なくとも1つを含み得る。
【0009】
いくつかの実施形態では、ユーザ目標を推論することは、複数のオブジェクトに関する複数のユーザ目標を推論することをさらに含み得、オブジェクト操作目的を選択することは、複数のユーザ目標に基づいて目的のライブラリから複数のオブジェクト操作目的を選択することをさらに含み得る。
【0010】
いくつかの実施形態では、本方法は、オブジェクト操作目的の現在状態を識別することをさらに含み得る。
【0011】
いくつかの実施形態では、現在状態は、オブジェクト操作目的に関連付けられた物理オブジェクトについての不確実な状態を含み得る。
【0012】
いくつかの実施形態では、アクションシーケンスは、不確実な状態を解決することが予想されるアクションステップを含み得る。
【0013】
いくつかの実施形態では、複数のオブジェクトは、既知のオブジェクトと未知のオブジェクトとを含み得る。
【0014】
いくつかの実施形態では、オブジェクト操作目的は、複数のオブジェクトのうちの少なくとも1つを所望のロケーションに再位置決めするためのオブジェクト再配置タスクを含み得、アクションシーケンスは、複数のオブジェクトのうちの少なくとも1つを所望のロケーションに移動するための少なくとも1つのアクションステップを含み得る。
【0015】
いくつかの実施形態では、通知は、視覚通知、ハプティック(haptic)通知、または可聴通知のうちの少なくとも1つを含み得る。
【0016】
本開示の第2の態様によれば、少なくとも1つの物理プロセッサと、物理メモリとを備えるシステムであって、物理メモリは、物理プロセッサによって実行されたとき、物理プロセッサに、人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、複数のオブジェクトを識別することに基づいて、複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義することと、オブジェクト操作目的を完了するために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、人工現実システムを介して、アクションシーケンスを示す通知をユーザに提示することとを行わせるコンピュータ実行可能命令を備える、システムが提供される。
【0017】
いくつかの実施形態では、オブジェクト操作目的は、複数のオブジェクトのうちの少なくとも1つについての所望の終了状態を定義し得、アクションシーケンスは、所望の終了状態をもたらすために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップを含み得る。
【0018】
いくつかの実施形態では、本システムは、物理プロセッサに、人工現実システムを介して、アクションシーケンスの進捗を監視することと、進捗を監視しながら、アクションシーケンスからの逸脱を検出することと、検出された逸脱に基づいてアクションシーケンスを更新することとを行わせる命令をさらに備え得る。
【0019】
いくつかの実施形態では、オブジェクト操作目的を定義するための命令は、プロセッサに、コンテキスト信号と複数のオブジェクトの識別とに基づいて、複数のオブジェクトに関するユーザ目標を推論することと、推論されたユーザ目標に基づいて、目的のライブラリからオブジェクト操作目的を選択することとをさらに行わせ得る。
【0020】
本開示の第3の態様によれば、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されたとき、コンピューティングデバイスに、人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、複数のオブジェクトを識別することに基づいて、複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義することと、オブジェクト操作目的を完了するために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、人工現実システムを介して、アクションシーケンスを示す通知をユーザに提示することとを行わせる1つまたは複数のコンピュータ実行可能命令を備える非一時的コンピュータ可読媒体が提供される。
【0021】
いくつかの実施形態では、オブジェクト操作目的は、複数のオブジェクトのうちの少なくとも1つについての所望の終了状態を定義し得、アクションシーケンスは、所望の終了状態をもたらすために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップを含み得る。
【0022】
いくつかの実施形態では、本非一時的コンピュータ可読媒体は、コンピューティングデバイスに、人工現実システムを介して、アクションシーケンスの進捗を監視することと、進捗を監視しながら、アクションシーケンスからの逸脱を検出することと、検出された逸脱に基づいてアクションシーケンスを更新することとを行わせる命令をさらに備え得る。
【0023】
いくつかの実施形態では、オブジェクト操作目的を定義するための命令は、コンピューティングデバイスに、コンテキスト信号と複数のオブジェクトの識別とに基づいて、複数のオブジェクトに関するユーザ目標を推論することと、推論されたユーザ目標に基づいて、目的のライブラリからオブジェクト操作目的を選択することとをさらに行わせ得る。
【0024】
本開示の1つまたは複数の態様または実施形態への組込みに好適であるものとして本明細書で説明される任意の特徴は、本開示の任意のおよびすべての態様および実施形態にわたって一般化可能であるものとすることが諒解されよう。本開示の明細書、特許請求の範囲および図面に照らして、本開示の他の態様が当業者によって理解され得る。上記の概略的な説明および以下の発明を実施するための形態は、例示的および説明的なものにすぎず、特許請求の範囲を限定しない。
【0025】
添付の図面は、いくつかの例示的な実施形態を示し、本明細書の一部である。以下の説明とともに、これらの図面は、本開示の様々な原理を示し、それらの原理について説明する。
【図面の簡単な説明】
【0026】
図1】オブジェクト操作目的に関して支援するために人工現実システムを使用するための例示的な方法の流れ図である。
図2】オブジェクト操作目的に関して支援するための例示的なシステムのブロック図である。
図3】人工現実システムのための例示的なネットワークのブロック図である。
図4A】例示的なオブジェクト操作目的の図である。
図4B】例示的なオブジェクト操作目的の図である。
図5】オブジェクト操作目的のための潜在的アクションシーケンスの図である。
図6】潜在的アクションシーケンスのための3次元(3D)マッピングの図である。
図7】人工現実支援オブジェクト操作のための例示的なユーザインターフェース(UI)の図である。
図8A】オブジェクト操作目的を支援するための例示的な人工現実オーバーレイの図である。
図8B】オブジェクト操作目的を支援するための例示的な人工現実オーバーレイの図である。
図8C】オブジェクト操作目的を支援するための例示的な人工現実オーバーレイの図である。
図9】本開示の実施形態に関して使用され得る例示的な拡張現実眼鏡の図である。
図10】本開示の実施形態に関して使用され得る例示的な仮想現実ヘッドセットの図である。
図11】本開示の実施形態に関して使用され得る例示的なハプティックデバイスの図である。
図12】本開示の実施形態による例示的な仮想現実環境の図である。
図13】本開示の実施形態による例示的な拡張現実環境の図である。
【発明を実施するための形態】
【0027】
図面全体にわたって、同じ参照符号および記述は、同様であるが、必ずしも同じとは限らない、要素を示す。本明細書で説明される例示的な実施形態は、様々な修正および代替形態が可能であるが、特定の実施形態が、図面において例として示されており、本明細書で詳細に説明される。しかしながら、本明細書で説明される例示的な実施形態は、開示される特定の形態に限定されるものではない。むしろ、本開示は、添付の特許請求の範囲内に入るすべての修正、均等物、および代替形態をカバーする。
【0028】
人々は、しばしば、ほとんど事前に計画することなく、家事、旅行のための荷造りなど、ルーチンタスクを実施する。たとえば、人は、最も近いまたは最も容易なステップからタスクを開始し、他のステップに移り得る。人は、現在のステップを完了することなしに別のステップに移り、1つまたは複数のステップを忘れ、および/または非意図的に困難を加え得る順序または様式でステップを通して進み得る。
【0029】
拡張現実眼鏡などの人工現実デバイスは、オンボードセンサーを介したユーザの環境に関するリアルタイムのハイフィデリティデータへのアクセス、ならびにユーザにリアルタイム情報をシームレスに表示するアビリティ(ability)を有し得る。したがって、ユーザがタスクを実施しているとき、人工現実デバイスは、ユーザの環境を分析し、リアルタイムでフィードバックを提供することが可能であり得る。人工現実デバイスの算出リソースを活用することによって、ユーザは、より効率的にタスクを実施することが可能であり得る。
【0030】
本開示は、概して、オブジェクト操作タスクに関する支援を提供することを対象とする。以下でより詳細に説明されるように、本開示の実施形態は、ユーザの現実世界環境における物理オブジェクトを識別することに基づいて、ユーザのためのオブジェクト操作目的を定義し得る。本明細書で開示されるシステムおよび方法は、ユーザがオブジェクト操作目的を実施するためのアクションシーケンスを決定し、アクションシーケンスを示す通知を提示し得る。したがって、開示されるシステムおよび方法は、ユーザが実施することを望み得るタスクのタイプ、ならびに提供される支援に関してフレキシブルであり得る。さらに、オブジェクト操作目的を定義するための基礎としてオブジェクト認識を使用することによって、開示されるシステムおよび方法は、より効率的にアクションシーケンスを決定し、コンピューティングオーバーヘッドを低減し得る。開示されるシステムおよび方法は、人工現実ならびにユーザインターフェースの分野をさらに改善し得る。
【0031】
本明細書で説明される実施形態のいずれかからの特徴が、本明細書で説明される一般的な原理に従って、互いと組み合わせて使用され得る。これらおよび他の実施形態、特徴、および利点は、添付の図面および特許請求の範囲とともに以下の詳細な説明を読むとより十分に理解されよう。
【0032】
以下は、図1図13を参照しながら、人工現実におけるオブジェクト操作目的のための支援を提供するための方法およびシステムの詳細な説明を提供する。オブジェクト操作目的のための支援を提供するための方法の説明が、図1に関して提供される。オブジェクト操作目的のための支援を提供するための例示的なシステムおよびデバイスは、図2図3図9図10図11図12、および図13に関して説明される。例示的なタスクの説明が、図4図5、および図6に関して提供される。例示的なユーザインターフェースの説明が、図7、および図8A図8Cに関して提供される。
【0033】
図1は、オブジェクト操作目的のための人工現実における支援を提供するための例示的なコンピュータ実装方法100の流れ図である。図1に示されているステップは、図2図3図9図10図11図12、および図13に示されているシステムを含む、任意の好適なコンピュータ実行可能コードおよび/またはコンピューティングシステムによって実施され得る。一例では、図1に示されているステップの各々は、その構造が複数のサブステップを含み、および/または複数のサブステップによって表される、アルゴリズムを表し得、その例は以下でより詳細に提供される。
【0034】
図1に示されているように、ステップ110において、本明細書で説明されるシステムのうちの1つまたは複数が、人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別し得る。たとえば、図2における識別モジュール204は、ユーザの現実世界環境において検出された様々な物理オブジェクトを識別し得る。
【0035】
本明細書で説明される様々なシステムは、ステップ110を実施し得る。図2は、オブジェクト操作目的のための支援を提供するための例示的なシステム200のブロック図である。この図に示されているように、例示的なシステム200は、1つまたは複数のタスクを実施するための1つまたは複数のモジュール202を含み得る。本明細書でより詳細に説明されるようには、モジュール202は、識別モジュール204と、目的モジュール206と、シーケンスモジュール208と、提示モジュール210とを含み得る。別個の要素として示されているが、図2中のモジュール202のうちの1つまたは複数は、単一のモジュールまたはアプリケーションの部分を表し得る。
【0036】
いくつかの実施形態では、図2中のモジュール202のうちの1つまたは複数は、コンピューティングデバイスによって実行されたとき、コンピューティングデバイスに1つまたは複数のタスクを実施させ得る、1つまたは複数のソフトウェアアプリケーションまたはプログラムを表し得る。たとえば、および以下でより詳細に説明されるように、モジュール202のうちの1つまたは複数は、図3に示されているデバイス(たとえば、コンピューティングデバイス302および/またはサーバ306)など、1つまたは複数のコンピューティングデバイス上で稼働するように記憶および構成されたモジュールを表し得る。図2中のモジュール202のうちの1つまたは複数は、1つまたは複数のタスクを実施するように構成された1つまたは複数の専用コンピュータのすべてまたは部分をも表し得る。
【0037】
図2に示されているように、例示的なシステム200は、メモリ240など、1つまたは複数のメモリデバイスをも含み得る。メモリ240は、概して、データおよび/またはコンピュータ可読命令を記憶することが可能な、任意のタイプまたは形態の揮発性または不揮発性記憶デバイスまたは媒体を表す。一例では、メモリ240は、モジュール202のうちの1つまたは複数を記憶、ロード、および/または維持し得る。メモリ240の例は、限定はしないが、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、光ディスクドライブ、キャッシュ、上記のうちの1つまたは複数の変形形態または組合せ、および/あるいは任意の他の好適な記憶メモリを含む。
【0038】
図2に示されているように、例示的なシステム200は、物理プロセッサ230など、1つまたは複数の物理プロセッサをも含み得る。物理プロセッサ230は、概して、コンピュータ可読命令を解釈および/または実行することが可能な任意のタイプまたは形態のハードウェア実装処理ユニットを表す。一例では、物理プロセッサ230は、メモリ240に記憶されたモジュール202のうちの1つまたは複数にアクセスし、および/またはそれを変更し得る。追加または代替として、物理プロセッサ230は、マッピングシステムを維持することを容易にするためにモジュール202のうちの1つまたは複数を実行し得る。物理プロセッサ230の例は、限定はしないが、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット(CPU)、ソフトコアプロセッサを実装するフィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、上記のうちの1つまたは複数の部分、上記のうちの1つまたは複数の変形形態または組合せ、および/あるいは任意の他の好適な物理プロセッサを含む。
【0039】
図2に示されているように、例示的なシステム200は、オブジェクト222、目的224、終了状態226、およびアクションシーケンス228など、1つまたは複数の追加の要素220をも含み得る。追加の要素220のうちの1つまたは複数は、メモリ240などのローカルストレージデバイス上に記憶され得るか、またはリモートでアクセスされ得る。オブジェクト222は、以下でさらに説明されるように、ユーザの現実世界環境におけるオブジェクトに関係するデータを表し得る。目的224は、以下でさらに説明されるように、現実世界環境における物理オブジェクトを操作するために、ユーザのための1つまたは複数のオブジェクト操作目的に関係するデータを表し得る。終了状態226は、以下でさらに説明されるように、現実世界環境における1つまたは複数のオブジェクトの終了状態に関係するデータを表し得る。アクションシーケンス228は、以下でさらに説明されるように、ユーザがオブジェクト操作目的を完了するためのアクションステップのシーケンスに関係するデータを表し得る。
【0040】
図2中の例示的なシステム200は、様々なやり方で実装され得る。たとえば、例示的なシステム200の全部または一部分が、図3中の例示的なネットワーク環境300の部分を表し得る。
【0041】
図3は、本開示の態様を実装する例示的なネットワーク環境300を示す。ネットワーク環境300は、コンピューティングデバイス302と、ネットワーク304と、サーバ306とを含む。コンピューティングデバイス302は、人工現実システム(たとえば、図9中の拡張現実システム900、図10中の仮想現実システム1000、図11中の振動触覚システム1100、図12中のヘッドマウントディスプレイ1202およびハプティックデバイス1204、図13中の拡張現実システム1300)、デスクトップコンピュータ、ラップトップコンピュータ、タブレットデバイス、スマートフォン、または他のコンピューティングデバイスなど、クライアントデバイスまたはユーザデバイスであり得る。コンピューティングデバイス302は、1つまたは複数のプロセッサであり得る物理プロセッサ230と、追加の要素220のうちの1つまたは複数などのデータを記憶し得るメモリ240と、環境からオブジェクト222を検出することが可能なセンサー370と、ディスプレイ380とを含み得る。いくつかの実装形態では、コンピューティングデバイス302は、ディスプレイ380が画像をユーザのローカル環境のユーザのビュー上にオーバーレイするような拡張現実デバイスを表し得る。たとえば、ディスプレイ380は、ユーザがユーザの環境を見得るように、環境からの光が通過することを可能にする透明媒体を含み得る。ディスプレイ380は、次いで、情報をオーバーレイするために透明媒体上に描き得る。代替的に、ディスプレイ380は、透明媒体上におよび/またはユーザの眼上に画像を投影し得る。コンピューティングデバイス302は、音出力のためのスピーカー382をも含み得る。
【0042】
センサー370は、カメラなどの1つまたは複数のセンサー、ならびに、マイクロフォン、慣性測定ユニット(IMU)、ジャイロスコープ、GPSデバイスなど、環境における特徴および/またはオブジェクトを検出することが可能な他のセンサーを含み得る。コンピューティングデバイス302は、サーバ306に送るためにセンサー370を使用してオブジェクト222を検出および識別することが可能であり得る。
【0043】
サーバ306は、人工現実環境についてのデータを処理することが可能な1つまたは複数のサーバを表すか、または含み得る。サーバ306は、たとえば、コンピューティングデバイス302からの信号を使用して人工現実環境におけるユーザ位置ならびにオブジェクトを追跡し得る。サーバ306は、1つまたは複数のプロセッサを含み得る物理プロセッサ230と、モジュール202を記憶し得るメモリ240と、追加の要素220のうちの1つまたは複数とを含み得る。
【0044】
コンピューティングデバイス302は、ネットワーク304を通してサーバ306に通信可能に結合され得る。ネットワーク304は、インターネットなどの任意のタイプまたは形態の通信ネットワークを表し得、LANなどの1つまたは複数の物理接続、および/またはWANなどのワイヤレス接続を備え得る。
【0045】
図1に戻ると、本明細書で説明されるシステムは、様々なやり方でステップ110を実施し得る。一例では、識別モジュール204は、コンピューティングデバイス302および/またはサーバ306の一部として、センサー370によってキャプチャされる視覚データなどの人工現実信号を受信し、受信された信号を(たとえば、コンピュータビジョンを使用して)処理して、ユーザの現実世界環境における物理オブジェクトを識別し、オブジェクト222として、識別されたオブジェクトと関係するデータとを記憶し得る。たとえば、オブジェクト222は、オブジェクト識別子、オブジェクトロケーションおよび/または姿勢、オブジェクト分類子などを含み得る。
【0046】
いくつかの例では、識別されたオブジェクト(たとえば、オブジェクト222)は、既知のオブジェクトと未知のオブジェクトとを含み得る。たとえば、オブジェクト222は、ユーザの現実世界環境において前に識別されたか、またはさもなければ既知のオブジェクトとマッチするオブジェクトを含み得る。オブジェクト222は、新たに識別されるか、またはさもなければ既知のオブジェクトにマッチしないオブジェクトをも含み得る。未知のオブジェクトは、ユーザの現実世界環境に新たに追加された物理オブジェクトに対応し得るか、あるいは予想外のロケーションにおけるオブジェクト、認識されていない構成をもつオブジェクト、既知のオブジェクトの予想外の重複、現在の人工現実信号および/または利用可能なデータを用いて容易に識別可能でないオブジェクトなど、未知の態様をもつ物理オブジェクトに対応し得る。
【0047】
いくつかの例では、オブジェクト222は、ユーザの現実世界環境にあることが予想されるオブジェクトに関するデータを含み得る。たとえば、識別モジュール204は、ユーザの自宅内にあり得るユーザの現実世界環境を認識し、ユーザの自宅の前の走査中に識別されたオブジェクトなど、いくつかのオブジェクトが存在することを予想し得る。いくつかの例では、予想されるオブジェクトを認識することができないこと、または予想されるオブジェクトを予想外のロケーションにおいて検出することは、以下でさらに説明されるように、不確実性を提示し得る。
【0048】
ステップ120において、本明細書で説明されるシステムのうちの1つまたは複数は、複数のオブジェクトを識別することに基づいて、複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義し得る。たとえば、目的モジュール206は、オブジェクト222に基づいて目的224を定義し得る。
【0049】
いくつかの実施形態では、「オブジェクト操作目的」という用語は、1つまたは複数のオブジェクトを操作することによって達成され得る1つまたは複数のタスクまたは目標を指し得る。オブジェクト操作目的は、1つまたは複数のオブジェクトのユーザの所望の操作に関係し得る。オブジェクト操作目的は、複雑さが単純なもの(たとえば、単一のオブジェクト操作を必要とすること)から複雑なもの(たとえば、複数のアクションを必要とすること)にわたり得る。オブジェクト操作目的は、たとえば、追加のデータが取得されるにつれて、オブジェクトが操作されるにつれてなど、時間とともに変化し得る。オブジェクト操作目的の例は、限定はしないが、家をクリーニングすること、旅行のための荷造り、品物のショッピング、生活空間を整理すること、食べ物を用意すること、品物を組み立てること、品物を修理することなどを含み得る。
【0050】
本明細書で説明されるシステムは、様々なやり方でステップ120を実施し得る。一例では、オブジェクト操作目的は、複数のオブジェクトのうちの少なくとも1つについての所望の終了状態を定義し得る。たとえば、目的224は、オブジェクト222に関する終了状態226を確立し得る。終了状態226は、オブジェクト222の1つまたは複数のオブジェクトについてのユーザの所望の終了状態を説明するか、またはさもなければ定義するデータを含み得る。言い換えれば、終了状態226は、目的224のうちの1つまたは複数の目的を達成した後にオブジェクト222のうちの1つまたは複数のオブジェクトの状態(たとえば、ロケーション、位置、姿勢、コンポジションなど)を特徴づけ得る。
【0051】
いくつかの例では、目的224は、限定(たとえば、どんなアクションが実施され得るかに関する限定)、選好、許容差(たとえば、所望の終了状態にマッチするための許容範囲)、仮定(たとえば、現実世界環境をモデル化するために使用される仮定)などのパラメータを確立し得る。パラメータは、あらかじめ定義される、ユーザ選択される、動的に更新されるなどであり得る。
【0052】
いくつかの例では、オブジェクト操作目的を定義することは、コンテキスト信号と複数のオブジェクトの識別とに基づいて、複数のオブジェクトに関するユーザ目標を推論することと、推論されたユーザ目標に基づいて、目的のライブラリからオブジェクト操作目的を選択することとをさらに含み得る。目的モジュール206は、時刻、ユーザ入力、またはユーザのビューなどのコンテキスト信号、ならびにオブジェクト222の識別に基づいて、オブジェクト222に関するユーザのユーザ目標を推論し得る。たとえば、ユーザは、毎日ほぼ同じ時間に家事をルーチン的に実施し得る。目的モジュール206は、特定の時刻において、ユーザが家事を実施することを望み得ることを認識し得、これは、たとえば、コンピューティングデバイス302および/またはサーバ306に記憶され得る目的のライブラリ中の1つまたは複数のオブジェクト操作目的として定義され得る。目的モジュール206はまた、オブジェクト222のうちの1つが特定の仕事に固有であり得ることを認識し得る。したがって、目的モジュール206は、特定の仕事を推論し、それに応じて目的224を選択し得る。
【0053】
目的のライブラリは、あらかじめ定義されたか、またはさもなければ前に確立された目的を含み得る。目的のライブラリは、本明細書で説明されるように目的についてのパラメータを含み得る。さらに、いくつかの例では、目的のライブラリはさらに、各目的についての適切な終了状態を含むか、または定義し得る。
【0054】
図4Aは、本410Aおよび410Bと本棚420とに関係し得る目的400を示す。目的400は、本を本棚に入れるというタスクまたはユーザ目標に対応し得る。目的モジュール206は、本410A、本410B、および/または本棚420のうちの1つまたは複数を識別することに基づいて、本を本棚に片づけるというユーザ目標を推論し、目的224について適切な目的を選択し得る。目的モジュール206は、さらに、終了状態226を広く(たとえば、本410Aおよび410Bが本棚420にあること)定義し、または変動するレベルの特定性を伴って(たとえば、本410Aおよび/または410Bが特定の棚上にあること、本410Aおよび/または410Bが特定の本またはオブジェクトの隣にあること、本410Aおよび/または410Bが特定の棚上の特定のロケーションにあることなど)定義し得る。
【0055】
図4Bは、平鍋430と、カップ432と、食器箱440とに関係し得る目的401を示す。目的401は、食器を箱に入れるというタスクまたはユーザ目標に対応し得る。目的モジュール206は、平鍋430、カップ432、および/または食器箱440のうちの1つまたは複数を識別することに基づいて、食器を箱に片づけるというユーザ目標を推論し、目的224について適切な目的を選択し得る。目的モジュール206は、さらに、終了状態226を広く(たとえば、平鍋430およびカップ432が食器箱440にあること)定義し、または変動するレベルの特定性を伴って(たとえば、平鍋430および/またはカップ432が特定の棚上にあること、平鍋430および/またはカップ432が特定の食器またはオブジェクトの隣にあること、本410Aおよび/または410Bが食器箱440内の特定のロケーションにあることなど)定義し得る。
【0056】
いくつかの例では、ユーザ目標を推論することは、複数のオブジェクトに関する複数のユーザ目標を推論することをさらに含み得る。そのような例では、オブジェクト操作目的を選択することは、複数のユーザ目標に基づいて目的のライブラリから複数のオブジェクト操作目的を選択することをさらに含み得る。目的モジュール206は、複数のユーザ目標を推論し、目的224について、複数のユーザ目標を達成するために必要とされ得るだけの数の目的を選択し得る。目的モジュール206は、さらに、目的224をマージした後に、オブジェクト224についての最終終了状態に基づいて終了状態226を確立し得る。たとえば、図4Aでは、ユーザ目標は、本を片づけるという第1のユーザ目標と、本棚を整理するという第2のユーザ目標とを含み得る。(第1のユーザ目標を達成するために)本410Aが本棚420内にあるという第1の終了状態と、(第2のユーザ目標を達成するために)本410Aが特定のロケーションにあるという第2の終了状態とを定義することではなく、ユーザ目標をマージすることは、本410Aが特定のロケーションにあるというの単一の終了状態を生じ得る。
【0057】
いくつかの例では、オブジェクト操作目的は、複数のオブジェクトのうちの少なくとも1つを所望のロケーションに再位置決めするためのオブジェクト再配置タスクを含み得る。目的モジュール206は、オブジェクト222のうちの1つまたは複数が所望のロケーションに再位置決めされる必要があり得ると決定し得る。たとえば、図4Bでは、平鍋430および/またはカップ432は、それらのそれぞれの現在ロケーションから食器箱440内に再位置決めされる必要があり得る。
【0058】
終了状態は、目的のライブラリにおいてあらかじめ定義され得る。他の例では、目的モジュール206は、終了状態226を決定するために、目的224に関してオブジェクト222および/またはユーザの環境を分析し得る。たとえば、目的モジュール206は、オブジェクトのカテゴリーを特定のロケーションに関連付け得る(たとえば、本410A、410Bなどの本が本棚420に関連すること、平鍋430およびカップ432などの食器が食器箱440に関連すること)。別の例では、目的モジュール206は、いくつかのオブジェクトがいくつかの他のオブジェクトとマッチし得ること(たとえば、その対応するケースを伴うふた、デバイスおよびデバイスの対応する充電器など)を認識し得る。また別の例では、目的モジュール206は、オブジェクトについての好適なロケーションを決定する(たとえば、オブジェクトを置くための棚上の空容積を見つけること)ためにユーザの環境を分析し得る。代替的に、目的モジュール206は、目的224に基づいて、終了状態226がオブジェクト222の再構成または変換(たとえば、作るかまたは構築するときにオブジェクトを組み合わせること、料理するときになどオブジェクトを変えることなど)を含み得ることを決定し得る。
【0059】
図1に戻ると、ステップ130において、本明細書で説明されるシステムのうちの1つまたは複数は、オブジェクト操作目的を完了するために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定し得る。たとえば、シーケンスモジュール208は、目的224を達成するためにオブジェクト222を操作して終了状態226にするためのアクションシーケンス228を決定し得る。
【0060】
いくつかの実施形態では、「アクションシーケンス」という用語は、オブジェクトを操作するためのアクション、オブジェクトを操作するための予備アクション、および/またはオブジェクト操作に応答したアクションのシリーズあるいはシーケンスを指し得る。アクションシーケンスの例は、限定はしないが、命令、指示、ガイドライン、ヒューリスティック、レシピなどを含み得る。
【0061】
本明細書で説明されるシステムは、様々なやり方でステップ130を実施し得る。一例では、アクションシーケンスは、所望の終了状態をもたらすために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップを含み得る。たとえば、目的がオブジェクト再配置タスクを含む場合、アクションシーケンスは、複数のオブジェクトのうちの少なくとも1つを所望のロケーションに移動するための少なくとも1つのアクションステップを含み得る。
【0062】
いくつかの例では、シーケンスモジュール208は、終了状態226をもたらし得るアクションシーケンス228を決定するために、目的224を算出可能な問題として形式化するか、またはさもなければ作り直し得る。たとえば、目的224がオブジェクト再配置タスクを含む場合、シーケンスモジュール208は、オブジェクト再配置タスクを、容量制約付き配送計画問題(CVRP:capacitated vehicle-routing problem)または巡回セールスマン問題(TSP:traveling salesman problem)を解くものとして作り直し得る。オブジェクト再配置タスクは、オブジェクト再配置を完了するために、ユーザがロケーションに移動することと、1つまたは複数のオブジェクトをピックアップすることと、別のロケーションに移動することと、ピックアップされたオブジェクトを降ろすこととを伴い得る。関連するアクションシーケンスは、最短経路に沿ってロケーション訪問のシーケンスを見つけることによって最適化され得る様々なロケーション訪問を伴い得る。したがって、オブジェクト再配置タスクのためのアクションシーケンスを決定することは、組合せ最適化からCVRPまたはTSPを解くことと同様であり得る。
【0063】
図5は、家を整理するオブジェクト操作目的がCVRPとしてどのように形式化され得るかを示す。図5は、ユーザ550と、様々なオブジェクト570、580間の経路560との状態510、520、530、および540を含む。家を整理することは、CVRPと同様に、ユーザ550が様々なオブジェクト570、580に移動することと、オブジェクト570、580をピックアップすることと、オブジェクト570、580を適切なロケーション(たとえば、オブジェクト570、580のそれぞれの終了状態)に置くこととを伴い得る。適切なアクションシーケンスは、操作されるべきあらゆるオブジェクトを訪問する、オブジェクト570、580間の経路に基づき得る。各経路560は、アクションシーケンスの1つまたは複数のアクションステップを確立し得る。
【0064】
いくつかの例では、オブジェクト再配置タスクは、ユーザアクションに関する限定と、アクションシーケンスのアクションがどのように決定され得るかに対する他の限定とを定義し得る関連のあるパラメータを含み得る。たとえば、図5では、CVRPは、ユーザが所与の時間においていくつのオブジェクトを搬送し得るか(たとえば、手ごとに1つのオブジェクトを仮定し得る、2つ)、ユーザがどれくらい高速に移動することが可能であり得るかなどに関する限定などの限定を含み得る。さらに、パラメータは、アクションがどのように優先度を付けられるかまたはランク付けされ得るかを定義し得る。たとえば、CVRPの場合、アクションシーケンスは、完了までの時間を低減することに基づいて最適化されるか、またはさもなければ優先度を付けられ得、これは、ユーザの移動速度、進行される距離などに基づいてさらに決定され得る。
【0065】
図5は、ユーザの環境が2次元(2D)においてどのようにマッピングされ得るかを示すが、図6は、アクションシーケンスが決定され得る3Dマップ600を示す。2D経路ではなく、アクションシーケンスは、3D経路として決定され得る。
【0066】
他の例では、シーケンスモジュール208は、目的224および終了状態226を分析し、目的224が異なるタイプの問題に作り直され得ると決定し、それに応じて、アクションシーケンス228を決定するためにその問題を解き得る。オブジェクト再配置タスクが本明細書で説明されるが、他の例では、他のタイプの問題が適用され得る。
【0067】
いくつかの例では、アクションシーケンスを決定することは、オブジェクト操作目的の現在状態を識別することを含み得る。シーケンスモジュール208は、目的224の現在状態を識別し得る。現在状態は、目的224が完了にどのくらい近いかを指定し得、どんな追加のアクションステップがアクションシーケンス228のために必要とされ得るかをさらに決定し得る。現在状態は、オブジェクト222についての現在状態を含み得、したがって、アクションシーケンス228は、オブジェクト222についての現在状態を操作して終了状態226にするためのアクションステップを含み得る。
【0068】
オブジェクト222について説明することに加えて、現在状態は、現実世界環境が目的224に関係するので、現実世界環境について説明し得る。いくつかの例では、現在状態は、オブジェクト操作目的に関連付けられた物理オブジェクトについての不確実な状態を含み得る。たとえば、目的224が旅行のための荷造りに関係する場合、目的224は、歯ブラシを荷物の中に置くことを含み得る。しかしながら、現在状態は、歯ブラシについての不確実な状態を含み得る。たとえば、歯ブラシは、オブジェクト222を識別するときに歯ブラシが見えなかったか、あるいは歯ブラシが紛失されたかまたはさもなければ誤って置かれた場合など、オブジェクト222中で識別されていないことがある。別の例では、関連のあるオブジェクトは、満足に識別されないことがある。たとえば、関連のあるオブジェクトは、識別モジュール204が関連性オブジェクトを満足に識別することを可能にしなかった角度から観察されていることがある(たとえば、利用可能な画像データは、既知のオブジェクトにマッチするしきい値確率をもたらさないことがある)。また別の例では、関連のあるオブジェクトは、即応条件(ready condition)にないことがある。たとえば、目的224を完了するために必要なツールが、使用の前に修復、クリーニング、または他の保守を必要とし得る。識別モジュール204および/または目的モジュール206は、ツールが使用可能条件にあるかどうかを決定することが可能でないことがある。
【0069】
いくつかの例では、アクションシーケンスは、不確実な状態を解決することが予想されるアクションステップを含み得る。シーケンスモジュール208は、アクションシーケンス228中に、妥当な予想を伴って不確実な状態を解決し得るアクションステップを含み得る。いくつかの例では、アクションステップは、不確実な状態を直接的に解決するために含まれ得る。たとえば、ツールが保守を必要とする場合、保守を実施するアクションステップがアクションシーケンス228中に含まれ得る。いくつかの例では、不確実な状態を間接的に解決するアクションステップが含まれ得る。関係のないアクションステップ(たとえば、不確実な状態を直接的に解決するように設計されないアクションステップ)が、不確実な状態を解決し得る追加情報を明らかにし得る。たとえば、ユーザは、アクションステップを完了するために、誤って置かれた品物が予想され得るかまたは最後に位置決めされたロケーションに進み得る。識別モジュール204および/または目的モジュール206は、アクションステップ中にユーザの進捗を連続的に監視し得る。より詳細には、シーケンスモジュール208は、不確実な状態を解決することが予想され得るアクションステップを含み得る。たとえば、歯ブラシが誤って置かれた場合、練り歯磨きを取り出すアクションステップは、(たとえば、歯ブラシが練り歯磨きの近傍にあるという予想に基づいて)歯ブラシの不確実な状態を解決することが予想され得る。シーケンスモジュール208は、不確実な状態を解決することが予想される複数のアクションステップを含み得る。たとえば、それらのアクションステップは、識別モジュール204が未知のオブジェクトを識別することをより良く可能にするために異なる角度からキャプチャされた画像データを提供するために、ユーザを未知のオブジェクトの周りの様々なロケーションに連れて行き得る。さらに、シーケンスモジュール208は、直接的解決アクションステップと間接的解決アクションステップとの組合せを含み得る。たとえば、シーケンスモジュール208は、不確実な状態を間接的に解決するためのアクションステップを含み、前のアクションステップによって解決されなかった場合、不確実な状態を直接的に解決するためのアクションステップを後で含み得る。
【0070】
ステップ140において、本明細書で説明されるシステムのうちの1つまたは複数は、人工現実システムを介して、アクションシーケンスを示す通知をユーザに提示し得る。たとえば、提示モジュール210は、アクションシーケンス228を示す通知をユーザに提供し得る。
【0071】
本明細書で説明されるシステムは、様々なやり方でステップ140を実施し得る。一例では、通知は、視覚通知、ハプティック通知、または可聴通知のうちの少なくとも1つを含み得る。たとえば、提示モジュール210は、図2図3図9図10図11図12、および/または図13に示されているシステムのうちの1つまたは複数を介して視覚通知、ハプティック通知、および/または可聴通知のうちの1つまたは複数を提供し得る。通知は、アクションシーケンス228に従う命令、ステータス更新、警告、または他の案内であり得る。たとえば、通知は、アクションシーケンス228の1つまたは複数のアクションステップの命令または説明を提供し得る。通知は、1つまたは複数のアクションステップの完了の割合、1つまたは複数の関連のあるオブジェクトに対する変化など、ステータス更新を提供し得る。通知は、アクションステップが不完全であるかまたは間違って実施されたかどうかを示すこと、関連のあるオブジェクトが近くにあるかどうかを示すこと、特定のアクションステップを実施することに対するヒントを提供することなど、警告または他の案内を提供し得る。
【0072】
図7は、オブジェクト操作目的のための支援を提供するための例示的なユーザインターフェース(UI)700を示す。UI700は、目的704、完了したステップ706、オブジェクトステータス730、保持されたオブジェクト740、およびアクションシーケンス750など、追加情報が提示された拡張現実ビュー702を含み得る。拡張現実ビュー702は、ユーザの現実世界環境のユーザのビューに対応し得る。拡張現実ビュー702は、ポスト710および球体(orb)720などの視覚インジケータオーバーレイを含み得る。ポスト710および/または球体720は、以下でさらに説明されるように、そこに移動すべき特定のロケーション、操作すべきオブジェクト、とるべきアクションなどに関するユーザ視覚キューを提供し得る。
【0073】
UI700は、ユーザのタスクの目的704を表示し得る。目的224に対応し得る目的704は、現在のオブジェクト操作目的を表示し得る。いくつかの例では、複数のオブジェクト操作目的がある場合、目的704は、複数のオブジェクト操作目的のうちのどれがアクティブであるかを示し得る。完了したステップ706は、ユーザが直近に(アクションシーケンス228の一部であり得る)どんなアクションステップを完了したかを示し得る。いくつかの例では、完了したステップ706は、代わりに、直近のステータス更新または他の関連のある情報を示し得る。
【0074】
完了したステップ706は、アクションシーケンス228に対応し得るアクションシーケンス750とともにステータス更新として表示され得る。アクションシーケンス750は、図7に示されているように、命令のリストとして提示され得る。他の例では、アクションシーケンス750は、マップ上のランドマーク(たとえば、図5参照)、略記リマインダ、アクションステップの説明および/またはアニメーションなどとして提示され得る。アクションシーケンス750は、すべてのアクションステップまたはそれの一部分を表示し得る。たとえば、アクションステップが完了したとき、アクションシーケンス750は、完了したアクションステップを削除し、完了すべきアクションステップを付加し得る。
【0075】
オブジェクト222に対応し得るオブジェクトステータス730は、関連のあるオブジェクトに関するステータス情報を提供し得る。たとえば、図7では、オブジェクトステータス730は、終了状態226に対応し得る箱など、目的の関連のあるオブジェクトの現在ロケーションに関する情報を提供し得る。他の例では、オブジェクトステータス730は、ユーザのために有用であり得る追加情報または詳細を提供し得る。
【0076】
保持されたオブジェクト740は、ユーザが現在どんなオブジェクトを操作していることがあるかを示し得る。たとえば、図7に関連付けられたクリーンアップタスクでは、保持されたオブジェクト740は、ユーザが現在どんなオブジェクトを保持しているかを示し得る。そのような情報は、さらに、どんなアクションをとるべきか(たとえば、ユーザが現在保持しているオブジェクトを置くためにどこに行くべきか)をユーザに知らせ得る。
【0077】
いくつかの例では、ユーザは、図7の場合のような、追加の2Dインターフェースのない人工現実ビューを提示され得る。図8A図8Cは、それぞれ、ビュー800、801、および802を示す。人工現実ビュー702に対応し得るビュー800、801、および/または802は、ユーザの現実世界環境のユーザの現在ビューに対応し得る。
【0078】
図8Aでは、ビュー800は、視覚オーバーレイのないユーザの人工現実ビューを示し得る。いくつかの例では、ユーザは、視覚インジケータを見ることを望まないことがある。そのような例では、人工現実システムは、ユーザが必要に応じて情報を要求することが可能であり得るように、タスクについてのユーザの進捗を受動的に監視し得る。代替的に、そのような例では、ユーザは、非視覚的インジケータを選好し得る。たとえば、ハプティック通知は、(たとえば、ハプティック応答の大きさを増加させることを介して)ユーザが特定のオブジェクトにどのくらい近いかを示すか、または(たとえば、ユーザが所望のロケーションから離れて移動している場合)警告として働き得る。可聴通知は、口頭の命令および/またはリマインダ、警告音、可聴進捗インジケータなどを含み得る。他の例では、ユーザの現在ビューは、視覚インジケータを含まないことがある。たとえば、以下でさらに説明されるように、視覚インジケータは、ビュー800についてのユーザのビュー中にないことがある特定のオブジェクトおよび/またはロケーション上にオーバーレイされ得る。
【0079】
図8Bでは、ビュー801は、ポスト810、ポスト812、およびハイライトされたオブジェクト814などの視覚インジケータを含み得る。ポスト810および/またはポスト812は、ユーザのためにロケーションおよび/またはオブジェクトをハイライトする視覚インジケータとして働き得る。図8に示されているように、ポスト810およびポスト812は、ユーザが距離を大まかに決定することが可能であり得るような観点をもつ3Dオブジェクトとしてレンダリングされ得る。たとえば、ポスト810は、ポスト812よりもユーザに近く、したがって、より大きいポストとしてレンダリングされ得る。ユーザがポスト812に近づくにつれて、ポスト812は、それに応じてより大きくレンダリングされ得る。
【0080】
オブジェクト222のうちの1つであり得るハイライトされたオブジェクト814は、オブジェクトの現在ロケーションの視覚指示を提供し得る。いくつかの例では、ハイライトされたオブジェクト814は、図8Bの場合のように、カウンタを通してなど、他のオブジェクトを通して可視であり得る。
【0081】
図8Cでは、ビュー802は、ポスト810と一連の球体820とを含み得る。球体820は、特定の経路詳細をユーザに提供するためのデジタルパンくずリスト(breadcrumb trail)として働き得る。球体820を追うことによって、ユーザは、所与のアクションステップの目的地に到達し得る。ユーザが、次のオブジェクトまたはロケーションまでどんな正確なルートをとるべきかを判断しなければならないのではなく、球体820は、ユーザのための示唆されたルートを示し得る。
【0082】
いくつかの例では、ユーザは、通知のレベルを選択し得る。たとえば、ビュー800は、通知の最小または低レベルに対応し得る。ビュー801は、オブジェクトとロケーションとがハイライトされ得る、通知の中間レベルに対応し得る。ビュー802は、経路が明示的に表示され得る、通知の最大または高レベルに対応し得る。
【0083】
いくつかの例では、ユーザがアクションを完了したか、またはオブジェクトステータスが変化したとき、関係する通知は変化し得る。たとえば、視覚通知は、ユーザが球体820に到達するときに球体820が消滅することなど、もはや関連のないときにまたは必要とされないときに、削除されるかまたはさもなければ変化され得る。ハプティックおよび/または可聴通知はミュートされ、大きさ、周波数などが変化され得る。
【0084】
いくつかの例では、さらなる情報を提供するために異なる色が使用され得る。たとえば、ある色が、あるステータス、警告などを示し得る。色の変化は、さらに、そのようなステータスの変化を示し得る。
【0085】
いくつかの例では、方法100は、人工現実システムを介して、アクションシーケンスの進捗を監視することと、進捗を監視しながら、アクションシーケンスからの逸脱を検出することと、検出された逸脱に基づいてアクションシーケンスを更新することとをさらに含み得る。たとえば、識別モジュール204および/または目的モジュール206は、アクションシーケンス228からの逸脱を検出し得る。
【0086】
逸脱は、たとえば、ユーザが現在のアクションステップを実施しないことまたはさもなければ完全に完了していないこと(たとえば、アクションステップをスキップすること、アクションステップを間違って実施することなど)、オブジェクト222のうちの1つまたは複数に対する重要な変化(たとえば、オブジェクトが使用不可能、利用不可能、または到達不可能になること、識別されたオブジェクトを再分類することなど)、ならびに/あるいは目的224および/または終了状態226を更新し得る情報および/またはデータの追加(たとえば、別のユーザ目標を検出すること、アクションシーケンス228における不適合性または不整合を決定することなど)を含み得る。
【0087】
シーケンスモジュール208は、したがって、任意の検出された逸脱に応答してアクションシーケンス228を更新し得る。提示モジュール210は、したがって、アクションシーケンス228に対する更新に応答して任意の通知を更新し得る。識別モジュール204および/または目的モジュール206は、逸脱または他の変化を連続的に監視し得る。したがって、ユーザがアクションシーケンス228を実施するとき、提示モジュール210は、リアルタイム変化に応答して、更新された通知を提示し得る。
【0088】
拡張現実眼鏡などの人工現実システムは、タスクを完了することにおける支援を提供するためにユーザの環境のリアルタイムデータを分析することが可能であり得る。家のクリーニング、旅行のための荷造り、生活空間を整理することなど、多くのタスクが、CVRP、TSPなど、コンピュータによって解決され得る問題として特徴づけられ得る。人工現実システムは、ユーザの環境のマップを、そのマップ内のオブジェクトとユーザとのリアルタイム位置特定とともに含み得る。ユーザのタスクをコンピュータが解ける(computer-solvable)問題として形式化およびモデル化することによって、人工現実システムは、そのタスクにおいてユーザを支援するためにリアルタイムフィードバックを提供することが可能であり得る。従来の人工現実システムは、製造、観光、手術など、特殊な適用例における支援を提供するように特にプログラムされ得るが、本明細書で説明されるシステムおよび方法は、料理、クリーニング、または整理など、日々のタスクにおける支援を提供するためによりフレキシブルであり得る。そのような支援は、改善されたタスク実施、低減された物理的および認知作業、ならびにユーザのための保存された主体感(sense of agency)につながり得る。本明細書で説明されるシステムおよび方法は、最適アクションシーケンスを、具現されたエージェント(embodied agent)のポリシーに関連付けることと、この最適アクションシーケンスを、人工現実システムのヘッドアップディスプレイにおける示唆通知としてユーザに提示することとによって、人工現実支援を算出および表示することの問題を形式化し得る。
【0089】
例示的な実施形態
【0090】
例1:人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、複数のオブジェクトを識別することに基づいて、複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義することと、オブジェクト操作目的を完了するために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、人工現実システムを介して、アクションシーケンスを示す通知をユーザに提示することとを含む、コンピュータ実装方法。
【0091】
例2:オブジェクト操作目的が、複数のオブジェクトのうちの少なくとも1つについての所望の終了状態を定義し、アクションシーケンスが、所望の終了状態をもたらすために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップを含む、例1に記載の方法。
【0092】
例3:人工現実システムを介して、アクションシーケンスの進捗を監視することと、進捗を監視しながら、アクションシーケンスからの逸脱を検出することと、検出された逸脱に基づいてアクションシーケンスを更新することとをさらに含む、例1または2に記載の方法。
【0093】
例4:オブジェクト操作目的を定義することが、コンテキスト信号と複数のオブジェクトの識別とに基づいて、複数のオブジェクトに関するユーザ目標を推論することと、推論されたユーザ目標に基づいて、目的のライブラリからオブジェクト操作目的を選択することとをさらに含む、例1から3のいずれか1つに記載の方法。
【0094】
例5:コンテキスト信号が、時刻、ユーザ入力、またはユーザのビューのうちの少なくとも1つを含む、例4に記載の方法。
【0095】
例6:ユーザ目標を推論することが、複数のオブジェクトに関する複数のユーザ目標を推論することをさらに含み、オブジェクト操作目的を選択することが、複数のユーザ目標に基づいて目的のライブラリから複数のオブジェクト操作目的を選択することをさらに含む、例4または5に記載の方法。
【0096】
例7:オブジェクト操作目的の現在状態を識別することをさらに含む、例1から6のいずれか1つに記載の方法。
【0097】
例8:現在状態が、オブジェクト操作目的に関連付けられた物理オブジェクトについての不確実な状態を含む、例7に記載の方法。
【0098】
例9:アクションシーケンスは、不確実な状態を解決することが予想されるアクションステップを含む、例8に記載の方法。
【0099】
例10:複数のオブジェクトが、既知のオブジェクトと未知のオブジェクトとを含む、例1から9のいずれか1つに記載の方法。
【0100】
例11:オブジェクト操作目的が、複数のオブジェクトのうちの少なくとも1つを所望のロケーションに再位置決めするためのオブジェクト再配置タスクを含み、アクションシーケンスが、複数のオブジェクトのうちの少なくとも1つを所望のロケーションに移動するための少なくとも1つのアクションステップを含む、例1から10のいずれか1つに記載の方法。
【0101】
例12:通知が、視覚通知、ハプティック通知、または可聴通知のうちの少なくとも1つを含む、例1から11のいずれか1つに記載の方法。
【0102】
例13:少なくとも1つの物理プロセッサと、物理メモリとを備えるシステムであって、物理メモリは、物理プロセッサによって実行されたとき、物理プロセッサに、人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、複数のオブジェクトを識別することに基づいて、複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義することと、オブジェクト操作目的を完了するために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、人工現実システムを介して、アクションシーケンスを示す通知をユーザに提示することとを行わせるコンピュータ実行可能命令を備える、システム。
【0103】
例14:オブジェクト操作目的が、複数のオブジェクトのうちの少なくとも1つについての所望の終了状態を定義し、アクションシーケンスが、所望の終了状態をもたらすために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップを含む、例13に記載のシステム。
【0104】
例15:物理プロセッサに、人工現実システムを介して、アクションシーケンスの進捗を監視することと、進捗を監視しながら、アクションシーケンスからの逸脱を検出することと、検出された逸脱に基づいてアクションシーケンスを更新することとを行わせる命令をさらに備える、例13または14に記載のシステム。
【0105】
例16:オブジェクト操作目的を定義するための命令が、プロセッサに、コンテキスト信号と複数のオブジェクトの識別とに基づいて、複数のオブジェクトに関するユーザ目標を推論することと、推論されたユーザ目標に基づいて、目的のライブラリからオブジェクト操作目的を選択することとをさらに行わせる、例13から15のいずれか1つに記載のシステム。
【0106】
例17:コンピューティングデバイスの少なくとも1つのプロセッサによって実行されたとき、コンピューティングデバイスに、人工現実システムを介して、ユーザの現実世界環境における複数の物理オブジェクトを識別することと、複数のオブジェクトを識別することに基づいて、複数のオブジェクトのうちの少なくとも1つを操作するためのオブジェクト操作目的を定義することと、オブジェクト操作目的を完了するために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップのシーケンスを定義するアクションシーケンスを決定することと、人工現実システムを介して、アクションシーケンスを示す通知をユーザに提示することとを行わせる1つまたは複数のコンピュータ実行可能命令を備える非一時的コンピュータ可読媒体。
【0107】
例18:オブジェクト操作目的が、複数のオブジェクトのうちの少なくとも1つについての所望の終了状態を定義し、アクションシーケンスが、所望の終了状態をもたらすために複数のオブジェクトのうちの少なくとも1つを操作するためのアクションステップを含む、例17に記載の非一時的コンピュータ可読媒体。
【0108】
例19:コンピューティングデバイスに、人工現実システムを介して、アクションシーケンスの進捗を監視することと、進捗を監視しながら、アクションシーケンスからの逸脱を検出することと、検出された逸脱に基づいてアクションシーケンスを更新することとを行わせる命令をさらに備える、例17または18に記載の非一時的コンピュータ可読媒体。
【0109】
例20:オブジェクト操作目的を定義するための命令が、コンピューティングデバイスに、コンテキスト信号と複数のオブジェクトの識別とに基づいて、複数のオブジェクトに関するユーザ目標を推論することと、推論されたユーザ目標に基づいて、目的のライブラリからオブジェクト操作目的を選択することとをさらに行わせる、例17から19のいずれか1つに記載の非一時的コンピュータ可読媒体。
【0110】
本開示の実施形態は、様々なタイプの人工現実システムを含むか、またはそれらのシステムとともに実装され得る。人工現実は、ユーザへの提示の前に何らかの様式で調整された形式の現実であり、これは、たとえば、仮想現実、拡張現実、複合現実、ハイブリッド現実、あるいはそれらの何らかの組合せおよび/または派生物を含み得る。人工現実コンテンツは、完全にコンピュータ生成されたコンテンツ、またはキャプチャされた(たとえば、現実世界の)コンテンツと組み合わせられたコンピュータ生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、ハプティックフィードバック、またはそれらの何らかの組合せを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元(3D)効果をもたらすステレオビデオなど)。さらに、いくつかの実施形態では、人工現実は、たとえば、人工現実におけるコンテンツを作成するために使用される、および/または人工現実において(たとえば、人工現実におけるアクティビティを実施するために)別様に使用されるアプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組合せにも関連し得る。
【0111】
人工現実システムは、様々な異なるフォームファクタおよび構成において実装され得る。いくつかの人工現実システムは、ニアアイディスプレイ(NED)なしで働くように設計され得る。他の人工現実システムは、(たとえば、図9中の拡張現実システム900などの)現実世界への可視性をも提供するNEDを含むか、または(たとえば、図10中の仮想現実システム1000などの)人工現実にユーザを視覚的に没入させるNEDを含み得る。いくつかの人工現実デバイスは独立型システムであり得るが、他の人工現実デバイスは、人工現実体験をユーザに提供するために外部デバイスと通信および/または協調し得る。そのような外部デバイスの例は、ハンドヘルドコントローラ、モバイルデバイス、デスクトップコンピュータ、ユーザによって装着されるデバイス、1人または複数の他のユーザによって装着されるデバイス、および/または任意の他の好適な外部システムを含む。
【0112】
図9を参照すると、拡張現実システム900は、ユーザの眼の前で左ディスプレイデバイス915(A)および右ディスプレイデバイス915(B)を保持するように構成されたフレーム910をもつアイウェアデバイス902を含み得る。ディスプレイデバイス915(A)とディスプレイデバイス915(B)とは、画像または一連の画像をユーザに提示するために、一緒にまたは独立して働き得る。拡張現実システム900は、2つのディスプレイを含むが、本開示の実施形態は、単一のNEDまたは3つ以上のNEDをもつ拡張現実システムにおいて実装され得る。
【0113】
いくつかの実施形態では、拡張現実システム900は、センサー940など、1つまたは複数のセンサーを含み得る。センサー940は、拡張現実システム900の動きに応答して測定信号を生成し得、フレーム910の実質的に任意の部分上に位置し得る。センサー940は、位置センサー、慣性測定ユニット(IMU)、深度カメラアセンブリ、構造化光エミッタおよび/または検出器など、様々な異なる検知機構のうちの1つまたは複数、あるいはそれらの任意の組合せを表し得る。いくつかの実施形態では、拡張現実システム900は、センサー940を含むことも含まないこともあり、または2つ以上のセンサーを含み得る。センサー940がIMUを含む実施形態では、IMUは、センサー940からの測定信号に基づいて較正データを生成し得る。センサー940の例は、限定はしないが、加速度計、ジャイロスコープ、磁力計、動きを検出する他の好適なタイプのセンサー、IMUの誤差補正のために使用されるセンサー、またはそれらの何らかの組合せを含み得る。
【0114】
いくつかの例では、拡張現実システム900は、まとめて音響トランスデューサ920と呼ばれる、複数の音響トランスデューサ920(A)~920(J)をもつマイクロフォンアレイをも含み得る。音響トランスデューサ920は、音波によって誘起された空気圧力変動を検出するトランスデューサを表し得る。各音響トランスデューサ920は、音を検出し、検出された音を電子フォーマット(たとえば、アナログまたはデジタルフォーマット)にコンバートするように構成され得る。図9中のマイクロフォンアレイは、たとえば、10個の音響トランスデューサ、すなわち、ユーザの対応する耳の内部に置かれるように設計され得る920(A)および920(B)、フレーム910上の様々なロケーションに配置され得る音響トランスデューサ920(C)、920(D)、920(E)、920(F)、920(G)、および920(H)、ならびに/または、対応するネックバンド905上に配置され得る音響トランスデューサ920(I)および920(J)を含み得る。
【0115】
いくつかの実施形態では、音響トランスデューサ920(A)~(J)のうちの1つまたは複数は、出力トランスデューサ(たとえば、スピーカー)として使用され得る。たとえば、音響トランスデューサ920(A)および/または920(B)は、イヤバッドあるいは任意の他の好適なタイプのヘッドフォンまたはスピーカーであり得る。
【0116】
マイクロフォンアレイの音響トランスデューサ920の構成は変動し得る。拡張現実システム900は、10個の音響トランスデューサ920を有するものとして図9に示されているが、音響トランスデューサ920の数は、10よりも大きくまたは小さくなり得る。いくつかの実施形態では、より高い数の音響トランスデューサ920を使用することは、収集されるオーディオ情報の量ならびに/またはオーディオ情報の感度および精度を増加させ得る。逆に、より低い数の音響トランスデューサ920を使用することは、収集されたオーディオ情報を処理するために関連するコントローラ950によって必要とされるコンピューティング電力(computing power)を減少させ得る。さらに、マイクロフォンアレイの各音響トランスデューサ920の位置は変動し得る。たとえば、音響トランスデューサ920の位置は、ユーザ上の画定された位置、フレーム910上の画定された座標、各音響トランスデューサ920に関連する配向、またはそれらの何らかの組合せを含み得る。
【0117】
音響トランスデューサ920(A)および920(B)は、耳介の後ろ、耳珠の後ろ、および/あるいは外耳または窩内など、ユーザの耳の異なる部分上に配置され得る。あるいは、耳道の内部の音響トランスデューサ920に加えて、耳上にまたは耳の周囲に追加の音響トランスデューサ920があり得る。ユーザの耳道の隣に音響トランスデューサ920が配置されると、マイクロフォンアレイは、音がどのように耳道に到来するかに関する情報を収集することが可能になり得る。(たとえば、バイノーラルマイクロフォンとして)ユーザの頭部の両側に音響トランスデューサ920のうちの少なくとも2つを配置することによって、拡張現実デバイス900は、バイノーラル聴覚をシミュレートし、ユーザの頭部の周りの3Dステレオ音場をキャプチャし得る。いくつかの実施形態では、音響トランスデューサ920(A)および920(B)はワイヤード接続930を介して拡張現実システム900に接続され得、他の実施形態では、音響トランスデューサ920(A)および920(B)はワイヤレス接続(たとえば、BLUETOOTH接続)を介して拡張現実システム900に接続され得る。さらに他の実施形態では、音響トランスデューサ920(A)および920(B)は、拡張現実システム900とともにまったく使用されないことがある。
【0118】
フレーム910上の音響トランスデューサ920は、テンプルの長さに沿って、ブリッジにわたって、ディスプレイデバイス915(A)および915(B)の上方にまたは下方に、あるいはそれらの何らかの組合せを含む、様々な異なるやり方で配置され得る。音響トランスデューサ920はまた、マイクロフォンアレイが、拡張現実システム900を装着しているユーザの周囲の広範囲の方向における音を検出することが可能であるように、配向され得る。いくつかの実施形態では、マイクロフォンアレイにおける各音響トランスデューサ920の相対配置を決定するための最適化プロセスが、拡張現実システム900の製造中に実施され得る。
【0119】
いくつかの例では、拡張現実システム900は、ネックバンド905など、外部デバイス(たとえば、ペアにされたデバイス)を含むかまたはそのデバイスに接続され得る。ネックバンド905は、概して、任意のタイプまたは形態のペアにされたデバイスを表す。したがって、ネックバンド905の以下の説明は、充電ケース、スマートウォッチ、スマートフォン、リストバンド、他のウェアラブルデバイス、ハンドヘルドコントローラ、タブレットコンピュータ、ラップトップコンピュータ、他の外部コンピュートデバイスなど、様々な他のペアにされたデバイスにも適用され得る。
【0120】
示されているように、ネックバンド905は、1つまたは複数のコネクタを介してアイウェアデバイス902に結合され得る。コネクタは、ワイヤードまたはワイヤレスであり得、電気的および/または非電気的(たとえば、構造的)構成要素を含み得る。いくつかの場合には、アイウェアデバイス902とネックバンド905とは、それらの間のワイヤードまたはワイヤレス接続なしに独立して動作し得る。図9は、アイウェアデバイス902およびネックバンド905上の例示的なロケーションにおけるアイウェアデバイス902およびネックバンド905の構成要素を示すが、それらの構成要素は、他の場所に位置し、ならびに/あるいはアイウェアデバイス902および/またはネックバンド905上に別様に分散され得る。いくつかの実施形態では、アイウェアデバイス902およびネックバンド905の構成要素は、アイウェアデバイス902、ネックバンド905、またはそれらの何らかの組合せとペアにされた、1つまたは複数の追加の周辺デバイス上に位置し得る。
【0121】
ネックバンド905など、外部デバイスを拡張現実アイウェアデバイスとペアリングすることは、アイウェアデバイスが、依然として、拡大された能力のための十分なバッテリーおよび算出電力(computation power)を提供しながら、一対の眼鏡のフォームファクタを達成することを可能にし得る。拡張現実システム900のバッテリー電力、算出リソース、および/または追加の特徴の一部または全部が、ペアにされたデバイスによって提供されるか、またはペアにされたデバイスとアイウェアデバイスとの間で共有され、したがって、依然として、所望の機能性を保ちながら、アイウェアデバイスの重量、熱プロファイル、およびフォームファクタを全体的に低減し得る。たとえば、ネックバンド905は、ユーザが、ユーザの頭部の上で許容するであろうよりも重い重量負荷をユーザの肩の上で許容し得るので、通常ならばアイウェアデバイス上に含まれるであろう構成要素が、ネックバンド905中に含まれることを可能にし得る。ネックバンド905は、周辺環境に熱を発散および放散させるためのより大きい表面エリアをも有し得る。したがって、ネックバンド905は、通常ならばスタンドアロンアイウェアデバイス上で可能であることがあるよりも大きいバッテリーおよび算出容量を可能にし得る。ネックバンド905がもつ重量が、ユーザにとって、アイウェアデバイス902がもつ重量ほど侵襲的でないことがあるので、ユーザは、ユーザが重いスタンドアロンアイウェアデバイスを装着することを許容するであろうよりも長い時間の長さの間、より軽いアイウェアデバイスを装着し、ペアにされたデバイスを携帯または装着することを許容し、それにより、ユーザが、人工現実環境をユーザの日々のアクティビティにより完全に組み込むことを可能にし得る。
【0122】
ネックバンド905は、アイウェアデバイス902と、および/または他のデバイスに通信可能に結合され得る。これらの他のデバイスは、拡張現実システム900にいくつかの機能(たとえば、追跡、位置を特定すること、深度マッピング、処理、ストレージなど)を提供し得る。図9の実施形態では、ネックバンド905は、マイクロフォンアレイの一部である(または潜在的にそれら自体のマイクロフォンサブアレイを形成する)2つの音響トランスデューサ(たとえば、920(I)および920(J))を含み得る。ネックバンド905は、コントローラ925と電源935とをも含み得る。
【0123】
ネックバンド905の音響トランスデューサ920(I)および920(J)は、音を検出し、検出された音を電子フォーマット(アナログまたはデジタル)にコンバートするように構成され得る。図9の実施形態では、音響トランスデューサ920(I)および920(J)は、ネックバンド905上に配置され、それにより、ネックバンド音響トランスデューサ920(I)および920(J)と、アイウェアデバイス902上に配置された他の音響トランスデューサ920との間の距離を増加させ得る。いくつかの場合には、マイクロフォンアレイの音響トランスデューサ920間の距離を増加させることは、マイクロフォンアレイを介して実施されるビームフォーミングの精度を改善し得る。たとえば、音響トランスデューサ920(C)および920(D)によって音が検出され、音響トランスデューサ920(C)と音響トランスデューサ920(D)との間の距離が、たとえば、音響トランスデューサ920(D)と音響トランスデューサ920(E)との間の距離よりも大きい場合、検出された音の決定されたソースロケーションは、音が音響トランスデューサ920(D)および920(E)によって検出された場合よりも正確であり得る。
【0124】
ネックバンド905のコントローラ925は、ネックバンド905および/または拡張現実システム900上のセンサーによって生成された情報を処理し得る。たとえば、コントローラ925は、マイクロフォンアレイによって検出された音を表す、マイクロフォンアレイからの情報を処理し得る。各検出された音について、コントローラ925は、検出された音がマイクロフォンアレイに到来した方向を推定するために、到来方向(DOA)推定を実施し得る。マイクロフォンアレイが音を検出したとき、コントローラ925はオーディオデータセットを情報でポピュレートし得る。拡張現実システム900が慣性測定ユニットを含む実施形態では、コントローラ925は、アイウェアデバイス902上に位置するIMUからのすべての慣性計算および空間計算を算出し得る。コネクタは、拡張現実システム900とネックバンド905との間で、および拡張現実システム900とコントローラ925との間で情報を伝達し得る。その情報は、光データ、電気データ、ワイヤレスデータの形態、または任意の他の送信可能なデータ形態のものであり得る。拡張現実システム900によって生成された情報の処理をネックバンド905に移動することは、アイウェアデバイス902における重量および熱を低減し、アイウェアデバイス902は、ユーザにとってより快適になり得る。
【0125】
ネックバンド905中の電源935は、アイウェアデバイス902および/またはネックバンド905に電力を提供し得る。電源935は、限定はしないが、リチウムイオンバッテリー、リチウムポリマーバッテリー、1次リチウムバッテリー、アルカリバッテリー、または任意の他の形態の電力ストレージを含み得る。いくつかの場合には、電源935はワイヤード電源であり得る。アイウェアデバイス902上ではなくネックバンド905上に電源935を含めることは、電源935によって生成された重量および熱をより良く分散するのを助け得る。
【0126】
述べられたように、いくつかの人工現実システムが、人工現実を実際の現実と混合する代わりに、現実世界の、ユーザの感覚認知のうちの1つまたは複数を仮想体験と実質的に置き換え得る。このタイプのシステムの一例が、図10中の仮想現実システム1000など、ユーザの視野をほぼまたは完全にカバーする頭部装着型ディスプレイシステムである。仮想現実システム1000は、ユーザの頭部の周りに適合するように成形された前面剛体1002とバンド1004とを含み得る。仮想現実システム1000は、出力オーディオトランスデューサ1006(A)および1006(B)をも含み得る。さらに、図10には示されていないが、前面剛体1002は、人工現実体験を作成するための、1つまたは複数の電子ディスプレイ、1つまたは複数の慣性測定ユニット(IMU)、1つまたは複数の追跡エミッタまたは検出器、および/あるいは任意の他の好適なデバイスまたはシステムを含む、1つまたは複数の電子要素を含み得る。
【0127】
人工現実システムは、様々なタイプの視覚フィードバック機構を含み得る。たとえば、拡張現実システム900および/または仮想現実システム1000中のディスプレイデバイスは、1つまたは複数の液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、マイクロLEDディスプレイ、有機LED(OLED)ディスプレイ、デジタル光投影(DLP:digital light project)マイクロディスプレイ、液晶オンシリコン(LCoS)マイクロディスプレイ、および/または任意の他の好適なタイプのディスプレイスクリーンを含み得る。これらの人工現実システムは、両眼のための単一のディスプレイスクリーンを含み得るか、または各眼のためのディスプレイスクリーンを提供し得、これは、可変焦点調整のためのまたはユーザの屈折誤差を補正するための追加のフレキシビリティを可能にし得る。これらの人工現実システムのうちのいくつかは、ユーザがディスプレイスクリーンを観察し得る1つまたは複数のレンズ(たとえば、従来の凹レンズまたは凸レンズ、フレネルレンズ、調整可能な液体レンズなど)を有する光学サブシステムをも含み得る。これらの光学サブシステムは、コリメートすること(たとえば、オブジェクトを、オブジェクトの物理的距離よりも大きい距離において見せること)、拡大すること(たとえば、オブジェクトを、オブジェクトの実際のサイズよりも大きく見せること)、および/または光を(たとえば、観察者の眼に)リレーすることを含む、様々な目的を果たし得る。これらの光学サブシステムは、(光を直接コリメートするが、いわゆる糸巻き形ひずみを生じる、単一レンズ構成などの)非瞳孔形成アーキテクチャおよび/または(糸巻き形ひずみを無効にするために、いわゆる樽形ひずみをもたらすマルチレンズ構成などの)瞳孔形成アーキテクチャにおいて使用され得る。
【0128】
ディスプレイスクリーンを使用することに加えて、またはディスプレイスクリーンを使用する代わりに、本明細書で説明される人工現実システムのうちのいくつかは、1つまたは複数の投影システムを含み得る。たとえば、拡張現実システム900および/または仮想現実システム1000におけるディスプレイデバイスは、周囲光が通過することを可能にするクリアなコンバイナレンズなど、ディスプレイデバイスに(たとえば、導波路を使用して)光を投影するマイクロLEDプロジェクタを含み得る。ディスプレイデバイスは、ユーザの瞳孔のほうへ、投影された光を屈折させ得、ユーザが、人工現実コンテンツと現実世界の両方を同時に観察することを可能にし得る。ディスプレイデバイスは、導波路構成要素(たとえば、ホログラフィック、平面、回折、偏光、および/または反射導波路要素)、(回折、反射、ならびに屈折要素および格子などの)光操作表面および要素、結合要素などを含む、様々な異なる光学的構成要素のいずれかを使用してこれを達成し得る。人工現実システムはまた、仮想網膜ディスプレイにおいて使用される網膜プロジェクタなど、任意の他の好適なタイプまたは形態の画像投影システムで構成され得る。
【0129】
本明細書で説明される人工現実システムは、様々なタイプのコンピュータビジョン構成要素およびサブシステムをも含み得る。たとえば、拡張現実システム900および/または仮想現実システム1000は、2次元(2D)または3Dカメラ、構造化光送信機および検出器、飛行時間深度センサー、単一ビームまたは掃引レーザー測距器、3D LiDARセンサー、および/あるいは任意の他の好適なタイプまたは形態の光センサーなど、1つまたは複数の光センサーを含み得る。人工現実システムは、ユーザのロケーションを識別するために、現実世界をマッピングするために、現実世界の周囲についてのコンテキストをユーザに提供するために、および/または様々な他の機能を実施するために、これらのセンサーのうちの1つまたは複数からのデータを処理し得る。
【0130】
本明細書で説明される人工現実システムは、1つまたは複数の入力および/または出力オーディオトランスデューサをも含み得る。出力オーディオトランスデューサは、ボイスコイルスピーカー、リボンスピーカー、静電スピーカー、圧電スピーカー、骨伝導トランスデューサ、軟骨伝導トランスデューサ、耳珠振動トランスデューサ、および/あるいは任意の他の好適なタイプまたは形態のオーディオトランスデューサを含み得る。同様に、入力オーディオトランスデューサは、コンデンサマイクロフォン、ダイナミックマイクロフォン、リボンマイクロフォン、および/あるいは任意の他のタイプまたは形態の入力トランスデューサを含み得る。いくつかの実施形態では、単一のトランスデューサが、オーディオ入力とオーディオ出力の両方のために使用され得る。
【0131】
いくつかの実施形態では、本明細書で説明される人工現実システムは、触覚(すなわち、ハプティック)フィードバックシステムをも含み得、これは、ヘッドウェア、グローブ、ボディスーツ、ハンドヘルドコントローラ、環境デバイス(たとえば、椅子、床マットなど)、および/あるいは任意の他のタイプのデバイスまたはシステムに組み込まれ得る。ハプティックフィードバックシステムは、振動、力、牽引力、テクスチャ、および/または温度を含む、様々なタイプの皮膚フィードバックを提供し得る。ハプティックフィードバックシステムは、動きおよびコンプライアンスなど、様々なタイプの運動感覚フィードバックをも提供し得る。ハプティックフィードバックは、モーター、圧電アクチュエータ、流体システム、および/または様々な他のタイプのフィードバック機構を使用して実装され得る。ハプティックフィードバックシステムは、他の人工現実デバイスから独立して、他の人工現実デバイス内に、および/または他の人工現実デバイスとともに実装され得る。
【0132】
ハプティック感覚、可聴コンテンツ、および/または視覚コンテンツを提供することによって、人工現実システムは、様々なコンテキストおよび環境において、仮想体験全体を作成するか、またはユーザの現実世界の体験を拡張し得る。たとえば、人工現実システムは、特定の環境内でのユーザの知覚、記憶、または認知を支援または拡大し得る。いくつかのシステムが、現実世界における他の人々とのユーザの対話を拡張し得るか、または仮想世界における他の人々とのより没入型の対話を可能にし得る。人工現実システムは、教育目的のために(たとえば、学校、病院、政府団体、軍事団体、ビジネス企業などにおける教示またはトレーニングのために)、娯楽目的(たとえば、ビデオゲームをプレイすること、音楽を傾聴すること、ビデオコンテンツを視聴することなどを行うために)、および/またはアクセシビリティ目的のために(たとえば、補聴器、視覚補助器などとして)も使用され得る。本明細書で開示される実施形態は、これらのコンテキストおよび環境のうちの1つまたは複数における、ならびに/または他のコンテキストおよび環境における、ユーザの人工現実体験を可能にするかまたは拡張し得る。
【0133】
いくつかの拡張現実システムが、「同時ロケーションおよびマッピング」(SLAM:simultaneous location and mapping)と呼ばれる技法を使用してユーザのおよび/またはデバイスの環境をマッピングし得る。SLAMマッピングおよびロケーション識別技法は、環境のマップを作成するかまたは更新しながら、同時に、マッピングされた環境内でのユーザのロケーションを追跡することができる、様々なハードウェアおよびソフトウェアツールを伴い得る。SLAMは、マップを作成し、マップ内のユーザの位置を決定するために、多くの異なるタイプのセンサーを使用し得る。
【0134】
SLAM技法は、たとえば、ユーザのロケーションを決定するための光センサーを実装し得る。Wi-Fi、BLUETOOTH、全地球測位システム(GPS)、セルラーまたは他の通信デバイスを含む無線機も、無線トランシーバまたはトランシーバのグループ(たとえば、Wi-Fiルータ、またはGPS衛星のグループ)に対するユーザのロケーションを決定するために使用され得る。マイクロフォンアレイあるいは2Dまたは3Dソナーセンサーなど、音響センサーも、環境内のユーザのロケーションを決定するために使用され得る。(それぞれ、図9および図10のシステム900および1000などの)拡張現実および仮想現実デバイスが、ユーザの現在の環境のマップを作成することおよび継続的に更新することなどのSLAM動作を実施するために、これらのタイプのセンサーのいずれかまたはすべてを組み込み得る。本明細書で説明される実施形態のうちの少なくともいくつかでは、これらのセンサーによって生成されたSLAMデータは、「環境データ」と呼ばれることがあり、ユーザの現在の環境を示し得る。このデータは、ローカルまたはリモートデータストア(たとえば、クラウドデータストア)に記憶され得、要求に応じてユーザのAR/VRデバイスに提供され得る。
【0135】
述べられたように、人工現実システム900および1000は、より説得力のある人工現実体験を提供するために様々な他のタイプのデバイスとともに使用され得る。これらのデバイスは、ハプティックフィードバックを提供し、および/または環境とのユーザの対話に関するハプティック情報を収集する、トランスデューサとのハプティックインターフェースであり得る。本明細書で開示される人工現実システムは、触覚フィードバック(たとえば、ユーザが、皮膚フィードバックと呼ばれることもある表皮における神経を介して検出するフィードバック)、および/または運動感覚フィードバック(たとえば、ユーザが筋肉、関節、および/または腱にあるレセプタを介して検出するフィードバック)を含む、様々なタイプのハプティック情報を検出または伝達する様々なタイプのハプティックインターフェースを含み得る。
【0136】
ハプティックフィードバックは、ユーザの環境(たとえば、椅子、テーブル、床など)内に配置されたインターフェース、および/あるいはユーザによって装着または携帯され得る物品(たとえば、グローブ、リストバンドなど)上のインターフェースによって提供され得る。一例として、図11は、ウェアラブルグローブ(ハプティックデバイス1110)とリストバンド(ハプティックデバイス1120)との形態の振動触覚システム1100を示す。ハプティックデバイス1110およびハプティックデバイス1120は、それぞれ、ユーザの手および手首に対して配置するために整形および構成された、フレキシブルでウェアラブルな織物材料1130を含む、ウェアラブルデバイスの例として示される。本開示は、指、腕、頭部、胴、足、または脚など、他の人間身体部位に対して配置するために整形および構成され得る振動触覚システムをも含む。限定ではなく例として、本開示の様々な実施形態による振動触覚システムはまた、考えられる例の中でも、グローブ、ヘッドバンド、アームバンド、スリーブ、ヘッドカバー(head covering)、靴下、シャツ、またはパンツの形態のものであり得る。いくつかの例では、「織物」という用語は、織布、不織布、革、布、フレキシブルポリマー材料、複合材料などを含む、任意のフレキシブルでウェアラブルな材料を含み得る。
【0137】
1つまたは複数の振動触覚デバイス1140は、振動触覚システム1100の織物材料1130中に形成された1つまたは複数の対応するポケット内に少なくとも部分的に配置され得る。振動触覚デバイス1140は、振動触覚システム1100のユーザに振動する感覚(たとえば、ハプティックフィードバック)を提供するためのロケーションに配置され得る。たとえば、振動触覚デバイス1140は、図11に示されているように、ユーザの(1つまたは複数の)指、親指、または手首に対して配置され得る。振動触覚デバイス1140は、いくつかの例では、ユーザの対応する(1つまたは複数の)身体部位に適合するかまたは身体部位とともに曲がるように十分にフレキシブルであり得る。
【0138】
振動触覚デバイス1140のアクティブ化のために振動触覚デバイス1140に電圧を印加するための電源1150(たとえば、バッテリー)は、振動触覚デバイス1140に、導電性配線1152を介してなど、電気的に結合され得る。いくつかの例では、振動触覚デバイス1140の各々は、個々のアクティブ化のために電源1150に独立して電気的に結合され得る。いくつかの実施形態では、プロセッサ1160は、電源1150に動作可能に結合され、振動触覚デバイス1140のアクティブ化を制御するように構成(たとえば、プログラム)され得る。
【0139】
振動触覚システム1100は、様々なやり方で実装され得る。いくつかの例では、振動触覚システム1100は、他のデバイスおよびシステムに依存しない動作のための一体型サブシステムおよび構成要素をもつスタンドアロンシステムであり得る。別の例として、振動触覚システム1100は、別のデバイスまたはシステム1170との対話のために構成され得る。たとえば、振動触覚システム1100は、いくつかの例では、信号を受信しおよび/あるいは信号を他のデバイスまたはシステム1170に送るための通信インターフェース1180を含み得る。他のデバイスまたはシステム1170は、モバイルデバイス、ゲーミングコンソール、人工現実(たとえば、仮想現実、拡張現実、複合現実)デバイス、パーソナルコンピュータ、タブレットコンピュータ、ネットワークデバイス(たとえば、モデム、ルータなど)、ハンドヘルドコントローラなどであり得る。通信インターフェース1180は、ワイヤレス(たとえば、Wi-Fi、BLUETOOTH、セルラー、無線機など)リンクまたはワイヤードリンクを介した振動触覚システム1100と他のデバイスまたはシステム1170との間の通信を可能にし得る。存在する場合、通信インターフェース1180は、振動触覚デバイス1140のうちの1つまたは複数をアクティブ化または非アクティブ化するために信号をプロセッサ1160に提供するためになど、プロセッサ1160と通信していることがある。
【0140】
振動触覚システム1100は、随意に、タッチセンシティブパッド1190、圧力センサー、動きセンサー、位置センサー、照明要素、および/またはユーザインターフェース要素(たとえば、オン/オフボタン、振動制御要素など)など、他のサブシステムおよび構成要素を含み得る。使用中に、振動触覚デバイス1140は、ユーザインターフェース要素とのユーザの対話、動きセンサーまたは位置センサーからの信号、タッチセンシティブパッド1190からの信号、圧力センサーからの信号、他のデバイスまたはシステム1170からの信号などに応答してなど、様々な異なる理由のためにアクティブ化されるように構成され得る。
【0141】
電源1150、プロセッサ1160、および通信インターフェース1180が、ハプティックデバイス1120中に配置されるものとして図11に示されているが、本開示はそのように限定されない。たとえば、電源1150、プロセッサ1160、または通信インターフェース1180のうちの1つまたは複数は、ハプティックデバイス1110内に配置されるか、または別のウェラブルな織物内に配置され得る。
【0142】
図11に示され、図11に関して説明されるものなどのハプティックウェアラブルは、様々なタイプの人工現実システムおよび環境において実装され得る。図12は、1つのヘッドマウント仮想現実ディスプレイと2つのハプティックデバイス(すなわち、グローブ)とを含む例示的な人工現実環境1200を示し、他の実施形態では、任意の数のこれらの構成要素および他の構成要素、ならびに/またはこれらの構成要素と他の構成要素との任意の組合せが、人工現実システム中に含まれ得る。たとえば、いくつかの実施形態では、関連するハプティックデバイスを各々有する複数のヘッドマウントディスプレイがあり得、各ヘッドマウントディスプレイと各ハプティックデバイスとが、同じコンソール、ポータブルコンピューティングデバイス、または他のコンピューティングシステムと通信する。
【0143】
ヘッドマウントディスプレイ1202は、概して、図10中の仮想現実システム1000など、任意のタイプまたは形態の仮想現実システムを表す。ハプティックデバイス1204は、概して、人工現実システムのユーザによって装着される、任意のタイプまたは形態のウェアラブルデバイスを表し、そのウェアラブルデバイスは、ユーザが仮想オブジェクトと物理的に関与している知覚をユーザに与えるために、ハプティックフィードバックをユーザに提供する。いくつかの実施形態では、ハプティックデバイス1204は、ユーザに振動、動き、および/または力を適用することによってハプティックフィードバックを提供し得る。たとえば、ハプティックデバイス1204は、ユーザの移動を制限またはオーグメントし得る。特定の例を与えるために、ハプティックデバイス1204は、ユーザがユーザの手が仮想壁と物理的に接触した知覚を有するように、ユーザの手を、前進することから制限し得る。この特定の例では、ハプティックデバイス内の1つまたは複数のアクチュエータが、流体をハプティックデバイスの膨張式ブラダー(inflatable bladder)にポンピングすることによって物理的移動制限を達成し得る。いくつかの例では、ユーザはまた、アクション要求をコンソールに送るためにハプティックデバイス1204を使用し得る。アクション要求の例は、限定はしないが、アプリケーションを開始するおよび/またはアプリケーションを終了するための要求、ならびに/あるいはアプリケーション内で特定のアクションを実施するための要求を含む。
【0144】
ハプティックインターフェースは、図12に示されているように、仮想現実システムとともに使用され得、ハプティックインターフェースはまた、図13に示されているように、拡張現実システムとともに使用され得る。図13は、拡張現実システム1300と対話するユーザ1310の斜視図である。この例では、ユーザ1310は、1つまたは複数のディスプレイ1322を有し得、ハプティックデバイス1330とペアリングされる、一対の拡張現実眼鏡1320を装着し得る。この例では、ハプティックデバイス1330は、複数のバンド要素1332と、バンド要素1332を互いに接続する張力付与機構(tensioning mechanism)1334とを含むリストバンドであり得る。
【0145】
バンド要素1332のうちの1つまたは複数は、ハプティックフィードバックを提供するのに好適な任意のタイプまたは形態のアクチュエータを含み得る。たとえば、バンド要素1332のうちの1つまたは複数は、振動、力、牽引、テクスチャ、および/または温度を含む、様々なタイプの皮膚フィードバックのうちの1つまたは複数を提供するように構成され得る。そのようなフィードバックを提供するために、バンド要素1332は、様々なタイプのアクチュエータのうちの1つまたは複数を含み得る。一例では、バンド要素1332の各々は、様々なタイプのハプティック感覚のうちの1つまたは複数をユーザに提供するために、一斉にまたは独立して振動するように構成された振動触覚器(たとえば、振動触覚アクチュエータ)を含み得る。代替的に、単一のバンド要素のみまたはバンド要素のサブセットが、振動触覚器を含み得る。
【0146】
ハプティックデバイス1110、1120、1204、および1330は、任意の好適な数および/またはタイプのハプティックトランスデューサ、センサー、および/またはフィードバック機構を含み得る。たとえば、ハプティックデバイス1110、1120、1204、および1330は、1つまたは複数の機械的トランスデューサ、圧電トランデューサ、および/または流体トランスデューサを含み得る。ハプティックデバイス1110、1120、1204、および1330は、ユーザの人工現実体験を拡張するために、一緒にまたは独立して作動する異なるタイプおよび形態のトランスデューサの様々な組合せをも含み得る。一例では、ハプティックデバイス1330のバンド要素1332の各々は、様々なタイプのハプティック感覚のうちの1つまたは複数をユーザに提供するために、一斉にまたは独立して振動するように構成された振動触覚器(たとえば、振動触覚アクチュエータ)を含み得る。
【0147】
上記で詳述されたように、本明細書で説明および/または示されるコンピューティングデバイスおよびシステムは、本明細書で説明されるモジュール内に含まれているものなど、コンピュータ可読命令を実行することが可能な任意のタイプまたは形態のコンピューティングデバイスまたはシステムを広く表す。それらの最も基本的な構成では、(1つまたは複数の)これらのコンピューティングデバイスは、各々、少なくとも1つのメモリデバイスと少なくとも1つの物理プロセッサとを含み得る。
【0148】
いくつかの例では、「メモリデバイス」という用語は、概して、データおよび/またはコンピュータ可読命令を記憶することが可能な、任意のタイプまたは形態の揮発性または不揮発性記憶デバイスまたは媒体を指す。一例では、メモリデバイスは、本明細書で説明されるモジュールのうちの1つまたは複数を記憶、ロード、および/または維持し得る。メモリデバイスの例は、限定はしないが、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、光ディスクドライブ、キャッシュ、上記のうちの1つまたは複数の変形形態または組合せ、あるいは任意の他の好適な記憶メモリを含む。
【0149】
いくつかの例では、「物理プロセッサ」という用語は、概して、コンピュータ可読命令を解釈および/または実行することが可能な任意のタイプまたは形態のハードウェア実装処理ユニットを指す。一例では、物理プロセッサは、上記で説明されたメモリデバイスに記憶された1つまたは複数のモジュールにアクセスし、および/またはそれらのモジュールを修正し得る。物理プロセッサの例は、限定はしないが、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット(CPU)、ソフトコアプロセッサを実装するフィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、上記のうちの1つまたは複数の部分、上記のうちの1つまたは複数の変形形態または組合せ、あるいは任意の他の好適な物理プロセッサを含む。
【0150】
別個の要素として示されているが、本明細書で説明および/または示されるモジュールは、単一のモジュールまたはアプリケーションの部分を表し得る。さらに、いくつかの実施形態では、これらのモジュールのうちの1つまたは複数は、コンピューティングデバイスによって実行されたとき、コンピューティングデバイスに1つまたは複数のタスクを実施させ得る、1つまたは複数のソフトウェアアプリケーションまたはプログラムを表し得る。たとえば、本明細書で説明および/または示されるモジュールのうちの1つまたは複数は、本明細書で説明および/または示されるコンピューティングデバイスまたはシステムのうちの1つまたは複数上で稼働するように記憶および構成されたモジュールを表し得る。これらのモジュールのうちの1つまたは複数は、1つまたは複数のタスクを実施するように構成された1つまたは複数の専用コンピュータのすべてまたは部分をも表し得る。
【0151】
さらに、本明細書で説明されるモジュールのうちの1つまたは複数は、データ、物理デバイス、および/または物理デバイスの表現をある形態から別の形態に変換し得る。たとえば、本明細書で具陳されるモジュールのうちの1つまたは複数は、変換されるべき人工現実データを受信し、データを変換し、オブジェクトを認識するために変換の結果を出力し、変換の結果を使用して、アクションシーケンスを決定し、アクションシーケンスについての通知を提供するために変換の結果を記憶し得る。追加または代替として、本明細書で具陳されるモジュールのうちの1つまたは複数は、コンピューティングデバイス上で実行すること、コンピューティングデバイスにデータを記憶すること、および/または場合によっては、コンピューティングデバイスと対話することによって、物理コンピューティングデバイスのプロセッサ、揮発性メモリ、不揮発性メモリ、および/または任意の他の部分をある形態から別の形態に変換し得る。
【0152】
いくつかの実施形態では、「コンピュータ可読媒体」という用語は、概して、コンピュータ可読命令を記憶または搬送することが可能な任意の形態のデバイス、キャリア、または媒体を指す。コンピュータ可読媒体の例は、限定はしないが、搬送波など、送信タイプ媒体、磁気記憶媒体など、非一時的タイプの媒体(たとえば、ハードディスクドライブ、テープドライブ、およびフロッピーディスク)、光記憶媒体(たとえば、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、およびBLU-RAYディスク)、電子記憶媒体(たとえば、ソリッドステートドライブおよびフラッシュメディア)、および他の配信システムを含む。
【0153】
本明細書で説明および/または示されるステップのプロセスパラメータおよびシーケンスは、単に例として与えられ、必要に応じて変動させられ得る。たとえば、本明細書で示されるおよび/または説明されるステップは特定の順序で示されるかまたは説明され得るが、これらのステップは、必ずしも、示されるかまたは説明される順序で実施される必要がない。本明細書で説明および/または示される様々な例示的な方法はまた、本明細書で説明されるかまたは示されるステップのうちの1つまたは複数を省略するか、あるいは、開示されるものに加えて追加のステップを含み得る。
【0154】
先行する説明は、他の当業者が、本明細書で開示される例示的な実施形態の様々な態様を最も良く利用することを可能にするために提供された。この例示的な説明は、網羅的であること、または開示される正確な形態に限定されることは意図されない。多くの修正および変形が、本開示の範囲から逸脱することなく可能である。本明細書で開示される実施形態は、あらゆる点で、限定的ではなく例示的であると見なされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲およびその均等物に対して参照が行われるべきである。
【0155】
別段に記載されていない限り、本明細書および特許請求の範囲において使用される「に接続された(connected to)」および「に結合された(coupled to)」という用語(およびそれらの派生語)は、直接接続と間接接続(すなわち、他の要素または構成要素を介したもの)の両方を許容するものとして解釈されるべきである。さらに、本明細書および特許請求の範囲において使用される「a」または「an」という用語は、「のうちの少なくとも1つ」を意味するものとして解釈されるべきである。最後に、使いやすさのために、本明細書および特許請求の範囲において使用される「含む(including)」および「有する(having)」という用語(およびそれらの派生語)は、「備える、含む(comprising)」という単語と交換可能であり、その単語と同じ意味を有する。
図1
図2
図3
図4A
図4B
図5
図6
図7
図8A
図8B
図8C
図9
図10
図11
図12
図13
【国際調査報告】