JP2023024980A - 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法 - Google Patents

画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法 Download PDF

Info

Publication number
JP2023024980A
JP2023024980A JP2022175047A JP2022175047A JP2023024980A JP 2023024980 A JP2023024980 A JP 2023024980A JP 2022175047 A JP2022175047 A JP 2022175047A JP 2022175047 A JP2022175047 A JP 2022175047A JP 2023024980 A JP2023024980 A JP 2023024980A
Authority
JP
Japan
Prior art keywords
location
image data
objects
height
locations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022175047A
Other languages
English (en)
Inventor
ロドリゲス,ホセ ジェロニモ モレイラ
Jeronimo Moreira Rodrigues Jose
ユ,ジンゼ
Jinze Yu
ニコラエフ デアンコウ,ロセン
Nikolaev Diankov Rosen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mujin Inc
Original Assignee
Mujin Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of JP2023024980A publication Critical patent/JP2023024980A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/06Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness for measuring thickness ; e.g. of sheet material
    • G01B11/0608Height gauges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Manipulator (AREA)
  • Stacking Of Articles And Auxiliary Devices (AREA)

Abstract

【課題】対象物体の寸法等の様々な態様を推定することができるロボットシステムを提供すること。【解決手段】ロボットシステムでは、物体を開始場所からタスク場所に移送するための、開始場所及び/又はタスク場所の先行画像データ及び後続画像データを取得する。先行画像データは、開始場所及び/又はタスク場所における物体スタックの高さに対応する第1の深度測定値を含み、後続画像データは、物体スタックから物体が移送した後の開始場所及び/又はタスク場所における物体スタックの高さに対応する第2の深度測定値を含む。両画像データに基づいて追跡履歴から移送物体を判定する。そして、移送物体によって最初に占められた場所を識別し、その識別した場所における第1及び第2の深度測定値を比較して、移送物体の高さを含む寸法を導出する。【選択図】図6

Description

関連出願
本願は、2021年8月9日に出願された米国仮特許出願第63/231,210号の利益を主張するものであり、その全体が参照により本明細書に組み込まれる。
本願は、2019年3月1日に出願された米国特許出願第16/290,741号(現在、米国特許第10,369,701号)、2019年6月17日に出願された米国特許出願第16/443,743号(現在、米国特許第10,562,188号)、2019年6月17日に出願された米国特許出願第16/443,757号(現在、米国特許第10,562,189号)、2020年1月7日に出願された米国特許出願第16/736,667号(現在、米国特許第11,034,025号)、2021年5月6日に出願された米国特許出願第17/313,921号)、2019年8月13日に出願された米国特許出願第16/539,790号(現在、米国特許第10,703,584号)、及び2020年5月29日に出願された米国特許出願第16/888,376号に関する主題を含む。これらの全ての出願の主題は、参照により本明細書に組み込まれる。
本願は、また、本明細書と同時に提出された「ROBOTIC SYSTEM WITH DEPTH-BASED PROCESSING MECHANISM AND METHODS FOR OPERATING THE SAME」と題された米国特許出願_(弁護士整理番号131837.8022.US01)に関する主題を含み、その主題は参照により本明細書に組み込まれる。
本技術は、概して、ロボットシステムを対象とし、より具体的には、画像ベースの物体サイジングメカニズムを伴うロボットシステムを対象とする。
現在、ロボット(例えば、自動的/自律的に物理的なアクションを実行するように構成されるマシン)は多くの分野で広く使用されている。例えば、ロボットは、製造、パッケージング、輸送及び/又は出荷等で、様々なタスク(例えば、物体を操作又は移送するタスク)を実行するために使用できる。タスクを実行する際、ロボットは人間のアクションを再現できるため、危険なタスク又は反復的タスクを行うために、別の方法で必要とされる人間の介入に変わる、又は人間の介入が減る。多くの場合、ロボットは、より複雑なタスクの実行に必要とされる人間の鋭敏性、順応性、及び/又は適応性を再現するのに必要である精巧さを欠く。例えば、ロボットは、多くの場合、限られた情報に基づいて複数の結論及び/又は一般論を推定するのが困難である。したがって、結論及び/又は一般論を推定するためのシステム及び技術の向上が依然として必要である。
本技術の1つ以上の実施形態による、ロボットシステムが物体を輸送する例示的な環境を示す。 本技術の1つ以上の実施形態による、ロボットシステムを示すブロック図である。 本技術の1つ以上の実施形態による、ロボット移送アセンブリを示す。 本技術の1つ以上の実施形態による、例示的なスタックを示す。 本技術の1つ以上の実施形態による、スタックを示す例示的な画像データを示す。 本技術の1つ以上の実施形態による、開始場所の第1の画像を示す。 本技術の1つ以上の実施形態による、開始場所の第2の画像を示す。 本技術の1つ以上の実施形態による、ロボットシステムを操作するためのフロー図である。
本明細書では、タスク実行(複数可)の期間中に又はタスク実行(複数可)の間にキャプチャされた1つ以上の画像(例えば、2次元(2D)可視表現、3次元(3D)深度測定等)に基づいて推定を導出するためのシステム及び方法を説明する。いくつかの実施形態では、ロボットシステムは、1つ以上の物体(例えば、ボックス、パッケージ、物体等)を開始場所(例えば、パレット、ビン、コンベヤ等)からタスク場所(例えば、異なるパレット、ビン、コンベヤ等)に移送するように構成され得る。ロボットシステムは、対応する物体の移送中及び/又は移送の全期間にわたって、開始場所及び/又はタスク場所を示す画像データのセット又はシーケンス(例えば、2D表現及び/又は深度マップ)を取得できる。ロボットシステムは、画像データを使用して、移送物体(複数可)の1つ以上の寸法(例えば、高さ)等の移送物体(複数可)の様々な態様を推定及び/又は導出できる。
以下の説明では、本発明に開示されている技術の完全な理解をもたらすように、多くの具体的な詳細が記載される。他の実施形態では、本明細書で紹介する技術は、これらの具体的な詳細なしで実践できる。他の場合、特定の機能又はルーチン等の周知の特徴は、本開示を不必要に曖昧にすることを回避するために詳細には説明されない。この説明における「実施形態」、「一実施形態」等への言及は、説明されている特定の特徴、構造、材料、又は特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書におけるそのような語句の出現は、必ずしも全てが同じ実施形態を指すものではない。一方、そのような参照は必ずしも相互に排他的なものではない。さらに、特定の特徴、構造、材料、又は特性は、1つ以上の実施形態において任意の適切な方法で組み合わせできる。図に示される様々な実施形態は、単に例示的な表現であり、必ずしも縮尺通りに描かれていないことを理解されたい。
周知であり、しばしばロボットシステム及びサブシステムに関連付けられるが、開示された技術のいくつかの重要な態様を不必要に不明瞭にする可能性がある構造又はプロセスを説明するいくつかの詳細は、明確にするために以下の説明には記載されていない。さらに、以下の開示では、本技術の異なる態様のいくつかの実施形態が記載されているが、他のいくつかの実施形態は、本節で説明したものとは異なる構成又は異なる構成要素を有し得る。したがって、開示された技術は、追加要素がある、又は下記に説明されるいくつかの要素がない他の実施形態を有し得る。
下記に説明される本開示の多くの実施形態又は態様は、プログラム可能なコンピュータ又はコントローラによって実行されるルーチンを含む、コンピュータ実行可能命令又はコントローラ実行可能命令の形態をとり得る。当業者は、開示された技術が、下記に示され及び説明されるもの以外のコンピュータシステム又はコントローラシステムで実践できることを理解するであろう。本明細書で説明される技術は、下記に説明される1つ以上のコンピュータ実行可能命令を実行するように具体的にプログラムされ、構成され、又は構築される専用コンピュータ又はデータプロセッサで具体化できる。したがって、本明細書で全体的に使用される「コンピュータ」及び「コントローラ」という用語は任意のデータプロセッサを指し、インターネット機器及びハンドヘルドデバイス(パームトップコンピュータ、ウェアラブルコンピュータ、携帯電話又は移動電話、マルチプロセッサシステム、プロセッサベース家電製品又はプログラマブル家電製品、ネットワークコンピュータ、ミニコンピュータ等を含む)を含み得る。これらのコンピュータ及びコントローラによって処理される情報は、液晶ディスプレイ(LCD)を含む任意の適切な表示媒体で提示できる。コンピュータ実行可能タスク又はコントローラ実行可能タスクを実行するための命令は、ハードウェア、ファームウェア、又はハードウェア及びファームウェアの組み合わせを含む、任意の適切なコンピュータ可読媒体内又はその上に記憶できる。命令は、非一時的有形コンピュータ可読媒体を含む、例えば、フラッシュドライブ、USBデバイス、及び/又は他の適切な媒体を含む任意の適切なメモリデバイスに含まれ得る。
「結合された」及び「接続された」という用語は、それらの派生語と一緒に、コンポーネント間の構造的関係を説明するために本明細書で使用できる。これらの用語は、互いに同義語として意図されたものではないことを理解されたい。むしろ、特定の実施形態では、「接続された」は2つ以上の要素が互いに直接接触していることを示すために使用できる。文脈で明らかにされていない限り、「結合された」という用語は、2つ以上の要素が直接もしくは間接的のいずれかで(それらの間にある他の介在要素と)互いに接触していること、又は、2つ以上の要素が互いに(例えば、信号の送信/受信に関する、又は関数呼び出し等に関する因果関係のように)連携もしくは相互作用していること、あるいはそれら両方を示すために使用できる。
適切な環境
図1は、本技術の1つ以上の実施形態による、ロボットシステム100が物体を搬送する例示的な環境の図である。ロボットシステム100は、1つ以上のタスクを実行するように構成される1つ以上のユニット(例えば、ロボット)を含み得る及び/又はそのユニットと通信できる。物体の検出/更新の態様は、様々なユニットによって実践又は実施できる。
図1に示される例について、ロボットシステム100は、倉庫又は物流/出荷ハブに、荷下ろしユニット102、移送ユニット104(例えば、パレタイズロボット及び/又はピースピッカーロボット)、輸送ユニット106、積み込みユニット108、又はそれらの組み合わせを含み得る及び/又はそれらと通信できる。ロボットシステム100の各ユニットは、1つ以上のタスクを実行するように構成できる。タスクは、トラック又はバンから物体を荷下ろしして、その物体を倉庫に収納するために、又は収納場所から物体を荷下ろしして、その物体の出荷の準備をするために等、目標を達成する操作を行うために順番に組み合わせできる。別の例について、タスクは物体を対象場所(例えば、パレットの上及び/又はビン/ケージ/ボックス/ケースの内部)に配置することを含み得る。下記に説明されるように、ロボットシステムは、物体を配置する及び/又は積み重ねるためのプラン(例えば、配置場所/配向、物体を移送するための順序、及び/又は対応するモーションプラン)を導出できる。各ユニットは、タスクを実行するために導出された1つ以上のプランに従って、一連のアクションを(例えば、ユニットの1つ以上の構成要素を操作することによって)実行するように構成できる。
いくつかの実施形態では、タスクは、対象物体112(例えば、実行中のタスクに対応するパッケージ、ボックス、ケース、ケージ、パレット等のうちの1つ)を開始場所114からタスク場所116に移動させる等、対象物体112の操作(例えば、移動及び/又は再配向)を含み得る。例えば、荷下ろしユニット102(例えば、デバンニングロボット)は、対象物体112を輸送機械(例えば、トラック)内の場所からコンベヤベルト上の場所に移送するように構成できる。また、移送ユニット104は、対象物体112をある場所(例えば、コンベヤベルト、パレット、又はビン)から別の場所(例えば、パレット、ビン等)に移送するように構成できる。別の例について、移送ユニット104(例えば、パレタイズロボット)は、対象物体112を供給場所(例えば、パレット、ピックアップエリア、及び/又はコンベヤ)から積み込み先パレットに移送するように構成できる。操作が完了すると、輸送ユニット106は、移送ユニット104に関連付けられるエリアから積み込みユニット108に関連付けられるエリアに対象物体112を移送でき、積み込みユニット108は、(例えば、対象物体112を載せたパレットを移動させることによって)対象物体112を移送ユニット104から収納場所(例えば、棚上の場所)に移送できる。
例示の目的のために、ロボットシステム100は、出荷センターの状況で説明されるが、ロボットシステム100は、製造、組立、パッケージング、ヘルスケア、及び/又は他のタイプの自動化等の他の環境で/他の目的のためにタスクを実行するように構成できることを理解されたい。また、ロボットシステム100は図1に示されていない、マニピュレータ、サービスロボット、モジュール型ロボット等の他のユニットを含み得る及び/又は他のユニットと通信できることも理解されたい。例えば、いくつかの実施形態では、ロボットシステム100は、物体をケージカートもしくはパレットからコンベヤ又は他のパレットの上に移送するためのデパレタイズユニット、物体をあるコンテナから別のコンテナに移送するためのコンテナ交換ユニット、物体をラッピングするためのパッケージングユニット、物体の1つ以上の特性に従って物体をグループ化するための仕分けユニット、物体の1つ以上の特性に従って物体を異なる方法で操作するための(例えば、仕分け、グループ化、及び/又は移送するための)ピースピッキングユニット、又はそれらの組み合わせを含み得る。
ロボットシステム100は、動作(例えば、回転変位及び/又は並進変位)のためにジョイントで接続される物理的又は構造的な部材(例えば、ロボットマニピュレータアーム)を含み得る及び/又はその部材に結合できる。構造部材及びジョイントは、ロボットシステム100の使用/操作に応じて1つ以上のタスク(例えば、把持、スピン、溶接等)を実行するように構成されるエンドエフェクタ(例えば、グリッパ)を操作するように構成される運動連鎖を形成できる。ロボットシステム100は、対応するジョイントの周囲又はそのジョイントで、構造部材を駆動又は操作(例えば、変位及び/又は再配向)するように構成される作動デバイス(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマ等)を含み得る、及び/又はその作動デバイスと通信できる。いくつかの実施形態では、ロボットシステムは、対応するユニット/シャーシを場所間で輸送するように構成される輸送モータを含み得る。
ロボットシステム100は、構造部材を操作するため及び/又はロボットユニットを輸送するため等のタスクを実施するために使用される情報を取得するように構成されるセンサを含み得る及び/又はそのセンサと通信できる。センサは、ロボットシステム100の1つ以上の物理的特性(例えば、その1つ以上の構造部材/ジョイントの状態、状況、及び/又は場所)及び/又は周囲環境の1つ以上の物理的特性を検出又は測定するように構成されるデバイスを含み得る。センサのいくつかの例は、加速度計、ジャイロスコープ、力センサ、歪みゲージ、触覚センサ、トルクセンサ、位置エンコーダ等を含み得る。
いくつかの実施形態では、例えば、センサは、周囲環境を検出するように構成される1つ以上の撮像デバイス(例えば、視覚カメラ及び/又は赤外線カメラ、2D及び/又は3D撮像カメラ、ライダ又はレーダ等の距離測定デバイス等)を含み得る。撮像デバイスは、(例えば、自動検査、ロボット誘導、又は他のロボット応用のために)マシン/コンピュータビジョンによって処理され得るデジタル画像及び/又は点群等の検出された環境の表現を生成できる。ロボットシステム100は、デジタル画像及び/又は点群を処理して、対象物体112、開始場所114、タスク場所116、対象物体112の姿勢、又はそれらの組み合わせを識別できる。
対象物体112を操作するために、ロボットシステム100は、指定エリア(例えば、トラックの内側又はコンベヤベルト上等のピックアップ場所)の画像をキャプチャ及び分析して、対象物体112及びその開始場所114を識別できる。同様に、ロボットシステム100は、別の指定エリア(例えば、コンベヤに物体を配置するための下降場所、コンテナの内側に物体を配置するための場所、又は積み重ね目的のためのパレット上の場所)の画像をキャプチャ及び分析して、タスク場所116を識別できる。例えば、撮像デバイスは、ピックアップエリアの画像を生成するように構成される1つ以上のカメラ、及び/又はタスクエリア(例えば、下降エリア)の画像を生成するように構成される1つ以上のカメラを含み得る。キャプチャされた画像に基づいて、ロボットシステム100は、開始場所114、タスク場所116、関連姿勢、梱包/配置プラン、移送/梱包順序、及び/又は他の処理結果を判定できる。
いくつかの実施形態では、例えば、センサは、ロボットシステム100の構造部材(例えば、ロボットアーム及び/又はエンドエフェクタ)及び/又は対応するジョイントの位置を検出するように構成される位置センサ(例えば、位置エンコーダ、電位差計等)を含み得る。ロボットシステム100は、位置センサを使用して、タスクの実行中に構造部材及び/又はジョイントの場所及び/又は配向を追跡できる。
ロボットシステム
図2は、本技術の1つ以上の実施形態による、ロボットシステム100のコンポーネントを示すブロック図である。いくつかの実施形態では、例えば、ロボットシステム100(例えば、上記で説明したユニットもしくはアセンブリ及び/又はロボットの1つ以上)は、1つ以上のプロセッサ202、1つ以上のストレージデバイス204、1つ以上の通信デバイス206、1つ以上の入出力デバイス208、1つ以上の作動デバイス212、1つ以上の輸送モータ214、1つ以上のセンサ216、又はそれらの組み合わせ等の電子/電気デバイスを含み得る。様々なデバイスは、有線接続及び/又は無線接続を介して互いに結合できる。例えば、ロボットシステム100用の1つ以上のユニット/コンポーネント及び/又は1つ以上のロボットユニットは、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バス又はPCI-Expressバス、ハイパートランスポート又は業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、又は電気電子技術者協会(IEEE)標準1394バス(「ファイアワイヤ」とも呼ばれる)等のバスを含み得る。また、例えば、ロボットシステム100は、デバイス間の有線接続を提供するために、ブリッジ、アダプタ、コントローラ、又は他の信号関連デバイスを含み得る及び/又はそれらと通信できる。無線接続は、例えば、セルラー通信プロトコル(例えば、3G、4G、LTE、5G等)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、無線フィデリティ(WIFI))、ピアツーピア通信プロトコルもしくはデバイス間通信プロトコル(例えば、Bluetooth、近距離無線通信(NFC)等)、モノのインターネット(IoT)プロトコル(例えば、NB-IoT、Zigbee、Z-wave、LTE-M等)、及び/又は他のワイヤレス通信プロトコルに基づき得る。
プロセッサ202は、ストレージデバイス204(例えば、コンピュータメモリ)に記憶された命令(例えば、ソフトウェア命令)を実行するように構成されるデータプロセッサ(例えば、中央処理装置(CPU)、専用コンピュータ、及び/又はオンボードサーバ)を含み得る。プロセッサ202は、他のデバイスと制御/インターフェースするためのプログラム命令を実施できることによって、ロボットシステム100に、アクション、タスク、及び/又は操作を実行させる。
ストレージデバイス204は、プログラム命令(例えば、ソフトウェア)が記憶される非一時的コンピュータ可読媒体を含み得る。ストレージデバイス204のいくつかの例は、揮発性メモリ(例えば、キャッシュ及び/又はランダムアクセスメモリ(RAM))及び/又は不揮発性メモリ(例えば、フラッシュメモリ及び/又は磁気ディスクドライブ)を含み得る。ストレージデバイス204の他の例は、ポータブルメモリドライブ及び/又はクラウドストレージデバイスを含み得る。
いくつかの実施形態では、ストレージデバイス204を使用して、マスターデータ、処理結果、及び/又は所定のデータ/閾値をさらに記憶し、それらへのアクセスを提供できる。例えば、ストレージデバイス204は、ロボットシステム100によって操作され得る物体(例えば、ボックス、ケース、コンテナ、及び/又は製品)の記述を含むマスターデータを記憶できる。1つ以上の実施形態では、マスターデータは、ロボットシステム100によって操作されることが予想される物体の寸法、形状(例えば、潜在的な姿勢に関する1つ以上のテンプレートもしくはプリミティブ、及び/又は異なる姿勢の物体の外形を認識するためのコンピュータ生成モデル)、質量/重量情報、カラースキーム、画像、識別情報(例えば、バーコード、クイック応答(QR)コード(登録商標)、ロゴ等、及び/又はそれらの予想される場所)、予想される質量もしくは重量、又はそれらの組み合わせを含み得る。追加的又は代替的に、ストレージデバイス204は、また、異なる潜在的な物体形状及び/又はその異なる姿勢の外形を表す汎用プリミティブを含み得る。例えば、汎用プリミティブは、物体スタックに含まれると予想される異なる物体形状の外形及びサイズを含み得る。いくつかの実施形態では、マスターデータは、各物体の重心場所(CoM)、1つ以上のアクション/操作に対応する予想されるセンサ測定値(例えば、力、トルク、圧力、及び/又は接触測定値)、又はそれらの組み合わせ等の物体に関する操作関連情報を含み得る。ロボットシステムは、圧力レベル(例えば、真空レベル、吸引レベル等)、把持/ピックアップエリア(例えば、作動させる真空グリッパのエリア又はバンク)、及び移送ロボットを制御するための他の記憶されたマスターデータを検索できる。
また、ストレージデバイス204は物体追跡データを記憶できる。いくつかの実施形態では、物体追跡データは、スキャン、操作、及び/又は移送された物体のログを含み得る。いくつかの実施形態では、物体追跡データは、1つ以上の場所(例えば、指定されたピックアップ場所もしくは降下場所及び/又はコンベヤベルト)における物体の画像データ(例えば、写真、点群、ライブビデオフィード等)を含み得る。代替的又は追加的に、物体追跡データは、場所間で移送された物体及び/又は他の移送関連データ(例えば、各移送物体のシーケンス内の時間及び/又は位置、各物体を移送するために実施されたプランの識別子、移送のステータス等)を識別する移送履歴を含み得る。
通信デバイス206は、ネットワークを介して外部デバイス又はリモートデバイスと通信するように構成される回路を含み得る。例えば、通信デバイス206は、受信機、送信機、変調器/復調器(モデム)、信号検出器、信号エンコーダ/デコーダ、コネクタポート、ネットワークカード等を含み得る。通信デバイス206は、1つ以上の通信プロトコル(例えば、インターネットプロトコル(IP)、無線通信プロトコル等)に従って電気信号を送信、受信、及び/又は処理するように構成できる。いくつかの実施形態では、ロボットシステム100は、通信デバイス206を使用して、ロボットシステム100のユニット間で情報を交換できる、及び/又は(例えば、報告、データ収集、分析、及び/又はトラブルシューティングの目的で)ロボットシステム100の外部のシステムもしくはデバイスと情報を交換できる。
入出力デバイス208は、人間オペレータと情報を通信し、及び/又は人間オペレータから情報を受信するように構成されるユーザインターフェースデバイスを含み得る。例えば、入出力デバイス208は、人間オペレータに情報を通信するためのディスプレイ210及び/又は他の出力デバイス(例えば、スピーカ、触覚回路、又は触覚フィードバックデバイス等)を含み得る。また、入出力デバイス208は、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインターフェース(UI)センサ(例えば、動作コマンドを受信するためのカメラ)、ウェアラブル入力デバイス等の制御デバイス又は受信デバイスを含み得る。いくつかの実施形態では、ロボットシステム100は、入出力デバイス208を使用して、アクション、タスク、操作、又はそれらの組み合わせを実行する際に人間オペレータとインタラクトできる。
いくつかの実施形態では、コントローラ(例えば、別個にケースに入れられた電子デバイス)は、プロセッサ202、ストレージデバイス204、通信デバイス206、及び/又は入出力デバイス208を含み得る。コントローラは、スタンドアロンコンポーネント、又はユニット/アセンブリの一部であり得る。例えば、システム100の各荷下ろしユニット、移送アセンブリ、輸送ユニット、及び積み込みユニットは、1つ以上のコントローラを含み得る。いくつかの実施形態では、単一のコントローラは、複数のユニット又はスタンドアロンコンポーネントを制御できる。
ロボットシステム100は、操作(例えば、回転変位及び/又は並進変位)のためにジョイントで接続される物理的又は構造的な部材(例えば、ロボットマニピュレータアーム)を含み得る及び/又はその部材と通信できる。構造部材及びジョイントは、ロボットシステム100の使用/操作に応じて1つ以上のタスク(例えば、把持、スピン、溶接等)を実行するように構成されるエンドエフェクタ(例えば、グリッパ)を操作するように構成される運動連鎖を形成できる。運動連鎖は、対応するジョイントの周囲又は対応するジョイントにおいて、構造部材を駆動又は操作(例えば、変位及び/又は再配向)するように構成される作動デバイス212(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマ等)を含み得る。いくつかの実施形態では、運動連鎖は、対応するユニット/シャーシを場所間で輸送するように構成される輸送モータ214を含み得る。例えば、作動デバイス212及び輸送モータ214は、ロボットアーム、線形スライド、又は他のロボットコンポーネントに接続できる、又はそれらの一部である。
センサ216は、構造部材を操作するため及び/又はロボットユニットを輸送するため等のタスクを実施するために使用される情報を取得するように構成できる。センサ216は、コントローラ、ロボットユニットの1つ以上の物理的特性(例えば、1つ以上の構造部材/ジョイントの状況、状態、及び/又は場所)及び/又は周辺環境の1つ以上の物理的特性を検出又は測定するように構成されるデバイスを含み得る。センサ216のいくつかの例は、接触センサ、近接センサ、加速度計、ジャイロスコープ、力センサ、歪みゲージ、トルクセンサ、位置エンコーダ、圧力センサ、真空センサ等を含み得る。
いくつかの実施形態では、例えば、センサ216は、周辺環境を検出するように構成される1つ以上の撮像デバイス222(例えば、2D撮像デバイス及び/又は3D撮像デバイス)を含み得る。撮像デバイスは、カメラ(視覚カメラ及び/又は赤外線カメラを含む)、ライダデバイス、レーダデバイス、及び/又は他の距離測定デバイスもしくは検出デバイスを含み得る。撮像デバイス222は、(例えば、自動検査、ロボットガイダンス、又は他のロボット応用のために)マシン/コンピュータビジョンを実施するために使用されるデジタル画像、深度マップ、及び/又は点群等の検出された環境の表現を生成できる。
ここで図1及び図2を参照すると、ロボットシステム100は、(例えば、プロセッサ202によって)画像データ及び/又は点群を処理して、図1の対象物体112、図1の開始場所114、図1のタスク場所116、図1の対象物体112の姿勢、又はそれらの組み合わせを識別できる。ロボットシステム100は、撮像デバイス222から画像データを使用して、物体にアクセスしてピックアップする方法を判定できる。物体の画像を分析して、対象物体を把持するために、真空グリッパアセンブリを位置決めるためのモーションプランを決定できる。ロボットシステム100は、(例えば、様々なユニットによって)指定エリア(例えば、トラックの内側、コンテナの内側、又はコンベヤベルト上の物体のピックアップ場所)の画像をキャプチャ及び分析して、対象物体112及びその開始場所114を識別できる。同様に、ロボットシステム100は、別の指定エリア(例えば、コンベヤベルトに物体を配置するための降下場所、コンテナの内側に物体を配置するための場所、又は積み重ね目的のためのパレット上の場所)の画像をキャプチャ及び分析して、タスク場所116を識別できる。
また、例えば、図2のセンサ216は、構造部材(例えば、ロボットアーム及び/又はエンドエフェクタ)及び/又はロボットシステム100の対応するジョイントの位置を検出するように構成される図2の位置センサ224(例えば、位置エンコーダ、電位差計等)を含み得る。ロボットシステム100は、位置センサ224を使用して、タスクの実行中に構造部材及び/又はジョイントの場所及び/又は配向を追跡できる。本明細書に開示される荷下ろしユニット、移送ユニット/アセンブリ、輸送ユニット、及び積み込みユニットは、センサ216を含み得る。
いくつかの実施形態では、センサ216は、エンドエフェクタ等における運動連鎖にかかる力を測定するように構成される接触センサ226(例えば、重量センサ、歪みゲージ、ピエゾ抵抗センサ/圧電センサ、容量センサ、弾性抵抗センサ、及び/又は他の触覚センサ)を含み得る。例えば、センサ216を使用して、ロボットアームにかかる負荷(例えば、把持された物体)を判定できる。力センサ226はエンドエフェクタに又はその周囲に取り付けでき、それによって、結果として生じる測定値は、基準場所に対する把持された物体の重量及び/又はトルクベクトルを表す。1つ以上の実施形態では、ロボットシステム100は、トルクベクトル、重量、及び/又は物体の他の物理的特性(例えば、寸法)を処理して、把持された物体のCoMを推定できる。
ロボット移送アセンブリ
図3は、本技術の1つ以上の実施形態による、移送ユニット104を示す。移送ユニット104は、撮像システム160及びロボットアームシステム132を含み得る。撮像システム160は、デパレタイズプラットフォーム110を使用する対象環境及び/又は対象場所からキャプチャされた画像データを提供できる。ロボットアームシステム132は、ロボットアームアセンブリ139及びエンドエフェクタ140(例えば、グリッパアセンブリ)を含み得る。ロボットアームアセンブリ139は、ピックアップ環境又は領域163に位置するスタック165の物体のグループの上にエンドエフェクタ140を位置決めできる。
図3は、コンベヤ120(例えば、コンベヤベルト)の上に位置決めされた単一の対象物体(例えば、対象物体112)を運ぶエンドエフェクタ140を示す。エンドエフェクタ140は、対象物体112をコンベヤベルト120上に放出でき、次に、ロボットアームシステム132は、荷下ろししたエンドエフェクタ140をパッケージ112a、パッケージ112b、又はそれら両方の真上に位置決めることによって、パッケージ112a、112bを取り出すことができる。次に、エンドエフェクタ140は、真空把持によって、パッケージ112a、112bの1つ以上を保持でき、ロボットアームシステム132は、保持されたパッケージ112a及び/又は112bをコンベヤ120の真上の位置まで運ぶことができる。次に、エンドエフェクタ140は、パッケージ112a、112bをコンベヤ120上に(例えば、同時に又は連続的に)放出できる。このプロセスは、物体をスタック165からコンベヤ120に運ぶために何回も繰り返すことができる。
続けて図3を参照すると、デパレタイズプラットフォーム110はいずれかのプラットフォーム、表面、及び/又は構造を含み得、それらの上に、複数の対象物体112(単数の「対象物体112」)は、輸送する準備ができているとき、積み重ねられ及び/又は段にされ得る。撮像システム160は、デパレタイズプラットフォーム110及び/又はコンベヤ120の上のパッケージ112a、112bの画像データ(例えば、2D表現及び/又は3D表現)をキャプチャするように構成される1つ以上の撮像デバイス161を含み得る。撮像デバイス161は、距離データ、位置データ、ビデオ、静止画像、ライダデータ、レーダデータ、及び/又はピックアップ環境もしくは領域163における動作をキャプチャできる。いくつかの実施形態では、撮像デバイス161は、その場所及びそこにある物体の上面図等を提供するために、対応する場所にわたって下向きに配置され得る。追加的又は代替的に、撮像デバイス161は、側面図及び/又は透視図等を提供するために、対応する場所から横方向にオフセットされて、少なくとも部分的に横方向に沿って対応する場所に向かって配置され得る。
本明細書では「物体」及び「パッケージ」という用語が使用されているが、これらの用語は、限定ではないが、「ケース」、「ボックス」、「カートン」、又はそれらのいずれかの組み合わせ等の把持、持ち上げ、輸送、及び配送が可能ないずれかの他のアイテムを含むことに留意されたい。さらに、多角形のボックス(例えば、長方形のボックス)が本明細書に開示される図面に示されているが、ボックスの形状はそのような形状に限定されるものではなく、下記に詳細に説明されるように、把持、持ち上げ、輸送、配送が可能な規則的又は不規則な形状のいずれかを含む。
デパレタイズプラットフォーム110と同様に、コンベヤ120は、さらなるタスク/操作のためにパッケージ112a、112bを受けるように指定されたいずれかのプラットフォーム、表面、及び/又は構造を含み得る。いくつかの実施形態では、コンベヤ120は、さらなる操作(例えば、仕分け及び/又は保管)のために、物体112をある場所(例えば、放出点)から別の場所に輸送するためのコンベヤシステムを含み得る。いくつかの実施形態では、ロボットシステム100は、対象配置場所(例えば、コンベヤ120)を含む対象環境からキャプチャされた画像データを提供するように構成される第2の撮像システム(図示せず)を含み得る。第2の撮像システムは、受け取り場所/配置場所(例えば、コンベヤ120)上のパッケージ112a、112bの画像データをキャプチャできる。
タスク実施プロセスの例
図4Aは、本技術の1つ以上の実施形態による、例示的なスタック400を示す。図4Bは、本技術の1つ以上の実施形態による、スタック400を示す例示的な画像データ406を示す。ここで図4A及び図4Bを一緒に参照すると、画像データ406は、開始場所(例えば、図3のデパレタイズプラットフォーム110)におけるスタック400の上面図を表すことができる。画像データ406は、図3の撮像システム160からの2Dデータ及び/又は3Dデータを含み得る。
図4Aに示されるように、スタック400(例えば、物体スタック)は、整理されたパイルに配置された物体(例えば、物体402-1、402-2、及び402-3)を含む物体402を含む。図4Aに示されるスタック400は、物体スタック400のオブジェクト402のいずれかがタスク位置(例えば、図1のタスク位置116)に移送する前に、開始位置(例えば、図1の開始位置114)に位置決めされた物体スタックに対応し得る。それによって、画像データ406は、スタック400から物体のいずれかをピックする前の開始場所におけるスタック400の上面図を表す(例えば、画像データ406は、先行画像データと呼ばれ得る)。物体402は、スタック400の全体積が最小になるように配置され得る。図4Aでは、物体402は、物体スタック400が同一平面又は実質的に同一平面の上面400-Aを有するように配置される。同一平面上の上面400-Aは、各々、互いに隣接して配置される物体402-1、402-2、及び402-3の同一平面上又は実質的に同一平面上の上面402-1A、402-2A、及び402-3Aで構成される。本明細書で使用される場合、物体スタックの全体積は、物体スタックの外縁によって画定される体積に対応する。図4Aでは、物体スタック400は、スタック高さ(H)、スタック幅(H)、及びスタック長(L)に対応する寸法を有し、物体スタック400の体積(V)はV=H×H×Lに対応する。物体スタックの体積は最外縁及び表面に基づいて定義され、スタック内のいずれかの間隔又はギャップは考慮されないことに留意されたい。例えば、物体スタック400内の物体は、互いに分離して位置決めされ得る(例えば、物体402-1と物体402-2との間に間隔がある状態である)。物体スタック400内の個々の物体(例えば、物体402-1)の体積は、物体の高さ(H)、物体の幅(H)、及び物体の長さ(L)に対応する寸法を有し、物体の体積(V)はV=H×H×Lに対応する。いくつかの実施形態では、物体スタック400は、配置プラットフォーム(例えば、パレット)上に位置決めされる。
いくつかの実施形態では、図4Bの画像データ406は、撮像システム160と、撮像システム160の視野内の物体402の検出された表面/点との間の距離を表す深度マップ及び/又は点群を含み得る。例えば、上記で説明したように、撮像デバイス222は、深度マップ及び/又は点群に対応する画像で検出された環境の表現を生成できる。深度マップは、側面に沿った離散点(例えば、図4Bに示されるXY平面上の場所「n」、「n」、及び「n」)における深度測定値(例えば、Z方向に沿った測定値)を含み得る。図4Bに示される例について、画像データ406は、スタック400の上面(例えば、各々、物体402-1、402-2、及び402-3の同一平面又は実質的に同一平面上の上面402-1A、402-2A、及び402-3A)を形成する9つの物体402の同一平面上の上面(例えば、一致する深度測定値)を示すことができる。一致する深度は、スタックの高さ(図4AのH)に対応できる。画像データ406は、また、配置プラットフォーム404(例えば、点線の塗りつぶしで示されるパレット)の上面の深度測定値を示し得る。スタックの高さHは、物体/スタックの対応する上面(例えば、表面400-A)と、配置プラットフォームの上面(例えば、配置プラットフォーム404の上面)との間の垂直距離に対応できる。
いくつかの実施形態では、2つの隣接物体の間のギャップ(例えば、図4Bの挿入図の物体402-1Aと物体402-2Aとの間のギャップ408)を識別するために、深度マップ及び/又は点群を使用できる。ギャップを識別することは、スタック400の表面400-Aに沿った個別の場所(例えば、図4Bのスタック400の表面400-Aに沿った場所「n」、「n」、及び「n」)における深度測定値を判定することを含み得る。図4Bでは、場所「n」は表面402-1Aに位置決めされ、場所「n」は表面402-2Aに位置決めされ、場所「n」は表面402-1Aと表面402-2Aとの間に位置決めされる。場所「n」の深度測定値が場所「n」及び「n」の深度測定値よりも大きい(例えば、表面高さが低い)場合、ロボットシステム100は、場所「n」が、図4Bの隣接物体402-1Aと隣接物体402-2Aとの間のギャップ(例えば、ギャップ408)に対応すると判定できる。例えば、ロボットシステム100は、ギャップを囲む又は画定する縁を、マスターデータに記憶された形状テンプレート及び/又は寸法閾値のセットと比較できる。また、ロボットシステム100は、場所「n」と「n」との深度測定値の差を、及び/又は「n」と比較できる。ロボットシステム100は、縁の形状が形状テンプレートに表される既知の/予想される物体と一致しないとき、1つ以上の寸法が寸法閾値のセットを満足しないとき、及び/又は高度差が最小差の閾値よりも大きいとき、縁間の境界されるエリアをギャップ(例えば、幅が最小寸法/幅よりも小さいギャップ)として判定できる。
ロボットシステム100は、画像データ406を使用して、スタック400内の物体402を検出できる。物体検出は、画像データ406に示される物体の識別情報及び/又は場所を推定することを含み得る。いくつかの実施形態では、ロボットシステム100は、画像データ406(例えば、2D表現及び/又は3D表現)を処理して、そこに示される角及び/又は縁/ラインを識別できる。そのように識別することは、スタック400の角及び縁を識別すること、及び/又はスタック400の物体402の角及び縁を識別することを含み得る。ロボットシステム100は、角及び/又は縁を処理して、示される物体のそれぞれの表面又は周辺の境界を推定できる。ロボットシステム100は、推定された境界を使用して、示される物体のそれぞれの境界面(例えば、上面)を推定できる。例えば、ロボットシステムは、各々、スタック400の同一平面上の表面400-Aの境界の物体402-1、402-2、及び402-3の表面402-1A、402-2A、及び402-3Aの周辺境界を推定できる。例えば、識別は、例えば、ボックス及びパッケージの角を識別するためにトレーニングされたアルゴリズムを含む画像検出方法に基づいて、スタック400の2D視覚画像に対応する画像データ406を分析することを含み得る。さらに、そのような画像検出方法は、物体の角及び縁を物体の視覚的特徴から区別するためにトレーニングされ得る。例えば、ロボットシステムは、物体の表面にあるフラップ、テープ、又はその他の視覚的特徴を物体の実際の縁から区別するためにトレーニングされている。
いくつかの実施形態では、ロボットシステム100は、推定された表面の2D画像パターン及び/又は表面縁寸法をマスターデータの既知の又は登録された物体と比較することに基づいて、示される物体を識別する。例えば、図4Bでは、物体402は3×3のアレイに配置される。比較において一致するとき(例えば、重複部分、信頼度等の測定等のための閾値のセットによって定義されるように一致するとき)、ロボットシステム100は、識別された物体が判定された縁によって画定される場所に位置することを検出できる。いくつかの実施形態では、ロボットシステム100は、推定された表面の3D画像パターン及び/又は表面縁寸法を比較することに基づいて、示される物体を識別する。
ロボットシステム100は、認識もしくは予想されない1つ以上の物体に対応するものとして、又は1つ以上のギャップに対応するものとして、画像データの未認識部/一致しない部分を処理できる。例えば、画像データ406の未認識部は、不規則な形状の物体又は損傷した物体に対応し得る。ロボットシステム100は、操作中又はタスク実施中、予想されない物体を自動的に又は自律的に登録できる。いくつかの実施形態では、ロボットシステム100は、予想されない物体を把持するための最小実行可能領域(MVR)を導出できる。ロボットシステム100は、MVRを使用して、物体を把持し、持ち上げ、及び/又は開始場所からタスク場所に移送し得る。ロボットシステム100は、その移動に基づいて、未認識物体の実際の縁、対応する寸法(例えば、横寸法)、及び/又は視覚的表面画像(例えば、画像データの対応する部分)を検出できる。ロボットシステム100は、未認識物体の除去/移動の前後に撮影された画像を比較して、その寸法(例えば、横寸法及び/又は高さ)を導出できる。ロボットシステム100は、さらに、交差/ラインセンサ及び/又はサイドビューカメラ等を使用して、移送中の物体の測定又は観察に基づいて、移送中の物体の高さを判定できる。ロボットシステム100は、物体の移送中に、重量、CoM場所等の他の測定値又は推定値を取得できる。
ロボットシステム100は、出荷マニフェスト、注文受領書、タスクトラッカー(例えば、物体の除去/移送の履歴に対応する)等のスタックの内容を説明する追加情報を使用して、物体(例えば、認識物体及び/又は未認識物体)を処理できる。例えば、ロボットシステム100は、スタックの内容説明に基づいて、予想される物体の予備リストを判定できる。物体検出中、ロボットシステム100は、画像データを、他の物体の前に予備リスト上の物体の登録された説明と比較できる。
ロボットシステム100は、物体検出と、画像データ、マスターデータ、スタック説明、及び/又は追加の記述データの処理から生じる結果とを使用して、スタック、スタック内の物体、及び/又はタスク実施のステータスに関する追加情報を推定できる。例えば、ロボットシステム100は、スタック内の物体の数及び/又はスタック内の物体の配置を推定できる。
寸法(高さ)の推定の例
いくつかの実施形態では、ロボットシステム100は、取得されたデータを使用して、移送物体の寸法を導出及び/又は確認できる。寸法を処理するために、ロボットシステム100は、異なる時間(例えば、一連のピック/配置の前及び/又は後)に取得された画像データのセット又はシーケンスを取得及び使用し得る。例えば、ロボットシステム100は、物体検出のためにキャプチャされた画像及び/又は他の画像(例えば、検証又は他の目的のためにキャプチャされた別個の画像)を使用して、画像間で移送されている物体の高さを導出できる。
その状況について、ロボットシステム100は、対象物体のモーションプランと一緒に、移送シーケンス及び/又はパッキング構成(例えば、タスク場所に配置されることを目標とする各物体の配置場所のセット)を導出し得る。各モーションプランは、ロボットユニット(例えば、図1の移送ユニット104、図1のロボットアームシステム132等)を操作して、対応する物体のセットを開始場所からタスク場所に移送するために使用されるコマンド及び/又は設定のセットを含み得る。したがって、モーションプランの開始部はピッキングアクションに対応でき、及び/又はモーションプランの終了部は配置アクションに対応できる。ロボットシステム100は、(例えば、コントローラとは別の、又はコントローラに含まれるプランニングデバイス/モジュールによって)配置アクションがパッキング構成に従うようにモーションプランを導出できる。さらに、モーションプランは移送シーケンスに従って順序付けできる。
ロボットシステム100は、(例えば、コントローラによって)移送シーケンスに従った移送履歴(例えば、ピック履歴及び/又は配置履歴)を使用して、モーションプランの実施を追跡できる。移送履歴は、時間の経過とともに、どの物体がどの場所からピック又は配置されたかを表すことができる。例えば、移送履歴は、物体検出情報(例えば、物体識別子及び/又は物体の推定開始場所)、物体の推定サイズ又は寸法(例えば、横寸法)、物体を移送するために使用されるモーションプランを表すプラン識別子、モーションプランの移送又は実施に関連付けられる1つ以上のタイムスタンプ、物体の推定又はプランされた配置場所/姿勢等を含み得る。
ロボットシステム100は、(例えば、移送を実施するものとは別のモジュール/プロセスを使用して)モーションプランの実施中及び/又は実施後に、追加の画像データを取得及び処理できる。ロボットシステム100は、追跡履歴を画像データと比較して、画像の時間の間に移送された物体の寸法をさらに導出又は検証できる。言い換えれば、ロボットシステム100は、追跡履歴を使用して、取得された画像に示されるように、除去された物体の横方向の座標を判定できる。
導出の例示的な例として、図5Aは開始場所の第1の画像502(例えば、先行画像データ)を示し、図5Bは開始場所の第2の画像504(例えば、後続画像データ)を示し、両方とも本技術の1つ以上の実施形態に従っている。第1の画像502及び第2の画像504は、図4A~図4Bに関して説明したように、物体402を含むスタック400の上面画像を示す。第1の画像502は1つ以上の物体をピックする前の対応する開始/タスク場所を示すことができ、第2の画像504は1つ以上の物体をピックした後の場所を示すことができる。いくつかの実施形態では、第1の画像及び第2の画像は連続的であり、タスク実施プロセス中に撮影された2つの連続した画像を表すことができる。示されるように、図5Aでは、スタック400は、物体場所1、物体場所2、及び物体場所3に物体402を含む。図5Bでは、物体場所1及び物体場所2からの物体は除去されている(例えば、パターンの塗りつぶしで示されるように、物体402-4及び物体402-5が除去されている)が、物体場所3にまだ物体がある(白い塗りつぶしとして示されている)。
ロボットシステム100は、ピックされた物体の及び/又はその周りの深度測定値(図5Bに異なる塗りつぶしを使用して示される)を比較して、移送物体の1つ以上の寸法を導出するために物体ピッキングを検証できる。示されるように、図5Aの第1の画像502は場所1にある物体402-4を示し、これは後に除去され、図5Bには示されていない。例えば、ロボットシステム100は、移送物体402-4の初期検出に対応する側面に沿った1つ以上の比較場所(例えば、物体場所1に対応する平面の場所「a」~「d」等のx平面及びy平面に沿った場所)を識別できる。いくつかの実施形態では、識別/比較された場所は、検出物体の1つ以上の角、1つ以上の縁、及び/又は中央部(例えば、所定の横方向距離だけ又はある割合の推定縁長だけ、外縁/角からオフセットされたエリア)に対応できる。ロボットシステム100は、さらに、比較の目的で、移送物体に隣接する検出物体(例えば、隣接する角又は縁)に対応する場所を識別し得る。
ロボットシステム100は、比較場所を使用して、第1の画像502及び第2の画像504等の画像の除去前後の深度測定値を比較して、除去された物体の高さ(例えば、図4A)を導出できる。しかしながら、除去された物体の下層の特徴が不明であり得るため、ロボットシステム100は、除去された物体の高さを導出するための追加プロセスを実施できる。例えば、除去された物体の下の支持層の高さが均一でない場合がある。その結果、除去された物体は、いくつかの接点(例えば、3つ以上の接点)によって支持されている場合がある。また、1つ以上の事前定義された比較場所は、支持されていない場所又はギャップと重なり得る。このような条件に未検証又は未処理の深度測定値を含むと、誤った高さの導出につながる可能性がある。
したがって、比較の目的で、ロボットシステム100は、比較場所における1つ以上の深度測定値を認定又は検証できる。例えば、ロボットシステム100は、比較点における深度測定値を互いに比較することに基づいて、深度測定値の外れ値を識別できる。ロボットシステム100は、所定の量又は割合だけ、セット内の他の測定値と異なるいずれかの外れ値の深度測定値を識別し、考察から除外できる。深度の比較及び外れ値の考察では、外れ値の比較点が支持層のギャップと重なる状況を説明できる。したがって、ロボットシステム100は、除去された物体の下のギャップを分析することから生じるエラーを除去できる。
いくつかの実施形態では、ロボットシステム100は、推定された角及び/又は中央部等の複数の比較場所(例えば、比較場所「a」~「d」、「i」等)における深度測定値の平均化に基づいて、移送物体の高さを導出できる。特に、複数の場所の深度測定値が事前定義された閾値内にあるとき、移送物体の高さが深度測定値の平均化に基づいて導出できることにより、高さを判定するためのプロセスを効率良く処理する。事前定義された閾値は、深度測定値の典型的な測定誤差に対応し得る、又はロボットシステムのオペレータによって任意に設定され得る。例えば、ロボットシステム100のオペレータは、移送物体の典型的な高さの特定の割合(例えば、2%、5%、又は10%)に閾値を設定し得る。
追加的又は代替的に、ロボットシステム100は、さらに、例えば、前後の画像にわたるCoM場所の深度測定値を比較することによって、推定されたCoM場所(例えば、図5A~図5BのCoM場所506)に基づいて高さを導出できる。ロボットシステム100は、物体検出中に移送物体が対応する登録物体と一致したとき、マスターデータからCoM場所にアクセスできる。移送物体が未認識物体であるとき、ロボットシステム100は、エンドエフェクタの力/トルクセンサからの測定値(例えば、重量測定値及び/又はトルクベクトル測定値)に基づいて、移送中(例えば、物体を持ち上げた後)の物体のCoM(例えば、平衡点に対応する範囲内の横方向座標及び/又は深度)を推定できる。推定されたCoMは、未認識物体を登録するために記憶され得る。
追加的又は代替的に、ロボットシステム100は、図5Bの物体402-4の除去後に取得される第2の画像504から支持場所を動的に識別して、その指示場所を使用して、例えば、支持物体が不規則/非平面の表面を有するとき、物体の高さを導出できる。例えば、ロボットシステム100は、物体を除去した後に露出したエリアの深度測定値を分析して、以前に覆われた表面(例えば、移送物体の下の物体の上面)の最高点のセットを判定できる。例えば、図5Bでは、点線のパターンで示されるエリアは、図5Aに示される場所1から物体402-4を移動させた後に露出する。ロボットシステム100は、1つ以上の方向/軸に沿ったCoMからの閾値距離内及び/又はCoMの反対側の場所等の、CoMに対して最高の高さに対応する横方向場所のセットを識別できる。ロボットシステム100は、対応する場所を支持点/接触点として判定できる。ロボットシステム100は、前後の画像にわたる接触点の深度測定値を比較することに基づいて高さを計算できる。
ロボットシステム100は、他の場所の測定値よりも、CoM、中央部、及び/又は支持場所の深度測定値を優先できる。例えば、ロボットシステム100は、他の場所の深度測定値を無視することによって、優先順位を付けることができ、優先された場所の測定値により高い重みを提供する、又はそれらの組み合わせを提供する。したがって、ロボットシステム100は、支持場所の高さを分析することによって、静止している除去された物体の高さの精度の向上を提供できる。言い換えれば、ロボットシステム100は、CoM及び中央部に基づいて最も可能性の高い支持場所を処理することによって、導出された高さの精度の向上を提供できる。さらに、ロボットシステム100は、CoM、中央部、及び/又は支持場所を使用して、混合物体タイプ(例えば、異なる形状及びサイズを有する複数の物体を含む混合在庫管理単位(SKU)のスタック)を有するスタック内の物体の高さを導出できる。
いくつかの実施形態では、ロボットシステム100は、第1の比較場所(例えば、図5Aの物体402-4によって元々占められた図5Bの場所1の比較場所「a」)からの第1の高さと、第2の比較場所(例えば、図5Aの物体402-4によって元々占められた図5Bの場所1の比較場所「b」)とは異なる第2の高さとを導出することによって、移送物体の高さを導出する。次に、ロボットシステムは、第1の高さと第2の高さとの差を計算できる。第1の高さと第2の高さとの差が所定の高度差閾値(例えば、測定誤差に対応する公称高度差閾値)を下回る場合、ロボットシステムは、第1の高さ及び第2の高さを平均化し、物体402-4を移送する前にその平均値を図4Aから測定された高さと比較することによって、移送物体402-4の高さを判定する。例えば、比較場所「a」及び「b」で測定された高度差が、深度測定値の測定誤差に対応する公称閾値を下回るとき、ロボットシステム100は、図5Bの場所「a」及び「b」が同一平面上の表面に対応することを判定する。そのような場合、ロボットシステムは、図5Bの比較場所「a」及び「b」で測定された高さの平均値に基づいて、移送物体の高さを判定する。第1の高さと第2の高さとの差が所定の高度差閾値を上回る場合、ロボットシステム100は、移送物体の高さを計算するために使用される第1の高さ及び第2の高さのうちの低い高さを割り当てる。例えば、比較場所「a」及び「b」で測定された高度差が公称閾値よりも大きいとき、ロボットシステム100は、図5Bの場所「a」及び「b」が同一平面上の表面に対応していないことを判定する。そのような例は、例えば、物体402-4が異なる高さを有する2つの異なる物体の上に配置されている例に対応し得る(例えば、図5Bの場所「a」はより高い高さを有する物体に対応し、場所「b」はより低い高さを有する物体に対応する)。そのような場合、ロボットシステムは、図5Bの比較場所「a」及び「b」で測定された高さのうちの低い高さに基づいて、移送物体の高さを判定する(例えば、物体402-4は、より高い高さを有する物体によって支持されている)。
いくつかの実施形態では、ロボットシステム100は、さらに、形状プリミティブに対する深度測定値の計算された差を処理し得る。例えば、ロボットシステム100は、除去された物体の横寸法及び深度測定値(複数可)の差を、1つ以上の形状プリミティブ(例えば、予想される物体の形状及びサイズ)の横寸法と比較できる。比較結果を使用して、ロボットシステム100は、(例えば、各値を物体の長さ、幅、及び高さの1つとして識別すること等によって)、様々な寸法/測定値を、固有のプリミティブ、所定の物体姿勢等に対応する以前に識別された物体にマッピングできる。
いくつかの実施形態では、ロボットシステム100は、高さを導出する前に、又は導出された高さを検証する前に、物体の安全な除去を検証する。ロボットシステム100は、開始場所に残っている及び/又はタスク場所に位置する物体の形状(例えば、物体の上面等の露出面)(例えば、図5Aの場所1に示される最上部の物体402-4の除去後に露出する図5Aの場所1における物体の形状)を分析することに基づいて、安全な除去を検証し得る。例えば、ロボットシステム100は、例えば、以前に識別された比較場所を使用して、露出表面に沿って又は露出された表面の間で1つ以上の傾斜値を計算できる。例えば、ロボットシステム100は、図5Bの2つの比較場所「a」-「b」の間の傾斜値を計算できる。ロボットシステム100は、計算された傾斜が、横方向/水平面及び/又はスタッキングルール及び/又は物体形状プリミティブに対応する他の予想される表面配向を表す所定の閾値内にあるとき、安全な除去を検証できる。所定の閾値は、例えば、深度測定値の典型的な測定誤差に対応する。例えば、所定の閾値内で計算された傾斜は、図5Bの場所1の平面に対応する傾斜がほぼゼロであることを示す。計算された傾斜が閾値内にあるとき及び/又は計算された傾斜が平面であるとき(例えば、中央部の反対側の傾斜について)、ロボットシステム100は、対応する物体(例えば、開始場所に残っている移送物体の下にある物体及び/又はタスク場所にある移送物体)は損傷がない(例えば、圧潰されておらず、元の形状を維持している)と推定し得る。計算された傾斜が閾値の範囲外にあるとき、及び/又は計算された傾斜が平面でないとき、ロボットシステム100は、対応する物体が移送中に圧潰又は損傷している場合があると推定し得る。ロボットシステム100は、圧潰された物体(複数可)の推定に応答して、高さの導出又はその検証を回避できる。
ロボットシステム100は、他の移送条件の状態を同様に検証又は判定できる。例えば、ロボットシステム100は、判定された深度測定値を使用して、意図しないマルチピックを判定でき、1つ以上の意図しない物体は対象物体の移送中に移送された又は移動した。例えば、ロボットアームは、移送プランに基づいて意図されるように単一の物体だけを把持する代わりに、開始場所で2つの物体を把持する。ロボットシステム100は、(ピック履歴によって示されるように)検出/対象物体の範囲外の深度測定値がピック/配置前後の画像にわたって異なるとき、意図しないマルチピックを判定できる。
例示の目的のために、物体の高さの計算は、開始場所の上面画像に関して説明される。しかしながら、ロボットシステム100は、異なる方法で高さを導出できることが理解される。例えば、ロボットシステム100は、同様に、タスク場所における配置前後の画像を使用して、新しく配置された物体の高さを導出できる。また、ロボットシステム100は、同様に、側面図及び/又は透視画像を使用して、1つ以上の寸法を判定できる。
操作フロー
図6は、本技術の1つ以上の実施形態による、ロボットシステムを操作するための例示的な方法600のフロー図である。方法600は、タスク実行中にキャプチャされた1つ以上の測定値(例えば、深度測定値)に基づいて推定値(例えば、物体寸法)を導出するためのものであり得る。方法600は、図2の1つ以上のプロセッサ202により、図2のストレージデバイス204の1つ以上に記憶された命令を実行することに基づいて実施できる。モーションプラン及び/又は方法600を実施する際に、プロセッサ202は、モーションプラン又はコマンド/設定の関連セット/シーケンスをロボットユニット(複数可)(例えば、図1の移送アセンブリ又は移送ユニット104及び/又は図3のエンドエフェクタ140)に送信できる。したがって、移送ユニット104及び/又はエンドエフェクタ140は、パッケージを把持及び移送するために、モーションプランを実行できる。
ブロック604において、ロボットシステム100は、開始場所及び/又は対象場所を示す初期画像データ(例えば、第1の画像502)を取得できる。ロボットシステム100は、撮像システム、センサ、及び/又はカメラ(例えば、図2に関して説明した撮像デバイス222及び/又は位置センサ224)を使用できる。取得された画像データは、物体スタック(例えば、図4Aのスタック400)及び/又は対応するプラットフォーム(例えば、配置プラットフォーム404等のビン、パレット、コンベヤ等)を示す2D画像及び/又は3D画像(例えば、深度マップ)を含み得る。
ブロック606において、ロボットシステム100は、取得された2D画像又は3D画像を処理して、示される物体を検出できる。ロボットシステム100は、取得された画像(例えば、図4Bの画像データ406)を処理して、物体スタック(例えば、物体402を含む物体スタック400)の物体の縁及び角を検出できる。ロボットシステムは、さらに、物体の検出された縁及び角を使用して、側面を識別し得る。ロボットシステム100は、縁を検出し、表面を識別し、及び/又は表面の画像をマスターデータと比較して、物体を検出できる。
ブロック610において、ロボットシステム100は、スタック内の物体のプラン(例えば、モーションプラン、移送シーケンス、パッキングプラン等)を導出できる。ロボットシステム100は、例えば、所定のルールのセットを満足する各物体の配置場所を導出すること、パッキングプランを達成するための一連の物体移送を導出すること、及び/又は配置場所/姿勢から開始場所までの潜在的な場所の反復からモーションプランを導出すること等によって、所定のプロセスに基づいてプランを導出できる。
ブロック612において、ロボットシステム100は、例えば、プランされた順序に従って(例えば、コントローラによって)モーションプランを実施することによって、スタック内の物体を移送できる。ロボットシステム100は、モーションプランを実施して、ロボットアーム及び/又はエンドエフェクタを操作し、対象物体を把持し、把持した物体を持ち上げて移送し、プランされた場所で物体を放出できる。ブロック613において、ロボットシステム100は、物体の移送中に追加データを取得できる。例えば、ロボットシステム100は、把持された物体の縁を隣接物体から分離するための初期変位を実施することに基づいて、物体の横寸法を取得できる。また、ロボットシステム100は、把持された物体を持ち上げることから生じる重量及び/又はトルクベクトルを取得できる。ロボットシステム100は、重量、トルクベクトル、グリップ場所、及び/又は物体の推定寸法を使用して、CoMを推定できる。
ブロック614において、ロボットシステム100は、物体移送中に(例えば、モーションプランの実施中に)、後続画像データを取得できる。したがって、ロボットシステム100は、物体の1つ以上のサブセットを移送する前(ブロック604)及び移送した後(ブロック614)に画像(例えば、2D画像及び/又は3D深度マップ)を取得できる。ロボットシステム100は、開始場所及び残りの物体の表現、及び/又は対象場所及び新しく配置された物体の表現を取得できる。例えば、図5Bの第2の画像504は、スタック400から少なくとも1つの物体402が除去された後の開始場所を示す後続画像を含む。
ブロック615において、ロボットシステム100は、2つの連続する画像間で移送された物体を説明する移送履歴を取得できる。移送物体を識別するために、ロボットシステム100は、初期画像データ(ブロック604)及び後続画像データ(ブロック614)に関連付けられる時間(例えば、タイムスタンプ)を判定できる。ロボットシステム100は、ストレージデバイス204にアクセスし、移送履歴の対応する時間を識別できる。ロボットシステム100は、画像間で移送された物体として、移送履歴の識別された時間の間に移送された物体を識別できる。ロボットシステム100は、さらに、移送物体の検出情報にアクセスし、物体場所(複数可)(例えば、中央部、縁、角等)及び/又は移送物体に関連付けられる他の態様(例えば、推定横寸法、既知のCoM等)を判定できる。
ブロック616において、ロボットシステム100は、取得された画像データを先行/初期画像データと比較することに基づいて、移送物体の1つ以上の寸法(例えば、物体の高さ)を導出できる。ブロック622において、ロボットシステム100は、上記で説明したように、比較場所(例えば、側面に沿った点)を判定及び/又は認定できる。比較場所の数は、物体ごとに2つ、3つ、4つ、又は5つであり得る。例えば、図5A~図5Bでは、ロボットシステム100は、図5Aの場所1を占める物体402-4の角の近くの比較場所「a」~「d」を識別している。ロボットシステム100は、図5Bの第2の画像504の比較場所「a」~「d」の深度測定値から図5Aの第1の画像502の比較場所「a」~「d」の深度測定値を抽出することによって、物体402-4の高さを判定し得る。いくつかの実施形態では、システム100は、処理を早めるために除去された物体によって最初に占められた他の場所の高さを処理しないで、比較場所だけに基づいて物体の高さを判定する。ブロック616における高さの判定は、ブロック610及びブロック612に関して説明したモーションプランに従って、モーションプランを導出して物体を移送することに並行して又は別に行うことができる。
いくつかの実施形態では、移送物体の1つ以上の寸法を導出することは、2つの隣接物体間のギャップ(例えば、図4Bの挿入図の物体402-1Aと物体402-2Aとの間のギャップ408)を識別することを含む。ギャップを識別することは、表面に沿った個別の場所(例えば、図4Bのスタック400の表面400-Aに沿った場所「n」、「n」、及び「n」)における深度測定値を判定することを含み得る。例えば、図4Bでは、場所「n」は表面402-1Aに位置決めされ、場所「n」は表面402-2Aに位置決めされ、場所「n」は表面402-1Aと表面402-2Aとの間に位置決めされる。場所「n」の深度測定値が場所「n」及び「n」の深度測定値よりも大きい(例えば、表面高さが低い)場合、ロボットシステム100は、場所「n」が、図4Bの隣接物体402-1Aと隣接物体402-2Aとの間のギャップ(例えば、ギャップ408)に対応すると判定できる。例えば、ロボットシステム100は、ギャップを囲む又は画定する縁を、マスターデータに記憶された形状テンプレート及び/又は寸法閾値のセットと比較して、1つ以上の寸法を導出できる。物体スタックが単一の在庫管理単位(SKU)(例えば、同じ形状及びサイズを有する複数の物体を含むSKU)である場合、ロボットシステム100は、識別されたギャップに基づいて、移送物体の1つ以上の寸法を判定できる。例えば、ロボットシステム100は、さらなる処理(例えば、非平面表面の分析)を行わないで、物体間の識別されたギャップに基づいて、単一のSKU物体スタックが特定の数の物体を含むと判定する。
ブロック624において、ロボットシステム100は、移送物体に関連付けられる画像領域の表面特性を判定できる。表面特性は、表面の寸法(例えば、図4Aの長さL及び幅W)、表面の形状、及び/又は表面の傾斜を含み得る。例えば、ロボットシステム100は、1つ以上の比較場所間の傾斜を計算して、その傾斜を使用して、移送物体、周囲の物体、及び/又は以前に移送物体の下にあった物体の露出面が平面又はそうでなければ予想される表面特性を有するかどうかを判定できる。ロボットシステム100は、この判定を使用して、周囲の物体又は以前に移送物体の下にあった物体が、移送物体の除去中に損傷されなかったことを検証できる。
さらに、移送物体、周囲の物体、及び/又は以前に移送物体の下にある物体の露出面が平面又はそうでなければ予想される表面特性を有さない場合、ロボットシステム100は、各々の物体が移送物体のピック中に損傷していたと判定する。例えば、図5Aは、物体402のいずれかが除去される前の物体スタック400の上面画像を含む第1の画像502を示す。図5Aは、物体402-4が場所1から除去された後の物体スタック400の上面図を含む第2の画像を示す。比較場所「a」~「d」を使用して、場所1(例えば、図5Bの点線の塗りつぶしで示される)から除去される物体402-4の下に露出した表面の傾斜を判定して、移送物体の下の表面が損傷しているかどうかを判定できる。
寸法を判定することの一部として、ロボットシステム100は、ブロック626に示されるように移送を検証できる。いくつかの実施形態では、ロボットシステム100は、画像全体の傾斜及び/又は深度の差が閾値条件/閾値(例えば、移送が成功したときの値)のセットと一致するとき、物体(複数可)の移送を検証できる。例えば、ロボットシステム100は、移送物体、周囲の物体、及び/又は以前に支持された物体が、上記で説明したように移送中に圧潰されていないと判定されたとき、移送を検証できる。
ブロック628に示されるように、検証された移送に続く寸法を導出するために、ロボットシステム100は画像全体の深度変化を計算できる。ロボットシステム100は、(例えば、移送履歴によって示されるように)移送物体に対応する比較場所の差を計算できる。いくつかの実施形態では、ロボットシステム100は、上記で説明したように、深度測定値の平均値を計算して、及び/又は特定の場所(例えば、CoM、推定された支持/接触場所、中央部等)に優先順位を付けることができる。
例えば、非平面の表面で安定するために、物体は、物体のCoMを囲む少なくとも3つの表面場所によって支持される必要がある。それによって、ロボットシステム100は、移送物体が移送される前に位置決めされた非平面に沿ってCoMを囲む3つ(又はそれ以上)の支持場所を識別することによって、移送物体の高さを計算できる。3つの支持場所が深度測定値に基づいて識別されることにより、3つの支持場所は、表面に沿って取得された全ての深度測定値の中で最も短い深度測定値を有する3つの場所に対応する。移送物体の高さは、3つの支持場所の深度測定値を平均化することによって導出できる。
ブロック630において、ロボットシステム100は、計算された深度変化を物体プリミティブ(例えば、予想される物体の形状及びサイズに対応するプリミティブ)と比較できる。ロボットシステム100は、比較に従って、移送物体の寸法又は方向に深度変化をマッピングできる。したがって、ロボットシステム100は、移送物体の深度変化及び横寸法を、物体の長さ、幅、及び高さにマッピングできる。
いくつかの実施形態では、方法600のステップ(例えば、ステップ604から630のうちの1つ以上)は、例えば、物体スタック内の複数の物体の寸法を導出し(ブロック616)、それらの物体の表面特性を判定し(ブロック624)、又はそれらの物体の移送を検証する(ブロック626)。ブロック614で取得された後続画像データは、第1の後続画像(例えば、図5Bの第2の画像504)及び第2の後続画像を含み得る。第1の後続画像は、第1の物体が物体スタック(例えば、物体402-4)から移送された後にキャプチャされ、第2の後続画像は、第2の物体が物体スタック(例えば、物体402-5)から移送された後にキャプチャされる。ロボットシステム100は、ブロック614の第1の後続画像と第1の移送物体に関するブロック604の初期画像データとを比較することによって、方法600のステップ614~630のうちの1つ以上を行い得る。ロボットシステム100は、さらに、ブロック614の第2の後続画像と第2の移送物体に関するブロック604の初期画像データとを比較することによって、方法600のブロック614~630の操作を行い得る。さらに、ブロック614で取得された後続画像データは、複数の物体(例えば、物体402-4及び402-5)が物体スタックから移送された後にキャプチャされる後続画像を含み得る。ロボットシステム100は、移送されている複数の物体のいずれかを取得するために、そのような後続画像をブロック604の初期画像データと比較することによって、方法600のブロック614~630の1つ以上の操作を行い得る。ブロック614~630の1つ以上の操作は、複数の移送物体のそれぞれに対して繰り返し行われ得る。例えば、ロボットシステム100は、最初に、第1の物体の寸法を導出し、第2の物体の寸法の導出を繰り返す等を行う。代替として、ロボットシステム100は、前の反復の後続画像(ブロック614から)を現在の反復(ブロック604の場合)の初期画像としてリセットできる。
いくつかの実施形態では、方法600の様々な態様又は部分は、異なるモジュール、プロセス、スレッド、ハードウェア回路等によって行われ得る。例えば、ブロック604~613は、反復ごとに1つ以上の物体のセットを移送するために、第1のシステム(例えば、モジュール、プロセス、スレッド、回路、又はそれらの組み合わせ)によって反復的に実施できる。第2のシステムは、ブロック614~630を並行して実施できる。第2のモジュール/プロセス/回路は、第1のシステムが物体の検出及び移送において画像を繰り返し取得するように、ブロック614の操作を使用して、2つの画像データのセット間の前後のシーケンスを確立できる。1つ以上の実施形態では、第2のシステムは、物体検出画像を使用して、タスクの状態及び物体の寸法をさらに検証するコントローラを含み得る。
実施形態
いくつかの実施形態に従って、ロボットシステムを操作する方法は、開始場所からタスク場所に物体を移送するための、開始場所及び/又はタスク場所の先行画像データ(例えば、図5Aの第1の画像)を取得することを含む。前述の画像データは、上面図(例えば、スタック400の上面図)に対応し、開始場所及び/又はタスク場所における物体スタックの高さ(例えば、図4Aの物体スタック400の高さH)に対応する第1の深度測定値を含む。本方法は、開始場所及び/又はタスク場所の後続画像データ(例えば、図5Bの第2の画像)を取得することを含み、後続画像データは、物体スタックの1つ以上の物体の移送後(例えば、物体スタックへの移送後、又は物体スタックからの移送後)の開始場所及び/又はタスク場所を描写する(例えば、図5Aに示される物体402-4は、図5Bにおいて除去されている)。後続画像データは上面図に対応し、物体スタックの1つ以上の物体の移送後の物体スタックの高さに対応する第2の深度測定値を含む。本方法は、先行画像データ及び後続画像データに基づいて、追跡履歴から少なくとも1つの移送物体及び対応する検出データを判定することを含む。例えば、ロボットシステム100は、物体402-4が開始場所からタスク場所に移送されたことを判定する。少なくとも1つの移送物体は、先行画像データと後続画像データとの間で移送された1つ以上の物体を表す。物体に対応する検出データは、物体識別子(例えば、識別子に関連付けられるコード)及び/又は開始場所における物体の推定開始場所に関する情報を含む。本方法は、追跡履歴から判定された少なくとも1つの移送物体に基づいて、1つ以上の比較場所(例えば、図5A及び図5Bの比較場所「a」~「d」)を識別することを含む。1つ以上の比較場所は、最初に又は後に少なくとも1つの移送物体によって占められる場所を表す(例えば、比較場所「a」~「d」は、図5Aの物体402-4の角に対応する)。本方法は、1つ以上の比較場所における第1の深度測定値及び第2の深度測定値を比較することに基づいて、少なくとも1つの移送物体の1つ以上の寸法を導出することを含む。例えば、1つ以上の比較場所は3つの場所を含み、1つ以上の寸法は、3つの比較場所だけにおいて第1の深度測定値及び第2の深度測定値を比較することに基づいて導出される。比較は、少なくとも1つの移送物体によって最初に占められたいずれかの他の場所を含まない。1つ以上の寸法は、少なくとも1つの移送物体の各移送物体の高さを含む。例えば、物体402-4の高さは、図5Aの比較場所「a」~「d」の深度測定値を図5Bの比較場所「a」~「d」の深度測定値から抽出することによって判定される。
いくつかの実施形態では、1つ以上の比較場所は、少なくとも1つの移送物体の各々の移送物体の角及び/又は中央部に対応する(例えば、比較場所「a」~「d」は、図5Aの物体402-4の角に対応する)。
いくつかの実施形態では、本方法は、さらに、物体スタックの1つ以上の物体の表面及び縁(例えば、図4Bの物体スタック400の表面及び縁)を識別することを含む。識別することは、追跡履歴から、先行画像データを収集するときに開始場所にあると登録された物体(例えば、物体402)に関する情報を検索することを含む。識別することは、さらに、先行画像データの物体スタックの高さに対応する第1の深度測定値(例えば、図5Aの場所「a」~「d」及び「i」~「k」に対応する深度測定値)を、先行画像データを収集するときに開始場所に登録された物体と比較して、物体スタックの1つ以上の物体の表面及び縁を識別することを含む。
いくつかの実施形態では、物体スタックの1つ以上の物体の表面又は縁を識別することは、さらに、物体スタックの高さ(例えば、図4Aの高さH)を判定することを含む。物体スタックの高さを判定することは、先行画像データから、物体スタックの同一平面上の上面に沿った個別の場所(例えば、図5Aのスタック400の上面に沿った場所「a」~「d」及び「i」~「j」)における深度測定値を判定することを含む。先行画像データは、撮像システム(例えば、図3の撮像システム160)と、先行画像データに描写される表面(例えば、画像データ406のスタック400の表面400-A)との間の距離を表す深度マップ又は点群を含む。高さを判定することは、さらに、後続画像データから、物体スタックが物体スタックの物体を移送する前に位置決めされた配置プラットフォームの上面に沿った個別の場所(例えば、配置プラットフォーム404に沿った場所「e」~「h」)の深度測定値を判定することを含む。高さを識別することは、また、物体スタックの同一平面上の上面に沿った深度測定値(例えば、場所「a」~「d」の深度測定値)と、配置プラットフォームの上面に沿った深度測定値(例えば、場所「e」~「h」の深度測定値)とを比較して、物体スタックの高さを判定することを含む。
いくつかの実施形態では、物体スタックの表面又は縁を識別することは、さらに、物体スタック内の1つ以上の物体(例えば、各々、図4Bの物体スタック400の物体402-1、402-2、及び402-3の表面402-1A、402-2A、及び402-3A)の側面の輪郭を識別することを含む。輪郭を識別することは、ロボットシステムに関連付けられるメモリから、予想される物体形状の外形に対応する汎用プリミティブを含むデータを検索することを含む。輪郭を識別することは、また、物体スタックの同一平面上の上面に沿った個別の場所(例えば、図5Aの場所「a」~「d」及び「i」~「j」)における深度測定値を汎用プリミティブと比較して、物体スタック内の1つ以上の物体の側面の輪郭を識別することを含む。
いくつかの実施形態では、1つ以上の比較場所(例えば、図5Aの場所「a」~「d」及び「i」~「j」)を識別することは、物体スタック内の1つ以上の物体の側面の識別された輪郭に基づいて、少なくとも1つの移送物体の各々の移送物体の角及び/又は中央部を識別することを含む。
いくつかの実施形態では、本方法は、さらに、物体スタックの1つ以上の物体の2つの隣接物体間のギャップ(例えば、図4Bの挿入図の物体402-1Aと物体402-2Aとの間のギャップ408)を識別することを含む。ギャップを識別することは、先行画像データから、物体スタックの表面に沿った個別の場所(例えば、図4Bのスタック400の表面400-Aに沿った場所「n」、「n」、及び「n」)における深度測定値を判定することを含む。個別の場所は、第1の場所、第2の場所、及び第3の場所を含む。第2の場所は、第1の場所及び第3の場所に隣接し、第1の場所と第3の場所との間に位置する。先行画像データは、撮像システムと先行画像データに描写される表面との間の距離を表す深度マップ又は点群を含む。本方法は、第1の場所、第2の場所、及び第3の場所における深度測定値の差を判定することを含む。本方法は、第2の場所の深度測定値が深度閾値を超えて第1の場所の深度測定値及び第3の場所の深度測定値よりも大きいという判定に従って、第2の場所が2つの隣接物体の間のギャップに対応すると判定することを含む。場所「n」の深度測定値が場所「n」及び「n」の深度測定値よりも大きい場合、ロボットシステム100は、場所「n」が、図4Bの隣接物体402-1Aと隣接物体402-2Aとの間のギャップ(例えば、ギャップ408)に対応すると判定する。
いくつかの実施形態では、物体スタックの表面又は縁を識別することは、物体スタックの表面又は縁を識別するために、開始場所の先行画像(例えば、図5Aの第1の画像502)を分析することを含む。先行画像データは、開始場所の上面図を示す視覚的な2次元画像を含む。
いくつかの実施形態では、先行画像データ及び後続画像データに基づいて少なくとも1つの移送物体を判定することは、先行画像データの第1の深度測定値と先行画像データの第2の深度測定値との差を判定することを含む。第1の深度測定値及び第2の深度測定値は、物体スタックを含む開始場所の特定のエリア(例えば、図5Aの物体402-4の位置に対応する場所1)から収集される。本方法は、閾値(例えば、典型的な測定不確実性に対応する公称閾値)を上回る、第1の深度測定値と第2の測定値との間に差があるという判定に従って、少なくとも1つの物体が開始場所で物体スタックから離れて移送されていると判定することを含む。本方法は、また、第1の深度測定値と第2の深度測定値との差が閾値を下回るという判定に従って、物体が開始場所における物体スタックの特定のエリアから離れて移送されていないと判定することを含む。
いくつかの実施形態では、少なくとも1つの移送物体に対応する検出データは、物体識別子(例えば、物体に関連付けられる識別コード等の一意の識別子)及び/又は少なくとも1つの移送物体に関連付けられる推定開始場所に関する情報を含む。
いくつかの実施形態では、追跡履歴から少なくとも1つの移送物体を判定することは、先行画像データ(例えば、図5Aの第1の画像502)に関連付けられる第1のタイムスタンプ及び後続画像データ(例えば、図5Bの第2の画像504)に関連付けられる第2のタイムスタンプを判定することを含む。本方法は、第1のタイムスタンプ及び第2のタイムスタンプを、物体がいつ移送されたかを示すタイムスタンプを含む追跡履歴と比較することを含む。例えば、ロボットシステム100は、第1のタイムスタンプと第2のタイムスタンプとの間で移送されることが予想された物体の識別を判定する。
いくつかの実施形態では、先行画像データ及び/又は後続画像データは、開始場所及び/又はタスク場所の3次元深度マップを含む。
いくつかの実施形態では、本方法は、さらに、各々の物体に関連付けられる表面特性を判定するための先行画像データ及び後続画像データにおける1つ以上の比較場所の2つの比較場所(例えば、図5A及び図5Bの場所2に対応する物体表面に沿った場所「i」及び「k」)の間の傾斜を計算することを含む。例えば、2つの比較場所は、物体402-4が物体スタック400から除去される前に、物体402-4に隣接していた場所に対応する。本方法は、先行画像データ及び後続画像データから計算された2つの比較場所間の傾斜の差が閾値内(例えば、典型的な測定不確実性に対応する公称閾値内)に留まるかどうかを判定することを含む。本方法は、また、先行画像データ及び後続画像データから計算された2つの比較場所間の傾斜の差が閾値内にとどまるとの判定に従って、各々の物体が移送後に損傷がないままであると判定することを含む。本方法は、さらに、先行画像データ及び後続画像データから計算された2つの比較場所間の傾斜の差が閾値よりも大きいという判定に従って、各々の物体が移送後に損傷したと判定することを含む。例えば、図5Bの場所2に位置決めされた物体402-5の上面の場所「i」と「k」との間で計算された傾斜が閾値よりも大きい場合、物体402-4が物体スタック400から除去された後、ロボットシステム100は物体402-5が潰れたと判定する。
いくつかの実施形態では、少なくとも1つの移送物体の各移送物体の高さを導出することは、少なくとも1つの移送物体の各々の移送物体について、第1の比較場所(例えば、図5Aの物体402-4によって元々占められていた図5Bの場所1における比較場所「a」)からの第1の高さ、第2の比較場所(例えば、図5Aの物体402-4によって元々占められていた図5Bの場所1における比較場所「b」)とは異なる第2の高さを導出することを含む。本方法は、第1の高さと第2の高さとの差を判定することを含む。本方法は、第1の高さと第2の高さとの差が所定の高度差閾値を下回るという判定に従って、第1の高さ及び第2の高さを平均化して、各々の移送物体の高さを導出することを含む。例えば、比較場所「a」及び「b」で測定された高度差が、深度測定値の測定誤差に対応する公称閾値を下回るとき、ロボットシステム100は、図5Bの場所「a」及び「b」が同一平面上の表面に対応することを判定する。そのような場合、ロボットシステムは、図5Bの比較場所「a」及び「b」で測定された高さの平均値に基づいて、移送物体の高さを判定する。本方法は、第1の高さと第2の高さとの差が所定の高度差閾値を上回るという判定に従って、第1の高さ及び第2の高さのうちの低い高さを、各々の移送物体の高さになるように割り当てることを含む。例えば、比較場所「a」及び「b」で測定された高度差が公称閾値よりも大きいとき、ロボットシステム100は、図5Bの場所「a」及び「b」が同一平面上の表面に対応していないことを判定する。そのような例は、例えば、物体402-4が異なる高さを有する2つの異なる物体の上に配置されている例に対応し得る(例えば、図5Bの場所「a」はより高い高さを有する物体に対応し、場所「b」はより低い高さを有する物体に対応する)。そのような場合、ロボットシステムは、図5Bの比較場所「a」及び「b」で測定された高さのうちの低い値に基づいて、移送物体の高さを判定する。
いくつかの実施形態では、本方法は、さらに、少なくとも1つの移送物体の各移送物体の重心(例えば、図5A~図5BのCoM場所506)を判定することを含む。重心は、少なくとも1つの移送物体の重量及び少なくとも1つの移送物体のトルクベクトルに基づいて判定される。本方法は、また、各移送物体の重心に基づいて、少なくとも1つの移送物体の1つ以上の寸法を導出することを含む。
いくつかの実施形態では、本方法は、少なくとも1つの移送物体の重心(例えば、図5A~図5BのCoM場所506)を判定することを含む。重心は、(1)各々の移送物体の重量、及び/又は(2)少なくとも1つの移送物体の移送中に測定された、少なくとも1つの移送物体の1つ以上のトルクベクトルに基づいて判定される。本方法は、重心を囲む支持場所のセット(例えば、3つ以上の支持場所)を識別することを含む。3つの支持場所は、少なくとも1つの移送物体が(例えば、移送前に)最初に位置決めされた非平面に沿った複数の深度測定値から最短の深度測定値(例えば、最高点)を有する場所に対応する。支持場所のセットは、1つ以上の空間要件に従って識別できる(例えば、CoM場所で交差する少なくとも2つの軸の反対側に位置する)。本方法は、3つの支持場所の深度測定値を平均化して、少なくとも1つの移送物体の高さを導出することを含む。本方法は、さらに、(1)少なくとも1つの移送物体の底面の傾斜又は勾配を推定することと、(2)推定された傾斜を使用して、少なくとも1つの移送物体の高さを計算することとを含み得る。
いくつかの実施形態に従って、本方法は、物体を開始場所からタスク場所に移送するための開始場所の第1の画像データ(例えば、図5Aの第1の画像502)を取得することを含む。第1の画像データは上面図に対応し、開始場所における物体スタックの高さに対応する第1の深度測定値を含む。本方法は、開始場所の第2の画像データ(例えば、図5Bの第2の画像504)を取得することを含む。第2の画像データは上面図に対応し、物体スタックの第1の物体の移送後の物体スタックの高さに対応する第2の深度測定値を含む。本方法は、開始場所の第3の画像データを取得することを含む(例えば、ロボットシステム100は、物体がスタック400から移送されている間、開始場所の画像データを連続的に取得することを繰り返す)。第3の画像データは上面図に対応し、物体スタックの第1の物体及び第2の物体の移送後の物体スタックの高さに対応する第3の深度測定値を含む。本方法は、第1の物体によって最初に占められた場所を表す比較場所の第1のセット(例えば、図4Aの物体402-4に対応する場所1における場所「a」~「d」)を識別することによって、第1の物体の高さを判定することを含む。本方法は、第1の物体によって最初に占められた場所を表す比較場所の第1のセットにおける第1の深度測定値及び第2の深度測定値を比較することに基づいて、第1の移送物体の高さを導出することを含む。本方法は、第2の物体によって最初に占められた場所を表す比較場所の第2のセット(例えば、図5Aの物体402-5に対応する場所2における場所「i」~「k」)を識別することによって、第2の物体の高さを判定することを含む。本方法は、第2の物体によって最初に占められた場所を表す比較場所の第2のセットにおける第2の深度測定値及び第3の深度測定値を比較することに基づいて、第2の移送物体の高さを導出することを含む。
いくつかの実施形態に従って、ロボットシステムは、少なくとも1つのプロセッサと、本開示のロボットシステムを操作するための方法を行うためのプロセッサ実行可能命令を含む少なくとも1つのメモリとを含む。
いくつかの実施形態に従って、非一時的コンピュータ可読媒体は、1つ以上のプロセッサによって実行されるとき、1つ以上のプロセッサに本開示のロボットシステムを操作するための方法を行わせるプロセッサ命令を含む。
結論
開示された技術の例の上記の発明を実施するための形態は、網羅的であること、又は開示された技術を上記に開示した正確な形態に限定することを意図するものではない。開示された技術の特定の例が例示の目的のために上記で説明されるが、当業者が認識するように、開示された技術の範囲内で様々な同等の修正が可能である。例えば、プロセス又はブロックが所与の順序で提示されているが、代替の実施態様は、異なる順序で、ステップを有するルーチンを行い得、又はブロックを有するシステムを使用し得、いくつかのプロセス又はブロックは、代替又は部分的な組み合わせを提供するために、削除、移動、追加、細分化、結合、及び/又は修正され得る。これらのプロセス又はブロックのそれぞれは、様々な方法で実施され得る。また、プロセス又はブロックは、時々、順番に行われるように示されているが、これらのプロセス又はブロックは、代わりに並行して行われ得るもしくは実施され得る、又は異なる時間に行われ得る。さらに、本明細書に記載される任意の特定の数は単なる例であり、代替の実施態様では、異なる値又は範囲を使用し得る。
これら及び他の変更は、上記の発明を実施するための形態を考慮して、開示された技術に対して行うことができる。発明を実施するための形態は、開示された技術の特定の例及び想到される最良の形態を説明しているが、開示された技術は、上記の説明が本文にどのように詳細に記載されていても、多くの方法で実践できる。システムの詳細は、本明細書に開示されている技術によってさらに包含されながら、特定の実施態様ではかなり異なり得る。上述したように、開示された技術の特定の特徴又は態様を説明するときに使用される特定の用語は、その用語が関連付けられる開示された技術のいずれかの特定の特性、特徴、又は態様に制限されるように、本明細書でその用語が再定義されていることを意味するものと解釈するべきではない。したがって、本発明は、添付の特許請求の範囲によるものを除き、限定されない。一般に、以下の特許請求の範囲で使用される用語は、上記の発明を実施するための形態でそのような用語を明示的に定義しない限り、開示された技術を本明細書で開示される特定の例に限定するように解釈するべきではない。
本発明の特定の態様は、下記の特定の特許請求の範囲の形態で提示されるが、出願者は、本発明の様々な態様を任意の数の請求項の形態で想到する。したがって、出願者は、本願又は継続出願のいずれかで、そのような追加の請求項の形態を追求するために、本願の出願後に追加の請求項を追求する権利を留保する。

Claims (20)

  1. ロボットシステムを操作するための方法であって、
    物体を開始場所からタスク場所に移送するための前記開始場所及び/又は前記タスク場所の先行画像データを取得することであって、前記先行画像データは上面図に対応し、前記開始場所及び/又は前記タスク場所における物体スタックの高さに対応する第1の深度測定値を含むことと、
    前記物体スタックから1つ以上の物体の移送後の前記開始場所及び/又は前記タスク場所を描写する前記開始場所及び/又は前記タスク場所の後続画像データを取得することであって、前記後続画像データは前記上面図に対応し、前記物体スタックの前記1つ以上の物体の移送後の前記物体スタックの高さに対応する第2の深度測定値を含むことと、
    前記先行画像データ及び前記後続画像データに基づいて追跡履歴から少なくとも1つの移送物体及び対応する検出データを判定することであって、前記少なくとも1つの移送物体は、前記先行画像データと前記後続画像データとの間で移送された前記1つ以上の物体を表すことと、
    前記少なくとも1つの移送物体に基づいて1つ以上の比較場所を識別することであって、前記1つ以上の比較場所は、前記少なくとも1つの移送物体によって最初に占められた場所を表すことと、
    前記1つ以上の比較場所における前記第1の深度測定値及び前記第2の深度測定値を比較することに基づいて、前記少なくとも1つの移送物体の1つ以上の寸法を導出することであって、前記1つ以上の寸法は、前記少なくとも1つの移送物体の各移送物体の高さを含むことと、
    を含む、方法。
  2. 前記1つ以上の比較場所は、前記少なくとも1つの移送物体の各々の移送物体の角及び/又は中央部に対応する、請求項1に記載の方法。
  3. 前記物体スタックの高さを判定することをさらに含み、
    前記判定することは、
    前記先行画像データから、前記物体スタックの同一平面上の上面に沿った個別の場所の深度測定値を判定することであって、前記先行画像データは、撮像システムと前記先行画像データに描写される表面との間の距離を表す深度マップ又は点群を含むことと、
    前記後続画像データから、前記物体スタックの前記物体を移送する前に、前記物体スタックが位置決めされた配置プラットフォームの上面に沿った個別の場所の深度測定値を判定することと、
    前記物体スタックの前記同一平面上の上面に沿った前記深度測定値を、前記配置プラットフォームの前記上面に沿った前記深度測定値と比較して、前記物体スタックの前記高さを判定することと、
    によって行われる、請求項1に記載の方法。
  4. 前記物体スタックの前記1つ以上の物体の2つの隣接物体間のギャップを識別することをさらに含み、
    前記識別することは、
    前記先行画像データから、前記物体スタックの表面に沿った個別の場所の深度測定値を判定することであって、前記個別の場所は、第1の場所、第2の場所、及び第3の場所を含み、前記第2の場所は前記第1の場所及び前記第3の場所に隣接し、前記第1の場所と前記第3の場所との間に位置し、前記先行画像データは、撮像システムと先行画像データに描写される表面との間の距離を表す深度マップ又は点群を含むことと、
    前記第1の場所、前記第2の場所、及び前記第3の場所における前記深度測定値の差を判定することと、
    前記第2の場所の深度測定値が深度閾値を超えて前記第1の場所の深度測定値及び前記第3の場所の深度測定値よりも大きいという判定に従って、前記第2の場所が前記2つの隣接物体の間の前記ギャップに対応すると判定することと、
    によって行われる、請求項1に記載の方法。
  5. 前記先行画像データ及び前記後続画像データに基づいて前記少なくとも1つの移送物体を判定することは、
    前記先行画像データの第1の深度測定値と前記先行画像データの前記第2の深度測定値との差を判定することであって、前記第1の深度測定値及び前記第2の深度測定値は、前記物体スタックを含む前記開始場所の特定のエリアから収集されることと、
    閾値を上回る、前記第1の深度測定値と前記第2の測定値との差があるという判定に従って、前記少なくとも1つの物体が前記開始場所で前記物体スタックから離れて移送されていると判定することと、
    を含む、請求項1に記載の方法。
  6. 前記追跡履歴から前記少なくとも1つの移送物体を判定することは、
    前記先行画像データに関連付けられる第1のタイムスタンプ及び前記後続画像データに関連付けられる第2のタイムスタンプを判定することと、
    前記第1のタイムスタンプ及び前記第2のタイムスタンプを、物体がいつ移送されているかを示すタイムスタンプを含む前記追跡履歴と比較することと、を含む、請求項1に記載の方法。
  7. 前記先行画像データ及び/又は前記後続画像データは、前記開始場所及び/又は前記タスク場所の3次元深度マップを含む、請求項1に記載の方法。
  8. 前記各々の物体に関連付けられる表面特性を判定するために、前記先行画像データ及び前記後続画像データにおける前記1つ以上の比較場所の2つの比較場所の間の傾斜を計算することと、
    前記先行画像データ及び前記後続画像データから計算された前記2つの比較場所の前記傾斜の差が閾値内にとどまるかどうかを判定することと、
    前記先行画像データ及び前記後続画像データから計算された前記2つの比較場所の前記傾斜の前記差が前記閾値内にとどまるとの判定に従って、前記各々の物体が移送後に損傷がないままであると判定することと、
    をさらに含む、請求項1に記載の方法。
  9. 前記少なくとも1つの移送物体の前記各移送物体の前記高さを導出することは、
    前記少なくとも1つの移送物体の各々の移送物体について、第1の比較場所からの第1の高さ及び第2の比較場所とは異なる第2の高さを導出することと、
    前記第1の高さと前記第2の高さとの差を判定することと、
    前記第1の高さと前記第2の高さとの前記差が所定の高度差閾値を下回るという判定に従って、前記第1の高さ及び前記第2の高さを平均化して、前記各々の移送物体の前記高さを導出することと、
    前記第1の高さと前記第2の高さとの前記差が所定の高度差閾値を上回るという判定に従って、前記第1の高さ及び前記第2の高さのうちの低い高さを、前記各々の移送物体の前記高さになるように割り当てることと、
    を含む、請求項1に記載の方法。
  10. 前記各々の移送物体の重量及び前記少なくとも1つの移送物体のトルクベクトルに基づいて、前記少なくとも1つの移送物体の重心を判定することと、
    前記重心を囲む3つの支持場所を識別することであって、前記3つの支持場所は、前記少なくとも1つの移送物体が移送される前に位置決めされた非平面上に沿った複数の深度測定値から最短の深度測定値を有する場所に対応することと、
    前記3つの支持場所の前記深度測定値を平均化して、前記少なくとも1つの移送物体の高さを導出することと、
    を含む、請求項1に記載の方法。
  11. ロボットシステムであって、
    少なくとも1つのプロセッサと、
    プロセッサ実行可能命令を含む少なくとも1つのメモリと、を含み、
    前記プロセッサ実行可能命令は、
    物体を開始場所からタスク場所に移送するための前記開始場所及び/又は前記タスク場所の先行画像データを取得することであって、前記先行画像データは上面図に対応し、前記開始場所及び/又は前記タスク場所における物体スタックの高さに対応する第1の深度測定値を含むことと、
    前記物体スタックの1つ以上の物体の移送後の前記開始場所及び/又は前記タスク場所を描写する前記開始場所及び/又は前記タスク場所の後続画像データを取得することであって、前記後続画像データは前記上面図に対応し、前記物体スタックの前記1つ以上の物体の移送後の前記物体スタックの高さに対応する第2の深度測定値を含むことと、
    前記先行画像データ及び前記後続画像データに基づいて追跡履歴から少なくとも1つの移送物体及び対応する検出データを判定することであって、前記少なくとも1つの移送物体は、前記先行画像データと前記後続画像データとの間で移送された前記1つ以上の物体を表すことと、
    前記追跡履歴から判定された前記少なくとも1つの移送物体に基づいて1つ以上の比較場所を識別することであって、前記1つ以上の比較場所は、前記少なくとも1つの移送物体によって最初に占められた場所を表すことと、
    前記1つ以上の比較場所における前記第1の深度測定値及び前記第2の深度測定値を比較することに基づいて、前記少なくとも1つの移送物体の1つ以上の寸法を導出することであって、前記1つ以上の寸法は、前記少なくとも1つの移送物体のそれぞれの高さを含むことと、
    を行うための命令である、ロボットシステム。
  12. 前記1つ以上の比較場所は、前記少なくとも1つの移送物体の各々の移送物体の角及び/又は中央部に対応する、請求項11に記載のシステム。
  13. 前記少なくとも1つのメモリは、
    前記物体スタックの前記1つ以上の物体の2つの隣接物体間のギャップを識別するためのプロセッサ実行可能命令を含み、
    前記識別することは、
    前記先行画像データから、前記物体スタックの表面に沿った個別の場所の深度測定値を判定することであって、前記個別の場所は、第1の場所、第2の場所、及び第3の場所を含み、前記第2の場所は前記第1の場所及び前記第3の場所に隣接し、前記第1の場所と前記第3の場所との間に位置し、前記先行画像データは、撮像システムと先行画像データに描写される表面との間の距離を表す深度マップ又は点群を含むことと、
    前記第1の場所、前記第2の場所、及び前記第3の場所における前記深度測定値の差を判定することと、
    前記第2の場所の深度測定値が深度閾値を超えて前記第1の場所の深度測定値及び前記第3の場所の深度測定値よりも大きいという判定に従って、前記第2の場所が前記2つの隣接物体の間の前記ギャップに対応すると判定することと、
    によって行われる、請求項11に記載のシステム。
  14. 前記少なくとも1つのメモリは、
    前記各々の物体に関連付けられる表面特性を判定するために、前記先行画像データ及び前記後続画像データにおける前記1つ以上の比較場所の2つの比較場所の間の傾斜を計算することと、
    前記先行画像データ及び前記後続画像データから計算された前記2つの比較場所の前記傾斜の差が閾値内にとどまるかどうかを判定することと、
    前記先行画像データ及び前記後続画像データから計算された前記2つの比較場所の前記傾斜の前記差が前記閾値内にとどまるとの判定に従って、前記各々の物体が移送後に損傷がないままであると判定することと、
    をさらに含む、請求項11に記載のシステム。
  15. 前記少なくとも1つのメモリは、
    前記各々の移送物体の重量及び前記少なくとも1つの移送物体のトルクベクトルに基づいて、前記少なくとも1つの移送物体の重心を判定することと、
    前記重心を囲む3つの支持場所を識別することであって、前記3つの支持場所は、前記少なくとも1つの移送物体が移送される前に位置決めされた非平面上に沿った複数の深度測定値から最短の深度測定値を有する場所に対応することと、
    前記3つの支持場所の前記深度測定値を平均化して、前記少なくとも1つの移送物体の高さを導出することと、
    を行うためのプロセッサ実行可能命令を含む、請求項11に記載のシステム。
  16. プロセッサ命令を含む非一時的コンピュータ可読媒体であって、
    前記プロセッサ命令は、1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、
    物体を開始場所からタスク場所に移送するための前記開始場所及び/又は前記タスク場所の先行画像データを取得することであって、前記先行画像データは上面図に対応し、前記開始場所及び/又は前記タスク場所における物体スタックの高さに対応する第1の深度測定値を含むことと、
    前記物体スタックの1つ以上の物体の移送後の前記開始場所及び/又は前記タスク場所を描写する前記開始場所及び/又は前記タスク場所の後続画像データを取得することであって、前記後続画像データは前記上面図に対応し、前記物体スタックの前記1つ以上の物体の移送後の前記物体スタックの高さに対応する第2の深度測定値を含むことと、
    前記先行画像データ及び前記後続画像データに基づいて追跡履歴から少なくとも1つの移送物体及び対応する検出データを判定することであって、前記少なくとも1つの移送物体は、前記先行画像データと前記後続画像データとの間で移送された前記1つ以上の物体を表すことと、
    前記追跡履歴から判定された前記少なくとも1つの移送物体に基づいて1つ以上の比較場所を識別することであって、前記1つ以上の比較場所は、前記少なくとも1つの移送物体によって最初に占められた場所を表すことと、
    前記1つ以上の比較場所における前記第1の深度測定値及び前記第2の深度測定値を比較することに基づいて、前記少なくとも1つの移送物体の1つ以上の寸法を導出することであって、前記1つ以上の寸法は、前記少なくとも1つの移送物体のそれぞれの高さを含むことと、
    を行わせる、非一時的コンピュータ可読媒体。
  17. 前記1つ以上の比較場所は、前記少なくとも1つの移送物体の各々の移送物体の角及び/又は中央部に対応する、請求項16に記載のコンピュータ可読媒体。
  18. 前記1つ以上のプロセッサに、前記物体スタックの前記1つ以上の物体の2つの隣接物体間のギャップを識別させるプロセッサ命令をさらに含み、
    前記識別することは、
    前記先行画像データから、前記物体スタックの表面に沿った個別の場所の深度測定値を判定することであって、前記個別の場所は、第1の場所、第2の場所、及び第3の場所を含み、前記第2の場所は前記第1の場所及び前記第3の場所に隣接し、前記第1の場所と前記第3の場所との間に位置し、前記先行画像データは、撮像システムと先行画像データに描写される表面との間の距離を表す深度マップ又は点群を含むことと、
    前記第1の場所、前記第2の場所、及び前記第3の場所における前記深度測定値の差を判定することと、
    前記第2の場所の深度測定値が深度閾値を超えて前記第1の場所の深度測定値及び前記第3の場所の深度測定値よりも大きいという判定に従って、前記第2の場所が前記2つの隣接物体の間の前記ギャップに対応すると判定することと、
    によって行われる、請求項16に記載のコンピュータ可読媒体。
  19. 前記1つ以上のプロセッサに、
    前記各々の物体に関連付けられる表面特性を判定するために、前記先行画像データ及び前記後続画像データにおける前記1つ以上の比較場所の2つの比較場所の間の傾斜を計算することと、
    前記先行画像データ及び前記後続画像データから計算された前記2つの比較場所の前記傾斜の差が閾値内にとどまるかどうかを判定することと、
    前記先行画像データ及び前記後続画像データから計算された前記2つの比較場所の前記傾斜の前記差が前記閾値内にとどまるとの判定に従って、前記各々の物体が移送後に損傷がないままであると判定することと、
    を行わせるプロセッサ命令をさらに含む、請求項16に記載のコンピュータ可読媒体。
  20. 前記1つ以上のプロセッサに、
    前記各々の移送物体の重量及び前記少なくとも1つの移送物体のトルクベクトルに基づいて、前記少なくとも1つの移送物体の重心を判定することと、
    前記重心を囲む3つの支持場所を識別することであって、前記3つの支持場所は、前記少なくとも1つの移送物体が移送される前に位置決めされた非平面上に沿った複数の深度測定値から最短の深度測定値を有する場所に対応することと、
    前記3つの支持場所の前記深度測定値を平均化して、前記少なくとも1つの移送物体の高さを導出することと、
    を行わせるプロセッサ命令を含む、請求項16に記載のコンピュータ可読媒体。
JP2022175047A 2021-08-09 2022-10-31 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法 Pending JP2023024980A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163231210P 2021-08-09 2021-08-09
US63/231,210 2021-08-09
US17/732,271 2022-04-28
US17/732,271 US20230041343A1 (en) 2021-08-09 2022-04-28 Robotic system with image-based sizing mechanism and methods for operating the same
JP2022097954A JP7175487B1 (ja) 2021-08-09 2022-06-17 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022097954A Division JP7175487B1 (ja) 2021-08-09 2022-06-17 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法

Publications (1)

Publication Number Publication Date
JP2023024980A true JP2023024980A (ja) 2023-02-21

Family

ID=84139561

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022097954A Active JP7175487B1 (ja) 2021-08-09 2022-06-17 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法
JP2022175047A Pending JP2023024980A (ja) 2021-08-09 2022-10-31 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2022097954A Active JP7175487B1 (ja) 2021-08-09 2022-06-17 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法

Country Status (3)

Country Link
US (1) US20230041343A1 (ja)
JP (2) JP7175487B1 (ja)
CN (1) CN115703232A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020091846A1 (en) 2018-10-30 2020-05-07 Mujin, Inc. Automated package registration systems, devices, and methods
US10369701B1 (en) 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0753054A (ja) * 1993-08-10 1995-02-28 Mitsubishi Electric Corp 自動荷卸し装置
US9102055B1 (en) * 2013-03-15 2015-08-11 Industrial Perception, Inc. Detection and reconstruction of an environment to facilitate robotic interaction with the environment
US9272417B2 (en) * 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
US11373134B2 (en) * 2018-10-23 2022-06-28 Berkshire Grey Operating Company, Inc. Systems and methods for dynamic processing of objects with data verification
WO2018230864A2 (ko) * 2017-06-14 2018-12-20 엘지전자 주식회사 외부광을 반영하여 객체의 뎁스를 센싱하는 방법 및 이를 구현하는 장치
JP6904106B2 (ja) * 2017-06-27 2021-07-14 村田機械株式会社 ピッキングシステム
JP7065632B2 (ja) * 2018-02-13 2022-05-12 Kyoto Robotics株式会社 箱状物ピッキング装置及びその方法
US11482045B1 (en) * 2018-06-28 2022-10-25 Amazon Technologies, Inc. Associating events with actors using digital imagery and machine learning
US10909694B2 (en) * 2018-07-16 2021-02-02 Accel Robotics Corporation Sensor bar shelf monitor
CN109443196B (zh) * 2018-09-28 2020-07-24 顺丰科技有限公司 一种体积测量方法及系统
WO2020091846A1 (en) * 2018-10-30 2020-05-07 Mujin, Inc. Automated package registration systems, devices, and methods
US10647528B1 (en) * 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
EP4126398A1 (en) * 2020-04-03 2023-02-08 Beumer Group A/S Pick and place robot system, method, use and sorter system
US20220157040A1 (en) * 2020-11-13 2022-05-19 Trax Technology Solutions Pte Ltd. Triggering image processing based on infrared data analysis
US20220203547A1 (en) * 2020-12-31 2022-06-30 Plus One Robotics, Inc. System and method for improving automated robotic picking via pick planning and interventional assistance
US20220305680A1 (en) * 2021-03-26 2022-09-29 Boston Dynamics, Inc. Perception module for a mobile manipulator robot

Also Published As

Publication number Publication date
JP7175487B1 (ja) 2022-11-21
CN115703232A (zh) 2023-02-17
US20230041343A1 (en) 2023-02-09
JP2023024933A (ja) 2023-02-21

Similar Documents

Publication Publication Date Title
US12002007B2 (en) Robotic system with automated package scan and registration mechanism and methods of operating the same
JP7349094B2 (ja) ピースロス管理メカニズムを有するロボットシステム
JP6765741B1 (ja) 非一時的コンピュータ可読記憶媒体、ロボットシステムを動作させる方法及び物体移送システム
JP7175487B1 (ja) 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法
JP7398662B2 (ja) ロボット多面グリッパアセンブリ及びその操作方法
JP7126667B1 (ja) 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法
JP7218881B1 (ja) 物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法
US20230071488A1 (en) Robotic system with overlap processing mechanism and methods for operating the same
CN115609569A (zh) 具有基于图像的尺寸确定机制的机器人系统及其操作方法
US20240173866A1 (en) Robotic system with multi-location placement control mechanism
US20240132303A1 (en) Robotic systems with dynamic motion planning for transferring unregistered objects
EP4395965A1 (en) Robotic system with overlap processing mechanism and methods for operating the same
CN115258510A (zh) 具有物体更新机制的机器人系统和用于操作所述机器人系统的方法
CN115570556A (zh) 具有基于深度的处理机制的机器人系统及其操作方法