TW202243836A - 具有可變輸送機高度之機器人堆棧系統 - Google Patents

具有可變輸送機高度之機器人堆棧系統 Download PDF

Info

Publication number
TW202243836A
TW202243836A TW111109519A TW111109519A TW202243836A TW 202243836 A TW202243836 A TW 202243836A TW 111109519 A TW111109519 A TW 111109519A TW 111109519 A TW111109519 A TW 111109519A TW 202243836 A TW202243836 A TW 202243836A
Authority
TW
Taiwan
Prior art keywords
item
items
stack
pallet
plan
Prior art date
Application number
TW111109519A
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 TW202243836A publication Critical patent/TW202243836A/zh

Links

Images

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
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0096Programme-controlled manipulators co-operating with a working support, e.g. work-table
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • 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/40067Stack irregular packages
    • 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/40571Camera, vision combined with force sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Stacking Of Articles And Auxiliary Devices (AREA)
  • Manipulator (AREA)

Abstract

本發明揭示一種機器人堆棧/解堆棧系統。在各種實施例中,接收與將被堆疊於一目的地位置上或其中之複數個物品相關聯的資料,且至少部分地基於該所接收資料而產生用以將該等物品堆疊於該目的地位置上或其中的一計劃。該產生該計劃包含至少部分地基於以下各項而判定將從中拾取該物品之一源位置:(i)該源位置之一屬性,及(ii)將在上面堆疊一或多個物品之一平台或容座之一狀態。

Description

具有可變輸送機高度之機器人堆棧系統
本申請案係關於一種具有可變輸送機高度之機器人堆棧系統。
裝運及配送中心、倉庫、裝運碼頭、航空貨運站、倉儲式商場以及裝運及接收非同質物品組之其他活動使用諸如在箱子、條板箱、容器、輸送帶中及在托板上等對不同物品進行包裝及拆包之策略。在箱子、條板箱中、在托板上等包裝不同物品使得所得物品組能夠由諸如堆高機、起重機等重型起重設備來處置,且使得能夠更高效地包裝物品以用於儲存(例如,在一倉庫中)及/或裝運(例如,在貨車、貨艙等中)。
在某些情境中,物品可在大小、重量、密度、膨鬆度、剛度、封裝強度等方面係如此不同的,以至於任何給定物品或物品組可或可不具有將使得彼等物品能夠支撐可需要被包裝(例如,在一箱子、容器、托板等中)之一給定其他物品之大小、重量、重量分佈等之屬性。當裝配一托板或其他不同物品組時,必須仔細地選擇及堆疊物品以確保經堆棧堆疊不會倒塌、傾斜或以其他方式變得不穩定(例如,以致使不能夠被諸如一堆高機等設備處置)且避免物品損壞。
當前,通常手動地對托板進行堆疊及/或拆包。人類工作者(例如)基於一裝運發票或載貨單等而選擇待堆疊之物品,且(舉例而言)使用人類判斷及直覺選擇較大及較重物品來放置於底部上。然而,在某些情形中,物品僅經由一輸送機或其他機構到達及/或以所列示之一次序自貯存箱選擇該等物品等,從而產生一不穩定經堆棧或以其他方式包裝之組。
由於物品之多樣性、待包裝(舉例而言,在一給定托板上)之物品之次序、數目及混合物之變化,以及必須從中拾取物品以放置於托板或其他容器上之容器及/或饋送機構之多種類型及位置,因此在許多環境中使用機器人變得更具挑戰性。
根據本發明之一項例示性實施例,一種機器人系統包括一通信介面及一或多個處理器。該一或多個處理器耦合至該通信介面且經組態以經由該通信介面而接收與將被堆疊於一目的地位置上或其中之複數個物品相關聯之資料。該一或多個處理器經組態以至少部分地基於該所接收資料而產生用以將該等物品堆疊於該目的地位置上或其中之一計劃,包含藉由針對每一物品進行以下操作:至少部分地基於以下各項而判定將從中拾取該物品之一源位置:(i)該源位置之一屬性,及(ii)將在上面堆疊一或多個物品之一平台或容座之一狀態。該一或多個處理器經組態以至少部分地藉由控制該機器人臂以拾取該等物品且根據該計劃將該等物品堆疊於該目的地位置上或其中而實施該計劃。
根據本發明之一項例示性實施例,一種用以控制一機器人之方法包括經由通信介面而接收與將被堆疊於一目的地位置上或其中之複數個物品相關聯之資料。該方法包括:由一或多個處理器產生用以將該等物品堆疊於該目的地位置上或其中之一計劃,該計劃係至少部分地基於該所接收資料而產生,且針對每一物品之該計劃之該產生包括:至少部分地基於以下各項而判定將從中拾取該物品之一源位置:(i)該源位置之一屬性,及(ii)將在上面堆疊一或多個物品之一平台或容座之一狀態。該方法包括至少部分地藉由控制機器人臂以拾取該等物品且根據該計劃將該等物品堆疊於該目的地位置上或其中而實施該計劃。
根據本發明之一項例示性實施例,一種用以控制一機器人之電腦程式產品體現於一非暫時性電腦可讀媒體中且包括用於進行以下操作之電腦指令:經由通信介面而接收與將被堆疊於一目的地位置上或其中之複數個物品相關聯之資料。該電腦程式產品包括用於進行以下操作之電腦指令:由一或多個處理器產生用以將該等物品堆疊於該目的地位置上或其中之一計劃,該計劃係至少部分地基於該所接收資料而產生,且針對每一物品之該計劃之該產生包括:至少部分地基於以下各項而判定將從中拾取該物品之一源位置:(i)該源位置之一屬性,及(ii)將在上面堆疊一或多個物品之一平台或容座之一狀態。該電腦程式產品包括用於進行以下操作之電腦指令:至少部分地藉由控制機器人臂以拾取該等物品且根據該計劃將該等物品堆疊於該目的地位置上或其中而實施該計劃。
其他申請案之交叉參考
本申請案主張2021年3月18日提出申請之標題為ROBOTIC PALLETIZATION SYSTEM WITH VARIABLE CONVEYOR HEIGHT之美國臨時專利申請案第63/162,871號的優先權,該臨時專利申請案出於所有目的係以引用的方式併入本文中。
可以眾多方式實施本發明:包含作為一程序;一裝備;一系統;一物質組成;體現於一電腦可讀儲存媒體上之一電腦程式產品;及/或一處理器,諸如經組態以執行儲存於耦合至該處理器之一記憶體上及/或由該記憶體提供之指令之一處理器。在此說明書中,此等實施方案或本發明可採取之任一其他形式可稱為技術。一般而言,可在本發明之範疇內更改所揭示程序之步驟之次序。除非另外陳述,否則諸如闡述為經組態以執行一任務之一處理器或一記憶體之一組件可實施為經暫時組態以在一給定時間執行該任務之一通用組件或經製造以執行該任務之一特定組件。如本文中所使用,術語「處理器」係指經組態以處理諸如電腦程式指令之資料之一或多個裝置、電路及/或處理核心。
下文連同圖解說明本發明之原理之附圖一起提供對本發明之一或多個實施例之一詳細說明。結合此等實施例闡述本發明,但本發明並不限於任一實施例。本發明之範疇僅由申請專利範圍限制且本發明囊括眾多替代方案、修改及等效形式。在以下詳細說明中陳述眾多特定細節以提供對本發明之一透徹理解。出於實例目的而提供此等細節,且可在不具有此等特定細節中之某些或所有細節之情況下根據申請專利範圍實踐本發明。出於清晰之目的,未詳細闡述與本發明相關之技術領域中習知之技術材料,使得不會不必要地模糊本發明。
如本文中所使用,「托板」包含可將一或多個物品堆疊或放置於其上或其中之一平台、容座或其他容器。此外,如本文中所使用,托板可結合封裝及配送一組一或多個物品來使用。作為一實例,術語托板包含支撐物品並可經由一堆高機、一托板搬運車、一起重機等移動之典型的扁平運輸結構。如本文中所使用,一托板可由各種材料(包含木材、金屬、金屬合金、聚合物等)構造而成。
如本文中所使用,堆棧一物品或一組物品包含自一源位置(諸如一輸送結構)拾取一物品,且將該物品放置於一托板上(諸如托板上之一物品堆疊上)。
如本文中所使用,解堆棧包含自一托板(諸如自托板上之一物品堆疊)拾取一物品、移動該物品,且將該物品放置於一目的地位置(諸如一輸送結構)處。
如本文中所使用,一物品之單個化包含自一源堆/流拾取一物品且將該物品放置於一輸送結構(例如,一經分段輸送機或類似輸送裝置)上。視情況,單個化可包含對輸送結構上之各種物品進行分類,諸如經由將來自源堆/流之物品單獨放置至輸送機上之一狹槽或托盤中。
如本文中所使用,配套包含自對應位置拾取一或多個物品/物件且以使一或多個物品之一組對應於一套件之一方式將該一或多個物品放置於一預定位置中。
揭示各種實施例以至少部分地基於一源位置之一屬性或狀態及/或一目的地位置之屬性或狀態而在該源位置與該目的地位置之間拾取及放置物品。一源位置及/或目的地位置之屬性可包含位置之一高度、一待移動物品與位置(例如,目的地位置)之間的一相對距離等。可結合一堆棧程序、一解堆棧程序、一單個化程序及/或一配套程序(例如,一組物品之一裝配)等來移動物品。
根據各種實施例,至少部分地基於與將物品自一源位置移動至一目的地位置相關聯之一成本函數而移動一物品。可結合一堆棧程序、一解堆棧程序、一單個化程序及/或一配套程序(例如,一組物品之一裝配)等來移動該物品。在某些實施例中,至少部分地基於與將一物品自一源位置移動至一目的地位置對應之一成本函數而選擇與拾取及放置該物品相關聯之一路徑/軌跡、源位置及/或目的地位置中之一或多者。在某些實施例中,一組物品自對應源位置被移動至目的地位置之一次序至少部分地基於與該組物品中之一或多個物品相關聯之一或多個成本函數之對應值。舉例而言,至少部分地基於移動該組物品之一複合成本函數(例如,針對移動該組物品中之各種物品之一彙總所得值)而選擇該組物品將被移動之一次序。可至少部分地基於最佳化複合成本函數(例如,減少移動該組物品之一總成本)而最佳化移動該組物品之次序。
總體成本(例如,針對移動該組物品中之各種物品之彙總所得值)可根據物品自源位置被移動至目的地位置之一次序而係不同的,此乃因當該組物品被堆棧/解堆棧時,物品堆疊之一高度改變。作為一實例,若一機器人系統包括與可能目的地位置對應之複數個輸送機(例如,以結合一解堆棧程序將物品攜載遠離一托板)且該等輸送機之至少一子集具有不同高度,則關於將一物品移動至具有一相對較大高度之一輸送機之成本函數將具有與關於將物品移動至具有一相對較小高度之一輸送機之成本函數不同的一結果。在此一實例中,若托板上之物品堆疊具有較接近於具有相對較大高度之輸送機之一高度,則成本函數將具有一結果,使得與將物品移動至具有一相對較小高度之輸送機相比,將同一物品移動至具有相對較大高度之輸送機可與一較小成本(例如,成本函數之一結果)相關聯。在某些實施例中,與將一物品向上移動一預定距離相比,將一物品向下移動同一預定距離可與一較小成本相關聯(例如,與向下移動一物品相比,機器人臂可必須施加更多功來向上移動該物品,與向上移動物品相比,機器人臂可能夠更快地向下移動該物品)。
在某些實施例中,諸如結合一堆棧/解堆棧程序而拾取並向一托板放置物品/自該托板拾取並放置該等物品。結合堆棧一組物品,系統可判定自具有相對較接近於托板之高度(例如,與其他可能源位置相比)或托板上之物品堆疊之高度之一高度的一源位置拾取物品,且移動物品並將該物品放置於該托板上。可在一逐物品基礎上進行對一源位置之一判定(例如,使得隨著托板上之物品堆疊越來越高,選擇具有一較接近相對高度之一源位置作為源位置)。結合解堆棧一組物品,系統可判定將物品自一源位置(例如,托板或托板上之物品堆疊)移動至具有相對接近於托板之高度(例如,與諸如其他輸送機之其他可能目的地位置相比)之一高度之一目的地位置且移動物品並將該物品放置於選定目的地位置處。可在一逐物品基礎上進行對一源位置之一判定(例如,使得隨著托板上之物品堆疊越來越高,選擇具有一較接近相對高度之一源位置作為源位置)。
在某些實施例中,輸送機或與一源位置/目的地位置對應之其他區之高度係可調整的。作為一實例,結合堆棧一物品,可至少部分地基於目的地位置(例如,托板上之物品堆疊之一當前高度)、物品及/或用於堆棧物品之計劃而調整源位置(例如,輸送機)。作為一實例,結合解堆棧一物品,可至少部分地基於源位置(例如,從中拾取物品之堆疊之一高度)、物品及/或用於解堆棧物品之計劃而調整一目的地位置(例如,輸送機)。作為一實例,一馬達可經控制以升高輸送機,諸如藉由致使一或多個小齒輪橫穿一齒條。作為另一實例,可使用一致動器及機械定位銷來調整輸送機之高度。
揭示若干技術來以程式化方式使用包括一或多個機器人之一機器人系統(例如,在操作端處具有吸力、夾持器及/或其他末端執行器之機器人臂),從而堆棧/解堆棧及/或以其他方式包裝及/或拆包任意非同質物品組(例如,不同大小、形狀、重量、重量分佈、剛度、脆度、類型、封裝等)。
在各種實施例中,使用3D相機、力感測器及其他感測器及/或感測器陣列來偵測及判定待拾取及/或待放置之物品之屬性。可使用自一物品類型特定模型導出之策略來抓取及放置已判定其類型之物品(例如,具有充分置信度,如(舉例而言)由一以程式化方式判定之置信度得分所指示)。使用並非特定用於一給定物品類型之策略來拾取及放置無法被識別之物品。舉例而言,使用大小、形狀及重量資訊之一模型可被使用。感測器及/或感測器陣列可安置於一機器人臂之一工作空間中或其周圍。
在各種實施例中,使用物品類型、各別屬性及抓取策略之一庫來判定及實施一策略以拾取及放置每一物品。在某些實施例中,庫係動態的。舉例而言,庫可經擴增以添加新遇到之物品及/或關於一物品而學習之額外屬性,諸如在一給定情境中有效或無效之抓取策略。在某些實施例中,若機器人系統被卡住,則可調用人為干預。機器人系統可經組態以基於一人類遙控操作者如何經由遙操作進行干預以使用機器人臂(舉例而言)來拾取及放置一物品而觀看(例如,使用感測器)及學習(例如,更新一庫及/或模型)。在某些實施例中,遙操作可包含較高階形式之回饋,諸如一人類指示一2D RGB影像中之一特定點,機器人應在該特定點處抓取一物件。
在某些實施例中,如本文中所揭示之一機器人系統可參與一程序中以收集並儲存(例如,添加至庫)屬性及/或策略來識別及拾取/放置未知或新發現類型之一物品。舉例而言,系統可以各種角度及/或位置來固持物品以使得3D相機及/或其他感測器能夠產生感測器資料來擴增及/或建立一庫項目,該庫項目表徵物品類型並儲存如何識別拾取/放置彼類型之物品之一模型。
在各種實施例中,做出用以在一托板上或其中拾取及放置物品之一高階計劃。例如,基於感測器資訊而應用策略,以藉由根據計劃拾取及放置個別物品而實施該計劃。可觸發偏離計劃及/或重新計劃,例如,機器人系統被卡住,托板上之物品堆疊被偵測(例如,藉由電腦視覺、力感測器等)為已變得不穩定等。可基於已知資訊(例如,一輸送機上可見的接下來N個物品、一發票或載貨單上之接下來N個物品等)及在接收額外資訊(例如,可見的接下來物品等)時所做出之調整而形成一部分計劃。在某些情形中,系統經組態以將被確定為不太可能適合堆疊於系統當前正構建之一層或容器(諸如一托板或容器等中之一較低(或較高)層)中之物品集結(例如,擱置、在可到達距離內)。一旦已知關於待拾取/待放置之接下來物品之更多資訊,便產生及實施計及經集結(經暫存)物品及接下來物品之一策略。
各種實施例包含一組一或多個物品之同步(例如,並行或同時)堆棧或解堆棧。一或多個機器人臂可經控制以並行地在複數個托板上堆疊(或解堆疊)一組物品。舉例而言,複數個托板可安置於一機器人臂之範圍內,且機器人臂可同時地在複數個托板之至少一子集(例如,一組兩個或多於兩個托板)上堆疊一或多個物品。可至少部分地基於以下各項中之一或多者而選擇將在上面放置(例如,堆疊)一物品之一托板:物品(例如,物品之一屬性、物品之一類型等)、托板之一特性、托板之一識別符、托板上之一或多個物品之一堆疊之一狀態、一載貨單或訂單(例如,與包裝及裝運哪一物品相關聯之一訂單)等。可在複數個托板中之一或多個托板上堆疊一物品混合物。
在各種實施例中,一機器人系統判定一高階計劃以自一或多個輸送機之一輸送結構(在下文中「輸送機」)拾取一物品,且將該物品放置在安置於一機器人臂之範圍內之一或多個托板中之一托板上。機器人系統判定將在上面放置物品之托板。舉例而言,機器人系統至少部分地基於與托板相關聯之一訂單及/或載貨單而判定將在上面放置物品之托板。作為另一實例,在複數個托板被遞送至同一位址(例如,同一客戶)或者與同一載貨單或訂單相關聯之情形中,機器人系統可至少部分地基於托板之一狀態及/或複數個托板之一狀態而判定將在上面放置物品之托板。機器人系統可判定複數個托板中之一或多者上之一堆疊之一狀態,且至少部分地基於對物品針對其具有一最佳適配度之一堆疊之一判定而判定將在上面放置物品之托板。對物品針對其具有一最佳適配度之堆疊之判定可至少部分地基於堆疊之一穩定性、堆疊之一模型及/或包括物品(例如,在物品被放置於堆疊上之後)之堆疊之一模型、有待堆疊之一預期一或多個物品(例如,至少部分地基於一訂單及/或載貨單)等。可結合判定將在上面放置物品之托板而使用與物品有關之一或多個屬性或特性(例如,可結合將堆疊模型化及/或判定將物品放置於一堆疊上之何處而使用一大小、形狀、封裝類型、物品類型等)。
在某些實施例中,機器人系統判定將一物品放置於一暫存區或預定義集結區中。機器人系統可判定與物品所對應之載貨單及/或訂單相關聯之一或多個托板上之一堆疊上之物品的一適配度當前並不理想(例如,若將物品放置於堆疊上,則將無法達成一臨限適配度或臨限穩定性)。另一選擇係或另外,機器人系統可判定在將一或多個預期物品放置於對應托板上之後,物品將在堆疊上較佳地適配。舉例而言,機器人系統可判定若首先將一或多個預期物品放置於對應托板上,則一當前物品之一預期適配度或堆疊之預期穩定性將係較佳的(例如,高於臨限適配度或臨限穩定性)。作為一實例,可至少部分地基於輸送機上之一或多個物品而判定一或多個預期物品。作為另一實例,可至少部分地基於當前物品與其相關聯之一載貨單及/或訂單而判定一或多個預期物品。可至少部分地基於輸送機上或將被堆疊於一或多個托板上(例如,將被遞送至機器人臂以用於堆疊)之後續物品之一臨限數目及/或當前物品與其相關聯之載貨單及/或訂單而判定一或多個預期物品。暫存區或預定義集結區可與安置於機器人臂之範圍內之預定義區帶中之一者對應。在某些實施例中,回應於暫存區或預定義集結區係滿的(例如,暫存區/集結區中之物品之一數目超過一臨限數目,或當前物品不適配於暫存區/集結區中)之一判定,機器人系統可判定是否將當前物品或當前將一物品放置於暫存區/集結區中。機器人系統可判定與將當前物品放置於一托板上相比,將一物品自暫存區/集結區放置至一對應托板(例如,且藉此釋放暫存區/集結區中用於當前物品之空間)是否將產生一較佳適配度(例如,一較穩定堆疊)。回應於判定將一物品自暫存區/集結區放置至一對應托板預期產生一較佳適配度,機器人系統控制機器人臂以自暫存區/集結區拾取物品且將物品放置於與物品所屬於的一載貨單及/或訂單對應之一托板上。機器人臂然後將當前物品放置於暫存區及/或集結區中直至機器人系統判定將物品放置於一對應堆疊上係理想的(例如,若將物品放置於堆疊上,則將無法達成一臨限適配度或臨限穩定性)。
在某些實施例中,將複數個托板配置於一機器人臂周圍(例如,配置於機器人臂之範圍內,使得機器人臂可將一物品堆疊於複數個托板中之每一者上)。每一托板可位於在機器人臂附近之一預定義區帶內。預定義區帶可在一機器人臂周圍徑向地組態。地面上之標記可表示一預定義區帶。機器人系統可包括獲得與複數個預定義區帶中之一或多者有關之資訊之一或多個感測器或感測器陣列。一或多個感測器或感測器陣列可獲得與安置於一預定義區帶內之一托板有關之資訊(例如,與托板相關聯之一識別符、托板之一狀態等)及/或與托板上之一物品堆疊有關之資訊。舉例而言,一或多個感測器或感測器陣列可獲得資訊,可依據該資訊對預定義區帶中之托板上之一或多個物品之一堆疊進行模型化。機器人系統可使用由一或多個感測器或感測器陣列獲得之資訊以判定一對應預定義區帶中之一托板之一定向、判定一所插入托板是否被恰當地定向,或者以其他方式判定相對於被插入至對應預定義區帶中之托板而校準機器人系統。作為一實例,回應於判定將相對於托板校準機器人系統,機器人系統可向一終端提供托板將被重新定向之一通知(例如,請求/警告一人類操作者對托板進行重新定向之一通知)。作為另一實例,回應於判定將相對於托板校準機器人系統,機器人系統可判定托板之一當前定向之一偏移(例如,相對於托板之一恰當定向),且至少部分地基於當前定向之偏移而判定用於在托板上放置物品之一計劃或策略。
機器人系統(例如,機器人臂)與人類操作者之間的交互引發安全問題。各種實施例確保人類操作者與機器人系統之間的安全及直觀交互(例如,當機器人系統至少半自主地操作時)。在同步地(例如,並行或同時地)在配置於一機器人臂周圍之預定義區帶中之各種托板上堆疊物品之一機器人系統之情形中,機器人系統控制機器人臂以暫停或停止在人類操作者及/或自一對應預定義區帶被移除之托板中或其周圍堆疊物品。操作地連接至機器人系統之一或多個感測器及/或感測器陣列可獲得資訊,機器人系統可依據該資訊判定一人類操作者在一預定義區帶內、在一預定義區帶之一臨限範圍內,或其他經界定區內。回應於判定一人類操作者之一位置,機器人系統控制機器人臂以暫停或停止在人類操作者之位置之一預定義區或範圍內堆疊物品。在某些實例中,當人類操作者在一預定義區帶及/或機器人臂之一臨限區或範圍內時,機器人系統完全暫停機器人臂(例如,使得機器人臂不在任何托板上堆疊物品)。在其他實例中,機器人系統控制機器人臂以暫停或停止在預定義區帶內之托板上堆疊物品,該等預定義區帶毗鄰於其中存在一人類操作者之一預定義區帶。在其他實例中,機器人系統控制機器人臂以暫停或停止在預定義區帶內之托板上堆疊物品,該等預定義區帶在其中存在一人類操作者之一預定義區帶之一臨限距離內。
根據各種實施例,機器人系統包括操作地控制一機器人臂來堆棧/解堆棧一或多個物品之一控制電腦。一人類操作者可經由一使用者介面(例如,位於連接至控制電腦之一終端處或直接連接至控制電腦之一使用者介面)而向控制電腦提供指令。使用者介面可包含一或多個可選擇元件,該一或多個可選擇元件具有回應於其使用者選擇而被調用之對應功能。舉例而言,使用者介面可包含用以啟動一或多個物品在安置於一對應預定義區帶中之一托板上之堆疊之一按鈕。回應於一托板被插入至預定義區帶中,使用者可輸入按鈕之選擇以啟動在托板上之堆疊。作為另一實例,使用者介面可包含用以暫停物品在對應區帶中之托板上之堆疊之一按鈕。若一人類操作者或其他機器人係在對應預定義區帶內(或在該對應預定義區帶之一臨限範圍內)或將在該對應預定義區帶內,則使用者可暫停物品在托板上之堆疊。在某些例項中,若人類操作者或其他機器人係在一毗鄰預定義區帶內(或將在該毗鄰預定義區帶內) (或者以其他方式在物品所在或將被堆疊之預定義區帶附近),則使用者可暫停物品在托板上之堆疊。
使用者介面可顯示與對應預定義區帶中之一或多個托板之一當前狀態或狀況(例如,托板上之一物品堆疊之狀態/狀況)有關之資訊。舉例而言,與一或多個托板之當前狀態或狀況有關之資訊可至少部分地基於來自控制電腦之回饋。來自控制電腦之回饋可至少部分地基於自機器人臂之工作空間(例如,複數個預定義區帶)內之一或多個感測器或感測器陣列獲得之資訊而產生。與一或多個托板之一當前狀態或狀況有關之資訊可指示將在一對應預定義區帶中之一托板上堆疊之物品之一剩餘數目、已在一托板上堆疊之物品之一數目等。
圖1係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例之一圖式。
在所展示之實例中,系統100包含一機器人臂102。在此實例中,機器人臂102係靜止的,但在各種替代實施例中,機器人臂102可為一完全或部分移動的,例如安裝於一軌條上、在電動底盤上完全移動等。如所展示,機器人臂102用於自一輸送機帶(或其他源) 104拾取任意及/或不同物品且將該等任意及/或不同物品堆疊於一托板(例如,平台或其他容座) 106上。托板(例如,平台或其他容座) 106可包括一托板、一容座或者在四個拐角處具有輪子且在四個側中之三個側上至少部分地封閉之基座(有時稱為一個三側「輥托板」、「輥籠」及/或「輥」或「籠」、「台車」)。在其他實施例中,可使用具有更多、更少側及/或不具有側之一輥或非輪式托板。在某些實施例中,圖1中未展示之其他機器人可用於將容座106推動至待裝載/卸載之位置中及/或推動至一貨車或其他待運輸之目的地等中。
在某些實施例中,複數個托板106可安置於機器人臂102周圍(例如,在機器人臂之一臨限接近度內或以其他方式在機器人臂之範圍內)。機器人臂102可同步地(例如,並行及/或同時地)在複數個托板上堆疊一或多個物品。複數個托板中之每一者可與一載貨單及/或訂單相關聯。舉例而言,托板中之每一者可與一預設目的地(例如,客戶、位址等)相關聯。在某些例項中,複數個托板之一子集可與同一載貨單及/或訂單相關聯。然而,複數個托板中之每一者可與不同載貨單及/或訂單相關聯。機器人臂102可在複數個托板上放置分別對應於同一訂單之複數個物品。機器人系統100可判定複數個托板上之一配置(例如,一物品堆疊) (例如,如何在複數個托板當中劃分針對一訂單之複數個物品、如何堆疊任何一個托板上之物品等)。系統100可將一或多個物品(例如,針對一訂單之物品)儲存於一暫存區或集結區中,而一或多個其他物品被堆疊於一托板上。作為一實例,可將一或多個物品儲存於暫存區或集結區中直至系統100判定一或多個物品在托板上(例如,在堆疊上)之各別放置滿足(例如,超過)一臨限適配度或臨限穩定性之時間為止。臨限適配度或臨限穩定性可為一預定義值或至少部分地基於歷史資訊而以實證方式判定之一值。一機器學習演算法可結合判定一物品在一堆疊上之放置是否將預期滿足(例如,超過)一臨限適配度或臨限穩定性及/或結合判定臨限適配度或臨限穩定性(例如,量測一模擬或模型以評估是否在堆疊上放置物品所對照之臨限值)而實施。
在所展示之實例中,機器人臂102配備有一吸力類型末端執行器108。末端執行器108具有複數個吸力杯110。機器人臂102用於將末端執行器108之吸力杯110定位於一待拾取物品上方,如所展示,且一真空源提供吸力來抓取物品、將物品自輸送機104提升且將物品放置於托板106上之一目的地位置處。
在各種實施例中,使用安裝於末端執行器108上之3D或其他相機112及安裝於其中部署有機器人系統100之一空間中之相機114、116中之一或多者來產生影像資料,該影像資料用於識別輸送機104上之物品及/或判定用以抓取、拾取/放置及在托板106上堆疊物品(或者在暫存區或集結區中放置物品,若適用)之一計劃。在各種實施例中,未展示之額外感測器(例如,體現於輸送機104及/或機器人臂102中及/或毗鄰於該輸送機及/或該機器人臂之重量或力感測器、位於吸力杯110之x-y平面及/或z方向(垂直方向)中之力感測器等)可用於識別位於其中物品可被定位及/或重新定位(例如,藉由系統100)之輸送機104及/或其他源及/或集結區上之物品、判定該等物品之屬性、抓取該等物品、拾取該等物品、將該等物品移動穿過一所判定軌跡及/或將該等物品放置於容座106上或其中之一目的地位置中。
在所展示之實例中,相機112安裝於末端執行器108之主體之側上,但在某些實施例中,相機112及/或額外相機可安裝於其他位置中,諸如安裝於末端執行器108之主體之底面上(例如,自吸力杯110之間的一位置向下指向),或安裝於機器人臂102之分段或其他結構或者其他位置上。在各種實施例中,諸如112、114及116之相機可用於讀取文字、標誌、圖片、圖式、影像、標記、條碼、QR碼或者在輸送機104上之物品上可見及/或構成該等物品之其他經編碼及/或圖形資訊或內容。
進一步參考圖1,在所展示之實例中,系統100包含一控制電腦118,該控制電腦經組態以在此實例中經由無線通信(但在各種實施例中,以有線及無線通信中之一者或兩者)與諸如機器人臂102、輸送機104、執行器108及感測器(諸如相機112、114及116及/或重量感測器、力感測器及/或圖1中未展示之其他感測器)之元件進行通信。在各種實施例中,控制電腦118經組態以使用來自感測器(諸如相機112、114及116及/或重量感測器、力感測器及/或圖1中未展示之其他感測器)之輸入來查看、識別及判定待裝載至容座106中及/或自該容座卸載之物品之一或多個屬性。在各種實施例中,控制電腦118使用儲存於控制電腦118上及/或該控制電腦可存取之一庫中之物品模型資料(例如)基於影像及/或其他感測器資料而識別一物品及/或其屬性。控制電腦118使用對應於一物品之一模型來判定及實施用以堆疊該物品以及一目的地(諸如容座106)中/上之其他物品之一計劃。在各種實施例中,使用物品屬性及/或模型來判定用以抓取、移動及在一目的地位置(例如,判定放置物品之一所判定位置)中放置一物品之一策略作為用以在容座106中/上堆疊物品之一計劃/重新計劃程序之一部分。
在所展示之實例中,控制電腦118連接至一「隨選(on demand)」遙操作裝置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可結合以下操作而產生托板之狀態之模型:判定是否移除托板上(例如,堆疊上)之一物品,且選擇用於自托板移除物品之一計劃。托板之狀態之模型可結合判定自托板移除物品之一次序而使用。舉例而言,系統100可使用模型來判定一物品之移除是否預期致使托板(例如,堆疊)之狀態之穩定性下降至低於一臨限穩定性。系統100可模擬一或多個物品自托板之移除且選擇自托板移除物品之一次序,該次序最佳化托板(例如,堆疊)之狀態之穩定性。系統100可使用模型來判定將自托板移除之一下一物品。舉例而言,系統100可至少部分地基於在物品之移除期間及/或之後的堆疊之一預期穩定性超過一臨限穩定性之一判定而選擇一物品作為將自托板移除之一下一物品。模型及/或機器學習程序可結合判定用於自堆疊拾取一物品之策略而使用。舉例而言,在一物品被選擇為將自堆疊移除之下一物品之後,系統100可判定用於拾取該物品之策略。用於拾取該物品之策略可至少部分地基於托板之狀態(例如,堆疊之一所判定穩定性)、物品之一屬性(例如,一大小、形狀、重量或預期重量、重心、封裝類型等)、物品之一位置(例如,相對於堆疊中之一或多個其他物品)、堆疊上之另一物品之一屬性(例如,一毗鄰物品之一屬性等)等。
根據各種實施例,結合改良抓取策略(例如,用於抓取一物品之策略)而實施一機器學習程序。系統100可獲得與待堆棧/解堆棧之一或多個物品有關之屬性資訊。屬性資訊可包括以下各項中之一或多者:物品之一定向、一材料(例如,一封裝類型)、一大小、一重量(或預期重量)或者一重心等。系統100亦可獲得一源位置(例如,與將從中拾取物品之輸入輸送機有關之資訊),且可獲得與將在上面放置物品之一托板(或將從中判定目的地托板之一組托板,諸如與物品被堆疊之次序對應之一組托板)有關之資訊。結合判定用於拾取及放置物品之一計劃,系統100可使用與物品有關之資訊(例如,屬性資訊、目的地位置等)來判定用於拾取物品之一策略。拾取策略可包含一拾取位置(例如,物品上之一位置,機器人臂102將(諸如)經由末端執行器而在該位置處嚙合物品)之一指示。拾取策略可包含將被施加以拾取物品之一力及/或機器人臂102在將物品自一源位置移動至目的地位置之同時將藉以抓取物品之一固持力。系統100可使用機器學習程序至少部分地基於與物品有關之資訊(例如,屬性資訊、目的地位置等)與拾取物品之效能(例如,與拾取及放置物品或類似物品(諸如共用一或多個類似屬性之物品)之過去反覆相關聯之歷史資訊)之間的一關聯而改良拾取策略。
圖2A係圖解說明用以堆棧及/或解堆棧一物品之一程序之一實施例之一流程圖。在各種實施例中,圖2A之程序200由包括用以堆棧及/或解堆棧異質物品之一機器人系統之一控制電腦(諸如圖1之控制電腦118)執行。機器人系統可包括一或多個機器人臂。一或多個托板可安置於機器人臂中之每一者周圍。舉例而言,複數個預定義區帶可設定於一機器人臂附近或該機器人臂之一臨限範圍內,且至少托板可放置於一預定義區帶中。作為另一實例,複數個預定義區帶可在一機器人臂周圍徑向地設定,且複數個托板可分別位於一對應預定義區帶中。一系統可包括一或多個輸送機,該一或多個輸送機向/自一機器人臂之一工作空間攜載物品(例如,一或多個輸送機之至少一部分可在機器人臂之可到達距離/範圍內)。
在所展示之實例中,在205處,接收指示用以向/自一或多個平台或容座(諸如一托板)拾取及放置一組不同物品(亦即,該組包含兩個或多於兩個不同類型之物品)之一高階目標之資料。舉例而言,一控制電腦(諸如圖1之控制電腦118)可接收用以將到達輸送機104上之物品裝載至托板106上之一輸入。相反,作為另一實例,一控制電腦(諸如圖1之控制電腦118)可接收用以將物品自托板106卸載至輸送機104上之一輸入。用以裝載/卸載物品之輸入對應於一特定托板或一特定機器人臂。舉例而言,在複數個托板對應於機器人臂(例如,位於與機器人臂相關聯之預定義區帶內)之情形中,使用者可在一逐托板基礎上(例如,個別地針對每一托板)選擇性地指示機器人臂來裝載/卸載物品。作為另一實例,在複數個托板對應於機器人臂之情形中,使用者可選擇性地指示機器人臂來裝載/卸載對應於機器人臂之托板之一子集或者所有托板。
根據各種實施例,可接收明確指示預期及/或期望被裝載之物品之一輸入,諸如一發票或載貨單。舉例而言,回應於接收到一訂單或履行一訂單之一指令,可產生對應於該訂單之物品之一載貨單或清單(在下文中稱為「載貨單」)。結合履行該訂單,可指示機器人系統堆棧對應於該載貨單之物品。堆棧針對該載貨單之物品可包含將該等物品堆疊於一或多個托板上。在複數個托板安置於對應於機器人臂之預定義區帶內之情形中,機器人臂可同步地(例如,並行及/或同時地)在複數個托板上堆疊對應於載貨單之物品。
一托板可在其上具有一識別符且機器人系統可使托板之識別符與一載貨單相關聯。舉例而言,機器人系統可儲存(或可以存取)一資料儲存,該資料儲存儲存托板識別符至載貨單之映射。作為另一實例,預定義區帶可暫時與一載貨單相關聯(例如,當機器人在各種時間自插入至預定義區帶之一或多個托板對物品進行堆棧/解堆棧時)。預定義區帶與載貨單之間的關聯可儲存於預定義區帶至載貨單之一映射中。機器人系統可結合將一物品放置於一托板上(或在解堆棧之情形中,結合將物品放置於輸送機上等)而使用一載貨單與一托板識別符或托板位於其中之預定義區帶之間的關聯。對應於同一載貨單之複數個托板上之物品之同步(例如,並行或同時)堆疊在計劃將物品堆疊於一托板上之方式時提供較大靈活性。舉例而言,機器人系統可判定物品在上面最佳適配(例如,產生一最高效包裝之堆疊及/或產生一較佳堆疊穩定性度量)之托板。
在210處,執行計劃(或重新計劃)以產生用以基於在205處所接收之高階目標以及可用感測器資訊而拾取/放置物品之一計劃。舉例而言,在圖1中所展示之實例中,可使用由相機112、114及116中之一或多者產生之3D或其他影像資以及來自圖1中未展示之感測器(例如,重量感測器)之感測器資料來識別及判定用以拾取、在容座106上放置及堆疊經由輸送機104而到達之物品之一計劃。
在某些實施例中,系統可至少部分地基於一載貨單(例如,與一訂單對應之發票或其他清單等)而做出一計劃。可基於以下各項而產生用以堆疊物品之一計劃:物品大小、重量、密度、重量分佈、剛度、物品及/或其箱子或其他封裝支撐堆疊於物品之頂部上之重量之能力等。在某些實施例中,控制電腦(諸如)經由輸送機104 (或經由一或多個輸送機)而控制物品到達裝載位置處之次序。在某些實施例中,物品可以先驗未知之一次序到達及/或物品清單可為未知的。在某些此等實施例中,相機(例如,112、114、116)及/或其他感測器用於識別物品及/或其屬性、產生/更新用以在一托板(例如,托板106)上堆疊物品之一計劃,及/或根據在210處所判定之堆疊計劃而判定用以抓取、拾取、移動及在其對應位置中放置每一物品之策略。
根據各種實施例,機器人系統判定用以拾取/放置物品以便以使托板係穩定的且被密集地包裝之一方式包裝或堆疊物品之計劃。作為一實例,與在一托板上包裝或堆疊物品之方式有關之一或多個臨限值可結合判定用以拾取/放置物品之計劃而使用。一或多個臨限值可由一使用者(例如,一管理者)設定。在某些實施例中,可基於一機器學習程序(諸如至少部分地基於歷史資訊(例如,與一托板上之物品堆疊有關之歷史資訊,或一物品之個別放置/屬性之歷史資訊)而改良計劃程序之一機器學習程序)而設定一臨限值。一或多個臨限值可包含(i)與一托板之包裝密度之一量測有關之一包裝效率臨限值,(ii)與托板上之物品堆疊之一穩定性之一量測有關之一穩定性臨限值,(iii)與一物品適配於托板上(例如,一現有堆疊上等)之方式之一量測有關之一適配度臨限值。機器人系統可使用臨限值作為藉由物品在一特定目的地位置處之預期放置而必須獲得(或預期獲得)之各別最小值。
在某些實施例中,可產生一托板上之物品之一模型。舉例而言,可針對一托板上之物品堆疊而產生該模型。當將一新物品添加至托板(例如,放置於托板上)時,可更新該模型。另一選擇係或另外,可以可由一使用者/管理者組態之預定義時間間隔來更新該模型。可在每當判定將由一機器人臂拾取/放置一物品時及/或每當機器人系統判定物品與對應於一或多個托板之一載貨單相關聯時對關於一特定托板之物品之模型進行模型化。然而,在某些實施例中,可回應於一物品與對應於該物品之一載貨單相關聯之一判定而快取並獲得關於一托板之物品之模型。機器人系統可獲得經快取模型且回應於自產生模型以來一或多個其他物品已被放置於托板上之一判定而更新該模型。在某些實施例中,機器人系統在機器人臂將一物品放置於托板上之後更新並快取模型以避免在將一下一物品放置於托板上時必須計算/更新模型。
回應於判定一物品將被拾取並放置於一托板上,機器人系統可至少部分地基於物品與其相關聯之一載貨單之一判定而判定可在上面放置物品之一組托板。回應於判定對應於物品之載貨單,機器人系統可在載貨單至托板之一映射中執行一查找以判定可在上面放置物品之一或多個托板,以允許將物品包含於載貨單之履行中。在某些情形中,所有一或多個托板皆在一特定機器人臂之範圍內(例如,在對應於機器人臂之預定義區帶內)。在其他情形中,一或多個托板之一子集在一特定機器人臂之範圍內(例如,一或多個托板之一子集可尚未被放置於針對任何機器人臂之一區帶中,及/或一或多個托板之一子集可被放置於與一不同機器人臂對應之一預定義區帶中)。因此,機器人系統可基於載貨單至托板之映射及/或托板至機器人臂及/或預定義區帶之一映射而進一步判定可藉由機器人臂在上面放置物品之一或多個托板。
回應於判定可將物品放置於與一機器人臂對應之一或多個托板上,機器人系統可判定將物品放置於一或多個托板上之方式。若一托板當前位於針對機器人臂之一預定義區帶中,則該托板可對應於一機器人臂。作為一實例,若可將物品放置於複數個托板中與一機器人臂對應之一個托板上,則機器人系統可選擇複數個托板中之將在上面放置物品之一個托板。對將在上面放置物品之托板之選擇可包含判定物品在上面最佳適配(例如,相對於物品在其他托板/堆疊上之放置)之一托板或堆疊。在某些實施例中,機器人系統結合判定將在上面放置物品之托板或堆疊而使用關於托板之物品之對應模型。舉例而言,機器人系統可對可在上面放置物品之托板中之一或多者上之物品放置進行模擬/模型化,且若物品被放置於托板上,則判定與托板或托板上之物品相關聯之一或多個預期特性。一或多個相關聯特性可包括以下各項中之一或多者:與托板上之物品之一穩定性(例如,物品堆疊之一穩定性)有關之一度量、與托板上之物品之一密度有關之一度量、托板上之物品相對於其他物品之一適配度等。
在某些實施例中,機器人系統模擬將物品放置於一特定托板上之不同位置處以至少部分地基於前述一或多個特性之至少一子集而判定物品最佳適配之一位置。機器人系統可模擬將物品相對於一特定托板放置於複數個位置處,且可相對於可在上面放置物品之複數個托板(例如,與物品所屬於之載貨單相關聯之複數個托板)而執行此一模擬。機器人系統可至少部分地基於對放置物品之一或多個模擬而判定物品之目的地位置。舉例而言,機器人系統可根據一或多個模擬至少部分地基於與將一物品放置於各種位置處相關聯之預期一或多個特性而判定目的地位置。可至少部分地基於一或多個特性(例如,堆疊之密度、堆疊之穩定性、物品相對於其他物品之適配度等)而判定與將一物品放置於一特定位置處相關聯之一綜合得分。在某些實施例中,一或多個特性具有用於判定與將物品放置於一特定位置處相關聯之一綜合得分之對應權重。
機器人系統可將目的地位置判定為與在針對將物品放置於托板上之不同模擬/模型當中具有最高對應綜合得分之位置對應。在某些實施例中,至少部分地基於模擬及一成本函數而判定目的地位置。舉例而言,可判定綜合得分滿足(例如,超過)一臨限值之一組目的地位置,且機器人系統可自該組目的地位置當中選擇具有關於成本函數之最高效結果(例如,最低成本)之目的地位置作為將在其處放置物品之目的地位置。在某些實施例中,至少部分地基於以下各項判定而從中選擇目的地位置之該組目的地位置:(i)具有滿足最小特性值(例如,針對適配度、穩定性、效率等之特性值)之特性之目的地位置中之每一者;及(ii)具有滿足臨限值綜合得分值之一綜合得分之目的地位置中之每一者。
物品在一托板上之穩定性可受與一物品相關聯之一或多個屬性影響。該等屬性可包含:一物品之一形狀、一物品之一重心(或物品之一預期重心)、一包裝類型(例如,一紙板箱、一塑膠袋等)、物品之一重量、物品係易碎之一指示等。作為一實例,若將相對輕之一物品或一不規則形狀之物品放置於一物品堆疊之一較低部分處,則該物品可致使該堆疊係相對不穩定的。在一物品係一枕頭之情形中,與將枕頭放置於一物品堆疊之底部處或底部/中間附近相比,可藉由將枕頭放置於該堆疊之頂部處或頂部附近而改良該堆疊之穩定性。機器人系統可獲得與一物品相關聯之一或多個屬性。舉例而言,當物品被提供於輸送機上時(例如,當物品被帶至機器人臂附近時),或當物品被判定為係將自輸送機被拾取之下一物品時,機器人系統可獲得該一或多個屬性。在某些實施例中,獲得一或多個屬性包括獲得(例如,掃描)物品上之一或多個識別符,諸如一條碼、一QR碼、一近場通信標籤/標識等。可與物品、物品類型等相關聯地預儲存屬性。舉例而言,回應於獲得與物品相關聯之一識別符,機器人系統可對照物品(或物品識別符)至屬性之一映射而執行一查找。在某些實施例中,一屬性由一或多個上游感測器或電腦獲得並與物品相關聯地被儲存。機器人系統可自一資料結構擷取由一或多個上游感測器獲得的與一物品相關聯之屬性。一感測器或感測器陣列可結合判定物品之一大小而使用。感測器或感測器陣列可安置於輸送機上或其周圍,或者安置於機器人臂之工作空間內。另外或另一選擇係,機器人系統可回應於拾取物品而判定與該物品相關聯之一或多個屬性。舉例而言,可回應於拾取物品而經由一或多個感測器(諸如一力感測器或一電流感測器,或者量測提升物品所耗費之一功量之其他感測器等)判定物品之一重量。作為另一實例,機器人臂可將物品移動於可獲得與物品相關聯之一識別符(例如,物品上之一條碼)之一或多個感測器之一臨限範圍/區內,且可使用識別符來獲得一經預儲存屬性。
可使用與一物品相關聯之一或多個屬性來判定用於拾取/放置物品之計劃。舉例而言,機器人系統可判定一軌跡,沿著該軌跡將物品自一源位置(例如,輸送機上之一位置)移動至目的地位置(例如,將在上面放置物品之托板上之位置)。作為另一實例,可結合在模擬將物品放置於托板上之不同位置處或放置於針對對應載貨單之不同托板上之不同位置處時判定目的地位置而使用與物品相關聯之一或多個屬性。
在某些實施例中,機器人系統基於與將物品自源位置移動至目的地位置相關聯之一效率或成本函數而判定用於拾取/放置物品之計劃。作為一實例,機器人系統可基於效率或成本函數之一最佳化而判定該計劃。作為另一實例,機器人系統可判定該計劃,使得藉由物品自源位置至目的地位置之對應移動而滿足一最小效率臨限值及/或一成本函數之一最小值臨限值。與一計劃之一效率有關之一或多個值可包含使機器人臂移動物品之一預期時間、源位置與目的地位置之間的一高度差、源位置與目的地位置之間的一距離(例如,一歐幾裡得距離等)等。在某些實施例中,一成本函數包括與以下各項有關之一或多個變數:物品在目的地位置處之拾取/放置、托板上之物品堆疊之一預期穩定性(例如,在物品被放置於目的地位置處之後)、物品在目的地位置處之適配度之一量測、用於堆棧與一特定載貨單對應之所有物品之托板之一數目等。成本函數可包含針對包含於成本函數中之一或多個變數之一或多個權重。在判定移動一物品之成本時所包含之變數可包含以下各項中之一或多者:(i)預期機器人臂將物品自源位置移動至目的地位置所花費之一時間量,(ii)預期機器人臂所施加以移動物品之一功量,(iii)物品將被移動之一距離,(iv)將沿著其移動物品之一路徑或軌跡等,(v)下游輸送可用性,(vi)待移動物品或目的地位置處之一(若干)物品之一或多個特性,包含物品大小、物品重量、物品封裝類型、物品剛度、一目的地位置表面之扁平度及/或表面均勻度、目的地位置處之物品之一特性(大小、重量、封裝類型、剛度等)等。在判定與移動物品相關聯之成本時可包含各種其他變數。可基於移動一組物品之一彙總成本而判定移動該組物品之次序(例如,可判定移動該組物品中之一物品之個別成本,且可基於個別成本而判定移動該組物品之一彙總成本)。在某些實施例中,在判定移動一物品之一成本時所包含之變數(例如,成本函數中之一變數)可具有不同權重。舉例而言,與提升一物品相關聯之時間及/或功可大於與降低一物品相關聯之時間及/或功。因此,即使將一物品提升至一特定位置之距離與將該物品降低至一不同位置之距離相同,與將物品移動至不同位置相關聯之成本亦可為不同的。
根據各種實施例,系統至少部分地基於在受制於一或多個條件之情況下移動一物品或一組物品之一成本之一最佳化來判定用於移動該物品或該組物品之一計劃。一或多個條件可包含系統在移動物品時該系統所遵循之條件或規則。條件之實例可包含以下各項中之一或多者:(i)在移動期間避免物品與另一物品/物件之間 一碰撞,(ii)在一預定義區內移動物品(例如,以避免機器人臂在為人類或另一機器人保留之一區中進行操作),(iii)源位置及/或目的地位置處之一物品堆疊之一穩定性臨限值(諸如基於物品之移動),(iv)機器人臂移動之一速度,(v)預期機器人臂移動物品所花費之一時間,(vi)物品被成功移動之一可能性,(vii)機器人臂之末端執行器與物品之間的力之一穩定性(例如,對物品之握持之一穩定性)等。各種其他條件可結合約束系統使用於移動。
在某些實施例中,若一托板當前位於一機器人臂之一預定義區帶中及/或被計劃當一預定義區帶可用時於一未來時間插入至一預定義區帶中,則該托板可被視為與該機器人臂對應。在此情形中,機器人系統可判定物品將被放置於此一待插入托板上,且機器人系統可判定用於拾取及放置物品之計劃包括自輸送機拾取物品並將物品放置於一暫存區或集結區中,直至對應托板被插入至預定義區帶中並判定將物品放置於此托板上之時間為止。
在某些實施例中,回應於判定在對應於物品所屬於之載貨單之一或多個托板上當前不存在適合位置,機器人系統可判定拾取並在一暫存區或一集結區中放置物品。暫存區或集結區可為工作空間內之一預設區,物品至少暫時被儲存於該預設區中直至機器人系統判定在一或多個托板中之一者上存在一理想位置(例如,滿足與穩定性、適配度及/或效率等有關之準則之一位置)。機器人系統可判定在當前物品之前將一或多個上游物品(例如,將在一臨限時間及/或臨限物品數目內經由輸送機而被遞送之物品)放置於托板上將產生一較佳堆疊(例如,較佳適配度、穩定性、效率等)。回應於此一判定,機器人結構可控制機器人臂以在拾取及放置當前物品之前拾取及放置一或多個上游物品。作為一實例,在機器人臂堆疊一或多個上游物品之同時或在機器人臂堆疊一或多個上游物品之時間以前,可將當前物品暫時移動至暫存區/集結區。
根據各種實施例,判定用於拾取及放置一物品之一組路徑或軌跡,且自該組路徑或軌跡選擇沿著其移動物品之路徑或軌跡。可基於與該組內之對應路徑或軌跡相關聯之各種性質來選擇路徑或軌跡。與可結合選擇路徑或軌跡而使用之對應路徑或軌跡相關聯之性質的實例包含:物品將被移動之一速度、將在其處拾取物品之一目的地位置、根據特定路徑或軌跡而拾取物品並將該物品放置於目的地位置處之一成功機率、工作空間內之另一物品或物件是否與特定路徑或軌跡相交之一指示、工作空間中之一區域或區被限制與特定路徑或軌跡相交之一指示等。在某些實施例中,針對該組路徑或軌跡之至少一子集來判定根據特定路徑或軌跡而拾取物品並將該物品放置於目的地位置處之成功機率,且基於相對於與其他路徑或軌跡對應之成功機率的對應成功機率來選擇路徑或軌跡。作為一實例,回應於判定與路徑或軌跡對應之成功機率超過一臨限機率或超過子集內之其他路徑或軌跡之一臨限數目或百分比而選擇路徑或軌跡。
根據各種實施例,可至少部分地基於關於移動物品之一成本(例如,一成本函數之一結果)來判定待堆棧/解堆棧之一物品、將從中獲得一物品之一源位置及/或一目的地位置。可至少部分地基於一預定義成本函數來判定成本,該預定義成本函數可包含與拾取及放置物品有關之一或多個變數。系統可以最佳化移動物品之一成本及/或移動一物品滿足一或多個成本值臨限值之一方式來判定待堆棧/解堆棧之一物品、將從中獲得一物品之一源位置,及/或一目的地位置。
在某些實施例中,一系統包含複數個輸入源位置(例如,將物品帶至機器人臂以用於堆棧之複數個輸送機),且與自具有一第一高度之一第一輸送機移動一物品相關聯之一成本不同於與自具有一第二高度之一第二輸送機移動同一物品相關聯之一成本,該第二高度不同於該第一高度。移動物品之成本可考量物品自源位置移動至目的地位置(例如,機器人臂將物品自源位置移動至目的地位置)之一距離。舉例而言,可判定物品將在上面移動之路徑或軌跡之一長度且可至少部分地基於路徑或軌跡之長度而判定移動物品之成本。作為另一實例,可判定自物品之源位置至一目的地位置之一距離,且可至少部分地基於該距離而判定移動物品之成本。可將該距離作為物品之源位置至一目的地位置之間的歐幾裡得距離來計算。
可以最小化/最佳化移動一組物品(或該組物品中之兩個或多於兩個物品之一子集)之一成本之一方式來判定移動該組物品之一次序。類似地,可以最小化/最佳化移動該組物品之一成本(例如,最小化/最佳化堆疊物品之成本)之方式來判定堆棧該組物品之一方式(例如,堆疊中之物品之一配置)。舉例而言,可判定移動複數個物品之一模型或模擬,且可至少部分地基於與移動物品之成本相關聯之變數而判定移動複數個物品之一彙總成本。移動該組物品之最佳化可以滿足一或多個條件為條件。在某些實施例中,基於對移動物品之次序滿足一或多個成本值臨限值之一判定(例如,確保滿足移動該組物品或該組內之一物品之一最小成本)而判定移動該組物品之次序。該組物品內之物品之各種屬性可影響移動物品之次序及/或與以該次序移動該組物品相關聯之成本。舉例而言,移動其中一物品具有一相對較大高度之一組物品之一成本可被最佳化,若以最小化/減小在一機器人臂將移動該物品之高度方向上之距離之一方式移動此物品的話。在堆棧其中一物品具有一相對較大高度之一組物品之情形中,若在托板上之物品堆疊係相對低時將具有一相對較大高度之物品自輸送機移動至托板(例如,減少機器人必須升高該物品以放置在堆疊/托盤上之量),則可改良移動該組物品之成本。因此,在堆棧該組物品之情形中,可在堆疊之高度達到一臨限高度之前移動具有一相對較大高度之物品,此後可需要機器人臂來將該物品提升至堆疊上(例如,而非將該物品降低至堆疊上)。
在205處,根據在210處判定及/或更新之計劃而拾取物品(例如,在圖1中所展示之實例中,自輸送機104抓取物品)、將該等物品穿過一(預定/所計劃)軌跡移動至將在其附近放置物品之一位置,並將該等物品放置於目的地位置處。
在各種實施例中,一包裝計劃可包含計劃使用可堆疊托盤、條板箱、箱子、貯存箱或其他容器來將較小及/或不規則形狀之物品分組並作為一更容易堆疊之單元進行包裝。在某些實施例中,在一解堆棧操作中,如本文中所揭示之一機器人系統經組態以辨識此等容器、在需要時打開該等容器且藉由移除個別物品而清空該等容器。一旦被清空,容器便被移動至一集結位置,在各種實施例中,其他機器人及/或人類工作者可自該集結位置將容器擷取並移開。
在所展示之實例中,(重新)計劃及計劃實施(210、215)繼續進行直至完成(220)高階目標(205)為止,程序200在此處結束。在各種實施例中,可藉由諸如到達並非預期及/或無法被識別之一物品、指示一屬性之一感測器讀數具有與基於物品識別及/或相關聯物品模型資訊所預期之值不同之一值等條件而觸發重新計劃(210)。非預期條件之其他實例包含但不限於:判定一預期物品丟失、重新評估物品識別並判定一物品與最初所識別的不同、偵測到一物品重量或其他屬性與所識別之物品不一致、掉落或需要重新抓取物品、判定一較晚到達之物品太重而無法如由原始及/或當前計劃所考慮而堆疊於一或多個其他物品上,以及偵測到堆疊於容座上之該組物品之不穩定性。
圖2B係圖解說明用以將一物品單個化之一程序之一實施例之一流程圖。在某些實施例中,程序225由一機器人系統實施,該機器人系統操作以將一工作空間內之一或多個物品單個化。機器人系統包含一或多個處理器,該一或多個處理器操作(包含藉由執行程序225)以致使一機器人結構(例如,一機器人臂)拾取及放置物品以用於分類。
在230處,獲得與工作空間有關之感測器資料。在某些實施例中,一機器人系統自在系統內操作之一或多個感測器獲得與工作空間有關之感測器資料。作為一實例,至少部分地基於來自影像感測器(例如,2D或3D相機)、一紅外線感測器陣列、一雷射陣列、一標尺、一陀螺儀、一電流感測器、一電壓感測器、一功率感測器、一力感測器、一壓力感測器及諸如此類之輸出而獲得感測器資料。
根據各種實施例,與工作空間有關之所獲得感測器資料包括可從中產生工作空間之一模型之資訊。舉例而言,至少部分地基於感測器資料而判定與工作空間相關聯之一或多個特性。感測器資料可結合判定工作空間內之一或多個物品(諸如斜槽之源堆/流中之物品,或由機器人臂抓取之一物品)之至少一個特性而使用。在某些實施例中,感測器資料結合判定輸送機之一或多個特性(諸如判定輸送機上之空的或未被保留之狹槽、判定輸送機之一速度及/或判定至少一個狹槽或已位於輸送機上之至少一個物品之特性)而使用。
在240處,判定用以將工作空間中之一或多個物品單個化之一計劃或策略。在某些實施例中,一機器人系統判定用以自工作空間中之一源堆/流拾取至少一個物品並將至少一個物品單獨放置於輸送機上之一狹槽中之計劃或策略。在各種實施例中,在一逐機器人基礎上判定用以將一或多個物品單個化之計劃或策略,使得若機器人系統包含複數個機器人,則每一機器人獨立於其他機器人進行操作。
根據各種實施例,至少部分地基於感測器資料而判定用以將工作空間中之一或多個物品單個化之計劃或策略。舉例而言,用以將一或多個物品單個化之計劃或策略包含選擇源堆/流內將被單個化之一物品。可至少部分地基於感測器資料而自工作空間內之其他物品或物件當中識別選定物品(例如,可判定該物品與工作空間內之其他物品或物件之邊界)。作為一實例,至少部分地基於感測器資料而判定與選定物品有關之一或多個特性。與選定物品有關之一或多個特性可包含物品之一尺寸、物品之一封裝、物品上之一或多個識別符或標籤(例如,物品易碎之一指示符、物品上之一裝運標籤等)、物品之一所估計重量及諸如此類或其任何組合。作為另一實例,用以將一或多個物品單個化之計劃包含判定機器人結構(例如,機器人臂)將在其處單獨放置物品之輸送結構上之一位置(例如,輸送機上之一狹槽)。可至少部分地基於一時間戳記、輸送機之一速度以及輸送機中之一狹槽之一或多個特性(例如,狹槽是被佔用還是被保留之一指示)及諸如此類或其任何組合而判定將在其處放置物品之輸送機上之位置。作為另一實例,用以將一或多個物品單個化之計劃或策略包含判定物品之一路徑或軌跡,在單個化期間機器人臂將沿著該路徑或軌跡移動物品。可至少部分地基於工作空間內之一或多個其他物件(諸如斜槽之一框架、源堆/流中之其他物品、輸送機上之物品、在工作空間內操作之其他機器人、針對其他機器人之操作之一所保留空域、工作空間內之感測器等)之一位置而判定將沿著其移動物品之物品之路徑或軌跡。舉例而言,物品之路徑或軌跡經判定以將物品之包括一識別符(例如,一裝運標籤)之一部分移動至一掃描器能夠掃描識別符之一區,或者物品之路徑或軌跡經判定以最大化沿著路徑或軌跡由一或多個掃描器讀取物品上之識別符之一可能性。
根據各種實施例,至少部分地基於與移動一或多個物品相關聯之一成本而判定用以將一或多個物品單個化之計劃或策略。系統可至少部分地基於移動一物品之一成本(諸如藉由判定最小化移動物品之一成本之一計劃或策略)而判定用於移動該物品之計劃或策略。最小化移動物品之成本可包含在受制於一或多個預定條件或約束之情況下最佳化成本。在某些實施例中,系統以使根據計劃或策略移動物品預期成本小於一成本值臨限值之一方式而判定用於移動物品之計劃或策略。與移動物品相關聯之成本可至少部分地基於:與物品相關聯之一屬性(例如,物品之一大小)、工作空間中將從中拾取物品之一位置(例如,斜槽上之一位置)、輸送機上將在其處放置物品之一目的地位置等。在某些實施例中,工作空間中之一或多個其他物品或物件(例如,已位於輸送機上之一物品)之存在可影響根據一路徑/軌跡移動一物品之一成本等。
在245處,將物品單個化。在某些實施例中,回應於判定用於將物品單個化之計劃或策略而將物品單個化。舉例而言,一機器人臂經操作以自工作空間拾取一或多個物品且將每一物品單獨放置於一單個化輸送機中之一對應位置中。物品之單個化包括自工作空間(例如,自源堆/流)拾取物品且將物品單獨放置於輸送機上。機器人系統至少部分地基於用於將物品單個化之計劃或策略而將物品單個化。
在250處,做出關於是否將其他物品單個化之一判定。若存在更多物品,則執行步驟230、240、245及250之另一反覆,且執行連續反覆直至在250處判定在斜槽(或者其他容座或源)中不存在待拾取及放置之更多物品。
圖2C係圖解說明用以裝配一物品套件之一程序之一實施例之一流程圖。在某些實施例中,程序255由一機器人系統實施,該機器人系統操作以將一工作空間內之一或多個物品配套。機器人系統包含一或多個處理器,該一或多個處理器操作(包含藉由執行程序250)以致使一機器人結構(例如,一機器人臂)拾取及放置物品以用於將一組物品裝配成一套件。
在230處,獲得一物品清單。在某些實施例中,一機器人系統獲得一物品清單來裝配成一或多個套件。物品清單可自一發票或載貨單(諸如與一訂單對應之一發票或載貨單)獲得,或者以其他方式自指示一組物品將被提供至另一位置之一訂單或資訊獲得。物品清單可自一資料結構(諸如與一倉庫系統或與另一機器人系統共用之一資料結構)獲得。
在260處,判定用以移動工作空間中之一或多個物品之一計劃或策略。在某些實施例中,一機器人系統判定用以自工作空間中之一擱架(例如,一擱架機器之一擱架)拾取至少一個物品且將至少一個物品放置於一容座(諸如一箱子、托盤、手提袋、袋子或其他容座)中之計劃或策略。容座可位於一輸送機上。在各種實施例中,可在一逐機器人基礎上判定用以將一或多個物品單個化之計劃或策略,使得若機器人系統包含複數個機器人,則每一機器人獨立於其他機器人進行操作。
可至少部分地基於與工作空間有關之感測器資料而判定用以移動一或多個物品之計劃或策略。在某些實施例中,一機器人系統自在系統內操作之一或多個感測器獲得與工作空間有關之感測器資料。作為一實例,至少部分地基於來自影像感測器(例如,2D或3D相機)、一紅外線感測器陣列、一雷射陣列、一標尺、一陀螺儀、一電流感測器、一電壓感測器、一功率感測器、一力感測器、一壓力感測器及諸如此類之輸出而獲得感測器資料。
根據各種實施例,與工作空間有關之所獲得感測器資料包括可從中產生工作空間之一模型之資訊。舉例而言,至少部分地基於感測器資料而判定與工作空間相關聯之一或多個特性。感測器資料可結合判定工作空間內之一或多個物品(諸如一擱架上或一擱架系統上之物品,或者由機器人臂抓取之一物品)之至少一個特性而使用。在某些實施例中,感測器資料結合判定輸送機之一或多個特性(諸如判定輸送機上之空的或未被保留之狹槽或容座、判定輸送機之一速度及/或判定至少一個狹槽或已位於輸送機上之至少一個物品之特性)而使用。
根據各種實施例,至少部分地基於感測器資料而判定用以移動工作空間中之一或多個物品之計劃或策略。舉例而言,用以移動一或多個物品之計劃或策略包含在其內選擇待移動之一物品。可至少部分地基於物品清單及/或感測器資料而自工作空間內之其他物品或物件(例如,擱架上之其他物品)當中識別選定物品(例如,可判定該物品與工作空間內之其他物品或物件之邊界)。作為一實例,至少部分地基於感測器資料而判定與選定物品有關之一或多個特性。與選定物品有關之一或多個特性可包含物品之一尺寸、物品之一封裝、物品上之一或多個識別符或標籤(例如,物品易碎之一指示符、物品上之一裝運標籤等)、物品之一所估計重量及諸如此類或其任何組合。作為另一實例,用以移動一或多個物品之計劃包含判定機器人結構(例如,機器人臂)將在其處放置物品之輸送機上之一位置(例如,輸送機上之一狹槽或容座)。可至少部分地基於一時間戳記、輸送機之一速度以及輸送機中之一狹槽或容座之一或多個特性(例如,狹槽是被佔用還是被保留之一指示、與狹槽或容座相關聯之一識別符(諸如在一容座上之一識別符被映射至一載貨單之情形中)等)及諸如此類或其任何組合而判定將在其處放置物品之輸送機上之位置。作為另一實例,用以移動一或多個物品之計劃或策略包含判定物品之一路徑或軌跡,機器人臂將沿著該路徑或軌跡移動物品。可至少部分地基於工作空間內之一或多個其他物件(諸如斜槽之一框架、一擱架或擱架系統中之其他物品、輸送機上之物品、在工作空間內操作之其他機器人、針對其他機器人之操作之一所保留空域、工作空間內之感測器等)之一位置而判定將沿著其移動物品之物品之路徑或軌跡。舉例而言,物品之路徑或軌跡經判定以將物品之包括一識別符(例如,一裝運標籤)之一部分移動至一掃描器能夠掃描識別符之一區,或者物品之路徑或軌跡經判定以最大化沿著路徑或軌跡由一或多個掃描器讀取物品上之識別符之一可能性。
根據各種實施例,至少部分地基於與移動一或多個物品相關聯之一成本而判定用以移動一或多個物品之計劃或策略。系統可至少部分地基於移動一物品之一成本(諸如藉由判定最小化移動物品之一成本之一計劃或策略)而判定用於移動該物品之計劃或策略。最小化移動物品之成本可包含在受制於一或多個預定條件或約束之情況下最佳化成本。在某些實施例中,系統以使根據計劃或策略移動物品預期成本小於一成本值臨限值之一方式而判定用於移動物品之計劃或策略。與移動物品相關聯之成本可至少部分地基於:與物品相關聯之一屬性(例如,物品之一大小)、工作空間中將從中拾取物品之一位置(例如,擱架或擱架系統上之一位置)、輸送機上將在其處放置物品之一目的地位置、將在其中放置物品之一特定容座(例如,不同容座可位於不同輸送機上)等。在某些實施例中,工作空間中之一或多個其他物品或物件(例如,已位於輸送機上之一物品或容座、已位於當前物品將被移動至的容座中之一物品等)之存在可影響根據一路徑/軌跡移動一物品之一成本等。
在265處,移動物品。在某些實施例中,回應於判定用於將物品單個化之計劃或策略而拾取及放置物品。舉例而言,一機器人臂經操作以自工作空間拾取一或多個物品且將每一物品放置於一容座中之一對應位置中。物品之單個化包括自工作空間(例如,自對應擱架)拾取物品且將物品放置於輸送機上或以其他方式放置於適用容座中。機器人系統至少部分地基於用於移動物品之計劃或策略而拾取及放置物品。
在270處,做出關於是否將其他物品單個化之一判定。若存在更多物品,則執行步驟255、260、265、及270之另一反覆,且執行連續反覆直至在270處判定在斜槽(或者其他容座或源)中不存在待拾取及放置之更多物品。
圖3係圖解說明用以選擇及提供用於堆棧之物品之一程序之一實施例的一流程圖。
在310處,獲得一物品清單。物品清單可對應於將被共同地堆棧於一或多個托板上之一組物品。根據各種實施例,至少部分地基於將履行一載貨單或訂單之一指示而判定待堆棧之一組物品。舉例而言,回應於接收到一訂單,可產生針對該訂單之一物品清單。作為另一實例,可產生與將被發送至同一接收者之複數個訂單對應之一物品清單。
物品可位於一倉庫內之一擱架或其他位置上。為了堆棧物品,將物品移動至堆棧物品之一機器人系統。舉例而言,可將物品放置於一或多個輸送機上,該一或多個輸送機將物品移動至一或多個機器人臂之範圍內,該一或多個機器人臂將物品堆棧至一或多個托板上。回應於獲得物品清單,該等物品中之至少一者與一特定機器人臂、對應於特定機器人臂之一預定義區帶及/或一特定托板(例如,一托板識別符、位於一預定義區帶中之一托板)等相關聯。
在330處,執行計劃(或重新計劃)以基於物品清單及可用感測器資訊而產生用以拾取/放置物品之一計劃。計劃可包含用於擷取物品清單上之一或多個物品並將此等物品放置於對應一或多個輸送機上以將該等物品攜載至一機器人臂之一或多個策略。根據各種實施例,至少部分地基於物品清單而判定將物品清單上之物品提供至適用機器人臂以用於堆棧之一次序。
將物品放置於輸送機上之次序可至少鬆散地基於物品及一或多個托板上之物品之一預期堆疊。舉例而言,系統判定將物品放置於輸送機上之次序可產生物品之一預期堆疊之一模型,且基於該模型而判定該次序(例如,以便首先遞送形成堆疊之基底/底部之物品且逐步遞送沿堆疊向上更高之物品)。在將物品清單上之物品堆棧於複數個托板上之情形中,可將預期形成各別堆疊之基底/底部(或以其他方式相對靠近堆疊之底部)之物品在預期實質上在堆疊之中間或頂部中之物品之前放置於輸送機上。將被堆棧於複數個托板上之各種物品可散置於彼此當中且機器人系統可在物品到達機器人臂處後旋即對該等物品進行分類(例如,機器人臂可至少基於物品(諸如物品之識別符或物品之一屬性)而拾取物品並將該等物品放置至一適用托板上)。因此,與對應堆疊之基底/底部部分對應之物品可散置於彼此當中且可在構建對應堆疊時將針對每一托板/堆疊之各種物品放置於輸送機上。
在某些實施例中,移動(例如,堆棧及/或解堆棧)一組物品之次序及/或方式至少部分地基於與移動該組物品相關聯之一成本或與移動該組物品中之至少一者相關聯之一成本。系統可基於移動該組物品或該組物品中之至少一者之成本之一最小化/最佳化而判定將移動該組物品中之至少一者之次序及/或方式。成本之最小化/最佳化可為判定與在受制於一或多個條件(例如,有限空域、穩定性臨限值、移動物品之時間等)之情況下移動物品/該組物品相關聯之一最小/最佳成本。在某些實施例中,移動物品/該組物品之成本之最小化/最佳化包含判定一次序及/或方式,藉由該次序及/或方式移動物品使得一成本滿足一或多個成本值臨限值。可基於移動一組物品中之物品(或該組物品中之物品之一子集)之一彙總成本而判定移動該組物品之次序。判定將移動一物品之方式可包含判定用於拾取及放置物品之計劃或策略,諸如對將沿著其移動物品之一路徑或軌跡之一判定。將移動物品之方式可至少部分地基於移動物品之一成本。舉例而言,可至少部分地基於一或多個成本值臨限值或至少部分地基於選擇最小化/最佳化物品之移動之一方式而判定將移動物品之一方式。系統可判定可移動物品之一組不同方式(例如,不同路徑/軌跡、托板/堆疊上之不同目的地位置等),且可選擇該組不同方式中之一最佳方式。
系統可產生針對屬於物品清單之物品之一或多個預期堆疊之一模型。可至少部分地基於一或多個臨限值(諸如一適配度臨限值或穩定性臨限值)、其他包裝度量(例如,密度)等而產生該模型。舉例而言,系統可產生一堆疊之一模型,針對該模型,一預期穩定性值滿足(例如,超過)穩定性臨限值。該模型可使用一機器學習程序來產生。可基於諸如物品之先前堆疊(例如,先前堆疊中之物品之屬性、與先前堆疊有關之效能度量,諸如穩定性、密度、適配度等)之歷史資訊而反覆地更新機器學習程序。在某些實施例中,至少部分地基於物品清單上之物品之一或多個屬性而產生用於堆棧該等物品之堆疊之模型。
可在判定計劃之前或期間獲得一物品之各種屬性。屬性可包含一物品之一大小、一物品之一形狀、一物品之一封裝類型、一物品之一識別符、一物品之一重心、物品是否易碎之一指示、物品之一頂部或底部之一指示等。作為一實例,可至少部分地基於物品清單而獲得與物品之至少一子集有關之一或多個屬性。可至少部分地基於由一或多個感測器獲得之資訊及/或藉由在屬性至物品(例如,物品類型、物品識別符,諸如序列號、型號等)之一映射中執行一查找而獲得該一或多個屬性。
在350處,根據在330處判定及/或更新之計劃而拾取物品並將該等物品穿過一(預定/所計劃)軌跡移動至對應輸送機上之將在其附近放置物品之一位置,且將該等物品放置於目的地位置處。
在所展示之實例中,(重新)計劃及計劃實施(330、350)繼續進行直至完成(370)提供物品清單上之物品之高階目標為止,程序300在此處結束。在各種實施例中,可藉由諸如到達並非預期及/或無法被識別之一物品、指示一屬性之一感測器讀數具有與基於物品識別及/或相關聯物品模型資訊所預期之值不同之一值等條件而觸發重新計劃(330)。非預期條件之其他實例包含但不限於:判定一預期物品丟失、重新評估物品識別並判定一物品與最初所識別的不同、偵測到一物品重量或其他屬性與所識別之物品不一致、掉落或需要重新抓取物品、判定一較晚到達之物品太重而無法如由原始及/或當前計劃所考慮而堆疊於一或多個其他物品上,以及偵測到堆疊於容座上之該組物品之不穩定性。
圖4A係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例之一圖式。在所展示之實例中,系統400包含一機器人臂401。在此實例中,機器人臂401係靜止的,但在各種替代實施例中,機器人臂401可為一完全或部分移動的,例如安裝於一軌條上、在電動底盤上完全移動等。在其他實施方案中,系統400可包含在一工作空間中之複數個機器人臂。如所展示,機器人臂401用於自一或多個輸送機帶(或其他源) 408及410拾取任意及/或不同物品,且將該等物品堆疊在諸如托板402、托板404及/或托板406之一托板(例如,平台或其他容座)上。在某些實施例中,圖4A中未展示之其他機器人可用於將托板402、托板404及/或托板406推動/拉動至待裝載/卸載之位置中及/或推動/拉動至一貨車或其他待運輸之目的地等中。
如圖4A中所圖解說明,系統400可包括一或多個預定義區帶。舉例而言,將托板402、托板404及/或托板406展示為位於預定義區帶內。可藉由在地面上進行標記或加標籤或者在結構上以其他方式(諸如經由系統400中所展示之框架)而表示預定義區帶。在某些實施例中,預定義區帶可徑向地位於機器人臂401周圍。在某些情形中,將一單個托板插入至一預定義區帶中。在其他情形中,將一個或多個托板插入至一預定義區帶中。預定義區帶中之每一者可位於機器人臂401之範圍內(例如,使得機器人臂401可在一對應托板上放置物品,或自對應托板解堆棧物品等)。在某些實施例中,將位於一預定義區帶內之預定義區帶或托板中之一者用作在其中暫時儲存物品(例如,暫時儲存直至物品將被放置於一預定義區帶中之一托板上)之一暫存區或集結區。
可(諸如)經由輸送機408及/或輸送機410而將一或多個物品提供(例如,攜載)至機器人臂401之工作空間。系統400可控制輸送機408及/或輸送機410之一速度。舉例而言,系統400可獨立於輸送機410之速度而控制輸送機408之速度,或系統400可控制輸送機408及/或輸送機410之速度。在某些實施例中,系統400可暫停輸送機408及/或輸送機410 (例如,以允許機器人臂401有充足時間來拾取及放置物品)。在某些實施例中,輸送機408及/或輸送機410攜載針對一或多個載貨單(例如,訂單)之物品。舉例而言,輸送機408及輸送機410可攜載針對同一載貨單及/或不同載貨單之物品。類似地,托板/預定義區帶中之一或多者可與一特定載貨單相關聯。舉例而言,托板402及托板404可與同一載貨單相關聯。作為另一實例,托板402及托板406可與不同載貨單相關聯。
系統400可控制機器人臂401以自諸如輸送機408或輸送機410之一輸送機拾取一物品,且將該物品放置於諸如托板402、托板404或托板406之一托板上。機器人臂405可拾取物品並至少部分地基於與該物品相關聯之一計劃而將物品移動至一對應目的地位置(例如,一托板或一托板上之堆疊上之一位置)。在某些實施例中,系統400諸如在物品位於輸送機上之同時判定與該物品相關聯之計劃,且系統400可在拾取物品後旋即更新計劃(例如,基於物品之一所獲得屬性(諸如重量),或回應於由工作空間中之一感測器獲得之資訊(諸如對與另一物品或人類之一預期碰撞之一指示)等)。系統400可獲得與物品相關聯之一識別符,諸如一條碼、QR碼或者物品上之其他識別符或資訊。舉例而言,系統400可在物品被攜載於輸送機上時掃描/獲得識別符。回應於獲得識別符,系統400可結合判定將在上面放置物品之托板(諸如藉由對照物品識別符至載貨單之一映射及/或載貨單至托板之一映射來執行一查找)而使用識別符。回應於判定與物品所屬於的載貨單/訂單對應之一或多個托板,系統400可至少部分地基於托板上之物品堆疊之一模型或模擬及/或基於物品在托板上之一放置而選擇將在上面放置物品之一托板。系統400亦可判定將在其處將物品放置於選定托板上之一特定位置(例如,目的地位置)。另外,可判定用於將物品移動至目的地位置之一計劃,包含可沿著其移動物品之一經計劃路徑或軌跡。在某些實施例中,當機器人臂401移動物品時更新計劃,諸如結合執行一主動量測以改變或適應與工作空間中之一或多個物品/物件相關聯之一所偵測狀態或條件(例如,以避免一預期碰撞事件、計及物品之大於一預期重量之一所量測重量、減少在物品移動時對物品之剪切力等)。
根據各種實施例,系統400包括一或多個感測器及/或感測器陣列。舉例而言,系統400可包含在輸送機408及/或輸送機410附近之一或多個感測器,諸如感測器412、感測器414及/或感測器418。感測器418可為一掃描器,當物品在輸送機408上自該掃描器下方通過時,該掃描器掃描物品(例如,獲得物品之資訊)。一或多個感測器可獲得與輸送機上之一物品相關聯之資訊(諸如物品上之一識別符或標籤上之資訊),或者物品之一屬性(諸如物品之一尺寸)。在某些實施例中,系統400包含獲得與一預定義區帶及/或區帶中之一托板有關之資訊之一或多個感測器及/或感測器陣列。舉例而言,系統400可包含一感測器416,該感測器獲得與托板406或托板406位於其內之預定義區帶相關聯之資訊。感測器可包含一或多個2D相機、3D (例如,RGBD)相機、紅外線及其他感測器以產生一工作空間(或一工作空間之一部分,諸如一托板及托板上之物品堆疊)之一個三維視圖。與一托板有關之資訊可結合判定托板及/或托板上之一物品堆疊之一狀態而使用。作為一實例,系統400可至少部分地基於與一托板有關之資訊而產生該托板上之一物品堆疊之一模型。系統400可繼而結合判定用於放置一物品於一托板上之一計劃而使用該模型。作為另一實例,系統400可至少部分地基於與托板有關之資訊而判定一物品堆疊完成。
系統400可傳遞一托板之一狀態及/或機器人臂401在一預定義區帶內之操作。可將托板之狀態及/或機器人臂之操作傳遞至一使用者或其他人類操作者。舉例而言,系統400可包含一通信介面(未展示),與系統400之狀態(例如,一托板、一預定區帶、一機器人臂等之一狀態)有關之資訊經由該通信介面而到達一終端(諸如隨選遙操作裝置122及/或由一人類操作者使用之一終端)。作為另一實例,系統400可包含在一預定義區帶附近之一狀況指示器,諸如狀況指示器420及/或狀況指示器422。
狀況指示器420可結合傳遞一托板之一狀態及/或機器人臂401在對應預定義區帶內之操作而使用。舉例而言,若系統400相對於托板406位於其中之預定義區帶係活動的,則狀況指示器可如此指示,諸如經由接通一綠色光或者經由狀況指示器420以其他方式傳遞活動狀況之資訊或一指示。可回應於判定機器人臂401正在一預定義區帶內之托板上主動地堆棧一或多個物品而判定系統400相對於該預定義區帶處於一活動中。作為另一實例,若系統400相對於托板406位於其中之預定義區帶係非活動的,則狀況指示器可如此指示,諸如經由接通一紅色光或者經由狀況指示器420以其他方式傳遞活動狀況之資訊或一指示。可回應於機器人臂401並未在預定義區帶內之托板上主動地堆棧一或多個物品之一判定(舉例而言,回應於一使用者暫停彼預定義區帶(或小區),或回應於托板406上之一物品堆棧完成之一判定)而判定系統400係非活動的。一人類操作者或使用者可使用狀況指示器作為對關於進入對應預定義區帶是否係安全的一指示。舉例而言,一使用者進行工作以向/自對應預定義區帶移除已完成托板或插入空的托板可參考對應狀況指示器且確保在狀況指示器指示預定義區帶內之操作係非活動時進入預定義區帶。
根據各種實施例,系統400可使用由工作空間內之一或多個感測器獲得之資訊來判定與托板及/或托板上之物品堆疊有關之一異常狀態。舉例而言,系統400可至少部分地基於由感測器獲得之資訊而判定一托板相對於機器人臂401及/或對應預定義區帶未對準。作為另一實例,系統400可至少部分地基於由感測器獲得之資訊而判定一堆疊係不穩定的、一托板上之物品正經歷一湍流等。回應於偵測到異常狀態,系統可傳遞異常狀態之一指示,諸如一隨選遙操作裝置或由一操作者使用之其他終端。在某些實施例中,回應於偵測到異常狀態,系統400可自動將托板及/或對應區帶設定為一非活動狀態。除了通知一操作者異常狀態之外或作為對此之一替代方案,系統400可執行一主動量測。主動量測可包含控制機器人臂401以至少部分地校正異常狀態(例如,重新堆疊掉落的物品、重新對準托板等)。在某些實施方案中,回應於偵測到一經插入托板未對準(例如,錯誤地插入至預定義區帶),系統400可校準用於模型化一堆疊及/或用於在托板上放置物品之程序以校正該未對準。舉例而言,當判定並實施用於在托板上放置一物品之一計劃時,系統400可產生並使用對應於未對準之一偏移。在某些實施例中,系統400回應於判定一異常程度小於一臨限值而執行主動量測以部分地校正異常狀態。判定一異常程度小於一臨限值之實例包含(i)托板之未對準小於一臨限未對準值之一判定,(ii)移位、錯放或掉落的物品之一數目小於一臨限數目之一判定,(iii)一移位、錯放或掉落的物品之一大小滿足一大小臨限值之一判定等。
一人類操作者可經由一網路(諸如一有線網路及/或一無線網路)而與系統400進行通信。舉例而言,系統400可包括一通信介面,系統400經由該通信介面而連接至一或多個網路。在某些實施例中,經由網路而連接至系統400之一終端提供一使用者介面,人類操作者可經由該使用者介面而向系統400提供指令,及/或人類操作者可經由該使用者介面而獲得與系統400之一狀態(例如,機器人臂之一狀態、一特定托板之一狀態、針對一特定載貨單之一堆棧程序之一狀態等)有關之資訊。人類操作者可經由至使用者介面之一輸入而向系統400提供一指令。舉例而言,一人類操作者可使用該使用者介面來暫停機器人臂、暫停關於一特定載貨單之一堆棧程序、暫停針對一特定托板之一堆棧程序、在活動/非活動之間雙態切換一托板/預定義區帶之一狀況等。
在某些實施例中,系統至少部分地基於一成本函數(例如,與移動物品相關聯之一成本)而堆棧/解堆棧物品。在圖4A中所圖解說明之實例中,輸送機408及輸送機410具有不同高度—輸送機410相對高於輸送機408。舉例而言,至輸送機408之支腿409具有一高度h1,且至輸送機410之支腿411具有一高度h2,並且高度h2大於高度h1。類似地,在圖4A中所圖解說明之實例中,托板402、托板404及托板406上之物品堆疊之狀態係不同的—堆疊之一高度(例如,堆疊上之頂部物品所在之高度)係不同的。如此,在一堆棧程序之情形中,取決於物品之源位置(例如,輸送機408或輸送機410)及目的地位置(例如,托板402、托板404或托板406),物品將被移動之距離可為不同的。類似地,取決於源位置及/或目的地位置,用於移動一物品之一所判定路徑或軌跡之一長度可為不同的。在將一物品自一托板解堆棧至一輸送機之情形中,將一物品自堆疊之上半部分(例如,新插入至系統中之一滿托板或一預定義最大托板高度)移動至一相對較高輸送機(例如,輸送機410)之成本可小於將物品移動至相對較低輸送機(例如,輸送機408);且將一物品自堆疊之下半部分(例如,相對於新插入至系統中之一滿托板或一預定義最大托板高度)移動至一相對較低輸送機之成本可小於將物品移動至一相對較高輸送機。
根據各種實施例,系統至少部分地基於源位置與目的地位置之間的一距離而判定源位置及/或目的地位置。舉例而言,系統可判定一源位置與一目的地位置之間的一歐幾裡得距離。在某些實施例中,系統判定對應於源位置與目的地位置之各種排列或組合之一組歐幾裡得距離,且系統至少部分地基於該距離而判定源位置及目的地位置中之一或多者。在某些實施例中,源位置與目的地位置之間的距離係一成本函數中之一變數,且至少部分地基於將物品自對應源位置移動至對應目的地位置之一成本而判定源位置及/或目的地位置。
根據各種實施例,可至少部分地基於源位置之一屬性(例如,輸送機之一高度、堆疊之一高度等)而判定將從中拾取物品之源位置。源位置之屬性可結合判定將物品自源位置移動至目的地位置之一成本而使用。舉例而言,源位置之屬性可影響使機器人臂將物品自源位置移動至目的地位置之一功量、源位置處之物品與目的地位置之間的一距離、物品將沿著其自源位置行進至目的地位置之路徑/軌跡之一長度。在某些實施例中,在將物品提供至機器人臂401之前(例如,在物品處於機器人臂401之範圍內之前)判定源位置。在堆棧物品之一實例中,在上面將物品提供至機器人臂401或機器人系統400之輸送機可在上游被控制(例如,藉由在一特定輸送機上拾取及放置物品、藉由使用一閘控結構來引導物品,或以其他方式將物品移動至所判定源位置)。舉例而言,一系統可包含輸送機之一網路,可將一物品放置於一上游輸送機上,且系統可包含一閘結構,利用該閘結構至少部分地基於對源位置之判定而將物品選擇性地引導至各種下游輸送機。作為另一實例,一系統可實施一下游輸送機選擇以基於物品之一或多個特性(例如,大小、封裝類型、剛度、重量等)而判定將在上面放置物品之輸送機。作為另一實例,可自一原始源位置(例如,一擱架、一容座等)拾取物品並將物品放置於輸送機408上。在前述實例中,在物品到達機器人臂401處之前(例如,在物品處於機器人臂401之範圍內之前,及/或在物品由諸如感測器412、感測器414及/或418之感測器掃描之前)判定用於堆棧物品之計劃之至少一部分之判定。舉例而言,一控制電腦可至少鬆散地判定物品將被堆棧之一次序。控制電腦可判定與物品將被堆棧之方式有關之一屬性(諸如物品將被堆棧之次序之一屬性),且控制電腦可至少部分地基於該屬性而選擇物品將在上面被提供至機器人臂401之輸送機(例如,判定源位置)。屬性之實例包含(i)物品將被堆棧於托板之一下半部分處之一指示,(ii)物品將被堆棧於托板之一上半部分處之一指示,(iii)物品將被放置於低於一或多個臨限高度之物品堆疊上之一指示,(iv)物品將被放置於高於一或多個臨限高度之物品堆疊上之一指示等。可實施各種其他屬性。在某些實施例中,當物品處於機器人臂401之範圍內及/或由獲得被輸入至系統400之物品(例如,被輸入至機器人臂401之範圍之物品)之資訊之感測器(諸如感測器412、感測器414及/或感測器418)進行掃描時,更新用於堆棧物品之計劃。
在圖4A中之系統400之實例中,若判定物品將被移動至托板402,則系統可判定將物品自輸送機408移動之成本低於在物品將自輸送機410移動之情況下之成本。因此,系統可進行控制以使物品被路由至輸送機408 (例如,藉由控制一閘控結構、藉由將物品自一原始源位置拾取並放置至輸送機408上等)。系統可結合判定源位置而使用托板上之物品堆疊之一當時狀態。在某些實施例中,回應於獲得待堆棧物品之一清單,系統產生用於堆疊與物品清單對應之該組物品之一模擬或模型。該模擬或模型可結合判定源位置及/或控制物品至源位置之移動以由機器人臂401進行拾取及放置而使用。
在各種實施例中,系統400之元件可被添加、移除、換出等。在此一例項中,舉例而言,一控制電腦初始化並註冊新元件、執行操作測試,且開始/恢復配套操作、併入新添加之元件。
圖4B係圖解說明用以將物品單個化之一機器人系統之一實施例之一圖式。在圖4B中所圖解說明之實例中,系統425包含配備有末端執行器之一機器人臂426。儘管在所展示之實例中,末端執行器係一基於吸力之末端執行器,但在各種實施例中,可如本文中所揭示在一單個化系統中使用一或多個其他類型之末端執行器,包含但不限於一基於捏合之末端執行器或其他類型之經致動夾持器。機器人臂426及末端執行器經組態以用於擷取經由斜槽或貯存箱429到達之包裹或其他物品且將每一物品放置於一分段式輸送機(諸如分段式輸送機427及/或分段式輸送機428)上之一對應位置中。在此實例中,物品自一入口端430被饋送至斜槽429中。舉例而言,一或多個人類及/或機器人工作者可直接或者經由一輸送機或經組態以將物品饋送至斜槽429中之其他機電結構而將物品饋送至斜槽429之入口端430中。
在圖4B中所展示之實例中,分段式輸送機可安置於不同高度處。舉例而言,將分段式輸送機428圖解說明為具有比分段式輸送機427大的一高度。在某些實施例中,一輸送機之高度係可調整的。舉例而言,系統(或一人類操作者)可進行控制以調整輸送機,使得其表面存在於一不同高度處。
在所展示之實例中,機器人臂426、末端執行器及輸送機(例如,輸送機427及/或輸送機428)中之一或多者由控制電腦440協調操作。在某些實施方案中,控制電腦440經組態以控制在一或多個工作站處進行操作之複數個機器人臂。系統425可包含一或多個感測器,自該一或多個感測器對工作空間之一環境進行模型化。在圖4B中所展示之實例中,系統425包含影像感測器,在此實例中包含3D相機438及439。在各種實施例中,可如本文中所揭示在一單個化系統中使用其他類型之感測器(個別地或以組合方式),包含一相機、一紅外線感測器陣列、一雷射陣列、一標尺、一陀螺儀、一電流感測器、一電壓感測器、一功率感測器、一力感測器、一壓力感測器、一重量感測器及諸如此類。在各種實施例中,控制電腦440包含一工作空間環境狀態系統(諸如一視覺系統),該工作空間環境狀態系統用於基於諸如由影像感測器(在此實例中包含3D相機438及439)提供之影像資料之感測器資料而辨別工作空間上之個別物品、碎片以及每一物品之定向。
根據各種實施例,結合將一物品單個化,系統425判定用於將物品單個化之一路徑/軌跡。可至少部分地基於目的地位置之一屬性(例如,物品將被移動到的輸送機之一屬性)而選擇用於將物品單個化之路徑/軌跡。該屬性可包含目的地位置之一高度、目的地位置(相對於斜槽429等)之一相對高度、距目的地位置之一距離等。在某些實施例中,用於將物品單個化之路徑/軌跡至少部分地基於與沿著路徑/軌跡移動物品相關聯之一成本。系統425可選擇使將物品單個化之一成本最小化之一路徑/軌跡。舉例而言,系統425可選擇最小化/最佳化源位置(例如,斜槽429上之物品或斜槽429本身)與目的地位置(例如,對應輸送機上之一托盤或狹槽)之間的距離之路徑/軌跡。在受制於一或多個預定條件之情況下,將物品單個化之成本(或具體而言源位置與目的地位置之間的距離)可被最小化/最佳化。一或多個預定條件可包含一有限空域、被佔用之一狹槽/托盤、用於將物品單個化之一最大時間臨限值、工作空間中之另一物品或物件(諸如輸送機上之一鄰近狹槽中之一物品)或者此之屬性等。
在某些實施例中,系統425判定用於將一物品單個化之一組可能目的地位置及/或一組可能路徑/軌跡。系統425可判定針對該組可能目的地位置及/或該組可能路徑/軌跡將一物品單個化之對應預期成本。舉例而言,系統425可基於一成本函數而判定預期成本。回應於判定所設定對應預期成本,系統425可判定滿足一或多個條件(諸如具有小於一成本值臨限值之一成本)之一路徑/軌跡。系統425可選擇與一經最小化/經最佳化預期成本對應之路徑/軌跡。
如圖4B中所圖解說明,路徑/軌跡434自將從中拾取物品之一位置開始(沿著其將物品移動至輸送機427之路徑/軌跡),以及自物品將被釋放以在空間及時間上與一狹槽、托盤或被選擇作為物品將在其處被放置於目的地輸送結構上之位置之其他目的地(在此實例中,亦即,輸送機427之狹槽/托盤432)重合之一位置及時間開始。類似地,路徑/軌跡435自將從中拾取物品之一位置開始(沿著其將物品移動至輸送機428之路徑/軌跡),以及自物品將被釋放以在空間及時間上與一狹槽、托盤或被選擇作為物品將在其處被放置於目的地輸送結構上之位置之其他目的地(在此實例中,亦即,輸送機428之狹槽/托盤431)重合之一位置及時間開始。系統425可判定路徑/軌跡434或路徑/軌跡435是否與用於將物品單個化之一較少成本對應,且選擇具有較少成本之此路徑/軌跡。
在某些實施例中,系統425判定物品將被單個化到的一狹槽/托盤,或其中物品可被單個化之一組狹槽/托盤。因此,計及狹槽/托盤(或該組狹槽/托盤)之一位置及輸送機之移動而判定路徑/軌跡434及/或路徑/軌跡435。舉例而言,系統425判定路徑/軌跡434以在一特定時間獲得待單個化物品與選定狹槽/托盤432之間的一相交。在各種實施例中,系統425保留將在其中對物品進行單個化之狹槽/托盤(例如,對應於選定路徑/軌跡)。在某些實施例中,在系統425判定沿著其對物品進行單個化之路徑/軌跡(例如,基於成本函數、目的地位置之一屬性等)之同時,系統425保留可在其中對物品進行單個化之狹槽/托盤。保留狹槽/托盤用於確保在物品將被放置於該狹槽/托盤中時,該狹槽/托盤未被佔用。舉例而言,系統425更新分佈式資料結構以指示狹槽/托盤(或一組狹槽/托盤)被佔用(或將被佔用)。路徑/軌跡可包含一最終預釋放時期或階段,其中機器人臂426經操作以追蹤及匹配輸送機運動之一速度及方向,從而將物品在目的地位置上方維持於適當位置中直至該物品被釋放為止。
進一步參考圖4B,在所展示之實例中,系統425進一步包含一隨選遙操作裝置442,該隨選遙操作裝置可由一人類工作者444使用以藉由遙操作而操作機器人臂426、末端執行器及輸送機427及/或輸送機428中之一或多者。在某些實施例中,控制電腦440經組態而以一完全自動化模式嘗試抓取並放置物品。然而,若在嘗試以完全自動化模式進行操作之後,控制電腦440判定其不具有可用於抓取一或多個物品之(進一步)策略,則在各種實施例中,控制電腦440發送一警告以經由遙操作而獲得來自一人類操作者之幫助(例如,由人類操作者444使用遙操作裝置442)。在各種實施例中,控制電腦440使用來自相機(諸如相機438及439)之影像資料以向人類操作者444提供場景之一視覺顯示來促進遙操作。
圖4C係圖解說明用以裝配物品套件之一機器人系統之一實施例之一圖式。在所展示之實例中,配套系統450包含一配套擱架系統454及一機器人臂452。在某些實施例中,一配套系統包含複數個配套擱架系統及/或複數個機器人臂452。機器人臂可自主地操作以自一配套擱架系統拾取一物品(或來自一物品內之一物件)且將該物品(或物件)放置至一預定位置。在某些實施例中,一機器人臂至少部分地基於諸如用於對一或多個物品進行配套(例如,基於一訂單而裝配一套件等)之一計劃之一計劃而拾取一或多個物品並將該一或多個物品放置至一預定位置。
配套擱架系統454包含一或多個擱架456、458及460。在某些實施例中,一或多個擱架456、458及460分別包含安置於其上之一或多個物品。配套擱架系統454內之不同擱架可包含不同物品(例如,一不同類型之物品、具有一或多個不同識別符(諸如序列號、型號、批號或諸如此類)之物品)。
在某些實施例中,機器人臂452可相對於配套擱架系統454及/或相對於一輸送機或者一容座所安置之其他位置進行移動。在圖4C中所展示之實例中,機器人臂452安裝於托架462上,該托架經組態以沿著一軌條或其他線性導軌464騎行,該軌條或其他線性導軌在與配套擱架系統454相對之一側上安置於輸送機(例如,輸送機466及/或輸送機468)旁邊且實質上平行於該輸送機。在某些實施方案中,軌條或其他線性導軌安置於配套擱架系統454與輸送機(或至少一個輸送機)之間。在各種實施例中,經由一控制器(圖4C中未展示)而應用一馬達、帶、鏈或其他動力源以沿著軌條或導軌464移動托架462及經附接機器人臂452來促進自一或多個配套擱架系統自動化擷取物品,且在一容座(例如,一箱子、一托盤等) (諸如容座470或容座472)沿著對應輸送機進行移動時將物品(例如,物件451)放置於該容座中。可至少部分地基於將被拾取並放置於容座中之一或多個物品、容座之一位置及/或容座之一路徑(例如,基於對應輸送機之一所判定移動)而協調機器人臂之控制。
在某些實施例中,配套系統450包含複數個輸送機,諸如輸送機466及輸送機468。容座可分別由複數個輸送機中之每一者攜載。在圖4C中所展示之實例中,輸送機466與輸送機468具有不同高度。可至少部分地基於目的地位置(例如,輸送機)之一屬性而在輸送機466或輸送機468上之一容座中對一組待配套物品進行配套。舉例而言,配套系統450可至少部分地基於一特定容座位於上面之輸送機之一高度而判定在該容座中對該組物品進行配套。當機器人臂移動一物品時,機器人臂通常提升物品,使得物品之底部離開容座之頂部。因此,若物品係相對大的,則與機器人臂將必須提升一相對較小物品相比,機器人臂必須更多地提升該物品。配套系統450可基於移動該組待配套物品中之一或多者之一成本而選擇將在其處對該組物品進行配套之一目的地位置(例如,容座)。作為另一實例,相對大量之該組物品可位於配套擱架系統454之底部擱架上或其附近,且將該組物品移動至一相對較高輸送機上之一容座可比將該組物品移動至一相對較低輸送機做更多功。相反,作為另一實例,相對大量之該組物品可位於配套擱架系統454之頂部擱架上或其附近,且將該組物品移動至一相對較低輸送機上之一容座可比將該組物品移動至一相對較高輸送機做更多功。
在某些實施例中,配套系統450基於移動該組物品之一彙總成本(例如,用於移動該組物品中之個別物品之各別成本之一總和)而判定目的地位置。可將目的地位置判定為與用於移動一物品或一組物品之一經最佳化/經最小化成本對應之一容座。該成本可使用一預定義成本函數來判定。基於一經最佳化/經最小化成本而對目的地位置之判定可受制於一或多個條件,諸如有限空域、碰撞避免、用於配套該組物品之最大時間等。可在判定目的地位置及/或判定用以配套一組物品之一計劃時使用各種其他條件。
在某些實施例中,配套系統450基於該組物品將被移動之距離(例如,用於移動該組物品中之個別物品之各別距離之一總和)而判定目的地位置。可將目的地位置判定為與用於移動一物品或一組物品之一最短距離對應之一容座。基於一最短距離而對目的地位置之判定可受制於一或多個條件,諸如有限空域、碰撞避免、用於配套該組物品之最大時間等。可在判定目的地位置及/或判定用以配套一組物品之一計劃時使用各種其他條件。
在某些實施例中,配套系統450包含控制電腦482。在所展示之實例中,配套擱架系統454、輸送機466、輸送機468及機器人臂452及/或托架462之操作在控制電腦482之控制下以一協調方式進行操作。在所展示之實例中,控制電腦482與控制器(圖4C中未展示)進行通信(例如,無線通信),每一控制器經組態以控制構成配套系統450之一對應元件(例如,配套擱架系統454、機器人臂452、輸送機466、輸送機468、托架462及/或容座源(未展示))之操作。雖然在圖4C中展示無線連接,但在各種實施例中,可使用有線連接或有線連接與無線連接之一組合。
在圖4C中所展示之實例中,機器人臂452具有對應於一個兩指夾持器之一末端執行器。在各種實施例中,機器人臂452包含一或多個其他及/或不同類型之末端執行器/擷取工具,包含但不限於:具有三個或多於三個指之一夾持器;包含具有與如所展示的不同之屬性之若干指(例如,加襯墊指、較小指、較大指等)之一夾持器;及/或並非係一夾持器之一擷取工具,諸如經組態以使用吸力、摩擦力、靜電力、磁力等拾取物品之擷取工具。在某些實施例中,機器人臂452之夾持器可與一或多個不同末端執行器互換,此取決於一待擷取物品之一或多個屬性,例如重量、脆度、可壓縮性、剛度、大小、形狀等。在某些實施例中,機器人臂452之夾持器可用於擷取並使用不同末端執行器(例如,夾持器固持之工具)來拾取及放置物品,此(舉例而言)取決於待擷取物品之一或多個屬性。可至少部分地基於自一或多個感測器(諸如相機480)獲得之資訊而判定物品之一或多個屬性。
在各種實施例中,控制電腦482經組態(例如,藉由運行於控制電腦482上之軟體)以接收與一發票、訂單、零件清單、揀貨清單或將被擷取並包裝在一起之物品之其他清單相關聯之資料;判定用以履行擷取及包裝所需物品之一策略/計劃;且協調地操作配套系統450之元件(例如,配套擱架系統454、輸送機466及輸送機468以及機器人臂452及/或托架462)以履行要求。在某些實施例中,配套系統450包含複數個配套擱架系統及/或複數個機器人臂,且一或多個控制電腦經控制以協調/操作配套系統450之元件。
舉例而言,在某些實施例中,控制電腦482經組態以接收待包裝物品之一清單。控制電腦482判定哪些物品與配套擱架系統中之哪一者相關聯(或哪些物品與諸如配套擱架系統454之一配套擱架系統之一特定擱架相關聯)且做出用以擷取及包裝物品之一計劃。在某些實施例中,電腦482控制一箱子裝配機器(未展示)或一容座源模組,且將一容座存放於輸送機466或輸送機468上並控制輸送機466或輸送機468以使容座前進至將被裝載有一第一一或多個物品之一位置。控制電腦482視需要控制托架462及/或機器人臂452來定位機器人臂452以自相關聯的一配套擱架系統(或配套擱架系統454之一擱架456、458及/或460)擷取第一一或多個物品。控制電腦482可控制配套擱架系統454,(例如)以確保所需數量之所需物品呈現於最接近於輸送機468及機器人臂452之配套擱架系統454之末端處之拾取區帶(例如,一展示面) (或配套擱架系統454之一擱架456、458及460)中。控制電腦482控制機器人臂452以自對應拾取區帶擷取物品且在繼續向前移動以執行對需要包含於彼特定套件中之任何進一步物品之經協調擷取與包裝之前將物品放置於容座(例如,容座472或容座470,若適用)中。回應於所有物品已被擷取及包裝(例如,根據用於配套一或多個物品之一計劃)之一判定,控制電腦482控制輸送機468以使容座(例如,容座472或容座470,若適用)前進至圖4C中未展示之一下一履行級(例如,在其處將箱子密封、加標籤並發送以被裝運之一站點)。
在圖4C中所展示之實例中,配套擱架系統454包括經組態以(例如)由人類工作者、機器人及/或其他機器或其某一組合自一後端(上部/左側,如圖4C中所展示)進行裝載之成角度擱架或成角度輸送機(例如,擱架456、458及460)。物品可被掃描、由電腦視覺等進行辨識以判定並在控制電腦482上儲存與物品及/或物品類型或者與每一配套擱架系統相關聯之其他物品屬性相關聯之資料。在各種實施例中,不同類型之配套擱架系統之一混合可包含於一配套系統(諸如系統450)中。舉例而言,在圖4C中被展示為經由配套擱架系統454而供應之物品可在某些實施例中經由滾動物品之一固定坡道而供應。在某些實施例中,一配套擱架系統可包括用以將物品供應至一相關聯拾取區帶之複數個結構及機構中之任一者,包含但不限於具有複數個毗鄰輥之一重力類型輸送機、一斜坡、一輸送機帶、一組旋轉貯存箱等。
在某些實施例中,配套擱架系統454包括一或多個閘控機構,該一或多個閘控機構控制去往成角度擱架或成角度輸送機(例如,擱架456、458及460)或者在其內之物品輸送。一或多個閘控機構可結合一或多個物品之配套(例如,由一機器人臂擷取物品並將物品放置至一(若干)對應容座中)而控制一或多個物品至配套擱架系統之一或多個展示面之輸送。一或多個閘控機構可由控制電腦482控制或者一或多個閘控機構可經組態以機械地操作(例如,無需一控制電腦干預)。在各種實施例中,一或多個閘控機構至少部分地基於一計劃(例如,用於至少部分地基於一訂單而對一物品進行配套之一預定計劃)而控制一或多個物品之輸送。
在各種實施例中,配套系統450藉由使控制電腦482透過自動化處理、手動組態及/或其一組合而判定每一配套擱架系統(例如,配套擱架系統454)及與每一配套擱架系統相關聯之物品之放置、類型、能力等而被初始化。另外,配套系統450之元件可向控制電腦482註冊。註冊可包含准許一元件(諸如配套擱架系統中之每一者)進入一控制網路。在某些實施例中,可執行操作測試。舉例而言,控制電腦482可(諸如)藉由以各種速度在向前及向後方向上操作一配套機器(諸如配套擱架系統454)之輸送機帶等而測試用以控制一新註冊元件之一能力。可針對圖4A之系統400及/或圖4B之系統425而實施此元件註冊。
在各種實施例中,配套系統450之元件可被添加、移除、換出等。在此一例項中,舉例而言,控制電腦482初始化並註冊新元件、執行操作測試,且開始/恢復配套操作、併入新添加之元件。
進一步參考圖4C,在所展示之實例中,配套系統450包含經組態以擷取包括於配套系統450中之元件之影像(例如,視訊影像)之一相機480 (例如,一視訊相機)。相機480可為獲得與工作空間(例如,對應於配套系統450之工作空間)有關之資訊之複數個感測器中之一者。舉例而言,相機480可為由控制電腦482使用以控制構成配套系統450之元件之複數個感測器中之一者。舉例而言,在所展示之實例中,由相機480產生並被發送至控制電腦482之視訊可由控制電腦482使用以控制包括於配套擱架系統454中之輸送機帶及/或配套擱架系統454中之一閘控機構之速度及/或方向,以確保足夠且不過多數目之物品可用於拾取區帶(例如,配套擱架系統454之一展示面)中及/或定位或重新定位物品以由機器人臂452擷取。另外,可使用相機480及/或其他相機及/或其他感測器來促進機器人臂452拾取一物品及/或將物品放置於其容座(例如,箱子)中。在各種實施例中,複數個相機可部署於若干個位置中(包含在環境中及在構成系統450之各別元件上),以促進自動化(且若需要,則人類輔助之)配套操作。在各種實施例中,可部署除相機之外的感測器,包含但不限於接觸或限位開關、壓力感測器、重量感測器及諸如此類。
在各種實施例中,一或多個感測器被安置於機器人臂之一底盤,或機器人臂被安置於上面之一機器人結構之一底盤上。系統450可包含經操作地連接至一或多個感測器(例如,一或多個相機)或經安置於該一或多個感測器附近的一或多個加速度計。控制電腦可至少部分地基於由一或多個加速度計獲得之資訊來獲得與工作空間有關的影像資料。在某些實施例中,一或多個感測器可包括一掃描器,該掃描器在物件自物品移動至預定結構時獲得與物件上之一標籤或識別符有關的資料。
在各種實施例中,一或多個感測器(例如,相機480)用於擷取關於與配套擱架系統454相關聯之物品的資訊。舉例而言,相機480可擷取擱架456、擱架458及/或擱架460上之一或多個物品之一影像。作為另一實例,若一擱架456、擱架458及/或擱架460上之一物品係一托盤或其他容座,則相機480可擷取與托盤內之物件有關的資訊。控制電腦482可使用與工作空間有關之資訊來判定一計劃,及/或控制機器人臂452之操作以自配套擱架系統454拾取一物品(或來自物品內之一物件)。控制電腦482可結合判定擱架456、擱架458及/或擱架460上之一托盤內之一物件之一位置、托盤內之物件之一數量、托盤內之物件之一類型、托盤內之一或多個物件之一定向等來使用與工作空間有關的資訊。
在各種實施例中,控制電腦482經程式化以至少部分地基於機器人臂452及經包括於配套系統450中之其他元件(例如,配套擱架系統454、輸送機466及/或輸送機468、一容座源模組(例如,一箱子裝配機器) (未展示)、機器人臂452及/或托架462)之一模型來判定用以履行一配套要求之一計劃。在各種實施例中之各別模型反映每一各別元件之能力及限制。舉例而言,配套擱架系統454之擱架456、458及460在此實例中位於固定位置中,但每一擱架具有可能夠在向前及向後方向上及/或以不同速度移動之一輸送機帶。另外,控制電腦482可使用結合初始化及/或組態(例如,哪些物品位於哪一配套擱架系統上之哪一(些)位置上(或位於哪一配套擱架系統之哪一擱架上)、每一配套擱架系統及/或其相關聯拾取區帶(例如,展示面)位於何處等)而儲存之資訊,以判定用以履行一要求之一計劃。另外,控制電腦482可使用至少部分地基於感測器資料(諸如由相機480擷取之視訊)而判定之資料,以做出用以履行一要求之一計劃。
根據各種實施例,透過使用一動態配套方法或系統來改良來自一或多個配套擱架系統之物品的配套,該動態配套方法或系統使用待單個化物品之一屬性及工作空間內之另一物品(例如,輸送機上之一物品及/或容座)之一屬性中之一或多者來判定用於配套一物品的一路徑或軌跡。動態配套方法或系統可包含回應於偵測待配套物品之一屬性及工作空間內之另一物品(例如,輸送機上之一物品)之一屬性中之一或多者而對用於配套一物品之路徑或軌跡進行一更新。動態配套方法或系統可包含回應於判定工作空間之一屬性結合配套一物品(或來自配套擱架系統上之一物品之物件)而對一物品自一配套擱架系統之一饋送器部分至配套擱架系統之一展示面的輸送進行一更新。結合更新用於配套物品/物件之計劃而使用之工作空間的屬性可包含待配套之一物品/物件之一屬性、一物品內之物件(例如,一配套擱架系統上之一托盤)之一數量、輸送機之一速度、與輸送機上之一容座相關聯之一特性、配套擱架系統上之物品之一定向、配套擱架系統之一展示面之一定向等。在某些實施例中,配套系統450 (例如,控制電腦482)在配套期間基於工作空間之一情境(例如,物品之一狀態或條件、物品之一性質、工作空間內之另一物品、輸送機468之一速度、容座472或容座470之一識別符等)來動態地更新用於配套物品的計劃。
在各種實施例中,控制電腦482經組態以制定及/或更新或重新制定用以履行一要求之一計劃,且藉由採用策略來進行已被程式化至控制電腦482中及/或由該控制電腦學習之一(下一)任務或子任務而實施或嘗試實施該計劃。實例包含但不限於用以基於物品之屬性(剛度、脆度、形狀、定向等)而使用機器人臂452來拾取一給定物品(或來自一配套擱架系統之一展示面上之一物品之一物件)之策略。在某些實施例中,控制電腦482經程式化以使用一第一(例如,較佳或最佳)策略來嘗試執行一任務(例如,利用機器人臂452拾取一物品),且若第一策略失敗,則判定並使用一替代策略,若一個替代策略係可用的話(例如,使用機器人臂452來輕推物品(或物件)然後再次嘗試,稍微向前及/或向後操作配套擱架系統454 (或配套擱架系統之一擱架)之輸送機或其他工具且再次嘗試等)。可至少部分地基於與成功拾取及放置物件等之一可能性相關聯之一模型而判定較佳或最佳策略。
在圖4C中所展示之實例中,控制電腦482連接至由一人類操作者486操作之一隨選遙操作裝置484。儘管在圖1中,遙操作裝置484由一人類操作者486操作,但在某些實施例中,遙操作裝置484可由一非人類操作者(諸如一高技能機器人)操作。在各種實施例中,控制電腦482經組態以至少部分地基於由控制電腦482進行的對於控制電腦482不具有用以透過完全自動化操作來繼續/完成一配套操作及/或其一組成任務之一可用策略之一判定而調用隨選遙操作。舉例而言,一物品掉落於一位置中,機器人臂452無法自該位置擷取該物品;或者,已嘗試拾取一物品達所規定最大嘗試次數且尚未成功擷取該物品;一末端執行器的操作偏離一所定義正常操作(例如,若一吸力杯損壞)等。基於此一判定,控制電腦482向隨選遙操作裝置484發送一警告或其他通信,從而提示人類操作者486使用遙操作裝置484來操作配套系統450之一或多個元件—例如,配套擱架系統454 (或擱架456、458及/或460)、輸送機466及/或輸送機468、一容座源模組(例如,一箱子裝配機器) (未展示)、機器人臂452及/或托架462中之一或多者來至少執行配套系統450在由控制電腦482之完全自動化控制下不能夠完成之任務或子任務。
遙操作裝置484之實例包含但不限於一平板電腦或具有用以控制系統450之元件之一圖形使用者介面之其他行動裝置、一桌上型電腦或具有連接至其以遠端地操作系統450之元件之一或多個輸入裝置之其他電腦等。
儘管在某些實施例中,控制電腦482調用隨選遙操作,但在某些實施例中,一人類操作者(諸如操作者486)可(例如)經由由相機480產生之一視訊回饋而監視配套系統450之自動化操作,且若人類操作者判定需要進行干預或輔助,則可進行干預以藉由遙操作而操作系統450之元件。
在各種實施例中,遙操作裝置484及/或人類操作者486可遠離配套系統450位於其處之一實體位點而定位且(主要)以一完全自動化模式進行操作。類似地,控制電腦482可遠離系統450之其他元件位於其處之位點而定位及/或本文中所闡述之如由控制電腦482執行之工作之一部分可由遠離彼位點而定位之一電腦執行。
在各種實施例中,控制電腦482經組態以學習新的或經改良策略來採用配套系統450之元件執行配套操作。舉例而言,在某些實施例中,控制電腦482經程式化以記錄由一人類操作者(486)經由遙操作(484)進行之動作且視情況更新其模型、策略等以能夠重複及/或模仿人類操作者之動作來執行需要遙操作之任務或子任務。
在各種實施例中,控制電腦482經組態以在遙操作期間繼續評估其是否具有用以恢復對當前要求之自動化履行之一可行計劃及/或策略。若如此,則控制電腦可經組態以主動地或藉由建議人類操作者可將控制返回至控制電腦482而恢復自動化操作。
儘管在圖4C中所展示之實例中,容座(例如,容座470及/或容座472)由對應輸送機(例如,輸送機466或輸送機468)移動至與配套擱架系統或機器人臂相對之連續位置中,但在其他實施例中,容座可由對應輸送機或者在某些實施例中手動地或由除對應輸送機之外的一機器放置於一單個中心位置中,且可藉由將機器人臂452移動至一或多個位置中以自配套擱架系統(或配套擱架系統之擱架,諸如擱架456、458及460)接達並拾取物品,並將物品放置於對應容座(例如,容座470及/或容座472)中。
儘管在圖1中展示且在本文中參考圖4C及其他圖闡述一「配套」操作,但在各種實施例中,如本文中所揭示之配套系統(及配套擱架系統)以及整合式系統可用於執行反向操作,例如,藉由向擱架、貯存箱及/或配套機器貯存有自一最初滿的或部分滿的物品箱子移除之物品。舉例而言,在圖4C中所展示之實例中,對應容座(例如,容座470及/或容座472)可包含與配套擱架系統454相關聯之複數個物品,且機器人臂452可用於自容座470移除物品並將物品放置於配套擱架系統454上(例如,如所展示自後端或供應端)。在某些實施例中,一機器人臂向一擱架之一饋送器部分或一配套擱架系統之一饋送器部分提供物品(例如,貯存物品)。
在某些實施例中,位於一配套擱架系統(諸如配套擱架系統454)上或者位於由如本文中所揭示之一配套系統接達或包括於該配套系統中之一擱架上之物品可為包括將被「配套」之物件之貯存箱或托盤。在某些實施例中,系統(例如,圖4C之配套系統450)經組態以(例如)基於電腦視覺或其他感測器及/或技術而偵測到一貯存箱係空的,且藉由使用一機器人臂來拾取貯存箱並將該貯存箱放置於一對應空的貯存箱位置(例如,一附近空的貯存箱堆疊等)中而自配套系統或擱架清除該貯存箱。在某些實施例中,自動化貯存箱清除騰出空間以使非空的一下一貯存箱移動至配套機器或擱架上之位置中,從而使得一機器人臂能夠自貯存箱接達並拾取物品。在某些實施例中,回應於判定一貯存箱/托盤係空的,一機器人臂(例如,機器人臂452)自配套擱架系統454之對應擱架移除貯存箱/托盤且使用空的貯存箱/托盤作為用於配套其他物品/物件之一後續容座。舉例而言,機器人臂452可自一擱架拾取一空的貯存箱/托盤且將該空的貯存箱/托盤放置於輸送機466及/或輸送機468上以供用作一容座。
在各種實施例中,如本文中所揭示之一機器人系統(例如)藉由諸如控制電腦482之一控制電腦之操作而包含及/或進行以下各項中之一或多者:   ·藉由合併來自多個感測器(包含2D相機、3D (例如,RGBD)相機、紅外線及其他感測器中之一或多者)之資料以產生包含一或多個配套擱架系統(其可相應地包含配套擱架系統之一或多個擱架)之一工作空間之一個三維視圖而產生電腦視覺資訊。機器人系統判定工作空間之三維視圖中之物品及/或碎片或其他異常之特性。   ·機器人系統協調多個機器人之操作以避免碰撞、相互妨礙以及與另一機器人爭相拾取同一物品及/或將一物品放置於同一目的地位置(例如,輸送機上之容座)中。機器人系統協調在同一工作空間內操作之複數個機器人之操作以執行關於複數個物品/物件之配套(例如,對不同容座中或同一容座內之物品進行配套)。作為一實例,在各種實施例中,複數個機器人獨立地操作以拾取及放置物品。作為另一實例,複數個機器人進行操作以獨立地拾取及放置針對不同訂單之物品(例如,將不同組物品放置於不同容座中)。若偵測到一碰撞風險,則採取回應動作以確保複數個機器人在單個化期間不彼此碰撞。   ·機器人系統協調多個機器人之操作以確保將所有物品放置於對應容座中。舉例而言,若機器人A掉落一物品,則系統委派任務給機器人B以拾取該物品;被放置但係以不適當定向之物品由同一或另一機器人來拾取並調整或移動至另一位置;將針對不同訂單之兩個或多於兩個物品放置於一單個容座中致使一下游機器人自容座拾取該兩個或多於兩個物品中之一者且將該物品放置於一新的容座中等。   ·機器人系統不斷更新針對每一機器人及所有機器人一起之運動計劃以達成一所需共同處理量(例如,最大化共同處理量,以達到一預定義之共同處理量臨限值等)。回應於判定兩個或多於兩個機器人在根據其用於配套物品之各別計劃而移動之情況下已碰撞或將碰撞,機器人系統實施一主動量測以確保該兩個或多於兩個機器人避免碰撞或以其他方式重設該兩個或多於兩個機器人之獨立操作。   ·回應於兩個機器人被獨立地委派任務以獲取同一物品之一判定,系統隨機選擇一個機器人來獲得彼物品且另一機器人移動至下一物品(例如,識別、選擇、判定抓取策略、拾取、根據計劃移動以及放置)。   ·機器人系統可管理複數個機器人之獨立操作以確保機器人在不同時間選擇物品以避免由兩個不同機器人選擇同一物品以用於單個化。   ·視需要控制輸送機移動及/或速度以達成一所要機器人生產率(處理量)且准許機器人有充足時間來將一物件放置至所要容座中。   ·回應於一物品被錯放或掉落之一判定,系統指派一機器人或(若需要)一人類工作者來拾取被錯放物品且將該物品放置回適用配套擱架系統中(例如,經由饋送器部分放置回一擱架上)或者若可用或更佳地,放置回輸送機上之一容座上。   ·控制上游機器人以有意地使某些容座打開,以便使下游機器人將物品放置於輸送機上(例如,對應容座中)。   ·控制下游機器人以校正來自一上游將一物品放置於輸送機上之一容座中之錯誤(例如,校正擱放於多於一個容座(諸如一托盤)中或擱放於除了適用容座之外的輸送機上之一物品之放置,用針對物品或套件/訂單之一識別符與上游機器人在其中放置物品之容座之間的一關聯來更新一資料結構等)。   ·無法由同一或另一機器人校正之失敗產生一警告,該警告經傳遞以獲得人類(或其他機器人)干預來進行解決。   ·回應於一握力(例如,由末端執行器獲得之一壓力)係異常(例如,小於在正常操作期間之預期)之一判定,執行一診斷程序,該診斷程序包含測試一預定義表面上之握力並結合判定關於末端執行器是否有必要進行補救動作。   ·移動/移除工作空間內之碎片或重新組態一待配套物品(例如,改良自擱架或擱架之展示面成功地拾取物品並將該物品放置於輸送機上(諸如輸送機上之一容座中)之可能性)。   ·使用來自工作空間環境狀態系統之感測器資料來偵測經選擇用於配套之物品之一或多個特性(例如,屬性),回應於一主動量測之實施而判定預期改良對物品之抓取或釋放,且實施主動量測以改良對物品之抓取或釋放。   ·使用感測器資料來判定機器人臂已抓取複數個物品結合對該等物品中之一者進行配套,判定用於釋放複數個物品之一計劃以便將每一物品單獨放置於輸送機上之一或多個容座中之一對應位置中或將物品中之一者放置回配套擱架系統之擱架/展示面上(例如,判定用於操作末端執行器之一策略以在與複數個物品之一第二子集不同之一時間釋放複數個物品之一第一子集)。   ·基於一物品之一屬性(例如,選定物品之一大小、物品之一重量等)及/或輸送機上之一容座內之一物品之一或多個屬性(例如,特性)而選擇用於將該物品配套至輸送機上之一容座之一路徑。   ·判定機器人臂之一移動及速度,該機器人臂至少部分地基於一輸送機帶之一速度而自配套擱架系統拾取一物品並將該物品放置於適用容座中。   ·至少部分地基於物品之一特性、工作空間環境之一特性及/或輸送機之一特性(例如,輸送機帶之一速度)中之一或多者而判定待配套物品之一軌跡。   ·判定與一待配套物品之一或多個路徑/軌跡對應之成功配套之一機率,且基於對應成功機率而選擇將沿著其對物品進行配套之一路徑/軌跡。   ·判定一機器人臂及/或機器人臂之一末端執行器之一定位以獲得一成功抓取(例如,如基於一抓取成功機率、物品之一封裝類型、物品之一尺寸、關於一臨限值之一預期握力等所判定)。末端執行器之定位可包含控制機器人臂或機器人臂之一腕部來進行移動以使末端執行器與物品之一表面正交。   ·更新機器人系統偵測一空的容座之能力。舉例而言,隨時間更新由機器人系統用於識別一空的容座之一空的容座之定義。
圖5A係圖解說明根據各種實施例之用以堆棧及/或解堆棧物品之機器人系統之一實例的一圖式。在圖5A中所圖解說明之實例中,系統500包括一機器人臂505,該機器人臂自諸如輸送機510及/或輸送機515之一或多個輸送機堆棧/解堆棧一或多個物品。
根據各種實施例,系統500包括複數個輸送機或其他位置,可結合堆棧/解堆棧而相對於該複數個輸送機或其他位置移動物品。在圖5A中所圖解說明之實例中,系統500包括輸送機510及輸送機515。輸送機510與輸送機515具有不同對應高度—舉例而言,輸送機510具有比輸送機515小的一高度。結合相對於托板535而堆棧/解堆棧物品,機器人臂505向/自輸送機移動物品。在某些實施例中,至少部分地基於輸送機之一屬性而判定結合堆棧/解堆棧所使用之輸送機。輸送機之屬性之實例包含輸送機之高度、輸送機之相對高度、一堆疊高度臨限值等。可結合判定用於相對於托板535而堆棧/解堆棧物品之一計劃/策略來使用與輸送機有關之各種其他屬性。系統500之一控制電腦(未展示)可至少部分地基於與向/自對應輸送機移動一物品相關聯之一所判定成本而判定將結合堆棧/解堆棧一物品(或一組物品)來使用之輸送機。在圖5A中所圖解說明之實例中,機器人臂505正將物品自一輸送機(例如,輸送機510)移動至一托板535。系統500可判定與將物品520自輸送機510移動至托板535 (例如,沿著路徑525)相關聯之一成本小於與將一物品自輸送機515移動至托板535 (例如,沿著路徑530)相關聯之一成本。
在某些實施例中,在沿著一輸送機發送一物品以由機器人臂505進行堆棧之前,系統500判定與將物品520自輸送機510移動至托板535相關聯之一成本,及與將一物品自輸送機515移動至托板535相關聯之一成本。可基於以下各項而判定將物品自輸送機510及515移動之各別成本:托板535上之物品堆疊之一當前狀態及/或在預期物品將在機器人臂505之範圍內被攜載之前的物品堆疊之一預期狀態及/或機器人臂505將物品自輸送機移動至托板535之一預期時間。回應於判定與將物品自輸送機移動至托板相關聯之成本,系統可基於輸送機與將物品移動至托板535之一較低成本對應而判定將沿著其攜載物品之此輸送機(例如,源位置)。回應於判定源位置,系統500將物品提供於對應輸送機(輸送機510)上。在某些實施例中,將一物品自一輸送機移動至一托板之成本係源位置(例如,輸送機)與目的地位置(例如,托板535上或托板535上之堆疊上之一位置)之間的一距離。可將該距離判定為源位置與目的地位置之間的歐幾裡得距離。
在某些實施例中,基於與一堆疊高度臨限值相比的托板之堆疊之一狀態而判定將沿著其將物品攜載至機器人臂505之輸送機。作為一實例,可將堆疊高度臨限值預設為一最大托板高度之中點。使用圖5A中所圖解說明之實例,在一堆疊(或堆疊上之物品之一預期目的地位置)之一高度低於堆疊高度臨限值之情形中,回應於系統500判定一堆疊(或堆疊上之物品之一預期目的地位置)之高度低於堆疊高度臨限值,系統500判定沿著輸送機510提供物品(例如,彼輸送機510對應於關於此物品之源位置)以進行堆棧。相反,在某些實例中,在一堆疊(或堆疊上之物品之一預期目的地位置)之一高度高於堆疊高度臨限值之情形中,系統可判定沿著輸送機515提供物品以進行堆棧。在解堆棧之實例中,若一堆疊之高度高於堆疊高度臨限值,則系統500可判定輸送機515將係目的地位置;且若一堆疊之高度低於堆疊高度臨限值,則系統500可判定輸送機510將係目的地位置。在某些實施方案中,結合堆棧所使用之堆疊高度臨限值可與結合解堆棧所使用之堆疊高度臨限值相同。在某些實施例中,針對堆棧之堆疊高度臨限值與針對解堆棧之堆疊高度臨限值不同。
圖5B係圖解說明根據各種實施例之用以堆棧及/或解堆棧物品之機器人系統之一實例的一圖式。在圖5B中所圖解說明之實例中,系統500包括位於托板535上之一堆疊,該堆疊比圖5A中所圖解說明之位於托板535上之堆疊相對高。
結合物品540之堆棧/解堆棧,系統500可判定向/從中移動物品540之輸送機。對將結合堆棧/解堆棧使用之輸送機之判定可至少部分地基於輸送機之一屬性,諸如輸送機之一高度(或輸送機相對於一堆疊高度臨限值550之高度)。
在某些實施例中,系統500可判定向/自輸送機515 (例如,沿著路徑542)移動物品540之成本係少於向/自輸送機510 (例如,沿著路徑545)移動物品540之成本。回應於判定向/自輸送機515移動物品540之成本係最小成本(或至少小於向/自輸送機510移動物品之成本),系統500結合物品540之堆棧/解堆棧而使用輸送機515。
在某些實施例中,系統500可使用輸送機與托板535上之堆疊之間的一距離(例如,一歐幾裡得距離)作為用於判定將結合物品540之堆棧/解堆棧使用之輸送機之一基礎。舉例而言,輸送機515上之物品與托板535上之堆疊上之位置之間的距離小於輸送機510上之一位置與托板535上之堆疊上之位置之間的距離。因此,系統500可判定將結合物品540之堆棧/解堆棧使用輸送機515。
在某些實施例中,系統500可至少部分地基於托板之一堆疊之一當前狀態(或在物品將被移動時堆疊之預期狀態)、一堆疊高度臨限值550以及輸送機之一屬性(例如,輸送機之一高度、輸送機之一相對高度等)而判定將在物品540之堆棧/解堆棧中使用之輸送機。在圖5B中所圖解說明之實例中,托板535上之物品堆疊之高度大於堆疊高度臨限值550。因此,系統500可判定向/自輸送機515移動物品。相反,若托板535上之物品堆疊之高度低於堆疊高度臨限值550,則系統500可判定向/自輸送機510移動物品(例如,基於輸送機510具有比輸送機515低的一高度等)。
根據各種實施例,機器人系統儲存一預定義最大托板高度。在某些實施方案中,預定義最大托板高度係介於1.5 m與2.1 m之間。在某些實施方案中,預定義最大托板高度係1.5 m。在某些實施方案中,預定義最大托板高度係2.1 m。最大托板高度可由一使用者/管理者組態或者可至少部分地基於機器人臂之長度或機器人臂在其處可將一物品準確及/或穩定地定位於一堆疊上之一高度(例如,機器人臂在其處可鉸接/定向機器人之一腕部使得末端執行器(例如,在一基於吸力杯之末端執行器之情形中等)與地面正交之一最大高度)而判定。可至少部分地基於預定義最大托板高度而設定一或多個高度臨限值,且可結合判定將用於拾取及/或放置物品之輸送機而使用該一或多個高度臨限值。舉例而言,可將一第一高度臨限值設定為係預定義最大托板高度之三分之二(2/3)之一高度。回應於判定托板(例如,托板535)上之堆疊之高度超過第一高度臨限值,系統可結合拾取及/或放置一物品而使用具有一較大高度之輸送機(例如,輸送機515)。作為另一實例,可將一第二高度臨限值設定為係預定義最大托板高度之三分之一(1/3)之一高度。回應於判定托板(例如,托板535)上之堆疊之高度低於第二高度臨限值,系統可結合拾取及/或放置一物品而使用具有一較小高度之輸送機(例如,輸送機510)。在某些實施例中,回應於判定堆疊之一高度係介於第一高度臨限值與第二高度臨限值之間,系統可結合拾取及/或放置一物品而使用輸送機510或輸送機515 (例如,系統可使用一成本函數中之其他變數(諸如距目的地位置之一距離等)來判定高度)。可使用其他相對高度來設定第一高度臨限值及/或第二高度臨限值。在某些實施方案中,將第一高度臨限值設定為係預定義最大托板高度之四分之三(3/4)及/或將第二高度臨限值設定為係預定義最大托板高度之四分之一(1/4)。在某些實施例中,可至少部分地基於相對於各種輸送機之一距離(例如,一行進距離)以及對應輸送機高度而預設第一高度臨限值及第二臨限值。
圖6A係圖解說明如裝配於用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板之一實例之一圖式。在各種實施例中,在圖6A中展示為堆疊於托板602上之物品可已根據如圖2A之程序200中之一電腦判定(及/或更新)之計劃由一機器人系統(諸如圖1之系統100及/或圖4A之系統400)進行堆疊。
在所展示之實例中,將物品604、606及608堆疊於一第一(最底部)層中,其中物品610、612、614及616堆疊於在物品604、606及608之頂部上之一層中。物品618及620已被堆疊於頂部上。
在各種實施例中,如所展示之物品可已基於物品識別及/或屬性(例如,如基於影像、重量及/或其他感測器資料所判定及/或量測)而被選擇並指定為如圖6A中所展示而放置。舉例而言,物品604、606及608可已基於其(相對)大小、重量、剛度、強度及/或(物品及/或封裝之)其他能力指示而如所展示被放置於底部層中,以支撐堆疊於頂部上之重量。
在各種實施例中,藉由應用一或多種啟發法、演算法或其他工具及/或技術而判定每一物品之放置、定向等。舉例而言,至少部分地藉由判定整個托板內及/或當前被堆疊及/或配置之一層中之一位置而添加每一物品以便提供一相對(更)扁平頂部表面以形成一下一層之基礎、最小化堆疊表面面積、最小化當前層周界等。在各種實施例中,可使用以下啟發法中之一或多者:放置下一物品以將質心維持接近於托板之中心;針對後續物品維持機器人臂之一清晰運動路徑;維持相機對所有頂部層箱子或未裝箱物品之可見性等。在某些實施例中,可結合判定與一物品堆疊之穩定性有關之一值等而使用前述啟發法中之一或多者。
在所展示之實例中,物品610及612係圓的(至少在剖面中),且在某些實施例中,將在選擇放置該等物品之一位置時考量該等物品之形狀。舉例而言,可在一層之邊緣或末端上之一位置上選擇其中物品610及612受其他毗鄰物品約束之一內部位置(如圖6A中所展示)。
在各種實施例中,可基於諸如其重量(或密度)、支撐堆疊於其頂部上之重量之能力等一或多個屬性而選擇將物品618及620放置於頂部上。
圖6B係圖解說明如裝配於用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板之一實例之一圖式。在此實例中,省略包含於如圖6A中所展示之實例中之物品614。在各種實施例中,用以堆疊如圖6B中所展示之物品之一計劃可由一控制電腦(諸如圖1之控制電腦118或包括於圖4A之系統400中之一控制電腦)產生。在所展示之實例中,一演算法生成之計劃可將堆疊於物品610、612上之物品618視為處於一穩定位置中。舉例而言,可不存在關於任何點或軸之所計算淨力矩將導致一控制電腦判定如所展示之位置係不穩定的。然而,在實踐中,在托板602上放置物品時與計劃之輕微偏離可導致物品618一旦被堆疊於物品610、612上(舉例而言)便不會處於一穩定位置中。在某些實施例中,用於放置物品618之一機器人臂及末端執行器(例如,吸力、夾持器)包含用以偵測不穩定性之感測器及邏輯。舉例而言,影像資料可被處理且可指示物品正向右傾斜,如所展示。或者,在釋放物品618之前,可使用末端執行器中之力感測器來偵測物品若被釋放則將係不穩定的。舉例而言,若物品在被壓下但尚未被釋放時歪斜(或不均勻地提供阻力),則在各種實施例中,系統判定物品係不穩定的。在某些實施例中,機器人系統諸如回應於獲得與堆疊或放置於堆疊上之物品之穩定性/不穩定性有關之資訊或者回應於放置物品等而動態地更新堆疊之模型。
在各種實施例中,偵測到非預期不穩定性觸發回應動作。舉例而言,可將其他物品(例如,如圖6A中之物品614)放置於適當位置中以進一步支撐不穩定之物品。或者,可將物品移位至一不同附近位置(例如,在所展示之實例中,緊貼在左側),以觀看物品是否將在新位置中係穩定的。或者,可將物品自堆疊移除並移動至一暫存區或集結區,在該暫存區或集結區中暫時儲存該物品直至機器人系統判定一較理想目的地位置為止(例如,當額外物品被堆疊於托板上且形成其中物品將較佳地施配或產生較佳穩定性之一空間時)。在各種實施例中,若自動化處理未能判定一解決方案,則可觸發人類干預(例如,經由遙操作、以手動方式等)。
圖7A係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板上之物品放置之一實例之一圖式。在所展示之實例中,一位置702已被判定為在毗鄰於先前所放置物品706之一位置中將一物品(圖6A中未展示)放置於一托板704上。舉例而言,位置702可已基於物品屬性(大小、重量、尺寸等)而被判定,如在圖2之210中。
圖7B係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板上之物品放置之一實例之一圖式。在所展示之實例中,物品708已被移動至在既定位置702處或其附近之一位置達到一個一階準確度。在此實例中,物品708具有一略微不規則之外部紋理,此可已導致在位置702處或其附近之物品之不完美拾取及/或放置。在某些實施例中,關於位置702、托板704、物品706及物品708中之一或多者所接收之影像資料及/或其他感測器資料之變化及/或不一致可已導致物品708之不完美放置,如圖7B中所展示。
圖7C係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板上之物品放置之一實例之一圖式。在所展示之實例中,物品708已被緊貼至在所計劃位置702處或其附近之一位置中達到一個二階準確度。在各種實施例中,使用諸如體現於一機器人臂及/或末端執行器中/上之力感測器之二階感測器來將一物品緊貼至一堆疊中之一更緊密適配之位置中。舉例而言,可使用機器人臂來將一物品(諸如物品708)緊貼至與毗鄰物品(例如,物品706)及/或其他結構(諸如側壁(舉例而言,在具有一或多個側壁之一托板或台車之情形中))更接近且(更完全)接觸之一位置。根據各種實施例,實施一機器學習程序以更新用於執行主動量測(諸如施加壓力以將物品緊貼至適當位置中)之策略及/或計劃。可回應於策略及/或計劃由一或多個機器人系統實施而動態地更新/改良機器學習程序。
在某些實施例中,一物品(諸如物品708)可較接近於毗鄰物品、側壁等緊貼且可導致該物品最終位於與原始計劃不完全一致之一位置中。在某些實施例中,緊貼放置在若干層內係期望且較佳的,從而藉由將毗鄰物品彼此耦合且(若適用)耦合至毗鄰結構(諸如側壁)而最大化可用空間之使用並最大化穩定性。
圖8A係圖解說明用以在一托板上放置一物品之一程序之一實施例之一流程圖。在各種實施例中,程序800由一控制電腦(諸如圖1之控制電腦118及/或圖4A之系統400之一控制電腦)執行以(例如)根據一計劃而拾取及放置連續物品。
在所展示之實例中,在810處,針對將被拾取及放置之一下一物品判定一目的地位置及用以到達該位置之軌跡。舉例而言,可判定一預定(例如,根據一計劃)及/或一動態判定之(例如,基於物品識別、感測器資料、先前所放置物品之位置等)位置以及將沿著其將物品移動至彼位置之一軌跡或路徑。在820處,使用一或多個一階感測器(例如,影像資料)來以一階準確度將物品移動至目的地位置(例如,如在圖7B中所展示之實例中)。在830處,使用一或多個二階感測器(例如,力感測器)來將物品緊貼至適當位置中(如圖7C中)及/或偵測不穩定性(如圖5B中)或其他非預期條件。若在840處將物品判定為已被成功地放置,則在810處,處理以一下一物品繼續進行,關於該下一物品執行程序800之一下一反覆。若在840處將物品判定為未被成功地放置(例如,物品如由影像資料所判定未處於預期位置中、物品不穩定、堆疊不穩定等),則在860處,系統經由自動化處理而再次嘗試以牢固地放置物品(例如,若用以嘗試進行此之一進一步策略係可用的),及/或調用人類干預(例如,經由隨選遙操作)直至在840處將物品判定為已被成功地放置為止。
在各種實施例中,如本文中所揭示之用以堆棧/解堆棧之一機器人系統經組態以做出及/或動態地更新用以放置及堆疊物品之一計劃。舉例而言,待放置之下一(些)物品可無法提前知曉,且可需要對計劃進行調整。舉例而言,若柔軟及/或易碎物品已被放置或被計劃放置於一較低層中且偵測到較重物品將到達(接下來),則可動態地調整計劃以對柔軟及/或易碎物品進行暫存(擱置於一集結區中),從而允許首先將較重物品放置於較低層級中。在某些實施例中,若柔軟及/或易碎物品已被放置(例如,放置於托板上),則可將該等物品移除至暫存(集結)區以允許將較重物品在該等物品之位置中放置於較低層級中。
根據各種實施例,一機器學習程序可結合更新用於判定目的地位置以及用於將物品放置於目的地位置處之軌跡及/或策略之程序或模型而使用。舉例而言,用於判定目的地位置以及用於將物品放置於目的地位置之軌跡及/或策略以較佳地反映成功的策略及/或不成功的策略之模型,包含策略及/或歷史資訊與受制於此策略之物品或者此一物品之一或多個屬性的一關聯。
圖8B係圖解說明用以判定用於在一托板上移動一物品之一計劃之一程序之一實施例的一流程圖。在某些實施例中,圖8B之程序810與圖8A之程序800之810對應並結合其來實施。程序810由一控制電腦(諸如圖1之控制電腦118及/或圖4A之系統400之一控制電腦)執行以(例如)判定用於拾取/放置一物品之一計劃。
在811處,獲得與一物品對應之一識別符。在某些實施例中,系統至少部分地基於由一或多個感測器獲得之資訊而獲得識別符。舉例而言,識別符可為一條碼、一QR碼、一近場通信標籤等。工作空間中之一或多個感測器(諸如在系統之一輸入處之一感測器(例如,掃描器))可獲得與識別符有關之資訊。在系統之輸入處之感測器可為位於將物品攜載至系統之一輸送機附近之一感測器。在某些實施例中,與物品對應之識別符係自一資料結構(諸如托盤或輸送機狹槽至物品及/或物品識別符之一映射)獲得。資料結構可已由一上游系統設定,該上游系統擷取物品並提供該等物品以用於堆棧。
在812處,判定與物品所屬於之一載貨單對應之一或多個托板。在某些實施例中,系統可結合判定物品所屬於之載貨單而使用與物品對應之識別符。舉例而言,系統可回應於 判定物品所屬於之載貨單而執行關於物品識別符至載貨單等之一映射之一查找,系統可判定與載貨單對應之一或多個托板。作為一實例,若物品之一載貨單包括充分大量之物品,使得載貨單上之所有物品並不適配於一單個托板上,則系統可判定可在上面放置物品之複數個托板(且仍滿足關於物品之載貨單之履行)。作為另一實例,若系統同步地在複數個托板上堆疊物品,則系統可判定該複數個托板中之哪些一或多個托板對應於載貨單。
在813處,判定與物品所屬於之載貨單對應之一或多個托板中之至少一者之一模型。根據各種實施例,系統獲得與載貨單對應之托板中之每一者之一模型。系統可獲得與載貨單對應之托板之模型且系統針對該模型主動地在托板上堆棧物品(例如,托板位於其中之預定義區帶並未暫停或並未設定為非活動的)。
在某些實施例中,系統可獲得與一托板有關之一經快取模型(例如,托板上之物品堆疊之一模型)。作為一實例,經快取模型可包括托板上之物品堆疊之一當前模型。作為另一實例,經快取模型可包括根據托板上之物品堆疊之一先前狀態之一模型。回應於經快取模型與托板上之物品堆疊之一先前狀態對應之一判定,系統可產生與托板上之物品堆疊之一當前狀態對應之一新的模型,或更新經快取模型以對應於當前狀態。
在某些實施例中,系統產生與物品所屬於之載貨單對應之一或多個托板中之至少一者的模型。系統可至少部分地基於由工作空間中之一或多個感測器(諸如獲得與托板位於其中之預定義區帶有關之資訊之一感測器)獲得之資訊而產生一托板上之一物品堆疊之一模型。
在814處,判定將在上面放置物品之一托板。在某些實施例中,至少部分地基於與托板有關之對應模型而判定將在上面放置物品之托板。若物品將被放置於托板上,則可結合評估一預期物品堆疊至少部分地基於一經更新模型或模擬而判定托板。在複數個托板與物品所屬於之載貨單對應之情形中,系統可基於物品最佳適配於一托板上(例如,物品堆疊上)等之一判定而選擇將在上面放置物品之該托板。
根據各種實施例,系統可至少部分地基於托板之一狀態及/或複數個托板之一狀態而判定將在上面放置物品之托板。系統可判定複數個托板中之一或多者上之一堆疊之一狀態,且至少部分地基於對物品針對其具有一最佳適配之一堆疊之一判定而判定將在上面放置物品之托板。對物品針對其具有一最佳適配之堆疊之判定可至少部分地基於堆疊之一穩定性、堆疊之一模型及/或包括物品(例如,在物品被放置於堆疊上之後)之堆疊之一模型、有待堆疊之一預期一或多個物品(例如,至少部分地基於一訂單及/或載貨單)等。可結合判定將在上面放置物品之托板而使用與物品有關之一或多個屬性或特性(例如,可結合將堆疊模型化及/或判定將物品放置於一堆疊上之何處而使用一大小、形狀、封裝類型、物品類型等)。
系統可結合判定是否將一物品放置於托板上(例如,堆疊上)且選擇用於將物品放置於托板上之一計劃(包含將在其處放置物品之一目的地位置、將沿著其將物品自一源位置(例如,一當前目的地,諸如一輸送機)移動至目的地位置之一軌跡)而產生托板之狀態之模型。系統亦可結合判定用於釋放物品或以其他方式將物品放置於托板上(例如,對物品施加一力以將物品緊貼於堆疊上)之一策略而使用模型。托板之狀態之模型化可包含模擬物品在托板上(例如,堆疊上)之不同目的地位置處之放置及判定預期由物品在不同位置處之放置所產生之對應不同預期適配度及/或預期穩定性(例如,一穩定性度量)。系統可選擇預期適配度及/或預期穩定性滿足(例如,超過)一對應臨限值之一目的地位置。另外或另一選擇係,系統可選擇最佳化(例如,堆疊上之物品之)預期適配度及/或(例如,堆疊之)預期穩定性之一目的地位置。
在815處,判定用於將物品移動至一目的地位置之一計劃。在某些實施例中,回應於判定將在上面放置物品之托板,系統判定托板上之將在其處放置物品之一目的地位置。系統亦可判定用於移動物品(諸如自輸入(例如,輸送機)拾取物品)並將物品放置於目的地位置處(例如,托板上)之一計劃。系統可至少部分地基於物品之一或多個屬性及/或托板之模型(例如,托板之一當前狀態/性質,諸如托板上之物品堆疊之一狀態)而判定用於移動物品之計劃。可至少部分地基於將物品自源位置移動至目的地位置之一預期成本(例如,沿著路徑/軌跡移動物品之成本)等而判定用於移動物品之計劃。在某些實施例中,用於移動物品之計劃至少部分地基於托板上之物品堆疊之一狀態及源位置之一屬性(例如,輸送機之一高度)。
圖8C係圖解說明用以判定將移動至一托板之一物品之一程序之一實施例的一流程圖。在某些實施例中,圖8C之程序811與圖8B之程序810之811對應並結合其來實施。程序811由一控制電腦(諸如圖1之控制電腦118及/或圖4A之系統400之一控制電腦)執行以(例如)判定用於拾取/放置一物品之一計劃。
在811a處,獲得一組待移動物品。舉例而言,系統可獲得針對該組待移動物品之一載貨單。載貨單可與將被提供給一客戶之一訂單或裝運等對應。載貨單可包含對應於各種待移動物品之識別符。
在811b處,獲得與將從中將物品移動至一托板之一源位置(或可能源位置)相關聯之一或多個屬性。該等屬性可包含一位置、一高度、一相對高度(例如,相對於一堆疊高度臨限值、托板之一當前或預期狀態等)等。可獲得源位置之各種其他屬性。
在811c處,獲得物品之至少一子集將被移動到的一組托板之一或多個狀態。在某些實施例中,可同步地(例如,並行或同時地)堆棧載貨單上之物品。獲得載貨單之物品可被移動到的可能托板之一狀態。一托板之狀態可為托板之一當前狀態,或托板之一預期狀態,諸如在一特定時間之托板之一狀態。用於判定托板之預期狀態之特定時間可為預期物品將被移動至托板之時間、在預期物品將到達機器人臂以進行堆棧時之一時間等。托板之狀態可對應於托板之一高度、托板上之堆疊之一模型或模擬、托板之一穩定性等。
在811d處,至少部分地基於源位置之一屬性及托板之一狀態而判定一待移動物品。在某些實施例中,系統至少部分地基於源位置之一屬性及托板之一狀態而判定來自載貨單之物品之一子集或集合將被堆棧之一次序。可至少部分地基於物品之一屬性(例如,高度)而進一步判定待移動物品。各種物品之屬性可結合判定移動物品使用以便計及移動物品之對應成本,及堆疊之一預期穩定性(例如,物品被堆棧之次序可影響堆疊之特性,諸如穩定性、密度等)。
圖9A係圖解說明針對與堆棧結合之機器人將一物品提供至一機器人之一程序之一實施例的一流程圖。程序900可由圖4之系統400實施。
在905處,獲得一組待移動物品。舉例而言,系統可獲得針對該組待移動物品之一載貨單。載貨單可與將被提供給一客戶之一訂單或裝運等對應。載貨單可包含對應於各種待移動物品之識別符。
在910處,獲得與該組物品中之一物品相關聯之一或多個屬性。作為一實例,可自屬性至物品之一映射(例如,屬性至物品識別符之一映射)獲得一或多個屬性。作為另一實例,可至少部分地基於感測器資料而獲得一或多個屬性。感測器資料可使用機器人系統之一工作空間內之一或多個感測器來獲得。
可結合判定提供物品之一次序及/或在判定將向其提供物品以用於堆棧之一源位置時使用各種物品之屬性。各種物品之屬性可用於計算將各種物品自不同源位置移動至一目的地位置(例如,托板上之堆疊上之一位置)之成本。在某些實施例中,各種物品之屬性用於模型化或模擬一物品堆疊之堆棧及/或判定與將物品移動至堆疊相關聯之堆疊之一或多個預期屬性。堆疊之預期屬性可包含一密度、一穩定性、一高度、一形狀或輪廓、一重心、一剛度等。
在915處,獲得一組源位置之一屬性,可經由該組源位置將物品提供至一機器人。舉例而言,如圖4A之系統400中所圖解說明,可使用複數個輸送機來將物品提供至機器人臂401。系統中之各種源位置(例如,輸送機)可具有不同屬性,且一特定位置之一屬性可結合判定一源位置而使用。一源位置之屬性可包含一位置(例如,相對於機器人之一相對位置、一絕對位置)、一高度、輸送機攜載物品之一速度、一相對高度(例如,相對於堆疊高度臨限值之一高度、相對於一托板上之堆疊之一當前高度之一高度)、在堆疊之當前/預期高度小於堆疊高度臨限值之情況下對是否使用該位置之一指示等。
在920處,選擇一物品及該物品將在上面被提供至機器人之源位置,且提供該物品。在某些實施例中,系統模型化或模擬該組物品在一或多個托板上之堆疊或堆棧。系統可基於托板之一預期堆疊而提供物品(例如,可在將朝向堆疊之頂部被堆疊之物品之前提供用以形成基底或朝向堆疊之底部之物品)。在某些實施例中,至少部分地基於將物品自選定源位置移動至對應托板上之目的地位置之成本而判定物品被堆棧或提供至機器人之次序,以及從中將物品提供至機器人之源位置。舉例而言,系統可基於將物品移動至目的地位置之成本之一最小化/最佳化而判定源位置。作為一說明性實例,在物品堆疊低於一特定高度(諸如一堆疊高度臨限值)或堆疊中之物品之位置低於該特定高度之情形中,系統可判定將物品提供至具有一相對較低高度之源位置,以便減少與將物品自源位置移動至目的地位置相關聯之距離/成本。作為另一說明性實例,在物品堆疊高於一特定高度(諸如一堆疊高度臨限值)或堆疊中之物品之位置高於該特定高度之情形中,系統可判定將物品提供至具有一相對較大高度之源位置,以便減少與將物品自源位置移動至目的地位置相關聯之距離/成本。
在所展示之實例中,對物品及源位置之選擇以及對物品之提供繼續進行直至完成(925)該組物品(或待堆棧物品)中之所有物品為止,程序900在此處結束。
圖9B係圖解說明將一物品解堆棧之一程序之一實施例之一流程圖。程序950可由圖4之系統400實施。
在955處,獲得一組待移動物品。舉例而言,系統可獲得針對該組待移動物品之一載貨單。載貨單可與將被提供給一客戶之一訂單或裝運等對應。載貨單可包含對應於各種待移動物品之識別符。
在960處,獲得與該組物品中之一物品相關聯之一或多個屬性。作為一實例,可自屬性至物品之一映射(例如,屬性至物品識別符之一映射)獲得一或多個屬性。作為另一實例,可至少部分地基於感測器資料而獲得一或多個屬性。感測器資料可使用機器人系統之一工作空間內之一或多個感測器來獲得。
可結合判定提供物品之一次序及/或在判定將向其提供物品以用於堆棧之一源位置時使用各種物品之屬性。各種物品之屬性可用於計算將各種物品自不同源位置移動至一目的地位置(例如,托板上之堆疊上之一位置)之成本。在某些實施例中,各種物品之屬性用於模型化或模擬一物品堆疊之堆棧及/或判定與將物品移動至堆疊相關聯之堆疊之一或多個預期屬性。堆疊之預期屬性可包含一密度、一穩定性、一高度、一形狀或輪廓、一重心、一剛度等。
在965處,獲得一組目的地位置之一屬性,可經由該組目的地位置將物品提供至一機器人。舉例而言,如圖4A之系統400中所圖解說明,可使用複數個輸送機來將物品提供至機器人臂401。系統中之各種目的地位置(例如,輸送機)可具有不同屬性,且一特定位置之一屬性可結合判定一目的地位置而使用。一目的地位置之屬性可包含一位置(例如,相對於機器人之一相對位置、一絕對位置)、一高度、輸送機攜載物品之一速度、一相對高度(例如,相對於堆疊高度臨限值之一高度、相對於一托板上之堆疊之一當前高度之一高度)、在堆疊之當前/預期高度小於堆疊高度臨限值之情況下對是否使用該位置之一指示等。
在970處,獲得源位置之一屬性。在某些實施例中,系統獲得托板上之物品堆疊之一狀態。舉例而言,源位置之屬性可包含物品堆疊之一高度及/或對物品堆疊是否高於一堆疊高度臨限值之一指示。獲得源位置之屬性可包含使用感測器資料來產生堆疊之一模型/模擬。
在975處,選擇一物品及該物品將在上面被提供至機器人之目的地位置,且移動該物品。在某些實施例中,系統模型化或模擬該組物品在一或多個托板上之堆疊或堆棧。系統可至少部分地基於物品堆疊之一模型而移動物品。舉例而言,系統可基於堆疊之一當前穩定性、在物品自堆疊被移除之後的堆疊之一預期穩定性等判定將移動之物品。在某些實施例中,至少部分地基於將物品自選定源位置移動至目的地位置(例如,選定輸送機)之成本而判定物品被解堆棧之次序及/或物品將被移動到的目的地位置。舉例而言,系統可基於將物品移動至目的地位置之成本之一最小化/最佳化而判定源位置。作為一說明性實例,在物品堆疊低於一特定高度(諸如一堆疊高度臨限值)之情形中,系統可判定將物品移動至具有一相對較低高度之源位置(例如,一較低輸送機),以便減少與將物品自源位置移動至目的地位置相關聯之距離/成本。作為另一說明性實例,在物品堆疊高於一特定高度(諸如一堆疊高度臨限值)之情形中,系統可判定將物品移動至具有一相對較大高度之目的地位置,以便減少與將物品自源位置移動至目的地位置相關聯之距離/成本。
在所展示之實例中,對物品及源位置之選擇以及對物品之提供繼續進行直至完成(980)該組物品(或待堆棧物品)中之所有物品為止,程序950在此處結束。
圖10係圖解說明用以在一托板上放置物品之一程序之一實施例之一流程圖。在各種實施例中,程序1000由一控制電腦(諸如圖1之控制電腦118及/或圖4A之系統400之控制電腦)基於感測器資料(諸如由工作空間中之感測器(諸如相機112、114及116)產生之影像資料)而執行。在各種實施例中,程序1000用於(例如)基於如至少部分地基於影像資料所判定之物品大小及形狀而動態地判定物品屬性及放置。
在所展示之實例中,在1010處,接收並處理影像資料。舉例而言,來自兩個或多於兩個相機之影像資料可被接收及合併以在三維空間中產生一組複合點。
在1020處,將在1010處接收及處理之影像資料適配至一模型。舉例而言,可比較該組複合點與包括一物品模型庫之對應資料且可判定一「最佳適配」或「最佳匹配」模型。在某些實施例中,至少部分地基於一機器學習程序而動態地更新物品模型庫,該機器學習程序使用來自歷史模型之資訊及此等模型之實施結果來進行改良或更新。
在1030處,填充影像資料中之間隙(例如,使用來自最佳適配模型之資料),且針對物品判定一定界容器(例如,一物品之在所有維度上係矩形或幾乎矩形之一定界「箱子」)。
視情況,在1040處,將定界容器之一圖形繪示疊加在物品之複合及/或原始影像(例如,原始視訊)上以(例如)向正監視操作之一人類使用者提供一複合顯示。
在1050處,使用在1020處判定之模型及在1030處判定之定界容器來判定將在其處放置物品(例如,在一托板上)之一目的地位置。在某些實施例中,定界容器可顯示於所判定放置位置中,例如,在用以拾取及放置物品之操作之一視覺顯示及/或表示中。
圖11係圖解說明用以在一托板上放置一物品之一程序之一實施例之一流程圖。在各種實施例中,程序1100由一控制電腦(諸如圖1之控制電腦118及/或圖4A之系統400之控制電腦)執行。在所展示之實例中,在1102處,接收並處理物品資料。物品資料之實例包含但不限於影像資料、光學或其他掃描器輸出、物品重量、物品識別符、物品大小等。
在1104處,進行一嘗試以匹配物品資料與一模型,例如,包括一物品模型庫之一模型。可諸如經由一機器學習程序而動態地更新物品模型庫。舉例而言,可讀取物品或其封裝上之標記以識別物品並查找一物品特定模型。在某些實施例中,感測器讀數可指向不同方向。在某些實施例中,離群值(例如,在統計上不相關之一物品)和/或隨機選擇之感測器資料可自考量中移除,以判定剩餘資料是否可匹配(例如,以一所規定置信度)至一物品模型。若如此,則摒棄來自彼感測器之感測器資料且在1106處判定已找到一匹配。
若基於在1102處接收之資料而在1106處判定已找到與一物品特定模型之一匹配,則在1108處使用基於彼模型之一策略來判定用以抓取、拾取、移動及/或放置物品之一策略。
若在1106處判定無法找到與一物品特定模型之一匹配,則在1110處,物品之大小、重量、形狀、封裝類型、重心及/或其他屬性被判定並嘗試被匹配至與彼大小、重量、形狀等之物品相關聯之一模型。若在1112處判定已找到與此一模型之一匹配,則在1114處,使用所判定模型來判定用以抓取、拾取、移動及/或放置物品之一策略。否則,在1116處,觸發人類干預,(例如)以手動地輸入一策略及/或將被映射至一策略之一物品識別,及/或藉由遙操作、手動地等完成關於物品之操作之全部或部分。
在1118處,判定處理物品是否已產生關於物品及/或物品類型之額外或新的資訊。若如此,則在1120處,使用新的資訊來產生及/或更新針對物品及/或物品類型之一模型。新的資訊可包含一所量測重量、一重心、一封裝類型等。若尚未開發新的資訊及/或一旦此資訊已反映在任何適用模型中,則程序結束。
在某些實施例中,偵測到一新的物品或物品類型觸發一發現程序,其中物品之屬性可被判定且被更全面或更精確地判定。舉例而言,系統可使用機器人臂來拾取物品且將該物品固持於不同位置中及/或處於不同定向以產生將用於模型化或更完整地模型化物品之物品之(額外)影像或視圖。
在各種實施例中,如本文中所揭示之用以堆棧及/或解堆棧異質物品之一機器人系統包含一機器人臂,該機器人臂在操作端處具有一基於吸力之夾持器類型或其他末端執行器。在各種實施例中,末端執行器可包含用於堆棧及/或解堆棧異質物品之一或多個感測器,如本文中所揭示。舉例而言,末端執行器可包含用於促進一物品之一階拾取及放置之影像感測器及用以促進將物品緊貼至適當位置中(例如,毗鄰於其他物品、側壁及/或其他結構)之一或多個力感測器。在另一實例中,在某些實施例中,一基於吸力之末端執行器可包含空氣壓力感測器,該等空氣壓力感測器用以偵測何時已對物件表面進行一牢固抓取及/或偵測物件何時失去接觸或剪斷。
根據各種實施例,程序1100可結合判定用於抓取物品等之一策略而實施。與物品對應之模型可包括於用於將物品自源位置(例如,輸送機)移動至目的地位置之計劃中。
圖12係圖解說明用以使用一機器人臂來判定將被堆疊於一托板上之一物品之一屬性之一程序之一實施例的一流程圖。在各種實施例中,圖12之程序1200可由一控制電腦(諸如圖1之控制電腦118及/或圖4A之系統400之一控制電腦)實施。在所展示之實例中,在1202處,使用一機器人臂及/或末端執行器來探測一物品以判定物品之一或多個屬性,舉例而言,物品之柔軟度、重量、密度等。舉例而言,若物品提供輕微壓力,則判定該物品係柔軟的。若物品之大小係輕微的,如基於影像資料所判定,則判定該物品係密度較小的。若在1204處已判定物品係柔軟的及/或密度較小的,則在1206處若需要,則將物品暫存以放置於堆疊之一上部層中。將物品暫存可包含將物品移動並至少暫時地放置於暫存區或集結區中直至系統判定可在其處放置物品之一新的空間(例如,至少部分地基於物品之屬性,諸如大小、包裝類型、剛度、柔軟度等)。若在1204處未判定物品係柔軟的或密度較小的,則將物品添加至堆疊而無需在1206處進行暫存。
圖13係圖解說明用以使用一機器人臂來對如堆疊於一托板上之一組物品中之不穩定性進行偵測及回應之一程序之一實施例的一流程圖。在各種實施例中,圖13之程序1300可由一控制電腦(諸如圖1之控制電腦118及/或圖4A之系統400之一控制電腦)實施。在各種實施例中,程序1300用於(例如)基於內部(例如,力)及/或外部(例如,影像)感測器資料而偵測堆疊不穩定性。
在所展示之實例中,在1302處,監視堆疊穩定性。舉例而言,可使用工作空間/環境中之相機來偵測到堆疊已開始傾斜、坍塌、滑動等。或者,可使用機器人臂及/或末端執行器上之力感測器來偵測到堆疊或其一部分已變得不穩定,諸如當機器人臂正將一物品放置於堆疊上時。若在1304處判定堆疊已變得不穩定,則在1306處,執行一主動量測。
主動量測可改良堆疊之穩定性或以其他方式移除堆疊之一異常。主動量測之一實例包含自動包覆部分堆疊(例如,在塑膠中),以防止滑移並加強堆疊之穩定性及結構。主動量測之另一實例包含控制機器人臂以移除已自堆疊滑移/掉落之一物品且將該物品放置回該堆疊上(放置於物品所佔用之先前位置中,或者其中物品被判定為較佳適配或與堆疊之經改良穩定性對應之一新的位置中),或另一選擇係,機器人臂將物品移動/放置至一暫存區或集結區直至系統判定形成將在其處放置物品之一新的位置(例如,滿足各種準則,諸如滿足與適配度、密度、穩定性等有關之一或多個臨限值)之時間為止。主動量測之另一實例包含將一通知傳遞給一人類操作者(諸如經由將一通知發送至人類操作者之一終端並在終端之一使用者介面上顯示一通知)以向人類操作者警告不穩定性或異常。
根據各種實施例,至少部分地基於堆疊之一模型而判定/選擇主動量測。舉例而言,系統可至少部分地基於由工作空間/環境中之一感測器獲得之資訊而產生堆疊之一經更新模型。系統可判定不穩定性之一原因並判定用以修復不穩定性之一計劃。舉例而言,若系統判定不穩定性係由一特定物品導致的,則系統可控制機器人臂來移除該特定物品(或包含該特定物品之一組物品),且重新堆疊該特定物品(或被移除之該組物品之至少一子集)。系統可基於所偵測不穩定性等更新用於移動/放置物品之模型。
若在1304處未(再次)判定堆疊已變得不穩定,且在任何情況下一旦已完成整個堆疊(例如,托板或其他容座) (1308),便在1310處自動包覆堆疊及/或其剩餘未包覆部分並且程序結束。
雖然已出於清晰理解之目的在某些細節上闡述前述實施例,但本發明並不限於所提供之細節。存在實施本發明之諸多替代方式。所揭示之實施例係說明性而非限制性的。
100:系統/機器人系統 102:機器人臂/機器人 104:輸送機帶/輸送機 106:托板/平台/容座 108:吸力類型末端執行器/末端執行器/執行器 110:吸力杯 112:3D相機/相機 114:相機 116:相機 118:控制電腦 122:「隨選」遙操作裝置/遙操作裝置/隨選遙操作裝置 124:人類使用者 200:程序 205:步驟 210:步驟 215:步驟 220:步驟 225:程序 230:步驟 240:步驟 245:步驟 250:步驟/程序 255:程序 260:步驟 265:步驟 270:步驟 300:程序 310:步驟 330:步驟 350:步驟 370:步驟 400:系統/機器人系統 401:機器人臂 402:托板 404:托板 406:托板 408:輸送機帶/輸送機 409:支腿 410:輸送機帶/輸送機 411:支腿 412:感測器 414:感測器 416:感測器 418:感測器 420:狀況指示器 422:狀況指示器 425:系統 426:機器人臂 427:分段式輸送機/輸送機 428:分段式輸送機/輸送機 429:斜槽/貯存箱 430:入口端 431:狹槽/托盤 432:狹槽/托盤 434:路徑/軌跡 435:路徑/軌跡 438:3D相機/相機 439:3D相機/相機 440:控制電腦 442:隨選遙操作裝置/遙操作裝置 444:人類工作者 450:配套系統/系統 451:物件 452:機器人臂 454:配套擱架系統 456:擱架 458:擱架 460:擱架 462:托架 464:軌條/線性導軌/導軌 466:輸送機 468:輸送機 470:容座 472:容座 480:相機 482:控制電腦/電腦 484:隨選遙操作裝置/遙操作裝置 486:人類操作者/操作者 500:系統 505:機器人臂 510:輸送機 515:輸送機 520:物品 525:路徑 530:路徑 535:托板 540:物品 545:路徑 550:堆疊高度臨限值 602:托板 604:物品 606:物品 608:物品 610:物品 612:物品 614:物品 616:物品 618:物品 620:物品 702:位置/既定位置/所計劃位置 704:托板 706:物品 708:物品 800:程序 810:程序 811:程序 811a:步驟 811b:步驟 811c:步驟 811d:步驟 812:步驟 813:步驟 814:步驟 815:步驟 820:步驟 830:步驟 840:步驟 850:步驟 860:步驟 900:程序 905:步驟 910:步驟 915:步驟 920:步驟 925:步驟 950:程序 955:步驟 960:步驟 965:步驟 970:步驟 975:步驟 980:步驟 1000:程序 1010:步驟 1020:步驟 1030:步驟 1040:步驟 1050:步驟 1100:程序 1102:步驟 1104:步驟 1106:步驟 1108:步驟 1110:步驟 1112:步驟 1114:步驟 1116:步驟 1118:步驟 1120:步驟 1200:程序 1202:步驟 1204:步驟 1206:步驟 1300:程序 1302:步驟 1304:步驟 1306:步驟 1308:步驟 1310:步驟 h1:高度 h2:高度
在以下詳細說明及附圖中揭示本發明之各種實施例。
圖1係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例之一圖式。
圖2A係圖解說明用以堆棧及/或解堆棧一物品之一程序之一實施例之一流程圖。
圖2B係圖解說明用以將一物品單個化之一程序之一實施例之一流程圖。
圖2C係圖解說明用以裝配一物品套件之一程序之一實施例之一流程圖。
圖3係圖解說明用以選擇及提供用於堆棧之物品之一程序之一實施例的一流程圖。
圖4A係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例之一圖式。
圖4B係圖解說明用以將物品單個化之一機器人系統之一實施例之一圖式。
圖4C係圖解說明用以裝配物品套件之一機器人系統之一實施例之一圖式。
圖5A係圖解說明根據各種實施例之用以堆棧及/或解堆棧物品之機器人系統之一實例的一圖式。
圖5B係圖解說明根據各種實施例之用以堆棧及/或解堆棧物品之機器人系統之一實例的一圖式。
圖6A係圖解說明如裝配於用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板之一實例之一圖式。
圖6B係圖解說明如裝配於用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板之一實例之一圖式。
圖7A係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板上之物品放置之一實例之一圖式。
圖7B係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板上之物品放置之一實例之一圖式。
圖7C係圖解說明用以堆棧及/或解堆棧異質物品之一機器人系統之一實施例中的一托板上之物品放置之一實例之一圖式。
圖8A係圖解說明用以在一托板上放置一物品之一程序之一實施例之一流程圖。
圖8B係圖解說明用以判定用於在一托板上移動一物品之一計劃之一程序之一實施例的一流程圖。
圖8C係圖解說明用以判定將移動至一托板之一物品之一程序之一實施例的一流程圖。
圖9A係圖解說明針對與堆棧結合之機器人將一物品提供至一機器人之一程序之一實施例的一流程圖。
圖9B係圖解說明將一物品解堆棧之一程序之一實施例之一流程圖。
圖10係圖解說明用以在一托板上放置物品之一程序之一實施例之一流程圖。
圖11係圖解說明用以在一托板上放置一物品之一程序之一實施例之一流程圖。
圖12係圖解說明用以使用一機器人臂來判定將被堆疊於一托板上之一物品之一屬性之一程序之一實施例的一流程圖。
圖13係圖解說明用以使用一機器人臂來對如堆疊於一托板上之一組物品中之不穩定性進行偵測及回應之一程序之一實施例的一流程圖。
500:系統
505:機器人臂
510:輸送機
515:輸送機
520:物品
525:路徑
530:路徑
535:托板

Claims (31)

  1. 一種機器人系統,其包括: 一通信介面;及 一或多個處理器,其經耦合至該通信介面且經組態以: 經由該通信介面來接收與將被堆疊於一目的地位置上或其中之複數個物品相關聯的資料; 至少部分地基於該所接收資料來產生用以將該等物品堆疊於該目的地位置上或其中之一計劃,包含藉由針對每一物品進行以下操作: 至少部分地基於以下各項來判定將從中拾取該物品之一源位置:(i)該源位置之一屬性,及(ii)將在上面堆疊一或多個物品之一平台或容座之一狀態;以及 至少部分地藉由控制該機器人臂以拾取該等物品且根據該計劃將該等物品堆疊於該目的地位置上或其中來實施該計劃。
  2. 如請求項1之機器人系統,其中該平台或容座之該狀態包括該平台或容座上之一堆疊之一狀態。
  3. 如請求項2之機器人系統,其中該平台或容座上之該堆疊之該狀態包括該堆疊之一高度。
  4. 如請求項1之機器人系統,其中該源位置係自複數個輸入輸送結構當中判定,該複數個輸入輸送結構分別將該複數個物品之一子集攜載至該機器人臂之範圍內。
  5. 如請求項4之機器人系統,其中該源位置之該屬性包含該源位置之一高度,且該複數個輸入輸送結構中之至少兩者具有不同高度,使得該機器人臂自一第一輸入輸送結構拾取一物品之一第一高度不同於該機器人臂自一第二輸入輸送結構拾取一物品之一第二高度。
  6. 如請求項4之機器人系統,其中至少部分地基於以下各項來判定該源位置:(i)該複數個輸入輸送結構中之至少一者之一高度,及(ii)將在上面堆疊一或多個物品之該平台或容座上之一堆疊之一高度。
  7. 如請求項6之機器人系統,其中該源位置之該屬性包含該源位置之一高度,回應於該平台或容座上之該堆疊之該高度小於一高度臨限值之一判定,將該計劃產生為自具有小於另一輸入輸送結構之一高度之一高度之一輸入輸送結構拾取該物品。
  8. 如請求項6之機器人系統,其中該源位置之該屬性包含該源位置之一高度,回應於該平台或容座上之該堆疊之該高度大於一高度臨限值之一判定,將該計劃產生為自具有大於另一輸入輸送結構之一高度之一高度之一輸入輸送結構拾取該物品。
  9. 如請求項1之機器人系統,其中針對每一物品產生用以將該等物品堆疊於該目的地位置上或其中之該計劃進一步包括: 至少部分地基於與該物品相關聯之一特性以及以下各項中之至少一者來判定該目的地位置:(i)將在上面堆疊一或多個物品之一平台或容座之一特性,及(ii)該平台或容座上之一或多個物品之一現有堆疊, 其中: 自其中經安置有若干平台或容座之複數個區帶當中判定該目的地位置;且 該複數個區帶中之每一者係在一機器人臂之一範圍內。
  10. 如請求項1之機器人系統,其中實施該計劃包含針對每一物品: 使用一或多個一階感測器,將該物品移動至在一目的地位置處針對彼物品之該目的地位置之一第一逼近;及 使用一或多個二階感測器,將該物品緊貼至一最終位置中。
  11. 如請求項1之機器人系統,其中至少部分地基於計算與將該物品自該源位置移動至該目的地位置有關之一成本函數之一結果來產生該計劃。
  12. 如請求項11之機器人系統,其中產生用以堆疊該等物品之該計劃包括: 判定將物品自一或多個源位置移動至一或多個目的地位置之一組軌跡; 判定針對該組軌跡中之每一者之該成本函數之該結果,其中該成本函數係至少部分地基於自一對應源位置至一對應目的地位置之一歐幾裡得距離;及 至少部分地基於一選定軌跡在該組軌跡當中具有一最短歐幾裡得距離之一判定而自該組軌跡選擇該選定軌跡。
  13. 如請求項11之機器人系統,其中進一步至少部分地基於與將在上面堆疊該一或多個物品之該平台或容座相關聯之一訂單或一載貨單來產生該計劃。
  14. 如請求項1之機器人系統,其中: 經由一或多個輸入輸送機,將該複數個物品移動至該機器人臂之範圍內;且 該機器人臂分別自該一或多個輸入輸送機拾取該複數個物品且分別將該複數個物品堆疊於對應目的地位置中。
  15. 如請求項14之機器人系統,其中: 該機器人臂將該複數個物品之一第一子集堆疊於一第一平台或容座上;且 該機器人臂將該複數個物品之一第二子集堆疊於一第二平台或容座上。
  16. 如請求項15之機器人系統,其中該第一平台或容座及該第二平台或容座分別包括一或多個物品之堆疊。
  17. 如請求項16之機器人系統,其中該機器人臂同時或並行地將該複數個物品之一子集放置於該第一平台或容座及該第二平台或容座上。
  18. 一種用以控制一機器人之方法,其包括: 經由通信介面來接收與將被堆疊於一目的地位置上或其中之複數個物品相關聯的資料; 由一或多個處理器產生用以將該等物品堆疊於該目的地位置上或其中之一計劃,該計劃係至少部分地基於該所接收資料而產生,且針對每一物品之該計劃之該產生包括: 至少部分地基於以下各項來判定將從中拾取該物品之一源位置:(i)該源位置之一屬性,及(ii)將在上面堆疊一或多個物品之一平台或容座之一狀態; 至少部分地藉由控制機器人臂以拾取該等物品且根據該計劃將該等物品堆疊於該目的地位置上或其中來實施該計劃。
  19. 如請求項18之方法,其中該平台或容座之該狀態包括該平台或容座上之一堆疊之一狀態。
  20. 如請求項19之方法,其中該平台或容座上之該堆疊之該狀態包括該堆疊之一高度。
  21. 如請求項18之方法,其中該源位置係自複數個輸入輸送結構當中判定,該複數個輸入輸送結構分別將該複數個物品之一子集攜載至該機器人臂之範圍內。
  22. 如請求項21之方法,其中該源位置之該屬性包含該源位置之一高度,且該複數個輸入輸送結構中之至少兩者具有不同高度,使得該機器人臂自一第一輸入輸送結構拾取一物品之一第一高度不同於該機器人臂自一第二輸入輸送結構拾取一物品之一第二高度。
  23. 如請求項21之方法,其中至少部分地基於以下各項來判定該源位置:(i)該複數個輸入輸送結構中之至少一者之一高度,及(ii)將在上面堆疊一或多個物品之該平台或容座上之一堆疊之一高度。
  24. 如請求項23之方法,其中回應於該平台或容座上之該堆疊之該高度小於一高度臨限值之一判定,將該計劃產生為自具有小於另一輸入輸送結構之一高度之一高度之一輸入輸送結構拾取該物品。
  25. 如請求項23之方法,其中該源位置之該屬性包含該源位置之一高度,且回應於該平台或容座上之該堆疊之該高度大於一高度臨限值之一判定,將該計劃產生為自具有大於另一輸入輸送結構之一高度之一高度之一輸入輸送結構拾取該物品。
  26. 如請求項18之方法,其中針對每一物品產生用以將該等物品堆疊於該目的地位置上或其中之該計劃進一步包括: 至少部分地基於與該物品相關聯之一特性以及以下各項中之至少一者來判定該目的地位置:(i)將在上面堆疊一或多個物品之一平台或容座之一特性,及(ii)該平台或容座上之一或多個物品之一現有堆疊, 其中: 自其中經安置有若干平台或容座之複數個區帶當中判定該目的地位置;且 該複數個區帶中之每一者係在一機器人臂之一範圍內。
  27. 如請求項18之方法,其中實施該計劃包含針對每一物品: 使用一或多個一階感測器,將該物品移動至在一目的地位置處針對彼物品之該目的地位置之一第一逼近;及 使用一或多個二階感測器,將該物品緊貼至一最終位置中。
  28. 如請求項18之方法,其中至少部分地基於計算與將該物品自該源位置移動至該目的地位置有關之一成本函數之一結果來產生該計劃。
  29. 如請求項28之方法,其中產生用以堆疊該等物品之該計劃包括: 判定將物品自一或多個源位置移動至一或多個目的地位置之一組軌跡; 判定針對該組軌跡中之每一者之該成本函數之該結果,其中該成本函數係至少部分地基於自一對應源位置至一對應目的地位置之一歐幾裡得距離;及 至少部分地基於一選定軌跡在該組軌跡當中具有一最短歐幾裡得距離之一判定來自該組軌跡選擇該選定軌跡。
  30. 如請求項28之方法,其中進一步至少部分地基於與將在上面堆疊該一或多個物品之該平台或容座相關聯之一訂單或一載貨單來產生該計劃。
  31. 一種用以控制一機器人之電腦程式產品,該電腦程式產品被體現於一非暫時性電腦可讀媒體中且包括用於進行以下操作之電腦指令: 經由通信介面接收與將被堆疊於一目的地位置上或其中之複數個物品相關聯的資料; 由一或多個處理器產生用以將該等物品堆疊於該目的地位置上或其中之一計劃,該計劃係至少部分地基於該所接收資料而產生,且針對每一物品之該計劃之該產生包括: 至少部分地基於以下各項來判定將從中拾取該物品之一源位置:(i)該源位置之一屬性,及(ii)將在上面堆疊一或多個物品之一平台或容座之一狀態;及 至少部分地藉由控制機器人臂以拾取該等物品且根據該計劃將該等物品堆疊於該目的地位置上或其中來實施該計劃。
TW111109519A 2021-03-18 2022-03-16 具有可變輸送機高度之機器人堆棧系統 TW202243836A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163162871P 2021-03-18 2021-03-18
US63/162,871 2021-03-18
US17/343,609 2021-06-09
US17/343,609 US20220297958A1 (en) 2021-03-18 2021-06-09 Robotic palletization system with variable conveyor height

Publications (1)

Publication Number Publication Date
TW202243836A true TW202243836A (zh) 2022-11-16

Family

ID=83285064

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111109519A TW202243836A (zh) 2021-03-18 2022-03-16 具有可變輸送機高度之機器人堆棧系統

Country Status (3)

Country Link
US (1) US20220297958A1 (zh)
TW (1) TW202243836A (zh)
WO (1) WO2022197468A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240327123A1 (en) * 2023-03-30 2024-10-03 Coupang Corp. Systems and methods for automatic product intake, stocking, and retrieval
US12010041B1 (en) * 2023-05-15 2024-06-11 Lemon Inc. Dynamic resource allocator in secure computation and communication

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175692A (en) * 1989-04-14 1992-12-29 University Of Cincinnati Method and apparatus for palletizing randomly arriving mixed size and content parcels
US5501571A (en) * 1993-01-21 1996-03-26 International Business Machines Corporation Automated palletizing system
JPH11116056A (ja) * 1997-10-14 1999-04-27 Okura Yusoki Co Ltd 積付パターン生成装置および積付装置
US6579053B1 (en) * 1999-03-15 2003-06-17 Abb Flexible Automation, Inc. Robotic containerization and palletizing system
US8074431B1 (en) * 2009-06-01 2011-12-13 Top Tier, Inc. Hybrid palletizer
US9946264B2 (en) * 2016-03-22 2018-04-17 Sharp Laboratories Of America, Inc. Autonomous navigation using visual odometry
JP6474365B2 (ja) * 2016-07-22 2019-02-27 ファナック株式会社 物品をパレットに積み込むためのパレタイズシステム
US9996805B1 (en) * 2016-09-30 2018-06-12 Amazon Technologies, Inc. Systems and methods for automated shipping optimization
KR20240140177A (ko) * 2019-02-22 2024-09-24 덱스테러티, 인크. 비강성 패키지에서 연성 제품의 로봇 취급
US10696494B1 (en) * 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US10647528B1 (en) * 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US11305430B2 (en) * 2019-11-11 2022-04-19 Symbotic Llc Pallet building system with flexible sequencing
US11518573B2 (en) * 2020-02-14 2022-12-06 Dell Products L.P. Palletizing containers for charging electronic devices contained therein

Also Published As

Publication number Publication date
WO2022197468A1 (en) 2022-09-22
US20220297958A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
CN115502985B (zh) 机器人多物品型码垛和卸垛
KR102706776B1 (ko) 비강성 패키지에서 연성 제품의 로봇 취급
TWI849379B (zh) 多棧板混合箱碼垛機器人、用於控制一機器人之方法、及用於控制一機器人之電腦程式產品
US11633864B2 (en) Polybag gripping suction cup
TW202243836A (zh) 具有可變輸送機高度之機器人堆棧系統
US20230331498A1 (en) Containerized robotic system
US20220331989A1 (en) Robotic foam dispenser
US20220324658A1 (en) Robotically-controlled structure to regulate item flow