JP2020196118A - 動的パッキング機構を有するロボットシステム - Google Patents

動的パッキング機構を有するロボットシステム Download PDF

Info

Publication number
JP2020196118A
JP2020196118A JP2019170230A JP2019170230A JP2020196118A JP 2020196118 A JP2020196118 A JP 2020196118A JP 2019170230 A JP2019170230 A JP 2019170230A JP 2019170230 A JP2019170230 A JP 2019170230A JP 2020196118 A JP2020196118 A JP 2020196118A
Authority
JP
Japan
Prior art keywords
placement
discretized
robot system
sensor data
height
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.)
Granted
Application number
JP2019170230A
Other languages
English (en)
Other versions
JP6704157B1 (ja
Inventor
ニコラエフ デアンコウ,ロセン
Nikolaev Diankov Rosen
ニコラエフ デアンコウ,ロセン
カヌニコフ,デニス
Kanunikov Denys
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mujin Inc
Original Assignee
Mujin Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mujin Inc filed Critical Mujin Inc
Application granted granted Critical
Publication of JP6704157B1 publication Critical patent/JP6704157B1/ja
Publication of JP2020196118A publication Critical patent/JP2020196118A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B57/00Automatic control, checking, warning, or safety devices
    • B65B57/10Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of articles or materials to be packaged
    • B65B57/14Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of articles or materials to be packaged and operating to control, or stop, the feed of articles or material to be packaged
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B57/00Automatic control, checking, warning, or safety devices
    • 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
    • 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
    • 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
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/74Feeding, transfer, or discharging devices of particular kinds or types
    • B65G47/90Devices for picking-up and depositing articles or materials
    • 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
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/03Stacking of articles by adding to the top of the stack from above
    • 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
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/16Stacking of articles of particular shape
    • B65G57/20Stacking of articles of particular shape three-dimensional, e.g. cubiform, cylindrical
    • B65G57/22Stacking of articles of particular shape three-dimensional, e.g. cubiform, cylindrical in layers each of predetermined arrangement
    • 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
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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
    • B65G2201/00Indexing codes relating to handling devices, e.g. conveyors, characterised by the type of product or load being conveyed or handled
    • B65G2201/02Articles
    • B65G2201/0267Pallets
    • 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
    • B65G2814/00Indexing codes relating to loading or unloading articles or bulk materials
    • B65G2814/03Loading or unloading means
    • B65G2814/0301General arrangements
    • B65G2814/0304Stacking devices
    • B65G2814/0305Adding to the top
    • 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/45Nc applications
    • G05B2219/45048Packaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Vacuum Packaging (AREA)
  • Stacking Of Articles And Auxiliary Devices (AREA)

Abstract

【課題】ロボットは、様々な実世界の要因から生じ得るばらつきまたは不確実性を考慮するための、実行されるアクションにおける制御の粒度および柔軟性を欠いている。【解決手段】ロボットシステムを動作させるための方法は、対象オブジェクトを表す離散化オブジェクトモデルを決定することと、タスク位置を表す離散化台モデルを決定することと、タスク位置を表すリアルタイムセンサデータに基づいて高さ寸法を決定することと、を含む。そして、(1)オブジェクトをタスク位置にスタックするために離散化オブジェクトモデルおよび離散化台モデルを重ねることと、(2)高さ寸法に基づいて重なりに関連する載置スコアを計算することとに基づいて、載置位置を動的に導出する。【選択図】図7

Description

関連出願の相互参照
本出願は、Rosen N.DiankovおよびDenys Kanunikovによる、「A ROBOTIC SYSTEM WITH PACKING MECHANISM」と題された、同時出願された米国特許出願に関する主題を含み、これはMujin,Incに譲渡され、代理人整理番号131837−8005.US01によって識別され、その全体が引用により本明細書に組み込まれている。
本出願は、Rosen N.DiankovおよびDenys Kanunikovによる、「A ROBOTIC SYSTEM WITH ERROR DETECTION AND DYNAMIC PACKING MECHANISM」と題された、同時出願された米国特許出願に関する主題を含み、これはMujin,Incに譲渡され、代理人整理番号131837−8007.US01によって識別され、その全体が引用により本明細書に組み込まれている。
本出願は、Rosen N.DiankovおよびDenys Kanunikovによる、「ROBOTIC SYSTEM FOR PROCESSING PACKAGES ARRIVING OUT OF SEQUENCE」と題された、同時出願された米国特許出願に関する主題を含み、これはMujin,Incに譲渡され、代理人整理番号131837−8008.US01によって識別され、その全体が引用により本明細書に組み込まれている。
本出願は、Rosen N.DiankovおよびDenys Kanunikovによる、「ROBOTIC SYSTEM FOR PALLETIZING PACKAGES USING REAL−TIME PLACEMENT SIMULATION」と題された、同時出願された米国特許出願に関する主題を含み、これはMujin,Incに譲渡され、代理人整理番号131837−8009.US01によって識別され、その全体が引用により本明細書に組み込まれている。
本技術は、一般にはロボットシステムを対象とし、より詳細には、動的な計算に基づいてオブジェクトをパッキングするためのシステム、処理、および技術を対象とする。
向上し続ける性能および低下するコストによって、多くのロボット(たとえば、物理的なアクションを自動的/自律的に実行するように構成される機械)が、現在多くの分野において広く使用されている。ロボットは、たとえば、製造および/または組み立て、パッキングおよび/またはパッケージング、輸送および/または出荷などにおける様々なタスク(たとえば、オブジェクトを操作するまたは空間を通して転置する)を実行するために使用することができる。タスクを実行する際に、ロボットは人間のアクションを再現することによって、危険または反復的なタスクを実行するのに本来必要とされる人間の関与を置き換えるまたは減らすことができる。
しかしながら、技術的進歩にもかかわらず、ロボットはより複雑なタスクを実行するのに必要とされる人間の敏感性および/または順応性を複製するのに必要な精巧さを欠いていることが多い。たとえば、ロボットは、様々な実世界の要因から生じ得るばらつきまたは不確実性を考慮するための、実行されるアクションにおける制御の粒度および柔軟性を欠いていることが多い。したがって、様々な実世界の要因によらずタスクを完了するようにロボットの様々な側面を制御し管理するための改良された技術およびシステムへの必要性が残っている。
動的パッキング機構を有するロボットシステムが動作し得る例示的な環境の図である。 本技術の1つまたは複数の実施形態によるロボットシステムを示すブロック図である。 本技術の1つまたは複数の実施形態による離散化オブジェクトの図である。 本技術の1つまたは複数の実施形態による離散化パッキング台の図である。 本技術の1つまたは複数の実施形態による支持の計算の図である。 本技術の1つまたは複数の実施形態による支持メトリックの図である。 本開示の1つまたは複数の実施形態によるロボットシステムによって実行される例示的な載置を示す上面視である。 本開示の1つまたは複数の実施形態による第1の例示的な進入を示す側面視である。 本開示の1つまたは複数の実施形態による第2の例示的な進入を示す側面視である。 本技術の1つまたは複数の実施形態による図1のロボットシステムを動作させるための流れ図である。
本明細書では、オブジェクト(たとえば、パッケージおよび/またはボックス)を動的にパッキングするためのシステムおよび方法を説明する。いくつかの実施形態に従って構成されるロボットシステム(たとえば、1つまたは複数の指定タスクを実行するデバイスの統合システム)は、オブジェクトについての最適な保管位置を動的に導出し、それに従ってスタックすることによって、パッキングおよび保管効率を向上させる。
従来のシステムは、オフラインパッキングシミュレータを使用して、パッキングシーケンス/配置を事前に決定する。従来のパッキングシミュレータは、所定のまたは推定されるケースのセットに関するオブジェクト情報(たとえば、ケースの形状/サイズ)を処理してパッキングプランを生成する。決定されると、パッキングプランは、目的地(たとえば、パレット、ビン、ケージ、ボックスなど)におけるオブジェクトの具体的な載置位置/姿勢、事前定義された載置のシーケンス、および/または所定のモーションプランを規定および/または要求する。従来のパッキングシミュレータは、所定のパッキングプランから、そのパッキングプランに合致するまたは可能にするソース要件(たとえば、オブジェクトについてのシーケンスおよび/または載置)を導出し得る。パッキングプランは従来のシステムではオフラインで開発されるので、プランは実際のパッキング動作/状況、オブジェクトの到着、および/または他のシステムの実装とは独立している。したがって、全体的な動作/実装では、(たとえば、開始/拾得位置において)受け取ったパッケージが、所定のパッキングプランに合致する固定のシーケンスに従うことが必要になる。したがって、従来のシステムは、リアルタイムの状況および/または受け取ったパッケージのばらつき(たとえば、異なるシーケンス、位置、および/または向き)、予期しないエラー(たとえば、衝突および/または紛失)、リアルタイムのパッキング要求(たとえば、受注)、および/または他のリアルタイム要因に適応することができない。
さらに、従来のシステムは、厳格な所定のプラン/シーケンスに従ってオブジェクトをグループ化し、パッキングするので、ソース位置にある全てのオブジェクトが(1)同一の寸法/タイプを有すること、および/または(2)既知のシーケンスに従って到着することを必要とする。たとえば、従来のシステムでは、オブジェクトが固定のシーケンスに従って(コンベヤなどを介して)拾得位置に到着することが必要となる。また、たとえば、従来のシステムでは、拾得位置にあるオブジェクトが所定の姿勢に従って指定位置に載置されることが必要となる。したがって、従来のシステムでは、所定のシーケンス/配置に従ってオブジェクトをソースに(すなわち、パッキング動作の前に)並べるおよび/または載置するための1つまたは複数の動作が必要である。大抵、従来のシステムは、所定のシーケンス/姿勢に従ってオブジェクトをソースに並べるおよび/または載置するためのシーケンスバッファを必要とし、これは100万USドル以上かかる。
従来のシステムとは対象的に、本明細書に記載のロボットシステムは、システム動作中にオブジェクトの載置位置を動的に(たとえば、オブジェクトが到着したまたは識別されたときに、および/または実際のパッキング動作などの1つまたは複数の動作を最初に開始した後に)導出することができる。いくつかの実施形態では、ロボットシステムはトリガイベント、たとえば、再評価タイミング、パッキング/操作エラー(たとえば、衝突イベントもしくは紛失イベント)、(たとえば、ソースおよび/または目的地において)認識されないオブジェクト、載置済みパッケージの位置/向きの変化、および/または他の動的な条件の発生に基づいて載置の動的な導出を開始/実施することができる。いくつかの実施形態では、ロボットシステムが到着するオブジェクトに関する事前情報を有さない場合、たとえば、事前に知られていないオブジェクトを受け取るために、および/またはランダムな/未知のシーケンスのオブジェクトを受け取るために、載置位置を動的に導出することができる。載置位置を動的に導出する際に、ロボットシステムは、様々なリアルタイムの状況(たとえば、現在存在しているまたは進行中の状況)を利用することができ、これには、たとえば、利用可能な/到着するオブジェクト、オブジェクト特性および/または要件、載置要件、および/または他のリアルタイム要因が含まれる。
ロボットシステムは、離散化メカニズム(たとえば、処理、回路、関数、および/またはルーチン)に基づいて載置位置を導出することができる。たとえば、ロボットシステムは離散化メカニズムを使用して、離散化単位(すなわち、1つの離散エリア/スペース)に従って、オブジェクトおよび/または目標場所の物理的なサイズ/形状を記述することができる。ロボットシステムは、離散化単位を使用して想定オブジェクトを記述する離散化オブジェクトのプロフィール、および/または目標場所(たとえば、パレットの上面および/またはビン/ケース/ボックス内の空間/底面)を記述する離散化された目的地のプロフィールを生成することができる。したがって、ロボットシステムは、連続的な実世界の空間/エリアをコンピュータ読み取り可能なデジタル情報に変換することができる。さらに、離散化データによって、パッケージフットプリントを記述し、様々なパッケージ載置を比較するための計算複雑性を削減することが可能になり得る。たとえば、パッケージ寸法は、実世界の10進数ではなく、離散化単位の整数に対応することができ、これにより数学的計算が容易になる。
いくつかの実施形態では、ロボットシステムは、載置台の離散化セルをチェックして、オブジェクト載置確率を決定することができる。たとえば、ロボットシステムは、載置台に載置されたオブジェクトの深度測定値または高さを使用することができる。ロボットシステムは深度寸法を決定して、離散化セルにおける/離散化セルに応じた高さを決定することができる。ロボットシステムは、載置対象のオブジェクトに対応する離散化セルのグループに従って深度寸法を評価することができる。ロボットシステムは、載置確率を評価するためにグループ内の最大の高さを決定することができる。換言すれば、ロボットシステムは、テストされる載置位置が、載置されるオブジェクトを(たとえば、所定の閾値および/または条件に従って)比較的平坦に載置できるような、十分な支持を提供するか否かを判定することができる。動的な載置の導出に関する詳細については後述する。
したがって、ロボットシステムは、リアルタイムの状況に基づいて、オブジェクトの載置を動的に導出する効率、速度、および精度を向上させることができる。たとえば、本明細書に記載のシステムは、実世界の状況によって、予期される状況に関連する不確実性、および/または予期される状況からの逸脱が与えられる場合に、載置位置を導出することができる。したがって、ロボットシステムは、未知のオブジェクトおよび/またはランダムに到着する(すなわち、既知/所定のシーケンスでない)オブジェクトを受け取り、パッキングすることができる。
さらに、ロボットシステムは、従来のシステムにおいてオブジェクトをソースに並べるまたは載置するためにおよび/またはパッキング動作のために(たとえば、エラー処理のために)必要なはずの1つまたは複数の動作、機械(たとえば、シーケンスバッファ)、および/または人間の支援を無くすことによって、全体のコストを削減することができる。オブジェクトが利用可能になったときに(たとえば、オブジェクトの到着および/またはトリガイベントに基づいて)載置位置を動的に導出することによって、ロボットシステムは、パッケージを再編成または配列する必要性を、関連する機械/人間の動作と共に排除する。
以下の説明では、本開示技術の完全な理解を提供するために、多数の具体的な詳細を記載している。他の実施形態では、本明細書で紹介する技術は、これらの具体的な詳細がなくとも実践することができる。他の例では、よく知られている特徴、たとえば、特定の関数またはルーチンについては、本開示を不必要に不明瞭にしないように、詳細には説明していない。本明細書における「実施形態」、「一実施形態」などへの言及は、説明している特定の特徴、構造、材料、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書におけるそのような文言の出現は、必ずしも全てが同一の実施形態を指すものではない。一方、そのような言及は、必ずしも相互に排他的ではない。さらに、特定の特徴、構造、材料、または特性は、1つまたは複数の実施形態において任意の好適な方法で組み合わせることができる。図面に示す様々な実施形態は説明のための表現にすぎず、必ずしも縮尺通りに描いていないことを理解されたい。
よく知られており、ロボットシステムおよびサブシステムに関連付けられることが多いが、開示した技術のいくつかの重要な側面を不必要に不明瞭にし得る、構造または処理を説明する一部の詳細については、明瞭にするために以下の説明には記載していない。また、以下の開示では本技術の異なる態様のいくつかの実施形態を記載しているが、いくつかの他の実施形態は、このセクションに記載したものとは異なる構成または異なるコンポーネントを有し得る。したがって、開示した技術は、追加の要素を有し、後述の要素の一部を有さない他の実施形態を有し得る。
以下で説明する本開示の多くの実施形態または態様は、プログラム可能コンピュータまたはプロセッサによって実行されるルーチンを含むコンピュータ実行可能命令またはプロセッサ実行可能命令の形態をとり得る。当業者であれば、開示した技術が以下に図示および説明した以外のコンピュータまたはプロセッサシステム上で実践され得ることを理解するであろう。本明細書に記載の技術は、後述のコンピュータ実行可能命令のうちの1つまたは複数を実行するように特別にプログラムされ、構成され、または構築された専用コンピュータまたはデータプロセッサにおいて実施することができる。したがって、本明細書で一般的に使用される「コンピュータ」および「プロセッサ」という用語は、任意のデータプロセッサを指し、インターネット機器およびハンドヘルドデバイス(たとえば、パームトップコンピュータ、ウェアラブルコンピュータ、セルラーまたはモバイル電話、マルチプロセッサシステム、プロセッサベースまたはプログラム可能コンシューマ電子機器、ネットワークコンピュータ、ミニコンピュータなど)を含むことができる。これらのコンピュータおよびプロセッサによって扱われる情報は、任意の好適な表示媒体、たとえば、液晶ディスプレイ(LCD)に提示することができる。コンピュータ実行可能タスクまたはプロセッサ実行可能タスクを実行するための命令は、ハードウェア、ファームウェア、またはハードウェアおよびファームウェアの組合せを含む、任意の好適なコンピュータ可読媒体内に、またはその媒体上に記憶することができる。命令は、たとえば、フラッシュドライブおよび/または他の好適な媒体を含む任意の好適なメモリデバイスに含めることができる。
「結合される」および「接続される」という用語、ならびにこれらの派生形は、本明細書においてコンポーネント間の構造関係を記述するために使用され得る。これらの用語が互いに同義語であることが意図されていないことを理解されたい。むしろ、特定の実施形態では、「接続される」は、2つ以上の要素が互いに直接接していることを示すために使用され得る。文脈において別途明記していない限り、「結合される」という用語は、2つ以上の要素が互いに直接的にもしくは間接的に(間に他の介在要素を介して)接していること、または2つ以上の要素が(たとえば、信号の送受信もしくは関数呼び出しなどのための因果関係のように)互いに協力または相互作用すること、あるいはその両方を示すために使用され得る。
好適な環境
図1は、動的パッキング機構を有するロボットシステム100が動作し得る例示的な環境の図である。ロボットシステム100は、1つまたは複数のタスクを実行するように構成される1つまたは複数のユニット(たとえば、ロボット)を含むおよび/または通信することができる。動的パッキング機構の態様は、様々なユニットによって実践または実装することができる。
図1に示す例では、ロボットシステム100は、倉庫または流通/出荷拠点における、荷下ろしユニット102、転置ユニット104(たとえば、パレタイズロボットおよび/またはピースピッカーロボット)、輸送ユニット106、積載ユニット108、またはこれらの組合せを含むことができる。ロボットシステム100内の各ユニットは、1つまたは複数のタスクを実行するように構成することができる。タスクを順番に組み合わせて目標を達成する動作を行うことができ、たとえば、トラックもしくはバンからオブジェクトを荷下ろしし、倉庫に保管する、または保管位置からオブジェクトを荷下ろしし、出荷準備することができる。いくつかの実施形態では、タスクは、オブジェクトを目標場所に(たとえば、パレットの上、および/またはビン/ケージ/ボックス/ケースの中に)載置することを含むことができる。以下に詳述するように、ロボットシステム100は、オブジェクトを載置および/またはスタックするために、個々の載置位置/向きを導出すること、対応するモーションプランを計算すること、またはこれらの組み合わせを行うことができる。各ユニットは、アクションのシーケンスを実行して(たとえば、その中の1つまたは複数のコンポーネントを動作させて)タスクを実行するように構成することができる。
いくつかの実施形態では、タスクは、開始/ソース位置114からタスク/目的地位置116までの対象オブジェクト112(たとえば、実行しているタスクに対応するパッケージ、ボックス、ケース、ケージ、パレットなどのうちの1つ)の操作(たとえば、移動および/または向き変更)を含むことができる。たとえば、荷下ろしユニット102(たとえば、デバンニングロボット)は、対象オブジェクト112をキャリア(たとえば、トラック)内の位置からコンベヤベルト上の位置に転置するように構成することができる。また、転置ユニット104は、対象オブジェクト112をある位置(たとえば、コンベヤベルト、パレット、またはビン)から他の位置(たとえば、パレット、ビンなど)に転置するように構成することができる。他の例では、転置ユニット104(たとえば、パレタイズロボット)は、対象オブジェクト112をソース位置(たとえば、パレット、拾得エリア、および/またはコンベヤ)から目的地パレットに転置するように構成することができる。動作を完了する際に、輸送ユニット106は、対象オブジェクト112を転置ユニット104に関連付けられたエリアから積載ユニット108に関連付けられたエリアに転置することができ、積載ユニット108は、対象オブジェクト112を(たとえば、対象オブジェクト112を運ぶパレットを移動させることによって)転置ユニット104から保管位置(たとえば、棚上の位置)に転置することができる。タスクおよび関連するアクションに関する詳細については後述する。
例示の目的で、ロボットシステム100は出荷センターの状況で説明しているが、ロボットシステム100は、他の環境/他の目的での、たとえば、製造、組み立て、パッケージング、ヘルスケア、および/または他のタイプの自動化のためのタスクを実行するように構成できることを理解されたい。また、ロボットシステム100は、図1に示していない他のユニット、たとえば、マニピュレータ、サービスロボット、モジュール式ロボットなどを含むことができることも理解されたい。たとえば、いくつかの実施形態では、ロボットシステム100は、オブジェクトをケージカートまたはパレットからコンベヤまたは他のパレット上に転置するためのデパレタイズユニット、あるコンテナから他のコンテナにオブジェクトを転置するためのコンテナ切替ユニット、オブジェクトを包装するためのパッケージングユニット、オブジェクトをそれらの1つまたは複数の特性に応じてグループ化するためのソーティングユニット、オブジェクトをそれらの1つまたは複数の特性に応じて異なって操作するための(たとえば、ソートする、グループ化する、および/または転置するための)ピースピッキングユニット、あるいはこれらの組合せを含むことができる。
好適なシステム
図2は、本技術の1つまたは複数の実施形態によるロボットシステム100を示すブロック図である。いくつかの実施形態では、たとえば、ロボットシステム100は(たとえば、上述のユニットおよび/またはロボットのうちの1つまたは複数において)、電子/電気デバイス、たとえば、1つまたは複数のプロセッサ202、1つまたは複数の記憶デバイス204、1つまたは複数の通信デバイス206、1つまたは複数の入出力デバイス208、1つまたは複数のアクチュエーションデバイス212、1つまたは複数の輸送モータ214、1つまたは複数のセンサ216、あるいはこれらの組合せを含むことができる。様々なデバイスは、有線接続および/または無線接続を介して互いに結合することができる。たとえば、ロボットシステム100は、たとえば、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バスもしくはPCI−Expressバス、ハイパートランスポートもしくは業界標準アーキテクチャ(ISA)バス、スモールコンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、または電気電子技術者協会(IEEE)標準1394バス(「Firewire」とも呼ばれる)などのバスを含むことができる。また、たとえば、ロボットシステム100は、ブリッジ、アダプタ、プロセッサ、またはデバイス間に有線接続を提供するための他の信号関連デバイスを含むことができる。無線接続は、たとえば、セルラー通信プロトコル(たとえば、3G、4G、LTE、5Gなど)、無線ローカルエリアネットワーク(LAN)プロトコル(たとえば、ワイヤレスフィディリティ(Wi−Fi))、ピアツーピアもしくはデバイスツーデバイス通信プロトコル(たとえば、Bluetooth(登録商標)、近距離無線通信(NFC)など)、モノのインターネット(IoT)プロトコル(たとえば、NB−IoT、LTE−Mなど)、および/または他の無線通信プロトコルに基づくことができる。
プロセッサ202は、記憶デバイス204(たとえば、コンピュータメモリ)に記憶された命令(たとえばソフトウェア命令)を実行するように構成されるデータプロセッサ(たとえば、中央処理装置(CPU)、専用コンピュータ、および/またはオンボードサーバ)を含むことができる。いくつかの実施形態では、プロセッサ202は、図2に示す他の電子/電気デバイスおよび/または図1に示すロボットユニットに動作可能に結合される独立した/スタンドアローンのコントローラに含めることができる。プロセッサ202は、他のデバイスを制御して/インターフェースをとって、ロボットシステム100にアクション、タスク、および/または動作を実行させるプログラム命令を実施することができる。
記憶デバイス204は、プログラム命令(たとえば、ソフトウェア)が記憶された非一時的コンピュータ可読媒体を含むことができる。記憶デバイス204のいくつかの例は、揮発性メモリ(たとえば、キャッシュおよび/またはランダムアクセスメモリ(RAM))、および/または不揮発性メモリ(たとえば、フラッシュメモリおよび/または磁気ディスクドライブ)を含むことができる。記憶デバイス204の他の例は、ポータブルメモリおよび/またはクラウド記憶デバイスを含むことができる。
いくつかの実施形態では、記憶デバイス204を使用して、さらに処理結果および/または所定のデータ/閾値を記憶し、これらへのアクセスを提供することができる。たとえば、記憶デバイス204は、ロボットシステム100によって操作され得るオブジェクト(たとえば、ボックス、ケース、および/または製品)の説明を含むマスターデータ252を記憶することができる。1つまたは複数の実施形態では、マスターデータ252は、ロボットシステム100によって操作されると想定されるオブジェクトについての寸法、形状(たとえば、可能な姿勢についてのテンプレートおよび/または異なる姿勢のオブジェクトを認識するためのコンピュータ生成モデル)、色彩設計、画像、識別情報(たとえば、バーコード、クイックレスポンス(QR)コード(登録商標)、ロゴなど、および/またはその想定位置)、想定重量、他の物理的/視覚的特性、あるいはこれらの組合せを含むことができる。いくつかの実施形態では、マスターデータ252は、オブジェクトに関する操作関連情報、たとえば、各オブジェクトの重心(CoM)位置、1つまたは複数のアクション/手順に対応する想定されるセンサ測定値(たとえば、力、トルク、圧力、および/または接触測定値に関するもの)、あるいはこれらの組合せを含むことができる。また、たとえば、記憶デバイス204はオブジェクト追跡データ254を記憶することができる。いくつかの実施形態では、オブジェクト追跡データ254は、スキャンまたは操作されるオブジェクトのログを含むことができる。いくつかの実施形態では、オブジェクト追跡データ254は、1つまたは複数の位置(たとえば、指定された拾得位置または降下位置および/またはコンベヤベルト)におけるオブジェクトの撮像データ(たとえば、写真、点群、ライブビデオフィードなど)を含むことができる。いくつかの実施形態では、オブジェクト追跡データ254は、1つまたは複数の位置におけるオブジェクトの位置および/または向きを含むことができる。
通信デバイス206は、ネットワークを介して外部または遠隔のデバイスと通信するように構成される回路を含むことができる。たとえば、通信デバイス206は、受信器、送信器、変調器/復調器(モデム)、信号検出器、信号符号化器/復号器、コネクタポート、ネットワークカードなどを含むことができる。通信デバイス206は、1つまたは複数の通信プロトコル(たとえば、インターネットプロトコロル(IP)、無線通信プロトコルなど)に従って電気信号を送信、受信、および/または処理するように構成することができる。いくつかの実施形態では、ロボットシステム100は通信デバイス206を使用して、ロボットシステム100のユニット間で情報を交換する、および/または(たとえば、報告、データ収集、分析、および/またはトラブルシューティングの目的で)ロボットシステム100の外部のシステムまたはデバイスと情報を交換することができる。
入出力デバイス208は、人間のオペレータとの間で情報を伝達および/または受信するように構成されるユーザインターフェースデバイスを含むことができる。たとえば、入出力デバイス208は、情報を人間のオペレータに伝達するためのディスプレイ210および/または他の出力デバイス(たとえば、スピーカー、ハプティックス回路、または触覚フィードバックデバイスなど)を含むことができる。また、入出力デバイス208は、制御デバイスまたは受信デバイス、たとえば、キーボード、マウス、タッチスクリーン、マイクロフォン、ユーザインターフェース(UI)センサ(たとえば、モーションコマンドを受信するためのカメラ)、ウェアラブル入力デバイスなどを含むことができる。いくつかの実施形態では、ロボットシステム100は、入出力デバイス208を使用して、アクション、タスク、動作、またはこれらの組合せを実行する際に人間のオペレータと対話することができる。
ロボットシステム100は、動き(たとえば、回転変位および/または並進変位)のために関節において接続された物理的な部材または構造部材(たとえば、ロボット式マニピュレータアーム)を含むことができる。構造部材および関節は、ロボットシステム100の用途/動作に応じて1つまたは複数のタスク(たとえば、把持、回転、接合など)を実行するように構成されるエンドエフェクタ(たとえば、グリッパ)を操作するように構成される運動連鎖を形成することができる。ロボットシステム100は、対応する関節周りでまたはその位置で構造部材を駆動または操作する(たとえば、変位させるおよび/または向き変更する)ように構成されるアクチュエーションデバイス212(たとえば、モータ、アクチュエータ、ワイヤ、人工筋肉、電気活性ポリマーなど)を含むことができる。いくつかの実施形態では、ロボットシステム100は、対応するユニット/シャーシをある場所から他の場所へ輸送するように構成される輸送モータ214を含むことができる。
ロボットシステム100は、たとえば、構造部材を操作するおよび/またはロボットユニットを輸送するためのタスクを実施するために使用される情報を取得するように構成されるセンサ216を含むことができる。センサ216は、ロボットシステム100の1つまたは複数の物理的な特性(たとえば、1つまたは複数の構造部材/その関節の状態、条件、および/または位置)、および/または周辺環境を検出または測定するように構成されるデバイスを含むことができる。センサ216のいくつかの例は、加速度計、ジャイロスコープ、力センサ、ひずみゲージ、触覚センサ、トルクセンサ、位置エンコーダなどを含むことができる。
いくつかの実施形態では、たとえば、センサ216は、周辺環境を検出するように構成される1つまたは複数の撮像デバイス222(たとえば、視覚および/または赤外線カメラ、2Dおよび/または3D撮像カメラ、距離測定デバイス、たとえば、ライダーまたはレーダーなど)を含むことができる。撮像デバイス222は、マシン/コンピュータビジョン(たとえば、自動検査、ロボット案内、または他のロボットアプリケーションのためのもの)を介して処理され得るデジタル画像および/または点群などの、検出された環境の表現を生成することができる。以下でより詳細に説明するように、ロボットシステム100は(たとえば、プロセッサ202を介して)デジタル画像および/または点群を処理して、図1の対象オブジェクト112、図1の開始位置114、図1のタスク位置116、対象オブジェクト112の姿勢、開始位置114および/または姿勢に関する信頼基準、あるいはこれらの組合せを識別することができる。
対象オブジェクト112を操作するために、ロボットシステム100は(たとえば、上述の様々な回路/デバイスを介して)、指定領域(たとえば、トラック内またはコンベヤベルト上などの拾得位置)の画像データを撮影し分析して、対象オブジェクト112およびその開始位置114を識別することができる。同様に、ロボットシステム100は、他の指定領域(たとえば、オブジェクトをコンベヤ上に載置するための降下位置、オブジェクトをコンテナ内に載置するための位置、またはスタッキング目的のパレット上の位置)の画像データを撮影し分析して、タスク位置116を識別することができる。たとえば、撮像デバイス222は、拾得エリアの画像データを生成するように構成される1つまたは複数のカメラ、および/またはタスクエリア(たとえば、降下エリア)の画像データを生成するように構成される1つまたは複数のカメラを含むことができる。画像データに基づいて、後述のように、ロボットシステム100は、開始位置114、タスク位置116、関連する姿勢、パッキング/載置位置、および/または他の処理結果を決定することができる。動的パッキングアルゴリズムに関する詳細については後述する。
いくつかの実施形態では、たとえば、センサ216は、構造部材(たとえば、ロボットアームおよび/またはエンドエフェクタ)および/またはロボットシステム100の対応する関節の位置を検出するように構成される位置センサ224(たとえば、位置エンコーダ、電位差計など)を含むことができる。ロボットシステム100は、位置センサ224を使用して、タスクの実行中に構造部材および/または関節の位置および/または向きを追跡することができる。
離散化モデル
図3Aおよび図3Bは、本技術の1つまたは複数の実施形態による、オブジェクトについて計画し、パッキングするのに使用される離散化データの図である。図3Aは離散化オブジェクトを示し、図3Bはオブジェクトのパッキングのための離散化パッキング台を示す。
いくつかの実施形態では、図1のロボットシステム100は、図2のマスターデータ252に記憶された想定オブジェクトの所定の離散化モデル/表現を含むことができる。いくつかの実施形態では、ロボットシステム100は(たとえば、図2のプロセッサ202を介して)、実世界のオブジェクト(たとえば、パッケージ、パレット、および/またはタスクに関連する他のオブジェクト)の連続面/エッジを離散的な対応物(たとえば、単位長さおよび/または単位面積)にマッピングすることによって、離散化モデルを動的に生成することができる。たとえば、ロボットシステム100は、図2の1つまたは複数の撮像デバイス222によって撮影された対象オブジェクト112および/またはパレット上面の画像データ(たとえば、上面視画像および/または点群データ)を離散化することができる。換言すれば、ロボットシステム100は、図1の開始位置114、コンベヤ上の開始位置114の前の位置、および/または図1のタスク位置116の画像データを離散化することができる。ロボットシステム100は、画像データ内のオブジェクト/パレットの外周を識別し、次いで外周内のエリアを単位寸法/面積に従って分割することに基づいて、離散化することができる。いくつかの実施形態では、単位寸法/面積は、座標配列および/または所定の調整係数/式に従って、撮像デバイス222に対するオブジェクト/パレットのサイズおよび/または位置に基づいてスケーリングまたは画像データにマッピングすることができる。
図3Aに示すように、ロボットシステム100のいくつかの実施形態は、離散化オブジェクトモデル302を使用して、オブジェクト(たとえば、対象オブジェクト112)の載置位置を計画する/導出することができる。離散化オブジェクトモデル302(点線で図示)は、離散化単位(たとえば、単位長さ)に従って、到着または到来するオブジェクト(たとえば、パッケージ、ボックス、ケースなど)についての外観の物理的な寸法、形状、エッジ、面、またはこれらの組合せ(破線で図示)を表現することができる。離散化オブジェクトモデル302は、上述のように撮像および離散化された想定される/既知のオブジェクトおよび/または想定外/未知のオブジェクトを表現することができる。
図3Bに示すように、ロボットシステム100のいくつかの実施形態は、1つまたは複数の離散化台モデル304(たとえば、図1のタスク位置116の離散化表現)を使用して、オブジェクトのスタッキング載置を計画する/導出することができる。離散化台モデル304は、離散化単位に従って載置エリア340(たとえば、タスク位置116の上面、その上に載置されたパッケージの上面、またはこれらの組み合わせなどの、タスク位置116の物理的な寸法、形状、またはこれらの組み合わせ)を表現することができる。1つまたは複数の実施形態では、離散化台モデル304は、リアルタイムの更新などを介して、載置エリア340のリアルタイムの状況を表現することができる。たとえば、上面視に関して、離散化台モデル304は、オブジェクトを受け取り、これに直接接触するパレットの上面、ビンまたはボックスの内部底面などを最初に表現することができる。ロボットシステム100がオブジェクトを載置すると、載置エリア340は(たとえば、パッケージをスタックするために)載置されたパッケージの上面を含むように変化することができ、変化を反映するように離散化台モデル304を更新することができる。
いくつかの実施形態では、離散化台モデル304は、1つまたは複数の標準サイズのパレット(たとえば、1.1m×1.1mのパレット)の上面視に基づくことができる。したがって、離散化台モデル304は、ロボットシステム100よって利用されるグリッド方式に従う、水平面(たとえば、x−y平面)に沿った載置エリアのピクセル化された2D表現に対応することができる。いくつかの実施形態では、離散化オブジェクトモデル302は、想定されるまたは到着するオブジェクトについての上面視(たとえば、x−y平面)を含むことができる。したがって、離散化オブジェクトモデル302は、オブジェクトのピクセル化された2D表現に対応することができる。
離散化モデルを生成するために使用される離散化単位は、システムオペレータ、システム設計者、所定の入力/設定、注文、またはこれらの組合せによって設定される長さを含むことができる。いくつかの実施形態では、ロボットシステム100は、単位ピクセル310(たとえば、離散化単位に従う1つまたは複数の次元を有するポリゴン、たとえば、四角形)を使用して、対象オブジェクトのエリア/面を(たとえば、離散化オブジェクトモデル302を介して)記述し、荷台/面を(たとえば、離散化台モデル304を介して)記述することができる。したがって、ロボットシステム100は、x−y軸に沿って2Dでオブジェクトおよび荷台をピクセル化することができる。いくつかの実施形態では、単位ピクセル310(たとえば、離散化単位)のサイズは、オブジェクトの寸法および/または荷台の寸法に応じて変化することができる。また、単位ピクセル310のサイズを(たとえば、事前設定されたルール/式、および/またはオペレータ選択を介して)調整して、必要とされるリソース(たとえば、計算時間、必要メモリなど)をパッキング精度とバランスさせることができる。たとえば、単位ピクセル310のサイズが減少すると、計算時間およびパッキング精度が増加することができる。したがって、調整可能である単位ピクセル310を使用してパッキングタスク(たとえば、対象パッケージおよびパッキング台)を離散化することによって、パッケージをパレタイズするための柔軟性が向上する。ロボットシステム100は、リアルタイムの要求、パターン、および/または環境に応じて、計算資源/時間とパッキング精度とのバランスを制御することができる。
いくつかの実施形態では、ロボットシステム100は、離散化オブジェクトモデル302について、オブジェクトと部分的にしか重ならない単位ピクセル310のインスタンスを含めることによって、単位ピクセル310がオブジェクトの実際の周縁を超えて広がるようにすることができる。他の実施形態では、ロボットシステム100は、単位ピクセル310の部分的に重なるインスタンスを離散化台モデル304から除外することによって、離散化オブジェクトモデル302内の単位ピクセル310が台表面の実際の周縁に覆われるおよび/または内側に含まれるようにすることができる。
説明用の例として、図3Aに、対象オブジェクト112を表す離散化オブジェクトモデルの第1のモデルの向き332および第2のモデルの向き334を示す。いくつかの実施形態では、ロボットシステム100は、離散化モデルの1つ(すなわち、第1のモデルの向き332として撮影/記憶されたもの)を撮像された平面に沿って所定量回転させることができる。図3Aに示すように、ロボットシステム100は、垂直軸(図の平面に対して内外または垂直に伸びる軸)の周りを、水平面(たとえば、x軸およびy軸に沿って表される面)に沿って、離散化オブジェクトモデル302を90度回転させて、第2のモデルの向き334を得ることができる。ロボットシステム100は異なる向きを使用して、オブジェクトの対応する載置をテスト/評価することができる。
離散化データ/表現に基づいて、ロボットシステム100は、対象オブジェクト112についての載置位置350を動的に導出することができる。図3Bに示すように、ロボットシステム100は、1つまたは複数のオブジェクト(たとえば、図3Bにて斜線で塗りつぶされたオブジェクトとして図示)が載置エリア340に載置された後であっても、載置位置350を動的に導出することができる。また、載置位置350の動的な導出は、対象オブジェクト112が荷下ろし/棚下ろし、登録、スキャン、撮像、またはこれらの組み合わせがなされた後/なされている間に、行うことができる。たとえば、ロボットシステム100は、対象オブジェクト112が(たとえば、コンベヤを介して)輸送されているとき、図2の撮像デバイス222が対象オブジェクト112の画像データを生成した後、またはこれらの組み合わせにおいて、載置位置350を動的に導出することができる。
オブジェクトの載置位置350を動的に導出することによって柔軟性が向上し、出荷/パッケージング環境に関する人間の労働が減少する。ロボットシステム100は、オブジェクトおよびパレット(すなわち、載置済みオブジェクトを含む)の離散化されたリアルタイムの画像/深度マップを使用して、様々な載置位置および/または向きをテストおよび評価することができる。したがって、ロボットシステム100は、オブジェクトが認識可能でない場合(たとえば、新たな/想定外のオブジェクトおよび/またはコンピュータビジョンのエラーの場合)、オブジェクトの到着シーケンス/順序が未知である場合、および/または想定外のイベント(たとえば、紛失イベントおよび/または衝突イベント)が発生した場合であっても、人間のオペレータの介入なしに依然としてオブジェクトをパッキングすることができる。
例示の目的で、載置位置350は図3Bにおいて、載置済みオブジェクトに隣接する(すなわち、同一の水平レイヤ上に/同一の高さで載置される)、たとえば、パレットのすぐ上に/接触するものとして示している。しかしながら、載置位置350は載置済みオブジェクトの上でもよいことは理解されたい。換言すれば、ロボットシステム100は、既にパレット上にある1つまたは複数のオブジェクトの上方および/または上に対象オブジェクト112をスタックするための載置位置350を導出することができる。以下で詳述するように、ロボットシステム100は、オブジェクトが載置済みオブジェクトの上にスタックされる場合に十分に支持されるように、載置位置350を導出する際に載置済みオブジェクトの高さを評価することができる。
いくつかの実施形態では、ロボットシステム100は、載置位置350を導出する際にオブジェクトエッジ362を識別することができる。オブジェクトエッジ362は、パレットに載置済みのオブジェクトのエッジおよび/または辺を表す画像データ内の線を含むことができる。いくつかの実施形態では、オブジェクトエッジ362は、露出している(たとえば、他のオブジェクト/エッジに直接接触/隣接していない)エッジに対応することによって、タスク位置116に載置されたオブジェクト(たとえば、オブジェクトのレイヤ)のうちの1つまたはグループの外周を画定することができる。
以下でさらに詳述するように、ロボットシステム100は、載置ルール、条件、パラメータ、要件などのセットに従って載置位置350を導出することができる。いくつかの実施形態では、ロボットシステム100は、1つまたは複数の候補位置360を評価/テストすることに基づいて、載置位置350を導出することができる。候補位置360は、離散化台モデル304上に様々な位置および/向きで重ねられる離散化オブジェクトモデル302に対応することができる。したがって、候補位置360は、オブジェクトエッジ362のうちの1つまたは複数に隣接して対象オブジェクト112を載置し得ること、および/または載置済みオブジェクトのうちの1つまたは複数の上に対象オブジェクト112をスタックし得ることを含むことができる。ロボットシステム100は様々なパラメータ/条件、たとえば、支持度合い/条件、支持しているオブジェクトの脆性レーティングと対比した支持重量(たとえば、上にスタックされるパッケージなどについての最大支持重量)、スペース/パッキング関連事項、またはこれらの組合せに従って各候補位置360を評価することができる。ロボットシステム100は1つまたは複数の載置ルール、たとえば、無衝突要件、スタック安定性、顧客指定のルール/優先度、パッケージ離間要件もしくはその欠如、総積載パッケージの最大化、またはこれらの組合せを使用して候補位置360をさらに評価することができる。
リアルタイムの載置面の更新
図4Aおよび図4Bに、本技術の1つまたは複数の実施形態による、支持の計算および支持メトリックの様々な態様を示す。いくつかの実施形態では、図4Aに示すように、図1のロボットシステム100は、図1の対象オブジェクト112の図3Aの離散化オブジェクトモデル302を図1のタスク位置116の離散化台モデル304に重ねることに基づいて、図3Bの候補位置360を生成することができる。さらに、ロボットシステム100は、候補位置360を生成する際に、離散化台モデル304の至るところに離散化オブジェクトモデル302を反復的に移動させることができる。たとえば、ロボットシステム100は、1つまたは複数の向き(たとえば、図3Aの第1のモデルの向きおよび/または図3Aの第2のモデルの向き334)に従って離散化台モデル304の所定の初期位置(たとえば、コーナー)に対応する離散化オブジェクトモデル302を載置することによって、候補位置360の最初のインスタンスを生成することができる。候補位置360の次のインスタンスについて、ロボットシステム100は、他の/次のオブジェクトに対応する離散化オブジェクトモデル302を、所定の方向/パターンに従って所定の距離(たとえば、図3Bの1つまたは複数の単位ピクセル310)だけ移動させることができる。
候補位置360がタスク位置116に載置済みの1つまたは複数のオブジェクトに重なる場合、ロボットシステム100は、載置済みオブジェクトによって提供される支持の度合いを計算し評価することができる。支持の度合いを計算し評価するために、ロボットシステム100は、図2の撮像デバイス222のうちの1つまたは複数を使用してリアルタイムに図3Bの載置エリア340についての高さ/輪郭を決定することができる。いくつかの実施形態では、ロボットシステム100は、タスク位置116の上方に配置された撮像デバイス222のうちの1つまたは複数のからの深度寸法(たとえば、点群値)を使用することができる。いくつかの実施形態では、ロボットシステム100は、地面および/または台(たとえば、パレット)表面の垂直位置に対応する所定の高さ/位置の値、たとえば、施設地面上方の台表面の高さを有することができる。いくつかの実施形態では、ロボットシステム100は、深度寸法を使用して、台、載置されたオブジェクト、またはこれらの組み合わせの露出した上面(複数可)の高さ/輪郭を計算することができる。いくつかの実施形態では、ロボットシステム100は、タスク位置116を撮像し、露出した上面(複数可)の高さをリアリタイムに、たとえば、オブジェクトを台まで転置し、および/または台に載置した後に、更新することができる。
いくつかの実施形態では、図4Aに示すように、ロボットシステム100は、高さ寸法402を含むように離散化台モデル304を更新することができる。ロボットシステム100は、離散化台モデル304内の各離散化ピクセル(たとえば、単位ピクセル310)に従って高さ寸法402を決定することができる。たとえば、ロボットシステム100は、対応する単位ピクセル310によって表される載置エリア340の表面部分についての最大の高さとして、高さ寸法を決定することができる。
載置済みオブジェクトのうちの1つまたは複数に重なる各候補位置360について、ロボットシステム100は、高さ寸法402に基づいて載置確率を評価することができる。いくつかの実施形態では、ロボットシステム100は、各候補位置360において重なる高さ寸法402の最大値を特定することに基づいて、載置確率を評価することができる。ロボットシステム100は、高さ寸法402のうちの最大寸法に対して差分閾値の限度内の高さ寸法402を有する各候補位置360に位置する他の高さ寸法402をさらに特定することができる。適格なセル/ピクセルは、スタックされたオブジェクトが基本的に平坦/水平になるように、スタックされたオブジェクトに対して支持を提供することができる位置を表すことができる。
図4Aに示すように、候補位置360の1つ目(離散化台モデル304の左上角)について、最大の高さ寸法は0.3(すなわち、300ミリメートル(mm)の高さ)とすることができる。0.02(たとえば、20mmを表す)として事前決定された差分閾値では、ロボットシステム100は、上の4つの離散化セル/ピクセルを、差分閾値を満たすものとして識別することができる。ロボットシステム100は、識別された/適格なセル/ピクセルを使用して、支持の度合いを評価/表現することができる。
図4Bに、支持の計算のさらなる例を示す。図4Bに、離散化オブジェクトモデル302(実線の太い輪郭で図示)が離散化台モデル304の左上角に重ねられた、図3の候補位置360のうちの1つを示す。ロボットシステム100は、候補位置360を評価するのに使用されるパラメータである様々な支持パラメータ410を計算/利用することができる。たとえば、支持パラメータ410は、離散化寸法412、重なり面積414、高さ差分閾値416、支持閾値418、最大高さ420、高さ下限422、適格数424、支持エリア輪郭426のセット、支持エリアサイズ428、支持比430、重心(CoM)位置432、またはこれらの組み合わせを含むことができる。
離散化寸法412は、図3Aの単位ピクセル310に応じた図1の対象オブジェクト112の物理的な寸法(たとえば、長さ、幅、高さ、外周など)を記述することができる。たとえば、離散化寸法412は、離散化オブジェクトモデル302の周縁を形成する単位ピクセル310の数量を含むことができる。重なり面積414は、対象オブジェクト112によって占有される面積(たとえば、水平面に沿ったフットプリントサイズ)を記述することができ、これは単位ピクセル310に従って同様に表現することができる。換言すれば、重なり面積414は、離散化オブジェクトモデル302内の単位ピクセル310の数量に対応することができる。図4Bに示す例では、対象オブジェクト112は6ピクセル×7ピクセルの離散化寸法412を有することができ、これは42ピクセルの重なり面積414に対応する。
高さ差分閾値416および支持閾値418は、候補位置360を処理および/または検証するために使用される限度に対応することができる。高さ差分閾値416は、オペレータおよび/または注文によって事前決定および/または調整できるものであるが、上に載置されたパッケージに接触するおよび/またはパッケージを支持するために、他の基準の高さ(たとえば、離散化オブジェクトモデル302が重なるエリア内の高さ寸法402のうちの最大のインスタンスに対応する最大高さ420)から許容できる偏差を表すことができる。換言すれば、高さ差分閾値416は、上に載置されたパッケージに接触するおよび/または支持することができる面の高さの範囲を定義するために使用することができる。したがって、最大高さ420に対して、高さ下限422は、スタックされたパッケージに対して支持を提供することができる重なり面積414内の高さの下限に対応することができる。図4Bに示す例では、高さ差分閾値416は0.02とすることができる。最大高さ420が0.2である場合、高さ下限は0.18とすることができる。したがって、対象オブジェクト112を候補位置360に載置する際、ロボットシステム100は、0.18より大きい高さを有する面/ピクセルが対象オブジェクト112に接触するおよび/または支持を提供すると推定することができる。
したがって、1つまたは複数の実施形態では、ロボットシステム100は、高さ差分閾値416に応じて重なり面積414内の単位ピクセル310をカテゴリ化することができる。たとえば、ロボットシステム100は、高さ差分閾値416を満たす高さ(すなわち、高さ下限422以上の値)を有する単位ピクセル310を、支持位置422(たとえば、図4Bにおいて影付きのピクセルで表された、オブジェクトを上にスタックすることが可能な面を表す単位ピクセル310のグループ)としてカテゴリ化することができる。ロボットシステム100は、他の単位ピクセル310を、不適格位置444(たとえば、高さ下限422未満の高さを有するピクセル)としてカテゴリ化することができる。
支持閾値418は、支持位置442の十分性に基づいて候補位置360を評価するための限度を表すことができる。たとえば、支持閾値418は、支持位置442に関連する量、比、面積、位置、またはこれらの組み合わせを評価するためのものとすることができる。いくつかの実施形態では、支持閾値418は、候補位置360についての適格数424(たとえば、支持位置442の合計)が対象オブジェクト112を支持するのに十分であるか否かを判定するために使用することができる。
1つまたは複数の実施形態では、支持閾値418は、支持位置442に関連する支持エリア(たとえば、高さ閾値によって決定することができる、上にスタックされたオブジェクトに支持を提供することができる単位ピクセル360)を評価するために使用することができる。たとえば、ロボットシステム100は、不適格位置444をまたぐまたはその周囲に伸びるエッジを伸ばすおよび/または線を決定することによって、支持位置442の最も外側の/外周のインスタンスのコーナーをつなぐことに基づいて、支持エリア輪郭426を決定することができる。このようにして、支持エリア輪郭426は、不適格位置444を除外することができる。したがって、支持エリア輪郭426は、支持位置442の外周インスタンスに基づいて支持エリアの外周を画定することができる。支持エリア輪郭426は不適格位置444をまたぐおよび/または含むことができるので、支持エリアサイズ428(たとえば、支持エリア内の単位ピクセル310の数量)は、適格数424より大きくすることができる。したがって、支持エリアサイズ428は実質的に、支持が提供される最も外側のエッジ/コーナー間の間隔を表す。より広い支持が好ましいので(たとえば、突出を減らすおよび/または安定性を向上させるために、支持エリア輪郭426の部分がオブジェクトの重なり面積414より大きい場合)、支持閾値418は、(たとえば、支持エリア輪郭426を評価するための)支持エリア内の単位ピクセル310の最小数に対応することができ、それによって、支持が提供される最も外側のエッジ/コーナー間の間隔を効果的に評価することができる。
いくつかの実施形態では、支持閾値418は支持比430を評価するためのものとすることができ、支持比430は、適格数424および/または支持エリアサイズ428を重なり面積414と比較することに基づいて計算することができる。たとえば、支持比430は、水平安定性、支持重量濃度、またはこれらの組み合わせを表現するために、適格数424と重なり面積414との比を含むことができる。また、支持比430は、対象オブジェクト112の下の支持エッジ/コーナー間の相対幅を表すために、支持エリアサイズ428と重なり面積414との比を含むことができる。
さらに、ロボットシステム100は、対象オブジェクト112のCoM位置432に基づいて候補位置360をさらに評価することができる。いくつかの実施形態では、ロボットシステム100は、図2のマスターデータ252から対象オブジェクト112のCoM位置432にアクセスする、および/または対象オブジェクト112を把持するおよび/または持ち上げることに基づいてCoM位置432を動的に推定することができる。アクセス/推定されると、ロボットシステム100は、CoM位置432を支持エリア輪郭426と比較することができる。ロボットシステム100は、候補位置360がCoM位置432を支持エリア輪郭426内に含むように要求し、そのような要件を満たさない候補位置360を排除する/不適格とみなすことができる。1つまたは複数の実施形態では、ロボットシステム100は、CoM位置432と支持エリア輪郭426との間の(たとえば、x軸および/またはy軸に沿った)離間距離に基づいて、載置スコアを計算し評価することができる。
ロボットシステム100は、支持パラメータ410を使用して制約/要件を評価することができる。たとえば、ロボットシステム100は、支持閾値418、CoM位置閾値(たとえば、CoM位置432を支持エリア輪郭426内に含む要求)、および/または他のスタッキングルールを満たさない候補位置を排除する/不適格とみなすことができる。また、ロボットシステム100は、支持パラメータ410を使用して、所定の重みおよび/または式に従って、候補位置360(たとえば、制約を満たす位置)についての載置スコアを計算することができる。以下で詳述するように、ロボットシステム100は、計算された載置スコアを使用して、所定の設定(たとえば、重み/式によって反映されるもの)に従って候補位置360をランク付けすることができる。
オブジェクト載置動作
図5は、本開示の1つまたは複数の実施形態によるロボットシステム100によって実行される例示的な載置を示す上面視である。いくつかの実施形態では、ロボットシステム100は、開始位置114から対象オブジェクト112を転置し、タスク位置116における導出された載置位置350に載置するように構成されるロボットアーム502(たとえば、パレタイズロボットなどの、図1の転置ユニット104の一部)を含むおよび/またはこれと通信することができる。たとえば、ロボットシステム100は、コンベヤ上の指定位置/部分から対象オブジェクト112を把持および拾得し、対象オブジェクト112をパレットに載置するようにロボットアーム502を動作させることができる。
ロボットシステム100は、たとえば、対象オブジェクト112が設備および/または開始位置114に到着したときに、および/またはパッキング動作などの1つまたは複数の動作を最初に開始した後に、載置位置350を動的に導出することができる。ロボットシステム100は1つまたは複数の不確実性要因、たとえば、パッキングプラン(たとえば、タスク位置116における、対象オブジェクト112を含むオブジェクトのセットについて導出された載置位置350を表すためのプラン)の欠如、到着オブジェクトのエラー(たとえば、オブジェクトが想定される/既知のオブジェクトまたはシーケンスと一致しない場合)、またはこれらの組み合わせに基づいて、またはこれらを考慮して、載置位置350を動的に導出することができる。ロボットシステム100は、たとえば、載置済みオブジェクト508(たとえば、パレット上の認識できないおよび/または想定外のパッケージ)、および/または載置済みオブジェクト508のうちの1つまたは複数のずれによる、目的地における1つまたは複数の不確実性に基づいて、またはこれらを考慮して、載置位置350を動的に導出することもできる。
いくつかの実施形態では、ロボットシステム100は、図2のセンサ216(たとえば、図2の撮像デバイス222)のうちの1つまたは複数を介して動的に収集されるデータ(たとえば、画像データおよび/または測定データ)に基づいて、載置位置350を動的に導出することができる。たとえば、ロボットシステム100は、開始位置114および/または到来経路(たとえば、コンベヤ)の上方に配置されたソースセンサ504(たとえば、3Dカメラ)を含むおよび/またはこれと通信することができる。ロボットシステム100は、ソースセンサ504からのデータを使用して、図3Aの離散化オブジェクトモデル302を生成するおよび/または離散化オブジェクトモデル302にアクセスすることができる。1つまたは複数の実施形態では、ロボットシステム100は、ソースセンサ504を使用して、オブジェクトを撮像する、および/またはオブジェクトの1つまたは複数の寸法を測定することができる。ロボットシステム100は、画像および/または測定値を図2のマスターデータ252と比較して、到来オブジェクトを識別することができる。識別に基づいて、ロボットシステム100は、オブジェクトに関連する離散化オブジェクトモデル302にアクセスすることができる。1つまたは複数の実施形態では、ロボットシステム100は、上述のように単位ピクセル310に従って画像/寸法を分割することに基づいて、離散化オブジェクトモデル302を動的に生成することができる。
また、ロボットシステム100は、タスク位置116の上方に配置された目的地センサ506(たとえば、3Dカメラ)を含むおよび/またはこれと通信することができる。ロボットシステム100は、目的地センサ506からのデータを使用して、図3Bの離散化台モデル304を決定し、動的に更新することができる。1つまたは複数の実施形態では、ロボットシステム100は、載置エリア(たとえば、パレットなどのタスク位置116)を撮像する、および/またはその1つまたは複数の寸法を測定することができる。ロボットシステム100は、画像および/または測定値を使用して、離散化オブジェクトモデル302について上述したのと同様に、離散化台モデル304を識別し、離散化台モデル304にアクセスし、および/または離散化台モデル304を生成することができる。さらに、ロボットシステム100は、目的地センサ506からのデータ(たとえば、深度マップ)を使用して図4Aの高さ寸法402を決定することができる。したがって、ロボットシステム100は、高さ寸法402を使用して、載置エリア340および離散化台モデル304をリアルタイムに更新することができる。たとえば、ロボットシステム100は、載置済みオブジェクト508に応じて、たとえば、対象オブジェクト112を載置位置350に載置した後に、高さ寸法402を更新することができる。
ロボットシステム100は、対象オブジェクト112を図3Bの載置位置350および/または各候補位置360に転置するための進入経路510を導出することができる。進入経路510は、開始位置114から対応する候補位置360まで空間を横切って対象オブジェクト112を操作する/転置するためのモーションプランに対応することができる。進入経路510は、水平および/または垂直方向に伸びる3Dのものとすることができる。
進入経路の評価
図6Aおよび図6Bは、本開示の1つまたは複数の実施形態による図1の対象オブジェクト112を載置するための例示的な進入を示す側面視である。図6Aおよび図6Bに、対象オブジェクト112をタスク位置116(たとえば、パレット)上の載置済みオブジェクト508のうちの1つの上の図3Bの対応する候補位置360に載置するための図5の進入経路510を示す。
図1のロボットシステム100は、F−1からF−5までの破線のボックスで図示した進入単位602に基づいて、進入経路510を導出することができる。進入単位602は、対応する進入経路510に沿った3D空間内の対象オブジェクト112の順次位置を含むことができる。換言すれば、進入単位602は、対応する進入経路510をたどるための対象オブジェクト112のサンプル位置に対応することができる。進入単位602は、対応する進入経路510の経路セグメント604に従って位置調整することができる。経路セグメント604は、進入経路510における直線セグメント/方向に対応することができる。経路セグメント604は、対象オブジェクト112を対応する候補位置360に載置するための最終セグメント606を含むことができる。最終セグメント606は、垂直(たとえば、下向き)方向を含むことができる。
進入経路510を導出するために、ロボットシステム100は、障害物610(たとえば、対象オブジェクト112を候補位置360に載置する場合の潜在的な障害物など)になり得る載置済みオブジェクト508のいずれかを識別することができる。1つまたは複数の実施形態では、ロボットシステム100は、潜在的な障害物(複数可)610を、開始位置114と対応する候補位置360とをつなぐ水平ライン611(たとえば、x−y平面に沿った直線)と重なる載置済みオブジェクト508のインスタンス(複数可)として識別することができる。ロボットシステム100は、たとえば、水平ラインと並行かつ重なるレーンであって、対象オブジェクト112の1つまたは複数の寸法(たとえば、幅、長さ、および/または高さ)に基づく幅を有するレーンを導出することに基づいて、潜在的な障害物(複数可)610を、水平ライン付近に導出されたレーン613と重なる載置済みオブジェクト508のインスタンス(複数可)として、さらに識別することができる。図6Aおよび図6Bに示すように、開始位置114は、候補位置360の右側とすることができる。したがって、ロボットシステム100は、右側の載置済みオブジェクトを潜在的な障害物610として識別することができる。
いくつかの実施形態では、ロボットシステム100は、図4Aの高さ寸法402に基づいて潜在的な障害物610を検証することができる。たとえば、ロボットシステム100は、候補位置360以上の高さ寸法402のうちの1つまたは複数によって、潜在的な障害物610を検証/識別することができる。ロボットシステム100は、候補位置360未満の高さ寸法402を有する載置済みオブジェクト508を潜在的な障害物610として排除することができる。1つまたは複数の実施形態では、ロボットシステム100は、候補位置360の高さおよび/または潜在的な障害物610の高さに関連する曖昧さに基づいて、潜在的な障害物610を識別/排除することができる。
いくつかの実施形態では、ロボットシステム100は、進入経路510を逆順で導出することができ、たとえば、候補位置360から開始して図5の開始位置114で終了することができる。したがって、ロボットシステム100は、潜在的な障害物610を回避するように、最終セグメント606を最初に(たとえば、他のセグメントより前に)導出することができる。たとえば、ロボットシステム100は、進入単位602の高さを所定の距離だけ反復的に増加させることに基づいて、進入単位602を決定することができる(たとえば、最初に「F−1」、次に「F−2」、など)。反復ごとに、ロボットシステム100は、決定済みの進入単位602(たとえば、底面/そのエッジ)と、潜在的な障害物610(たとえば、上面/そのエッジ)との間のベクトル612を計算し分析することができる。ロボットシステム100は、決定済みの進入単位602が潜在的な障害物610の上方にあり、および/または間隙閾値614(たとえば、対象オブジェクト112と潜在的な障害物610との接触または衝突を回避するための、潜在的な障害物610の最高点の上方の対象オブジェクト112に対する最小垂直間隔に関する要件)だけ離れて潜在的な障害物610を飛び越えることをベクトル612が示すまで、進入単位602の高さを増加させ続けることができる。決定済みの進入単位602が間隙閾値614を満たす場合、または次の反復について、ロボットシステム100は、対応する進入単位602を水平方向に沿って(たとえば、開始位置114へ向けて)所定の距離だけ調整することができる。したがって、ロボットシステム100は、候補位置360と、間隙閾値614を満たした進入単位602とに基づいて、最終セグメント606および/または後続の経路セグメント604を導出して、進入経路510を導出することができる。
導出されると、ロボットシステム100は、進入経路510を使用して、対応する候補位置360を評価することができる。いくつかの実施形態では、ロボットシステム100は、進入経路510に応じて載置スコアを計算することができる。たとえば、ロボットシステム100は、最終/垂直セグメント606についてのより短い長さ/距離のための設定(たとえば、所定の載置設定に対応する1つまたは複数の重みに応じたもの)に応じて、載置スコアを計算することができる。したがって、図6Aおよび図6Bの進入経路510を比較する際に、ロボットシステム100は、最終/垂直セグメント606の長さがより短い、図6Bに示す経路を優先することができる。1つまたは複数の実施形態では、ロボットシステム100は、候補位置360を排除するまたは不適格とみなすために使用される進入経路510(たとえば、最終/垂直セグメント606についてのもの)に関連する上限などの制約を含むことができる。
いくつかの実施形態では、ロボットシステム100は、他の衝突/障害関連パラメータに従って対応する候補位置360をさらに評価することができる。たとえば、ロボットシステム100は、候補位置360と、載置済みオブジェクト508のうちの1つまたは複数との間の水平間隔616に応じて候補位置360を評価することができる。各水平間隔616は、対応する候補位置360と、載置済みオブジェクト508の隣接するインスタンスとの間の、水平方向(たとえば、x−y平面)に沿った距離(たとえば、最短距離)とすることができる。ロボットシステム100は、進入経路510について上述したのと同様に、水平間隔616に基づいて候補位置360についての載置スコアを計算することができる。また、ロボットシステム100は、水平間隔616が最小要件を満たさない場合などに、水平間隔616に基づいて候補位置360を排除するまたは不適格とみなすことができる。載置スコアの計算および/または候補位置360を排除するための制約に関する詳細については後述する。
動作フロー
図7は、本技術の1つまたは複数の実施形態による、図1のロボットシステム100を動作させる方法700についての流れ図である。方法700は、図1の対象オブジェクト112を載置するための、図1のタスク位置116上の図3Bの載置位置350を動的に導出するためのものとすることができる。方法700は、図2の記憶デバイス204のうちの1つまたは複数に記憶された命令を、図2のプロセッサ202のうちの1つまたは複数によって実行することに基づいて、実施することができる。
ブロック702において、ロボットシステム100は、リアルタイムパッケージング状況を特定することができる。たとえば、ブロック732に示すように、ロボットシステム100は、到来オブジェクトおよび/または図1のタスク位置116をリアルタイムに分析することができる。ロボットシステム100は、図2のセンサ216からセンサデータを受信し分析することができる。いくつかの実施形態では、ロボットシステム100は、図1の開始位置114にあるまたは近づいている図1の対象オブジェクト112を表すソースセンサデータを(たとえば、図5のソースセンサ504から)受信し、分析することができる。また、ロボットシステム100は、タスク位置116および/またはその上の図5の載置済みオブジェクト508に関連する載置エリア(たとえば、その上の図3Bの載置エリア340)を表す目的地センサデータを(たとえば、図5の目的地センサ506から)受信し、分析することができる。
いくつかの実施形態では、ブロック734に示すように、ロボットシステム100は、センサデータを分析して、1つまたは複数の不確実性要因を決定することができる。たとえば、ロボットシステム100は、センサデータを、対象オブジェクト112を含む到来オブジェクトについての載置位置を指定する、(たとえば、オフライン計算および/または該当設備におけるリアルタイム計算を介して)導出済みのパッキングプランと比較することができる。したがって、不確実性のいくつかのインスタンスは、センサデータおよびパッキングプランまたは関連する到着シーケンスの不一致に基づくことができる。
不確実性についてセンサデータを分析する際に、ブロック736に示すように、ロボットシステム100は、センサデータ(たとえば、画像および/または深度マップ)を処理して、エッジを識別/推定することができる。たとえば、ロボットシステム100は、Sobelフィルタなどを使用して、センサデータを処理することによって、対象オブジェクト112、タスク位置116、載置済みオブジェクト508、またはこれらの組み合わせのエッジを認識することができる。ロボットシステム100は、エッジを使用して、別々のオブジェクトを表すエリアおよび/またはそれらの寸法を特定することができる。
場合によっては、不一致は、ソースセンサデータを図2のマスターデータ252、パッキングプランに関連するアクセス/到着シーケンス、またはこれらの組み合わせと比較した結果生じるソース照合誤差を含むことができる。ソース照合誤差は、たとえば、到来オブジェクトを誤識別したこと(たとえば、ソースセンサデータがパッキングプランおよび/またはマスターデータ252内のいかなるオブジェクトにも対応しない場合)、および/または到来オブジェクトが順不同であり、パッキングプランについて想定される到着/アクセスシーケンスと一致しないことから生じ得る。また、不一致は、目的地センサデータをパッキングプランと比較した結果生じる目的地照合誤差を含むことができる。目的地照合誤差は、たとえば、載置済みオブジェクト508のうちの1つまたは複数が、パッケージのずれなどによって、予期しない(すなわち、パッキングプランに一致しない)位置にあることにより生じ得る。他の例としては、タスク位置116のコンテナが、パッケージを受け取るために十分に開いていない、および/または到着時に想定外のアイテムが入っていることを挙げることができる。
1つまたは複数の実施形態では、ロボットシステム100は、さらなるトリガに基づいて不確実性を判定することができる。たとえば、ロボットシステム100は、パッキングプランの欠如に基づいて不確実性を判定することができる。また、たとえば、ロボットシステム100は、動作ステータスまたはイベント、たとえば、衝突イベント(たとえば、ロボットユニットおよび/またはオブジェクトが衝突した場合)、オブジェクト紛失イベント(たとえば、オブジェクトが輸送/操作中に落下した場合)、オブジェクトずれイベント(たとえば、オブジェクトが載置後にずれた場合)、またはこれらの組み合わせに基づいて、不確実性を判定することができる。以下でより詳細に説明するように、ロボットシステム100は、不確実性に応答して、および/またはこれを補償するために、対象オブジェクト112についての図3の載置位置350を動的に導出することができる。
ブロック704において、ロボットシステム100は、到来パッケージ(対象オブジェクトなどを含む)および/またはタスク位置116、たとえばパレットおよび/またはケージを表す、離散化モデル(たとえば、図3Aの離散化オブジェクトモデル302および/または図3Bの離散化台モデル304)を生成および/またはそれらにアクセスすることができる。
ロボットシステム100は、リアルタイムのセンサデータ(たとえば、ソースセンサデータおよび/または目的地センサデータ)に基づいて、離散化モデル(たとえば、離散化オブジェクトモデル302および/または離散化台モデル304)を決定する(たとえば、生成するおよび/またはアクセスする)ことができる。いくつかの実施形態では、ロボットシステム100は、ソースセンサデータに基づいて対象オブジェクト112などのオブジェクトのオブジェクトタイプ(たとえば、到来オブジェクトの識別情報またはカテゴリ)を特定することができる。ロボットシステム100は、上述のように不確実性についてチェックする際に、マスターデータ252を検索して、撮像された表面をオブジェクトタイプに対応する表面画像と照合することができる。いくつかの実施形態では、ロボットシステム100は、不確実性についてチェックする際に、センサデータ(たとえば、ソースセンサデータ)に基づいて、検知されたオブジェクト(たとえば、到来オブジェクト、対象オブジェクト112、パレット、ケージなど)の1つまたは複数の寸法または長さを推定することもできる。ロボットシステム100は、識別情報を使用して、図2の記憶デバイス、および/または他のデバイス(たとえば、図2の通信デバイス206を介してアクセスされるパッケージ供給元の記憶デバイス、データベース、および/またはサーバ)に記憶された離散化モデルにアクセスすることができる。たとえば、ロボットシステム100は、識別情報(たとえば、表面画像および/または推定寸法)を使用してマスターデータ252を検索することによって、一致する離散化モデルを発見し、アクセスすることができる。
いくつかの実施形態では、ロボットシステム100は、リアルタイムに、たとえば、ソースセンサデータの受信および/または不確実性の判定に直ちに応答して、離散化モデルを生成することができる。離散化モデルを動的に生成するために、ロボットシステム100は、センサデータおよび/または対応する物理的な寸法(たとえば、到来オブジェクト、パレット上面などのもの)を図3Bの単位ピクセル310に応じて分割することができる。換言すれば、ロボットシステム100は、対応するセンサデータに応じて、対象オブジェクト112および/またはタスク位置116を表すエリアに単位ピクセル310を重ねることに基づいて、離散化モデルを生成することができる。単位ピクセル310は、(たとえば、製造業者、注文した顧客、および/またはオペレータによって)、たとえば、1mmもしくは1/16インチ(in)またはそれ以上(たとえば、5mmもしくは20mm)など、事前に決定することができる。いくつかの実施形態では、単位ピクセル310は、パッケージのうちの1つまたは複数および/または台の寸法またはサイズに基づくことができる(たとえば、割合または分数)。
ブロック706において、ロボットシステム100は、対象オブジェクト112をタスク位置116に/上方に載置するための候補位置のセット(たとえば、図3Bの候補位置360)を導出することができる。ロボットシステム100は、対象オブジェクト112の離散化オブジェクトモデル302を離散化台モデル304上に、タスク位置116内/上方の対応する位置に重ねることに基づいて、候補位置360を導出することができる。候補位置360は、水平面に沿った、離散化台モデル304上方/内の離散化オブジェクトモデル302の位置に対応することができる。ロボットシステム100は、載置済みオブジェクト508に重なるおよび/または隣接する候補位置360を導出することができる。
いくつかの実施形態では、ロボットシステム100は、初期載置位置を決定することに基づいて(たとえば、候補位置360のインスタンスの所定の位置、たとえば、載置エリアの指定されたコーナー)、離散化オブジェクトモデル302の位置を反復的に決定することができる。ロボットシステム100は、次の候補位置360を導出するための所定の方向、反復にわたる候補位置360間の離間要件、載置を規定するルール/条件、候補位置360の総数の制限、それらの1つまたは複数のパターン、またはこれらの組み合わせに従って、後続の候補位置360を決定することができる。さらに、ロボットシステム100は、載置済みオブジェクト508に対する候補位置360を決定するための設定および/またはルールのセットを含むことができる。たとえば、ロボットシステム100は、離散化オブジェクトモデル302が載置済みオブジェクト508の1つまたは複数のエッジ、および/または載置エリア340の周囲境界/周縁に隣接または当接する候補位置360を決定するための(たとえば、他のほとんどのタイプ/カテゴリの候補位置360よりも早く機能を実行するための)設定を使用して構成することができる。また、ロボットシステム100は、離散化オブジェクトモデル302が載置済みオブジェクト508の上にあり、オブジェクトのうちの1つに収まり、および/またはオブジェクトの1つまたは複数のエッジと重なる候補位置360を決定するための設定を使用して構成することができる。
ロボットシステム100は、離散化オブジェクトモデル302を載置するための所定のルール、パターン、制限、および/またはシーケンスに従って、候補位置360を導出することができる。たとえば、ロボットシステム100は、たとえば、載置済みオブジェクト508の最も外側のエッジに隣接する、および/または所定の距離制限内にあるオブジェクトエッジについての設定に基づいて、候補位置360を導出することができる。また、ロボットシステム100は、たとえば、離散化オブジェクトモデル302がパレット、ケージなどの境界/エッジに最も近いまたは当接する載置エリア340の外側のエッジ/境界に対する設定に基づいて、候補位置360を導出することができる。また、ロボットシステム100は、載置済みオブジェクト508に重なる候補位置360を導出することができる。
ブロック708において、ロボットシステム100は、3Dスタッキングの評価などのために、図3Bの載置エリア340のリアルタイムの状況を決定/更新することができる。たとえば、ロボットシステム100は、目的地センサデータを使用して、図4の高さ寸法402を決定することができる。ロボットシステム100は、目的地センサデータから導出された深度寸法、ならびにタスク位置116および/またはセンサの既知の高さを使用して、タスク位置116における上面(複数可)の高さを計算することができる。ロボットシステム100は、計算された高さを離散化台モデル304内の単位ピクセル310と照合し、単位ピクセル310内の計算された最大の高さを対応する高さ寸法402として割り当てることができる。いくつかの実施形態では、ロボットシステム100は、候補位置360内の離散化オブジェクトモデル302が重なる単位ピクセル310についての高さ寸法402を決定することができる。
ブロック710において、ロボットシステム100は、候補位置360を評価することができる。いくつかの実施形態では、ロボットシステム100は、リアルタイムの状況、処理結果、所定のルールおよび/またはパラメータ、またはこれらの組み合わせに従って、候補位置360を評価することができる。たとえば、ロボットシステム100は、対応する載置スコアを計算すること、候補位置360を検証する/適格とみなすこと、またはこれらの組み合わせに基づいて、候補位置360を評価することができる。
ブロック742において、ロボットシステム100は、各候補位置360についての載置スコアを計算することができる。ロボットシステム100は、載置条件のうちの1つまたは複数に従って載置スコアを計算することができる。たとえば、ロボットシステム100は、(たとえば、乗数の重みを介した)載置設定および/または式を使用して、パッケージ間の離間距離、水平に隣接するパッケージについてのパッケージ寸法/脆性レーティング/パッケージ重量の差、(たとえば、図5の進入経路510またはその特性、および/または図6の水平間隔616に基づく)衝突確率、同じ高さの連続面/隣接面、その統計結果(たとえば、平均、最大、最小、標準偏差など)、またはこれらの組み合わせについての設定を記述することができる。載置設定の他の例としては、結果の高さ、近接度、エッジ−載置ステータス、最大支持可能重量、オブジェクトタイプ、支持重量比、またはこれらの組み合わせを挙げることができる。したがって、いくつかの実施形態では、ロボットシステム100は、より低い最大高さのための、載置済みオブジェクトの境界または載置台のエッジ付近に対象オブジェクト112を載置するための、隣接するオブジェクトの高さおよび/または最大支持可能重量の差を最小化するための、対象オブジェクト112が重なるオブジェクトについての支持重量と最大支持可能重量との比を低下させるための、隣接するオブジェクトのオブジェクトタイプを一致させるための、またはこれらの組み合わせのための設定を表す処理の重み/乗数を含むことができる。各載置位置は、システム製造業者、注文、および/またはシステムオペレータによって事前定義される選好係数および/または式に従ってスコア付けすることができる。
いくつかの実施形態では、たとえば、ロボットシステム100は、候補位置360についての支持度合いに基づいて載置スコアを計算することができる。ロボットシステム100は、少なくとも部分的に高さ寸法402に基づいて、候補位置360のうちの1つまたは複数についての(たとえば、オブジェクトをスタックする際の)支持量を計算することができる。説明用の例として、ロボットシステム100は、各候補位置360についての図4Bの最大高さ420を特定することに基づいて、支持量を計算することができる。図4Bの最大高さ420および高さ差分閾値416に基づいて、ロボットシステム100は、各候補位置360についての図4Bの高さ下限422を計算することができる。ロボットシステム100は、候補位置360の高さ寸法402を対応する高さ下限422と比較して、各候補位置360についての図4Bの支持位置442を特定することができる。ロボットシステム100は、対応する支持位置442の図4Bの適格数424に基づいて、各候補位置360についての載置スコアを計算することができる。
1つまたは複数の実施形態では、ロボットシステム100は、候補位置360についての図4Bの支持エリア輪郭426を導出することに基づいて載置スコアを計算することができる。上述のように、ロボットシステム100は、対応する位置における支持位置442のうちの最も外側の/外周のインスタンスの外側のエッジを伸ばす、および/またはコーナーをつなぐことに基づいて、各候補位置360についての支持エリア輪郭426のセットを導出することができる。支持位置442に基づいて、ロボットシステム100は、載置スコアを計算するために、図4Bの支持エリアサイズ428および/または図4Bの支持比430を決定することができる。また、ロボットシステム100は、CoM位置432と支持エリア輪郭426との間の最小離間距離を計算することができる。ロボットシステム100は、支持エリアサイズ428、支持比430、最小離間距離、対応する選好重み、またはこれらの組み合わせを使用して、対応する候補位置についての載置スコアを計算することができる。
1つまたは複数の実施形態では、ロボットシステム100は、上述のように候補位置360についての進入経路510を導出することに基づいて、載置スコアを計算することができる。ロボットシステム100は、図6の最終セグメント606(たとえば、その長さ)、図6の1つまたは複数の経路セグメント604の数量/長さ、またはこれらの組み合わせに応じて、各候補位置360についての載置スコアを計算することができる。いくつかの実施形態では、ロボットシステム100は、候補位置360についての図6の水平間隔616に基づいて、載置スコアを計算することができる。
いくつかの実施形態では、ブロック744に示すように、ロボットシステム100は、候補位置360を適格とみなすことができる。ロボットシステム100は、1つまたは複数の載置制約に従って候補位置360の検証済みセットを動的に導出することに基づいて、候補位置360を適格とみなすことができる。検証済みセットを導出する際に、ロボットシステム100は、少なくとも部分的に高さ寸法402に関連する載置制約のうちの1つまたは複数に違反するまたは満たさない候補位置360のインスタンスを排除するまたは不適格とみなすことができる。1つまたは複数の実施形態では、ロボットシステム100は、まず検証済みセットを導出し、次いで検証済みセットについての載置スコアを計算することができる。1つまたは複数の実施形態では、ロボットシステム100は、載置スコアの計算と同時に検証済みセットを導出することができる。
1つまたは複数の実施形態では、載置制約は、適格数424、支持エリア輪郭426のセット、支持エリアサイズ428、支持比430、CoM位置432、進入経路510、水平間隔616、またはこれらの組み合わせを、閾値(たとえば、図4Bの支持閾値418)または要件と比較することに関連するものとすることができる。たとえば、ロボットシステム100は、適格数424、支持エリアサイズ428、および/または支持比430が対応する閾値を満たす/超える位置を含むように、検証済みセットを導出することができる。また、ロボットシステム100は、CoM位置432が支持エリア輪郭426内にある/囲まれる、および/または支持エリア輪郭426から最小離間距離を満たす位置を含むように、検証済みセットを導出することができる。また、ロボットシステム100は、進入経路510(たとえば、その中の最終セグメント606)が最大長さ閾値を満たす、および/または水平間隔616が最小閾値を満たす位置を含むように、検証済みセットを導出することができる。
ブロック712において、ロボットシステム100は、対象オブジェクト112をタスク位置116の上方/上に載置するための載置位置350を動的に導出することができる。ロボットシステム100は、検証済みセット内の位置または候補位置360のうちの1つを載置スコアに応じて選択することに基づいて、載置位置350を動的に導出することができる。いくつかの実施形態では、ロボットシステム100は、ヒープ構造を使用して候補位置360を追跡することができる。したがって、ロボットシステム100は、位置が上述の制約に違反する場合に、ヒープ構造からその位置を除去することができる。さらに、ロボットシステム100は、追跡位置を対応する載置スコアに応じて配列するまたはランク付けすることができる。いくつかの実施形態では、ロボットシステム100は、載置スコアまたはそのスコアの反復的な更新が計算されているときに、追跡位置を継続的に配列することができる。結果として、ロボットシステム100は、スコア計算が終了した場合に、ヒープ構造内の指定位置(たとえば、最初のスロット)における位置を載置位置350として選択することができる。
ブロック714において、ロボットシステム100は、対象オブジェクト112を導出された載置位置350に載置することができる。対象オブジェクト112を載置位置350に載置する際に、ロボットシステム100の1つまたは複数のコンポーネント/デバイスは、他のコンポーネント/デバイスと通信するおよび/または動作させることができる。たとえば、プロセッサ202および/またはスタンドアローンコントローラ(たとえば、倉庫/出荷センターの制御デバイスなど)のうちの1つまたは複数は、たとえば、載置位置350、対応するモーションプラン、図2のアクチュエーションデバイス212および/または図2の輸送モータ214を動作させるためのコマンドのセットおよび/または設定、またはこれらの組み合わせなどの情報を他のコンポーネント/デバイスに送信することができる。他のコンポーネント/デバイス、たとえば、プロセッサ202の他のインスタンス、および/または図5のロボットアーム502、アクチュエーションデバイス212、輸送モータ214、および/または他の外部デバイス/システムは、その情報を受信し、対応する機能を実行して、対象オブジェクト112を操作し(たとえば、把持および拾得し、空間を介して転置および/または向き変更し、目的地に載置し、および/または解放し)、載置位置に載置することができる。
いくつかの実施形態では、ロボットシステム100は、対象オブジェクト112を載置した後に、リアルタイムパッケージング状況を更新するまたは再識別することができる。換言すれば、ブロック714に続いて、制御フローはブロック702に移動することができる。したがって、ロボットシステム100は、次の到来オブジェクトを対象オブジェクト112として更新/識別することができる。ロボットシステム100は、最近載置されたオブジェクトを含むように、載置エリア340および/またはその上の載置済みオブジェクト508に関する情報を更新することもできる。他の実施形態では、ロボットシステム100は、対象オブジェクト112を載置した後に、パッキングプランを再計算または調整し、および/またはパッキングプランに従って再開することができる。
上述のタスクの離散化および2D/3Dレイヤ化によって、オブジェクトをパッキングする効率、速度、および精度が向上する。したがって、オペレータ入力の削減および精度の向上によって、自動化パッキング処理に関する人間の労力をさらに減少させることができる。一部の環境では、上述のロボットシステム100は、約100万USドルまたはそれ以上のコストがかかり得る配列バッファの必要性を排除することができる。
さらに、(たとえば、センサデータおよび他のステータス/データによって表現される)リアルタイムの状況に応じて載置位置350を動的に計算することによって、動作エラーが削減される。上述のように、ロボットシステムは、人間の介入を必要とせずに、想定外の状況/イベントによって導入される不確実性を考慮し、解決することができる。また、上述の実施形態は、オブジェクトが開始位置114に到着したときに載置位置350を動的に導出することなどによって、事前に存在するパッキングプランなしでオブジェクトを3Dでスタックすることができる。2Dの動的パッキング(すなわち、オブジェクトを単一のレイヤとして台に直接載置するもの)に限定される従来のシステムと比較して、高さを考慮することによって、上述の実施形態は、オブジェクトを互いの上にスタックし、パッキング密度を向上させることが可能になる。
結論
開示した技術の実施例の上記の詳細な説明は、網羅的なものではなく、開示した技術を上記で開示した厳密な形に限定するものでもない。開示した技術の具体例を例示の目的で上述しているが、当業者であれば理解するように、開示した技術の範囲内で様々な等価な修正が可能である。たとえば、処理またはブロックを所与の順序で提示しているが、代替的な実施態様は異なる順序のステップを有するルーチンを実行してもよく、または異なる順序のブロックを有するシステムを採用してもよく、一部の処理またはブロックを削除、移動、追加、細分化、結合、および/または修正して、代替的な組み合わせまたは部分的な組み合わせを提供してもよい。これらの処理またはブロックのそれぞれは、種々の異なる方法で実施されてもよい。また、処理またはブロックは順番に実行されるように示している場合があるが、これらの処理またはブロックは代わりに並列に実行または実施されてもよく、または異なる時刻に実行されてもよい。さらに、本明細書に記載の任意の特定の数字は例にすぎず、代替的な実施態様は異なる値または範囲を採用してもよい。
これらのおよび他の変更は、上記の詳細な説明に照らして、開示した技術に対して行うことができる。詳細な説明では、開示した技術の特定の例だけでなく、企図される最良の形態を説明しているが、上記の説明が文中でどれほど詳細に見えても、開示した技術は多くの方法で実践することができる。システムの詳細はその特定の実施態様において大幅に異なってもよく、本明細書で開示した技術によってなおも包含される。上述のように、開示した技術の特定の特徴または態様を説明する際に使用される特定の用語は、その用語が関連する開示した技術の任意の特定の特性、特徴、または態様に限定されるようにその用語が本明細書で再定義されることを意味するよう解釈されるべきではない。したがって、本発明は、添付の特許請求の範囲を除いて、限定されない。一般に、以下の特許請求の範囲で使用される用語は、上記の詳細な説明のセクションがそのような用語を明確に定義していない限り、開示した技術を本明細書で開示した具体例に限定するように解釈されるべきではない。
本発明の特定の態様を特定の請求項の形式で以下に提示するが、出願人は本発明の様々な態様を任意数の請求項の形式で企図している。したがって、出願人は、本出願または継続出願において、そのような追加の請求項の形式を追求するために本出願を提出した後に追加の請求を追求する権利を留保している。

Claims (20)

  1. ロボットシステムを動作させる方法であって、
    ソース位置にあるまたは前記ソース位置に近づいている対象オブジェクトを表すソースセンサデータを受信することと、
    前記ソースセンサデータに基づいて離散化オブジェクトモデルを決定することであって、前記離散化オブジェクトモデルは、単位ピクセルに従って2次元(2D)で前記対象オブジェクトの物理的な寸法、形状、またはこれらの組み合わせを表現する、前記決定することと、
    タスク位置に関連付けられた載置エリア、および/または前記タスク位置に載置済みのオブジェクトを表す目的地センサデータを受信することと、
    前記目的地センサデータに基づいて離散化台モデルを決定することであって、前記離散化台モデルは、さらなる単位ピクセルに従って2Dで前記タスク位置の物理的な寸法、形状、またはこれらの組み合わせを表現する、前記決定することと、
    前記目的地センサデータに基づいて高さ寸法を決定することであって、前記高さ寸法は、前記さらなる単位ピクセルの1つまたは複数のセットに対応する前記載置エリアの部分における最大の高さを表す、前記決定することと、
    前記離散化オブジェクトモデルを前記離散化台モデル上の対応する位置に重ねることに基づいて、1つまたは複数の候補位置を導出することと、
    前記高さ寸法に関連する1つまたは複数の載置制約に従って、前記候補位置の検証済みセットを動的に導出することと、
    前記検証済みセット内の位置についての載置スコアを計算することであって、前記載置スコアは1つまたは複数の載置設定に応じて計算される、前記計算することと、
    前記載置スコアに応じて前記検証済みセット内の前記位置のうちの1つを選択することに基づいて載置位置を動的に導出することであって、前記載置位置は前記対象オブジェクトを前記タスク位置に載置するためのものである、前記導出することと、
    前記載置エリア上の前記載置位置に前記対象オブジェクトを載置するために、前記載置位置に応じた情報を伝達することと
    を含む、方法。
  2. 前記載置位置は、1つまたは複数の不確実性要因に応答して導出される、請求項1に記載の方法。
  3. 前記1つまたは複数の不確実性要因は、パッキングプランの欠如に関連し、
    前記パッキングプランは、前記タスク位置における、前記対象オブジェクトを含むオブジェクトのセットについて導出される載置位置を表すためのものである、請求項2に記載の方法。
  4. 前記1つまたは複数の不確実性要因は、パッキングプランからの1つまたは複数の逸脱に関連し、
    前記パッキングプランは、前記タスク位置における、前記対象オブジェクトを含むオブジェクトのセットについて導出される載置位置を表すためのものである、請求項2に記載の方法。
  5. 前記1つまたは複数の不確実性要因は、前記ソースセンサデータを、マスターデータ、前記パッキングプランに関連するシーケンス、またはこれらの組み合わせと比較した結果生じるソース照合誤差に関連する、請求項4に記載の方法。
  6. 前記1つまたは複数の不確実性要因は、前記目的地センサデータを前記パッキングプランと比較した結果生じる目的地照合誤差に関連する、請求項4に記載の方法。
  7. 前記1つまたは複数の不確実性要因は、衝突イベント、オブジェクト紛失イベント、オブジェクトずれイベント、またはこれらの組み合わせに関連する、請求項4に記載の方法。
  8. 前記離散化オブジェクトモデルを決定することは、
    前記ソースセンサデータに基づいて、前記対象オブジェクトを識別するオブジェクトタイプを識別することと、
    前記オブジェクトタイプに応じてマスターデータを検索することに基づいて、前記離散化オブジェクトモデルにアクセスすることと
    を含む、請求項1に記載の方法。
  9. 前記離散化オブジェクトモデルを決定することは、
    前記ソースセンサデータに基づいて1つまたは複数の長さを推定することであって、前記1つまたは複数の長さは前記対象オブジェクトの1つまたは複数の寸法を表す、前記推定することと、
    前記1つまたは複数の長さに応じてマスターデータを検索することに基づいて、前記離散化オブジェクトモデルにアクセスすることと
    を含む、請求項1に記載の方法。
  10. 前記離散化オブジェクトモデルを決定することは、前記ソースセンサデータを受信したことに直ちに応答してリアルタイムに前記離散化オブジェクトモデルを生成することを含み、
    前記離散化オブジェクトモデルは、前記ソースセンサデータに応じて前記対象オブジェクトを表すエリアに前記単位ピクセルを重ねることに基づいて生成される、請求項1に記載の方法。
  11. 前記高さ寸法を決定することは、前記候補位置のうちの1つまたは複数について前記離散化オブジェクトモデルが重なる前記さらなる単位ピクセルの前記1つまたは複数のセットについての前記高さ寸法を決定することを含む、請求項1に記載の方法。
  12. 前記候補位置のそれぞれについて最大の高さを特定することであって、前記最大の高さは、前記対応する候補位置についての前記高さ寸法のうちの最大のインスタンスを表す、前記特定することと、
    高さ差分閾値および前記最大の高さに基づいて高さ下限を計算することと、
    前記高さ寸法を前記高さ下限と比較することに基づいて支持位置を特定することであって、前記支持位置は、前記高さ寸法が前記高さ下限と一致するおよび/または超える前記さらなる単位ピクセルのインスタンスを含む、前記特定することと
    をさらに含み、
    前記検証済みセットを導出すること、および/または前記載置スコアを計算することは、前記候補位置のそれぞれを前記対応する支持位置に応じて評価することを含む、
    請求項1に記載の方法。
  13. 前記検証済みセットを導出することは、
    前記支持位置の数量を表す適格数を計算することと、
    前記候補位置の対応するインスタンスについての前記適格数を閾値と比較することに基づいて、前記検証済みセットを導出することと
    を含む、請求項12に記載の方法。
  14. 前記検証済みセットを導出することは、
    前記支持位置の最も外側のインスタンスのエッジおよび/またはコーナーに基づいて支持エリア輪郭を導出することと、
    前記支持エリア輪郭に基づいて支持エリアサイズを計算することであって、前記支持エリアサイズは、前記支持エリア輪郭内の前記単位ピクセルの数量を表す、前記計算することと、
    前記候補位置の対応するインスタンスについての前記支持エリアサイズを閾値と比較することに基づいて、前記検証済みセットを導出することと
    を含む、請求項12に記載の方法。
  15. 前記検証済みセットを導出することは、
    前記候補位置のそれぞれについて、前記支持位置の最も外側のインスタンスのエッジおよび/コーナーに基づいて支持エリア輪郭を導出することと、
    前記離散化オブジェクトモデルに関連する重心(CoM)位置を前記支持エリア輪郭と比較することと、
    前記CoM位置を囲む前記支持エリア輪郭を有する前記候補位置を含む前記検証済みセットを導出することと
    を含む、請求項12に記載の方法。
  16. 前記検証済みセットを導出することは、
    前記対象オブジェクトを前記候補位置に載置するための進入経路を導出することと、
    前記進入経路に基づいて前記検証済みセットを導出することと
    を含む、請求項12に記載の方法。
  17. 前記載置スコアを計算することは、適格数、支持エリアサイズ、重心(CoM)位置、進入経路、またはこれらの組み合わせに基づいて、前記候補位置のそれぞれについての載置スコアを計算することを含む、請求項12に記載の方法。
  18. 前記載置スコアを計算することは、結果の高さ、近接度、エッジ−載置ステータス、最大支持可能重量、オブジェクトタイプ、支持重量比、またはこれらの組み合わせに基づいて、前記候補位置のそれぞれについての載置スコアを計算することを含む、請求項1に記載の方法。
  19. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに接続され、前記プロセッサによって実行可能な命令が記憶される少なくとも1つのメモリデバイスと、を備え、
    前記命令は、
    単位ピクセルに従って2次元(2D)で対象オブジェクトの物理的な寸法、形状、またはこれらの組み合わせを表現する離散化オブジェクトモデルを決定することと、
    さらなる単位ピクセルに従って2Dで目的地エリアの物理的な寸法、形状、またはこれらの組み合わせを表現する離散化台モデルを決定することと、
    センサデータを受信することであって、前記センサデータは、前記対象オブジェクト、前記目的地エリア、またはこれらの組み合わせに関連する状況を表す、前記受信することと、
    前記センサデータに基づいて高さ寸法を決定することであって、前記高さ寸法は、前記さらなる単位ピクセルの1つまたは複数のセットに対応する前記載置エリアの部分における最大の高さを表す、前記決定することと、
    前記対象オブジェクトを前記目的地エリアに載置するための1つまたは複数の候補位置を導出することと、
    前記高さ寸法に少なくとも部分的に基づいて前記候補位置についての載置スコアを計算することと、
    前記載置スコアに基づいて載置位置を動的に導出することであって、前記載置位置は前記対象オブジェクトを載置するための前記目的地エリア内の指定位置を表す、前記導出することと
    を含む、ロボットシステム。
  20. ロボットシステムによりその1つまたは複数のプロセッサを介して実行された場合に、前記ロボットシステムに方法を実施させるプロセッサ命令が記憶される有形非一時的コンピュータ可読媒体であって、
    前記命令は、
    ソース位置にあるまたは前記ソース位置に近づいている対象オブジェクトを表すソースセンサデータを受信する命令と、
    前記ソースセンサデータに基づいて離散化オブジェクトモデルを決定する命令であって、前記離散化オブジェクトモデルは、単位ピクセルに従って2次元(2D)で前記対象オブジェクトの物理的な寸法、形状、またはこれらの組み合わせを表現する、前記決定する命令と、
    タスク位置に関連付けられた載置エリア、および/または前記タスク位置に載置済みのオブジェクトを表す目的地センサデータを受信する命令と、
    前記目的地センサデータに基づいて離散化台モデルを決定する命令であって、前記離散化台モデルは、さらなる単位ピクセルに従って2Dで前記タスク位置の物理的な寸法、形状、またはこれらの組み合わせを表現する、前記決定する命令と、
    前記目的地センサデータに基づいて高さ寸法を決定する命令であって、前記高さ寸法は、前記さらなる単位ピクセルの1つまたは複数のセットに対応する前記載置エリアの部分における最大の高さを表す、前記決定する命令と、
    前記離散化オブジェクトモデルを前記離散化台モデル上の対応する位置に重ねることに基づいて、1つまたは複数の候補位置を導出する命令と、
    前記高さ寸法に関連する1つまたは複数の載置制約に従って、前記候補位置の検証済みセットを動的に導出する命令と、
    前記検証済みセット内の位置についての載置スコアを計算する命令であって、前記載置スコアは1つまたは複数の載置設定に応じて計算される、前記計算する命令と、
    前記載置スコアに応じて前記検証済みセット内の前記位置のうちの1つを選択することに基づいて載置位置を動的に導出する命令であって、前記載置位置は前記対象オブジェクトを前記タスク位置に載置するためのものである、前記導出する命令と、
    前記載置エリア上の前記載置位置に前記対象オブジェクトを載置するために、前記載置位置に応じた情報を伝達する命令と
    を含む、有形非一時的コンピュータ可読媒体。
JP2019170230A 2019-05-31 2019-09-19 動的パッキング機構を有するロボットシステム Active JP6704157B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/428,714 2019-05-31
US16/428,714 US10679379B1 (en) 2019-05-31 2019-05-31 Robotic system with dynamic packing mechanism

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020072970A Division JP2020196124A (ja) 2019-05-31 2020-04-15 動的パッキング機構を有するロボットシステム

Publications (2)

Publication Number Publication Date
JP6704157B1 JP6704157B1 (ja) 2020-06-03
JP2020196118A true JP2020196118A (ja) 2020-12-10

Family

ID=70858263

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019170230A Active JP6704157B1 (ja) 2019-05-31 2019-09-19 動的パッキング機構を有するロボットシステム
JP2020072970A Pending JP2020196124A (ja) 2019-05-31 2020-04-15 動的パッキング機構を有するロボットシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020072970A Pending JP2020196124A (ja) 2019-05-31 2020-04-15 動的パッキング機構を有するロボットシステム

Country Status (5)

Country Link
US (3) US10679379B1 (ja)
JP (2) JP6704157B1 (ja)
KR (2) KR102424718B1 (ja)
CN (1) CN112009812A (ja)
DE (2) DE102019130902B4 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023027018A (ja) * 2021-08-10 2023-03-01 株式会社Mujin ロボットによるオブジェクト配置のシステム及び方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11101163B2 (en) * 2018-01-30 2021-08-24 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods for automated robotic arm sensing
US11046519B2 (en) 2019-02-25 2021-06-29 Rehrig Pacific Company Delivery system
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system
US10618172B1 (en) * 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10679379B1 (en) * 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US20210182772A1 (en) * 2019-12-12 2021-06-17 Grey Orange Pte. Ltd. System and method for order consolidation
EP3866079A1 (en) * 2020-02-12 2021-08-18 Tata Consultancy Services Limited Method and system for automated object packing
CA3115442A1 (en) 2020-04-20 2021-10-20 Rehrig Pacific Company Camera enabled portal
CN114056819A (zh) * 2020-07-31 2022-02-18 北京小米移动软件有限公司 仓储产线、仓储管理方法、装置、电子设备和存储介质
US11905115B2 (en) * 2021-04-30 2024-02-20 Dexterity, Inc. Robotic system for identifying items
US11823440B2 (en) 2021-08-19 2023-11-21 Rehrig Pacific Company Imaging system with unsupervised learning
CN113753462B (zh) * 2021-09-14 2023-04-11 深圳市库宝软件有限公司 任务分配方法、装置、设备、仓储系统及存储介质
CN113963140B (zh) * 2021-10-29 2022-07-08 山东大学 一种可变规格圆柱形货物错位摆放装箱系统
US11783606B2 (en) 2021-11-01 2023-10-10 Rehrig Pacific Company Delivery system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000168958A (ja) * 1998-12-08 2000-06-20 A I Service Kk 全自動混載積付方法及びそのシステム
US20030110102A1 (en) * 2001-05-29 2003-06-12 Chen-Fu Chien Method for goods arrangement and its system
JP2003335417A (ja) * 1996-11-26 2003-11-25 United Parcel Service Of America Inc サイズと重さが不規則な梱包製品をパレット積みする方法および装置
JP2019085213A (ja) * 2017-11-06 2019-06-06 西部電機株式会社 出庫処理システム及び出庫処理方法

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3586176A (en) 1969-04-09 1971-06-22 George C Devol Palletizing apparatus
US4641271A (en) 1983-11-09 1987-02-03 Hitachi, Ltd. Piling planning method and piling system of cargoes by palletizing robot
DE3406858A1 (de) 1984-02-25 1985-10-03 OSTMA Maschinenbau GmbH, 5352 Zülpich Verfahren u. vorrichtung zum transportieren von mit riesel- oder fliessfaehigem gut gefuellten flachbeuteln zu einer stapelstelle, insbes. einem verpackungsbehaelter
US4692876A (en) 1984-10-12 1987-09-08 Hitachi, Ltd. Automatic freight stacking system
JPS6219963A (ja) 1985-07-19 1987-01-28 Hitachi Ltd 貨物自動積付装置の異常予報方式
US5079699A (en) * 1987-11-27 1992-01-07 Picker International, Inc. Quick three-dimensional display
US5175692A (en) 1989-04-14 1992-12-29 University Of Cincinnati Method and apparatus for palletizing randomly arriving mixed size and content parcels
JPH03162320A (ja) 1989-11-21 1991-07-12 Mitsubishi Electric Corp パレタイズ装置
JP2508410B2 (ja) 1990-11-30 1996-06-19 三菱電機株式会社 パレタイズ装置
NL9100483A (nl) 1991-03-19 1992-10-16 Nederland Ptt Werkwijze voor het bepalen van vrije deelvlakken op een gedeeltelijk met rechthoekige voorwerpen bedekt vlak alsmede een werkwijze voor het bepalen van vrije ruimten in een gedeeltelijk met voorwerpen in de vorm van een rechthoekig parallelepipedum gevulde ruimte.
US5501571A (en) * 1993-01-21 1996-03-26 International Business Machines Corporation Automated palletizing system
JPH08118274A (ja) 1994-10-26 1996-05-14 Mitsubishi Electric Corp 産業用ロボット装置
JPH1080881A (ja) * 1996-09-06 1998-03-31 Nippon Steel Corp 多関節ロボットの制御装置及びその制御方法
JPH11116056A (ja) 1997-10-14 1999-04-27 Okura Yusoki Co Ltd 積付パターン生成装置および積付装置
JPH11130263A (ja) 1997-10-27 1999-05-18 Yaskawa Electric Corp 積載パターン作成方法
US7062093B2 (en) * 2000-09-27 2006-06-13 Mvtech Software Gmbh System and method for object recognition
JP3586639B2 (ja) 2000-11-20 2004-11-10 村田機械株式会社 配送センター
JP2002154616A (ja) 2000-11-20 2002-05-28 Murata Mach Ltd デパレタイズシステム
JP2003104563A (ja) 2001-09-28 2003-04-09 Maki Mfg Co Ltd 入荷設備
JP4036681B2 (ja) 2002-05-22 2008-01-23 ダイハツ工業株式会社 車両走行制御装置および方法
KR100484163B1 (ko) * 2002-09-14 2005-04-19 삼성전자주식회사 디지털 화질 개선 방법 및 장치
JP3969334B2 (ja) 2003-04-04 2007-09-05 株式会社ダイフク 物品の積付方法
JP4359108B2 (ja) 2003-09-17 2009-11-04 村田機械株式会社 ピッキング物品積上げ指示システム
DE10352279A1 (de) 2003-11-08 2005-06-09 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Handhaben von Objekten
US7266422B1 (en) * 2004-04-09 2007-09-04 Fanuc Robotics America, Inc. Automated palletizing cases having mixed sizes and shapes
AU2004201709A1 (en) 2004-04-23 2005-11-10 Foodmach Pty Ltd Materials handling system
US20080030497A1 (en) * 2005-12-08 2008-02-07 Yangqiu Hu Three dimensional modeling of objects
JP4838627B2 (ja) 2006-04-25 2011-12-14 株式会社神戸製鋼所 表面性状に優れた高Si含有鋼板およびその製造方法ならびにその製造用の素材の高Si含有鋼材
US20080131255A1 (en) 2006-11-30 2008-06-05 Transbotics Corporation Palletizing systems and methods
US7773811B2 (en) * 2006-12-06 2010-08-10 D & S Consultants, Inc. Method and system for searching a database of graphical data
DE102007001263B4 (de) 2007-01-08 2015-07-23 Kuka Roboter Gmbh Robotersystem zur Beladung von Lademitteln mit Stückguteinheiten
DE102007016727B4 (de) 2007-04-07 2010-06-10 Dematic Gmbh & Co. Kg Verfahren zum mehrlagigen Bestapeln eines Trägers
JP4302160B2 (ja) 2007-09-12 2009-07-22 ファナック株式会社 ロボットによるパレタイジング作業のためのロボットプログラミング装置
CN101145051A (zh) 2007-09-20 2008-03-19 广东韶钢松山股份有限公司 板材生产线堆垛过程自动化控制技术
US8264697B2 (en) * 2007-11-27 2012-09-11 Intelligrated Headquarters, Llc Object detection device
DE102009011300B4 (de) 2009-03-02 2022-08-11 Kuka Roboter Gmbh Beladung von Lademitteln mit Paketen mittels Manipulator
DE102009011296B4 (de) * 2009-03-02 2021-11-25 Kuka Roboter Gmbh Beladung eines Lademittels mit Paketen
DE102009011294B4 (de) 2009-03-02 2020-12-24 Kuka Roboter Gmbh Palletieren von Paketen mittels eines Manipulators
JP2011022784A (ja) * 2009-07-15 2011-02-03 Sony Corp 情報処理装置、ブロック検出方法およびプログラム
JP5402697B2 (ja) * 2009-10-26 2014-01-29 株式会社安川電機 ロボット装置及びワーク取り出しシステム並びにワーク取り出し方法
JP5257335B2 (ja) * 2009-11-24 2013-08-07 オムロン株式会社 3次元視覚センサにおける計測有効領域の表示方法および3次元視覚センサ
US8447423B2 (en) 2009-11-30 2013-05-21 Exxonmobil Research And Engineering Company Method and apparatus for optimizing a performance index of a bulk product blending and packaging plant
WO2012029058A1 (en) 2010-08-30 2012-03-08 Bk-Imaging Ltd. Method and system for extracting three-dimensional information
CN201804260U (zh) 2010-09-01 2011-04-20 江苏天奇物流系统工程股份有限公司 座椅托盘堆垛机构的自动控制系统
JP2012140139A (ja) 2010-12-28 2012-07-26 Asahi Glass Co Ltd ガラス板梱包容器及び該ガラス板梱包容器を用いた運搬方法
WO2012140770A1 (ja) * 2011-04-14 2012-10-18 三菱電機株式会社 ロボット制御装置
EP3104313A1 (en) 2011-10-17 2016-12-14 Symbotic LLC Pallet building system
US10216865B1 (en) 2012-03-06 2019-02-26 Vecna Robotics, Inc. Monitoring one or more articles on a support surface
US8965580B2 (en) 2012-06-21 2015-02-24 Rethink Robotics, Inc. Training and operating industrial robots
US9315344B1 (en) 2012-07-20 2016-04-19 Amazon Technologies, Inc. Container stacking configurations
US20140180479A1 (en) 2012-12-20 2014-06-26 Wal-Mart Stores, Inc. Bagging With Robotic Arm
US9227323B1 (en) 2013-03-15 2016-01-05 Google Inc. Methods and systems for recognizing machine-readable information on three-dimensional objects
JP5616478B1 (ja) * 2013-04-18 2014-10-29 ファナック株式会社 ワークを搬送するロボットを備えるロボットシステム
CN103350908A (zh) 2013-06-13 2013-10-16 周怡 自动包装码垛控制系统及码垛系统
US9682826B2 (en) 2013-06-23 2017-06-20 Top Tier, Llc Item infeed apparatus and method for a palletizer system
US9663309B2 (en) * 2013-09-06 2017-05-30 Liquor Control Board Of Ontario (Lcbo) Automated palletization method, system and software
CN103640729B (zh) 2013-11-25 2015-08-26 天津中财型材有限责任公司 一种塑钢异型材自动包装系统
US9393693B1 (en) * 2014-07-10 2016-07-19 Google Inc. Methods and systems for determining and modeling admissible gripper forces for robotic devices
US9272417B2 (en) 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
US9205558B1 (en) 2014-07-16 2015-12-08 Google Inc. Multiple suction cup control
CN104154878B (zh) * 2014-07-29 2016-09-28 暨南大学 一种使用单像素探测器的光学成像方法
US9424470B1 (en) 2014-08-22 2016-08-23 Google Inc. Systems and methods for scale invariant 3D object detection leveraging processor architecture
US9457477B1 (en) 2014-08-25 2016-10-04 Google Inc. Variable stiffness suction gripper
US9507995B2 (en) 2014-08-29 2016-11-29 X Development Llc Combination of stereo and structured-light processing
US9205562B1 (en) 2014-08-29 2015-12-08 Google Inc. Integration of depth points into a height map
US9866815B2 (en) 2015-01-05 2018-01-09 Qualcomm Incorporated 3D object segmentation
US9457970B1 (en) 2015-03-30 2016-10-04 Google Inc. Modular cross-docking system
US9694498B2 (en) 2015-03-30 2017-07-04 X Development Llc Imager for detecting visual light and projected patterns
US9688489B1 (en) 2015-03-30 2017-06-27 X Development Llc Modular dock for facilities integration
US9715639B2 (en) * 2015-06-18 2017-07-25 The Boeing Company Method and apparatus for detecting targets
WO2017018113A1 (ja) 2015-07-29 2017-02-02 株式会社オートネットワーク技術研究所 対象物のハンドリングシミュレーション装置、対象物のハンドリングシミュレーションシステム、対象物のハンドリングをシミュレーションする方法、対象物の製造方法及び対象物のハンドリングシミュレーションプログラム
US9718188B2 (en) 2015-09-21 2017-08-01 Amazon Technologies, Inc. Networked robotic manipulators
US9926138B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Determination of removal strategies
JP6267175B2 (ja) 2015-11-20 2018-01-24 ファナック株式会社 物品を積む位置を設定する積み付けパターン計算装置
EP3405418B1 (en) 2015-11-30 2021-06-09 Sidel Canada Inc. Distribution conveying device and conveying process
US10124489B2 (en) * 2016-02-26 2018-11-13 Kinema Systems Inc. Locating, separating, and picking boxes with a sensor-guided robot
JP6378232B2 (ja) 2016-03-17 2018-08-22 ファナック株式会社 複数の種類の物品を積み付けるための積み付けパターン計算装置および積み付け装置
CN105691717A (zh) 2016-03-25 2016-06-22 云南昆船电子设备有限公司 一种机器人抓取散状辅料包装置及寻包方法
US9965730B2 (en) 2016-08-23 2018-05-08 X Development Llc Autonomous condensing of pallets of items in a warehouse
JP6614075B2 (ja) * 2016-09-07 2019-12-04 株式会社ダイフク 物品積載設備
JP6469061B2 (ja) 2016-09-29 2019-02-13 ファナック株式会社 積み付けパターン計算装置及び積み付けシステム
WO2018120210A1 (zh) 2016-12-30 2018-07-05 深圳配天智能技术研究院有限公司 确定码垛点位置信息的方法、装置及机器人
JP2018136896A (ja) 2017-02-24 2018-08-30 キヤノン株式会社 情報処理装置、システム、情報処理方法、および物品の製造方法
JP7001354B2 (ja) 2017-03-29 2022-01-19 トーヨーカネツ株式会社 自動物流システム
US10328578B2 (en) * 2017-04-21 2019-06-25 X Development Llc Methods and systems for detecting, recognizing, and localizing pallets
JP7116901B2 (ja) 2017-08-01 2022-08-12 オムロン株式会社 ロボット制御装置、ロボット制御方法及びロボット制御プログラム
JP6549654B2 (ja) 2017-08-03 2019-07-24 ファナック株式会社 ロボットシステムのシミュレーション装置およびシミュレーション方法
JP6680732B2 (ja) 2017-08-23 2020-04-15 ファナック株式会社 物品積み付け装置及び機械学習装置
CN207374734U (zh) 2017-09-11 2018-05-18 宁波德克尔运输设备有限公司 一种打包码垛一体化装置
US10713547B2 (en) * 2017-10-17 2020-07-14 Kyocera Document Solutions Inc. Systems, processes, interfaces, and computer program products for verification of image content in software development systems
JP6613288B2 (ja) 2017-11-14 2019-11-27 ファナック株式会社 積み付けパターン計算装置及びロボット制御装置
WO2019125613A1 (en) * 2017-12-21 2019-06-27 Walmart Apollo, Llc System for dynamic pallet-build
JP2019117547A (ja) * 2017-12-27 2019-07-18 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN108748136A (zh) 2018-04-10 2018-11-06 上海新时达机器人有限公司 机器人码垛程序生成方法、存储介质及示教器
CN108776879B (zh) 2018-06-04 2022-06-14 江苏楚门机器人科技有限公司 一种基于权重学习的垛形规划方法
CN109359739A (zh) 2018-09-13 2019-02-19 深圳市递四方信息科技有限公司 基于遗传算法的堆叠组合方法、装置、设备和存储介质
CN109132313A (zh) 2018-10-26 2019-01-04 北京旷视科技有限公司 物品移动系统、取货机器人、搬运机器人及方法
CN109353833B (zh) 2018-11-27 2021-06-29 深圳市汇川技术股份有限公司 机器人码垛点位生成方法、设备及计算机可读存储器
US10335947B1 (en) 2019-01-18 2019-07-02 Mujin, Inc. Robotic system with piece-loss management mechanism
US10549928B1 (en) 2019-02-22 2020-02-04 Dexterity, Inc. Robotic multi-item type palletizing and depalletizing
US10679379B1 (en) * 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US10618172B1 (en) 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003335417A (ja) * 1996-11-26 2003-11-25 United Parcel Service Of America Inc サイズと重さが不規則な梱包製品をパレット積みする方法および装置
JP2000168958A (ja) * 1998-12-08 2000-06-20 A I Service Kk 全自動混載積付方法及びそのシステム
US20030110102A1 (en) * 2001-05-29 2003-06-12 Chen-Fu Chien Method for goods arrangement and its system
JP2019085213A (ja) * 2017-11-06 2019-06-06 西部電機株式会社 出庫処理システム及び出庫処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023027018A (ja) * 2021-08-10 2023-03-01 株式会社Mujin ロボットによるオブジェクト配置のシステム及び方法
JP7241374B2 (ja) 2021-08-10 2023-03-17 株式会社Mujin ロボットによるオブジェクト配置のシステム及び方法

Also Published As

Publication number Publication date
KR20220106091A (ko) 2022-07-28
US11488323B2 (en) 2022-11-01
KR102424718B1 (ko) 2022-07-25
US10679379B1 (en) 2020-06-09
JP6704157B1 (ja) 2020-06-03
DE102019130902A1 (de) 2020-12-03
DE102019130902B4 (de) 2021-01-14
US20200380722A1 (en) 2020-12-03
DE102019009206A1 (de) 2021-02-18
US20230008946A1 (en) 2023-01-12
JP2020196124A (ja) 2020-12-10
CN112009812A (zh) 2020-12-01
KR20200138072A (ko) 2020-12-09
DE102019009206B4 (de) 2022-10-13

Similar Documents

Publication Publication Date Title
JP6729953B1 (ja) エラー検出および動的パッキング機構を有するロボットシステム
JP2020196124A (ja) 動的パッキング機構を有するロボットシステム
JP6771799B1 (ja) 壁に基づくパッキング機構を有するロボットシステム及びその動作方法
US11319166B2 (en) Robotic system with packing mechanism
CN111498213B (zh) 具有动态打包机制的机器人系统
CN111559544B (zh) 具有错误检测和动态打包机制的机器人系统
CN111498214B (zh) 具有打包机制的机器人系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200218

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200218

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200415

R150 Certificate of patent or registration of utility model

Ref document number: 6704157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350