JP2024517170A - アイテムを識別するためのロボットシステム - Google Patents

アイテムを識別するためのロボットシステム Download PDF

Info

Publication number
JP2024517170A
JP2024517170A JP2023566431A JP2023566431A JP2024517170A JP 2024517170 A JP2024517170 A JP 2024517170A JP 2023566431 A JP2023566431 A JP 2023566431A JP 2023566431 A JP2023566431 A JP 2023566431A JP 2024517170 A JP2024517170 A JP 2024517170A
Authority
JP
Japan
Prior art keywords
item
sensors
items
plan
identifiers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023566431A
Other languages
English (en)
Inventor
サン・チョウエン
ホルムバーグ・ロバート
クマー・シティジ
ベク・ジェース
リー・ジョゼフ
ラマクリシュナン・キショア・ランガナス
ラヴェット・アンドリュー
ネイダー・シリル
フェルハト・ファルシッド
トンドロー・ザサード・デヴィッド・レオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dexterity Inc
Original Assignee
Dexterity Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dexterity Inc filed Critical Dexterity Inc
Publication of JP2024517170A publication Critical patent/JP2024517170A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07CPOSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
    • B07C5/00Sorting according to a characteristic or feature of the articles or material being sorted, e.g. by control effected by devices which detect or measure such characteristic or feature; Sorting by manually actuated devices, e.g. switches
    • B07C5/36Sorting apparatus characterised by the means used for distribution
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1371Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed with data records
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07CPOSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
    • B07C5/00Sorting according to a characteristic or feature of the articles or material being sorted, e.g. by control effected by devices which detect or measure such characteristic or feature; Sorting by manually actuated devices, e.g. switches
    • B07C5/34Sorting according to other particular properties
    • B07C5/3412Sorting according to other particular properties according to a code applied to the object which indicates a property of the object, e.g. quality class, contents or incorrect indication
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07CPOSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
    • B07C5/00Sorting according to a characteristic or feature of the articles or material being sorted, e.g. by control effected by devices which detect or measure such characteristic or feature; Sorting by manually actuated devices, e.g. switches
    • B07C5/36Sorting apparatus characterised by the means used for distribution
    • B07C5/361Processing or control devices therefor, e.g. escort memory
    • B07C5/362Separating or distributor mechanisms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • B65G1/1376Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses the orders being assembled on a commissioning conveyor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • B65G1/1378Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses the orders being assembled on fixed commissioning areas remote from the storage areas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10366Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves the interrogation device being adapted for miscellaneous applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07CPOSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
    • B07C2501/00Sorting according to a characteristic or feature of the articles or material to be sorted
    • B07C2501/0063Using robots
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39102Manipulator cooperating with conveyor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39107Pick up article, object, measure, test it during motion path, place it
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40252Robot on track, rail moves only back and forth

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)
  • Specific Conveyance Elements (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

【解決手段】アイテムから識別子を取得するための方法およびシステムが開示されている。方法は、移動元位置から移動先位置へ所定の経路に沿ってアイテムを移動させるようロボット構造を自律的に動作させ、計画に少なくとも部分的に基づいて移動先位置にアイテムをプレースするようロボット構造を自律的に動作させること、を備える。アイテムは、1または複数の識別子を備え、1または複数の識別子の内の少なくとも1つが1または複数のセンサによって取得されなかったとの判定に応じて、取得されなかった少なくとも1つの識別子を1または複数のセンサに取得させるために、積極的な対策が実行される。所定の経路は、アイテムが移動元位置から移動先位置へ移動される経路に対応する。所定の経路は、アイテムが所定の経路に沿って移動される間、アイテムが1または複数のセンサの閾値範囲内で移動されるように計画される。【選択図】図2C

Description

ロボットが、製造およびその他の分野においてタスクを実行するために利用されてきた。例えば、ロボットは、人間にとって体に悪いかまたは他の危険がありうる環境でのタスク、人間が加えられるよりも大きい力の印加を必要とするタスク、および、長時間にわたって高度な正確さおよび一貫性を必要とするタスク、を実行するために利用されてきた。
自律ロボットは、人間の制御も指示も必要とせずに、自動的に少なくともいくつかのタスクを実行する。例えば、自動ロボットは、典型的には制御された環境(工場など)で、反復的および/または他の形で予め決められたタスクおよびタスクのシーケンスを実行するために利用されてきた。ごく最近では、自動運転車、配達ドローン、および、その他の自律車両が開発中である。
ロボット工学の分野での遠隔操作とは、オペレータによるロボットの遠隔操作のことである。例えば、ロボットは、熟練した人間のオペレータの制御下で、手術を行う、爆弾を処理する、および、その他のタスクを実行するために利用されてきた。
キッティングおよびシンギュレーションに関連する処理は、従来、ロボット工学を採用することが困難な非常に労働集約的な処理であり、なぜなら、移動の制約があり、ビンまたは棚に到達して、任意のサイズ、壊れやすさ、一貫性を有するアイテムをピックアップするなどのタスクを実行するため、もしくは、任意の混在したアイテムの仕分けなどのタスクを実行するために、ロボットを提供してプログラムすることが困難であるからである。結果として、大規模なキッティングおよび/またはシンギュレーション動作は、人的労働集約型の動作であり続けている。
キッティングおよびシンギュレーションに関連する処理にロボットを利用することの別の困難は、エンドエフェクタの設計および選択である。ロボットアームのエンドエフェクタは、ロボットアームが移動元の山/流れにおけるアイテムと係合しうるモジュールである。様々なタイプのエンドエフェクタが、特定のサイズ、パッケージタイプ、重量、形状などに対してより良く最適化されうる。さらに、エンドエフェクタまたはエンドエフェクタが接続されているロボットアーム(例えば、手首)のサイズが、ビン/棚、移動元の山/流れ、などに到達するロボットアームの能力を妨げる。
以下の詳細な説明および添付の図面において、本発明の様々な実施形態を開示する。
様々な実施形態に従って、シンギュレーションシステムを示す図。
様々な実施形態に従って、キッティングシステムを示す図。
様々な実施形態に従って、キッティングシステムを示す図。
様々な実施形態に従って、キッティングシステムを示す図。
様々な実施形態に従って、キッティングシステムを示す図。
様々な実施形態に従って、アイテムをピックアンドプレースするための方法を示すフローチャート。
様々な実施形態に従って、アイテムをピックアンドプレースするための方法を示すフローチャート。
様々な実施形態に従って、アイテムをスキャンするための方法を示すフローチャート。
様々な実施形態に従って、アイテムをスキャンすることに関連して積極的な対策を実行するか否かを決定するための方法を示すフローチャート。
様々な実施形態に従って、アイテムをスキャンすることに関連して積極的な対策を実行するか否かを決定するための方法を示すフローチャート。
様々な実施形態に従って、キッティングシステムを示す図。
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実施されうる。本明細書では、これらの実施例または本発明が取りうる任意の他の形態が、技術と呼ばれうる。一般に、開示されている処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、或る時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
本明細書で用いられているキッティングは、1または複数のアイテム/物体を対応する位置からピックして、1または複数のアイテムのセットがキットに対応するように1または複数のアイテムを所定の位置にプレースすることを含む。
本明細書で用いられているシンギュレーションは、1または複数のアイテム/物体を移動元の山または流れからピックし、下流の(例えば、最終的な送り先の/物理的な)宛先への輸送に向けて仕分けおよびルーティングされるように、1または複数のアイテムを対応する所定の位置に(仕切り付きコンベヤ上(例えば、コンベヤのトレイ内)または同様の運搬手段上の位置に)1つずつプレースすることを含む。
本明細書で用いられている識別子は、ラベル、バーコード、記号、画像、英数字文字列、コード、などを含む。識別子は、アイテムに取り付けられたラベル上に印刷され、アイテムの側面上に備えられ、アイテムに取り付けられた無線周波数識別(RFID)タグに埋め込まれる、などしていてよい。いくつかの実施形態において、識別子は、マシン読み取り可能な情報(テキストならびに/もしくは光学的またはその他の方法で符号化された情報など)を備え、情報は、マシンで読み取られ、例えば、自動キッティングシステムおよび/または処理、ならびに/もしくは、自動シンギュレーションシステムおよび/または処理を介して、物体および/またはアイテムをキッティングまたはシンギュレートすることに関連して利用されうる。
本明細書で用いられているセンサは、マシンリーダ(無線周波数(RF)タグリーダ、光学コードリーダ、など)を含む。マシンリーダは、アイテムに対応するマシン読み取り可能な情報(例えば、アイテム上の識別子または別の方法でアイテムに埋め込まれた識別子、など)を取得しうる(例えば、読み取りうる)。
「キッティングマシン」または「キッティングシステム」と、高度に自動化されたキッティング動作にそれらを組み込むことが開示されている。様々な実施形態において、本明細書で開示されているキッティングマシンは、キッティング動作の一部として、梱包および/または出荷の際に、および/または、そのために、アイテムを探し、ピックアップし、および/または、配置することを容易にするために、アイテムを供給および配置する少なくとも部分的にロボット制御されるユニットを備える。様々な実施形態において、本明細書で開示されているキッティングマシンは、1または複数のキッティングシステムモジュールを備え、各モジュールは、モジュール式構成要素を備える。本明細書で開示されているキッティングシステムモジュールは、1または複数の棚、ビン、または、その他の容器を備えてよい。いくつかの実施形態において、棚、ビン、または、その他の容器は、ピックアップするアイテムを配置するために、ロボット制御で配置されてよい。本明細書で開示されているキッティングシステムモジュールは、注文、インボイス、または、同様のデータに含まれるアイテムなど、1または複数の任意の個々のアイテムの各々を所定の数量だけ探し、選択し、梱包することができる少なくとも部分的に自動化されたキッティングシステムを構成するために、1または複数の他のキッティングシステムモジュール、1または複数のロボットアーム、ならびに/もしくは、その他の構成要素と統合されてよい。
キッティングを実行するよう構成されているキッティングシステムが開示されている。いくつかの実施形態において、キッティングシステムは、キッティングに関連して用いられるキッティング棚システムを備える。キッティング棚システムは、1または複数のキットを構築するためのキッティング処理で用いるための1または複数のアイテムが収容された1または複数の棚を備えてよい。キットは、対応する注文に少なくとも部分的に基づいて(例えば、注文に関連する梱包票に基づいて)構築されてよい。様々な実施形態が、1または複数のロボットシステムを含む。ロボットシステムは、第1位置(例えば、移動元位置)からアイテム/物体をピックし、第2位置(例えば、移動先位置)にプレースするように自律的に動作するようそれぞれ構成されている1または複数のロボットアームを備えてよい。キッティングシステムに備えられているロボットアームは、キットを構築するための計画に従って、アイテム/物体を(例えば、自律的に)ピックアンドプレースするように動作するよう制御されてよい。
キッティング棚上の(例えば、キッティング棚上の容器内の)各アイテムまたは物体は、マシン読み取り可能な情報(テキストならびに/もしくは光学的あるいは別の方法で符号化された情報など)を有してよく、情報は、マシンで読み取られ、例えば、自動キッティングシステムおよび/または処理を介して、物体および/またはアイテムをキッティングすることに関連して利用されうる。一例として、所与のアイテム(またはアイテム内の物体)の情報を読み取るためにアイテムがキッティング棚システム内(例えば、棚の提示面上などキッティング棚システムの棚の上など)にある間に、1または複数のセンサが、アイテムに関する情報を取得してよい。別の例として、所与のアイテム(またはアイテム内の物体)の情報を読み取るために、アイテムがキッティング棚システムから対応する容器へ(ロボットアームによって)移動されている間に、1または複数のセンサが、アイテムに関する情報を取得してもよい(例えば、アイテムに関する情報は、キッティング棚システムから容器へのアイテムの経路/軌道の間でスキャンされる)。キッティング棚上のアイテムまたは物体は、キッティング棚上の容器の中に配置されてよく、容器は、トレイ、箱(例えば、段ボール箱)、トート、などであってよい。いくつかの例において、容器は、キッティング棚上に配置された大型容器内に置かれている。いくつかの実施形態において、キッティング棚に対応する作業空間は、1または複数のセンサを含み、1または複数のセンサは、作業空間内のアイテム/物体に関する情報を取得してよい。例えば、アイテム/物体に関連する情報は、ロボットアームがアイテム/物体をピックアップするためにアイテム/物体に近づく間に取得されてよい。一例として、ロボットアームがアイテム/物体を把持する前にシステムが情報を持っているように、シュート(傾斜台)の上方に配置されたセンサ(例えば、カメラ)が、アイテム/物体に関連する情報(例えば、バーコードまたはその他の識別子)をキャプチャしてよい。別の例として、ロボットアームがアイテム/物体を把持/ピックアップするために移動する時に、ロボットアームに取り付けられたカメラが、アイテム/物体に関連する情報(例えば、バーコードまたはその他の識別子)をキャプチャしてもよい。別の例として、ロボットアームがアイテム/物体を把持/ピックアップするために移動する時に、ロボットアームに取り付けられたセンサが、アイテム/物体に関連する情報(例えば、アイテム上のRFIDタグからの情報)をキャプチャしてもよい。
シンギュレーションを実行するためのロボットシステムが開示されている。様々な実施形態において、シンギュレーションは、作業空間または作業空間内のアイテムに関連するデータに基づいて実行される。計画(例えば、アイテムをシンギュレートするための計画)が、作業空間内のアイテムの属性に少なくとも部分的に基づいて決定される。アイテムの属性は、作業空間に関して取得されたセンサデータに少なくとも部分的に基づいて決定されてよい。本明細書で用いられている作業空間(例えば、少なくともシンギュレーションシステムおよび/またはシンギュレーション処理に関する作業空間)は、移動元のアイテムの山/流れが配置されているシュートまたはその他の搬送構造ならびに/もしくは容器と、シュートからのアイテムが1つずつプレースされる移動先の搬送構造と、シュート(またはその他の移動元)から1または複数のアイテムをピックして1または複数のアイテムを移動先の搬送構造上の対応する位置に各々1つずつプレースするロボットアームを備えたロボット構造と、を備えてよい。作業空間は、さらに、作業空間に関連するセンサデータを取得する制御コンピュータ、および/または、作業空間内の要素(ロボットアームおよび/または搬送構造など)を制御するために人間のオペレータが利用できるオンデマンド遠隔操作装置を備えてよい。本明細書で用いられているスロットまたはトレイという用語は、コンベヤ上の特定の位置を記載することに関連して交換可能に利用されうる。
ロボットシステムは、下流の(例えば、最終的な送り先の/物理的な)宛先(例えば、移動先位置)への輸送に向けて仕分けおよびルーティングされるように、移動元の山/流れ(例えば、移動元位置)からアイテムをピックし、仕切り付きコンベヤまたは同様の運搬手段にアイテムをプレースするために用いられるロボットアームおよびエンドエフェクタを備える。本明細書で用いられているアイテムのシンギュレーションは、移動元の山/流れからアイテムをピックして、移動先の中または上(移動先の搬送構造(例えば、仕切り付きコンベヤまたは同様の搬送手段)上の位置など)にアイテムを1つずつプレースすることを含む。いくつかの実施形態において、複数のロボットが、所望の全体的スループットを実現するように連係される。様々な実施形態において、1または複数のロボットが、シンギュレーションステーションで用いられてよい。ロボットシステムは、複数のステーションを備えてよい。一例として、各ステーションは、異なる作業空間(例えば、移動元の山/流れを備えた異なるシュート)に対応しうる。人間の作業員が、1または複数のステーションに配備されてよい。ロボットシステムは、様々な実施形態において、例えば、ロボットが完全自動処理によって処理できないアイテムおよび/またはロボットが落としたアイテムなどを処理するために、例えば、ロボットアームの遠隔操作、手動でのタスク完了などによる、人間の作業員の支援を求める(要求する)よう構成されてよい。いくつかの実施形態において、同じ作業空間で動作する複数のロボットアームが、複数のアイテムをシンギュレートするために独立的に作業する。アイテムのシンギュレーションに関連して、アイテムが配置されている移動元の山/流れからコンベヤ上の対応する位置へアイテムをシンギュレートするための計画または戦略が決定されうる。コンベヤ上の対応する位置は、コンベヤ上の特定のスロットまたはトレイでありうる。いくつかの実施形態において、コンベヤ上のスロットまたはトレイは、識別子(例えば、ロボットシステム内のコンベヤに関する一意識別子)に関連付けられている。
いくつかの実施形態において、複数のロボット(例えば、ロボットアーム)が、特定のシュート内のアイテムをシンギュレートするために動作してよい。正方形または長方形のアイテムの場合、識別子は、アイテムの6面の内の任意の1または複数の上に配置されてよい。複数のロボットは、特定のアイテムを把持していないロボットアームがアイテムと1または複数のスキャナの少なくとも1つとの間に存在しないことを保証するように、もしくは、そうでなければ、少なくとも1つのセンサがアイテムに関する情報を取得するための視界または能力をロボットアームが遮断/妨害していないことを保証するように、それぞれの位置および動きを調整してよい。いくつかの実施形態において、複数のロボットが、アイテムを把持してアイテムをコンベヤへ移動させることと、アイテムをセンサの範囲(例えば、センサの所定の範囲)内で移動させることの両方で連携する。例えば、複数のロボットが、比較的平坦または比較的大きい(例えば、単一のロボットによるアイテムの移動が、アイテムの把持の安定性の閾値を満たさない場合があるほど十分に大きい)アイテムをピックアップするよう制御されてよい。
いくつかの実施形態において、アイテムをシンギュレートすることに関連する計画/戦略は、1または複数のスキャナへアイテムの1または複数の側面を提示することを含んでよい。例えば、ロボットアームは、アイテムの複数の側面がスキャナへ提示されるようにアイテムを移動させるよう制御されてよい。アイテムの複数の側面をスキャナへ提示することは、(例えば、シュートからアイテムがシンギュレートされるコンベヤへ)アイテムが移動される時に、アイテムを回転させること、または、アイテムの向きを変えることを含んでよい。
様々な実施形態によると、計画または戦略は、(例えば、移動元の山/流れから)アイテムがシンギュレートされる指示と、アイテムが1つずつプレースされるコンベヤ上の位置と、アイテムが移動元の山/流れからコンベヤ上の位置へ移動される際の経路または軌道と、を含む。計画または戦略は、アイテムが1つずつプレースされるコンベヤ上の位置に関する情報(アイテムがプレースされるコンベヤ上のスロットまたはトレイの識別子など)を含む。いくつかの実施形態において、計画または戦略は、アイテムをシンギュレートするロボット構造がアイテムをシンギュレートするために利用する命令を含む。一例として、命令は、ロボット構造が、アイテムをシュートからピックし、経路または軌道に沿ってアイテムを移動させ、コンベヤ上の決定済みの位置にアイテムをプレースするよう、対応するロボットアームを制御するために従う命令を提供する。
アイテムがシンギュレートされる際の経路または軌道は、いくつかの実施形態に従って、センサデータに少なくとも部分的に基づいて決定される。ロボットシステムは、作業空間内のアイテムまたは物体を含む作業空間に関する情報を出力する複数のセンサを取得してよい。センサデータは、1または複数のセンサから出力された情報に基づいて取得され、経路または軌道を決定することに関連して用いられる。いくつかの実施形態において、経路または軌道は、シンギュレートされるアイテムの1または複数の属性に少なくとも部分的に基づいて決定される。アイテムの属性の例は、重量、サイズ(例えば、1または複数の寸法)、パッケージのタイプ、アイテム上の識別子、アイテム上の識別子またはラベルの位置、シュートおよび/またはコンベヤに対するアイテムの位置、アイテム上の識別子またはラベルから取得される情報、などを含む。様々なその他の属性が、経路または軌道を決定することに関連して用いられてもよい。アイテムの経路または軌道の決定は、さらに、アイテムがプレースされるコンベヤ上の位置、すでにコンベヤ上にあるアイテムの属性、作業空間内のアイテム(例えば、移動元の山/流れの中のアイテム)の属性、ロボットアームがアイテムを把持した把持力、ロボットアームがアイテムを移動させる速度、などに少なくとも部分的に基づいてもよい。いくつかの実施形態において、アイテムの経路または軌道は、作業空間内の1または複数のセンサの位置に少なくとも部分的に基づく。いくつかの実施形態において、経路または軌道は、アイテムに関連付けられた情報(例えば、アイテム上の識別子など)を1または複数のセンサが取得しうる可能性に少なくとも部分的に基づいて決定される。例えば、作業空間内のセンサがアイテムからの情報の取得に成功した1または複数の位置または範囲を決定するために、履歴情報が用いられてよい。ロボットシステムは、作業空間をモデル化して、センサがセンサに関する情報を取得することに関して比較的高い成功度に関係している位置または範囲を決定することに関連して、履歴情報を利用してよい。例えば、履歴情報は、座標x1、y1、z1を有する位置が(例えば、かかる位置でアイテムから情報を取得するスキャンの)99%の有効スキャン成功率に関係しており、座標x2、y2、z2を有する位置が98%の有効スキャン成功率に関係していることを示唆しうる。いくつかの実施形態において、システムは、履歴情報を用いて、アイテムから情報を取得する可能性を最適化するように経路または軌道を決定してよい。いくつかの実施形態において、システムは、アイテムから情報を取得する可能性に関する閾値に少なくとも部分的に基づいて(例えば、選択された経路または軌道がアイテムから情報を取得する所定の最小可能性を満たすように)経路または軌道を決定する。アイテムから情報を取得する可能性に関する値が、アイテムを移動させるための計画を決定すること(例えば、移動元位置、移動先位置、経路または軌道、などを決定すること)に関連するコスト関数に含められてよい。システムは、作業空間のエリア/位置の、そのエリア/位置にあるアイテムに関連する情報を取得する可能性に関する値に対するマッピングを格納してよい。例えば、マッピングは、スキャンの成功確率に対する座標のマッピングを含む。マッピングは、アイテムからの情報を取得する確率が1または複数の特定のセンサに対して決定されるように、センサごとに情報を格納してよく、ならびに/もしくは、マッピングは、センサのセットについて、アイテムから情報を取得する可能性が集合的な値として集計または計算されるように、作業空間ベースで情報を格納してよい。アイテムに関連する情報を取得する可能性のマッピングまたはモデリングは、経時的に(例えば、所定の間隔で、または、更新要求に応じて、または、継続的に(アイテムの各移動に応じて、など))更新されてよい。
様々な実施形態が、移動元位置から移動先位置までの所定の経路に沿ってアイテムを移動させるよう構成されているロボットアームを備えたロボットシステムを含む。所定の経路は、作業空間内の1または複数のセンサからのセンサデータ(例えば、キッティングシステムの棚システム上のアイテムに関するセンサデータ、シンギュレーションシステムの移動元の山/流れおよび/またはコンベヤに関するセンサデータ、など)に基づいて決定されてよい。所定の経路は、アイテムが経路に沿って移動される時、アイテムが所定の経路に沿って移動される間に、アイテムが1または複数のセンサの閾値範囲内にあるように構成(例えば、決定)されてよい。1または複数のセンサの閾値範囲は、1または複数のセンサが情報(アイテム上に備えられまたは別の方法でアイテムに関連付けられている情報など)を取得できる範囲である視線または領域(例えば、無線周波数識別(RFID)センサの場合、RFIDタグから情報を取得できる範囲または近接度、など)を含みうる。アイテムが閾値範囲を通して移動される時に、1または複数のセンサは、アイテムに関連する形成を取得してよい。例えば、1または複数のセンサは、アイテム上の1または複数の識別子を取得(例えば、識別子の画像をキャプチャ)してよい。
様々な実施形態によると、ロボットシステムは、アイテムが所定の経路に沿って移動された時に、1または複数のセンサが1または複数の識別子から十分な情報を取得したか否かを判定する。例えば、アイテムが1または複数のセンサの閾値範囲を通して移動されたことに応じて、ロボットシステムは、1または複数のセンサが1または複数の識別子に対応する情報を取得したか否かを判定する。ロボットシステムは、1または複数の識別子の内の少なくとも1つに関する情報がキャプチャされなかったか否かを判定してよい(例えば、1または複数のセンサが少なくとも1つの識別子から情報を取得できなかったと判定しうる)。いくつかの実施形態において、アイテム上の複数の識別子を示す情報が、予め(例えば、アイテムがキッティングまたはシンギュレートされる前に)格納されている。例えば、システムは、複数の識別子に対するアイテムまたはアイテムタイプのマッピングを格納していてよい。アイテムまたはアイテムのタイプにマッピングされた識別子の数は、識別子の期待数に対応うる。1または複数のセンサによって取得された(または情報が取得された)識別子の数がアイテムの識別子の期待数より少ないと、ロボットシステムが判定した場合、ロボットシステムは、1または複数のセンサによって取得された情報が不十分である(例えば、1または複数の識別子の内の少なくとも1つに関する情報がキャプチャされなかった)と判定してよい。いくつかの実施形態において、システムは、十分過ぎる情報が1または複数のセンサによって取得されたと判定する。例えば、1または複数のセンサは、(例えば、複数のアイテムの一部だけの情報を取得しようとしている時に)複数のアイテムから情報を取得しうる。十分過ぎる情報がキャプチャされうる場合の例は、ロボットシステムがセンサの範囲内でアイテムを移動させていて、別のアイテムがフレーム内に侵入しまたは別の方法でフレームの一部を占めて1または複数のセンサによってキャプチャされる場合を含む。アイテムは、作業空間内のアイテムの流れまたは不安定性に基づいて、もしくは、アイテムを把持する時にロボットアームによって、などの形で、センサのフレーム内に侵入しうる。いくつかの実施形態において、さらなる情報(例えば、アイテムに対して期待された情報を超過した情報(フレーム内の別のアイテムに関する情報など))が取得されたと判定したことに応じて、ロボットシステムは、キャプチャされた情報の一部を、移動されているアイテムに対応する(例えば、取得を意図された情報である)と決定してよい。いくつかの実施形態において、さらなる情報が取得されたと判定したことに応じて、ロボットシステムは、センサのフレームまたは視線から別のアイテムを取り除くよう、作業空間内のロボットアームまたは別の要素(例えば、別のロボットアーム、圧縮空気ブロワ、エアナイフ、など)を制御する。
様々な実施形態によると、ロボットシステムは、センサによる情報またはアイテムの検出に基づいて、位置座標を、アイテムに関する情報(例えば、ラベル(アイテム上のバーコードなど))またはアイテムの位置座標と関連付ける。例えば、ロボットアーム(またはロボットシステム)は、作業空間内の1または複数のセンサに関して較正されてよい。アイテムが移動される経路または軌道を決定するなど、アイテムを移動させるための計画を決定するために、作業空間へのセンサのマッピング(例えば、作業空間への様々なセンサの位置のマッピング)が用いられてよい。また、作業空間へのセンサのマッピングは、特定のアイテムに対応する作業空間内のセンサによって取得された情報の一部を決定するために用いられてよい。例えば、作業空間内のセンサが2以上のアイテムに関する情報をキャプチャした場合、ロボットシステムは、情報がキャプチャされた時、情報がキャプチャされた時のアイテムの位置、および、アイテムが移動された経路または軌道を用いて、アイテムに関連するキャプチャ済みの情報の一部を決定してよい。2以上の物体がセンサフレーム内にあり、2つのアイテムの情報が取得された場合、ロボットシステムは、情報がいつキャプチャされたのか、および、情報がキャプチャされた時にアイテムがどこにあったのかに基づいて(例えば、アイテムが移動された経路または軌道に基づいて)、特定のアイテムに対応するかかる情報の一部を決定してよい。
様々な実施形態によると、作業空間へのセンサのマッピングは、予め規定されてよい。例えば、ロボットシステムは、1または複数のセンサ(例えば、作業空間内のセンサ)の様々な所定の範囲またはフレームを決定するために較正されてよい。ロボットシステムの較正は、所定のアイテムを把持しつつ一連の固定点を通してロボットアームを移動させることを含んでよい。ロボットシステムは、ロボットアームが一連の固定点を通して移動される間に、1または複数のセンサによって取得された情報を解析してよい。1または複数のセンサによって取得された情報の解析は、1または複数のスキャナがアイテムに関する情報を取得する範囲(例えば、3D領域)を決定するために(例えば、センサがアイテムから情報を取得/スキャンできる位置、および/または、センサが特定の位置でアイテムから情報をスキャン/取得できるアイテムの向きを較正するために)用いられてよい。ロボットシステムの較正は、さらに、期待情報が作業空間内の1または複数のセンサによって取得されることを確実にするために、作業空間を通した1または複数のアイテムの移動をシミュレートし、シミュレーション中にアイテムで取得される期待情報を決定し、次いで、1または複数のアイテムの移動を実行することを含んでよい。
様々な実施形態によると、1または複数のセンサは、アイテムの位置(またはアイテムの予想位置)に少なくとも部分的に基づいて、情報を取得するよう動的に制御される。ロボットシステムは、アイテムのサイズと、アイテムが移動される計画または軌道を決定し、情報を取得するためにセンサを作動させる時を決定することに関連して、アイテムのサイズと、計画または軌道とを用いてよい。例えば、ロボットシステムは、アイテムがセンサの所定の範囲内(またはセンサのフレーム内)にあると期待される時を決定してよい。アイテムがセンサの所定の範囲内にある(または、所定の範囲内にあると期待される)時、ロボットシステムは、アイテムに関する情報を取得する(例えば、アイテム上のバーコードをスキャンする)ために、センサを作動させてよい。ロボットシステムは、アイテムがセンサの所定の範囲外にあると決定された後(またはアイテムが所定の範囲外にあると期待される時)、センサを停止しまたは別の方法で情報のキャプチャを停止してよい。アイテムの位置(またはアイテムの予想位置)に基づいたセンサの動的制御は、センサによってキャプチャされる画像または情報の量を削減することにより、メモリおよび計算負荷の要件を低減させうる。
様々な実施形態が、1または複数のセンサが少なくとも1つの識別子についての情報を取得していなかったとの判定に応じて、積極的な対策を実行することを含む。例えば、1または複数のセンサによって取得された識別子(または情報が取得された識別子)の数がアイテムに対する識別子の期待数より少ないとロボットシステムが判定したことに応じて、ロボットシステムは、積極的な対策を実行してよい。積極的な対策は、少なくとも1つの識別子をスキャンしようとする1または複数のさらなる試行を実行することを含んでよい。例えば、積極的な対策は、閾値範囲を通して(例えば、少なくとも1つのセンサの視線内で)アイテムを移動させることを含んでよい。積極的な対策は、アイテムの向き(例えば、1または複数のセンサに対する1または複数の側面の向き)を変えることを含んでよい。ロボットシステムは、1または複数のセンサによって取得された少なくとも1つの識別子に対応する情報を有するように、1または複数のさらなる試行を実行する前に向きを変えてよい。アイテムの向きは、ロボットアームが動いている間に変えられてよい。例えば、ロボットアームは、ロボットアームの手首を回転させるよう制御されてよい。いくつかの実施形態において、アイテムの向きは、ロボットアームが1または複数のセンサの閾値範囲の少なくとも一部を通して動いている間に(例えば、アイテムが少なくとも1つのセンサの視線内にある間に)変えられる。積極的な対策は、(i)アイテムの識別子すべてが取得される(または閾値数の識別子が取得される)まで、および/または、(ii)少なくとも1つの識別子を取得するための再試行が閾値回数だけ実行されるまで、少なくとも1つの識別子(例えば、取得されなかった識別子)を取得するよう繰り返し試みることを含んでよい。一例として、少なくとも1つの識別子を取得するための再試行は、(i)および(ii)のいずれかが満たされるまで、繰り返し実行されてよい。
様々な実施形態において、本明細書で開示されている統合キッティングシステムおよび/またはシンギュレーションシステムは、システムがスタックして、自動動作を継続するために利用できる戦略がなくならない限りは/そうなるまでは、自動的に動作する。いくつかの実施形態において、かかる状態になったことに応じて、システムは、例えば、手動支援、遠隔操作などによる、人的介入を要求する。
図1は、様々な実施形態に従って、シンギュレーションシステムを示す図である。
図の例において、システム100は、吸着ベースのエンドエフェクタ104を備えたロボットアーム102を備える。図の例において、エンドエフェクタ104は、吸着ベースのエンドエフェクタであるが、様々な実施形態において、ピンチベースのエンドエフェクタまたはその他のタイプの作動グリッパを含むがこれらに限定されない、1または複数のその他のタイプのエンドエフェクタが、本明細書で開示されているシンギュレーションシステムで用いられてもよい。いくつかの実施形態において、エンドエフェクタ104は、1または複数の吸着ベースの末端(例えば、1または複数の吸着カップ)を備える。様々な実施形態において、エンドエフェクタは、吸着、空気圧、空圧、油圧、または、その他の作動、の内の1または複数によって作動されてよい。ロボットアーム102およびエンドエフェクタ104は、シュート(またはビン)106を介して到着した荷物またはその他のアイテムを取り、仕切り付きコンベヤ108上の対応する位置(例えば、移動先位置)に各アイテムをプレースするために用いられるよう構成されている。この例において、アイテムは、取り入れ端110からシュート106へ供給される。例えば、1または複数の人間および/またはロボットの作業員が、直接的に、もしくは、シュート106へアイテムを供給するよう構成されたコンベヤまたはその他の電気機械構造を介して、シュート106の取り入れ端110へアイテムを供給してよい。
図の例において、ロボットアーム102、エンドエフェクタ104、および、コンベヤ108の内の1または複数が、制御コンピュータ112によって協調的に動作される。いくつかの実装例において、制御コンピュータ112は、1または複数の作業ステーションで動作する複数のロボットアームを制御するよう構成されている。様々な実施形態において、本明細書で開示されているロボットシンギュレーションは、作業空間の環境のモデル化に用いられる1または複数のセンサを備えてよい。図1に示す例において、システム100は、画像センサ(この例においては、3Dカメラ114および116など)を備える。様々な実施形態において、カメラ、赤外線センサアレイ、レーザアレイ、スケール、ジャイロスコープ、電流センサ、電圧センサ、電力センサ、力センサ、圧力センサ、重量センサなど、他のタイプのセンサが、本明細書で開示されているシンギュレーションシステムにおいて(個別にまたは組み合わせて)用いられてよい。様々な実施形態において、制御コンピュータ112は、画像センサ(この例においては、3Dカメラ114および116など)によって提供されたセンサデータ(画像データなど)に基づいて、個々のアイテム、作業空間上のデブリ、および、各アイテムの向きを判別するために用いられる作業空間環境状態システム(ビジョンシステムなど)を備える。いくつかの実施形態における作業空間環境状態システムは、アイテム(例えば、把持されたアイテム)の重量を検出するため、または、推定重量を決定するための情報を検出するために、ロボットアームにセンサを備える。例えば、ロボットアームの運動を駆動する1または複数のモータによって利用された電流、電圧、および/または、電力の量に関する情報が、アイテムの重量(または推定重量)を決定するために利用されうる。別の例として、シュートが、重量センサを備え、アイテムの重量は、アイテムがピックアップされる前およびアイテムがピックされた後に重量センサによって測定されたシュート上の重量の差に基づいて決定される。別の例として、1または複数のセンサアレイからの出力に関する情報が、(例えば、1または複数のセンサアレイのセンサの内の別の一部と比較して1または複数のセンサアレイのセンサの内の一部からの出力を決定することに基づいて)、作業空間内のアイテムの位置、アイテムがロボットアームによって把持されおよび/または移動されている間のアイテムの位置、ならびに/もしくは、ロボットアームの位置を決定するために利用されうる。別の例として、1または複数のセンサアレイからの出力に関する情報は、シンギュレートされるアイテムならびに/もしくは作業空間内の別のアイテムまたは物体の寸法またはサイズを決定するために利用されうる。センサアレイの1つからの出力に関する情報は、識別子(例えば、ラベルなど)を備えたアイテムの1または複数の側面を示す情報を含んでよい。
作業空間環境状態システムは、1または複数のアイテムを作業空間からピックし、機械識別および仕分けに利用可能な対応する規定された位置(仕切り付きコンベヤ108の仕切られた部分など)に各アイテムをプレースするように、ロボット構造を自律的に動作させるための計画を決定して実行するために、ロボットシステムによって用いられる出力を生成する。いくつかの実施形態において、作業環境状態システムは、作業空間内の1または複数のアイテムに関連する状態、条件、および/または、属性、ならびに/もしくは、ロボットアームまたは作業空間のその他の要素に関連する状態または条件を検出するためにロボットシステムによって用いられる出力(例えば、センサデータ、もしくは、作業空間および/または作業空間内のアイテムを別の方法で特徴付ける情報)を生成する。様々な実施形態によると、作業空間内の1または複数のアイテムに関連する状態、条件、および/または、属性を検出(例えば、決定)したことに応じて、ロボットシステムは、アイテムをシンギュレートすることに関連して1または複数の積極的な対策を実行する。一例として、積極的な対策は、作業空間から1または複数のアイテムをピックして、シンギュレーション搬送構造における対応する位置に1つずつ各アイテムをプレースするように、ロボット構造を自律的に動作させるための計画を更新することを含んでよい。一例として、積極的な対策は、アイテムが作業空間内の1または複数のセンサの閾値範囲内で(例えば、1または複数のセンサがアイテム上の識別子から情報を取得することを可能にするために、1または複数のセンサの視線内で)移動されるように、更新されたアイテムの経路または軌道を含むように計画を更新することを含んでよい。いくつかの実施形態において、積極的な対策、すなわち、計画を更新することは、検出された状態、条件、および/または、属性を変更し、もしくは、それらに適応するよう、ロボット構造を動作させることを含みうる(例えば、アイテムがシンギュレートされる方法の変更、アイテムがシンギュレートされる経路または軌道の変更、アイテムが把持される方法の変更、アイテムが把持される際にアイテム上で把持される位置の変更、など)。
様々な実施形態において、本明細書で開示されているロボットシステムは、以下の内の1または複数を備え、および/または、例えば、制御コンピュータ(制御コンピュータ112など)の動作によって、実行する。
・コンピュータビジョン情報が、1または複数の仕分けステーションを含む作業空間の三次元ビューを生成するために、2Dカメラ、3D(例えば、RGBD)カメラ、赤外線、および、その他のセンサの内の1または複数を含む、複数のセンサからのデータをマージすることによって生成される。ロボットシステムは、作業空間の三次元ビューにおけるアイテムおよび/またはデブリまたはその他の異常の特徴を決定する。
・ロボットシステムは、衝突と、互いの妨げになることと、別のロボットと同じアイテムをピックアップしおよび/または同じ移動先位置(例えば、コンベヤの仕切られた部分)にアイテムをプレースしようと競合することと、を回避するために、複数のロボットの動作を連係させる。ロボットシステムは、複数のアイテムをシンギュレートするために同じ作業空間内で動作する複数のロボットの動作を調整する。例えば、様々な実施形態において、複数のロボットは、アイテムをピックアンドプレースするよう独立的に動作する。衝突のリスクが検出された場合、複数のロボットがシンギュレーション中に互いに衝突しないようにする応答動作が取られる。
・ロボットシステムは、すべてのアイテムがスロット/位置ごとに1つのみプレースされることを確実にするように、複数のロボットの動作を連係させる。例えば、ロボットAがアイテムを落とした場合に、システムは、ロボットBにそのアイテムをピックアップするタスクを課す、プレースされたが向きが不適切であるアイテムが、同じまたば別のロボットによって、ピックアップされ、調整されるか、または、別の位置に移動される、単一の移動先スロットに2以上のアイテムが入った場合に、下流ステーションのロボットが2以上のアイテムの内の1つをコンベヤからピックして、新たな位置にプレースする、などである。
・ロボットシステムは、(例えば、全体的スループットを最大化するため、全体的スループットの所定の閾値に到達するため、など)所望の全体的スループットを達成するために、各ロボットおよび全ロボットのための動作計画を絶えず更新する。アイテムのシンギュレーションのためのそれぞれの計画に従って動いた場合に、2以上のロボットが衝突したかまたは衝突するとの判定に応じて、ロボットシステムは、2以上のロボットが衝突を避けまたは別の方法で2以上のロボットの独立動作をリセットすることを確実にするために、積極的な対策を実施する。
・2つのロボットが独立的に同じアイテムを取得するタスクを課されたとの判定に応じて、システムは、そのアイテムを取るために一方のロボットをランダムに選択し、他方のロボットは、次のアイテムへ移行する(例えば、把持戦略を特定、選択、決定し、ピックして、計画に従って移動させ、プレースする)。
・ロボットシステムは、2つの異なるロボットによるシンギュレーションに対して同じアイテムが選択されることを回避するために、ロボットが異なる時にアイテムを選択することを確実にするように、複数のロボットの独立動作を管理できる。
・空き位置を無くして所望のロボットの生産性(スループット)を達成する必要に応じて制御されるコンベヤの動きおよび/または速度。
・アイテムの誤配置または落下したと判定されたことに応じて、システムは、そのアイテムをピックアップして、回収ロボット自身の移動元の山に戻すか、もしくは、利用可能またはより最適であれば、コンベヤ上の次の空きスロットに置く作業を、ロボットまたは必要であれば人間の作業員に割り当てる。
・下流のロボットがコンベヤにアイテムをプレースするために、いくつかのスロットを意図的に空き状態にするよう制御される上流ロボット。
・(例えば、2以上のスロット/トレイ内にあるアイテムの配置を修正するため、アイテムの識別子と、上流ロボットがアイテムをプレースしたスロットとの間の関係でデータ構造を更新するため、など)コンベヤ上への上流でのアイテムのプレースのエラーを修正するよう制御される下流ロボット。
・下流センサは、コンベヤ上で運ばれているアイテム上の1または複数の識別子に関する情報を取得するよう制御されてよい(または、かかるセンサからの情報が取得されてよい)。
・同じまたは別のロボットによって修正できない失敗またはエラーの結果として、解決するために人間(またはその他のロボット)の介入を得るための警告が出される。
・作業空間内のデブリを移動/除去し、または、シンギュレートされるアイテムを再構成する(例えば、アイテムが成功裏に、移動元の山/流れからピックされ、搬送構造上にプレースされる可能性を改善するため)。
・作業空間内のアイテムを再構成するようシュートコンベヤを制御する(例えば、ロボットアームによるより迅速かつ容易なアクセスのために、シンギュレーションに向けて選択されたアイテムをシュートの前方の近くに移動させるため、アイテムを把持するロボットアームの能力を向上させるように1または複数のアイテムを再配置するため、など)。
・作業空間環境状態システムからの(例えば、作業空間内の1または複数のセンサからの)センサデータを用いて、シュートでの流れをモデル化して(または、作業空間環境をモデル化し)、予測されたシュートの流れからの(または、予測された作業空間環境からの)ずれを検出し、センサデータを用いて、シュートの流れまたは作業空間環境内の詰まりまたは異常を検出して、詰まりを取り除くための積極的な対策を実行する。
・作業空間環境状態システムからのセンサデータを用いて、シンギュレーションに向けて選択されたアイテムの1または複数の特徴(例えば、属性)を検出し、アイテムの把持または解放が積極的な対策の実施に応じて改善を期待されると判定し、アイテムの把持または解放を改善するために積極的な対策を実施する。
・センサデータを用いて、アイテム内の1つのシンギュレーションに関連してロボットアームが複数のアイテムを把持したと判定し、シンギュレーション搬送構造における対応する位置に各アイテムを1つずつプレースするために複数のアイテムを解放する計画を決定する(対応するアイテムがプレースされるシンギュレーション搬送構造における異なる位置を選択し、および/または、複数のアイテムの第2サブセットとは異なる時に複数のアイテムの第1サブセットを解放するようにエンドエフェクタを動作させるための戦略を決定する)。
・選択されたアイテムのサイズならびに/もしくは搬送構造上のスロット内のアイテムの1または複数の特性に基づいて、選択されたアイテムをプレースする搬送構造上のスロットを選択する。例えば、スロットは、選択されたアイテムが、背が高くまたは大きいアイテムを含むスロットと隣接するスロットにプレースされないことを保証するように選択される。
・搬送構造上にアイテムをシンギュレートするための経路を、そのアイテムの属性(例えば、選択されたアイテムのサイズ、アイテムの重量、など)ならびに/もしくは搬送構造上のスロット内のアイテムの1または複数の属性(例えば、特徴)に基づいて選択する。例えば、経路は、背が高くまたは大きいアイテムを含むスロットと隣接するスロットにプレースされたものの上にアイテムをプレースするように決定される。別の例として、アイテムをシンギュレートするための経路は、アイテム上の識別子の位置(例えば、作業空間内のセンサまたはスキャナに対する識別子の位置)に基づいて決定されてもよい。
・コンベヤベルトの速度に少なくとも部分的に基づいてアイテムをシンギュレートするロボットアームの動きおよび速度を決定する。
・アイテムの特徴(例えば、アイテム上の識別子の位置)、作業空間環境の特徴、センサまたはスキャナの位置、ならびに/もしくは、搬送構造の特徴(例えば、コンベヤベルトの速度)の内の1または複数に少なくとも部分的に基づいて、シンギュレートされるアイテムの軌道を決定する。
・シンギュレートされるアイテムの1または複数の経路/軌道に対応するシンギュレーション成功の確率を決定し、対応する成功確率に基づいて、アイテムがシンギュレートされる経路/軌道を選択する。
・(例えば、把持成功の確率、アイテムのパッケージのタイプ、アイテムの寸法、閾値に関する期待把持力、などに基づいて決定されたように)把持を成功させるために、ロボットアームおよび/またはロボットアームのエンドエフェクタのポジショニングを決定する。エンドエフェクタのポジショニングは、エンドエフェクタがアイテムの表面と直角をなすように、ロボットアームまたはロボットアームの手首の移動を制御することを含みうる。
・ロボットシステムが空きスロットまたはトレイを検出する能力を更新する。例えば、空きスロット/トレイを識別するためにロボットシステムによって用いられる空きスロット/トレイの定義が、時と共に更新される。
様々な実施形態において、シンギュレートされる任意の混在したアイテムは、様々な形状およびサイズの荷物、パッケージ、および/または、手紙を含みうる。一部のアイテムは、規格パッケージであってよく、それらの1または複数の属性が既知でありえ、他のアイテムは、未知でありうる。センサデータ(画像データなど)が、様々な実施形態において、(例えば、画像分割によって)個々のアイテムを判別するために用いられる。部分的に遮蔽されたアイテムの境界は、例えば、規格タイプまたは既知のタイプとしてアイテムを認識し、および/または、目に見えるアイテムの境界を論理的な評価範囲まで延長する(例えば、2つの縁部が、遮蔽された角で出会うように外挿される)ことによって、評価されてよい。いくつかの実施形態において、重なり(すなわち、他のアイテムによる遮蔽)の程度が、各アイテムに対して評価され、重なりの程度は、把持を試みる次のアイテムを選択する際に考慮される。例えば、各アイテムに対して、スコアが、把持成功の確率を評価するために計算されてよく、いくつかの実施形態において、スコアは、少なくとも部分的には他のアイテムによる重なり/遮蔽の程度によって決まる。あまり遮蔽されていないアイテムは、例えば、その他の考慮事項が等しければ、選択される可能性が高くなりうる。
移動元の山/流れが、シンギュレートされる任意の混在したアイテムを有する場合、移動元の山/流れは、一般に、段ボール箱パッケージ、紙包装パッケージ、ポリバッグパッケージ(例えば、ポリエチレンバッグ)など、異なるタイプのパッケージを有するアイテムを含む。ロボットシステムは、センサから取得された視覚データに基づいて、または、ロボットアームがアイテムのピックアップを試みる時にエンドエフェクタとアイテムとの間で生じる圧力に基づいて、アイテムのパッケージを決定できる。センサデータは、移動元の山/流れの中の特定のアイテムに対応するパッケージのタイプを判別するために利用されうる。いくつかの実施形態において、ロボットシステムは、アイテムに対応するパッケージのタイプに少なくとも部分的に基づいて、アイテムを把持するための戦略を決定する。例えば、ポリバッグで梱包された比較的重いアイテムは、一般に、エンドエフェクタ吸着カップの間で「テンティング(tenting)」を経験する。テンティングは、ロボットアームのエンドエフェクタからの準最適な吸着を引き起こしうるため、かかるアイテムの把持は準最適である。様々な実施形態によると、アイテムが比較的重く(例えば、重量が所定の閾値を超えており)、アイテムがポリバッグで梱包されていると判定したことに応じて、もしくは、アイテムを把持している間にテンティングが引き起こされていると判定したことに応じて、ロボット構造は、「テンティング」またはアイテムのパッケージの判定に対して変更または適応するための積極的な対策を実行する。一例として、ロボット構造は、パッケージを部分的に持ち上げて、シュートから搬送構造における対応するスロットへパッケージを引っ張る積極的な対策を実行する。
ロボットシステムは、テンティングを避けるため、または、アイテムの把持を別の方法で改善するために、アイテムのパッケージのタイプに基づいて、経路または軌道(または、把持に向けてアイテムに近づく際のロボットアーム/エンドエフェクタの軌道)を決定してよい。一例として、ロボットアーム(例えば、手首)および/またはエンドエフェクタは、アイテムの把持の際に把持されるアイテムの表面と直角をなすように制御される。別の例として、ロボットアームおよび/またはエンドエフェクタの経路または軌道は、アイテムを把持する前に、アイテムをひっくり返しまたは別の方法でアイテムを再配置するように決定されうる。
様々な実施形態において、複数の3Dおよび/またはその他のカメラが、画像データを生成するために用いられてよい。シーンの3Dビューが生成されてよく、および/または、いくつかの実施形態では、カメラの組みあわせが、異なる角度からシーンを見るために用いられ、例えば作業空間および/または作業空間内の1以上の特定のアイテムに対して、最も遮蔽されていないカメラが、1または複数のアイテムを把持および移動させることに関連して選択および利用される。画像データは、シュート上または作業空間内のデブリ、作業空間を通るアイテムのシュートの流れにおける詰まり、選択されたアイテムのシンギュレーション中にロボット構造によって把持されたアイテムの数、搬送構造上のスロットを占める1または複数のアイテムの特徴、などを検出するために利用されうる。いくつかの実施形態において、画像データは、作業空間内の1または複数のアイテムの特徴(例えば、属性)を決定するために用いられる。一例として、画像データは、アイテムの高さまたは寸法を決定(例えば、推定)することに関連して利用されうる。別の例として、画像データは、アイテム上の識別子(例えば、ラベルなど)に関する情報を取得するために利用されうる。画像データは、ラベルが含まれるアイテムの側面を決定するために用いられてもよい。
複数のカメラは、様々な実施形態において、多くの目的を果たす。第1に、それらは、シーンのより豊かなフル3Dビューを提供する。次に、それらは、パッケージに反射してカメラに入る光がカメラの動作を妨げる場合にパッケージの光沢によるエラーを最小化するために、一体的に動作し、この場合には、異なる位置の別のカメラがバックアップを提供する。いくつかの実施形態において、それらは、特定の荷物をピックするためにどのカメラが最良の視野角および/または最小のエラー率を有するのかを決定する予測視覚アルゴリズムによって選択的にトリガされうるため、各パッケージは、最適なカメラで見られる。いくつかの実施形態において、1または複数のカメラが、作動ベース上に取り付けられ、システムは、パッケージのより最適な認識(例えば、ビュー)を提供するために、ベースの位置および向きを変更できる。実施形態において、1または複数のカメラが、ロボット構造上に(例えば、ロボットアームのエンドエフェクタ上などに)取り付けられる。
カメラによって果たされる別の目的は、様々な実施形態において、ロボット動作における任意の種類の不測のエラーまたは環境への任意の障害を検出することである。ロボットおよび環境に配置されたカメラは、異なるエラーおよび精度のプロファイルを有する。ロボット上のカメラは、ロボットにしっかりと固定されているため、より正確でありうるが、かかるカメラを利用する際にロボットが減速または停止する必要があるため、利用が低速でありうる。環境内のカメラは、安定したビューを有し、カメラが写真を撮影している間にロボットがマルチタスクを行って他のことを実行できるため実質的に高速である。しかし、誰かがカメラスタンドを動かしたり揺らしたりすると、カメラがロボットと同期しなくなり、エラーを引き起こしうる。様々な実施形態において、ロボットが非ロボットカメラと同期しているか否かを検出するために、ロボットカメラおよび非ロボットカメラからの画像が(時々またはパッケージミスの際に)組み合わせられる。カメラが同期していないと判定された場合、ロボットは、修正行動(較正または同期処理の実行、人間のオペレータの変更、など)を取る。いくつかの実施形態において、カメラが、ロボットアーム上にしっかりと取り付けられなくてよく、いくつかの実施形態において、カメラ上のジャイロおよび/または加速度計が、取り付けベースの動きをフィルタリングまたは補償するために用いられてよい。
様々な実施形態によると、システム100は、複数のカメラとは別にまたは複数のカメラに加えて、1または複数のセンサ(例えば、赤外線センサアレイ、レーザアレイ、スケール、ジャイロスコープ、電流センサ、電圧センサ、電力センサ、などの内の1または複数)を含んでよい。様々な他のセンサから受信された情報は、シンギュレートされるアイテムの1または複数の属性ならびに/もしくは作業空間内の別のアイテムまたは物体の属性などを決定する際に用いられる。
図1を参照すると、様々な実施形態において、ロボットアーム102は、1または複数のモータ(例えば、各可動関節または取り付け位置にある1または複数のモータ)によって駆動される。いくつかの実施形態において、ロボットアーム102を駆動する(例えば、ロボットアームがアイテムをシンギュレートしようとする時にロボットアームを動かす)ために必要な仕事は、シンギュレートされるアイテムの1または複数の特徴を示す。例えば、いくつかの実施形態において、アイテムがロボットアーム102に把持されている間にロボットアーム102を駆動するのに必要な仕事に基づいて、アイテムの重量が計算(または推定)されてよい。様々な実施形態において、ロボットアーム102を駆動するのに必要な仕事は、電流センサ、電圧センサ、電力センサ、および/または、同等物、もしくは、それらの或る組み合わせを用いて測定される。シンギュレーション中にアイテムの重量を決定したことに応じて、ロボットシステムは、アイテムの重量に少なくとも部分的に基づいて、シンギュレートされるアイテムの経路/軌道を決定する。ロボットシステムは、アイテムの重量に適応するために積極的な対策を実行してよい(例えば、アイテムの重量を決定したことに応じて経路または軌道を更新する、など)。いくつかの実施形態において、アイテムの重量が所定の閾値より大きいと判定したことに応じて、ロボットシステム100は、(例えば、アイテムを完全にピックアップして、搬送構造上にアイテムをプレースするためにアームを移動させるのとは対照的に)アイテムを部分的にピックアップして搬送構造上の対応する位置へアイテムを引っ張ることによって、アイテムをシンギュレートするように計画を調整する。いくつかの実施形態において、アイテムの重量を決定したことに応じて、ロボット構造は、ロボットアーム(およびアイテム)が移動される速度を調整する。例えば、アイテムの重量が重くなるほど、ロボットアーム102が移動された時のアイテムとエンドエフェクタ104との間のせん断力が大きくなる。さらに、せん断力は、ロボットアームが動作される速度(例えば、ロボットアームがアイテムを移動させる速度)と共に増大しうる。したがって、ロボットシステム100は、アイテムがロボットアームによってしっかりと把持されたままでいることを保証するために、アイテムの重量に少なくとも部分的に基づいてロボットアーム102の速度を制御できる。ここの説明では、重量が、電流センサ、電圧センサ、電力センサ、および/または、同等物を用いることに基づいて測定されると記載されているが、重量は、ロボットアーム102またはエンドエフェクタ104内に構成された力センサを用いて測定されてもよい。しかしながら、力センサは、比較的高価であるため、低レベルハードウェア情報(モータによって用いられるモータトルクまたは仕事の測定値など)が、アイテムの重量を決定(例えば、推定)するための有効な方法である。
1または複数のセンサアレイからの出力に関する情報が、(例えば、1または複数のセンサアレイのセンサの内の別の一部と比較して1または複数のセンサアレイのセンサの内の一部からの出力を決定することに基づいて)、作業空間内のアイテムの位置、アイテムがロボットアームによって把持されおよび/または移動されている間のアイテムの位置、ならびに/もしくは、ロボットアームの位置を決定するために利用されうる。別の例として、1または複数のセンサアレイからの出力に関する情報は、シンギュレートされるアイテムならびに/もしくは作業空間内の別のアイテムまたは物体の寸法またはサイズを決定するために利用されうる。1または複数のセンサアレイから受信された情報は、シンギュレートされるアイテムならびに/もしくは作業空間内の別のアイテムまたは他の物体の高さを決定することに関連して用いられてよい。いくつかの実施形態において、ロボットシステムは、シンギュレートされるアイテムおよび/または作業空間内の別のアイテムまたは他の物体の高さに少なくとも部分的に基づいて、経路または軌道を決定する(もしくは、経路または軌道を更新する)。例えば、ロボットシステムは、コンベヤ上の1または複数の他のアイテムの高さ(またはその他の寸法)に少なくとも部分的に基づいて、アイテムがプレースされるコンベヤ上の位置を決定する。比較的大きい(例えば、背が高い、幅が広い、など)アイテムを含む別のスロット/トレイに隣接するスロット/トレイにアイテムをプレースするよう計画すると、シンギュレーション中の衝突の可能性を高めうる。さらに、コンベヤ上の比較的大きいアイテムは、ロボットシステムが隣接するアイテムの情報を取得する能力を妨げうる。ビジョンシステムの視線は、比較的大きいアイテムによって遮断される場合があるため、センサデータは、隣接するアイテム(または大きいアイテムの近傍内の他のアイテム)の正確な情報を含まない場合がある。別の例として、アイテムが、比較的大きいアイテムの方を向いた側面上または大きいアイテムに近い表面上に識別子またはラベルを備えている場合、ビジョンシステムは、識別子またはラベルを位置特定しまたは読み取ることができないことがある。いくつかの実施形態において、隣接するアイテムの情報を取得するロボットシステムの能力が妨げられていると判定したことに応じて、ロボットシステムは、1または複数の積極的な対策を実施してよい。1または複数の積極的な対策は、アイテムの情報を取得するための1または複数の動作を実行することを含んでよい。積極的な対策の例は、1または複数の下流センサ(例えば、オーバーヘッドセンサおよび/またはサイドセンサ、など)を用いて情報をキャプチャすること、アイテムが1または複数のセンサの範囲内にもたらされる経路の一部を含めるようにアイテムの経路/軌道を更新すること(例えば、作業空間のモデリングおよび作業空間内の位置に対するスキャン成功の可能性などに基づいて、作業空間内のセンサの視線内にアイテムをもたらすように経路を修正すること)、などを含みうる。様々なその他の積極的な対策が実施されてもよい。
さらに図1を参照すると、図の例において、システム100は、さらに、ロボットアーム102、エンドエフェクタ104、および、コンベヤ108、の内の1または複数を遠隔操作によって操作するために、人間の作業員120によって利用可能なオンデマンド遠隔操作装置118を備える。いくつかの実施形態において、制御コンピュータ112は、完全自動化モードで移動元の山(例えば、移動元位置)からコンベヤ108(例えば、移動先位置)へアイテムを移動させることを試みるよう構成されている。一例として、制御コンピュータ112は、移動元の山からアイテムをピックアップし、アイテム上の1または複数の識別子もしくはアイテム上の1または複数の識別子に関する情報が作業空間内の1または複数のセンサによって取得(例えば、スキャン)されるように(例えば、そのような経路/軌道に沿って)、アイテムを移動させるよう構成されている。しかしながら、完全自動モードで動作することを試みた後に、制御コンピュータ112が、識別子の内の少なくとも1つ(または、それに関する情報)を1または複数のセンサによって取得させるために利用可能な(さらなる)戦略がないと判定した場合、様々な実施形態において、制御コンピュータ112は、例えば遠隔操作装置118を用いて人間のオペレータ120によって、遠隔操作で人間のオペレータからの支援を得るために警告を送信する。遠隔操作装置118は、ユーザインターフェース上に1または複数の画像を表示し、1または複数の画像は、ビジョンシステム(例えば、カメラ114、カメラ116、1または複数のその他のセンサ、など)によってキャプチャされたアイテムまたは作業空間の画像に対応する。ユーザインターフェースは、人間のオペレータ120が画像上の識別子に関する情報(例えば、1または複数の画像に見られる情報)および/またはアイテムに関する情報を手動で入力することを可能にするよう構成されていてよい。
いくつかの実施形態において、制御コンピュータ112は、完全自動モードでアイテムを把持およびプレースすることを試みるよう構成されている。しかしながら、完全自動モードで動作することを試みた後に、制御コンピュータ112が、1または複数のアイテムを把持するために利用可能な(さらなる)戦略がないと判定した場合、様々な実施形態において、制御コンピュータ112は、例えば遠隔操作装置118を用いて人間のオペレータ120によって、遠隔操作で人間のオペレータからの支援を得るために警告を送信する。例えば、いくつかの実施形態において、シュート106を通るアイテムの流れに影響を与える状態または条件を検出したことに応じて、制御コンピュータ112は、シンギュレーションを容易にするために1または複数の行動を実行することを試みてよい。検出された状態または条件に対応するための完全自動の試行が状態または条件を解決しなかったと判定された場合、制御コンピュータは、例えば、オンデマンド遠隔操作装置118を用いた遠隔操作を介して、状態または条件に対処するよう、人間のオペレータ120に指示してよい。様々な実施形態において、制御コンピュータ112は、状態または条件を特定し、ならびに/もしくは、状態または条件を改変するよう、ロボットアーム102、エンドエフェクタ104、および/または、本明細書で開示されているその他の要素および装置(例えば、ブロワ、加振機、シュートコンベヤ、など)を制御するために人間が選択可能なオプションを提示するユーザインターフェースまたはその他のインターフェースを表示してよい。
様々な実施形態において、制御コンピュータ112は、カメラ(カメラ114および116など)からの画像データを用いて、遠隔操作を容易にするために人間の作業員120にシーンの視覚的表示を提供する。例えば、制御コンピュータ112は、シュート106におけるアイテムの山のビューを表示してよい。いくつかの実施形態において、アイテム/物体の境界を判別するために、分割処理が、カメラ114および116によって生成された画像データに対して制御コンピュータ112によって実行される。マスキング技術が、例えば異なる色を用いて、個々のアイテムを強調するために用いられてよい。オペレータ120は、シーンの視覚的表示を用いて、把持されるアイテムを識別し、遠隔操作装置118を用いて、アイテムをシュート106からピックしてコンベヤ108上の対応する位置に各アイテムをプレースするようにロボットアーム102およびエンドエフェクタ104を制御してよい。様々な実施形態において、人的介入がプロンプトされたアイテムがコンベヤ上にプレースされると、システム100は、完全自動動作を再開する。様々な実施形態において、人的介入の際に、ロボットシステムは、人間の作業員を観察し(例えば、手動タスクの完了、遠隔操作でロボットアームおよびエンドエフェクタを用いたタスクの完了)、将来に自律モードでタスクを(より良好に)完了させるための戦略を学習しようとする。例えば、システムは、人間の作業員がアイテムを把持する際のアイテム上の把持の場所を観察することによって、および/または、人間の作業員が遠隔操作でアイテムを把持するためにロボットアームおよびエンドエフェクタをどのように利用したのかを記憶することによって、アイテムを把持するための戦略を学習してよい。
いくつかの実施形態において、システム100は、システム100の動作の異常が存在すると判定したことに応じて、人間のオペレータ120からの支援を求める。異常の一例は、アイテムのシンギュレーション中にエンドエフェクタ104とアイテムとの間で閾値圧力が達成されないことである。エンドエフェクタ104とアイテムとの間で達成されている圧力が閾値圧力値より小さいのを検出したことに応じて、ロボットシステム100は、ロボットシステム100が正常に実行しているか否かを評価することに関連して診断処理を実行できる。例えば、システム100は、アイテムに係合して所定の閾値圧力値を達成するエンドエフェクタ104の能力の診断を実行できる。システム100が正常に実行していない(例えば、エンドエフェクタ104がアイテムと係合して所定の閾値圧力値を達成できていない)と判定したことに応じて、システム100は、人間のオペレータ120からの支援を求める。いくつかの実施形態において、制御コンピュータ112は、人間のオペレータ120へ警告を送信する。警告は、問題の原因を示唆しうる(例えば、エンドエフェクタがアイテムと係合して所定の閾値圧力値を達成できていないことを示唆する)。例えば、警告は、推奨または要求される是正措置を人間のオペレータ120に提供できる。
様々な実施形態によると、システム100の現在の動作がシステム100の期待された正常動作から逸脱していると判定したことに応じて、システム100は、システム100に診断を実行することを決定する。システム100は、システム100がセンサデータ(例えば、現在のセンサデータ)に少なくとも部分的に基づいて、正常動作から逸脱していると判定したシステム100の部分、もしくは、正常動作から逸脱している閾値範囲または閾値割合の範囲内にあるシステム100の部分に、診断を実行できる。上述したエンドエフェクタ104によって達成される圧力の測定の場合、システム100は、診断処理が実行される特定のエンドエフェクタを決定できる。いくつかの実施形態において、診断処理を実行し、システム100(またはその構成要素)が正常動作から逸脱し、もしくは、そうでなければ、正常動作から逸脱している閾値範囲または閾値割合の範囲内にあることを診断処理の結果が示していると判定したことに応じて、システム100は、1または複数の積極的な対策を実施する。積極的な対策の例は、構成要素を交換すること(例えば、エンドエフェクタを取り替えること)、正常動作から逸脱している構成要素を利用しないように、または、所定のひずみ閾値を超えている構成要素にひずみを掛けないように、システム100を動作させると決定すること、ならびに/もしくは、人的介入を求めること(例えば、人間のオペレータ120に逸脱を通知すること)を含む。様々なその他の積極的な対策が実施されてもよい。
図1に関連して上述した例を続けると、システム100は、少なくとも部分的に、システム100が正常動作から逸脱していること、または、是正のための積極的な対策が実施されるか否かを評価することに関連して診断処理が実行されることを、システム100が決定したことに応じて、診断処理を実行することを決定する。ロボットアームがアイテムをピックアップしたと同時にエンドエフェクタ104によって達成された圧力がエンドエフェクタ104の期待される正常動作から逸脱していると判定したことに応じて、システム100は、正常動作から逸脱していると判定されたエンドエフェクタ(例えば、エンドエフェクタ上の1または複数の吸着カップ)の動作に関して診断を実行することを決定する。様々な実施形態によると、エンドエフェクタに関して診断を実行するための診断処理は、所定の位置に移動して、エンドエフェクタを所定の表面(この例においては、表面115など)と係合するようロボットアーム102を動作させることを含む。表面115は、作業空間110内に位置しうる。いくつかの実施形態において、表面115は、シュート106の一部であり、または、シュート106またはコンベヤ108と動作可能に接続されている。エンドエフェクタが所定の表面に係合されると、システム100は、所定の表面を把持するようエンドエフェクタを制御する。所定の表面を把持するエンドエフェクタを制御したことに応じて、システム100は、エンドエフェクタが所定の表面を把持する把持力の測定に関するセンサデータを取得する。例えば、エンドエフェクタを表面115と係合させたことに応じて、システム100は、表面115へ吸着力を印加するようエンドエフェクタを制御する。システム100は、エンドエフェクタと表面115との間で達成された圧力の1または複数の値を含むセンサデータを取得する。システム100は、表面115を把持する際にエンドエフェクタによって達成された圧力が、表面115を把持する際に期待される正常動作から逸脱しているか否かを判定する。いくつかの実施形態において、システム100は、エンドエフェクタと表面115との間で達成された圧力の1または複数の値を含むセンサデータを、エンドエフェクタの正常動作にマッピングされた1または複数の所定の範囲または閾値と比較する。エンドエフェクタと表面115との間で達成された圧力が、エンドエフェクタの正常動作と一致しない場合(例えば、エンドエフェクタと表面115との間で達成された圧力の1または複数の値が、エンドエフェクタの正常動作にマッピングされた1または複数の所定の範囲または閾値から外れている場合)、システム110は、エンドエフェクタが適切に作動していない(例えば、エンドエフェクタが正常動作から逸脱している)と判定する。
様々な実施形態によると、エンドエフェクタが適切に作動していないとシステム100が判定したことに応じて、システム100は、エンドエフェクタが適切に作動していないというかかる判定に少なくとも部分的に基づいて、1または複数の積極的な対策を実施するために計画を更新する。かかる積極的な対策は、エンドエフェクタが正常に作動していないことを人間のオペレータ120に警告することを含む。例えば、システム100は、正常動作からの逸脱の通知を人間のオペレータ120へ送信する。いくつかの実施形態において、システム100は、1または複数の推奨される積極的な対策を人間のオペレータ120に提供する。正常動作からの逸脱の通知の受信したことに応じて、人間のオペレータ120は、当該エンドエフェクタを交換または修理するための人的介入を行うことができる。いくつかの実施形態において、人間のオペレータ120は、当該エンドエフェクタを交換するようロボットアーム102を制御するなど積極的な対策を行うために、オンデマンド遠隔装置118を用いてシステム100を制御する。いくつかの実施形態において、人間のオペレータ120は、1または複数の推奨される積極的な対策の内の少なくとも1つを選択することができ、かかる選択に応じて、システム100は、選択された積極的な対策を(例えば、さらなる人的介入なしに)実施するよう、ロボットアーム102を制御する。
様々な実施形態において、制御コンピュータ112は、エンドエフェクタ104上の吸着カップを作動させるよう、ロボットアーム102(または、それに関連するシステム)を動作させる。エンドエフェクタ104は、複数の吸着カップを備えてよく、複数の吸着カップは、独立して(例えば、別の吸着カップと独立して)作動されてよい。例えば、制御コンピュータ112は、作動させるために(エンドエフェクタ上の複数の吸着カップから)1または複数の吸着カップを選択してよく、選択された1または複数の吸着カップを作動させるために、エンドエフェクタ104(または、それに関連するロボットアームまたはシステム)へ信号を送信してよい。いくつかの実施形態において、複数の吸着カップは、1または複数の吸着カップの複数のセットを含む。1または複数の吸着カップのセットは、1または複数の吸着カップの別のセットから独立して作動されてよい。いくつかの実施形態において、1または複数の吸着カップの各セットは、1または複数の吸着カップの(1または複数の)他のセットから独立して作動されてよい。吸着カップ(もしくは、1または複数の吸着カップのセット)は、アイテムを把持するための把持戦略に従って作動されてよい。例えば、制御コンピュータ112は、把持されるアイテムを選択してよく、制御コンピュータ112は、アイテムをピックアップして別の位置(例えば、キッティング動作のための容器、もしくは、シンギュレーション動作のためのトレイまたは仕切り付きコンベヤなど)にアイテムをプレースすることなどに関連して、アイテムを把持するための計画を決定してよい。
様々な実施形態によると、エンドエフェクタ104上の1または複数の吸着カップは、把持戦略に少なくとも部分的に基づいて作動される。把持戦略は、制御コンピュータ112によって決定されてよく、制御コンピュータ112は、1または複数の信号(例えば、制御信号)を作動メカニズムへ送信してよい。いくつかの実施形態において、作動メカニズムは、エンドエフェクタ104上の1または複数の吸着カップの内の少なくとも1つの作動を制御する。例えば、作動メカニズムは、エンドエフェクタ上の複数の吸着カップの中から1または複数の吸着カップの第1セットを選択的に作動できる。作動メカニズムは、制御コンピュータ112上で実行するモジュール、もしくは、ロボットアーム102および/またはエンドエフェクタ104へ動作可能に接続されているモジュールであってよい。
エンドエフェクタ104に備えられた吸着カップの制御は、非アクティブ位置とアクティブ位置との間で吸着カップを移動させることを含んでよい。非アクティブ位置において、吸着カップは、エンドエフェクタの底部に対して(例えば、エンドエフェクタのベースプレートに対して、および/または、アクティブ位置での吸着カップの位置に対して)引っ込んでいてよい。いくつかの実施形態において、吸着カップが非アクティブ位置にある場合、その吸着カップは、エンドエフェクタに備えられた他の吸着カップがそれらに対応するアクティブ位置に配置された時、アイテムまたはその他の表面と係合しない。逆に、アクティブ位置において、吸着カップは、エンドエフェクタ104の底部に対して、および/または、非アクティブ位置での吸着カップの位置に対して、突出されてよい。様々な実施形態によると、エンドエフェクタ104上の1セットの吸着カップは、アイテムを把持することなどに関連して、アイテムと係合するよう選択的に制御されてよい。吸着カップのセットの選択的な制御は、アクティブ位置へ移動するよう第1セットの吸着カップを制御し、および/または、非アクティブ位置へ移動するよう第2セットの吸着カップを制御することを含んでよい。第1セットの吸着カップは、第1セットの吸着カップの内の少なくとも1つと、把持されるアイテムとの間に圧力を生成するよう作動されてよい。
シンギュレーション動作に関連する例(例えば、ロボットアーム102を利用して、シュート106からコンベヤ108上の位置へアイテムをシンギュレートする例)が記載されているが、様々な実施形態が、キッティング動作を実行するロボットアームを含む。例えば、エンドエフェクタ104(例えば、1または複数の吸着カップを備えてよい)を備えたロボットアームは、対応する決定済みの位置から(例えば、棚上のトレイから)1または複数のアイテムをピックし、(例えば、箱、トレイ、または、その他の容器にアイテムをプレースする、など)キットを形成するためにアイテムを配置しまたは集めるために用いられてもよい。キットは、注文(例えば、電子商取引ウェブサイトを介して受けた注文)に少なくとも部分的に基づいて形成されてよい。
様々な実施形態によると、アイテムをシンギュレートするための経路または軌道のセットが決定され、アイテムがシンギュレートされる経路または軌道が経路または軌道のセットから選択される。経路または軌道は、セット内の対応する経路または軌道に関連する様々な特性に基づいて選択されてよい。経路または軌道を選択することに関連して利用されうる対応する経路または軌道に関連する特性の例は、アイテムがシンギュレートされる速度、アイテムがシンギュレートされるコンベヤ上の位置、特定の経路または軌道に従ってアイテムがシンギュレートされる成功確率、作業空間内の別のアイテムまたは物体が特定の経路または軌道と交わるか否かの示唆、などを含む。いくつかの実施形態において、アイテムが特定の経路または軌道に従ってシンギュレートされる成功確率は、経路または軌道のセットの少なくとも一部に対して決定され、経路または軌道は、他の経路または軌道に対応する成功確率と比較して、対応する成功確率に基づいて選択される。一例として、経路または軌道は、経路または軌道に対応する成功確率が閾値確率を超え、もしくは、上記一部の中の他の経路または軌道の閾値数または割合を超えていると判定したことに応じて、選択される。
様々な実施形態によると、ロボットシンギュレーションシステムは、アイテムのシンギュレーションを改善するために(例えば、成功裏に、移動元の山/流れからアイテムをピックしてコンベヤ上にアイテムをプレースするために)積極的な対策を実行する。ロボットシステムは、作業空間の状況(例えば、アイテムの状態または条件、アイテムの特性、作業空間内の別のアイテム、など)に基づいて、シンギュレーション中にアイテムの経路または軌道を動的に更新する。例えば、検出された状態または条件が、作業空間から1または複数のアイテムをピックしてシンギュレーション搬送構造における対応する位置に各アイテムを1つずつプレースするようロボット構造を自律的に動作させるための現在の計画の実施を妨げると判定したことに応じて、ロボット構造は、シンギュレーション成功の可能性を高めるために1または複数の積極的な対策を実行する(例えば、ロボット構造は、検出された状態または条件に少なくとも部分的に基づいて、シンギュレーション成功の可能性を高めることが期待される積極的な対策を決定できる)。いくつかの実施形態において、積極的な対策は、移動元の山/流れを再構成するため、もしくは、作業空間上の1または複数のアイテムまたはデブリを再構成するために、ロボットアーム、ロボットアームのエンドエフェクタ、シュートまたは作業空間のその他の要素の移動、もしくは、空気ブロワを利用することを含む。積極的な対策は、シンギュレートされるアイテム上のラベルまたは識別子のスキャニングを改善するため、アイテムがピックアップされうる可能性を高めるため、シンギュレートされているアイテムの把持を改善するため、ロボットアームからのアイテムの解放を改善するため、もしくは、同じ作業空間(例えば、同じ移動元の山/流れ)からアイテムを独立的にシンギュレートしている2つのロボットアームの動作を改善するために実行されてもよい。
図2Aは、様々な実施形態に従って、キッティングシステムを示す図である。
図の例において、キッティングシステム200は、キッティング棚システム202およびロボットアーム212を備える。いくつかの実施形態において、キッティングシステムは、複数のキッティング棚システムおよび/または複数のロボットアームを備える。ロボットアームは、キッティング棚システムからアイテム(またはアイテム内から物体)をピックし、所定の位置へアイテム(または物体)をプレースするよう自律的に動作してよい。いくつかの実施形態において、ロボットアームは、(例えば、注文などに基づいてキットを構築するために)1または複数のアイテムをキッティングするための計画など、計画に少なくとも部分的に基づいて、所定の位置へ1または複数のアイテムをピックアンドプレースする。
いくつかの実施形態において、ロボットアーム212は、キッティング棚システム202に対して、および/または、容器が配置されているコンベヤまたはその他の位置に対して、移動可能である。図2Aに示す例では、ロボットアーム212は、キャリッジ214上に取り付けられており、キャリッジ214は、コンベヤ220と並んで実質的に平行に配置されたレールまたはその他の直線ガイド216に沿って走るよう構成されている。一例として、ロボットアーム212は、キッティング棚システム202の反対側に取り付けられてよい。一例として、ロボットアーム212は、キッティング棚システム202と同じ側に取り付けられてよい。いくつかの実施形態において、1または複数のロボットアームが、コンベヤ220に対してキッティング棚システムと同じ側に取り付けられ、1または複数のロボットアームが、コンベヤ220を挟んでキッティング棚システムと反対側に取り付けられる。様々な実施形態において、1または複数のキッティング棚システムからアイテムを自動取得し、容器(例えば、箱、トレイ、など(容器218など))がコンベヤ220に沿って移動される間に容器の中にアイテムを配置することを容易にするように、キャリッジ214および取り付けられたロボットアーム212をレールまたはガイド216に沿って移動させるために、モータ、ベルト、鎖、または、その他の原動力源が、コントローラ(図2Aでは図示せず)を介して適用される。ロボットアームの制御は、容器218へピックアンドプレースされる1または複数のアイテム、容器218の位置(例えば、アイテムがキッティングされる所定の位置)、および/または、(例えば、コンベヤ218の決定済みの動きに基づいた)容器218の経路、に少なくとも部分的に基づいて、調整されてよい。
いくつかの実施形態において、キッティングシステム200は、制御コンピュータ230および/または運転遠隔操作装置232を備える。図の例において、キッティング棚システム202、コンベヤ220、および、ロボットアーム212、および/または、キャリッジ214の動作は、制御コンピュータ230の制御下で協調的に操作される。図の例においては、制御コンピュータ230は、コントローラ(図2Aでは図示せず)と通信(例えば、無線通信)し、各コントローラは、キッティングシステム200を構成する対応する要素(例えば、キッティング棚システム202、ロボットアーム212、コンベヤ220、キャリッジ214、および/または、容器ソース(図示せず))の動作を制御するよう構成されている。無線接続が図2Aに示されているが、様々な実施形態において、有線接続、もしくは、有線接続および無線接続の組みあわせが用いられてもよい。
図2Aに示す例において、ロボットアーム212は、2本指グリッパに対応するエンドエフェクタを有する。様々な実施形態において、ロボットアーム212は、1または複数のその他のおよび/または異なるタイプのエンドエフェクタ/取得ツールを備えてもよく、かかるツールは、3以上の指を有するグリッパ、図に示すものとは異なる属性の指(例えば、クッション付きの指、小さい指、大きい指など)を有するグリッパ、および/または、グリッパではない取得ツール(吸引、摩擦、静電力、磁力などを用いてアイテムをピックアップするよう構成されているものなど)を含むが、それらに限定されない。いくつかの実施形態において、ロボットアーム212のグリッパは、取得されるアイテムの1または複数の属性(例えば、重さ、壊れやすさ、圧縮性、剛性、サイズ、形状など)に応じて、1または複数の異なるエンドエフェクタと交換されてもよい。いくつかの実施形態において、ロボットアーム212のグリッパは、例えば、取得されるアイテムの1または複数の属性に応じて、異なるエンドエフェクタ(例えば、グリッパ保持型ツール)を取得して、アイテムのピックアンドプレースに利用するために用いられてよい。アイテムの1または複数の属性は、1または複数のセンサ(カメラ210など)から取得された情報に少なくとも部分的に基づいて決定されてよい。
様々な実施形態において、制御コンピュータ230は、取得されて一緒に梱包されるアイテムのインボイス、注文、部品リスト、ピックアップリスト、または、その他のリストに関連するデータを受信し、必要とされるアイテムの取得および梱包を遂行するための戦略/計画を決定し、要求を遂行するように協調して、キッティングシステム200の要素(例えば、キッティング棚システム202、コンベヤ220、ならびに、ロボットアーム212および/またはキャリッジ214)を動作させるよう、例えば、制御コンピュータ230上で実行するソフトウェアによって、構成されている。いくつかの実施形態において、キッティングシステム200は、複数のキッティング棚システムおよび/または複数のロボットアームを備え、1または複数の制御コンピュータが、キッティングシステム200の要素を調整/操作するために制御される。
いくつかの実施形態において、制御コンピュータ230は、梱包されるアイテムのリストを受信するよう構成されている。制御コンピュータ230は、どのアイテムがどのキッティング棚システムに関連しているのか(または、どのアイテムがキッティング棚システム(キッティング棚システム202など)の特定の棚に関連しているのか)を決定してよく、アイテムを取得して梱包する計画を作成してよい。いくつかの実施形態において、制御コンピュータ230は、箱組み立てマシン(図示せず)または容器供給モジュールを制御し、コンベヤ220上に容器を配置し、1または複数の第1アイテムが載せられる位置へ容器を前進させるようコンベヤ220を制御する。制御コンピュータ230は、1または複数の第1アイテムを関連するキッティング棚システムから取得するためにロボットアーム212を配置するために、キャリッジ220および/またはロボットアーム212を制御する。制御コンピュータ230は、例えば、必要な数量の必要なアイテムが、コンベヤ218およびロボットアーム212に最も近いキッティング棚システム202(または、キッティング棚システム202の棚)の端のピックアップゾーン(例えば、提示面)に存在することを確実にするように、キッティング棚システム202を制御してよい。制御コンピュータ230は、ロボットアーム212を制御して、対応するピックアップゾーンからアイテムを取得させ、容器(例えば、218)の中にアイテムをプレースさせ、その後、その特定のキットに含める必要のある任意のさらなるアイテムの協調的な取得および梱包を実行するために移動させる。すべてのアイテムが(例えば、1または複数のアイテムをキッティングするための計画に従って)取得され梱包されたとの判定に応じて、制御コンピュータ230は、コンベヤ220を制御して、図2Aでは図示されていないフルフィルメントの次の段階(例えば、箱が密閉され、ラベル付けされ、出荷に向けて送られるステーション)へと容器(例えば、容器218)を進める。
様々な実施形態によると、キッティングシステム200は、作業空間内に1または複数のセンサを備える。例えば、キッティングシステムは、1または複数のカメラ、バーコードスキャナ、RFIDスキャナ、赤外線スキャナ、および/または、3Dスキャナ、などを備えてよい。図2Aに示すように、キッティングシステム200は、1または複数のカメラ(カメラ210など)を備えてよい。1または複数のカメラの一部は、キッティング棚システム202ならびに/もしくはキッティング棚システム202の棚上の1または複数のアイテムへの視線を有してよい。いくつかの実施形態において、キッティングシステム200は、センサ222、センサ224、センサ226、および/または,センサ228を備える。センサ222、センサ224、センサ226、および/または、センサ228は、センサアレイに構成されてよい。センサ222、センサ224、センサ226、および/または、センサ228は、情報(例えば、アイテムからのマシン読み取り可能な情報)をキャプチャするよう構成されてよい。
作業空間内のセンサ(例えば、カメラ210)は、キッティング棚システム202の少なくとも1つの棚の上の1または複数のアイテムに関する情報をキャプチャしてよい。例えば、アイテムの少なくとも1つの側面上の識別子に関する情報(例えば、マシン読み取り可能な情報)が、センサによってから取得されてよい。アイテム上の1または複数の識別子は、アイテムがキッティングされた(例えば、キッティング棚システム202から取得されて容器216にプレースされた)と判定することに関連して、対応する注文(例えば、アイテムが構成部品である注文)の少なくとも一部の達成を確認することに関連して、および/または、キッティング棚システム202にアイテム(例えば、ロボットアーム212によってキッティング棚システムから取り去られたアイテムの1または複数の識別子に対応するタイプのアイテムであるアイテム)を補充するか否かを判定することに関連して、キッティングシステム200によって用いられてよい。アイテム上の1または複数の識別子に関する情報は、アイテムがキッティング棚システム202上に(例えば、棚の提示面上に)ある間に、および/または、キッティング棚システム202から容器216へロボットアームによってアイテムが移動されている間に、取得されてよい。例えば、ロボットアーム212は、アイテム(例えば、アイテムのサイズ、アイテムのタイプ、アイテム上の1または複数の識別子の位置または予想位置)、および/または、作業空間内の1または複数のセンサ(バーコードスキャナ、RFIDスキャナ、など)の位置、に少なくとも部分的に基づいて決定された経路/軌道に沿ってアイテムを移動させてよい。経路/軌道は、(例えば、注文などに基づいてキットを構築するために)計画(1または複数のアイテムをキッティングするための計画など)の中で、予め決定され規定されてよく、または、別の方法で指定されていてよい。いくつかの実施形態において、経路/軌道は、アイテムが1または複数のセンサの閾値エリアまたは閾値範囲を通して移動される条件に少なくとも部分的に基づいて決定される。例えば、経路/軌道は、アイテムの少なくとも1つの側面が少なくとも1つのセンサの視線内で移動されるように決定される。
様々な実施形態によると、ロボットアーム212がキッティング棚システム202から容器(例えば、コンベヤ220上の容器218など)へアイテムを移動させている時、アイテムがセンサの範囲/視界の中にもたらされた場合に、センサ222、センサ224、センサ226、および/または、センサ228の1または複数が、アイテムに関する情報を取得する。例えば、センサ222、センサ224、センサ226、および/または、センサ228は、アイテム上の1または複数の識別子に関する情報を取得してよい。1または複数の識別子に関する情報は、コンピュータ(例えば、制御コンピュータ230)がアイテムに関する情報(アイテムのタイプ、製造業者、シリアル番号、モデル番号、ブランド、ロット番号、など)を処理および決定できるマシン読み取り可能な情報であってよい。キッティングシステム200は、異なる角度/視線から情報をキャプチャするよう配列されているセンサを含むセンサアレイを備えてよい。例えば、センサ226および/またはセンサ228は、上向きの(例えば、地面と実質的に垂直な)視線を有するように配置されてよく、センサ226および/またはセンサ228は、アイテムの底面上の識別子に対応する情報を取得してよい。別の例として、センサ222およびセンサ224は、センサ226および/またはセンサ228とは異なる角度に配置されてよい。センサおよび/またはセンサ224は、地面に対して45度の角度を成すように配置されてよい。センサ22および/またはセンサ224は、アイテムの少なくとも1つの側面(例えば、センサ226および/またはセンサ228によってスキャンされるアイテムの底面とは異なるアイテムの側面)が見えるように配置されてよい。いくつかの実施形態において、キッティングシステム200は、アイテムがキッティング棚システム202の棚の上にある間にアイテムの上面上の1または複数の識別子に対応する情報を取得するよう構成されているカメラ210と、アイテムがキッティング棚システム202から容器へ(センサの範囲/視界の中で)移動されている間にアイテムの底面上の1または複数の識別子に対応する情報を取得するよう構成されているセンサ(例えば、センサ226および/またはセンサ228)と、アイテムがキッティング棚システム202から容器へ(センサの範囲/視界の中で)移動されている間にアイテムの1または複数の側面(例えば、地面と実質的に垂直な表面)上の1または複数の識別子に対応する情報を取得するよう構成されているセンサ(センサ222および/またはセンサ224)と、を備える。
様々な実施形態によると、キッティング棚システム202から容器へアイテムを移動させるための計画(例えば、アイテムを取得して梱包するための計画)は、ロボットアーム212がアイテムを移動させる経路または軌道を含む。ロボットアーム212がアイテムを移動させる経路は、作業空間内の1または複数のセンサ(センサ222、224、226、および、228など)(もしくはセンサアレイ)の位置に少なくとも部分的に基づいて決定されてよい。例えば、経路は、1または複数のセンサの閾値範囲または閾値エリア内でアイテムを移動させることを含むように決定されてよい。閾値範囲または閾値エリアは、少なくとも1つのセンサがアイテム上の識別子から情報を取得できる規定された位置またはエリアであってよい。一例として、RFIDスキャナの場合、閾値範囲または閾値エリアは、RFIDスキャナがアイテム上のRFIDタグから情報を取得できる近接度に少なくとも部分的に基づいていてよい。別の例として、バーコードスキャナの場合、閾値範囲または閾値エリアは、バーコードスキャナがアイテム上のバーコードから情報を取得できる距離に対応していてよい。図2Aに示すように、アイテムが閾値範囲または閾値エリア236を通して移動されている時に、アイテムに関する情報(例えば、アイテム上の識別子)が、センサ222、センサ224、センサ226、および/または、センサ228によって取得されてよい。したがって、計画は、閾値範囲または閾値エリア236の少なくとも一部を通してアイテムが移動されるアイテムの経路を含むように決定されてよい。いくつかの実施形態において、キッティングシステム200は、作業空間に対する閾値範囲または閾値エリア236のマッピングを格納する(制御コンピュータ230は、閾値範囲または閾値エリア236の境界の定義を格納する)。いくつかの実施形態において、閾値範囲または閾値エリア236は、センサごとにマッピングされている(例えば、各センサが閾値範囲または閾値エリアにマッピングされうる)。
いくつかの実施形態において、アイテムをキッティング(またはシンギュレート)するための計画を決定することは、識別子が作業空間内のセンサによって読み取られる可能性を最適化するアイテムのピックアンドプレース方法を決定することを含んでよい。作業空間内の1または複数のセンサの位置に基づいて、ロボットシステムは、ラベルを含むアイテムの側面を決定し、アイテムを把持する際に把持する側面と、1または複数の(例えば、ビジョンシステムまたはその他のセンサアレイ(バーコードリーダなど))にアイテム上のラベルを見せるようにアイテムがシンギュレートされる経路/軌道とを決定することができる。いくつかの実施形態において、経路は、1または複数の識別子の少なくとも1つが、1または複数のセンサ(センサ222、224、226、および/または、228など)によってスキャンされる(または、かかる識別子に関する情報が取得される)可能性に少なくとも部分的に基づいて決定される。1または複数のラベルまたは識別子が1または複数のセンサに検知される可能性を最適化するように経路を決定することは、アイテムが移動される経路と、アイテムがその経路に沿って移動された場合にアイテム上のラベルまたは識別子がスキャンされる対応する確率とのセットを決定し、最も高い対応する確率を有する経路を選択することを含む。いくつかの実施形態において、閾値確率を超える経路、もしくは、経路のセットの中で最も高い対応する確率を有する所定の割合または数の経路に入る経路が決定される。いくつかの実施形態において、経路と、アイテムがかかる経路に沿って移動された場合にアイテム上のラベルまたは識別子がスキャンされる対応する確率とが決定され、その確率は、最低限の所望の確率に対する所定の閾値と比較される。特定の経路に対応する確率が最低限の所望の確率に対する所定の閾値を超えないと判定したことに応じて、新たな経路および対応する確率が決定される。ロボットシステムは、対応する確率が最低限の所望の確率に対する所定の閾値を超えているとロボットシステムが判定するまで、経路および対応する確率の決定を反復し続けうる。経路を決定することは、異なる要因に重み付けし、異なる要素の重み付けされた値に関する合成スコアを最大化することを含んでよい。異なる要因は、1または複数の識別子が取得される可能性、アイテムのピックアンドプレースに成功する可能性、アイテムが対応する経路に沿って移動された場合にアイテムをピックアンドプレースするための予測時間、作業空間内の別の物体(例えば、別のロボットアーム、容器、別のアイテム、など)の存在/位置、などを含みうる。
様々な実施形態によると、アイテム上の識別子に関する情報を取得したことに応じて、制御コンピュータ230は、アイテムに関する情報のためのマッピングを格納するデータ構造を更新する。マッピングは、注文に対する識別子またはアイテムのマッピング、容器に対する識別子またはアイテムのマッピング、キッティング棚システム(またはキッティング棚システムの特定の棚)に対する識別子またはアイテムのマッピングに対応しうる。(1または複数のセンサによって取得された)アイテム上の識別子に関する情報は、注文の遂行の完了を判定すること、および/または、キッティング棚システム202に補充を行うのを決定することに関連して利用されうる。アイテム上の識別子(例えば、ラベル、バーコード、QRコード(登録商標)、など)に関する情報は、センサによってスキャンされてよい。アイテムの識別子は、アイテムの属性(アイテムのサイズ、アイテムの重量、アイテムが壊れやすいことの表示、パッケージのタイプ、など)をルックアップするために用いられてよい。アイテムの属性は、梱包または把持の戦略、および/または、梱包戦略(例えば、アイテムを梱包する際に従う容器内での配列)、などを決定/更新することに関連して用いられてよい。
「キッティング」動作が図2Aに示され、図2Aおよびその他の図面を参照して本明細書で説明されているが、様々な実施形態において、本明細書で開示されているキッティングシステム(およびキッティング棚システム)ならびに統合システムは、例えば、最初にアイテムで満杯または部分的に満杯であった箱から取り出されたアイテムを棚、容器、および/または、キッティングマシンに置くことによって、逆の動作を実行するために用いられてもよい。例えば、図2Aに示す例において、容器218は、キッティング棚システム202に関連する複数のアイテムを備えてよく、ロボットアーム212は、容器218からアイテムを取り出して、例えば、図に示すように後端または供給端から、キッティング棚システム202上にアイテムを配置するために用いられてよい。いくつかの実施形態において、ロボットアームは、棚のフィーダ部分またはキッティング棚システムのフィーダ部分にアイテムを提供(例えば、アイテムをストック)する。
いくつかの実施形態において、キッティング棚システム(キッティング棚システム202など)の上、もしくは、本明細書で開示されているキッティングシステムによってアクセスされまたはキッティングシステムに備えられている棚の上のアイテムは、「キッティング」される物体を含むビンまたはトレイであってよい。いくつかの実施形態において、システム(例えば、図2Aのキッティングシステム200)は、例えば、コンピュータビジョンもしくはその他のセンサおよび/または技術に基づいて、ビンが空であることを検出し、ロボットアームでビンをピックアップして対応する空きビン位置(例えば、近くの空きビンのスタックなど)に置くことによって、キッティングシステムまたは棚からビンを除去するよう構成されている。いくつかの実施形態において、自動ビン除去は、空ではない次のビンが、キッティングマシンまたは棚の上の位置に移動するための場所を作ることで、ロボットアームが、そのビンにアクセスしてアイテムをビンからピックアップすることを可能にする。いくつかの実施形態において、ビン/トレイが空であると判定したことに応じて、ロボットアーム(例えば、ロボットアーム212)は、キッティング棚システム202の対応する棚からビン/トレイを取り除き、他のアイテム/物体をキッティングするための次の容器として空きビン/トレイを用いる。例えば、ロボットアーム212は、空きビン/トレイを棚からピックアップし、容器(例えば、容器218)として利用するためにコンベヤ220上に空きビン/トレイをプレースすることができる。
様々な実施形態において、本明細書で開示されているロボットシステムは、以下の内の1または複数を備え、および/または、例えば、制御コンピュータ(制御コンピュータ230など)の動作によって、実行する。
・コンピュータビジョン情報が、1または複数のキッティング棚システムを含む(それに応じて、キッティング棚システムの1または複数の棚を含みうる)作業空間の三次元ビューを生成するために、2Dカメラ、3D(例えば、RGBD)カメラ、赤外線、および、その他のセンサの内の1または複数を含む、複数のセンサからのデータをマージすることによって生成される。ロボットシステムは、作業空間の三次元ビューにおけるアイテムおよび/またはデブリまたはその他の異常の特徴を決定する。
・ロボットシステムは、衝突と、互いの妨げになることと、別のロボットと同じアイテムをピックアップしおよび/または同じ移動先位置(例えば、コンベヤ上の容器)にアイテムをプレースしようと競合することと、を回避するように、複数のロボットの動作を調整する。ロボットシステムは、(例えば、異なる容器内または同じ容器内のアイテムをキッティングするために)複数のアイテム/物体に関するキッティングを実行するよう、同じ作業空間内で動作する複数のロボットの動作を連携させる。一例として、様々な実施形態において、複数のロボットは、アイテムをピックアンドプレースするよう独立的に動作する。別の例として、複数のロボットは、(例えば、異なる容器内に異なるセットのアイテムをプレースするために)異なる注文についてアイテムを独立的にピックアンドプレースするよう動作する。衝突のリスクが検出された場合、複数のロボットがシンギュレーション中に互いに衝突しないようにする応答動作が取られる。
・ロボットシステムは、すべてのアイテムが対応する容器にプレースされることを確実にするように、複数のロボットの動作を連携させる。例えば、ロボットAがアイテムを落とした場合に、システムがロボットBにそれをピックアップするタスクを課す、プレースされたが向きが不適切であるアイテムが、同じまたは別のロボットによって、ピックアップされ、調整されるか、または、別の位置に移動される、異なる注文の2以上のアイテムが単一の容器にプレースされた時に、下流のロボットが容器から2以上のアイテムの1つをピックして、新たな容器にそのアイテムをプレースする、などである。
・ロボットシステムは、(例えば、全体的スループットを最大化するため、全体的スループットの所定の閾値に到達するため、など)所望の全体的スループットを達成するために、各ロボットおよび全ロボットのための動作計画を絶えず更新する。アイテムをキッティングするためのそれぞれの計画に従って動いた場合に、2以上のロボットが衝突したかまたは衝突するとの判定に応じて、ロボットシステムは、2以上のロボットが衝突を避けまたは別の方法で2以上のロボットの独立動作をリセットすることを確実にするために、積極的な対策を実施する。
・2つのロボットが独立的に同じアイテムを取得するタスクを課されたとの判定に応じて、システムは、そのアイテムを取るために一方のロボットをランダムに選択し、他方のロボットは、次のアイテムへ移行する(例えば、把持戦略を特定、選択、決定し、ピックして、計画に従って移動させ、プレースする)。
・ロボットシステムは、2つの異なるロボットによるシンギュレーションに対して同じアイテムが選択されることを回避するために、ロボットが異なる時にアイテムを選択することを確実にするように、複数のロボットの独立動作を管理できる。
・所望のロボット生産性(スループット)を達成し、ロボットが所望の容器に物体をプレースするのに十分な時間を許容するために必要に応じて制御されるコンベヤの動きおよび/または速度。
・アイテムが誤配置または落下したとの判定に応じて、システムは、誤配置されたアイテムをピックアップして、適切なキッティング棚システムに(例えば、フィーダ部分を介するなどして、棚上へ)戻すか、もしくは、利用可能またはより最適であれば、コンベヤ上の容器に置く作業を、ロボットまたは必要であれば人間の作業員に割り当てる。
・下流のロボットがコンベヤ上に(例えば、対応する容器内に)アイテムをプレースするために、いくつかの容器を意図的に空き状態にするよう制御される上流ロボット。
・(例えば、2以上の容器(トレイなど)内にあるアイテム、または、適切な容器ではなくコンベヤ上にあるアイテムの配置を修正するため、アイテムまたはキット/注文の識別子と、上流ロボットがアイテムをプレースした容器との間の関係でデータ構造を更新するため、など)コンベヤ上の容器への上流でのアイテムのプレースのエラーを修正するよう制御される下流ロボット。
・同じまたは別のロボットによって修正できない失敗の結果として、解決するために人間(またはその他のロボット)の介入を得るために警告が通信される。
・把持力(例えば、エンドエフェクタによって達せられる圧力)が異常である(例えば、通常動作中に期待されるよりも低い)との判定に応じて、エンドエフェクタに関して是正措置が必要か否かを判定することに関して、所定の表面上の把持力をテストすることを含む診断処理を実行する。
・作業空間内のデブリを移動/除去し、または、キッティングされるアイテムを再構成する(例えば、アイテムが成功裏に、棚(または棚の提示面)からピックされ、コンベヤ上に(コンベヤ上の容器などに)プレースされる可能性を改善するために)。
・作業空間環境状態システムからのセンサデータを用いて、キッティングに向けて選択されたアイテムの1または複数の特徴(例えば、属性)を検出し、アイテムの把持または解放が積極的な対策の実施に応じて改善を期待されると判定し、アイテムの把持または解放を改善するために積極的な対策を実施する。
・センサデータを用いて、アイテム内の1つのキッティングに関連してロボットアームが複数のアイテムを把持したと判定し、コンベヤ上の1または複数の容器における対応する位置に各アイテムを1つずつプレースするためまたはキッティング棚システムの棚/提示面にアイテムの1つを戻すために複数のアイテムを解放する計画を決定する(例えば、複数のアイテムの第2サブセットとは異なる時に複数のアイテムの第1サブセットを解放するようにエンドエフェクタを動作させるための戦略を決定する)。
・コンベヤ上の容器にアイテムをキッティングするための経路を、そのアイテムの属性(例えば、選択されたアイテムのサイズ、アイテムの重量、など)ならびに/もしくはコンベヤ上の容器内のアイテムの1または複数の属性(例えば、特徴)に基づいて選択する。
・アイテム上の識別子(例えば、識別子のタイプ、識別子の位置、など)および/または作業空間内の1または複数のセンサ(例えば、センサの位置、センサの範囲、センサのタイプ、など)に基づいて、コンベヤ上の容器へアイテムをキッティングするための経路を選択する。
・キッティング棚システムからアイテムをピックし、コンベヤベルトの速度に少なくとも部分的に基づいて適切な容器にアイテムをプレースするロボットアームの動きおよび速度を決定する。
・アイテムの特徴、作業空間環境の特徴、および/または、コンベヤの特徴(例えば、コンベヤベルトの速度)の内の1または複数に少なくとも部分的に基づいて、キッティングされるアイテムの軌道を決定する。
・キッティングされるアイテムの1または複数の経路/軌道に対応するキッティング成功の確率を決定し、対応する成功確率に基づいて、アイテムがキッティングされる経路/軌道を選択する。
・(例えば、把持成功の確率、アイテムのパッケージのタイプ、アイテムの寸法、閾値に関する期待把持力、などに基づいて決定されたように)把持を成功させるために、ロボットアームおよび/またはロボットアームのエンドエフェクタのポジショニングを決定する。エンドエフェクタのポジショニングは、エンドエフェクタがアイテムの表面と直角をなすように、ロボットアームまたはロボットアームの手首の移動を制御することを含みうる。
・ロボットシステムが空き容器を検出する能力を更新する。例えば、空き容器を識別するためにロボットシステムによって用いられる空き容器の定義が、時と共に更新される。
・アイテムをキッティング棚システムから容器へ移動させつつアイテムの向きを変えるようロボットアームを制御する(例えば、アイテムがセンサの閾値範囲内で移動されている間に、アイテムを回転させるようにロボットアームの手首を回転させる)。
・アイテム上のすべての識別子が取得される(または、識別子の必要なセットが取得される)ことを保証するために、センサの閾値範囲内でアイテムを反復的に移動させるようロボットアームを制御する。
様々な実施形態によると、キッティング棚システム202は、1または複数の棚(例えば、棚204、206、および、208)を備える。1または複数の棚の各々は、アイテムが棚上に投入される側と、アイテムがロボットアーム212によってピックアップさうる側とを含む統合ユニットであってよい。いくつかの実施形態において、棚の内の少なくとも1つは、アイテムがロボットアーム212によってピックアップされるエリアへのアイテムの流れを制御するゲーティング構造を備える。例えば、棚は、提示面を備えてよい。提示面は、アイテムがキッティング棚システム上で配置される領域または表面に対応する。1または複数のアイテムのキッティングに関連して、ロボットアームが、少なくとも1つの提示面からアイテム(またはアイテム内からの物体)をピックする。キッティング棚システム202(または、キッティング棚システム202に備えられている棚)は、1または複数のフィーダ部分を備えてよい。いくつかの実施形態において、キッティング棚システム202は、フィーダ部分から対応する提示面へのアイテムの搬送を制御するよう構成されているゲート構造を備える。ゲート構造は、提示面に結合または一体化されていてよい。いくつかの実施形態において、キッティング棚システム202は、提示面が対応するフィーダ部分と一体化されている1または複数の棚を備える(例えば、提示面が、フィーダ部分に対して固定され、移動不可能になっていてよい)。
様々な実施形態によると、ゲート構造は、フィーダ部分から提示面へアイテムが流れることを許容または防止する。フィーダ部分から提示面へのアイテムの流れの制御は、アイテムが提示面上で雑然となるのを防いでよく、ロボットアームが提示面からアイテム/物体をピックアンドプレースするのに十分な空間と提示面上のアイテムの秩序とを提供する助けとなりうる。ゲート構造は、任意の特定の時間に閾値より多いアイテムが提示面上に配置されることを防止/抑制するよう構成されていてよい。いくつかの実施形態において、ゲート構造は、開位置と閉位置との間で切り替えられる(例えば、移動される)。一例として、開位置は、アイテムが提示面上に存在しない時のゲート構造の向きに対応してよい。別の例として、開位置は、アイテムの提示上のアイテムの数量がアイテムの閾値数より小さい時のゲート構造の向きに対応してよい。別の例として、開位置は、提示面上の重量(または提示面に掛かっている力)が閾値重量(または閾値力)より小さい時のゲート構造の向きに対応してよい。ゲート構造が開位置に向けられている時、フィーダ部分から提示面へのアイテムの流れすなわち搬送が許容されうる(例えば、ブロックされない)。逆に、ゲート構造が閉位置に向けられている時、フィーダ部分から提示面へのアイテムの流れまたは搬送が防止されうる(例えば、アイテムの流れがブロックされる)。
いくつかの実施形態において、棚の提示面は移動可能である。例えば、提示面は、空き位置と占有位置との間で切り替わる。提示面は、作業空間の状況(例えば、提示面上に提供されるアイテム、アイテムをピックするロボットアームの位置、センサまたはカメラの位置、など)に少なくとも部分的に基づいて、複数の位置/向きの任意の1つに向けられてよい。
様々な実施形態において、空き位置は、フィーダ部分から提示面への1または複数のアイテムの流れ/搬送を容易にするように提示面が向けられる位置に対応する。例えば、空き位置は、提示面上のアイテムの数量が閾値数より小さい時に提示面が向けられる位置に対応してよい。別の例において、空き位置は、提示面が空いている(例えば、その上にアイテムが全く配置されていない)時に提示面が向けられる位置に対応する。別の例として、空き位置は、提示上の重量(または、そこに掛かっている力)が閾値重量(または閾値力)より小さい時に提示面が向けられる位置に対応する。いくつかの実施形態において、特定のキッティング棚システム(例えば、キッティング棚システム202)における各提示面は、対応する空き位置に向けられた時に同じ方位角(例えば、地面への垂線に対する角度など)を有してよい。いくつかの実施形態において、特定のキッティング棚システム(例えば、キッティング棚システム202)における2以上の提示面が、対応する空き位置に向けられた時に異なる方位角(例えば、地面への垂線に対する角度など)を有する。異なる角度に棚(例えば、提示面)を構成することで、作業空間内のセンサ(カメラ212など)のより良好な視線が可能になりえ、かかる構成は、作業空間に関する情報を改善しうる(例えば、アイテム上の識別子が、より容易または正確に取得されうる、など)。
様々な実施形態において、占有位置は、(例えば、ロボットアームによる)提示面からの1または複数のアイテムのピックを容易にするように提示面が向けられる位置に対応する。提示面は、フィーダ部分から提示面への1または複数のアイテムの搬送/流れが防止されるべきである時に、占有位置に向けられうる。いくつかの実施形態において、特定のキッティング棚システム(例えば、キッティング棚システム202)における各提示面は、対応する空き位置に向けられた時に同じ方位角(例えば、地面への垂線に対する角度など)を有してよい。いくつかの実施形態において、特定のキッティング棚システムにおける2以上の提示面が、対応する占有位置に向けられた時に異なる方位角(例えば、地面への垂線に対する角度など)を有する。一例として、1または複数の提示面の第1セットが、1または複数の提示面の第2セットの方位角とは異なる方位角を有する。別の例として、特定のキッティング棚システム内の各提示面は、対応する占有位置に向けられた時に異なる方位角(例えば、地面への垂線に対する角度など)を有する。異なる角度に棚を構成することで、作業空間内のセンサ(カメラ212など)のより良好な視線が可能になりえ、かかる構成は、作業空間に関する情報を改善しうる(例えば、アイテム上の識別子が、より容易または正確に取得されうる、など)。
いくつかの実施形態において、提示面の向きは、対応する棚が地面に対して低いほど、下向きに大きく傾いてよい。提示面のかかる向きは、提示棚もしくは提示面上の1または複数のアイテム/物体に関する情報を取得するための1または複数のセンサ(例えば、カメラ210212)を強化しうる。さらに、かかる向きは、ロボットアームがロボットアームのエンドエフェクタでアイテムと係合する能力を強化しうる。ロボットアームは、その手首の伸展能力/構成および/またはその手首の屈曲能力/構成に関して制限を有しうる。一例として、(例えば、少なくとも占有位置にある)提示面の向きは、提示面からアイテム/物体をピックするのにロボットアームによって必要とされる手首伸展の程度に少なくとも部分的に基づいて構成される。棚/提示面は、キッティング棚システムにおけるロボットアームの手首の可動域(例えば、手首伸展/屈曲に関する可動域)に少なくとも部分的に基づいて構成されてよい。ロボットアームのエンドエフェクタまたは手首構成要素は、ロボットアームが提示面上に配置されたアイテムと(例えば、特定の角度および高さ/位置で)係合する能力を阻害するサイズ制限を有しうる。したがって、棚の(例えば、少なくとも占有位置にある)提示面の向きは、ロボットアームが、アイテム/物体に対して直角にロボットアームのエンドエフェクタで提示面上のアイテム/物体と係合するようにその位置を構成する可能性/能力を改善するよう構成されてよい。占有位置にある時の提示面の向きは、その上に配置されたトレイ/アイテムが、搭載カメラ(例えば、作業空間内ならびに/もしくはロボットアームまたはそのシャーシ上に配置されているカメラ)からのより良好な映像のために(各レベル/棚で)最適に傾斜されている向きに対応しうる。いくつかの実施形態において、空き位置および/または占有位置にある提示面の向きは、対応するゲート構造の構成に少なくとも部分的に基づいている。例えば、ゲート構造がヒンジである場合、空き位置および/または占有位置にある提示面の向きは、ヒンジの可動域に少なくとも部分的に基づいている。
様々な実施形態によると、キッティング棚システム202は、1または複数のフィーダ部分を備える。いくつかの実施形態において、キッティング棚システム202は、1または複数のアイテムを複数の提示面へ搬送する単一のフィーダ部分を有してよい。他の実施形態において、キッティング棚システム202は、各提示面に対して単一のフィーダ部分を有する(例えば、フィーダ部分と提示面との一対一対応)。フィーダ部分は、提示面へアイテムを搬送するよう構成されていてよい。一例として、アイテムの搬送は、フィーダ部分上に配置されたアイテムに作用する重力によるなど、受動的であってよい(例えば、フィーダ部分が提示面に向かって傾斜するよう構成されている場合)。別の例として、アイテムの搬送は、フィーダ部分が、フィーダ部分の入力位置から提示面へアイテムを運ぶコンベヤを備えるよう構成されていることに基づいて、少なくとも部分的に能動的であってよい。様々な実施形態において、フィーダ部分は、受け入れ端部上(例えば、フィーダ部分への入力)で連続的にアイテムを受け入れ、目的端部(例えば、提示面へ動作可能に接続/結合され、または、他の方法でフィーダ部分を出て適切な提示面へ至る端部)へアイテムを搬送するよう構成されている。一連のアイテムは、(例えば、人間のオペレータ228によって)フィーダ部分またはキッティング棚システムへ手動でロードされてよく、もしくは、一連のアイテムは、(例えば、ロボットアーム/構成要素によって、または、供給源の流れ/山からアイテムを搬送するシュートにフィーダ部分が結合されていることに少なくとも部分的に基づいて)フィーダ部分へ自動的にロードされてよい。
図2Bは、様々な実施形態に従って、キッティングシステムを示す図である。
様々な実施形態によると、ロボットアーム212は、アイテム上の少なくとも1つの識別子が作業空間内の1または複数のセンサ(例えば、センサ222、センサ224、センサ226、および/または、センサ228)によって取得/スキャンされる可能性を改善するように、キッティング棚システム202から容器218へアイテムを移動させる。例えば、図2Bに符号240で示すように、ロボットアームは、アイテムを回転させてよい。アイテムを回転させると、アイテムの側面(例えば、アイテムの底面に隣接する表面)上の識別子がセンサによってスキャンされる可能性が高まりうる。アイテムは、アイテムが閾値範囲/閾値エリア236内にある時に回転されてよい。いくつかの場合において、アイテムは、360度回転されてよい(または、アイテムが閾値範囲/閾値エリア236内にある時に連続的に回転されてよい)。他の場合において、アイテムは、ロボットアーム212(例えば、ロボットアームの手首)の動きの範囲および/またはアイテムの属性に少なくとも部分的に基づいて回転されてよい。
いくつかの実施形態において、ロボットアーム212は、所定の経路に沿ってアイテムを移動させる。経路は、アイテムが閾値範囲/閾値エリア236の少なくとも一部の範囲内で移動される少なくとも1つの経路の部分を含む。ロボットシステム(例えば、制御コンピュータ230)は、作業空間内で、ならびに/もしくは、1または複数のセンサ(センサ222、センサ224、センサ226、および/または、センサ228など)に対して、ロボットアーム212(または、ロボットアーム212によって移動されているアイテム)の位置を決定してよい。ロボットアームは、アイテム(例えば、それに把持されているアイテム)をロボットアーム212および/またはアイテムの位置に少なくとも部分的に基づいて回転させてよい。例えば、ロボットアーム212および/またはアイテムが閾値範囲/閾値エリア236内(または、閾値範囲/閾値エリア236から所定の距離内)にあると判定したことに応じて、ロボットアーム212は、アイテムを回転させてよい。ロボットアームは、ロボットアーム212の手首を回転させることによって、アイテムを回転させてよい。いくつかの実施形態において、アイテムの回転軸は、地面と垂直である(または、地面と実質的に垂直である)。
アイテムの回転は、アイテムの少なくとも1つの側面上の識別子をスキャン/取得するセンサ(例えば、図2Bのセンサ222またはセンサ224)の能力を向上させうる。一例として、ロボットアーム212は、アイテムが閾値範囲/閾値エリア236内にある間、アイテムを回転させ続けてよい。別の例として、ロボットアームは、すべての識別子(例えば、アイテムの側面上のすべての識別子)が取得されるまで、もしくは、閾値数の識別子が1または複数のセンサによって取得されるまで、アイテムを回転させ続けてもよい。識別子の閾値数は、識別子の期待数(例えば、アイテムが対応するアイテムのタイプにマッピングされた識別子の数)に対応してよい。
様々な実施形態によると、アイテムの回転は、アイテムに関する1または複数の属性に少なくとも部分的に基づいて制御されてよい。例えば、回転の速度または程度が、アイテムに関する属性に少なくとも部分的に基づいて制御されてよい。アイテムに関する属性は、重量、長さ、サイズ、などを含んでよい。アイテムの回転は、アイテムに対するせん断力、および/または、ロボットアーム212のエンドエフェクタがアイテムを降ろす(例えば、ロボットアーム212にアイテムを落下させる)ことを防止するように制御されてよい。いくつかの実施形態において、吸着ベースのエンドエフェクタの場合、回転(例えば、回転の速度または程度)は、エンドエフェクタとアイテムとの間で検出された圧力に基づいて制御されてよい。ロボットシステムは、さらに、または、代わりに、アイテムが回転されている時にアイテムに印加される吸着力を増大させてもよい。回転させること(または、アイテムの向きを変えること)に関連して決定される戦略または計画は、(例えば、容器への)アイテムの梱包またはプレースに従ったアイテムの最終的な向きの決定に基づいて、決定されてよい。
図2Bは、様々な実施形態に従って、キッティングシステムを示す図である。図2Cは、様々な実施形態に従って、キッティングシステムを示す図である。
ロボットシステム(制御コンピュータ230)は、すべての識別子(例えば、必要な識別子)が取得されるのを保証することなどに関連して、アイテム上の1または複数の識別子のスキャン/取得に関連する1または複数の積極的な対策を実行してよい。様々な実施形態によると、ロボットシステムは、少なくとも1つの識別子がスキャンまたは取得されなかったと判定した際に、少なくとも1つの積極的な対策を実行する。少なくとも1つの積極的な対策は、1または複数の識別子が取得される可能性を高めうる。一例として、少なくとも1つの積極的な対策が実行されるよう選択される際には、その積極的な対策が実行されることに応じて少なくとも1つの識別子が取得される対応する可能性に少なくとも部分的に基づいて選択されてよい。積極的な対策の例は、1または複数の方法でアイテムを振ること、(例えば、アイテムの向きを変えるため、または、よりピック可能な位置からアイテムを把持するために)アイテムを降ろして、異なる方法でピックアップすること、アイテムを降ろして、アイテムの向きを調整し、アイテムを異なる方法でピックアップすること、アイテム/パッケージに圧力を印加することなどによって、エンドエフェクタでアイテムのパッケージを調整すること(例えば、バッグを押す、バッグを広げる、など)、ロボットアーム、エンドエフェクタ、または、作業空間の周辺機器を利用して(例えば、圧縮空気ブロワ、エアナイフ、スタティックディスチャージャ、などを利用して)、アイテムを調整すること、を含む。
少なくとも1つの識別子がスキャンまたは取得されなかったと判定することは、1または複数のスキャナ(例えば、カメラ210、ならびに/もしくは、センサ222、224、226、および/または、228)によって取得された識別子の数と、アイテムに対応する期待数とに少なくとも部分的に基づいてよい。様々な実施形態によると、アイテム(またはアイテムのタイプ)に対する識別子の数は、予め知られており、格納されている。例えば、アイテム上の識別子の数に対するアイテムのタイプのマッピングが、予め格納されていてよい。制御コンピュータ230は、識別子の数に対するアイテムのタイプのマッピングにおいてルックアップを実行することに少なくとも部分的に基づいて、アイテムに対応する識別子の期待数を取得してよい。いくつかの実施形態において、制御コンピュータ230は、1または複数のセンサによってアイテムから取得された識別子の数を識別子の期待数と比較する。取得された識別子の数が識別子の期待数より少ないと判定したことに応じて、制御コンピュータ230は、少なくとも1つの識別子がスキャンまたは取得されなかったと判定してよい。いくつかの実装例において、制御コンピュータ230は、(例えば、取得された識別子の数と識別子の期待数との比較に基づいて)1または複数のセンサによってスキャンまたは取得されなかった識別子の数を決定してよい。比較は、アイテムが閾値範囲/閾値エリア236を通して移動された後(例えば、アイテムが容器218にプレースされる前)に実行されてよい。いくつかの実施形態において、制御コンピュータは、スキャンされなかった識別子(または、識別子のタイプ)の決定に基づいて(例えば、アイテムの期待識別子と取得済みの識別子との比較に基づいて)、識別子が取得されなかったアイテムの側面を決定する。
少なくとも1つの識別子がスキャンまたは取得されなかったと判定したことに応じて、(例えば、少なくとも1つの識別子を取得するよう試みるために)1または複数の積極的な対策が実行されてよい。図2Cに示すように、いくつかの実施形態において、積極的な対策は、アイテムの再スキャンを試みることを含む。例えば、積極的な対策は、1または複数のさらなる回数だけ閾値範囲/閾値エリアを通してアイテムを移動させることを含んでよい。いくつかの実施形態において、積極的な対策は、(例えば、取得済みの識別子の数と識別子の期待数との更新された比較に基づいて)アイテム上の1または複数の識別子がすべてスキャンされるまで、もしくは、1または複数の識別子をスキャンするために閾値回数の試行が実行されるまで、などの条件で実行される。一例として、積極的な対策は、アイテム上の1または複数の識別子がすべて取得されるのと、1または複数の識別子をスキャンするために閾値回数の試行が実行されるのと、いずれかが満たされるまで実行されてよい。別の例として、積極的な対策は、アイテム上の識別子が閾値数だけ取得されるまで実行されてもよい。別の例として、積極的な対策は、アイテム上の特定のタイプの識別子(例えば、シリアル番号、モデル番号、製品番号、など)が取得されるまで実行されてもよい。制御コンピュータ230は、取得される必要のある1または複数の特定のタイプの識別子の指示を(例えば、アイテムに対応するアイテムのタイプに関連するプロファイル内に)格納してよい。図2Cに示すように、動き250は、閾値範囲/閾値エリア240(図2Cには図示せず)を通した最初の試みまたは移動に対応しうる。ロボットアーム212が積極的な対策を実行するとの決定に応じて、アイテムは、動き252および/または動き254に従って移動されてよい。いくつかの実施形態において、少なくとも1つの動き254は、閾値範囲/閾値エリアを通っている。例えば、動き254は、ロボットアーム212が動き254に従って再び閾値範囲/閾値エリアを通してアイテムを移動させるために、アイテムを配置する残りの移動であってよい。
様々な実施形態によると、アイテムをキッティング(またはシンギュレーション)するための計画は、積極的な対策が実行されるとの決定に応じて、および/または、アイテム上の少なくとも1つの識別子が取得されなかったとの判定に応じて、更新されてよい。制御コンピュータ230は、新たな経路/軌道を含むように計画を更新してよい。例えば、アイテムをキッティングするための計画は、動き252および254をさらに含むように更新されてよい。
いくつかの実施形態における積極的な対策は、さらに、閾値範囲/閾値エリアの異なる部分の中でアイテムを移動させることを含む。一例として、少なくとも1つの識別子を取得するための1または複数の後続の試みが、1または複数のセンサにより近い経路に沿ってアイテムを移動させることを含んでよい。別の例として、少なくとも1つの識別子を取得するための各さらなる試みが、閾値範囲/閾値エリアの異なる部分で、または、少なくとも1つのセンサからの異なる距離で、実行されてよい。閾値範囲/閾値エリアの異なる部分の中でアイテムを移動させることは、1または複数のセンサがアイテムから識別子を取得するためのより良好な視線またはより良好な能力を有するエリアでアイテムを移動させてよい。識別子が比較的小さい場合、識別子は、アイテムが1または複数のセンサにより近い距離に移動されれば、より良くキャプチャされうる。
いくつかの実施形態において、積極的な対策は、アイテムの少なくとも1つの表面上の識別子を取得する少なくとも1つのセンサの能力が向上されるように、アイテムを方向付けることを含む。例えば、ロボットアーム212は、アイテムの側面がセンサに向かって方向付けられるように、アイテムを方向付けるよう制御されてよい。図2Cに示す例において、アイテムを再スキャンする試行中に、ロボットアーム212は、アイテムの側面がセンサ222および/またはセンサ224へ向けられるように、アイテムを傾斜させるよう制御されてよい。傾斜の程度は、センサのポジショニング/構成に基づいて選択されてよい。例えば、ロボットアーム212は、アイテムの側面がセンサの視線と垂直になるように、アイテムを傾斜させるよう制御されてよい。ロボットアーム212がアイテムを傾斜させるよう制御されることに加えて、または、その代わりに、ロボットアーム212は、(例えば、アイテムが積極的な対策に関連して閾値範囲/閾値エリアを通して移動されている間に)ロボットアーム212の手首を回転させることなどによって、アイテムを少なくとも部分的に回転させるよう制御されてもよい。いくつかの実施形態において、ロボットアーム212は、少なくとも、アイテムが積極的な対策に関連して閾値範囲/閾値エリアを通して移動されている間に、ランダムまたは所定の一連の動きに従って、アイテムの傾斜および/または回転を変化させるよう制御されてよい。
様々な実施形態によると、センサが、ロボットアーム、ロボットのシャーシ、などに取り付けられていてよい。積極的な対策は、ロボットアームに取り付けられたセンサに対するアイテムの向きを変えること、および/または、取り付けられたセンサによるアイテムの再スキャンを試みること、を含んでよい。
積極的な対策を閾値回数だけ実行するよう試みた後(例えば、閾値回数だけアイテムを再スキャンするよう試みた後)、キッティングシステム200は、エラーが発生したと判定しうる。エラーが発生したと判定したことに応じて、キッティングシステム200は、遠隔操作装置232を介して人間のオペレータ234に警告してよい。人間のオペレータへ警告することは、ユーザインターフェース上に警告を表示することを含んでよい。警告は、エラーのタイプの示唆(例えば、アイテムを適切にスキャンできないこと、識別子がアイテム上に確認できないこと、など)を含んでよい。
いくつかの場合において、キッティング棚システム202は、棚上のアイテムが、期待されたアイテムのタイプと一致しないように、アイテムを不適切にロードされることがある(例えば、或るタイプのアイテムの間違ったモデルが棚にロードされることがある)。キッティング棚システムへのロードの誤りは、アイテムから識別子を取得する試行の間にエラーを引き起こしうる。例えば、ロボットアームがアイテムをピックするよう命令されている棚上に第1タイプのアイテムがロードされることを制御コンピュータ230が予期している時に、実際には第2タイプのアイテムがロードされた場合、スキャンされるアイテムの期待数(例えば、識別子の数に対するアイテムのタイプのマッピングに基づく期待数)は、不正確になりうる。制御コンピュータ230は、第1タイプのアイテムに対する識別子の期待数を決定してよく、第2タイプのアイテムが異なる数の識別子を有する(例えば、第1タイプのアイテムが5つの期待識別子を有し、第2タイプのアイテムが4つの期待識別子を有する)場合、すべての期待識別子がアイテムのキッティング中にスキャンされたことの確認が不確定/不正確になる(例えば、キッティングシステムは、アイテムを再スキャンするために積極的な対策を実行するよう試みてよいが、識別子の再スキャンの試行回数にかかわらず、キッティングシステムは、すべての期待識別子がスキャンされたことを確認できない場合がある)。したがって、キッティングシステム200は、エラーが発生したと判定してよい。同様に、アイテムから識別子を取得したことに応じて、キッティングシステム200は、ピックアンドプレースされるアイテムが計画(例えば、注文、梱包票、など)に一致していることを確認してよい。キッティング棚システムに不適切なストックがなされた場合、もしくは、ロボットアーム212が間違った棚またはビンからアイテムを把持した場合、ピックアンドプレースされるアイテム上の識別子は、計画に対応するアイテムとは異なりうる。したがって、キッティングシステム200は、エラーが発生したと判定してよい。エラーが発生したと判定したことに応じて、キッティングシステム200は、アイテムをキッティング棚システムまたは返還ビンへ戻し、正確なアイテムをピックアップするなど、積極的な対策を試みてよい。あるいは、エラーが発生したと判定したことに応じて、キッティングシステム200は、遠隔操作装置232を介して人間のオペレータ234に警告してもよい。人間のオペレータへ警告することは、ユーザインターフェース上に警告を表示することを含んでよい。警告は、エラーのタイプの示唆を含んでよい(例えば、キッティング棚システムに不適切なストックがなされたこと、など)。
様々な実施形態によると、センサは、作業空間の中または周囲に、ロボットアーム上に(例えば、ロボットアームのエンドエフェクタ上に)、キッティング棚システム上に、および/または、ロボットアームを運ぶキャリッジ上に、配置されてよい。図2Bおよび図2Cに示すように、閾値範囲/閾値エリア236は、そこを通して移動されるアイテムに関する情報を取得するセンサの中または周囲に存在しうる。例えば、閾値範囲/閾値エリア236は、センサ222、224、226、および/または、228に対応するエリアであってよい。いくつかの実施形態において、1または複数のセンサが、キャリッジ214上に配置されている。
図2Dは、様々な実施形態に従って、キッティングシステムを示す図である。
図2Dに示すように、センサ224およびセンサ228は、キャリッジ214上に配備されている。いくつかの実施形態において、センサ224およびセンサ228は、キャリッジ214に固定されたモジュール内にあってよい。いくつかの実施形態において、センサ224および/またはセンサ228は、キャリッジ214と一体化されている。
様々な実施形態によると、センサ224および/またはセンサ228がキャリッジ214の上/中に配置されている場合、ロボットアーム212(例えば、少なくともロボットアーム212のベース)に対するセンサ224および/またはセンサの相対位置は固定されている。さらに、センサ224および/またはセンサ228に対応する閾値範囲236は、ロボットアーム212(例えば、少なくともロボットアーム212のベース)の位置に対して固定されうる。閾値範囲/閾値エリア236の固定された相対位置は、ロボットアームが、アイテムをキッティングまたはシンギュレートするための計画または戦略を決定しうる効率を改善しうる。例えば、キッティングシステム200(またはシンギュレーションシステム)は、閾値範囲/閾値エリア236を通してアイテムを移動させまたは別の方法でアイテムのスキャンを試みるための所定のルーチンを格納していてよい。いくつかの実施形態において、アイテムを移動先位置へ移動させるための計画または戦略は、所定の位置(例えば、ロボットアーム212またはそのベースに対して固定されている位置)へアイテムを移動させ、次いで、閾値範囲/閾値エリア236を通してアイテムを移動させまたは別の方法でセンサ224および/またはセンサ228によるアイテムのスキャンを試みるためのルーチンを実行することを含んでよい。アイテムがスキャンされた後、ロボットアームは、アイテムを移動先位置へ(例えば、コンベヤ上の容器または所定の位置へ)移動させてよい。所定のルーチンは、最適な経路または軌道に対応する決定済みの経路または軌道もしくは経路または軌道のセット、アイテムが閾値範囲/閾値エリア236を通った時にアイテムに関連する情報が1または複数のセンサによって取得される可能性に関する閾値を満たす経路または軌道、に基づいていてよい。
いくつかの実施形態において、アイテムが移動され、または、閾値範囲/閾値エリア236を通して移動する間に再方向付けされるルーチンまたは方法は、アイテムが把持される方法、アイテムのサイズ、アイテムに対する取得対象の物体上の情報の位置、ロボットアームに対するセンサの位置、などに基づいて決定されてよい。
経路または軌道、ならびに/もしくは、アイテムが移動され、または、移動先位置へ移動されている間に再方向付けされる方法は、オフラインで(例えば、ウェブサーバなどの別のコンピュータシステムによって)決定されてよく、および/または、ロボットアームを制御するコンピュータシステムによってオンラインで決定されてよい。
図3Aは、様々な実施形態に従って、アイテムをピックアンドプレースするための方法を示すフローチャートである。
様々な実施形態によると、図3Aの処理300は、図1のシンギュレーションシステム100および/または図2A~図2Cのキッティングシステム200によって実行される。
工程310で、作業空間に関するセンサデータが取得される。いくつかの実施形態において、ロボットシステムは、システム内で動作する1または複数のセンサから作業空間に関するセンサデータを取得する。一例として、センサデータは、画像センサ(例えば、2Dまたは3Dカメラ)、赤外センサアレイ、レーザアレイ、スケール、ジャイロスコープ、電流センサ、電圧センサ、電力センサ、力センサ、圧力センサ、などからの出力に少なくとも部分的に基づいて、取得される。
様々な実施形態によると、作業空間に関して取得されたセンサデータは、作業空間のモデルが生成されうる元となる情報を含む。例えば、作業空間に関連する1または複数の特徴が、センサデータに少なくとも部分的に基づいて決定されてよい。センサデータは、作業空間内の1または複数のアイテム(移動元位置にあるアイテム、ロボットアームによって把持されているアイテム、移動先位置にすでに配置されたアイテム、容器の識別子、など)の少なくとも1つの特徴(例えば、属性)を決定することに関連して利用されうる。いくつかの実施形態において、センサデータは、コンベヤ上の空きまたは予定のない容器またはスロットを決定し、コンベヤの速度を決定し、ならびに/もしくは、少なくとも1つの容器またはスロットの特徴またはコンベヤ上にすでにある少なくとも1つのアイテムの特徴を決定するなど、搬送構造の1または複数の特徴を決定することに関連して用いられる。
工程330で、作業空間内の1または複数のアイテムをピックアンドプレースするための計画または戦略が決定される。作業空間内のアイテムをシンギュレートまたはキッティングするための計画または戦略は、センサデータに少なくとも部分的に基づいて決定される。いくつかの実施形態において、ロボットアームは、作業空間内の移動元位置(例えば、移動元の山または流れ、キッティングシステム上の棚、など)から少なくとも1つのアイテムをピックし、移動先位置(コンベヤ上の容器またはスロット、など)に少なくとも1つのアイテムをプレースするための計画または戦略を決定する。1または複数のアイテムをピックアンドプレースするための計画または戦略は、ロボットシステムが複数のロボットを備える場合に、各ロボットが他のロボットと独立して動作するように、様々な実施形態においてロボットごとに決定される。
様々な実施形態によると、作業空間内の1または複数のアイテムをシンギュレートまたはキッティングするための計画または戦略は、センサデータ(作業空間に存在するアイテム(例えば、シンギュレートされるアイテムおよび/またはコンベヤ上にすでに配置されているアイテム)もしくは作業空間に含まれる別の物体に関連するデータを含むセンサデータなど)に少なくとも部分的に基づいて決定される。一例として、アイテムをキッティングするための計画を決定する場合、計画または戦略は、注文(例えば、梱包票)ならびに/もしくは移動元位置(キッティング棚システムの棚または棚上のビンなど)に対するアイテム(または、アイテムのタイプ)の格納済みのマッピングに基づいて決定されてよい。別の例として、アイテムをシンギュレートするための計画を決定する場合、1または複数のアイテムをシンギュレートするための計画または戦略は、シンギュレートされる移動元の山/流れ内のアイテムを選択することを含む。
選択されたアイテムは、センサデータに少なくとも部分的に基づいて、作業空間内のその他のアイテムまたは物体(もしくは、キッティング棚システム上のアイテムのその他のビンまたはトレイ)の中から識別されうる。一例として、選択されたアイテムに関する1または複数の特徴(または属性)が、センサデータに少なくとも部分的に基づいて決定される。選択されたアイテムに関する1または複数の特徴は、アイテムの寸法、アイテムのパッケージ、アイテム上の1または複数の識別子またはラベル(アイテムが壊れやすいことの表示、アイテム上の出荷ラベル、など)、アイテムの高さ、アイテムの長さ、アイテムの推定重量など、もしくは、それらの任意の組みあわせ、を含みうる。別の例として、1または複数のアイテムをピックアンドプレースするための計画は、ロボット構造(例えば、ロボットアーム)がアイテムをプレースする搬送構造上の移動先位置(例えば、コンベヤ上の容器、コンベヤ上のスロット、など)を決定することを含む。アイテムがプレースされる搬送構造上の移動先位置は、タイムスタンプ、コンベヤの速度、および、コンベヤ上のスロットまたは容器の1または複数の特徴(例えば、スロットまたは容器が占有または予約されているか否かの示唆)など、もしくは、それらの任意の組みあわせ、に少なくとも部分的に基づいて決定されうる。別の例として、1または複数のアイテムをシンギュレートするための計画または戦略は、ロボットアームがシンギュレーション中にアイテムを移動させる際のアイテムの経路または軌道を決定することを含む。アイテムが移動される際のアイテムの経路または軌道は、作業空間内の1または複数のその他の物体の位置、コンベヤ上のアイテム、作業空間内で動作する他のロボット、他のロボットの動作のために確保された空域、作業空間内のセンサ、などに少なくとも部分的に基づいて決定されうる。例えば、アイテムの経路または軌道は、識別子(例えば、出荷ラベル)を含むアイテムの部分を、スキャナが識別子をスキャンできるエリアへ移動させるように決定され、もしくは、アイテムの経路または軌道は、アイテム上の識別子が経路または軌道に沿った1または複数のスキャナによって読み取られる可能性を最大化するように決定される。
いくつかの実施形態において、アイテムをピックアンドプレースするための計画の決定は、適切なロボットアームがアイテムを把持する方法の決定を含む。アイテムをシンギュレートするための計画は、移動先位置からアイテムをピックアップするために用いられる特定のエンドエフェクタと、アイテムを把持することに関連するエンドエフェクタに関連付けられている1または複数の設定(把持力、吸着ベースのエンドエフェクタに印加する圧力、など)とを示しうる。アイテムをシンギュレートするための計画は、ロボットアーム、ロボットアームの手首、および/または、エンドエフェクタの内の1または複数の向きを示しうる。いくつかの実施形態において、エンドエフェクタは、アイテムを把持する時にアイテムと垂直に配置される。アイテムに対してエンドエフェクタをそのように配置するために、ロボット構造は、ロボットアーム、ロボットアームの手首、および/または、エンドエフェクタの内の1または複数の向きを操作するよう制御しうる。
工程350で、アイテムが、移動元位置からピックされ、移動先位置にプレースされる。様々な実施形態によると、ロボットシステム(例えば、制御コンピュータ)は、計画または戦略に少なくとも部分的に基づいて、移動元位置から移動先位置へアイテムを移動させるようロボットアームを制御する。ロボットアームは、アイテムをピックアンドプレースするための対応する計画または戦略において規定されている経路または軌道に沿ってアイテムを移動させてよい。
工程370で、さらなるアイテムがピックアンドプレースされるか否かの判定がなされる。さらなるアイテムが存在する場合、工程310、330、および、350のさらなる反復が実行され、ピックアンドプレースされるアイテムが(例えば、シンギュレーションシステムのシュート、キッティングシステムの棚、もしくは、その他の容器または移動元)にもはや存在しないと工程370で判定されるまで、次の反復が実行される。
図3Bは、様々な実施形態に従って、アイテムをピックアンドプレースするための方法を示すフローチャートである。
様々な実施形態によると、図3Bの処理350は、図3Aの工程350に対応しうる。図3Bの処理350は、図1のシンギュレーションシステム100および/または図2A~図2Cのキッティングシステム200によって実行されてよい。
工程351で、アイテムが、ロボットアームによってピックアップされる。いくつかの実施形態において、ロボットアームのエンドエフェクタが、アイテムを把持することに関連して用いられる。アイテムは、移動元位置(キッティング棚システムの棚上のトレイ、または、移動元の流れ/山、など)からピックアップされてよい。ロボットアームは、アイテムをピックアンドプレースするための計画または戦略に少なくとも部分的に基づいて(例えば、把持戦略に少なくとも部分的に基づいて)、アイテムをピックアップしてよい。
工程356で、アイテムは、現在の計画に従って移動される。現在の計画は、アイテムが移動先位置へ向かって沿う経路を含んでよい。様々な実施形態によると、現在の計画は、最初の計画(例えば、アイテムがピックアンドプレースされると決定された時に決定された計画)、もしくは、更新された計画(例えば、1または複数の積極的な対策の実行などに関連して最初の計画が更新されたバージョン)に対応する。いくつかの実施形態において、経路は、1または複数のスキャナがアイテム上の1または複数の識別子をスキャンすることを可能にするように決定される。一例として、経路に沿ってアイテムを移動させることは、1または複数のセンサに対応する閾値範囲または閾値エリア内でアイテムを移動させることを含む。閾値範囲/閾値エリア(例えば、図2Aのキッティングシステム200の閾値範囲/閾値エリア236)は、作業空間内の1または複数のセンサに少なくとも部分的に基づいて予め規定されてよい。1または複数のセンサは、アイテムが経路に沿って移動されている時に、アイテムから1または複数の識別子を取得する。例えば、アイテムが経路に沿って移動されている時に、RFIDセンサがアイテム上のRFIDタグから情報を取得してよい。別の例として、アイテムが経路に沿って移動されている時に、アイテムの表面上のバーコードまたはQRコードがバーコードリーダまたはQRコードリーダによってスキャンされる。
工程361で、積極的な対策を実行するか否かに関して決定がなされる。積極的な対策を実行する決定は、アイテムが経路に沿って移動先位置へ移動されている間になされてよい。例えば、積極的な対策を実行する決定は、アイテムの移動中に中断が引き起こされたことに基づいてなされてよい。
様々な実施形態によると、ロボットシステムは、アイテム上の少なくとも1つの識別子が取得されなかったと判定したことに応じて、積極的な対策を実行するよう決定する。少なくとも1つの識別子がスキャンまたは取得されなかったと判定することは、1または複数のスキャナによって取得された識別子の数と、アイテムに対応する期待数とに少なくとも部分的に基づいてよい。アイテム(またはアイテムのタイプ)に対する識別子の数は、予め知られており、格納されていてよい。例えば、アイテム上の識別子の数に対するアイテムのタイプのマッピングが、予め格納されていてよい。ロボットシステムは、識別子の数に対するアイテムのタイプのマッピングにおいてルックアップを実行することに少なくとも部分的に基づいて、アイテムに対応する識別子の期待数を取得してよい。いくつかの実施形態において、ロボットシステムは、1または複数のセンサによってアイテムから取得された識別子の数を識別子の期待数と比較する。取得された識別子の数が識別子の期待数より少ないと判定したことに応じて、ロボットシステムは、少なくとも1つの識別子がスキャンまたは取得されなかったと判定してよい。いくつかの実装例において、ロボットシステムは、(例えば、取得された識別子の数と識別子の期待数との比較に基づいて)1または複数のセンサによってスキャンまたは取得されなかった識別子の数を決定してよい。比較は、アイテムが閾値範囲/閾値エリアを通して移動された後(例えば、アイテムが容器にプレースされる前)に実行されてよい。いくつかの実施形態において、ロボットシステムは、スキャンされなかった識別子(または、識別子のタイプ)の決定に基づいて(例えば、アイテムの期待識別子と取得済みの識別子との比較に基づいて)、識別子が取得されなかったアイテムの側面を決定する。
いくつかの実施形態において、ロボットシステムは、識別子が適切に取得されなかった(例えば、識別子が部分的にスキャンされた、など)と判定したことに応じて、積極的な対策を実行するよう決定する。アイテムが1または複数のセンサの視線を横切ってまたはその閾値範囲内をあまりに高速に移動された場合、1または複数のセンサは、画像上の識別子を適切にキャプチャしない場合がある。少なくとも1つの識別子が適切にキャプチャされなかった(例えば、バーコードまたはQRコードの一部がキャプチャされた、もしくは、RFIDタグが認識されたがそこから完全な情報が取得された)と判定したことに応じて、ロボットシステムは、積極的な対策を実行するよう決定してよい。
いくつかの実施形態において、ロボットシステムは、把持されたアイテムが不適切であると判定しうる。例えば、そのアイテムは、計画(または、計画が生成/決定された注文)において特定されているアイテムのタイプとは異なるタイプのアイテムでありうる。アイテム上の少なくとも1つの識別子を取得したことに応じて、ロボットシステムは、少なくとも1つの識別子が、計画(または、計画が生成/決定された注文)に少なくとも部分的に基づいて期待される識別子または識別子のタイプと一致しないと判定しうる。例えば、アイテム上の識別子をスキャンしたことに応じて、ロボットシステムは、アイテムのモデルタイプが正しくないと判定しうる。それに応じて、ロボットシステムは、積極的な対策が実行されることを決定してよい。積極的な対策は、キッティング棚システムにアイテムを戻し、返還エリアまたは破棄エリアとして指定された位置へアイテムを戻し、および/または、人間のオペレータにエラーを警告することを含んでよい。
ロボットシステムは、積極的な対策が、ロボットアームの少なくとも一部が位置するエリアまたはアイテムが位置するエリアに少なくとも部分的に基づいて実行されることを決定してよい。ロボットアームまたはアイテム(例えば、ロボットアームに把持されているアイテム)の少なくとも一部の位置は、作業空間内の1または複数のセンサまたはセンサアレイによって取得された情報に基づいて決定されてよい。いくつかの実施形態において、ロボットシステムは、アイテムまたはロボットアームの一部(例えば、エンドエフェクタ)が閾地範囲/閾値エリア内または閾値範囲/閾値エリアから所定の距離内にあると判定したことに応じて、積極的な対策を実行するよう決定する。一例として、積極的は、アイテムを回転させ、または、別の方法でのアイテムの向きを変えること(例えば、アイテムが閾値範囲/閾値エリアを通して移動されている間に、アイテムを回転させまたはアイテムの傾斜を変えること)を含んでよい。
積極的な対策が実行されるとの決定に応じて、処理350は、計画が更新され、現在の計画(例えば、更新された計画)に少なくとも部分的に基づいてアイテムが移動される工程356へ戻る。一方、積極的な対策が実行されないとの決定に応じて、処理350は終了してよい。
図3Cは、様々な実施形態に従って、アイテムをスキャンするための方法を示すフローチャートである。
様々な実施形態によると、図3Cの処理356aは、図3Bの工程356aに対応しうる。図3Cの処理356aは、図1のシンギュレーションシステム100および/または図2A~図2Cのキッティングシステム200によって実行されてよい。
工程357aで、現在の計画が取得される。計画は、移動元位置から移動先位置へアイテムをピックするために決定されてよい。いくつかの実施形態において、アイテムから1または複数の識別子を取得する最初の試みに関連して、現在の計画は、1または複数のセンサの近傍の範囲内で(例えば、閾値範囲/閾値エリア内で)アイテムを移動させることを含んでよい。様々な実施形態によると、積極的な対策が実行されると決定したことに応じて、様々な実施形態によると、ロボットシステムは、計画(例えば、アイテムをピックアンドプレースするための計画)を更新する。計画は、積極的な対策(決定される積極的な対策のタイプなど)に少なくとも部分的に基づいて更新されてよい。積極的な対策が実行されると決定した後、現在の計画は、更新された計画に対応しうる。
例えば、計画は、アイテムから少なくとも1つの識別子を取得するよう再試行することを含むように更新されてよい。アイテムから少なくとも1つの識別子を取得するよう再試行することは、1または複数のスキャナの近傍内でアイテムを移動させること(例えば、閾値範囲/閾値エリアを通して1または複数のさらなる回数アイテムを移動させること)を含んでよい。それに応じて、計画は、アイテムをそのように移動させるための命令を含むように更新されてよい。
工程358aで、アイテムは、現在の計画に少なくとも部分的に基づいて移動される。ロボットアームは、現在の計画に従ってアイテムを自律的に移動させるよう制御されてよい。例えば、アイテムから1または複数の識別子を取得する最初の試みに関連して、アイテムは、移動元位置から移動先位置への経路に沿って移動され、経路は、1または複数のスキャナの近傍でアイテムを移動させることを含む。
工程359aで、アイテムが閾値エリアを通して移動される間に、アイテム回転処理が開始される。様々な実施形態によると、アイテムが移動されている間に、アイテムが回転される。例えば、アイテムは、移動元位置から移動先位置への実質的に経路全体に沿って回転されてよい。別の例として、アイテムは、アイテムが1または複数のセンサの近傍内にあるとの判定に応じて(例えば、アイテムが閾値範囲/閾値エリア内にあるとの判定に応じて)回転されてもよい。
工程360aで、アイテム回転処理は停止され、アイテムはさらに移動先位置まで移動される。いくつかの実施形態において、アイテムがもはや1または複数のセンサの近傍にはないと判定された後、ロボットシステムは、アイテムの回転を停止する。例えば、ロボットアームは、アイテムが移動先位置の閾値距離内にある時に、アイテムの回転を停止するよう制御されてよい。別の例として、ロボットアームは、アイテムが閾値範囲/閾値エリアを出たとの判定に応じて、アイテムの回転を停止するよう制御されてもよい。
図3Dは、様々な実施形態に従って、アイテムをスキャンすることに関連して積極的な対策を実行するか否かを決定するための方法を示すフローチャートである。
様々な実施形態によると、図3Dの処理356bは、図3Bの工程356に対応しうる。図3Dの処理356bは、図1のシンギュレーションシステム100および/または図2A~図2Cのキッティングシステム200によって実行されてよい。
工程357bで、現在の計画が取得される。計画は、移動元位置から移動先位置へアイテムをピックするために決定されてよい。いくつかの実施形態において、アイテムから1または複数の識別子を取得する最初の試みに関連して、現在の計画は、1または複数のセンサの近傍の範囲内で(例えば、閾値範囲/閾値エリア内で)アイテムを移動させることを含んでよい。様々な実施形態によると、積極的な対策が実行されると決定したことに応じて、様々な実施形態によると、ロボットシステムは、計画(例えば、アイテムをピックアンドプレースするための計画)を更新する。計画は、積極的な対策(決定される積極的な対策のタイプなど)に少なくとも部分的に基づいて更新されてよい。積極的な対策が実行されると決定した後、現在の計画は、更新された計画に対応しうる。
例えば、計画は、アイテムから少なくとも1つの識別子を取得するよう再試行することを含むように更新されてよい。アイテムから少なくとも1つの識別子を取得するよう再試行することは、1または複数のスキャナの近傍内でアイテムを移動させること(例えば、閾値範囲/閾値エリアを通して1または複数のさらなる回数アイテムを移動させること)を含んでよい。それに応じて、計画は、アイテムをそのように移動させるための命令を含むように更新されてよい。
現在の計画は、アイテムが対応する経路に沿って移動された場合にアイテム上の1または複数の識別子が取得される可能性の決定に少なくとも部分的に基づいて取得されてよい。例えば、現在の計画は、識別子が作業空間内のセンサによって読み取られる可能性を最適化するアイテムのピックアンドプレース方法の決定に少なくとも部分的に基づいて決定されてよい。アイテムが対応する経路に沿って移動された場合にアイテム上の1または複数の識別子が取得される可能性の決定は、1または複数のラベルまたは識別子が1または複数のセンサに検知される可能性を最適化するような経路の決定に少なくとも部分的に基づいてよい。1または複数のラベルまたは識別子が1または複数のセンサに検知される可能性を最適化するように経路を決定することは、アイテムが移動される経路と、アイテムがその経路に沿って移動された場合にアイテム上のラベルまたは識別子がスキャンされる対応する確率とのセットを決定し(例えば、確率は、センサに対するアイテムの位置またはセンサに対するアイテムの側面の位置、センサまでのアイテムの距離、などに基づきうる)、最も高い対応する確率を有する経路を選択することを含んでよい。いくつかの実施形態において、閾値確率を超える経路、もしくは、経路のセットの中で最も高い対応する確率を有する所定の割合または数の経路に入る経路が決定される。いくつかの実施形態において、経路と、アイテムがかかる経路に沿って移動された場合にアイテム上のラベルまたは識別子がスキャンされる対応する確率とが決定され、その確率は、最低限の所望の確率に対する所定の閾値と比較される。特定の経路に対応する確率が最低限の所望の確率に対する所定の閾値を超えないと判定したことに応じて、新たな経路および対応する確率が決定される。ロボットシステムは、対応する確率が最低限の所望の確率に対する所定の閾値を超えているとロボットシステムが判定するまで、経路および対応する確率の決定を反復し続けうる。経路を決定することは、異なる要因に重み付けし、異なる要素の重み付けされた値に関する合成スコアを最大化することを含んでよい。異なる要因は、1または複数の識別子が取得される可能性、アイテムのピックアンドプレースに成功する可能性、アイテムが対応する経路に沿って移動された場合にアイテムをピックアンドプレースするための予測時間、作業空間内の別の物体(例えば、別のロボットアーム、容器、別のアイテム、など)の存在/位置、などを含みうる。
工程358bで、アイテムは、現在の計画に少なくとも部分的に基づいて移動される。ロボットアームは、現在の計画に従ってアイテムを自律的に移動させるよう制御されてよい。例えば、アイテムから1または複数の識別子を取得する最初の試みに関連して、アイテムは、移動元位置から移動先位置への経路に沿って移動され、経路は、1または複数のスキャナの近傍内でアイテムを移動させることを含む。別の例として、積極的な対策を実行することに関連して、アイテムは、1または複数のスキャナの近傍内で1または複数のさらなる回数だけ移動される(例えば、ロボットアームは、閾値範囲/閾値エリアを通してアイテムを前後に移動させる)。
図3Eは、様々な実施形態に従って、アイテムをスキャンすることに関連して積極的な対策を実行するか否かを決定するための方法を示すフローチャートである。
様々な実施形態によると、図3Eの処理361は、図3Bの工程361に対応しうる。図3Bの処理361は、図1のシンギュレーションシステム100および/または図2A~図2Cのキッティングシステム200によって実行されてよい。
工程362で、アイテム上でスキャンされた1または複数の識別子が取得される。いくつかの実施形態において、ロボットシステムは、(例えば、作業空間内の)1または複数のセンサによって取得された1または複数の識別子を決定する。取得された1または複数の識別子は、取得された識別子がアイテムにマッピングされたデータ構造に格納されてよい。いくつかの実施形態において、アイテム上でスキャンされた1または複数の識別子を取得することは、アイテムをスキャンすることに関連して1または複数のセンサによって取得された識別子(例えば、異なる識別子)の数を決定することを含む。アイテム上でスキャンされた1または複数の識別子を取得することは、1または複数の識別子に関連付けられた1または複数の属性(例えば、モデル番号、シリアル番号、ロット番号、製造業者識別子など、識別子のタイプ)を取得することを含んでよい。
工程363で、アイテム上でスキャンされる識別子の期待数が取得される。ロボットシステムは、計画に少なくとも部分的に基づいて(例えば、ピックアンドプレースされるアイテム、および/または、ピックアンドプレースされるアイテムに対応するアイテムのタイプに基づいて)、スキャンされる識別子の期待数を取得してよい。
いくつかの実施形態において、アイテム上の複数の識別子を示す情報が、予め(例えば、アイテムがキッティングまたはシンギュレートされる前に)格納されている。例えば、ロボットシステムは、複数の識別子に対するアイテムまたはアイテムタイプのマッピングを格納していてよい。アイテムまたはアイテムのタイプにマッピングされた識別子の数は、識別子の期待数に対応うる。1または複数のセンサによって取得された(または情報が取得された)識別子の数がアイテムの識別子の期待数より少ないと、ロボットシステムが判定した場合、ロボットシステムは、1または複数のセンサによって取得された情報が不十分である(例えば、1または複数の識別子の内の少なくとも1つに関する情報がキャプチャされなかった)と判定してよい。
工程364で、システムは、アイテム上でスキャンされた識別子と、アイテム上でスキャンされる識別子の期待数とに少なくとも部分的に基づいて、積極的な対策を実行するか否かを決定する。
様々な実施形態が、1または複数のセンサが少なくとも1つの識別子についての情報を取得していなかったとの判定に応じて、積極的な対策を実行することを含む。例えば、1または複数のセンサによって取得された識別子(または情報が取得された識別子)の数がアイテムに対する識別子の期待数より少ないとロボットシステムが判定したことに応じて、ロボットシステムは、積極的な対策を実行してよい。積極的な対策は、少なくとも1つの識別子をスキャンしようとする1または複数のさらなる試行を実行することを含んでよい。例えば、積極的な対策は、閾値範囲を通して(例えば、少なくとも1つのセンサの視線内で)アイテムを移動させることを含んでよい。積極的な対策は、アイテムの向き(例えば、1または複数のセンサに対する1または複数の側面の向き)を変えることを含んでよい。ロボットシステムは、1または複数のセンサによって取得された少なくとも1つの識別子に対応する情報を有するように、1または複数のさらなる試行を実行する前に向きを変えてよい。アイテムの向きは、ロボットアームが動いている間に変えられてよい。例えば、ロボットアームは、ロボットアームの手首を回転させるよう制御されてよい。いくつかの実施形態において、アイテムの向きは、ロボットアームが1または複数のセンサの閾値範囲の少なくとも一部を通して動いている間に(例えば、アイテムが少なくとも1つのセンサの視線内にある間に)変えられる。積極的な対策は、(i)アイテムの識別子すべてが取得される(または閾値数の識別子が取得される)まで、および/または、(ii)少なくとも1つの識別子を取得するための再試行が閾値回数だけ実行されるまで、少なくとも1つの識別子(例えば、取得されなかった識別子)を取得するよう繰り返し試みることを含んでよい。一例として、少なくとも1つの識別子を取得するための再試行は、(i)および(ii)のいずれかが満たされるまで、繰り返し実行されてよい。
図4は、様々な実施形態に従って、キッティングシステムを示す図である。
図4に示すように、キッティングシステム400は、様々なキッティング棚マシンへトートを運ぶ(例えば、分配する)搬送システムを備える。トート(例えば、容器)は、入力エリア405で搬送システムに入力されてよい。トートの内の個々のトートが、キッティング棚マシン(キッティング棚マシン410など)にそれぞれ対応するエリアに分配される。複数のキッティング棚マシンが、搬送システムを介して相互接続されていてよい。
いくつかの実施形態において、搬送構造は、かかるキッティング棚マシンで終わっている。搬送構造がキッティング棚マシンで終わっている場合、1または複数のアイテムを詰められたトートは、人間のオペレータなどによってキッティング棚マシンから除去され(または別の方法で手作業で除去され)、もしくは、異なるシステムから除去されてよい。
いくつかの実施形態において、複数のキッティング棚マシンが、搬送構造を介して相互接続されている。例えば、複数のキッティング棚マシンは、トート(例えば、空きトート)がキッティングシステムに入力される共通入力エリア405を共有してよい。別の例として、複数のキッティング棚マシンは、トート(例えば、1または複数のアイテムを詰められたトート)がキッティングシステムから出力される共通出力エリア455(梱包、ラベル付け、および/または、その他の処理などに向けて、トートが送られるエリア)を共有してよい。別の例として、複数のキッティング棚マシンは、共通出力エリア455および共通入力エリア405を共有してよい。いくつかの実施形態において、キッティング棚システムは、複数のキッティング棚マシン(コンベヤの両側に配置されたキッティング棚マシンなど)を備えてよい。いくつかの実施形態において、各キッティング棚システムは、複数のキッティング棚マシンおよび対応するロボットアームを制御する1または複数の制御コンピュータを備えてよい。他の実施形態において、各キッティング棚マシンが、キッティング棚マシンおよび対応するロボットを制御する独自の制御コンピュータを備えてもよい。他の実施形態において、キッティングシステム400は、複数のキッティング棚システムおよび/または複数のキッティング棚マシンを制御する制御コンピュータを備える。
いくつかの実施形態において、キッティングシステム400は、トート(例えば、トレイ)と注文またはアイテムとの関係に関するデータ構造を格納および/または管理してよい。例えば、キッティング棚マシン(または、それに関連付けられているコントローラ)は、対応するロボットアームがキッティング棚からピックしたアイテムをキッティング棚マシンがプレースするための空きトートを確保してよい。別の例において、アイテムがトートに詰められたことに応じて、データ構造は、アイテムがキッティングされる注文に対するトートの識別子のマッピング、および/または、トートに含まれる1または複数のアイテムに対するトートの識別子のマッピングを含むように更新されてよい。
キッティングシステム400は、複数のロボットアーム(ロボットアーム415、ロボットアーム425、および/または、ロボットアーム435、など)を備えてよい。複数のロボットアームの内の1または複数は、キッティング棚マシン410に対して固定位置を有するベースに接続されていてよい。別の例として、ロボットアームの内の1または複数は、キッティング棚マシン410に対して少なくとも1つのロボットアームを移動させるために1または複数のレール上をそれぞれ移動する1または複数のキャリッジに固定されていてよい。
キッティングシステム400は、搬送構造に沿って、もしくは、複数のロボットアーム(例えば、ロボットアーム415、ロボットアーム425、および、ロボットアーム435)の中または周囲に配置された1または複数のセンサならびに/もしくは1または複数のセンサアレイを備えてよい。例えば、キッティングシステム400は、入力エリア405に1または複数のセンサを備えてよい。別の例として、キッティングシステム900は、出力エリア455に1または複数のセンサを備えてよい。別の例として、キッティングシステム400は、キッティングマシンが配置されている搬送構造に沿ったエリアにセンサを備えてよい。センサは、注文および/またはトート内にキッティングされる(またはキッティングされた)アイテムとトートを関連付けることに関連して用いられてよい。センサは、トートおよび/またはトート内のアイテムに関連する1または複数の属性を決定すること(例えば、識別子上の識別子ならびに/もしくは1または複数のアイテム上の識別子を取得すること、など)に関連して用いられてもよい。
1または複数のセンサは、ロボットアームの作業空間内に配置されていてよい(ロボットアーム415の近傍内に配置された1または複数のセンサ410、もしくは、ロボットアーム425の近傍内に配置された1または複数のセンサ430、など)。1または複数のセンサがキッティング棚マシン410に対して固定位置に配置されている場合、コンピュータシステムは、1または複数のセンサのセットに対応する閾値エリアまたは閾値範囲を通してアイテムを移動させるための計画または戦略を決定してよく、ここで、閾値エリアまたは閾値範囲は、キッティング棚マシンに対して規定された固定位置を有する。
様々な実施形態によると、キッティングシステム400は、ロボットアームのベースまたはロボットアームが取り付けられているキャリッジ上に配置されまたは一体化された1または複数のセンサを備える。例えば、センサ445および/またはセンサ450は、ロボットアーム435のベースに配置または一体化されている。センサ445および/またはセンサ450がロボットアーム435のベースの上/中に配置されている場合、ロボットアーム435(例えば、少なくともロボットアーム435のベース)に対するセンサ445および/またはセンサ450の相対位置は固定されている。さらに、センサ445および/またはセンサ450に対応する閾値範囲は、ロボットアーム435(例えば、少なくともロボットアーム435のベース)の位置に対して固定されうる。閾値範囲/閾値エリアの固定された相対位置は、ロボットアームが、アイテムをキッティングまたはシンギュレートするための計画または戦略を決定しうる効率を改善しうる。例えば、キッティングシステム400(またはシンギュレーションシステム)は、閾値範囲/閾値エリア436を通してアイテムを移動させまたは別の方法でアイテムのスキャンを試みるための所定のルーチンを格納していてよい。いくつかの実施形態において、アイテムを移動先位置へ移動させるための計画または戦略は、所定の位置(例えば、ロボットアーム435またはそのベースに対して固定されている位置)へアイテムを移動させ、次いで、閾値範囲/閾値エリアを通してアイテムを移動させまたは別の方法でセンサ445および/またはセンサ450によるアイテムのスキャンを試みるためのルーチンを実行することを含んでよい。アイテムがスキャンされた後、ロボットアームは、アイテムを移動先位置へ(例えば、コンベヤ上の容器または所定の位置へ)移動させてよい。
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供されている詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示されている実施形態は、例示であり、限定を意図するものではない。
様々な実施形態が、移動元位置から移動先位置までの所定の経路に沿ってアイテムを移動させるよう構成されているロボットアームを備えたロボットシステムを含む。所定の経路は、作業空間内の1または複数のセンサからのセンサデータ(例えば、キッティングシステムの棚システム上のアイテムに関するセンサデータ、シンギュレーションシステムの移動元の山/流れおよび/またはコンベヤに関するセンサデータ、など)に基づいて決定されてよい。所定の経路は、アイテムが経路に沿って移動される時、アイテムが所定の経路に沿って移動される間に、アイテムが1または複数のセンサの閾値範囲内にあるように構成(例えば、決定)されてよい。1または複数のセンサの閾値範囲は、1または複数のセンサが情報(アイテム上に備えられまたは別の方法でアイテムに関連付けられている情報など)を取得できる範囲である視線または領域(例えば、無線周波数識別(RFID)センサの場合、RFIDタグから情報を取得できる範囲または近接度、など)を含みうる。アイテムが閾値範囲を通して移動される時に、1または複数のセンサは、アイテムに関連する情報を取得してよい。例えば、1または複数のセンサは、アイテム上の1または複数の識別子を取得(例えば、識別子の画像をキャプチャ)してよい。
作業空間内のセンサ(例えば、カメラ210)は、キッティング棚システム202の少なくとも1つの棚の上の1または複数のアイテムに関する情報をキャプチャしてよい。例えば、アイテムの少なくとも1つの側面上の識別子に関する情報(例えば、マシン読み取り可能な情報)が、センサによって取得されてよい。アイテム上の1または複数の識別子は、アイテムがキッティングされた(例えば、キッティング棚システム202から取得されて容器216にプレースされた)と判定することに関連して、対応する注文(例えば、アイテムが構成部品である注文)の少なくとも一部の達成を確認することに関連して、および/または、キッティング棚システム202にアイテム(例えば、ロボットアーム212によってキッティング棚システムから取り去られたアイテムの1または複数の識別子に対応するタイプのアイテムであるアイテム)を補充するか否かを判定することに関連して、キッティングシステム200によって用いられてよい。アイテム上の1または複数の識別子に関する情報は、アイテムがキッティング棚システム202上に(例えば、棚の提示面上に)ある間に、および/または、キッティング棚システム202から容器216へロボットアームによってアイテムが移動されている間に、取得されてよい。例えば、ロボットアーム212は、アイテム(例えば、アイテムのサイズ、アイテムのタイプ、アイテム上の1または複数の識別子の位置または予想位置)、および/または、作業空間内の1または複数のセンサ(バーコードスキャナ、RFIDスキャナ、など)の位置、に少なくとも部分的に基づいて決定された経路/軌道に沿ってアイテムを移動させてよい。経路/軌道は、(例えば、注文などに基づいてキットを構築するために)計画(1または複数のアイテムをキッティングするための計画など)の中で、予め決定され規定されてよく、または、別の方法で指定されていてよい。いくつかの実施形態において、経路/軌道は、アイテムが1または複数のセンサの閾値エリアまたは閾値範囲を通して移動される条件に少なくとも部分的に基づいて決定される。例えば、経路/軌道は、アイテムの少なくとも1つの側面が少なくとも1つのセンサの視線内で移動されるように決定される。
様々な実施形態によると、ロボットアーム212がキッティング棚システム202から容器(例えば、コンベヤ220上の容器218など)へアイテムを移動させている時、アイテムがセンサの範囲/視界の中にもたらされた場合に、センサ222、センサ224、センサ226、および/または、センサ228の1または複数が、アイテムに関する情報を取得する。例えば、センサ222、センサ224、センサ226、および/または、センサ228は、アイテム上の1または複数の識別子に関する情報を取得してよい。1または複数の識別子に関する情報は、コンピュータ(例えば、制御コンピュータ230)がアイテムに関する情報(アイテムのタイプ、製造業者、シリアル番号、モデル番号、ブランド、ロット番号、など)を処理および決定できるマシン読み取り可能な情報であってよい。キッティングシステム200は、異なる角度/視線から情報をキャプチャするよう配列されているセンサを含むセンサアレイを備えてよい。例えば、センサ226および/またはセンサ228は、上向きの(例えば、地面と実質的に垂直な)視線を有するように配置されてよく、センサ226および/またはセンサ228は、アイテムの底面上の識別子に対応する情報を取得してよい。別の例として、センサ222およびセンサ224は、センサ226および/またはセンサ228とは異なる角度に配置されてよい。センサ222および/またはセンサ224は、地面に対して45度の角度を成すように配置されてよい。センサ22および/またはセンサ224は、アイテムの少なくとも1つの側面(例えば、センサ226および/またはセンサ228によってスキャンされるアイテムの底面とは異なるアイテムの側面)が見えるように配置されてよい。いくつかの実施形態において、キッティングシステム200は、アイテムがキッティング棚システム202の棚の上にある間にアイテムの上面上の1または複数の識別子に対応する情報を取得するよう構成されているカメラ210と、アイテムがキッティング棚システム202から容器へ(センサの範囲/視界の中で)移動されている間にアイテムの底面上の1または複数の識別子に対応する情報を取得するよう構成されているセンサ(例えば、センサ226および/またはセンサ228)と、アイテムがキッティング棚システム202から容器へ(センサの範囲/視界の中で)移動されている間にアイテムの1または複数の側面(例えば、地面と実質的に垂直な表面)上の1または複数の識別子に対応する情報を取得するよう構成されているセンサ(センサ222および/またはセンサ224)と、を備える。
様々な実施形態によると、ゲート構造は、フィーダ部分から提示面へアイテムが流れることを許容または防止する。フィーダ部分から提示面へのアイテムの流れの制御は、アイテムが提示面上で雑然となるのを防いでよく、ロボットアームが提示面からアイテム/物体をピックアンドプレースするのに十分な空間と提示面上のアイテムの秩序とを提供する助けとなりうる。ゲート構造は、任意の特定の時間に閾値より多いアイテムが提示面上に配置されることを防止/抑制するよう構成されていてよい。いくつかの実施形態において、ゲート構造は、開位置と閉位置との間で切り替えられる(例えば、移動される)。一例として、開位置は、アイテムが提示面上に存在しない時のゲート構造の向きに対応してよい。別の例として、開位置は、アイテムの提示上のアイテムの数量がアイテムの閾値数より小さい時のゲート構造の向きに対応してよい。別の例として、開位置は、提示面上の重量(または提示面に掛かっている力)が閾値重量(または閾値力)より小さい時のゲート構造の向きに対応してよい。ゲート構造が開位置に向けられている時、フィーダ部分から提示面へのアイテムの流れすなわち搬送が許容されうる(例えば、ブロックされない)。逆に、ゲート構造が閉位置に向けられている時、フィーダ部分から提示面へのアイテムの流れまたは搬送が防止されうる(例えば、アイテムの流れがブロックされる)。
様々な実施形態において、空き位置は、フィーダ部分から提示面への1または複数のアイテムの流れ/搬送を容易にするように提示面が向けられる位置に対応する。例えば、空き位置は、提示面上のアイテムの数量が閾値数より小さい時に提示面が向けられる位置に対応してよい。別の例において、空き位置は、提示面が空いている(例えば、その上にアイテムが全く配置されていない)時に提示面が向けられる位置に対応する。別の例として、空き位置は、提示上の重量(または、そこに掛かっている力)が閾値重量(または閾値力)より小さい時に提示面が向けられる位置に対応する。いくつかの実施形態において、特定のキッティング棚システム(例えば、キッティング棚システム202)における各提示面は、対応する空き位置に向けられた時に同じ方位角(例えば、地面への垂線に対する角度など)を有してよい。いくつかの実施形態において、特定のキッティング棚システム(例えば、キッティング棚システム202)における2以上の提示面が、対応する空き位置に向けられた時に異なる方位角(例えば、地面への垂線に対する角度など)を有する。異なる角度に棚(例えば、提示面)を構成することで、作業空間内のセンサ(カメラ21など)のより良好な視線が可能になりえ、かかる構成は、作業空間に関する情報を改善しうる(例えば、アイテム上の識別子が、より容易または正確に取得されうる、など)。
いくつかの実施形態において、提示面の向きは、対応する棚が地面に対して低いほど、下向きに大きく傾いてよい。提示面のかかる向きは、提示棚もしくは提示面上の1または複数のアイテム/物体に関する情報を取得するための1または複数のセンサ(例えば、カメラ210)を強化しうる。さらに、かかる向きは、ロボットアームがロボットアームのエンドエフェクタでアイテムと係合する能力を強化しうる。ロボットアームは、その手首の伸展能力/構成および/またはその手首の屈曲能力/構成に関して制限を有しうる。一例として、(例えば、少なくとも占有位置にある)提示面の向きは、提示面からアイテム/物体をピックするのにロボットアームによって必要とされる手首伸展の程度に少なくとも部分的に基づいて構成される。棚/提示面は、キッティング棚システムにおけるロボットアームの手首の可動域(例えば、手首伸展/屈曲に関する可動域)に少なくとも部分的に基づいて構成されてよい。ロボットアームのエンドエフェクタまたは手首構成要素は、ロボットアームが提示面上に配置されたアイテムと(例えば、特定の角度および高さ/位置で)係合する能力を阻害するサイズ制限を有しうる。したがって、棚の(例えば、少なくとも占有位置にある)提示面の向きは、ロボットアームが、アイテム/物体に対して直角にロボットアームのエンドエフェクタで提示面上のアイテム/物体と係合するようにその位置を構成する可能性/能力を改善するよう構成されてよい。占有位置にある時の提示面の向きは、その上に配置されたトレイ/アイテムが、搭載カメラ(例えば、作業空間内ならびに/もしくはロボットアームまたはそのシャーシ上に配置されているカメラ)からのより良好な映像のために(各レベル/棚で)最適に傾斜されている向きに対応しうる。いくつかの実施形態において、空き位置および/または占有位置にある提示面の向きは、対応するゲート構造の構成に少なくとも部分的に基づいている。例えば、ゲート構造がヒンジである場合、空き位置および/または占有位置にある提示面の向きは、ヒンジの可動域に少なくとも部分的に基づいている。
様々な実施形態によると、キッティング棚システム202は、1または複数のフィーダ部分を備える。いくつかの実施形態において、キッティング棚システム202は、1または複数のアイテムを複数の提示面へ搬送する単一のフィーダ部分を有してよい。他の実施形態において、キッティング棚システム202は、各提示面に対して単一のフィーダ部分を有する(例えば、フィーダ部分と提示面との一対一対応)。フィーダ部分は、提示面へアイテムを搬送するよう構成されていてよい。一例として、アイテムの搬送は、フィーダ部分上に配置されたアイテムに作用する重力によるなど、受動的であってよい(例えば、フィーダ部分が提示面に向かって傾斜するよう構成されている場合)。別の例として、アイテムの搬送は、フィーダ部分が、フィーダ部分の入力位置から提示面へアイテムを運ぶコンベヤを備えるよう構成されていることに基づいて、少なくとも部分的に能動的であってよい。様々な実施形態において、フィーダ部分は、受け入れ端部上(例えば、フィーダ部分への入力)で連続的にアイテムを受け入れ、目的端部(例えば、提示面へ動作可能に接続/結合され、または、他の方法でフィーダ部分を出て適切な提示面へ至る端部)へアイテムを搬送するよう構成されている。一連のアイテムは、(例えば、人間のオペレータ234によって)フィーダ部分またはキッティング棚システムへ手動でロードされてよく、もしくは、一連のアイテムは、(例えば、ロボットアーム/構成要素によって、または、供給源の流れ/山からアイテムを搬送するシュートにフィーダ部分が結合されていることに少なくとも部分的に基づいて)フィーダ部分へ自動的にロードされてよい。
様々な実施形態によると、センサ224および/またはセンサ228がキャリッジ214の上/中に配置されている場合、ロボットアーム212(例えば、少なくともロボットアーム212のベース)に対するセンサ224および/またはセンサ228の相対位置は固定されている。さらに、センサ224および/またはセンサ228に対応する閾値範囲236は、ロボットアーム212(例えば、少なくともロボットアーム212のベース)の位置に対して固定されうる。閾値範囲/閾値エリア236の固定された相対位置は、ロボットアームが、アイテムをキッティングまたはシンギュレートするための計画または戦略を決定しうる効率を改善しうる。例えば、キッティングシステム200(またはシンギュレーションシステム)は、閾値範囲/閾値エリア236を通してアイテムを移動させまたは別の方法でアイテムのスキャンを試みるための所定のルーチンを格納していてよい。いくつかの実施形態において、アイテムを移動先位置へ移動させるための計画または戦略は、所定の位置(例えば、ロボットアーム212またはそのベースに対して固定されている位置)へアイテムを移動させ、次いで、閾値範囲/閾値エリア236を通してアイテムを移動させまたは別の方法でセンサ224および/またはセンサ228によるアイテムのスキャンを試みるためのルーチンを実行することを含んでよい。アイテムがスキャンされた後、ロボットアームは、アイテムを移動先位置へ(例えば、コンベヤ上の容器または所定の位置へ)移動させてよい。所定のルーチンは、最適な経路または軌道に対応する決定済みの経路または軌道もしくは経路または軌道のセット、アイテムが閾値範囲/閾値エリア236を通った時にアイテムに関連する情報が1または複数のセンサによって取得される可能性に関する閾値を満たす経路または軌道、に基づいていてよい。
いくつかの実施形態において、ロボットシステムは、識別子が適切に取得されなかった(例えば、識別子が部分的にスキャンされた、など)と判定したことに応じて、積極的な対策を実行するよう決定する。アイテムが1または複数のセンサの視線を横切ってまたはその閾値範囲内をあまりに高速に移動された場合、1または複数のセンサは、画像上の識別子を適切にキャプチャしない場合がある。少なくとも1つの識別子が適切にキャプチャされなかった(例えば、バーコードまたはQRコードの一部がキャプチャされた、もしくは、RFIDタグが認識されたがそこから完全な情報が取得されなかった)と判定したことに応じて、ロボットシステムは、積極的な対策を実行するよう決定してよい。
ロボットシステムは、積極的な対策が、ロボットアームの少なくとも一部が位置するエリアまたはアイテムが位置するエリアに少なくとも部分的に基づいて実行されることを決定してよい。ロボットアームまたはアイテム(例えば、ロボットアームに把持されているアイテム)の少なくとも一部の位置は、作業空間内の1または複数のセンサまたはセンサアレイによって取得された情報に基づいて決定されてよい。いくつかの実施形態において、ロボットシステムは、アイテムまたはロボットアームの一部(例えば、エンドエフェクタ)が閾地範囲/閾値エリア内または閾値範囲/閾値エリアから所定の距離内にあると判定したことに応じて、積極的な対策を実行するよう決定する。一例として、積極的な対策は、アイテムを回転させ、または、別の方法でのアイテムの向きを変えること(例えば、アイテムが閾値範囲/閾値エリアを通して移動されている間に、アイテムを回転させまたはアイテムの傾斜を変えること)を含んでよい。
工程360で、アイテム回転処理は停止され、アイテムはさらに移動先位置まで移動される。いくつかの実施形態において、アイテムがもはや1または複数のセンサの近傍にはないと判定された後、ロボットシステムは、アイテムの回転を停止する。例えば、ロボットアームは、アイテムが移動先位置の閾値距離内にある時に、アイテムの回転を停止するよう制御されてよい。別の例として、ロボットアームは、アイテムが閾値範囲/閾値エリアを出たとの判定に応じて、アイテムの回転を停止するよう制御されてもよい。
キッティングシステム400は、搬送構造に沿って、もしくは、複数のロボットアーム(例えば、ロボットアーム415、ロボットアーム425、および、ロボットアーム435)の中または周囲に配置された1または複数のセンサならびに/もしくは1または複数のセンサアレイを備えてよい。例えば、キッティングシステム400は、入力エリア405に1または複数のセンサを備えてよい。別の例として、キッティングシステム00は、出力エリア455に1または複数のセンサを備えてよい。別の例として、キッティングシステム400は、キッティングマシンが配置されている搬送構造に沿ったエリアにセンサを備えてよい。センサは、注文および/またはトート内にキッティングされる(またはキッティングされた)アイテムとトートを関連付けることに関連して用いられてよい。センサは、トートおよび/またはトート内のアイテムに関連する1または複数の属性を決定すること(例えば、識別子上の識別子ならびに/もしくは1または複数のアイテム上の識別子を取得すること、など)に関連して用いられてもよい。
1または複数のセンサは、ロボットアームの作業空間内に配置されていてよい(ロボットアーム415の近傍内に配置された1または複数のセンサ420、もしくは、ロボットアーム425の近傍内に配置された1または複数のセンサ430、など)。1または複数のセンサがキッティング棚マシン410に対して固定位置に配置されている場合、コンピュータシステムは、1または複数のセンサのセットに対応する閾値エリアまたは閾値範囲を通してアイテムを移動させるための計画または戦略を決定してよく、ここで、閾値エリアまたは閾値範囲は、キッティング棚マシンに対して規定された固定位置を有する。
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供されている詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示されている実施形態は、例示であり、限定を意図するものではない。
[適用例1]システムであって、
通信インターフェースと、
前記通信インターフェースに接続されている1または複数のプロセッサと、
を備え、
前記1または複数のプロセッサは、
移動元位置から移動先位置へ所定の経路に沿ってアイテムを移動させるようロボット構造を自律的に動作させ、
前記アイテムは、1または複数の識別子を備え、
前記1または複数の識別子の内の少なくとも1つが1または複数のセンサによって取得されなかったとの判定に応じて、取得されなかった前記少なくとも1つの識別子を前記1または複数のセンサに取得させるために、積極的な対策が実行され、
前記所定の経路は、前記アイテムが前記移動元位置から前記移動先位置へ移動される経路に対応し、
前記所定の経路は、前記アイテムが前記所定の経路に沿って移動される間、前記アイテムが前記1または複数のセンサの閾値範囲内で移動されるように計画され、
前記計画に少なくとも部分的に基づいて前記移動先位置に前記アイテムをプレースするよう前記ロボット構造を自律的に動作させるよう構成されている、システム。
[適用例2]適用例1に記載のシステムであって、
前記1または複数のプロセッサは、さらに、
前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得し、
前記計画に少なくとも部分的に基づいて前記移動元位置から前記アイテムをピックするよう前記ロボット構造を自律的に動作させるよう構成されており、
前記移動元位置から前記移動先位置へ前記所定の経路に沿って前記アイテムを移動させるよう前記ロボット構造を自律的に動作させることは、
前記アイテムが前記所定の経路に沿って移動されている時に、前記1または複数のセンサが前記アイテムの前記1または複数の識別子を取得したか否かを判定することを含む、システム。
[適用例3]適用例2に記載のシステムであって、前記積極的な対策は、
(i)前記アイテムの前記1または複数の識別子すべてが前記1または複数のセンサによって取得されること、もしくは、(ii)前記1または複数のセンサの前記範囲内で前記アイテムを移動させることが閾値反復回数にわたって試みられること、のいずれかが満たされるまで、前記1または複数のセンサの前記閾値範囲内で前記アイテムを反復的に移動させるよう前記ロボット構造を自律的に動作させることを含む、システム。
[適用例4]適用例2に記載のシステムであって、前記積極的な対策は、
前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを含み、
前記ロボット構造は、前記1または複数のスキャナに対する前記アイテムの向きを変化させ、
前記アイテムが前記1または複数のセンサの前記閾値範囲内で再び移動される時の前記1または複数のスキャナに対する前記アイテムの向きは、前記アイテムが最初の試行中に前記1または複数のセンサの前記閾値範囲内で移動された時の前記アイテムの向きとは異なる、システム。
[適用例5]適用例2に記載のシステムであって、前記積極的な対策は、
取得されなかった前記少なくとも1つの識別子を含む前記アイテムの側面を決定し、
前記アイテムが前記閾値範囲内にある時に、前記1または複数のセンサが前記少なくとも1つの識別子を取得する可能性の増大に対応する前記アイテムの再構成される向きを決定し、
前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを含み、
前記アイテムは、前記再構成される向きに少なくとも部分的に基づいて前記閾値範囲内で移動される、システム。
[適用例6]適用例2に記載のシステムであって、前記積極的な対策は、
前記アイテムを移動させて、前記アイテムを前記移動先位置にプレースするための更新計画を決定し、
前記更新計画は、前記アイテムが移動される更新経路を含み、
前記更新計画に少なくとも部分的に基づいて前記アイテムを移動およびプレースするよう前記ロボット構造を自律的に動作させることを含む、システム。
[適用例7]適用例6に記載のシステムであって、前記更新計画は、前記アイテムが前記1または複数のセンサの前記閾値範囲内で移動された時に取得されなかった前記少なくとも1つの識別子に少なくとも部分的に基づいて決定される、システム。
[適用例8]適用例6に記載のシステムであって、前記更新計画は、取得されなかった前記少なくとも1つの識別子を含む前記アイテムの側面と、前記1または複数のセンサの位置とに少なくとも部分的に基づいて決定される、システム。
[適用例9]適用例1に記載のシステムであって、
前記1または複数のセンサは、バーコードリーダを含み、
前記アイテムは、1または複数の識別子を備え、
前記識別子の内の前記1または複数は、少なくとも1つのバーコードを含む、システム。
[適用例10]適用例1に記載のシステムであって、
前記1または複数のセンサは、無線周波数識別(RFID)センサを含み、
前記アイテムは、1または複数の識別子を備え、
前記識別子の内の前記1または複数は、RFIDタグを含む、システム。
[適用例11]適用例1に記載のシステムであって、前記移動元位置から前記移動先位置へ所定の経路に沿って前記アイテムを移動させるよう前記ロボット構造を自律的に動作させることは、
少なくとも、前記アイテムが1または複数のセンサの閾値範囲内で移動されている時に、前記アイテムを回転させるよう前記ロボット構造を自律的に動作させることを含む、システム。
[適用例12]適用例1に記載のシステムであって、前記1または複数のセンサの前記閾値範囲は、前記1または複数のセンサの視野に対応する、システム。
[適用例13]適用例1に記載のシステムであって、前記1または複数のセンサの内の少なくとも1つは、前記ロボット構造に対して固定位置に配置されている、システム。
[適用例14]適用例13に記載のシステムであって、前記1または複数のセンサの内の前記少なくとも1つは、前記ロボット構造のベースに対して固定位置に配置されている、システム。
[適用例15]適用例13に記載のシステムであって、前記1または複数のセンサの内の前記少なくとも1つは、前記ロボット構造が取り付けられているキャリッジに対して固定位置に配置されている、システム。
[適用例16]適用例1に記載のシステムであって、さらに、
前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得することを含み、
前記取得することは、
前記1または複数のセンサの内の少なくとも1つの位置に少なくとも部分的に基づいて前記計画を決定することを含む、システム。
[適用例17]適用例1に記載のシステムであって、さらに、
前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得することを含み、
前記1または複数のセンサの内の少なくとも1つは、前記ロボット構造に対して固定位置に配置されており、
前記計画は、前記1または複数のセンサの内の前記少なくとも1つの閾値エリアまたは閾値範囲を通して前記アイテムを移動させることに関連する所定のルーチンを実行することを含む、システム。
[適用例18]方法であって、
1または複数のプロセッサによって、移動元位置から移動先位置へアイテムを移動させてプレースするための計画を実行することを備え、
前記計画を実行することは、
前記移動元位置から前記移動先位置へ所定の経路に沿って前記アイテムを移動させるようロボット構造を自律的に動作させ、
前記アイテムは、1または複数の識別子を備え、
前記1または複数の識別子の内の少なくとも1つが1または複数のセンサによって取得されなかったとの判定に応じて、取得されなかった前記少なくとも1つの識別子を前記1または複数のセンサに取得させるために、積極的な対策を実行し、
前記所定の経路は、前記アイテムが前記移動元位置から前記移動先位置へ移動される経路に対応し、
前記所定の経路は、前記アイテムが前記所定の経路に沿って移動される間、前記アイテムが前記1または複数のセンサの閾値範囲内で移動されるよう構成され、
前記計画に少なくとも部分的に基づいて前記移動先位置に前記アイテムをプレースするよう前記ロボット構造を自律的に動作させること、
を備える、方法。
[適用例19]適用例18に記載の方法であって、さらに、
前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得し、
前記計画に少なくとも部分的に基づいて前記移動元位置から前記アイテムをピックするよう前記ロボット構造を自律的に動作させること、
を備え、
前記アイテムは、1または複数の識別子を備え、
前記移動元位置から前記移動先位置へ前記所定の経路に沿って前記アイテムを移動させるよう前記ロボット構造を自律的に動作させること、
前記アイテムが前記所定の経路に沿って移動されている時に、前記1または複数のセンサが前記アイテムの前記1または複数の識別子を取得したか否かを判定することを備える、方法。
[適用例20]適用例19に記載の方法であって、前記積極的な対策を実行することは、
前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを備え、
前記ロボット構造は、前記1または複数のスキャナに対する前記アイテムの向きを変化させ、
前記アイテムが前記1または複数のセンサの前記閾値範囲内で再び移動される時の前記1または複数のスキャナに対する前記アイテムの向きは、前記アイテムが最初の試行中に前記1または複数のセンサの前記閾値範囲内で移動された時の前記アイテムの向きとは異なる、方法。
[適用例21]適用例19に記載の方法であって、前記積極的な対策を実行することは、
取得されなかった前記少なくとも1つの識別子を含む前記アイテムの側面を決定し、
前記アイテムが前記閾値範囲内にある時に、前記1または複数のセンサが前記少なくとも1つの識別子を取得する可能性の増大に対応する前記アイテムの再構成される向きを決定し、
前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させること、
を備え、
前記アイテムは、前記再構成される向きに少なくとも部分的に基づいて前記閾値範囲内で移動される、方法。
[適用例22]適用例19に記載の方法であって、前記積極的な対策を実行することは、
前記アイテムを移動させて、前記アイテムを前記移動先位置にプレースするための更新計画を決定し、前記更新計画は、前記アイテムが移動される更新経路を含み、
前記更新計画に少なくとも部分的に基づいて前記アイテムを移動およびプレースするよう前記ロボット構造を自律的に動作させること、
を備える、方法。
[適用例23]コンピュータプログラム製品であって、非一時的なコンピュータ読み取り可能媒体内に具現化され、
1または複数のプロセッサによって、移動元位置から移動先位置へアイテムを移動させてプレースするための計画を実行するためのコンピュータ命令を備え、
前記計画を実行することは、
前記移動元位置から前記移動先位置へ所定の経路に沿って前記アイテムを移動させるようロボット構造を自律的に動作させ、
前記アイテムは、1または複数の識別子を備え、
前記1または複数の識別子の内の少なくとも1つが1または複数のセンサによって取得されなかったとの判定に応じて、取得されなかった前記少なくとも1つの識別子を前記1または複数のセンサに取得させるために、積極的な対策を実行し、
前記所定の経路は、前記アイテムが前記移動元位置から前記移動先位置へ移動される経路に対応し、
前記所定の経路は、前記アイテムが前記所定の経路に沿って移動される間、前記アイテムが前記1または複数のセンサの閾値範囲内で移動されるよう構成されており、
前記計画に少なくとも部分的に基づいて前記移動先位置に前記アイテムをプレースするよう前記ロボット構造を自律的に動作させることを備える、コンピュータプログラム製品。
[適用例24]適用例23に記載のコンピュータプログラム製品であって、さらに、
前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得し、
前記計画に少なくとも部分的に基づいて前記移動元位置から前記アイテムをピックするよう前記ロボット構造を自律的に動作させることを備え、
前記アイテムは、1または複数の識別子を備え、
前記移動元位置から前記移動先位置へ前記所定の経路に沿って前記アイテムを移動させるよう前記ロボット構造を自律的に動作させることは、
前記アイテムが前記所定の経路に沿って移動されている時に、前記1または複数のセンサが前記アイテムの前記1または複数の識別子を取得したか否かを判定することを備える、コンピュータプログラム製品。
[適用例25]適用例24に記載のコンピュータプログラム製品であって、前記積極的な対策を実行することは、
前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを備え、
前記ロボット構造は、前記1または複数のスキャナに対する前記アイテムの向きを変化させ、
前記アイテムが前記1または複数のセンサの前記閾値範囲内で再び移動される時の前記1または複数のスキャナに対する前記アイテムの向きは、前記アイテムが最初の試行中に前記1または複数のセンサの前記閾値範囲内で移動された時の前記アイテムの向きとは異なる、コンピュータプログラム製品。
[適用例26]適用例24に記載のコンピュータプログラム製品であって、前記積極的な対策を実行することは、
取得されなかった前記少なくとも1つの識別子を含む前記アイテムの側面を決定し、
前記アイテムが前記閾値範囲内にある時に、前記1または複数のセンサが前記少なくとも1つの識別子を取得する可能性の増大に対応する前記アイテムの再構成される向きを決定し、
前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを備え、
前記アイテムは、前記再構成される向きに少なくとも部分的に基づいて前記閾値範囲内で移動される、コンピュータプログラム製品。
[適用例27]適用例24に記載のコンピュータプログラム製品であって、前記積極的な対策を実行することは、
前記アイテムを移動させて、前記アイテムを前記移動先位置にプレースするための更新計画を決定し、
前記更新計画は、前記アイテムが移動される更新経路を含み、
前記更新計画に少なくとも部分的に基づいて前記アイテムを移動およびプレースするよう前記ロボット構造を自律的に動作させることを備える、コンピュータプログラム製品。

Claims (27)

  1. システムであって、
    通信インターフェースと、
    前記通信インターフェースに接続されている1または複数のプロセッサと、
    を備え、
    前記1または複数のプロセッサは、
    移動元位置から移動先位置へ所定の経路に沿ってアイテムを移動させるようロボット構造を自律的に動作させ、
    前記アイテムは、1または複数の識別子を備え、
    前記1または複数の識別子の内の少なくとも1つが1または複数のセンサによって取得されなかったとの判定に応じて、取得されなかった前記少なくとも1つの識別子を前記1または複数のセンサに取得させるために、積極的な対策が実行され、
    前記所定の経路は、前記アイテムが前記移動元位置から前記移動先位置へ移動される経路に対応し、
    前記所定の経路は、前記アイテムが前記所定の経路に沿って移動される間、前記アイテムが前記1または複数のセンサの閾値範囲内で移動されるように計画され、
    前記計画に少なくとも部分的に基づいて前記移動先位置に前記アイテムをプレースするよう前記ロボット構造を自律的に動作させるよう構成されている、システム。
  2. 請求項1に記載のシステムであって、
    前記1または複数のプロセッサは、さらに、
    前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得し、
    前記計画に少なくとも部分的に基づいて前記移動元位置から前記アイテムをピックするよう前記ロボット構造を自律的に動作させるよう構成されており、
    前記移動元位置から前記移動先位置へ前記所定の経路に沿って前記アイテムを移動させるよう前記ロボット構造を自律的に動作させることは、
    前記アイテムが前記所定の経路に沿って移動されている時に、前記1または複数のセンサが前記アイテムの前記1または複数の識別子を取得したか否かを判定することを含む、システム。
  3. 請求項2に記載のシステムであって、前記積極的な対策は、
    (i)前記アイテムの前記1または複数の識別子すべてが前記1または複数のセンサによって取得されること、もしくは、(ii)前記1または複数のセンサの前記範囲内で前記アイテムを移動させることが閾値反復回数にわたって試みられること、のいずれかが満たされるまで、前記1または複数のセンサの前記閾値範囲内で前記アイテムを反復的に移動させるよう前記ロボット構造を自律的に動作させることを含む、システム。
  4. 請求項2に記載のシステムであって、前記積極的な対策は、
    前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを含み、
    前記ロボット構造は、前記1または複数のスキャナに対する前記アイテムの向きを変化させ、
    前記アイテムが前記1または複数のセンサの前記閾値範囲内で再び移動される時の前記1または複数のスキャナに対する前記アイテムの向きは、前記アイテムが最初の試行中に前記1または複数のセンサの前記閾値範囲内で移動された時の前記アイテムの向きとは異なる、システム。
  5. 請求項2に記載のシステムであって、前記積極的な対策は、
    取得されなかった前記少なくとも1つの識別子を含む前記アイテムの側面を決定し、
    前記アイテムが前記閾値範囲内にある時に、前記1または複数のセンサが前記少なくとも1つの識別子を取得する可能性の増大に対応する前記アイテムの再構成される向きを決定し、
    前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを含み、
    前記アイテムは、前記再構成される向きに少なくとも部分的に基づいて前記閾値範囲内で移動される、システム。
  6. 請求項2に記載のシステムであって、前記積極的な対策は、
    前記アイテムを移動させて、前記アイテムを前記移動先位置にプレースするための更新計画を決定し、
    前記更新計画は、前記アイテムが移動される更新経路を含み、
    前記更新計画に少なくとも部分的に基づいて前記アイテムを移動およびプレースするよう前記ロボット構造を自律的に動作させることを含む、システム。
  7. 請求項6に記載のシステムであって、前記更新計画は、前記アイテムが前記1または複数のセンサの前記閾値範囲内で移動された時に取得されなかった前記少なくとも1つの識別子に少なくとも部分的に基づいて決定される、システム。
  8. 請求項6に記載のシステムであって、前記更新計画は、取得されなかった前記少なくとも1つの識別子を含む前記アイテムの側面と、前記1または複数のセンサの位置とに少なくとも部分的に基づいて決定される、システム。
  9. 請求項1に記載のシステムであって、
    前記1または複数のセンサは、バーコードリーダを含み、
    前記アイテムは、1または複数の識別子を備え、
    前記識別子の内の前記1または複数は、少なくとも1つのバーコードを含む、システム。
  10. 請求項1に記載のシステムであって、
    前記1または複数のセンサは、無線周波数識別(RFID)センサを含み、
    前記アイテムは、1または複数の識別子を備え、
    前記識別子の内の前記1または複数は、RFIDタグを含む、システム。
  11. 請求項1に記載のシステムであって、前記移動元位置から前記移動先位置へ所定の経路に沿って前記アイテムを移動させるよう前記ロボット構造を自律的に動作させることは、
    少なくとも、前記アイテムが1または複数のセンサの閾値範囲内で移動されている時に、前記アイテムを回転させるよう前記ロボット構造を自律的に動作させることを含む、システム。
  12. 請求項1に記載のシステムであって、前記1または複数のセンサの前記閾値範囲は、前記1または複数のセンサの視野に対応する、システム。
  13. 請求項1に記載のシステムであって、前記1または複数のセンサの内の少なくとも1つは、前記ロボット構造に対して固定位置に配置されている、システム。
  14. 請求項13に記載のシステムであって、前記1または複数のセンサの内の前記少なくとも1つは、前記ロボット構造のベースに対して固定位置に配置されている、システム。
  15. 請求項13に記載のシステムであって、前記1または複数のセンサの内の前記少なくとも1つは、前記ロボット構造が取り付けられているキャリッジに対して固定位置に配置されている、システム。
  16. 請求項1に記載のシステムであって、さらに、
    前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得することを含み、
    前記取得することは、
    前記1または複数のセンサの内の少なくとも1つの位置に少なくとも部分的に基づいて前記計画を決定することを含む、システム。
  17. 請求項1に記載のシステムであって、さらに、
    前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得することを含み、
    前記1または複数のセンサの内の少なくとも1つは、前記ロボット構造に対して固定位置に配置されており、
    前記計画は、前記1または複数のセンサの内の前記少なくとも1つの閾値エリアまたは閾値範囲を通して前記アイテムを移動させることに関連する所定のルーチンを実行することを含む、システム。
  18. 方法であって、
    1または複数のプロセッサによって、移動元位置から移動先位置へアイテムを移動させてプレースするための計画を実行することを備え、
    前記計画を実行することは、
    前記移動元位置から前記移動先位置へ所定の経路に沿って前記アイテムを移動させるようロボット構造を自律的に動作させ、
    前記アイテムは、1または複数の識別子を備え、
    前記1または複数の識別子の内の少なくとも1つが1または複数のセンサによって取得されなかったとの判定に応じて、取得されなかった前記少なくとも1つの識別子を前記1または複数のセンサに取得させるために、積極的な対策を実行し、
    前記所定の経路は、前記アイテムが前記移動元位置から前記移動先位置へ移動される経路に対応し、
    前記所定の経路は、前記アイテムが前記所定の経路に沿って移動される間、前記アイテムが前記1または複数のセンサの閾値範囲内で移動されるよう構成され、
    前記計画に少なくとも部分的に基づいて前記移動先位置に前記アイテムをプレースするよう前記ロボット構造を自律的に動作させること、
    を備える、方法。
  19. 請求項18に記載の方法であって、さらに、
    前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得し、
    前記計画に少なくとも部分的に基づいて前記移動元位置から前記アイテムをピックするよう前記ロボット構造を自律的に動作させること、
    を備え、
    前記アイテムは、1または複数の識別子を備え、
    前記移動元位置から前記移動先位置へ前記所定の経路に沿って前記アイテムを移動させるよう前記ロボット構造を自律的に動作させること、
    前記アイテムが前記所定の経路に沿って移動されている時に、前記1または複数のセンサが前記アイテムの前記1または複数の識別子を取得したか否かを判定することを備える、方法。
  20. 請求項19に記載の方法であって、前記積極的な対策を実行することは、
    前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを備え、
    前記ロボット構造は、前記1または複数のスキャナに対する前記アイテムの向きを変化させ、
    前記アイテムが前記1または複数のセンサの前記閾値範囲内で再び移動される時の前記1または複数のスキャナに対する前記アイテムの向きは、前記アイテムが最初の試行中に前記1または複数のセンサの前記閾値範囲内で移動された時の前記アイテムの向きとは異なる、方法。
  21. 請求項19に記載の方法であって、前記積極的な対策を実行することは、
    取得されなかった前記少なくとも1つの識別子を含む前記アイテムの側面を決定し、
    前記アイテムが前記閾値範囲内にある時に、前記1または複数のセンサが前記少なくとも1つの識別子を取得する可能性の増大に対応する前記アイテムの再構成される向きを決定し、
    前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させること、
    を備え、
    前記アイテムは、前記再構成される向きに少なくとも部分的に基づいて前記閾値範囲内で移動される、方法。
  22. 請求項19に記載の方法であって、前記積極的な対策を実行することは、
    前記アイテムを移動させて、前記アイテムを前記移動先位置にプレースするための更新計画を決定し、前記更新計画は、前記アイテムが移動される更新経路を含み、
    前記更新計画に少なくとも部分的に基づいて前記アイテムを移動およびプレースするよう前記ロボット構造を自律的に動作させること、
    を備える、方法。
  23. コンピュータプログラム製品であって、非一時的なコンピュータ読み取り可能媒体内に具現化され、
    1または複数のプロセッサによって、移動元位置から移動先位置へアイテムを移動させてプレースするための計画を実行するためのコンピュータ命令を備え、
    前記計画を実行することは、
    前記移動元位置から前記移動先位置へ所定の経路に沿って前記アイテムを移動させるようロボット構造を自律的に動作させ、
    前記アイテムは、1または複数の識別子を備え、
    前記1または複数の識別子の内の少なくとも1つが1または複数のセンサによって取得されなかったとの判定に応じて、取得されなかった前記少なくとも1つの識別子を前記1または複数のセンサに取得させるために、積極的な対策を実行し、
    前記所定の経路は、前記アイテムが前記移動元位置から前記移動先位置へ移動される経路に対応し、
    前記所定の経路は、前記アイテムが前記所定の経路に沿って移動される間、前記アイテムが前記1または複数のセンサの閾値範囲内で移動されるよう構成されており、
    前記計画に少なくとも部分的に基づいて前記移動先位置に前記アイテムをプレースするよう前記ロボット構造を自律的に動作させることを備える、コンピュータプログラム製品。
  24. 請求項23に記載のコンピュータプログラム製品であって、さらに、
    前記移動元位置から前記移動先位置へ前記アイテムを移動させてプレースするよう前記ロボット構造を動作させるために、前記計画を取得し、
    前記計画に少なくとも部分的に基づいて前記移動元位置から前記アイテムをピックするよう前記ロボット構造を自律的に動作させることを備え、
    前記アイテムは、1または複数の識別子を備え、
    前記移動元位置から前記移動先位置へ前記所定の経路に沿って前記アイテムを移動させるよう前記ロボット構造を自律的に動作させることは、
    前記アイテムが前記所定の経路に沿って移動されている時に、前記1または複数のセンサが前記アイテムの前記1または複数の識別子を取得したか否かを判定することを備える、コンピュータプログラム製品。
  25. 請求項24に記載のコンピュータプログラム製品であって、前記積極的な対策を実行することは、
    前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを備え、
    前記ロボット構造は、前記1または複数のスキャナに対する前記アイテムの向きを変化させ、
    前記アイテムが前記1または複数のセンサの前記閾値範囲内で再び移動される時の前記1または複数のスキャナに対する前記アイテムの向きは、前記アイテムが最初の試行中に前記1または複数のセンサの前記閾値範囲内で移動された時の前記アイテムの向きとは異なる、コンピュータプログラム製品。
  26. 請求項24に記載のコンピュータプログラム製品であって、前記積極的な対策を実行することは、
    取得されなかった前記少なくとも1つの識別子を含む前記アイテムの側面を決定し、
    前記アイテムが前記閾値範囲内にある時に、前記1または複数のセンサが前記少なくとも1つの識別子を取得する可能性の増大に対応する前記アイテムの再構成される向きを決定し、
    前記1または複数のセンサの前記閾値内で前記アイテムを再び移動させるよう前記ロボット構造を自律的に動作させることを備え、
    前記アイテムは、前記再構成される向きに少なくとも部分的に基づいて前記閾値範囲内で移動される、コンピュータプログラム製品。
  27. 請求項24に記載のコンピュータプログラム製品であって、前記積極的な対策を実行することは、
    前記アイテムを移動させて、前記アイテムを前記移動先位置にプレースするための更新計画を決定し、
    前記更新計画は、前記アイテムが移動される更新経路を含み、
    前記更新計画に少なくとも部分的に基づいて前記アイテムを移動およびプレースするよう前記ロボット構造を自律的に動作させることを備える、コンピュータプログラム製品。
JP2023566431A 2021-04-30 2022-04-04 アイテムを識別するためのロボットシステム Pending JP2024517170A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/246,356 2021-04-30
US17/246,356 US11905115B2 (en) 2021-04-30 2021-04-30 Robotic system for identifying items
PCT/US2022/023359 WO2022231786A1 (en) 2021-04-30 2022-04-04 Robotic system for identifying items

Publications (1)

Publication Number Publication Date
JP2024517170A true JP2024517170A (ja) 2024-04-19

Family

ID=83809215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023566431A Pending JP2024517170A (ja) 2021-04-30 2022-04-04 アイテムを識別するためのロボットシステム

Country Status (4)

Country Link
US (2) US11905115B2 (ja)
EP (1) EP4330782A1 (ja)
JP (1) JP2024517170A (ja)
WO (1) WO2022231786A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775699B2 (en) * 2019-05-02 2023-10-03 Dassault Systemes Americas Corp. Extracting grasping cues from tool geometry for digital human models
CN115643800A (zh) * 2021-05-18 2023-01-24 牧今科技 用于物体大小测量的机器人系统
US20230021942A1 (en) * 2021-07-14 2023-01-26 Dassault Systèmes Americas Corp. Environment-aware Prepositioning Of Digital Models In An Environment
CA3191818A1 (en) * 2022-03-04 2023-09-04 Sanctuary Cognitive Systems Corporation Robots, tele-operation systems, computer program products, and methods of operating the same
US20230302636A1 (en) * 2022-03-23 2023-09-28 Mitsubishi Electric Research Laboratories, Inc. Systems and Methods for Flexible Robotic Manipulation by Fast Online Load Estimation
CN117984312A (zh) * 2022-11-06 2024-05-07 姜卫 可智能拆弹方法及拆弹设备
WO2024114921A1 (en) * 2022-12-02 2024-06-06 Abb Schweiz Ag Method and system for load-aware optimization of a trajectory for an industrial robot
US20240181645A1 (en) * 2022-12-05 2024-06-06 Seegrid Corporation Process centric user configurable step framework for composing material flow automation

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3031048B1 (fr) * 2014-12-24 2016-12-30 Solystic Machine de tri postal avec une entree d'alimentation comprenant un bras robotise et un convoyeur a plat incline
FR3032364B1 (fr) * 2015-02-11 2017-01-27 Solystic Installation pour la separation et l'individualisation d'objets postaux heterogenes avec un systeme de vision a sources laser
ES2952517T3 (es) * 2015-09-11 2023-10-31 Berkshire Grey Operating Company Inc Sistemas robóticos y métodos para identificar y procesar diversos objetos
EP3437031A4 (en) * 2016-03-29 2019-11-27 Bossa Nova Robotics IP, Inc. SYSTEM AND METHOD FOR LOCATING, IDENTIFYING AND COUNTING ELEMENTS
US10246258B2 (en) * 2016-10-17 2019-04-02 Amazon Technologies, Inc. Robotic item sortation and optimization along the vertical axis
CN110709868A (zh) 2017-04-07 2020-01-17 思比机器人公司 用于跟踪在商店内的库存水平的方法
AT520958A1 (de) * 2018-03-09 2019-09-15 Tgw Logistics Group Gmbh Robotersystem mit an Warentypen angepassten Bewegungsabläufen und Betriebsverfahren hierfür
US20200095001A1 (en) * 2018-09-26 2020-03-26 Dexterity, Inc. Robotic kitting system
US20200270069A1 (en) * 2019-02-27 2020-08-27 Walmart Apollo, Llc Flexible automated sorting and transport arrangement (fast) robotic arm
WO2020197784A1 (en) * 2019-03-27 2020-10-01 Boston Dynamics, Inc. Robot and method for palletizing boxes
US20200346351A1 (en) * 2019-04-30 2020-11-05 Walmart Apollo, Llc Systems and methods for picking up and transferring items using a robotic device
US10679379B1 (en) * 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US10696493B1 (en) * 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US11020854B2 (en) * 2019-11-05 2021-06-01 Mujin, Inc. Robotic system with wall-based packing mechanism and methods of operating same
FR3115028B1 (fr) * 2020-10-13 2022-10-28 Solystic Equipement pour l’alimentation automatisée en colis d’un convoyeur de tri
WO2023164265A1 (en) * 2022-02-28 2023-08-31 Material Handling Systems, Inc. System and method for transferring parcels
US20230303342A1 (en) * 2022-03-25 2023-09-28 Dexterity, Inc. Robotic induction of heavy objects by pushing

Also Published As

Publication number Publication date
WO2022231786A1 (en) 2022-11-03
TW202246027A (zh) 2022-12-01
US20240140712A1 (en) 2024-05-02
US20220348409A1 (en) 2022-11-03
US11905115B2 (en) 2024-02-20
EP4330782A1 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
US10954081B1 (en) Coordinating multiple robots to meet workflow and avoid conflict
US11905115B2 (en) Robotic system for identifying items
US11633864B2 (en) Polybag gripping suction cup
US11932501B2 (en) Containerized robotic system
TWI833175B (zh) 機器人單分系統、動態單分方法及體現於一非暫時性電腦可讀媒體中之電腦程式產品
US20220315358A1 (en) Robotic singulation system sensor
US20220289501A1 (en) Singulation of arbitrary mixed items
US20220297958A1 (en) Robotic palletization system with variable conveyor height
US20220314460A1 (en) Suction-based end effector with mixed cup sizes
TWI851998B (zh) 用於辨識物件之機器人系統及方法、及體現於一非暫時性電腦可讀媒體中的電腦程式產品
US12083561B2 (en) Correlating information to facilitate automated sortation
US20220315352A1 (en) Kitting shelf machine with self-loading presentation face
TWI849413B (zh) 真空杯、機器人手臂之末端執行器及機器人系統
US20220324658A1 (en) Robotically-controlled structure to regulate item flow
US20230242353A1 (en) Robot informed dynamic parcel inflow gating

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231226