(58)【調査した分野】(Int.Cl.,DB名)
前記視覚センサデバイスが、前記グリッパアセンブリの把持インターフェイスが実質的に水平な配向にあるときに、前記真空把持区間が下から遮られないないように、前記真空把持区間の横方向に位置決めされる、
請求項10に記載のエンドエフェクタ。
【発明を実施するための形態】
【0005】
本明細書では、選択された物体を把持するためのシステムおよび方法について説明する。システムは、単一の物体または複数の物体を把持/解放するために独立して、または連動して動作するように構成されるマルチグリッパアセンブリを有する搬送ロボットを含むことができる。例えば、システムは複数の物体を同時にまたは順番に取り上げることができる。システムは、例えば、マルチグリッパアセンブリの運搬能力、搬送計画、またはそれらの組み合わせに基づいて、運搬される物体を選択することができる。マルチグリッパアセンブリは、物体のグループ、不規則な物体、形状/サイズの物体などから物体を確実に把持することができる。例えば、マルチグリッパアセンブリは、選択可能な物体のみが真空把持を介して保持されるように、それぞれが空気を吸い込むように構成されるアドレス可能な真空領域またはバンクを含むことができる。マルチグリッパアセンブリは、ロボットで移動させて、保持された物体を所望の場所に搬送し、次いで、物体を解放することができる。システムは、把持された物体を同時にまたは順番に解放することもできる。このプロセスを繰り返して、異なる場所間で任意の数の物体を搬送することができる。
【0006】
少なくともいくつかの実施形態は、アドレス可能な取り上げ領域を有するマルチグリッパアセンブリを有する搬送ロボットを動作させる方法を対象とする。取り上げ領域は、真空把持を独立して提供するように構成することができる。取り込まれた画像データに基づいて対象物体(複数可)が識別される。取り上げ領域は、識別された対象物体(複数可)を把持するために空気を吸い込むことができる。いくつかの実施形態では、搬送ロボットは、識別された対象物体を運ぶ、マルチグリッパアセンブリをロボットで動かすものである。
【0007】
いくつかの実施形態では、ロボット搬送システムは、ロボット装置、対象物体検出器、および真空グリッパデバイスを含む。真空グリッパデバイスは、複数のアドレス可能な領域およびマニホールドアセンブリを含む。マニホールドアセンブリは、各アドレス可能領域が吸引要素のアレイを介して独立して負圧を提供することができるように、アドレス可能領域のそれぞれおよび少なくとも1つの真空ラインに流体的に結合することができる。負圧は、ロボット装置が真空グリッパデバイスを異なる場所の間で移動させる間、真空グリッパデバイスに対して少なくとも1つの対象物体を保持するのに十分であり得る。
【0008】
搬送ロボットを動作させるための方法は、物体のグループ(例えば、物体の積み重ねまたは堆積)を表す画像データを受信することを含む。受信した画像データに基づいて、グループ内の1つまたは複数の対象物体を識別する。アドレス可能な真空領域は、識別された1つまたは複数の対象物体に基づいて選択される。搬送ロボットは、選択された真空領域に、識別された1つまたは複数の対象物体を保持および搬送するように指令を出す。搬送ロボットは、それぞれが独立して真空把持を提供するように構成される真空領域のアレイを有するマルチグリッパアセンブリを含む。視覚センサデバイスは、真空グリッパデバイスに隣接または真空グリッパデバイスによって保持されている対象物体を表す画像データを取り込むことができる。
【0009】
以下に、現在開示されている技術の完全な理解を提供するために、多くの具体的な詳細を述べる。他の実施形態では、本明細書で紹介される技術は、これらの特定の詳細なしで実施できる。他の実施例では、特定の関数またはルーチンなどの周知の特徴は、本開示を不必要に曖昧にすることを回避するために詳細には説明されない。本明細書における「実施形態」、「一実施形態」などへの言及は、説明されている特定の特徴、構造、材料、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書における、そのような語句の出現は、必ずしもすべてが同じ実施形態を指すものではない。一方、そのような参照は必ずしも相互に排他的なものではない。さらに、特定の特徴、構造、材料、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。図に示す様々な実施形態は、単に例示的な表現であり、必ずしも縮尺通りに描写されていないことを理解されたい。
【0010】
周知であり、しばしばロボットシステムおよびサブシステムに関連付けられるが、開示された技術のいくつかの重要な態様を不必要に不明瞭にする可能性がある構造またはプロセスを説明するいくつかの詳細は、明確にするために以下の説明には記載されていない。さらに、以下の開示では、本技術の異なる態様のいくつかの実施形態が示されているが、他のいくつかの実施形態は、本節で説明したものとは異なる構成または異なる構成要素を有することができる。したがって、開示された技術は、追加の要素を有するか、または以下で説明する要素のいくつかを有さない他の実施形態を有することができる。
【0011】
以下で説明する本開示の多くの実施形態または態様は、プログラム可能なコンピュータまたはコントローラによって実行されるルーチンを含む、コンピュータ実行可能命令またはコントローラ実行可能命令の形態をとることができる。当業者は、開示された技術が、以下で示され説明されるもの以外のコンピュータシステムまたはコントローラシステムで実施できることを理解するであろう。本明細書で説明される技術は、以下で説明されるコンピュータ実行可能命令の1つまたは複数を実行するように具体的にプログラムされ、構成され、または構築される専用コンピュータまたはデータプロセッサで具体化することができる。したがって、本明細書で一般的に使用される「コンピュータ」および「コントローラ」という用語は、任意のデータプロセッサを指し、インターネット機器およびハンドヘルドデバイス(パームトップコンピュータ、ウェアラブルコンピュータ、携帯電話または移動電話、マルチプロセッサシステム、プロセッサベースまたはプログラマブル家庭用電化製品、ネットワークコンピュータ、ミニコンピュータなどを含む)を含むことができる。これらのコンピュータおよびコントローラによって処理される情報は、液晶ディスプレイ(LCD)を含む、任意の適切な表示媒体で表示することができる。コンピュータ実行可能タスクまたはコントローラ実行可能タスクを実行するための命令は、ハードウェア、ファームウェア、またはハードウェアとファームウェアの組み合わせを含む、任意の適切なコンピュータ可読媒体に格納することができる。命令は、例えば、フラッシュドライブ、USBデバイス、および/または有形の非一時的コンピュータ可読媒体を含む他の適切な媒体を含む、任意の適切なメモリデバイスに含めることができる。
【0012】
「結合された」および「接続された」という用語は、それらの派生語と共に、構成要素間の構造的関係を説明するために本明細書で使用することができる。これらの用語は、互いに同義語として意図されたものではないことを理解されたい。むしろ、特定の実施形態では、「接続された」は2つ以上の要素が互いに直接接触していることを示すために使用することができる。文脈で明らかにされていない限り、「結合された」という用語は、2つ以上の要素が直接または間接的に(それらの間にある他の介在要素と)互いに接触していること、2つ以上の要素が互いに(例えば、信号の送信/受信または関数呼び出しなどの因果関係のように)連携または相互作用していること、またはその両方を示すために使用することができる。
【0013】
適切な環境
図1は、ロボットシステム100が物体を搬送する例示的な環境の図である。ロボットシステム100は、倉庫または流通/出荷ハブにおいて、荷下ろしユニット102、移送ユニットまたはアセンブリ104(「移送アセンブリ104」)、搬送ユニット106、積載ユニット108、またはそれらの組み合わせを含むことができる。ロボットシステム100の各ユニットは、1つまたは複数のタスクを実行するように構成することができる。タスクは、倉庫に保管するためにトラックまたはバンから物体を荷下ろししたり、保管場所から物体を荷下ろしして出荷のためにトラックまたはバンに積載したりするなど、目標を達成する動作を実行するために順番に組み合わせることができる。別の実施例では、タスクには、あるコンテナから別のコンテナへの物体の移動を含むことができる。各ユニットは、タスクを実行するために一連の動作を実行する(例えば、その中の1つまたは複数の構成要素を動作させる)ように構成することができる。
【0014】
いくつかの実施形態では、タスクは、開始場所114からタスク場所116への対象物体またはパッケージ112(例えば、ボックス、ケース、ケージ、パレットなど)の操作(例えば、移動および/または再配向)を含むことができる。例えば、荷下ろしユニット102(例えば、デバンニングロボット)は、対象パッケージ112を運送車(例えば、トラック)内の場所からコンベヤベルト上の場所に移送するように構成することができる。移送アセンブリ104(例えば、パレタイジングロボットアセンブリ)は、パッケージ112を搬送ユニット106上またはコンベヤ120上に積載するように構成することができる。別の実施例では、移送アセンブリ104は、1つまたは複数の対象パッケージ112をあるコンテナから別のコンテナに移送するように構成することができる。移送アセンブリ104は、物体(複数可)112を取り上げて運ぶためにそれぞれ個別に動作させる真空グリッパ(または真空領域)を有するロボットエンドエフェクタ140(「エンドエフェクタ140」)を含むことができる。エンドエフェクタ140が物体に隣接して配置されると、空気は、対象パッケージ112に隣接するグリッパ(複数可)内に入ることができ、それにより、対象物体を保持するのに十分な圧力差が生成される。対象物体は、物体表面を損傷したり傷つけたりすることなく、取り上げて搬送することができる。一度に運ばれるパッケージ112の数は、取り上げ場所での物体の積み重ね配置、降下場所での利用可能な空間、取り上げ場所と降下場所の間の搬送経路、最適化ルーチン(例えば、ユニット使用量、ロボット使用量などを最適化するためのルーチン)、それらの組み合わせなどに基づいて選択することができる。エンドエフェクタ140は、保持された物体に関する情報(例えば、保持された物体の数および構成)、任意の保持された物体間の相対位置などを示す測定値を出力するように構成される1つまたは複数のセンサを有することができる。
【0015】
撮像システム160は、構成要素の動作を監視するため、対象物体を識別するため、物体を追跡するため、または他の方法でタスクを実行するために使用される画像データを提供することができる。画像データは、例えば、パッケージの積み重ねの配置(例えば、段ボール箱、梱包コンテナなどの積み重ねられたパッケージ)、物体の位置情報、利用可能な搬送経路(例えば、取り上げ区間と降下区間との間の搬送経路)、把持アセンブリに関する位置情報、またはそれらの組み合わせを評価するために分析することができる。コントローラ109は、撮像システム160およびロボットシステム100の他の構成要素と通信することができる。コントローラ109は、物体を取り上げて降下するための順番(例えば、安定したコンテナとして示される)、位置決め情報、物体を取り上げるための命令情報、物体を降下するための命令情報、積み重ね計画(例えば、降下区間で物体を積み重ねるための計画)、再積み重ね計画(例えば、取り上げ区間でコンテナの少なくとも一部を再び積み重ねるための計画)、またはそれらの組み合わせを含む搬送計画を生成することができる。搬送計画によって提供される情報および指示は、コンテナの配置、コンテナの内容、またはそれらの組み合わせに基づいて選択することができる。いくつかの実施形態では、コントローラ109は、1つまたは複数の処理ユニット、プロセッサ、記憶デバイス(例えば、外部または内部記憶デバイス、メモリなど)、通信デバイス(例えば、無線接続用または有線接続用の通信デバイス)、および入力出力デバイス(例えば、画面、タッチスクリーンディスプレイ、キーボード、キーパッドなど)などの電子/電気デバイスを含むことができる。例示的な電子/電気デバイスおよびコントローラ構成要素は、
図2および
図6に関連して説明される。
【0016】
搬送ユニット106は、対象パッケージ112(または複数の対象パッケージ112)を、移送アセンブリ104に関連する範囲から積載ユニット108に関連する範囲に移送することができ、積載ユニット108は、対象パッケージ112を(例えば、対象物パッケージ112を載せたパレットを移動させることによって)保管場所に移送することができる。いくつかの実施形態では、コントローラ109は、移送アセンブリ104および搬送ユニット106の動作を調整して、物体を保管棚に効率的に積載することができる。
【0017】
ロボットシステム100は、
図1には示されていない、マニピュレータ、サービスロボット、モジュール式ロボットなどの他のユニットを含むことができる。例えば、いくつかの実施形態では、ロボットシステム100は、物体をケージカートまたはパレットからコンベヤまたは他のパレットに移送するためのデパレタイズユニット、物体をあるコンテナから別のコンテナに移送するためのコンテナ切り替えユニット、物体をラッピングするための包装ユニット、物体の1つまたは複数の特性に従って物体をグループ化するための並べ替えユニット、物体の1つまたは複数の特性に従って物体を異なる方法で操作するため(例えば、並べ替え、グループ化、および/または移送するため)のピースピッキングユニット、またはそれらの組み合わせを含むことができる。システム100の構成要素およびサブシステムは、異なる種類のエンドエフェクタを含むことができる。例えば、荷下ろしユニット102、搬送ユニット106、積載ユニット108、およびロボットシステム100の他の構成要素はまた、ロボットマルチグリッパアセンブリを含むことができる。ロボットグリッパアセンブリの構成は、所望の運搬能力に基づいて選択することができる。例示の目的のために、ロボットシステム100は、配送センタの文脈で説明されるが、ロボットシステム100は、他の環境でタスクを実行するように構成できること/製造、組立、包装、ヘルスケア、および/または他のタイプの自動化などの目的でタスクを実行するように構成できることが理解されよう。タスクおよび関連する行動に関する詳細は以下で説明する。
【0018】
ロボットシステム
図2は、本技術の1つまたは複数の実施形態による、ロボットシステム100の構成要素を示すブロック図である。いくつかの実施形態では、例えば、ロボットシステム100(例えば、上述したユニットまたはアセンブリおよび/またはロボットの1つまたは複数)は、1つまたは複数のプロセッサ202、1つまたは複数の記憶デバイス204、1つまたは複数の通信デバイス206、1つまたは複数の入力出力デバイス208、1つまたは複数の作動デバイス212、1つまたは複数の搬送モータ214、1つまたは複数のセンサ216、またはそれらの組み合わせなどの電子/電気デバイスを含むことができる。様々なデバイスは、有線接続および/または無線接続を介して互いに結合することができる。例えば、ロボットシステム100は、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バスまたはPCI−Expressバス、ハイパートランスポートまたは業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインターフェイス(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、またはIEEE(Institute of Electrical and Electronics Engineers)標準1394バス(「ファイアワイア」とも呼ばれる)などのバスを含むことができる。また、例えば、ロボットシステム100は、デバイス間の有線接続を提供するために、ブリッジ、アダプタ、コントローラ、または他の信号関連デバイスを含むことができる。無線接続は、例えば、セルラ通信プロトコル(例えば、3G、4G、LTE、5Gなど)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、無線フィデリティ(WIFI))、ピアツーピアまたはデバイス間通信プロトコル(例えば、Bluetooth(登録商標)、近距離無線通信(NFC)など)、モノのインターネット(IoT)プロトコル(例えば、NB−IoT、Zigbee、Z−wave、LTE−Mなど)、および/または他のワイヤレス通信プロトコルに基づくことができる。
【0019】
プロセッサ202は、記憶デバイス204(例えば、コンピュータメモリ)に格納された命令(例えば、ソフトウェア命令)を実行するように構成されるデータプロセッサ(例えば、中央処理装置(CPU)、専用コンピュータ、および/またはオンボードサーバ)を含むことができる。プロセッサ202は、他のデバイスと制御/インターフェイスするためのプログラム命令を実施することができ、それにより、ロボットシステム100に、行動、タスク、および/または動作を実行させる。
【0020】
記憶デバイス204は、プログラム命令(例えば、ソフトウェア)が格納されている非一時的コンピュータ可読媒体を含むことができる。記憶デバイス204のいくつかの実施例は、揮発性メモリ(例えば、キャッシュおよび/またはランダムアクセスメモリ(RAM)および/または不揮発性メモリ(例えば、フラッシュメモリおよび/または磁気ディスクドライブ)を含むことができる。記憶デバイス204の他の実施例は、ポータブルメモリドライブおよび/またはクラウド記憶デバイスを含み得る。
【0021】
いくつかの実施形態では、記憶デバイス204を使用して、マスタデータ、処理結果、および/または所定のデータ/閾値をさらに格納し、それらへのアクセスを提供することができる。例えば、記憶デバイス204は、ロボットシステム100によって操作され得る物体(例えば、ボックス、ケース、コンテナ、および/または製品)の記述を含むマスタデータを格納することができる。1つまたは複数の実施形態では、マスタデータは、ロボットシステム100によって操作されることが予想される物体の寸法、形状(例えば、潜在的な姿勢のためのテンプレートおよび/または異なる姿勢の物体を認識するためのコンピュータ生成モデル)、質量/重量情報、配色、画像、識別情報(例えば、バーコード、クイック応答(QR)コード(登録商標)、ロゴなど、および/またはそれらの予想される場所)、予想される質量または重量、またはそれらの組み合わせを含むことができる。いくつかの実施形態では、マスタデータは、各物体の重心場所、1つまたは複数の動作/操作に対応する予想されるセンサ測定値(例えば、力、トルク、圧力、および/または接触測定値)、またはそれらの組み合わせなど、物体に関する操作関連情報を含むことができる。ロボットシステムは、圧力レベル(例えば、真空レベル、吸引レベルなど)、把持/取り上げ範囲(例えば、作動させる真空グリッパの範囲またはバンク)、および移送ロボットを制御するための他の格納されているマスタデータを検索することができる。記憶デバイス204は、物体追跡データを格納することもできる。いくつかの実施形態では、物体追跡データは、スキャンまたは操作された物体のログを含むことができる。いくつかの実施形態では、物体追跡データは、1つまたは複数の場所(例えば、指定された取り上げ場所または降下場所および/またはコンベヤベルト)における物体の画像データ(例えば、写真、点群、ライブビデオフィードなど)を含むことができる。いくつかの実施形態では、物体追跡データは、1つまたは複数の場所での物体の場所および/または配向を含むことができる。
【0022】
通信デバイス206は、ネットワークを介して外部デバイスまたはリモートデバイスと通信するように構成される回路を含むことができる。例えば、通信デバイス206は、受信機、送信機、変調器/復調器(モデム)、信号検出器、信号エンコーダ/デコーダ、コネクタポート、ネットワークカードなどを含むことができる。通信デバイス206は、1つまたは複数の通信プロトコル(例えば、インターネットプロトコル(IP)、無線通信プロトコルなど)に従って電気信号を送信、受信、および/または処理するように構成することができる。いくつかの実施形態では、ロボットシステム100は、通信デバイス206を使用して、ロボットシステム100のユニット間で情報を交換する、および/または(例えば、報告、データ収集、分析、および/またはトラブルシューティングの目的で)ロボットシステム100の外部のシステムまたはデバイスと情報を交換することができる。
【0023】
入力出力デバイス208は、人間のオペレータと情報を通信し、および/または人間のオペレータから情報を受信するように構成されるユーザインターフェイスデバイスを含むことができる。例えば、入力出力デバイス208は、人間のオペレータに情報を伝達するためのディスプレイ210および/または他の出力デバイス(例えば、スピーカ、触覚回路、または触覚フィードバックデバイスなど)を含むことができる。また、入力出力デバイス208は、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインターフェイス(UI)センサ(例えば、モーションコマンドを受信するためのカメラ)、ウェアラブル入力デバイスなどの制御デバイスまたは受信デバイスを含むことができる。いくつかの実施形態では、ロボットシステム100は、入力出力デバイス208を使用して、行動、タスク、動作、またはそれらの組み合わせを実行する際に人間のオペレータと相互作用することができる。
【0024】
いくつかの実施形態では、コントローラ(例えば、
図1のコントローラ109)は、プロセッサ202、記憶デバイス204、通信デバイス206、および/または入力出力デバイス208を含むことができる。コントローラは、スタンドアロンの構成要素またはユニット/アセンブリの一部とすることができる。例えば、システム100の各荷下ろしユニット、移送アセンブリ、搬送ユニット、および積載ユニットは、1つまたは複数のコントローラを含むことができる。いくつかの実施形態では、単一のコントローラは、複数のユニットまたはスタンドアロン構成要素を制御することができる。
【0025】
ロボットシステム100は、動作(例えば、回転および/または並進変位)のために関節で連結される物理的または構造的部材(例えば、ロボットマニピュレータアーム)を含むことができる。構造部材および関節は、ロボットシステム100の使用/動作に従って1つまたは複数のタスク(例えば、把持、紡績、溶接など)を実行するように構成されるエンドエフェクタ(例えば、グリッパ)を操作するように構成される運動連鎖を形成することができる。ロボットシステム100は、対応する関節の周りまたは対応する関節で、構造部材を駆動または操作(例えば、変位および/または再配向)するように構成される作動デバイス212(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含み得る。いくつかの実施形態では、ロボットシステム100は、対応するユニット/シャーシを色々な場所に搬送するように構成される搬送モータ214を含むことができる。例えば、作動デバイス212および搬送モータは、ロボットアーム、線形スライド、または他のロボット構成要素に接続されているか、それらの一部である。
【0026】
センサ216は、構造部材を操作するおよび/またはロボットユニットを搬送するなどのタスクの実施のために使用される情報を取得するように構成することができる。センサ216は、ロボットシステム100の1つまたは複数の物理的特性(例えば、1つまたは複数の構造部材/その関節の状況、状態、および/または場所)および/または周辺環境の1つまたは複数の物理的特性を検出または測定するように構成されるデバイスを含むことができる。センサ216のいくつかの実施例では、接触センサ、近接センサ、加速度計、ジャイロスコープ、力センサ、歪みゲージ、トルクセンサ、位置エンコーダ、圧力センサ、真空センサなどを含むことができる。
【0027】
いくつかの実施形態では、例えば、センサ216は、周辺環境を検出するように構成される1つまたは複数の撮像デバイス222(例えば、二次元および/または三次元撮像デバイス)を含むことができる。撮像デバイスは、カメラ(視覚カメラおよび/または赤外線カメラを含む)、ライダデバイス、レーダデバイス、および/または他の距離測定デバイスまたは検出デバイスを含むことができる。撮像デバイス222は、(例えば、自動検査、ロボットガイダンス、または他のロボットアプリケーション用に)マシン/コンピュータビジョンを実装するために使用される、デジタル画像および/または点群などの検出された環境の表現を生成することができる。
【0028】
ここで
図1および
図2を参照すると、ロボットシステム100は(例えば、プロセッサ202を介して)、画像データおよび/または点群を処理して、
図1の対象パッケージ112、
図1の開始場所114、
図1のタスク場所116、
図1の対象パッケージ112の姿勢、またはそれらの組み合わせを識別することができる。ロボットシステム100は、画像データを使用して、物体にアクセスして取り上げる方法を決定することができる。物体の画像を分析して、隣接する物体がグリッパアセンブリに近接している場合でも、対象物体を把持するために、真空グリッパアセンブリを位置決めするための取り上げ計画を決定することができる。搭載センサ216(例えば、ライダデバイス)からの画像出力および遠隔デバイス(例えば、
図1の撮像システム160)からの画像データは、単独でまたは組み合わせて利用することができる。ロボットシステム100は(例えば、様々なユニットを介して)、指定された範囲(例えば、トラック内、コンテナ内、またはコンベヤベルト上の物体の取り上げ場所)の画像を取り込みおよび分析し、対象パッケージ112およびその開始場所114を識別することができる。同様に、ロボットシステム100は、別の指定された範囲(例えば、コンベヤベルトに物体を置くための降下場所、コンテナ内に物体を置くための場所、または積み重ね目的のためのパレット上の場所)の画像を取り込んで分析し、タスク場所116を識別することができる。
【0029】
また、例えば、
図2のセンサ216は、構造部材(例えば、ロボットアームおよび/またはエンドエフェクタ)および/またはロボットシステム100の対応する関節の位置を検出するように構成される
図2の位置センサ224(例えば、位置エンコーダ、電位差計など)を含むことができる。ロボットシステム100は、位置センサ224を使用して、タスクの実行中に構造部材および/または関節の場所および/または配向を追跡することができる。本明細書に開示される荷下ろしユニット、移送ユニット、搬送ユニット/アセンブリ、および積載ユニットは、センサ216を含むことができる。
【0030】
いくつかの実施形態では、センサ216は、複数の物理的構造または表面の間の直接接触に関連する特性を測定するように構成される接触センサ226(例えば、力センサ、歪みゲージ、ピエゾ抵抗センサ/圧電センサ、静電容量センサ、ピエゾ抵抗センサおよび歪みセンサ、および/または他の触覚センサ)を含むことができる。接触センサ226は、対象パッケージ112上のエンドエフェクタ(例えば、グリッパ)の把持に対応する特性を測定することができる。したがって、接触センサ226は、物理的接触、グリッパと対象パッケージ112との間の接触または付着の程度、または他の接触特性に対応する定量化された測定値(例えば、測定された力、トルク、位置など)を表す接触測定値を出力することができる。例えば、接触測定値は、エンドエフェクタによる対象パッケージ112の把持に関連する力に関連する1つまたは複数の力、圧力、またはトルクの測定値を含むことができる。いくつかの実施形態では、接触測定値は、(1)真空把持に関連する圧力測定値および(2)運搬物体(複数可)に関連する力測定値(例えば、モーメント測定値)の両方を含むことができる。接触測定値に関する詳細は以下に説明される。
【0031】
以下でさらに詳細に説明するように、ロボットシステム100は(例えば、プロセッサ202を介して)、接触測定値、画像データ、それらの組み合わせなどに基づいてタスクを達成するために異なる動作を実施することができる。例えば、ロボットシステム100は、初期接触測定値が、真空把持が低下している(例えば、吸引レベルが真空閾値を下回る)などの閾値を下回る場合、またはそれらの組み合わせである場合、対象パッケージ112を再把持することができる。また、ロボットシステム100は、1つまたは複数の搬送規則(例えば、接触測定または吸引レベルが、タスクの実行中に閾値を下回る場合)、および接触測定値、画像データ、および/またはその他の測定値またはデータに基づいて、意図的に対象パッケージ112を降下させたり、タスク場所116を調整したり、動作の速度または加速度を調整したり、またはそれらの組み合わせを調整したりすることができる。
【0032】
ロボット移送アセンブリ
図3は、本技術の1つまたは複数の実施形態による、移送アセンブリ104を示す。移送アセンブリ104は、撮像システム160およびロボットアームシステム132を含むことができる。撮像システム160は、デパレタイズプラットフォーム110を使用して、対象環境から取り込まれた画像データを提供することができる。ロボットアームシステム132は、ロボットアームアセンブリ139、ならびに視覚センサデバイス143およびマルチグリッパアセンブリ141(「グリッパアセンブリ141」)を含むエンドエフェクタ140を含むことができる。ロボットアームアセンブリ139は、取り上げ環境163に配置された積み重ね165内の物体のグループの上にエンドエフェクタ140を位置決めすることができる。視覚センサデバイス143は、積み重ね165内の物体に接触したり、その物体を移動したり、取り除いたりすることなく、近くの物体を検出することができる。
【0033】
対象物体は、エンドエフェクタ140の底部に対して固定することができる。いくつかの実施形態では、グリッパアセンブリ141は、真空把持を提供するためにそれぞれ選択的に空気を吸い込むことができるアドレス可能な領域を有することができる。いくつかの動作モードでは、対象物体(複数可)に近接するアドレス可能な領域のみが空気を吸い込み、真空グリッパデバイスと対象物体(複数可)との間に直接圧力差を提供する。これにより、グリッパアセンブリ141の他の把持部分が他のパッケージに隣接または接触している場合でも、選択されたパッケージ(すなわち、対象パッケージ)のみをグリッパアセンブリ141に対して引っ張り出すか、そうでなければ固定することができる。
【0034】
図3は、コンベヤ120の上に位置決めされた単一の物体またはパッケージ112(「パッケージ112」)を運ぶグリッパアセンブリ141を示す。グリッパアセンブリ141は、パッケージ112をコンベヤベルト120上に解放することができ、ロボットアームシステム132は、次いで、荷下ろししたグリッパアセンブリ141を両方のパッケージ112a、112bの真上に位置決めすることにより、パッケージ112a、112bを取得することができる。次いで、グリッパアセンブリ141は、真空把持を介して、両方のパッケージ112a、112bを保持することができ、ロボットアームシステム132は、保持されたパッケージ112a、112bをコンベヤ120の真上の位置まで運ぶことができる。次いで、グリッパアセンブリ141は、パッケージ112a、112bをコンベヤ120上に(例えば、同時または順番に)解放することができる。このプロセスは、物体を積み重ね165からコンベヤ120に運ぶために何度でも繰り返すことができる。
【0035】
視覚センサデバイス143は、グリッパアセンブリ141の真下に保持されたパッケージを検出するように構成される1つまたは複数の光学センサを含むことができる。視覚センサデバイス143は、パッケージの取り上げ/降下との干渉を回避するために、グリッパアセンブリ141の側面に位置決めすることができる。いくつかの実施形態では、視覚センサデバイス143は、物体が存在すれば、グリッパアセンブリ141によって保持された1つまたは複数の物体の存在を検出しながら、物体に衝突することを避けるために、グリッパアセンブリ141の異なる側に移動することができるように、エンドエフェクタ140またはロボットアーム139に移動可能に結合される。視覚センサデバイス143の位置、数、および構成は、グリッパアセンブリ141の構成に基づいて選択することができる。
【0036】
図3を続けて参照すると、デパレタイズプラットフォーム110は、その上に複数の物体またはパッケージ112(単独の「パッケージ112」)が、積み重ねられ、および/またはステージ化され、搬送する準備がされ得る任意のプラットフォーム、表面、および/または構造を含むことができる。撮像システム160は、デパレタイズプラットフォーム110上のパッケージ112の画像データを取り込むように構成される1つまたは複数の撮像デバイス161を含むことができる。撮像デバイス161は、距離データ、位置データ、ビデオ、静止画像、ライダデータ、レーダデータ、および/または取り上げ環境または領域163での動きを取り込むことができる。本明細書では「物体」および「パッケージ」という用語が使用されているが、これらの用語には、限定されないが、「ケース」、「ボックス」、「カートン」、またはそれらの任意の組み合わせなどの把持、持ち上げ、搬送、および配送が可能な他のアイテムが含まれることに留意されたい。さらに、多角形のボックス(例えば、長方形のボックス)が本明細書に開示される図面に示されているが、ボックスの形状はそのような形状に限定されるものではなく、以下で詳細に論じるように、把持、持ち上げ、搬送、配送が可能な規則的または不規則な形状を含む。
【0037】
デパレタイズプラットフォーム110と同様に、受入コンベヤ120は、さらなるタスク/動作のためにパッケージ112を受け入れるように指定された任意のプラットフォーム、表面、および/または構造を含むことができる。いくつかの実施形態では、受入コンベヤ120は、パッケージ112をある場所(例えば、解放点)から別の場所にさらなる動作(例えば、仕分けおよび/または保管)のために搬送するためのコンベヤシステムを含むことができる。
【0038】
図4は、本技術のいくつかの実施形態による、ロボットアーム139に結合されたエンドエフェクタ140の正面図である。
図5は、
図4のエンドエフェクタ140の底面図である。視覚センサデバイス143は、パッケージを検出するように構成される1つまたは複数のセンサ145および、例えば、視覚センサデバイス143に対するグリッパアセンブリ141の位置を較正するために使用される較正ボード147を含むことができる。いくつかの実施形態では、較正ボード147は、動作環境内のエンドエフェクタ140またはグリッパアセンブリ141の位置、ロボットアーム139の位置、またはそれらの組み合わせを較正または定義するために使用されるパターンまたは設計を有するプラカードとすることができる。グリッパアセンブリ141は、把持区間125を定義するアドレス可能な真空区間または領域117a、117b、117c(総称して「真空領域117」)を含むことができる。特に明記しない限り、一方の真空領域117の説明は、他方の真空領域117に適用される。いくつかの実施形態では、各真空領域117は、エンドエフェクタ140の外部の真空源に接続された構成要素を含む吸引チャネルバンクとすることができる。真空領域117は、物体を保持することができる把持インターフェイス121(
図4で図示されているもの)を含むことができる。
【0039】
ここで
図4を参照すると、真空領域117aは、パッケージ112を保持するために空気を吸い込むことができ、パッケージ112を解放するための空気の吸い込みを低減または停止させることができる。真空領域117b、117c(パッケージを保持しないように示される)は、独立して空気を吸い込み(矢印によって示される)、対応する位置113a、113b(
図4に仮想線で示される)でパッケージを保持することができる。ここで
図5を参照すると、真空領域117は、空気が吸い込まれる吸引要素151(
図5で図示されているもの)のグループまたはバンクを含むことができる。吸引要素151は、互いに均等/均一または不均等に間隔を空けて配置することができ、所望のパターン(例えば、不規則または規則的なパターン)で配置することができる。真空領域117は、吸引要素151の同じまたは異なる数、構成、および/またはパターンを有することができる。真空領域117の形状と一致するパッケージを運ぶために、真空領域117の各吸引要素151を通して空気を吸い込むことができる。より小さなパッケージを運ぶために、パッケージの幾何学的形状と一致する吸引要素151のサブセット(例えば、パッケージの境界または周囲内に位置決めされた吸引要素151)を通して空気を吸い込むことができる。例えば、把持される対象表面に直接隣接するか、または対象表面を覆う単一の吸引要素151など、真空領域117の1つの吸引要素のサブセットを通して空気を吸い込むことができる。
図5に示すように、例えば、境界119(破線で示す)内の吸引要素151は、パッケージの対応する円形の表面を把持するために使用することができる。
【0040】
すべての真空領域117が作動しているとき、エンドエフェクタ140は、把持接触面121のそれぞれ、または底面223全体に沿って、概して均一な把持力を提供することができる。いくつかの実施形態では、底面223は、概して連続した実質的に途切れない表面であり、隣接する真空領域117の吸引要素151間の距離またはピッチは、同じ真空領域117の吸引要素151間のピッチよりも小さいか、等しいか、または大きく(例えば、2倍、3倍、4倍などに)することができる。エンドエフェクタ140は、真空領域117と物体との間の真空状態を形成し、維持することによって達成されるような、引力を介して物体(複数可)を保持または張り付けるように構成することができる。例えば、エンドエフェクタ140は、対象物体の表面に接触し、真空領域117と表面との間の空間に真空状態を形成/保持するように構成される1つまたは複数の真空領域117を含むことができる。ロボットアーム139を介してエンドエフェクタ140が降下され、それによって、真空領域117を対象物体の表面に押し付け、対向する表面の間の気体を押し出すか、そうでなければ除去するときに、真空状態を生成することができる。ロボットアーム139がエンドエフェクタ140を持ち上げるとき、真空領域117の内側の空間と周囲環境との間の圧力の差により、対象物体を真空領域117に付着させたままにすることができる。いくつかの実施形態では、エンドエフェクタ140の真空領域117を通る空気流量は、動的に調整するか、対象物体を確実に把持するのに十分な把持を達成できるように、対象物体と真空領域117の接触面または把持面との間の接触範囲に基づいて調整することができる。同様に、真空領域117を通る空気流量は、対象物体を確実に把持するのに十分な把持を達成できるように、より重い物体の気流を増加させるなど、対象物体の重量に対応するように動的に調整することができる。吸引要素の実施例は、
図15に関連して説明する。
【0041】
図6は、本技術の1つまたは複数の実施形態による、移送アセンブリ104の機能ブロック図である。処理ユニット150(PU)は、ロボットアームシステム132の動きおよび/または他の動作を制御することができる。PU150は、センサ(例えば、
図3の撮像システム160のセンサ161)、視覚センサデバイス143のセンサ145、またはビデオ、静止画像、ライダデータ、レーダデータ、またはそれらの組み合わせを含む画像データを収集できる他のセンサまたは検出器から画像データを受信することができる。いくつかの実施形態では、画像データは、パッケージ112の表面画像(SI)を示すかまたは表すことができる。
【0042】
PU150は、メモリ152、デジタルメモリ記憶デバイス、または限定されないが、ランダムアクセスメモリ(RAM)、ディスクドライブ、磁気メモリ、読み取り専用メモリ(ROM)、コンパクトディスク(CD)、ソリッドステートメモリ、セキュアデジタルカード、および/またはコンパクトフラッシュカードを含む非一時的コンピュータ可読媒体に永続的または一時的に格納することができるソフトウェアまたはコンピュータ命令コードを実行する任意の電子データ処理ユニットを含むことができる。PU150は、本明細書で具体化される特定の機能のために開発されたアルゴリズムを含むソフトウェアまたはコンピュータ命令コードの実行によって駆動され得る。いくつかの実施形態では、PU150は、本明細書で開示される実施形態のためにカスタマイズされた特定用途向け集積回路(ASIC)であり得る。いくつかの実施形態では、PU150は、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、プログラマブルロジックデバイス(PLD)、プログラマブルゲートアレイ(PGA)、および信号発生器のうちの1つまたは複数を含むことができるが、本明細書の実施形態では、「プロセッサ」という用語は、そのような例示的な処理ユニットに限定されず、その意味は狭く解釈されることを意図していない。例えば、PU150は、複数の電子データ処理ユニットを含むこともできる。いくつかの実施形態では、PU150は、限定されないが、ロボットアームシステム130、エンドエフェクタ140、および/または撮像システム160を含むロボットシステム100の任意の他のシステムによって、またはそれと共に使用されるプロセッサ(複数可)とすることができる。
図6のPU150および
図2のプロセッサ202は、同じ構成要素または異なる構成要素とすることができる。
【0043】
PU150は、入力データの受信を容易にするために、システムおよび/またはソースに(例えば、有線接続、バス接続、および/または無線接続を介して)電子的に結合され得る。いくつかの実施形態では、動作可能に結合されたものは、電子的に結合されたものと交換可能であると考えられ得る。直接接続する必要はなく、代わりに、そのような入力データの受信および出力データの提供は、バスを介して、無線ネットワークを介して、あるいは物理または仮想コンピュータポートを介して、PU150によって受信および/または送信される信号として提供することができる。PU150は、本明細書で論じられる方法を実行するようにプログラムまたは構成され得る。いくつかの実施形態では、PU150は、限定されないが、撮像システム160、およびエンドエフェクタ140などを含む様々なシステムおよび/またはユニットからデータを受信するようにプログラムまたは構成され得る。いくつかの実施形態では、PU150は、様々なシステムおよび/またはユニットに出力データを提供するようにプログラムまたは構成され得る。
【0044】
撮像システム160は、パッケージ(例えば、
図3のデパレタイズプラットフォーム110上に配置されたパッケージ112)を表す画像データを取り込むように構成される1つまたは複数のセンサ161を含むことができる。いくつかの実施形態では、画像データは、パッケージの登録状態の決定を行い得る1つまたは複数の表面に現れる視覚的デザインおよび/または模様を表すことができる。いくつかの実施形態では、センサ161は、対象(例えば、可視および/または赤外線)電磁スペクトル帯域幅内で作動するように構成され、対応するスペクトル内の光/エネルギーを検出するために使用されるカメラである。いくつかのカメラ実施形態では、画像データは、1つまたは複数の三次元(3D)カメラおよび/または1つまたは複数の二次元(2D)カメラから取り込まれた、点群、深度マップ、またはそれらの組み合わせを形成するデータ点のセットである。これらのカメラから、撮像システム160とパッケージング112の1つまたは複数の(例えば、撮像システム160の視野に対して)露出した表面との間の距離または深度が決定され得る。いくつかの実施形態では、距離または深度は、文脈画像分類アルゴリズム(複数可)および/またはエッジ検出アルゴリズム(複数可)などの画像認識アルゴリズム(複数可)を使用することによって決定することができる。一旦決定されると、距離/深度の値は、ロボットアームシステムを介してパッケージを操作するために使用され得る。例えば、PU150および/またはロボットアームシステムは、パッケージが持ち上げおよび/または把持され得る位置を計算するために、距離/深度の値を使用することができる。画像データなどの本明細書に記載されたデータは、情報を含むか、または情報を示すことができる、離散的または連続的なアナログまたはデジタル信号のいずれかを含むことができることに留意されたい。
【0045】
撮像システム160は、動作情報(例えば、状態情報、設定など)、センサ162によって取り込まれたパッケージ(複数可)112の画像、または以下で詳細に論じるように、ロボットシステム100の1人または複数人のオペレータによって閲覧され得る他の情報/出力を提示するように構成される少なくとも1つの表示ユニット164を含むことができる。さらに、表示ユニット164は、限定されないが、対象パッケージ、非対象パッケージ、登録済みパッケージ、および/またはパッケージの未登録インスタンスを表す記号などの、他の情報を提示するように構成することができる。
【0046】
視覚センサデバイス143は、有線接続および/または無線接続を介してPU150と通信することができる。視覚センサ145は、ビデオセンサ、CCDセンサ、ライダセンサ、レーダセンサ、距離測定デバイスまたは検出デバイスなどとすることができる。視覚センサデバイス143からの出力は、マシン/コンピュータビジョンを実装するために(例えば、自動検査、ロボットガイダンス、または他のロボットアプリケーションために)使用される、デジタル画像および/または点群などのパッケージ(複数可)の表現を生成するために使用することができる。視野(例えば、30度、90度、120度、150度、180度、210度、270度の水平および/または垂直FOV)および視覚センサデバイス143の範囲能力は、グリッパアセンブリ141の構成に基づいて選択することができる。(
図4は、約90度の例示的な水平FOVを示す。)いくつかの実施形態では、視覚センサ145は、1つまたは複数の光源(例えば、レーザ、赤外線レーザなど)および光学検出器を有するライダセンサである。光検出器は、光源から放射され、パッケージの表面で反射した光を検出することができる。パッケージの存在および/またはパッケージまでの距離は、検出された光に基づいて決定することができる。いくつかの実施形態では、センサ145は、実質的にすべての真空把持区間(例えば、
図4の真空把持区間125)などの範囲を走査することができる。例えば、センサ154は、放射された光を、検出区間を横切って偏向させるように移動する1つまたは複数の偏向器を含むことができる。いくつかの実施形態では、センサ154は、10°ライダ走査、30°ライダ走査、50°ライダ走査など、垂直および/または水平に走査できる走査レーザベースのライダセンサである。センサ145の構成、FOV、感度、および出力は、所望の検出能力に基づいて選択することができる。いくつかの実施形態では、センサ145は、存在検出器/距離検出器(例えば、レーダセンサ、ライダセンサなど)および、三次元カメラまたは二次元カメラなどの1つまたは複数のカメラの両方を含むことができる。センサとパッケージの1つまたは複数の表面との間の距離または深度は、例えば、1つまたは複数の画像認識アルゴリズムを使用して決定することができる。表示デバイス147は、画像データの表示、センサの状態の表示、較正ルーチンの実行、ログおよび/またはレポートの表示、または限定されないが、パッケージ112の対象、非対象、登録済み、および/または未登録インスタンスを表す記号などの、他の情報またはデータを表示するために使用することができる。
【0047】
ロボットシステム100を制御するために、PU150は、センサ145およびセンサ161の一方または両方からの出力を使用することができる。いくつかの実施形態では、センサ161からの画像出力は、物体を搬送するための命令を含む、全体的な移送計画を決定するために使用される。センサ145ならびにセンサ205(例えば、力検出器アセンブリ)からの画像出力は、物体に対するマルチグリッパアセンブリの位置決め、物体の取り上げの確認、および搬送ステップの監視に使用することができる。
【0048】
図6を引き続き参照すると、RDS170は、複数のパッケージ112の登録レコード172、真空グリッパ用のデータ173を格納するように構成される任意のデータベースおよび/またはメモリ記憶デバイス(例えば、非一時的コンピュータ可読媒体)を含むことができる。例えば、RDS170は、読み取り専用メモリ(ROM)、コンパクトディスク(CD)、ソリッドステートメモリ、セキュアデジタルカード、コンパクトフラッシュカード、および/またはデータ記憶サーバまたはリモート記憶デバイスを含むことができる。
【0049】
いくつかの実施形態では、登録レコード172はそれぞれ、対応するパッケージ112の物理的特性または属性を含むことができる。例えば、各登録レコード172は、限定されないが、1つまたは複数のテンプレートSI、視覚データ(例えば、参照レーダデータ、参照ライダデータなど)、2Dまたは3Dサイズ測定値、重量、および/または重心(CoM)情報を含むことができる。テンプレートSIは、パッケージのデザイン、模様、外観、外形/輪郭、またはそれらの組み合わせを含む、パッケージの既知または以前に決定された可視特性を表すことができる。二次元または三次元のサイズの測定値は、既知のパッケージ/予想されるパッケージの長さ、幅、高さ、またはそれらの組み合わせを含むことができる。
【0050】
いくつかの実施形態では、RDS170は、以下に開示される実施形態に従って作成された(例えば、以前は未知であったパッケージのためのおよび/または以前は未知であったパッケージの態様のための)登録レコード172の新しいインスタンスを受信するように構成することができる。したがって、ロボットシステム100は、RDS170に格納された登録レコード172の数を拡張することによってパッケージ112を登録するためのプロセスを自動化することができ、それによって、パッケージ112の未登録のインスタンスを少なくして、デパレタイズ動作をより効率的に行うことができる。ライブ/動作データを使用して動的に(例えば、動作中/展開中に)RDS170の登録レコード172を更新することにより、ロボットシステム100は、以前は未知であった状態、または予想しない状態(例えば、照明状態、未知の配向、および/または積み重ねの不整合)および/または新たに接するパッケージを考慮することができるコンピュータ学習プロセスを効率的に実施することができる。したがって、ロボットシステム100は、「未知の」状態/パッケージ、関連する人間のオペレータの介入、および/または関連するタスクの失敗(例えば、パッケージの紛失および/または衝突)に起因する失敗を低減することができる。
【0051】
RDS170は、限定されないが、アドレス可能な真空領域の数、真空グリッパデバイス(例えば、マルチグリッパアセンブリ)の搬送能力、真空プロトコル(例えば、真空レベル、空気流量など)、またはロボットアームシステム130および/またはエンドエフェクタ140を制御するために使用される他のデータを含む特性または属性を含む真空グリッパデータ173を含むことができる。オペレータは、ロボットアームシステム130に設置された真空グリッパに関する情報を入力することができる。次いで、RDS170は、動作のための真空グリッパデバイスに対応する真空グリッパデータ173を識別する。いくつかの実施形態では、真空グリッパデバイス(例えば、
図3のグリッパアセンブリ141)は、ロボットアーム139によって自動的に検出され、RDS170は、検出された真空グリッパデバイスに関する情報を識別するために使用される。識別された情報は、真空グリッパデバイスの設定を決定するために使用することができる。したがって、異なる真空グリッパデバイスまたはマルチグリッパアセンブリは、ロボットアームシステム130と共に設置および使用される。
【0052】
エンドエフェクタ
図7は、本技術の1つまたは複数の実施形態による、エンドエフェクタ140の一部の正面、上面等角図である。
図8は、
図7のエンドエフェクタ140の正面、底面等角図である。ここで
図7を参照すると、エンドエフェクタ140は、取り付けインターフェイスまたはブラケット209(「取り付けブラケット209」)ならびに、ブラケット209およびグリッパアセンブリ141に結合された力検出器アセンブリ205を含むことができる。流体ライン207は、真空源221(
図8には図示せず)およびグリッパアセンブリ141などの加圧デバイスに流体的に結合することができる。
【0053】
視覚センサデバイス143のFOV(可変または固定FOV)は、グリッパアセンブリ141の下に運ばれる任意の物体の検出を提供するために、概してグリッパアセンブリ141の下に向けられる。視覚センサデバイス143は、視覚センサデバイス143が1つまたは複数の真空領域117(図示されているもの)の実質的な水平面、より具体的には、把持インターフェイス121(図示されているもの)の把持面の下になるように、エンドエフェクタ140の周囲に沿って配置することができる。「実質的に水平」という用語は、一般に、水平の約±2度以内の角度、例えば、水平の約±0.7度以内の角度など、水平の約±1度以内の角度を指す。一般に、エンドエフェクタ140は、ロボットシステム100が、普通なら真空領域117の単一のインスタンスによって把持できないはずの対象物体を把持することを可能にする複数の真空領域117を含む。しかし、真空領域117の単一のインスタンスを有するエンドエフェクタ140に対して、エンドエフェクタ140のサイズがより大きいため、より大きな範囲が検出センサからは不明瞭になる。1つの利点として、把持インターフェイス121の水平面の下に位置決めされた視覚センサデバイス143は、エンドエフェクタ140に取り付けられていないか、またはロボットシステム100の動作環境内の異なる場所に位置決めされていない視覚センサデバイス143の他のインスタンスでは、通常、不明瞭になっている対象物体を含む物体との接触開始の間に、把持インターフェイス121を含むFOVを提供することができる。したがって、不明瞭になっていないFOVは、把持動作中、エンドエフェクタ140の位置および動きに対するリアルタイムまたは即座の調整を可能にすることができる、リアルタイムの画像センサ情報をロボットシステムに提供することができる。さらなる利点として、把持インターフェイス121の水平面の下に位置決めされた視覚センサデバイス143と物体(例えば、
図3の非対象物体112a、112b)との間の近接により、把持動作中の精度および正確度が向上し、物体の押しつぶしなどによるエンドエフェクタ140からの対象物体112、および対象物体112、a、112bに隣接する非対象物体への損傷を保護または防止することができる。
【0054】
例示の目的のために、視覚センサデバイス143は、エフェクタ幅に沿ってエンドエフェクタ140のコーナーに位置決めされ得るが、視覚センサデバイス143は別の場所にも位置決めすることができることが理解されよう。例えば、視覚センサデバイス143は、エンドエフェクタ140の幅または長さの中心に位置決めすることができる。別の実施例として、視覚センサデバイス143は、エフェクタの長さに沿った別のコーナーまたは他の位置に位置決めすることができる。
【0055】
真空源221(
図7)は、限定されないが、負圧を提供すること、真空(部分真空を含む)を引くこと、または圧力差を生成することができる1つまたは複数の加圧デバイス、ポンプ、弁、または他の種類のデバイスを含むことができる。いくつかの実施形態では、空気圧は、真空源221とグリッパアセンブリ141との間のレギュレータ、またはグリッパアセンブリ141内のレギュレータなどの1つまたは複数のレギュレータで制御することができる。真空源221が真空を引くとき、グリッパアセンブリ141の底部224に空気を吸い込むことができる(
図8に矢印で示される)。圧力レベルは、運搬する物体のサイズおよび重量に基づいて選択することができる。真空レベルが低すぎる場合、グリッパアセンブリ141は、対象物体(複数可)を取り上げることができない場合がある。真空度が高すぎると、パッケージの外側が損傷する可能性がある(例えば、真空度が高いために、外側にビニール袋が付いたパッケージが破れる可能性がある)。いくつかの実施形態によれば、真空源221は、約100ミリバール、約500ミリバール、約1,000ミリバール、約2,000ミリバール、約4,000ミリバール、約6,000ミリバール、約8,000ミリバールなどの真空レベルを提供することができる。代替の実施形態では、より高いまたはより低い真空レベルが提供される。いくつかの実施形態では、真空レベルは、所望の把持力に基づいて選択することができる。各領域117の真空把持力は、真空レベル(例えば、25%、50%、または75%の最大真空レベル、すなわち、真空源221の最大真空レベル)で、約50N、100N、150N、200N、または300N以上とすることができる。これらの把持力は、段ボール箱、ビニール袋、またはその他の適切な搬送用パッケージを取り上げるときに達成することができる。同じ物体または異なる物体を搬送する場合を含め、異なる真空レベルを使用することができる。例えば、物体を最初に把持するために、比較的高い真空を提供することができる。パッケージが把持されると、物体を保持し続けるために必要な把持力(したがって、真空レベル)を下げることができるため、より低い真空レベルを提供することができる。把持真空は、特定のタスクを実行するときに確実な把持を維持するために増大させることができる。
【0056】
力検出器アセンブリ205は、エンドエフェクタ140によって運ばれる荷物を示す力を検出するように構成される1つまたは複数のセンサ203(1つは図示)を含むことができる。検出された測定値は、座標系の軸および/または軸に沿った線形力測定値、モーメント測定値、圧力測定値、またはそれらの組み合わせを含むことができる。いくつかの実施形態では、センサ203は、最大3軸力(例えば、デカルト座標系のx軸、y軸、およびz軸に沿って検出される力)および/または3軸モーメント(例えば、デカルト座標系のx軸、y軸、およびz軸について検出されるモーメント)を検出するように構成される6軸力センサを有する構成要素を含むF−Tセンサとすることができる。いくつかの実施形態では、センサ203は、信号処理のための内蔵増幅器およびマイクロコンピュータ、静的および動的測定を行う能力、および/またはサンプリング間隔に基づいて瞬間的な変化を検出する能力を含むことができる。デカルト座標系を参照したいくつかの実施形態では、1つまたは複数の軸(すなわち、F(x軸)、F(y軸)、および/またはF(z軸))に沿った力の測定値(複数可)および/または1つまたは複数の軸(すなわち、M(x軸)、M(y軸)、および/またはM(z軸))に関するモーメント測定値(複数可)は、センサ203を介して取り込まれ得る。CoM計算アルゴリズムを適用することにより、パッケージの重量、パッケージの位置、および/またはパッケージの数を決定することができる。例えば、パッケージの重量は、力測定値(複数可)の関数として計算され得て、パッケージのCoMは、力測定値(複数可)およびモーメント測定値(複数可)の関数として計算され得る。いくつかの実施形態では、パッケージの重量は、力測定値(複数可)、視覚センサデバイス143からのパッケージ位置情報、および/または把持情報(例えば、パッケージ(複数可)との封止が達成される場所)の関数として計算される。いくつかの実施形態では、センサ203は、有線通信および/または無線通信を介して処理ユニット(例えば、
図6のPU150)と通信可能に結合することができる。
【0057】
いくつかの実施形態では、力検出器アセンブリ205および視覚センサデバイス143の両方からの出力測定値を使用することができる。例えば、物体の相対位置は、視覚センサデバイス143からの出力に基づいて決定することができる。次いで、力検出器アセンブリ205からの出力を使用して、各物体の重量/質量など、各物体に関する情報を決定することができる。力検出器アセンブリ205は、複数の物理的構造または表面間の直接接触に関連する特性を測定するように構成される、接触センサ、圧力センサ、力センサ、歪みゲージ、ピエゾ抵抗センサ/圧電センサ、静電容量センサ、ピエゾ抵抗センサおよび歪みセンサ、トルクセンサ、線形力センサ、またはその他の触覚センサを含むことができる。例えば、力検出器アセンブリ205は、対象物体上のエンドエフェクタの把持に対応する特性を測定するか、または対象物体の重量を測定することができる。したがって、力検出器アセンブリ205は、グリッパと対象物体との間の接触または付着の程度に対応する、測定された力またはトルクなどの定量化された測定を表す接触測定を出力することができる。例えば、接触測定は、エンドエフェクタによって対象物体に加えられる力に関連する1つまたは複数の力またはトルクの測定値を含むことができる。力検出器アセンブリ205または他の検出器からの出力は、エンドエフェクタ140と統合されるか、またはそれに取り付けられる。例えば、力トルクセンサ情報に基づく対象物体の重量または重量分布などの接触センサからのセンサ情報は、対象物体の寸法などの画像センサ情報と組み合わせて、自動登録または自動化された物体登録システムなどによって、対象物体の独自性を決定するロボットシステムによって使用することができる。
【0058】
図9は、本技術の1つまたは複数の実施形態によるグリッパアセンブリ141の分解等角図である。グリッパアセンブリ141は、ハウジング260および内部アセンブリ263を含む。ハウジング260は、内部構成要素を囲んで保護することができ、力検出器アセンブリ205の少なくとも一部を受け入れるように構成される開口部270を画定することができる。内部アセンブリ263は、グリッパブラケットアセンブリ261(「ブラケットアセンブリ261」)、マニホールドアセンブリ262、および複数のグリッパ264a、264b、264c(総称して「グリッパ264」)を含むことができる。ブラケットアセンブリ261は、
図10および
図11に関連して論じられるように、マニホールドアセンブリ262を介して流体ライン(例えば、
図7の流体ライン207)に直列または並列に流体的に結合することができる、真空グリッパ264のそれぞれを保持することができる。いくつかの実施形態では、ブラケットアセンブリ261は、細長い支持体269およびグリッパ264を細長い支持体269に接続するブラケット267(図示されているもの)を含む。グリッパアセンブリ141は、吸引要素、封止部材(例えば、封止パネル)、および
図13〜
図15に関連して論じられる他の構成要素を含むことができる。
【0059】
図10および
図11は、それぞれ、本技術の1つまたは複数の実施形態による、グリッパアセンブリの構成要素の背面、上面等角図および平面図である。マニホールドアセンブリ262は、それぞれのグリッパ264a、264b、264cに結合されたグリッパマニホールド274a、274b、274c(総称して「マニホールド274」)を含むことができる。例えば、マニホールド274aは、グリッパ264aに関連する空気流を制御する。いくつかの実施形態では、マニホールド274は、
図7の真空源221などの加圧源に並列または直列に接続することができる。他の実施形態では、各マニホールド274は、個々の加圧デバイスに流体的に結合することができる。
【0060】
マニホールド274は、グリッパ264の1つ、一部、またはすべてに真空を分配するように操作することができる。例えば、マニホールド274aは、空気がグリッパ264aの底部を通って流れることを可能にするために、開状態とすることができる。空気は、マニホールド274aを通って流れ、
図7のライン207などのラインを介して真空グリッパアセンブリを出る。他のマニホールド274b、274cは、マニホールド274b、274cでの吸引を防止するために閉状態とすることができる。各マニホールド274aは、限定されないが、各吸引要素に接続された1つまたは複数のラインを含むことができる。他の実施形態では、グリッパ264aの吸引要素は、内部真空チャンバに接続される。グリッパマニホールド274は、限定されないが、1つまたは複数のラインまたは通路、弁(例えば、逆止弁、玉形弁、三方弁など)、空気圧シリンダ、レギュレータ、オリフィス、センサ、および/または流体の流れを制御することが可能な他の構成要素を含むことができる。各マニホールド274は、均一または不均一な真空把持力を生成するために、吸引要素または吸引要素のグループに均等にまたは不均等に吸引を分配するために使用することができる。電子機器ラインは、マニホールド274をコントローラに通信可能に結合して、モジュールの構成要素およびその構成要素に電力を供給し、それらを制御することができる。一実施形態では、個々のマニホールド274は、共通のインターフェイスおよびプラグと共に使用するための共通のインターフェイスおよびプラグを含むことができ、これにより、マニホールド274および構成要素を迅速かつ容易に追加および除去することが可能になり、それによって、システムの再構成、保守、および/または修理が容易になり得る。
【0061】
グリッパの数、配置、および構成は、アドレス可能な真空領域の所望の数に基づいて選択することができる。
図12は、本技術の1つまたは複数の実施形態による、
図1〜
図2の環境および
図3〜
図6の移送アセンブリ141で使用するのに適した真空グリッパアセンブリ300(ハウジングは図示せず)の内部構成要素の等角図である。真空グリッパアセンブリ300は、略長方形配置で6つの真空グリッパ302(図示されているもの)を含むことができる。他の実施形態では、グリッパは、円形配置、正方形配置、または他の適切な配置とすることができ、類似または異なる構成を有することができる。グリッパは、限定されないが、楕円形、非多角形などを含む他の形状を有することができる。グリッパは、吸引要素(例えば、吸引管、吸着カップ、封止部材など)、封止部材、弁プレート、グリッパ機構、および把持機能を提供するための他の流体構成要素を含むことができる。
【0062】
図1〜
図11に関連して論じられる1つまたは複数のセンサ、視覚センサデバイス、および他の構成要素は、真空グリッパアセンブリ300に組み込まれるか、または真空グリッパアセンブリ300と共に使用することができる。吸引要素、封止部材、および他の構成要素は、
図13〜
図15に関連して議論される。
【0063】
真空グリッパは直列に配置することができる。例えば、真空グリッパは、2つの横方向の把持位置および1つの中央の把持位置を提供するl×3構成で、隣同士に配置することができる。しかし、エンドエフェクタは、互いに異なる構成で、異なる数の真空グリッパ、吸引チャネルバンク、または真空領域を含むことができることが理解されよう。例えば、エンドエフェクタは、2×2構成で配置された4つの真空グリッパまたは吸引チャネルバンクを含むことができる。真空領域は、対称的な正方形の形状を有するように、長さ寸法と同じまたは同様の幅寸法を有することができる。別の実施例として、エンドエフェクタは、互いに同じまたは異なる長さ寸法および/または幅寸法を有する2つの真空領域または3つを超える真空領域など、異なる数の真空領域を含むことができる。さらに別の実施例では、真空グリッパは、4つの真空領域を有する2×2構成、5つの真空グリッパを含む1:2:2構成、またはその他の幾何学的配置および/または構成など、様々な構成で配置することができる。
【0064】
図13は、本技術のいくつかの実施形態による、ロボットシステム(例えば、
図1〜
図2のロボットシステム100)での使用に適したマルチグリッパアセンブリ400(「グリッパアセンブリ400」)を示す。
図14は、
図13のグリッパアセンブリ400の分解図である。グリッパアセンブリ400は、静止位置(例えば、
図3のプラットフォーム110などのデパレタイズプラットフォーム上の静止位置)からパッケージを把持するように構成される任意のグリッパまたはグリッパアセンブリとすることができる。グリッパアセンブリデバイス400は、グリッパ機構410および接触または封止部材412(「封止部材412」)を含むことができる。グリッパ機構410は、本体414および、それぞれが部材412の開口部418(
図14で図示されているもの)を通過するように構成される複数の吸引要素416(
図14で図示されているもの)を含む。組み立てられると、吸引要素416の各々は、部分的または完全に、対応する開口418を通って延在することができる。例えば、吸引要素416は、第1の側面419を通って封止部材412の第2の側面421に向かって延在することができる。
【0065】
図15は、封止部材412および吸引要素416の部分断面図である。吸引要素416は、真空チャンバおよび/または内部導管430を介してライン(例えば、
図14のライン422)と流体連通することができる。弁437(例えば、逆止弁、安全弁など)は、空気流路436に沿って位置決めすることができる。センサ434は、真空レベルを検出するように位置決めすることができ、有線接続または無線接続を介して、コントローラ(例えば、
図1のコントローラ109)または処理ユニット(例えば、
図6の処理ユニット150)と通信することができる。吸引要素416の下端440は、限定されないが、物体の表面との所望の封止(例えば、一般的な気密封止または他の適切な封止)を形成するための吸着カップまたは別の適切な特徴を含むことができる。下端440が物体に近接または物体と接触している場合、空気が(矢印で示されるように)吸引要素416のポート/入口432(「入口432」)に吸い込まれると、物体を封止部材412の反対方向に引っ張ることができる。空気は、流路426に沿って上方に流れ、吸引要素416の通路433を通って流れる。空気は、弁437を通って導管430内に流れることができる。いくつかの実施形態では、導管430は、真空チャンバ439に接続することができる。例えば、吸引要素416の一部またはすべては、真空チャンバ439に接続することができる。他の実施形態では、吸引要素416の異なるグループは、異なる真空チャンバと流体連通することができる。吸引要素416は、図示のように、その中の空気流通路433を収縮することなく軸方向の圧縮を可能にするために、波状またはベローズ構成を有することができる。吸引要素416の構成、高さ、および寸法は、所望の圧縮率の量に基づいて選択することができる。
【0066】
封止部材412は、全体的または部分的に、高度に曲線を付けて作られた表面を含む、異なる幾何学形状の表面に対応するために変形するように構成される圧縮可能な材料で作製することができる。封止部材412は、全体的または部分的に、独立気泡発泡体(例えば、発泡ゴム)を含む発泡体で作製することができる。封止部材412の材料は、例えば、ビニール袋などの包装を損傷させる可能性がある高い負圧を印加することを回避できるように、少量の空気流(すなわち、空気漏れ)を可能にする多孔質とすることができる。
【0067】
動作の流れ
図16は、本開示の1つまたは複数の実施形態による、ロボットシステムを動作させるための方法490の流れ図である。一般に、搬送ロボットは、取り上げ環境の少なくとも一部を表す画像データを受信することができる。ロボットシステムは、受信した画像データに基づいて対象物体を識別することができる。ロボットシステムは、真空グリッパアセンブリを使用して、識別された対象物体(複数可)をしっかり保持することができる。
図1のロボットシステム100の異なるユニット、アセンブリ、およびサブアセンブリは、方法490を実行できる。方法490の詳細は、以下で詳細に議論される。
【0068】
ブロック500で、ロボットシステム100は、環境の少なくとも一部を表す画像データを受信することができる。例えば、受信した画像データは、
図3の取り上げ環境163での積み重ね165の少なくとも一部を表すことができる。画像データは、限定されないが、ビデオ、静止画像、ライダデータ、レーダデータ、バーコードデータ、またはそれらの組み合わせを含むことができる。いくつかの実施形態では、例えば、
図3のセンサ161は、
図1および
図6のコントローラ109などのコンピュータまたはコントローラに(例えば、有線接続または無線接続を介して)送信されるビデオまたは静止画像を取り込むことができる。
ブロック502で、コンピュータ109(
図1)は、画像データを分析して、物体のグループ内、物体の積み重ねの中などの対象物体を識別することができる。例えば、コントローラ109は、RDS170(
図6)によって格納されている受信された画像データおよび表面画像/データに基づいて、個々の物体を識別することができる。いくつかの実施形態では、降下場所からの情報は、対象物体を選択するために使用される。例えば、降下場所での利用可能な空間の量、好ましい積み重ねの配置などに基づいて、対象物体を選択することができる。ユーザは、物体の取り上げ順序を決定するための選択基準を入力することができる。いくつかの実施形態では、取り上げ環境(例えば、
図3の取り上げ環境163)のマッピングは、受信された画像データに基づいて生成することができる。いくつかのマッピングプロトコルでは、エッジ検出アルゴリズムは、物体、表面などのエッジを識別するために使用される。マッピングを分析して、取り上げ領域のどの物体が共に搬送可能かを決定することができる。いくつかの実施形態では、真空グリッパによって同時に持ち上げられて運ばれることが可能な物体のグループが、対象物体として識別される。
【0069】
図1のロボットシステム100は、実行されるタスクの対象として、移送元物体から対象パッケージまたは物体112を選択することができる。例えば、ロボットシステム100は、所定の順番、規則のセット、物体の輪郭のテンプレート、またはそれらの組み合わせに従って、取り上げる対象物体を選択することができる。具体的な実施例として、ロボットシステム100は、画像デバイスの既知の場所に対する距離および位置を表す点群/深度マップに従って、移送元パッケージの積み重ねの上に配置された移送元パッケージ112のインスタンスなど、エンドエフェクタ140にアクセス可能な移送元パッケージのインスタンスとして対象パッケージを選択することができる。別の具体的な実施例では、ロボットシステム100は、コーナーまたはエッジに配置され、エンドエフェクタ140に露出された、またはエンドエフェクタ140にアクセス可能な2つ以上の表面を有する移送元パッケージ112のインスタンスとして対象物体を選択することができる。さらなる具体的な実施例では、ロボットシステム100は、移送元パッケージの他のインスタンスを妨害または変位させることなく、または最小限に抑えて、基準場所に対して左から右へ、または最も近い場所から最も遠い場所へなどの所定のパターンに従って、対象物体を選択することができる。
【0070】
ブロック504で、コントローラ109は、対象物体を把持するための真空グリッパまたは真空領域を選択することができる。例えば、コントローラ109(
図1)は、実質的にパッケージ112全体(すなわち、対象物体)が真空領域117aの真下にあるので、
図3に示すパッケージ112を把持するための真空領域117a(
図4)を選択することができる。真空は、
図4の真空領域117aの実質的にすべての吸引要素151(例えば、吸引要素151の少なくとも90%、95%、98%)を通して吸引する。
【0071】
ブロック506で、コントローラ109は、ロボットシステム100を制御するための1つまたは複数のコマンドを生成する。いくつかの動作モードでは、コマンドによって、ロボットシステムは識別または選択されたアドレス可能な真空領域で空気を吸い込むことができる。例えば、コントローラ109は、真空源(例えば、
図7の真空源221)に選択された真空レベルで真空を提供するために、1つまたは複数の取り上げコマンドを生成することができる。真空レベルは、対象物(複数可)の重量または質量、実行するタスクなどに基づいて選択することができる。選択された領域またはグリッパでの吸引を提供するために、マニホールド262を動作させるようにグリッパアセンブリ141にコマンドを送信することができる。視覚センサデバイス143(
図7)からのフィードバックを使用して、取り上げおよび移送プロセスを監視することができる。
【0072】
ブロック508で、視覚センサデバイス143を使用して、
図1のパッケージ112などの移送元物体または対象物体を含む、物体に対するエンドエフェクタ140の位置を確認することができる。視覚センサデバイス143を使用して、物体取り上げの前および取り上げ中、物体搬送中、および/または物体の降下中および降下後の、物体に対するエンドエフェクタ140の相対位置を連続的または定期的に監視することができる。視覚センサデバイス143からの出力はまた、物体をカウントするため(例えば、対象物体または移送元物体の数をカウントする)か、そうでなければ物体の積み重ねの分析を含む物体を分析するために使用することができる。視覚センサデバイス143はまた、ロボットシステム100をナビゲートするために使用される環境情報を取得するために使用することができる。
【0073】
ブロック510で、コントローラ109は、作動デバイス(例えば、作動デバイス212)、モータ、サーボ、アクチュエータ、およびロボットアーム139の他の構成要素にグリッパアセンブリ141を移動させるコマンドを生成する。移送コマンドは、ロボットシステムによって生成され、ロボット搬送アームに、場所間で物体を運ぶグリッパアセンブリ141をロボットで移動させることができる。搬送コマンドは、物体を別の物体に衝突させることなく、物体を降下場所に運ぶために、搬送経路を含む搬送計画に基づいて生成することができる。視覚センサデバイス143(
図7)を使用して、衝突を回避することができる。
【0074】
方法490は、複数の対象物体を把持するために実行することができる。エンドエフェクタ140は、移送元パッケージまたは移送元物体の中から対象パッケージまたは対象物体の複数のインスタンスを把持するように構成することができる。例えば、ロボットシステム100は、エンドエフェクタ140が真空領域117の複数のインスタンスと係合して、対象物体の複数のインスタンスを同時に把持するための把持動作を実行するための命令を生成することができる。具体的な実施例として、エンドエフェクタ140を使用して、対象物体の複数のインスタンスを次々と別々および順番に把持する把持動作のための命令を実行することができる。例えば、指示は、1つの姿勢または1つの配向にある対象物体112の第1のインスタンスを把持するために、吸引チャネルバンク117の1つを使用して把持動作を実行すること、次いで、必要に応じて、対象物体の第2のインスタンスを把持するために、真空領域117の第2のまたは異なるインスタンスと係合するようにエンドエフェクタ140を再配置することを含むことができる。別の具体的な実施例では、エンドエフェクタ140を使用して、対象物体の別個のインスタンスを同時に把持する把持動作の命令を実行することができる。例えば、エンドエフェクタ140は、対象物体の2つ以上のインスタンスに同時に接触し、真空領域117の対応するインスタンスのそれぞれと係合して、対象物体の複数のインスタンスのそれぞれに対して把持動作を実行するように位置決めすることができる。上記の実施形態では、吸引チャネルバンク117のそれぞれは、異なる把持動作を実行するために必要に応じて独立して動作させることができる。
【0075】
図17は、本技術の1つまたは複数の実施形態による、基本計画に従って
図1のロボットシステム100を動作させるための方法700の流れ図である。方法700は、
図16の方法490に組み込むことができるステップ、および
図2の1つまたは複数の記憶デバイス204に格納された命令を、
図2の1つまたは複数のプロセッサ202または
図6のコントローラ109を使用して実行することに基づいて実施することができるステップを含む。視覚センサデバイスおよびセンサ出力によって取り込まれたデータは、以下に詳述するように、方法700の様々なステップで使用することができる。
【0076】
ブロック702で、ロボットシステム100は、取り上げ範囲および/または降下範囲(例えば、移送元降下範囲、移送先降下範囲、および/または運搬降下範囲)などの1つまたは複数の指定された範囲を調べる(例えば、走査)することができる。いくつかの実施形態では、ロボットシステム100は、(例えば、
図2のプロセッサ202によって送信されるコマンド/プロンプトを介して)
図2の撮像デバイス222、
図6のセンサ161および/または145、または他のセンサのうちの1つまたは複数を使用して、1つまたは複数の指定された範囲の撮像結果を生成することができる。撮像結果は、限定されないが、取り込まれたデジタル画像および/または点群、物体位置データなどを含むことができる。
【0077】
ブロック704で、ロボットシステム100は、
図1の対象パッケージ112および関連する場所(例えば、
図1の開始場所114および/または
図1のタスク場所116)を識別することができる。いくつかの実施形態では、例えば、ロボットシステム100(例えば、プロセッサ202を介して)は、パターン認識機構および/または一連の規則に従って撮像結果を分析して、物体の輪郭(例えば、周囲のエッジまたは表面)を識別することができる。ロボットシステム100はさらに、(例えば、所定の規則および/または姿勢テンプレートに従って)物体の輪郭のグループを、物体のそれぞれの一意のインスタンスに対応するものとして識別することができる。例えば、ロボットシステム100は、物体輪郭線にわたる色、明るさ、深度/場所、またはそれらの組み合わせにおけるパターン(例えば、同じ値または既知の割合/パターンで変化する)に対応する物体の輪郭のグループを識別することができる。また、例えば、ロボットシステム100は、マスタデータで定義された所定の形状/姿勢テンプレートに従って、物体の輪郭のグループを識別することができる。
【0078】
取り上げ場所で認識された物体から、ロボットシステム100は、1つを(例えば、所定の順番または一連の規則および/または物体輪郭のテンプレートに従って)対象パッケージ112として選択することができる。例えば、ロボットシステム100は、センサの既知の場所に対する距離/位置を表す点群に従ってなど、上部に配置される物体(複数可)として対象パッケージ(複数可)112を選択することができる。また、例えば、ロボットシステム100は、コーナー/エッジに配置される物体(複数可)として対象パッケージ112を選択することができ、撮像結果において露出/表示される2つ以上の表面を有することができる。利用可能な真空グリッパおよび/または領域を使用して、対象パッケージを選択することもできる。さらに、ロボットシステム100は、所定のパターン(例えば、基準場所に対して左から右へ、または最も近い場所から最も遠い場所へなど)に従って対象パッケージ112を選択することができる。
【0079】
いくつかの実施形態では、エンドエフェクタ140は、移送元パッケージの中から対象パッケージ112の複数のインスタンスを把持するように構成することができる。例えば、ロボットシステム100は、エンドエフェクタ140がグリッパ領域117の複数のインスタンスと係合して、対象パッケージ112の複数のインスタンスを同時に把持するための把持動作を実行するための命令を生成することができる。具体的な実施例として、エンドエフェクタ140を使用して、対象パッケージ112の複数のインスタンスを次々と別々および順番に把持する把持動作のための命令を実行することができる。例えば、指示は、1つの姿勢または1つの配向にある対象パッケージ112の第1のインスタンスを把持するために、グリッパ領域117の1つを使用して把持動作を実行すること、次いで、必要に応じて、対象パッケージ112の第2のインスタンスを把持するために、グリッパ領域117の第2のまたは異なるインスタンスと係合するようにエンドエフェクタ140を再配置することを含むことができる。別の具体的な実施例では、エンドエフェクタ140を使用して、対象パッケージ112の別個のインスタンスを同時に把持する把持動作の命令を実行することができる。例えば、エンドエフェクタ140は、対象パッケージ112の2つ以上のインスタンスに同時に接触し、グリッパ領域117の対応するインスタンスのそれぞれと係合して、対象パッケージ112の複数のインスタンスのそれぞれに対して把持動作を実行するように位置決めすることができる。上記の実施形態では、グリッパ領域117のそれぞれは、異なる把持動作を実行するために必要に応じて独立して動作させることができる。
【0080】
選択された対象パッケージ112について、ロボットシステム100は、撮像結果をさらに処理して、開始場所114および/または初期姿勢を決定することができる。例えば、ロボットシステム100は、複数の所定の姿勢テンプレート(例えば、物体の対応する配向に応じた物体の輪郭の異なる潜在的な配置)から、物体の輪郭のグループと比較したときに最も低い差の測定に対応するテンプレートを選択することに基づいて、対象パッケージ112の初期姿勢を決定することができる。また、ロボットシステム100は、撮像結果における対象パッケージ112の場所(例えば、決定された姿勢の所定の基準点)をロボットシステム100によって使用されるグリッド内の場所に変換することによって、開始場所114を決定することができる。ロボットシステム100は、所定の較正マップに従って場所を変換することができる。
【0081】
いくつかの実施形態では、ロボットシステム100は、降下範囲の撮像結果を処理して、物体間の開放空間を決定することができる。ロボットシステム100は、画像場所をシステムによって使用される現実世界の場所および/または座標に変換する所定の較正マップに従って物体輪郭線をマッピングすることに基づいて、開放空間を決定することができる。ロボットシステム100は、開放空間を、異なるグループ/物体に属する物体輪郭線(および、それによる物体表面)間の空間として決定することができる。いくつかの実施形態では、ロボットシステム100は、開放空間の1つまたは複数の寸法を測定し、測定された寸法を(例えば、マスタデータに格納されている)対象パッケージ112の1つまたは複数の寸法と比較することに基づいて、対象パッケージ112に適した開放空間を決定することができる。ロボットシステム100は、所定のパターン(例えば、基準場所に対して左から右へ、最も近い場所から最も遠い場所へ、または下から上へなど)に従って、適切な空間/開放空間のうちの1つをタスク場所116として選択することができる。
【0082】
いくつかの実施形態では、ロボットシステム100は、撮像結果を処理することなく、またはさらに撮像結果を処理して、タスク場所116を決定することができる。例えば、ロボットシステム100は、範囲を撮像することなく、所定の一連の動作および場所に従って物体を配置範囲に配置することができる。さらに、真空グリッパアセンブリ141に取り付けられたセンサ(例えば、視覚センサデバイス143)は、範囲を定期的に撮像するために使用される画像データを出力することができる。撮像結果は、追加の画像データに基づいて更新することができる。また、例えば、ロボットシステム100は、複数のタスクを実行する(例えば、積み重ねの共通の層/段に配置される物体などの複数の物体を移送する)ための撮像結果を処理することができる。
【0083】
ブロック706で、ロボットシステム100は、対象パッケージ112の基本計画を計算することができる。例えば、ロボットシステム100は、
図3のロボットシステム132および/またはエンドエフェクタ(例えば、
図3〜
図5のエンドエフェクタ140)を動作させる
図2の作動デバイス212のための一連のコマンドもしくは設定、またはそれらの組み合わせを計算することに基づいて基本動作計画を計算することができる。いくつかのタスクについては、ロボットシステム100は、開始場所114からタスク場所116に対象パッケージ112を移送するために、ロボットシステム132および/またはエンドエフェクタ140を操作する順番値および設定値を計算することができる。ロボットシステム100は、1つまたは複数の制約、目標、および/または規則に従って空間内の経路を計算するように構成される動作計画機構(例えば、プロセス、関数、方程式、アルゴリズム、コンピュータ生成/読み取り可能なモデル、またはそれらの組み合わせ)を実装することができる。例えば、ロボットシステム100は、所定のアルゴリズムおよび/または他のグリッドベースの検索を使用して、対象パッケージ112を開始場所114からタスク場所116に移動させるための空間を通る経路を計算することができる。動作計画機構は、さらなるプロセス、関数、または方程式、および/または変換テーブルを使用して、作動デバイス212のために、経路を一連のコマンドもしくは設定、またはそれらの組み合わせに変換することができる。動作計画機構を使用する際に、ロボットシステム100は、ロボットアーム206(
図3)および/またはエンドエフェクタ140(
図3)を動作させる順番を計算し、対象パッケージ112に計算された経路を追従させることができる。視覚センサデバイス143を使用して、障害物を識別し、経路を再計算して、基本計画を精緻化することができる。
【0084】
ブロック708で、ロボットシステム100は、基本計画の実行を開始することができる。ロボットシステム100は、一連のコマンドもしくは設定またはそれらの組み合わせに従って作動デバイス212を動作させることに基づいて、基本動作計画の実行を開始することができる。ロボットシステム100は、基本動作計画における第1の動作のセットを実行することができる。例えば、ロボットシステム100は、ブロック752に示すように、対象パッケージ112を把持するための開始場所114の周りの計算された場所および/または配向にエンドエフェクタ140を配置するように作動デバイス212を動作させることができる。
【0085】
ブロック754で、ロボットシステム100は、対象パッケージ112の重量、対象パッケージ112の重心、真空領域に対する対象パッケージ112の相対位置、またはそれらの組み合わせなどの把持動作の前および/または間に取得されたセンサ情報(例えば、視覚センサデバイス143、センサ216、力検出器アセンブリ205からの情報)を使用して、物体の位置を分析することができる。ロボットシステム100は、作動装置212および真空源221(
図7)を動作させ、エンドエフェクタ140に対象パッケージ112を係合させ把持させることができる。視覚センサデバイス143からの画像データおよび/または力センサアセンブリ205からのデータを使用して、対象パッケージ112の位置および数を分析することができる。ブロック755で、視覚センサデバイス143を使用して、対象パッケージ112または他の物体に対するエンドエフェクタ140の位置を確認することができる。いくつかの実施形態では、ブロック756に示すように、ロボットシステム100は、エンドエフェクタを所定の距離だけ上に移動させることによって、初期持ち上げを実行することができる。いくつかの実施形態では、ロボットシステム100は、いくつかの把持動作を追跡するために使用される反復カウンタ「i」をリセットまたは初期化することができる。
【0086】
ブロック710で、ロボットシステム100は、確立された把持を測定することができる。ロボットシステム100は、
図7の力検出器アセンブリ205、視覚センサデバイス143、または圧力センサ434(
図15)などの他のセンサからの測定値に基づいて、確立された把持を測定することができる。例えば、ロボットシステム100は、ロボットアーム139上の1つまたは複数の場所、エンドエフェクタ140上の1つまたは複数の場所、またはそれらの組み合わせで、力、トルク、圧力、またはそれらの組み合わせを測定するために、
図3の力検出器アセンブリ205の1つまたは複数を使用することによって、把持特性を決定することができる。アセンブリ141によって確立される把持の場合など、いくつかの実施形態では、接触または力の測定値は、対象パッケージ112の表面に接触およびその中の真空状態を保持する吸引要素(例えば、
図14の吸引要素416)の量、場所、またはそれらの組み合わせに対応することができる。追加的または代替的に、把持特性は、視覚センサデバイス143からの出力に基づいて決定することができる。例えば、センサ検出器143からの画像データを使用して、物体が搬送中にエンドエフェクタ140に対して移動するかどうかを判定することができる。
【0087】
決定ブロック712で、ロボットシステム100は、測定された把持を閾値(例えば、初期把持閾値)と比較することができる。例えば、ロボットシステム100は、接触または力の測定値を所定の閾値と比較することができる。ロボットシステム100はまた、検出器143からの画像データを参照画像データ(例えば、初期物体取り上げ時に取り込まれた画像データ)と比較して、把持された物体が、例えば、互いに対して、またはグリッパアセンブリ141に対して移動したかどうかを判定することができる。したがって、ロボットシステム100は、接触/把持が対象パッケージ(複数可)112の操作(例えば、持ち上げ、移送、および/または再配向)を継続するのに十分であるかどうかを判定することができる。
【0088】
測定された把持が閾値を満たさない場合、ロボットシステム100は、決定ブロック714に示すように、対象パッケージ(複数可)112を再把持するための反復カウントが反復閾値に達したかどうかを評価することができる。反復カウントが反復閾値未満である間、ロボットシステム100は、接触または力の測定値が閾値を満たさない(例えば、閾値を下回る)場合、基本動作計画から逸脱することがある。したがって、ブロック720で、ロボットシステム100は、ロボットアーム139および/またはエンドエフェクタ140を動作させて、基本動作計画に含まれていない再把持動作を実行することができる。例えば、再把持動作は、ロボットアーム139にエンドエフェクタ140を下降させる(例えば、初期持ち上げを反転させる)および/またはエンドエフェクタ140に対象パッケージ(複数可)112を解放させる、および対象パッケージ112を再把持させる、作動装置212のための所定の一連のコマンドまたは設定、またはそれらの組み合わせを含むことができる。いくつかの実施形態では、所定の順番は、ロボットアーム139をさらに動作させて、対象物体を解放した後、および、対象物体を再把持する前、または真空が引かれる範囲を変更する前に、グリッパの位置を調整することができる。再把持動作を実行する際に、ロボットシステム100は、基本動作計画の実行を一時停止することができる。再把持動作を実行した後、ロボットシステム100は、反復カウントを増分することができる。
【0089】
物体を再把持した後、ロボットシステム100は、ブロック710について上述したように確立された把持を測定することができ、ブロック712について上述したように確立された把持を評価することができる。ロボットシステム100は、反復カウントが反復閾値に達するまで、上述したように対象パッケージ112を再把持することを試みることができる。反復カウントが反復閾値に達したとき、ロボットシステム100は、ブロック716に示すように、基本動作計画の実行を停止することができる。いくつかの実施形態では、ロボットシステム100は、ブロック718に示すように、オペレータ入力を求めることができる。例えば、ロボットシステム100は、
図2の通信デバイス206および/または
図2の入出力デバイス208を介して、オペレータ通知(例えば、所定のメッセージ)を生成することができる。いくつかの実施形態では、ロボットシステム100は、基本動作計画を取り消すまたは削除する、対応するタスクの所定の状態(例えば、エラーコード)を記録する、またはそれらの組み合わせを実行することができる。いくつかの実施形態では、ロボットシステム100は、上述したように、取り上げ/タスク範囲を撮像する(ブロック702)および/または取り上げ範囲内の別のアイテムを対象物体として識別する(ブロック704)ことによって、プロセスを再開することができる。
【0090】
ブロック722に示すように、測定された把持(例えば、各保持されたパッケージについて測定された把持)が閾値を満たすとき、ロボットシステム100は、基本動作計画の残りの部分/動作を実行し続けることができる。同様に、対象パッケージ112を再把持した後、接触測定が閾値を満たすとき、ロボットシステム100は、一時停止された基本動作計画の実行を再開することができる。したがって、ロボットシステム100は、残りの一連のコマンドおよび/または設定に従って
図2の作動デバイス212および/または搬送モータ214を動作させることによって、基本動作計画における順番(すなわち、把持および/または初期持ち上げに続く)動作を実行し続けることができる。例えば、ロボットシステム100は、基本動作計画に従って対象パッケージ112を移送する(例えば、垂直におよび/または水平に)および/または再配向させることができる。
【0091】
基本動作計画を実行している間、ロボットシステム100は、対象パッケージ112の現在の場所および/または現在の配向を追跡することができる。ロボットシステム100は、
図2の位置センサ224からの出力に従って現在の場所を追跡して、ロボットアームおよび/またはエンドエフェクタの1つまたは複数の部分を配置することができる。いくつかの実施形態では、ロボットシステム100は、コンピュータ生成モデル、プロセス、方程式、位置マップ、またはそれらの組み合わせで位置センサ224の出力を処理することによって、現在の場所を追跡することができる。したがって、ロボットシステム100は、関節の位置または配向、および構造部材を組み合わせて、位置をグリッドにさらにマッピングして、現在の場所424を計算および追跡することができる。いくつかの実施形態では、ロボットシステム100は、複数のビーコン源を含むことができる。ロボットシステム100は、ロボットアームおよび/またはエンドエフェクタの1つまたは複数の場所でビーコン信号を測定し、測定値(例えば、信号強度、タイムスタンプ、または伝搬遅延、および/または位相シフト)を使用して、信号源と測定された場所との間の分離距離を計算することができる。ロボットシステム100は、信号源の既知の場所に分離距離をマッピングし、マッピングされた分離距離が重複する場所として、信号受信場所の現在の場所を計算することができる。
【0092】
決定ブロック724で、ロボットシステム100は、基本計画が終了まで完全に実行されたかどうかを判定することができる。例えば、ロボットシステム100は、基本動作計画422におけるすべての動作(例えば、コマンドおよび/または設定)が完了したかどうかを判定することができる。また、ロボットシステム100は、現在の場所がタスク場所116と一致したときに、基本動作計画が終了したと判定することができる。ロボットシステム100が基本計画の実行を終了すると、ロボットシステム100は、上述したように、取り上げ/タスク範囲を撮像する(ブロック702)および/または取り上げ範囲内の別のアイテムを対象物体として識別する(ブロック704)ことによって、プロセスを再開することができる。
【0093】
終了していない場合、ブロック726で、ロボットシステム100は、対象パッケージ112の移送中に把持を(すなわち、接触/力測定値を決定することによって)測定することができる。言い換えれば、ロボットシステム100は、基本動作計画を実行しながら、接触/力測定値を決定することができる。いくつかの実施形態では、ロボットシステム100は、サンプリング周波数に従って、または所定の時間に、接触/力測定値を決定することができる。いくつかの実施形態では、ロボットシステム100は、作動デバイス212で所定の数のコマンドまたは設定を実行する前および/または実行した後、接触/力測定値を決定することができる。例えば、ロボットシステム100は、持ち上げまたは回転などの特定のカテゴリの操作の後またはその最中に、接触センサ226をサンプリングすることができる。また、例えば、ロボットシステム100は、加速度計出力の方向および/または大きさが、急な動きまたは速い動きを表す所定の閾値と一致するかまたは超えるときに、接触センサ226をサンプリングすることができる。ロボットシステム100は、(例えば、ブロック710の場合)上述の1つまたは複数のプロセスを使用して、接触/力測定値を決定することができる。
【0094】
いくつかの実施形態では、ロボットシステム100は、グリッパおよび/または対象パッケージ112の配向を決定し、それに応じて接触測定を調整することができる。ロボットシステム100は、接触センサの感知方向と、配向方向に従って対象物体に加えられる重力との間の方向関係を考慮するために、配向に基づいて接触測定を調整することができる。例えば、ロボットシステム100は、配向に応じて感知方向と基準方向(例えば、「下方」または重力の方向)との間の角度を計算することができる。ロボットシステム100は、計算された角度に対応する係数および/または符号に従って、接触/力測定値を減らすまたは増やすことができる。
【0095】
決定ブロック728で、ロボットシステム100は、測定された把持を閾値(例えば、移送把持閾値)と比較することができる。いくつかの実施形態では、移送把持閾値は、対象パッケージ112に対する初期の(例えば、移送前の)把持の評価に関連する初期把持閾値以下とすることができる。したがって、ロボットシステム100は、対象パッケージ112の移送を開始する前に、把持を評価するためのより厳しい規則を実施することができる。対象パッケージ112を取り上げるのに十分な接触は、対象パッケージ112を移送するのに十分である可能性が高いので、把持の閾値要件は最初により高くすることができる。
【0096】
測定された把持が閾値を満たし(例えば、閾値以上)、正しいパッケージが把持される(例えば、視覚センサデバイス143からの画像データに基づいて決定される)場合、ロボットシステム100は、ブロック722に示し、上述したように、基本計画を実行し続けることができる。測定された把持が閾値を満たさない(例えば、閾値未満)または正しいパッケージが把持されない場合、ロボットシステム100は、基本動作計画から逸脱し、ブロック530に示すように、1つまたは複数の応答動作を実行することができる。測定された把持が閾値に照らして不十分である場合、ロボットシステム100は、基本動作計画に含まれないコマンドおよび/または設定に従って、ロボットアーム139、エンドエフェクタ、またはそれらの組み合わせを動作させることができる。いくつかの実施形態では、ロボットシステム100は、現在の場所に基づいて異なるコマンドおよび/または設定を実行することができる。
【0097】
例示の目的のために、応答動作は制御された降下を使用して説明される。しかし、ロボットシステム100は、ブロック716に示すように、基本動作計画の実行を停止することによって、および/またはブロック718に示すようにオペレータ入力を求めることなどによって、他の動作を実行できることが理解されよう。
【0098】
制御された降下は、(すなわち、完全な把持の失敗の結果としてではなく、対象パッケージ112を降下することおよび/または解放することに基づいた)制御された方法で、(例えば、タスク場所116の代わりに)降下範囲の1つに対象パッケージ112を配置するための1つまたは複数の動作を含む。制御された降下を実行する際、ロボットシステム100は、動的に(すなわち、リアルタイムで、および/または基本動作計画を実行しながら)現在の場所に従って、異なる場所、操作または経路、および/または作動デバイスのコマンドまたは設定を計算することができる。いくつかの実施形態では、エンドエフェクタ140は、対象パッケージ112の複数のインスタンスの把持解放動作のために構成することができる。例えば、いくつかの実施形態では、エンドエフェクタ140は、対象パッケージ112の各インスタンスを適宜解放するために、必要に応じて真空領域117を選択的に解放することによって、把持解放動作を同時にまたは順次実行するように構成することができる。ロボットシステム100は、物体を同時解放するか、順次解放するか、および保持された物体の位置、降下範囲での物体の配置などに基づいて、順序または解放を選択することができる。
【0099】
ブロック762で、ロボットシステム100は、対象パッケージ112を配置するための調整された降下場所および/または関連する姿勢を計算することができる。調整された降下場所を計算する際に、ロボットシステム100は、現在の場所に最も近いおよび/または前方(例えば、現在の場所とタスク場所との間)の降下範囲(例えば、移送元降下範囲、移送先降下範囲、または運搬降下範囲)を識別することができる。また、現在の場所が降下範囲の間にある(すなわち、降下範囲内ではない)場合、ロボットシステム100は、降下範囲までの距離(例えば、降下範囲の代表的な基準場所までの距離)を計算することができる。したがって、ロボットシステム100は、現在の場所および/または現在の場所の前方に最も近い降下範囲を識別することができる。ロボットシステム100は、特定された降下範囲に基づいて、その中の場所を調整された降下場所として計算することができる。いくつかの実施形態では、ロボットシステム100は、所定の順序(例えば、基準場所に対して左から右へ、下から上へ、および/または前から後へ)に従って場所を選択することに基づいて、調整された降下場所を計算することができる。
【0100】
いくつかの実施形態では、ロボットシステム100は、現在の場所から降下範囲内の(例えば、ブロック704で識別されるように、および/または進行中の物体の配置に従って追跡される)開放空間までの距離を計算することができる。ロボットシステム100は、現在の場所の前方の開放空間および/または現在の場所424に最も近い開放空間を調整された降下場所として選択することができる。
【0101】
いくつかの実施形態では、降下範囲および/または開放空間を選択する前に、ロボットシステム100は、所定のプロセスおよび/または方程式を使用して、接触/力測定を最大移送距離に変換することができる。例えば、所定のプロセスおよび/または方程式は、接触測定の様々な値に基づいて、対応する最大移送距離および/または完全な把持失敗までの時間を推定することができる。したがって、ロボットシステム100は、現在の場所からの最大移送距離よりも遠い利用可能な降下範囲および/または開放空間を除外することができる。いくつかの実施形態では、ロボットシステム100が利用可能な降下範囲および/または開放空間を識別できないとき(例えば、アクセス可能な降下範囲がいっぱいのとき)、ロボットシステム100は、ブロック716に示すように基本動作計画の実行を停止する、および/またはブロック718に示すようにオペレータ入力を求めることができる。
【0102】
ブロック766で、ロボットシステム100は、対象パッケージ112を現在の場所から調整された降下場所に移送するための調整された動作計画を計算することができる。ロボットシステム100は、ブロック506について上述した方法と同様の方法で、調整された動作計画を計算することができる。
【0103】
ブロック768で、ロボットシステム100は、基本動作計画に加えて、および/またはその代わりに、調整された動作計画を実行することができる。例えば、ロボットシステム100は、一連のコマンドもしくは設定またはそれらの組み合わせに従って作動デバイス212を動作させ、それによって、ロボットアーム139および/またはエンドエフェクタを操作して、対象パッケージ112を経路に従って移動させることができる。
【0104】
いくつかの実施形態では、ロボットシステム100は、基本動作計画の実行および調整された動作計画の実行を一時停止することができる。調整された動作計画の実行に基づいて対象パッケージ112が調整された降下場所に配置されると(すなわち、制御された降下の実行が完了すると)、いくつかの実施形態では、ロボットシステム100は、ブロック720について上述したように対象パッケージ112を再把持することを試みることができ、次いで、ブロック710について上述したように確立された把持を測定することができる。いくつかの実施形態では、ロボットシステム100は、上述のように、反復制限まで対象パッケージ112を再把持することを試みることができる。接触測定が初期の把持閾値を満たす場合、ロボットシステム100は、調整された動作計画を反転させる(例えば、一時停止された点/場所に戻る)および一時停止された基本動作計画の残りの部分の実行を継続することができる。いくつかの実施形態では、ロボットシステム100は、調整された動作計画を現在の場所424(再把持後)からタスク場所116に更新および再計算して、タスクの実行を終了するために調整された動作計画を実行することができる。
【0105】
いくつかの実施形態では、ロボットシステム100は、配置された対象パッケージ112を反映するために、アクセスされた降下範囲の範囲ログ(例えば、開放空間および/または配置された物体の記録)を更新することができる。例えば、ロボットシステム100は、対応する降下範囲の撮像結果を再生成することができる。いくつかの実施形態では、ロボットシステム100は、制御された降下を実行し、対象のパッケージ112を調整された降下場所に配置した後、基本動作計画の残りの動作を取り消すことができる。1つまたは複数の実施形態では、運搬降下範囲は、
図1の搬送ユニット106の1つの上部に配置されたパレットまたは容器を含むことができる。指定された時間(例えば、パレット/容器がいっぱいになったとき、および/または入ってくるパレット/容器が遅れたとき)に、対応する搬送ユニットは、降下範囲から取り上げ範囲に移動することができる。したがって、ロボットシステム100は、方法500を再実施することができ、それにより、降下させたアイテムを対象パッケージ112として再識別し、それらを対応するタスク場所116に移送することができる。
【0106】
対象パッケージ112が調整された降下場所に配置されると、ロボットシステム100は、新しい対象物体に対して方法700を繰り返すことができる。例えば、ロボットシステム100は、新しい対象物体を移送するために、取り上げ範囲内の次の物体を対象パッケージ112として決定し、新しい基本動作計画を計算することなどができる。
【0107】
いくつかの実施形態では、ロボットシステム100は、接触測定312に基づいて経路計算機構を更新するフィードバック機構を含むことができる。例えば、ロボットシステム100は、調整された位置で(例えば、ブロック720について上述したように)対象パッケージ112を再把持するための動作を実施するので、ロボットシステム100は、(例えば、ブロック712について上述したように)閾値を満たす接触/力測定値を生成したエンドエフェクタの位置を格納することができる。ロボットシステム100は、対象パッケージ112に関連して位置を格納することができる。ロボットシステム100は、把持失敗および/または成功した再把持動作の数が閾値に達したときに、対象パッケージ112を把持するために(例えば、最近の一連の動作を分析するための実行中のウィンドウを使用して)格納された位置を分析することができる。特定の物体について所定数の再把持動作が発生すると、ロボットシステム100は、動作計画機構を更新して、対象パッケージ112に対して新しい位置(例えば、最も多い成功数に対応する位置)にグリッパを配置することができる。
【0108】
ブロック710および/またはブロック726で表される動作に基づいて、ロボットシステム100は(例えば、プロセッサ202を介して)、基本動作計画の実行の進行状況を追跡することができる。いくつかの実施形態では、ロボットシステム100は、対象パッケージ(複数可)112の水平移送に従って進行状況を追跡することができる。ロボットシステム100は、水平移送を開始する前の確立された把持の測定(ブロック710)に基づいて、および水平移送を開始した後の移送中の把持の測定(ブロック726)に基づいて進行状況を追跡することができる。したがって、ロボットシステム100は、上述したように進行状況に基づいて、アクチュエータコマンド、アクチュエータ設定、またはそれらの組み合わせの新しいセット(すなわち、基本動作計画とは異なる)を選択的に生成することができる。
【0109】
他の実施形態では、例えば、ロボットシステム100は、作動デバイス212によって通信された、および/または実施されたコマンド、設定、またはそれらの組み合わせを追跡することに基づいて進行状況を追跡することができる。進行状況に基づいて、ロボットシステム100は、アクチュエータコマンド、アクチュエータ設定、またはそれらの組み合わせの新しいセットを選択的に生成して、再把持応答動作および/または制御された降下応答動作を実行することができる。例えば、進行状況が対象パッケージ112の任意の水平移送の前であるとき、ロボットシステム100は、初期把持閾値を選択し、(例えば、関数呼び出しまたは飛び越し命令を介して)ブロック712以降に表される動作を実行することができる。また、進行状況が対象パッケージ112の水平移送の後であるとき、ロボットシステム100は、移送把持閾値を選択し、(例えば、関数呼び出しまたは飛び越し命令を介して)ブロック728以降に表される動作を実行することができる。
【0110】
接触/力測定値および視覚に基づく監視に従って、対象パッケージ112のきめ細かい制御/操作を、視覚センサデバイス143からの撮像データを介して実施する(すなわち、基本動作計画を実施するか、基本動作計画から逸脱するかを選択する)ことにより、物体を移送するための改善された効率、速度、および正確度を提供する。例えば、接触測定が初期の把持閾値を下回るか、パッケージ112が不適切に位置決めされているときに、対象パッケージ112を再把持すると、移送中に把持失敗が発生する可能性が低下し、移送中に紛失するか、または意図せずに降下する物体の数が減少する。真空領域および真空レベルは、所望の把持を維持するように調整することができ、パッケージ112の取り扱いをさらに向上させる。さらに、紛失した各物体は、結果を修正するために人間の相互作用を必要とする(例えば、紛失した物体を後続のタスクの動作経路から移動させる、紛失した物体の損傷を検査する、および/または紛失した物体のタスクを完了する)。したがって、紛失する物体の数を減らすことにより、タスクおよび/または全体的な操作を実施するために必要な人間の労力が減ることになる。
【0111】
図18〜
図21は、本開示の1つまたは複数の実施形態による、
図16の方法490または
図17の方法700に従ったロボットで物体を把持および搬送する段階を示す。
図18は、物体の積み重ねの上に配置されたグリッパアセンブリ141を示す。ロボットアーム139は、対象物体の真上にグリッパアセンブリ141を位置決めすることができる。
図17のブロック704で論じるように、コントローラは、視覚センサデバイス143からの画像データを分析して、例えば、対象物体812a、812bを識別することができる。収集された画像データに基づいて、計画(例えば、取り上げまたは基本計画)を生成することができる。計画は、(a)グリッパアセンブリ141の運搬能力および/または(b)対象物体の構成に基づいて生成することができる。
【0112】
図19は、対象物体812a、812bおよび大きな非対象物体818を覆うグリッパアセンブリ141の下面を示す。視覚センサデバイス143からの出力を分析して、対象物体に対するグリッパアセンブリ141の位置を確認することができる。物体812a、812bの位置に基づいて、真空領域117a、117bは、真空を引くために識別される。いくつかの実施形態では、力センサ203からの測定値は、グリッパアセンブリ141が対象物体812a、812bを把持する前および/または把持した後に積み重ね814の上面に接触したことを確認するために使用される。
【0113】
図20は、矢印で示すように、他の真空領域117cで真空(または、実質的な真空)を引くことなく対象物体812a、812bをグリッパアセンブリ141に対して保持するために、真空領域117a、117bに吸い込まれる空気を示す。真空レベルを増加または減少させて、コンプライアントパネル(複数可)412(図示されているもの)の圧縮を増加または減少させることができる。真空把持は、
図17のブロック710に関連して論じるように評価することができる。
【0114】
図21は、対象物体812a、812bをしっかりと保持する持ち上がったグリッパアセンブリ141を示す。視覚センサデバイス143を使用して、対象物体812a、812bの位置を監視することができる。追加的または代替的に、力検出器アセンブリ205を使用して、対象物体812a、812bの位置および重量など、積載に関する情報を決定することができる。真空領域117a、117bは、対象物体812a、812bをしっかりと保持するために空気を吸い込み続けることができる。
図17のブロック726で論じられるように移送中の真空把持を監視することができる。適用された真空を停止または低減して、物体812a、812bを解放することができる。このプロセスを繰り返して、積み重ね内の各物体を移送することができる。
【0115】
結論
開示された技術の実施例の上記の詳細な説明は、網羅的であること、または開示された技術を上記で開示された正確な形態に限定することを意図するものではない。開示された技術の特定の実施例が例示の目的で上記で説明されているが、当業者が認識するように、開示された技術の範囲内で様々な同等の修正が可能である。例えば、プロセスまたはブロックが所与の順序で提示されているが、代替的な実施態様は、ステップを有するルーチンを実行してもよく、またはブロックを有するシステムを異なる順序で使用してもよく、いくつかのプロセスまたはブロックは、代替または部分的な組み合わせを提供するために、削除、移動、追加、細分、結合、および/または変更されてもよい。これらのプロセスまたはブロックのそれぞれは、様々な方法で実施されてもよい。また、プロセスまたはブロックは、時には直列に実行されるように示されているが、これらのプロセスまたはブロックは、代わりに並列に実行または実施されてもよく、または異なる時間に実行されてもよい。さらに、本明細書に記載されている任意の特定の数は単なる実施例であり、代替的な実施態様では、異なる値または範囲を使用してもよい。
【0116】
これらおよび他の変更は、上記の詳細な説明に照らして、開示された技術に対して行うことができる。詳細な説明は、開示された技術の特定の実施例ならびに考えられるベストモードを説明しているが、開示された技術は、上記の説明が本文にどのように詳細に記載されていても、多くの方法で実施することができる。システムの詳細は、本明細書に開示されている技術によって包含されながら、特定の実施態様ではかなり異なり得る。上述したように、開示された技術の特定の特徴または態様を説明するときに使用される特定の用語は、その用語が関連付けられている開示された技術の特定の特性、特徴、または態様に制限されるように、本明細書でその用語が再定義されていることを意味するものと解釈されるべきではない。したがって、本発明は、添付の特許請求の範囲によるものを除き、限定されない。一般に、以下の特許請求の範囲で使用される用語は、上記の詳細な説明の節でそのような用語を明示的に定義しない限り、開示された技術を本明細書で開示される特定の実施例に限定するように解釈されるべきではない。
【0117】
本発明の特定の態様は、以下に特定の特許請求の範囲の形態で提示されるが、出願人は、本発明の様々な態様を任意の数の特許請求の範囲の形態で検討する。したがって、本出願人は、本願または継続出願のいずれかで、そのような付加的な特許請求の範囲の形態を追求するために、本願を出願した後に付加的な特許請求の範囲を追求する権利を留保する。
【解決手段】搬送ロボットを動作させるための方法は、物体のグループを表す画像データを受信し、グループ内の対象物体を識別する。アドレス可能な真空領域は、識別された対象物体に基づいて選択される。搬送ロボットは、選択されたアドレス可能な真空領域に、識別された対象物体を保持および搬送するように指令を出す。搬送ロボットは、それぞれ独立して真空を提供するように構成されるアドレス可能な真空領域のアレイを有するマルチグリッパアセンブリを含む。視覚センサデバイスは、マルチグリッパアセンブリに隣接する対象物体を表す画像データを取り込むことができる。