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

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

▶ ファナック株式会社の特許一覧

<>
  • 特開-領域ベースの把持生成 図1
  • 特開-領域ベースの把持生成 図2
  • 特開-領域ベースの把持生成 図3
  • 特開-領域ベースの把持生成 図4
  • 特開-領域ベースの把持生成 図5A
  • 特開-領域ベースの把持生成 図5B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023120149
(43)【公開日】2023-08-29
(54)【発明の名称】領域ベースの把持生成
(51)【国際特許分類】
   B25J 13/00 20060101AFI20230822BHJP
【FI】
B25J13/00 Z
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023001042
(22)【出願日】2023-01-06
(31)【優先権主張番号】17/651,485
(32)【優先日】2022-02-17
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100169856
【弁理士】
【氏名又は名称】尾山 栄啓
(72)【発明者】
【氏名】ファン ヨンシアン
(72)【発明者】
【氏名】チー-コン ツァイ
(72)【発明者】
【氏名】加藤 哲朗
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS04
3C707AS05
3C707BS10
3C707KT03
3C707KT06
3C707LV06
3C707LW08
3C707LW12
(57)【要約】      (修正有)
【課題】マシンテンディング又はビンピッキング用途の領域ベースのロボットの把持生成技術を提供する。
【解決手段】部品及びグリッパー形状は、グリッパー運動と共に、通常、CADファイルからの入力として提供される。人間ユーザは、部品形状を表示するグラフィカルユーザインターフェースを使用して、部品上に1つ以上の目標把持領域を定義する。目標把持領域は、次に部品が目的地での適切な姿勢で確実に配置され得るために、どのように部品が把持され得るかというユーザの知見に基づいてユーザによって識別される。目標把持領域の各々について、部品とグリッパーとの間の安定した面接触を伴い且つ部品-グリッパーの干渉がない、複数の良質な把持を計算するために最適化ソルバーが使用される。各目標把持領域について計算された把持は、実際のビンピッキング操作でロボットによって使用される把持データベース内に置かれる。
【選択図】図2
【特許請求の範囲】
【請求項1】
ロボットの把持システムで使用される把持データベースを生成する方法であって、前記方法は、
把持される対象物についての3次元(3D)形状データを含む対象物モデル、並びに、グリッパーについての3D形状データ及び作動パラメータを含むグリッパーモデルを提供することと、
前記対象物上の1つ以上の目標把持領域、及び、前記目標把持領域の各々について計算する把持の必要数の定義を含む、人間ユーザからの入力仕様を受信することと、
前記目標把持領域のうちの1つを選択することと、
プロセッサ及びメモリを有するコンピュータを使用して、前記選択された目標把持領域について反復最適化を実行することであって、前記反復最適化は、グリッパー-対象物の干渉がない、前記グリッパーと前記対象物の前記選択された目標把持領域との間の面接触を定義する制約式を満たしつつ、局所的な最大品質を有する把持に収束する、ことと、
前記把持を定義するデータを前記把持データベースに出力することと、
把持の前記必要数が満たされるまで、繰り返し、前記反復最適化を実行し、前記把持を定義する前記データを出力することと、
前記目標把持領域の全てが使用されるまで、別の前記目標把持領域を選択し、前記反復最適化を繰り返し実行して、把持の前記必要数を計算することと、を含む、方法。
【請求項2】
反復最適化の実行は、把持の前記必要数の各々について、前記最適化の最初の反復で、前記対象物上の前記選択された目標把持領域に対するグリッパー位置をランダムに初期化することを含む、請求項1に記載の方法。
【請求項3】
実際のロボットの操作中に前記把持データベースを使用して、対象物のコンテナから把持する目標対象物を識別することを更に含み、3Dカメラからの深度画像を前記対象物モデルと比較することによって対象物姿勢を推定することと、前記把持データベースからの把持を前記推定された対象物姿勢上にマッピングすることによって前記目標対象物を識別することと、前記目標対象物を把持し移動させるように、前記グリッパーを有するロボットに指示するロボットコントローラーに目標対象物把持データを提供することと、を含む、請求項1に記載の方法。
【請求項4】
前記目標対象物は、目的地での姿勢で前記ロボットによって配置され、前記1つ以上の目標把持領域は、前記グリッパーによる干渉がなく、前記目的地での姿勢で前記目標対象物の配置を可能にするように前記人間ユーザによって選択される、請求項3に記載の方法。
【請求項5】
前記把持を定義する前記データは、把持目標ポイントの3D座標と、前記グリッパーが従うべきアプローチの角度と、グリッパー回転角度と、グリッパー幅と、把持品質値と、を含む、請求項1に記載の方法。
【請求項6】
前記反復最適化は、前記グリッパーモデルの面上のサンプリングポイントについて定義されるグリッパー面、及び、前記目標把持領域内の前記対象物モデルの面上のサンプリングポイントについて定義される対象物面を含み、前記グリッパー面上の前記サンプリングポイントの各々に対応する前記対象物面上の最近傍ポイントを含んで定式化される、請求項1に記載の方法。
【請求項7】
前記グリッパー面は、回転、並進、及び、グリッパー幅の変更を含む変換によって各反復で変換される、請求項6に記載の方法。
【請求項8】
前記反復最適化は、前記グリッパー面上の各サンプリングポイントと、前記目標把持領域内の前記対象物面上の前記各サンプリングポイントに対応する最近傍ポイントとの間の総距離に基づいて定義された把持品質を最大化する目的関数を含んで定式化され、前記制約式は、制約違反が前記把持品質を低減するペナルティ関数として扱われ、各反復は、最小二乗線形代数計算を使用してワンステップで前記変換を計算する、請求項7に記載の方法。
【請求項9】
前記反復最適化は、前記グリッパー面が前記対象物面に進入しないことを指定する制約式を含んで定式化される、請求項6に記載の方法。
【請求項10】
前記ユーザによる前記1つ以上の目標把持領域の定義は、グラフィカルユーザインターフェースを使用して、1つ以上のサーフェス要素又はソリッド要素を含む前記対象物モデルの幾何要素を選択することを含む。請求項1に記載の方法。
【請求項11】
ロボットの把持システムで使用される把持データベースを生成する方法であって、前記方法は、
把持される対象物の3次元(3D)対象物モデル上で1つ以上の目標把持領域を定義することと、
前記目標把持領域の各々について、把持の既定の必要数を計算し、プロセッサ及びメモリを有するコンピュータを使用し、グリッパー-対象物の干渉がない、前記グリッパーと前記対象物の前記目標把持領域との間の面接触を定義する制約式を満たしつつ、品質閾値を満たす把持に収束する反復最適化を使用し、各把持を前記把持データベースに出力することと、を含む、方法。
【請求項12】
ロボットの把持生成システムであって、
人間ユーザからの入力を受信するためのインターフェースデバイスと、
プロセッサ及びメモリを有するコンピュータであって、前記コンピュータは、前記ユーザインターフェースデバイスと通信し、把持データベースを生成するように構成されている、前記コンピュータと、を備え、
前記人間ユーザは、前記インターフェースデバイスを使用して、把持される対象物についての3次元(3D)形状データを含む対象物モデル、並びに、グリッパーについての3D形状データ及び作動パラメータを含むグリッパーモデルを提供し、
前記人間ユーザは、前記対象物上の1つ以上の目標把持領域、及び、前記目標把持領域の各々について計算する把持の必要数の定義を含む入力仕様を提供し、
前記コンピュータは、把持データベースを生成するように構成されており、
前記目標把持領域のうちの1つを選択することと、
前記選択された目標把持領域について反復最適化を実行することであって、前記反復最適化は、グリッパー-対象物の干渉がない、前記グリッパーと前記対象物の前記選択された目標把持領域との間の面接触を定義する制約式を満たしつつ、局所的な最大品質を有する把持に収束する、ことと、
前記把持を定義するデータを前記把持データベースに出力することと、
把持の前記必要数が満たされるまで、繰り返し、前記反復最適化を実行し、前記把持を定義する前記データを出力することと、
前記目標把持領域の全てが使用されるまで、別の前記目標把持領域を選択し、前記反復最適化を繰り返し実行して、把持の前記必要数を計算することと、を含む、システム。
【請求項13】
ロボットコントローラーと、
実際のロボットの操作中に対象物のコンテナの深度画像を提供する3Dカメラであって、前記コンピュータ又は前記ロボットコントローラーは、前記深度画像を前記対象物モデルと比較することによって対象物姿勢を推定することと、前記把持データベースからの把持を前記対象物姿勢上にマッピングすることによって目標対象物を識別することと、を含んで、対象物の前記コンテナから把持する目標対象物を識別する、前記3Dカメラと、
前記コントローラーからの命令に基づいて前記目標対象物を把持し移動させるための前記グリッパーを有するロボットと、を更に備える、請求項12に記載のシステム。
【請求項14】
前記目標対象物は、目的地での姿勢で前記ロボットによって配置され、前記1つ以上の目標把持領域は、前記グリッパーによる干渉がなく、前記目的地での姿勢で前記目標対象物の配置を可能にするように前記人間ユーザによって選択される、請求項13に記載のシステム。
【請求項15】
前記把持を定義する前記データは、把持目標ポイントの3D座標と、前記グリッパーが従うべきアプローチの角度と、グリッパー回転角度と、グリッパー幅と、把持品質値と、を含む、請求項12に記載のシステム。
【請求項16】
反復最適化の実行は、把持の前記必要数の各々について、前記最適化の最初の反復で、前記対象物上の前記選択された目標把持領域に対するグリッパー位置をランダムに初期化することを含む、請求項12に記載のシステム。
【請求項17】
前記反復最適化は、前記グリッパーモデルの面上のサンプリングポイントについて定義されるグリッパー面、及び、前記目標把持領域内の前記対象物モデルの面上のサンプリングポイントについて定義される対象物面を含み、前記グリッパー面上の前記サンプリングポイントの各々に対応する前記対象物面上の最近傍ポイントを含んで定式化され、前記グリッパー面は、回転、並進、及び、グリッパー幅の変更を含む変換によって各反復で変換される、請求項12に記載のシステム。
【請求項18】
前記反復最適化は、前記グリッパー面上の各サンプリングポイントと、前記目標把持領域内の前記対象物面上の前記各サンプリングポイントに対応する最近傍ポイントとの間の総距離に基づいて定義された把持品質を最大化する目的関数を含んで定式化され、前記制約式は、制約違反が前記把持品質を低減するペナルティ関数として扱われ、各反復は、最小二乗線形代数計算を使用してワンステップで前記変換を計算する、請求項17に記載のシステム。
【請求項19】
前記反復最適化は、前記グリッパー面が前記対象物面に進入しないことを指定する制約式を含んで定式化される、請求項17に記載のシステム。
【請求項20】
前記ユーザによる前記1つ以上の目標把持領域の定義は、前記インターフェースデバイスでグラフィカルユーザインターフェースソフトウェアを使用して、1つ以上のサーフェス要素又はソリッド要素を含む前記対象物モデルの幾何要素を選択することを含む。請求項12に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、ロボットが部品を把持するための良質な把持データを生成する方法、より具体的には、部品及びグリッパー形状が入力として提供され、部品上の目標把持領域のユーザ定義が提供され、部品の目標把持領域の各々における部品-グリッパー面接触を伴う複数の良質な把持を計算するために最適化ソルバーが使用される、マシンテンディング及びビンピッキング用途のロボット把持生成のための方法に関する。
【背景技術】
【0002】
産業用ロボットを使用して、製造、組み立て、及び、材料移動の操作を幅広く実行することはよく知られている。そのような用途の1つは、ロボットがビンから個々の部品を掴みあげ、更なる処理又は梱包のために所定の位置に各部品を配置するなどのピックアンドプレース操作である。ピックアンドプレース操作の特定の例は、部品又は加工対象物がビンへ落とされ、ロボットによって把持されマシニングステーションへ配置される必要があるマシンテンディング用途である。マシニングステーションは、開放されていてもよく、又は、自動ドアで完全に囲まれていてもよく、マシニングステーションは通常、部品に対してマシニング操作(穴あけ加工、フライス加工、ねじ切り加工など)を実行できるようにするために、特定の方法で部品を把持する必要がある。
【0003】
上述したような用途では、通常、ビン内の個々の部品の位置及び向きを識別するためにビジョンシステム(1つ以上のカメラ)が使用される。そして、特定のロボットの把持が識別されて、選択された部品上で使用される。当該把持は、特定の部品形状及び特定のグリッパー形状について生成された把持の事前に計算されたデータベースから選択され得る。
【0004】
マシニングステーションの特定の把持要件のために、対応するロボットの把持生成が従来から手動で行われてきた。このタイプの手動教示では、生産ロボット及びマシニングステーションが使用され、専門のオペレーターは、ティーチペンダント又はハンドガイダンスのいずれかを使用して、部品を把持するようにロボットに教示する。これは、ビン内の異なる多数の向きの部品に適した把持を定義するために何度も行われる必要がある。この手動教示技術は、遅く且つ非効率であり、また、教示のために(ロボット及びマシニングステーションを有する)完全なワークセルを必要とするため非常に高価であり、そしてこれが、実際の部品生産のためにワークセルが使用されるのを妨げている。
【0005】
多数の把持候補を自動的に生成することができる他の把持生成技術が知られている。しかしながら、このような技術には、非常に計算コストが高く且つ非常に計算が遅い、又は、計算される把持が低い把持品質となる単純化を行うなどの欠点がある。加えて、既存の技術には、部品がマシニングステーションに装填されマシニングステーションによって把持され得るようにロボットが部品を把持する必要があるということを考慮した自動化の方法がない。
【0006】
ピックアンドプレース操作の別の例は、ロボットが部品のビンから個々の部品を把持し、把持された部品を、次のステーションへの移動のためにコンベヤー上に、又は、輸送のためにコンテナ内に配置する場合である。このような場合、依然、部品が指定の姿勢でコンベヤー上又はコンテナ内に配置されるのに適した方法でロボットが部品を把持することが好都合である。このため、部品の特定の領域を把持することが好ましいが、コンピュータアルゴリズムが部品上の好ましい把持領域を識別するのは困難である。
【0007】
上述した状況を鑑みて、手動で教示することなく高品質の把持候補を計算し、計算効率がよく、部品の目的地での部品の次の配置の向き要件に適合した部品の領域上での安定した把持を提供するロボット把持生成技術が必要とされている。
【発明の概要】
【0008】
本開示の教示にしたがって、マシンテンディング又はビンピッキング用途の領域ベースのロボットの把持生成技術が提示される。部品及びグリッパー形状は、グリッパー運動と共に、通常、CADファイルからの入力として提供される。人間ユーザは、部品形状を表示するグラフィカルユーザインターフェースを使用して、部品上に1つ以上の目標把持領域を定義する。目標把持領域は、次に部品が目的地での適切な姿勢で確実に配置され得るために、どのように部品が把持され得るかというユーザの知見に基づいてユーザによって識別される。目標把持領域の各々について、部品とグリッパーとの間の安定した面接触を伴い且つ部品-グリッパーの干渉がない、複数の良質な把持を計算するために最適化ソルバーが使用される。各目標把持領域について計算された把持は、実際のビンピッキング操作でロボットによって使用される把持データベース内に置かれる。
【0009】
本開示方法の追加的特徴は、添付の図面と併せて、以下の記載及び付属する特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0010】
図1図1は、本開示の一実施形態に係わる、良質な把持のデータベースが、部品のユーザ定義の目標把持領域上で計算され、産業用ロボットが、データベースから把持のうちの1つを使用してビンから部品を掴み、更なる処理のためにマシニングステーション内又はコンベヤー上に部品を配置するロボットの把持生成及び部品把持システムを示す図である。
図2図2は、本開示の一実施形態に係わる、部品の目標把持領域上で把持のデータベースを作成するために使用され、次いで把持データベースが図1の部品把持システムで使用される領域ベースの把持生成プロセスに含まれるステップを示すフロー図である。
図3図3は、本開示の一実施形態に係わる、図2の把持最適化ボックスで採用される部品-グリッパー面適合アルゴリズムで使用される基本原理を示す図である。
図4図4は、本開示の一実施形態に係わる、面適合、衝突回避、及び、部品上の目標把持領域の使用を含む、図2の把持最適化ボックスで採用される把持最適化計算を示す図である。
図5A図5Aは、本開示の実施形態に係わる、目標把持領域を含むユーザ入力が提供される、領域ベースの把持生成のための方法の組み合わされたフロー図である。
図5B図5Bは、本開示の実施形態に係わる、目標把持領域についての把持最適化計算が実行される、領域ベースの把持生成のための方法の組み合わされたフロー図である。
【発明を実施するための形態】
【0011】
ロボットの部品ピッキング用途の領域ベースの把持生成技術に関する本開示の実施形態に関する以下の議論は、本質的に単なる例示であり、開示される技術、又は、これら技術の用途若しくは使用を制限することを全く意図しない。
【0012】
産業用ロボットを使用して、ソースから部品を掴んで目的地に配置することはよく知られている。典型的なピックアンドプレース操作では、部品の供給は、鋳造又は部分的に組み立てられた部品のランダムなパイル(山)を含むビンなどのビンで提供され、部品は、ビン内の当該部品のランダムな姿勢から掴みあげられ目的地の位置に特定の姿勢で配置される必要がある。マシンテンディングは、特有の要件を有する特定のタイプのロボットの部品ピッキング及び配置であるが、他のビンピッキング及び配置用途でも通常、目的地に特定の姿勢で部品を配置する必要がある。
【0013】
図1は、本開示の一実施形態に係わる、ロボットの把持生成及び部品把持システムを示す図である。図1のシステムでは、部品のユーザ定義の目標把持領域上の良質な把持のデータベースが事前に計算され、次いで産業用ロボットは、データベースから把持のうちの1つを使用してビンから部品を掴み、更なる処理のために目的地の位置に部品を配置する。
【0014】
図1のシステムの一用途では、産業用ロボット100は、ビン110から部品を掴み、処理のためにマシニングステーション130内に部品を配置し、次いで、処理後にマシニングステーション130から完成部品を取り出し、更なる処理又は梱包のために当該完成部品が搬送されるコンベヤー140上に完成部品を配置する。システムの別の用途では、ロボット100は、ビン110から部品を掴み、搬送される部品をコンベヤー140上に直接配置する。ロボット100は、部品を把持するために開放及び閉鎖する指を有するグリッパー120を有する。指は通常、ロボット100によって取り扱われている部品を把持するのに適した湾曲した接触面を有する。グリッパー指形状は、更に後述される。
【0015】
ロボット100の動作は、(図示される)ケーブルを介して又は無線でロボット100と通信するコントローラー150によって制御される。コントローラー150は、当該技術分野で既知のように、関節動作命令をロボット100に提供し、ロボット100の関節におけるエンコーダから関節位置データを受信する。コントローラー150はまた、グリッパー120の操作を制御するための命令(グリップ(把持)/アングリップ(把持解除)命令及びグリッパー開放幅)を提供する。
【0016】
図1のシステムによるリアルタイムのビンピッキング操作の間、マシンテンディングであろうと、他のピックアンドプレース用途であろうと、ロボット100は、選択された安定した把持に応じて、選択された部品上でグリッパー120が指を閉鎖するように、カメラ170からのビン110の画像に基づいて、選択された部品をビン110から把持する必要がある。把持は、グリッパー指幅と共に、選択された部品に対するグリッパー120の位置及び向きを含む。ビンピッキングの生産性を最大化するために、多数の高品質で安定した把持を含む把持データベースを事前に計算することが知られており、データベースからの把持のうちの1つは、リアルタイムのビンピッキングの間に選択される各部品について選択される。
【0017】
プロセッサ及びメモリ/ストレージを含むコンピュータ160は、コントローラー150と通信する。コンピュータは、ユーザインターフェース190を介したユーザ180からの入力に基づいて、把持データベースを事前に計算するように構成されている。把持データベースの計算は、本開示の主題であって、詳細に後述される。
【0018】
リアルタイムのビンピッキングの一実装実施形態では、コントローラー150は、コンピュータ160から転送される把持データベースを使用して、カメラ170からの画像に基づいて、部品選択及び把持計算を実行する。把持データを使用して、コントローラー150は、グリッパー120に部品を把持させ部品をマシニングステーション130又は他の目的地に移動させるロボット動作命令を計算する。次いで、コントローラー150は、ロボット100に命令を提供し、ロボット100は、選択された部品を掴んで配置する。本実施形態では、コンピュータ160は、ロボットのビンピッキング操作のために使用されるのではなく、むしろ、コンピュータ160は、把持生成のためだけに使用され、ロボットの操作に先立ってコントローラー150に把持データベースを提供する。
【0019】
別の実装実施形態では、コンピュータ160は、コンピュータ160上に存在する把持データベースを使用して、カメラ170からの画像に基づいて、リアルタイムの部品選択及び把持計算を実行する。本実施形態では、コンピュータ160は、各々の個々のビンピックのためにコントローラー150に把持データ(グリッパー位置/向き/幅)を通信し、コントローラー150は、ロボット動作命令を計算し、ロボット100に命令を提供し、ロボット100は、選択された部品を掴んで配置する。
【0020】
上述した実装実施形態のいずれかは、特定の用途要件、コントローラー150の計算電力などに基づいて、特定の用途で使用され得る。以下の残りの説明で、コンピュータ160は、本開示に係わる領域ベースの把持生成のために使用されるものとして記載され、一方、コントローラー150は、把持データベースを使用して、把持を実行するようにロボットを制御して、リアルタイムで把持を計算するものとして記載される。
【0021】
カメラ170は通常、カラー画像データ及びピクセル深度マップデータの両方を提供する3次元(3D)カメラであるが、ビン110内の部品の姿勢(位置及び向き)を決定するのに適したデータを提供する何らかの他のタイプの3Dセンサであってもよい。部品姿勢の決定を助け、非垂直のグリッパーのアプローチ角度も可能にする、より堅牢な深度及び画像データを提供するために、複数のカメラ170を使用してもよい。一部の用途では、ビン110は、任意の位置及び向きにあり得る1つの部品のみを含んでいてもよい。これは、部品が、ビン110に到着するのと同じ速度でマシニングステーション130によって処理される場合である。あるいは、ビン110は、(図1に示されるような)いくつかの部品又は部品の相当なパイルを含んでいてもよい。任意の場合、最良品質の把持候補は、カメラ170からの画像データに基づいて、事前に計算された把持データベースから選択される。
【0022】
マシンテンディング用途では、コントローラー150はまた、マシニングステーション130と通信する。少なくとも、コントローラー150は、マシニングステーション130と充分に通信して、ロボット100による部品の装填及び除去を可能にする。つまり、マシニングステーション130で、新しい部品が装填される準備ができているとき、コントローラー150は、マシニングステーション130のドアが開放されていることを確認しつつ、ビン110から部品を把持し、所定の向きでマシニングステーション130の把持ツールに部品を配置するようにロボットに命令する。次いで、ロボット100は、マシニングステーション130から引き下がり、部品に対するマシニング操作が完了するのを待機する。マシニングステーション130から完成部品を取り出す準備ができていることをマシニングステーション130がコントローラー150に信号を送ると、ロボット100は、マシニングステーション130内に到達し、(既知の姿勢にある)部品を把持し、マシニングステーション130は、部品の把持を解除し、ロボット100は、部品をコンベヤー140に移動させる。コンベヤー140は単なる例示であり、ロボット100は、マシニングステーション130から取り出した後、別のビン内、輸送コンテナ内、又は、他の場所に完成部品を配置してもよい。完成部品を落とした後、ロボット100は次いで、ビン110に戻って、別の部品を選択してマシニングステーション130に装填する。次の部品把持は、カメラ170によって提供される新しい画像データに基づいて決定される。
【0023】
マシニングステーションを含まないビンピッキング用途では、ロボットは、ビン110から部品を把持し、コンベヤー140上又は輸送コンテナなどの別の目的地に部品を配置し、次いで、ビン110に戻って、カメラ170によって提供される新しい画像データに基づいて計算される把持を使用して別の部品を選択する。
【0024】
部品で満たされたビン内の個々の部品をリアルタイムで認識し把持するようにロボットに教示することは、常に困難なことであった。ロボットの部品ピッキング操作の速度及び信頼性を向上させるために、様々な姿勢で特定の部品を把持する指定のグリッパーについての把持を事前に計算することが知られている。把持のこの事前計算は、把持生成として知られており、次いで、事前に計算された(生成された)把持は、ロボットの部品ピッキング操作中にリアルタイムで決定を行うために使用される。把持生成のこの概念は、図1を参照して上述した。
【0025】
ある従来の把持生成方法は、対象物における既知の3Dの特徴のピッキングポイントを手動で教示する。この方法は、各把持が個々に教示される必要があるということ、及び、加工対象物における精密な調整を伴う単一の把持の教示が非常に長い時間(10分以上)かかり得るということを含む様々な理由で相当な時間を費やすことを必要とする。手動の把持教示を使用することが困難であるため、自律的に把持を生成し未知の対象物に適応する能力に起因して、学習ベースの把持検出方法がポピュラーになっている。
【0026】
しかしながら、既存の学習ベースの把持生成方法にも欠点がある。ある既知の学習ベースの技術は、把持候補を畳み込みニューラルネットワーク(CNN)分類器に供給する前に、数学的に厳密な把持品質を使用して把持候補を検索するが、計算コストが高く、当該ソリューションは、最適化で使用される単純化により、現実世界の状況では最適でない場合がある。別の方法は、経験的な試行を使用して、現実的な把持を生成するデータを収集するが、この方法は通常、複雑な力制御を伴う数万のロボット時間を必要とし、グリッパーのいかなる変更も、プロセス全体の繰り返しを必要とする。このような欠点、並びに、長いデータ収集時間、訓練のための重い計算負荷、及び、異なる形状に適応する困難性を含む他の欠点は、学習ベースの把持生成方法の使用を制限している。更に、既存の方法は概して、ユーザの把持領域の好みを適合させることはできない。
【0027】
別の把持生成技術は、2021年10月15日に出願され、その内容全体を参照により本明細書に援用される、本出願の同一出願人による「GRASP GENERATION FOR MACHINE TENDING」と題された米国特許出願第17/502,230号で開示された。前述の出願は以下で、「230号出願」と称される。
【0028】
230号出願には、把持生成技術が記載されており、当該把持生成技術は、グリッパー及び部品設計の任意の組み合わせに自動的に適用され得、効率的な最適化計算で多数の現実的な把持を生成し、また、現実世界のロボットの部品ピッキング操作でよくみられるように、ビン内でバラ積みされた部品のパイルから個々の部品を把持する物理的動作をシミュレートし得る。把持のロバスト性を高めるために、数学的に厳密な把持生成が使用され、接触は、サーフェスとしてモデル化される。特別に設計された最適化ルーチンは、計算を効率的に解くために使用される。230号出願の技術は、多数の良質な把持を効率的に提供するが、把持は、部品の全領域にわたって分散されている。現実のピックアンドプレース用途では、ロボットによる部品の多数の把持は、目的地に特定の姿勢で部品を次に配置するための要件を満たすのに適していない。
【0029】
本開示は、ロボットが把持すべき場所(部品のどの部分か)の人間の知見を組み込む効率的な把持生成方法を提供することによって、既存の把持生成技術の欠点を克服する。生成された把持を部品の特定の目標把持領域に制限することによって、開示される技術は、充分な数であり、実行されているピックアンドプレース操作に適用可能であることが知られている安定した把持の自動的且つ効率的な生成を可能にする。
【0030】
図2は、本開示の一実施形態に係わる、部品の目標把持領域上で把持のデータベースを作成するために使用され、次いで把持データベースが図1の部品把持システムのロボットビンピッキングのために使用される領域ベースの把持生成プロセスに含まれるステップを示すフロー図である。ステップ200で提供される把持生成プロセスへの入力は、部品モデル210及びグリッパーモデル220を含む。部品モデル210は、(図1の)ロボット100によってビン110から掴まれる部品の3Dサーフェス又はソリッドモデルである。部品モデル210は通常、コンピュータ支援設計(CAD)システムで作成される。図2に示される部品モデル210は、本開示の全体を通して部品として使用されるパイプバルブを描写する。
【0031】
グリッパーモデル220は、グリッパー指222についてのサーフェス又はソリッド形状データを含む。グリッパーモデル220は、2本指パラレルグリッパーを示すが、他のタイプのグリッパー設計を使用してもよい。グリッパー指222は、ロボットによって把持される部品(例えば、パイプバルブ)に対応するように選択される凹形状を通常有する指先端を含む。つまり、指先端は、ハンドル、接続本体、及び、バルブステムカラーなどのパイプバルブの多数の異なる部分において安定した把持を生成することができる。把持される部品の形状に基づいて、異なる設計の指先端を有する異なるグリッパーを採用してもよい。指先端(すなわち、接触面)の形状は、後述の把持品質最適化計算で使用される。
【0032】
グリッパーモデル220はまた、指が並進して指把持幅を提供する軸を有するアクチュエータの幾何定義などのグリッパー作動パラメータを含む。当該指把持幅は、指222がグリッパーアクチュエータによって分離される距離である。把持幅は、部品を把持する前に増加し、部品を把持するために減少するようにコントローラー150によって命令され得る。ロボット100の手首におけるグリッパーアクチュエータの装着の向きが既知であり、手首の回転角度が既知であり、これは、ロボットの手首に対する指222の並進軸が既知であることを意味し、そしてこれにより、空間における指先端の位置を把持幅に基づいて計算することができる。
【0033】
部品モデル210及びグリッパーモデル220は、ステップ230に提供され、人間の専門家(図1のユーザ180)は、部品上に目標把持領域を定義する。目標把持領域は、把持が生成される部品の領域である。1つ以上の目標把持領域は、部品のソリッドモデルが操作され(例えば、3次元で回転され)得るグラフィカルユーザインターフェース(ユーザインターフェース190)の使用などによって、ユーザによって定義され得、部品の幾何領域は、例えばラッソ(なげなわ)又はボックスタイプの選択ツールを使用して選択され得る。目標把持領域を定義するために、任意の好適な選択方法を使用してもよい。特定の用途で把持するのに部品全体が適しているとユーザが決定する場合、単一の目標把持領域として、部品全体も定義され得る。
【0034】
ステップ240で、矢印242によって示される第1の目標把持領域(ハンドルの部分)及び矢印244によって示される第2の目標把持領域(ステム/カラー)を有する部品モデル210が示されている。明確化のため、ユーザによって選択される目標把持領域は、ハンドル全体又はハンドルの特定の部分だけなどの部品の3次元部分として定義される。各目標把持領域の外面上のポイントは、後述の把持最適化ステップでのグリッパー指222との接触をモデル化するために使用される。
【0035】
1つ以上の目標把持領域が、ステップ230~240でユーザによって指定された後、ステップ250に示されるように、目標把持領域は、領域データベースに記憶される。本例では、領域データベースは、バルブハンドルの部分を含む第1の目標把持領域252を含む。具体的には、目標把持領域252は、グリッパーアクチュエータ及び指がバルブ本体と干渉しない部品サイドに配置された、ハンドルの約120°又は3分の1の楔形状の領域である。領域データベースはまた、部品のステム/カラー部分(その周囲全体)を含む第2の目標把持領域254を含む。目標把持領域252及び254は、後に把持最適化計算で使用されるサーフェスポイントで描写される。
【0036】
ステップ260で、目標把持領域の各々で複数の安定した把持を計算するために、入力が把持最適化計算ボックス270に提供される。ステップ260での入力は、部品モデル210、領域データベースからの目標把持領域(この場合、目標把持領域252及び目標把持領域254)、及び、グリッパーモデル220を含む。各目標把持領域について計算する把持の数、最適化パラメータ、及び、グリッパーモデル220の指222におけるグリッパー接触面の指定などの、ステップ230でユーザによって定義された他のパラメータも、把持最適化計算ボックス270への入力として提供される。最適化パラメータについてデフォルト値が選択され得、グリッパー接触面の指定は、特定のグリッパーについて一度だけ行われる必要があり、これにより、ステップ230でのユーザ入力定義が簡略化される。最も重要なユーザ入力は、目標把持領域及び計算する把持の数だけである。
【0037】
ボックス270での把持最適化計算の詳細は、図3図4、及び、図5を参照して後述される。把持最適化ボックス270の出力は、ボックス280で描写される把持データベースである。把持データベースは、指定された目標把持領域の各々について、複数の高品質で安定した把持を含む。ボックス280では、4つの把持が、目標把持領域252について参照282で描写されている。参照282での4つの把持は全て、目標把持領域252によって示される領域上でバルブハンドルを把持するグリッパー指222を有することがわかる。ここで、グリッパー指は、把持の各々で、異なる向きの角度及び若干異なる位置を有する。このような異なる把持は、多数の部品がビン内で通常ランダムに積み重ねられる実際のロボットのビンピッキング操作中に、部品における良質な把持を選択するための多数の選択肢を提供する。
【0038】
ボックス280ではまた、4つの把持が、目標把持領域254について参照284で描写されている。参照284での4つの把持は全て、目標把持領域254によって指定されるような部品のステム/カラー部分を把持するグリッパー指222を有することがわかる。ここで、部品に対するグリッパーの向きは、把持の各々で、異なっている。このような異なる把持は、実際のロボットのビンピッキング操作中に部品における良質な把持を選択するための多数の追加の選択肢を提供する。各目標把持領域について4つの把持のみが、一例としてボックス280に示されているが、多数の把持(10、20、又は、50など)が、ユーザによって容易に指定され、ボックス270で自動的に生成され、ボックス280で把持データベース内に置かれ得ることが理解されるであろう。
【0039】
図3は、本開示の一実施形態に係わる、図2のボックス270での把持生成プロセスで採用される面適合アルゴリズムで使用される基本原理を示す図である。初期の構成のグリッパー部分320及び322並びに把持される対象物330が、ボックス310に示されている。グリッパー部分320/322は、図2のグリッパーモデル220の指222の先端に対応し、そしてこれは、図1のグリッパー120を表す。つまり、グリッパー部分320/322は、開放(分離)及び閉鎖し得、グリッパー全体は、並進及び回転して、最適化計算中に最良品質のグリップを実現し得る。グリッパー部分320/322は、ボックス310に示される初期の構成で、距離dで分離されている。対象物330は、図2の部品モデル210上の目標把持領域のうちの1つに対応する。
【0040】
固定座標系340が定義される。座標系340は、例えば、ビン110の角に対して定義された原点及び向きを有するビン座標系などの任意の好適な方法で定義され得る。座標系340は、図1のロボット100のワークスペース内の任意の位置及び向きで固定されるように定義され得る。
【0041】
一式のポイントpは、任意の好適なサンプリング密度を使用して、グリッパー部分320/322の面上で定義される。ポイントpは、把持のために対象物330と接触し得るグリッパー部分320/322(すなわち、グリッパーモデル220の指222の先端)の任意の部分で定義され、これは、(グリッパーモデル220の指222の面上の三角形のパッチなどの)グリッパー接触面のユーザ選択によって図2のステップ230で定義される。グリッパー部分322上のサンプリングポイントpの1つは、参照番号324によって示され、また、他の例のサンプリングポイントpは、番号なしで示されている。サンプリングポイントは、(目標把持領域を含む)対象物330の面上でも定義される。明確化のため、図3は、2D断面として示される。しかしながら、サンプリングポイントpの座標のように、グリッパー部分320/322及び対象物330の面は全て3次元である。
【0042】
グリッパー部分320/322上のポイントpの各々(324)について、対象物330の面上の最近傍ポイント334が決定される。最近傍ポイント334は、当該技術分野で既知の方法で、ポイント324から対象物330の面上のサンプリングポイントまでの最短3D距離を計算することによって決定される。グリッパー部分320/322上のポイントp及び対応する最近傍ポイントから、把持品質を向上させ干渉を低減するようにグリッパーの並進、回転、及び開放を更新するために最適化計算が実行される。
【0043】
(矢印360によって示される)初期の構成、(矢印370によって示される)中間の構成、及び、(矢印380によって示される)最終的な構成のグリッパー部分320/322及び対象物330が、ボックス350に示されている。構成360/370/380のグリッパー部分320/322の移動は、良質な把持を見つける際の反復最適化ループの挙動を描写する。初期の構成は、対象物330とグリッパー部分320/322との間に接触がないような場合であるか、又は、初期の構成は、部品-グリッパーの接触若しくは干渉を含む場合があり、開示される把持最適化方法は、いずれの状態も対処することができる。図3に示される初期の構成360では、グリッパー部分320/322と対象物330との間に把持の接触及び干渉がない。したがって、次の中間の構成370についてのグリッパー部分320/322の位置は、グリッパー部分320/322上のポイントpを、対象物330上における、ポイントpの対応する最近傍ポイントに向けて単に移動させることによって計算され得る。初期の構成360から中間の構成370へのグリッパー部分320/322の移動は、回転変換R、並進変換t、及び、グリッパー幅変換qを含む変換Tについて定義される。
【0044】
初期の構成360から中間の構成370へ、グリッパー部分320/322は、(tを介して)下方に若干右に並進し、非常にわずかな回転(R)が適用されつつ、グリッパー幅は、(qを介して)dからdへ低減される。中間の構成370で、グリッパー部分320/322上のポイントpは、その新しい位置にあり、それに応じて、対応する最近傍ポイントが計算され得る。中間の構成370で、グリッパー部分320/322と対象物330との間に顕著な干渉が存在する。したがって、最適化計算は、次の中間の構成(図示せず)に、干渉を解消し把持品質を向上させようとする(特に、変換qを介してグリッパー幅を増加させる)変換Tを適用させる。そして、図4を参照して詳細に述べられる最適化計算は、最終的な構成380として示される局所的に最適化された把持に収束する。最終的な構成380では、干渉がなく、グリッパー面の複数の部分が、対象物330と接触又は近接している。
【0045】
図4は、本開示の一実施形態に係わる、図2に示される領域ベースの把持生成プロセスのボックス270で実行される把持最適化計算を示す図である。図4の把持最適化計算は、面適合、衝突回避、及び、部品上の目標把持領域の使用を含む。ボックス410で、対象物に対するグリッパー部分の構成が定義され、グリッパーサーフェスポイントpが定義され、対象物上の対応する最近傍ポイントが定義される。ボックス410で描写されるシーンは、図3の初期の構成ボックス310に対応し、対象物に対するグリッパーの初期の姿勢は、並進距離、回転角度、及び、グリッパー開放幅のある範囲内でランダムに定義される。換言すれば、グリッパー指の初期の位置及び向きは、現在の目標把持領域上のポイントの周囲のある既定のサンプリング空間内で定義される。ランダムな初期のグリッパー姿勢により、最適化計算によって様々な把持を確実に提供することができる。
【0046】
最適化計算の説明の全体を通して、ポイントpによって定義されるようなグリッパー(指)面は、Sと称される一方、対象物面(把持が現在計算されている対象物上の全てのサンプリングポイント、具体的には最近傍ポイント)は、Sと称される。対象物上の目標把持領域は、Sと称される。
【0047】
ボックス420は、グリッパー指面Sのうちの1つと対象物面Sとの間の衝突がどのように識別されるかを示す全体図を含む。一実施形態では、グリッパー指222の内面(対象物を把持するために最もよく使用されるグリッパーの部分)、また、グリッパーモデル220においてユーザによって識別される場合はグリッパー指の外面及び側面を含むグリッパー指面Sにポイントpの通常のメッシュが適用される。グリッパー指の全ての面におけるメッシュポイントの提供は、衝突回避制約のロバスト性を向上させる。視覚的な明確化のため、ボックス420での図は、指222の内面にのみ接触ポイントを含み、図4もまた、グリッパー及び対象物の衝突及び接触の2D図を含む。グリッパー及び部品モデル、ポイント座標並びに変換は全て、本質的に3次元であることが理解されるであろう。
【0048】
グリッパー部分422及び対象物424がボックス420に示されている。もちろん、対象物424は、図示されるように任意の全体形状を有し得る。干渉確認のために、対象物424は、現在計算されている目標把持領域だけではなく、部品全体を表す。部品/対象物及びグリッパーが前述した3Dモデル210及び220によって定義されたため、グリッパー指面S及び対象物面S上のポイントの各々は、それぞれベクトル426及び428によって示されるように、局所的な面法線を有する。局所的な面法線ベクトルは、衝突回避計算の第1の実施形態で使用され、当該ベクトルは、グリッパーの対象物への侵入の量を計算し、その逆の量も同様に計算するために使用され、この侵入又は干渉には、制約関数でペナルティが課される。摩擦がない場合でも法線力が存在し、一方、接線力が摩擦係数の関数であるため、局所的な面法線ベクトルは、把持品質計算でも使用される。
【0049】
衝突回避又は干渉確認計算の別の好ましい実施形態では、符号付き距離場方式が使用される。符号付き距離場方式では、グリッパー部分422の全体が、セル又はボクセルの3Dグリッドとしてモデル化される(図2では、これは、グリッパー指220を含む)。符号付き距離場グリッドはまた、グリッパーを囲む、ある体積の空間まで延びる。例えば、図2のグリッパー指220の各々は、符号付き距離場セルのレンガ形状の六面体内に含まれ得る。グリッパーの面上にある符号付き距離場セルは、ゼロの距離値dを有する。グリッパーの内側にある符号付き距離場セルは、面から離れたセルの数を表す負の値のdを有し、一方、グリッパーの外側にあるセルは、グリッパー面から離れたセルの数を表す正の値のdを有する。このような符号付き距離場のモデル化規則は、当該技術分野で知られている。
【0050】
対象物424は、図3を参照して上述したサンプリングポイントによってモデル化される。各反復(対象物に対するグリッパーの姿勢)で符号付き距離場方式を使用して、対象物424上の各サンプリングポイントは、占有するグリッパー符号付き距離場のセルがどれか(もしあれば)を決定するために確認される。この計算は、対象物424上のサンプリングポイントの全てについて非常に迅速に実行され、対象物424上のどのポイントがグリッパー422と干渉するか、及び、グリッパー-対象物の侵入の量の決定につながり得る。干渉又は侵入の量は、対象物424上の1つ以上のサンプリングポイントを含むグリッパーの内側のセルについての負の値のdに基づいて決定される。このようにして、符号付き距離場方式は、図4の全体的な最適化モデルで使用され得る干渉確認結果を提供する。
【0051】
ボックス420での図は、グリッパー422の符号付き距離場グリッドモデルを示していない。しかしながら、サーフェスポイントの(第1の)実施形態が使用されても、符号付き距離場の(第2の)実施形態が使用されても、ボックス420での図は概して、本開示の把持生成方法の衝突回避又は干渉確認部分を表すものとみなされるべきである。
【0052】
ボックス430では、把持検索問題が最適化としてモデル化され、1回の反復計算が行われる。安定した把持を計算するために、面接触の面積が最適化で最大化される。上述したように、侵入を回避するために、グリッパー-対象物の衝突にも最適化でペナルティが課される。対象物全体が、グリッパーとの衝突回避のために考慮される一方、把持接触は、部品全体ではなく現在の目標把持領域に属する対象物上のポイントのみについて定義される。ボックス430に示される最適化の定式化は、式(1a)~(1e)として以下で複製されており、以下の段落で述べられる。
【0053】
【数1】
【0054】
【数2】
【0055】
【数3】
【0056】
【数4】
【0057】
【数5】
【0058】
最適化の定式化は、把持品質Qを最大化するように定義されたボックス432内の目的関数(式1a)を含み、把持品質Qは、接触面S及びSの関数である。把持品質Qは、任意の好適な方法で定義され得る。代表的な実施形態では、把持品質Qは、グリッパー指面S上のポイントpと、対象物面S上の一致する最近傍ポイントNNとの間の負の総距離である。つまり、以下である。
【0059】
【数6】
【0060】
ここで、距離の総和が小さいと、把持品質Qがより高くなり、これは、グリッパーと対象物との間のより優れた面適合を意味する。換言すれば、高品質の把持は、小さい負の値のQを有し、低品質の把持は、大きい負の値のQを有する。実用的な観点で、高品質の把持が安定しており、グリッパー内の対象物の任意の小さな移動は、摩擦力又は法線力又はその両方によって迅速に停止され、グリップを失うことにつながらない。
【0061】
式(1a)~(1e)の最適化の定式化は、ボックス434内の制約関数を含む。制約関数(式1b)は、変換(R,t,q)についてグリッパー指面Sを定義する。制約関数(式1c)は、グリッパー指面Sに対する目標把持領域(S)内の最近傍ポイントNNについて対象物面Sを定義する。ボックス434内の制約関数(式1b及び1c)は、ボックス432内の目的関数と共に、集合的に、対象物面Sへのグリッパー(指)面Sの優れた面適合につながり、グリッパー上のポイントpを、対象物上の目標把持領域内のポイントpの最近傍に向けて移動させることを含む。これはボックス450に示されており、これは、図3のボックス350に対応する。つまり、ボックス434内の制約関数から決定される変換は、グリッパー指を、目標把持領域内の向上した面適合状態に向けて移動させる。
【0062】
ボックス436内の制約関数(式1d)は、変換されたグリッパー指面(T(∂F;R,t,q))が対象物Oに進入してはならない、つまり、距離は、ゼロ以上であるべきであることを定める。上述したように、グリッパー-対象物の衝突又は侵入は、符号付き距離場方式又はポイント/サーフェスモデルを用いて計算され得る。ボックス436内のこの制約は、ボックス460に示されるような次の反復における衝突回避の向上につながる。そして、式(1e)は、変換T(R,t,q)が変換の実行可能集合Χの要素である(一実施形態では、Rは、任意の回転値を有し得、tは、対象物のバウンディングボックスサイズ内である必要があり、qは、グリッパーモデル220で定義された把持範囲によって制限される)ことを示す。
【0063】
図4のボックス434及び436内の)上述した式(1b)~(1d)の制約関数は、制約違反が把持品質計算でコスト関数として扱われるペナルティ法によって考慮される。つまり、制約違反が大きくなり、コスト関数が大きくなるほど、把持品質は低くなる。把持品質に対するコストに制約を加えることによって、ボックス430に示される最適化の定式化は、最小二乗によって解かれ得る。
【0064】
ワンステップ最小二乗線形代数計算は、ボックス430内の最適化式で実行されて、制約関数を満たしつつ、向上した把持品質の方向に目標把持領域上でグリッパー指を移動させる変換T(R,t,q)を識別する。矢印470は、変換Tの計算の後、把持最適化方法は、(対象物に対する変換されたグリッパー部分の位置が決定され、グリッパーサーフェスポイントpに対応する対象物上の最近傍ポイントが定義される)ボックス410及びボックス420(衝突の識別)に戻ることを示す。このプロセスは、把持位置が局所的な最大把持品質に収束するまで繰り返される。
【0065】
良質な把持に収束した後、プロセスは、同じ目標把持領域について新しい初期の構成で再度開始され、これは、現在の目標把持領域についてユーザが定義した把持数(例えば、20個)に達するまで繰り返される。前述したように、各々のランダムな初期の構成は、グリッパー-対象物の干渉を含んでも含まなくてもよい。図3のボックス310及び図4のボックス410に示される、対象物に対するグリッパー部分の初期の構成は、各々の新しい把持計算サイクルでランダムに変化し、その結果、多様な集合の目標把持領域上の把持位置及び把持のアプローチの向きが取得される。つまり、目標把持領域252及び254が定義されたパイプバルブ部品について、目標把持領域252で指定されるハンドルの領域上の多数の把持が(様々な異なるアプローチ方向から)計算され、多数の把持が、目標把持領域254で指定されるようなステム/カラー部分で計算される。この多様な把持により、個々の部品がどんな姿勢であるかに関係なく、良質な把持をビン110内の部品で確実に識別することができる。このようにして計算される良質な把持の全ては、図2のボックス280に示されるような把持データベース内に置かれる。
【0066】
図4に示される上述の最適化計算は、把持最適化技術の一例である。グリッパー指が接触することができる部品の幾何領域として目標把持領域が定義され得る限り、他の把持最適化又は計算の定式化を適宜採用してもよい。
【0067】
図5A及び図5Bは、本開示の実施形態に係わる、目標把持領域を含むユーザ入力が図5Aで提供され、目標把持領域についての把持最適化計算が図5Bで実行される、領域ベースの把持生成のための方法の組み合わされたフロー図(500A、500B)である。
【0068】
人間の専門家(図1のユーザ180)は、開始の楕円502でプロセスを開始し、ボックス504での対象物及びグリッパーの3Dモデルのロードに進む。これらは、前述の図2の部品モデル210及びグリッパーモデル220である。ボックス504で提供される部品モデル210及びグリッパーモデル220は通常、部品及びグリッパーのライブラリから選択される。ボックス506で、ユーザは、グラフィカルユーザインターフェース190を使用して、部品上に目標把持領域を指定する。ユーザは、ラッソタイプ又は矩形選択領域による選択、CADモデルからの1つ以上の形状対象物(シリンダ、シャフト、ねじ付きカラーなど)の選択、CADモデルからの特定のサーフェスパッチの選択、及び、他の技術を含む、よく知られたソリッドモデル操作技術を適宜使用して目標把持領域を指定してもよい。ボックス506で、ユーザが満足するように目標把持領域が部品上で指定されると、目標把持領域は、後に把持最適化計算で使用されるように領域データベース508に追加される。
【0069】
決定ダイヤモンド510で、より多くの目標把持領域を定義するかどうかがユーザに尋ねられる。定義する場合、プロセスは、ボックス506にループバックして、ユーザが別の目標把持領域を指定するのを可能にする。目標把持領域がそれ以上必要でない場合、プロセスは、ユーザがグリッパーモデル220上にグリッパー面を指定するボックス512に移動する。グリッパー面は、CADモデルからの特定のサーフェスパッチ(例えば、内側の指面上の三角形又は矩形のパッチ)の選択及び他の技術によって適宜定義され得る。グリッパー面はまた、グリッパーモデル220で事前に定義されてもよく、その結果、ユーザは、当該グリッパー面を確認だけする必要がある。
【0070】
ボックス514で、ユーザは、各目標把持領域について生成される把持の数を含む、最適化計算に必要な他のパラメータを指定する。最適化収束パラメータ及び他のパラメータがボックス514で提供され得、ここで、このようなパラメータのデフォルト値が適宜選択され得る。図5Aの方法ステップは、図2の上の行に沿ったステップ200~250に対応する。図5Aの最下部の符号Aは、プロセスの人間の入力部分が終了する場合を示し、プロセスは、図5Bにおける符号Aで開始する自動的な把持生成に続く。
【0071】
図5Bは、本開示の領域ベースの把持生成技術の一部としての自動的な把持生成のための方法のフロー図500Bである。フロー図500Bは、フロー図500Aが符号Aで終了した場合に開始する。図5Aからの領域データベース508は、図5Bの左上に提供される。ボックス520で、目標把持領域が、領域データベース508から抽出される。例えば、まず、目標把持領域252(バルブハンドルの領域)が、把持生成のために選択され得る。
【0072】
ボックス522で、把持幅と共に、目標把持領域の周囲の空間体積内で姿勢をランダムにサンプリングすることなどによって、初期の把持が定義される。最適化プロセスで使用される初期の把持の選択については、図4を参照して上述した。ボックス524で、グリッパー面上のポイントに対応する(目標把持領域内の)対象物面上の最近傍ポイントを識別するために、ペアマッチングが実行される。この最近傍ポイントのマッチングについても上述した。
【0073】
ボックス526で、ボックス430の最小二乗最適化計算の反復が実行され、その結果、ポイントペアの距離が低減され且つ前の姿勢の干渉が低減された更新姿勢を定義する変換Tとなる。決定ダイヤモンド528で、最適化計算が収束したかどうか、つまり、更新姿勢の把持品質が、既定の把持品質基準を満たすかどうかが決定される。把持品質基準を満たさない場合、プロセスは、ボックス524にループバックして、更新姿勢のためのポイントのペアマッチングを実行し、その後、ボックス430内の式を使用して最小二乗最適化を再計算する。ループは、収束基準を満たすまで続く。好ましい一実施形態では、収束基準は、ある姿勢の反復から次までに把持品質が向上し続けているかどうかを決定することであり、向上し続けている場合、別の反復が実行され、把持品質が、ある姿勢の反復から次までに落ちる場合、プロセスが停止し、前の把持の反復が最終的なものとして使用される。
【0074】
ボックス530で、収束時に、把持(最後の反復からの更新姿勢及び把持幅)が把持データベース532に追加される。データベース532に追加される把持は、その計算のベースとされる目標把持領域-目標把持領域252などと関連付けられる。各目標把持領域に対する複数の把持の当該関連付けについては、図2のボックス280で示した。
【0075】
決定ダイヤモンド534で、現在の目標把持領域について生成された把持の数(Ngrasp)が、ユーザによって入力として定義された把持の必要数(Nrequired)と等しいかどうかが決定される。例えば、収束が実現され、第1の把持がデータベース532に追加された後は、Ngrasp=1である。Nrequired=20などのように、より多くの把持が現在の目標把持領域に必要な場合、プロセスは、ボックス522にループバックし、新しい初期の把持が、同じ現在の目標把持領域についてランダムにサンプリングされる。新しい初期の把持を使用して、最適化計算は、データベース532に追加される新しい把持について収束し、以降同様である。
【0076】
把持の必要数が現在の目標把持領域について生成されたとき(Ngrasp=Nrequired)、プロセスは、決定ダイヤモンド536に移動し、まだ抽出されていない領域データベース508内の領域が他に存在するかどうかが決定される。存在する場合、プロセスは、ボックス520にループバックして、上述した方法で、把持生成のために次の目標把持領域を抽出する。目標把持領域が領域データベース508内にそれ以上存在しない場合、プロセスは、終点538で終了する。
【0077】
図5A図5Bの把持データベース生成は、実際のロボットのビンピッキング操作に先立って「オフライン」モードで実行される。領域ベースの把持データベース生成は、ロボット、ビジョンシステム、又は、部品のビンを必要とせず、通常、図1のコンピュータ160などの、ロボットコントローラー以外のコンピュータによって行われる。
【0078】
フロー図500Bの最適化計算の完了時に、把持データベース532は、図1に示し前述したように、ロボットコントローラーに提供され、実際のロボットのビンピッキング操作で使用される。例えば、カメラ170からの画像に基づいて、ビン110内の特定の部品が、把持データベース532内のバルブハンドル領域(目標把持領域252)上の把持のうちの1つを使用するロボットのピッキングについて優れた候補であることが決定され得る。これが決定されると、ロボットは次いで、選択された把持によって定義された姿勢にグリッパー120を移動させ、次いでグリッパーを閉鎖し、これにより、部品ピックアップが達成される。
【0079】
図2図4に示される領域ベースの把持生成技術は、ユーザによって定義された目標把持領域のみを使用しつつ、部品上の多様な把持アプローチ方向及び把持位置を含む高品質の把持データベースを生成することが、様々な現実世界の部品に対して実証された。計算された把持データベースが、図1に示されるタイプのロボットの把持システムで迅速且つ効果的な把持識別を可能にすることも実証された。
【0080】
上述した把持生成技術は、既存の方法よりも優れたいくつかの利点を提供する。本開示方法は、面接触を伴う高品質で完全な自由度の把持を提供し、したがって、生成された把持は、不確実性及び外乱に対して堅牢である。把持生成方法は、容易に実行でき、ロボット及びビジョンシステムを必要とすることなくオフライン環境で自動的に実行される。加えて、本開示方法は、異なる把持位置及びアプローチ方向を含む多様な把持データを生成し、したがって、実際のビンピッキング操作中に好適な把持を選択するための多数の選択肢を提供する。そして、開示される把持生成方法は、マシニングステーション又は別の目的地の位置における次の部品配置に適したものとして人間ユーザによって識別される目標把持領域に、部品上の把持位置を制限する。
【0081】
前述の説明の全体を通して、様々なコンピュータ及びコントローラーが記載及び示唆される。このようなコンピュータ及びコントローラーのソフトウェアアプリケーション及びモジュールは、プロセッサ及びメモリモジュールを有する1つ以上のコンピューティングデバイス上で実行されることが理解されるであろう。特に、これは、対象物の把持を実行するロボット100を制御するロボットコントローラー150及び領域ベースの把持生成計算を実行するコンピュータ160内のプロセッサを含む。前述したように、コントローラー150又はコンピュータ160のいずれかは、リアルタイムの操作での把持のために対象物を識別するように構成され得る。
【0082】
ここまで、領域ベースの把持生成技術のいくつかの好ましい態様及び実施形態を述べてきたが、当業者によって、それらの修正、並び替え、追加、及び、副次的組み合わせが認識されるであろう。したがって、以下の添付の特許請求の範囲及び以下に導入される特許請求の範囲は、これらの真の精神及び範囲内にあるよう、そのような修正、並び替え、追加、及び、副次的組み合わせを全て含むと解釈されることが意図される。
図1
図2
図3
図4
図5A
図5B
【外国語明細書】