JP2023018122A - ロボットツール及びその動作方法 - Google Patents
ロボットツール及びその動作方法 Download PDFInfo
- Publication number
- JP2023018122A JP2023018122A JP2022190679A JP2022190679A JP2023018122A JP 2023018122 A JP2023018122 A JP 2023018122A JP 2022190679 A JP2022190679 A JP 2022190679A JP 2022190679 A JP2022190679 A JP 2022190679A JP 2023018122 A JP2023018122 A JP 2023018122A
- Authority
- JP
- Japan
- Prior art keywords
- tool
- objects
- plan
- plans
- transfer
- 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
- B65G47/00—Article or material-handling devices associated with conveyors; Methods employing such devices
- B65G47/74—Feeding, transfer, or discharging devices of particular kinds or types
- B65G47/90—Devices for picking-up and depositing articles or materials
- B65G47/91—Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers
- B65G47/917—Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers control arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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
- B65G47/00—Article or material-handling devices associated with conveyors; Methods employing such devices
- B65G47/74—Feeding, transfer, or discharging devices of particular kinds or types
- B65G47/90—Devices for picking-up and depositing articles or materials
- B65G47/91—Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers
- B65G47/918—Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers with at least two picking-up heads
-
- 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
- B65G2203/0233—Position of the article
-
- 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/0266—Control or detection relating to the load carrier(s)
- B65G2203/0283—Position of the load carrier
-
- 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/0266—Control or detection relating to the load carrier(s)
- B65G2203/0291—Speed of the load carrier
-
- 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
- B65G67/00—Loading or unloading vehicles
- B65G67/02—Loading or unloading land vehicles
- B65G67/24—Unloading land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Manipulator (AREA)
Abstract
【課題】エンドエフェクタツールセットの選択、変更、及び使用を実行するためのロボットシステムを提供すること。【解決手段】ロボットシステムは、選択されたツールに応じて物体の移送をシミュレーション及び/又は計画すること、移送のための指標(例えば代償)を導出すること、対象である物体のセットのためのプランのセットを蓄積すること、対応する指標(例えば、総移送時間及び/又は推定損失/エラー率)を最適化するプランの組み合わせ/順序を選択することに基づいて、エンドエフェクタツールを選択する。【選択図】図8
Description
関連出願の相互参照
本出願は、2020年11月5日に出願された米国仮特許出願第63/109,870号の利益を主張するものであり、その全体を参照により本明細書に援用する。
本出願は、2020年11月5日に出願された米国仮特許出願第63/109,870号の利益を主張するものであり、その全体を参照により本明細書に援用する。
技術分野
本技術は、一般にロボットシステムを対象とし、より詳細には、物体の把捉及び保持を実施するように構成されるロボットツールを対象とする。
本技術は、一般にロボットシステムを対象とし、より詳細には、物体の把捉及び保持を実施するように構成されるロボットツールを対象とする。
ロボット(例えば、自動的又は自律的に物理的な動作を実行するように構成されるマシン)は、現在多くの分野で広く使用されている。例えば、ロボットは、製造、パッケージング、搬送及び/又は出荷などで、様々なタスク(例えば、物体を操作又は移送する)を実行するために使用することができる。タスクを実行する際、ロボットは人間のアクションを再現できるため、危険なタスク又は反復的なタスクを実行するために、普通なら必要とされる人間の介入を置き換えたり、減らしたりすることができる。多くの場合、ロボットは、より複雑なタスクの実行に必要とされる人間の鋭敏性及び/又は適応性を再現するのに必要である精巧さを欠く。例えば、ロボットは、ある特定の最適ではない位置又は姿勢の物体(複数可)をつかむのに困難を伴うことが間々ある。したがって、把持ツールのセットを使用して物体を移送するための改良されたロボットシステム及び技法が必要とされている。
本明細書では、エンドエフェクタツールセットの選択、変更、及び使用を実施するためのシステム及び方法を説明する。例えば、ロボットシステムは、エンドエフェクタツールに選択的に接続するように構成された搬送ロボットを含み得る。本ロボットシステムは、異なるエンドエフェクタツールを選択し、接続して、物体を把捉し、移送することができる。ロボットシステムは、ツールセットにアクセスし、そこから選ぶことができる。いくつかの実施形態では、ツールセットは、標準の固定ツール、固定角度ツール、及び/又は可撓性ヘッドツールを含み得る。標準の固定ツールは、ツールアームにしっかりと取り付けられたエンドエフェクタを有してもよい。標準の固定ツールは、ツールアームの向きに直交する全般的な向き又は上面を有する物体を把持するように構成することができる。固定角度ツールは、ツールアームとグリッパヘッド/インターフェースとの間に非直交角度を有するように構成することができる。可撓性のある、又は調節可能なヘッドツールは、ツールアームとグリッパヘッド/インターフェースとの間の相対的な角度/向きを、対象である物体の姿勢に応じて調節できるように構成することができる。
いくつかの実施形態では、ロボットシステムは、選択されたツールに応じて物体の移送をシミュレーション及び/又は計画すること、移送のための指標(例えば、代償及び/又は利益)を導出すること、対象である物体のセットのためのプランのセットを蓄積すること、及び/又は対応する指標(例えば、総移送時間及び/又は推定損失/エラー率)を最適化するプランの組み合わせ/順序を選択することに基づいて、エンドエフェクタツールを選択し得る。追加又は代替として、ロボットシステムは、選択されたプランを、後続の物体のためのプラン導出と並行して実施してもよい。
ツールセット(例えば、複数の選択可能なツール)、及び/又は(例えば、単体の物体が検出された際に、その物体に基づく代わりに)物体のグループに対するプラン及びツールの用い方を調整することにより、リソース消費の減少及び/又はエラーの減少が実現される。いくつかの実施形態では、企画及び検証のプロセスは、そのプランの実行/実施に必要な時間長(例えば、1秒~5秒)及び/又はツールの変更に必要な時間長(例えば、5秒~10秒)よりも短い時間長(例えば、1秒以下)で完了することができる。したがって(例えば、一度に1つの物体に対して計画するのではなく)複数の物体のセットに対して移送を計画することにより、ロボットシステムは、ツール変更動作などの最も高い代償(例えば、時間/期間)を伴うアクションを最小化するプランのセットを導出することができる。
以下では、現在開示されている技術を完全に理解できるように、多数の具体的な細部について述べる。他の実施形態では、本明細書で紹介する技術は、これらの具体的な細部なしで実施できる。他の実施例では、特定の関数又はルーチンなどの周知の特徴は、本開示を不必要に曖昧にすることを回避するために詳細には説明されない。本明細書における「実施形態」、「一実施形態」などへの言及は、説明されている特定の特徴、構造、材料、又は特性が本開示の少なくとも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は、移送ユニット104に割り当てられたエリアから積載ユニット108に割り当てられたエリアに対象物体112を移送することができ、積載ユニット108は、(例えば、対象物体112を載せたパレットを移動させることによって)対象物体112を移送ユニット104から収納場所(例えば、棚の上の場所)に移送することができる。タスク及び関連付けられたアクションに関する詳細を以下で説明する。
例示の目的のために、ロボットシステム100は、出荷センタの文脈で説明されるが、ロボットシステム100は、他の環境でタスクを実行するように構成できること/製造、組立、パッケージング、ヘルスケア、及び/又は他のタイプの自動化などの他の目的のためにタスクを実行するように構成できることが理解されよう。ロボットシステム100はまた、図1に示されていない、マニピュレータ、サービスロボット、モジュール型ロボットなどの他のユニットを含むことができることも理解されよう。例えば、いくつかの実施形態では、ロボットシステム100は、物体をケージカート又はパレットからコンベヤ又は他のパレットの上に移送するためのデパレタイズユニット、物体をあるコンテナから別のコンテナに移送するためのコンテナ入れ換えユニット、物体をラッピングするためのパッケージングユニット、物体の1つ又は複数の特性に従って物体をグループ化するための仕分けユニット、物体の1つ又は複数の特性に従って物体を異なる方法で操作するため(例えば、仕分け、グループ化、及び/又は移送するため)のピースピッキングユニット、あるいはそれらの組み合わせを含むことができる。
ロボットシステム100は、動作(例えば、回転変位及び/又は並進変位)のためにジョイントで接続された物理的又は構造的な部材(例えば、ロボットマニピュレータアーム)を含むこと、及び/又はその部材に結合することが可能である。構造部材及びジョイントは、ロボットシステム100の使用/動作に応じて1つ又は複数のタスク(例えば、把持、紡績、溶接など)を実行するように構成されるエンドエフェクタ(例えば、グリッパ)を操作するように構成される運動連鎖を形成することができる。ロボットシステム100は、対応するジョイントの周囲又は対応するジョイントで、構造部材を駆動又は操作(例えば、変位及び/又は再配向)するように構成される作動デバイス(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含み得る。いくつかの実施形態では、ロボットシステム100は、対応するユニット/シャーシを場所から場所へ搬送するように構成される搬送モータを含むことができる。
ロボットシステム100は、構造部材を操作する及び/又はロボットユニットを搬送するなどのタスクの実施のために使用される情報を取得するように構成されるセンサを含むことができる。センサは、ロボットシステム100の1つ又は複数の物理的特性(例えば、その1つ又は複数の構造部材/ジョイントの状態、状況、及び/又は位置)及び/又は周囲環境の1つ又は複数の物理的特性を検出又は測定するように構成されるデバイスを含むことができる。センサのいくつかの実施例には、加速度計、ジャイロスコープ、力センサ、歪みゲージ、触覚センサ、トルクセンサ、位置エンコーダなどを含むことができる。
いくつかの実施形態では、例えば、センサは、周囲環境を検出するように構成される1つ又は複数の撮像デバイス(例えば、視覚カメラ及び/又は赤外線カメラ、2D及び/又は3D撮像カメラ、ライダ又はレーダなどの距離測定デバイスなど)を含むことができる。撮像デバイスは、(例えば、自動検査、ロボット誘導、又は他のロボット応用のために)マシン/コンピュータビジョンを介して処理され得る、デジタル画像及び/又は点群など、検出された環境の表現を生成することができる。ロボットシステム100は、デジタル画像及び/又は点群を処理して、対象物体112、開始位置114、タスク位置116、対象物体112の姿勢、又はそれらの組み合わせを識別することができる。
対象物体112を操作するために、ロボットシステム100は、指定されたエリア(例えば、トラック内又はコンベヤベルト上などのピックアップ位置)の画像を取り込み分析して、対象物体112及びその開始位置114を識別することができる。同様に、ロボットシステム100は、別の指定されたエリア(例えば、コンベヤに物体を置くための下降位置、コンテナ内に物体を置くための位置、又は積み重ね目的のためのパレット上の位置)の画像を取り込み分析して、タスク位置116を識別することができる。例えば、撮像デバイスは、ピックアップエリアの画像を生成するように構成される1つ又は複数のカメラ、及び/又はタスクエリア(例えば、下降エリア)の画像を生成するように構成される1つ又は複数のカメラを含むことができる。以下で説明するように、取り込まれた画像に基づいて、ロボットシステム100は、開始位置114、タスク位置116、関連した姿勢、梱包/配置プラン、移送/梱包順序、及び/又は他の処理結果を判定することができる。
いくつかの実施形態では、例えば、センサは、ロボットシステム100の構造部材(例えば、ロボットアーム及び/又はエンドエフェクタ)及び/又は対応するジョイントの位置を検出するように構成される位置センサ(例えば、位置エンコーダ、電位差計など)を含むことができる。ロボットシステム100は、位置センサを使用して、タスクの実行中に構造部材及び/又はジョイントの位置及び/又は配向を追跡することができる。
ロボットシステム
図2は、本技術の1つ又は複数の実施形態によるロボットシステム100を示すブロック図である。いくつかの実施形態では、例えば、ロボットシステム100(例えば、上述のユニット及び/又はロボットの1つ又は複数)は、1つ又は複数のプロセッサ202、1つ又は複数の記憶デバイス204、1つ又は複数の通信デバイス206、1つ又は複数の入力出力デバイス208、1つ又は複数の作動デバイス212、1つ又は複数の搬送モータ214、1つ又は複数のセンサ216、又はそれらの組み合わせなどの電子/電気デバイスを含むことができる。様々なデバイスは、有線接続及び/又は無線接続を介して互いに結合することができる。例えば、ロボットシステム100は、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バス又はPCI-Expressバス、ハイパートランスポート又は業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、又は電気電子技術者協会(IEEE)標準1394バス(「ファイアワイヤ」とも呼ばれる)などのバスを含むことができる。また、例えば、ロボットシステム100は、デバイス間の有線接続を提供するために、ブリッジ、アダプタ、プロセッサ、又は他の信号関連デバイスを含むことができる。無線接続は、例えば、セルラ通信プロトコル(例えば、3G、4G、LTE、5Gなど)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、無線フィデリティ(WIFI))、ピアツーピア又はデバイス間通信プロトコル(例えば、Bluetooth、近距離無線通信(NFC)など)、モノのインターネット(IoT)プロトコル(例えば、NB-IoT、LTE-Mなど)、及び/又は他の無線通信プロトコルに基づくことができる。
図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)標準1394バス(「ファイアワイヤ」とも呼ばれる)などのバスを含むことができる。また、例えば、ロボットシステム100は、デバイス間の有線接続を提供するために、ブリッジ、アダプタ、プロセッサ、又は他の信号関連デバイスを含むことができる。無線接続は、例えば、セルラ通信プロトコル(例えば、3G、4G、LTE、5Gなど)、無線ローカルエリアネットワーク(LAN)プロトコル(例えば、無線フィデリティ(WIFI))、ピアツーピア又はデバイス間通信プロトコル(例えば、Bluetooth、近距離無線通信(NFC)など)、モノのインターネット(IoT)プロトコル(例えば、NB-IoT、LTE-Mなど)、及び/又は他の無線通信プロトコルに基づくことができる。
プロセッサ202は、記憶デバイス204(例えば、コンピュータメモリ)に格納された命令(例えば、ソフトウェア命令)を実行するように構成されるデータプロセッサ(例えば、中央処理装置(CPU)、専用コンピュータ、及び/又はオンボードサーバ)を含むことができる。いくつかの実施形態では、プロセッサ202は、図2に示す他の電子/電気デバイス、及び/又は図1に示すロボットユニットに動作可能に結合される別個の/スタンドアロンのコントローラに含まれ得る。プロセッサ202は、他のデバイスを制御するためのプログラム命令/他のデバイスとインターフェースをとるためのプログラム命令を実施することができ、それによりロボットシステム100に、アクション、タスク、及び/又は動作を実行させる。
記憶デバイス204は、プログラム命令(例えば、ソフトウェア)が格納されている非一時的コンピュータ可読媒体を含むことができる。記憶デバイス204のいくつかの実施例は、揮発性メモリ(例えば、キャッシュ及び/又はランダムアクセスメモリ(RAM))及び/又は不揮発性メモリ(例えば、フラッシュメモリ及び/又は磁気ディスクドライブ)を含むことができる。記憶デバイス204の他の実施例は、ポータブルメモリドライブ及び/又はクラウド記憶デバイスを含み得る。
いくつかの実施形態では、記憶デバイス204を使用して、処理結果及び/又は所定のデータ/閾値をさらに格納し、それらへのアクセスを提供することができる。例えば、記憶デバイス204は、ロボットシステム100によって操作され得る物体(例えば、ボックス、ケース、及び/又は製品)の記述を含むマスタデータを格納することができる。1つ又は複数の実施形態では、マスタデータには、そのような物体ごとの登録データが含まれ得る。登録データには、ロボットシステム100によって操作されることが予想される物体の寸法、形状(例えば、可能性のある姿勢のためのテンプレート、及び/又は様々な姿勢の物体を認識するためのコンピュータ生成モデル)、配色、画像、識別情報(例えば、バーコード、クイック応答(QR)コード(登録商標)、ロゴなど、及び/又はそれらの予想される位置)、予想される重量、他の物理的/視覚的特性、又はそれらの組み合わせが含まれ得る。いくつかの実施形態では、マスタデータには、各物体の重心(CoM)位置もしくはその推定、1つ又は複数のアクション/操作に対応する予想される(例えば、力、トルク、圧力、及び/又は密着性の)センサ測定結果、又はそれらの組み合わせなど、物体に関する操作関連情報が含まれ得る。
通信デバイス206は、ネットワークを介して外部デバイス又はリモートデバイスと通信するように構成された回路を含むことができる。例えば、通信デバイス206は、受信機、送信機、変調器/復調器(モデム)、信号検出器、信号エンコーダ/デコーダ、コネクタポート、ネットワークカードなどを含むことができる。通信デバイス206は、1つ又は複数の通信プロトコル(例えば、インターネットプロトコル(IP)、無線通信プロトコルなど)に従って電気信号を送信、受信、及び/又は処理するように構成することができる。いくつかの実施形態では、ロボットシステム100は、通信デバイス206を使用して、ロボットシステム100のユニット間で情報を交換する、及び/又は(例えば、報告、データ収集、分析、及び/又はトラブルシューティングの目的で)ロボットシステム100の外部のシステム又はデバイスと情報を交換することができる。
入力出力デバイス208は、人間のオペレータと情報を通信し、及び/又は人間のオペレータから情報を受信するように構成されるユーザインターフェースデバイスを含むことができる。例えば、入力出力デバイス208は、人間のオペレータに情報を伝達するためのディスプレイ210及び/又は他の出力デバイス(例えば、スピーカ、触覚回路、又は触覚フィードバックデバイスなど)を含むことができる。また、入力出力デバイス208は、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインターフェース(UI)センサ(例えば、動作コマンドを受信するためのカメラ)、ウェアラブル入力デバイスなどの制御デバイス又は受信デバイスを含むことができる。いくつかの実施形態では、ロボットシステム100は、入力出力デバイス208を使用して、アクション、タスク、動作、又はそれらの組み合わせを実行する際に人間のオペレータとインタラクトすることができる。
いくつかの実施形態では、コントローラ(例えば、別個の電子デバイス)が、プロセッサ202、記憶デバイス204、通信デバイス206、及び/又は入力出力デバイス208を含むことができる。コントローラは、スタンドアロンの構成要素、又はユニット/アセンブリの一部とすることができる。例えば、システム100の各荷下ろしユニット、移送アセンブリ、搬送ユニット、及び積載ユニットは、1つ又は複数のコントローラを含むことができる。いくつかの実施形態では、単一のコントローラは、複数のユニット又はスタンドアロン構成要素を制御することができる。
ロボットシステム100は、動作(例えば、回転変位及び/又は並進変位)のためにジョイントで接続された物理的又は構造的な部材(例えば、ロボットマニピュレータアーム)を含むことができる。構造部材及びジョイントは、ロボットシステム100の使用/動作に応じて1つ又は複数のタスク(例えば、把持、紡績、溶接など)を実行するように構成されるエンドエフェクタ(例えば、グリッパ)を操作するように構成される運動連鎖を形成することができる。ロボットシステム100は、対応するジョイントの周り又は対応するジョイントで、構造部材を駆動又は操作(例えば、変位及び/又は再配向)するように構成される作動デバイス212(例えば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマなど)を含み得る。いくつかの実施形態では、ロボットシステム100は、対応するユニット/シャーシを色々な場所に搬送するように構成される搬送モータ214を含むことができる。例えば、作動デバイス212及び搬送モータは、ロボットアーム、線形スライド、又は他のロボット構成要素に接続されているか、それらの一部である。
センサ216は、構造部材を操作する及び/又はロボットユニットを搬送するなどのタスクの実施のために使用される情報を取得するように構成することができる。センサ216は、ロボットシステム100の1つ又は複数の物理的特性(例えば、1つ又は複数の構造部材/そのジョイントの状態、状況、及び/又は位置)及び/又は周囲環境の1つ又は複数の物理的特性を検出又は測定するように構成されるデバイスを含むことができる。センサ216のいくつかの実施例は、接触センサ、近接センサ、加速度計、ジャイロスコープ、力センサ、歪みゲージ、トルクセンサ、位置エンコーダ、圧力センサ、真空センサなどを含むことができる。
いくつかの実施形態では、例えば、センサ216は、周囲環境を検出するように構成される1つ又は複数の撮像デバイス222(例えば、視覚カメラ及び/又は赤外線カメラ、2次元及び/又は3次元撮像カメラ、ライダ又はレーダなどの距離測定デバイスなど)を含むことができる。撮像デバイス222は、カメラ(視覚カメラ及び/又は赤外線カメラを含む)、ライダデバイス、レーダデバイス、及び/又は他の距離測定デバイス又は検出デバイスを含むことができる。撮像デバイス222は、(例えば、自動検査、ロボット誘導、又は他のロボット応用のために)マシン/コンピュータビジョンを介して処理され得る、デジタル画像及び/又は点群など、検出された環境の表現を生成することができる。
対象物体112を操作するために、ロボットシステム100は(例えば、上記の様々な回路/デバイスを介して)指定されたエリア(例えば、トラック内又はコンベヤベルト上などのピックアップ位置)の画像を取り込み分析して、対象物体112及びその開始位置114を識別することができる。同様に、ロボットシステム100は、別の指定されたエリア(例えば、コンベヤに物体を置くための下降位置、コンテナ内に物体を置くための位置、又は積み重ね目的のためのパレット上の位置)の画像を取り込み分析して、タスク位置116を識別することができる。例えば、撮像デバイス222は、ピックアップエリアの画像を生成するように構成される1つ又は複数のカメラ、及び/又はタスクエリア(例えば、下降エリア)の画像を生成するように構成される1つ又は複数のカメラを含むことができる。以下で説明するように、取り込まれた画像に基づいて、ロボットシステム100は、開始位置114、タスク位置116、関連した姿勢、梱包/配置プラン、移送/梱包順序、及び/又は他の処理結果を判定することができる。
いくつかの実施形態では、例えば、センサ216は、ロボットシステム100の構造部材(例えば、ロボットアーム及び/又はエンドエフェクタ)及び/又は対応するジョイントの位置を検出するように構成される位置センサ224(例えば、位置エンコーダ、電位差計など)を含むことができる。ロボットシステム100は、位置センサ224を使用して、タスクの実行中に構造部材及び/又はジョイントの位置及び/又は配向を追跡することができる。ロボットシステム100は、センサ216からの検出された位置、追跡された位置、追跡された向きなどを使用して、図1の対象物体112及び/又は構造部材の現在及び/又は一連の過去の位置を表す追跡データを導出することができる。
図3は、本技術の1つ又は複数の実施形態によるロボットシステム100の上面図である。いくつかの実施形態では、ロボットシステム100は、システムマネージャ302、プランナ304、及び/又はロボットアーム306を含むことができる。システムマネージャ302及び/又はプランナ304は、図2に示した1つ又は複数の回路(例えば、プロセッサ202、記憶デバイス204、通信デバイス206など)を実装し、又は含むことができる。
システムマネージャ302は、1つ又は複数のタスクステーション及び/又は対応するロボットユニットの全体的な動作を管理するように構成された機構(例えば、デバイス及び/又はソフトウェアアプリケーション)を含むことができる。例えば、システムマネージャ302は、倉庫又は出荷ハブなどのための施設管理システムを含む場合がある。全体的な動作を管理する中で、システムマネージャ302は、オーダ入力312(例えば、ロボットシステム100によってアクセス可能な物体のセットに対する顧客の要求)を受け取ることがある。システムマネージャ302は、オーダ入力312にリストアップされた物体を収集するために、様々なタスク、タスクステーション及び/又は対応するロボットの間の相互作用/制御、関連したシーケンス又はタイミングなどを導出することができる。システムマネージャ302は、ロボットアーム306とさらに相互作用して、タスクを実施/実行することができる。
プランナ304は、1つ又は複数のロボット又はその中の構成要素を動作させるための細かな制御を引き出すように構成された機構(例えば、デバイス、ソフトウェアアプリケーション/機能、又はそれらの組み合わせ)を含むことができる。プランナ304は、1つ又は複数のロボットユニットを動作させ、システムマネージャ302によって決定されたタスクを達成するために、ロボットの動作プラン及び/又は他のサブシステムとの通信のプロトコル又はシーケンスなどの詳細なステップを導出し得る。
ロボットアーム306を動作させるために、ロボットシステム100は、プランナ304を使用して、図1の開始位置114から図1のタスク位置116へと1つ又は複数のアイテムを移動させるための経路に対応する移送プラン314を導出し得る。例えば、ロボットシステム100は、図2の撮像デバイス222を介して、開始位置114及びタスク位置116の1つ又は複数の画像を取得することができる。ロボットシステム100は、画像を処理して、開始位置114にあるビン(例えば、少なくとも2つの垂直壁を有するコンテナ)の内部の発注された物体及び/又はそれらの姿勢を識別し、又は認識し得る。同様に、ロボットシステム100は、タスク位置116の画像を使用して、開始位置114にある対象物体のそれぞれの配置位置を導出し、又は識別し得る。プランナ304は、対応する位置の間で対象物体を移送するために、ロボットアーム306(例えば、その図2の作動デバイス212及び/又は図2の搬送モータ214)を動作させるための経路及び/又は対応するコマンド、設定、タイミングなどを含む移送プラン314を導出することができる。いくつかの実施形態では、プランナ304は、配置位置から開始し、目的地に向かって移動する際に次増分位置を繰り返して導出することにより、移送プラン314を繰り返して導出してもよい。次増分位置は、例えば、衝突を回避するため、距離/時間を最小化するため、又はその種の他のためなど、1つ又は複数の所定のルールを満たす試験済みの位置であり得る。
ロボットシステム100は、移送プラン314を実施し、それに応じてロボットアーム306を動作させて、オーダ入力312で特定された1つ又は複数の対象物体を移送することができる。例えば、システムマネージャ302は、移送プラン314の経路及び/又はコマンド/設定をロボットアーム306に伝達することなどにより、ロボットアーム306と相互作用し得る。ロボットアーム306は、受信した情報を実行してタスクを遂行することができる。
説明のための実施例として、システムマネージャ302は、1つ又は複数のロボット(例えば、無人搬送車(AGV)、コンベヤなどの搬送ユニット、及び/又はサブシステム)と相互作用して、発注された物体が中に格納されている(例えば、開始ビン322を含む)コンテナに収納エリアからアクセスすることができる。それに応じて、ロボットシステム100は、搬送ユニットを動作させて、開始ビン322をロボットアーム306の開始位置114に搬送することができる。同様に、ロボットアーム306のタスク位置116に、目標コンテナ324(例えば、パッケージングボックス又は積み込み先ビン)を配置してもよい。あるいは、タスク位置116は、コンベヤ又はロボット(例えば、AGV)の上の下降位置又は配置位置に対応し得る。開始位置114及びタスク位置116の準備ができると、システムマネージャ302は、移送プラン(複数可)314に従ってロボットアーム306と相互作用することができる。したがって、ロボットアーム306は、対象物体(複数可)112(例えば、オーダ入力312で指定された物体の1つ又は複数)を把捉し、それ/それらを開始位置114からタスク位置116へと移送することができる。例えば、ロボットアーム306は、開始位置114にある開始ビン(複数可)322から、発注された物体をピッキングし、それらをタスク位置116にある目標コンテナ(複数可)324及び/又は指定された位置に配置して、オーダを履行し得る。
いくつかの実施形態では、ロボットシステム100は、同じロボットを使用して異なるタスクを実行し、及び/又は所与のタスクの実績を改善するために、ツール(例えば、専用のエンドエフェクタ)のセットを利用してもよい。例えば、ロボットシステム100は、ロボットアーム306をグリッパ、溶接機、又はカッターに選択的に接続して、割り当てられたタスクに従って対応する機能を実行し得る。また、ロボットシステム100は、対象である物体の物理的特性、及び/又はその周囲環境の物理的特性(例えば、他の物体の相対的な位置、アプローチ経路の利用可能性など)に応じて、ロボットアーム306をピンチャグリッパ又は真空グリッパに選択的に接続することができる。
いくつかの実施形態では、以下で詳細に説明するように、ロボットシステム100は、対象物体の姿勢に応じて、異なる角度が付けられたインターフェースを有するグリッパに、ロボットアーム306を選択的に接続してもよい。例えば、ロボットシステム100は、対象物体がビンの底に平らに配置され、比較的水平な上面、及び/又は比較的垂直な周囲面を示す場合、第1のツールを選択し得る。あるいは、ロボットシステム100は、対象である物体が非平行な表面を有する場合、又は対象物体が、平坦でない、もしくは非平面的な接触点の上に置かれている場合など、対象となる物体が側平面に対して角度を付けられた姿勢をとっている場合、第2のツールを選択し得る。第2のツールは、そのような角度を付けられた物体を把捉するように構成された接触又は把持インターフェースを含むことができる。
ツールのセットを利用する際に、システムマネージャ302は、対象選択313をプランナ304に提供して、タスク/物体の1つ又は複数に対して選択されたツール及び/又は対象物体112を識別してもよい。プランナ304は、対象選択313とそれに応じたフィードバック318とに従って、移送プラン314を導出することができる。例えば、フィードバック318には、導出が成功した(例えば、衝突を回避するため、又は最小誤差推定値を満たすためなどの、1つ又は複数の閾値条件を満たした)ときに、指定されたツールで対象の物体を移送するための移送プラン314が含まれ得る。フィードバック318には、指定されたツールが対象である物体の把捉及び/又は移送を行うには(例えば、衝突事象を引き起こすことによって)不適切である場合など、導出が失敗した場合のエラーメッセージが含まれてもよい。代替実施形態では、プランナ304は、ツールの選択に関してシステムマネージャ302と相互作用することなく、ツールを選択し、対応する移送プラン314を導出することができる。
複数のツールが利用可能な場合には、ロボットシステム100は、各タスク又はアクションを別々に処理する代わりに、複数のタスク又はアクションを単一のセットとして導出し、評価してもよい。代替又は追加として、ロボットシステム100は、一連のタスクの効率(例えば、全部の完了時間)を改善し又は最大化するように、導出/評価、ツール変更、及びプラン実施のシーケンス又はタイミングを調整してもよい。導出プロセス、ツール変更プロセス、及びアクションの遂行には、代償及びベネフィットの面で相違があるために、個別のタスク及びアクションをセットで導出し評価することで、全体的な実績を改善することができる。例えば、移送プラン314を導出し評価するのに必要な時間長(例えば、1秒以下)は、ツールを変更するために必要である時間長(例えば、5秒以上)よりも短く、及び/又はロボットアーム306でプランを実施するために必要である時間長(例えば、1~5秒)よりも短くすることができる。いくつかの実施形態では、ツールの変更には、1つのアイテムの移送を完了するのに必要な平均又は最大の時間長よりも長く時間がかかる可能性がある。
タスクのセットを導出し評価するために、ロボットシステム100(例えば、システムマネージャ302及び/又はプランナ304)は、アイテムを、その操作に適切なツールに従って識別し、又はグループ化する、ツールに基づく物体グループ316を決定し得る。例えば、ロボットシステム100は、開始ビン322内の対象である物体の姿勢に基づいて(例えば、1つ又は複数の所定の水平/垂直な線又は平面に対する露出面の角度又は配向を用いて)、ツールに基づく物体グループ316を導出することができる。ロボットシステム100は、ツールを変更して利用する代償を考慮した所定のルールのセットに従って、移送プラン314の異なるシーケンス又は組み合わせを評価することができる。1つ又は複数の実施形態では、ロボットシステム100は、各移送プラン314に関連する、推定移送時間及び/又は推定エラー確率などの代償を計算することができる。ロボットシステム100は、上記のように、衝突を引き起こす移送プラン、及び/又はエラー確率(例えば、損失の可能性)が所定の閾値を超える移送プランを排除し、結果として対象物を把捉するのに適切なツールを使用するプランを決定してもよい。ロボットシステム100は、決定されたプランのセットの異なるシーケンスを導出し、それに応じてツール変更動作を含めるか、又は計画することができる。各シーケンスについて、ロボットシステム100は、評価のための全体的な代償メトリック(例えば、全部の完了時間、又は可能性の高いエラー率を考慮した推定完了時間)を計算することができる。実施のために、ロボットシステム100は、全体的な代償メトリックを最小化するシーケンスを選択することができる。
いくつかの実施形態では、ロボットシステム100は、プラン、ツール変更、及びプランの実施のタイミングとこれらの並行した実施とを制御することにより、全体的なタスクの実績を改善することができる。例えば、ロボットシステム100は、物体が識別されたときに、又は開始ビン322が開始位置114に配置されたときに、ロボットアーム306に既に取り付けられているツールを識別してもよい。ロボットシステム100は、既存のツールで把捉可能な対象物体の第1のグループを識別することができる。ロボットシステム100は、グループ内の物体の1つを選択し、対応するプランを導出することができる。第1のプランが完成した時点で、ロボットシステム100は、このグループにおける第2のプランの導出と並行して、第1のプランを実施することができる。第1の物体グループに対するプラニングが完了すると、ロボットシステム100は、第1のプランセット及び/又はツール変更動作の実施と並行して(例えば、実施と同時に/共に)、第2の物体グループに対するプランを導出することができる。
他の例示的な実施形態では、システムマネージャ302は、ロボットアーム306に既に取り付けられている初期ツールを識別してもよい。システムマネージャ302は、プランナ304と相互作用して、取り付けてあるツールを使用して把捉及び移送を行うことが可能な第1の物体を識別し計画することができる。第1のプランの実施中に、システムマネージャ302は、プランナ304と相互作用して、第2の物体のためのプランを作ることができる。導出に失敗した場合、システムマネージャ302は、先行プランの実施と並行して反復的な方法で、異なる物体のためのプランを作るために選択し、相互作用することができる。既存のツールの導出が成功すると、次に、対応する物体及びプランを実行に移すことができる。残りの対象物体のいずれも現在接続されているツールに適さない場合、ロボットシステム100は、進行中又は先行するプランの実施の終わりに、ツール変更動作を実施することを計画してもよい。代替実施形態では、ロボットシステム100は、対象である物体ごとに、利用可能な全てのツールの実現可能性と代償とを導出し、評価してもよい。ロボットシステム100は、好ましいシーケンスを決定する際に、導出のフルセットを分析してもよい。
ツールの例
図4Aは、本技術の1つ又は複数の実施形態による、例示的な移送ユニット(例えば、ロボットアーム306)の図である。ロボットアーム306は、図1の移送ユニット104(例えば、ピースピッカー又はビンピッカーロボット)又はその一部分であり得る。ロボットアーム306は、エンドエフェクタ(例えば、グリッパ)を動作空間にわたって動かすように構成されたアーム部分402を含み得る。アーム部分402は、構造部材(例えば、梁、柱など)のセット、構造部材間のジョイントのセット、及び/又は構造部材のセットをジョイントの周りで移動させるように構成された対応するアクチュエータ/モータのセットを含み得る。
図4Aは、本技術の1つ又は複数の実施形態による、例示的な移送ユニット(例えば、ロボットアーム306)の図である。ロボットアーム306は、図1の移送ユニット104(例えば、ピースピッカー又はビンピッカーロボット)又はその一部分であり得る。ロボットアーム306は、エンドエフェクタ(例えば、グリッパ)を動作空間にわたって動かすように構成されたアーム部分402を含み得る。アーム部分402は、構造部材(例えば、梁、柱など)のセット、構造部材間のジョイントのセット、及び/又は構造部材のセットをジョイントの周りで移動させるように構成された対応するアクチュエータ/モータのセットを含み得る。
エンドエフェクタツール404は、アーム部分402に、その遠位端などで、取り付けることができる。エンドエフェクタツール404は、ツールとインターフェースしてツールをアーム部分402に取り付けるように構成されたツールコネクタ412(例えば、選択的ロック/付着機構)を含み得る。ツールコネクタ412は、対向する端部にエンドエフェクタが取り付けられたツールアーム414に構造的に接続されるか、又はそれと一体化され得る。図4Aに示す実施例では、エンドエフェクタは、操作(例えば、空間にわたっての移送又は変位)のために物体を把捉するように構成されたグリッパを含み得る。グリッパエンドエフェクタは、把持インターフェース418(例えば、真空ベースグリッパ用の吸着カップのセット)を収容し、又はこれを促進するグリッパヘッド416を含み得る。把持インターフェース418は、対象である物体をグリッパヘッド416及び/又はロボットアーム306に付着させる付着力又は付着メカニズム(例えば、真空)を作り出すために使用することができる。
図4Bは、本技術の1つ又は複数の実施形態による、例示的なツールセット430の図である。ツールセット430は、1つ又は複数のタスクを実行するために図1のロボットシステム100が利用可能なツールを構成し得る。いくつかの実施形態では、ツールセット430は、標準固定型の把持ツール440、固定角度型の把持ツール450、及び/又は調節可能な把持ツール460を含むことができる。図4Bには示してないが、ツールセット430は、指に基づいたピンチグリッパ、異なるタイプの吸着/接触インターフェースを備えたグリッパ、異なるカテゴリのエンドエフェクタ(例えば、溶接又は切断などのための非把持エンドエフェクタ)など、他のツールを含むことができることを理解されたい。
標準固定型把持ツール440は、開始ビン322の底と比較して相対的に平らに置かれた物体を把捉するように構成することができる。例えば、標準固定型把持ツール440は、物体の横方向に向いた上面を把捉するための横配向把持インターフェース418を含み得る。ツールアーム414とグリッパヘッド416とを接続するジョイントは、ツールアーム414が吸着インターフェースに直交して延びているか、又はピンチャインターフェースと平行に延びている状態で固定され得る。
固定角度型把持ツール450は、開始ビン322の底と比較して斜めに置かれた物体を把捉するように構成することができる。例えば、固定角度型把持ツール450は、物体の非側方の上面を把捉するために非直交角度に構成された、吸着把持インターフェース418とツールアーム414とを含み得る。角度付きジョイント452は、ツールアーム414とグリッパヘッド416とを、その構造体が、対応する非直交の角度又は配向を形成している状態で、固定的に接続し得る。
調節可能把持ツール460は、グリッパヘッド416の向きをツールアーム414に対して調節するように構成することができる。例えば、調節可能把持ツール460は、グリッパヘッドの向きを、ツールアーム414に対して、回転可能なジョイント462を中心に調節するように構成された、操作アーム、ケーブルのセット、アクチュエータ、モータなどの向き制御機構464を含み得る。したがって、ロボットシステム100は、向き制御機構464を動作させて、対象である物体又はその1つ以上の部分(例えば、露出した上面)の向きに応じて、把持インターフェース418の姿勢又は向きを調節することが可能である。
ツールの使用例
図5Aは、本技術の1つ又は複数の実施形態による、標準把捉シナリオ500の図である。標準把捉シナリオ500は、フラットな姿勢をとる物体502を把持するためのものであり得る。フラットな姿勢をとる物体502は、開始ビン322の底面に平行な向き(例えば、物体の底面)を有する対象の物体に対応し得る。したがって、標準把捉シナリオ500は、標準固定型把持ツール440と調和し得る。例えば、図1のロボットシステム100は、図3のロボットアーム306を動作させて、標準固定型把持ツール440をフラットな姿勢をとる物体502の真上に配置し、エンドエフェクタを下げてその物体を把持することができる。
図5Aは、本技術の1つ又は複数の実施形態による、標準把捉シナリオ500の図である。標準把捉シナリオ500は、フラットな姿勢をとる物体502を把持するためのものであり得る。フラットな姿勢をとる物体502は、開始ビン322の底面に平行な向き(例えば、物体の底面)を有する対象の物体に対応し得る。したがって、標準把捉シナリオ500は、標準固定型把持ツール440と調和し得る。例えば、図1のロボットシステム100は、図3のロボットアーム306を動作させて、標準固定型把持ツール440をフラットな姿勢をとる物体502の真上に配置し、エンドエフェクタを下げてその物体を把持することができる。
図5Bは、本技術の1つ又は複数の実施形態による、角度を付けられた把捉シナリオ510の図である。角度を付けられた把捉シナリオ510は、角度を付けられた物体512を把持するためのものであり得る。角度を付けられた物体512には、平坦でない接触点に寄りかかり、又は載っている(例えば、非水平面に沿って置かれている)物体、及び/又は非平行な対向面を有する物体が含まれ得る。いくつかの実施形態では、角度を付けられた物体512は、水平/垂直の基準方向に対して角度が付けられた方向/面に沿って配向される1つ又は複数の表面を有した姿勢をとる物体に対応し得る。したがって、角度を付けられた把捉シナリオ510は、固定角度型把持ツール450と調和し得る。例えば、図1のロボットシステム100は、図3のロボットアーム306を動作させて、固定角度型把持ツール450を、角度を付けられた物体512の真上に配置し、エンドエフェクタを下げてその物体を把持することができる。
ちなみに、標準固定型把持ツール440は、角度を付けられた把捉シナリオ510には適切でない可能性がある。例えば、角度を付けられた物体512を把持するために、標準固定型把持ツール440は、把持インターフェース418が角度を付けられた物体512の接続する部分と平行に配向されるように、傾けられ、又は角度を付けられてもよい。標準固定型把持ツール440を傾けて下降させると、ツール及び/又はロボットアーム306と開始ビン322との間に衝突事象(図5Bに「X」で示される)を生じさせる可能性がある。
いくつかの実施形態では、ロボットシステム100は、角度を付けられた物体512の表面姿勢514に基づいて、固定角度型把持ツール450を選択することができる。例えば、ロボットシステム100は、図2の撮像デバイス222によって取り込まれた、開始ビン322及び/又はその中の角度を付けられた物体512の1つ又は複数の画像(例えば、上面視画像)を処理することができる。ロボットシステム100は、エッジ検出機構(例えば、ソーベルフィルタ)に基づいて、画像に描写されているエッジを識別してもよい。ロボットシステム100は、エッジのセットの間の接続及び/又は相対配向を判定すること、及び/又はエッジの間に設けられている形状、色、及び/又はデザインを認識することに基づいて、画像に描写されている各連続表面を識別することができる。ロボットシステム100は、表面を3次元画像(例えば、深度マップ)にマッピングし、深度指標を用いて各表面の1つ又は複数の傾斜を計算することができる。計算された傾斜(複数可)を用いて、ロボットシステム100は、各表面の表面姿勢514を導出し得る。ロボットシステム100は、表面姿勢514を、水平又はフラットな表面を表す閾値と比較することに基づいて、角度を付けられた物体512を判定することができる。
図6Aは、本技術の1つ又は複数の実施形態による、標準解放シナリオ600の図である。標準解放シナリオ600は、把捉された物体(例えば、図1の対象物体112)を標準固定型把持ツール440から解放するためのものであり得る。標準解放シナリオ600は、把捉された物体(例えば、図1の対象物体112)を、タスク位置116の対応する配置位置、及び/又は図3の目標コンテナ324内の対応する配置位置に配置するためのものであり得る。標準解放シナリオ600は、把捉された物体のフラットな配置、及び/又は標準固定型把持ツール440の直立した配向と調和し得る。
図6Bは、本技術の1つ又は複数の実施形態による、第1の角度が付けられた解放シナリオ610の図である。第1の角度付き解放シナリオ610は、把捉された物体(例えば、図1の対象物体112)を固定角度型把持ツール450から解放するためのものであり得る。第1の角度付き解放シナリオ610は、把捉された物体(例えば、図1の対象物体112)を、タスク位置116の対応する配置位置、及び/又は図3の目標コンテナ324内の対応する配置位置に配置するためのものであり得る。第1の角度付き解放シナリオ610は、把捉された物体のフラット配置姿勢612に対応し得る。したがって、図1のロボットシステム100は、固定角度型把持ツール450を、角度付きのツール解放姿勢614(例えば、その中にあるツールアームの非垂直配向又は傾斜配向)に一致させることができる。ツール解放姿勢614は、固定角度型把持ツール450の図4Bの角度付きジョイント452と調和し得る。
図6Cは、本技術の1つ又は複数の実施形態による、第2の角度が付けられた解放シナリオ620の図である。第2の角度付き解放シナリオ620は、把捉された物体(例えば、図1の対象物体112)を固定角度型把持ツール450から解放するためのものであり得る。第2の角度付き解放シナリオ620は、把捉された物体(例えば、図1の対象物体112)を、タスク位置116の対応する配置位置、及び/又は図3の目標コンテナ324内の対応する配置位置に配置するためのものであり得る。第2の角度付き解放シナリオ620は、把捉された物体の角度付き配置姿勢622に対応し得る。したがって、図1のロボットシステム100は、固定角度型把持ツール450を、直立ツール解放姿勢624(例えば、その中にあるツールアームの垂直配向)に一致させることができる。角度付き配置姿勢622は、固定角度型把持ツール450の図4Bの角度付きジョイント452と調和し得る。角度付き配置姿勢622及び直立ツール解放姿勢624は、図6Bに示したツール解放姿勢614及びフラット配置姿勢612に伴う配向操作を実施することなしに、把捉された物体を解放するためのものであり得る。したがって、角度付き配置姿勢622及び直立ツール解放姿勢624は、ツール解放姿勢614及びフラット配置姿勢612よりも低い実行代償(例えば、短い実装時間)に相当し得る。角度付き配置姿勢622及び直立ツール解放姿勢624は、衝撃による損傷の影響を受けにくい、より柔らかい物体、及び/又はよりフレキシブルな物体など、所定の特性を有する物体に対して実施することができる。
タスクのタイミング例
図7は、本技術の1つ又は複数の実施形態による、例示的なタイミング図700である。タイミング図700は、図1のロボットシステム100(例えば、図3のシステムマネージャ302、図3のプランナ304、及び/又は、図3のロボットアーム306)の動作及び/又はプロセスの間のシーケンス又は時間的関係を表し得る。例えば、タイミング図700は、プラニングスケジュール702と実施スケジュール704との間の時間的関係を示し得る。プラニングスケジュール702は、図3の対象選択313によって指定されて割り当てられたツールで対象の物体を移送するなどのために、各プロセスが図3の移送プラン314のインスタンスを導出するプロセスのシーケンスを表し得る。実施スケジュール704は、ロボットアーム306における/によるプランの実施/実行のシーケンスを表し得る。
図7は、本技術の1つ又は複数の実施形態による、例示的なタイミング図700である。タイミング図700は、図1のロボットシステム100(例えば、図3のシステムマネージャ302、図3のプランナ304、及び/又は、図3のロボットアーム306)の動作及び/又はプロセスの間のシーケンス又は時間的関係を表し得る。例えば、タイミング図700は、プラニングスケジュール702と実施スケジュール704との間の時間的関係を示し得る。プラニングスケジュール702は、図3の対象選択313によって指定されて割り当てられたツールで対象の物体を移送するなどのために、各プロセスが図3の移送プラン314のインスタンスを導出するプロセスのシーケンスを表し得る。実施スケジュール704は、ロボットアーム306における/によるプランの実施/実行のシーケンスを表し得る。
ロボットシステム100は、プラン導出プロセスとプラン実施プロセスとを並行して行って、全体の効率を高め、全体のタスク実行時間を短縮することができる。図7に示す実施例では、システムマネージャ302は、パーツ-1(例えば、図4Bの標準固定型把持ツール440)を用いて把捉して移送すべき物体-1を特定する第1の物体選択(例えば、対象選択313のインスタンス)を送ることができる。第1の物体の選択に応答して、プランナ304は、パーツ-1で物体-1を把捉して移送するための第1の物体のプラン712を導出し得る。導出に成功すると、プランナ304は、図3の対応するフィードバック318を介してシステムマネージャ302に第1の物体のプラン712を伝達することができ、システムマネージャ302は、ロボットアーム306と相互作用して、第1の物体のプラン712を実施することができる。実施スケジュール704の第1の物体の移送732は、ロボットアーム306での第1の物体のプラン712の実施を表し得る。
また、導出に成功すると、システムマネージャ302は、接続されているパーツ-1を用いて把捉して移送すべき物体-2を特定する第2の物体選択(対象選択313の新たなインスタンス)を送ることができる。第2の物体の選択に応答して、プランナ304は、上述の例示的な反復プロセスを使用するなどして、第2の物体のプラン714を導出し得る。第2の物体が図5Bの角度を付けられた物体512である場合には、プランナ304は、物体を把捉しようとする際に衝突事象が推定されるなどの理由から、成功するプランを導出できないことを表す失敗ステータスを返すことができる。プランナ304は、対応するフィードバック318を介するなどして、システムマネージャ302に失敗ステータスを伝達することができる。いくつかの実施形態では、システムマネージャ302は、現在接続されているツールを用いたプランの作成を検討すべき、他の対象である物体を特定してもよい。システムマネージャ302は、現在接続されているツール及び/又はグリッパヘッドの向きで残りの物体のいずれも把捉できない場合などに、第2の物体を特定して、更新ツール(例えば、図4Bの固定角度型把持ツール450及び/又は図4Bの調節可能把持ツール460の代替ヘッド角度)の選択を伴うプラニングを行い得る。更新されたツールを用いて、プランナ304は、更新された第2の物体のプラン716を導出することができる。実施スケジュール704の第2の物体の移送736は、ロボットアーム306での更新された第2の物体のプラン716の実施を表し得る。様々なプラニングプロセスは、実施スケジュール704と並行して(例えば、独立して)行われることが可能である。
後続プランの導出に成功すると、システムマネージャ302は、その実施を実施スケジュール704に入れることができる。成功した導出が、更新された第2の物体のプラン716などのために、対象選択313に更新されたツールを提供することに基づいている場合、システムマネージャ302は、ツール変更734を実施スケジュール704に含めることができる。
いくつかの実施形態では、(例えば、システムマネージャ302及び/又はプランナ304における)ロボットシステム100は、様々な実施のための実施指標を推定することができる。例えば、ロボットシステム100は、第1の物体のプラン712に対する第1のプラン指標722(例えば、物体のピッキング及び/又は配置を含む総実行時間)、更新された第2の物体のプラン716に対する第2のプラン指標726、及び/又はツール変更734に対するツール変更指標724(例えば、最大所要時間及び/又は平均所要時間)を導出することができる。ロボットシステム100は、実施指標を用いて、組み合わされた指標を最小化するプランシーケンスを導出することができる。いくつかの実施形態では、ツール変更指標724は、調節可能把持ツール460上の把持インターフェース418の姿勢を、標準固定型把持ツール440として機能することと、固定角度型把持ツール450として機能することとの間で切り替えることに関連した代償を表し得る。ツール変更指標724は、ツール解放姿勢614(例えば、標準固定型把持ツールからの標準的な解放と比較した追加の操作)を達成することに関連した代償(例えば、時間及び/又は故障推定値の変化)をさらに含んでもよく、又はその代償を考慮することができる。また、ツール変更指標724は、角度を付けられた把持などに起因して、移動方向に対する表面積の変化に伴う抗力又は空気抵抗の変化に関連した代償、及び/又は抗力を低減するための追加の操作をさらに含んでもよく、又はこれらを考慮することができる。
説明のための実施例として、ロボットシステム100は、複数の物体を開始位置(例えば、ビン)から目標位置(例えば、異なるビン又はコンベヤ)に移送するためのプラニングスケジュール702を導出することができる。ロボットシステム100は、対応するツールを用いて1つ又は複数の物体を移送するための推定実施指標を導出することができる。推定された指標は、異なるツールのための任意の速度変化、追加の操作、及び/又は調節されたピッキング/ドロッピングの操作又は姿勢の説明となり得る。いくつかの実施形態では、推定された指標は、対応する物体とツールの組み合わせに伴う期待されたエラー率をさらに説明できる。例えば、推定された指標には、エラー(例えば、ピースロス)が発生した場合に展開される修復アクションを考慮するように、計算された量だけ増やされた移送時間を含めてもよい。この追加の調節は、修復アクションの平均継続時間を、物体とツールの組み合わせ、及び/又は対応する移動設定(例えば、速度)と関連したエラー率によって重み付けすることに基づいて計算することができる。適宜に、ロボットシステム100は、(1)対象物を移送するために最適ではないツールを利用することによる任意の負の調節を、(2)最適なツールを使用して物体を移送するためにツールを変更する代償、及び他の物体を移送する際のツール変更の影響との間で比較検討し得る。すなわち、ロボットシステム100は、異なる動作プランの組み合わせの総代償を評価し、対象である物体の1つ以上又は全てを移送する際の代償を最小化するものを選択することができる。いくつかの実施形態では、推定された指標は、同じロボットユニットを使用した1分当たり又は1時間当たりのピッキング数として表されてもよい。
動作の流れ
図8は、本開示の1つ又は複数の実施形態による、ロボットシステム(例えば、図1のロボットシステム100)を動作させるための方法800の流れ図である。方法800は、図3のシステムマネージャ302、図3のプランナ304、及び/又は図3のロボットアーム306など、上述のデバイスの1つ又は複数を用いて実施することができる。方法800は、図2のプロセッサ202、図2の記憶デバイス204など、上述の構成要素のうちの1つ又は複数を用いて実施することができる。方法800は、ツールのセット(例えば、図4Bのツールセット430)を用いてタスク(例えば、物体の移送)のプラニング及び実施を行うためのものであり得る。以下で詳細に説明するように、方法800は、タスクを並行して計画し実施すること、及び/又は図7のツール変更734を最小化するための適切なツールに従って物体をグループで処理することに対応することができる。
図8は、本開示の1つ又は複数の実施形態による、ロボットシステム(例えば、図1のロボットシステム100)を動作させるための方法800の流れ図である。方法800は、図3のシステムマネージャ302、図3のプランナ304、及び/又は図3のロボットアーム306など、上述のデバイスの1つ又は複数を用いて実施することができる。方法800は、図2のプロセッサ202、図2の記憶デバイス204など、上述の構成要素のうちの1つ又は複数を用いて実施することができる。方法800は、ツールのセット(例えば、図4Bのツールセット430)を用いてタスク(例えば、物体の移送)のプラニング及び実施を行うためのものであり得る。以下で詳細に説明するように、方法800は、タスクを並行して計画し実施すること、及び/又は図7のツール変更734を最小化するための適切なツールに従って物体をグループで処理することに対応することができる。
ブロック802で、ロボットシステム100は、アイテムのセットのオーダ(例えば、図3のオーダ入力312)を受け取り得る。例えば、ロボットシステム100は(例えば、図2の通信デバイス206を介して)顧客又は要求元倉庫からオーダ入力312を受け取り得る。また、オーダ入力312は、物体の再配置/組み合わせを行い収納コンテナを削減するなどのために、アイテムの再パッケージング又は再グループ化を行って収納するための内部生成されたオーダに相当する場合がある。したがって、ロボットシステム100は、オーダを履行するために、収納場所から異なる場所(例えば、出荷コンテナ)に移動する必要がある物体のセットを識別することができる。
ブロック804において、ロボットシステム100は、発注された物体へのアクセスを調整し得る。ロボットシステム100は、発注された物体の収納場所(複数可)を(例えば、図3のシステムマネージャ302を介して)特定することができる。例えば、ロボットシステム100は、オーダ入力312を、保管された/アクセス可能な物体の記録と比較することができる。結果的に、ロボットシステム100は、ブロック805で示すように、オーダ入力312に対応するビン及び/又は物体を特定する。ロボットシステム100は、発注された物体が収納されているコンテナの収納場所及び/又は識別子を判定し得る。
ロボットシステム100は、判定した場所及び/又はコンテナ識別子を用いて、発注された物体へのアクセスを調整し得る。例えば、ロボットシステム100は、1つ又は複数の搬送ユニット(例えば、AGV及び/又はコンベヤ)を直接的に動作させて、目標のコンテナ(複数可)を、収納場所(複数可)から、図3のロボットアーム306のための図1の開始位置114に搬送することができる。ロボットシステム100は、同様に、搬送ユニットを動作させて、図3の目標コンテナ324を、その収納場所から図1のタスク位置116に搬送することができる。追加又は代替として、ロボットシステム100は、1つ又は複数のサブシステム(例えば、ストレージアクセスシステム)と相互作用し、又は通信して、目標とされたコンテナ(複数可)及び/又は目標コンテナ324を、それぞれの位置に配置することができる。
ブロック806で、ロボットシステム100は、画像データを取得し得る。例えば、ロボットシステム100は、図2の撮像デバイス222を使用して、開始位置の収納コンテナを描写した2次元及び/又は3次元の画像を取得し得る。その結果、取得した画像データは、収納コンテナ内に収納されている発注された物体の1つ又は複数をリアルタイムで描写し得る。
ブロック808で、ロボットシステム100は、収納コンテナ内の物体(例えば、対象である物体又は発注された物体)のグループを特定し得る。ロボットシステム100は、取得した画像データを処理して、開始ビン322内の物体を検出し、又は認識することができる。例えば、ロボットシステム100は、(例えば、ソーベル検出機構を介した)線の検出と、検出した線の間の接続/配置とに基づいて、表面を識別することができる。ロボットシステム100は、描写された画像又はその一部分(例えば、表面内の部分)を、マスタデータ内の表面画像データと比較することができる。追加又は代替として、ロボットシステム100は、識別した表面の寸法を、マスタデータに格納された物体の寸法と比較してもよい。ロボットシステム100は、描写された画像及び/又は計測された寸法と、マスタデータに格納されている対応する画像及び/又は所定の寸法との一致に基づいて、物体を識別することができる。
ロボットシステム100は、開始ビン322内の識別された物体のセットを、オーダ入力312の対象とされた部分又は予想された部分と比較し得る。それに応じて、ロボットシステム100は、開始ビン322内に対象とされた物体を見つけることができる。ロボットシステム100は、対象とされた物体をさらに処理して、ツールセット430に従って物体を分類し/グループ化し、それによって図3のツールに基づく物体グループ316を判定することができる。例えば、ロボットシステム100は、対象とされた物体のそれぞれが、図5Aのフラットな姿勢をとる物体502であるか、又は図5Bの角度を付けられた物体512であるかを判定し得る。ロボットシステム100は、描写された表面と関連した深度指標を用いて、1つ又は複数の傾斜を計算することができる。ロボットシステム100は、計算した傾斜を用いて、対象である物体のそれぞれに対して図5Bの表面姿勢514を導出することができる。表面姿勢514は、対応する物体を操作するために充てられたツール又は割り当てられたツールに従って、フラットな姿勢をとる物体502、角度を付けられた物体512、又はその種の他の物体など、物体を分類し又はグループ化するために用いられてもよい。
ロボットシステム100は、さらに、種々のエンドエフェクタ及び/又は対象とされたタスクに対応する他の特性に従って、物体を分類し/グループ化することができる。例えば、ロボットシステム100は、異なるタイプのグリッパ(例えば、吸着グリッパ、吸着カップのサイズ/位置、指に基づくグリッパなどの異なるタイプの接触インターフェース)に付随する構造的な剛性及び/又は外面の材質(例えば、ボックス、プラスチック包装、袋など)、全体的な形状などに従って、物体をグループ化してもよい。また、ロボットシステム100は、共に結合されているために切削ツールが必要とされる物体を、他の結合されていない物体とは別にグループ化してもよい。そのために、このグループ化した物体は、ツールに基づく物体グループ316に相当し得る。
説明のための実施例として、ロボットシステム100は、開始ビン322内の物体を描写した画像データに基づいて、少なくとも第1の物体のセット(例えば、フラットな姿勢をとる物体502のセット)と、第2の物体のセット(角度を付けられた物体512のセット)とを判定することができる。第1の物体のセットは、第1のツールの特性(例えば、把持インターフェース418の角度/向き)に対応する1つ又は複数の態様(例えば、姿勢)を有することができ、第2の物体のセットは、第2のツールの特性(例えば、把持インターフェース418の角度/向き)に対応する1つ又は複数の態様を有することができる。フラットな姿勢をとる物体502は、それぞれ、開始ビン322の底面に平行な頂部を有することにより、標準固定型把持ツール440と調和し得る。角度を付けられた物体512は、それぞれ、開始ビン322の底面に対してある角度を形成する頂部表面姿勢を有することにより、固定角度型把持ツール450と調和し得る。
ブロック810で、ロボットシステム100は、接続されたツールを追跡し、及び/又は更新し得る。ロボットシステム100は、内部機構(例えば、無線周波数識別(RFID)回路、ハードコードされた識別子など)を使用して、ロボットアーム306に接続されたツールを動的に検出することができる。追加又は代替として、ロボットシステム100は、ツール変更動作及びツール選択を追跡して、接続されたツールを追跡してもよい。
接続されたツールの追跡及び/又は更新を行う際に、ロボットシステム100は、ロボットシステム100が利用できるツールセットにアクセスし、又はロボットシステム100が利用できるツールセットを判定することができる。例えば、ロボットシステム100は、ロボットアーム306に利用可能なツールセット430のツール及び/又は対応する特性(例えば、把持インターフェース418の姿勢)に関する所定のデータにアクセスしてもよい。追加又は代替として、ロボットシステム100は、使用されているツール、又はロボットユニットに接続されているツールを動的に(例えば、リアルタイムで)追跡することができる。その結果、ロボットシステム100は、残りのツール(例えば、他のロボットユニットのいずれにも接続されていないツール)と、アクセス/接続に利用可能なツールとを判定することができる。ロボットシステム100は、さらに、所定のデータ又は以前に測定されたデータにアクセスして、対象物体を操作する際のツール間の切り替え(例えば、1つのツールから切り離して異なるツールに接続すること)と関連した図7のツール変更指標724(例えば、時間などの代償)を判定することができる。いくつかの実施形態では、ツール変更指標724は、図4の向き制御機構464の操作などにより、調節可能把持ツール460の把持インターフェース418の姿勢を変更することに関連した代償を表し得る。
また、ブロック810では、ロボットシステム100は、以下に記述するステータス判定(例えば、判定ブロック820)などに応じて、接続されているツールを更新することができる。例えば、ステータス判定に従って物体を操作/移送するために新たなツールが必要とされた場合には、ロボットシステム100は、ロボットアーム306を動作させて、接続されているツールを切り離し、その後の移送に適した新たなツールに接続することができる。ロボットシステム100は、追跡されたツール情報を更新し得る。いくつかの実施形態では、ロボットシステム100は、ツール更新(例えば、ツール変更734)をスケジュールに組み込み、ツール変更734が実施されたときに、追跡された情報を更新することができる。
ブロック812で、ロボットシステム100は、プラニングのために1つ以上の物体を選択し得る。ロボットシステム100は、ロボットアーム306に接続されたツールに対応するグループから選択することができる。選択されたグループ内で、ロボットシステム100は、移送のために1つの物体を繰り返し選択してもよい。ロボットシステム100は、より高い位置にある物体、及び/又はより近い位置にある物体などを最初に選択するための所定の選択ルールのセットに基づいて選択することが可能である。
ブロック814で、ロボットシステム100は、選択のための1つ又は複数のプラン(例えば移送プラン314)を(例えばプランナ304を介して)導出することができる。例えば、システムマネージャ302は、選択された物体及び/又は接続されたツールに応じた対象選択313を、プランナ304に提供することができる。いくつかの実施形態では、ロボットシステム100は、1つのグループの物体のリストを提供することができる。それに応じて、プランナ304は、各物体についての1つ又は複数の移送プランを導出し得る。プランの導出が成功すると、プランナ304は、結果として得られた移送プラン314を、フィードバック318によって、システムマネージャ302に提供することができる。あるいは(例えば、不適切なツール割り当てによって生じる想定された衝突のために)プランの導出が失敗した場合には、プランナ304は、不成功のステータス(例えば、割り当てられたツールと対象である物体との不適切なマッチングの表示)を報告するフィードバック318を提供することができる。
したがって、ロボットシステム100は、ツールに応じて対象である物体を移送するための移送プラン314のセットを導出することができる。いくつかの実施形態では、例えば、ロボットシステム100は(例えば、全体の移送代償/時間を最小化するためのルールのセット及び/又はアーキテクチャに従って)ツール変更指標724に基づいて移送を計画するためのプロセスに従い得る。ツールの変更が、プラニングプロセス及び/又はプラン実施の指標よりも大きな平均指標/最大指標を有するシステムでは、ロボットシステム100は、ツールの変更を最小化するように移送を計画してもよい。一例として、ロボットシステム100は、別の物体のグループに対してプランを立てる前に、接続されたツールを使用する適用可能な物体/グループに対してその実施を計画し、スケジュールに入れることができる。いくつかの実施形態では、ロボットシステム100は、選択及び導出のプロセスを繰り返して行い、導出されたプランを適宜に実施してもよい。他の実施形態では、ロボットシステム100は、1つ又は複数の物体のグループのためのプランを導出し、総代償を最小化するためのルールのセットに従って、プランを配置し/順序付けることができる。
プランを導出する際に、ロボットシステム100は、ブロック816に示すように、指標(例えば、図7のプラン指標720)を計算することができる。例えば、ロボットシステム100は、計算された移動距離、操作の数及び/又は種類、対応する設定などに基づいて、移送プランごとに推定時間長を計算してもよい。
図8に示す実施例では、ロボットシステム100は、別のグループを処理する前に、1つのグループ内の物体を繰り返し選択し、そのプランを立てることに基づいて、プランのセットを導出し得る。判定ブロック818において、プランナ304は、プラン導出が成功したか否かを判定し、対応するフィードバック318をシステムマネージャ302に提供することができる。プラン導出が成功しなかった場合、ロボットシステム100は、判定ブロック820に示すように、現在処理されている物体のグループにいくらか物体が残っているかどうかを判定し得る。現在選択されている/処理されているグループの中に物体が残っている場合、フローはブロック812に進むことができ、ロボットシステム100は、そのグループ内の次の物体を選択することができる。そのグループ内にそれ以上の物体が残っていない(例えば、ツールに基づく物体グループ316が空である)場合、フローはブロック810に移ることができ、ロボットシステム100は、接続されているツールを(例えば、ツール変更734を実行することによって)更新することができる。ロボットシステム100は、ビン内の残りの物体と、対応するツール(複数可)とに応じて、新たなツールを選択し、そのツールに接続することができる。ツールの変更と併せて、ロボットシステム100は、新しいツールと関連した別のグループのためのプランを導出することができる。
いくつかの実施形態では、プランナ304がプランを導出すると、ロボットシステム100は、そのプランを実施するためのシーケンスを導出し、及び/又は更新することができる。例えば、システムマネージャ302は、システムマネージャ302又はロボットアーム306でプランをキューに入れるなどにより、プランの実施をスケジュール設定してもよい。
1つ又は複数の代替実施形態では、ロボットシステム100は、物体ごとに複数(例えば、利用可能なツールごとに1つ)のプランを導出することができる。ブロック822で、ロボットシステム100は、対応するプラン指標とツール変更指標724とに基づいて、プランのシーケンス/組み合わせを導出し得る。ロボットシステム100は、最も低い総代償(例えば、全実施/移送時間)を有するシーケンスを選択し、スケジュール設定することができる。
説明のためのブロック808~822の実施例として、ロボットシステム100は、開始ビン322内の対象とされた物体のセットを移送する前に、ロボットアーム306に接続された第1のツール(例えば、標準固定型把持ツール440)を識別し得る。ロボットシステム100は、第1のツールに対応する第1の物体セット(例えば、フラットな姿勢をとる物体502など、ツールに基づく物体グループ316のインスタンス)を判定し、選択し得る。ロボットシステムは、ロボットアーム306を動作させて第1の物体のセットを移送するための第1のプランのセットを、繰り返し導出し得る。いくつかの実施形態では、ロボットシステム100は、第1のプランのセットを、セット内の物体を選択することと、選択された物体のためのテストプランを導出することと、テストプランが実施可能であるかどうかを判定することとに基づいて、導出してもよい。第1のプランのセットを導出した後に、ロボットシステム100は、第1のセットの最後のプランに続くように、ツール変更734をスケジュール設定し得る。結果的に、ロボットシステム100は、第1の物体のセットを移送した後に、第2のツール(例えば、固定角度型把持ツール450)がロボットアーム306に接続されるようにスケジュール設定することができる。ロボットシステム100は、第2の物体のセットのためのプランの導出を続けることができる。
ブロック824で、ロボットシステム100は、スケジュール設定されたプランを(例えば、システムマネージャ302を介して)実施し得る。つまり、ロボットシステム100は、導出された移送プランとその予定された順序とに従って、ロボットアーム306を動作させ、物体を移送し得る。このプランは、後続の導出プロセスと並行して(例えば、後続の導出プロセスから独立して)実施することができる。例えば、システムマネージャ302は、プランナ304に対象選択313を提供して、第2の物体のためのプラン導出を開始する直前又は直後に、ロボットアーム306で第1のプランの実施を開始することができる。したがって、ロボットアーム306が第1の物体を移送している間に、第2の物体又はそれ以降の任意の物体の導出処理が行われ得る。このようにして、ロボットシステム100は、ブロック826に示すように、開始位置又は対象とされる物体のセットが空になるまで、動作プランを継続的に導出し、実施することができる。
いくつかの実施形態では、ロボットシステム100は、調節可能把持ツール460の向き制御機構464のための張力を低減するための動作を移送プランに含み得る。ロボットシステム100は、(1)対応する物体を把持インターフェースの少なくとも一部と接触させた後に、及び/又は(2)対応する物体を把持する前に、対応するコマンド及び/又は設定を含むことができる。したがって、実施中に、把持インターフェース418は、移動し、及び/又は回転し、対象である物体の露出した表面との接触面積を増加させることができる。言い換えれば、把持インターフェース418は、回転可能なジョイント162を中心に回転し、又は調節し、対象である物体の表面姿勢514に一致させることができる。張力の低下は、把持インターフェース418と対象の物体との間に確立されたグリップを改善するように、把持インターフェース418(例えば、吸着カップ)の作動前又は作動中に生じ得る。
結論
開示された技術の実施例の上記の詳細な説明は、網羅的であること、又は開示された技術を上記で開示された正確な形態に限定することを意図するものではない。開示された技術の特定の実施例が例示の目的で上記で説明されているが、当業者が認識するように、開示された技術の範囲内で様々な同等の修正が可能である。例えば、プロセス又はブロックが所与の順序で提示されているが、代替的な実施態様は、ステップを有するルーチンを実行してもよく、又はブロックを有するシステムを異なる順序で使用してもよく、いくつかのプロセス又はブロックは、代替又は部分的な組み合わせを提供するために、削除、移動、追加、細分、結合、及び/又は変更されてもよい。これらのプロセス又はブロックのそれぞれは、様々な方法で実施されてもよい。また、プロセス又はブロックは、時には直列に実行されるように示されているが、これらのプロセス又はブロックは、代わりに並列に実行又は実施されてもよく、又は異なる時間に実行されてもよい。さらに、本明細書に記載されている任意の特定の数は単なる実施例であり、代替的な実施態様では、異なる値又は範囲を使用してもよい。
開示された技術の実施例の上記の詳細な説明は、網羅的であること、又は開示された技術を上記で開示された正確な形態に限定することを意図するものではない。開示された技術の特定の実施例が例示の目的で上記で説明されているが、当業者が認識するように、開示された技術の範囲内で様々な同等の修正が可能である。例えば、プロセス又はブロックが所与の順序で提示されているが、代替的な実施態様は、ステップを有するルーチンを実行してもよく、又はブロックを有するシステムを異なる順序で使用してもよく、いくつかのプロセス又はブロックは、代替又は部分的な組み合わせを提供するために、削除、移動、追加、細分、結合、及び/又は変更されてもよい。これらのプロセス又はブロックのそれぞれは、様々な方法で実施されてもよい。また、プロセス又はブロックは、時には直列に実行されるように示されているが、これらのプロセス又はブロックは、代わりに並列に実行又は実施されてもよく、又は異なる時間に実行されてもよい。さらに、本明細書に記載されている任意の特定の数は単なる実施例であり、代替的な実施態様では、異なる値又は範囲を使用してもよい。
上記の発明を実施するための形態を踏まえて、開示された技術には、これらの変更及びその他の変更を加えることができる。詳細な説明は、開示された技術の特定の実施例ならびに考えられるベストモードを説明しているが、開示された技術は、上記の説明が本文にどのように詳細に記載されていても、多くの方法で実施することができる。システムの詳細は、本明細書に開示されている技術によって包含されながら、特定の実施態様ではかなり異なり得る。上述したように、開示された技術の特定の特徴又は態様を説明するときに使用される特定の用語は、その用語が関連付けられている開示された技術の特定の特性、特徴、又は態様に制限されるように、本明細書でその用語が再定義されていることを意味するものと解釈されるべきではない。したがって、本発明は、添付の特許請求の範囲によるものを除き、限定されない。一般に、以下の特許請求の範囲で使用される用語は、上記の詳細な説明の節でそのような用語を明示的に定義しない限り、開示された技術を本明細書で開示される特定の実施例に限定するように解釈されるべきではない。
本発明の特定の態様は、以下に特定の特許請求の範囲の形態で提示されるが、出願人は、本発明の様々な態様を任意の数の特許請求の範囲の形態で検討する。したがって、本出願人は、本願又は継続出願のいずれかで、そのような付加的な特許請求の範囲の形態を追求するために、本願を出願した後に付加的な特許請求の範囲を追求する権利を留保する。
Claims (20)
- ロボットシステムを動作させるための方法であって、
物体を操作するようにそれぞれ固有に構成された2つ以上のツールを含むツールセットを識別することであって、各ツールがロボットアームに選択的に取り付けるように構成されていることと、
開始位置にある対象とされた物体のセットを表す画像データを取得することであって、前記画像データが、前記対象とされた物体のセット内の2つ以上の物体の表現を描写することと、
前記2つ以上の物体を、物理的特性のセット及び/又はその現在の姿勢に従ってグループ化することであって、前記物理的特性のセット及び/又は前記現在の姿勢が、前記ツールセット内の前記2つ以上のツールの前記固有の構成に対応することと、
前記画像データに基づいて、少なくとも第1のプラン及び第2のプランを含むプランのセットを導出することであって、前記プランのセットが、(1)ロボットアームを動作させて、前記対象とされた物体のセットの少なくとも一部を、前記開始位置から目標位置に移送するためのものであり、かつ、(2)ツール変更の様々な用法を組み込むことと、
前記導出されたプランについて1つ以上のツール変更指標を決定することであって、各ツール変更指標が、前記ロボットアームから以前のツールを取り外し、そこに後続のツールを取り付けることに関連した代償を表すことと、
前記プランのセット内の各プランの代償指標を計算することであって、前記計算された代償指標が、前記対象とされた物体のセットの少なくとも前記一部を、ピッキングすること、移送すること、及び配置することに関連した(1)前記ツール変更指標及び/又は(2)移送時間を考慮したものであることと、
前記代償指標に基づいて、前記プランのセットからプランを選択することであって、前記選択されたプランが、前記対象とされた物体のセットの少なくとも前記一部の移送に関連した最低代償指標に対応することと
を含む、方法。 - 前記第1のプランが、初期ツールから後続ツールへのツール変更を実施し、次いで前記後続ツールで物体を移送することを表しており、前記第1のプランが、前記ツール変更と前記物体の第1の移送時間とを考慮した第1の代償指標に対応し、
前記第2のプランが、前記初期ツールで前記物体を移送することを表しており、前記第2のプランが、前記第1の移送時間よりも長い、前記物体の第2の移送時間に相当する第2の代償指標に対応し、
前記プランを選択することが、少なくとも前記第2の代償指標を、前記第1の代償指標及び前記ツール変更の組み合わせと比較することを含む、請求項1に記載の方法。 - 前記2つ以上の物体をグループ化することが、前記画像データに基づいて、(1)フラットな姿勢をとる物体のセット、及び/又は(2)角度を付けられた物体のセットを判定することを含み、
前記フラットな姿勢をとる物体のセットが、それぞれが前記開始位置の底面に平行な頂部を有する物体の第1のサブセットに相当し、
前記角度を付けられた物体のセットが、それぞれが前記開始位置の底面に対してある角度を形成する頂部表面姿勢を有する物体の第2のサブセットに相当し、
前記ツールセットが、前記ロボットアームと把持インターフェースとの間の角度を変えるように構成された調節可能なツール、及び/又は2つ以上の固定ツールに相当し、
前記プランを選択することが、
(1)ツールの変更を最小限に抑えること、及び/又は、
(2)(a)様々な姿勢に対応するためにツールを変更すること、及び、(b)様々な姿勢の間でツールを維持するために必要な追加の操作及び/又は速度調節、に関連する代償の違いを評価すること、
を含む、請求項1に記載の方法。 - 前記プランのセットが、
前記対象とされた物体のセットを移送する前に、前記ロボットアームに接続された第1のツールを特定することであって、前記第1のツールが、(1)前記フラットな姿勢をとる物体のセットを把捉するように構成された標準固定型把持ツール、及び(2)前記角度を付けられた物体のセットを把捉するように構成された固定角度型把持ツールのうちの一方に相当することと、
前記第1のツールに対応する第1の物体セットを判定することであって、前記第1の物体セットが、(1)前記フラットな姿勢をとる物体のセット、及び(2)前記角度を付けられた物体のセットのうちの対応する一方に相当することと、
前記第1のツールを使用して前記第1の物体セットを移送するように、前記ロボットアームを動作させるための第1のプランのセットを導出することと、
前記第1のプランのセットを導出した後に、ツール変更をスケジュール設定することであって、前記ツール変更が、前記第1の物体セットを移送した後に、前記第1のツールの代わりに、第2のツールを前記ロボットアームに接続するためのものであり、前記第2のツールが、(1)前記フラットな姿勢をとる物体のセットを把捉するように構成された標準固定型把持ツール、及び(2)前記角度を付けられた物体のセットを把捉するように構成された固定角度型把持ツールの残りに相当することと
に基づいて導出される、請求項3に記載の方法。 - 前記第1のプランのセットが、繰り返し、
前記第1の物体セット内の物体を選択することと、
前記第1のツールを使用して、前記選択された物体を移送するためのテストプランを導出することと、
前記テストプランが、実施に適しているかどうかを判定することと
に基づいて導出され、
前記選択、前記導出、及び前記判定が、前記第1の物体セットを通して繰り返される、請求項4に記載の方法。 - 前記第1のプランのセットを繰り返し導出することが、
第1の物体を移送するための第1のプランを導出することであって、前記第1のプランが、実施に適していると検証されることと、
第2の物体を移送するための第2のプランを導出することであって、前記第2のプランが、前記第1のプランの後に導出され、実施に適していると検証されることとを含み、
前記第2のプランを導出することと並行して前記第1のプランを実施することであって、前記第1のプランが、前記ロボットアームを動作させて、前記第1の物体を前記収納コンテナから前記目標位置まで移送するためのものであること、をさらに含む、請求項5に記載の方法。 - 前記プランのセットを導出することが、
画像データ及び/又は前記対象とされた物体のセットに描写されている各物体に対して、前記ツールセット内の各ツールのテストプランを導出することと、
1つ以上の所定のルール及び/又は閾値に従って、各プランの実施の実現可能性を判定することに基づいて、有効なプランのセットを判定することとを含み、
前記方法が、前記対象とされた物体のセットを移送するための代償合計を最小化することに基づいて、実施シーケンスを導出することであって、前記実施シーケンスが、前記対象とされた物体のセット内の各物体についての移送プランを実施するためのものであること、をさらに含む、請求項1に記載の方法。 - 前記ロボットシステムが、(1)前記対象とされた物体のセットの移送を調整するように構成されたシステムマネージャと、(2)対応する物体を移送するために、前記ロボットアームを動作させるための1つ以上のプランを導出するように構成されたプランナとを含み、
前記有効なプランのセットを導出することが、前記有効なプランのセットを前記プランナで導出することを含み、
前記実施シーケンスを導出することが、前記実施シーケンスを前記システムマネージャで導出することを含む、請求項1に記載の方法。 - 前記計算された代償指標が、ツール解放姿勢及び/又は調節された移送速度に至る追加のロボット動作の結果である、請求項1に記載の方法。
- 前記ロボットシステムが、(1)前記対象とされた物体のセットの移送を調整するように構成されたシステムマネージャと、(2)前記ロボットアームを動作させるための1つ以上のプランを導出するように構成されたプランナとを含み、
前記プランのセットを導出することが、
前記システムマネージャから前記プランナに、前記対象とされた物体のセット内の第1の物体を指定する第1の対象選択を送ることと、
前記システムマネージャで、前記第1の対象選択に対応する第1の移送プランを受け取ることと、
前記ロボットアームを動作させて前記第1の物体を移送するために、前記システムマネージャを使用して、前記第1の移送プランの実施を開始することと、
前記第1の移送プランの実施中に、前記システムマネージャから前記プランナに、前記対象とされた物体のセット内の第2の物体を指定する第2の対象選択を送ることと
を含む、請求項1に記載の方法。 - 前記プランのセットを導出することが、
前記システムマネージャで、前記プランナからのフィードバックを受け取ることであって、前記フィードバックが、前記第2の対象選択に従って移送プランを導出しなかったことを表すことと、
前記フィードバックに応答して、前記システムマネージャから前記プランナに、接続されたツールに関連したセット内の残りの物体を指定する第3の対象選択を送ることと
を含む、請求項10に記載の方法。 - 前記ロボットシステムが、(1)前記対象とされた物体のセットの移送を調整するように構成されたシステムマネージャと、(2)前記ロボットアームを動作させるための1つ以上のプランを導出するように構成されたプランナとを含み、
前記プランのセットを導出することが、
前記システムマネージャから前記プランナに、前記第1のツールを使用して移送すべき前記対象とされた物体のセット内の第1の物体を指定する第1の対象選択を送ることと、
前記システムマネージャで、前記プランナからのフィードバックを受け取ることであって、前記フィードバックが、前記第1の対象選択に従って移送プランを導出しなかったことを表すことと、
前記フィードバックに応答して、前記システムマネージャから前記プランナに、前記第2のツールを使用して移送すべき前記第1の物体を指定する第2の対象選択を送ることと、
前記第2の対象選択に対応する移送プランを受け取ることに応答して、ツール変更をスケジュール設定することであって、前記スケジュール設定されたツール変更が、前記移送プランに先行し、物体の移送の合間に、前記第1のツールから切り離して第2のツールに接続する前記ロボットアームの動作に相当することと
を含む、請求項1に記載の方法。 - 導出されたプラン及び/又は前記ツール変更が、前記導出されたプラン及び/又は前記ツール変更を実施するタイミングを制御する前記システムマネージャでキューに入れられる、請求項12に記載の方法。
- 導出されたプラン及び/又は前記ツール変更を、受け取りオーダに従って前記導出されたプラン及び/又は前記ツール変更を実施するように構成された前記ロボットアームに伝達することをさらに含む、請求項12に記載の方法。
- 前記ツール変更指標が、調節可能把持ツール上の把持インターフェースの姿勢を切り替えることに伴う代償を表す、請求項1に記載の方法。
- 前記プランのセットを導出することが、前記把持インターフェースが、回転可能なジョイントの周りを回転し、表面姿勢と一致することを可能にするために、前記調節可能把持ツールの向き制御機構の張力を低減させるためのコマンド及び/又は設定を導出することを含み、
前記張力の低減が、(1)対応する物体を前記把持インターフェースの少なくとも一部と接触させた後であって、(2)前記対応する物体を把持する前に生ずる、請求項1に記載の方法。 - 前記対象とされた物体のセットを含む収納ビンを表すコンテナ識別子を決定することであって、前記収納ビンが、2つ以上の垂直壁を有することをさらに含み、
前記導出されたプランのセットが、真空グリッパを動作させて、前記垂直壁と前記ロボットアーム及び取り付けられたツールとの接触を避けながら、1つ以上の物体を接触し、把持するためのコマンド及び/又は設定を含む、請求項1に記載の方法。 - 1つ以上のプロセッサによって実行されるときに前記1つ以上のプロセッサに方法を実行させるプロセッサ命令が格納された有形の非一時的コンピュータ可読媒体であって、前記方法が、
開始位置にある物体を描写する画像データに基づいて、少なくとも第1の物体のセット及び第2の物体のセットを判定することであって、前記第1の物体のセット及び前記第2の物体のセットが、それぞれ、ツールのセット内の第1のツール及び第2のツールに対応することと、
前記物体を移送するための前記第1のツールと前記第2のツールとの切り替えに関連するツール変更指標を決定することと、
前記画像データに基づいて、少なくとも第1のプラン及び第2のプランを導出することであって、
前記第1のプランが、前記ロボットアームを動作させて、前記第1のツールで前記第1の物体のセットを移送し、前記第2のツールで前記第2の物体のセットを移送し、前記第1のツールと前記第2のツールとを切り替えるためのものであり、
前記第2のプランが、前記ロボットアームを動作させて、前記第1の物体のセットと、前記第2の物体のセットの少なくとも一部とを、ツールの切り替え前に、又はツールを切り替えることなく、前記第1のツールで移送するためのものであることと、
前記第1のプランの第1の代償指標を計算することであって、前記第1の代償指標が、前記第1の物体のセット及び前記第2の物体のセットを移送するためと、前記第1のプランに従ってツールを切り替えるためとの総移送時間を表すことと、
前記第2のプランの第2の代償指標を計算することであって、前記第2の代償指標が、前記第2のプランに従って、前記第1の物体のセット及び前記第2の物体のセットを移送するための総移送時間を表すことと、
前記第1のプラン又は前記第2のプランの一方を、それぞれの前記第1の代償指標又は前記第2の代償指標の低い方に基づいて、実施するために選択することと
を含む、非一時的コンピュータ可読媒体。 - データ、コマンド、及び/又は設定を、(1)ロボットアームを動作させるためのプランを導出するように構成されたプランナ、及び/又は(2)ツールのセットに選択的に接続し、対応するプランに従って、接続されたツールを使用して物体を把持し、移送するように構成された前記ロボットアームと通信するように構成された通信回路と、
前記通信回路に結合された少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
コンテナ内の物体のセットを描写する画像データに基づいて、少なくとも第1の物体のセット及び第2の物体のセットを判定することであって、前記第1の物体のセット及び前記第2の物体のセットが、それぞれ、前記ツールのセット内の第1のツール及び第2のツールに対応することと、
前記物体を移送するための前記第1のツールと前記第2のツールとの切り替えに関連するツール変更指標を決定することと、
前記ツール変更指標に基づいてプランのセットを導出することであって、前記プランのセットが、前記ロボットアームを動作させて、前記第1のツールで前記第1の物体のセットを移送し、前記第2のツールで前記第2の物体のセットを移送し、前記第1のツールと前記第2のツールとを切り替えるためのものであることと
を行うように構成された、ロボットシステム。 - 前記通信回路に通信可能に結合された前記プランナと、
前記通信回路に通信可能に結合された前記ロボットアームと、
(1)前記ロボットアームに選択的に接続し、(2)操作のために1つ以上の物体を把持するように構成された前記第1のツール及び前記第2のツールを含む前記ツールのセットと
をさらに備える、請求項19に記載のシステム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063109870P | 2020-11-05 | 2020-11-05 | |
US63/109,870 | 2020-11-05 | ||
US17/392,108 | 2021-08-02 | ||
US17/392,108 US11981518B2 (en) | 2020-11-05 | 2021-08-02 | Robotic tools and methods for operating the same |
PCT/US2021/057831 WO2022098706A1 (en) | 2020-11-05 | 2021-11-03 | Robotic tools and methods for operating same |
JP2022501005A JP7191354B2 (ja) | 2020-11-05 | 2021-11-03 | ロボットツール及びその動作方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022501005A Division JP7191354B2 (ja) | 2020-11-05 | 2021-11-03 | ロボットツール及びその動作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023018122A true JP2023018122A (ja) | 2023-02-07 |
Family
ID=81380684
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022501005A Active JP7191354B2 (ja) | 2020-11-05 | 2021-11-03 | ロボットツール及びその動作方法 |
JP2022190679A Pending JP2023018122A (ja) | 2020-11-05 | 2022-11-29 | ロボットツール及びその動作方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022501005A Active JP7191354B2 (ja) | 2020-11-05 | 2021-11-03 | ロボットツール及びその動作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11981518B2 (ja) |
JP (2) | JP7191354B2 (ja) |
CN (1) | CN114746224A (ja) |
WO (1) | WO2022098706A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024095120A1 (en) * | 2022-11-02 | 2024-05-10 | G.D S.P.A. | Process for the automated handling of products within a plant |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2555822B2 (ja) | 1991-10-30 | 1996-11-20 | 日本電装株式会社 | 山積み部品の高速ピッキング装置 |
JPH08174389A (ja) | 1994-12-27 | 1996-07-09 | Omron Corp | 作業計画作成方法及び装置 |
JP2006309577A (ja) | 2005-04-28 | 2006-11-09 | Fuji Electric Systems Co Ltd | 生産計画作成システム |
DE102006025352A1 (de) | 2006-05-31 | 2007-12-06 | Advanced Micro Devices, Inc., Sunnyvale | Verfahren und System zum Bestimmen der Auslastung von Prozessanlagen in einer Fertigungsumgebung auf der Grundlage von Eigenschaften eines automatisierten Materialhandhabungssystems |
EP2822737A4 (en) * | 2012-03-08 | 2016-09-21 | Quality Mfg Inc | ROBOTIC TOUCH PRECESSOR |
US9227323B1 (en) | 2013-03-15 | 2016-01-05 | Google Inc. | Methods and systems for recognizing machine-readable information on three-dimensional objects |
CN108351637B (zh) * | 2015-09-11 | 2021-08-24 | 伯克希尔格雷股份有限公司 | 用于识别和处理各种物体的机器人系统和方法 |
CN113731862B (zh) * | 2015-11-13 | 2024-04-12 | 伯克希尔格雷营业股份有限公司 | 用于提供各种物体的分拣的分拣系统和方法 |
JP6444971B2 (ja) | 2016-12-27 | 2018-12-26 | ファナック株式会社 | 作業計画装置 |
WO2018146687A1 (en) | 2017-02-12 | 2018-08-16 | Commonsense Robotics Ltd. | Human-assisted robotic picking apparatus |
JP6258556B1 (ja) | 2017-04-04 | 2018-01-10 | 株式会社Mujin | 制御装置、ピッキングシステム、物流システム、プログラム、制御方法、及び、生産方法 |
US11235467B2 (en) | 2018-04-23 | 2022-02-01 | University Of Southern California | System and method for trajectory planning for manipulators in robotic finishing applications |
US20200017317A1 (en) | 2018-07-16 | 2020-01-16 | XYZ Robotics Global Inc. | Robotic system for picking, sorting, and placing a plurality of random and novel objects |
JP6738112B2 (ja) | 2019-01-14 | 2020-08-12 | 株式会社Mujin | ロボットシステムの制御装置及び制御方法 |
-
2021
- 2021-08-02 US US17/392,108 patent/US11981518B2/en active Active
- 2021-11-03 CN CN202180004739.8A patent/CN114746224A/zh active Pending
- 2021-11-03 WO PCT/US2021/057831 patent/WO2022098706A1/en active Application Filing
- 2021-11-03 JP JP2022501005A patent/JP7191354B2/ja active Active
-
2022
- 2022-11-29 JP JP2022190679A patent/JP2023018122A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022550502A (ja) | 2022-12-02 |
JP7191354B2 (ja) | 2022-12-19 |
US11981518B2 (en) | 2024-05-14 |
CN114746224A (zh) | 2022-07-12 |
WO2022098706A1 (en) | 2022-05-12 |
US20220135346A1 (en) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6738112B2 (ja) | ロボットシステムの制御装置及び制御方法 | |
US11413753B2 (en) | Robotic system control method and controller | |
JP7349094B2 (ja) | ピースロス管理メカニズムを有するロボットシステム | |
US11046518B2 (en) | Controller and control method for robot system | |
JP6765741B1 (ja) | 非一時的コンピュータ可読記憶媒体、ロボットシステムを動作させる方法及び物体移送システム | |
US11077554B2 (en) | Controller and control method for robotic system | |
JP6697204B1 (ja) | ロボットシステムの制御方法、非一過性のコンピュータ読取可能な記録媒体及びロボットシステムの制御装置 | |
JP7175487B1 (ja) | 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法 | |
JP7191354B2 (ja) | ロボットツール及びその動作方法 | |
JP7126667B1 (ja) | 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 | |
CN114683299B (zh) | 机器人工具及其操作方法 | |
JP2023524607A (ja) | ロボット多面グリッパアセンブリ及びその操作方法 | |
CN111618852B (zh) | 具有协调转移机构的机器人系统 | |
JP7218881B1 (ja) | 物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 | |
JP7495688B2 (ja) | ロボットシステムの制御方法及び制御装置 |