(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-29
(45)【発行日】2024-02-06
(54)【発明の名称】随意のデュアルレンジ運動学を用いたプロキシコントローラスーツ
(51)【国際特許分類】
B25J 13/06 20060101AFI20240130BHJP
B25J 13/00 20060101ALI20240130BHJP
【FI】
B25J13/06
B25J13/00 Z
(21)【出願番号】P 2022555734
(86)(22)【出願日】2020-12-31
(86)【国際出願番号】 US2020067693
(87)【国際公開番号】W WO2021138577
(87)【国際公開日】2021-07-08
【審査請求日】2022-09-14
(32)【優先日】2019-12-31
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-05-11
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】522035454
【氏名又は名称】ヒューマン モード、エルエルシー
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】ケルバー,ウィリアム,ザビエル
(72)【発明者】
【氏名】ギルモア,ジョナサン
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2011-118924(JP,A)
【文献】国際公開第2019/059364(WO,A1)
【文献】国際公開第2019/203190(WO,A1)
【文献】特開2017-196678(JP,A)
【文献】特表2013-520327(JP,A)
【文献】米国特許出願公開第2019/0056422(US,A1)
【文献】国際公開第2018/097223(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 3/00-19/04
G06F 3/023
(57)【特許請求の範囲】
【請求項1】
オペレータが
現実または仮想のリモート空間において
現実または仮想のプロキシを制御することを可能にするためのプロキシコントローラスーツであって、
中央追跡ユニットであって、追跡される空間内の前記オペレータの位置を提供するように構成される、中央追跡ユニットと、
前記中央追跡ユニットから既知の第1の距離で前記オペレータの第1の付属器官上の第1の位置に取り付けられた第1の運動センサであって、前記第1の運動センサの移動は、前記中央追跡ユニットを参照して決定される、第1の運動センサと、
前記第1の運動センサから既知の距離で前記オペレータの前記第1の付属器官上の第2の位置に取り付けられた第2の運動センサであって、前記第2の運動センサの移動は、前記第1の運動センサによって行われた測定値の関数として決定される、第2の運動センサと、を備える、プロキシコントローラスーツ。
【請求項2】
前記第1の運動センサおよび前記第2の運動センサはそれぞれ、前記オペレータの骨格構造内の関節の異なる側に対応する位置で前記第1の付属器官に取り付けられる、請求項1に記載のプロキシコントローラスーツ。
【請求項3】
前記リモート空間の視覚的表現を前記オペレータに提供するバイザをさらに備える、請求項1に記載のプロキシコントローラスーツ。
【請求項4】
前記バイザが、前記リモート空間の3次元レンダリングを前記オペレータに提供する仮想現実ヘッドセットである、請求項3に記載のプロキシコントローラスーツ。
【請求項5】
前記中央追跡ユニットが、
1つまたは複数の広角カメラと、
1つまたは複数のステレオ捕捉レンズと、
赤外線投光器と、を備える、請求項3に記載のプロキシコントローラスーツ。
【請求項6】
1つまたは複数の周辺コントローラをさらに備える、請求項3に記載のプロキシコントローラスーツ。
【請求項7】
前記1つまたは複数の周辺コントローラが、前記オペレータによって着用されるように構成された手袋である、請求項6に記載のプロキシコントローラスーツ。
【請求項8】
前記第1の運動センサは、加速度および向きの変化を測定するように構成された慣性測定ユニットである、請求項1に記載のプロキシコントローラスーツ。
【請求項9】
前記中央追跡ユニットは、外部カメラシステムなしで前記追跡される空間内の前記オペレータの位置を追跡するように構成される、請求項1に記載のプロキシコントローラスーツ。
【請求項10】
前記中央追跡ユニットが、外部カメラシステムを用いて前記追跡された空間内の前記オペレータの位置を追跡するように構成される、請求項1に記載のプロキシコントローラスーツ。
【請求項11】
オペレータが
現実または仮想のリモート空間内で
現実または仮想のプロキシを制御することを可能にするためのプロキシコントローラスーツであって、
前記オペレータの胴体上に配置された中央追跡ユニットであって、追跡空間内の前記オペレータの位置を提供するように構成される、中央追跡ユニットと、
複数のセンサクラスタであって、前記複数のセンサクラスタの各々が前記オペレータの身体の付属器官または一部に対応し、前記センサクラスタの各々が複数の運動センサを含む、複数のセンサクラスタと、を備え、
前記複数の運動センサの各々の移動は、適用可能なセンサクラスタ内の他の運動センサによって行われた前記移動の測定値の関数として、前記中央追跡ユニットの位置を参照して決定される、プロキシコントローラスーツ。
【請求項12】
前記複数の運動センサの各々は、前記複数の運動センサが前記オペレータの実際の骨格に近似する仮想骨格を形成するように、前記複数のセンサクラスタ内に配置される、請求項11に記載のプロキシコントローラスーツ。
【請求項13】
対応するセンサクラスタ内の前記複数の運動センサの各々の間の距離は、較正ルーチン中に決定される、請求項12に記載のプロキシコントローラスーツ。
【請求項14】
前記仮想骨格内のセグメントのサイズおよび比率は、前記プロキシの対応する部分のサイズおよび比率に一致するようにスケーラブルである、請求項13に記載のプロキシコントローラスーツ。
【請求項15】
オペレータがリモート空間でロボットプロキシを制御することを可能にするためのプロキシコントローラスーツであって、
前記オペレータの胴体上に配置された中央追跡ユニットであって、追跡空間内の前記オペレータの位置を提供するように構成された中央追跡ユニットと、
複数のセンサクラスタであって、前記複数のセンサクラスタの各々が前記オペレータの身体の付属器官または一部に対応し、前記センサクラスタの各々が複数の運動センサを含む、複数のセンサクラスタと、
前記複数のセンサクラスタからの出力を前記ロボットプロキシに伝送されるコマンド信号に変換するスーツコントローラであって、前記スーツコントローラは、従来の運動学モデルと逆運動学モデルとの間でシフトするように構成される、スーツコントローラと、
前記スーツコントローラからの前記コマンド信号を受け取り、それらのコマンド信号を前記ロボットプロキシに適用するように構成されたプロキシコントローラと、を備える、プロキシコントローラスーツ。
【請求項16】
前記オペレータは、前記ロボットプロキシの制御を従来の運動学モデルから逆運動学モデルに手動でシフトさせることができる、請求項15に記載のプロキシコントローラスーツ。
【請求項17】
前記スーツコントローラは、前記ロボットプロキシが前記対応するプロキシ付属器官の正確な制御を実行することを必要とするように、前記オペレータが付属器官を伸ばして対象物体と互いに作用しあう場合、前記従来の運動学モデルから前記逆運動学モデルに自動的にシフトする、請求項15に記載のプロキシコントローラスーツ。
【請求項18】
前記プロキシコントローラは、前記対応するプロキシ付属器官を前記対象物体上に配置し、次いで、前記逆運動学モデルを適用しながら、前記ロボットプロキシ内に任意の介在するリンケージを含む1または複数の必要な移動の解決策を決定するように構成される、請求項17に記載のプロキシコントローラスーツ。
【請求項19】
前記ロボットプロキシは、前記リモート空間を視覚的にスキャンして、前記リモート空間の3次元仮想表現を構築するように構成された、1つまたは複数のプロキシカメラを備える、請求項15に記載のプロキシコントローラスーツ。
【請求項20】
前記リモート空間の前記3次元仮想表現を前記オペレータに表示するように構成されたバイザをさらに備える、請求項19に記載のプロキシコントローラスーツ。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2019年12月31日に出願された「プロキシコントローラスーツ(Proxy Controller Suit)」という名称の米国仮特許出願第62/955,735号明細書、および2020年5月11日に出願された 「デュアルレンジ運動学によるプロキシコントローラスーツ(Proxy Controller Suit with Dual Range Kinematics)」という名称の米国仮特許出願第63/022,713号明細書の利益を主張し、これらの開示は、本明細書に完全に記載されているものとして参照により組み込まれる。
【0002】
本発明は、一般に、プロキシコントローラの分野に関し、より詳細には、限定するものではないが、オペレータによって着用されるコントローラスーツを使用してロボットプロキシを制御するためのシステムおよび方法に関する。
【背景技術】
【0003】
ロボットは、特定のタスクを実行するように高度に特殊化されている制限された集中的な問題に対処することに成功している。これらのタスクを実行することを可能にする制御システムは、通常、これらのタスクに合わせて調整される。この制限された集中的用途の一例は、自動車製造のためのロボットシステムの使用に見ることができる。これらのロボットは、静的環境内で個別の反復タスクを実行する。
【0004】
ロボット工学設計者の目標は、より広範囲のタスクにわたって支援を提供するために、より人間に似たロボットを構築することである。人間型ロボットは、人間型対話のために開発されたインフラストラクチャを用いて開放環境をより容易にナビゲートすることができる。例えば、ボタン、ドアノブなど、人間との相互作用のために多くのインターフェースおよび制御が開発されており、これらのインターフェースは、人間の固有の身体的特徴、比率、および能力と係合するように設計されている。
【0005】
人間型機械(四肢および胴体などを有する)を構築することは不可能なタスクではないが、それらが制限のない環境で自律的に正常に動作するために必要な制御システムを構築することは非常に困難である。それにもかかわらず、ほとんどのロボット設計者は、機械が人間のガイドからの限られた支援による世界で動作しようとする完全な自動化を試みる手法をとってきた。このような自律性は、ロボットが重要な考え方を欠いており、高度なプログラミングおよびセンサを必要とするため、達成が非常に困難である。
【0006】
自律型ロボットを開発する代わりに、多くの設計者が、人間のオペレータによって遠隔制御される機械である「ロボットプロキシ」を開発するために取り組んできた。いくつかの場合では、それらの設計者は、オペレータの移動を追跡し、ロボットプロキシにそれらの移動を模倣させることを意図したウェアラブルコントロールスーツを企図している。例えば、特許文献1は、人間が制御するプロキシロボットサーロゲートを用いた宇宙探査のシステムおよび方法を記載している。
【0007】
ロボットプロキシを遠隔制御する際の重要な問題は、オペレータの移動が正確に追跡され、ロボットプロキシに忠実に伝送されることを保証することである。従来のコントローラスーツでは、センサは、追跡システムがオペレータによって装着されたセンサの1つまたは複数との位置登録を失い、その後、オペレータまたはその付属器官の位置を誤解する「ドリフト」を経験する可能性がある。センサドリフトから生じる不正確なデータは、ロボットプロキシがオペレータのセンサの誤解された位置と一致するように指示される場合に特に問題となる。従来技術の欠点に照らして、改良されたロボット制御システムが依然として必要とされている。本発明が対象とするのは、従来技術におけるこれらおよび他の欠点である。
【発明の概要】
【0008】
例示的な実施形態では、本発明は、オペレータが実際のまたは仮想のリモート空間で実際のまたは仮想のプロキシを制御することを可能にするためのプロキシコントローラスーツを含む。プロキシコントローラスーツは、追跡される空間内のオペレータの位置を提供するように構成された中央追跡ユニットを含む。プロキシコントローラスーツは、中央追跡ユニットから既知の第1の距離にあるオペレータの第1の付属器官上の第1の位置に取り付けられた第1の運動センサをさらに含み、第1の運動センサの移動は、第1の運動センサを参照して決定される。プロキシコントローラスーツはまた、第1の運動センサから既知の距離にあるオペレータの第1の付属器官上の第2の位置に取り付けられた第2の運動センサを含み、第2の運動センサの移動は、第1の運動センサによって行われた測定値の関数として決定される。
【0009】
別の実施形態では、本発明は、オペレータが実際のまたは仮想のリモート空間内で実際のまたは仮想のプロキシを制御することを可能にするためのプロキシコントローラスーツを含み、プロキシコントローラスーツは、追跡される空間内のオペレータの位置を提供するように構成された中央追跡ユニットと、各々がオペレータの身体の付属器官または部分に対応する複数のセンサクラスタとを有する。センサクラスタの各々は、複数の運動センサを備える。複数の運動センサの各々の移動は、適用可能なセンサクラスタ内の他の運動センサによって行われた移動の測定値の関数として、中央追跡ユニットの位置を参照して決定される。
【0010】
さらに別の実施形態では、本発明は、オペレータがリモート空間でロボットプロキシを制御することを可能にするためのプロキシコントローラスーツを含み、プロキシコントローラスーツは、追跡される空間内のオペレータの位置を提供するように構成されたオペレータの胴体に配置された中央追跡ユニットを有する。プロキシコントローラスーツはまた、各々がオペレータの身体の付属器官または一部に対応する複数のセンサクラスタを含み、センサクラスタの各々は複数の運動センサを有する。プロキシコントローラスーツはまた、複数のセンサからの出力をプロキシに伝送されたコマンド信号に変換するスーツコントローラを含む。スーツコントローラは、従来の運動学モデルと、リモートプロキシを制御するための逆運動学モデルとの間でシフトするように構成される。プロキシコントローラスーツは、スーツコントローラからのコマンド信号を受け取り、それらのコマンド信号をプロキシに適用するように構成されたプロキシコントローラをさらに含む。
【図面の簡単な説明】
【0011】
【
図1】プロキシコントローラスーツを使用するオペレータによるロボットプロキシの制御を示す図である。
【0012】
【
図2】
図1のオペレータおよびプロキシコントローラスーツを示す図である。
【0013】
【
図3】プロキシコントローラスーツの中央追跡ユニットを示す図である。
【0014】
【
図4】中央追跡ユニットおよびそのスーツコントローラシステムへの接続の機能図を提供する。
【0015】
【
図5】プロキシコントローラスーツのバイザを示す図である。
【0016】
【
図6】プロキシコントローラスーツの握り周辺コントローラの描写を提供する。
【0017】
【
図7】
図2のプロキシコントローラスーツの運動センサ、中央追跡ユニット、バイザおよびコントローラのネットワーク化された配置を示す図である。
【0018】
【
図8】
図2のプロキシコントローラスーツ内のネットワーク化された運動センサ間の親子関係を示す図である。
【0019】
【
図9】2足ロボットプロキシの描写を提供する図である。
【0020】
【
図10】車輪付きトラックロボットプロキシの描写を提供する図である。
【0021】
【
図11】プロキシコントローラスーツを有するロボットプロキシの移動を制御する例示的な方法を提供する図である。
【0022】
【
図12】対象物体を用いたロボットプロキシの近距離制御のための逆運動学制御スキームに切り替える例示的な方法を提供する図である。
【発明を実施するための形態】
【0023】
図1から始めて、そこには、ロボットプロキシ202を制御する人間のオペレータ200の描写が示され、プロキシコントローラスーツ100が人間のオペレータ200によって着用されている。オペレータ200は、ロボットプロキシ202が位置するリモート空間206からある距離だけ離隔されている、追跡されるローカル空間204に配置される。プロキシコントローラスーツ100は、オペレータ200が実際のまたは仮想のプロキシ202(コンピュータ生成された)の移動をリアルタイムで制御することを可能にするためのウェアラブルシステムである。プロキシコントローラスーツ100は、プライベート、専用、またはパブリックネットワーク208を介してロボットプロキシ202に接続される。ネットワーク208は、有線、無線、パブリック、およびプライベートリソースの組み合わせを含むことができる。人間のオペレータ200とロボットプロキシ202との間の距離は、ネットワーク208の可用性、適合性、および全範囲によってのみ制限される。これにより、ロボットプロキシ202は、近くの箇所および遠隔箇所で動作し、人間のオペレータ200にとって危険、困難、または不便な環境で動作することが可能になる。
【0024】
ローカル空間204内の人間のオペレータ200およびプロキシコントローラスーツ100の位置および移動は、プロキシコントローラスーツ100の内部および外部のリソースを使用してリアルタイムで決定および更新され得る。例えば、追跡されるローカル空間204内のプロキシコントローラスーツ100の位置は、全地球測位衛星(GPS)システム210、外部カメラシステム212もしくはローカル無線位置システム214(Wi-FiおよびBluetoothを含む)、またはこれらのシステムの組み合わせを使用して決定され得る。いくつかの実施形態では、ローカル空間204は、ローカル空間204内の実質的に固定された位置に留まりながら、オペレータ200が様々な方向に歩行または他の様態で歩行することを可能にするトレッドミル216または他の可動性センサを含む。
【0025】
プロキシコントローラスーツ100からの出力は、プロキシコントローラスーツ218に提示され、プロキシコントローラスーツ100によって生成された信号を解釈し、解釈された信号をネットワーク208を介してプロキシコントローラ220に渡す。スーツコントローラ218およびプロキシコントローラ220はスタンドアロンモジュールとして示されているが、いくつかの実施形態では、スーツコントローラ218およびプロキシコントローラ220の機能は、ローカル、ダイレクト、または分散型コンピュータネットワークを介してプロキシ202およびプロキシコントローラスーツ100に接続された1つまたは複数のコンピュータに組み込まれることが理解されよう。
【0026】
図2を参照すると、そこには、人間のオペレータ100によって着用されたプロキシコントローラスーツ100の拡大図が示されている。プロキシコントローラスーツ100は、中央追跡ユニット102、複数の運動センサ104、運動センサメインボード106、バイザ108、および1つまたは複数の周辺コントローラ110を有する。中央追跡ユニット102および運動センサ104は、オペレータの身体の指定された部分でオペレータ200に取り付けられ、オペレータ200の移動を正確に追跡するために使用される。従来技術のプロキシ制御システムとは異なり、プロキシコントローラスーツ100は、ローカル空間204内のコントローラスーツ100の位置を正確に追跡し、報告する中央追跡ユニット102と、中央追跡ユニット102の位置に対するオペレータ200の腕、脚、体、および頭の移動を正確に追跡する様々な運動センサ104との間の固有の調整を利用する。センサのこの新規な配置は、中央追跡ユニット102を使用して空間内のコントローラスーツ100の位置および移動を識別し、次いで、各々が中央追跡ユニット102に直接または間接的に戻って参照される運動センサ104の骨格ネットワークの一部としてコントローラスーツ100の個別の部分(例えば、腕、手袋、脚または靴)の位置および移動を識別することによって、センサドリフトを最小限に抑える。
【0027】
運動センサ104が移動を検出すると、運動センサの移動は中央追跡ユニット102に繋ぎ戻される。運動センサメインボード106は、有線もしくは無線接続、またはデータを送信および収集するための任意の他の十分な手段を介して、運動センサ104から運動データを収集する。バイザ108は、プロキシコントローラスーツ100およびプロキシ環境に関する情報を表示し、聴覚コマンド、運動データ、またはユーザもしくはユーザの環境によって提供される任意の他のデータなどのユーザからの情報を収集する。
【0028】
図1は、コントローラスーツ100内の中央追跡ユニット102、バイザ108、運動センサ104、および運動センサメインボード106の特定の配置を示しているが、コントローラスーツ100内のこれらの構成要素の代替の配置および構成もまた、
例示的な実施形態の範囲内に入ると考えられたい。いくつかの実施形態では、プロキシコントローラスーツ100は、より少ないまたは追加の運動センサ104と、1つまたは複数の中央追跡ユニット102とを有することができる。いくつかの実施形態では、中央追跡ユニット102および運動センサメインボード106は、単一のユニットに統合されることができ、またはバイザ108または周辺コントローラ110などのプロキシコントローラスーツ100の他の要素と組み合わされ得る。プロキシコントローラスーツ100の様々な要素は、一般に、有線(図示のように)または無線接続で互いに接続されることが理解されよう。センサデータ、環境データ、コントローラコマンド、または任意の他の適切なデータを含み得るデータは、有線または無線接続を介してこれらの構成要素間で送信される。
【0029】
図3を参照すると、中央追跡ユニット102の図が示されている。この実施形態では、中央追跡ユニット102は、1対の広角(魚眼)カメラ112、ステレオ撮像レンズ114、低照度条件で照明するためのIRプロジェクタ116、およびRGBセンサ118を含む。中央追跡ユニット102はまた、統合運動センサ104を含むことができる。上述したように、中央追跡ユニット102は、追跡されるローカル空間204内のプロキシコントローラスーツ100の総位置を決定するために使用される。
【0030】
図4の機能図に示すように、中央追跡ユニット102は、中央追跡ユニット102、したがってプロキシコントローラスーツ100の移動および位置が、広角カメラ112、ステレオ撮像レンズ114、光(赤外線または可視)プロジェクタ116、RGBセンサ118、および運動センサ104のうちの1つまたは複数を使用して決定される 「内外の」 技術を使用して、ローカル空間204内のプロキシコントローラスーツ100の位置を決定する。運動センサ104および左右の広角カメラ112は協働して、カメラ112によって撮影された画像の変化を見て、運動センサ104によって検出された運動を読み取ることによって、ローカル空間204内の中央追跡ユニット102の移動を追跡する。RGBセンサ118およびステレオ撮像レンズ114は協働して、中央追跡ユニット102の前方の被写界深度を測定する。この情報は、中央追跡ユニット102内で、メインボード106または外部コンピュータを使用して処理されて、ローカル空間204内の中央追跡ユニット102の絶対位置を決定する。
【0031】
いくつかの実施形態では、中央追跡ユニット102の位置の決定は、外部カメラシステム212、全地球測位衛星(GPS)システム210との接続、およびローカル無線位置システム214などの、プロキシコントローラスーツ100の外部にあるセンサによって拡張または検証される。さらに他の実施形態では、中央追跡ユニット102は、外部カメラシステム212などの外部センサがローカル空間204内の中央追跡ユニット102の位置を検出および追跡するために使用される「外部」位置特定システムに主にまたは完全に依存する。中央追跡ユニット102は、様々な異なる位置でオペレータ200に取り付けられ得るが、中央追跡ユニット102は、分散型運動センサ104のテザリングポイントとして機能するように、頭部または胴体など(図示のように)の中央位置に最適に配置される。
【0032】
ここで
図5を参照すると、バイザ108の一実施形態が示されている。バイザ108は、ヘッドアップディスプレイ(HUD)120、内蔵マイクロホン122、スピーカまたはイヤピース124を含む。バイザ108は、任意選択的に、一体型運動センサ104を含むことができる。バイザ108は、一般に、プロキシ202の状態に関する視覚情報(例えば、バッテリ強度、信号強度、動作温度、CPU負荷、プロキシ202の現在の状態および姿勢)をローカル空間204内のオペレータ200の位置にオーバーレイまたは交互にしながら、プロキシ202から出力されたビデオおよびオーディオをオペレータ200に表示するように構成される。バイザ108はまた、マイクロホン122を介してオペレータ200からの口頭コマンドを受け入れるように構成され得る。バイザ108は、プロキシコントローラスーツ100内に統合するためにオーダーメイドすることができるが、適切なバイザは、Oculus、Microsoft、HTC、および他の製造業者から入手可能である。
【0033】
いくつかの実施形態では、ディスプレイは、プロキシ202の1人称視覚的表現、プロキシ202の周りのリモート空間206、および周辺コントローラ110(またはプロキシコントローラスーツ100の他の部分)の位置の仮想表現のオーバーレイを含む。このようにして、オペレータ200は、プロキシ202を取り囲むリモート空間およびリモート空間内のプロキシ202の目に見える移動の2次元または3次元描写を得ると同時に、オペレータ200がプロキシ202を制御するためにプロキシコントローラスーツ100内を移動するにつれて、プロキシコントローラスーツ100の検出された位置および相関の仮想化オーバーレイを通じてオペレータ200に視覚フィードバックもまた提供する。このシステムはまた、プロキシコントローラスーツ100の移動がもはやプロキシ202の移動と正確に位置合わせされ、登録されていないかどうかをオペレータ200が迅速に判断することを可能にする。
【0034】
図6を参照すると、周辺コントローラ110の一例が示されている。この実施形態では、周辺コントローラ110は、オペレータの指および親指の移動を検出および測定するためにオペレータ200によって着用される手袋として構成される。この実施形態では、周辺コントローラ110は、オペレータの手の位置および移動を監視するための一体型運動センサ104を含む。他の実施形態では、周辺コントローラ110は、ロボットプロキシ202の態様を制御するように特に設計されたボタン、ジョイスティック、または他の入力デバイス、またはロボットプロキシ202によって使用される手段もしくはインターフェースで構成される。周辺コントローラ110は、有線または無線接続を介して中央追跡ユニット102またはメインボード106に接続され得る。
【0035】
図7および
図8を参照すると、プロキシコントローラスーツ100内の分散型運動センサ104の階層表現が示されている。運動センサ104は、相互リンクされた骨格ネットワークに配置され、直接または運動センサメインボード106を介して中央追跡ユニット102に機能的に繋がれる。プロキシコントローラスーツ100内では、中央追跡ユニット102は、運動センサ104によって生成された運動信号が基づく基準点として機能する。中央追跡ユニット102は、追跡されるローカル空間204内のプロキシコントローラスーツ100の総位置を正確に追跡するために不可欠であり、その結果、プロキシコントローラスーツ100内の離散運動センサ104の正確な位置は、センサドリフトエラーなしで追跡され得る。中央追跡ユニット102は、共通の集中位置基準点を提供することによって、運動センサ104のためのより正確な追跡システムを提供する。
【0036】
例示的な実施形態では、運動センサ104は、運動(加速度および/または回転)を検出するように構成される。いくつかの実施形態では、運動センサ104は、加速度および向きの変化を測定する慣性測定ユニット(「IMU」)であり、その後、速度および移動に数学的に外挿され得る。適切な運動センサは市販されており、Adafruit9-DOF Absolute Orientation IMU Fusion Breakout BNO055、ならびにジャイロスコープおよび加速度計の機能を含む同様の特性を有するカスタムセンサを含む。
【0037】
加速度および向きの変化を検出するのに有効であるが、従来のIMUセンサは、追跡空間内に明確な位置を提供するように構成されていない。位置情報を従来のIMUセンサの出力のみに依存すると、プロキシコントローラスーツ100の位置および移動を正確に追跡する努力を妨げるセンサドリフトエラーが生じる可能性がある。多くの既存の運動捕捉スーツで提供される解決策は、カルマンフィルタリング、すなわち、その既知の以前の位置およびその状態に影響を及ぼす追加のパラメータ(3D空間におけるその速度または軌跡など)に基づいてアイテムの目標位置を予測することを試みるアルゴリズムを使用することである。しかしながら、試験は、この手法が実質的なドリフトエラーをもたらす可能性もあることを示している。これらのエラーは、離散運動センサの出力がプロキシを正確に制御するために使用される用途での採用を妨げる。
【0038】
これらのセンサドリフトエラーに対処するために、運動センサ104およびコントロールスーツ100の他の構成要素は、中央追跡ユニット102に機能的に繋ぎ戻される。中央追跡ユニット102は追跡空間内で追跡され、絶対位置を有するので、中央追跡ユニット102の正確な位置を他の運動センサに適用することができ、それによってドリフトを排除することができる。このプロセスは、カルマンフィルタリングを使用せずにドリフトを排除し、プロキシ202を制御する際により高い精度を提供する。したがって、運動センサ104を中央追跡ユニット102に繋ぎ戻すことによって、すべての運動センサ104の正確な追跡を達成するために、中央追跡ユニット102の絶対位置を正確に追跡するだけでよい。
【0039】
一般に、運動センサ104は、各運動センサ104がオペレータの骨格の異なる部分の移動を追跡し、その移動を基準中央追跡ユニット102に戻して関連付けるように、オペレータの身体上の位置に戦略的に配置される。例えば、オペレータの右前腕(例えば、
図7の「MS11」)に配置された運動センサは、右前腕の加速度および向きを測定する。単独では、「MS11」運動センサ104からの出力のみを使用してオペレータの右前腕の位置を正確に識別することは困難であろう。しかしながら、オペレータの右手(MS10)から右腕(MS11およびMS12)の上方へ中央追跡ユニット102(MS13)までのセンサの骨格クラスタ内の他の運動センサ104の出力を離散運動センサ104の出力に組み合わせることにより、前腕の移動および位置が正確に追跡され得る。例えば、手首センサ(MS10)および前腕センサ(MS11)のみが加速度または向きの変化を報告し、「右腕センサクラスタ」内の他のセンサが移動を報告しない場合、スーツコントローラ218は、運動をオペレータの肘を中心としたねじれまたは回転として解釈することができる。このようにして、コントロールスーツ100は、「仮想」骨格の移動として出力され得る運動センサ104によって生成されたデータを正確に解釈するための基礎として、オペレータの骨格によって生成された固定位置関係を活用する。
【0040】
例示的な実施形態では、各運動センサ104の回転および加速度は、一般にオペレータの胴体上の中央追跡ユニット102からオペレータの四肢に配置される運動センサ104まで延在するセンサクラスタ126の一部として測定および分析される。中央追跡ユニット102はルートノードとして機能し、他のすべての運動センサ104は、骨格センサクラスタ126内でそれに親になっている。運動センサ104から中央追跡ユニット102の親子構造は
図8に示されており、中央追跡ユニット102はすべてのセグメント化されたグループの親子構造の最終親である。初期較正位置に対する任意の運動センサ104の回転は、子運動センサの回転を親運動センサの回転(または回転の欠如)と比較することによって決定され得る。プロキシ202の移動は、この相対回転に一致するように決定および設定され得る。これは、プロキシ202内の類似の対応する点で実施される同じ回転によって達成される。
【0041】
図7に示すように、プロキシコントローラスーツ100は、15(15)個の運動センサ104(MS15を介してMSIと符号付けされている)と、単一の中央追跡ユニット102とを有する。説明したように、運動センサ104は、データ接続を介して中央追跡ユニット102に繋ぎ戻されるグループ化されたセンサクラスタ126に分割される。これらのセンサクラスタ126を使用して、仮想骨格構造に近似させることができる。近似は、プロキシコントローラスーツ100を較正することによって作成される。較正段階中、コントロールスーツ100はオペレータ200によって着用され、中央追跡ユニット102と各分散型運動センサ104との間の距離、および各相互リンクされた運動センサ104間の距離は推定または測定され得る。
【0042】
運動センサ104は、ストラップ、接着剤、磁石、または他の取り付け機構を使用してオペレータの身体に取り付けられ得る。いくつかの実施形態では、様々な運動センサ104は、オペレータによって着用されるスーツまたは衣服に統合される。いくつかの実施形態では、運動センサ104は、オペレータの以下の箇所、上腕/二頭筋(MS9およびMS12)、前腕部(MS8、MS11)、手首の上の手の上部(MS7およびMS10)、大腿四頭筋(MS3およびMS6)、脛/ふくらはぎ(MS1およびMS5)、足の甲(MS2およびMS4)、頭(MS14)、上部胴体(MS13)および背中/腰(MS15)に配置される。
【0043】
図8に示すように、プロキシコントローラスーツ100は、運動センサ104の5つのクラスタ126で構成することができ、センサクラスタ126は、左二頭筋、前腕、および手に配置された運動センサ104を有し、第2のセンサクラスタ126は、右二頭筋、前腕、および手に運動センサ104を有し、第3のセンサクラスタ126は、左足、脚、大腿および背中の点に運動センサ104を有し、第4のセンサクラスタ126は、右足、脚、大腿および背中の点に運動センサ104を有し、第5のセンサクラスタ126は、オペレータ200の頭に配置された運動センサ104(またはバイザ108)を有する。本明細書で別途述べられているように、他の実施形態は、追加の、またはより少ない運動センサ104、またはセグメント化されたグループ、または異なる向きおよび構成で繋がれたセグメント化されたグループを含むことができることが理解されよう。
【0044】
較正中、セグメント化されたグループ内の運動センサ104間の距離を推定または測定し、次いで精度を調整することができる。例えば、第1のセンサクラスタでの較正中に、MS10運動センサ(右手)からMS11(右前腕)までの距離が測定される。次に、MS11(右前腕)からMS12(右上腕)までの距離が測定される。最後に、MS12(右二頭筋)からMS13(中央追跡ユニット102/胴体)までの距離が測定される。このようにして、右腕センサクラスタ126上の各運動センサ104は、右腕の各部分が中央追跡ユニット102を参照して追跡空間内で追跡されるように、中央追跡ユニット102に繋ぎ戻される。左腕センサクラスタ126(MS7~MS9)、左脚センサクラスタ126(MS1~MS3)、右脚センサクラスタ126(MS4~MS6)についても同様の処理が繰り返され得る。いくつかの実施形態では、左右の脚クラスタ126は、腰の運動センサ(MS15)に繋がれ、次いで中央追跡ユニット102に繋ぎ戻され、それによって追加の胴体センサクラスタ126(MS15およびMS13)を生成する。これらのセグメント化されたグループは、プロキシ202の移動の基準となる仮想骨格構造を生成する。
【0045】
オペレータの身体の様々な部分の移動を正確に検出する目的でオペレータの骨格構造を活用することに加えて、プロキシ202と、コントロールスーツ100によって生成される仮想骨格との間の正確な縮尺を確立することも重要である。オペレータ200およびプロキシ202が全く同じサイズである場合、オペレータ202による各移動は、プロキシ202において1:1の基準で再現され得る。オペレータ200がレバーを把持するために腕を12インチ上げる場合、プロキシ202はその腕を同じ距離だけ上げる。一方、オペレータ200とプロキシ202とが同じサイズまたは比率でない場合、異種プロキシ202が適切に応答するように、コントロールスーツ100によって検出された移動を適切に拡大縮小(スケーリング)することが重要である。プロキシ202内の関節角度はオペレータ200の関節角度と位置合わせすることができるが、プロキシの四肢の長さがオペレータの四肢と一致するように比率的にスケーリングされない限り、プロキシ202の絶対的な肢位置はオペレータ200の対応する肢と一致しない。したがって、較正ルーチンの間、コントロールスーツ100によって生成された仮想骨格の各セグメントのサイズは、プロキシ202の対応する寸法に一致するように拡大縮小され得る(スケーラブル)。較正プロセスは、プロキシコントローラスーツ100が、同じ向上した精度で異なるサイズのオペレータ200によって使用されることを可能にする。
【0046】
図9および
図10を参照すると、プロキシ202のサンプル図が示されている。プロキシ202は、腕、手、胴体、および頭を有する一般的な人間型である。プロキシ202は、脚(
図9に示すように)または車輪付きもしくは追跡されるモビリティシステム(
図10に示すように)を含むことができる。また、プロキシ202は、リモート空間206からの音を検出するための1つまたは複数のプロキシマイクロホン224と、プロキシ202からの音を出力するように構成されたプロキシスピーカ226とを含むことができる。いくつかの実施形態では、プロキシマイクロホン224は、プロキシ202によって記録されたような指向性フォーマットの音をオペレータ200が知覚することを可能にするように、プロキシコントローラスーツ100に渡されるマルチチャネル音を記録するように構成される。例えば、音源からプロキシ202の正面および左側に発する音は、音の方向を示す方法で、プロキシコントローラスーツ100を介してオペレータ200のために再生される。バイザ108によって提供される視野内の視覚的方向インジケータもまた、音の方向を識別するためにオペレータ200によって使用され得る。プロキシ202は、プロキシ202とプロキシコントローラ220との間でデータを交換するように構成された通信モジュール228を含む。
【0047】
例示的な実施形態では、プロキシ202は、プロキシ202を取り囲むフィールドの視覚的描写を提供する1つまたは複数のプロキシカメラ222を含む。いくつかの実施形態では、プロキシカメラ222によって提示される視覚的表現は、バイザ108内の2次元の平坦または湾曲表現でオペレータ200に表示される標準的な2次元ビデオである。2次元表現は、いくつかの用途において適切または十分であり得るが、オペレータ200にとって利用可能な深度知覚の欠如は、リモート3次元空間においてプロキシ202を正確に制御するための努力を妨げる可能性がある。
【0048】
他の実施形態では、プロキシカメラ222は、プロキシ202を取り囲むリモート空間206の3次元表現を提供するように構成される。プロキシカメラ222は、プロキシ202を取り囲む領域の完全な3次元仮想現実表現をレンダリングするように構成されることができ、これはプロキシコントローラスーツ100のバイザ108内に3次元形式で表示され得る。プロキシ202を取り囲む空間の正確な3次元モデルを構築し、このモデルをプロキシコントローラスーツ100に忠実に戻すことにより、2次元視野に関連する深度知覚の問題に対処しながら、ロボットプロキシ202を取り囲む物体の位置、サイズ、および縮尺のはるかに正確な表現が可能になる。
【0049】
視覚データが3次元フォーマットでプロキシコントローラスーツ100に戻される実施形態では、プロキシカメラ222は、標準RGBカラーデータに加えて、取り込まれたフレーム内の各ピクセルの距離情報を提供する深度カメラを使用してデータを収集するように構成される。プロキシコントローラ220およびスーツコントローラ218は、3次元画像データを処理し、このデータを使用してポイントクラウドを構築するように構成され得る。画像内の各ピクセルは、対応する距離だけ離れたプロキシカメラ222の向きに対して、多角形または形状として3次元空間にレンダリングされる。結果として得られる3次元モデルは、プロキシ202を取り囲む物体のリアルタイム表現を、それらの物体とプロキシ202との間の距離に基づいて適切な深度および縮尺で提供する。物体は、プロキシカメラ222から得られたテクスチャおよび色を使用して、または自動画像処理アルゴリズムを使用して物体の3次元表現にテクスチャを適用するカスタムシェーダの使用によって示され得る。
【0050】
他の実施形態では、特にプロキシ202とプロキシコントローラスーツ100との間の帯域幅が制限されている場合、3次元表現は、単純化されたテクスチャのないワイヤフレームメッシュとしてバイザ108に渡されることができる。これにより、情報をレンダリングするビデオ処理の全体的な要求が低減され、通信帯域幅要件の制約が緩和される。プロキシコントローラスーツ100を介してオペレータ200に提示されるワイヤメッシュ表現は、物体が完全にレンダリングされた画像でオペレータ200に表示されない場合でも、プロキシ202を取り囲む物体の3次元描写の正確な距離、位置、縮尺、および比率を提供する。したがって、この解決策は、プロキシコントローラスーツ100のオペレータ200にとって、プロキシ202を取り囲む現実世界を 「仮想現実」 にする効果を有する。3次元仮想現実においてリモート空間206の環境を眺めることによって、オペレータ200に正確な奥行き感を提供することは、オペレータ200がプロキシ202を用いてリモート空間206内の物体を正確に操作することをはるかに容易にし、同時に、リモート空間206を介してプロキシ202をナビゲートするための改善された障害物回避も提供する。
【0051】
リモート空間206の3次元視覚表現を展開する第1の方法では、プロキシカメラ288は、プロキシ202の視野内の物体を取り込むように構成される。この方法では、プロキシ202からの現在の視野の外側またはそれを超える画像を捕捉するための努力なしに、プロキシ202からの直接の視野を記録することによって、リモート空間の3次元表現がリアルタイムで構築される。
【0052】
リモート空間206の3次元視覚的表現を構築する第2の方法では、プロキシカメラ288は、プロキシ202を取り囲むリモート空間206のより完全な3次元表現(プロキシ202の直接の視野外の物体を含む)を構築するように構成される。リモート空間206の完全な3次元表現は、3次元画像を捕捉することによって構築されことができ、リモート空間206内の位置によって記憶され、インデックス付けされることができる。プロキシ202がリモート空間206内の同じ場所に戻ると、格納された画像は、オペレータ200への表示のために、またはプロキシ202によって取得された新しい画像に基づいて比較および改良のために検索されることができる。この方法は、プロキシ202が単一の前向き深度カメラ288を含むアプリケーションに適している。プロキシ202の視線が、以前にスキャンされ、リモート空間206の3次元モデルに統合された物体に戻ると、オペレータ200には、プロキシの現在の視野に相関する既存の3次元モデルの部分が示される。
【0053】
別の実施形態では、プロキシ202を取り囲むリモート空間206の完全な3次元表現は、プロキシ202の直接の向きまたは方向に関係なく、プロキシ202を取り囲む全体の位置をスキャンする深度機能を有する戦略的に配置されたプロキシカメラ288の配列を使用することによって生成される。これにより、オペレータ200は、プロキシ202の前方視野の外側を移動または変化している可能性がある物体を含む、リモート空間206の完全な没入型仮想表現をリアルタイムで知覚することができる。
【0054】
プロキシコントロールスーツ100がリモート空間206の完全な3次元表現に関連して使用される場合、オペレータ200は、ビデオゲームなどの完全な仮想環境内で仮想プロキシを制御するために、オペレータ200がプロキシコントローラスーツ100を使用するのと同じ方法でプロキシ202を制御する。したがって、プロキシコントローラスーツ100は、リモートロボットプロキシ202を制御するのによく適しているが、プロキシコントローラスーツ100は、ビデオゲームまたは他の完全な仮想環境内の仮想プロキシを制御するのにも同様によく適しており、それは例示的な実施形態の範囲内にあると考えられる。
【0055】
図1に概略的に示すように、プロキシコントローラスーツ100は、各々がプロキシコントローラスーツ100とプロキシ202との間でデータを受信、処理、および送信するように構成された、スーツコントローラ218およびプロキシコントローラ220を介してプロキシ202とデータネットワークを介して通信する。スーツコントローラ218は、運動センサメインボード106からの運動情報などの情報、ならびにプロキシコントローラスーツ100の位置および移動を追跡するのに有用であり得る任意の他の情報を収集する。スーツコントローラ218はまた、プロキシコントローラ220、センサ、または他の適切な入力から情報を受信することができる。スーツコントローラ218は、バイザ108などのプロキシコントローラスーツ100の構成要素またはプロキシコントローラスーツ100の任意の他の適切な構成要素にデータを送信することができる。
【0056】
上述したように、スーツコントローラ218は、中央追跡ユニット102の位置およびすべての運動センサデータを使用して、各身体部分の絶対位置を計算するために、スーツコントローラソフトウェアを実装する。スーツコントローラ218は、PC、タブレット、スマートフォン、または任意の他の十分なコンピューティングデバイスなどの外部汎用コンピューティングデバイスとすることができる。スーツコントローラ218はまた、マイクロコントローラ、システムオンチップ、マイクロPC、または他の小型コンピューティングフォームファクタとしてユーザに取り付けられた構成要素としてプロキシコントローラスーツ100に取り付けられ得る。スーツコントローラ218はまた、情報を計算すること、解釈すること、変換すること、クリーニングすること、正規化すること、およびスーツデータを圧縮することなどの機能を実行し、その結果、それはプロキシコントローラ220に最適なフォーマットで送信されることができ、プロキシ202の移動および動作を制御するために、モータ、センサ、および/またはデバイスを作動させるコマンドを実行するためにプロキシコントローラソフトウェアによって利用される。
【0057】
プロキシコントローラ220は、スーツコントローラ218から運動コマンドを受け取る。プロキシコントローラ220は、次いで、移動または他の動作コマンドとしてプロキシ202に送信されるコマンドを処理する。プロキシコントローラ220からプロキシ202への移動コマンドは、プロキシ202上のモータおよび他のデバイスを作動させるためのコマンドを含むことができる。プロキシコントローラ220はまた、環境データ(例えば、温度、ガス組成など)ならびにオーディオおよび視覚データをプロキシ202からスーツコントローラ218に送り返すことができる。当業者、ならびに以下に説明する他の実施形態および説明によって、プロキシコントローラスーツ100は、コントローラ、追加のセンサ、ディスプレイ、接続構成要素、およびユーザフィードバックデバイスなどの追加の構成要素も有し得ることが理解されよう。
【0058】
スーツコントローラ218はまた、スーツ100の構成要素からデータを送受信するなどの他の機能を実行するために使用される。受信データは、周辺コントローラ110から送信されたフレックスセンサデータ、バイザ108内のマイクロホン122によって送信されたオーディオデータ、または有線または無線接続で送信され得る他の任意のデータを含むことができる。送信データは、プロキシ202によって感知され、視覚、聴覚、触覚モータ、または環境データなどのスーツ100に送信された視覚またはオーディオデータに基づくフィードバックデータを含むことができる。スーツコントローラ218はまた、オペレータのサイズおよび身長、バイザディスプレイの明るさ、音量、電力設定、触覚フィードバック感度、TCP/IPネットワーク構成、または任意の他のプロキシコントローラスーツ設定に基づいて、ユーザがプロキシコントローラスーツ100を較正することを可能にする視覚インターフェースを提供することによって、スーツ較正設定または他のプロキシコントローラスーツ100設定を変更するために使用され得る。
【0059】
スーツコントローラ218はまた、運動センサ104または中央追跡ユニット102に基づかない移動情報をプロキシに送信するために使用され得る。例えば、スーツコントローラ218は、運動センサ104の移動がもはやプロキシ202を移動させないようにプロキシに切断信号を送信し、運動センサ104および中央追跡ユニット102に基づいて追跡された移動を再び開始するために後続または再接続信号を送信するために使用され得る。プロキシに位置リセット信号を送信することもでき、これはプロキシに、較正のためにT位置などの予めプログラムされた位置をとるように通知することができる。ジャンプ、走行、歩行、着席、発話、または任意の他の移動もしくは動作コマンドなどの、スーツコントローラを介して送信され得るコマンドとして、他のプリセット移動もまた設定され得る。これらのコマンドは、スーツコントローラ218に直接与えられる入力、バイザを介して与えられるジェスチャもしくは聴覚信号などのユーザによって与えられる他の命令、またはデータおよび命令をスーツコントローラ218に入力する任意の他の十分な手段に基づくことができる。
【0060】
プロキシコントローラ220は、プロキシコントロールソフトウェアを実行する物理ハードウェアデバイスである。プロキシコントローラ220は、プロキシ202が制御を担当する機械またはロボット、ローカルモータ、サーボ、スピーカ、およびセンサなどの部品を含むことができるプロキシ202の様々な部分に接続される。プロキシコントローラ220は、プロキシコントロールソフトウェアからコマンドを受信した場合に、これらすべての構成要素への接続を維持し、それらを可能にし、作動させ、または利用するため動作を行う。プロキシコントローラ220が実行するコマンドの多くは、プロキシコントローラスーツ100のオペレータ200によって実行されている運動または動作のために、スーツコントローラ218のソフトウェアからもたらされる。プロキシコントローラ220はまた、データをスーツコントローラ218に戻って転送して、プロキシコントローラスーツ100のオペレータ200にフィードバックを提供するために使用される。
【0061】
プロキシコントローラ220はまた、プロキシ202およびプロキシコントローラスーツ100の入出力デバイスとの間でデータを送受信するなどの追加の機能を実行するために使用され得る。このデータは、スクリーン、マイクロホン、スピーカ、触覚フィードバックデバイス、または入力および出力を提供することができる任意の他のデバイスなど、プロキシ202またはプロキシコントローラスーツ100上の入出力デバイスからのオーディオおよび視覚データを含むことができる。このデータは、プロキシコントローラ220およびプロキシ202に接続されたカメラ、マイクロホン、または任意の他の入力装置などの様々な周辺機器によって送信または受信され得る。プロキシコントローラ220はまた、較正設定を変更し、スケジュールされたイベントを実行し、または他のプロキシ設定を変更するために使用され得る。プロキシコントローラ218はまた、環境データ、またはリモート空間206に関する任意の他のデータを送信するために使用され得る。プロキシコントローラ220は、プロキシ202が受信または感知することができる他のタイプのデータおよび命令を送受信することができることが理解されよう。
【0062】
使用中、運動センサ104は、運動センサ104からの情報を収集して分析する運動センサメインボード106に接続される。運動センサデータは、運動センサメインボード106によってスーツコントローラソフトウェアによる分析のためにスーツコントローラ218に送信される。追跡された中央追跡ユニット102の位置は、中央追跡ユニット102 によって(または外部センサによって)感知され、追跡された位置データは、スーツコントローラ218に送信される。中央追跡ユニット102の追跡された位置データおよび運動センサ104の移動データを使用して、スーツコントローラ218は、オペレータの身体のすべての追跡されたセグメントの絶対位置を決定する。次いで、このデータは、スーツコントローラ218によってプロキシコントローラ220に送信され、プロキシコントローラ220は、コントロールスーツ100からの移動データを処理し、プロキシ202のための指示された移動およびコマンドに変換する。
【0063】
コントロールスーツ100を使用してプロキシ202を制御することができる前に、コントロールスーツ100およびプロキシ202は、プロキシ202の状態および向きにコントロールスーツ100の位置を登録するために共通の位置に配置されるべきである。例えば、スケーリング処理に続いて、プロキシ202を初期位置またはデフォルト位置に配置し、次いでデフォルト位置をコントロールスーツ100と一致させるようにオペレータに指示することが望ましい可能性がある。いくつかの実施形態では、人間型プロキシ202は、プロキシ202の腕が胴体から外側に略水平な位置に横方向に伸ばされる「Tポーズ」に配置される。次に、オペレータは、コントロールスーツ100を着用している間に「Tポーズ」に一致して、コントロールスーツ100の位置および向きをプロキシ202に登録することができる。プロキシ202およびコントロールスーツ100を最初に登録するために使用されるプロセスは、プロキシ202の解剖学的設計ならびにコントロールスーツ100内のセンサのタイプおよび構成に依存することが理解されよう。
【0064】
図11を参照すると、プロキシ202を制御するためにプロキシコントローラスーツ100を使用するための例示的なプロセスが示されている。具体的には、
図11は、適切に較正されたコントロールスーツ100を使用して、人間型プロキシ202にその右腕を上げるように命令するためのプロセスを説明する。参考のために、腕は、上述のように較正および位置合わせに使用され得るTポーズ位置から持ち上げられる。ステップ300でオペレータが「右腕を振る」と、右手(MS10)および右前腕(MS11)の運動センサ104は、手および前腕の加速度および回転を検知する。これらの測定値を、肩センサ(MS12)および胴体(MS13-中央追跡ユニット102)によって測定された移動の欠如と比較する。
【0065】
ステップ302において、運動データは、運動センサメインボード106およびスーツコントローラ218に送信される。ステップ304において、各運動センサ104の運動データは、次に、スーツコントローラソフトウェアによって相対回転を計算するために使用される。相対回転は、右腕のセンサクラスタ内の各運動センサ104の親運動センサの回転(または回転の欠如)と比較した子運動センサの回転である。この例では、第1の子運動センサは手(MS10)であり、第1の親は前腕(MS11)である。中央追跡ユニット102が親になるまで、運動センサのセグメント化されたグループごとに、第2の子は前腕(MS11)であり、第2の親は肩(MS12)などになる。ステップ306では、相対位置データをパッケージ化してプロキシコントローラ108に転送する。次いで、ステップ308において、相対位置データが、有線または無線接続を介して、プロキシコントローラ220に送信される。ステップ310において、データは、プロキシコントローラ220によって受信され、処理のためにアンパックされる。次に、ステップ312において、位置データがプロキシコントローラソフトウェアによって分析され、相対回転が、運動センサ104がユーザ上に置かれた点と同じプロキシ202上の相対点で決定される。次に、最後のステップ314において、プロキシ移動が開始され、プロキシ202は、それらの移動に基づいてユーザによって所望される方法で移動する。
【0066】
図12を参照すると、プロキシ202を制御するために従来の運動学モデルから逆運動学モデルに切り替えるための方法が示されている。上述した従来の運動学モデルでは、プロキシ202は、これらの移動の大きさを調整するためのスケーリングの有無にかかわらず、オペレータ200の移動に従うように命令される。より大きな全体的な移動の検出、解釈、変換、および適用によく適しているが、従来の順運動学モデルは、プロキシの端末リンケージの正確な位置決めを必要とする特定の移動(例えば、プロキシ202の握り)には望ましくない場合がある。これらの状況では、プロキシ202の移動が、末端リンケージを目標位置に配置するために必要な介在リンケージの移動を決定する前に、最初に目標位置での末端リンケージの所望の配置(例えば、プロキシの握り)に基づいて決定される逆運動学モデルに切り替えることが望ましい場合がある。以下に説明するように、スーツコントローラ218およびプロキシコントローラ220は、逆運動学モデルに自動的にまたは手動で切り替えて、目標位置におけるプロキシ202の一部の配置の精度を高めるようにプログラムされ得る。
【0067】
ステップ400で開始して、スーツコントローラ218は、プロキシコントローラスーツ100の周辺コントローラ110が、バイザ108に表示されたリモート空間206内のプロキシ202の表現内でオペレータ200によって選択された対象物体の閾値距離内にあるかどうかを決定する。このようにして、オペレータ200は、周辺コントローラ110を使用して、バイザ108に表示される視覚的表現を通じて、リモート空間内の特定の対象物体(例えば、レバー)を選択することができ、次いで、プロキシコントローラ220は、対象物体とプロキシ202の手との間の距離を決定する。プロキシ202と対象物体との間の距離が閾値距離未満である場合(例えば、5メートル、1メートル、0.5メートル、0.25メートル、0.1メートル以内)、プロキシコントローラ220およびスーツコントローラ218は、逆運動学モードにスーツコントローラを自動的に配置するように構成され得る。他の実施形態では、
図12に示すように、プロセスは、周辺コントローラ110上のグリップボタンまたは他の入力機能が選択された場合に、スーツコントローラ218が逆運動学モードに手動で配置されるステップ402として継続する。
【0068】
逆運動学モードが選択されると、オペレータ200は、バイザ108のディスプレイ内の対象物体の視覚的表現上で周辺コントローラ110の仮想表現を移動または維持する。次いで、ステップ404において、プロキシコントローラ220は、プロキシ202の手の仮想表現が対象物体上の周辺コントローラ110の仮想位置と一致するように、プロキシ202の手を移動する。次いで、ステップ406で、プロキシコントローラ220および/またはスーツコントローラ218は、プロキシ202の手をリモート空間206内の対象物体に実際に移動させるためのプロキシ移動解を計算する。プロキシ移動解は、リモート空間206内の他の物体との接触、干渉、または制限を回避するように計算され得る。このようにして、プロキシ202(またはプロキシの手または他の端末リンケージ)の移動は、プロキシ202内の中間リンケージのための移動解に戻る前に、プロキシの端末リンケージの所望の終了位置を周辺コントローラ110の配置と一致させることによって決定される。このようにして、プロキシコントローラスーツ100、スーツコントローラ218、プロキシコントローラ220、およびプロキシ202は協働して、プロキシ202の端部リンケージの配置および位置がオペレータ200とプロキシ202との間の総モータ移動の複製よりも優先されるプロキシ202の微細なモータ移動を行うのに特に適している、手動または自動で起動される逆運動学移動モデルを提供する。
【0069】
「含む(including)」、「備える(comprising)」、「からなる(consisting)」という用語およびそれらの文法上の変形は、1つまたは複数の構成要素、特徴、ステップ、もしくは整数またはそれらの群の追加を排除するものではなく、これらの用語は、構成要素、特徴、ステップ、または整数を指定するものとして解釈されるべきであることを理解されたい。本明細書で使用される場合、「プロキシコントロールシステム」 という用語は、プロキシコントローラスーツ100、スーツコントローラ218、プロキシコントローラ220、およびプロキシ202の集合を指す。
【0070】
明細書または特許請求の範囲が「追加の」要素に言及する場合、それは追加の要素が2つ以上存在することを排除しない。特許請求の範囲または明細書が「1つの(a)」または「1つの(an)」要素に言及する場合、そのような言及は、その要素が1つしかないと解釈されるべきではないことを理解されたい。本明細書が、構成要素、特徴、構造、または特性を「含んでもよい(may)」、「含んでもよい(might)」、「含んでもよい(can)」、または「含んでもよい(could)」と述べている場合、その特定の構成要素、特徴、構造、または特性を含める必要はないことを理解されたい。
【0071】
適用可能な場合、状態図、流れ図、またはその両方を使用して実施形態を説明することができるが、本発明はそれらの図または対応する説明に限定されない。例えば、流れは、図示された各ボックスまたは状態を通って、または図示および説明されたのと全く同じ順序で移動する必要はない。
【0072】
本発明の方法は、選択されたステップまたはタスクを手動で、自動的に、またはそれらの組み合わせで実行または完了することによって実施され得る。
【0073】
「方法」という用語は、本発明が属する技術分野の実施者に知られているか、または知られている方法、手段、技術および手順から容易に開発される方法、手段、技術および手順を含むがこれらに限定されない所与のタスクを達成するための方法、手段、技術および手順を指すことができる。
【0074】
本開示の目的のために、本明細書では、数字が続く「少なくとも」という用語は、その数字で始まる範囲の開始を示すために使用される(これは、定義されている変数に応じて、上限を有するかまたは上限を有しない範囲であってもよい)。例えば、「少なくとも1」 は、1または1超を意味する。本明細書では、「多くとも」の後に数字が続く用語は、その数字で終わる範囲の終わり(これは、定義されている変数に応じて、下限として1または0を有する範囲、または下限を有しない範囲であってもよい)を示すために使用される。例えば、「最大4」は4または4未満を意味し、「最大40%」は40%または40%未満を意味する。近似の用語(例えば、「約(about)」、「実質的に(substantially)」、「およそ(approximately)」など)は、別段の指示がない限り、関連技術で使用される通常および通例の意味に従って解釈されるべきである。特定の定義がなく、関連技術における通常および通例の使用がない場合、そのような用語は、基底値の±10%であると解釈されるべきである。
【0075】
本明細書において、範囲を「(第1の数)~(第2の数)」または「(第1の数)-(第2の数)」と記載した場合、第1の数を下限とし、第2の数を上限とする範囲を意味する。例えば、25から100は、下限が25であり、上限が100である範囲を意味すると解釈されるべきである。加えて、範囲が与えられている場合、文脈がそうでないことを示さない限り、その範囲内のすべての可能な部分範囲または区間も特に意図されることに留意されたい。例えば、明細書が25から100の範囲を示す場合、そのような範囲はまた、26~100、27~100など、25~99、25~98などの部分範囲、ならびに記載された範囲内の下限値および上限値の任意の他の可能な組み合わせ、例えば、33~47、60~97、41~45、28~96などを含むことが意図される。この段落では、例示のみを目的として整数範囲値が使用されており、特に除外されない限り、小数および小数値(例えば、46.7~91.3)も、可能な部分範囲の終点として意図されると理解されるべきであることに留意されたい。
【0076】
本明細書で2つ以上の定義されたステップを含む方法を参照する場合、定義されたステップは任意の順序でまたは同時に(文脈がその可能性を除外する場合を除いて)実行されることができ、方法はまた、定義されたステップのいずれかの前、定義されたステップの2つの間、または定義されたステップのすべての後に(文脈がその可能性を除外する場合を除いて)実行される1つまたは複数の他のステップを含むことができることに留意されたい。
【0077】
さらに、近似の用語(例えば、「約(about)」、「実質的に(substantially)」、「およそ(approximately)」など)は、本明細書で別段の指示がない限り、関連技術で使用される通常および通例の意味に従って解釈されるべきであることに留意されたい。本開示内の特定の定義がなく、関連技術における通常および通例の使用がない場合、そのような用語は、基底値のプラスまたはマイナス10%であると解釈されるべきである。
【0078】
さらに、本発明の追加の態様は、本明細書に添付され、および/または本明細書と共に提出される1つまたは複数の付属書に見出すことができ、その開示は、この時点で完全に記載されているかのように参照により本明細書に組み込まれる。
【0079】
したがって、本発明は、目的を実行し、上述の目的および利点、ならびにそれらに固有の目的および利点を達成するようによく適合されている。本発明の装置は、添付の図面に関連して特定の好ましい実施形態を参照して本明細書で説明および図示されているが、本明細書で図示または示唆されたものとは別に、本発明の概念の精神から逸脱することなく、当業者によって様々な変更およびさらなる修正が行われ得る。
【先行技術文献】
【特許文献】
【0080】