(57)【要約】【課題】撮影された物体の物理的特性の正確な識別に失敗することに起因して、ロボットシステムが停止したり、パッケージの取り扱いを誤ったりすることを防止する。【解決手段】本開示は、物体の検証された最小実行可能領域（ＭＶＲ）を生成する方法およびシステムに関する。物体の露出した外側角部および露出した辺が、１つまたは複数の画像データを処理することによって識別されてよい。最初のＭＶＲは、露出した辺に対向する反対側の平行な辺を識別することによって生成されてよい。最初のＭＶＲは、調整されてよく、調整された結果は、テストされて、検証されたＭＶＲを生成してよい。【選択図】図９
2021505980.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数の登録されていない物体を含む対象スタックを表す１つまたは複数の画像データを受信することと、
登録されていない物体を表す露出した外側角部と、該露出した外側角部に関連付けられ、且つ、前記登録されていない物体を表す露出した辺とを、前記１つまたは複数の画像データの分離した層を識別することによって識別することと、
前記露出した辺と交差する１つまたは複数の他の辺を識別することに基づいて、前記露出した辺に対応する対向する辺を識別することと、
前記対向する辺の向きを前記露出した辺の向きと比較することに基づいて、前記対向する辺を検証することと、
前記露出した外側角部から前記露出した辺に沿って前記検証された対向する辺に延びるエリアを表す最初の最小実行可能領域（ＭＶＲ）を生成することと、
前記最初のＭＶＲを調整することと、対応する結果をテストすることとに基づいて、前記登録されていない物体のうちの１つの推定された表面または前記推定された表面の一部を表す検証されたＭＶＲを生成することと、
を含む、方法。
【請求項２】
前記露出した辺は、前記露出した外側角部を画定する第１の露出した辺および第２の露出した辺を含み、
前記対向する辺は、第１の最初の対向する辺および第２の最初の対向する辺を含む最初の対向する辺のセットであり、前記第１の最初の対向する辺と前記第２の最初の対向する辺は、それぞれ、前記第１の露出した辺と前記第２の露出した辺に平行であると決定され、
前記検証されたＭＶＲを生成することは、
前記露出した外側角部に対して前記第２の最初の対向する辺を超えた位置で前記第１の露出した辺と交差し、前記第２の最初の対向する辺および前記第２の露出した辺と平行であると決定された、さらなる対向する辺を識別することと、
前記対向する辺と前記さらなる対向する辺との間のエリアを含む追加の妥当なＭＶＲ領域を識別することと、
潜在的ＭＶＲセグメントと前記最初のＭＶＲとを組み合わせた候補ＭＶＲをテストすることと、
を含む、請求項１に記載の方法。
【請求項３】
テストすることは、前記候補ＭＶＲの１つまたは複数の寸法がＭＶＲの最大および／または最小寸法閾値を満たすか否かを検証することを含む、請求項２に記載の方法。
【請求項４】
テストすることは、前記潜在的ＭＶＲセグメントと前記最初のＭＶＲとに対応する前記１つまたは複数の画像データの部分の深度測定値、色、明るさ、または、それらの組み合わせが、互いから閾値連続範囲にあるか否かを検証することを含む、請求項２に記載の方法。
【請求項５】
前記検証されたＭＶＲは、前記候補ＭＶＲが１つまたは複数の所定の閾値を満たさない時、前記潜在的ＭＶＲセグメントを有さない前記最初のＭＶＲを含む、請求項２に記載の方法。
【請求項６】
前記露出した辺は、前記露出した外側角部を画定する第１の露出した辺および第２の露出した辺を含み、
前記対向する辺は、第１の最初の対向する辺および第２の最初の対向する辺を含む最初の対向する辺のセットであり、前記第１の最初の対向する辺と前記第２の最初の対向する辺は、それぞれ、前記第１の露出した辺と前記第２の露出した辺に平行であると決定され、
前記検証されたＭＶＲを生成することは、
前記第２の最初の対向する辺と前記露出した外側角部との間にあり、且つ、前記第２の最初の対向する辺および前記第２の露出した辺とに平行であると決定された、さらなる対向する辺を識別することと、
前記第２の最初の対向する辺の代わりに、前記さらなる対向する辺によって区切られた前記最初のＭＶＲ内のエリアとして縮小された候補ＭＶＲを識別することと、
前記縮小された候補ＭＶＲをテストすることと、
を含む、請求項１に記載の方法。
【請求項７】
前記検証されたＭＶＲを生成することは、前記候補ＭＶＲの１つまたは複数の寸法がＭＶＲの最大および／または最小寸法閾値を満たす時、前記縮小された候補ＭＶＲを前記検証されたＭＶＲとして設定することを含む、請求項６に記載の方法。
【請求項８】
前記さらなる対向する辺を識別することは、
前記最初の対向する辺のセットに関連付けられた第２の角部を識別することと、
前記第２の角部から離れる方に前記第１の最初の対向する辺に沿って移動しながら、前記さらなる対向する辺との交点を検索することと、
（１）前記さらなる対向する辺と前記第１の最初の対向する辺との間の角度が、直角を表す閾値範囲内にあること、および／または、（２）前記さらなる対向する辺と前記第２の露出した辺との対応する点の複数のセット間の距離のセットが、互いから閾値範囲内にあることを検証することに基づいて、前記さらなる対向する辺の向きをテストすることと、
を含む、請求項６に記載の方法。
【請求項９】
前記１つまたは複数の画像データは、（１）水平面に沿った位置の深度測定値を含む３Ｄ画像出力と、（２）前記水平面に沿った前記対象スタックを視覚的に表す２Ｄ画像出力とを含み、
前記露出した辺を識別することは、
互いから閾値範囲内の前記深度測定値を有する前記３Ｄ画像出力の前記水平面に沿った隣り合う位置のセットとして、前記分離した層のそれぞれを識別することと、
前記分離した層の周囲の境界を３Ｄの辺として識別することと、
を含み、
前記露出した外側角部を識別することは、前記露出した辺である３Ｄの辺のセットによって形成された交点を選択することを含み、
前記さらなる対向する辺を識別することは、前記３Ｄ画像出力、前記２Ｄ画像出力、または、これらの組み合わせを分析することに基づいて、不完全な辺および／または検出された線を識別することを含む、
請求項６に記載の方法。
【請求項１０】
前記検証されたＭＶＲを生成することは、
前記３Ｄ画像出力を分析することに基づいて、（１）前記第１の露出した辺に沿って前記第２の最初の対向する辺より前記露出した外側角部の方に近く、且つ、（２）前記第２の最初の対向する辺および前記第２の露出した辺と平行である、３Ｄの辺を識別することと、
前記第２の最初の対向する辺と前記３Ｄの辺との間のエリアをさらに含むように前記最初のＭＶＲを調整することと、
を含み、
前記さらなる対向する辺は、前記調整された最初のＭＶＲに対応する前記２Ｄ画像出力の部分を分析した結果であり、
前記縮小された候補ＭＶＲは、前記調整された最初のＭＶＲ内の前記エリアを含む、
請求項９に記載の方法。
【請求項１１】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続され、前記プロセッサにより実行可能な命令を記憶した少なくとも１つのメモリデバイスと、
を含むロボットシステムであって、前記命令は、
１つまたは複数の登録されていない物体を含む対象スタックを表す１つまたは複数の画像データを受信する命令と、
登録されていない物体を表す露出した外側角部と、該露出した外側角部に関連付けられ、且つ、前記登録されていない物体を表す露出した辺とを、前記１つまたは複数の画像データを分析することに基づいて識別する命令と、
前記露出した外側角部から前記露出した辺に沿って対向する辺に延びるエリアを表す最初の最小実行可能領域（ＭＶＲ）を生成する命令と、
前記最初のＭＶＲを調整することと、対応する結果とを生成することとに基づいて、検証されたＭＶＲを生成する命令と、
である、前記ロボットシステム。
【請求項１２】
前記少なくとも１つのメモリデバイスは、
３Ｄ深度測定値を含む前記１つまたは複数の画像データを受信する命令と、
それぞれ、閾値連続範囲内の前記３Ｄ深度測定値を有する隣り合う位置のセットを含む表面を、前記３Ｄ深度測定値に基づいて識別することと、
前記表面の横方向の境界に対応する３Ｄの辺を、前記識別された表面に基づいて、識別することと、
前記露出した辺に対応する前記表面の１つを区切る第１の３Ｄの辺と第２の３Ｄの辺との間の接合点として、前記露出した外側角部を識別することと、
に基づいて、前記露出した外側角部を識別する命令と、
前記露出した外側角部から離れる方に前記第２の３Ｄの辺に沿って移動しながら、前記第１の３Ｄの辺に関連付けられた前記３Ｄの辺のインスタンスである第１の対向する辺を識別することと、
前記露出した外側角部から離れる方に前記第１の３Ｄの辺に沿って移動しながら、前記第２の３Ｄの辺に関連付けられた前記３Ｄの辺のインスタンスである第２の対向する辺を識別することと、
に基づいて、前記露出した辺と前記第１および第２の対向する辺とによって区切られたエリアを含む最初のＭＶＲを生成する命令と、
を含む、請求項１１に記載のロボットシステム。
【請求項１３】
前記少なくとも１つのメモリデバイスは、
前記第２の対向する辺から前記第１の３Ｄの辺に沿って前記露出した外側角部から離れる方に移動しながら、さらなる対向する辺、前記第２の３Ｄの辺、および、前記第２の対向する辺が、互いに平行であると決定される、さらなる対向する辺を識別することと、
前記最初のＭＶＲと、さらなる対向する辺と前記第２の対向する辺との間のエリアとを組み合わせた候補ＭＶＲを、最大および／または最小寸法閾値にしたがってテストすることと、
に基づいて、前記検証されたＭＶＲを生成する命令を含む、
請求項１２に記載のロボットシステム。
【請求項１４】
前記少なくとも１つのメモリデバイスは、前記候補ＭＶＲが前記最大および／または前記最小寸法閾値を満たさない時、さらなる対向する辺と前記第２の対向する辺との間の前記エリアを有さずに、前記最初のＭＶＲを含む前記検証されたＭＶＲを生成する命令を含む、請求項１３に記載のロボットシステム。
【請求項１５】
前記少なくとも１つのメモリデバイスは、前記候補ＭＶＲが前記最大および／または前記最小寸法閾値を満たす時、前記候補ＭＶＲを含む前記検証されたＭＶＲを生成する命令を含む、請求項１３に記載のロボットシステム。
【請求項１６】
プロセッサ命令を記憶した有形で非一時的なコンピュータ読み取り可能な媒体であって、前記プロセッサ命令は、プロセッサによって実行されると、前記プロセッサに、
１つまたは複数の登録されていない物体を含む対象スタックを表す１つまたは複数の画像データを受信させ、
登録されていない物体を表す露出した外側角部と、該露出した外側角部に関連付けられ、且つ、登録されていない物体を表す露出した辺とを、前記１つまたは複数の画像データを分析することに基づいて、識別させ、
前記露出した外側角部から前記露出した辺に沿って対向する辺に延びるエリアを表す最初の最小実行可能領域（ＭＶＲ）を生成させ、
前記最初のＭＶＲを調整することと、対応する結果をテストすることとに基づいて、検証されたＭＶＲを生成させる、
前記有形で非一時的なコンピュータ読み取り可能媒体。
【請求項１７】
前記プロセッサに、さらに、
３Ｄ深度測定値を含む前記１つまたは複数の画像データを受信させ、
３Ｄ深度測定値にしたがって、前記１つまたは複数の画像データを分析することに基づいて、前記露出した外側角部と前記露出した辺とを識別させ、
前記露出した辺の第１の露出した辺に関連付けられた前記３Ｄの辺のインスタンスである第１の対向する辺と、前記露出した辺の第２の露出した辺に関連付けられた第２の対向する辺とを識別することに基づいて、前記露出した辺と前記第１および第２の対向する辺とによって区切られたエリアを含む前記最初のＭＶＲを生成させる、
請求項１６に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１８】
前記第２の最初の対向する辺と前記露出した外側角部との間にあり、且つ、さらなる対向する辺、前記第２の露出した辺、および、前記第２の最初の対向する辺が、互いに平行であると決定された、さらなる対向する辺を識別することと、
前記第２の最初の対向する辺の代わりに、前記さらなる対向する辺によって区切られた前記最初のＭＶＲ内のエリアとして、縮小された候補ＭＶＲを識別することと、
に基づいて、前記プロセッサに、前記検証されたＭＶＲをさらに生成させる、
請求項１７に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１９】
前記露出した外側角部に対角線上に対向する第２の角部を識別することと、
前記第２の角部から離れる方に前記第１の最初の対向する辺に沿って移動しながら、前記さらなる対向する辺を検索することと、
前記さらなる対向する辺と前記第１の最初の対向する辺との間の角度、および／または、前記さらなる対向する辺と前記第２の露出した辺との対応する点の複数のセット間の距離のセットに基づいて、前記さらなる対向する辺が前記第２の露出した辺に平行か否かを判断することと、
に基づいて、さらに、前記プロセッサに前記さらなる対向する辺を識別させる、
請求項１８に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項２０】
前記露出した外側角部から前記露出した辺の１つを越え、且つ、前記露出した外側角部に対向する第２の角部を含む第１の追加の辺にしたがって、前記最初のＭＶＲを拡大することと、
前記第２の角部から前記露出した外側角部に前記画像データ内の１つまたは複数の部分を評価することに基づいて、さらなる対向する辺を識別することと、
前記第２の最初の対向する辺の代わりに、前記さらなる対向する辺によって区切られた前記最初のＭＶＲ内のエリアとして前記検証されたＭＶＲを生成することと、
に基づいて、さらに、前記プロセッサに前記検証されたＭＶＲを生成させる、
請求項１６に記載の非一時的なコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１８年１０月３０日出願の米国仮特許出願番号第６２／７５２，７５６号の利益を主張し、参照によりその全体を本明細書に組み込む。本出願は、さらに、２０１９年５月２４日出願の米国仮特許出願番号第６２／８５２，９６３号の利益を主張し、参照によりその全体が本明細書に組み込まれる。本出願は、２０１９年３月１日出願の米国特許出願番号第１６／２９０，７４１号であり、現在、米国特許番号第１０，３６９，７０１号にも関連し、参照によりその全体が本明細書に組み込まれる。
【０００２】
本出願は、Ｊｉｎｚｅ  Ｙｕ、Ｊｏｓｅ  Ｊｅｒｏｎｉｍｏ  Ｍｏｒｅｉｒａ  Ｒｏｄｒｉｇｕｅｓ、および、Ｒｏｓｅ  Ｎｉｋｏｌａｅｖ  Ｄｉａｎｋｏｖによる同時出願の米国特許出願「Ａ  ＲＯＢＯＴＩＣ  ＳＹＳＴＥＭ  ＷＩＴＨ  ＡＵＴＯＭＡＴＥＤ  ＰＡＣＫＡＧＥ  ＲＥＧＩＳＴＲＡＴＩＯＮ  ＭＥＣＨＡＮＩＳＭ  ＡＮＤ  ＡＵＴＯ−ＤＥＴＥＣＴＩＯＮ  ＰＩＰＥＬＩＮＥ」に関連する主題も含む。関連出願は、Ｍｕｊｉｎ社に譲渡され、整理番号１３１８３７−８００３．ＵＳ５０で識別され、その主題は、参照により本明細書に組み込まれる。
【０００３】
本技術は、一般的に、ロボットシステムを対象とし、より具体的には、物体を登録するシステム、プロセス、および、技術を対象とする。
【背景技術】
【０００４】
多くの場合、パッケージは、目的地への出荷のためにパレットに配置され（または、「パレタイズされ」）、その後、目的地で、デパレタイズされる。パッケージは、資源集約的になったり、怪我の危険性を高めたりする人間作業者によってデパレタイズされる場合がある。産業環境においては、デパレタイズ作業は、パッケージを把持し、持ち上げ、運搬し、解放点に届けるロボットアーム等の産業用ロボットによって行われる。また、撮像装置を利用して、パレットに積まれたパッケージのスタックの画像が撮影される。システムは、画像を処理して、登録データソースに記憶された登録画像と撮影画像を比較する等によって、パッケージがロボットアームによって効率的に取り扱われることが保証され得る。
【０００５】
また、パッケージの撮影画像が、登録画像に一致する場合がある。また、結果として、撮影された物体の物理的特性（例えば、パッケージの寸法、重量、および／または、質量中心の測定値）が未知の場合がある。物理的特性の正確な識別に失敗すると、様々な望ましくない結果につながり得る。例えば、このような失敗は停止の原因となることがあり、停止すると、パッケージを手動で登録することが必要となり得る。また、このような失敗に起因して、特に、パッケージが比較的重いおよび／または傾いている場合、パッケージの取り扱いを誤る結果となり得る。
【０００６】
技術の様々な特徴および特性は、発明を実施するための形態を図面と共に検討すると、当業者には明らかになろう。技術の実施形態を、図面に例として示すが、図面に制限されるものではない。図面中、類似の参照番号は類似の要素を示してよい。
【図面の簡単な説明】
【０００７】
【図１】ロボットシステムが動作し得る環境の例を示す。
【図２】本技術の１つまたは複数の実施形態による、ロボットシステムを示す。
【図３Ａ】本技術の１つまたは複数の実施形態による、ロボットシステムが処理する物体のスタックの例を示す。
【図３Ｂ】本技術の１つまたは複数の実施形態による、スタックの例の上面を示す。
【図３Ｃ】本技術の１つまたは複数の実施形態による、上面に対応するセンサデータを示す。
【図４Ａ】本技術の１つまたは複数の実施形態による、最初の動作セットの後の上面に対応するセンサデータを示す。
【図４Ｂ】本技術の１つまたは複数の実施形態による、図４Ａに示されたセンサデータの一部を示す。
【図５】本技術のある実施形態による、パレタイズされたパッケージのセットの上面図を示す。
【図６】本技術のある実施形態による、露出した外側角部のグラフィック表現を示す。
【図７】本技術のある実施形態による、パレタイズされたパッケージのセットの上面図を示す。
【図８】本技術のある実施形態による、マージされたＭＶＲ領域の例を示す。
【図９】本技術のある実施形態による、図１のロボットシステムを動作させる方法のブロック図である。
【図１０】本明細書に記載の少なくとも幾つかの動作を実施できる処理システムの例を示すブロック図である。
【発明を実施するための形態】
【０００８】
図面は、説明のためだけに様々な実施形態を示す。本技術の趣旨を逸脱することなく、代替実施形態を採用してよいことを当業者は認識されよう。したがって、特定の実施形態を図面に示すが、技術は、様々な修正を受け入れてよい。
【０００９】
自動パッケージ登録機構を備えたロボットシステムのためのシステムおよび方法を本明細書に記載する。ある実施形態にしたがって構成されたロボットシステム（例えば、１つまたは複数の指定されたタスクを実行するデバイスを統合したシステム）は、未知の、または、認識されていない物体（例えば、パッケージ、箱、ケース等）、（例えば、人間オペレータによる入力が殆どまたは全く無しに）操作し、自律的／自動的に登録することによって、使用性と柔軟性を向上させる。
【００１０】
物体が認識されたか否かを判断するために、ロボットシステムは、スタート位置の物体に関するデータ（例えば、物体の露出した表面の１つまたは複数の画像）を取得し、既知のまたは予測される物体の登録データと比較できる。ロボットシステムは、比較されたデータ（例えば、比較された画像の一部）が、物体の１つの登録データ（例えば、登録された表面画像の１つ）と一致する時、その物体は認識されていると判断できる。ロボットシステムは、比較されたデータが既知または予測される物体の登録データと一致しない時、物体は認識されていないと判断できる。
【００１１】
ロボットシステムは、１つまたは複数の推定にしたがって、認識されていない物体を操作でき、認識されていない物体に関する追加情報（例えば、表面画像および／または物理的寸法）を決定できる。例えば、ロボットシステムは、他の物体とは離れたまたは隣り合わない認識されていない物体の露出した辺（エッジ、縁）および／または露出した外側角部を識別できる。
【００１２】
推定は、対応する認識されていない物体と接触および持ち上げるのに必要な最小限および／または最適なエリアを表す最小実行可能領域（ＭＶＲ）を生成することを含み得る。ＭＶＲ生成時に、露出した外側角部および露出した辺は、点群データを検査することによって識別されてよい。識別された露出した外側角部および露出した辺に基づいて、最初のＭＶＲが、露出した辺の反対側の対向する辺を識別することによって生成されてよい。説明のための例として、対の露出した辺は、互いに直交して、露出した外側角部を形成してよい。このような物体の最初のＭＶＲは、露出した外側角部から露出した辺に沿って識別された対向する辺に延びてよい。
【００１３】
ある実施形態においては、最初のＭＶＲは、最初のＭＶＲから点群によって画定される領域の端まで拡大することによって、潜在的ＭＶＲ領域をテストすること等によって、さらに処理されてよい。物体のマージされたＭＶＲは、最初のＭＶＲと潜在的ＭＶＲとを含んでよい。マージされたＭＶＲが１つまたは複数の所定の条件を満たす時、検証されたＭＶＲが生成されてよい。検証されたＭＶＲは、認識されていない物体を含む正確な領域を表してよい。検証されたＭＶＲに基づいて、本明細書に記載のシステムは、物体を登録してよく、物体を把持および／または移動する等によって、物体に対するタスクを行ってよい。
【００１４】
以下の記載において、本開示の技術の完全な理解を提供するために、多くの特定の詳細を記載する。他の実施形態においては、本明細書で紹介される技術は、これらの特定の詳細が無くても実践され得る。他の例においては、特定の機能またはルーチン等の周知の特徴は、本開示を不必要に曖昧にしないように、詳細には記載しない。本明細書において、「ある実施形態」、「一実施形態」等の言及は、記載している特定の特徴、構造、材料、または、特性が、本開示の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書におけるこのような句の出現は、全て同じ実施形態を必ずしも指してはいない。他方、このような言及は、必ずしも互いに排他的なものではない。さらに、特定の特徴、構造、材料、または、特性は、１つまたは複数の実施形態において、任意の適切な方法で組み合わせることができる。図に示す様々な実施形態は、説明のための表現に過ぎず、必ずしも、縮尺通りに描いてはいないことを理解されたい。
【００１５】
ロボットシステムおよびサブシステムに関連付けられることが多いが、開示の技術の幾つかの重要な態様を不必要に曖昧にし得る構造またはプロセスを記載する周知の幾つかの詳細は、明確にするために、以下には記載していない。さらに、以下の開示は、本技術の異なる態様の幾つかの実施形態を記載するが、幾つかの他の実施形態は、この項に記載するのとは異なる構成または構成要素を有し得る。したがって、開示の技術は、追加の要素を有する、または、以下に記載の要素の幾つかを含まない他の実施形態を有し得る。
【００１６】
以下に記載の本開示の多くの実施形態または態様は、プログラム可能なコンピュータまたはプロセッサによって実行されるルーチンを含む、コンピュータまたはプロセッサで実行可能な命令の形を取り得る。以下に示し、記載する以外のコンピュータまたはプロセッサシステムで開示の技術を実践できることを当業者は理解されよう。本明細書に記載の技術は、以下に記載のコンピュータ実行可能命令の１つまたは複数を実行するように特別にプログラム、構成、または、構築された専用コンピュータまたはデータプロセッサで実現できる。したがって、本明細書で一般的に使用される「コンピュータ」および「プロセッサ」という用語は、任意のデータプロセッサを指し、（パームトップコンピュータ、ウェアラブルコンピュータ、セルラーフォン、モバイルフォン、マルチプロセッサシステム、プロセッサベースもしくはプログラム可能家電製品、ネットワークコンピュータ、ミニコンピュータ等を含む）インターネット家電およびハンドヘルドデバイスを含み得る。これらのコンピュータおよびプロセッサが取り扱う情報は、液晶ディスプレイ（ＬＣＤ）を含む任意の適切な表示媒体に提示できる。コンピュータまたはプロセッサで実行可能なタスクを実行するための命令は、ハードウェア、ファームウェア、または、ハードウェアおよびファームウェアの組み合わせを含む、任意の適切なコンピュータ読み取り可能媒体に記憶できる。命令は、例えば、フラッシュドライブおよび／または他の適切な媒体を含む任意の適切なメモリデバイスに含まれてよい。
【００１７】
「結合された」および「接続された」という用語、並びに、これらの派生語は、構成要素間の構造的関係を記載するために本明細書では使用されてよい。これらの用語は、互いに同意語と意図されていないことを理解されたい。むしろ、特定の実施形態において、「接続された」を使用して、２つ以上の要素が互いに直接接触していることを示すことができる。文脈においてそうでないことが明らかでない限り、「結合された」という用語を使用して、２つ以上の要素が、互いに直接的または間接的に（要素と要素の間に他の介在する要素がある）接触していること、（例えば、信号送信／受信、または、関数呼び出し等の因果関係においてのように）２つ以上の要素が互いに協力または相互作用すること、または、その両方を示すことができる。
【００１８】
好適な環境
図１は、ロボットシステム１００が動作し得る環境の例である。ロボットシステム１００は、１つまたは複数のタスクを実行するように構成された１つまたは複数のユニット（例えば、ロボット）を含むことができる、および／または、それらと通信できる。梱包機構の態様は、様々なユニットによって実践または実施できる。
【００１９】
図１に示す例に関しては、ロボットシステム１００は、倉庫または分配／出荷拠点において、荷降ろしユニット１０２、移動ユニット１０４（例えば、パレタイズロボット、および／または、ピースピッキングロボット）、運搬ユニット１０６、積み込みユニット１０８、または、これらの組み合わせを含み得る。ロボットシステム１００の各ユニットは、１つまたは複数のタスクを実行するように構成できる。タスクは、トラックまたはバンから物体を降ろし、物体を倉庫に保管する、または、保管場所から物体を降ろし、出荷の準備をする等、目的を達成する動作を行うように順次、組み合わせることができる。他の例に関しては、タスクは、対象位置（例えば、パレットの上、および／または、大箱／ケージ／箱／ケース内）に物体を載置することを含み得る。以下に記載のように、ロボットシステムは、物体を載置するおよび／または積み重ねるための計画（例えば、載置位置／向き、物体を移動させる順番、および／または、対応する動作計画）を導出できる。各ユニットは、導出された計画の１つまたは複数にしたがって（例えば、ユニットの１つまたは複数の構成要素を動作させることによって）一連のアクションを実行してタスクを実行するように構成されてよい。
【００２０】
ある実施形態においては、タスクはスタート位置１１４からタスク位置１１６への対象物体１１２（例えば、実行するタスクに対応するパッケージ、箱、ケース、ケージ、パレット等の１つ）の操作（例えば、移動および／または向きの変更）を含み得る。例えば、荷降ろしユニット１０２（例えば、デバンニングロボット）は、運搬装置（例えば、トラック）内の位置から、コンベヤベルト上の位置に対象物体１１２を移動するように構成されてよい。また、移動ユニット１０４は、１つの位置（例えば、コンベヤベルト、パレット、または、大箱）から他の位置（例えば、パレット、大箱等）に対象物体１１２を移動するように構成されてよい。他の例に関しては、移動ユニット１０４（例えば、パレタイズロボット）は、対象物体１１２を元の位置（例えば、パレット、ピックアップエリア、および／または、コンベヤ）から目的パレットに移動するように構成されてよい。動作を完了する時、運搬ユニット１０６は、移動ユニット１０４に関連付けられたエリアから、積み込みユニット１０８に関連付けられたエリアに対象物体１１２を移動でき、積み込みユニット１０８は、移動ユニット１０４から保管場所（例えば、棚上の位置）に（例えば、対象物体１１２を載せたパレットを動かすことによって）対象物体１１２を移動できる。このタスクおよびそれに関連する動作に関する詳細を以下に記載する。
【００２１】
説明目的で、ロボットシステム１００を、出荷センタの文脈で記載するが、ロボットシステム１００は、製造、アセンブリ、梱包、ヘルスケア、および／または、他の種類の自動化等、他の環境において／他の目的のために、タスクを実行するように構成されてよいことは理解されたい。ロボットシステム１００は、図１に示されていない、マニピュレータ、サービスロボット、モジュール式ロボット等、他のユニットを含み得ることも理解されたい。例えば、ある実施形態においては、ロボットシステム１００は、ケージカートまたはパレットからコンベヤまたは他のパレット上に物体を移動するデパレタイズユニット、１つのコンテナから別のコンテナに物体を移動するコンテナ切替ユニット、物体を梱包する梱包ユニット、物体の１つまたは複数の特性にしたがって物体をグループにする仕分けユニット、物体の１つまたは複数の特性にしたがって物体を異なるように操作（例えば、仕分け、グループ化、および／または、移動）するピースピッキングユニット、または、これらの組み合わせを含み得る。
【００２２】
ロボットシステム１００は、動き（例えば、回転変位および／または並進変位）のためにジョイントに接続された物理的または構造的な部材（例えば、ロボットマニピュレータアーム）を含み得る。構造部材およびジョイントは、ロボットシステム１００の使用／動作に応じて、１つまたは複数のタスク（例えば、把持、回転、溶接等）を実行するように構成されたエンドエフェクタ（例えば、把持部）を操作するように構成された運動連鎖を形成できる。ロボットシステム１００は、対応するジョイントを中心に、または、対応するジョイントで構造部材を駆動または操作（例えば、変位、および／または、向き変更）するように構成された駆動装置（例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマー等）を含み得る。ある実施形態においては、ロボットシステム１００は、対応するユニット／シャシを場所から場所へと運搬するように構成された運搬モータを含み得る。
【００２３】
ロボットシステム１００は、構造部材を操作するため、および／または、ロボットユニットを運搬するため等、タスクの実施に使用される情報を取得するように構成されたセンサを含み得る。センサは、ロボットシステム１００の１つまたは複数の物理的特性（例えば、ロボットシステムの１つまたは複数の構造部材／ジョイントの状況、条件、および／または、位置）、および／または、周囲環境の１つまたは複数の物理的特性を検出または測定するように構成されたデバイスを含み得る。センサの幾つかの例は、加速度計、ジャイロスコープ、力センサ、ひずみゲージ、触覚センサ、トルクセンサ、位置エンコーダ等を含み得る。
【００２４】
ある実施形態においては、例えば、センサは、周囲環境を検出するように構成された１つまたは複数の撮像装置（例えば、視覚および／または赤外線カメラ、二次元（２Ｄ）および／または三次元（３Ｄ）イメージングカメラ、ライダまたはレーダ等の距離測定装置等）を含み得る。撮像装置は、（例えば、自動検査、ロボット誘導、または、他のロボット用途のために）機械／コンピュータビジョンを介して処理され得る、デジタル画像および／または点群等、検出された環境の表現を生成し得る。以下にさらに詳細に記載するように、ロボットシステム１００は、デジタル画像および／または点群を処理して、対象物体１１２、スタート位置１１４、タスク位置１１６、対象物体１１２の姿勢、スタート位置１１４および／または姿勢に関する信頼基準、または、これらの組み合わせを識別できる。
【００２５】
対象物体１１２を操作するために、ロボットシステム１００は、指定エリア（例えば、トラック内またはコンベヤベルト上等のピックアップ位置）の画像を撮影、分析して、対象物体１１２と対象物体１１２のスタート位置１１４とを識別できる。同様に、ロボットシステム１００は、別の指定エリア（例えば、コンベヤ上に物体を載置するための投下位置、コンテナ内の物体を置く位置、または、積み重ねるためのパレット上の位置）の画像を撮影、分析して、タスク位置１１６を識別できる。例えば、撮像装置は、ピックアップエリアの画像を生成するように構成された１つまたは複数のカメラ、および／または、タスクエリア（例えば、投下エリア）の画像を生成するように構成された１つまたは複数のカメラを含み得る。撮影画像に基づいて、以下に記載のように、ロボットシステム１００は、スタート位置１１４、タスク位置１１６、関連する姿勢、梱包／載置計画、運搬／梱包順序、および／または、他の処理結果を決定できる。
【００２６】
ある実施形態においては、例えば、センサは、構造部材（例えば、ロボットアームおよび／またはエンドエフェクタ）、および／または、ロボットシステム１００の対応するジョイントの位置を検出するように構成された位置センサ（例えば、位置エンコーダ、ポテンショメータ等）を含み得る。ロボットシステム１００は、タスク実行中に、位置センサを使用して、構造部材および／またはジョイントの位置および／または向きを追跡できる。
【００２７】
目的地ベースのセンサを用いた物体の移動および登録
図２は、本技術の１つまたは複数の実施形態による、図１のロボットシステム１００の図である。ロボットシステム１００は、エンドエフェクタ２０４（例えば、把持部）を含むロボットアーム２０２（例えば、図１の移動ユニット１０４のインスタンス）を含み得る。ロボットアーム２０２は、図１のスタート位置１１４と図１のタスク位置１１６との間で対象物体１１２を移動するように構成されてよい。図２に示すように、スタート位置１１４は、対象スタック２１０（例えば、物体のグループ）を載せたパレット２０８を有し得る。ロボットアーム２０２のタスク位置１１６は、コンベヤ２０６（例えば、図１の運搬ユニット１０６のインスタンス）の載置位置（例えば、開始／放出点）であってよい。例えば、ロボットアーム２０２は、対象スタック２１０から物体を掴み取るように、且つ、物体を他の目的地／タスクに運搬するためにコンベヤ２０６に載せるように構成されてよい。
【００２８】
ロボットシステム１００は、ロボットアーム２０２を用いた移動動作を行う時、１つまたは複数のセンサを使用できる。ある実施形態においては、ロボットシステム１００は、第１の画像センサ２１２および／または第２の画像センサ２１４を含み得る。第１の画像センサ２１２は、スタート位置１１４を撮影および／または分析するように構成された、カメラおよび／またはデプスセンサ等、１つまたは複数の２Ｄおよび／または３Ｄセンサを含み得る。第２の画像センサ２１４は、タスク位置１１６を撮影および／または分析するように構成された、カメラおよび／またはデプスセンサ等、１つまたは複数の２Ｄおよび／または３Ｄセンサを含み得る。例えば、第１の画像センサ２１２は、スタート位置１１４より上でスタート位置１１４の方を向く既知の位置に配置された１つまたは複数のカメラおよび／またはデプスセンサを含み得る。第１の画像センサ２１２は、対象スタック２１０の上面図等、スタート位置１１４の１つまたは複数の上面図に対応する画像データ（例えば、３Ｄ点群、および／または、視覚もしくは２Ｄ画像）を生成できる。以下にさらに詳細に記載するように、ロボットシステム１００は、第１の画像センサ２１２からの画像データを使用して、対象スタック２１０の認識されていない（例えば、登録されていない）物体の最小実行可能領域（ＭＶＲ）を導出できる。ロボットシステム１００は、認識されていない物体をスタート位置１１４からタスク位置１１６に移動させる時等、ＭＶＲを使用して、認識されていない物体を（例えば、エンドエフェクタ２０４を介して）把持し、（例えば、ロボットアーム２０２を介して）操作できる。また、第２の画像センサ２１４は、タスク位置１１６の上／横でタスク位置１１６の方を向く１つまたは複数の既知の位置、または関連する空間に配置された１つまたは複数のカメラおよび／またはデプスセンサを含み得る。したがって、第２の画像センサ２１４は、タスク位置１１６に、または、タスク位置１１６から閾値距離内にある対象物体１１２の１つまたは複数の上面図および／または側面図に対応する画像データを生成できる。
【００２９】
物体認識
本技術の１つまたは複数の実施形態にしたがって、図３Ａは、図１のロボットシステム１００によって処理される物体のスタックの例（例えば、図２の対象スタック２１０）の図であり、図３Ｂは、スタックの例の上面の図（例えば、対象スタック２１０の実際の上面図３１０）であり、図３Ｃは、上面に対応するセンサデータ（例えば、上面図データ３２０）の図である。図３Ａ、３Ｂ、および３Ｃを一緒に参照すると、ロボットシステム１００は、前述のように、対象スタック２１０内の物体を、図１のタスク位置１１６（例えば、図２のコンベヤ２０６）等、他の位置に移動させるように構成されてよい。物体の移動に関しては、ロボットシステム１００は、対象スタック２１０の上に配置された図２の第１の画像センサ２１２からの画像データ（例えば、上面図データ３２０）を使用できる。例えば、上面図データ３２０は、実際の上面図３１０を示すまたは表す１つまたは複数の視覚画像および／または１つまたは複数のデプスマップを含み得る。さらに、ロボットシステム１００は、上面図データ３２０を分析して、物体の境界に対応し得る辺を識別できる。例えば、ロボットシステム１００は、深度測定値および／または画像特性の差（例えば、異なる色、線形パターン、影、明瞭さの差等）に基づいて、画像データで表現された辺および／または連続した表面を識別できる。ロボットシステム１００は、深度測定値の差等に基づいて等、露出した辺３２２（例えば、ほぼ同じ高さの他の物体／表面と水平に当接していない物体の上面の辺）を識別できる。
【００３０】
対象スタック２１０は、予測された、または、以前のプロセスの物体の登録記録を含むマスタデータに登録された物体、および／または、マスタデータに登録されていない予測されていない物体を含んでよい。したがって、ロボットシステム１００は、物体表面３１６の画像データを使用して、対象スタック２１０内にある物体を認識または識別できる。ある実施形態においては、ロボットシステム１００は、画像データ、または、画像データの１つまたは複数の部分を、マスタデータと比較して、対象スタック２１０内の物体を認識できる。例えば、ロボットシステム１００は、上面図データ３２０の一部が登録データの物体表面３１６の１つまたは複数の画像に一致する時、対象スタック２１０内の既知の物体（例えば、認識された物体３１２）を識別できる。実際の上面図３１０の残りの部分（例えば、登録データと一致しない部分）は、認識されていない物体３１４に対応し得る。認識されていない物体３１４の辺は、図３Ｃに破線を用いて示される。
【００３１】
画像データの一致に基づいて、ロボットシステム１００は、対応する画像データ内で認識された物体３１２の位置を突き止めることができ、この位置は、さらに、（例えば、画素位置を座標系にマッピングするプレキャリブレーション表および／または方程式を介して）対象スタック２１０の実世界の位置に変換されてよい。さらに、ロボットシステム１００は、認識された物体３１２の露出していない辺の位置を、一致に基づいて推定できる。例えば、ロボットシステム１００は、認識された物体３１２の寸法をマスタデータから取得できる。ロボットシステム１００は、認識された物体３１２の露出した辺３２２から既知の寸法によって分けられる画像データの部分を測定できる。マッピングにしたがって、ロボットシステム１００は、認識された物体３１２の１つまたは複数の登録に基づいた辺３２４を決定できる、および／または、上記のように、登録に基づいた辺３２４を実世界の位置に同様にマッピングできる。
【００３２】
ある実施形態においては、ロボットシステム１００は、画像データ（例えば、点群データ）に表現された対象スタック２１０の露出した外側角部３２６を識別できる。例えば、ロボットシステム１００は、異なる向きを有する（例えば、異なる角度で延びる）露出した辺３２２（例えば、３Ｄの辺とも呼ばれる、３Ｄ画像データで識別される辺）の２つ以上の間の交点／接合点を検出することに基づいて、露出した外側角部３２６を識別できる。１つまたは複数の実施形態において、ロボットシステム１００は、９０度より大きい、および／または、９０度未満の閾値角度範囲等、所定範囲内にある角度（角度範囲とも呼ばれる）を露出した辺３２２が形成する時、露出した外側角部３２６を識別できる。以下に詳細に記載するように、ロボットシステム１００は、露出した外側角部３２６と対応する露出した辺３２２とを使用して、認識されていない物体３１４を処理および／または操作できる。
【００３３】
認識されていない物体の処理
ある実施形態においては、図１のロボットシステム１００は、図２の対象スタック２１０内の物体の認識ステータスおよび／または相対的位置にしたがって、物体を処理（例えば、識別、および／または、移動）できる。例えば、ロボットシステム１００は、認識された物体を最初に掴み、移動し、次に、センサ（例えば、図２の第１の画像センサ２１２）から別の画像データセットを生成できる。図４Ａは、本技術の１つまたは複数の実施形態による、最初の動作セット（例えば、認識された物体３１２を掴むこと、および、移動すること）の後の上面に対応するセンサデータ４０１の図である。図４Ａの網掛部分は、図３Ｂおよび図３Ｃに示された認識された物体３１２を取り除いた後の深度測定値の変化に対応する。
【００３４】
ロボットシステム１００が、画像データ（例えば、２Ｄ画像および／または３Ｄ点群）の認識された物体３１２のいずれも識別しない時、ロボットシステム１００は、図３Ａの認識されていない物体３１４を突き止めるために、画像データを処理して、いずれかの露出した角部３２６および／または露出した辺３２２を識別できる。例えば、ロボットシステム１００は、上記と同様に、センサデータ４０１（例えば、３Ｄ点群）を処理して、露出した外側角部３２６および／または露出した辺３２２を識別できる。したがって、ロボットシステム１００は、認識された物体３１２を取り除いた後に露出された角部／辺をさらに識別し、および／または、突き止めることができる。ある実施形態においては、ロボットシステム１００は、対応する閾値角度範囲にしたがって、露出した辺３２２の２つ以上の間の交点／接合点として、露出した内側角部４０２をさらに識別できる。例えば、ロボットシステム１００は、対応する連続した表面に対して１８０度を超える露出した辺３２２の２つ以上の間の接合点として、露出した内側角部４０２を識別できる。ある実施形態においては、ロボットシステム１００は、露出した辺３２２が、２７０度より大きい、および／または、２７０度未満の閾値角度範囲内にある角度を形成する時、露出した内側角部４０２を識別できる。
【００３５】
ある実施形態においては、認識された物体３１２が何も残っていない時、ロボットシステム１００は、露出した角部および／または露出した辺に基づいて、（例えば、認識されていない物体３１４のうちから）対象スタック２１０の登録対象４０６を識別できる。例えば、ロボットシステム１００は、プリファレンスのセット、および／または、スコア機構にしたがって、露出した角部／辺を評価できる。ある実施形態においては、ロボットシステム１００は、図２のロボットアーム２０２に最も近い露出した外側角部３２６を選択するように構成されてよい。ロボットシステム１００は、センサデータ４０１の対応する領域と、選択された露出した外側角部３２６に関連付けられた対応する認識されていない物体３１４とを選択できる。換言すると、認識された物体３１２を処理した後、ロボットシステム１００は、対象スタック２１０の露出した外側角部３２６を形成／構成する認識されていない物体３１４を処理できる。センサデータ４０１の対応する部分を（例えば、ＭＶＲを導出することによって）分析することに基づいて、ロボットシステム１００は、認識されていない物体３１４を把持し、把持した物体を持ち上げ、および／または、水平に移動し、および／または、登録のために把持した物体を撮影できる。さらに、把持した物体を撮影した後、ロボットシステム１００は、把持した物体を目的地（例えば、図２のコンベヤ２０６）に移動できる。
【００３６】
センサデータの分析をさらに記載するために、図４Ｂは、本技術の１つまたは複数の実施形態による、図４Ａのセンサデータ４０１の一部分の詳細な図４Ｂである。ロボットシステム１００は、センサデータ４０１を分析して、把持位置４２０の決定に使用できるＭＶＲ４１２を導出できる。ＭＶＲ４１２は、物体と接触、物体を把持、および／または、物体を持ち上げるのに使用される最小サイズのエリアを表すことができる。したがって、ある実施形態においては、ＭＶＲ４１２は、図２のエンドエフェクタ２０４に基づいてよい。例えば、ＭＶＲ４１２は、エンドエフェクタ２０４が占めるｘ−ｙ平面に沿ったエリア等、エンドエフェクタ２０４の取付面積（例えば、把持部の吸引カップ）、または、取付面積を囲む追加の／緩衝領域を有するより大きいエリアに関連付けられてよい。また、例えば、ＭＶＲ４１２は、認識されていない物体（例えば、選択された登録対象）の水平方向の境界／辺の推定された位置に関連付けられてよい。ある実施形態においては、ＭＶＲ４１２は、最小および／または最大候補サイズに対応してよく、それぞれ、対象スタック２１０の物体の最小または最大の可能なインスタンスの物理的寸法（例えば、長さ、幅、高さ、直径、外周等）に対応し得る。換言すると、ロボットシステム１００は、対象スタック２１０内には、最小候補サイズより小さい寸法を有する物体も最大候補サイズより大きい寸法を有する物体も無いと判断できる。最小候補サイズおよび最大候補サイズは、所定の値（すなわち、対象スタック２１０を処理する前に与えられたまたは既知の値）であってよい。ＭＶＲ４１２の導出に関する詳細を以下に記載する。
【００３７】
ある実施形態においては、ロボットシステム１００は、ＭＶＲ４１２を使用して、潜在的な把持位置のセットを導出できる。例えば、ロボットシステム１００は、第１の露出した辺と一直線になったＭＶＲ４１２の寸法を用いて第１の把持位置を導出でき、第２の露出した辺と一直線になった寸法を用いて第２の把持位置を導出できる。ある実施形態においては、ロボットシステム１００は、露出した辺の１つと一直線になったＭＶＲ４１２を用いて２つ以上の把持位置を導出できる。また、ロボットシステム１００は、ＭＶＲ４１２内の、または、ＭＶＲ４１２の一部と重なる第１の把持位置を導出できる。
【００３８】
ロボットシステム１００は、ＭＶＲ４１２を用いて、把持位置４２０を決定できる。把持位置４２０は、最初の操作のためにエンドエフェクタ２０４の真下にくる、および／または、エンドエフェクタ２０４に接触する物体／スタック上のエリアに対応し得る。換言すると、ロボットシステム１００は、次の操作（例えば、持ち上げプロセス、水平移動プロセス、および／または、登録のためのデータ収集プロセス）のために、把持位置４２０の上に把持部を置いて、対応する物体を把持できる。ある実施形態においては、ロボットシステム１００は、可能な把持位置のセットから把持位置４２０を選択できる。例えば、ロボットシステム１００は、（例えば、ロボットアームが露出した辺３２２にわたって延び、他の部分に重ならないことを優先して）アームの相対的向きにしたがって、把持位置のセットから選択できる。
【００３９】
ある実施形態においては、ロボットシステム１００は、検出された線４２２および／または推定された辺４２４に基づいて、把持位置４２０および／またはＭＶＲ４１２を導出できる。例えば、ロボットシステム１００は、センサデータ４０１の深度測定値および／または画像特性の差に基づいて、検出された線４２２および／または推定された辺４２４を識別できる。ロボットシステム１００は、露出した辺３２２と交際しない辺／線を、検出された線４２２として識別でき、検出された線４２２は、物体の表面のマーク内の線または物体の辺に対応し得る。ロボットシステム１００は、少なくとも１つの露出した辺３２２と交差する結果を推定された辺４２４として識別できる。ロボットシステム１００は、識別された辺／線の向きを露出した辺３２２の向きと比較することに基づいて、推定された辺４２４を識別／検証してよい。例えば、ロボットシステム１００は、識別された辺／線が露出した辺３２２の１つと平行である時、識別された辺／線を推定された辺４２４として検証できる。ある実施形態においては、ロボットシステム１００は、テストされた対の辺（例えば、識別された辺と、露出した辺３２２の１つ）上の２つ以上の対応する点の間の距離が等しいことを検証することに基づいて、平行な向きであることをテストできる。ある実施形態においては、テストされた対の辺が他の露出した辺と角度８０度〜１００度の間で交差する時等、両辺が、同じ角度で共通の辺と交差する時、ロボットシステム１００は、平行な向きを識別できる。
【００４０】
したがって、ロボットシステム１００は、検出された線４２２および／または推定された辺４２４と重ならない把持位置４２０を導出できる。ロボットシステム１００は、ＭＶＲ４１２の辺と、最も近くの検出された線４２２および／または推定された辺４２４との間の距離間の比率を釣り合わせることに基づいて、把持位置４２０を導出できる。ロボットシステム１００は、ＭＶＲ４１２に基づいた角部で、または、角部の近くで物体を把持するので、ロボットシステム１００は、その比率を釣り合わせることに基づいて、任意の１つの特定の方向に沿った最大の潜在的トルクを低減する把持位置４２０を導出できる。また、ロボットシステム１００は、推定された辺４２４および／または検出された線４２２と一致する、または、推定された辺４２４および／または検出された線４２２から外に延びるように、ＭＶＲ４１２をさらに導出または調整してよい。
【００４１】
ロボットシステム１００は、導出した把持位置４２０を使用して、図２のロボットアーム２０２とエンドエフェクタ２０４とを操作できる。ロボットシステム１００は、把持位置４２０でスタックの角部にある物体（例えば、登録対象４０６）を把持できる。ある実施形態においては、ロボットシステム１００は、以前は露出していなかった辺を明瞭に区別するために、把持した物体を持ち上げ、および／または、水平に移動させることができる。例えば、ロボットシステム１００は、辺を正確に区別するために、最小距離に対応する所定の高さだけ、物体を持ち上げ、および／または、物体を水平に移動させることができる。また、例えば、ロボットシステム１００は、エンドエフェクタの高さの変化および／または傾きを監視および／または分析しながら、物体を持ち上げ、および／または水平に移動させることができ、それによって、露出した辺３２２の反対側の追加の辺が認識可能になる。ロボットシステム１００は、最初の持ち上げ中、および／または、最初の持ち上げ後、データを取得および処理して、認識されていない物体３１４をさらに記述することができる。
【００４２】
ＭＶＲ検出の概要
本実施形態は、物体の正確な最小実行可能領域（ＭＶＲ）を生成することに関連してよい。露出した外側角部および露出した辺は、２Ｄおよび／または３Ｄ画像データ（例えば、点群データ）を検査することによって識別されてよい。識別された露出した外側角部および露出した辺に基づいて、最初のＭＶＲが、露出した辺に対向する辺を識別することによって生成されてよい。ある実施形態においては、ロボットシステム１００は、露出した辺に対応する（例えば、に平行な）対向する辺（例えば、図４Ｂの推定された辺４２４）を識別することに基づいて、ＭＶＲを生成できる。最初のＭＶＲは、露出した外側角部から露出した辺に沿って対向する辺にまで延びてよい。
【００４３】
最初のＭＶＲを決定した後、点群によって画定された最初のＭＶＲから表面または層の端部まで延びる潜在的ＭＶＲ領域（例えば、互いの閾値連続範囲内の深度測定値を有する横方向に隣り合う位置のセット）が、識別されてよい。物体のマージされたＭＶＲは、最初のＭＶＲと潜在的ＭＶＲとを含んでよい。検証されたＭＶＲは、マージされたＭＶＲを検査／テストすることによって生成されてよい。検証されたＭＶＲは、認識されていない物体を含む正確な領域を表してよい。検証されたＭＶＲに基づいて、本明細書に記載のロボットシステム１００は、物体を登録してよく、物体の把持および／または移動等、物体に関するタスクを行ってよい。
【００４４】
多くの場合、物体の辺（例えば、外側のまたは露出した辺）が、識別され得る。例えば、図２の対象スタック２１０の周囲に沿って配置された物体の外側の辺（例えば、図３Ｃの露出した辺３２２）は、取り囲んでいる物体が無くてよい、および／または、取り囲んでいるいずれの物体からも離れていてよい。したがって、撮像結果（例えば、３Ｄ点群）は、外側の辺を表す示された値（例えば、高さ測定値、および／または、色または明るさ等の画像値）の突然の変化を含み得る。しかしながら、多くの場合、他の辺は、見えない場合がある、または、（例えば、閾値信頼値に基づいて）正確に画定するのが困難な場合がある。例えば、箱の表面の設計／画像は、物体で識別された不正確な辺につながる場合がある。したがって、不完全な辺が原因で、２Ｄ／３Ｄ画像データの部分を正確に分離するのが困難な場合がある。
【００４５】
ロボットシステム１００は、画像データ（例えば、点群および／または２Ｄ画像）を検査し、１つまたは複数の層を決定することによって、物体の露出した外側角部３２６および／または露出した辺３２２を識別してよい。例えば、ロボットシステム１００は、撮像結果に基づいて、対象スタック２１０の物体（複数可）の上層（例えば、図３Ｂの認識されていない物体３１４）を識別できる。上層内で、ロボットシステム１００は、ＭＶＲ導出のために、物体および／または表面の一部分（例えば、互いに閾値連続範囲内にある高さの値を有する領域）を選択できる。ロボットシステム１００は、表面（例えば、層の１つまたは、その中の一部分）を形成／画定する露出した辺が、表面および／または対応する物体の横方向の／周囲の境界に対応することを推定できる。最初のＭＶＲは、露出した辺に向かい合う対向する辺を識別することによって生成されてよく、最初のＭＶＲは、露出した外側角部（例えば、露出した辺のセットおよび／または周囲の境界によって形成される交点）から露出した辺に沿って対向する辺まで延びてよい。
【００４６】
ロボットシステム１００は、画像データのマーカ（例えば、不完全な辺）に基づいて、最初の推定を拡大および／または縮小することによって、最初のＭＶＲをさらに処理（例えば、調整）できる。調整されたＭＶＲを検査して、把持位置４２０の決定および／または認識されていない物体の登録に使用される最終的なＭＶＲを決定できる。
【００４７】
図５は、本技術のある実施形態による、パレタイズされたパッケージのセット５００（例えば、図２の対象スタック２１０）の上面図を示す。図５に示すように、第１の物体５１０は、辺５１２ａ〜５１２ｄを含み得る。辺は、所与の図（例えば、上面図）から見た物体の境界を表してよい。一定の状況においては、辺５１２ａ〜５１２ｄの少なくとも一部（例えば、辺５１２ｃ〜５１２ｄ）は、閉ざされており、他の隣り合う物体／辺に当接してよい。逆に、辺の一部（例えば、辺５１２ａ〜５１２ｂ）は、開かれており、図３Ｃの露出した辺３２２に対応してよい。
【００４８】
第１の箱５１０は、水平方向に隣り合う物体から離れた、または、水平方向に隣り合う物体が無い１つまたは複数の露出した外側角部５１４を含み得る。露出した外側角部５１４は、スタックの図３の露出した外側角部３２６に対応してよい。以下に記載のように、画像データ（例えば、点群および／または２Ｄ画像）を検査して、パッケージの露出した辺および露出した外側角部を識別してよい。
【００４９】
点群のセグメント化
図６は、本技術のある実施形態による、露出した外側角部のグラフィック表現６００を示す。図６に示すように、点群（例えば、グラフィック表現６００）を処理して、露出した外側角部６１４（例えば、図３の露出した外側角部３２６の１つ）を識別してよい。例えば、点群は、図５の第１の物体５１０、または、その一部の３Ｄカメラによって生成された上面図に対応し得る。点群は、深度を示す複数の層を有する三次元点群を含んでよい。各層および／または表面は、互いから閾値連続範囲内にある水平方向に隣り合う深度値のセットに対応し得る。例えば、閾値連続範囲は、水平方向の隣り合う位置が、互いから閾値距離（例えば、１センチメートル未満）内、または、傾斜にしたがって閾値距離内にある深度測定値を有することを必要とし得る。また、閾値連続範囲は、基準高さ（例えば、対象スタック３１０の最も高い／最も近い点）に対して床および／または傾斜を画定できる。閾値連続範囲は、同様に、水平方向の隣り合う位置のセットの連続性を識別するために、２Ｄ画像特性（例えば、色および／または明るさ）の限界を画定できる。点群の層の深度は、対応する物体の表面に垂直な方向に沿った分離（例えば、垂直分離）に対応し得る。
【００５０】
したがって、点群を分析、処理して、層を分離し、および／または、開かれた３Ｄの辺／角部を識別してよい。ある実施形態においては、ロボットシステム１００（例えば、ロボットシステム１００内の１つまたは複数のプロセッサ）は、１つまたは複数の所定の連続性の規則／閾値にしたがって、点群の深度値をグループ化することに基づいて、層を識別できる。例えば、ロボットシステム１００は、深度値が互いの閾値連続範囲内にある時、および／または、深度値が平坦なまたは連続した表面を表す一定の傾斜に従う時、水平方向の隣り合う／接続された深度値のセットをグループ化できる。ロボットシステム１００は、露出した辺（例えば、図５の露出した辺５１２ａおよび５１２ｂ）を識別した層の境界として識別できる。換言すると、ロボットシステム１００は、適格な深度変化が生じる層／表面の水平方向の周辺位置として、露出した辺５１２ａおよび５１２ｂを識別できる。一般的に、対象スタック２１０の上層を形成する物体／辺の深度測定値は、上層の下の層を形成する物体／辺より小さい（例えば、第１の画像装置３１２により近い距離を表す）大きさを有してよい。
【００５１】
ある実施形態においては、ロボットシステム１００は、２Ｄ視覚画像の目に見える線を識別することに基づいて、露出した辺を決定できる。例えば、パレットおよび／または床は、既知の色、明るさ等に対応してよい。したがって、ロボットシステム１００は、このような既知のパターンを区切る線を物体（複数可）の露出した辺として識別できる。また、ロボットシステム１００は、２Ｄ分析を使用して、露出した辺の３Ｄ識別を検証できる。
【００５２】
露出した辺に基づいて、ロボットシステム１００は、開かれた３Ｄ角部（例えば、露出した外側角部５１４）を識別できる。例えば、ロボットシステム１００は、露出した辺に関連付けられた形状／角度を識別できる。ロボットシステム１００は、露出した辺（例えば、辺５１２ａ〜５１２ｂ）が閾値角度範囲内の角度（例えば、８０度〜１００度）で交差する／を形成する点群の位置として露出した外側角部５１４を決定するように構成されてよい。
【００５３】
説明のための例として、ロボットシステム１００は、第１の領域６１２と隣接する領域６１６ａ〜６１６ｃとを識別することによって、開かれた３Ｄ角部６１４を識別できる。ロボットシステム１００は、スキャンされた領域層の隣り合う水平方向位置のセットが互いから閾値連続範囲内にある深度値を有する時、第１の領域６１２を識別できる。ロボットシステム１００は、第１の領域６１２の深度値から閾値連続範囲の外にある深度値を有する他の水平方向位置として、隣接する領域６１６ａ〜６１６ｃを識別できる。ある実施形態においては、ロボットシステム１００は、深度値が変化して閾値連続範囲の外になる時、および／または、深度値変化の位置が形状テンプレート（例えば、物体間の直線および／または最小の分離幅）に一致する時、第１の領域６１２の辺、および／または、隣接する領域６１６ａ〜６１６ｃの始まりを識別できる。より具体的には、隣接する領域６１６ａ〜６１６ｃは、対象スタック２１０の表面（すなわち、第１の領域６１２）の深度値より第１の画像センサ２１２から離れた距離を表す深度値を有し得る。第１の領域６１２と隣接する領域６１６ａおよび６１６ｃとの間に結果として生じる辺は、露出した辺と対応し得る。ある実施形態においては、開かれた３Ｄ角部６１４を識別することは、第１の領域６１２がある象限を形成し、隣接する領域６１６ａ〜６１６ｃが、物体のスタックの外側の位置等の残りの象限および／または空の空間に対応することを検証することを含んでよい。空の空間は、点群ノイズとして考慮されてよい非常に疎な点群を有して検出された空間を示してよい。
【００５４】
他の３Ｄ角部が、３Ｄ点群を用いて決定されてよい。ある実施形態においては、露出した外側角部は、輪郭形状であってよく、『Ｌ』形状の角部は、有効な角部を含まない場合がある。したがって、ロボットシステム１００は、要件の１つ（例えば、最小の連続直線長さ）を満たす辺のセグメントを、このような辺のセグメントを所定の長さによって延ばすことに基づいて、識別できる。延ばされた辺のセグメントが、他のセグメントまたは延ばされたセグメントと、ある角度で交差する時、ロボットシステム１００は、輪郭形状上の点（例えば、交差している辺のセグメント間にある弧の中点）を露出した外側角部として識別できる。
【００５５】
ある実施形態においては、３Ｄ角部は、ランク付けされてよい。例えば、（例えば、スタックの上層の角部にある物体の）空の空間に囲まれた３Ｄ角部は、他の物体より高くランク付けされてよい。開かれた３Ｄ角部６１４は、第１の領域６１２のサイズ、第１の領域６１２の形状に対する開かれた３Ｄ角部６１４の位置、囲んでいる領域間の（例えば、第１の領域６１２と隣接する領域６１６ａおよび６１６ｃとの間の）深度値の差、および／または、第１の領域６１６ａの深度値から閾値連続範囲内の深度値を有する他の領域（例えば、他の表面／物体）と第１の領域６１２との間の水平方向の距離等、他の要因に基づいて、ランク付けされてよい。
【００５６】
ある実施形態においては、ロボットシステム１００は、不完全な辺を識別してよい。不完全な辺は、実際の辺であることも実際の辺でないこともある２Ｄおよび／または３Ｄ分析で識別された辺であってよい。不完全な辺の一部は、他の物体のノイズの存在および／または、撮像装置（例えば、カメラ）の能力／位置のために識別されない場合がある箱の実際の辺／箱と箱の間の隙間に対応してよい。不完全な辺は、表面の絵もしくはマーク、または、一緒にテープで止められた箱のフラップ間の仕切り／継ぎ目等、２Ｄ画像分析から検出された物体表面上の視覚的パターンまたはマークであってもよい。逆に、パターンの無い箱は、不完全な辺として識別できる２Ｄの線を１つも有さない場合がある。ロボットシステム１００は、ノイズ分散を超えるが、辺識別のための規則／閾値を完全には満たさないセンサ出力の位置の不完全な辺を識別できる。ある実施形態においては、ロボットシステム１００は、３Ｄセンサ出力を用いて、露出した外側の辺（例えば、第１の領域６１２の周囲の辺）を識別でき、２Ｄセンサ出力を用いて、不完全な辺を識別できる。また、ロボットシステム１００は、角度閾値範囲内にある角度で他の辺と交差しない２Ｄまたは３Ｄの辺として、不完全な辺を識別してよい。不完全な辺に関する詳細を以下に詳しく記載する。
【００５７】
最初のＭＶＲの生成
図７は、本技術のある実施形態による、パレタイズされたパッケージのセットの上面図を示す。図７は、上面図（例えば、図２の対象スタック２１０の３Ｄおよび／または２Ｄセンサ画像）に関連する最初のＭＶＲ７１０をさらに示す。最初のＭＶＲ７１０は、ＭＶＲの境界および／または対応する物体の辺の最初の推定を表してよい。換言すると、最初のＭＶＲ７１０は、１つの認識されていない物体の表面の最初の推定を表し得る。ロボットシステム１００は、開かれた３Ｄ角部および／または露出した辺を使用して、最初のＭＶＲ７１０を導出できる。最初のＭＶＲ７１０を導出することは、点群から識別された層のそれぞれを検査して、物体、辺、角部等を識別することを含んでよい。例えば、ロボットシステム１００は、互いから閾値連続範囲内の深度値を有する点群データ（例えば、３Ｄセンサ出力）の領域（例えば、図６の第１の領域６１２）として、最初のＭＶＲ７１０を導出できる。換言すると、ロボットシステム１００は、連続した表面に対応する十分に一致したまたは線形にパターン化された深度値を有する水平方向の隣り合う位置のグループとして最初のＭＶＲを導出できる。したがって、ロボットシステム１００は、露出した外側角部５１４（例えば、第１の角部７１４ａおよび／または第２の角部７１４ｂ）と対応する露出した辺とによって少なくとも部分的に区切られるエリアとして最初のＭＶＲを導出できる。例えば、最初のＭＶＲ７１０は、第１の角部７１４ａから露出した辺７２２および７２６に沿って対向する辺７２４および７２８まで延びてよい。ある実施形態においては、ロボットシステム１００は、開かれた３Ｄ角部（例えば、第１の角部７１４ａ）から開始して、（例えば、第１の角部７１４ａから離れる方に）露出した辺をたどることによって、最初のＭＶＲ７１０を導出してよい。最初のＭＶＲ７１０は、たどられた露出した辺が他の露出した辺（例えば、対向する辺７２４および／または７２８等、たどられていない辺に対向する辺、および／または、たどられていない辺と平行な辺）と交差または直面するまで、延ばされてよい。
【００５８】
ある場合には、最初のＭＶＲ７１０は、様々な理由（例えば、物体間の空間、センサ粒度等）のために、複数の物体の表面に対応してよい。したがって、ロボットシステム１００は、導出された最初のＭＶＲ７１０の１つまたは複数の寸法を検証してよい。ロボットシステム１００は、ＭＶＲ７１０の１つまたは複数の寸法が最小候補サイズより大きく、最大候補サイズより小さいことを検証できる。閾値寸法は、ロボットシステム１００にとって受信可能な／予測された物体の最小および／または最大の寸法を表してよい。また、閾値寸法は、把持／接触エリアの最小サイズを表すため等、図２のエンドエフェクタ２０４の水平方向の取付面積を表してよい。
【００５９】
最初のＭＶＲ７１０の１つまたは複数の寸法が、（例えば、最大寸法を超えることによって、または、最小寸法未満になることによって）、閾値外になると、ロボットシステム１００は、不完全な辺７１２（例えば、１つまたは複数の端部の他の辺に一致しない、または、交差しない検出された線４２２および／または他の２Ｄ／３Ｄの辺）にしたがって、最初のＭＶＲ７１０（例えば、最上層）をさらにセグメント化すること等によって、最初のＭＶＲ７１０を調整できる。換言すると、ロボットシステム１００は、不完全な辺７１２にしたがって最初のＭＶＲを調整／縮小でき、対応する結果をテストできる。ある実施形態においては、ロボットシステム１００は、１つまたは複数の端部の露出した辺と交差しない２Ｄの辺および／または３Ｄの辺として不完全な辺７１２を決定できる。また、ロボットシステム１００は、露出した辺の１つと平行な２Ｄおよび／または３Ｄの辺として、不完全な辺７１２を決定できる。ある実施形態においては、ロボットシステム１００は、不完全な辺７１２に関連付けられた信頼値を計算できる。信頼値は、不完全な辺７１２が表面の辺および／または隣り合う物体間の分離に対応する可能性を表してよい。例として、ロボットシステム１００は、不完全な辺７１２の全長、不完全な辺７１２の形状、および／または、不完全な辺７１２と不完全な辺７１２を囲む部分との間の（例えば、深度、色、明るさ等の）差に基づいて、信頼値を計算できる。
【００６０】
以下に詳細に記載するように、ロボットシステム１００は、不完全な辺７１２にしたがって、または、不完全な辺７１２まで最初のＭＶＲ７１０を縮小することに基づいて、検証されたＭＶＲ７２０を導出してよい。換言すると、ロボットシステム１００は、対向する平行な辺７２４および／または７２８の代わりに、不完全な辺７１２の１つまたは複数によって区切られた最初のＭＶＲ７１０内のエリアとして、縮小された候補ＭＶＲを識別できる。ロボットシステム１００は、不完全な辺７１２に到達するまで、対応する露出した辺（例えば、それぞれ、対応する露出した辺７２２、７２６）の方に対向する平行な辺（例えば、図４Ｂの推定された辺４２４等、２Ｄおよび／または３Ｄの辺であってよい対向する平行な辺７２４、７２８）をたどることによって、最初のＭＶＲ７１０を縮小することができる。換言すると、ロボットシステム１００は、最初のＭＶＲ７１０に関連付けられた第２の角部７１４ｂを識別し、次に、他の辺（例えば、不完全な辺７１２等、交差するおよび／または平行な辺）を検索しながら、関連付けられた辺（例えば、対向する平行な辺７２４および／または７２８）に沿って第２の角部７１４から離れるように移動することができる。ロボットシステム１００は、上記のように、識別された辺の向きをテストできる。例えば、ロボットシステム１００は、横断された辺と識別された辺との間の角度が、閾値角度範囲（例えば、８０度から１００度、および／または、直角に対応する他の範囲）内にある時、識別された辺を検証してよい。また、ロボットシステム１００は、識別された、横断されていない露出した辺に沿った対応する点の複数のセット間の距離のセットが互いから閾値範囲内にある時等、識別された辺が対応する露出した辺に平行であることを検証してよい。これは、反復的または増分的に行われてよい。ＭＶＲをそれ以上縮小できない場合、ロボットシステム１００は、結果として生じるエリアを検証されたＭＶＲ領域７２０と結論付けてよい。
【００６１】
ロボットシステム１００は、上記のように縮小された寸法を閾値と比較することに基づいて、縮小された候補ＭＶＲを検証できる。例えば、ロボットシステム１００は、不完全な辺７１２によって画定された縮小されたエリアが、最小／最大閾値を満たす時、縮小された候補ＭＶＲを検証されたＭＶＲ７２０として導出できる。また、ロボットシステム１００は、不完全な辺７１２が所定の閾値を超える信頼値に対応する時、縮小された候補ＭＶＲを検証できる。さらに、ロボットシステム１００は、１つまたは複数の方向に閾値距離だけ不完全な辺７１２を延ばすことができる。例えば、ロボットシステム１００は、延ばされた不完全な辺が、他の辺と交差して、閾値角度範囲を満たす角度を形成する時、縮小された候補ＭＶＲを検証してよい。
【００６２】
最初のＭＶＲ７１０を拡大する例として、図８は、本技術のある実施形態による、マージされたＭＶＲ領域の例を示す。ある場合には、複数の隣り合う表面は、基本的に同じ高さを有してよく、表面と表面の間に辺／水平方向の分離を有してよい。説明のための例として、点群で表された物体は、１片のテープで接続された２つの分離された長方形のフラップ／セグメントを有する箱の上面であってよい。上記１つまたは複数の制限のために、ロボットシステム１００は、１つのフラップを含み、フラップ／セグメント間のテープまたは分離に対応する辺まで延びるように、最初のＭＶＲ７１０を導出してよい。このような例に関して、ロボットシステム１００は、検証されたＭＶＲ８２０の導出時に、追加の領域を導出し、その領域を最初のＭＶＲ７１０とマージ／テストできる。
【００６３】
図８に示すように、追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂは、最初のＭＶＲ７１０に基づいて、決定されてよい。追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂは、最初のＭＶＲ７１０に相関する領域を含んでよい。例えば、ロボットシステム１００は、２Ｄおよび／または３Ｄ画像の部分を分析することに基づいて、追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂを決定できる。ロボットシステム１００は、一致する視覚的特性（例えば、色、明るさ、および／または、画像パターン）、および／または、最初のＭＶＲ７１０に対して閾値連続範囲内にある一致する深度値を有する位置として、追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂを決定できる。ロボットシステム１００は、最初のＭＶＲ７１０と関連付けられていると決定された画像の部分として、候補エリアを導出できる。
【００６４】
説明のための例として、ロボットシステム１００は、露出した外側角部７１４ａから離れる方に第１の露出した辺７２２および第２の露出した辺７２６（例えば、３Ｄ画像データに描かれた辺）をたどることに基づいて、ＭＶＲ（例えば、最初のＭＶＲおよび拡大されたＭＶＲ）を処理できる。ロボットシステム１００は、第１の最初の対向する辺８２２と第２の最初の対向する辺８２６とを含む最初の対向する辺のセットを識別できる。ロボットシステム１００は、第１の露出した辺７２２が第１の最初の対向する辺８２２に平行な時、および／または、第２の露出した辺７２６が第２の対向する辺８２６に平行な時、最初の対向する辺のセットを検証できる。ロボットシステム１００は、検証された対向する辺を使用して、最初のＭＶＲ７１０を導出できる。
【００６５】
ロボットシステム１００は、（例えば、露出した外側角部７１４ａから離れる方に）最初の対向する辺のセットを越えて第１の露出した辺７２２および第２の露出した辺７２６をたどることに基づいて、追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂをさらに決定できる。ロボットシステム１００は、たどられた辺（例えば、第１の露出した辺７２２および／または第２の露出した辺７２６）と交差する、または、たどられた辺から閾値分離距離内にある１つまたは複数のさらなる対向する辺（例えば、第１の辺８３２および／または第２の辺８３６）を識別できる。ロボットシステム１００は、第１の辺８３２が第１の露出した辺７２２および／または第１の最初の対向する辺８２２に平行な時、および／または、第２の辺８３６が、第２の露出した辺７２６および／または第２の最初の対向する辺８２６に平行な時等、さらなる対向する辺を上記と同様に検証できる。
【００６６】
１つまたは複数のさらなる対向する辺が検証されると、ロボットシステム１００は、追加の妥当なＭＶＲ領域を識別できる。例えば、ロボットシステム１００は、第１の最初の対向する辺８２２と、さらなる対向する辺の第１（例えば、第１の辺８３２）との間のエリアとして、第１の追加の妥当なＭＶＲ領域８１２ａを識別できる。また、ロボットシステム１００は、第２の最初の対向する辺８２６と、さらなる対向する辺の第２（例えば、第２の辺８３６）との間のエリアとして、第２の追加の妥当なＭＶＲ領域８１２ｂを識別できる。
【００６７】
ロボットシステム１００は、候補エリア（例えば、最初のＭＶＲ７１０と、第１の追加の妥当なＭＶＲ領域８１２ａおよび／または第２の追加の妥当なＭＶＲ領域８１２ｂとの組み合わせ）を検証／テストすることに基づいて、追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂを決定できる。例えば、ロボットシステム１００は、候補エリア（例えば、最初のＭＶＲ７１０に関連付けられていると決定された画像の部分）と最初のＭＶＲ７１０との間の分離距離が所定の閾値未満であることを検証できる。ロボットシステム１００は、候補エリアの１つまたは複数の寸法を上記の最小／最大寸法閾値と比較することによって、候補エリアをさらにテストできる。ロボットシステム１００は、候補エリアが最小閾値（例えば、最小候補サイズの寸法）未満の時、候補エリアを追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂとして決定できる。ある実施形態においては、ロボットシステム１００は、サイズ比較、分離距離、および／または、候補エリアと最初のＭＶＲ７１０との間の関連性／類似性を使用して、信頼レベルを計算できる。信頼レベルは、候補エリアが最初のＭＶＲ７１０に対応する部分と同じ物体に対応する可能性を表してよい。ロボットシステム１００は、信頼レベルを所定の閾値と比較して、候補エリアを、追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂとして分類されるべきか、または、（例えば、別の物体に対応する）最初のＭＶＲ７１０の新しいインスタンスとして分類されるべきかを決定できる。
【００６８】
検証されたＭＶＲの生成
ロボットシステム１００は、最初のＭＶＲ７１０と追加の妥当なＭＶＲ８１２ａ〜８１２ｂとを組み合わせることに基づいて、検証されたＭＶＲ８２０を導出できる。したがって、ロボットシステム１００は、最初のＭＶＲ７１０を拡大して、他の近くの領域を含めることによって、候補ＭＶＲを導出できる。したがって、ロボットシステム１００は、登録されていない物体の完全な表面を検証されたＭＶＲ８２０を介して正確に推定する可能性を高めることができる。
【００６９】
ある実施形態においては、ロボットシステム１００は、検証されたＭＶＲ８２０と検証されたＭＶＲ７２０（例えば、最初のＭＶＲ７１０を縮小した結果）との両方を導出できる。１つまたは複数の所定のプロセス／方程式にしたがって、ロボットシステム１００は、上記の処理パラメータの１つまたは複数を用いて、検証したＭＶＲのそれぞれの信頼値を計算できる。ロボットシステム１００は、より大きい信頼値を有する検証したＭＶＲを最終的なＭＶＲとして選択できる。
【００７０】
代替的に、ロボットシステム１００は、より小さい候補エリアおよび／またはより大きい候補エリアのテストが不成功な時、最初のＭＶＲ７１０を最終的なＭＶＲとして導出できる。例えば、マージされたＭＶＲが最大候補サイズより大きい場合、マージされたＭＶＲは拒絶されてよく、検証されたＭＶＲ８２０は、追加の妥当なＭＶＲのいずれも有さずに、最初のＭＶＲ７１０を含んでよい。また、図７に記載の縮小されたＭＶＲが、最小候補サイズより小さい場合、検証されたＭＶＲ７２０は、最初のＭＶＲ７１０を含んでよい。ある実施形態においては、ロボットシステム１００は、まず、最初のＭＶＲ７１０を拡大することによって、大きくなったＭＶＲを導出できる。ロボットシステム１００は、次に、上記の拡大されたＭＶＲを反復して縮小して、最終的なＭＶＲを導出できる。ロボットシステム１００は、検証されたＭＶＲを使用して、上記の登録されていない物体を登録および／または操作できる。
【００７１】
図９は、本技術のある実施形態による、図１のロボットシステム１００を動作させる方法９００のブロック図を示す。方法９００は、登録されていない物体を把持、操作、および／または、登録するためのＭＶＲ（例えば、検証されたＭＶＲ）を生成する方法であってよい。方法９００は、１つまたは複数の記憶装置に記憶された対応する命令を１つまたは複数のプロセッサを用いて実行することに基づいて実施されてよい。
【００７２】
方法９００は、点群のセグメント化（ブロック９０２）を含んでよい。点群のセグメント化は、層（例えば、物体表面）を高さにしたがって有効に分離できる。ロボットシステム１００は、１つまたは複数の画像センサ（例えば、図２の第１の画像センサ２１２）からの画像データ（例えば、３Ｄ点群および／または２Ｄ視覚画像）を分析することによって、点群のセグメント化を実施できる。ある実施形態においては、画像データは、図１の対象物体１１２および／または図２の対象スタック２１０の上面を表したものを含み得る。画像データの分析時、ロボットシステム１００は、様々な撮影した特性にしたがって、画像データ／画像出力の隣り合う位置／部分を識別、グループ化できる。例えば、ロボットシステム１００は、上記のように、深度測定値、色／明るさ、および／または、他の撮影された特性に基づいて、連続した表面を識別できる。
【００７３】
ある実施形態においては、例えば、方法９００は、深度の不連続および／または垂直方向の分離を用いて、点群の分離した層の物体を識別することを含んでよい（ブロック９０４）。例えば、ロボットシステム１００は、画像データを分析して、対象スタック２１０の上面に対して１つまたは複数の水平方向にわたる深度の不連続を識別できる。深度の不連続は、識別された領域／表面に垂直な方向に沿って、領域／表面の分離（例えば、深度値の変化）に基づいて、判断されてよい。したがって、ロボットシステム１００は、連続した表面／層と対応する物体とを識別できる。
【００７４】
方法９００は、分離した層を処理して、角部および辺を検出することを含んでよい（ブロック９０６）。ロボットシステム１００は、画像データおよび／または決定された表面／層を処理して、露出した３Ｄ角部（例えば、図３Ｃの露出した外側角部３２６）および／または露出した辺（例えば、図３Ｃの露出した辺３２２）を検出できる。ある実施形態においては、例えば、ロボットシステム１００は、深度の差に対応する位置として、露出した辺３２２を識別できる。したがって、露出した辺３２２（例えば、開かれた辺）は、異なる深度値を有する２つの側面を区切ることができる、または、規定できる。
【００７５】
上記のように、ロボットシステム１００は、１つまたは複数の所定の角部閾値を満たす角度で露出した辺３２２が交差する位置を識別することに基づいて、露出した外側角部３２６をさらに導出できる。したがって、結果として生じる露出した外側角部３２６は、一定のまたは類似した深度測定値を有する角部を中心とする象限の１つを有してよく、一方、残りの３つの象限は、異なる深度測定値を有する。スタックの外側角部を形成する物体に関して等、ある例においては、周りの３つの象限の深度測定値は、空の空間に対応してよく、疎な点群（例えば、既知の深度測定値）および／または点群のノイズを有してよい。
【００７６】
ある実施形態においては、ロボットシステム１００は、露出した外側角部３２６をさらにランク付けできる。例えば、他の層／表面からさらに分離される外側角部は、把持または移動動作のためによりアクセスしやすく、および／または、隣の物体を把持または妨げる可能性が低いので、他の表面に水平方向により近い角部より高くランク／スコア付けされてよい。また、露出した外側角部が、スタック／パレットの中央部分からさらに離れる時、周囲の空間が、より空いている時、もしくは、ノイズパターンに近い時、および／または、地面からの高さがより高い表面である時（例えば、上面センサにより近い時）、ロボットシステム１００は、露出した外側角部を、露出した外側角部の他のインスタンスに比べて、より高くランク付けまたはスコア付けできる。
【００７７】
ロボットシステム１００は、追加的に、または、代替的に、２Ｄ／視覚画像分析に基づいて、２Ｄの辺を決定できる。ある実施形態においては、ロボットシステム１００は、２Ｄの辺を用いて、露出した辺３２２を識別および／または検証できる。
【００７８】
ロボットシステム１００は、図７の不完全な辺７１２（例えば、検出された線４２２）をさらに識別できる。不完全な辺７１２は、２Ｄおよび／または３Ｄ分析を用いて識別されてよい。上記のように、ロボットシステム１００は、８０度〜１００度の間等、所定の角度閾値を満たす角度で、他の辺と交差しない２Ｄおよび／または３Ｄの辺として、不完全な辺７１２を識別できる。不完全な辺７１２は、物体表面上のパターン、物体の実際の辺、物体表面上の間隙、および／または、物体間の間隙に対応し得る。したがって、ロボットシステム１００は、検証されたＭＶＲを導出するために以下に記載のように不完全な辺７１２をさらに処理できる。
【００７９】
方法９００は、最初のＭＶＲを生成することを含んでよい（ブロック９０８）。ロボットシステム１００は、露出した外側角部３２６に基づいて、最初のＭＶＲ７１０を生成できる。ある実施形態においては、ロボットシステム１００は、地面からの高さが最も高い位置にある、および／または、中心から最も離れた位置にある露出した外側角部３２６を、他より先に選択／処理できる。露出した３Ｄ角部と露出した辺は共に、最初のＭＶＲ７１０を生成する基礎を提供し得る。最初のＭＶＲ７１０を生成することは、点群の分離した層を処理することと、画像から検出された辺を用いて、各層（すなわち、最上層）のさらなるセグメント化を行うことを含んでよい。換言すると、ロボットシステム１００は、３Ｄセグメント化から生じる異なる層／エリアを、２Ｄの辺の位置と組み合わせることができる。２Ｄ／視覚的な辺の位置を用いて、ロボットシステム１００は、３Ｄの層をさらにセグメント化できる。ロボットシステム１００は、３Ｄの層の結果として生じるセグメントまたはエリアを分析して、セグメントが少なくとも１つの露出した外側角部３２６を含むか否か、および／または、セグメントの寸法が、最小／最大閾値を満たすか否かを判断できる。ロボットシステム１００は、これらの条件の１つまたは両方を満たすセグメントを最初のＭＶＲ７１０として決定できる。
【００８０】
追加的に、または、代替的に、ロボットシステム１００は、選択された露出した外側角部３２６（例えば、図６の露出した外側角部６１４）から露出した辺３２２に沿って延長することによって、または、露出した辺３２２をたどることによって、最初のＭＶＲ７１０を導出できる。辺をたどりながら、ロボットシステム１００は、対向する辺を検出できる（ブロック９１０）。例えば、ロボットシステム１００は、露出した辺３２２に沿って異なる位置を徐々にチェックして、たどられたセグメントが、曲がる、または、他の２Ｄ／３Ｄセグメントによって交差されて、角度を形成するか否かを検証できる。ある実施形態においては、ロボットシステム１００は、識別した角度を閾値角度範囲と比較することによって、識別した角度をテストできる。例として、閾値角度範囲は、長方形の表面および／または箱を処理するために直角（例えば、７０度〜１１０度）に対応し得る。したがって、ロボットシステム１００は、露出した辺３２２の１つまたは複数と対向する、または、さもなければ、対応する（例えば、平行な）辺を検出できる。また、ある実施形態においては、ロボットシステム１００は、不完全な辺７１２との交点を無視できる。したがって、ロボットシステム１００は、露出した外側角部６１４から露出した辺３２２をたどって、対向する辺を識別できる。
【００８１】
最初のＭＶＲを生成することは、開かれた辺と対向する辺との対向する対に関連付けられた１つまたは複数の距離を計算することを含んでよい（ブロック９１２）。換言すると、ロボットシステム１００は、露出した辺３２２と対向する辺とによって画定されるエリアの１つまたは複数の寸法を計算できる。ロボットシステム１００は、画像の部分と実世界の位置との間の所定のマッピングにしたがって寸法を計算できる。また、ロボットシステム１００は、識別した辺の深度測定値、および／または、２Ｄ／３Ｄ画像の辺の間の水平方向の距離に基づいて、実世界の寸法を計算する所定の方程式を使用できる。
【００８２】
ある実施形態においては、例として、ロボットシステム１００は、１つまたは複数の寸法を最初に計算でき、次に、交差している辺をさらにテストできる。ロボットシステム１００は、交差する辺の２つの反対側の端部、および／または、辺に沿って所定の距離だけ分離された他の２つの点等、２つの異なる位置で、露出した辺３２２と対向／交差する対の辺との間の分離を計算できる。ロボットシステム１００は、平行線等、２つの距離が、互いの閾値範囲内にある時、交差する辺を対向する辺として識別または検証できる。
【００８３】
ロボットシステム１００は、さらなるプロセスを制御する辺をテストしてよい（決定ブロック９１４）。例えば、ロボットシステム１００は、交差する辺が、露出した辺によって規定される領域内に位置するか否かをテストできる。ある実施形態においては、ロボットシステム１００は、露出した辺と対応する対向／交差する辺の候補との間で、深度測定値、色、明るさ等を比較することに基づいて、テストできる。また、例えば、ロボットシステム１００は、対の辺（例えば、露出した辺と対応する対向／交差する辺の候補）の間の距離が１つまたは複数の閾値（例えば、最小ＭＶＲ寸法および／または最大ＭＶＲ寸法）を満たすか否かをテストできる。交差する辺の候補が、テストに失敗すると、ロボットシステム１００は、対向する平行な辺を検出するために、露出した辺に沿って移動を続けることができる（ブロック９１０にループバック）。反復プロセスは、テスト条件が満たされるまで、または、露出した辺に沿って最大ＭＶＲ寸法に到達するまで、行われてよい。
【００８４】
対向する平行な辺（例えば、図７の対向する平行な辺７２４／７２８）が、必要な条件（複数可）を満たす場合、方法９００は、追加のＭＶＲ領域を識別することを含む（ブロック９１６）。これは、最初のＭＶＲ（例えば、最初のＭＶＲ７１０）からＸおよびＹ方向に外方向に拡大して、層／エリアの残りの部分をカバーすることを含んでよい。例えば、ロボットシステム１００は、視覚的特性／深度値を照合することによって、また、上記のように候補エリアを検証／テストすることによって等、２Ｄおよび／または３Ｄ画像の部分を分析することに基づいて、追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂを識別できる。
【００８５】
方法９００は、マージされたＭＶＲを生成することを含んでよい（ブロック９１８）。ロボットシステム１００は、拡大された領域（例えば、図８の追加の妥当なＭＶＲ領域８１２ａ〜８１２ｂ）と最初のＭＶＲ７１０とを組み合わせることによって、マージされたＭＶＲを生成してよい。
【００８６】
方法９００は、マージされたＭＶＲを検証することを含んでよい（ブロック９２０）。マージされたＭＶＲを検証することは、マージされたＭＶＲが所定の最大閾値より大きいか否かを判断することを含んでよい（ブロック９２２）。例えば、マージされたＭＶＲが（すなわち、最大候補サイズの寸法に対応する）最大閾値より大きい場合、ロボットシステム１００は、マージされたＭＶＲを拒絶でき、追加の妥当なＭＶＲ領域を有さない最初のＭＶＲ７１０を含む検証されたＭＶＲを生成できる（ブロック９２８）。
【００８７】
マージされたＭＶＲが最大閾値より小さい場合、方法９００は、不完全な辺に到達するまで、露出した辺をたどることを含んでよい（ブロック９２４）。例えば、ロボットシステム１００は、３Ｄ画像データにしたがって、基準／スタートの開かれた３Ｄ角部に対角線上に対向する第２の３Ｄ角部（例えば、露出した外側角部３２６の別個のインスタンス）を識別できる。ロボットシステム１００は、露出した外側角部３２６の位置を露出した辺および／または対向する辺に対して比較することに基づいて、第２の３Ｄ角部を識別できる。ある実施形態においては、ロボットシステム１００は、対向する辺の接合点、および／または、マージされたＭＶＲの角部として、第２の３Ｄ角部を識別できる。ロボットシステム１００は、第２の３Ｄ角部から開始して、最初のＭＶＲの基準として機能する第１の／最初の３Ｄ角部の方に対応する辺（例えば、対向する辺）をたどることができる。対応する辺をたどりながら、ロボットシステム１００は、識別された開かれた／対向する辺のいずれかと交差する、および／または、平行に配置された他の辺（例えば、検出された線４２２および／または不完全な辺７１２）を識別できる。このような他の辺が見つかると、ロボットシステム１００は、マージされたＭＶＲより小さい、および／または、最初のＭＶＲ７１０より小さい候補ＭＶＲを導出できる。
【００８８】
ロボットシステム１００は、反復的に、第２の３Ｄ角部に対応する辺をたどり、第２の候補ＭＶＲを調整／縮小できる（ブロック９２６）。ある実施形態においては、ロボットシステム１００は、（１）第２の候補ＭＶＲの１つまたは複数の寸法が、最小閾値および／または最大閾値に違反する時、および／または、（２）不完全および／または平行な辺が第２の候補ＭＶＲ内に存在しない時、反復プロセスを停止できる。第２の候補ＭＶＲをそれ以上、縮小できない時、ロボットシステム１００は、最大／最小閾値（複数可）を満たした第２の候補ＭＶＲの最後／最小のインスタンスとして、検証されたＭＶＲを生成できる（ブロック９２８）。これは、最初のＭＶＲと、最小候補サイズの長さを有する辺によって画定された領域との間の領域内に残る不完全な辺がそれ以上無いということを示してよい。
【００８９】
３Ｄの辺および２Ｄの辺を反復的に識別、検証するロボットシステム１００は、ＭＶＲの精度を向上させる。２Ｄ／３Ｄ画像の辺の大半は、完全（例えば、識別可能、互いに対して平行な向き／配置および／または垂直、および／または、他の辺と交差）であってよい。したがって、ロボットシステム１００は、完全な辺を使用して、上記のように画像データの部分をエリアまたは層に分離できる。ロボットシステム１００は、実際の辺が画像データで完全に／正確に撮影されていない場合があるので、他の辺（例えば、２Ｄの辺、不完全な辺等）をさらに分析してよい。ＭＶＲの精度の向上は、登録されていない物体の操作および／または登録の効率を向上させることができる。ＭＶＲに関する精度の向上は、認識されていない物体の１つのインスタンスを把持する可能性、および／または、質量中心（ＣｏＭ）の位置により近い認識されていない物体を把持する可能性を高めることができる。したがって、ロボットシステム１００は、登録されていない物体を不正確に把持することに関連する失敗を低減できる。
【００９０】
処理システム例
図１０は、本明細書に記載の少なくとも一部の動作を実施し得る処理システム１０００の例を示すブロック図である。図１０に示すように、処理システム１０００は、１つまたは複数の中央処理ユニット（「プロセッサ」）１００２、メインメモリ１００６、不揮発メモリ１０１０、ネットワークアダプタ１０１２（例えば、ネットワークインタフェース）、ビデオディスプレイ１０１８、入力／出力装置１０２０、制御装置１０２２（例えば、キーボードおよびポインティングデバイス）、記憶媒体１０２６を含む駆動ユニット１０２４、および、信号生成装置１０３０を含んでよく、これらは、バス１０１６に通信可能に接続される。バス１０１６は、適切なブリッジ、アダプタ、もしくは、コントローラによって接続された、任意の１つまたは複数の別個の物理的バス、ポイントツーポイント接続、または、両方を表す抽象化されたものとして示される。バス１０１６は、よって、例えば、システムバス、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス、または、ＰＣＩ−エクスプレスバス、ハイパートランスポートまたは業界標準アーキテクチャ（ＩＳＡ）バス、小型コンピュータシステムインタフェース（ＳＣＳＩ）バス、ユニバーサルシリアルバス（ＵＳＢ）、ＩＩＣ（Ｉ２Ｃ）バス、または、「ファイヤワイヤ」とも呼ばれる電気電子技術者協会（ＩＥＥＥ）規格１３１０４バスを含み得る。
【００９１】
様々な実施形態において、処理システム１０００は、ユーザデバイスの一部として動作するが、処理システム１０００は、（例えば、有線または無線で）ユーザデバイスに接続されてもよい。ネットワーク配置においては、処理システム１０００は、クライアント−サーバネットワーク環境において、サーバまたはクライアントマシンとして動作してよく、または、ピアツーピア（または、分散）ネットワーク環境において、ピアマシンとして動作してよい。
【００９２】
処理システム１０００は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ、タブレット、ラップトップコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、セルラーフォン、プロセッサ、ウェブ機器、ネットワークルータ、スイッチもしくはブリッジ、コンソール、ハンドヘルドコンソール、ゲーム機、ミュージックプレイヤ、ネットワーク接続された（「スマート」）テレビ、テレビ接続装置、または、処理システム１０００が行うべきアクションを特定する命令のセットを（順次、または、他の方法で）実行できる任意のポータブルデバイスもしくはマシンであってよい。
【００９３】
メインメモリ１００６、不揮発メモリ１０１０、および、記憶媒体１０２６（「機械読み取り可能媒体」とも呼ばれる）は、１つの媒体として示されるが、「機械読み取り可能媒体」および「記憶媒体」という用語は、１つまたは複数の命令セット１０２８を記憶する１つの媒体または複数の媒体（例えば、集中型または分散データベース、および／または、関連するキャッシュおよびサーバ）を含むと捉えるべきである。「機械読み取り可能媒体」および「記憶媒体」という用語は、コンピュータシステムによる実行のための命令セットを記憶、エンコード、または、伝えることができ、本開示の実施形態の方法論のいずれか１つまたは複数をコンピュータシステムに行わせる任意の媒体を含むと捉えるものとする。
【００９４】
一般的に、開示の実施形態の実施に実行されるルーチンは、オペレーティングシステムもしくは特定のアプリケーションの一部、コンポーネント、プログラム、オブジェクト、モジュール、または、「コンピュータプログラム」と呼ばれる命令のシーケンスとして実施されてよい。コンピュータプログラムは、典型的に、コンピュータの様々なメモリおよび記憶装置に様々な時に設定された１つまたは複数の命令（例えば、命令１００４、１００８、１０２８）を含み、命令は、１つまたは複数の処理ユニットまたはプロセッサ１００２によって読み取られ、実行されると、処理システム１０００に、開示の様々な態様を伴う要素を実行する動作を行わせる。
【００９５】
さらに、完全に機能するコンピュータおよびコンピュータシステムの文脈で実施形態を記載したが、様々な実施形態が、様々な形態でプログラム製品として分散されてよいこと、また、分散を実際に達成するのに使用される特定の種類のマシンまたはコンピュータ読み取り可能媒体に拘わらず、開示は等しく適用されることを、当業者は理解されよう。例えば、本明細書に記載の技術は、仮想マシンまたはクラウドコンピューティングサービスを用いて実施されてよい。
【００９６】
機械読み取り可能記憶媒体、機械読み取り可能媒体、または、コンピュータ読み取り可能（記憶）媒体のさらなる例は、揮発性および不揮発性のメモリデバイス１０１０等の記録可能タイプの媒体、フロッピ―および他のリムーバブルディスク、ハードディスクドライブ、光ディスク（例えば、コンパクトディスクリードオンリメモリ（ＣＤ  ＲＯＭＳ）、デジタル多用途ディスク（ＤＶＤ））、並びに、デジタル通信リンクおよびアナログ通信リンク等の伝送媒体を含むが、これらに限らない。
【００９７】
ネットワークアダプタ１０１２は、処理システム１０００が、ネットワーク１０１４のデータを処理システム１０００の外部にあるエンティティに、処理システム１０００および外部のエンティティがサポートする任意の既知のおよび／または便利な通信プロトコルを通して、仲介するのを可能にする。ネットワークアダプタ１０１２は、ネットワークアダプタカード、無線ネットワークインタフェースカード、ルータ、アクセスポイント、無線ルータ、スイッチ、マルチレイヤスイッチ、プロトコル変換器、ゲートウェイ、ブリッジ、ブリッジルータ、ハブ、デジタルメディアレシーバ、および／または、リピータのうちの１つまたは複数を含み得る。
【００９８】
ネットワークアダプタ１０１２は、ファイヤウォールを含んでよく、ファイヤウォールは、ある実施形態においては、コンピュータネットワークのデータにアクセス／プロキシする許可を統治および／または管理し、異なるマシン間および／またはアプリケーション間の変化する信用レベルを追跡する。ファイヤウォールは、例えば、これらの様々なエンティティ間でトラフィックフローとリソース共有とを調節するために、マシンとアプリケーション、マシンとマシン、および／または、アプリケーションとアプリケーションの特定のセットの間に所定のアクセス権のセットを行使することができるハードウェアコンポーネントおよび／またはソフトウェアコンポーネントの任意の組み合わせを有する任意の数のモジュールであってよい。ファイヤウォールは、さらに、例えば、個人、マシン、および／または、アプリケーションによる物体にアクセスおよび動作する権利と、許可権が有効な環境とを含む、許可を詳述するアクセス制御リストを管理してよい、および／または、アクセス制御リストへのアクセスを有してよい。
【００９９】
ある実施形態においては、ロボットシステムを動作させる方法は、１つまたは複数の登録されていない物体を含む対象スタックを表す１つまたは複数の画像データを受信することと、登録されていない物体を表す露出した外側角部と、露出した外側角部に関連付けられ、且つ、登録されていない物体を表す露出した辺とを、１つまたは複数の画像データの分離した層を識別することによって識別することと、露出した辺に対応する対向する辺を露出した辺と交差する１つまたは複数の他の辺を識別することに基づいて、識別することと、対向する辺の向きを露出した辺の向きと比較することに基づいて、対向する辺を検証することと、露出した外側角部から露出した辺に沿って検証された対向する辺に延びるエリアを表す最初の最小実行可能領域（ＭＶＲ）を生成することと、登録されていない物体のうちの１つの推定された表面またはその一部を表す検証されたＭＶＲを、最初のＭＶＲを調整し、対応する結果をテストすることに基づいて、生成することと、を含んでよい。露出した辺は、露出した外側角部を画定する第１の露出した辺および第２の露出した辺を含んでよく、対向する辺は、第１の最初の対向する辺および第２の最初の対向する辺を含む最初の対向する辺のセットであってよく、第１の最初の対向する辺と第２の最初の対向する辺は、それぞれ、第１の露出した辺と第２の露出した辺に平行であると決定され、検証されたＭＶＲを生成することは、露出した外側角部に対して第２の最初の対向する辺を越えた位置で、第１の露出した辺と交差し、且つ、第２の最初の対向する辺と第２の露出した辺と平行であると決定されたさらなる対向する辺を識別することと、対向する辺とさらなる対向する辺との間のエリアを含む追加の妥当なＭＶＲ領域を識別することと、潜在的ＭＶＲセグメントと最初のＭＶＲとを組み合わせた候補ＭＶＲをテストすることとを含んでよい。テストすることは、候補ＭＶＲの１つまたは複数の寸法がＭＶＲの最大および／または最小寸法閾値を満たすか否かを検証すること、および／または、潜在的ＭＶＲセグメントと最初のＭＶＲとに対応する１つまたは複数の画像データの部分の深度測定値、色、明るさ、または、それらの組み合わせが、互いから閾値連続範囲内にあるか否かを検証することを含んでよい。検証されたＭＶＲは、候補ＭＶＲが１つまたは複数の所定の閾値を満たさない時、潜在的ＭＶＲセグメントを有さない最初のＭＶＲを含んでよい。
【０１００】
ある実施形態においては、露出した辺は、露出した外側角部を画定する第１の露出した辺および第２の露出した辺を含み、対向する辺は、第１の最初の対向する辺および第２の最初の対向する辺を含む最初の対向する辺のセットであり、第１の最初の対向する辺と第２の最初の対向する辺は、それぞれ、第１の露出した辺と第２の露出した辺に平行であると決定され、検証されたＭＶＲを生成することは、第２の最初の対向する辺と露出した外側角部との間にあり、且つ、第２の最初の対向する辺と第２の露出した辺とに平行であると決定されたさらなる対向する辺を識別することと、第２の最初の対向する辺の代わりに、さらなる対向する辺によって区切られた最初のＭＶＲ内のエリアとして、縮小された候補ＭＶＲを識別することと、縮小された候補ＭＶＲをテストすることとを含んでよい。検証されたＭＶＲを生成することは、候補ＭＶＲの１つまたは複数の寸法が、ＭＶＲの最大および／または最小寸法閾値を満たす時、縮小された候補ＭＶＲを検証されたＭＶＲとして設定することをさらに含んでよい。
【０１０１】
ある実施形態においては、さらなる対向する辺を識別することは、最初の対向する辺のセットに関連付けられた第２の角部を識別することと、第２の角部から第１の最初の対向する辺に沿って離れる方に移動する間、さらなる対向する辺との交点を検索することと、（１）さらなる対向する辺と第１の最初の対向する辺との間の角度が直角を表す閾値範囲内であること、および／または、（２）さらなる対向する辺と第２の露出した辺との対応する点の複数のセット間の距離のセットが互いから閾値範囲内にあることを検証することに基づいて、さらなる対向する辺の向きをテストすることをさらに含んでよい。ある実施形態においては、１つまたは複数の画像データは、（１）水平面に沿った位置の深度測定値を含む３Ｄ画像出力と、（２）水平面に沿った対象スタックを視覚的に表す２Ｄ画像出力を含んでよく、露出した辺を識別することは、互いから閾値範囲内に深度測定値を有する３Ｄ画像出力の水平面に沿った隣り合う位置のセットとして、分離した層のそれぞれを識別することと、分離した層の周囲の境界を３Ｄの辺として識別することとを含んでよい。露出した外側角部を識別することは、露出した辺である３Ｄの辺のセットによって形成された交点を選択することを含んでよく、さらなる対向する辺を識別することは、３Ｄ画像出力、２Ｄ画像出力、または、それらの組み合わせを分析することに基づいて、不完全な辺および／または検出された線を識別することを含んでよい。検証されたＭＶＲを生成することは、３Ｄ画像出力を分析することに基づいて、（１）第１の露出した辺に沿って、第２の最初の対向する辺より露出した外側角部の方に近く、（２）第２の最初の対向する辺と第２の露出した辺と平行である３Ｄの辺を識別することと、第２の最初の対向する辺と３Ｄの辺との間のエリアを追加で含むように最初のＭＶＲを調整することとをさらに含んでよく、さらなる対向する辺は、調整された最初のＭＶＲに対応する２Ｄ画像出力の部分を分析した結果であり、縮小された候補ＭＶＲは、調整された最初のＭＶＲ内のエリアを含む。
【０１０２】
ある実施形態においては、ロボットシステムは、少なくとも１つのプロセッサと、少なくとも１つのプロセッサに接続され、プロセッサによって実行可能な命令を記憶した少なくとも１つのメモリデバイスとを含んでよく、命令は、１つまたは複数の登録されていない物体を含む対象スタックを表す１つまたは複数の画像データを受信する命令と、登録されていない物体を表す露出した外側角部と、露出した外側角部に関連付けられ、且つ、登録されていない物体を表す露出した辺とを、１つまたは複数の画像データを分析することに基づいて、識別する命令と、露出した外側角部から露出した辺に沿って対向する辺に延びるエリアを表す最初の最小実行可能領域（ＭＶＲ）を生成する命令と、最初のＭＶＲを調整し、対応する結果をテストすることに基づいて、検証されたＭＶＲを生成する命令とである。少なくとも１つのメモリデバイスは、３Ｄ深度測定値を含む１つまたは複数の画像データを受信する命令と、それぞれ、閾値連続範囲内の３Ｄ深度測定値を有する隣り合う位置のセットを含む表面を３Ｄ深度測定値に基づいて識別することと、表面の横方向の境界に対応する３Ｄの辺を識別された表面に基づいて識別することと、露出した辺に対応する表面の１つを区切る第１の３Ｄの辺と第２の３Ｄの辺との間の接合点として露出した外側角部を識別する命令と、第２の３Ｄの辺に沿って露出した外側角部から離れる方に移動しながら、第１の３Ｄの辺に関連付けられた３Ｄの辺のインスタンスである第１の対向する辺を識別することと、第１の３Ｄの辺に沿って露出した外側角部から離れる方に移動しながら、第２の３Ｄの辺に関連付けられた３Ｄの辺のインスタンスである第２の対向する辺を識別することとに基づいて、露出した辺と第１および第２の対向する辺とによって区切られたエリアを含む最初のＭＶＲを生成する命令を含んでよい。検証されたＭＶＲを生成する命令は、第２の対向する辺から第１の３Ｄの辺に沿って露出した外側角部から離れる方に移動しながら、さらなる対向する辺、第２の３Ｄの辺、および、第２の対向する辺が互いに平行であると決定されたさらなる対向する辺を識別することと、最大および／または最小寸法閾値にしたがって、最初のＭＶＲとさらなる対向する辺と第２の対向する辺との間のエリアとを組み合わせた候補ＭＶＲをテストすることとに基づいてよい。検証されたＭＶＲを生成する命令は、候補ＭＶＲが最大および／または最小寸法閾値を満たさない時、さらなる対向する辺と第２の対向する辺との間のエリアを有さない等、最初のＭＶＲを含む検証されたＭＶＲを生成することを含んでよい。検証されたＭＶＲを生成する命令は、候補ＭＶＲが最大および／または最小寸法閾値を満たす時、候補ＭＶＲを含む検証されたＭＶＲを生成することも含んでよい。
【０１０３】
ある実施形態においては、有形非で一時的なコンピュータ読み取り可能媒体は、プロセッサ命令を記憶してよく、プロセッサ命令は、プロセッサによって実行されると、プロセッサに、１つまたは複数の登録されていない物体を含む対象スタックを表す１つまたは複数の画像データを受信させ、登録されていない物体を表す露出した外側角部と、露出した外側角部に関連付けられ、且つ、登録されていない物体を表す露出した辺とを、１つまたは複数の画像データを分析することに基づいて識別させ、露出した外側角部から露出した辺に沿って対向する辺に延びるエリアを表す最初の最小実行可能領域（ＭＶＲ）を生成させ、且つ、最初のＭＶＲを調整することと、対応する結果をテストすることと基づいて、検証されたＭＶＲを生成させる。プロセッサ命令は、さらに、プロセッサに、３Ｄ深度測定値を含む１つまたは複数の画像データを受信させてよく、３Ｄ深度測定値にしたがって、１つまたは複数の画像データを分析することに基づいて、露出した外側角部と露出した辺とを識別させてよく、且つ、露出した辺のうちの第１の露出した辺に関連付けられた３Ｄの辺のインスタンスである第１の対向する辺と、露出した辺のうちの第２の露出した辺に関連付けられた第２の対向する辺とを識別することに基づいて、露出した辺と第１および第２の対向する辺によって区切られたエリアを含む最初のＭＶＲを生成させてよい。プロセッサ命令は、第２の最初の対向する辺と露出した外側角部との間のさらなる対向する辺であって、さらなる対向する辺、第２の露出した辺、および、第２の最初の対向する辺は互いに平行であると決定されたさらなる対向する辺を識別することと、第２の最初の対向する辺の代わりに、さらなる対向する辺によって区切られた最初のＭＶＲ内のエリアとして縮小された候補ＭＶＲを識別することとに基づいて、プロセッサに検証されたＭＶＲをさらに生成させてよい。プロセッサ命令は、さらに、露出した外側角部に対角線上に対向する第２の角部を識別することと、第２の角部から離れる方に第１の最初の対向する辺に沿って移動しながら、さらなる対向する辺を検索することと、さらなる対向する辺と第１の最初の対向する辺との間の角度、および／または、さらなる対向する辺と第２の露出した辺との対応する点の複数のセット間の距離のセットに基づいて、さらなる対向する辺が第２の露出した辺と平行か否かを判断することとに基づいて、プロセッサにさらなる対向する辺を識別させてよい。ある実施形態においては、プロセッサ命令は、さらに、露出した外側角部から露出した辺の１つを越え、且つ、、露出した外側角部に対向する第２の角部を含む第１の追加の辺にしたがって、最初のＭＶＲを拡大することと、第２の角部から露出した外側角部への画像データ内の１つまたは複数の部分を評価することに基づいて、さらなる対向する辺を識別することとに基づいて、検証されたＭＶＲをプロセッサに生成させてよく、第２の最初の対向する辺の代わりに、さらなる対向する辺によって区切られた最初のＭＶＲ内のエリアとして検証されたＭＶＲをプロセッサに生成させてよい。
【０１０４】
上記のように、本明細書で紹介した技術は、例えば、ソフトウェアおよび／またはファームウェアを用いてプログラムされたプログラム可能回路（例えば、１つまたは複数のマイクロプロセッサ）で、全て専用の配線で接続された（すなわち、プログラムできない）回路で、または、このような形態の組み合わせで、実施される。専用回路は、例えば、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理回路（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等の形態であってよい。
【０１０５】
上記から、発明の特定の実施形態を説明のために本明細書に記載したが、発明の範囲を逸脱することなく、様々な修正を行ってよいことは理解されよう。したがって、発明は、添付の請求項によって以外は制限されない。
【図１】
2021505980.tif 000003
【図２】
2021505980.tif 000004
【図３Ａ】
2021505980.tif 000005
【図３Ｂ】
2021505980.tif 000006
【図３Ｃ】
2021505980.tif 000007
【図４Ａ】
2021505980.tif 000008
【図４Ｂ】
2021505980.tif 000009
【図５】
2021505980.tif 000010
【図６】
2021505980.tif 000011
【図７】
2021505980.tif 000012
【図８】
2021505980.tif 000013
【図９】
2021505980.tif 000014
【図１０】
2021505980.tif 000015
【手続補正書】
【提出日】令和2年11月18日(2020.11.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つまたは複数の登録されていない物体を含む対象スタックを表す１つまたは複数の画像データを受信することと、
登録されていない物体を表す露出した外側角部と、該露出した外側角部に関連付けられ、且つ、前記登録されていない物体を表す露出した辺とを、前記１つまたは複数の画像データの分離した層を識別することによって識別することと、
前記露出した辺と交差する１つまたは複数の他の辺を識別することに基づいて、前記露出した辺に対応する対向する辺を識別することと、
前記対向する辺の向きを前記露出した辺の向きと比較することに基づいて、前記対向する辺を検証することと、
前記露出した外側角部から前記露出した辺に沿って前記検証された対向する辺に延びるエリアを表す最初の最小実行可能領域（ＭＶＲ）を生成することと、
前記最初のＭＶＲを調整することと、対応する結果をテストすることとに基づいて、前記登録されていない物体のうちの１つの推定された表面または前記推定された表面の一部を表す検証されたＭＶＲを生成することと、
を含む、方法。
【請求項２】
前記露出した辺は、前記露出した外側角部を画定する第１の露出した辺および第２の露出した辺を含み、
前記対向する辺は、第１の最初の対向する辺および第２の最初の対向する辺を含む最初の対向する辺のセットであり、前記第１の最初の対向する辺と前記第２の最初の対向する辺は、それぞれ、前記第１の露出した辺と前記第２の露出した辺に平行であると決定され、
前記検証されたＭＶＲを生成することは、
前記露出した外側角部に対して前記第２の最初の対向する辺を超えた位置で前記第１の露出した辺と交差し、前記第２の最初の対向する辺および前記第２の露出した辺と平行であると決定された、さらなる対向する辺を識別することと、
前記対向する辺と前記さらなる対向する辺との間のエリアを含む追加の妥当なＭＶＲ領域を識別することと、
潜在的ＭＶＲセグメントと前記最初のＭＶＲとを組み合わせた候補ＭＶＲをテストすることと、
を含む、請求項１に記載の方法。
【請求項３】
テストすることは、前記候補ＭＶＲの１つまたは複数の寸法がＭＶＲの最大および／または最小寸法閾値を満たすか否かを検証することを含む、請求項２に記載の方法。
【請求項４】
テストすることは、前記潜在的ＭＶＲセグメントと前記最初のＭＶＲとに対応する前記１つまたは複数の画像データの部分の深度測定値、色、明るさ、または、それらの組み合わせが、互いから閾値連続範囲にあるか否かを検証することを含む、請求項２に記載の方法。
【請求項５】
前記検証されたＭＶＲは、前記候補ＭＶＲが１つまたは複数の所定の閾値を満たさない時、前記潜在的ＭＶＲセグメントを有さない前記最初のＭＶＲを含む、請求項２に記載の方法。
【請求項６】
前記露出した辺は、前記露出した外側角部を画定する第１の露出した辺および第２の露出した辺を含み、
前記対向する辺は、第１の最初の対向する辺および第２の最初の対向する辺を含む最初の対向する辺のセットであり、前記第１の最初の対向する辺と前記第２の最初の対向する辺は、それぞれ、前記第１の露出した辺と前記第２の露出した辺に平行であると決定され、
前記検証されたＭＶＲを生成することは、
前記第２の最初の対向する辺と前記露出した外側角部との間にあり、且つ、前記第２の最初の対向する辺および前記第２の露出した辺とに平行であると決定された、さらなる対向する辺を識別することと、
前記第２の最初の対向する辺の代わりに、前記さらなる対向する辺によって区切られた前記最初のＭＶＲ内のエリアとして縮小された候補ＭＶＲを識別することと、
前記縮小された候補ＭＶＲをテストすることと、
を含む、請求項１に記載の方法。
【請求項７】
前記検証されたＭＶＲを生成することは、前記候補ＭＶＲの１つまたは複数の寸法がＭＶＲの最大および／または最小寸法閾値を満たす時、前記縮小された候補ＭＶＲを前記検証されたＭＶＲとして設定することを含む、請求項６に記載の方法。
【請求項８】
前記さらなる対向する辺を識別することは、
前記最初の対向する辺のセットに関連付けられた第２の角部を識別することと、
前記第２の角部から離れる方に前記第１の最初の対向する辺に沿って移動しながら、前記さらなる対向する辺との交点を検索することと、
（１）前記さらなる対向する辺と前記第１の最初の対向する辺との間の角度が、直角を表す閾値範囲内にあること、および／または、（２）前記さらなる対向する辺と前記第２の露出した辺との対応する点の複数のセット間の距離のセットが、互いから閾値範囲内にあることを検証することに基づいて、前記さらなる対向する辺の向きをテストすることと、
を含む、請求項６に記載の方法。
【請求項９】
前記１つまたは複数の画像データは、（１）水平面に沿った位置の深度測定値を含む３Ｄ画像出力と、（２）前記水平面に沿った前記対象スタックを視覚的に表す２Ｄ画像出力とを含み、
前記露出した辺を識別することは、
互いから閾値範囲内の前記深度測定値を有する前記３Ｄ画像出力の前記水平面に沿った隣り合う位置のセットとして、前記分離した層のそれぞれを識別することと、
前記分離した層の周囲の境界を３Ｄの辺として識別することと、
を含み、
前記露出した外側角部を識別することは、前記露出した辺である３Ｄの辺のセットによって形成された交点を選択することを含み、
前記さらなる対向する辺を識別することは、前記３Ｄ画像出力、前記２Ｄ画像出力、または、これらの組み合わせを分析することに基づいて、不完全な辺および／または検出された線を識別することを含む、
請求項６に記載の方法。
【請求項１０】
前記検証されたＭＶＲを生成することは、
前記３Ｄ画像出力を分析することに基づいて、（１）前記第１の露出した辺に沿って前記第２の最初の対向する辺より前記露出した外側角部の方に近く、且つ、（２）前記第２の最初の対向する辺および前記第２の露出した辺と平行である、３Ｄの辺を識別することと、
前記第２の最初の対向する辺と前記３Ｄの辺との間のエリアをさらに含むように前記最初のＭＶＲを調整することと、
を含み、
前記さらなる対向する辺は、前記調整された最初のＭＶＲに対応する前記２Ｄ画像出力の部分を分析した結果であり、
前記縮小された候補ＭＶＲは、前記調整された最初のＭＶＲ内の前記エリアを含む、
請求項９に記載の方法。
【請求項１１】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続され、前記プロセッサにより実行可能な命令を記憶した少なくとも１つのメモリデバイスと、
を含むロボットシステムであって、前記命令は、
１つまたは複数の登録されていない物体を含む対象スタックを表す１つまたは複数の画像データを受信する命令と、
登録されていない物体を表す露出した外側角部と、該露出した外側角部に関連付けられ、且つ、前記登録されていない物体を表す露出した辺とを、前記１つまたは複数の画像データを分析することに基づいて識別する命令と、
前記露出した外側角部から前記露出した辺に沿って対向する辺に延びるエリアを表す最初の最小実行可能領域（ＭＶＲ）を生成する命令と、
前記最初のＭＶＲを調整することと、対応する結果とを生成することとに基づいて、検証されたＭＶＲを生成する命令と、
である、前記ロボットシステム。
【請求項１２】
前記少なくとも１つのメモリデバイスは、
３Ｄ深度測定値を含む前記１つまたは複数の画像データを受信する命令と、
それぞれ、閾値連続範囲内の前記３Ｄ深度測定値を有する隣り合う位置のセットを含む表面を、前記３Ｄ深度測定値に基づいて識別することと、
３Ｄ画像データで識別される辺であり、かつ、前記表面の横方向の境界に対応する３Ｄの辺を、前記識別された表面に基づいて、識別することと、
前記露出した辺に対応する前記表面の１つを区切る第１の３Ｄの辺と第２の３Ｄの辺との間の接合点として、前記露出した外側角部を識別することと、
に基づいて、前記露出した外側角部を識別する命令と、
前記露出した外側角部から離れる方に前記第２の３Ｄの辺に沿って移動しながら、前記第１の３Ｄの辺に関連付けられた前記３Ｄの辺の１つである第１の対向する辺を識別することと、
前記露出した外側角部から離れる方に前記第１の３Ｄの辺に沿って移動しながら、前記第２の３Ｄの辺に関連付けられた前記３Ｄの辺の１つである第２の対向する辺を識別することと、
に基づいて、前記露出した辺と前記第１の対向する辺および前記第２の対向する辺とによって区切られたエリアを含む最初のＭＶＲを生成する命令と、
を含む、請求項１１に記載のロボットシステム。
【請求項１３】
前記少なくとも１つのメモリデバイスは、
前記第２の対向する辺から前記第１の３Ｄの辺に沿って前記露出した外側角部から離れる方に移動しながら、さらなる対向する辺、前記第２の３Ｄの辺、および、前記第２の対向する辺が、互いに平行であると決定される、さらなる対向する辺を識別することと、
前記最初のＭＶＲと、さらなる対向する辺と前記第２の対向する辺との間のエリアとを組み合わせた候補ＭＶＲを、最大および／または最小寸法閾値にしたがってテストすることと、
に基づいて、前記検証されたＭＶＲを生成する命令を含む、
請求項１２に記載のロボットシステム。
【請求項１４】
前記少なくとも１つのメモリデバイスは、前記候補ＭＶＲが前記最大および／または前記最小寸法閾値を満たさない時、さらなる対向する辺と前記第２の対向する辺との間の前記エリアを有さずに、前記最初のＭＶＲを含む前記検証されたＭＶＲを生成する命令を含む、請求項１３に記載のロボットシステム。
【請求項１５】
前記少なくとも１つのメモリデバイスは、前記候補ＭＶＲが前記最大および／または前記最小寸法閾値を満たす時、前記候補ＭＶＲを含む前記検証されたＭＶＲを生成する命令を含む、請求項１３に記載のロボットシステム。
【請求項１６】
プロセッサ命令を記憶した有形で非一時的なコンピュータ読み取り可能な媒体であって、前記プロセッサ命令は、プロセッサによって実行されると、前記プロセッサに、
１つまたは複数の登録されていない物体を含む対象スタックを表す１つまたは複数の画像データを受信させ、
登録されていない物体を表す露出した外側角部と、該露出した外側角部に関連付けられ、且つ、登録されていない物体を表す露出した辺とを、前記１つまたは複数の画像データを分析することに基づいて、識別させ、
前記露出した外側角部から前記露出した辺に沿って対向する辺に延びるエリアを表す最初の最小実行可能領域（ＭＶＲ）を生成させ、
前記最初のＭＶＲを調整することと、対応する結果をテストすることとに基づいて、検証されたＭＶＲを生成させる、
前記有形で非一時的なコンピュータ読み取り可能媒体。
【請求項１７】
前記プロセッサに、さらに、
３Ｄ深度測定値を含む前記１つまたは複数の画像データを受信させ、
３Ｄ深度測定値にしたがって、前記１つまたは複数の画像データを分析することに基づいて、前記露出した外側角部と前記露出した辺とを識別させ、
前記露出した辺の第１の露出した辺に関連付けられた１つ以上の３Ｄの辺の１つである第１の対向する辺と、前記露出した辺の第２の露出した辺に関連付けられた１つ以上の３Ｄの辺の１つである第２の対向する辺とを識別することに基づいて、前記露出した辺と前記第１の対向する辺および前記第２の対向する辺とによって区切られたエリアを含む前記最初のＭＶＲを生成させ、
前記１つ以上の３Ｄの辺は、３Ｄ画像データで識別される辺である、
請求項１６に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１８】
前記第２の対向する辺と前記露出した外側角部との間にあり、且つ、さらなる対向する辺、前記第２の露出した辺、および、前記第２の対向する辺が、互いに平行であると決定された、さらなる対向する辺を識別することと、
前記第２の対向する辺の代わりに、前記さらなる対向する辺によって区切られた前記最初のＭＶＲ内のエリアとして、縮小された候補ＭＶＲを識別することと、
に基づいて、前記プロセッサに、前記検証されたＭＶＲをさらに生成させる、
請求項１７に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項１９】
前記露出した外側角部に対角線上に対向する第２の角部を識別することと、
前記第２の角部から離れる方に前記第１の対向する辺に沿って移動しながら、前記さらなる対向する辺を検索することと、
前記さらなる対向する辺と前記第１の対向する辺との間の角度、および／または、前記さらなる対向する辺と前記第２の露出した辺との対応する点の複数のセット間の距離のセットに基づいて、前記さらなる対向する辺が前記第２の露出した辺に平行か否かを判断することと、
に基づいて、さらに、前記プロセッサに前記さらなる対向する辺を識別させる、
請求項１８に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項２０】
前記露出した外側角部から前記露出した辺の１つを越え、且つ、前記露出した外側角部に対向する第２の角部を含む第１の追加の辺にしたがって、前記最初のＭＶＲを拡大することと、
前記第２の角部から前記露出した外側角部に前記画像データ内の１つまたは複数の部分を評価することに基づいて、さらなる対向する辺を識別することと、
第２の対向する辺の代わりに、前記さらなる対向する辺によって区切られた前記最初のＭＶＲ内のエリアとして前記検証されたＭＶＲを生成することと、
に基づいて、さらに、前記プロセッサに前記検証されたＭＶＲを生成させる、
請求項１６に記載の非一時的なコンピュータ読み取り可能媒体。
【国際調査報告】
2021505980.tif 000016
2021505980.tif 000017