IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テラダイン、 インコーポレイテッドの特許一覧

特許74871181つ以上のロボット相互参照パラグラフの自然ロボットタスクのためのシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-10
(45)【発行日】2024-05-20
(54)【発明の名称】1つ以上のロボット相互参照パラグラフの自然ロボットタスクのためのシステム及び方法
(51)【国際特許分類】
   B25J 9/22 20060101AFI20240513BHJP
【FI】
B25J9/22 A
【請求項の数】 42
(21)【出願番号】P 2020569928
(86)(22)【出願日】2019-07-02
(65)【公表番号】
(43)【公表日】2021-11-04
(86)【国際出願番号】 US2019040289
(87)【国際公開番号】W WO2020010076
(87)【国際公開日】2020-01-09
【審査請求日】2022-06-20
(31)【優先権主張番号】16/025,544
(32)【優先日】2018-07-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502391840
【氏名又は名称】テラダイン、 インコーポレイテッド
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100095500
【弁理士】
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100111235
【弁理士】
【氏名又は名称】原 裕子
(74)【代理人】
【識別番号】100195257
【弁理士】
【氏名又は名称】大渕 一志
(72)【発明者】
【氏名】リモーネ、 ブレット エル.
(72)【発明者】
【氏名】キースリング、 ジャスティン シー.
(72)【発明者】
【氏名】フォルシリ、 チャロングラス
(72)【発明者】
【氏名】イングリッシュ、 ジェームズ ディー.
(72)【発明者】
【氏名】チャン、 チュ-イン
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開平06-187020(JP,A)
【文献】特開2015-174184(JP,A)
【文献】特開2018-030210(JP,A)
【文献】特開2014-050952(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22
(57)【特許請求の範囲】
【請求項1】
システムであって、
関連する最大自由度数を有するロボットシステムと、
低減されたモーションの量を使用して実行されるタスクを指す自然ロボットタスクを受信するように構成されたグラフィカルユーザインターフェースであって、前記自然ロボットタスクは前記自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束を有する、グラフィカルユーザインターフェースと、
前記自然ロボットタスクを実行するために必要となる最小自由度数を識別するように構成されたプロセッサと
を備え、
前記最大自由度数は、前記ロボットシステムが動き得るモードの最大数であり、
前記最小自由度数は、少なくとも部分的に、前記自然ロボットタスクに関連する前記少なくとも1つの自然ワークピース拘束に基づき、
前記最小自由度数は、前記ロボットシステムが前記自然ロボットタスクを実行するために動き得るモードの最小数であり、
前記ロボットシステムの環境の定義に基づいて前記少なくとも1つの自然ワークピース拘束が定義され、前記少なくとも1つの自然ワークピース拘束を使用して前記自然ロボットタスクのモーションが定義される、システム。
【請求項2】
前記自然ロボットタスクに関連する前記少なくとも1つの自然ワークピース拘束が、方向拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形機能の組み合わせ、ワークピース形状、ワークピース特徴、重心、並びに線形及び角運動量を含むグループから選択される、請求項1に記載のシステム。
【請求項3】
前記自然ロボットタスクに関連する前記少なくとも1つの自然ワークピース拘束を識別するように構成されたスキャナを更に備える、請求項1に記載のシステム。
【請求項4】
前記自然ロボットタスクの実行可能な又は最適化された実施形態を決定するように構成されたシミュレータを更に備える、請求項1に記載のシステム。
【請求項5】
前記自然ロボットタスクを受信することは、学習デモンストレーションと併せて受信される、請求項1に記載のシステム。
【請求項6】
前記最小自由度数は、前記最大自由度数よりも少ない、請求項1に記載のシステム。
【請求項7】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも1つの自然ワークピース拘束は、ユーザによって指定される、請求項1に記載のシステム。
【請求項8】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも1つの自然ワークピース拘束は、前記スキャナの識別に応じて自動的に決定される、請求項3に記載のシステム。
【請求項9】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも1つの自然ワークピース拘束は、前記ロボットシステムの動作中にリアルタイムで更新される、請求項1に記載のシステム。
【請求項10】
前記最小自由度数は、少なくとも部分的に、センサデータに基づく、請求項1に記載のシステム。
【請求項11】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも1つの自然ワークピース拘束は、前記ロボットシステムの動作の前、間、又は後に、通信チャネルを使用して更新される、請求項1に記載のシステム。
【請求項12】
前記グラフィカルユーザインターフェースは、2次元インターフェース又は3次元インターフェースのうちの少なくとも一方である、請求項1に記載のシステム。
【請求項13】
前記自然ロボットタスクは、前記ロボットシステムを制御するために使用されるロボットシステムフレームを参照することなく、前記システムによって受信される、請求項1に記載のシステム。
【請求項14】
前記最小自由度数は、ワークピースの1つ以上の特徴と1つの形状とのみを参照することによって識別される、請求項1に記載のシステム。
【請求項15】
前記プロセッサは、前記ロボットシステムを、追加の自由度を探索することによって前記自然ロボットタスクを実行するように制御するべく構成され、
前記追加の自由度は、少なくとも部分的に、前記最大自由度数と前記最小自由度数との差異に基づく、請求項1に記載のシステム。
【請求項16】
前記追加の自由度の探索は、前記追加の自由度を使用して基準を最適化することにより、前記基準を最小化しようとする勾配ベースの方法を採用することを含む、請求項15に記載のシステム。
【請求項17】
前記プロセッサ及びスキャナは、ロボットタスクを実行する前にワークスペースを定義するように構成される、請求項1に記載のシステム。
【請求項18】
前記自然ロボットタスクは、前記自然ロボットタスクに関連する少なくとも1つの自然環境拘束を含む、請求項1に記載のシステム。
【請求項19】
前記少なくとも1つの自然なワークピース拘束は、特定のワークピースに関連する1つ以上の幾何学的特徴を含む、請求項1に記載のシステム。
【請求項20】
前記少なくとも1つの自然環境拘束は、ペグインホール挿入、ライン追跡、カメラポインティング、対称オブジェクトの把持、平らな表面へのオブジェクトの配置、平らなオブジェクトと吸盤との接触、モバイルベースの操縦、又は製品安定性のためのモバイルロボットの重心制御、を含む、請求項17に記載のシステム。
【請求項21】
方法であって、
関連する最大自由度数を有するロボットシステムを提供することと、
グラフィカルユーザインターフェースにおいて、少なくとも1つの自然ワークピース拘束を有する自然ロボットタスクを受信することであって、前記少なくとも1つの自然ワークピース拘束は前記自然ロボットタスクに関連し、前記自然ロボットタスクは低減されたモーションの量を使用して実行されるタスクを指すことと、
少なくとも1つのプロセッサを使用して、前記自然ロボットタスクを実行するために必要となる最小自由度数を識別することと
を含み、
前記最大自由度数は、前記ロボットシステムが動き得るモードの最大数であり、
前記最小自由度数は、少なくとも部分的に、前記自然ロボットタスクに関連する前記少なくとも1つの自然ワークピース拘束に基づき、
前記最小自由度数は、前記ロボットシステムが前記自然ロボットタスクを実行するために動き得るモードの最小数であり、
前記ロボットシステムの環境の定義に基づいて前記少なくとも1つの自然ワークピース拘束が定義され、前記少なくとも1つの自然ワークピース拘束を使用して前記自然ロボットタスクのモーションが定義される、方法。
【請求項22】
前記自然ロボットタスクに関連する前記少なくとも1つの自然ワークピース拘束は、方向拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形機能の組み合わせ、ワークピース形状、ワークピース特徴、重心、並びに線形及び角運動量を含むグループから選択される、請求項21に記載の方法。
【請求項23】
少なくとも部分的に、スキャナに基づいて、前記自然ロボットタスクに関連する前記少なくとも1つの自然ワークピース拘束を識別すること、を更に含む、請求項21に記載の方法。
【請求項24】
少なくとも部分的に、シミュレーションに基づいて、前記自然ロボットタスクの実行可能な又は最適化された実施形態を決定すること、を更に含む、請求項21に記載の方法。
【請求項25】
前記自然ロボットタスクを受信することは、学習デモンストレーションと併せて受信される、請求項21に記載の方法。
【請求項26】
前記最小自由度数は、前記最大自由度数よりも少ない、請求項21に記載の方法。
【請求項27】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも1つの自然ワークピース拘束は、ユーザによって指定される、請求項21に記載の方法。
【請求項28】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも1つの自然ワークピース拘束は、前記スキャナの識別に応じて自動的に決定される、請求項23に記載の方法。
【請求項29】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも1つの自然ワークピース拘束は、前記ロボットシステムの動作中にリアルタイムで更新される、請求項21に記載の方法。
【請求項30】
前記最小自由度数は、少なくとも部分的に、センサデータに基づく、請求項21に記載の方法。
【請求項31】
前記自然ロボットタスク、又は前記最小自由度数の識別に関連する前記少なくとも1つの自然ワークピース拘束は、前記ロボットシステムの動作の前、間、又は後に、通信チャネルを使用して更新される、請求項21に記載の方法。
【請求項32】
前記グラフィカルユーザインターフェースは、2次元インターフェース又は3次元インターフェースのうちの少なくとも一方である、請求項21に記載の方法。
【請求項33】
前記最小自由度数は、前記ロボットシステムを制御するために使用されるロボット方法フレームを参照することなく識別される、請求項21に記載の方法。
【請求項34】
前記最小自由度数は、ワークピースの1つ以上の特徴と1つの形状とのみを参照することによって識別される、請求項21に記載の方法。
【請求項35】
前記少なくとも1つのプロセッサを使用して、前記ロボットシステムを、追加の自由度を探索することによって前記自然ロボットタスクを実行するように制御することを更に含み、
前記追加の自由度は、少なくとも部分的に、前記最大自由度数と前記最小自由度数との差異に基づく、請求項21に記載の方法。
【請求項36】
ロボットタスクを実行する前にワークスペースを定義することを更に含み、
定義することは、少なくとも部分的に、前記プロセッサ及び前記スキャナからのデータに基づく、請求項23に記載の方法。
【請求項37】
前記自然ロボットタスクは、前記自然ロボットタスクに関連する少なくとも1つの自然環境拘束を含む、請求項21に記載の方法。
【請求項38】
前記少なくとも1つの自然ワークピース拘束は、特定のワークピースに関連する1つ以上の幾何学的特徴を含む、請求項21に記載の方法。
【請求項39】
前記少なくとも1つの自然環境拘束は、ペグインホール挿入、ライン追跡、カメラポインティング、対称オブジェクトの把持、平らな表面へのオブジェクトの配置、平らなオブジェクトと吸盤との接触、モバイルベースの操縦、又は製品安定性のためのモバイルロボットの重心制御、を含む、請求項37に記載の方法。
【請求項40】
前記少なくとも1つの自然ワークピース拘束が、前記少なくとも1つの自然ワークピース拘束に等しい種類の拘束だけではなく、前記少なくとも1つの自然ワークピース拘束以下の種類の拘束も含む、請求項21に記載の方法。
【請求項41】
マニピュレータヤコビアンが、少なくとも部分的に、前記ロボットシステムに関連するモーションを計算するために使用される、請求項21に記載の方法。
【請求項42】
前記プロセッサは、前記ロボットシステムを、自由度の緩和を探索することによって前記自然ロボットタスクを実行するように制御するべく構成される、請求項1に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
この出願は、2018年7月2日に出願された米国特許出願第16/025,544号の利益を主張する。その全体の内容は、参照により本明細書に組み込まれる。
【0002】
本発明は、空軍SBIR契約であるFA8650-17-P-5043によってサポートされた。米国政府は、本発明に一定の権利を有している。
【0003】
本発明は、概して、ロボット工学に関し、より具体的には、ロボット又はロボットシステムの拘束を少なくためのシステム及び方法に関する。
【背景技術】
【0004】
ロボットにタスクを課すことは困難であり、この困難性は、不自然で拘束の多い方法でロボットにタスクを課すことによって悪化する。自然ロボットタスクは、過剰又は過小な拘束なしにロボットタスクを容易に指定するための包括的なアプローチである。
【0005】
例えば、体操選手は、バー上の手の配置の正確な位置をモデル化するのではなく、むしろ配置に1つの自由度があるものとしてバーをモデル化する。同様に、溶接や塗装のようなタスクでは、電極又はノズルをその主軸を中心に回転させる方法に追加の自由度があり、ロボットにタスクを課すオペレータは、これらの自然拘束で処理することによりメリットを受ける。同様に、産業用ロボットによって把持すべきパーツは、複数の方法で把持することを可能にする対称性を有し得る。自然ロボットタスクは、ロボット上の拘束を、その最小限で最も制限の少ない方法で指定する。
【発明の概要】
【0006】
本開示の1つ以上の実施形態では、システムが提供される。システムは、最大自由度数を有するロボットシステムを含み得る。システムは、自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束を有する自然ロボットタスクを受信するように構成されたグラフィカルユーザインターフェースを更に含み得る。システムはまた、自然ロボットタスクを実行するために必要となる最小自由度数を識別するように構成されたプロセッサを含み得、最小自由度数は、少なくとも部分的に、自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束に基づく。
【0007】
以下の特徴のうちの1つ以上が含まれてもよい。自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束は、方向拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形機能の組み合わせ、ワークピース形状、ワークピース特徴、重心、並びに線形及び角運動量を含むグループから選択され得る。システムは、自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束を識別するように構成されたスキャナを含み得る。システムは、自然ロボットタスクの実行可能な又は最適化された実施形態を決定するように構成されたシミュレータを含み得る。いくつかの実施形態では、自然ロボットタスクを受信することにより、学習デモンストレーションと併せて受信され得る。最小自由度数は、最大自由度数よりも少ない場合がある。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも1つの自然ワークピース拘束は、ユーザによって指定され得る。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも1つの自然ワークピース拘束は、スキャナ識別に応じて自動的に決定され得る。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも1つの自然ワークピース拘束は、ロボットシステムの動作中にリアルタイムで更新され得る。最小自由度数は、少なくとも部分的に、センサデータに基づいてもよい。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも1つの自然ワークピース拘束は、ロボットシステムの動作の前、間、又は後に通信チャネルを使用して更新され得る。グラフィカルユーザインターフェースは、2次元インターフェース又は3次元インターフェースのうちの少なくとも1つであってもよい。最小自由度数は、ロボットシステムを制御するために使用されるロボットシステムフレームを参照することなく識別されてもよい。最小自由度数は、1つ以上の特徴、及びワークピースの形状のみを参照することによって識別されてもよい。プロセッサは、追加の自由度を探索することによって自然ロボットタスクを実行するためにロボットシステムを制御するように構成することができ、追加の自由度は、少なくとも部分的に、最大自由度数と最小自由度数との間の差異に基づく。追加の自由度の探索には、追加の自由度を使用して基準を最適化して、基準を最小化しようとする勾配ベースの課題を解決することが含まれ得る。プロセッサ及びスキャナは、ロボットタスクを実行する前にワークスペースを定義するように構成され得る。自然ロボットタスクは、自然ロボットタスクに関連する少なくとも1つの自然環境拘束を含み得る。少なくとも1つの自然ワークピース拘束は、特定のワークピースに関連する1つ以上の幾何学的特徴を含み得る。少なくとも1つの自然環境拘束は、ペグインホール挿入、ライン追跡、カメラポインティング、対称オブジェクトの把持、平らな表面上のオブジェクトの配置、平らなオブジェクトと吸盤との接触、モバイルベースの操縦、又は製品安定性のためのモバイルロボットの重心制御を含む。
【0008】
本開示の別の実施形態では、方法が提供される。この方法は、関連する最大自由度数を有するロボットシステムを提供することを含み得る。この方法は、グラフィカルユーザインターフェースにおいて、自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束を有する自然ロボットタスクを受信することを更に含み得る。この方法はまた、少なくとも1つのプロセッサを使用して、自然ロボットタスクを実行するために必要となる最小自由度数を識別することを含み、最小自由度数は、少なくとも部分的に、自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束に基づく。
【0009】
以下の特徴のうちの1つ以上が含まれてもよい。自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束は、方向拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形機能の組み合わせ、ワークピース形状、ワークピース特徴、重心、並びに線形及び角運動量を含むグループから選択され得る。この方法は、少なくとも部分的に、スキャナに基づいて、自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束を識別することを含み得る。この方法は、少なくとも部分的に、シミュレーションに基づいて、自然ロボットタスクの実行可能な又は最適化された実施形態を決定することを更に含み得る。いくつかの実施形態では、自然ロボットタスクを受信することにより、学習デモンストレーションと併せて受信され得る。最小自由度数は、最大自由度数よりも少ない場合がある。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも1つの自然ワークピース拘束は、ユーザによって指定され得る。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも1つの自然ワークピース拘束は、スキャナ識別に応じて自動的に決定され得る。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも1つの自然ワークピース拘束は、ロボットシステムの動作中にリアルタイムで更新され得る。最小自由度数は、少なくとも部分的に、センサデータに基づいてもよい。自然ロボットタスク、又は最小自由度数の識別に関連する少なくとも1つの自然ワークピース拘束は、ロボットシステムの動作の前、間、又は後に通信チャネルを使用して更新され得る。グラフィカルユーザインターフェースは、2次元インターフェース又は3次元インターフェースのうちの少なくとも1つであってもよい。最小自由度数は、ロボットシステムを制御するために使用されるロボット方法フレームを参照することなく識別されてもよい。最小自由度数は、1つ以上の特徴、及びワークピースの形状のみを参照することによって識別されてもよい。この方法は、少なくとも1つのプロセッサを使用して、追加の自由度を探索することによって自然ロボットタスクを実行するためにロボットシステムを制御することを更に含んでもよく、追加の自由度は、少なくとも部分的に、最大自由度数と最小自由度数との間の差異に基づく。この方法はまた、ロボットタスクを実行する前にワークスペースを定義することを含んでもよく、定義することは、少なくとも部分的に、プロセッサ及びスキャナからのデータに基づく。自然ロボットタスクは、自然ロボットタスクに関連する少なくとも1つの自然環境拘束を含み得る。少なくとも1つの自然ワークピース拘束は、特定のワークピースに関連する幾何学的特徴を含み得る。少なくとも1つの自然環境拘束は、ペグインホール挿入、ライン追跡、カメラポインティング、対称オブジェクトの把持、平らな表面上のオブジェクトの配置、平らなオブジェクトと吸盤との接触、モバイルベースの操縦、又は製品安定性のためのモバイルロボットの重心制御を含み得る。マニピュレータのヤコビアンは、少なくとも部分的に、ロボットシステムに関連するモーションを計算するために使用され得る。
【0010】
本開示の性質及び目的をよりよく理解するために、以下の図面と併せて行われる以下の詳細な説明を参照する。
【図面の簡単な説明】
【0011】
図1】本開示の一実施形態による、自然ロボットタスクロボットシステムのブロック図である。
図2】本開示の一実施形態による、自然ロボットタスクロボットシステムの複数の自由度を示すグラフィカルユーザインターフェースである。
図3】本開示の一実施形態による、自然ロボットタスクロボットシステムのブロック図である。
図4】本開示の一実施形態による、自然ロボットタスクロボットシステムで使用するための速度制御アプローチのブロック図である。
図5】本開示の一実施形態による、自然ロボットタスクロボット方法のフローチャートである。
図6】本開示の一実施形態による、自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図7】本開示の一実施形態による、自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図8】本開示の一実施形態による、自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図9】本開示の一実施形態による、自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図10】本開示の一実施形態による、自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図11】本開示の一実施形態による、自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図12】本開示の一実施形態による、自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図13】本開示の一実施形態による、溶接用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図14】本開示の一実施形態による、溶接用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図15】本開示の一実施形態による、溶接用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図16】本開示の一実施形態による、溶接用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図17】本開示の一実施形態による、溶接用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図18】本開示の一実施形態による、溶接用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図19】本開示の一実施形態による、溶接用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図20】本開示の一実施形態による、ロボットアセンブリ用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図21】本開示の一実施形態による、ロボットアセンブリ用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図22】本開示の一実施形態による、ロボットアセンブリ用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
図23】本開示の一実施形態による、ロボットアセンブリ用途における自然ロボットタスクロボットシステムのグラフィカルユーザインターフェースである。
【発明を実施するための形態】
【0012】
主題の出願の実施形態は、米国特許第6,757,587号明細書、米国特許第7,680,300号明細書、米国特許第8,301,421号明細書、米国特許第8,408,918号明細書、米国特許第8,428,781号明細書、米国特許第9,357,708号明細書、米国特許出願公開第2015/0199458号明細書、米国特許出願公開第2016/0321381号明細書、及び米国特許出願公開第2018/0060459号明細書からの概念を含み得、それぞれの内容全体は、参照によりその全体が本明細書に組み込まれる。
【0013】
ここで図1を参照すると、自然ロボットタスクロボットシステム100の実施形態が提供されている。システム100は、複数の構成要素を含んでもよく、その一部は、特定の用途及び/又はタスクのために設計されてもよい。システムの第1の構成要素は、データベース104に新しいプロセスを追加するためのソフトウェアシステム102を含み得る。いったん構築されると、データベース104は、現場のオペレータ又はリモートで再利用され得る。オペレータは、図1に示すように、制御ソフトウェア108による実行のために、グラフィカルユーザインターフェース106を使用してデータベース104から要素を選択することができる。特定の用途及び/又はタスク(例えば、溶接、ロボットアセンブリなど)のための手順は、エキスパートによってオフラインでデータベース104に追加されてもよい。このデータベース104は、グラフィカルユーザインターフェース106及びオンラインのタスクソフトウェアと共に使用されて、各タスクに対するそれぞれの手順を開発することができる。ソフトウェアモジュールは、特定のタスクのトレーニング、タスク、及びパフォーマンスなどを含み得るがこれらに限定されない。これらの全てを使用して、ロボットハードウェア110の動作方法を制御することができる。ロボットハードウェア110は、制御ソフトウェア108から受信した制御に応答することができるが、ロボットハードウェア自体は、以下で更に詳細に説明するように、それ自体の最大自由度数によって制限され得ることに留意されたい。
【0014】
ロボットシステムでは、「自由度」というフレーズは、機械デバイス又はシステムが移動できる特定の定義されたモードを指し得る。自由度数は、独立した変位又はモーションの様相の総数に等しくなり得る。例えば、6自由度(「6DOF」)シナリオでは、3次元空間での剛体の移動の自由を指し得る。具体的には、本体は、多くの場合、ヨー(法線軸)、ピッチ(横軸)、及びロール(縦軸)と呼ばれる、3つの垂直軸を中心とした回転による向きの変化と組み合わされた、3つの垂直軸における前方/後方(サージ)、上/下(ヒーブ)、左/右(スウェー)の並進として自由に位置を変えることができる。対照的に、空間にポイントを配置することは3自由度に対応し得る、異なるリンク上の2つのポイント間の距離を指定することは1自由度である、などである。
【0015】
いくつかの実施形態では、本明細書で使用される「ロボットシステム」というフレーズは、1つ、2つ、及び/又は任意の数のロボットのシステムを含み得る。このように、ロボットシステム全体のDOFは、個々のロボットのそれぞれのDOFの合計を指し得る。これには、それぞれの単一の軸ジョイント用に1DOF、及び自由に動くベース用に6DOFが含まれ得る。例えば、2つのロボットを含み、一方は6DOFを有し、他方は5DOFを有するロボットシステムの場合、利用可能なロボットシステム全体の自由度は、11DOFであり得る。
【0016】
本明細書に含まれる実施形態では、ロボットタスクを自然に実行するために、1つ以上のロボットの追加の自由度を探索するように構成され得る。この例では、ロボットシステム全体が、関連する最大自由度数(「N」)を含んでもよく、また、そこから差し引かれる最小数のDOF(「M」)を含み得る。
【0017】
例えば、ここで図2を参照すると、6自由度の、完全な3D回転及び向きを有する溶接ツールとは対照的に、5自由度を有する溶接ツールを示すグラフィカルユーザインターフェース200からの3Dレンダリングが提供されている。2つの間の差異は、1つの軸を中心とした回転を緩和することによって5自由度を見つけることができることである。この特定のモデルは、スキャン及び溶接プロセスを最適化するように調整された。これには、スキャナツールの周りのバウンディングボリュームの構成すること、並びにツールパスとポイント群が正しい位置に現れるようにするために、システム及びベース主フレームを位置合わせすることが含まれた。ツールオフセットもまた、ポイント群からツールパスが作成された方法に基づいて構成された。パスはシームの下部に沿って作成されたため、衝突が生じないように先端からのオフセットが構成された。図2に示すように、アームは2つの異なる拘束セットを使用して拘束することができ、それぞれが異なるツールオフセットを使用し、1つはパーツのスキャン用でもう1つは溶接用である。スキャン用の自由度セットは6自由度フレームを使用し、溶接セットは、トーチの先端が先端の周りを自由に回転できるようにする5自由度フレームを使用する。これにより、最初にパーツをスキャンし、次いで、そのワークスペースのエンベロープを与えて、ロボットが達成するのがより困難である、溶接パスに対する自由度を緩和することが可能になる。
【0018】
いくつかの実施形態では、ここで図3を参照すると、自然ロボットタスクロボットプロセスと一致する複数の動作を有するフローチャートを示す実施形態が提供されている。自然ロボットタスクプロセス300は、ロボット、ツール、パーツ、及びロボット環境を定義すること(302)を含み得る。プロセス300は、タスク、ツール形状、パーツ形状などに基づいて、1つ以上の拘束を定義すること(304)を更に含み得る。プロセス300はまた、拘束を使用して、1つ以上のタスク動作を定義すること(306)を含み得る。プロセス300は、対称軸又は略対称性を見つけることなどによって、形状(例えば、ツール形状)の分析を介して自然に最小拘束数を定義するように構成されてもよい。このように、拘束の自然さ、並びにロボットモーションの追加の自由度を利用する機能により、ロボットを自然制御することが可能になる。自然制御は、以下で更に詳細に説明するように、少なくとも部分的に、自然拘束とそれらの拘束の自然最適化の両方に基づき得る。動作中、いったん自然に最適化されると、タスクは、以下で説明するように、ヤコビアンベースの速度制御アプローチを使用して実行され得る(308)。
【0019】
いくつかの実施形態では、ここで図4を参照すると、本開示の自然ロボットタスクロボットシステムの実施形態と一致するブロック図400が提供されている。システム内のロボットアームのエンドエフェクタの制御は、複数の構成要素を使用して(例えば、本開示の譲受人から入手可能なEnergid社のActin(登録商標)ソフトウェアを使用して)達成され得る。
これらの構成要素は、外部位置コントローラ402及び内部速度コントローラ404を含み得るがこれらに限定されない。この組み合わされた制御システム400により、プログラムが、所望の配置を指定することによってタスク空間全体にわたってエンドエフェクタを「飛ばす」ことを可能にし、ジョイントの速度及び位置が自動的に計算され得る。これにより、オペレータは、ロボットの低レベルの制御ではなく、タスクにフォーカスすることができる。
【0020】
いくつかの実施形態では、コア速度フレームワークは、以下のマニピュレータのヤコビアン方程式に基づき得る。
【数1】
【0021】
ここで、Vは、1つ又は複数のハンドのモーションのm長ベクトル表現(通常、マニピュレータのパーツにしっかりと取り付けられたポイントを参照する線形速度と角速度のいくつかの組み合わせ)であり、qは、ジョイント位置のn長ベクトルであり(
【数2】
はその時間微分である)、Jは、qの関数であるm×nマニピュレータのヤコビアンである。(単一のエンドエフェクタを備えた空間アームの場合、Vは多くの場合、3つの線形成分及び3つの角度成分を有するフレーム速度である。本明細書で使用される場合、Vは、複数のエンドエフェクタのポイント、フレーム、又は他のモーションの連結を含む、より大きな意味をとる。)ヤコビアンJ(q)は、
【数3】
の全ての可能な値に対して()を真にする行列である。Vは、複数のエンドエフェクタの値の連結を表すことができ、マニピュレータ上の複数のポイントの協調モーションを可能にすることに留意されたい。
【0022】
速度制御の質問は以下であり、すなわち、所望のツールモーションVが与えられると、このモーションを最もよく達成するジョイントレート
【数4】
は何か?である。これに答えるために、フレームワークは、スカラーα、行列関数W(q)、及びスカラー関数f(q)を使用する下記のアプローチに部分的に基づいて、以下の式でVが与えられる
【数5】
を解く。
【数6】
【0023】
ここで、∇fはfの勾配であり、NはJのゼロ空間にわたるn×(n×m)のベクトルセットである。すなわち、JN=0であり、Nはランク(n×m)を有する。∇f及びNJの両方は、一般に、qの関数である。α、W、及びfの値を変更することにより、多くの新しく、最も確立された速度制御技術を実施することができる。
【0024】
しかしながら、本開示の実施形態は、上記の定式化を超えて、より一般的なフレームワークを作成する。関数勾配の使用を求める代わりに、一般的な列ベクトルF(q)が使用される。全てのベクトル関数が、勾配を有するわけではない。このマイナーだが重要な修正により、以下の式が得られる。
【数7】
【0025】
これにより、以下で最小化しながら、所望のVを達成する。
【数8】
【0026】
パラメータα、及びFは、XMLを使用して定義されて、異なるタイプの速度制御を与えることができる。
【0027】
いくつかの実施形態では、位置制御システム402は、速度制御システム404上に構築されて、エンドエフェクタにロバストな位置制御を与えることができる。位置制御モジュールは、新しい位置制御アルゴリズムの追加を可能にするために、位置制御システム402へのインターフェースとして提供されてもよい。位置制御システム402は、速度制御システム404に基づいて構築されることによって、エンドエフェクタに基本的な位置制御を提供することができる。速度制御システム404からジョイント速度が与えられると、位置制御システム402は、オイラー積分を使用してジョイント位置を計算することができる。いったんジョイント位置が計算されると、エンドエフェクタの位置が既知となる。制御システムは、時間内に前方に繰り返されるときに、ジョイント制限の超過及び衝突をチェックすることができる。特異点が検出された場合、ジョイントレートコマンドをゼロにすることもできる。
【0028】
例えば、複数のメカニズムが伴い得るロボット制御の重要な構成要素は、環境との衝突を回避することである。このため、シミュレーションの対象となる全ての形状に対して定義されたバウンディングボリュームに基づいて、衝突回避アルゴリズムが使用され得る。このアルゴリズムは、以下のように一般的な形態の関数を最小化しようとする勾配ベースの方法を採用する。
【数9】
【0029】
ここで、Nはマニピュレータ内のリンク数、Bは環境内の障害物の数、pはユーザ定義の指数、及びF(i、j)は、iのバウンディングボリュームの、リンクjのバウンディングボリュームに対する近接度の尺度である。F(i、j)は、距離がユーザ指定閾値よりも大きい場合はゼロであり、閾値内では、スカラー定数に単に、1つのバウンディングボリュームを移動して他のバウンディングボリュームから閾値距離の外側に移動するのに必要な最小距離を掛けたものになる。
【0030】
いくつかの実施形態では、この関数は、その勾配を計算するために有限差分で使用されてもよく、次いで、衝突を回避する方向にマニピュレータを駆動するためのコア制御システムに対するベクトルパラメータとして使用されてもよい。ここで、環境内の障害物は、その状態をブロードキャストする他のマニピュレータ用など、明確に定義されていてもよく、又は、視覚又は他の検知メカニズムからリアルタイムで決定されてもよい。
【0031】
いくつかの実施形態では、上述した制御方法を使用して、少なくとも部分的に、コントローラがロボットシステム全体のDOF(例えば、システムの利用可能なDOF「N」)を、ワークピース拘束のみに基づいて識別された必要となる最小自由度数(「M」)に関連付けることを可能にし得る。換言すれば、本明細書に記載されるロボットシステム及び方法は、自然ロボットタスクを実行するためにワークピースデータのみを必要とし得る。場合によっては、DOFは、他の要因又は拘束を含むがこれらに限定されない他の要因にも基づき得るが、この情報は必要でない場合がある。本明細書で提供される自然ロボットタスクロボットシステム及び方法の実施形態は、ロボットシステムのより良い制御及び/又は性能の向上、ロボットタスクのためのより実現可能な及び/又は最適化された解決策などを提供するために利用可能であり得る。
【0032】
いくつかの実施形態では、ここで図5を参照すると、自然ロボットタスクロボットプロセス500と一致する複数の動作を有するフローチャートを示す実施形態が提供されている。プロセス500は、1つ以上のロボットの第1のロボットを提供すること(502)を含んでもよく、第1のロボットは、それに関連する最大自由度数を有する。プロセス500は、グラフィカルユーザインターフェースにおいて、自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束を有する自然ロボットタスクを受信すること(504)を更に含み得る。プロセス500はまた、少なくとも1つのプロセッサを使用して、自然ロボットタスクを実行するために必要となる最小自由度数を識別することと、を含み得、最小自由度数は、少なくとも部分的に、自然ロボットタスクに関連する少なくとも1つの自然ワークピース拘束に基づく。
【0033】
「最大自由度数」というフレーズは、機械デバイス、ロボット、及び/又はシステムが移動できる、特定の定義されたモードの最大数を指し得る。「最小自由度数」というフレーズは、機械デバイス、ロボット、及び/又はシステムが移動してタスクを自然に実行する、特定の定義されたモードの最小数を指し得る。「自然ロボットタスク」というフレーズは、低減及び/又は単純化された量のモーションを使用して実行され得るタスクを指し得る。場合によっては、自然ロボットタスクを指定することは、ユーザがロボットシステムの座標/フレームで指定する必要があり得るタスクを指定する数学集約的な方法とは対照的であり得る。自然ロボットタスクは、1つ以上のロボット又はツールを使用してロボットシステムに対して指定/実証することができ、最小自由度数は、少なくとも部分的に、自然ロボットタスクに基づいて決定され得る。最小自由度数は、ツール、ロボット、及び/又はワークピース形状の分析を介して決定されてもよい。最小自由度数は、デモンストレーションを使用して指定されてもよく、GUIなどを使用してロボット技術を学習するように教育してもよい。
【0034】
いくつかの実施形態では、タスクの自然さは、1)命令されたロボットタスクと、2)実行すべき実際の所望のこととの間の整合の程度を指し得る。いくつかの例を以下に示す。
所望のタスク(1):カップを机の上に置く。
不自然:ハンドルを右にコーナーからx=30、y=50cmに向けて、カップを置く。
自然:ハンドルを任意の方向に向けて、テーブルの境界内の任意の場所にカップを置く。
所望のタスク(2):ロボット上のカメラを、空間内の3Dポイントx=1、y=2、z=2に向ける。
不自然:カメラをx=0、y=0.2、z=0.3に配置し、x=1、y=2、z=2に向ける。
不自然:画像の上部を現実世界の上部と整合して、カメラを任意の場所から{1,2,2}に向ける。
自然:カメラ位置に拘束することなく、カメラを任意の配向で{1,2,2}に向ける。
所望のタスク(3):1m離れたノズルを使用し、パーツの中心に直接向けて、パーツをスプレーペイントする。
不自然:ノズルをパーツに向け、その軸を中心に特別に配向して、1m離れたところからスプレーする。
自然:ノズルをパーツに向ける以外に特別に配向することなく、1m離れたところからスプレーする。
【0035】
これらの不自然な拘束では、ロボットモーションを過度に制限する方法が奇妙に見え得るが、実際には、これらの種類のタスクが通常実行される方法であることに留意されたい。本明細書に含まれる自然ロボットタスクシステムの実施形態は、自然表現の使用及び解決を可能にする。
【0036】
いくつかの実施形態では、「自然ワークピース拘束」というフレーズは、幾何学的特徴、材料特性、及び/又は特定のワークピースに関連する任意の他の態様に関連し得る。「自然環境拘束」というフレーズは、幾何学的特徴、障害物、材料特性、及び/又は自然ロボットタスクに関連し得る、環境に関連する他の任意の態様に関連し得る。
【0037】
いくつかの実施形態では、ワークピース拘束、環境拘束、及びマニピュレータ拘束は、このアプローチにおいて連続体を形成してもよく、複数の自然拘束を組み合わせて、包括的なタスク動作を定義してもよい。これらのいくつかには、方向拘束、向き拘束、曲線又は表面への割り当て、距離拘束、ジョイント位置、ジョイント位置の線形及び非線形の関数の組み合わせ、重心、並びに線形及び角運動量が含まれ得るがこれらに限定されない。これらの拘束は、ロボット構成の機能として変化し得る。ツールオフセット、静的オブジェクト又は障害物、及び動的オブジェクト又は障害物を使用して、拘束を定義及び構成してもよい。いくつかの実施形態では、最小自由度数の識別は、ワークピース拘束形状、及び/又はその特徴に基づいてもよく、それらのいくつかは、穴、形状、材料、サイズなどを含み得るがこれらに限定されない。
【0038】
いくつかの実施形態では、1つ以上の拘束は、図6図12に示されるGUIなどのビジュアルエディタを使用して、ユーザによって組み合わせられ、及び/又は指定されてもよく、現実世界タスクを最もよく達成するために、経時的に変化する拘束の複雑な組み合わせを作成することができる。これらの拘束の一部又は全ては、ロボットタスク又は動作の実行中に、時間ステップごとにさえ変更されてもよく、衝突及びジョイント制限の回避などの最適化と組み合わせられてもよいことに留意されたい。このようにして、拘束の数とタイプを、リアルタイムで動的に更新することができる。例えば、いくつかの実施形態では、拘束の一部又は全ては、ロボット環境をスキャンして識別し、必要な処理を可能にし、その後の決定を可能にするように構成され得るスキャナを使用して、自動的に決定及び/又は識別され得る。このデータを取得するために様々なセンサ及びデバイスを使用することができ、そのいくつかには、LIDAR、ステレオカメラ、カラーカメラ、マルチスペクトルカメラなどからのデータが含まれるがこれらに限定されない。追加的及び/又は代替的に、拘束の一部又は全ては、通信チャネル(例えば、無線、レーザ、又はネットワーク通信など)を介してリモートで更新され得る。拘束は、2Dグラフィカルユーザインターフェース又は3Dインターフェース(拡張現実など)を使用して設定される。拘束は、単にそれに「等しい」だけでなく、それ「以下」の種類のものであり得る。したがって、本明細書に含まれる自然ロボットタスクロボットシステムは、ユーザが、例えば、床の上だけでなく、床の上方にあるポイントを拘束することを可能にし得る。
【0039】
したがって、本明細書に記載される自然ロボットタスクロボットシステムの実施形態は、最大自由度数「N」を有する1つ以上のロボットを含み得る。いくつかの実施形態では、システムは、(拘束に5自由度を使用して)穴にペグを挿入するなど、実行する必要があることのみを示すことによって、ユーザがタスクを(例えば、デモを実行するためのティーチペンダントなどのGUIを使用して、ロボットシステムを教育し、例として、ロボットの「監視」を実行して1つ以上のセンサを使用して学習することを)自然に指定し、(拘束に3自由度を使用して)溶接ツールの先端で線をたどり、又は(拘束に2自由度を使用して)空間内の場所にカメラを向けることなどを可能にし得る。タスクを自然に指定することには、デモンストレーションを使用してタスクを指定すること、例えば、タスクの実行方法をロボットに教育したり又は学習させたりすることが含まれ得る。追加的及び/又は代替的に、ユーザは、ロボットシステムがタスクを実行する方法を指定しなくてもよく、システムは、タスクを自動的に、又は最小限の入力を使用して実行する方法を決定することができる。
【0040】
いくつかの実施形態では、本明細書に記載される自然ロボットタスクロボットシステムは、M<=Nである場合に、自然ロボットタスクを実行するために必要とされ得る最小自由度数「M」を決定するように構成され得る。自然ロボットタスクロボットシステムは、追加の(N-M)追加自由度を探索することを介して、タスクを実行するための最も自然な又は効率的な方法を決定するように構成され得る。これには、(4)の基準など、追加の自由度を使用して2次基準を最適化することが含まれ得る。例えば、コントローラ(例えば、Actin)は、上述したような追加の自由度(N-M)を探索することを可能にするのに役立ち得る。追加の自由度を使用して、タスクを実行するためのより便利で、より速く、エネルギー効率が高く、及び/又は実行可能な「方法」を決定することができる。実行の方法又は方式は、少なくとも部分的に、衝突のないパスの決定、ロボットの調整(複数の場合)などに基づき得る。いくつかの実施形態では、自然ロボットタスクを実行又は実施することは、様々なソフトウェア方法論を使用して(例えば、本開示の譲受人から入手可能なEnergid社のActin(登録商標)ソフトウェアを使用して)少なくとも部分的に利用され得る。タスクを自然に実行する方法又は方式を決定することはまた、シミュレーションを実行するように構成され得る1つ以上のシミュレータを使用することを含み得る。そのようなシミュレーションの結果は、タスクの実行方法を決定するために使用できる。
【0041】
いくつかの実施形態では、追加の自由度(N-M)を探索することは、いくつかのDOF(例えば、「Z」次元)を完全に緩和することを含み得る。追加的に及び/又は代替的に、本明細書に含まれる実施形態は、DOFを部分的に緩和するように構成されてもよく、例えば、Zが±15度以内で自由回転することを可能にする。自然ロボットタスクを指定する際の柔軟性を提供するために、同じ概念を任意のDOFに適用してもよい。したがって、これにより、ロボットシステムがより効率的な方法で解決策を見つけることを可能にし得る。
【0042】
ここで図6図12を参照すると、自然ロボットタスクロボットシステムと一致するグラフィカルユーザインターフェースを示す実施形態が提供されている。図3図5を参照して上述したように、本開示の実施形態は、タスクに基づいて1つ又は複数のロボットが拘束される方法を定義するように構成され得る。これには、必要なものを拘束することのみが含まれ得る。例えば、図6のGUI600を参照すると、ユーザは、どのリンクが拘束されるか、及び一般的な空間拘束を使用する方法を定義することができる。これには、拘束の選択、速度の指定、及び/又は形状に基づくツールオフセットの定義が含まれ得る。ユーザはまた、図7のGUI700を使用して、図8に示されるような1つ以上のツール又はロボットオフセットを構成することができる。
【0043】
ここで図9図10を参照すると、ツールパス及び部分相対ウェイポイントを定義するように構成されたグラフィカルユーザインターフェース900、1000を示す実施形態が、それぞれ提供されている。この例では、ユーザは、操作されるオブジェクトに対するタスク(例えば、タスクの自然参照フレーム)を定義し得る。これは、1つ以上のウェイポイントのポーズ、パス、及び/又は他のカスタム定義されたモーションを使用して達成することができる。各モーションには、独自の個別GUIが含まれ得る。最後のステップは、実行すべき動作の順序をスクリプトで記述することを含み得る。
【0044】
ここで図11図12を参照すると、それぞれ、拘束を編集し、ツールオフセットを管理するように構成されたグラフィカルユーザインターフェース1100、1200を示す実施形態。図11には、編集ツールオフセットオプションを含む拘束エディタが含まれている。「ツールオフセットの編集」オプションを使用することにより、図12に示すように、ユーザがコンテキストのツールオフセットを編集することを可能にし得る。動作中、オプションを選択することにより、拘束によって使用中のオフセットに対して事前に選択されたツールオフセットエディタが表示されてもよい。
【0045】
ここで図13図19を参照すると、溶接プロセスに適用される自然ロボットタスクロボットシステムの実施形態が提供されている。いくつかの実施形態では、最小拘束により、それらの自然な参照フレームで指定され得、タスクプロセスを更に単純化する。一例として、図13に示された溶接タスクなどの、別のロボットにより保持されているパーツに対してあるロボットによって実行されるタスクである。この例では、溶接タスクは、2台のロボットによって保持されているパーツの参照フレームで定義され得る。この拘束アプローチは、実行する必要があることを正確に指定し、全てのロボットのモーションがそれを達成できるようにするという点で自然である。
【0046】
動作中、及び図13に示すように、システムは、グリッパが把持しようとするパーツに対してグリッパを拘束するように構成され得る。パーツがワークスペースのどこにあるかに関係なく、スクリプトは、パーツの位置に対してコマンドを送信する。図14は、2つのパーツが一緒に嵌合され得る例を示している。これには、一方のアーム上のツールオフセットを、保持しているパーツの嵌合座標に設定し、もう一方のアームで保持し得るもう一方のパーツの嵌合座標にゴールを設定することを含み得る。アームは互いに対して拘束されてもよいため、これらのパーツが嵌合されるシステムフレーム内の特定の位置は存在しない。
【0047】
ここで図15図19を参照すると、この特定の例では、第3のアームは、他の2つのアームによって保持され得るアセンブリに対して相対的な位置に溶接機を移動させることができる。再度、ワークスペース内のアセンブリの位置は拘束されなくてもよく、溶接ガンのみがアセンブリに対して拘束され得、そのロール及びピッチがシステム内で拘束され得る。溶接機はパスに沿って移動でき、他の2つのアームは、自動的にパーツを操作してパスモーションを達成することができる。アセンブリはワークスペースの周りをランダムに移動するように見えることに留意されたい。パスが完了した後、1つのグリッパはアセンブリに対して後退し、システムフレーム内で再び拘束され得ない。次いで、名目システム位置に移動する。この例は、最小拘束が自然参照フレームで指定される方法を示しており、3つのアーム間で調整された非常に複雑なモーションを完了するために使用され得る。
【0048】
ここで図20図23を参照すると、ロボットアセンブリプロセスに適用されるような自然ロボットタスクロボットシステムの実施形態が提供されている。この特定の例では、アセンブリタスクでパーツを配置することにより、パーツの形状によっては完全な6DOFが必要ない場合がある。この特定の例は、ホイール及びキャリッジを介して軸を配置することを示している。この例では、軸ボルトを保持しているアームは、軸ボルトの軸を中心に自由に回転することができ、ホイールを保持しているアームもまた、ホイール軸(例えば、Y軸)を中心に自由に回転することができる。
【0049】
図20に示すように、軸を挿入するプロセスでの最初のステップには、パーツを把時して、次いでツールオフセットを関連する座標にセットすることが含まれ得る。この特定の例では、一方のアームがホイールの中心にあり、他方のアームが軸の中心にある。次に、ホイールをハウジングに対して配置し得る。この時点で、ホイールを保持しているアームはホイール軸を中心に自由に回転でき、軸を保持しているアームは軸を中心に自由に回転することができる。図21図22に示すように、次のステップは挿入であり、これには、現在の拘束でピンを所定の位置に移動するようにハンドに命令することが含まれ得る。軸が挿入されると、ホイールを保持しているアームがその軸を中心に自由に回転し、他のアームとの衝突を回避することができる。図23に示すように、最後のステップには、操作されているパーツに対して解放及び後退することが含まれ得る。この例は、最小拘束を自然参照フレームで指定し得る方法、及びそれらを使用して2つのロボットアーム間で調整されたアセンブリモーションを完了し得る方法を示している。
【0050】
当業者には理解されるように、本開示の態様は、システム、方法、又はコンピュータプログラム製品として具体化され得る。したがって、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又は本明細書では全て一般に回路、「モジュール」又は「システム」と呼ばれ得るソフトウェア及びハードウェアの態様を組み合わせた実施形態の形態をとり得る。さらに、本開示の態様は、その上に具体化されたコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体に具体化されたコンピュータプログラム製品の形態をとることができる。
【0051】
1つ以上のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁気、赤外線、又は半導体のシステム、装置、若しくはデバイス、又は前述のものの任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(網羅的ではないリスト)には、1つ以上のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラム可能読み取り専用メモリ(EPROM若しくはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光ストレージデバイス、磁気ストレージデバイス、又は前述のものの適切な組み合わせ、が含まれる。この文献の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによって、又はそれらに関連して使用するためのプログラムを含む、又は記憶することができる任意の有形媒体であり得る。
【0052】
コンピュータ可読信号媒体は、例えば、ベースバンドで、又は搬送波の一部として、コンピュータ可読プログラムコードがその中に具体化された伝播されたデータ信号を含み得る。
【0053】
そのような伝播された信号は、電磁的、光学的、又はそれらの任意の適切な組み合わせを含むがこれらに限定されない、様々な形態のうちのいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、又はデバイスによって、又はそれらに関連して使用するためのプログラムを通信、伝播、又は伝送することができる任意のコンピュータ可読媒体であり得る。コンピュータ可読媒体上に具体化されたプログラムコードは、無線、有線、光ファイバケーブル、RFなど、又は前述の任意の適切な組み合わせを含むがこれらに限定されない、任意の適切な媒体を使用して送信することができる。
【0054】
本開示の態様の動作を実行するためのコンピュータプログラムコードは、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述することができる。プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、及び部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ若しくはサーバ上で、実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続することができ、又は接続は、外部コンピュータに(例えば、インターネットサービスプロバイダを使用したインターネット経由で)行うこともできる。
【0055】
本開示の態様は、本開示の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して以下に説明される。フローチャート図及び/又はブロック図の各ブロック、及びフローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータプログラム命令によって実施できることが理解されよう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供されて、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実施するための手段を作成するように、マシンを生成することができる。
【0056】
これらのコンピュータプログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスに特定の方法で機能するように指示できるコンピュータ可読媒体にロードされてもよく、それによって、コンピュータ可読媒体に記憶された命令は、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実施する命令を含む製品を生産する。
【0057】
コンピュータプログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイス上にロードされて、コンピュータ、他のプログラム可能な装置、又は他のデバイス上で一連の動作ステップを実行させてコンピュータ実装プロセスを生成することができ、それによって、コンピュータ、又は他のプログラム可能な装置上で実行される命令は、フローチャート及び/又はブロック図のブロックで指定された機能/動作を実施するためのプロセスを提供する。
【0058】
図面中のフローチャート及びブロック図は、本開示の様々な実施形態による、システム、方法、及びコンピュータプログラム製品の可能な実施のアーキテクチャ、機能、及び動作を示している。これに関して、フローチャート又はブロック図の各ブロックは、常にではないが、モジュール、セグメント、又はコードの一部を表すことができ、これには、指定された論理機能を実施するための1つ以上の実行可能命令を含む。いくつかの代替的な実施形態では、ブロックに示されている機能が、図に示されている順序とは異なって起こり得ることにも注意されたい。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されてもよく、又は関連する機能に応じて、時にブロックが逆の順序で実行されてもよい。また、ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図におけるブロックの組み合わせは、特定の機能若しくは動作を実行する専用ハードウェアベースのシステム、又は専用ハードウェア及びコンピュータ命令の組み合わせによって実施することができることにも留意されたい。
【0059】
本明細書で使用される用語は、特定の実施を説明することのみを目的としており、開示を限定することを意図するものではない。本明細書で使用される場合、単数形「a」、「an」、及び「the」は、文脈が明らかに他のことを示さない限り、複数形も含むことを意図している。「含む」及び/又は「含んでいる」という用語は、本明細書で使用される場合、記載された特徴、整数、ステップ(必ずしも特定の順序である必要はない)、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ(必ずしも特定の順序である必要はない)、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を排除するものではないことが更に理解されよう。
【0060】
以下の特許請求の範囲に含まれ得る全てのミーンズ又はステッププラスファンクション要素の対応する構造、材料、動作、及び同等物は、具体的に請求された他の請求された要素と組み合わせて機能を実行するための任意の構造、材料、又は動作を含むことを意図している。本開示の記載は、例示及び説明の目的で提示されているが、網羅的であることを意図するものではなく、又は開示された形態での開示に限定されることを意図するものではない。多くの修正、変形、置換、及びそれらの任意の組み合わせは、本開示の範囲及び精神から逸脱することなく、当業者には明らかであろう。実施形態は、開示の原則及び実際の適用を最もよく説明し、当業者が様々な修正及び/又は企図される特定の用途に適した実施形態の任意の組み合わせを伴う様々な実施形態の開示を理解できるようにするために、選択及び説明された。
【0061】
このように、本出願の開示を詳細に説明し、その実施形態を参照することにより、添付の特許請求の範囲で定義された開示の範囲から逸脱することなく、修正、変形、及び実施形態の(任意の修正、変形、置換、及びそれらの組み合わせを含む)任意の組み合わせが可能であることが明らかであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23