TW202345982A - 用於容器裝載之物件序列器 - Google Patents

用於容器裝載之物件序列器 Download PDF

Info

Publication number
TW202345982A
TW202345982A TW112103137A TW112103137A TW202345982A TW 202345982 A TW202345982 A TW 202345982A TW 112103137 A TW112103137 A TW 112103137A TW 112103137 A TW112103137 A TW 112103137A TW 202345982 A TW202345982 A TW 202345982A
Authority
TW
Taiwan
Prior art keywords
objects
sequence
loading
items
model
Prior art date
Application number
TW112103137A
Other languages
English (en)
Inventor
喬納森 庫克
周文 孫
雅格布 班菲
維克拉姆 拉馬納坦
威廉 亞瑟 克拉里
凱文 何塞 查韋斯
Original Assignee
美商靈巧公司
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 美商靈巧公司 filed Critical 美商靈巧公司
Publication of TW202345982A publication Critical patent/TW202345982A/zh

Links

Classifications

    • 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
    • B65G67/00Loading or unloading vehicles
    • B65G67/02Loading or unloading land vehicles
    • B65G67/04Loading land vehicles
    • B65G67/20Loading covered vehicles
    • 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
    • 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/02Measures preceding sorting, e.g. arranging articles in a stream orientating
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B5/00Packaging individual articles in containers or receptacles, e.g. bags, sacks, boxes, cartons, cans, jars
    • B65B5/10Filling containers or receptacles progressively or in stages by introducing successive articles, or layers of articles
    • 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
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B57/00Automatic control, checking, warning, or safety devices
    • B65B57/02Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of binding or wrapping material, containers, or packages
    • B65B57/04Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of binding or wrapping material, containers, or packages and operating to control, or to stop, the feed of such material, containers, or packages
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • 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
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40006Placing, palletize, un palletize, paper roll placing, box stacking

Abstract

本申請案揭示一種用於對待裝載至一傳輸容器中之一組物件定序之方法、系統及電腦系統。該方法包含:(i)接收待裝載至該傳輸容器中以用於自一源位置傳輸至一目的地位置之該組物件之一指示;(ii)至少部分基於對應於該組物件之物件資訊及可用於裝載該組物件之資源來判定一序列,根據該序列將該組物件裝載至該傳輸容器中;及(iii)將該序列提供至一機器人系統以結合將該組物件裝載至該傳輸容器來實施。

Description

用於容器裝載之物件序列器
裝運及配送中心、倉庫、裝運碼頭、航空貨運站、大型商店及裝運及接收非同質物件組之其他活動使用諸如在盒子、板條箱、容器、輸送帶中及在棧板上等包裝及拆開異種物件之策略。在盒子、板條箱中、在棧板上等包裝異種物件使所得物件組能夠由起重設備(諸如叉車、起重機等)處置且使物件能夠被更有效地包裝以用於儲存(例如,在一倉庫中)及/或裝運(例如,在卡車、貨艙等中)。
在一些背景內容中,物件在大小、重量、密度、龐大、剛度、包裝強度等方面可如此不同,使得任何給定物件或物件組可或可不具有將使彼等物件能夠支援可能需要包裝(例如,在一盒子、容器、棧板等中)之一給定其他物件之大小、重量、重量分布等的屬性。當用一組異種物件裝載一傳輸容器時,必須仔細選擇及裝載物件以確保傳輸容器內之物件不會塌陷、傾斜或以其他方式變得不穩定(並避免物件損壞)。
在許多環境中,歸因於物件之種類繁多,(例如)在一給定棧板上之待包裝之物件之順序、數目及混合之變動,以及必須自其拾取物件以放置於棧板或其他容器上之容器及/或進給機構之多種類型及位置,機器人之使用變得更具挑戰性。
其他申請案之交叉參考本申請案主張2022年1月31日申請之標題為OBJECT SEQUENCER FOR CONTAINER LOADING之美國臨時專利申請案第63/305,192號之優先權,該案針對所有目的以引用的方式併入本文中。
本發明可以諸多方式來實施,包含作為一程序;一設備;一系統;一物質組合物;體現於一電腦可讀儲存媒體上之一電腦程式產品;及/或一處理器,諸如經組態以執行儲存於耦接至該處理器之一記憶體上及/或由該記憶體提供之指令的一處理器。在本說明書中,此等實施方案或本發明可採用之任何其他形式可被稱為技術。一般而言,在本發明之範疇內,可改變所揭示程序之步驟之順序。除非另有說明,否則可將被描述為經組態以執行一任務之一組件(諸如一處理器或一記憶體)實施為臨時經組態以在一給定時間執行該任務之一通用組件或經製造以執行該任務之一特定組件。如本文中所使用,術語「處理器」係指經組態以處理資料(諸如電腦程式指令)之一或多個裝置、電路及/或處理核心。
在下文連同繪示本發明之原理之附圖提供對本發明之一或多項實施例之一詳細描述。本發明係結合此等實施例進行描述,但本發明並不限於任何實施例。本發明之範疇係僅藉由發明申請專利範圍限制且本發明涵蓋諸多替代例、修改及等效物。在以下描述中闡述許多具體細節以便提供本發明之透徹理解。出於例示目的提供此等細節且可在不具有此等具體細節之一些或全部之情況下根據發明申請專利範圍來實踐本發明。為清楚起見,尚未詳細描述與本發明相關的技術領域中已知之技術材料,使得不會不必要地模糊本發明。
如本文中所使用,一視覺系統包含獲得感測器資料(例如,與一工作區相關的感測器資料)之一或多個感測器。感測器可包含以下一或多者:一攝影機、一高清晰度攝影機、一2D攝影機、一3D (例如,RGBD)攝影機、一紅外(IR)感測器、產生一工作區(或一工作區之部分,諸如一棧板及該棧板上之物件堆棧)之三維視圖之其他感測器,前述之任何組合,及/或包括前述之複數個感測器之一感測器陣列等。一視覺系統之一實例係在美國專利申請案第16/667,661號中進一步描述,該案之全文針對所有目的以引用的方式併入本文中。
如本文中所使用,一傳輸容器包含一裝運容器、一聯運容器、一車輛(諸如一卡車)中之一貨艙、一車廂等。在一些實施例中,出於本文中之目的,各種其他類型之實體約束之空間可被視為一傳輸容器。
由於用於將物件分派至一特定傳輸容器及用於將一組物件配置至該特定傳輸容器中之大量排列或組合,將一組物件裝載至一或多個傳輸容器係一運算成本高昂的操作。物件至一特定傳輸容器中之特定裝載(例如,分配、配置、定向)比其他裝載更合乎需要,因為一傳輸容器中之重量分布影響傳輸傳輸容器之安全性,且因為裝載之密度影響傳輸物件組所需之傳輸容器之數目。
各項實施例使用一或多個模型來最佳化該組物件之裝載,或以其他方式選擇該組物件之一最佳裝載。在一些實施例中,系統在一或多個預定義約束內判定/選擇該組物件之一最佳裝載。該一或多個預定義約束之實例包含:(i)用以運算/判定該組物件至一或多個傳輸容器之特定裝載之一時間;(ii)一機器人系統資源約束(例如,可用於裝載該組物件之機器人之數目、藉由機器人之一移動約束等);(iii)由該組物件待裝載至之傳輸容器之尺寸施加之一約束;(iv)一重量分布約束(例如,消除被視為不安全或不穩定之裝載);(v)基於一預定義評分函數(例如,量測裝載之一或多個特性(諸如密度、穩定性等)之一優度之一函數)之一評分約束;(vi)一緩衝區約束(例如,其約束可結合對物件重新定序來緩衝物件之程度)等。可實施各種其他約束。
判定將一組物件裝載至一或多個傳輸容器中之方式通常需要大量時間,諸如結合模擬各種可能裝載。各項實施例對裝載之判定/選擇實施一時間約束。在一些實施例中,系統基於根據一預定義評分函數之裝載之一評分超過一預定義評分臨限值之一判定來判定裝載(例如,分配、定序、配置等)。例如,系統選擇具有一令人滿意的評分之一第一經評估裝載,諸如以便快速地判定「足夠好」之一裝載。在一些實施例中,系統迭代地評估潛在裝載,且在一預定義時間臨限值已期滿之後,系統判定經評估裝載集合當中的與一最高評分相關聯之裝載,且使用此一裝載,結合提供一裝載計劃作為用於將該組物件裝載於一或多個傳輸容器中之一輸出。
各項實施例包含用於判定用於將一組物件裝載至一或多個傳輸容器中之一計劃之一系統、方法及/或裝置。該方法包含至少部分基於回應於判定跨複數個分區分配該組物件而判定是否分配待裝載至複數個傳輸容器中之該組物件來判定計劃,判定分配以獲得分區組。方法進一步包含判定用於將一組物件或該組物件之一子集(例如,分區組之一分區)裝載至一或多個傳輸容器之一特定傳輸容器之物件之一定序。例如,系統判定物件預期到達一工作區以進行裝載之一序列(例如,基於藉由一視覺系統獲得之感測器資料,或記錄物件自一或多個其他傳輸容器卸載之一順序之資訊),且系統判定是否執行該組物件之一重新定序。回應於判定對待裝載至一特定傳輸容器中之物件重新定序,系統判定用於對物件重新定序之一策略(例如,控制一輸送結構或橫向進給系統以在其他物件之前提供特定物件,在此等物件經遞送時在一緩衝區中停靠(staging)特定物件以容許在該緩衝區中之彼等物件之前拾取及放置其他物件等)。結合判定物件之一重新定序或判定將不執行一重新定序,系統判定該組物件至對應傳輸容器中之一配置。例如,系統判定該組物件之一放置及定向。系統提供計劃作為用於控制一或多個機器人分配該組物件、對該組物件重新定序及/或將該組物件裝載至一或多個傳輸容器中之一輸出。
各項實施例包含用於判定用於在一組傳輸容器當中分配一組物件之一計劃之一系統、方法及/或裝置。該方法包含:(i)接收待裝載至該組傳輸容器中之該組物件之一指示;(ii)至少部分基於對應於該組物件之物件資訊及可用於裝載該組物件之資源來判定用以跨該組傳輸容器分配該組物件之一計劃,該計劃包含分派至該等容器之一對應子集之該等物件之一子集之一指示;及(iii)提供該計劃作為待結合將各種物件子集裝載至對應容器子集而使用之一輸出。系統至少部分基於一模型(諸如一分配模型)來判定用以分配該組物件之計劃(或判定不分配該組物件)。例如,系統儲存一分配模型,該分配模型可為使用自傳輸容器中之物件組之歷史放置或裝載獲得之資訊訓練之一機器學習模型。作為另一實例,使用藉由一運算系統使用各種引擎或模型(諸如一物理引擎、一放置模型等)執行之模擬來訓練分配模型。
藉由各項實施例克服之與分配相關聯之挑戰之實例包含 ●   運算複雜性:輸入之物件組之分配之次數組合地很大,從而使精確最佳化在運算上變得困難。 ●   安全性:物件應安全地裝載至各傳輸容器中並安全地傳輸。安全性約束可包含人員安全性(例如,裝載助手及卡車司機等)及物件安全性(例如,在裝載、傳輸及卸載期間之損壞避免)。 ●   時間:分配將在一固定時間限制內執行。作為一實例,實體分配將在一固定時間內在一裝運設施中可執行且經受儲存、布局及路由硬體約束。作為另一實例,物件之各個分區之裝載將在一固定時間量內裝載(例如,用於裝載所有分區之一固定彙總時間,或用於裝載一特定分區之固定時間等)。 ●   成本:執行傳輸容器之分配、裝載及傳輸之運營成本應被最小化,或低於一預定義成本臨限值。 ●   人員及硬體:用於將物件裝載至傳輸容器中之人員及硬體可能因卡車隔間或裝運設施等而異。
各項實施例包含用於對一組物件定序以用於裝載至一傳輸容器之一系統、方法及/或裝置。該方法包含:(i)接收待裝載至該傳輸容器中之該組物件之一指示;(ii)至少部分基於對應於該組物件之物件資訊及可用於裝載該組物件之資源來判定將根據其將該組物件裝載至該傳輸容器中之一序列;及(iii)將該序列提供至一機器人系統以結合將該組物件裝載至該傳輸容器來實施。系統至少部分基於一模型(諸如一定序模型)來判定用以對該組物件定序之一計劃(或判定不對該組物件重新定序)。例如,系統儲存一定序模型,該定序模型可為使用自傳輸容器中之物件組之歷史放置或裝載獲得之資訊訓練之一機器學習模型。作為另一實例,使用藉由一運算系統使用各種引擎或模型(諸如一物理引擎、一放置模型等)執行之模擬來訓練定序模型。
藉由各項實施例克服之與定序相關聯之挑戰之實例包含: ●   運算複雜性:有序序列之數目在物件之數目(例如,待裝載至一特定傳輸容器之一分區或物件組內之物件之數目)上係組合的,從而使精確最佳化在運算上變得困難。 ●   穩定性:包裝於一傳輸容器中之物件應被穩定地包裝。藉由將盒子緊緊楔入傳輸容器壁(或卡車壁)之間,但無需顯著機械支撐(諸如熱縮塑膠包裝、彈力繩、棘輪帶、繫緊裝置等),即可實現穩定性。 ●   模擬:模擬將一組物件裝載於一傳輸容器中係困難的。例如,準確地模擬彼此接觸且承受力(例如,壓縮力)之許多可變形體(例如,物件)運算成本高昂。 ●   密度:包裝於一傳輸容器中之物件應滿足一密度約束。例如,物件之一高密度係較佳/所需的(例如,盒子將被緊密地貼合在一起,幾乎沒有氣隙)。然而,對於許多獨特物件,物件尺寸、包裝、剛度等具有高度多樣性。 ●   可行性:基於自其路由物件之一源位置,及/或裝運設施或其他倉庫之實體布局及性質,實現特定物件排序可為昂貴的。 ●   順序不確定性:硬體故障或人為參與可干擾所請求(例如,判定)之有序物件序列。在一些實施例中,經運算之有序序列可考量最終排序中之前述不確定性,且可以其他方式對排列具有穩健性。 ●   重量分布:物件將被裝載至傳輸容器/卡車中使得(i)物件之重量分布不在傳輸期間對物件造成損壞,(ii)物件之重量分布導致在駕駛或以其他方式傳輸時進行安全的卡車/傳輸裝卸,及/或(iii)避免對傳輸硬體(諸如卡車硬體)之過度應變,從而提高卡車使用年限。 ●   物件特性:自基於視覺之感測器(例如,一視覺系統)或基於觸碰之感測器獲得之物件感知(例如,形狀及實體性質,諸如尺寸、重量、包裝類型、易碎性、剛度等)係用於判定將用於判定排序(例如,待結合模擬經包裝物件使用等)之物件屬性。 ●   可用硬體:傳輸容器、機器人裝載硬體及人員可能因卡車隔間或裝運設施而異。在各項實施例中,在判定要裝載特定傳輸容器(例如,物件分配)之物件之子集及將物件子集裝載至傳輸容器之順序時,可考量可用硬體之變動。
各項實施例包含用於配置一組物件以用於裝載至一傳輸容器之一系統、方法及/或裝置。該方法包含:(i)接收待裝載至該傳輸容器中以自一源位置傳輸至一目的地位置之該組物件之一指示;(ii)至少部分基於對應於該組物件之物件資訊及可用於裝載該組物件之資源來判定滿足一重量分布準則之裝載至該傳輸容器中之該組物件之一配置;及(iii)提供該配置作為待結合將該組物件裝載至該傳輸容器而使用之一輸出。系統至少部分基於一模型(諸如一配置模型)來判定用以配置該組物件之計劃。例如,系統儲存一配置模型,該配置模型可為使用自傳輸容器中之物件組之歷史放置或裝載獲得之資訊訓練之一機器學習模型。作為另一實例,使用藉由一運算系統使用各種引擎或模型(諸如一物理引擎、一放置模型等)執行之模擬來訓練配置模型。
藉由各項實施例克服之與分配相關聯之挑戰之實例包含: ●   運算複雜性:待裝載於一傳輸容器中之物件之數目及物件之可能定向在物件之數目(例如,待裝載至一特定傳輸容器之一分區或物件組內之物件之數目)上係組合的,從而使精確最佳化或實體模擬運算成本高昂。 ●   機器人操縱器裝載約束:將一組物件裝載至一傳輸容器中對於機器人操縱器而言將係可行且高效的。例如,裝載避免/最小化一機器人處於尷尬姿勢或轉變之程度。作為另一實例,裝載最小化或約束一可行裝載所允許之時間。 ●   機器人操縱器卸載約束:將一組物件卸載至一傳輸容器中對於機器人操縱器而言將係可行且高效的。 ●   與其他系統/模組之整合:用於判定或計劃一傳輸容器中之一組物件之一裝載(例如,物件之一配置,根據配置裝載物件之一順序等)之系統/模組可與經組態以判定裝載一組物件之一順序/序列及/或一組物件被分配至物件之N個分區或子集(各分區或子集裝載至N個傳輸容器之一者中)中之一方式之模組整合。 ●   密度:包裝於一傳輸容器中之物件應滿足一密度約束。例如,物件之一高密度係較佳/所需的(例如,盒子將被緊密地貼合在一起,幾乎沒有氣隙)。然而,對於許多獨特物件,物件尺寸、包裝、剛度等具有高度多樣性。
圖1係繪示根據各項實施例之用以將物件裝載至一傳輸容器之一機器人系統之一圖式。在一些實施例中,系統100係至少部分藉由圖6之程序600、圖7之程序700、圖8之程序800、圖9之程序900、圖10之程序1000、圖11之程序1100、圖12之程序1200、圖13之程序1300、圖14之程序1400、圖15之程序1500、圖16之程序1600、圖17之程序1700、圖18A之程序1800及/或圖18B之程序1850實施。
在所展示之實例中,系統100包含一機器人手臂102。在此實例中,機器人手臂102係固定的,但在各項替代實施例中,機器人手臂102可為完全或部分行動的,例如,安裝於一軌條上,在一機動化底盤上完全行動等。在其他實施方案中,系統100可包含具有一工作區之複數個機器人手臂。如所展示,機器人手臂102係用於拾取來自一或多個輸送機(或其他來源) 110及105之任意及/或異種物件結合將物件裝載至傳輸容器150,或自傳輸容器150拾取物件並將物件放置於一或多個輸送機上結合卸載傳輸容器150。在一些實施例中,圖1中未展示之其他機器人可用於裝載待裝載/卸載至傳輸容器150中之物件之棧板,將物件之棧板或托盤推動至機器人手臂102之工作區以用於裝載/卸載至傳輸容器150等。
如圖1中所繪示,系統100可包括一或多個預定義區。例如,棧板112、棧板114經展示為定位於緩衝區115內。在一些實施例中,預定義區之一者係用作其中臨時儲存物件之一緩衝或停靠區域(例如,諸如臨時儲存器,直至結合將物件裝載至傳輸容器150而將物件裝載至傳輸容器150,或結合自傳輸容器150卸載物件而將物件裝載至輸送機105及/或110)。如圖1中所繪示,緩衝區可包括用以固持物件以用於在裝載/卸載期間緩衝/停靠之一或多個容器或棧板。(若干)預定義區可由地面上之標記物或標記表示或以其他方式在結構上諸如經由系統100中所展示之框架表示。預定義區(例如,緩衝區)之各者可定位於機器人手臂102之範圍內(例如,使得機器人手臂102可將物件放置於緩衝區中,及/或自緩衝區拾取物件等)。例如,預定義區可圍繞機器人手臂102徑向定位。
諸如經由輸送機110及/或輸送機105將一或多個物件提供(例如,運送)至機器人手臂102之工作區(或自工作區運送)。系統100控制輸送機105、110之操作(諸如藉由控制一速度、一操作方向等)。作為一實例,系統100經組態以獨立於輸送機110之速度來控制輸送機105之速度,或系統100控制輸送機105及/或輸送機110兩者之速度。控制輸送機105、110可包含暫停(若干)輸送機(例如,容許機器人手臂102有足夠時間來拾取及放置物件)。在一些實施例中,輸送機105及/或輸送機110運送一或多個載貨單(例如,訂單)之物件,或將分別裝載至不同傳輸容器中之一或多組物件。例如,輸送機105及輸送機110可運送同一載貨單及/或不同載貨單之物件。
系統100控制機器人手臂102以針對工作區中之物件執行拾取及放置操作,諸如將一物件裝載至傳輸容器150,自傳輸容器150卸載一物件,將一物件移動至緩衝區115等。例如,系統100控制機器人手臂102以自一輸送機(諸如輸送機110或輸送機105)拾取一物件並將物品放置於傳輸容器150中。系統100控制機器人手臂102 (例如,經由控制電腦122)以至少部分基於與物件相關聯之一計劃或與將一組物件裝載至一特定傳輸容器/自一特定傳輸容器卸載一組物件相關聯之一計劃拾取物件並將物件移動至一對應目的地位置(例如,傳輸容器150內之一位置)。
在一些實施例中,判定與將一組物件裝載至一或多個傳輸容器/自一或多個傳輸容器卸載一組物件相關聯之計劃包含以下一或多者:(i)判定該組物件之一分配(若有)以用於將各種物件子集裝載於複數個傳輸容器中;(ii)判定將物件裝載至一傳輸容器/自一傳輸容器卸載之一定序/排序;(iii)判定將物件遞送至工作區以供機器人(例如,機器人手臂102)將物件裝載至傳輸容器之一定序/排序;(iv)判定根據其將物件裝載於傳輸容器中之物件之一配置;(v)模擬一或多個物件至一傳輸容器之一裝載;(vi)模擬傳輸容器之一傳輸(例如,模擬傳輸容器預期在傳輸期間經歷之力,諸如結合評估傳輸容器中之物件之一裝載之穩定性或安全性);及/或(vii)評估各種可能分配、序列及/或配置(例如,基於一(若干)預定義評分函數評分及選擇一分配、序列或配置來實施)等。
在一些實施例中,系統100判定用於離線或與傳輸容器之裝載/卸載非同步地將一組物件裝載至一特定傳輸容器/自一特定傳輸容器卸載一組物件之計劃。例如,系統100藉由至少部分基於一組物件查詢一或多個伺服器(例如,查詢一雲端服務)來判定用於將該組物件裝載至一或多個傳輸容器/自一或多個傳輸容器卸載該組物件之計劃。一或多個伺服器可基於運行將各種物件裝載至(若干)傳輸容器之複數個模擬及評估裝載來判定計劃。一或多個伺服器可執行各種負載之模擬及評估以及離線裝載該組物件之計劃之判定,諸如在將該組物件提供至機器人(例如,機器人手臂102)之(若干)工作區之前的一夜之間或其他時間。
在將該組物件遞送至機器人之工作區或安置於機器人之工作區中期間,系統100可即時更新用於將該組物件裝載至一或多個傳輸容器/自一或多個傳輸容器卸載該組物件之計劃。例如,系統100使用一輕量級模型或一或多種預定義啟發法來更新用於裝載/卸載該組物件之計劃(例如,先前離線判定之關於裝載/卸載之計劃)。系統100使用控制電腦122來更新用於裝載/卸載該組物件之計劃。對用於裝載/卸載該組物件之計劃之更新可考量以下一或多者之變動:(i)遞送至工作區之物件(例如,故障可引起遞送額外物件或拒絕遞送特定物件等);(ii)遞送至工作區之物件之性質(例如,物件屬性之偵測錯誤);及/或(iii)將物件遞送至工作區之一順序等。
回應於接收計劃(例如,自一(若干)伺服器),系統100判定用於執行關於待裝載至傳輸容器150之物件之拾取及放置操作之一策略。例如,判定該策略包含判定抓握物件之一方式、物件之一軌跡及釋放物件之一方式等。
在一些實施例中,系統100判定對與物件相關聯之計劃之一更新(諸如在物件在輸送機105、110上時),且系統100可在拾取物件時更新計劃(例如,基於物件之一所獲得屬性,諸如重量;或回應於由工作區中之一感測器獲得之資訊,諸如與另一物件或人類之一預期碰撞之一指示等)。系統100可獲得與物件相關聯之一識別碼,諸如一條碼、QR碼或物件上之其他識別碼或資訊。例如,系統100可在物件在輸送機上運送時掃描/獲得識別碼。回應於獲得識別碼,系統100結合判定將物品裝載至傳輸容器150之順序、物件之一配置(例如,目的地位置及/或定向)、用於拾取及放置物件之一策略、是否諸如基於將物件停靠於緩衝區115中來對物件重新定序而使用識別碼。回應於判定物件所屬之傳輸容器,系統100可至少部分基於傳輸容器150中之物件之裝載及/或傳輸容器150中之物件之一放置之一模型或模擬來判定一策略,或判定是否更新用於將物件裝載至傳輸容器之計劃。系統100亦可判定物件將放置於傳輸容器150或緩衝區115中之一特定位置。另外,可判定用於將物件移動至目的地位置之一計劃,包含將沿著其移動物件之一經計劃路徑或軌跡。在一些實施例中,在機器人手臂102移動物件時更新計劃,諸如結合執行用以改變或適應與工作區中之一或多個物件相關聯之一經偵測狀態或條件的一主動措施(例如,避免一預期碰撞事件,考量物件之一經量測重量大於一預期重量,在物件移動時減少物件上之剪切力等)。
根據各項實施例,系統100包括一視覺系統。系統100可包括一或多個感測器及/或感測器陣列,諸如攝影機116、118。例如,系統100包含在輸送機105及/或輸送機110之接近度內之一或多個感測器。該一或多個感測器可獲得與輸送機上之一物件相關聯之資訊,諸如物件之標記上之一識別碼或資訊,或物件之一屬性(諸如物件之尺寸)。在一些實施例中,系統100包含獲得與一預定義區及/或該區中之一棧板有關之資訊之一或多個感測器及/或感測器陣列。例如,系統100包含獲得與緩衝區115及/或傳輸容器150相關聯之資訊之一感測器。感測器可包含用以產生一工作區(或一工作區之部分,諸如一棧板及該棧板上之物件堆棧)之一三維視圖之一或多個2D攝影機、3D (例如,RGBD)攝影機、紅外及其他感測器。可使用與緩衝區115及/或傳輸容器150有關之資訊結合判定緩衝區之一狀態及/或傳輸容器150中之物件之一裝載。作為一實例,系統100至少部分基於與傳輸容器150有關之資訊來產生傳輸容器150中之物件之一裝載之一模型。系統100繼而使用該模型結合判定用於將一物件放置於傳輸容器150中之一計劃。
根據各項實施例,系統100至少部分基於裝載至傳輸容器150之物件之一穩定性之一判定來判定用於拾取及放置一物件之一計劃(或更新該計劃)。系統100判定傳輸容器150中之物件之裝載之一模型,且系統100可結合判定/更新用於放置一物件之計劃來使用該模型。作為一實例,若待移動之下一個物件相對較大(例如,使得物件之一表面積相對於傳輸容器150中之其上將放置相對較大物件之一(若干)物件之一頂表面較大),則系統100可判定將該物件放置於經計劃目的地位置中可引起傳輸容器150中之物件之裝載變得不穩定(例如,由於堆棧之表面係非平面的)。相比而言,系統100可判定將相對較大(例如,平面)物件放置於經計劃目的地位置處可導致一相對裝載(例如,傳輸容器150中之物件之配置)。系統100可判定將物件放置於目的地位置處之一預期穩定性大於一預定穩定性臨限值,或將物件放置於目的地位置處可導致物件之一最佳化放置(例如,至少關於穩定性)。
在一些實施例中,系統100控制機器人手臂102以將待裝載至傳輸容器150之物件之一子集裝載至一棧板,且該棧板隨後被裝載至傳輸容器150中。例如,系統100 (例如,控制電腦122)判定用於對物件子集進行碼垛堆積之一計劃,諸如獲得一最佳棧板或滿足一或多個碼垛堆積準則(例如,一穩定性準則、一密度準則、一或多種啟發法之滿足等)之一棧板。回應於判定用於對物件子集進行碼垛堆積之計劃,系統100控制機器人手臂102以根據計劃對物件子集進行碼垛堆積。棧板係自機器人手臂102之工作區移動至傳輸容器150。例如,藉由機器人手臂102或另一機器人系統(例如,一機器人叉車)或人類操作員將棧板移動至傳輸容器150。
系統100可傳送一預定義區內之傳輸容器150之一狀態及/或機器人手臂102之操作。可將傳輸容器150之狀態及/或機器人手臂102之操作傳送給一使用者或其他人類操作員120,諸如人類操作員120 (例如,提供傳輸容器之裝載/卸載之一狀態,或調用人類干預來成功地完成一拾取或放置操作等)。例如,系統100可包含一通信介面(未展示),與系統100之狀態(例如,傳輸容器150、一預定義區、一機器人手臂等之一狀態)有關之資訊經由該通信介面傳送至一終端機(諸如按需遙操作裝置124及/或由一人類操作員使用之一終端機)。
根據各項實施例,系統100使用由工作區內之一或多個感測器獲得之資訊來判定與傳輸容器150有關之一異常狀態,諸如裝載至傳輸容器150中之物件之一不穩定性,或已自其等各自目的地位置掉落之物件之一指示。回應於偵測到異常狀態,系統可將異常狀態之一指示傳送諸如至按需遙操作裝置124或由一操作員使用之其他終端機。除了向一操作員通知異常狀態之外或作為其替代,系統100回應於偵測到異常狀態而執行一主動措施。該主動措施可包含控制機器人手臂102以至少部分校正異常狀態(例如,重新放置掉落之物件、重新對準裝載至傳輸容器150中之物件等)。在一些實施例中,回應於判定異常程度小於一臨限值,系統執行主動措施以部分校正異常狀態。判定異常程度小於一臨限值之實例包含:(i) (若干)物件之未對準小於一臨限未對準值之一判定;(ii)經移位(dislodge)、錯放或掉落之物件之一數目小於一臨限數目之一判定;(iii)一經移位、錯放或掉落之物件之一大小滿足一大小臨限值之一判定等。
一人類操作員可經由一網路(諸如一有線網路及/或一無線網路)與系統100通信。例如,系統100可包括一通信介面,系統100經由該通信介面連接至一或多個網路。在一些實施例中,經由網路連接至系統100之一終端機提供一使用者介面,一人類操作員可經由該使用者介面向系統100提供指令,及/或該人類操作員可經由該使用者介面獲得與系統100之一狀態(例如,機器人手臂之一狀態、一傳輸容器150之一狀態、用於一特定載貨單之一裝載程序之一狀態等)有關之資訊。人類操作員可經由至使用者介面之一輸入向系統100提供一指令。例如,一人類操作員可使用使用者介面以暫停機器人手臂,暫停關於一特定載貨單之一裝載/卸載程序等。
在各項實施例中,可增添、移除、換出等系統100之元件。在此一例項中,一控制電腦初始化及註冊新元件,執行操作測試,且開始/恢復(例如)併入有新增添之元件之裝載/卸載操作。元件之實例可包含輸送機、機器人手臂、緩衝區等。
根據各項實施例,系統100判定(例如,運算、維持、儲存等)傳輸容器150及/或緩衝區115之一經估計狀態。例如,系統100判定對應於工作區及/或傳輸容器150中之物件之一裝載之一幾何模型。
根據各項實施例,系統100包括含有一或多個感測器(例如,攝影機116、118等)之一視覺系統。在各項實施例中,系統100使用感測器資料及幾何資料(例如,一幾何模型)結合判定傳輸容器150中之放置一或多個物件之一位置(或結合將一或多個物件自傳輸容器150卸載)。系統100使用不同資料源來模型化傳輸容器150之狀態(或一傳輸容器中之物件之一配置/裝載)。例如,系統100可估計傳輸容器150中之一或多個物件之位置及與該一或多個物件相關聯之一或多個特性(或屬性) (例如,(若干)物件之一大小)。與一或多個物件相關聯之一或多個特性之實例包含一物件大小(例如,物件之尺寸)、一重心、物件之一剛度、一包裝類型、一識別碼之一位置等。
系統100至少部分基於工作區中之一或多個物件之一或多個屬性來判定幾何模型。例如,幾何模型反映一組物件(例如,經碼垛堆積/堆垛之一第一組物件及待碼垛堆積/堆垛之一第二組物件等之一或多者)之各自屬性。一物件之實例包含一物件大小(例如,物件之尺寸)、一重心、物件之一剛度、一包裝類型、一識別碼之一位置、物件之一可變形性、物件之一形狀等。可實施工作區內之一物品或物件之各種其他屬性。
藉由系統100產生之模型可對應於或至少部分基於一幾何模型。在一些實施例中,系統100至少部分基於已經放置之一或多個物件(例如,系統100控制之機器人手臂102放置之物件)、分別與該一或多個物件之至少一子集相關聯之一或多個屬性、工作區內之一或多個物件(例如,預定物件,諸如緩衝區115中之一容器、一(若干)機器人手臂、一貨架系統、一滑槽或其他輸送結構,或工作區中所包括之其他基礎設施)來產生幾何模型。可至少部分基於在控制電腦上運行一物理引擎以模型化物件之一配置(例如,模型化傳輸容器150或緩衝區115中之物件之一配置之一狀態/穩定性等)來判定幾何模型。可至少部分基於工作區之各種組件(諸如一物件與另一物件、一物件、施加至傳輸容器或傳輸容器內之物件之一經模擬力(例如,用以模型化使用一叉車或其他裝置來升高/移動傳輸容器,用以模型化傳輸容器之傳輸,諸如在傳輸容器之傳輸期間加速/減速之一車輛之一模型)等之一預期互動來判定幾何模型。
根據各項實施例,系統100使用幾何模型及感測器資料來判定工作區之一狀態或傳輸容器150之狀態之一最佳估計。系統100可調整(例如,消除)幾何模型及/或感測器資料之一或多者中之雜訊。在一些實施例中,系統100偵測根據幾何模型之一狀態與根據感測器資料之一狀態之間的異常或差異。回應於判定幾何模型與感測器資料之間的一異常或差異,儘管存在該異常或差異,系統100可對狀態做出一最佳估計。例如,系統100判定是否使用幾何模型或感測器資料,或幾何模型及感測器資料之一組合(例如,幾何模型與感測器資料之間的一內插)等。在一些實施例中,系統100在一逐片段基礎(例如,工作區中之一逐體素基礎、一逐物品基礎或一逐物件基礎等)上判定經估計狀態。例如,可僅使用幾何模型來估計工作區之一第一部分,可僅使用感測器資料來估計工作區之一第二部分(例如,在幾何模型中出現一異常的情況下),及/或可基於幾何模型與感測器資料之一組合來估計工作區之一第三部分。使用圖1中繪示之實例,結合判定一彙總之經估計狀態,系統100可僅使用幾何模型來判定裝載至傳輸容器150中之物件之個別經估計狀態,僅使用感測器資料來判定工作區之個別經估計狀態(例如,傳輸容器150及/或緩衝區115之一狀態),及針對裝載至傳輸容器之物件使用各自幾何模型及感測器資料之一組合。
系統100經組態以判定或更新用於將一組物件裝載至傳輸容器150之一計劃。判定用於裝載該組物件之計劃包含以下一或多者:(i)判定是否分配該組物件(例如,用於跨複數個傳輸容器裝載);(ii)回應於判定分配該組物件而分配該組物件;(iii)判定將物件遞送至系統之工作區以用於將物件裝載至傳輸容器150之一序列;(iv)判定機器人手臂102將物件裝載至傳輸容器150之一順序;(v)判定該組物件之一配置(例如,物件之放置,諸如位置及定向等)。
在一些實施例中,系統100使用控制電腦122來判定關於裝載該組物件之一解決方案。控制電腦122經組態以提供即時或與機器人手臂102之控制同步之用以將該組物件裝載至傳輸容器150之一快速解決方案。例如,系統100 (例如,控制電腦122)儲存一輕量級模型(例如,一機器學習模型)或一組一或多種啟發法,系統100根據其判定用於將該組物件裝載至傳輸容器之一解決方案。
在一些實施例中,系統100查詢一或多個伺服器(未展示) (諸如一雲端服務)以判定用於裝載該組物件之一計劃。該一或多個伺服器經組態以提供通常比由輕量級模型以其他方式提供之用於判定線上解決方案之解決方案更優化之一解決方案。例如,一或多個伺服器具有一更大運算資源且並不如本端儲存之輕量級模型般在用於判定解決方案之時間方面受到限制。一或多個伺服器提供用於判定用於裝載一組物件之一計劃之一離線服務。例如,一或多個伺服器判定相對於物件至傳輸容器150之裝載非同步之計劃。一或多個伺服器經組態以儲存/使用提供與藉由查詢本端儲存之輕量級模型而獲得之解決方案相比具有更高保真度之解決方案之一更穩健模型。輕量級模型經組態以權衡更高保真度以用於更快運算用於裝載該組物件之一解決方案。
在一些實施例中,系統自一雲端服務獲得用於將該組物件裝載至傳輸容器150之一穩健解決方案,且系統100 (例如,控制電腦122)至少部分基於工作區之狀態相對於由雲端服務使用以模型化工作區及判定一解決方案之工作區之預期狀態的變動來查詢本端儲存之輕量級模型。工作區之狀態變動之實例包含:(i)不同硬體約束,諸如不存在特定機器人、不同機器人系統能力或其中待裝載特定傳輸容器之工作區之不同組態;(ii)物件以不同於在判定計劃時使用之一預期順序之一順序遞送至工作區;(iii)一或多個物件之一或多個屬性不同於在模型化工作區以判定計劃時使用之屬性。可發生各種其他變動,系統100針對其使用本端儲存之輕量級模型來更新計劃以獲得裝載該組物品之一更優計劃。
在一些實施例中,用於評估用於將一組物件裝載至傳輸容器150之計劃之模型包含可整合之複數個模組。該複數個模組可分別針對沿著不同維度之評估。經整合以評估用於將該組物件裝載至傳輸容器150之一解決方案之模組之實例包含一分配模組、一定序模組、一重量分布模組等。作為一實例,分別向複數個模組查詢一解決方案。向分配模組查詢是否跨複數個傳輸容器分配及裝載待裝載之該組物件之一判定。向定序模組查詢(i)將物件裝載至適用傳輸容器之一序列及/或將物件遞送至機器人之工作區以用於裝載至適用傳輸容器(例如,機器人手臂102之工作區以用於將物件裝載至傳輸容器150)之一序列之一判定,及/或(ii)是否更新遞送至工作區或待裝載至適用傳輸容器之物件之一序列之一判定(例如,判定系統是否應對物件重新定序)。查詢重量分布模組以判定物件至適用傳輸容器之經計劃裝載之重量分布是否滿足一或多個重量分布準則。例如,查詢重量分布模組以判定物件之經計劃配置之重量分布是否預期確保傳輸期間之一安全及穩定的配置。可實施各種其他模組且將其整合至用於評估物件組之裝載之模型。
在一些實施例中,在用於評估一組物件之一裝載(例如,以提供用於裝載該組物件之一足夠好或最佳的解決方案)之模型中使用之各種模組實施用以限制潛在解決方案(例如,潛在分配、潛在定序、潛在配置等)之解決方案空間的技術。例如,一模組實施用以縮小解決方案空間以包含可行解決方案及幾乎可行的潛在解決方案之一技術。該等模組可實施一或多種啟發法結合修整解決方案空間,或可以其他方式經訓練(例如,使用機器學習程序)以快速識別預期被視為可行之解決方案(例如,快速排除預期被視為不可行之解決方案)。對於待離線實施(例如,提供用於裝載該組物件之解決方案之非同步評估)之模型,模組經組態以修整解決方案空間以容許評估更多潛在解決方案(例如,邊緣情況解決方案係包含於潛在解決方案空間中,因為離線模型在提供一可行解決方案之運算資源或運行時間方面不受限制)。相比而言,對於待線上實施(例如,提供同步/即時解決方案)之模型,模組經組態以修整解決方案空間以產生一相對較窄的潛在解決方案空間。
在一些實施例中,模型及/或結合模型使用之模組經組態以利用組合最佳化及/或機器學習來有效地找出一可行解決方案及迭代地細化/改良解決方案。
在一些實施例中,模型經組態以在一預定義時段內提供一可行解決方案。例如,模型經組態以在預定義時段內迭代地評估潛在解決方案並識別一可行解決方案。作為一實例,在線上實施以提供與物件之裝載同步或即時之一解決方案之一模型的情況下,預定義時段係5秒。作為另一實例,在離線實施以提供一非同步解決方案之一模型的情況下,預定義時間係以小時為數量級,諸如5小時、12小時等。若模型在預定義時段期滿之前完成解決方案空間之評估,則模型傳回一最佳解決方案,諸如相對於使用一預定義評分函數之一評估具有一最高評分值之一解決方案。若模型在預定義時段期滿之前尚未完成解決方案空間之評估且若模型已識別一組一或多個可行解決方案,則模型傳回該一或多個可行解決方案當中的一最佳解決方案。若模型在預定義時段期滿之前尚未完成解決方案空間之評估且模型尚未識別一組一或多個可行解決方案,則模型可實施一或多種啟發法以快速提供被視為有可能可行之一解決方案。啟發法之實例可包含首先裝載重物件,首先裝載大物件,將重或大物件配置於傳輸容器之底部附近(例如,在傳輸容器之底板上或在第一組物件列內等),緩衝易碎或可變形物件(例如,一易碎性或可變形性超過一對應預定義易碎性臨限值或可變形性臨限值)或以其他方式朝向裝載傳輸容器之末端裝載此等物件或朝向傳輸容器中之物件之一頂列裝載此等物件等。可實施各種其他啟發法。
在一些實施例中,分配模組判定是否將一組物件分配至待分別跨一組傳輸容器裝載之分區中。回應於判定分配該組物件,分配模組判定將分配該組物件之一方式。例如,分配模組儲存物件子集至分區之一映射。作為另一實例,各分區可經指派至一特定傳輸容器。
在一些實施例中,分配模組對一物件子集至一傳輸容器之裝載及/或該物件子集自該傳輸容器之一卸載進行評分。例如,分配模組至少部分基於一預定義評分函數來評估分區。評分函數提供一裝載或卸載之一優度之一目標量度。評分函數中所使用之特性之實例包含:穩定性、密度、重量分布、成本(例如,運行時間)等。評分函數中可實施各種其他特性。作為一實例,評分函數可指示物件子集自各自傳輸容器之裝載/卸載之一成本(例如,在花費之時間、工作等方面的一成本)。作為另一實例,評分函數提供分區是否具有滿足一穩定性準則(例如,一或多個配置之預期穩定性超過一預定義穩定性臨限值)之用於傳輸容器中之物件子集之裝載之一或多個配置的一量度。作為另一實例,評分函數提供分區是否具有物件子集之裝載滿足一密度準則(例如,裝載至一特定傳輸容器中之物件之預期密度超過一預定義密度臨限值)之一或多個配置的一量度。作為另一實例,評分函數提供分區是否具有物件子集之裝載滿足一重量分布準則(例如,裝載至一特定傳輸容器中之物件之預期重量分布超過一預定義重量分布)之一或多個配置的一量度。
在一些實施例中,分配模組聯合考量(i)傳輸容器在一接收裝運設施處卸載,及(ii)在出港裝運設施處裝載傳輸容器。例如,分配模組判定集體最適於裝載及卸載之分區。作為一實例,基於分區將在卸載傳輸容器時導致超過抵消效率之一判定,可選擇對於裝載一傳輸容器不太理想的一分區。在一些實施例中,系統基於用於裝載對應物件子集之評分值及用於卸載對應物件子集之評分值之一平均值來對待裝載之物件組之一分區進行評分。例如,系統可使用用於裝載及卸載物件子集之評分值之一經加權平均值。
在一些實施例中,系統(例如,分配模組)選擇具有(i)根據預定義評分函數之最高評分及(ii)滿足一或多個可行裝載準則之分區。可行裝載準則之實例包含:(a)裝載、卸載或集體裝載及卸載之最大時間量,(b)裝載至傳輸容器之物件之一最小預期密度,(c)裝載至傳輸容器之總物件之一最小數目,(d)裝載至傳輸容器之物件子集之一最小穩定性,(e)滿足一或多個準則之一重量分布,諸如重量分布於對應於預期運送傳輸容器之一卡車之車輪之傳輸容器之位置處或以其他方式分布於在傳輸期間支撐傳輸容器之傳輸容器之位置處等。可實施各種其他可行裝載準則。一或多個可行裝載準則可為使裝載被視為可行之針對一組物件之一裝載之最低要求。
在一些實施例中,分配模組基於可用於裝載/卸載一組物件之資源對解決方案空間定界。定界之實例包含:(i)基於其中預期裝載該組物件之一傳輸容器之尺寸之尺寸定界(例如,不同傳輸容器可具有不同尺寸或組態(例如,用於裝載/卸載之不同類型之門或進出能力)),(ii)該組物件或傳輸容器被指派至之一裝載/卸載隔間之一或多個特性(例如,能力、限制等),(iii)被指派至裝載/卸載該組物件之人員(例如,被指派至裝運設施之一特定裝載/卸載隔間之人員之特性),(iv)用於實施裝載/卸載該組物件之一運行時間,(v)用於判定一可行解決方案之一運行時間,(vi)裝運設施之一儲存、布局及路由硬體,諸如裝運設施是否具有可實施為一緩衝區以停靠物品及促進在裝載/卸載期間對物品重新定序之一區域的一指示,(vii)可用裝載/卸載硬體(諸如機器人手臂、機器人操作之叉車或其他模態),及其特性(例如,能力、限制等,諸如一機器人手臂可經組態以避免/限制尷尬姿勢之程度等),及(viii)待裝載/卸載之該組物件(例如,待自位置A傳輸至位置B之該組物件)。可結合判定用於分配該組物件之一解決方案來實施各種其他類型之定界。
結合判定一組物件之一分配(例如,判定將根據其裝載該組物件之一或多個分區),模型之各種實施例實施一或多個其他模組以評定一分區之可行性。該一或多個其他模組之實例包含:(a)判定工作區或傳輸容器之一模型(例如,一幾何模型)之一模型化模組,(b)模擬拾取/放置操作以模擬一或多個物件至傳輸容器之裝載/自傳輸容器之卸載之一模擬模組,(c)模擬一傳輸容器/裝載之物理特性(諸如模擬作用於物件上或物件之間的力)之一物理引擎。由模型調用之一或多個模組係用於評估以下一或多者:一傳輸容器中之物件之一密度、預期裝載至傳輸容器之物件之一數目、一傳輸容器中之一裝載之一穩定性、傳輸容器中之裝載之一重量分布、用於實施裝載/卸載傳輸容器之一預期運行時間。一或多個模組可經實施以評估沿著各種其他維度之裝載。
在一些實施例中,模型呼叫一物理引擎以模擬一組物件至一傳輸容器之裝載/自一傳輸容器之卸載,及模擬該傳輸容器內之負載。裝載/卸載之模擬可包含模擬在裝載/卸載期間作用於物件上/之間之力,或以其他方式結合物件之放置。作為另一實例,模型可呼叫一物理引擎以模擬傳輸容器內之一負載之傳輸(例如,模擬可在傳輸期間作用於負載上之力)。
物理引擎可模型化傳輸容器及/或物件之一裝載以判定與物件至傳輸容器之裝載相關聯之一或多個性質,諸如物件組之一穩定性、物件組之一重量分布等。在一些實施例中,物理引擎可判定與傳輸容器及/或物件之一裝載之一穩定性(或預期穩定性)有關之一值。物理引擎可基於與一穩定性(或預期穩定性)有關之一值與一預定義穩定性臨限值之一比較來判定傳輸容器及/或物件之一裝載係或預期為穩定或不穩定的。
在一些實施例中,基於與穩定性相關聯之一可信區間來設定預定義穩定性臨限值。例如,預定義穩定性臨限值可經設定使得傳輸容器/裝載在95%之時間係穩定的且不經受自傳輸容器中之裝載掉落之物件影響等。作為另一實例,預定義穩定性臨限值可經設定使得傳輸容器/裝載在99%之時間係穩定的。預定義穩定性臨限值可由一使用者設定。
在一些實施例中,使用物理引擎結合判定一傳輸容器/裝載之一預期穩定性(諸如在實施一動作之前)。例如,在執行將一物件放置於傳輸容器之前(例如,在裝載期間),系統使用物理引擎來評估將物件放置於傳輸容器之一特定位置處之一預期穩定性。作為另一實例,在自一傳輸容器移除一物件之前(例如,在卸載期間),系統使用物理引擎來評估自傳輸容器移除物件之一預期穩定性。回應於判定一傳輸容器/裝載之預期穩定性在動作之執行之後將為穩定的,可執行動作或以其他方式將其視為作為一可能/可允許動作之一動作。例如,回應於判定在裝載待裝載至傳輸容器之所有物件之後,裝載之預期穩定性超過穩定性臨限值,系統將裝載視為一可行裝載。相反地,回應於判定一傳輸容器/物件之裝載之預期穩定性在動作之執行(例如,完全或部分裝載/卸載)之後將為不穩定的(或不足夠穩定,諸如小於一預定穩定性臨限值),可執行動作或以其他方式將其視為作為一不可能/不允許動作之一動作。
在一些實施例中,結合諸如在實施一動作之後判定一傳輸容器/裝載之一穩定性來使用物理引擎。可由系統調用物理引擎,結合裝載之線上評估,諸如結合判定是否將更新用於裝載該組物件之計劃(例如,考量到離線模擬之預期幾何模型之變動及物件之裝載之真實世界特性)。例如,在將一物件放置至一傳輸容器之後(例如,在裝載期間),系統使用物理引擎以回應於將物件放置於傳輸容器中之一特定位置處來評估一穩定性。作為另一實例,在自傳輸容器移除一物件之後(例如,在卸載期間),系統可使用物理引擎來評估在移除物件之後剩餘之傳輸容器/裝載之穩定性。回應於判定一傳輸容器/裝載之穩定性係穩定的(例如,超過一預定穩定性臨限值),系統可將該傳輸容器/裝載視為穩定的並計劃一後續動作(例如,放置下一物件,或移除下一物件等)。相反地,回應於判定一傳輸容器/裝載之穩定性係不穩定的(或不足夠穩定,諸如小於一預定穩定性臨限值),系統可將該傳輸容器/裝載視為不穩定的且系統可實施一補救動作(例如,改良傳輸容器/裝載之穩定性)。
根據各項實施例,回應於判定一傳輸容器/裝載之穩定性不穩定(或不足夠穩定,諸如小於一預定穩定性臨限值),系統實施一補救動作。補救動作之實例包含(i)向一使用者提供一警示/指示,(ii)請求人類干預,(iii)判定且實施用以自引起不穩定性之傳輸容器/裝載移除一物件或調整引起不穩定性之傳輸容器/裝載內之物件之放置的一計劃,(iv)判定且實施用以將預期改良傳輸容器/裝載之穩定性(例如,改良穩定性以超過一預期穩定性臨限值)之一物件添加至傳輸容器/裝載的一計劃,(v)判定插入預期改良裝載之穩定性之一間隔件。在一些實施例中,實施一或多個補救動作。系統可至少部分基於一或多個補救動作可改良穩定性之一可能性(例如,可能性之一量度),及/或一或多個補救動作預期改良穩定性之一程度(例如,程度之一量度)來選擇實施之一或多個補救動作。
在一些實施例中,物理引擎係包括於藉由一電腦系統載入及/或執行之一模組中,該電腦系統控制機器人執行一組物品之裝載/卸載。在一些實施例中,物理引擎係包括於藉由一遠端系統(例如,一伺服器)載入及/或執行之一模組中。例如,物理引擎可託管為由一或多個機器人系統呼叫以評估一傳輸容器/裝載之穩定性或預期穩定性等之一服務。
結合物理引擎之調用,系統至少部分基於與工作區(諸如傳輸容器)、正在遞送或已遞送至工作區之物件、待裝載至傳輸容器/自傳輸容器卸載之物件之屬性有關之感測器資料來判定穩定性或預期穩定性。作為一實例,可由與執行裝載/卸載之機器人手臂操作之工作區相關聯之一視覺系統獲得感測器資料。在一些實施例中,物理引擎判定或獲得傳輸容器/裝載之一模型。該模型係至少部分基於感測器資料而產生。可藉由物理引擎調用之一模型化模組來產生傳輸容器/裝載之模型等。在一些實施例中,模型包括與傳輸容器/裝載中之一或多個物件相關聯之一或多個屬性。一物品之一屬性之實例包含大小(例如,長度、寬度、高度等)、重量、重心、包裝類型、剛度之一量度、物品是否剛性之一指示、一識別碼(例如,一條碼、標記等)、可變形性之一量度、物件是否可變形之一指示。其他屬性可包含於模型中或與模型相關聯。根據各項實施例,物理引擎至少部分基於傳輸容器/裝載之模型來判定傳輸容器/裝載之一穩定性。作為一實例,物理引擎基於傳輸容器中之一或多個物品之一位置(或相對位置)及至少一個物品之至少一個屬性來判定傳輸容器/裝載之一穩定性。
在一些實施例中,系統找到一初步解決方案且接著迭代地尋求改良針對一或多個預定義目標之解決方案。例如,在判定分配之情況下,系統使用分配模組來判定一初步可行分配,且接著尋求改良分配以改良裝載/卸載之運行時間(例如,用於裝載分區組之個別或集體運行時間),改良分區之預期裝載之穩定性,改良分區之裝載之重量分布等。在一些實施例中,系統使用一或多種啟發法來對一初步解決方案進行智能猜測。可基於將物件裝載至一傳輸容器/自一傳輸容器卸載物件之歷史模擬之一訓練集以經驗判定該一或多種啟發法。例如,基於實施一機器學習程序以推斷與一對應評分值(例如,根據一預定義評分函數判定)超過一最小評分臨限值之解決方案相關聯之啟發法來判定一或多種啟發法。啟發法之實例可包含首先裝載重物件(例如,一預期重量超過一預定義重量臨限值),首先裝載大物件(例如,物件之一預期體積或尺寸超過一預定義大小臨限值),將重或大物件配置於傳輸容器之底部附近(例如,在傳輸容器之底板上或在第一組物件列內等),緩衝易碎或可變形物件(例如,一易碎性或可變形性超過一對應預定義易碎性臨限值或可變形性臨限值)或以其他方式朝向裝載傳輸容器之末端裝載此等物件或朝向傳輸容器中之物件之一頂列裝載此等物件等。可實施各種其他啟發法。
系統找到在兩個傳輸容器之間分配物件之一初步解決方案之一實例係為各物件指派一編號(例如,根據提供物件之一序列),且將對應於一偶數之物件指派至一第一傳輸容器及將對應於一奇數之物件指派至一第二傳輸容器。系統接著根據此一分配模擬裝載以評定解決方案是否可行(例如,一評分值超過一預定義評分臨限值)。在一些實施例中,系統迭代地嘗試改良解決方案。迭代地嘗試改良解決方案之一實例係藉由改變分配,諸如藉由改變物品之序列,或在分區之間重排物品。系統執行一模擬並呼叫模型以評估解決方案之各種迭代結合識別可行解決方案。作為另一實例,回應於判定一初步解決方案或一解決方案之一迭代,系統分析裝載(例如,傳輸容器中之該組物件之裝載之一模型)及判定預期已引起不穩定性或預期對密度產生負面影響之物件放置。回應於識別預期對密度、穩定性、重量分布等產生負面影響之放置,系統判定此(等)物件之一替代放置以改良密度、穩定性、重量分布等。系統模擬替代放置並評估裝載以判定配置是否對應於一可行解決方案。
在一些實施例中,定序模組經組態以執行以下一或多者:(i)獲得將物件組提供至工作區之一順序;(ii)將物件組裝載至傳輸容器(例如,放置於傳輸容器中)/自傳輸容器卸載物件組之一順序;(iii)判定在將物件組裝載至傳輸容器之前是否對物件組重新定序;(iv)回應於判定將對物件組重新定序,判定物件組之一重新定序;(v)判定用於物件組之重新定序之一計劃等。定序模組至少部分基於將物件提供至工作區(例如,由輸送機運送)之一順序、重新定序之一能力(例如,工作區是否包括一緩衝區之一指示)、用於將物件組裝載至傳輸容器之一當前計劃來判定是否對物件組重新定序。例如,回應於判定將物件遞送至工作區之一序列與物件之預期序列不一致(例如,不相同,或一或多個物品偏離經計劃序列之一程度) (例如,至少部分基於用於裝載物件組之計劃)及判定機器人系統能夠對物品重新定序(例如,裝運設施具有其中機器人停靠一物件同時放置遞送至工作區之其他物品之一緩衝區),系統判定對遞送至工作區之物件重新定序及用於對物件重新定序之一計劃。系統提供計劃作為一輸出,諸如用於使一機器人系統控制一機器人手臂以實施對物件重新定序之計劃。
在一些實施例中,定序模組至少部分基於以下一或多者來判定是否對物件組及/或物件組之一經更新序列重新定序:(a)待裝載之一組物件之一指示,(b)待裝載之該組物件之一有序序列,(c)序列可經重新排序之一程度(例如,該程度可由諸如緩衝區之物理硬體約束或由指定輸入序列與輸出序列之間的一最大所容許編輯距離之一預定義臨限值約束),(d)容許用於實體裝載傳輸容器之一最大裝載時間,(e)容許用於諸如在一裝運目的地處實體卸載傳輸容器之一最大卸載時間,(f)定序模組用以提供一最佳解決方案之一最大運算時間限制。
在一些實施例中,定序模組在一最大運算時間限制內傳回一經建議解決方案。定序模組可利用經典的組合最佳化技術,諸如搜尋、取樣、定界、變分最佳化及迭代方法。在一些實施例中,定序模組包含使用機器學習程序訓練之一模型。該模型可在特定於一特定客戶之分布之問題(例如,特定於一裝運設施、物件之類型或傳輸容器之類型之問題)上離線訓練。作為一實例,使用客戶觀察之問題分布來訓練模型。機器學習程序係用於改良用於以一資料驅動方式對物件定序之一可行解決方案之一搜尋。例如,機器學習程序係用於學習併入有實體性質且遵守空間同變性之物件包裝之表示。
在一些實施例中,系統判定自一或多個進港傳輸容器卸載待裝載至一或多個出港傳輸容器之物件之一順序。作為一實例,系統儲存與各進港傳輸容器相關聯之一載貨單,且該載貨單指示在進港傳輸容器中運送之一組物件及/或裝載該組物件之一方式(例如,裝載之一配置或其他特性等)。系統使用載貨單結合判定用以卸載進港傳輸容器之一計劃,且系統使用載貨單及/或計劃結合判定物件將被提供至裝載(若干)出港傳輸容器之機器人系統之工作區或對物件進行分類以用於遞送至適當出港傳輸容器之一分類台之順序。作為另一實例,在裝載傳輸容器時判定用於卸載進港傳輸容器之計劃(例如,結合最佳化傳輸容器之集體裝載及卸載),且系統獲得計劃並判定將物件提供至裝載(若干)出港傳輸容器之機器人系統之工作區或分類台之一順序。
在一些實施例中,定序模組至少部分在卸載台對物件組重新定序。例如,系統獲得用於自一對應進港傳輸容器卸載物件組之計劃,該計劃包含卸載物品(例如,且因此遞送至工作區或分類台)之一順序之一指示。回應於判定至少部分在卸載台對物件組重新定序,系統更新用於卸載物件組之計劃。作為一實例,對用於卸載物件組之計劃之更新包含以一不同順序卸載物件以引起遞送至裝載(若干)適用傳輸容器之(若干)機器人系統之(若干)工作區或分類台之物件被相應地重新定序。作為另一實例,對用於卸載物件組之計劃之更新包含引起自進港傳輸容器抓握物件之機器人系統將一或多個物件停靠於一緩衝區中,直至(若干)特定其他物件自傳輸容器移除並提供至分類台或裝載台(例如,放置於將物件運送至分類台或裝載台之一輸送結構上)。
在一些實施例中,定序模組操作以尋求藉由判定將物件提供至經控制以執行物件之裝載之機器人系統之工作區的一順序來最佳化一或多個傳輸容器之一裝載。結合判定是否對物件重新定序或對物件重新定序之一方式,模型之各項實施例實施一或多個其他模組以評定一分區之可行性。一或多個其他模組之實例包含:(a)判定工作區或傳輸容器之一模型(例如,一幾何模型)之一模型化模組,(b)模擬拾取/放置操作以模擬一或多個物件至傳輸容器之裝載/自傳輸容器之卸載之一模擬模組,(c)模擬一傳輸容器/裝載之物理特性(諸如模擬作用於物件上或物件之間的力)之一物理引擎。由模型調用之一或多個模組係用於評估以下一或多者:一傳輸容器中之物件之一密度、預期裝載至傳輸容器之物件之一數目、一傳輸容器中之一裝載之一穩定性、傳輸容器中之裝載之一重量分布、用於實施裝載/卸載傳輸容器之一預期運行時間。一或多個模組可經實施以評估沿著各種其他維度之裝載。
結合判定是否對物件重新定序或對物件重新定序之一方式,定序模組引起模擬物件組之一裝載及/或卸載。例如,用於計劃裝載/卸載物件組之模型可呼叫模擬裝載/卸載之一模擬模組,結合使用定序模組來判定一重新定序操作。在一些實施例中,模型(例如,定序模組)聯合考量(i)傳輸容器在一接收裝運設施處卸載,及(ii)在出港裝運設施處裝載傳輸容器。例如,定序模組判定集體最適於裝載及卸載之序列。作為一實例,基於物件序列將在卸載傳輸容器時導致超過抵消效率之一判定,可選擇對於裝載一傳輸容器不太理想的一物件序列。在一些實施例中,系統基於用於裝載對應物件子集之評分值及用於卸載對應物件子集之評分值之一平均值來對待裝載之物件組之一定序進行評分。例如,系統可使用用於裝載及卸載物件子集之評分值之一經加權平均值。
在一些實施例中,系統(例如,定序模組)選擇具有以下兩者之物件序列:(i)根據預定義評分函數之最高評分及(ii)滿足一或多個可行裝載準則。可行裝載準則之實例包含:(a)裝載、卸載或集體裝載及卸載之最大時間量,(b)裝載至傳輸容器之物件之一最小預期密度,(c)裝載至傳輸容器之總物件之一最小數目,(d)裝載至傳輸容器之物件子集之一最小穩定性,(e)滿足一或多個準則之一重量分布,諸如重量分布於對應於預期運送傳輸容器之一卡車之車輪之傳輸容器之位置處或以其他方式分布於在傳輸期間支撐傳輸容器之傳輸容器之位置處等。可實施各種其他可行裝載準則。一或多個可行裝載準則可為使裝載被視為可行而裝載一組物件之最低要求。
在一些實施例中,定序模組基於可用於裝載/卸載一組物件之資源及/或可用於對該組物件重新定序之資源對解決方案空間定界。定界之實例包含:(i)基於其中預期裝載該組物件之一傳輸容器之尺寸之尺寸定界(例如,不同傳輸容器可具有不同尺寸或組態(例如,用於裝載/卸載之不同類型之門或進出能力)),(ii)該組物件或傳輸容器被指派至之一裝載/卸載隔間之一或多個特性(例如,能力、限制等),(iii)被指派至裝載/卸載該組物件之人員(例如,被指派至裝運設施之一特定裝載/卸載隔間之人員之特性),(iv)用於實施裝載/卸載該組物件之一運行時間,(v)用於判定一可行解決方案之一運行時間,(vi)裝運設施之一儲存、布局及路由硬體,諸如裝運設施是否具有可實施為一緩衝區以停靠物品及促進在裝載/卸載期間對物品重新定序之一區域的一指示(例如,(若干)緩衝區之一容量或緩衝區可用於停靠物件之程度),(vii)可用裝載/卸載硬體(諸如機器人手臂、機器人操作之叉車或其他模態),及其特性(例如,能力、限制等,諸如一機器人手臂可經組態以避免/限制尷尬姿勢之程度等),(viii)待裝載/卸載之該組物件(例如,待自位置A傳輸至位置B之該組物件),(ix)該組物件中之所有物件將配裝於一特定傳輸容器內之一要求,(x)裝載/物件在傳輸期間穩定之一要求,(xi)機器人系統將能夠在輸入之最大裝載時間(例如,一預定義時間約束)內裝載卡車之一要求。可結合判定用於分配該組物件之一解決方案來實施各種其他類型之定界。
倘若定序模組不能在運算時間限制(例如,運行時間約束)內達成一最優/最佳(optimal/best)解決方案,則定序模組輸出可在一最大裝載時間內執行之一穩定包裝順序。在一些實施例中,定序模組嘗試尋求在其運行時間期間最大化配裝於傳輸容器內之物件之數目之一解決方案(例如,經受物件優先排序,諸如分別與該組物件相關聯之一組優先級)。
在一些實施例中,系統儲存對該組物件中之物件之一優先級指派。例如,系統儲存物件至優先級之一映射。各自優先級可對物件進行排序或可識別其中類似分類之物件被視為相同優先級之一優先級分類(例如,高優先級、中等優先級、低優先級,或一特定物件(例如,待卸載之一第一或最後物件)必須包含於一特定傳輸容器上或傳輸容器中之一特定位置處之一要求。系統可基於與各種物件相關聯之優先級來判定用於對該組物件定序之解決方案。
在一些實施例中,系統找到一初步解決方案且接著迭代地尋求改良針對一或多個預定義目標之解決方案。例如,在判定定序之情況下,系統使用定序模組來判定一初步可行定序,且接著尋求改良分配以改良裝載/卸載之運行時間(例如,用於裝載分區組之個別或集體運行時間),基於裝載物件之順序改良預期裝載之穩定性,基於裝載物件之順序改良裝載之重量分布等。在一些實施例中,系統使用一或多種啟發法來對一初步解決方案進行智能猜測。可基於將物件裝載至一傳輸容器/自一傳輸容器卸載物件之歷史模擬之一訓練集以經驗判定該一或多種啟發法。例如,基於實施一機器學習程序以推斷與一對應評分值(例如,根據一預定義評分函數判定)超過一最小評分臨限值之解決方案相關聯之啟發法來判定一或多種啟發法。啟發法之實例可包含首先裝載重物件(例如,一預期重量超過一預定義重量臨限值),首先裝載大物件(例如,物件之一預期體積或尺寸超過一預定義大小臨限值),將重或大物件配置於傳輸容器之底部附近(例如,在傳輸容器之底板上或在第一組物件列內等),緩衝易碎或可變形物件(例如,一易碎性或可變形性超過一對應預定義易碎性臨限值或可變形性臨限值)或以其他方式朝向裝載傳輸容器之末端裝載此等物件或朝向傳輸容器中之物件之一頂列裝載此等物件,強制執行一定序以確保相對較大或較重的物件在物件之順序開始時被提供至工作區(例如,以有利於首先裝載大/重物件)等。可實施各種其他啟發法。
系統找到在兩個傳輸容器之間對物件定序之一初步解決方案之一實例係判定將物件遞送至工作區之一順序(諸如藉由基於一視覺系統偵測一輸送機上之物品),或基於重量或大小(例如,沿著一維度0之體積或長度,或其等之一組合)判定物品之一順序。系統接著根據此一順序裝載以評定解決方案是否可行(例如,一評分值超過一預定義評分臨限值)。在一些實施例中,系統迭代地嘗試改良解決方案。迭代地嘗試改良解決方案之一實例係藉由改變定序(例如,改變裝載物件之順序及判定將物件遞送至工作區之一順序以完成此順序,包含考量可緩衝物件之程度)。系統執行一模擬並呼叫模型以評估解決方案之各種迭代結合識別可行解決方案。作為另一實例,回應於判定一初步解決方案或一解決方案之一迭代,系統分析裝載(例如,傳輸容器中之物件組之裝載之一模型)及判定預期已引起不穩定性或預期對密度產生負面影響之物件放置。回應於識別預期對密度、穩定性、重量分布等產生負面影響之放置,系統判定此(等)物件之一替代放置以改良密度、穩定性、重量分布等。系統模擬替代放置並評估裝載以判定配置是否對應於一可行解決方案。
在一些實施例中,系統實施一輕量級模型,該輕量級模型係用於與傳輸容器之裝載一致地快速判定物件之一重新定序,諸如回應於判定將物件遞送至工作區之一順序不同於預期順序(例如,藉由一定序模組離線判定之順序)或判定一特定放置對裝載產生負面影響(例如,引起一不穩定性或不足密度)。
在一些實施例中,系統實施一重量分布模組,該重量分布模組判定一裝載(例如,裝載至一傳輸容器之一組物件)之一重量分布,分析該裝載之該重量分布,及判定負載之重量分布是否滿足一或多個重量分布準則(例如,一可行裝載準則)。例如,重量分布模組基於物件之一特定分區、裝載物件之一序列及/或物件之配置(例如,待裝載至傳輸容器之物件之放置之集合)來判定一裝載之一重量分布。此外或視需要,重量分布模組提供用於改變一裝載(例如,更新用於裝載物件組之一計劃)之一建議以改良重量分布或以其他方式判定預期引起裝載滿足一或多個重量分布準則之一或多個改變。一或多個重量分布準則指示裝載在運輸期間是否預期為安全的及/或裝載是否預期為穩定的(例如,降低一或多個物件在運輸期間將掉落之可能性,諸如低於一對應預定義臨限值)。
重量分布準則之實例包含:(a)重量分布於一或多個預定義區域(例如,接近於預期支撐傳輸容器之一位置之區域,諸如對應於一傳輸卡車之車輪之一位置之區域等)上方之一程度,(b)在一或多個預定義區域上方之重量之一臨限百分比,(c)相對較重物件(例如,具有超過一預定義重量臨限值之重量之物件)朝向底部(例如,在傳輸容器之四分之一底部或三分之一底部等內)安置之一程度,(d)在一或多個預定義區域上方之負載之彙總之一臨限百分比,(e)在傳輸容器之底部之一臨限距離(例如,四分之一底部、三分之一底部等)內之彙總負載之一臨限百分比,(f)相對較輕物件(例如,具有小於一預定義重量臨限值之重量之物件)朝向頂部(例如,在傳輸容器之四分之一頂部或三分之一頂部等內)安置之一程度,(g)在傳輸容器之頂部之一臨限距離內之彙總之一臨限百分比(例如,彙總負載之少於百分之二十在傳輸容器之四分之一頂部或三分之一頂部內),(h)距傳輸容器之底部超過一臨限距離之重物件之一臨限數目(例如,不超過三個或另一預定義數目個被視為重的物件在傳輸容器中之裝載之上半部分中),(i)在傳輸容器之底部之一臨限距離內之輕物件之一臨限數目,(j)安置於一輕物品或一可變形物品上方(例如,擱置於其上)之重物品之一臨限百分比或數目,(k)在一預定義區域上方之負載之重量之一臨限量(例如,每平方英尺之重量),(l)負載集中在輪胎或其他支撐件周圍等。可實施各種其他重量分布準則。
在一些實施例中,基於使用歷史負載資料訓練之一機器學習模型來判定重量分布準則。作為一實例,基於預期在運輸期間遇到之力來訓練模型。作為另一實例,基於被視為安全之裝載及被視為不安全之裝載(例如,在運輸期間發生意外或在運輸期間許多物件掉落之裝載輪廓)來訓練模型。作為另一實例,基於一車輛或傳輸容器使用年限來訓練模型。例如,訓練模型以模擬經受長期有效負載重量分布之一卡車硬體使用年限。
在一些實施例中,重量分布模組執行一電腦模擬以預測及/或量測對一物件或給定一分區之一組物件(或待裝載之經定義物件組)之損壞風險、與用於裝載該組物件之一計劃相關聯之一排序、一配置及/或一重量分布。回應於判定預期損壞風險超過一預定義風險臨限值,重量分布模組將裝載視為不可行裝載。
在一些實施例中,重量分布模組(例如,重量分布機器學習模型)在給定一特定有效負載重量分布的情況下模擬卡車裝卸。重量分布模組基於模擬判定負載之重量分布是否滿足一或多個重量分布準則。
在一些實施例中,重量分布模組模擬經受裝載之特定重量分布之一硬體使用年限(例如,一卡車使用年限、一傳輸容器使用年限等)。重量分布模組基於模擬判定負載之重量分布是否滿足一或多個重量分布準則。例如,若負載預期對硬體之使用年限產生負面影響或對使用年限的負面影響超過一預定義使用年限磨損臨限值,則重量分布模組判定負載不滿足一或多個重量分布準則(例如,裝載被視為不可行的)。
在一些實施例中,重量分布模組至少部分基於一物件屬性判定一裝載是否滿足一或多個重量分布準則。例如,模型(例如,重量分布模組)考量一物件之一脆弱性或穩健性結合判定一組物件之一裝載、一分配及/或一定序。可基於(例如)自一視覺系統獲得之資訊來偵測脆弱性或穩健性,或可諸如基於脆弱性之一手動指派來定義脆弱性或穩健性等。
在一些實施例中,系統查詢重量分布模組結合判定一分配(或是否分配)及/或判定一定序。例如,系統查詢重量分布模組以驗證物件之一潛在配置(或一特定物件之配置)之重量分布是否滿足一或多個重量分布準則。例如,模型呼叫重量分布模組結合執行將物件裝載至一傳輸容器之一模擬以用於判定該組物件之分配及/或定序。
在一些實施例中,系統100查詢重量分布模組(例如,重量分布模型之一輕量級版本)以與控制機器人手臂102以將物件裝載於傳輸容器150中一致。系統100查詢重量分布模組以評定裝載至傳輸容器150之物件之一當前重量分布或判定一特定放置(例如,一當前放置)是否違反一重量分布準則。線上重量分布模組快速評定負載分布(諸如藉由關於一或多種啟發法評估當前裝載)及提供裝載或一當前放置是否違反重量分布準則之一指示。回應於判定裝載或一當前放置將引起違反該(等)重量分布準則,系統100可執行一主動措施以糾正重量分布。例如,重量分布模組提供預期引起不恰當/不可行重量分布之一或多個物件之一指示及/或對糾正或改良重量分布之計劃之一經建議更新之一指示。重量分布模組可提供重量分布違反/失衡之一解釋。例如,重量分布模組提供用於調整裝載至傳輸容器150之一或多個物件之放置之一建議及/或用於調整待放置至傳輸容器150之物件之放置(或調整放置物件之順序)之一建議。
在一些實施例中,系統100至少部分基於一或多種啟發法判定一初始解決方案(例如,一初始分區、一初始序列、一初始配置等,或其等之任何組合)。系統100接著自初始解決方案迭代,諸如藉由改變解決方案之一或多個維度(例如,改變一分配,改變一序列等)及評定後續解決方案是否在先前迭代時改良。若系統100判定一迭代與一先前迭代相比不太理想或一迭代係一不可行解決方案(例如,重量分布將違反一重量分布準則等),則系統100摒棄此迭代並繼續對解決方案進行迭代。作為一實例,系統100監測以判定一解決方案是否相對於一當前/先前迭代改良或惡化,且系統100可學習預期導致不可行解決方案或具有小於一預定義評分臨限值之一評分值之解決方案之一或多個特性。在模擬一迭代期間,系統100在判定解決方案不可行時停止迭代之模擬或評定。例如,系統100在解決方案之模擬期間監測特定值及規則且預測一解決方案是否將為一可行解決方案或其是否滿足或違反任何其他預定義準則。
可結合訓練(若干)模型實施之機器學習程序之實例包含隨機森林、線性迴歸、支援向量機、樸素貝葉斯、邏輯迴歸、K最近鄰、決策樹、梯度增强決策樹、K均值叢集化、階層式叢集化、具有雜訊之應用之基於密度之空間叢集化(DBSCAN)叢集化、主分量分析等。在一些實施例中,系統訓練一XGBoost機器學習分類器模型。作為一實例,至分類器(例如,XGBoost機器學習分類器模型)之輸入係一經組合特徵向量或特徵向量集,且基於該經組合特徵向量或特徵向量集,分類器模型判定(i)物件之一裝載之一重量分布,(ii)一組物件之一裝載是否可行(例如,安全、高效),(iii)一組組件至N個物件子集中之一分配(例如,N個分區),(iv)待裝載至一特定傳輸容器中之物件之一定序/排序,(v)待裝載至一特定傳輸容器中之物件之一配置/定向等。
儘管前文實例係在將一組物件裝載至一或多個傳輸容器中之一系統之背景內容中論述,但機器人系統亦可結合自一或多個傳輸容器卸載一組物件來使用。
圖2A及圖2B係繪示根據各項實施例之一組物件在一傳輸容器中之配置之圖式。例如,圖2A及圖2B展示自傳輸容器之後部之一視圖。
在圖2A中所展示之實例中,系統獲得物件211至239之配置200。系統基於一或多個邊界條件(諸如傳輸容器之側壁201至204之位置)判定配置200。結合判定配置200,系統可產生/模擬用於物品之放置之一幾何模型諸如以根據一預定義評分臨限值最佳化配置(或以其他方式在一預定義運算運行時間內選擇一最佳配置)。回應於判定配置200,系統基於預定義評分臨限值對配置200進行評分。例如,所獲得之評分值指示配置之品質(例如,優度)。配置200具有一相對較高物件密度(例如,系統已判定在物件之間不具有空間之一裝載)。因此,配置200至少沿著密度維度具有一高評分值,然而,配置200沿著其他維度(諸如重量分布、裝載物件組之時間、在負載內之物件之數目等等)可不太高,
在圖2B中所展示之實例中,系統獲得物件251至276之配置250。系統基於傳輸容器之側壁201至204之位置對用於物件251至276之配置之解決方案定界。回應於判定配置250,系統基於預定義評分臨限值對配置250進行評分。儘管配置250具有一相對較高物件密度,但配置250具有一較低密度(至少在自傳輸容器之後部之視圖中)。例如,配置250在特定物件之間具有若干間隙/間距,諸如在物件252上方之一間隙、在物件262與265之間的一間隙、在物件265與266之間的一間隙、在物件253與257之間的一間隙等。
圖3A、圖3B及圖3C係繪示根據各項實施例之一組物件在一傳輸容器中之一重量分布之圖式。在所展示之實例中,一物件之一重量係藉由物件之陰影表示。一物件之重量係基於陰影繪示,諸如一較緻密陰影表示一較重或較緻密物件。例如,一未加陰影物件表示一輕物件(例如,重量小於一第一重量臨限值),具有一垂直陰影(例如,物件322之陰影)之物件係一相對較重物件(例如,重量大於一第二重量臨限值且小於一第三重量臨限值),具有一對角線影線(例如,物件326之陰影)之物件係一相對較重物件(例如,重量大於第三重量臨限值且小於一第四重量臨限值),具有一緻密點狀陰影(例如,物件311之陰影)之物件係一相對較重物件(例如,重量大於第四重量臨限值且小於一第五重量臨限值),且具有一較暗/較緻密交叉影線陰影(例如,物件310之陰影)之物件係一相對較重物件(例如,重量大於第五重量臨限值)。在此實例中,第一重量臨限值小於第二重量臨限值;第二重量臨限值小於第三重量臨限值;第三重量臨限值小於第四重量臨限值;且第四重量臨限值小於第五重量臨限值。
在一些實施例中,系統使用一模型來評定一裝載之重量分布。作為一實例,系統實施一重量分布模組,該重量分布模組經組態以評估一組物件之一裝載之重量分布,判定該裝載之重量分布是否滿足一或多個重量分布準則,提供裝載是否滿足一或多個重量分布準則之一指示(例如,包含引起一違反之(若干)物件之一識別),及/或提供用於解決對一或多個重量分布準則之違反之一建議。可查詢重量分布模組以評估裝載,諸如結合根據一預定義評分函數判定一評分值,或作為確認以其他方式可行之一解決方案是否滿足一或多個重量分布準則之一驗證器。
在圖3A中所展示之實例中,一傳輸容器中之一組物件(例如,物件310-316、318-324、326-328、330-336)之裝載300至少部分由側304、305、306、307界定。傳輸容器經展示為由包括車輪302、303之拖車301運送。如所繪示,裝載300之重量分布相對集中於由車輪302、303支撐之傳輸容器之區域周圍。另外,裝載300之重量分布指示較重物件更靠近傳輸容器之底部,且較輕物件更靠近傳輸容器之頂部。系統分析裝載300以評定重量分布是否指示以下一或多者:(i)一不安全裝載,(ii)產生相對較高磨損之一裝載(例如,拖車或卡車之使用年限減少一使用年限臨限值之一可能性小於一預定義可能性臨限值),(iii)一臨限量之物件(例如,一定數目個物件、一定體積之物件等)將在傳輸期間掉落之一可能性,(iv)一或多個物件可能由傳輸容器中較高位置之較重物件壓碎的一可能性等。
在圖3B中所展示之實例中,提供一組物件351至376之裝載350。如所繪示,與裝載300相比,裝載350之重量分布較少集中於由車輪302、303支撐之傳輸容器之區域周圍。例如,裝載350在不位於車輪302、303上方之區域中包括較重物件,或較高之較重物件朝向傳輸容器之頂部安置(例如,物件362、365、367)。作為另一實例,較輕物件(例如,物件352、353、364、368、370等)分散在整個傳輸容器內,包含在更靠近傳輸容器之中間及底部之位置處。重量分布模組判定一些較重物件安置於較輕物件上方,此可引起特定易碎或可變形物件被損壞。例如,重量分布模組可將物件365之放置識別為引起違反一或多個重量分布準則,諸如因為物件365係一較重物品且朝向傳輸容器之頂部安置,且物件365安置於輕物件366上方。例如,重量分布模組可將物件362之放置識別為引起違反一或多個重量分布準則,諸如因為物件362相對較重且朝向傳輸容器之頂部安置,或不在傳輸容器之底部之一預定義範圍內(例如,在傳輸容器之一半底部或三分之一底部內)。重量分布模組亦可判定裝載350違反一或多個重量分布準則,因為重量在由車輪302、303支撐之區域周圍分布之程度小於一重量分布臨限值(例如,因為重量在前輪與後輪之間朝向傳輸容器之中心分布)。
如圖3A至圖3C中所繪示,系統判定沿著傳輸容器之長度及/或傳輸容器之寬度之重量分布。在圖3C中所展示之實例中,系統判定物件之裝載之重量分布係跨車輛之寬度判定。例如,系統尋求平衡分布於各側上之重量及/或使重量分布在寬度方向上集中於車輛之輪胎上方。如所繪示,裝載380之重量分布相對集中,使得沿著寬度之重量分布對應於車輪之放置。例如,較重物件382及384分別提供於左輪及右輪上方。
圖4A及圖4B係繪示根據各項實施例之一組物件在一傳輸容器中之一配置之圖式。在所展示之實例中,物件412至426之裝載400、450係在至少部分由壁402、404、406界定之一傳輸容器內繪示。在一些實施例中,裝載400、450係經模擬裝載,諸如在分配、定序、重量分布之評估或一裝載是否可行之評定期間產生之裝載。在一些實施例中,裝載400、450對應於放置於傳輸容器中且藉由視覺系統430偵測之物件之裝載。例如,系統可將由視覺系統430擷取之資訊分段。
結合判定用以將該組物件裝載至傳輸容器之一計劃,系統評估裝載。例如,系統評估裝載以判定該組物件之一分配(若有)。作為另一實例,系統評估裝載以判定該組物件之一定序或重新定序。系統評估一裝載以判定裝載是否係一可行裝載,諸如藉由判定裝載是否違反一或多個重量分布準則。
在一些實施例中,系統至少部分基於根據一預定義評分函數對裝載進行評分來評估一裝載。例如,系統判定與裝載相關聯之一評分值,且系統至少部分基於該評分值(例如,評分值超過一預定義最小評分臨限值)來判定裝載是否係一可行裝載。
在所展示之實例中,裝載400可被視為不如裝載450有利。例如,系統可判定物件412不穩定地安置於物件426上,因為物件412之至少部分(例如,一臨限量)未由物件426支撐。系統可判定物件412在傳輸期間掉落之可能性超過一預定義臨限值,或系統可以其他方式判定物件412之放置引起一不穩定性(例如,裝載不穩定之一可能性大於一預定義不穩定性臨限值)。作為另一實例,系統可判定物件420不穩定地定位,因為物件420相對較長且未完全由物件418支撐。
與裝載400相比,裝載450相對較穩定。例如,裝載450包含安置於傳輸容器之底部而非部分安置於物件418上之物件420。類似地,裝載450包含安置於物件426上之物件412,使得物件412完全安置於物件426上(例如,完全由物件426支撐)。
在一些實施例中,系統判定對可能解決方案(例如,用於分配、定序、配置等之解決方案)之解決方案空間定界或修整之一方式。作為一實例,系統產生一樹結構/圖表,其中各節點對應於關於一物件之一決策(例如,物件之一放置、與一特定分區之關聯、提供物件之序列中之一順序等)。系統接著可判定使樹結構跳脫(trip)以消除不可行解決方案或不滿足一或多個預定準則之解決方案之一方式。作為另一實例,系統至少部分基於一或多個約束對解決方案空間定界。一約束之一實例係系統在其內判定一解決方案之一運行時間。在一解決方案之一線上判定之情況下,運行時間可為5秒或更少。在一解決方案之一離線判定之情況下,運行時間可為12小時或更少等。
系統可使用一啟發法來猜測一解決方案(例如,一分區、一序列、一配置等)且接著評估該猜測並相應地對搜尋空間修整/定界。
圖5A係根據各項實施例之對應於物件之不同狀態或放置之一樹。在一些實施例中,圖1之系統100判定或使用搜尋空間500結合判定一或多個物件之一(若干)放置,諸如一當前(例如,來自待放置之一組物件當中的下一物件)。在一些實施例中,系統離線判定放置,諸如藉由模擬至一或多個傳輸容器中之物件之分配、定序及/或配置之一伺服器。
儘管圖5A及圖5B提供根據各項實施例之放置之狀態,但系統可在其他背景內容中實施類似迭代模擬及/或評估,諸如結合判定一組物件之一分配來評估分區,結合判定一組物件之一定序/重新定序來評估物件之一序列等。
在圖5A中所繪示之實例中,搜尋空間500係用一樹結構表示。搜尋空間500包括複數個節點,且各節點可對應於一物件之放置之一案例且各分支可對應於一當前物件在一特定物件處及在一特定定向中之一放置。
搜尋空間500包括根節點502。根節點502對應於物件之棧板/堆棧之一當前狀態。例如,系統查詢一狀態估計服務/模組以獲得一經估計狀態且使用此經估計狀態作為根節點502處之狀態。
回應於判定根節點,系統迭代地判定一組接下來物件之放置。例如,系統基於不同接下來物件之放置行進通過樹之不同階。節點504、506、508及510對應於第一個接下來物件(例如,系統針對其判定一最佳放置之物件)之放置。作為一實例,節點504、506、508及510係分別對應於第一個接下來物件之不同放置(例如,不同位置及/或不同定向,或在允許系統緩衝一些物件的情況下之不同物件)之一階節點。如圖5A及圖5B中所繪示,節點504、506、508及510之各者具有分別自其分支之二階節點。例如,節點512、514、516及518自節點504分支。二階節點之各者分別對應於第二個接下來物件之不同放置(例如,不同位置及/或不同定向,或在允許系統緩衝一些物件的情況下之不同物件)。在系統判定對應於各節點之放置時,系統判定模擬自剩餘物件之放置之節點分支之節點。例如,回應於判定節點512之放置,系統判定節點520、522、524及526 (例如,系統判定節點之經估計狀態及相關聯資訊)。
若系統將分析搜尋空間500中之各節點處之穩定性,則此一分析可能運算成本高昂。因此,如圖5B中所繪示,各項實施例修剪搜尋空間以限制待結合判定一物件(例如,第一個接下來物件)之放置來判定其狀態/穩定性之節點之數目。
圖5B係根據各項實施例之對應於物件之不同狀態或放置之一樹。在一些實施例中,圖1之系統100判定或使用搜尋空間530結合判定一或多個物件之一(若干)放置,諸如一當前(例如,來自待放置之一組物件當中的下一物件)。在一些實施例中,系統離線判定放置,諸如藉由模擬至一或多個傳輸容器中之物件之分配、定序及/或配置之一伺服器。
系統基於判定是否修剪及/或修剪搜尋空間500所藉助之一方式來判定搜尋空間530。經分段區域542、544、546及548對應於系統已判定為不利案例且因此自搜尋空間500 (例如,樹)修剪之樹之區域。
在一些實施例中,系統基於以下一或多者來判定一節點是否對應於一有利或不利案例:(i)用於與節點相關聯之放置之對物件堆棧之狀態之一模擬,及(ii)一或多種啟發法。在一些實施例中,系統模擬一階節點(例如,504、506、508及510)之物件堆棧之狀態,結合判定物件堆棧之一經估計狀態及一預期穩定性。在一些實施例中,對於具有高於一階節點之階之所有節點(例如,512、514、516、518、520、522、524、526等),系統使用一或多種啟發法來判定對應放置是否預期為一不利案例(例如,預期導致一穩定或不穩定堆棧,預期具有一顯著成本(諸如高於一成本臨限值之一成本),預期引起機器人定位於一尷尬姿勢中等)。
根據各項實施例,回應於基於一或多種啟發法判定放置之一狀態、一預期穩定性及/或有利性之一分析之一結果,系統判定是否修剪(若干)對應節點。若系統判定修剪一節點,則系統修剪該節點及自該節點分支之所有潛在節點。例如,回應於判定將修剪節點526 (例如,該節點對應於一不利案例),系統相應地基於此等節點直接或間接地自節點526分支而判定修剪節點532、534、536等。在一些實施例中,系統判定修剪節點532、534、536等,而無需使用一或多種啟發法進行進一步分析。例如,系統基於修剪節點526之判定來判定修剪節點532、534、536等。
在一些實施例中,在判定搜尋空間530之後(例如,在修剪搜尋空間500之後),系統判定下一物件(例如,一階節點之物件)之一最佳放置。系統可基於一預期穩定性、放置之一成本、放置下一物件及在下一物件之放置之後的M個物件之成本、在放置下一物件及在下一物件之放置之後的M個物件之後物件堆棧之一預期穩定性、放置之一有利性等之一或多者來判定最佳放置。
在一些實施例中,系統判定下一物件之最佳放置對應於節點508處之放置。例如,系統基於物件堆棧之狀態透過若干放置順序保持有利的(例如,具成本效益、穩定等) (例如,狀態保持有利於最高數目個後續物件之一放置等)之一判定來判定節點508處之放置係最佳的。在一些實施例中,系統判定節點538及540透過九個不同物件之放置(例如,下一物件及在下一物件之後的M個物件,其中在此實例中M係八)保持有利的。在一些實施例中,系統相對於搜尋空間530執行一定向搜尋以判定一最佳放置。
結合判定是否修剪一節點,系統可實施一修剪準則。該修剪準則可包含以下一或多者:(i)狀態預期具有小於一穩定性臨限值之一穩定性,(ii)狀態違反一啟發法(例如,一可變形物件放置於一物件堆棧之底部處或附近等),(iii)對應放置之一成本預期超過一成本臨限值,(iv)一機器人預期定位於一尷尬姿勢中,(v)物件堆棧之一預期密度小於一預定義密度臨限值等。
圖6係繪示根據各項實施例之用以分配待裝載至一組傳輸容器中之一組物件之一程序的一流程圖。在一些實施例中,程序600係藉由圖1之系統100,或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序600係藉由分配模組實施。例如,系統(例如,用於計劃物件之裝載之模型)呼叫分配模組以調用程序600。
在605,接收待裝載至一組傳輸容器中之一組物件之一指示。在一些實施例中,可至少部分基於自一工作區中之一或多個感測器(諸如偵測已遞送至或正在遞送至經組態以將物件裝載至傳輸容器之一機器人手臂之物件之一視覺系統)獲得之資訊來判定物件組之指示。在一些實施例中,系統自一資料結構獲得物件組之指示,諸如映射至一載貨單或訂單之一組物件,或待裝載至一傳輸容器或裝運至一特定目的地位置之其他物品清單。
在610,判定用以跨該組傳輸容器分配物件組之一計劃。回應於一組物件待裝載至一組傳輸容器中之指示,系統判定是否將跨複數個傳輸容器分配該組物件,且回應於判定跨該複數個傳輸容器分配該組物件,系統判定該組物件之分配(例如,該組物件映射至各分區或傳輸容器)。
系統尋求最佳化跨一或多個分區裝載物件組。例如,系統模擬複數個不同案例(例如,不同分配)且根據一預定義評分函數對分配進行評分。系統可選擇在一最大運算運行時間已期滿之後分配模組對其具有一可行解決方案之最佳分配(例如,最高效、最穩定、最高密度、最高評分值)。
在一些實施例中,各種分配之評分包含判定一分配中之各分區之一評分值及判定經模擬之各分配之一彙總分配評分值。作為一實例,一特定分配之彙總分配評分值可為該分配內之所有分區之一累積評分值。作為另一實例,一特定分配之彙總分配評分值可為該分配內之各個分區之評分值之一經加權平均值,且該經加權平均值之權重可諸如基於物品之一優先級預定義。在一些實施例中,若一分配內之任一個分區係一不可行分區(例如,該分區導致違反一重量分布準則或以其他方式作為一不安全負載之之一重量分布,該分區具有超過一預定義臨限值之一裝載時間等),則該分配被視為不可行的。對於各分配,系統可調用模擬該分配中之一或多個分區之各種配置或裝載之一模擬模組,諸如結合判定是否可針對分配內之分區獲得一可行分區。
系統至少部分基於選定分配(例如,一最佳分配、在一最大運算運行時間已期滿之後的一最佳分配、回應於系統在最大運算運行時間期間未判定一可行解決方案而使用一或多種啟發法快速判定之一可行分區等)來判定用以分配物件組之計劃。
在615,提供待結合裝載各種物件子集而使用之一計劃作為一輸出。在一些實施例中,將用以分配物件組之計劃提供至調用程序600之系統或模組(例如,用於判定裝載之模型)。在一些實施例中,將用以分配物件組之計劃提供至將物件組分段/分類(例如,產生分區)之一機器人系統或經組態以將各個分區裝載至各種傳輸容器之一機器人系統。
在620,進行關於程序600是否完成之一判定。在一些實施例中,回應於無進一步物件組將被裝載至傳輸容器組中之一判定,系統判定物件組已被裝載至傳輸容器組中,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收計劃之確認,一管理者指示程序600將被暫停或停止等,將程序600判定為完成。回應於程序600完成之一判定,程序600結束。回應於程序600未完成之一判定,程序600返回至605。
圖7係繪示根據各項實施例之用以分配待裝載至一組傳輸容器中之一組物件之一程序的一流程圖。在一些實施例中,程序700係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序700係藉由分配模組實施。例如,系統(例如,用於計劃物件之裝載之模型)呼叫分配模組來調用程序700。程序700可藉由圖6之程序600 (諸如在程序600之610)調用。
在一些實施例中,針對經評估之一分配內之各分區調用程序700,諸如以判定可行分配。
在705,獲得分配物件組之一指示。在一些實施例中,系統接收一組物件將被遞送至一(若干)目的地位置及將提供用於分配一組物件之一可行解決方案之一指示。
在710,獲得物件組之一指示。在一些實施例中,結合獲得分配物件組之指示,系統獲得待裝載及裝運至一(若干)目的地位置之物件組。作為一實例,系統獲得物件之一載貨單。獲得物件組之指示可包含獲得分別與物件相關聯之一或多個屬性。
在715,自物件組判定一物件子集。該物件子集可基於一模擬、一(若干)啟發法、一預定義評分/分派程序等來判定。
在一些實施例中,系統基於用於分配裝載之一或多種啟發法來判定一物件子集。作為一實例,該一或多種啟發法係使用機器學習程序獲得。機器學習程序判定預期指示可行分配(例如,其分區組係可行分區之分配)之一組啟發法。
在一些實施例中,系統至少部分基於一預定義分類/分派程序來判定物件子集。例如,系統可判定可用於運送物件組之傳輸容器之一數目,且將物件循序地分派至一特定傳輸容器。例如,若四個傳輸容器係可用的,則將一第一物件(例如,在將物件遞送至工作區之一系統處佇列之一第一物件,或自一進港傳輸容器卸載之一第一物件等)指派至第一傳輸容器;將第二物件指派至第二傳輸容器;將第三物件指派至第三傳輸容器;將第四物件指派至第四傳輸容器;將第五物件指派至第一傳輸容器;且將第六物件指派至第二傳輸容器;等等諸如此類。作為另一實例,系統可跨可用傳輸容器循序地指派大/重物件(例如,具有超過一預定義重量臨限值之一重量,或超過一大小臨限值之一大小/尺寸之物件),諸如以確保重物品跨可用傳輸容器之相對均勻分布。系統接著可跨可用傳輸容器指派不重或不大的物件(例如,循序地)。可實施各種其他預定義分類/分派程序。
在720,模擬物件子集至一傳輸容器之一裝載。在一些實施例中,系統呼叫一模擬模組來模擬一特定分區之物件子集之各種裝載(例如,配置、序列等)。例如,系統模擬一特定分區之物件子集之裝載以便判定是否可使用物件子集來組裝一可行分區或選擇分區之一最佳裝載。
在725,至少部分基於一預定義評分函數來判定物件子集之裝載之一評分值。系統至少部分基於一預定義評分函數來評估經模擬裝載。作為一實例,預定義評分函數可考量密度、重量分布、一物件將掉落之可能性、一物件在傳輸期間將被損壞之可能性等。在一些實施例中,預定義評分函數包括可行分區/裝載應滿足否則分區/裝載被視為不可行之一或多個準則。該一或多個準則之實例包含:一最小密度臨限值、一物件預期在運輸期間被損壞之一最大可能性、一最小穩定性、一物件預期在運輸期間掉落之一最大可能性、一物件預期在運輸期間變形之一最大可能性、傳輸容器之一頂部區段(例如,傳輸容器之上半部分或三分之一頂部等)中之一最大重量分布、傳輸容器之一底部區段(例如,傳輸容器之下半部分或三分之一底部等)中之一最小重量分布。可實施各種其他準則。
在730,系統判定物件子集是否係一可行分區。在一些實施例中,系統至少部分基於裝載(例如,可能分區)之評分值是否超過一預定義評分臨限值之一判定來判定物件子集是否係一可行分區。
在一些實施例中,系統在進行完全模擬/評估之前根據一組啟發法評估一裝載。例如,系統在使用經模擬裝載之模型執行一運算成本高昂的裝載模擬及評估之前判定一潛在裝載是否違反一或多種啟發法。啟發法可包含或指示與密度、重量分布、穩定性等有關之參數。
回應於在730判定物件子集並非一可行分區,程序700繼續進行至715,且程序700可反覆遍歷715至730,直至一預定義時間量已期滿或至少一個可能分區被視為可行。相比而言,回應於在730判定物件子集係一可行分區,程序700繼續進行至735,在735,提供物件子集係一分區之一指示。
在740,進行關於程序700是否完成之一判定。在一些實施例中,回應於無進一步物件組將被裝載至傳輸容器組中之一判定,系統判定物件組已被裝載至傳輸容器組中,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收計劃之確認,系統判定無進一步物件組分配將被執行(例如,已判定一可行分區,或可能分區已達到一預定義時間臨限值之一時間),一管理者指示程序700將被暫停或停止等,將程序700判定為完成。回應於程序700完成之一判定,程序700結束。回應於程序700未完成之一判定,程序700返回至705。
在一些實施例中,程序700反覆遍歷705至740,直至無來自物件組當中的進一步物件將被分派至一分區,或直至無進一步潛在分區將被評估。例如,在一第一分區被視為一可行分區之後,或在一預定義時間臨限值內執行分區之評估之後,程序700可結束。可選擇經評估之可行分區當中的一最佳分區作為要實施之分區。
圖8係繪示根據各項實施例之用以分配待裝載至一組傳輸容器中之一組物件之一程序的一流程圖。在一些實施例中,程序800係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序800係藉由分配模組實施。例如,系統(例如,用於計劃物件之裝載之模型)呼叫分配模組來調用程序800。程序800可藉由圖6之程序600 (諸如在程序600之610)調用。
在一些實施例中,針對經評估之一分配內之各分區調用程序800,諸如以判定可行分配。
在805,獲得物件組之一指示。在810,獲得分配物件組之一指示。在815,自物件組判定一物件子集。在820,模擬物件子集至一傳輸容器之一裝載。在825,至少部分基於一預定義評分函數來判定物件子集之裝載之一評分值。在830,系統判定物件子集是否係一可行分區。在一些實施例中,系統至少部分基於裝載(例如,可能分區)之評分值是否超過一預定義評分臨限值之一判定來判定物件子集是否係一可行分區。
在一些實施例中,805至830分別對應於或類似於705至730。
回應於在830判定物件子集並非一可行分區,程序800繼續進行至835,在835,將當前物件子集作為一潛在分區摒棄。此後,程序800返回至815且程序800反覆遍歷815至830,直至一預定義時間量已期滿或至少一個可能分區被視為可行。相比而言,回應於在830判定物件子集係一可行分區,程序800繼續進行至840,在840,儲存分區中之物件子集之一指示。例如,系統儲存一組可行分區,自該組可行分區選擇一分區以結合將物件裝載至(若干)傳輸容器來實施。
在845,系統判定是否將分配物件組中之更多物件。例如,在判定一第一物件子集之一分區之後,系統判定是否判定一第二物件子集之一分區,或物件子集中之剩餘物件是否對應於一單個剩餘分區(例如,剩餘物件是否將被裝載至一單個額外傳輸容器中)。
回應於在845判定將分配更多物件,程序800繼續進行至850,在850,自剩餘物件判定下一子集。程序800接著返回至820且程序800反覆遍歷820至845,直至無進一步物件將被分派至一分區。相反地,回應於在845判定無更多物件將被分配(例如,無進一步物件將被分派至一分區),程序800繼續進行至855。
在855,提供一或多個分區之一指示。在一些實施例中,系統將該(等)分區之該指示提供至調用程序800之系統或程序。
在860,進行關於程序800是否完成之一判定。在一些實施例中,回應於無進一步物件組將被裝載至傳輸容器組中之一判定,系統判定物件組已被裝載至傳輸容器組中,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收計劃之確認,系統判定無進一步物件組分配將被執行(例如,已判定一可行分區,或可能分區已達到一預定義時間臨限值之一時間),一管理者指示程序800將被暫停或停止等,將程序800判定為完成。回應於程序800完成之一判定,程序800結束。回應於程序800未完成之一判定,程序800返回至805。
圖9係繪示根據各項實施例之用以分配待裝載至一組傳輸容器中之一組物件之一程序的一流程圖。在一些實施例中,程序900係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序900係藉由分配模組實施。例如,系統(例如,用於計劃物件之裝載之模型)呼叫分配模組來調用程序900。程序900可藉由圖6之程序600 (諸如在程序600之610)調用。
在一些實施例中,針對經評估之一分配內之各分區調用程序900,諸如以判定可行分配。
在905,獲得分配物件組之一指示。在910,獲得分配物件組之一指示。在915,判定來自物件組之物件之一組分區。在920,模擬(若干)分區至一(若干)傳輸容器之一裝載。在925,至少部分基於一預定義評分函數來判定分別對應於該組分區之裝載之一(若干)評分值。在930,系統判定(若干)分區是否係(若干)可行分區。在一些實施例中,系統至少部分基於裝載(例如,可能分區)之評分值是否超過一預定義評分臨限值之一判定來判定一分區是否係一可行分區。
在一些實施例中,905至930分別對應於或類似於705至730。
回應於在930判定(若干)分區係不可行的,程序900繼續進行至935,在935,摒棄一當前分區組。相反地,回應於在930判定分區係可行的,程序900繼續進行至940,在940,與當前分區有關及/或指示當前分區可行之資訊。
在945,系統判定是否分析另一(些)分區。回應於在945判定分析另一(些)分區,程序900繼續進行至950,在950,系統自剩餘物件判定下一子集。此後,程序900繼續進行至920且程序900對920至945進行迭代,直至無進一步分區將被分析。回應於在945判定將不分析另一(些)分區,程序900繼續進行至955,在955,系統自可行分區(例如,可行分區)選擇一選定分區。在960,系統提供分區(例如,選定分區)之一指示。
在965,進行關於程序900是否完成之一判定。在一些實施例中,回應於無進一步分區將被判定之一判定,一組物件已被成功地裝載至一傳輸容器,一管理者指示程序900將被暫停或停止等,將程序900判定為完成。回應於程序900完成之一判定,程序900結束。回應於程序900未完成之一判定,程序900返回至905。
圖10係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一序列之一程序的一流程圖。在一些實施例中,程序1000係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序1000係藉由定序模組實施。例如,系統(例如,用於計劃物件之裝載之模型)呼叫定序模組來調用程序1000。
在1005,接收待裝載至一傳輸容器中之一組物件之一指示。例如,回應於判定一分區,或結合評估一分區,系統獲得分區(例如,程序1000針對其判定/建議一定序)中之物件組之指示。在一些實施例中,系統結合程序600之615 (例如,由程序600輸出之計劃可包含與各個分區內之物件有關之資訊)接收待裝載至一傳輸容器中之物件組之指示。
在1010,判定用於將物件組裝載於傳輸容器中之一序列。在一些實施例中,序列包含將物品遞送至經組態以將物件組裝載至傳輸容器中之機器人之一工作區之一順序的一指示。在一些實施例中,序列包含一機器人將物件裝載至傳輸容器中之一順序之一指示。
在1015,提供待結合裝載物件組使用之序列作為一輸出。在一些實施例中,提供物件組之序列包含提供用於對物件定序或重新定序之一計劃,諸如使用一緩衝區來停靠一或多個物品以對物件重新定序之一計劃。
在一些實施例中,將序列提供至調用程序600之系統或模組(例如,用於判定裝載之模型)。在一些實施例中,將序列提供至將物件組分段/分類(例如,以產生分區)並將物件提供至一工作區之一機器人系統,或經組態以將各種物件裝載至一(若干)傳輸容器之一機器人系統。
在1020,進行關於程序1000是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收序列之確認,一管理者指示程序1000將被暫停或停止等,將程序1000判定為完成。回應於程序1000完成之一判定,程序1000結束。回應於程序1000未完成之一判定,程序1000返回至1005。
圖11係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一序列之一程序的一流程圖。在一些實施例中,程序1100係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序1100係藉由定序模組實施。例如,系統(例如,用於計劃物件之裝載之模型)呼叫定序模組來調用程序1100。程序1100可由圖10之程序1000 (諸如在程序1000之1010)調用。
在一些實施例中,針對經評估之物件組之各序列調用程序1100,諸如以判定可行定序。
在1105,獲得對物件定序以用於裝載物件組之一指示。在1110,獲得物件組之一指示。在1115,判定物件組之一序列。在1120,模擬根據序列將物件組裝載至一傳輸容器。在一些實施例中,調用一模擬模組以模擬裝載。例如,定序模組對模擬模組提供物件組之經判定序列。在一些實施例中,模擬模組係用於模擬可根據輸入之物件序列配置之各種裝載。模擬模組可使用一物理引擎來模型化可在裝載及/或傳輸期間作用於物件上或物件之間的力。
在1125,判定根據序列之物件組之裝載之一評分值。在一些實施例中,系統基於預定評分函數對序列進行評分。例如,系統對序列進行評分結合評估序列是否係一可行/可能序列及/或判定一最佳序列。
在1130,系統判定序列是否係可行的。在一些實施例中,系統至少部分基於裝載(例如,可能序列)之評分值是否超過一預定義評分臨限值之一判定來判定序列是否係一可行序列。
在一些實施例中,系統在進行完全模擬/評估之前根據一組啟發法評估一裝載。例如,系統在使用經模擬裝載之模型執行一運算成本高昂的裝載模擬及評估之前判定一潛在裝載是否違反一或多種啟發法。啟發法可包含或指示與密度、重量分布、穩定性等有關之參數。
回應於在1130判定序列並非一可行序列,程序1100繼續進行至1115,且程序1100可反覆遍歷1115至1130,直至一預定義時間量已期滿,至少一個可能序列被視為可行的或判定一組M個可行序列。相比而言,回應於在1130判定序列係一可行序列,程序1100繼續進行至1135,在1135,提供序列之一指示。可將序列之指示提供至調用程序1100之另一系統或模組,或用於將該組物件裝載至傳輸容器中之一機器人系統。
在1140,進行關於程序1100是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收序列之確認,一管理者指示程序1100將被暫停或停止等,將程序1100判定為完成。回應於程序1100完成之一判定,程序1100結束。
在一些實施例中,程序1100反覆遍歷1105至1140,直至無各種物件組之進一步序列將被判定,或直至無用於對一組特定物件定序之進一步潛在序列將被評估。例如,在一第一序列被視為一可行序列之後,在一預定義時間臨限值內執行序列之評估之後,或判定用於待裝載至傳輸容器之一組物件定序之一組M個可能/可行序列之後,程序1100可結束。M可為一正整數。可選擇經評估之可行序列當中的一最佳序列/排序作為要實施之序列。
圖12係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一序列之一程序的一流程圖。在一些實施例中,程序1200係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序1200係藉由定序模組實施。例如,系統(例如,用於計劃物件之裝載之模型)呼叫定序模組來調用程序1200。程序1200可由圖10之程序1000 (諸如在程序1000之1010)調用。
在一些實施例中,針對經評估之該組物件之各序列調用程序1200,諸如以判定可行定序。例如,系統對可藉由系統獲得之各序列運行程序1200,諸如基於對可使順序重新定序之一程度之一考量。
在1205,獲得對物件定序以用於裝載物件組之一指示。在1210,獲得物件組之一指示。在1215,判定物件組之一序列。在1220,模擬根據序列將物件組裝載至一傳輸容器。在1225,判定根據序列之物件組之裝載之一評分值。在1230,系統判定序列是否可行。在一些實施例中,1205至1230對應於或類似於程序1100之1105至1130。
回應於在1230判定序列並非一可行序列,程序1200繼續進行至1235,在1235,至少部分基於將物件組遞送至工作區之排序來判定物件組之一新序列。此後,程序1200可返回至1220且程序1200可反覆遍歷1220至1230,直至一預定義時間量已期滿,至少一個可能序列被視為可行的,或判定一組M個可行序列。
回應於在1230判定序列係一可行定序,程序1200繼續進行至1240,在1240,系統判定是否應對物件組重新定序。
在一些實施例中,判定一序列是否可行包含判定物件排序係在一預定義變動(例如,重新定序之一最大物品數目、任一個物件可與其他物件序列不一致之一最大程度等)內之裝載及其他裝載物件之評分值。例如,系統評估可基於物件組之序列或寬鬆地基於物件之序列獲得之裝載(例如,可在定序之一預定變動範圍內獲得之裝載)。待評估之裝載亦可為可基於機器人系統之緩衝能力(諸如機器人系統可緩衝物件諸如以糾正自經判定序列之一變動之一程度)獲得之彼等裝載。
回應於在1240判定將對物件組重新定序,程序1200繼續進行至1235且程序1200反覆遍歷1220至1240,直至判定一可行定序且無進一步物品重新定序將被執行。相比而言,回應於在1240判定不會對物件組重新定序,程序1200繼續進行至1245,在1245,提供序列之一指示。可將序列之指示提供至調用程序1200之另一系統或模組,或用於將物件組裝載至傳輸容器中之一機器人系統。
在1250,進行關於程序1200是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收序列之確認,一管理者指示程序1200將被暫停或停止等,將程序1200判定為完成。回應於程序1200完成之一判定,程序1200結束。
在一些實施例中,程序1200反覆遍歷1205至1250,直至無各種物件組之進一步序列將被判定,或直至無用於對一組特定物件定序之進一步潛在序列將被評估。例如,在一第一序列被視為一可行序列之後,在一預定義時間臨限值內執行序列之評估之後,或判定用於對待裝載至傳輸容器之一組物件定序之一組M個可能/可行序列之後,程序1200可結束。M可為一正整數。可選擇經評估之可行序列當中的一最佳序列作為要實施之序列。
圖13係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一序列之一程序的一流程圖。在一些實施例中,程序1300係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序1300係藉由定序模組實施。例如,系統(例如,用於計劃物件之裝載之模型)呼叫定序模組來調用程序1300。程序1300可由圖10之程序1000 (諸如在程序1000之1010)調用。
在一些實施例中,針對經評估之物件組之各序列調用程序1300,諸如以判定可行定序。例如,系統對可藉由系統獲得之各序列運行程序1300,諸如基於對可使順序重新定序之一程度之一考量。
在1305,獲得對物件定序以用於裝載物件組之一指示。在1310,獲得物件組之一指示。在1315,判定物件組之一序列。在1320,模擬根據序列將物件組裝載至一傳輸容器。在1325,判定根據序列之物件組之裝載之一評分值。在1330,系統判定序列是否可行。
在一些實施例中,1305至1330分別對應於或類似於程序1200之1205至1230。
回應於在1330判定用於裝載物件組之序列並非一可行序列,程序1300繼續進行至1335,在1335,將物件組之當前序列作為一潛在序列摒棄。此後,程序1300可返回至1315,在1315,判定物件組之一序列。例如,系統判定待評估之另一序列。程序1300反覆遍歷1320至1330,直至一預定義時間量已期滿,至少一個可能序列被視為可行的,或判定一組M個可行序列。
回應於在1330判定序列係一可行定序,程序1300繼續進行至1340,在1340,系統儲存物件組之序列之一指示。
在1345,系統判定是否評定(例如,評估)一(若干)額外序列。在一些實施例中,系統基於在其期間已執行評估之一時間量(例如,判定一裝載或一定序之運行時間是否已超過一最大運算運行時間)來判定是否將評估額外序列。例如,若運行時間已超過最大運算時間,則系統判定將不評定額外序列。
在一些實施例中,系統基於判定針對其序列或使用序列獲得之一裝載具有超過一評分臨限值之一相關聯評分值之序列之一判定來判定是否將評估額外序列。例如,若系統判定使用一特定物件定序可獲得被視為「足夠好」之一裝載,則系統判定將不評估額外序列。
在一些實施例中,系統評估序列/裝載,直至最大運算運行時間之期滿或判定一「足夠好」解決方案之較早者。
回應於判定將評定一(若干)額外序列,程序1300繼續進行至1350,在1350,判定用於裝載物件組之下一序列。在一些實施例中,系統使用一或多種啟發法(例如,基於一機器學習模型推斷之啟發法)來找到其他高度可能的解決方案(例如,預期為可行序列之序列)。例如,系統使用當前可行序列作為自其猜測/選擇下一序列(例如,結合一或多種啟發法)之一基礎。此後,程序1300繼續進行至1320以模擬下一序列。程序1300反覆遍歷1320至1345,直至將不評定進一步序列。
回應於在1345判定將不評定用於裝載物件組之額外序列,程序1300繼續進行至1355,在1355,提供用於裝載物件組之定序之一指示。在一些實施例中,用於裝載物件組之序列之指示包括一組可行序列、來自該組可行序列之預定義數目個可行序列(例如,具有最高評分值之三個序列等)或來自該組可行序列之一最佳可行序列(例如,來自該組可行序列當中的具有一最高評分值、最低成本等之一序列)之一指示。
在1360,進行關於程序1300是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收序列之確認,一管理者指示程序1300將被暫停或停止等,將程序1300判定為完成。回應於程序1300完成之一判定,程序1300結束。
圖14係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一配置之一程序的一流程圖。在一些實施例中,程序1400係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序1400係藉由用於計劃物件至一傳輸容器之裝載之模型實施。
在1405,接收一組物件將被裝載至一組一或多個傳輸容器中之一指示。例如,回應於判定一分區,或結合評估一分區,系統獲得分區(例如,程序1400對其判定/建議一配置)中之物件組之指示,或一分區中之一組物件及物品之一對應定序(例如,程序1400對其判定/建議一配置)之一指示。在一些實施例中,系統結合程序600之615 (例如,由程序600輸出之計劃可包含與各個分區內之物件有關之資訊)或圖10之程序1000之1015接收一組物件將被裝載至一傳輸容器中之指示。
在1410,判定用於將該組物件裝載於該組一或多個傳輸容器中之一配置。在一些實施例中,配置包含待裝載至一特定傳輸容器之該組物件中之物件之一目的地位置及/或定向之一指示。在一些實施例中,配置包含一機器人根據其將物件裝載至傳輸容器中之一計劃之一指示。
在1415,提供待結合裝載該組物件使用之配置作為一輸出。在一些實施例中,將配置提供至調用程序1400之系統、模組或程序。例如,將配置提供至控制一機器人以將一組物件裝載/卸載至一傳輸容器之一機器人系統(諸如圖1之系統100)。
在1420,進行關於程序1400是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收配置之確認,系統接收機器人系統已完成將該組物件裝載至(若干)傳輸容器之一指示,一管理者指示程序1400將被暫停或停止等,將程序1400判定為完成。回應於程序1400完成之一判定,程序1400結束。回應於程序1400未完成之一判定,程序1400返回至1405。
圖15係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一配置之一程序的一流程圖。在一些實施例中,程序1500係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序1500係藉由用於計劃物件至一傳輸容器之裝載之模型實施。
在1505,獲得判定將根據其將一組物件裝載至一傳輸容器之一配置之一指示。在一些實施例中,系統結合程序1400之1410接收判定配置之指示。例如,程序1500係由程序1400之1410調用。
在1510,獲得物件組之一指示。
在1515,獲得將物件組遞送至工作區之一排序。在一些實施例中,排序係諸如基於一預定定序(例如,由程序1000判定之一序列等)預定。例如,系統使用一預定序列結合離線(例如,非同步)判定關於物品組之裝載之一配置。
在一些實施例中,基於自一視覺系統接收之資訊獲得排序。例如,在將物件遞送至工作區時,系統接收排序之一指示。系統可基於自一視覺系統接收之資訊來接收排序,結合與物件組至特定傳輸容器之裝載一致地(例如,同步地或即時)判定配置。結合線上判定配置,系統可獲得物件組之一子集之一排序。例如,視覺系統可僅偵測正被遞送至工作區之接下來Y個物品。Y係一正整數。在一些實施例中,結合與裝載物件組一致地判定一配置,系統可儲存一預定配置,且系統基於真實世界之變動(諸如物件之排序之變動、物件之屬性之變動等)來更新預定配置。預定配置可為一理想配置或一組經評估配置當中的根據一預定評分函數具有一最高評分值之一配置。
在1520,判定物件組之一配置。在一些實施例中,系統至少部分基於一配置/放置模型來判定配置。
在一些實施例中,系統至少部分基於一或多種啟發法來判定配置。例如,系統使用一或多種啟發法來對將被視為可行之一配置進行有根據的猜測。此後,系統可基於配置之評估迭代地改良配置。可使用一或多種啟發法選擇一初始配置(例如,針對一組物件之程序1500之初始迭代),且後續配置可為初始配置之變動,或基於至少部分基於配置之評估對配置之更新之一先前配置。配置之評估可識別預期引起配置不可行或以其他方式以大於一預定義評分臨限值之一程度對配置之一評分產生負面影響的一或多個物件。例如,配置之評估識別預期引起一不穩定性之一或多個物件。作為另一實例,配置之評估識別預期引起違反一重量分布準則之一或多個物件。
在1525,模擬根據配置將物件組裝載至一傳輸容器。在一些實施例中,系統呼叫一模擬模組來產生配置之一模型。例如,模擬模組產生物件組之放置之一幾何模型。作為另一實例,模擬模組呼叫一物理引擎來模擬諸如在傳輸期間作用於裝載內之物件上及物件之間的力。
在1530,判定根據配置之物件組之裝載之一評分值。在一些實施例中,系統基於預定評分函數對配置進行評分。例如,系統對配置進行評分結合評估配置是否係一可行/可能配置及/或判定一最佳配置。
在一些實施例中,預定義評分函數考量成本、時間、穩定性、密度、重量分布等。在預定義評分函數中可實施一裝載(例如,配置)之各種其他特性。
在一些實施例中,判定裝載之評分值包含相對於一或多種啟發法比較裝載。例如,系統使用一組啟發法來快速地判定裝載是否預期可行或不可行。系統可使用該組啟發法以在執行一運算成本高昂的裝載模擬之前評估裝載,諸如以避免一或多種啟發法對於其指示裝載預期違反一或多個裝載準則之配置。
在1535,系統判定配置是否係可行的。在一些實施例中,系統至少部分基於裝載(例如,可能配置)之評分值是否超過一預定義評分臨限值之一判定來判定配置是否係一可行配置。
回應於在1535判定配置並非一可行配置,程序1500繼續進行至1540,在1540,判定物件組之一新配置。此後,程序1500返回至1525且程序1500反覆遍歷1524至1535,直至一預定義時間量已期滿,至少一個可能配置被視為可行的,或判定一組Z個可行配置。Z係一正整數。相比而言,回應於在1535判定配置係一可行配置,程序1500繼續進行至1545,在1545,提供配置之一指示。可將配置之指示提供至調用程序1500之另一系統或模組,或用於將物件組裝載至傳輸容器中之一機器人系統。在一些實施例中,提供配置之指示包括將配置儲存於一組可行配置(例如,可自其選擇一較佳或最佳配置以用於實施)中。
在1550,進行關於程序1500是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收配置之確認,系統接收機器人系統已完成將物件組裝載至(若干)傳輸容器之一指示,一管理者指示程序1500將被暫停或停止等,將程序1500判定為完成。回應於程序1500完成之一判定,程序1500結束。回應於程序1500未完成之一判定,程序1500返回至1505。
在一些實施例中,程序1500反覆遍歷1505至1550,直至無各種物件組之進一步配置將被判定,或直至無用於配置/裝載一組特定物件之進一步潛在配置將被評估。例如,在一第一配置被視為一可行配置之後,在一預定義時間臨限值內執行配置之評估之後,或判定用於配置/裝載待裝載至傳輸容器之一組物件之一組X個可能/可行配置之後,程序1500可結束。X可為一正整數。可選擇經評估之可行配置當中的一最佳配置作為要實施之配置。
圖16係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一配置之一程序的一流程圖。在一些實施例中,程序1600係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序1600係藉由用於計劃物件至一傳輸容器之裝載之模型實施。
在1605,獲得判定將根據其將一組物品裝載至一傳輸容器之一配置之一指示。在一些實施例中,1605對應於或類似於程序1500之1505。
在1610,獲得物件組之一指示。在一些實施例中,1610對應於或類似於程序1500之1510。物件組之指示可包含物件組之一排序,諸如預期將物件組遞送至一機器人系統以用於裝載至傳輸容器之一順序。
在1615,判定物件組之一配置。在一些實施例中,判定關於物件之一子集之配置。例如,查詢程序1600以判定一特定物件之一放置(例如,與機器人系統執行拾取及放置操作一致)。作為另一實例,查詢程序1600以自物件組判定一組K個物件(諸如待遞送至工作區以裝載至傳輸容器之接下來K個物件)之一放置。K可為一正整數。
在1620,模擬根據配置將物件組裝載至一傳輸容器。在一些實施例中,1620對應於或類似於程序1500之1525。
在1625,判定根據配置之物件組之裝載之一評分值。在一些實施例中,系統基於預定評分函數對配置進行評分。例如,系統對配置進行評分結合評估配置是否係一可行/可能配置及/或判定一最佳配置。
在1630,系統判定配置是否係可行的。在一些實施例中,系統至少部分基於裝載(例如,可能配置)之評分值是否超過一預定義評分臨限值之一判定來判定配置是否係一可行配置。
回應於在1630判定配置並非一可行配置,程序1600繼續進行至1635,在1635,將物件之當前配置作為一潛在配置摒棄。此後,程序1600返回至1615且程序1600反覆遍歷1615至1630,直至一預定義時間量已期滿,至少一個可能配置被視為可行的,或判定一組Z個可行配置。Z係一正整數。相比而言,回應於在1630判定配置係一可行配置,程序1600繼續進行至1640,在1640,將配置之一指示儲存諸如於一組可行配置(例如,可自其選擇一較佳或最佳配置以用於實施)中。
在1645,系統判定是否將配置更多物件。例如,倘若判定關於待裝載至傳輸容器之物件組之一子集(例如,待裝載之接下來K個物件)之配置,則系統判定物件組中是否剩餘將對其判定一配置(例如,放置)之任何物件。
回應於在1645判定將配置更多物件,程序1600繼續進行至1650,在1650,判定下一配置。此後,程序1600返回至1620且程序1600反覆遍歷1620至1645,直至物件組中無進一步物件將被配置。
回應於在1645判定無進一步物件將被配置,程序1600繼續進行至1655,在1655,提供配置之一指示。
在1660,進行關於程序1600是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收配置之確認,系統接收機器人系統已完成將物件組裝載至(若干)傳輸容器之一指示,一管理者指示程序1600將被暫停或停止等,將程序1600判定為完成。回應於程序1600完成之一判定,程序1600結束。回應於程序1600未完成之一判定,程序1600返回至1605。
圖17係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一配置之一程序的一流程圖。在一些實施例中,程序1700係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。在一些實施例中,程序1700係與物件組之裝載一致(例如,同步、即時等)執行。實施程序1700結合判定待裝載至傳輸容器之物件組當中的個別物件之放置,或判定物件組之子集之放置(例如,配置)。
在1705,獲得判定將根據其將一組物品裝載至一傳輸容器之一配置之一指示。在1710,獲得物件組之一指示。在1715,判定物件組之一配置。在1720,模擬根據配置將物件組裝載至一傳輸容器。在1725,判定根據配置之物件組之裝載之一評分值。在1730,系統判定配置是否係可行的。在一些實施例中,1705至1730對應於或類似於程序1600之1605至1630。
回應於在1730判定配置並非一可行配置,程序1700繼續進行至1735,在1735,將物件之當前配置作為一潛在配置摒棄。此後,程序1700返回至1715且程序1700反覆遍歷1715至1730,直至一預定義時間量已期滿,至少一個可能配置被視為可行的,或判定一組Z個可行配置。Z係一正整數。相比而言,回應於在1730判定配置係一可行配置,程序1700繼續進行至1740,在1740,將配置之一指示儲存諸如於一組可行配置(例如,可自其選擇一較佳或最佳配置以用於實施)中。
在1745,系統判定是否將配置更多物件。在一些實施例中,1745對應於或類似於程序1600之1645。
回應於在1745判定將配置更多物件,程序1700繼續進行至1750,在1750,選擇下一(接下來幾個)物件(例如,物件組之一特定物件或一物件子集)。此後,程序1700返回至1715且程序1700反覆遍歷1720至1745,直至物件組中無進一步物件將被配置。
回應於在1745判定無進一步物件將被配置,程序1700繼續進行至1755,在1755,提供配置之一指示。
在1760,進行關於程序1700是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收配置之確認,系統接收機器人系統已完成將物件組裝載至(若干)傳輸容器之一指示,一管理者指示程序1700將被暫停或停止等,將程序1700判定為完成。回應於程序1700完成之一判定,程序1700結束。回應於程序1700未完成之一判定,程序1700返回至1705。
在一些實施例中,系統連續地判定物件之分配、定序及配置之一或多者。在一些實施例中,系統同時判定物件之複數個分配、定序及配置。例如,系統組態模組以諸如基於使用沿著對應維度之一組約束(例如,分配約束、定序約束、穩定性約束等)對解決方案空間定界來同時判定物件之複數個分配、定序及配置之一解決方案。
圖18A係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一裝載之一程序的一流程圖。在一些實施例中,程序1800係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。
在1802,接收一組物件將被裝載至一組傳輸容器中之一指示。在1804,判定該組物件跨該組傳輸容器之一分配。在一些實施例中,該組物件之分配係至少部分基於查詢一分配模型來判定。在1806,判定用於裝載至一或多個傳輸容器之物件之一定序。在一些實施例中,系統至少部分基於查詢一定序模型來判定物件之序列。系統可判定一特定傳輸容器之序列,或經指派至該組傳輸容器中之各傳輸容器之物件之一序列。在1808,判定一或多個傳輸容器中之物件之一配置。在一些實施例中,系統至少部分基於查詢一放置模型來判定配置。作為一實例,系統可判定配置且驗證配置滿足一或多個重量分布準則。系統可判定一特定傳輸容器之物件之配置,或該組傳輸容器之各傳輸容器之配置。在1810,提供(若干)配置之一指示。在一些實施例中,系統將配置提供至一或多個電腦系統以實施物件至傳輸容器之一或多者之裝載。在一些實施例中,指示包括用於將該組物件裝載至一(若干)特定傳輸容器之一計劃。在1812,進行關於程序1800是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收配置之確認,系統接收機器人系統已完成將該組物件裝載至(若干)傳輸容器之一指示,一管理者指示程序1800將被暫停或停止等,將程序1800判定為完成。回應於程序1800完成之一判定,程序1800結束。回應於程序1800未完成之一判定,程序1800返回至1802。
在一些實施例中,判定分配、定序及配置可循序地或並行完成。系統可迭代地評估各種排列及組合。
圖18B係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一裝載之一程序的一流程圖。在一些實施例中,程序1850係藉由圖1之系統100或諸如結合提供一雲端服務之一或多個伺服器實施。
在1851,獲得將一組物件裝載於一或多個傳輸容器中之一指示。
在1852,系統判定是否將分配物件組。例如,系統判定物件組是否預期配裝於一單個傳輸容器內(例如,同時滿足預定義特性準則,諸如滿足一密度臨限值、一重量分布臨限值、一重量臨限值、一穩定性臨限值等)。作為另一實例,系統判定裝載物件組之指示是否指示物件組將跨複數個傳輸容器裝載。回應於在1853判定將分配物件組,程序1850繼續進行至1855。相比而言,回應於在1853判定將不分配物件組,程序1850繼續進行至1859。
在1855,系統查詢一分配模型。在一些實施例中,系統至少部分基於物件組查詢用於一組分區之分配模型。作為一實例,系統查詢分配模型以判定待跨分別對應於複數個傳輸容器之分區分派之物件分組。在一些實施例中,查詢分配模型包含調用圖6之程序600、圖7之程序700、圖8之程序800或圖9之程序900之一或多者。
在1857,獲得對應於物件組之一分組之複數個分區。例如,系統接收查詢分配模型之一結果(例如,物件組之一組分區)。系統將複數個分區之各者分派/指派至將裝載物件組之各自傳輸容器。
在1859,獲得與適用物件分組之物件組有關之資訊。在一些實施例中,系統自複數個分區選擇待評估或實施之一分區。
在1861,系統判定是否對物件重新定序。例如,系統判定機器人系統或倉庫/硬體(例如,裝運設施等)是否具有用於物件之重新排序之能力,諸如機器人系統/倉庫是否具有一緩衝區等。在一些實施例中,系統至少部分基於一或多種啟發法來判定是否對物件重新定序,諸如在其中需要一解決方案之一快速預測或產生可迭代地改良之一快速初始解決方案之背景內容中。在一些實施例中,系統至少部分基於調用一任何時間解算器(諸如一定序模組)來判定是否對物件重新定序,該任何時間解算器提供一解決方案(例如,在一預定義時間量(諸如在特定背景內容中允許之一時間)內判定之一最佳解決方案)。
回應於在1861判定將對物件重新定序,程序1850繼續進行至1863。相反地,回應於在1861判定不會對物件重新定序,程序1850繼續進行至1867。
在1863,系統查詢一定序模型。在一些實施例中,系統向定序模型查詢物件之一序列(例如,排序),諸如將物件組裝載至對應傳輸容器中之一序列。在一些實施例中,諸如在系統(例如,機器人系統)具有對遞送至工作區之物品重新排序之能力的情況下,系統向定序模型查詢將物件遞送至工作區之一序列。查詢定序模型可包含調用圖10之程序1000、圖11之程序1100、圖12之程序1200或圖13之程序1300之一或多者。
在1865,獲得適用物件分組之一序列。系統獲得查詢定序模型之一結果。例如,系統獲得將物件子集(例如,待裝載至一特定傳輸容器之物件組)裝載至傳輸容器及/或遞送至機器人系統之工作區(例如,經由一輸送結構)以用於裝載至傳輸容器之一序列。
在1867,系統自物件分組(例如,對應於分區之物件子集)選擇一或多個接下來物件。作為一實例,若系統經組態以判定一分區之物件組之一子集之序列或配置,則程序1850反覆遍歷1861至1879,直至分區中之所有物件已經定序及/或配置。
在1869,系統查詢一放置模型。系統向放置模型查詢對應於一分區之物件之一位置/定向(例如,一配置)之一指示。例如,系統查詢放置模型以獲得對應於分區之物件(例如,分區之物件之子集)之一配置。放置包含一目的地位置及一物件定向。
在1871,系統獲得一或多個物件之一放置。例如,系統自放置模型獲得放置。
在1873,系統模擬一或多個物件之放置。在一些實施例中,系統獲得工作區之一模型(例如,考量待裝載至一特定傳輸容器之物件子集之先前放置之工作區之一幾何模型)及模擬放置待裝載至傳輸容器之一或多個接下來物件。
在1875,對物件分組(例如,特定分區)之當前配置進行評分。在一些實施例中,系統基於預定評分函數對配置進行評分。例如,系統對配置進行評分,結合評估配置是否係一可行/可能配置及/或判定一最佳配置。
在1877,系統判定評分值(例如,來自評估配置之評分)是否超過一預定義評分臨限值。在一些實施例中,系統比較評分值或評分值之各個態樣與複數個特性臨限值。例如,系統比較評分值(例如,配置之評估)之一預期密度分量與一最小密度臨限值。作為另一實例,系統比較評分值(例如,配置之評估)之一預期重量分布分量與一最小重量分布臨限值。作為另一實例,系統比較評分值(例如,配置之評估)之一預期穩定性分量與一最小穩定性臨限值。在一些實施例中,若與一特定特性有關之評分值之分量之任一者不滿足一對應預定義特性臨限值(例如,密度臨限值、重量分布臨限值、時間臨限值、穩定性臨限值等),則系統將評分值視為不滿足評分臨限值(例如,不超過評分臨限值)。
回應於在1877判定評分值(例如,來自評估配置之評分)超過一預定義評分臨限值,則程序1850繼續進行至1879且程序1850反覆遍歷1859至1879,直至無進一步物件將被配置(例如,已針對分區中之所有物件判定特定分區之配置)。相反地,回應於在1877判定評分值不超過預定義臨限值,程序1850返回至1859。
在1879,系統判定是否將配置(例如,放置)更多物件。例如,系統判定一特定分區之物件組是否包括待定序及/或放置之任何更多物件。在一些實施例中,1879對應於或類似於程序1600之1645。
回應於在1879判定將配置一或多個剩餘物件,程序1850返回至1830且程序1850反覆遍歷1861至1879,直至無進一步物件將被配置(例如,已針對分區中之所有物件判定特定分區之配置)。相反地,回應於在1879判定無進一步物件剩餘,程序1850繼續進行至1881,在1881,提供用於分組之物件(例如,分區中之物件)之配置之計劃。在一些實施例中,提供用於物件之配置之計劃包含將計劃儲存於計劃至物件分組(例如,分區)之一映射中。在一些實施例中,提供用於物件之配置之計劃包含將計劃儲存於用於配置一物件分組(例如,分區)之物件之一組可行計劃中。可將計劃提供至一機器人系統以至少部分基於計劃實施物件分組至一特定傳輸容器之裝載。
在1883,進行關於程序1850是否完成之一判定。在一些實施例中,回應於無進一步物件將被裝載至傳輸容器中之一判定,系統接收經組態以將物件裝載至一傳輸容器之一機器人系統接收配置之確認,系統接收機器人系統已完成將物件組裝載至(若干)傳輸容器之一指示,一管理者指示程序1850將被暫停或停止等,將程序1850判定為完成。回應於程序1850完成之一判定,程序1850結束。回應於程序1850未完成之一判定,程序1850返回至1851。
圖19係繪示根據各項實施例之用以裝載待裝載至一傳輸容器中之一組物件之一程序的一流程圖。在一些實施例中,程序1900係藉由經組態以將一組物件裝載至一傳輸容器之機器人系統(諸如圖1之系統100)實施。程序1900係一機器人系統與裝載物件組一致地(例如,同步地,即時等)更新用於將物件組裝載至傳輸容器之一計劃之一實例。例如,一機器人系統使用類似於程序1900之一程序來修改用於裝載物件組之計劃(諸如考量到物件排序或物件屬性等之變動等)。
在1905,獲得用於將一組物件裝載至一傳輸容器之一計劃。在一些實施例中,諸如藉由另一系統(例如,一或多個伺服器、一雲端服務等)離線判定計劃。其他系統判定計劃且接著將計劃提供至經組態以裝載物件組之機器人系統。例如,藉由具有比機器人系統中所包括之電腦系統更大的運算能力之另一系統來判定計劃。在一些實施例中,用於判定計劃之離線服務並不以與經組態以裝載物件組之機器人系統相同之方式受時間或運算資源約束。因此,藉由離線服務判定之計劃具有更高保真度。
在1910,偵測遞送至工作區之物件組之至少部分。機器人系統使用一或多個感測器(諸如一視覺系統)來偵測(例如,識別)遞送至工作區以用於裝載至傳輸容器之物件。在一些實施方案中,在其中在將物件提供至機器人系統以用於裝載至傳輸容器之前將物件自裝運設施(例如,運送待裝運至不同位置之包裹之一卡車)內之一不同傳輸容器卸載之一階段期間,偵測物件組之此一部分。
在1915,系統判定物件之序列是否與計劃不同。系統基於比較由一或多個感測器獲得之資訊(例如,將由該(等)感測器擷取之資訊分段及識別遞送至工作區之物件)與經計劃序列來判定將物件遞送至工作區之序列是否不同於根據計劃之序列。
回應於在1915判定物件之序列與計劃不同,程序1900繼續進行至1920。相反地,回應於在1915判定物件之序列並非與計劃不同,程序1900繼續進行至1950。
在1920,查詢一放置模型以獲得以不同於計劃之序列到達之物件之(若干)放置。在一些實施例中,經查詢之放置模型係提供用於更新用於裝載物件之計劃之一快速解決方案之一輕量級模型。放置模型可本端地儲存於機器人系統處且經組態以相較於離線服務(例如,藉由具有顯著更大運算資源之一系統運算之離線放置模型)針對運算時間權衡實體保真度。經查詢之放置模型可提供滿足一或多個預定準則(諸如穩定性、密度、重量分布、用於判定放置之運行時間及執行放置之時間)之一「足夠好」解決方案。在一些實施例中,放置模型係由各種其他約束(諸如傳輸容器之維度約束、機器人之移動約束等)定界。
在1925,根據一預定義評分函數判定放置之一評分值。
在1930,系統判定是否對物品重新定序。在一些實施例中,系統基於比較放置之評分值與一評分臨限值或一或多個其他準則(例如,一或多種啟發法等)來判定對物品重新定序。
根據各項實施例,系統嘗試判定以不同於計劃之一序列提供之物件之一配置,而不必對物品重新定序。例如,系統嘗試判定雖然未經最佳化但提供一可接受物件配置之一可接受解決方案。
回應於在1930判定不會對物件重新定序,程序1900繼續進行至1950。相反地,回應於在1930判定將對物件重新定序,程序1900繼續進行至1935,在1935,查詢一定序模型以對物件重新定序。在一些實施例中,系統藉由查詢本端地儲存且快速地判定(例如,在5秒或更短時間內)重新定序之一解決方案之一輕量級定序模型來判定一經更新序列。
在1940,獲得一經更新序列。在一些實施例中,系統自定序模型獲得經更新序列。作為一實例,系統接收一組可行經更新序列且選擇一經更新序列來實施。系統基於一或多個預定義選擇準則或基於根據一預定義評分函數具有一最高評分值之經更新序列之一判定來選擇經更新序列。選擇準則之實例包含:(i)重新定序之最小程度;(ii)待重新定序之物件之最少數目;(iii)實施重新定序及/或根據經更新序列之裝載之最少時間量;(vi)最大穩定性;(vii)最佳重量分布;(viii)最大密度,或其等之任何組合等。
在1945,判定用於放置物件之一經更新計劃。在一些實施例中,回應於判定用於將物件裝載至傳輸容器之一新序列,系統判定以經更新序列裝載物件之一經更新計劃。例如,經更新計劃包含將一或多個物件放置於一緩衝區中以使物件緩衝,直至根據經更新計劃將物件裝載至傳輸容器。系統可使用緩衝區作為用於對遞送至工作區之物件重新定序之一機構。
在1950,引起一機器人根據一當前計劃放置物件。該當前計劃對應於初始計劃(例如,自一離線系統提供至機器人系統之計劃),或基於遞送至工作區之物件之重新定序判定之一經更新計劃。在一些實施例中,引起機器人放置物件包含控制一機器人手臂移動以接合一物件,抓握該物件,將該物件移動至對應目的地位置(例如,傳輸容器中之一目的地位置)且將物件放置於目的地位置處。
在1955,系統判定是否將更多物件裝載至傳輸容器。在一些實施例中,系統判定是否剩餘待裝載至傳輸容器之任何物件。例如,可針對待裝載至傳輸容器之物件之一子集(例如,分派至傳輸容器之一分區之一子集)實施1905至1950之一反覆。
回應於在1950判定更多物件將被裝載至傳輸容器,程序1900返回至1905且程序1900反覆遍歷1905至1955,直至無進一步物件將被裝載至傳輸容器(例如,傳輸容器經充分裝載)。
在一些實施例中,回應於判定系統自一管理者接收程序1900將被暫停或停止等之一指示,系統判定無進一步物件將被裝載至傳輸容器。
結合流程圖描述本文中所描述之實施例之各項實例。儘管該等實例可包含按一特定順序執行之特定步驟,但根據各項實施例,可按各種順序執行各種步驟及/或各種步驟可被組合成一單個步驟或並行的。
儘管為清楚理解之目的已相當詳細地描述前述實施例,但本發明並不限於所提供之細節。存在實施本發明之許多替代方式。所揭示實施例係闡釋性且非限制性的。
100:系統 102:機器人手臂 105:輸送機 110:輸送機 112:棧板 114:棧板 115:緩衝區 116:攝影機 118:攝影機 120:人類操作員 122:控制電腦 124:按需遙操作裝置 150:傳輸容器 200:配置 201至204:側壁 211至239:物件 250:配置 251至276:物件 300:裝載 301:拖車 302:車輪 303:車輪 304:側 305:側 306:側 307:側 310:物件 311:物件 312:物件 313:物件 314:物件 315:物件 316:物件 318:物件 319:物件 320:物件 321:物件 322:物件 323:物件 324:物件 326:物件 327:物件 328:物件 330:物件 331:物件 332:物件 333:物件 334:物件 335:物件 336:物件 350:裝載 351至376:物件 380:裝載 382:物件 384:物件 400:裝載 402:壁 404:壁 406:壁 412:物件 414:物件 416:物件 418:物件 420:物件 422:物件 424:物件 426:物件 430:視覺系統 450:裝載 500:搜尋空間 502:根節點 504:節點 506:節點 508:節點 510:節點 512:節點 514:節點 516:節點 518:節點 520:節點 522:節點 524:節點 526:節點 530:搜尋空間 532:節點 534:節點 536:節點 538:節點 540:節點 542:經分段區域 544:經分段區域 546:經分段區域 548:經分段區域 600:程序 605:步驟 610:步驟 615:步驟 620:步驟 700:程序 705:步驟 710:步驟 715:步驟 720:步驟 725:步驟 730:步驟 735:步驟 740:步驟 800:程序 805:步驟 810:步驟 815:步驟 820:步驟 825:步驟 830:步驟 835:步驟 840:步驟 845:步驟 850:步驟 855:步驟 860:步驟 900:程序 905:步驟 910:步驟 915:步驟 920:步驟 925:步驟 930:步驟 935:步驟 940:步驟 945:步驟 950:步驟 955:步驟 960:步驟 965:步驟 1000:程序 1005:步驟 1010:步驟 1015:步驟 1020:步驟 1100:程序 1105:步驟 1110:步驟 1115:步驟 1120:步驟 1125:步驟 1130:步驟 1135:步驟 1140:步驟 1200:程序 1205:步驟 1210:步驟 1215:步驟 1220:步驟 1225:步驟 1230:步驟 1235:步驟 1240:步驟 1245:步驟 1250:步驟 1300:程序 1305:步驟 1310:步驟 1315:步驟 1320:步驟 1325:步驟 1330:步驟 1335:步驟 1340:步驟 1345:步驟 1350:步驟 1355:步驟 1360:步驟 1400:程序 1405:步驟 1410:步驟 1415:步驟 1420:步驟 1500:程序 1505:步驟 1510:步驟 1515:步驟 1520:步驟 1525:步驟 1530:步驟 1535:步驟 1540:步驟 1545:步驟 1550:步驟 1600:程序 1605:步驟 1610:步驟 1615:步驟 1620:步驟 1625:步驟 1630:步驟 1635:步驟 1640:步驟 1645:步驟 1650:步驟 1655:步驟 1660:步驟 1700:程序 1705:步驟 1710:步驟 1715:步驟 1720:步驟 1725:步驟 1730:步驟 1735:步驟 1740:步驟 1745:步驟 1755:步驟 1760:步驟 1800:程序 1802:步驟 1804:步驟 1806:步驟 1808:步驟 1810:步驟 1812:步驟 1850:程序 1851:步驟 1853:步驟 1855:步驟 1857:步驟 1859:步驟 1861:步驟 1863:步驟 1865:步驟 1867:步驟 1869:步驟 1871:步驟 1873:步驟 1875:步驟 1877:步驟 1879:步驟 1881:步驟 1883:步驟 1900:程序 1905:步驟 1910:步驟 1915:步驟 1920:步驟 1925:步驟 1930:步驟 1935:步驟 1940:步驟 1945:步驟 1950:步驟 1955:步驟
在以下詳細描述及隨附圖式中揭示本發明之各項實施例。
圖1係繪示根據各項實施例之用以將物件裝載至一傳輸容器之一機器人系統之一圖式。
圖2A係繪示根據各項實施例之一組物件在一傳輸容器中之一配置之一圖式。
圖2B係繪示根據各項實施例之一組物件在一傳輸容器中之一配置之一圖式。
圖3A係繪示根據各項實施例之一組物件在一傳輸容器中之一重量分布之一圖式。
圖3B係繪示根據各項實施例之一組物件在一傳輸容器中之一重量分布之一圖式。
圖3C係繪示根據各項實施例之一組物件在一傳輸容器中之一重量分布之一圖式。
圖4A係繪示根據各項實施例之一組物件在一傳輸容器中之一配置之一圖式。
圖4B係繪示根據各項實施例之一組物件在一傳輸容器中之一配置之一圖式。
圖5A係根據各項實施例之對應於物件之不同狀態或放置之一樹。
圖5B係根據各項實施例之對應於物件之不同狀態或放置之一樹。
圖6係繪示根據各項實施例之用以分配待裝載至一組傳輸容器中之一組物件之一程序的一流程圖。
圖7係繪示根據各項實施例之用以分配待裝載至一組傳輸容器中之一組物件之一程序的一流程圖。
圖8係繪示根據各項實施例之用以分配待裝載至一組傳輸容器中之一組物件之一程序的一流程圖。
圖9係繪示根據各項實施例之用以分配待裝載至一組傳輸容器中之一組物件之一程序的一流程圖。
圖10係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一序列之一程序的一流程圖。
圖11係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一序列之一程序的一流程圖。
圖12係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一序列之一程序的一流程圖。
圖13係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一序列之一程序的一流程圖。
圖14係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一配置之一程序的一流程圖。
圖15係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一配置之一程序的一流程圖。
圖16係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一配置之一程序的一流程圖。
圖17係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一配置之一程序的一流程圖。
圖18A係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一裝載之一程序的一流程圖。
圖18B係繪示根據各項實施例之用以判定待裝載至一傳輸容器中之一組物件之一裝載之一程序的一流程圖。
圖19係繪示根據各項實施例之用以裝載待裝載至一傳輸容器中之一組物件之一程序的一流程圖。
1000:程序
1005:步驟
1010:步驟
1015:步驟
1020:步驟

Claims (32)

  1. 一種用於對一組物件定序以用於裝載至一傳輸容器之物件定序系統,其包括: 一處理器,其經組態以: 接收待裝載至該傳輸容器中以用於自一源位置傳輸至一目的地位置之該組物件之一指示; 至少部分基於對應於該組物件之物件資訊及可用於裝載該組物件之資源來判定一序列,根據該序列將該組物件裝載至該傳輸容器中;及 將該序列提供至一機器人系統以結合將該組物件裝載至該傳輸容器來實施;及 一記憶體,其經組態以儲存該物件資訊。
  2. 如請求項1之物件定序系統,其進一步包括經組態以獲得指示該組物件之一或多個物件屬性之資訊之一或多個感測器。
  3. 如請求項1之物件定序系統,該物件資訊包括一或多個物件屬性。
  4. 如請求項3之物件定序系統,該一或多個物件屬性包含一形狀、一質量、一材料、一慣性矩、一剛度、一物件大小、一物件尺寸、一物件重量、一包裝類型、一物件識別碼之一或多者。
  5. 如請求項1之物件定序系統,至少部分基於將一最大物件或一最重物件首先裝載至該傳輸容器之一約束及至少部分基於一定序模型判定該組物件中之該等剩餘物件之一順序來判定該序列。
  6. 如請求項1之物件定序系統,至少部分基於將其之一大小超過一預定義大小臨限值或一重量超過一預定義重量臨限值之該組物件之一子集首先裝載至該傳輸容器之一約束及至少部分基於一定序模型判定該組物件中之該等剩餘物件之一順序來判定該序列。
  7. 如請求項1之物件定序系統,該組物件之該指示包含物件之一有序序列,且至少部分基於所允許重新排序之一預定義範圍來約束用以獲得該序列之該有序序列之一重新排序。
  8. 如請求項1之物件定序系統,至少部分基於一定序模型來判定該序列。
  9. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且至少部分基於該定序模型來判定該序列包括反覆地執行以下步驟,直至選擇一選定序列或直至一預定義時間量已期滿: 判定該組物件之一當前序列;及 針對該當前序列模擬該組物件至該組傳輸容器之一裝載。
  10. 如請求項9之物件定序系統,其中該至少部分基於該定序模型來判定該序列進一步包括: 針對該當前序列,至少部分基於一預定義評分函數來運算一評分。
  11. 如請求項10之物件定序系統,其中該預定義評分函數係至少部分基於該傳輸容器之一經模擬負載之一經預測重量分布。
  12. 如請求項10之物件定序系統,其中該預定義評分函數係至少部分基於該傳輸容器之一經模擬負載之一經預測穩定性。
  13. 如請求項10之物件定序系統,其中該預定義評分函數係至少部分基於該傳輸容器之一經模擬負載之一經預測包裝密度。
  14. 如請求項10之物件定序系統,其中基於根據該預定義評分函數具有一最高對應評分之一最高序列來選擇該選定序列。
  15. 如請求項10之物件定序系統,其中基於該當前序列之該評分超過一預定義評分臨限值之一判定來選擇該選定序列。
  16. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,該定序模型包含一物件模型及一物理引擎以模擬物件及包裝或對一經模擬傳輸容器內之一組經模擬物件之壓縮力。
  17. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且根據一或多個預定義初始包裝設定來約束該定序模型。
  18. 如請求項17之物件定序系統,該等預定義初始包裝設定包含以下一或多者:(i)最初裝載一組M個最大物件,及(ii)最初裝載一組N個最重物件。
  19. 如請求項17之物件定序系統,該定序模型包含應用該等預定義初始包裝設定且接著根據一成本函數模擬該組物件之一剩餘者之放置。
  20. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且基於一倉庫特定或客戶特定倉庫或傳輸容器組態來訓練該定序模型。
  21. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且至少部分基於一最大裝載時間來約束該定序模型。
  22. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且至少部分基於可用於根據一預定義評分函數模擬及判定一最佳序列之一運算時間限制來約束該定序模型。
  23. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且該定序模型嘗試判定該組物件之放置或序列使得該組物件中之所有該等物件配裝於該傳輸容器內。
  24. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且至少部分基於預定義穩定性臨限值來約束該定序模型。
  25. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且回應於判定該定序模型未能模擬及運算一最佳解決方案,該定序模型提供可在預定義最大裝載時間內執行之一穩定包裝順序。
  26. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且回應於判定該定序模型未能模擬及運算一最佳解決方案,該定序模型提供最大化配裝於該傳輸容器內之物件之數目之一序列。
  27. 如請求項1之物件定序系統,其中至少部分基於一定序模型來判定該序列,且至少部分基於物件優先級來約束該定序模型。
  28. 如請求項27之物件定序系統,其中該等優先級包含低優先級、中等優先級或高優先級之一分類。
  29. 如請求項27之物件定序系統,其中該等優先級包含該組物件中之物件之一順序。
  30. 如請求項1之物件定序系統,其中: 該組物件之該指示包含物件之一有序序列;且 可用於裝載該組物件之該等資源包含其中在對該組物件重新排序之至少部分時緩衝一或多個物件之一緩衝區。
  31. 一種用於對待裝載至一傳輸容器中之一組物件定序之方法,其包括: 藉由一或多個處理器接收待裝載至該傳輸容器中以用於自一源位置傳輸至一目的地位置之該組物件之一指示; 至少部分基於對應於該組物件之物件資訊及可用於裝載該組物件之資源來判定一序列,根據該序列將該組物件裝載至該傳輸容器中;及 將該序列提供至一機器人系統以結合將該組物件裝載至該傳輸容器來實施。
  32. 一種體現於一非暫時性電腦可讀媒體中之用於判定用於將一組物件裝載至一傳輸容器中之一序列的電腦程式產品,且該電腦程式產品包括用於以下之電腦指令: 藉由一或多個處理器接收待裝載至該傳輸容器中以用於自一源位置傳輸至一目的地位置之該組物件之一指示; 至少部分基於對應於該組物件之物件資訊及可用於裝載該組物件之資源來判定一序列,根據該序列將該組物件裝載至該傳輸容器中;及 將該序列提供至一機器人系統以結合將該組物件裝載至該傳輸容器來實施。
TW112103137A 2022-01-31 2023-01-30 用於容器裝載之物件序列器 TW202345982A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263305192P 2022-01-31 2022-01-31
US63/305,192 2022-01-31

Publications (1)

Publication Number Publication Date
TW202345982A true TW202345982A (zh) 2023-12-01

Family

ID=87472350

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112103137A TW202345982A (zh) 2022-01-31 2023-01-30 用於容器裝載之物件序列器

Country Status (3)

Country Link
US (1) US20230278219A1 (zh)
TW (1) TW202345982A (zh)
WO (1) WO2023146849A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6610954B2 (en) * 2001-02-26 2003-08-26 At&C Co., Ltd. System for sorting commercial articles and method therefor
CN105057219B (zh) * 2015-07-22 2018-11-27 杭州亚美利嘉科技有限公司 包裹分捡系统及方法
WO2020086995A1 (en) * 2018-10-25 2020-04-30 Berkshire Grey, Inc. Systems and methods for learning to extrapolate optimal object routing and handling parameters
US11813758B2 (en) * 2019-04-05 2023-11-14 Dexterity, Inc. Autonomous unknown object pick and place
US10647528B1 (en) * 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
EP4049168A4 (en) * 2019-10-25 2023-11-01 Dexterity, Inc. ROBOTIC SYSTEM SIMULATION ENGINE

Also Published As

Publication number Publication date
US20230278219A1 (en) 2023-09-07
WO2023146849A1 (en) 2023-08-03

Similar Documents

Publication Publication Date Title
KR102616626B1 (ko) 실시간 배치 시뮬레이션을 사용하여 패키지를 팔레트화하기 위한 로봇 시스템
CN111823226B (zh) 具有协调机制的机器人系统及其操作方法
CN112009813A (zh) 具有打包机制的机器人系统
CN112009811A (zh) 用于处理失序到达的包裹的机器人系统
CN111605938B (zh) 用于使用实时放置模拟来码垛包裹的机器人系统
US20230241777A1 (en) Packing and planning for tight incollapsible loads
US20220405439A1 (en) Physics engine based evaluation of pallet stability
US20220402708A1 (en) Collision avoidance based on vision data, geometric data and physics engine evaluation
US20220402139A1 (en) Workflow for using learning based approach for placing boxes on pallets
TW202345982A (zh) 用於容器裝載之物件序列器
TW202346186A (zh) 包裝重量分布之最佳化
TW202341061A (zh) 異質傳輸容器間的物件分配器
US20220402710A1 (en) Simulated box placement for algorithm evaluation and refinement
US20220402133A1 (en) Workflow for using tree search-based approach for placing boxes on pallet with limited knowledge of future sequence
US20220402134A1 (en) Using simulated/generated noise to evaluate and refine state estimation
TWI834194B (zh) 機器人系統、用以控制一機器人之方法及用以控制一機器人之電腦程式產品
US20240091814A1 (en) Dynamic parcel allocation and sortation for efficient outbound operations