(57)【要約】  本開示の実施形態は、１つ以上のロボットを含み得るロボットシステム及び方法を対象とする。システムは、最大自由度数を有するロボットシステムを含み得る。システムは、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束を有する自然ロボットタスクを受信するように構成されたグラフィカルユーザインターフェースを更に含み得る。システムはまた、自然ロボットタスクを実行するために必要となる最小自由度数を識別するように構成されたプロセッサを含み得、最小自由度数は、少なくとも部分的に、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束に基づく。
2021529674.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
関連する最大自由度数を有するロボットシステムと、
自然ロボットタスクを受信するように構成されたグラフィカルユーザインターフェースであって、前記自然ロボットタスクは前記自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束を有するグラフィカルユーザインターフェースと、
前記自然ロボットタスクを実行するために必要となる最小自由度数を識別するように構成されたプロセッサと
を備え、
前記最小自由度数は、少なくとも部分的に、前記自然ロボットタスクに関連する前記少なくとも１つの自然ワークピース拘束に基づく、システム。
【請求項２】
前記自然ロボットタスクに関連する前記少なくとも１つの自然ワークピース拘束が、方向拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形機能の組み合わせ、ワークピース形状、ワークピース特徴、重心、並びに線形及び角運動量を含むグループから選択される、請求項１に記載のシステム。
【請求項３】
前記自然ロボットタスクに関連する前記少なくとも１つの自然ワークピース拘束を識別するように構成されたスキャナを更に備える、請求項１に記載のシステム。
【請求項４】
前記自然ロボットタスクの実行可能な又は最適化された実施形態を決定するように構成されたシミュレータを更に備える、請求項１に記載のシステム。
【請求項５】
前記自然ロボットタスクを受信することは、学習デモンストレーションと併せて受信される、請求項１に記載のシステム。
【請求項６】
前記最小自由度数は、前記最大自由度数よりも少ない、請求項１に記載のシステム。
【請求項７】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも１つの自然ワークピース拘束は、ユーザによって指定される、請求項１に記載のシステム。
【請求項８】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも１つの自然ワークピース拘束は、前記スキャナ識別に応じて自動的に決定される、請求項３に記載のシステム。
【請求項９】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも１つの自然ワークピース拘束は、前記ロボットシステムの動作中にリアルタイムで更新される、請求項１に記載のシステム。
【請求項１０】
前記最小自由度数は、少なくとも部分的に、センサデータに基づく、請求項１に記載のシステム。
【請求項１１】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも１つの自然ワークピース拘束は、前記ロボットシステムの動作の前、間、又は後に、通信チャネルを使用して更新される、請求項１に記載のシステム。
【請求項１２】
前記グラフィカルユーザインターフェースは、２次元インターフェース又は３次元インターフェースのうちの少なくとも一方である、請求項１に記載のシステム。
【請求項１３】
前記自然ロボットタスクは、前記ロボットシステムを制御するために使用されるロボットシステムフレームを参照することなく、前記システムによって受信される、請求項１に記載のシステム。
【請求項１４】
前記最小自由度数は、１つ以上の特徴とワークピースの形状とのみを参照することによって識別される、請求項１に記載のシステム。
【請求項１５】
前記プロセッサは、前記ロボットシステムを、追加の自由度を探索することによって前記自然ロボットタスクを実行するように制御するべく構成され、
前記追加の自由度は、少なくとも部分的に、前記最大自由度数と前記最小自由度数との差異に基づく、請求項１に記載のシステム。
【請求項１６】
前記追加の自由度の探索は、前記基準を最小化しようとする勾配ベースの課題を解決するべく前記追加の自由度を使用して基準を最適化することを含む、請求項１５に記載のシステム。
【請求項１７】
前記プロセッサ及びスキャナは、ロボットタスクを実行する前にワークスペースを定義するように構成される、請求項１に記載のシステム。
【請求項１８】
前記自然ロボットタスクは、前記自然ロボットタスクに関連する少なくとも１つの自然環境拘束を含む、請求項１に記載のシステム。
【請求項１９】
前記少なくとも１つの自然なワークピース拘束は、特定のワークピースに関連する１つ以上の幾何学的特徴を含む、請求項１に記載のシステム。
【請求項２０】
前記少なくとも１つの自然環境拘束は、ペグインホール挿入、ライン追跡、カメラポインティング、対称オブジェクトの把持、平らな表面へのオブジェクトの配置、平らなオブジェクトと吸盤との接触、モバイルベースの操縦、又は製品安定性のためのモバイルロボットの重心制御、を含む、請求項１７に記載のシステム。
【請求項２１】
ロボット方法であって、
関連する最大自由度数を有するロボットシステムを提供することと、
グラフィカルユーザインターフェースにおいて、少なくとも１つの自然ワークピース拘束を有する自然ロボットタスクを受信することであって、少なくとも１つの自然ワークピース拘束は前記自然ロボットタスクに関連することと、
少なくとも１つのプロセッサを使用して、前記自然ロボットタスクを実行するために必要となる最小自由度数を識別することと
を含み、
前記最小自由度数は、少なくとも部分的に、前記自然ロボットタスクに関連する前記少なくとも１つの自然ワークピース拘束に基づく、ロボット方法。
【請求項２２】
前記自然ロボットタスクに関連する前記少なくとも１つの自然ワークピース拘束は、方向拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形機能の組み合わせ、ワークピース形状、ワークピース特徴、重心、並びに線形及び角運動量を含むグループから選択される、請求項２１に記載のロボット方法。
【請求項２３】
少なくとも部分的に、スキャナに基づいて、前記自然ロボットタスクに関連する前記少なくとも１つの自然ワークピース拘束を識別すること、を更に含む、請求項２１に記載のロボット方法。
【請求項２４】
少なくとも部分的に、シミュレーションに基づいて、前記自然ロボットタスクの実行可能な又は最適化された実施形態を決定すること、を更に含む、請求項２１に記載のロボット方法。
【請求項２５】
前記自然ロボットタスクを受信することは、学習デモンストレーションと併せて受信される、請求項２１に記載のロボット方法。
【請求項２６】
前記最小自由度数は、前記最大自由度数よりも少ない、請求項２１に記載のロボット方法。
【請求項２７】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも１つの自然ワークピース拘束は、ユーザによって指定される、請求項２１に記載のロボット方法。
【請求項２８】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも１つの自然ワークピース拘束は、前記スキャナ識別に応じて自動的に決定される、請求項２３に記載のロボット方法。
【請求項２９】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも１つの自然ワークピース拘束は、前記ロボットシステムの動作中にリアルタイムで更新される、請求項２１に記載のロボット方法。
【請求項３０】
前記最小自由度数は、少なくとも部分的に、センサデータに基づく、請求項２１に記載のロボット方法。
【請求項３１】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも１つの自然ワークピース拘束は、前記ロボットシステムの動作の前、間、又は後に、通信チャネルを使用して更新される、請求項２１に記載のロボット方法。
【請求項３２】
前記グラフィカルユーザインターフェースは、２次元インターフェース又は３次元インターフェースのうちの少なくとも一方である、請求項２１に記載のロボット方法。
【請求項３３】
前記最小自由度数は、前記ロボットシステムを制御するために使用されるロボット方法フレームを参照することなく識別される、請求項２１に記載のロボット方法。
【請求項３４】
前記最小自由度数は、１つ以上の特徴とワークピースの形状とのみを参照することによって識別される、請求項２１に記載のロボット方法。
【請求項３５】
前記少なくとも１つのプロセッサを使用して、前記ロボットシステムを、追加の自由度を探索することによって前記自然ロボットタスクを実行するように制御することを更に含み、
前記追加の自由度は、少なくとも部分的に、前記最大自由度数と前記最小自由度数との差異に基づく、請求項２１に記載のロボット方法。
【請求項３６】
ロボットタスクを実行する前にワークスペースを定義することを更に含み、
定義することは、少なくとも部分的に、前記プロセッサ及び前記スキャナからのデータに基づく、請求項２１に記載のロボット方法。
【請求項３７】
前記自然ロボットタスクは、前記自然ロボットタスクに関連する少なくとも１つの自然環境拘束を含む、請求項２１に記載のロボット方法。
【請求項３８】
前記少なくとも１つの自然ワークピース拘束は、特定のワークピースに関連する１つ以上の幾何学的特徴を含む、請求項２１に記載のロボット方法。
【請求項３９】
前記少なくとも１つの自然環境拘束は、ペグインホール挿入、ライン追跡、カメラポインティング、対称オブジェクトの把持、平らな表面へのオブジェクトの配置、平らなオブジェクトと吸盤との接触、モバイルベースの操縦、又は製品安定性のためのモバイルロボットの重心制御、を含む、請求項３７に記載のロボット方法。
【請求項４０】
前記拘束が、それに等しいタイプではなく、それ以下のタイプのものである、請求項２１に記載のロボット方法。
【請求項４１】
マニピュレータヤコビアンが、少なくとも部分的に、前記ロボットシステムに関連するモーションを計算するために使用される、請求項２１に記載のロボット方法。
【請求項４２】
前記プロセッサは、前記ロボットシステムを、自由度の緩和を探索することによって前記自然ロボットタスクを実行するように制御するべく構成される、請求項１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
この出願は、２０１８年７月２日に出願された米国特許出願第１６／０２５，５４４号の利益を主張する。その全体の内容は、参照により本明細書に組み込まれる。
【０００２】
本発明は、空軍ＳＢＩＲ契約であるＦＡ８６５０−１７−Ｐ−５０４３によってサポートされた。米国政府は、本発明に一定の権利を有している。
【０００３】
本発明は、概して、ロボット工学に関し、より具体的には、ロボット又はロボットシステムの拘束を少なくためのシステム及び方法に関する。
【背景技術】
【０００４】
ロボットにタスクを課すことは困難であり、この困難性は、不自然で拘束の多い方法でロボットにタスクを課すことによって悪化する。自然タスクは、過剰又は過小な拘束なしにロボットタスクを容易に指定するための包括的なアプローチである。
【０００５】
例えば、体操選手は、バー上の手の配置の正確な位置をモデル化するのではなく、むしろ配置に１つの自由度があるものとしてバーをモデル化する。同様に、溶接や塗装のようなタスクでは、電極又はノズルをその主軸を中心に回転させる方法に追加の自由度があり、ロボットにタスクを課すオペレータは、これらの自然拘束で処理することによりメリットを受ける。同様に、産業用ロボットによって把持すべきパーツは、複数の方法で把持することを可能にする対称性を有し得る。自然タスクは、ロボット上の拘束を、その最小限で最も制限の少ない方法で指定する。
【発明の概要】
【０００６】
本開示の１つ以上の実施形態では、システムが提供される。システムは、最大自由度数を有するロボットシステムを含み得る。システムは、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束を有する自然ロボットタスクを受信するように構成されたグラフィカルユーザインターフェースを更に含み得る。システムはまた、自然ロボットタスクを実行するために必要となる最小自由度数を識別するように構成されたプロセッサを含み得、最小自由度数は、少なくとも部分的に、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束に基づく。
【０００７】
以下の特徴のうちの１つ以上が含まれてもよい。自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束は、方向拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形機能の組み合わせ、ワークピース形状、ワークピース特徴、重心、並びに線形及び角運動量を含むグループから選択され得る。システムは、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束を識別するように構成されたスキャナを含み得る。システムは、自然ロボットタスクの実行可能な又は最適化された実施形態を決定するように構成されたシミュレータを含み得る。いくつかの実施形態では、自然ロボットタスクを受信することにより、学習デモンストレーションと併せて受信され得る。最小自由度数は、最大自由度数よりも少ない場合がある。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも１つの自然ワークピース拘束は、ユーザによって指定され得る。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも１つの自然ワークピース拘束は、スキャナ識別に応じて自動的に決定され得る。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも１つの自然ワークピース拘束は、ロボットシステムの動作中にリアルタイムで更新され得る。最小自由度数は、少なくとも部分的に、センサデータに基づいてもよい。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも１つの自然ワークピース拘束は、ロボットシステムの動作の前、間、又は後に通信チャネルを使用して更新され得る。グラフィカルユーザインターフェースは、２次元インターフェース又は３次元インターフェースのうちの少なくとも１つであってもよい。最小自由度数は、ロボットシステムを制御するために使用されるロボットシステムフレームを参照することなく識別されてもよい。最小自由度数は、１つ以上の特徴、及びワークピースの形状のみを参照することによって識別されてもよい。プロセッサは、追加の自由度を探索することによって自然ロボットタスクを実行するためにロボットシステムを制御するように構成することができ、追加の自由度は、少なくとも部分的に、最大自由度数と最小自由度数との間の差異に基づく。追加の自由度の探索には、追加の自由度を使用して基準を最適化して、基準を最小化しようとする勾配ベースの課題を解決することが含まれ得る。プロセッサ及びスキャナは、ロボットタスクを実行する前にワークスペースを定義するように構成され得る。自然ロボットタスクは、自然ロボットタスクに関連する少なくとも１つの自然環境拘束を含み得る。少なくとも１つの自然ワークピース拘束は、特定のワークピースに関連する１つ以上の幾何学的特徴を含み得る。少なくとも１つの自然環境拘束は、ペグインホール挿入、ライン追跡、カメラポインティング、対称オブジェクトの把持、平らな表面上のオブジェクトの配置、平らなオブジェクトと吸盤との接触、モバイルベースの操縦、又は製品安定性のためのモバイルロボットの重心制御を含む。
【０００８】
本開示の別の実施形態では、方法が提供される。この方法は、関連する最大自由度数を有するロボットシステムを提供することを含み得る。この方法は、グラフィカルユーザインターフェースにおいて、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束を有する自然ロボットタスクを受信することを更に含み得る。この方法はまた、少なくとも１つのプロセッサを使用して、自然ロボットタスクを実行するために必要となる最小自由度数を識別することを含み、最小自由度数は、少なくとも部分的に、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束に基づく。
【０００９】
以下の特徴のうちの１つ以上が含まれてもよい。自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束は、方向拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形機能の組み合わせ、ワークピース形状、ワークピース特徴、重心、並びに線形及び角運動量を含むグループから選択され得る。この方法は、少なくとも部分的に、スキャナに基づいて、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束を識別することを含み得る。この方法は、少なくとも部分的に、シミュレーションに基づいて、自然ロボットタスクの実行可能な又は最適化された実施形態を決定することを更に含み得る。いくつかの実施形態では、自然ロボットタスクを受信することにより、学習デモンストレーションと併せて受信され得る。最小自由度数は、最大自由度数よりも少ない場合がある。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも１つの自然ワークピース拘束は、ユーザによって指定され得る。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも１つの自然ワークピース拘束は、スキャナ識別に応じて自動的に決定され得る。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも１つの自然ワークピース拘束は、ロボットシステムの動作中にリアルタイムで更新され得る。最小自由度数は、少なくとも部分的に、センサデータに基づいてもよい。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも１つの自然ワークピース拘束は、ロボットシステムの動作の前、間、又は後に通信チャネルを使用して更新され得る。グラフィカルユーザインターフェースは、２次元インターフェース又は３次元インターフェースのうちの少なくとも１つであってもよい。最小自由度数は、ロボットシステムを制御するために使用されるロボット方法フレームを参照することなく識別されてもよい。最小自由度数は、１つ以上の特徴、及びワークピースの形状のみを参照することによって識別されてもよい。この方法は、少なくとも１つのプロセッサを使用して、追加の自由度を探索することによって自然ロボットタスクを実行するためにロボットシステムを制御することを更に含んでもよく、追加の自由度は、少なくとも部分的に、最大自由度数と最小自由度数との間の差異に基づく。この方法はまた、ロボットタスクを実行する前にワークスペースを定義することを含んでもよく、定義することは、少なくとも部分的に、プロセッサ及びスキャナからのデータに基づく。自然ロボットタスクは、自然ロボットタスクに関連する少なくとも１つの自然環境拘束を含み得る。少なくとも１つの自然ワークピース拘束は、特定のワークピースに関連する幾何学的特徴を含み得る。少なくとも１つの自然環境拘束は、ペグインホール挿入、ライン追跡、カメラポインティング、対称オブジェクトの把持、平らな表面上のオブジェクトの配置、平らなオブジェクトと吸盤との接触、モバイルベースの操縦、又は製品安定性のためのモバイルロボットの重心制御を含み得る。マニピュレータのヤコビアンは、少なくとも部分的に、ロボットシステムに関連するモーションを計算するために使用され得る。
【００１０】
本開示の性質及び目的をよりよく理解するために、以下の図面と併せて行われる以下の詳細な説明を参照する。
【図面の簡単な説明】
【００１１】
【図１】本開示の一実施形態による、自然タスクロボットシステムのブロック図である。
【図２】本開示の一実施形態による、自然タスクロボットシステムの複数の自由度を示すグラフィカルユーザインターフェースである。
【図３】本開示の一実施形態による、自然タスクロボットシステムのブロック図である。
【図４】本開示の一実施形態による、自然タスクロボットシステムで使用するための速度制御アプローチのブロック図である。
【図５】本開示の一実施形態による、自然タスクロボット方法のフローチャートである。
【図６】本開示の一実施形態による、自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図７】本開示の一実施形態による、自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図８】本開示の一実施形態による、自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図９】本開示の一実施形態による、自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１０】本開示の一実施形態による、自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１１】本開示の一実施形態による、自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１２】本開示の一実施形態による、自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１３】本開示の一実施形態による、溶接用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１４】本開示の一実施形態による、溶接用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１５】本開示の一実施形態による、溶接用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１６】本開示の一実施形態による、溶接用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１７】本開示の一実施形態による、溶接用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１８】本開示の一実施形態による、溶接用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図１９】本開示の一実施形態による、溶接用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図２０】本開示の一実施形態による、ロボットアセンブリ用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図２１】本開示の一実施形態による、ロボットアセンブリ用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図２２】本開示の一実施形態による、ロボットアセンブリ用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【図２３】本開示の一実施形態による、ロボットアセンブリ用途における自然タスクロボットシステムのグラフィカルユーザインターフェースである。
【発明を実施するための形態】
【００１２】
主題の出願の実施形態は、米国特許第６，７５７，５８７号明細書、米国特許第７，６８０，３００号明細書、米国特許第８，３０１，４２１号明細書、米国特許第８，４０８，９１８号明細書、米国特許第８，４２８，７８１号明細書、米国特許第９，３５７，７０８号明細書、米国特許出願公開第２０１５／０１９９４５８号明細書、米国特許出願公開第２０１６／０３２１３８１号明細書、及び米国特許出願公開第２０１８／００６０４５９号明細書からの概念を含み得、それぞれの内容全体は、参照によりその全体が本明細書に組み込まれる。
【００１３】
ここで図１を参照すると、自然タスクロボットシステム１００の実施形態が提供されている。システム１００は、複数の構成要素を含んでもよく、その一部は、特定の用途及び／又はタスクのために設計されてもよい。システムの第１の構成要素は、データベース１０４に新しいプロセスを追加するためのソフトウェアシステム１０２を含み得る。いったん構築されると、データベース１０４は、現場のオペレータ又はリモートで再利用され得る。オペレータは、図１に示すように、制御ソフトウェア１０８による実行のために、グラフィカルユーザインターフェース１０６を使用してデータベース１０４から要素を選択することができる。特定の用途及び／又はタスク（例えば、溶接、ロボットアセンブリなど）のための手順は、エキスパートによってオフラインでデータベース１０４に追加されてもよい。このデータベース１０４は、グラフィカルユーザインターフェース１０６及びオンラインのタスクソフトウェアと共に使用されて、各タスクに対するそれぞれの手順を開発することができる。ソフトウェアモジュールは、特定のタスクのトレーニング、タスク、及びパフォーマンスなどを含み得るがこれらに限定されない。これらの全てを使用して、ロボットハードウェア１１０の動作方法を制御することができる。ロボットハードウェア１１０は、制御ソフトウェア１０８から受信した制御に応答することができるが、ロボットハードウェア自体は、以下で更に詳細に説明するように、それ自体の最大自由度数によって制限され得ることに留意されたい。
【００１４】
ロボットシステムでは、「自由度」というフレーズは、機械デバイス又はシステムが移動できる特定の定義されたモードを指し得る。自由度数は、独立した変位又はモーションの様相の総数に等しくなり得る。例えば、６自由度（「６ＤＯＦ」）シナリオでは、３次元空間での剛体の移動の自由を指し得る。具体的には、本体は、多くの場合、ヨー（法線軸）、ピッチ（横軸）、及びロール（縦軸）と呼ばれる、３つの垂直軸を中心とした回転による向きの変化と組み合わされた、３つの垂直軸における前方／後方（サージ）、上／下（ヒーブ）、左／右（スウェー）の並進として自由に位置を変えることができる。対照的に、空間にポイントを配置することは３自由度に対応し得る、異なるリンク上の２つのポイント間の距離を指定することは１自由度である、などである。
【００１５】
いくつかの実施形態では、本明細書で使用される「ロボットシステム」というフレーズは、１つ、２つ、及び／又は任意の数のロボットのシステムを含み得る。このように、ロボットシステム全体のＤＯＦは、個々のロボットのそれぞれのＤＯＦの合計を指し得る。これには、それぞれの単一の軸ジョイント用に１ＤＯＦ、及び自由に動くベース用に６ＤＯＦが含まれ得る。例えば、２つのロボットを含み、一方は６ＤＯＦを有し、他方は５ＤＯＦを有するロボットシステムの場合、利用可能なロボットシステム全体の自由度は、１１ＤＯＦであり得る。
【００１６】
本明細書に含まれる実施形態では、ロボットタスクを自然に実行するために、１つ以上のロボットの追加の自由度を探索するように構成され得る。この例では、ロボットシステム全体が、関連する最大自由度数（「Ｎ」）を含んでもよく、また、そこから差し引かれる最小数のＤＯＦ（「Ｍ」）を含み得る。
【００１７】
例えば、ここで図２を参照すると、６自由度の、完全な３Ｄ回転及び向きを有する溶接ツールとは対照的に、５自由度を有する溶接ツールを示すグラフィカルユーザインターフェース２００からの３Ｄレンダリングが提供されている。２つの間の差異は、１つの軸を中心とした回転を緩和することによって５自由度を見つけることができることである。この特定のモデルは、スキャン及び溶接プロセスを最適化するように調整された。これには、スキャナツールの周りのバウンディングボリュームの構成すること、並びにツールパスとポイント群が正しい位置に現れるようにするために、システム及びベース主フレームを位置合わせすることが含まれた。ツールオフセットもまた、ポイント群からツールパスが作成された方法に基づいて構成された。パスはシームの下部に沿って作成されたため、衝突が生じないように先端からのオフセットが構成された。図２に示すように、アームは２つの異なる拘束セットを使用して拘束することができ、それぞれが異なるツールオフセットを使用し、１つはパーツのスキャン用でもう１つは溶接用である。スキャン用の自由度セットは６自由度フレームを使用し、溶接セットは、トーチの先端が先端の周りを自由に回転できるようにする５自由度フレームを使用する。これにより、最初にパーツをスキャンし、次いで、そのワークスペースのエンベロープを与えて、ロボットが達成するのがより困難である、溶接パスに対する自由度を緩和することが可能になる。
【００１８】
いくつかの実施形態では、ここで図３を参照すると、自然タスクロボットプロセスと一致する複数の動作を有するフローチャートを示す実施形態が提供されている。自然タスクプロセス３００は、３０２個のロボット、ツール、パーツ、及びロボット環境を定義することを含み得る。プロセス３００は、タスク、ツール形状、パーツ形状などに基づいて、１つ以上の拘束を定義すること（３０４）を更に含み得る。プロセス３００はまた、拘束を使用して、１つ以上のタスク動作を定義すること（３０６）を含み得る。プロセス３００は、対称軸又は略対称性を見つけることなどによって、形状（例えば、ツール形状）の分析を介して自然に最小拘束数を定義するように構成されてもよい。このように、拘束の自然さ、並びにロボットモーションの追加の自由度を利用する機能により、ロボットを自然制御することが可能になる。自然制御は、以下で更に詳細に説明するように、少なくとも部分的に、自然拘束とそれらの拘束の自然最適化の両方に基づき得る。動作中、いったん自然に最適化されると、タスクは、以下で説明するように、ヤコビアンベースの速度制御アプローチを使用して実行され得る（３０８）。
【００１９】
いくつかの実施形態では、ここで図４を参照すると、本開示の自然タスクロボットシステムの実施形態と一致するブロック図４００が提供されている。システム内のロボットアームのエンドエフェクタの制御は、複数の構成要素を使用して（例えば、本開示の譲受人から入手可能なＥｎｅｒｇｉｄ社のＡｃｔｉｎ（登録商標）ソフトウェアを使用して）達成され得る。
これらの構成要素は、外部位置コントローラ４０２及び内部速度コントローラ４０４を含み得るがこれらに限定されない。この組み合わされた制御システム４００により、プログラムが、所望の配置を指定することによってタスク空間全体にわたってエンドエフェクタを「飛ばす」ことを可能にし、ジョイントの速度及び位置が自動的に計算され得る。これにより、オペレータは、ロボットの低レベルの制御ではなく、タスクにフォーカスすることができる。
【００２０】
いくつかの実施形態では、コア速度フレームワークは、以下のマニピュレータのヤコビアン方程式に基づき得る。
【数１】
2021529674.tif 000003
【００２１】
ここで、Ｖは、１つ又は複数のハンドのモーションのｍ長ベクトル表現（通常、マニピュレータのパーツにしっかりと取り付けられたポイントを参照する線形速度と角速度のいくつかの組み合わせ）であり、ｑは、ジョイント位置のｎ長ベクトルであり（
【数２】
2021529674.tif 000004
はその時間微分である）、Ｊは、ｑの関数であるｍ×ｎマニピュレータのヤコビアンである。（単一のエンドエフェクタを備えた空間アームの場合、Ｖは多くの場合、３つの線形成分及び３つの角度成分を有するフレーム速度である。本明細書で使用される場合、Ｖは、複数のエンドエフェクタのポイント、フレーム、又は他のモーションの連結を含む、より大きな意味をとる。）ヤコビアンＪ（ｑ）は、
【数３】
2021529674.tif 000005
の全ての可能な値に対して（）を真にする行列である。Ｖは、複数のエンドエフェクタの値の連結を表すことができ、マニピュレータ上の複数のポイントの協調モーションを可能にすることに留意されたい。
【００２２】
速度制御の質問は以下であり、すなわち、所望のツールモーションＶが与えられると、このモーションを最もよく達成するジョイントレート
【数４】
2021529674.tif 000006
は何か？である。これに答えるために、フレームワークは、スカラーα、行列関数Ｗ（ｑ）、及びスカラー関数ｆ（ｑ）を使用する下記のアプローチに部分的に基づいて、以下の式でＶが与えられる
【数５】
2021529674.tif 000007
を解く。
【数６】
2021529674.tif 000008
【００２３】
ここで、∇ｆはｆの勾配であり、ＮＪはＪのゼロ空間にわたるｎ×（ｎ×ｍ）のベクトルセットである。すなわち、ＪＮＪ＝０であり、ＮＪはランク（ｎ×ｍ）を有する。∇ｆ及びＮＪの両方は、一般に、ｑの関数である。α、Ｗ、及びｆの値を変更することにより、多くの新しく、最も確立された速度制御技術を実施することができる。
【００２４】
しかしながら、本開示の実施形態は、上記の定式化を超えて、より一般的なフレームワークを作成する。関数勾配の使用を求める代わりに、一般的な列ベクトルＦ（ｑ）が使用される。全てのベクトル関数が、勾配を有するわけではない。このマイナーだが重要な修正により、以下の式が得られる。
【数７】
2021529674.tif 000009
【００２５】
これにより、以下で最小化しながら、所望のＶを達成する。
【数８】
2021529674.tif 000010
【００２６】
パラメータα、及びＦは、ＸＭＬを使用して定義されて、異なるタイプの速度制御を与えることができる。
【００２７】
いくつかの実施形態では、位置制御システム４０２は、速度制御システム４０４上に構築されて、エンドエフェクタにロバストな位置制御を与えることができる。位置制御モジュールは、新しい位置制御アルゴリズムの追加を可能にするために、位置制御システム４０２へのインターフェースとして提供されてもよい。位置制御システム４０２は、速度制御システム４０４に基づいて構築されることによって、エンドエフェクタに基本的な位置制御を提供することができる。速度制御システム４０４からジョイント速度が与えられると、位置制御システム４０２は、オイラー積分を使用してジョイント位置を計算することができる。いったんジョイント位置が計算されると、エンドエフェクタの位置が既知となる。制御システムは、時間内に前方に繰り返されるときに、ジョイント制限の超過及び衝突をチェックすることができる。特異点が検出された場合、ジョイントレートコマンドをゼロにすることもできる。
【００２８】
例えば、複数のメカニズムが伴い得るロボット制御の重要な構成要素は、環境との衝突を回避することである。このため、シミュレーションの対象となる全ての形状に対して定義されたバウンディングボリュームに基づいて、衝突回避アルゴリズムが使用され得る。このアルゴリズムは、以下のように一般的な形態の関数を最小化しようとする勾配ベースの方法を採用する。
【数９】
2021529674.tif 000011
【００２９】
ここで、Ｎはマニピュレータ内のリンク数、Ｂは環境内の障害物の数、ｐはユーザ定義の指数、及びＦ（ｉ、ｊ）は、ｉのバウンディングボリュームの、リンクｊのバウンディングボリュームに対する近接度の尺度である。Ｆ（ｉ、ｊ）は、距離がユーザ指定閾値よりも大きい場合はゼロであり、閾値内では、スカラー定数に単に、１つのバウンディングボリュームを移動して他のバウンディングボリュームから閾値距離の外側に移動するのに必要な最小距離を掛けたものになる。
【００３０】
いくつかの実施形態では、この関数は、その勾配を計算するために有限差分で使用されてもよく、次いで、衝突を回避する方向にマニピュレータを駆動するためのコア制御システムに対するベクトルパラメータとして使用されてもよい。ここで、環境内の障害物は、その状態をブロードキャストする他のマニピュレータ用など、明確に定義されていてもよく、又は、視覚又は他の検知メカニズムからリアルタイムで決定されてもよい。
【００３１】
いくつかの実施形態では、上述した制御方法を使用して、少なくとも部分的に、コントローラがロボットシステム全体のＤＯＦ（例えば、システムの利用可能なＤＯＦ「Ｎ」）を、ワークピース拘束のみに基づいて識別された必要となる最小自由度数（「Ｍ」）に関連付けることを可能にし得る。換言すれば、本明細書に記載されるロボットシステム及び方法は、自然ロボットタスクを実行するためにワークピースデータのみを必要とし得る。場合によっては、ＤＯＦは、他の要因又は拘束を含むがこれらに限定されない他の要因にも基づき得るが、この情報は必要でない場合がある。本明細書で提供される自然タスクロボットシステム及び方法の実施形態は、ロボットシステムのより良い制御及び／又は性能の向上、ロボットタスクのためのより実現可能な及び／又は最適化された解決策などを提供するために利用可能であり得る。
【００３２】
いくつかの実施形態では、ここで図５を参照すると、自然タスクロボットプロセス５００と一致する複数の動作を有するフローチャートを示す実施形態が提供されている。プロセス５００は、１つ以上のロボットの第１のロボットを提供すること（５０２）を含んでもよく、第１のロボットは、それに関連する最大自由度数を有する。プロセス５００は、グラフィカルユーザインターフェースにおいて、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束を有する自然ロボットタスクを受信すること（５０４）を更に含み得る。プロセス５００はまた、少なくとも１つのプロセッサを使用して、自然ロボットタスクを実行するために必要となる最小自由度数を識別することと、を含み得、最小自由度数は、少なくとも部分的に、自然ロボットタスクに関連する少なくとも１つの自然ワークピース拘束に基づく。
【００３３】
「最大自由度数」というフレーズは、機械デバイス、ロボット、及び／又はシステムが移動できる、特定の定義されたモードの最大数を指し得る。「最小自由度数」というフレーズは、機械デバイス、ロボット、及び／又はシステムが移動してタスクを自然に実行する、特定の定義されたモードの最小数を指し得る。「自然ロボットタスク」というフレーズは、低減及び／又は単純化された量のモーションを使用して実行され得るタスクを指し得る。場合によっては、自然ロボットタスクを指定することは、ユーザがロボットシステムの座標／フレームで指定する必要があり得るタスクを指定する数学集約的な方法とは対照的であり得る。自然ロボットタスクは、１つ以上のロボット又はツールを使用してロボットシステムに対して指定／実証することができ、最小自由度数は、少なくとも部分的に、自然ロボットタスクに基づいて決定され得る。最小自由度数は、ツール、ロボット、及び／又はワークピース形状の分析を介して決定されてもよい。最小自由度数は、デモンストレーションを使用して指定されてもよく、ＧＵＩなどを使用してロボット技術を学習するように教育してもよい。
【００３４】
いくつかの実施形態では、タスクの自然さは、１）命令されたロボットタスクと、２）実行すべき実際の所望のこととの間の整合の程度を指し得る。いくつかの例を以下に示す。
所望のタスク（１）：カップを机の上に置く。
不自然：ハンドルを右にコーナーからｘ＝３０、ｙ＝５０ｃｍに向けて、カップを置く。
自然：ハンドルを任意の方向に向けて、テーブルの境界内の任意の場所にカップを置く。
所望のタスク（２）：ロボット上のカメラを、空間内の３Ｄポイントｘ＝１、ｙ＝２、ｚ＝２に向ける。
不自然：カメラをｘ＝０、ｙ＝０．２、ｚ＝０．３に配置し、ｘ＝１、ｙ＝２、ｚ＝２に向ける。
不自然：画像の上部を現実世界の上部と整合して、カメラを任意の場所から｛１，２，２｝に向ける。
自然：カメラ位置に拘束することなく、カメラを任意の配向で｛１，２，２｝に向ける。
所望のタスク（３）：１ｍ離れたノズルを使用し、パーツの中心に直接向けて、パーツをスプレーペイントする。
不自然：ノズルをパーツに向け、その軸を中心に特別に配向して、１ｍ離れたところからスプレーする。
自然：ノズルをパーツに向ける以外に特別に配向することなく、１ｍ離れたところからスプレーする。
【００３５】
これらの不自然な拘束では、ロボットモーションを過度に制限する方法が奇妙に見え得るが、実際には、これらの種類のタスクが通常実行される方法であることに留意されたい。本明細書に含まれる自然ロボットタスクシステムの実施形態は、自然表現の使用及び解決を可能にする。
【００３６】
いくつかの実施形態では、「自然ワークピース拘束」というフレーズは、幾何学的特徴、材料特性、及び／又は特定のワークピースに関連する任意の他の態様に関連し得る。「自然環境拘束」というフレーズは、幾何学的特徴、障害物、材料特性、及び／又は自然ロボットタスクに関連し得る、環境に関連する他の任意の態様に関連し得る。
【００３７】
いくつかの実施形態では、ワークピース拘束、環境拘束、及びマニピュレータ拘束は、このアプローチにおいて連続体を形成してもよく、複数の自然拘束を組み合わせて、包括的なタスク動作を定義してもよい。これらのいくつかには、方向拘束、向き拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形の関数の組み合わせ、重心、並びに線形及び角運動量が含まれ得るがこれらに限定されない。これらの拘束は、ロボット構成の機能として変化し得る。ツールオフセット、静的オブジェクト又は障害物、及び動的オブジェクト又は障害物を使用して、拘束を定義及び構成してもよい。いくつかの実施形態では、最小自由度数の識別は、ワークピース拘束形状、及び／又はその特徴に基づいてもよく、それらのいくつかは、穴、形状、材料、サイズなどを含み得るがこれらに限定されない。
【００３８】
いくつかの実施形態では、１つ以上の拘束は、図６〜図１２に示されるＧＵＩなどのビジュアルエディタを使用して、ユーザによって組み合わせられ、及び／又は指定されてもよく、現実世界タスクを最もよく達成するために、経時的に変化する拘束の複雑な組み合わせを作成することができる。これらの拘束の一部又は全ては、ロボットタスク又は動作の実行中に、時間ステップごとにさえ変更されてもよく、衝突及びジョイント制限の回避などの最適化と組み合わせられてもよいことに留意されたい。このようにして、拘束の数とタイプを、リアルタイムで動的に更新することができる。例えば、いくつかの実施形態では、拘束の一部又は全ては、ロボット環境をスキャンして識別し、必要な処理を可能にし、その後の決定を可能にするように構成され得るスキャナを使用して、自動的に決定及び／又は識別され得る。このデータを取得するために様々なセンサ及びデバイスを使用することができ、そのいくつかには、ＬＩＤＡＲ、ステレオカメラ、カラーカメラ、マルチスペクトルカメラなどからのデータが含まれるがこれらに限定されない。追加的及び／又は代替的に、拘束の一部又は全ては、通信チャネル（例えば、無線、レーザ、又はネットワーク通信など）を介してリモートで更新され得る。拘束は、２Ｄグラフィカルユーザインターフェース又は３Ｄインターフェース（拡張現実など）を使用して設定される。拘束は、単にそれに「等しい」だけでなく、それ「以下」の種類のものであり得る。したがって、本明細書に含まれる自然タスクロボットシステムは、ユーザが、例えば、床の上だけでなく、床の上方にあるポイントを拘束することを可能にし得る。
【００３９】
したがって、本明細書に記載される自然タスクロボットシステムの実施形態は、最大自由度数「Ｎ」を有する１つ以上のロボットを含み得る。いくつかの実施形態では、システムは、（拘束に５自由度を使用して）穴にペグを挿入するなど、実行する必要があることのみを示すことによって、ユーザがタスクを（例えば、デモを実行するためのティーチペンダントなどのＧＵＩを使用して、ロボットシステムを教育し、例として、ロボットの「監視」を実行して１つ以上のセンサを使用して学習することを）自然に指定し、（拘束に３自由度を使用して）溶接ツールの先端で線をたどり、又は（拘束に２自由度を使用して）空間内の場所にカメラを向けることなどを可能にし得る。タスクを自然に指定することには、デモンストレーションを使用してタスクを指定すること、例えば、タスクの実行方法をロボットに教育したり又は学習させたりすることが含まれ得る。追加的及び／又は代替的に、ユーザは、ロボットシステムがタスクを実行する方法を指定しなくてもよく、システムは、タスクを自動的に、又は最小限の入力を使用して実行する方法を決定することができる。
【００４０】
いくつかの実施形態では、本明細書に記載される自然タスクロボットシステムは、Ｍ＜＝Ｎである場合に、自然ロボットタスクを実行するために必要とされ得る最小自由度数「Ｍ」を決定するように構成され得る。自然タスクロボットシステムは、追加の（Ｎ−Ｍ）追加自由度を探索することを介して、タスクを実行するための最も自然な又は効率的な方法を決定するように構成され得る。これには、（４）の基準など、追加の自由度を使用して２次基準を最適化することが含まれ得る。例えば、コントローラ（例えば、Ａｃｔｉｎ）は、上述したような追加の自由度（Ｎ−Ｍ）を探索することを可能にするのに役立ち得る。追加の自由度を使用して、タスクを実行するためのより便利で、より速く、エネルギー効率が高く、及び／又は実行可能な「方法」を決定することができる。実行の方法又は方式は、少なくとも部分的に、衝突のないパスの決定、ロボットの調整（複数の場合）などに基づき得る。いくつかの実施形態では、自然ロボットタスクを実行又は実施することは、様々なソフトウェア方法論を使用して（例えば、本開示の譲受人から入手可能なＥｎｅｒｇｉｄ社のＡｃｔｉｎ（登録商標）ソフトウェアを使用して）少なくとも部分的に利用され得る。タスクを自然に実行する方法又は方式を決定することはまた、シミュレーションを実行するように構成され得る１つ以上のシミュレータを使用することを含み得る。そのようなシミュレーションの結果は、タスクの実行方法を決定するために使用できる。
【００４１】
いくつかの実施形態では、追加の自由度（Ｎ−Ｍ）を探索することは、いくつかのＤＯＦ（例えば、「Ｚ」次元）を完全に緩和することを含み得る。追加的に及び／又は代替的に、本明細書に含まれる実施形態は、ＤＯＦを部分的に緩和するように構成されてもよく、例えば、Ｚが±１５度以内で自由回転することを可能にする。自然タスクを指定する際の柔軟性を提供するために、同じ概念を任意のＤＯＦに適用してもよい。したがって、これにより、ロボットシステムがより効率的な方法で解決策を見つけることを可能にし得る。
【００４２】
ここで図６〜図１２を参照すると、自然タスクロボットシステムと一致するグラフィカルユーザインターフェースを示す実施形態が提供されている。図３〜図５を参照して上述したように、本開示の実施形態は、タスクに基づいて１つ又は複数のロボットが拘束される方法を定義するように構成され得る。これには、必要なものを拘束することのみが含まれ得る。例えば、図６のＧＵＩ６００を参照すると、ユーザは、どのリンクが拘束されるか、及び一般的な空間拘束を使用する方法を定義することができる。これには、拘束の選択、速度の指定、及び／又は形状に基づくツールオフセットの定義が含まれ得る。ユーザはまた、図７のＧＵＩ７００を使用して、図８に示されるような１つ以上のツール又はロボットオフセットを構成することができる。
【００４３】
ここで図９〜図１０を参照すると、ツールパス及び部分相対ウェイポイントを定義するように構成されたグラフィカルユーザインターフェース９００、１０００を示す実施形態が、それぞれ提供されている。この例では、ユーザは、操作されるオブジェクトに対するタスク（例えば、タスクの自然参照フレーム）を定義し得る。これは、１つ以上のウェイポイントのポーズ、パス、及び／又は他のカスタム定義されたモーションを使用して達成することができる。各モーションには、独自の個別ＧＵＩが含まれ得る。最後のステップは、実行すべき動作の順序をスクリプトで記述することを含み得る。
【００４４】
ここで図１１〜図１２を参照すると、それぞれ、拘束を編集し、ツールオフセットを管理するように構成されたグラフィカルユーザインターフェース１１００、１２００を示す実施形態。図１１には、編集ツールオフセットオプションを含む拘束エディタが含まれている。「ツールオフセットの編集」オプションを使用することにより、図１２に示すように、ユーザがコンテキストのツールオフセットを編集することを可能にし得る。動作中、オプションを選択することにより、拘束によって使用中のオフセットに対して事前に選択されたツールオフセットエディタが表示されてもよい。
【００４５】
ここで図１３〜図１９を参照すると、溶接プロセスに適用される自然タスクロボットシステムの実施形態が提供されている。いくつかの実施形態では、最小拘束により、それらの自然な参照フレームで指定され得、タスクプロセスを更に単純化する。一例として、図１３に示された溶接タスクなどの、別のロボットにより保持されているパーツに対してあるロボットによって実行されるタスクである。この例では、溶接タスクは、２台のロボットによって保持されているパーツの参照フレームで定義され得る。この拘束アプローチは、実行する必要があることを正確に指定し、全てのロボットのモーションがそれを達成できるようにするという点で自然である。
【００４６】
動作中、及び図１３に示すように、システムは、グリッパが把持しようとするパーツに対してグリッパを拘束するように構成され得る。パーツがワークスペースのどこにあるかに関係なく、スクリプトは、パーツの位置に対してコマンドを送信する。図１４は、２つのパーツが一緒に嵌合され得る例を示している。これには、一方のアーム上のツールオフセットを、保持しているパーツの嵌合座標に設定し、もう一方のアームで保持し得るもう一方のパーツの嵌合座標にゴールを設定することを含み得る。アームは互いに対して拘束されてもよいため、これらのパーツが嵌合されるシステムフレーム内の特定の位置は存在しない。
【００４７】
ここで図１５〜図１９を参照すると、この特定の例では、第３のアームは、他の２つのアームによって保持され得るアセンブリに対して相対的な位置に溶接機を移動させることができる。再度、ワークスペース内のアセンブリの位置は拘束されなくてもよく、溶接ガンのみがアセンブリに対して拘束され得、そのロール及びピッチがシステム内で拘束され得る。溶接機はパスに沿って移動でき、他の２つのアームは、自動的にパーツを操作してパスモーションを達成することができる。アセンブリはワークスペースの周りをランダムに移動するように見えることに留意されたい。パスが完了した後、１つのグリッパはアセンブリに対して後退し、システムフレーム内で再び拘束され得ない。次いで、名目システム位置に移動する。この例は、最小拘束が自然参照フレームで指定される方法を示しており、３つのアーム間で調整された非常に複雑なモーションを完了するために使用され得る。
【００４８】
ここで図２０〜図２３を参照すると、ロボットアセンブリプロセスに適用されるような自然タスクロボットシステムの実施形態が提供されている。この特定の例では、アセンブリタスクでパーツを配置することにより、パーツの形状によっては完全な６ＤＯＦが必要ない場合がある。この特定の例は、ホイール及びキャリッジを介して軸を配置することを示している。この例では、軸ボルトを保持しているアームは、軸ボルトの軸を中心に自由に回転することができ、ホイールを保持しているアームもまた、ホイール軸（例えば、Ｙ軸）を中心に自由に回転することができる。
【００４９】
図２０に示すように、軸を挿入するプロセスでの最初のステップには、パーツを把時して、次いでツールオフセットを関連する座標にセットすることが含まれ得る。この特定の例では、一方のアームがホイールの中心にあり、他方のアームが軸の中心にある。次に、ホイールをハウジングに対して配置し得る。この時点で、ホイールを保持しているアームはホイール軸を中心に自由に回転でき、軸を保持しているアームは軸を中心に自由に回転することができる。図２１〜図２２に示すように、次のステップは挿入であり、これには、現在の拘束でピンを所定の位置に移動するようにハンドに命令することが含まれ得る。軸が挿入されると、ホイールを保持しているアームがその軸を中心に自由に回転し、他のアームとの衝突を回避することができる。図２３に示すように、最後のステップには、操作されているパーツに対して解放及び後退することが含まれ得る。この例は、最小拘束を自然参照フレームで指定し得る方法、及びそれらを使用して２つのロボットアーム間で調整されたアセンブリモーションを完了し得る方法を示している。
【００５０】
当業者には理解されるように、本開示の態様は、システム、方法、又はコンピュータプログラム製品として具体化され得る。したがって、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、又は本明細書では全て一般に回路、「モジュール」又は「システム」と呼ばれ得るソフトウェア及びハードウェアの態様を組み合わせた実施形態の形態をとり得る。さらに、本開示の態様は、その上に具体化されたコンピュータ可読プログラムコードを有する１つ以上のコンピュータ可読媒体に具体化されたコンピュータプログラム製品の形態をとることができる。
【００５１】
１つ以上のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁気、赤外線、又は半導体のシステム、装置、若しくはデバイス、又は前述のものの任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例（網羅的ではないリスト）には、１つ以上のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能なプログラム可能読み取り専用メモリ（ＥＰＲＯＭ若しくはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光ストレージデバイス、磁気ストレージデバイス、又は前述のものの適切な組み合わせ、が含まれる。この文献の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによって、又はそれらに関連して使用するためのプログラムを含む、又は記憶することができる任意の有形媒体であり得る。
【００５２】
コンピュータ可読信号媒体は、例えば、ベースバンドで、又は搬送波の一部として、コンピュータ可読プログラムコードがその中に具体化された伝播されたデータ信号を含み得る。
【００５３】
そのような伝播された信号は、電磁的、光学的、又はそれらの任意の適切な組み合わせを含むがこれらに限定されない、様々な形態のうちのいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、又はデバイスによって、又はそれらに関連して使用するためのプログラムを通信、伝播、又は伝送することができる任意のコンピュータ可読媒体であり得る。コンピュータ可読媒体上に具体化されたプログラムコードは、無線、有線、光ファイバケーブル、ＲＦなど、又は前述の任意の適切な組み合わせを含むがこれらに限定されない、任意の適切な媒体を使用して送信することができる。
【００５４】
本開示の態様の動作を実行するためのコンピュータプログラムコードは、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、及び「Ｃ」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで記述することができる。プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、及び部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ若しくはサーバ上で、実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続することができ、又は接続は、外部コンピュータに（例えば、インターネットサービスプロバイダを使用したインターネット経由で）行うこともできる。
【００５５】
本開示の態様は、本開示の実施形態による方法、装置（システム）、及びコンピュータプログラム製品のフローチャート図及び／又はブロック図を参照して以下に説明される。フローチャート図及び／又はブロック図の各ブロック、及びフローチャート図及び／又はブロック図のブロックの組み合わせは、コンピュータプログラム命令によって実施できることが理解されよう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供されて、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックで指定された機能／動作を実施するための手段を作成するように、マシンを生成することができる。
【００５６】
これらのコンピュータプログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスに特定の方法で機能するように指示できるコンピュータ可読媒体にロードされてもよく、それによって、コンピュータ可読媒体に記憶された命令は、フローチャート及び／又はブロック図の１つ又は複数のブロックで指定された機能／動作を実施する命令を含む製品を生産する。
【００５７】
コンピュータプログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイス上にロードされて、コンピュータ、他のプログラム可能な装置、又は他のデバイス上で一連の動作ステップを実行させてコンピュータ実装プロセスを生成することができ、それによって、コンピュータ、又は他のプログラム可能な装置上で実行される命令は、フローチャート及び／又はブロック図のブロックで指定された機能／動作を実施するためのプロセスを提供する。
【００５８】
図面中のフローチャート及びブロック図は、本開示の様々な実施形態による、システム、方法、及びコンピュータプログラム製品の可能な実施のアーキテクチャ、機能、及び動作を示している。これに関して、フローチャート又はブロック図の各ブロックは、常にではないが、モジュール、セグメント、又はコードの一部を表すことができ、これには、指定された論理機能を実施するための１つ以上の実行可能命令を含む。いくつかの代替的な実施形態では、ブロックに示されている機能が、図に示されている順序とは異なって起こり得ることにも注意されたい。例えば、連続して示される２つのブロックは、実際には、実質的に同時に実行されてもよく、又は関連する機能に応じて、時にブロックが逆の順序で実行されてもよい。また、ブロック図及び／又はフローチャート図の各ブロック、並びにブロック図及び／又はフローチャート図におけるブロックの組み合わせは、特定の機能若しくは動作を実行する専用ハードウェアベースのシステム、又は専用ハードウェア及びコンピュータ命令の組み合わせによって実施することができることにも留意されたい。
【００５９】
本明細書で使用される用語は、特定の実施を説明することのみを目的としており、開示を限定することを意図するものではない。本明細書で使用される場合、単数形「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈が明らかに他のことを示さない限り、複数形も含むことを意図している。「含む」及び／又は「含んでいる」という用語は、本明細書で使用される場合、記載された特徴、整数、ステップ（必ずしも特定の順序である必要はない）、動作、要素、及び／又は構成要素の存在を指定するが、１つ以上の他の特徴、整数、ステップ（必ずしも特定の順序である必要はない）、動作、要素、構成要素、及び／又はそれらのグループの存在又は追加を排除するものではないことが更に理解されよう。
【００６０】
以下の特許請求の範囲に含まれ得る全てのミーンズ又はステッププラスファンクション要素の対応する構造、材料、動作、及び同等物は、具体的に請求された他の請求された要素と組み合わせて機能を実行するための任意の構造、材料、又は動作を含むことを意図している。本開示の記載は、例示及び説明の目的で提示されているが、網羅的であることを意図するものではなく、又は開示された形態での開示に限定されることを意図するものではない。多くの修正、変形、置換、及びそれらの任意の組み合わせは、本開示の範囲及び精神から逸脱することなく、当業者には明らかであろう。実施形態は、開示の原則及び実際の適用を最もよく説明し、当業者が様々な修正及び／又は企図される特定の用途に適した実施形態の任意の組み合わせを伴う様々な実施形態の開示を理解できるようにするために、選択及び説明された。
【００６１】
このように、本出願の開示を詳細に説明し、その実施形態を参照することにより、添付の特許請求の範囲で定義された開示の範囲から逸脱することなく、修正、変形、及び実施形態の（任意の修正、変形、置換、及びそれらの組み合わせを含む）任意の組み合わせが可能であることが明らかであろう。
【図１】
2021529674.tif 000012
【図２】
2021529674.tif 000013
【図３】
2021529674.tif 000014
【図４】
2021529674.tif 000015
【図５】
2021529674.tif 000016
【図６】
2021529674.tif 000017
【図７】
2021529674.tif 000018
【図８】
2021529674.tif 000019
【図９】
2021529674.tif 000020
【図１０】
2021529674.tif 000021
【図１１】
2021529674.tif 000022
【図１２】
2021529674.tif 000023
【図１３】
2021529674.tif 000024
【図１４】
2021529674.tif 000025
【図１５】
2021529674.tif 000026
【図１６】
2021529674.tif 000027
【図１７】
2021529674.tif 000028
【図１８】
2021529674.tif 000029
【図１９】
2021529674.tif 000030
【図２０】
2021529674.tif 000031
【図２１】
2021529674.tif 000032
【図２２】
2021529674.tif 000033
【図２３】
2021529674.tif 000034
【国際調査報告】
2021529674.tif 000035
2021529674.tif 000036
2021529674.tif 000037