JP2024020532A - 重なり処理機構を備えたロボットシステム及びその操作方法 - Google Patents
重なり処理機構を備えたロボットシステム及びその操作方法 Download PDFInfo
- Publication number
- JP2024020532A JP2024020532A JP2023199732A JP2023199732A JP2024020532A JP 2024020532 A JP2024020532 A JP 2024020532A JP 2023199732 A JP2023199732 A JP 2023199732A JP 2023199732 A JP2023199732 A JP 2023199732A JP 2024020532 A JP2024020532 A JP 2024020532A
- Authority
- JP
- Japan
- Prior art keywords
- detection result
- occlusion
- information
- detection
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 title abstract description 18
- 230000007246 mechanism Effects 0.000 title description 2
- 238000001514 detection method Methods 0.000 claims abstract description 190
- 239000012636 effector Substances 0.000 claims description 15
- 230000002123 temporal effect Effects 0.000 claims 1
- 230000002860 competitive effect Effects 0.000 abstract description 25
- 238000005516 engineering process Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 26
- 238000003384 imaging method Methods 0.000 description 22
- 238000012546 transfer Methods 0.000 description 22
- 230000032258 transport Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 230000026676 system process Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010191 image analysis Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000000704 physical effect Effects 0.000 description 3
- 230000036544 posture Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 229920001746 electroactive polymer Polymers 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 210000003205 muscle Anatomy 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004033 plastic Substances 0.000 description 2
- 229920003023 plastic Polymers 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000003854 Surface Print Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000002985 plastic film Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003746 surface roughness Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 125000000391 vinyl group Chemical group [H]C([*])=C([H])[H] 0.000 description 1
- 229920002554 vinyl polymer Polymers 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G1/00—Storing articles, individually or in orderly arrangement, in warehouses or magazines
- B65G1/02—Storage devices
- B65G1/04—Storage devices mechanical
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G37/00—Combinations of mechanical conveyors of the same kind, or of different kinds, of interest apart from their application in particular machines or use in particular manufacturing processes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
- B65G43/10—Sequence control of conveyors operating in combination
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G47/00—Article or material-handling devices associated with conveyors; Methods employing such devices
- B65G47/74—Feeding, transfer, or discharging devices of particular kinds or types
- B65G47/90—Devices for picking-up and depositing articles or materials
- B65G47/91—Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G67/00—Loading or unloading vehicles
- B65G67/02—Loading or unloading land vehicles
- B65G67/24—Unloading land vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0014—Image feed-back for automatic industrial control, e.g. robot with camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/54—Extraction of image or video features relating to texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/02—Control or detection
- B65G2203/0208—Control or detection relating to the transported articles
- B65G2203/0233—Position of the article
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39469—Grip flexible, deformable plate, object and manipulate it
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
- De-Stacking Of Articles (AREA)
Abstract
【課題】重なり合った柔軟オブジェクトを処理するためのロボットシステムを操作する方法を提供すること。【解決手段】開始地点における柔軟オブジェクトを表す画像データに基づいて検出特徴を生成し、柔軟オブジェクトの重なり合った領域を識別又は推定する。画像データの一部を、完全に検出されたエリア、オクルージョンマスクエリア(例えば、重なり合った領域の上の競合的部分を含むエリア)、又は検出マスクエリア(例えば、一番上のオブジェクト又はオブジェクトの露出部分の表面の表現としてオブジェクト検出に利用される領域を含むエリア)に分類する。ロボットシステムは、分類された部分に基づいて、柔軟オブジェクトを把握し移送するための把持部位を決定する。【選択図】図5
Description
関連出願
本出願は、2021年9月1日に出願された米国仮特許出願第63/239,795号の利益を主張するものであり、この米国仮特許出願の全体を参照により本明細書に援用する。
本出願は、2021年9月1日に出願された米国仮特許出願第63/239,795号の利益を主張するものであり、この米国仮特許出願の全体を参照により本明細書に援用する。
技術分野
本技術は、一般に、ロボットシステムを対象とし、より詳細には、オブジェクト更新機構を備えたロボットシステムを対象とする。
本技術は、一般に、ロボットシステムを対象とし、より詳細には、オブジェクト更新機構を備えたロボットシステムを対象とする。
ロボット(例えば、物理的アクションを自動的/自律的に実行するように構成された機械)は、現在多くの分野で広く使われている。例えば、ロボットは、製造、包装、運搬及び/又は出荷などにおいて、様々なタスク(例えば、オブジェクトを操作又は移送するタスク)を実施するために使用できる。ロボットは、タスクの実施に際して、人間のアクションを模倣し、それによって、危険なタスク又は繰り返しタスクを行うのに通常は必要な人間の関与に取って代わることができ、又はその関与を減らすことができる。しかし、多くの場合、ロボットには、より複雑なタスクの実施に必要とされる人間の鋭敏性及び/又は適応性を再現するのに欠かせない精巧さが不足している。例えば、ロボットは、微妙な違い及び/又は予期せぬ状況を認識又は処理するのに困難を伴うことが多い。したがって、微妙な違い及び予期せぬ状況に対処するために、ロボットの様々な態様を制御し管理するための改良されたロボットシステム及び技法が依然として必要とされている。
本明細書では、ロボットシステムを使用してオブジェクトを移送するためのシステム及び方法を説明する。オブジェクトには、特に、柔軟な(例えば、非剛性の)オブジェクトが含まれ得る。また、処理されたオブジェクトには、画像処理結果に基づいて、(例えば、マスターデータに記述されている)登録されたオブジェクトの1つ以上の態様と完全には一致しない予期せぬオブジェクトが含まれ得る。画像データを使用して、スタック内の柔軟オブジェクトの場所、形状、大きさ、及び配置を処理することは、柔軟オブジェクトの表面が、その下にある支持オブジェクトの形状、輪郭、及び/又はエッジによって歪められる可能性があるため、困難な場合がある。本技術の実施形態は、開始地点におけるオブジェクトを描写する受信画像データを処理して、オブジェクトの重なり合った領域を識別又は推定することができる。ロボットシステムが、スタックから柔軟オブジェクトを把持してピックアップするために、2次元及び/又は3次元の画像データを処理して、周縁部、重なり合ったエッジ、跡がついた表面の特徴、又はこれらに類するものを本質的に区別することが可能である。この処理は、把持部位と、スタックからオブジェクトを把持する順序とを識別することを補助するために、画像データの一部を、完全に検出されたエリア、オクルージョンマスクエリア(例えば、重なり合った領域の上の競合的部分を含むエリア)、又は検出マスクエリア(例えば、一番上のオブジェクト又はオブジェクトの露出部分の表面の表現としてオブジェクト検出に利用される領域を含むエリア)に分類することを含み得る。本ロボットシステムは、分類された部分に基づいて、オブジェクトを把握し移送するための把持部位を決定することができる。いくつかの実施形態では、本ロボットシステムは、処理画像データを使用して、把握オブジェクトを持ち上げる前に横方向に移動させる動作計画を導出し、それを実施することができる。そのような動作計画は、オクルージョンマスク(複数可)及び/又は検出マスクの1つ以上の特性に基づいて導出され得る。
実例を挙げると、本ロボットシステムは(例えば、コントローラを介して)移送タスクを実施するためのロボットアームアセンブリ(例えば、ピッカーロボット)を制御し操作するように構成され得る。この移送タスクは、比較的柔らかい/柔軟なオブジェクト、比較的薄いオブジェクト、及び/又は比較的透明なオブジェクトを選び取ることに対応し得る。そのようなオブジェクトの例としては、袋で覆われたオブジェクト、プラスチックシート又はビニール袋に包まれた布ベースのオブジェクト及び/又は透明な容器、シート、又はシートなどを挙げることができる。そのようなターゲットオブジェクトが互いに積み重なって置かれた場合は、それにより、下部オブジェクト/重ね合わされたオブジェクトの跡のため、上に乗るオブジェクトの表面上に、又は表面を介して、変形(例えば、筋)又はその他の視覚アーチファクトが現れる可能性がある。以下に説明する技術の実施形態は、対応する画像(例えば、上に乗るオブジェクト又は積み重ねられたオブジェクトの上面図画像)に描写されたそのような跡及び変形を処理して認識することができる。換言すれば、本ロボットシステムは、オブジェクト表面の表面変形及び/又は任意の視覚的特徴/視覚像を、オブジェクトの実際のエッジ(例えば、周縁部)と効果的に区別するように画像を処理することが可能である。この処理に基づいて、本ロボットシステムは、重なりを考慮して調整しながらオブジェクトを移送する動作計画を導出し、それを実施することができる。
以下では、本発明に開示されている技術を完全に理解できるようにするために、多数の具体的詳細について述べる。他の実施形態では、ここで紹介された技術は、これらの具体的な詳細を用いずに実践できる。他の場合、特定の機能又はルーチン等の周知の特徴は、本開示を不必要に曖昧にすることを回避するために詳細には説明されない。この発明を実施するための形態における「実施形態」、「一実施形態」などへの言及は、説明されている特定の特徴、構造、材料、又は特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書におけるそのような語句の出現は、必ずしも全てが同じ実施形態を指すものではない。一方、そのような参照は必ずしも相互に排他的なものではない。さらに、特定の特徴、構造、材料、又は特性は、1つ以上の実施形態において任意の適切な方法で組み合わせることができる。図に示される様々な実施形態は、単に例示的な表現であり、必ずしも縮尺通りに描かれていないことを理解されたい。
周知であり、しばしばロボットシステム及びサブシステムに関連付けられるが、開示された技術のいくつかの重要な態様を不必要に不明瞭にする可能性がある構造又はプロセスを説明するいくつかの詳細は、明確にするために以下の説明には記載されていない。さらに、以下の開示では、本技術の異なる態様のいくつかの実施形態が示されているが、他のいくつかの実施形態は、本節で説明したものとは異なる構成又は異なる構成要素を有することができる。したがって、開示された技術は、追加要素がある、又は下記に説明されるいくつかの要素がない他の実施形態を有し得る。
下記に説明される本開示の多くの実施形態又は態様は、プログラム可能なコンピュータ又はコントローラによって実行されるルーチンを含む、コンピュータ実行可能命令又はコントローラ実行可能命令の形態をとり得る。当業者は、開示された技術が、以下で示され説明されるもの以外のコンピュータシステム又はコントローラシステムで実施できることを理解するであろう。本明細書で説明される技術は、以下で説明されるコンピュータ実行可能命令の1つ以上を実行するように具体的にプログラムされ、構成され、又は構築される専用コンピュータ又はデータプロセッサで具体化することができる。したがって、本明細書で一般的に使用される「コンピュータ」及び「コントローラ」という用語は、任意のデータプロセッサを指し、インターネット機器及びハンドヘルドデバイス(パームトップコンピュータ、ウェアラブルコンピュータ、携帯電話もしくは移動電話、マルチプロセッサシステム、プロセッサベースもしくはプログラマブル家庭用電化製品、ネットワークコンピュータ、ミニコンピュータ、又は同種のものを含む)を含むことができる。これらのコンピュータ及びコントローラによって処理される情報は、液晶ディスプレイ(LCD)を含む、任意の適切な表示媒体で表示することができる。コンピュータ実行可能タスク又はコントローラ実行可能タスクを実行するための命令は、ハードウェア、ファームウェア、又はハードウェア及びファームウェアの組み合わせを含む、任意の適切なコンピュータ可読媒体の媒体に記憶又は搭載することができる。命令は、非一時的有形コンピュータ可読媒体を含む、例えば、フラッシュドライブ、USBデバイス、及び/又は他の適切な媒体を含む、任意の適切なメモリデバイスに含まれ得る。
「結合された」及び「接続された」という用語は、それらの派生語とともに、構成要素間の構造的関係を説明するために本明細書で使用することができる。これらの用語は、互いに同義語として意図されたものではないことを理解されたい。むしろ、特定の実施形態では、「接続された」は2つ以上の要素が互いに直接接触していることを示すために使用することができる。文脈で明らかにされていない限り、「結合された」という用語は、2つ以上の要素が直接もしくは間接的のいずれかで(それらの要素の間にある他の介在要素と)互いに接触していること、又は、2つ以上の要素が互いに(例えば、信号の送信/受信に関する、又は関数呼び出し等に関する因果関係のように)連携もしくは相互作用していること、あるいはそれら両方を示すために使用できる。
適切な環境
図1は、本技術の1つ以上の実施形態によるロボットシステム100がオブジェクトを運搬する例示的な環境の図である。ロボットシステム100は、1つ以上のタスクを実行するように構成される1つ以上のユニット(例えば、ロボット)を含み得、及び/又はそのユニットと通信し得る。オブジェクトの検出/更新の態様は、様々なユニットによって実践又は実施することができる。
図1は、本技術の1つ以上の実施形態によるロボットシステム100がオブジェクトを運搬する例示的な環境の図である。ロボットシステム100は、1つ以上のタスクを実行するように構成される1つ以上のユニット(例えば、ロボット)を含み得、及び/又はそのユニットと通信し得る。オブジェクトの検出/更新の態様は、様々なユニットによって実践又は実施することができる。
図1に示す例では、ロボットシステム100は、倉庫又は物流/出荷ハブに、荷下ろしユニット102、移送ユニット104(例えば、パレタイズロボット及び/又はピースピッカーロボット)、運搬ユニット106、荷積みユニット108、又はそれらの組み合わせを含み得、及び/又はそのユニットと通信し得る。ロボットシステム100の各ユニットは、1つ以上のタスクを実行するように構成することができる。タスクは、トラックもしくはバンからオブジェクトを荷下ろしして倉庫に収納すること、又は収納地点からオブジェクトを荷下ろしして出荷の準備をすることなど、目標を達成する動作を実行するために順番に組み合わせることができる。別の例では、タスクはオブジェクトを目標地点(例えば、パレットの上及び/又はビン/ケージ/ボックス/ケースの内部)に配置することを含み得る。以下で説明するように、本ロボットシステムは、オブジェクトを検出し、オブジェクトのピッキング、配置、及び/又は積み重ねのためのプラン(例えば、配置地点/向き、オブジェクトを移送する順序、及び/又は対応する動作計画)を導出することができる。ユニットのそれぞれは、タスクを実行するために、導出された計画の1つ以上に従って、一連のアクションを(例えば、ユニットの1つ以上の構成要素を操作することによって)実行するように構成され得る。
いくつかの実施形態では、タスクは、ターゲットオブジェクト112(例えば、実行中のタスクに対応するパッケージ、ボックス、ケース、ケージ、パレットなどのうちの1つ)を開始地点114からタスク地点116へ移動させるなど、ターゲットオブジェクト112の操作(例えば、移動させること及び/又は向きを変えること)を含み得る。例えば、荷下ろしユニット102(例えば、デバンニングロボット)は、運搬車(例えば、トラック)内の場所からコンベアベルト上の場所へターゲットオブジェクト112を移送するように構成され得る。また、移送ユニット104は、ある場所(例えば、コンベアベルト、パレット、容器、ボックス、又はビン)から別の場所(例えば、パレット、容器、ボックス、ビンなど)へターゲットオブジェクト112を移送するように構成され得る。別の例では、移送ユニット104(例えば、ピッカーロボット)は、ソース地点(例えば、容器、カート、ピックアップエリア、及び/又はコンベア)から送り先へターゲットオブジェクト112を移送するように構成され得る。操作終了の際には、運搬ユニット106は、移送ユニット104に割り当てられたエリアから、荷積みユニット108に割り当てられたエリアへターゲットオブジェクト112を移送することができ、荷積みユニット108は、移送ユニット104から収納地点(例えば、棚上の場所)へ(例えば、ターゲットオブジェクト112を載せたパレット、容器、及び/又はラックを移動させることによって)ターゲットオブジェクト112を移送することができる。
例示目的のため、ロボットシステム100は、出荷センターとの関連で説明されているが、ロボットシステム100は、製造、組み立て、包装、ヘルスケア、及び/又は他のタイプの自動化のためなど、他の環境で/他の目的のために、タスクを実行するように構成できることが理解されよう。ロボットシステム100はまた、図1に示されていない、マニピュレータ、サービスロボット、モジュール型ロボットなどの他のユニットを含み得、及び/又はそのユニットと通信し得ることも理解されよう。例えば、いくつかの実施形態では、他のユニットには、パレットにオブジェクトを配置するためのパレタイズユニット、オブジェクトをケージカート又はパレットからコンベア又は他のパレットの上に移送するためのデパレタイズユニット、オブジェクトをある容器から別の容器に移送するための容器入れ換えユニット、オブジェクトを包むための包装ユニット、オブジェクトの1つ以上の特性に従ってオブジェクトをグループ化するための仕分けユニット、オブジェクトの1つ以上の特性に従ってオブジェクトを異なるように操作(例えば、仕分け、グループ化、及び/又は移送)するためのピースピッキングユニット、あるいはそれらの組み合わせが含まれ得る。
ロボットシステム100は、動作(例えば、回転変位及び/又は並進変位)のためにジョイントで接続された物理的又は構造的な部材(例えば、ロボットマニピュレータアーム)を含み得、及び/又はその部材に結合され得る。構造部材及びジョイントは、ロボットシステム100の使用/操作に応じて1つ以上のタスク(例えば、把持、回転、溶接など)を実行するように構成されているエンドエフェクタ(例えば、グリッパ)を操作するように構成された運動連鎖を形成することができる。ロボットシステム100は、対応するジョイントの周囲又は対応するジョイントで、構造部材を駆動又は操作する(例えば、動かす及び/又は向きを変える)ように構成される作動デバイス(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含み得、及び/又はその作動デバイスと通信し得る。いくつかの実施形態では、ロボットユニットは、対応するユニット/シャーシをあちらこちらに運搬するように構成される運搬用モータを含み得る。
ロボットシステム100は、構造部材を操作する、及び/又はロボットユニットを運搬する、などのタスクを実施するために使用される情報を取得するように構成されたセンサを含み得る、及び/又はセンサと通信し得る。センサは、ロボットシステム100の1つ以上の物理的特性(例えば、その1つ以上の構造部材/ジョイントの状態、状況、及び/又は場所)及び/又は周囲環境の1つ以上の物理的特性を検出又は測定するように構成されたデバイスを含み得る。センサのいくつかの例には、加速度計、ジャイロスコープ、力センサ、歪みゲージ、触覚センサ、トルクセンサ、位置エンコーダなどがあり得る。
いくつかの実施形態では、例えば、センサには、周囲環境を検出するように構成される1つ以上の撮像デバイス(例えば、視覚カメラ及び/又は赤外線カメラ、2D及び/又は3D撮像カメラ、ライダ又はレーダなどの距離測定デバイスなど)が含まれ得る。撮像デバイスは、(例えば、自動検査、ロボットガイダンス、又は他のロボットアプリケーションのために)マシン/コンピュータビジョンを介して処理され得る、デジタル画像及び/又は点群など、検出された環境の表現を生成することができる。ロボットシステム100は、デジタル画像及び/又は点群を処理して、ターゲットオブジェクト112及び/又はその姿勢、開始地点114、タスク地点116、又はそれらの組み合わせを識別することができる。
ロボットシステム100は、ターゲットオブジェクト112を操作するために、指定エリア(例えば、トラック内又はコンベアベルト上などのピックアップ地点)の画像を取り込み、解析して、ターゲットオブジェクト112及びその開始地点114を識別することができる。同様に、ロボットシステム100は、別の指定エリア(例えば、コンベアにオブジェクトを置くための降下地点、容器内にオブジェクトを置くための場所、又は積み重ねるためのパレット上の場所)の画像を取り込み、解析して、タスク地点116を識別することができる。例えば、撮像デバイスは、ピックアップエリアの画像を生成するように構成される1つ以上のカメラ、及び/又はタスクエリア(例えば、降下エリア)の画像を生成するように構成される1つ以上のカメラを含み得る。下記のように、取り込み画像に基づいて、ロボットシステム100は、開始地点114、タスク地点116、関連姿勢を含むオブジェクト検出結果、梱包/配置計画、移送/梱包順序、及び/又は他の処理結果を判定することができる。
いくつかの実施形態では、例えば、センサは、ロボットシステム100の構造部材(例えば、ロボットアーム及び/又はエンドエフェクタ)及び/又は対応するジョイントの位置を検出するように構成された位置センサ(例えば、位置エンコーダ、電位差計など)を含み得る。ロボットシステム100は、位置センサを使用して、タスクの実行中に構造部材及び/又はジョイントの位置及び/又は向きを追跡することができる。
ロボットシステム
図2は、本技術の1つ以上の実施形態によるロボットシステム100の構成要素を例示するブロック図である。いくつかの実施形態では、例えば、ロボットシステム100(例えば、上記のユニット又はアセンブリ及び/又はロボットの1つ以上におけるロボットシステム100)は、1つ以上のプロセッサ202、1つ以上のストレージデバイス204、1つ以上の通信デバイス206、1つ以上の入力出力デバイス208、1つ以上の作動デバイス212、1つ以上の運搬用モータ214、1つ以上のセンサ216、又はそれらの組み合わせなどの電子/電気デバイスを含み得る。様々なデバイスは、有線接続及び/又は無線接続を介して互いと結合することができる。例えば、ロボットシステム100用の1つ以上のユニット/構成要素、及び/又はロボットユニットの1つ以上は、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バス又はPCI-Expressバス、ハイパートランスポート又は業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、又は電気電子技術者協会(IEEE)標準1394バス(「ファイアワイヤ」とも呼ばれる)等のバスを含み得る。また、例えば、ロボットシステム100は、デバイス間の有線接続を提供するための、ブリッジ、アダプタ、コントローラ、又は他の信号関連デバイスを含み得る、及び/又はそれらと通信し得る。無線接続は、例えば、セルラ通信プロトコル(例えば、3G、4G、LTE、5Gなど)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、ワイヤレスフィデリティ(WIFI))、ピアツーピア又はデバイス間通信プロトコル(例えば、Bluetooth、近距離無線通信(NFC)など)、モノのインターネット(IoT)プロトコル(例えば、NB-IoT、Zigbee、Z-wave、LTE-Mなど)、及び/又は他の無線通信プロトコルに準拠し得る。
図2は、本技術の1つ以上の実施形態によるロボットシステム100の構成要素を例示するブロック図である。いくつかの実施形態では、例えば、ロボットシステム100(例えば、上記のユニット又はアセンブリ及び/又はロボットの1つ以上におけるロボットシステム100)は、1つ以上のプロセッサ202、1つ以上のストレージデバイス204、1つ以上の通信デバイス206、1つ以上の入力出力デバイス208、1つ以上の作動デバイス212、1つ以上の運搬用モータ214、1つ以上のセンサ216、又はそれらの組み合わせなどの電子/電気デバイスを含み得る。様々なデバイスは、有線接続及び/又は無線接続を介して互いと結合することができる。例えば、ロボットシステム100用の1つ以上のユニット/構成要素、及び/又はロボットユニットの1つ以上は、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バス又はPCI-Expressバス、ハイパートランスポート又は業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、又は電気電子技術者協会(IEEE)標準1394バス(「ファイアワイヤ」とも呼ばれる)等のバスを含み得る。また、例えば、ロボットシステム100は、デバイス間の有線接続を提供するための、ブリッジ、アダプタ、コントローラ、又は他の信号関連デバイスを含み得る、及び/又はそれらと通信し得る。無線接続は、例えば、セルラ通信プロトコル(例えば、3G、4G、LTE、5Gなど)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、ワイヤレスフィデリティ(WIFI))、ピアツーピア又はデバイス間通信プロトコル(例えば、Bluetooth、近距離無線通信(NFC)など)、モノのインターネット(IoT)プロトコル(例えば、NB-IoT、Zigbee、Z-wave、LTE-Mなど)、及び/又は他の無線通信プロトコルに準拠し得る。
プロセッサ202は、ストレージデバイス204(例えば、コンピュータメモリ)に記憶された命令(例えば、ソフトウェア命令)を実行するように構成されたデータプロセッサ(例えば、中央処理装置(CPU)、専用コンピュータ、及び/又はオンボードサーバー)を含み得る。プロセッサ202は、他のデバイスを制御するプログラム命令/他のデバイスとインターフェースをとるプログラム命令を実施し、それによってロボットシステム100がアクション、タスク、及び/又は動作を実行することができる。
ストレージデバイス204は、プログラム命令(例えば、ソフトウェア)が記憶される非一時的コンピュータ可読媒体を含み得る。ストレージデバイス204のいくつかの例は、揮発性メモリ(例えば、キャッシュ及び/又はランダムアクセスメモリ(RAM))及び/又は不揮発性メモリ(例えば、フラッシュメモリ及び/又は磁気ディスクドライブ)を含み得る。ストレージデバイス204の他の例は、ポータブルメモリドライブ及び/又はクラウドストレージデバイスを含み得る。
いくつかの実施形態では、ストレージデバイス204を使用して、マスターデータ、処理結果、及び/又は所定のデータ/閾値をさらに記憶し、それらへのアクセスを提供できる。例えば、ストレージデバイス204は、ロボットシステム100によって操作され得るオブジェクト(例えば、ボックス、ケース、容器、及び/又は製品)の記述を含むマスターデータを記憶できる。1つ以上の実施形態では、マスターデータには、ロボットシステム100によって操作されることが予想されるオブジェクトの寸法、形状(例えば、可能な姿勢のテンプレート、及び/又は様々な姿勢のオブジェクトを認識するためのコンピュータ生成モデル)、配色、画像、識別情報(例えば、バーコード、クイック応答(QR)コード(登録商標)、ロゴなど、及び/又はそれらの予想される場所)、予想される質量/重量、又はそれらの組み合わせが含まれ得る。いくつかの実施形態では、マスターデータには、オブジェクトの表面に関連する表面模様(例えば、印刷画像、及び/又は対応する材料の視覚的態様)、表面粗さ、又は任意の特徴に関する情報が含まれ得る。いくつかの実施形態では、マスターデータには、各オブジェクトの重心位置、1つ以上のアクション/操作に対応する予想されるセンサ測定値(例えば、力、トルク、圧力、及び/又は接触測定値)、又はそれらの組み合わせなど、オブジェクトに関する操作関連情報が含まれ得る。ロボットシステムは、圧力レベル(例えば、真空レベル、吸引レベルなど)、把持/ピックアップエリア(例えば、作動させる真空グリッパのエリア又はバンク)、及び移送ロボットを制御するための他の格納されているマスターデータを検索することができる。
ストレージデバイス204はまた、オブジェクト追跡データを記憶し得る。追跡データには、マスターデータに登録されているオブジェクトを示す登録データが含まれる。登録データには、開始地点に格納されることが予想されるオブジェクト、及び/又は降下地点に移動されることが予想されるオブジェクトの情報が含まれ得る。いくつかの実施形態では、オブジェクト追跡データには、スキャンされた又は操作されたオブジェクトのログが含まれ得る。いくつかの実施形態では、オブジェクト追跡データには、1つ以上の場所(例えば、指定されたピックアップ地点又は降下地点及び/又はコンベアベルト)におけるオブジェクトの画像データ(例えば、絵、点群、ライブビデオフィード等)が含まれ得る。いくつかの実施形態では、オブジェクト追跡データには、1つ以上の場所でのオブジェクトの場所及び/又は向きが含まれ得る。
通信デバイス206は、ネットワークを介して外部デバイス又はリモートデバイスと通信するように構成された回路を含み得る。例えば、通信デバイス206は、受信機、送信機、変調器/復調器(モデム)、信号検出器、信号エンコーダ/デコーダ、コネクタポート、ネットワークカードなどを含むことができる。通信デバイス206は、1つ以上の通信プロトコル(例えば、インターネットプロトコル(IP)、無線通信プロトコルなど)に従って電気信号を送信、受信、及び/又は処理するように構成することができる。いくつかの実施形態では、ロボットシステム100は、通信デバイス206を使用して、ロボットシステム100のユニット間で情報を交換すること、及び/又は(例えば、報告、データ収集、分析、及び/又はトラブルシューティングの目的で)ロボットシステム100の外部のシステム又はデバイスと情報を交換することができる。
入力出力デバイス208は、人間オペレータに情報を伝えるように、及び/又は人間オペレータから情報を受信するように構成されたユーザインターフェースデバイスを含み得る。例えば、入力出力デバイス208には、人間オペレータに情報を伝えるためのディスプレイ210及び/又は他の出力デバイス(例えば、スピーカ、触覚回路、又は触覚フィードバックデバイス等)が含まれ得る。また、入力出力デバイス208には、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインターフェース(UI)センサ(例えば、動作コマンドを受信するためのカメラ)、ウェアラブル入力デバイスなどの制御デバイス又は受信デバイスが含まれ得る。いくつかの実施形態では、ロボットシステム100は、アクション、タスク、動作、又はそれらの組み合わせを実行する際に、入力出力デバイス208を使用して人間オペレータとインタラクトすることができる。
いくつかの実施形態では、コントローラが、プロセッサ202、ストレージデバイス204、通信デバイス206、及び/又は入力出力デバイス208を含むことができる。コントローラは、スタンドアロンの構成要素、又はユニット/アセンブリの一部であり得る。例えば、ロボットシステム100の各荷下ろしユニット、移送アセンブリ、運搬ユニット、及び荷積みユニットが、1つ以上のコントローラを含み得る。いくつかの実施形態では、単一のコントローラが、複数のユニット又はスタンドアロン構成要素を制御し得る。
ロボットシステム100は、動作(例えば、回転変位及び/又は並進変位)のためにジョイントで接続された物理的又は構造的な部材(例えば、ロボットマニピュレータアーム)を含み得、及び/又はそれらと通信し得る。構造部材及びジョイントは、ロボットシステム100の使用/動作に応じて1つ以上のタスク(例えば、把持、回転、溶接など)を実行するように構成されているエンドエフェクタ(例えば、グリッパ)を操作するように構成された運動連鎖を形成することができる。運動連鎖は、対応するジョイントの周囲で又は対応するジョイントで、構造部材を駆動又は操作する(例えば、動かす及び/又は向きを変える)ように構成されている作動デバイス212(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含み得る。いくつかの実施形態では、運動連鎖は、対応するユニット/シャーシをあちらこちらに運搬するように構成されている運搬用モータ214を含み得る。例えば、作動デバイス212及び運搬用モータは、ロボットアーム、リニアスライド、又は他のロボット構成要素に接続されているか又はそれらの一部である。
センサ216は、構造部材を操作する、及び/又はロボットユニットを運搬する、などのタスクを実施するのに使用される情報を取得するように構成することができる。センサ216は、コントローラ、ロボットユニットの1つ以上の物理的特性(例えば、その1つ以上の構造部材/ジョイントの状態、状況、及び/又は場所)、及び/又は周囲環境の1つ以上の物理的特性を検出又は測定するように構成されたデバイスを含み得る。センサ216のいくつかの例は、接触センサ、近接センサ、加速度計、ジャイロスコープ、力センサ、歪みゲージ、トルクセンサ、位置エンコーダ、圧力センサ、真空センサなどを含み得る。
いくつかの実施形態では、例えば、センサ216は、周囲環境を検出するように構成された1つ以上の撮像デバイス222(例えば、2次元及び/又は3次元撮像デバイス)を含み得る。撮像デバイスは、カメラ(視覚カメラ及び/又は赤外線カメラを含む)、ライダデバイス、レーダデバイス、及び/又は他の距離測定デバイス又は検出デバイスを含み得る。撮像デバイス222は、(例えば、自動検査、ロボットガイダンス、又は他のロボットアプリケーションのための)マシン/コンピュータビジョンを実施するために用いる、デジタル画像及び/又は点群などの検出された環境の表現を生成することができる。
次に図1及び図2を参照すると、ロボットシステム100は(例えば、プロセッサ202を介して)画像データ及び/又は点群を処理して、図1のターゲットオブジェクト112、図1の開始地点114、図1のタスク地点116、図1のターゲットオブジェクト112の姿勢、又はそれらの組み合わせを識別することができる。ロボットシステム100は、撮像デバイス222からの画像データを使用して、オブジェクトにアクセスしてオブジェクトをピックアップする方法を決定することができる。オブジェクトの画像は、解析されて、オブジェクトを検出すると共に、検出オブジェクトを把持するように真空グリッパアセンブリを位置決めするための動作計画を決定することができる。ロボットシステム100は、(例えば、様々なユニットによって)指定エリア(例えば、トラックの内側、容器の内側、又はコンベアベルト上のオブジェクトのピックアップ地点)の画像を取り込み、解析して、ターゲットオブジェクト112及びその開始地点114を識別できる。同様に、ロボットシステム100は、別の指定エリア(例えば、コンベアベルトにオブジェクトを置くための降下地点、容器内にオブジェクトを置くための場所、又は積み重ねるためのパレット上の場所)の画像を取り込み、解析して、タスク地点116を識別することができる。
また、例えば、図2のセンサ216は、ロボットシステム100の構造部材(例えば、ロボットアーム及び/又はエンドエフェクタ)及び/又は対応するジョイントの位置を検出するように構成される図2の位置センサ224(例えば、位置エンコーダ、電位差計など)を含むことができる。ロボットシステム100は、位置センサ224を使用して、タスクの実行中に構造部材及び/又はジョイントの位置及び/又は向きを追跡することができる。本明細書に開示される荷下ろしユニット、移送ユニット、運搬ユニット/アセンブリ、及び荷積みユニットは、センサ216を含み得る。
いくつかの実施形態では、センサ216は、エンドエフェクタなどにおける運動連鎖にかかる力を測定するように構成されている1つ以上の力センサ226(例えば、重量センサ、歪みゲージ、ピエゾ抵抗センサ/圧電センサ、容量センサ、弾性抵抗センサ、及び/又は他の触覚センサ)を含み得る。例えば、センサ216を使用して、ロボットアームにかかる荷重(例えば、把握オブジェクト)を判定することができる。力センサ226は、エンドエフェクタ又はその周辺に取り付けることができ、結果として生じる測定値が、把握オブジェクトの重量及び/又は基準地点に対するトルクベクトルを表すように構成することができる。1つ以上の実施形態では、ロボットシステム100は、トルクベクトル、重量、及び/又はオブジェクトの他の物理的特性(例えば、寸法)を処理して、把握オブジェクトのCoMを推定することができる。
ロボット移送構成
図3は、本技術の1つ以上の実施形態によるロボット移送構成を示す。本ロボット移送構成は、ソース容器306(例えば、低い及び/又は透明な壁を有するビン)からオブジェクトを選び取り、それらを送り先地点へ移送するように構成されたエンドエフェクタ304(例えば、グリッパ)を有するロボットアームアセンブリ302を含むことができる。ロボットアームアセンブリ302は、運動連鎖として機能する構造部材及びジョイントを有し得る。エンドエフェクタ304は、運動連鎖の遠位端に結合された真空ベースのグリッパであって、空気を吸い込み、把持インターフェース(例えば、エンドエフェクタ304の底部)とオブジェクトの表面との間に真空を作り出してオブジェクトを把握するように構成された真空ベースのグリッパを含み得る。
図3は、本技術の1つ以上の実施形態によるロボット移送構成を示す。本ロボット移送構成は、ソース容器306(例えば、低い及び/又は透明な壁を有するビン)からオブジェクトを選び取り、それらを送り先地点へ移送するように構成されたエンドエフェクタ304(例えば、グリッパ)を有するロボットアームアセンブリ302を含むことができる。ロボットアームアセンブリ302は、運動連鎖として機能する構造部材及びジョイントを有し得る。エンドエフェクタ304は、運動連鎖の遠位端に結合された真空ベースのグリッパであって、空気を吸い込み、把持インターフェース(例えば、エンドエフェクタ304の底部)とオブジェクトの表面との間に真空を作り出してオブジェクトを把握するように構成された真空ベースのグリッパを含み得る。
いくつかの実施形態では、本ロボット移送構成は、柔軟オブジェクト310(変形可能なオブジェクトとも呼ばれ、例えば、所定の閾値を満たす厚さ及び/又は硬さなどの物理的特性を有するオブジェクト)を把握してソース容器306から外へ移送するように適合させることができる。例えば、本ロボット移送構成は、真空ベースのグリッパを使用して、ソース容器306内から、ビニール包装又はビニール袋詰めされている品物の場合もあればそうでない場合もあるプラスチックパウチ又はビニールクロスを把握するように適合させることができる。一般に、オブジェクトは、オブジェクトが持ち上げられる/動かされるときに、オブジェクトの張り出している部分又は把持されていない部分(例えば、把握するエンドエフェクタのフットプリントを越えて延在する部分)が曲がる、折れる、又は他の何らかの形で一定の形状/姿勢を維持できないような、構造的剛性が不足している場合に、柔軟であると見なされ得る。
本ロボットシステムは、柔軟オブジェクトを把持する際に、ソース容器306内のオブジェクトの1つ以上の画像を取得し、処理し得る。本ロボットシステムは、撮像デバイス320(例えば、総称して撮像デバイス320と呼ばれる下向き撮像デバイス320-1及び/又は横向き撮像デバイス320-2を含む撮像デバイス320)を使用して画像を取得し得る。撮像デバイス320は、図2の撮像デバイス222の実施態様であり得る。撮像デバイス320は、2次元撮像デバイス及び/又は3次元深度測定デバイスを含み得る。例えば、図3では、下向き撮像デバイス320-1は、ソース容器306内のオブジェクトの上面図画像を取得するように位置決めされ得、横向き撮像デバイス320-2は、開始地点におけるオブジェクト及び/又は任意の対応する容器(例えば、ソース容器306)の側面図画像又は透視図画像を取得するように位置決めされる。以下に詳細に説明するように、ロボットシステム100は(例えば、プロセッサ202を介して)撮像デバイス320からの画像を処理して、オブジェクトのエッジを識別もしくは推定すること、オブジェクトの把持部位のための把持可能な領域もしくはエリアを導出すること、把持部位に基づいて動作計画を導出すること、動作計画を実施してオブジェクトを移送すること、又はそれらの組み合わせを行うことが可能である。したがって、本ロボットシステムは、開始地点から(例えば、ソース容器306の内部から)ターゲットとされたオブジェクトを把持して持ち上げること、把握オブジェクトを目標地点(例えば、ビン、配送ボックス、パレット、コンベア上の場所、又はその種の他の場所などの送り先)の上方の場所へ移送すること、及び把握オブジェクトを下げて/放してそれを目標地点に置くことが可能である。
画像処理
画像処理を説明するために、図4A及び図4Bは、本技術の1つ以上の実施形態による開始地点におけるオブジェクトの図例を示す。図4Aは、開始地点におけるオブジェクトの上面図400-1の例を示す。上面図400-1は、図3の下向き撮像デバイス320-1からの2次元画像及び/又は3次元画像のうちの1つ以上に対応し得る。上面図400-1は、ソース容器306の内側部分及び/又はその中の1つ以上のオブジェクト(例えば、柔軟な/変形可能なオブジェクト)を描写し得る。図4Bは、開始地点におけるオブジェクトの側面図400-2の例を示す。
画像処理を説明するために、図4A及び図4Bは、本技術の1つ以上の実施形態による開始地点におけるオブジェクトの図例を示す。図4Aは、開始地点におけるオブジェクトの上面図400-1の例を示す。上面図400-1は、図3の下向き撮像デバイス320-1からの2次元画像及び/又は3次元画像のうちの1つ以上に対応し得る。上面図400-1は、ソース容器306の内側部分及び/又はその中の1つ以上のオブジェクト(例えば、柔軟な/変形可能なオブジェクト)を描写し得る。図4Bは、開始地点におけるオブジェクトの側面図400-2の例を示す。
図4A~図4Bに示された例の場合、ソース容器306には、5つの柔軟オブジェクトが含まれる。オブジェクトC1、C2、及びC3は、ソース容器306の底部内面に位置する(例えば、直接接触して支持されている)。中間の「オブジェクトB」(例えば、図4Aに示されるその上部)は、オブジェクトC1及びC3と部分的に重なり、オブジェクトC1及びC3によって支持され得る。オブジェクトBの残りの部分(複数可)(例えば、下位部)は、ソース容器306の内面に直接接触し得る。上部の「オブジェクトA」は、オブジェクトC1、C2、C3、及びBと重なり、オブジェクトC1、C2、C3、及びBによって支持され得る。
柔軟オブジェクトの1つ以上の物理的特性(例えば、厚さ、及び/又は剛性の欠如)、及び支持オブジェクトの形状、輪郭、及び/又はエッジにより、支持オブジェクトの上に載っている重なり合うオブジェクトの表面に歪みが生じ得る。言い換えれば、下部オブジェクトの物理的な形状により、スタック内のより上部のオブジェクトの表面に変形又は歪みが生じ得る。そのような変形又は歪みは、取得された画像に描写され得る。図4Aでは、下にある支持オブジェクトによって生じる表面の変形が、異なる破線を用いて示される。例えば、図4Aの上面図400-1における破線402は、図4Bの側面図400-2に示されているように、オブジェクトAがオブジェクトC1及びC3の上に配置されたときのオブジェクトAの跡、膨らみ、又は折り目に対応し得る。この跡、膨らみ、又は折り目は、オブジェクトC3がオブジェクトC1の上面よりも高い上面を有し、それによってオブジェクトAが曲がるため形成され得る。取得された画像はまた、オブジェクトの表面に印刷された絵又は文字などの任意の2次元印刷表面特徴(例えば、ロゴ404)を描写し得る。
いくつかの実施形態では、図4A~図4Bのオブジェクトの1つ以上、及び/又はその一部が、透明又は半透明(例えば、透明なプラスチック製の包装材料、封筒、又は袋を有する包み)であり得る。そのような実施形態では、異なる破線は、上側の透明又は半透明のオブジェクトを通して見える、下にあるオブジェクトのエッジ及び/又は表面印刷に対応する。本明細書で説明する画像処理は、柔軟オブジェクトだけでなく、透明オブジェクトにも適用できる。
跡、膨らみ、折り目、透けて見える線、オブジェクトの厚さ、及び/又はその他の物理的特徴及び目に見えるアーチファクトは、取得された画像に描写されたオブジェクトを認識又は検出する際に複雑さをもたらす可能性がある。以下に詳述するように、本ロボットシステムは、スタックから柔軟オブジェクトを把持してピックアップするために、画像データを処理して、周縁部、重なり合ったエッジ、跡がついた表面もしくは歪められた表面の特徴、又はこれらに類するものを本質的に区別すること、及び/又は跡がついた表面の特徴に本質的に対処することが可能である。
一例として、いくつかの実施形態では、柔軟オブジェクトは、厚さ閾値未満の平均厚さを有する薄い柔軟オブジェクト、又は、テーパー形状のエッジ部分を有する薄い柔軟オブジェクトとして参照され得る。当該オブジェクトの中央部は、薄い柔軟オブジェクトのエッジ部分よりも厚い。例えば、厚さ閾値は、ある実施形態では、1センチメートル以下であり得、他の実施形態では、厚さ閾値は、1ミリメートル以下であり得る。例を続けると、薄い柔軟オブジェクトが、様々な程度の重なりを有するランダムな向きに、互いに積み重ねられたか又は盛られた場合は、薄い柔軟オブジェクト又は薄い柔軟オブジェクトの部分のいずれが最上部にあるのか、あるいはいずれがスタック内の他の薄い柔軟オブジェクトの上にあるのかを判定することは困難であり得る。本ロボットシステムは、競合的部分(例えば、複数のオブジェクトのうちの1つに関連する又は属する可能性があるものとして処理された画像の部分)を識別することと、1つ以上のタイプのマスクを生成することと、異なるタイプの部分を解析して把持部位のための把持可能な領域又はエリアを判定することとに基づいて、画像データを処理することが可能である。
制御フロー
画像処理を説明するために、図5は、本技術の1つ以上の実施形態によるロボットシステムを操作するための例示的な方法500のフロー図である。方法500は、取得画像を処理し、柔軟オブジェクトにかかわるタスクを計画/実行するために、図1のロボットシステム100によって(例えば、コントローラ及び/又は図2のプロセッサ202を介して)実施され得る。以下、図4A及び図4Bに示された例を用いて、方法500を説明する。
画像処理を説明するために、図5は、本技術の1つ以上の実施形態によるロボットシステムを操作するための例示的な方法500のフロー図である。方法500は、取得画像を処理し、柔軟オブジェクトにかかわるタスクを計画/実行するために、図1のロボットシステム100によって(例えば、コントローラ及び/又は図2のプロセッサ202を介して)実施され得る。以下、図4A及び図4Bに示された例を用いて、方法500を説明する。
ブロック502で、本ロボットシステムは、開始地点を表す画像データを取得し得る。本ロボットシステムは、図3の撮像デバイス320-1及び320-2からのそれぞれ図4Aの上面図400-1及び図4Bの側面図400-2など、撮像デバイスから2次元及び/又は3次元(例えば、深度測定を含む)画像を取得することが可能である。取得画像データは、開始地点に位置する、図3のソース容器306内の図3の柔軟オブジェクト310など、1つ以上のオブジェクト(例えば、図4A~図4BのオブジェクトA、B、C1~C3)を描写し得る。
ブロック504で、本ロボットシステムは、画像データから検出特徴を生成し得る。この検出特徴は、画像データに描写された柔軟オブジェクトに対応する検出仮説/検出結果(例えば、画像データの一部に関連する1つ以上のオブジェクトの識別、対応する姿勢/場所、及び/又はそれらの相対配置の推定)を生成するために処理され使用される画像データの要素であり得る。検出特徴には、2次元画像データの画素から生成されるエッジ特徴(例えば、画像データに描写された柔軟オブジェクトの周縁部又はその一部に対応し得る画像データ中の線)及びキーポイント、ならびに3次元(3D)点群画像データ内の3D点の深度値及び/又は表面法線が含まれ得る。エッジ特徴を生成する例において、本ロボットシステムは、線を検出する1つ以上の回路及び/又はアルゴリズム(例えば、ソーベルフィルタ)を使用して、取得された画像データに描写された線を検出することができる。検出された線は、エッジ特徴を生成することを判定するために、さらに処理することができる。図4Aに示されるように、本ロボットシステムは、検出された線を処理して、線406a~406dをオブジェクトC1の周縁部に対応するエッジ特徴として識別することができる。いくつかの実施形態では、本ロボットシステムは、エッジ特徴が1つの柔軟オブジェクトの周縁部に対応する確実性/可能性の表現として、エッジ特徴の信頼基準を計算してもよい。いくつかの実施形態では、本ロボットシステムは、エッジ特徴の厚さ/幅、向き、長さ、形状/曲率、連続性の度合い、及び/又は他の検出された態様に基づいて、信頼基準を計算することができる。キーポイントを生成する例では、本ロボットシステムは、スケール不変特徴変換(SIFT)アルゴリズムなどの1つ以上の回路及び/又はアルゴリズムを使用して、2D画像データの画素を処理することができる。
いくつかの実施形態では、本ロボットシステムは、異なる向きを有する線の間の接合部を識別することなどにより、エッジ特徴によって境界付けられた/画定されたセクション又は連続表面の推定を含む検出特徴を生成することができる。例えば、図4Aのエッジ特徴は、オブジェクトが互いに重なり合う場所で互いに交差して接合部が形成され得る。本ロボットシステムは、エッジ特徴及び接合部のセットに基づいてセクションを推定することができる。言い換えれば、本ロボットシステムは、接合/接続されたエッジの集合によって境界付けられた/画定された領域として各セクションを推定することができる。さらに、本ロボットシステムは、接続されたエッジの相対的な向き(例えば、平行な対向するエッジ、直交接続、柔軟オブジェクトを表すテンプレートに対応する予め定められた角度、又はこれらに類するもの)に基づいて各セクションを推定してもよい。例えば、本ロボットシステムは、上面図400-1の画像データから線406a~406dを検出することができ、検出された線406a~406dが、線406a及び406dが互いに平行であり、かつ線406b及び406cが線406a及び406bと直交し、それにより線406a~406dが部分長方形形状(例えば、長方形の3つの角を含む形状)を形成するように、互いに交差することをさらに識別してもよい。その結果として、本ロボットシステムは、検出された線406a~406dが長方形形状を有するオブジェクトの一部であると推定することができる。また一方、柔軟オブジェクトの形状、輪郭、又は外形は、非長方形であってもよいことが理解される。
いくつかの実施形態では、本ロボットシステムは、深度値に基づいてエッジ特徴を判定することができる。例えば、本ロボットシステムは、検出されたエッジに基づいて、露出した周縁部及び角を識別することができる。3次元画像データからの深度値に基づいて、周縁部及び角を識別することができる。線の両側における深度値の差が所定の閾値差よりも大きい場合、本ロボットシステムは、その線をエッジ特徴であると識別することができる。
本ロボットシステムは、エッジ信頼基準、接続されたエッジの相対的な向きなどに基づいて、推定されたセクションが柔軟オブジェクトの連続表面及び/又は単一表面であることの確実性/可能性の表現として、各推定セクションの信頼基準を計算することができる。例えば、本ロボットシステムは、推定された表面が3次元のエッジで囲まれている場合、2次元エッジによって少なくとも部分的に画定された表面と比較して、より高い信頼基準を計算し得る。また、例えば、本ロボットシステムは、長方形形状を有する柔軟オブジェクトに対して、エッジ接合部が直角に近い角度を形成する場合に、より高い信頼基準を計算し得る。
ブロック506で、本ロボットシステムは、開始地点に位置する柔軟なオブジェクトに対応する1つ以上の検出結果を生成することができる。いくつかの実施形態では、本ロボットシステムは、検出特徴をマスターデータ内の登録されたオブジェクトのテンプレートと比較することに基づいて、1つ以上の検出結果を生成することができる。例えば、本ロボットシステムは、画像データの検出特徴を、マスターデータ内の登録されたオブジェクトのテンプレートの対応する特徴と比較してもよい。また、いくつかの実施形態では、本ロボットシステムは、推定された表面の寸法を、マスターデータに格納されている登録されたオブジェクトの寸法と比較してもよい。いくつかの実施形態では、本ロボットシステムは、判定のため表面上の視覚的識別情報(例えば、バーコード、QRコード(登録商標)など)の位置を特定し、スキャンすることができる。推定された表面の検出特徴及び/又は寸法の比較に基づいて、本ロボットシステムは、画像データのポジティブに識別された検出特徴によって検出結果を生成すること、及び/又は描写されたオブジェクトの姿勢を判定することが可能である。本ロボットシステムは、比較された部分の間の一致の程度及び/又は一致のタイプに基づいて、各検出結果に対する信頼基準を計算することができる。
比較の実例を挙げると、本ロボットシステムは、図4Aの線406a~406dによって形成される推定された長方形形状を、マスターデータに含まれる既知のオブジェクト形状(例えば、登録されたオブジェクト又は開始地点にあると予想されるオブジェクトの形状)と比較することができる。本ロボットシステムは、さらに、推定された長方形の寸法を、マスターデータに格納されている既知のオブジェクトの寸法と比較することができる。本ロボットシステムは、図4Aの推定された長方形形状の形状及び寸法又はその一部を、マスターデータ内の既知のオブジェクトの既知の形状及び寸法に一致させることができる場合に、線406a~406dが、マスターデータに基づいて開始地点にあると予想される既知のオブジェクトに関連していると一定の信頼基準をもって推定することができる。
いくつかの実施形態では、本ロボットシステムは、ポジティブに識別されたエリアを判定することができる(例えば、本ロボットシステムは、検出結果の特定の部分をポジティブに識別された部分として分類することができる)。ポジティブに識別されたエリアは、登録されたオブジェクトの1つに一致することが確認された検出結果の部分を表す。例えば、本ロボットシステムは、画像データの対応する部分の検出特徴が、登録されたオブジェクトに対応するテンプレートの検出特徴及び/又はその他の物理的属性(例えば、登録されたオブジェクトの形状、寸法の集合、及び/又は表面テクスチャ)と一致する場合に、検出結果の部分をポジティブに識別されたエリアとして識別し得る。画像に基づく比較の場合、本ロボットシステムは、受信画像と登録されたオブジェクトのテンプレート/テクスチャ画像との間の一致/相違の程度を表すスコアを計算してもよい。本ロボットシステムは、対応するスコア(例えば、画素に基づく比較の結果)が差分閾値未満である場合に、その部分をポジティブに識別されたエリアとして識別し得る。いくつかの実施形態では、本ロボットシステムは、ポジティブに識別されたエリアが登録されたオブジェクトに対応するという高い信頼性を有するため、ポジティブに識別されたエリアをさらなるオクルージョン処理から除外することができる。
いくつかの実施形態では、本ロボットシステムは、推定された表面内の特徴又は部分/サブセクションの限られたセットを解析することに基づいて、受信画像に描写された柔軟オブジェクトを検出することができる。例えば、本ロボットシステムは、テンプレートのための少なくとも必要な量の画素が受信画像に一致するか、又は受信画像で表される場合に、推定された表面がテンプレート表面に一致しているとポジティブに識別することができる。本ロボットシステムは、受信画像とテンプレート画像との対応する画素が、閾値差の範囲内にある値(例えば、色、明るさ、位置/場所など)を有する場合に、一致を判定してもよい。さらに、本ロボットシステムは、キーポイント(例えば、角)、線、又はそれらの組み合わせ(例えば、形状)を比較して、一致を判定してもよい。推定された表面の残りの部分は、比較されなかった部分、又はテンプレートと十分に一致しなかった部分に対応する可能性がある。本ロボットシステムは、オブジェクトの識別とともに、受信画像データ内の比較/一致した部分を、ポジティブに識別されたエリアとして識別することができる。
画像データから1つ以上の検出結果が生成されると、本ロボットシステムは、1つ以上の検出結果のそれぞれを処理して、1つ以上の検出結果の競合的部分を識別することができる。いくつかの実施形態では、本ロボットシステムは、1つ以上の検出結果1つ1つのインスタンスをターゲット検出結果として処理し得る。
ブロック516で、本ロボットシステムは、検出結果の競合的部分を識別し得る。競合的部分は、1つ以上の不確定因子(例えば、不十分な信頼値、不十分な量の一致画素、重なり合う検出フットプリント、及び/又は同類の因子)を有する検出結果のエリアを表し得る。
一例では、競合的部分は、検出結果の不確定領域を表し得る。不確定領域は、検出結果を生成するために、本ロボットシステムから信頼されない検出特徴、又は本ロボットシステムが信頼することができない検出特徴を含む検出結果の一部(例えば、ポジティブに識別されたエリアの外側にある推定された表面内のエリア)であり得る。別の例では、競合的部分は、検出結果と隣接するオブジェクトとの間のオクルージョン領域を表し得る。オクルージョン領域は、1つ以上の柔軟オブジェクトのインスタンスと、この1つ以上の柔軟オブジェクトのさらなるインスタンスとの間の重なりを表し得る。一般に、本ロボットシステムが1つ以上の検出結果を生成すると、本ロボットシステムは、検出結果のそれぞれを、交差するオブジェクトの1つ(例えば、ターゲットオブジェクト)に属するターゲット検出結果として、又は交差するオブジェクトの1つ(例えば、ターゲットオブジェクト)の視点からのターゲット検出結果として、(例えば、反復して)処理することができる。重なり合うオブジェクト/重なり合ったオブジェクトに関しては、同じ部分を隣接検出結果として見なすこと、又は処理することができる。つまり、オクルージョン領域は、(1)1つ以上の柔軟オブジェクト(例えば、現在の反復によってターゲットとされたオブジェクト)のインスタンスに対応するターゲット検出結果と、(2)この1つ以上の柔軟オブジェクトのさらなるインスタンスに対応する隣接検出結果との間の重なりである。
本ロボットシステムは、検出結果がオクルージョン領域を含むと判定した場合に、オクルージョン領域についてのオクルージョン状態を判定することができる。オクルージョン状態は、オクルージョン領域内で、どの柔軟オブジェクトが他の柔軟オブジェクトの下にあるかを記述し得る。オクルージョン状態は、隣接オクルージョン状態、ターゲットオクルージョン状態、又は不確定オクルージョン状態のうちの1つであり得る。隣接オクルージョン状態は、オクルージョン領域で、隣接検出結果がターゲット検出結果を下回っていることを示し得る。ターゲットオクルージョン状態は、オクルージョン領域で、ターゲット検出結果が隣接検出結果を下回っていることを示し得る。不確定オクルージョン状態は、ターゲット検出結果と隣接検出結果との間の重なりが不確定である場合に発生し得る、又は相当し得る。つまり、不確定オクルージョン状態は、ターゲット検出結果が隣接検出結果を下回っているかどうか、又は隣接検出結果がターゲット検出結果を下回っているかどうかを、本ロボットシステムによって明確に判定できない場合を表し得る。いくつかの実施形態では、本ロボットシステムは、交差する全てのオブジェクトに対して、重なり合った領域が下にあることを示すことにより、不確定オクルージョン状態を示し得る。例えば、オブジェクトC3とオブジェクトBとの重なりを含むオクルージョン領域に関して、本ロボットシステムは、(1)オブジェクトC3の重なり部分がオブジェクトBの下にあること、かつ(2)オブジェクトBの重なり部分がオブジェクトC3の下にあることを示すことができる。したがって、本ロボットシステムは、論理的に矛盾する結果を意図的に生成して、不確定オクルージョン状態を示すことができる。それに応じて、本ロボットシステムは、オブジェクトB及びC3の両方についての動作計画時に、オクルージョン領域(例えば、オブジェクトB及びC3の把持部位判定部分)を無視又は除外することができる。
本ロボットシステムは、オクルージョン領域におけるターゲット検出結果に関連する検出特徴及び/又は隣接検出結果に関連する検出特徴に基づいて、オクルージョン領域のオクルージョン状態を判定することができる。より具体的には、本ロボットシステムは、オクルージョン領域におけるエッジ特徴、キーポイント、深度値、又はそれらの組み合わせを含む検出特徴を解析して、検出特徴がターゲット検出結果又は隣接検出結果に属する(例えば、検出特徴がターゲット検出結果又は隣接検出結果の露出部分に対応する)かどうかを判定することができる。換言すれば、本ロボットシステムは、検出結果のいずれが(さらに以下で説明される値又は対応スコアに基づいて)オクルージョン領域における関連する検出特徴又は対応する検出特徴のより大きな割合を含むかに従って、オクルージョン状態を判定することができる。
一般に、本ロボットシステムは、オクルージョン領域内の特徴を、ターゲット検出結果及び隣接検出結果の検出特徴と比較することができる。本ロボットシステムは、検出特徴の大部分がターゲット検出結果に対応しかつ信頼度閾値を上回る場合に、オクルージョン状態を隣接オクルージョン状態(例えば、隣接オブジェクトがターゲットオブジェクトの下にあることを意味する、隣接オブジェクトが、ターゲットとされたオブジェクトによって塞がれていることを示すもの)と判定し得る。本ロボットシステムは、検出特徴の大部分が隣接検出結果に対応しかつ信頼度閾値を上回る場合に、オクルージョン状態をターゲットオクルージョン状態(例えば、ターゲットオブジェクトが隣接オブジェクトの下にあることを意味する、ターゲットオブジェクトが隣接オブジェクトによって塞がれていることを示すもの)と判定し得る。検出特徴の解析が決定的でない場合(例えば、検出特徴の割合が信頼度閾値を上回っていない場合)、本ロボットシステムは、オクルージョン状態が不確定オクルージョン状態であると判定し得る。
いくつかの実施形態では、本ロボットシステムは、オクルージョン領域における検出特徴のそれぞれの組み合わせとしてオクルージョン状態を判定することができる。より具体的には、本ロボットシステムは、エッジ特徴、キーポイント、及び/又は深度値が、ターゲット検出結果又は隣接検出結果に対応するかどうか、又は属するかどうかを判定するために、対応スコアを計算してもよい。いくつかの実施形態では、対応スコアは、検出特徴のそれぞれについての合成スコアとすることができるが、他の実施形態では、対応スコアは、検出特徴のそれぞれについて個別に(例えば、エッジ特徴対応スコア、キーポイント対応スコア、及び/又は深度値対応スコア)計算することができ、組み合わせて対応スコアを計算することができる。いくつかの実施形態では、本ロボットシステムは、対応スコアを計算する際に、対応する検出特徴の寄与を増加又は減少させるために、検出特徴のそれぞれに対して重みを含めることができる。
任意選択で、いくつかの実施形態では、図4Aに例示されるように、本ロボットシステムは、上面図400-1の画像データに示される競合的部分を識別してもよい。任意選択の実施形態では、競合的部分は、登録されたオブジェクトの最小寸法よりも小さい寸法を有するエリアを含み得る。そのような競合的部分に対応するエッジは、互いに重なり合う複数のオブジェクトに対応し、オブジェクト表面の跡及び/又は変形から生じる検出線を含むため、競合的部分の寸法はオブジェクトそのものよりも小さくなる可能性がある。競合的部分1は、寸法d1及びd2を有する長方形をしたエリアに対応し得る。本ロボットシステムは、マスターデータ内の既知のオブジェクトとの比較に基づいて、寸法d1及びd2を有するそのような長方形をしたエリアが、マスターデータ内の既知のオブジェクトのいずれとも一致しないことを、ある一定の信頼基準(例えば、ある一定の閾値信頼基準を超える信頼基準)をもって識別することができる。その結果として、本ロボットシステムは、そのエリアを競合的部分1として識別することができる。同様に、線408a及び408bによって画定された競合的部分2は、不規則な形状(例えば、線408bが長方形の形状を画定し、線408aがその長方形の左上角の一部を切り取る形状)を有するエリアに対応する。本ロボットシステムは、マスターデータ内の既知のオブジェクトとの比較に基づいて、そのような不規則な形状のエリアが、マスターデータ内の(例えば、形状テンプレートによって表される)既知のオブジェクトのいずれとも一致しないことを、ある一定の信頼基準をもって識別することができる。その結果として、本ロボットシステムは、そのエリアを競合的部分2として識別することができる。
任意選択で、いくつかの実施形態では、本ロボットシステムは、競合的部分について、1つ以上の検出線にわたって表面の連続性を解析してもよい。例えば、本ロボットシステムは、エッジ特徴の対向する両側の深度値を比較することができる。別の例として、本ロボットシステムは、隣接オブジェクトの線に対して競合的部分下の(例えば、他の交差する線を横切る)線の連続性、平行配置、及び/又は共線性を解析して、競合的部分下の線が隣接オブジェクトに属し得るかどうかを判定してもよい。この判定は、例えば、オブジェクトの形状及び寸法を、マスターデータ内の既知のオブジェクトの形状及び大きさと比較することによって行うことができる。例えば、図4Aでは、本ロボットシステムは、検出線406a~406dに基づいて、オブジェクトC1を部分的に長方形の形状を有するものとして識別することができる。本ロボットシステムは、線408aが線406bと連続/共線であることをさらに識別することができる。これにより、本ロボットシステムは、線408aが実際にはオブジェクトC1に属するエッジであると推定することができる。
いくつかの実施形態では、本ロボットシステムは、オブジェクトの表面上の絵又はテキストなどの表面の特徴/テクスチャに関して競合的部分を解析することもできる。この競合的部分の解析は、競合的部分の検出されたエッジをマスターデータ内の既知の画像、模様、ロゴ及び/又は絵と比較することを含むことができる。競合的部分の検出されたエッジが既知の画像、模様、ロゴ又は/及び絵に対応すると判定することに応答して、本ロボットシステムは、競合的部分に対応する表面が単一オブジェクトに属すると判定することができる。例えば、本ロボットシステムは、(例えば、競合的部分3に対応する)ロゴ404を、マスターデータ内の既知のロゴ及び絵と比較し得る。ロゴ404が既知のロゴと一致すると判定することに応答して、本ロボットシステムは、ロゴ404に対応するエリアが実際にはオブジェクトC2に属すると判定することができる。本ロボットシステムは、同様に、1つ以上の競合的部分にわたる又は広がる視覚的模様を識別して、対応する部分が1つのオブジェクトに関係しているという信頼度を調整することができる。
任意選択で、本ロボットシステムは、長方形の、囲われたエリアを、寸法(例えば、d1及びd2)がマスターデータに記載された最小オブジェクト寸法よりも小さいため、競合的部分として識別することができる。これらの不確定性は、1つ以上の所定の閾値を下回る信頼水準をもたらす可能性があり、そのため、本ロボットシステムは、オクルージョンマスクA1を生成して、競合的部分を処理からブロックする。本ロボットシステムは、オブジェクトAの下部の重なり合った部分を同様に処理して、オクルージョンマスクA2及びBを生成することができる。
ブロック517で、本ロボットシステムは、1つ以上の検出結果に対して検出マスク情報を生成することができる。検出マスク情報は、ポジティブに識別されたエリア及び/又は検出結果の競合的部分など、検出結果に対応する推定された表面内の異なるカテゴリの領域を記述する。検出マスク情報は、ポジティブ識別情報、オクルージョン領域情報、不確定領域情報、又はそれらの組み合わせを含むことができる。ポジティブ識別情報は、検出結果におけるポジティブに識別された各エリアの場所又は位置、及び大きさ/面積を記述する。オクルージョン領域情報は、検出結果における各オクルージョン領域の場所又は位置、及び大きさ/面積を記述する。不確定領域情報は、検出結果における各不確定領域の場所又は位置、及び大きさ/面積を記述する。
検出マスク情報の例として、マスクBは、図4AのオブジェクトBに関して、オブジェクトBとオブジェクトC3との間のオクルージョン領域についてのオクルージョン領域情報を表し得る。別の例として、オブジェクトBの破線によって画定されたエリアは、ポジティブに識別されたエリアに対応するポジティブに識別された情報マスクBを表し得る。
本ロボットシステムは、把持可能な領域(例えば、対応するオブジェクトを把持する際にエンドエフェクタが接触することを許容されるエリア)を導出するためのガイド又は入力として、検出マスク情報を生成し得る。例えば、(以下に記載されている)動作計画時に、本ロボットシステムは、(1)ポジティブに識別されたエリア内に完全に位置決めされる部位、(2)ポジティブに識別されたエリア内に部分的にあり、不確定領域に及ぶ部位、(3)完全にオクルージョン領域の外にある部位、又はそれらの組み合わせである把持部位を識別し、試験することができる。つまり、本ロボットシステムは、必要に応じて、周辺の不確定領域とともに、ポジティブに識別されたエリアを把持可能な領域として使用することができる。
ブロック512で、本ロボットシステムは、動作計画を導出することができる。本ロボットシステムは、検出マスク情報に関連付けられた処理シーケンスに従って、動作計画を導出することができる。例えば、本ロボットシステムは、検出マスク情報に基づいて、対応する検出結果を有する柔軟オブジェクト(検出オブジェクトとも呼ばれる)のいずれが把持可能なオブジェクトであるかを判定すること、把持可能なオブジェクトからターゲットオブジェクトを選択すること、検出マスク情報及びより具体的にはポジティブに識別されたエリアに基づいて、ロボットアームのエンドエフェクタのためのターゲットオブジェクト上の把持部位を決定すること、ターゲットオブジェクトを開始地点から送り先地点まで移送するためのロボットアームの1つ以上の軌道を計算すること、又はそれらの組み合わせを含む処理シーケンスを使用することができる。
いくつかの実施形態では、ポジティブに識別されたエリアを解析することに基づいて、本ロボットシステムは、1つ以上の把持部位を決定することができる。例えば、本ロボットシステムは、ポジティブに識別されたエリアが最小把持要件を超える寸法を有する場合に、把持部位を決定することができる。本ロボットシステムは、導出されたシーケンスに従って、把持部位を決定してもよい。例えば、図4Aでは、本ロボットシステムは、ロボットアームのエンドエフェクタでターゲットオブジェクトを把持してオブジェクトを移動させる(例えば、持ち上げる)のに必要な最小寸法よりも大きい寸法を有するポジティブに識別されたエリアについて把持部位A及びBを決定することができる。本ロボットシステムは、ポジティブ識別情報のポジティブに識別されたエリアに対応するターゲットオブジェクトの表面上のエリア内にあるべき把持部位を決定することができる。本ロボットシステムは、検出されたオブジェクトの検出結果がオクルージョン領域を含む場合、オクルージョン情報のオクルージョン領域に対応するターゲットオブジェクトの表面上のエリアを避けるように把持部位を決定することができる。
実例を挙げると、本ロボットシステムは、最初に、ポジティブに識別されたエリアの1つ以上が、グリッパのフットプリントを取り囲むのに十分な形状及び/又は寸法セットを有するかどうかを判定する処理シーケンスを使用し得る。そのような場所が存在する場合、本ロボットシステムは、他の把持要件(例えば、CoMに対する場所/姿勢)に従って、ポジティブに識別されたエリア内の把持姿勢のセットを処理して、ターゲットオブジェクトの把持部位を決定することができる。1つのオブジェクトに対してポジティブに識別されたエリアがそれぞれグリッパのフットプリントを囲むのに不十分である場合、次に、本ロボットシステムは、ポジティブに識別されたエリアを越えて(例えば、不確定領域に)重なり広がる把持部位/姿勢を検討することができる。本ロボットシステムは、オクルージョン領域に広がり又は重なる場所/姿勢を排除することができる。本ロボットシステムは、他の把持要件に従って残りの場所/姿勢を処理して、ターゲットオブジェクトの把持部位を決定することができる。
いくつかの実施形態では、本ロボットシステムは、1つ以上の検出結果及び/又は検出マスク情報を生成するなど、画像解析のためよりむしろ、動作計画を導出するための異なった回路又は命令グループ(例えば、モジュール)を有することが可能である。したがって、第1の回路/モジュールは、(例えば、上記の検出処理を含む)画像解析を行うことができ、第2の回路/モジュールは、画像解析に基づいて動作計画を導出することができる。
いくつかの実施形態では、本ロボットシステムは、エンドエフェクタのためのモデル化されたフットプリントを把持部位に配置することと、ターゲットオブジェクトへのアプローチ軌道、ターゲットオブジェクトを把握した後の開始地点からの出発軌道、開始地点と送り先地点との間の移送軌道、又は開始地点と送り先地点との間のターゲットオブジェクトの移送のための他の軌道を反復して計算することとにより、動作計画を導出することができる。本ロボットシステムは、軌道が障害物と重なり、又は衝突もしくはその他のエラーをもたらすことが予測される場合、他の移動方向又は操作を検討することができる。本ロボットシステムは、軌道及び/又は対応するコマンド、設定などを、ターゲットオブジェクトを開始地点から送り先地点へ移送するための動作計画として使用することができる。
本ロボットシステムは、ポジティブに識別されたエリアが最小把持要件を超える寸法を有する場合、及び本ロボットシステムが、検出されたオブジェクトを移送するために軌道を計算することができると判定できる場合に、把持可能なオブジェクトを判定することができる。言い換えれば、本ロボットシステムが、検出されたオブジェクトを指定の期間内に移送する軌道を計算できない場合、及び/又は検出されたオブジェクトのポジティブに識別されたエリアが最小把持要件を満たさない場合、本ロボットシステムは、検出されたオブジェクトを把持可能なオブジェクトであると判定しない。
本ロボットシステムは、把持可能なオブジェクトからターゲットオブジェクトを選択することができる。いくつかの実施形態では、本ロボットシステムは、オクルージョン領域を含まない把持可能なオブジェクトのターゲットオブジェクトを選択することができる。他の実施形態では、本ロボットシステムは、軌道計算が最初に完了する把持可能なオブジェクトとしてターゲットオブジェクトを選択することができる。さらに、実施形態では、本ロボットシステムは、移送時間が速い把持可能なオブジェクトとしてターゲットオブジェクトを選択することができる。
いくつかの実施形態では、本ロボットシステムは、最初にターゲットオブジェクトを持ち上げ、次にオブジェクトを横方向に移送するための動作計画を導出するように構成され得る。いくつかの実施形態では、本ロボットシステムは、ターゲットオブジェクトの移送及び/又は画像データの再取得及び処理の前に、任意のオブジェクトの重なりを取り除くなどのために、ターゲットオブジェクトをスライド又は横方向に変位させるための動作計画を導出することが可能である。
ブロック514で、本ロボットシステムは、導出された動作計画を実施することができる。本ロボットシステムは、(例えば、プロセッサ及び通信デバイスを介して)経路及び/又は対応するコマンド、設定等をロボットアームアセンブリに伝達することによって動作計画を実施することができる。ロボットアームアセンブリは、動作計画によって示されるように、動作計画を実行して、ターゲットオブジェクトを開始地点から送り先地点まで移送することができる。
フィードバックループによって示されるように、本ロボットシステムは、動作計画(複数可)を実施した後に、画像の新しいセットを取得し、ブロック502~512について上記のプロセスを繰り返すことができる。本ロボットシステムは、ソース容器が空になるまで、ターゲットとされたオブジェクトが全て移送されるまで、又は実行可能なソリューションが残っていない場合に(例えば、検出されたエッジが少なくとも1つの実行可能な表面部分を形成しないエラー状況)、プロセスを繰り返すことができる。
図5に提示されたプロセスフローはある特定の順序を有するが、ブロック504~528に関して説明した特定のアクションは、代替のシーケンス又は順序で実行できることが理解される。
例
本技術は、例えば、下記の様々な態様に従って説明される。本技術の態様の様々な実施例は、便宜上、番号付けされた実施例(1、2、3など)として記載されている。これらは実施例として提供されており、本技術を限定するものではない。従属する実施例のいずれも、任意の適切な方法で組み合わせることができ、それぞれの独立した実施例の中に配置することができることに留意されたい。他の実施例も同様に提示することができる。
本技術は、例えば、下記の様々な態様に従って説明される。本技術の態様の様々な実施例は、便宜上、番号付けされた実施例(1、2、3など)として記載されている。これらは実施例として提供されており、本技術を限定するものではない。従属する実施例のいずれも、任意の適切な方法で組み合わせることができ、それぞれの独立した実施例の中に配置することができることに留意されたい。他の実施例も同様に提示することができる。
1.ロボットシステムを操作する一例の方法であって、
開始地点における1つ以上の柔軟オブジェクトを表す画像データに基づいて検出特徴を生成することと、
前記検出特徴に基づいて、前記1つ以上の柔軟オブジェクトに対応する検出結果を生成することと、
前記検出結果が、前記1つ以上の柔軟オブジェクトのインスタンスと前記1つ以上の柔軟オブジェクトのさらなるインスタンスとの間の重なりを表すオクルージョン領域を示すかどうかを判定することと、
前記検出結果に対して、ポジティブ識別情報を含む検出マスク情報を生成することと、
前記ターゲットオブジェクトについての動作計画を導出することと、を含み、
前記動作計画は、
前記検出マスク情報に基づいて前記1つ以上の柔軟オブジェクトから選択されたターゲットオブジェクトと、
前記検出マスク情報に基づいた、ロボットアームのエンドエフェクタのための、前記ターゲットオブジェクト上の把持部位と、
前記ターゲットオブジェクトを前記開始地点から送り先地点まで移送するための、前記ロボットアームについての1つ以上の軌道と、
を含む、方法。
開始地点における1つ以上の柔軟オブジェクトを表す画像データに基づいて検出特徴を生成することと、
前記検出特徴に基づいて、前記1つ以上の柔軟オブジェクトに対応する検出結果を生成することと、
前記検出結果が、前記1つ以上の柔軟オブジェクトのインスタンスと前記1つ以上の柔軟オブジェクトのさらなるインスタンスとの間の重なりを表すオクルージョン領域を示すかどうかを判定することと、
前記検出結果に対して、ポジティブ識別情報を含む検出マスク情報を生成することと、
前記ターゲットオブジェクトについての動作計画を導出することと、を含み、
前記動作計画は、
前記検出マスク情報に基づいて前記1つ以上の柔軟オブジェクトから選択されたターゲットオブジェクトと、
前記検出マスク情報に基づいた、ロボットアームのエンドエフェクタのための、前記ターゲットオブジェクト上の把持部位と、
前記ターゲットオブジェクトを前記開始地点から送り先地点まで移送するための、前記ロボットアームについての1つ以上の軌道と、
を含む、方法。
2.前記ポジティブ識別情報に対応する前記ターゲットオブジェクトの表面上のエリア内の前記把持部位を決定することをさらに含む、例1の方法又はその1つ以上の部分。
3.前記検出結果が前記オクルージョン領域を含む場合、オクルージョン情報に対応する前記ターゲットオブジェクトの表面上のエリアを避けるように前記把持部位を決定することをさらに含む、例1又は2の方法、及び/又はその1つ以上の部分の組み合わせ。
4.前記オクルージョン領域は、前記1つ以上の柔軟オブジェクトの前記インスタンスに対応するターゲット検出結果と、前記1つ以上の柔軟オブジェクトの前記さらなるインスタンスに対応する隣接検出結果との間の重なりである、例1~3のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
5.前記オクルージョン領域についてのオクルージョン状態を判定することをさらに含み、前記オクルージョン状態は、
(1)前記オクルージョン領域で、前記隣接検出結果が前記ターゲット検出結果を下回っていることを表す隣接オクルージョン状態、
(2)前記オクルージョン領域で、前記ターゲット検出結果が前記隣接検出結果を下回っていることを表すターゲットオクルージョン状態、又は
(3)前記ターゲット検出結果と前記隣接検出結果との間の前記重なりが不確定である場合の不確定オクルージョン状態、
のうちの1つである、例1~4のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
(1)前記オクルージョン領域で、前記隣接検出結果が前記ターゲット検出結果を下回っていることを表す隣接オクルージョン状態、
(2)前記オクルージョン領域で、前記ターゲット検出結果が前記隣接検出結果を下回っていることを表すターゲットオクルージョン状態、又は
(3)前記ターゲット検出結果と前記隣接検出結果との間の前記重なりが不確定である場合の不確定オクルージョン状態、
のうちの1つである、例1~4のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
6.前記オクルージョン領域における前記ターゲット検出結果に対応する前記検出特徴及び/又は前記隣接検出結果に対応する前記検出特徴に基づいて、前記オクルージョン領域についてのオクルージョン状態を判定することをさらに含む、例1~5のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
7.前記検出特徴は、エッジ特徴、キーポイント、深度値、又はそれらの組み合わせを含み、
当該方法は、前記エッジ情報、前記キーポイント情報、高さ寸法情報、又はそれらの組み合わせの場合に、前記画像データ内の領域の前記ポジティブ識別情報を生成することをさらに含み、
前記検出結果を生成することは、前記エッジ情報、前記キーポイント情報、前記高さ寸法情報、又はそれらの組み合わせに基づいて前記検出結果を生成することを含む、例1~6のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
当該方法は、前記エッジ情報、前記キーポイント情報、高さ寸法情報、又はそれらの組み合わせの場合に、前記画像データ内の領域の前記ポジティブ識別情報を生成することをさらに含み、
前記検出結果を生成することは、前記エッジ情報、前記キーポイント情報、前記高さ寸法情報、又はそれらの組み合わせに基づいて前記検出結果を生成することを含む、例1~6のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
8.ロボットシステムを操作する一例の方法であって、
開始地点における少なくとも第1のオブジェクトと第2のオブジェクトとを表す画像データを取得することと、
前記画像データに基づいて、前記第1のオブジェクトと前記第2のオブジェクトとが互いに重なっていると判定することと、
前記判定に応答して、前記画像データに基づいて、重なっている領域を識別することであって、前記重なっている領域が、前記第1のオブジェクトの少なくとも一部が前記第2のオブジェクトの少なくとも一部と重なるエリアを表すことと、
動作計画のため、1つ以上の描写された特性に基づいて前記重なっている領域を分類することと、
を含む、方法。
開始地点における少なくとも第1のオブジェクトと第2のオブジェクトとを表す画像データを取得することと、
前記画像データに基づいて、前記第1のオブジェクトと前記第2のオブジェクトとが互いに重なっていると判定することと、
前記判定に応答して、前記画像データに基づいて、重なっている領域を識別することであって、前記重なっている領域が、前記第1のオブジェクトの少なくとも一部が前記第2のオブジェクトの少なくとも一部と重なるエリアを表すことと、
動作計画のため、1つ以上の描写された特性に基づいて前記重なっている領域を分類することと、
を含む、方法。
9.前記画像データに基づいて第1の検出結果及び第2の検出結果を生成することをさらに含み、
前記第1の検出結果及び前記第2の検出結果は、それぞれ、前記画像データに描写された前記第1のオブジェクト及び前記第2のオブジェクトを識別し、
前記第1の検出結果及び前記第2の検出結果を生成することは、
登録されたオブジェクトの物理的属性を記述するマスターデータを使用して、前記第1の検出結果及び前記第2の検出結果に対応する前記第1のオブジェクト及び前記第2のオブジェクトの形状を識別することを含み、
前記第1のオブジェクトと前記第2のオブジェクトとが重なっていると判定することは、
前記第1のオブジェクト及び前記第2のオブジェクトの前記形状を前記画像データと比較することと、
前記第1のオブジェクト及び前記第2のオブジェクトの両方の前記形状に対応する前記画像データの一部に対応する前記重なっている領域を識別することと
を含む、例1~8のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
前記第1の検出結果及び前記第2の検出結果は、それぞれ、前記画像データに描写された前記第1のオブジェクト及び前記第2のオブジェクトを識別し、
前記第1の検出結果及び前記第2の検出結果を生成することは、
登録されたオブジェクトの物理的属性を記述するマスターデータを使用して、前記第1の検出結果及び前記第2の検出結果に対応する前記第1のオブジェクト及び前記第2のオブジェクトの形状を識別することを含み、
前記第1のオブジェクトと前記第2のオブジェクトとが重なっていると判定することは、
前記第1のオブジェクト及び前記第2のオブジェクトの前記形状を前記画像データと比較することと、
前記第1のオブジェクト及び前記第2のオブジェクトの両方の前記形状に対応する前記画像データの一部に対応する前記重なっている領域を識別することと
を含む、例1~8のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
10.前記画像データに基づいて第1の検出結果を生成することをさらに含み、
前記第1の検出結果は前記第1のオブジェクトとその場所とを識別し、
前記第1の検出結果を生成することは、
登録されたオブジェクトの物理的属性を記述するマスターデータに従って、前記第1の検出結果に対応する少なくとも第1の形状を識別することと、
前記第1のオブジェクトに対応する前記画像データの部分における予期せぬ線又はエッジを、前記部分と前記マスターデータ内の前記第1のオブジェクトの予想される表面特性との比較に基づいて、識別することに基づいて、前記第1のオブジェクトと第2のオブジェクトとが重なっていると判定することと、をさらに含み、
前記予期せぬ線又はエッジは、(1)前記第1のオブジェクトに及ぶ前記第2のオブジェクトのエッジ、又は(2)前記マスターデータに従って前記第1のオブジェクトが柔軟オブジェクトとして識別された場合に、前記第1のオブジェクトが前記第2のオブジェクトに部分的に重なることに基づいて前記第1のオブジェクトに形成される表面の変形に対応する、例1~9のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
前記第1の検出結果は前記第1のオブジェクトとその場所とを識別し、
前記第1の検出結果を生成することは、
登録されたオブジェクトの物理的属性を記述するマスターデータに従って、前記第1の検出結果に対応する少なくとも第1の形状を識別することと、
前記第1のオブジェクトに対応する前記画像データの部分における予期せぬ線又はエッジを、前記部分と前記マスターデータ内の前記第1のオブジェクトの予想される表面特性との比較に基づいて、識別することに基づいて、前記第1のオブジェクトと第2のオブジェクトとが重なっていると判定することと、をさらに含み、
前記予期せぬ線又はエッジは、(1)前記第1のオブジェクトに及ぶ前記第2のオブジェクトのエッジ、又は(2)前記マスターデータに従って前記第1のオブジェクトが柔軟オブジェクトとして識別された場合に、前記第1のオブジェクトが前記第2のオブジェクトに部分的に重なることに基づいて前記第1のオブジェクトに形成される表面の変形に対応する、例1~9のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
11.前記第1の検出結果を生成することは、(1)前記第1のオブジェクトが前記重なっている領域で前記第2のオブジェクトの上にある/重なっているか、(2)前記第1のオブジェクトが前記重なっている領域で前記第2のオブジェクトの下にある、もしくは前記第2のオブジェクトによって重ね合わされているか、又は(3)前記第2のオブジェクトに対する前記第1のオブジェクトの縦の位置付けを結論付ける十分な証拠がないかどうかを識別することをさらに含む、例1~10のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
12.十分な証拠がないことを識別することは、
前記重なっている領域で前記第1のオブジェクトが前記第2のオブジェクトの下にあることを識別することと、
前記画像データに基づいて第2の検出結果を生成することと、を含み、
前記第2の検出結果は、前記第2のオブジェクトとその場所とを識別し、前記第2のオブジェクトが前記重なっている領域で前記第1のオブジェクトの下にあることをさらに示す、例1~11のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
前記重なっている領域で前記第1のオブジェクトが前記第2のオブジェクトの下にあることを識別することと、
前記画像データに基づいて第2の検出結果を生成することと、を含み、
前記第2の検出結果は、前記第2のオブジェクトとその場所とを識別し、前記第2のオブジェクトが前記重なっている領域で前記第1のオブジェクトの下にあることをさらに示す、例1~11のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
13.前記第1の検出結果を生成することは、前記第1のオブジェクトに対応する前記画像データの1つ以上の部分を、
(1)前記第1のオブジェクトの前記マスターデータ内の予想される表面画像の対応する部分と一致する、ポジティブに識別されたエリア、
(2)前記重なっている領域、又は
(3)不確定領域、
として識別することをさらに含み、
当該方法は、
前記第1のオブジェクトを送り先に移送する際にグリッパで前記第1のオブジェクトを把握するための把持部位を導出することをさらに含み、
前記把持部位は、(1)グリッパのフットプリントと前記ポジティブに識別されたエリアとの間の重なりを最大化することと、(2)前記グリッパのフットプリントを前記重なっている領域の外側に保つこととに基づいて導出される、例1~12のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
(1)前記第1のオブジェクトの前記マスターデータ内の予想される表面画像の対応する部分と一致する、ポジティブに識別されたエリア、
(2)前記重なっている領域、又は
(3)不確定領域、
として識別することをさらに含み、
当該方法は、
前記第1のオブジェクトを送り先に移送する際にグリッパで前記第1のオブジェクトを把握するための把持部位を導出することをさらに含み、
前記把持部位は、(1)グリッパのフットプリントと前記ポジティブに識別されたエリアとの間の重なりを最大化することと、(2)前記グリッパのフットプリントを前記重なっている領域の外側に保つこととに基づいて導出される、例1~12のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせ。
14.少なくとも1つのプロセッサと、
実行されると、前記少なくとも1つのプロセッサに、例1~13のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせを行わせるプロセッサ命令を含む少なくとも1つのメモリと、
を含む、ロボットシステム。
実行されると、前記少なくとも1つのプロセッサに、例1~13のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせを行わせるプロセッサ命令を含む少なくとも1つのメモリと、
を含む、ロボットシステム。
15.1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、例1~13のいずれか1つ以上の方法、及び/又はその1つ以上の部分の組み合わせを行わせるプロセッサ命令を含む、非一時的コンピュータ可読媒体。
結論
開示された技術の例の上記の発明を実施するための形態は、網羅的であること、又は開示された技術を上記に開示した正確な形態に限定することを意図するものではない。開示された技術の特定の例が例示の目的のために上記で説明されるが、当業者が認識するように、開示された技術の範囲内で様々な同等の修正が可能である。例えば、プロセス又はブロックが所与の順序で提示されているが、代替の実施態様は、異なる順序で、ステップを有するルーチンを行い得、又はブロックを有するシステムを使用し得、いくつかのプロセス又はブロックは、代替又は部分的な組み合わせを提供するために、削除、移動、追加、細分化、結合、及び/又は修正され得る。これらのプロセス又はブロックのそれぞれは、様々な方法で実施されてもよい。また、プロセス又はブロックは、時には直列に実行されるように示されているが、これらのプロセス又はブロックは、代わりに並列に実行又は実施されてもよく、又は異なる時間に実行されてもよい。さらにまた、本明細書に記載されている任意の特定の数は単なる実施例であり、代替的な実施態様では、異なる値又は範囲を使用してもよい。
開示された技術の例の上記の発明を実施するための形態は、網羅的であること、又は開示された技術を上記に開示した正確な形態に限定することを意図するものではない。開示された技術の特定の例が例示の目的のために上記で説明されるが、当業者が認識するように、開示された技術の範囲内で様々な同等の修正が可能である。例えば、プロセス又はブロックが所与の順序で提示されているが、代替の実施態様は、異なる順序で、ステップを有するルーチンを行い得、又はブロックを有するシステムを使用し得、いくつかのプロセス又はブロックは、代替又は部分的な組み合わせを提供するために、削除、移動、追加、細分化、結合、及び/又は修正され得る。これらのプロセス又はブロックのそれぞれは、様々な方法で実施されてもよい。また、プロセス又はブロックは、時には直列に実行されるように示されているが、これらのプロセス又はブロックは、代わりに並列に実行又は実施されてもよく、又は異なる時間に実行されてもよい。さらにまた、本明細書に記載されている任意の特定の数は単なる実施例であり、代替的な実施態様では、異なる値又は範囲を使用してもよい。
上記の発明を実施するための形態を踏まえて、開示された技術には、これらの変更及びその他の変更を加えることができる。詳細な説明は、開示された技術の特定の実施例ならびに考えられるベストモードを説明しているが、開示された技術は、上記の説明が本文にどのように詳細に記載されていても、多くの方法で実施することができる。システムの詳細は、本明細書に開示されている技術によって包含されながら、特定の実施態様ではかなり異なり得る。上述したように、開示された技術の特定の特徴又は態様を説明するときに使用される特定の用語は、その用語が関連付けられている開示された技術の特定の特性、特徴、又は態様に制限されるように、本明細書でその用語が再定義されていることを意味するものと解釈されるべきではない。したがって、本発明は、添付の特許請求の範囲によるものを除き、限定されない。一般に、以下の特許請求の範囲で使用される用語は、上記の詳細な説明の節でそのような用語を明示的に定義しない限り、開示された技術を本明細書で開示される特定の実施例に限定するように解釈されるべきではない。
本発明の特定の態様は、下記の特定の特許請求の範囲の形態で提示されるが、出願人は、本発明の様々な態様を任意の数の請求項の形態において企図している。したがって、出願人は、本願又は継続出願のいずれかで、そのような追加の請求項の形態を追求するために、本願の出願後に追加の請求項を追求する権利を留保する。
Claims (20)
- ロボットシステムを操作する方法であって、
開始地点における1つ以上の柔軟オブジェクトを表す画像データに基づいて検出特徴を生成することと、
前記検出特徴に基づいて、前記1つ以上の柔軟オブジェクトに対応する検出結果を生成することと、
前記検出結果が、前記1つ以上の柔軟オブジェクトのインスタンスと前記1つ以上の柔軟オブジェクトのさらなるインスタンスとの間の重なりを表すオクルージョン領域を示すかどうかを判定することと、
前記検出結果に対して、ポジティブ識別情報を含む検出マスク情報を生成することと、
前記ターゲットオブジェクトについての動作計画を導出することと、を含み、
前記動作計画は、
前記検出マスク情報に基づいて前記1つ以上の柔軟オブジェクトから選択されたターゲットオブジェクトと、
前記検出マスク情報に基づいた、ロボットアームのエンドエフェクタのための、前記ターゲットオブジェクト上の把持部位と、
前記ターゲットオブジェクトを前記開始地点から送り先地点まで移送するための、前記ロボットアームについての1つ以上の軌道と、
を含む、方法。 - 前記ポジティブ識別情報に対応する前記ターゲットオブジェクトの表面上のエリア内の前記把持部位を決定することをさらに含む、請求項1に記載の方法。
- 前記検出結果が前記オクルージョン領域を含む場合、オクルージョン情報に対応する前記ターゲットオブジェクトの表面上のエリアを避けるように前記把持部位を決定することをさらに含む、請求項1に記載の方法。
- 前記オクルージョン領域は、前記1つ以上の柔軟オブジェクトの前記インスタンスに対応するターゲット検出結果と、前記1つ以上の柔軟オブジェクトの前記さらなるインスタンスに対応する隣接検出結果との間の重なりである、請求項1に記載の方法。
- 前記オクルージョン領域についてのオクルージョン状態を判定することをさらに含み、
前記オクルージョン状態は、
(1)前記オクルージョン領域で、前記隣接検出結果が前記ターゲット検出結果を下回っていることを表す隣接オクルージョン状態、
(2)前記オクルージョン領域で、前記ターゲット検出結果が前記隣接検出結果を下回っていることを表すターゲットオクルージョン状態、又は
(3)前記ターゲット検出結果と前記隣接検出結果との間の前記重なりが不確定である場合の不確定オクルージョン状態、
のうちの1つである、請求項4に記載の方法。 - 前記オクルージョン領域における前記ターゲット検出結果に対応する前記検出特徴、及び/又は、
前記隣接検出結果に対応する前記検出特徴
に基づいて、前記オクルージョン領域についてのオクルージョン状態を判定することをさらに含む、請求項4に記載の方法。 - 前記検出特徴は、エッジ特徴、キーポイント、深度値、又はそれらの組み合わせを含み、
当該方法は、
前記エッジ情報、前記キーポイント情報、高さ寸法情報、又はそれらの組み合わせの場合に、前記画像データ内の領域について前記ポジティブ識別情報を生成することをさらに含み、
前記検出結果を生成することは、前記エッジ情報、前記キーポイント情報、前記高さ寸法情報、又はそれらの組み合わせに基づいて前記検出結果を生成することを含む、請求項1に記載の方法。 - 少なくとも1つのプロセッサと、
プロセッサ命令を含む少なくとも1つのメモリと、を備え、
前記プロセッサ命令は、実行されると、前記少なくとも1つのプロセッサに、
開始地点における1つ以上の柔軟オブジェクトを表す画像データに基づいて検出特徴を生成することと、
前記検出特徴に基づいて、前記1つ以上の柔軟オブジェクトに対応する検出結果を生成することと、
前記検出結果が、前記1つ以上の柔軟オブジェクトのインスタンスと前記1つ以上の柔軟オブジェクトのさらなるインスタンスとの間の重なりを表すオクルージョン領域を示すかどうかを判定することと、
前記検出結果に対して、ポジティブ識別情報を含む検出マスク情報を生成することと、
前記ターゲットオブジェクトについての動作計画を導出することと、
を実行させることを含み、
前記動作計画は、
前記検出マスク情報に基づいて前記1つ以上の柔軟オブジェクトから選択されたターゲットオブジェクトと、
前記検出マスク情報に基づいた、ロボットアームのエンドエフェクタのための、前記ターゲットオブジェクト上の把持部位と、
前記ターゲットオブジェクトを前記開始地点から送り先地点まで移送するための、前記ロボットアームについての1つ以上の軌道と、
を含む、ロボットシステム。 - 前記プロセッサ命令は、前記ポジティブ識別情報に対応する前記ターゲットオブジェクトの表面上のエリア内の前記把持部位を決定することを、前記少なくとも1つのプロセッサにさらに実行させる、請求項8に記載のシステム。
- 前記プロセッサ命令は、前記検出結果が前記オクルージョン領域を含む場合、オクルージョン情報に対応する前記ターゲットオブジェクトの表面上のエリアを避けるように前記把持部位を決定することを、前記少なくとも1つのプロセッサにさらに実行させる、請求項8に記載のシステム。
- 前記オクルージョン領域は、前記1つ以上の柔軟オブジェクトの前記インスタンスに対応するターゲット検出結果と、前記1つ以上の柔軟オブジェクトの前記さらなるインスタンスに対応する隣接検出結果との間の重なりである、請求項8に記載のシステム。
- 前記プロセッサ命令はが、前記オクルージョン領域についてのオクルージョン状態を判定することを、前記少なくとも1つのプロセッサにさらに実行させ、
前記オクルージョン状態は、
(1)前記オクルージョン領域で、前記隣接検出結果が前記ターゲット検出結果を下回っていることを表す隣接オクルージョン状態、
(2)前記オクルージョン領域で、前記ターゲット検出結果が前記隣接検出結果を下回っていることを表すターゲットオクルージョン状態、又は
(3)前記ターゲット検出結果と前記隣接検出結果との間の前記重なりが不確定である場合の不確定オクルージョン状態、
のうちの1つである、請求項11に記載のシステム。 - 前記プロセッサ命令は、前記オクルージョン領域における前記ターゲット検出結果に対応する前記検出特徴及び/又は前記隣接検出結果に対応する前記検出特徴に基づいて、前記オクルージョン領域についてのオクルージョン状態を判定することを、前記少なくとも1つのプロセッサにさらに実行させる、請求項11に記載のシステム。
- 前記検出特徴は、エッジ特徴、キーポイント、深度値、又はそれらの組み合わせを含み、
前記プロセッサ命令は、さらに、前記少なくとも1つのプロセッサに、
前記エッジ情報、前記キーポイント情報、高さ寸法情報、又はそれらの組み合わせの場合に、前記画像データ内の領域について前記ポジティブ識別情報を生成することと、
前記エッジ情報、前記キーポイント情報、前記高さ寸法情報、又はそれらの組み合わせに基づいて前記検出結果を生成することと、
を行わせる、請求項8に記載のシステム。 - プロセッサ命令を含む非一時的コンピュータ可読媒体であって、
前記プロセッサ命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
開始地点における1つ以上の柔軟オブジェクトを表す画像データに基づいて検出特徴を生成することと、
前記検出特徴に基づいて、前記1つ以上の柔軟オブジェクトに対応する検出結果を生成することと、
前記検出結果が、前記1つ以上の柔軟オブジェクトのインスタンスと前記1つ以上の柔軟オブジェクトのさらなるインスタンスとの間の重なりを表すオクルージョン領域を示すかどうかを判定することと、
前記検出結果に対して、ポジティブ識別情報を含む検出マスク情報を生成することと、
前記ターゲットオブジェクトについての動作計画を導出することと、
を実行させることを含み、
前記動作計画は、
前記検出マスク情報に基づいて前記1つ以上の柔軟オブジェクトから選択されたターゲットオブジェクトと、
前記検出マスク情報に基づいた、ロボットアームのエンドエフェクタのための、前記ターゲットオブジェクト上の把持部位と、
前記ターゲットオブジェクトを前記開始地点から送り先地点まで移送するための、前記ロボットアームについての1つ以上の軌道と、
を含む、非一時的コンピュータ可読媒体。 - 前記プロセッサ命令は、前記ポジティブ識別情報に対応する前記ターゲットオブジェクトの表面上のエリア内の前記把持部位を決定することを、前記1つ以上のプロセッサにさらに実行させる、請求項15に記載の非一時的コンピュータ可読媒体。
- 前記オクルージョン領域は、前記1つ以上の柔軟オブジェクトの前記インスタンスに対応するターゲット検出結果と、前記1つ以上の柔軟オブジェクトの前記さらなるインスタンスに対応する隣接検出結果との間の重なりである、請求項15に記載の非一時的コンピュータ可読媒体。
- 前記プロセッサ命令は、前記オクルージョン領域についてのオクルージョン状態を判定することを、前記1つ以上のプロセッサにさらに実行させ、
前記オクルージョン状態は、
(1)前記オクルージョン領域で、前記隣接検出結果が前記ターゲット検出結果を下回っていることを表す隣接オクルージョン状態、
(2)前記オクルージョン領域で、前記ターゲット検出結果が前記隣接検出結果を下回っていることを表すターゲットオクルージョン状態、又は
(3)前記ターゲット検出結果と前記隣接検出結果との間の前記重なりが不確定である場合の不確定オクルージョン状態、
のうちの1つである、請求項17に記載の非一時的コンピュータ可読媒体。 - 前記プロセッサ命令は、前記オクルージョン領域における前記ターゲット検出結果に対応する前記検出特徴及び/又は前記隣接検出結果に対応する前記検出特徴に基づいて、前記オクルージョン領域についてのオクルージョン状態を判定することを、前記1つ以上のプロセッサにさらに実行させる、請求項17に記載の非一時的コンピュータ可読媒体。
- 前記検出特徴は、エッジ特徴、キーポイント、深度値、又はそれらの組み合わせを含み、
前記プロセッサ命令は、さらに、前記1つ以上のプロセッサに、
前記エッジ情報、前記キーポイント情報、高さ寸法情報、又はそれらの組み合わせの場合に、前記画像データ内の領域の前記ポジティブ識別情報を生成することと、
前記エッジ情報、前記キーポイント情報、前記高さ寸法情報、又はそれらの組み合わせに基づいて前記検出結果を生成することと、
を行わせる、請求項15に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163239795P | 2021-09-01 | 2021-09-01 | |
US63/239,795 | 2021-09-01 | ||
JP2022575865A JP7398763B2 (ja) | 2021-09-01 | 2022-09-01 | 重なり処理機構を備えたロボットシステム及びその操作方法 |
PCT/US2022/042387 WO2023034533A1 (en) | 2021-09-01 | 2022-09-01 | Robotic system with overlap processing mechanism and methods for operating the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022575865A Division JP7398763B2 (ja) | 2021-09-01 | 2022-09-01 | 重なり処理機構を備えたロボットシステム及びその操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2024020532A true JP2024020532A (ja) | 2024-02-14 |
JP2024020532A5 JP2024020532A5 (ja) | 2024-03-07 |
Family
ID=85386627
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022575865A Active JP7398763B2 (ja) | 2021-09-01 | 2022-09-01 | 重なり処理機構を備えたロボットシステム及びその操作方法 |
JP2023199732A Pending JP2024020532A (ja) | 2021-09-01 | 2023-11-27 | 重なり処理機構を備えたロボットシステム及びその操作方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022575865A Active JP7398763B2 (ja) | 2021-09-01 | 2022-09-01 | 重なり処理機構を備えたロボットシステム及びその操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230071488A1 (ja) |
JP (2) | JP7398763B2 (ja) |
CN (2) | CN116194256A (ja) |
WO (1) | WO2023034533A1 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4199264B2 (ja) * | 2006-05-29 | 2008-12-17 | ファナック株式会社 | ワーク取り出し装置及び方法 |
FI20106387A (fi) * | 2010-12-30 | 2012-07-01 | Zenrobotics Oy | Menetelmä, tietokoneohjelma ja laite tartuntakohdan määrittämiseksi |
JP6000029B2 (ja) | 2012-09-10 | 2016-09-28 | 株式会社アプライド・ビジョン・システムズ | ハンドリングシステム、ハンドリング方法及びプログラム |
CN108349083B (zh) * | 2015-11-13 | 2021-09-21 | 伯克希尔格雷股份有限公司 | 用于提供各种物体的分拣的分拣系统和方法 |
JP7062406B2 (ja) * | 2017-10-30 | 2022-05-16 | 株式会社東芝 | 情報処理装置及びロボットアーム制御システム |
US10759054B1 (en) * | 2020-02-26 | 2020-09-01 | Grey Orange Pte. Ltd. | Method and system for handling deformable objects |
-
2022
- 2022-09-01 CN CN202280004989.6A patent/CN116194256A/zh active Pending
- 2022-09-01 JP JP2022575865A patent/JP7398763B2/ja active Active
- 2022-09-01 US US17/901,739 patent/US20230071488A1/en active Pending
- 2022-09-01 CN CN202310549157.9A patent/CN116638509A/zh active Pending
- 2022-09-01 WO PCT/US2022/042387 patent/WO2023034533A1/en active Application Filing
-
2023
- 2023-11-27 JP JP2023199732A patent/JP2024020532A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023539403A (ja) | 2023-09-14 |
CN116638509A (zh) | 2023-08-25 |
CN116194256A (zh) | 2023-05-30 |
WO2023034533A1 (en) | 2023-03-09 |
JP7398763B2 (ja) | 2023-12-15 |
US20230071488A1 (en) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111633633B (zh) | 具有自动化物体检测机构的机器人系统及其操作方法 | |
JP7284953B2 (ja) | 高度化したスキャンメカニズムを有するロボットシステム | |
JP7349094B2 (ja) | ピースロス管理メカニズムを有するロボットシステム | |
US20210154839A1 (en) | Robotic system control method and controller | |
JP7175487B1 (ja) | 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法 | |
JP7398662B2 (ja) | ロボット多面グリッパアセンブリ及びその操作方法 | |
JP7126667B1 (ja) | 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 | |
JP7398763B2 (ja) | 重なり処理機構を備えたロボットシステム及びその操作方法 | |
EP4395965A1 (en) | Robotic system with overlap processing mechanism and methods for operating the same | |
JP7218881B1 (ja) | 物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 | |
CN115609569A (zh) | 具有基于图像的尺寸确定机制的机器人系统及其操作方法 | |
CN115258510A (zh) | 具有物体更新机制的机器人系统和用于操作所述机器人系统的方法 | |
CN116551667A (zh) | 用于可打开对象的机器人抓持器总成和拾取对象的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240228 |