(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-22
(45)【発行日】2024-03-04
(54)【発明の名称】工業用拡張現実アプリケーションのためのドリフト補正
(51)【国際特許分類】
G01C 21/28 20060101AFI20240226BHJP
G06T 19/00 20110101ALI20240226BHJP
G06T 7/00 20170101ALI20240226BHJP
G06F 3/01 20060101ALI20240226BHJP
G06F 3/0484 20220101ALI20240226BHJP
G06N 20/00 20190101ALI20240226BHJP
G01C 21/36 20060101ALI20240226BHJP
G08G 1/0968 20060101ALI20240226BHJP
【FI】
G01C21/28
G06T19/00 600
G06T7/00 350B
G06F3/01 510
G06F3/0484
G06N20/00
G01C21/36
G08G1/0968 B
【外国語出願】
(21)【出願番号】P 2019144568
(22)【出願日】2019-08-06
【審査請求日】2022-07-27
(32)【優先日】2018-08-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100096091
【氏名又は名称】井上 誠一
(74)【復代理人】
【識別番号】100193390
【氏名又は名称】藤田 祐作
(72)【発明者】
【氏名】ジョシュア・サンダース・フリーゼンハン
(72)【発明者】
【氏名】ジェームス・アーロン・クリューズ
(72)【発明者】
【氏名】トレヴァー・ダンカン・シュライス
【審査官】佐々木 佳祐
(56)【参考文献】
【文献】米国特許出願公開第2010/0287485(US,A1)
【文献】米国特許出願公開第2015/0350378(US,A1)
【文献】特開2016-170060(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00-25/00
G08G 1/00-99/00
G06T 19/00
G06T 7/00
G06F 3/01
G06F 3/04815
G06F 3/0484
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
実際世界のマップされた環境をナビゲートしているユーザへ提示される拡張現実(AR)情報の正確性を増大させる方法であって、
前記ユーザが
マップされた環境を移動するにつれて、
1つ以上のプロセッサによって、前記ユーザのモバイル機器のカメラの視界内の特定のオブジェクトを識別する工程であって、前記特定のオブジェクトの識別が、以下、すなわち、
前記カメラによって撮像された1つ以上の画像を処理する機械学習(ML)モデルによって
、オブジェクトタイプを予想する工程と、
前記1つ以上のプロセッサによって、前記マップされた環境を表示するマップデータベース内の、前記オブジェクトタイプに対応するノードを識別する工程とを含む工程と、
を含み、
前記1つ以上のプロセッサによって、前記ノード
に関連付けられた場所を前記マップデータベースから検索する工程と、
前記1つ以上のプロセッサによって、前記検索された場所を用いて、前記モバイル機器の1つ以上の推定場所を更新または確認する工程と、
前記1つ以上のプロセッサによって、前記ユーザへ提示される実際世界の視界上に、前記モバイル機器のディスプレイを通してデジタル情報を重ね合わせる工程であって、前記デジタル情報は、少なくとも部分的に、前記モバイル機器の前記更新または確認された1つ以上の推定場所に基づいて選択される工程とを有するものである
方法。
【請求項2】
請求項1記載の方法において、前記ノードを識別する工程は、前記マップデータベース内にあり、前記オブジェクトタイプに対応し、前記モバイル機器の推定場所の閾値距離内にあるノードを識別する工程であって、前記推定場所が前記モバイル機器の慣性測定装置によって決定される工程を有するものである方法。
【請求項3】
請求項1記載の方法において、前記ノードを識別する工程は、(i)前記オブジェクトタイプに対応し、(ii)前記モバイル機器の推定場所の閾値距離内にあり、(iii)前記モバイル機器が特定の方位にある間に、前記ノードに対応するオブジェクトが前記カメラの視界内に存在するのを可能とする方向に、前記モバイル機器の推定場所からオフセットされている、前記マップデータベース内にあるノードを識別する工程であって、前記
推定場所および前記特定の方位は、前記モバイル機器の慣性測定装置を用いて決定される工程である方法。
【請求項4】
請求項1記載の方法において、前記ノードの検索場所を用いて前記モバイル機器の1つ以上の推定場所を更新または確認する工程は、
前記ノードの検索場所と前記モバイル機器の推定場所との間の差を計算する工程であって、前記推定場所は前記モバイル機器の慣性測定装置を用いて決定される工程と、
前記計算された差を用いて前記モバイル機器の推定場所を調整する工程とを有するものである方法。
【請求項5】
請求項1記載の方法において、
前記モバイル機器と前記特定のオブジェクトとの間の実際の距離を決定する工程と、
前記モバイル機器の方位を決定する工程とを更に有し、
前記ノードの検索場所を用いて前記モバイル機器の1つ以上の推定場所を更新または確認する工程は、(i)前記ノードの検索場所、(ii)前記モバイル機器と前記特定
のオブジェクトとの間の実際の距離と、(iii)前記モバイル機器の方位とを用いて、前記1つ以上の推定場所を更新または確認する工程である方法。
【請求項6】
請求項5記載の方法において、前記モバイル機器と前記特定
のオブジェクトとの間の実際の距離を決定する工程は、前記カメラによって撮像された前記1つ以上の画像のうち少なくとも1つを処理することにより前記実際の距離を決定する工程を有するものである方法。
【請求項7】
請求項5記載の方法において、前記モバイル機器の方位を決定する工程は、前記モバイル機器の慣性測定装置によって生成されるデータを用いて前記方位を決定する工程を有するものである方法。
【請求項8】
請求項1記載の方法において、前記カメラの視界内の前記特定のオブジェクトを識別する工程は、少なくとも部分的には、前記モバイル機器に通信可能に連結されたサーバーによって実行されるものである方法。
【請求項9】
請求項1記載の方法において、前記カメラの視界内の前記特定のオブジェクトを識別する工程は、少なくとも部分的には、前記モバイル機器によって実行されるものである方法。
【請求項10】
実際世界のマップされた環境をナビゲートしているユーザへ、正確な拡張現実(AR)情報を提示するシステムであって、
前記ユーザのモバイル機器であって、カメラとディスプレイとを含んでいるモバイル機器と、
前記モバイル機器に通信可能に連結されているサーバーとを有し、
前記モバイル機器は、前記ユーザが
マップされた環境を通して移動するにつれて、前記カメラを用いて、前記マップされた環境の画像を撮像するように構成されており、
前記モバイル機器および/または前記サーバーは、
少なくとも部分的には、(i)前記カメラで撮像した1つ以上の画像を処理する機械学習(ML)モデルによってオブジェクトタイプを推定し、(ii)前記マップされた環境を表示するマップデータベース内の、前記オブジェクトタイプに対応するノードを識別することにより、前記カメラの視界内の特定のオブジェクトを識別するように、
前記マップデータベースから前記ノードに関連付けられた場所を検索するように、
前記ノードの検索場所を用いて、前記モバイル機器の1つ以上の推定場所を更新または確認するように、および
前記ユーザへ提示された実際世界の視界に、前記モバイル機器のディスプレイを通してデジタル情報を重ね合わるように構成されており、前記デジタル情報は、少なくとも部分的には、前記モバイル機器の更新または確認された1つ以上の推定場所に基づいて選択されるものである
システム。
【請求項11】
請求項10記載のシステムにおいて、前記モバイル機器は慣性測定装置を有しており、前記モバイル機器および/または前記サーバーは、(i)前記オブジェクトタイプに対応し、(ii)前記モバイル機器の推定場所の閾値距離内にあり、(iii)前記モバイル機器が特定の方位にある間に、前記ノードに対応するオブジェクトが前記カメラの視界内にあるのを可能とする方向に前記モバイル機器の推定場所からオフセットされている、前記マップデータベース内にあるノードを識別するように構成されており、前記
推定場所および前記特定の方位は、前記慣性測定装置を用いて決定されるものであるシステム。
【請求項12】
請求項10記載のシステムにおいて、前記モバイル機器および/または前記サーバーは、
前記モバイル機器と前記特定のオブジェクトとの間の実際の距離を決定し、および
前記モバイル機器の方位を決定するように更に構成されており、
前記モバイル機器および/または前記サーバーは、少なくとも部分的には(i)前記ノードの検索場所と、(ii)前記モバイル機器と前記特定のオブジェクトとの間の前記実際の距離と、(iii)前記1つ以上の推定場所を更新または確認するための前記モバイル機器の方位とを用いることによって、前記モバイル機器の1つ以上の推定場所を更新または確認するため、前記ノードの検索場所を利用するように構成されているものであるシステム。
【請求項13】
実際世界のプロセス制御環境のマップの作成を簡便化する方法であって、
1つ以上のプロセッサによって、ユーザが
マップされた環境を移動するにつれてモバイル機器の場所を追跡する工程と、
前記ユーザが前記マップされた環境を移動するにつれて、前記モバイル機器のカメラにより、前記マップされた環境の画像を撮像する工程と、
前記1つ以上のプロセッサにおいて、前記ユーザがノードを前記マップへ付け加えたいと言う意図の表示を受け取る工程と、
前記1つ以上のプロセッサによって、前記撮像画像のうち1つ以上の画像を機械学習(ML)モデルへ提供する工程であって、前記MLモデルが画像を処理してオブジェクトタイプを認識するように訓練する工程と、
前記1つ以上の画像を処理するMLモデルによって、前記カメラの視界内の特定のオブジェクトに対応するオブジェクトタイプを予想する工程と、
前記1つ以上のプロセッサによって、前記新しいノード用のデスクリプタをユーザが容易に指定できるようにするため、前記モバイル機器のディスプレイが、前記ユーザへ提示された実際世界の視界上に、前記予想されたオブジェクトタイプの表示を重ね合わせる工程とを有するものである
方法。
【請求項14】
請求項13記載の方法において、前記ユーザが前記ノードを前記マップへ付け加えたいと言う意図の表示を受け取る工程は、前記ユーザが前記モバイル機器を通してコマンドを入力した表示を受け取る工程を含むものである方法。
【請求項15】
請求項13記載の方法において、前記モバイル機器の場所を追跡する工程は、前記モバイ
ル機器の慣性測定装置を用いて、前記モバイル機器の場所を追跡する工程を含むものである方法。
【請求項16】
請求項13記載の方法において、
前記特定のオブジェクトに対応する前記オブジェクトタイプを予想する工程は、前記特定のオブジェクトに潜在的に対応する複数の候補オブジェクトタイプを予想する工程を有するものであり、
前記モバイル機器のディスプレイが前記予想されたオブジェクトタイプの表示を重ね合わせる工程は、前記ディスプレイが、前記ユーザに提示された前記実際世界の視界上に、前記予想された複数のオブジェクトタイプの表示を重ね合わせる工程を有するものである方法。
【請求項17】
実際世界のマップされた環境におけるノード場所を更新する方法であって、
1つ以上のプロセッサによって、モバイル機器のユーザが
マップされた環境を通して移動するにつれて、前記モバイル機器の場所を追跡する工程と、
前記ユーザが前記マップされた環境を通して移動するにつれて、前記モバイル機器のカメラによって、前記マップされた環境の画像を撮像する工程と、
前記1つ以上のプロセッサによって、前記カメラの視界内に特定のオブジェクトを識別する工程であって、前記撮像画像の1つ以上を処理する機械学習(ML)モデルによってオブジェクトタイプを予想する工程と、前記マップされた環境を表示するマップデータベース内の、前記オブジェクトタイプに対応するノードを識別する工程とを有する工程と、
を含み、
前記1つ以上のプロセッサによって、前記モバイル機器の追跡場所を用いて、前記マップデータベースに記憶された前記ノードの場所を更新または確認する工程とを有するものである
方法。
【請求項18】
請求項17記載の方法において、前記モバイル機器の追跡場所を用いて前記マップデータベースに記憶された前記ノードの場所を更新または確認する工程は、(i)前記モバイル機器の追跡場所と、(ii)1つ以上の他のモバイル機器の追跡場所とを用いて、前記マップデータベースに記憶された前記ノードの場所を更新または確認する工程を有するものである方法。
【請求項19】
請求項17記載の方法において、前記ユーザが前記マップされた環境を通して移動するにつれて前記モバイル機器の場所を追跡する工程は、前記モバイル機器の慣性測定装置を用いて、前記モバイル機器の場所を追跡する工程を有するものである方法。
【請求項20】
請求項17記載の方法において、
前記モバイル機器と前記特定のオブジェクトとの間の実際の距離を決定する工程と、
前記モバイル機器の方位を決定する工程とを更に有し、
前記モバイル機器の追跡場所を用いて前記マップデータベース内に記憶された前記ノードの場所を更新または確認する工程は、(i)前記モバイル機器の追跡場所と、(ii)前記モバイル機器と前記特定のオブジェクトとの間の前記実際の距離と、(iii)前記モバイル機器の方位とを用いて、前記マップデータベース内に記憶された前記ノードの場所を更新または確認する工程を有するものである方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的に、拡張現実技術、特にプロセス制御または他の環境で利用される拡張現実プラットフォームに関する。
【背景技術】
【0002】
実際世界の環境にデジタル情報(例えば、テキスト、画像、アニメなど)のオーバレイを提供する拡張現実(AR)システムは、当該技術の新しいアプリケーションが探求されるに従いますます一般的になりつつある。一般的に、ARシステムは、ユーザの現在の実際世界の環境にとって特定の情報を提供する。斯かるシステムにおいては、現在ユーザの視界にあるオブジェクトおよびユーザの現在位置およびその周囲にある物理的レイアウトなどの実際世界の環境の知識が一般的に必要である。斯かる情報をARシステムに取り入れるため、ユーザの環境およびその中のオブジェクトを代表する三次元(3D)デジタルモデルが作製される。次に、その3Dモデルは、斯かる環境の特定の場所および/または特定のオブジェクトに関する特定のタイプのデータ(例えば、記述)、図形(例えば、アイコン)などで拡張されてもよい。適切なARギアを装備したユーザがマップされた環境をナビゲートする際、ユーザの実際世界の視界(例えば、リアルタイムカメラの視界、またはユーザが環境を観察するためのヘッドアップディスプレイ(HUD)の視界)にデジタル情報をオーバレイすることにより、3Dモデルの他の部分をレンダリングしたり表示したりすることなく、拡張部分をユーザにレンダリング/表示できる。
【0003】
従来、斯かるタイプの3Dモデルは、人間のデザイナにより、および/または3Dスキャナを用いて手動で構築される。しかし、斯かるやり方はいずれも、複雑なレイアウトおよび/または多数のオブジェクトを有する環境を含むアプリケーションにおいては、時間面でも労働面でも極めて集約的である。更に、環境への任意の変化(例えば、オブジェクトが環境内で動かされたり、置き換え/更新されたりする変化)は、モデル化プロセス全体が反復される必要があったり、時間面および労働面で他の集約的な手順が要求されたりする。
【0004】
現在のARシステムは他の欠点も有している。例えば、ARシステムは、比較的密集した環境(例えば、隣接した複数のオブジェクトを有する環境、および/またはAR視界に大量の情報を表示しなければならない環境)により、ユーザは、容易に感覚過負荷となる膨大な量の情報を受け取ったり、全ての情報の内容を簡単には感知できなくなったりする。
【0005】
斯かる問題への解決策は、(特許文献1)(2017年9月27日出願、「拡張現実プラットフォーム」と題され、その全体が参照として本明細書に援用される)に記載の拡張現実プラットフォームの種々の態様によって提供される。一般的に、拡張現実プラットフォームは、「ランドマーク」またはユーザが「チェックイン」する参照場所に対するユーザのモバイル機器(例えば、スマートフォン、タブレット、専用ARヘルメット、または他のギア)の位置追跡に依存している。例えば、ユーザの位置は、ユーザがプロセス制御または他の環境の周りをナビゲートするに従い、ユーザのモバイル機器の慣性測定装置を用いて追跡されてもよい。しかし、時間の経過と共に、ユーザの見かけの位置は、ユーザの追跡位置の僅かな不正確さの累積効果の故に、参照点から「ドリフト」する場合がある。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
その結果2つの問題が生じる。まず、環境(例えば、プロセス制御環境)モデルを生成するのに使用される斯かる位置追跡の実施において、当該モデルに送られる任意の位置(例えば、機器の位置および/または他のオブジェクト)が不正確である場合がある。第二に、その後マップされた環境を斯かる位置追跡をナビゲートする人が使用する場合、システムは、不正確な位置情報に基づいて(例えば、ユーザが特定のオブジェクトの近くにあることを認識できずに、あるいはユーザが異なるオブジェクトの近くにいると間違って決定することにより)、AR情報をユーザへ提供することになる。従って、拡張現実プラットフォームの実用が、(例えば、プラットフォームが効率的に使用されるはずのプラントまたは他の地域の大きさを限定することにより)大幅に縮小してしまったり、および/または(例えば、ランドマーク位置においてユーザが定期的に照合する再校正手順を要求することにより)更に煩雑になったりする。
【課題を解決するための手段】
【0008】
拡張現実経験を提供するための技術、システム、装置、および方法が本明細書に開示される。斯かる技術、システム、装置、および方法は、例えば、工業用プロセス制御システム、環境、および/プラント(本明細書では、「プロセス制御」、「プロセス」システム、環境、および/またはプラントは同意語として用いられる)へ適用されてもよい。一般的に、斯かるシステムおよびプラントは、原料のオブジェクトを製造、精製、あるいは変形することにより製品を生成または製造する1つ以上のプロセスを分散して制御するものである。しかし、いくつかの実施形態においては、本明細書記載の技術、システム、装置、および方法は、他のタイプの環境、および/または拡張現実以外のコンテキスト(例えば、仮想現実(VR)のコンテキスト)で使用されてもよい。
【0009】
一般的に、プロセス制御環境は、上述の発明が解決しようとする課題に記載されているような、従来の拡張現実(AR)システムまたはプラットフォームの作製および使用に関連する種々の問題点を生じ得る。例えば、斯かる環境は、隣接した、および/または大量の情報(例えば、センサー表示、診断状態など)に関連する、多数の異なるオブジェクト(例えば、タンク、ポンプ、弁、モーター、送信機など)を含む場合が多い。更に、斯かるオブジェクトは頻繁に動かされたり、置き換えられたりする。
【0010】
本明細書記載のARプラットフォームは、斯かる問題点のいくつかまたは全てを克服または改善しているので、プロセス制御環境での使用に適している。三次元(3D)モデルは、ARプラットフォームを用いて、ARモバイル機器を利用するユーザにより作製される。ARモバイル機器は、ARヘルメット、ARヘッドセット、ARゴーグル、スマートグラス、スマートフォン、タブレット、あるいは(以下に記載されるような)位置追跡を支援可能であり、AR経験をユーザへ提供できるような他の任意の適切なタイプのモバイル機器であってよい。
【0011】
3Dモデルは、異なる実際世界のオブジェクト(例えば、フィールド装置、タンク、コンベヤ、コントローラ、スイッチなど)に対応する、プロセス制御環境内の関心点の3D場所/位置を意味する。3Dモデルに追加されるオブジェクトは、本明細書ではARプラットフォームまたはシステムの「ノード」と呼ばれる。本明細書で使用される場合、「オブジェクト」(「実際世界のオブジェクト」とも呼ばれる)は、物理的物体(例えば、装置、コンポーネント、機器、構造体など)、物体の一部(例えば、装置またはコンポーネントの要素)、または物体の組み合わせ(例えば、関連装置またはコンポーネントのグループ)であってもよい。プロセス制御環境においては、例えば、オブジェクトはフィールド装置(例えば、弁、ポンプ、センサーなど)、機器(例えば、コンベヤ、タンクなど)、プロセスコントローラ、スイッチなどであってもよい。
【0012】
いくつかの実装において、ARアプリケーションがARモバイル装置で開始された場合(例えば、ユーザによって具体的に起動された場合、装置が起動された場合など)、ユーザはいくつかの参照場所または「ランドマーク」場所でARモバイル装置を「チェックイン」または登録する。例えば、ユーザは、ARモバイル機器のカメラを用いてランドマーク位置でQRコード(登録商標)またはコード/識別子の別の視覚表現をスキャンしてもよい。コードのスキャンは、ユーザ/装置の開始位置(例えば、(x、y、z)空間の座標(0、0、0))を確立してもよい。
【0013】
登録後、ユーザは、ARモバイル機器を用いてプロセス制御環境を物理的にナビゲートし始めてもよい。適切な位置決め技術(例えば、ユーザのARモバイル機器によって提供される技術)が、ユーザの動きを追跡するのに利用されてもよい。GPSまたはGNSS装置は多くのプロセスプラント環境ではうまく機能しないし、方位データまたは(特に、室内のプロセス制御環境における)正確な高さデータも提供できないので、他の位置確認および/または方位付け技術を用いてもよい。例えば、ランドマーク位置に対するARモバイル機器の位置およびARモバイル機器の方位(例えば、ユーザが向く方向に対応するARモバイル機器のカメラの視界の方向)は、(例えば、加速度計、ジャイロスコープなどが生成する)慣性測定装置(IMU)データおよびカメラの画像データの融合を用いて追跡してもよい。1つの実装において、例えば、Qualcomm(登録商標)が開発した技術であるVIO(Vsal-Inertia Odometry)技術を用いて位置および方位を追跡する。
【0014】
ノードとして追加されるべき実際世界のオブジェクトまたはその近くに到達した場合、ユーザは、(例えば、ARヘルメットまたはゴーグルを着用している場合には)当該オブジェクトの方向に向いて、あるいは(例えば、装置がタブレットまたはスマートフォンの場合には)当該オブジェクトに機器カメラを向けて、新しいノードを追加するオプションを選択してもよい。例えば、ARモバイル機器は、ユーザが話す場合には音声コマンド「ノードを追加」を認識してもよいし、あるいは(例えば、機器がタブレットまたはスマートフォンの場合には)ユーザは、ARモバイル機器を用いて、ARモバイル機器ディスプレイのグラフィックユーザインターフェース(GUI)上の「ノードの追加」または類似のオプション/制御を選択してもよい。次に、ARモバイル機器はオブジェクトの画像を撮像し、その画像を処理してARモバイル機器とオブジェクトとの距離を推測してもよい。あるいは、他のセンサ(例えば、ライダー、レーダーなど)を用いて、ARモバイル機器とオブジェクトとの距離を決定してもよい。次に、ARモバイル機器は、ARモバイル機器の現在位置および方位に基づいてランドマーク位置に対するオブジェクトの位置を決定したり、ARモバイル機器とオブジェクトとの距離を決定したりしてもよい。あるいは、遠隔サーバーまたは他の計算装置/システムを用いてARモバイル機器が撮像した画像データを処理し、ランドマーク位置に対するオブジェクトの位置を決定してもよい。
【0015】
ユーザは、新しいノード(例えば、弁、ポンプなど)の名前またはタイプおよび/または他の情報(例えば、オブジェクトのモデル番号や他の識別子、オブジェクトの簡単な記述など)を特記してもよい。次に、その特記された情報は、ARシステムのバックエンドデータベースで新しいノードと関連付けられてもよい。バックエンドデータベースは、プロセス制御環境でオブジェクト/資産の仮想3D「マップ」を総合的に確立するため、ユーザ(並びに他のユーザ)によって付け加えられ、ランドマーク位置に対して3D位置が関連付けられたノードのライブラリを含んでいてもよい。データベースは、例えば、関係および/または関連ノードのリストなどの他のノード情報を保存していてもよい。
【0016】
特定のプロセス制御環境の少なくとも1つの関心オブジェクトがマップされた後(すなわち、ARモバイル機器を用いてノードライブラリに付け加えられた後)、ランドマーク位置においてARモバイル機器を登録する任意のユーザ(マッピングユーザを含む)が、プロセス制御環境の拡張ツアーを行ってもよい。登録したARモバイル機器を有するユーザがARモバイル機器のカメラの視界を特定の実際世界のオブジェクトを含む領域に向け(例えば、ユーザがARヘルメットまたはゴーグルを着用してその領域を見た場合)、並びにそのオブジェクトがノードライブラリ中のノードに既に関連付けられている場合には、ARモバイル機器は、ノード「マーカー」(ユーザには、まるで実際世界の視界におけるオブジェクトの座標またはその近くに位置しているように見える)(例えば、テキスト、アイコン、図形など)を用いて、ユーザが観察している実際世界の場面を拡張してもよい。
【0017】
ユーザが(例えば、ノードマーカーに焦点を合わせたり、音声コマンドを発したりして)特定のノードを選択したら、ARモバイル機器は、ユーザに利用可能な1つ以上の「ノード経験」を行ってもよい。例えば、1つのノード経験は、ユーザの実際世界の視界に、テキスト(ノード名、記述など)、タブレット、および/または図形/アイコンを重ね合わせてもよい。他のノード経験は、特定のURL(例えば、教育用ビデオまたは「ヘルプ」ビデオ)からのウェブコンテンツを重ね合わせたり、例えば、他のオブジェクト/ノードとの物理的または論理的関連および/または関係の視覚化物を重ね合わせたりしてもよい。他のノード経験には、オブジェクト/ノードに関連付けられた作業命令の検索、ユーザと遠隔地にいる適切な専門家との間の通信リンクなども含まれる。いくつかの実装では、ユーザが観察しているオブジェクトの特定のコンテキストにおいて、少なくとも1つのノード経験が、1つ以上の他のソフトウェアアプリケーションまたはシステムを開始する(またはそれにリンクする)。例えば、ARモバイル機器は、センサーデータ、状況、および/または視野内の選択オブジェクト/ノード(例えば、フィールド装置)の仮想制御を、異なるアプリケーションからのデータが受信された場所(並びに、制御装置へのユーザの入力が送信される場所)に重ね合わせていてもよい。
【0018】
所定のノードに関してユーザに利用可能な経験、特定のノード経験内に提供されるコンテンツのタイプ、および/またはいくつかの実施において、任意の拡張情報が所定のノードに関して特定のユーザに利用可能であるか否かは、少なくとも部分的にはユーザの「役割」に基づいて決定されてもよい。例えば、特定のユーザは、ARモバイル機器を使用して、「オペレータ」の役割、「保守者」の役割、または「エンジニア」の役割を選択してもよいし、斯かる役割が事前に割り当てられてもよい。
【0019】
いくつかの実装において、ユーザのARモバイル機器のカメラが撮像する視覚情報は、位置追跡の「ドリフト」を修正するのに用いられてもよい。斯かる目的のため、機械学習(ML)モデルを訓練し、画像内のオブジェクト、例えば、特定のタイプの危機やプロセス制御(または他の)環境内の他の資産を認識/特定してもよい。MLモデルは、例えば、手動で標識/分類したオブジェクトの画像や教師付き学習手法を用いて訓練してもよい。ユーザがプラントや他の環境をナビゲートするに従い、ARモバイル機器のカメラが画像を撮像し、(例えば、画像をサーバーへ送ることにより、または局所的に記憶されたMLモデルを利用することにより)ARモバイル機器が、斯かる画像をMLモデルへ送信してもよい。次に、MLモデルは、画像を処理し、既知のタイプ(複数も可)のオブジェクト(複数も可)のいずれがカメラの視野内にあるかを予想してもよい。
【0020】
いくつかの実装において、ドリフト修正を用いて、ユーザが以前にマップした領域をナビゲートする際に手動再校正手順を回避または減少させたり、ARユーザが適切な追跡精度でナビゲートできる領域を増大させたりしてもよい。斯かる実装において、MLモデルにより予想されるオブジェクトタイプ(複数も可)は、ユーザが自分の視野内で見ているオブジェクトに対応するユニークなノード(例えば、タグ名など)を識別するため、バックエンドデータベース内の1つ以上のノードと相互参照されてもよい。次に、以前にマップされた特定ノード(複数も可)の位置をバックエンドデータベースから検索し、環境内のユーザの位置を自動的に再校正するため、ARシステムがそれを使用してもよい。実際、マップされた各オブジェクトは、それ自体ある種のランドマークとして(例えば、ランドマークの「メッシュ」ネットワークの一部として)機能できる。その結果得られる向上した位置精度により、ユーザがナビゲートを継続する際に、ユーザの視野内に更に適切/正確なセットまたは順番のAR視覚化が可能となる。任意に、ARモバイル機器のカメラが撮像した視覚情報をバックエンドデータベースに記憶された既知のオブジェクトタイプ情報と共に(および/またはマッピングユーザが行った手動オブジェクト分類および確認と共に)経時的に使用して、MLモデルの機能を更に訓練および精錬し、オブジェクトタイプを正確に認識するようにしてもよい。
【0021】
あるいは、またはそれに加えて、MLモデルを用いて3Dマップの最初の作成を簡便化したり、および/または(バックエンドサーバーに表示される)3Dマップを経時的に更新したりして、正確度を更に高めてもよい。例えば、MLモデルが行った予想を用いて、(例えば、ユーザのARディスプレイのリストに現れるオブジェクトデスクリプタまたは候補オブジェクトデスクリプタを提供することにより、あるいは予想されたオブジェクトタイプなどをデスクリプタフィールドに自動的に入力することにより)ユーザが3Dマップに加える特定のオブジェクト/ノードを標識/分類する方法について、1つ以上の提案をマッピングユーザに提供してもよい。別の例として、既にマップされた環境をナビゲートする何人かのユーザの追跡位置を使用することにより、(例えば、MLモデルが、マップデータベースに記憶された特定のオブジェクトの位置とは僅かに異なる位置に当該オブジェクトを認識する場合などに)継続的に、マップされたオブジェクト/ノードを自動的に更新してもよい。
【0022】
いくつかの他の特徴が同様にユーザに提供されてもよい。いくつかの実装において、例えば、超現実的または疑似現実的3Dモデル視覚化を行うことにより、「透視能力」をユーザに提供してもよく、その場合、それがユーザの実際世界の視界に重ね合わされると、ユーザには、エンクロージャ(例えば、キャビネット内)に隠されたオブジェクトを見ているように見える。ARモバイル装置は、隠れたオブジェクトに関連付けられた特定のノード経験、例えば、隠れたオブジェクトに関連付けられた状況データまたは警報の閲覧、隠れたオブジェクトの操作を制御する音声コマンドの発声などをユーザに提供してもよい(および/またはそれをユーザに選択させてもよい)。
【0023】
別の例として、ARモバイル機器は、ユーザの実際世界の視界に制限されたアクセスおよび/または遠隔のオブジェクト/ノードの「アバター」を重ね合わせてもよい。斯かるオブジェクトは、例えば、高い塔の上、有毒地域、高電圧地域などであってもよい。隠れたオブジェクトに関しては、制限されたアクセスおよび/または遠隔のオブジェクトとの種々の相互作用を提供するノード経験がユーザに提供されてもよい。隠れたオブジェクト(「透視能力」)および制限されたアクセス/遠隔のオブジェクトの実施/シナリオの両方において、ユーザが当該オブジェクトと相互作用する間に、オブジェクト/ノードがユーザの目の前に明らかに存在するのと同様な全体的経験をユーザに提供してもよい。
【0024】
他のタイプの機能性もARプラットフォームによって支持されてもよい。例えば、ユーザの現在位置は、種々の警報(例えば、ユーザが危険地域にいるという警告)および/または他の情報のディスプレイをトリガしてもよい。別の例では、処理プラント内のユーザの現在および/または歴史的3D位置が、種々の目的、例えば、緊急事態における従業員の避難の保証、従業員が怪我していないまたは医療扶助を必要としていないことの保証、特定の従業員の訓練の監視などのために追跡/記録されてもよい。
【0025】
上述のARプラットフォーム並びに更に以下に記載されるARプラットフォームは、特定の実施次第ではあるが、数多くの利点を提供する。特定のオブジェクトの相対的3D位置だけをマップすることにより、通常の手段(例えば、環境をマップするのに3Dスキャナを用いる方法)よりも容易かつ効率的に3Dモデルを作成できる。同様に、プロセス制御環境内のオブジェクトの更新または再構成も更に迅速かつ容易に実行できる。更に、本明細書記載のマッピングプロセスを用い、本明細書記載のようにARモバイル機器/ユーザの動きを追跡することにより、ARプラットフォームは、オブジェクトに短距離通信技術(例えば、Bluetooth(登録商標)または近距離通信(NFC)装置)を後付けしたり装備したりする経費および/または時間を必要とすることなく、並びにユーザが環境をナビゲートする(例えば、オブジェクトのQRコード(登録商標)のスキャンニング、オブジェクト識別子の手動データ記入、オブジェクトへの物理的な接続など)ための時間消費を必要とすることなく、拡張情報をユーザにいつ提供するかを決定できる。従って、ARシステムの配置に関係する従来の障壁、特にプロセス制御環境における障壁が減少または除去できる。
【0026】
別の例として、ARプラットフォームは、一般的に、第三者が、オブジェクト/ノードとユーザとの異なる相互関係に対応する新規なカスタマイズされたタイプまたはクラスの「ノード経験」をオファーできる市場、および/または既存のノード経験に新しいコンテンツをオファーできる市場を提供するものである。例えば、測定装置ベンダーまたは他の実体が、特定のオブジェクトに関する「ヘルプ」情報、あるいはARまたはビデオベースの作業指示への購読を提供する。いくつかの実施形態においては、仮想「アプリケーションストア」により、顧客は種々のアプリケーションをライセンス許諾できるし、および/または顧客のモバイル労働力にとって望ましい特定のタイプのコンテンツへの購読が可能となる。
【0027】
更に、不明確なノード、遠隔のノード、および/またはアクセス制限ノードに関する拡張情報のディスプレイ/閲覧を簡便化する特徴によりユーザの時間が節約されるし、危険地域を訪れる必要性を回避することにより労働者の安全性が改善される。
【0028】
更に、ARプラットフォームのアーキテクチャは極めて可撓性に富んでいる。ARプラットフォームは、種々の異なるプラットフォーム、例えば、スマートヘルメット、スマートゴーグル、スマートフォン、タブレットなどにおいて、関連情報のディスプレイを簡便化する。ARプラットフォームは、数多くの他のソフトウェアアプリケーション(制御論理、装置の読み取りなどを示すデータを検索可能なプロセス制御ソフトウェアなど)との相互関連性も簡便化するし、および/または新しい経験、コンテンツ、または他の機能が容易に提供できるようにもなる。
【0029】
更に、上述の学習ベースのオブジェクト認識技術は、更に正確なAR経験の表示を可能にするため、正確性の膨大な損失なしにユーザがローミングする領域を増大するため、ランドマークで「チェックイン」する必要性を防止または減少させるため、オブジェクトが充満した環境のマップ作成を簡便化および/または迅速化するため、および/またはオブジェクトが充満した環境の既存のマップの正確性を更新または増大するために使用されてもよい。
【0030】
上述のように、本明細書記載のいくつかの実装および/または特徴は、ARシステムで使用される必要がないし、および/またはプロセス制御環境で使用される必要もない。例えば、スマートフォン、タブレット、または他のモバイル機器を有するユーザには、(例えば、仮想現実ディスプレイまたは単純にGUIを用いて)ARディスプレイとして斯かる経験を必ずしも提供することなく、プラント内のマップされたオブジェクトの3D位置、ユーザの現在の位置、および方位に基づいて「ノード経験」が提供されてもよい。別の例として、本明細書記載の技術は、プロセス制御環境以外の環境、例えばオフィス空間、倉庫、病院などに適用されてもよい。
【図面の簡単な説明】
【0031】
【
図1】
図1は、例示的拡張現実(AR)システムを示すブロック図であり、該システムは、本明細書記載の種々の方法、技術、機能、および/または特徴を支持するARプラットフォームを提供するものである。
【
図2】
図2は、
図1のARシステムを用いる例示的プロセス制御環境のコンポーネントを示すブロック図である。
【
図3】
図3は、プロセス制御環境におけるノードの例示的三次元(3D)マップを示す。
【
図4A】
図4Aは、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図4B】
図4Bは、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図4C】
図4Cは、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図4D】
図4Dは、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図4E】
図4Eは、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図4F】
図4Fは、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図4G】
図4Gは、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図4H】
図4Hは、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図5A】
図5Aは、ARプラットフォームで使用されるデータベースの例示的要素を示す。
【
図5B】
図5Bは、ARプラットフォームで使用されるデータベースの例示的要素を示す。
【
図6】
図6は、ARモバイル機器のユーザに仮想透視能力が提供されている例示的実施形態およびシナリオを示す。
【
図7A】
図7Aは、ユーザと、ユーザから遠くにあるまたはアクセスが難しいオブジェクトとの間の仮想近接性を提供するため、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図7B】
図7Bは、ユーザと、ユーザから遠くにあるまたはアクセスが難しいオブジェクトとの間の仮想近接性を提供するため、ARモバイル機器が提供する視野に重ね合わされる例示的ユーザインターフェースを示す。
【
図8】
図8は、モバイル機器を用いて、実際世界のプロセス制御環境をマップするための例示的方法を示すフロー図である。
【
図9】
図9は、実際世界のプロセス制御環境において、ARモバイル機器のユーザへ向上した仮想視覚を提供するための例示的方法のフロー図である。
【
図10】
図10は、ARモバイル機器のユーザと、プロセス制御環境の遠隔領域またはアクセス制限領域との間の相互関係を簡便化するための例示的方法のフロー図である。
【
図11】
図11は、実際世界のマップされた環境をナビゲートしているユーザへ提供される、AR情報の正確性を増大させるための例示的方法のフロー図である。
【
図12】
図12は、実際世界のプロセス制御環境のマップの作成を簡便化するための例示的方法のフロー図である。
【
図13】
図13は、実際世界のマップされた環境においてノード位置を更新するための例示的方法のフロー図である。
【発明を実施するための形態】
【0032】
(例示的仮想現実システム)
図1は、環境(例えば、プロセス制御環境)でAR経験を提供するためのARプラットフォームを一般的に提供する、例示的拡張現実(AR)システム10を示す。ARシステム10は、ユーザのARモバイル機器12と、ネットワーク16を通してARモバイル機器12に通信可能に連結されているバックエンドサーバー14とを含んでいる。ARモバイルシステム12は、適切な処理および検知機能を有し、ユーザが着用または持ち運びできる任意の計算装置であってよい。例えば、ARモバイル装置12は、ARヘルメット(例えば、DAQRI(登録商標)が開発したスマートヘルメット(登録商標))、ARゴーグルなど、AR用に特別に構成された装置であってよい。あるいは、ARモバイル機器12は、非ARアプリケーション(例えば、タブレット、スマートフォン、スマート眼鏡、スマート時計など)を有し、AR機能を持つように装置12を構成したソフトウェアアプリケーションを実行する装置であってもよい。
図1はARモバイル機器12を1つだけ示しているが、ARモバイル機器12と同一またはそれとは異なる多くのARモバイル機器が同様にARシステム10で使用できることは理解されている。
【0033】
ARモバイル機器12は、ユーザの実際世界の視界をコンテキスト情報(例えば、テキスト、図形、アニメなど)で拡張することにより、AR経験をユーザに提供するように構成されている。バックエンドサーバー14は、一般的に、AR機器および/またはユーザの現在の状況および/または環境を示すデータをARモバイル機器から受信し、必要に応じてデータをARモバイル機器へ提供することにより、特定の状況下で、ユーザの実際世界の視界をどのように拡張すべきかを特定したデータの管理を行い、それにより、ユーザおよび他のARモバイル機器のユーザ用にAR経験をサポートするものである。
【0034】
ネットワーク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を含んでいてもよい。
【0035】
図1の例示的実施形態に示されるように、ARモバイル機器12は、ネットワークインターフェース20、ディスプレイ22、カメラ24、慣性測定装置(IMU)26、およびARアプリケーション32を記憶するメモリ30を有していてもよい。ネットワークインターフェース20は、ネットワーク16(例えば、WiFiまたは携帯電話ネットワーク)の少なくとも一部の無線通信プロトコルを用いて、遠隔計算装置及びシステム(バックエンドサーバー14を含む)との通信を可能にするように構成されている。
【0036】
ディスプレイ22は、任意の適切なタイプのデジタルディスプレイ技術に従って構成されるハードウェアおよび関連ファームウェア、および/またはソフトウェアを含んでもよい。例えば、ディスプレイ22は、液晶ディスプレイ(LCD)技術、発光ダイオード(LED)技術、有機発光ダイオード(OLED)技術などを利用してもよい。ディスプレイ22は、一般的に、透明であってもよいし、半透明であってもよいし、不透明であってもよい。ディスプレイ22の構造または形態要因、並びにディスプレイが透明/半透明または不透明であるか否かは、一般的に、ARモバイル機器12のタイプに依存する。例えば、ARモバイル機器12がヘルメットの場合、ディスプレイ22はバイザの形態を有し透明なので、ディスプレイ22で表示される情報はいずれも、ユーザの実際世界の直接の視界に重ね合わされる(すなわち、「ヘッドアップディスプレイ」すなわち「HUD」)。反対に、ARモバイル機器12がタブレットまたはスマートフォンの場合、ディスプレイ22は従来の長方形の形態要因を有し、(例えば、カメラ24で撮像されるような)実際世界の間接的な視界のみが可能である。
【0037】
カメラ24は、任意の適切なタイプの光学センサ、例えば、電荷結合素子(CCD)画像センサなどであってよい。代替実施形態においては、カメラ24は、異なるタイプの撮像装置、例えば光検出距離計測(ライダー)センサ、レーダーセンサ等であってもよいし、あるいはそれらを有していてもよい。IMU26は、三次元的にARモバイル機器12の動きを示すデータを生成する1つ以上のセンサ(例えば、加速度計および/またはジャイロスコープ)を有していてもよい。
図1には示されてないが、ARモバイル機器は、マイクロフォンおよび/またはスピーカーなどの他のコンポーネントを有していてもよい。
【0038】
ARアプリケーション32を記憶するメモリ30は、任意の適切なタイプの持続性メモリ、例えばソリッドステートの読み取り専用メモリ(ROM)、ハードドライブ形態などであってよい。ARアプリケーション32は、一般的に、例えば、ディスプレイ22上に適切な拡張情報を生成し、必要に応じてバックエンドサーバー14と通信することにより、ARモバイル機器12のユーザのためにAR経験を調整するものである。
図1は、ARアプリケーション32が実行または提供する例示的機能または特徴に対応する一組のモジュール(役割識別モジュール40、登録モジュール42、位置確認および方位付けモジュール44、ノード経験モジュール46、ノード生成モジュール48、視界強化モジュール50、および位置ベースの警報モジュール52を含む)を示す。モジュール40~52の各々は、ARシステム10の操作との関連で以下に更に記載される。いくつかの実施形態においては、ARアプリケーション32は、
図1に示されるモジュールよりも少ない、あるいはそれ以上、および/または異なるモジュールを含む。例えば、ARアプリケーション32は、ユーザの音声コマンドを認識するための音声認識モジュールを含んでいてもよい。
【0039】
更に、
図1の例示的実施形態において、バックエンドサーバー14は、ウェブサービスインターフェース60、経験プロビジョニング装置62、3Dモデル生成装置64、機械学習(ML)モデル65、視界強化装置66、警報生成装置68、およびユーザモニタリング装置70を含む。一般的に、ウェブサービスインターフェース60は、オブジェクト指向ウェブベースインターフェースを、バックエンドサーバー14に接続された(またはその中に含まれる)ARデータベース72へ提供してもよい。訓練データ74も、バックエンドサーバー14に接続された(またはその中に含まれる)データベースに記憶させてもよい。いくつかの実施形態では、ウェブサービスインターフェース60は、遠隔装置(ARモバイル機器12など)にアプリケーションプログラミングインターフェース(API)を提供する。
【0040】
ARデータベース72は、一般的に、(例えば、ノード識別子、ランドマークと比較した3Dマップ内のノード場所、およびノードと関連付けられた他の情報などにより)特定の環境の3Dマップを画定する情報を記憶するものであり、
図5Aおよび5Bとの関連で(特定の実施形態に従って)以下に更に記載される。ARデータベース72は、単一のデータベースであってもよいし、データベースの集合体であってもよいし、単一の物理的メモリに記憶させていてもよいし、1つ以上の地理的場所に存在する複数のメモリに分散させていてもよい。同様に、訓練データ74も、単一のデータベースに記憶させていてもよいし、データベースの集合体に記憶させていてもよいし、単一の物理的メモリに記憶させてもよいし、1つ以上の地理的場所に存在する複数のメモリに分散させていてもよい。要素/装置60~70の1つ、いくつか、または全てが、持続性メモリ(例えば、ROM)に記憶されたソフトウェア指示として実施されてもよい。他の実施形態では、バックエンドサーバー14は、
図1に示されている要素/装置よりも少ない、あるいはそれよりも多い、および/または異なる要素/装置を含んでいる。
【0041】
操作の段階において、ARモバイル機器12を着用するまたは持ち運ぶユーザは、ARモバイル機器12を用いてARアプリケーション32を開始してもよい。ARアプリケーション32は、例えば、手動でディスプレイ22上のアイコンを選択したり、音声コマンドを発したり、あるいは単純にARモバイル機器12を起動したりして開始してもよい。
【0042】
いくつかの実施形態において、ARアプリケーション32の役割識別モジュール40は、最初(例えば、開示時に)特定の「役割」を示すようにユーザに指示するが、その場合、その役割はユーザの職務位置に対応していてもよいし、および/または例えばユーザがARシステム10を用いて達成しようとしている特定のタスク(複数も可)に対応していてもよい。他の実施形態において、ユーザは、後に(例えば、以下に考察されるように、ランドマークで登録した後)自分の役割を示すように最初に指示される。役割識別モジュール40がディスプレイ22上で、またはそれを通して見られる実際世界の視界上(例えば、カメラ24が撮像した画像フレーム上、またはユーザの実際世界における直接の視界上)に重ね合わされる1つの例示的ユーザインターフェースが、
図4Aとの関連で以下に考察される。代替実施形態において、役割識別モジュール40は役割を選択するようにユーザに指示せず、代わりにARモバイル機器12の識別子および/またはユーザが記入した、または音声による身分証明(例えば、名前、従業員番号など)に基づいて、予め割り当てられたユーザの役割を決定する。
【0043】
選択されたまたは割り当てられたユーザの役割は、以下に更に考察されるように、ユーザへ提供されるAR経験の種々の態様を条件付けてもよい。実施形態次第ではあるが、ユーザの役割は一旦選択または割り当てられたら固定されてもよいし、あるいは環境を移動するに伴って急いで変更されてもよい。いくつかの実施形態では、役割識別モジュール40はARアプリケーション32には含まれておらず、ARシステム10内ではユーザの役割は一切選択も割り当ても行われない。
【0044】
いくつかの実施形態において、環境をマッピングする前に、あるいは以前にマップした環境を更新または調査する前に、ユーザは「ランドマーク」においてARモバイル機器12を登録する必要があるが、その場合、ランドマークの場所は、ARモバイル機器12(および同様にユーザ)の将来の動きの参照点として使用される。同じランドマーク場所が、3Dマップのノードとして既に確立されている(または確立される)環境の任意のオブジェクトの場所の参照点として使用され、それにより、マップされた任意のオブジェクトに対するARモバイル機器12の位置の決定が可能となる。ランドマーク場所は、例えば、(x、y、z)座標システムの(0、0、0)を表示してもよいし、他の座標システム(例えば、極座標)が使用されてもよい。いくつかの実施形態では、環境に物理的にアクセスするには、ランドマークの登録が必要である。例えば、プロセス制御環境への施錠されたドアまたは門は、ユーザがランドマークでARモバイル機器12を登録した場合に、それに応答して自動的に鍵が外されるようにしてもよい。ARモバイル機器12は、例えば、近距離通信機(例えば、Bluetooth(登録商標))、またはトランシーバを有する固定装置(壁に取り付けられた装置)へメッセージを送信するための他の適切な技術を利用してもよく、その場合、固定装置は、アクチュエータによってドアまたは門の鍵が外される(および/または開けられる)ためのコマンドを生成してもよい。
【0045】
ARモバイル機器12を登録するため、登録モジュール42は、カメラ24が撮像した1つ以上の画像/フレームを処理してもよい。ランドマークはQRコード(登録商標)であってもよいし、あるいは、例えば、ランドマーク場所(プロセス制御プラント内の領域への入り口近くの壁またはドア)に物理的に印刷した任意の他の適切なタイプの画像またはテキストであってもよい。いくつかの実施形態では、登録モジュール42またはARアプリケーション32の別の部分が、(
図4Eとの関連で以下に考察されるように)ユーザがQRコード(登録商標)、画像などに焦点を合わせるのをサポートするためにユーザへ提供される実際世界の視界内にレチクルを重ね合わせてもよい。いくつかの実施形態では、ランドマークを認識するのに使用される別の技術、例えば、ARモバイル機器12およびランドマーク場所に固定された別の装置の補助的なBluetooth(登録商標)またはNFC通信装置が使用される。
【0046】
いくつかの実施形態では、ユーザが特定のランドマークでARモバイル機器24を登録する場合、登録モジュール42は、(例えば、QRコード(登録商標)のバイナリ表現を送信することにより、あるいはQRコード(登録商標)の画像を、該画像を復号する前に送信することにより)ランドマークの識別子を示すデータを、ネットワーク16およびウェブサービスインターフェース60を通してバックエンドサーバー14へ送る。次に、バックエンドサーバー14は、ARデータベース72に記憶されているランドマーク識別子があれば、ランドマークの識別子をそれと比較する。識別子がまだ記憶されていない場合、バックエンドサーバー14は、ウェブサービスインターフェース60およびネットワーク16を通して、失敗メッセージを登録モジュールへ戻してもよく、あるいは、いくつかの実施形態においては、ARデータベースが、新しい3Dマップに関連する新しいランドマーク識別子エントリを作成してもよい。反対に、ランドマーク識別子がARデータベース72に既に存在する場合、バックエンドサーバー14は、ARモバイル機器12に利用可能な対応する3Dマップ(および関連データ)のいくつかまたは全てを作成し、ウェブサービスインターフェース60およびネットワーク16を通して、登録成功を示すメッセージを登録モジュール42に戻してもよい。
【0047】
ARデータベース72は、各々が異なる3Dマップ(各マップは異なるノードライブラリに関連付けられている)に関連付けられた複数の異なるランドマーク識別子を記憶してもよい。複数のマップは、(例えば、同じ環境内の異なるオブジェクトを異なるマップのノードとして追加することにより)同じ環境に関連付けられていてもよいし、および/または異なるマップが異なる環境に関連付けられていてもよい(例えば、プロセス制御プラントの第一領域のための1つのマップ、プラントの第二領域のための別のマップなど)。
【0048】
いくつかの実施形態においては、ランドマークにおけるARモバイル機器12の場所の登録成功により、位置確認および方位付けモジュール44が、ARモバイル機器12の場所をランドマーク場所に等しく設定する(例えば、(0、0、0))。しかし、更なる精確さのため、登録モジュール42は、深度センシング技術を用いて、ARモバイル機器12とランドマークとの間の距離を決定するため、カメラ24が撮像したランドマークの画像を処理してもよい。次に、位置確認および方位付けモジュール44は、決定されたランドマークからの距離およびランドマークに対するARモバイル機器12の方位の両方に基づいて、ランドマークの既知/参照位置からARモバイル機器12の開始位置をオフセットしてもよい。ランドマークがQRコード(登録商標)または他の視覚識別子の場合、ARモバイル機器12の相対的方位は、ランドマークが面する方向に基づいて推定されてもよい。あるいは、相対的方位は、(例えば、ランドマークに対するカメラ視界の入射角を決定することにより)撮像された画像から決定されてもよい。
【0049】
登録が済んだら、ARモバイル機器12のユーザは、一般的に、デジタルテキスト、表、図形、アニメ、および/またはランドマークに対応する3Dマップに関連付けられた他のタイプの情報で拡張される(すなわち、ディスプレイ22を通して提供される)実際世界の視界を用いて、環境を通して移動を開始してもよい。位置確認および方位付けモジュール44は、ユーザ(すなわちARモバイル機器12)の位置および方位を追跡するため、IMU26、カメラ24、および/または
図1に示されない1つ以上のARモバイル機器12の他のセンサにアクセスしてもよい。いくつかの実施形態においては、位置確認および方位付けモジュール44は、集められたセンサーデータを用いて、GPS、GNSS、WiFi位置確認(例えば、三辺測量)、またはARモバイル機器12と他の装置またはシステムとの間の通信リンクを要求する任意の他の位置確認技術なしに、位置および方位を決定する。「位置」または「場所」とは、3D座標システム(例えば、デカルト座標または極座標)における特定の組の座標を意味し、「方位」は、特定の方向(例えば、360度水平/方位範囲プラス高さ/緯度)を意味する。更に、いくつかの実施形態においては、「方位」は、機器12が面する方向とは独立に、ARモバイル機器12の傾きを意味する。相対位置だけが(例えば、推測航法的に)追跡されるので、位置確認および方位付けモジュール44は、登録が生じるランドマークの場所と比較したARモバイル機器/ユーザの位置を決定する。
【0050】
いくつかの実施形態では、少なくともカメラ24およびIMU26からのデータの融合を処理して、いずれかのタイプのセンサが単独で用いられる場合の欠点を克服する。例えば、位置確認および方位付けモジュール44は、ARモバイル機器12の位置および方位を追跡するのに、Qualcomm(登録商標)が開発したVIO(Vsal-Inertia Odometry)技術を利用してもよい。斯かる技術は、正確性を改善し、決定された位置における「ドリフト」を減少させ、および/または他の利点を有する。
【0051】
ARモバイル機器12に対するカメラ24の位置および方位は既知であるので、ARアプリケーション32は、位置確認および方位付けモジュール44によって決定される所定の位置および方位に関して、ARモバイル機器12の視野(これは、いくつかの実施形態では、ユーザの実際世界の視界に対応する)を決定できる。従って、ARアプリケーション32は、決定された位置および方位に基づき、3Dマップ用にARデータベース72に記憶されたノード場所を用いて、所定の時間において視野内に存在するマップされたオブジェクトを決定してもよい。いくつかの実施形態では、オブジェクトがカメラセンサの水平および垂直範囲内(例えば、特定の方位および垂直/緯度/高さ角度内)にあるならば、該オブジェクトと画像を撮像するARモバイル機器との間の距離には関係なく、並びにオブジェクトが環境内の障害物によってブロックされているか否かに関係なく、該オブジェクトはカメラの「視野内」にあると考えてよい。例えば、カメラ24のすぐ前にあるオブジェクトは、該オブジェクトがエンクロージャ、バリア、他のオブジェクトなどによって覆われていたとしても、カメラ24の「視野内にある」と考えてよい。他の実施形態においては、該オブジェクトが曖昧でない場合だけ、すなわちカメラがオブジェクトの画像を撮像できる場合だけ、該オブジェクトはカメラの「視野内」にあると考えてよい。
【0052】
マップされたオブジェクトの位置を決定するため、ARアプリケーション32は、ネットワーク16およびウェブサービスインターフェース60を通して、ARデータベース内のノード場所に定期的にアクセスしてもよい。例えば、ARアプリケーション32は、ARモバイル機器12の閾値距離内にある(および/または機器12の視野内にある)ノードに関する場所データを提供するように、バックエンドサーバー14に定期的に要求してもよく、その場合、ARモバイル機器12の現在位置(および/または方位)を示す要求を伴ってもよい。あるいは、ARアプリケーション32は、例えば登録時において、バックエンドサーバー14に、登録に使用されるランドマークに関連付けられた3Dマップに関する全ノード場所(および恐らくノード記述などの他の情報)を送信するように要求してもよい。更に他の実施形態において、バックエンドサーバー14は、ARモバイル機器12がランドマークの登録に成功したならば、関連するノード場所を全て自動的に送信してもよい。
【0053】
ARアプリケーション32は、ユーザの現在の視野において、1つまたは2つ以上のマップされたオブジェクト/ノードに拡張が提供されるべきか否か、あるいはマップされたオブジェクト/ノードにはいずれも拡張が提供されるべきでないかを決定してもよい。斯かる決定を行うため、ノード経験46は、1つ以上の基準を適用してもよい。いくつかの実施形態では、例えば、ノード経験モジュール46は、オブジェクトとユーザとの間の距離には関係なく、並びにオブジェクトが何らかの障害物によってユーザの視界からブロックされているか否かに関係なく、ユーザの現在の視野内にあるマップされたオブジェクト全てについて拡張が提供されるべきであると決定してもよい。あるいは、ノード経験モジュール46は、視野内にあるがユーザからは閾値距離以上離れている(これは、例えば、位置確認および方位付けモジュール44によって決定される現在のユーザ位置、並びにARデータベース72に記憶されている対応するノード場所から決定される)マップされたオブジェクトに関しては、拡張は提供されるべきではないと決定してもよい。
【0054】
更に、またはその代わりに、ノード経験モジュール46は、ARモバイル機器12の視野内にあるがブロックされていて見えないマップされたオブジェクトに関しては、拡張は提供されるべきではないと決定してもよい。マップされたオブジェクトが不明確であるか否かは、実施形態に従って、異なる方法で決定されてもよい。例えば、ARデータベース72のフィールドは、特定のノードが一般的に不明確なオブジェクトに対応するか否かを示してもよい。例えば、キャビネット内に置かれているコンポーネントに関しては、対応するノードは、コンポーネントとキャビネットとの間の関係を示すフィールドを有している。他の実施形態においては、ARアプリケーション32および/またはバックエンドサーバー14は、ノード構成、ノードタイプ、および/またはノードサイズに関する更に複雑な分析を行って、ユーザの現在の観点から見て、マップされた特定のオブジェクトが可視であるか否かを決定してもよい。
【0055】
いくつかの実施形態では、ユーザのために感覚過負荷の危険性を減少させるため、ユーザが何らかの特定の行動(ARモバイル機器12を単に動かしたり向きを変えたりする行動以上の行動)を取らない限り、所定のタイプのマップされたオブジェクトについては、拡張は提供されない。例えば、ノード経験モジュール46は、ユーザがアイコンまたはキャビネットの他の図形表示を選択しない限り、および/またはキャビネットの内容などを示すオプションを選択しない限り、キャビネット内の大多数の比較的小さいコンポーネント(各々マップされた異なるオブジェクトに対応する)に関しては拡張を提供しない。
【0056】
更に、いくつかの実施形態では、ノード経験モジュール46は、役割識別モジュール40によって決定されるユーザの役割に基づいて、ユーザの視野にある特定のマップされたオブジェクトに関して拡張が提供されるべきか否かを決定してもよい。従って、ノード経験モジュール46は、特にランドマークおよび選択された役割または割り当てられた役割の両方に関連付けられたノードに関して、ウェブサービスインターフェース60を調べてもよい。プロセス制御環境において、例えば、電力スイッチは、「保守者」の役割を有するユーザに関しては拡張されてもよいが、「オペレータ」の役割を有するユーザに関しては拡張されない。
【0057】
拡張されるべきオブジェクトに関して、ユーザの実際世界の視界におけるオブジェクトの座標(またはその近く)に位置するかのようにユーザには見えるディスプレイ22の領域に、ノード「マーカー」、例えばテキスト(例えば、装置識別子、状況および/または記述)および/またはアイコンまたは他の図形などを最初に重ね合わせてもよい。マーカーは、例えば、ディスプレイ22に与えられる線によって、実際世界の視界にあるマップされたオブジェクトに接続されているように見えてもよい。他の実施形態においては、マーカーは、オブジェクト上に与えられた円または他の形状、オブジェクトを大まかに囲む長方形の外形、または他のタイプの指標である。
【0058】
ユーザが(例えば、ノードマーカー上の仮想レチクルに焦点を合わせることにより、または音声コマンドを発することにより)特定のノードを選択する場合、ノード経験モジュール46は、ユーザに利用可能な1つ以上の「ノード経験」を作成してもよい。「ノード経験」は、マップされた環境を通して移動する適切に装備されたユーザの一般的な「AR経験」とは対照的に、ユーザとオブジェクト/ノードとの間の特定のタイプ(複数も可)の相互関係を意味する。ノード経験モジュール46は、例えば、実際世界の視界にメニューまたは他の双方向表示を重ね合わせることにより、および/またはユーザからの音声コマンドを認識するように構成されることにより、特定のノード経験を選択するオプションをユーザに提供してもよい。ユーザは、ノードマーカーを選択するのと同様の方法で(例えば、仮想レチクルをオプションに集中させる方法、音声コマンドなど)、または別の適切な方法で、メニューオプションを選択してもよい。
【0059】
特定のノード経験が選択される場合、ノード経験モジュール46は、ネットワーク16を通して、ウェブサービスインターフェース60へその選択を送る。それに応答して、経験プロビジョニング装置62は、選択されたノードおよび選択された経験に関連付けられたデータ(例えば、テキスト、図形など)をARデータベース72(および/または他の場所、例えばサーバー(複数も可)18)から検索し、ノード経験モジュール46がユーザの実際世界の視界をそれに従って拡張できるように、ウェブサービスインターフェース60を通してARモバイル機器12へその検索データを送り返す。
【0060】
ノード経験は比較的単純なものであってもよいし、複雑であってもよい。ノードマーカーそれ自体は、例えば、デフォルトの「ノード経験」と考えられてもよい。他の例として、ノード経験モジュール46は、他のテキストおよび/または表(すなわち対応するオブジェクトに関連する情報)を、ユーザの実際世界の視界(ディスプレイ22を通して)、オブジェクトの単純な図形またはアイコン、オブジェクトの超現実的または疑似現実的3Dモデル、オブジェクトの画像、オブジェクトを含むアニメ(回転するオブジェクトの3Dモデル)上に重ね合わせてもよい。
【0061】
更に、またはその代わりに、ノード経験は他のタイプの双方向性を含んでいてもよい。例えば、ノード経験モジュール46は、オブジェクトおよび/または環境内(例えば、特定のプロセス制御ルーチン内)のその操作のチュートリアルを提供するビデオへのリンク(例えば、URL)、オブジェクトに関連する作業命令へのリンク、または遠隔専門家へのリンクを重ね合わせてもよい。あるいは、またはそれに加えて、ユーザは、斯かるノード経験のいくつかまたは全てに関して音声コマンドを発してもよい。ビデオまたは作業命令などのコンテンツが選択または呼び出される実施形態においては、ノード経験モジュール46は、コンテンツをユーザの実際世界の視界上に重ね合わせてもよい。もし、遠隔専門家または他の人が選択または呼び出された場合、ノード経験モジュール46は、ネットワークインターフェース20または別の適切なネットワークインターフェースを用いて、(例えば、ネットワーク16を通して)その人との通信リンクを確立してもよいし、いくつかの実施形態においては、通信が終わるまで、その人の静止画またはビデオを重ね合わせてもよい。
【0062】
他のノード経験は、選択されたオブジェクト/ノードと他のオブジェクト/ノードとの間の特定のタイプの関係を列挙および/または図形的に表示してもよい。例えば、1つのノード経験に関しては、ノード経験モジュール46は、選択されたオブジェクト/ノード(例えば、親および/または子オブジェクト/ノード)に関連するオブジェクト/ノードのリストをユーザの実際世界の視界へ重ね合わせてもよい。「関係」と言う用語は望ましい任意の方法で定義されてもよいし、新しいノードを追加する場合にユーザが手動で設定してもよいし、別の適切な方法で設定してもよい。例えば、いくつかの関係は、オブジェクトが別のオブジェクトのコンポーネントであるか否か、および/またはそれ自体いくつかのコンポーネントを含んでいるか否かを意味していてもよい。例えば、弁は、一群のノード(各ノードがその弁のコンポーネントに対応する)の親であるノードに対応していてもよい。
【0063】
ノード経験モジュール46は、ウェブサービスインターフェース60を通して経験プロビジョニング装置62を調べることにより関係を決定してもよく、その場合、経験プロビジョニング装置62は、関連ノードの識別子をARデータベース72から受信し、斯かるノードの表示をノード経験モジュール46へ提供してもよい。デフォルトとして、(例えば、ノードまたは特定のオプションがユーザによって特別に選択されない限り)個々の弁コンポーネントの全てに関してノードマーカーおよび/またはノード経験を示さないことにより、ユーザは、膨大な量の可視情報を受信する負担がなくなる。
【0064】
ある種の関係はユーザに図形表示されてもよい。例えば、ノード経験モジュール46は、選択されたノードに対応するオブジェクトと、他のノードに対応する1つ以上の他のオブジェクトとの間の物理的または論理的接続を図形表示してもよい。ノード経験モジュール46は、ウェブサービスインターフェース60を通して経験プロビジョニング装置62を調べることにより接続を決定してもよく、その場合、経験プロビジョニング装置62は、接続ノードの識別子をARデータベース72から受信し、斯かるノードの表示をノード経験モジュール46へ提供してもよい。次に、ノード経験モジュール46は、適切なオブジェクトを接続する線を示す表示を生成し、斯かる線をユーザの実際世界の視界に重ね合わせてもよい。斯かるノード経験の1例が、以下に考察される
図4Hに提供される。
【0065】
図示されている接続および/または他の関係は、選択された、または割り当てられたユーザの役割に基づいて様々であってもよい。例えば、プロセス制御環境において、「オペレータ」には、センサ/トランスミッタ装置からタンクへの線が示されてもよく、その場合、線は、センサ/トランスミッタがタンクの圧力を測定することを表示している。反対に、「エンジニア」には、代わりに(または加えて)、センサ/トランスミッタからセンサの送信を受信する別の装置への線が示され、「保守者」は、代わりに(または加えて)、(例えば、装置の保守点検、修理、または取り替えの前に、電力のどこを停止すれば良いかが容易に分かるように)センサ/トランスミッタから装置の電源への線が示されていてもよい。
【0066】
いくつかの実施形態においては、経験プロビジョニング装置62は、1つ以上のノード経験を提供するため、他のサーバー(複数も可)18および/またはアプリケーション(複数も可)19からのデータおよび/または機能性を利用するものであり、および/または1つ以上のアプリケーション19は、経験プロビジョニング装置62から送信されるデータに応答して開始されてもよい。プロセス制御環境における、斯かる実施形態のいくつかの例が、
図2との関連で以下に考察される。
【0067】
上述の如く、ノード経験モジュール46は、選択された、または割り当てられたユーザの役割に基づいて、マップされた特定のオブジェクトに関する実際世界のユーザの視界を拡張すべきか否かを決定してもよい。加えて、または代替的に、ノード経験のタイプ、および/または特定の経験が提供するコンテンツまたは双方向性は、ユーザの役割に基づいて様々であってよい。例えば、「保守者」の役割を有しており実際世界の視界にポンプを有しているユーザには、予定されたポンプの保守点検リマインダが提供されてもよく、「オペレータ」または「エンジニア」の役割を有するユーザには、代わりに、プロセス制御ルーチン内のポンプの論理的接続に関する情報が提供されてもよい。予定された保守点検の期限が過ぎている場合に保守者に警報が示され、その他のシナリオ(例えば、ポンプの故障の場合)にのみ、オペレータまたはエンジニアに警報が示されるようにしてもよい。
【0068】
ノード生成モジュール48は、ARモバイル機器12を登録するのに使用されるランドマークに対応する3Dマップ内に、新しいノードを追加するのをサポートする。いくつかの実施形態では、どのユーザでも3Dマップに新しいノードを追加できる。他の実施形態において、新しいノードを追加するのに、特定のユーザ役割および/または特定のAR機器だけが使用できる。新しいノードを追加するため、ユーザは、ARモバイル機器12の視野をマップ対象の実際世界のオブジェクトに向け、新しいノードとしてそのオブジェクトを追加するオプションを選択してもよい。
【0069】
これは、実施形態次第であるが、様々な方法で達成される。例えば、ユーザは、重ね合わせメニューアイテム(例えば、仮想「ノードの追加」ボタン)を選択してもよいし、音声コマンドを発してもよく、ノード作成モジュール48は、それに応答してユーザの実際世界の視界にレチクルを重ね合わせてもよい。ユーザは、オブジェクトにレチクルを向けながら、別の制御(例えば、仮想「確認」ボタン)を起動したり、第二音声コマンドを発したりしてもよい。それに応答して、ノード作成モジュール48はオブジェクトの位置を決定し、ノード名および/または記述を記入するようにユーザへ促してもよい。次に、ノード作成モジュール48は、位置、記入名または音声名などをネットワーク16を通してウェブサービスインターフェース60へ送信してもよく、3Dモデル生成装置64は、少なくとも位置およびノード識別子(例えば、ユーザが記入したまたは発したノード名)をARデータベース72へ追加してもよい。
【0070】
ノード作成モジュール48は、マップされているオブジェクトの位置を決定するため、ARモバイル機器12の現在位置(位置確認および方位付けモジュール44により決定される)を利用し、ARモバイル機器12とオブジェクトとの間の距離およびARモバイル機器12の方位の両方に基づいて、その位置をオフセットしてもよい。これは、上述したように、ランドマークで登録する場合に、ARモバイル機器12の最初の3D位置を決定するのと同様な方法で達成されてもよい。例えば、ノード作成モジュール48は、深度センシング技術を用いて、カメラ24で撮像されたオブジェクトの画像を処理し、ARモバイル機器12とオブジェクトとの間の距離を決定してもよい。次に、位置確認および方位付けモジュール44は、決定された距離およびARモバイル機器12の方位の両方に基づいて(例えば、距離、およびオブジェクトの画像が得られた時にARモバイル機器12の視野が面する方向に基づいて)、ARモバイル機器12の位置からオブジェクトの位置をオフセットしてもよい。
【0071】
いくつかの実施形態において、ノード作成モジュール48は既存のノードを更新/修正するのに使用されてもよい。例えば、ノード経験モジュール46が提供するメニューは、ノード情報を更新するためのオプションを含んでいてもよい。それが選択されたら、ノード作成モジュール48は、ノードに関する情報(例えば、ノード名、ノード記述など)をユーザが変更できるようにするため、1つ以上のメニューまたは他のユーザインターフェースをユーザの実際世界の視界に重ね合わせてもよい。いずれの変更もネットワーク16を通してウェブサービスインターフェース60へ送信されてもよく、3Dモデル生成装置64は、それに従ってARデータベース72を更新してもよい。
【0072】
いくつかの実施形態において、ARアプリケーション32は、上述の拡張機能を超えてユーザの仮想視覚を向上させるように、ARモバイル機器12を構成してもよい。例えば、あるタイプのノードに関して、視界強化モジュール50は、(ノード経験モジュール46に関して上述されたように)マップされたオブジェクトはユーザの現在の視野によって撮像された領域内にあるが、1つ以上の他のオブジェクトによって不明確になっている場合を決定し、仮想「透視能力」をユーザへ提供してもよい。仮想透視能力は、1つ以上の他の基準が確立された場合に(例えば、視界強化モジュール50が、隠れたオブジェクトがARモバイル機器12の閾値距離内にあると決定した場合に)だけ提供されてもよいし、あるいは他の任意の基準の如何に拘わらず提供されてもよい。
【0073】
1つの斯かる実施形態において、ARデータベース72は、ノードエントリの少なくともいくつかの各々に関して、ノードはユーザの視界から隠されている可能性があることを示すフラッグまたは他の可視性指標を含んでいる。斯かる可視性指標は、オブジェクトの既知の関係に基づいて自動的に生成されているかもしれない(例えば、3Dモデル生成装置64が制御システムにアクセスして、ノードに対応するオブジェクトがキャビネット内に位置していることを知る場合など)し、あるいはユーザによって手動で設定されているかもしれない(ノード作成モジュール48がユーザの実際世界の視界に重ね合わせるユーザインターフェースを通して、ノードを追加する場合など)。マップされた特定のオブジェクトがユーザの視野内にある場合、視界強化モジュール50は、ネットワーク16およびウェブサービスインターフェース60を通して、バックエンドサーバー14の視界強化装置66を調べ、その後、視界強化装置66が、ARデータベース72にアクセスし、関連する可視性指標を検索する。次に、視界強化装置66g、ウェブサービスインターフェース60を用いて、可視性指標またはオブジェクトが不明確であるか否かを示す他のデータを視界強化モジュール50へ送信する。
【0074】
あるいは、視界強化モジュール50および/または視界強化装置66は、別の方法で可視性決定を行ってもよい。例えば、特定のマップされたオブジェクトまたは一組のオブジェクトが、モデル番号、QRコード(登録商標)、または他の可視性指標で印されたキャビネットの内部にあるかもしれない。視界強化モジュール50は、カメラ24で撮像された可視性指標の画像を処理してキャビネットの識別子(例えば、ノード識別子)を決定し、ウェブサービスインターフェース60を通して視界強化装置66へ識別子を送信する。次に、視界強化装置66は、その識別子を用いて、キャビネット内にあるマップされたオブジェクト(例えば、フィールド装置、I/Oカードなど)がどれであるかを決定し、キャビネット内にあるオブジェクトが不明確であることを示すデータを送り返す。
【0075】
視界強化モジュール50は、所定のオブジェクトに仮想透視能力の効果を提供するため、オブジェクトの超現実的または疑似現実的2Dまたは3Dモデル、またはオブジェクトのデジタル画像またはビデオを検索し、そのモデル、画像、またはビデオをユーザの視野にあるオブジェクトに(またはオブジェクトの近くに)重ね合わせる。デフォルトにより、あるいはユーザによる2Dまたは3Dモデル選択への応答として、ノード経験モジュール46が可視メニューオプションまたは音声コマンド認識を提供することにより、ユーザは、上述したように、種々の経験を選択できるようになる。従って、ユーザは、直接自分の視野にある間に、実際世界のオブジェクトとの相互作用に非常に類似するように見えたり、「感じたり」するやり方で、隠されたオブジェクトと相互作用することができる。
【0076】
更に、またはその代わりに、視界強化モジュール50は、別の方法でもユーザの仮想視覚を強化してもよい。オブジェクトが、例えば、アクセス制限領域および/または危険領域(例えば、非常に高い場所、バリケードのある場所、高圧地帯、有毒地域など)、および/またはユーザから離れた場所にある場合、視界強化モジュール50は、そのオブジェクトを示す「アバター」を自分の視野に取り出してもよい。アバターは、透視能力の例で上述した2Dまたは3Dモデル、画像、ビデオなどと同じであってもよいし、いくつかの点で異なっていてもよい。実際、いくつかの実施形態においては、仮想透視能力は、実際世界のオブジェクトのアバターを呼び出すための複数の使用方法のうちの1つに過ぎない。
【0077】
アバターは、実施形態および/またはシナリオ次第で、様々な方法で呼び出されてもよい。いくつかの実施形態では、視界強化モジュール50は、特定の基準が満たされた場合に、まず、可視性指標をユーザの実際世界の視界に重ね合わせてもよく、その場合、可視性指標は、ユーザの実際世界の視界に対して、対応するオブジェクトの場所を示す何らかの表示を与える。例えば、可視性指標は、(1)ARモバイル機器12がオブジェクトの閾値距離内にあり、(2)制限アクセスオブジェクトとしてノードにフラグが設定された場合に、提示されてもよい。ARデータベース72は、(例えば、ノードがユーザによって追加された場合に手動で行われるユーザ入力に基づいて)斯かる状況を示すデータを記憶していてもよいし、あるいは(例えば、バックエンドサーバー14が「危険」地帯としてフラッグを設定した近くにオブジェクトがあることを視界強化装置66が決定する場合、あるいはオブジェクトの位置が、オブジェクトのz方向においてARモバイル機器12から少なくとも閾値距離にある場合、すなわち非常に異なる高さにある場合などに)斯かる状況が推論されてもよい。可視性指標はオブジェクトの方向を示す矢印、オブジェクトへ繋がる線、または場所を示す他の表示を含んでいてもよい。可視性指標の1例は、
図7Aとの関連で以下に考察される。ユーザが指標を選択した場合、あるいは別の適切な行為を行った場合(例えば、いくつかの実施形態において、ユーザが自分の視野を、オブジェクトを含むように変更した場合)、視界強化モジュール50は、ユーザの実際世界の視界にアバターを重ね合わせてもよい。
【0078】
他の実施形態では、オブジェクトの場所の指標は、それ自体でアバターを含んでいる(例えば、アバターと重なる、またはその近くにあるオブジェクト場所への矢印/ポインタを有する)。更に他の実施形態および/またはシナリオにおいて、視界強化モジュール50は、オブジェクトの場所の可視性指標を提示することなく、ユーザの視野上にアバターを重ね合わせる。例えば、視界強化モジュール50は、(例えば、音声コマンドを発したり、手動でデータを記入したりすることにより)対応するオブジェクトを要求または探索しているユーザへ応答して、または比較的遠くのオブジェクト(例えば、特定の閾値距離以上離れたオブジェクト)のためにノードマーカーを選択しているユーザに応答して、ユーザへアバターを提示してもよい。斯かる1つの実施形態において、アバターは即座に最大サイズで現れるものではない。例えば、視界強化モジュール50は、ユーザにはアバターがオブジェクト場所(例えば、ユーザのはるかに前方)からユーザのすぐ前の位置に移動するように見える視覚効果を作成してもよい。アバターは、サイズを拡張して、ユーザへ近づくような効果を出してもよい。
【0079】
ノード経験モジュール46は、(オブジェクトのアバターを示すのに加えて)オブジェクトのための特定のノード経験をユーザへ自動的に提供してもよいし、および/またはアバターが最初に提示された後、(例えば、音声コマンドを発したり、メニューオプションを選択したりして)ユーザが1つ以上のノード経験を選択できるようにしてもよい。例えば、上述のノード経験のうちの1つ以上が提供されてもよい。アバターに関連付けられている経験の1例が、
図7Bとの関連で以下に考察される。
【0080】
いくつかの実施形態においては、ARアプリケーション32は、ユーザの現在位置に基づいて、および/または特定の領域(例えば、警告に関連付けられた処理プラントの特定の領域)の現在の状況に基づいて、警報を発するようにARモバイル機器12を構成する。警報生成装置68は、例えば、(ウェブサービスインターフェース60を通して)位置確認および方位付けモジュール44によって報告される位置を1つ以上のジオフェンス領域の境界と比較することにより、ARモバイル機器12の現在位置が警報または警告の対象となっている領域にあるのか否かを定期的または連続的に決定してもよい。ユーザ/機器が警報に関連付けられている領域にある場合、警報生成装置68は、ウェブサービスインターフェース60を通して、警報指標を位置ベースの警報モジュール52へ送信し、位置ベースの警報モジュール52は、警報指標(例えば、テキストおよび/または図形)をユーザの実際世界の視界へ重ね合わせ、他の視覚効果(例えば、実際世界の視界の全体を含む赤色光または濃淡の点滅)を生成し、および/または(
図1には示されないARモバイル機器12のスピーカーを通して)音声警報をユーザへ提供してもよい。あるいは、またはそれに加えて、(例えば、オブジェクトが機能不全となり、保守点検を必要としている、あるいは回避されるべきである場合)警報生成装置68は、ARモバイル機器12の近接性に基づいて、警報指標をマップされた特定のオブジェクトへ送信してもよい。警報生成装置68は、選択された、または割り当てられたユーザの役割に基づいて、警報の発信を行ってもよい。
【0081】
いくつかの実施形態においては、バックエンドサーバー14は、マップされた環境におけるARモバイル機器(従ってユーザ)の3D位置をモニターしてもよい。斯かる目的のため、ユーザモニタリング装置70は、ウェブサービスインターフェース60を通して位置確認および方位付けモジュール44から受け取ったデータに基づいて、ARモバイル機器をランドマークで登録したユーザの現在位置および/または歴史的位置を記録してもよい。
【0082】
ユーザ位置モニタリングは、実施形態および/またはニーズに応じて、種々の目的で使用されてもよい。例えば、ユーザモニタリング装置70は、バックエンドサーバー14に連結された(
図1には示されない)ディスプレイまたは端末のユーザ位置をユーザへ示し、当該ディスプレイまたは端末のオペレータが、緊急の際に、従業員の場所を説明してもよいし、あるいはより典型的な状態では単純にユーザをモニターし、従業員が医療援助を必要としているか否かを決定してもよい。従業員の健康は、(例えば、脈拍、血圧、体温などを検出するため)ARモバイル機器12の1つ以上のセンサによって集められたバイオメトリックのデータなどの他のデータを用いてモニターされてもよい。更なる例として、例えば、プロトコル順守をモニターするためにマネジャーまたは人事部担当者によって使用される、あるいは場所特異的な「ヘルプ」情報をユーザへ提供するためにバックエンドサーバー14によって使用される従業員訓練ログに、従業員/ユーザ場所が追加されてもよい。更に他の実施形態および/またはシナリオにおいては、特定の人的モバイル資産の3D場所が、マップされた環境内に追跡されてもよい。例えば、バックエンドサーバー14の装置は、移動式反応装置、カート、フィールドサービストラック、および/または種々の目的のための他のオブジェクトの3D位置をモニターしてもよい。
【0083】
種々の実施形態において、MLモデル65は、ARプラットフォームを強化するのに使用される。MLモデル65は、訓練データ74を用いて、プロセス制御(または他の)環境内で予期される類のオブジェクトを認識するように訓練される。MLモデル65は、任意の適切なタイプの人工ニューラルネットワーク(例えば、リカレントニューラルネットワーク)であってよい。いくつかの実施形態においては、MLモデル65は、Apple(登録商標)製のCore ML(登録商標)モデルである、あるいは当該モデルを取り入れている。1つの代替実施形態においては、MLモデル65は異なる計算システムに含まれており、バックエンドサーバー14は、必要に応じてMLモデル65に遠隔地からアクセスする。更に別の実施形態では、MLモデル65は、(例えば、ウェブサービスインターフェース60を通して、バックエンドサーバー14からダウンロードされた後)ARモバイル機器12のメモリ30に記憶される。その場合、ARアプリケーション32によるMLモデル65の使用は、ARモバイル機器12とバックエンドサーバー14との間の通信を必要としない。
【0084】
訓練データ74は、環境内で通常遭遇する可能性のある種々の異なるオブジェクト(例えば、プロセス制御機器、フィールド装置、および/または他の資産)の画像を含んでいてもよく、その場合、各画像または各画像のサブセットは、画像(複数も可)のために、オブジェクトタイプのデスクリプタで標識されていてもよい。例えば、審査人が、異なるオブジェクトタイプのコレクションのために手動で画像にラベルを付してもよい。実施形態および/または撮像オブジェクト次第であるが、画像/オブジェクト当たりラベルは1つだけであってもよいし、画像/オブジェクト当たり複数のラベルがあってもよい。訓練データ74を用いてML65モデルを訓練するのに、任意の適切な教師付き学習技術が使用されてもよい。
図1には訓練データ74がARシステム10に含まれているように示してあるが、いくつかの実施形態では、MLモデル65は、ARシステム10からは完全に分離され遠く離れた場所にある計算システムを用いて訓練されたモデルのコピーであることは理解されている。
【0085】
1つの実施形態において、ARプラットフォームが訓練されたMLモデル65を用いることにより、マッピングのユーザは、3Dマップに追加されつつあるオブジェクトを更に容易に分類できるようになり、その結果、マップ作成および/またはマップ更新が簡便化される。例えば、ARモバイル機器12のユーザが、特定のオブジェクトにおいてディスプレイ22にレチクルを向け、コントロール(例えば、仮想「確認」ボタンまたは音声コマンド)を起動する場合、ノード作成モジュール48は、上述の機能に加えて、その地域で、または遠くからMLモデル65にアクセスし、現在レチクルと整列しているオブジェクトの分類項目を入手する。例えば、ノード作成モジュール48が、ネットワーク16を通して、撮像された画像(複数も可)をウェブサービスインターフェース60へ送信し、3Dモデル生成装置64が、MLモデル65を用いて画像(複数も可)を処理し(すなわち、画像(複数も可)を入力(複数も可)/特徴(複数も可)として使用し)、予想された分類項目をオブジェクト用に出力する。カメラ24は、ユーザによるコントロールの起動に応答して画像(複数も可)を撮像してもよいし、(例えば、カメラ24が1秒間にいくつものフレームを連続して撮像する場合には)通常の操作中に画像(複数も可)を単純に取得してもよい。
【0086】
次に、MLモデル65がバックエンドサーバー14に存在する場合には、バックエンドサーバー14は、(例えば、ウェブサービスインターフェース60およびネットワーク16を通して)ARモバイル機器12へ予想された分類項目を戻す。ARアプリケーション32が、(バックエンドサーバー14または地域の情報源から)予想された分類項目を取得したら、ノード作成モジュール48は、何らかの方法で、その分類項目をユーザへ提示してもよい。例えば、ノード作成モジュール48は、ディスプレイ22によって、予想された分類項目のテキスト表示(例えば、一般的なオブジェクトタイプ、特定のモデル番号など)をユーザの実際世界の視界に重ね合わせてもよく、ユーザは、(例えば、「確認」と述べることにより、あるいはその分類項目をデスクリプタフィールドへ記入することにより)オブジェクトを表示する新しいノード用のデスクリプタとしてその分類項目の適用を選択してもよい。次に、ノード作成モジュール48は、3Dモデル生成装置64を用いて、上述の方法で、ユーザが選択した(例えば、確認した)名前/デスクリプタおよび環境内の対応する場所を有するその新しいノードを追加してもよい。
【0087】
いくつかの実施形態および/またはシナリオにおいて、MLモデル65は、撮像オブジェクトについて2つ以上の候補タイプ/分類項目を出力し、ユーザには、オブジェクトデスクリプタを取り込む/記入するための2つ以上のそれぞれのオプションが提示される。例えば、オプションは、ユーザの実際世界の視界に重ね合わされるリストの形で、ディスプレイ22に提示されてもよい。MLモデル65は各出力分類項目用に信頼水準を出力してもよく、オプションは、例えば、ユーザへ提示された場合に、最も高い信頼水準から最も低い信頼水準までランク付け/順番付けされてもよい。固定閾値またはユーザが設定可能な閾値を用いて、最小信頼水準を設定してもよく、その場合、その閾値よりも低い信頼水準を有する候補オブジェクトタイプは、ユーザのディスプレイから除外されてもよい。
【0088】
あるいは、またはそれに加えて、ARプラットフォームは、訓練されたMLモデル65を用いて、以前にマップされた(または部分的にマップされた)環境をナビゲートするユーザのために、場所/位置確認の正確性を改善してもよい。上述したように、位置確認および方位付けモジュール44は、IMU26、カメラ24、および/またはARモバイル機器12の1つ以上の他のセンサを用いて、ARモバイル機器12が最初に登録された際のランドマークに対して、ユーザ/機器12の変化しつつある場所を追跡してもよい。しかし、VIOなどの最新の「推測航法」技術でさえ、センサおよび/またはセンサデータの処理により導入される小さいエラーの故に、ユーザが移動するにつれ、時間と共に、ある程度のドリフトが生じるものである。
【0089】
斯かるドリフトの少なくともいくらかを修正するため、位置確認および方位付けモジュール44は、ユーザが環境を移動するにつれて、カメラ24で取得した画像を(例えば、MLモデル65がバックエンドサーバー14に存在する場合には、ネットワーク16およびウェブサービスインターフェース60を通して)MLモデル65に入力してもよい。画像は、トリガ(例えば、ユーザコマンド)に応答して、定期的に(例えば、秒当たりのフレーム数で記録される、カメラデータのフレーム毎に)または他の適切な方法で、MLモデル65に提供されてもよい。斯かる実施形態および態様において、MLモデル65がオブジェクトタイプを認識するにあたり、オブジェクトはARモバイル機器12のレチクルに整列させる必要はない。すなわち、オブジェクトが所定の画像内に完全に位置しているならば十分である、あるいはオブジェクトの一部が所定の画像内に位置している場合でさえ十分である。
【0090】
その後、MLモデル65が画像内のオブジェクトのために予想タイプを出力したら、そのオブジェクトタイプを用いて、どのノードが撮像オブジェクトに対応するのか決定してもよい。例えば、バックエンドサーバー14のドリフト修正装置(
図1には示されない)またはARモバイル機器12が、(例えば、局所的に、またはARモバイル機器12から)予想オブジェクトタイプを受信し、(例えば、位置確認および方位付けモジュール44によって生成されるような)ARモバイル機器12の現在の推定場所および予想オブジェクトタイプの両方を用いて、その場所およびオブジェクトタイプに対応するARデータベース72内のノードを識別してもよい。例えば、ドリフト修正装置72は、(1)ARモバイル機器12の現在の推定位置に最も近く、および/またはその閾値距離内にある記憶された場所に関連付けられており、(2)予想されたオブジェクトタイプ/クラスに一致する記憶されたタイプ/クラスに関連付けられている、ARデータベース72の任意のノードは、撮像オブジェクトに対応していると決定してもよい。
【0091】
いくつかの実施形態において、位置確認および方位付けモジュール44によって(または当該モジュールによって生成されるデータを用いて)決定されるARモバイル機器12の現在の方位も、ノードの特定に使用される。例えば、ドリフト修正装置72は、(1)ARモバイル機器12の現在の推定位置に最も近く、および/またはその閾値距離内にある記憶された場所に関連付けられており、(2)現在、カメラ24の視野内にあると期待されており、(3)予想されたオブジェクトタイプ/クラスに一致する記憶されたタイプ/クラスに関連付けられている、ARデータベース72の任意のノードは、撮像オブジェクトに対応していると決定してもよい。
【0092】
対応するノードが識別されたら、ARデータベース72に記憶されているそのノードの場所を用いて、ユーザ/機器12の場所を修正または更新してもよい。例えば、ドリフト修正装置(バックエンドサーバー14に存在する場合)は、ウェブサービスインターフェース60およびネットワーク16を通して、検索したノード場所をARモバイル機器12へ送信してもよく、その後、位置確認および方位付けモジュール44がノード場所を用いてユーザ/機器12の場所を修正し、および/またはバックエンドサーバー14(例えば、経験プロビジョニング装置62および/またはユーザモニタリング装置70)がノード場所を用いて、バックエンドサーバー14に記憶されているユーザ/機器12の場所を修正してもよい。
【0093】
1つの実施形態において、ユーザ/機器12の場所は、単純に、ノード場所と同じものであるとしてリセットされる。しかし、斯かるアプローチは、ユーザと撮像オブジェクトとの間の距離および方向を考慮していない。従って、いくつかの実施形態においては、位置確認および方位付けモジュール44(またはバックエンドサーバー14の装置)が、追加情報を用いてユーザ/機器12の場所を修正してもよい。例えば、位置確認および方位付けモジュール44(またはバックエンドサーバー14の装置)は、ユーザ/機器12と撮像オブジェクトとの間の距離(または平均距離など)を推定するため、カメラ24からの1つ以上の画像(例えば、オブジェクトクラス/タイプを予想するのに使用されるのと同じ画像(複数も可))を処理してもよい。更に、またはその代わりに、他の適切なタイプのデータ、例えば、ソナー、レーダー、ライダー、またはARモバイル機器12の(
図1に示されない)他の深度センシング装置によって生成されるデータも、撮像オブジェクトへの距離を決定するのに使用されてもよい。加えて、ARモバイル機器12の方位を用いて、撮像オブジェクトからユーザ/機器12をオフセットする方向を決定してもよい。
【0094】
ユーザ/機器12の場所が修正されたら、並びにARデータベース72に記憶されているノード場所が正確であると仮定して、ユーザには、その人の現在の実際世界の位置をより正確に反映する拡張経験が提示されてもよい。すなわち、経験プロビジョニング装置62は、修正された更に正確なユーザ/機器12の場所に適したノード経験の提供を開始できる。
【0095】
更に、またはその代わりに、ARプラットフォーム内の更に別の方法にもMLモデル65が使用されてよい。例えば、MLモデル65は、ARデータベース72に記憶されているマップへ(例えば、3Dモデル生成装置64によって)既に追加されているオブジェクト/ノードの場所を更新するのに使用されてもよい。例えば、撮像オブジェクトのために(例えば、上述の方法で)ノードが特定された後、3D生成装置64は、位置確認および方位付けモジュール44によって決定されるユーザ/機器12の場所を用いて、ARデータベース72に記憶されているノード場所を更新してもよい。(例えば、カメラ24、IMU26、および/または1つ以上の他のセンサからのデータを用いて決定されるような)ユーザ/機器12とオブジェクトとの間の距離および方向を用いて、ノード場所を更に正確に修正してもよい。
【0096】
いくつかの実施形態において、3Dモデル生成装置64は、1つ以上の規則を用いて、ノード場所を更新すべきか否かを決定する。例えば、3Dモデル生成装置64は、ARモバイル機器12が、オブジェクト/ノードを最初にマップした装置によって使用された位置確認技術よりも優れた位置確認技術を使用していることが知られている場合のみ、あるいはARモバイル機器12はランドマークで最近チェックインしたばかりである場合にのみ、ノード場所を更新してもよい。他の実施形態において、3Dモデル生成装置64は、撮像オブジェクトを特定した複数の異なるARモバイル機器からの場所データに基づいてのみ、ノード場所を更新する。例えば、3Dモデル生成装置64は、ARモバイル機器12のみならず数多くの他の類似の装置からの場所データ、方位データ、および深度(例えば、カメラ)データに基づいて推定される、対応オブジェクトの平均場所に基づいて、ノード場所を更新してもよい。
【0097】
MLモデル65を用いる上述の実施のいずれかにおいて、MLモデル65は、特定の実施形態においては、(最初に)訓練されたMLモデル65が初めて作動された後、更に訓練/精練されてもよい。例えば、新しいコードの作成を簡便化するのにMLモデル65が使用される場合、MLモデル65によって予想され、ユーザによって確認または選択されたオブジェクトタイプ(あるいは、いくつかの実施形態およびシナリオにおいては、ユーザは指示したが、MLモデル65によっては予想されていないオブジェクトタイプ)と一緒に、オブジェクトタイプを推定するのに用いられたカメラ画像(複数も可)を用いて、MLモデル65を更に訓練してもよい。すなわち、追加のカメラ画像(複数も可)が特徴として使用されてもよく、ユーザが確認/選択/記入したオブジェクトタイプが、追加の教師付き学習用のラベルとして使用されてもよい。
【0098】
別の例として、MLモデル65を用いて、ナビゲートしているユーザのために場所を更新または修正する場合、MLモデル65によって予想され、何らかの方法によって確認(例えば、ユーザの場所近くにあり予想されたオブジェクトタイプに対応するノードを成功裏に識別することにより確認、またはユーザ入力を通して確認)されたオブジェクトタイプと一緒に、オブジェクトタイプを予想するのに用いられたカメラ画像(複数も可)は、更にMLモデル65を訓練するのに使用されてもよい。すなわち、追加のカメラ画像は特徴として使用され、確認されたオブジェクトタイプは追加の教師付き学習用のラベルとして使用されてもよい。
【0099】
いくつかの実装において、カメラ24(および/または他のARモバイル機器のカメラ
)によって撮像された画像は、時間経過と共に集められ、環境の「ARクラウド」を作成してもよく、集められた画像は、仮想現実設定でオペレータを訓練したり、遠隔サポート技師のために没入型の経験を提供したりするのに使用されてもよい。更に、いくつかの実装において、バックエンドサーバー14は、MLモデル65を用いて、例えば、上述の方法ではあるが、任意タイプのユーザ確認または他の入力/コマンドを要求することなく、認識されたオブジェクト用に新しいノードを自動的に作成してもよい。従って、3Dマップは、ARモバイル機器12を保持または着用しながら、環境内を歩いたり眺めたりするだけで作成できる。更に、いくつかの実施形態において、MLモデル65は、オブジェクトの特定の物理的表面、オブジェクトのコンポーネント、オブジェクトの状態(物理的スイッチがオンであるかオフであるか、コンベヤベルトが現在作動しているか否かなど)など、オブジェクトタイプだけでなく、オブジェクトの特定の部分に対応するタイプまたはクラスをも認識するように訓練してもよい。
【0100】
図1および上述の記述は、いくつかの可能な実施形態だけを示しており、他の実施形態も可能であることは理解されている。例えば、ARプラットフォームは、クラウドベースのアーキテクチャやウェブベースのサービスを使用しなくてもよい。別の例では、代わりに、バックエンドサーバー14の装置62~68のいくつかまたは全て、および/またはARデータベース72自体の機能は、部分的または全体的に、ARモバイル機器12に取り入れられていてもよい。更に別の例では、ノードマーカーおよび/またはノード経験は、非ARコンテキスト、例えば、仮想現実(VR)コンテキストで、あるいは非ARまたは非ARグラフィカルユーザインターフェース(GUI)との関連で提供されてもよい。
【0101】
更に、ARプラットフォームは、上述されていない更に他の特徴を提供してもよい。例えば、ARモバイル機器のユーザは、ARデータベース72の種々のノード/オブジェクトとの関連で記憶されているフィールドノートを(例えば、音声コマンドを用いて)追加してもよいし、および/または種々のノード/オブジェクトとの関連で新しい作業命令を開始してもよい。
【0102】
(例示的プロセス制御環境)
図2は、
図1のARシステム10が利用される例示的プロセス管理環境100のブロック図である。プロセス制御環境100(本明細書では、プロセス制御システム100またはプロセスプラント100と同意語として言及される)は、1つ以上のプロセスコントローラ―であって、フィールド装置によって得られるプロセス測定値を示す信号を受信し、制御ルーチンを実施するために斯かる情報を処理し、プラント100内のプロセスの作業を制御するため、有線および/または無線プロセス制御通信リンクまたはネットワークを通して、他のフィールド装置へ送信される制御信号を生成するプロセスコントローラを含んでいる。通常、プロセスの動作を制御するため、少なくとも1つのフィールド装置が物理的機能を実行する(例えば、弁の開閉、コンベヤに素材を移動させる機能、温度の増減、測定、状態の感知など)特定のタイプのフィールド装置は、I/O装置を用いてコントローラと通信する。プロセスコントローラ、フィールド装置、およびI/O装置は有線であってもよいし、無線であってもよいし、有線および無線のコントローラ、フィールド装置、およびI/O装置の任意の数および組み合わせが、プロセスプラント環境またはシステム100に含まれていてもよい。
【0103】
例えば、
図2は、入力/出力(I/O)カード126および128を通して有線のフィールド装置115~122へ通信可能に接続されているプロセスコントローラ111を示している。プロセスコントローラ111は、以下に更に詳細に考察されるプロセッサ130、メモリ132、および1つ以上のプロセス制御ルーチン138を含む。コントローラ111は、プロセス制御通信ネットワークまたはバックボーン110および無線ゲートウェイ135を通して、無線フィールド装置140~146へも通信可能に接続されている。バックボーン110は、1つ以上の有線および/または無線通信リンクを含み、任意の適切な通信プロトコル(例えば、イーサネット(登録商標)プロトコル)を用いて実施されてもよい。(
図2に示されない)いくつかの構成では、バックボーン110以外の1つ以上の通信ネットワークを用いて、例えば、1つ以上の通信プロトコル(例えば、1EEE802.11対応無線ローカルエリアネットワークプロトコル、モバイル通信プロトコル(例えば、WiMAX、LTEなど)、Bluetooth(登録商標)、HART(登録商標)、WirelessHART(登録商標)、Profibus、FOUNDATION(登録商標) Fieldbusなど)をサポートする他の任意の数の有線または無線通信リンクを用いて、無線ゲートウェイ135に通信可能に接続されていてもよい。
【0104】
コントローラ111(例えば、Emerson Process Managementが販売するDeltaV(登録商標)コントローラであってもよい)は、フィールド装置115~122および140~146の少なくともいくつかを用いてバッチプロセスまたは連続プロセスを実行するように作動してもよい。1つの実施形態において、コントローラ111は、バックボーン110へ通信可能に接続されていることに加え、例えば、標準4~20mA装置、I/Oカード126、128、および/または任意の適切なスマート通信プロトコル、例えば、FOUNDATION(登録商標) Fieldbus、HART(登録商標)プロトコル、WirelessHART(登録商標)プロトコルなどに関連付けられた任意の望ましいハードウェアおよびソフトウェアを用いて、フィールド装置115~122および140~146の少なくともいくつかへ通信可能に接続されている。
図2において、コントローラ111、フィールド装置115~122、およびI/Oカード126、128は有線装置であり、フィールド装置140~146は無線フィールド装置である。勿論、有線フィールド装置115~122および無線フィールド装置140~146は、任意の他の望ましい標準(複数も可)またはプロトコル、例えば、任意の適切な有線または無線プロトコル(将来開発される任意の適切な標準またはプロトコルを含む)に対応していてもよい。
【0105】
プロセスコントローラ111のプロセッサ130は、メモリ132に記憶させてもよい1つ以上のプロセス制御ルーチンまたはモジュール138を実施または監督する。斯かる目的のため、プロセッサ130はフィールド装置115~122および140~146、およびコントローラ111に通信可能に接続されている他のノードと通信するように構成されている。明記されるべき点であるが、本明細書記載の任意の制御ルーチンまたはモジュールは、望ましければ、異なるコントローラまたは他の装置によって実施または実行される部分を有していてもよい。同様に、プロセス制御システム100内で実施されるべき制御モジュール138は、ソフトウェア、ファームウェア、ハードウェアなどを含む任意の形態を有していてもよい。制御ルーチンは、例えば、オブジェクト指向プログラミング、ラダーロジック、シーケンシャルファンクションチャート、ファクションブロック図を用いて、あるいは任意の他のソフトウェアプログラミング言語または設計パラダイムを用いて、任意の望ましいソフトウェアフォーマットで実施されてもよい。制御モジュール138のいくつかまたは全てが記憶されているメモリ132は、任意の適切なタイプのメモリ(複数も可)、例えば、ランダムアクセスメモリ(RAM)および/または読み取り専用メモリ(ROM)であってもよい。更に、制御モジュール138は、例えば、1つ以上のEPROM、EEPROM、アップリケーション固有集積回路(ASIC)、あるいは任意の他のハードウェアまたはファームウェア要素にハードコードされていてもよい。従って、コントローラ111は、任意の望ましい方法で、制御戦略または制御ルーチン/モジュールを実施するように構成されていてもよい。
【0106】
コントローラ111は、一般的にファンクションブロックとよばれるものを用いて制御戦略を実施するが、その場合、各ファンクションブロックは、全体的な制御ルーチンのオブジェクトまたは他の部分(例えば、サブルーチン)であり、他のファンクションブロックと関連して作動することにより、プロセス制御システム100内でプロセス制御ループを実施する。制御ベースのファンクションブロックは、通常、トランスミッタ、センサ、または他のプロセスパラメータ測定装置などに関連した入力機能、PID、ファジーロジックなどの制御を実行する制御ルーチンなどに関連した制御機能、およびプロセス制御システム100内のいくつかの物理的機能を実行するために特定の装置(弁、コンベアモータなど)を制御する出力機能のうちの1つを実行する。勿論、ファンクションブロックのハイブリッドや他のタイプのファンクションブロックも存在する。ファンクションブロックは、(斯かるファンクションブロックが標準4~20mA装置や特定のタイプのスマートフィールド装置(例えば、HART(登録商標)装置)で使用される、またはそれに関連付けられている場合などに)コントローラ111によって記憶され実行されてもよいし、(FOUNDATION(登録商標)Fieldbus装置の場合などに)フィールド装置自体によって記憶され実施されてもよい。コントローラ111の1つ以上の制御モジュール138は、1つ以上のファンクションブロックの実行によって実施される1つ以上の制御ループを具体化してもよい。
【0107】
有線フィールド装置115~122は任意のタイプ(複数も可)の装置(センサ、弁、コンベアモータ、トランスミッタ、位置決め装置など)であってもよく、I/Oカード126および128は、適切な通信またはコントローラプロトコルに準拠する任意のタイプのI/O装置であってもよい。例えば、フィールド装置115~118は、アナログライン(またはアナログおよびデジタルの複合ライン)を通してI/Oカード126と通信する標準4~20mA装置またはHART(登録商標)装置であってもよく、フィールド装置119~122は、FOUNDATION(登録商標) Fieldbus通信プロトコルを用いて、デジタルバス上でI/Oカード128と通信するFOUNDATION(登録商標) Fieldbusフィールド装置などのスマート装置であってもよい。しかし、いくつかの実施形態においては、それに加えて、またはその代わりに、有線フィールド装置115~122のうちの少なくともいくつか、および/またはI/Oカード126、128のうちの少なくとも1つは、バックボーン110および適切な制御システムプロトコル(例えば、Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HARTなど)を用いて、コントローラ111と通信する。
【0108】
図2において、無線フィールド装置140~146は、WirelessHART(登録商標)プロトコルなどの無線プロトコルを用いて、無線プロセス制御通信ネットワーク170を通して通信する。斯かる無線フィールド装置140~146は、やはり無線通信するように構成されている無線ネットワーク170の1つ以上の他の装置またはノードと直接通信してもよい。無線フィールド装置140~146は、無線通信するように構成されていない他のノードと通信するためには、バックボーン110または別のプロセス制御通信ネットワークに接続されている無線ゲートウェイ135を利用してもよい。無線ゲートウェイ135は、バックボーン110から、無線通信ネットワーク170の種々の無線装置140~158へアクセスを提供する。特に、無線ゲートウェイ135は、無線装置140~158、有線装置115~122、および/またはプロセス制御プラント100の他のノードまたは装置の間で、通信可能な連結を提供する。
【0109】
有線フィールド装置115~122と同様、無線ネットワーク170の無線フィールド装置140~146は、プロセスプラント100内で物理的な制御機能(例えば、弁の開閉、プロセスパラメータの測定など)を実行する。しかし、無線フィールド装置140~146は、ネットワーク170の無線プロトコルを用いて通信するように構成されている。従って、無線フィールド装置140~146、無線ゲートウェイ135、および無線ネットワーク170の他の無線ノード152~158は、無線通信パケットの生産者かつ消費者であってよい。
【0110】
プロセスプラント100のいくつかの構成において、無線ネットワーク170は非無線装置を含む。例えば、
図2において、フィールド装置148はレガシー4~20mA装置であってもよく、フィールド装置150は有線HART(登録商標)装置であってもよい。フィールド装置148および150は、ネットワーク170内で通信するため、無線アダプタ152A、152Bのそれぞれを通して、無線通信ネットワーク170に接続されている。無線アダプタ152A、152Bは、WirelessHARTなどの無線プロトコルをサポートしており、Foundation(登録商標) Fieldbus、PROFIBUS、DeviceNetなどの1つ以上の他の通信プロトコルをサポートしてもよい。加えて、いくつかの実施形態においては、無線ネットワーク170は、1つ以上のネットワークアクセスポイント155A、155Bを含んでおり、それらは、無線ゲートウェイ135と有線通信する個別の物理的装置であってもよく、あるいは無線ゲートウェイ135内に統合されていてもよい。無線ネットワーク170は、無線通信ネットワーク170内の無線装置間でパケットを送信するため、1つ以上のルータ158を含んでいてもよい。無線装置140~146および152~158は、無線通信ネットワーク170の無線リンク160を通して、および/またはバックボーン110を通して、相互に通信し合ってもよいし、無線ゲートウェイ135と通信してもよい。
【0111】
図2において、プロセス制御システム100は、バックボーン110に通信可能に接続されている1つ以上のオペレータワークステーション171を有している。オペレータは、オペレータワークステーション171を通して、プロセスプラント100の実行時オペレーションをモニターし、必要な診断、修正、保守点検、および/または他の行動を行ってもよい。オペレータワークステーション171の少なくともいくつかは、プラント100またはその近く、例えば、プラン100のバックエンド環境の種々の保護領域に位置していてもよく、いくつかの状況においては、オペレータワークステーション171の少なくともいくつかは遠隔地に位置していてもよい(しかしプラント100とは通信可能な接続状態にある位置)。
【0112】
例示的プロセス制御システム100が
図2に更に示されているが、それには1つ以上の構成アプリケーション172Aおよび1つ以上の構成データベース172Bが含まれており、各々バックボーン110に通信可能に接続されている。構成アプリケーション(複数も可)172Aの種々のインスタンスが1つ以上の計算装置(
図2には示されていない)で実行されてもよく、その結果、ユーザは、プロセス制御モジュールを作成または変更したり、斯かるモジュールをバックボーン110を通してプロセスコントローラ111および/または他のプロセスコントローラへダウンロードしたり、オペレータインターフェース(これを通して、オペレータがプロセス制御ルーチン内のデータを見たり、データ設定を変更したりできる)を作成または変更したりできるようになる。構成データベース(複数も可)172Bは、構成モジュールおよび/またはオペレータインターフェースを記憶する。一般的に、構成アプリケーション(複数も可)172Aおよび構成データベース(複数も可)172Bは、プロセス制御システム100の中央に集められ、単一の論理外観を有していてもよく(但し、構成アプリケーション172Aの複数のインスタンスは、プロセス制御システム100内で同時に実行されてもよい)、構成データベース(複数も可)172Bは、単一の物理的データ記憶装置に記憶されてもよいし、または複数のデータ記憶装置に記憶されてもよい。構成アプリケーション(複数も可)172A、構成データベース(複数も可)172B、およびそれらのユーザインターフェース(
図2には示されない)は、制御および/またはディスプレイモジュールを作成/構成するための構成または開発システム172を共に形成する。通常、しかし必ずしも必要ではないが、構成システム172のためのユーザインターフェースはオペレータワークステーション171とは異なっており、構成システム172のためのユーザインターフェースは、プラント100がリアルタイムで作動しているか否かに関係なく、構成および開発エンジニアによって利用され、オペレータワークステーション171は、プロセスプラント100のリアルタイム(または「実行時」)作動中にオペレータによって利用される。
【0113】
例示的プロセス制御システム100は1つ以上のデータヒストリアンアプリケーション(複数も可)173Aおよび1つ以上のデータヒストリアンデータベース(複数も可)173Bを含んでおり、各々がバックボーン110に通信可能に接続されている。データヒストリアンアプリケーション(複数も可)173Aは、バックボーン110を通して提供されるデータのいくつかまたは全てを集め、長期保存のために、そのデータをデータヒストリアンデータベース(複数も可)173Bに記憶させるように機能する。データヒストリアンアプリケーション(複数も可)173Aおよびデータヒストリアンデータベース(複数も可)173Bは、構成アプリケーション(複数も可)172Aおよび構成データベース(複数も可)172Bと同様に、プロセス制御システム100の中央に集められ、単一の論理外観を有していてもよく(但し、データヒストリアンアプリケーション173Aの複数のインスタンスは、プロセス制御システム100内で同時に実行されてもよい)、データヒストリアンデータベース(複数も可)173Bは、単一の物理的データ記憶装置に記憶されてもよいし、または複数のデータ記憶装置に記憶されてもよい。データヒストリアンアプリケーション(複数も可)173A、データヒストリアンデータベース(複数も可)173B、およびそれらのユーザインターフェース(
図2には示されない)は共にデータヒストリアンシステム173を形成する。
【0114】
いくつかの構成において、プロセス制御システム100は、他の無線プロトコル、例えば、IEEE802.11対応無線ローカルエリアネットワークプロトコル、モバイル通信プロトコル(例えば、WiMAX、すなわちWorldwide Interoperability for Microwave Access)、LTE(Long Term Evolution)、または他のITU-R(国際電気通信連合無線通信部門)対応プロトコル、近距離無線通信(NFC)またはBluetooth(登録商標)などの短波長無線通信、および/または他の無線通信プロトコルを用いて他の装置と通信する、1つ以上の他の無線アクセスポイント174を有している。通常、斯かる無線アクセスポイント(複数も可)174により、ハンドヘルド計算装置または他の携帯型計算装置(例えば、ユーザインターフェース装置175)は、それぞれの無線プロセス制御通信ネットワーク(無線ネットワーク170とは異なり、無線ネットワーク170とは異なる無線プロトコルをサポートする)を通して、通信できるようになる。例えば、無線または携帯ユーザインターフェース装置175は、プロセスプラント100内でオペレータによって利用されるモバイルワークステーションまたは診断試験装置であってもよい(例えば、オペレータワークステーション171のうちの1つのインスタンス)。いくつかのシナリオでは、携帯型計算装置に加えて、1つ以上のプロセス制御装置(例えば、コントローラ111、フィールド装置115~122、無線装置135、140~158など)も、無線アクセスポイント(複数も可)174がサポートする無線プロトコルを用いて通信する。
【0115】
図2は、単一のプロセスコントローラ111、特定数のフィールド装置115~122および140~146、無線ゲートウェイ135、無線アダプタ152、アクセスポイント155、ルータ1158、および例示的プロセスプラント100に含まれる無線プロセス制御通信ネットワーク174を示しているだけであるが、これは例示的および非制限的実施形態に過ぎない。例えば、プラント100のプロセスを制御するのに、任意数のコントローラ111が、任意数の有線または無線装置およびネットワーク115~122、140~146、135、152、155、158、および170と通信してもよい。
【0116】
再度
図1を参照すると、ARモバイル機器(例えば、ARモバイル機器12)を用いてマップされるオブジェクト、および/またはMLモデル65を用いて認識されるオブジェクトには、プラント100内の3D位置(および相互関係、アバターなど)がARデータベース72に記憶されるように、コントローラ111、装置115~122および140~158、I/Oカード126、128、無線ゲートウェイ135、および/または他の装置および/またはプラント100内の機器のいくつかまたは全部が含まれてもよい。いくつかの実施形態において、バックエンドサーバー14は、バックボーン110に通信可能に接続されていてもよく、他のサーバー(複数も可)18は、オペレータワークステーション171、構成システム172、データヒストリアンンシステム173、および/またはプロセス制御環境100の他の計算装置またはシステムを含んでいてもよい、あるいはそれらと連結されていてもよい。
【0117】
サーバー(複数も可)18によって実行されるアプリケーション(複数も可)19は、1つ以上のDeltaV(登録商標)アプリケーション、診断および保守点検アプリケーション、および/または他のアプリケーションまたはソフトウェアベースのシステムを含んでいてもよい。従って、アプリケーション(複数も可)19は、実行時状況および/またはフィールド装置の測定データを表示するノード経験をサポートしたり、フィールド装置のために実行時制御を提供したり、機械の診断/保守点検情報を表示したりしてもよい。1例に過ぎないが、種々の装置に関連付けられたHART(登録商標)および/またはFielbus情報が、ARモバイル機器12のユーザへ提示されてもよい。経験プロビジョニング装置62は、要求された表示データを集めるため、(例えば、バックボーン10を通して)適切なアプリケーション(複数も可)19を開始したり、および/またはインターフェースしたりしてもよく、その場合、斯かるデータはノード経験モジュール46へ送られる。更に、またはその代わりに、経験プロビジョニング装置62はノード経験モジュール46が受信した任意のユーザ入力をコントローラ111へ送り、それによって、適切なフィールド装置が制御されるようにしてもよい。
【0118】
(例示的3Dマップ)
ARシステム10の3D「マップ」は環境の全モデルである必要はなく、その環境内のノードの3D場所だけを含むだけでよいことは、上述の
図1の記述から理解されるべきである。4つのオブジェクト/ノードだけを含む極めて単純化された例示的3Dマップ200が、
図3に示されている。
図3において、z軸は高さ(例えば、地上レベルより上)に対応する。上述のように、ランドマークの場所202が、環境内の他の全ての場所(例えば、ノードおよびユーザ/AR機器の場所)の参照点を提供してもよい。
【0119】
例示的マップ200において、第一オブジェクト/ノードの第一場所204は、オフセット(x1、y1、z1)で、ランドマーク場所202よりも(高さの面で)少し上にあり、第二および第三オブジェクト/ノードの第二および第三場所206、208は、それぞれオフセット(x2、y2、z2)および(x3、y3、z3)で更に少し上にあり、第三オブジェクト/ノードの第三場所210は、オフセット(x4、y4、z4)で更に高い位置にある。勿論、いくつかのシナリオでは、x、y、および/またはz方向におけるオフセットは、特定のオブジェクト/ノードに関してはマイナスであってもよい。
【0120】
マップ200内において、(x5、y5、z5)における場所220は、ARモバイル機器(例えば、
図1のARモバイル機器12)の現在の場所に対応する。
図3は、点線で、装置の特定の方位に対応するARモバイル機器の視野222を示している。視野222は、例えば、IMU26(および、可能性として、例えばVIO技術を用いたカメラ26からの画像データ)およびカメラ26の既知の方位範囲/角度を用いて、
図1の位置確認および方位付けモジュール44によって決定されてもよい。
図3には示されていないが、位置確認および方位付けモジュール44は、z方向における視野222の範囲を認識していてもよく、従って、例えば、視野222は、z方向の範囲が無限ではなく円錐形を有していてもよい。
【0121】
この例示的シナリオにおいて、場所206および208のオブジェクトは、機器/ユーザの現在の視野222内に存在するが、場所204および210にあるオブジェクトはその視野内には存在しない。
図1の経験プロビジョニング装置62が、例えば、(ARデータベース72に記憶されている)ノード場所、(位置確認および方位付けモジュール44によって決定され、ウェブサービスインターフェース60を通して送られる)ARモバイル機器の場所220および方位、およびカメラ24の視野の既知の特徴または推定特徴などに基づいて、斯かる決定を行ってもよい。経験プロビジョニング装置62は、どのオブジェクト/ノードが視野222内にあるのかの決定に基づき、ノードマーカー(および/または特定の経験)は場所206および208のオブジェクトのみに提示されるべきであることを示すデータを、ARモバイル機器12へ送信してもよい。ノード経験モジュール46はそのデータを処理し、それに対応して、場所206および208に対応するディスプレイ22上の点またはその近くの点のノードマーカーおよび/または他の情報を重ね合わせる。
【0122】
別の例として、ARモバイル機器12のモジュールまたはバックエンドサーバー14の装置(いずれも
図1には示されていない)は、MLモデル65の出力と一緒に、決定された視野222を用いて、カメラ24からの1つ以上の画像で認識されたオブジェクトに対応するノードを識別する。次に、上述したように、ARデータベース72に記憶されているノード場所を用いて、ユーザ/機器12の場所を修正してもよい(その反対も可なり)。
【0123】
(例示的ARユーザインターフェース)
ARディスプレイ(例えば、
図1のARモバイル機器12のディスプレイ22)に重ね合わされる一組の例示的ユーザインターフェースが、
図4A~4Hとの関連で以下に記載される。説明を簡単にするため、
図1のARシステム10が参照されるが、ユーザインターフェースは他のシステムで使用されてもよい。ユーザ選択を行うユーザインターフェースに関して言えば、その選択は、(例えば、ユーザインターフェースが、ディスプレイ22の中心に対する固定位置ではなく、環境に対する固定位置を有している場合には)特定のメニューオプションを直接見ているユーザによって行われてもよい。他の実施形態では、選択は、適切な音声コマンドを発するユーザ、鍵盤またはタッチスクリーンにデータを入力するユーザ、または別の適切な方法を用いるユーザによって行われてもよい。
【0124】
まず
図4Aを参照すると、ユーザインターフェース200により、ユーザは、
図1との関連で上述したような特定の「役割」を選択できる。ユーザインターフェース200は、ARアプリケーション32の開始時点でユーザへ表示されてもよいし、または別の適切な時点で表示されてもよい。ARアプリケーション32は、利用可能な役割を事前に知っていてもよいし、ウェブサービスインターフェース60を通してバックエンドサーバー14を調べることにより、利用可能な役割の情報を得てもよい。役割が選択されたら、役割識別モジュール40が、ウェブサービスインターフェース60を通して、役割を示すデータをバックエンドサーバー14へ送信してもよい。次に、上述したように、経験プロビジョニング装置62、警報生成装置68、および/またはバックエンドサーバー14の他のコンポーネントが、選択された役割を用いて、拡張される適切なノード、特定のノードのために提供される経験および/またはコンテンツの適切なタイプなどを決定してもよい。
【0125】
図4Bは、ユーザの現在の視野内にあるいくつかまたは全てのオブジェクトの各々について、(近接性またはユーザの役割などの任意の他の基準次第で)ノードとして機能するユーザインターフェース220を示している。例示的ユーザインターフェース220には、オブジェクト/ノードの状況を示すアイコン(丸で囲まれた「X」)およびデスクリプタ(「ステータスワード」)、ノード名(例えば、「ESD-3」など、プロセス制御プラント内の装置識別子)、ノードの簡単な記述(例えば、「緊急閉鎖スイッチ」など)、斯かる情報からユーザインターフェース220の下部の黒丸へ延びている縦線が含まれる。黒丸(または他の指標)は、ユーザの実際世界の視界内の対応するオブジェクトの(x、y、z)場所(例えば、3Dマップへノードを追加する際に、ユーザ(または別のユーザ)がピントを合わせる実際世界(x、y、z)の場所)に置かれてもよい。例えば、ARモバイル機器12およびユーザの縦軸が整列するように、必要に応じてテキストおよび線を回転させてもよいし、あるいはそれらを絶えずz軸に整列させていてもよい。
【0126】
状況アイコンおよびデスクリプタは、オブジェクトに対して何らかの行動がとられるか否か、および/またはオブジェクトに対して何らかの危険が存在するか否かを示してもよい。例えば、
図4Bに示される丸で囲まれた「X」は「危急」の状況に対応しており、三角形内の「!」は「警告」の状況に対応しており、ダイヤモンド形内の「i」は「アドバイザー」の状況に対応しており、アイコンなしは「正常」の状況に対応していてもよい。
図4Bは可能な状況アイコンの範囲を示しているが、この特定の実施形態および/またはシナリオでは、ユーザインターフェース220は丸で囲まれた「X」アイコンだけを含んでいる。特定のオブジェクト/ノードに示される状況および斯かる状況の意味は、ユーザの役割次第で変化してもよい。
【0127】
ユーザインターフェース220のノードマーカー(すなわち、
図4Bにおいて、テキスト、線、および黒丸)はARモバイル機器12からの距離に応じて大きさが変化してもよく、その場合、近くのオブジェクトは大きいノードマーカーを有し、遠くのオブジェクトは小さいノードマーカーを有してもよい。いくつかの実施形態においては、ユーザインターフェース220は、例えば、追加テキスト、追加図形、および/またはカラーコード(例えば、「危急」状況には赤のテキストおよび線、「正常」状況には緑のテキストおよび線など)の更なる情報を含む。
【0128】
図4Cは、ユーザ役割がユーザインターフェースで選択された後に現れる、あるいは別の適切な時期に現れるユーザインターフェース240である。ユーザインターフェース240の「+」アイコンは、
図1との関係で上述されたように、新しいノードを3Dマップに追加するためにユーザによって選択されてもよい。ヘルメットアイコンは、異なる役割を選択するためにユーザによって選択されてもよいし、第三のアイコンは、以下に記載されるように、特定の設定を管理するためにユーザによって選択されてもよい。ユーザインターフェース240の長方形の箱は、ユーザへのシステムメッセージを表示してもよい。例えば、メッセージボックスは、警報生成装置68および/または位置ベースの警報モジュール52によって生成される警報を表示するのに使用されてもよい。
【0129】
図4Dは、ユーザがユーザインターフェース240の設定アイコンを選択すると現れるユーザインターフェース260である。
図4Dに示されるように、ユーザインターフェース260により、ユーザは、ARモバイル機器12の名前または識別子、ランドマーク識別子、およびバックエンドサーバー14の名前またはIPアドレスを変えることができる。斯かる値のいくつかまたは全てが、例えば、ウェブサービスにウェブサービスインターフェース60を呼び出させる場合に、ARモバイル機器12によって使用されてもよい。
【0130】
図4Eは、ユーザがユーザインターフェース240に「+」(追加ノード)アイコンを選択すると現れる単純なユーザインターフェース280を示す。この例では、ユーザインターフェース280は、ユーザが(例えば、ARモバイル機器12がARヘルメット、ゴーグル、またはスマート眼鏡の場合には)単純に見回すことにより、あるいは(タブレットまたはスマートフォンの場合には)ARモバイル機器12のカメラ24を向けることにより、実際世界の環境内の任意の場所に中心を置くための(ユーザのディスプレイ22の中心にある)レチクルである。ARアプリケーション32のノード作成モジュール48は、レチクルが正しく配置されているのを(例えば、音声コマンドを発して)確認するようにユーザに要求してもよいし、あるいはカメラ24の視野が特定の閾値期間、実質的に変化しなければ、適切な配置を行ってもよい。
【0131】
図4Fは、ユーザがユーザインターフェース280のレチクルの位置決めをした後、更に位置確認および方位付けモジュール44が、新しいオブジェクト/ノードを配置するために必要な位置および/または方位情報(例えば、ARモバイル機器12の位置、機器12の方位、および機器12からオブジェクトへの距離)を決定した後に現れる、ユーザインターフェース300を示す。例示的ユーザインターフェース300は、ユーザがノード名および/またはノード記述を記入するためのテキストボックスを含む。あるいは、斯かる情報のいくつかまたは全部が、(ユーザがマイクロフォンアイコンを選択する場合には)音声コマンドで提供されてもよい。他の実施形態においては、ノード名および/または記述は、光学式文字認識(OCR)技術を用いて、オブジェクトの一部の画像を処理することにより、決定されてもよい。例えば、ユーザは、オブジェクトに固定されたシリアル番号、モデル番号、または他の識別子を含むタグまたはラベルにカメラ24を向けてもよい。次に、識別子は、ウェブサービスインターフェース60を通してバックエンドサーバー14へ送信され、バックエンドサーバー14で記憶された情報、または別のシステムまたはデータベース(例えば、他のサーバー18のうちの1つ)に記憶されている情報と相互参照され、ノード名および/または記述を決定してもよい。更に他の実施形態においては、上述のオブジェクトタイプを予想するのに、MLモデル65が使用されてもよい。次に、予想されたタイプは、ユーザインターフェース300内に(例えば、テキストウインドウ上のテキストとして、またはテキストウインドウを自動的に入力することにより)表示されてもよい。
【0132】
図4Gは、(例えば、ユーザインターフェース220のノードマーカーを選択することにより)ユーザが特定のオブジェクト/ノードを選択した場合に、そのオブジェクト/ノードのために現れるユーザインターフェース320を示す。 ユーザインターフェース320は、例えば、バックエンドサーバー14の経験プロビジョニング装置62によって提供されるノードに利用可能な経験を示すデータに基づいて、ノード経験モジュール46が生成してもよい。例示的ユーザインターフェース320は、ユーザインターフェース220のノードマーカーに示されたノード名および記述、並びに2つの長方形領域を含む。ユーザインターフェース320の下部にある黒丸は、ユーザインターフェース220の(実際世界の視界の)オブジェクトの位置と同じ位置にあり続けてもよい。
図4Gの空白の長方形に示されている最初の「作業」領域は、(例えば、提供されるノード経験のタイプ、および/またはユーザの役割に依存して)選択されたオブジェクト/ノードに関係する追加情報、例えば、オブジェクトの状況情報、オブジェクトの詳細警報情報などを示してもよい。
【0133】
ユーザは、ノードに利用可能な(および、可能性として、ユーザの役割にも利用可能な)経験を列挙した第二領域から、望ましいタイプのノード経験を選択してもよい。この例においては、
図4Gに示されるように、利用可能なノード経験には、「更なる情報」(例えば、作業領域における追加タイプのテキストベースの情報を提供するため)、「接続」(例えば、
図4Hとの関連で以下に考察される、他のオブジェクト/ノードへの物理的または論理的接続を示すため)、「情報リンク」(作業領域で、「ヘルプ」文書からの情報、教育用ビデオ、または他の特定のURLのウェブページを示すため)、「子オブジェクト」(例えば、作業領域において、選択されたオブジェクト/ノードの「子」として関係している他のオブジェクト/ノードとの関係を示すため)、「プロセス値」(例えば、作業領域において、他のサーバー(複数も可)18およびアプリケーション(複数も可)19のうちの1つから得られる制御プロセス値を示すため)、および「作業命令」(例えば、作業領域において、選択されたオブジェクト/ノードと関連付けられた作業命令のテキストを示すため)が含まれる。他のタイプの経験も可能である。例えば、追加(または代替)ノード経験を選択して、ノード/オブジェクトのためのインターロック情報(例えば、ノード/オブジェクトの現在のバイパス状況)を提供してもよい。あるいは、斯かる情報は、上記の「更なる情報」経験内で提示されてもよい。
【0134】
図4Hは、ユーザが、ユーザインターフェース320で「接続」を選択した場合に現れるユーザインターフェース340を示す。ユーザインターフェース340に関しては、ノード経験モジュール46は、現在選択されたオブジェクト/ノードの(x、y、z)位置と、(
図1との関係で上述されたように)現在選択されたオブジェクト/ノードが物理的および/または論理的に接続されているオブジェクト/ノードの(x、y、z)位置との間に線を引く。ユーザインターフェース340の下部の黒丸は前者の位置であり、ユーザインターフェース340の上部の黒丸は後者の位置であってよい。勿論、黒丸の相対位置はシナリオに従って変化してもよい(例えば、選択されたオブジェクト/ノードの円は、実際世界の視界において、接続されたオブジェクト/ノードの円よりも高い位置に現れてもよい)。
【0135】
図4Hの実施形態において、ノード経験モジュール46は、3つの部分、すなわち、y軸に沿って距離および方向を示す第一部分(現在選択されたオブジェクト/ノード)と、x軸に沿って距離および方向を示す第二部分(第一部分の終わりから開始)と、z軸に沿って距離および方向を示し、接続されたオブジェクト/ノードで終わる第三部分(第二セグメントの終わりから開始)とに接続線を引く。線の部分は、追加情報を提供するため、カラーコードされていてもよいし、線フォーマット(点線、実線など)でコードされていてもよいし、および/または他の方法でコードされていてもよい(例えば、現在作動していない通信接続を示す赤い線など)。他の実施形態においては、接続は、異なる方法、例えば、オブジェクト/ノード間を単一線部分で示してもよい(例えば、ユーザからの距離を示すのに線を広くしたり狭くしたりしてもよい)。種々の異なる実施形態においては、複数の異なるオブジェクト/ノードへの接続がユーザインターフェース340に示されてもよいし、視覚化が望まれる個別の接続各々をユーザが選択するようにしてもよい。
【0136】
(例示的ARデータベース)
図5Aおよび5Bは、
図1のARデータベース72によって利用されるデータベース構造体400(例えば、
図2のプロセス制御環境で使用される場合)を総合的に示す。データベース構造体400において、各ボックスは、ARデータベース72に記憶される表を表し、各ボックスの上部線は表の名前(例えば、「ノード」、「ノード状況」など)である。表は主キーを用いてリンクされ、主キーの各々は、
図5Aおよび5Bでは、キーアイコンおよび「PK」の文字で示される。
【0137】
データベース構造体400は、データ項目の効果的な相互参照を可能にし、既存のリンクを壊したり広範囲な更新を要求したりすることなく、ユーザがシステムを更新できるようにする。例えば、「ノードID」主キーを用いることにより、ユーザは、他の関連表を更新することなく、既存のノードのために「ノード名」を変更できる。
図5Bの「GetOPCDA」表は、
図4Gとの関連で上述した「プロセス値」ノード経験に対応していてもよい。
【0138】
(例示的強化仮想視覚)
図6および7は、(例えば、
図1のARシステム10によって提供される)ARプラットフォームが、ユーザの「仮想視覚」を強化するという特徴を提供する実施形態に関係している。
図6は、(例えば、
図2のプロセス制御環境100内にある)プロセス制御環境内の閉鎖されたキャビネットの中を「見る」のに、(
図1との関連で考察された)「仮想透視能力」が使用される特定のシナリオを示しており、
図7Aおよび7Bは、(
図1との関連で考察された)「アバター」が、プロセス制御環境のアクセス制限(例えば、到達しにくい、または危険な)領域にある、および/またはユーザの現在場所から離れているセンサ/トランスミッタ装置用に提供される。
【0139】
まず、
図6の例に言及すると、閉鎖され(恐らく施錠されている)キャビネット500は、I/Oカード、遮断機などのいくつかの内部コンポーネント(
図6には示されない)を含んでいてもよい。
図1に関連して上述された基準のいずれかが満たされた場合(たとえば、内部コンポーネントがARモバイル機器12の視野内並びに閾値距離内にある、および/またはキャビネット500がユーザにより選択されたなど)、(上述したように、例えば、キャビネットと内部コンポーネントとの間の既知の関係に基づいて、および/またQRコード(登録商標)などをスキャンすることにより)キャビネット500が不明確なオブジェクト/ノードを含んでいると決定されたならば、
図1の視界強化モジュール50は、ユーザインターフェース520をユーザの実際世界の視界上に重ね合わせてもよい。
【0140】
ユーザインターフェース520は、内部コンポーネントの描写522を含んでいる。描写522は、キャビネット500内の実際のコンポーネントの(相互関係にある実際の配列の)画像であってもよい。他の実施形態では、描写522は、コンポーネント(例えば、3Dモデル、2Dモデルなど)の超現実的または疑似現実的な図形表示を、個別にまたはキャビネット500内の相対的配列を描写するやり方で含んでいる。いずれの場合も、描写522は、実際の内部コンポーネントを見る経験と同様のAR経験をユーザに提供できる。
【0141】
ユーザインターフェース520は、ユーザの実際世界の視界にあるキャビネット500上に直接重ね合わせられ、隠れた内部コンポーネントの実際の位置上に描写522を適切に整列させるように縮小/拡大してもよい。あるいは、ユーザインターフェース520は、ユーザの実際世界の視界でキャビネット500からオフセットされ、線または何等かの他の手段で接続されていてもよい。
【0142】
描写522は、内部コンポーネントの個々のコンポーネントのために、斯かるコンポーネントが以前にマップされた範囲で、(例えば、
図4Bのユーザインターフェースに類似した)ノードマーカーを有していてもいいし、あるいは有していなくてもよい。更に、ユーザインターフェース520によって、ユーザは、斯かるノードマーカーを選択することにより、描写522自体を選択することにより、または適切な音声コマンドを発することにより、種々のノード経験を選択できる。描写522またはユーザインターフェース520は、ユーザが自分の視界から描写522を放棄するように選択可能なコントロール(例えば、1つの角の「X」)を含んでいてもよいし、適切な音声コマンドが使用されてもよい。
【0143】
図7Aに言及すると、方向指標550は、ユーザの実際世界の視界に対する特定のオブジェクトの一般的な方向を示す矢印と共に、そのオブジェクトの描写(この場合は、センサ/トランスミッタ装置)を含む。
図1の視界強化モジュール50は、例えば、離れた場所にあるオブジェクト、および/または制限アクセスオブジェクトのアバターに関して、(
図1との関連で)上述された条件のいずれかに応答し、ユーザの実際世界の視界上に方向指標550を重ね合わせてもよい。例示的方向指標550の装置の描写は現実的なモデルまたは画像であるが、勿論、他のフォーマット(例えば、輪郭、アニメ、ビデオなど)も可能である。
【0144】
ユーザが方向指標550を選択する場合、視界強化モジュール50は、
図7Bに示されるように、ユーザの実際世界の視界上に「アバター」560を重ね合わせてもよい。
図7Bに示されるアバター560は、方向指標550のオブジェクトの描写と同一であるが、他の実施形態では、アバター560は、方向指標550の描写(があったとしても)それよりも更に詳細および/または現実的である。
図6の描写522同様、アバター560は、実際のオブジェクト(この場合、センサ/トランスミッタ装置)を近くで見ているのと同様のAR経験をユーザへ提供してもよい。実際、上述したように、
図6の透視能力は、
図7Bに示される視界強化の特別の場合であり、
図6の描写522は、キャビネット510内に囲まれた種々のコンポーネントのためのアバターの集まりであってもよい。
【0145】
ユーザがアバター560を選択する場合、あるいは適切な音声コマンドを発する場合、視界強化モジュール50は、ユーザの実際世界の視界内のアバター560の近くに、ユーザインターフェース570を重ね合わせてもよい。あるいは、ユーザインターフェース570は、ユーザによるアバター560の選択を要求しなくても、あるいは音声コマンドなしに、デフォルトでアバター560と共に提示されてもよい。
図7Bの例示的ユーザインターフェース570は、プロセス値(この場合、センサーの読取値)を提供するノード経験に対応しており、(この場合、校正プロセスを開始することにより)ユーザによる装置の制御を可能にしている。斯かるノード経験を可能にするため、
図1の経験プロビジョニング装置62は、他のサーバー(複数も可)18によって実行される1つ以上のアプリケーション19と通信してもよい。例えば、経験プロビジョニング装置62は、プロセス制御アプリケーションを開始してもよいし、あるいはAPIなどを用いて、実行しているプロセス制御アプリケーションとインターフェースしてもよい。
【0146】
(例示的3Dマッピング方法)
図8は、モバイル機器を用いて、実際世界のプロセス制御環境(例えば、
図2のプロセス制御環境100)をマッピングする例示的方法600を示す。該方法600は、例えば、
図1のARモバイル機器12を用いて実行されてもよいし、あるいは別の適切なモバイル装置を用いて実行されてもよい。いくつかの実施形態では、AR機能のないモバイル装置が使用されてもよい。
【0147】
ブロック602において、モバイル機器は、プロセス制御環境にある参照または「ランドマーク」場所で登録される。登録には、参照場所に位置するコード(例えば、QRコード(登録商標)または他の画像)の可視表示をスキャンするため、モバイル装置のカメラ(
図1のカメラ24)を用いることも含まれる。コードは、例えば、壁(例えば、プレートまたはポスター上)にあってもよい。
【0148】
ブロック604において、モバイル機器の少なくともIMU(例えば、
図1のIMU26)が、参照場所に対するモバイル装置の3D位置を追跡するため、並びにモバイル機器がユーザによってプロセス制御環境を動かされるにつれて、モバイル機器の方位を追跡するために使用される。ブロック604は、(例えば、モバイル機器の電源を切ることにより、あるいはモバイル機器で実行されているアプリケーションを終了することにより)ユーザがAR経験を終了するまで、いつまでも(例えば、ブロック606から610まで同時に)継続してよい。ブロック604における追跡は、モバイル機器のカメラを用いてもよい。例えば、VIO技術を用いて、モバイル機器の位置および方位を追跡してもよい。
【0149】
ブロック606において、プロセス制御環境の3Dマップに新しいノードが追加されることを示すユーザ入力が、モバイル機器で検出される。ユーザ入力は、例えば、ユーザ音声コマンド(例えば、「ノードの追加」)であってもよいし、(例えば、モバイル機器のカメラの焦点を特定の場所に合わせることによる、あるいは鍵盤またはタッチスクリーンにデータを入力することによる)ユーザによるメニューオプションの選択であってもよい。
【0150】
ブロック608において、少なくともモバイル機器の追跡3D位置およびモバイル機器の追跡方位に基づいて、実際世界のオブジェクトの(参照位置に対する)3D位置が決定される、または決定されるように導かれる。1つの実施形態において、(例えば、ユーザ入力の時点で、またはその少し後に)モバイル機器のカメラを用いて、実際世界のオブジェクトの画像を撮像することも含まれる。次に、モバイル機器とオブジェクトとの間の距離が、少なくとも深度センシング技術を用いてカメラ画像を処理することにより、画像から決定されてもよい。次に、追跡3D位置およびモバイル機器の方位、並びに決定された距離に基づいて、3D位置が決定される、または決定されるように導かれる。
【0151】
いくつかの実施形態において、オブジェクトの3D位置は、方法600を実行する装置、システムなどによりブロック608で直接決定される。他の実施形態では、方法600を実行する装置、システムなどは、例えば、ウェブサービスインターフェース(例えば、
図1のARデータベース72)を通して要求することにより、別の装置、システムなどにオブジェクトの3D位置を決定させる。
【0152】
ブロック610において、少なくともオブジェクトの3D位置を新しいノードに関連付けて記憶させることにより、ノードデータベースまたはライブラリを用いて、新しいノードを3Dマップに追加する。ブロック610は、例えば、ウェブサービスインターフェースを用いて、遠隔サーバー(例えば、
図1のバックエンドサーバー14)により、少なくとも新しいノードの3D位置をノードデータベース(例えば、
図1のARデータベース72)に記憶させる。
【0153】
方法600は、
図8に示されない1つ以上のブロックを含んでもよい。例えば、方法600は、別のユーザ入力(例えば、音声コマンド、鍵盤入力など)がモバイル機器で受信されるブロックを含んでもよく、その場合、ユーザ入力は、新しいノードの識別子(例えば、名前)および/または記述を示すものである。斯かる実施形態において、ブロック610には、新しいノードの識別子および/または記述を当該新しいノードと関連付けてノードデータベースに記憶させることも更に含まれてよい。
【0154】
別の例として、異なるモバイル装置の後の動作(あるいはブロック602~610を実行するのと同じモバイル機器による後の動作)に対応する追加のブロックを含んでもよく、その場合、当該動作は、新しいノードが3Dマップに追加された後に、プロセス制御環境の領域をナビゲートするものである。例えば、第一ブロックにおいて、第二のモバイル機器(例えば、ARモバイル機器、または類似の機器)が参照場所で登録される。その後、(参照場所に対する)第二モバイル機器の3D位置および第二モバイル機器の方位が、(例えば、VIO技術を用いて)少なくとも第二モバイル機器のIMUを用いて追跡されてもよい。次に、例えば、オブジェクトは第二モバイル機器のカメラの視野の領域内にあることを(例えば、第二モバイル機器の追跡方位に基づいて)決定することにより、および/または物理的オブジェクトが第二モバイル機器の近くにあることを(例えば、第二モバイル機器の追跡位置に基づいて)決定することにより、トリガ条件を検出してもよい。トリガ条件の検出に応答して、新しいノードに関連付けられたデジタル情報が、(例えば、ノードマーカー、あるいは上述された任意のノード経験に従って)第二モバイル機器のディスプレイ上またはそれを通して見られる実際世界の視界上に重ね合わされてもよい。
【0155】
(仮想透視能力を提供するための例示的方法)
図9は、実際世界のプロセス制御環境(例えば、
図2のプロセス制御環境100)におけるARモバイル機器のユーザへ、仮想強化視覚(例えば、仮想「透視能力」)を提供する例示的方法620を示す。方法620は、計算システムまたは装置の1つ以上のプロセッサ、例えば、
図1のバックエンドサーバー14、および/または
図1のARモバイル機器12などのARモバイル機器によって実行されてもよい。
【0156】
ブロック622において、プロセス制御環境のマップに関連付けられた特定のノード(「第一ノード」)が、ARモバイル機器のカメラ(例えば、
図1のカメラ24)の視野内に現在ある特定の実際世界のオブジェクト(「第一オブジェクト」)に対応することが決定される。第一オブジェクトは、例えば、
図2との関連で示され/記述されている任意の装置、あるいは少なくとも部分的に不透明である任意の他の物体であってもよい。いくつかの実施形態においては、第一オブジェクトはエンクロージャ、例えば、いくつかの小さな装置またはコンポーネントを含むように構成されているキャビネットである。
【0157】
いくつかの実施形態において、ブロック622は、ARモバイル機器の現在の方位を検出すること、およびARモバイル機器の現在の方位に基づき、更にマップによって示される第一ノードの位置に基づき、第一オブジェクトが現在カメラの視野内にあると決定することを含む。ブロック622は、ARモバイル機器の現在位置および第一ノード位置に基づいて、第一オブジェクトがARモバイル機器の閾値距離(例えば、10メートル、50メートルなど)内にあると決定することを含んでもよい。
【0158】
ブロック624において、第一ノードと、やはりマップと関連付けられている1つ以上の他のノードとの間の特定の関係が決定される。この関係は、(明示的または黙示的に)1つ以上の他のノードに対応する1つ以上の他の実際世界のオブジェクトが、少なくとも部分的に、第一オブジェクトによって不明確になっていることを示す。例えば、第一ノードが、他のノード(複数も可)(例えば、コントローラ、I/Oカード、スイッチなど)に対応するオブジェクト(複数も可)を含むキャビネットまたは他のエンクロージャに対応することを示すデータを、ノードデータベース(例えば、ARデータベース72またはその一部)が記憶していてもよく、ブロック624には、ノードデータベースに直接(例えば、ローカルメモリに)、または別の計算システムを通して、アクセスすることも含まれてよい。いくつかの実施形態において、第一オブジェクトはQRコード(登録商標)または他の視覚コードでマークされており、ブロック624には、コードをスキャンしてノード識別子を決定することと、(例えば、識別子をデータベースへのキーとして用いることにより)ノード識別子を用いて関係を決定することとの両方が含まれる。
【0159】
ブロック626において、1つ以上のデジタルモデルまたはデジタル画像がメモリ(例えば、ローカルまたは遠隔持続性メモリ)から検索されるが、その場合、モデル(複数も可)または画像(複数も可)が、第一オブジェクトによって少なくとも部分的に不明確になっているオブジェクト(複数も可)を示す。例えば、オブジェクト(複数も可)の1つ以上の超現実的または疑似現実的3Dモデル、2Dモデル、アニメモデル、デジタル画像、またはデジタルビデオが、メモリから検索される。
【0160】
ブロック628において、第一オブジェクトがまだカメラの視野内にある間に、ARモバイル機器(例えば、
図1のディスプレイ22)が、検索されたモデル(複数も可)または画像(複数も可)を提示する。例えば、モデル(複数も可)または画像(複数も可)は、ディスプレイ上でユーザへ提示される、あるいはディスプレイを通してユーザが見ることができる、実際世界の視界に重ね合わされてもよい。ブロック628は、例えば、ARモバイル機器へ(例えば、
図1のウェブサービスインターフェース60を通して)、表示コンテンツの少なくともいくつかを送信すること、および/または表示命令を送信することを含んでもよい。
【0161】
方法620は、
図9に示されていない1つ以上のブロックを含んでもよい。例えば、方法620は、(例えば、最初にモデル(複数も可)または画像(複数も可)を用いて、あるいは更なる行動、例えば、ユーザによる特定の不明確なオブジェクトのモデルまたは画像の選択に応答して)1つ以上のノード経験が、不明確なオブジェクトのためにユーザへ提示されるブロックを含んでいてもよい。
【0162】
(アクセスが制限されたオブジェクトを可視化するための例示的方法)
図10は、ARモバイル機器のユーザと、プロセス制御環境(例えば、
図2のプロセス制御環境100)のアクセス制限(例えば、危険な、バリケードされた)領域にある実際世界のオブジェクト(「第一オブジェクト」)との間の相互関係を促進するための例示的方法640を示す。方法640は、例えば、計算システムまたは装置の1つ以上のプロセッサ(例えば、
図1のバックエンドサーバー14)および/またはARモバイル機器(例えば、
図1のARモバイル機器12)によって実行されてもよい。
【0163】
ブロック642において、ARモバイル機器のディスプレイ(例えば、
図1のディスプレイ22)は、ユーザがプロセス制御環境を移動するにつれて、ARモバイル機器(例えば、
図1のカメラ24)の視野内にある環境の一部に、デジタル情報を重ね合わせるように操作される。重ね合わされた情報は、プロセス制御環境のマップ(例えば、3Dマップ)のノードと関連付けられているが、ノードは環境内の他の実際世界のオブジェクトに対応している。ブロック642は、例えば、ARモバイル機器へ(例えば、
図1のウェブサービスインターフェース60を通して)、表示コンテンツの少なくともいくつかを送信すること、および/または表示命令を送信することを含んでいてもよい。
【0164】
ブロック644において、ARモバイル機器のディスプレイは、第一オブジェクトがカメラの視野内に存在しない間に、第一オブジェクトへの方向を表示する。斯かる表示は、例えば、テキスト、線、および/またはアニメを含んでもよい。ブロック644は、ブロック642同様、例えば、ARモバイル機器へ(例えば、
図1のウェブサービスインターフェース60を通して)、表示コンテンツの少なくともいくつかを送信すること、および/または表示命令を送信することを含んでいてもよい。
【0165】
ブロック646において、ARモバイル機器を通して行われ、第一オブジェクトの選択を示すユーザ入力(例えば、第一オブジェクトのためにユーザインターフェースを要求する音声コマンド)により、ディスプレイは、現在視野内にあるが第一オブジェクトを含んでいないプロセス制御環境に、第一オブジェクトのデジタルモデルまたは画像(すなわち、第一オブジェクトの「アバター」)並びに第一オブジェクトのユーザインターフェースを重ね合わせる。アバターは、例えば、超現実的または疑似現実的3Dモデル、2Dモデル、アニメモデル、デジタル画像、またはデジタルビデオであってよい。ユーザインターフェースは、(例えば、第一オブジェクトを校正したり、第一オブジェクトのために動作パラメータを設定したりするため)第一オブジェクトのユーザ制御を可能にする1つ以上の仮想制御、および/または第一オブジェクトの状況(例えば、診断状況、保守点検状況、動作状況など)、設定、および/または出力(例えば、センサー読取値)に関連付けられた情報を提示する1つ以上のディスプレイを含んでいてもよい。いくつかの実施形態において、ユーザインターフェースは、アバターと同時には提示されないが、ユーザによるアバターの選択または音声コマンドに応答して(アバターと一緒に)現れる。
【0166】
いくつかの実施形態において、ブロック644における方向の表示は、第一オブジェクトの選択を示すユーザ入力の検出の前に生じる(すなわち、
図10に示される順序)。斯かるいくつかの実施形態においては、方向指標(例えば、第一オブジェクトを含む非表示領域に向かう矢印)は、(1)第一オブジェクトはARモバイル機器の閾値距離内にある、並びに(2)第一オブジェクトは現在カメラの視野内にはないと言う検出に応答して、生成および表示されてもよい。方向指標のための他の適切なトリガまたは基準も可能である。例えば、指標は、第一オブジェクトに関連した特定のユーザ役割を有するユーザだけに提供されてもよい。
【0167】
他の実施形態においては、方向指標は、第一オブジェクトの選択を示すユーザ入力を検出した後に生じてもよい。例えば、第一オブジェクトのためにユーザインターフェースを検索するように要求する音声コマンド(例えば、ユーザによる第一オブジェクトの「探索」)をユーザが発し、その後に、方向指標(および可能であればアバター)がユーザの実際世界の視界に重ね合わされてもよい。
【0168】
デジタルモデルまたは画像は、方向指標と共に表示されようと、および/または後の段階で行われようと、ウェブサービスインターフェースを用いてデータベースから(例えば、ウェブサービスインターフェース60を用いて、
図1のARデータベース72から)検索されてもよい。
【0169】
(ナビゲート中のユーザへ提示されるAR情報の正確性を増大するための例示的方法)
図11は、実際世界のマップされた環境(例えば、
図2のプロセス制御環境100)をナビゲートしているユーザに提示されるAR情報の正確性を増大するための例示的方法660を示す。方法660は、例えば、計算システムまたは装置の1つ以上のプロセッサ(例えば、
図1のバックエンドサーバー14)および/またはARモバイル機器(例えば、
図1のARモバイル機器12)によって実行されてもよい。
【0170】
ブロック662および664において、モバイル機器(例えば、
図1のARモバイル機器12)のユーザがマップされた環境を移動するにつれて、モバイル装置のカメラの視野内にある特定のオブジェクトが識別される。特定のオブジェクトの識別には、ブロック662におけるオブジェクトタイプの予想、およびブロック664におけるオブジェクトタイプに対応するノードの識別が含まれる。オブジェクトタイプは、モバイル機器カメラによって撮像された1つ以上の画像を処理する機械学習(ML)モデルを用いてブロック662で予想され、ノードは、マップされた環境を表示するマップデータベース(
図1のARデータベース72)内からブロック664で識別される。MLモデルは、例えば、モバイル機器によって実施されてもよいし、モバイル機器に通信可能に連結された遠隔サーバーによって実施されてもよい。MLモデルは、例えば、
図1のMLモデル65のように、画像を処理してオブジェクトタイプを認識するように訓練されたモデルである。
【0171】
ブロック664には、予想されたオブジェクトタイプに対応し、しかもモバイル機器の推定場所(例えば、
図1のIMU26を用いて決定される推定場所)の閾値距離内にあるマップデータ内のノード、および/または(例えば、同じオブジェクトタイプを有する他のノードと比較して)推定モバイル機器場所に最も近い格納場所を有するノードを識別することも含まれる。いくつかの実施形態において、識別されたノードは、モバイル機器が特定の方位(
図1のIMU26を用いて決定されるような方位)にある間に、ノードに対応するオブジェクトがカメラの視野内に位置するような方向に、モバイル機器の推定場所からオフセットされているノードである。
【0172】
ブロック666において、ノードに関連付けられている場所がマップデータベースから検索され、ブロック668において、検索された場所を用いて、モバイル機器の1つ以上の推定場所が更新または確認される。ブロック666は、例えば、ノードの検索場所とモバイル機器の推定場所(例えば、IMU26を用いて決定される場所)との間の違いを計算することと、計算された違いを用いてモバイル機器の推定場所を調整することとを含んでもよい。
【0173】
ブロック670において、デジタル情報は、モバイル機器のディスプレイ(例えば、
図1のディスプレイ22)を通してユーザへ提示される実際世界の視界に重ね合わせられる。デジタル情報は、少なくとも部分的には、ブロック668で更新または確認されるモバイル機器の推定場所に基づいて選択される情報を含む。デジタル情報は、例えば、上述された方法(例えば、機器の場所を、機器の方位と共に、ARデータベース(ARデータベース72など)内のノード場所と比較したり、必要に応じてARデータベースから種々のノード情報を検索したりすること)のいずれかにおける推定場所(複数も可)に基づいて選択されてもよい。ブロック670は、例えば、特定のデータプロトコルまたはコマンドを用いて、デジタル情報をモバイル機器へ送信することを含んでもよいし、および/またはデジタル情報を含む表示ビューを生成することを含んでもよい。
【0174】
いくつかの実施形態において、方法660は、(例えば、オブジェクトを示すカメラ画像の少なくとも1つを処理することにより)モバイル機器と特定のオブジェクトとの間の実際の距離が決定される第一追加ブロック(
図11には示されない)と、(例えば、IMU26を用いて)モバイル機器の方位が決定される第二追加ブロック(やはり
図11には示されない)とを含む。斯かる実施形態において、ブロック668は、ノードの検索場所、モバイル機器と特定のオブジェクトとの間で決定された実際の距離、およびモバイル機器の決定方位とを用いて、モバイル機器の推定場所(複数も可)を更新または確認することを含んでもよい。
【0175】
(マップ作成と簡便化するための例示的方法)
図12は、実際世界のプロセス制御環境(例えば、
図2のプロセス制御環境100)のマップの作製を促進するための例示的方法680を示す。方法680は、例えば、計算システムまたは装置の1つ以上のプロセッサ(例えば、
図1のバックエンドサーバー14)および/またはARモバイル機器(例えば、
図1のARモバイル機器12)によって実行されてもよい。
【0176】
ブロック682において、モバイル機器のユーザがマップされた環境を移動するにつれて、モバイル機器(例えば、
図1のARモバイル機器)の場所が追跡される。ブロック682は、モバイル機器の慣性測定装置(例えば、
図1のIMU26)を用いて、モバイル機器の場所を追跡することを含んでもよく、動きは、上述したように、以前に知られているモバイル機器の場所に対して追跡されてもよい。
【0177】
ブロック684において、マップされた環境の画像は、ユーザがマップされた環境を移動するにつれて、モバイル機器のカメラ(例えば、
図1のカメラ24)によって撮像される。ブロック684は、少なくとも部分的にはブロック682と平行して、または同時に起きるので、画像の少なくともいくつかは、特定の追跡されたモバイル機器の場所に関連付けられる。
【0178】
ブロック686において、ノードをマップに追加するユーザの意図の表示が受信される。ブロック686は、例えば、ユーザがモバイル機器を通して特定のコマンドを入力したと言う表示を受信してもよいし、あるいはモバイル機器のディスプレイのレチクルが、ある閾値期間(例えば、3秒)同じ標的の中心に置かれていると言う検出を含んでもよい。
【0179】
ブロック688において、1つ以上の撮像された画像が機械学習(ML)モデルへ提供される。MLモデルは、例えば、モバイル機器によって実施されてもよいし、および/またはモバイル機器に通信可能に接続されている遠隔サーバーによって実施されてもよい。MLモデルは、例えば、
図1のMLモデル65のように、画像を処理してオブジェクトタイプを認識するように訓練されたモデルである。
【0180】
ブロック690において、カメラの視野内にある特定のオブジェクトに対応するオブジェクトタイプは、MLモデルが1つ以上の画像を処理することによりMLモデルによって予想される。いくつかの実施形態では、ブロック690において、複数の「候補」オブジェクトタイプが予想されるが、各候補オブジェクトタイプは、特定のオブジェクトに潜在的に対応するタイプである。
【0181】
ブロック692において、モバイル機器のディスプレイは、新しいノードのデスクリプタのユーザ指定を簡便化するため、ユーザへ提示される実際世界の視界上に、予想されたオブジェクトタイプの指標を重ね合わせる。ブロック692は、例えば、特定のデータプロトコルまたはコマンドを用いて、予想オブジェクトタイプをモバイル機器へ送信することを含んでもよいし、および/または予想オブジェクトタイプの指標を含む表示ビューを生成することを含んでもよい。ブロック690が複数の候補オブジェクトタイプを予想することを含むいくつかの実施形態において、ブロック692は、モバイル機器ディスプレイによって、(例えば、信頼水準に基づくランク順に)ユーザへ提示される実際世界の視界上に、各候補オブジェクトタイプの指標を重ね合わせる工程を含む。
【0182】
(ノード場所を更新するための例示的方法)
図13は、実際世界のマップされた環境(例えば、
図2のプロセス制御環境100)においてノード場所を更新するための例示的方法700を示す。方法700は、例えば、計算システムまたは装置の1つ以上のプロセッサ(例えば、
図1のバックエンドサーバー14)および/またはARモバイル機器(例えば、
図1のARモバイル機器12)によって実行されてもよい。
【0183】
ブロック702において、モバイル機器(例えば、
図1のARモバイル機器12)の場所が、モバイル機器のユーザがマップされた環境を移動するにつれて追跡される。ブロック702は、モバイル機器の慣性測定装置(例えば、
図1のIMU26)を用いて、モバイル機器の場所を追跡することを含んでもよく、動きは、上述したように、以前に知られているモバイル機器の場所に対して追跡されてもよい。
【0184】
ブロック704において、マップされた環境の画像が、ユーザがマップされた環境を移動するにつれて、モバイル機器のカメラ(例えば、
図1のカメラ24)によって撮像される。ブロック704は、少なくとも部分的にはブロック702と平行して、または同時に起きるので、画像の少なくともいくつかは、特定の追跡されたモバイル機器の場所に関連付けられる。
【0185】
ブロック706および708において、モバイル機器のカメラの視野内の特定のオブジェクトが識別される。特定のオブジェクトの識別には、ブロック706におけるオブジェクトタイプの予想、およびブロック708におけるオブジェクトタイプに対応するノードの識別が含まれる。オブジェクトタイプは、モバイル機器カメラによって撮像された1つ以上の画像を処理する機械学習(ML)モデルを用いてブロック706で予想され、ノードは、マップされた環境を表示するマップデータベース(
図1のARデータベース72)内からブロック708で識別される。MLモデルは、例えば、モバイル機器によって実施されてもよいし、モバイル機器に通信可能に連結された遠隔サーバーによって実施されてもよい。MLモデルは、例えば、
図1のMLモデル65のように、画像を処理してオブジェクトタイプを認識するように訓練されたモデルである。
【0186】
ブロック710において、ブロック708で識別された(マップデータベースに記憶されている)ノード場所を更新または確認するのに、モバイル機器の追跡場所が使用される。いくつかの実施形態において、ノード場所は、モバイル機器の追跡場所だけでなく、いくつかの他のモバイル機器の追跡場所に基づいて更新または確認される。例えば、一般的に、閾値数(例えば10)のモバイル機器からの追跡場所が、相互には一致しているが、最初に記憶されたノード場所とは不一致である場合に、ノード場所が更新されてもよい。
【0187】
いくつかの実施形態において、方法700は、(例えば、オブジェクトを示すカメラ画像の少なくとも1つを処理することにより)モバイル機器と特定のオブジェクトとの間の実際の距離が決定される第一追加ブロック(
図13には示されない)と、(例えば、IMU26を用いて)モバイル機器の方位が決定される第二追加ブロック(やはり
図13には示されない)とを含む。斯かる実施形態において、ブロック710は、ノードの検索場所、モバイル機器と特定のオブジェクトとの間で決定された実際の距離、およびモバイル機器の決定方位とを用いて、ノード場所を更新または確認することを含んでもよい。
【0188】
(一般的考察)
ソフトウェアで実施される場合、本明細書記載のアプリケーションおよび機能のいずれも、有形の持続性コンピュータ読み取り可能メモリ(磁気ディスク、レーザディスク、ソリッドステートメモリ装置、分子メモリ記憶装置、または他の記憶媒体など)、あるいはコンピュータまたはプロセッサのRAMまたはROMに命令として記憶させてもよい。本明細書記載の例示的システムは、コンポーネントの中でも特に、ハードウェアで実行されるソフトウェアおよび/またはファームウェアを含むように記載されているが、斯かるシステムは単に例示目的だけであり限定的に考慮されるべきではないことは、明記されるべきである。例えば、斯かるハードウェア、ソフトウェア、およびファームウェアのいずれかまたは全部が、全てハードウェアで、全てソフトウェアで、またはハードウェアとソフトウェアの任意の組み合わせで具体化されてもよい。従って、本明細書記載の例示システムは、1つ以上のコンピュータ装置のプロセッサで実行されるソフトウェアで実施されるものとして記載されているが、提示されている例は斯かるシステムを実施するための唯一の方法ではないことは、当業者には容易に想到できるであろう。
【0189】
本発明は特定の例を参照して記載されており、斯かる例は例示的目的のみであり、本発明を制限する意図を有していないので、変更、追加、または削除が、本発明の精神および範囲から逸脱することなく、開示されている実施形態へなされてもよいことは、当業者には明白である。