JP7572066B2 - ネットワーク型vrシステム - Google Patents
ネットワーク型vrシステム Download PDFInfo
- Publication number
- JP7572066B2 JP7572066B2 JP2022008537A JP2022008537A JP7572066B2 JP 7572066 B2 JP7572066 B2 JP 7572066B2 JP 2022008537 A JP2022008537 A JP 2022008537A JP 2022008537 A JP2022008537 A JP 2022008537A JP 7572066 B2 JP7572066 B2 JP 7572066B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- rtt
- information
- real
- milliseconds
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
何らかの事情で通信が極端に遅くなったり、遠隔サーバの性能を上回るジョブが発生したために3次元情報の生成が著しく滞ったりしたときは、局所クライアント側はしばらく作業を中断し、様子を見て再開すればよい。
しかし問題は、遠隔操作時にRTTの発生が不可避であるということである。
その結果RTTが少ないときは、いずれの結果も大差はないが、RTTが大になるほど、機械学習に比べて回帰予測はエラーが発生しやすいことが判明した。
そこで、機械学習を利用して操作物体の移動を予測する方法を採用したのであるが、ここでも問題が残る。すなわち、dtミリ秒後の予測位置と実際にdtミリ秒経過したときの物体の位置とにギャップが生ずるという問題である。
そこで、本発明は、実用に耐えるシステムとするために、操作物体の予測位置の精度を高める手法と、予測位置と実際の位置とのギャップが異常と判断せざるをえない場合の解決を意図したものである。
VRの3次元情報を、操作者が装着するヘッドマウントディスプレイまたは2次元ディスプレイにレンダリングする局所クライアントと、VR上の仮想対象物の3次元情報を生成する遠隔サーバとからなるネットワーク型VRシステムであって、
前記局所クライアントは、レンダリングされた前記3次元情報の中から操作物体の現在のタイムスタンプTでの位置を取得する手段と、
現在のタイムスタンプTからdtミリ秒後の前記操作物体の予測位置を機械学習を利用したAI予測モデルを用いて実時間に推論する手段と、
前記推論による前記予測位置を前記遠隔サーバに送信し、該遠隔サーバによる前記予測位置を用いて生成したVRの3次元情報を受信する手段と、
前記ヘッドマウントディスプレイまたは2次元ディスプレイに前記生成されたVRの3次元情報を表示させる手段を備え、
Tからdtミリ秒後の前記操作物体の予測位置と、Tからdtミリ秒経過したときの前記操作物体の実際の位置との差分を用いて実時間学習をし、この学習結果に基づいて前記AI予測モデルのパラメータを更新することを特徴とする。
ここで、dtはRTTのことである。
つまり、RTT分だけ未来の操作物体の位置を予測し、この予測位置に基づくVRの3次元情報をレンダリングしようとするのが、本発明の主題である。これにより、操作者による現在の実際の操作とVRの3次元情報との表示の不一致が減少し、快適に操作ができる。
なお、前記操作物体は下記の実施の形態では操作者の両手であるが、何らかの物体でもロボットでもなんでもよい。
これにより、意味のない操作を続けるようなことはせず、AI予測モデルの問題点などを見直すきっかけとなる。
〔1〕本システムの概要
〔1-1〕RTTの意味
〔1-2〕操作物体の動き
〔1-3〕局所クライアントと遠隔サーバの連携
〔2〕本システムの構成
〔2-1〕システムの全体構成
〔2-2〕機能ブロック構成
〔3〕本システムの動作
〔3-1〕全体処理フロー
〔3-2〕学習データの適否監視
〔3-3〕RTTの変化
まず、本システムにとって重要な概念であるRTTと,それに関連する事項について述べることとする。
RTTとは、局所クライアントから遠隔サーバに送信して、遠隔サーバ上で3次元情報生成処理を実行して、処理結果を局所クライアントが受理するまでの合計時間のことであり、図1の例に従い説明する。
図1の左側に記載のT0,T1,・・・はタイムスタンプ(integerで表現したTime of day(ミリ秒))を表し、等間隔である。S0,S1,・・・は送信タイムスタンプであり、R0,R1,・・・は受信タイムスタンプである。図1の例では、S0は時刻T0のときの送信タイムスタンプであり、R0は時刻T2のときの受信タイムスタンプである。図1では、時刻がT0(=S0)のときに送信された情報は、遠隔サーバで処理され、その結果が時刻T2(=R0)のときに受信される。このときのRTTはR0-S0(=T2-T0)である。時刻がT1(=S1)のときに送信された情報は、遠隔サーバで処理され、その結果が時刻T4(=R2)のときに受信される。このときのRTTはR2-S1(=T4-T1)である。
なお、送信時と受信時の組み合わせは過去2秒分ほど短期記憶に保存しておく。この情報もAI予測モデルを利用した実時間推論で参照することがあるからである。
本システムは実時間推論と実時間学習とを同時並行的に行うことによって、RTTによってひきおこされる3次元情報表示の遅れを解消することを目的とする。遅れの解消が、なぜ解決を要すべき問題となるのかを図2に従い説明する。
X(T)は現在(タイムスタンプT)の操作物体の実際の位置である。この位置情報を遠隔サーバに送信しても、結果がかえってきたときは、操作物体はX(T+RTT)の位置にある。遠隔サーバは操作物体がX(T)の位置にあるものとして3次元情報を生成するならば、この3次元情報は現在の操作物体の位置X(T+RTT)からギャップのあるものとなって、これをディスプレイ表示すると操作者に違和感を与えてしまう。そこで、TからRTT後の物体の位置を予測して、この予測位置f(X(T),RTT)を現在のX(T)のかわりに遠隔サーバに送信するのである。しかし、表示の遅れを解消するために、予測位置を利用することで、別の問題が生ずる。すなわち、予測位置f(X(T),RTT)とTからRTT後の実際の位置X(T+RTT)とでは、完全には一致しないのが通常という問題である。
ところが、操作物体が人間の手指とすると、問題がより複雑になる。なぜならば、手指の動きの自由度はきわめて高く、動く速度も一定しない。たとえば、手のひらを横に移動させるときと、指を折り曲げるときとでは、速度が異なる。
したがって、いかに操作物体の位置を的確に予測するかが重要なのである。予測の手法として2次多項式を用いた回帰予測や機械学習を利用した予測などがある。回帰予測は、RTTが小さい値のときは機械学習を利用した場合と遜色はないが、RTTが大となるにつれて予測エラー、つまり実際の位置とかけはなれた予測となる可能性が高まる。そのため、本システムでは機械学習を利用して予測をすることとしたのである。
機械学習の手法はADAM(Adaptive Moment Estimation)など多数提案されているので、適宜選択すればよい。
本システムは、大量のデータ処理を遠隔サーバが担っている。この膨大な演算は高性能かつ高価格の遠隔サーバに分担させ、設計作業等をする操作者は自分が装着するヘッドマウントディスプレイと接続するパソコン(局所クライアント)から遠隔サーバの機能を利用するのである。
図3は、局所クライアントと遠隔サーバとの連携動作を説明する図である。
局所クライアントがS0のときに送信した情報から遠隔サーバが生成した結果を局所クライアントに送り返す(ステップF101。以下、単に「F101」のように記載する)。このときのRTTはR0-S0(=RTT0)である。局所クライアントは、現在時刻S1からRTT0後の操作物体の位置を予測し(F102)、遠隔サーバに送信する(F103)。遠隔サーバは、時刻S1+RTT0の予測値を用いて3次元情報を生成し(F104)、局所クライアントへ送信する(F106)。遠隔サーバによる3次元情報の生成と並行して、局所クライアントは時刻R0で受信した3次元情報をレンダリングする(F105)。局所クライアントは、受信した時刻R1においてRTTをR1-S1(=RTT1)に更新し、現在の時刻S2にRTT1を加算した時刻での物体の位置を予測する(F107)。予測値は遠隔サーバへ送信され(F108)、遠隔サーバは、時刻S2+RTT1での予測値を用いて3次元情報を生成し(F109)、局所クライアントへ送信する(F110)。このように、局所クライアント側のレンダリングと遠隔サーバ側の3次元情報生成(以下、「シミュレーション」ということもある)は交互に実行されるのが、基本的な連携動作である。
次に、本システムの構成を説明する。
〔2-1〕システムの全体構成
本システムは、図4に示すように、局所クライアント1(以下、「クライアント1」)が遠隔サーバ2(以下、「サーバ2」)と通信ネットワークNを介して接続している。
クライアント1は、ヘッドマウントディスプレイ3から受信した操作物体の現在位置をもとに、dtミリ秒後の位置を予測し、サーバ2が生成した3次元情報をレンダリングしてヘッドマウントディスプレイ3上に表示させる。
ただし、本システムで課題とするRTTは、サーバ2との間で通常発生するものに限られ、通信会社で発生したトラブル由来の長時間続く遅延や、サーバ2の性能を超えるジョブ発生による処理渋滞を原因とする遅延への対応は想定していない。このような異常な遅延が発生したときは、操作者(以下、「ユーザ」という)の作業を中断させてトラブルが解消した後に再開すればよいのである。
クライアント1は、図4に示すように、現在位置入力部11と、実時間推論部12と、実時間学習部13と、実時間監視部14と、サーバ送受信部15と、レンダリング処理部16を備える。他に、キーボード、マウス、ディスプレイ、プリンタなどの入出力部、コンピュータプログラムや処理結果などを格納する記憶部も備える。
以上、本システムの構成を説明した。続いて、 本システムの動作について説明する。
〔3-1〕全体処理フロー
続いて、図5を参照しながら、本システム全体の処理を説明する。
ユーザが、ヘッドマウントディスプレイ3を装着すると、VR空間上の仮想対象物がメガネ型ディスプレイ32に表示される。これがあたかも眼前に実在するかのようにハンドジェスチャで操作すると、ユーザの手の動きに連動して仮想対象物も変化して見えるのである。
ヘッドマウントディスプレイ3に付属する立体カメラ31が捕捉したユーザの現在の手の位置をクライアント1が受信する(ステップF1,以後、単に「F1」のように記す)。
F4での学習によってAI予測モデルのパラメータ情報は更新される(F5)。F5で更新されたパラメータは直ちに推論プロセスに出力され(F6)、カメラ31から取得した現在位置情報に基づいてdtミリ秒後の手の位置が予測される(F7)。これがT+dtミリ秒のタイムスタンプが付与された仮想ハンドの位置となり、サーバ2に送信される(F8)。送信時のタイムスタンプをSiとする。
サーバ2によって生成されたシミュレーション結果はクライアント1がレンダリングして(F12)、メガネ型端末32に表示させる(F13)。シミュレーション結果をVR空間上に表示させるソフトウェアは市販されているので、それを用いることもできる。
図5のステップF3において、実時間学習のためのデータを蓄積しているが、学習に適さない不良データが含まれるときは、これを監視して実時間で排除しなくてはならない。これについて、図6を参照しながら説明する。この実時間監視のプロセスは、図5のステップF3の処理から呼び出される。
両者のギャップが所定の正常値の範囲内にあれば(F203でYes)、カウンター変数#Rにゼロをセットする(F204)。そして、直近S秒間に実行したRTTに対して、次の項目を監視する(F205)。すなわち、
・物体の平均移動速度Vave
・物体の平均移動距離Xave
・現在位置と予測位置とのギャップE(T+dt)
・RTTの最大値、平均値、分散
上記項目の監視後、再びF203へ遷移する。
なお、RTTの最大値、平均値等は、実時間監視アルゴリズムの解析および改善に使用される。
少なくとも一方が人間の物理的限界を超えていれば(F209でYes)、立体カメラ31の不調などが発生したと判断し、時刻T+dtの現在位置は入力エラーとみなして無視する(F210)。F209で、入力エラーとは判断できないとき(F209でNo)は、極端なネット遅延などが発生したと判断し、クライアント1からサーバ2にdt後の物体位置を送って、シミュレーション結果が返ってくるまでのRTTを計測する(F211)。
F210あるいはF211のときは、実時間学習は継続しつつ様子を見て(F212)、F205の各項目を監視し、F203に遷移する。
図7の例で、P0は実際の手の位置、P1はP0からdt経過後の実際の位置、VP1はP0からdt後の仮想ハンドの予測位置、g1はP1とVP1とのギャップを表すものとする。同様に、P2はP1からdt経過後の実際の位置、VP2はP1からdt後の仮想ハンドの予測位置、g2はP2とVP2とのギャップを表すものとする。P3,P4等も同様である。
ここで、ギャップg1,g2,g3,g4が正常範囲内には無いとすると、図6の#Rは値4をとる。もし、閾値L=3とすると#R>Lとなり、ギャップの改善が得られないならばAI予測モデルを再初期化することになる。
図8の例では、タイムスタンプs1(=0)のときにサーバ2に送信してから、サーバ2の処理結果を受理したr1(=50)までのRTT1は50である。同様にs2のときに送信し、r2で受理したときのRTT2は60である。ここで、RTTは50から60への遅延が発生した。さらにRTT3は70となり、直近の60から70への遅延が発生した。その後、RTT4,RTT5、・・・は継続して70の値をとった。
RTTは50~70ミリ秒であれば想定の範囲であり、しかも、70に変化してからRTTが安定しているので、問題ないといえる。仮想ハンドの位置を予測するときdtを50->60->70に変更すればよい。ただし、RTTが50~70ミリ秒の範囲にあっても頻繁に変化する場合は、原因を突き止めておくことが好ましい。そのためにも、図1に図示したように、直近の2秒分くらいのRTTの記録をとっておくとよい。
例えば、ディスプレイはメガネ型ディスプレイに限らず、2次元ディスプレイでもよい。
また、遠隔サーバでは3次元情報の生成のみ実行しているが、実時間推論と実時間学習を遠隔サーバで実行し、クライアントはレンダリングのみ実行してもかまわない。
11:現在位置入力部
12:実時間推論部
13:実時間学習部
14:実時間監視部
15:サーバ送受信部
16:レンダリング処理部
2:遠隔サーバ
21:クライアント送受信部
22:3次元情報生成部
3:ヘッドマウントディスプレイ
31:立体カメラ
32:メガネ型ディスプレイ
N:通信ネットワーク
Claims (2)
- VRの3次元情報を、操作者が装着するヘッドマウントディスプレイまたは2次元ディスプレイにレンダリングする局所クライアントと、VR上の仮想対象物の3次元情報を生成する遠隔サーバとからなるネットワーク型VRシステムであって、
前記局所クライアントは、レンダリングされた前記3次元情報の中から操作物体の現在のタイムスタンプTでの位置を取得する手段と、
現在のタイムスタンプTからdtミリ秒後の前記操作物体の予測位置を、機械学習を利用したAI予測モデルを用いて実時間に推論する手段と、
前記推論による前記予測位置を前記遠隔サーバに送信し、該遠隔サーバによる前記予測位置を用いて生成したVRの3次元情報を受信する手段と、
前記ヘッドマウントディスプレイまたは2次元ディスプレイに前記生成されたVRの3次元情報を表示させる手段を備え、
Tからdtミリ秒後の前記操作物体の予測位置と、Tからdtミリ秒経過したときの前記操作物体の実際の位置との差分を用いて実時間学習をし、この学習結果に基づいて前記AI予測モデルのパラメータを更新することを特徴とするネットワーク型VRシステム。 - Tからdtミリ秒後の前記予測位置と、Tからdtミリ秒経過したときの前記操作物体の実際の位置との差分が連続して異常値を示すときは、前記AI予測モデルのパラメータを再初期化する実時間監視手段をさらに備えることを特徴とする請求項1に記載のネットワーク型VRシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022008537A JP7572066B2 (ja) | 2022-01-24 | 2022-01-24 | ネットワーク型vrシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022008537A JP7572066B2 (ja) | 2022-01-24 | 2022-01-24 | ネットワーク型vrシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023107369A JP2023107369A (ja) | 2023-08-03 |
| JP7572066B2 true JP7572066B2 (ja) | 2024-10-23 |
Family
ID=87474660
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022008537A Active JP7572066B2 (ja) | 2022-01-24 | 2022-01-24 | ネットワーク型vrシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7572066B2 (ja) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019106628A (ja) | 2017-12-12 | 2019-06-27 | 株式会社ソニー・インタラクティブエンタテインメント | 画像補正装置、画像補正方法およびプログラム |
| JP2020017264A (ja) | 2018-05-24 | 2020-01-30 | ティーエムアールダブリュー ファウンデーション アイピー アンド ホールディング エスエーアールエル | 実世界を表現するリアルタイム3d仮想世界の中でのリアルタイム3d仮想物体の双方向リアルタイム3dインタラクティブ操作 |
| JP2020071394A (ja) | 2018-10-31 | 2020-05-07 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
| JP2020144748A (ja) | 2019-03-08 | 2020-09-10 | 株式会社Jvcケンウッド | 情報処理装置、情報処理方法及びプログラム |
| JP2021034021A (ja) | 2019-08-20 | 2021-03-01 | グーグル エルエルシーGoogle LLC | 再帰型ニューラルネットワークを用いる姿勢予測 |
| JP2021155936A (ja) | 2020-03-25 | 2021-10-07 | 住友建機株式会社 | ショベルの施工支援システム |
| JP2022503776A (ja) | 2018-09-21 | 2022-01-12 | ピナンブラ、インク | 視覚ディスプレイの補完的なデータを生成するためのシステム及び方法 |
-
2022
- 2022-01-24 JP JP2022008537A patent/JP7572066B2/ja active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019106628A (ja) | 2017-12-12 | 2019-06-27 | 株式会社ソニー・インタラクティブエンタテインメント | 画像補正装置、画像補正方法およびプログラム |
| JP2020017264A (ja) | 2018-05-24 | 2020-01-30 | ティーエムアールダブリュー ファウンデーション アイピー アンド ホールディング エスエーアールエル | 実世界を表現するリアルタイム3d仮想世界の中でのリアルタイム3d仮想物体の双方向リアルタイム3dインタラクティブ操作 |
| JP2022503776A (ja) | 2018-09-21 | 2022-01-12 | ピナンブラ、インク | 視覚ディスプレイの補完的なデータを生成するためのシステム及び方法 |
| JP2020071394A (ja) | 2018-10-31 | 2020-05-07 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
| JP2020144748A (ja) | 2019-03-08 | 2020-09-10 | 株式会社Jvcケンウッド | 情報処理装置、情報処理方法及びプログラム |
| JP2021034021A (ja) | 2019-08-20 | 2021-03-01 | グーグル エルエルシーGoogle LLC | 再帰型ニューラルネットワークを用いる姿勢予測 |
| JP2021155936A (ja) | 2020-03-25 | 2021-10-07 | 住友建機株式会社 | ショベルの施工支援システム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023107369A (ja) | 2023-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1288867A2 (en) | Method for generating motion | |
| Fotoohi et al. | Stability and performance analysis of centralized and distributed multi-rate control architectures for multi-user haptic interaction | |
| JP7572066B2 (ja) | ネットワーク型vrシステム | |
| US12111966B2 (en) | Position/force control system, worn unit, control unit, position/force control method, and storage medium | |
| Su et al. | Fixed-time adaptive neural network synchronization control for teleoperation system with position error constraints and time-varying delay | |
| Allspaw et al. | Comparing performance between different implementations of ros for unity | |
| Bayraktaroglu et al. | A modular bilateral haptic control framework for teleoperation of robots | |
| Lin et al. | Hybrid client–server architecture and control techniques for collaborative product development using haptic interfaces | |
| Arioui et al. | A model-based controller for interactive delayed haptic feedback virtual environments | |
| Nuño Ortega et al. | Haptic guidance with force feedback to assist teleoperation systems via high speed networks | |
| Petrenko et al. | Control signal recovery algorithm for master-slave teleoperation of anthropomorphic manipulator in conditions of data transmission time instability | |
| WO2021024523A1 (ja) | 制御装置 | |
| Wongwirat et al. | An adaptive buffer control using moving average smoothing technique for haptic media synchronization | |
| Galicki et al. | Time-optimal motions of robotic manipulators | |
| Chen et al. | Task-Oriented Edge-Assisted Cross-System Design for Real-Time Human-Robot Interaction in Industrial Metaverse | |
| Lin et al. | Collaborative haptic interfaces and distributed control for product development and virtual prototyping | |
| Kharitonov | A consistency model for distributed virtual reality systems | |
| Marsh et al. | Minimising latency and maintaining consistency in distributed virtual prototyping | |
| Islam | NTSM Based Adaptive Finite-Time Synchronization for Bilateral Teleoperators with Asymmetrical Delay and Disturbances | |
| KR101133055B1 (ko) | 햅틱 데이터를 동기화하는 방법 및 햅틱 시스템 | |
| Lee et al. | Collaborative Product Design and Manufacturing by Web-based Haptic Modeling for Virtual and Physical Prototyping | |
| Norman | A Distributed Approach to Haptic | |
| Meister | On synchronized simulation in a distributed virtual environment | |
| Tang et al. | On supporting collaborative haptic interactions with physically-based 3D deformations | |
| Grabar et al. | Software and Hardware Platform Development for the Synthesis of Adaptive Algorithms and Methods for Controlling the Behavior of Collaborative Robotic System |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240730 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20240730 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240829 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240906 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20241001 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241003 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7572066 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |