(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-23
(54)【発明の名称】ロボットシステムの設計、試験、および検証のためのシステムおよび方法
(51)【国際特許分類】
B64G 7/00 20060101AFI20231016BHJP
B25J 13/00 20060101ALI20231016BHJP
B64G 4/00 20060101ALI20231016BHJP
【FI】
B64G7/00 A
B25J13/00 Z
B64G4/00 105
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023521841
(86)(22)【出願日】2021-10-12
(85)【翻訳文提出日】2023-06-09
(86)【国際出願番号】 CA2021051432
(87)【国際公開番号】W WO2022073140
(87)【国際公開日】2022-04-14
(32)【優先日】2020-10-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】508365953
【氏名又は名称】マクドナルド デットワイラー アンド アソシエイツ インコーポレーテッド
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ヒルツ、マイケル
(72)【発明者】
【氏名】セルペッローニ、エドアルド
(72)【発明者】
【氏名】ルーカス、ロバート
(72)【発明者】
【氏名】バージレンバーグ、バルト
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS14
3C707AS29
3C707KS33
3C707LS20
3C707LV18
(57)【要約】
【解決手段】宇宙用のロボットシステムを設計、試験、および検証するためのシステムおよび方法を提供する。システムは、ロボットマニピュレータと、第1および第2のロボットマニピュレータの物理的相互作用中に第1のロボットマニピュレータによって測定された力およびモーメントに基づいて第1の宇宙ロボットシステムの運動挙動応答をシミュレートする動的システムエミュレータと、第2の宇宙ロボットシステムの運動挙動をエミュレートする第2のロボットマニピュレータと、運動挙動応答に基づいて生成したマニピュレータ先端基準軌道コマンドをロボットマニピュレータに提供するアームコントローラと、マニピュレータ先端基準軌道コマンドに基づく軌道を追跡することで、ロボットマニピュレータが第1の宇宙ロボットシステムの運動挙動をエミュレートするアーム機構とを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
宇宙用のロボットシステムを地上試験するためのシステムであって、
第1のロボットマニピュレータと、
前記第1のロボットマニピュレータと、クライアント宇宙ロボットシステムの運動挙動をエミュレートする第2のロボットマニピュレータと、の間の物理的相互作用中に前記第1のロボットマニピュレータによって測定された力およびモーメントに基づいて、無重力(0G)サービサーロボットアームの運動挙動応答をシミュレートするように構成された第1の動的システムエミュレータと、
前記第1の動的システムエミュレータによってシミュレートされた前記運動挙動応答に基づいて第1のマニピュレータ先端基準軌道コマンドを生成し、前記第1のマニピュレータ先端基準軌道コマンドを前記第1のロボットマニピュレータに提供するように構成された第1のアームコントローラと、
前記第1のマニピュレータ先端基準軌道コマンドに基づいて第1の軌道を追跡することで、前記第1のロボットマニピュレータが前記0Gサービサーロボットアームの運動挙動をエミュレートするように構成された、前記第1のロボットマニピュレータ内の第1のアーム機構と、
を備える第1のロボット試験システムと、
前記第2のロボットマニピュレータと、
前記第2のロボットマニピュレータと、前記0Gサービサーロボットアームの運動挙動をエミュレートする前記第1のロボットマニピュレータと、の間の物理的相互作用中に前記第2のロボットマニピュレータによって測定された力およびモーメントに基づいて、前記クライアント宇宙ロボットシステムの運動挙動応答をシミュレートするように構成された第2の動的システムエミュレータと、
前記第2の動的システムエミュレータによってシミュレートされた前記運動挙動応答に基づいて第2のマニピュレータ先端基準軌道コマンドを生成し、前記第2のマニピュレータ先端基準軌道コマンドを前記第2のロボットマニピュレータに提供するように構成された第2のアームコントローラと、
前記第2のマニピュレータ先端基準軌道コマンドに基づいて第2の軌道を追跡することで、前記第2のロボットマニピュレータが前記クライアント宇宙ロボットシステムの運動挙動をエミュレートするように構成された、前記第2のロボットマニピュレータ内の第2のアーム機構と、
を備える第2のロボット試験システムと、
を備えるシステム。
【請求項2】
前記第1のロボット試験システムおよび前記第2のロボット試験システムに通信可能に接続され、前記0Gサービサーロボットアームの第1の仮想モデルを前記第1のロボットマニピュレータ上にオーバーレイし、かつ、前記クライアント宇宙ロボットシステムの第2の仮想モデルを前記第2のロボットマニピュレータ上にオーバーレイするように構成された複合現実システム、
をさらに備える請求項1に記載のシステム。
【請求項3】
前記第2のロボット試験システムによってエミュレートされる前記クライアント宇宙ロボットシステムは、自由浮遊宇宙船である、請求項1に記載のシステム。
【請求項4】
宇宙ロボットシステムの性能を地上試験するためのロボット試験システムであって、
ロボットマニピュレータと、
前記第1のロボットマニピュレータと、第2の宇宙ロボットシステムの運動挙動をエミュレートする第2のロボットマニピュレータと、の間の物理的相互作用中に前記第1のロボットマニピュレータによって測定された力およびモーメントに基づいて第1の宇宙ロボットシステムの運動挙動応答をシミュレートするように構成された動的システムエミュレータと、
前記動的システムエミュレータによってシミュレートされた前記運動挙動応答に基づいてマニピュレータ先端基準軌道コマンドを生成し、前記マニピュレータ先端基準軌道コマンドを前記ロボットマニピュレータに提供するように構成されたアームコントローラと、
前記マニピュレータ先端基準軌道コマンドに基づいて軌道を追跡することで、前記ロボットマニピュレータが前記第1の宇宙ロボットシステムの運動挙動をエミュレートするように構成された、前記ロボットマニピュレータ内のアーム機構と、
を備えるロボット試験システム。
【請求項5】
前記第1の宇宙ロボットシステムは、0Gサービサーロボットアームである、請求項4に記載のロボット試験システム。
【請求項6】
前記第1の宇宙ロボットシステムは、サービサーロボットアームによってサービスされるクライアント宇宙ロボットシステムである、請求項4に記載のロボット試験システム。
【請求項7】
前記クライアント宇宙ロボットシステムは自由浮遊人工衛星である、請求項6に記載のロボット試験システム。
【請求項8】
2つの独立した宇宙ロボットシステム間のロボット相互作用を地上試験および検証する方法であって、
無重力(0G)サービサーロボットアームのマニピュレータ先端のダイナミクスを捕獲するように構成された第1のロボットアーム内の第1の動的システムエミュレータを使用して、前記第1のロボットアームで前記0Gサービサーロボットアームの運動挙動をエミュレートするステップと、
自由浮遊人工衛星のダイナミクスを捕獲するように構成された第2のロボットアーム内の第2の動的システムエミュレータを使用して、前記第2のロボットアームで前記自由浮遊人工衛星の運動挙動をエミュレートするステップと、
前記運動挙動をエミュレートしている間に、前記第1のロボットアームと前記第2のロボットアームとを物理的相互作用させるステップと、
前記物理的相互作用に基づいて、前記第1のロボットアームが経験する力およびモーメントを、前記第1のロボットアーム内の力モーメントセンサ(FMS)を介して測定するステップと、
前記物理的相互作用に基づいて、前記第2のロボットアームが経験する力およびモーメントを、前記第2のロボットアーム内のFMSを介して測定するステップと、
前記第1の動的システムエミュレータを使用して、前記第1のロボットアームによって測定された力およびモーメントに対する応答をシミュレートするステップと、
前記第2の動的システムエミュレータを使用して、前記第2のロボットアームによって測定された力およびモーメントに対する応答をシミュレートするステップと、
前記第1の動的システムエミュレータによって出力された前記シミュレートされた応答に基づいて、前記第1のロボットアームで軌道を追跡するステップと、
前記第2の動的システムエミュレータによって出力された前記シミュレートされた応答に基づいて、前記第2のロボットアームで軌道を追跡するステップと、
を含む方法。
【請求項9】
前記第1の動的システムエミュレータおよび前記第2の動的システムエミュレータのそれぞれに初期条件を提供して、エミュレートされる前記0Gサービサーロボットアームおよび前記自由浮遊人工衛星の初期状態を決定するステップをさらに含む、請求項8に記載の方法。
【請求項10】
前記第2の動的システムエミュレータに提供される前記初期条件は、前記エミュレートされる自由浮遊人工衛星の初期ドリフトを含む、請求項9に記載の方法。
【請求項11】
エミュレートされる前記0Gサービサーロボットアームの仮想モデルを前記第1のロボットアームにオーバーレイし、かつ、エミュレートされる前記自由浮遊人工衛星の仮想モデルを前記第2のロボットアームにオーバーレイするステップをさらに含む、請求項8に記載の方法。
【請求項12】
パッシブオフロード機構を介して、前記第1のロボットアームを0Gに重力オフロードするステップをさらに含む、請求項8に記載の方法。
【請求項13】
第3のロボットマニピュレータを備えるアクティブオフロード機構を介して、前記第1のロボットアームを0Gに重力オフロードするステップをさらに含む、請求項8に記載の方法。
【請求項14】
前記動的システムエミュレータによって、前記エミュレートされた自由浮遊人工衛星の質量、慣性、剛性、または減衰特性を調整して、前記エミュレートされた宇宙船の質量または慣性の変化イベントをエミュレートするステップをさらに含む、請求項8に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
以下は、一般にはロボット工学に関し、より詳細には、自由に飛行する宇宙船とのロボット相互作用のエミュレーションを含む、宇宙用のロボットシステムを設計、試験、および検証するためのシステムおよび方法に関する。
【背景技術】
【0002】
自動化と人工知能の進歩により、ロボットシステムは、ルナーゲートウェイや軌道上の人工衛星整備などの、将来の宇宙開発構想に不可欠な存在となることが期待されている。宇宙用のロボットシステムの設計、試験、および検証には多くの課題があるが、最も困難なことの1つは、無重力(0G)性能のための制御システムを最適化することと、そのようなシステムと自由飛行するペイロードまたは様々な作業現場インタフェースとの相互作用を評価することである。
【0003】
従って、既存のシステムおよび方法の欠点の少なくともいくつかを克服する、宇宙用のロボットシステムを設計、試験、および検証するための改良されたシステムおよび方法が望まれている。
【発明の概要】
【課題を解決するための手段】
【0004】
ロボットシステムの設計、試験、および検証のいずれか1つ以上のためのシステムおよび方法が提供される。
【0005】
宇宙用のロボットシステムの地上試験及び運用計画のためのシステムが提供される。前記システムは、第1のロボットマニピュレータと、前記第1のロボットマニピュレータと、クライアント宇宙ロボットシステムの運動挙動をエミュレートする第2のロボットマニピュレータと、の間の物理的相互作用中に前記第1のロボットマニピュレータによって測定された力およびモーメントに基づいて、無重力(0G)サービサーロボットアームの運動挙動応答をシミュレートするように構成された第1の動的システムエミュレータと、前記第1の動的システムエミュレータによってシミュレートされた前記運動挙動応答に基づいて第1のマニピュレータ先端基準軌道コマンドを生成し、前記第1のマニピュレータ先端基準軌道コマンドを前記第1のロボットマニピュレータに提供するように構成された第1のアームコントローラと、前記第1のマニピュレータ先端基準軌道コマンドに基づいて第1の軌道を追跡することで、前記第1のロボットマニピュレータが前記0Gサービサーロボットアームの運動挙動をエミュレートするように構成された、前記第1のロボットマニピュレータ内の第1のアーム機構と、を備える第1のロボット試験システムを含む。前記システムは、前記第2のロボットマニピュレータと、前記第2のロボットマニピュレータと、前記0Gサービサーロボットアームの運動挙動をエミュレートする前記第1のロボットマニピュレータと、の間の物理的相互作用中に前記第2のロボットマニピュレータによって測定された力およびモーメントに基づいて、前記クライアント宇宙ロボットシステムの運動挙動応答をシミュレートするように構成された第2の動的システムエミュレータと、前記第2の動的システムエミュレータによってシミュレートされた前記運動挙動応答に基づいて第2のマニピュレータ先端基準軌道コマンドを生成し、前記第2のマニピュレータ先端基準軌道コマンドを前記第2のロボットマニピュレータに提供するように構成された第2のアームコントローラと、前記第2のマニピュレータ先端基準軌道コマンドに基づいて第2の軌道を追跡することで、前記第2のロボットマニピュレータが前記クライアント宇宙ロボットシステムの運動挙動をエミュレートするように構成された、前記第2のロボットマニピュレータ内の第2のアーム機構と、を備える第2のロボット試験システムをさらに含む。
【0006】
前記システムは、前記第1のロボット試験システムおよび前記第2のロボット試験システムに通信可能に接続され、前記0Gサービサーロボットアームの第1の仮想モデルを前記第1のロボットマニピュレータ上にオーバーレイし、かつ、前記クライアント空間ロボットシステムの第2の仮想モデルを前記第2のロボットマニピュレータ上にオーバーレイするように構成された複合現実(MR)システムをさらに含んでもよい。
【0007】
前記第2のロボット試験システムによってエミュレートされる前記クライアント宇宙ロボットシステムは、自由浮遊宇宙船であってもよい。
【0008】
宇宙ロボットシステムの性能を地上試験するためのロボット試験システムが提供される。前記ロボット試験システムは、ロボットマニピュレータと、前記第1のロボットマニピュレータと第2の宇宙ロボットシステムの運動挙動をエミュレートする第2のロボットマニピュレータとの物理的相互作用中に前記第1のロボットマニピュレータによって測定された力およびモーメントに基づいて第1の宇宙ロボットシステムの運動挙動応答をシミュレートするように構成された動的システムエミュレータと、前記動的システムエミュレータによってシミュレートされた前記運動挙動応答に基づいてマニピュレータ先端基準軌道コマンドを生成し、前記マニピュレータ先端基準軌道コマンドを前記ロボットマニピュレータに提供するように構成されたアームコントローラと、前記マニピュレータ先端基準軌道コマンドに基づいて軌道を追跡することで、前記ロボットマニピュレータが前記第1の宇宙ロボットシステムの運動挙動をエミュレートするように構成された、前記ロボットマニピュレータ内のアーム機構と、を含む。
【0009】
前記第1の宇宙ロボットシステムは、0Gサービサーロボットアームであってもよい。
【0010】
前記第1の宇宙ロボットシステムは、サービサーロボットアームによってサービスされるクライアント宇宙ロボットシステムであってもよい。
【0011】
前記クライアント宇宙ロボットシステムは、自由浮遊人工衛星であってもよい。
【0012】
2つの独立した宇宙ロボットシステム間のロボット相互作用を地上試験および検証する方法が提供される。前記方法は、無重力(0G)サービサーロボットアームのマニピュレータ先端のダイナミクスを捕獲するように構成された第1のロボットアーム内の第1の動的システムエミュレータを使用して、前記第1のロボットアームで前記0Gサービサーロボットアームの運動挙動をエミュレートするステップと、自由浮遊人工衛星のダイナミクスを捕獲するように構成された第2のロボットアーム内の第2の動的システムエミュレータを使用して、前記第2のロボットアームで前記自由浮遊人工衛星の運動挙動をエミュレートするステップと、前記運動挙動をエミュレートしている間に、前記第1のロボットアームと前記第2のロボットアームとを物理的相互作用させるステップと、前記物理的相互作用に基づいて、前記第1のロボットアームが経験する力およびモーメントを、前記第1のロボットアーム内の力モーメントセンサ(FMS)を介して測定するステップと、前記物理的相互作用に基づいて、前記第2のロボットアームが経験する力およびモーメントを、前記第2のロボットアーム内のFMSを介して測定するステップと、前記第1の動的システムエミュレータを使用して、前記第1のロボットアームによって測定された力およびモーメントに対する応答をシミュレートするステップと、前記第2の動的システムエミュレータを使用して、前記第2のロボットアームによって測定された力およびモーメントに対する応答をシミュレートするステップと、前記第1の動的システムエミュレータによって出力された前記シミュレートされた応答に基づいて、前記第1のロボットアームで軌道を追跡するステップと、前記第2の動的システムエミュレータによって出力された前記シミュレートされた応答に基づいて、前記第2のロボットアームで軌道を追跡するステップと、を含む。
【0013】
前記方法は、前記第1の動的システムエミュレータおよび前記第2の動的システムエミュレータのそれぞれに初期条件を提供して、エミュレートされる前記0Gサービサーロボットアームおよび前記自由浮遊人工衛星の初期状態を決定するステップをさらに含んでもよい。
【0014】
第2の動的システムエミュレータに提供される前記初期条件は、前記エミュレートされる自由浮遊人工衛星の初期ドリフトを含んでもよい。
【0015】
前記方法は、エミュレートされる前記0Gサービサーロボットアームの仮想モデルを前記第1のロボットアームにオーバーレイし、かつ、エミュレートされる前記自由浮遊人工衛星の仮想モデルを前記第2のロボットアームにオーバーレイするステップをさらに含んでもよい。
【0016】
前記方法は、パッシブオフロード機構を介して、前記第1のロボットアームを0Gに重力オフロードするステップをさらに含んでもよい。
【0017】
前記方法は、第3のロボットマニピュレータを備えるアクティブなオフロード機構を介して、前記第1のロボットアームを0Gに重力オフロードするステップをさらに含んでもよい。
【0018】
前記方法は、前記動的システムエミュレータによって、前記エミュレートされた自由浮遊人工衛星の質量、慣性、剛性、または減衰特性を調整して、前記エミュレートされた宇宙船の質量、慣性、剛性、または減衰特性の変化イベント(または総称して「ダイナミクス変化イベント」)をエミュレートするステップをさらに含んでもよい。
【0019】
その他の態様および特徴は、以下のいくつかの例示的な実施形態の説明を検討することで、当業者にとって明らかになるであろう。
【図面の簡単な説明】
【0020】
ここに含まれる図面は、本明細書の物品、方法、および装置の様々な例を説明するためのものである。
【0021】
【
図1】
図1は、一実施形態に係る、地上での宇宙ベースのロボットシステムの設計、試験、および検証のいずれか1つ以上を可能にするために、宇宙ベースのロボットシステムをエミュレートするためのロボット試験システムのブロック図である。
【0022】
【
図2】
図2は、一実施形態に係る、典型的な宇宙ロボットマニピュレータをエミュレートするように構成された、
図1のロボット試験システムのブロック図である。
【0023】
【
図3】
図3は、一実施形態に係る、自由浮遊宇宙船をエミュレートするように構成された
図1のロボット試験システムのブロック図である。
【0024】
【
図4】
図4は、宇宙での使用のために地上でのロボットシステムおよびミッション運用を設計、試験、または検証するためのシステムのブロック図であり、このシステムは、一実施形態に係る、それぞれ異なる力学系をエミュレートするように構成された
図1のロボットシステムの第1および第2の例を含んでいる。
【0025】
【
図5】
図5は、一実施形態に係る、第1および第2の相互作用力学系を含む宇宙ロボットシステムを地上試験および検証する方法のフロー図である。
【0026】
【
図6】
図6は、一実施形態に係る、宇宙で使用するためのロボットシステムを設計、試験、および検証するためのシステムのブロック図である。
【0027】
【
図7】
図7は、一実施形態に係る、ミッション分析ロボットキットI(「MARK I」)およびミッション分析ロボットキットII(「MARK II」)の相互作用およびシステム時間遅延をさらに説明する、
図6のシステムのブロック図である。
【0028】
【
図8】
図8は、一実施形態に係る、
図6および
図7のシステムのMARK IおよびMARK IIシステムにおけるエミュレーション層を説明するブロック図である。
【発明を実施するための形態】
【0029】
以下、請求項の実施形態を例示するために、様々な装置またはプロセスを説明する。以下で説明する実施形態は、請求項に係る実施形態を限定するものではなく、請求項に係る実施形態は、以下で説明するものとは異なるプロセスまたは装置をカバーすることができる。請求項に係る実施形態は、以下で説明する任意の1つの装置またはプロセスのすべての特徴を有する装置またはプロセスには限定されず、以下で説明する複数またはすべての装置に共通する特徴にも限定されることはない。
【0030】
本明細書に記載の1つまたは複数のシステムは、それぞれが少なくとも1つのプロセッサ、データ記憶システム(揮発性および不揮発性の、メモリおよび/または記憶要素を含む)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを備えるプログラマブルコンピュータ上で実行するコンピュータプログラムにおいて実装され得る。例えば、限定するものではないが、プログラマブルコンピュータは、プログラマブル論理ユニット、メインフレームコンピュータ、サーバ、およびパーソナルコンピュータ、クラウドベースプログラムまたはシステム、ラップトップ、パーソナルデータアシスタンス、携帯電話、スマートフォン、またはタブレットデバイスであってもよい。
【0031】
各プログラムは、好ましくは、コンピュータシステムと通信するための高レベルの手続き型またはオブジェクト指向のプログラミング、および/またはスクリプト言語で実装される。しかしながら、プログラムは、必要に応じて、アセンブリ言語または機械語で実装することができる。いずれにせよ、言語は、コンパイル言語またはインタプリタ型言語であってもよい。このような各コンピュータプログラムは、本明細書で説明する手順を実行するためにコンピュータによって記憶媒体またはデバイスが読み取られたときに、コンピュータを構成および機能させるための、汎用または特定用途のプログラマブルコンピュータによって読み取り可能な記憶媒体またはデバイスに格納されることが好ましい。
【0032】
互いに通信するいくつかの構成要素を有する実施形態の説明は、そのようなすべての構成要素が必要であることを意味するものではない。それどころか、本発明の多種多様な可能な実施形態を説明するために、様々な選択的な構成要素が説明されている。
【0033】
さらに、プロセスステップ、方法ステップ、アルゴリズムなどは、(本開示および/または特許請求の範囲において)連続した順序で記述されることがあるが、そのようなプロセス、方法およびアルゴリズムは、代替の順序で動作するように構成され得る。換言すれば、記述され得るステップの任意のシーケンスまたは順序は、ステップがその順序で実行されることを必ずしも要求するものではない。本明細書に記載されるプロセスのステップは、実用的な任意の順序で実行され得る。さらに、いくつかのステップは、同時に実行されてもよい。
【0034】
単一の装置または物品が本明細書に記載される場合、複数の装置または物品(それらが協働するか否かに関わらず)が単一の装置/物品の代わりに使用され得ることは、容易に明らかであろう。同様に、複数の装置または物品が本明細書に記載されている場合(それらが協働するか否かに関わらず)、単一の装置/物品が複数の装置または物品の代わりに使用され得ることは、容易に明らかであろう。
【0035】
以下は、一般にはロボット工学に関し、より詳細には、自由飛行する宇宙船とのロボット相互作用のエミュレーションを含む、宇宙での使用および運用のためのロボットシステムの設計、試験、および検証のいずれか1つまたは複数のための、システムおよび方法に関する。
【0036】
ここで、
図1を参照すると、そこに示されているのは、一実施形態に係るロボット試験システム100である。
【0037】
ロボット試験システム100は、共同タスクを実行するための独立した制御システムを有する2つの独立したロボットシステムを含むロボットシステムを設計、試験、または検証するためのより大きなシステムの一部として、サービサーロボットシステムまたはクライアントロボットシステムをエミュレートするために使用されてもよい。従って、ロボットシステム100は、例えば、宇宙で使用されるロボットシステムの性能および相互作用を評価するための地上試験プロセスの一部として使用することができる。
【0038】
例えば、ロボット試験システム100は、地上試験プロセスの一部として、サービサー0Gロボットマニピュレータなどのサービサーロボットシステムをエミュレートするために使用することができる。
【0039】
ロボットシステム100は、ロボットマニピュレータ(シリアルロボットマニピュレータの場合、ロボットアームとも呼ばれる)102と、ロボットマニピュレータ制御サブシステム104とを含む。
【0040】
通常、動作中には、ロボットマニピュレータ102およびロボットマニピュレータ制御サブシステム104は、互いに通信する。
【0041】
ロボットマニピュレータ102は、アーム機構106と、力モーメントセンサ(FMS、または力トルクセンサ)108と、インタフェーシングコンポーネント110とを含む。
【0042】
アーム機構106は、リンクおよびジョイントのアセンブリを含む。リンクはアーム機構106の剛性部であり、ジョイントは、接続された2つのリンク間の制限された相対運動を可能にする当該2つのリンク間の接続部である。リンクおよびジョイントの数は、用途によって異なり得る。
【0043】
アーム機構106は、アームコントローラ(後述のアームコントローラ112)から受信したコマンドに基づいて軌道を追跡するように構成される。アーム機構106は、さらに、ジョイント角度測定値をロボットマニピュレータ制御サブシステム104に(すなわち、アームコントローラに)、処理のために、提供してもよい。
【0044】
FMS108は、ロボットマニピュレータ102が経験する接触力およびモーメントを測定するように構成される。FMS108は、力モーメントセンサ測定値をロボットマニピュレータ制御サブシステム104に提供する。
【0045】
インタフェーシングコンポーネント110は、典型的には、ロボットマニピュレータ102の先端もしくは自由端、またはその近傍にあるコンポーネントであり、第2の独立したロボットシステムの第2のロボットマニピュレータ上の相補的なインタフェーシングコンポーネントとの物理的なインタフェースまたは係合の相互作用に関与している。このように、インタフェーシングコンポーネント110は、実際の動作において(すなわち、試験の状況の外部における2つのエミュレートされたロボットシステムの間で)実行されるのと同様の方法で、ロボットマニピュレータ102を第2のロボットマニピュレータに物理的に係合するために使用される。
【0046】
一例では、インタフェーシングコンポーネント110は、捕獲および硬化操作に参加するロボットインタフェースの半分であり、それによって、第1のロボットマニピュレータ102が、第2の動的システムをエミュレートする第2のロボットマニピュレータに対して硬化する(ロボットマニピュレータ102は捕獲されてもよいし、捕獲を実行していてもよい)。捕獲及び硬化操作は、自由浮遊または自由飛行する宇宙船(例えば、人工衛星)を宇宙ロボットマニピュレータによって捕獲及び硬化を模倣することを意図し得る。
【0047】
ロボットマニピュレータ制御サブシステム104は、アームコントローラ112と動的システムエミュレータ114とを含む制御ソフトウェア111を含む。
【0048】
アームコントローラ112は、アーム機構106にアームおよびジョイントのレベルコマンド(例えば、後述のコマンド122)を提供する。アームおよびジョイントのレベルコマンドは、外部センサからの入力、他のコントローラからの出力、および自動化されたコマンドのうちのいずれか1つ以上に基づいて提供されてもよい。アームコントローラ112は、ロボットマニピュレータ102と、ロボットマニピュレータ102が相互作用している第2のロボットシステム/マニピュレータとの間の接触力をアームコントローラ112が調節することによって、力制御を行うように構成されていてもよい。アームコントローラ112は、アームコントローラ112が一定のスタンドオフ距離を維持し、ロボット試験システム100が相互作用している第2のロボット試験システムによってエミュレートされているターゲット人工衛星とドリフト率を一致させることによって、ビジュアルサーボ制御を行うように構成されてもよい。
【0049】
動的システムエミュレータ114は、所望の電気機械システムのダイナミクスを捕獲するように構成され得るシミュレータを備える。動的システムエミュレータ114は、アーム機構106の基準軌道を制御するソフトウェアに組み込まれてもよい。動的システムエミュレータ114は、ロボットアーム102の先端(または自由端付近のある解像度の点)が所望の力学系の挙動を再現することを可能にする。これは、例えば、ロボットマニピュレータ102とは異なる(例えば、より短い/より長い、より軽い/より重い)ターゲットマニピュレータの先端ダイナミクスをエミュレートすることや、自由浮遊宇宙船の浮遊ダイナミクスをエミュレートすることを含んでもよい。
【0050】
一実施形態において、エミュレートされたシステム(例えば、宇宙マニピュレータ、人工衛星)のダイナミクス/運動学は、Simulinkまたは同様のプログラミング環境を通じて、動的システムエミュレータ114においてコード化することができる。
【0051】
一実施形態では、動的システムエミュレータ114は、1つまたは複数のサービスタスク(「サービサーロボットアーム」)を実行するように構成された0Gロボットアームをエミュレートするように構成されてもよい。別の実施形態では、動的システムエミュレータ114は、ロボット作業現場インタフェースまたは自由浮遊人工衛星などの、クライアント宇宙ロボットシステムをエミュレートするように構成されてもよい。一般に、クライアント宇宙ロボットシステムは、ロボットシステム相互作用を介してサービサーロボットアームによってサービスされるロボットシステムである。
【0052】
動的システムエミュレータ114は、動的システムモデルを実行するように構成される。動的システムモデルは、ロボットマニピュレータ102の先端のターゲット挙動の数学的モデルを表してもよい。
【0053】
場合によっては、動的システムエミュレータ114は、初期条件が動的システムエミュレータ114に提供可能なように構成されてもよい。初期条件は、例えば、ユーザインタフェースを介して入力されたユーザ入力データを介して提供されてもよい。その後、初期条件は、動的システムエミュレータ114によって、シミュレートされる動的システムの初期状態を決定するために使用されてもよい。一例として、動的システムエミュレータ114が自由浮遊人工衛星のダイナミクスをエミュレートするように構成されている場合に、初期条件は、ロボットマニピュレータ102に初期の目標ドリフト率を割り当てる動的システムエミュレータ114に提供されてもよい。
【0054】
一般に、システム100の動作中には、ロボットマニピュレータ102が環境と相互作用すると、ロボットマニピュレータ102は、FMS108によって測定される力(接触力)及びモーメント116を経験する。FMS測定値118は、動的システムエミュレータ114に提供される。FMS測定値118は、動的システムエミュレータ114による内部シミュレーションを駆動するために使用される。FMS測定値118は、外乱として、動的システムモデルシミュレーションに提供されてもよい。動的システムエミュレータ114は、動的システムモデルを使用して、力およびモーメントに対するシステムの応答をシミュレートする。その後、動的システムエミュレータ114によって実行される内部シミュレーションの出力は、ロボットマニピュレータ102のアーム機構106によって追跡される。動的システムエミュレータ114によって決定されたシステム応答は、アーム機構106が追跡するための基準軌道を生成するために使用されてもよい。例えば、動的システムエミュレータ114は、システム応答をマニピュレータ102の先端基準コマンドとして生成してもよく、このコマンド120は、アームコントローラ112に伝達されてもよい。その後、基準コマンド信号は、アームコントローラ112からアーム機構106に伝達されるアームおよびジョイントのコマンド122(動的システムエミュレータ114の出力に基づく)を通じて、アームおよびジョイントの制御動作を介して追跡される。
【0055】
ここで
図2を参照すると、そこに示されているのは、一実施形態に係る、宇宙ベースのロボットシステム相互作用の地上試験および検証のためのシステムで使用するためのロボット試験システム200である。
【0056】
ロボット試験システム200は、
図1のロボット試験システム100の一例であり、エミュレートされる動的電気機械システムは、サービサー宇宙ロボットアームである。したがって、以下のいずれの例もシステム100に適用でき、システム100を参照して上述したいずれの例も、システム200に適用できる。
【0057】
ロボットシステム200は、異なるマニピュレータ設計およびコンセプト(すなわち、1つまたは複数の「ターゲットマニピュレータ」)の動的性能を再現するために使用可能であり、かつ、多種多様な自由飛行ペイロードおよび作業現場インタフェースをエミュレートする汎用性を有する動的エミュレータシステム(例えば、
図3のシステム300)と対話可能である。
【0058】
特に、ロボット試験システム200は、異なるマニピュレータの先端ダイナミクスをエミュレートするように構成される。異なるマニピュレータは、例えば、より大きいまたはより小さいロボットアーム、または、より軽いまたはより重いロボットアームであってもよい。異なるマニピュレータは、0Gアームであってもよい。
【0059】
ロボットマニピュレータ102は、アーム機構106に接続されたエンドエフェクタ202を含む。エンドエフェクタ202は、アーム機構106の自由端に接続された周辺装置またはツールであり、環境(例えば、後述する
図3のロボット試験システムなどの他のロボットシステム)と対話するように構成される。
【0060】
ロボットマニピュレータ102は、システム200のインタフェーシングコンポーネント110であるプローブ204をさらに含む。プローブ204は、第2のロボット試験システム(例えば、
図3のシステム300)上のインタフェーシングコンポーネント110に係合し、ロボット試験システム200と第2のロボット試験システムとの間の物理的接続を確立するように構成される。プローブ204は、第2のロボット試験システム上でターゲットの視覚的追跡を実行するようにさらに構成されてもよい。プローブ204の動作は、ロボットマニピュレータ制御サブシステム104内のプローブコントローラ206によって制御される。
【0061】
ロボット試験システム200は、重力オフロード機構208をさらに含む。重力オフロードは、ロボットマニピュレータ102が0Gロボットマニピュレータとして機能するように、ロボットマニピュレータ102を重力オフロードするように構成される。
【0062】
重力オフロード機構208は、パッシブ重力オフロード機構またはアクティブ重力オフロード機構であってもよい。
【0063】
ロボット試験システム200の動的システムエミュレータ114は、「ターゲットマニピュレータ」(例えば0Gマニピュレータ)の先端ダイナミクスを捕獲およびエミュレートするように構成される。動的システムエミュレータ114は、ターゲットマニピュレータのダイナミクスおよび制御スキームを捕獲するように構成される。
【0064】
ロボットマニピュレータ102は、7自由度(DOF)マニピュレータであってもよい。ロボットマニピュレータ102は、既知の宇宙マニピュレータシステムのロボットアームと運動学的に同等であるように構成されてもよい。
【0065】
ロボットマニピュレータ102は、ロール・ヨー・ピッチ・ピッチ・ピッチ・ヨー・ロールのトポロジーを使用するように構成されてもよい。
【0066】
重力オフロード機構208は、アーム102の全重量をカウンターバランスするために使用されてもよい。アーム102のパッシブなカウンターバランスは、各リンクの重心がそのジョイント駆動軸上に落ちるようにアーム重量を再分配し、ケーブルプーリシステムでエンドエフェクタ202の重量と釣り合わせることによって提供されてもよい。
【0067】
重力オフロード機構208は、限られた作業空間にわたって、アーム102がほぼ無重量環境で動作することを保証することができる。この挙動は、アーム102のヨージョイントの1つ目をロックすることによってピッチ平面の回転が抑制され、アームを実質的に6自由度アームとするように規制されてもよい。
【0068】
アーム機構106のアームジョイントは、ギア比、ギアボックスの剛性、および出力トルクに関して、飛行を表すように構成されてもよい。
【0069】
ロボットマニピュレータ102は、1つまたは複数のエンドエフェクタ202を備えてもよい。
【0070】
ロボット試験システム200は、アーム102の自重が重力オフロード機構208によってバランスが取られている場合には、他の地上のロボットよりも優れたペイロード処理能力を提供し得る。
【0071】
例えば、ロボット試験システム200は、構成された動的システムエミュレータ114を使用して、以下のタスクのいずれか1つ以上を実行するように構成された0Gマニピュレータをエミュレートするのに使用することができる:入ってくる訪問輸送手段およびペイロードの捕獲、それらの(例えば、ISSへの)ドッキング、(複雑な)ステーションの保守・修理タスクの実行、組立・保守タスク、(無人または有人の)訪問輸送手段を捕獲してステーションへのドッキング、ステーション上のモジュールの位置の再構成、ステーションの外側構造上を移動して所望の場所に到達すること、保守・修理タスクの実行、および、人工衛星サービスタスク(すなわち、支援を必要とする既存の宇宙船とランデブーして、給油、保守、修理などの寿命を延ばすサービスを提供することが目標の宇宙任務)。したがって、そのようなタスクの性能は、ロボット試験システム200(または本明細書に記載される他のシステム)を使用して地上試験することができる。
【0072】
ここで
図3を参照すると、そこに示されているのは、一実施形態に係るロボット試験システム300である。
【0073】
ロボット試験システム300は、エミュレートされる動的電気機械システムが自由浮遊宇宙船(例えば、人工衛星)である
図1のロボット試験システム100の一例である。したがって、以下のいずれの例もシステム100に適用されてもよく、システム100を参照して上述したいずれの例もシステム300に適用されてもよい。
【0074】
システム300の動的システムエミュレータ114は、自由浮遊人工衛星のダイナミクスをエミュレートするように構成される。動的システムエミュレータ114によってエミュレートされる人工衛星は、様々な慣性およびジオメトリの、制御された人工衛星および制御されていない人工衛星を含んでもよい。
【0075】
ロボットマニピュレータ102は、従来の1G対応アームとして動作するように構成されてもよい。
【0076】
ロボット・マニピュレータ102は、システム300のインタフェーシングコンポーネント110であるターゲット302を含む。ターゲット302は、第2のロボット試験システム(例えば、
図2のシステム200のプローブ204)上のインタフェーシングコンポーネント110とインタフェースし、ロボット試験システム300と第2のロボット試験システムとの間の物理的接続を確立するように構成される。ターゲット302は、ロボットインタフェースのパッシブな側または半分であってもよく、そのアクティブな半分は、システム300と相互作用する第2のロボット試験システムによって提供される。ターゲット302は、第2のロボット試験システムによる視覚的追跡を可能にするための視覚的ターゲットコンポーネントを含んでもよい。
【0077】
ロボットマニピュレータ制御サブシステム104は、姿勢制御システム304をさらに含む。姿勢制御システム304は、ロボット試験システム300によってエミュレートされる人工衛星の姿勢制御システムとして機能するように構成される。この形態では、ロボットマニピュレータ制御サブシステム104は、クライアント宇宙船の内部制御システムをエミュレートすることができ、サービサーロボットと、アクティブに制御され動作するクライアント宇宙船と、の間の相互作用を効果的に試験することができる。
【0078】
一実施形態では、ロボットマニピュレータ102は、動的システムエミュレータ114を使用して、人工衛星姿勢制御ハードウェア(アクチュエータおよびセンサ)およびソフトウェア(飛行コード)のハードウェア・イン・ザ・ループの試験を可能にし得る。このシナリオでは、ロボットマニピュレータ102は、本明細書に記載されるように、ターゲット人工衛星のダイナミクスのパッシブなダイナミクスをエミュレートする。仮想化されたアクチュエータおよびセンサのモデルを含む代わりに、実際のアクチュエータ(例えば、コールドガススラスタ、制御モーメントジャイロ、またはリアクションホイール)、およびセンサ(例えば、加速度計または姿勢センサ)が、機械的インタフェースを介してアーム102の先端に取り付けられてもよい。制御力およびトルクは、アームの力トルクセンサ108によって読み取られ、ターゲット人工衛星をエミュレートするためにアーム応答を更新するために使用される。このセットアップにより、人工衛星の姿勢および位置制御サブシステムの実際のソフトウェアおよびハードウェアを試験することができる。
【0079】
ここで
図4を参照すると、そこに示されているのは、一実施形態に係る、サービサーロボットシステム(例えばサービサーロボットアーム)とクライアントロボットシステム(例えば自由浮遊人工衛星、ロボット作業現場インタフェース)との間の宇宙ベースのロボットシステム相互作用を地上で試験および検証するためのシステム400である。
【0080】
一例では、システム400は、挙動が従来の方法では容易に再現できない力学系と相互作用するときの、宇宙ロボットアームの性能を評価し調査するために使用されてもよい。
【0081】
システム400は、第1のロボット試験システム402および第2のロボット試験システム404を含む。システム400は、複合現実システム406をさらに含んでもよい。
【0082】
第1および第2のロボット試験システム402、404は、
図1のロボット試験システム100の異なる構成例である。したがって、以下の例のいずれも、システム100に適用され得、システム100を参照して上述した例のいずれも、システム400に適用され得る。第1および第2のロボット試験システム402の構成要素は、明確のため、それぞれ「a」および「b」を追加して
図1と同じ参照数字が与えられている。
【0083】
特に、第1のロボット試験システム402は、
図2のロボット試験システム200の一例であり、第2のロボット試験システム404は、
図3のロボット試験システム300の一例である。
【0084】
第1のロボット試験システム402は、0Gサービサーロボットアームをエミュレートするように構成され、第2のロボット試験システム404は、自由浮遊宇宙船(人工衛星)の形態のクライアントロボットシステムをエミュレートするように構成される。
【0085】
他の実施形態では、第2のロボット試験システム404は、ロボット作業現場インタフェースなどの、異なるクライアント空間ロボットシステムをエミュレートするように構成され得る。
【0086】
一実施形態では、第1のロボットマニピュレータ102aは、7自由度、重力補償(0G)ロボットアームであってもよく、第2のロボットマニピュレータ102bは、動的システム評価用の7自由度1Gロボットアームであってもよい。
【0087】
一般に、第1および第2のロボット試験システム402、404は、それぞれ、サービサーロボットアームおよび自由浮遊宇宙船をエミュレートして、物理的に相互作用するように構成され、それにより、エミュレートされる2つの宇宙ベースのロボットシステム間の相互作用が地上ベースの試験環境で評価され得る。
【0088】
特に、第1のロボット試験システム402の第1のロボットマニピュレータ制御サブシステム104aによって実行される動的システムエミュレータ114は、第1のロボットマニピュレータ102aの先端が0Gサービサーロボットアームの運動挙動をエミュレートするように構成される。第2のロボット試験システム404の第2のロボットマニピュレータ制御サブシステム104bによって実行される動的システムエミュレータ114は、第2のロボットマニピュレータ102bの先端が自由浮遊人工衛星の運動挙動をエミュレートするように構成される。
【0089】
第1および第2のロボット試験システム402、404は、同じアームおよびジョイント制御システム112を実行することができる。
【0090】
第1および第2のロボット試験システム402、404は、第1のロボットマニピュレータ102aが第2のロボットマニピュレータ102bを視覚的に追跡して物理的接続を確立するように操作される(矢印406で示す)。物理的接続は、フリーフライヤ捕獲エミュレーションであってもよい。第1および第2のシステム402、404が相互作用すると、接触力およびモーメント408、410が、第1および第2のロボットマニピュレータ102a、102bによってそれぞれ経験される。力およびモーメントは、上述の通り、システム402、404によって測定され、動的システムエミュレータ114によって実行される内部シミュレーションの駆動に使用される。
【0091】
MRシステム406は、第1および第2のロボット試験システム402、404の制御サブシステム104a、104bと通信を行う。制御サブシステム104a、104bからMRシステム406に伝達されるデータは、位置決めデータ(位置および向き)を含み得る。位置決めデータは、例えば、ロボット102a、102bそれぞれのエンドエフェクタ上の分解能の点の位置決めデータを含むことができる。一般に、一般化された軌道情報は、制御サブシステム104a、104bとMRシステム406との間で共有され得る。一般化された軌道情報は、例えば、一般化された位置(x、y、z、ヨー、ピッチ、ロール)およびその導関数:一般化された速度、加速度を含み得る。これは、MRシステム406のMRソフトウェアによって使用され、例えば、実際のサービサーアームジオメトリおよび実際のクライアント宇宙船ジオメトリ、または抽象化データなどの、関心対象の視覚エミュレーションを投影する(例えば後述する)。
【0092】
MRシステム406から制御サブシステム104a、104bに伝達されるデータは、コマンドおよび制御データを含む。これにより、オペレータは、スクリプト化されたコマンドをロボット402、406に送信することができる(例えば後述する)。
【0093】
MRシステム406は、オペレータが第1および第2のロボットアーム102a、102bを遠隔操作できるように構成されてもよい。
【0094】
MRシステム406は、エミュレートされる2つのロボットシステムの仮想モデルをロボットマニピュレータ102a、102b上にオーバーレイするように構成されてもよい。MRシステム406は、仮想モデルをアーム102a、102b上に固定するように構成されてもよい。ロボット404がエミュレートしているものの上に人工衛星の仮想モデルをオーバーレイすることで、実行されているマヌーバ/試験を容易に理解することができる。システム402によってエミュレートされているロボットマニピュレータの仮想モデルをオーバーレイすることで、アームの反応などの迅速な視覚化を提供することができる。
【0095】
MRシステム406は、テレメトリをレンダリングするように構成されてもよい。レンダリングされたテレメトリは、ロボットアーム102a、102bの実際のテレメトリを含んでもよい。レンダリングされたテレメトリは、システム402、404それぞれの動的システムエミュレータ114(
図4には示されていない)によって生成された仮想テレメトリを含んでもよい。
【0096】
MRシステム406は、モデルとモデルに対する制約とを定義し、共通参照フレームを作成/強化し、レンダリングのためにテレメトリをルーティングするように構成されてもい。
【0097】
MRシステム406は、ロボットシステム402、404の試験全体をスクリプト化するように構成されてもよい。例えば、MRシステム406は、オペレータがアームスクリプト化された挙動をロードして実行できるように構成されてもよい。
【0098】
MRシステム406は、ミッション計画タスクをサポートするために、ユーザが第1および第2のロボットアームシステム402、404を用いてマヌーバを設計、計画、および実行できるように構成されてもよい。MRシステム406は、試験環境内の任意の位置からリアルタイムでアーム102a、102bのテレメトリストリームの視覚化を提供してもよい。
【0099】
MRシステム406は、例えばMRシステム406によって実行されるユーザインタフェースを介して、アーム102a、102bの再構成を可能とし、発行するコマンドを選択するように構成されてもよい。
【0100】
システム400は、様々な機能性および能力を提供してもよく、様々な試験用途を有してもよい。様々な試験用途は、ナビゲーションおよび制御アルゴリズムの設計および試験、実際のアーム操作のための制御パラメータチューニングの実行、将来のロボットミッションおよび既存のシステムの更新のための新規な制御アルゴリズムの迅速な試作、新たにチューニングされた第1のロボットアーム制御システムパラメータの性能評価の実行(コントローラチューニング)、ミッション計画、操作手順の試行、自由空間マヌーバにおけるロボットアーム性能およびアームが構造物と接触するときのロボットアーム性能の評価、ロボットインタフェースおよび人工衛星捕獲の試験などを含む。
【0101】
ここで
図5を参照すると、そこに示されているのは、一実施形態による、2つの独立した宇宙ロボットシステム間のロボット相互作用を地上で試験および検証する方法600である。
【0102】
方法600は、
図4のシステム400を使用して実行されてもよい。
【0103】
602において、方法600は、第1のロボットアーム(例えば、ロボット試験システム402)を用いて、0Gサービサーロボットアームの運動挙動をエミュレートすることを含む。エミュレートは、0Gサービサーロボットアームのダイナミクスを捕獲するように構成された第1の動的システムエミュレータ(例えば、
図1の動的システムエミュレータ114)を使用して実行される。例えば、動的システムエミュレータは、ターゲットマニピュレータ(0Gサービサーロボットアーム)の先端ダイナミクスを捕獲し、動的システムエミュレータ114におけるスキームを制御するように構成されてもよい。
【0104】
604において、方法600は、第2のロボットアーム(例えば、ロボット試験システム404)を用いて、自由浮遊人工衛星の運動挙動をエミュレートすることを含む。エミュレートは、自由飛行人工衛星の浮遊ダイナミクスなどのダイナミクスを捕獲するように構成された第2の動的システムエミュレータ(例えば、
図1の動的システムエミュレータ114)を使用して実行される。
【0105】
自由飛行人工衛星のダイナミクスをエミュレートすることは、動的システムエミュレータに人工衛星の姿勢決定および制御を仮想的に組み込むこと、または、第2のロボットアーム内の実際の姿勢決定および制御のハードウェア(ジャイロ、スラスタなど)を使用して人工衛星の姿勢決定および制御をエミュレートすること、を含み得る。
【0106】
任意に、602および604の前に、方法600は、0Gサービサーロボットアームおよび自由浮遊人工衛星の初期状態を決定するために、第1および第2の動的システムエミュレータのそれぞれに初期条件(例えば、動的システム条件)を与えることを含み得る。初期条件は、ユーザインタフェースを介してオペレータによって提供されてもよい。一例では、初期条件を提供することは、自由浮遊人工衛星のダイナミクスをエミュレートするときに、第2のロボットアームに初期ドリフトを割り当てることを含み得る。
【0107】
606において、方法600は、第1のロボットアーム(0Gサービサーロボットアームをエミュレートする)と第2のロボットアーム(自由浮遊人工衛星をエミュレートする)とが物理的に相互作用することを含む。物理的相互作用は、例えば、自由浮遊人工衛星に関するサービサーロボットアームによるタスクまたは操作の実行など、宇宙における2つのエミュレートされたロボットシステム間の物理的相互作用を複製することを含み得る。一例では、物理的相互作用は、第1のロボットアームが、宇宙での自由浮遊捕獲操作を模倣して第2のロボットアームを捕獲し硬化させることを通じた、捕獲及び硬化プロセスを含み得る。
【0108】
608において、方法600は、606における物理的相互作用に基づいて、第1のロボットアームによって経験される力およびモーメントを測定することを含む。力およびモーメントは、第1のロボットアーム内のFMS(例えば、
図1のFMS108)により測定される。
【0109】
610において、方法600は、606における物理的相互作用に基づいて、第2のロボットアームによって経験される力およびモーメントを測定することを含む。力およびモーメントは、第2のロボットアーム内のFMS(例えば、
図1のFMS108)により測定される。
【0110】
612において、方法600は、第1のロボットアーム内の第1の動的システムエミュレータを使用して、第1のロボットアームにより測定された力およびモーメントに対する応答をシミュレートすることを含む。その際、第1の動的システムエミュレータは、0Gサービサーロボットアームの応答をシミュレートする。
【0111】
614において、方法600は、第2のロボットアーム内の第2の動的システムエミュレータを使用して、第2のロボットアームにより測定された力およびモーメントに対する応答をシミュレートすることを含む。その際、第2の動的システムエミュレータは、自由浮遊人工衛星の応答をシミュレートする。
【0112】
616において、方法600は、612において第1の動的システムエミュレータによって出力された、シミュレートされた応答に基づいて、第1のロボットアームを用いて軌道を追跡することを含む。その際、第1のロボットアームは、第2のロボットアームによってエミュレートされた自由浮遊人工衛星との物理的相互作用に基づいて、0Gサービサーロボットアームの運動挙動をエミュレートする。これは、第1の動的システムエミュレータの出力を第1のロボットアームのアームコントローラに提供して、アーム及びジョイントのコマンドを生成することを含んでもよく、このコマンドは、アームコントローラから第1のロボットアームのアーム機構に伝達され得る。
【0113】
618において、方法600は、614において第2の動的システムエミュレータによって出力された、シミュレートされた応答に基づいて、第2のロボットアームを用いて軌道を追跡することを含む。その際、第2のロボットアームは、第1のロボットアームによってエミュレートされた0Gサービサーロボットアームとの物理的相互作用に基づいて、自由浮遊人工衛星の運動挙動をエミュレートする。これは、第2の動的システムエミュレータの出力を第2のロボットアームのアームコントローラに提供して、アーム及びジョイントのコマンドを生成することを含んでもよく、このコマンドは、アームコントローラから第2のロボットアームのアーム機構に伝達され得る。
【0114】
任意に、方法600の実行中に、方法600は、エミュレートされている0Gサービサーロボットアームの仮想モデルを第1のロボットアームにオーバーレイすることと、エミュレートされている自由浮遊人工衛星の仮想モデルを第2のロボットアームにオーバーレイすることとをさらに含み得る。仮想モデルのオーバーレイは、
図4のMRシステム406のような複合現実システムによって実行され得る。オーバーレイは、例えば、仮想モデルを実際の物理システムハードウェア(すなわち、第1および第2のロボットアーム)に登録または重ね合わせることを含み得る。任意の適切な登録技術が使用され得る。オーバーレイは、方法600の任意の一部の間に実行されてもよい。
【0115】
方法600は、パッシブオフロード機構またはアクティブオフロード機構(例えば、
図2のオフロード機構208)を介して、第1のロボットアームを0Gに重力オフロードすることも含み得る。パッシブオフロード機構は、例えば、オフセット重量および振り子ケーブルオフローダを有するプーリシステムを含んでもよく、ここで、第1のロボットアームの端部は、ガントリシステムによって運ばれる振り子形式のケーブルを使用して吊るされる。パッシブオフロード機構は、例えば、第1のロボットアームの先端のパッシブプーリ駆動オフロードシステム、およびマニピュレータのジョイント(例えば、リストおよびエルボー)のカウンターバランス機能を含み得る。アクティブオフロード機構は、第1のロボットアームに重力オフロードを提供するように構成されたロボットマニピュレータ(例えば、地上のロボットアーム)を含み得る。
【0116】
方法600は、動的システムエミュレータによってエミュレートされた宇宙船の質量、慣性、剛性、または減衰特性を調整することも含み得る。例えば、動的システムエミュレータの動的モデルは、コントローラ更新速度で変更することができる。これは、軌道上の分離、展開(例えば、剛性または減衰特性の調整に対応し得る太陽電池アレイ、無線アパーチャ、またはアンテナの展開)、および推進力の使用による質量の変化が、動的システムエミュレータによって(リアルタイムで)エミュレートできることを意味する。
【0117】
ここで、
図6から
図8を参照して、本開示の宇宙用のロボットシステムを試験および検証するためのシステムおよび方法の特定の実施形態を説明する。このシステムの実施形態は、DREAMR Labと称されることがある。本実施形態は、Mission Analysis Robotic Kit I(「MARK I」)と称される第1のロボット試験システムと、Mission Analysis Robotic Kit II(「MARK II」)と称される第2のロボット試験システムとを含む。MARK IおよびMARK IIは、
図1のロボット試験システム100の実施形態である。特に、MARK Iは、
図2のロボット試験システム200の一実施形態であってもよく、MARK IIは、
図3のロボット試験システム300の一実施形態であってもよい。MARK IおよびMARK IIは、宇宙用のロボットシステムを試験および検証するためのシステムの一部として一緒に使用されてもよく、これは、
図4のシステム400に対応してもよい。
【0118】
MARK IおよびMARK IIシステムは、独立した制御システムの集合を備え、これらは協働して2つの独立したロボットシステムの共同作業を可能にする。
【0119】
ここで
図6および
図7を参照すると、そこに示されているのは、一実施形態に係る、宇宙用のロボットシステムを試験および検証するためのシステム700である。
図6は、システム700を構成要素の高レベルのブロック図として示す。
図7は、
図6に示したシステム700において、MARK IとMARK IIとシステム時間遅延との間の相互作用に関するさらなる詳細を示す。関連するシステム時間遅延は、処理される信号の感知からコマンドまでの往復遅延を含み得る。
【0120】
システム700は、MARK I702およびMARK II704を含む。システム700は、複合現実システム706(または、拡張現実または仮想現実システム、本明細書ではDREAMR Worldと称される)をさらに含み、これはMARK I702およびMARK II704に通信可能に接続されている。
【0121】
MARK I702は、ロボットマニピュレータ708と、ロボットマニピュレータ708の動作を制御するためのロボットマニピュレータ制御サブシステム710とを含む。
【0122】
ロボットマニピュレータ708は、アーム機構712と、アーム機構712の先端に配置されたエンドエフェクタ714とを含む。ロボットマニピュレータ708は、力モーメントセンサ716と、プローブ718(MARK IIとの物理的接続、例えば係合を確立するためのもの)をさらに含む。
【0123】
MARK I702は、ガントリオフローダ720をさらに含む。ガントリオフローダは、エンドエフェクタ714に接続され、ロボットマニピュレータが0Gロボットアームとして機能するように、ロボットマニピュレータ708をパッシブに重力オフロードするように構成される。
【0124】
ロボットマニピュレータ制御サブシステム710は、アーム機構712の動作を制御するためのアームコントローラ722と、エミュレーションコントローラ724と、力モーメントアコモデーション(FMA)およびビジュアルサーボ(VS)ユニット726と、プローブ718の動作を制御するためのプローブコントローラ728とを含む。力モーメントアコモデーション(FMA)は、マニピュレータによってFMSデータを解釈および利用するように構成されたソフトウェアを含む。同様に、ビジュアルサーボは、ビジョンシステムからのデータを使用して、ロボットの動作に修正を提供する。例えば、アームはビジョンシステムのデータを使用して、ターゲットを追跡するためにその軌道を変更することができる。ロボットマニピュレータ制御サブシステム710は、自動化および安全性コントローラ730をさらに含む。自動化および安全性コントローラ730は、障害状態(例えば、経験した負荷、予想外の電流)を検知し、安全性反応(例えば、ブレーキイベント、突然の停止)をトリガするように構成され得る。安全性反応をトリガするために、自動化および安全性コントローラ730は、コントローラ722、724、728のうちの任意の1つ以上と通信してもよい。
【0125】
MARK II704は、ロボットマニピュレーター732と、ロボットマニピュレーター732の動作を制御するためのロボットマニピュレーター制御サブシステム734とを含む。
【0126】
ロボットマニピュレータ732は、アーム機構736と、力モーメントセンサ738と、視覚的追跡およびプローブ718との物理的接触のためのターゲット718と、を含む。
【0127】
ロボットマニピュレータ制御サブシステム734は、アーム機構736の動作を制御するためのアームコントローラ742と、エミュレーションコントローラ744と、姿勢制御システム746とを含む。ロボットマニピュレータ制御サブシステム734は、自動化および安全性コントローラ748をさらに含む。自動化および安全性コントローラ748は、障害状態(例えば、経験した負荷、予想外の電流)を検知し、安全性反応(例えば、ブレーキイベント、突然の停止)をトリガするように構成され得る。安全性反応をトリガするために、自動化および安全性コントローラ748は、コントローラ742、744、746のうちの任意の1つ以上と通信することができる。
【0128】
MARK I702およびMARK II704のロボットマニピュレータ708、732のそれぞれは、それぞれのエミュレーションコントローラ724、744の出力に基づいて、追跡750を実行する。追跡750は、複合現実システム706への入力として使用される。
【0129】
MARK Iロボットマニピュレータ708およびMARK IIロボットマニピュレータ732のアーム機構712、736は、ジョイント角度データ760a、760bを生成し、それぞれのアームコントローラ722、742に送信する。ジョイント角度データ760a、760bの通信は、関連する時間遅延762a、762bを含む。
【0130】
MARK Iロボットマニピュレータ708およびMARK IIロボットマニピュレータ732のFMS716、738は、センサ測定値を生成し、センサ測定値764a、764bをそれぞれのコントローラサブシステム710、734に送信する。検知された力データ764a、764bの通信は、関連する時間遅延766a、766bを含む。FMS測定値764a、764bは、エミュレーションコントローラ724、744への入力として提供される。
【0131】
ロボットマニピュレータ制御サブシステム710、734は、コマンド768a、768bを生成し、それぞれのロボットマニピュレータ708、732に送信する。コマンド768a、768bは、アーム機構712、736のアームおよびジョイントの動作を介して追跡されるアームおよびジョイントレベルのコマンド(例えば、マニピュレータ先端参照コマンド)を含む。コマンド768a、768bの通信は、関連する時間遅延770a、770bを含む。
【0132】
システム700は、MARK I702およびMARK II704のコントローラサブシステム710、734と、MRシステム706との間の、センサおよびコマンド信号の通信に関連する時間遅延772a、772b、774a、774bをさらに含む。時間遅延772a、772bは、追跡システム750を介した、それぞれのロボットプラットフォーム710、734からDREAMRシステム706までの信号遅延を指す。つまり、外部システムは、各ロボット702、704のフィデューシャルを測定し、これらから位置と向きとを中継している。これらの信号の測定、処理、および送受信により、時間遅延が生じる。同様に、ロボットシステム710、734は、それらのセンサおよびジョイントの状態に関するデータをDREAMRシステム706に直接送信する。これらの信号もまた、(典型的にはより少ない量だけ)遅延する。この時間遅延は、774a、774bで示される。
【0133】
MARK IおよびMARK IIシステム702、704(例えば、エミュレーションコントローラ724、744、エミュレーション層902a、902b)を実行するコンピューティングおよびソフトウェアは、
図7における時間遅延762~774を最小化するように最適化され得る。時間遅延の最小化は、例えば、所定のデータバスを使用する少ないリソースでの直接接続、リアルタイムポーリングまたは割り込み、および/または、より高いデータレートの実装、を使用して、ソフトウェアおよびデータバスへの負荷の最小化を試み得る。時間遅延762~774を最小化することで、コントローラの性能劣化の可能性を低減し得る。
【0134】
システム700は、フリーフライヤ捕獲操作をエミュレートし、フリーフライヤ捕獲操作に参加するロボットシステム(MARK IおよびMARK II)の制御システム相互作用を評価するように構成される。
【0135】
タスクを実行するために、MARK II704のエミュレーションパッケージ(例えば、
図9のエミュレーション層902など、エミュレーションコントローラ744によって実行されるソフトウェアパッケージ)は、MARK II704に実際の人工衛星(すなわち、自由浮遊宇宙船)のダイナミクスをエミュレートさせるように構成される。そして、タスクは、MARK I702をそのターゲット740からスタンドオフ距離に到達させ、MARK II704のターゲット730を確保するために、MARK I702の捕獲機構(例えば、プローブ718)に命令することを含む。実験室の設定でこのフリーフライヤ捕獲タスクを実行することは、特に困難である:このようなフリーフライヤ捕獲タスクを完了することに伴う明白な課題に加えて、実験室でこれを行うには、MARK II704のターゲット740(例えば、液体アポジモーター「LAM」ノズル)がMARK I702捕獲機構によって捕獲されて硬化すると、MARK I702およびMARK II704相互の協力が必要となる。2つのロボットシステム702、704が一緒に硬化されると、ロボットシステム702、704は、不安定な動作の誘発を避けるために協力する。この種の操作では、2つの制御システムシナリオがしばしば考慮される。第1のシナリオ(シナリオ1、パッシブ捕獲)では、MARK I702のエミュレーションコントローラ724によってエミュレートされるサービサー制御システム(宇宙船及びロボットサービサーアーム制御システム)のみがアクティブである一方、MARK IIのエミュレーションコントローラ744によってエミュレートされるクライアントの姿勢及び軌道の制御システムは非アクティブ化されて、捕獲行為の間及び後に、サービサー(MARK I702によってシステム700で模倣される)とクライアント軌道制御システムとは互いに競合しない。第2のシナリオ(シナリオ2、アクティブ捕獲)では、サービサー(MARK I702によってシステム700に模倣される)と、クライアント(MARK II704によってシステム700に模倣される)の制御システムとは、共にアクティブである。この第2のシナリオは、クライアント人工衛星のポインティングを摂動させることなく、自由に飛行する宇宙船の捕獲を実行しようとするときに、しばしば考慮される。
【0136】
上述の第1および第2のシナリオの双方において、システム700(すなわち、試験環境)において、MARK II704システムは、クライアント宇宙船のダイナミクスを(エミュレーションコントローラ744を介して)、アクティブにエミュレートしている。したがって、第1のシナリオ(パッシブ捕獲)であろうと第2のシナリオ(アクティブ捕獲)であろうと、試験されるシナリオに関わらず、捕獲後に、MARK I702およびMARK II704のアクティブコントロールシステムは相互作用する。それぞれのアーム制御システム(アームコントローラ722、746)がこの相互作用を考慮して設計されていない場合、それぞれのアーム制御システム722、746は、最終的に競合することになり、最善のシナリオでもエミュレーションの忠実度が著しく低下する結果を招き、最悪のシナリオでは制御システムに不安定性が導入される結果を招く。タスクエミュレーションの忠実度を維持するために、この挙動は、(i)2つのロボットシステム702、704の間に情報の通信/交換がないこと、および(ii)MARK II704は、動作全体を通じて人工衛星の挙動を(エミュレーションコントローラ744を介して)正確にエミュレートし続けること(不安定な挙動は、エミュレーションを実際のシステムの挙動から発散させてしまう)、の制約の下で得られる。
【0137】
このようなタスクを成功で完了するために、全体的なシステム設計は、2つのシステムがパッシブに相互作用すること、すなわち、2つのシステム702、704の相互作用が、システム自体にエネルギーを注入しないことを確保する。これは、硬化の後、互いに相互作用するいくつかの独立したアクティブな制御システムが存在するという点で、達成するのが特に困難なタスクである。具体的には、システム700によって実行されるフリーフライヤ捕獲操作の間、以下の制御システムがしばしばアクティブである。
【0138】
MARK I702上:
i)アームコントローラ722:外部センサからの入力と、他のコントローラからの出力と、自動化されたコマンドとに基づいて、アームおよびジョイントのレベルコマンドを提供する:
(a)力制御:2つのロボットシステム702、704の間の接触力を調整することができる。
(b)ビジュアルサーボ制御:所定のスタンドオフ距離を維持し、ドリフトレートを、MARK II704によってエミュレートされるターゲット人工衛星に適合させる。
ii)エミュレーションコントローラ724:ロボットマニピュレータ708のMARK I702先端の動的応答を、所望のシステムのものと一致させるオプションを提供する。
iii)プローブコントローラ728:アームコントローラ722と協調して、プロービング機構(伸長/収縮)を制御する。
iv)高レベル自動化/安全性コントローラ730:システムの安全性を提供し、適切な制御機構を作動させる。これは、マニピュレータ708の端点の力/モーメントセンサの過負荷、マニピュレータ708の端点軌道の追跡、ローカルマニピュレータ708ジョイントの過負荷、およびマニピュレータ708の自身またはその環境との衝突の監視などの、挙動を監視するセンサを含み得る。この監視は、内在的なセンシングと外在的なセンシングとの双方を用いて実行される。内在的なMARK I702センシングは、ジョイント位置測定と、マニピュレータ708のジョイント電流またはトルクセンシングと、MARK I702のビジョンシステムから得られる他の物体の相対的な位置および向きと、を含み得る。外在的なセンシングは、MARK I702上の分解能の点の位置および向きと、作業空間内の他の分解能の点とを追跡する、光学追跡デバイスの使用を含むことができる。
【0139】
MARK II704上:
i)アームコントローラ742:外部センサからの入力と、他のコントローラからの出力と、自動化されたコマンドとに基づいて、アームおよびジョイントのレベルコマンドを提供する。
ii)エミュレーションコントローラ744:測定された力/モーメントと、構成されたボディプロパティとに基づいて、浮遊パッシブ宇宙船のダイナミクスをエミュレートする。エミュレーションコントローラ744によって実行される内部エミュレーションパッケージは、姿勢制御システム746などの、アクティブな姿勢および/または軌道制御システムの動作をシミュレートすることもでき、シミュレートされた制御システムをリストに追加する。
iii)高レベル自動化/安全性コントローラ748:システムに安全性を提供し、適切な制御機構を作動させる。この安全性の確認は、MARK Iシステム702で使用されるような方法およびセンサを使用して達成することができる(上述の通り)。
【0140】
2つのロボットシステム702、704上のこれら全ての制御システムは、MARK IおよびMARK IIシステム702、704同士の接触中に、他のロボットシステムが何をしているかの直接的な情報無しに、互いに相互作用し得る。このような状況では、システムに影響を与える任意のセンサノイズおよび時間遅延が、相互作用を不安定な状態にし得る。このようなことが起こらないようにするために、以下のいくつかのステップを取り得る。(a)パッシブな相互作用の保証に関して、制御システムを慎重に調整すること(しかしながら、保守的すぎると、MARK I702の性能とMARK II704のエミュレーション忠実度との双方について、著しい性能低下を招く)。(b)センサノイズに反応する2つのシステム702、704によって引き起こされる不安定性の問題を避けるために、センサデータを平滑化すること。(c)コントローラ性能を低下させる時間遅延762~774(
図7参照)を最小化するために、2つのシステム702、704を実行するコンピューティングおよびソフトウェアを最適化すること。(d)時間遅延(
図7の時間遅延762~774など)に対して、自然でより強固なエミュレーション/制御戦略を採用すること。
【0141】
図7は、システム700を示し、2つのロボットシステム702、704上の様々な制御システムの相互作用を表している。2つのMARKロボット702、704間の唯一の接続が、「視覚的追跡」752(独立したビジョンシステムから2つのシステム702、704の相対姿勢情報を受信および処理するMARK I702の能力を指し、カメラビューを処理するマシンビジョンアルゴリズムの存在をエミュレートする)、および2つのシステム702、704間(すなわち、プローブ718とターゲット740との間)の「物理的接続」754から、どのように来るのかに留意することは重要である。ロボットシステム702、704間の物理的接触から生じる力およびモーメント756、758(それぞれMARK II704およびMARK I706によって経験される)は、2つのロボット702、704上で常に独立して測定されている。
【0142】
ここで、システム700の動的エミュレーション層の詳細を、
図8を参照しながら説明する。
【0143】
図8を参照すると、そこに示されているのは、一実施形態に係る、システム700のエミュレーションの動作900を例示するブロック図である。
【0144】
MARK I702およびMARK II704の双方は、エミュレーション層902と総称され、一般的にエミュレーション層902と称される、内部エミュレーション層(動的エミュレーション層)902a、902bを備えている。エミュレーション層902a、902bは、
図1の動的システムエミュレータ114であってもよい。
【0145】
内部エミュレーション層902は、それぞれのシステム702、704のエミュレーションコントローラ724、744によって実装される。内部エミュレーション層902は、それぞれのエミュレーションコントローラ724、744によって実行される1つまたは複数のソフトウェアコンポーネントを含み得る。内部エミュレーション層902、904は、アーム708、732の先端(または自由端付近の分解能のある点)が、所望の力学系(例えば、より短い/より長いアーム、またはより軽い/より重いアーム)の挙動を再現することを可能にする。
【0146】
その中核となるエミュレーション層902はMARK IおよびMARK IIシステム702、704のそれぞれの全体制御システム710、734で実行されるマルチボディ動的システムシミュレータである。この内部シミュレーション902は、力学系モデル、検知された力およびモーメント、および初期条件の3つの中核要素に基づいて、アーム712、736が追跡するための基準軌道を提供する。
【0147】
動的システムモデルは、アーム708、732の先端のターゲット挙動の数学的モデルを表す。動的システムモデルは、エミュレーションコントローラ724、744によって実行されるエミュレーション層902によって実装される。シミュレートされる力学系モデルを変更することにより、アーム708、732の先端における劇的に異なる運動挙動をエミュレートすることができる。一実施形態において、エミュレーションソフトウェア902は、オペレータが独自の力学系モデルを構築することを可能にする。これには、単体(宇宙船)または多体システム(マルチジョイントロボットマニピュレータ)をシミュレートする剛体および柔軟な多体ダイナミクス、アクティブに駆動するアーティキュレーション(例えば、ロボットマニピュレータジョイント、リアクションホイールなどの姿勢制御装置、または人工衛星構造物の展開アクチュエータなど)をエミュレートする電気機械モデル、および、単体または多体のダイナミクスを制御する様々な制御システムを表すコンピューティングおよびソフトウェアが含まれる。エミュレーションパッケージ902は、様々なシステム挙動をエミュレートするように構成され得る。エミュレーション層902によってエミュレートされ得るシステム挙動は、例えば、浮遊人工衛星のダイナミクスまたは大型アームの先端ダイナミクスを含んでもよく、これにより、MARK I702は、研究室で物理的に試験することができない可能性のあるシステムの先端ダイナミクスを正確にエミュレートすることができる。
【0148】
内部シミュレーション902は、検知された力およびモーメントに基づいて、ロボットアームが追跡するための基準軌道をさらに提供する。内部シミュレーション902は、試験環境における実際の物理的相互作用中にアーム708、732が経験する(例えば、MARK I702のアーム708がMARK II704のアーム732に接触する、またはMARK I702のアーム708が静止物体に接触する)、測定した力およびモーメント904a、904bによって駆動される。接触力およびモーメント904a、904bは、MARK IおよびMARK IIのアーム708、732のそれぞれにおけるアームFMS(力およびモーメントセンサ)714、738によって測定され、外乱としてそれぞれの動的システムモデルシミュレーション902a、902bに与えられる。その後、エミュレーション層902a、902bによって実装されたシステム数学モデルに基づいて、それらの力およびモーメント904a、904bに対するシステム702、704の応答をシミュレートし、その結果を使用して、アーム708、732が追跡するための基準軌道を生成することが可能となる。
【0149】
力およびモーメント904a、904bのFMS測定値は、関連する時間遅延914b、914eを用いて、FMS714、738からエミュレーション層902a、902bに出力される。
【0150】
FMS測定値は、それらの力およびモーメント904a、904bに対するそれぞれのシステムの応答をシミュレートするエミュレーション層902a、902bによって入力として受信される。エミュレータ層902a、902bは、エミュレートされたシステムのダイナミクスをエミュレートするために、ロボットシステムが追跡するための位置および向きの追跡を含む、シミュレートされた応答を生成する。エミュレータ層902a、902bのシミュレートされた応答出力は、エミュレータ層902a、902bからエラー決定ユニット910a、910bへ、関連する時間遅延914c、914fで出力される。
【0151】
MARK Iハードウェア(HW)708およびMARK IIハードウェア(HW)732は、測定値906a、906bを出力する。測定値906a、906bは、ローカルアームおよびジョイントコントローラによって使用されるジョイントおよびモータ位置/レート測定値を含み得る。測定値906a、906は、ビジョンシステム推定および/または力モーメント測定値をさらに含み得る。測定値906a、906bは、関連する時間遅延914a、914dを含み、エラー決定ユニット910a、910bへの入力として提供される。
【0152】
ロボットマニピュレータ制御システム710、734のそれぞれは、エラー決定ユニット910a、910bを含む。エラー決定ユニット910a、910bは、エミュレーション層902a、902bと、MARK IおよびMARK II HW708、732とから入力を受け取り、エラー測定値912a、912bを決定し、エラー測定値912a、912bはアームおよびジョイントコントローラ722、742に提供される。エラー測定値912a、912bは、制御システムにおけるエラーである。エラー測定値912a、912bは、目標値(エミュレーションによって決定される)と、ジョイントの位置及び/又は速度の測定値との差である。コントローラ722、742は、測定されたジョイントの位置/速度と、目標値との間の誤差(エラー測定値912a、912b)を修正するために、ジョイントに送信するコマンド信号を生成する。
【0153】
アームおよびジョイントコントローラ722、742は、MARK IおよびMARK II HW708、732のアーム機構が追跡するための基準軌道を記述するアームおよびジョイントのコマンド908a、908bを生成し、コマンド908a、908bをMARK IおよびMARK II HW708、732に提供する。
【0154】
内部シミュレーション902はまた、初期条件に基づいて、ロボットアームが追跡するための基準軌道を生成および提供する。初期条件は、シミュレートされる力学系の初期状態を決定するために、エミュレーションパッケージ902に提供され得る。これは、例えば、人工衛星のダイナミクスをエミュレートするときに、アーム732に初期の目標ドリフト率を割り当てることを可能にする。
【0155】
一実施形態では、基準軌道は、外乱に対する応答だけでなく、MARK Iのアーム708の所望の運動にも基づいてもよい。
【0156】
上述した要素に基づいて、エミュレーションパッケージ902は、マニピュレータ先端基準コマンド908a、908bとして、所望のシステム応答を生成する。そして、基準信号は、アームおよびジョイント制御動作を介して追跡される。
【0157】
エミュレーションパッケージ902a、902bは、MARK IおよびMARK IIの双方のアーム708、732に対して実装されている。つまり、システム702、704のいずれもがエミュレーション機能を有効にできるため、オペレータは2つのアーム708、732を使用して、全く異なるシステムのダイナミクスと相互作用とをエミュレートすることができる。
【0158】
再び
図6および
図7を参照すると、システム700は、MARK I702およびMARK II704システムと通信する複合現実(MR)システム706を含む。
【0159】
MRシステム706によるMRの使用は、ユーザがシステム700のシステム状態およびテレメトリを単一の世界観で見ることを可能にする。複数のロボットまたはシステム(例えば、システム702、704)が表示される。表示されたシステムは、システム702、704のハードウェア上でスケールダウンされるか、またはフルスケールで重ね合わされてもよい。そして、MRシステム706を使用して、ユーザが関心を持つ仮想セットアップを構成できる。これは、研究室内のユーザまたは遠隔地からのユーザのいずれもが実行できる。例えば、ユーザは、ユーザインタフェースを介してMRシステム706と対話し、ユーザインタフェースを介してシステム700(およびそのコンポーネント)を再構成することができる。同様に、ユーザは、ハードウェアに対するユーザインタフェースコマンドを通じて、または、MARK IおよびMARK IIのアーム制御システム710、734のそれぞれの手操作対応制御機能(hand enabled compliant control features)によって、物理的マニピュレータ708、732の先端を実際に動かすことによって、MR世界の物理的要素を構成することができる。
【0160】
次に、
図7から
図9に記載されたシステム700の様々な追加の詳細および特徴について説明する。
【0161】
システム700は、宇宙で使用または実行される、ロボットシステムおよびミッション運用の設計、開発、および検証のための無重力の宇宙ロボット施設として機能し得る。システム700は、軌道上ロボット工学のためのものであってもよい。ロボット工学は、人類の宇宙探査を可能にする上で重要な役割を担ってきた。特に、スペースシャトルおよび国際宇宙ステーション計画の成功には、宇宙用マニピュレータが不可欠であった(例えば、カナダアーム、カナダアーム2、デクスターなど)。今後の宇宙開発およびミッションにおいても、ロボット工学はさらに重要な役割を果たすであろう(例えば、カナダアーム3、人工衛星整備など)。宇宙ロボットは、常に自律性のレベルを上げながら、複雑さを増すタスクを完了することが期待されている。
【0162】
システム700は、誘導、ナビゲーション、および制御(GNC)アルゴリズムの検証を実行するために使用され得る。システム700は、GNCアルゴリズムの性能を検証および推定してもよい。そのような検証および推定は、そのようなアルゴリズムの性能に対する増大する要求を満たすために使用され得る。
【0163】
システム700(および本明細書に記載の他のシステム)が扱う根本的な問題および課題は、無重力ロボットシステムの性能が、地上での同じシステムの性能と大きく異なることである。その結果、完全なロボットシステムの実験室での試験は、しばしば不可能である。GNCアルゴリズムの性能は、高忠実度のシミュレーションと、地上試験:シングルジョイント・テストベッド、浮遊平面マニピュレータ、1重力(1G)アームなど、との組み合わせを通じて、しばしば検証される。
【0164】
MARK I702は、マニピュレータ708の先端のパッシブプーリ駆動オフロードシステム(ガントリオフローダ720を含む)を介して重力オフロードされる6自由度のマニピュレータ708と、マニピュレータ708のリストおよびエルボーのカウンターバランス機能とを含むことができる。これらの特徴により、MARK I702は、無重力状態における典型的な宇宙用マニピュレータの性能を非常に忠実にエミュレートすることができる。
【0165】
MARK I702は、パッシブな機構を介して重力オフロードされる6自由度マニピュレータであってもよい。この特徴は、MARK I702に、宇宙マニピュレータの挙動を確実にエミュレート可能とさせる。MARK Iのアーム機構712の各ジョイントは、アーム708が現在入っている制御モードによって色が変化するLED(表示灯)のセットを備えてもよい。この特徴により、ロボットオペレータが、実験室内のどの位置からでもシステムの現在の状態を常に知り、マニピュレータ708と直接対話することが安全であるかどうかを知ることを、許容し得る。
【0166】
システム700は、安全、アーム初期化、スタンバイ、パッシブリンプ、アーム移動、アームボアード(arm bored)を含むアーム制御モードを、カラーインジケータ付きで含んでもよい
【0167】
システム700は、交換可能なエンドエフェクタを含んでもよい。MARK I702のエンドエフェクタ714は、さまざまな異なる操作およびアーム機構の試験を可能にするために交換可能であってもよい。
【0168】
MARK I702は、様々な方法で制御可能である。制御は、ハンドコントローラ(コンピュータユーザインタフェースを有する)と、ロボットオペレータと、システムの遠隔操作をエミュレートするための先端移動用および回転用の一組と、のうちの任意の1つ以上を含んでもよい。
【0169】
制御は、オペレータが、その動作中にシステムを検査するためにその近傍に立ちながらアーム708を制御することを可能にするジョイスティックを含んでもよい。
【0170】
システム700は、エンジニア/ユーザが、(アームコントローラ722を使用して)アーム708が実行できる複雑な一連のコマンドをスクリプト化できるようにするためのコンピュータユーザインタフェースを含んでもよい。
【0171】
MARK II704は、一般には動的システムエミュレーションのため、およびMARK I702との協調タスクを実行するために使用される、7自由度の1重力(1G)アーム732を含む。
【0172】
7自由度のマニピュレータ732は、動的システム操作のため、およびMARK I702が別のアクティブシステムと相互作用することを要求する協調タスク(例えば、制動されたカナダアーム2のエミュレーション)を試験するために使用することができる。これは、さもなくば実験室の設定では不可能な、長さ17メートルのカナダアーム2のような、大きな動的システムの性能および/または相互作用を試験する能力を促進する。
【0173】
システム700は、マニピュレータ先端を使用して様々な動的システムの応答をエミュレートする(例えば、典型的な質量バネダンパーシステムの挙動をエミュレートする)ことができる内部モジュールを備えることができる。この機能を活用すると、作業現場での様々な挙動を積極的にエミュレートすると共に、その場で機械的特性を変更する柔軟性も提供する、特有な機能がユーザに提供される。
【0174】
システム700は、様々な慣性の自由浮遊人工衛星の挙動をエミュレートするように構成可能な内部エミュレーションパッケージ902を含む。エミュレートされた人工衛星は、外部の摂動が導入された後に元の姿勢を回復するために、それ自身のエミュレートされた姿勢制御システム746を起動することもできる。オペレータがシステムを摂動させた後でも、システムの姿勢は変化しない。
【0175】
一実施形態では、MRシステム706は、マイクロソフト(登録商標)・ホロレンズ2の技術(または同様の技術)を使用して、トレーニングおよび共同設計のための高度に没入的な複合現実環境をオペレータに提供する。
【0176】
ホロレンズ2の技術は、ロボット工学システム700によって実行されている試験の理解を高めることができる。MRシステム706は、グラフィック人工衛星モデルをMARK II704上にオーバーレイするように構成されてもよく、これにより、観察者が、マニピュレータ732の先端がその動きをエミュレートするのを単に見るだけでなく、MARK IIのマニピュレータ732の先端の運動によって駆動される人工衛星の動きを見ることができる。また、これは、クライアント宇宙船の液体アポジノズル(ターゲット740)内の捕獲プローブ718の内部接触による動的な部品の係合や、他の「ペグ・イン・ホール」タイプの係合操作などの、操作の内部視界を含むこともあり、これらの視点は、複合現実の導入によってのみ可能となり得る。
【0177】
システム700のアプリケーション(実行される試験および操作)は、ミッション計画と、ロボットインタフェース試験と、フリーフライヤ捕獲操作とを含まれる。
【0178】
ミッション計画は、ロボットシステムを含む複雑な操作の設計におけるラボ支援操作を含む。オペレータは、MRシステム706を使用して、MARK II704およびMARK I702を直接制御および再配置して、フリーフライヤ捕獲操作の設計をサポートしてもよい。オペレータは、アームの構成を仮想的に変更でき、ロボットシステム702、704に所望のマヌーバを実行させることができる。
【0179】
システム700は、ロボットインタフェースのモックアップを設置するためにMARK I702を動作させることなどによって、ロボットインタフェースの試験を可能としてもよく、インタフェースの残りの半分は全動作中にMARK IIによって保持される。このセットアップによって、所与のインタフェースのロボット互換性の試験が可能となり、全操作中にアーム708とインタフェースの他方の側(MARK II704のマニピュレータ732上)とが経験する予測荷重を推定することも可能となる。
【0180】
フリーフライヤ捕獲操作は、フリーフライヤの捕獲を試験する能力だけでなく、複数のロボットシステム702、704と、MARK II704によって挙動がエミュレートされているターゲット浮遊人工衛星を捕獲しようとするMARK I702と、の間の協力を必要とする操作を含む。捕獲が完了した後、2つのシステム702、704は共にドリフトし、捕獲された人工衛星(MARK II704によってエミュレートされる)は姿勢修正マヌーバを開始し、MARK II704は姿勢修正マヌーバに従うことができる。2つのシステム702、704は、システムがオペレータによって摂動された後でも、安定した方法で互いに相互作用する。
【0181】
上記の説明は、1つまたは複数の装置、方法、またはシステムの例を提供するが、当業者に理解されるように、他の装置、方法、またはシステムもまた、請求項の範囲に含まれる。
【国際調査報告】