JP2023016800A - 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 - Google Patents
深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 Download PDFInfo
- Publication number
- JP2023016800A JP2023016800A JP2022126375A JP2022126375A JP2023016800A JP 2023016800 A JP2023016800 A JP 2023016800A JP 2022126375 A JP2022126375 A JP 2022126375A JP 2022126375 A JP2022126375 A JP 2022126375A JP 2023016800 A JP2023016800 A JP 2023016800A
- Authority
- JP
- Japan
- Prior art keywords
- objects
- stack
- determining
- working position
- starting position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G61/00—Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/02—Control or detection
- B65G2203/0208—Control or detection relating to the transported articles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/04—Detection means
- B65G2203/041—Camera
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/04—Detection means
- B65G2203/042—Sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39102—Manipulator cooperating with conveyor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40006—Placing, palletize, un palletize, paper roll placing, box stacking
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40607—Fixed camera to observe workspace, object, workpiece, global
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
【課題】画像データを用いて、スタック内の物体の数量、ピック/配置の確認、物体破損における検出などを推定するロボットシステムを提供すること。【解決手段】ロボットシステムは、1つ以上の物体の移送前後における、開始位置の画像データ及び作業位置の画像データを取得し、1つ以上の物体の移送前後における開始位置の画像データでの表面の推定高さを表す深さ指標間の第1の深さ差(画像602、604間の深さ差)を決定し、第1の深さ差がピック確認閾値よりも大きい場合、1つ以上の物体のうちの対象物体を開始位置からピックすることに成功したことを確認する。また、1つ以上の物体の移送前後における作業位置での表面の推定高さを表す深さ指標間の第2の深さ差(画像702、704間の深さ差)を決定し、第2の深さ差が配置確認閾値よりも大きい場合、1つ以上の物体のうちの対象物体を作業位置に配置したことを確認する。【選択図】図8
Description
関連出願の相互参照
本出願は、2021年7月21日に出願された米国仮特許出願第63/224,292号の利益を主張するものであり、その全体が参照により本明細書に組み込まれる。
本出願は、2021年7月21日に出願された米国仮特許出願第63/224,292号の利益を主張するものであり、その全体が参照により本明細書に組み込まれる。
本出願は、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 IMAGE-BASED SIZING MECHANISM AND METHODS FOR OPERATING THE SAME」と題された米国特許出願第______(代理人整理番号131837.8023.US01)に関する主題も含み、その主題は参照により本明細書に組み込まれる。
本技術は一般に、ロボットシステムを対象とし、より具体的には、深さベースの処理機構を伴うロボットシステムを対象とする。
ロボット(例えば、物理的動きを自動的/自律的に実行するように構成されたマシン)は現在、多くの分野で広範囲に用いられている。例えば、ロボットを用いて、製造、梱包、搬送、及び/又は出荷などにおいて種々の作業を実行する(例えば、物体を操作又は移送する)ことができる。作業を実行する際、ロボットは人間の動きを再現することができ、その結果、本来は危険な作業又は繰り返し作業を行うのに必要な人間の関与に取って代わるか又はそれを減らすことができる。ロボットは、多くの場合、より複雑な作業を解析及び実行するために必要な人間の感度、柔軟性、及び/又は適応性を再現するのに必要な精巧さを欠く。例えば、ロボットは、限られた情報に基づいて複数の結論及び/又は一般化を推定することが難しいことが多い。したがって、結論及び/又は一般化を推定するためのロボットシステム及び技術の改善が依然として求められている。
作業実行中に取り込んだ1つ以上の測定値(例えば、深さ指標)に基づいて推定値を導き出すためのシステム及び方法について、本明細書で説明する。いくつかの実施態様では、ロボットシステムは、1つ以上の物体(例えば、箱、パッケージ、物体など)を、開始位置(例えば、パレット、貯蔵庫、コンベアなど)から作業位置(例えば、異なるパレット、貯蔵庫、コンベアなど)へ移送するように構成してもよい。ロボットシステムは、対応する物体を移送する間に開始位置及び/又は作業位置を示す画像データ(例えば、2次元(2D)及び/又は3次元(3D)画像データ)のセット又は列を取得することができる。ロボットシステムは画像データを用いて、種々の実施状態(例えば、スタック内の物体の数量、ピック/配置の確認、物体破損における検出など)を推定及び/又は導き出すことができる。
以下では、本開示の技術の十分な理解を得るために、多くの具体的な詳細について述べる。他の実施形態では、ここで導入する技術を、これらの具体的な詳細を伴わずに実施することができる。他の場合では、本開示が不必要に不明瞭になることを回避するために、良く知られた特徴(例えば、特定の機能又はルーチン)については詳細に説明しない。この説明において、「実施形態」、「一実施形態」などに言及した場合、説明している特定の特徴、構造、材料、又は特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書においてこのような語句が現れた場合、必ずしもすべてが同じ実施形態を指すわけではない。他方で、このような言及は必ずしも互いに排他的であるわけではない。さらに、1つ以上の実施形態において、特定の特徴、構造、材料、又は特性を任意の好適な方法で組み合わせることができる。当然のことながら、図に示す種々の実施形態は単に例示的な表現であり、必ずしも一定の比率では描かれていない。
周知であり、しばしばロボットシステム及びサブシステムに関連付けられるが、開示された技術のいくつかの重要な態様を不必要に不明瞭にする可能性がある構造又はプロセスを説明するいくつかの詳細は、明確にするために以下の説明には記載されていない。さらに、以下の開示では、本技術の異なる態様のいくつかの実施形態が示されているが、いくつかの他の実施形態は、本節で説明したものとは異なる構成又は異なる構成要素を有することができる。したがって、開示された技術は、追加の要素を有するか、又は以下で説明する要素のいくつかを有さない他の実施形態を有することができる。
以下で説明する本開示の多くの実施形態又は態様は、プログラム可能なコンピュータ又はコントローラによって実行されるルーチンを含む、コンピュータ実行可能命令又はコントローラ実行可能命令の形態をとることができる。当業者であれば分かるように、開示した技術は、以下で図示及び説明するもの以外のコンピュータシステム又はコントローラシステム上で実施することができる。本明細書で説明する技術は、以下に説明するコンピュータ実行可能命令のうちの1つ以上を実行するように具体的にプログラムされ、構成され、又は構築された専用コンピュータ又はデータ処理装置において具体化することができる。したがって、本明細書で全般的に用いられる用語「コンピュータ」及び「コントローラ」は任意のデータ処理装置を指し、インターネット家電及び携帯デバイス(パームトップコンピュータ、ウェアラブルコンピュータ、携帯電話又は移動電話、マルチプロセッサシステム、プロセッサベース又はプログラマブル民生用エレクトロニクス、ネットワークコンピュータ、ミニコンピュータなどを含む)を含むことができる。これらのコンピュータ及びコントローラによって処理される情報を、液晶ディスプレイ(LCD)を含む任意の適切なディスプレイ媒体で提示することができる。コンピュータ実行可能作業又はコントローラ実行可能作業を実行するための命令は、ハードウェア、ファームウェア、又はハードウェア及びファームウェアの組み合わせを含む任意の適切なコンピュータ可読媒体内又は任意の適切なコンピュータ可読媒体上に記憶することができる。命令は、例えば、フラッシュドライブ、USBデバイス、及び/又は有形の非一時的コンピュータ可読媒体を含む他の適切な媒体を含む、任意の適切なメモリデバイスに含めることができる。
「結合された」及び「接続された」という用語は、それらの派生語とともに、構成要素間の構造的関係を説明するために本明細書で使用することができる。これらの用語は、互いに同義語として意図されたものではないことを理解されたい。むしろ、特定の実施形態では、「接続された」は、2つ以上の要素が互いに直接接触していることを示すために使用することができる。文脈で明らかにされていない限り、「結合された」という用語は、2つ以上の要素が直接又は間接的に(それらの間にある他の介在要素と)互いに接触していること、2つ以上の要素が互いに(例えば、信号の送信/受信又は関数呼び出しなどの因果関係のように)連携又は相互作用していること、又はその両方を示すために使用することができる。
適切な環境
図1は、本技術の1つ以上の実施形態によりロボットシステム100が物体を搬送する例示的な環境の図である。ロボットシステム100は、1つ以上の作業を実行するように構成された1つ以上のユニット(例えば、ロボット)を含み及び/又はこれと通信することができる。物体検出/更新の態様は、種々のユニットによって実行又は実施することができる。
図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は、対象物体112を移送ユニット104に関連付けられる領域から荷積みユニット108に関連付けられる領域に移送することができ、荷積みユニット108は、対象物体112を移送ユニット104から保管場所(例えば、棚上の場所)へ(例えば、対象物体112を運搬するパレットを移動させることによって)移送することができる。作業及び関連する動きについての詳細を以下で説明する。
例示を目的として、ロボットシステム100は、出荷センターとの関連で説明されるが、ロボットシステム100は、他の環境において/他の目的のための(例えば、製造、組立て、梱包、健康管理、及び/又は他のタイプの自動化のための)作業を実行するように構成することができることが理解されよう。ロボットシステム100は、例えば、図1には示していないマニピュレータ、サービスロボット、モジュラロボットなどの他のユニットを含み及び/又はこれと通信することができることも理解されよう。例えば、いくつかの実施形態では、他のユニットとして、ケージカート又はパレットからコンベア又は他のパレット上に物体を移送するためのデパレタイジングユニット、1つの容器から別の容器へ物体を移送するための容器切替ユニット、物体を包むための梱包ユニット、物体をその1つ以上の特性に従ってグループ化するためのソーティングユニット、物体をその1つ以上の特性に従って様々に操作する(例えば、ソートする、グループ化する、及び/又は移送する)ためのピースピッキングユニット、又はそれらの組み合わせを挙げることができる。
ロボットシステム100は、移動(例えば、回転及び/又は並進変位)が得られるように接合部に接続された物理的部材又は構造部材(例えば、ロボットマニピュレータアーム)を含み及び/又はこれに結合することができる。構造部材及び接合部は、ロボットシステム100の使用/操作に応じて1つ以上の作業(例えば、把持、スピン、溶接など)を実行するように構成されたエンドエフェクタ(例えば、グリッパ)を操作するように構成された運動連鎖を形成することができる。ロボットシステム100は、対応する接合部の周りで又は接合部において構造部材を駆動又は操作する(例えば、移動及び/又は再配向する)ように構成された駆動デバイス(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマーなど)を含み及び/又はこれと通信することができる。いくつかの実施形態では、ロボットユニットは、対応するユニット/シャーシをあちらこちらに搬送するように構成された搬送モータを含むことができる。
ロボットシステム100は、構造部材を操作する、及び/又はロボットユニットを搬送するための作業を実施するために用いる情報を取得するように構成されたセンサを含み、及び/又はこれと通信することができる。センサは、ロボットシステム100の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エクスプレスバス、ハイパートランスポート又は業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、又は電気電子技術者協会(IEEE)規格1394バス(「ファイヤーワイヤー」とも言う)などのバスを含むことができる。また、例えば、ロボットシステム100は、デバイス間の有線接続を提供するためにブリッジ、アダプタ、コントローラ、又は他の信号関連デバイスを含み及び/又はこれと通信することができる。無線接続は、例えば、セルラー通信プロトコル(例えば、3G、4G、LTE、5Gなど)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、ワイヤレスフィデリティ(WIFI))、ピアツーピア又はデバイス間通信プロトコル(例えば、Bluetooth、近距離無線通信(NFC)など)、モノのインターネット(IoT)プロトコル(例えば、NB-IoT、Zigbee、Z-wave、LTE-Mなど)、及び/又は他の無線通信プロトコルに基づくことができる。
図2は、本技術の1つ以上の実施形態によるロボットシステム100の構成要素を例示するブロック図である。いくつかの実施形態では、例えば、ロボットシステム100(例えば、前述したユニット又はアセンブリ及び/又はロボットのうちの1つ以上における)は、1つ以上のプロセッサ202、1つ以上の記憶装置204、1つ以上の通信デバイス206、1つ以上の入出力デバイス208、1つ以上の駆動デバイス212、1つ以上の搬送モータ214、1つ以上のセンサ216、又はそれらの組み合わせなどの電子/電気装置を含むことができる。種々のデバイスは、有線接続及び/又は無線接続を介して互いに結合することができる。例えば、ロボットシステム100に対する1つ以上のユニット/構成要素及び/又はロボットユニットのうちの1つ以上には、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バス又はPCIエクスプレスバス、ハイパートランスポート又は業界標準アーキテクチャ(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が操作すると予想される物体に対する寸法、形状(例えば、可能な姿勢に対するテンプレート及び/又は種々の姿勢の物体を認識するためのコンピュータ生成モデル)、質量/重量情報、カラースキーム、画像、識別情報(例えば、バーコード、クィックレスポンス(QR)コード(登録商標)、ロゴなど、及び/又はその予想される位置)、予想される質量又は重量、又はそれらの組み合わせを含むことができる。いくつかの実施形態では、マスタデータとして、物体に関する操作関連情報、例えば、各物体上の質量中心(CoM)位置、1つ以上の動き/操作に対応する予想されるセンサ測定値(例えば、力、トルク、圧力、及び/又は接触測定値)、又はそれらの組み合わせを挙げることができる。ロボットシステムは、移送ロボットを制御するための圧力レベル(例えば、真空レベル、吸引レベルなど)、把持/ピックアップ領域(例えば、起動すべき真空グリッパの領域又はバンク)、及び他の記憶されたマスタデータを検索することができる。記憶装置204は物体追跡データも記憶することができる。いくつかの実施形態では、物体追跡データは、スキャン又は操作された物体のログを含むことができる。いくつかの実施形態では、物体追跡データは、1つ以上の位置(例えば、指定されたピックアップ又はドロップ位置及び/又はコンベアベルト)における物体の画像データ(例えば、写真、点群、ライブビデオフィードなど)を含むことができる。いくつかの実施形態では、物体追跡データは、1つ以上の位置における物体の位置及び/又は配向を含むことができる。
通信デバイス206は、ネットワークを介して外部又は遠隔装置と通信するように構成された回路を含むことができる。例えば、通信デバイス206は、受信器、送信器、変調器/復調器(モデム)、信号検出器、信号エンコーダ/デコーダ、コネクタポート、ネットワークカードなどを含むことができる。通信デバイス206は、1つ以上の通信プロトコル(例えば、インターネットプロトコル(IP)、無線通信プロトコルなど)により、電気信号を送り、受け取り、及び/又は処理するように構成することができる。いくつかの実施形態では、ロボットシステム100は、通信デバイス206を用いて、ロボットシステム100のユニット間で情報を交換し、及び/又は(例えば、報告、データ収集、解析、及び/又はトラブルシューティング目的で)ロボットシステム100の外部のシステム又はデバイスと情報を交換することができる。
入出力デバイス208は、人間のオペレータに情報を伝達し及び/又は人間のオペレータから情報を受け取るように構成されたユーザインターフェースデバイスを含むことができる。例えば、入出力デバイス208は、人間のオペレータに情報を伝達するためのディスプレイ210及び/又は他の出力装置(例えば、スピーカ、触覚回路、又は触覚フィードバックデバイスなど)を含むことができる。また、入出力デバイス208は、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインターフェース(UI)センサ(例えば、移動コマンドを受け取るためのカメラ)、ウェアラブル入力デバイスなどの制御装置又は受信装置を含むことができる。いくつかの実施形態では、ロボットシステム100は、入出力デバイス208を用いて、動き、作業、操作、又はそれらの組み合わせを実行するときに人間のオペレータと相互に作用することができる。
いくつかの実施形態では、コントローラ(例えば、図2のコントローラ209)は、プロセッサ202、記憶装置204、通信デバイス206、及び/又は入出力デバイス208を含むことができる。コントローラは、スタンドアローンコンポーネント又はユニット/アセンブリの一部とすることができる。例えば、ロボットシステム100の各荷下ろしユニット、移送アセンブリ、搬送ユニット、及び荷積みユニットは、1つ以上のコントローラを含むことができる。いくつかの実施形態では、単一のコントローラが複数のユニット又はスタンドアローンコンポーネントを制御することができる。
ロボットシステム100は、操作(例えば、回転及び/又は並進変位)が得られるように接合部に接続された物理的部材又は構造部材(例えば、ロボットマニピュレータアーム)を含み及び/又はこれと通信することができる。構造部材及び接合部は、ロボットシステム100の使用/操作に応じて1つ以上の作業(例えば、把持、スピン、溶接など)を実行するように構成されたエンドエフェクタ(例えば、グリッパ)を操作するように構成された運動連鎖を形成することができる。運動連鎖は、対応する接合部の周りで又は接合部において構造部材を駆動又は操作する(例えば、変位及び/又は再配向する)ように構成された駆動デバイス212(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマーなど)を含むことができる。いくつかの実施形態では、運動連鎖は、対応するユニット/シャーシをあちらこちらに搬送するように構成された搬送モータ214を含むことができる。例えば、駆動デバイス212及び搬送モータ214は、ロボットアーム、リニアスライド、又は他のロボット構成要素に接続するか又はこれらの一部とすることができる。
センサ216は、構造部材を操作するため及び/又はロボットユニットを搬送するためなどの作業を実施するために用いる情報を取得するように構成することができる。センサ216は、コントローラ、ロボットユニット(例えば、状態、状況、及び/又はその1つ以上の構造部材/接合部の場所)及び/又は周辺環境に対する1つ以上の物理特性を、検出又は測定するように構成されたデバイスを含むことができる。センサ216のいくつかの例としては、接触センサ、近接センサ、加速度計、ジャイロスコープ、力センサ、歪みゲージ、トルクセンサ、位置エンコーダ、圧力センサ、真空センサなどを挙げることができる。
いくつかの実施形態では、例えば、センサ216は、周辺環境を検出するように構成された1つ以上の撮像デバイス222(例えば、2次元及び/又は3次元撮像デバイス)を含むことができる。撮像デバイスは、カメラ(視覚カメラ及び/又は赤外線カメラを含む)、ライダーデバイス、レーダデバイス、及び/又は他の距離測定又は検出デバイスを含むことができる。撮像デバイス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は、運動連鎖(例えば、エンドエフェクタ)に印加された力を測定するように構成された1つ以上の力センサ226(例えば、重量センサ、歪みゲージ、ピエゾ抵抗センサ/圧電センサ、容量センサ、弾性抵抗センサ、及び/又は他の触覚センサ)を含むことができる。例えば、センサ216を用いて、ロボットアーム上の荷重(例えば、把持された物体)を決定することができる。力センサ226をエンドエフェクタ又はその周りに取り付けて、結果として得られる測定値が、把持された物体の重量及び/又は基準位置に対するトルクベクトルを表すように構成することができる。1つ以上の実施形態では、ロボットシステム100は、物体のトルクベクトル、重量、及び/又は他の物理的特徴(例えば、寸法)を処理して、把持された物体のCoMを推定することができる。
ロボット移送アセンブリ
図3は、本技術の1つ以上の実施形態による移送ユニット104を例示する。移送ユニット104は、撮像システム160及びロボットアームシステム132を含むことができる。撮像システム160は、デパレタイジングプラットフォーム110を伴う目標環境から取り込んだ画像データを提供することができる。ロボットアームシステム132は、ロボットアームアセンブリ139及びエンドエフェクタ140(例えば、グリッパアセンブリ)を含むことができる。ロボットアームアセンブリ139は、ピックアップ環境163に位置するスタック165内の物体のグループの上方にエンドエフェクタ140を位置付けることができる。
図3は、本技術の1つ以上の実施形態による移送ユニット104を例示する。移送ユニット104は、撮像システム160及びロボットアームシステム132を含むことができる。撮像システム160は、デパレタイジングプラットフォーム110を伴う目標環境から取り込んだ画像データを提供することができる。ロボットアームシステム132は、ロボットアームアセンブリ139及びエンドエフェクタ140(例えば、グリッパアセンブリ)を含むことができる。ロボットアームアセンブリ139は、ピックアップ環境163に位置するスタック165内の物体のグループの上方にエンドエフェクタ140を位置付けることができる。
図3に、エンドエフェクタ140が、コンベア120(例えば、コンベアベルト)の上方に位置する単一の対象物体112(例えば、パッケージ)を運搬する様子を示す。エンドエフェクタ140は、対象物体112をコンベア120上に放出することができる。また、ロボットアームシステム132は、パッケージ112a、パッケージ112b、又は両方の真上に荷下ろししたエンドエフェクタ140を位置付けることによって、パッケージ112a、112bを回収することができる。そしてエンドエフェクタ140は、真空グリップを介して、パッケージ112a、112bのうちの1つ以上を保持することができ、ロボットアームシステム132は、保持したパッケージ112a及び/又は112bをコンベア120の真上の位置まで運搬することができる。そしてエンドエフェクタ140は、パッケージ112a、112bをコンベア120上に(例えば、同時に又は順次に)放出することができる。このプロセスを任意の回数繰り返して、物体をスタック165からコンベア120に運搬することができる。
続けて図3を参照すると、デパレタイジングプラットフォーム110は、複数の対象物体112(例えば、パッケージ)を、搬送の用意ができたときに、積み重ね得る及び/又は多段化し得る任意のプラットフォーム、表面、及び/又は構造を含むことができる。撮像システム160は、デパレタイジングプラットフォーム110上のパッケージ112a、112bの画像データを取り込むように構成された1つ以上の撮像デバイス161を含むことができる。撮像デバイス161は、ピックアップ環境163又はピックアップ領域における距離データ、位置データ、ビデオ、静止画像、ライダーデータ、レーダデータ、及び/又は動きを取り込むことができる。本明細書では用語「物体」及び「パッケージ」を用いているが、用語には、限定されないが、「ケース」、「箱」、「カートン」、又はそれらの任意の組み合わせなどの把持、持上げ、搬送、及び送出が可能な任意の他の物品が含まれることに注意されたい。また、本明細書で開示する図面では多角形の箱(例えば、長方形の箱)を例示しているが、箱の形状はこのような形状に限定されず、以下に詳細に説明するように、把持、持上げ、搬送、及び送出が可能な任意の規則的又は不規則な形状が含まれる。
デパレタイジングプラットフォーム110と同様に、受取りコンベア120は、さらなる作業/操作用にパッケージ112a、112bを受け取るように指定された任意のプラットフォーム、表面、及び/又は構造を含むことができる。いくつかの実施形態では、受取りコンベア120は、さらなる操作(例えば、ソーティング及び/又は保管)用に対象物体112をある場所(例えば、放出点)から別の場所へ搬送するためのコンベアシステムを含むことができる。いくつかの実施形態では、ロボットシステム100は、目標配置場所(例えば、コンベア120)を伴う目標環境から取り込んだ画像データを得るように構成された第2の撮像システム(図示せず)を含むことができる。第2の撮像システムは、受取り/配置場所(例えば、受取りコンベア120)上のパッケージ112a、112bの画像データを取り込むことができる。
作業実施プロセス
図4Aに、本技術の1つ以上の実施形態による第1のスタック例400を例示する。図4Bに、本技術の1つ以上の実施形態による第1のスタック400を示す画像データ例406を例示する。次に、図4A及び図4Bを共に参照して、画像データ406は、開始位置(例えば、図3のデパレタイジングプラットフォーム110)における第1のスタック400の上面図を表すことができる。画像データ406は、図3の撮像システム160からの2D及び/又は3Dデータを含むことができる。
図4Aに、本技術の1つ以上の実施形態による第1のスタック例400を例示する。図4Bに、本技術の1つ以上の実施形態による第1のスタック400を示す画像データ例406を例示する。次に、図4A及び図4Bを共に参照して、画像データ406は、開始位置(例えば、図3のデパレタイジングプラットフォーム110)における第1のスタック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を、先行する画像データと言う場合がある)。例えば、スタック400の全体積を最小限にするために、物体402を最適化条件を満たすように配列してもよい。図4Aでは、物体スタック400が同一平面(又は実質的に同一平面)の上面400-Aを有するように物体402が配列されている。同一平面の上面400-Aは、互いに隣接して配列された物体402-1、402-2、及び402-3それぞれの同一平面(又は実質的に同一平面)の上面402-1A、402-2A、及び402-3Aからなる。図4Aでは、物体スタック400の寸法は、スタック高さ(HS)、スタック幅(WS)、及びスタック長さ(LS)に対応する。
いくつかの実施形態では、画像データ406は、撮像システム160の視野内での撮像システム160と物体の検出された表面/点との間の距離を表す深さマップを含むことができる。例えば、前述したように、撮像デバイス222は、深さマップ及び/又は点群に対応する画像内で検出された環境の表示を作成することができる。深さマップは、(例えば、図4Bに例示するX-Y面に沿った位置「x」、「y」及び「z」における)横平面に沿った離散点における(例えば、z方向に沿った)深さ指標を含むことができる。図4Bに例示する例の場合、画像データ406は、スタック400の上面(例えば、物体402-1、402-2、及び402-3のそれぞれの同一平面(又は実質的に同一平面)の上面402-1A、402-2A、及び402-3-A)を形成する9つの物体の同一平面の上面(例えば、マッチング深さ指標)を示すことができる。マッチング深さはスタック高さ(図4AのHs)に対応することができる。また画像データ406は、配置プラットフォーム404(例えば、点線の塗りつぶしで示すパレット)の上面に対する深さ指標を示してもよい。スタック内の物体の隣接又は当接する縁部は、3D画像データ内で容易に検出可能であってもよいし、そうでなくてもよい。スタック高さHSは、物体/スタックの対応する上面(例えば、表面400-A)と配置プラットフォームの上面(例えば、配置プラットフォーム404の上面)との間の垂直距離に対応することができる。
ロボットシステム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の周辺境界を推定することができる。例えば、特定は、画像データ406の3Dデータを解析して、スタック隅部を特定すること、スタック400の2D可視表示内の端部を特定すること(例えば、ソーベルフィルタを介して)、2D可視表示の一部をマスタデータ内の既知の物体のテンプレートと比較すること、又はそれらの組み合わせを含んでいてもよい。また、例えば、特定は、他の画像検出方法(例えば、箱及びパッケージの隅部を特定するアルゴリズムなど)を適用することを含んでいてもよい。さらに、このような画像検出方法は、物体の隅部及び端部を物体上の視覚的特徴から区別することができてもよい。例えば、ロボットシステムは、物体の表面上のフラップ、テープ、又は他の視覚的特徴を物体の実際の端部から区別することができる。
ロボットシステム100は、画像データの認識されない/一致しない部分を、1つ以上の認識されない又は予期しない物体に対応するとして処理することができる。例えば、画像データ406の認識されない部分は、不規則な形状の物体又は損傷を受けた物体に対応し得る。ロボットシステム100は、操作又は作業実施中に予期しない物体を自動的又は自律的に登録することができる。例えば、ロボットシステム100は、予期しない物体を把持するための最小実行可能領域(MVR)を導き出すことができる。ロボットシステム100はMVRを用いて、物体を把持して持ち上げ及び/又は物体を開始位置から作業位置まで移送してもよい。ロボットシステム100は、認識されない物体の実際の端部、対応する寸法(例えば、横寸法)、及び/又は可視表面画像(例えば、画像データの対応部分)を、その動きに基づいて検出することができる。例えば、ロボットシステム100は、認識されない物体を取り出し/移動させる前後で取った画像を比較して、その寸法(例えば、横寸法及び/又は高さ)を導き出すことができる。ロボットシステム100はさらに、移送中に物体の高さを決定することが、例えばクロシング/ラインセンサ及び/又はサイドビューカメラを用いて可能である。ロボットシステム100は、物体を移送する間に他の測定値又は推定値(例えば、重量、CoM位置など)を取得することができる。
ロボットシステム100は、スタックの内容を説明する追加情報(例えば、出荷マニフェスト、注文受付、作業トラッカー(例えば、取り出した/移送した物体の履歴に対応する)など)を用いて、物体(例えば、認識された及び/又は認識されない物体)を処理することができる。例えば、ロボットシステム100は、スタックの内容説明に基づいて、予想される物体の予備リストを決定することができる。物体検出中に、ロボットシステム100は、画像データを、他の物体より前に予備リスト上の物体の登録した説明と比較することができる。
ロボットシステム100は物体検出を用いることができる。これは、画像データ、マスタデータ、スタック説明、及び/又はさらなる記述データを処理して、スタック、その中の物体、及び/又は作業実施のステータスに関する追加の情報を推定することから得られる結果である。例えば、ロボットシステム100は、スタック内の物体の数及び/又はスタック内の物体の配列を推定することができる。
数量/配列推定
数量推定に対する実例として、第1のスタック400は、単一又は共通の在庫保管単位(SKU)(例えば、共通/単一タイプの物体のスタック)のセットを含むことができる。こうして、第1のスタック400内の物体402は同じ寸法、同じ表面特徴、同じ重量などを有する。
数量推定に対する実例として、第1のスタック400は、単一又は共通の在庫保管単位(SKU)(例えば、共通/単一タイプの物体のスタック)のセットを含むことができる。こうして、第1のスタック400内の物体402は同じ寸法、同じ表面特徴、同じ重量などを有する。
ロボットシステム100は、第1のスタック400の単一のSKU構造を、供給元データ、出荷マニフェスト、形状、又はスタックの概観などの1つ以上の要因に基づいて検出してもよい。検出したら、ロボットシステム100は、積み重ねられた物体402の共通性を利用して、追加情報を導き出すことができる。例えば、ロボットシステム100は、物体の1つ以上の寸法及び/又はスタックの計算された体積に基づいて、スタック400内の物体402の数を推定することができる。ロボットシステム100は、深さマップを用いて、スタック400の周辺端部及びスタック400の種々の位置における高さを決定することができる。ロボットシステム100は、共通の深さ指標(例えば、閾値範囲内の高さHO)を有するスタック400内の領域に対する横寸法(例えば、長さLO及び幅WO)を導き出すことができる。ロボットシステム100は、横寸法及び対応する高さを用いて、対応する領域の体積を計算することができる。ロボットシステム100は、スタック全体にわたる領域の計算された体積を組み合わせて全体積を計算することができる。ロボットシステム100は、全体積を1つの物体の体積(例えば、物体長さ(Lo)、物体高さ(Ho)、及び物体幅(Wo)の組み合わせた積)で除算した値に基づいて、物体の推定数を計算することができる。例えば、図4Aでは、物体スタック400の寸法は、スタック高さ(HS)、スタック幅(Ws)、及びスタック長さ(LS)に対応し、物体スタック400の体積(VS)は、VS=HSxWsxLSに対応する。物体スタックの体積は、最も外側の端部及び表面に基づいて規定され、スタック内の何らの間隔又はギャップも考慮しないことに注意されたい。物体スタック400内の個々の物体(例えば、物体402-1)の体積の寸法は、物体高さ(HO)、物体幅(WO)、物体長さ(LO)に対応し、物体の体積(VO)は、VO=HOxWOxLOに対応する。
またロボットシステム100は、混合SKUスタック(例えば、種々のタイプの物体のスタック)内の物体の数を推定することができる。混合SKUスタック内の物体は、種々の寸法、表面特徴、重量などを有してもよい。ロボットシステム100は、スタック説明、共通の高さ領域(例えば、横寸法、形状、及び/又はその高さ)、最上層に対する物体検出などの取得情報、に基づいて、積み重ねパターンを推定してもよい。ロボットシステム100は、取得情報を所定のテンプレートのセットと比較することに基づいて及び/又は取得情報を積み重ねルールのセットに対して処理することに基づいて、積み重ねパターンを推定してもよい。それに加えて又はその代わりに、ロボットシステム100は、予想されるSKUの体積を用いて、スタックの体積に一致する全体積を伴うSKU数量の組み合わせを計算することができる。
実例として、図5Aに第2のスタック例500を例示し、図5Bに、本技術の1つ以上の実施形態による第2のスタック500を示す画像データ例502を例示する。次に、図5A及び図5Bを共に参照して、第2のスタック500は、「A」、「B」及び「C」タイプの物体504を含む混合SKUスタックとすることができる。前述したように、ロボットシステム100は、画像データ、スタック高さ指標、物体検出結果、スタックの全体形状などを用いて、物体又は対応する領域のグループ化及び/又は積み重ね構成を特定することができる。
いくつかの実施形態では、所定の積み重ね構成は、パレット上の領域/カラム(図5Bで破線を用いて示す)内の1つのタイプの物体のグループ化を指示してもよい。例えば、タイプAの物体504を第1のカラム内でまとめてグループ化し、タイプBの物体504を第2のカラム内でまとめてグループ化し、タイプCの物体504を第3のカラム内でまとめてグループ化する。それに加えて又はその代わりに、出荷マニフェスト又はスタック説明は、1つ以上の所定のパターンによる物体の積み重ね構成を示してもよい。ロボットシステム100は、領域の体積を、領域の高さ及び横寸法(例えば、第1、第2、及び第3のカラムの高さ及び横寸法)を用いて、また積み重ね構成により、計算することができる。ロボットシステム100は、領域の体積を対応する物体の体積で割ることができる。代替的に、ロボットシステム100は、領域内の対応する物体に対する数量の異なる組み合わせを計算して、領域の体積に一致する組合せ体積を伴う数量の組み合わせを見つけることができる。ロボットシステム100は、各SKUに対する量を異なる領域にわたって足して、各タイプのSKUあたりの物体の総数を推定することができる。
ステータス推定
いくつかの実施形態では、ロボットシステム100は、取得データを用いて作業実施ステータスを決定することができる(例えば、物体ピッキング及び/又は配置を確認するために)。物体ピッキング/配置に対して、ロボットシステム100は、異なる時間(例えば、ピック/配置のセットの前及び/又は後)に取得した画像データのセット又は列を取得してもよい。
いくつかの実施形態では、ロボットシステム100は、取得データを用いて作業実施ステータスを決定することができる(例えば、物体ピッキング及び/又は配置を確認するために)。物体ピッキング/配置に対して、ロボットシステム100は、異なる時間(例えば、ピック/配置のセットの前及び/又は後)に取得した画像データのセット又は列を取得してもよい。
文脈に対して、ロボットシステム100は、移送手順及び/又は梱包構成(例えば、作業位置に配置することを目標とされた各物体に対する配置場所のセット)と共に対象物体に対するモーションプランを導き出してもよい。各モーションプランは、ロボットユニット(例えば、図1の移送ユニット104、図3のロボットアームシステム132など)を操作して、対応する物体のセットを開始位置から作業位置まで移送するために用いるコマンド及び/又は設定のセットを含むことができる。したがって、モーションプランの開始部分はピッキング操作に対応することができ、及び/又はモーションプランの終了部分は配置操作に対応することができる。ロボットシステム100は、配置操作が梱包構成に従うようにモーションプランを導き出すことができる。さらに、モーションプランを移送手順に従って順序付けることができる。
ロボットシステム100は、移送手順に従うピック/配置履歴を用いてモーションプランの実施を追跡することができる。履歴は、時間にわたってどの物体がどの場所でピック又は配置されたかを表すことができる。ロボットシステム100は(例えば、移送を実施するものとは別個のモジュール/プロセスを用いて)モーションプランの実施中及び/又はその後に、追加の画像データを取得及び処理することができる。ロボットシステム100は、追跡履歴を画像データと比較して、画像時間の間に起きた物体のピック/配置を確認することができる。
確認の例として、本技術の1つ以上の実施形態により、図6Aに開始位置の第1の画像602を例示し、図6Bに開始位置の第2の画像604を例示する。同様に、本技術の1つ以上の実施形態により、図7Aに作業位置の第1の画像702を例示し、図7Bに作業位置の第2の画像704を例示する。第1の画像602/702は、1つ以上の物体をピック又は配置する前の対応する開始/作業位置を示すことができ、第2の画像604/704は1つ以上の物体をピック又は配置した後の場所を示すことができる。いくつかの実施形態では、第1及び第2の画像は、順次的とすることができ、作業実施プロセス中に取った2枚の立て続けの画像を表すことができる。
例えば、第1の画像602は、何らかの物体(例えば、スタック606-1として示す)をピックする前の開始位置におけるスタックに対応するスタック606を示す。図示したように、図6Aでは、スタック606-1は物体1、2、3、及び4を含む。第2の画像604は、1つ以上の物体のセットをピックした後のスタック606(例えば、スタック606-2として示す)を示す。図示したように、図6Bは、物体1及び2がスタック606-2からピックされて(すなわち、物体1及び2は図6Bには例示していない)、物体4がずれた後のスタック606-2の状態を例示する。物体4のずれは、物体1及び/又は2をピックしたことに起因する意図しない/プランされていない事象である可能性がある。第1の画像702は、1つ以上の物体を配置した後の作業位置におけるスタックに対応するスタック706(例えば、スタック706-1として示す)を示し、第2の画像704は、1つ以上の追加の物体を配置した後のスタック706(例えば、スタック706-2として示す)を示す。図示したように、図7Aでは、スタック706-1は物体1及び2(例えば、スタック706-1上にすでに配置されている物体)を含む。図7Bはさらに、スタック706-2内にその後に配置された物体3を含む。
ロボットシステム100は、ピックした物体及び/又はその周辺において深さ指標(図6A~7Bにおいて異なる塗りつぶしを用いて例示する)を比較して、物体ピッキングを確認することができる。深さ指標の比較は、物体の上面の特定の位置における深さ指標の比較を含んでいてもよい。例えば、第1及び第2の画像602及び604間の深さ指標の差がピック確認閾値よりも大きいとき、ロボットシステム100は、対象物体のピックに成功したと判定することができる。ピック確認閾値は、物体の予想される最小高さに対応することができる。例えば、ピック場所における物体が特定の最小高さを有すると予想される。第1及び第2の画像602及び604間の深さ指標の差が特定の最小高さ以上である場合、ロボットシステム100は、対象物体のピックに成功したと判定することができる。またピック確認閾値は、個々の対象物体の予想される最小高さに対応することができる。いくつかの実施形態では、ロボットシステム100は、1つ以上の物体に対して比較位置(例えば、図6A~7Bにおいて破線を伴う円の内部の記号{a,b,c,・・・}を用いて例示した位置で、位置608-a及び608-bを含む)を特定することができる。深さマップ/画像の全体にわたって深さ指標を比較する代わりに、ロボットシステム100は比較位置において深さ指標を比較して処理効率を上げることができる。ロボットシステム100は、比較位置を、物体端部又は隅部からの閾値距離/配向又はその範囲内の位置(例えば、X-Y座標)として特定することができる。ロボットシステム100は、ピックした物体の推定される周辺端部の片側又は両側上で比較位置を特定することができる。いくつかの実施形態では、ロボットシステム100は、物体検出及び/又はMVRの推定される中心部分を含むように比較位置を特定することができる。それに加えて又はその代わりに、ロボットシステム100は、深さ指標の差を、ピックした物体の高さと比較して(例えば、物体がマスタデータ内の登録記録と一致するときに)、ピックした物体が検出物体と一致することを確認することができる。深さ指標の差がピックした物体の高さと一致したときには、ロボットシステム100はさらに、ピックが成功したこと及び/又はピックが未損傷であること(例えば、潰れた物体がないことを示す)を確認し得る。
ロボットシステム100は、各推定した物体隅部の周りの比較位置などの特定の位置において高さを比較して、周辺の物体におけるピック及び/又は変化(例えば、物体のずれ又は物体の潰れ)を確認することができる。ピック確認の例を例示するために図6A及び6Bを用いて、ロボットシステム100は、物体2{g,h,j,k}に対する比較位置における深さ指標の差、及び周辺の位置{i,l,m,n,o}における一定の深さ指標により、物体2に対する妥当なピックを検出することができる。これに対し、ロボットシステム100は、物体1に対して例示したように、比較位置(例えば、位置{a,b,c,d})及び/又は周辺の位置(例えば、{e,f,p,q})における深さ指標がピックと一致しないときに、ピック異常を検出することができる。異常検出に応じて、ロボットシステム100はさらに、深さ指標及び/又は可視画像を調べて可能性のある故障モードを判定することができる。
いくつかの実施形態では、ロボットシステム100は、物体位置(例えば、位置{a,b,c,d})に対する深さ指標が画像間で一定のままであるとき(図示せず)、ロボットシステム100が物体(例えば、物体1)のピックに失敗したと判定することができる。失敗したピックモードがなくなったときに、ロボットシステム100は、物体位置(例えば、位置{a,b,c,d})における深さ指標の差が、取り出した物体1の予想高さに一致しないときに、誤認の可能性又は物体の潰れがあると判定することができる。ロボットシステム100は、第2の画像604において取り出した物体に対する深さ指標(例えば、取り出した物体の下方に新たに露出した物体の上面を表す)が非平面パターンを有するときに、誤認であると判定することができる。他の場合には、ロボットシステム100はデータを処理して、周辺の物体がずれたか、又は下方の物体が潰れたかを判定することができる。ロボットシステム100は、取り出した物体に対応する位置(例えば、位置{c})が周辺の物体の高さに一致し、深さ指標の差が表面の異なる位置を示し、及び/又は周辺の物体の他の位置(例えば、位置{f,p,q})が、予期しない差に対応するとき、周辺の物体(例えば、図6Bの物体4)は、ずれたと判定することができる。いくつかの実施形態では、ロボットシステム100は、物体ずれをキャッシュ又は記憶して、1つ以上の対応するモーションプランを、例えばピック/把持姿勢を調整することによって、相応に調整することができる。
異常処理の追加の例(図6A及び6Bでは示さず)として、ロボットシステム100は、{a,b,c,d}における深さ指標の差が平坦面を表して、物体1の予想高さ(例えば、物体検出による)に一致しないときに、物体1の誤検出の可能性があると判定し得る。ロボットシステム100は、ピックした物体に対する{a,b,c,d}又は他の点における深さ指標の差が不規則であるか、又は平面パターンに対応しないときに、ピックした物体の下方の物体の潰れの可能性があると判定することができる。ロボットシステム100は、周辺の未ピック物体(例えば、位置{i,l,e,f})に対する深さ指標が画像間で異なり、及び/又は第2の画像604において周辺の物体の表面の高さが平面表面に対応しないとき、ピックした物体の周りの物体の潰れの可能性があると判定することができる。ロボットシステム100はさらに、ピック操作間の開始位置における深さ指標の差が、対応する配置操作間の作業位置における深さ指標の差と一致しない(例えば、より大きい)ときに、移送した物体に物体の潰れの可能性があると判定することができる。ロボットシステム100は、周辺の物体(例えば、位置{i,l,e,f})に対する深さ指標の差が周辺の物体の高さに一致し、及び/又は対応する横方向の形状/寸法が周辺の物体のそれに一致するとき、二重ピックであると判定することができる。二重ピックは、ロボットアームのエンドエフェクタが対象物体とともに1つ以上の意図しない物体を把持して移送する状況に対応する。例えば、ロボットアームが、意図した物体1とともに、物体2を意図せず把持して移送する。
ピック確認プロセスと同様に、ロボットシステム100は、作業位置における深さ指標の差を用いて、物体配置を確認し及び/又は関連付けられる失敗を決定することができる。実例に対する図7A及び7Bを用いて、ロボットシステム100は、目標とする配置位置(例えば、位置{y,z})における深さ指標の変化が物体2の予想高さと一致するときに、物体2の配置確認を判定することができる。ロボットシステム100はさらに、他の比較位置に対する深さ指標が画像702及び704間で一定のままであるときに、配置を確認し及び/又は他の故障モードをなくすことができる。ロボットシステム100は、前述したピッキング異常の場合と同様の解析を用いて、物体の潰れ、以前に配置した物体のずれ、対象物体の誤配置、対象物体の誤認などの可能性のあるエラーモードを決定することができる。
ロボットシステム100は、決定された故障モードを用いて、以後の操作を制御/実施することができる。例えば、ロボットシステム100は、移送中の物体の重量、追加の画像、更新された物体検出などの追加データを取得及び/又は解析することができる。またロボットシステム100は、プランの現在のセット(例えば、モーションプラン、梱包構成、移送手順など)を放棄すること、人間のオペレータに通知すること、エラー回復を決定/実施すること(例えば、開始/作業場所において1つ以上の物体を調整する)など新しいプロセスを決定及び開始してもよい。
操作フロー
図8は、本技術の1つ以上の実施形態によりロボットシステム(例えば、図1のロボットシステム100)を操作するための方法例800のフロー図である。本方法800は、作業実行中に取り込んだ1つ以上の測定値(例えば、深さ指標)に基づいて推定値(例えば、物体数量及び/又は実施ステータス)を導き出すためのものとすることができる。本方法800は、図2のプロセッサ202のうちの1つ以上により図2の記憶装置204のうちの1つ以上に記憶された命令を実行することに基づいて実施することができる。モーションプラン及び/又は本方法800を実施する際、プロセッサ202は、モーションプラン、又はコマンド/設定の関連するセット/手順を、ロボットユニット(複数可)(例えば、図3の移送ユニット104及び/又は図3のエンドエフェクタ140)へ送ることができる。それに応じて、移送ユニット104及び/又はエンドエフェクタ140は、モーションプランを実行してパッケージを把持及び移送することができる。
図8は、本技術の1つ以上の実施形態によりロボットシステム(例えば、図1のロボットシステム100)を操作するための方法例800のフロー図である。本方法800は、作業実行中に取り込んだ1つ以上の測定値(例えば、深さ指標)に基づいて推定値(例えば、物体数量及び/又は実施ステータス)を導き出すためのものとすることができる。本方法800は、図2のプロセッサ202のうちの1つ以上により図2の記憶装置204のうちの1つ以上に記憶された命令を実行することに基づいて実施することができる。モーションプラン及び/又は本方法800を実施する際、プロセッサ202は、モーションプラン、又はコマンド/設定の関連するセット/手順を、ロボットユニット(複数可)(例えば、図3の移送ユニット104及び/又は図3のエンドエフェクタ140)へ送ることができる。それに応じて、移送ユニット104及び/又はエンドエフェクタ140は、モーションプランを実行してパッケージを把持及び移送することができる。
ブロック802において、ロボットシステム100は、出荷マニフェスト、注文受付などのスタック説明を取得することができる。ブロック804において、ロボットシステム100は、1つ以上の対応する場所(例えば、1つ以上の作業を実行する前のt=xにおける開始位置及び/又は作業位置)を示す最初の画像データを取得することができる。ロボットシステム100は、は、画像化システム、センサ、及び/又はカメラを用いることができる。取得した画像データは、物体スタック及び/又は対応するプラットフォーム(例えば、貯蔵庫、パレット、コンベアなど)を示す2D画像及び/又は3D画像(例えば、深さマップ)を含むことができる。スタック説明は、スタックが共通のSKU(例えば、図4Aのスタック400)又は混合SKU(例えば、図5Aのスタック500)であるか否かを特定してもよい。スタック説明はさらに、スタック内の物体のグループ化に関する情報を含んでもよい。例えば、図5A及び5Bに示すように、タイプAの物体504を第1のカラム内でまとめてグループ化し、タイプBの物体504を第2のカラム内でまとめてグループ化し、及びタイプCの物体504を第3のカラム内でまとめてグループ化する。
ブロック806において、ロボットシステム100は、取得した画像を処理して、図示された物体を検出することができる。例えば、ロボットシステム100は、端部を検出し、表面を特定し、及び/又は表面の画像をマスタデータと比較して、物体を検出することができる。物体を検出することは、タイプ又はSKUを特定すること、及びその実際の場所を画像処理に基づいて推定することを含むことができる。
ブロック808において、ロボットシステム100は、最初の画像(複数可)及び/又は物体検出結果に少なくとも部分的に基づいて、物体数量を推定することができる。ロボットシステム100は、図4A~5Bに関連して前述したように、深さ指標、検出した物体の配列、物体の推定される配列、スタック内のSKUの数などに基づいて、物体数量を推定することができる。いくつかの実施形態では、ロボットシステム100は、推定した数量を用いて、例えば保管場所、保管容器、対応する移送機構などを調整するための以後の処理ステップを処理することができる。ロボットシステム100は推定した数量をさらに用いて、作業プランニング(例えば、作業手順)及び/又は作業実行/進行を確認することができる。
ブロック810において、ロボットシステム100は、スタック内の物体に対するプラン(例えば、モーションプラン、移送手順、梱包プランなど)を導き出すことができる。ロボットシステム100は、所定のプロセスに基づいてプランを導き出すことが、例えば所定のルールのセットを満たす各物体に対する配置場所を導き出し、梱包プランを実現する物体移送の手順を導き出し、及び/又は配置場所/姿勢から開始位置までの可能性のある場所を繰り返すことからモーションプランを導き出すことによって、可能である。
ブロック812において、ロボットシステム100は、スタック内の物体を移送することが、例えばプランされた手順によりモーションプランを実施することによって可能である。ブロック814において、ロボットシステム100は、物体移送(例えば、モーションプランの実施)中に以後の画像データを取得することができる。ロボットシステム100は、(例えば、図6A~7Bに関して説明したように)スタック内の物体の1つ以上のサブセットを移送する前及び/又は後の画像(例えば、2D画像及び/又は3D深さマップ)を取得することができる。ロボットシステム100は、開始位置及び残存する物体の描写及び/又は作業位置及び新たに配置された物体の描写を取得することができる。
ブロック816において、ロボットシステム100は、取得した画像データを先行する画像と比較することができる。例えば、ロボットシステム100は、1つ以上の物体を開始位置からピックした後に取得した図6Bの第2の画像604を、図6Aの第1の画像602と比較する。同様に、ロボットシステム100は、1つ以上の物体を開始位置から配置した後に取得した図7Bの第2の画像704を、図7Aの第1の画像702と比較する。例えば、ロボットシステム100は、深さ指標の比較を、例えば前述したように画像間での深さ指標の差を計算することによって行う。深さ指標の差を計算することは、図示されたスタック内の物体の表面間での深さ指標の差を計算することを含んでいてもよい。代替的に、深さ指標の差を計算することは、図示されたスタック内の物体の表面上の特定の位置(例えば、図6Aの位置{a,b,c,d,・・・})間での深さ指標の差を計算することを含んでいてもよい。
判定ブロック818において、ロボットシステム100は、比較を解析して、対応するピック及び/又は配置が確認できるか否かを判定することができる。例えば、ロボットシステム100は、前述したように、確認のために、ピック/配置された物体に関連付けられ及び/又はそれを囲む1つ以上の位置における深さ指標の変化を評価することができる。ピック/配置が確認されたら、ロボットシステム100は、最初にプランされた移送を何らの調整も伴うことなく続けることができる。ピック/配置が無効であると判定されたら、ロボットシステム100は、ブロック820において例示するようにエラーモードを決定することができる。ロボットシステム100は、深さ指標、画像、ピック履歴、又は他のデータ/結果を解析して、適切なエラーモードを、例えば、前述した物体の潰れ、物体のずれ、物体の誤検出などに対して決定することができる。
図6A及び6Bに関連して説明したように、ロボットシステム100は、周辺の物体の特定の位置(例えば、図6Aの物体隅部における比較位置)における高さを比較して、周辺の物体におけるピック及び/又は変化を確認することができる。例えば、図6A及び6Bを参照して、ロボットシステム100は、物体2に対する比較位置{g,h,j,k}における深さ指標と周辺の位置{i,l,m,n,o}における一定の深さ指標との差により、物体2に対する妥当なピックを検出してもよい。ロボットシステム100は、比較位置(例えば、位置{a,b,c,d})及び/又は周辺の位置(例えば、{e,f,p,q})における深さ指標がピックと一致しないときに、ピック異常を検出し得る。例えば、ロボットシステム100は、物体位置(例えば、物体1の位置{a,b,c,d})に対する深さ指標が画像間で一定のままであるとき、ロボットシステム100が物体(例えば、図6A及び6Bの物体1)のピックに失敗したと判定することができる。別のピック異常としては、ピックした物体の誤認を挙げることができる。例えば、ロボットシステム100は、第2の画像604において取り出した物体に対する深さ指標(例えば、取り出した物体の下方に新たに露出した物体の上面を表す)が非平面パターンを有するときに、誤認であると判定する。非平面パターンは、周辺の物体がずれた及び/又は移送した物体の下方の物体が損傷を受けたことの徴候であり得る。さらに別のピック異常としては、ピックした物体の誤検出を挙げることができる。例えば、ロボットシステム100は、移送した物体(例えば、物体1における位置{a,b,c,d})における深さ指標の差が、移送した物体の予想高さ(例えば、物体検出による)に一致しない平坦面を表すときに、移送した物体の誤検出であると判定してもよい。またロボットシステム100は、周辺の物体(例えば、図6Bの位置{i,l,e,f})に対する深さ指標の差が周辺の物体の高さに一致し、及び/又は対応する横方向の形状/寸法が周辺の物体のそれに一致するときに、二重ピックであると判定してもよい。これは、移送した物体とともに、周辺の物体が意図せず取り出されたことを示す。
ブロック822において、ロボットシステム100は、決定されたエラーモードによりエラー応答を実施することができる。ロボットシステム100は、所定のセットのルールによりエラー応答を実施することができる。実施する応答には、人間のオペレータに通知すること、移送プランを放棄すること、及び/又はエラー回復プロセスを実施することを含めることができる。いくつかのエラー回復プロセス例としては、物体を再検出すること、移送を再プランニングすること、物体を再把持すること、ずれた物体を再び積み重ねること、障害物又は潰れた物体を取り除くことなどを挙げてもよい。ロボットシステム100は、回復プロセスが成功したとき及び/又は検出したエラーモードが実施を継続するための条件を表すときに、物体の移送を実施することを続けてもよい。いくつかの実施形態では、ロボットシステムは、例えば、ずれた物体に対する距離及び/又は姿勢の変化を計算することによって、差をキャッシュすることができる。ロボットシステムは、計算した変化指標により、対応するモーションプランを調整することが、例えば、アプローチ及び把握位置を変えることによって可能である。ロボットシステムは、調整したモーションプランを用いて、物体の移送を続けることができる。
実施形態
いくつかの実施形態により、ロボットシステム(例えば、図1のロボットシステム100)を操作する方法は、開始位置における物体スタックから作業位置における物体スタックまで物体を移送するための、開始位置の画像データ(例えば、図6A及び6Bに関して説明した画像602及び604)、及び作業位置の画像データ(例えば、図7A及び7Bに関して説明した画像702及び704)を取得することを含む。画像データは、開始位置から作業位置までの1つ以上の物体の移送を描写する画像列を含む。画像列は、1つ以上の物体を移送する前の開始位置及び作業位置を描写する第1の画像セット(例えば、図6A及び7A)と、1つ以上の物体を移送した後の開始位置及び作業位置を描写する第2の画像セット(例えば、図6B及び7B)とを含む。画像データは、画像列内の各画像から決定された深さ指標を含む。深さ指標は、開始位置における表面の推定高さと作業位置における表面の推定高さとを表す(例えば、図6A~7Bの異なる塗りつぶしを用いて例示した推定高さ)。本方法は、第1の画像セット及び第2の画像セットにおける開始位置での表面の推定高さを表す深さ指標間の第1の深さ差(例えば、図6A及び6Bにおける位置{g,h,j,k}での第1の画像602及び第2の画像604間の深さ差)を決定することを含む。本方法は、第1の深さ差がピック確認閾値よりも大きいという判定に応じて、1つ以上の物体のうちの対象物体を開始位置からピックすることに成功した(例えば、物体2を開始位置からピックした)ことを確認することを含む。本方法は、第1の画像セット及び第2の画像セットにおける作業位置での表面の推定高さを表す深さ指標間の第2の深さ差(例えば、図7A及び7Bにおける位置{y,z}での第1の画像702及び第2の画像704間の深さ差)を決定することを含む。本方法は、第2の深さ差が配置確認閾値よりも大きいという判定に応じて、1つ以上の物体のうちの対象物体を作業位置に配置した(例えば、物体2を作業位置に配置した)ことを確認することを含む。例えば、1つ以上の物体のうちの対象物体が、モーションプランによる対象物体に対する作業位置に配置された。配置確認閾値は、前述したピック確認閾値と同様に、物体の予想される最小高さに対応することができる。例えば、移送した物体は特定の最小高さを有すると予想される。第1及び第2の画像702及び704間の異なる深さ方向の指標が特定の最小高さ以上である場合、ロボットシステム100は、対象物体を作業位置に配置することに成功したと判定することができる。また配置確認閾値は、個々の移送した物体の予想される最小高さに対応することができる。
いくつかの実施形態により、ロボットシステム(例えば、図1のロボットシステム100)を操作する方法は、開始位置における物体スタックから作業位置における物体スタックまで物体を移送するための、開始位置の画像データ(例えば、図6A及び6Bに関して説明した画像602及び604)、及び作業位置の画像データ(例えば、図7A及び7Bに関して説明した画像702及び704)を取得することを含む。画像データは、開始位置から作業位置までの1つ以上の物体の移送を描写する画像列を含む。画像列は、1つ以上の物体を移送する前の開始位置及び作業位置を描写する第1の画像セット(例えば、図6A及び7A)と、1つ以上の物体を移送した後の開始位置及び作業位置を描写する第2の画像セット(例えば、図6B及び7B)とを含む。画像データは、画像列内の各画像から決定された深さ指標を含む。深さ指標は、開始位置における表面の推定高さと作業位置における表面の推定高さとを表す(例えば、図6A~7Bの異なる塗りつぶしを用いて例示した推定高さ)。本方法は、第1の画像セット及び第2の画像セットにおける開始位置での表面の推定高さを表す深さ指標間の第1の深さ差(例えば、図6A及び6Bにおける位置{g,h,j,k}での第1の画像602及び第2の画像604間の深さ差)を決定することを含む。本方法は、第1の深さ差がピック確認閾値よりも大きいという判定に応じて、1つ以上の物体のうちの対象物体を開始位置からピックすることに成功した(例えば、物体2を開始位置からピックした)ことを確認することを含む。本方法は、第1の画像セット及び第2の画像セットにおける作業位置での表面の推定高さを表す深さ指標間の第2の深さ差(例えば、図7A及び7Bにおける位置{y,z}での第1の画像702及び第2の画像704間の深さ差)を決定することを含む。本方法は、第2の深さ差が配置確認閾値よりも大きいという判定に応じて、1つ以上の物体のうちの対象物体を作業位置に配置した(例えば、物体2を作業位置に配置した)ことを確認することを含む。例えば、1つ以上の物体のうちの対象物体が、モーションプランによる対象物体に対する作業位置に配置された。配置確認閾値は、前述したピック確認閾値と同様に、物体の予想される最小高さに対応することができる。例えば、移送した物体は特定の最小高さを有すると予想される。第1及び第2の画像702及び704間の異なる深さ方向の指標が特定の最小高さ以上である場合、ロボットシステム100は、対象物体を作業位置に配置することに成功したと判定することができる。また配置確認閾値は、個々の移送した物体の予想される最小高さに対応することができる。
いくつかの実施形態では、本方法はさらに、開始位置及び/又は作業位置における物体スタック内の物体の数量を推定することを含む。推定は、画像データ(例えば、図5Bの画像データ502)に基づいて、物体スタック(例えば、物体スタック500)の周辺端部及び物体スタックの高さ(例えば、高さHS)を決定することを含む。本方法は、周辺端部及び物体スタックの高さに基づいて物体スタックの体積を導き出すことを含む。本方法は、物体スタック内の別個の領域(例えば、タイプAの物体504を含む第1のカラム、タイプBの物体504を含む第2のカラム、及びタイプCの物体504を含む第3のカラムに対応する別個の領域)に対する横寸法を決定することを含む。別個の領域の表面は、1つ以上の横方向間での高さの変化において共通の高さ又は線状パターンを有する。本方法は、別個の領域(例えば、図5Bの破線で例示した横方向の水平表面)に対する横寸法及び周辺の垂直表面の対応する推定高さに基づいて、物体スタック内の個々の別個の領域の体積を決定することを含む。本方法は、物体スタックの導き出した体積及び物体スタック内の個々の別個の領域に対応する体積に基づいて、物体スタック内の物体の数量に対する推定値を導き出すことを含む。
いくつかの実施形態では、物体スタック内の物体の数量を推定することはさらに、物体スタックの積み重ねパターンを推定することを含む。推定は、物体スタックの決定した周辺端部、物体スタックの体積、及び物体スタック内の別個の領域に対する横寸法を、所定のテンプレートのセット及び/又は積み重ねルールのセット(例えば、ロボットシステム100のマスタデータは、所定のテンプレート及び/又は積み重ねルールのセットに関するデータを含む)と比較することによって行う。本方法は、積み重ねパターン及び物体スタックの体積に基づいて、物体スタック内の物体の数量に対する推定値を導き出すことを含む。物体スタック内の物体は種々の寸法の物体を含む(例えば、タイプA、B、及びCの物体504は形状及び/又はサイズが異なる)。
いくつかの実施形態では、本方法はさらに、物体スタック内の物体の数量に対する推定値を、開始位置から作業位置へ移送された1つ以上の物体を特定する追跡履歴データ(例えば、ロボットシステム100のマスタデータの追跡履歴)と比較して、追跡履歴データが正確であるか否かを確認することを含む。
いくつかの実施形態では、本方法はさらに、第2の深さ差が配置確認閾値より小さいという判定により、1つ以上の物体のうちの対象物体を作業位置に配置することに成功しなかったと判定することを含む。
いくつかの実施形態では、本方法は、画像データに基づいて対象物体の寸法を導き出すこと、及び対象物体の導き出した寸法を以前に移送された物体を特定する追跡履歴データと比較することを含む。導き出した寸法が以前に移送された物体の寸法と異なっているとき、本方法は、対象物体の導き出した寸法が移送が予想される特定した1つ以上の物体に対応しないという判定により、対象物体が誤認されていると判定することを含む。
いくつかの実施形態では、本方法は、画像データから、開始位置でのピックに成功したと確認された(例えば、図6A及び6Bは、個々のスタック606-1及び606-2間での物体2の取り出しを例示する)対象物体の周辺端部を推定することを含む。本方法は、対象物体の周辺端部に隣接する(開始位置における)比較位置を特定することを含む。比較位置は、対象物体に隣接して位置する物体に対応する(例えば、図6Bの物体3に対応する比較位置{m,n})。本方法は、対象物体が開始位置からピックされる前後の比較位置における推定高さを比較して、比較位置に対応する物体に異常があるか否かを特定することを含む。
いくつかの実施形態では、本方法はさらに、対象物体がピックされる前後の比較位置における推定高さ間の差が、対象物体に隣接して当初に位置していた隣接物体の高さに対応すると判定することを含む。このような判定に応じて、本方法は、隣接物体が意図せず対象物体とともにピックされたと判定することを含む。
いくつかの実施形態では、本方法はさらに、対象物体がピックされる前後の比較位置における推定高さの差を決定することを含む。このような差が最小高さ変化要求よりも大きく、及び/又は対象物体がピックされる前後の比較位置における推定高さが平面表面に対応しないという判定に応じて、本方法は、対象物体に隣接する物体が損傷を受けたと判定することを含む。最小高さ変化要求は、異なる画像(例えば、異なる時点)間の高さの差を処理の重要性があると分類するための閾値に対応することができる。言い換えれば、ロボットシステム100は、最小高さ変化要求を、測定ノイズ又は他のそれほど著しくない高さ変化を遮断するフィルタとして用いることができる。それに応じて、最小高さ変化要求は、2つの異なる画像から決定した物体の推定高さの差に対する典型的な測定誤差(例えば、標準偏差又は平均偏差)をわずかに上回る値に対応してもよい。例えば、第1の差が最小高さ変化要求の範囲内であるとき、システムは第1の差が測定誤差に対応すると判定することができる。第1の差が最小高さ変化要求よりも大きいとき、システムは隣接物体がその位置からずれたと判定することができる。
いくつかの実施形態では、比較位置は、比較位置の第1のサブセット(例えば、図6Bの比較位置{p,q})、及び比較位置の第2のサブセット(例えば、比較位置{e,f})を含む。比較位置の第1及び第2のサブセットは、対象物体に隣接して位置する隣接物体の表面に関連付けられる。本方法はさらに、対象物体がピックされる前後の比較位置の第1のサブセットにおける推定高さ間の第1の差と、対象物体がピックされる前後の比較位置の第2のサブセットにおける推定高さ間の第2の差とを決定することを含む。本方法は、第1の差が最小高さ変化要求の範囲内であり、かつ、第2の差が最小高さ変化要求よりも大きいという判定に応じて、隣接物体がずれた(例えば、物体1を取り出す間に物体4がずれた)と判定することを含む。
いくつかの実施形態によると、ロボットシステム(例えば、図1のロボットシステム100)は、少なくとも1つのプロセッサ(例えば、図2のプロセッサ202)、及びプロセッサ命令を含む少なくとも1つのメモリ(例えば、記憶装置204)を含む。プロセッサ命令は、実行されると、少なくとも1つのプロセッサに本明細書で説明した方法を行わせる。
いくつかの実施形態によると、非一時的コンピュータ可読媒体(例えば、記憶装置204)がプロセッサ命令を含み、プロセッサ命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに本明細書で説明する方法を行わせる。
結論
開示された技術の実施例の上記の詳細な説明は、網羅的であること、又は開示された技術を上記で開示された正確な形態に限定することを意図するものではない。開示された技術の特定の実施例が例示の目的で上記で説明されているが、当業者が認識するように、開示された技術の範囲内で様々な同等の修正が可能である。例えば、プロセス又はブロックが所与の順序で提示されているが、代替的な実施態様は、ステップを有するルーチンを実行してもよく、又はブロックを有するシステムを異なる順序で使用してもよく、いくつかのプロセス又はブロックは、代替又は部分的な組み合わせを提供するために、削除、移動、追加、細分、結合、及び/又は変更されてもよい。これらのプロセス又はブロックのそれぞれは、様々な方法で実施されてもよい。また、プロセス又はブロックは、時には直列に実行されるように示されているが、これらのプロセス又はブロックは、代わりに、並列に実行又は実施されてもよく、又は異なる時間に実行されてもよい。さらに、本明細書でに記載されている任意の特定の数は単なる実施例であり、代替的な実施態様では、異なる値又は範囲を使用してもよい。
開示された技術の実施例の上記の詳細な説明は、網羅的であること、又は開示された技術を上記で開示された正確な形態に限定することを意図するものではない。開示された技術の特定の実施例が例示の目的で上記で説明されているが、当業者が認識するように、開示された技術の範囲内で様々な同等の修正が可能である。例えば、プロセス又はブロックが所与の順序で提示されているが、代替的な実施態様は、ステップを有するルーチンを実行してもよく、又はブロックを有するシステムを異なる順序で使用してもよく、いくつかのプロセス又はブロックは、代替又は部分的な組み合わせを提供するために、削除、移動、追加、細分、結合、及び/又は変更されてもよい。これらのプロセス又はブロックのそれぞれは、様々な方法で実施されてもよい。また、プロセス又はブロックは、時には直列に実行されるように示されているが、これらのプロセス又はブロックは、代わりに、並列に実行又は実施されてもよく、又は異なる時間に実行されてもよい。さらに、本明細書でに記載されている任意の特定の数は単なる実施例であり、代替的な実施態様では、異なる値又は範囲を使用してもよい。
上記の発明を実施するための形態を踏まえて、開示された技術には、これらの変更及びその他の変更を加えることができる。詳細な説明は、開示された技術の特定の実施例ならびに考えられるベストモードを説明しているが、開示された技術は、上記の説明が本文にどのように詳細に記載されていても、多くの方法で実施することができる。システムの詳細は、本明細書に開示されている技術によって包含されながら、特定の実施態様ではかなり異なり得る。上述したように、開示された技術の特定の特徴又は態様を説明するときに使用される特定の用語は、その用語が関連付けられている開示された技術の特定の特性、特徴、又は態様に制限されるように、本明細書でその用語が再定義されていることを意味するものと解釈されるべきではない。したがって、本発明は、添付の特許請求の範囲によるものを除き、限定されない。一般に、以下の特許請求の範囲で使用される用語は、上記の詳細な説明の節でそのような用語を明示的に定義しない限り、開示された技術を本明細書で開示される特定の実施例に限定するように解釈されるべきではない。
本発明の特定の態様は、以下に特定の特許請求の範囲の形態で提示されるが、出願人は本発明の様々な態様を任意の数の特許請求の範囲の形態で検討する。したがって、本出願人は、本願又は継続出願のいずれかで、そのような付加的な特許請求の範囲の形態を追求するために、本願を出願した後に付加的な特許請求の範囲を追求する権利を留保する。
Claims (20)
- ロボットシステムを操作する方法であって、
物体を開始位置における物体スタックから作業位置における物体スタックまで移送するための、前記開始位置及び前記作業位置の画像データを取得することであって、前記画像データは、1つ以上の物体を前記開始位置から前記作業位置まで移送することに対応する画像列を含み、前記画像列は、前記1つ以上の物体を移送する前の前記開始位置及び前記作業位置を描写する第1の画像セットと、前記1つ以上の物体を移送した後の前記開始位置及び前記作業位置を描写する第2の画像セットと、を含み、前記画像データは、前記開始位置における表面の推定高さと前記作業位置における表面の推定高さとを表す深さ指標を含むことと、
前記第1の画像セット及び前記第2の画像セット内の前記開始位置における前記表面の前記推定高さを表す深さ指標間の第1の深さ差を決定することと、
前記第1の深さ差がピック確認閾値よりも大きいという判定に応じて、前記1つ以上の物体のうちの対象物体が前記開始位置から移送されたことを確認することと、
前記第1の画像セット及び前記第2の画像セット内の前記作業位置における前記表面の前記推定高さを表す深さ指標間の第2の深さ差を決定することと、
前記第2の深さ差が配置確認閾値よりも大きいという判定に応じて、前記1つ以上の物体のうちの前記対象物体が前記作業位置に配置されたことを確認することと、
を含む、方法。 - 前記開始位置及び/又は前記作業位置における前記物体スタック内の物体の数量を推定することをさらに含み、
この推定は、
前記画像データに基づいて、前記物体スタックの周辺端部及び前記物体スタックの高さを決定することと、
前記物体スタックの前記周辺端部及び前記高さに基づいて、前記物体スタックの体積を導き出すことと、
前記物体スタック内の別個の領域に対する横寸法を決定することであって、前記別個の領域の表面は、1つ以上の横方向間での前記高さの変化において共通の高さ又は線状パターンを有することと、
前記別個の領域に対する前記横寸法及び周辺の垂直表面の対応する推定高さに基づいて、前記物体スタック内の個々の別個の領域の体積を決定することと、
前記物体スタックの前記導き出した体積及び前記物体スタック内の前記個々の別個の領域に対応する前記体積に基づいて、前記物体スタック内の物体の前記数量に対する推定値を導き出すことと、
により行う請求項1に記載の方法。 - 前記物体スタック内の物体の前記数量を推定することは、
前記物体スタックの前記決定した周辺端部、前記物体スタックの前記体積、及び前記物体スタック内の前記別個の領域に対する前記横寸法を、所定のテンプレートのセット及び/又は積み重ねルールのセットと比較することによって、積み重ねパターンを推定することと、
前記積み重ねパターン及び前記物体スタックの前記体積に基づいて、前記物体スタック内の物体の前記数量に対する推定値を導き出すことであって、前記物体スタック内の前記物体は種々の寸法の物体を含むことと、
をさらに含む請求項2に記載の方法。 - 前記物体スタック内の物体の前記数量に対する前記推定値を、前記開始位置から前記作業位置へ移送された1つ以上の物体を特定する追跡履歴データと比較して、前記追跡履歴データが正確であるか否かを確認することをさらに含む請求項3に記載の方法。
- 前記第2の深さ差が前記配置確認閾値よりも小さいという判定に応じて、前記1つ以上の物体のうちの前記対象物体が前記作業位置に配置されなかったと判定することをさらに含む請求項1に記載の方法。
- 前記画像データに基づいて、前記対象物体の寸法を導き出すことと、
前記対象物体の前記導き出した寸法を、以前に移送された物体を特定する追跡履歴データと比較することと、
前記導き出した寸法が前記以前に移送された物体の寸法と異なるときに、前記対象物体が誤認されたと判定することと、
をさらに含む請求項1に記載の方法。 - 前記画像データから、前記開始位置から移送されたと確認された前記対象物体の周辺端部を推定することと、
前記開始位置において、前記対象物体の前記周辺端部に隣接する比較位置を特定することであって、前記比較位置は、前記対象物体に隣接して位置する物体に対応することと、
前記対象物体が前記開始位置から移送される前及び後の前記比較位置における推定高さを比較して、前記比較位置に対応する物体に異常があるか否かを特定することと、
をさらに含む請求項1に記載の方法。 - 前記対象物体が移送される前及び後の前記比較位置における前記推定高さ間の差が、前記対象物体に隣接して当初に位置する隣接物体の高さに対応するという判定に応じて、前記隣接物体が意図せず前記対象物体とともに移送されたと判定すること、をさらに含む請求項7に記載の方法。
- 前記対象物体が移送される前及び後の前記比較位置における前記推定高さ間の差が最小高さ変化要求よりも大きく、及び/又は前記対象物体が移送される前及び後の前記比較位置における前記推定高さが平面表面に対応しないという判定に応じて、前記対象物体に隣接する物体が損傷を受けたと判定すること、をさらに含む請求項8に記載の方法。
- 前記比較位置は、比較位置の第1のサブセット及び比較位置の第2のサブセットを含み、
比較位置の前記第1及び前記第2のサブセットは、前記対象物体に隣接して位置する隣接物体の表面に関連付けられ、
前記方法は、
前記対象物体が移送される前及び後の比較位置の前記第1のサブセットにおける推定高さ間の第1の差と、前記対象物体が移送される前及び後の比較位置の前記第2のサブセットにおける推定高さ間の第2の差とを決定することと、
前記第1の差が最小高さ変化要求の範囲内であり、かつ、前記第2の差が前記最小高さ変化要求よりも大きいという判定に応じて、前記隣接物体がずれたと判定することと、
をさらに含む請求項7に記載の方法。 - ロボットシステムであって、
少なくとも1つのプロセッサと、
プロセッサ命令を含む少なくとも1つのメモリと、を含み、
前記プロセッサ命令は、実行されると、前記少なくとも1つのプロセッサに、
物体を開始位置における物体スタックから作業位置における物体スタックまで移送するための、前記開始位置及び前記作業位置の画像データを取得することであって、前記画像データは、1つ以上の物体を前記開始位置から前記作業位置まで移送することを描写する画像列を含み、前記画像列は、前記1つ以上の物体を移送する前の前記開始位置及び前記作業位置を描写する第1の画像セットと、前記1つ以上の物体を移送した後の前記開始位置及び前記作業位置を描写する第2の画像セットと、を含み、前記画像データは、前記画像列における各画像から決定される深さ指標であって、前記開始位置における表面の推定高さと前記作業位置における表面の推定高さとを表す深さ指標を含むことと、
前記第1の画像セット及び前記第2の画像セット内の前記開始位置における前記表面の前記推定高さを表す深さ指標間の第1の深さ差を決定することと、
前記第1の深さ差がピック確認閾値よりも大きいという判定に応じて、前記1つ以上の物体のうちの対象物体が前記開始位置から移送されたことを確認することと、
前記第1の画像セット及び前記第2の画像セット内の前記作業位置における前記表面の前記推定高さを表す深さ指標間の第2の深さ差を決定することと、
前記第2の深さ差が配置確認閾値よりも大きいという判定に応じて、前記1つ以上の物体のうちの前記対象物体が前記作業位置に配置されたことを確認することと、
を含む方法を行わせる、ロボットシステム。 - 前記方法は、
前記開始位置及び/又は前記作業位置における前記物体スタック内の物体の数量を推定することをさらに含み、
この推定は、
前記画像データに基づいて、前記物体スタックの周辺端部及び前記物体スタックの高さを決定することと、
前記物体スタックの前記周辺端部及び前記高さに基づいて、前記物体スタックの体積を導き出すことと、
前記物体スタック内の別個の領域に対する横寸法を決定することであって、前記別個の領域の表面は、1つ以上の横方向にわたる前記高さに対する変化において共通の高さ又は線状パターンを有することと、
前記別個の領域に対する前記横寸法及び周辺の垂直表面の対応する推定高さに基づいて、前記物体スタック内の個々の別個の領域の体積を決定することと、
前記物体スタックの前記導き出した体積及び前記物体スタック内の前記個々の別個の領域に対応する前記体積に基づいて、前記物体スタック内の物体の前記数量に対する推定値を導き出すことと、
により行う請求項11に記載のロボットシステム。 - 前記物体スタック内の物体の前記数量を推定することは、
前記物体スタックの前記決定した周辺端部、前記物体スタックの前記体積、及び前記物体スタック内の前記別個の領域に対する前記横寸法を、所定のテンプレートのセット及び/又は積み重ねルールのセットと比較することによって、積み重ねパターンを推定することと、
前記積み重ねパターン及び前記物体スタックの前記体積に基づいて、前記物体スタック内の物体の前記数量に対する推定値を導き出すことであって、前記物体スタック内の前記物体は種々の寸法の物体を含むと、
をさらに含む請求項12に記載のロボットシステム。 - 前記方法は、
前記物体スタック内の物体の前記数量に対する前記推定値を、前記開始位置から前記作業位置へ移送された1つ以上の物体を特定する追跡履歴データと比較して、前記追跡履歴データが正確であるか否かを確認することをさらに含む請求項13に記載のロボットシステム。 - 前記方法は、
前記第2の深さ差が前記配置確認閾値よりも小さいという判定に応じて、前記1つ以上の物体のうちの前記対象物体が前記作業位置に配置されなかったと判定することをさらに含む請求項13に記載のロボットシステム。 - プロセッサ命令を含む非一時的コンピュータ可読媒体であって、
前記プロセッサ命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
物体を開始位置における物体スタックから作業位置における物体スタックまで移送するための、前記開始位置及び前記作業位置の画像データを取得することであって、前記画像データは、1つ以上の物体を前記開始位置から前記作業位置まで移送することを描写する画像列を含み、前記画像列は、前記1つ以上の物体を移送する前の前記開始位置及び前記作業位置を描写する第1の画像セットと、前記1つ以上の物体を移送した後の前記開始位置及び前記作業位置を描写する第2の画像セットと、を含み、前記画像データは、前記画像列における各画像から決定される深さ指標であって、前記開始位置における表面の推定高さと前記作業位置における表面の推定高さとを表す深さ指標を含むことと、
前記第1の画像セット及び前記第2の画像セット内の前記開始位置における前記表面の前記推定高さを表す深さ指標間の第1の深さ差を決定することと、
前記第1の深さ差がピック確認閾値よりも大きいという判定に応じて、前記1つ以上の物体のうちの対象物体が前記開始位置から移送されたことを確認することと、
前記第1の画像セット及び前記第2の画像セット内の前記作業位置における前記表面の前記推定高さを表す深さ指標間の第2の深さ差を決定することと、
前記第2の深さ差が配置確認閾値よりも大きいという判定に応じて、前記1つ以上の物体のうちの前記対象物体が前記作業位置に配置されたことを確認することと、
を行わせる非一時的コンピュータ可読媒体。 - 前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
前記開始位置及び/又は前記作業位置における前記物体スタック内の物体の数量を推定することを行わせ、
この推定は、
前記画像データに基づいて、前記物体スタックの周辺端部及び前記物体スタックの高さを決定することと、
前記物体スタックの前記周辺端部及び前記高さに基づいて前記物体スタックの体積を導き出すことと、
前記物体スタック内の別個の領域に対する横寸法を決定することであって、前記別個の領域の表面は、1つ以上の横方向にわたる前記高さに対する変化において共通の高さ又は線状パターンを有することと、
前記別個の領域に対する前記横寸法及び周辺の垂直表面の対応する推定高さに基づいて、前記物体スタック内の個々の別個の領域の体積を決定することと、
前記物体スタックの前記導き出した体積及び前記物体スタック内の前記個々の別個の領域に対応する前記体積に基づいて、前記物体スタック内の物体の前記数量に対する推定値を導き出すことと、
により行う請求項16に記載の非一時的コンピュータ可読媒体。 - 前記物体スタック内の物体の前記数量を推定することは、
前記物体スタックの前記決定した周辺端部、前記物体スタックの前記体積、及び前記物体スタック内の前記別個の領域に対する前記横寸法を、所定のテンプレートのセット及び/又は積み重ねルールのセットと比較することによって積み重ねパターンを推定することと、
前記積み重ねパターン及び前記物体スタックの前記体積に基づいて、前記物体スタック内の物体の前記数量に対する推定値を導き出すことであって、前記物体スタック内の前記物体は種々の寸法の物体を含むことと、
をさらに含む請求項17に記載の非一時的コンピュータ可読媒体。 - 前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
前記物体スタック内の物体の前記数量に対する前記推定値を、前記開始位置から前記作業位置へ移送された1つ以上の物体を特定する追跡履歴データと比較して、前記追跡履歴データが正確であるか否かを確認することを行わせる請求項18に記載の非一時的コンピュータ可読媒体。 - 前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
前記第2の深さ差が前記配置確認閾値よりも小さいという判定に応じて、前記1つ以上の物体のうちの前記対象物体が前記作業位置に配置されなかったと判定することを行わせる請求項18に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163224292P | 2021-07-21 | 2021-07-21 | |
US63/224,292 | 2021-07-21 | ||
US17/732,302 US20230027984A1 (en) | 2021-07-21 | 2022-04-28 | Robotic system with depth-based processing mechanism and methods for operating the same |
US17/732,302 | 2022-04-28 | ||
JP2022095385A JP7126667B1 (ja) | 2021-07-21 | 2022-06-14 | 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022095385A Division JP7126667B1 (ja) | 2021-07-21 | 2022-06-14 | 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023016800A true JP2023016800A (ja) | 2023-02-02 |
Family
ID=83059889
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022095385A Active JP7126667B1 (ja) | 2021-07-21 | 2022-06-14 | 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 |
JP2022126375A Pending JP2023016800A (ja) | 2021-07-21 | 2022-08-08 | 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022095385A Active JP7126667B1 (ja) | 2021-07-21 | 2022-06-14 | 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230027984A1 (ja) |
JP (2) | JP7126667B1 (ja) |
CN (1) | CN115674151A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4380761A2 (en) | 2021-08-04 | 2024-06-12 | Chef Robotics, Inc. | System and/or method for robotic foodstuff assembly |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8264697B2 (en) | 2007-11-27 | 2012-09-11 | Intelligrated Headquarters, Llc | Object detection device |
US9238304B1 (en) | 2013-03-15 | 2016-01-19 | Industrial Perception, Inc. | Continuous updating of plan for robotic object manipulation based on received sensor data |
JP6407927B2 (ja) | 2015-11-12 | 2018-10-17 | 株式会社東芝 | 搬送装置、搬送システム、搬送方法、制御装置、およびプログラム |
US10124489B2 (en) | 2016-02-26 | 2018-11-13 | Kinema Systems Inc. | Locating, separating, and picking boxes with a sensor-guided robot |
JP7065632B2 (ja) | 2018-02-13 | 2022-05-12 | Kyoto Robotics株式会社 | 箱状物ピッキング装置及びその方法 |
WO2020091846A1 (en) | 2018-10-30 | 2020-05-07 | Mujin, Inc. | Automated package registration systems, devices, and methods |
US10618172B1 (en) | 2019-05-31 | 2020-04-14 | Mujin, Inc. | Robotic system with error detection and dynamic packing mechanism |
US11389965B2 (en) | 2019-07-26 | 2022-07-19 | Mujin, Inc. | Post-detection refinement based on edges and multi-dimensional corners |
JP7312057B2 (ja) | 2019-08-27 | 2023-07-20 | オークラ輸送機株式会社 | 物品移送装置および物品移送方法 |
-
2022
- 2022-04-28 US US17/732,302 patent/US20230027984A1/en active Pending
- 2022-06-14 JP JP2022095385A patent/JP7126667B1/ja active Active
- 2022-07-21 CN CN202210874140.6A patent/CN115674151A/zh active Pending
- 2022-08-08 JP JP2022126375A patent/JP2023016800A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7126667B1 (ja) | 2022-08-29 |
CN115674151A (zh) | 2023-02-03 |
JP2023016699A (ja) | 2023-02-02 |
US20230027984A1 (en) | 2023-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12002007B2 (en) | Robotic system with automated package scan and registration mechanism and methods of operating the same | |
US11654558B2 (en) | Robotic system with piece-loss management mechanism | |
JP2021030439A (ja) | 物体を把持および保持するためのロボットマルチグリッパアセンブリおよび方法 | |
JP2021030431A (ja) | 物体を把持および保持するためのロボットマルチグリッパアセンブリおよび方法 | |
JP2020185663A (ja) | 非一時的コンピュータ可読記憶媒体、ロボットシステムを動作させる方法及び物体移送システム | |
JP7175487B1 (ja) | 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法 | |
JP7126667B1 (ja) | 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 | |
CN111618852B (zh) | 具有协调转移机构的机器人系统 | |
JP7218881B1 (ja) | 物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 | |
CN115258510A (zh) | 具有物体更新机制的机器人系统和用于操作所述机器人系统的方法 | |
US20230071488A1 (en) | Robotic system with overlap processing mechanism and methods for operating the same | |
CN115570556A (zh) | 具有基于深度的处理机制的机器人系统及其操作方法 | |
CN115609569A (zh) | 具有基于图像的尺寸确定机制的机器人系统及其操作方法 |