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

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

▶ デクステリティ・インコーポレーテッドの特許一覧

<>
  • 特許-マルチカメラ画像処理 図1
  • 特許-マルチカメラ画像処理 図2
  • 特許-マルチカメラ画像処理 図3
  • 特許-マルチカメラ画像処理 図4
  • 特許-マルチカメラ画像処理 図5
  • 特許-マルチカメラ画像処理 図6
  • 特許-マルチカメラ画像処理 図7
  • 特許-マルチカメラ画像処理 図8
  • 特許-マルチカメラ画像処理 図9A
  • 特許-マルチカメラ画像処理 図9B
  • 特許-マルチカメラ画像処理 図9C
  • 特許-マルチカメラ画像処理 図10
  • 特許-マルチカメラ画像処理 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-11
(45)【発行日】2024-07-22
(54)【発明の名称】マルチカメラ画像処理
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240712BHJP
   B25J 13/08 20060101ALI20240712BHJP
【FI】
G06T7/00 C
B25J13/08 A
【請求項の数】 18
【外国語出願】
(21)【出願番号】P 2023098168
(22)【出願日】2023-06-15
(62)【分割の表示】P 2021549235の分割
【原出願日】2019-12-03
(65)【公開番号】P2023120314
(43)【公開日】2023-08-29
【審査請求日】2023-06-22
(31)【優先権主張番号】16/667,661
(32)【優先日】2019-10-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/809,389
(32)【優先日】2019-02-22
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/380,859
(32)【優先日】2019-04-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521105662
【氏名又は名称】デクステリティ・インコーポレーテッド
【氏名又は名称原語表記】DEXTERITY,INC.
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】チャベス・ケヴィン・ホセ
(72)【発明者】
【氏名】ガオ・ユアン
(72)【発明者】
【氏名】ピダパーシ・ロイット・アルカ
(72)【発明者】
【氏名】モリス-ダウニング・タルボット
(72)【発明者】
【氏名】スー・ハリー・ツェ
(72)【発明者】
【氏名】メノン・サミア
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2006-302195(JP,A)
【文献】特開2001-184500(JP,A)
【文献】特開2015-135331(JP,A)
【文献】米国特許出願公開第2018/0308254(US,A1)
【文献】米国特許出願公開第2015/0352721(US,A1)
【文献】米国特許第09802317(US,B1)
【文献】国際公開第2018/130491(WO,A1)
【文献】国際公開第2017/195801(WO,A1)
【文献】加藤 有祐、外5名,“三次元点群からの参照点候補の抽出と相対的位置概念の学習”,第23回 画像センシングシンポジウム SSII2017,日本,画像センシング技術研究会,2017年06月07日,pp.1-6
【文献】西田 貴亮、外2名,“物体のパーツ分割と形状特徴に基づく移動可能性を考慮した種別分類”,計測自動制御学会論文集,日本,公益社団法人計測自動制御学会,2015年05月31日,Vol.51, No.5,pp.319-328
【文献】武口 智行、金子 俊一,“規則的ボクセル基準による距離アスペクト画像を用いたロバスト物体認識”,電子情報通信学会論文誌,日本,社団法人電子情報通信学会,2003年09月01日,Vol.J86-D-II, No.9,pp.1308-1319
【文献】Yu-Kai Chen et al.,"Random Bin Picking with Multi-view Image Acquisition and CAD-Based Pose Estimation",2018 IEEE International Conference on Systems, Man, and Cybernetics (SMC),米国,IEEE,2018年10月07日,pp.2218-2223
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/90
G06V 10/00-10/98
G01B 11/00-11/30
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
システムであって、
作業空間に関連付けられている複数のセンサの各々から画像データを受信するよう構成されている通信インターフェースと、
前記通信インターフェースに接続されているプロセッサと、
を備え、
前記プロセッサは、
前記複数のセンサによって取得された画像データに少なくとも一部に基づいて、前記複数のセンサの少なくとも1つが再較正されるべきであることを検出し、
前記作業空間における較正パターンまたは較正マーカーに関して前記複数のセンサの内の基準センサを較正し、
前記基準センサから1または複数の画像を取得し、
前記複数のセンサの少なくとも1つをクロス較正するために前記1または複数の画像を使用し、
前記複数のセンサが較正されたとの判定に応じて、
前記複数のセンサから画像データを取得し、
前記複数のセンサからの前記画像データをマージして、マージ済み点群データを生成し、
前記複数のセンサの内の一部からの画像データに基づいて分割を実行して、分割結果を生成し、前記分割結果は一つまたは複数の物体の物体境界に関連しているものとして識別された複数のピクセルを含み、
前記マージ済み点群データおよび前記分割結果を用いて、前記作業空間のマージ済み三次元分割ビューを生成するよう構成され、前記マージ済み点群データおよび前記分割結果を用いて、前記作業空間のマージ済み三次元分割ビューを生成することは、
各物体の点の周りに分割された形状を備える点群に逆投影するために、前記分割結果を用い、
前記複数のセンサの各々について、各物体に関してセンサによって生成された前記点群をラベル付けし、対応する重心を計算し、
前記作業空間内において物体を分割するために、前記複数のセンサの対応する物体点群の重心の間で最近傍計算を用いる、ことを含む、
システム。
【請求項2】
請求項1に記載のシステムであって、前記複数のセンサは、1または複数の三次元(3D)カメラを含む、システム。
【請求項3】
請求項1に記載のシステムであって、前記プロセッサは、前記マージ済み点群データおよび前記分割結果の一方または両方を用いて、前記作業空間内の物体に関するボックス適合を実行するよう構成されている、システム。
【請求項4】
請求項3に記載のシステムであって、前記プロセッサは、さらに、前記マージ済み点群データおよび前記分割結果の一方または両方を用いて、ロボットアームで前記物体を把持するための戦略を合成するよう構成されている、システム。
【請求項5】
請求項4に記載のシステムであって、前記プロセッサは、さらに、前記ロボットアームで前記物体を把持するための前記戦略を実施するよう構成されている、システム。
【請求項6】
請求項5に記載のシステムであって、前記プロセッサは、前記物体を元の位置からピックして、前記物体を前記作業空間内の移動先位置にプレースするために、ロボット動作によって前記物体を把持するよう構成されている、システム。
【請求項7】
請求項1に記載のシステムであって、前記プロセッサは、さらに、前記作業空間の前記マージ済み三次元分割ビューを用いて、前記作業空間の視覚化表現を表示するよう構成されている、システム。
【請求項8】
請求項7に記載のシステムであって、前記表示された視覚化表現は、前記作業空間内に描写された前記物体を強調している、システム。
【請求項9】
請求項1に記載のシステムであって、前記プロセッサは、さらに、前記マージ済み点群データをサブサンプリングするよう構成されている、システム。
【請求項10】
請求項9に記載のシステムであって、前記プロセッサは、さらに、前記サブサンプリングされた点群データにクラスタ処理を実行するよう構成されている、システム。
【請求項11】
請求項10に記載のシステムであって、前記プロセッサは、前記サブサンプリングおよびクラスタリングされた点群データと前記分割結果とを用いて、前記作業空間内の物体に関するボックス適合結果を生成するよう構成されている、システム。
【請求項12】
請求項1に記載のシステムであって、前記プロセッサは、さらに、前記複数のセンサの内の前記一部のセンサに含まれないセンサに関連付けられている画像データに少なくとも部分的に基づいて、前記作業空間の前記マージ済み三次元分割ビューを検証するよう構成されている、システム。
【請求項13】
請求項12に記載のシステムであって、前記プロセッサは、少なくとも部分的には、前記作業空間の前記マージ済み三次元分割ビューを用いて、前記作業空間内の物体に関する第1ボックス適合結果を生成し、前記複数のセンサの内の前記一部のセンサに含まれないセンサに関連付けられている画像データを用いて、前記作業空間内の前記物体に関する第2ボックス適合結果を生成し、前記第1ボックス適合結果および前記第2ボックス適合結果を用いて、前記物体の検証済みボックス適合を決定することにより、前記複数のセンサの内の前記一部のセンサに含まれない前記センサに関連付けられている前記画像データに少なくとも部分的に基づいて、前記作業空間の前記マージ済み三次元分割ビューを検証するよう構成されている、システム。
【請求項14】
請求項1に記載のシステムであって、前記プロセッサは、少なくとも部分的には、ユーザ定義された処理パイプラインを実装することにより、前記画像データをマージして処理するよう構成されている、システム。
【請求項15】
請求項14に記載のシステムであって、前記プロセッサは、前記ユーザ定義された処理パイプラインの定義を受信してパースするよう構成されている、システム。
【請求項16】
請求項15に記載のシステムであって、前記プロセッサは、前記定義を用いて、前記パイプラインを構成するモジュールのインスタンスを作成し、前記モジュールおよびパイプラインを実装するためのバイナリコードを自動生成するよう構成されている、システム。
【請求項17】
コンピュータによって実行される方法であって、
作業空間に関連付けられている複数のセンサの各々から画像データを受信し、
前記複数のセンサによって取得された画像データに少なくとも一部に基づいて、前記複数のセンサの少なくとも1つが再較正されるべきであることを検出し、
前記作業空間における較正パターンまたは較正マーカーに関して前記複数のセンサの内の基準センサを較正し、
前記基準センサから1または複数の画像を取得し、
前記複数のセンサの少なくとも1つをクロス較正するために前記1または複数の画像を使用し、
前記複数のセンサが較正されたとの判定に応じて、
前記複数のセンサからの前記画像データをマージして、マージ済み点群データを生成し、
前記複数のセンサの内の一部からの画像データに基づいて分割を実行して、分割結果を生成し、前記分割結果は一つまたは複数の物体の物体境界に関連しているものとして識別された複数のピクセルを含み、
前記マージ済み点群データおよび前記分割結果を用いて、前記作業空間のマージ済み三次元分割ビューを生成することを備え、前記マージ済み点群データおよび前記分割結果を用いて、前記作業空間のマージ済み三次元分割ビューを生成することは、
各物体の点の周りに分割された形状を備える点群に逆投影するために、前記分割結果を用い、
前記複数のセンサの各々について、各物体に関してセンサによって生成された前記点群をラベル付けし、対応する重心を計算し、
前記作業空間内において物体を分割するために、前記複数のセンサの対応する物体点群の重心の間で最近傍計算を用いる、ことを含む、
方法。
【請求項18】
コンピュータプログラムであって、コンピュータに、
作業空間に関連付けられている複数のセンサの各々から画像データを受信させるためのコンピュータ命令と、
前記複数のセンサによって取得された画像データに少なくとも一部に基づいて、前記複数のセンサの少なくとも1つが再較正されるべきであることを検出させるためのコンピュータ命令と、
前記作業空間における較正パターンまたは較正マーカーに関して前記複数のセンサの内の基準センサを較正させるためのコンピュータ命令と、
前記基準センサから1または複数の画像を取得させるためのコンピュータ命令と、
前記複数のセンサの少なくとも1つをクロス較正するために前記1または複数の画像を使用させるためのコンピュータ命令と、
前記複数のセンサが較正されたとの判定に応じて、
前記複数のセンサからの前記画像データをマージして、マージ済み点群データを生成させるためのコンピュータ命令と、
前記複数のセンサの内の一部からの画像データに基づいて分割を実行して、分割結果を生成させるためのコンピュータ命令と、前記分割結果は一つまたは複数の物体の物体境界に関連しているものとして識別された複数のピクセルを含み、
前記マージ済み点群データおよび前記分割結果を用いて、前記作業空間のマージ済み三次元分割ビューを生成させるためのコンピュータ命令であって、
各物体の点の周りに分割された形状を備える点群に逆投影するために、前記分割結果を用い、
前記複数のセンサの各々について、各物体に関してセンサによって生成された前記点群をラベル付けし、対応する重心を計算し、
前記作業空間内において物体を分割するために、前記複数のセンサの対応する物体点群の重心の間で最近傍計算を用いる、ことを含む、前記マージ済み点群データおよび前記分割結果を用いて、前記作業空間のマージ済み三次元分割ビューを生成させるためのコンピュータ命令と、
を備える、コンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
他の出願への相互参照
本願は、2019年2月22日出願の名称を「ROBOTIC MULTI-ITEM TYPE PALLETIZING&DEPALLETIZING」とする米国仮特許出願第62/809,389号に基づく優先権を主張し、その仮特許出願は、すべての目的のために参照により本明細書に組み込まれる。
【0002】
本願は、2019年4月10日出願の同時係属の名称を「ROBOTIC MULTI-ITEM TYPE PALLETIZING&DEPALLETIZING」とする米国特許出願第16/380,859号の一部継続出願であり、その出願は、すべての目的のために参照により本明細書に組み込まれ、2019年2月22日出願の名称を「MULTI-ITEM TYPE PALLETIZING&DEPALLETIZING」とする米国仮特許出願第62/809,389号に基づく優先権を主張し、その仮特許出願は、すべての目的のために参照により本明細書に組み込まれる。
【0003】
例えば、アイテムをピック、移動、操作、および、プレースするために、多くの環境でロボットが利用されている。物理環境(本明細書では「作業空間」とも呼ばれる)においてタスクを実行するために、ロボットシステムは、典型的には、ロボットシステムによって操作される物体(ロボットアームを用いてピックアンドプレースされるアイテムなど)を検出するため、ならびに、例えば、環境内の1または複数の物体を把持し、作業空間内の新たな位置へかかる物体を移動するなど、物体を操作するための計画を生成および実行するために、カメラおよびその他のセンサを利用する。
【0004】
センサは、複数のカメラを含んでよく、その内の1または複数は、三次元(「3D」)カメラであってよく、3Dカメラは、従来の(例えば、赤-青-緑、すなわち、「RBG」)画像データに加えて、画像内の点までの距離を示す「深度ピクセル」を生成する。しかしながら、単一のカメラでは、物体またはその一部が不明瞭であることなどにより、作業空間内のすべての物体に対して画像データおよび/または完全3D画像データを生成することができない場合がある。操作を成功させるために、ロボットシステムは、変化する条件に応じることができなければならず、操作上意味のある時間枠内で操作を計画および実行できなければならない。
【図面の簡単な説明】
【0005】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【0006】
図1】ロボットシステムの一実施形態を示す図。
【0007】
図2】複数のカメラからの画像データを用いてロボット動作を実行するための処理の一実施形態を示すフローチャート。
【0008】
図3】分割された画像データを用いてロボット動作を実行するための処理の一実施形態を示すフローチャート。
【0009】
図4】作業空間内に配備された複数のカメラを較正するための処理の一実施形態を示すフローチャート。
【0010】
図5】作業空間からの画像データに物体インスタンス分割処理を実行するための処理の一実施形態を示すフローチャート。
【0011】
図6】作業空間内のカメラの較正を維持するための処理の一実施形態を示すフローチャート。
【0012】
図7】作業空間内のカメラを再較正するための処理の一実施形態を示すフローチャート。
【0013】
図8】複数のカメラからの画像データを用いて、作業空間内でロボット動作を実行し、および/または、作業空間の可視化表現を提供するための処理の一実施形態を示すフローチャート。
【0014】
図9A】ロボット制御のためのマルチカメラ画像処理システムの一実施形態を示す図。
【0015】
図9B】ロボット制御のためのマルチカメラ画像処理システムの一実施形態を示す図。
【0016】
図9C】ロボット制御のためのマルチカメラ画像処理システムの一実施形態を示す図。
【0017】
図10】マルチカメラ画像処理システムの一実施形態において生成および提供された視覚的表示の一例を示す図。
【0018】
図11】ロボット制御のためのマルチカメラ画像処理システムにおいてセンサデータを処理するためのコードを生成する処理の一実施形態を示すフローチャート。
【発明を実施するための形態】
【0019】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されているプロセッサ)を含め、様々な形態で実施されうる。本明細書では、これらの実施例または本発明が取りうる任意の他の形態が、技術と呼ばれうる。一般に、開示されている処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、或る時間にタスクを実行するよう一時的に構成されている一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成されている処理コアを指すものとする。
【0020】
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【0021】
複数のカメラまたはその他の画像センサを含むセンサのセットを用いて、作業空間の三次元ビューを生成するための技術が開示されている。いくつかの実施形態において、三次元ビューは、作業空間で作業を実行するために(例えば、不均質なアイテム(例えば、異なるサイズ、形状、重量、重量分布、剛性、壊れやすさ、など)の任意のセットをパレタイズ/デパレタイズならびに/もしくは他の方法で梱包および/または開梱するために)、1または複数のロボット(例えば、吸着器、グリッパ、および/または、その他のエンドエフェクタを作用端に備えたロボットアーム)を含むロボットシステムをプログラム的に利用するために用いられる。
【0022】
様々な実施形態において、3Dカメラ、力センサ、および、その他のセンサが、ピックおよび/またはプレースされるアイテムの属性を検出および判定するため、ならびに/もしくは、最初の位置で1または複数のアイテムを把持し、作業空間内の対応する移動先位置に1または複数のアイテムの各々を移動させるために、用いられる。(例えば、例えばプログラム的に決定された信頼スコアによって示されるように、十分な信頼性で)タイプを判定されたアイテムが、アイテムタイプ固有モデルから導出された戦略を用いて、把持およびプレースされてよい。識別できないアイテムは、所与のアイテムタイプに固有ではない戦略を用いてピックアンドプレースされる。例えば、サイズ、形状、および、重量の情報を用いたモデルが利用されてよい。
【0023】
いくつかの実施形態において、本明細書で開示されている技術は、作業空間の少なくとも一部の視覚的表現を生成および表示するために用いられてよい。様々な実施形態において、視覚的表現は、完全自動モードまたは部分自動モードで動作しているロボットを監視するため、および/または、遠隔操作でロボットアームまたはその他のロボットアクチュエータを制御するために、人間オペレータが利用するワークステーションを含むコンピュータまたはその他のディスプレイデバイスを介して表示されてよい。
【0024】
例えば、いくつかの実施形態において、ロボットシステムがスタックした場合(例えば、設定されたパラメータ(例えば、タイムアウト、信頼スコア、など)の範囲内で、次のタスクまたは操作を実行または完了できない場合)に、人的介入が要請されてよい。いくつかの実施形態において、表示された作業空間の画像および/またはビデオが、遠隔操作を実行するために用いられてよい。人間オペレータは、表示された画像またはビデオを用いて、作業空間を見ながらロボットを制御することで、ロボットを手動で制御してよい。いくつかの実施形態において、ディスプレイは、インタラクティな部分自動システムに組み込まれていてよい。例えば、人間オペレータが、ディスプレイを介して、ロボットが物体を把持すべき点をシーンの表示画像内で示してよい。
【0025】
図1は、ロボットシステムの一実施形態を示す図である。図の例において、ロボットシステム100は、ロボットアーム102を備えており、異質のアイテムをパレタイズ(パレットに搭載)および/またはデパレタイズ(パレットから取り出し)するよう構成されている。この例において、ロボットアーム102は、固定されているが、様々な別の実施形態において、ロボットアーム102は、例えば、レール上に取り付けられている、モータ駆動シャーシ上で完全に移動可能である、など、完全にまたは部分的に移動可能であってもよい。図に示すように、ロボットアーム102は、コンベヤベルト(またはその他のソース)104から任意のおよび/または異種のアイテムをピックして、パレットまたはその他の荷役台106に積み重ねるために用いられる。図の例において、荷役台106は、四隅に車輪を備え、四方の側面の内の3つが少なくとも部分的に閉じているパレットまたはベースを備えており、三面の「ロールパレット」、「ロールケージ」、および/または、「ロールトロリー」、「ケージトロリー」とも呼ばれる。他の実施形態において、より多い側面を備え、より少ない側面を備え、および/または、側面のないロールまたは車輪なしのパレットが用いられてもよい。いくつかの実施形態において、図1に示していない他のロボットが、積み下ろしのための所定位置ならびに/もしくは搬送されるためにトラックまたはその他の目的地、などに、荷役台106を押し込むために用いられてもよい。
【0026】
図の例において、ロボットアーム102は、吸着タイプのエンドエフェクタ108を備えている。エンドエフェクタ108は、複数の吸着カップ110を有する。ロボットアーム102は、図に示すように、ピックアップされるアイテムの上にエンドエフェクタ108の吸着カップ110を配置するために用いられ、真空源が、アイテムを把持し、アイテムをそのコンベヤ104から持ち上げ、アイテムを荷役台106上の移動先位置にプレースするための吸着力を提供する。
【0027】
様々な実施形態において、エンドエフェクタ108に取り付けられたカメラ112と、ロボットシステム100が配備されている空間内に取り付けられたカメラ114、116と、の内の1または複数が、コンベヤ104上のアイテムを識別するため、および/または、アイテムを把持し、ピック/プレースし、荷役台106上に積み重ねるための計画を決定するために用いられる。様々な実施形態において、図示されていないさらなるセンサ(例えば、コンベヤ104および/またはロボットアーム102の中におよび/または隣接して具現化されている重量センサまたは力センサ、吸着カップ110のx-y平面および/またはz-方向(垂直方向)の力センサ、など)が、例えばシステム100によって、アイテムが配置および/または再配置されうるコンベヤ104および/またはその他の移動元および/またはステージングエリア上のアイテムを識別し、その属性を決定し、把持し、ピックアップし、決定された軌道を通って移動させ、および/または、荷役台106の上または中の移動先位置にプレースするために用いられてよい。
【0028】
図の例において、カメラ112は、エンドエフェクタ108の本体の側面に取り付けられているが、いくつかの実施形態において、カメラ112および/またはさらなるカメラが、他の位置に取り付けられてもよい(例えば、吸着カップ110の間の位置から下向きに、エンドエフェクタ108の本体の下面に取り付けられ、もしくは、ロボットアーム102のセグメントまたはその他の構造に取り付けられ、もしくは、その他の位置に取り付けられる、など)。様々な実施形態において、112、114、および、116などのカメラが、コンベヤ104上のアイテム上に見えるおよび/またはアイテムを構成する、テキスト、ロゴ、写真、図、画像、マーク、バーコード、QRコード(登録商標)、または、その他の符号化および/またはグラフィック情報またはコンテンツを読み取るために用いられてよい。
【0029】
図1をさらに参照すると、図の例において、システム100は、この例では無線通信を介して(ただし、様々な実施形態において、有線通信および無線通信の一方または両方で)、ロボットアーム102、コンベヤ104、エフェクタ108、および、センサ(カメラ112、114、および、116、ならびに/もしくは、図1に示していない重量センサ、力センサ、および/または、その他のセンサなど)などの要素と通信するよう構成されている制御コンピュータ118を備える。様々な実施形態において、制御コンピュータ118は、センサ(カメラ112、114、および、116、ならびに/もしくは、図1に示していない重量センサ、力センサ、および/または、その他のセンサなど)からの入力を用いて、荷役台106へ荷積みおよび/または荷役台106から荷下ろしされるアイテムの1または複数の属性を観察、識別、および、決定するよう構成されている。様々な実施形態において、制御コンピュータ118は、例えば、画像および/またはその他のセンサデータに基づいて、制御コンピュータ118に格納されたライブラリ内および/または制御コンピュータ118にとってアクセス可能なライブラリ内のアイテムモデルデータを用いて、アイテムおよび/またはその属性を識別する。制御コンピュータ118は、アイテムに対応するモデルを用いて、移動先(荷役台106など)の中/上に、他のアイテムと共に、アイテムを積み重ねるための計画を決定および実施する。様々な実施形態において、アイテム属性および/またはモデルは、アイテムを把持、移動させて、移動先位置(例えば、荷役台106の中/上にアイテム積み重ねるための計画/再計画処理の一部として、アイテムがプレースされると決定された位置)にプレースするための戦略を決定するのに利用される。
【0030】
図の例において、制御コンピュータ118は、「オンデマンド」遠隔操作装置122に接続されている。いくつかの実施形態において、制御コンピュータ118が、完全自動モードで続行できない場合、例えば、制御コンピュータ118が完全自動モードでアイテムのピックアンドプレースを完了するための戦略を持たなくなるように、アイテムを把持、移動、および、プレースするための戦略が、決定できなくなり、および/または、失敗した場合、制御コンピュータ118は、例えば、アイテムを把持、移動、および、プレースするために、遠隔操作装置122を用いて、ロボットアーム102および/またはエンドエフェクタ108を操作することによって介入するように人間ユーザ124に指示する。
【0031】
様々な実施形態において、制御コンピュータ118は、画像データ(例えば、二次元RGB画像データまたはその他の画像データ、ビデオデータを構成する連続フレーム、3Dセンサによって生成された点群データ、2D画像データの対応するフレームに各々関連付けられている連続的な点群データセット、など)を受信して処理するよう構成されている。いくつかの実施形態において、制御コンピュータ118は、カメラ112、114、および、116、ならびに/もしくは、その他のセンサ(レーザセンサ、および、その他の光センサ、熱センサ、レーダセンサ、ソナーセンサ、もしくは、投写、反射、放射、および/または、その他の方法で受信された電磁放射および/または信号を用いて、画像を作成するために利用されるまたは利用されうる情報を検出および/または伝達するその他のセンサ)によって生成されてそこから受信された画像データに基づいて、別個のコンピュータ、アプリケーション、サービスなどによって生成された集約および/またはマージされた画像データを受信する。本明細書で利用される画像は、物理空間またはシーン(図1に示す例においてロボットシステム100が配置されている作業空間など)に存在する物体および/または特徴の視覚的および/またはコンピュータまたはその他のマシンで認識可能な表現、描写、などを含む。
【0032】
様々な実施形態において、カメラ112、114、および、116、ならびに/もしくは、その他のセンサによって生成および提供された画像データは、ロボットシステム100が配置されている作業空間の少なくとも一部の三次元ビューを生成するために処理および利用される。いくつかの実施形態において、複数のカメラ(例えば、112、114、116)からの画像データは、作業空間の三次元ビューを生成するためにマージされる。マージされた画像データは、作業空間内の対象物体の境界を決定するために分割される。分割された画像データは、作業空間内の物体の把持、作業空間での物体の移動、移動先位置への物体のプレース、の内の1または複数を実行するための戦略または計画を、自動処理で決定するなどのタスクを実行するために用いられる。
【0033】
様々な実施形態において、複数のカメラ(例えば、カメラ112、114、116)によって生成された3D点群データビューは、レジストレーションとして知られる処理によって、作業空間の完全なモデルまたはビューにマージされる。別個に取得されたビューにキャプチャされた作業空間の物体および特徴のそれぞれの位置および向きは、それらの交わる領域が可能な限り完全に重なるように、グローバル三次元座標フレームワークに変換される。異なるカメラまたはその他のセンサから取得された点群データセット(すなわち、異なるビュー)のあらゆるセットについて、様々な実施形態において、システムは、後続の処理工程(分割および物体再構築など)を適用できるように、本明細書に開示されているようにそれらを一緒に単一の点群モデルに整列させる。
【0034】
様々な実施形態において、作業空間の三次元ビューが、少なくとも部分的には、カメラ(例えば、カメラ112、114、および、116)をクロス較正し、データをマージして、利用可能できる限り多くの角度およびビューから作業空間および作業空間に存在するアイテム/物体のビューを生成することによって、カメラ112、114、および/または、116によって生成および提供された画像データを用いて生成される。例えば、図1に示す例において、カメラ112および116は、コンベヤ104上の物体が見える位置にあってよく、一方、カメラ114は、図の例において荷役台106に向けられている様子が示されており、コンベヤ104が配置されている作業空間の部分からの画像データを(現在は)全く持ちえない。同様に、アーム102は、カメラ112がもはやコンベヤ104のビューを持たないような位置に移動されてもよい。様々な実施形態において、作業空間内のカメラからの画像データ(例えば、RGBピクセル、深度ピクセル、など)は、画像データが任意の所与の瞬間にカメラおよび/またはその他のセンサから受信されていると仮定して、可能な限り完全かつ正確な作業空間の三次元ビューを動的に生成および連続更新するためにマージされる。カメラが、作業空間内の物体または領域のビューを遮られている場合、影響を受けた物体または領域への見通しを持ち続けているカメラからの画像データが、物体または領域の可能な限り完全かつ正確なビューを生成するために利用し続けられる。
【0035】
様々な実施形態において、本明細書に開示されている技術は、カメラからの複数の画像データが、作業空間および作業空間内の物体のより完全なビューを生成および維持するために用いられることを可能にする。例えば、作業空間における異なる位置および/または向きの複数のカメラを用いると、或る視点からは大きい物体によって隠されうる小さい物体を、小さい物体が隠されない見通しのよい視点からその物体を見るように配置された1または複数のカメラの画像データを介して見ることができる。同様に、物体を多くの角度から見ることで、その物体のすべての隠されていない側面および特徴を判別することが可能になるため、把持戦略を決定および実施し、物体にぴったりと隣接するようにアイテムをプレースすることを決定し、人間の作業者またはロボットアクチュエータ(例えば、ロボットアーム、コンベヤ、ロボット制御の移動可能な棚、など)が作業空間を移動する時に物体のビューを維持する、などの動作を円滑にしうる。
【0036】
いくつかの実施形態において、分割された画像(例えば、ビデオ)データが、作業空間の可視化表現を生成して表示するために用いられる。いくつかの実施形態において、対象の物体は、表示された可視化表現内で強調されてよい。例えば、色付きの境界形状または輪郭が表示されてよい。いくつかの実施形態において、人間オペレータが、対象の物体の自動生成された境界を補正、微調整、または、他の方法で境界に関するフィードバックを提供することを可能にするために、人間の操作可能なインターフェースが提供される。例えば、ユーザが、自動生成された境界形状または輪郭の位置を移動または調整すること、もしくは、強調された領域が、1ではなく2(以上)の物体を実際には含むと示すことを可能にするために、インターフェースが提供されてよい。いくつかの実施形態において、表示された可視化表現は、人間オペレータが、遠隔操作モードで作業空間内のロボットを制御することを可能にするために用いられてよい。例えば、人間オペレータは、分割されたビデオを用いて、ロボットアーム(またはその他のアクチュエータ)を適所に移動させ、強調された物体を(例えば、コンベヤ104から)把持し、強調された物体を(例えば、荷役台106上の)移動先位置へ移動させることができる。
【0037】
様々な実施形態において、本明細書に開示のタスクを実行する目的で複数のカメラからの画像データをマージすることを可能にするために、少なくともマスタまたは較正基準カメラが、較正パターン、物体、もしくは、固定のおよび/またはその他の方法で既知の位置、向きなどを有するその他の参照に対して較正される。図1に示す例において、例えば、カメラ112、114、および、116の内の1または複数が、作業空間内の固定位置(例えば、壁上の既知の位置)に取り付けられたマーカ130および/またはロボットアーム102上に取り付けられた(プリントなどされた)マーカ132の1または複数の画像に基づいて、較正されてよい。様々な実施形態において、較正されたマスタカメラによって生成された画像が、作業空間内の他のカメラの内の1または複数をクロス較正するために用いられる。
【0038】
いくつかの実施形態において、例えば、カメラの誤差、カメラへの衝突もしくは意図的な再配置または再方向付け、画像データに基づいて試行された動作がカメラの誤差またはズレを示唆するように失敗したこと、或るカメラからの画像データに基づいて、別のカメラの位置、向き、などが期待と異なることを、システムが検出したこと、などに起因して、カメラを再較正および/またはクロス較正する必要性を検出するための処理が実行される。様々な実施形態において、システム100(例えば、制御コンピュータ118)は、本明細書で開示されているように、1または複数のカメラを再較正する必要性を自動的に検出し、自動的および動的に再較正を行うよう構成されている。例えば、再較正は、様々な実施形態において、ロボットアクチュエータ上に取り付けられたカメラ(例えば、カメラ112)を用いて、作業空間内の基準マーカ(例えば、マーカ130)を再位置特定すること、基準マーカを用いてカメラから作業空間への変換を再評価すること、および、ロボット上のマーカ(例えば、マーカ132)に合わせて再較正を行うこと、の内の1または複数によって実行される。
【0039】
図2は、複数のカメラからの画像データを用いてロボット動作を実行するための処理の一実施形態を示すフローチャートである。様々な実施形態において、図2の処理200は、図1の制御コンピュータ118など、コンピュータまたはその他のプロセッサによって実行される。図の例において、画像データが、作業空間内でビデオ(例えば、RGBピクセルおよび深度ピクセルを含む3Dビデオ)をキャプチャするために配置された複数のカメラから受信される(工程202)。受信された画像データは、作業空間の三次元ビュー(「シーン」とも呼ばれる)を生成するために処理およびマージされ、作業空間内の物体を区別するために分割される(工程204)。分割されたビデオは、物体の内の1または複数に関する操作(例えば、物体を把持して、作業空間内の新たな位置に移動させる操作)を実行するために用いられる(工程206)。
【0040】
図3は、分割された画像データを用いてロボット動作を実行するための処理の一実施形態を示すフローチャートである。様々な実施形態において、図3の処理は、図2の処理の工程206を実施するために用いられる。図の例において、分割されたビデオデータは、1または複数の物体を把持、移動、および、プレースするための戦略を決定および実施するために用いられる(工程302)。分割されたビデオおよび関連付けられている境界ボックス(またはその他の形状)は、作業空間の可視化表現を生成および表示するために用いられる(工程304)。例えば、分割データは、いくつかの実施形態において、1または複数のマスクレイヤを生成して、作業空間内の物体の少なくとも一部の各々の上に、物体の輪郭と(できる限り近く)一致した半透明の色付きの形状を重ね合わせるために用いられる。
【0041】
様々な実施形態において、可視画像は、自律モードのロボットシステムの動作を監視するため、および/または、遠隔操作でロボットアームまたはその他のロボットアクチュエータを操作するために、人間オペレータによって用いられてよい。
【0042】
図4は、作業空間内に配備された複数のカメラを較正するための処理の一実施形態を示すフローチャートである。様々な実施形態において、図4の処理400は、作業空間内の複数のカメラ(図1のカメラ112、114、および、116など)またはその他のセンサから受信されたデータを制御および処理するよう構成されているコンピュータ(図1の制御コンピュータ118など)によって実行される。図の例において、較正基準が、1または複数のカメラを用いて作業空間内の基準マーカまたはその他の基準の画像を生成することによって取得される(工程402)。例えば、図1に示した例において、カメラ112、114、および、116の内の1または複数が、マーカ130および/またはマーカ132の1または複数の画像を生成するために用いられてよい。いくつかの実施形態において、ロボットアームまたはその他のアクチュエータが、キーもしくはその他のアイテムまたは付属物を対応する穴またはその他の受け部へ挿入し、既知の位置および向きにある間に画像を生成することなどによって、既知の固定位置へ移動されてよい。
【0043】
図4をさらに参照すると、較正基準は、作業空間内のすべてのカメラをクロス較正するために用いられる(工程404)。実行時に、複数のカメラからの点群をマージするために、反復最近接点(ICP)処理が実行される(工程406)。インスタンス分割処理が、作業空間内の物体を判別、識別(例えば、タイプなどで)、および、ラベル付けするために実行される(工程408)。
【0044】
図5は、作業空間からの画像データに物体インスタンス分割処理を実行するための処理の一実施形態を示すフローチャートである。様々な実施形態において、図5の処理は、図4の処理の工程408を実施するために用いられる。図の例において、分割処理は、作業空間内のすべてのカメラよりも少ないカメラからのRGB(2D)画像データに実行される(工程502)。いくつかの実施形態において、分割は、1つのカメラからのRGBデータを用いて実行される。物体境界に関連しているものとして分割処理で識別されたRGBピクセルが、対応する深度ピクセルに対してマッピングされる(工程504)。分割データおよびマッピングされた深度ピクセル情報は、物体の点の周りに分割されたボックス(またはその他の形状)を備えた点群へ逆投影するために用いられる(工程506)。各カメラの画像データについて、各物体の点群がラベル付けされ、重心が計算される(工程508)。最近傍計算が、物体を分割するためにそれぞれのカメラに対応する物体点群の重心の間で実行される(工程510)。
【0045】
図6は、作業空間内のカメラの較正を維持するための処理の一実施形態を示すフローチャートである。様々な実施形態において、図6の処理600は、図1の制御コンピュータ118など、コンピュータまたはその他のプロセッサによって実行される。図の例において、作業空間内の1または複数のカメラを再較正する必要性が、検出される(工程602)。様々な実施形態において、以下の内の1または複数が、再較正の必要性を示唆しうる。(例えば、ベース上のArUcoまたはその他のマーカの画像に基づいて)ロボットベース位置が移動したのをカメラが捕らえたこと、作業空間内に取り付けられたカメラが移動した(例えば、衝突した、人間またはロボット作業者によって意図的に再配置された、など)のをロボットアームまたはその他のアクチュエータ上のカメラが捕らえたこと、ならびに、システムが、連続して数回の(閾値回数よりも多い)把持の失敗を検出したこと。再較正は、人的介入なしに、例えば、ピックアンドプレースまたはその他のロボット動作を中断せずにリアルタイムで、動的に実行される(工程604)。様々な実施形態において、再較正は、以下の内の1または複数を含んでよい。ロボットアクチュエータ上に取り付けられたカメラ(例えば、カメラ112)を用いて、作業空間内の基準マーカ(例えば、マーカ130)を再位置特定すること、基準マーカを用いてカメラから作業空間への変換を再評価すること、および、ロボット上のマーカ(例えば、マーカ132)に合わせて再較正を行うこと。
【0046】
図7は、作業空間内のカメラを再較正するための処理の一実施形態を示すフローチャートである。様々な実施形態において、図7の処理は、図6の処理の工程604を実施するために用いられる。図の例において、ロボットシステム動作(図1に示した例のように、所望の移動先または移動先セット(パレットまたはその他の荷役台など)へ所定のセットのアイテムをピックアンドプレースする動作など)が一時中断される(工程702)。指定またはその他の方法でまだ確立されていない場合には、基準カメラが決定され、1または複数の基準画像が生成される(工程704)。例えば、固定カメラ、ロボットアームに取り付けられたカメラなどが、基準カメラとして指定される。あるいは、1または複数の他のカメラと同期したままであると思われるセットに含まれるカメラが、それらの他のカメラなどを再較正するための基準カメラとして選択されてもよい。画像は、作業空間内の基準マーカまたはその他の基準の、基準カメラおよび1または複数のその他のカメラによる画像を含んでよい。基準画像は、カメラをクロス較正するために用いられる(工程706)。
【0047】
図8は、複数のカメラからの画像データを用いて、作業空間内でロボット動作を実行し、および/または、作業空間の可視化表現を提供するための処理の一実施形態を示すフローチャートである。様々な実施形態において、図8の処理800は、図1の制御コンピュータ118など、コンピュータまたはその他のプロセッサによって実行される。図の例において、画像データが、作業空間内の複数のカメラから受信され、作業空間フィルタが適用される(工程802)。様々な実施形態において、作業空間フィルタは、実行に画像/センサデータが利用されているロボット動作のために無視できる作業空間の部分、作業空間の特徴、作業空間内のアイテム、などに関連付けられている画像および/または点群データを除外してよい。余分な情報をフィルタアウトすることで、作業空間内で操作の対象となりおよび/または関係する操作をなされる要素(把持およびプレースされる物体、アイテムが把持またはプレースされるパレットまたはその他の移動先、アイテムを移動先まで移動させる経路で遭遇しうる障害物、など)のよりクリアおよび/または集中的なビューが実現される。いくつかの実施形態において、センサからのノイズを除去するために、統計的外れ値データが作業空間フィルタによって除去されてよい。それぞれのカメラからの点群データがマージされる(工程804)。分割が、カメラの内の1または複数からのRGB画像データを用いて実行される(工程806)。例えば、最初に、RGB分割が、1つだけのカメラからの画像データに対して実行されてよい。点群データは、サブサンプリングされ、クラスタリングが実行される(工程808)。「ボックス(またはその他の3D幾何プリミティブ)適合」処理が、サブサンプリングおよびクラスタリングされた点群データとRGB分割結果データとを用いて実行される(工程810)。安定物体マッチングが実行される(工程812)。様々な実施形態において、同じ物体の複数の3D表現が、異なるカメラから2D方法を用いることで生じうる。これらの表現は、部分的にのみ重複しうる。様々な実施形態において、「安定物体マッチング」は、どのセグメントが同じ物体に対応するかを調整して、表現をマージすることを含む。様々な実施形態において、(各点と共にRGBデータを含む)点群の空間的、幾何学的、曲率の特性または特徴が、安定物体マッチングを実行するために用いられてよい。いくつかの実施形態において、安定物体マッチングは、2つの異なるカメラの代わりに同じカメラからの複数フレームにわたって、経時的に実行されてもよい。処理された画像データは、把持合成を実行するために用いられる(工程814)。例えば、物体の位置および境界情報が、ロボットグリッパまたはその他のエンドエフェクタを用いて物体を把持する戦略を決定するために用いられてよい。処理された画像データは、作業空間の可視化表現を生成して表示するために用いられる(工程816)。例えば、作業空間の生ビデオが、作業空間内の様々な物体に関連付けられている境界ボックス(またはその他の幾何プリミティブ)にカラーまたはその他の強調を適用して、表示されてよい。
【0048】
ロボット動作を実行するために、複数のセンサ(複数の3Dカメラなど)からのセンサデータを処理およびマージするようロボットシステムを構成する技術が開示されている。様々な実施形態において、管理者ユーザインターフェース、構成ファイル、アプリケーションプログラミングインターフェース(API)、または、その他のインターフェースが、センサ出力を処理および利用してロボット動作を実行するために、センサを識別し、1または複数の処理パイプラインを定義するのに用いられてよい。様々な実施形態において、パイプラインは、処理モジュールと、かかるモジュールのそれぞれの入力および出力が処理パイプラインを形成するためにリンクされる方法とを識別することによって定義されてよい。いくつかの実施形態において、定義は、ロボット動作を実行するために、センサ入力を受信、処理、および、利用するためのバイナリコードを生成するのに用いられる。他の実施形態において、定義は、処理を実行するためのプラグインを動的にロードする単一の全体的なバイナリコードによって用いられる。
【0049】
図9A図9B、および、図9Cは、それぞれ、様々な実施形態において、本明細書で開示されている技術を用いて構成および実装されたパイプラインの例を示す。
【0050】
図9Aは、ロボット制御のためのマルチカメラ画像処理システムの一実施形態を示す図である。図の例において、システム900は、センサノード902および904として図9Aに示されている複数のセンサ(3Dまたはその他のカメラなど)を備える。ノード902および904のセンサ出力は、それぞれ、作業空間フィルタ906および908によって処理される。結果として得られる点群データ(フィルタリングされたセンサ出力の3D部分)は、マージされる(910)。マージされた点群データ910は、サブサンプリング(912)およびクラスタリング(914)され、この例においては、結果として得られる物体クラスタデータが、ターゲット物体(作業空間内に存在するアイテムが移動されるパレットまたはトレイなど)の位置および向きを推定するために、「ターゲット推定」モジュール/処理915によって用いられる。
【0051】
図9Aに示す例では、分割処理916、922が、センサノード902、904からのRGBデータに対して実行され、それぞれの分割結果が、「ボックス適合」処理918、924を実行してRGB分割で識別された物体インスタンスの境界ボックス(またはその他の多面体)を決定するために用いられる。ボックス適合結果918、924は、マージされ(925)、安定物体マッチング926を実行するために用いられ、その結果は、把持合成927を実行するため、ならびに、作業空間の可視化表現928を生成および表示するために用いられる。
【0052】
図9Aに示す例において、RGB分割情報のみがマージされ(925)、安定物体マッチング926を実行し、把持合成927を実行し、作業空間内の物体の可視化表現928を生成するために用いられているが、いくつかの別の実施形態においては、点群データをマージし(910)、サブサンプリングし(912)、マージされた点群データに基づいて物体クラスタを識別した(914)結果が、安定物体マッチング926を実行し、把持合成927を実行し、作業空間内の物体の視覚化画像928を生成するために、RGB分割およびボックス適合(916、918、922、924)の結果と共にマージされてもよい(925)。
【0053】
様々な実施形態において、パイプラインは、条件に基づいて、予め定義されてよく、および/または、リアルタイムで適合されてよい。例えば、作業空間内の物体が著しく散らかっている場合、RGB分割結果は、3Dクラスタリング処理よりも良好な信号でありえ、いくつかの実施形態において、かかる条件下では、ボックス(ポリゴン)適合は、RGB分割出力のみに適用されてよい。他の条件においては、分割の両方のソース(RGB、点群データ)が、幾何プリミティブ適合の実施時などに適用されてよい。
【0054】
図9Aに示す例において、すべてのセンサ(例えば、カメラ)902、904からのRGB分割916、922データに基づいた「ボックス適合」結果918、924が、下流タスク(安定物体マッチング926、把持合成927、および、可視化928、など)を実行するためにマージされて(925)利用されているが、様々な実施形態において、すべてのセンサよりも少ないセンサからのRGB分割および/またはボックス適合データが、下流タスクの内の1または複数を実行するためにマージされて利用されてもよい。いくつかの実施形態において、所与のセンサからのデータの質および/または内容が、所与の下流タスクを実行する際に、信頼できないおよび/またはその他のセンサからのデータと同程度に有用である旨の判定が動的になされてよく、そのセンサからのデータは、そのタスクの実行時に省略されてよい(すなわち、破棄されて利用されなくてよい)。
【0055】
いくつかの実施形態において、パインラインが、所与のパイプラインパスおよび/またはタスクから所与のセンサを省略するために定義されてよい。例えば、本明細書で開示されているパイプラインを定義するユーザは、センサの性能、質、信頼性、および/または、センサの位置に基づいて、そのセンサが一部のタスクに有用であるが他のタスクには有用でありえないと判断してよく、そのセンサが適切および/または有用であるタスクにそのセンサの出力のみを利用するようにパイプラインを定義してよい。
【0056】
様々な実施形態において、図9Aのパイプライン900などのパイプラインは、例えば、特定のセンサの利用方法を変更するため、および/または、センサ902、904のセットにセンサを追加または除去するために、いつでも変更されてよい。様々な実施形態において、新しいまたは更新されたパイプラインが定義され、パイプラインを実装するためのコードが、本明細書で開示されているように、生成および配備され、新しいパイプラン、追加されたセンサ、などが、その後のロボット動作を実行するために配備および利用されることを可能にする。
【0057】
図9Bは、ロボット制御のためのマルチカメラ画像処理システムの一実施形態を示す図である。図9Bに示す処理パイプライン940の例において、センサ902、904の出力(例えば、カメラフレームデータ)が作業空間フィルタ906、908によって処理されることで、フィルタリングされたセンサ出力を生成し、その出力の3D点群データ部分がマージされる(910)ことで、作業空間のマージ済み点群データを生成する。この例においてマージされた点群データは、以下の3つの別個のモジュールに提供される。マージされた点群データに存在する情報を強化するための処理を実行する事前可視化モジュール942、作業空間内の対象の物体である3D空間および/または対象の物体によって占められていない3D空間を識別する「ボクセル」処理モジュール944、ならびに、マージされた点群データと事前可視化モジュール942およびボクセルモジュール944の出力とに基づいて、可視化表現を生成して、例えばディスプレイデバイスを介して、提供する可視化モジュール946。様々な実施形態において、事前可視化モジュール942は、処理パイプラインの残り部分からのデータを再フォーマットすることで、効率的なレンダリングを可能にし、ユーザが、パン、ズーム、回転などを円滑に実行できる高度にインタラクティブな可視化を実現する。
【0058】
図9Cは、ロボット制御のためのマルチカメラ画像処理システムの一実施形態を示す図である。図の例において、パイプライン960は、単一のセンサノード962を備えており、その出力(例えば、3Dまたはその他のカメラフレームデータ)は、フィルタリングされたデータをクラスタリングモジュールまたは処理966、事前前可視化モジュール970、および、可視化モジュール972へ提供するために、作業空間フィルタ964によって処理される。さらに、クラスタリングモジュール966の出力は、可視化モジュール972および把持合成モジュール968へ提供され、次に、把持合成モジュール968の出力は、事前可視化モジュール970および可視化モジュール972へ提供される。図9Cに示す例は、本明細書で開示されているように、処理パイプラインを定義するためにモジュールがどれだけ容易にリンクされうるのかを示しており、中間モジュールの出力は、各処理モジュールがパイプライン内の次のモジュールへの出力として最良の情報を提供するために必要な情報を有することを保証するために、複数のパスに沿って伝えられる。図9Cに示す例において、例えば、可視化モジュールは、センサ962および作業空間フィルタ964による生フィルタリング済みセンサノード出力と、作業空間フィルタリングされたセンサ出力962、964および把持合成結果968に基づいて生成されたクラスタ情報966、把持合成データ968、および、事前可視化結果970とにアクセスできることで、ロボット動作を監視し、および/または、(例えば、遠隔操作で)介入する際に、人間オペレータにとって非常に有用でありうる情報で強化された高品質な可視化を可能にする。
【0059】
図10は、マルチカメラ画像処理システムの一実施形態において生成および提供された視覚的表示の一例を示す図である。様々な実施形態において、表示1000は、例えば、図8および図9に示した処理およびシステムによって、本明細書で開示されているように、作業空間内の複数のカメラからの画像データに基づいて生成および表示されてよい。図の例において、表示1000は、カメラが(図に示すように右側に)取り付けられている吸着カップ式のエンドエフェクタ1004を備えたロボットアーム1002を含む作業空間(またはその一部)を示している。この例におけるロボットシステムは、テーブル1006からアイテムを取ってきて、それらを移動先位置(例えば、図10に示されていないパレットまたは他の移動先)へ移動させるよう構成されていてよい。テーブル1006上に示されている物体1008、1010、および、1012は各々、物体インスタンスとして識別されており、図に示すようなフィルパターンは、物体を強調し物体を区別するために用いられる異なる色を表す。様々な実施形態において、表示1000は、例えば、2つの隣接する物体が、単色および/または境界ボックス(またはその他の形状)内に示されている場合に、人間オペレータが、ロボットシステムによって操作される物体の分割におけるエラーを検出すること、ならびに/もしくは、遠隔操作でロボットアーム1002を制御すること、を可能にするために提供されてよい。
【0060】
図11は、ロボット制御のためのマルチカメラ画像処理システムにおいてセンサデータを処理するためのコードを生成する処理の一実施形態を示すフローチャートである。様々な実施形態において、処理1100は、コンピュータ(図1の制御コンピュータ118など)によって実行される。図の例において、パイプライン定義が、受信およびパースされる(工程1102)。例えば、パイプライン定義は、ユーザインターフェース、構成ファイル、APIなどを介して受信されてよい。定義されている処理パイプラインに含められる処理構成要素のインスタンスが、パイプライン定義で定義されているように、作成およびリンクされる(工程1104)。構成要素およびパイプラインを実装するためのバイナリコードが、(必要に応じて)コンパイルされ、配備される(工程1106)。
【0061】
様々な実施形態において、本明細書で開示されている技術は、いくつかの実施形態におけるロボットアームまたはその他のロボットアクチュエータに取り付けられた1または複数のカメラなど、作業空間内の複数のカメラによって生成された画像データに基づいて、完全または部分的に自律動作でおよび/または完全または部分的に遠隔操作で、ロボット動作を実行するために用いられてよい。
【0062】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供されている詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示されている実施形態は、例示であり、限定を意図するものではない。
[適用例1]
システムであって、
作業空間に関連付けられている複数のセンサの各々から画像データを受信するよう構成されている通信インターフェースと、前記画像データは、前記複数のセンサの内の各センサについて、視覚画像情報および深度情報の一方または両方を含み、
前記通信インターフェースに接続されているプロセッサと、
を備え、
前記プロセッサは、
前記複数のセンサからの画像データをマージして、マージ済み点群データを生成し、
前記複数のセンサの内の少なくとも一部の前記センサからの視覚画像データに基づいて分割を実行して、分割結果を生成し、
前記マージ済み点群データおよび前記分割結果の一方または両方を用いて、前記作業空間のマージ済み三次元分割ビューを生成するよう構成されている、システム。
[適用例2]適用例1に記載のシステムであって、前記複数の画像センサは、1または複数の三次元(3D)カメラを含む、システム。
[適用例3]適用例1に記載のシステムであって、前記視覚画像データは、RGBデータを含む、システム。
[適用例4]適用例1に記載のシステムであって、前記プロセッサは、前記マージ済み点群データおよび前記分割結果の一方または両方を用いて、前記作業空間内の物体に関するボックス適合を実行するよう構成されている、システム。
[適用例5]適用例4に記載のシステムであって、前記プロセッサは、さらに、前記マージ済み点群データおよび前記分割結果の一方または両方を用いて、ロボットアームで前記物体を把持するための戦略を合成するよう構成されている、システム。
[適用例6]適用例5に記載のシステムであって、前記プロセッサは、さらに、前記ロボットアームで前記物体を把持するための前記戦略を実施するよう構成されている、システム。
[適用例7]適用例6に記載のシステムであって、前記プロセッサは、前記物体を元の位置からピックして、前記物体を前記作業空間内の移動先位置にプレースするために、ロボット動作によって前記物体を把持するよう構成されている、システム。
[適用例8]適用例1に記載のシステムであって、前記プロセッサは、さらに、前記作業空間の前記マージ済み三次元分割ビューを用いて、前記作業空間の視覚化表現を表示するよう構成されている、システム。
[適用例9]適用例8に記載のシステムであって、前記表示された視覚化表現は、前記作業空間内に描写された前記物体を強調している、システム。
[適用例10]適用例1に記載のシステムであって、前記プロセッサは、前記マージ済み点群データおよび前記分割結果を用いて、少なくとも部分的には、前記分割結果を含む1セットの点を前記マージ済み点群データに逆投影することによって、前記作業空間のマージ済み三次元分割ビューを生成するよう構成されている、システム。
[適用例11]適用例1に記載のシステムであって、前記プロセッサは、さらに、前記マージ済み点群データをサブサンプリングするよう構成されている、システム。
[適用例12]適用例11に記載のシステムであって、前記プロセッサは、さらに、前記サブサンプリングされた点群データにクラスタ処理を実行するよう構成されている、システム。
[適用例13]適用例12に記載のシステムであって、前記プロセッサは、前記サブサンプリングおよびクラスタリングされた点群データと前記分割結果とを用いて、前記作業空間内の物体に関するボックス適合結果を生成するよう構成されている、システム。
[適用例14]適用例1に記載のシステムであって、前記プロセッサは、さらに、前記一部のセンサに含まれないセンサに関連付けられている視覚画像データに少なくとも部分的に基づいて、前記作業空間の前記マージ済み三次元分割ビューを検証するよう構成されている、システム。
[適用例15]適用例14に記載のシステムであって、前記プロセッサは、少なくとも部分的には、前記作業空間の前記マージ済み三次元分割ビューを用いて、前記作業空間内の物体に関する第1ボックス適合結果を生成し、前記一部のセンサに含まれないセンサに関連付けられている視覚画像データを用いて、前記作業空間内の前記物体に関する第2ボックス適合結果を生成し、前記第1ボックス適合および前記第2ボックス適合を用いて、前記物体の検証済みボックス適合を決定することにより、前記一部のセンサに含まれない前記センサに関連付けられている前記視覚画像データに少なくとも部分的に基づいて、前記作業空間の前記マージ済み三次元分割ビューを検証するよう構成されている、システム。
[適用例16]適用例1に記載のシステムであって、前記プロセッサは、少なくとも部分的には、ユーザ定義された処理パイプラインを実装することにより、前記画像データをマージして処理するよう構成されている、システム。
[適用例17]適用例16に記載のシステムであって、前記プロセッサは、前記ユーザ定義された処理パイプラインの定義を受信してパースするよう構成されている、システム。
[適用例18]適用例17に記載のシステムであって、前記プロセッサは、前記定義を用いて、前記パイプラインを構成するモジュールのインスタンスを作成し、前記モジュールおよびパイプラインを実装するためのバイナリコードを自動生成するよう構成されている、システム。
[適用例19]
方法であって、
作業空間に関連付けられている複数のセンサの各々から画像データを受信し、前記画像データは、前記複数のセンサの内の各センサについて、視覚画像情報および深度情報の一方または両方を含み、
前記複数のセンサからの画像データをマージして、マージ済み点群データを生成し、
前記複数のセンサの内の少なくとも一部の前記センサからの視覚画像データに基づいて分割を実行して、分割結果を生成し、
前記マージ済み点群データおよび前記分割結果の一方または両方を用いて、前記作業空間のマージ済み三次元分割ビューを生成すること、
を備える、方法。
[適用例20]
コンピュータプログラム製品であって、非一時的なコンピュータ読み取り可能媒体内に具現化され、
作業空間に関連付けられている複数のセンサの各々から画像データを受信するためのコンピュータ命令と、前記画像データは、前記複数のセンサの内の各センサについて、視覚画像情報および深度情報の一方または両方を含み、
前記複数のセンサからの画像データをマージして、マージ済み点群データを生成するためのコンピュータ命令と、
前記複数のセンサの内の少なくとも一部の前記センサからの視覚画像データに基づいて分割を実行して、分割結果を生成するためのコンピュータ命令と、
前記マージ済み点群データおよび前記分割結果の一方または両方を用いて、前記作業空間のマージ済み三次元分割ビューを生成するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図9C
図10
図11