(57)【特許請求の範囲】
【請求項１】
エンドエフェクタ装置を有するロボット、およびカメラ視野を有するカメラと通信するように構成された、通信インターフェースと、
少なくとも１つの処理回路と、を備え、
前記少なくとも１つの処理回路は、可撓性の物体が前記カメラ視野内にあるとき、
前記可撓性の物体に関連付けられた物体表面を表す画像情報であって、前記カメラによって生成された画像情報を受信することと、
定義された平滑性条件を満たす前記物体表面の表面領域であって、定義された領域サイズの閾値以上である領域サイズを有する前記物体表面の表面領域を、前記画像情報に基づいてグリップ領域として識別することと、
１つ以上の水平寸法で前記グリップ領域を囲む三次元（３Ｄ）領域であって、前記１つ以上の水平寸法に対して垂直な垂直寸法に沿って前記グリップ領域から延在する三次元（３Ｄ）領域を、安全領域として識別することと、
前記グリップ領域および前記安全領域に基づいて、前記エンドエフェクタ装置によって前記グリップ領域で前記可撓性の物体を掴むためのロボット運動計画を実施することと、
を行うように構成され、
前記定義された平滑性条件を満たすことは、前記表面領域が十分に平滑であり、前記表面領域と前記エンドエフェクタ装置との間にシールを形成することを可能とし、且つ、前記エンドエフェクタ装置が前記グリップ領域で前記可撓性の物体を掴むのに当該シールを十分に密なものとすることを可能とすることを示す、計算システム。
【請求項２】
前記定義された領域サイズの閾値が、前記エンドエフェクタ装置と前記可撓性の物体との間の接触に関連した定義された接触領域サイズであり、その結果、前記グリップ領域が、前記定義された接触領域サイズを有する接触領域を包含する、請求項１に記載の計算システム。
【請求項３】
前記定義された領域サイズの閾値が、エンドエフェクタ吸引カップに関連した定義された吸引カップサイズである、請求項２に記載の計算システム。
【請求項４】
前記定義された領域サイズの閾値が、前記可撓性の物体に関連した定義された物体サイズである、請求項１に記載の計算システム。
【請求項５】
前記可撓性の物体が厚さ寸法、および前記厚さ寸法に対して垂直な横方向寸法を有する場合、
前記少なくとも１つの処理回路は、前記可撓性の物体の前記横方向寸法の定義された横方向寸法サイズに基づいて、前記安全領域のエッジを決定するように構成されている、請求項１に記載の計算システム。
【請求項６】
前記可撓性の物体が、それぞれ異なる横方向寸法サイズを有する、前記カメラ視野内にある可撓性の物体のグループのうちの１つである場合、
前記少なくとも１つの処理回路は、前記異なる横方向寸法サイズの最大横方向寸法サイズに基づいて、前記安全領域のエッジを決定するように構成されている、請求項１に記載の計算システム。
【請求項７】
前記可撓性の物体が持ち上げられている際に弛む物体である場合、
前記少なくとも１つの処理回路は、前記可撓性の物体に関連した定義された横方向寸法サイズに基づいて、安全領域高さを決定するように構成されている、請求項１に記載の計算システム。
【請求項８】
前記可撓性の物体が容器内に配置される場合、
前記少なくとも１つの処理回路は、
前記物体表面の前記グリップ領域が前記エンドエフェクタ装置によって移動する際に沿う軌道を生成することと、
前記安全領域が前記軌道に沿って前記グリップ領域に追従しているときに、前記軌道が前記安全領域を前記容器の一部分と重複させるかどうかを決定することと、
前記軌道が前記安全領域を前記容器の一部分と重複させるとの決定に応答して、調整された軌道を生成することであって、前記調整された軌道が、前記安全領域が前記調整された軌道に沿って前記グリップ領域に追従しているときに、前記安全領域を前記容器と重複するのを回避させることと、
によって、前記ロボット運動計画を実施するように構成されている、請求項７に記載の計算システム。
【請求項９】
前記画像情報が容器内の１つ以上の表面上の位置の奥行き情報を記述する点群を含む場合、
前記少なくとも１つの処理回路は、（ｉ）容器壁に関連付けられる位置、または（ｉｉ）前記１つ以上の水平寸法のうちの１つの水平寸法に沿って定義された横方向寸法サイズだけ前記グリップ領域から延在する位置、のうちの少なくとも１つまで、前記１つ以上の水平寸法で延在する領域として、前記安全領域を識別するように構成されている、請求項１に記載の計算システム。
【請求項１０】
前記画像情報が前記カメラ視野内の複数の位置の奥行き情報を記述する場合、
前記少なくとも１つの処理回路は、
前記複数の位置のそれぞれのサブセットを近似する複数の二次元（２Ｄ）パッチであって、前記物体表面を表す複数の２Ｄパッチを決定することと、
前記複数の２Ｄパッチの中から、定義された配向類似性基準および定義された奥行き類似性基準を満たす、連続的な２Ｄパッチのセットを識別することと、
によって、前記グリップ領域を識別するように構成されており、
前記定義された配向類似性基準を満たすことは、前記２Ｄパッチの法線ベクトルが互いに十分に類似していて、当該２Ｄパッチが、前記十分に密なシールが形成されることを可能とする前記十分に平滑である表面領域を形成できることを示し、
前記定義された奥行き類似性基準を満たすことは、隣接する２Ｄパッチ間の奥行き寸法に沿った１つ以上の距離が十分に小さくて、当該隣接する２Ｄパッチが、前記十分に密なシールが形成されることを可能とする前記十分に平滑である表面領域を形成できることを示し、
前記グリップ領域として識別された前記表面領域が、前記連続的な２Ｄパッチのセットによって形成されるか、または前記連続的な２Ｄパッチのセット内に適合しており、
前記表面領域について前記定義された平滑性条件を満たすことが、前記連続的な２Ｄパッチのセットについての前記定義された配向類似性基準および前記定義された奥行き類似性基準を満たす、請求項１に記載の計算システム。
【請求項１１】
前記グリップ領域が、定義された領域形状を有していると共に、前記連続的な２Ｄパッチのセット内に適合している、請求項１０に記載の計算システム。
【請求項１２】
前記少なくとも１つの処理回路が、
１つ以上の２Ｄパッチの初期セットを識別することと、
前記１つ以上の２Ｄパッチの初期セットを、前記連続的な２Ｄパッチのセットに拡張することと、
によって、前記連続的な２Ｄパッチのセットを識別するように構成されている、請求項１０に記載の計算システム。
【請求項１３】
前記１つ以上の２Ｄパッチの初期セットが、前記複数の２Ｄパッチのうちの第１の２Ｄパッチを含み、
前記少なくとも１つの処理回路が、
前記第１の２Ｄパッチに対して垂直なベクトルである第１の法線ベクトルを決定することと、
前記複数の２Ｄパッチの中から、前記第１の２Ｄパッチと連続し、かつ、前記１つ以上の２Ｄパッチの初期セットの中にない第２の２Ｄパッチを識別することと、
前記第２の２Ｄパッチに対して垂直なベクトルである第２の法線ベクトルを決定することと、
（ｉ）前記第１の法線ベクトルに対して平行な軸に沿った、前記第１の２Ｄパッチから前記第２の２Ｄパッチまでの第１の距離、または（ｉｉ）前記第２の法線ベクトルに対して平行な軸に沿った、前記第２の２Ｄパッチから前記第１の２Ｄパッチまでの第２の距離、のうちの少なくとも１つを決定することと、
前記第１の法線ベクトルおよび前記第２の法線ベクトルが、前記定義された配向類似性基準を満たすかどうかを決定することと、
前記第１の距離または前記第２の距離のうちの少なくとも１つが、前記定義された奥行き類似性基準を満たすかどうかを決定することと、
前記第１の法線ベクトルおよび前記第２の法線ベクトルが前記定義された配向類似性基準を満たすという決定、および前記第１の距離または前記第２の距離のうちの少なくとも１つが前記定義された奥行き類似性基準を満たすという決定に応答して、前記第２の２Ｄパッチを、前記初期セットに追加して、２Ｄパッチの拡張されたセットを生成することであって、前記拡張されたセットが、前記連続的な２Ｄパッチのセットを形成するか、または前記連続的な２Ｄパッチのセットの一部を形成することと、
によって、前記１つ以上の２Ｄパッチの初期セットを、前記連続的な２Ｄパッチのセットに拡張するように構成されている、請求項１２に記載の計算システム。
【請求項１４】
前記少なくとも１つの処理回路が、
前記複数の２Ｄパッチの一部である２Ｄパッチであって、前記２Ｄパッチの拡張されたセットに現在ない２Ｄパッチの中から、（ｉ）前記拡張されたセットの中に現在ある２Ｄパッチと連続し、かつ、（ｉｉ）前記拡張されたセットの中で前記２Ｄパッチに関して前記定義された配向類似性基準および定義された奥行き類似性基準を満たしている、１つ以上の残りの２Ｄパッチを検索することと、
前記１つ以上の残りの２Ｄパッチを前記拡張されたセットに追加することによって、前記拡張されたセットを更新することと、
を行うようにさらに構成されている、請求項１３に記載の計算システム。
【請求項１５】
前記少なくとも１つの処理回路が、前記１つ以上の２Ｄパッチの初期セットに、前記画像情報によって表される前記複数の位置の中から最も平滑な位置または位置のグループを表す、前記複数の２Ｄパッチのうちの１つの２Ｄパッチを含むように構成されている、請求項１２に記載の計算システム。
【請求項１６】
前記少なくとも１つの処理回路が、前記画像情報によって表されるそれぞれの位置で、１つ以上の物体表面にわたって、それぞれの平滑性の度合いを示す複数の平滑性スコアを決定するように構成されており、
前記１つ以上の２Ｄパッチの初期セットに含まれる前記２Ｄパッチが、前記複数の平滑性スコアの中で最も高い平滑性スコアを有する位置を表す、請求項１５に記載の計算システム。
【請求項１７】
命令を有する非一時的コンピュータ可読媒体であって、
前記命令は、計算システムの処理回路によって実行されるとき、前記処理回路に、
前記計算システムの前記少なくとも１つの処理回路によって画像情報を受信することであって、前記計算システムが、（ｉ）エンドエフェクタ装置を有するロボット、および（ｉｉ）カメラ視野を有するカメラと通信するように構成されており、前記画像情報が、前記カメラ視野内の可撓性の物体の物体表面を表すためのものであり、かつ、前記カメラによって生成されることと、
定義された平滑性条件を満たす前記物体表面の表面領域であって、定義された領域サイズの閾値以上である領域サイズを有する前記物体表面の表面領域を、前記画像情報に基づいてグリップ領域として識別することと、
１つ以上の水平寸法で前記グリップ領域を囲む三次元（３Ｄ）領域であって、前記１つ以上の水平寸法に対して垂直な垂直寸法に沿って前記グリップ領域から延在する三次元（３Ｄ）領域を、安全領域として識別することと、
前記グリップ領域および前記安全領域に基づいて、前記エンドエフェクタ装置によって前記グリップ領域で前記可撓性の物体を掴むためのロボット運動計画を実施することと、を行わせ、
前記定義された平滑性条件を満たすことは、前記表面領域が十分に平滑であり、前記表面領域と前記エンドエフェクタ装置との間にシールを形成することを可能とし、且つ、前記エンドエフェクタ装置が前記グリップ領域で前記可撓性の物体を掴むのに当該シールを十分に密なものとすることを可能とすることを示す、非一時的コンピュータ可読媒体。
【請求項１８】
前記定義された領域サイズの閾値が、前記エンドエフェクタ装置と前記可撓性の物体との間の接触に関連した定義された接触領域サイズであり、その結果、前記グリップ領域が、前記定義された接触領域サイズを有する接触領域を包含する、請求項１７に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記少なくとも１つの処理回路によって実行された場合であって、かつ、前記可撓性の物体が持ち上げられている際に弛む物体である場合、前記命令は、前記処理回路に、前記可撓性の物体に関連した定義された横方向寸法サイズに基づいて、安全領域高さを決定させる、請求項１７に記載の非一時的コンピュータ可読媒体。
【請求項２０】
計算システムによって行われる方法であって、
前記計算システムによって画像情報を受信することであって、前記計算システムが、（ｉ）エンドエフェクタ装置を有するロボット、および（ｉｉ）カメラ視野を有するカメラと通信するように構成されており、前記画像情報が、前記カメラ視野内の可撓性の物体の物体表面を表すためのものであり、かつ、前記カメラによって生成されることと、
定義された平滑性条件を満たす前記物体表面の表面領域であって、定義された領域サイズの閾値以上である領域サイズを有する前記物体表面の表面領域を、前記画像情報に基づいてグリップ領域として識別することと、
１つ以上の水平寸法で前記グリップ領域を囲む三次元（３Ｄ）領域であって、前記１つ以上の水平寸法に対して垂直な垂直寸法に沿って前記グリップ領域から延在する三次元（３Ｄ）領域を、安全領域として識別することと、
前記グリップ領域および前記安全領域に基づいて、前記エンドエフェクタ装置によって前記グリップ領域で前記可撓性の物体を掴むためのロボット運動計画を実施することと、を含み、
前記定義された平滑性条件を満たすことは、前記表面領域が十分に平滑であり、前記表面領域と前記エンドエフェクタ装置との間にシールを形成することを可能とし、且つ、前記エンドエフェクタ装置が前記グリップ領域で前記可撓性の物体を掴むのに当該シールを十分に密なものとすることを可能とすることを示す、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、可撓性の物体などの、グリップ領域検出を実施するための計算システムおよび方法に関する。
【背景技術】
【０００２】
自動化がより一般的になるに従い、倉庫保管および小売環境など、より多くの環境においてロボットが使用されている。例えば、ロボットは、倉庫の中にある物体と相互作用するように使用され得る。ロボットの動作は、一定であってもよく、または倉庫の中のセンサーによって生成された情報などの、入力に基づいてもよい。
【発明の概要】
【０００３】
本開示の一態様は、計算システムと、方法と、計算システムによって実行されて方法を実施させ得る命令を有する非一時的コンピュータ可読媒体と、に関する。システムは、通信インターフェースおよび少なくとも１つの処理回路を含み得る。通信インターフェースは、エンドエフェクタ装置を有するロボット、およびカメラ視野を有するカメラと通信するように構成される。少なくとも１つの処理回路は、可撓性の物体がカメラ視野の中にあるとき、方法を実施するように構成される。方法は、可撓性の物体に関連付けられた物体表面を表す画像情報を受信することを含んでもよく、画像情報は、カメラによって生成される。方法は、定義された平滑性条件を満たし、かつ定義された領域サイズの閾値以上である領域サイズを有する、物体表面の表面領域を、画像情報に基づいてグリップ領域として識別することをさらに含んでもよい。方法は、１つ以上の水平寸法でグリップ領域を囲みかつ１つ以上の水平寸法に対して垂直な垂直寸法に沿ってグリップ領域から延在する三次元（３Ｄ）領域を、安全領域として識別することをさらに含み得る。方法は、さらに、グリップ領域および安全領域に基づいて、エンドエフェクタ装置によってグリップ領域で可撓性の物体を掴むためのロボット運動計画を実施することを含んでもよい。
【図面の簡単な説明】
【０００４】
【図１Ａ】本明細書の実施形態と合致する、グリップ領域検出を実施するためのシステムを示す。
【図１Ｂ】本明細書の実施形態と合致する、グリップ領域検出を実施するためのシステムを示す。
【図１Ｃ】本明細書の実施形態と合致する、グリップ領域検出を実施するためのシステムを示す。
【図１Ｄ】本明細書の実施形態と合致する、グリップ領域検出を実施するためのシステムを示す。
【図２Ａ】本明細書の実施形態と合致する、グリップ領域検出を行うために構成された計算システムを示すブロック図を提供する。
【図２Ｂ】本明細書の実施形態と合致する、グリップ領域検出を行うために構成された計算システムを示すブロック図を提供する。
【図２Ｃ】本明細書の実施形態と合致する、グリップ領域検出を行うために構成された計算システムを示すブロック図を提供する。
【図３Ａ】本明細書の実施形態による、グリップ領域検出が行われ得る環境を示す。
【図３Ｂ】本明細書の実施形態による、グリップ領域検出が行われ得る環境を示す。
【図３Ｃ】本明細書の実施形態による、グリップ領域検出が行われ得る環境を示す。
【図４】本明細書の実施形態による、グリップ領域および安全領域を識別する方法を示す流れ図を提供する。
【図５Ａ】本明細書の実施形態による、グリップ領域および／または安全領域が識別され得る例示の画像情報を示す。
【図５Ｂ】本明細書の実施形態による、グリップ領域および／または安全領域が識別され得る例示の画像情報を示す。
【図６】本明細書の実施形態による、グリップ領域として識別され得る表面領域を示す。
【図７Ａ】本明細書の実施形態による、グリップ領域として識別され得る表面領域を示す。
【図７Ｂ】本明細書の実施形態による、グリップ領域として識別され得る表面領域を示す。
【図８Ａ−８Ｇ】図８Ａ〜図８Ｇは、本明細書の実施形態による、グリップ領域を識別する様々な態様を示す。
【図９Ａ−９Ｂ】図９Ａおよび図９Ｂは、本明細書の実施形態による、グリップ領域を識別する様々な態様を示す。
【図１０】本明細書の実施形態による、安全領域として識別される３Ｄ領域を示す。
【図１１Ａ−１１Ｂ】図１１Ａおよび図１１Ｂは、本明細書の実施形態による、安全領域を識別する様々な態様を示す。
【図１２Ａ−１２Ｂ】図１２Ａおよび図１２Ｂは、本明細書の実施形態による、安全領域または安全領域に基づく運動計画を識別する様々な態様を示す。
【発明を実施するための形態】
【０００５】
本開示の一態様は、物体を掴むためのグリップ領域および／または安全領域の識別に関する。また、ピック可能領域とも呼ばれ得るグリップ領域を使用して、ロボットが物体をピックアップするか、または他の方法で掴むことを容易にすることができる。また、安全ボリュームとも呼ばれ得る安全領域を使用して、衝突のリスクが低減された物体の軌道を決定することができる。一実施例では、物体は、倉庫または小売空間の中のパッケージであってもよく、またグリップ領域および／または安全領域は、ロボットを制御して物体を掴み、物体を目的位置へ移動させるプロセスを促進するために識別されてもよい。
【０００６】
実施形態では、物体をピックアップするためのグリップ領域を識別することは、物体の表面上の十分に滑らかであり、かつ十分に大きな表面領域を、グリップ領域として識別することを伴い得る。グリップ領域は、カメラによって生成される画像情報から識別される表面領域であってもよく、画像情報は、グリップされる物体を含むシーンを表し得る。この実施形態における表面領域は、ロボットのエンドエフェクタ装置が係合および掴むための好適な候補領域を提供し得る。一部の実例では、ロボットは、例えば、物体の表面に対して押し付けられる、またはそうでなければ物体の表面と接触するように構成された１つ以上の吸引カップを有する、エンドエフェクタ装置を含み得る。１つ以上の吸引カップは、物体の表面と１つ以上の吸引カップとの間に十分な接触がある場合に、物体の表面との接着性を作り出すことができる。一部の実例では、掴まれる物体は、衣服のパッケージなどの可撓性の物体であってもよい。より具体的には、パッケージは、プラスチックまたは他の包装材料のシートで包まれた衣服の１点を含み得る。こうした可撓性の物体は、可撓性の物体の１つ以上の部分が、その環境内で可撓性の物体がどのように物理的に配設されるかの結果として、１つ以上の非平滑部分を一時的に形成することを可能にし得る、十分に軟質であってもよく、または他には変形可能であってもよい。非平滑部分は、例えば、隆起、しわ、畝、陥凹、または可撓性の物体の表面のそれぞれの局所部分に非平滑性を導入する他の物理的特徴を含み得る。物体の表面の非平滑部分は、エンドエフェクタ装置と物体の表面のその部分との間の可能な接触の量を減少させる場合があり、これは、それ自体と物体の表面のその部分との間の接着性を作り出すエンドエフェクタ装置の能力を妨げ得る。したがって、本明細書の実施形態の計算システムは、エンドエフェクタ装置が、それ自体とグリップ領域との間により確実に接着性を作り出すことができるように、十分に滑らかな表面領域をグリップ領域として識別することを試み得る。識別されたグリップ領域は、物体の表面と接触させるために使用されるエンドエフェクタ装置（例えば、吸引カップ）の構成要素に適合するのに十分な大きさとなるように、定義された領域サイズの閾値よりも大きくてもよい。
【０００７】
実施形態では、計算システムは、定義された平滑性条件を満たす表面領域を検索することによって、十分に平滑な表面領域を見つけるように試みてもよい。こうした状態は、十分に類似した配向および十分に類似した奥行きを有する表面領域の部分を伴い得る。例えば、計算システムは、以下でより詳細に考察されるように、１つ以上の物体表面を、２Ｄ平面とも呼ばれる複数の二次元（２Ｄ）パッチに分割し、定義された配向類似性基準および／または定義された奥行き類似性基準を満たす連続的な２Ｄパッチを検索し得る。
【０００８】
実施形態では、計算システムは、グリップ領域を、定義された平滑性条件を満たす連続的な２Ｄパッチのセットによって形成されるか、またはそのセット内に適合する表面領域として識別することを試み得る。一部の実装形態では、計算システムは、カメラによって生成された画像情報によって表されるシーン内の最も平滑な位置または位置のクラスタを表す、２Ｄパッチを識別し得る。計算システムは、２Ｄパッチをシードまたは初期２Ｄパッチとして使用してもよく、初期２Ｄパッチを連続的な２Ｄパッチのセット内に拡張することを試み得る。拡張動作は、初期２Ｄパッチを含む局所領域を定義し、定義された平滑性条件を満たす、追加の２Ｄパッチの検索を伴い得る。一部の実例では、計算システムは、定義された平滑性条件を満たす一方で、こうした拡張動作から形成され得る最大の局所領域を検索し得る。一部の実装形態では、グリップ領域は、連続的な２Ｄパッチのセットによって形成される、こうした局所領域であってもよい。一部の実装形態では、グリップ領域は、こうした局所領域内に適合するより小さな領域であってもよい。
【０００９】
実施形態では、計算システムは、１つ以上の水平寸法でグリップ領域を囲む三次元（３Ｄ）領域を、安全領域として決定し得る。一部の実例では、安全領域は、グリップ領域を垂直寸法で取り囲んでもよい。安全領域は、ロボットによって掴まれる物体と、ロボット環境内の他の物体または構造との間の衝突のリスクを低減するために、運動計画動作によって考慮され得る、グリップ領域の周りに安全マージンを画定し得る。一部の実例では、安全領域は、安全領域が１つ以上の水平寸法で安全領域を囲むときに、グリップ領域に関連付けられた物体を囲む可能性が高いように、十分に大きくてもよい。例えば、安全領域は、同じサイズを有する物体もしくは物体のグループに関連付けられた定義された横方向寸法サイズに基づいて、または異なるサイズを有する物体のグループに関連付けられた最大横方向寸法サイズに基づいて決定される、エッジを有してもよい。
【００１０】
実施形態では、計算システムによって、物体の横方向寸法サイズに基づく高さを有するように、安全領域を決定してもよい。こうした実施形態では、物体は、物体がロボットによって持ち上げられるときに、それ自体の重量で弛むほど十分に軟らかい可撓性の物体であってもよい。こうした実施形態では、安全領域の高さは、可撓性の物体の弛みを考慮してもよく、これは、可撓性の物体の弛み部分と、ロボットの環境中の他の構造または物体との間の衝突のリスクを低減するために、運動計画によって使用され得る。
【００１１】
図１Ａは、画像情報に基づいて、グリップ領域検出を実施するか、またはより具体的には、グリップ領域を識別する検出結果を生成するためのシステム１０００を示す。より詳細には、システム１０００は、計算システム１１００およびカメラ１２００を含み得る。この実施例では、カメラ１２００は、カメラ１２００が位置する環境を記述するか、もしくはそうでなければ表す、すなわちより具体的には、カメラ１２００の視野（カメラ視野とも呼ばれる）中の環境を表す、画像情報を生成するように構成され得る。環境は、例えば、倉庫、小売空間、またはいくつかの他の施設であってもよい。こうした実例では、画像情報は、こうした施設において保管および／または取り扱われる、衣服のパッケージまたはその他の可撓性の物体などの物体を表し得る。システム１０００が、以下でより詳細に考察されるように、画像情報に基づいてロボット運動計画を行うことによってなど、画像情報を生成、受信、および／または処理するように構成され得る。ロボット運動計画は、例えば、ロボットが元の位置から物体のうちの１つをピックアップするか、または物体のうちの１つを掴み、物体を目的位置へ移動させるロボットの相互作用などの、ロボットと物体との間のロボットの相互作用を促進するために、施設内でロボットを制御するために使用され得る。計算システム１１００およびカメラ１２００が、同じ施設に位置してもよく、または互いと遠隔に位置してもよい。例えば、計算システム１１００は、倉庫または小売空間から遠隔のデータセンターでホストされる、クラウドコンピューティングプラットフォームの一部であってもよく、ネットワーク接続を介して、カメラ１２００と通信してもよい。
【００１２】
実施形態では、カメラ１２００は、２Ｄカメラおよび／または３Ｄカメラであってもよい（用語「および／または」および「または」は、本開示では互換的に使用される）。例えば、図１Ｂは、計算システム１１００、ならびにカメラ１２００Ａおよびカメラ１２００Ｂ（その両方がカメラ１２００の実施形態であってもよい）を含む、システム１０００Ａ（システム１０００の実施形態であってもよい）を示す。この実施例では、カメラ１２００Ａは、カメラの視野中にある環境の視覚的外観の記述を記述する２Ｄ画像を含む、または形成する、２Ｄ画像情報を生成するように構成される、２Ｄカメラであってもよい。カメラ１２００Ｂは、カメラの視野中の環境に関する空間構造情報を含む、または形成する３Ｄ画像情報を生成するように構成される、３Ｄカメラ（空間構造感知カメラまたは空間構造感知デバイスとも呼ばれる）であってもよい。空間構造情報は、カメラ１２００の視野中にある様々な物体の表面上の位置など、カメラ１２００Ｂに対する様々な位置のそれぞれの奥行き値を記述する、奥行き情報を含んでもよい。この実施例の奥行き情報は、物体が三次元（３Ｄ）空間の中で空間的にどのように配設されているかを推定するために使用され得る。一部の実例では、空間構造情報は、カメラ１２００Ｂの視野中にある１つ以上の物体の表面（１つ以上の物体表面とも呼ばれる）上の位置を記述する、奥行きマップもしくは点群を含んでもよく、または奥行きマップもしくは点群を生成するために使用されてもよい。一部の実例では、空間構造情報が、物体の構造（物体構造とも呼ばれる）上の様々な位置を記述し得る。
【００１３】
実施形態では、システム１０００が、カメラ１２００の環境でロボットと様々な物体との間の相互作用を促進するための、ロボット操作システムであってもよい。例えば、図１Ｃは、図１Ａおよび図１Ｂのシステム１０００／１０００Ａの実施形態であり得る、ロボット操作システム１０００Ｂを示す。ロボット操作システム１０００Ｂは、計算システム１１００、カメラ１２００、およびロボット１３００を含んでもよい。上述のように、ロボット１３００は、カメラ１２００の環境の中にある１つ以上の物体、例えば、ビン内に配置された衣服のパッケージと相互作用するために使用され得る。例えば、ロボット１３００は、衣服の１点を有するパッケージをピックアップするか、またはそうでなければ掴み、パッケージをビンから上方に持ち上げ、およびパッケージをコンベヤベルト上の位置などの別の位置に移動させるように構成され得る。一部の実装形態では、カメラ１２００は、ロボット１３００のロボットアームなど、ロボット１３００に取り付けられてもよい。こうした実装形態によって、カメラ１２００をロボットアームを介して異なる位置および／または配向に移動させることができる。一部の実装形態では、カメラ１２００は、ロボット１３００から分離してもよい。例えば、カメラ１２００は、倉庫内の天井または他の構造に装着されてもよく、構造に対して静止したままであってもよい。
【００１４】
実施形態では、図１Ａ〜図１Ｃの計算システム１１００は、ロボット操作システム１０００Ｂの一部である、ロボット制御システム（ロボットコントローラとも呼ばれる）を形成しても、またはその一部であってもよい。ロボット制御システムは、例えば、ロボット１３００に対する動作コマンドまたは他のコマンドを生成するように構成される、システムであってもよい。こうした実施形態では、計算システム１１００は、例えば、カメラ１２００／１２００Ａ／１２００Ｂによって生成された画像情報に基づいて、このようなコマンドを生成するように構成されてもよい。例えば、計算システム１１００は、画像情報に基づいて運動計画を決定し、運動計画を実行するために１つ以上の動作コマンドを生成するように構成されてもよい。運動計画は、例えば、ロボットが１つ以上の物体を移動するために実行するための計画であり得る、ロボット運動計画であってもよい。例えば、運動計画は、物体に近づき、その後、物体をピックアップまたはその他の方法で掴み（例えば、吸引カップまたはエンドエフェクタ装置の他の構成要素を介して）、物体を目的位置に移動させる、ロボット１３００のエンドエフェクタ装置を含み得る。
【００１５】
実施形態では、計算システム１１００は、視覚システムを形成しても、またはその一部であってもよい。視覚システムは、例えば、ロボット１３００が位置する環境を記述する、すなわちより具体的には、カメラ１２００が位置する環境を記述する、視覚情報を生成するシステムであってもよい。視覚情報が、上で考察された３Ｄ画像情報もしくは２Ｄ画像情報、または何らかの他の画像情報を含んでもよい。一部のシナリオでは、計算システム１１００が、視覚システムを形成する場合、視覚システムは、上で考察されたロボット制御システムの一部であってもよく、またはロボット制御システムから分離してもよい。視覚システムは、ロボット制御システムから分離する場合、ロボット１３００が位置する環境を記述する、情報を出力するように構成され得る。情報は、ロボット制御システムに出力されてもよく、ロボット制御システムは、視覚システムからこうした情報を受信し、情報に基づいてロボット１３００の動作する、またはより具体的には、ロボット運動計画を実施することを制御してもよい。
【００１６】
実施形態では、計算システム１１００は、ＲＳ−２３２インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェースなどの専用有線通信インターフェースを介して、および／もしくは周辺構成要素相互接続（ＰＣＩ）バスなどのローカルコンピュータバスを介して提供される接続など、直接接続によってカメラ１２００ならびに／またはロボット１３００と通信してもよい。実施形態では、計算システム１１００が、ネットワークを介してカメラ１２００および／またはロボット１３００と通信してもよい。ネットワークは、パーソナルエリアネットワーク（ＰＡＮ）、例えば、イントラネットといったローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、広域ネットワーク（ＷＡＮ）、またはインターネットなど、いかなるタイプおよび／または形態のネットワークであってもよい。ネットワークは、例えば、イーサネットプロトコル、インターネットプロトコル群（ＴＣＰ／ＩＰ）、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）技術、ＳＯＮＥＴ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋｉｎｇ）プロトコル、またはＳＤＨ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｈｉｅｒａｒｃｈｙ）プロトコルを含む、プロトコルの異なる技術、および層またはスタックを利用してもよい。
【００１７】
実施形態では、計算システム１１００は、カメラ１２００および／もしくはロボット１３００と直接情報を伝達してもよく、または中間記憶装置、もしくはより広くは、中間の非一時的コンピュータ可読媒体を介して通信してもよい。例えば、図１Ｄは、計算システム１１００の外部にあってもよい非一時的コンピュータ可読媒体１４００を含む、システム１０００／１０００Ａ／１０００Ｂの実施形態であってもよく、例えば、カメラ１２００によって生成される画像情報を記憶するための外部バッファまたはリポジトリとして作用し得る、システム１０００Ｃを示す。こうした一実施例では、計算システム１１００は、非一時的コンピュータ可読媒体１４００から、画像情報を検索するか、さもなければ受信することができる。非一時的コンピュータ可読媒体１４００の例としては、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはそれらの任意の好適な組み合わせが挙げられる。非一時的コンピュータ可読媒体は、例えば、コンピュータディスケット、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＤＤ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消却可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、携帯型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、および／またはメモリスティックを形成してもよい。
【００１８】
上述のように、カメラ１２００は、３Ｄカメラおよび／または２Ｄカメラであってもよい。２Ｄカメラは、カラー画像またはグレースケール画像などの、２Ｄ画像を生成するように構成されてもよい。３Ｄカメラは、例えば、飛行時間（ＴＯＦ）型カメラ、構造化光カメラ、立体カメラもしくはカメラシステム（立体映像を集合的に提供する複数のカメラを含み得る）、または任意の他のタイプの３Ｄカメラなどの奥行き感知カメラであってもよい。一部の事例では、２Ｄカメラおよび／または３Ｄカメラは、電荷結合素子（ＣＣＤ）センサーおよび／または相補型金属酸化膜半導体（ＣＭＯＳ）センサーなど、画像センサーを含み得る。実施形態では、３Ｄカメラは、レーザー、ＬＩＤＡＲデバイス、赤外線デバイス、明／暗センサー、モーションセンサー、マイクロ波検出器、超音波検出器、レーダー検出器、または空間構造情報を取り込むように構成された任意の他のデバイスを含み得る。
【００１９】
上述のように、画像情報が、計算システム１１００によって処理されてもよい。実施形態では、計算システム１１００は、サーバ（例えば、１つ以上のサーバブレード、プロセッサなどを有する）、パーソナルコンピュータ（例えば、デスクトップコンピュータ、ノートパソコンなど）、スマートフォン、タブレットコンピューティングデバイス、および／もしくは他の任意の他の計算システムを含んでもよく、またはそれらとして構成されてもよい。実施形態では、計算システム１１００の機能性のすべては、クラウドコンピューティングプラットフォームの一部として行われてもよい。計算システム１１００は、単一のコンピューティングデバイス（例えば、デスクトップコンピュータ）であってもよく、または複数のコンピューティングデバイスを含んでもよい。
【００２０】
図２Ａは、計算システム１１００の実施形態を示す、ブロック図を提供する。計算システム１１００は、少なくとも１つの処理回路１１１０および非一時的コンピュータ可読媒体（または複数の媒体）１１２０を含む。実施形態では、処理回路１１１０は、１つ以上のプロセッサ、１つ以上の処理コア、プログラマブルロジックコントローラ（「ＰＬＣ」）、特定用途向け集積回路（「ＡＳＩＣ」）、プログラマブルゲートアレイ（「ＰＧＡ」）、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、それらの任意の組み合わせ、または任意の他の処理回路を含む。
【００２１】
実施形態では、計算システム１１００の一部である、非一時的コンピュータ可読媒体１１２０が、上で考察された中間の非一時的コンピュータ可読媒体１４００の代替または追加であってもよい。非一時的コンピュータ可読媒体１１２０は、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはそれらの任意の好適な組み合わせなどの記憶装置であってもよく、例えば、コンピュータディスケット、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消却可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、携帯型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、メモリスティック、それらの任意の組み合わせ、または任意の他の記憶装置などであってもよい。一部の実例では、非一時的コンピュータ可読媒体１１２０は、複数の記憶装置を含み得る。特定の実装形態では、非一時的コンピュータ可読媒体１１２０が、カメラ１２００によって生成され、計算システム１１００によって受信される画像情報を記憶するように構成される。非一時的コンピュータ可読媒体１１２０が、処理回路１１１０によって実行されるとき、処理回路１１１０に、図４に関して記載する操作など、本明細書に記載する１つ以上の手法を行わせるコンピュータ可読プログラム命令を、代替的または追加的に記憶してもよい。
【００２２】
図２Ｂは、計算システム１１００の実施形態であり、通信インターフェース１１３０を含む、計算システム１１００Ａを描写する。通信インターフェース１１３０は、例えば、図１Ａ〜１Ｄのカメラ１２００によって生成された画像情報を受信するように構成されてもよい。画像情報は、上で考察された中間の非一時的コンピュータ可読媒体１４００もしくはネットワークを介して、またはカメラ１２００と計算システム１１００／１１００Ａとの間のより直接的な接続を介して受信され得る。実施形態では、通信インターフェース１１３０は、図１Ｃのロボット１３００と通信するように構成され得る。計算システム１１００が、ロボット制御システムの外部にある場合、計算システム１１００の通信インターフェース１１３０が、ロボット制御システムと通信するように構成され得る。通信インターフェース１１３０はまた、通信構成要素または通信回路と呼ばれる場合があり、例えば、有線または無線プロトコルによって通信を行うように構成された通信回路を含んでもよい。一例として、通信回路は、ＲＳ−２３２ポートコントローラ、ＵＳＢコントローラ、イーサネットコントローラ、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラ、ＰＣＩバスコントローラ、任意の他の通信回路、またはそれらの組み合わせを含んでもよい。
【００２３】
実施形態では、処理回路１１１０が、非一時的コンピュータ可読媒体１１２０に記憶される、１つ以上のコンピュータ可読プログラム命令によってプログラムされてもよい。例えば、図２Ｃは、計算システム１１００／１１００Ａの実施形態である、計算システム１１００Ｂを示し、その中の処理回路１１１０は、グリップ領域検出モジュール１１２７および／または運動計画モジュール１１２９を含む、１つ以上のモジュールによってプログラムされる。
【００２４】
実施形態では、グリップ領域検出モジュール１１２７は、例えば、以下でより詳細に考察される方法４０００のステップ４００２〜４００６の実施を伴い得る、グリップ領域検出動作を行うように構成されてもよい。グリップ領域検出動作は、ロボットによる衣服の１点を有するパッケージなどの物体を掴むことを容易にするために使用され得る。より具体的には、グリップ領域検出動作は、物体がロボットによってピックアップされるか、またはそうでなければ把持され得る、物体の表面上の好適な領域（好適な表面領域とも呼ばれる）であり得る、グリップ領域を識別し得る。一部の実装形態では、グリップ領域検出動作は、ロボットが表面領域で物体を確実に掴むことを可能にするために十分に平滑で十分に大きい、物体の表面上の表面領域を、グリップ領域として識別し得る。例えば、ロボットが、１つ以上の吸引カップを使用して、物体の表面（物体表面とも呼ばれる）に接着する場合、モジュール１１２７によって識別されるグリップ領域（グリップ可能領域またはピック可能領域とも呼ばれる）は、１つ以上の吸引カップと係合し、表面領域と１つ以上の吸引カップとの間に確実に接着が作られるように、十分に平滑で十分に大きい表面領域であってもよい。モジュール１１２７は、例えば、表面領域が以下でより詳細に考察される定義された平滑性条件を満たすかどうかを決定することによって、表面領域が十分に平滑であるかどうかを決定し得る。実施形態では、グリップ領域検出モジュール１１２７は、以下でより詳細に考察されるように、グリップ領域を囲む安全領域を検出するように構成されてもよい。一部の実例では、グリップ領域検出モジュール１１２７は、カメラ視野内のシーンを表す画像情報を分析またはその他の方法で処理し、画像情報に基づいて、グリップ領域および／または安全領域を識別または生成するように構成され得る。こうした実例では、グリップ領域および／または安全領域は、グリップ領域検出モジュール１１２７の出力であってもよい。
【００２５】
実施形態では、運動計画モジュール１１２９は、グリップ領域検出モジュール１１２７の出力に基づいて、またはより一般的には、カメラ視野内のシーンを表す画像情報に基づいて、運動計画、またはより具体的には、ロボット運動計画を実施するように構成され得る。より具体的には、運動計画は、ロボット（例えば、１３００）またはその構成要素によって実行される運動を決定することを伴ってもよい。例えば、運動計画は、ロボット１３００の軌道、すなわちより具体的には、そのエンドエフェクタ装置を決定して、カメラ視野内の物体を掴み、物体を目的位置に移動させることを伴い得る。一例として、軌道は、吸引カップまたはエンドエフェクタ装置の他の構成要素を、物体の表面上のグリップ領域と係合させるか、またはそうでなければ接触させてもよく、物体を掴むために、グリップ領域は、モジュール１１２７によって識別されてもよい。軌道はさらに、エンドエフェクタ装置が、物体を持ち上げ、物体を目的位置に移動させることを引き起こし得る。一部の実例では、運動計画モジュール１１２９は、モジュール１１２７によっても識別され得る、安全領域に基づいて軌道を決定してもよい。安全領域は、以下でより詳細に考察されるように、掴まれた物体とロボットの環境内の別の物体または構造との間の衝突のリスクを低減するために、モジュール１１２９によって使用され得る。
【００２６】
実施形態では、非一時的コンピュータ可読媒体１１２０は、モジュール１１２７／１１２９によって使用される情報、および／またはモジュール１１２７／１１２９の出力を記憶し得る。例えば、グリップ領域検出モジュール１１２７が、領域サイズの閾値などの１つ以上の閾値を使用する場合、１つ以上の閾値は、非一時的コンピュータ可読媒体１１２０に記憶されてもよい。１つ以上の閾値は、計算システム１１００によって動的に定義されてもよく、または手動で定義されてもよく、したがって１つ以上の定義された閾値または閾値と呼ばれ得る。
【００２７】
様々な実施形態では、「コンピュータ可読命令」および「コンピュータ可読プログラム命令」という用語は、様々なタスクおよび操作を遂行するように構成される、ソフトウェア命令またはコンピュータコードを記述するために使用される。様々な実施形態では、「モジュール」という用語は、処理回路１１１０に１つ以上の機能タスクを行わせるように構成された、ソフトウェア命令またはコードの集まりを広く指す。モジュールおよびコンピュータ可読命令は、処理回路または他のハードウェア構成要素が、モジュールもしくはコンピュータ可読命令を実行しているときに、様々な操作またはタスクを行うものとして説明され得る。
【００２８】
図３Ａ〜図３Ｃは、グリップ領域検出動作および／または運動計画動作を実施することができる例示の環境を示す。より具体的には、図３Ａは、計算システム１１００、ロボット３３００、およびカメラ３２００を含む、システム３０００（図１Ａ〜図１Ｄのシステム１０００／１０００Ａ／１０００Ｂ／１０００Ｃの実施形態であり得る）を描写する。カメラ３２００は、カメラ１２００の実施形態であってもよく、カメラ３２００のカメラ視野３２１０内のシーンを表す、またはより具体的には、例えば、物体３５２０１、３５２０２、３５２０３、３５２０４、３５２０５．．３５２０ｎを含み得る、物体３５２０１〜  ３５２０ｎなどのカメラ視野３２１０内の物体またはその構造を表す、画像情報を生成するように構成されてもよい。図３Ａ〜図３Ｃでは、ロボット３３００は、例えば、物体３５２０１〜３５２０ｎのうちの１つをピックアップするか、または別の方法で掴むこと、物体の現在位置から物体を持ち上げること、および物体を目的位置に動かすことによって、物体３５２０１〜３５２０ｎのうちの１つ以上の各々を操作するか、またはそうでなければそれらと相互作用するように構成され得る。
【００２９】
一部の実例では、物体３５２０１〜３５２０ｎの一部またはすべては、可撓性の物体であってもよい。例えば、物体３５２０１〜３５２０ｎの各々は、衣服の１点（例えば、シャツまたはズボン１着）または他の布地もしくは織物を有するパッケージであってもよく、衣服の１点または他の布地は、プラスチックのシートなどの包装材料のシートに包まれてもよい。一部のシナリオでは、プラスチックまたは他の包装材料のシートは、空気または他の流体に対して概して不浸透性であり得る。図３Ａの実施例では、物体３５２０１〜３５２０ｎは、３５２０１〜３５２０ｎを、衣料品メーカーまたは小売業者に関連付けられた倉庫などの施設内に保持するために使用されるビンまたは箱などの容器３５１０内に配置され得る。
【００３０】
一部のシナリオでは、本明細書の実施形態の可撓性の物体（例えば、３５２０１）は、ロボット３３００によって移動または他の方法で操作されているときに、可撓性の物体が変形することを可能にする、十分に高レベルの可撓性を有してもよい。十分に高いレベルの可撓性は、ロボット３３００によって移動または別の方法で操作されているときに、物体がその形状を維持するのを妨げるように、十分に低いレベルの剛性または剛直性に対応し得る。一部の実例では、可撓性の物体は、可撓性の物体がロボット３３００によって持ち上げられているときに、可撓性の物体の重量が、それ自体の形状の変形を引き起こすことを可能にするほど十分に高いレベルの可撓性を有してもよい。変形は、例えば、ロボット３３００によって持ち上げられているときに、それ自体の重量下で、可撓性の物体曲げ、またはより具体的には、弛みを伴い得る。可撓性の物体の可撓性は、例えば、可撓性の物体の寸法および／または可撓性の物体の材料から生じ得る。一実施例では、可撓性の物体は、可撓性（柔軟性とも呼ばれる）を可撓性の物体に導入し得る、薄い輪郭を有してもよい。より具体的には、可撓性の物体は、横方向寸法（例えば、長さ寸法または幅寸法）のサイズに対して、かなり小さいサイズの厚さ寸法を有してもよい。一実施例では、可撓性の物体は、可撓性の物体に可撓性を導入するのに十分に軟質である材料から作製されてもよい。一部の状況では、可撓性の物体の材料は、物体がロボット３３００によって持ち上げられているときに、材料自体の重量下で弛むほど十分に軟らかい場合がある。例えば、可撓性の物体が、衣服の１点を有するパッケージである場合、ロボット３３００によって持ち上げられているときに、その材料が自体の重量下で弛むのを防ぐのに十分な剛性を欠く綿織物またはウール織物などの材料から形成され得る。
【００３１】
実施形態では、ロボット３３００（ロボット１３００の実施形態であってもよい）は、ロボット基部３３１０に取り付けられた一端部を有し、かつエンドエフェクタ装置３３３０に取り付けられるか、またはそれらによって形成される別の端部を有する、ロボットアーム３３２０を含み得る。ロボット基部３３１０は、ロボットアーム３３２０の一方の端部を装着するために使用され得るが、ロボットアーム３３２０の他方の端部、より具体的には、エンドエフェクタ装置３３３０は、ロボット３３００の環境で１つ以上の物体（例えば、３５２０１、３５２０２など）と相互作用するために使用され得る。相互作用は、例えば、１つ以上の物体を掴んで持ち上げること、および／または１つ以上の物体を現在位置から目的位置へと移動することを含み得る。
【００３２】
実施形態では、エンドエフェクタ装置３３３０は、物体３５２０１〜３５２０ｎのうちの１つなどの物体をピックアップまたはその他の方法で持ち上げるために使用される１つ以上の吸引カップ３３３２１〜３３３２ｎを含み得る。一部の実装形態では、吸引カップ３３３２１〜３３３２ｎ（エンドエフェクタ吸引カップとも呼ばれる）の各々は、物体（例えば、３５２０１）の表面と接触して、吸引カップと物体の表面（物体表面とも呼ばれる）との間の空間における流体圧力（例えば、空気圧）を減少させるように構成される、機械デバイスであってもよい。一実施例では、物体表面は、流体に対して概して不透過性である材料によって形成されてもよく、またはより一般的には、衣服の１点を包むために使用されるプラスチック包装材料のシートなど、非多孔性であってもよい。部分的または完全な真空などの流体圧力の低下は、空間の外側の流体圧力と空間内の流体圧力との間の圧力差をもたらし得る。より具体的には、空間内の流体圧力は、空間の外側の流体圧力よりも低くてもよく、これは、より高い流体圧力が、吸引カップを物体表面に貼り付ける正味の力を与えることを引き起こす負の流体圧力を生じさせ得る。正味の力は、吸引カップが物体表面を掴むように、物体表面に接着することを可能にする接着力として作用し得る。実施形態では、吸引カップ（例えば、３３３２１または３３３２ｎ）の各々は、様々な形状（例えば、円形状）およびサイズを有してもよく、プラスチック、シリコーン、ニトリル、ビトン、ビニル、ウレタン、ゴム、または何らかの他の可撓性材料などの様々な材料を有してもよい。吸引カップは、「Ｒｏｂｏｔｉｃ  ｓｙｓｔｅｍ  ｗｉｔｈ  ａ  ｒｏｂｏｔ  ａｒｍ  ｓｕｃｔｉｏｎ  ｃｏｎｔｒｏｌ  ｍｅｃｈａｎｉｓｍ  ａｎｄ  ｍｅｔｈｏｄ  ｏｆ  ｏｐｅｒａｔｉｏｎ  ｔｈｅｒｅｏｆ」と題する、米国特許第１０，５７６，６３０号においてより詳細に考察され、その全容は、参照により本明細書に組み込まれる。実施形態では、吸引カップと物体表面との間の接着力の強度は、吸引カップが、それ自体と物体表面との間の空間をどれだけ密に封止することができるかに依存し得る。例えば、密着シールは、圧力差を維持することができ、したがって、接着力を維持し得、一方で、緩いシールは、圧力差が維持されるのを妨げ得、したがって、吸引カップが物体表面を掴む能力に干渉し得る。実施形態では、密着シールを形成する吸引カップの能力は、吸引カップが物体表面を掴もうとしている物体表面（表面領域とも呼ばれる）の領域での平滑性のレベルに依存し得る。したがって、以下でより詳細に考察されるように、計算システム１１００は、吸引カップが物体表面に確実に付着し、それゆえに物体表面を掴むことができる、グリップ領域として使用されるのに十分に平滑である表面領域を識別するか、または表面領域を検索するように構成され得る。
【００３３】
実施形態では、カメラ３２００は、物体３５２０１〜３５２０ｎおよび容器３５１０、またはカメラ視野３２１０内の任意の他の物体（複数可）を表す画像情報を生成するように構成されてもよい。カメラ３２００は、３Ｄ画像情報を生成するように構成される３Ｄカメラ、および／または２Ｄ画像情報を生成するように構成される２Ｄカメラであってもよい。実施形態では、３Ｄ画像情報は、物体（例えば、３５２０１）の物体表面を表してもよく、またはより具体的には、物体表面の物理的構造を記述してもよい。例えば、３Ｄ画像情報は、奥行きマップを含んでもよく、より一般的には、カメラ３２００に対する、または何らかの他の基準点に対する、カメラ視野３２１０の様々な位置のそれぞれの奥行き値を記述し得る、奥行き情報を含んでもよい。それぞれの奥行き値に対応する位置は、物体３５２０１〜３５２０ｎのそれぞれの物体表面上の位置などの、カメラ視野３２１０の様々な表面上の位置であってもよい。一部の実例では、３Ｄ画像情報は、カメラ視野３２１０内の物体３５２０１〜３５２０ｎのそれぞれの物体表面上の様々な位置を記述する、複数の３Ｄ座標を含み得る、点群を含み得る。
【００３４】
実施形態では、物体（例えば、３５２０１）の物体表面は、物体の外表面（例えば、上面）を指してもよい。こうした実施形態では、３Ｄ画像情報は、外表面を表してもよく、またはより具体的には、外表面の物理的構造を記述してもよい。例えば、カメラ３２００が、光（例えば、レーザーまたは構造化された光）、または外表面から反射する他の信号を感知することによって３Ｄ画像情報を生成する場合、３Ｄ情報は、例えば、外表面の表面輪郭を表し得る。包装材料として使用される可撓性のプラスチックの薄いシートなどの、外表面が透明材料によって形成される場合、３Ｄ情報は、依然として物体の外表面を表し得る。より具体的には、このような状況におけるカメラ３２００は、透明材料の下にあるか、またはそうでなければ透明材料で覆われた、衣服織物の１点などの透明でない材料から反射した光または他の信号を感知してもよい。反射光または信号は、透明な材料を通過してもよく、カメラ３２００によって検出されて、３Ｄ情報を生成してもよい。この状況では、透明材料（例えば、プラスチックシート）は、外表面と非透明材料の表面との間の距離が無視できるとみなされるように十分に薄くてもよい。したがって、実施形態では、３Ｄ情報は、物体の外表面上の様々な位置の奥行き情報を記述しているとみなされ得る。さらに、透明材料が外表面を形成する場合、透明材料は、透明材料のすべてまたは多くの部分が、基になる非透明材料の表面輪郭を採用するように、十分に可撓性であり得る。したがって、この状況での３Ｄ画像情報は、物体の外表面、より具体的には、外表面の物理的構造または表面輪郭を記述するとみなされ得る。
【００３５】
実施形態では、２Ｄ画像情報は、例えば、カメラ視野３２１０内の１つ以上の物体の外観を表す、カラー画像またはグレースケール画像を含み得る。例えば、物体表面が、視覚的マーキング（例えば、ロゴ）またはそれらに印刷された他の視覚的詳細を有する場合、２Ｄ画像情報は、視覚的詳細を記述してもよく、または他の方法で表現してもよい。上述のように、物体表面は、一部の状況では透明な材料から形成され得る、物体の外表面であってもよい。こうした状況では、２Ｄ画像情報は、基になる非透明材料（例えば、シャツ）の表面から反射し、外表面を形成する透明な材料を通過した光（例えば、可視光）または他の信号を表し得る。こうした状況における２Ｄ画像情報は、外表面を通過する光または他の信号に基づくため、２Ｄ画像情報は、依然として外表面を表すものとみなされ得る。さらに、外表面を形成する透明材料は、一部の例では、物体の外観にほとんどまたは無視できる影響を与えるほど十分に薄く、かつ十分に透明であってもよく、その結果、物体の外観または物体の外表面の外観は、基になる非透明材料（例えば、衣服材料）の外観を指すものとみなされ得る。
【００３６】
実施形態において、システム３０００は、複数のカメラを含んでもよい。例えば、図３Ｂは、カメラ視野３２１０Ａを有するカメラ３２００Ａを含み、カメラ視野３２１０Ｂを有するカメラ３２００Ｂを含む、システム３０００Ａ（システム３０００の実施形態であってもよい）を示す。カメラ３２００Ａ（カメラ１２００Ａの実施形態であってもよい）は、例えば、２Ｄ画像または他の２Ｄ画像情報を生成するように構成される、２Ｄカメラであってもよく、一方で、カメラ３２００Ｂ（カメラ１２００Ｂの実施形態であってもよい）は、例えば、３Ｄ画像情報を生成するように構成される、３Ｄカメラであってもよい。
【００３７】
実施形態では、カメラ３２００／３２００Ａ／３２００Ｂは、容器３５１０が置かれる、またはロボット基部３３１０に対して置かれる床などの基準点に対して静止してもよい。例えば、図３Ａのカメラ３２００は、倉庫の天井などの天井、または床に対して、ロボット基部３３１０に対して、もしくは何らかの他の基準点に対して静止したままの装着フレームに装着されてもよい。実施形態では、カメラ３２００は、ロボットアーム３３２０上に装着されてもよい。例えば、図３Ｃは、カメラ３２００が、ロボットアーム３２００の遠位端を形成するエンドエフェクタ装置３３３０上に取り付けられるか、そうでなければ装着される、システム３０００Ｂ（システム１０００の実施形態であってもよい）を描写する。こうした実施形態は、ロボットアーム３３２０の移動を介して、カメラ３２００を異なる姿勢に移動する能力をロボット３３００に提供し得る。
【００３８】
図４は、グリップ領域検出を行うための例示の方法４０００の流れ図を描写する。方法４０００は、例えば、図２Ａ〜図２Ｃもしくは図３Ａ〜図３Ｃの計算システム１１００によって、すなわちより具体的には、計算システム１１００の少なくとも１つの処理回路１１１０によって行われてもよい。一部のシナリオでは、少なくとも１つの処理回路１１００が、非一時的コンピュータ可読媒体（例えば、１１２０）上に記憶される命令を実行することによって、方法４０００を行ってもよい。例えば、命令によって、処理回路１１１０に、方法４０００を行い得る、図２Ｃに示されたモジュールのうちの１つ以上を実行させてもよい。一例として、以下で考察されるステップ４００２〜４００６は、グリップ領域検出モジュール１１２７によって実施されてもよく、ステップ４００８は、運動計画モジュール１１２９によって実施されてもよい。実施形態では、方法４０００は、計算システム１１００が、図３Ａおよび図３Ｂのロボット３３００およびカメラ３２００／３２００Ａ／３２００Ｂなど、ロボットおよびカメラと、または本開示で考察される任意の他のカメラもしくはロボットと通信する環境で行われてもよい。
【００３９】
実施形態では、方法４０００の１つ以上のステップは、物体、またはより具体的には、可撓性の物体（例えば、３５２０１、３５２０２など）が、カメラ（例えば、３２００／３２００Ａ／３２００Ｂ）のカメラ視野（例えば、３２１０／３２１０Ａ／３２１０Ｂ）にあるときに行われてもよい。例えば、方法４０００の１つ以上のステップは、物体がカメラ視野（例えば、３２１０／３２１０Ａ／３２１０Ｂ）内に入った直後に、またはより一般的には、物体がカメラ視野内にある間に、行われてもよい。一部のシナリオでは、方法４０００の１つ以上のステップは、物体がカメラ視野内にあるか、またはカメラ視野内にあったときに行われてもよい。例えば、物体がカメラ視野（例えば、３２１０／３２１０Ａ／３２１０Ｂ）にあるとき、カメラ（例えば、３２００／３２００Ａ／３２００Ｂ）は、物体、またはより具体的には、物体の表面（物体表面とも呼ばれる）を表す画像情報を生成してもよく、画像情報を計算システム（例えば、１１００）に伝達してもよい。計算システムは、物体がまだカメラ視野内にある間、または物体がもはやカメラ視野内にないときでさえも、画像情報に基づいて方法４０００の１つ以上のステップを実施し得る。
【００４０】
実施形態では、方法４０００は、計算システム１１００が、カメラ（例えば、３２００／３２００Ａ／３２００Ｂ）のカメラ視野（例えば、３２１０／３２１０Ａ／３２１０Ｂ）内の可撓性の物体などの物体の物体表面を表す画像情報を受信する、ステップ４００２から開始されてもよく、またはそうでなければ、ステップ４００２を含んでもよい。実施形態では、画像情報は、物体がカメラ視野にある（またはあった）ときに、カメラ（例えば、３２００）によって生成されてもよく、例えば、３Ｄ画像情報および／または２Ｄ画像情報を含み得る。
【００４１】
一例として、図５Ａは、ステップ４００２の画像情報が３Ｄ画像情報５７００を含む、実施例を示す。より具体的には、３Ｄ画像情報５７００は、例えば、行と列に編成された位置のグリッドであり得る、位置５７００１、５７００２、．．．５７００ｎなどの、カメラ視野（例えば、３２００／３２００Ａ）内の様々な位置のそれぞれの深度値を示す、深度マップまたは他の深度情報を含み得る。一部の実装形態では、奥行きマップは、位置５７００１〜５７００ｎのそれぞれの奥行き値を示す、ピクセルを含み得る。実施形態では、位置５７００１〜５７００ｎの少なくとも一部は、物体３５２０１〜３５２０ｎの物体表面などの、１つ以上の物体表面上の位置である。例えば、３Ｄ画像情報５７００は、画像部分５７２０１、５７２０２、５７２０３、５７２０４、５７２０５、．．．５７２０ｎ−３、５７２０ｎ−２、５７２０ｎ−１、５７２０ｎを含んでもよく、画像部分の各々は、それぞれの物体（例えば、３５２０１、３５２０２、３５２０３、．．．、または３５２０ｎ）の物体表面上の位置のそれぞれのセットの奥行き値を含み得る。一部の状況では、３Ｄ画像情報は、それぞれ、位置５７００１〜５７００ｎを記述する座標のセットを含み得る、点群を含み得る。座標は、［Ｘ  Ｙ  Ｚ］デカルト座標などの３Ｄ座標であってもよく、カメラ座標系、または何らかの他の座標系に対する値を有してもよい。この実施例では、特定の位置（例えば、５７００１）に対する［Ｘ  Ｙ  Ｚ］座標は、その位置の奥行き値と等しいか、またはそれに基づくＺ成分を有してもよい。奥行き値は、３Ｄ画像情報を生成するカメラ（例えば、３２００／３２００Ａ）に対するものであってもよく、または何らかの他の基準点に対するものであってもよい。
【００４２】
実施形態では、３Ｄ画像情報は、物体表面の表面輪郭を記述し得る。例えば、図５Ａにおける３Ｄ画像情報５７００は、物体表面３５２０１の物体表面の表面輪郭を記述する、少なくとも画像部分５７２０１を有してもよい。物体表面の表面輪郭は、物体表面の物理的構造を記述し得る。一部の実例では、物体表面の物理的構造は、完全にまたは実質的に平滑であってもよい。一部の実例では、物体表面の物理的構造は、物体表面の１つ以上の非平滑な部分を形成し得る、しわ、隆起、畝、折り目、または陥凹などの物理的特徴を含み得る。
【００４３】
上述のように、物体表面は、物体の外表面（例えば、上面）であってもよく、透明材料、非透明材料（例えば、半透明または不透明材料）、またはそれらの組み合わせによって形成されてもよい。さらに上述したように、外表面が、基となる非透明材料を覆う透明材料によって形成される場合、透明材料は、物体の物理的構造または表面輪郭に無視できる影響を有するとみなされるほど十分に薄くかつ可撓性であり得る。こうした実例では、基となる非透明材料の物理的構造または表面輪郭を表す３Ｄ画像情報は、物体の外表面の物理的構造または表面輪郭も表すものとみなされ得る。さらに、透明材料が十分に薄い場合、その厚さは、カメラ（例えば、３２００）による奥行き測定に無視できる影響を有するとみなされ得る。こうした状況では、画像部分５７２０１の位置などの３Ｄ画像情報に表される奥行き値を有する様々な位置は、対応する物体（例えば、３５２０１）の外表面上の位置であるとみなされ得る。
【００４４】
図５Ｂは、２Ｄ画像情報、またはより具体的には、カメラ３２００／３２００Ｂによって生成され、図３Ａ〜図３Ｃの物体３５２０１〜３５２０ｎ、および容器３５１０を表す、２Ｄ画像５６００を示す。より具体的には、２Ｄ画像５６００は、物体３５２０１〜３５２０ｎおよび容器３５１０（物体３５２０１〜３５２０ｎが配置される）の外観を記述してもよい。より具体的には、２Ｄ画像５６００は、それぞれ物体３５２０１、３５２０２、３５２０３、．．．、３５２０ｎの視覚的詳細を表す、画像部分５６１０１、５６２０２、５６２０３、５６２０４、５６２０５、．．．、５６２０ｎ−３、５６２０ｎ−２、５６２０ｎ−１、５６２０ｎ（例えば、ピクセル領域）を含み得る。実施形態では、２Ｄ画像情報は、物体（例えば、３５２０１）の物体表面を表し得る。上述のように、物体表面は、物体の外表面（例えば、上面）であってもよく、透明材料、非透明材料（例えば、半透明または不透明材料）、またはそれらの組み合わせによって形成されてもよい。さらに上述したように、外表面が、基となる非透明材料を覆う透明材料によって形成される場合、透明材料は、物体の外観に無視できる影響を有するとみなされるほど十分に薄く、かつ透明であり得る。こうした実例では、基になる非透明材料の外観は、２Ｄ画像情報が物体の外表面の外観を表すとみなされるように、物体の外表面の外観でもあるとみなされ得る。
【００４５】
実施形態では、計算システム１１００は、受信した画像情報が、ピクセル値が利用不可能なギャップを有するか、または特定の誤差閾値を超える量誤差を有するかどうかを決定するように構成されてもよい。例えば、計算システム１１００は、画像情報が、カメラ視野の中のシーンから反射する光または他の信号によって過飽和されたピクセルの領域であり得るハイライト領域を有するかどうかを決定し得る。例えば、ハイライト領域は、物体表面の一部分からのグレアを表してもよく、グレアは、あまりにも多くの強度を有する反射光によって引き起こされる。グレアは、結果として生じる画像情報のピクセルが不正確な値を有する原因となり、結果として生じるピクセルが画像情報のギャップを形成し得る、ノイズをもたらし得る。こうした実施形態では、計算システム１１００は、画像情報のギャップを推定ピクセル値で埋めるように構成されてもよい。推定値は、例えば、ギャップの周りの隣接ピクセルのピクセル値から補間することに基づいて決定されてもよい。
【００４６】
図４に戻ると、方法４０００は、実施形態では、ステップ４００４を含んでもよく、ここで、計算システム１１００は、ステップ４００２で受信された画像情報に基づいてグリップ領域を識別し得る。より具体的には、計算システム１１００は、定義された平滑性条件を満たす、かつ定義された領域サイズの閾値以上である領域サイズを有する、物体表面の表面領域を、グリップ領域として識別し得る。実施形態では、グリップ領域（ピック可能領域とも呼ばれる）は、ロボットによってピックアップされるか、もしくは他の方法で掴まれる、または何らかの他のロボットの相互作用を受容するのに好適な、計算システム１１００によって識別される、物体（例えば、３５２０１）の表面領域であってもよい。例えば、図６は、計算システムが、物体３５２０１がエンドエフェクタ装置３３３０によって、またはより具体的には、エンドエフェクタ装置３３３０の１つ以上の吸引カップ３３３２１〜３３３２ｎによって掴まれ得る、グリップ領域として表面領域６８１０を識別する、実施例を提供する。以下で考察される図９Ｂは、グリップ領域６８１２の別の実施例を示す。計算システム１１００は、表面領域６８１０が定義された平滑性条件を満たすと決定し得る。実施形態では、定義された平滑性条件は、例えば、非一時的コンピュータ可読媒体１１２０に予め定義されてもよく、または計算システム１１００によって動的に定義されてもよい。例えば、定義された平滑性条件が、１つ以上の閾値を満たすことを伴い得る１つ以上の基準によって形成される場合、１つ以上の基準または１つ以上の閾値を記述するルールまたは他の情報は、事前定義され、非一時的コンピュータ可読媒体１１２０に記憶され得る。
【００４７】
一部の実例では、表面領域（例えば、６８１０）の定義された平滑さ条件は、エンドエフェクタ装置によってピックアップされるか、またはそうでなければ掴まれるなどの、意図される目的のために十分に平滑である表面領域に関連付けられ得る。エンドエフェクタ装置によって掴まれることは、例えば、表面領域（例えば、６８１０）と接触する、吸引カップまたはエンドエフェクタ装置の他の構成要素を伴い得る。上述のように、エンドエフェクタ装置は、一部のシナリオでは、吸引カップと表面領域との間の接着性を作り出す、負の流体圧力を有する密封空間を作り出す試みにおいて、吸引カップを表面領域に対して接触させるように押し出し得る。こうした一実施例では、平滑性条件を満たすことは、それ自体と吸引カップまたはエンドエフェクタ装置の他の構成要素との間の十分な量の接触を提供するように、表面領域が十分に平滑であることを伴い得る。例えば、平滑性条件は、表面領域（例えば、６８１０）が、表面領域に対して押すと、吸引カップが吸引カップと表面領域との間の空間の周りに確実にシールを形成して、その空間における負の流体圧力を維持し、かつ吸引カップと表面領域との間に十分なレベルの接着性を作り出すように、十分に平滑であることを伴い得る。こうした実例では、計算システム１１００は、表面領域（例えば、６８１０）がグリップ領域としての使用に好適であると決定し得る。
【００４８】
一部の実装形態では、表面領域または表面の平滑さは、表面領域または表面から突出する、または表面領域または表面に沈む、しわ、隆起、畝、折り目、またはくぼみなどの物理的特徴の不在を伴い得る。より具体的には、こうした物理的特徴の存在は、エンドエフェクタ装置と表面領域との間に作られ得る最大可能な接触面積を減少させ得、またはより具体的には、吸引カップと表面領域との間の空間の周りにシールを形成するための、吸引カップまたはエンドエフェクタ装置の他の構成要素の能力に干渉し得る。したがって、平滑性条件を満たす表面領域（例えば、６８１０）は、一般的に、こうした物理的特徴を含まないか、または実質的に含まない場合がある。
【００４９】
実施形態では、定義される平滑性条件は、配向類似性基準および／または奥行き類似性基準などの１つ以上の基準によって定義されてもよく、これは以下でより詳細に考察される。配向類似性基準は、十分に類似した配向を有する表面領域を形成する小さなパッチを伴い得る一方で、奥行き類似性基準は、奥行き寸法に沿って、またはより具体的には、パッチのうちの１つの法線ベクトルと平行な軸に沿って、互いに十分に近接する小さなパッチを伴い得る。上述のように、配向類似性基準および／または奥行き類似性基準を記述するルールまたはその他の情報は、事前に定義されてもよく、または動的に定義されてもよく、非一時的コンピュータ可読媒体１１２０に記憶されてもよい。
【００５０】
一部の実装形態では、定義された平滑性条件は、平滑で平坦な表面領域によって、ならびに平滑であり、かつある程度の湾曲を有する表面領域によって満たされ得る。例えば、計算システム１１００が表面領域をより小さいパッチに分割する場合、こうした実装形態における配向類似性基準は、配向に小さな差異を有するパッチによって満たされ得る。このような小さな差異は、穏やかな湾曲を有する表面領域を考慮し得る。こうした実装形態は、平滑であるが、穏やかな湾曲を有する表面領域が、それ自体と、吸引カップまたはエンドエフェクタ装置（例えば、３３３０）の何らかの他の構成要素との間の大量の接触を依然として許容することができてもよく、したがって、表面領域と吸引カップとの間に確実に形成される堅牢な量の接着を依然として許容し得るという評価を反映し得る。
【００５１】
一部の実装形態では、定義された平滑性条件を満たす表面領域は、平滑であり、および平坦または実質的に平坦であることの両方でなければならない場合がある。例えば、こうした実装形態における配向類似性基準は、穏やかな湾曲を有する平滑な表面を伴う上で考察された実施例よりも厳格であり得る。これらの実装形態では、パッチは、定義された配向類似性基準を満たすために、配向においてはるかに類似していなければならない場合がある。結果として、パッチによって形成される表面領域は、はるかに小さな湾曲レベルを有するか、または湾曲を有しない場合がある。こうした実装形態は、表面領域が平滑であり、および平坦または実質的に平坦であることの両方で、それ自体と吸引カップまたはエンドエフェクタ装置（例えば、３３３０）の何らかの他の構成要素との間に堅牢な量の接着を確実に形成することを可能にする必要があるという評価を反映し得る。したがって、配向類似性基準の厳格さのレベルを使用して、グリップ領域として識別された表面領域がどのように平坦であるかを制御してもよい。
【００５２】
実施形態では、計算システム１１００は、表面領域（例えば、図６および図９Ｂの６８１０／６８１２）をグリップ領域として識別するための前提条件として、表面領域（例えば、６８１０）が定義された領域サイズの閾値以上であるかどうかを決定することができる。こうした前提条件は、表面領域（例えば、６８１０／６８１２）が、十分に平滑であるだけでなく、ロボット（例えば、３３００）によって掴まれるか、またはロボット（例えば、３３００）から何らかの他の相互作用を受けるのに十分な大きさであることを確実にし得る。一部の実例では、定義された領域サイズの閾値は、表面積の閾値であってもよく、またはそれを示してもよく、その結果、計算システム１１００は、グリップ領域として識別される表面領域（例えば、６８１０／６８１２）の総表面積が、表面積の閾値以上であるか、またはそれと等しいかどうかを決定する。定義された領域サイズの閾値は、例えば、事前に定義されてもよく、または動的に定義されてもよく、非一時的コンピュータ可読媒体１１２０に記憶されてもよい。一部の実例では、定義された領域サイズの閾値は、半径、長さ、および／または幅などの、１つ以上のそれぞれの寸法に対する１つ以上の値を示し得る。より具体的には、定義された領域サイズの閾値は、物体表面とロボットとの間の相互作用のための接触領域または他の相互作用領域を画定してもよい。接触領域は、１つ以上のそれぞれの寸法に対する１つ以上の値を有してもよい。こうした実例では、計算システム１１００は、こうした接触領域が表面領域（例えば、６８１０）内に収まるかどうかを決定し得る。
【００５３】
より具体的には、定義された領域サイズの閾値は、一部のシナリオでは、エンドエフェクタ装置（例えば、３３３０）と、物体（またはより具体的には、可撓性の物体）との間の接触に関連付けられる定義された接触領域サイズであってもよい。例えば、図６の表面領域６８１０が、図３Ａ〜図３Ｃの物体３５２０１の部分である場合、定義された領域サイズの閾値は、エンドエフェクタ装置の１つ以上の構成要素（例えば、吸引カップ３３３２１〜３３３２ｎ）と物体３５２０１との間の接触に関連付けられる定義された接触領域サイズであってもよい。定義された接触領域サイズは、物体（例えば、３５２０１）に対して押し付けられる、またはそうでなければそれと接触させる、１つ以上の構成要素に対する接触領域のサイズであってもよい。一例として、図７Ａは、１つ以上の吸引カップの１つの吸引カップ（例えば、３３３２ｎ）が物体３５２０１の表面領域６８１０に接触する、接触領域７３３４を描写する。こうした一実施例では、定義された接触領域サイズは、定義された領域サイズの閾値が定義された吸引カップサイズ（例えば、吸引カップの半径）であってもよいように、吸引カップ３３３２ｎなどの吸引カップに関連付けられた定義されたカップサイズであってもよい。図７Ｂは、複数の吸引カップ（例えば、３３３２１および３３３２ｎ）が物体３５２０１の表面領域６８１０と接触する、別の接触領域７３３５を描写する。図７Ｂの実施例では、定義された領域サイズの閾値は、接触領域７３３５のサイズであってもよい。複数の吸引カップが吸引カップのアレイを形成する場合、定義された領域サイズの閾値は、アレイの定義されたサイズ（また、定義されたアレイサイズとも呼ばれる）であってもよい。計算システム１１００は、表面領域（例えば、６８１０）のサイズを、定義された領域サイズの閾値と比較して、表面領域がグリップ領域として識別される場合に、グリップ領域が、定義された接触領域サイズを有する接触領域（例えば、７３３４、７３３５）に適合するのに十分な大きさであることをより確実にすることができる。言い換えれば、定義された領域サイズの閾値を満たす表面領域（例えば、６８１０）は、接触を受けるのに十分な大きさであってもよく、またはより一般的には、表面領域で物体（例えば、３５２０１）を掴むために使用されるエンドエフェクタ装置（例えば、３３３０）の１つ以上の構成要素によって係合されるのに十分な大きさであってもよい。上で考察された定義されたサイズは、例えば、事前に定義されてもよく、または動的に定義されてもよく、非一時的コンピュータ可読媒体１１２０に記憶されてもよい。
【００５４】
一部のシナリオでは、定義された領域サイズの閾値は、物体（例えば、３５２０１）に関連付けられた定義された物体サイズであってもよい。こうしたシナリオでは、定義された物体サイズは、例えば、物体の境界部またはエッジを記述し得る。次いで、計算システム１１００は、定義された平滑性条件を満たす表面領域が、こうした境界部またはエッジを有する物体または領域に適合するのにさらに十分に大きいかどうかを決定し得る。こうした定義された領域サイズの閾値の使用によって、計算システム１１００が、表面領域（例えば、６８１０）がロボット（例えば、３３３０）によって掴まれ、および移動される物体（例えば、３５２０１）に属するか、またはそうでなければ、それに関連付けられるかどうかをより厳密にチェックすることが可能になり得る。
【００５５】
実施形態では、計算システム１１００は、物体表面を複数の二次元（２Ｄ）パッチに分割することによって、および複数の２Ｄパッチが、十分に平滑な表面領域を形成する連続的な２Ｄパッチのセットを含むかどうかを決定することによって、平滑な表面領域、またはより具体的には、定義された平滑性条件を満たす表面領域を識別し得る。例えば、図８Ａは、３Ｄ画像情報によって表される表面を、複数の２Ｄパッチ８７４０１〜８７４０ｎ（必ずしも縮尺で描かれていない）に分割する実施例を描写する。複数の２Ｄパッチの各２Ｄパッチは、ステップ４００２で受信された画像情報によって表される複数の位置の一部である位置のグループによって形成される、仮想２Ｄ平面とも呼ばれる仮想２Ｄパッチであってもよい。より具体的には、画像情報は、図５Ａに関して考察された複数の位置５７００１〜５７００ｎなどの、カメラ視野内の複数の位置の奥行き情報を記述し得る。画像情報は、例えば、ピクセルのグリッド（ピクセルのアレイとも呼ばれる）を有する奥行きマップまたは点群を含み得る。この実施例では、計算システム１１００は、複数の２Ｄパッチ８７４０１〜８７４０ｎを決定することによって、および定義された平滑性条件を満たす複数の２Ｄパッチから連続的な２Ｄパッチのセットを識別することによって、グリップ領域を識別し得る。より具体的には、複数の２Ｄパッチ８７４０１〜８７４０ｎは、物体３５２０１〜３５２０ｎなどのカメラ視野（例えば、３２１０）内の物体の物体表面を表し得る。例えば、３Ｄ画像情報５７００は、物体３５２０１の物体表面を表す画像部分５７２０１を含んでもよく、複数のパッチ８７４０１〜８７４０ｎは、物体３５２０１の物体表面をも表すパッチのセクションを含んでもよい。図８Ｂは、パッチ、すなわち、画像部分５７２０１に基づいて形成され得るパッチ８７４０ｑ〜８７４０ｒのセクションを描写する。したがって、パッチ８７４０ｑ〜８７４０ｒのセクションは、物体３５２０１の物体表面を表し得る。
【００５６】
実施形態では、複数の２Ｄパッチ８７４０１〜８７４０ｎは、複数の位置５７００１〜５７００ｎのそれぞれのサブセットを適合させるか、または他の方法で近似させるように試みる２Ｄ平面であってもよい。すなわち、各２Ｄパッチは、位置のそれぞれのサブセットに適合してもよく、またはそうでなければ近似してもよく、位置のそれぞれのサブセットは、複数の位置５７００１〜５７００ｎの一部である。一例として、図８Ｂは、計算システム１１００が、複数の２Ｄパッチ８７４０１〜８７４０ｎの一部、またはより具体的にはパッチ８７４０ｑ〜８７４０ｒのセクションの一部であり得る、２Ｄパッチ８７４０ｐ〜８７４０ｐ＋５をどのように決定または識別するかを示す。この実施例では、２Ｄパッチは、位置５７００１〜５７００ｎの一部であり得る、図８Ｂの位置５７００ｋ〜５７００ｋ＋１１６などの、ステップ４００２で受信された画像情報によって記述された位置に基づいて、決定または識別されてもよい。
【００５７】
上述のように、位置５７００ｋ〜５７００ｋ＋１１６を含む複数の位置５７００１〜５７００ｎは、行および列を有する位置のグリッドに整理されてもよい。例えば、図８Ｃは、位置５７００［ｋｘ，ｋｙ］〜５７００［ｋｘ＋１２，ｋｙ＋８］のグリッドとして整理されている位置５７００ｋ〜５７００ｋ＋１１６を示す。こうした一実施例では、位置５７００［ｋｘ，ｋｙ］〜５７００［ｋｘ＋１２，ｋｙ＋８］のグリッドは、ステップ４００２で受信された画像情報の一部分であってもよい、１３×９ピクセルのグリッドなどの、対応するピクセルのグリッドによって表されてもよい。例えば、画像情報は、位置５７００［ｋｘ，ｋｙ］〜５７００［ｋｘ＋１２，ｋｙ＋８］のそれぞれの奥行き値を記述するピクセルを含む、奥行きマップまたは点群であってもよい。より具体的には、画像情報は、位置５７００［ｋｘ，ｋｙ］〜５７００［ｋｘ＋１２，ｋｙ＋８］の各位置に対するそれぞれの［Ｘ  Ｙ  Ｚ］座標を含む、点群を含み得る。こうした一実施例では、２Ｄパッチ８７４０ｐ〜８７４０ｐ＋５のセクションは各々、位置５７００［ｋｘ，ｋｙ］〜５７００［ｋｘ＋１２，ｋｙ＋８］のそれぞれのサブセットに適合するか、またはそうでなければ近似することができ、サブセットは、例えば、５×５ピクセルの画像情報に対応する５×５の位置のグリッドを含み得る。この実施例の各ピクセルは、ピクセルによって表される対応する位置の［Ｘ  Ｙ  Ｚ］座標を含み得る。
【００５８】
一例として、計算システム１１００は、２Ｄパッチ８７４０ｐを、位置５７００［ｋｘ，ｋｙ］〜５７００［ｋｘ＋４，ｋｙ＋４］を含むサブセットを通じて、またはより具体的には、コーナー位置５７００［ｋｘ，ｋｙ］、５７００［ｋｘ＋４，ｋｙ］、５７００［ｋｘ，ｋｙ＋４］、および５７００［ｋｘ＋４，ｋｙ＋４］によって境界を形成された５×５グリッドの位置を通じて適合する、仮想２Ｄ平面として決定または識別し得る。５×５グリッドの位置は、位置のグリッドに対するそれぞれの座標（例えば、［Ｘ  Ｙ  Ｚ］座標）を記述し得る、画像情報のそれぞれのピクセルの５×５グリッドに対応してもよい。こうした一実施例では、計算システム１１００は、平面適合動作を実施して、それぞれの座標を通して適合する仮想２Ｄ平面を決定することによって、２Ｄパッチ８７４０ｐを決定し得る。平面適合動作は、定義された偏差閾値を下回る偏差の量などの、それぞれの座標から十分に低い量の偏差を有する、仮想２Ｄ平面を識別することを伴い得る。一部の実例では、２Ｄパッチ８７４０ｐに対する平面適合動作は、上で考察されたそれぞれの座標を通して最も適合する仮想２Ｄ平面を識別することを伴い得る。
【００５９】
実施形態では、複数の２Ｄパッチ（例えば、５７００１〜５７００ｎ）は、ノイズに対して堅牢または耐性のある様式で物体表面の平滑性を評価する計算システム１１００の能力を容易にし得る。より具体的には、ステップ４００２で受信される画像情報は、一部の実例では、画像情報の各々の個々のピクセルに対する配向情報を含み得る。ピクセルでの配向は、ピクセルによって表される位置に関連付けられた配向を記述し得る。計算システム１１００は、物体表面の平滑性を評価するために、個々のピクセルに関連付けられた配向情報を使用するように試み得るが、こうした配向情報は、撮像ノイズまたは何らかの他の誤差源によって引き起こされる誤差を含み得る。こうした誤差源を補正するために、計算システム１１００は、複数のピクセル、すなわちより具体的には、ピクセルのグリッド（例えば、５×５または１０×１０グリッドのピクセル）に基づいて、各々２Ｄパッチを決定し、物体表面の平滑性を評価するために、それぞれの２Ｄパッチに関連付けられた配向を使用し得る。２Ｄパッチの各々は、複数のピクセルに基づくため、ピクセルの任意の１つの誤差は、他のピクセルの情報によって平均化されるか、またはそうでなければ軽減され得る。したがって、２Ｄパッチに由来する配向情報は、物体表面にわたって平滑性を評価する、より正確または信頼できる方式を提供し得る。
【００６０】
実施形態では、複数の２Ｄパッチ（例えば、５７００１〜５７００ｎ）は各々、複数の２Ｄパッチが、高度な粒度または詳細を有する１つ以上の物体表面を表すことを可能にする、十分に小さなサイズを有してもよい。粒度のこうした度合いによって、計算システム１１００が、複数の２Ｄパッチを使用して、物体表面に滑らかさをもたらさない小さな物理的特徴さえも検出することが可能になり得る。例えば、２Ｄパッチの各々は、５×５ピクセルのサイズを有してもよい。言い換えれば、２Ｄパッチの各々は、画像情報の５×５グリッドのピクセルによって表される領域をカバーしてもよい。計算システム１１００は、こうした物理的特徴が比較的小さい場合であっても、表面の平滑性を減少させる、しわ、隆起、折り目、くぼみ、または他の物理的特徴を検出するために、この実施例の複数の２Ｄパッチを使用することができ得る。例えば、複数の２Ｄパッチは、数十ピクセルほどの解像度で、しわ、または他の物理的特徴を検出することができ得る。
【００６１】
上述のように、計算システム１１００は、実施形態では、複数の２Ｄパッチ（例えば、８７４０１〜８７４０ｎ）から、定義された配向類似性基準および定義された奥行き類似性基準を満たす連続的な２Ｄパッチのセットを識別することによって、定義された平滑性条件を満たす表面領域を識別し得る。こうした実施形態では、定義された配向類似性基準および／または定義された奥行き類似性基準は、定義された平滑性条件の一部であってもよく、その結果、定義された平滑性条件を満たすことは、定義された奥行き類似性基準および／または定義された配向類似性基準を満たすことを含む。より具体的には、この実施形態における連続的な２Ｄパッチのセットは、それらが定義された配向類似性基準および奥行き類似性基準を満たす場合に、定義された平滑性条件を満たすことができる。一例として、図８Ｄは、奥行き類似性基準および定義された奥行き類似性基準を満たす、連続的な２Ｄパッチのセット８７４５を示す。図８Ｄの連続的な２Ｄパッチのセット８７４５は、例えば、図８Ｃの２Ｄパッチ８７４０ｐ〜８７４０ｐ＋５を包含し得る。以下でより詳細に考察されるように、連続的な２Ｄパッチのセット（例えば、８７４５）は、定義された平滑性条件を満たす表面領域（例えば、６８１０）を形成し、または画定するために使用されてもよく、したがって、上で考察されたグリップ領域を形成するために使用され得る。
【００６２】
実施形態では、２Ｄパッチのセットは、空間的に連続する局所領域を画定してもよく、局所領域のどの部分も、局所領域のいずれの他の部分から完全に分離されていない。２Ｄパッチのセットは、２Ｄパッチのセットの各２Ｄパッチが、２Ｄパッチのセット中の他のすべての２Ｄパッチに直接的または間接的に接続される場合、連続的であり得る。この実施形態では、第１の２Ｄパッチおよび第２の２Ｄパッチは、それらが共通の境界部を共有するか、いくらかの重複を有するか、またはすぐ隣にある場合に、互いに直接的に接続され、かつ連続してもよい。より具体的には、第１の２Ｄパッチおよび第２の２Ｄパッチは、２Ｄパッチを決定するために平面適合を実施するために使用された位置を共有する場合に、互いに直接的に接続され、かつ連続してもよい。例えば、図８Ｃの２Ｄパッチ８７４０ｐおよび２Ｄパッチ８７４０ｐ＋１は、２Ｄパッチ８７４０ｐおよび２Ｄパッチ８７４０ｐ＋１の両方を決定するために使用される５つの共通位置を共有する。言い換えれば、２Ｄパッチ８７４０ｐを決定するために使用される位置と２Ｄパッチ８７４０ｐ＋１を決定するために使用される位置との重複が存在する。結果として、２Ｄパッチ８７４０ｐおよび２Ｄパッチ８７４０ｐ＋１は、互いに直接的に接続され、かつ連続するとみなされ得る。
【００６３】
さらに、第１の２Ｄパッチおよび第２の２Ｄパッチは、第１の２Ｄパッチおよび第２の２Ｄパッチを接続する２Ｄパッチのセットの中に中間パッチまたは複数の中間パッチが存在する場合、間接的に接続されるとみなされ得る。例えば、図８Ｃの２Ｄパッチ８７４０ｐ＋１は、２Ｄパッチ８７４０ｐおよび２Ｄパッチ８７４０ｐ＋２を間接的に接続する中間パッチであってもよい。別の実施例として、２Ｄパッチ８７４０ｐ＋３および８７４０ｐ＋４は、２Ｄパッチ８７４０ｐおよび２Ｄパッチ８７４０ｐ＋５を間接的に接続する中間パッチであってもよい。一実施例では、中間パッチは、それ自体が連続的であってもよく、例えば、１つの境界を第１の２Ｄパッチと共有し、別の境界部を第２の２Ｄパッチと共有してもよい。より具体的には、中間パッチのうちの１つは、第１の２Ｄパッチに直接的に接続されてもよく、中間パッチのうちの別の１つは、第２の２Ｄパッチに直接的に接続されてもよい。
【００６４】
実施形態では、２Ｄパッチのセットの配向は、それらの２Ｄパッチのそれぞれの法線ベクトルによって画定されてもよく、配向類似性基準は、法線ベクトルが互いに十分に類似していることを伴い得る。例えば、図８Ｅは、それぞれ２Ｄパッチ８７４０ｐ〜８７４０ｐ＋５に対する法線ベクトル８７５０ｐ〜８７５０ｐ＋５を描写しており、各法線ベクトルは、それぞれの２Ｄパッチに対して垂直なベクトルであってもよい。こうした実施形態では、第１の２Ｄパッチ（例えば、８７４０ｐ）および第２の２Ｄパッチ（例えば、８７４０ｐ＋１）の配向類似性基準は、それらの法線ベクトルが互いに十分に類似していることを伴い得る。例えば、計算システムは、第１の２Ｄパッチ（例えば、８７４０ｐ）に対して垂直なベクトルである第１の法線ベクトル（例えば、８７５０ｐ）を決定してもよく、第２の２Ｄパッチ（例えば、８７４０ｐ＋１）に対して垂直なベクトルであり得る第２の法線ベクトル（例えば、８７５０ｐ＋１）を決定してもよい。本実施例の計算システム１１００は、第１の法線ベクトル（例えば、８７５０ｐ）および第２の法線ベクトル（例えば、８７５０ｐ＋１）が、定義された配向類似性基準を満たすかどうかを決定することによって、第１の２Ｄパッチ（例えば、８７４０ｐ）および第２の２Ｄパッチ（８７４０ｐ＋１）が、定義された配向類似性基準を満たすかどうかを決定することができる。第１の法線ベクトルおよび第２の法線ベクトルは、例えば、第１の法線ベクトルと第２の法線ベクトルとの間の角度が、定義された角度閾値を下回るとき、および／または第１の法線ベクトルと第２の法線ベクトルとの間のドット積が、定義されたドット積値の閾値を超えるとき、定義された配向の類似性基準を満たし得る。図８Ｄの実施例で、計算システム１１００は、定義された配向類似性基準が、２Ｄパッチ８７４０ｐ〜８７４０ｐ＋５などのより大きな２Ｄパッチのグループに対して満たされているかどうかをさらに決定し得る。例えば、計算システム１１００は、２Ｄパッチの各々について、２Ｄパッチの法線ベクトルが、すぐ近くに隣接する隣接パッチの法線ベクトルに対する定義された角度閾値内にある場合に、２Ｄパッチ８７４０ｐ〜８７４０ｐ＋５に対して定義された配向類似性基準が満たされていると決定し得る。
【００６５】
実施形態では、定義された奥行き類似性基準は、奥行き寸法に沿って測定されるように、２Ｄパッチ間の１つ以上の距離が十分に小さいかどうかを伴い得る。例えば、計算システム１１００は、定義された奥行き類似性基準が、第１の２Ｄパッチと第２の２Ｄパッチとの間の第１の距離が定義された奥行き類似性基準を満たすかどうか、および／またはそれらの間の第２の距離が定義された奥行き類似性基準を満たすかどうかを決定することによって、第１の２Ｄパッチ（例えば、図８Ｆおよび図８Ｇにおける８７４０ｐ）および第２の２Ｄパッチ（例えば、８７４０ｐ＋１）について満たされているかどうかを決定し得る。より具体的には、計算システム１１００は、第１の距離および／または第２の距離が定義された距離閾値を下回る場合に、第１の２Ｄパッチおよび第２の２Ｄパッチについて、奥行き類似性基準が満たされていると決定し得る。図８Ｆにおける距離ｄ１などの第１の距離は、第１の２Ｄパッチ（例えば、８７４０ｐ）から、第１の２Ｄパッチ（例えば、８７４０ｐ）に対して垂直なベクトルであってもよい、第１の法線ベクトル（例えば、８７５０ｐ）に対して垂直な軸Ａに沿った第２の２Ｄパッチ（例えば、８７４０ｐ＋１）までの距離であってもよい。図８Ｆにおける距離ｄ２などの第２の距離は、第１の２Ｄパッチ（例えば、８７４０ｐ）から、第２の２Ｄパッチ（例えば、８７４０ｐ＋１）に対して垂直なベクトルであってもよい、第２の法線ベクトル（例えば、８７５０ｐ＋１）に対して垂直な軸Ｂに沿った第２の２Ｄパッチ（例えば、８７４０ｐ＋１）までの距離であってもよい。実施形態では、計算システム１１００は、２Ｄパッチの各々について、２Ｄパッチとすぐ近くに隣接する隣接２Ｄパッチとの間の１つ以上の距離が、定義された距離閾値よりも小さい場合に、２Ｄパッチ８７４０ｐ〜８７４０ｐ＋５などの２Ｄパッチのグループが、定義された奥行き類似性基準を満たしていると決定することができる。この実施形態では、１つ以上の距離は、上で考察された第１の距離および第２の距離を含んでもよく、これは、２つのパッチのそれぞれの法線ベクトルに沿って測定される。
【００６６】
上述のように、計算システムは、一部の実装形態では、定義された平滑性条件を満たす表面領域（例えば、図６および図９Ａの６８１０または図９Ｂの６８１２）を決定するために、定義された配向類似性基準および定義された奥行き類似性基準を満たす、連続的な２Ｄパッチのセットを決定し得る。より具体的には、表面領域は、グリップ領域として使用されてもよく、連続的な２Ｄパッチのセットによって画定された局所領域によって形成されてもよく、またはその中に適合してもよい。
【００６７】
実施形態では、計算システム１１００は、１つ以上の２Ｄパッチの初期セットを識別し、１つ以上の２Ｄパッチの初期セットを連続的な２Ｄパッチのセット内に拡張することによって、連続的な２Ｄパッチのセット（例えば、８７４５）を識別し得る。一例として、計算システム１１００は、図８Ｂ、図８Ｃ、および図８Ｅの２Ｄパッチ８７４０ｐを使用して、単一の２Ｄパッチの初期セットを形成することができる。この実施例では、単一の２Ｄパッチ８７４０ｐは、図８Ｄの連続的なパッチのセット８７４５に拡張されるシードとして使用され得る。
【００６８】
実施形態では、計算システム１１００は、１つ以上の２Ｄパッチの初期セットに、計算システム１１００によって、特定の領域にわたって、最も平滑な位置または位置のグループである、またはそれらを表すとみなされる、２Ｄパッチ（例えば、８７４０ｐ）を含むように構成されてもよい。一実施例では、特定の領域は、ステップ４００２の画像情報によって表されるシーンの特定の象限などの、２Ｄパッチを包含する局所領域であってもよい。一実施例では、特定の領域は、画像情報によって表されるシーン全体であってもよい。この実施例では、１つ以上の２Ｄパッチの初期セットに含まれる２Ｄパッチは、画像情報によって表される複数の位置（例えば、５７００１〜５７００ｎ）の中で、最も平滑な位置または位置のグループを表し得る。この実施例の位置のグループは、図８Ｃのコーナー位置（コーナー位置５７００［ｋｘ，ｋｙ］、５７００［ｋｘ＋４，ｋｙ］、５７００［ｋｘ，ｋｙ＋４］、および５７００［ｋｘ＋４，ｋｙ＋４］）によって境界付けられた５×５グリッドの位置などの位置のクラスタであり得る。
【００６９】
実施形態では、計算システム１１００は、画像情報によって表される１つ以上の表面にわたって、それぞれの平滑性の度合いを示す複数の平滑性スコアを決定してもよく、１つ以上の表面は、１つ以上の物体表面（例えば、物体３５２０１、３５２０２などのそれぞれの物体表面）を含み得る。より具体的には、複数の平滑性スコアは、画像情報によって表される複数の位置（例えば、５７００１〜５７００ｎ）におけるそれぞれの平滑性の度合いを示し得る。上述のように、計算システム１１００は、１つ以上の２Ｄパッチの初期セットに、画像情報によって表されるシーンの局所領域にわたって、または全体にわたって最も平滑な位置または位置のグループを表す２Ｄパッチを含み得る。この実施形態では、この２Ｄパッチは、複数の平滑性スコアの中で最も高い平滑性スコアを有する位置を表し得る。一部の実例では、複数の平滑性スコアは、画像情報によって表されるシーンにわたる平滑性を測定する、平滑性マップを形成し得る。こうした実例では、初期セットに含まれる２Ｄパッチは、平滑性マップ全体にわたって、または平滑性マップの局所領域（例えば、平滑性マップの局所象限）にわたって、最も高い平滑性スコアを有してもよい。
【００７０】
上述のように、計算システム１１００は、１つ以上の２Ｄパッチの初期セットを、連続的な２Ｄパッチのセットに拡張することを試み得る。初期セットは、例えば、互いに連続的な単一の２Ｄパッチ（例えば、８７４０ｐ）または複数の２Ｄパッチ（例えば、８７４０ｐおよび８７４０ｐ＋１）を含んでもよく、連続的な２Ｄパッチのセット内に拡張されるシードとして作用してもよい。より具体的には、初期セットは、連続的な２Ｄパッチのセットの初期バージョンであってもよい。計算システム１１００は、連続的な２Ｄパッチのセットのこの初期バージョンに１つ以上の２Ｄパッチを追加して、更新バージョンを生成し得る。図８Ｄの例では、連続的なパッチのセット８７４５は、例えば、連続的な２Ｄパッチのセットの最終バージョンであってもよい。最終バージョンは、例えば、定義された平滑性条件、すなわち、より具体的には、定義された配向類似性基準および定義された奥行き類似性基準を満たす、ならびに１つ以上の２Ｄパッチの初期セットから拡張された（例えば、８７４０ｐ１から拡張された）、計算システム１１００が識別することができる連続的な２Ｄパッチの最大可能なセットであってもよい。この実施例では、計算システム１１００は、複数の２Ｄパッチ（例えば、８７４０１〜８７４０ｎ）において、任意の追加の２Ｄパッチを識別することができない場合に、セット内の既存の２Ｄパッチと連続しており、かつ既存の２Ｄパッチに対する配向類似性基準および奥行き類似性基準を満たす連続的な２Ｄパッチのセットを拡張することを試みることを停止し得る。
【００７１】
拡張の一例として、計算システム１１００は、（ｉ）連続的な２Ｄパッチのセットに現在ない、またはより具体的には、連続的な２Ｄパッチのセットの現在のバージョンにない、（ｉｉ）連続的な２Ｄパッチのセットの現在のバージョンにある少なくとも１つの２Ｄパッチと連続的である、および（ｉｉｉ）少なくとも１つの２Ｄに対して定義された配向類似性基準および定義された奥行き類似性基準を満たす、２Ｄパッチを検索してもよい。計算システム１１００は、上記の基準を満たす２Ｄパッチなどを識別することができる場合に、その２Ｄパッチを、連続的な２Ｄパッチのセットの現在のバージョンに追加して、セットの更新されたバージョンを生成することができる。例えば、１つ以上の２Ｄパッチの初期セットが、上で考察された複数のパッチ（例えば、８７４０１〜８７４０ｎ）の第１の２Ｄパッチ（例えば、図８Ｃの８７４０ｐ）を含む場合に、計算システム１１００は、連続的な２Ｄパッチのセットの初期バージョンとして、初期セットを使用し得る。計算システム１１００は、複数の２Ｄパッチの中から、第１の２Ｄパッチと連続しており、かつ初期セットに現在ない第２の２Ｄパッチ（例えば、８７４０ｐ＋１または８７４０ｐ＋３）を識別することによって、この初期バージョンを拡張してもよい。計算システムは、第１の２Ｄパッチ（例えば、８７４０ｐ）および第２の２Ｄパッチ（例えば、８７４０ｐ＋１または８７４０ｐ＋３）が、定義された配向類似性基準および定義された奥行き類似性基準を満たすかどうかをさらに決定し得る。計算システム１１００は、上記の基準が満たされているという決定に応答して、第２の２Ｄパッチを初期セットに追加して、拡張された２Ｄパッチのセットを生成し得る。拡張されたセットは、連続的な２Ｄパッチのセットの更新されたバージョンであってもよい。一部の実例では、拡張されたセットは、図８Ｄの連続的な２Ｄパッチのセット８７４５などの、連続的な２Ｄパッチのセットの最終バージョンを形成することができる。一部の実例では、拡張されたセットは、連続的な２Ｄパッチのセットの中間バージョンであってもよく、中間バージョンは、連続する２Ｄパッチのセットの最終バージョンの一部を形成してもよい。
【００７２】
実施形態では、第１の２Ｄパッチ（例えば、８７４０ｐ）および第２の２Ｄパッチ（例えば、８７４０ｐ＋１）が定義された配向類似性基準を満たすかどうかを決定することは、第１の２Ｄパッチの法線ベクトル（例えば、８７５０ｐ）と、第２の２Ｄパッチの法線ベクトル（例えば、８７５０ｐ＋１）を比較すること、および図８Ｅに関して上で考察されたように、２つの法線ベクトルが定義された配向類似性基準を満たすかどうかを決定することを伴い得る。実施形態では、第１の２Ｄパッチ（例えば、８７４０ｐ）および第２の２Ｄパッチ（例えば、８７４０ｐ＋１）が定義された奥行き類似性基準を満たすかどうかを決定することは、２Ｄパッチ間の１つ以上の距離が、定義された奥行き類似性基準を満たすかどうかを決定することを伴い得る。１つ以上の距離は、図８Ｆおよび図８Ｇに関して上で考察されたように、第１の２Ｄパッチの法線ベクトルに対して平行な軸に沿って測定される第１の距離（例えば、ｄ１）、および第２の２Ｄパッチの法線ベクトルに対して平行な軸に沿って測定される第２の距離（例えば、ｄ２）を含み得る。計算システム１１００は、例えば、第１の距離または第２の距離のうちの少なくとも１つが、定義された奥行き類似性基準を満たす場合に、第１の２Ｄパッチおよび第２の２Ｄパッチが、定義された奥行き類似性基準を満たすことを決定し得る。
【００７３】
実施形態では、上で考察された拡張されたセットが連続的な２Ｄパッチのセットの中間バージョンである場合、計算システム１１００は、拡張されたセットを更新することを試み得る。拡張は、拡張されたセットの中に現在ある少なくとも１つの２Ｄパッチ（例えば、８７４０ｐ＋１）と連続しており、かつ少なくとも１つの２Ｄパッチに関して定義された配向類似性基準および定義された奥行き類似性基準を満たしている、１つ以上の残りの２Ｄパッチ（例えば、８７４０ｐ＋２）を検索することによって実施され得る。検索は、上で考察された複数の２Ｄパッチ（例えば、８７４０１〜８７４０ｎ）の中から行われてもよい。計算システム１１００は、１つ以上の残りの２Ｄパッチを拡張されたセットに追加することによって、拡張されたセットを更新し得る。
【００７４】
実施形態では、計算システム１１００は、連続的な２Ｄパッチのセットを使用して、グリップ領域として使用され得る表面領域を形成し、または識別し得る。言い換えれば、グリップ領域として識別される表面領域は、連続的な２Ｄパッチのセットによって形成されてもよく、および／または連続的な２Ｄパッチのセット内に適合してもよい。より具体的には、連続的な２Ｄパッチのセットは、セット内の２Ｄパッチが、定義された配向類似性基準および定義された奥行き類似性基準を満たし得るため、定義された平滑性条件を満たすことができる。計算システム１１００は、連続的な２Ｄパッチのセットの境界部内に適合する表面領域として、グリップ領域を画定し得る。一部の実例では、この表面領域は、連続的な２Ｄパッチのセットと同じ形状を有してもよい。一部の実例では、この表面領域は、連続的な２Ｄパッチのセット内に適合する定義された領域形状（例えば、長方形形状、円形状、または楕円形状）を有してもよい。一例として、図９Ａは、計算システム１１００が連続的な２Ｄパッチのセット８７４５内に適合する表面領域６８１０として、グリップ領域を識別する、実装形態を描写する。この実施例では、計算システム１１００は、連続的な２Ｄパッチのセット８７４５によって形成される境界８７４６と同一または実質的に同一である境界部を有するように、表面領域６８１０を画定してもよい。図９Ｂは、計算システム１１００が、グリップ領域を、画定された形状を有する表面領域６８１２として識別する実施例を示す。より具体的には、表面領域６８１２は、連続的な２Ｄパッチのセット８７４５の境界部８７４６内に適合する長方形領域であってもよい。
【００７５】
上述のように、表面領域６８１０または表面領域６８１２は、グリップ領域として識別されてもよく、これは、グリップ領域検出操作によって、またはより具体的には、図２Ｃのグリップ領域検出モジュール１１２７によって出力される検出結果であり得る。検出結果は、例えば、運動計画モジュール１１２９によって行われ得る、例えば、運動計画操作への入力として提供されてもよい。
【００７６】
図４に戻ると、方法４０００は、実施形態において、計算システム１１００が、１つ以上の水平寸法でグリップ領域を囲む三次元（３Ｄ）領域であってもよい、安全領域（安全ボリュームとも呼ばれる）を識別し得る、ステップ４００６を含み得る。１つ以上の水平寸法（例えば、Ｘ寸法および／またはＹ寸法）は、接地と平行であってもよく、および／または奥行き寸法に対して垂直であってもよく、奥行き寸法は、例えば、重力軸と平行な垂直寸法であってもよい。例えば、図１０、図１１Ａ、および図１１Ｂは、計算システムが安全領域として識別し得る、３Ｄ領域６８２０を示す。３Ｄ領域６８２０は、例えば、Ｘ次元およびＹ次元で延在し得る。図１１Ａに示すように、３Ｄ領域６８２０または他の安全領域は、２つの水平寸法で表面領域６８１０などのグリップ領域を囲むことができる。一部の実装形態では、安全領域は、１つ以上の水平寸法に対して垂直な垂直寸法に沿って延在し得る。例えば、安全領域を形成する３Ｄ領域６８２０は、図１２Ａおよび図１２Ｂ（物体３５２０ｎ−５および３５２０ｎ−４をさらに示す）に示すように、表面領域６８１０から下方向に、垂直寸法（例えば、Ｚ寸法）に沿って延在する長方形領域であり得る。一部の実例では、安全領域は、表面領域６８１０のどの部分も、Ｚ寸法の安全領域の上面またはいかなる他の表面も越えて延在しないように、表面領域６８１０を完全に包含するように画定され得る。一部の実例では、表面領域６８１０は、安全領域の表面を越えて突出する、１つ以上の部分を有してもよい。
【００７７】
以下でより詳細に考察されるように、グリップ領域検出操作の出力でもあり得る安全領域は、グリップ領域に関連付けられた物体（例えば、３５２０１）を掴むために、運動計画中、またはより具体的には、ロボット運動計画中に使用され得る。より具体的には、安全領域の使用は、ロボットの環境で物体と別の物体または構造との間の衝突の可能性を低減し得る。一部の実例では、安全領域は、物体（例えば、３５２０１）を掴んで移動するための移動を計画する際に、計算システム１１００が安全マージンを考慮に入れるように、物体の周りに安全マージンを提供し得る。例えば、運動計画は、エンドエフェクタ装置（例えば、３３３０）が、グリップ領域で物体を掴んだ後に追従する移動経路を決定することを伴ってもよく、エンドエフェクタ装置は、グリップ領域および物体に、同じ移動経路を実質的に追従させる。グリップ領域を囲む安全領域は、この実施例では、安全マージンを提供するために、１つ以上の水平寸法で物体をさらに囲むのに十分な大きさであってもよい。計算システム１１００は、安全領域（グリップ領域を囲む）と、容器壁、電気配線、およびロボット環境内の他の物体などの構造との間の衝突を避けるために、移動経路を決定し得る。こうした運動計画の形態は、例えば、物体と、物体の移動経路の近くにあってもよい他の物体または構造との間のより大きな距離を保つことによって、物体とそれらの他の物体または構造との間の衝突の可能性をさらに低減することなどの、より保存的な様式で、エンドエフェクタ装置を移動させ得る。
【００７８】
上述のように、グリップ領域を囲む安全領域は、実施形態では、グリップ領域に関連付けられた物体を１つ以上の水平寸法でさらに取り囲むのに十分な大きさであってもよい。より具体的には、安全領域は、物体の境界部を越えてグリップ領域から延在するように十分に大きくてもよく、その結果、物体の境界部は、１つ以上の水平寸法で安全領域の境界部によって包含される。実施形態では、安全領域の境界部は、１つ以上のエッジを含んでもよく、計算システム１１００は、定義された横方向寸法サイズに基づいて、安全領域の少なくとも１つのエッジを決定してもよい。定義された横方向寸法サイズは、物体の横方向寸法（物体横方向寸法とも呼ばれる）の定義されたサイズであってもよい。物体の横方向寸法は、物体の厚さ寸法に対して垂直な寸法であってもよい。例えば、長方形形状の物体は、長さ寸法および幅寸法を含む横方向寸法を有してもよく、一方で、ディスク形状の物体は、放射状の寸法である横方向寸法を有してもよい。一例として、図１１Ｂは、物体（例えば、３５２０１）または物体のグループに対する長さ寸法の定義されたサイズであってもよい、第１の定義された横方向寸法サイズ、長さ３５２０を描写する。図１１Ｂは、物体または物体のグループに対する幅寸法の定義されたサイズであってもよい、第２の定義された横方向寸法サイズ、幅３５２０をさらに描写する。定義されたサイズは、例えば、事前に定義されてもよく、非一時的コンピュータ可読媒体１１２０に記憶されてもよい。
【００７９】
上述のように、定義された横方向寸法サイズは、物体または物体のグループに関連付けられてもよい。より具体的には、計算システム１１００は、実施形態では、ロボット（例えば、３３００）が、同じサイズまたは実質的に同じサイズを有する物体（例えば、３５２０１〜３５２０ｎ）を掴んで移動させると予想される、または単一の物体（例えば、３５２０１）のみを掴むと予想される、シナリオで動作してもよい。例えば、ロボットは、同一の衣服パッケージのグループのみを含有する、衣服のパッケージをビンから持ち上げることが予想され得る。パッケージのグループは、例えば、同じ在庫管理単位（ＳＫＵ）番号に関連付けられてもよい。
【００８０】
上記の実施形態では、計算システム１１００は、パッケージのグループ、またはより一般的には、物体のグループに関連付けられた、定義された物体長さまたは定義された物体幅などの定義された横方向寸法サイズを使用して、安全領域のエッジを決定してもよい。より具体的には、物体のグループは、図１１Ｂの長さ３５２０および幅３５２０などの１つ以上の定義された横方向寸法サイズを共有することができる。計算システム１１００は、物体３５２０１などの、グリップ領域（例えば、表面領域６８１０／６８１２）に関連付けられた物体が、グリップ領域から定義された横方向寸法サイズを超えて延在しないエッジを有すると予想し得る。より具体的には、図１１Ｂの表面領域６８１０に関連付けられる物体３５２０１は、長さ３５２０以下の距離だけ第１の寸法（例えば、長さ寸法）に沿って表面領域６８１０または他のグリップ領域から延在し、幅３５２０以下の距離だけ第２の寸法（例えば、幅寸法）に沿って延在する、物体表面を有してもよい。計算システムが、安全領域６８２０の少なくとも１つのエッジ（例えば、６８２１）を、長さ３５２０と等しい距離だけ表面領域６８１０を越えて位置するように設定し、安全領域６８２０の少なくとも別のエッジ（例えば、６８２２／６８２３）を、幅３５２０と等しい距離だけ表面領域６８１０を越えて位置するように設定する場合、こうした安全領域６８２０は、表面領域６８１０（この実施例では、グリップ領域である）に関連付けられる物体（例えば、３５２０１）を取り囲む可能性が高い可能性がある。したがって、この実施例では、計算システムは、物体の横方向寸法に関連付けられた定義された横方向寸法サイズに基づいて、安全領域のエッジを決定し得る。
【００８１】
実施形態では、安全領域のエッジは、物体のグループに対する最大横方向寸法サイズに基づいて決定されてもよい。こうした実施形態は、ロボットが、異なるそれぞれの横方向寸法サイズを有する物体のグループを掴んで移動させることが予想される、シナリオを伴い得る。例えば、ロボットは、異なるＳＫＵ番号に関連付けられ、かつ異なる物体長さおよび／または異なる物体幅を有するパッケージのグループを含み得る衣服のパッケージを、ビンから持ち上げることが予想され得る。こうした実施形態では、計算システム１１００は、物体のグループ間の定義された最大物体長さまたは定義された最大物体幅などの最大横方向寸法サイズを使用して、安全領域のエッジを決定してもよい。例えば、計算システムは、第１の定義された最大横方向寸法サイズ（例えば、定義された最大物体長さ）と等しい距離だけグリップ領域を越えて位置する、１つのエッジまたは一対のエッジを有するように、安全領域を決定してもよく、第２の定義された最大横方向寸法サイズ（例えば、定義された最大物体幅）と等しい距離だけグリップ領域を越えて位置する、別のエッジまたは別の一対のエッジを有するように、安全領域を決定してもよい。
【００８２】
実施形態では、計算システム１１００は、物体が配置される容器の容器壁に位置する安全領域のエッジを決定してもよい。例えば、図１１Ａの画像情報５７００（例えば、点群）は、図３Ａ〜図３Ｃの容器３５１０などの容器内の１つ以上の表面上の位置の奥行き情報を記述することができる。こうした実例では、計算システム１１００は、容器内に配置された物体（例えば、３５２０１）が、容器のエッジを形成し得る容器壁を通過して延在しないことを予想し得る。したがって、安全領域は、容器（例えば、３５１０）内の物体（例えば、３５２０１）をなおも取り囲むために、容器壁を越えて延在する必要はない場合がある。したがって、図１１Ｂに示すように、計算システム１１００は、３Ｄ領域６８２０（この実施例では、安全領域である）のエッジ６８２４が容器３５１０の容器壁に関連付けられた位置にあると決定し得る。図１１Ｂに示すように、エッジ６８２４の位置は、定義された横方向寸法サイズ（例えば、長さ３５２０）よりも小さいグリップ領域（例えば、表面領域６８１０）からの距離を有してもよい。この実施例では、計算システム１１００は、例えば、画像情報５７００の奥行きの急激な変化を検出するか、または画像情報５７００の端部を検出することによって、容器壁を検出し得る。したがって、図１１Ｂの実施形態では、計算システムは、（ｉ）エッジ６８２４を画定する位置などの、容器壁に関連付けられる位置、または（ｉｉ）エッジ６８２１／６８２２／６８２３を画定する位置などの、水平寸法（例えば、長さ寸法または幅寸法）に沿って定義された横方向寸法サイズ（例えば、長さ３５２０、または幅３５２０）だけ、グリップ領域から延在する位置のうちの少なくとも１つまで、水平寸法で延在する領域として、安全領域（例えば、３Ｄ領域６８２０）を識別し得る。
【００８３】
実施形態では、計算システム１１００は、図１２Ａにおける高さ６８２０などの、安全領域の高さを決定することができる。安全領域の高さ（安全領域高さとも呼ばれる）は、物体に関連付けられる定義された横方向寸法サイズ（例えば、長さ３５２０）、または物体のグループに関連付けられた最大横方向寸法サイズに基づいてもよい。一例として、計算システム１１００は、高さ６８２０を、長さ３５２０と等しく、または実質的に等しく設定するか、または他の方法で決定し得る。こうした実施形態では、定義された横方向寸法サイズに関連付けられた物体（例えば、３５２０１）は、持ち上げられているときに弛む、可撓性の物体であってもよい。例えば、図１２Ｂは、エンドエフェクタ装置３３３０によって、またはより具体的には、その吸引カップ３３３２ｎによって持ち上げられたときに弛む、衣服のパッケージなどの物体３５２０１を示す。安全領域が運動計画に使用される場合、このような様式で安全領域の高さを決定することにより、運動計画は、持ち上げられているときに、物体がそれ自体の重量で弛む傾向を考慮に入れることができる。結果として、運動計画は、物体と別の物体または構造との間の衝突の可能性を低減し得る。
【００８４】
図４に戻ると、方法４０００は、実施形態では、計算システム１１００が、グリップ領域（例えば、表面領域６８１０／６８１２）および安全領域（例えば、３Ｄ領域６８２０）に基づいて、ロボット運動計画を実施する、ステップ４００８を含み得る。ロボット運動計画は、エンドエフェクタ装置（例えば、３３３０）によって、物体（例えば、３５２０１）をグリップ領域で掴むためのものであってもよい。上述のように、物体は、一部の実例では、可撓性の物体であってもよい。実施形態では、ロボット運動計画は、軌道であって、それに沿ってグリップ領域がエンドエフェクタ装置によって移動する軌道を生成するか、または他の方法で決定することを伴い得る。例えば、計算システム１１００は、エンドエフェクタ装置（例えば、３５２０１）が、グリップ領域と係合するように、グリップ領域に接近し、およびグリップ領域と接触する、軌道を決定してもよい。グリップ領域を係合することは、エンドエフェクタ装置に、グリップ領域で物体（例えば、３５２０１）を掴ませ得る。軌道は、物体を持ち上げ、物体を目的位置に移動させるエンドエフェクタ装置をさらに含み得る。ロボット運動計画は、掴まれた物体と、エンドエフェクタ装置の環境中の他の物体または構造との間の衝突のリスクを低減するように、エンドエフェクタ装置の環境中の他の物体または構造と安全領域が接触することを回避する様式で実施され得る。
【００８５】
一例として、物体（例えば、３５２０１）が容器（例えば、３５１０）内に配置される場合、ロボット運動計画は、物体（例えば、３５２０１）と容器壁などの構造との間の衝突を回避しようとしてもよい。この実施例では、計算システム１１００は、上で考察された軌道によって、軌道に沿って安全領域がグリップ領域（例えば、表面領域６８１０）に追従するときに、物体３５２０１を囲む３Ｄ領域６８２０などの安全領域が、容器３５１０の一部分と重複するかどうかを決定し得る。上述のように、物体は、一部の実例では、図１２Ｂに示されるように、持ち上げられると弛む場合がある。エンドエフェクタ装置３３３０が、物体を十分な高さまで持ち上げる前に、こうした物体を横向きに移動させようと試みる場合に、物体の弛み部分は、容器壁と衝突し得る。安全領域は、こうした衝突の可能性を考慮に入れるために使用され得る。より具体的には、安全領域は、上で考察されたように、定義された横方向寸法サイズに基づく高さ（例えば、ｈ６８２０）を有してもよい。こうした一実施例では、物体の弛み部分を容器壁と衝突させる軌道はまた、容器壁などの容器の一部分と安全領域を重複させ得る。したがって、計算システム１１００が、軌道によって容器の一部分と安全領域（例えば、６８２０）が重複すると決定する場合に、計算システム１１００は、調整された軌道に沿ってグリップ領域に追従するときに、安全領域に容器（例えば、３５１０）を回避させる調整された軌道を生成し得る。結果として、安全領域の使用は、掴まれた物体（例えば、３５２０１）と容器（例えば、３５１０）との間の衝突の可能性を減少させ得る。
【００８６】
実施形態では、上記のステップのうちの１つ以上が繰り返されてもよい。例えば、計算システム１１００は、第１の物体（例えば、３５２０１）をビンから持ち上げて、第１の物体を目的位置に送達するロボット移動を容易にするために、ステップ４００２〜４００８を実施して、第１のグリップ領域および第１の安全領域を識別することができる。この実施形態の計算システム１１００は、別の物体（例えば、３５２０２）をビンから持ち上げて、その他の物体を目的位置に送達するロボット移動を容易にするために、ステップ４００４〜４００８を繰り返して、第２のグリップ領域および第２の安全領域を識別することができる。実施形態では、１つ以上のステップを省略することができる。例えば、計算システム１１００は、ステップ４００８を実施することなく、ステップ４００２〜４００６を実施するか、またはステップ４００６を実施することなく、ステップ４００２および４００４を実施することができる。
【００８７】
様々な実施形態に関する追加の考察：
実施形態１は、計算システムが非一時的コンピュータ可読媒体上の命令を実行するときなどの、計算システムや、計算システムによって行われる方法に関する。計算システムは、通信インターフェースおよび少なくとも１つの処理回路を含み得る。通信インターフェースは、エンドエフェクタ装置を有するロボット、およびカメラ視野を有するカメラと通信するように構成される。少なくとも１つの処理回路は、可撓性の物体がカメラ視野内にあるとき、可撓性の物体に関連付けられた物体表面を表す画像情報であって、カメラによって生成される画像情報を受信することを行うように構成される。少なくとも１つの処理回路は、定義された平滑性条件を満たしかつ定義された領域サイズの閾値以上である領域サイズを有する物体表面の表面領域を、画像情報に基づいてグリップ領域として識別することと、１つ以上の水平寸法でグリップ領域を囲みかつ１つ以上の水平寸法に対して垂直な垂直寸法に沿ってグリップ領域から延在する三次元（３Ｄ）領域を、安全領域として識別することと、グリップ領域および安全領域に基づいて、エンドエフェクタ装置によって、グリップ領域で可撓性の物体を掴むためのロボット運動計画を実施することと、を行うようにさらに構成される。
【００８８】
実施形態２は、実施形態１の計算システムを含む。この実施形態では、定義された領域サイズの閾値は、エンドエフェクタ装置と可撓性の物体との間の接触に関連付けられる定義された接触領域サイズであり、その結果、グリップ領域は、定義された接触領域サイズを有する接触領域と適合するのに十分な大きさである。
【００８９】
実施形態３は、実施形態２の計算システムを含む。この実施形態では、定義された領域サイズの閾値は、エンドエフェクタ吸引カップに関連付けられる定義された吸引カップサイズである。
【００９０】
実施形態４は、実施形態１の計算システムを含む。この実施形態では、定義された領域サイズの閾値は、可撓性の物体に関連付けられる定義された物体サイズである。
【００９１】
実施形態５は、実施形態１〜４のうちのいずれか１つの計算システムを含む。この実施形態では、可撓性の物体が、厚さ寸法、および厚さ寸法に対して垂直な横方向寸法を有する場合、少なくとも１つの処理回路は、可撓性の物体の横方向寸法に関連付けられる定義された横方向寸法サイズに基づいて、安全領域のエッジを決定するように構成される。
【００９２】
実施形態６は、実施形態１〜５のうちのいずれか１つの計算システムを含む。この実施形態では、可撓性の物体が、それぞれそれぞれの横方向寸法サイズを有する、カメラ視野内にある可撓性の物体のグループのうちの１つである場合、少なくとも１つの処理回路は、異なる横方向寸法サイズの最大横方向寸法サイズに基づいて、安全領域のエッジを決定するように構成される。
【００９３】
実施形態７は、実施形態１〜６のうちのいずれか１つの計算システムを含む。この実施形態では、可撓性の物体が、持ち上げられている際に弛む物体である場合、少なくとも１つの処理回路は、可撓性の物体に関連付けられる定義された横方向寸法サイズに基づいて、安全領域高さを決定するように構成される。
【００９４】
実施形態８は、実施形態７の計算システムを含む。この実施形態では、可撓性の物体が容器内に配置される場合、少なくとも１つの処理回路は、物体表面のグリップ領域がエンドエフェクタ装置によって移動する際に沿う軌道を生成することと、安全領域が軌道に沿ってグリップ領域に追従するときに、軌道が安全領域を容器の一部分と重複させるかどうかを決定することと、軌道が安全領域を容器の一部分と重複させるとの決定に応答して、調整された軌道を生成することであって、調整された軌道が、安全領域が調整された軌道に沿ってグリップ領域に追従するときに、安全領域を容器との重複とするのを回避させることと、によって、ロボット運動計画を実施するように構成される。
【００９５】
実施形態９は、実施形態１〜８のうちのいずれか１つの計算システムを含む。この実施形態では、画像情報が、容器内の１つ以上の表面上の位置の奥行き情報を記述する点群を含む場合、少なくとも１つの処理回路は、（ｉ）容器壁に関連付けられる位置、または（ｉｉ）１つ以上の水平寸法のうちの１つの水平寸法に沿って定義された横方向寸法サイズだけ、グリップ領域から延在する位置のうちの少なくとも１つまで、１つ以上の水平寸法で延在する領域として、安全領域を識別するように構成される。
【００９６】
実施形態１０は、実施形態１〜９のうちのいずれか１つの計算システムを含む。この実施形態では、画像情報が、カメラ視野内の複数の位置の奥行き情報を記述する場合、少なくとも１つの処理回路は、複数の位置のそれぞれのサブセットを近似する、物体表面を表す複数の二次元（２Ｄ）パッチを決定することと、複数の２Ｄパッチの中から、定義された配向類似性基準および定義された奥行き類似性基準を満たす連続的な２Ｄパッチのセットを識別することと、によって、グリップ領域を識別するように構成されており、グリップ領域として識別された表面領域は、連続的な２Ｄパッチのセットによって形成されるか、または連続的な２Ｄパッチのセット内に適合しており、表面領域について定義された平滑性条件を満たすことは、連続的な２Ｄパッチのセットについての定義された配向類似性基準および定義された奥行き類似性基準を満たす。
【００９７】
実施形態１１は、実施形態１０の計算システムを含む。この実施形態では、グリップ領域は、定義された領域形状を有していると共に、連続的な２Ｄパッチのセット内に適合する。
【００９８】
実施形態１２は、実施形態１０または１１の計算システムを含む。この実施形態では、少なくとも１つの処理回路は、１つ以上の２Ｄパッチの初期セットを識別することと、１つ以上の２Ｄパッチの初期セットを、連続的な２Ｄパッチのセットに拡張することと、によって、連続的な２Ｄパッチのセットを識別するように構成される。
【００９９】
実施形態１３は、実施形態１２の計算システムを含む。この実施形態では、１つ以上の２Ｄパッチの初期セットは、複数の２Ｄパッチのうちの第１の２Ｄパッチを含み、少なくとも１つの処理回路は、第１の２Ｄパッチに対して垂直なベクトルである第１の法線ベクトルを決定することと、複数の２Ｄパッチの中から、第１の２Ｄパッチと連続しかつ１つ以上の２Ｄパッチの初期セットの中にない第２の２Ｄパッチを識別することと、第２の２Ｄパッチに対して垂直なベクトルである第２の法線ベクトルを決定することと、（ｉ）第１の法線ベクトルに対して平行な軸に沿った、第１の２Ｄパッチから第２の２Ｄパッチまでの第１の距離、または（ｉｉ）第２の法線ベクトルに対して平行な軸に沿った、第２の２Ｄパッチから第１の２Ｄパッチまでの第２の距離、のうちの少なくとも１つを決定することと、第１の法線ベクトルおよび第２の法線ベクトルが、定義された配向類似性基準を満たすかどうかを決定することと、第１の距離または第２の距離のうちの少なくとも１つが、定義された奥行き類似性基準を満たすかどうかを決定することと、第１の法線ベクトルおよび第２の法線ベクトルが定義された配向類似性基準を満たすという決定、および第１の距離または第２の距離のうちの少なくとも１つが定義された奥行き類似性基準を満たすという決定に応答して、第２の２Ｄパッチを、初期セットに追加して、２Ｄパッチの拡張されたセットを生成することであって、拡張されたセットが、連続的な２Ｄパッチのセットを形成するか、または連続的な２Ｄパッチのセットの一部を形成することと、によって、１つ以上の２Ｄパッチの初期セットを、連続的な２Ｄパッチのセットに拡張するように構成される。
【０１００】
実施形態１４は、実施形態１３の計算システムを含む。この実施形態では、少なくとも１つの処理回路は、複数の２Ｄパッチの一部である２Ｄパッチであって、２Ｄパッチの拡張されたセットに現在ない２Ｄパッチの中から、（ｉ）拡張されたセットの中に現在ある２Ｄパッチと連続し、かつ、（ｉｉ）拡張されたセットの中で２Ｄパッチに関して定義された配向類似性基準および定義された奥行き類似性基準を満たしている、１つ以上の残りの２Ｄパッチを検索することと、１つ以上の残りの２Ｄパッチを拡張されたセットに追加することによって、拡張されたセットを更新することと、を行うようにさらに構成される。
【０１０１】
実施形態１５は、実施形態１２〜１４のうちのいずれか１つの計算システムを含む。この実施形態では、少なくとも１つの処理回路は、１つ以上の２Ｄパッチの初期セットに、画像情報によって表される複数の位置の中から最も平滑な位置または位置のグループを表す、複数の２Ｄパッチのうちの１つの２Ｄパッチを含むように構成される。
【０１０２】
実施形態１６は、実施形態１５の計算システムを含む。この実施形態では、少なくとも１つの処理回路は、画像情報によって表されるそれぞれの位置で、１つ以上の物体表面にわたって、それぞれの平滑性の度合いを示す複数の平滑性スコアを決定するように構成されており、１つ以上の２Ｄパッチの初期セットに含まれる２Ｄパッチは、複数の平滑性スコアの中で最も高い平滑性スコアを有する位置を表す。
【０１０３】
関連分野の当業者にとって、本明細書に記載する方法および用途への、その他の好適な修正ならびに適応が、実施形態のうちのいずれの範囲から逸脱することなく成すことができることは明らかであろう。上に記載する実施形態は、説明に役立つ実施例であり、本発明がこれらの特定の実施形態に限定されると解釈されるべきではない。本明細書に開示する様々な実施形態は、記載および添付の図に具体的に提示する組み合わせとは異なる組み合わせで、組み合わせてもよいことは理解されるべきである。実施例によって、本明細書に記載するプロセスもしくは方法のいずれのある特定の行為または事象は、異なる順番で行われてもよく、追加、統合、または完全に省略してもよいことも理解されるべきである（例えば、記載したすべての行為または事象は、方法またはプロセスを実施するのに必要ではない場合がある）。加えて、本明細書の実施形態のある特定の特徴を、明確にするために、単一の構成要素、モジュール、またはユニットにより行われていると記載しているものの、本明細書に記載する特徴および機能は、構成要素、モジュール、またはユニットのいかなる組み合わせによって行われてもよいことは理解されるべきである。したがって、添付の特許請求の範囲で定義されるような、発明の趣旨または範囲から逸脱することなく、様々な変更および修正を当業者が及ぼしてもよい。
【要約】      （修正有）【課題】物体を掴むためのグリップ領域および／または安全領域を識別し、ロボットが物体をピックアップするシステムを提供する。【解決手段】計算システムによって行われる方法を提示する。方法は、可撓性の物体に関連付けられた物体表面を表す画像情報を受信することと、定義された平滑性条件を満たしかつ定義された領域サイズの閾値以上である領域サイズを有する物体表面の表面領域を、画像情報に基づいてグリップ領域として識別することと、を行う計算システムを含み得る。方法は、１つ以上の水平寸法でグリップ領域を囲みかつ１つ以上の水平寸法に対して垂直な垂直寸法に沿ってグリップ領域から延在する三次元（３Ｄ）領域を、安全領域として識別することをさらに含み得る。方法は、さらに、グリップ領域および安全領域に基づいて、ロボット運動計画を実施することを含み得る。【選択図】図４【図１Ａ】
0006948033.tif 000002
【図１Ｂ】
0006948033.tif 000003
【図１Ｃ】
0006948033.tif 000004
【図１Ｄ】
0006948033.tif 000005
【図２Ａ】
0006948033.tif 000006
【図２Ｂ】
0006948033.tif 000007
【図２Ｃ】
0006948033.tif 000008
【図３Ａ】
0006948033.tif 000009
【図３Ｂ】
0006948033.tif 000010
【図３Ｃ】
0006948033.tif 000011
【図４】
0006948033.tif 000012
【図５Ａ】
0006948033.tif 000013
【図５Ｂ】
0006948033.tif 000014
【図６】
0006948033.tif 000015
【図７Ａ】
0006948033.tif 000016
【図７Ｂ】
0006948033.tif 000017
【図８Ａ】
0006948033.tif 000018
【図８Ｂ】
0006948033.tif 000019
【図８Ｃ】
0006948033.tif 000020
【図８Ｄ】
0006948033.tif 000021
【図８Ｅ】
0006948033.tif 000022
【図８Ｆ】
0006948033.tif 000023
【図８Ｇ】
0006948033.tif 000024
【図９Ａ】
0006948033.tif 000025
【図９Ｂ】
0006948033.tif 000026
【図１０】
0006948033.tif 000027
【図１１Ａ】
0006948033.tif 000028
【図１１Ｂ】
0006948033.tif 000029
【図１２Ａ】
0006948033.tif 000030
【図１２Ｂ】
0006948033.tif 000031