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

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

▶ タタ コンサルタンシー サービシズ リミテッドの特許一覧

特開2024-28219ポイント・クラウド・ベース把持計画フレームワークのための方法及びシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024028219
(43)【公開日】2024-03-01
(54)【発明の名称】ポイント・クラウド・ベース把持計画フレームワークのための方法及びシステム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20240222BHJP
   G06T 7/70 20170101ALI20240222BHJP
【FI】
B25J13/08 A
G06T7/70 Z
【審査請求】有
【請求項の数】12
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023133128
(22)【出願日】2023-08-17
(31)【優先権主張番号】202221046849
(32)【優先日】2022-08-17
(33)【優先権主張国・地域又は機関】IN
(71)【出願人】
【識別番号】510337621
【氏名又は名称】タタ コンサルタンシー サービシズ リミテッド
【氏名又は名称原語表記】TATA Consultancy Services Limited
【住所又は居所原語表記】Nirmal Building,9th Floor,Nariman Point,Mumbai 400021,Maharashtra,India.
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ヴィプル アショク サナップ
(72)【発明者】
【氏名】アニルッダ シンガル
(72)【発明者】
【氏名】ラクスミーダル ベヘラ
(72)【発明者】
【氏名】ラジェッシュ シンハ
【テーマコード(参考)】
3C707
5L096
【Fターム(参考)】
3C707AS04
3C707BS12
3C707KS36
3C707KT01
3C707KT05
3C707LV14
3C707LW08
5L096AA09
5L096BA05
5L096CA02
5L096DA02
5L096FA16
5L096FA62
5L096FA66
5L096FA67
5L096FA69
5L096GA51
5L096HA11
5L096KA04
5L096MA07
(57)【要約】
【課題】ポイント・クラウド・ベース把持計画フレームワークのための方法及びシステムを提供すること。
【解決手段】クラッタ中の目に見えない対象の多種多様な範囲の全自動で、且つ、信頼性が高いピッキングは、挑戦的な課題である。本開示は、ビンから対象をピックするための最適把持姿勢選択を提供する。最初に、システムは、表面に関する入力画像を受け取る。更に、複数のサンプル把持姿勢が無作為構成で生成される。更に、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々について深度差値が計算される。更に、複数のサンプル把持姿勢の各々について二進マップが生成され、複数の副領域が取得される。更に、複数の副領域及び複数の条件に基づいて、複数の実現可能把持姿勢が選択される。更に、複数の実現可能把持姿勢が精緻化され、最適把持姿勢が、把持品質スコアGQSに基づいて取得される。
【選択図】図2A
【特許請求の範囲】
【請求項1】
プロセッサ実装方法(300)であって、
1つ又は複数のハードウェア・プロセッサによって、ロボット・ビン・ピッキング環境における表面に関する入力画像を受け取るステップ(302)であって、前記表面が、複数の目に見えない異質の対象を含む、ステップ(302)と、
前記1つ又は複数のハードウェア・プロセッサによって、前記入力画像に基づいて、ベースライン把持計画技法を使用して、複数のサンプル把持姿勢を無作為構成で生成するステップ(304)であって、前記複数のサンプル把持姿勢の各々が、長方形として表される、ステップ(304)と、
前記1つ又は複数のハードウェア・プロセッサによって、前記複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々と、対応する中央ピクセルとの間の比較に基づいて、前記複数のサンプル把持姿勢の各々に対応する前記複数のピクセルの各々について深度差値を計算するステップ(306)と、
前記1つ又は複数のハードウェア・プロセッサによって、定義済み深度閾値より大きい深度差値を有する複数のピクセルに二進値の1を割り当て、そうではないピクセルに0を割り当てることにより、対応する前記深度差値に基づいて、前記複数のサンプル把持姿勢の各々について二進マップを生成するステップ(308)と、
前記1つ又は複数のハードウェア・プロセッサによって、対応する前記二進マップに基づいて、前記複数のサンプル把持姿勢の各々に対応する複数の副領域を取得するステップ(310)であって、前記複数の副領域が、
対応する前記二進マップに基づいて、前記複数のサンプル把持姿勢の各々の左側自由領域の左側開始点及び左側終了点を識別するステップであって、前記左側自由領域が、前記二進値の1を有する領域である、ステップと、
対応する前記二進マップに基づいて、前記複数のサンプル把持姿勢の各々の右側自由領域の右側開始点及び右側終了点を識別するステップと、
前記左側開始点、前記左側終了点、前記右側開始点及び前記右側終了点に基づいて、副領域計算技法を使用して、前記複数の副領域を計算するステップと
によって、接触領域、自由領域及び衝突領域を含む、ステップ(310)と、
前記1つ又は複数のハードウェア・プロセッサによって、前記複数の副領域及び複数の条件に基づいて、前記複数のサンプル把持姿勢から複数の実現可能把持姿勢を選択するステップ(312)と、
前記1つ又は複数のハードウェア・プロセッサによって、(i)対応する前記接触領域が2等分に分割されるよう、対応する把持姿勢の幅に沿って、前記複数の実現可能把持姿勢の各々に対応する中心をシフトさせるステップと、(ii)対応する前記衝突領域が除外されるよう、前記複数の実現可能把持姿勢の各々に対応する幅を調整するステップとによって、前記複数の実現可能把持姿勢の各々を精緻化するステップ(314)と、
前記1つ又は複数のハードウェア・プロセッサによって、精緻化された複数の実現可能把持姿勢に基づいて、把持品質スコア(GQS)を使用して、ロボット・アームのための最適把持姿勢を取得するステップ(316)と
を含む、プロセッサ実装方法(300)。
【請求項2】
前記複数のサンプル把持姿勢から前記複数の実現可能把持姿勢を選択するための前記複数の条件が、(i)前記複数のサンプル把持姿勢の各々に対応する前記接触領域と関連付けられた幅が最大グリッパー開度未満であるかどうか、及び(ii)前記複数のサンプル把持姿勢の各々に対応する前記左側自由領域及び前記右側自由領域と関連付けられた幅がグリッパー・フィンガー幅より広いかどうかを含む、請求項1に記載のプロセッサ実装方法。
【請求項3】
精緻化された複数の実現可能把持姿勢に基づいて、前記GQSを使用して、前記最適把持姿勢を取得するステップが、
(i)対応する前記自由領域に基づいて、ピクセル横断技法を使用して、前記精緻化された複数の実現可能把持姿勢の各々の両側の複数の自由領域幅を計算し、且つ、(ii)前記精緻化された複数の把持姿勢に対応する前記複数の自由領域幅から最小自由領域幅を選択することによって自由領域長さ(FRL)を取得することにより、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記FRLを取得するステップと、
正規化技法を使用して、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記FRLを正規化することによって、FRLスコアを計算するステップと、
前記精緻化された複数の実現可能把持姿勢の各々に対応する接触領域サイズ(CRS)を計算するステップであって、前記接触領域サイズが、中心点の周りの一定の長方形領域内の接触領域を構成しているピクセルの数である、ステップと、
前記正規化技法を使用して、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記CRSを正規化することによって、CRSスコアを計算するステップと、
対応する前記FRLスコア及び前記CRSスコアを加えることにより、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記GQSを計算するステップと、
対応する前記GQSに基づいて、前記精緻化された複数の実現可能把持姿勢から、前記最適把持姿勢を選択するステップであって、前記複数の実現可能把持姿勢の中から、最大GQSを有する精緻化された把持姿勢が、前記最適把持姿勢として選択される、ステップと
を含む、請求項1に記載のプロセッサ実装方法。
【請求項4】
少なくとも1つの実現可能把持姿勢が取得されない場合、分散アクションを実施するステップを更に含み、前記分散アクションは、少なくとも1つの実現可能把持姿勢が取得されるまで、線形プッシュ・ポリシーを使用して反復して実施される、請求項1に記載のプロセッサ実装方法。
【請求項5】
システム(100)であって、
プログラムされた命令を記憶する少なくとも1つのメモリ(104)と、1つ又は複数の入力/出力(I/O)インタフェース(112)と、前記少なくとも1つのメモリ(104)に動作可能に結合された1つ又は複数のハードウェア・プロセッサ(102)と
を備え、前記1つ又は複数のハードウェア・プロセッサ(102)が、前記プログラムされた命令によって、
ロボット・ビン・ピッキング環境における表面に関する入力画像を受け取ることであって、前記表面が、複数の目に見えない異質の対象を含む、入力画像を受け取ることと、
前記入力画像に基づいて、ベースライン把持計画技法を使用して、複数のサンプル把持姿勢を無作為構成で生成することであって、前記複数のサンプル把持姿勢の各々が、長方形として表される、複数のサンプル把持姿勢を無作為構成で生成することと、
前記複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々と、対応する中央ピクセルとの間の比較に基づいて、前記複数のサンプル把持姿勢の各々に対応する前記複数のピクセルの各々について深度差値を計算することと、
定義済み深度閾値より大きい深度差値を有する複数のピクセルに二進値の1を割り当て、そうではないピクセルに0を割り当てることにより、対応する前記深度差値に基づいて、前記複数のサンプル把持姿勢の各々について二進マップを生成することと、
対応する前記二進マップに基づいて、前記複数のサンプル把持姿勢の各々に対応する複数の副領域を取得することであって、前記複数の副領域が、
対応する前記二進マップに基づいて、前記複数のサンプル把持姿勢の各々の左側自由領域の左側開始点及び左側終了点を識別することであって、前記左側自由領域が、前記二進値の1を有する領域である、識別することと、
対応する前記二進マップに基づいて、前記複数のサンプル把持姿勢の各々の右側自由領域の右側開始点及び右側終了点を識別することと、
前記左側開始点、前記左側終了点、前記右側開始点及び前記右側終了点に基づいて、副領域計算技法を使用して、前記複数の副領域を計算することと
によって、接触領域、自由領域及び衝突領域を含む、複数の副領域を取得することと、
前記複数の副領域及び複数の条件に基づいて、前記複数のサンプル把持姿勢から複数の実現可能把持姿勢を選択することと、
(i)対応する前記接触領域が2等分に分割されるよう、対応する把持姿勢の幅に沿って、前記複数の実現可能把持姿勢の各々に対応する中心をシフトさせることと、(ii)対応する前記衝突領域が除外されるよう、前記複数の実現可能把持姿勢の各々に対応する幅を調整することとによって、前記複数の実現可能把持姿勢の各々を精緻化することと、
精緻化された複数の実現可能把持姿勢に基づいて、把持品質スコア(GQS)を使用して、ロボット・アームのための最適把持姿勢を取得することと
を行うように構成される、システム(100)。
【請求項6】
前記複数のサンプル把持姿勢から前記複数の実現可能把持姿勢を選択するための前記複数の条件が、(i)前記複数のサンプル把持姿勢の各々に対応する前記接触領域と関連付けられた幅が最大グリッパー開度未満であるかどうか、及び(ii)前記複数のサンプル把持姿勢の各々に対応する前記左側自由領域及び前記右側自由領域と関連付けられた幅がグリッパー・フィンガー幅より広いかどうかを含む、請求項5に記載のシステム。
【請求項7】
精緻化された複数の実現可能把持姿勢に基づいて、前記GQSを使用して、前記最適把持姿勢を取得することが、
(i)対応する前記自由領域に基づいて、ピクセル横断技法を使用して、前記精緻化された複数の実現可能把持姿勢の各々の両側の複数の自由領域幅を計算し、且つ、(ii)前記精緻化された複数の把持姿勢に対応する前記複数の自由領域幅から最小自由領域幅を選択することによって自由領域長さ(FRL)を取得することにより、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記FRLを取得することと、
正規化技法を使用して、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記FRLを正規化することによって、FRLスコアを計算することと、
前記精緻化された複数の実現可能把持姿勢の各々に対応する接触領域サイズ(CRS)を計算することであって、前記接触領域サイズが、中心点の周りの一定の長方形領域内の接触領域を構成しているピクセルの数である、接触領域サイズ(CRS)を計算することと、
前記正規化技法を使用して、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記CRSを正規化することによって、CRSスコアを計算することと、
対応する前記FRLスコア及び前記CRSスコアを加えることにより、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記GQSを計算することと、
対応する前記GQSに基づいて、前記精緻化された複数の実現可能把持姿勢から、前記最適把持姿勢を選択することであって、前記複数の実現可能把持姿勢の中から、最大GQSを有する精緻化された把持姿勢が、前記最適把持姿勢として選択される、前記最適把持姿勢を選択することと
を含む、請求項5に記載のシステム。
【請求項8】
少なくとも1つの実現可能把持姿勢が取得されない場合、分散アクションを実施することを更に含み、前記分散アクションは、少なくとも1つの実現可能把持姿勢が取得されるまで、線形プッシュ・ポリシーを使用して反復して実施される、請求項5に記載のシステム。
【請求項9】
1つ又は複数の命令を含む、1つ又は複数の非一時的機械可読情報記憶媒体であって、前記1つ又は複数の命令が、1つ又は複数のハードウェア・プロセッサによって実行されると、
ロボット・ビン・ピッキング環境における表面に関する入力画像を受け取ることであって、前記表面が、複数の目に見えない異質の対象を含む、入力画像を受け取ることと、
前記入力画像に基づいて、ベースライン把持計画技法を使用して、複数のサンプル把持姿勢を無作為構成で生成することであって、前記複数のサンプル把持姿勢の各々が、長方形として表される、複数のサンプル把持姿勢を無作為構成で生成することと、
前記複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々と、対応する中央ピクセルとの間の比較に基づいて、前記複数のサンプル把持姿勢の各々に対応する前記複数のピクセルの各々について深度差値を計算することと、
定義済み深度閾値より大きい深度差値を有する複数のピクセルに二進値の1を割り当て、そうではないピクセルに0を割り当てることにより、対応する前記深度差値に基づいて、前記複数のサンプル把持姿勢の各々について二進マップを生成することと、
対応する前記二進マップに基づいて、前記複数のサンプル把持姿勢の各々に対応する複数の副領域を取得することであって、前記複数の副領域が、
対応する前記二進マップに基づいて、前記複数のサンプル把持姿勢の各々の左側自由領域の左側開始点及び左側終了点を識別することであって、前記左側自由領域が、前記二進値の1を有する領域である、識別することと、
対応する前記二進マップに基づいて、前記複数のサンプル把持姿勢の各々の右側自由領域の右側開始点及び右側終了点を識別することと、
前記左側開始点、前記左側終了点、前記右側開始点及び前記右側終了点に基づいて、副領域計算技法を使用して、前記複数の副領域を計算することと
によって、接触領域、自由領域及び衝突領域を含む、複数の副領域を取得することと、
前記複数の副領域及び複数の条件に基づいて、前記複数のサンプル把持姿勢から複数の実現可能把持姿勢を選択することと、
(i)対応する前記接触領域が2等分に分割されるよう、対応する把持姿勢の幅に沿って、前記複数の実現可能把持姿勢の各々に対応する中心をシフトさせることと、(ii)対応する前記衝突領域が除外されるよう、前記複数の実現可能把持姿勢の各々に対応する幅を調整することとによって、前記複数の実現可能把持姿勢の各々を精緻化することと、
精緻化された複数の実現可能把持姿勢に基づいて、把持品質スコア(GQS)を使用して、ロボット・アームのための最適把持姿勢を取得することと
を実施させる、1つ又は複数の非一時的機械可読情報記憶媒体。
【請求項10】
前記複数のサンプル把持姿勢から前記複数の実現可能把持姿勢を選択するための前記複数の条件が、(i)前記複数のサンプル把持姿勢の各々に対応する前記接触領域と関連付けられた幅が最大グリッパー開度未満であるかどうか、及び(ii)前記複数のサンプル把持姿勢の各々に対応する前記左側自由領域及び前記右側自由領域と関連付けられた幅がグリッパー・フィンガー幅より広いかどうかを含む、請求項9に記載の1つ又は複数の非一時的機械可読情報記憶媒体。
【請求項11】
精緻化された複数の実現可能把持姿勢に基づいて、前記GQSを使用して、前記最適把持姿勢を取得することが、
(i)対応する前記自由領域に基づいて、ピクセル横断技法を使用して、前記精緻化された複数の実現可能把持姿勢の各々の両側の複数の自由領域幅を計算し、且つ、(ii)前記精緻化された複数の把持姿勢に対応する前記複数の自由領域幅から最小自由領域幅を選択することによって自由領域長さ(FRL)を取得することにより、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記FRLを取得することと、
正規化技法を使用して、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記FRLを正規化することによって、FRLスコアを計算することと、
前記精緻化された複数の実現可能把持姿勢の各々に対応する接触領域サイズ(CRS)を計算することであって、前記接触領域サイズが、中心点の周りの一定の長方形領域内の接触領域を構成しているピクセルの数である、接触領域サイズ(CRS)を計算することと、
前記正規化技法を使用して、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記CRSを正規化することによって、CRSスコアを計算することと、
対応する前記FRLスコア及び前記CRSスコアを加えることにより、前記精緻化された複数の実現可能把持姿勢の各々に対応する前記GQSを計算することと、
対応する前記GQSに基づいて、前記精緻化された複数の実現可能把持姿勢から前記最適把持姿勢を選択することであって、前記複数の実現可能把持姿勢の中から、最大GQSを有する精緻化された把持姿勢が、前記最適把持姿勢として選択される、前記最適把持姿勢を選択することと
を含む、請求項9に記載の1つ又は複数の非一時的機械可読情報記憶媒体。
【請求項12】
少なくとも1つの実現可能把持姿勢が取得されない場合、分散アクションを実施することを更に含み、前記分散アクションは、少なくとも1つの実現可能把持姿勢が取得されるまで、線形プッシュ・ポリシーを使用して反復して実施される、請求項9に記載の1つ又は複数の非一時的機械可読情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2022年8月17日に出願されたインド仮特許出願第202221046849号の優先権を主張するものである。
【0002】
本明細書における開示は、一般に、画像処理の分野に関し、より詳細には、ポイント・クラウド・ベース把持計画フレームワークのための方法及びシステムに関する。
【背景技術】
【0003】
ユニバーサル・ピッキング(UP:Universal Picking)は、多種多様で新規な対象を高い信頼性でピックするためのロボットの能力として定義されている。ビン・ピッキングのためには、製造ユニット、倉庫、小売店、家庭サービス、等々における自動化を容易にすることは、はるかに望ましいスキルである。UPの他の望ましい属性は、実時間実行、展開の容易性、及び最小限の技術的専門知識を必要とする再構成である。自律ロボット操作の文脈では、ターゲット対象がパイル中に無作為に一緒になっている場合、課題は高度に挑戦的になる。更に、現実世界における対象は、色、テクスチャー、形、サイズ、材料、等々の無制限の組合せを有している。センサ雑音、較正誤差及びロボット起動における固有不確実性が課題を更に高度に複雑にしている。
【0004】
ビン・ピッキング(ビンからの対象のピッキング)解決法は、実験のために使用されるクラッタのレベル、即ち、非クラッタ(隔離された対象)、半クラッタ(一緒になっているいくつかの十分に分離された対象)及び稠密クラッタ(無作為パイルとしてのヘビー・クラッタ中の対象)に基づいて、分類することができる。稠密クラッタ・カテゴリにおける目に見えない対象のためのビン・ピッキング解決法は、挑戦的タスクである。例えば、目に見えない対象を適切にセグメント化し、又はクラッタ中におけるそれらの姿勢を予測することは、現実世界の対象の間の閉塞及び無制限の変化並びに多様性のため、極めて困難である。
【0005】
稠密クラッタ環境におけるビン・ピッキングのための従来の方法は、最初に、作業空間内におけるいくつかの数の候補把持姿勢をサンプリングし、次に、何らかの把持品質指標を使用してそれらを評価して、それらの中から把持アクションのための最良の姿勢を選択している。いくつかの他の手法は、グリッパーのタスク空間運動が与えられると、把持成功確率を予測する大型畳み込みニューラル・ネットワーク(CNN:Convolutional Neural Network)を訓練することによって手-目協調を学習している。しかしながら、CNNを訓練するためには数千のデータ・サンプルを収集しなければならず、これは時間を消費するプロセスである。この制限は、敵対的訓練対象の深度走査を使用して生成される模擬データセットに対して、把持品質指標のために全面的にCNNを学習することによって軽減されている。しかしながら、そのように訓練されたCNNモデルの把持品質は、データセット生成の間に使用される、ロボット・グリッパー、深度カメラ、カメラと作業空間の間の距離などの特定のパラメータに敏感であることが分かっている。したがって上記パラメータが少しでも変化すると、同じ性能レベルを得るために訓練手順全体を繰り返さなければならないことになる。いくつかの深層学習ベース方法が、同じく習慣的に使用されている。しかしながら、一般的に、上記で考察したすべての方法は、領域依存型であり、即ち、これらの方法は、それらが訓練されたソース領域からターゲット領域が少しでも異なっている場合、そのターゲット領域に対して等しく良好に機能しないことが多い。
【発明の概要】
【課題を解決するための手段】
【0006】
本開示の実施例は、上記で言及した、本発明者らによって認識された、従来のシステムにおける技術的課題の1つ又は複数に対する解決法としての技術的改善を提供する。例えば、一実施例では、ポイント・クラウド・ベース把持計画フレームワークのための方法が提供される。方法は、1つ又は複数のハードウェア・プロセッサによって、ロボット・ビン・ピッキング環境における表面に関する入力画像を受け取るステップであって、表面は、複数の目に見えない異質の対象を含む、ステップを含む。更に、方法は、1つ又は複数のハードウェア・プロセッサによって、入力画像に基づいて、ベースライン把持計画技法を使用して、複数のサンプル把持姿勢を無作為構成で生成するステップであって、複数のサンプル把持姿勢の各々が、長方形として表される、ステップを含む。更に、方法は、1つ又は複数のハードウェア・プロセッサによって、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々と、対応する中央ピクセルとの間の比較に基づいて、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々について深度差値を計算するステップを含む。更に、方法は、1つ又は複数のハードウェア・プロセッサによって、定義済み深度閾値より大きい深度差値を有する複数のピクセルに二進値の1を割り当て、そうではないピクセルに0を割り当てることにより、対応する深度差値に基づいて、複数のサンプル把持姿勢の各々について二進マップを生成するステップを含む。更に、方法は、1つ又は複数のハードウェア・プロセッサによって、対応する二進マップに基づいて、複数のサンプル把持姿勢の各々に対応する複数の副領域を取得するステップ(310)を含み、複数の副領域は、(i)対応する二進マップに基づいて、複数のサンプル把持姿勢の各々の左側自由領域の左側開始点及び左側終了点を識別するステップであって、左側自由領域が二進値の1を有する領域である、ステップと、(ii)対応する二進マップに基づいて、複数のサンプル把持姿勢の各々の右側自由領域の右側開始点及び右側終了点を識別するステップと、(iii)左側開始点、左側終了点、右側開始点及び右側終了点に基づいて、副領域計算技法を使用して複数の副領域を計算するステップとによって、接触領域、自由領域及び衝突領域を含む。更に、方法は、1つ又は複数のハードウェア・プロセッサによって、複数の副領域及び複数の条件に基づいて、複数のサンプル把持姿勢から複数の実現可能把持姿勢を選択するステップを含む。更に、方法は、1つ又は複数のハードウェア・プロセッサによって、(i)対応する接触領域が2等分に分割されるよう、対応する把持姿勢の幅に沿って、複数の実現可能把持姿勢の各々に対応する中心をシフトさせるステップと、(ii)対応する衝突領域が除外されるよう、複数の実現可能把持姿勢の各々に対応する幅を調整するステップとによって、複数の実現可能把持姿勢の各々を精緻化するステップを含む。最後に、方法は、1つ又は複数のハードウェア・プロセッサによって、精緻化された複数の実現可能把持姿勢に基づいて、把持品質スコア(GQS:Grasp Quality Score)を使用して、ロボット・アームのための最適把持姿勢を取得するステップを含む。
【0007】
別の態様では、ポイント・クラウド・ベース把持計画フレームワークのためのシステムが提供される。システムは、プログラムされた命令を記憶する少なくとも1つのメモリと、1つ又は複数の入力/出力(I/O:Input/Output)インタフェースと、少なくとも1つのメモリに動作可能に結合された1つ又は複数のハードウェア・プロセッサとを含み、1つ又は複数のハードウェア・プロセッサは、プログラムされた命令によって、ロボット・ビン・ピッキング環境における表面を受け取るように構成され、表面は、複数の目に見えない異質の対象を含む。更に、1つ又は複数のハードウェア・プロセッサは、プログラムされた命令によって、入力画像に基づいて、ベースライン把持計画技法を使用して、複数のサンプル把持姿勢を無作為構成で生成するように構成され、複数のサンプル把持姿勢の各々は長方形として表される。更に、1つ又は複数のハードウェア・プロセッサは、プログラムされた命令によって、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々と、対応する中央ピクセルとの間の比較に基づいて、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々について深度差値を計算するように構成される。更に、1つ又は複数のハードウェア・プロセッサは、プログラムされた命令によって、定義済み深度閾値より大きい深度差値を有する複数のピクセルに二進値の1を割り当て、そうではないピクセルに0を割り当てることにより、対応する深度差値に基づいて、複数のサンプル把持姿勢の各々について二進マップを生成するように構成される。更に、1つ又は複数のハードウェア・プロセッサは、プログラムされた命令によって、対応する二進マップに基づいて、複数のサンプル把持姿勢の各々に対応する複数の副領域を取得するように構成され、複数の副領域は、(i)対応する二進マップに基づいて、複数のサンプル把持姿勢の各々の左側自由領域の左側開始点及び左側終了点を識別することであって、左側自由領域が二進値の1を有する領域である、識別することと、(ii)対応する二進マップに基づいて、複数のサンプル把持姿勢の各々の右側自由領域の右側開始点及び右側終了点を識別することと、(iii)左側開始点、左側終了点、右側開始点及び右側終了点に基づいて、副領域計算技法を使用して複数の副領域を計算することとによって、接触領域、自由領域及び衝突領域を含む。更に、1つ又は複数のハードウェア・プロセッサは、プログラムされた命令によって、複数の副領域及び複数の条件に基づいて、複数のサンプル把持姿勢から複数の実現可能把持姿勢を選択するように構成される。更に、1つ又は複数のハードウェア・プロセッサは、プログラムされた命令によって、(i)対応する接触領域が2等分に分割されるよう、対応する把持姿勢の幅に沿って、複数の実現可能把持姿勢の各々に対応する中心をシフトさせることと、(ii)対応する衝突領域が除外されるよう、複数の実現可能把持姿勢の各々に対応する幅を調整することとによって、複数の実現可能把持姿勢の各々を精緻化するように構成される。最後に、1つ又は複数のハードウェア・プロセッサは、プログラムされた命令によって、精緻化された複数の実現可能把持姿勢に基づいて、把持品質スコア(GQS)を使用して、ロボット・アームのための最適把持姿勢を取得するように構成される。
【0008】
更に別の態様では、ポイント・クラウド・ベース把持計画フレームワークのためのコンピュータ・プログラムが具現化された非一時的コンピュータ可読媒体を含むコンピュータ・プログラム製品が提供される。コンピュータ可読プログラムは、計算デバイス上で実行されると、計算デバイスにロボット・ビン・ピッキング環境における表面を受け取らせ、表面は、複数の目に見えない異質の対象を含む。更に、コンピュータ可読プログラムは、計算デバイス上で実行されると、計算デバイスに、入力画像に基づいて、ベースライン把持計画技法を使用して、複数のサンプル把持姿勢を無作為構成で生成させ、複数のサンプル把持姿勢の各々は、長方形として表される。更に、コンピュータ可読プログラムは、計算デバイス上で実行されると、計算デバイスに、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々と、対応する中央ピクセルとの間の比較に基づいて、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々について深度差値を計算させる。更に、コンピュータ可読プログラムは、計算デバイス上で実行されると、計算デバイスに、定義済み深度閾値より大きい深度差値を有する複数のピクセルに二進値の1を割り当て、そうではないピクセルに0を割り当てることにより、対応する深度差値に基づいて、複数のサンプル把持姿勢の各々について二進マップを生成させる。更に、コンピュータ可読プログラムは、計算デバイス上で実行されると、計算デバイスに、対応する二進マップに基づいて、複数のサンプル把持姿勢の各々に対応する複数の副領域を取得させ、複数の副領域は、(i)対応する二進マップに基づいて、複数のサンプル把持姿勢の各々の左側自由領域の左側開始点及び左側終了点を識別することであって、左側自由領域が二進値の1を有する領域である、識別することと、(ii)対応する二進マップに基づいて、複数のサンプル把持姿勢の各々の右側自由領域の右側開始点及び右側終了点を識別することと、(iii)左側開始点、左側終了点、右側開始点及び右側終了点に基づいて、副領域計算技法を使用して複数の副領域を計算することとによって、接触領域、自由領域及び衝突領域を含む。更に、コンピュータ可読プログラムは、計算デバイス上で実行されると、計算デバイスに、複数の副領域及び複数の条件に基づいて、複数のサンプル把持姿勢から複数の実現可能把持姿勢を選択させる。更に、コンピュータ可読プログラムは、計算デバイス上で実行されると、計算デバイスに、(i)対応する接触領域が2等分に分割されるよう、対応する把持姿勢の幅に沿って、複数の実現可能把持姿勢の各々に対応する中心をシフトさせることと、(ii)対応する衝突領域が除外されるよう、複数の実現可能把持姿勢の各々に対応する幅を調整することとによって、複数の実現可能把持姿勢の各々を精緻化させる。最後に、コンピュータ可読プログラムは、計算デバイス上で実行されると、計算デバイスに、精緻化された複数の実現可能把持姿勢に基づいて、把持品質スコア(GQS)を使用して、ロボット・アームのための最適把持姿勢を取得させる。
【0009】
以上の一般的な説明及び以下の詳細な説明は、いずれも単なる例示的及び説明的なものにすぎず、特許請求される本発明を制限するものではないことを理解されたい。
【0010】
本開示に組み込まれ、且つ、本開示の一部を構成している添付の図面は、例示的実施例を示したものであり、説明と相俟って、開示される原理を説明する働きをしている。
【図面の簡単な説明】
【0011】
図1】本開示のいくつかの実施例による、ポイント・クラウド・ベース把持計画フレームワークのためのシステムの機能ブロック図である。
図2A】本開示のいくつかの実施例による、ポイント・クラウド・ベース把持計画フレームワークのための図1のシステムの機能アーキテクチャを示す図である。
図2B】本開示のいくつかの実施例による、ポイント・クラウド・ベース把持計画フレームワークのための実例ロボット・ビン・ピッキング環境を示す図である。
図3A】本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法300を示す例示的流れ図である。
図3B】本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法300を示す例示的流れ図である。
図4A】本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法のための実例入力及びサンプル把持姿勢を示す図である。
図4B】本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法のための実例入力及びサンプル把持姿勢を示す図である。
図4C】本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法のための実例副領域計算を示す図である。
図4D】実例における、本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法のための副領域を計算した後の実例サンプル把持姿勢を示す図である。
図4E】実例における、本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法のための実例実現可能把持姿勢を示す図である。
図5】本開示のいくつかの実施例による、図1のシステムによって実装される最適把持姿勢選択を選択するための方法500を示す例示的流れ図である。
図6】本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法のためのサンプル把持品質スコア(GQS)を示す図である。
【発明を実施するための形態】
【0012】
添付の図面を参照して、例示的実施例が説明される。図では、参照番号の一番左側の桁は、その参照番号が最初に出現する図を識別している。便利である場合、同じ又は同様の部品を表すために同じ参照番号がすべての図面を通して使用されている。本明細書においては、開示される原理の実例及び特徴が説明されているが、開示される実施例の精神及び範囲を逸脱することなく、修正、適合及び他の実施態様が可能である。
【0013】
クラッタ中の、前もって目に見えない対象の多種多様な範囲の全自動で、且つ、信頼性が高いピッキングは挑戦的な課題である。知覚、制御及び相互作用物理学における固有不確実性を考慮すると、これはますます困難になる。稠密クラッタ環境におけるビン・ピッキング(ロボット又はロボット・アームによるビンからの対象のピッキング)のための従来の方法は領域依存型であり、即ちこれらの方法は、それらが訓練されたソース領域からターゲット領域が少しでも異なっている場合、そのターゲット領域に対して等しく良好に実施しないことがしばしばである。
【0014】
本明細書における実施例は、ロボット・アームによってビンから対象をピックするための最適把持姿勢を取得するためのポイント・クラウド・ベース把持計画フレームワークのための方法及びシステムを提供する。本開示は、Red Green Blue-Depth(RGB-D)センサからの深度データに基づく、領域独立型の新規な把持計画フレームワークを提供する。更に、本開示は、教師なしクラスタリング・ベース把持姿勢サンプラー、把持実現可能性マップに基づく把持姿勢検証ステップ、把持姿勢精緻化、及び最適把持姿勢を取得するための把持姿勢品質ランク付けスキームを含む。
【0015】
最初に、システムは、ロボット・ビン・ピッキング環境における表面に関する入力画像を受け取る。表面は複数の目に見えない異質の対象を含む。更に、入力画像に基づいて、ベースライン把持計画技法を使用して、複数のサンプル把持姿勢が無作為構成で生成され、複数のサンプル把持姿勢の各々は、長方形として表される。サンプル把持姿勢を生成すると、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々と、対応する中央ピクセルとの間の比較に基づいて、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々について深度差値が計算される。更に、定義済み深度閾値より大きい深度差値を有する複数のピクセルに二進値の1を割り当て、そうではないピクセルに0を割り当てることにより、対応する深度差値に基づいて、複数のサンプル把持姿勢の各々について二進マップが生成される。二進マップを生成すると、対応する二進マップに基づいて、複数のサンプル把持姿勢の各々に対応する複数の副領域が取得される。複数の副領域は、接触領域、自由領域及び衝突領域を含む。更に、複数の副領域及び複数の条件に基づいて、複数のサンプル把持姿勢から複数の実現可能把持姿勢が選択される。更に、接触領域の中心をシフトさせ、且つ、衝突領域を除外することによって実現可能把持姿勢の幅を調整することによって複数の実現可能把持姿勢の各々が精緻化される。最後に、精緻化された複数の実現可能把持姿勢に基づいて、把持品質スコア(GQS)を使用して、最適把持姿勢が取得される。
【0016】
次に、同様の参照文字は、すべての図を通して対応する特徴を無矛盾に表している図面、とりわけ図1乃至図6を参照すると、好ましい実施例が示されており、これらの実施例は、以下の例示的システム及び/又は方法の文脈で説明される。
【0017】
図1は、本開示のいくつかの実施例による、ポイント・クラウド・ベース把持計画フレームワークの機能ブロック図である。システム100は、ハードウェア・プロセッサ102、メモリ104などの少なくとも1つのメモリ、I/Oインタフェース112を含み、さもなければこれらと通信している。ハードウェア・プロセッサ102、メモリ104及び入力/出力(I/O)インタフェース112は、システム・バス108又は同様の機構などのシステム・バスによって結合することができる。実施例では、ハードウェア・プロセッサ102は1つ又は複数のハードウェア・プロセッサであってもよい。
【0018】
I/Oインタフェース112は様々なソフトウェア・インタフェース及びハードウェア・インタフェースを含むことができ、例えばウェブ・インタフェース、グラフィカル・ユーザ・インタフェース、等々を含むことができる。I/Oインタフェース112は様々なソフトウェア・インタフェース及びハードウェア・インタフェースを含むことができ、例えばキーボード、マウス、外部メモリ、プリンタ、等々などの周辺デバイスのためのインタフェースを含むことができる。更に、I/Oインタフェース112は、ウェブ・サーバ及び外部データベースなどの他のデバイスと通信するようにシステム100をイネーブルすることができる。
【0019】
I/Oインタフェース112は、配線式ネットワーク、例えばローカル・エリア・ネットワーク(LAN:local area network)、ケーブル、等々、及び無線LAN(WLAN:Wireless LAN)、セルラー又は衛星などの無線ネットワークを含む広範囲にわたる様々なネットワーク及びプロトコル・タイプ内での多重通信を容易にすることができる。目的のために、I/Oインタフェース112は、いくつかの計算システムを互いに接続するための、又はいくつかの計算システムを別のサーバ・コンピュータに接続するための1つ又は複数のポートを含むことができる。I/Oインタフェース112は、いくつかのデバイスを互いに接続するための、又はいくつかのデバイスを別のサーバに接続するための1つ又は複数のポートを含むことができる。
【0020】
1つ又は複数のハードウェア・プロセッサ102は、1つ又は複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、ノード・マシン、論理回路機構、及び/又は演算命令に基づいて信号を操作する任意のデバイスとして実装することができる。1つ又は複数のハードウェア・プロセッサ102は、様々な能力の中でもとりわけ、メモリ104に記憶されているコンピュータ可読命令を取り出し、且つ、実行するように構成される。
【0021】
メモリ104は、例えば、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)及びダイナミック・ランダム・アクセス・メモリ(DRAM:dynamic random access memory)などの揮発性メモリ、及び/又はリード・オンリ・メモリ(ROM:read only memory)、消去可能プログラマブルROM、フラッシュ・メモリ、ハード・ディスク、光ディスク及び磁気テープなどの不揮発性メモリを含む、当技術分野で知られている任意のコンピュータ可読媒体を含むことができる。実施例では、メモリ104は複数のモジュール106を含む。また、メモリ104は、複数のモジュール106によって処理され、受け取られ、且つ、生成されたデータを記憶するためのデータ・リポジトリ(又はリポジトリ)110を同じく含む。
【0022】
複数のモジュール106は、ポイント・クラウド・ベース把持計画フレームワークのためにシステム100によって実施されるアプリケーション又は機能を補足するプログラム即ち符号化命令を含む。複数のモジュール106は、とりわけ、特定のタスクを実施し、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント及びデータ構造を含むことができる。また、複数のモジュール106は、信号プロセッサ、ノード・マシン、論理回路、及び/又は演算命令に基づいて信号を操作する任意の他のデバイス又は構成要素として使用することも可能である。更に、複数のモジュール106は、ハードウェアによって、1つ又は複数のハードウェア・プロセッサ102によって実行されるコンピュータ可読命令によって、又はそれらの組合せによって使用され得る。複数のモジュール106は様々なサブモジュール(図示せず)を含むことができる。複数のモジュール106は、空間グラフ及び軌道履歴を使用したセマンティック・ナビゲーションのためにシステム100によって実施されるアプリケーション又は機能を補足するコンピュータ可読命令を含むことができる。実施例では、モジュール106は、サンプル把持姿勢生成モジュール(図2Aに示されている)、深度差計算モジュール(図2Aに示されている)、二進マップ生成モジュール(図2Aに示されている)、副領域計算モジュール(図2Aに示されている)、実現可能把持姿勢選択モジュール(図2Aに示されている)、実現可能把持姿勢精緻化モジュール及び最適把持姿勢選択モジュール(図2Aに示されている)を含む。実施例では、図2Aは、本開示のいくつかの実施例による、ポイント・クラウド・ベース把持計画フレームワークのための図1のシステムの機能アーキテクチャを示している。
【0023】
データ・リポジトリ(又はリポジトリ)110は、精緻化のための複数の抽象化コード片、及びモジュール106中の複数のモジュールを実行する結果として処理され、受け取られ、又は生成されるデータを含むことができる。
【0024】
システム100の内部のデータ・リポジトリ110が示されているが、代替実施例では、システム100の外部のデータ・リポジトリ110を実装することも同じく可能であり、データ・リポジトリ110は、システム100に通信結合されたデータベース(リポジトリ110)内に記憶することができることは留意されよう。このような外部データベース内に含まれているデータは周期的に更新することができる。例えば、新しいデータをデータベース(図1には示されていない)の中に追加することができ、及び/又は既存のデータを修正することができ、及び/又は役に立たないデータをデータベースから削除することができる。一実例では、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP:Lightweight Directory Access Protocol)ディレクトリ及びリレーショナル・データベース管理システム(RDBMS:Relational Database Management System)などの外部システムにデータを記憶することができる。システム100の構成要素の動作については、図3A及び図3B図6A及び図6Bに示されている方法ステップを参照して説明される。
【0025】
図2Bは、本開示のいくつかの実施例による、ポイント・クラウド・ベース把持計画フレームワークのための実例ロボット・ビン・ピッキング環境を示したものである。ここで図2Bを参照すると、ロボット・ビン・ピッキング環境は、ロボット・アーム222(例えばユニバーサル・ロボット5、6自由度(UR5 6-DOF:Universal Robot5 6-Degrees of Freedom)マニピュレータ・アーム)によってピックされる複数の目に見えない異質の対象224、少なくとも1つの画像捕獲デバイス230(例えばリアル・センスD-435iカメラ)、グリッパー232(例えばWSG-50 Schunkグリッパー)、複数の目に見えない異質の対象224を有するビン228、及び対象落下場所のためのレセプタクル(図2Bには示されていない)を含む。実施例では、ビン228は、傾斜した縁(ほぼ45度程度の角度で傾斜している)を使用して設計されており、したがって操作中、対象が作業空間内を維持するだけでなく、垂直の縁を有するビンと比較すると、グリッパーがビンの縁と衝突する機会がより少ない。実施例では、226は、ロボット・アーム222によってピックされた対象である。実施例では、ロボット・アーム222は、I/Oインタフェース112を介してシステム100に接続されており、少なくとも1つの画像捕獲デバイス230からデータを送り、システム100の1つ又は複数のハードウェア・プロセッサ102から命令を受け取る(例えば、命令は、複数の目に見えない異質の対象から対象をピックする命令、又は複数の目に見えない異質の対象を分散させる命令のいずれかであってもよい)。
【0026】
図3A及び図3Bは、本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのための方法300を示す例示的流れ図である。実施例では、システム100は、1つ又は複数のハードウェア・プロセッサ102に動作可能に結合され、その1つ又は複数のハードウェア・プロセッサ102によって方法300のステップを実行するための命令を記憶するように構成される1つ又は複数のデータ記憶デバイス、即ちメモリ104を含む。以下、本開示の方法300のステップについて、図1に示されているシステム100の構成要素又はブロック、及び図3A及び図3Bに示されている流れ図のステップを参照して説明する。方法300は、コンピュータ実行可能命令の一般文脈で説明することができる。通常、コンピュータ実行可能命令は、特定の機能を実施し、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順、モジュール、機能、等々を含むことができる。また、方法300は、通信ネットワークを介してリンクされる遠隔処理デバイスによって機能が実施される分散計算環境で実践することも可能である。方法300が説明される順序には、制限として解釈されることは意図されておらず、説明される方法ブロックのうちの任意の数を任意の順序で組み合わせて、方法300又は代替方法を実装することができる。更に、方法300は、任意の適切なハードウェア、ソフトウェア、ファームウェア又はそれらの組合せで実装することができる。
【0027】
方法300のステップ302で、1つ又は複数のハードウェア・プロセッサ102が、プログラムされた命令によって、表面に関する入力画像を受け取るように構成される。表面は、図4Aに示されているような複数の目に見えない異質の対象を含む。別の実施例では、表面は目に見えない同質の対象を含むことができる。
【0028】
方法300のステップ304で、1つ又は複数のハードウェア・プロセッサ102によって実行されるサンプル把持姿勢生成モジュール202が、プログラムされた命令によって、入力画像に基づいて、ベースライン把持計画技法を使用して、複数のサンプル把持姿勢Gを無作為構成で生成するように構成される。
=(p、θ、W、Q) ・・・(1)
上式で、p=(x、y)は画像座標における把持姿勢の中心点を表し、θは、画像平面における水平軸に対する把持姿勢の角度を表し、Wは把持姿勢長方形の幅を表し、Qは把持品質指標を表す。把持姿勢Gを実行するためには、把持姿勢Gをロボットの世界の直交フレームに従って変換しなければならない。この変換のために、標準較正手順によって得られる固有及び外在的カメラ・パラメータが利用される。変換された把持姿勢Grは次のように定義することができる。
=(p、θ、W、Q) ・・・(2)
上式で、p=(x、y、z)は直交空間における把持姿勢の中心点を表し、_rはz軸の周りのグリッパーの回転を表し、Wは、グリッパーの最大開度によって拘束されるグリッパーの必要な開度幅を表し、品質Qは、式(1)における定義と同じように定義される。実施例では、疑似コードに使用される深度値は、カメラ基準フレームに中で表される。カメラは、ビン作業空間の上方の固定距離に、下向きにしてセットされる。深度フィルタリング及びクラスタリング・ベース手法を使用して、N個の数の候補把持姿勢がサンプリングされる。
【0029】
例えば、複数のサンプル把持姿勢の各々は、図4A及び図4Bに示されているように長方形として表される。ここで図4Aを参照すると、402は複数の目に見えない異質の対象からの対象であり、404は、対象404と関連付けられたサンプル把持姿勢である。図4Bは複数のサンプル把持姿勢を示しており、個々の長方形は、図4Aに示されている複数の目に見えない異質の対象の各々に対応して生成されている。
【0030】
方法300のステップ306で、1つ又は複数のハードウェア・プロセッサ102によって実行される深度差計算モジュール204が、プログラムされた命令によって、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々と、対応する中央ピクセルとの間の比較に基づいて、複数のサンプル把持姿勢の各々に対応する複数のピクセルの各々について深度相違値を計算するように構成される。
【0031】
方法300のステップ308で、1つ又は複数のハードウェア・プロセッサ102によって実行される二進マップ生成モジュール204が、プログラムされた命令によって、定義済み深度閾値より大きい深度差値を有する複数のピクセルに二進値の1を割り当て、そうではないピクセルに0を割り当てることにより、対応する深度差値に基づいて、複数のサンプル把持姿勢の各々について二進マップを生成するように構成される。
【0032】
方法300のステップ310で、1つ又は複数のハードウェア・プロセッサ102によって実行される副領域計算モジュール204が、プログラムされた命令によって、対応する二進マップに基づいて、複数のサンプル把持姿勢の各々に対応する複数の副領域を取得するように構成される。実施例では、複数の副領域は、接触領域(Rct)、自由領域(Rfs)及び衝突領域(Rcl)を含む。
【0033】
図4Cは、本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法のための実例副領域計算を示したものである。ここで図4Cを参照すると、最初に、対応する二進マップに基づいて、複数のサンプル把持姿勢の各々の左側自由領域412の左側開始点(Ls)及び左側終了点(Le)が識別される。例えば、自由領域は二進値の1を有する領域である。更に、対応する二進マップに基づいて、複数のサンプル把持姿勢の各々の右側自由領域414の右側開始点(Rs)及び右側終了点(Re)が識別される。最後に、左側開始点、左側終了点、右側開始点及び右側終了点に基づいて、副領域計算技法を使用して複数の副領域が計算される。ここでは、416は接触領域(Rct)を示している。実施例では、図4Dは、副領域を計算した後の複数のサンプル把持姿勢を示している。ここで図4Dを参照すると、個々の長方形の中の黒い領域は接触領域であり、白い領域は自由領域である。
【0034】
実施例では、副領域計算は、以下で与えられる疑似コード1を使用して実施される。ここではL及びLは、把持姿勢長方形の左半分における自由空間に対する開始点及び終点を示している。同様に点R及びRは、把持姿勢長方形の右半分における自由空間を示している。無作為0値として深度マップ中に生じる無作為センサ誤差はアルゴリズム1の出力に影響を及ぼし得るため、深度マップはサイズ3×3のメディアン・フィルタによって予め処理される。ここで、把持姿勢長方形内の3つの領域は、式(3)、(4)及び(5)で数学的に定義することができる。
ct=[(L+1、0)、(R-1、gb)] ・・・(3)
fs=[(L、0)、(L、gb)]+[(R、0)、(R、gb)] ・・・(4)
【数1】

【数2】
【0035】
方法300のステップ312で、1つ又は複数のハードウェア・プロセッサ102によって実行される実現可能把持姿勢選択モジュール204が、プログラムされた命令によって、複数の副領域及び複数の条件に基づいて、複数のサンプル把持姿勢から複数の実現可能把持姿勢を選択するように構成される。実施例では、複数のサンプル把持姿勢から複数の実現可能把
持姿勢を選択するための複数の条件は、(i)複数のサンプル把持姿勢の各々に対応する接触領域と関連付けられた幅が最大グリッパー開度未満であるかどうか、及び(ii)複数のサンプル把持姿勢の各々に対応する左側自由領域及び右側自由領域と関連付けられた幅がグリッパー・フィンガー幅より広いかどうかを含む。実施例では、図4Eは、本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法のための実例実現可能把持姿勢を示している。
【0036】
方法300のステップ314で、1つ又は複数のハードウェア・プロセッサ102によって実行される実現可能把持姿勢精緻化モジュール204が、プログラムされた命令によって、(i)対応する接触領域が2等分に分割されるよう、対応する把持姿勢の幅に沿って、複数の実現可能把持姿勢の各々に対応する中心(C)を新しい中心(C’)(図4Cに示されている)にシフトさせるステップと、(ii)対応する衝突領域が除外されるよう、複数の実現可能把持姿勢の各々に対応する幅を調整するステップとによって、複数の実現可能把持姿勢の各々を精緻化するように構成される。例えば、C=(x、y)が長方形
【数3】

の中の古い中心点である場合、以下の式(6)を使用して、新しい中心C’が取得される。更に、幅調整は、式(7)に基づいて実施される。
【数4】

【数5】
【0037】
方法300のステップ316で、1つ又は複数のハードウェア・プロセッサ102によって実行される最適把持姿勢選択モジュール204が、プログラムされた命令によって、精緻化された複数の実現可能把持姿勢に基づいて、把持品質スコア(GQS)を使用して、最適把持姿勢を取得するように構成される。
【0038】
図5は、本開示のいくつかの実施例による、図1のシステムによって実装される最適把持姿勢選択を選択するための方法500を示す例示的流れ図である。ここで図6A及び図6Bを参照すると、方法500のステップ502で、1つ又は複数のハードウェア・プロセッサ102が、プログラミング命令によって、(i)対応する自由領域に基づいて、ピクセル横断技法を使用して、精緻化された複数の実現可能把持姿勢の各々の両側の複数の自由領域幅を計算し、(ii)精緻化された複数の把持姿勢に対応する複数の自由領域幅から最小自由領域幅を選択することによってFRLを取得することにより、精緻化された複数の実現可能把持姿勢の各々に対応する自由領域長さ(FRL:Free Region Length)を取得するように構成される。
【0039】
方法600のステップ604で、1つ又は複数のハードウェア・プロセッサ102が、プログラミング命令によって、正規化技法を使用して、精緻化された複数の実現可能把持姿勢の各々に対応するFRLを正規化することによって、FRLスコアを計算するように構成される。例えば、FRL正規化は、式(8)を使用して実施される。ここで式(8)を参照すると、i=1…n。
【数6】
【0040】
方法600のステップ606で、1つ又は複数のハードウェア・プロセッサ102が、プログラミング命令によって、精緻化された複数の実現可能把持姿勢の各々に対応する接触領域サイズ(CRS:Contact Region Size)を計算するように構成され、接触領域サイズは、中心点の周りの一定の長方形領域内の接触領域を構成しているピクセルの数である。
【0041】
方法600のステップ608で、1つ又は複数のハードウェア・プロセッサ102が、プログラミング命令によって、正規化技法を使用して、精緻化された複数の実現可能把持姿勢の各々に対応するCRSを正規化することによって、CRSスコアを計算するように構成される。例えば、CRS正規化は、式(9)を使用して実施される。ここで式(9)を参照すると、i=1…nであり、’N’は、対応する実現可能把持姿勢(長方形)の重心の周りを中心とする仮想長方形の一定の寸法内のピクセルの総数である。
【数7】
【0042】
方法600のステップ610で、1つ又は複数のハードウェア・プロセッサ102が、プログラミング命令によって、対応するFRLスコア及びCRSスコアを加えることにより、精緻化された複数の実現可能把持姿勢の各々に対応するGQSを計算するように構成される。
【0043】
方法600のステップ612で、1つ又は複数のハードウェア・プロセッサ102が、プログラミング命令によって、対応するGQSに基づいて、精緻化された複数の実現可能把持姿勢から最適把持姿勢を選択するように構成され、最大GQSを有する精緻化された把持姿勢が最適把持姿勢として選択される。図6は、本開示のいくつかの実施例による、図1のシステムによって実装されるポイント・クラウド・ベース把持計画フレームワークのためのプロセッサ実装方法のためのサンプル把持品質スコア(GQS)を示している。ここで図6を参照すると、把持姿勢1は、FRLスコア100及びCRSスコア100を加えることによって最大スコア200を有しており、したがって最適把持姿勢として選択される。
【0044】
実施例では、システム100が少なくとも1つの実現可能把持姿勢を見出さない場合、分散アクションがロボットによって実施される。この状況は、主として稠密クラッタ即ち場面対象の緊密に詰め込まれた構成によって何度も生じる。分散アクションを達成するために、把持計画パイプラインの先行する実行で生成された中間結果のうちのいくつかと共に、深度マップのみをその入力として使用するプッシュ・ポリシー(例えば線形プッシュ・ポリシー)が使用される。そのため、プッシュ・ポリシーは把持計画パイプラインとの一貫性を維持するだけでなく、必要な追加計算がより少ない。
【0045】
実施例では、線形プッシュ・ポリシーには、作業空間における開始点及び終点を見出す必要がある。最初に、開始点が把持計画の先行する実行から最良利用可能把持姿勢(GQSスコアに基づく)の中心点に設定される。作業空間内のある場所における把持姿勢は、その場所に対象が存在していることを示す。最良利用可能把持姿勢を選択することにより、対象の近傍の近くの自由空間の機会が増える。プッシュ・アクションを実行するためにはこの状況は有利である。適切な終点を見出すために距離変換マップが生成される。作業空間における個々の点において、距離変換は、任意の場面対象又は作業空間境界からのその点の最短距離として定義される。距離変換マップにおける最も高い値を有する点がプッシュ・アクションに対する終点として設定される。開始点及び終点を使用してプッシュ・ベクトルが完全に定義される。
【0046】
実施例では、プッシュ・ベクトルは以下のように精緻化される。開始点が最良利用可能把持姿勢の中心に設定される際に、開始点が対象表面に位置する。対象を効果的にプッシュするためには、ターゲット対象の表面の深度より深い深度でグリッパー・フィンガーを入れなければならない。より良好な開始点を見出すために、方法は、プッシュ・ベクトル方向の逆に沿って反復し、グリッパー・フィンガーを適応させるのに十分な広さである自由空間領域に印を付ける。自由空間領域を見出すために、把持計画ステップで自由空間領域に印を付けるために使用される戦略と同様の戦略が使用される。自由空間領域の中間点が新しい開始点として選択される。また、プッシュ・ベクトル長さを特定の値に拘束するために、プッシュ・ベクトル方向に沿って終点を調整することも可能である。
【0047】
実験詳細
実施例では、本開示のための実験セットアップが図2Bに示されている。実施例では、40個の新規な試験対象を使用して、ビン・ピッキング・タスクに対する500回を超える把持試行を実施することによって本開示の信頼性が試験された。トライアル毎に15~20個の対象が無作為パイルとしてビンの中に置かれる。ロボットは、すべての対象が把持されるか、最大数(即ち60)の反復に到達するか、又は6連続失敗が生じるまで把持を試行する。試験対象セットは、それらのサイズ、幾何構造、重量及び材料に基づいて2つの部分、即ちレベル-1及びレベル-2に分割される。
【0048】
稠密クラッタを作り出すために、対象は、最初はバスケットの中に全部まとめて維持され、次にバスケットが上下逆さまにしてビンの中に置かれる。反覆毎に場面の深度マップが入力として得られ、単一の把持アクションが、ロボット・ベース・フレームにおけるグリッパー姿勢からなる把持アルゴリズムによって回復される。ロボットは、次に、標準ロボット操作システム(ROS:Robot Operating system)制御ライブラリを使用して把持アクションを実行し、ロボットをターゲット姿勢に移動させて対象を把持し、且つ、対象をレセプタクルの中に置く。分散アクションに対しては、最初にグリッパーのフィンガーが閉じられ、それらの端部が予測された分散アクションの開始場所に置かれる。その後、ロボットが分散アクションの開始場所から終了場所まで線形運動を実施し、事実上、対象をその方法でプッシュする。
【0049】
書面説明は本明細書における主題を記述し、すべての当業者による実施例の構築及び使用を可能にしている。主題実施例の範囲は特許請求の範囲によって定義されており、当業者に思い浮かぶ他の変更態様を含むことができる。このような他の変更態様は、それらが特許請求の範囲の文字通りの言語と異ならない同様の要素を有している場合、或いはそれらが特許請求の範囲の文字通りの言語と非現実的に相違している均等な要素を含んでいる場合、特許請求の範囲の範疇であることが意図されている。
【0050】
本明細書における本開示の実施例は、ポイント・クラウド・ベース把持計画フレームワークの未解決の課題に取り組んでいる。本開示は、把持検証及び姿勢精緻化方法を同じく組み込んだ新規な把持品質評価方法を提供する。本開示には、対象の3Dモデルも、何らかの領域特化学習又は事前処理(例えば対象セグメント化)も不要である。無作為に置かれた未知の対象のパイルが与えられると、本開示は特定の数の把持姿勢をサンプリングし、次に、衝突しない安定した把持姿勢を探す。方法全体はポイント・クラウド・データのみを使用し(RGBデータは使用されない)、したがって色、テクスチャーに対してバイアスされず、ある程度までは照明条件に対してバイアスされない。更に、この把持品質評価方法は、衝突候補点の逐次有限サンプリングを使用して、確実性を有する衝突領域を検出し、はるかに良好な把持信頼性性能をもたらし、従来の手法よりも大まかに何倍も速い。更に、本開示は、深度セグメント化対象領域によって覆われた面積に応じて、クラスタリング・ベース把持姿勢サンプラーのための可変数の把持姿勢を生成する。これは、固定数の把持姿勢を有するよりもより有効であることが分かっている。保護の範囲はこのようなプログラムまで拡張され、中にメッセージを有するコンピュータ可読手段に加えて、このようなコンピュータ可読記憶手段は、プログラムがサーバ又はモバイル・デバイス或いは任意の適切なプログラマブル・デバイス上で実行されると、方法の1つ又は複数のステップを実装するためのプログラム・コード手段を包含することを理解されたい。ハードウェア・デバイスは、例えばサーバ又はパーソナル・コンピュータ、等々、或いはそれらの任意の組合せのような任意の種類のコンピュータを含む、プログラムすることができる任意の種類のデバイスであってもよい。デバイスは、例えば特定用途向け集積回路(ASIC:application-specific integrated circuit)、書替え可能ゲート・アレイ(FPGA:field-programable gate array)のような例えばハードウェア手段、又はハードウェア手段とソフトウェア手段の組合せ、例えばASICとFPGA、或いは少なくとも1つのマイクロプロセッサ、及びソフトウェア・モジュールが中に配置された少なくとも1つのメモリであってもよい手段を同じく含むことができる。したがって手段はハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書において説明されている方法実施例はハードウェア及びソフトウェアで実装することができる。デバイスはソフトウェア手段を同じく含むことができる。代替としては、実施例は、例えば複数のCPU、GPU及びエッジ計算デバイスを使用した異なるハードウェア・デバイス上で実装することも可能である。
【0051】
本明細書における実施例は、ハードウェア要素及びソフトウェア要素を備えることができる。ソフトウェアで実装される実施例は、それらに限定されないが、ファームウェア、常駐ソフトウェア、マイクロコード、等々を含む。本明細書において説明されている様々なモジュールによって実施される機能は、他のモジュール又は他のモジュールの組合せで実装することができる。この説明の目的のために、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置又はデバイスが使用し、又はそれらと関連して使用するためのプログラムを備え、記憶し、通信し、伝搬し、又は輸送することができる任意の装置であってもよい。示されているステップは、示されている例示的実施例を説明するために提示されており、進行中の技術的開発が、特定の機能が実施される方法を変えることになることを予期されたい。これらの実例は、本明細書においては例証の目的のために提示されており、制限のためではない。更に、機能ビルディング・ブロックの境界は、説明の便宜上、本明細書においては任意に画定されている。明記されている機能及びそれらの関係が適切に実施される限り、代替境界を画定することができる。代替(本明細書において説明されている機能及びそれらの関係の等価、拡張、変形、逸脱、等々を含む)は、本明細書に包含されている教示に基づいて、関連する分野の当業者には明らかであろう。このような代替は、開示されている実施例の範囲及び精神の範疇である。また、「備える」、「有する」、「包含する」及び「含む」という語、及び他の同様の形態には、意味が等価であること、これらの語のうちの任意の1つに後続する1つ又は複数のアイテムは、このような1つ又は複数のアイテムの網羅的列挙であることを意味していない点、又は列挙されている1つ又は複数のアイテムのみに限定されることを意味していない点でオープン・エンドであることが意図されている。本明細書及び添付の特許請求の範囲に使用されているように、単数形の表現及び先行名詞を示す表現は、文脈がそうではないことを明確に示していない限り、複数形の参照を含むことに同じく留意されたい。更に、1つ又は複数のコンピュータ可読記憶媒体を利用して、本開示と無矛盾の実施例を実装することができる。コンピュータ可読記憶媒体は任意のタイプの物理的メモリを意味しており、その上にプロセッサが読み出すことができる情報又はデータを記憶することができる。したがってコンピュータ可読記憶媒体は、1つ又は複数のプロセッサが実行するための命令を記憶することができ、これらの命令は、本明細書において説明されている実施例と無矛盾のステップ又はステージをプロセッサに実施させるための命令を含む。「コンピュータ可読媒体」という用語は、有形アイテムを含み、搬送波及び過渡信号は含まないこと、即ち非一時的信号は含まないことを理解されたい。実例は、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハード・ドライブ、CD ROM、DVD、フラッシュ・ドライブ、ディスク及び任意の他の知られている物理的記憶媒体を含む。
【0052】
本開示及び実例は単なる例示的なものとして見なされ、開示されている実施例の真の範囲は以下の特許請求の範囲によって示されることが意図されている。
図1
図2A
図2B
図3A
図3B
図4A
図4B
図4C
図4D
図4E
図5
図6
【外国語明細書】