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

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

▶ フィッシャー−ローズマウント システムズ,インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-18
(45)【発行日】2023-07-26
(54)【発明の名称】プロセス制御環境の3Dマッピング
(51)【国際特許分類】
   G06T 19/00 20110101AFI20230719BHJP
   G06F 3/04815 20220101ALI20230719BHJP
   G06F 3/0487 20130101ALI20230719BHJP
   G06F 3/01 20060101ALI20230719BHJP
【FI】
G06T19/00 600
G06F3/04815
G06F3/0487
G06F3/01 510
【請求項の数】 18
【外国語出願】
(21)【出願番号】P 2018179420
(22)【出願日】2018-09-25
(65)【公開番号】P2019067383
(43)【公開日】2019-04-25
【審査請求日】2021-09-24
(31)【優先権主張番号】62/564,074
(32)【優先日】2017-09-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/036,358
(32)【優先日】2018-07-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100113608
【弁理士】
【氏名又は名称】平川 明
(74)【代理人】
【識別番号】100138357
【弁理士】
【氏名又は名称】矢澤 広伸
(72)【発明者】
【氏名】ジェームズ アーロン クルーズ
(72)【発明者】
【氏名】トレヴァー ダンカン シュレイス
(72)【発明者】
【氏名】ベンジャミン マイケル ビショップ
【審査官】橘 高志
(56)【参考文献】
【文献】特開2016-167688(JP,A)
【文献】特開2010-123121(JP,A)
【文献】特表2016-533565(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/04815
G06F 3/0487
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
モバイルデバイスを使用して現実世界のプロセス制御環境をマッピングする方法であって、前記方法が、
前記プロセス制御環境内の基準位置に前記モバイルデバイスを登録することと、
少なくとも、前記モバイルデバイスの慣性測定ユニットを使用して、(i)前記基準位置に対する前記モバイルデバイスの3次元(3D)位置、及び(ii)前記モバイルデバイスの配向、を追跡することと、
前記モバイルデバイスにおいて、新しいノードが前記プロセス制御環境の3Dマップに追加されるべきであることを示す第1のユーザ入力を検出することと、
前記モバイルデバイスにおいて、前記新しいノードの識別子及び/または記述を含む第2のユーザ入力を受信することであって、前記識別子及び/または前記記述は、前記新しいノードに対応する現実世界オブジェクトに関連する構成要素を記述する関係の指標を含む、ことと、
少なくとも、(i)追跡された前記モバイルデバイスの3D位置、及び(ii)追跡された前記モバイルデバイスの配向に、基づいて、前記基準位置に対する前記現実世界オブジェクトの3D位置を判定するか、または前記現実世界オブジェクトの前記3D位置を判定させることと、
少なくとも、前記現実世界オブジェクトの3D位置及び前記新しいノードの前記識別子及び/または前記記述を前記新しいノードに関連付けて記憶させることによって、ノードデータベースに前記プロセス制御環境の前記3Dマップに前記新しいノードの追加させることと、
を含む方法。
【請求項2】
前記基準位置に前記モバイルデバイスを登録することが、
前記モバイルデバイスのカメラを使用して、コードの視覚的表現をスキャンすることを含み、前記視覚的表現が、前記基準位置に位置している、
請求項1に記載の方法。
【請求項3】
前記モバイルデバイスのカメラを使用して、コードの視覚的表現をスキャンすることが、
前記モバイルデバイスの前記カメラを使用して、前記基準位置に位置しているQRコード(登録商標)をスキャンすることを含む、
請求項2に記載の方法。
【請求項4】
前記モバイルデバイスの前記3D位置及び前記モバイルデバイスの前記配向を追跡することが、
前記慣性測定ユニット及び前記モバイルデバイスのカメラを使用して、前記モバイルデバイスの前記3D位置及び前記モバイルデバイスの前記配向を追跡することを含む、
請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記新しいノードが前記3Dマップに追加されるべきであることを示す前記第1のユーザ入力を検出することが、
音声コマンド、キーボード入力、またはタッチスクリーン入力を検出することを含む、請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記現実世界オブジェクトの前記3D位置を判定すること、または前記現実世界オブジェクトの前記3D位置を判定させることが、
前記モバイルデバイスのカメラを使用して前記現実世界のオブジェクトの画像を捕捉することと、
少なくとも、深度感知技術を使用して前記現実世界オブジェクトの前記画像を処理することによって、前記モバイルデバイスと前記現実世界オブジェクトとの間の距離を判定することと、
少なくとも、(i)前記追跡され前記モバイルデバイスの3D位置、(ii)前記モバイルデバイスと前記現実世界オブジェクトとの間の前記距離、及び(iii)前記追跡された前記モバイルデバイスの配向、に基づいて、前記現実世界オブジェクトの前記3D位置を判定するか、または前記現実世界オブジェクトの前記3D位置を判定させることと、を含む、
請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記モバイルデバイスが、拡張現実(AR)モバイルデバイスのディスプレイを介して提示された現実世界のビューにデジタル情報を重ね合わせる前記ARモバイルデバイスである、請求項1からのいずれか1項に記載の方法。
【請求項8】
モバイルデバイスを使用して現実世界のプロセス制御環境をマッピング及びナビゲートする方法であって、前記方法が、
前記プロセス制御環境内の基準位置に第1のモバイルデバイスを登録することと、
少なくとも、前記第1のモバイルデバイスの慣性測定ユニットを使用して、(i)前記基準位置に対する前記第1のモバイルデバイスの3次元(3D)位置、及び(ii)前記第1のモバイルデバイスの配向を追跡することと、
前記第1のモバイルデバイスにおいて、新しいノードが前記プロセス制御環境の3Dマップに追加されるべきであることを示す第1のユーザ入力を検出することと、
前記第1のモバイルデバイスにおいて、前記新しいノードの識別子及び/または記述を含む第2のユーザ入力を受信することであって、前記識別子及び/または前記記述は、前記新しいノードに対応する現実世界オブジェクトに関連する構成要素を記述する関係の指標を含む、ことと、
少なくとも、(i)追跡された前記第1のモバイルデバイスの3D位置、及び(ii)追跡された前記第1のモバイルデバイスの配向、に基づいて、前記基準位置に対する前記現実世界オブジェクトの3D位置を判定するか、または前記現実世界オブジェクトの前記3D位置を判定させることと、
少なくとも、前記現実世界オブジェクトの前記3D位置及び前記新しいノードの前記識
別子及び/または前記記述を前記新しいノードに関連付けて記憶させることによって、ノードデータベースに、前記プロセス制御環境の前記3Dマップに前記新しいノードの追加させることと、
少なくとも、第2のモバイルデバイスの慣性測定ユニットを使用して、(i)前記第2のモバイルデバイスの3D位置、及び(ii)前記第2のモバイルデバイスの配向を追跡することと、
(i)追跡された前記第2のモバイルデバイスの配向に基づいて、前記現実世界オブジェクトが前記第2のモバイルデバイスのカメラの視界内のエリア内にあると判定すること、及び(ii)追跡された前記第2のモバイルデバイスの位置に基づいて、前記現実世界オブジェクトが前記第2のモバイルデバイスに近接していると判定すること、の両方うちの1つによって、トリガ条件を検出することと、
前記トリガ条件を検出することに応答して、前記新しいノードに関連付けられているデジタル情報に、前記第2のモバイルデバイスのディスプレイを介して提示される現実世界のビューに重ね合わさせることと、
を含む方法。
【請求項9】
前記基準位置に前記第2のモバイルデバイスを登録することを更に含み、
前記第2のモバイルデバイスの3D位置を追跡することが、前記基準位置に対する前記第2のモバイルデバイスの前記3D位置を追跡することを含む、
請求項に記載の方法。
【請求項10】
前記基準位置に前記第1のモバイルデバイスを登録することが、
前記第1のモバイルデバイスのカメラを使用して、コードの視覚的表現をスキャンすることを含み、前記視覚的表現が、前記基準位置に位置している、
請求項またはに記載の方法。
【請求項11】
前記新しいノードが前記3Dマップに追加されるべきであることを示す前記第1のユーザ入力を検出することが、
音声コマンド、キーボード入力、またはタッチスクリーン入力を検出することを含む、請求項から10のいずれか1項に記載の方法。
【請求項12】
前記現実世界オブジェクトの前記3D位置を判定するか、または前記現実世界オブジェクトの前記3D位置を判定させるかが、
前記第1のモバイルデバイスのカメラを使用して、前記現実世界オブジェクトの画像を捕捉することと、
少なくとも、深度感知技術を使用して前記現実世界オブジェクトの前記画像を処理することによって、前記第1のモバイルデバイスと前記現実世界オブジェクトとの間の距離を判定することと、
少なくとも、(i)前記追跡された前記第1のモバイルデバイスの3D位置、(ii)前記第1のモバイルデバイスと前記現実世界オブジェクトとの間の前記距離、及び(iii)前記追跡された前記第1のモバイルデバイスの配向に基づいて、前記現実世界オブジェクトの前記3D位置を判定するか、または前記現実世界オブジェクトの前記3D位置を判定させるか、を含む、
請求項から11のいずれか1項に記載の方法。
【請求項13】
前記第1のモバイルデバイス及び前記第2のモバイルデバイスが、拡張現実(AR)モバイルデバイスのディスプレイを介して提示される現実世界のビューにデジタル情報を重ね合わせる前記ARモバイルデバイスである、請求項から12のいずれか1項に記載の方法。
【請求項14】
現実世界のプロセス制御環境をマッピングするためのシステムであって、前記システムが、
サーバと、
慣性測定ユニットを備えるモバイルデバイスであって、前記モバイルデバイスが、
前記プロセス制御環境内の基準位置に登録し、
少なくとも前記慣性測定ユニットを使用して、(i)前記基準位置に対する前記モバイルデバイスの3次元(3D)位置、及び(ii)前記モバイルデバイスの配向を追跡し
新しいノードが前記プロセス制御環境の3Dマップに追加されるべきであることを示す第1のユーザ入力を検出かつ
前記新しいノードの識別子及び/または記述を含む第2のユーザ入力を検出し、前記識別子及び/または前記記述は、前記新しいノードに対応する現実世界オブジェクトに関連する構成要素を記述する関係の指標を含む、
ように構成されている、モバイルデバイスと、を備え、
前記モバイルデバイスまたは前記サーバのいずれかが、(i)追跡された前記モバイルデバイスの3D位置、及び(ii)追跡された前記モバイルデバイスの配向に基づいて、前記基準位置に対する前記現実世界オブジェクトの3D位置を判定するように構成され、
前記サーバが、前記現実世界オブジェクトの前記3D位置及び前記新しいノードの前記識別子及び/または前記記述を前記新しいノードに関連付けて記憶するノードデータベースに、前記プロセス制御環境の前記3Dマップに新しいノードの追加するように構成されている、
システム。
【請求項15】
前記モバイルデバイスが、カメラを更に備え、
前記モバイルデバイスが、少なくとも、前記カメラを使用してコードの視覚的表現をスキャンすることによって、前記基準位置に登録するように構成され、前記視覚的表現は、前記基準位置に位置している、
請求項14に記載のシステム。
【請求項16】
前記モバイルデバイスが、少なくとも、
音声コマンド、キーボード入力、またはタッチスクリーン入力を検出することによって、前記新しいノードが前記3Dマップに追加されるべきであることを示す前記第1のユーザ入力を検出するように構成されている、
請求項14または15に記載のシステム。
【請求項17】
前記モバイルデバイスが、カメラを更に備え、
前記モバイルデバイスが、前記カメラを使用して前記現実世界オブジェクトの画像を捕捉するように構成され、
前記モバイルデバイスまたは前記サーバが、少なくとも深度感知技術を使用して前記現実世界オブジェクトの前記画像を処理することによって、前記モバイルデバイスと前記現実世界オブジェクトとの間の距離を判定するように構成され、
前記モバイルデバイスまたは前記サーバが、少なくとも、(i)前記追跡された前記モバイルデバイスの3D位置、(ii)前記モバイルデバイスと前記現実世界オブジェクトとの間の前記距離、及び(iii)前記追跡された前記モバイルデバイスの配向に基づいて、前記現実世界オブジェクトの前記3D位置を判定するように構成されている、
請求項14に記載のシステム。
【請求項18】
前記モバイルデバイスが、現実世界のビューにデジタル情報を重ね合わせるディスプレイを更に備える、拡張現実(AR)モバイルデバイスである、請求項14から17のいずれか1項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、拡張現実技術、より詳細には、プロセス制御または他の環境で利用され得る拡張現実プラットフォームに関する。
【背景技術】
【0002】
現実世界の環境でのデジタル情報(例えば、テキスト、画像、アニメーションなど)のオーバーレイを提供する拡張現実(AR)システムは、この技術の新しい用途が検討されるにつれてますます一般的になりつつある。ARシステムは、典型的に、ユーザの現在の現実世界の環境のコンテキストに固有の情報を提供する。このようなシステムでは、現在ユーザのビューにある物理的な物の知識、及びユーザの現在の位置及びその周辺の物理的なレイアウトなど、現実世界の知識が一般的に必要である。この種の情報をARシステムに利用可能にするために、ユーザの環境及びその中のオブジェクトを表現する3次元(3D)デジタルモデルが、典型的に作成される。次いで、3Dモデルは、環境内の特定の位置及び/または特定のオブジェクトに関連する特定の種類のデータ(例えば、記述)、グラフィック(例えば、アイコン)などを用いて拡張され得る。適切なARギヤを装備したユーザがマッピングされた環境を移動するとき、拡張された部分は、ユーザの現実世界のビュー(例えば、リアルタイムカメラビュー、またはユーザが環境を観察するヘッドアップディスプレイ(HUD)など)にデジタル情報をオーバーレイすることによって、3Dモデルの残りの部分をレンダリング/表示することなく、ユーザにレンダリング/表示され得る。
【0003】
従来、この種の3Dモデルは、人間の設計者によって、及び/または3Dスキャナを使用して、手動で構築されている。しかしながら、これらのアプローチの両方は、複雑なレイアウト及び/または多数のオブジェクトを有する環境を含むアプリケーションにとって多くの時間及び労力を要し得る。更に、環境への変更(例えば、オブジェクトが環境内で移動もしくは置換/更新されることなど)は、モデリングプロセス全体が繰り返されること、または他の時間及び労力を要する手順を必要とし得る。
【0004】
現在のARシステムは、他の欠点も被ることがある。例えば、比較的密度の高い環境(例えば、近接している、及び/またはARビューに表示する多くの情報量を有する複数のオブジェクトを有する環境)で使用される場合、ARシステムは、容易に知覚過負荷をもたらし得る膨大な量の情報をユーザに与えることがあり、かつ/またはユーザはすべての情報のコンテキストを容易に知覚できないことがある。更に、いくつかのオブジェクトは、ARビュー内で不明瞭になることがある。例えば、オブジェクトは囲い内に位置していることがあり、またはアクセス不能もしくは不都合な(例えば遠隔の)位置に存在していることがある。
【発明の概要】
【0005】
拡張現実体験を提供するための技術、システム、装置及び方法が本明細書で開示される。当該技術、システム、装置及び方法は、例えば、工業プロセス制御システム、環境、及び/またはプラントに適用してよく、これらは、本明細書では、同義で「プロセス制御」、または「プロセス」システム、環境、及び/もしくはプラントと称され得る。典型的には、このようなシステム及びプラントは、分散された方法で、未加工の物理的物質を製造、精製、または別様に変形するように動作して、生産物を生成または生産する1つ以上のプロセスの制御を提供する。しかしながら、いくつかの実施形態では、本明細書に記載される技術、システム、装置及び方法は、他の種類の環境で使用され、かつ/または拡張現実以外のコンテキスト(例えば、仮想現実(VR)コンテキスト)で使用され得る。
【0006】
一般に、プロセス制御環境は、従来の拡張現実感(AR)システムまたはプラットフォームの生成及び使用に関連付けられている「背景技術」のセクションで上述された、様々な多くの困難を引き起こす可能性がある。例えば、このような環境は、近接し、かつ/または大量の情報(例えば、センサの読み取り値、診断状態など)に関連付けられている多数の多様なオブジェクト(例えば、タンク、ポンプ、バルブ、モータ、トランスミッタなど)を含む場合が多い。更に、それらのオブジェクトは、頻繁に移動または置換され得る。
【0007】
本明細書に記載されるARプラットフォームは、これらの困難の一部または全部を克服または改善し得、したがって、プロセス制御環境での使用によく適し得る。ARプラットフォームでは、3次元(3D)モデルがARモバイルデバイスを使用するユーザによって生成される。ARモバイルデバイスは、ARヘルメット、ARヘッドセット、ARゴーグル、スマートメガネ、スマートフォン、タブレット、または位置追跡をサポートすることができる任意の他の適切な種類のモバイルデバイス(以下に記載するとおり)であってよく、ユーザにAR体験を提示することができる。
【0008】
3Dモデルは、異なる現実世界のオブジェクト(例えば、フィールドデバイス、タンク、コンベア、コントローラ、スイッチなど)に対応する、プロセス制御環境内の関心のあるポイントの3D位置(location)/位置(position)を示す。3Dモデルに追加されるオブジェクトは、本明細書では、ARプラットフォームまたはシステムの「ノード」と称される。本明細書で使用されるように、用語「オブジェクト」(「現実世界のオブジェクト」とも称される)は、任意の物理的な物(例えば、デバイス、構成要素、設備、構造など)、物の一部(例えば、デバイスもしくは構成要素の要素など)、または物の組み合わせ(例えば、関連するデバイスもしくは構成要素のグループなど)であってよい。プロセス制御環境では、例えば、オブジェクトは、フィールドデバイス(例えば、バルブ、ポンプ、センサなど)、設備の一部(コンベヤ、タンクなど)、プロセスコントローラ、スイッチなどであり得る。
【0009】
いくつかの実装では、ARアプリケーションがARモバイルデバイス上で起動されると(例えば、ユーザによって具体的に起動されるとき、またはデバイスパワーアップ時に)、ユーザは、「チェックイン」するか、またはいくつかの基準もしくは「ランドマーク」位置にARモバイルデバイスを登録する。例えば、ユーザは、ARモバイルデバイスのカメラを用いてランドマーク位置でQRコードまたはコード/識別子の別の視覚的表現をスキャンしてよい。コードをスキャンする行為は、ユーザ/デバイスの開始位置(例えば、{x、y、z}空間内の座標{0、0、0})を確立し得る。
【0010】
登録後、ユーザは、ARモバイルデバイスを用いてプロセス制御環境を物理的に移動し始めてよい。適切な位置決め技術(例えば、ユーザのARモバイルデバイスによって提供される)を使用して、プロセスプラントのユーザの移動を追跡してよい。GPSまたはGNSSユニットは、多くのプロセスプラント環境では機能しない可能性があり、配向データまたは正確な標高データを提供することができない(特に屋内にあるプロセス制御環境の場合)ため、他の位置決め及び/または配向技術が使用され得る。例えば、ランドマークの位置に対するARモバイルデバイスの位置、及びARモバイルデバイスの配向(例えば、ユーザが向いている方向に対応し得る、ARモバイルデバイスのカメラの視界の方向)は、慣性測定ユニット(IMU)データ(例えば、加速度計、ジャイロスコープなどによって生成される)とカメラ画像データとの融合を使用して追跡され得る。一実装形態では、例えば、Qualcomm(登録商標)によって開発された視覚慣性オドメトリ(VIO)技術を使用して、位置及び配向を追跡してよい。
【0011】
ノードとして追加される現実世界のオブジェクトに、またはその近くに到達するとき、及びオブジェクトの方向を向いている(例えば、ARヘルメットもしくはゴーグルを装着している場合)か、あるいはオブジェクトにデバイスカメラを向けている(例えば、デバイスがタブレットもしくはスマートフォンである場合)間、ユーザは新しいノードの追加するオプションを選択し得る。例えば、ARモバイルデバイスは、ユーザによって発生されたときに音声コマンド「ノードの追加」を認識してよく、または(例えば、デバイスがタブレットもしくはスマートフォンである場合)ARモバイルデバイスは、ユーザに「ノードの追加」もしくはARモバイルデバイスディスプレイのグラフィックユーザインターフェース(GUI)上の同様のオプション/制御を選択することを可能にし得る。次いで、ARモバイルデバイスは、オブジェクトの画像を捕捉し、画像を処理して、ARモバイルデバイスとオブジェクトとの間の距離を推定し得る。代替的に、他のセンサ(例えば、ライダ、レーダなど)を使用して、ARモバイルデバイスとオブジェクトとの間の距離を判定し得る。次いで、ARモバイルデバイスは、ARモバイルデバイスの現在の位置及び配向、ならびにARモバイルデバイスとオブジェクトとの間の距離に基づいて、ランドマーク位置に対するオブジェクトの位置を判定し得る。代替的に、リモートサーバまたは他のコンピューティングデバイス/システムは、ARモバイルデバイスによって捕捉された画像データを処理して、ランドマーク位置に対するオブジェクト位置を判定し得る。
【0012】
ユーザはまた、新しいノード(例えば、バルブ、ポンプなど)の名前もしくは種類、及び/または他の情報(例えば、オブジェクトのモデル番号もしくは他の識別子、オブジェクトの短い記述など)を指定し得る。次いで、指定された情報は、ARシステムのバックエンドデータベースの新しいノードに関連付けられ得る。バックエンドデータベースは、ランドマーク位置に対して関連する3D位置を有するユーザ(及び場合によっては他のユーザ)によって追加されたノードのライブラリを含み、プロセス制御環境内でオブジェクト/アセットの仮想の3D「マップ」を集合的に確立し得る。データベースはまた、例えば、関連するかつ/または接続されたノードのリストなどの他のノード情報を記憶してよい。
【0013】
特定のプロセス制御環境内の少なくとも1つの関心のあるオブジェクトがマッピングされた後(すなわち、ARモバイルデバイスを使用してノードライブラリに追加された後)、ARモバイルデバイスをランドマーク位置に登録する任意のユーザ(マッピングユーザを含む)は、プロセス制御環境の拡張ツアーを行い得る。登録されたARモバイルデバイスを有するユーザが、ARモバイルデバイスのカメラの視界を特定の現実世界のオブジェクトを含むエリアに向けるとき(例えば、ユーザがARヘルメットまたはゴーグルを着用しながらエリアを見る場合)、及びオブジェクトが既にノードライブラリ内のノードに関連付けられている場合、ARモバイルデバイスは、ユーザの現実世界のビューでオブジェクトの座標に、またはその近くに位置しているかのようにユーザに現れる、ノード「マーカー」(例えば、テキスト、アイコン、グラフィックなど)を用いてユーザによって観察される現実世界のシーンを拡張し得る。
【0014】
ユーザが特定のノードを選択した場合(例えば、ノードマーカーに集中すること、または音声コマンドを発することなどによって)、ARモバイルデバイスは、1つ以上の「ノード体験」をユーザに利用可能にし得る。例えば、1つのノード体験は、ユーザの現現実世界のビューにテキスト(ノード名、記述など)、表、及び/またはグラフィック/アイコンを重ね合わせ得る。他のノード体験は、特定のURL(例えば、教示もしくは「ヘルプ」ビデオ)からのウェブコンテンツを重ね合わせてよく、または、例えば、他のオブジェクト/ノードへの物理的もしくは論理的接続の視覚化及び/もしくはそれらとの関係を重ね合わせてよい。更に他のノード体験は、オブジェクト/ノードに関連付けられているワークオーダを検索すること、遠隔位置にあるユーザと適切なエキスパートとの間の通信リンクを確立することなどを含み得る。いくつかの実装では、少なくとも1つのノード体
験が、ユーザによって観察されているオブジェクトの特定のコンテキストにおいて、1つ以上の他のソフトウェアアプリケーションまたはシステムを起動(またはそれにリンク)する。例えば、ARモバイルデバイスは、視界内の選択されたオブジェクト/ノード(例えば、フィールドデバイス)のセンサデータ、状態、及び/または仮想コントロールを重ね合わせ得、データは異なるアプリケーションから受信され(かつコントロールへのユーザ入力は異なるアプリケーションに送信される)。
【0015】
所与のノードについてユーザに利用可能な体験、特定のノード体験内に提示されるコンテンツの種類、及び/またはいくつかの実装では、任意の拡張された情報が所与のノードについて特定のユーザに利用可能かどうかが、ユーザの「役割」に少なくとも部分的に基づいて、判定され得る。例えば、特定のユーザは、ARモバイルデバイスを使用して、「オペレータ」役割、「保守者」役割もしくは「エンジニア」役割を選択してよく、またはそのような役割に予め割り当てられてよい。
【0016】
ユーザに、他の多くの機能が提供され得る。いくつかの実装形態では、例えば、ユーザの現実世界のビューに重ね合わされたときに、あたかもユーザが囲い内(例えば、キャビネット内)に隠されたオブジェクトまたは障壁の背後にあるオブジェクトを見ているかのように現れ得る、超現実的または疑似現実的な3Dモデルの視覚化を作成することによって、仮想「X線視覚」をユーザに提供し得る。ARモバイルデバイスはまた、隠されたオブジェクトに関連付けられている状態データまたはアラートを表示すること、隠されたオブジェクトの動作を制御する音声コマンドを発することなどの、隠されたオブジェクトに関連付けられている特定のノード体験によってユーザに提示し得る(かつ/またはユーザに選択することを可能にし得る)。
【0017】
別の例として、ARモバイルデバイスは、制限付きアクセス及び/または遠隔のオブジェクト/ノードの「アバター」をユーザの現実世界のビューに重ね合わせ得る。オブジェクトは、例えば、高いタワーの頂部、または有毒なもしくは高電圧のエリアなどにあり得る。隠されたオブジェクトと同様に、ユーザには、制限付きアクセス及び/または遠隔のオブジェクトとの様々な対話を提供する、特定のノード体験が提供され得る。隠されたオブジェクト(「X線視覚」)と制限付きアクセス/遠隔のオブジェクト実装の/シナリオの両方において、ユーザは、オブジェクト/ノードを正面に置くこと、及びユーザがオブジェクトと対話している間にユーザにはっきりと見えることと非常に類似した全体的な体験を提供され得る。
【0018】
他の種類の機能性がまた、ARプラットフォームによってサポートされ得る。例えば、ユーザの現在の位置は、様々なアラート(例えば、ユーザが危険なエリアにいるという警告)及び/または他の情報の表示をトリガし得る。別の例として、プロセスプラント内のユーザの現在及び/または過去の3D位置は、緊急事態における従業員の避難の確保、従業員が負傷していないか、あるいは医学的支援の必要がないことの確保、または特定の従業員の訓練を監視することなどの、様々な目的のために追跡/記録され得る。
【0019】
上記のかつ以下で更に説明するARプラットフォームは、特定の実装形態に応じていくつかの利点を提供し得る。例えば、特定のオブジェクトの相対的な3D位置のみをマッピングすることによって、3Dモデルは、従来の手段(例えば、3Dスキャナを使用して環境をマッピングする)よりも容易かつ効率的に生成され得る。同様に、プロセス制御環境内のオブジェクトの更新または再構成は、より迅速かつ容易に実行され得る。更に、本明細書に記載されるマッピングプロセスを使用することによって、かつ本明細書で記載するようにARモバイルデバイス/ユーザの移動を追跡することによって、ARプラットフォームは、費用及び/もしくはレトロフィットの時間を必要とせずに、または別様に短距離通信技術(例えば、Bluetoothもしくは近距離通信(NFC)ユニット)を備え
たオブジェクトを装備することなく、かつ環境をナビゲートするユーザによる時間を要する行為(例えば、オブジェクト上のQRコードのスキャン、オブジェクト識別子の手動データ入力、物理的なオブジェクトへの接続など)を必要とすることなく、いつユーザに拡張情報を提供すべきかを判定し得る。したがって、特にプロセス制御環境におけるARシステムの展開に対する従来の障壁は、軽減または除去され得る。
【0020】
別の例として、ARプラットフォームは、一般に、第三者が、オブジェクト/ノードとの異なるユーザ対話に対応する新しい、カスタマイズされた種類もしくはクラスの「ノード体験」を提案することができ、かつ/または既存のノード体験の新しいコンテンツを提案することができる、マーケットプレースを提供し得る。計装ベンダーまたは他のエンティティは、例えば、特定のオブジェクトに対する「ヘルプ」情報、またはARもしくはビデオベースの作業指示のサブスクリプションを提案し得る。いくつかの実施形態では、仮想「アプリストア」は、顧客が様々なアプリケーションをライセンスし、かつ/または顧客のモバイルワーカーにとって望ましい特定の種類のコンテンツに加入することを可能にし得る。
【0021】
更に、不明瞭で、遠隔のかつ/または制限付きアクセスのノードに対する拡張情報の表示/ビューを容易にする機能は、ユーザの時間(したがって費用)を節約し得、いくつかの実装形態及び/またはシナリオでは、危険なエリアを訪問する必要を回避することによって作業者の安全を向上させ得る。
【0022】
また更に、ARプラットフォームアーキテクチャは柔軟性が高くてもよい。ARプラットフォームは、例えば、スマートヘルメット、スマートゴーグル、スマートフォン、タブレットなどの様々な異なるプラットフォーム上のユーザへの関連情報の表示を容易にし得る。ARプラットフォームはまた、多数の他のソフトウェアアプリケーション(例えば、制御論理を示すデータ、デバイス読み取り値などを検索することができるプロセス制御ソフトウェア)との対話性、及び/または新しい体験、コンテンツ、または簡単に提供されるべき他の機能を容易にし得る。
【0023】
上述されたように、本明細書に記載される特定の実装形態及び/または特徴は、ARシステムで使用される必要はなく、かつ/またはプロセス制御環境で使用される必要はない。例えば、スマートフォン、タブレットまたは他のモバイルデバイスを有するユーザには、プラント内のオブジェクトのマッピングされた3D位置ならびにユーザの現在の位置及び配向に基づく「ノード体験」が、ARディスプレイとして必ずしも提供される必要なく、表現され得る(例えば、バーチャルリアリティディスプレイまたは単にGUIを使用して)。別の例として、本明細書に記載される技術は、オフィス空間、倉庫、病院などのプロセス制御環境以外の環境に適用され得る。
【図面の簡単な説明】
【0024】
図1】本明細書に記載される様々な方法、技術、機能及び/または特徴をサポートし得るARプラットフォームを提供する拡張現実(AR)システムの例を描画するブロック図である。
図2図1のARシステムが利用され得る例示的なプロセス制御環境の構成要素を描画するブロック図である。
図3】プロセス制御環境における例示的なノードの3次元(3D)マップを描画する。
図4A】ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図4B】ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図4C】ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図4D】ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図4E】ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図4F】ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図4G】ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図4H】ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図5A】ARプラットフォームで使用され得る例示的なデータベースの要素を示す。
図5B】ARプラットフォームで使用され得る例示的なデータベースの要素を示す。
図6】ARモバイルデバイスのユーザが仮想X線視覚を提供される例示的な実施形態及びシナリオを描画する。
図7A】ユーザと、ユーザから遠くにある、またはそうでなければアクセスすることが困難なオブジェクトとの間の仮想近接を提供するために、ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図7B】ユーザと、ユーザから遠くにある、またはそうでなければアクセスすることが困難なオブジェクトとの間の仮想近接を提供するために、ARモバイルデバイスによって提供される視界の上に重ね合わされ得る例示的なユーザインターフェースを描画する。
図8】モバイルデバイスを使用して現実世界のプロセス制御環境をマッピングするための例示的方法のフロー図である。
図9】現実世界のプロセス制御環境において、ARモバイルデバイスのユーザに仮想強調視覚を提供するための例示的方法のフロー図である。
図10】ARモバイルデバイスのユーザと、プロセス制御環境の遠隔または制限付きアクセスのエリアに存在し得る、現実世界のオブジェクトとの間の対話を容易にするための例示的方法のフロー図である。
【発明を実施するための形態】
【0025】
例示的な拡張現実システム
図1は、環境(例えば、プロセス制御環境)においてAR体験を提供するためのARプラットフォームを一般に提供し得る拡張現実(AR)システム10の例を描画する。ARシステム10は、ユーザのARモバイルデバイス12と、ネットワーク16を介してARモバイルデバイス12に通信可能に結合され得るバックエンドサーバ14とを含む。ARモバイルデバイス12は、適切な処理及び感知能力を有し、着用可能であるか、または別様にユーザが携帯することができる任意のコンピューティングデバイスであってよい。例えば、ARモバイルデバイス12は、ARヘルメット(例えば、DAQRI(登録商標)によって開発されたSmart Helmet(登録商標))またはARゴーグルなどの、ARのために特別に構成されたデバイスであってよい。代替的に、ARモバイルデバイス12は、非ARアプリケーション(例えば、タブレット、スマートフォン、スマートメガネ、スマートウォッチなど)も有するデバイスであり得るが、AR能力を有するようにデバイス12を構成するソフトウェアアプリケーションを実行する。図1は1つのARモバイルデバイス12のみを描画しているが、ARモバイルデバイス12と同一または異なるより多くのARモバイルデバイスがARシステム10において同様の方法で使用され得
ることが理解される。
【0026】
ARモバイルデバイス12は、一般に、コンテキスト情報(例えば、テキスト、グラフィック、アニメーションなど)でユーザの現実世界のビューを拡張することによって、AR体験をユーザに提供するように構成される。バックエンドサーバ14は、一般に、ユーザの現実世界のビューが特定の状況においてどのように拡張されるべきかを指定するデータを管理することによって、ARデバイス及び/またはユーザの現在の状態及び/または環境を示すARモバイルデバイスからデータを受信することによって、かつ、必要に応じてARモバイルデバイスにデータを提供することによって、ユーザ及び他のARモバイルデバイスのユーザのAR体験をサポートする。
【0027】
ネットワーク16は、1つ以上の無線ネットワーク、場合によっては1つ以上の有線ネットワークをも含む。図1の例示的実施形態では、ARシステム10のARプラットフォームは、クラウドベースのアーキテクチャを利用し、ネットワーク16はインターネットを含む。ARシステム10が屋内で利用される場合、ネットワーク16はまた、IEEE802.11または「WiFi」ネットワークなどの遠隔のタワーまたは基地局との、いかなる直接通信をも必要としない無線ネットワークを含み得る。しかしながら、他の実施形態では、ネットワーク16は、セルラーネットワーク(例えば、LTE、GSMなど)を含む。以下で更に説明するように、ARシステム10はまた、バックエンドサーバ14及び/またはARモバイルデバイス12に通信可能に結合され、1つ以上のアプリケーション19を集合的に記憶及び実行する1つ以上の他のサーバ18を含み得る。
【0028】
図1の実施形態の例に見られるように、ARモバイルデバイス12は、ネットワークインターフェース20、ディスプレイ22、カメラ24、慣性測定ユニット(IMU)26、及びARアプリケーション32を記憶するメモリ30を含み得る。ネットワークインターフェース20は、ネットワーク16の少なくとも一部の無線通信プロトコル(例えば、WiFiまたはセルラーネットワーク)を使用して、バックエンドサーバ14を含むリモートコンピューティングデバイス及びシステムとの通信を可能にするように構成される。
【0029】
ディスプレイ22は、任意の適切な種類のデジタル表示技術に従って構成されたハードウェア及び関連するファームウェア及び/またはソフトウェアを含み得る。例えば、ディスプレイ22は、液晶ディスプレイ(LCD)技術、発光ダイオード(LED)技術、有機発光ダイオード(OLED)技術などを使用し得る。ディスプレイ22は、一般に、透明もしくは半透明であってよく、または不透明であってよい。ディスプレイ22の構造またはフォームファクタ、及びディスプレイが透明/半透明または不透明であるかどうかは、一般に、ARモバイルデバイス12の種類に依存する。例えば、ARモバイルデバイス12がヘルメットである場合、ディスプレイ22はバイザーの形態を有してよく、ディスプレイ22によって表示される任意の情報が、ユーザの直接的な現実世界のビューに重ね合わされるように半透明であってよい(すなわち、「ヘッドアップディスプレイ」または「HUD」)。反対に、ARモバイルデバイス12がタブレットまたはスマートフォンである場合、ディスプレイ22は、従来の矩形フォームファクタを有し、現実世界の間接的なビュー(例えば、カメラ24によって捕捉されたような)のみを可能にし得る。
【0030】
カメラ24は、例えば、電荷結合素子(CCD)画像センサなどの任意の適切な種類の光学センサであってよい。代替の実施形態では、カメラ24は、例えば、光検出及び測距(ライダー)センサもしくはレーダセンサなどの異なる種類の撮像デバイスの代わりであるか、またはそれを含む。IMU26は、3次元でARモバイルデバイス12の移動を示すデータを生成する、1つ以上のセンサ(例えば、加速度計及び/またはジャイロスコープ)を含み得る。図1には示されていないが、ARモバイルデバイスはまた、マイクロフォン及び/またはスピーカなどの他の構成要素を有し得る。
【0031】
ARアプリケーション32を記憶するメモリ30は、例えば、ソリッドステートまたはハードドライブ形式の読み出し専用メモリ(ROM)などの任意の適切な種類の永続メモリであってよい。ARアプリケーション32は、例えば、ディスプレイ22上に適切な拡張情報を生成し、必要に応じてバックエンドサーバ14と通信することによって、ARモバイルデバイス12のユーザのAR体験を概ね調整する。図1は、役割識別モジュール40と、登録モジュール42、位置決め及び配向モジュール44と、ノード体験モジュール46と、ノード作成モジュール48と、視覚強調モジュール50と、位置ベースアラートモジュール52とを含む、ARアプリケーション32によって実行または提供され得る例示的な機能または機能に対応するモジュールのセットを描画する。モジュール40~52の各々は、ARシステム10の動作に関連して以下で更に説明される。いくつかの実施形態では、ARアプリケーション32は、図1に示されたモジュールよりも少なく、より多く、及び/またはそれと異なるモジュールを含む。例えば、ARアプリケーション32は、ユーザ音声コマンドを認識するための音声認識モジュールを含み得る。
【0032】
図1の例示的な実施形態ではまた、バックエンドサーバ14は、ウェブサービスインターフェース60と、体験プロビジョニングユニット62と、3Dモデル生成ユニット64と、視覚強調ユニット66と、アラート生成ユニット68と、ユーザ監視ユニット70とを含む。一般に、ウェブサービスインターフェース60は、バックエンドサーバ14に結合された(またはその内部に含まれる)ARデータベース72にオブジェクト指向のウェブベースインターフェースを提供し得る。いくつかの実施形態では、ウェブサービスインターフェース60は、ARモバイルデバイス12などのリモートデバイスにアプリケーションプログラミングインターフェース(API)を提供する。
【0033】
ARデータベース72は、一般に、特定の環境の3Dマップを定義する情報を記憶し(例えば、ノード識別子、ランドマークに対する3Dマップ内のノードの位置、及びおそらくはノードに関連付けられている他の情報を記憶することによって)、図5A及び図5Bに関連して以下に更に詳細に説明される(ある特定の実施形態によれば)。ARデータベース72は、単一のデータベースまたはデータベースの集合であってよく、単一の物理メモリに記憶されてよく、または1つ以上の地理的位置にある複数のメモリにわたって分散されてよい。要素/ユニット60~70のうちの1つ、いくつか、または全ては、永続メモリ(例えば、ROM)に記憶されたソフトウェア命令として実装され得る。他の実施形態では、バックエンドサーバ14は、図1に示されているものよりも少ない、より多くの、及び/または異なる要素/ユニットを含む。
【0034】
動作中、ARモバイルデバイス12を着用しているか、または別様に携帯しているユーザは、ARモバイルデバイス12にARアプリケーション32を起動させ得る。ARアプリケーション32は、例えば、ディスプレイ22上のアイコンを手動で選択すること、音声コマンドを発すること、または単にARモバイルデバイス12をパワーアップすることによって起動され得る。
【0035】
いくつかの実施形態では、ARアプリケーション32の役割識別モジュール40は、最初に(例えば、起動時に)、ユーザのジョブ位置に対応し得、かつ/または特定のタスクまたはユーザが、例えば、ARシステム10を使用することによって達成しようとしているタスクに対応し得る特定の「役割」を示すように促す。他の実施形態では、ユーザは、後で(例えば、後述するようにランドマークに登録した後に)自身の役割を示すように最初に促される。役割識別モジュール40が、ディスプレイ22上にまたはディスプレイ22を介して(例えば、カメラ24によって捕捉された画像フレームの上で、またはユーザの直接的な現実世界のビューの上で)見られる現実世界のビューに重ね合わせ得るユーザインターフェースの一例が、図4Aに関連して以下に説明される。代替の実施形態では、
役割識別モジュール40は、役割を選択するようにユーザに促すのではなく、代わりに、ユーザによって入力または発声されるARモバイルデバイス12の識別子及び/または識別情報(例えば、名前、従業員番号など)に基づいて、ユーザの事前に割り当てられた役割を判定する。
【0036】
選択されるかまたは割り当てられたユーザ役割は、以下で更に説明するように、ユーザに提供されるAR体験の様々な側面を調整し得る。実施形態に応じて、ユーザ役割は選択されるかもしくは割り当てられた後に固定されてよく、またはユーザが環境を移動するときにユーザがその場で変更してよい。いくつかの実施形態では、役割識別モジュール40は、ARアプリケーション32に含まれず、ARシステム10内でユーザ役割が選択されないかまたは割り当てられない。
【0037】
環境をマッピングする前に、または以前にマッピングされた環境を更新もしくは探索する前に、いくつかの実施形態では、ユーザは、その位置が、次いで将来のARモバイルデバイス12(及び同等に、ユーザ)の移動のために基準点として使用される「ランドマーク」にARモバイルデバイス12を登録する必要があり得る。同じランドマーク位置はまた、3Dマップのノードとして既に確立されている(または確立されることになる)環境内の任意のオブジェクトの位置の基準点としても使用され、それによって、任意のマッピングされたオブジェクトに対するARモバイルデバイス12の位置の判定を可能にする。ランドマーク位置は、例えば、{x、y、z}座標系の{0、0、0}を表現し得、または他の座標系(例えば、極座標)が使用され得る。
【0038】
ARモバイルデバイス12を登録するために、登録モジュール42は、カメラ24によって捕捉された1つ以上の画像/フレームを処理し得る。ランドマークは、例えば、QRコード、またはランドマーク位置に物理的に印刷された任意の他の適切な種類の画像またはテキスト(例えば、プロセス制御プラント内のエリアの入口付近の壁または扉)であり得る。いくつかの実施形態では、登録モジュール42またはARアプリケーション32の別の部分は、ユーザに提供された現実世界のビュー内にレチクルを重ね合わせて(例えば、図4Eに関連して後述されるように)、ユーザがQRコード、画像などに集中するのを支援してよい。いくつかの実施形態では、ARモバイルデバイス12の補完的なBluetoothまたはNFC通信ユニット、及びランドマーク位置に固定された別のデバイスなどの、ランドマークを認識するために異なる技術が使用される。
【0039】
いくつかの実施形態では、ユーザがARモバイルデバイス24を特定のランドマークに登録すると、登録モジュール42は、ランドマークの識別子を示すデータを、ネットワーク16及びウェブサービスインターフェース60を介してバックエンドサーバ14に転送する(例えば、QRコードのバイナリ表現を送信すること、または画像を復号する前にQRコードの画像を送信することによって)。次いで、バックエンドサーバ14は、ランドマーク識別子を、ARデータベース72に記憶されているランドマーク識別子と比較し得る(存在する場合)。識別子がまだ記憶されていない場合、バックエンドサーバ14は、ウェブサービスインターフェース60及びネットワーク16を介して登録モジュールに障害メッセージを返してよく、またはいくつかの実施形態では、ARデータベースに、新しいランドマーク識別子入力を新しい3Dマップに関連付けて作成させてよい。反対に、ランドマーク識別子がARデータベース72に既に存在する場合、バックエンドサーバ14は、対応する3Dマップ(及び関連するデータ)の一部または全部をARモバイルデバイス12に利用可能にし、登録の成功を示すメッセージをウェブサービスインターフェース60及びネットワーク16を介して登録モジュール42に返してよい。
【0040】
ARデータベース72は、各々が異なる3Dマップに関連付けられている多数の異なるランドマーク識別子を記憶し得、各マップは異なるノードのライブラリに関連付けられて
いる。複数のマップは、同じ環境に関連付けられ得(例えば、単一の環境内の異なるオブジェクトを異なるマップのノードとして追加することによって)、かつ/または異なるマップは、異なる環境に関連付けられ得る(例えば、プロセス制御プラントの第1のエリアのマップ、プラントの第2のエリアの別のマップなど)。
【0041】
いくつかの実施形態では、ランドマークにARモバイルデバイス12をうまく登録することは、位置決め及び配向モジュール44に、ARモバイルデバイス12の位置をランドマーク位置(例えば、{0、0、0})に等しく設定させる。しかしながら、精度を高めるために、登録モジュール42は、深度感知技術を使用して、カメラ24によって捕捉されたランドマークの画像を処理して、ARモバイルデバイス12とランドマークとの間の距離を判定し得る。次いで、位置決め及び配向モジュール44は、ランドマークからの判定された距離とランドマークに対するARモバイルデバイス12の配向との両方に基づいて、ARモバイルデバイス12の開始位置をランドマークの既知/基準位置からオフセットし得る。ランドマークがQRコードまたは他の視覚的識別子である場合、ARモバイルデバイス12の相対的な配向は、ランドマークが向いている方向に基づいて仮定され得る。代替的に、相対的な配向は、捕捉された画像から判定され得る(例えば、ランドマークなどに対するカメラビューの入射角を判定することによって)。
【0042】
登録されると、ARモバイルデバイス12のユーザは、デジタルテキスト、表、グラフィック、アニメーション、及び/またはランドマークに対応する3Dマップに関連付けられている他の種類の情報によって、一般に拡張される、現実世界のビュー(ディスプレイ22を介して提供される)を用いて、環境の移動を開始し得る。ユーザ(すなわち、ARモバイルデバイス12)の位置及び配向を追跡するために、位置決め及び配向モジュール44は、IMU26、カメラ24、及び/または図1には示されていないARモバイルデバイス12の1つ以上の他のセンサにアクセスし得る。いくつかの実施形態では、位置決め及び配向モジュール44は、集合したセンサデータを使用して、GPS、GNSS、WiFi測位(例えば、三辺測量)、またはARモバイルデバイス12と他のデバイスまたはシステムとの間の通信リンクを必要とする任意の他の測位技術に依存することなく、位置及び配向を判定する。「位置(Position)」または「位置(location)」は、3D座標系(例えば、デカルトまたは極座標)における特定の座標セットを指し得、「配向」は、特定の方向(例えば、360度水平/方位角範囲、及び高度または標高)を指し得る。いくつかの実施形態では、「配向」は、デバイス12が向いている方向とは無関係に、ARモバイルデバイス12の傾斜を更に指し得る。相対位置のみが追跡される(例えば、「推測航法」の意味において)ため、位置決め及び配向モジュール44は、登録が行われたランドマークの位置に対するARモバイルデバイス/ユーザ位置を判定する。
【0043】
いくつかの実施形態では、位置決め及び配向モジュール44は、少なくともカメラ24及びIMU26からのデータの融合を処理して、単独で使用される場合、センサのいずれかの種類に関連する欠陥を克服するのを支援する。例えば、位置決め及び配向モジュール44は、Qualcomm(登録商標)によって開発された視覚慣性測定法(VIO)技術を利用して、ARモバイルデバイス12の位置及び配向を追跡し得る。そのような技術は、精度を向上させ、判定された位置における「ドリフト」を低減し、かつ/または他の利点を有するのを支援し得る。
【0044】
ARモバイルデバイス12自体に対するカメラ24の位置及び配向が既知であるため、ARアプリケーション32は、位置決め及び配向モジュール44によって判定された任意の所与の位置及び配向について、ARモバイルデバイス12の視界(いくつかの実施形態ではまた、ユーザの現実世界のビューに対応し得る)を判定することができる。判定された位置及び配向に基づいて、ARデータベース72に記憶されたノード位置を3Dマップ
に使用し、したがって、ARアプリケーション32は、どのマッピングされたオブジェクトが任意の所与の時間に視界内にあるかを判定し得る。いくつかの実施形態では、オブジェクトがカメラセンサの水平及び垂直の範囲/程度にある場合(例えば、特定の方位角及び垂直/高度/仰角内にある場合)、オブジェクトと画像を捕捉するARモバイルデバイスとの間の距離に関係なく、オブジェクトが環境内の障害物によって偶然遮断されたかどうかを問わず、オブジェクトは、カメラの「視界内にある」と見なされてよい。例えば、カメラ24の直接及び間接的に前にあるオブジェクトは、たとえオブジェクトが囲い、障壁、他のオブジェクトなどによって遮蔽されたとしても、カメラ24の「視界内」と見なされてよい。他の実施形態では、オブジェクトは、オブジェクトが不明瞭でない場合、すなわちカメラがオブジェクトの画像を捕捉することができる間に、カメラの「視界内にある」としか見なされない。
【0045】
マッピングされたオブジェクトの位置を判定するために、ARアプリケーション32は、ネットワーク16及びウェブサービスインターフェース60を介してARデータベース内のノード位置に定期的にアクセスし得る。例えば、ARアプリケーション32は、バックエンドサーバ14がARモバイルデバイス12の閾値距離内(及び/またはデバイス12の視界内など)のノードの位置データを提供することを定期的に要求し得、要求はARモバイルデバイス12の現在の位置(及び/または配向)を示す。代替的に、ARアプリケーション32は、バックエンドサーバ14が、例えば登録時に登録のために使用されたランドマークに関連付けられている3Dマップについてのすべてのノード位置(及び可能であれば、ノード記述などの他の情報)を送信するように要求し得る。更に他の実施形態では、バックエンドサーバ14は、ARモバイルデバイス12がランドマークにうまく登録するときに、関連するすべてのノード位置を自動的に送信し得る。
【0046】
ARアプリケーション32は、拡張が、ユーザの現在の視界内のマッピングされたオブジェクト/ノードのうちの1つ、2つ以上に提供されるべきであるか、またはいずれにも提供されるべきではないと判定し得る。この判定を行うために、ノード体験モジュール46は、1つ以上の基準を適用し得る。いくつかの実施形態では、例えば、ノード体験モジュール46は、オブジェクトとユーザとの間の距離、及びオブジェクトが任意の障害物によってユーザのビューから遮蔽されるかどうかを問わず、ユーザの現在の視界内のすべてのマッピングされたオブジェクトに対して拡張が提供されるべきであることを判定し得る。代替的に、ノード体験モジュール46は、視界内にあるが、ユーザから離れた閾値距離を超える(例えば、位置決め及び配向モジュール44、及びARデータベース72に記憶された対応するノード位置から判定された現在のユーザ位置から判定されるような)マッピングされたオブジェクトに対して、拡張が提供されるべきでないことを判定し得る。
【0047】
ノード体験モジュール46はまた、または代わりに、ARモバイルデバイス12の視界内にあるが視界から遮断されたマッピングされたオブジェクトに対して、拡張が提供されるべきでないことを判定し得る。マッピングされたオブジェクトが不明瞭であるかどうかは、実施形態に応じて異なる方法で判定され得る。例えば、ARデータベース72内のフィールドは、特定のノードが一般に不明瞭なオブジェクトに対応するかどうかを示し得る。例えば、キャビネット内に囲まれた構成要素の場合、対応するノードは、構成要素とキャビネットとの関係を示すフィールドを有する。他の実施形態では、ARアプリケーション32及び/またはバックエンドサーバ14は、ノード構成、ノード種類、及び/またはノードサイズのより複雑な分析を実行して、ユーザの現在の視点から、特定のマッピングされたオブジェクトがおそらく目に見えるであろうということを判定し得る。
【0048】
いくつかの実施形態では、ユーザの感覚過負荷の危険性を低減するために、ユーザが(ARモバイルデバイス12を単純に移動及び/または再配向することを超えて)特定のアクションを取らない限り、拡張はいくつかの特定の種類のマッピングされたオブジェクト
に提供されない。例えば、ノード体験モジュール46は、ユーザがキャビネットのアイコンまたは他のグラフィック表現を選択しない限り、かつ/またはキャビネットの内容物を見せるオプションを選択するなどしない限り、異なるマッピングされたオブジェクトに各々対応する、キャビネット内の比較的小さい構成要素の多くに対して拡張を提供し得ない。
【0049】
更に、いくつかの実施形態では、ノード体験モジュール46は、役割識別モジュール40によって判定されるように、ユーザの役割に基づいて、ユーザの視界内の特定のマッピングされたオブジェクトに対して拡張が提供されるべきかどうかを判定し得る。したがって、ノード体験モジュール46は、特にランドマークと選択されるかまたは割り当てられた役割との両方に関連付けられているノードについて、ウェブサービスインターフェース60に照会してよい。プロセス制御環境では、例えば、「保守者」役割を有するが、「オペレータ」役割を有するユーザに対してではなく、電源スイッチが拡張されてよい。
【0050】
拡張されるべきオブジェクトについて、ノード体験モジュール46は、あたかもユーザの現実世界のビューにおけるオブジェクトの座標に(またはその近くに)位置しているかのように、ユーザに現れるディスプレイ22のエリアに、テキスト(例えば、デバイス識別子、状態及び/もしくは記述)ならびに/またはアイコンもしくは他のグラフィックなどのノード「マーカー」を最初に重ね合わせ得る。マーカーは、例えば、ディスプレイ22上にレンダリングされた線によって現実世界のビューにおいてマッピングされたオブジェクトに接続されているように見え得る。他の実施形態では、マーカーは、オブジェクトの上にレンダリングされた円もしくは他の形状、オブジェクトを大まかに囲む長方形のアウトライン、またはいくつかの他の種類のインジケータである。
【0051】
ユーザが特定のノードを選択した場合(例えば、ノードマーカー上に仮想レチクルを集中させることによって、または音声コマンドを発することなどによって)、ノード体験モジュール46は、ユーザに1つ以上の「ノード体験」を利用可能にし得る。マッピングされた環境を通って移動する適切に装備されたユーザのより一般的な「AR体験」とは対照的に、「ノード体験」は、オブジェクト/ノードとのユーザ対話の特定の種類を指す。ノード体験モジュール46は、例えば、現実世界のビューにメニューもしくは他の対話型ディスプレイを重ね合わせることによって、かつ/またはユーザからの音声コマンドを認識するように構成されることによって、特定のノード体験を選択するオプションをユーザに提供し得る。ユーザは、ノードマーカーを選択すること(例えば、オプション上の仮想レチクルの集中、音声コマンドなど)と同様の方法で、または別の適切な方法で、メニューオプションを選択し得る。
【0052】
特定のノード体験が選択されると、ノード体験モジュール46は、選択をネットワーク16を介してウェブサービスインターフェース60に転送し得る。これに応答して、体験プロビジョニングユニット62は、ARデータベース72(及び/またはサーバ18などの他の位置)から選択されたノード及び選択された体験に関連付けられているデータ(例えば、テキスト、グラフィックなど)を検索し、ウェブサービスインターフェース60を介して検索されたデータをARモバイルデバイス12に送り返して、ノード体験モジュール46がそれに応じてユーザの現実世界のビューを拡張することを可能にし得る。
【0053】
ノード体験は、比較的単純であっても複雑であってよい。ノードマーカー自体は、例えば、デフォルトの「ノード体験」と見なされ得る。他の例として、ノード体験モジュール46は、他のテキスト及び/またはテーブル(すなわち、対応するオブジェクトに関連付けられている情報)を、ユーザの現実世界のビューに(ディスプレイ22を介して)、オブジェクトの単純なグラフィックまたはアイコン、オブジェクトの超現実的または擬似現実的な3Dモデル、オブジェクトの画像、オブジェクトを含むアニメーション(例えば、
オブジェクトの回転する3Dモデル)などを重ね合わせ得る。
【0054】
ノード体験はまた、あるいは代わりに、他の種類の対話性を含み得る。例えば、ノード体験モジュール46は、環境内(例えば、特定のプロセス制御ルーチン内)のオブジェクト及び/またはその動作に関するチュートリアルを提供するビデオに、オブジェクトを含むワークオーダに、またはリモートエキスパートに、リンク(例えば、URL)を重ね合わせ得る。代替的に、または加えて、ユーザは、これらのノード体験の一部または全部について音声コマンドを発し得る。ビデオもしくはワークオーダなどのコンテンツが選択されるか、または呼び出される実施態では、ノード体験モジュール46は、コンテンツをユーザの現実世界のビューに重ね合わせ得る。リモートエキスパートもしくは他の人物が選択されるか、または呼び出された場合、ノード体験モジュール46は、ネットワークインターフェース20または別の適切なネットワークインターフェースに(例えばネットワーク16を介して)人物との通信リンクを確立させることを可能にし得、いくつかの実施形態では、通信が終了するまで、人物の静止画像またはビデオを重ね合わせ得る。
【0055】
他のノード体験は、選択されたオブジェクト/ノードと他のオブジェクト/ノードとの間の特定の種類の関係を列挙し、かつ/または図形的に描画してよい。例えば、1つのノード体験の場合、ノード体験モジュール46は、選択されたオブジェクト/ノード(例えば、親及び/または子オブジェクト/ノード)に関連するオブジェクト/ノードのリストを、ユーザの現実世界のビューに重ね合わせ得る。「関係」は、所望の方法で定義されてよく、新しいノードの追加するときにユーザによって手動で設定されてよく、または別の適切な方法で設定されてよい。例えば、いくつかの関係は、オブジェクトが別のオブジェクトの構成要素であるかどうか、及び/またはそれ自体が多数の構成要素を含むかどうかを参照し得る。バルブは、例えば、バルブの構成要素に各々対応するノードのグループの親であるノードに対応し得る。
【0056】
ノード体験モジュール46は、ウェブサービスインターフェース60を介して体験プロビジョニングユニット62に照会することによって関係を判定し得、体験プロビジョニングユニット62が、ARデータベース72から関連するノードの識別子を検索し、それらのノードの指標をノード体験モジュール46に提供する。デフォルトでは、個々のバルブ構成要素の全てについてノードマーカー及び/またはノード体験を表示しないことによって(例えば、ノードまたは特定のオプションがユーザによって特に選択されない限り)、ユーザは圧倒的な量の視覚的情報を一度に受信することから免れ得る。
【0057】
いくつかの種類の関係は、グラフィカルにユーザに描画され得る。例えば、ノード体験モジュール46は、選択されたノードに対応するオブジェクトと、他のノードに対応する1つ以上の他のオブジェクトとの間の物理的または論理的接続のグラフィカル描画を提供し得る。ノード体験モジュール46は、ウェブサービスインターフェース60を介して体験プロビジョニングユニット62に照会することによって接続を判定し得、体験プロビジョニングユニット62は、ARデータベース72から接続されたノードの識別子を検索し、それらのノードの指標をノード体験モジュール46に提供する。次いで、ノード体験モジュール46は、適切なオブジェクトに接続された線を描画する表示を生成し、その線をユーザの現実世界のビューに重ね合わせてよい。そのようなノード体験の一例が、以下に説明する図4Hに提供される。
【0058】
示された接続及び/または他の関係もまた、ユーザの選択されるかまたは割り当てられた役割に基づいて変化し得る。プロセス制御環境では、例えば、「オペレータ」は、センサ/トランスミッタデバイスからタンクへの線を示され得、線は、センサ/トランスミッタがタンク内の圧力を測定することを示す。反対に、「エンジニア」は、代わりに(または加えて)、センサ/トランスミッタからセンサ送信を受信する別のデバイスへの線を示
されてよく、「保守者」は、代わりに(または加えて)、センサ/トランスミッタからデバイスの電源への線を示されてよい(例えば、保守者がデバイスの保守、修理または交換を行う前に、電源を遮断する箇所を容易に見つけることができるように)。
【0059】
いくつかの実施形態では、体験プロビジョニングユニット62は、1つ以上のノード体験を提供するために、他のサーバ18(複数可)及び/またはアプリケーション(複数可)19からのデータ及び/または機能を利用し、かつ/または1つ以上のアプリケーション(複数可)19は、体験プロビジョニングユニット62から送信されたデータに応答して起動され得る。このような実施形態のいくつかの例は、プロセス制御環境において、図2に関連して以下に説明される。
【0060】
上述のように、ノード体験モジュール46は、ユーザの選択されるかまたは割り当てられた役割(例えば、オペレータ、保守者など)に基づいて、特定のマッピングされたオブジェクトのユーザの現実世界のビューを拡張するかどうかを判定し得る。加えて、または代替的に、ノード体験の種類、及び/または特定の体験によって提供されるコンテンツまたは対話性は、ユーザの役割に基づいて変化し得る。例えば、「保守者」の役割を有し、自身の現実世界のビューでポンプを有するユーザは、ポンプの予定された保守リマインダを示すノード体験が提示され得る一方で、「オペレータ」または「エンジニア」の役割を有するユーザは、代わりに、プロセス制御ルーチン内のポンプの論理的接続に関する情報が提示され得る。予定された保守が遅れた場合、保守者にアラートが示され得る一方で、オペレータまたはエンジニアは、他のシナリオで(例えば、ポンプに障害が発生した場合など)、アラートのみが示され得る。
【0061】
ノード作成モジュール48は、ARモバイルデバイス12を登録するために使用されるランドマークに対応する3Dマップ内の新しいノードの追加をサポートする。いくつかの実施形態では、任意のユーザは、新しいノードを3Dマップに追加することができる。他の実施形態では、特定のユーザ役割のみ、及び/または特定のARデバイスのみが、新しいノードの追加するために使用され得る。新しいノードの追加するために、ユーザは、ARモバイルデバイス12の視界(例えば、視界内の中心に位置するレチクル)をマッピングされるべき現実世界のオブジェクトに向け、新しいノードとしてオブジェクト追加するオプションを選択してよい。
【0062】
これは、実施形態に応じて、異なる方法で達成され得る。例えば、ユーザは、重ね合わされたメニュー項目(例えば、仮想「ノードの追加」ボタン)を選択し、または音声コマンドを発してよく、それに応答して、ノード作成モジュール48は、レチクルをユーザの現実世界のビューに重ね合わせてよい。オブジェクトにレチクルを向けている間、ユーザは別の制御(例えば、仮想「確認」ボタン)を起動するか、または第2の音声コマンドを発し得る。それに応答して、ノード作成モジュール48は、オブジェクトの位置を判定し、ノード名及び/または記述を入力するようにユーザに促し得る。次いで、ノード作成モジュール48は、ネットワーク16を介してウェブサービスインターフェース60に位置、入力されるかまたは発声された名前などを送信してよく、3Dモデル生成ユニット64は、少なくとも位置及びノード識別子(例えば、ユーザによって入力されるかまたは発声されたノード名)をARデータベース72に送信し得る。
【0063】
マッピングされているオブジェクトの位置を判定するために、ノード作成モジュール48は、ARモバイルデバイス12の現在の位置を利用し(位置決め及び配向モジュール44によって判定されるように)、ARモバイルデバイス12とオブジェクトとの間の距離と、ARモバイルデバイス12の配向との両方に基づいて、その位置をオフセットし得る。これは、上述されたように、ランドマークに登録するときに、ARモバイルデバイス12の初期3D位置を判定するのと同様の方法で達成され得る。例えば、ノード作成モジュ
ール48は、ARモバイルデバイス12とオブジェクトとの間の距離を判定するために、深度検知技術を使用して、カメラ24によって捕捉されたオブジェクトの画像を処理し得る。次いで、位置決め及び配向モジュール44は、ARモバイルデバイス12の判定された距離及び配向(例えば、オブジェクトの画像が捕捉されたときにARモバイルデバイス12の視界が向いていた距離及び方向)の両方に基づいて、ARモバイルデバイス12の位置からオブジェクトの位置をオフセットし得る。
【0064】
いくつかの実施形態では、ノード作成モジュール48はまた、既存のノードを更新/修正するために使用されてよい。例えば、ノード体験モジュール46によって提供されるメニューは、ノード情報を更新するためのオプションを含み得る。選択された場合、ノード作成モジュール48は、ユーザにノードに関する情報(例えば、ノード名、ノード記述など)を変更することを可能にするために、ユーザの現実世界のビューに1つ以上のメニューまたは他のユーザインターフェースを重ね合わせ得る。任意の変更は、ネットワーク16を介してウェブサービスインターフェース60に送信され得、3Dモデル生成ユニット64は、それに応じてARデータベース72を更新し得る。
【0065】
いくつかの実施形態では、ARアプリケーション32は、上述された拡張機能を超えて、ユーザの仮想視覚を強調するようにARモバイルデバイス12を構成する。例えば、特定の種類のノードの場合、視覚強調モジュール50は、マッピングされたオブジェクトが、ユーザの現在の視界(例えば、ノード体験モジュール46について上述されたように)によって捕捉されたが、1つ以上のオブジェクトによって不明瞭であるエリア内にいつ存在するかを判定し、ユーザに仮想「X線視覚」を提供し得る。仮想X線視覚は、1つ以上の他の基準が確立されている場合(例えば、視覚強調モジュール50が、隠されたオブジェクトがARモバイルデバイス12の閾値距離内にあると判定した場合)にのみ提供され得、または任意の他の基準を問わず提供され得る。
【0066】
このような実施形態の1つでは、ARデータベース72は、ノード入力のうちの少なくともいくつかの各々について、ノードが任意のユーザのビューから隠されている可能性があることを示すフラグまたは他の可視性インジケータを含む。この可視性インジケータは、オブジェクトの既知の関係に基づいて自動的に生成されていてよく(例えば、3Dモデル生成ユニット64が、ノードに対応するオブジェクトがキャビネット内に位置決めされていることを知るために制御システムにアクセスする場合)、ユーザによって手動で設定され得る(例えば、ノードの追加するとき、ノード作成モジュール48がユーザの現実世界のビューに重ね合わせるユーザインターフェースを介して)。特定のマッピングされたオブジェクトがユーザの視界内にある場合、視覚強調モジュール50は、ネットワーク16及びウェブサービスインターフェース60を介して、バックエンドサーバ14の視覚強調ユニット66に照会し得、視覚強調ユニット66は、次に、ARデータベース72にアクセスして、関連する可視性インジケータを検索し得る。次いで、視覚強調ユニット66は、ウェブサービスインターフェース60を使用して、可視性インジケータ、またはそのオブジェクトが不明瞭であるかどうかを示す他のデータを視覚強調モジュール50に送信し得る。
【0067】
代替的に、視覚強調モジュール50及び/または視覚強調ユニット66は、他の方法で可視性判定を行ってよい。例えば、特定のマッピングされたオブジェクトまたはオブジェクトのセットは、モデル番号、QRコード、または他の視覚的インジケータでマークされたキャビネット内にあり得る。視覚強調モジュール50は、カメラ24によって捕捉された視覚的インジケータの画像を処理して、キャビネットの識別子(例えば、ノード識別子)を判定し、その識別子をウェブサービスインターフェース60を介して視覚強調ユニット66に送信し得る。次いで、視覚強調ユニット66は、識別子を使用して、どのマッピングされたオブジェクト(例えば、フィールドデバイス、I/Oカードなど)がキャビネ
ット内にあるかを判定し、キャビネット内のオブジェクトが不明瞭であることを示すデータを送り返してよい。
【0068】
所与のオブジェクトに対する仮想X線視覚の効果を提供するために、視覚強調モジュール50は、オブジェクトの超現実的または擬似現実的な2Dまたは3Dモデル、あるいはオブジェクトのデジタル画像またはビデオを検索し、そのモデル、画像、またはビデオをユーザの視界でオブジェクトの上(またはオブジェクトの近く)に重ね合わせ得る。デフォルトによるか、または2Dもしくは3Dモデルまたは音声コマンドなどのユーザ選択に応答することによる、いずれかで、ノード体験モジュール46はまた、上述されたように、視覚的メニューオプションまたは音声コマンド認識を提供して、ユーザにノードに対する様々な体験を選択することを可能にし得る。したがって、ユーザは、現実世界のオブジェクトが自身の視界に直接ある間に、現実世界のオブジェクトと対話するのと非常によく似ているように現れ、かつ「感じる」ような方法で、隠れたオブジェクトと対話し得る。
【0069】
視覚強調モジュール50はまた、または代わりに、他の方法でユーザの仮想視覚を強調し得る。例えば、オブジェクトが制限付きアクセスの及び/もしくは危険なエリア(例えば、非常に高い位置、バリケードされた位置、高電圧または有毒エリアなど)にある場合、ならびに/またはユーザから遠く離れている場合、視覚強調モジュール50は、ユーザに、オブジェクトを自身の視界に表現する「アバター」を検索することを可能にし得る。アバターは、X線視覚の例について上述された2Dまたは3Dモデル、画像、ビデオなどと同じであってよく、またはいくつかの点で異なってよい。実際に、いくつかの実施形態では、仮想X線視覚は、現実世界のオブジェクトのアバターを呼び出すための複数のユースケースのうちの1つに過ぎない。
【0070】
アバターは、実施形態及び/またはシナリオに応じて、異なる方法で呼び出され得る。いくつかの実施形態では、視覚強調モジュール50は、まず、視覚インジケータがユーザの現実世界のビューに対して対応するオブジェクトの位置のいくつかの指標を与える、特定の基準が満たされる場合、視覚的インジケータをユーザの現実の視界に重ね合わせる。例えば、(1)ARモバイルデバイス12がオブジェクトのいくつかの閾値距離内にある場合、及び(2)ノードが制限付きアクセスのオブジェクトとしてフラグが立てられている場合、視覚的インジケータを提示し得る。ARデータベース72は、例えば、(例えば、ノードがユーザによって追加されたときの、手動のユーザ入力に基づいて)そのような状態を示すデータを記憶し得、または状態は推論され得る(例えば、視覚強調ユニット66が、オブジェクトがバックエンドサーバ14が「危険」領域としてフラグを立てた領域にあることを判定した場合、または視覚強調モジュール50もしくは視覚強調ユニット66が、オブジェクトの位置が少なくともz方向のARモバイルデバイス12からの閾値距離であり、したがって非常に異なる仰角であることを判定した場合など)。視覚的インジケータは、オブジェクトの方向を指す矢印、オブジェクトに通じる線、またはいくつかの他の位置の指標を含み得る。視覚的インジケータの一例が、図7Aに関連して以下に説明される。ユーザがインジケータを選択するか、または別の適切なアクションをとる場合(例えば、いくつかの実施形態では、ユーザが自身の視界を変えてオブジェクトを含める場合)、視覚強調モジュール50は、アバターをユーザの現実のビューに重ね合わせてよい。
【0071】
他の実施形態では、オブジェクトの位置のインジケータは、アバター自体(例えば、アバターの上または近くにあるオブジェクト位置への矢印/ポインタを有する)を含む。更に他の実施形態及び/またはシナリオでは、視覚強調モジュール50は、オブジェクトの位置の視覚的インジケータを提示することなく、ユーザの視界にアバターを重ね合わせる。例えば、視覚強調モジュール50は、ユーザが対応するオブジェクトを要求することもしくは検索することに応答して(例えば、音声コマンドを発するか、もしくは手動でデー
タを入力することによって)、またはユーザが比較的遠く(例えば、いくつかの閾値距離を超えて離れている)のオブジェクトについてノードマーカーを選択したことなどに応答して、アバターをユーザに提示してよい。そのような実施形態の1つでは、アバターは、即座にフルサイズで現れない。例えば、視覚強調モジュール50は、アバターがオブジェクト位置から(例えば、ユーザの前方から離れて)ユーザのちょうど前の位置に移動するかのように、アバターがユーザに現れる視覚的効果を作成し得る。アバターは、例えば、ユーザにより近い描画効果をシミュレートするためにサイズが拡大されてよい。
【0072】
ノード体験モジュール46は、ユーザに対するオブジェクトに特定のノード体験を自動的に提供し得(オブジェクトのアバターを示すことに加えて)、かつ/またはユーザに、アバターが最初に提示された後に1つ以上のノード体験を選択する(例えば、音声コマンドを発すること、またはメニューオプションを選択することによって)ことを可能にし得る。例えば、上述されたノード体験のうちのいずれか1つ以上が提供され得る。アバターに関連付けられ得る体験の一例が、図7Bに関連して以下に説明される。
【0073】
いくつかの実施形態では、ARアプリケーション32は、ARモバイルデバイス12を構成して、ユーザの現在位置に基づいて、かつ/または特定のエリア(例えば、プロセスプラントの特定の領域が警告に関連付けられている)における現在の状況に基づいてアラートを生成する。アラート生成ユニット68は、例えば、位置決め及び配向モジュール44によって報告された(例えば、ウェブサービスインターフェース60を介して)位置を1つ以上の地理的に隔離されたエリアの境界と比較することによって、ARモバイルデバイス12の現在の位置がアラートまたは警告を受けるエリアにあるかどうかを定期的にまたは継続的に判定し得る。ユーザ/デバイスがアラートに関連付けられているエリアにある場合、アラート生成ユニット68は、ウェブサービスインターフェース60を介してアラートのインジケータを位置ベースアラートモジュール52に送信し得、位置ベースアラートモジュール52は、ユーザの現実世界のビュー上のアラート(例えば、テキスト及び/またはグラフィック)の指標を重ね合わせ、いくつかの他の視覚的効果(例えば、現実世界のビュー全体を包含する点滅する赤い光または色合い)を引き起こし、かつ/またはユーザに音声アラートを提供し(図1には示されていないが、ARモバイルデバイス12のスピーカを介して)得る。代替的にまたは追加的に、アラート生成ユニット68は、ARモバイルデバイス12の近接に基づくアラートインジケータを特定のマッピングされたオブジェクトに送信し得る(例えば、オブジェクトが誤動作しており、保守が必要な場合、または避けるべき場合など)。アラート生成ユニット68はまた、ユーザの選択されるかまたは割り当てられた役割に関するアラートの配信を条件付け得る。
【0074】
いくつかの実施形態では、バックエンドサーバ14は、マッピングされた環境内のARモバイルデバイス(したがって、ユーザ)の3D位置を監視し得る。この目的のために、ユーザ監視ユニット70は、ウェブサービスインターフェース60を介して位置決め及び配向モジュール44から受信したデータに基づいて、自身のARモバイルデバイスをランドマークに登録したユーザの現在及び/または過去の位置を記録し得る。
【0075】
ユーザ位置監視は、実施形態及び/または必要性に応じて、様々な目的のために使用され得る。例えば、ユーザ監視ユニット70は、バックエンドサーバ14に結合された(かつ図1には示されていない)ディスプレイまたは端末上のユーザの位置を描画し得、ディスプレイまたは端末のオペレータは、緊急の事象にある従業員の位置を説明し、より一般的な条件で単にユーザを監視して、従業員が医療援助を必要としているかどうかを判定し得る。従業員の健康状態はまた、ARモバイルデバイス12の1つ以上のセンサによって収集されたバイオメトリックデータなどの他のデータを使用して監視され得る(例えば、脈拍、血圧、温度などを検出するために)。更なる例として、従業員/ユーザ位置が従業員のトレーニングログに追加され、管理者または人事担当者によってプロトコルの遵守状
況などを監視するために使用され得る。更に他の実施形態及び/またはシナリオでは、マッピングされた環境内で特定の非人為的モバイルアセットの3D位置が追跡され得る。例えば、バックエンドサーバ14のユニットは、様々な目的のために、モバイルリアクタ、カート、フィールドサービストラック、及び/または他のオブジェクトの3D位置を監視し得る。
【0076】
図1及び上の説明は、いくつかの潜在的な実施形態のみを表現しており、他のものも可能であることが理解される。例えば、ARプラットフォームは、クラウドベースのアーキテクチャまたはウェブベースのサービスを使用しないことがある。別の例として、バックエンドサーバ14のユニット62ないし68及び/またはARデータベース72自体の一部または全部の機能性は、部分的または全体的にARモバイルデバイス12に組み込まれ得る。更に別の例として、ノードマーカー及び/またはノード体験は、非ARコンテキスト、例えば仮想現実(VR)コンテキストにおいて、または非AR、非VRグラフィカルユーザインターフェース(GUI)に関連して提供され得る。
【0077】
更に、ARプラットフォームは、上述されていない更に他の特徴を提供し得る。例えば、ARモバイルデバイスのユーザは、ARデータベース72内の様々なノード/オブジェクトに関連付けられて記憶されたフィールドノートを(例えば、音声コマンドを使用して)追加し得、かつ/または様々なノード/オブジェクトなどに関連付けられている新しいワークオーダを開始し得る。
【0078】
例示的なプロセス制御環境
図2は、図1のARシステム10が利用され得る例示的なプロセス制御環境100のブロック図である。プロセス制御環境100(本明細書においては、同義でプロセス制御システム100またはプロセスプラント100とも称される)は、プラント100内のプロセスの動作を制御するために、フィールドデバイスにより行われたプロセス測定値を示す信号を受信し、この情報を処理して制御ルーチンを実装し、有線及び/または無線プロセス制御通信リンクまたはネットワークにより他のフィールドデバイスへと送信される制御信号を生成する、1つ以上のプロセスコントローラを含む。典型的には、少なくとも1つのフィールドデバイスは、物理的機能(例えば、バルブの開閉、コンベアによる物質の移動、温度の上昇または減少、測定値の取得、状態の感知など)を実施して、プロセスの動作を制御する。ある種類のフィールドデバイスは、I/Oデバイスを使用してコントローラと通信する。プロセスコントローラ、フィールドデバイス、及びI/Oデバイスは、有線または無線であってよく、任意の数及び組み合わせの有線及び無線プロセスコントローラ、フィールドデバイス、及びI/Oデバイスが、プロセスプラント環境またはシステム100内に含まれてよい。
【0079】
例えば、図2は、入力/出力(I/O)カード126及び128を介して、有線フィールドデバイス115~122と通信可能に接続されたプロセスコントローラ111を図示する。プロセスコントローラ111は、プロセッサ130、メモリ132、及び以下に更に詳細に論じられる1つ以上のプロセス制御ルーチン138を含む。コントローラ111はまた、プロセス制御通信ネットワークまたはバックボーン110、及び無線ゲートウェイ135を介して、無線フィールドデバイス140~146と通信可能に接続される。バックボーン110は、1つ以上の有線及び/または無線通信リンクを含んでよく、例えばイーサネットプロトコルなどの任意の好適な通信プロトコルを使用して実装されてよい。いくつかの構成(図2に示されていない)では、コントローラ111は、例えば、IEEE802.11規格無線ローカルエリアネットワークプロトコル、モバイル通信プロトコル(例えば、WiMAX、LTEなど)、Bluetooth(登録商標)、HART(登録商標)、WirelessHART(登録商標)、プロフィバス、FOUNDATION(登録商標)フィールドバスなどの1つ以上の通信プロトコルをサポートする、任意
の数の他の有線または無線通信リンクを使用するなどの、バックボーン110以外の1つ以上の通信ネットワークを使用して、無線ゲートウェイ135と通信可能に接続されてよい。
【0080】
コントローラ111(例としては、Emerson Process Managementから販売されているDeltaV(商標)コントローラであってよい)は、フィールドデバイス115~122及び140~146のうちの少なくともいくつかを使用して、バッチプロセスまたは連続プロセスを実装するように動作してよい。一実施形態では、バックボーン110と通信可能に接続されることに加えて、コントローラ111はまた、例えば、標準4~20mAデバイス、I/Oカード126、128、及び/またはFOUNDATION(登録商標)フィールドバスプロトコル、HART(登録商標)プロトコル、WirelessHART(登録商標)プロトコルなどの任意の好適なスマート通信プロトコルと関連付けられている、任意の所望のハードウェア及びソフトウェアを使用して、フィールドデバイス115~122及び140~146のうちの少なくともいくつかと通信可能に接続される。図2では、コントローラ111、フィールドデバイス115~122、及びI/Oカード126、128は、有線デバイスであり、フィールドデバイス140~146は、無線フィールドデバイスである。当然のことながら、有線フィールドデバイス115~122及び無線フィールドデバイス140~146は、将来開発される任意の好適な標準またはプロトコルを含む、任意の好適な有線または無線プロトコルなどの任意の他の所望の標準(複数可)またはプロトコルに準拠することができる。
【0081】
プロセスコントローラ111のプロセッサ130は、メモリ132内に記憶することができる1つ以上のプロセス制御ルーチンまたはモジュール138を実装または監督する。この目的のために、プロセッサ130は、フィールドデバイス115~122及び140~146と、ならびにコントローラ111と通信可能に接続された他のノードと、通信するように構成される。本明細書に記載される任意の制御ルーチンまたはモジュールは、そのように所望される場合は、その一部を異なるコントローラまたは他のデバイスによって実装または実行させてよいことに留意されたい。同様に、プロセス制御システム100内に実装される制御モジュール138は、ソフトウェア、ファームウェア、ハードウェアなどを含む任意の形態であってよい。制御ルーチンは、オブジェクト指向プログラミング、ラダーロジック、シーケンシャルファンクションチャート、機能ブロック図の使用、または任意の他のソフトウェアプログラミング言語または設計パラダイムの使用などの任意の所望のソフトウェアフォーマットで実装されてよい。制御モジュール138のうちのいくつかまたは全てが記憶され得るメモリ132は、ランダムアクセスメモリ(RAM)及び/またはリードオンリーメモリ(ROM)などの任意の好適な種類のメモリまたはメモリ(複数)であってよい。更に、制御モジュール138は、例えば、1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または任意の他のハードウェアまたはファームウェア要素にハードコーディングされてよい。したがって、コントローラ111は、制御ストラテジまたは制御ルーチン/モジュールを実装するために、任意の所望の方法で構成されてよい。
【0082】
コントローラ111は、一般に機能ブロックと称されるものを使用して制御ストラテジを実装し、各機能ブロックは、全体の制御ルーチンのオブジェクトまたは他の部分(例えば、サブルーチン)であり、他の機能ブロックとともに(リンクと呼ばれる通信を介して)動作して、プロセス制御システム100内にプロセス制御ループを実装する。制御系機能ブロックは、典型的に、トランスミッタ、センサ、または他のプロセスパラメータ測定デバイスと関連したものなどの入力機能、PID、ファジィ論理などの制御を実施する制御ルーチンと関連したものなどの制御機能、またはバルブもしくはコンベアモータなどのいくつかのデバイスの動作を制御する出力機能のうちの1つを実施し、プロセス制御システム100内のいくつかの物理的機能を実施する。当然のことながら、ハイブリッド及び
他の種類の機能ブロックが存在する。機能ブロックは、典型的に、これらの機能ブロックが、標準4~20mAデバイス及びある種類のスマートフィールドデバイス(例えば、HART(登録商標)デバイス)に使用されるか、もしくは関連する場合、コントローラ111に記憶され、これにより実行されてよく、またはFOUNDATION(登録商標)フィールドバスデバイスの場合であり得るようにフィールドデバイス自体に記憶され、これにより実装されてよい。コントローラ111内の1つ以上の制御モジュール138は、機能ブロックのうちの1つ以上を実行することにより実施される1つ以上の制御ループを実装してよい。
【0083】
有線フィールドデバイス115~122は、センサ、バルブ、コンベアモータ、トランスミッタ、ポジショナなどの任意の種類または種類(複数)のデバイスであってよく、一方、I/Oカード126及び128は、好適な通信またはコントローラプロトコルに準拠する、任意の種類のI/Oデバイスであってよい。例えば、フィールドデバイス115~118は、アナログ回線(またはアナログ及びデジタル回線を組み合わせて)によってI/Oカード126と通信する、標準4~20mAデバイスまたはHART(登録商標)デバイスであってよく、一方、フィールドデバイス119~122は、FOUNDATION(登録商標)フィールドバス通信プロトコルを使用して、デジタルバスによってI/Oカード128と通信する、FOUNDATION(登録商標)フィールドバスフィールドデバイスなどのスマートデバイスであってよい。だが、いくつかの実施形態においては、有線フィールドデバイス115~122のうちの少なくともいくつか、及び/またはI/Oカード126、128のうちの少なくとも1つは、バックボーン110及び好適な制御システムプロトコル(例えば、プロフィバス、DeviceNet、Foundationフィールドバス、ControlNet、Modbus、HARTなど)を使用して、追加的にまたは代替的にコントローラ111と通信する。
【0084】
図2では、無線フィールドデバイス140~146は、WirelessHART(登録商標)プロトコルなどの無線プロトコルを使用して、無線プロセス制御通信ネットワーク170を介して通信する。このような無線フィールドデバイス140~146は、やはり無線で通信するように構成された無線ネットワーク170のうちの1つ以上の他のデバイスまたはノードと直接通信してよい。無線で通信するように構成されていない他のノードと通信するためには、無線フィールドデバイス140~146は、バックボーン110または別のプロセス制御通信ネットワークへと接続された無線ゲートウェイ135を利用してよい。無線ゲートウェイ135は、バックボーン110から無線通信ネットワーク170のうちの種々の無線デバイス140~158へのアクセスを提供する。具体的には、無線ゲートウェイ135は、無線デバイス140~158、有線デバイス115~122、及び/またはプロセス制御プラント100の他のノードもしくはデバイスの間における通信連結を提供する。
【0085】
有線フィールドデバイス115~122と同様に、無線ネットワーク170の無線フィールドデバイス140~146は、プロセスプラント100内で、物理的制御機能、例えば、バルブの開閉、プロセスパラメータの測定値の取得などを実施する。しかしながら、無線フィールドデバイス140~146は、ネットワーク170の無線プロトコルを使用して通信するように構成されている。そのようなものであるから、無線フィールドデバイス140~146、無線ゲートウェイ135、及び無線ネットワーク170の他の無線ノード152~158は、無線通信パケットの生産者及び消費者であり得る。
【0086】
プロセスプラント100のいくつかの構成では、無線ネットワーク170は、非無線デバイスを含む。例えば、図2では、フィールドデバイス148は、古い4~20mAデバイスであり得、フィールドデバイス150は、有線HART(登録商標)デバイスであり得る。ネットワーク170内で通信するために、フィールドデバイス148及び150は
、無線アダプタ152A、152Bのうちのそれぞれ1つを介して、無線通信ネットワーク170と接続される。無線アダプタ152A、152Bは、WirelessHARTなどの無線プロトコルをサポートし、かつFoundation(登録商標)フィールドバス、プロフィバス、DeviceNetなどの1つ以上の他の通信プロトコルもサポートし得る。更に、いくつかの構成では、無線ネットワーク170は、無線ゲートウェイ135と有線通信する独立した物理デバイスであり得るか、または無線ゲートウェイ135内に一体化され得る、1つ以上のネットワークアクセスポイント155A、155Bを含む。無線ネットワーク170はまた、無線通信ネットワーク170内の無線デバイス間からパケットを転送する1つ以上のルータ158をも含み得る。無線デバイス140~146及び152~158は、無線通信ネットワーク170の無線リンク160により、及び/またはバックボーン110を介して、互いに、及び無線ゲートウェイ135と通信し得る。
【0087】
図2では、プロセス制御システム100は、バックボーン110と通信可能に接続された1つ以上のオペレータワークステーション171を含む。オペレータワークステーション(複数可)171を介して、ヒューマンオペレータは、プロセスプラント100のランタイム動作の監視に加えて、必要であり得る任意の診断、調整、保守、及び/または他のアクションを取ることができる。オペレータワークステーション171のうちの少なくともいくつかは、例えば、プラント100のバックエンド環境など、プラント100の中または近くの、種々の保護されたエリアに位置されてよく、場合によっては、オペレータワークステーション171のうちの少なくともいくつかは、遠隔地に位置されてよい(しかし、それにもかかわらずプラント100と通信接続する)。オペレータワークステーション(複数可)171は、有線または無線コンピューティングデバイスであってよい。
【0088】
例示的なプロセス制御システム100は、1つ以上の構成アプリケーション172A及び1つ以上の構成データベース172Bを含み、これらの各々が、やはりバックボーン110と通信可能に接続されるものとして、図2に更に図示される。構成アプリケーション(複数可)172Aの種々のインスタンスは、ユーザによるプロセス制御モジュールの作成または変更、及びこれらのモジュールを、バックボーン110を介して、プロセスコントローラ111及び/または他のプロセスコントローラへのダウンロードを可能にするため、ならびにオペレータがプロセス制御ルーチン内でデータを表示し、データ設定を変更できることを介して、ユーザによるオペレータインターフェースの作成または変更を可能にするために、1つ以上のコンピューティングデバイス(図2に図示せず)を実行してよい。構成データベース(複数可)172Bは、構成されたモジュール及び/またはオペレータインターフェースを記憶する。一般に、構成アプリケーション(複数可)172A及び構成データベース(複数可)172Bは、集中化され、プロセス制御システム100に対して単一の論理的外観を有してよく(構成アプリケーション172Aのうちの複数のインスタンスが、プロセス制御システム100内で同時に実行され得るにも関わらず)、構成データベース(複数可)172Bは、単一の物理的データ記憶デバイス内か、または複数のデータ記憶デバイスにまたがって記憶されてよい。構成アプリケーション(複数可)172A、構成データベース(複数可)172B、及びこれらに対するユーザインターフェース(図2に図示せず)は、制御及び/またはディスプレイモジュールを作成/構成するための構成または開発システム172を一括して形成する。典型的には、必ずしもそうではないが、構成システム172のユーザインターフェースは、オペレータワークステーション171とは異なり、プラント100がリアルタイムで動作しているかに関係なく、構成及び開発エンジニアにより代わりに利用される構成システム172のユーザインターフェースと、プロセスプラント100のリアルタイム(または「ランタイム」)動作中にオペレータにより利用されるオペレータワークステーション171とを備える。
【0089】
例示的なプロセス制御システム100はまた、1つ以上のデータヒストリアンアプリケ
ーション(複数可)173A及び1つ以上のデータヒストリアンデータベース(複数可)173Bをも含み、これらの各々はバックボーン110と通信可能に接続される。データヒストリアンアプリケーション(複数可)173Aは、バックボーン110を通じて提供されたデータのうちのいくつかまたは全てを収集し、そのデータを長期間記憶のためのデータヒストリアンデータベース(複数可)173Bに記憶するように動作する。構成アプリケーション(複数可)172A及び構成データベース(複数可)172Bと同様に、データヒストリアンアプリケーション(複数可)173A及びデータヒストリアンデータベース(複数可)173Bは、集中化され、プロセス制御システム100に対して単一の論理的外観を有してよく(データヒストリアンアプリケーション173Aのうちの複数のインスタンスが、プロセス制御システム100内で同時に実行され得るにも関わらず)、データヒストリアンデータベース(複数可)173Bは、単一の物理的データ記憶デバイス内か、または複数のデータ記憶デバイスにまたがって記憶されてよい。データヒストリアンアプリケーション173A、データヒストリアンデータベース(複数可)173B、及びそれらのユーザインターフェース(図2に図示せず)は、まとめてデータヒストリアンシステム173を形成する。
【0090】
いくつかの構成では、プロセス制御システム100は、IEEE802.11規格無線ローカルエリアネットワークプロトコルなどの他の無線プロトコル、WiMAX(Worldwide Interoperability for Microwave Access)、LTE(Long Term Evolution)、もしくは他のITU-R(International Telecommunication Union
Radiocommunication Sector)互換プロトコルなどのモバイル通信プロトコル、近距離無線通信(NFC)もしくはBluetoothなどの短波長無線通信、及び/または他の無線通信プロトコルを使用して、他のデバイスと通信する、1つ以上の他の無線アクセスポイント174を含む。典型的には、このような無線アクセスポイント(複数可)174は、手持ち式または他のポータブルコンピューティングデバイス(例えば、ユーザインターフェースデバイス175)を、無線ネットワーク170とは異なり、無線ネットワーク170以外の異なる無線プロトコルをサポートする、それぞれの無線プロセス制御通信ネットワークによって通信できるようにする。例えば、無線またはポータブルユーザインターフェースデバイス175は、プロセスプラント100内のオペレータ(例えば、オペレータワークステーション171のうちの1つのインスタンス)により利用される、モバイルワークステーションまたは診断試験機器であってよい。いくつかのシナリオでは、ポータブルコンピューティングデバイスに加えて、1つ以上のプロセス制御デバイス(例えば、コントローラ111、フィールドデバイス115~122、無線デバイス135、140~158など)も、無線アクセスポイント(複数可)174によりサポートされる無線プロトコルを使用して通信する。
【0091】
図2は、例示的なプロセスプラント100に含まれる、単一のプロセスコントローラ111、特定の数のフィールドデバイス115~122及び140~146、無線ゲートウェイ35、無線アダプタ152、アクセスポイント155、ルータ1158、ならびに無線プロセス制御通信ネットワーク170のみを図示しているが、これは、例示的かつ非限定的な実施形態に過ぎない点に留意する。例えば、任意の数のコントローラ111が、プロセス制御プラントまたはシステム100内に含まれてよく、コントローラ111のいずれかが、任意の数の有線または無線デバイス及びネットワーク115~122、140~146、135、152、155、158、及び170と通信して、プラント100内のプロセスを制御してよい。
【0092】
ここで図1に戻ると、ARモバイルデバイス(例えば、ARモバイルデバイス12)を使用してマッピングされるオブジェクトは、コントローラ111、デバイス115~122及び140~158、I/Oカード126、128、無線ゲートウェイ135、ならび
に/またはプラント100内の他のデバイス及び/もしくは機器の一部分のいくつかまたは全てを含み、その結果、プラント100内の3D位置(及び場合によっては、それらの互いの関係、それらのアバターなど)がARデータベース72に記憶される。いくつかの実施形態では、バックエンドサーバ14は、バックボーン110に通信可能に結合され、他のサーバ(複数可)18は、オペレータワークステーション(複数可)171、構成システム172、データヒストリアンシステム173、及び/またはプロセス制御環境100の他のコンピューティングデバイスまたはシステムを含む、またはそれらに結合されてよい。
【0093】
サーバ(複数可)18によって実行されるアプリケーション(複数可)19は、1つ以上のDeltaV(商標)アプリケーション、診断及び保守アプリケーション、及び/または他のアプリケーションもしくはソフトウェアベースのシステムを含み得る。したがって、アプリケーション(複数可)19は、フィールドデバイスのランタイム状態及び/または測定データを表示し、フィールドデバイスのランタイム制御を提供し、機械の診断/保守情報を表示するノード体験をサポートし得る。一例として、様々なデバイスに関連するHART(登録商標)及び/またはフィールドバス情報は、ARモバイルデバイス12のユーザに提示され得る。体験プロビジョニングユニット62は、適切なアプリケーション(複数可)19を起動し、及び/またはそれとインターフェースして、必要な表示データを収集し得、これは、次いで、ノード体験モジュール46に転送される。体験プロビジョニングユニット62はまた、または代わりに、ノード体験モジュール46から受信した任意のユーザ入力をコントローラ111に転送して、適切なフィールドデバイスなどをそれに応じて制御させてよい。
【0094】
例示的な3Dマップ
上記の図1の説明から、ARシステム10の3D「マップ」は環境の完全なモデルである必要はなく、その環境内のノードの3D位置のみを含み得ることが理解されるべきである。4つのオブジェクト/ノードのみを含む非常に単純化された例示的な3Dマップ200が図3に示される。図3において、z軸は仰角(例えば、地上レベル)に対応する。上述されたように、ランドマーク位置202は、環境内の他のすべての位置(例えば、ノード及びユーザ/ARデバイスの位置)について基準点を提供し得る。
【0095】
例示的なマップ200において、第1のオブジェクト/ノードの第1の位置204は、オフセット{x1、y1、z1}においてランドマーク位置202のわずかに上(仰角方向)であり、第2及び第3のオブジェクト/ノードの第2及び第3の位置206、208は、オフセット{x2、y2、z2}及び{x3、y3、z3}において、それぞれまだ少し高いままであり、第3のオブジェクト/ノードの第3の位置210はオフセット{x4、y4、z4}においてまだ高いままである。当然のことながら、いくつかのシナリオでは、x、y及び/またはz方向のオフセットは、特定のオブジェクト/ノードに対して負であり得る。
【0096】
マップ200内では、{x5、y5、z5}の位置220は、図1のARモバイルデバイス12などのARモバイルデバイスの現在の位置に対応する。図3はまた、破線で、ARモバイルデバイスの視界222を描画し、デバイスの特定の配向に対応する。視界222は、例えば、IMU26からのセンサデータ(及びおそらくVIO技術を用いたカメラ26からの画像データ)、ならびに既知の方位角範囲/角度のカメラ26を使用して、図1の位置決め及び配向モジュール44によって判定され得る。図3には示されていないが、位置決め及び配向モジュール44はまた、例えば、視界222がz方向の無限のカバレッジを仮定するのではなく、円錐状の形状を有するように、z方向の視界222の範囲を知り得る。
【0097】
この例のシナリオでは、位置206及び208のオブジェクトはデバイス/ユーザの現在の視界222内にあり、位置204及び210のオブジェクトは存在しない。図1の体験プロビジョニングユニット62は、例えば、ノード位置(ARデータベース72に記憶されている)、ARモバイルデバイスの位置220及び配向(位置決め及び配向モジュール44によって判定され、ウェブサービスインターフェース60を介して転送される)、及びカメラ24の視界の既知のまたは推定された特性に基づいて、判定を行ってよい。どのオブジェクト/ノードが視界222内にあるかの判定に基づいて、体験プロビジョニングユニット62は、ノードマーカー(及び/または特定のノード体験)が位置206及び208のオブジェクトについてのみ提示されるべきであることを示すデータをARモバイルデバイス12に送信し得る。ノード体験モジュール46は、そのデータを処理し、それに応答して、位置206及び208に対応するノードマーカー及び/もしくはディスプレイ22上の点またはその近くの他の情報を重ね合わせ得る。
【0098】
例示的なARユーザインターフェース
ARディスプレイ(例えば、図1のARモバイルデバイス12のディスプレイ22)上に重ね合わされ得る1セットの例示的なユーザインターフェースが、図4A図4Hに関連してここで説明される。説明を容易にするために、図1のARシステム10についても参照するが、示されるユーザインターフェースは代わりに他のシステムで使用されてよい。ユーザの選択が行われ得るユーザインターフェースについて、選択は、特定のメニューオプションを直接見るユーザによって行われてよい(例えば、ユーザインターフェースが、ディスプレイ22の中心に対する固定位置ではなく、環境に対する固定位置を有する場合)。他の実施形態では、選択は、ユーザが適切な音声コマンドを発すること、キーボードまたはタッチスクリーン上にデータを入力すること、または別の適切な方法で行われてよい。
【0099】
まず図4Aを参照すると、ユーザインターフェース200は、図1に関連して上述されたように、ユーザに特定の「役割」を選択することを可能にする。ユーザインターフェース200は、ARアプリケーション32の起動時に、または別の適切なときユーザに表示され得る。ARアプリケーション32は、ウェブサービスインターフェース60を介してバックエンドサーバ14に照会することにより、利用可能な役割を先験的に知り得、または利用可能な役割について通知され得る。役割が選択されると、役割識別モジュール40は、役割を示すデータをウェブサービスインターフェース60を介してバックエンドサーバ14に送信し得る。体験プロビジョニングユニット62、アラート生成ユニット68、及び/またはバックエンドサーバ14の他の構成要素は、上述されたように、次に、選択された役割を利用して、拡張する適切なノード、適切な種類の体験及び/または特定のノードに対するコンテンツなどを判定し得る。
【0100】
図4Bは、ユーザの現在の視界内のいくつかまたはすべてのオブジェクト(近接性またはユーザ役割などの任にの他の基準を対象とする)のそれぞれのノードマーカーとして機能し得るユーザインターフェース220を描画する。例示的なユーザインターフェース220は、オブジェクト/ノードの状態を示すアイコン(丸で囲まれた「X」)及び記述子(「StatusWord」)、ノード名(例えば、「ESD-3」などのプロセス制御プラント内のデバイス識別子など)、ノードの短い記述(例えば、「非常停止スイッチ」など)、及びそれらの情報からユーザインターフェース220の底部の塗りつぶし円に至る垂直線を含む。塗りつぶし円(または他のインジケータ)は、ユーザの現実世界のビュー内の対応するオブジェクトの{x、y、z}位置に、例えば、ユーザ(または別のユーザ)がノードを3Dマップに追加するときに集中した現実世界{x、y、z}位置に、配置されてよい。テキスト及び線は、ARモバイルデバイス12及びユーザの垂直軸と位置合わせされたままにするために、必要に応じて回転してよく、または例えば常にz軸に位置合わせされてよい。
【0101】
状態アイコン及び記述子は、オブジェクトに対して何らかのアクションが取られるべきか、及び/またはオブジェクトに対して何らかの危険が存在するかどうかを示してよい。例えば、図4Bに示す丸で囲まれた「X」は、「危険」の状態に対応し、三角形の「!」は「警告」の状態に対応し、菱形の「i」は、「注意」の状態に対応してよく、「平常」の状態にはどのアイコンも対応していなくてよい。図4Bは、考えられる状態アイコンの範囲を示しているが、ユーザインターフェース220は、この特定の実施形態及び/またはシナリオに対して、丸で囲まれた「X」アイコンのみを含むことが理解される。特定のオブジェクト/ノードに描画されている状態とその状態の意味は、ユーザの役割によって異なり得る。
【0102】
ユーザインターフェース220のノードマーカー(すなわち、図4Bのテキスト、線及び塗りつぶし円)は、ARモバイルデバイス12からの距離に応じてサイズが拡大され得、その結果、より近くのオブジェクトがより大きなノードマーカーを有し、より遠くのオブジェクトは小さなノードマーカーを有する。いくつかの実施形態では、例えば、ユーザインターフェース220は、追加のテキスト、追加のグラフィック、及び/または色分け(例えば、「危険」状態の赤色テキスト及び線、「通常」状態の緑色テキスト及び線など)によるより多くの情報を含む。
【0103】
図4Cは、ユーザインターフェース200でユーザ役割が選択された後、または別の適切な時間に現れ得るユーザインターフェース240を描画する。ユーザインターフェース240の「+」アイコンは、図1に関連して上述されたように、3Dマップに新しいノードの追加するためにユーザによって選択されてよい。ヘルメットアイコンは、異なる役割を選択するためにユーザによって選択されてよく、第3のアイコンは、後述されるように、特定の設定を管理するためにユーザによって選択されてよい。ユーザインターフェース240内の矩形のボックスは、システムメッセージをユーザに表示し得る。例えば、メッセージボックスを使用して、アラート生成ユニット68及び/または位置ベースアラートモジュール52によって生成されたアラートを表示してよい。
【0104】
図4Dは、ユーザがユーザインターフェース240内の設定アイコンを選択した場合に現れ得るユーザインターフェース260を描画する。図4Dに示すように、ユーザインターフェース260は、ユーザにARモバイルデバイス12の名前または識別子、ランドマーク識別子、及びバックエンドサーバ14の名前またはIPアドレスを変更することを可能にする。これらの値の一部または全部は、例えば、ウェブサービスインターフェース60へのウェブサービスコールを行うときに、ARモバイルデバイス12によって使用されてよい。
【0105】
図4Eは、ユーザがユーザインターフェース240内の「+」(ノードの追加)アイコンを選択した場合に現れ得る単純なユーザインターフェース280を示す。この例では、ユーザインターフェース280は、単に、ユーザが単に周囲を見回すことによって(例えば、ARモバイルデバイス12はARヘルメットまたはゴーグル、またはスマートメガネである場合)、または別様にARモバイルデバイス12のカメラ24を照準することによって(例えば、タブレットまたはスマートフォンの場合)、現実世界の環境内の任意の位置に中心を置き得るレチクル(例えば、ユーザのディスプレイ22の中央にある)である。ARアプリケーション32のノード作成モジュール48は、レチクルが適切に配置されたとき(例えば、音声コマンドを発することによって)、ユーザが確認することを要求してよく、またはカメラ24の視界がいくつかの閾値期間に対して実質的に変化しない場合などに、適切な配置を仮定してよい。
【0106】
図4Fは、ユーザがユーザインターフェース280のレチクルを位置決めした後に、及
び位置決め及び配向モジュール44が新しいオブジェクト/ノードを配置するために必要な位置及び/または配向情報(例えば、ARモバイルデバイス12の位置、デバイス12の配向、及びデバイス12からオブジェクトまでの距離)を判定した後に、現れ得るユーザインターフェース300を描画する。例示的なユーザインターフェース300は、ユーザがノード名及び/またはノード記述を入力するためのテキストボックスを含む。代替的に、この情報の一部または全部は、音声コマンド(例えば、ユーザがマイクアイコンを選択した場合)によって提供されてよい。他の実施形態では、光学文字認識(OCR)技術を使用してオブジェクトの一部の画像を処理することによって、ノード名及び/または記述が判定されてよい。例えば、ユーザは、カメラ24を、オブジェクトに貼付され、シリアル番号、モデル番号、または他の識別子を含む、タグまたはラベルの方に向けてよい。次いで、識別子は、ウェブサービスインターフェース60を介してバックエンドサーバ14に送信され、バックエンドサーバ14に記憶された情報と相互参照されるか、または別のシステムもしくはデータベース(例えば、他のサーバ(複数可)18)に記憶されて、ノード名及び/または記述を判定してよい。
【0107】
図4Gは、ユーザがオブジェクト/ノードを選択した(例えば、ユーザインターフェース220のノードマーカーを選択することによって)とき、その特定のオブジェクト/ノードに対して現れ得るユーザインターフェース320を描画する。ユーザインターフェース320は、例えば、バックエンドサーバ14の体験プロビジョニングユニット62によって提供されるノードの利用可能な体験を示すデータに基づいて、ノード体験モジュール46によって生成されてよい。例示的なユーザインターフェース320は、ユーザインターフェース220内のノードマーカー上に示されたノード名及び記述、ならびに2つの矩形エリアを含む。ユーザインターフェース320の底部の塗りつぶし円は、ユーザインターフェース220内にあった(現実世界のビュー内の)オブジェクト上の同じ位置に留まり得る。図4Gのブランクの矩形で示される第1の「作業中」エリアは、オブジェクトの状態情報、オブジェクトの詳細なアラート情報など、選択されたオブジェクト/ノードに関する追加の情報を示し得る(例えば、提供されているノード体験の種類及び/またはユーザの役割に応じて)。
【0108】
ユーザは、第2のエリアから所望の種類のノード体験を選択して、ノードに利用可能なもの(及び場合によってはユーザの役割)を列挙してよい。図4Gに見られるように、この例では、利用可能なノード体験は、「追加情報」(例えば、作業エリアに追加の種類のテキストベースの情報を提供するために)、「接続」(例えば、図4Hに関連して後述されるように、他のオブジェクト/ノードへの物理的または論理的接続を示すために)、「情報リンク」(例えば、作業エリアにおいて、「ヘルプ」文書、インストラクションビデオ、または特定のURLにおける他のウェブページからの情報を表示するために)、「子オブジェクト」(例えば、作業エリアにおいて、選択されたオブジェクト/ノードの「子」として関連する他のオブジェクト/ノードとの関係を示すために)、「プロセス値」(例えば、作業エリアにおいて、他のサーバ(複数可)18及びアプリケーション(複数可)19のうちの1つから取得された制御プロセス値を示すために)、及び「ワークオーダ」(例えば、作業エリアにおいて、選択されたオブジェクト/ノード内で関連付けられているワークオーダのテキストを示すために)を含む。
【0109】
図4Hは、ユーザがユーザインターフェース320内の「接続」アイコンを選択したときに現れ得るユーザインターフェース340を描画する。ユーザインターフェース340の場合、ノード体験モジュール46は、現在選択されているオブジェクト/ノードの{x、y、z}位置と、現在選択されているオブジェクト/ノードが物理的及び/または論理的に接続されている(例えば、図1に関連して上述されたように)オブジェクト/ノードの{x、y、z}位置との間の線をレンダリングする。ユーザインターフェース340の底部にある塗りつぶし円は前者の位置にあってよい一方で、ユーザインターフェース34
0の上部の塗りつぶし円は後者の位置にってよい。当然のことながら、塗りつぶし円の相対位置は、シナリオに応じて変化してよい(例えば、選択されたオブジェクト/ノードの円は、接続されたオブジェクト/ノードの円よりも現実世界のビューで高く現れ得る)。
【0110】
図4Hの実施形態では、ノード体験モジュール46は、接続線を、y軸に沿った距離及び方向を示す第1のセグメント(現在選択されているオブジェクト/ノードで始まる)と、x軸に沿った距離及び方向を示す第2のセグメント(第1のセグメントの端部で始まる)と、z軸に沿った距離と方向を示し、接続されたオブジェクト/ノードで終了する第3のセグメント(第2のセグメントの端部で始まる)と、の3つのセグメントにおいてレンダリングする。線セグメントは色分けされ、線フォーマット(破線、実線など)によって符号化され、及び/または付加的な情報(例えば、現在動作していない通信接続を示す赤い線)を提供する他の方法で符号化されてよい。他の実施形態では、接続は、オブジェクト/ノード間の単一の線セグメント(例えば、ユーザからの距離を描くために線が広くなったり狭くなったりする)のように、異なる方法で描画されてよい。様々な異なる実施形態では、複数の異なるオブジェクト/ノードへの接続は、ユーザインターフェース340に示され得、またはユーザは、視覚化が望まれる個々の接続をそれぞれ選択する必要があり得る。
【0111】
例示的なARデータベース
図5A及び図5Bは、(例えば、図2のプロセス制御環境100で使用される場合の)図1のARデータベース72によって利用され得るデータベース構造400を集合的に描画する。データベース構造400において、各ボックスは、ARデータベース72に記憶され得るテーブルを表し、各ボックスの最上部の行はテーブル名(例えば、「ノード」、「ノード状態」など)である。テーブルは主キーを使用してリンクされ、各キーは図5A及び5Bにキーアイコン及び文字「PK」で示されている。
【0112】
データベース構造400は、データ項目の効率的な相互参照を可能にし、既存のリンクを壊すことなくまたは広範な更新を必要とせずにユーザ及びシステムの更新を可能にする。例えば、「ノードID」主キーを使用すると、ユーザに、関連する他のテーブルを更新する必要なく、既存のノードに対する「ノード名」を変更することを可能にする。図5Bの「OPCDAの取得」テーブルは、図4Gに関連して上述された「プロセス値」ノード体験に対応し得る。
【0113】
例示的な強調仮想視覚
図6及び図7は、ARプラットフォーム(例えば、図1のARシステム10によって提供される)が、ユーザの「仮想視覚」を強調する機能を提供する実施形態に関する。図6は、プロセス制御環境内(例えば、図2のプロセス制御環境100内)の閉じたキャビネット内に「見る」ために使用される「仮想X線視覚」機能(図1に関連して上述された)を描画する一方で、図7A及び図7Bは、プロセス制御環境のエリアの制限付きアクセス(例えば、届きにくい、または危険な)エリアにあり、かつ/または、ユーザの現在の位置から離れている「アバター」(図1に関連しても上述された)がセンサ/トランスミッタデバイスに対して提供される特定のシナリオを描画する。
【0114】
まず、図6の例を参照すると、閉じられた(及び場合によってはロックされた)キャビネット500は、I/Oカード、回路遮断器などのいくつかの内部構成要素(図6には示されていない)を含み得る。図1に関連して説明された基準のいずれかが満たされたとき(例えば、内部構成要素がARモバイルデバイス12の視界内にあり、閾値距離内にあり、かつ/またはキャビネット500がユーザによって選択されているなど)、及びキャビネット500が、不明瞭なオブジェクト/ノードを含むと判定された場合(また上述されたように、例えば、キャビネットと内部構成要素との間の既知の関係に基づいて、かつ/
またはQRコードをスキャンすることなどによって)、図1の視覚強調モジュール50は、ユーザインターフェース520をユーザの現実世界のビューに重ね合わせ得る。
【0115】
ユーザインターフェース520は、内部構成要素の描画522を含む。描画522は、キャビネット500内の実際の構成要素の、互いに対する実際の配置における画像であってよい。他の実施形態では、描画522は、個別に、またはキャビネット500内の相対的な配置を示すように、構成要素(例えば、3Dモデル、2Dモデルなど)の超現実的または擬似現実的なグラフィカル表現を含む。いずれの場合でも、描画522は、実際の内部構成要素を見た場合のユーザの体験と同様のAR体験をユーザに提供し得る。
【0116】
ユーザインターフェース520は、ユーザの現実世界のビューでキャビネット500の上に直接重ね合わされ、隠された内部構成要素の実際の位置の上に描画522を位置合わせするように適切にスケーリングされてよい。代替的に、ユーザインターフェース520は、おそらくは線またはいくつかの他の手段によって接続された、ユーザの現実世界のビューでキャビネット500からオフセットされ得る。
【0117】
描画522は、内部構成要素の個々のものに対するノードマーカー(例えば、図4Bのユーザインターフェース220に類似するもの)を、それらの構成要素が以前にマッピングされた程度まで含んでよく、または含まなくてよい。更に、ユーザインターフェース520は、そのようなノードマーカーを選択することによって、描画522自体を選択することによって、または適切な音声コマンドを発することによって、ユーザに様々なノード体験を選択することを可能にし得る。描画522またはユーザインターフェース520はまた、ユーザが描画522を自身のビューから却下するように選択することができるコントロール(例えば、1つの角部の「X」)を含んでよく、または適切な音声コマンドが使用されてよい。
【0118】
ここで図7Aを参照すると、方向インジケータ550は、特定のオブジェクト(ここでは、センサ/トランスミッタデバイス)の描画、及びユーザの現実世界のビューに対するオブジェクトの一般的な方向を示す矢印を含む。図1の視覚強調モジュール50は、例えば、リモート及び/または制限付きアクセスのオブジェクトのアバターに関して、上述された(図1に関連して)条件のいずれかに応答して、ユーザの現実世界のビューの上に方向インジケータ550を重ね合わせ得る。例示的な方向インジケータ550におけるデバイスの描画は、現実的なモデルまたは画像であるが、当然のことながら、他のフォーマットも可能である(例えば、アウトライン、アニメーション、ビデオなど)。
【0119】
ユーザが方向インジケータ550を選択した場合、視覚強調モジュール50は、図7Bに示すように、ユーザの現実世界のビューに「アバター」560を重ね合わせ得る。図7Bに示すアバター560は、方向インジケータ550におけるオブジェクトの描画と同一であるが、他の実施形態では、アバター560は、方向インジケータ550における描画(存在する場合)よりも詳細かつ/または現実的である。図6の描画522と同様に、アバター560は、実際のオブジェクト(ここではセンサ/トランスミッタデバイス)を近接して見る場合と似たAR体験をユーザに提供し得る。実際に、上述されたように、図6の仮想X線視覚機能は、単に図7Bに示された視覚強調の特殊なケースであり得、図6の描画522は、キャビネット510内で囲まれた様々な構成要素のアバターの集合である。
【0120】
ユーザがアバター560を選択するか、または適切な音声コマンドを発する場合、視覚強調モジュール50は、ユーザの現実世界のビュー内のアバター560の近くにユーザインターフェース570を重ね合わせ得る。代替的に、ユーザインターフェース570は、アバター560または任意の音声コマンドの任意のユーザ選択を必要とすることなく、デ
フォルトで、アバター560が提示され得る。図7Bの例示的なユーザインターフェース570は、プロセス値(ここでは、センサ読み取り値)を提供し、デバイスのユーザ制御を可能にするノード体験に対応する(ここでは較正プロセスを開始することによって)。このノード体験を可能にするために、図1の体験プロビジョニングユニット62は、上述されたように、他のサーバ(複数可)18によって実行される1つ以上のアプリケーション(複数可)19と通信し得る。例えば、体験プロビジョニングユニット62は、プロセス制御アプリケーションを起動させるか、またはAPIなどを使用して実行中のプロセス制御アプリケーションと対話し得る。
【0121】
例示的な3Dマッピング方法
図8は、モバイルデバイスを使用して現実世界のプロセス制御環境(例えば、図2のプロセス制御環境100)をマッピングする方法例600を描画する。方法600は、例えば、図1のARモバイルデバイス12または別の適切なモバイルデバイスを使用して実行され得る。いくつかの実施形態では、AR能力のないモバイルデバイスが使用され得る。
【0122】
ブロック602において、モバイルデバイスは、プロセス制御環境内の基準または「ランドマーク」位置に登録される。登録は、基準位置に位置しているコード(例えば、QRコードまたは他の画像)の視覚的表現をスキャンするために、モバイルデバイスのカメラ(例えば、図1のカメラ24)を使用することを含み得る。コードは、例えば、壁(例えば、プレートまたはポスター)上にあってよい。
【0123】
ブロック604において、モバイルデバイスがユーザによってプロセス制御環境を移動されると、モバイルデバイスの少なくとも1つのIMU(例えば、図1のIMU26)を使用して、モバイルデバイスの基準位置に対する3D位置を追跡し、モバイルデバイスの配向を追跡する。ブロック604は、ユーザがAR体験を終了するまで(例えば、モバイルデバイスの電源を切ることによって、またはモバイルデバイス上で実行されるアプリケーションを閉じることなどによって)、無期限に(例えば、ブロック606から610まで同時に)継続してよい。ブロック604における追跡はまた、モバイルデバイスカメラを使用してよい。例えば、VIO技術を使用して、モバイルデバイスの位置及び配向を追跡し得る。
【0124】
ブロック606において、新しいノードがプロセス制御環境の3Dマップに追加されるべきであることを示すユーザ入力が、モバイルデバイスにおいて検出される。ユーザ入力は、例えば、ユーザ音声コマンド(例えば、「ノードの追加」)、またはメニューオプションのユーザ選択(例えば、モバイルデバイスカメラを特定の位置に集中させることによって、またはキーボードまたはタッチスクリーンにデータを入力することによって)であってよい。
【0125】
ブロック608において、少なくとも、追跡されたモバイルデバイスの3D位置及び追跡されたモバイルデバイスの配向に基づいて、(基準位置に対する)現実世界オブジェクトの3D位置が判定されるか、または判定させる。一実施形態では、ブロック608は、モバイルデバイスのカメラを使用して(例えば、ユーザ入力が入力された時点で、またはその直後に)現実世界のオブジェクトの画像を捕捉することを含む。次いで、モバイルデバイスとオブジェクトとの間の距離は、少なくとも、深度検知技術を使用してカメラ画像を処理することによって、画像から判定され得る。3D位置は、追跡された3D位置及びモバイルデバイスの配向ならびに判定された距離に基づいて、判定されるか、または判定させられ得る。
【0126】
いくつかの実施形態では、ブロック608において、オブジェクトの3D位置は、方法600を実行するデバイス、システムなどによって、直接判定される。他の実施形態では
、方法600を実行するデバイス、システムなどは、例えば、ウェブサービスインターフェース(例えば、図1のウェブサービスインターフェース60)を介して要求を行うことによって、別のデバイス、システムなどにオブジェクトの3D位置を判定させる。
【0127】
ブロック610において、少なくともオブジェクトの3D位置を新しいノードに関連させて記憶させることによって、ノードデータベースまたはライブラリが新しいノードを3Dマップに追加させられる。ブロック610は、例えば、ウェブサービスインターフェースを使用して、リモートサーバ(例えば、図1のバックエンドサーバ14)に、少なくともノードデータベース内の新しいノードの3D位置(例えば、図1のARデータベース72)を記憶させることを含み得る。
【0128】
方法600は、図8に示されていない1つ以上のブロックを含み得る。例えば、方法600は、別のユーザ入力(例えば、音声コマンド、キーボード入力など)がモバイルデバイスにおいて受信され、ユーザ入力が新しいノードの識別子(例えば、名前)及び/または記述を示すブロックを含み得る。そのような実施形態では、ブロック610は、新しいノードの識別子及び/または記述をノードデータベース内の新しいノードに関連付けて記憶させることを更に含み得る。
【0129】
別の例として、方法600は、新しいノードが3Dマップに追加された後にプロセス制御環境のエリアをナビゲートする、異なるモバイルデバイスの後の動作(またはブロック602ないし610を実行する同じモバイルデバイスによる後の動作)に対応する追加のブロックを含み得る。第1のブロックでは、例えば、第2のモバイルデバイス(例えば、ARモバイルデバイス12または同様のデバイス)が、基準位置に登録されてよい。その後、第2のモバイルデバイスの3D位置(基準位置に対する)、及び第2のモバイルデバイスの配向は、少なくとも第2のモバイルデバイスのIMUを使用して(例えば、VIO技術を使用して)、追跡され得る。次いで、トリガ条件は、例えば、オブジェクトが第2のモバイルデバイスのカメラの視界内のエリア内にあることを判定する(例えば、追跡された第2のモバイルデバイスの配向に基づいて)こと、及び/またはその物理的オブジェクトが第2のモバイルデバイスに近接していることを判定する(例えば、追跡された第2のモバイルデバイスの位置に基づいて)ことによって、検出され得る。トリガ条件の検出に応答して、新しいノードに関連付けられているデジタル情報は、第2のモバイルデバイスのディスプレイ上にまたはディスプレイを介して見られる現実世界のビューに重ね合わされ得る(例えば、ノードマーカー、または上で説明した任意のノード体験に従って)。
【0130】
例示的な仮想X線視覚を提供する方法
図9は、現実世界のプロセス制御環境(例えば、図2のプロセス制御環境100)において、ARモバイルデバイスのユーザに仮想強調視覚(例えば仮想「X線視覚」)を提供するための例示的な方法620を示す。方法620は、例えば、図1のバックエンドサーバ14などのコンピューティングシステムまたはデバイスの1つ以上のプロセッサ、及び/または図1のARモバイルデバイス12などのARモバイルデバイスによって実行され得る。
【0131】
ブロック622において、プロセス制御環境のマップに関連付けられている特定のノード(「第1のノード」)が、現在、ARモバイルデバイスのカメラ(例えば、図1のカメラ24)の視界内にある特定の現実世界のオブジェクト(「第1のオブジェクト」)に対応することが判定される。第1のオブジェクトは、例えば、図2に関連して図示または記述される任意のデバイス、または少なくとも部分的に不透明な任意の他の物理的オブジェクトであり得る。いくつかの実施形態では、第1のオブジェクトは、多数のより小さいデバイスまたは構成要素を含むように構成されたキャビネットなどの囲いである。
【0132】
いくつかの実施形態では、ブロック622は、ARモバイルデバイスの現在の配向を検出すること、及びARモバイルデバイスの現在の配向に基づいて、更にマップによって示される第1のノードの位置に基づいて、第1のオブジェクトが現在、カメラの視界内にあることを判定することを含む。ブロック622はまた、ARモバイルデバイスの現在の位置及び第1のノード位置に基づいて、第1のオブジェクトがARモバイルデバイスのいくつかの閾値距離(例えば、10メートル、50メートルなど)内にあることを判定することを含み得る。
【0133】
ブロック624において、第1のノードと、マップにも関連付けられている1つ以上の他のノードとの間の特定の関係が判定される。この関係は、1つ以上の他のノードに対応する1つ以上の他の現実のオブジェクトが、第1のオブジェクトによって少なくとも部分的に不明瞭であることを(明示的または暗示的に)示す。例えば、ノードデータベース(例えば、ARデータベース72またはその一部)は、第1のノードが、他のノード(複数可)(例えば、コントローラ、I/Oカード、スイッチなど)に対応するオブジェクト(複数可)を含むキャビネットまたは他の囲いに対応することを示すデータを記憶してよく、ブロック624は、ノードデータベースに直接(例えば、ローカルメモリ内で)、または別のコンピューティングシステムを介してアクセスすることを含んでよい。いくつかの実施形態では、第1のオブジェクトはQRコードまたは他の視覚的コードでマークされ、ブロック624は、コードをスキャンしてノード識別子を判定することと、ノード識別子を使用して関係を判定する(例えば、データベースに対するキーとして識別子を使用することによって)こととの、両方を含む。
【0134】
ブロック626において、1つ以上のデジタルモデルまたはデジタル画像は、メモリ(例えば、ローカルまたはリモートの永続メモリ)から検索され、モデル(複数可)または画像(複数可)が、少なくとも第1のオブジェクト(複数可)によって部分的に不透明であるオブジェクトを描画する。例えば、1つ以上の超現実的または擬似現実的な3Dモデル、2Dモデル、アニメーションモデル、デジタル画像、またはオブジェクト(複数可)のデジタルビデオは、メモリから検索され得る。
【0135】
ブロック628において、ARモバイルデバイス(例えば、図1のディスプレイ22)のディスプレイは、第1のオブジェクトが依然としてカメラの視界内にある間に、検索されたモデル(複数可)または画像(複数可)をユーザに提示させる。例えば、モデル(複数可)または画像(複数可)は、ディスプレイ上でユーザに提示されるか、またはディスプレイを介してユーザによって見られる現実世界のビューに、重ね合わせられ得る。ブロック628は、例えば、ARモバイルデバイスに、ディスプレイコンテンツの少なくともいくつかを送信すること、及び/またはディスプレイ命令を送信すること(例えば、図1のウェブサービスインターフェース60を介して)を含み得る。
【0136】
方法620は、図9に示されていない1つ以上のブロックを含み得る。例えば、方法620は、1つ以上のノード体験が、不明瞭なオブジェクトについてユーザに提示される(例えば、最初にモデル(複数可)もしくは画像(複数可)とともに、または更なるアクション、特定の不明瞭なオブジェクトのモデルまたは画像のユーザ選択などに応答して)ブロックを含み得る。
【0137】
例示的な制限付きアクセスオブジェクトを視覚化するための方法
図10は、ARモバイルデバイスのユーザと、プロセス制御環境(例えば、図2のプロセス制御環境100)の制限付きアクセス(例えば、危険な、バリケードなど)エリアに存在し得る、現実世界のオブジェクト(「第1のオブジェクト」)との間の対話を容易にする方法例640を描画する。方法640は、例えば、図1のバックエンドサーバ14などのコンピューティングシステムまたはデバイスの1つ以上のプロセッサ、及び/または
図1のARモバイルデバイス12などのARモバイルデバイスによって実行され得る。
【0138】
ブロック642において、ユーザがプロセス制御環境を移動すると、ARモバイルデバイスのディスプレイ(例えば、図1のディスプレイ22)は、ARモバイルデバイス(例えば、図1のカメラ24)のカメラの視界内にある環境の部分にデジタル情報を重ね合わせる。重ね合わされた情報は、環境内の他の現実世界のオブジェクトに対応するノードどともに、プロセス制御環境のマップ(例えば、3Dマップ)内のノードに関連付けられる。ブロック642は、例えば、ARモバイルデバイスに、ディスプレイコンテンツの少なくともいくつかを送信すること、及び/またはディスプレイ命令を送信すること(例えば、図1のウェブサービスインターフェース60を介して)を含み得る。
【0139】
ブロック644において、第1のオブジェクトがカメラの視界内にない間に、ARモバイルデバイスのディスプレイは、第1のオブジェクトへの方向を示す。指標は、例えば、テキスト、矢印、線、及び/またはアニメーションを含み得る。ブロック642と同様に、ブロック644は、例えば、表示コンテンツのうちの少なくともいくつかを送信すること、及び/または表示命令をARモバイルデバイスに送信する(例えば、図1のウェブサービスインターフェース60を介して)ことを含み得る。
【0140】
ブロック646において、ARモバイルデバイスを介して行われ、第1のオブジェクトの選択を示すユーザ入力(例えば、第1のオブジェクトのユーザインターフェースを要求する音声コマンド)を検出した後、ディスプレイは、現在視界内にあるが第1のオブジェクトを含まないプロセス制御環境の一部に、第1のオブジェクトのデジタルモデルまたは画像(すなわち、第1のオブジェクトの「アバター」)、及び第1のオブジェクトのユーザインターフェースを重ね合わせる。アバターは、例えば、オブジェクトの超現実的または擬似現実的な3Dモデル、2Dモデル、アニメーションモデル、デジタル画像、またはデジタルビデオであってよい。ユーザインターフェースは、第1のオブジェクトのユーザ制御(例えば、第1のオブジェクトを較正し、第1のオブジェクトの動作パラメータを設定するなどの)を可能にする1つ以上の仮想コントロール、及び/または状態(例えば、診断状態、保守状態、動作状態など)に関連付けられている情報を表示する1つ以上の表示、第1のオブジェクトの設定、及び/または出力(例えば、センサ読み取り値など)を含み得る。いくつかの実施形態では、ユーザインターフェースは、アバターと同時に提示されず、アバターまたは音声コマンドのユーザ選択に応答して(アバターとともに)現れる。
【0141】
いくつかの実施形態では、ブロック644における方向の指標は、第1のオブジェクトの選択を示すユーザ入力(すなわち、図10に示されるシーケンス)を検出する前に生じる。そのようないくつかの実施形態では、方向インジケータ(例えば、第1のオブジェクトを含むオフ表示領域に向いている矢印)は、(1)第1のオブジェクトがARモバイルデバイスの閾値距離内にあること、及び(2)第1のオブジェクトが現在カメラの視界内にないことを検出することに応答して、生成され、かつ表示され得る。方向インジケータのための他の適切なトリガまたは基準も可能である。例えば、インジケータは、第1のオブジェクトに関連する特定のユーザ役割を有するユーザにのみ提供されてよい。
【0142】
他の実施形態では、第1のオブジェクトの選択を示したユーザ入力を検出した後に、方向の指標が代わりに生じる。例えば、ユーザは、第1のオブジェクト(例えば、第1のオブジェクトに対するユーザ「検索」)についてユーザインターフェースが検索されることを要求する音声コマンドを発し得、その後、方向インジケータ(及び場合によってはアバター)が、ユーザの現実世界のビューに重ね合わせられる。
【0143】
デジタルモデルまたは画像は、方向インジケータ及び/または後段で表示されるかどう
かを問わず、ウェブサービスインターフェース(例えば、ウェブサービスインターフェース60を使用して図1のARデータベース72から)を使用してデータベースから検索され得る。
【0144】
一般的な考慮事項
ソフトウェアに実装する場合、本明細書に記載されるアプリケーション及び機能のいずれかは、コンピュータまたはプロセッサのRAMまたはROM内で、磁気ディスク、レーザーディスク、半導体メモリデバイス、分子メモリ記憶デバイス、または他の記憶媒体などの任意の有形の非一過性のコンピュータ可読メモリ内に命令として、記憶されてよい。本明細書で開示される例示的なシステムは、ハードウェア上で実行される他のコンポーネント、ソフトウェア及び/またはファームウェアを含むものとして開示されるが、このようなシステムは、単なる例示であり、限定するものではないということに留意するべきである。例えば、これらのハードウェア、ソフトウェア、及びファームウェア構成要素のうちのいずれかまたは全てが、ハードウェアにのみ、ソフトウェアにのみ、あるいはハードウェア及びソフトウェアの任意の組み合わせで、埋め込まれ得ることが企図される。したがって、本明細書に記載される例示的システムは、1つ以上のコンピュータデバイスのプロセッサにおいて実行されるソフトウェアに実装されるように記載されているが、当業者ならば、提供される例が、そのようなシステムを実装するための唯一の方法であるわけではないことを容易に理解するであろう。
【0145】
したがって、本発明は具体的な例に関して記載されてきたが、これらの例は例証的である過ぎず、本発明の限定であることを意図せず、変更、追加、または削除が、本発明の趣旨及び範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らかであろう。
図1
図2
図3
図4A
図4B
図4C
図4D
図4E
図4F
図4G
図4H
図5A
図5B
図6
図7A
図7B
図8
図9
図10