TW202306718A - 使用基於樹狀搜尋方法以未來序列之有限知識在棧板上放置箱子之工作流程 - Google Patents
使用基於樹狀搜尋方法以未來序列之有限知識在棧板上放置箱子之工作流程 Download PDFInfo
- Publication number
- TW202306718A TW202306718A TW111122130A TW111122130A TW202306718A TW 202306718 A TW202306718 A TW 202306718A TW 111122130 A TW111122130 A TW 111122130A TW 111122130 A TW111122130 A TW 111122130A TW 202306718 A TW202306718 A TW 202306718A
- Authority
- TW
- Taiwan
- Prior art keywords
- items
- item
- placement
- stack
- pallet
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40006—Placing, palletize, un palletize, paper roll placing, box stacking
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40067—Stack irregular packages
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Stacking Of Articles And Auxiliary Devices (AREA)
Abstract
揭示一種機器人系統。該系統包含一通信介面,該通信介面自部署於一工作區中之一或多個感測器接收指示該工作區之一當前狀態之感測器資料。該系統包含一或多個處理器,該一或多個處理器使用該感測器資料來估計棧板或其他容器及堆垛於該容器上或該容器中之零或多個物品之組之一或兩者之一狀態,及使用該經估計狀態來產生或更新一計劃以控制一機器人手臂以將下一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該下一組物品,該計劃包括物品放置或移除之一有序序列。至少部分地藉由執行其中探索一可能有序序列子集之一有界樹狀搜尋而產生或更新該計劃。
Description
本發明係關於使用基於樹狀搜尋方法以未來序列之有限知識在棧板上放置箱子之工作流程。
裝運及配送中心、倉庫、裝運碼頭、航空貨運站、大型商店以及裝運及接收非同質物品組之其他活動使用諸如在箱子、板條箱、貨櫃、輸送帶中及在棧板上等包裝及拆包異種物品之策略。在箱子、板條箱中、在棧板上等包裝異種物品使所得物品組能夠由起重設備,諸如叉車、起重機等處置且使物品能夠被更有效地包裝以用於儲存(例如,在一倉庫中)及/或裝運(例如,在卡車、貨艙等中)。
在一些背景下,物品可能在大小、重量、密度、體積、剛度、包裝強度等方面如此相異,使得任何給定物品或物品組可具有或可不具有使彼等物品能夠支撐可能需要包裝(例如,在一箱子、貨櫃、棧板等中)之一給定其他物品之大小、重量、重量分佈等之屬性。在組裝一棧板或其他異種物品組時,必須仔細選擇及堆垛物品以確保經碼垛堆積之堆棧不會塌陷、傾斜或以其他方式變得不穩定(例如,以便不能由諸如一叉車等之設備處置)且避免物品損壞。
在諸多環境中,歸因於物品之種類繁多,例如在一給定棧板上之待包裝物品之順序、數目及混合之變動,及必須自其拾取物品以放置於棧板或其他貨櫃上之貨櫃及/或進給機構之多種類型及位置,機器人之使用變得更具挑戰性。
本發明可以眾多方式實施,包含作為一程序;一設備;一系統;一物質組合物;體現於一電腦可讀儲存媒體上之一電腦程式產品;及/或一處理器,諸如經組態以執行儲存於耦合至該處理器之一記憶體上及/或由該記憶體提供之指令之一處理器。在本說明書中,此等實施方案或本發明可採用之任何其他形式可被稱為技術。一般而言,在本發明之範疇內,可改變所揭示程序之步驟之順序。除非另有陳述,否則可將被描述為經組態以執行一任務之一組件(諸如一處理器或一記憶體)實施為臨時經組態以在一給定時間執行該任務之一通用組件或經製造以執行該任務之一特定組件。如本文中所使用,術語「處理器」係指經組態以處理資料,諸如電腦程式指令之一或多個裝置、電路及/或處理核心。
下文連同繪示本發明之原理之附圖提供對本發明之一或多項實施例之一詳細描述。本發明係結合此等實施例進行描述,但本發明並不限於任何實施例。本發明之範疇係僅藉由發明申請專利範圍限制且本發明涵蓋眾多替代例、修改及等效物。在以下描述中闡述眾多特定細節以便提供對本發明之一透徹理解。出於實例目的而提供此等細節且可在沒有此等特定細節之一些或全部之情況下根據發明申請專利範圍實踐本發明。出於清楚之目的,尚未詳細地描述與本發明相關之技術領域中已知之技術材料,使得不會不必要地模糊本發明。
如本文中所使用,一幾何模型可意謂一工作區之一狀態,諸如一以程式化方式判定狀態之一模型。例如,使用所判定之幾何資料結合產生用以移動工作區中之一物品之一計劃及若該物品根據計劃移動之一預期結果來產生幾何模型。例如,一幾何模型對應於藉由控制一機器人手臂在一工作區內拾取、移動及/或放置物品而修改之該工作區之一狀態,且該物品之拾取、移動及放置被視為根據計劃執行(例如,沒有錯誤,諸如可基於以下項引入之錯誤或雜訊:(i)機器人手臂或該工作區中之另一組件之一錯誤組態或未對準,(ii)基於與機器人手臂之互動之該物品之一變形,(iii)該工作區中之另一物品、該工作區中之另一物件,(iv)機器人手臂或由機器人手臂移動之物品與該工作區中之另一物件之間的一碰撞等)。
如本文中所使用,「棧板」包含其上或其中可堆垛或放置一或多個物品之一平台、容器或其他貨櫃。此外,如本文中所使用,棧板可結合包裝及配送一組一或多個物品來使用。作為一實例,術語棧板包含支撐物品且可經由一叉車、一棧板搬運車、一起重機等移動之典型扁平運輸結構。如本文中所使用,一棧板可由各種材料(包含木材、金屬、金屬合金、聚合物等)構成。
如本文中所使用,一物品或一組物品之碼垛堆積包含自一源位置,諸如一輸送結構拾取一物品且將該物品放置於一棧板上(諸如在該棧板上之一物品堆棧上)。
如本文中所使用,卸除碼垛堆積包含自一棧板,諸如自該棧板上之一物品堆棧拾取一物品,移動該物品且將該物品放置於一目的地位置(諸如一輸送結構)處。用於對一組物品進行碼垛堆積/卸除碼垛堆積之一實例碼垛堆積/卸除碼垛堆積系統及/或程序係在美國專利申請案第17/343,609號中進一步描述,該案之全文在此出於所有目的併入本文中。
如本文中所使用,一物品之單分包含自一源堆/流拾取一物品且將該物品放置於一輸送結構(例如,一分段輸送機或類似輸送工具)上。視情況,單分可包含對該輸送結構上之各種物品進行分類(諸如經由將來自該源堆/流之物品單獨放置至該輸送機上之一狹槽或托盤中)。用於單分一組物品之一單分系統及/或程序之一實例係在美國專利申請案第17/246,356號中進一步描述,該案之全文在此出於所有目的併入本文中。
如本文中所使用,打包包含自對應位置拾取一或多個物品/物件且以一組一或多個物品對應於一套件之一方式將一或多個物品放置於一預定位置中。用於打包一組物品之一打包系統及/或程序之一實例係在美國專利申請案第17/219,503號中進一步描述,該案之全文在此出於所有目的併入本文中。
如本文中所使用,一視覺系統包含獲得感測器資料,例如與一工作區相關之感測器資料之一或多個感測器。感測器可包含一攝影機、一高清晰度攝影機、一2D攝影機、一3D (例如,RGBD)攝影機、一紅外線(IR)感測器、用來產生一工作區(或一工作區之部分,諸如一棧板及該棧板上之物品堆棧)之一三維視圖之其他感測器、前述之任何組合及/或包括前述之複數個感測器之一感測器陣列等之一或多者。一視覺系統之一實例係在美國專利申請案第16/667,661號中進一步描述,該案之全文在此出於所有目的併入本文中。
各項實施例包含用於拾取及放置物品之一系統、方法及/或裝置。該系統包含一通信介面及耦合至該通信介面之一或多個處理器。該通信介面經組態以自部署於一工作區中之一或多個感測器接收指示該工作區之一當前狀態之感測器資料,該工作區包括一棧板或其他容器及堆垛於該容器上或該容器中之一組零或多個物品。該一或多個處理器耦合至該通信介面且經組態以:(i)使用該感測器資料來估計該棧板或其他容器及堆垛於該容器上或該容器中之零或多個物品之一或兩者之一狀態;及(ii)使用該經估計狀態來產生或更新一計劃以控制一機器人手臂以將下一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該下一組物品,該計劃包括物品放置或移除之一有序序列。至少部分地藉由執行其中探索一可能有序序列子集之一有界樹狀搜尋而產生或更新該計劃。該子集係藉由選擇探索滿足一或多個選擇準則之樹狀分支或自考量省略滿足一修剪準則之一或多個分支之一或兩者而判定。
在各項實施例中,如本文中所揭示之一機器人碼垛堆積系統藉由不僅考量一當前物品而且考量下一或未來物品(或預定義數目個接下來物品)而判定放置該當前物品之一位置。該系統基於(i)棧板或物品堆棧之一經估計狀態,及(ii)當前物品及下一物品(或預定義數目個接下來物品)之放置之經判定組合/排列判定放置該當前物品之一位置。在一些實施例中,該系統結合判定該當前物品(例如,第一下一物品)之一最佳放置來使用一評分函數(例如,對一放置進行評分,且可為一對應成本函數之一倒數或與該對應成本函數負相關之一函數)。
由使用待碼垛堆積物品之一未來序列之知識帶來之一些挑戰包含:
各物品可被放置於棧板/物品堆棧上之若干位置及/或若干定向之一者中。為了至少部分地基於某個最佳化(例如,包裝密度、移動該物品之時間等)判定將該物品放置於一特定位置處及/或一特定定向中之一計劃可包含判定/模擬不同可能情境之結果。判定/模擬不同結果可能在運算上係繁重的/低效的。
若在自複數個位置當中判定一當前及/或一(若干)未來物品待放置之一位置時考量一或多個未來物品,則判定/模擬用於將各物品放置於各可能位置處之不同可能情境之結果之運算負擔變得指數倍繁瑣。作為一實例,假定該系統知道下5個箱子(例如,物品)之序列且假定該系統可將第一箱子放置於4種放置(例如,位置及定向之4種不同組合)中。該系統可模擬所有4種放置,且接著該系統擴展對具有又4種放置之下一箱子之搜尋。在一2深度搜尋之後,該系統達到16種可能情境。此情境數目指數倍增長且隨著搜尋深度更高而難以處理。
各項實施例包含結合判定放置一或多個物品(例如,一當前物品及/或一物品序列中之一或多個未來物品)之一位置來使用一樹狀搜尋之一系統。該系統結合判定放置一或多個物品之位置(例如,尋找一或多個物品或棧板等之一最佳或最優放置)來探索對應於不同情境之一樹。不同情境可分別對應於一或多個物品在棧板/物品堆棧上之對應位置處之一配置。在一些實施例中,該系統探索該樹至一特定深度。該系該統探索該樹所至之深度可為預定義的或可至少部分地基於一臨限值,諸如與探索一特定分支/情境之一運算負載相關之一臨限值。
根據各項實施例,該系統判定對應於根據一組物品之各種放置之狀態之一搜尋空間。整個搜尋空間之評估可能在運算上係昂貴的且增加用來拾取及放置一物品之一計劃之非所要延時。為了降低評鑑一組物品之放置之各種組合/排列之運算複雜性(及必要的資源/時間),該系統實施用來減少待考量組合/排列之數目之一修剪程序/技術。該系統可修剪搜尋空間以移除一預期穩定性不滿足一穩定性條件(例如,一預期穩定性小於一穩定性臨限值,一試探法指示經估計狀態將被視為不穩定等)之放置。在修剪搜尋空間之後,該系統可評鑑放置之剩餘組合/排列以判定產生一最佳結果之一放置(例如,基於一預期穩定性及一成本函數等之一或多者判定之一最佳放置)。該系統使用產生一最佳結果之放置來判定用於拾取及放置一物品(例如,該組物品中之下一物品)之一計劃。
根據各項實施例,該系統針對放置組合/排列之至少一子集執行一放置之一模擬(例如,在表示搜尋空間之一樹狀結構中之各節點處),且該系統判定各模擬之一對應預期穩定性。在一些實施例中,該系統基於以下項之一組合對搜尋空間定界:(i)模擬一放置子集且評鑑所得預期穩定性,及(ii)針對一放置子集判定是否預期該等放置基於一或多種預定義試探法產生一穩定堆棧。該系統可基於一(若干)放置之一或多種試探法或模擬對搜尋空間定界。在各項實施例中,該系統結合分析搜尋空間(例如,定界/修剪搜尋空間)來使用一或多個規則或試探法。例如,一領域專家可定義用來基於關於哪些種類之放置或放置序列或多或少可能值得考量之觀察、判斷等進行修剪之一或多個規則或試探法。
各項實施例包括拾取及放置一組物品以形成穩定且空間有效之一棧板之一系統。在一些實施例中,該系統判定放置該組物品之一位置(例如,該組物品配置於一棧板上之一方式)以便最大化一預定評分函數(或最小化一預定成本函數)。
其他申請案之交叉參考
本申請案主張2021年6月16日申請、標題為WORKFLOW FOR USING TREE SEARCH BASED APPROACH FOR PLACING BOXES ON PALLET WITH LIMITED KNOWLEDGE OF FUTURE SEQUENCE之美國臨時專利申請案第63/211,366號之優先權,該案出於所有目的而以引用的方式併入本文中。
圖1係繪示根據各項實施例之用來對一異質物品進行碼垛堆積及/或卸除碼垛堆積之一機器人系統之一圖。在一些實施例中,系統100實施圖2之程序200、圖3之程序300、圖5之程序500、圖6之程序600、圖7之程序700及/或圖8之程序800之至少部分。
在所展示之實例中,系統100包含一機器人手臂102。在此實例中,機器人手臂102係固定的,但在各項替代實施例中,機器人手臂102可為完全或部分行動的,例如安裝於一軌條上,在一機動化底盤上完全行動的等。如所展示,機器人手臂102係用來拾取來自一輸送機(或其他源) 104之任意及/或異種物品(例如,箱子、包裝等)且將其等堆垛於一棧板(例如,平台或其他容器) 106上。棧板(例如,平台或其他容器) 106可包括在四個邊角處具有輪子且在四側中之三側上至少部分封閉之一棧板、一容器或或底座,有時被稱為三側「滾動棧板」、「防滾籠」及/或「台架」或「籠子」、「搬運車」。在其他實施例中,可使用具有更多、更少及/或沒有側面之一滾動或無輪棧板。在一些實施例中,圖1中未展示之其他機器人可用來將容器106推動至適當位置中以待裝載/卸載及/或至一卡車或其他目的地中以待運輸等。
在一些實施例中,複數個容器106可安置於機器人手臂102周圍(例如,在機器人手臂之一臨限接近度內或否則在範圍內)。機器人手臂102可同時(例如,並行及/或同時(contemporaneously))將一或多個物品堆垛於複數個棧板上。複數個棧板之各者可與一載貨單及/或訂單相關聯。例如,該等棧板之各者可與一預設定目的地(例如,客戶、地址等)相關聯。在一些例項中,複數個棧板之一子集可與同一載貨單及/或訂單相關聯。然而,複數個棧板之各者可與不同載貨單及/或訂單相關聯。機器人手臂102可將分別對應於同一訂單之複數個物品放置於複數個棧板上。系統100可判定複數個棧板上之一配置(例如,物品之一堆垛) (例如,如何在複數個棧板當中劃分一訂單之複數個物品,應如何堆垛任一個棧板上之物品等)。系統100可將一或多個物品(例如,一訂單之(若干)物品)儲存於一緩衝或停靠區域中,而將一或多個其他物品堆垛於一棧板上。作為一實例,一或多個物品可儲存於緩衝或停靠區域中,直至使得機器人系統100判定棧板上(例如,堆棧)上之一或多個物品之各自放置滿足(例如,超過)一臨限契合或臨限穩定性的時間。該臨限契合或臨限穩定性可為一預定義值或至少部分地基於歷史資訊憑經驗判定之一值。可結合判定一堆棧上之一物品之放置是否預期滿足(例如,超過)一臨限契合或臨限穩定性、及/或結合判定臨限契合或臨限穩定性(例如,相對於其量測一模擬或模型以評估是否將物品放置於堆棧上之臨限值)來實施一機器學習演算法。
在所展示之實例中,機器人手臂102配備有一吸取式末端執行器(例如,末端執行器108)。末端執行器108具有複數個吸盤110。機器人手臂102係用來將末端執行器108之吸盤110定位於一待拾取物品上方,如所展示,且一真空源提供吸力以抓握該物品,自輸送機104抬起該物品,且將該物品放置於容器106上之一目的地位置處。可實施各種類型之末端執行器。
在各項實施例中,系統100包括用來產生工作區之一模型(例如,工作區之一3D模型及/或一幾何模型)之一視覺系統。例如,安裝於末端執行器108上之3D或(若干)其他攝影機112及安裝於其中部署機器人系統100之一空間中之攝影機114、116之一或多者係用於產生用於識別輸送機104上之物品之影像資料及/或判定用以抓握物品、拾取/放置物品並將物品堆垛於容器106上(或將物品放置於緩衝或停靠區域中,如適用)的一計劃攝影機。在各項實施例中,未展示之額外感測器可用來識別(例如,判定)一物品之屬性,抓握該物品,拾取該物品,移動該物品通過一經判定軌跡,及/或將該物品放置於輸送機104及/或其中可定位及/或重新定位物品之其他源及/或停靠區域上之容器106物品上或容器106物品中的一目的地位置中(例如,藉由系統100)。未展示之此等額外感測器之實例可包含在輸送機104及/或機器人手臂102中及/或附近體現之重量或力感測器、吸盤110之x-y平面中及/或z方向(垂直方向)上之力感測器。
在所展示之實例中,攝影機112安裝於末端執行器108之本體之側上,但在一些實施例中,攝影機112及/或額外攝影機可安裝於其他位置中,諸如在末端執行器108之本體之下側上,例如,自吸盤110之間的一位置指向下方,或在機器人手臂102之片段或其他結構或其他位置上。在各項實施例中,諸如112、114及116之攝影機可用來讀取輸送機104上之物品上可見及/或包括輸送機104上之物品之文字、標誌、照片、圖式、影像、標記物、條碼、QR碼或其他經編碼及/或圖形資訊或內容。
在一些實施例中,系統100包括經組態以回應於控制信號而自間隔件材料之一供應源施配一定數量之間隔件材料之一施配器裝置(未展示)。施配器裝置可安置於機器人手臂102上或工作區附近(例如,工作區之一臨限距離內)。例如,施配器裝置可設置於機器人手臂102之工作區內,使得施配器裝置在容器106 (例如,棧板)上或周圍,或在機器人手臂102之末端執行器108之一預定距離內施配間隔件材料。在一些實施例中,施配器裝置包括經組態以將施配器裝置安裝於機器人手臂102之一末端執行器108上或附近之一安裝硬體。該安裝硬體係一支架、一帶子及一或多個緊固件等之至少一者。作為一實例,施配器裝置可包括加偏壓於施配器裝置內之供應材料以自施配器裝置頂出/施配之一偏壓裝置/機構。施配器裝置可包含一閘控結構,該閘控結構用來控制間隔件材料之施配(例如,以防止在未致動該閘控結構之情況下施配間隔件材料,且允許回應於致動而施配待施配之間隔件材料)。
施配器裝置可包括經組態以接收一控制信號之一通信介面。例如,施配器裝置可與諸如控制電腦118之一或多個終端機進行通信。施配器裝置可經由一或多個有線連接及/或一或多個無線連接與一或多個終端機進行通信。在一些實施例中,施配器裝置將資訊傳達至一或多個終端機。例如,施配器裝置可將施配器裝置之一狀態之一指示(例如,施配器裝置是否正常操作之一指示)、施配器裝置中所包括之間隔件材料之一類型之一指示、施配器裝置中之間隔件材料之一供應位準之一指示(例如,施配器裝置是否為滿、空、半滿等之一指示)等發送至控制電腦118。控制電腦118可結合控制施配器裝置以施配一定數量之間隔件材料來使用。例如,控制電腦118可判定一間隔件待結合對一或多個物品進行碼垛堆積來使用,諸如以改良容器106上/中之物品堆棧之一預期穩定性。控制電腦118可判定待結合對一或多個物品進行碼垛堆積而使用之間隔件材料之數量(例如,間隔件之一數目、間隔件材料之一量等)。例如,可至少部分地基於判定用於對一或多個物品進行碼垛堆積之一計劃判定待結合對一或多個物品進行碼垛堆積使用之間隔件材料之數量。
在一些實施例中,施配器裝置包括經組態以回應於控制信號而自間隔件材料之一供應源施配一定數量之間隔件材料之一致動器。回應於判定一間隔件/間隔件材料待結合對一或多個物品進行碼垛堆積來使用,控制電腦118可產生控制信號以致使該致動器施配該一定數量之間隔件材料。控制信號可包括待用作間隔件之間隔件材料之數量之指示。
根據各項實施例,一間隔件或一間隔件材料係一剛性塊。例如,一間隔件或一間隔件材料可為一剛性發泡體塊。在一些實施例中,一間隔件或一間隔件材料包括聚胺基甲酸酯。
在一些實施例中,間隔件材料之供應源包括複數個預切割塊。複數個預切割塊可預加載至將複數個預切割塊偏壓至一施配端之一彈簧加載筒中。回應於自該筒施配一預切割塊,將複數個預切割塊之另一者推動至待自該筒施配之下一線上位置。
在一些實施例中,間隔件材料之供應源包括一較大間隔件材料塊、一間隔件材料條帶及一間隔件材料卷之一或多者。施配器裝置或系統100可包括經組態以自間隔件材料之供應源切割一定數量之間隔件材料之一切割器。回應於控制信號提供至該致動器,該致動器可致使該切割器自間隔件材料之供應源切割該一定數量之間隔件材料。
在一些實施例中,間隔件材料之供應源包括一液體前驅體。回應於控制信號提供至該致動器,該致動器致使該一定數量之間隔件材料施配至一棧板或該棧板上之一物品堆棧之一表面上。經施配前驅體可能在施配至該棧板或該棧板上之物品堆棧之表面上之後硬化。
在一些實施例中,間隔件材料之供應源包括一擠出材料。回應於控制信號提供至該致動器,將擠出材料填充至一所要大小及一所要堅固度之一或多者。可回應於擠出材料經填充至所要大小及所要堅固度之一或多者之一判定而密封擠出材料。在一些實施例中,擠出材料填充有一流體。該流體可為空氣、水等之一或多者。在一些實施例中,擠出材料填充有一凝膠。
在各項實施例中,一機器人控制之施配器工具或機器填充箱子之間及/或附近之空隙以準備用於經放置之下一箱子/層之表面區域。在一些實施例中,系統100可使用一機器人手臂102來拾取/放置預定義切割材料及/或可動態地修整間隔件材料以適應經放置之下一物品之表面區域之需要。在一些實施例中,機器人控制之施配器裝置或包括機器人控制之施配器裝置之機器人碼垛堆積系統包括用以自一長管及/或包裝修整至一長方體之大小並將該長方體放置於一現有棧板上結合準備用於系統判定其可能未正常地契合於棧板表面區域上(例如,在一先前層之一上表面上)之下一箱子或物品之表面區域的一裝置。間隔件可包含但不限於發泡體、一充氣塑膠包、木材、金屬、塑膠等。施配器裝置可將長方體(例如,間隔件)直接放置(例如,頂出、施配等)於棧板上,及/或該裝置可將長方體(例如,間隔件)施配於機器人手臂附近,且末端執行器可將長方體(例如,間隔件)重新定位/放置於棧板表面區域上。施配器裝置可施配預定量(例如,正確量或預期量)之間隔件材料以校正或改良該層上(例如,該層之上表面上)之箱子或物品之間的表面積差異以準備用於下一箱子或物品之表面區域。
進一步參考圖1,在所展示之實例中,機器人系統100包含一控制電腦118,該控制電腦經組態以在此實例中經由無線通信(但在各項實施例中,以有線及無線通信之一或兩者)與諸如機器人手臂102、輸送機104、末端執行器108及感測器(諸如攝影機112、114及116及/或圖1中未展示之重量、力及/或其他感測器)之元件進行通信。在各項實施例中,控制電腦118經組態以使用來自感測器,諸如攝影機112、114及116及/或圖1中未展示之重量、力及/或其他感測器之輸入,來查看、識別及判定待裝載至容器106中及/或自容器106卸載之物品之一或多個屬性。在各項實施例中,控制電腦118使用儲存於控制電腦118上及/或可供控制電腦118存取之一程式庫中之物品模型資料來識別一物品及/或其屬性(例如,基於影像及/或其他感測器資料)。控制電腦118使用對應於一物品之一模型來判定及實施將該物品連同其他物品堆垛於一目的地,諸如容器106中/上之一計劃。在各項實施例中,使用物品屬性及/或模型來判定用以抓握一物品、移動該物品及將物品放置於一目的地位置(例如,物品經判定為放置作為將物品堆垛於容器106中/上之一計劃/重新計劃程序之部分之一經判定位置)中的一策略。
在所展示之實例中,控制電腦118連接至一「按需」遙操作裝置122。在一些實施例中,若控制電腦118無法以一全自動化模式進行(例如,無法判定用以抓握、移動及放置一物品之一策略及/或該策略以使得控制電腦118不具有以一全自動化模式完成拾取及放置物品之一策略的一方式失敗),則控制電腦118提示一人類使用者124進行干預,例如,藉由使用遙操作裝置122來操作機器人手臂102及/或末端執行器108以抓握、移動及放置物品。
與系統100之操作相關之一使用者介面可由控制電腦118及/或遙操作裝置122提供。使用者介面可提供系統100之一當前狀態,包含與棧板(或與其相關聯之物品堆棧)之一當前狀態、經碼垛堆積或卸除碼垛堆積之一當前訂單或載貨單、系統100之一效能(例如,按時間碼垛堆積/卸除碼垛堆積之物品之一數目)等相關之資訊。一使用者可選擇使用者介面上之一或多個元件,或以其他方式將一輸入提供至使用者介面,以啟動或暫停系統100及/或系統100中之一特定機器人手臂。
根據各項實施例,系統100實施一機器學習程序以模型化一棧板之一狀態諸如以產生該棧板上之一堆棧之一模型。機器學習程序可包含用於模型化該棧板之狀態之一自適應及/或動態程序。機器學習程序可定義及/或更新/細化系統100藉由其產生該棧板之狀態之一模型之一程序。可至少部分地基於來自系統100中之一或多個感測器(諸如機器人手臂102之工作區內之一或多個感測器或感測器陣列)之輸入(例如,自該一或多個感測器獲得之資訊)產生該模型。可至少部分地基於該堆棧之一幾何形狀、一視覺回應(例如,由工作區中之一或多個感測器獲得之資訊)及機器學習程序等產生該模型。系統100可結合判定用於對一或多個物品進行碼垛堆積/卸除碼垛堆積之一有效(例如,最大化/最佳化一效率)方式來使用該模型,且用於碼垛堆積/卸除碼垛堆積之方式可由一最小臨限穩定性值約束。用於對一或多個物品進行碼垛堆積/卸除碼垛堆積之程序可由一使用者管理者組態。例如,可藉由其或其等最大化用於碼垛堆積/卸除碼垛堆積程序之一或多個度量可為可組態的(例如,由使用者/管理者設定)。
在對一或多個物品進行碼垛堆積之背景下,系統100可結合判定是否將一物品放置於棧板上(例如,堆棧上),及選擇用於將物品放置於棧板上之一計劃(包含將放置物品之一目的地位置及物品將沿著其自一源位置(例如,一目前目的地,諸如一輸送機)移動至目的地位置之一軌跡)來產生棧板之狀態之模型。系統100亦可結合判定用於釋放物品或以其他方式將物品放置於棧板上(例如,對物品施加一力以將物品契合於堆棧上)之一策略來使用模型。該棧板之狀態之模型化可包含模擬該物品在該棧板上(例如,在該堆棧上)之不同目的地位置之放置且判定預期起因於該物品在該等不同位置處之放置之對應的不同預期契合及/或預期穩定性(例如,一穩定性度量)。系統100可選擇預期契合及/或預期穩定性滿足(例如,超過)一對應臨限值之一目的地位置。此外或替代性地,系統100可選擇最佳化(例如,該堆棧上之物品之)預期契合及/或(例如,該堆棧之)預期穩定性之一目的地位置。
相反地,在將一或多個物品自一棧板(例如,棧板上之一堆棧)卸除碼垛堆積之背景下,系統100 (例如,控制電腦118)可結合判定是否移除棧板上(例如,堆棧上)之一物品,及選擇用於自棧板移除物品之一計劃來產生棧板之狀態之模型。可結合判定自棧板移除物品之一順序來使用棧板之狀態之模型。例如,控制電腦118可使用該模型來判定是否預期一物品之移除致使該棧板(例如,該堆棧)之狀態之穩定性下降至低於一臨限穩定性。系統100 (例如,控制電腦118)可模擬自該棧板移除一或多個物品且選擇最佳化棧板(例如,堆棧)之狀態之穩定性之用於自棧板移除物品之一順序。系統100可使用該模型來判定待該自棧板移除之下一物品。例如,控制電腦118可至少部分地基於在一物品之移除期間及/或之後該堆棧之一預期穩定性超過一臨限穩定性之一判定而選擇該物品作為待自該棧板移除之下一物品。可結合判定用於自堆棧拾取一物品之策略來使用模型及/或機器學習程序。例如,在一物品被選擇為待自該堆棧移除之下一物品之後,系統100可判定用於拾取該物品之策略。用於拾取該物品之策略可至少部分地基於該棧板之狀態(例如,該堆棧之一經判定穩定性)、該物品之一屬性(例如,一大小、形狀、重量或預期重量、重心、包裝類型等)、該物品之一位置(例如,相對於該堆棧中之一或多個其他物品)、該堆棧上之另一物品之一屬性(例如,一鄰近物品之一屬性等)等。
根據各項實施例,結合改良抓握策略(例如,用於抓握一物品之策略)來實施一機器學習程序。系統100可獲得與待碼垛堆積/卸除碼垛堆積之一或多個物品相關之屬性資訊。該屬性資訊可包括該物品之一定向、一材料(例如,一包裝類型)、一大小、一重量(或預期重量)或一重心等之一或多者。系統100亦可獲得一源位置(例如,與待自其拾取該物品之輸入輸送機相關之資訊),且可獲得與該物品待放置於其上之一棧板(或待自其判定目的地棧板之棧板組,諸如對應於堆垛其物品之訂單之一組棧板)相關之資訊。結合判定用於拾取及放置該物品之一計劃,系統100可使用與該物品相關之資訊(例如,屬性資訊、目的地位置等)來判定用於拾取該物品之一策略。拾取策略可包含一拾取位置(例如,機器人手臂102待諸如經由末端執行器接合物品之物品上之一位置)之一指示。拾取策略可包含待施加以拾取該物品之一力及/或機器人手臂102待藉由其抓握物品同時將物品自一源位置移動至目的地位置之一固持力。系統100可使用機器學習程序以至少部分地基於與該物品相關之資訊(例如,屬性資訊、目的地位置等)與拾取該物品之效能(例如,與過去反覆拾取及放置物品或類似物品(諸如共用一或多個類似屬性之物品)相關聯之歷史資訊)之間的一關聯改良拾取策略。
根據各項實施例,系統100可回應於使用間隔件或一定數量之間隔件材料將改良棧板上之一經改良物品堆棧之結果(例如,改良物品堆棧之穩定性)的一判定來判定結合對一或多個物品進行碼垛堆積而使用一間隔件或一定數量之間隔件材料。在一些實施例中,結合將N個物品之組放置於棧板上來放置一或多個間隔件將導致棧板上之一經改良物品堆棧的判定係至少部分地基於一包裝密度、一平整頂表面及一穩定性之一或多者。在一些實施例中,結合將N個物品之組放置於棧板上來放置一或多個間隔件將導致棧板上之一經改良物品堆棧的判定係至少部分地基於具有N個物品之組之物品堆棧之一包裝密度比在不具有一或多個間隔件之情況下將N個物品之組放置於棧板上的情況下之一包裝密度更高的判定。在一些實施例中,結合將N個物品之組放置於棧板上來放置一或多個間隔件將導致棧板上之一經改良物品堆棧的判定係至少部分地基於一頂表面比在不具有一或多個間隔件之情況下將N個物品之組放置於棧板上的情況下之一頂表面更平整的一判定。在一些實施例中,結合將N個物品之組放置於棧板上來放置一或多個間隔件將導致棧板上之一經改良物品堆棧的判定係至少部分地基於具有N個物品之組之物品堆棧之一穩定性比在不具有一或多個間隔件之情況下將N個物品之組放置於棧板上的情況下之一穩定性更高的一判定。N可為一正整數(例如,小於待在整個棧板中碼垛堆積之物品之一總數之一正整數)。
作為一實例,由於N可小於待碼垛堆積物品之一總數,因此系統100可能在其對物品堆棧之最佳化方面受限(例如,機器人系統100可能僅計劃一次放置N個物品)。據此,一或多個間隔件之使用增加與放置N個物品相關聯之自由度之數目。系統100可使用一或多個間隔件來最佳化N個物品之堆垛(或來達成具有N個物品之一「足夠好」堆棧,諸如滿足一最小穩定性臨限值之一堆棧)。系統100可結合判定是否使用一或多個間隔件、使用之間隔件之一數目、間隔件之一放置等來使用一成本函數。例如,成本函數可包含一穩定性值、放置一或多個物品之一時間、物品堆棧之一包裝密度、物品堆棧之上表面之頂部之一平坦度值或可變性程度及供應材料之一成本等之一或多者。
根據各項實施例,控制電腦118控制系統100結合改良容器106上之物品堆棧之一穩定性將一間隔件放置於一容器106 (例如,一棧板)或一物品堆棧上。作為一實例,可回應於若使用該間隔件則估計(例如,可能諸如超過一預定義可能性臨限值之一概率)將改良物品堆棧之一穩定性之一判定而放置間隔件。作為另一實例,控制電腦118可控制機器人系統100以回應於物品堆棧之一穩定性小於一臨限穩定性值及/或結合一組物品(例如,一組N個物品,N為一整數)之放置估計物品堆棧之穩定性小於一臨限穩定性值的一判定來使用間隔件。
根據各項實施例,控制電腦118可至少部分地基於一物品堆棧之一模型及/或放置一組一或多個物品之一模擬判定一物品堆棧之穩定性。一電腦系統可獲得(例如,判定)一物品堆棧之一當前模型,且模型化(例如,模擬)一組(若干)物品之放置。結合模型化該物品堆棧,可判定該物品堆棧之一預期穩定性。該物品堆棧之模型化可包含結合該組(若干)物品之放置之模型化來模型化一間隔件之放置。
在一些實施例中,控制電腦118可至少部分地基於物品堆棧(或經模擬物品堆棧)之一頂表面及/或間隔件之一或多個屬性判定物品堆棧(或經模擬物品堆棧)之穩定性。例如,可結合判定物品堆棧之穩定性來使用頂表面平坦程度之一量度。一箱子在一平坦表面上之放置可導致物品之一穩定放置及/或堆棧。作為另一實例,可結合判定一物品在物品堆棧上之放置之穩定性或預期穩定性來使用頂表面上之一平坦區域之一表面區域。物品堆棧之一頂表面上之一平坦區域相對於放置於物品堆棧上之一物品之一底表面愈大,物品堆棧之穩定性將滿足(例如,超過)一臨限穩定性值之可能性愈大。
根據各項實施例,系統100產生一棧板或該棧板上之一或多個物品之一堆棧之一模型,且至少部分地基於棧板或棧板上之一或多個物品之該堆棧之該模型,判定待結合一或多個物品之碼垛堆積來放置間隔件或間隔件材料。系統100可產生一棧板或該棧板上之一或多個物品之一堆棧之至少一頂表面之一模型,判定接下來待放置於該棧板上之一組N個物品(例如,N係一正整數),判定結合將N個物品之組放置於棧板上來放置一或多個間隔件相較於在不具有間隔件之情況下放置N個物品之組之一所得堆棧,將導致棧板上之一經改良物品堆棧,產生一或多個控制信號以致使致動器施配對應於一或多個間隔件之一定量之間隔件材料,且結合將N個物品之組放置於棧板上來將該一或多個控制信號提供至致動器。
根據各項實施例,待碼垛堆積物品當中之物品(例如,物品之類型)之變動可使以一穩定方式(例如,根據其物品堆棧之穩定性滿足一臨限穩定性值之一方式)對物品進行碼垛堆積複雜化。在一些實施例中,控制電腦118可僅能夠預測待碼垛堆積之一特定數目物品。例如,該系統可具有待碼垛堆積之N個物品之一佇列/緩衝區,其中N係一正整數。N可為待堆垛於一棧板上之物品之一總數之一子集。例如,相對於待堆垛於棧板上之物品之總數,N可相對較小。據此,系統100可僅能夠使用接下來N個已知物品來最佳化物品之堆垛。例如,系統100可根據物品堆棧之當前狀態(例如,一當前模型)及與待堆垛之接下來N個物品相關聯之一或多個屬性來判定堆垛一或多個物品之一計劃。在一些實施例中,一或多個間隔件之使用可提供將堆垛接下來N個物品之方式之靈活性及/或可改良物品堆棧之穩定性。
各項實施例包含一棧板上之相對大數目個混合箱子或物品之碼垛堆積。待碼垛堆積之各種箱子及物品可具有不同屬性,諸如高度、形狀、大小、剛度、包裝類型等。跨各種箱子或物品之一或多個屬性之變動可致使以一穩定方式將物品放置於一棧板上變得困難。在一些實施例中,系統100 (例如,控制電腦118)可判定具有比在經放置之物品下方之箱子或其他物品更大之一表面區域(例如,一更大底表面)之一物品之一目的地位置(例如,將放置一物品之一位置)。在一些實施例中,具有不同高度(例如,不同箱子高度)之物品可被放置於該棧板之相對較高(例如,大於等於一最大棧板高度乘以0.5之一高度臨限值之一高度、大於等於一最大棧板高度乘以2/3之一高度臨限值之一高度、大於等於一最大棧板高度乘以0.75之一高度臨限值之一高度、大於等於一最大棧板高度乘以另一預定義值之一高度臨限值之一高度)區域上。
根據各項實施例,結合改良間隔件材料施配/使用策略(例如,用於結合對一或多個物品進行碼垛堆積來使用間隔件材料之策略)來實施一機器學習程序。系統100可獲得與待碼垛堆積/卸除碼垛堆積之一或多個物品相關之屬性資訊及與待結合對一或多個物品進行碼垛堆積/卸除碼垛堆積而使用之一或多個間隔件相關之屬性資訊。該屬性資訊可包括物品之一定向、一材料(例如,一間隔件材料類型)、一大小、一重量(或預期重量)、一重心、一剛度、一尺寸等之一或多者。系統100亦可獲得一源位置(例如,與待自其拾取物品之輸入輸送機相關之資訊)且可獲得與物品待放置於其上之一棧板(或待自其判定目的地棧板之棧板組,諸如對應於堆垛其物品之訂單之一組棧板)相關之資訊。結合判定用於拾取及放置物品之一計劃,系統100可使用與物品相關之資訊(例如,屬性資訊、目的地位置等)來判定用於對物品進行碼垛堆積(例如,拾取及/或放置物品)之一策略。碼垛堆積策略可包含一拾取位置(例如,機器人手臂102待諸如經由末端執行器接合物品之物品上之一位置)及一目的地位置(例如,棧板/容器106或物品堆棧上之一位置)之一指示。碼垛堆積策略可包含待施加以拾取物品之一力及/或機器人手臂102待藉由其抓握物品同時將物品自一源位置移動至目的地位置之一固持力、該機器人手臂待沿著其將物品移動至目的地位置之一軌跡、待結合將物品放置於目的地位置處而使用之間隔件材料(若有)之一數量之一指示及用於放置間隔件材料之一計劃。系統100可使用機器學習程序以至少部分地基於與物品相關之資訊(例如,屬性資訊、目的地位置等)與以下項之一或多者之間的一關聯來改良碼垛堆積策略:(i)拾取及/或放置物品之效能(例如,與過去反覆拾取及放置物品或類似物品(諸如共用一或多個類似屬性之物品)相關聯之歷史資訊),(ii) 在將物品放置於目的地位置處之後物品堆棧之一穩定性之效能,諸如相對於使用物品堆棧之一模型(例如,與過去反覆對物品或類似物品(諸如共用一或多個類似屬性之物品)進行碼垛堆積相關聯之歷史資訊)產生的一預期穩定性,及(iii) 在將物品及/或間隔件材料放置於目的地位置處之後物品堆棧之一穩定性之效能,諸如相對於使用物品堆棧之一模型(例如,與過去反覆對物品或類似物品及/或間隔件(諸如共用一或多個類似屬性之物品/間隔件)進行碼垛堆積相關聯之歷史資訊)產生的一預期穩定性。在一些實施例中,系統100可使用機器學習程序以至少部分地基於與間隔件及/或經碼垛堆積之一或多個物品相關之資訊(例如,屬性資訊、目的地位置等)與相對於使用一或多個間隔件對一組物品進行碼垛堆積之一預期穩定性(例如,基於使用物品堆棧之一模型模擬該等物品之碼垛堆積之預期穩定性)之使用一或多個間隔件對該組物品進行碼垛堆積之一穩定性效能之間的一關聯來改良結合碼垛堆積策略之一或多個間隔件之使用。
由系統100產生之模型可對應於或至少部分地基於一幾何模型。在一些實施例中,系統100至少部分地基於已放置之一或多個物品(例如,系統100控制機器人手臂102放置之物品)、分別與一或多個物品之至少一子集相關聯之一或多個屬性、工作區內之一或多個物件(例如,預定物件,諸如一棧板、一(若干)機器人手臂、一貨架系統、一滑槽或工作區中所包括之其他基礎結構)等產生幾何模型。可至少部分地基於在控制電腦118上運行一物理引擎以模型化物品之一堆垛(例如,模型化一物品堆棧之狀態/穩定性等)而判定幾何模型。可基於工作區之各種組件之一預期互動來判定幾何模型,諸如一物品與另一物品、一物件或施加至堆棧之一經模擬力(例如,用以模型化使用一叉車或其他裝置來升高/移動一物品堆棧定位於其上的一棧板或其他容器)。
根據各項實施例,該系統判定物品堆棧之一經估計狀態。例如,系統100回應於下一物品之放置,或回應於接下來N個物品之放置等而判定經估計狀態。可至少部分地基於物品堆棧(或工作區)之一幾何模型及/或感測器資料(例如,由系統100之視覺系統獲得之資料)之一或多者判定經估計狀態。
在一些實施例中,系統100結合判定用來將一或多個物品放置於一棧板上之一位置(或結合自一棧板卸除碼垛堆積一或多個物品)來使用感測器資料及幾何資料(例如,一幾何模型)。系統100可使用不同資料源來模型化一棧板(或一棧板上之一物品堆棧)之狀態。例如,系統100估計一或多個物品在該棧板上之位置及與一或多個物品相關聯之一或多個特性(或屬性) (例如,該(等)物品之一大小)。與一或多個物品相關聯之一或多個特性可包含一物品大小(例如,該物品之尺寸)、一重心、該物品之一剛度、一包裝類型、一可變形性、一形狀、一識別符之一位置等。
根據各項實施例,系統100至少部分地基於幾何資料(例如,一工作區之一幾何模型)及感測器資料(例如,由部署於該工作區中之一或多個感測器獲得之資料)估計該工作區之一狀態(本文中亦被稱為經估計狀態)。回應於獲得該工作區之經估計狀態,系統100結合移動該工作區中之一物品來使用經估計狀態。例如,系統100使用經估計狀態來判定用於自一源位置拾取一物品且將該物品放置於一目標位置(本文中亦被稱為目的地位置)處之一計劃及/或策略。
根據各項實施例,至少部分地基於該工作區中之一或多個物品之一或多個屬性判定幾何模型。例如,幾何模型反映一組物品(例如,經碼垛堆積/堆垛之一第一組物品及待碼垛堆積/堆垛之一第二組物品等之一或多者)之各自屬性。一物品之實例包含一物品大小(例如,該物品之尺寸)、一重心、該物品之一剛度、一包裝類型、一識別符之一位置、該物品之一可變形性、該物品之一形狀等。可實施該工作區內之一物品或物件之各種其他屬性。作為另一實例,幾何模型包括堆垛於容器(例如,一棧板)上或容器(例如,一棧板)中之一或多個物品之一預期穩定性。幾何模型可包含一組物品(例如,物品堆棧)之一預期穩定性及/或物品堆棧中所包括之個別物品之一預期穩定性。在一些實施例中,系統100至少部分地基於以下項判定一物品之一預期穩定性:(i)該物品之一或多個屬性;及(ii)相對於該工作區中之該物品與另一物品或物件(例如,一棧板)之一或多個預期互動。例如,系統100可基於與運算其預期穩定性之物品接觸之另一物品或物件之一屬性之一判定而判定預期穩定性。可能影響一特定物品之預期穩定性之其他物品之屬性之實例包含剛度、可變形性、一大小等。作為一實例,若一特定物品擱置於另一剛性物品上,則該特定物品與其中該特定物品擱置於另一非剛性或不太剛性物品上之一情況相較可能具有一經改良預期穩定性。作為另一實例,若一特定物品擱置於另一可變形物品(諸如包括軟包裝)上,則該特定物品與其中該特定物品擱置於另一不可變形或不太可變形物品上之一情況相較可能具有一較小預期穩定性。作為另一實例,若一特定物品擱置於具有大於該特定物品之一底表面區域之一頂表面區域之另一物品上,或若該特定物品之一相對高百分比之底表面係由另一物品之一頂表面支撐,則該物品之預期穩定性相對較高或至少高於該特定物品具有小於該特定物品之一底表面區域之一頂表面區域之情況或該特定物品之一相對高百分比之底表面不被另一物品之一頂表面支撐/不與另一物品之一頂表面互動之情況。
在一些實施例中,系統100調整感測器資料以考量雜訊(例如,感測器雜訊)。系統100可至少部分地基於視覺系統之一經驗分析估計感測器資料中所包括之雜訊。例如,可執行視覺系統之效能之一經驗分析以判定感測器資料中所捕獲(例如,所固有)之雜訊。在一些實施例中,系統100儲存與視覺系統相關聯之一預定感測器雜訊輪廓。系統100可結合調整感測器資料以考量雜訊來使用感測器雜訊輪廓。例如,系統100可至少部分地基於感測器輪廓應用一調整以消除預期雜訊。視覺系統之效能之經驗分析可包含(i)手動/實體量測一物品或一工作區,(ii)使用視覺系統擷取該物品或該工作區,及(iii)判定該物品/工作區之手動/實體量測與使用感測器資料(例如,使用數位處理等)對該物品/工作區之量測之間的一差異。系統100可將該物品/工作區之手動/實體量測與使用感測器資料對該物品/工作區之量測之間的差異視為雜訊輪廓。作為一實例,系統100判定感測器資料中之一變動且至少部分地基於該變動判定感測器雜訊輪廓。經驗分析可相對於一組統計上顯著之實驗/量測而執行。雜訊(或感測器資料之不準確度)之實例可包含(i)一影像在視覺系統之視場之邊緣處之不精確度,(ii)來自該工作區中之物品或其他物件之眩光/反射等。
在一些實施例中,系統100調整幾何模型以考量雜訊(例如,由諸如經由控制一機器人手臂將幾何模型轉變至實體世界引起之幾何雜訊或不精確度)。系統100可至少部分地基於該工作區內之機器人控制或其他物件之精確度之一經驗分析(例如,一棧板之經估計變形、一棧板之放置與幾何模型中使用之一位置之偏差等)估計幾何模型中所包括之雜訊。例如,可執行機器人手臂之控制之效能之一經驗分析(例如,以執行諸如放置一物品之一任務)以判定幾何模型中所捕獲(例如,固有)之雜訊。作為一實例,系統100判定幾何模型中之一變動且至少部分地基於該變動判定幾何雜訊輪廓。在一些實施例中,系統100儲存與視覺系統相關聯之一預定幾何雜訊輪廓。系統100可結合調整幾何模型以考量雜訊來使用幾何雜訊輪廓。例如,系統100應用一調整以消除幾何模型中所包括之預期雜訊(例如,根據基於幾何模型判定之一計劃,基於控制一機器人,諸如機器人手臂102產生之雜訊)。
在一些實施例中,系統100在各物品之移動(例如,放置)之後更新幾何模型。例如,系統100維持對應於工作區之一狀態,諸如一物品堆棧之一狀態/穩定性及該物品堆棧當中之一或多個物品之位置之幾何模型(例如,儲存幾何模型)。幾何模型結合判定用以移動一物品之一計劃且控制一機器人手臂移動一物品來使用一當前幾何模型。回應於該物品之移動,系統100更新幾何模型以反映該物品之移動。例如,在對一物品堆棧進行卸除碼垛堆積之情況下,回應於自該物品堆棧拾取及移動一特定物品,系統100更新幾何模型使得該特定物品不再被表示為在該堆棧上且被包括於幾何模型中之放置該特定物品之一目的地位置處,或倘若該目的地位置在工作區之外,則更新幾何模型以移除該物品。此外,更新幾何模型以反映在已自該堆棧移除該特定物品之後該物品堆棧之一穩定性。作為另一實例,在對一組物品進行碼垛堆積之情況下,系統100更新幾何模型以反映一特定物品在一物品堆棧上/當中之放置。系統100可至少部分地基於該物品在該物品堆棧上/當中之放置更新幾何模型以包含該物品堆棧之一經更新穩定性(例如,以基於特定物品之放置反映特定物品與其他物品之互動或其他物品當中之互動等)。
在一些實施例中,系統100在(i)預定數目個物品之移動(例如,放置),或(ii)預定數目個物品之較早移動或一異常,諸如滿足一或多個異常準則之一異常(例如,該異常之程度超過一異常臨限值等)之偵測之後,更新當前狀態(例如,基於對幾何模型之一更新之更新)。物品之預定數目(例如,X個物品,X係一正整數)可基於使用者偏好、一機器人控制系統政策設定,或基於對物品放置之經驗分析以其他方式判定。作為一實例,物品之預定數目係基於物品之數目導致關於一預定成本函數(例如,反映一效率、一穩定性、預期穩定性變化等之一成本函數)之一最優/最佳結果之一判定設定。作為一實例,系統100判定一當前經估計狀態且使用該當前經估計狀態來判定用於移動接下來X個物品之一計劃,且在移動X個物品(例如,物品之堆垛或拆垛)之後,系統100判定一經更新之經估計狀態(例如,反映X個物品之位置之一幾何更新/模型)。系統100至少部分地基於幾何模型及感測器資料(例如,一當前幾何模型及當前感測器資料等)之一組合來判定經更新狀態。系統100接著結合判定一計劃且控制一機器人以根據該計劃放置下一組物品來使用經更新狀態。
在一些實施例中,動態地判定系統100更新經估計狀態之頻率。例如,系統100動態地判定對應於在其移動之後系統更新經估計狀態之物品之數目之值X。在一些實施例中,系統100至少部分地基於物品之一或多個屬性(例如,一先前移動/放置物品之一屬性,及/或一待移動物品之一屬性)來動態地判定值X (例如,對應於經估計狀態之一更新頻率)。作為一實例,系統100基於在使用當前經估計狀態放置X個物品之組之前(例如,緊接在其之前等)放置一不規則放置物品或可變形物品或X個物品之組包括一不規則形狀物品或可變形物品之一判定來動態地判定值X。
結合判定一組物品之放置(例如,對應於放置之計劃)且控制機器人手臂102以根據放置拾取及放置該組物品,系統100判定一狀態空間、一動作空間及一搜尋空間。系統100至少部分地基於判定該組物品之各種放置位置及/或定向而判定搜尋空間。若系統100經組態以允許一或多個物品之一緩沖,則系統100可基於該組物品中之物品之放置之一順序之一變化進一步判定搜尋空間。
判定用於拾取及放置一組物品(例如,對該組物品進行碼垛堆積)之一計劃包含判定一放置位置(例如,該物品待放置之一目的地位置)及待根據其放置該物品之一定向。在一些實施例中,判定或更新用於拾取及放置一組一或多個物品之計劃包含評鑑該組物品中之物品之各種放置位置及定向。系統100基於(i)該組物品待放置之棧板或其他位置之一狀態之一狀態空間,及(ii)對應於該組物品中之各自物品在對應目的地位置及定向處之放置之一動作空間判定一搜尋空間。例如,系統100藉由判定該組物品中所包括之各物品之對應放置(例如,放置位置及定向等)而判定用於對該組物品進行碼垛堆積之一組計劃。作為另一實例,系統100判定該組物品中之各物品(或該組物品之N個物品,N係一整數)之放置(例如,放置位置及定向等)之複數個組合/排列。判定該計劃可進一步包括判定包括放置於對應目的地位置及定向中之該組物品之至少部分之一物品堆棧之預期穩定性。在一些實施例中,系統100執行分別對應於用於放置/定向該組物品之各種組合/排列之複數個模擬。該計劃係至少部分地基於目的地位置及定向之一最佳(例如,最優)組合/排列而判定。可基於一成本函數選擇目的地位置及定向之最佳組合/排列,使得該最佳組合/排列之一成本係最低成本組合/排列或小於一成本臨限值(例如,一絕對臨限值、不同組合/排列之各種成本當中之成本之一百分位數等)。
在一些實施例中,系統100判定用於一組N個接下來物品之放置之一搜尋空間,其中N係一正整數。作為一實例,若物品經遞送至一工作區供一機器人在目的地位置處拾取及放置,則系統100可能夠判定待放置之接下來M個物品,其中M係一正整數。M大於或等於N (例如,接下來N個物品可為接下來M個物品之一子集)。系統100可基於由工作區中之一或多個感測器(例如,視覺系統)獲得之感測器資料判定接下來M個物品。在一些實施例中,系統100基於待拾取及放置(例如,碼垛堆積)之物品之一載貨單或其他預定義清單判定接下來N個物品。
在一些實施例中,系統100將搜尋空間表示為各節點根據其對應於該組物品之放置之一不同組合之一樹。系統100至少部分地基於一狀態空間及一動作空間判定搜尋空間。狀態空間對應於工作區之一當前狀態(例如,棧板之一當前狀態)。動作空間對應於由一組物品之(若干)放置(例如,放置位置及定向等)定義之一空間。根節點係工作區之一當前狀態(例如,棧板之一當前狀態)。根節點之後的第一步驟對應於用於第一下一物品之放置之放置位置及定向之各種排列之分支/節點。根節點之後的第二步驟對應於用於第二下一物品之放置位置及定向之各種排列之分支/節點。
在一些實施例中,系統100將搜尋空間表示為各節點根據其對應於該組物品之放置之一不同組合之一馬爾可夫(Markov)決策程序。例如,若系統100不知道待拾取及放置之全組物品,則系統100實施一馬爾可夫決策程序,此係因為存在相對於待拾取及放置之未來物品之不確定性。
藉由在搜尋空間內執行一搜尋而選擇該組物品之放置(例如,目的地位置及定向)。例如,系統100在搜尋空間內執行一搜尋以識別最佳/最低成本解決方案或一足夠好解決方案,諸如滿足一預定義成本臨限值之一解決方案。然而,遍歷包含放置位置及定向之所有可能組合之整個搜尋空間可能在運算上極其昂貴且可能對用於放置一(若干)物品之一計劃之判定增加顯著延時。例如,在搜尋空間被表示為一樹之情況下,遍歷該樹之各個分支可能係低效的。搜尋空間可隨著物品之數目增加及棧板大小增加等而指數倍增長。在一些實施例中,系統100對系統100在其內選擇一(若干)放置(例如,放置位置、定向等)之搜尋空間定界。然而,對搜尋空間過多地定界可導致待自其判定下一物品之一放置之一組物品之放置之次佳數目個組合/排列。
根據各項實施例,系統100對搜尋空間定界以獲得一運算上更合理的搜尋空間(例如,以找到一運算上更合理的方式來判定一待放置物品之一最優位置)。在搜尋空間被表示為一樹之情況下,系統100判定修剪該樹之一方式,且系統100修剪該樹。作為一實例,修剪該樹包含對該樹之搜尋空間定界,使得系統100將對應於經修剪分支/節點之彼等狀態排除在作為可能的放置位置/方向之考量之外。在一些實施例中,系統100將潛在放置(位置及定向)之分析或對一最佳放置之搜尋(例如,目的地位置及定向之最佳組合/排列、用於下一物品之放置以導致下一組物品之一穩定放置之最佳目的地位置及定向等)限於搜尋空間中尚未被修剪之彼等放置。
在一些實施例中,系統100至少部分地基於關於搜尋空間之各個部分執行一模擬而修剪搜尋空間(例如,樹)。作為一實例,該樹中之各節點對應於一物品在一特定放置位置及一定向處之放置。在一些實施例中,系統100根據對應於該樹中之一特定節點之放置位置及定向模擬該物品之放置。作為一實例,執行一模擬可包含查詢一模擬服務。該模擬服務可為一物理引擎,或使用機器學習程序基於諸如藉由堆垛該物品之反覆實體/真實世界試驗獲得之資訊之訓練資料訓練之一模型等。該模擬服務可為在系統100上或系統100與其進行通信之一遠端系統上運行之一應用程式或其他程序。回應於執行該模擬,系統100判定是否在此節點處修剪該樹。系統100可回應於該物品之放置而至少部分地基於一物品堆棧之一預期穩定性判定在此節點處修剪該樹(例如,可修剪搜尋空間以移除/排除被視為實體上不穩定之放置)。在一些實施例中,系統100獲得(例如,運算)對應於該節點之放置之一成本函數值。作為一實例,該成本函數可至少部分地基於以下項之一或多者:(i)該物品堆棧之一預期穩定性,(ii)該物品堆棧之一完成時間,(iii)該物品堆棧是否滿足一預定義準則或試探法之一滿意度(例如,可變形構件朝向該堆棧之頂部放置、重物品朝向該堆棧之底部放置、不規則形狀物品朝向該堆棧之頂部放置等),(iv)避撞或一預期碰撞(例如,至放置位置之一軌跡是否將導致物品或機器人手臂與另一物品或機器人手臂之間的一碰撞之一判定),(v)移動該(等)物品之一效率,及(vi)是否預期機器人在針對該放置拾取、移動或放置該物品時以一彆扭姿勢進行組態之一指示。
在一些實施例中,針對該樹(或馬爾可夫決策程序)中之各節點,系統100根據該節點處之放置模擬放置對應物品。回應於模擬相應物品之放置,系統100模型化物品堆棧。例如,系統100判定物品堆棧(例如,經模型化物品堆棧)之一預期穩定性。回應於判定預期穩定性,系統100判定是否修剪該節點(及作為該節點之子節點之節點/分支)。例如,系統100至少部分地基於將預期穩定性與一預定義穩定性臨限值進行比較而判定是否修剪該節點。若預期穩定性小於該穩定性臨限值,則系統100判定修剪該節點。作為另一實例,系統100基於對應於與該節點相關聯之放置之一成本函數之一值(例如,成本)判定是否修剪該節點。系統100將該成本與一預定義成本臨限值進行比較。若該成本高於一預定義成本臨限值,則系統100判定修剪該節點。
根據各項實施例,系統100執行下一物品(例如,待放置之該組物品中之第一下一物品)之放置之一模擬。放置之模擬係結合判定自根節點形成分支之第一級節點(其對應於棧板/物品堆棧之當前狀態)來使用。執行一物品之放置之模擬在運算上係昂貴的。例如,系統100查詢一物理引擎以執行一模擬且接收一結果(例如,一經估計狀態之一模型)。儘管模擬保真度非常期望,但放置之高保真度模擬(例如,基於此放置判定物品堆棧之一模型)係昂貴的(例如,在運算上係昂貴的、在時間上係昂貴的等)。
在一些實施例中,針對後續級之節點(例如,該組物品中之第一下一物品之後的物品之放置),系統100結合判定(例如,物品堆棧)經估計狀態之一預期穩定性來使用一或多種試探法。可預定義一或多種試探法。例如,可基於一堆垛政策或系統偏好定義一或多種試探法。該等試探法可由一管理者憑經驗判定且對應地預設定。在一些實施例中,一或多種試探法係基於邏輯上放置(例如,根據該節點之放置)之對應物品或在物品堆棧內之物品之一屬性。根據各項實施例,系統100僅針對自根節點形成分支之第一級節點執行物品之放置之一模擬,且針對N-1個後續物品,藉由對應物品根據各自節點之放置位置及定向之放置,系統100使用一或多種試探法來判定一預期穩定性或對該穩定性之一影響。
試探法之實例可包含(i)基於一非剛性或可變形物品在物品堆棧之底部處或附近之放置之一預期穩定性,(ii)基於一大物品在物品堆棧之頂部處或附近之放置之一預期穩定性,(iii)基於一重物品在物品堆棧之頂部處或附近之放置之一預期穩定性,(iv)基於一重物品在物品堆棧之底部處或附近之放置之一預期穩定性,(v)基於一不規則形狀物品在該堆棧之底部處或附近之放置之一預期穩定性,及(vi)基於一不規則形狀物品在該堆棧之頂部處或附近之放置之一預期穩定性。可實施各種其他試探法。作為一實例,若將一非剛性或可變形物品放置於物品堆棧之底部處或附近,則一試探法指示該物品堆棧係不穩定的。作為一實例,一試探法指示該物品堆棧之穩定性不受一非剛性或可變形物品放置在該物品堆棧之頂部處或附近(例如,至少達一臨限穩定性量)之負面影響。作為一實例,若將一重物品放置於該物品堆棧之頂部處或附近,則一試探法指示該物品堆棧係不穩定的。作為一實例,一試探法指示該物品堆棧之穩定性不受放置於該物品堆棧之底部處或附近之一重物品之放置(例如,至少達一臨限穩定性量)之負面影響。作為一實例,若將一不規則形狀物品(例如,一非矩形物品、一圓形物品等)放置於該物品堆棧之底部處或附近,則一試探法指示該物品堆棧係不穩定的。作為一實例,一試探法指示該物品堆棧之穩定性不受放置於該物品堆棧之頂部處或附近之一不規則形狀物品(例如,非矩形)之放置(例如,至少達一臨限穩定性量)之負面影響。
根據各項實施例,一試探法係執行一實體模擬之一運算上有效變動。例如,該試探法被定義為類似於執行一放置模擬。
特定而言與執行放置之一模擬且基於該模擬判定一物品堆棧之一模型相較,使用一試探法來基於一特定放置判定該物品堆棧之一預期穩定性或對該物品堆棧之一穩定性之一影響係相對有效的。
使用第一下一物品(例如,自根節點形成分支之第一級節點)之經模擬放置及使用第二或更多接下來物品(例如,第二級節點及分別自第二級節點形成分支之節點)之放置之試探法判定物品堆棧及預期穩定性提供下一物品之放置之一準確的經估計狀態及用於填充該樹之其餘部分(例如,判定對預期穩定性之一預期穩定性影響)之一具成本效益方法。
各項實施例結合是否自該樹(或馬爾可夫決策程序)修剪此節點來使用與該樹中之節點處之物品堆棧之一預期穩定性相關之資訊。例如,系統100自根節點開始遍歷該樹,且系統100針對接下來節點反覆地判定是否預期該堆棧係穩定的(例如,大於一穩定性臨限值之一穩定性、指示預期該堆棧穩定之一試探法、指示預期該堆棧不穩定之一試探法之缺乏等)。回應於判定預期該堆棧在一特定節點處穩定,系統100可繼續進行至下一級節點(例如,自該特定節點形成分支之一節點)且判定是否預期該堆棧在下一級節點處穩定。回應於判定預期一特定節點不穩定(例如,小於一穩定性臨限值之一預期穩定性、指示預期該堆棧不穩定之一試探法),系統100修剪該節點(及自該特定節點形成分支之所有下一級節點)。
在一些實施例中,系統100經組態以允許/啟用物品之緩衝,且系統100至少部分地基於物品之放置之組合/排列判定搜尋空間,包含改變物品之放置之一順序達最多一臨限緩衝量。例如,若系統100經組態以允許最多兩個物品之緩衝,則系統100可基於自接下來三個待放置物品選擇第一下一待放置物品而判定搜尋空間。系統100可針對各放置順序以及放置位置及定向之對應組合/排列判定搜尋空間中之節點。
在一些實施例中,系統100經組態以不允許/啟用物品之緩衝,且系統100至少部分地基於各下一物品按照該組物品被提供至工作區(諸如,經由一輸送機提供至機器人)之順序之放置判定搜尋空間。
根據各項實施例,系統100至少部分地基於接下來N個物品之一最佳放置(例如,具有一最高預期穩定性及/或最低成本之一放置等)之一判定而判定用於放置第一下一物品之計劃(例如,一目的地位置及定向)。系統100接著控制一機器人以根據該計劃拾取及放置第一下一物品。回應於放置第一下一物品,系統100判定用於放置第二下一物品及後繼物品之一搜尋空間。例如,該搜尋空間具有對應於一物品堆棧之一根節點,其中該物品堆棧包含第一下一物品;搜尋空間之第一級節點對應於第二下一物品之放置。系統100接著針對搜尋空間內之節點判定該物品堆棧之預期穩定性(或對該穩定性之影響),判定是否/如何修剪搜尋空間,且選擇第二下一物品之最佳放置(例如,最高預期穩定性、最低成本等)。根據各項實施例,系統100可反覆地判定搜尋空間,修剪搜尋空間,且判定待放置之該組物品中之物品之各者之一物品放置。
在一些實施例中,該系統包括棧板分別安置於其中之複數個分區。該系統可同時判定一特定物品待放置於其上之一棧板/物品堆棧,且將該物品拾取及放置至一選定棧板。
儘管前述實例係在一系統將一組物品碼垛堆積於一或多個棧板上之背景下進行論述,但機器人系統亦可結合自一或多個棧板卸除碼垛堆積一組物品來使用。
圖2係繪示根據各項實施例之用來對一或多個物品進行碼垛堆積之一程序之一流程圖。在一些實施例中,程序200至少部分地由圖1之系統100實施。
在210處,獲得一組物品。該組物品可對應於待共同碼垛堆積於一或多個棧板上之一組物品。根據各項實施例,至少部分地基於待履行一載貨單或訂單之一指示來判定待碼垛堆積之一組物品。例如,回應於接收一訂單,可產生該訂單之一物品清單。作為另一實例,可產生對應於待發送至同一接收者之複數個訂單之一物品清單。
該等物品可定位於一倉庫內之一貨架或其他位置上。為了對該等物品進行碼垛堆積,將該等物品移動至對該等物品進行碼垛堆積之一機器人系統。例如,物品可被放置於將物品移動至一或多個機器人手臂之範圍內之一或多個輸送機上,該一或多個機器人手臂將物品碼垛堆積於一或多個棧板上。回應於獲得該物品清單,該等物品之至少一些係與一特定機器人手臂、對應於該特定機器人手臂之一預定義分區及/或一特定棧板(例如,一棧板識別符、定位於一預定義分區中之一棧板)等相關聯。
在220處,基於物品清單及可用的感測器資訊執行計劃(或重新計劃)以產生用以拾取/放置物品之一計劃。該計劃可包含用於取回物品清單上之一或多個物品且將此等物品放置於對應一或多個輸送機上以將該等物品運送至一機器人手臂之一或多種策略。根據各項實施例,至少部分地基於物品清單判定將物品清單上之物品提供至適用機器人手臂以進行碼垛堆積之一順序。
將該等物品放置於輸送機上之順序可至少鬆散地基於該等物品及一或多個棧板上之該等物品之一預期堆棧(例如,一經模型化之經估計狀態)。例如,判定放置該等物品之順序之系統可產生該等物品之一(若干)預期堆棧之一模型,且基於該模型來判定該順序(例如,以便首先遞送形成該堆棧之基底/底部之物品且逐步遞送堆棧上更高之物品)。在物品清單上之物品待碼垛堆積於複數個棧板上之情況下,預期形成各自堆棧之基底/底部(或以其他方式相對靠近該等堆棧之底部)之物品可在預期實質上在該等堆棧之中間或頂部之物品之前放置於輸送機上。待碼垛堆積於複數個棧板上之各種物品可在彼此當中散佈且機器人系統可在物品到達機器人手臂處時對物品進行分類(例如,機器人手臂可至少基於該物品(諸如該物品之識別符或該物品之一屬性)將該等物品拾取及放置至一適用棧板上)。據此,對應於對應堆棧之基底/底部部分之物品可在彼此當中散佈且各棧板/堆棧之各種物品可在構建對應堆棧時放置於輸送機上。
電腦系統可產生屬於物品清單之物品之一或多個預期堆棧之一模型。該模型可至少部分地基於一或多個臨限值,諸如一契合臨限值或穩定性臨限值、其他包裝度量(例如,密度)等來產生。例如,電腦系統可產生其之一預期穩定性值滿足(例如,超過)該穩定性臨限值之一堆棧之一模型。該模型可使用一機器學習程序產生。機器學習程序可基於諸如先前物品堆棧之歷史資訊(例如,先前堆棧中之物品之屬性、與先前堆棧相關的效能度量,諸如穩定性、密度、契合等)反覆地更新。在一些實施例中,至少部分基於物品之一或多個屬性產生用於對物品清單上之物品進行碼垛堆積之(若干)堆棧之模型。
可在判定計劃之前或期間獲得一物品之各種屬性。屬性可包含一物品之一大小、一物品之一形狀、一物品之一包裝類型、一物品之一識別符、一物品之一重心、該物品是否易碎之一指示、該物品之一頂部或底部之一指示等。作為一實例,可至少部分地基於物品清單獲得與物品之至少一子集相關之一或多個屬性。可至少部分地基於由一或多個感測器獲得之資訊,及/或藉由對屬性至物品(例如,物品類型、物品識別符,諸如序號、型號等)之一映射執行一查找而獲得該一或多個屬性。
在一些實施例中,產生屬於物品清單之物品之一或多個預期狀態之模型包含產生(例如,判定)工作區(例如,包括一或多個物品堆棧之一工作區)之一經估計狀態。電腦系統判定用於移動(例如,碼垛堆積或卸除碼垛堆積等)一組一或多個物品之一計劃,且電腦系統控制一機器人(例如,一機器人手臂)以根據該計劃移動該組一或多個物品。回應於根據該計劃移動該組一或多個物品,電腦系統判定工作區之一經估計狀態。例如,電腦系統至少部分地基於該組物品之移動更新該經估計狀態。在一些實施例中,回應於幾何模型及感測器資料不一致(例如,幾何模型與感測器資料之間的一差異大於一預定差異臨限值或包括一異常等)之一判定,至少部分地基於幾何模型或感測器資料,或幾何模型及感測器資料之一組合來判定該經估計狀態。經更新/當前經估計狀態反映該組一或多個物品之移動(例如,在碼垛堆積之情況下,經更新之經估計狀態包含與該組一或多個物品在該(等)堆棧上之放置相關之資訊等)。回應於判定經更新/當前經估計狀態,電腦系統判定用於移動另一組一或多個物品之一計劃,且電腦系統控制該機器人以根據該計劃移動該另一組一或多個物品。
在一些實施例中,電腦系統在(i)預定數目個物品之移動(例如,放置),或(ii)預定數目個物品之較早移動或一異常,諸如滿足一或多個異常準則之一異常(例如,該異常之程度超過一異常臨限值等)之偵測之後,更新當前狀態(例如,基於對幾何模型之一更新進行更新)。物品之預定數目(例如,X個物品,X係一正整數)可基於使用者偏好、一機器人控制系統政策設定,或基於物品之放置之經驗分析以其他方式判定。作為一實例,物品之預定數目係基於物品之數目導致關於一預定成本函數(例如,反映一效率、一穩定性、預期穩定性變化等之一成本函數)之一最優/最佳結果之一判定設定。作為一實例,電腦系統判定一當前經估計狀態並使用該當前經估計狀態來判定用於移動接下來X個物品之一計劃,且在移動X個物品(例如,物品之堆垛或拆垛)之後,電腦系統判定一經更新之經估計狀態(例如,反映X個物品之放置之一幾何更新/模型)。電腦系統至少部分地基於幾何模型及感測器資料(例如,一當前幾何模型及當前感測器資料等)之一組合來判定經更新狀態。電腦系統接著結合判定一計劃及控制一機器人以根據該計劃放置下一組物品來使用經更新狀態。
根據各項實施例,電腦系統至少部分地基於執行幾何模型與感測器資料之間的一內插而判定經估計狀態。例如,該系統針對一幾何模型之一特定部分及感測器資料之一對應部分執行該內插(例如,該特定部分可對應於幾何模型與感測器資料之間的超過一差異臨限值之一差異,或包括一異常)。
可實施各種內插技術。幾何模型之特定部分可對應於用於幾何模型之點雲中之一特定點(或點集),且感測器資料之對應部分可為針對用於幾何模型之點雲中之彼特定點之感測器資料等。在一些實施例中,該系統執行幾何模型與感測器資料之間的自適應內插。在一些實施例中,該系統執行幾何模型與感測器資料之間的一非自適應內插。自適應內插處理之實例包含:最近鄰、雙線性、雙三次、樣條、sinc、lanczos等。可結合判定一經估計狀態來執行各種其他內插處理。
在一些實施例中,該系統結合判定下一放置(例如,待放置之一組物品之下一物品之一放置)來使用當前經估計狀態。例如,該系統至少部分地基於該經估計狀態判定下一物品之可能放置之一搜尋空間。在一些實施例中,該系統使用該經估計狀態作為搜尋空間之根節點(例如,表示搜尋空間之一樹狀結構,或一馬爾可夫決策程序等),且該系統判定下一物品或一組物品(例如,接下來待放置之一組N個物品)之各種組合/排列。
回應於判定搜尋空間,該系統諸如基於一服務品質或待分配以判定用於下一物品之放置之一計劃之一資源量或延時之其他準則判定是否修剪搜尋空間。該系統修剪搜尋空間以移除對應於次佳放置之一組物品之放置之組合/排列(例如,預期導致一不穩定物品堆棧之放置,或此等放置之成本超過一預定義成本臨限值等)。回應修剪搜尋空間,該系統評鑑搜尋空間中之放置之剩餘組合/排列以識別一最佳放置(例如,預期產生一組物品,諸如一組N個接下來物品之一最佳放置之下一物品之一放置)。可至少部分地基於該堆棧之一預期穩定性、下一物品之一放置成本(或該組物品之一放置成本)等之一或多者判定最佳放置。
回應於判定下一物品之放置,該系統判定用於將該物品放置於對應目的地位置及相關聯定向處之一計劃。
在230處,拾取物品且移動物品遍歷一(預定/經計劃)軌跡至物品待放置於對應輸送機上之位置附近之一位置,且根據在220處判定及/或更新之計劃放置於目的地位置處。
在所展示之實例中,(重新)計劃及計劃實施(220、230)繼續直至提供物品清單上之物品之高階目標完成(240),此時程序200結束。在各項實施例中,重新計劃(220)可由諸如未預期及/或無法識別之物品之到達、指示一屬性之一感測器讀數具有與基於物品識別之預期值不同之一值及/或相關聯物品模型資訊等之條件觸發。意外條件之其他實例包含但不限於判定一預期物品丟失,重新評估物品識別及判定一物品與如起初識別之物品不同,偵測一物品重量或與如識別之物品不一致之其他屬性,放下或需要重新抓握該物品,判定一後期到達的物品過重而無法按照原始及/或當前計劃之考慮堆垛於一或多個其他物品上,及偵測如堆垛於容器上之該組物品之不穩定性。
圖3係繪示根據各項實施例之用以判定移動物品之一計劃之一程序之一流程圖。在一些實施例中,程序300至少部分地由圖1之系統100實施。
在305處,獲得一組物品。在一些實施例中,至少部分地基於感測器資料,諸如由工作區中之一視覺系統獲得之資訊判定該組物品。該系統至少部分地基於感測器資料判定接下來待放置物品(例如,該系統判定接下來N個物品被遞送至工作區以進行碼垛堆積等)。在一些實施例中,至少部分地基於待拾取及放置物品之一預定義載貨單或清單判定該組物品。
在310處,獲得棧板或物品堆棧之一當前狀態。在一些實施例中,該系統判定棧板或物品堆棧之一當前經估計狀態。該系統可基於使用物品堆棧之一幾何模型、工作區之感測器資料或幾何模型及感測器資料之一組合而判定經估計狀態。例如,該系統執行關於幾何模型及感測器資料之一內插以判定經估計狀態。
在315處,該系統判定對應於用於該組物品之至少部分之放置之情境之一樹。在一些實施例中,該系統判定對應於接下來N個物品之放置(例如,放置位置及定向)之各種組合/排列之一搜尋空間。
在320處,修剪該樹以消除對應於不利情境之分支及/或節點。在一些實施例中,該系統判定對應於預期產生一不穩定物品堆棧(例如,小於一預定義穩定性臨限值之一預期穩定性,指示預期該物品堆棧不穩定之一試探法等)之(若干)放置或預期具有超過一成本臨限值之一成本(例如,根據一預定義成本函數)之(若干)放置之分支/節點。回應於判定對應於預期產生一不穩定物品堆棧之(若干)放置或超過一臨限成本之一成本之分支/節點,該系統判定自搜尋空間修剪此等放置。例如,該系統將此等放置自進一步分析排除。在一些實施例中,在350之後執行320。
在325處,選擇剩餘樹中之一情境。在一些實施例中,該系統選擇經修剪搜尋空間中之放置之一組合/排列。該系統可反覆進行325至360,直至分析經修剪搜尋空間中剩餘之所有情境。在一些實施例中,該情境對應於表示搜尋空間之一樹狀結構中之一節點。在一些實施例中,該情境對應於表示搜尋空間之一馬爾可夫決策程序中之一節點。
在330處,判定一待放置物品。在一些實施例中,該系統判定待放置之下一物品。在一些實施方案中,該系統可允許物品之緩存,且在此一實施方案中,該系統自契合緩衝準則之該組接下來物品當中判定下一物品。
在335處,判定可根據其等針對當前情境放置物品之放置。該等放置可對應於可根據其等放置物品之各種放置位置及定向。
在340處,選擇用來針對情境放置物品之一位置及/或定向。作為一實例,該系統在搜尋空間中選擇對應於物品之放置之一節點,且判定對應於選定節點之位置及/或定向。
在345處,模擬拾取及放置該物品。在一些實施例中,回應於選擇該物品之一放置(例如,判定對應於搜尋空間中之一節點之一放置),該系統模擬該物品之拾取及放置。該系統可結合模擬該物品之拾取及放置來使用一幾何模型。若被放置物品係第一下一物品,則該系統可使用對應於當前經估計狀態之幾何模型來模型化將該物品放置於既有物品堆棧當中。若被放置物品在第一下一物品之後,則該系統基於使用對應於經更新以反映第一下一物品之邏輯(例如,理論)放置之當前經估計狀態之一幾何模型而模擬此物品之放置。
在350處,判定對應於物品堆棧之一或多個特性。例如,該系統至少部分地基於基於物品放置之模擬產生之物品堆棧之模型判定對應於情境之物品堆棧之特性。與物品堆棧相關之特性之實例包含(i)一預期穩定性,(ii)一成本,(iii)針對情境執行(若干)放置之一時間,(iv)若執行該放置則是否預期發生一碰撞之一指示,(v)是否預期機器人在該物品之放置期間以一彆扭或低效姿勢定位之一指示等。
在355處,該系統判定是否待執行更多物品之放置之模擬。例如,該系統根據情境判定是否保持放置該組物品(或接下來N個物品之組)中之任何物品。回應於判定待執行更多物品之放置之模擬,程序300返回至330且程序300反覆進行330至355直至將不針對選定情境執行物品放置之進一步模擬。回應於判定不存在額外物品,程序300繼續進行至360。
在360處,該系統判定是否存在用於該組物品之放置之額外情境。例如,該系統判定堆垛該等物品之其他順序或組合/排列是否保持於搜尋空間內。回應於判定存在額外情境,程序300返回至325且程序300反覆進行325至360,直至不存在進一步情境。回應於判定不存在額外情境,程序300繼續進行至365。
在365處,比較搜尋空間內之各種情境且判定一最佳情境。該系統可至少部分地基於對應於各種情境之物品堆棧之一或多個特性判定最佳情境(例如,該組物品或下一物品之放置,其被預期產生一最佳結果)。例如,該系統判定產生一最高預期穩定性之一放置。作為另一實例,該系統根據一預定義成本函數判定產生一最低成本之一放置。作為另一實例,該系統將最佳情境判定為其預期穩定性滿足一穩定性準則(例如,大於一穩定性臨限值之一穩定性、將指示物品堆棧不穩定之一試探法之缺乏等)及/或滿足一成本準則之搜尋中遍歷之第一放置。
在370處,實施物品根據最佳情境之拾取及放置。在一些實施例中,該系統基於該情境之放置位置及定向判定用於放置該物品之一計劃。
圖4A係根據各項實施例之對應於物品之不同狀態或放置之一樹。在一些實施例中,圖1之系統100結合判定一當前物品(例如,待放置之一組物品當中之下一物品)之一放置來判定或使用搜尋空間400。
在圖4A中所繪示之實例中,搜尋空間400被表示成一樹狀結構。搜尋空間400包括複數個節點,且各節點可對應於一物品之放置之一情境且各分支可對應於一當前物品在一特定物品處及在一特定定向中之一位置。
搜尋空間400包括根節點402。根節點402對應於棧板/物品堆棧之一當前狀態。例如,該系統查詢一狀態估計服務/模組以獲得一經估計狀態,且使用此經估計狀態作為根節點402處之狀態。
回應於判定根節點,該系統反覆地判定一組接下來物品之放置。例如,該系統基於不同的接下來物品之放置進展通過樹之不同階。節點404、406、408及410對應於第一下一物品(例如,該系統針對其判定一最佳放置之物品)之放置。作為一實例,節點404、406、408及410係分別對應於第一下一物品之不同放置(例如,不同位置及/或不同定向,或在允許該系統緩沖一些物品之情況下之不同物品)之第一階節點。如圖4A及圖4B中所繪示,節點404、406、408及410之各者具有分別自其等形成分支之第二階節點。例如,節點412、414、416及418自節點404形成分支。第二階節點之各者分別對應於第二下一物品之不同放置(例如,不同位置及/或不同定向,或在允許該系統緩衝一些物品之情況下之不同物品)。在該系統判定對應於各節點之放置時,該系統判定自用於待模擬之剩餘物品之放置之節點形成分支之節點。例如,回應於判定節點412之放置,該系統判定節點420、422、424及426 (例如,該系統判定該等節點之經估計狀態及相關聯資訊)。
若該系統待分析搜尋空間400中之各節點處之穩定性,則此一分析可能在運算上係昂貴的。據此,如圖4B中所繪示,各項實施例修剪該搜尋空間以限制待結合判定一物品(例如,第一下一物品)之放置判定其狀態/穩定性之節點之數目。
圖4B係根據各項實施例之對應於物品之不同狀態或放置之一樹。在一些實施例中,圖1之系統100結合判定一當前物品(例如,待放置之一組物品當中之下一物品)之一放置來判定或使用搜尋空間430。
該系統基於判定是否修剪搜尋空間400及/或判定修剪搜尋空間400之一方式而判定搜尋空間430。分段區域442、444、446及448對應於該樹之已被該系統判定為不利情境且因此自搜尋空間400 (例如,該樹)修剪之區域。
在一些實施例中,該系統基於以下項之一或多者判定一節點是否對應於一有利或不利情境:(i)用於與該節點相關聯之放置之物品堆棧之狀態之一模擬,及(ii)一或多種試探法。在一些實施例中,該系統結合判定物品堆棧之一經估計狀態及一預期穩定性來模擬第一階節點(例如,404、406、408及410)之物品堆棧之狀態。在一些實施例中,針對具有高於第一階節點之一階之所有節點(例如,412、414、416、418、420、422、424、426等),該系統使用一或多種試探法來判定是否預期對應放置為一不利情境(例如,預期導致一穩定或不穩定堆棧,預期具有一顯著成本(諸如高於一成本臨限值之一成本),預期致使機器人以一彆扭姿勢定位等)。
根據各項實施例,回應於基於一或多種試探法判定一狀態、一預期穩定性及/或放置之有利性之一分析之一結果,該系統判定是否修剪(若干)對應節點。若該系統判定修剪一節點,則該系統修剪該節點及自該節點形成分支之所有潛在節點。例如,回應於判定待修剪節點426 (例如,該節點對應於一不利情境),該系統基於此等節點直接或間接自節點426形成分支而對應地判定修剪節點432、434、436等。在一些實施例中,該系統判定修剪節點432、434、436等而不使用一或多種試探法進行進一步分析。例如,該系統基於修剪節點426之判定而判定修剪節點432、434、436等。
在一些實施例中,在判定搜尋空間430之後(例如,在修剪搜尋空間400之後),該系統判定下一物品(例如,用於第一階節點之物品)之一最佳放置。該系統可基於一預期穩定性、一放置成本、放置下一物品及在下一物品之放置之後的M個物品之成本、在下一物品之放置之後的物品堆棧及在下一物品之放置之後的M個物品之一預期穩定性、該等放置之一有利性等之一或多者判定最佳放置。
在一些實施例中,該系統判定下一物品之最佳放置對應於節點408處之放置。例如,該系統判定節點408處之放置係最佳地基於物品堆棧之狀態經過若干放置順序保持有利(例如,具成本效益、穩定等) (例如,該狀態仍有利於最高數目個後續物品之一放置等)之一判定。在一些實施例中,該系統判定節點438及440經過九個不同物品(例如,下一物品及在下一物品之後的M個物品,其中M在此實例中係8)之放置保持有利。在一些實施例中,該系統相對於搜尋空間430執行一波束搜尋以判定一最佳放置。
結合判定是否修剪一節點,該系統可實施一修剪準則。該修剪準則可包含以下項之一或多者:(i)預期該狀態具有小於一穩定性臨限值之一穩定性,(ii)該狀態違反一試探法(例如,一可變形物品被放置於一物品堆棧之底部處或附近等),(iii)預期對應放置之一成本超過一成本臨限值,(iv)預期一機器人以一彆扭姿勢定位,(v)物品堆棧之一預期密度小於一預定義密度臨限值等。
圖4C係根據各項實施例之具有潛在放置之一物品堆棧之一圖。在一些實施例中,圖1之系統100判定物品堆棧之模型450。
在一些實施例中,該系統基於一幾何模型及/或感測器資料判定模型450。該系統可使用一機器學習模型來獲得模型450。
如圖4C中所繪示,該系統使用當前經估計狀態(例如,基於幾何模型及/或感測器資料)來判定物品堆棧中之各種物品及/或界定潛在放置位置之邊緣及頂點。例如,該系統執行一影像處理或機器學習分析以識別邊緣(諸如邊緣452、454、456、458、460、462、464、466及468)及/或邊緣在其等處相交之頂點等。回應於識別該等邊緣之一或多者,該系統判定當前物品(例如,第一下一物品)之潛在放置。該系統亦可判定一組未來物品(例如,一組N個接下來物品等)之潛在放置。
在一些實施例中,該系統可結合判定該(等)物品之放置來使用一或多個規則或試探法。該等規則或試探法之實例包含(i)該物品在一邊緣處之放置之一偏向/偏好,(ii)該物品在一物品旁邊之放置之一偏向/偏好,(iii)一物品可被放置於其上之一表面之一頂部表面積大於該待放置物品之一底部表面,(iv)一物品可被放置於其上之一表面區域之一頂部表面積大於該待放置物品之底部表面積之一臨限百分比,(v)將一大或重物品放置於物品堆棧之一底部處或附近,諸如在棧板表面之一臨限距離內之一偏向/偏好,(vi)將一非剛性/可變形物放置於物品堆棧之一頂部處或附近,諸如在一最大堆棧高度之一臨限距離內之一偏向/偏好,(vii)該物品契合潛在位置之一指示,及(viii)若放置於一位置中,則一物品之一頂表面是否將與一鄰近物品實質上齊平,諸如在該(等)鄰近物品之一臨限高度內之一指示等。可實施各種其他規則/試探法。
如圖4C中所繪示,該系統判定該物品(例如,當前物品)可被放置於潛在放置470、474及476處。在所展示之實例中,經識別之可能放置470、474及476沿著由物品堆棧之一頂表面(例如,一經曝露表面)界定之邊緣定位。
在一些實施例中,回應於判定可能放置470、474及476,該系統使用一機器學習模型來評估該等放置。例如,該系統使用一機器學習模型以基於一評分函數判定一放置之一分數。
圖4D係根據各項實施例之具有潛在放置之一物品堆棧之一圖。在一些實施例中,圖1之系統100判定物品堆棧之模型480。
在一些實施例中,該系統基於一幾何模型及/或感測器資料判定模型480。該系統可使用一機器學習模型來獲得模型480。在一些實施例中,該系統結合判定位置482及484是否為物品486之潛在放置來評估此等位置。如圖4D中所展示,物品486係一不規則形狀物件。例如,物品486可為一可變形構件及/或具有一種類型之非剛性包裝(例如,一聚乙烯袋(polybag))。在不規則形狀物品486上堆垛一物品可致使該物品堆棧之不穩定性。
關於位置482,該系統可判定此一位置係不可行的,至少因為該表面實質上窄於物品486之一寬度(例如,對應於位置482之一頂部表面積小於物品486之底部表面積之一臨限百分比)。若一位置之一頂表面小於一待放置物品之底部表面積之一臨限百分比,則該物品在此一位置處之放置可導致不穩定性。
圖5係繪示根據各項實施例之用來判定對應於一組物品之放置之一樹之一程序之一流程圖。在一些實施例中,程序500係由圖1之系統100實施。在一些實施例中,結合判定用於一組物品之放置之一搜尋空間來調用程序500。例如,回應於判定一物品待放置於一棧板或物品堆棧上而調用程序500。作為一實例,該系統可判定用於待放置之各物品之搜尋空間(例如,針對待放置之一組物品之各物品調用程序500)。
在505處,獲得一經估計狀態。在一些實施例中,該系統獲得工作區(例如,棧板或物品堆棧)之一當前經估計狀態。例如,該系統可查詢經估計狀態之一狀態估計服務/模組。經估計狀態可包含棧板/物品堆棧之一幾何模型。
在510處,判定待填充其放置對應於搜尋空間中之一節點之一物品。例如,該系統判定待放置之下一物品。在一些實施例中,該下一物品可對應於(例如,藉由一輸送機)遞送至工作區之第一下一物品。在一些實施例中,基於與物品緩衝相關之狀況自一組物品(例如,N個物品之組)選擇該下一物品。與物品緩衝相關之狀況可包含(i)該系統中是否允許緩衝之一判定,(ii)可緩衝之物品之一數目,(iii)當前在緩衝區中之物品之一判定等。在一些實施例中,該物品係基於對應於搜尋空間中(例如,表示搜尋空間之樹狀結構中)之節點之放置之一判定而判定。例如,搜尋空間中之各節點可對應於一特定物品之一特定放置(例如,位置及/或定向)。
在515處,判定該物品待放置之一目的地位置。回應於判定待放置之該物品,該系統自該物品可被放置之可能目的地位置之組選擇一目的地位置。作為一實例,該系統判定對應於搜尋空間中之一特定節點之一放置之目的地位置。
在520處,判定一物品根據其放置於目的地位置處之一定向。在一些實施例中,該系統自其中該物品可被放置於目的地位置處之可能定向之組選擇一定向。作為一實例,該系統判定對應於搜尋空間中之特定節點之一放置之定向。
在525處,基於用於物品之放置之目的地位置及定向而在搜尋空間中創建一節點。在一些實施例中,該系統將搜尋空間表示成一樹表示,或表示為一馬爾可夫決策程序,且該樹經組態以包括對應於用於物品之放置之目的地位置及定向之節點。
在530處,做出關於該物品是否可被放置於額外定向中之一判定。該系統判定是否存在一放置待被包含於搜尋空間中之額外定向(例如,其中可將該物品放置於選定目的地位置處之其他額外定向)。回應於在530處判定存在額外定向,程序500返回至520 (在其處選擇另一定向)且程序500可反覆進行520至530,直至不存在用於該物品在目的地位置處之放置之進一步定向。
在535處,做出關於該物品是否可被放置於額外目的地位置處之一判定。該系統判定是否存在一放置待被包含於搜尋空間中之額外目的地位置。回應於在535處判定存在額外目的地位置,程序500返回至515 (在其處選擇另一目的地位置)且程序500可反覆進行515至535直至不存在用於物品之放置之進一步目的地位置。
在540處,做出關於是否待評鑑額外物品之放置之一判定。在一些實施例中,該系統判定待放置之該組物品是否包括尚未針對其等判定一組放置之物品。在一些實施例中,該系統判定一組N個接下來物品之放置,且該系統判定N個接下來物品之組是否包括尚未針對其判定一組放置之一物品。回應於在540處判定待評鑑額外物品之放置,程序500返回至505 (在其處選擇另一物品)且程序500可反覆進行505至540直至將不評鑑物品之進一步放置。回應於在540處判定將不評鑑進一步物品之放置,程序500繼續進行至545。
在545處,至少部分地基於對應於物品之放置之節點獲得搜尋空間。例如,該系統判定包括對應於一組物品之各種放置(例如,目的地位置及/或定向)之節點之搜尋空間。該系統可結合判定一當前物品之放置來使用搜尋空間。
圖6係繪示根據各項實施例之用來修剪一樹之節點用於一組物品之放置之一程序之一流程圖。在一些實施例中,程序600係由圖1之系統100實施。在一些實施例中,結合判定一放置及/或用於放置一物品之計劃來調用程序600。
在605處,獲得用於放置一組物品之各種狀態之一搜尋空間。在一些實施例中,該系統判定用於一組物品之放置之各種組合/排列之搜尋空間。作為一實例,搜尋空間係基於圖5之調用程序500獲得。在一些實施例中,搜尋空間被表示為一樹狀結構或一馬爾可夫決策程序。
在610處,選擇用於一當前物品之放置之搜尋空間之一節點。在一些實施例中,搜尋空間之節點對應於一特定物品之一放置。例如,搜尋空間之節點對應於一特定物品在一特定位置處及在一特定定向中之放置。作為另一實例,搜尋空間之節點回應於一特定物品在一特定位置處及在一特定定向中之放置而對應於一物品堆棧之一狀態。
在615處,使用一模型來根據節點之一狀態模擬當前物品之放置。回應於判定與一特定節點相關聯之放置位置及定向,該系統根據該位置及該定向模擬該物品之放置。該模型可為基於當前物品之放置更新之一幾何模型。在一些實施例中,該系統鑑於該放置向一狀態估計服務/模組查詢一經更新狀態。
在620處,基於當前物品之放置判定物品堆棧之一穩定性。在一些實施例中,該系統基於模擬該放置(例如,呼叫一物理引擎來模擬該穩定性)及/或一或多種試探法判定物品堆棧之預期穩定性。
在625處,做出關於物品堆棧之一穩定性是否大於一穩定性臨限值之一判定。回應於模型化針對節點之物品之放置,該系統判定物品堆棧之一預期穩定性且將該預期穩定性與一預定義穩定性臨限值進行比較。回應於在625處判定物品堆棧之穩定性(例如,預期穩定性)大於一預定義臨限值,程序600繼續進行至630。相反,回應於在625處判定物品堆棧之穩定性不大於預定義臨限值,程序600繼續進行至650。
在630處,選擇對應於待放置之下一物品之一下游節點。在一些實施例中,該系統選擇自在610處選擇之節點形成分支之一節點。在於610處選擇之節點係一第一階節點(例如,直接自樹/搜尋空間之根節點形成分支之節點)之情況下,在630處(至少在630之第一次反覆時)選擇之節點可對應於一第二階節點,且在630之後續反覆時可包含自第二階節點形成分支之節點(例如,第三階節點、第四階節點等)。在一些實施例中,630處選擇之節點對應於待在當前物品之後放置之一物品(例如,待放置之該組物品之第一下一物品)之一放置。
在635處,使用一試探法來根據節點之狀態評鑑下一物品之放置。在一些實施例中,該系統使用一試探法來大體上判定是否預期下一物品之放置負面地影響物品堆棧之穩定性。在一些實施例中,該系統使用一或多種試探法來判定是否預期在下一物品之放置之後物品堆棧係穩定的(例如,保持穩定)。
在一些實施例中,針對高階級節點(例如,在該組物品中之第一下一物品之後的物品之放置),該系統結合判定經估計狀態(例如,物品堆棧)之一預期穩定性來使用一或多種試探法。可預定義一或多種試探法。例如,可基於一堆垛政策或系統偏好定義一或多種試探法。該等試探法可由一管理者憑經驗判定且對應地預設定。
試探法之實例可包含(i)基於一非剛性或可變形物品在物品堆棧之底部處或附近之放置之一預期穩定性,(ii)基於一大物品在物品堆棧之頂部處或附近之放置之一預期穩定性,(iii)基於一重物品在物品堆棧之頂部處或附近之放置之一預期穩定性,(iv)基於一重物品在物品堆棧之底部處或附近之放置之一預期穩定性,(v)基於一不規則形狀物品在該堆棧之底部處或附近之放置之一預期穩定性,及(vi)基於一不規則形狀物品在該堆棧之頂部處或附近之放置之一預期穩定性。可實施各種其他試探法。作為一實例,若將一非剛性或可變形物品放置於物品堆棧之底部處或附近,則一試探法指示該物品堆棧係不穩定的。作為一實例,一試探法指示該物品堆棧之穩定性不受一非剛性或可變形物品在該物品堆棧之頂部處或附近之放置(例如,至少達一臨限穩定性量)之負面影響。作為一實例,若將一重物品放置於一物品堆棧之頂部處或附近,則一試探法指示該物品堆棧係不穩定的。作為一實例,一試探法指示該物品堆棧之穩定性不受放置於該物品堆棧之底部處或附近之一重物品之放置(例如,至少達一臨限穩定性量)之負面影響。作為一實例,若將一不規則形狀物品(例如,一非矩形物品、一圓形物品等)放置於該物品堆棧之底部處或附近,則一試探法指示該物品堆棧係不穩定的。作為一實例,一試探法指示該物品堆棧之穩定性不受放置於該物品堆棧之頂部處或附近之一不規則形狀物品(例如,非矩形)之放置(例如,至少達一臨限穩定性量)之負面影響。
在640處,判定下一物品之經模擬放置之一穩定性。在一些實施例中,該系統使用一或多種試探法來判定在下一物品之放置之後物品堆棧之一預期穩定性。作為一實例,該系統使用一或多種試探法來定性地判定物品堆棧之預期穩定性。該系統可使用該(等)試探法來判定物品在對應目的地位置及定向處之放置是否將致使物品堆棧變得不穩定,物品之放置是否將改良穩定性等。
在645處,做出關於物品堆棧之一穩定性是否大於一穩定性臨限值之一判定。回應於模型化針對節點之物品之放置,該系統判定物品堆棧之一預期穩定性且將該預期穩定性與一預定義穩定性臨限值進行比較。回應於在645處判定物品堆棧之穩定性(例如,預期穩定性)大於一預定義臨限值,程序600繼續進行至655。相反,回應於在645處判定物品堆棧之穩定性不大於預定義臨限值,程序600繼續進行至650。
在650處,修剪(若干)對應節點。回應於判定物品堆棧不夠穩定(例如,預期穩定性小於一穩定性臨限值等),該系統判定自搜尋空間修剪該(等)節點。在一些實施例中,節點之修剪包含修剪當前節點(例如,用於在630處選擇之下一物品,或在610處選擇之當前物品之放置)。在一些實施例中,節點之修剪包含修剪當前節點及自當前節點形成分支之節點。該系統修剪(若干)對應節點以移除此(等)節點不作為該組物品之潛在放置。
在655處,做出關於是否存在額外下游節點之一判定。例如,該系統判定是否存在直接或間接自在610處選擇之節點形成分支之節點。回應於判定存在額外下游節點,程序600返回至630 (在其處程序600反覆進行630至655)直至不存在進一步下游節點。回應於判定不存在額外下游節點,程序600繼續進行至660,(在其處該系統判定是否存在對應於當前物品之放置之額外節點)。例如,該系統判定搜尋空間(例如,樹)是否具有直接自根節點形成分支之額外節點。當前物品之其他節點可對應於不同放置,諸如不同放置位置及/或不同定向。
回應於在660處判定存在用於當前物品之放置之額外節點,程序600返回至610且程序600反覆進行610至660直至不存在用於當前物品之放置之進一步額外節點。
圖7係繪示根據各項實施例之用來修剪一樹之節點用於一組物品之放置之一程序之一流程圖。在一些實施例中,程序700係由圖1之系統100實施。在一些實施例中,結合判定一放置及/或用於放置一物品之計劃來調用程序700。
在705處,獲得用於放置一組物品之各種狀態之一搜尋空間。在一些實施例中,該系統判定該組物品且判定用於該組物品之放置之搜尋空間。例如,該系該統判定用於該組物品(或待放置之該組物品中之N個接下來物品之一子集)之放置之各種組合/排列。
在710處,選擇搜尋空間之一節點。在一些實施例中,搜尋空間被表示為一樹,且該系統循序地選擇自一根節點形成分支之節點(例如,第一階節點),及分別直接或間接自第一階節點形成分支之節點。
在715處,根據選定節點之狀態模擬對應於節點之物品之放置。選定節點對應於一物品之一特定放置(例如,該物品在一特定放置位置及/或定向中之放置)。該系統根據節點之放置模擬物品之放置以判定物品堆棧之一經估計狀態或與物品堆棧相關聯之一或多個特性(例如,一預期穩定性、使用一試探法之一分析之一結果等)。
在一些實施例中,模擬物品之放置包含查詢一狀態估計服務/模組以提供反映物品之放置之物品堆棧之狀態之一模型或基於一或多種試探法定性地判定物品堆棧之狀態。
在720處,該系統基於物品之放置(例如,基於對應於選定節點之物品堆棧之狀態)判定物品堆棧之一穩定性。例如,該系統判定物品堆棧之一預期穩定性。作為另一實例,該系統至少部分地基於一或多種試探法判定對穩定性之一影響。
在725處,做出關於物品堆棧之一穩定性是否大於一穩定性臨限值之一判定。回應於模型化針對節點之物品之放置,該系統判定物品堆棧之一預期穩定性且將該預期穩定性與一預定義穩定性臨限值進行比較。回應於在725處判定物品堆棧之穩定性(例如,預期穩定性)大於一預定義臨限值,程序700繼續進行至735。相反,回應於在725處判定物品堆棧之穩定性不大於預定義臨限值,程序700繼續進行至730。
在730處,修剪(若干)對應節點。回應於判定物品堆棧不夠穩定(例如,預期穩定性小於一穩定性臨限值等),該系統判定自搜尋空間修剪該(等)節點。
在735處,做出關於在搜尋空間內是否存在待判定/分析其等之穩定性之額外節點之一判定。回應於判定存在額外節點,程序700返回至710且程序700可反覆進行710至735直至該系統判定/分析所有節點(所有剩餘節點,諸如尚未修剪之節點)之穩定性。
在一些實施例中,回應於在735處判定不存在額外節點,該系統可評估搜尋空間以判定產生一最佳或最優結果之一放置(例如,一最佳放置)。例如,該系統分析搜尋空間中剩餘之節點(例如,尚未修剪之節點)以選擇最佳放置。回應於判定最佳放置,該系統可根據最佳放置判定用於放置當前物品之一計劃,且該系統可進一步控制一機器人以根據該計劃拾取及放置該物品。
圖8係繪示判定一棧板及/或物品堆棧之一狀態之一估計之一實施例之一流程圖。在一些實施例中,程序800至少部分地由圖1之系統100實施。
在一些實施例中,程序800係由在用於一機器人手臂之一控制系統上運行之一應用程式802、伺服器804、狀態估計器806、視覺系統808及放置判定器810之一或多者實施。
在820處,應用程式802將一請求發送至伺服器804。該請求可對應於對用於放置一物品之一計劃及/或策略之一放置請求。
回應於接收放置請求,在822處,伺服器804調用一狀態判定。例如,伺服器804將一請求或指令發送至狀態估計器806以判定(及提供)經估計狀態。在一些實施例中,狀態估計器806係在伺服器804上運行之一模組。在一些實施例中,狀態估計器806係由複數個不同伺服器/機器人系統查詢之一服務。例如,狀態估計器806可為一雲端服務。
回應於調用狀態判定,狀態估計器806獲得視覺狀態。在一些實施例中,狀態估計器806將對一視覺狀態之一請求發送至視覺系統808。
回應於在824處接收對視覺狀態之請求,在826處視覺系統808將視覺狀態提供至狀態估計器806。例如,回應於接收對視覺狀態之請求,該視覺系統使用一工作區中之一或多個感測器來擷取該工作區之一快照。
回應於接收視覺狀態,狀態估計器806判定棧板狀態(例如,棧板及/或物品堆棧之一經估計狀態)。狀態估計器806可基於一幾何模型及視覺狀態之一或多者判定經估計狀態。在一些實施例中,狀態估計器806組合幾何模型及視覺狀態(至少相對於堆棧之一部分)。
在828處,狀態估計器806將棧板狀態提供至伺服器804。
在830處,伺服器804將包括棧板狀態之一放置請求發送至放置判定器810。在一些實施例中,放置判定器810係在伺服器804上運行之一模組。在一些實施例中,放置判定器810係由複數個不同伺服器/機器人系統查詢之一服務。例如,放置判定器810可為一雲端服務。
在832處,放置判定器810將一組一或多個潛在放置提供至伺服器804。可至少部分地基於待放置之一(若干)物品(例如,與該物品相關聯之屬性)及棧板狀態(例如,物品堆棧內之物品之可用位置及屬性)等來判定該組一或多個潛在放置。
在一些實施例中,該組一或多個潛在放置係所有可能放置之一子集。例如,放置判定器810使用一成本函數來判定該組一或多個潛在放置以提供至伺服器804。放置判定器810可判定滿足關於成本函數之一成本準則(例如,具有小於一成本臨限值之一成本)之潛在放置。
回應於接收該組一或多個潛在放置,在834處,伺服器804選擇一放置且將選定放置發送至應用程式802。例如,提供選定放置作為對在820處之初始放置請求之一回應。
在836處,應用程式802控制一機器人手臂以放置該物品。在一些實施例中,應用程式802判定將該物品移動至選定位置之一計劃(例如,基於該物品之一(若干)屬性及對應於選定放置之位置,諸如工作區中之座標)。
在838處,應用程式802將一指示提供至伺服器804以執行關於幾何狀態之一更新。例如,應用程式802提供在836處執行物品之放置之確認且伺服器804將此確認視為待調用對幾何狀態(例如,幾何模型)之一更新之一指示。
在840處,伺服器804將更新幾何狀態之一請求發送至狀態估計器806。例如,伺服器804請求狀態估計器806根據對應計劃更新幾何模型以反映物品之放置。
回應於接收更新幾何狀態之請求,狀態估計器806執行對應更新。在842處,狀態估計器806將成功地更新幾何狀態之一指示提供至伺服器804。
在844處,伺服器804將成功地更新幾何狀態以反映物品之放置之一指示提供至應用程式802。
可針對待堆垛之一組物品重複程序800。
儘管前述實例係在對一組物品進行碼垛堆積或卸除碼垛堆積之背景下進行描述,但各項實施例可結合單分一組物品及/或打包一組物品來實施。例如,實施各項實施例以至少部分地基於幾何資料及感測器資料(例如,幾何資料及感測器之一組合,諸如幾何資料與感測器資料之間的一內插)來判定/估計工作區(例如,滑槽、輸送機、容器等)之一狀態。
本文中所描述之實施例之各項實例係結合流程圖進行描述。儘管該等實例可包含按一特定順序執行之特定步驟,但根據各項實施例,可按各種順序執行各種步驟及/或可將各種步驟組合成單個步驟或並行的。
儘管為清楚理解之目的已相當詳細地描述前述實施例,但本發明並不限於所提供細節。存在實施本發明之諸多替代方式。所揭示實施例係闡釋性且非限制性的。
100:系統
102:機器人手臂
104:輸送機
106:棧板
108:末端執行器
110:吸盤
112:3D或其他攝影機
114:攝影機
116:攝影機
118:控制電腦
122:「按需」遙操作裝置
124:人類使用者
200:程序
210:步驟
220:步驟
230:步驟
240:步驟
300:程序
305:步驟
310:步驟
315:步驟
320:步驟
325:步驟
330:步驟
335:步驟
340:步驟
345:步驟
350:步驟
355:步驟
360:步驟
365:步驟
370:步驟
400:搜尋空間
402:根節點
404:節點
406:節點
408:節點
410:節點
412:節點
414:節點
416:節點
418:節點
420:節點
422:節點
424:節點
426:節點
430:搜尋空間
432:節點
434:節點
436:節點
438:節點
440:節點
442:分段區域
444:分段區域
446:分段區域
448:分段區域
450:模型
452:邊緣
454:邊緣
456:邊緣
458:邊緣
460:邊緣
462:邊緣
464:邊緣
466:邊緣
468:邊緣
470:潛在放置
474:潛在放置
476:潛在放置
480:模型
482:位置
484:位置
486:物品
500:程序
505:步驟
510:步驟
515:步驟
520:步驟
525:步驟
530:步驟
535:步驟
540:步驟
545:步驟
600:程序
605:步驟
610:步驟
615:步驟
620:步驟
625:步驟
630:步驟
635:步驟
640:步驟
645:步驟
650:步驟
655:步驟
660:步驟
700:程序
705:步驟
710:步驟
715:步驟
720:步驟
725:步驟
730:步驟
735:步驟
800:程序
802:應用程式
804:伺服器
806:狀態估計器
808:視覺系統
810:放置判定器
820:步驟
822:步驟
824:步驟
826:步驟
828:步驟
830:步驟
832:步驟
834:步驟
836:步驟
838:步驟
840:步驟
842:步驟
844:步驟
在以下詳細描述及隨附圖式中揭示本發明之各項實施例。
圖1係繪示根據各項實施例之用來對異質物品進行碼垛堆積及/或卸除碼垛堆積之一機器人系統之一圖。
圖2係繪示根據各項實施例之用來對一或多個物品進行碼垛堆積之一程序之一流程圖。
圖3係繪示根據各項實施例之判定移動物品之一計劃之一程序之一流程圖。
圖4A係根據各項實施例之對應於物品之不同狀態或放置之一樹。
圖4B係根據各項實施例之對應於物品之不同狀態或放置之一樹。
圖4C係根據各項實施例之具有潛在放置之一物品堆棧之一圖。
圖4D係根據各項實施例之具有潛在放置之一物品堆棧之一圖。
圖5係繪示根據各項實施例之用來判定對應於一組物品之放置之一樹之一程序之一流程圖。
圖6係繪示根據各項實施例之用來修剪一樹之節點用於一組物品之放置之一程序之一流程圖。
圖7係繪示根據各項實施例之用來修剪一樹之節點用於一組物品之放置之一程序之一流程圖。
圖8係繪示判定一棧板及/或物品堆棧之一狀態之一估計之一實施例之一流程圖。
600:程序
605:步驟
610:步驟
615:步驟
620:步驟
625:步驟
630:步驟
635:步驟
640:步驟
645:步驟
650:步驟
655:步驟
660:步驟
Claims (26)
- 一種機器人系統,其包括: 一通信介面,其經組態以自部署於一工作區中之一或多個感測器接收指示該工作區之一當前狀態之感測器資料,該工作區包括一棧板或其他容器及堆垛於該容器上或該容器中之一組零或多個物品;及 一或多個處理器,其或其等耦合至該通信介面且經組態以: 使用該感測器資料來估計該棧板或其他容器及堆垛於該容器上或該容器中之該組零或多個物品之一或兩者之一狀態;及 使用該經估計狀態來產生或更新一計劃以控制一機器人手臂以將下一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該下一組物品,該計劃包括物品放置或移除之一有序序列; 其中: 該一或多個處理器經組態以至少部分地藉由執行其中探索一可能有序序列子集之一有界樹狀搜尋而產生或更新該計劃;及 該子集係藉由選擇滿足一或多個選擇準則之探索樹狀分支或自考量省略滿足一修剪準則之一或多個分支之一或兩者而判定。
- 如請求項1之機器人系統,其中一物品放置包括該物品在一特定位置中之一放置。
- 如請求項1之機器人系統,其中一物品放置包括該物品在一特定定向中之一放置。
- 如請求項3之機器人系統,其中: 該物品係一箱子;且 該物品放置係六個定向之一者。
- 如請求項1之機器人系統,其中該修剪準則係與堆垛於該容器上或該容器中之一或多個物品之不穩定性相關聯。
- 如請求項5之機器人系統,其中該不穩定性係至少部分地基於一或多個歷史觀察而判定。
- 如請求項5之機器人系統,其中該不穩定性係至少部分地基於堆垛或移除堆垛於該容器上或該容器中之該零或多個物品之至少一者之一模擬而判定。
- 如請求項5之機器人系統,其中該不穩定性係至少部分地基於一或多種預定義試探法而判定。
- 如請求項8之機器人系統,其中至少一種試探法包含在具有一可變形包裝之一物品之頂部上堆垛具有超過一預定義重量臨限值之一重量之一物品之一指示。
- 如請求項1之機器人系統,其中該修剪準則係與小於一預定義包裝密度臨限值之一包裝密度相關聯。
- 如請求項1之機器人系統,其中該修剪準則係與預期根據該可能有序序列子集之一特定序列堆垛物品導致一碰撞之一判定相關聯。
- 如請求項1之機器人系統,其中該修剪準則係與預期根據該可能有序序列子集之一特定序列堆垛物品導致該機器人手臂移動多於一預定義移動臨限值以避免一碰撞之一判定相關聯。
- 如請求項1之機器人系統,其中該修剪準則係與該可能有序序列子集之一特定序列包含不沿著已放置於該棧板上之一物品之一邊緣或頂點之放置之一判定相關聯。
- 如請求項1之機器人系統,其中該修剪準則係與一分支不包括對應於一有利情境之一節點之一判定相關聯。
- 如請求項14之機器人系統,其中該有利情境被判定為一值函數之一對應值超過一預定義有利性臨限值之一放置。
- 如請求項15之機器人系統,其中該值函數係至少部分地基於一包裝密度、一預期穩定性及一預期物品放置效率之一或多者。
- 如請求項1之機器人系統,其中該一或多個選擇準則係與超過一預定義密度臨限值之一預期包裝密度相關聯。
- 如請求項1之機器人系統,其中該一或多個選擇準則係與一或多種預定義試探法相關聯。
- 如請求項18之機器人系統,其中該一或多種預定義試探法包含針對將重或大物品放置於一堆棧之一底部處之一偏向。
- 如請求項1之機器人系統,其中該一或多個選擇準則係與一預期穩定性相關聯。
- 如請求項20之機器人系統,其中該預期穩定性與一堆棧中之一層或一頂層形貌相關。
- 如請求項1之機器人系統,其中該一或多個選擇準則係與第一探索分支相關聯,該等第一探索分支涉及一或多個物品之一第一子集首先在遠離一機器人之一遠側上之一放置,及一或多個物品之一第二子集在更靠近該機器人之一位置處之後續放置。
- 如請求項22之機器人系統,其中該第一子集係至少部分地基於執行該等樹狀分支之一波束搜尋而判定,該波束搜尋限於N個可能放置,且N係一正整數。
- 如請求項1之機器人系統,其中: 可能有序序列之樹之各節點對應於物品直至該有序序列中之彼點之一放置之一情境;且 可能有序序列之該樹之各分支對應於用來將下一物品放置於一特定位置處或一特定定向中之一決策。
- 一種用來控制一機器人之方法,其包括: 自部署於一工作區中之一或多個感測器接收指示該工作區之一當前狀態之感測器資料,該工作區包括一棧板或其他容器及堆垛於該容器上或該容器中之一組零或多個物品; 使用該感測器資料來估計該棧板或其他容器及堆垛於該容器上或該容器中之該組零或多個物品之一或兩者之一狀態;及 使用該經估計狀態來產生或更新一計劃以控制一機器人手臂以將下一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該下一組物品,該計劃包括物品放置或移除之一有序序列; 其中: 產生或更新該計劃包含執行其中探索一可能有序序列子集之一有界樹狀搜尋;且 該子集係藉由選擇滿足一或多個選擇準則之探索樹狀分支或自考量省略滿足一修剪準則之一或多個分支之一或兩者而判定。
- 一種用來控制一機器人之電腦程式產品,該電腦程式產品體現於一非暫時性電腦可讀媒體中且包括用於以下步驟之電腦指令: 自部署於一工作區中之一或多個感測器接收指示該工作區之一當前狀態之感測器資料,該工作區包括一棧板或其他容器及堆垛於該容器上或該容器中之一組零或多個物品; 使用該感測器資料來估計該棧板或其他容器及堆垛於該容器上或該容器中之該組零或多個物品之一或兩者之一狀態;及 使用該經估計狀態來產生或更新一計劃以控制一機器人手臂以將下一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該下一組物品,該計劃包括物品放置或移除之一有序序列; 其中: 產生或更新該計劃包含執行其中探索一可能有序序列子集之一有界樹狀搜尋;且 該子集係藉由選擇滿足一或多個選擇準則之探索樹狀分支或自考量省略滿足一修剪準則之一或多個分支之一或兩者而判定。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163211366P | 2021-06-16 | 2021-06-16 | |
US63/211,366 | 2021-06-16 | ||
US17/838,039 | 2022-06-10 | ||
US17/838,039 US20220402133A1 (en) | 2021-06-16 | 2022-06-10 | Workflow for using tree search-based approach for placing boxes on pallet with limited knowledge of future sequence |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202306718A true TW202306718A (zh) | 2023-02-16 |
Family
ID=84489935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111122130A TW202306718A (zh) | 2021-06-16 | 2022-06-15 | 使用基於樹狀搜尋方法以未來序列之有限知識在棧板上放置箱子之工作流程 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220402133A1 (zh) |
EP (1) | EP4355672A1 (zh) |
TW (1) | TW202306718A (zh) |
WO (1) | WO2022265941A1 (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11020854B2 (en) * | 2019-11-05 | 2021-06-01 | Mujin, Inc. | Robotic system with wall-based packing mechanism and methods of operating same |
-
2022
- 2022-06-10 EP EP22825578.2A patent/EP4355672A1/en active Pending
- 2022-06-10 US US17/838,039 patent/US20220402133A1/en active Pending
- 2022-06-10 WO PCT/US2022/033100 patent/WO2022265941A1/en active Application Filing
- 2022-06-15 TW TW111122130A patent/TW202306718A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2022265941A1 (en) | 2022-12-22 |
EP4355672A1 (en) | 2024-04-24 |
US20220402133A1 (en) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102616626B1 (ko) | 실시간 배치 시뮬레이션을 사용하여 패키지를 팔레트화하기 위한 로봇 시스템 | |
JP7362755B2 (ja) | ロボットによる複数アイテムタイプのパレタイズおよびデパレタイズ | |
CN112009811A (zh) | 用于处理失序到达的包裹的机器人系统 | |
TW202318272A (zh) | 使用基於學習的手段將箱子放在托盤上的工作流程 | |
US20230241777A1 (en) | Packing and planning for tight incollapsible loads | |
CN111605938B (zh) | 用于使用实时放置模拟来码垛包裹的机器人系统 | |
US20220402708A1 (en) | Collision avoidance based on vision data, geometric data and physics engine evaluation | |
US20220402710A1 (en) | Simulated box placement for algorithm evaluation and refinement | |
US20220405439A1 (en) | Physics engine based evaluation of pallet stability | |
US20220402134A1 (en) | Using simulated/generated noise to evaluate and refine state estimation | |
CN111498212B (zh) | 用于处理失序到达的包裹的机器人系统 | |
US20230245036A1 (en) | Optimization of package weight distribution | |
US20220402709A1 (en) | State estimation using geometric data and vision system for palletizing | |
TW202306718A (zh) | 使用基於樹狀搜尋方法以未來序列之有限知識在棧板上放置箱子之工作流程 | |
US20220297958A1 (en) | Robotic palletization system with variable conveyor height | |
US20230278219A1 (en) | Object sequencer for container loading | |
US20220331989A1 (en) | Robotic foam dispenser | |
US20230241776A1 (en) | Object partitioner between heterogeneous transport containers |