(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-28
(45)【発行日】2024-09-05
(54)【発明の名称】1つ又は複数のロボットの拘束条件管理のためのシステム及び方法
(51)【国際特許分類】
B25J 9/16 20060101AFI20240829BHJP
B25J 9/22 20060101ALI20240829BHJP
G05B 19/4069 20060101ALI20240829BHJP
【FI】
B25J9/16
B25J9/22 A
G05B19/4069
(21)【出願番号】P 2021558846
(86)(22)【出願日】2020-04-07
(86)【国際出願番号】 US2020027049
(87)【国際公開番号】W WO2020210217
(87)【国際公開日】2020-10-15
【審査請求日】2023-03-24
(32)【優先日】2019-04-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502391840
【氏名又は名称】テラダイン、 インコーポレイテッド
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100095500
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100111235
【氏名又は名称】原 裕子
(74)【代理人】
【識別番号】100195257
【氏名又は名称】大渕 一志
(72)【発明者】
【氏名】トルーベンバッハ、 エリック レンハルト
(72)【発明者】
【氏名】ポリャコフ、 エヴゲニー
(72)【発明者】
【氏名】ラスティグ、 ピーター
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開2018-015857(JP,A)
【文献】特開2009-056513(JP,A)
【文献】特開2019-034352(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/16
B25J 9/22
G05B 19/4069
(57)【特許請求の範囲】
【請求項1】
ロボティックシステムであって、
ロボットタスクを実行するための初期拘束アプローチを受け取るように構成されるロボットと、
前記ロボットと通信するグラフィカルユーザインタフェースであって、前記グラフィカルユーザインタフェースは、ユーザが前記ロボットと対話して、前記ロボットタスクに関連付けられるロボット姿勢許容範囲を特定することができるように構成され、前記ロボット姿勢許容範囲は、前記初期拘束アプローチより少ない拘束条件を含み、前記
ロボット姿勢許容範囲は、少なくとも一部に、前記ロボットタスクに関連付けられる工作物又は前記ロボットに関連付けられる
ロボットエンドエフェクタの少なくとも一方に関連する1つ又は複数の対称度に基づく、グラフィカルユーザインタフェースと、
前記ロボット姿勢許容範囲を前記ロボットに通信するように構成されたプロセッサと
を含
み、
前記初期拘束アプローチは、前記ユーザから前記ロボットへの、前記ロボットタスクをどのように実行するかを示すデモンストレーションを含み、
前記ロボット姿勢許容範囲は、前記工作物のジオメトリ、前記ロボットエンドエフェクタのジオメトリ、両方のジオメトリの組み合わせ、何れかのジオメトリの一部、又は両方のジオメトリの一部に、少なくとも部分的に基づく前記ロボットが前記工作物をピッキング及び/又はプレーシングする姿勢範囲を含む、ロボティックシステム。
【請求項2】
前記ロボットタスクを実行するための前記初期拘束アプローチは、ユーザ入力、プログラム、シミュレーション、又はユーザデモンストレーションの少なくとも1つから受け取られる、請求項1に記載のシステム。
【請求項3】
前記1つ又は複数の対称度は前記ロボットタスクに関連付けられる工作物のピッキング特徴部の対称度を含む、請求項1に記載のシステム。
【請求項4】
前記工作物の前記ピッキング特徴部の前記対称度は連続的、離散的、又は非対称的である、請求項3に記載のシステム。
【請求項5】
前記1つ又は複数の対称度は前記ロボットエンドエフェクタの対称度を含む、請求項1に記載のシステム。
【請求項6】
前記ロボットエンドエフェクタの前記対称度は連続的、離散的、又は非対称的である、請求項5に記載のシステム。
【請求項7】
前記1つ又は複数の対称度は前記ロボットタスクに関連付けられる設置目標の対称度を含む、請求項1に記載のシステム。
【請求項8】
前記設置目標の前記対称度は連続的、離散的、又は非対称的である、請求項7に記載のシステム。
【請求項9】
前記プロセッサはさらに、前記ロボットに関連付けられる前記ロボットエンドエフェクタに関する工作物の第一の有効姿勢を特定するように構成される、請求項1に記載のシステム。
【請求項10】
前記プロセッサはさらに、前記工作物が前記第一の有効姿勢にあるときの前記ロボットエンドエフェクタの座標フレームの軸と一致する前記工作物に関連付けられる座標フレームの軸を識別するように構成される、請求項9に記載のシステム。
【請求項11】
前記プロセッサはさらに、少なくとも一部に、前記工作物の座標フレームの軸の周囲の前記工作物について、又は前記ロボットエンドエフェクタの座標フレームの前記軸の周囲の前記ロボットエンドエフェクタについて特定される対称度に基づいて、前記ロボットエンドエフェクタの回転を可能にすることによって有効ロボットエンドエフェクタ姿勢範囲を特定するように構成される、請求項9に記載のシステム。
【請求項12】
前記グラフィカルユーザインタフェースは、前記ロボットエンドエフェクタ
と、
前記工作物
と、前記ロボットエンドエフェクタに関連付けられる座標フレームの軸又は前記工作物に関連付けられる座標フレームの軸の少なくとも一方
とを表示するように構成され、
前記グラフィカルユーザインタフェースは
、前記ロボットエンドエフェクタに関連付けられる前記座標フレームの前記軸又は前記工作物に関連付けられる前記座標フレームの前記軸の周囲で
前記ロボットエンドエフェクタが回転されるときに、前記ロボットエンドエフェクタが
前記工作物をピックアップするための
2つ以上の等価なパフォーマンスを有するか否かをユーザが特定できるように構成される、請求項11に記載のシステム。
【請求項13】
前記プロセッサはさらに、前記ロボティックシステムに関連付けられる設置目標に関する工作物のための設置を特定するように構成される、請求項1に記載のシステム。
【請求項14】
前記プロセッサはさらに、少なくとも一部に、前記工作物の座標フレームの軸の周囲の前記工作物、又は前記設置目標の何れかについて特定された対称度に基づいて前記ロボットエンドエフェクタの回転を可能にすることによって、有効ロボットエンドエフェクタ姿勢範囲を特定するように構成される、請求項13に記載のシステム。
【請求項15】
前記グラフィカルユーザインタフェースは、前記ロボットエンドエフェクタ
と、
前記工作物
と、前記ロボットエンドエフェクタに関連付けられる座標フレームの軸又は前記工作物に関連付けられる座標フレームの軸の少なくとも一方
とを表示するように構成され、
前記グラフィカルユーザインタフェースは
、前記ロボットエンドエフェクタに関連付けられる前記座標フレームの前記軸又は前記工作物に関連付けられる前記座標フレームの前記軸の周囲で
前記ロボットエンドエフェクタが回転されるときに、前記ロボットエンドエフェクタが前記工作物を前記設置目標に置くための
2つ以上の等価なパフォーマンスを有するか否かをユーザが特定できるように構成される、請求項14に記載のシステム。
【請求項16】
前記プロセッサはさらに、前記ロボットが前記姿勢範囲に関連付けられる前記
ロボットタスクを実行するのに必要な自由度(DOF)の最小数を特定するように構成され、
前記プロセッサはさらに、1つ又は複数の追加の拘束条件を満たすのに必要な追加の自由度数を特定するように構成される、請求項1に記載のシステム。
【請求項17】
前記プロセッサはさらに、前
記自由度
の最小数を前記追加の自由度数と合わせて合計自由度数を特定するように構成され、
前記プロセッサはさらに、前記合計自由度数を前記ロボットに関連付けられる許容自由度の最大数と比較するように構成される、請求項16に記載のシステム。
【請求項18】
前記プロセッサはさらに、前記許容自由度の最大数と前記合計自由度数との間の差を特定し、少なくとも一部に、前記差に関連付けられる姿勢範囲に基づいて前記ロボットのパフォーマンスを最適化するように構成される、請求項17に記載のシステム。
【請求項19】
前記
ロボット姿勢
許容範囲は、少なくとも一部に、前記ロボットタスクに関連付けられる設置目標に関連する1つ又は複数の対称度に基づく、請求項1に記載のシステム。
【請求項20】
ロボティック方法であって、
ロボットタスクを実行するための初期拘束アプローチを受け取るように構成されたロボットを提供するステップと、
ユーザが前記ロボットと通信するグラフィカルユーザインタフェースを使って前記ロボットと対話できるようにするステップであって、前記グラフィカルユーザインタフェースは、ユーザが前記ロボットと対話して、前記ロボットタスクに関連付けられるロボット姿勢許容範囲を特定することができるように構成され、前記ロボット姿勢許容範囲は、前記初期拘束アプローチより少ない拘束条件を含み、前記
ロボット姿勢許容範囲は、少なくとも一部に、前記ロボットタスクに関連付けられる工作物、前記ロボットタスクに関連付けられる設置目標、又は前記ロボットに関連付けられる
ロボットエンドエフェクタの少なくとも1つに関連する1つ又は複数の対称度に基づく、ステップと、
プロセッサを介して、前記ロボット姿勢許容範囲を前記ロボットに通信するステップと
を含
み、
前記初期拘束アプローチは、前記ユーザから前記ロボットへの、前記ロボットタスクをどのように実行するかを示すデモンストレーションを含み、
前記ロボット姿勢許容範囲は、前記工作物のジオメトリ、前記ロボットエンドエフェクタのジオメトリ、両方のジオメトリの組み合わせ、何れかのジオメトリの一部、又は両方のジオメトリの一部に、少なくとも部分的に基づく前記ロボットが前記工作物をピッキング及び/又はプレーシングする姿勢範囲を含む、ロボティック方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2019年4月8日に出願された米国特許出願第16/378,343号の利益を主張する。同出願の内容の全体を参照によって本願に援用する。
【0002】
本発明は一般に、ロボット工学に関し、より具体的にはロボット又はロボティックシステムを低拘束度化(under-constraining)するシステムと方法に関する。
【背景技術】
【0003】
ロボットにタスクを行わせることは難しく、この難しさは、ロボットに不自然な過拘束(over constrained)となる方法でタスクを行わせることによってより増大する。ナチュラルタスキングとは、過拘束も低拘束度化も行わずにロボットのタスクを容易に明示する包括的なアプローチである。
【0004】
例えば体操選手はバーの上での正確な手つき位置をモデル化するのではなく、バーを手つきのための1自由度を有するものとしてモデル化する。同様に、溶接及び塗装等のタスクは、電極又はノズルをその主軸の周囲でどのように回転させるかにおいて追加の自由度を有し、ロボットにタスクを行わせるオペレータはこれらの自然な拘束条件で作業することによって利益を得る。同様に、産業ロボットが握る工作物は、様々な握り方ができるような対称性を有しているかもしれない。ナチュラルタスキングは、ロボットに対する拘束条件をその制限が極小で最小である方法で明示する。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の1つ又は複数の実施形態において、システムが提供される。システムは、ロボットタスクを実行するための初期拘束アプローチを受け取るように構成されたロボットを含んでいてよい。システムは、ロボットと通信するグラフィカルユーザインタフェースをさらに含んでいてよい。グラフィカルユーザインタフェースは、ユーザがロボットと対話して、ロボットタスクに関連付けられるロボット姿勢の許容範囲を特定することができるように構成されてよい。ロボット姿勢の許容範囲は、初期制約アプローチより少ない拘束条件を含んでいてよい。姿勢の許容範囲は、少なくとも一部に、ロボットタスクに関連付けられる工作物又はロボットに関連付けられるエンドエフェクタに関連する1つ又は複数の対称度に基づいていてよい。システムはまた、ロボット姿勢の許容範囲をロボットに通信するように構成されたプロセッサも含んでいてよい。
【0006】
以下の特徴の1つ又は複数が含められてよい。ロボットタスクを実行するための初期拘束アプローチは、ユーザ入力、プログラム、シミュレーション、又はユーザデモンストレーションの少なくとも1つから受け取られてよい。1つ又は複数の対称度は、ロボットタスクに関連付けられる工作物のピッキング特徴部の対称度を含んでいてよい。工作物のピッキング特徴部の対称度は、連続的、離散的、又は非対称であってもよい。1つ又は複数の対称度は、ロボットエンドエフェクタの対称度を含んでいてよい。ロボットエンドエフェクタの対称度は、連続的、離散的、又は非対称であってよい。1つ又は複数の対称度は、ロボットタスクに関連付けられる設置目標の対称度を含んでいてよい。設置目標の対称度は、連続的、離散的、又は非対称であってよい。プロセッサはさらに、ロボットに関連付けられるロボットエンドエフェクタに関する工作物の第一の有効姿勢を特定するように構成されてよい。プロセッサはさらに、工作物が第一の有効姿勢にあるときのロボットエンドエフェクタの座標フレームの軸と一致する工作物に関連付けられる座標フレームの軸を識別するように構成されてもよい。プロセッサはさらに、少なくとも一部に、工作物の座標フレームの軸の周囲の工作物について、又はロボットエンドエフェクタの座標フレームの軸の周囲のロボットエンドエフェクタについて特定される対称度に基づいて、ロボットエンドエフェクタの回転を可能にすることによって有効なロボットエンドエフェクタの姿勢の範囲を特定するように構成されてよい。グラフィカルユーザインタフェースは、ロボットエンドエフェクタ、工作物、及びロボットエンドエフェクタに関連付けられる座標フレームの軸又は工作物に関連付けられる座標フレームの軸の少なくとも一方を表示するように構成されてよく、グラフィカルユーザインタフェースは、ロボットエンドエフェクタがロボットエンドエフェクタに関連付けられる座標フレームの軸又は工作物に関連付けられる座標フレームの軸の一方の周囲で回転されるときに、ロボットエンドエフェクタが工作物をピックアップするための実質的に同等のパフォーマンスを有するか否かをユーザが明示できるように構成される。プロセッサはさらに、ロボティックシステムに関連付けられる設置目標に関する工作物のための設置を特定するように構成されてよい。プロセッサはさらに、少なくとも一部に、工作物の座標フレームの軸の周囲の工作物、又は設置目標の何れかについて特定された対称度に基づいてロボットエンドエフェクタの回転を可能にすることによって、有効なロボットエンドエフェクタ姿勢の範囲を特定するように構成されてよい。グラフィカルユーザインタフェースは、ロボットエンドエフェクタ、工作物、及びロボットエンドエフェクタに関連付けられる座標フレームの軸又は工作物に関連付けられる座標フレームの軸の少なくとも一方を表示するように構成されてよく、グラフィカルユーザインタフェースは、ロボットエンドエフェクタがロボットエンドエフェクタに関連付けられる座標フレームの軸又は工作物に関連付けられる座標フレームの軸の周囲で回転されるときに、ロボットエンドエフェクタが工作物を設置目標に置くための実質的に同等のパフォーマンスを有するか否かをユーザが明示できるように構成される。プロセッサはさらに、ロボットが姿勢範囲に関連付けられるタスクを実行するのに必要な自由度(DOFs:degrees of freedom)の最小数を特定するように構成されてよい。プロセッサはさらに、1つ又は複数の追加の拘束条件を満たすのに必要な追加の自由度数を特定するように構成されてよい。プロセッサはさらに、最小自由度数を追加の自由度数と合わせて合計自由度数を特定するように構成されてよく、プロセッサはさらに、合計自由度数をロボットに関連付けられる許容自由度の最大数と比較するように構成されてよい。プロセッサはさらに、許容自由度の最大数と合計自由度数との間の差を特定し、少なくとも一部に、その差に関連付けられる姿勢の範囲に基づいてロボットのパフォーマンスを最適化するように構成されてよい。姿勢の許容範囲は、少なくとも一部に、ロボットタスクに関連付けられる設置目標に関連付けられる1つ又は複数の対称度に基づいていてよい。
【0007】
本開示の他の実施形態において、方法が提供される。方法は、ロボットタスクを実行するための初期拘束アプローチを受けるように構成されたロボットを提供するステップを含んでいてよい。方法は、ユーザがロボットと通信するグラフィカルユーザインタフェースを使ってロボットと対話できるようにするステップをさらに含んでいてよい。グラフィカルユーザインタフェースは、ユーザがロボットと対話して、ロボットタスクに関連付けられるロボット姿勢の許容範囲を特定できるように構成されてよい。ロボット姿勢の許容範囲は、初期拘束アプローチより少ない拘束条件を含んでいてよく、姿勢の許容範囲は少なくとも一部に、ロボットタスクに関連付けられる工作物又はロボットに関連付けられるエンドエフェクタの少なくとも一方に関連する1つ又は複数の対称度に基づいていてよい。方法はまた、プロセッサを介して、ロボット姿勢の許容範囲をロボットに通信するステップも含んでいてよい。
【0008】
本開示の性質と目的をよりよく理解するために、下記のような図面と併せて読むべき以下の詳細な説明を参照する。
【図面の簡単な説明】
【0009】
【
図1】本開示の実施形態によるナチュラルタスキングロボティックシステムのブロック図である。
【
図2】本発明の実施形態によるナチュラルタスキングロボティックシステムの複数の自由度を示すグラフィカルユーザインタフェースである。
【
図3】本開示の実施形態によるナチュラルタスキングロボティックシステムのブロック図である。
【
図4】本発明の実施形態によるナチュラルタスキングロボティックシステムで使用される速度制御アプローチのブロック図である。
【
図5】本開示の実施形態によるナチュラルタスキングロボティック方法のフローチャートである。
【
図6】本開示の実施形態によるナチュラルタスキングロボティックシステムのシステム図である。
【
図7】本開示の実施形態による工作物又は工作物をピックアップするために使用されてよいロボット姿勢の例を示す。
【
図8】本開示の実施形態による工作物設置目標の例を示す。
【
図9】本発明の実施形態による目標の周囲に障害物のある工作物設置目標の例を示す。
【
図10】本発明の実施形態による長方形の工作物及び長方形の工作物設置目標の例を示す。
【
図11】本開示の実施形態による、ある工作物が複数の位置において把持されるかもしれない様子を描いた例を示す。
【
図12】本開示の実施形態による長方形の工作物及び長方形の工作物設置目標の例を示す。
【
図13】本発明の実施形態による長方形の工作物及び長方形の工作物設置目標の例を示す。
【
図14】本開示の実施形態によるほぼ円柱形の工作物の例を示す。
【
図15】本開示の実施形態による3軸全ての周囲で連続対称性を有する工作物の例を示す。
【
図16】本開示の実施形態によるz軸の周囲で連続対称性を有する工作物の例を示す。
【
図17】本開示の実施形態による対称のピッキング特徴部を有する非対称工作物の例を示す。
【
図18】本開示の実施形態による対称のプレーシング特徴部を有する非対称工作物の例を示す。
【
図19】本開示の実施形態による対称のプレーシング特徴部と共に設置目標の例を示す。
【
図20】本開示の実施形態による非対称のプレーシング目標の例を示す。
【
図21】本開示の実施形態による非対称のエンドエフェクタの例を示す。
【
図22】本開示の実施形態による非対称のピッキング特徴部を有する非対称工作物の例を示す。
【
図23】本開示の実施形態によるx、y、又はz軸の周囲で対称な、ピッキング又はプレーシング特徴部を持たない工作物の例を示す。
【
図24】本開示の実施形態による非対称の工作物の例を示す。
【
図25】本開示の実施形態によるエンドエフェクタの例を示す。
【
図26】本開示の実施形態による工作物の例を示す。
【
図27】本開示の実施形態によるエンドエフェクタの例を示す。
【
図28】本開示の実施形態によるエンドエフェクタの例を示す。
【
図29】本開示の実施形態によるプレーシング目標の例を示す。
【
図30】本開示の実施形態によるプレーシング目標の例を示す。
【
図31】本開示の実施形態による工作物の例を示す。
【
図32】本開示の実施形態による工作物の例を示す。
【
図33】本開示の実施形態による運動拘束の例を表す表を示す。
【
図34】本開示の実施形態による運動拘束の例を表す表を示す。
【
図35】本開示の実施形態によるプレーシング目標に置かれている工作物の例を示す。
【
図36】本開示の実施形態によるプレーシング目標に置かれている工作物の例を示す。
【
図37】本開示の実施形態によるプレーシング目標に置かれている工作物の例を示す。
【
図38】本開示の実施形態によるプレーシング目標に置かれている工作物の例を示す。
【
図39】本開示の実施形態によるロボティックシステムのグラフィカルユーザインタフェースである。
【
図40】本開示の実施形態によるロボティックシステムのグラフィカルユーザインタフェースである。
【
図41】本開示の実施形態によるロボティックシステムのグラフィカルユーザインタフェースである。
【
図42】本開示の実施形態によるロボティックシステムのグラフィカルユーザインタフェースである。
【
図43】本開示の実施形態のよるロボティックシステムのグラフィカルユーザインタフェースである。
【発明を実施するための形態】
【0010】
本願の実施形態は、米国特許第6,757,587号明細書、米国特許第7,680,300号明細書、米国特許第8,301,421号明細書、米国特許第8,408,918号明細書、米国特許第8,428,781号明細書、米国特許第9,357,708号明細書、米国特許出願公開第2015/0199458号明細書、米国特許出願公開第2016/0321381号明細書、及び米国特許出願公開第2018/0060459号明細書の概念を含んでいるかもしれず、各々の全内容をその全体を参照することによって本願に援用する。
【0011】
ここで
図1を参照すると、ある実施形態のロボティックシステム100が提供されている。システム100は複数のコンポーネントを含んでいてよく、その一部は特定の用途及び/又はタスクのために設計されていてよい。システムの第一のコンポーネントは、新しいプロセスをデータベース104に追加するためのソフトウェアシステム102を含んでいてよい。いったん構築されると、データベース104はオペレータによって現場で、又は遠隔的に再使用されてよい。オペレータは、
図1に示されるように、制御ソフトウェア108による実行のために、グラフィカルユーザインタフェース106を使ってデータベース104からの要素を選択してよい。特定のアプリケーション及び/又はタスク(例えば、溶接、ロボットによる組立等)のための手順は、専門家によってオフラインでデータベース104に追加されてよい。このデータベース104は、グラフィカルユーザインタフェース106及びタスキングソフトウェアと共にオフラインで使用されて、各タスクのための各手順が展開されてよい。ソフトウェアモジュールには、トレーニング、タスキング、及び特定のタスクの実行等が含まれていてよいが、これらに限定されない。この全てが、ロボットハードウェア110の運動の方法を制御するために使用されてよい。ロボットハードウェア110が制御ソフトウェア108から受け取った制御に応答してよいが、留意すべき点として、ロボットハードウェア自体はそれぞれの自由度の最大数によって限定されるかもしれず、これについては後でさらに詳しく述べる。
【0012】
ロボティックシステムにおいて、「自由度」という語句は機械的装置又はシステムが移動できる特定の定義されたモードを指してよい。自由度数は、独立した変位又は運動の向きの総数と等しいかもしれない。例えば、6自由度(「6DOF」)のシナリオでは、三次元空間内での剛体の移動の自由度を指してよい。具体的には、剛体は3つの直交軸内の前/後(サージ)、上/下(ヒーブ)、左/右(スウェイ)の並進移動に、多くの場合にヨー(上下軸)、ピッチ(横軸)、及びロール(縦軸)と呼ばれる3つの直交軸の周囲での回転を通じた方位の変化と組み合わせたものとして自由に位置を変化させてよい。それに対して、ある点を空間内に設置することは3自由度に対応してよく、異なるリンク上の2点間の距離を明示することは1自由度である、等。
【0013】
幾つかの実施形態において、「ロボティックシステム」という用語は、本明細書で使用されるかぎり、1、2、及び/又は何れの数のロボティックシステムも含んでいてよい。このようにして、ロボティックシステム全体のDOFは個々のロボットの各々のDOFsの合計を指してよい。これには、各単軸関節につき1つのDOF及び自由移動基底部のための6つのDOFが含まれていてよい。例えば、一方が6DOFを有し、他方が5DOFを有する2つのロボットを含むロボティックシステムの場合、利用可能な全体的ロボティックシステムの自由度は11DOFであるかもしれない。
【0014】
本明細書に含まれる実施形態は、ロボットタスクを自然に実行するために、1つ又は複数のロボットの追加の自由度数を探索するように構成されてよい。この例では、全体的なロボティックシステムはそれに関連付けられる自由度の最大数DOF(“N”)を含んでいてよく、そこから差し引かれるDOFの最小数(“M”)も含んでいてよい。
【0015】
例えばここで
図2を参照すると、6自由度、すなわちフル3D回転及び方位を有する溶接ツールと対比させた5自由度を有する溶接ツールを描いたグラフィカルユーザインタフェース200からの3Dレンダリングが提供されている。これら2つの違いは、1つの軸の周囲の回転を緩和させることによって5自由度が見出されてよいことである。この特定のモデルは、スキャン溶接プロセスを最適化するように調整されている。これには、スキャナツールの周囲のバウンディングボリュームを構成することのほか、システム及び基底部の主要フレームを整列させて、ツール経路及び点群が正しい位置に現れるようにすることが含まれた。ツールオフセットもまた、ツール経路が点群からどのように作られるかに基づいて構成された。経路は、シームの底部に沿って作られたため、手先からのオフセットは、衝突が起こらないように構成された。
図2に示されるように、アームは2つの異なる拘束条件セットを使って拘束されてよく、これらは各々、異なるツールオフセット、すなわち工作物をスキャンするための1つと溶接のための1つを使用する。「工作物」という用語は、本明細書で使用されるかぎり、ロボットが移動させる物体を指してよい。スキャニングのために設定された自由度は6自由度フレームを使用し、溶接セットはトーチの先端が先端の周囲で自由に回転できるようにする5自由度フレームを使用する。これによって、まず工作物のスキャニングを行い、その後、ロボットにとってその作業空間エンベロープのために実現がより困難な溶接経路のための自由度を緩和させることができる。
【0016】
幾つかの実施形態において、またここで
図3を参照すると、ナチュラルタスキングロボティックプロセスに適合する多数の運動を有するフローチャートを表す実施形態が提供されている。ナチュラルタスキングプロセス300は、ロボット、エンドエフェクタ、工作物、及びロボティック環境を定義するステップ302を含んでいてよい。プロセス300は、タスク、エンドエフェクタのジオメトリ、工作物のジオメトリ等に基づいて1つ又は複数の拘束条件を定義するステップ304をさらに含んでいてよい。プロセス300はまた、拘束条件を使って1つ又は複数のタスク運動を定義するステップ306を含んでいてよい。プロセス300はまた、例えばタスクに関する対称軸を見つけることによる等、ジオメトリ(例えば、エンドエフェクタのジオメトリ)の分析を通じて最小数の拘束条件を自然に定義するように構成されていてよい。このようにして、拘束条件の自然性のほか、ロボット運動の追加の自由度を利用する能力によって、ロボットの自然な制御が可能となる。自然な制御は、少なくとも一部に、自然な拘束条件とこれらの拘束条件の自然な最適化の両方に基づいていてよく、これについては後でさらに詳しく説明する。動作中、自然に最適化されると、タスクは後述のようなヤコビアンに基づく速度制御アプローチを使って実行されてよい308。
【0017】
幾つかの実施形態において、またここで
図4を参照すると、本開示のロボティックシステムの実施形態に適合するブロック
図400が提供されている。システム内のロボットアームのエンドエフェクタの制御は、複数のコンポーネントを使って(例えば、EnergidのActin(登録商標)ソフトウェアを使って)実現されてよい。これらのコンポーネントには、外側位置コントローラ402及び内側速度コントローラ404が含まれていてよいが、これらに限定されない。この複合的制御システム400によって、所望の設置を特定することによってタスク空間全体を通じてエンドエフェクタを「飛ばす」プログラムが可能となり、関節速度及び位置は自動的に計算されてよい。これによって、オペレータはロボットの低レベル制御ではなくタスクに集中できる。
【0018】
幾つかの実施形態において、コア速度フレームワークはマニピュレータのヤコビアン方程式:
【数1】
に基づいていてよい。
【0019】
ここで、Vはエンドエフェクタの運動のm長さベクトル表現(通常、マニピュレータの各部分に剛体的に取り付けられた点に関する線及び角速度の何れかの組合せ)であり、qは関節位置のn長さベクトル(
【数2】
はその時間微分)であり、Jはm×nのマニピュレータヤコビアンであり、qの関数である。(1つのエンドエフェクタを有する空間アームの場合、Vは多くの場合、3つの線成分と3つの角成分を有するフレーム速度である。本明細書で使用されるかぎり、これは、複数のエンドエフェクタの点、フレーム、又はその他の運動の連結を含む、より広い意味を持つ。)ヤコビアンJ(q)は、
【数3】
の取り得る全ての値について()を真とする行列である。Vは複数のエンドエフェクタの値の連結を表すことができ、マニピュレータ上の複数の点の協調運動が可能となる点に留意されたい。
【0020】
速度制御問題は以下のとおりである:所望のエンドエフェクタの運動をVとすると、この運動を最もよく実現する関節レート
【数4】
は何か?これに回答するために、フレームワークは、少なくとも一部に以下のアプローチに基づき、これはスカラα、行列関数W(q)、及びスカラ関数f(q)を使い、次式を通じてVの場合の
【数5】
を解く:
【数6】
【0021】
式中、∇fはfの勾配であり、NJはJの零空間に広がるベクトルのn×(n×m)セットである。すなわち、JNJ=0であり、NJはランク(n×m)を有する。∇fとNJはどちらも概してqの関数である。α、W、及びfの値を変化させることによって、多くの新規で最も確立された速度制御技術を実装できる。
【0022】
しかしながら、本開示の実施形態は、上記の式の範囲を越えて、より一般的なフレームワークを作る。関数の勾配の使用に固執する代わりに、一般的列ベクトルF(q)が使用される。全てのベクトル関数が勾配であるとはかぎらない。この、小さいが重要な変更によって次式が得られる:
【数7】
【0023】
これにより、所望のVを実現しながら、以下を最小化する:
【数8】
【0024】
パラメータα、W、及びFは、XMLを使って定義して、様々な種類の速度制御を行うことができる。
【0025】
幾つかの実施形態において、位置制御システム402は速度制御システム404に基づき、エンドエフェクタにロバストな位置制御を提供してよい。位置制御モジュールは、位置制御システム402へのインタフェースとして供給されてよく、それによって新規の位置制御アルゴリズムを追加できる。位置制御システム402は、速度制御システム404に基づき、エンドエフェクタのための基本的位置制御を提供してよい。速度制御システム404からの関節速度を考え、位置制御システム402はオイラ積分を使って関節位置を計算してよい。関節位置が計算されると、エンドエフェクタの位置がわかる。制御システムは、それが時間的に順方向に繰り返される際に関節限界超過及び衝突をチェックしてよい。それはまた、特異点が検出された場合に関節速度コマンドをゼロにしてもよい。
【0026】
幾つかの実施形態において、前述の制御方法が少なくとも一部に使用されて、コントローラが全体的ロボティックシステムのDOF(例えば、システムの利用可能なDOF、“N”)を工作物の拘束条件だけに基づいて識別された自由度の必要最小数(“M”)に関連付けることができるようにしてよい。換言すれば、本明細書に記載のロボティックシステム及び方法では、自然なロボットタスクを実行するために工作物のデータだけがあればよいかもしれない。幾つかのケースでは、DOFはその他の要素や拘束条件を含むがこれらに限定されない他の要素にも基づいているかもしれないが、この情報は必要ではないかもしれない。本願で提供されるロボティックシステム及び方法の実施形態は、ロボティックシステムのよりよい制御及び/又はパフォーマンスの向上、ロボットタスクのためのより便利な、及び/又は最適化された解決策等を提供するために利用可能であるかもしれない。
【0027】
「自由度の最大数」という語句は、機械的装置、ロボット、及び/又はシステムが移動するかもしれない具体的な定義されたモードの最大数を指してよい。「自由度の最小数」という語句は、機械的装置、ロボット、及び/又はシステムがタスクを自然に実行するために移動する具体的な定義されたモードの最小数を指してよい。「自然な(ナチュラル)ロボットタスク」という語句は、より少ない、及び/又は簡素化された運動を使って実行されるかもしれないタスクを指してよい。幾つかのケースにおいて、自然なロボットタスクを特定することは、ロボティックシステムの座標/フレーム内でユーザが特定する必要があるかもしれないタスクを特定する数学集約的方法と対比されてよい。自然なロボットタスクは、1つ又は複数のエンドエフェクタを使ってロボティックシステムに特定され/デモンストレートされてよく、自由度の最小数は、少なくとも一部に自然なロボットタスクに基づいて特定されてよい。自由度の最小数は、エンドエフェクタ、ロボット、及び/又は工作物のジオメトリ分析を通じて特定されてよい。それは、デモンストレーションの使用、教示学習ロボット技術、GUIの使用等により特定されてよい。
【0028】
幾つかの実施形態におい、タスクの自然性は、1)命令されたロボットタスクと、2)実際に行われることが希望される事柄との間の整合度合いを指してよい。幾つかの例を以下に挙げる:
所望のタスク(1):カップを机の上に置く。
不自然:隅からx=30、y=50cmに取っ手を右側にしてカップを置く。
自然:取っ手の向きを問わず、カップをテーブルの境界内のどこかに置く。
所望のタスク(2):ロボット上のカメラを空間内のx=1、y=2、Z=2の3D地点に向ける。
不自然:カメラをx=0、y=.2、z=.3に置き、それをx=1、y=2、z=2に向ける。
不自然:画像上の上を実世界の上に合わせて、カメラを何れかの位置から{1,2,2}に向ける。
自然:カメラ位置にいかなる拘束条件も設けずに、カメラを何れかの方位で{1,2,2}に向ける。
所望のタスク(3):工作物の中心から1m離れ、直接そこに向けられたノズルを使って工作物に噴霧塗装する。
不自然:工作物に向けられ、特にその軸の周囲で方位が定められたノズルで1m離れた位置から噴霧する。
自然:工作物にそれを向けること以外、特別な方位を持たないノズルで1m離れた位置から噴霧する。
【0029】
留意すべき点として、これらの不自然な拘束条件は、それらがどのようにロボット運動を制約しすぎるかという点で奇妙に見えるかもしれないが、これらは実際にこの種のタスクが行われる典型的な方法である。本願に含まれるロボティックシステムの実施形態によれば、自然な表現を使用し、それを解決することができる。
【0030】
幾つかの実施形態において、「自然な工作物の拘束条件」という用語は、特定の工作物に関連付けられる幾何学的特徴、及び/又は他のあらゆるアスペクトに関係してよい。「自然な環境的拘束条件」という語句は、自然なロボットタスクに関連付けられるかもしれない環境に関連付けられる幾何学的特徴、障害物、及び/又はその他のあらゆる面に関係してよい。
【0031】
幾つかの実施形態において、工作物の拘束条件、環境的拘束条件及びマニピュレータの拘束条件は、このアプローチにおいて連続体を形成してよく、複数の自然な拘束条件を組み合わせて総合的なタスキング運動を定義することができる。これらの幾つかには、方向の拘束条件、方位の拘束条件、曲線又は面への割当、距離の拘束条件、関節位置、関節位置の線形及び非線形関数の組合せ、質量中心、並びに線及び角運動量が含まれていてよいが、これらに限定されない。これらの拘束条件は、ロボットの構成に応じて変化してもよい。エンドエフェクタのオフセット、静的な工作物又は障害物、及び動的な工作物又は障害物を使って拘束条件を定義し、構成してもよい。幾つかの実施形態において、自由度の最小数の識別は、工作物の拘束条件であるジオメトリ及び/又はその特徴に基づいてよく、その幾つかには穴、形状、大きさ等が含まれていてよいが、これらに限定されない。
【0032】
幾つかの実施形態において、1つ又は複数の拘束条件は、ユーザにより、実世界のタスクを最善に実現するために、ビジュアルエディタを使って時間で変化する拘束条件の複雑な組合せを作ることによって組み合わせられ、及び/又は特定されてよい。留意すべき点として、これらの拘束条件の幾つか又は全部は、ロボットタスク又はオペレーションの実行中に、時間ステップごとにも変更されてよく、衝突及び/又は関節限界回避等の最適化と組み合わせられてよい。このようにして、拘束条件の数と種類はリアルタイムでダイナミックに更新されてよい。例えば、幾つかの実施形態において、拘束条件の幾つか又は全部は、ロボット環境をスキャンして、必要な処理及びその後の特定を識別し、可能にするように構成されてよいスキャナを使って自動的に特定され、及び/又は識別されてよい。各種のセンサと装置を使ってこのデータが取得されてもよく、その幾つかにはライダ、ステレオカメラ、カラーカメラ、マルチスペクトラルカメラ等からのデータが含まれていてよいが、これらに限定されない。追加的及び/又は代替的に、拘束条件の幾つか又は全部は通信チャネル(例えば、無線、レーザ、又はネットワーク通信等)を通じて遠隔的に更新されてもよい。拘束条件は、2Dグラフィカルユーザインタフェース又は3Dインタフェース(例えば、拡張現実等)を使って設定される。拘束条件は、何某「と等しい」だけでなく、「以下」であってもよい。したがって、本願に含められるロボティックシステムにより、ユーザは例えばある点を直に床の上だけでなく、床の上方に拘束することができるかもしれない。
【0033】
したがって、本明細書に記載のロボティックシステムの実施形態は、自由度の最大数“N”を有する1つ又は複数のロボットを含んでいてよい。幾つかの実施形態において、システムにより、ユーザは、例えばペグを穴に挿入する(拘束条件で5自由度を使用)、溶接ツールの手先で線をなぞる(拘束条件で3自由度を使用)、又はカメラを空間内のある位置に向ける(拘束条件で2自由度を使用)等、行う必要のあることだけを指示することによって自然にタスクを特定する(例えば、例えばロボティックシステムに教示する、ロボットの「ウォッチ」を実行し、1つ又は複数のセンサを使って学習する、ティーチペンダントを使ってデモを実行する等)ことができるかもしれない。タスクを自然に特定することには、デモンストレーションを使ってタスクを特定すること、例えばロボットにタスクの実行方法を教示又は学習させることが含まれていてよい。追加的及び/又は代替的に、ユーザはロボティックシステムがどのようにタスクを実行するかを特定しなくてよく、システムはタスクを自動的に、又は最小の入力を使って実行する方法を特定してよい。
【0034】
幾つかの実施形態において、本明細書に記載のロボティックシステムは、自然なロボットタスクを実行するのに必要であるかもしれない自由度の最小数“M”を特定するように構成されてよく、M<=Nである。ロボティックシステムは、追加の(N-M)追加自由度を探索することを介して、そのタスクを実行するのに最も自然又は効率的な方法を特定するように構成されてよい。これには、追加自由度を使って二次的基準を最適化することが含まれていてよい。例えば、コントローラ(例えば、Actin)は、前述のように追加自由度(N-M)の探索を可能にするのを助けるかもしれない。自由度の追加数は、そのタスクを実行するための、より好都合の、より高速の、よりエネルギ効率の高い、及び/又はより便利な「方法」を特定するために使用されてよい。実行のし方又は方法は、少なくとも一部に、衝突しない経路、ロボット(複数の場合)の座標等の特定に基づいていてよい。幾つかの実施形態において、自然なロボットタスクを行い、又は実行することは、少なくとも一部に、各種のソフトウェア方法を使って(例えば、EnergidのActin(登録商標)ソフトウェアを使って)利用されてよい。タスクの自然なやり方又は方法を特定することはまた、シミュレーションを実行するように構成されてよい1つ又は複数のシミュレータを使用することを含んでいてよい。このようなシミュレーションの結果は、タスクをどのように実行するかを特定するために使用されてよい。
【0035】
幾つかの実施形態において、追加自由度(N-M)を探索することには、幾つかのDOF(例えば、“Z”次元)を完全に緩和することを含んでいてよい。追加的及び/又は代替的に、本願に含められる実施形態は、DOFを部分的に緩和し、例えばZが+-15度以内で自由スピンできるように構成されてよい。本明細書で使用されるかぎり、「自由スピン」という語句は、少なくとも1つの軸(例えば、エンドエフェクタ軸等)における拘束されないロボット運動を可能にすることを指していてよい。同じ概念が何れのDOFに適用されて、自然なタスクを明示する際の柔軟性を提供してよい。したがって、これによってロボットシステムはより効率的な方法で解決策を見つけることができるかもしれない。
【0036】
幾つかの実施形態において、本願に記載のロボティックシステムは1つ又は複数のロボット姿勢を明示するように構成されてよい。通常、ロボットは一連の姿勢、すなわちロボットの関節及び剛体要素の特定の方位としてプログラムされてよい。ロボットは次に、ロボットコントローラのコマンドに基づいてこれらの姿勢を巡回することによってあるタスクを完遂させてよい。例えば、工作物をそのエンドエフェクタでピックアップし、それを新たな位置まで運び、塗料噴霧器を一連の位置を通って移動させる等。
【0037】
幾つかのケースでは、ロボットへの感覚入力は、エラー信号、休止信号、又はスピード信号に限定されてよい。これらの信号は、その一連の姿勢を通じたロボットの運動を停止させ、休止させ、又は低速化させるだけであり、それら自体の姿勢には影響を与えない。より進化したケースでは、ロボットへの感覚入力は、姿勢そのものに影響を与えるために使用されてもよい。例えば、2Dカメラを使って既知の位置にある平坦面上の工作物の位置を識別してもよい。これから、工作物をピックアップするためのロボットの姿勢が計算されてよい。一般に、ある感覚入力について1つのロボット姿勢だけが計算されてよい。これは計算時間を最短化するが、ロボットがその姿勢を取るための最も効率的な経路、工作物をピックアップするロボットの姿勢からロボットがその工作物を再び下すための正しい経路も得られるか否か、又はこれらの地点間の最も効率的な経路は考慮しない。
【0038】
ロボット姿勢の計算と複数の取り得るロボット姿勢に基づく運動制御を可能にすることは、より効率的な運動及びより実現可能な姿勢の組合せの発見のために望ましい。残念ながら、取り得るロボット姿勢を特定するには、ロボットの運動学を理解し、それをロボットによるピックアンドプレースタスクにおける具体的なケースに適用することが必要である。したがって、熟練していないユーザがこれらの可変値を特定することはこれまで非現実的又は不可能であった。したがって、後述の実施形態は、これらの可変値を間接的に、単に工作物、エンドエフェクタ、工作物設置目標の2、3の特性を説明するだけで特定するために使用されてよい。
【0039】
幾つかの実施形態において、また次に
図5を参照すると、ロボティックプロセス500に適合する複数の動作を有するフローチャートを示す実施形態が提供されている。プロセス500は、ロボットタスクを実行するための初期拘束アプローチを受け取るように構成されたロボットを提供するステップ(502)を含んでいてよい。プロセスは、ユーザが、ロボットと通信するグラフィカルユーザインタフェースを使ってロボットと対話できるようにするステップ(504)をさらに含んでいてよく、グラフィカルユーザインタフェースは、ユーザがロボットと対話して、ロボットタスクに関連付けられるロボット姿勢の許容範囲を特定することができるように構成され、ロボット姿勢の許容範囲には、初期拘束アプローチより少ない拘束条件が含まれ、姿勢の許容範囲は、少なくとも一部にロボットタスクに関連付けられる工作物又はロボットに関連付けられるエンドエフェクタの少なくとも一方に関連する1つ又は複数の対称度に基づく。方法はまた、プロセッサを介してロボット姿勢の許容範囲をロボットに通信するステップ(506)も含んでいてよい。
【0040】
次に
図6を参照すると、ある実施形態によるロボティックシステム600が提供されている。この例において、カメラ602(例えば、2D、3D等)を使って、既知の位置にある平坦面上の工作物の位置を識別してよい。幾つかの実施形態において、ビジョンソフトウェア604を使って3D空間内の工作物の座標を計算し、それをロボットコントローラ606に渡してよい。コントローラ606は次に、ロボット608がロボットのエンドエフェクタ610に工作物をピックアップさせることができるようにするために取るべき姿勢を計算してよい。それに関連するグラフィカルユーザインタフェースを有するティーチペンダント612は、ロボティックシステム600を制御する能力をユーザに提供してよく、これについては後でさらに詳しく説明する。
【0041】
動作中、ユーザはロボティックシステムに対して、特定のタスクをどのように実行するかのデモンストレーションを行ってよい。このデモンストレーションは、何れの適当なアプローチを使って受け取られてもよく、これには、グラフィカルユーザインタフェースを介してユーザが物理的にロボットを案内すること、シミュレーションを使用すること、事前生成されたプログラムを使用すること、リアルタイムで生成されるプログラムを使用すること等が含まれるが、これらに限定されない。デモンストレーションは、初期拘束アプローチを提供してよく、これはロボティックシステムに対して特定のタスクをどのように実行するかを正確に示す。過去のシステムでは、初期拘束アプローチが学習/入力されると、システムはそれと同じピッキング姿勢、プレーシング姿勢、経路等を使ってそのタスクを実行するかもしれない。
【0042】
幾つかの実施形態において、本明細書に記載のロボティックプロセスは初期拘束アプローチの緩和を可能にするかもしれず、これは、初期拘束アプローチから幾つかの拘束条件を減らすかもしれない姿勢の許容範囲を特定することによる。したがって、ロボティックプロセスの実施形態は、工作物のピッキング及び/又はプレーシング姿勢範囲を識別し、その後、可能にしてよく、これらは何れもタスクを完遂するために容認可能である。幾つかの実施形態において、最も拘束の少ない選択肢が(例えば自動的に)提供され、及び/又は選択されてもよい。
【0043】
幾つかの実施形態において、姿勢の許容範囲は、少なくとも一部に、工作物のジオメトリ、エンドエフェクタのジオメトリ、両方のジオメトリの組合せ、何れかのジオメトリの一部、両方のジオメトリの一部等に基づいていてよい。留意すべき点として、これらのジオメトリは何れの適当なアプローチを使って受け取られてもよく、これにはスキャニング、グラフィカルユーザインタフェースを介したユーザ入力、1つ又は複数の事前に特定された、若しくはリアルタイムで生成されたプログラムへのアクセス等が含まれるが、これらに限定されない。
【0044】
幾つかの実施形態において、ロボットに関連付けられる1つ又は複数の自由度は、部分的又は完全にも緩和されてよい。プロセスは次に、ロボットがタスクを実行するたに適当な経路及び/又は姿勢を特定及び/又は計画してよい。これには、冗長自由度を特定すること、環境障害物を考慮すること、システムパフォーマンスの最適化(例えば、エネルギ効率)、特定のメトリクス最適化等が含まれていてよいが、これらに限定されない。
【0045】
次に
図7を参照すると、ある実施形態のロボティックシステム700が提供されている。この例では、ロボットが工作物をピックアップするために取ることのできる多くの考え得るロボット姿勢があることがわかる。工作物は平坦面に垂直な軸Z
Oに関して回転対称であるため、ロボットのエンドエフェクタを、そのZ
E軸が工作物のZ
Oと整列するように位置付ける何れのロボット姿勢でも、ロボットにエンドエフェクタ710で工作物をピックアップさせることができる。この例において、ロボットは、そのエンドエフェクタ710の指を工作物のリングの中に位置付けて、指を広げて工作物の内部グリップを作ることによって工作物をピックアップしてよいが、他の多くの選択肢も利用可能である。
【0046】
次に、
図8を参照すると、ある実施形態のロボティックシステム800が提供されている。この例において、ロボットエンドエフェクタ810は約45°曲がっている。エンドエフェクタのZ
E軸は、指の端に整列するように画定し直されているため、これは
図7のエンドエフェクタに関して45°回転される。また、平坦面上の工作物は平坦面に垂直な軸Z
Oに関して回転対称ではない。しかしながら、工作物は
図7の工作物の内側と同じ寸法の円形の切欠きを有しており、これは
図7と同じく内部グリップに適している。留意すべき点として、ロボットのエンドエフェクタ810をそのZ
E軸が工作物のZ
Oと整列するように位置付ける何れのロボット姿勢でも、ロボットはそのエンドエフェクタ810で工作物をピックアップできるかもしれない。
図8はまた、工作物設置目標814も示している。工作物設置目標814により、設置時の工作物の具体的な姿勢が必要となる。ロボットに十分なリーチがあり、工作物設置目標814の周囲の環境が拘束されていなければ、ロボットは、ロボットが工作物をピックアップするために取る姿勢に関係なく、工作物を目標に置くことができるかもしれない。
図7~8に示される例は、工作物まで、及び工作物から工作物設置目標までのロボット経路を計算するための多くの選択肢を提供する。選択肢の数が増えることにより、最も効率的な経路又は最もあり得るピッキング成功度を計算できる。
【0047】
次に
図9を参照すると、ある実施形態によるロボティックシステム900が提供されている。この例は、
図8と同じ条件を示しているが、工作物設置目標の周囲に障害物がある。この例において、エンドエフェクタ910を180°の円弧以内に位置付けるロボット姿勢だけが工作物を目標に設置できるかもしれない。ロボットが常に工作物を目標内に設置できるようにするために、工作物をピックアップするときのロボット姿勢は同じ180°の円弧に限定されるべきである。依然としてロボット姿勢及びそれら間の経路を計算するための複数の選択肢があるが、選択肢の数はより限定される。
【0048】
次に
図10を参照すると、ある実施形態によるロボティックシステム1000が提供されている。この例は、長方形の工作物と長方形の工作物設置目標1014を示している。この例において、ロボットは工作物を、
図10の左側部分に示されるように位置付けられた、又は
図10の右側部分に示されるようにその軸Z
Eに関して180°回転させて位置付けられたエンドエフェクタ1010でそれを外側から把持することによってピックアップしてよい。それに加えて、工作物は、
図11に示されるように、工作物の長軸に沿った複数の位置で把持されてもよい。これらの把持位置の全てが、工作物設置目標1014への設置を可能にする。エンドエフェクタの指と工作物との間の静止摩擦により、また工作物の質量中心の位置により、長軸に沿った考え得る全ての把持位置のうちの一部しか容認可能なパフォーマンスを持たない。
【0049】
次に
図12を参照すると、ある実施形態によるロボティックシステム1200が提供されている。この例は、長方形の工作物、長方形の工作物設置目標、及び真空吸引カップエンドエフェクタ1210を示している。工作物上に示されるエリアA内で吸引カップが接触した場合は常に工作物のピックアップが成功する。
図13に示されるように、エンドエフェクタ1310はその軸Z
Eの周囲でどのようにも回転できるかもしれず、吸引カップはエリアA内のどこにでも位置付けられる。それに加えて、吸引カップが柔軟な性質であることにより、接触する吸引カップの位置が工作物の軸Z
Oに関する法線から10°以内の何れかにあれば、容認可能なパフォーマンスを提供するかもしれない。
【0050】
次に
図14を参照すると、ある実施形態によるロボティックシステム1400が提供されている。この例は、一方の端が六角形の断面を有し、他方の端が円形の断面を有するほぼ円柱形の工作物を示している。工作物設置目標は3ジョーマシンチャックである。この例において、エンドエフェクタ1410は、工作物を外側から把持するように設計された機械的グリッパである。工作物をチャック内に正しく設置するために、工作物の六角形の半分の平坦面をチャックのジョーのうちの1つと整列させなければならない。機械的グリッパは工作物の丸い面と接触し、工作物の把持特徴部は軸Z
Oに関して回転対称であるため、ロボットのエンドエフェクタをそのZ
E軸が工作物のZ
O軸と整列するように位置付ける何れのロボット姿勢でも、ロボットは工作物をそのエンドエフェクタでピックアップできる。しかしながら、工作物がどのようにピックアップされるかに関係なく、この特定の例では、工作物をマシンチャック内に正しく設置できる工作物の姿勢は、工作物のそのZ
O軸の周囲での回転60°ごとの6つしかない。
【0051】
上述の実施形態はピックアンドプレースのパフォーマンスが、工作物及び工作物設置目標に関するロボットエンドエフェクタの位置の選択肢を増やすことによって向上されるかもしれないことを示しているが、それには難しいプロセスを理解し、これらの選択肢における限界を明確にしなければならない。この複雑さは、これらの例とは異なり、工作物ピッキングが3次元で行われる場合、例えば工作物がビン内にランダムに分散されている場合には高まる。
【0052】
本明細書に記載の実施形態は、システムのコンポーネントの特性群に基づいて運動の限界を合成するためのプロセスを含む。これらの特性は、ロボット又はアプリケーションのプログラミングの中で使用されるグラフィカルユーザインタフェースの中で特定されてよく、これについては後でさらに詳しく説明する。
【0053】
本明細書で使用されるかぎり、「ピッキング特徴部」という語句は、工作物の中の、ロボットエンドエフェクタのための接触点又は接触相手として使用されてよい何れかの部分を指してよい。「プレーシング特徴部」とは、工作物又はプレーシング目標のうち、工作物と工作物のためのプレーシング目標との間の接触点又は接触相手として使用されてよい何れかの部分を指してよい。「工作物特徴部」という語句は、ピッキング特徴部若しくはプレーシング特徴部又はその両方を指してよい。「座標フレーム」という語句は、本明細書で使用されるかぎり、概して各ロボット、工作物特徴部、ロボットエンドエフェクタ、及び工作物設置目標に対応してよい3つの直交軸を指す。工作物特徴部、ロボットエンドエフェクタの、工作物設置目標の「対称(性)」という用語は、本明細書で使用されるかぎり、特徴部、ロボットエンドエフェクタ、又は工作物設置目標が、その座標フレームの3軸のうちの1つ又は複数の周囲で回転させたときに、その所期のピッキング又はプレーシング動作のための同じパフォーマンスを有するか否かの点で説明されてよい。工作物の特徴部、ロボットエンドエフェクタ、又は工作物設置目標をその軸のうちの1つの周囲でどの角度にも回転させられてよく、ピッキング又はプレーシングのためのパフォーマンスが同じか、又は実質的に同じである場合、これはその軸の周囲で「連続対称性」を有する。工作物特徴部、ロボットエンドエフェクタ、又は工作物設置目標がその軸のうちの1つの周囲で何れの整数のインクリメントでも、ただし1より大きく、無限未満のインクリメントで回転されてよく、各インクリメントでのピッキング又はプレーシングのパフォーマンスが同じである場合、これはその軸の周囲で「離散対称性」を有する。工作物特徴部、ロボットエンドエフェクタ、又は工作物設置目標が、ピッキング又はプレーシングのための同じパフォーマンスを有するためにはその軸のうちの1つの周囲で丸1回転(すなわち、同じ動作)しか回転されないかもしれない場合、それはその軸の周囲で「非対称性」を有する。
【0054】
したがって、ロボット軸の拘束を解除することと、工作物、エンドエフェクタ、及び/又はプレーシング目標の対称性を探索することは、より平滑な経路、より多くの考え得るピッキング、及びビンからのよりよい排出(例えば、工作物がビンの中にランダムに入れられているかもしれない状況)につながるかもしれない。本願に含まれる実施形態は、拘束された運動のデフォルトを設定するかもしれない。ユーザがピッキング又はプレーシングをデモンストレート又はプログラムする場合、システムはピックアンドプレースごとに工作物、エンドエフェクタ、及びプレーシング目標の正確な整列を再現してよい。拘束が解除される運動は全て、後述のようなグラフィカルユーザインタフェースを使って(例えば、「詳細設定」タブで)表示されてよい。したがって、これはユーザによる最初のプログラムの作成を単純化し、したがってほとんどのシステムがどのように動作するかのユーザ自身の直感的理解と一致するかもしれず、これは手で配置される工作物を用いたプログラムのデバギングに適している。
【0055】
幾つかの実施形態において、運動の拘束の解除は徐々に行われてよい。例えば、ピッキング中にエンドエフェクタの回転の拘束を解除することには、徐々に増加する利点がある。さらに、設置中に工作物の姿勢の拘束を解除することには、独立した、ただし追加的な利点がある。
【0056】
幾つかの実施形態において、ロボット軸の拘束を解除することは、それには運動学とロボットの全般のより深い理解が必要かもしれないため、直接特定されないかもしれない。その代わりに、本願に含められる実施形態は、工作物、エンドエフェクタ、及び/又はプレーシング目標の特性に関してユーザに質問してよい、特性を入力するためのウィザード又は手段を提供してよい。システムは、この情報を使って運動拘束条件を計算し、適用してよい。これによってユーザのトレーニングが単純化され、ユーザは、例えばロボットの拘束解除に影響を与えるエンドエフェクタと工作物の特性の組合せを考慮しなくてよくなる。突出した(salient)工作物、エンドエフェクタ、及びプレーシング目標の特性は対称である。
【0057】
前述のように、本開示の実施形態によれば、プロセスの各局面の前、途中、及び/又は後に各種の対称性の分析を行うことが可能であるかもしれない。幾つかの実施形態において、ロボット軸の拘束を解除するために必要であるかもしれない唯一の対称情報は、工作物上のピッキング特徴部、工作物上のプレーシング特徴部、エンドエフェクタ、及び/又はプレーシング目標のそれらである。幾つかの実施形態において、システムは回転対称だけがわかればよいかもしれない。回転対称は常に何れかの回転軸に関する。幾つかの実施形態において、全ての回転対称は関連するフレームの3つの軸の1つ、例えばx、y、又はz軸を中心とするものであってよい。
【0058】
次に
図15~16を参照すると、工作物の対称性の例を描いた実施形態が提供されている。幾つかの実施形態において、工作物の場合、対称の回転は工作物に関連付けられる座標フレームに関していてよい(例えば、CADファイル、メッシュファイル等に埋め込まれる)。
図15は、3軸全部の周囲での連続対称性を有する工作物、この場合は球を示す。
図16は、z軸の周囲での連続対称性を有する工作物を示す。
【0059】
幾つかの実施形態において、ピックアンドプレースのためのロボット軸の拘束を解除するために、ピッキング特徴部とプレーシング特徴部の対称性を相互から、及び工作物全体の対称性から別に考慮されてよい。
【0060】
ここで
図17を参照すると、対称のピッキング特徴部を有する非対称の工作物を描いた実施形態が提供されている。工作物自体とは無関係に、留意すべき点として、工作物のピッキング又はプレーシング特徴部はそれ自体の別々の対称性を有していてよい。例えば、
図17に示される工作物は非対称であり、すなわちそれは何れの軸の周囲でも回転対称性を持たない。さらに、この特定の工作物の場合、工作物が回転対称となるような軸は何れのフレームにもない。この例において、工作物は左側の内部グリップとして示される1つの考え得るピッキング特徴部を有する。工作物は非対称であるものの、このピッキング特徴部は(z)軸の周囲で回転対称性を有する。
【0061】
ここで
図18を参照すると、対称のプレーシング特徴部を有する非対称の工作物を描いた実施形態が提供されている。
図18の工作物は非対称であり、すなわち、何れの考え得る軸の周囲でも回転対称性を持たない。この例において、それは1つの非対称のピッキング特徴部、すなわちハンドルのテーパ付き側面に沿った外側グリップを有する。しかしながら、留意すべき点として、この例は確かに対称のプレーシング特徴部を含んでおり、すなわちチャックに円柱スピンドルが設置される。プレーシング特徴部は、(z)軸の周囲で回転対称性を有する。
【0062】
次に
図19を参照すると、対称のプレーシング特徴部を有するプレーシング目標を描いた実施形態が提供されている。プレーシング目標はそれ自体の対称性を有していてよい。例えば、チャックはその回転軸の周囲で回転対称性を有していてよい。又は、固定具はその表面に垂直な軸の周囲で対称性を有する。この対称性を利用するために、本願に含まれる実施形態は、プレーシング目標で座標フレームを確立するように構成されてよい。幾つかの選択には、プレーシング目標にそれ自体の座標フレームを付与すること(例えば、プレーシング目標を画定する、プレーシング目標をそれ自体のCADに基づく座標フレームを有するエンドエフェクタのように扱うこと等)、プレーシングを教示するときに工作物の姿勢の座標フレームを使用すること等が含まれていてよいが、これらに限定されない。例えば、ユーザがプレーシングを教示する際に工作物と目標を正確に整列させることを前提とすると、2つの座標フレームは各々、設置地点で同じであるかもしれない。幾つかの実施形態において、留意すべき点として、特定のロボットタスク又は一連のタスクに関連付けられる複数のプレーシング目標があるかもしれない。
【0063】
次に
図20~22を参照すると、非対称の例を描いた実施形態が提供されている。幾つかの実施形態において、非対称性はプログラミングのデフォルトであってよい。非対称性がある場合、同じ2つのピッキング又はプレーシング特徴部はなく、同じ2つのエンドエフェクタ位置(工作物を保持している間)はない。
図20は、非対称プレーシング目標を示し、
図21は非対称のエンドエフェクタを示し、
図22は非対称の工作物特徴部を有する非対称の工作物を示す。留意すべき点として、
図22の工作物は確かに幾つかの考え得る対称のピッキング及びプレーシング特徴部を有し、例えば丸いねじ穴と円柱形のペグは対称性を示す。これらの何れもピッキング又はプレーシング特徴部として使用されない場合、工作物のピッキングとプレーシングは非対称と考えてよい。また、対称の工作物を非対称として扱うことも可能であるかもしれない。幾つかの実施形態において、これはプログラミングデフォルトであってよい。この場合、システムは非対称の工作物が取り得る無限の姿勢のうちの1つを選択してよく、制御ソフトウェアは、他の同じピッキング特徴部が利用可能であったとしても、その姿勢で可能なピッキング特徴部までの経路を特定しようとしてよい。これによって、ピッキング及び経路プラニングのパフォーマンスが限定されるかもしれない。幾つかの実施形態において、関連するフレームのx、y、又はz軸以外の軸の周囲の対称性を有する工作物は、非対称として扱われてよい。これは、対称を実現するためにフレームを適正に割り当てる必要があることを示しているかもしれない。
図23は、x、y、又はz軸の周囲で対称性を有するピッキング又はプレーシング特徴部を持たない工作物の例を示す。明瞭にするために、留意すべき点として、
図23に示される軸は何れも、工作物の最も長い寸法に沿った工作物の何れの断面の中央も通過しない。
【0064】
次に
図24~25を参照すると、連続対称性の例を描いた実施形態が提供されている。前述のように、連続対称性は、ピッキング又はプレーシング特徴部がそのx、y、又はz軸の周囲で360°の範囲にわたり何れのインクリメントでも回転されてよく、その外観が変化しないことを示していてよい。留意すべき点として、これは工作物又は固定具全体ではなく、ピッキング又はプレーシング特徴部に当てはまるかもしれない。
図24は、各端に2つの考え得るピッキング特徴部を有し、その各々が各ピッキング特徴部の中心を通る(x)軸の周囲で連続対称である非対称の工作物を示す。エンドエフェクタの場合、これは、そのエンドエフェクタがある軸の周囲で360°の範囲にわたり何れのインクリメントでも回転されてよく、それによる工作物のピッキング又はプレーシング能力が変化しないことを示しているかもしれない。幾つかの実施形態において、慣例的にはこれをエンドエフェクタのためのz軸として割り当てるが、x又はy軸もまた使用されてよい。
図25は、接触点の中心に垂直な軸の周囲で連続対称性体を有するエンドエフェクタを示す。
【0065】
ここで
図26~29を参照すると、離散対称性の例を描いた実施形態が提供されている。離散対称性は、ピッキング又はプレーシング特徴部、又はエンドエフェクタがそのx、y、又はz軸の周囲で少なくとも2つの離散的インクリメントで360°にわたり回転されてよく、工作物のピッキング又はプレーシングの目的のための特徴物の機能が変化しないことを示す。留意すべき点として、この例は、工作物又は固定具全体ではなく、ピッキング又はプレーシング特徴部を示している。
図26において、例えば、外側グリップとして教示されるピッキングは離散対称性を有していてよく、それに対して内側グリップとして教示されるピッキングは連続対称性を有していてよい。幾つかの実施形態において、インクリメントはインクリメントの数として、度として、又は何れの適当なアプローチを使用して特定されてよい。例えば、対称の3つの離散的インクリメントを有するピッキング特徴部はまた、360°/3=120°の離散対称性を有すると説明することもできる。
図27は、180°の離散対称性を有する例示的なエンドエフェクタを示す。
図28は、120°の離散対称性を有する例示的なエンドエフェクタを示す。
図29は、120°の離散対称性を有するプレーシング目標(CNCチャック)を示す。
図30は、180°の離散対称性を有するプレーシング目標(CNCバイス)を示す。
【0066】
次に
図31を参照すると、x、y、及びz軸の周囲で対称な工作物を描いた実施形態が提供されている。エンドエフェクタ、工作物、及び離散対称性を有するプレーシング目標を整列させるために、離散対称性の開始点、すなわちゼロ角度を特定する必要があるかもしれない。例えば、プレーシング目標の座標フレームが教示された工作物の姿勢から推測されるかもしれない場合、ゼロ角度は工作物とプレーシング目標の相対位置から推測されてよい。代替的に、座標フレームがプレーシング目標に明確に割り当てられることになる場合、ユーザは残りの2軸の一方をゼロ角度に指定する必要があるかもしれない。幾つかの実施形態において、システムは複数の軸の周囲で対称性を画定可能としてよい。
図31は、6つの考え得るピッキング特徴部を有する工作物を示している。すなわち、z軸の周囲で連続対称性を有する2つの内部グリップ、y軸の周囲で連続対称性を有する2つの内部グリップ、及びx軸の周囲で90°の離散対称性を有する2つの外部吸引ピッキング(工作物の両側)である。x軸の周囲の離散対称性の場合、システムには、どの軸がx軸の周囲のピッキングの対称性のゼロ角度を設定するかを特定することが必要かもれない。この特定の例において、これはy又はz軸の何れかとすることができる。
【0067】
次に
図32を参照すると、非直交軸を有する例を示す実施形態が提供されている。幾つかの工作物は、複数の軸の周囲で対称なピッキング及びプレーシング特徴部を有するが、これらの軸は相互に直交しない。例えば、
図32の工作物は第一の内部グリップ、すなわち上部の連続対称のピッキング特徴部と、第二の内部グリップ、すなわち底部の連続対称のプレーシング特徴部(見えていない)を含む。これは、第三の軸に関する第三のピッキング特徴部及び第四の軸に関する第四のピッキング特徴部も有する。システムは一般に、工作物フレームの中のx、y、又はz軸の周囲の対称性しか特定できないかもしれないため、第三及び第四のピッキング特徴部は非対称と考えられてよい。このシステムにより、依然としてユーザはこの点にピッキング特徴部を特定できるかもしれないが、x、y、又はz軸のうちの1つの周囲の対称性がないため、考え得るエンドエフェクタの位置は1つしかないかもしれない。非直交の対称軸を持ち得なくても、これはかなり稀であるため、実際にはほとんど問題は生じない。エンドエフェクタが対称性を有する場合、これは拘束されないピッキングを可能にするのに十分であり、工作物のピッキング特徴部を対称にする必要はない(
図33参照)。工作物のピッキング特徴部の対称性を非対称のエンドエフェクタと共に有する可能性は低いが、それが発生したとしても、不整列の軸に関する複数のピッキングをプログラムするワークアラウンドは依然として可能である。
【0068】
幾つかの実施形態において、システムは対称情報から運動拘束条件を計算するように構成されてもよい。拘束されない運動は、以下の組合せを検討することによって容易に計算されてよい:工作物のピッキング特徴部とエンドエフェクタ及び工作物プレーシング特徴部とプレーシング目標のプレーシング特徴部。これは全て拘束されない環境を前提としており、それは、環境が拘束される場合は別のルールがあるかもしれないからである。好ましいルールは、最も下位の拘束に従って動作することである。例えば、エンドエフェクタがそのz軸の周囲で連続対称性を有し、ピッキング特徴部が非対称である場合、システムはより拘束されない特徴部、すなわちエンドエフェクタのそのz軸の周囲の連続対称性を利用し、エンドエフェクタがz軸の周囲で回転する際のみ変化する有効なエンドエフェクタの姿勢の何れを使用しても部品のピッキングを行うことができる。エンドエフェクタの姿勢をこのように自由にすることにより、基本的に、エンドエフェクタ軸の1つ、ここではエンドエフェクタのzにおける拘束されないロボット運動が可能となる。代替的に、エンドエフェクタがそのz軸の周囲で180°の離散対称性を有し、ピッキング特徴部が工作物x軸の周囲で連続対称性を有する場合、このシステムはより拘束されない特徴部、すなわち工作物x軸の周囲のピッキング特徴部の連続対称性を利用し、工作物x軸の周囲でエンドエフェクタが回転する際のみ変化する有効なエンドエフェクタの姿勢の何れを使用しても部品のピッキングを行うことができる。エンドエフェクタの姿勢をこのように自由にすることは、工作物x軸における自由スピンとして知られているかもしれない。工作物のプレーシング特徴部が関連する工作物軸の周囲で120°の離散対称性を有し、プレーシング目標のプレーシング特徴部が関連するプレーシング目標軸の周囲で60°の離散対称性を有する場合、システムはより拘束されない特徴部、すなわちプレーシング目標の60°の離散対称性(2つの角度の小さい方)を利用して、プレーシング目標の基準軸の周囲での回転の60°のインクリメントにおける有効なエンドエフェクタの何れの姿勢を使用しても部品を設置できる。エンドエフェクタの姿勢をこのように自由にすることは、プレーシング目標基準軸xの周囲の離散的スピンとして知られているかもしれない。この例において、工作物の座標フレームとプレーシング目標の座標フレームは、同じゼロ角度に整列させる必要があるかもしれない。考え得るルールの幾つかの例は
図33~34において提供される。
【0069】
次に
図35~40を参照すると、工作物の例を提供する本開示の実施形態が提供されている。
図35は、zが整列された状態でチャックの中に設置された六角棒材から製作された例示的な工作物を示す。この工作物をピッキングするためには、工作物のピッキング特徴部はエンドエフェクタより拘束されていないことから、工作物z軸での自由スピンを使用する。工作物の設置に関して、2つの離散対称性のうちの小さい方は工作物に関する60°であり、それによって設置は何れの60°のインクリメントでも行われてよい。工作物とプレーシング目標ゼロ基準軸が整列されている点に留意されたい。
図36は、同じ工作物を示すが、エンドエフェクタと工作物z軸は整列していない。これは、上の例と同様であるが、ピッキング位置の教示が異なるかもしれず、グリップは側方からである。この工作物をピッキングするためには、工作物のピッキング特徴部はエンドエフェクタより拘束されていないことから、工作物z軸での自由スピンを使用する。工作物の設置において、2つの離散対称性のうちの小さい方は工作物に関する60°であり、それによって設置は何れの60°のインクリメントでも行うことができる。留意すべき点として、工作物とプレーシング目標ゼロ基準軸は整列されている。この例において、エンドエフェクタのz軸と工作物のz軸はもはや整列されていない。そのため、システムは常にその自由スピンが工作物zの周囲で行われることを明確に特定してよく、エンドエフェクタの中心点(TCP)zとの整列は前提としない。工作物とエンドエフェクタのzを人工的に整列されることは可能であるが、次にそれによってピッキングが1つのTCPに限定されるかもしれない。代替的に、ユーザは複数のTCPsから特定し、選択してもよい。上記に含まれる実施形態は複数のGUIsとディスプレイを提供し、これらはユーザがこの負担(及びより複雑なUIを作ること)から解放されるように構成されてよく、それによって教示されたピッキングに基づいて独自の一時的なTCPを計算できるかもしれない。
【0070】
次に
図37を参照すると、点-点把持型エンドエフェクタを示す実施形態が提供されている。工作物のピッキングのために、ユーザは、工作物のフレームの方位を変えるのではなく、xの代わりにy軸をゼロ角度基準として選択した。したがって、y軸は六角棒材の平面ではなく点に合わせられている。2つの離散対称性の小さい方は工作物に関する60°であるため、ピッキングは何れの60°インクリメントにも自由スピンしてよい。この例において、エンドエフェクタのゼロ角度基準X軸は工作物ピッキング特徴部のゼロ角度基準Yに関して60°のインクリメントをマイナス2(又はプラス4)だけ回転させてよい。工作物のプレーシングに関して、工作物プレーシング特徴部はプレーシング目標より拘束されていないため、プレーシングは工作物z軸での自由スピンを使用してよい。
図38は、特定の非対称位置に設置しなければならない外部非対称性を有する工作物の例を示す。工作物のピッキングに関して、これは上の例と同様であるが、工作物ピッキング特徴部はy軸の周囲で離散対称性を有し、ゼロ角度はz軸により設定されてよい。この例において、グリッパは平面-平面型であってよい。2つの離散対称性の小さい方は工作物に関する60°であるため、ピッキングは何れの60°のインクリメントにも自由スピンできる。工作物のプレーシングに関して、工作物(ハンドルを含む)上のプレーシング特徴部とプレーシング目標の両方が非対称であるため、この工作物についての有効なプレーシング姿勢は1つしかない。
【0071】
幾つかの実施形態において、全てのピッキングプラニング及び運動拘束条件は、ピッキング、プレーシング、及びエンドエフェクタに関してグラフィカルユーザインタフェース(例えば、詳細設定タブ)上のダイアログとしてプログラムされてよい。幾つかの実施形態において、ユーザはどこでも0から4全ての対称性を特定するように選択してもよい。情報が1つ追加されるたびに、それ以外がデフォルトのまま(例えば、非対称)であっても、パフォーマンスが向上するかもしれない。事実、ピックアンドプレースのペアの各半分のうちの一方(それぞれ、ピッキング特徴部とエンドエフェクタ、又はプレーシング特徴部とプレーシング目標、プレーシング特徴部)が連続対称性を有する場合、そのペアの対称性のもう一方の半分は関係がない。
【0072】
次に
図39を参照すると、本開示に適合する例示的なグラフィカルユーザインタフェース3900を示す実施形態が提供されている。GUI 3900により、プレーシングルールを生成し、表示できてよい。動作中、ユーザがGUI 3900のティーチタブを選択すると、プレーシングウィザードが生成されてよい。
【0073】
次に
図40を参照すると、本開示に適合する例示的なグラフィカルユーザインタフェース4000を示す実施形態が提供されている。GUI 4000により、工作物のためのインストレーションタブを表示できてよい。工作物のピッキング及び/又はプレーシング対称性を規定することによって、ピッキングルールとプレーシング時の自由スピン加工物Zをより少なくすることができる。例えば、ユーザは各工作物軸について存在する対称性の種類(例えば、なし、連続、又は面数N等)を特定してよい。
【0074】
次に
図41を参照すると、本開示に適合する例示的なグラフィカルユーザインタフェース4100を示す実施形態が提供されている。GUI 4100はピッキングルール回転タブを表示してよく、これは、ユーザがエンドエフェクタと工作物を同じ画面で結合することによってエンドエフェクタと工作物の対称性から導出されるピッキング最適化を可視化できるように構成されてよい。
図41に示されるように、インストレーションタブで規定された何れの対称性も表示されてよく、ある対称性が規定されていない場合、その部分は強調しないようにしてよい(例えば、グレイアウトする等)。幾つかの実施形態において、ユーザは特定のプレーシングルールのために何れかの対称性の使用を無効にしてもよい。
【0075】
次に
図42を参照すると、本開示に適合する例示的なグラフィカルユーザインタフェース4200を示す実施形態が提供されている。GUI 4200はインストレーションタブがエンドエフェクタを変化させることを表示するように構成されてよい。動作中、プレイオプションは、エンドエフェクタ又は工作物のスピンをアニメーションにすることによってビューワの中で選択された回転を表示するように構成されてよい。何れかのフィールド(ビューワ自体を除く)を選択するか、又はページからイグジットすることによって、ビューワはプレイモードでなくなってよい。幾つかの実施形態において、ドロップダウンメニューにより、ユーザはエンドエフェクタの対称性の種類(例えば、各位置が固有である、全ての位置が等価である、2/3/4の等価位置がある等)を選択できるかもしれない。
図42において表示されている、及び他の実施形態においては選択された場合、「プレイ」オプションはエンドエフェクタ又は工作物の回転をアニメーションにすることによって選択されたスピンをビューワの中で表示してよい。何れかのフィールド(ビューワ自体を除く)を選択するか、又はページからイグジットすることによって、ビューワはプレイモードでなくなってよい。
図42は、エンドエフェクタの対称性の詳細のみを示している。同様の制御セットを使って、他の軸の周囲の対称性を特定してもよいと理解されたい。
【0076】
次に
図43を参照すると、本開示に適合する例示的なグラフィカルユーザインタフェース4300を示す実施形態が提供されている。GUI 4300はプレーシングルール回転タブを表示してよく、これは、ユーザが工作物の軸のうちの1つにおける工作物の対称性から導出される1つ又は複数のプレーシング最適化を可視化できるように構成されてよい。
【0077】
幾つかの実施形態において、本開示のグラフィカルユーザインタフェースにより、工作物及びエンドエフェクタの対称性を、前述のようなインストレーションタブ等のユーザによる編集可能な各種のオプションを使って規定できるかもしれない。したがって、ピッキング/プレーシングルールページで対称性を編集する必要がない。ビューワ内での対称性の可視化を通じて使いやすさが実現されるかもしれず、幾つかの実施形態において、ビューワはエンドエフェクタの回転を表示する。幾つかの実施形態において、ゼロ基準はピッキング及びプレーシングルールによって黙示的に規定されてよいため、回転対称のためのゼロ基準軸を明示的に規定する必要がないかもしれない。
【0078】
幾つかの実施形態において、前述のように、本開示は、工作物をピックアップする目的のためのロボット及び/又はロボットエンドエフェクタの姿勢の許容範囲を特定する方法を提供するかもしれない。この方法は、ロボット及び/又はロボットエンドエフェクタ、工作物、及び/又は工作物座標フレームの軸をグラフィクスにより表示するステップを含んでいてよい。方法はまた、エンドエフェクタがその座標フレーム内の1つ又は複数の軸の周囲で回転されるときに、エンドエフェクタが工作物をピックアップすることに関して実質的に同等のパフォーマンスを有するか否かをユーザに問い合わせるステップも含んでいてよい。
【0079】
幾つかの実施形態において、エンドエフェクタがその座標フレームの1つ又は複数の軸の周囲で回転されるときに、エンドエフェクタが工作物をピックアップすることに関して実質的に同等のパフォーマンスを有することを特定してよい。この場合、ユーザは各回転を連続的又は複数の離散ステップとして特定できるかもしれない。幾つかのケースでは、特定された回転が一連の画像として表示されてもよい。例えば、前述のもの等のグラフィカルディスプレイにおいて(例えば、ロボットティーチペンダント、又は他のあらゆる適当な装置上で)。
【0080】
幾つかの実施形態において、本開示はロボット及び/又はロボットエンドエフェクタが接触する目的のための工作物特徴部の姿勢の許容範囲を特定する方法を提供するかもしれない。この方法は、工作物、その座標フレームの軸、及び/又はロボット若しくはロボットエンドエフェクタをグラフィクスにより表示するステップを含んでいてよく、ロボット及び/又はロボットエンドエフェクタは工作物と接触するための姿勢で表示されてよい。方法は、工作物がその座標フレーム内の1つ又は複数の軸の周囲で回転されるときに、エンドエフェクタが工作物と接触することに関して実質的に同等のパフォーマンスを有するか否かについてユーザに問い合わせるステップをさらに含んでいてよい。
【0081】
幾つかの実施形態において、工作物がその座標フレームの1つ又は複数の軸の周囲で回転されるときに、ロボット及び/又はロボットエンドエフェクタは工作物と接触することに関して実質的に動等のパフォーマンスを有するかもしれない。したがって、ユーザは各回転を連続的又は複数の離散ステップとして特定してよい。
【0082】
幾つかの実施形態において、本開示は工作物の、それを工作物設置目標に置く目的のための姿勢の許容範囲を特定する方法を提供するかもしれない。この方法は、工作物、その座標フレームの軸、及び/又は工作物設置目標をグラフィクスにより表示するステップを含んでいてよい。幾つかの実施形態において、工作物は、工作物を工作物設置目標に置くための姿勢で表示されてよい。方法は、工作物がその座標フレーム内の1つ又は複数の軸の周囲で回転されるときに、工作物が正しく設置されるか否かについてユーザに問い合わせるステップを含んでいてよい。
【0083】
幾つかの実施形態において、本開示は工作物を工作物設置目標に置く目的のためのロボット及び/又はロボットエンドエフェクタの姿勢の許容範囲を特定する方法を提供するかもしれず、姿勢の許容範囲は工作物設置目標に関する。この方法は、ロボット及び/又はロボットエンドエフェクタ、工作物、工作物座標フレームの軸、及び/又は工作物設置目標をグラフィクスにより表示するステップを含んでいてよい。幾つかの実施形態において、ロボット及び/又はロボットエンドエフェクタは、工作物を工作物設置目標に置くための姿勢で表示されてよい。方法は、工作物がその座標フレーム内の1つ又は複数の軸の周囲で回転されるときに、工作物を工作物設置目標に正しく置くことが可能であるか否かについてユーザに問い合わせるステップをさらに含んでいてよい。
【0084】
幾つかの実施形態において、工作物がその座標フレーム内の1つ又は複数の軸の周囲で回転されるときに、工作物には設置目標への正しい設置が少なくとも1つあるかもしれない。この状況では、ユーザは各回転を連続的として、又は複数の離散ステップで特定してよい。工作物がその座標ビーム内の1つ又は複数の軸の周囲で回転され、工作物に設置目標への正しい設置が少なくとも1つある場合、ユーザは各回転を完全な1回転より小さい角度として特定してよい。幾つかのケースでは、考え得る回転範囲は一連の画像で(例えば、ロボットティーチペンダントに関連するグラフィカルディスプレイに)表示されてよい。
【0085】
幾つかの実施形態において、本開示は、工作物特徴部をロボットエンドエフェクタと接触させるための、工作物特徴部の、及びロボット及び/又はロボットエンドエフェクタの、それぞれ相互に関する取り得る姿勢の最大範囲を計算する方法を提供するかもしれない。この方法は、工作物特徴部についての姿勢の許容範囲の第一の群を特定するステップを含んでいてよく、許容可能な姿勢の各々は、それを取ったときに工作物特徴部をロボット及び/又はロボットエンドエフェクタと接触させることに関して実質的に同等のパフォーマンスを有する。方法は、ロボット及び/又はロボットエンドエフェクタについての姿勢の許容範囲の第二の群を特定するステップを含んでいてよく、許容可能な姿勢の各々は、それを取ったときに工作物特徴部をロボット及び/又はロボットエンドエフェクタと接触させることに関して実質的に同等のパフォーマンスを有する。方法はまた、第一の群又は第二の群の何れかを選択するステップも含んでいてよい。これは、工作物特徴部をロボット及び/又はロボットエンドエフェクタと接触させることに関して実質的に同等のパフォーマンスを有する姿勢の最大範囲を可能にするのはどちらの群かに基づいて特定されてよい。
【0086】
幾つかの実施形態において、本開示は工作物を工作物設置目標に設置するための、工作物の、及び工作物設置目標の、それぞれ相互に関する姿勢の最大範囲を計算する方法を提供するかもしれない。方法は、工作物についての姿勢の許容範囲の第一の群を特定するステップを含んでいてよく、許容可能な姿勢の各々は、それを取ったときに工作物を工作物設置目標に設置することに関して実質的に同等のパフォーマンスを有する。方法は、工作物設置目標についての姿勢の許容範囲の第二の群を特定するステップをさらに含んでいてよく、許容可能な姿勢の各々は、それを取ったときに工作物を工作物設置目標に設置することに関して実質的に同等のパフォーマンスを有する。方法はまた、第一の群又は第二の群の何れかを選択するステップも含んでいてよく、これは工作物を工作物設置目標に設置することに関して実質的に同等のパフォーマンスを有する姿勢の最大範囲を可能にするのはどちらの群かに基づいて特定される。
【0087】
幾つかの実施形態において、本開示は工作物を搬送するために工作物をロボットエンドエフェクタと接触させる目的のための、工作物に関するロボットエンドエフェクタの姿勢の許容範囲を特定する方法を提供するかもしれない。この方法は、工作物、ロボット及び/又はロボットエンドエフェクタ、及び/又は工作物座標フレームの軸をグラフィクスにより表示するステップを含んでいてよく、ロボットエンドエフェクタは工作物と接触するための姿勢で表示されてよい。ユーザは、ロボットエンドエフェクタと工作物との間の接触が、工作物を搬送するために工作物をロボットエンドエフェクタと接触させる目的のための容認可能なパフォーマンスを有するような、工作物座標フレームの各軸に沿ったエンドエフェクタとの並進の大きさを特定することができてよい。幾つかのケースにおいて、特定された各軸に沿った並進は、一連の画像として(例えばロボットティーチペンダントに関連付けられるグラフィカルディスプレイ)に表示されてよい。
【0088】
幾つかの実施形態において、本開示は工作物を搬送するために工作物をロボットエンドエフェクタと接触させる目的のための、工作物に関するロボットエンドエフェクタの姿勢の許容範囲を特定する方法を提供するかもしれない。この方法は、工作物、ロボットエンドエフェクタ、及びロボットエンドエフェクタ座標フレームの軸をグラフィクスにより表示するステップを含んでいてよく、ロボット及び/又はロボットエンドエフェクタは工作物と接触するための姿勢で表示されてよい。幾つかのケースにおいて、ユーザは、ロボットエンドエフェクタと工作物との間の接触が、工作物を搬送するために工作物をロボットエンドエフェクタと接触させる目的のための容認可能なパフォーマンスを有するような、ロボットエンドエフェクタ座標フレームの原点の周囲でのロボットエンドエフェクタ座標フレームの1つ又は複数の軸に関するエンドエフェクタの回転の大きさを特定することができてよい。幾つかのケースにおいて、ロボットエンドエフェクタ座標フレームの軸のうちの1つは、工作物の表面の接触点に垂直であってよい。幾つかのケースで、特定された各軸に関する回転は、一連の画像として(例えばロボットティーチペンダントに関連付けられるグラフィカルディスプレイ)に表示されてよい。
【0089】
幾つかの実施形態において、本開示は工作物をピックアップする目的のためのロボットエンドエフェクタの姿勢の許容範囲を特定する方法を提供するかもしれない。この方法は、工作物上のピッキング特徴部の対称性の程度を特定するステップを含んでいてよい。対称性の程度は、工作物の座標フレームの軸の各々の周囲での工作物の回転について、連続的、離散的、及び/又は非対称であってよい。特定された対称性が離散的である場合、方法は対応する軸の周囲での離散的回転のインクリメントを特定するステップを含んでいてよい。方法はまた、ロボットエンドエフェクタの対称性の程度を特定するステップも含んでいてよく、対称性の程度は、ロボットエンドエフェクタの座標フレームの軸の各々の周囲でのロボットエンドエフェクタの回転について、連続的、離散的、及び/又は非対称であってよい。特定された対称性が離散的である場合、方法は、対応する軸の周囲での離散的回転のインクリメントを特定するステップを含んでいてよい。方法はまた、工作物をピックアップする目的のためのロボットエンドエフェクタに関する工作物の第一の有効姿勢を特定するステップも含んでいてよい。工作物が第一の有効姿勢にあるときに工作物の座標フレームのうちロボットエンドエフェクタの座標フレームの軸と一致する軸に関して、方法は、工作物の座標フレームの軸の周囲での工作物又はロボットエンドエフェクタの座標フレームの軸の周囲でのロボットエンドエフェクタの何れかについて特定された対称性の程度に応じてエンドエフェクタを回転させることによって、有効なロボットエンドエフェクタ姿勢の範囲を特定するステップも含んでいてよい。
【0090】
幾つかの実施形態において、本開示は工作物を設置目標に設置する目的のための工作物の姿勢の許容範囲を特定する方法を提供するかもしれない。この方法は、工作物上のプレーシング特徴部の対称の程度を特定するステップを含んでいてよく、対称性の程度は、工作物の座標フレームの軸の各々の周囲での工作物の回転について連続的、離散的、又は非対称であってよく、特定された対称性が離散的である場合、対応する軸の周囲での離散的回転のインクリメントを特定するステップも含んでいてよい。方法はまた、設置目標の対称性の程度を特定するステップも含んでいてよく、対称性の程度は、設置目標の座標フレームの軸の各々の周囲での設置目標の回転について連続的、離散的、又は非対称であってよく、特定された対称性が離散的である場合、対応する軸の周囲での離散的回転のインクリメントを特定するステップも含んでいてよい。方法は、工作物を設置する目的のための設置目標に関する工作物の第一の有効姿勢を特定するステップをさらに含んでいてよい。工作物が第一の有効姿勢にあるときに工作物の座標フレームのうち設置目標の座標フレームの軸と一致する軸に関して、方法は、工作物の座標フレームの軸の周囲での工作物又は設置目標の座標フレームの軸の周囲での設置目標の何れかについて特定された対称性の程度に応じて工作物を回転させることによって、有効な工作物姿勢の範囲を特定するステップも含んでいてよい。
【0091】
幾つかの実施形態において、本開示は工作物をピックアップし、設置するためのシステムを提供するかもしれない。このシステムは、ロボット、ロボットエンドエフェクタ、センサ、ロボットコントローラ、及び/又はロボットコントローラと通信するロボットティーチペンダントのうちの1つ又は複数を含んでいてよい。幾つかの実施形態において、センサは、ロボットに関する1つ又は複数の工作物の姿勢を検出するように構成されてよく、ロボットコントローラはセンサにより検出された工作物を選択するように構成されてよい。ロボットコントローラはさらに、工作物をピックアップする目的のための考え得るエンドエフェクタピッキング姿勢の範囲から選択するように構成されてよい。ロボットコントローラはさらに、工作物を工作物設置目標に設置する目的のための考え得るエンドエフェクタプレーシング姿勢の範囲から選択するように構成されてよい。ロボットコントローラはさらに、考え得るエンドエフェクタピッキング姿勢の範囲を生成するために、エンドエフェクタの対称性に関する情報をユーザにプロンプトするように構成されてもよい。ユーザには、グラフィカルユーザインタフェースを使って(例えば、ロボットティーチペンダント上で)エンドエフェクタの対称性に関する情報がプロンプトされてもよい。ロボットコントローラはさらに、考え得るエンドエフェクタピッキング姿勢の範囲を生成するために、工作物ピッキング特徴部の対称性に関する情報をユーザにプロンプトするように構成されてよい。ユーザには、ロボットティーチペンダント上でエンドエフェクタの対称性に関する情報がプロンプトされてもよい。ロボットコントローラはさらに、工作物を工作物設置目標に設置する目的のための考え得るエンドエフェクタ設置姿勢の範囲から選択するように構成されてよい。
【0092】
幾つかの実施形態において、ロボットコントローラはさらに、考え得るエンドエフェクタ設置姿勢の範囲を生成するために、工作物プレーシング特徴部の対称性に関する情報をユーザにプロンプトするように構成されてよい。ユーザには、ロボットティーチペンダント上でエンドエフェクタの対称性に関する情報がプロンプトされてよい。ロボットコントローラはさらに、考え得るエンドエフェクタ設置姿勢の範囲を生成するために、工作物プレーシング目標の対称性に関する情報をユーザにプロンプトするように構成されてよい。ユーザには、ロボットティーチペンダント上でエンドエフェクタの対称性に関する情報がプロンプトされてよい。ロボットコントローラはさらに、選択されたエンドエフェクタピッキング姿勢から選択されたエンドエフェクタプレーシング姿勢までの経路を計算するように構成されてよい。選択されたエンドエフェクタピッキング姿勢と選択されたエンドエフェクタプレーシング姿勢との間の経路は、工作物のピッキングの成功と工作物の設置の成功の可能性が最も高くなるように最適化されてよい。
【0093】
当業者であればわかるように、本開示の態様はシステム、方法、又はコンピュータプログラム製品として具現化されてよい。したがって、本開示の態様は完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、レジデントソフトウェア、マイクロコード等)、又はソフトウェアとハードウェアの態様を組み合わせた実施形態の形態をとってよく、これらは全て、概して本明細書において「回路」、「モジュール」、又は「システム」と呼ばれるかもしれない。さらに、本開示の態様は、コンピュータ可読プログラムコードがその上に具現化された1つ又は複数のコンピュータ可読媒体において具現化されたコンピュータプログラム製品の形態をとってもよい。
【0094】
1つ又は複数のコンピュータ可読媒体の何れの組合せが利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってよい。コンピュータ可読記憶媒体は例えば、電子、磁気、光、電磁、赤外線、又は半導体システム、装置、若しくはデバイス、又はこれらのあらゆる適当な組合せであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的リスト)には以下が含まれる:1つ又は複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、イレーサブルプログラマブルリードオンリメモリ(EPROM又はFlashメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、光記憶装置、磁気記憶装置、又はこれらのあらゆる適当な組合せ。本明細書に関して、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによって、又はそれに関連して使用されるプログラムを含むか、又はそれを記憶できる何れの有形の媒体であってもよい。
【0095】
コンピュータ可読信号媒体は、コンピュータ可読プログラムコードがその中に、例えばベースバンドの中又は搬送波の一部として具現化される伝搬データ信号を含んでいてよい。
【0096】
このような伝搬信号は、電磁、光、又はそれらのあらゆる適当な組合せを含むがこれらに限定されない様々な形態の何れをとってもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、又はデバイスによって、又はそれに関連して使用されるプログラムを通信、伝搬、又は伝送できる何れのコンピュータ可読媒体であってもよい。コンピュータ可読媒体上に具現化されるプログラムコードは、何れの適当な媒体を使って送信されてもよく、これには無線、有線、光ファイバケーブル、RF等、又はこれらのあらゆる適当な組合せが含まれるが、これらに限定されない。
【0097】
本開示の態様のための動作を実行するためのコンピュータプログラムコードは、Smalltalk、C++、又はその他等のオブジェクト指向プログラミング言語及び“C”プログラミング言語又はそれと同様のプログラミング言語等の従来の手続き型プログラミング言語を含む1つ又は複数のブログミング言語の何れの組合せで書かれてもよい。プログラムコードは、完全にユーザのコンピュータ上で、一部がユーザのコンピュータ上で、独立型ソフトウェアパッケージとして、一部がユーザのコンピュータ上で、且つ一部がリモートコンピュータ上で、又は完全にリモートコンピュータ若しくはサーバ上で実行されてよい。後者のシナリオでは、リモートコンピュータはユーザのコンピュータに何れの種類のネットワークで接続されてもよく、これにはローカルエリアネットワーク(LAN)若しくはワイドエリアネットワーク(WAN)が含まれ、又は接続は外部コンピュータとも(例えば、インタネットサービスプロバイダを使ってインタネットを通じて)なされてよい。
【0098】
本開示の態様は、本開示の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図に関して以下に説明される。フローチャート図及び/又はブロック図の各ブロック及びフローチャート図及び/又はブロック図内のブロックの組合せは、コンピュータプログラム命令により実装できると理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、特定用途コンピュータ、又はその他のブログラム可能データ処理装置のプロセッサに提供されてマシンが製作されてよく、それによって、命令は、コンピュータのプロセッサ又はその他のプログラム可能データ処理装置を介して実行され、フローチャート及び又はブロック図の1つ又は複数のブロックの中に特定される機能/動作を実行するための手段を作る。
【0099】
これらのコンピュータプログラム命令はまた、コンピュータ可読媒体内にも記憶されてよく、これはコンピュータ、その他のプログラム可能データ処理装置、又はその他のデバイスに特定の方法で機能させることができ、それによってコンピュータ可読媒体内に記憶された命令は、フローチャート及び/又はブロック図の1つ又は複数のブロックに明記された機能/動作を実行する命令を含む製品を製作する。
【0100】
コンピュータプログラム命令はまた、コンピュータ、その他のプログラム可能データ処理システム、又はその他のデバイスにロードされて、一連の動作ステップがそのコンピュータ、その他のプログラム可能装置、又はその他のデバイス上で実行されてコンピュータ実装プロセスが生成されてよく、それによってそのコンピュータ又はその他のブログラム可能装置上で実行される命令は、フローチャート及び/又はブロック図の1つ又は複数のブロックに明記された機能/動作を実行するプロセスを提供する。
【0101】
図面中のフローチャート及びブロック図は、本開示の各種の実施形態によるシステム、方法、及びコンピュータプログラム製品の考え得る実装のアーキテクチャ、機能性、及び動作を図解している。この点において、フローチャート又はブロック図内の各ブロックは、特定された論理的機能を実行するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又はコードの一部を表していてよく、ただし常にそうとはかぎらない。同じく留意すべき点として、幾つかの代替的な実装において、ブロック中に記載された機能は図面中に示されるものとは異なる順序で実行されてもよい。例えば、連続して示されている2つのブロックは、実際には、実質的に同時に実行されてもよく、又はブロックは時として、関係する機能性に応じて逆の順序で実行されてもよい。また、ブロック図及び/又はフローチャート図の各ブロック及びブロック図及び/又はフローチャート図中のブロックの組合せは、特定された機能若しくは動作を実行する特定用途ハードウェア系システムによって、又は特定用途ハードウェアとコンピュータ命令の組合せによって実装できる点にも留意されたい。
【0102】
本明細書で使用される用語は、特定の実装のみを説明することを目的としており、開示を限定するものではない。本明細書で使用されるかぎり、単数形の冠詞(a、an、the)は、文脈上そうでないことが明確に示されていなければ、複数形も含むものとする。さらに、「~を含む(comprises及び/又はcomprising)」という用語は、本明細書で使用されるかぎり、明記された特徴、整数、ステップ(必ずしも特定の順序によらない)、動作、要素、及び/又は構成要素の存在を明示しており、1つ又は複数のその他の特徴、整数、ステップ(必ずしも特定の順序によらない)、動作、要素、構成要素、及び/又はそれらの集合の存在又は追加を排除しないことを理解されたい。
【0103】
以下の特許請求の範囲の中にあるかもしれない全てのミーンズ又はステッププラスファンクション要素の対応する構造、材料、動作、及び等価物は、明瞭に特許請求されているその他の特許請求要素と共に機能を実行するためのあらゆる構造、材料、又は動作を含むものとする。本開示の説明は、例示と解説を目的として提示されており、排他的であることも、開示されている形態の開示に限定することも意図されていない。本開示の範囲と主旨から逸脱しない多くの改良、変更、置換、及びそれらのあらゆる組合せが、当業者にとって明らかであろう。本開示の原理と現実的な用途を最もよく説明するために、及び当業者が、企図される特定の用途に適した様々な改良及び/又はあらゆる実装の組合せによる各種の実装のために本開示を理解できるようにするために、実装例を選択し、説明した。
【0104】
本発明の幾つかの実装例を説明した。しかしながら、本発明の主旨と範囲から逸脱することなく、各種の改良が行われてよいと理解されたい。
【0105】
例えば、幾つかの実装において、ロボットは少なくとも1つ物体をピックアップし、それを1箇所から別の場所に移動させるように構成されたあらゆる機械的システムであってよい。
【0106】
幾つかの実装において、グラフィカルユーザインタフェースは、ロボットティーチペンダント以外の場所で実装されてもよく、これにはコンピュータディスプレイ、モバイルデバイス、又はタブレットコンピュータが含まれるがこれらに限定されない。さらに、幾つかの実装では「プロセッサ」が使用されてよいが、留意すべき点として、これには、ロボットコントローラに関連付けられた、若しくはそれとは別のプロセッサ、例えばコントローラとは別の、若しくはその中に含まれる単独のプロセッサ、コントローラとは別の、若しくはその中に含まれる複数のプロセッサ等が含まれていてよいが、これらに限定されない。幾つかのケースで、1つのデバイス内にある1つのプロセッサが特定の動作を実行してよく、物理的に離れたエリアにある別のプロセッサが他の動作を実行してもよい。追加的及び/又は代替的に、動作の幾つか又は全部が1つのプロセッサ又は1つのデバイス内にあるプロセッサ群、例えば本願に含まれるロボティックシステムに関連付けられるそれらにより実行されてもよい。
【0107】
それゆえ、本願の開示を詳細に、その実装に関して説明したが、改良、変更、及び/又は実装のあらゆる組合せ(そのあらゆる改良、変更、置換、及び組合せを含む)が付属の特許請求の範囲において定義される本開示の範囲から逸脱せずに可能であることが明らかであろう。