(57)【特許請求の範囲】
【請求項１】
コンピューティングシステムであって、
第一のカメラ視野を有する第一のカメラを含む少なくとも一つのカメラと通信するように構成された通信インターフェースと、
制御回路と、を備え、
前記制御回路は、複数の物体を有するスタックが前記第一のカメラ視野内にあるとき、
前記少なくとも一つのカメラによって生成されたカメラデータを受信することであって、前記カメラデータは、前記複数の物体の第一の物体のための少なくとも一つの物体構造から形成される、前記スタックの積み重ね構造を記述することと、
前記少なくとも一つのカメラによって生成されたカメラデータに基づいて、前記物体構造の標的特徴または前記物体構造上に配置された標的特徴を識別することであって、前記標的特徴は、前記物体構造の角、前記物体構造の縁、前記物体構造の表面上に配置された視覚的特徴、または前記物体構造の前記表面の輪郭のうちの少なくとも一つであることと、
前記標的特徴と同一平面であり、その境界が前記標的特徴を囲む二次元（２Ｄ）領域を決定することと、
前記第一のカメラの位置と前記２Ｄ領域の前記境界を接続することによって画定される三次元（３Ｄ）領域を決定することであって、前記三次元（３Ｄ）領域は、前記第一のカメラ視野の一部であることと、
前記カメラデータおよび前記３Ｄ領域に基づいて、遮蔽領域のサイズを決定することであって、前記遮蔽領域は、前記標的特徴と前記少なくとも一つのカメラとの間に位置し、かつ、前記３Ｄ領域内にある前記積み重ね構造の領域であることと、
前記遮蔽領域のサイズに基づいて、物体認識信頼パラメータの値を決定することと、
前記積み重ね構造とのロボットの相互作用を制御するための動作を、前記物体認識信頼パラメータの前記値に基づいて実行することと、
を行うように構成されている、コンピューティングシステム。
【請求項２】
前記制御回路は、前記物体構造のサイズを記述するか、または前記物体構造の前記表面上に現れる視覚的特徴を記述する物体認識テンプレートの情報に基づいて、前記標的特徴を識別するように構成されている、請求項１に記載のコンピューティングシステム。
【請求項３】
前記視覚的特徴は、前記物体構造の前記表面上に配置された画像であり、
前記制御回路は、前記標的特徴として前記画像を識別するように構成されている、請求項２に記載のコンピューティングシステム。
【請求項４】
前記制御回路は、画像ノイズレベル、前記物体構造の形状、または前記物体構造の前記表面のテクスチャのうちの少なくとも一つに基づいて、前記２Ｄ領域のサイズを決定するように構成されている、請求項１に記載のコンピューティングシステム。
【請求項５】
前記標的特徴は、前記物体構造の前記縁であり、
前記制御回路は、前記２Ｄ領域を、（ｉ）定義されたサイズおよび（ｉｉ）前記縁上に位置する中心を有する領域として、決定するように構成されている、請求項１に記載のコンピューティングシステム。
【請求項６】
前記標的特徴は、前記物体構造の前記角であり、
前記制御回路は、前記２Ｄ領域を、（ｉ）定義されたサイズおよび（ｉｉ）前記角に位置する中心を有する領域として、決定するように構成されている、請求項１に記載のコンピューティングシステム。
【請求項７】
前記３Ｄ領域は、前記第一のカメラ視野内に位置する仮想ピラミッドであり、
前記２Ｄ領域の境界が前記標的特徴を囲む当該２Ｄ領域は、第一の２Ｄ領域であり、
前記遮蔽領域は、前記第一の２Ｄ領域と平行であり、かつ、前記仮想ピラミッド内にある第二の２Ｄ領域である、請求項１に記載のコンピューティングシステム。
【請求項８】
前記制御回路は、
前記カメラデータから、前記積み重ね構造の一つ以上の表面上のそれぞれの位置を表す複数の３Ｄデータ点を決定することと、
前記第一のカメラに対する前記標的特徴の奥行き値を、予想される奥行き値として決定することと、
前記予想される奥行き値に比べて前記第一のカメラにより近く、かつ、前記３Ｄ領域内にある前記積み重ね構造の前記一つ以上の表面上のそれぞれの位置を表すための、前記複数の３Ｄデータ点のサブセットを決定することであって、前記サブセットが、前記複数の３Ｄデータ点に関連したそれぞれの奥行き値と前記予想される奥行き値を比較することに基づいて決定されることと、
によって、前記遮蔽領域のサイズを決定するように構成されている、請求項１に記載のコンピューティングシステム。
【請求項９】
前記３Ｄデータ点のサブセットは、ｉ）少なくとも定義された差異閾値の分だけ前記予想される奥行き値よりも小さいそれぞれの奥行き値と関連し、かつ、ｉｉ）前記３Ｄ領域内にある３Ｄデータ点を、前記複数の３Ｄデータ点の中から識別することによって決定される、請求項８に記載のコンピューティングシステム。
【請求項１０】
前記通信インターフェースが通信するように構成された前記第一のカメラは、前記カメラデータの一部として、前記積み重ね構造の一つ以上の表面上の位置のそれぞれの奥行き値を示す複数の３Ｄデータ点を生成するよう構成された３Ｄカメラである、請求項１に記載のコンピューティングシステム。
【請求項１１】
前記通信インターフェースが通信するように構成された前記少なくとも一つのカメラは、前記カメラデータの一部として、２Ｄ画像を生成するよう構成された第二のカメラをさらに含み、
前記制御回路は、前記２Ｄ画像に基づいて前記標的特徴を識別するよう構成されている、請求項１０に記載のコンピューティングシステム。
【請求項１２】
前記通信インターフェースが通信するように構成された前記第一のカメラは、２Ｄカメラであり、
前記通信インターフェースが通信するように構成された前記少なくとも一つのカメラは、前記カメラデータの一部として、前記積み重ね構造の一つ以上の表面上の位置のそれぞれの奥行き値を表すための複数の３Ｄデータ点を生成するように構成された第二のカメラをさらに含む、請求項１に記載のコンピューティングシステム。
【請求項１３】
前記制御回路は、
前記遮蔽領域のサイズと前記２Ｄ領域のサイズとの間の比を決定することと、
前記比に基づいて、前記物体認識信頼パラメータの前記値を決定することと、
によって、前記物体認識信頼パラメータの前記値を決定するように構成されている、請求項１に記載のコンピューティングシステム。
【請求項１４】
前記物体認識信頼パラメータの前記値は、前記比が定義された遮蔽閾値を超えるかどうかに基づいて決定される、請求項１３に記載のコンピューティングシステム。
【請求項１５】
前記第一のカメラの前記位置は、前記第一のカメラの焦点である、請求項１に記載のコンピューティングシステム。
【請求項１６】
前記ロボットの相互作用を制御するための前記動作は、ロボット動作を引き起こすための移動コマンドを出力することを含み、
前記移動コマンドは、前記標的特徴のより少ない遮蔽を示す方法で前記物体認識信頼パラメータの前記値を変化させるように決定される、請求項１に記載のコンピューティングシステム。
【請求項１７】
前記制御回路は、前記カメラデータに基づいて、前記標的特徴に対する物体認識を実行するように構成され、
ロボットの相互作用を制御するための前記動作は、前記物体認識信頼パラメータの前記値に基づいて、前記物体認識を再実行するかどうか決定することを含むと共に、前記物体認識が再実行された後にロボット動作を決定することを含む、請求項１に記載のコンピューティングシステム。
【請求項１８】
コンピューティングシステムによって行われる方法であって、
カメラデータを前記コンピューティングシステムによって受信するステップであって、前記コンピューティングシステムは、第一のカメラ視野を有する第一のカメラを含む少なくとも一つのカメラと通信するように構成された通信インターフェースを備え、前記カメラデータは、複数の物体を有するスタックが前記第一のカメラの視野内にあるとき、前記少なくとも一つのカメラによって生成され、前記カメラデータは、前記複数の物体の第一の物体のための少なくとも一つの物体構造から形成される、前記スタックのための積み重ね構造を記述するステップと、
前記少なくとも一つのカメラによって生成された前記カメラデータに基づいて、前記物体構造の標的特徴または前記物体構造上に配置された標的特徴を識別するステップであって、前記標的特徴は、前記物体構造の角、前記物体構造の縁、前記物体構造の表面上に配置される視覚的特徴、または前記物体構造の前記表面の輪郭のうちの少なくとも一つであるステップと、
前記標的特徴と同一平面であり、その境界が前記標的特徴を囲む二次元（２Ｄ）領域を決定するステップと、
前記第一のカメラの位置と前記２Ｄ領域の境界を接続することによって画定される三次元（３Ｄ）領域を決定するステップであって、前記三次元（３Ｄ）領域は、前記第一のカメラ視野の一部であるステップと、
前記カメラデータおよび前記３Ｄ領域に基づいて、遮蔽領域のサイズを決定するステップであって、前記遮蔽領域は、前記標的特徴と前記少なくとも一つのカメラとの間に位置し、かつ、前記３Ｄ領域内にある前記積み重ね構造の領域であるステップと、
前記遮蔽領域の前記サイズに基づいて、物体認識信頼パラメータの値を決定するステップと、
前記積み重ね構造とのロボットの相互作用を制御するための動作を、前記物体認識信頼パラメータの前記値に基づいて実行するステップと、
を含む、方法。
【請求項１９】
前記３Ｄ領域は、前記第一のカメラ視野内に位置する仮想ピラミッドであり、
前記２Ｄ領域の境界が前記標的特徴を囲む当該２Ｄ領域は、第一の２Ｄ領域であり、
前記遮蔽領域は、前記第一の２Ｄ領域と平行であり、かつ、前記仮想ピラミッド内にある第二の２Ｄ領域である、請求項１８に記載の方法。
【請求項２０】
命令を有する非一時的コンピュータ可読媒体であって、コンピューティングシステムの制御回路によって実行されるとき、
前記カメラデータを受信することであって、前記コンピューティングシステムは、第一のカメラ視野を有する第一のカメラを含む少なくとも一つのカメラと通信するように構成された通信インターフェースを備え、前記カメラデータは、複数の物体を有するスタックが前記第一のカメラの視野内にあるとき、前記少なくとも一つのカメラによって生成され、前記カメラデータは、前記複数の物体の第一の物体のための少なくとも一つの物体構造から形成される、前記スタックのための積み重ね構造を記述することと、
前記少なくとも一つのカメラによって生成された前記カメラデータに基づいて、前記物体構造の標的特徴または前記物体構造上に配置された標的特徴を識別することであって、前記標的特徴は、前記物体構造の角、前記物体構造の縁、前記物体構造の表面上に配置される視覚的特徴、または前記物体構造の表面の輪郭のうちの少なくとも一つであることと、
前記標的特徴と同一平面であり、その境界が前記標的特徴を囲む二次元（２Ｄ）領域を決定することと、
前記第一のカメラの位置と前記２Ｄ領域の境界を接続することによって画定される三次元（３Ｄ）領域を決定することであって、前記三次元（３Ｄ）領域は、前記第一のカメラ視野の一部であることと、
前記カメラデータおよび前記３Ｄ領域に基づいて、遮蔽領域のサイズを決定することであって、前記遮蔽領域は、前記標的特徴と前記少なくとも一つのカメラとの間に位置し、かつ、前記３Ｄ領域内にある前記積み重ね構造の領域であることと、
前記遮蔽領域の前記サイズに基づいて、物体認識信頼パラメータの値を決定することと、
前記積み重ね構造とのロボットの相互作用を制御するための動作を、前記物体認識信頼パラメータの前記値に基づいて実行することと、
を前記制御回路に行わせる、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラ視野内の遮蔽を決定するための方法およびシステムを対象とする。
【背景技術】
【０００２】
自動化がより一般的になるにつれ、倉庫や製造環境など、より多くの環境でロボットが使用されている。例えば、ロボットは、倉庫でパレットに物体を積む、若しくはパレットから物体を降ろす、又は工場でコンベヤベルトから物体を拾い上げるように使用されてもよい。ロボットの動作は、固定されてもよく、又は倉庫若しくは工場のカメラによって生成されたカメラデータなどの、入力に基づいてもよい。例えば、カメラデータは、物体と相互作用するように構成されたロボットのグリッパまたは他の構成要素に対する物体の位置および／または構造を表しうる。物体とのロボットの相互作用を支援するカメラデータに依存すると、カメラデータから物体を認識するためのノイズおよび／または不正確性によって引き起こされるエラーを受けやすくなりうる。
【発明の概要】
【０００３】
本明細書における実施形態の一態様は、コンピューティングシステム、方法、および／または遮蔽を決定する命令を有する非一時的コンピュータ可読媒体に関する。コンピューティングシステムは、例えば、通信インターフェースおよび制御回路を含んでもよい。通信インターフェースは、第一のカメラ視野を有する第一のカメラを含む少なくとも一つのカメラと通信するように構成されうる。制御回路は、複数の物体を有する積み重ねが第一のカメラ視野内にあるとき、遮蔽を決定する方法を実施するように構成されうる。一部の事例では、制御回路は、非一時的コンピュータ可読媒体に保存された命令を実行することによって方法を実行してもよい。方法は、少なくとも一つのカメラによって生成されたカメラデータを受信することを含んでもよく、カメラデータは、複数の物体のうちの第一の物体に対する少なくとも一つの物体構造で形成される、積み重ねに対する積み重ね構造を記述する。また、少なくとも一つのカメラによって生成されたカメラデータに基づいて、物体構造の標的特徴または物体構造上に配置される標的特徴（例えば、物体構造の角、物体構造の縁、物体構造の表面上に配置される視覚的特徴、または物体構造の表面の輪郭）を識別することを含んでもよい。方法はさらに、標的特徴と同一平面上であり且つ境界が標的特徴を囲む二次元（２Ｄ）領域を決定することと、第一のカメラの位置と２Ｄ領域の境界を接続することによって画定される三次元（３Ｄ）領域を決定することであって、三次元（３Ｄ）領域が第一のカメラの視野の一部であることと、カメラデータおよび３Ｄ領域に基づいて、遮蔽領域のサイズを決定することと、を含んでもよく、遮蔽領域は、標的特徴と少なくとも一つのカメラとの間に位置し、かつ、３Ｄ領域内にある積み重ね構造の領域である。一実施形態では、制御回路は、遮蔽領域のサイズに基づいて、物体認識信頼パラメータの値を決定しうる。一実施形態では、制御回路は、積み重ね構造とのロボットの相互作用を制御するための動作を、物体認識信頼パラメータの値に基づいて実行してもよい。
【図面の簡単な説明】
【０００４】
本発明の上述及び他の特徴、目的、並びに利点は、添付の図面に示すような本明細書の実施形態の以下の記述から明らかであろう。本明細書に組み込まれ、本明細書の一部を形成する、添付の図面は更に、本発明の原理を説明し、当業者が本発明を実施及び使用することを可能にする役割を果たす。図面は一定の縮尺ではない。
【０００５】
【図１Ａ】本明細書の実施形態による、カメラ遮蔽が検出されうるシステムのブロック図を示す。
【図１Ｂ】本明細書の実施形態による、カメラ遮蔽が検出されうるシステムのブロック図を示す。
【０００６】
【図１Ｃ】本明細書の実施形態による、カメラ遮蔽が検出されうるロボットオペレーションシステムのブロック図を示す。
【０００７】
【図２】本明細書の実施形態による、カメラ視野内の遮蔽を決定するように構成される、コンピューティングシステムのブロック図を描写する。
【０００８】
【図３Ａ】本明細書の実施形態による、カメラ視野内の物体構造のためのカメラ遮蔽が検出されうるシステムを描写する。
【図３Ｂ】本明細書の実施形態による、カメラ視野内の物体構造のためのカメラ遮蔽が検出されうるシステムを描写する。
【０００９】
【図４Ａ】本明細書の実施形態による、カメラ視野内の遮蔽を決定するための方法の例のフロー図を示す。
【図４Ｂ】本明細書の実施形態による、カメラ視野内の遮蔽を決定するための方法の例のフロー図を示す。
【００１０】
【図５Ａ】本明細書の実施形態による、物体構造の角である標的特徴に基づいて遮蔽が決定される実施形態を描写する。
【図５Ｂ】本明細書の実施形態による、物体構造の角である標的特徴に基づいて遮蔽が決定される実施形態を描写する。
【図５Ｃ】本明細書の実施形態による、物体構造の角である標的特徴に基づいて遮蔽が決定される実施形態を描写する。
【図５Ｄ】本明細書の実施形態による、物体構造の角である標的特徴に基づいて遮蔽が決定される実施形態を描写する。
【００１１】
【図６Ａ】本明細書の実施形態による、物体構造の縁である標的特徴に基づいて遮蔽が決定される実施形態を描写するものである。
【図６Ｂ】本明細書の実施形態による、物体構造の縁である標的特徴に基づいて遮蔽が決定される実施形態を描写するものである。
【図６Ｃ】本明細書の実施形態による、物体構造の縁である標的特徴に基づいて遮蔽が決定される実施形態を描写するものである。
【図６Ｄ】本明細書の実施形態による、物体構造の縁である標的特徴に基づいて遮蔽が決定される実施形態を描写するものである。
【００１２】
【図７Ａ】本明細書の実施形態による、物体構造の表面または表面の輪郭の上に配置された視覚的特徴である標的特徴に基づいて遮蔽が決定される実施形態を描写する。
【図７Ｂ】本明細書の実施形態による、物体構造の表面または表面の輪郭の上に配置された視覚的特徴である標的特徴に基づいて遮蔽が決定される実施形態を描写する。
【図７Ｃ】本明細書の実施形態による、物体構造の表面または表面の輪郭の上に配置された視覚的特徴である標的特徴に基づいて遮蔽が決定される実施形態を描写する。
【図７Ｄ】本明細書の実施形態による、物体構造の表面または表面の輪郭の上に配置された視覚的特徴である標的特徴に基づいて遮蔽が決定される実施形態を描写する。
【発明を実施するための形態】
【００１３】
以下の発明を実施するための形態は、本質的に単に例示であり、本発明、又は本発明の用途及び使用を限定することを意図するものではない。更に、前出の技術分野、背景技術、発明の概要、若しくは以下の発明を実施するための形態に提示される、いかなる明示された又は暗示された理論によっても限定する意図はない。
【００１４】
本明細書に記述される実施形態は、カメラ視野内の遮蔽を検出すること、カメラ視野での遮蔽レベルを評価すること、および／または遮蔽分析のその他任意の態様を評価することなど、カメラ視野内の遮蔽を決定することに関する。遮蔽は、例えば、カメラ視野内の位置または位置を取り囲む領域の一部分が、カメラによって見えるかまたはその他の方法で検出されるかを遮断またはほとんど遮断することを指す。一部の実例では、遮蔽は、カメラからその位置まで、またはカメラからその位置を取り囲む領域の部分への視線を遮断または閉じることを遮断またはほとんど遮断する物体またはその部分に起因しうる。例えば、遮蔽物体は、カメラと遮蔽された位置、または位置を囲む領域の遮蔽された部分との間に位置してもよい。一部の実例では、標的特徴は、位置を囲む位置または領域に配置されてもよい。標的特徴は、例えば、物体認識を実施するために使用される領域の特徴であってもよく、例えば、その領域における構造とのロボットの相互作用を計画するために使用されてもよい。例えば、標的特徴は、その領域における物体もしくはその表面の角または縁であってもよく、あるいは表面上に配置された視覚的特徴であってもよい。遮蔽する物体の存在は、標的特徴を識別する能力、および／またはこうした識別の精度に影響を与えうる。したがって、本明細書の実施形態の一態様は、標的特徴またはカメラ視野内のその他任意の特徴に影響を与えうる遮蔽を検出またはそうでなければ評価することに関する。
【００１５】
一実施形態では、遮蔽を決定することは、遮蔽領域のサイズを決定することを含みうる。遮蔽領域は、例えば、カメラと標的特徴との間、またはカメラと標的特徴を囲む領域の一部分との間に位置する遮蔽する物体の領域であってもよい。例えば、遮蔽領域は、３Ｄ領域内である遮蔽物体（第一の２Ｄ領域であってもよい）の２Ｄ領域であってもよく、３Ｄ領域は、標的特徴を囲む（第二の２Ｄ領域であってもよい）２Ｄ領域にカメラの位置を接続することによって画定されてもよい。一実施形態では、遮蔽を決定することは、遮蔽された領域のサイズを決定することを含みうるが、これは以下でより詳細に考察される。一部の事例では、遮蔽領域（および／または遮蔽された領域）のサイズを使用して、例えば、標的特徴に関与したかまたは関与する物体認識に対する信頼度を決定しうる。一部の事例では、信頼度は、遮蔽領域のサイズおよび／または遮蔽された領域のサイズに反比例するような方法で決定されうる。
【００１６】
一実施形態では、遮蔽分析は、例えば、物体認識を再実行するかどうかを判断するため、または物体認識が実施される方法を調整するために使用されてもよい。例えば、物体認識演算の信頼度が定義された閾値（例えば、定義された信頼性閾値）未満である場合、物体認識演算は再実行されてもよい。物体認識の信頼度は、例えば、遮蔽領域のサイズと標的特徴を囲む２Ｄ領域のサイズとの間の比が定義された遮蔽の閾値を超える場合、または遮蔽領域のサイズが定義された遮蔽の閾値を超える場合など、遮蔽の程度が高すぎることの結果として定義された閾値より低くてもよい。定義された遮蔽の閾値は、一部の事例において、定義済みの信頼性閾値の逆関数であってもよく、かつ／または定義された信頼性閾値に反比例してもよい。一部の実例では、遮蔽の評価は、遮蔽物体、標的特徴または標的特徴が配置される物体、あるいはその他の任意の物体またはその構造体とのロボットの相互作用を計画するために使用されうる。例えば、ロボットの相互作用は、遮蔽の量を減少させる方法、または以下で詳細に説明するように、遮蔽領域のサイズをより具体的に減少させる方法で、遮蔽物体、および／または標的特徴が配置される物体を、移動させるように計画されうる。
【００１７】
図１Ａは、カメラ視野内の遮蔽を検出および／または評価するためのシステム１００のブロック図を示す。一実施形態において、システム１００は、倉庫、製造工場、又は他の施設内に位置してもよい。例えば、システム１００は、倉庫または製造プラント内の物体のカメラデータ（例えば、画像）を生成するために使用される視覚システムであってもよい。一部の事例では、視覚システムは、ロボット制御システムの一部であってもよく、またはロボット制御システムと通信してもよく、例えば、ロボットが物体と相互作用するロボット相互作用を起こす移動コマンドを生成するなど、カメラデータまたはカメラデータに由来する情報を使用することができる。
【００１８】
図１Ａに示すように、システム１００は、コンピューティングシステム１１０およびカメラ１７０を含んでもよい（これは第一のカメラ１７０とも呼ばれてよい）。一実施形態において、カメラ１７０は、カメラ１７０の視野（カメラの視野とも呼ばれる）の中の場面を取り込むカメラデータを生成するか、又は他の方法で取得するように構成されうる。例えば、カメラ１７０は、場面を撮影するように構成されてもよく、またはより具体的にはカメラ視野内の物体を撮影するように構成されてもよい。一実施形態では、カメラ１７０は、三次元（３Ｄ）カメラ、二次元（２Ｄ）カメラ、またはそれらの任意の組み合わせであってもよい（本明細書では「または」という用語は「および／または」を指すために使用される）。
【００１９】
一実施形態では、３Ｄカメラ（奥行き感知カメラまたは構造感知装置と呼ばれる場合もある）は、カメラ視野内の場面についての３Ｄ情報を含むカメラデータを生成するよう構成されたカメラであってもよく、３Ｄ情報は、場面の奥行き情報を含んでもよい。より具体的には、奥行き情報は、カメラ視野内の一つ以上の物体上の位置の３Ｄカメラに対するそれぞれの奥行き値を示しうる。一部の事例では、３Ｄ情報は、一つ以上の物体上の位置を表す３Ｄ座標など、複数の３Ｄデータ点を含みうる。例えば、複数の３Ｄデータ点は、カメラ視野内の一つ以上の物体の一つ以上の表面上の位置を表す点群を含みうる。一部の実例では、３Ｄカメラは、例えば、飛行時間（ＴＯＦ）カメラまたは構造化光カメラを含みうる。
【００２０】
一実施形態では、２Ｄカメラは、カメラ視野内の場面についての２Ｄ情報を含むカメラデータを生成するよう構成されたカメラであってもよく、２Ｄ情報は、場面の外観を捕捉またはその他の方法で表示することができる。例えば、２Ｄ情報は、カメラ視野内の一つ以上の物体を捕捉またはその他の方法で表示する２Ｄ画像または他のピクセル配列であってもよい。２Ｄカメラは、例えば、２Ｄ色画像を生成するように構成されたカラーカメラ、２Ｄグレースケール画像を生成するように構成されたグレースケールカメラ、またはその他任意の２Ｄカメラを含みうる。
【００２１】
実例によっては、図１Ａのコンピューティングシステム１１０は、カメラ１７０と通信するように構成されてもよい。例えば、コンピューティングシステム１１０は、カメラ１７０を制御するように構成されてもよい。例として、コンピューティングシステム１１０は、カメラ１７０の視野（カメラ視野とも呼ばれる）の中の場面を捕捉するカメラデータをカメラ１７０に生成させる、カメラコマンドを生成するように構成することができ、有線又は無線接続によってカメラコマンドをカメラ１７０へ伝達するように構成されうる。同じコマンドによって、カメラ１７０に、カメラデータをコンピューティングシステム１１０へ、又はより広くは、コンピューティングシステム１１０によって非一時的コンピュータ可読媒体（例えば、記憶デバイス）へ戻すように伝達させてもよい。代替的には、コンピューティングシステム１１０は、カメラコマンドを受信すると、カメラ１７０に、生じたカメラデータをコンピューティングシステム１１０へ伝達させる、別のカメラコマンドを生成してもよい。一実施形態において、カメラ１７０は、コンピューティングシステム１１０からのカメラコマンドを必要とすることなく、定期的に、又は定義されたトリガー条件に応答してのいずれかで、カメラ視野中の場面の画像を取り込むか、またはその他の方法でそれを表すカメラデータを自動的に生成してもよい。そのような実施形態では、カメラ１７０もまた、コンピューティングシステム１１０からのカメラコマンドなしで、コンピューティングシステム１１０へ、又はより広くは、コンピューティングシステム１１０によってアクセス可能な非一時的コンピュータ可読媒体へ、カメラデータを自動的に伝達するように構成されてもよい。
【００２２】
一実施形態では、システム１００は、単一のカメラのみを含んでもよい。別の実施形態において、システム１００は、複数のカメラを含んでもよい。例えば、図１Ｂは、カメラ１７０およびカメラ１８０を含むシステム１００の実施形態であってもよく、それぞれ第一のカメラ１７０および第二のカメラ１８０と呼ばれる場合があるシステム１００Ａを描写する。一実施例では、第一のカメラ１７０は３Ｄカメラであってもよく、第二のカメラ１８０は２Ｄカメラであってもよく、または逆であってもよい。一部の実装形態では、コンピューティングシステム１１０は、図１Ａに関して上述したように、第一のカメラ１７０を制御する方法と類似した方法または同様の方法で第二のカメラ１８０を制御するように構成されうる。一部の事例では、異なるカメラコマンドが第一のカメラ１７０および第二のカメラ１８０にそれぞれ送信されてもよい。一部の事例では、同一のカメラコマンドが第一のカメラ１７０および第二のカメラ１８０に送信されてもよい。一部の事例では、第一のカメラ１７０および第二のカメラ１８０は、第一のカメラ１７０の視野が第二のカメラ１８０の視野と実質的に重なるように位置付けられうる。このように、第一のカメラ１７０および第二のカメラ１８０は、同じ区域または実質的に同一の区域を表すカメラデータ（例えば、画像および／または点群）を生成するように位置付けられうる。
【００２３】
一部の事例では、図１Ｂの第一のカメラ１７０は、第二のカメラ１８０に対して固定位置および／または配向を持ちうる。例えば、第一のカメラ１７０は、直接的または間接的にカメラ１８０に固定して取り付けられてもよい。こうした配置は、第一のカメラ１７０とカメラ１８０との間の角度および／または距離を、固定されたままにしてもよい。一部の事例では、こうした配置は、第一のカメラ１７０の座標系と第二のカメラ１８０の座標系との間の空間的関係を固定されたままにしてもよい。
【００２４】
上述のように、一部の事例では、システム１００／１００Ａは、ロボットオペレーションシステムまたはロボットオペレーションシステムの一部であってもよい。例えば、図１Ｃは、コンピューティングシステム１１０と通信するロボット１５０を含むシステム１００／１００Ａの実施形態でありうるシステム１００Ｂを図示する。一部の事例では、コンピューティングシステム１１０は、第一のカメラ１７０および／または第二のカメラ１８０によって生成された画像またはその他のカメラデータを使用して、ロボット１５０の操作を制御するか、ロボット１５０の動作を制御するための命令を実施／実行するように構成されうる。例えば、コンピューティングシステム１１０は、ロボット１５０を制御して、ロボット１５０が第一のカメラ１７０および／または第二のカメラ１８０によって生成されるカメラデータに基づいて、積み重ねられた箱またはその他の倉庫の物体を荷下ろしする脱パレット化をするように構成されてもよい。
【００２５】
一実施形態において、コンピューティングシステム１１０は、ロボット１５０ならびに第一のカメラ１７０および／または第二のカメラ１８０と有線又は無線通信によって通信するように構成されうる。例えば、コンピューティングシステム１１０は、ＲＳ−２３２インターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、イーサネットインターフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース、ＩＥＥＥ８０２．１１インターフェース、又はそれらのいかなる組み合わせを介して、ロボット１５０、第一のカメラ１７０及び／又は第二のカメラ１８０と通信するように構成されうる。一実施形態において、コンピューティングシステム１１０は、周辺構成要素相互接続（ＰＣＩ）バスなどのローカルコンピュータバスを介して、ロボット１５０及び／又はカメラ１７０／１８０と通信するように構成されうる。一実施形態において、コンピューティングシステム１１０、及びカメラ１７０／１８０は同じ施設（例えば、倉庫）に位置する。一実施形態において、コンピューティングシステム１１０は、ロボット１５０及びカメラ１７０／１８０から離れていてもよく、ネットワーク接続（例えば、ローカルエリアネットワーク（ＬＡＮ）接続）を介してロボット１５０及びカメラ１７０／１８０と通信するように構成されてもよい。
【００２６】
一実施形態において、図１Ｃのコンピューティングシステム１１０は、ロボット１５０から分離していてもよく、上で論じた無線又は有線接続を介してロボット１５０と通信してもよい。例えば、コンピューティングシステム１１０は、有線接続又は無線接続を介して、ロボット１５０及びカメラ１７０／１８０と通信するように構成される、独立型コンピュータであってもよい。一実施形態において、図１Ｃのコンピューティングシステム１１０は、ロボット１５０の不可欠な構成要素であってもよく、上で論じたローカルコンピュータバスを介して、ロボット１５０の他の構成要素と通信してもよい。場合によっては、コンピューティングシステム１１０は、ロボット１５０のみを制御する、専用制御システム（専用コントローラーとも呼ばれる）であってもよい。他の場合には、コンピューティングシステム１１０は、ロボット１５０を含む、複数のロボットを制御するように構成されてもよい。
【００２７】
図２は、コンピューティングシステム１１０のブロック図を描写する。ブロック図に示すように、コンピューティングシステム１１０は、制御回路１１１、通信インターフェース１１３、及び非一時的コンピュータ可読媒体１１５（例えば、メモリまたはその他の記憶デバイス）を含みうる。一実施形態において、制御回路１１１は、一つ以上のプロセッサ、プログラマブル論理回路（ＰＬＣ）若しくはプログラマブル論理アレイ（ＰＬＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、又はいかなる他の制御回路を含みうる。
【００２８】
一実施形態において、通信インターフェース１１３は、図１Ａ〜図１Ｃのカメラ１７０／１８０および／または図１Ｃのロボット１５０と通信するよう構成される、一つ以上の構成要素を含みうる。例えば、通信インターフェース１１３は、有線又は無線プロトコルによって通信を行うように構成される通信回路を含みうる。例として、通信回路は、ＲＳ−２３２ポートコントローラー、ＵＳＢコントローラー、イーサネットコントローラー、ＩＥＥＥ８０２．１１コントローラー、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラー、ＰＣＩバスコントローラー、いかなる他の通信回路、又はそれらの組み合わせを含みうる。
【００２９】
一実施形態において、非一時的コンピュータ可読媒体１１５は、コンピュータメモリなどの情報記憶デバイスを含みうる。コンピュータメモリは、例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ソリッドステートの統合メモリ（ｓｏｌｉｄ  ｓｔａｔｅ  ｉｎｔｅｇｒａｔｅｄ  ｍｅｍｏｒｙ）、及び／又はハードディスクドライブ（ＨＤＤ）を含んでもよい。場合によっては、カメラ視野内の遮蔽を決定することは、非一時的コンピュータ可読媒体１１５上に記憶される、コンピュータ実行可能命令（例えば、コンピュータコード）によって実施されてもよい。そのような場合には、制御回路１１１は、カメラ視野内の遮蔽を検出するよう、コンピュータ実行可能命令を実行する（例えば、図４Ａおよび図４Ｂに示すステップ）ように構成される、一つ以上のプロセッサを含んでもよい。一実施形態では、非一時的コンピュータ可読媒体は、カメラ１７０／１８０によって生成され、カメラ１７０／１８０から直接的または間接的に受信されたカメラデータを保存するように構成されうる。こうした実施形態では、コンピューティングシステム１１０は、非一時的コンピュータ可読媒体１１５からカメラデータを受信またはその他の方法でアクセスするように構成されうる。一部の事例では、非一時的コンピュータ可読媒体１１５は、より詳細に以下で論じる物体認識テンプレートを保存しうる。
【００３０】
図３Ａは、コンピューティングシステム１１０がカメラ視野の遮蔽を検出するためのシステム２００の一部である実施例を図示する。システム２００は、システム１００／１００Ａの実施形態であってもよく、カメラ１７０の実施形態であってもよい図１Ａ〜１Ｂのコンピューティングシステム１１０ならびにカメラ２７０を含んでもよい。図３Ａに示すように、カメラ２７０（第一のカメラ２７０とも呼ばれてよい）は、コンピューティングシステム１１０と通信してもよく、視野（カメラ視野とも呼ばれる）２７２を持ちうる。カメラ視野２７２は、図３Ａに図示するように、仮想ピラミッドを形成するか、または円錐などの他の形状を形成しうる。カメラ視野２７２の角錐、円錐、またはその他の形状の頂点は、カメラ２７０のレンズまたは画像センサー（ある場合）の位置など、カメラ２７０に位置しうる。
【００３１】
一実施形態では、カメラ２７０は、カメラ視野２７２の中に少なくとも部分的にある一つ以上の物体を捕捉する、またはより一般的には、一つ以上の物体を表すカメラデータを生成するように構成されうる。例えば、図３Ａは、少なくとも部分的にカメラ視野２７２にある複数の物体２５１〜２５３のスタック２５０を図示する。図３Ａの実施例では、複数の物体は、第一の物体２５１、第二の物体２５２、および第三の物体２５３を含む。物体２５１〜２５３は、例えば、脱パレット化される箱、または任意の他の物体としうる。一実施形態では、スタック２５０は複数の層を含んでもよい。例えば、スタック２５０は、第一の物体２５１および第三の物体２５３によって形成される第一の層、ならびに第二の物体２５２によって形成される第二の層を含み得る。第二の層の物体（例えば、２５２）は、第一の層の少なくとも一つの物体（例えば、２５３）上に積み重ねられてもよい（例えば、第二の物体２５２は、第三の物体２５３の上部に積み重ねられてもよい）。こうした配置では、第二の層の一つ以上の物体（例えば、２５２）は、第二の層がカメラ２７０と第一の層の間に配置されるため、カメラ２７０と第一の層の一つ以上の物体（例えば、２５１）との間の距離に対してカメラ２７０に近い場合がある。例えば、図３Ａは、第二の物体２５２の表面２５２Ａ（例えば、トップ面）にとって、カメラ２７０に対するＺ１の奥行き値を示し、奥行き値は、カメラ２７０と表面２５２Ａとの間の距離を意味しうる。表面２５１Ａに対するＺ１の奥行き値は、Ｚ２の奥行き値よりも小さくてもよく、Ｚ２の奥行き値は、第一の物体の表面２５１Ａ（例えば、トップ面）の奥行き値および／または第三の物体２５３の表面２５３Ａの奥行き値であってもよい。図３Ａはさらに、Ｚ３の奥行き値を示し、Ｚ３の奥行き値は、例えば、スタック２５０が配置される床、または、カメラ２７０から遠いスタック２５０の別の層（例えば、より低い層）表面の奥行き値であってもよい。
【００３２】
一実施形態では、カメラ２７０によって生成されるカメラデータは、スタック２５０の構造を記述することができ、スタック２５０の積み重ね構造とも呼ばれ得る。積み重ね構造は、スタックの物体（物体構造とも呼ばれる）の少なくとも構造から形成されてもよい。例えば、スタック２５０の積み重ね構造は、少なくとも第一の物体２５１（第一の物体２５１の構造を意味する）、第二の物体２５２の物体構造、および第三の物体２５３の物体構造の少なくとも物体構造から形成されてもよい。一部の事例では、カメラデータは、カメラ２７０に対するスタック２５０の一つ以上の表面上の位置のそれぞれの奥行き値を記述する３Ｄ情報を有する積み重ね構造を記述しうる。例えば、３Ｄ情報は、スタック２５０の一つ以上の表面（例えば、２５１Ａ、２５２Ａ、２５３Ａ）上のそれぞれの位置、またはより具体的にはスタック２５０の積み重ね構造の一つ以上の表面を記述する複数の３Ｄデータ点（３Ｄ座標）を含みうる。スタック２５０は物体２５１〜２５３から形成されるため、複数の３Ｄデータ点はまた、物体２５１〜２５３の一つ以上の表面上のそれぞれの位置、またはより具体的にはその物体構造のそれぞれの位置を描写しうる。複数の３Ｄデータ点は、例えば、これらの位置に対するＺ１、Ｚ２、またはＺ３の奥行き値を示してもよい。一部の事例では、カメラデータは、スタック２５０の外観を捕捉またはその他の方法で表示する画像などの２Ｄ情報を含みうる。画像は、より詳細に以下で論じるように、積み重ね構造および／または物体構造の特徴（例えば、角または端）を示してもよい。
【００３３】
一実施形態では、システム２００は二つ以上のカメラを有してもよい。例えば、図３Ｂは、システム１００／１００Ａ／１００Ｂ／２００の実施形態としうるシステム２００Ａの例を示す。システム２００Ａは、カメラ２７０およびカメラ２８０を含み、これはそれぞれ第一のカメラ２７０および第二のカメラ２８０とも呼ばれうる。第一のカメラ２７０は、図１Ａ〜図１Ｃの第一のカメラ１７０の実施形態であってもよく、第二のカメラ２８０は、図１Ｂ〜１Ｃの第二のカメラ１８０の実施形態であってもよい。図３Ａと同様に、第一のカメラ２７０は、カメラ視野２７２を持ちうる。第二のカメラ２８０は、少なくとも部分的にカメラ視野２７２と重複する第二のカメラ視野２８２を持ちうる。一部の態様では、第一のカメラ２７０のカメラ視野２７２は、第一のカメラ２７０および第二のカメラ２８０がスタック２５０に対する積み重ね構造の実質的に同一の部分を取り込むカメラデータをそれぞれ生成しうるように、第二のカメラ２８０のカメラ視野２８２と実質的に重なりうる。一実施形態では、第一のカメラ２７０および第二のカメラ２８０は、異なるタイプのカメラであってもよい。例えば、第一のカメラ２７０は、３Ｄカメラであってもよく、第二のカメラ２８０は２Ｄカメラであってもよく、または逆であってもよい。他の実施形態では、第一のカメラ２７０および第二のカメラ２８０は、同じタイプのカメラであってもよい。
【００３４】
一実施形態では、コンピューティングシステム１１０は、第一のカメラ２７０と第二のカメラ２８０との間の空間的関係（例えば、相対位置および配向）を記述する情報にアクセスまたはその他の方法で受信するように構成されてもよい。例えば、この情報は、コンピューティングシステム１１０によってあらかじめ決定されていてもよく（例えば、ステレオカメラ較正動作を介して）、あるいは手動であらかじめ決定されてコンピューティングシステム１１０または別の装置の非一時的コンピュータ可読媒体１１５に保存されていてもよい。一例として、情報は、第一のカメラ２７０の座標系と第二のカメラ２８０の座標系との間の並進および回転を記述する変形マトリクスであってもよい。一部の事例では、コンピューティングシステム１１０は、共通座標システムなどの共通の基準フレームで第一のカメラ１７０によって生成されるカメラデータと第二カメラ２８０によって生成されるカメラデータを配置するように、第一のカメラ２７０と第二のカメラ２８０との間の空間的関係に関する情報を使用するように構成されてもよい。例えば、以下で詳細に論じるように、コンピューティングシステムが積み重ね構造の特徴の位置を決定するために第二のカメラ２８０からのカメラデータを使用している場合、コンピューティングシステム１１０は、カメラ２８０の基準フレームと共通基準フレームの間の差を補正するように構成されてもよい。一部の事例では、共通基準フレームは、第一のカメラ２７０などのカメラの一つの基準フレームであってもよい。
【００３５】
一実施形態では、第一のカメラ２７０および第二のカメラ２８０は、実質的に固定された空間的関係を有してもよい。例えば、図３Ｂは、第一のカメラ２７０および第二のカメラ２８０が両方とも固定的に取り付けられる取付構造２０２を図示する。固定された取付けは、相対的位置および配向の観点から、第一のカメラ２７０および第二のカメラ２８０を相互に対して固定させる。
【００３６】
一実施形態では、カメラの視野（例えば、２７２）の位置は、その位置とカメラ（例えば、２７０）の間の視線が、物体またはカメラの視野内のその一部によって遮断されうるか、ほとんど遮断されうるため、視界から塞がれてもよい。言い換えれば、物体またはその一部は、その位置、または位置を囲む領域の一部分を、カメラによって見ること、または近づいてそのようにすることを妨げうる。一実施形態では、物体は、その位置についての情報を検出するために使用されうる光または他の信号がカメラに直接的に到達することを防ぐか、または信号を著しく歪ませうる。図３Ａおよび３Ｂにおいて、スタック２５０の一部分、またはより具体的には積み重ね構造の一部分は、積み重ね構造の別の部分によってカメラ２７０に対して塞がれうる。例えば、図３Ｂに示すように、第一の物体２５１の表面２５１Ａにある領域２５１Ａの領域２５１Ａ−１または第三の物体２５３Ａの表面２５３Ａ１の領域２５３Ａ−１にある位置は、第二の物体２５２によってカメラ２７０から塞がれてもよく、またはより具体的には領域２５２Ａ−１によって占められるその一部分によって塞がれてもよい。一部の実例では、遮蔽は、カメラ２７０ならびにカメラ２７０に対するスタック２５０の物体２５１〜２５３および相互に対する位置決めに起因しうる。遮蔽は、カメラ２７０によって生成されたカメラデータに、スタック２５０の不完全な記述、またはより具体的にはその積み重ね構造の不完全な記述を提供させうる。例えば、カメラ２７０によって生成されたカメラデータが複数の３Ｄデータ点を含む場合、これらの３Ｄデータ点は、領域２５１Ａ−１および領域２５３Ａ−１に関する情報をほとんど提供できない。カメラ２７０によって生成されたカメラデータが２Ｄ画像を含む場合、２Ｄ画像は、領域２５１Ａ−１および領域２５３Ａ−１を表示できないか、そうでなければ表すことができない。上記の考察は、カメラ２７０に対する位置の遮蔽に関連するが、図３Ｂのスタック２５０の積み重ね構造の一つ以上の位置も、カメラ２８０に対して塞がれる可能性がある。
【００３７】
一実施形態では、カメラの視野内の一つ以上の位置の遮蔽は、ロボットの相互作用が、例えば、ロボットに対する物体の位置、サイズ、および／または配向を記述するカメラデータに依存しうるため、視野の物体とのロボットの相互作用に影響を与えうる。一部の事例では、ロボットの相互作用は、視野内の物体を認識するために物体認識を実行することを伴い、遮蔽は物体認識の精度に影響を与えうる。したがって、本明細書の実施形態の一部の態様は、カメラ視野内の遮蔽を検出またはその他の方法で決定することに関する。このような決定は、例えば、カメラの視野に遮蔽があったときに実行された物体認識を評価し、物体認識がどのように実行されるかを制御する、かつ／またはカメラ視野内の物体とのロボットの相互作用を制御するために使用されうる。図４Ａおよび４Ｂは、カメラ視野内の遮蔽を決定するための方法４００の例を示す。方法４００は、図１Ａ〜１Ｃおよび図２のコンピューティングシステム１１０の制御回路１１１などのコンピューティングシステムによって実施されてもよい。
【００３８】
一実施形態では、制御回路１１１は、コンピューティングシステム１１０の通信インターフェース１１３が少なくとも一つのカメラと通信している時に方法４００を実行するように構成されてもよく、少なくとも一つのカメラは、第一のカメラ視野（例えば、２７２）を有する第一のカメラ（例えば、１７０／２７０）を含む。一例として、方法４００は、カメラ２７０／２８０と通信する第一のカメラ２７０、第二のカメラ２８０、およびコンピューティングシステム１１０が関与する、図３Ａ、３Ｂ、５Ａ〜５Ｄ、６Ａ〜６Ｄおよび７Ａ〜７Ｃに示す状況に対して実施されうる。別の実施例では、方法４００は、少なくとも一つのカメラが第一のカメラ２７０を含み、第二のカメラ２８０が存在しない状況のために実施されうる。
【００３９】
一実施形態では、方法４００は、複数の物体を有するスタックが第一のカメラ（例えば、２７０）の第一のカメラ視野（例えば、２７２）にある時にさらに実施されうる。例えば、制御回路１１１は、例えば、図３Ａ、３Ｂ、５Ａおよび６Ａの物体２５１〜２５３のスタック２５０が、第一のカメラ２７０の第一のカメラ視野２７２にある時、または図７Ａの物体７５１〜７５３のスタック７５０が、第一のカメラ２７０の第一のカメラ視野２７２内にある時、方法４００を実行しうる。上述のように、図５Ａおよび６Ａのスタック２５０の積み重ね構造は、少なくとも第一の物体２５１の物体構造から（物体構造は、物体の構造を意味する）、ならびに第二の物体２５２の物体構造および第三の物体２５３の物体構造から形成されてもよい。同様に、図７Ａのスタック７５０の積み重ね構造は、少なくとも第一の物体７５１の物体構造、ならびに第二の物体７５２の物体構造および第三の物体７５３の物体構造から形成されてもよい。
【００４０】
一実施形態では、方法４００は、ステップ４０２で始まるか、またはその他の方法でステップ４０２を含むことができ、制御回路１１１は、第一のカメラ視野（例えば、２７２）を有する第一のカメラ（例えば、１７０／２７０）を含む少なくとも一つのカメラによって生成されたカメラデータを受信し、そのカメラデータは、スタック（例えば、図５Ａ、６Ａおよび７Ａの２５０／７５０）の積み重ね構造を記述し、その積み重ね構造はスタックの構造を参照しうる。一部のシナリオでは、少なくとも一つのカメラは、第一のカメラ（例えば、１７０／２７０）および第二のカメラ（例えば、１８０／２８０）を含みうる。こうしたシナリオでは、ステップ４０２で制御回路によって受信されるカメラデータは、第一のカメラ（例えば、１７０／２７０）によって生成されるカメラデータと、第二のカメラ（例えば、１８０／２８０）によって生成されるカメラデータの両方を含みうる。
【００４１】
上述のように、一部の事例では、ステップ４０２で制御回路１１１によって受信されるカメラデータは、第一のカメラ視野の場面に関する奥行き情報を含む３Ｄ情報を含むことができる。奥行き情報は、例えば、積み重ね構造上のそれぞれの位置の奥行き値を示してもよく、奥行き値は第一のカメラ（例えば、２７０）に関連しうる。一部の事例では、奥行き情報は、奥行き値を記述する複数の３Ｄデータ点を含みうる。たとえば、複数の３Ｄデータ点の各々は、スタック（積み重ね構造の表面と呼ばれる場合もある）の表面の対応する位置を記述する［Ｘ  Ｙ  Ｚ］Ｔ座標などの３Ｄ座標であってもよい。この例では、３Ｄデータ点のＺ−構成要素は、３Ｄデータ点によって表される対応する位置の奥行き値であってもよい。一部の事例では、複数の３Ｄデータ点は、スタック（例えば、２５０／７５０）の積み重ね構造の一つ以上の表面上のそれぞれの位置を記述する点群を形成しうる。さらに上述のように、一部の場合、ステップ４０２で受信したカメラデータは、スタック（例えば、２５０／７５０）の２Ｄ画像を含むことができ、またはより具体的には積み重ね構造の２Ｄ画像を含むことができる。２Ｄ画像は、例えば、ピクセル座標［ｕ  ｖ］Ｔに対応する複数のピクセルを含みうる。
【００４２】
一実施形態では、方法４００は、制御回路１１１が少なくとも一つのカメラによって生成されるカメラデータに基づいて、（オブジェクトの標的特徴とも呼ばれうる）物体に対する物体構造の標的特徴またはその上に配置される標的特徴を識別しうる、ステップ４０４を含みうる。一例として、物体構造は、図５Ａおよび６Ａの第一の物体２５１の構造、または図７Ａの第一の物体７５１の構造であってもよい。
【００４３】
一実施形態では、標的特徴は、コンピューティングシステム１１０によって使用されて、物体（例えば、図５Ａの２５１または図７Ａの７５１）に対する物体認識を実行し、かつ／または物体とのロボットの相互作用を計画する物体の任意の特徴（例えば、特徴）であってもよい。以下でより詳細に論じるように、一部の場合に、制御回路１１１は、例えば、物体構造のサイズ（例えば、寸法）、物体構造の形状、および／または物体構造の表面上に現れる視覚的特徴を記述しうる物体認識テンプレートの情報に基づいて、標的特徴を識別するように構成されてもよい。
【００４４】
一実施形態では、（物体の標的特徴とも呼ばれうる）物体構造の標的特徴またはその上に配置される標的特徴は、物体の物体構造の角、物体構造の縁、物体構造の表面上に配置された視覚的特徴、または物体構造の表面の輪郭のうちの少なくとも一つとしうる。上記の特徴はまた、物体の角、物体の縁、物体の表面上に配置された視覚的特徴、または物体の表面の輪郭と呼ばれることもある。
【００４５】
より具体的には、ステップ４０４で標的特徴を識別する一部の実施形態は、標的特徴として、図５Ａの第一の物体２５１に対する物体構造の角２５１Ｂなどの物体構造の角（第一の物体２５１の角２５１Ｂとも呼ばれる）を識別することを含み得る。一部の事例では、コンピューティングシステム１１０の制御回路１１１は、第一のカメラ２７０によって生成されるカメラデータおよび／または図５Ａの第二のカメラ２８０によって生成されるカメラデータからの３Ｄ情報に基づいて、角２５１Ｂを識別するように構成され得る。図５Ｂは、図３Ａ、３Ｂおよび５Ａのカメラ２７０（またはカメラ２８０）のカメラ視野２７２（または２８２）の一つ以上の表面上の位置のそれぞれの奥行き値を示す、複数の３Ｄデータ点を含む３Ｄ情報の実施例を提供する。例えば、複数の３Ｄデータ点は、カメラ２７０／２８０に対する第二の物体２５２の表面２５２Ａ上の一つ以上の位置（図５Ｂにおける黒円によって示される）のそれぞれに対して、Ｚ１の奥行き値を示す３Ｄデータ点の第一のセットを含みうる。複数の３Ｄデータ点は、カメラ２７０／２８０に対する第一の物体２５１の表面２５１Ａおよび第三の物体２５３の表面２５３Ａ上の一つ以上の位置（図５Ｂの白円によって示される）のそれぞれに対して、Ｚ２の奥行き値を示すデータ点の第二のセットをさらに含みうる。複数の３Ｄデータ点は、例えば、図５Ａのスタック２５０を囲む床、または第一の物体２５１および第三の物体２５３が配置されるその他任意の表面に対応しうる、一つ以上の追加的な表面の一つ以上の位置のそれぞれに対するＺ３の奥行き値を示す３Ｄデータ点の第三のセットをさらに含みうる。上述のように、複数の３Ｄデータ点の各々は、一部の実施形態では、［Ｘ  Ｙ  Ｚ］などの３Ｄ座標であってもよい。こうした実施形態では、奥行き値は、例えば、３Ｄ座標のＺ構成要素によって示されうる。
【００４６】
一実施形態では、制御回路１１１は、図５Ｂの複数の３Ｄデータ点に基づいて、凸角または融合角を識別することに基づいて、角２５１Ｂを識別するように構成され得る。融合角または融合角を特定することについては、「Ｍｅｔｈｏｄ  ａｎｄ  Ｃｏｍｐｕｔｉｎｇ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｏｂｊｅｃｔ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」と題する米国特許出願第１６／５７８，９００号に詳細に記載されており、参照によりその全体が本明細書に組み込まれる。一実施形態では、制御回路１１１は、領域の４分の１の実質的に第一の奥行き値および領域の残りの４分の３に対する第二の奥行き値（例えば、より高い奥行き値）を有する領域を示す３Ｄデータ点を識別することによって、角２５１Ｂを識別するように構成されうる。一部の事例では、角２５１Ｂは、領域の中心として識別されうる。
【００４７】
一実施形態では、角２５１Ｂを識別することは、図５Ｂに示す通り、カメラデータに基づく座標［Ｘ  Ｙ  Ｚ］Ｔを決定するなど、その位置を決定することを含み得る。一部の事例では、制御回路１１１は、上述のように、共通の基準フレームに対する座標を決定してもよい。一例として、共通の基準フレームは、図５Ａの第一のカメラ２７０の座標系であってもよい。一部の場合では、座標［Ｘ  Ｙ  Ｚ］Ｔが第一のカメラ２７０によって生成されたカメラデータに基づく場合、座標は既に共通の基準フレーム内にあってもよい。このような場合、座標［Ｘ  Ｙ  Ｚ］Ｔは、ステップ４０６などの方法４００の他のステップに使用されてもよい。一部の場合では、座標［Ｘ  Ｙ  Ｚ］Ｔが最初に、図５Ａの第二のカメラ２８０によって生成されたカメラデータに基づく場合、座標は最初に第二のカメラ２８０の基準フレーム（例えば、座標系）に対して表示されうる。こうした状況では、制御回路１１１は、第一のカメラ２７０の基準フレームと第二のカメラ２８０の基準フレームとの間の位置および／または配向の差異を考慮する調整された座標［Ｘ’Ｙ’Ｚ’］Ｔを生成するように構成されてもよい。例えば、制御回路１１１は、変形マトリックスを座標［Ｘ  Ｙ  Ｚ］Ｔに適用することによって、調整された座標［Ｘ’Ｙ’Ｚ’］Ｔを生成するように構成されてもよく、変形マトリクスは、上述のように、第一のカメラ２７０と第二のカメラ２８０との間の空間的関係を記述するものである。一部の実例では、第一のカメラ２７０および第二のカメラ２８０は同一平面上であってもよく、これによりＺ’はＺと等しくなりうる。上述の例では、調整された座標［Ｘ’Ｙ’Ｚ’］Ｔは、ステップ４０６などの方法４００の他のステップで使用されてもよい。
【００４８】
一実施形態では、コンピューティングシステム１１０の制御回路１１１は、２Ｄ情報に基づいて、図５Ａの角２５１Ｂを識別するように構成することができ、２Ｄ情報は、図５Ａの第一のカメラ２７０によって生成されたカメラデータまたは図５Ａの第二のカメラ２８０によって生成されたカメラデータによって生成されうる。例えば、第二のカメラ２８０は、一部の実例では、２Ｄ画像を生成するように構成される２Ｄカメラであってもよい。図５Ｃは、図５Ａのスタック２５０の実施例２Ｄ画像を示す。この例では、第一の物体２５１の物体構造の表面２５１Ａと、第二の物体２５２の物体構造の表面２５２Ａと、第三の物体２５３の物体構造の表面２５３Ａは、２Ｄ画像に現れる。制御回路１１１は、例えば、角２５１Ｂが画像内に現れ、ピクセル座標を３Ｄ座標［Ｘ  Ｙ  Ｚ］Ｔに変換するピクセル座標［ｕ  ｖ］Ｔを決定することなどによって、図５Ｃの２Ｄ画像から角２５１Ｂを識別するように構成され得る。一部の場合では、ピクセル座標［ｕ  ｖ］Ｔは、画像内の二本の線の間の交点として識別されてもよく、二つの線は、第一の物体２５１の物体構造の二つのそれぞれの外側端を表す。一実施形態では、ピクセル座標［ｕ  ｖ］Ｔを３Ｄ座標［Ｘ  Ｙ  Ｚ］Ｔに変換することは、例えば、第一のカメラ２７０または第二のカメラ２８０など、２Ｄ画像を生成したカメラの逆射影行列Ｋ−１（および／または任意のその他のカメラ較正情報）に基づいてもよい。一部の事例では、変換は、同じカメラによって、または異なるカメラによって生成される３Ｄ情報にさらに基づいてもよい。一部の実例では、制御回路１１１は、上述のように、共通の基準フレーム内の３Ｄ座標を表示するように３Ｄ座標［Ｘ  Ｙ  Ｚ］Ｔをさらに調整するように構成されてもよい。
【００４９】
上述のように、ステップ４０４で標的特徴を識別する一部の実施形態は、図６Ａの第一の物体２５１に対する物体構造の縁２５１Ｃなど（これも第一の物体２５１の縁２５１Ｃと呼ばれうる）物体構造の縁を標的特徴として特定することを含みうる。一部の事例では、コンピューティングシステム１１０の制御回路１１１は、３Ｄ情報に基づいて、縁２５１Ｃを識別するように構成することができ、縁２５１Ｃは、図６Ａの第一のカメラ２７０によって生成されたカメラデータおよび／または図６Ａの第二のカメラ２８０によって生成されたカメラデータからのものとしうる。例えば、図６Ｂは、複数の３Ｄデータ点を含む３Ｄ情報を示す。図６Ｂに示す複数の３Ｄデータ点は、図５Ｂのものと実質的に同一であってもよい。図６Ｂの実施例では、制御回路１１１は、３Ｄ情報に基づいて、および物体認識テンプレートに基づいて、第一の物体２５１の物体構造の縁２５１Ｃを識別するように構成されうる。物体認識テンプレートは、例えば、第一の物体２５１の物体構造のサイズを記述することによって、第一の物体２５１に対する物体認識を容易にすることができ、かつ／または物体認識を実施するために使用されうる第一の物体２５１の他の特徴を記述する。例えば、物体認識テンプレートは、第一の物体２５１の物体構造が長さＬおよび幅Ｗを有していることを示してもよく、こうした例では、制御回路１１１は、例えば、複数の３Ｄデータ点に基づいて、図６Ａおよび６Ｂの外側縁２５１Ｄを識別し、物体認識テンプレートで識別される、物体構造の幅Ｗだけ外側縁２５１Ｄからオフセットされた一組の位置（例えば、［Ｘ１  Ｙ１  Ｚ１］Ｔおよび［Ｘ２  Ｙ２  Ｚ２］Ｔ）として縁２５１Ｃを識別することによって、図６Ｂの縁２５１Ｃを識別するように構成されてもよい。一部の事例では、制御回路１１１は、奥行き値の不連続性（例えば、図３Ａに図示した通りＺ２〜Ｚ３の不連続性）がある一組の位置を決定することによって、図６Ａの外側縁２５１Ｄを識別するように構成されうる。
【００５０】
一部の事例では、コンピューティングシステム１１０の制御回路１１１は、２Ｄ情報に基づいて、縁２５１Ｃを識別するように構成することができ、縁２５１Ｃは、図６Ａの第一のカメラ２７０によって生成されたカメラデータおよび／または図６Ａの第二のカメラ２８０によって生成されたカメラデータからのものとしうる。例えば、図６Ｃは、図６Ａのスタック２５０の２Ｄ画像を示す。図６Ｃの２Ｄ画像は、図５Ｃのものと実質的に同一であってもよい。一実施形態では、制御回路１１１は、縁２５１Ｃが図６Ｃの画像内に現れる一つ以上のピクセル座標を２Ｄ画像から識別するように構成され得る。例えば、制御回路１１１は、縁２５１Ｃの第一のエンドポイントが図６Ｃの２Ｄ画像に現れる位置を表す第一のピクセル座標［ｕ１  ｖ１］Ｔを識別することができ、縁２５１Ｃの第二のエンドポイントが２Ｄ画像に現れる位置を表す第二のピクセル座標［ｕ２  ｖ２］Ｔを識別することができる。一部の事例では、制御回路１１１は、図５Ｃに関連して上述したように、第一のピクセル座標［ｕ１  ｖ１］Ｔおよび第二のピクセル座標［ｕ２  ｖ２］Ｔを第一の３Ｄ座標［Ｘ１  Ｙ１  Ｚ１］Ｔおよび第二の３Ｄ座標［Ｘ２  Ｙ２  Ｚ２］Ｔにそれぞれ変換するように構成されてもよい。
【００５１】
上述の通り、ステップ４０４で標的特徴を識別する一部の実施形態は、標的特徴として、物体構造の表面上に配置された視覚的特徴を識別することを含みうる。一実施形態では、視覚的特徴は、グラフィカル要素、またはその他任意の視覚的マーキングを含みうる。例えば、図７Ａは、第一の物体７５１の物体構造の表面７５１Ａ上の視覚的特徴７５１Ｂを示す（これは第一の物体７５１の表面７５１Ａ上に配置された視覚的特徴７５１Ｂとも呼ばれうる）。より具体的には、図７Ａは、物体７５１〜７５３のスタック７５０が、第一のカメラ２７０のカメラ視野２７２、および／または第二のカメラ２８０のカメラ視野２８２内にある状況を描写する。第一の物体７５１および第三の物体７５３は、スタック７５０の第一の層を形成してもよく、第二の物体７５２は、スタック７５０の第二の層を形成してもよく、第一の物体７５１上および第三の物体７５３上に積み重ねてもよい。上述のように、第一の物体７５１は、第一の物体７５１の表面７５１Ａ上に配置される視覚的特徴７５１Ｂを有してもよい。図７Ａの実施例では、視覚的特徴７５１Ｂは、ブランド名または商標（例えば、「Ａ」）を表示するロゴであってもよく、第一の物体７５１の物体構造の表面７５１Ａ上に印刷されてもよく、またはそれに取り付けられてもよい。
【００５２】
一実施形態では、コンピューティングシステム１１０の制御回路１１１は、２Ｄ情報（例えば、２Ｄ画像）に基づいて視覚的特徴７５１Ｂを識別するように構成されてもよく、これは、図７Ａの第一のカメラ２７０によって生成されるカメラデータおよび／または図７Ａの第二のカメラ２８０によって生成されるカメラデータからのものであってもよい。例えば、図７Ｂは、スタック７５０の２Ｄ画像に見られる視覚的特徴７５１Ｂを示す。より具体的には、第一の物体７５１の表面７５１Ａ（例えば、トップ面）、第二の物体７５２の表面７５２Ａおよび第三の物体７５３の表面７５３Ａは、図７Ｂに示す画像に現れ得る。
【００５３】
一実施形態では、制御回路１１１は、図７Ｂの２Ｄ情報（例えば、２Ｄ画像）の任意の部分が画定された視覚的特徴の外観またはその他の特性に一致するかどうかを判断することによって、視覚的特徴７５１Ｂを識別するように構成されうる。例えば、制御回路１１１は、図７Ｂの２Ｄ画像の任意の部分が、画定された視覚的特徴の外観の形状、マーキング、パターン、色、または任意の他の態様に一致するかどうかを認識するように試みるためにパターン認識を実行し得る。一実施形態では、画定された視覚的特徴の情報は、非一時的コンピュータ可読媒体１１５内に保存されてもよい。一実施形態では、画定された視覚的特徴の情報は、物体認識テンプレートに保存されてもよい。上述のように、物体認識テンプレートは、物体または物体のカテゴリの物体構造のサイズ（例えば、寸法）、物体構造の形状、および／または物体構造の表面上に配置された視覚的特徴などの物体構造の表面の外観など、その特徴を描写することによって特定の物体または物体のカテゴリに対する物体認識を容易にしうる。例えば、物体認識テンプレートは、第一の物体７５１の表面（例えば、７５１Ａ）上または第一の物体７５１が属する物体のカテゴリの表面上に現れる視覚的特徴としての「Ａ」ロゴを記述する情報を含み得る。こうした例では、制御回路１１１は、図７Ｂの２Ｄ画像の任意の部分が、「Ａ」ロゴを描写するための物体認識テンプレートに格納された情報と一致するかどうかを判断することによって、視覚的特徴７５１Ｂを識別するように構成され得る。
【００５４】
一実施形態では、ステップ４０４で標的特徴を識別することは、標的特徴として、物体構造の表面の輪郭を識別することを含みうる。輪郭は、物体構造の表面の境界を記述しうる。例えば、制御回路１１１は、第一の物体７５１に対する物体構造の表面７５１Ａのすべての四つの縁７５１Ｃ〜７５１Ｆを識別することによって、図７Ａの第一の物体７５１の物体構造の輪郭を識別し得る。言い換えれば、四つの縁７５１Ｃ〜７５１Ｆは、表面７５１Ａの輪郭を形成しうる。一部の事例では、制御回路１１１は、物体認識テンプレートに記述された定義されたサイズなど、第一の物体７５１の物体構造の定義されたサイズに基づいて、縁７５１Ｃ〜７５１Ｆを識別し得る。定義されたサイズは、例えば、長さおよび幅などの物体構造の寸法を示しうる。例えば、制御回路１１１は、カメラ２７０／２８０によって生成されるカメラデータの２Ｄ情報または３Ｄ情報に基づいて、縁７５１Ｃ〜７５１Ｆの少なくとも一つを識別するように構成されてもよく、第一の物体７５１の物体構造の定義されたサイズに基づいて、縁７５１Ｃ〜７５１Ｆの残りの部分を識別してもよい。
【００５５】
図４Ａ〜４Ｂを再び参照すると、方法４００は、制御回路１１１が標的特徴と同一平面上にあり、その境界が標的特徴を囲む２Ｄ領域を決定するステップ４０６をさらに含みうる。２Ｄ領域は、例えば、矩形形状（例えば、正方形状）、円形形状、六角形状、またはその他任意の２Ｄ形状を有する２Ｄ領域であってもよい。一部の事例では、２Ｄ領域は、より詳細に以下で説明するように、遮蔽領域を決定するために使用されるため、遮蔽分析領域と呼ばれうる。
【００５６】
一例として、図５Ａは、標的特徴として角２５１Ｂを図示し、角２５１Ｂと同一平面上にあり、その境界が角２５１Ｂを囲む２Ｄ領域５２０（例えば、正方形領域）を示す。より具体的には、角２５１Ｂは、第一の物体２５１の物体構造の表面２５１Ａの角であってもよく、２Ｄ領域５２０は、その表面２５１Ａと同一平面上であってもよい。さらに、角２５１Ｂは、２Ｄ領域５２０の内側に位置してもよい。２Ｄ領域５２０は、正方形の領域であってもよいが、例えば、矩形領域または円形領域となるように修正することができる。一部の事例では、制御回路１１１は、（ｉ）定義されたサイズおよび（ｉｉ）角２５１Ｂに位置する中心を有する領域として２Ｄ領域５２０を決定しうる。
【００５７】
別の例として、図６Ａは、上述のように標的特徴として縁２５１Ｃを図示し、第一の物体２５１の物体構造の縁２５１Ｃと同一平面上にあり、その境界は縁２５１Ｃを囲む２Ｄ領域６２０（例えば、矩形領域）を示す。より具体的には、縁２５１Ｃは、第一の物体２５１の物体構造の表面２５１Ａの縁であってもよく、２Ｄ領域６２０は、表面２５１Ａと同一平面上であってもよい。さらに、縁２５１Ｃは、２Ｄ領域６２０内に位置してもよい。一部の態様では、制御回路１１１は、（ｉ）定義されたサイズおよび（ｉｉ）縁２５１Ｃ上に位置する中心を有する領域として、２Ｄ領域６２０を決定しうる。一部の実例では、２Ｄ領域６２０の中心は、縁２５１Ｃの中心であってもよい。
【００５８】
図７Ａは、上述のように、視覚的特徴７５１Ｂとしておよび／または第一の物体７５１の物体構造の表面７５１Ａの輪郭として標的特徴を図示する。図７Ａの実施例では、制御回路１１１は、ステップ４０６の一部として、２Ｄ領域７２０（例えば、正方形領域）を決定しうる。２Ｄ領域７２０は、視覚的特徴７５１Ｂおよび表面７５１Ａの輪郭と同一平面上であってもよい。さらに、２Ｄ領域７２０は、視覚的特徴７５１Ｂを囲み、表面７５１Ａの輪郭も囲む境界を持ちうる。
【００５９】
一実施形態では、制御回路１１１は、例えば、非一時的コンピュータ可読媒体に格納された定義されたサイズに基づいて、２Ｄ領域５２０／６２０／７２０を決定するように構成され得る。定義されたサイズは、例えば、２Ｄ領域５２０／６２０／７２０の固定サイズとしうる。例えば、標的特徴が角（例えば、２５１Ｂ）である場合、角を囲み、それと同一平面上にある２Ｄ領域（例えば、５２０）は、例えば、２ｃｍ×２ｃｍ、または５ｃｍ×５ｃｍの固定サイズを有する正方形領域としうる。一実施形態では、制御回路１１１は、標的特徴のサイズに基づいて、２Ｄ領域（例えば、６２０／７２０）のサイズを決定するように構成されてもよい。例えば、制御回路１１１は、図６Ａの縁２５０Ｃの長さを乗算した比として、２Ｄ領域６２０の長さを決定するように構成され得る。別の実施例では、制御回路１１１は、第一の物体７５１の表面７５１Ａの輪郭を形成する第一の縁（例えば、７５０Ｃ）の長さを乗算した比として２Ｄ領域７２０の長さを決定するように構成されてもよく、輪郭を形成する第二の縁（例えば、７５１Ｅ）の長さを乗算した比として２Ｄ領域７２０の幅を決定するように構成されてもよく、第二の縁は第一の縁と直角を成してもよい。２Ｄ  ７２０領域は、異なる値を有するか、または同じ値を有する長さおよび幅を有してもよい。一部の事例では、比は、非一時的コンピュータ可読媒体１１５または他の場所に格納された定義された値であってもよい。一部の事例では、比は、制御回路１１１によって動的に定義されてもよく、または別の方法で決定されてもよい。
【００６０】
一実施形態では、制御回路１１１は、標的特徴が属する環境要因または物体構造の特徴のうちの少なくとも一つに基づいて、２Ｄ領域（例えば、５２０／６２０／７２０）のサイズを決定するように構成されうる。一部の事例では、環境要因は、例えば、カメラ（例えば、２７０／２８０）の環境内の照明の量、またはその視野（例えば、２７２／２８２）の場面を正確に検知するためのカメラの能力に影響を与えうるその他任意の状態を示しうる画像ノイズレベルを含みうる。一部の事例では、標的特徴が属する物体構造の特徴は、例えば、物体構造の形状または物体構造の表面のテクスチャのうちの少なくとも一つを含みうる。例えば、丸型形状を有する物体構造は、３Ｄカメラの動作に影響を与える可能性が高く、物体構造を描写するための３Ｄカメラによって生成される３Ｄ情報の正確性の低下を引き起こす可能性が高い。一部の実例では、表面のテクスチャは、表面の反射率を示しうる。例えば、より反射的な（例えば、より輝く）表面は、２Ｄカメラの動作に影響を与え、表面の外観を捕捉またはその他の方法で表現するための２Ｄカメラによって生成される２Ｄ情報の精度を低下させる可能性が高くなりうる。一実施形態では、２Ｄ領域（例えば、６２０／７２０）のサイズを決定することは、標的特徴の寸法を乗算する上で論じた比を決定することを含み得る。こうした実施形態では、比は、環境要因および／または物体構造の特徴に基づいて決定されうる。一実施形態では、制御回路１１１は、画像ノイズレベルが増加するにつれサイズが増加する関係に基づいて、２Ｄ領域（例えば、５２０／６２０／７２０）のサイズを決定するように構成されうる。一部の実例では、２Ｄ領域（例えば、５２０／６２０／７２０）のサイズを増加することは、遮蔽領域のサイズを増加させる可能性があり、これは以下に考察される。
【００６１】
図４Ａ〜４Ｂを再び参照すると、方法は、制御回路１１１がステップ４０２の第一のカメラ（例えば、第一のカメラ２７０）の位置と２Ｄ領域の境界を接続することによって画定される３Ｄ領域を決定するステップ４０８を含むことができ、そこでは、３Ｄ領域が第一のカメラ視野（例えば、２７２）の一部である。一実施形態では、３Ｄ領域を定義するために使用される第一のカメラ（例えば、２７０）の位置は、第一のカメラの焦点、画像センサの角または中心など第一のカメラ２７０の画像センサ上の位置、または任意の他の位置であってもよい。一部の事例では、３Ｄ領域は、遮蔽分析に使用される第一のカメラ視野（例えば、２７２）の一部分であってもよく、分析視野と呼ばれてもよい。
【００６２】
ステップ４０８の実施例として、図５Ａは、第一のカメラ２７０の位置および２Ｄ領域５２０の境界を接続することによって画定される実施例３Ｄ領域５３０を描写する。より具体的には、３Ｄ領域５３０は、カメラ２７０の位置を２Ｄ領域５２０の境界の四つのそれぞれの角に接続する線５３０Ａ〜５３０Ｄによって画定されうる。一部の実例では、３Ｄ領域を決定することは、線５３０Ａ〜５３０Ｄを表す情報を決定することを含み得る。
【００６３】
別の実施例では、図６Ａは、第一のカメラ２７０の位置と２Ｄ領域６２０の境界を接続することによって画定される実施例３Ｄ領域６３０を描写する。３Ｄ領域６３０はまた、カメラ２７０の位置を２Ｄ領域６２０の境界に接続することによって画定されてもよく、より具体的には、カメラ２７０の位置から２Ｄ領域６２０のそれぞれの角へ延在する線６３０Ａ〜６３０Ｄによって画定されうる。図７Ａは、３Ｄ領域７３０が第一のカメラ２７０の位置と２Ｄ領域７２０の境界を接続することによって画定される実施例を提供する。より具体的には、３Ｄ領域７２０は、カメラ２７０の位置から２Ｄ領域７２０の四つのそれぞれの角へ線７３０Ａ〜７３０Ｄを接続することによって画定されうる。一実施形態では、３Ｄ領域（例えば、５３０／６３０／７３０）は、対応する２Ｄ領域（例えば、５２０／６２０／７２０）が矩形領域（例えば、正方形領域）である時など、仮想ピラミッドを形成してもよい。他の実施形態では、３Ｄ領域は、第一のカメラ２７０の位置を円形の２Ｄ領域と接続することによって画定される仮想円錐など、任意の他の３Ｄ形状を形成してもよい。
【００６４】
図４Ａ〜４Ｂを再び参照すると、方法４００は、カメラデータおよび３Ｄ領域に基づいて、制御回路１１１が遮蔽領域のサイズ（例えば、区域）を決定するステップ４１２を含みうる。一実施形態では、遮蔽領域は、標的特徴と少なくとも一つのカメラの間に位置する積み重ね構造（ステップ４０２の）の領域であってもよく、３Ｄ領域（例えば、５３０／６３０／７３０）内である。より具体的には、遮蔽領域が標的特徴と第一のカメラの間に位置するように、遮蔽領域は、標的特徴と同一平面ではなく、標的特徴よりも少なくとも一つのカメラの第一のカメラ（例えば、２７０）に近い領域であってもよい。例えば、遮蔽領域は、標的特徴よりも高い領域であってもよい。塞閉領域は第一のカメラと標的特徴の間であり、３Ｄ領域（例えば、５３０／６３０／７３０）内であるため、標的特徴（例えば、２５１Ｂ／２５１Ｃ／７５１Ｂ）を遮断またはほとんど遮断する場所であってもよい積み重ね構造の一部分、または、第一のカメラ（例えば、２７０）によって見られる、標的特徴を囲む領域の一部分を表す。従って、遮蔽領域のサイズは、第一のカメラ視野（例えば、２７２）の遮蔽の評価に使用されうる。
【００６５】
ステップ４１２の実施例を図示するために、図５Ｄは、遮蔽領域５７０を図示する。より具体的には、遮蔽領域５７０は、スタック２５０の積み重ね構造の領域、より具体的には、第二の物体２５２の物体構造の表面２５２Ａ（例えば、トップ面）の領域であってもよい。さらに、遮蔽領域５７０は、角２５１Ｂと第一のカメラ２７０の間に位置してもよく（図５Ａおよび５Ｄの標的特徴である）、３Ｄ領域５３０内にあってもよい。上述のように、３Ｄ領域５３０は、第一のカメラ視野２７２（図３Ａおよび３Ｂに図示）内に位置する仮想ピラミッドであってもよく、その境界が角２５１Ｂを囲む２Ｄ領域５２０に基づいて画定されてもよい。この例では、２Ｄ領域５２０は、第一の２Ｄ領域であってもよく、遮蔽領域５７０は、第一の２Ｄ領域と平行であり、かつ、３Ｄ領域５３０の仮想ピラミッド内にある第二の２Ｄ領域であってもよい。一部の実例では、遮蔽領域５７０は、（ｉ）２Ｄ領域５２０と平行、および（ｉｉ）３Ｄ領域５３０の内側にある少なくとも領域を含みうる。
【００６６】
別の実施例では、図６Ｄは、縁２５１Ｃ（図６Ａおよび６Ｄの標的特徴）とカメラ２７０の間に位置するスタック２５０の積み重ね構造の領域であり、３Ｄ領域６３０内にある遮蔽領域６７０を図示する。より具体的には、遮蔽領域６７０は、第二の物体２５２の表面２５２Ａ上の領域であってもよく、領域は、３Ｄ領域６３０によって形成される仮想ピラミッド内であり、第一のカメラ２７０と縁２５１Ｃの間に位置する。図６Ｄの実施例では、遮蔽領域６７０は、２Ｄ領域６２０と平行であってもよい。図７Ｃは、図７Ａおよび７Ｃ（例えば、視覚的特徴７５１Ｂまたは表面７５１Ａの輪郭）と第一のカメラ２７０の間に位置するスタック７５０の積み重ね構造の領域である遮蔽領域７７０であり、３Ｄ領域７３０内にある。より具体的には、遮蔽領域７７０は、第二の物体７５２の表面７５２Ａ上の領域であってもよく、領域は３Ｄ領域７３０によって形成される仮想期間内であり、第一のカメラ２７０と標的特徴との間に位置する。図７Ｃの実施例では、遮蔽領域７７０は、２Ｄ領域７２０と平行であってもよい。上述のように、一実施形態では、遮蔽領域５７０／６７０／７７０は、第二の物体２５２／７５２の表面２５２Ａ／７５２Ａなど、ステップ４０６で決定される２Ｄ領域５２０／６２０／７２０と平行な表面上にある領域であってもよい。一部の事例では、遮蔽領域５７０／６７０／７７０は、２Ｄ領域５２０／６２０／７２０と平行な一つ以上の表面上に制限されてもよい。一部の事例では、遮蔽領域５７０は、表面２５２Ａ／７５２Ａに垂直な表面などの一つ以上の別の表面まで延びうる（しかし、未だ３Ｄ領域５３０／６３０／７３０内に残る）。
【００６７】
一部の態様では、制御回路１１１は、例えば、第一のカメラ２７０によって生成されるカメラデータからの３Ｄ情報に基づいて、遮蔽領域（例えば、５７０／６７０／７７０）のサイズを決定しうる。３Ｄ情報は、例えば、カメラ２７０に対する標的特徴（例えば、表面２５１Ａ／７５１Ａ上の位置）よりも第一のカメラ２７０に近いスタックの積み重ね構造の一つ以上の表面上の一群の位置を識別する奥行き情報などを示しうる。制御回路１１１は、ステップ４０８で決定される位置の群内からの位置のどれが３Ｄ領域（例えば、５３０／６３０／７３０）内にあるかを決定し、その位置の群に基づいて遮蔽領域のサイズを決定することができる。
【００６８】
例えば、図５Ｄ、６Ｄ、および７Ｃの実施例では、制御回路１１１は、スタック２５０／７５０の第一の物体２５１／７５１の表面２５１Ａ／７５１Ａ（例えば、トップ面）、スタック２５０／７５０の第二の物体２５２／７５２の表面２５２Ａ／７５２Ａおよびスタック２５０／７５０の第三の物体２５３／７５３の表面２５３Ａ／７５３Ａなど、積み重ね構造の一つ以上の表面上のそれぞれの位置を表す複数の３Ｄデータ点（例えば、３Ｄ座標）を、カメラデータから、決定するよう構成されてもよい。この例では、制御回路１１１は、予想される奥行き値として、目標の特徴２５１Ｂ／２５１Ｃ／７５１Ｂに関連付けられるＺ２の奥行き値をさらに決定しうる。例えば、標的特徴２５１Ｂ／２５１Ｃ／７５１Ｂに関連付けられた予想される奥行き値は、標的特徴２５１Ｂ／２５１Ｃ／７５１Ｂの３Ｄ座標のＺ−構成要素（例えば、［Ｘ  Ｙ  Ｚ］Ｔ）であってもよく、３Ｄ座標は、上述のように共通の基準フレーム内にあってもよい。さらに、制御回路１１１は、Ｚ２の予想される奥行き値に比べて第一のカメラ２７０により近い、３Ｄ領域５３０／６３０／７３０内である積み重ね構造の一つ以上の表面上のそれぞれの位置を表す、複数の３Ｄデータ点のサブセットをさらに決定しうる。サブセットは、標的特徴２５１Ｂ／２５１Ｃ／７５１Ｂとカメラ２７０の間の位置に関連付けられた３Ｄデータ点を表し、３Ｄ領域５３０／６３０／７３０内に位置する。この例では、サブセットは、スタック２５０／７５０の第二の物体２５２／７５２の物体構造の表面２５２Ａ／７５２Ａの位置に関連付けられた３Ｄデータ点であってもよい。
【００６９】
一部の態様では、制御回路１１１は、遮蔽領域の区域、遮蔽領域の寸法、またはそれらの任意の組み合わせを決定することによって、遮蔽区域（例えば、５７０／６７０／７７０）のサイズを決定しうる。一部の実例では、制御回路１１１は、上述した３Ｄデータ点のサブセットに基づいて、遮蔽領域（例えば、５７０／６７０／７７０）のサイズを決定するように構成されうる。例えば、遮蔽領域のサイズは、３Ｄデータ点のサブセットにおける３Ｄデータ点の数、または３Ｄデータ点のサブセットによって定義される領域の境界を決定すること、およびその領域をその区域を決定するため組み入れることに基づいてもよい。
【００７０】
一実施形態では、３Ｄデータ点のサブセットは、予想される奥行き値（例えば、Ｚ２）を複数の３Ｄデータ点に関連付けられたそれぞれの奥行き値（例えば、Ｚ１およびＺ２）と比較することに基づいてもよい。例えば、サブセットは、ｉ）少なくとも定義された差異閾値だけ期待される奥行き値（例えば、Ｚ２）よりも小さいそれぞれの奥行き値（例えば、Ｚ１））と関連付けられ、ｉｉ）３Ｄ領域（例えば、５３０／６３０／７３０）内にある、複数の３Ｄデータ点の中の３Ｄデータ点を識別することによって決定されうる。この例では、定義された差異閾値は、実際に同じ表面（例えば、２５１Ａ）上にある位置の奥行き値のわずかな変動を引き起こしうる画像ノイズまたは表面欠陥を考慮しうる。したがって、標的特徴が位置する第一の表面よりも近い表面上に位置があるかどうかを判定するために、制御回路１１１は、位置の奥行き値が少なくとも定義された差異閾値だけ第一の表面の予想される奥行き値よりも小さいかどうかを判定することができる。
【００７１】
一実施形態では、制御回路１１１は、図７Ｄの遮蔽領域７５１Ｃなどの遮蔽領域のサイズを決定するように構成されうる。遮蔽領域（例えば、７５１Ｃ）は、図５Ａおよび６Ａに示す標的特徴７５１Ｂ、および／または標的特徴２５１Ｂ／２５１Ｃなどの標的特徴と同一平面である領域であってもよい。例えば、遮蔽領域７５１Ｃは、標的特徴７５１Ｂがその上に位置する表面７５１Ａ上にあってもよい。一実施形態では、制御回路１１１は、第一のカメラ２７０に対して標的特徴７５１Ｂ（または図５Ａおよび６Ａの２５１Ｂ／２５１Ｃ）より第一のカメラ２７０に近いスタック７５０に対する積み重ね構造の縁または角を識別すること、第一のカメラ２７０の位置から積み重ね構造の縁または角に延びる平面（平坦な面または湾曲した面）を画定すること、標的特徴が位置する表面に対して平面を突き出すこと、および平面と表面との間の交差を決定することによって、遮蔽領域７５１Ｃを画定し得る。図７Ｄの実施例では、制御回路１１１は、標的特徴７５１Ｂよりも第一のカメラ２７０に近い積み重ね構造の縁として表面７５２Ａの縁７５２Ｂを識別することができる。制御回路１１１は、第一のカメラ２７０の位置から縁７５２Ｂへ延在する平面７４０を画定し、その上で標的特徴７５１Ｂが位置する表面７５１Ａに平面７４０を突出することができる。制御回路１１１は、平面７４０と表面７５１Ａとの間の交点として線７４１をさらに決定し得る。この例では、線７４１は、遮蔽領域７５１Ｃの境界の一部を形成する縁としうる。一部の事例では、遮蔽領域７５１Ｃの境界は、縁７５１Ｅおよび７５１Ｆなど、標的特徴７５１Ｂがその上に位置する表面７５１Ａの一つ以上の縁によってさらに形成されうる。一部の事例では、境界は、標的特徴７５１Ｂが位置する表面７５１Ａと交差する第二の物体７５２の表面７５２Ｃなど、積み重ね構造の一つ以上の表面によってさらに形成されてもよい。
【００７２】
図４Ａ〜４Ｂを再び参照すると、方法４００は、制御回路１１１が遮蔽領域のサイズに基づいて、物体認識信頼パラメータの値を決定するステップ４１４をさらに含みうる。一部の事例では、物体認識信頼パラメータの値は、遮蔽領域のサイズと逆相関を持ちうる。例えば、遮蔽領域のサイズの増加によって、物体認識信頼パラメータの値が、実行されたまたは計画されている物体認識動作の精度の信頼の低下を示す方向へ変化させることになりうる。一実施形態では、制御回路１１１は、ステップ４０６で決定される遮蔽領域（例えば、５７０／６７０／７７０）のサイズと２Ｄ領域（例えば、５２０／６２０／７２０）のサイズとの間の比、またはその比の逆を決定することによって、物体認識信頼パラメータの値を決定するように構成されうる。一実施形態では、制御回路１１１は代替的に、または追加的に、ステップ４０６で決定された遮蔽領域のサイズと２Ｄ領域（例えば、５２０／６２０／７２０）のサイズとの間の比またはその比の逆に基づいて、遮蔽領域（例えば、図７Ｄの７５１Ｃ）のサイズに基づく物体認識信頼パラメータの値を決定することができる。
【００７３】
一部の事例では、物体認識信頼パラメータの値は、比が定義された遮蔽閾値を超えるかどうかに基づいてもよい。定義された遮蔽閾値は、図２の非一時的コンピュータ可読媒体１１５で予め定義された値であってもよく、あるいは動的に定義されるか、または制御回路１１１によってその他の方法で決定されてもよい。一部の事例では、制御回路１１１は、例えば、カメラ（例えば、２７０）の環境における照明の量、標的特徴が属する物体の形状、および／または物体の表面のテクスチャに基づいて、遮蔽閾値を動的に定義するように構成されうる。一部の事例では、制御回路１１１は、遮蔽閾値の代わりに、またはそれに加えて、ステップ４０６の２Ｄ領域（例えば、５２０／６２０／７２０）のサイズを調整しうる。例えば、物体認識動作の精度を低下させうる状態（例えば、撮像ノイズ、丸い物体、および／または光沢表面を有する物体）は、２Ｄ領域のサイズを増加することによって、および／または画定された遮蔽閾値を減少させることによって表現されうる。
【００７４】
一実施形態では、方法４００はさらに、制御回路１１１が積み重ね構造とロボットの相互作用を制御するための動作を実行するステップ４１６を含み、物体認識信頼パラメータの値に基づいて動作を実行してもよい。一部の事例では、ステップ４１６の動作には、ロボット動作を起こすための移動コマンドの出力が関与しうる。移動コマンドは、例えば、信頼パラメータの値を、標的特徴のより少ない遮蔽を示す方法（例えば、減少方向に）、および／または物体認識動作においてより信頼性を示す方法で変化させるように決定されうる。例えば、制御回路１１１は、物体認識信頼パラメータの値をより少ない遮蔽を示す方向に変化させうる、図５Ａおよび７Ａのスタック２５０／７５０の第一の物体２５１／７５１または第二の物体２５２／７５２などのスタックの一部分の移動の方向を決定することができる。こうした実施例では、制御回路１１１は、スタックの部分についてのこうした動きの方向を引き起こすロボット動作を決定し、ロボット動作を起こすための移動コマンドを決定しうる。制御回路１１１は、通信インターフェース１１３を介して移動コマンドをさらに出力し得る。移動コマンドが図１Ｃのロボット１５０によって受け取られる場合、ロボット１５０は、移動コマンドに応答してスタックの一部を決定された方向に移動しうる。
【００７５】
一実施形態では、スタック２５０／７５０の積み重ね構造とのロボットの相互作用は、物体認識を行うことを含んで、ロボットの相互作用を容易にすることができ、物体認識は、上述の標的特徴（例えば、２５１Ｂ／２５１Ｃ／７５１Ｂ）に基づくことができ、かつ例えば、第一のカメラ２７０からのカメラデータに基づくことができる。こうした実施形態では、ロボットの相互作用を制御するための動作は、物体認識を再度実施することを含み、かつ／または信頼パラメータの値に基づいて、物体認識を再実行するかどうかを決定することを含みうる。一部の事例では、制御回路１１１は、物体認識が再実行された後に、ロボット動作をさらに決定しうる。一例として、制御回路１１１は、信頼パラメータの値が定義された信頼性閾値を下回る決定に応答して物体認識を再実行することを決定しうる。一部の実例では、定義された信頼性閾値は、定義された遮蔽閾値の逆関数、および／または定義された遮蔽閾値に対して反比例でありうる。一部の実例では、制御回路１１１は、信頼パラメータの値が、遮蔽領域（例えば、５７０／６７０／７７０）のサイズが高すぎることを示す場合、物体認識を再度実行するように決定してもよい。例えば、制御回路１１１は、遮蔽領域（例えば、５７０／６７０／７７０）のサイズと２Ｄ領域のサイズ（例えば、５２０／６２０／７２０）との間の比が定義された遮蔽閾値を超える場合、物体認識を再度実施するように決定しうる。
【００７６】
様々な実施形態の簡潔な説明
【００７７】
本明細書の開示の一態様は、通信インターフェースおよび制御回路を有するコンピューティングシステムを含む実施形態１に関する。この実施形態では、通信インターフェースは、第一のカメラ視野を有する第一のカメラを含む少なくとも一つのカメラと通信するように構成される。この実施形態における制御回路は、複数の物体を有するスタックが第一のカメラ視野内にあるとき、少なくとも一つのカメラによって生成されるカメラデータを受信するように構成され、カメラデータは、スタックに対する積み重ね構造を記述し、積み重ね構造は、複数の物体の第一の物体の少なくとも物体構造から形成される。さらに、この実施形態では、制御回路は、少なくとも一つのカメラによって生成されるカメラデータに基づいて、物体構造の標的特徴または物体構造上に配置された標的特徴を識別するように構成され、標的特徴は、目標構造の角、目標構造の縁、物体構造の表面上に配置された視覚的特徴、または物体構造の表面の輪郭のうち少なくとも一つである。この実施形態での制御回路はまた、標的特徴と同一平面上にあり、その境界が標的特徴を取り囲む二次元（２Ｄ）領域を決定して、三次元（３Ｄ）領域が第一のカメラ視野の一部である、第一のカメラと２Ｄ領域の境界を接続することによって画定される３Ｄ領域を決定し、カメラデータおよび３Ｄ領域に基づいて、標的特徴と少なくとも一つのカメラとの間に位置する積み重ね構造の領域であり３Ｄ領域内にある、遮蔽領域のサイズを決定し、遮蔽領域のサイズに基づいて、物体認識信頼パラメータの値を決定するように構成される。この実施形態の制御回路は、積み重ね構造とのロボットの相互作用を制御するための動作を実行するようにさらに構成され、物体認識信頼パラメータの値に基づいて当該動作が実施される。
【００７８】
実施形態２は、実施形態１のコンピューティングシステムを含む。実施形態２において、制御回路は、物体構造のサイズを描写する物体認識テンプレートの情報、または物体構造の表面上に現れる視覚的特徴を記述する情報に基づいて、標的特徴を識別するように構成される。
【００７９】
実施形態３は、実施形態１又は２のコンピューティングシステムを含む。実施形態３では、視覚的特徴は、物体構造の表面上に配置された画像であり、制御回路は、標的特徴として画像を識別するように構成される。
【００８０】
実施形態４は、実施形態１〜３のうちのいずれか一つのコンピューティングシステムを含む。実施形態４では、制御回路は、画像ノイズレベル、物体構造の形状、または物体構造の表面のテクスチャのうちの少なくとも一つに基づいて、２Ｄ領域のサイズを決定するように構成される。
【００８１】
実施形態５は、実施形態１〜４のうちのいずれか一つのコンピューティングシステムを含む。実施形態５において、標的特徴は物体構造の縁であり、制御回路は、２Ｄ領域を、（ｉ）定義されたサイズおよび（ｉｉ）端上に位置する中心を有する領域として決定するように構成される。
【００８２】
実施形態６は、実施形態１〜４のうちのいずれか一つのコンピューティングシステムを含む。実施形態６において、標的特徴は物体構造の角であり、制御回路は、２Ｄ領域を、（ｉ）定義されたサイズおよび（ｉｉ）角に位置する中心を有する領域として決定するように構成される。
【００８３】
実施形態７は、実施形態１〜６のうちのいずれか一つのコンピューティングシステムを含む。実施形態６において、３Ｄ領域は、第一のカメラ視野内に位置する仮想ピラミッドであり、境界が標的特徴を囲む２Ｄ領域は、第一の２Ｄ領域であり、遮蔽領域は、第一の２Ｄ領域と平行であり、かつ、仮想ピラミッド内にある第二の２Ｄ領域である。
【００８４】
実施形態８は、実施形態１〜７のうちのいずれか一つのコンピューティングシステムを含む。実施形態８では、制御回路は、カメラデータからの、積み重ね構造の一つ以上の表面上のそれぞれの位置を表す複数の３Ｄデータ点を決定すること、予想される奥行き値として、第一のカメラに対する標的特徴の奥行き値を決定すること、予想される奥行き値に比べて第一のカメラより近く、３Ｄ領域内にある積み重ね構造の一つ以上の表面上のそれぞれの位置を表す複数の３Ｄデータ点のサブセットを決定することによって遮蔽領域のサイズを決定するように構成され、サブセットは予想される奥行き値を複数の３Ｄデータ点と関連付けられたそれぞれの奥行き値と比較することに基づいて決定される。
【００８５】
実施形態９は、実施形態８のコンピューティングシステムを含む。実施形態９において、３Ｄデータ点のサブセットは、ｉ）少なくとも定義された差異閾値だけ予想される奥行き値よりも小さいそれぞれの奥行き値と関連付けられる、ｉｉ）３Ｄ領域内にある３Ｄデータ点を、複数の３Ｄデータ点の中から識別することによって決定される。
【００８６】
実施形態１０は、実施形態１〜９のいずれか一つのコンピューティングシステムを含み、実施形態１０では、通信インターフェースが通信するように構成される第一のカメラは、カメラデータの一部として、積み重ね構造の一つ以上の表面上の位置に対するそれぞれの奥行き値を示す複数の３Ｄデータ点を生成するように構成された３Ｄカメラである。
【００８７】
実施形態１１は、実施形態１０のコンピューティングシステムを含む。実施形態１１において、通信インターフェースが通信するように構成される少なくとも一つのカメラは、カメラデータの一部として、２Ｄ画像を生成するように構成される第二のカメラをさらに含み、制御回路は２Ｄ画像に基づいて標的特徴を識別するように構成される。
【００８８】
実施形態１２は、実施形態１〜９のうちのいずれか一つのコンピューティングシステムを含む。実施形態１２において、通信インターフェースが通信するように構成される第一のカメラは、２Ｄカメラであり、通信インターフェースが通信するように構成される少なくとも一つのカメラが、カメラデータの一部として、積み重ね構造の一つ以上の表面上の位置のそれぞれの奥行き値を表すための複数の３Ｄデータ点を生成するように構成された第二のカメラをさらに含む。
【００８９】
実施形態１３は、実施形態１〜１２のうちのいずれか一つのコンピューティングシステムを含む。実施形態１３において、制御回路は、遮蔽領域のサイズと２Ｄ領域のサイズとの間の比を決定すること、およびその比に基づいて物体認識信頼パラメータの値を決定することによって、物体認識信頼パラメータの値を決定するように構成される。
【００９０】
実施形態１４は、実施形態１３のコンピューティングシステムを含む。実施形態１４では、物体認識信頼パラメータの値は、比が定義された遮蔽閾値を超えるかどうかに基づいて決定される。
【００９１】
実施形態１５は、実施形態１〜１４のうちのいずれか一つのコンピューティングシステムを含む。実施形態１５において、第一のカメラの位置は、第一のカメラの焦点である。
【００９２】
実施形態１６は、実施形態１〜１５のうちのいずれか一つのコンピューティングシステムを含む。実施形態１６において、ロボットの相互作用を制御するための動作は、ロボット動作を起こすための移動コマンドを出力することを含み、ここで移動コマンドは、標的特徴のより少ない遮蔽を示す方法で物体認識信頼パラメータの値を変化させるように決定される。
【００９３】
実施形態１７は、実施形態１〜１６のうちのいずれか一つのコンピューティングシステムを含む。実施形態１７において、制御回路は、カメラデータに基づいて標的特徴に対する物体認識を実行するように構成され、ロボットの相互作用を制御するための動作は、物体認識信頼パラメータの値に基づいて、物体認識を再度実行するかどうか決定することを含み、物体認識の再実行後にロボットの動きを決定することを含む。
【００９４】
様々な実施形態について上に記載してきたが、それらは本発明の図解及び例としてのみ提示したもので、限定によるものではないことは理解されるべきである。当業者にとって、発明の精神及び範囲から逸脱することなく、実施形態において形態及び詳細を様々に変更できることは明らかであろう。したがって、本発明の範囲は上述の例示的実施形態のいずれかによって限定されるべきではなく、添付の特許請求の範囲及びそれらの均等物に従ってのみ定義されるべきである。また、本明細書で論じた各実施形態、及び本明細書で言及した各参考文献の各特徴は、いかなる他の実施形態の特徴と組み合わせて使用できることも理解されるであろう。本明細書で論じた全ての特許及び刊行物は、参照によりその全体が本明細書に組み込まれる。
【要約】
【課題】物体とのロボットの相互作用を支援するカメラデータに依存すると、カメラデータから物体を認識するためのノイズおよび／または不正確性によって引き起こされるエラーを受けやすくなりうる。
【解決手段】遮蔽を決定するためのシステムおよび方法が提示されている。システムは、第一のカメラ視野を有する第一のカメラを含む少なくとも一つのカメラによって生成されたカメラデータを受信する。カメラデータは、複数の物体を有するスタックが第一のカメラ視野内にあるときに生成され、複数の物体の第一の物体の少なくとも一つの物体構造から形成された積み重ね構造を記述する。システムは、物体構造の標的特徴、または物体構造上に配置された標的特徴を識別し、その標的特徴と同一平面であり、それを囲む２Ｄ領域を決定する。システムは、第一のカメラの位置と２Ｄ領域の接続によって画定される３Ｄ領域を決定する。システムは、カメラデータおよび３Ｄ領域に基づいて遮蔽領域のサイズを決定し、物体認識信頼パラメータの値を決定する。
【選択図】図４Ａ【図１Ａ】
0006723628.tif 000002
【図１Ｂ】
0006723628.tif 000003
【図１Ｃ】
0006723628.tif 000004
【図２】
0006723628.tif 000005
【図３Ａ】
0006723628.tif 000006
【図３Ｂ】
0006723628.tif 000007
【図４Ａ】
0006723628.tif 000008
【図４Ｂ】
0006723628.tif 000009
【図５Ａ】
0006723628.tif 000010
【図５Ｂ】
0006723628.tif 000011
【図５Ｃ】
0006723628.tif 000012
【図５Ｄ】
0006723628.tif 000013
【図６Ａ】
0006723628.tif 000014
【図６Ｂ】
0006723628.tif 000015
【図６Ｃ】
0006723628.tif 000016
【図６Ｄ】
0006723628.tif 000017
【図７Ａ】
0006723628.tif 000018
【図７Ｂ】
0006723628.tif 000019
【図７Ｃ】
0006723628.tif 000020
【図７Ｄ】
0006723628.tif 000021