JP2022135882A - グリップ領域検出を実施するための方法および計算システム - Google Patents
グリップ領域検出を実施するための方法および計算システム Download PDFInfo
- Publication number
- JP2022135882A JP2022135882A JP2021145336A JP2021145336A JP2022135882A JP 2022135882 A JP2022135882 A JP 2022135882A JP 2021145336 A JP2021145336 A JP 2021145336A JP 2021145336 A JP2021145336 A JP 2021145336A JP 2022135882 A JP2022135882 A JP 2022135882A
- Authority
- JP
- Japan
- Prior art keywords
- patches
- region
- area
- computing system
- grip
- 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 41
- 238000001514 detection method Methods 0.000 title abstract description 33
- 230000033001 locomotion Effects 0.000 claims abstract description 53
- 239000012636 effector Substances 0.000 claims description 56
- 239000013598 vector Substances 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 47
- 238000004891 communication Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 5
- 239000012780 transparent material Substances 0.000 description 26
- 238000003860 storage Methods 0.000 description 13
- 239000012530 fluid Substances 0.000 description 12
- 239000000463 material Substances 0.000 description 11
- 230000003993 interaction Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000004438 eyesight Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 239000004744 fabric Substances 0.000 description 5
- 229920003023 plastic Polymers 0.000 description 5
- 239000004033 plastic Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000037303 wrinkles Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 239000005022 packaging material Substances 0.000 description 4
- 230000004313 glare Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000000853 adhesive Substances 0.000 description 2
- 230000001070 adhesive effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007665 sagging Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 229920000742 Cotton Polymers 0.000 description 1
- JOYRKODLDBILNP-UHFFFAOYSA-N Ethyl urethane Chemical compound CCOC(N)=O JOYRKODLDBILNP-UHFFFAOYSA-N 0.000 description 1
- 229920002449 FKM Polymers 0.000 description 1
- 229920000954 Polyglycolide Polymers 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000916 dilatatory effect Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 229920001971 elastomer Polymers 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 229920002457 flexible plastic Polymers 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 150000002825 nitriles Chemical class 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002985 plastic film Substances 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 235000010409 propane-1,2-diol alginate Nutrition 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer 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
- 210000002268 wool Anatomy 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/1602—Programme controls characterised by the control system, structure, architecture
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Abstract
【課題】グリップ領域検出を実施するための計算システムによって行われる方法を提示する。【解決手段】可撓性の物体に関連付けられた物体表面を表す画像情報を受信することと、定義された平滑性条件を満たしかつ定義された領域サイズの閾値以上である領域サイズを有する物体表面の表面領域を、画像情報に基づいてグリップ領域として識別することと、を行う計算システムを含み得る。1つ以上の水平寸法でグリップ領域を囲みかつ1つ以上の水平寸法に対して垂直な垂直寸法に沿ってグリップ領域から延在する三次元(3D)領域を、安全領域として識別することをさらに含み得る。さらに、グリップ領域および安全領域に基づいて、ロボット運動計画を実施することを含み得る。【選択図】図4
Description
本開示は、可撓性の物体などの、グリップ領域検出を実施するための計算システムおよび方法に関する。
自動化がより一般的になるに従い、倉庫保管および小売環境など、より多くの環境においてロボットが使用されている。例えば、ロボットは、倉庫の中にある物体と相互作用するように使用され得る。ロボットの動作は、一定であってもよく、または倉庫の中のセンサーによって生成された情報などの、入力に基づいてもよい。
本開示の一態様は、計算システムと、方法と、計算システムによって実行されて方法を実施させ得る命令を有する非一時的コンピュータ可読媒体と、に関する。システムは、通信インターフェースおよび少なくとも1つの処理回路を含み得る。通信インターフェースは、エンドエフェクタ装置を有するロボット、およびカメラ視野を有するカメラと通信するように構成される。少なくとも1つの処理回路は、可撓性の物体がカメラ視野の中にあるとき、方法を実施するように構成される。方法は、可撓性の物体に関連付けられた物体表面を表す画像情報を受信することを含んでもよく、画像情報は、カメラによって生成される。方法は、定義された平滑性条件を満たし、かつ定義された領域サイズの閾値以上である領域サイズを有する、物体表面の表面領域を、画像情報に基づいてグリップ領域として識別することをさらに含んでもよい。方法は、1つ以上の水平寸法でグリップ領域を囲みかつ1つ以上の水平寸法に対して垂直な垂直寸法に沿ってグリップ領域から延在する三次元(3D)領域を、安全領域として識別することをさらに含み得る。方法は、さらに、グリップ領域および安全領域に基づいて、エンドエフェクタ装置によってグリップ領域で可撓性の物体を掴むためのロボット運動計画を実施することを含んでもよい。
本開示の一態様は、物体を掴むためのグリップ領域および/または安全領域の識別に関する。また、ピック可能領域とも呼ばれ得るグリップ領域を使用して、ロボットが物体をピックアップするか、または他の方法で掴むことを容易にすることができる。また、安全ボリュームとも呼ばれ得る安全領域を使用して、衝突のリスクが低減された物体の軌道を決定することができる。一実施例では、物体は、倉庫または小売空間の中のパッケージであってもよく、またグリップ領域および/または安全領域は、ロボットを制御して物体を掴み、物体を目的位置へ移動させるプロセスを促進するために識別されてもよい。
実施形態では、物体をピックアップするためのグリップ領域を識別することは、物体の表面上の十分に滑らかであり、かつ十分に大きな表面領域を、グリップ領域として識別することを伴い得る。グリップ領域は、カメラによって生成される画像情報から識別される表面領域であってもよく、画像情報は、グリップされる物体を含むシーンを表し得る。この実施形態における表面領域は、ロボットのエンドエフェクタ装置が係合および掴むための好適な候補領域を提供し得る。一部の実例では、ロボットは、例えば、物体の表面に対して押し付けられる、またはそうでなければ物体の表面と接触するように構成された1つ以上の吸引カップを有する、エンドエフェクタ装置を含み得る。1つ以上の吸引カップは、物体の表面と1つ以上の吸引カップとの間に十分な接触がある場合に、物体の表面との接着性を作り出すことができる。一部の実例では、掴まれる物体は、衣服のパッケージなどの可撓性の物体であってもよい。より具体的には、パッケージは、プラスチックまたは他の包装材料のシートで包まれた衣服の1点を含み得る。こうした可撓性の物体は、可撓性の物体の1つ以上の部分が、その環境内で可撓性の物体がどのように物理的に配設されるかの結果として、1つ以上の非平滑部分を一時的に形成することを可能にし得る、十分に軟質であってもよく、または他には変形可能であってもよい。非平滑部分は、例えば、隆起、しわ、畝、陥凹、または可撓性の物体の表面のそれぞれの局所部分に非平滑性を導入する他の物理的特徴を含み得る。物体の表面の非平滑部分は、エンドエフェクタ装置と物体の表面のその部分との間の可能な接触の量を減少させる場合があり、これは、それ自体と物体の表面のその部分との間の接着性を作り出すエンドエフェクタ装置の能力を妨げ得る。したがって、本明細書の実施形態の計算システムは、エンドエフェクタ装置が、それ自体とグリップ領域との間により確実に接着性を作り出すことができるように、十分に滑らかな表面領域をグリップ領域として識別することを試み得る。識別されたグリップ領域は、物体の表面と接触させるために使用されるエンドエフェクタ装置(例えば、吸引カップ)の構成要素に適合するのに十分な大きさとなるように、定義された領域サイズの閾値よりも大きくてもよい。
実施形態では、計算システムは、定義された平滑性条件を満たす表面領域を検索することによって、十分に平滑な表面領域を見つけるように試みてもよい。こうした状態は、十分に類似した配向および十分に類似した奥行きを有する表面領域の部分を伴い得る。例えば、計算システムは、以下でより詳細に考察されるように、1つ以上の物体表面を、2D平面とも呼ばれる複数の二次元(2D)パッチに分割し、定義された配向類似性基準および/または定義された奥行き類似性基準を満たす連続的な2Dパッチを検索し得る。
実施形態では、計算システムは、グリップ領域を、定義された平滑性条件を満たす連続的な2Dパッチのセットによって形成されるか、またはそのセット内に適合する表面領域として識別することを試み得る。一部の実装形態では、計算システムは、カメラによって生成された画像情報によって表されるシーン内の最も平滑な位置または位置のクラスタを表す、2Dパッチを識別し得る。計算システムは、2Dパッチをシードまたは初期2Dパッチとして使用してもよく、初期2Dパッチを連続的な2Dパッチのセット内に拡張することを試み得る。拡張動作は、初期2Dパッチを含む局所領域を定義し、定義された平滑性条件を満たす、追加の2Dパッチの検索を伴い得る。一部の実例では、計算システムは、定義された平滑性条件を満たす一方で、こうした拡張動作から形成され得る最大の局所領域を検索し得る。一部の実装形態では、グリップ領域は、連続的な2Dパッチのセットによって形成される、こうした局所領域であってもよい。一部の実装形態では、グリップ領域は、こうした局所領域内に適合するより小さな領域であってもよい。
実施形態では、計算システムは、1つ以上の水平寸法でグリップ領域を囲む三次元(3D)領域を、安全領域として決定し得る。一部の実例では、安全領域は、グリップ領域を垂直寸法で取り囲んでもよい。安全領域は、ロボットによって掴まれる物体と、ロボット環境内の他の物体または構造との間の衝突のリスクを低減するために、運動計画動作によって考慮され得る、グリップ領域の周りに安全マージンを画定し得る。一部の実例では、安全領域は、安全領域が1つ以上の水平寸法で安全領域を囲むときに、グリップ領域に関連付けられた物体を囲む可能性が高いように、十分に大きくてもよい。例えば、安全領域は、同じサイズを有する物体もしくは物体のグループに関連付けられた定義された横方向寸法サイズに基づいて、または異なるサイズを有する物体のグループに関連付けられた最大横方向寸法サイズに基づいて決定される、エッジを有してもよい。
実施形態では、計算システムによって、物体の横方向寸法サイズに基づく高さを有するように、安全領域を決定してもよい。こうした実施形態では、物体は、物体がロボットによって持ち上げられるときに、それ自体の重量で弛むほど十分に軟らかい可撓性の物体であってもよい。こうした実施形態では、安全領域の高さは、可撓性の物体の弛みを考慮してもよく、これは、可撓性の物体の弛み部分と、ロボットの環境中の他の構造または物体との間の衝突のリスクを低減するために、運動計画によって使用され得る。
図1Aは、画像情報に基づいて、グリップ領域検出を実施するか、またはより具体的には、グリップ領域を識別する検出結果を生成するためのシステム1000を示す。より詳細には、システム1000は、計算システム1100およびカメラ1200を含み得る。この実施例では、カメラ1200は、カメラ1200が位置する環境を記述するか、もしくはそうでなければ表す、すなわちより具体的には、カメラ1200の視野(カメラ視野とも呼ばれる)中の環境を表す、画像情報を生成するように構成され得る。環境は、例えば、倉庫、小売空間、またはいくつかの他の施設であってもよい。こうした実例では、画像情報は、こうした施設において保管および/または取り扱われる、衣服のパッケージまたはその他の可撓性の物体などの物体を表し得る。システム1000が、以下でより詳細に考察されるように、画像情報に基づいてロボット運動計画を行うことによってなど、画像情報を生成、受信、および/または処理するように構成され得る。ロボット運動計画は、例えば、ロボットが元の位置から物体のうちの1つをピックアップするか、または物体のうちの1つを掴み、物体を目的位置へ移動させるロボットの相互作用などの、ロボットと物体との間のロボットの相互作用を促進するために、施設内でロボットを制御するために使用され得る。計算システム1100およびカメラ1200が、同じ施設に位置してもよく、または互いと遠隔に位置してもよい。例えば、計算システム1100は、倉庫または小売空間から遠隔のデータセンターでホストされる、クラウドコンピューティングプラットフォームの一部であってもよく、ネットワーク接続を介して、カメラ1200と通信してもよい。
実施形態では、カメラ1200は、2Dカメラおよび/または3Dカメラであってもよい(用語「および/または」および「または」は、本開示では互換的に使用される)。例えば、図1Bは、計算システム1100、ならびにカメラ1200Aおよびカメラ1200B(その両方がカメラ1200の実施形態であってもよい)を含む、システム1000A(システム1000の実施形態であってもよい)を示す。この実施例では、カメラ1200Aは、カメラの視野中にある環境の視覚的外観の記述を記述する2D画像を含む、または形成する、2D画像情報を生成するように構成される、2Dカメラであってもよい。カメラ1200Bは、カメラの視野中の環境に関する空間構造情報を含む、または形成する3D画像情報を生成するように構成される、3Dカメラ(空間構造感知カメラまたは空間構造感知デバイスとも呼ばれる)であってもよい。空間構造情報は、カメラ1200の視野中にある様々な物体の表面上の位置など、カメラ1200Bに対する様々な位置のそれぞれの奥行き値を記述する、奥行き情報を含んでもよい。この実施例の奥行き情報は、物体が三次元(3D)空間の中で空間的にどのように配設されているかを推定するために使用され得る。一部の実例では、空間構造情報は、カメラ1200Bの視野中にある1つ以上の物体の表面(1つ以上の物体表面とも呼ばれる)上の位置を記述する、奥行きマップもしくは点群を含んでもよく、または奥行きマップもしくは点群を生成するために使用されてもよい。一部の実例では、空間構造情報が、物体の構造(物体構造とも呼ばれる)上の様々な位置を記述し得る。
実施形態では、システム1000が、カメラ1200の環境でロボットと様々な物体との間の相互作用を促進するための、ロボット操作システムであってもよい。例えば、図1Cは、図1Aおよび図1Bのシステム1000/1000Aの実施形態であり得る、ロボット操作システム1000Bを示す。ロボット操作システム1000Bは、計算システム1100、カメラ1200、およびロボット1300を含んでもよい。上述のように、ロボット1300は、カメラ1200の環境の中にある1つ以上の物体、例えば、ビン内に配置された衣服のパッケージと相互作用するために使用され得る。例えば、ロボット1300は、衣服の1点を有するパッケージをピックアップするか、またはそうでなければ掴み、パッケージをビンから上方に持ち上げ、およびパッケージをコンベヤベルト上の位置などの別の位置に移動させるように構成され得る。一部の実装形態では、カメラ1200は、ロボット1300のロボットアームなど、ロボット1300に取り付けられてもよい。こうした実装形態によって、カメラ1200をロボットアームを介して異なる位置および/または配向に移動させることができる。一部の実装形態では、カメラ1200は、ロボット1300から分離してもよい。例えば、カメラ1200は、倉庫内の天井または他の構造に装着されてもよく、構造に対して静止したままであってもよい。
実施形態では、図1A~図1Cの計算システム1100は、ロボット操作システム1000Bの一部である、ロボット制御システム(ロボットコントローラとも呼ばれる)を形成しても、またはその一部であってもよい。ロボット制御システムは、例えば、ロボット1300に対する動作コマンドまたは他のコマンドを生成するように構成される、システムであってもよい。こうした実施形態では、計算システム1100は、例えば、カメラ1200/1200A/1200Bによって生成された画像情報に基づいて、このようなコマンドを生成するように構成されてもよい。例えば、計算システム1100は、画像情報に基づいて運動計画を決定し、運動計画を実行するために1つ以上の動作コマンドを生成するように構成されてもよい。運動計画は、例えば、ロボットが1つ以上の物体を移動するために実行するための計画であり得る、ロボット運動計画であってもよい。例えば、運動計画は、物体に近づき、その後、物体をピックアップまたはその他の方法で掴み(例えば、吸引カップまたはエンドエフェクタ装置の他の構成要素を介して)、物体を目的位置に移動させる、ロボット1300のエンドエフェクタ装置を含み得る。
実施形態では、計算システム1100は、視覚システムを形成しても、またはその一部であってもよい。視覚システムは、例えば、ロボット1300が位置する環境を記述する、すなわちより具体的には、カメラ1200が位置する環境を記述する、視覚情報を生成するシステムであってもよい。視覚情報が、上で考察された3D画像情報もしくは2D画像情報、または何らかの他の画像情報を含んでもよい。一部のシナリオでは、計算システム1100が、視覚システムを形成する場合、視覚システムは、上で考察されたロボット制御システムの一部であってもよく、またはロボット制御システムから分離してもよい。視覚システムは、ロボット制御システムから分離する場合、ロボット1300が位置する環境を記述する、情報を出力するように構成され得る。情報は、ロボット制御システムに出力されてもよく、ロボット制御システムは、視覚システムからこうした情報を受信し、情報に基づいてロボット1300の動作する、またはより具体的には、ロボット運動計画を実施することを制御してもよい。
実施形態では、計算システム1100は、RS-232インターフェース、ユニバーサルシリアルバス(USB)インターフェースなどの専用有線通信インターフェースを介して、および/もしくは周辺構成要素相互接続(PCI)バスなどのローカルコンピュータバスを介して提供される接続など、直接接続によってカメラ1200ならびに/またはロボット1300と通信してもよい。実施形態では、計算システム1100が、ネットワークを介してカメラ1200および/またはロボット1300と通信してもよい。ネットワークは、パーソナルエリアネットワーク(PAN)、例えば、イントラネットといったローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、またはインターネットなど、いかなるタイプおよび/または形態のネットワークであってもよい。ネットワークは、例えば、イーサネットプロトコル、インターネットプロトコル群(TCP/IP)、ATM(Asynchronous Transfer Mode)技術、SONET(Synchronous Optical Networking)プロトコル、またはSDH(Synchronous Digital Hierarchy)プロトコルを含む、プロトコルの異なる技術、および層またはスタックを利用してもよい。
実施形態では、計算システム1100は、カメラ1200および/もしくはロボット1300と直接情報を伝達してもよく、または中間記憶装置、もしくはより広くは、中間の非一時的コンピュータ可読媒体を介して通信してもよい。例えば、図1Dは、計算システム1100の外部にあってもよい非一時的コンピュータ可読媒体1400を含む、システム1000/1000A/1000Bの実施形態であってもよく、例えば、カメラ1200によって生成される画像情報を記憶するための外部バッファまたはリポジトリとして作用し得る、システム1000Cを示す。こうした一実施例では、計算システム1100は、非一時的コンピュータ可読媒体1400から、画像情報を検索するか、さもなければ受信することができる。非一時的コンピュータ可読媒体1400の例としては、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはそれらの任意の好適な組み合わせが挙げられる。非一時的コンピュータ可読媒体は、例えば、コンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SDD)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消却可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、および/またはメモリスティックを形成してもよい。
上述のように、カメラ1200は、3Dカメラおよび/または2Dカメラであってもよい。2Dカメラは、カラー画像またはグレースケール画像などの、2D画像を生成するように構成されてもよい。3Dカメラは、例えば、飛行時間(TOF)型カメラ、構造化光カメラ、立体カメラもしくはカメラシステム(立体映像を集合的に提供する複数のカメラを含み得る)、または任意の他のタイプの3Dカメラなどの奥行き感知カメラであってもよい。一部の事例では、2Dカメラおよび/または3Dカメラは、電荷結合素子(CCD)センサーおよび/または相補型金属酸化膜半導体(CMOS)センサーなど、画像センサーを含み得る。実施形態では、3Dカメラは、レーザー、LIDARデバイス、赤外線デバイス、明/暗センサー、モーションセンサー、マイクロ波検出器、超音波検出器、レーダー検出器、または空間構造情報を取り込むように構成された任意の他のデバイスを含み得る。
上述のように、画像情報が、計算システム1100によって処理されてもよい。実施形態では、計算システム1100は、サーバ(例えば、1つ以上のサーバブレード、プロセッサなどを有する)、パーソナルコンピュータ(例えば、デスクトップコンピュータ、ノートパソコンなど)、スマートフォン、タブレットコンピューティングデバイス、および/もしくは他の任意の他の計算システムを含んでもよく、またはそれらとして構成されてもよい。実施形態では、計算システム1100の機能性のすべては、クラウドコンピューティングプラットフォームの一部として行われてもよい。計算システム1100は、単一のコンピューティングデバイス(例えば、デスクトップコンピュータ)であってもよく、または複数のコンピューティングデバイスを含んでもよい。
図2Aは、計算システム1100の実施形態を示す、ブロック図を提供する。計算システム1100は、少なくとも1つの処理回路1110および非一時的コンピュータ可読媒体(または複数の媒体)1120を含む。実施形態では、処理回路1110は、1つ以上のプロセッサ、1つ以上の処理コア、プログラマブルロジックコントローラ(「PLC」)、特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「PGA」)、フィールドプログラマブルゲートアレイ(「FPGA」)、それらの任意の組み合わせ、または任意の他の処理回路を含む。
実施形態では、計算システム1100の一部である、非一時的コンピュータ可読媒体1120が、上で考察された中間の非一時的コンピュータ可読媒体1400の代替または追加であってもよい。非一時的コンピュータ可読媒体1120は、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはそれらの任意の好適な組み合わせなどの記憶装置であってもよく、例えば、コンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消却可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリスティック、それらの任意の組み合わせ、または任意の他の記憶装置などであってもよい。一部の実例では、非一時的コンピュータ可読媒体1120は、複数の記憶装置を含み得る。特定の実装形態では、非一時的コンピュータ可読媒体1120が、カメラ1200によって生成され、計算システム1100によって受信される画像情報を記憶するように構成される。非一時的コンピュータ可読媒体1120が、処理回路1110によって実行されるとき、処理回路1110に、図4に関して記載する操作など、本明細書に記載する1つ以上の手法を行わせるコンピュータ可読プログラム命令を、代替的または追加的に記憶してもよい。
図2Bは、計算システム1100の実施形態であり、通信インターフェース1130を含む、計算システム1100Aを描写する。通信インターフェース1130は、例えば、図1A~1Dのカメラ1200によって生成された画像情報を受信するように構成されてもよい。画像情報は、上で考察された中間の非一時的コンピュータ可読媒体1400もしくはネットワークを介して、またはカメラ1200と計算システム1100/1100Aとの間のより直接的な接続を介して受信され得る。実施形態では、通信インターフェース1130は、図1Cのロボット1300と通信するように構成され得る。計算システム1100が、ロボット制御システムの外部にある場合、計算システム1100の通信インターフェース1130が、ロボット制御システムと通信するように構成され得る。通信インターフェース1130はまた、通信構成要素または通信回路と呼ばれる場合があり、例えば、有線または無線プロトコルによって通信を行うように構成された通信回路を含んでもよい。一例として、通信回路は、RS-232ポートコントローラ、USBコントローラ、イーサネットコントローラ、Bluetooth(登録商標)コントローラ、PCIバスコントローラ、任意の他の通信回路、またはそれらの組み合わせを含んでもよい。
実施形態では、処理回路1110が、非一時的コンピュータ可読媒体1120に記憶される、1つ以上のコンピュータ可読プログラム命令によってプログラムされてもよい。例えば、図2Cは、計算システム1100/1100Aの実施形態である、計算システム1100Bを示し、その中の処理回路1110は、グリップ領域検出モジュール1127および/または運動計画モジュール1129を含む、1つ以上のモジュールによってプログラムされる。
実施形態では、グリップ領域検出モジュール1127は、例えば、以下でより詳細に考察される方法4000のステップ4002~4006の実施を伴い得る、グリップ領域検出動作を行うように構成されてもよい。グリップ領域検出動作は、ロボットによる衣服の1点を有するパッケージなどの物体を掴むことを容易にするために使用され得る。より具体的には、グリップ領域検出動作は、物体がロボットによってピックアップされるか、またはそうでなければ把持され得る、物体の表面上の好適な領域(好適な表面領域とも呼ばれる)であり得る、グリップ領域を識別し得る。一部の実装形態では、グリップ領域検出動作は、ロボットが表面領域で物体を確実に掴むことを可能にするために十分に平滑で十分に大きい、物体の表面上の表面領域を、グリップ領域として識別し得る。例えば、ロボットが、1つ以上の吸引カップを使用して、物体の表面(物体表面とも呼ばれる)に接着する場合、モジュール1127によって識別されるグリップ領域(グリップ可能領域またはピック可能領域とも呼ばれる)は、1つ以上の吸引カップと係合し、表面領域と1つ以上の吸引カップとの間に確実に接着が作られるように、十分に平滑で十分に大きい表面領域であってもよい。モジュール1127は、例えば、表面領域が以下でより詳細に考察される定義された平滑性条件を満たすかどうかを決定することによって、表面領域が十分に平滑であるかどうかを決定し得る。実施形態では、グリップ領域検出モジュール1127は、以下でより詳細に考察されるように、グリップ領域を囲む安全領域を検出するように構成されてもよい。一部の実例では、グリップ領域検出モジュール1127は、カメラ視野内のシーンを表す画像情報を分析またはその他の方法で処理し、画像情報に基づいて、グリップ領域および/または安全領域を識別または生成するように構成され得る。こうした実例では、グリップ領域および/または安全領域は、グリップ領域検出モジュール1127の出力であってもよい。
実施形態では、運動計画モジュール1129は、グリップ領域検出モジュール1127の出力に基づいて、またはより一般的には、カメラ視野内のシーンを表す画像情報に基づいて、運動計画、またはより具体的には、ロボット運動計画を実施するように構成され得る。より具体的には、運動計画は、ロボット(例えば、1300)またはその構成要素によって実行される運動を決定することを伴ってもよい。例えば、運動計画は、ロボット1300の軌道、すなわちより具体的には、そのエンドエフェクタ装置を決定して、カメラ視野内の物体を掴み、物体を目的位置に移動させることを伴い得る。一例として、軌道は、吸引カップまたはエンドエフェクタ装置の他の構成要素を、物体の表面上のグリップ領域と係合させるか、またはそうでなければ接触させてもよく、物体を掴むために、グリップ領域は、モジュール1127によって識別されてもよい。軌道はさらに、エンドエフェクタ装置が、物体を持ち上げ、物体を目的位置に移動させることを引き起こし得る。一部の実例では、運動計画モジュール1129は、モジュール1127によっても識別され得る、安全領域に基づいて軌道を決定してもよい。安全領域は、以下でより詳細に考察されるように、掴まれた物体とロボットの環境内の別の物体または構造との間の衝突のリスクを低減するために、モジュール1129によって使用され得る。
実施形態では、非一時的コンピュータ可読媒体1120は、モジュール1127/1129によって使用される情報、および/またはモジュール1127/1129の出力を記憶し得る。例えば、グリップ領域検出モジュール1127が、領域サイズの閾値などの1つ以上の閾値を使用する場合、1つ以上の閾値は、非一時的コンピュータ可読媒体1120に記憶されてもよい。1つ以上の閾値は、計算システム1100によって動的に定義されてもよく、または手動で定義されてもよく、したがって1つ以上の定義された閾値または閾値と呼ばれ得る。
様々な実施形態では、「コンピュータ可読命令」および「コンピュータ可読プログラム命令」という用語は、様々なタスクおよび操作を遂行するように構成される、ソフトウェア命令またはコンピュータコードを記述するために使用される。様々な実施形態では、「モジュール」という用語は、処理回路1110に1つ以上の機能タスクを行わせるように構成された、ソフトウェア命令またはコードの集まりを広く指す。モジュールおよびコンピュータ可読命令は、処理回路または他のハードウェア構成要素が、モジュールもしくはコンピュータ可読命令を実行しているときに、様々な操作またはタスクを行うものとして説明され得る。
図3A~図3Cは、グリップ領域検出動作および/または運動計画動作を実施することができる例示の環境を示す。より具体的には、図3Aは、計算システム1100、ロボット3300、およびカメラ3200を含む、システム3000(図1A~図1Dのシステム1000/1000A/1000B/1000Cの実施形態であり得る)を描写する。カメラ3200は、カメラ1200の実施形態であってもよく、カメラ3200のカメラ視野3210内のシーンを表す、またはより具体的には、例えば、物体35201、35202、35203、35204、35205..3520nを含み得る、物体35201~ 3520nなどのカメラ視野3210内の物体またはその構造を表す、画像情報を生成するように構成されてもよい。図3A~図3Cでは、ロボット3300は、例えば、物体35201~3520nのうちの1つをピックアップするか、または別の方法で掴むこと、物体の現在位置から物体を持ち上げること、および物体を目的位置に動かすことによって、物体35201~3520nのうちの1つ以上の各々を操作するか、またはそうでなければそれらと相互作用するように構成され得る。
一部の実例では、物体35201~3520nの一部またはすべては、可撓性の物体であってもよい。例えば、物体35201~3520nの各々は、衣服の1点(例えば、シャツまたはズボン1着)または他の布地もしくは織物を有するパッケージであってもよく、衣服の1点または他の布地は、プラスチックのシートなどの包装材料のシートに包まれてもよい。一部のシナリオでは、プラスチックまたは他の包装材料のシートは、空気または他の流体に対して概して不浸透性であり得る。図3Aの実施例では、物体35201~3520nは、35201~3520nを、衣料品メーカーまたは小売業者に関連付けられた倉庫などの施設内に保持するために使用されるビンまたは箱などの容器3510内に配置され得る。
一部のシナリオでは、本明細書の実施形態の可撓性の物体(例えば、35201)は、ロボット3300によって移動または他の方法で操作されているときに、可撓性の物体が変形することを可能にする、十分に高レベルの可撓性を有してもよい。十分に高いレベルの可撓性は、ロボット3300によって移動または別の方法で操作されているときに、物体がその形状を維持するのを妨げるように、十分に低いレベルの剛性または剛直性に対応し得る。一部の実例では、可撓性の物体は、可撓性の物体がロボット3300によって持ち上げられているときに、可撓性の物体の重量が、それ自体の形状の変形を引き起こすことを可能にするほど十分に高いレベルの可撓性を有してもよい。変形は、例えば、ロボット3300によって持ち上げられているときに、それ自体の重量下で、可撓性の物体曲げ、またはより具体的には、弛みを伴い得る。可撓性の物体の可撓性は、例えば、可撓性の物体の寸法および/または可撓性の物体の材料から生じ得る。一実施例では、可撓性の物体は、可撓性(柔軟性とも呼ばれる)を可撓性の物体に導入し得る、薄い輪郭を有してもよい。より具体的には、可撓性の物体は、横方向寸法(例えば、長さ寸法または幅寸法)のサイズに対して、かなり小さいサイズの厚さ寸法を有してもよい。一実施例では、可撓性の物体は、可撓性の物体に可撓性を導入するのに十分に軟質である材料から作製されてもよい。一部の状況では、可撓性の物体の材料は、物体がロボット3300によって持ち上げられているときに、材料自体の重量下で弛むほど十分に軟らかい場合がある。例えば、可撓性の物体が、衣服の1点を有するパッケージである場合、ロボット3300によって持ち上げられているときに、その材料が自体の重量下で弛むのを防ぐのに十分な剛性を欠く綿織物またはウール織物などの材料から形成され得る。
実施形態では、ロボット3300(ロボット1300の実施形態であってもよい)は、ロボット基部3310に取り付けられた一端部を有し、かつエンドエフェクタ装置3330に取り付けられるか、またはそれらによって形成される別の端部を有する、ロボットアーム3320を含み得る。ロボット基部3310は、ロボットアーム3320の一方の端部を装着するために使用され得るが、ロボットアーム3320の他方の端部、より具体的には、エンドエフェクタ装置3330は、ロボット3300の環境で1つ以上の物体(例えば、35201、35202など)と相互作用するために使用され得る。相互作用は、例えば、1つ以上の物体を掴んで持ち上げること、および/または1つ以上の物体を現在位置から目的位置へと移動することを含み得る。
実施形態では、エンドエフェクタ装置3330は、物体35201~3520nのうちの1つなどの物体をピックアップまたはその他の方法で持ち上げるために使用される1つ以上の吸引カップ33321~3332nを含み得る。一部の実装形態では、吸引カップ33321~3332n(エンドエフェクタ吸引カップとも呼ばれる)の各々は、物体(例えば、35201)の表面と接触して、吸引カップと物体の表面(物体表面とも呼ばれる)との間の空間における流体圧力(例えば、空気圧)を減少させるように構成される、機械デバイスであってもよい。一実施例では、物体表面は、流体に対して概して不透過性である材料によって形成されてもよく、またはより一般的には、衣服の1点を包むために使用されるプラスチック包装材料のシートなど、非多孔性であってもよい。部分的または完全な真空などの流体圧力の低下は、空間の外側の流体圧力と空間内の流体圧力との間の圧力差をもたらし得る。より具体的には、空間内の流体圧力は、空間の外側の流体圧力よりも低くてもよく、これは、より高い流体圧力が、吸引カップを物体表面に貼り付ける正味の力を与えることを引き起こす負の流体圧力を生じさせ得る。正味の力は、吸引カップが物体表面を掴むように、物体表面に接着することを可能にする接着力として作用し得る。実施形態では、吸引カップ(例えば、33321または3332n)の各々は、様々な形状(例えば、円形状)およびサイズを有してもよく、プラスチック、シリコーン、ニトリル、ビトン、ビニル、ウレタン、ゴム、または何らかの他の可撓性材料などの様々な材料を有してもよい。吸引カップは、「Robotic system with a robot arm suction control mechanism and method of operation thereof」と題する、米国特許第10,576,630号においてより詳細に考察され、その全容は、参照により本明細書に組み込まれる。実施形態では、吸引カップと物体表面との間の接着力の強度は、吸引カップが、それ自体と物体表面との間の空間をどれだけ密に封止することができるかに依存し得る。例えば、密着シールは、圧力差を維持することができ、したがって、接着力を維持し得、一方で、緩いシールは、圧力差が維持されるのを妨げ得、したがって、吸引カップが物体表面を掴む能力に干渉し得る。実施形態では、密着シールを形成する吸引カップの能力は、吸引カップが物体表面を掴もうとしている物体表面(表面領域とも呼ばれる)の領域での平滑性のレベルに依存し得る。したがって、以下でより詳細に考察されるように、計算システム1100は、吸引カップが物体表面に確実に付着し、それゆえに物体表面を掴むことができる、グリップ領域として使用されるのに十分に平滑である表面領域を識別するか、または表面領域を検索するように構成され得る。
実施形態では、カメラ3200は、物体35201~3520nおよび容器3510、またはカメラ視野3210内の任意の他の物体(複数可)を表す画像情報を生成するように構成されてもよい。カメラ3200は、3D画像情報を生成するように構成される3Dカメラ、および/または2D画像情報を生成するように構成される2Dカメラであってもよい。実施形態では、3D画像情報は、物体(例えば、35201)の物体表面を表してもよく、またはより具体的には、物体表面の物理的構造を記述してもよい。例えば、3D画像情報は、奥行きマップを含んでもよく、より一般的には、カメラ3200に対する、または何らかの他の基準点に対する、カメラ視野3210の様々な位置のそれぞれの奥行き値を記述し得る、奥行き情報を含んでもよい。それぞれの奥行き値に対応する位置は、物体35201~3520nのそれぞれの物体表面上の位置などの、カメラ視野3210の様々な表面上の位置であってもよい。一部の実例では、3D画像情報は、カメラ視野3210内の物体35201~3520nのそれぞれの物体表面上の様々な位置を記述する、複数の3D座標を含み得る、点群を含み得る。
実施形態では、物体(例えば、35201)の物体表面は、物体の外表面(例えば、上面)を指してもよい。こうした実施形態では、3D画像情報は、外表面を表してもよく、またはより具体的には、外表面の物理的構造を記述してもよい。例えば、カメラ3200が、光(例えば、レーザーまたは構造化された光)、または外表面から反射する他の信号を感知することによって3D画像情報を生成する場合、3D情報は、例えば、外表面の表面輪郭を表し得る。包装材料として使用される可撓性のプラスチックの薄いシートなどの、外表面が透明材料によって形成される場合、3D情報は、依然として物体の外表面を表し得る。より具体的には、このような状況におけるカメラ3200は、透明材料の下にあるか、またはそうでなければ透明材料で覆われた、衣服織物の1点などの透明でない材料から反射した光または他の信号を感知してもよい。反射光または信号は、透明な材料を通過してもよく、カメラ3200によって検出されて、3D情報を生成してもよい。この状況では、透明材料(例えば、プラスチックシート)は、外表面と非透明材料の表面との間の距離が無視できるとみなされるように十分に薄くてもよい。したがって、実施形態では、3D情報は、物体の外表面上の様々な位置の奥行き情報を記述しているとみなされ得る。さらに、透明材料が外表面を形成する場合、透明材料は、透明材料のすべてまたは多くの部分が、基になる非透明材料の表面輪郭を採用するように、十分に可撓性であり得る。したがって、この状況での3D画像情報は、物体の外表面、より具体的には、外表面の物理的構造または表面輪郭を記述するとみなされ得る。
実施形態では、2D画像情報は、例えば、カメラ視野3210内の1つ以上の物体の外観を表す、カラー画像またはグレースケール画像を含み得る。例えば、物体表面が、視覚的マーキング(例えば、ロゴ)またはそれらに印刷された他の視覚的詳細を有する場合、2D画像情報は、視覚的詳細を記述してもよく、または他の方法で表現してもよい。上述のように、物体表面は、一部の状況では透明な材料から形成され得る、物体の外表面であってもよい。こうした状況では、2D画像情報は、基になる非透明材料(例えば、シャツ)の表面から反射し、外表面を形成する透明な材料を通過した光(例えば、可視光)または他の信号を表し得る。こうした状況における2D画像情報は、外表面を通過する光または他の信号に基づくため、2D画像情報は、依然として外表面を表すものとみなされ得る。さらに、外表面を形成する透明材料は、一部の例では、物体の外観にほとんどまたは無視できる影響を与えるほど十分に薄く、かつ十分に透明であってもよく、その結果、物体の外観または物体の外表面の外観は、基になる非透明材料(例えば、衣服材料)の外観を指すものとみなされ得る。
実施形態において、システム3000は、複数のカメラを含んでもよい。例えば、図3Bは、カメラ視野3210Aを有するカメラ3200Aを含み、カメラ視野3210Bを有するカメラ3200Bを含む、システム3000A(システム3000の実施形態であってもよい)を示す。カメラ3200A(カメラ1200Aの実施形態であってもよい)は、例えば、2D画像または他の2D画像情報を生成するように構成される、2Dカメラであってもよく、一方で、カメラ3200B(カメラ1200Bの実施形態であってもよい)は、例えば、3D画像情報を生成するように構成される、3Dカメラであってもよい。
実施形態では、カメラ3200/3200A/3200Bは、容器3510が置かれる、またはロボット基部3310に対して置かれる床などの基準点に対して静止してもよい。例えば、図3Aのカメラ3200は、倉庫の天井などの天井、または床に対して、ロボット基部3310に対して、もしくは何らかの他の基準点に対して静止したままの装着フレームに装着されてもよい。実施形態では、カメラ3200は、ロボットアーム3320上に装着されてもよい。例えば、図3Cは、カメラ3200が、ロボットアーム3200の遠位端を形成するエンドエフェクタ装置3330上に取り付けられるか、そうでなければ装着される、システム3000B(システム1000の実施形態であってもよい)を描写する。こうした実施形態は、ロボットアーム3320の移動を介して、カメラ3200を異なる姿勢に移動する能力をロボット3300に提供し得る。
図4は、グリップ領域検出を行うための例示の方法4000の流れ図を描写する。方法4000は、例えば、図2A~図2Cもしくは図3A~図3Cの計算システム1100によって、すなわちより具体的には、計算システム1100の少なくとも1つの処理回路1110によって行われてもよい。一部のシナリオでは、少なくとも1つの処理回路1100が、非一時的コンピュータ可読媒体(例えば、1120)上に記憶される命令を実行することによって、方法4000を行ってもよい。例えば、命令によって、処理回路1110に、方法4000を行い得る、図2Cに示されたモジュールのうちの1つ以上を実行させてもよい。一例として、以下で考察されるステップ4002~4006は、グリップ領域検出モジュール1127によって実施されてもよく、ステップ4008は、運動計画モジュール1129によって実施されてもよい。実施形態では、方法4000は、計算システム1100が、図3Aおよび図3Bのロボット3300およびカメラ3200/3200A/3200Bなど、ロボットおよびカメラと、または本開示で考察される任意の他のカメラもしくはロボットと通信する環境で行われてもよい。
実施形態では、方法4000の1つ以上のステップは、物体、またはより具体的には、可撓性の物体(例えば、35201、35202など)が、カメラ(例えば、3200/3200A/3200B)のカメラ視野(例えば、3210/3210A/3210B)にあるときに行われてもよい。例えば、方法4000の1つ以上のステップは、物体がカメラ視野(例えば、3210/3210A/3210B)内に入った直後に、またはより一般的には、物体がカメラ視野内にある間に、行われてもよい。一部のシナリオでは、方法4000の1つ以上のステップは、物体がカメラ視野内にあるか、またはカメラ視野内にあったときに行われてもよい。例えば、物体がカメラ視野(例えば、3210/3210A/3210B)にあるとき、カメラ(例えば、3200/3200A/3200B)は、物体、またはより具体的には、物体の表面(物体表面とも呼ばれる)を表す画像情報を生成してもよく、画像情報を計算システム(例えば、1100)に伝達してもよい。計算システムは、物体がまだカメラ視野内にある間、または物体がもはやカメラ視野内にないときでさえも、画像情報に基づいて方法4000の1つ以上のステップを実施し得る。
実施形態では、方法4000は、計算システム1100が、カメラ(例えば、3200/3200A/3200B)のカメラ視野(例えば、3210/3210A/3210B)内の可撓性の物体などの物体の物体表面を表す画像情報を受信する、ステップ4002から開始されてもよく、またはそうでなければ、ステップ4002を含んでもよい。実施形態では、画像情報は、物体がカメラ視野にある(またはあった)ときに、カメラ(例えば、3200)によって生成されてもよく、例えば、3D画像情報および/または2D画像情報を含み得る。
一例として、図5Aは、ステップ4002の画像情報が3D画像情報5700を含む、実施例を示す。より具体的には、3D画像情報5700は、例えば、行と列に編成された位置のグリッドであり得る、位置57001、57002、...5700nなどの、カメラ視野(例えば、3200/3200A)内の様々な位置のそれぞれの深度値を示す、深度マップまたは他の深度情報を含み得る。一部の実装形態では、奥行きマップは、位置57001~5700nのそれぞれの奥行き値を示す、ピクセルを含み得る。実施形態では、位置57001~5700nの少なくとも一部は、物体35201~3520nの物体表面などの、1つ以上の物体表面上の位置である。例えば、3D画像情報5700は、画像部分57201、57202、57203、57204、57205、...5720n-3、5720n-2、5720n-1、5720nを含んでもよく、画像部分の各々は、それぞれの物体(例えば、35201、35202、35203、...、または3520n)の物体表面上の位置のそれぞれのセットの奥行き値を含み得る。一部の状況では、3D画像情報は、それぞれ、位置57001~5700nを記述する座標のセットを含み得る、点群を含み得る。座標は、[X Y Z]デカルト座標などの3D座標であってもよく、カメラ座標系、または何らかの他の座標系に対する値を有してもよい。この実施例では、特定の位置(例えば、57001)に対する[X Y Z]座標は、その位置の奥行き値と等しいか、またはそれに基づくZ成分を有してもよい。奥行き値は、3D画像情報を生成するカメラ(例えば、3200/3200A)に対するものであってもよく、または何らかの他の基準点に対するものであってもよい。
実施形態では、3D画像情報は、物体表面の表面輪郭を記述し得る。例えば、図5Aにおける3D画像情報5700は、物体表面35201の物体表面の表面輪郭を記述する、少なくとも画像部分57201を有してもよい。物体表面の表面輪郭は、物体表面の物理的構造を記述し得る。一部の実例では、物体表面の物理的構造は、完全にまたは実質的に平滑であってもよい。一部の実例では、物体表面の物理的構造は、物体表面の1つ以上の非平滑な部分を形成し得る、しわ、隆起、畝、折り目、または陥凹などの物理的特徴を含み得る。
上述のように、物体表面は、物体の外表面(例えば、上面)であってもよく、透明材料、非透明材料(例えば、半透明または不透明材料)、またはそれらの組み合わせによって形成されてもよい。さらに上述したように、外表面が、基となる非透明材料を覆う透明材料によって形成される場合、透明材料は、物体の物理的構造または表面輪郭に無視できる影響を有するとみなされるほど十分に薄くかつ可撓性であり得る。こうした実例では、基となる非透明材料の物理的構造または表面輪郭を表す3D画像情報は、物体の外表面の物理的構造または表面輪郭も表すものとみなされ得る。さらに、透明材料が十分に薄い場合、その厚さは、カメラ(例えば、3200)による奥行き測定に無視できる影響を有するとみなされ得る。こうした状況では、画像部分57201の位置などの3D画像情報に表される奥行き値を有する様々な位置は、対応する物体(例えば、35201)の外表面上の位置であるとみなされ得る。
図5Bは、2D画像情報、またはより具体的には、カメラ3200/3200Bによって生成され、図3A~図3Cの物体35201~3520n、および容器3510を表す、2D画像5600を示す。より具体的には、2D画像5600は、物体35201~3520nおよび容器3510(物体35201~3520nが配置される)の外観を記述してもよい。より具体的には、2D画像5600は、それぞれ物体35201、35202、35203、...、3520nの視覚的詳細を表す、画像部分56101、56202、56203、56204、56205、...、5620n-3、5620n-2、5620n-1、5620n(例えば、ピクセル領域)を含み得る。実施形態では、2D画像情報は、物体(例えば、35201)の物体表面を表し得る。上述のように、物体表面は、物体の外表面(例えば、上面)であってもよく、透明材料、非透明材料(例えば、半透明または不透明材料)、またはそれらの組み合わせによって形成されてもよい。さらに上述したように、外表面が、基となる非透明材料を覆う透明材料によって形成される場合、透明材料は、物体の外観に無視できる影響を有するとみなされるほど十分に薄く、かつ透明であり得る。こうした実例では、基になる非透明材料の外観は、2D画像情報が物体の外表面の外観を表すとみなされるように、物体の外表面の外観でもあるとみなされ得る。
実施形態では、計算システム1100は、受信した画像情報が、ピクセル値が利用不可能なギャップを有するか、または特定の誤差閾値を超える量誤差を有するかどうかを決定するように構成されてもよい。例えば、計算システム1100は、画像情報が、カメラ視野の中のシーンから反射する光または他の信号によって過飽和されたピクセルの領域であり得るハイライト領域を有するかどうかを決定し得る。例えば、ハイライト領域は、物体表面の一部分からのグレアを表してもよく、グレアは、あまりにも多くの強度を有する反射光によって引き起こされる。グレアは、結果として生じる画像情報のピクセルが不正確な値を有する原因となり、結果として生じるピクセルが画像情報のギャップを形成し得る、ノイズをもたらし得る。こうした実施形態では、計算システム1100は、画像情報のギャップを推定ピクセル値で埋めるように構成されてもよい。推定値は、例えば、ギャップの周りの隣接ピクセルのピクセル値から補間することに基づいて決定されてもよい。
図4に戻ると、方法4000は、実施形態では、ステップ4004を含んでもよく、ここで、計算システム1100は、ステップ4002で受信された画像情報に基づいてグリップ領域を識別し得る。より具体的には、計算システム1100は、定義された平滑性条件を満たす、かつ定義された領域サイズの閾値以上である領域サイズを有する、物体表面の表面領域を、グリップ領域として識別し得る。実施形態では、グリップ領域(ピック可能領域とも呼ばれる)は、ロボットによってピックアップされるか、もしくは他の方法で掴まれる、または何らかの他のロボットの相互作用を受容するのに好適な、計算システム1100によって識別される、物体(例えば、35201)の表面領域であってもよい。例えば、図6は、計算システムが、物体35201がエンドエフェクタ装置3330によって、またはより具体的には、エンドエフェクタ装置3330の1つ以上の吸引カップ33321~3332nによって掴まれ得る、グリップ領域として表面領域6810を識別する、実施例を提供する。以下で考察される図9Bは、グリップ領域6812の別の実施例を示す。計算システム1100は、表面領域6810が定義された平滑性条件を満たすと決定し得る。実施形態では、定義された平滑性条件は、例えば、非一時的コンピュータ可読媒体1120に予め定義されてもよく、または計算システム1100によって動的に定義されてもよい。例えば、定義された平滑性条件が、1つ以上の閾値を満たすことを伴い得る1つ以上の基準によって形成される場合、1つ以上の基準または1つ以上の閾値を記述するルールまたは他の情報は、事前定義され、非一時的コンピュータ可読媒体1120に記憶され得る。
一部の実例では、表面領域(例えば、6810)の定義された平滑さ条件は、エンドエフェクタ装置によってピックアップされるか、またはそうでなければ掴まれるなどの、意図される目的のために十分に平滑である表面領域に関連付けられ得る。エンドエフェクタ装置によって掴まれることは、例えば、表面領域(例えば、6810)と接触する、吸引カップまたはエンドエフェクタ装置の他の構成要素を伴い得る。上述のように、エンドエフェクタ装置は、一部のシナリオでは、吸引カップと表面領域との間の接着性を作り出す、負の流体圧力を有する密封空間を作り出す試みにおいて、吸引カップを表面領域に対して接触させるように押し出し得る。こうした一実施例では、平滑性条件を満たすことは、それ自体と吸引カップまたはエンドエフェクタ装置の他の構成要素との間の十分な量の接触を提供するように、表面領域が十分に平滑であることを伴い得る。例えば、平滑性条件は、表面領域(例えば、6810)が、表面領域に対して押すと、吸引カップが吸引カップと表面領域との間の空間の周りに確実にシールを形成して、その空間における負の流体圧力を維持し、かつ吸引カップと表面領域との間に十分なレベルの接着性を作り出すように、十分に平滑であることを伴い得る。こうした実例では、計算システム1100は、表面領域(例えば、6810)がグリップ領域としての使用に好適であると決定し得る。
一部の実装形態では、表面領域または表面の平滑さは、表面領域または表面から突出する、または表面領域または表面に沈む、しわ、隆起、畝、折り目、またはくぼみなどの物理的特徴の不在を伴い得る。より具体的には、こうした物理的特徴の存在は、エンドエフェクタ装置と表面領域との間に作られ得る最大可能な接触面積を減少させ得、またはより具体的には、吸引カップと表面領域との間の空間の周りにシールを形成するための、吸引カップまたはエンドエフェクタ装置の他の構成要素の能力に干渉し得る。したがって、平滑性条件を満たす表面領域(例えば、6810)は、一般的に、こうした物理的特徴を含まないか、または実質的に含まない場合がある。
実施形態では、定義される平滑性条件は、配向類似性基準および/または奥行き類似性基準などの1つ以上の基準によって定義されてもよく、これは以下でより詳細に考察される。配向類似性基準は、十分に類似した配向を有する表面領域を形成する小さなパッチを伴い得る一方で、奥行き類似性基準は、奥行き寸法に沿って、またはより具体的には、パッチのうちの1つの法線ベクトルと平行な軸に沿って、互いに十分に近接する小さなパッチを伴い得る。上述のように、配向類似性基準および/または奥行き類似性基準を記述するルールまたはその他の情報は、事前に定義されてもよく、または動的に定義されてもよく、非一時的コンピュータ可読媒体1120に記憶されてもよい。
一部の実装形態では、定義された平滑性条件は、平滑で平坦な表面領域によって、ならびに平滑であり、かつある程度の湾曲を有する表面領域によって満たされ得る。例えば、計算システム1100が表面領域をより小さいパッチに分割する場合、こうした実装形態における配向類似性基準は、配向に小さな差異を有するパッチによって満たされ得る。このような小さな差異は、穏やかな湾曲を有する表面領域を考慮し得る。こうした実装形態は、平滑であるが、穏やかな湾曲を有する表面領域が、それ自体と、吸引カップまたはエンドエフェクタ装置(例えば、3330)の何らかの他の構成要素との間の大量の接触を依然として許容することができてもよく、したがって、表面領域と吸引カップとの間に確実に形成される堅牢な量の接着を依然として許容し得るという評価を反映し得る。
一部の実装形態では、定義された平滑性条件を満たす表面領域は、平滑であり、および平坦または実質的に平坦であることの両方でなければならない場合がある。例えば、こうした実装形態における配向類似性基準は、穏やかな湾曲を有する平滑な表面を伴う上で考察された実施例よりも厳格であり得る。これらの実装形態では、パッチは、定義された配向類似性基準を満たすために、配向においてはるかに類似していなければならない場合がある。結果として、パッチによって形成される表面領域は、はるかに小さな湾曲レベルを有するか、または湾曲を有しない場合がある。こうした実装形態は、表面領域が平滑であり、および平坦または実質的に平坦であることの両方で、それ自体と吸引カップまたはエンドエフェクタ装置(例えば、3330)の何らかの他の構成要素との間に堅牢な量の接着を確実に形成することを可能にする必要があるという評価を反映し得る。したがって、配向類似性基準の厳格さのレベルを使用して、グリップ領域として識別された表面領域がどのように平坦であるかを制御してもよい。
実施形態では、計算システム1100は、表面領域(例えば、図6および図9Bの6810/6812)をグリップ領域として識別するための前提条件として、表面領域(例えば、6810)が定義された領域サイズの閾値以上であるかどうかを決定することができる。こうした前提条件は、表面領域(例えば、6810/6812)が、十分に平滑であるだけでなく、ロボット(例えば、3300)によって掴まれるか、またはロボット(例えば、3300)から何らかの他の相互作用を受けるのに十分な大きさであることを確実にし得る。一部の実例では、定義された領域サイズの閾値は、表面積の閾値であってもよく、またはそれを示してもよく、その結果、計算システム1100は、グリップ領域として識別される表面領域(例えば、6810/6812)の総表面積が、表面積の閾値以上であるか、またはそれと等しいかどうかを決定する。定義された領域サイズの閾値は、例えば、事前に定義されてもよく、または動的に定義されてもよく、非一時的コンピュータ可読媒体1120に記憶されてもよい。一部の実例では、定義された領域サイズの閾値は、半径、長さ、および/または幅などの、1つ以上のそれぞれの寸法に対する1つ以上の値を示し得る。より具体的には、定義された領域サイズの閾値は、物体表面とロボットとの間の相互作用のための接触領域または他の相互作用領域を画定してもよい。接触領域は、1つ以上のそれぞれの寸法に対する1つ以上の値を有してもよい。こうした実例では、計算システム1100は、こうした接触領域が表面領域(例えば、6810)内に収まるかどうかを決定し得る。
より具体的には、定義された領域サイズの閾値は、一部のシナリオでは、エンドエフェクタ装置(例えば、3330)と、物体(またはより具体的には、可撓性の物体)との間の接触に関連付けられる定義された接触領域サイズであってもよい。例えば、図6の表面領域6810が、図3A~図3Cの物体35201の部分である場合、定義された領域サイズの閾値は、エンドエフェクタ装置の1つ以上の構成要素(例えば、吸引カップ33321~3332n)と物体35201との間の接触に関連付けられる定義された接触領域サイズであってもよい。定義された接触領域サイズは、物体(例えば、35201)に対して押し付けられる、またはそうでなければそれと接触させる、1つ以上の構成要素に対する接触領域のサイズであってもよい。一例として、図7Aは、1つ以上の吸引カップの1つの吸引カップ(例えば、3332n)が物体35201の表面領域6810に接触する、接触領域7334を描写する。こうした一実施例では、定義された接触領域サイズは、定義された領域サイズの閾値が定義された吸引カップサイズ(例えば、吸引カップの半径)であってもよいように、吸引カップ3332nなどの吸引カップに関連付けられた定義されたカップサイズであってもよい。図7Bは、複数の吸引カップ(例えば、33321および3332n)が物体35201の表面領域6810と接触する、別の接触領域7335を描写する。図7Bの実施例では、定義された領域サイズの閾値は、接触領域7335のサイズであってもよい。複数の吸引カップが吸引カップのアレイを形成する場合、定義された領域サイズの閾値は、アレイの定義されたサイズ(また、定義されたアレイサイズとも呼ばれる)であってもよい。計算システム1100は、表面領域(例えば、6810)のサイズを、定義された領域サイズの閾値と比較して、表面領域がグリップ領域として識別される場合に、グリップ領域が、定義された接触領域サイズを有する接触領域(例えば、7334、7335)に適合するのに十分な大きさであることをより確実にすることができる。言い換えれば、定義された領域サイズの閾値を満たす表面領域(例えば、6810)は、接触を受けるのに十分な大きさであってもよく、またはより一般的には、表面領域で物体(例えば、35201)を掴むために使用されるエンドエフェクタ装置(例えば、3330)の1つ以上の構成要素によって係合されるのに十分な大きさであってもよい。上で考察された定義されたサイズは、例えば、事前に定義されてもよく、または動的に定義されてもよく、非一時的コンピュータ可読媒体1120に記憶されてもよい。
一部のシナリオでは、定義された領域サイズの閾値は、物体(例えば、35201)に関連付けられた定義された物体サイズであってもよい。こうしたシナリオでは、定義された物体サイズは、例えば、物体の境界部またはエッジを記述し得る。次いで、計算システム1100は、定義された平滑性条件を満たす表面領域が、こうした境界部またはエッジを有する物体または領域に適合するのにさらに十分に大きいかどうかを決定し得る。こうした定義された領域サイズの閾値の使用によって、計算システム1100が、表面領域(例えば、6810)がロボット(例えば、3330)によって掴まれ、および移動される物体(例えば、35201)に属するか、またはそうでなければ、それに関連付けられるかどうかをより厳密にチェックすることが可能になり得る。
実施形態では、計算システム1100は、物体表面を複数の二次元(2D)パッチに分割することによって、および複数の2Dパッチが、十分に平滑な表面領域を形成する連続的な2Dパッチのセットを含むかどうかを決定することによって、平滑な表面領域、またはより具体的には、定義された平滑性条件を満たす表面領域を識別し得る。例えば、図8Aは、3D画像情報によって表される表面を、複数の2Dパッチ87401~8740n(必ずしも縮尺で描かれていない)に分割する実施例を描写する。複数の2Dパッチの各2Dパッチは、ステップ4002で受信された画像情報によって表される複数の位置の一部である位置のグループによって形成される、仮想2D平面とも呼ばれる仮想2Dパッチであってもよい。より具体的には、画像情報は、図5Aに関して考察された複数の位置57001~5700nなどの、カメラ視野内の複数の位置の奥行き情報を記述し得る。画像情報は、例えば、ピクセルのグリッド(ピクセルのアレイとも呼ばれる)を有する奥行きマップまたは点群を含み得る。この実施例では、計算システム1100は、複数の2Dパッチ87401~8740nを決定することによって、および定義された平滑性条件を満たす複数の2Dパッチから連続的な2Dパッチのセットを識別することによって、グリップ領域を識別し得る。より具体的には、複数の2Dパッチ87401~8740nは、物体35201~3520nなどのカメラ視野(例えば、3210)内の物体の物体表面を表し得る。例えば、3D画像情報5700は、物体35201の物体表面を表す画像部分57201を含んでもよく、複数のパッチ87401~8740nは、物体35201の物体表面をも表すパッチのセクションを含んでもよい。図8Bは、パッチ、すなわち、画像部分57201に基づいて形成され得るパッチ8740q~8740rのセクションを描写する。したがって、パッチ8740q~8740rのセクションは、物体35201の物体表面を表し得る。
実施形態では、複数の2Dパッチ87401~8740nは、複数の位置57001~5700nのそれぞれのサブセットを適合させるか、または他の方法で近似させるように試みる2D平面であってもよい。すなわち、各2Dパッチは、位置のそれぞれのサブセットに適合してもよく、またはそうでなければ近似してもよく、位置のそれぞれのサブセットは、複数の位置57001~5700nの一部である。一例として、図8Bは、計算システム1100が、複数の2Dパッチ87401~8740nの一部、またはより具体的にはパッチ8740q~8740rのセクションの一部であり得る、2Dパッチ8740p~8740p+5をどのように決定または識別するかを示す。この実施例では、2Dパッチは、位置57001~5700nの一部であり得る、図8Bの位置5700k~5700k+116などの、ステップ4002で受信された画像情報によって記述された位置に基づいて、決定または識別されてもよい。
上述のように、位置5700k~5700k+116を含む複数の位置57001~5700nは、行および列を有する位置のグリッドに整理されてもよい。例えば、図8Cは、位置5700[kx,ky]~5700[kx+12,ky+8]のグリッドとして整理されている位置5700k~5700k+116を示す。こうした一実施例では、位置5700[kx,ky]~5700[kx+12,ky+8]のグリッドは、ステップ4002で受信された画像情報の一部分であってもよい、13×9ピクセルのグリッドなどの、対応するピクセルのグリッドによって表されてもよい。例えば、画像情報は、位置5700[kx,ky]~5700[kx+12,ky+8]のそれぞれの奥行き値を記述するピクセルを含む、奥行きマップまたは点群であってもよい。より具体的には、画像情報は、位置5700[kx,ky]~5700[kx+12,ky+8]の各位置に対するそれぞれの[X Y Z]座標を含む、点群を含み得る。こうした一実施例では、2Dパッチ8740p~8740p+5のセクションは各々、位置5700[kx,ky]~5700[kx+12,ky+8]のそれぞれのサブセットに適合するか、またはそうでなければ近似することができ、サブセットは、例えば、5×5ピクセルの画像情報に対応する5×5の位置のグリッドを含み得る。この実施例の各ピクセルは、ピクセルによって表される対応する位置の[X Y Z]座標を含み得る。
一例として、計算システム1100は、2Dパッチ8740pを、位置5700[kx,ky]~5700[kx+4,ky+4]を含むサブセットを通じて、またはより具体的には、コーナー位置5700[kx,ky]、5700[kx+4,ky]、5700[kx,ky+4]、および5700[kx+4,ky+4]によって境界を形成された5×5グリッドの位置を通じて適合する、仮想2D平面として決定または識別し得る。5×5グリッドの位置は、位置のグリッドに対するそれぞれの座標(例えば、[X Y Z]座標)を記述し得る、画像情報のそれぞれのピクセルの5×5グリッドに対応してもよい。こうした一実施例では、計算システム1100は、平面適合動作を実施して、それぞれの座標を通して適合する仮想2D平面を決定することによって、2Dパッチ8740pを決定し得る。平面適合動作は、定義された偏差閾値を下回る偏差の量などの、それぞれの座標から十分に低い量の偏差を有する、仮想2D平面を識別することを伴い得る。一部の実例では、2Dパッチ8740pに対する平面適合動作は、上で考察されたそれぞれの座標を通して最も適合する仮想2D平面を識別することを伴い得る。
実施形態では、複数の2Dパッチ(例えば、57001~5700n)は、ノイズに対して堅牢または耐性のある様式で物体表面の平滑性を評価する計算システム1100の能力を容易にし得る。より具体的には、ステップ4002で受信される画像情報は、一部の実例では、画像情報の各々の個々のピクセルに対する配向情報を含み得る。ピクセルでの配向は、ピクセルによって表される位置に関連付けられた配向を記述し得る。計算システム1100は、物体表面の平滑性を評価するために、個々のピクセルに関連付けられた配向情報を使用するように試み得るが、こうした配向情報は、撮像ノイズまたは何らかの他の誤差源によって引き起こされる誤差を含み得る。こうした誤差源を補正するために、計算システム1100は、複数のピクセル、すなわちより具体的には、ピクセルのグリッド(例えば、5×5または10×10グリッドのピクセル)に基づいて、各々2Dパッチを決定し、物体表面の平滑性を評価するために、それぞれの2Dパッチに関連付けられた配向を使用し得る。2Dパッチの各々は、複数のピクセルに基づくため、ピクセルの任意の1つの誤差は、他のピクセルの情報によって平均化されるか、またはそうでなければ軽減され得る。したがって、2Dパッチに由来する配向情報は、物体表面にわたって平滑性を評価する、より正確または信頼できる方式を提供し得る。
実施形態では、複数の2Dパッチ(例えば、57001~5700n)は各々、複数の2Dパッチが、高度な粒度または詳細を有する1つ以上の物体表面を表すことを可能にする、十分に小さなサイズを有してもよい。粒度のこうした度合いによって、計算システム1100が、複数の2Dパッチを使用して、物体表面に滑らかさをもたらさない小さな物理的特徴さえも検出することが可能になり得る。例えば、2Dパッチの各々は、5×5ピクセルのサイズを有してもよい。言い換えれば、2Dパッチの各々は、画像情報の5×5グリッドのピクセルによって表される領域をカバーしてもよい。計算システム1100は、こうした物理的特徴が比較的小さい場合であっても、表面の平滑性を減少させる、しわ、隆起、折り目、くぼみ、または他の物理的特徴を検出するために、この実施例の複数の2Dパッチを使用することができ得る。例えば、複数の2Dパッチは、数十ピクセルほどの解像度で、しわ、または他の物理的特徴を検出することができ得る。
上述のように、計算システム1100は、実施形態では、複数の2Dパッチ(例えば、87401~8740n)から、定義された配向類似性基準および定義された奥行き類似性基準を満たす連続的な2Dパッチのセットを識別することによって、定義された平滑性条件を満たす表面領域を識別し得る。こうした実施形態では、定義された配向類似性基準および/または定義された奥行き類似性基準は、定義された平滑性条件の一部であってもよく、その結果、定義された平滑性条件を満たすことは、定義された奥行き類似性基準および/または定義された配向類似性基準を満たすことを含む。より具体的には、この実施形態における連続的な2Dパッチのセットは、それらが定義された配向類似性基準および奥行き類似性基準を満たす場合に、定義された平滑性条件を満たすことができる。一例として、図8Dは、奥行き類似性基準および定義された奥行き類似性基準を満たす、連続的な2Dパッチのセット8745を示す。図8Dの連続的な2Dパッチのセット8745は、例えば、図8Cの2Dパッチ8740p~8740p+5を包含し得る。以下でより詳細に考察されるように、連続的な2Dパッチのセット(例えば、8745)は、定義された平滑性条件を満たす表面領域(例えば、6810)を形成し、または画定するために使用されてもよく、したがって、上で考察されたグリップ領域を形成するために使用され得る。
実施形態では、2Dパッチのセットは、空間的に連続する局所領域を画定してもよく、局所領域のどの部分も、局所領域のいずれの他の部分から完全に分離されていない。2Dパッチのセットは、2Dパッチのセットの各2Dパッチが、2Dパッチのセット中の他のすべての2Dパッチに直接的または間接的に接続される場合、連続的であり得る。この実施形態では、第1の2Dパッチおよび第2の2Dパッチは、それらが共通の境界部を共有するか、いくらかの重複を有するか、またはすぐ隣にある場合に、互いに直接的に接続され、かつ連続してもよい。より具体的には、第1の2Dパッチおよび第2の2Dパッチは、2Dパッチを決定するために平面適合を実施するために使用された位置を共有する場合に、互いに直接的に接続され、かつ連続してもよい。例えば、図8Cの2Dパッチ8740pおよび2Dパッチ8740p+1は、2Dパッチ8740pおよび2Dパッチ8740p+1の両方を決定するために使用される5つの共通位置を共有する。言い換えれば、2Dパッチ8740pを決定するために使用される位置と2Dパッチ8740p+1を決定するために使用される位置との重複が存在する。結果として、2Dパッチ8740pおよび2Dパッチ8740p+1は、互いに直接的に接続され、かつ連続するとみなされ得る。
さらに、第1の2Dパッチおよび第2の2Dパッチは、第1の2Dパッチおよび第2の2Dパッチを接続する2Dパッチのセットの中に中間パッチまたは複数の中間パッチが存在する場合、間接的に接続されるとみなされ得る。例えば、図8Cの2Dパッチ8740p+1は、2Dパッチ8740pおよび2Dパッチ8740p+2を間接的に接続する中間パッチであってもよい。別の実施例として、2Dパッチ8740p+3および8740p+4は、2Dパッチ8740pおよび2Dパッチ8740p+5を間接的に接続する中間パッチであってもよい。一実施例では、中間パッチは、それ自体が連続的であってもよく、例えば、1つの境界を第1の2Dパッチと共有し、別の境界部を第2の2Dパッチと共有してもよい。より具体的には、中間パッチのうちの1つは、第1の2Dパッチに直接的に接続されてもよく、中間パッチのうちの別の1つは、第2の2Dパッチに直接的に接続されてもよい。
実施形態では、2Dパッチのセットの配向は、それらの2Dパッチのそれぞれの法線ベクトルによって画定されてもよく、配向類似性基準は、法線ベクトルが互いに十分に類似していることを伴い得る。例えば、図8Eは、それぞれ2Dパッチ8740p~8740p+5に対する法線ベクトル8750p~8750p+5を描写しており、各法線ベクトルは、それぞれの2Dパッチに対して垂直なベクトルであってもよい。こうした実施形態では、第1の2Dパッチ(例えば、8740p)および第2の2Dパッチ(例えば、8740p+1)の配向類似性基準は、それらの法線ベクトルが互いに十分に類似していることを伴い得る。例えば、計算システムは、第1の2Dパッチ(例えば、8740p)に対して垂直なベクトルである第1の法線ベクトル(例えば、8750p)を決定してもよく、第2の2Dパッチ(例えば、8740p+1)に対して垂直なベクトルであり得る第2の法線ベクトル(例えば、8750p+1)を決定してもよい。本実施例の計算システム1100は、第1の法線ベクトル(例えば、8750p)および第2の法線ベクトル(例えば、8750p+1)が、定義された配向類似性基準を満たすかどうかを決定することによって、第1の2Dパッチ(例えば、8740p)および第2の2Dパッチ(8740p+1)が、定義された配向類似性基準を満たすかどうかを決定することができる。第1の法線ベクトルおよび第2の法線ベクトルは、例えば、第1の法線ベクトルと第2の法線ベクトルとの間の角度が、定義された角度閾値を下回るとき、および/または第1の法線ベクトルと第2の法線ベクトルとの間のドット積が、定義されたドット積値の閾値を超えるとき、定義された配向の類似性基準を満たし得る。図8Dの実施例で、計算システム1100は、定義された配向類似性基準が、2Dパッチ8740p~8740p+5などのより大きな2Dパッチのグループに対して満たされているかどうかをさらに決定し得る。例えば、計算システム1100は、2Dパッチの各々について、2Dパッチの法線ベクトルが、すぐ近くに隣接する隣接パッチの法線ベクトルに対する定義された角度閾値内にある場合に、2Dパッチ8740p~8740p+5に対して定義された配向類似性基準が満たされていると決定し得る。
実施形態では、定義された奥行き類似性基準は、奥行き寸法に沿って測定されるように、2Dパッチ間の1つ以上の距離が十分に小さいかどうかを伴い得る。例えば、計算システム1100は、定義された奥行き類似性基準が、第1の2Dパッチと第2の2Dパッチとの間の第1の距離が定義された奥行き類似性基準を満たすかどうか、および/またはそれらの間の第2の距離が定義された奥行き類似性基準を満たすかどうかを決定することによって、第1の2Dパッチ(例えば、図8Fおよび図8Gにおける8740p)および第2の2Dパッチ(例えば、8740p+1)について満たされているかどうかを決定し得る。より具体的には、計算システム1100は、第1の距離および/または第2の距離が定義された距離閾値を下回る場合に、第1の2Dパッチおよび第2の2Dパッチについて、奥行き類似性基準が満たされていると決定し得る。図8Fにおける距離d1などの第1の距離は、第1の2Dパッチ(例えば、8740p)から、第1の2Dパッチ(例えば、8740p)に対して垂直なベクトルであってもよい、第1の法線ベクトル(例えば、8750p)に対して垂直な軸Aに沿った第2の2Dパッチ(例えば、8740p+1)までの距離であってもよい。図8Fにおける距離d2などの第2の距離は、第1の2Dパッチ(例えば、8740p)から、第2の2Dパッチ(例えば、8740p+1)に対して垂直なベクトルであってもよい、第2の法線ベクトル(例えば、8750p+1)に対して垂直な軸Bに沿った第2の2Dパッチ(例えば、8740p+1)までの距離であってもよい。実施形態では、計算システム1100は、2Dパッチの各々について、2Dパッチとすぐ近くに隣接する隣接2Dパッチとの間の1つ以上の距離が、定義された距離閾値よりも小さい場合に、2Dパッチ8740p~8740p+5などの2Dパッチのグループが、定義された奥行き類似性基準を満たしていると決定することができる。この実施形態では、1つ以上の距離は、上で考察された第1の距離および第2の距離を含んでもよく、これは、2つのパッチのそれぞれの法線ベクトルに沿って測定される。
上述のように、計算システムは、一部の実装形態では、定義された平滑性条件を満たす表面領域(例えば、図6および図9Aの6810または図9Bの6812)を決定するために、定義された配向類似性基準および定義された奥行き類似性基準を満たす、連続的な2Dパッチのセットを決定し得る。より具体的には、表面領域は、グリップ領域として使用されてもよく、連続的な2Dパッチのセットによって画定された局所領域によって形成されてもよく、またはその中に適合してもよい。
実施形態では、計算システム1100は、1つ以上の2Dパッチの初期セットを識別し、1つ以上の2Dパッチの初期セットを連続的な2Dパッチのセット内に拡張することによって、連続的な2Dパッチのセット(例えば、8745)を識別し得る。一例として、計算システム1100は、図8B、図8C、および図8Eの2Dパッチ8740pを使用して、単一の2Dパッチの初期セットを形成することができる。この実施例では、単一の2Dパッチ8740pは、図8Dの連続的なパッチのセット8745に拡張されるシードとして使用され得る。
実施形態では、計算システム1100は、1つ以上の2Dパッチの初期セットに、計算システム1100によって、特定の領域にわたって、最も平滑な位置または位置のグループである、またはそれらを表すとみなされる、2Dパッチ(例えば、8740p)を含むように構成されてもよい。一実施例では、特定の領域は、ステップ4002の画像情報によって表されるシーンの特定の象限などの、2Dパッチを包含する局所領域であってもよい。一実施例では、特定の領域は、画像情報によって表されるシーン全体であってもよい。この実施例では、1つ以上の2Dパッチの初期セットに含まれる2Dパッチは、画像情報によって表される複数の位置(例えば、57001~5700n)の中で、最も平滑な位置または位置のグループを表し得る。この実施例の位置のグループは、図8Cのコーナー位置(コーナー位置5700[kx,ky]、5700[kx+4,ky]、5700[kx,ky+4]、および5700[kx+4,ky+4])によって境界付けられた5×5グリッドの位置などの位置のクラスタであり得る。
実施形態では、計算システム1100は、画像情報によって表される1つ以上の表面にわたって、それぞれの平滑性の度合いを示す複数の平滑性スコアを決定してもよく、1つ以上の表面は、1つ以上の物体表面(例えば、物体35201、35202などのそれぞれの物体表面)を含み得る。より具体的には、複数の平滑性スコアは、画像情報によって表される複数の位置(例えば、57001~5700n)におけるそれぞれの平滑性の度合いを示し得る。上述のように、計算システム1100は、1つ以上の2Dパッチの初期セットに、画像情報によって表されるシーンの局所領域にわたって、または全体にわたって最も平滑な位置または位置のグループを表す2Dパッチを含み得る。この実施形態では、この2Dパッチは、複数の平滑性スコアの中で最も高い平滑性スコアを有する位置を表し得る。一部の実例では、複数の平滑性スコアは、画像情報によって表されるシーンにわたる平滑性を測定する、平滑性マップを形成し得る。こうした実例では、初期セットに含まれる2Dパッチは、平滑性マップ全体にわたって、または平滑性マップの局所領域(例えば、平滑性マップの局所象限)にわたって、最も高い平滑性スコアを有してもよい。
上述のように、計算システム1100は、1つ以上の2Dパッチの初期セットを、連続的な2Dパッチのセットに拡張することを試み得る。初期セットは、例えば、互いに連続的な単一の2Dパッチ(例えば、8740p)または複数の2Dパッチ(例えば、8740pおよび8740p+1)を含んでもよく、連続的な2Dパッチのセット内に拡張されるシードとして作用してもよい。より具体的には、初期セットは、連続的な2Dパッチのセットの初期バージョンであってもよい。計算システム1100は、連続的な2Dパッチのセットのこの初期バージョンに1つ以上の2Dパッチを追加して、更新バージョンを生成し得る。図8Dの例では、連続的なパッチのセット8745は、例えば、連続的な2Dパッチのセットの最終バージョンであってもよい。最終バージョンは、例えば、定義された平滑性条件、すなわち、より具体的には、定義された配向類似性基準および定義された奥行き類似性基準を満たす、ならびに1つ以上の2Dパッチの初期セットから拡張された(例えば、8740p1から拡張された)、計算システム1100が識別することができる連続的な2Dパッチの最大可能なセットであってもよい。この実施例では、計算システム1100は、複数の2Dパッチ(例えば、87401~8740n)において、任意の追加の2Dパッチを識別することができない場合に、セット内の既存の2Dパッチと連続しており、かつ既存の2Dパッチに対する配向類似性基準および奥行き類似性基準を満たす連続的な2Dパッチのセットを拡張することを試みることを停止し得る。
拡張の一例として、計算システム1100は、(i)連続的な2Dパッチのセットに現在ない、またはより具体的には、連続的な2Dパッチのセットの現在のバージョンにない、(ii)連続的な2Dパッチのセットの現在のバージョンにある少なくとも1つの2Dパッチと連続的である、および(iii)少なくとも1つの2Dに対して定義された配向類似性基準および定義された奥行き類似性基準を満たす、2Dパッチを検索してもよい。計算システム1100は、上記の基準を満たす2Dパッチなどを識別することができる場合に、その2Dパッチを、連続的な2Dパッチのセットの現在のバージョンに追加して、セットの更新されたバージョンを生成することができる。例えば、1つ以上の2Dパッチの初期セットが、上で考察された複数のパッチ(例えば、87401~8740n)の第1の2Dパッチ(例えば、図8Cの8740p)を含む場合に、計算システム1100は、連続的な2Dパッチのセットの初期バージョンとして、初期セットを使用し得る。計算システム1100は、複数の2Dパッチの中から、第1の2Dパッチと連続しており、かつ初期セットに現在ない第2の2Dパッチ(例えば、8740p+1または8740p+3)を識別することによって、この初期バージョンを拡張してもよい。計算システムは、第1の2Dパッチ(例えば、8740p)および第2の2Dパッチ(例えば、8740p+1または8740p+3)が、定義された配向類似性基準および定義された奥行き類似性基準を満たすかどうかをさらに決定し得る。計算システム1100は、上記の基準が満たされているという決定に応答して、第2の2Dパッチを初期セットに追加して、拡張された2Dパッチのセットを生成し得る。拡張されたセットは、連続的な2Dパッチのセットの更新されたバージョンであってもよい。一部の実例では、拡張されたセットは、図8Dの連続的な2Dパッチのセット8745などの、連続的な2Dパッチのセットの最終バージョンを形成することができる。一部の実例では、拡張されたセットは、連続的な2Dパッチのセットの中間バージョンであってもよく、中間バージョンは、連続する2Dパッチのセットの最終バージョンの一部を形成してもよい。
実施形態では、第1の2Dパッチ(例えば、8740p)および第2の2Dパッチ(例えば、8740p+1)が定義された配向類似性基準を満たすかどうかを決定することは、第1の2Dパッチの法線ベクトル(例えば、8750p)と、第2の2Dパッチの法線ベクトル(例えば、8750p+1)を比較すること、および図8Eに関して上で考察されたように、2つの法線ベクトルが定義された配向類似性基準を満たすかどうかを決定することを伴い得る。実施形態では、第1の2Dパッチ(例えば、8740p)および第2の2Dパッチ(例えば、8740p+1)が定義された奥行き類似性基準を満たすかどうかを決定することは、2Dパッチ間の1つ以上の距離が、定義された奥行き類似性基準を満たすかどうかを決定することを伴い得る。1つ以上の距離は、図8Fおよび図8Gに関して上で考察されたように、第1の2Dパッチの法線ベクトルに対して平行な軸に沿って測定される第1の距離(例えば、d1)、および第2の2Dパッチの法線ベクトルに対して平行な軸に沿って測定される第2の距離(例えば、d2)を含み得る。計算システム1100は、例えば、第1の距離または第2の距離のうちの少なくとも1つが、定義された奥行き類似性基準を満たす場合に、第1の2Dパッチおよび第2の2Dパッチが、定義された奥行き類似性基準を満たすことを決定し得る。
実施形態では、上で考察された拡張されたセットが連続的な2Dパッチのセットの中間バージョンである場合、計算システム1100は、拡張されたセットを更新することを試み得る。拡張は、拡張されたセットの中に現在ある少なくとも1つの2Dパッチ(例えば、8740p+1)と連続しており、かつ少なくとも1つの2Dパッチに関して定義された配向類似性基準および定義された奥行き類似性基準を満たしている、1つ以上の残りの2Dパッチ(例えば、8740p+2)を検索することによって実施され得る。検索は、上で考察された複数の2Dパッチ(例えば、87401~8740n)の中から行われてもよい。計算システム1100は、1つ以上の残りの2Dパッチを拡張されたセットに追加することによって、拡張されたセットを更新し得る。
実施形態では、計算システム1100は、連続的な2Dパッチのセットを使用して、グリップ領域として使用され得る表面領域を形成し、または識別し得る。言い換えれば、グリップ領域として識別される表面領域は、連続的な2Dパッチのセットによって形成されてもよく、および/または連続的な2Dパッチのセット内に適合してもよい。より具体的には、連続的な2Dパッチのセットは、セット内の2Dパッチが、定義された配向類似性基準および定義された奥行き類似性基準を満たし得るため、定義された平滑性条件を満たすことができる。計算システム1100は、連続的な2Dパッチのセットの境界部内に適合する表面領域として、グリップ領域を画定し得る。一部の実例では、この表面領域は、連続的な2Dパッチのセットと同じ形状を有してもよい。一部の実例では、この表面領域は、連続的な2Dパッチのセット内に適合する定義された領域形状(例えば、長方形形状、円形状、または楕円形状)を有してもよい。一例として、図9Aは、計算システム1100が連続的な2Dパッチのセット8745内に適合する表面領域6810として、グリップ領域を識別する、実装形態を描写する。この実施例では、計算システム1100は、連続的な2Dパッチのセット8745によって形成される境界8746と同一または実質的に同一である境界部を有するように、表面領域6810を画定してもよい。図9Bは、計算システム1100が、グリップ領域を、画定された形状を有する表面領域6812として識別する実施例を示す。より具体的には、表面領域6812は、連続的な2Dパッチのセット8745の境界部8746内に適合する長方形領域であってもよい。
上述のように、表面領域6810または表面領域6812は、グリップ領域として識別されてもよく、これは、グリップ領域検出操作によって、またはより具体的には、図2Cのグリップ領域検出モジュール1127によって出力される検出結果であり得る。検出結果は、例えば、運動計画モジュール1129によって行われ得る、例えば、運動計画操作への入力として提供されてもよい。
図4に戻ると、方法4000は、実施形態において、計算システム1100が、1つ以上の水平寸法でグリップ領域を囲む三次元(3D)領域であってもよい、安全領域(安全ボリュームとも呼ばれる)を識別し得る、ステップ4006を含み得る。1つ以上の水平寸法(例えば、X寸法および/またはY寸法)は、接地と平行であってもよく、および/または奥行き寸法に対して垂直であってもよく、奥行き寸法は、例えば、重力軸と平行な垂直寸法であってもよい。例えば、図10、図11A、および図11Bは、計算システムが安全領域として識別し得る、3D領域6820を示す。3D領域6820は、例えば、X次元およびY次元で延在し得る。図11Aに示すように、3D領域6820または他の安全領域は、2つの水平寸法で表面領域6810などのグリップ領域を囲むことができる。一部の実装形態では、安全領域は、1つ以上の水平寸法に対して垂直な垂直寸法に沿って延在し得る。例えば、安全領域を形成する3D領域6820は、図12Aおよび図12B(物体3520n-5および3520n-4をさらに示す)に示すように、表面領域6810から下方向に、垂直寸法(例えば、Z寸法)に沿って延在する長方形領域であり得る。一部の実例では、安全領域は、表面領域6810のどの部分も、Z寸法の安全領域の上面またはいかなる他の表面も越えて延在しないように、表面領域6810を完全に包含するように画定され得る。一部の実例では、表面領域6810は、安全領域の表面を越えて突出する、1つ以上の部分を有してもよい。
以下でより詳細に考察されるように、グリップ領域検出操作の出力でもあり得る安全領域は、グリップ領域に関連付けられた物体(例えば、35201)を掴むために、運動計画中、またはより具体的には、ロボット運動計画中に使用され得る。より具体的には、安全領域の使用は、ロボットの環境で物体と別の物体または構造との間の衝突の可能性を低減し得る。一部の実例では、安全領域は、物体(例えば、35201)を掴んで移動するための移動を計画する際に、計算システム1100が安全マージンを考慮に入れるように、物体の周りに安全マージンを提供し得る。例えば、運動計画は、エンドエフェクタ装置(例えば、3330)が、グリップ領域で物体を掴んだ後に追従する移動経路を決定することを伴ってもよく、エンドエフェクタ装置は、グリップ領域および物体に、同じ移動経路を実質的に追従させる。グリップ領域を囲む安全領域は、この実施例では、安全マージンを提供するために、1つ以上の水平寸法で物体をさらに囲むのに十分な大きさであってもよい。計算システム1100は、安全領域(グリップ領域を囲む)と、容器壁、電気配線、およびロボット環境内の他の物体などの構造との間の衝突を避けるために、移動経路を決定し得る。こうした運動計画の形態は、例えば、物体と、物体の移動経路の近くにあってもよい他の物体または構造との間のより大きな距離を保つことによって、物体とそれらの他の物体または構造との間の衝突の可能性をさらに低減することなどの、より保存的な様式で、エンドエフェクタ装置を移動させ得る。
上述のように、グリップ領域を囲む安全領域は、実施形態では、グリップ領域に関連付けられた物体を1つ以上の水平寸法でさらに取り囲むのに十分な大きさであってもよい。より具体的には、安全領域は、物体の境界部を越えてグリップ領域から延在するように十分に大きくてもよく、その結果、物体の境界部は、1つ以上の水平寸法で安全領域の境界部によって包含される。実施形態では、安全領域の境界部は、1つ以上のエッジを含んでもよく、計算システム1100は、定義された横方向寸法サイズに基づいて、安全領域の少なくとも1つのエッジを決定してもよい。定義された横方向寸法サイズは、物体の横方向寸法(物体横方向寸法とも呼ばれる)の定義されたサイズであってもよい。物体の横方向寸法は、物体の厚さ寸法に対して垂直な寸法であってもよい。例えば、長方形形状の物体は、長さ寸法および幅寸法を含む横方向寸法を有してもよく、一方で、ディスク形状の物体は、放射状の寸法である横方向寸法を有してもよい。一例として、図11Bは、物体(例えば、35201)または物体のグループに対する長さ寸法の定義されたサイズであってもよい、第1の定義された横方向寸法サイズ、長さ3520を描写する。図11Bは、物体または物体のグループに対する幅寸法の定義されたサイズであってもよい、第2の定義された横方向寸法サイズ、幅3520をさらに描写する。定義されたサイズは、例えば、事前に定義されてもよく、非一時的コンピュータ可読媒体1120に記憶されてもよい。
上述のように、定義された横方向寸法サイズは、物体または物体のグループに関連付けられてもよい。より具体的には、計算システム1100は、実施形態では、ロボット(例えば、3300)が、同じサイズまたは実質的に同じサイズを有する物体(例えば、35201~3520n)を掴んで移動させると予想される、または単一の物体(例えば、35201)のみを掴むと予想される、シナリオで動作してもよい。例えば、ロボットは、同一の衣服パッケージのグループのみを含有する、衣服のパッケージをビンから持ち上げることが予想され得る。パッケージのグループは、例えば、同じ在庫管理単位(SKU)番号に関連付けられてもよい。
上記の実施形態では、計算システム1100は、パッケージのグループ、またはより一般的には、物体のグループに関連付けられた、定義された物体長さまたは定義された物体幅などの定義された横方向寸法サイズを使用して、安全領域のエッジを決定してもよい。より具体的には、物体のグループは、図11Bの長さ3520および幅3520などの1つ以上の定義された横方向寸法サイズを共有することができる。計算システム1100は、物体35201などの、グリップ領域(例えば、表面領域6810/6812)に関連付けられた物体が、グリップ領域から定義された横方向寸法サイズを超えて延在しないエッジを有すると予想し得る。より具体的には、図11Bの表面領域6810に関連付けられる物体35201は、長さ3520以下の距離だけ第1の寸法(例えば、長さ寸法)に沿って表面領域6810または他のグリップ領域から延在し、幅3520以下の距離だけ第2の寸法(例えば、幅寸法)に沿って延在する、物体表面を有してもよい。計算システムが、安全領域6820の少なくとも1つのエッジ(例えば、6821)を、長さ3520と等しい距離だけ表面領域6810を越えて位置するように設定し、安全領域6820の少なくとも別のエッジ(例えば、6822/6823)を、幅3520と等しい距離だけ表面領域6810を越えて位置するように設定する場合、こうした安全領域6820は、表面領域6810(この実施例では、グリップ領域である)に関連付けられる物体(例えば、35201)を取り囲む可能性が高い可能性がある。したがって、この実施例では、計算システムは、物体の横方向寸法に関連付けられた定義された横方向寸法サイズに基づいて、安全領域のエッジを決定し得る。
実施形態では、安全領域のエッジは、物体のグループに対する最大横方向寸法サイズに基づいて決定されてもよい。こうした実施形態は、ロボットが、異なるそれぞれの横方向寸法サイズを有する物体のグループを掴んで移動させることが予想される、シナリオを伴い得る。例えば、ロボットは、異なるSKU番号に関連付けられ、かつ異なる物体長さおよび/または異なる物体幅を有するパッケージのグループを含み得る衣服のパッケージを、ビンから持ち上げることが予想され得る。こうした実施形態では、計算システム1100は、物体のグループ間の定義された最大物体長さまたは定義された最大物体幅などの最大横方向寸法サイズを使用して、安全領域のエッジを決定してもよい。例えば、計算システムは、第1の定義された最大横方向寸法サイズ(例えば、定義された最大物体長さ)と等しい距離だけグリップ領域を越えて位置する、1つのエッジまたは一対のエッジを有するように、安全領域を決定してもよく、第2の定義された最大横方向寸法サイズ(例えば、定義された最大物体幅)と等しい距離だけグリップ領域を越えて位置する、別のエッジまたは別の一対のエッジを有するように、安全領域を決定してもよい。
実施形態では、計算システム1100は、物体が配置される容器の容器壁に位置する安全領域のエッジを決定してもよい。例えば、図11Aの画像情報5700(例えば、点群)は、図3A~図3Cの容器3510などの容器内の1つ以上の表面上の位置の奥行き情報を記述することができる。こうした実例では、計算システム1100は、容器内に配置された物体(例えば、35201)が、容器のエッジを形成し得る容器壁を通過して延在しないことを予想し得る。したがって、安全領域は、容器(例えば、3510)内の物体(例えば、35201)をなおも取り囲むために、容器壁を越えて延在する必要はない場合がある。したがって、図11Bに示すように、計算システム1100は、3D領域6820(この実施例では、安全領域である)のエッジ6824が容器3510の容器壁に関連付けられた位置にあると決定し得る。図11Bに示すように、エッジ6824の位置は、定義された横方向寸法サイズ(例えば、長さ3520)よりも小さいグリップ領域(例えば、表面領域6810)からの距離を有してもよい。この実施例では、計算システム1100は、例えば、画像情報5700の奥行きの急激な変化を検出するか、または画像情報5700の端部を検出することによって、容器壁を検出し得る。したがって、図11Bの実施形態では、計算システムは、(i)エッジ6824を画定する位置などの、容器壁に関連付けられる位置、または(ii)エッジ6821/6822/6823を画定する位置などの、水平寸法(例えば、長さ寸法または幅寸法)に沿って定義された横方向寸法サイズ(例えば、長さ3520、または幅3520)だけ、グリップ領域から延在する位置のうちの少なくとも1つまで、水平寸法で延在する領域として、安全領域(例えば、3D領域6820)を識別し得る。
実施形態では、計算システム1100は、図12Aにおける高さ6820などの、安全領域の高さを決定することができる。安全領域の高さ(安全領域高さとも呼ばれる)は、物体に関連付けられる定義された横方向寸法サイズ(例えば、長さ3520)、または物体のグループに関連付けられた最大横方向寸法サイズに基づいてもよい。一例として、計算システム1100は、高さ6820を、長さ3520と等しく、または実質的に等しく設定するか、または他の方法で決定し得る。こうした実施形態では、定義された横方向寸法サイズに関連付けられた物体(例えば、35201)は、持ち上げられているときに弛む、可撓性の物体であってもよい。例えば、図12Bは、エンドエフェクタ装置3330によって、またはより具体的には、その吸引カップ3332nによって持ち上げられたときに弛む、衣服のパッケージなどの物体35201を示す。安全領域が運動計画に使用される場合、このような様式で安全領域の高さを決定することにより、運動計画は、持ち上げられているときに、物体がそれ自体の重量で弛む傾向を考慮に入れることができる。結果として、運動計画は、物体と別の物体または構造との間の衝突の可能性を低減し得る。
図4に戻ると、方法4000は、実施形態では、計算システム1100が、グリップ領域(例えば、表面領域6810/6812)および安全領域(例えば、3D領域6820)に基づいて、ロボット運動計画を実施する、ステップ4008を含み得る。ロボット運動計画は、エンドエフェクタ装置(例えば、3330)によって、物体(例えば、35201)をグリップ領域で掴むためのものであってもよい。上述のように、物体は、一部の実例では、可撓性の物体であってもよい。実施形態では、ロボット運動計画は、軌道であって、それに沿ってグリップ領域がエンドエフェクタ装置によって移動する軌道を生成するか、または他の方法で決定することを伴い得る。例えば、計算システム1100は、エンドエフェクタ装置(例えば、35201)が、グリップ領域と係合するように、グリップ領域に接近し、およびグリップ領域と接触する、軌道を決定してもよい。グリップ領域を係合することは、エンドエフェクタ装置に、グリップ領域で物体(例えば、35201)を掴ませ得る。軌道は、物体を持ち上げ、物体を目的位置に移動させるエンドエフェクタ装置をさらに含み得る。ロボット運動計画は、掴まれた物体と、エンドエフェクタ装置の環境中の他の物体または構造との間の衝突のリスクを低減するように、エンドエフェクタ装置の環境中の他の物体または構造と安全領域が接触することを回避する様式で実施され得る。
一例として、物体(例えば、35201)が容器(例えば、3510)内に配置される場合、ロボット運動計画は、物体(例えば、35201)と容器壁などの構造との間の衝突を回避しようとしてもよい。この実施例では、計算システム1100は、上で考察された軌道によって、軌道に沿って安全領域がグリップ領域(例えば、表面領域6810)に追従するときに、物体35201を囲む3D領域6820などの安全領域が、容器3510の一部分と重複するかどうかを決定し得る。上述のように、物体は、一部の実例では、図12Bに示されるように、持ち上げられると弛む場合がある。エンドエフェクタ装置3330が、物体を十分な高さまで持ち上げる前に、こうした物体を横向きに移動させようと試みる場合に、物体の弛み部分は、容器壁と衝突し得る。安全領域は、こうした衝突の可能性を考慮に入れるために使用され得る。より具体的には、安全領域は、上で考察されたように、定義された横方向寸法サイズに基づく高さ(例えば、h6820)を有してもよい。こうした一実施例では、物体の弛み部分を容器壁と衝突させる軌道はまた、容器壁などの容器の一部分と安全領域を重複させ得る。したがって、計算システム1100が、軌道によって容器の一部分と安全領域(例えば、6820)が重複すると決定する場合に、計算システム1100は、調整された軌道に沿ってグリップ領域に追従するときに、安全領域に容器(例えば、3510)を回避させる調整された軌道を生成し得る。結果として、安全領域の使用は、掴まれた物体(例えば、35201)と容器(例えば、3510)との間の衝突の可能性を減少させ得る。
実施形態では、上記のステップのうちの1つ以上が繰り返されてもよい。例えば、計算システム1100は、第1の物体(例えば、35201)をビンから持ち上げて、第1の物体を目的位置に送達するロボット移動を容易にするために、ステップ4002~4008を実施して、第1のグリップ領域および第1の安全領域を識別することができる。この実施形態の計算システム1100は、別の物体(例えば、35202)をビンから持ち上げて、その他の物体を目的位置に送達するロボット移動を容易にするために、ステップ4004~4008を繰り返して、第2のグリップ領域および第2の安全領域を識別することができる。実施形態では、1つ以上のステップを省略することができる。例えば、計算システム1100は、ステップ4008を実施することなく、ステップ4002~4006を実施するか、またはステップ4006を実施することなく、ステップ4002および4004を実施することができる。
様々な実施形態に関する追加の考察:
実施形態1は、計算システムが非一時的コンピュータ可読媒体上の命令を実行するときなどの、計算システムや、計算システムによって行われる方法に関する。計算システムは、通信インターフェースおよび少なくとも1つの処理回路を含み得る。通信インターフェースは、エンドエフェクタ装置を有するロボット、およびカメラ視野を有するカメラと通信するように構成される。少なくとも1つの処理回路は、可撓性の物体がカメラ視野内にあるとき、可撓性の物体に関連付けられた物体表面を表す画像情報であって、カメラによって生成される画像情報を受信することを行うように構成される。少なくとも1つの処理回路は、定義された平滑性条件を満たしかつ定義された領域サイズの閾値以上である領域サイズを有する物体表面の表面領域を、画像情報に基づいてグリップ領域として識別することと、1つ以上の水平寸法でグリップ領域を囲みかつ1つ以上の水平寸法に対して垂直な垂直寸法に沿ってグリップ領域から延在する三次元(3D)領域を、安全領域として識別することと、グリップ領域および安全領域に基づいて、エンドエフェクタ装置によって、グリップ領域で可撓性の物体を掴むためのロボット運動計画を実施することと、を行うようにさらに構成される。
実施形態1は、計算システムが非一時的コンピュータ可読媒体上の命令を実行するときなどの、計算システムや、計算システムによって行われる方法に関する。計算システムは、通信インターフェースおよび少なくとも1つの処理回路を含み得る。通信インターフェースは、エンドエフェクタ装置を有するロボット、およびカメラ視野を有するカメラと通信するように構成される。少なくとも1つの処理回路は、可撓性の物体がカメラ視野内にあるとき、可撓性の物体に関連付けられた物体表面を表す画像情報であって、カメラによって生成される画像情報を受信することを行うように構成される。少なくとも1つの処理回路は、定義された平滑性条件を満たしかつ定義された領域サイズの閾値以上である領域サイズを有する物体表面の表面領域を、画像情報に基づいてグリップ領域として識別することと、1つ以上の水平寸法でグリップ領域を囲みかつ1つ以上の水平寸法に対して垂直な垂直寸法に沿ってグリップ領域から延在する三次元(3D)領域を、安全領域として識別することと、グリップ領域および安全領域に基づいて、エンドエフェクタ装置によって、グリップ領域で可撓性の物体を掴むためのロボット運動計画を実施することと、を行うようにさらに構成される。
実施形態2は、実施形態1の計算システムを含む。この実施形態では、定義された領域サイズの閾値は、エンドエフェクタ装置と可撓性の物体との間の接触に関連付けられる定義された接触領域サイズであり、その結果、グリップ領域は、定義された接触領域サイズを有する接触領域と適合するのに十分な大きさである。
実施形態3は、実施形態2の計算システムを含む。この実施形態では、定義された領域サイズの閾値は、エンドエフェクタ吸引カップに関連付けられる定義された吸引カップサイズである。
実施形態4は、実施形態1の計算システムを含む。この実施形態では、定義された領域サイズの閾値は、可撓性の物体に関連付けられる定義された物体サイズである。
実施形態5は、実施形態1~4のうちのいずれか1つの計算システムを含む。この実施形態では、可撓性の物体が、厚さ寸法、および厚さ寸法に対して垂直な横方向寸法を有する場合、少なくとも1つの処理回路は、可撓性の物体の横方向寸法に関連付けられる定義された横方向寸法サイズに基づいて、安全領域のエッジを決定するように構成される。
実施形態6は、実施形態1~5のうちのいずれか1つの計算システムを含む。この実施形態では、可撓性の物体が、それぞれそれぞれの横方向寸法サイズを有する、カメラ視野内にある可撓性の物体のグループのうちの1つである場合、少なくとも1つの処理回路は、異なる横方向寸法サイズの最大横方向寸法サイズに基づいて、安全領域のエッジを決定するように構成される。
実施形態7は、実施形態1~6のうちのいずれか1つの計算システムを含む。この実施形態では、可撓性の物体が、持ち上げられている際に弛む物体である場合、少なくとも1つの処理回路は、可撓性の物体に関連付けられる定義された横方向寸法サイズに基づいて、安全領域高さを決定するように構成される。
実施形態8は、実施形態7の計算システムを含む。この実施形態では、可撓性の物体が容器内に配置される場合、少なくとも1つの処理回路は、物体表面のグリップ領域がエンドエフェクタ装置によって移動する際に沿う軌道を生成することと、安全領域が軌道に沿ってグリップ領域に追従するときに、軌道が安全領域を容器の一部分と重複させるかどうかを決定することと、軌道が安全領域を容器の一部分と重複させるとの決定に応答して、調整された軌道を生成することであって、調整された軌道が、安全領域が調整された軌道に沿ってグリップ領域に追従するときに、安全領域を容器との重複とするのを回避させることと、によって、ロボット運動計画を実施するように構成される。
実施形態9は、実施形態1~8のうちのいずれか1つの計算システムを含む。この実施形態では、画像情報が、容器内の1つ以上の表面上の位置の奥行き情報を記述する点群を含む場合、少なくとも1つの処理回路は、(i)容器壁に関連付けられる位置、または(ii)1つ以上の水平寸法のうちの1つの水平寸法に沿って定義された横方向寸法サイズだけ、グリップ領域から延在する位置のうちの少なくとも1つまで、1つ以上の水平寸法で延在する領域として、安全領域を識別するように構成される。
実施形態10は、実施形態1~9のうちのいずれか1つの計算システムを含む。この実施形態では、画像情報が、カメラ視野内の複数の位置の奥行き情報を記述する場合、少なくとも1つの処理回路は、複数の位置のそれぞれのサブセットを近似する、物体表面を表す複数の二次元(2D)パッチを決定することと、複数の2Dパッチの中から、定義された配向類似性基準および定義された奥行き類似性基準を満たす連続的な2Dパッチのセットを識別することと、によって、グリップ領域を識別するように構成されており、グリップ領域として識別された表面領域は、連続的な2Dパッチのセットによって形成されるか、または連続的な2Dパッチのセット内に適合しており、表面領域について定義された平滑性条件を満たすことは、連続的な2Dパッチのセットについての定義された配向類似性基準および定義された奥行き類似性基準を満たす。
実施形態11は、実施形態10の計算システムを含む。この実施形態では、グリップ領域は、定義された領域形状を有していると共に、連続的な2Dパッチのセット内に適合する。
実施形態12は、実施形態10または11の計算システムを含む。この実施形態では、少なくとも1つの処理回路は、1つ以上の2Dパッチの初期セットを識別することと、1つ以上の2Dパッチの初期セットを、連続的な2Dパッチのセットに拡張することと、によって、連続的な2Dパッチのセットを識別するように構成される。
実施形態13は、実施形態12の計算システムを含む。この実施形態では、1つ以上の2Dパッチの初期セットは、複数の2Dパッチのうちの第1の2Dパッチを含み、少なくとも1つの処理回路は、第1の2Dパッチに対して垂直なベクトルである第1の法線ベクトルを決定することと、複数の2Dパッチの中から、第1の2Dパッチと連続しかつ1つ以上の2Dパッチの初期セットの中にない第2の2Dパッチを識別することと、第2の2Dパッチに対して垂直なベクトルである第2の法線ベクトルを決定することと、(i)第1の法線ベクトルに対して平行な軸に沿った、第1の2Dパッチから第2の2Dパッチまでの第1の距離、または(ii)第2の法線ベクトルに対して平行な軸に沿った、第2の2Dパッチから第1の2Dパッチまでの第2の距離、のうちの少なくとも1つを決定することと、第1の法線ベクトルおよび第2の法線ベクトルが、定義された配向類似性基準を満たすかどうかを決定することと、第1の距離または第2の距離のうちの少なくとも1つが、定義された奥行き類似性基準を満たすかどうかを決定することと、第1の法線ベクトルおよび第2の法線ベクトルが定義された配向類似性基準を満たすという決定、および第1の距離または第2の距離のうちの少なくとも1つが定義された奥行き類似性基準を満たすという決定に応答して、第2の2Dパッチを、初期セットに追加して、2Dパッチの拡張されたセットを生成することであって、拡張されたセットが、連続的な2Dパッチのセットを形成するか、または連続的な2Dパッチのセットの一部を形成することと、によって、1つ以上の2Dパッチの初期セットを、連続的な2Dパッチのセットに拡張するように構成される。
実施形態14は、実施形態13の計算システムを含む。この実施形態では、少なくとも1つの処理回路は、複数の2Dパッチの一部である2Dパッチであって、2Dパッチの拡張されたセットに現在ない2Dパッチの中から、(i)拡張されたセットの中に現在ある2Dパッチと連続し、かつ、(ii)拡張されたセットの中で2Dパッチに関して定義された配向類似性基準および定義された奥行き類似性基準を満たしている、1つ以上の残りの2Dパッチを検索することと、1つ以上の残りの2Dパッチを拡張されたセットに追加することによって、拡張されたセットを更新することと、を行うようにさらに構成される。
実施形態15は、実施形態12~14のうちのいずれか1つの計算システムを含む。この実施形態では、少なくとも1つの処理回路は、1つ以上の2Dパッチの初期セットに、画像情報によって表される複数の位置の中から最も平滑な位置または位置のグループを表す、複数の2Dパッチのうちの1つの2Dパッチを含むように構成される。
実施形態16は、実施形態15の計算システムを含む。この実施形態では、少なくとも1つの処理回路は、画像情報によって表されるそれぞれの位置で、1つ以上の物体表面にわたって、それぞれの平滑性の度合いを示す複数の平滑性スコアを決定するように構成されており、1つ以上の2Dパッチの初期セットに含まれる2Dパッチは、複数の平滑性スコアの中で最も高い平滑性スコアを有する位置を表す。
関連分野の当業者にとって、本明細書に記載する方法および用途への、その他の好適な修正ならびに適応が、実施形態のうちのいずれの範囲から逸脱することなく成すことができることは明らかであろう。上に記載する実施形態は、説明に役立つ実施例であり、本発明がこれらの特定の実施形態に限定されると解釈されるべきではない。本明細書に開示する様々な実施形態は、記載および添付の図に具体的に提示する組み合わせとは異なる組み合わせで、組み合わせてもよいことは理解されるべきである。実施例によって、本明細書に記載するプロセスもしくは方法のいずれのある特定の行為または事象は、異なる順番で行われてもよく、追加、統合、または完全に省略してもよいことも理解されるべきである(例えば、記載したすべての行為または事象は、方法またはプロセスを実施するのに必要ではない場合がある)。加えて、本明細書の実施形態のある特定の特徴を、明確にするために、単一の構成要素、モジュール、またはユニットにより行われていると記載しているものの、本明細書に記載する特徴および機能は、構成要素、モジュール、またはユニットのいかなる組み合わせによって行われてもよいことは理解されるべきである。したがって、添付の特許請求の範囲で定義されるような、発明の趣旨または範囲から逸脱することなく、様々な変更および修正を当業者が及ぼしてもよい。
Claims (20)
- エンドエフェクタ装置を有するロボット、およびカメラ視野を有するカメラと通信するように構成された、通信インターフェースと、
少なくとも1つの処理回路と、を備え、
前記少なくとも1つの処理回路は、可撓性の物体が前記カメラ視野内にあるとき、
前記可撓性の物体に関連付けられた物体表面を表す画像情報であって、前記カメラによって生成された画像情報を受信することと、
定義された平滑性条件を満たす前記物体表面の表面領域であって、定義された領域サイズの閾値以上である領域サイズを有する前記物体表面の表面領域を、前記画像情報に基づいてグリップ領域として識別することと、
1つ以上の水平寸法で前記グリップ領域を囲む三次元(3D)領域であって、前記1つ以上の水平寸法に対して垂直な垂直寸法に沿って前記グリップ領域から延在する三次元(3D)領域を、安全領域として識別することと、
前記グリップ領域および前記安全領域に基づいて、前記エンドエフェクタ装置によって前記グリップ領域で前記可撓性の物体を掴むためのロボット運動計画を実施することと、
を行うように構成された、計算システム。 - 前記定義された領域サイズの閾値が、前記エンドエフェクタ装置と前記可撓性の物体との間の接触に関連付けられる定義された接触領域サイズであり、その結果、前記グリップ領域が、前記定義された接触領域サイズを有する接触領域と適合するのに十分な大きさである、請求項1に記載の計算システム。
- 前記定義された領域サイズの閾値が、エンドエフェクタ吸引カップに関連付けられる定義された吸引カップサイズである、請求項2に記載の計算システム。
- 前記定義された領域サイズの閾値が、前記可撓性の物体に関連付けられる定義された物体サイズである、請求項1に記載の計算システム。
- 前記可撓性の物体が厚さ寸法、および前記厚さ寸法に対して垂直な横方向寸法を有する場合、
前記少なくとも1つの処理回路は、前記可撓性の物体の前記横方向寸法に関連付けられる定義された横方向寸法サイズに基づいて、前記安全領域のエッジを決定するように構成されている、請求項1に記載の計算システム。 - 前記可撓性の物体が、それぞれ異なる横方向寸法サイズを有する、前記カメラ視野内にある可撓性の物体のグループのうちの1つである場合、
前記少なくとも1つの処理回路は、前記異なる横方向寸法サイズの最大横方向寸法サイズに基づいて、前記安全領域のエッジを決定するように構成されている、請求項1に記載の計算システム。 - 前記可撓性の物体が持ち上げられている際に弛む物体である場合、
前記少なくとも1つの処理回路は、前記可撓性の物体に関連付けられる定義された横方向寸法サイズに基づいて、安全領域高さを決定するように構成されている、請求項1に記載の計算システム。 - 前記可撓性の物体が容器内に配置される場合、
前記少なくとも1つの処理回路は、
前記物体表面の前記グリップ領域が前記エンドエフェクタ装置によって移動する際に沿う軌道を生成することと、
前記安全領域が前記軌道に沿って前記グリップ領域に追従しているときに、前記軌道が前記安全領域を前記容器の一部分と重複させるかどうかを決定することと、
前記軌道が前記安全領域を前記容器の一部分と重複させるとの決定に応答して、調整された軌道を生成することであって、前記調整された軌道が、前記安全領域が前記調整された軌道に沿って前記グリップ領域に追従しているときに、前記安全領域を前記容器と重複するのを回避させることと、
によって、前記ロボット運動計画を実施するように構成されている、請求項7に記載の計算システム。 - 前記画像情報が容器内の1つ以上の表面上の位置の奥行き情報を記述する点群を含む場合、
前記少なくとも1つの処理回路は、(i)容器壁に関連付けられる位置、または(ii)前記1つ以上の水平寸法のうちの1つの水平寸法に沿って定義された横方向寸法サイズだけ前記グリップ領域から延在する位置、のうちの少なくとも1つまで、前記1つ以上の水平寸法で延在する領域として、前記安全領域を識別するように構成されている、請求項1に記載の計算システム。 - 前記画像情報が前記カメラ視野内の複数の位置の奥行き情報を記述する場合、
前記少なくとも1つの処理回路は、
前記複数の位置のそれぞれのサブセットを近似する複数の二次元(2D)パッチであって、前記物体表面を表す複数の2Dパッチを決定することと、
前記複数の2Dパッチの中から、定義された配向類似性基準および定義された奥行き類似性基準を満たす、連続的な2Dパッチのセットを識別することと、
によって、前記グリップ領域を識別するように構成されており、
前記グリップ領域として識別された前記表面領域が、前記連続的な2Dパッチのセットによって形成されるか、または前記連続的な2Dパッチのセット内に適合しており、
前記表面領域について前記定義された平滑性条件を満たすことが、前記連続的な2Dパッチのセットについての前記定義された配向類似性基準および前記定義された奥行き類似性基準を満たす、請求項1に記載の計算システム。 - 前記グリップ領域が、定義された領域形状を有していると共に、前記連続的な2Dパッチのセット内に適合している、請求項10に記載の計算システム。
- 前記少なくとも1つの処理回路が、
1つ以上の2Dパッチの初期セットを識別することと、
前記1つ以上の2Dパッチの初期セットを、前記連続的な2Dパッチのセットに拡張することと、
によって、前記連続的な2Dパッチのセットを識別するように構成されている、請求項10に記載の計算システム。 - 前記1つ以上の2Dパッチの初期セットが、前記複数の2Dパッチのうちの第1の2Dパッチを含み、
前記少なくとも1つの処理回路が、
前記第1の2Dパッチに対して垂直なベクトルである第1の法線ベクトルを決定することと、
前記複数の2Dパッチの中から、前記第1の2Dパッチと連続し、かつ、前記1つ以上の2Dパッチの初期セットの中にない第2の2Dパッチを識別することと、
前記第2の2Dパッチに対して垂直なベクトルである第2の法線ベクトルを決定することと、
(i)前記第1の法線ベクトルに対して平行な軸に沿った、前記第1の2Dパッチから前記第2の2Dパッチまでの第1の距離、または(ii)前記第2の法線ベクトルに対して平行な軸に沿った、前記第2の2Dパッチから前記第1の2Dパッチまでの第2の距離、のうちの少なくとも1つを決定することと、
前記第1の法線ベクトルおよび前記第2の法線ベクトルが、前記定義された配向類似性基準を満たすかどうかを決定することと、
前記第1の距離または前記第2の距離のうちの少なくとも1つが、前記定義された奥行き類似性基準を満たすかどうかを決定することと、
前記第1の法線ベクトルおよび前記第2の法線ベクトルが前記定義された配向類似性基準を満たすという決定、および前記第1の距離または前記第2の距離のうちの少なくとも1つが前記定義された奥行き類似性基準を満たすという決定に応答して、前記第2の2Dパッチを、前記初期セットに追加して、2Dパッチの拡張されたセットを生成することであって、前記拡張されたセットが、前記連続的な2Dパッチのセットを形成するか、または前記連続的な2Dパッチのセットの一部を形成することと、
によって、前記1つ以上の2Dパッチの初期セットを、前記連続的な2Dパッチのセットに拡張するように構成されている、請求項12に記載の計算システム。 - 前記少なくとも1つの処理回路が、
前記複数の2Dパッチの一部である2Dパッチであって、前記2Dパッチの拡張されたセットに現在ない2Dパッチの中から、(i)前記拡張されたセットの中に現在ある2Dパッチと連続し、かつ、(ii)前記拡張されたセットの中で前記2Dパッチに関して前記定義された配向類似性基準および定義された奥行き類似性基準を満たしている、1つ以上の残りの2Dパッチを検索することと、
前記1つ以上の残りの2Dパッチを前記拡張されたセットに追加することによって、前記拡張されたセットを更新することと、
を行うようにさらに構成されている、請求項13に記載の計算システム。 - 前記少なくとも1つの処理回路が、前記1つ以上の2Dパッチの初期セットに、前記画像情報によって表される前記複数の位置の中から最も平滑な位置または位置のグループを表す、前記複数の2Dパッチのうちの1つの2Dパッチを含むように構成されている、請求項12に記載の計算システム。
- 前記少なくとも1つの処理回路が、前記画像情報によって表されるそれぞれの位置で、1つ以上の物体表面にわたって、それぞれの平滑性の度合いを示す複数の平滑性スコアを決定するように構成されており、
前記1つ以上の2Dパッチの初期セットに含まれる前記2Dパッチが、前記複数の平滑性スコアの中で最も高い平滑性スコアを有する位置を表す、請求項15に記載の計算システム。 - 命令を有する非一時的コンピュータ可読媒体であって、
前記命令は、計算システムの処理回路によって実行されるとき、前記処理回路に、
前記計算システムの前記少なくとも1つの処理回路によって画像情報を受信することであって、前記計算システムが、(i)エンドエフェクタ装置を有するロボット、および(ii)カメラ視野を有するカメラと通信するように構成されており、前記画像情報が、前記カメラ視野内の可撓性の物体に関連付けられた物体表面を表すためのものであり、かつ、前記カメラによって生成されることと、
定義された平滑性条件を満たす前記物体表面の表面領域であって、定義された領域サイズの閾値以上である領域サイズを有する前記物体表面の表面領域を、前記画像情報に基づいてグリップ領域として識別することと、
1つ以上の水平寸法で前記グリップ領域を囲む三次元(3D)領域であって、前記1つ以上の水平寸法に対して垂直な垂直寸法に沿って前記グリップ領域から延在する三次元(3D)領域を、安全領域として識別することと、
前記グリップ領域および前記安全領域に基づいて、前記エンドエフェクタ装置によって前記グリップ領域で前記可撓性の物体を掴むためのロボット運動計画を実施することと、を行わせる、非一時的コンピュータ可読媒体。 - 前記定義された領域サイズの閾値が、前記エンドエフェクタ装置と前記可撓性の物体との間の接触に関連付けられる定義された接触領域サイズであり、その結果、前記グリップ領域が、前記定義された接触領域サイズを有する接触領域と適合するのに十分な大きさである、請求項17に記載の非一時的コンピュータ可読媒体。
- 前記少なくとも1つの処理回路によって実行された場合であって、かつ、前記可撓性の物体が持ち上げられている際に弛む物体である場合、前記命令は、前記処理回路に、前記可撓性の物体に関連付けられる定義された横方向寸法サイズに基づいて、安全領域高さを決定させる、請求項17に記載の非一時的コンピュータ可読媒体。
- 計算システムによって行われる方法であって、
前記計算システムによって画像情報を受信することであって、前記計算システムが、(i)エンドエフェクタ装置を有するロボット、および(ii)カメラ視野を有するカメラと通信するように構成されており、前記画像情報が、前記カメラ視野内の可撓性の物体に関連付けられた物体表面を表すためのものであり、かつ、前記カメラによって生成されることと、
定義された平滑性条件を満たす前記物体表面の表面領域であって、定義された領域サイズの閾値以上である領域サイズを有する前記物体表面の表面領域を、前記画像情報に基づいてグリップ領域として識別することと、
1つ以上の水平寸法で前記グリップ領域を囲む三次元(3D)領域であって、前記1つ以上の水平寸法に対して垂直な垂直寸法に沿って前記グリップ領域から延在する三次元(3D)領域を、安全領域として識別することと、
前記グリップ領域および前記安全領域に基づいて、前記エンドエフェクタ装置によって前記グリップ領域で前記可撓性の物体を掴むためのロボット運動計画を実施することと、を含む、方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/193,268 US11911919B2 (en) | 2021-03-05 | 2021-03-05 | Method and computing system for performing grip region detection |
US17/193,268 | 2021-03-05 | ||
JP2021078864A JP6948033B1 (ja) | 2021-03-05 | 2021-05-07 | グリップ領域検出を実施するための方法および計算システム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021078864A Division JP6948033B1 (ja) | 2021-03-05 | 2021-05-07 | グリップ領域検出を実施するための方法および計算システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022135882A true JP2022135882A (ja) | 2022-09-15 |
JP2022135882A5 JP2022135882A5 (ja) | 2024-06-04 |
Family
ID=78001303
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021078864A Active JP6948033B1 (ja) | 2021-03-05 | 2021-05-07 | グリップ領域検出を実施するための方法および計算システム |
JP2021145336A Pending JP2022135882A (ja) | 2021-03-05 | 2021-09-07 | グリップ領域検出を実施するための方法および計算システム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021078864A Active JP6948033B1 (ja) | 2021-03-05 | 2021-05-07 | グリップ領域検出を実施するための方法および計算システム |
Country Status (3)
Country | Link |
---|---|
US (2) | US11911919B2 (ja) |
JP (2) | JP6948033B1 (ja) |
CN (1) | CN115008451A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3170703A1 (en) | 2020-02-06 | 2021-08-12 | Berkshire Grey Operating Company, Inc. | Systems and methods for camera calibration with a fiducial of unknown position on an articulated arm of a programmable motion device |
DE102022123762A1 (de) * | 2022-09-16 | 2024-03-21 | Haver & Boecker Ohg | Verfahren zum Greifen und Überführen wenigstens einer Einzeleinheit und Verwendung eines Systems |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4153528B2 (ja) * | 2006-03-10 | 2008-09-24 | ファナック株式会社 | ロボットシミュレーションのための装置、プログラム、記録媒体及び方法 |
EP2660011B1 (en) * | 2010-12-31 | 2015-02-18 | Fundacion Tecnalia Research & Innovation | Gripping device for manipulating flexible elements |
DE102014001168B4 (de) | 2014-01-31 | 2019-03-14 | Abb Schweiz Ag | Robotersteuerung |
US9669543B1 (en) * | 2015-12-11 | 2017-06-06 | Amazon Technologies, Inc. | Validation of robotic item grasping |
JP7136554B2 (ja) | 2017-12-18 | 2022-09-13 | 国立大学法人信州大学 | 把持装置、学習装置、プログラム、把持システム、及び学習方法 |
CN111275063B (zh) | 2018-12-04 | 2023-06-09 | 深圳市中科德睿智能科技有限公司 | 一种基于3d视觉的机器人智能抓取控制方法及系统 |
CN109483554B (zh) | 2019-01-22 | 2020-05-12 | 清华大学 | 基于全局和局部视觉语义的机器人动态抓取方法及系统 |
CN209755189U (zh) | 2019-03-05 | 2019-12-10 | 西安工程大学 | 一种柔软织物机械手抓取装置 |
US10399227B1 (en) | 2019-03-29 | 2019-09-03 | Mujin, Inc. | Method and control system for verifying and updating camera calibration for robot control |
US11813758B2 (en) * | 2019-04-05 | 2023-11-14 | Dexterity, Inc. | Autonomous unknown object pick and place |
JP7120153B2 (ja) | 2019-05-21 | 2022-08-17 | トヨタ自動車株式会社 | ワーク識別方法 |
KR20190090743A (ko) * | 2019-07-15 | 2019-08-02 | 엘지전자 주식회사 | 로봇 및 이를 포함하는 의류 폴딩 장치 |
US10954081B1 (en) * | 2019-10-25 | 2021-03-23 | Dexterity, Inc. | Coordinating multiple robots to meet workflow and avoid conflict |
-
2021
- 2021-03-05 US US17/193,268 patent/US11911919B2/en active Active
- 2021-05-07 JP JP2021078864A patent/JP6948033B1/ja active Active
- 2021-06-09 CN CN202110640097.2A patent/CN115008451A/zh active Pending
- 2021-09-07 JP JP2021145336A patent/JP2022135882A/ja active Pending
-
2024
- 2024-02-23 US US18/586,006 patent/US20240190011A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115008451A (zh) | 2022-09-06 |
JP2022135849A (ja) | 2022-09-15 |
JP6948033B1 (ja) | 2021-10-13 |
US20220281114A1 (en) | 2022-09-08 |
US11911919B2 (en) | 2024-02-27 |
US20240190011A1 (en) | 2024-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11288810B2 (en) | Robotic system with automated package registration mechanism and methods of operating the same | |
US11103998B2 (en) | Method and computing system for performing motion planning based on image information generated by a camera | |
JP7349094B2 (ja) | ピースロス管理メカニズムを有するロボットシステム | |
US20240190011A1 (en) | Method and computing system for performing grip region detection | |
US11285603B2 (en) | Information processing apparatus, control method, robot system, and storage medium | |
JP2020168710A (ja) | ロボットシステム、ロボットシステムの方法及び非一時的コンピュータ可読媒体 | |
JP7201189B2 (ja) | 物体サイズ検出のためのロボットシステム | |
JP2023154055A (ja) | ロボット多面グリッパアセンブリ及びその操作方法 | |
JP2023024980A (ja) | 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法 | |
JP7264247B2 (ja) | 情報処理装置及び情報処理方法 | |
CN113459101B (zh) | 用于执行抓持区域检测的方法和计算系统 | |
JP7408107B2 (ja) | 物体取り扱いを伴うロボットシステムのためのシステム及び方法 | |
JP7286524B2 (ja) | ピッキングロボット、ピッキング方法及びプログラム | |
JP7398763B2 (ja) | 重なり処理機構を備えたロボットシステム及びその操作方法 | |
CN116551672A (zh) | 用于具有物体处置能力的机器人系统的系统和方法 | |
EP4395965A1 (en) | Robotic system with overlap processing mechanism and methods for operating the same | |
GB2624698A (en) | Methods and control systems for controlling a robotic manipulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240501 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240527 |