TW202313279A - 用於碼垛堆積(palletizing)之使用幾何資料及視覺系統之狀態估計 - Google Patents
用於碼垛堆積(palletizing)之使用幾何資料及視覺系統之狀態估計 Download PDFInfo
- Publication number
- TW202313279A TW202313279A TW111122128A TW111122128A TW202313279A TW 202313279 A TW202313279 A TW 202313279A TW 111122128 A TW111122128 A TW 111122128A TW 111122128 A TW111122128 A TW 111122128A TW 202313279 A TW202313279 A TW 202313279A
- Authority
- TW
- Taiwan
- Prior art keywords
- items
- pallet
- item
- container
- state
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G61/00—Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- 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/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
- B25J9/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G57/00—Stacking of articles
- B65G57/02—Stacking of articles by adding to the top of the stack
- B65G57/03—Stacking of articles by adding to the top of the stack from above
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/02—Control or detection
- B65G2203/0208—Control or detection relating to the transported articles
- B65G2203/0233—Position of the article
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/02—Control or detection
- B65G2203/0208—Control or detection relating to the transported articles
- B65G2203/0258—Weight of the article
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/04—Detection means
- B65G2203/041—Camera
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/04—Detection means
- B65G2203/042—Sensors
-
- 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/40607—Fixed camera to observe workspace, object, workpiece, global
-
- 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/45—Nc applications
- G05B2219/45063—Pick and place manipulator
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Manipulator (AREA)
Abstract
本發明揭示一種機器人系統。該系統包含自部署於一工作區中之一(若干)感測器接收指示該工作區之一目前狀態之感測器資料的一通信介面,該工作區包括一棧板或其他容器及堆垛於該容器上或該容器中之複數個物品。該系統包含一或多個處理器,該一或多個處理器:控制一機器人手臂將第一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該第一組物品;基於放置於一容器上或該容器中之該第一組物品來更新一幾何模型;使用該幾何模型結合該感測器資料來估計該容器上或該容器中之一或多個物品之一狀態;及使用該經估計狀態來產生或更新用以控制該機器人手臂放置第二組物品之一計劃。
Description
本申請案係關於一種使用幾何資料及視覺系統碼垛堆積之狀態估計。
裝運及配送中心、倉庫、裝運碼頭、航空貨運站、大型商店及裝運及接收非同質物品組之其他活動使用諸如在盒子、板條箱、貨櫃、輸送帶中及在棧板上等包裝及拆包異種物品之策略。在盒子、板條箱中、在棧板上等包裝異種物品使所得物品組能夠由起重設備(諸如叉車、起重機等)處置且使物品能夠被更有效地包裝以用於儲存(例如,在一倉庫中)及/或裝運(例如,在卡車、貨艙等中)。
在一些背景下,物品可在大小、重量、密度、龐大、剛度、包裝強度等方面如此相異,使得任何給定物品或物品組可或可不具有將使彼等物品能夠支持可能需要包裝(例如,在一盒子、貨櫃、棧板等中)之一給定其他物品之大小、重量、重量分佈等的屬性。當組裝一棧板或其他組異種物品時,必須仔細選擇及堆垛物品以確保經碼垛堆積之堆棧不會塌陷、傾斜或以其他方式變得不穩定(例如,以便不能夠由諸如一叉車等之設備處置)並避免物品損壞。
目前,棧板通常係用手堆垛及/或拆包。例如,人類工人(例如)基於一裝運發票及載貨單(manifest)等選擇待堆垛之物品並使用人類判斷及直覺來選擇更大及更重物品放置於底部上。然而,在一些情況下,物品僅經由一輸送機或其他機構到達及/或自一有序清單中之貯存箱選擇等,從而導致一不穩定的經碼垛堆積或以其他方式包裝之組。
在許多環境中,歸因於物品之種類繁多,(例如)在一給定棧板上之待包裝之物品之順序、數目及混合之變動,以及必須自其拾取物品以放置於棧板或其他貨櫃上之貨櫃及/或進給機構之多種類型及位置,機器人之使用變得更具挑戰性。
本發明可以諸多方式來實施,包含作為一程序;一設備;一系統;一物質組合物;體現於一電腦可讀儲存媒體上之一電腦程式產品;及/或一處理器,諸如經組態以執行儲存於耦接至該處理器之一記憶體上及/或由該記憶體提供之指令的一處理器。在本說明書中,此等實施方案或本發明可採用之任何其他形式可被稱為技術。一般而言,在本發明之範疇內,可改變所揭示程序之步驟之順序。除非另有說明,否則可將被描述為經組態以執行一任務之一組件(諸如一處理器或一記憶體)實施為臨時經組態以在一給定時間執行該任務之一通用組件或經製造以執行該任務之一特定組件。如本文中所使用,術語「處理器」係指經組態以處理資料(諸如電腦程式指令)之一或多個裝置、電路及/或處理核心。
在下文連同繪示本發明之原理之附圖提供對本發明之一或多項實施例之一詳細描述。本發明係結合此等實施例進行描述,但本發明並不限於任何實施例。本發明之範疇係僅藉由發明申請專利範圍限制且本發明涵蓋諸多替代例、修改及等效物。在以下描述中闡述許多具體細節以便提供本發明之透徹理解。出於例示目的提供此等細節且可在不具有此等具體細節之一些或全部之情況下根據發明申請專利範圍來實踐本發明。為清楚起見,尚未詳細描述與本發明相關的技術領域中已知之技術材料,使得不會不必要地模糊本發明。
如本文中所使用,一幾何模型可意謂一工作區之一狀態(諸如一程式化地判定之狀態)之一模型。例如,使用所判定之幾何資料結合產生用以移動工作區中之一物品之一計劃及若該物品根據計劃移動之一預期結果來產生幾何模型。例如,一幾何模型對應於藉由控制一機器人手臂在一工作區內拾取、移動及/或放置物品來修改之該工作區之一狀態,且物品之拾取、移動及放置被認為根據計劃執行(例如,無錯誤,諸如可基於以下引入之錯誤或雜訊:(i)機器人手臂或工作區中之另一組件之一錯誤組態或未對準;;(ii)基於與機器人手臂之互動之物品之變形;(iii)工作區中之另一物品、工作區中之另一物體;(iv)機器人手臂或由機器人手臂移動之物品與工作區中之另一物體之間的碰撞等)。
如本文中所使用,「棧板」包含其上或其中可堆垛或放置一或多個物品之一平台、容器或其他貨櫃。此外,如本文中所使用,棧板可結合包裝及配送一組一或多個物品而使用。作為一實例,術語棧板包含支撐物品且可經由一叉車、一棧板搬運車、一起重機等移動之典型扁平運輸結構。如本文中所使用,一棧板可由各種金屬(包含木材、金屬、金屬合金、聚合物等)構成。
如本文中所使用,一物品或一組物品之碼垛堆積包含自一源位置(諸如一輸送結構)拾取一物品並將該物品放置於一棧板上(諸如在該棧板上之一物品堆棧上)。
如本文中所使用,卸除碼垛堆積包含自一棧板(諸如自該棧板上之一物品堆棧)拾取一物品,移動該物品並將該物品放置於一目的地位置(諸如一輸送結構)處。用於對一組物品進行碼垛堆積/卸除碼垛堆積之一實例性碼垛堆積/卸除碼垛堆積系統及/或程序係在美國專利申請案第17/343,609中進一步描述,該案之全文針對所有目的以引用的方式併入本文中。
如本文中所使用,一物品之單分包含自一源堆/流拾取一物品並將該物品放置於一輸送結構(例如,一分段輸送機或類似輸送工具)上。視需要,單分可包含對該輸送結構上之各種物品進行分類(諸如經由將來自源堆/流之物品單獨放置於輸送機上之一狹槽或托盤中)。用於單分一組物品之一單分系統及/或程序之一實例係在美國專利申請案第17/246,356中進一步描述,該案之全文針對所有目的以引用的方式併入本文中。
如本文中所使用,打包包含自對應位置拾取一或多個物品/物體並以一組一或多個物品對應於一套件之一方式將一或多個物品放置於一預定位置中。用於打包一組物品之一打包系統及/或程序之一實例係在美國專利申請案第17/219,503中進一步描述,該案之全文針對所有目的以引用的方式併入本文中。
如本文中所使用,一視覺系統包含獲得感測器資料(例如,與一工作區相關的感測器資料)之一或多個感測器。感測器可包含一攝影機、一高清晰度攝影機、一2D攝影機、一3D (例如,RGBD)攝影機、一紅外(IR)感測器、產生一工作區(或一工作區之部分,諸如一棧板及該棧板上之物品堆棧)之三維視圖之其他感測器,前述之任何組合,及/或包括前述之複數個感測器之一感測器陣列等之一或多者。
揭示程式化地使用包括一個或多個機器人(例如,在操作端處具有吸力、夾持器及/或其他末端執行器之機器人手臂)之一機器人系統以碼垛堆積/卸除碼垛堆積及/或以其他方式包裝及/或拆包任意組非同質物品(例如,不同大小、形狀、重量、重量分佈、剛度、易碎性、類型、包裝等)的技術。
各項實施例包含用於拾取及放置物品之一系統、方法及/或裝置。該系統包含一通信介面及耦接至該通信介面之一或多個處理器。該通信介面經組態以自部署於一工作區中之一或多個感測器接收指示該工作區之一目前狀態之感測器資料,該工作區包括一棧板或其他容器及堆垛於該容器上或該容器中之複數個物品。該一或多個處理器經組態以:(i)控制一機器人手臂將第一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該第一組物品;(ii)基於放置於該棧板或其他容器上或該棧板或其他容器中或自該棧板或其他容器移除之該第一組物品來更新一幾何模型;(iii)使用該幾何模型結合該感測器資料來估計該棧板或其他容器及堆垛於該容器上或該容器中之一或多個物品之一狀態;及(iv)使用該經估計狀態來產生或更新用以控制該機器人手臂將第二組物品放置於該棧板或其他容器上或該棧板或其他容器中或自該棧板或其他容器移除該第二組物品之一計劃。
相關技術系統可單獨基於幾何資料(例如,藉由在不使用一工作區之感測器資料作為回饋的情況下驅動馬達來控制一機器人),或感測器資料(例如,基於感測器資料控制一機器人)來控制一機器人。然而,相關技術系統不使用幾何資料及感測器資料兩者結合判定或更新用以移動一物品之一計劃及控制一機器人手臂以根據該計劃移動該物品。此外,相關技術系統不組合幾何資料與感測器資料來判定/更新計劃及/或控制機器人手臂移動物品。對於僅依靠幾何資料結合控制一機器人手臂移動一物品之相關技術機器人系統,機器人系統具有關於機器人/機器人手臂之製造之非常嚴格容限。此等嚴格容限通常增加機器人/機器人手臂之成本。
可實施機器人系統以用物品組裝一棧板及/或拆卸一物品棧板。機器人系統可使用感測器及一機器人(例如,包括用以接合一物品之一末端執行器之一機器人手臂)。組裝於一棧板上之物品可為一組異質物品。機器人系統通常判定用於放置物品組之一計劃且接著控制一機器人手臂以根據該計劃放置物品組。例如,對於各物品,機器人系統通常判定棧板上之將放置物品之一目的地位置。當判定放置一物品之地方(例如,目的地位置)時,一機器人系統通常獲得針對工作區之感測器資料(諸如針對棧板或棧板上之物品堆棧之感測器資料)。機器人系統基於感測器資料判定目的地位置。
依靠感測器資料來判定放置物品之位置或用於將物品移動至位置之計劃可至少由於感測器資料中固有之雜訊及/或用於獲得感測器資料之感測器之未對準或錯誤校準而引起錯誤或以其他方式不準確。因此,用物品組裝一棧板及/或將物品自一棧板拆卸可為不可預測的。
由使用感測器資料來判定放置一物品之一目的地位置,及/或判定一棧板上之物品之組裝/拆卸(例如,物品之碼垛堆積/卸除碼垛堆積)引起之一些挑戰包含:
˙ 感測器資料中之雜訊。感測器資料中之雜訊源之實例包含:(i)反射離開工作區中之一物品或物體之光;(ii)工作區中、棧板/堆棧上之一物品上、及/或待放置之物品上之灰塵;(iii)較差品質反射表面(諸如鏡);(iv)工作區內之反射表面,諸如一機器人、一框架、一貨架、另一物品、棧板上之一物品等;(v)環境中之熱量或其他溫度變化;(vi)環境中之濕度;(vii)感測器中之振動;(viii)在感測器資料之擷取期間一感測器被碰撞或移動等。
˙ 至少部分基於一(若干)錯誤校準之感測器,感測器資料不準確。
˙ 至少部分基於一感測器未對準,感測器資料不準確。
˙ 至少部分基於一感測器錯誤,感測器資料不準確。
˙ 至少部分基於一感測器之一視野,感測器資料不準確或不完整。感測器之視野可因機器人之工作區內之一物品或物體而不完整或被阻擋。
˙ 基於一機械未對準或錯誤校準,機器人手臂之控制不準確/不精確。
各項實施例包含使用感測器資料及幾何資料(例如,一幾何模型)結合判定一棧板上之放置一或多個物品之一位置(或結合將一或多個物品自一棧板卸除碼垛堆積)的一機器人系統。一系統可使用不同資料源來模型化一棧板(或一棧板上之一物品堆棧)之狀態。例如,系統可估計棧板上之一或多個物品之位置及與該一或多個物品相關聯之一或多個特性(或屬性) (例如,(若干)物品之一大小)。與一或多個物品相關聯之一或多個特性可包含一物品大小(例如,物品之尺寸)、一重心、物品之一剛度、一包裝類型、一可變形性、一形狀、一識別碼之一位置等。
根據各項實施例,系統至少部分基於幾何資料(例如,工作區之一幾何模型)及感測器資料(例如,藉由部署於一工作區中之一或多個感測器獲得之資料)估計一工作區之一狀態(在本文中亦被稱為一經估計狀態)。回應於獲得工作區之經估計狀態,系統使用經估計狀態結合移動工作區中之一物品。例如,系統使用經估計狀態來判定用於自一源位置拾取一物品並將該物品放置於一目標位置(在本文中亦被稱為一目的地位置)處之一計劃及/或策略。
根據各項實施例,系統至少部分藉由基於幾何模型之至少部分及感測器資料之部分執行內插來判定經估計狀態。在一些實施例中,關於幾何模型之一第一部分及感測器資料之一第一部分執行以獲得經估計狀態之一第一部分之一內插程序不同於關於幾何模型之一第二部分及感測器資料之一第二部分執行以獲得經估計狀態之一第二部分之一內插。
在一些實施例中,系統使用經估計狀態結合判定用以對一或多個物品進行碼垛堆積之一計劃。例如,系統使用經估計狀態結合自包括一組物品(例如,輸入至工作區之一序列物品)之一輸送機(或其他物品源)選擇一物品、控制一機器人手臂拾取物品、選擇對應於一棧板上或一棧板上之一物品堆棧當中之一位置的一目的地位置、移動物品、及將物品放置於目的地位置處。
在一些實施例中,系統使用經估計狀態結合判定用以對一或多個物品進行卸除碼垛堆積之一計劃。例如,系統使用經估計狀態結合自一棧板或自一棧板上之一物品堆棧當中選擇一物品、控制一機器人手臂拾取物品、選擇對應於(例如,自工作區運送物品之)一容器或輸送機上之一位置的一目的地位置、移動物品及將物品放置於目的地位置處。
在一些實施例中,系統使用經估計狀態結合判定用以單分一或多個物品之一計劃。例如,系統使用經估計狀態結合自包括一組物品之一滑槽選擇一物品、控制一機器人手臂拾取物品、選擇一目的地位置(例如,一托盤、一輸送機之一片段等) 、移動物品、及將物品放置於目的地位置處。
在一些實施例中,系統使用經估計狀態結合判定用以執行關於一或多個物品之打包之一計劃。例如,系統使用經估計狀態結合自包括其上安置物品之複數個貨架之一打包貨架系統選擇一物品、控制一機器人手臂自一貨架拾取物品、選擇一目的地位置(例如,一容器,諸如一盒子、一運送箱等)、移動物品、及將物品放置於目的地位置處。
根據各項實施例,至少部分基於工作區中之一或多個物品之一或多個屬性來判定幾何模型。例如,幾何模型反映一組物品(例如,經碼垛堆積/堆垛之一第一組及待碼垛堆積/堆垛之第二組物品等之一或多者)之各自屬性。一物品之實例包含一物品大小(例如,物品之尺寸)、一重心、物品之一剛度、一包裝類型、一識別碼之一位置、物品之一可變形性、物品之一形狀等。可實施工作區內之一物品或物體之各種其他屬性。作為另一實例,幾何模型包括堆垛於容器(例如,棧板)上或容器(例如,棧板)中之一或多個物品的一預期穩定性。幾何模型可包含一組物品(例如,物品堆棧)的一預期穩定性及/或包括於物品堆棧中之個別物品的一預期穩定性。在一些實施例中,系統至少部分基於(i)一物品之一或多個屬性;及(ii)關於該物品及工作區中之另一物品或物體(例如,一棧板)之一或多個預期互動來判定該物品的一預期穩定性。例如,系統可基於接觸正針對其運算預期穩定性之物品(或接近於物品放置)之另一物品或物體之一屬性的一判定來判定預期穩定性。可影響一特定物品之預期穩定性的其他物品之屬性之實例包含剛度、可變形性、大小等。作為一實例,若一特定物品擱置於剛性之另一物品上,則如相較於該特定物品不管是擱置於非剛性還是剛性較小之另一物品上的情況,該特定物品有可能具有一改良之預期穩定性。作為另一實例,若一特定物品擱置於可變形(諸如包括軟包裝)之另一物品上,則如相較於其中該特定物品擱置於不可變形或不易變形之另一物品上的一情況,該特定物品有可能具有一較小預期穩定性。作為另一實例,若一特定物品擱置於具有大於該特定物品之一底部表面積之一頂部表面積之另一物品上,或若特定物品之一底表面之一相對較高百分比係由另一物品之一頂表面支撐,則該物品之預期穩定性相對較高或至少高於特定物品具有小於特定物品之一底部表面積之一頂部表面積的情況,或特定物品之底表面之一相對較高百分比未用另一物品之一頂表面支撐/與另一物品之一頂表面互動的情況。
在一些實施例中,系統調整感測器資料以考量雜訊(例如,感測器雜訊)。系統可至少部分基於視覺系統之一經驗分析來估計感測器資料中所包括之雜訊。例如,可執行視覺系統之效能之一經驗分析以判定在感測器資料中擷取(例如,固有)之雜訊。在一些實施例中,系統儲存與視覺系統相關聯之一預定感測器雜訊輪廓。系統可使用感測器雜訊輪廓結合調整感測器資料以考量雜訊。例如,系統可至少部分基於感測器輪廓應用調整以消除預期雜訊。視覺系統之效能之經驗分析可包含:(i)手動/實體地量測一物品或一工作區;(ii)使用視覺系統擷取一物品或工作區;及(iii)判定物品/工作區之手動/實體量測與使用感測器資料(例如,使用數位處理等)對物品/工作區進行之量測之間的差異。系統可將物品/工作區之手動/實體量測與使用感測器資料對物品/工作區進行之量測之間的差異視為雜訊輪廓。作為一實例,系統判定感測器資料之一方差及至少部分基於該方差來判定感測器雜訊輪廓。經驗分析可針對一組統計上顯著之實驗/量測來執行。雜訊(或感測器資料中之不準確性)之實例可包含(i)視覺系統之視野之邊緣處之一影像的不精確性;(ii)來自工作區中之物品或其他物體之眩光/反射等。
在一些實施例中,系統調整幾何模型以考量雜訊(例如,幾何雜訊或由幾何模型至實體世界之轉換(諸如經由控制一機器人手臂)引起之不精確性)。系統可至少部分基於機器人控制或工作區內之其他物體之精度之經驗分析(例如,一棧板之經估計變形、棧板之放置相對於幾何模型中使用之一位置之偏差等)來估計幾何模型中所包括之雜訊。例如,可執行對機器人手臂之控制(例如,以執行諸如放置一物品之一任務)之效能之經驗分析以判定在幾何模型中擷取(例如,固有)之雜訊。作為一實例,系統判定幾何模型中之一方差且至少部分基於該方差來判定幾何雜訊輪廓。在一些實施例中,系統儲存與視覺系統相關聯之一預定幾何雜訊輪廓。系統可使用幾何雜訊輪廓結合調整幾何模型以考量雜訊。例如,系統可應用調整以消除幾何模型中所包括之預期雜訊(例如,基於根據基於幾何模型所判定之一計劃來控制一機器人而產生之雜訊)。
根據各項實施例,系統使用幾何模型及感測器資料來判定工作區之一狀態之一最佳估計。系統可調整(例如,消除)幾何模型及/或感測器資料之一或多者中之雜訊。在一些實施例中,系統偵測根據幾何模型之一狀態與根據感測器資料之一狀態之間的異常或差異。回應於判定幾何模型與感測器資料之間的一異常或差異,儘管存在該異常或差異,系統仍可對狀態做出一最佳估計。例如,系統可判定是否使用幾何模型或感測器資料,或幾何模型及感測器資料之一組合(例如,幾何模型與感測器資料之間的一內插)等。在一些實施例中,系統在一逐片段基礎(例如,工作區中之一逐體素基礎、一逐物品基礎或逐物體基礎等)上判定經估計狀態。例如,可僅使用幾何模型來估計工作區之一第一部分,可僅使用感測器資料來估計工作區之一第二部分(例如,在幾何模型中出現一異常的情況下),及/或可基於幾何模型與感測器資料之一組合來估計工作區之一第三部分。
根據各項實施例,系統組合幾何模型與感測器資料以至少部分基於一預定偏差來判定工作區之經估計狀態。在一些實施例中,系統使用預定偏差結合判定是否將幾何模型或感測器資料視為用幾何模型或感測器資料之另一者修改之真實數據(ground truth) (例如,以消除幾何模型與感測器資料之間的異常)。作為一實例,若預定偏差指示幾何模型將有偏差,則系統可使用幾何模型並根據幾何模型用感測器資料補充狀態。系統可根據幾何模型針對狀態執行之一修改之一實例係使用感測器資料來確認幾何模型所預期之物品之放置,且若感測器資料與幾何模型之間的一差異超過一預定臨限值,則針對工作區之其中出現差異之一部分使用感測器資料,或藉由使用幾何模型及感測器資料之資料內插來修改幾何模型(例如,工作區之其中存在異常/差異之部分可經受內插,或整個工作區可經受內插等)。
在一些實施例中,至少部分基於是否幾何模型或感測器資料更準確之一判定來判定關於幾何模型及感測器資料之偏差(或應用於各類型之資訊之對應加權)。可透過經驗試驗,或基於幾何模型及/或感測器資料中所包括之資訊或雜訊之方差來判定幾何模型或感測器資料之準確性。機器人通常被視為比感測器更準確。因此,在一些實施例中,如相較於針對感測器資料之情況,偏差經設定為給予幾何模型優先或更高加權。例如,可設定一預設偏差以更優先地加權幾何模型而非感測器資料。
幾何模型與感測器資料可能不一致(例如,差異大於一預定差異臨限值)之一背景之一實例包含系統使用幾何模型來判定一組十個物品在經堆垛之對應位置中(例如,系統程式化地儲存十個物品放置等);然而,感測器資料可指示僅八個物品堆垛於位置(例如,物品將由幾何模型堆垛之位置)中。回應於判定感測器資料展示兩個盒子丟失,系統可判定幾何資料與感測器資料之間的差異是否因以下而出現:(i)一盒子自堆棧掉落(例如,感測器資料可包含地板上或堆棧之側面之一盒子);(ii)感測器之視野由另一物體(例如,機器人手臂)部分阻擋;(iii)未包含於感測器資料中之盒子係由幾何模型視為堆垛於其他盒子後面且因此在感測器資料之視野外等。
幾何模型與感測器資料可能不一致(例如,差異大於一預定差異臨限值)之一背景之另一實例包含系統將一特定物品放置於一物品堆棧當中/之上;然而,在該特定物品之放置之後,特定物品自物品堆棧掉落。根據此一背景中之幾何模型,系統將根據基於經估計狀態判定之計劃(例如,機器人手臂回應於根據計劃被控制而放置物品之位置)將物品視為在物品堆棧上。然而,感測器資料不包含放置於預期目的地位置處(例如,在物品堆棧當中)之特定物品。代替性地,感測器資料將反映物品已自物品堆棧掉落(例如,物品可在物品堆棧旁邊,或以其他方式在感測器資料之視野外)。回應於判定感測器資料展示物品丟失,系統可判定物品是否已自堆棧掉落(例如,感測器資料可包含地板上或堆棧之側面之一盒子)。
其中幾何模型與感測器資料可能彼此偏離(例如,差異大於一預定差異臨限值)之一背景之一實例包含若系統將物品放置於另一物品上,則藉此另一物品係可變形的。根據幾何模型,若另一物品之可變形性超過一預期變形(若有),則特定物品在可變形的另一物品上之放置可引起特定物品之實際放置可能偏離幾何模型(例如,物品之放置可偏斜達另一物品至少部分基於與放置於其上之特定物品之互動而變形的程度,或達另一物品之變形超過一預期變形的程度)。
可基於使用者偏好(例如,一管理者之定義)或一預定義狀態判定原則來設定預定偏差。可基於拾取及放置物品之經驗資料或模擬來設定預定狀態判定原則。例如,預定偏差對應於用於最小化與移動物品或對物品進行碼垛堆積相關聯之一成本函數之一最佳偏差(例如,一最適偏差)。在一些實施例中,成本函數至少部分基於移動(若干)物品之效率、移動(若干)物品之一預期時間、移動/堆垛(若干)物品之成功之一可能性、與一物品之放置相關聯的一預期穩定性(例如,在放置一特定物品之後物品之穩定性、在放置特定物品之後一或多個其他物品或堆棧之穩定性等)等之一或多者。在一些實施例中,預定偏差係自對應於針對其一成本函數小於一預定成本臨限值之物品之放置之一組潛在偏差選擇。
根據各項實施例,系統使用預定偏差結合判定幾何模型及感測器資料之各自加權。例如,系統判定對應於幾何模型之一第一加權及對應於感測器資料之一第二加權,且系統使用幾何模型與感測器資料之一組合(例如,根據第一加權及第二加權組合等)來判定工作區之經估計狀態。
回應於獲得一目前經估計狀態,系統使用該經估計狀態來判定用於移動工作區內之一第一物品(例如,將物品堆垛於一物品堆棧上)之一第一計劃且系統控制一機器人以根據該第一計劃移動該第一物品。回應於放置第一物品,系統使用對應於第一物品之放置之幾何資料結合判定一初始更新之經估計狀態。系統獲得感測器資料(例如,自一視覺系統)、分割感測器資料以判定物體(例如,識別工作區之感測器模型中之物體)、及至少部分基於初始更新之經估計狀態(例如,幾何模型)及感測器資料來判定一經更新估計狀態。例如,系統組合幾何模型與感測器資料結合判定更新之經估計狀態。回應於判定更新之經估計狀態,系統使用更新之經估計狀態來判定用於移動工作區內之一第二物品之一第二計劃且系統控制機器人以至少部分基於該第二計劃移動該第二物品。
幾何模型及感測器資料(例如,幾何模型之一組合)之使用使各項實施例能夠相較於相關技術系統為低成本的。例如,系統可使用幾何模型及感測器資料來偵測異常(例如,由幾何模型或感測器資料引入)且儘管存在異常仍判定工作區之一經估計狀態(例如,基於幾何模型或感測器資料之選擇性使用,或兩者之間的一內插)。因此,雖然相關技術系統需要高精度(例如,高容限)機器人或高精度攝影機,但各項實施例可使用相對較低精度(例如,較低容限)機器人或一較低精度(例如,較低容限)視覺系統。相關技術系統之機器人或攝影機之高容限要求導致由此等系統使用之機器人及/或攝影機非常昂貴。根據各項實施例,幾何模型及感測器資料兩者之組合可降低成本及對機器人或視覺系統之準確度/精度之需求。
根據各項實施例,回應於機器人將一物品放置於棧板上,用於估計棧板及/或棧板上之一物品堆棧之一狀態之一系統記錄與物品之放置相關的資訊(例如,物品之一位置、物品之一大小等)。例如,系統基於機器人已將各種物品放置於棧板上之位置而具有系統之狀態之邏輯知識。邏輯知識可對應於幾何資料,諸如基於控制機器人所藉助之方式獲得之資訊。然而,邏輯知識可不同於棧板及/或棧板上之一物品堆棧之真實世界狀態。類似地,如上文所論述,如藉由視覺系統偵測之棧板及/或棧板上之一物品堆棧之狀態(例如,基於感測器資料模型化之真實世界狀態)可不同於諸如基於感測器資料中之雜訊或不準確/不完整感測器資料之真實世界狀態。各項實施例使用幾何資料(例如,邏輯知識)及感測器資料來組合世界觀。使用幾何資料及感測器資料兩者來模型化世界填充各資料集之世界觀中之間隙。例如,可使用基於視覺系統獲得之感測器資料結合判定是否需要更新/細化棧板或棧板上之物品堆棧之一預期狀態。根據各項實施例之狀態估計對棧板及/或棧板上之物品堆棧之狀態提供比僅使用感測器或僅使用幾何資料可能實現的情況更佳的估計。此外,可使用棧板及/或棧板上之物品堆棧之經估計狀態結合將物品碼垛堆積至一棧板/將物品自一棧板卸除碼垛堆積。使用棧板及/或棧板上之物品堆棧之狀態之較佳經估計狀態結合判定將物品碼垛堆積至一棧板/將物品自一棧板卸除碼垛堆積可提供較佳放置,此可導致較佳最終棧板(例如,更緊密/密集包裝之棧板、更穩定棧板等)。
在一些實施例中,回應於使用幾何資料之棧板或物品堆棧之預期狀態與使用視覺系統(例如,感測器資料)之棧板或物品堆棧之狀態充分不同之一判定,系統可向一使用者提供一指示。例如,系統可提示使用者確認使用幾何資料之預期狀態是否正確,使用視覺系統之狀態是否正確,或兩者皆不正確且使用者將修改目前狀態。使用者可使用一使用者介面來調和使用幾何資料之預期狀態與使用視覺系統之狀態之間的差異。使用幾何資料之預期狀態與使用視覺系統之狀態充分不同之判定可基於兩個狀態或狀態之模型之間的一差異超過一預定義臨限值的一判定。
根據各項實施例,用於估計棧板及/或棧板上之物品堆棧之狀態之系統係在一不同運算系統(諸如一(若干)伺服器)上實施。用於使用幾何資料模型化狀態,使用視覺系統(例如,感測器資料)模型化狀態,及更新預期狀態(例如,基於狀態之間的差異之一調和)之模組或演算法可為高成本的且需要相對大量運算能力。此外,機器人工作區或控制機器人之電腦系統處之處理能力可約束用以執行模組之運算能力及/或頻寬。在一些實施例中,控制機器人之系統可獲得與待放置之物品相關的感測器資料及資訊,且經由一或多個網路將與待放置之物品相關的該感測器資料及資訊發送至一伺服器。在一些實施例中,可使用複數個伺服器結合實施用於估計系統之狀態(例如,棧板之狀態及/或棧板上之物品堆棧之狀態)之不同模組。例如,用於使用幾何資料模型化狀態之一模組可由一第一伺服器執行,用於使用視覺系統模型化狀態之一模組可由一第二伺服器執行,且用於至少部分基於狀態之間的差異更新預期狀態之一模組可由一第三伺服器執行。可實施用於判定預期狀態之不同模組之各種伺服器可互相通信。
在一些實施例中,判定一經估計狀態之一系統(例如,一棧板狀態估計器模組/服務等)可儲存及/或管理(i)基於幾何資料模型化之狀態與(ii)基於視覺系統模型化之狀態之間的一差異。例如,棧板狀態估計器可儲存/管理棧板及/或棧板上之物品對轉之一目前狀態。棧板狀態估計器可為由一電腦系統(諸如控制將物品碼垛堆積至棧板/將物品自棧板去碼堆積之機器人之機器人系統),或由與控制機器人之機器人系統通信之一伺服器執行之一模組。
根據各項實施例,可使用棧板狀態估計器結合判定在各物品之計劃/放置期間之一目前狀態。例如,控制機器人及/或判定用於移動物品之一計劃之機器人系統可查詢棧板狀態估計器結合判定用以移動物品之一計劃。可使用(i)與待放置之物品相關的資訊及(ii)由視覺系統獲得之目前感測器資料來查詢棧板狀態估計器。使用幾何資料之目前狀態可由棧板狀態估計器儲存或存取。在一些實施例中,可將與目前幾何資料相關的資訊傳送至棧板狀態估計器結合向棧板狀態估計器查詢目前狀態。在一些實施例中,由於使用幾何資料及視覺系統(例如,感測器資料)兩者判定目前狀態之運算強度,可在放置預定數目個物品(例如,N個物品、N為一整數)之後向棧板狀態估計器查詢目前狀態。例如,可以一固定頻率查詢棧板狀態查詢器。作為另一實例,可回應於判定經放置之一物品(例如,一先前放置之物品)具有一不規則形狀或一特定類型之包裝(例如,具有很小剛度之一包裝類型,諸如一塑膠袋)而查詢棧板狀態估計器。
在一些實施例中,棧板狀態估計器在一物品之放置之後反覆地更新其狀態內部模型(例如,世界、棧板及/或棧板上之物品堆棧等)。狀態之內部模型可對應於棧板及/或棧板上之物品堆棧之一目前狀態。棧板狀態估計器可在各物品之放置之後更新其內部模型。例如,控制機器人之機器人系統可提供與物品相關的資訊(例如,物品之(若干)特定,諸如尺寸、重量、重心等)、由視覺系統獲得之感測器資料、及/或對應於控制機器人以放置物品之位置之幾何資料。回應於接收與物品相關的資訊、感測器資料及/或幾何資料,棧板狀態估計器可更新其內部模型。例如,棧板狀態估計器可(i)將感測器資料提供至用於使用感測器資料模型化狀態之一模組;(ii)將幾何資料及/或與物品相關的資訊提供至用於使用幾何資料模型化狀態之模組;及(iii)基於根據感測器資料之狀態之一模型及/或根據幾何資料之狀態之一模型(例如,或兩種狀態之間的一差異)更新其內部模型。
可使用棧板作為參考(例如,可使用棧板之一底部作為作為堆棧之底部之一參考點等)來判定棧板及/或物品堆棧之狀態之模型。可在放置一物品之後更新模型,使得在放置物品之位置處表示物品。狀態之模型可儲存為一個二維網格(例如,10 x 10)。模型可進一步包括與棧板上之物品堆棧中之各物品相關聯之資訊。例如,與物品相關聯之一或多個特性可與模型中之物品相關聯地儲存。在一些實施例中,可基於堆棧上之各種物品之位置及與物品相關聯之一或多個特性來判定/運算物品堆棧之一穩定性。可基於經儲存模型之單元與實體世界之間的一經判定轉換將棧板之狀態之模型轉換為實體世界中之一表示。
本申請案主張2021年6月16日申請之標題為STATE ESTIMATION USING GEOMETRIC DATA AND VISION SYSTEM FOR PALLETIZING之美國臨時專利申請案第63/211,361號之優先權,該案針對所有目的以引用的方式併入本文中。
各項實施例包括包括一種機器人系統,其包括一通信介面及耦接至該通信介面之一或多個處理器。該一或多個處理器可經組態以:經由該通信介面接收與待堆垛於一目的地位置上或該目的地位置中之複數個物品相關聯之資料;至少部分基於該經接收資料產生用以將該等物品堆垛於該目的地位置上或該目的地位置中之一計劃;及至少部分藉由控制機器人手臂以根據該計劃拾取該等物品及將該等物品堆垛於該目的地位置上或該目的地位置中來實施該計劃。產生用以將物品堆垛於目的地位置上或目的地位置中之計劃可包括,對於各物品:至少部分基於與該物品相關聯之一特性及(i)其上將堆垛一或多個物品之一平台或容器之一特性及(ii)該平台或容器上之一物品堆棧之一目前狀態之至少一者來判定目的地位置,其中:平台或容器上之一物品堆棧之目前狀態係至少部分基於與該物品堆棧中所包括之一或多個物品之放置相關的幾何資料,及由一視覺系統獲得之與物品堆棧相關的感測器資料。可至少部分基於與物品堆棧中所包括之一或多個物品之放置相關的幾何資料與由一視覺系統獲得之與物品堆棧相關的感測器資料之間的一差異來判定物品堆棧之目前狀態。可至少部分基於機器人系統查詢運行於一伺服器上之一棧板狀態估計器來獲得平台或容器上之物品堆棧之目前狀態。
圖1係繪示根據各項實施例之用以對異質物品進行碼垛堆積及/或卸除碼垛堆積之一機器人系統的一圖式。在一些實施例中,機器人系統100係至少部分在圖3之程序300、圖4之程序400、圖5之程序500、圖6之程序600、圖8之程序800及/或圖9之程序900中實施。
在所展示之實例中,機器人系統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包含經組態以在此實例中經由無線通信(但在各項實施例中,以有線及無線通信之一或兩者)與元件(諸如機器人手臂102、輸送機104、末端執行器108,及諸如攝影機112、114及116及/或圖1中未展示之重量、力及/或其他感測器之感測器)通信的一控制電腦118。在各項實施例中,控制電腦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上運行一實體引擎以模型化物品之堆垛(例如,模型化一物品堆棧之一狀態/穩定性等)來判定幾何模型。可基於工作區之各種組件之一預期互動來判定幾何模型,諸如一物品與另一物品、一物體或施加至堆棧之一經模擬力(例如,用以模型化使用一叉車或其他裝置來升高/移動一物品堆棧位於其上的一棧板或其他容器)。
在一些實施例中,系統在各物品之移動(例如,放置)之後更新幾何模型。例如,系統維護對應於工作區之一狀態(諸如一物品堆棧之一狀態/穩定性及該物品堆棧當中之一或多個物品之位置)之幾何模型(例如,儲存幾何模型)。幾何模型使用一目前幾何模型結合判定用以移動一物品之一計劃及控制一機器人手臂移動一物品。回應於物品之移動,系統更新幾何模型以反映物品之移動。例如,在對一物品堆棧進行卸除碼垛堆積之情況下,回應於自物品堆棧拾取及移動一特定物品,系統更新幾何模型使得該特定物品不再被表示為在堆棧上且被包括於幾何模型中在放置特定物品之一目的地位置處,或倘若該目的地位置在工作區之外,則更新幾何模型以移除物品。此外,更新幾何模型以反映在自堆棧移除特定物品之後物品堆棧之一穩定性。作為另一實例,在對一組物品進行碼垛堆積之情況下,系統更新幾何模型以反映一物品堆棧上/當中之一特定物品之放置。系統可至少部分基於物品堆棧上/當中之物品之放置更新幾何模型以包含物品堆棧之一經更新穩定性(例如,以基於特定物品之放置反映特定物品與其他物品之互動或其他物品當中之互動)。
在一些實施例中,系統在(i)預定數目個物品之移動(例如,放置)或(ii)該預定數目個物品之較早移動或一異常(諸如滿足一或多個異常準則之一異常) (例如,異常之程度超過一異常臨限值等)之偵測之後,更新目前狀態(例如,基於對幾何模型之一更新進行更新)。可基於使用者偏好、一機器人控制系統原則設定或以其他方式基於物品之放置之經驗分析判定預定數目個物品(例如,X個物品,X為一正整數)。作為一實例,基於物品之數目導致關於一預定成本函數(例如,反映一效率、一穩定性、預期穩定性變化等之一成本函數)之一最優/最佳結果的一判定來設定物品之預定數目。作為一實例,系統判定一目前經估計狀態且使用該目前經估計狀態來判定用於移動接下來X個物品之一計劃,且在移動X個物品(例如,物品之堆垛或拆垛)之後,系統判定一更新之經估計狀態(例如,反映X個物品之放置之一幾何更新/模型)。系統至少部分基於幾何模型及感測器資料(例如,一目前幾何模型及目前感測器資料等)之一組合來判定經更新狀態。系統接著使用經更新狀態結合判定一計劃及控制一機器人以根據該計劃放置下一組物品。
在一些實施例中,動態地判定系統更新經估計狀態之頻率。例如,系統動態地判定對應於在其移動之後系統更新經估計狀態之物品之數目之值X。在一些實施例中,系統至少部分基於物品之一或多個屬性(例如,一先前移動/放置之物品之一屬性、及/或待移動之一物品之一屬性)來動態地判定值X (例如,對應於經估計狀態之一更新頻率)。作為一實例,系統基於在使用目前經估計狀態放置X個物品之組之前(例如,緊接在之前等)已放置一不規則放置之物品或可變形物品或X個物品之組包括一不規則形狀之物品或可變形物品之一判定來判定值X。
經估計狀態之動態判定/更新之一實例包含:(i)控制一機器人手臂以將第一組X個物品放置於棧板或其他容器上或棧板或其他容器中,或自棧板或其他容器移除該第一組X個物品;(ii)判定一經估計狀態(例如,其反映第一組X個物品之放置/移除);(iii)使用該經估計狀態來產生或更新用以控制機器人手臂將第二組Y個物品放置於棧板或其他容器上或棧板或其他容器中,或自棧板或其他容器移除該第二組Y個物品的一計劃;及/或(iv)控制一機器人手臂將第一組Y個物品放置於棧板或其他容器上或棧板或其他容器中,或自棧板或其他容器移除該第一組Y個物品。在一些實施例中,在堆垛N個物品之後估計堆垛於棧板或其他容器上或棧板或其他容器中之一或多個物品之狀態。
儘管前文實例係在一系統將一組物品碼垛堆積於一或多個棧板上之背景下論述,但機器人系統亦可結合將一組物品自一或多個棧板卸除碼垛堆積來使用。
圖2係繪示根據各項實施例之用以對異質物品進行碼垛堆積及/或卸除碼垛堆積之一機器人系統的一圖式。在一些實施例中,系統200係至少部分由圖3之程序300、圖4之程序400、圖5之程序500、圖6之程序600、圖8之程序800及/或圖9之程序900實施。
在所展示之實例中,系統200包含一機器人手臂205。在此實例中,機器人手臂205係固定的,但在各項替代實施例中,機器人手臂205可為完全或部分行動的,例如,安裝於一軌條上,在一機動化底盤上完全行動的等。在其他實施方案中,系統200可包含具有一工作區之複數個機器人手臂。如所展示,機器人手臂205係用於拾取來自一輸送機(或其他源) 225及230之任意及/或異種物品,以及一棧板(例如,平台或其他容器) (諸如棧板210、棧板215及/或棧板220)上之物品。在一些實施例中,圖2中未展示之其他機器人可用於將棧板210、棧板215及/或棧板220推動至適當位置中以待裝載/卸載及/或至一卡車或其他目的地中以待運輸等。
如圖2中所繪示,系統200可包括一或多個預定義區。例如,棧板210、棧板215及棧板220經展示為定位於該等預定義區內。預定義區可由地面上之標記物或標記表示或以其他方式在結構上諸如經由系統200中所展示之框架表示。在一些實施例中,預定義區可圍繞機器人手臂205徑向定位。在一些情況下,將一單個棧板插入至一預定義區中。在其他情況下,將一或多個棧板插入至一預定義區中。預定義區之各者可定位於機器人手臂205之範圍內(例如,使得機器人手臂205可將物品放置於一對應棧板上,或將物品自對應棧板卸除碼垛堆積等)。在一些實施例中,預定義區或定位於一預定義區內之棧板之一者係用作其中臨時儲存物品之一緩衝或停靠區域(例如,諸如臨時儲存器,直至將物品放置於一預定義區中之一棧板上)。
可諸如經由輸送機225及/或輸送機230將一或多個物品提供(例如,運送)至機器人手臂205之工作區。系統200可控制輸送機225及/或輸送機230之一速度。例如,系統200可獨立於輸送機230之速度來控制輸送機225之速度,或系統200可控制輸送機225及/或輸送機230之速度。在一些實施例中,系統200可暫停輸送機225及/或輸送機230 (例如,容許機器人手臂205有足夠時間來拾取及放置物品)。在一些實施例中,輸送機225及/或輸送機230運送一或多個載貨單(例如,訂單)之物品。例如,輸送機225及輸送機230可運送同一載貨單及/或不同載貨單之物品。類似地,棧板/預定義區之一或多者可與一特定載貨單相關聯。例如,棧板210及棧板215可與同一載貨單相關聯。作為另一實例,棧板210及棧板220可與不同載貨單相關聯。
系統200可控制機器人手臂205以自一輸送機(諸如輸送機225或輸送機230)拾取一物品並將該物品放置於一棧板(諸如棧板210、棧板215或棧板220)上。機器人手臂205可至少部分基於與物品相關聯之一計劃拾取物品並將物品移動至一對應目的地位置(例如,一棧板或一棧板上之堆棧上之一位置)。在一些實施例中,系統200判定(諸如在物品在輸送機上時)與物品相關聯之計劃,且系統200可在拾取物品時更新計劃(例如,基於物品之一所獲得屬性,諸如重量;或回應於由工作區中之一感測器獲得之資訊,諸如與另一物品或人類之一預期碰撞之一指示等)。系統200可獲得與物品相關聯之一識別碼,諸如一條碼、QR碼或物品上之其他識別碼或資訊。例如,系統200可在物品在輸送機上運送時掃描/獲得識別碼。回應於獲得識別碼,系統200可結合判定其上將放置物品之棧板(諸如藉由對物品識別碼至載貨單之一映射及/或載貨單至棧板之一映射執行一查找)來使用識別碼。回應於判定對應於物品所屬之載貨單/訂單之一或多個棧板,系統200可至少部分基於棧板上之物品之堆棧之一模型或模擬及/或物品在棧板上之一放置來選擇其上放置物品之一棧板。系統200亦可判定物品將放置於選定棧板上之一特定位置(例如,目的地位置)。另外,可判定用於將物品移動至目的地位置之一計劃,包含可沿著其移動物品之一經計劃路徑或軌跡。在一些實施例中,在機器人手臂205移動物品時更新計劃,諸如結合執行用以改變或適應與工作區中之一或多個物品/物體相關聯之一經偵測狀態或條件的一主動措施(例如,避免一預期碰撞事件,考量物品之一經量測重量大於一預期重量,在物品移動時減少物品上之剪切力等)。
根據各項實施例,系統200包括一或多個感測器及/或感測器陣列。例如,系統200可包含在輸送機225及/或輸送機230之接近度內之一或多個感測器,諸如感測器240及/或感測器241。一或多個感測器可獲得與輸送機上之一物品相關聯之資訊,諸如物品之標記上之一識別碼或資訊,或物品之一屬性(諸如物品之一尺寸)。在一些實施例中,系統200包含獲得與一預定義區及/或該區中之一棧板相關的資訊之一或多個感測器及/或感測器陣列。例如,系統200可包含獲得與棧板220或棧板220所處之預定義區相關聯之資訊之一感測器242。感測器可包含用以產生一工作區(或一工作區之部分,諸如一棧板及該棧板上之物品堆棧)之一三維視圖之一或多個2D攝影機、3D (例如,RGBD)攝影機、紅外及其他感測器。可使用與一棧板相關的資訊結合判定該棧板及/或棧板上之一物品堆棧之一狀態。作為一實例,系統200可至少部分基於與一棧板相關的資訊來產生該棧板上之一物品堆棧之一模型。系統200可繼而使用該模型結合判定用於將一物品放置於一棧板上之一計劃。作為另一實例,系統200可至少部分基於與棧板相關的資訊來判定一物品堆棧係完整的。
根據各項實施例,系統200至少部分基於一棧板上之一堆棧之一穩定性的一判定來判定用於拾取及放置一物品之一計劃(或更新該計劃)。系統200可判定棧板210、215及/或220之一或多者之堆棧之一模型,且系統200可使用該模型結合判定其上放置一物品之堆棧。作為一實例,若待移動之下一物品相對較大(例如,使得物品之一表面積相對於棧板之一佔用面積較大),則系統200可判定將物品放置於棧板210上可引起棧板210上之堆棧變得不穩定(例如,由於堆棧之表面係非平面的)。相比而言,系統200可判定將相對較大(例如,平面)物品放置於棧板215及/或棧板220之堆棧上可導致一相對穩定的堆棧。棧板215及/或棧板220之堆棧之頂表面相對平面的且將一相對較大物品放置於其上可不導致棧板之不穩定性。系統200可判定將物品放置於棧板215及/或棧板220上的一預期穩定性可大於一預定穩定性臨限值,或將物品放置於棧板215或棧板220上可導致物品之一最佳化放置(例如,至少關於穩定性)。
系統200可傳送一預定義區內之一棧板之一狀態及/或機器人手臂205之操作。可將棧板之狀態及/或機器人手臂之操作傳送給一使用者或其他人類操作員。例如,系統200可包含一通信介面(未展示),與系統200之狀態(例如,一棧板、一預定義區、一機器人手臂等之一狀態)相關的資訊經由該通信介面傳送至一終端機(諸如一按需遙操作裝置及/或由一人類操作員使用之一終端機)。作為另一實例,系統200可包含一預定義區之接近度內之一狀態指示器(諸如狀態指示器245及/或狀態指示器250)。
狀態指示器250可結合傳送對應預定義區內之一棧板之一狀態及/或機器人手臂205之操作來使用。例如,若系統200相對於棧板220所處之預定義區係作用中的,則狀態指示器可如此指示,諸如經由打開一綠色燈或以其他方式經由狀態指示器250傳送作用中狀態之資訊或一指示。回應於判定機器人手臂205主動地對一預定義區內之棧板上之一或多個物品進行碼垛堆積,可判定系統200相對於該預定義區處於一作用中狀態。作為另一實例,若系統200相對於棧板220所處之預定義區係非作用中的,則狀態指示器可如此指示,諸如經由打開一紅色燈或以其他方式經由狀態指示器250傳送作用中狀態之資訊或一指示。回應於判定機器人手臂205非主動地對預定義區內之棧板上之一或多個物品進行碼垛堆積,例如,回應於一使用者暫停該預定義區(或胞元),或回應於判定棧板220上之物品之一碼垛堆積完成,可判定系統200為非作用中的。一人類操作員或使用者可使用狀態指示器作為關於進入對應預定義區是否係安全的之一指示。例如,工作以自對應預定義區移除已完成之棧板或將空棧板插入至對應預定義區之一使用者可參考對應狀態指示器且確保在狀態指示器指示預定義區內之操作係非作用中時進入預定義區。
根據各項實施例,系統200可使用由工作區內之一或多個感測器獲得之資訊來判定與棧板及/或堆垛於棧板上之物品相關的一異常狀態。例如,系統200可至少部分基於由該(等)感測器獲得之資訊來判定一棧板相對於機器人手臂205及/或對應預定義區未對準。作為另一實例,系統200可至少部分基於由(若干)感測器獲得之資訊來判定一堆棧係不穩定的,一棧板上之物品正經歷一紊流等。回應於偵測到異常狀態,系統可將異常狀態之一指示傳送諸如至一按需遙操作裝置或由一操作員使用之其他終端機。在一些實施例中,回應於偵測到異常狀態,系統200可自動地將棧板及/或對應區設定為一非作用中狀態。除了向一操作員通知異常狀態之外或作為其替代,系統200可執行一主動措施。該主動措施可包含控制機器人手臂205以至少部分校正異常狀態(例如,重新堆垛掉落之物品、重新對準棧板等)。在一些實施方案中,回應於偵測到一經插入棧板未對準(例如,錯誤地插入至預定義區),系統200可校準用於模型化一堆棧及/或用於將物品放置於棧板上之程序以校正未對準。例如,系統200可在判定及實施用於將一物品放置於棧板上之一計劃時產生及使用對應於未對準之一偏移。在一些實施例中,回應於判定一異常程度小於一臨限值,系統200執行主動措施以部分校正異常狀態。判定一異常程度小於一臨限值之實例包含:(i)棧板之未對準小於一臨限未對準值之一判定;(ii)經離開原位(dislodge)、錯放或掉落之物品之一數目小於一臨限數目之一判定;(iii)一經離開原位、錯放或掉落之物品之一大小滿足一大小臨限值之一判定等。
一人類操作員可經由一網路(諸如一有線網路及/或一無線網路)與系統200通信。例如,系統200可包括一通信介面,系統200經由該通信介面連接至一或多個網路。在一些實施例中,經由網路連接至系統200之一終端機提供一使用者介面,人類操作員可經由該使用者介面向系統200提供指令,及/或人類操作員可經由該使用者介面獲得與系統200之一狀態(例如,機器人手臂之一狀態、一特定棧板之一狀態、用於一特定載貨單之一碼垛堆積程序之一狀態等)相關的資訊。人類操作員可經由至使用者介面之一輸入向系統200提供一指令。例如,一人類操作員可使用使用者介面暫停機器人手臂,暫停關於一特定載貨單之一碼垛堆積程序,暫停用於一特定棧板之一碼垛堆積程序,在作用/非作用之間切換一棧板/預定義區之一狀態等。
在各項實施例中,可增添、移除、換出等系統200之元件。在此一例項中,一控制電腦初始化及註冊新元件,執行操作測試,且開始/恢復(例如)併入有新增添之元件之打包操作。
根據各項實施例,系統200判定(例如,運算、維持、儲存等)複數個區中之各棧板(例如,棧板210、棧板215及/或棧板220)之一經估計狀態,或複數個區當中之棧板組之一彙總之經估計狀態,或個別經估計狀態及一彙總之經估計狀態兩者。在一些實施例中,個別經估計狀態及彙總之經估計狀態經判定為類似於結合圖1之機器人系統100描述之經估計狀態。
根據各項實施例,系統200包括包含一或多個感測器(例如,感測器240、感測器241等)之一視覺系統。在各項實施例中,系統200使用感測器資料及幾何資料(例如,一幾何模型)結合判定一位置以將一或多個物品放置於一棧板上(或結合將一或多個物品自一棧板卸除碼垛堆積)。系統200使用不同資料源來模型化一棧板(或一棧板上之一物品堆棧)之狀態。例如,系統200可估計(若干)棧板上之一或多個物品之位置及與該一或多個物品相關聯之一或多個特性(或屬性) (例如,(若干物品)之一大小)。與一或多個物品相關聯之一或多個特性可包含一物品大小(例如,物品之尺寸)、一重心、物品之一剛度、一包裝類型、一識別碼之一位置等。
系統200至少部分基於工作區中之一或多個物品之一或多個屬性來判定幾何模型。例如,幾何模型反映一組物品(例如,經碼垛堆積/堆垛之一第一組及待碼垛堆積/堆垛之第二組物品等之一或多者)之各自屬性。一物品之實例包含一物品大小(例如,物品之尺寸)、一重心、物品之一剛度、一包裝類型、一識別碼之一位置、物品之一可變形性、物品之一形狀等。可實施工作區內之一物品或物體之各種其他屬性。
由系統200產生之模型可對應於或至少部分基於一幾何模型。在一些實施例中,系統200至少部分基於已經放置之一或多個物品(例如,系統200控制之機器人手臂205放置之物品)、分別與該一或多個物品之至少一子集相關聯之一或多個屬性、工作區內之一或多個物體(例如,預定物體,諸如一棧板、一(若干)機器人手臂、一貨架系統、一滑槽,或工作區中所包括之其他基礎設施)等來產生幾何模型。可至少部分基於在控制電腦上運行一實體引擎以模型化物品之堆垛(例如,模型化一物品堆棧之一狀態/穩定性等)來判定幾何模型。可基於工作區之各種組件之一預期互動來判定幾何模型,諸如一物品與另一物品、一物體、施加至堆棧之一經模擬力(例如,用以模型化使用一叉車或其他裝置來升高/移動一物品堆棧位於其上的一棧板或其他容器)等。
根據各項實施例,系統200使用幾何模型及感測器資料來判定工作區之一狀態之一最佳估計。系統200可調整(例如,消除)幾何模型及/或感測器資料之一或多者中之雜訊。在一些實施例中,系統200偵測根據幾何模型之一狀態與根據感測器資料之一狀態之間的異常或差異。回應於判定幾何模型與感測器資料之間的一異常或差異,儘管存在該異常或差異,系統200可對狀態做出一最佳估計。例如,系統200判定是否使用幾何模型或感測器資料,或幾何模型及感測器資料之一組合(例如,幾何模型與感測器資料之間的一內插)等。在一些實施例中,系統200在一逐片段基礎(例如,工作區中之一逐體素基礎、一逐物品基礎或逐物體基礎等)上判定經估計狀態。例如,可僅使用幾何模型來估計工作區之一第一部分,可僅使用感測器資料來估計工作區之一第二部分(例如,在幾何模型中出現一異常的情況下),及/或可基於幾何模型與感測器資料之一組合來估計工作區之一第三部分。使用圖2中繪示之實例,結合判定一彙總之經估計狀態,系統200可僅使用幾何模型來判定棧板210上之物品堆棧之個別經估計狀態,僅使用感測器資料來判定棧板215上之物品堆棧之個別經估計狀態,及針對棧板220上之物品堆棧使用各自幾何模型及感測器資料之一組合。
儘管前文實例係在一系統將一組物品碼垛堆積於一或多個棧板上之背景下論述,但機器人系統亦可結合將一組物品自一或多個棧板卸除碼垛堆積來使用。
圖3係繪示根據各項實施例之用以對一或多個物品進行碼垛堆積之一程序的一流程圖。在一些實施例中,程序300係至少部分由圖1之機器人系統200及/或圖2之系統200實施。
在310,獲得一物品清單。該物品清單可對應於待共同碼垛堆積於一或多個棧板上之一組物品。根據各項實施例,至少部分基於將履行一載貨單或訂單之一指示來判定待碼垛堆積之一組物品。例如,回應於接收一訂單,可產生該訂單之一物品清單。作為另一實例,可產生對應於待發送至同一接收者之複數個訂單之一物品清單。
物品可定位於一倉庫內之一貨架或其他位置上。為對物品進行碼垛堆積,將物品移動至對物品進行碼垛堆積之一機器人系統。例如,物品可放置於將物品移動至一或多個機器人手臂之範圍內之一或多個輸送機上,該一或多個機器人手臂將物品碼垛堆積於一或多個棧板上。回應於獲得物品清單,至少一些物品係與一特定機器人手臂、對應於該特定機器人手臂之一預定義區,及/或一特定棧板(例如,一棧板識別碼、定位於一預定義區中之一棧板)等相關聯。
在320,基於物品清單及可用的感測器資訊執行計劃(或重新計劃)以產生用以拾取/放置物品之一計劃。計劃可包含用於擷取物品清單上之一或多個物品及將此等物品放置於對應一或多個輸送機上以將物品運送至一機器人手臂之一或多個策略。根據各項實施例,至少部分基於物品清單判定將物品清單上之物品提供至適用機器人手臂以用於碼垛堆積之一順序。
將物品放置於輸送機上之順序可至少不嚴謹地基於物品及一或多個棧板上之物品之一預期堆棧。例如,判定將物品放置於輸送機上之順序之系統可產生物品之一(若干)預期堆棧之一模型,及基於該模型來判定順序(例如,以便首先遞送形成堆棧之基底/底部之物品且逐步遞送堆棧上更高之物品)。在物品清單上之物品將被碼垛堆積於複數個棧板上之情況下,預期形成各自堆棧之基底/底部(或以其他方式相對靠近堆棧之底部)之物品可在預期實質上在堆棧之中間或頂部之物品之前放置於輸送機上。待碼垛堆積於複數個棧板上之各種物品可在彼此當中散佈且機器人系統可在到達機器人手臂時對物品進行分類(例如,機器人手臂可至少基於物品(諸如物品之識別碼或物品之一屬性)拾取物品並將其放置於一適用棧板上)。因此,對應於對應堆棧之基底/底部部分之物品可在彼此當中散佈且各棧板/堆棧之各種物品可在構建對應堆棧時放置於輸送機上。
電腦系統可產生屬於物品清單之物品之一或多個預期堆棧之一模型。該模型可至少部分基於一或多個臨限值(諸如一契合臨限值或穩定性臨限值)、其他包裝度量(例如,密度)等來產生。例如,電腦系統可產生其的一預期穩定性值滿足(例如,超過)穩定性臨限值之一堆棧之一模型。該模型可使用一機器學習程序產生。該機器學習程序可基於諸如先前物品堆棧之歷史資訊(例如,先前堆棧中之物品之屬性、與先前堆棧相關的效能度量,諸如穩定性、密度、契合等)反覆地更新。在一些實施例中,至少部分基於物品之一或多個屬性產生用於對物品清單上之物品進行碼垛堆積之(若干)堆棧之模型。
可在判定計劃之前或期間獲得一物品之各種屬性。屬性可包含一物品之一大小、一物品之一形狀、一物品之一包裝類型、一物品之一識別碼、一物品之一重心、物品是否易碎之一指示、物品之一頂部或底部之一指示等。作為一實例,可至少部分基於物品清單獲得與物品之至少一子集相關的一或多個屬性。該一或多個屬性可至少部分基於由一或多個感測器獲得之資訊,及/或藉由對屬性至物品(例如,物品類型、物品識別碼,諸如序號、型號等)之一映射執行查找來獲得。
在一些實施例中,產生屬於物品清單之物品之一或多個預期堆棧之模型包含產生(例如,判定)工作區之一經估計狀態(例如,包括一或多個物品堆棧之一工作區)。電腦系統判定用於移動(例如,碼垛堆積或卸除碼垛堆積等)一組一或多個物品之一計劃,且電腦系統控制一機器人(例如,一機器人手臂)以根據該計劃移動該組一或多個物品。回應於根據計劃移動該組一或多個物品,電腦系統判定工作區之一經估計狀態。例如,電腦系統至少部分基於物品組之移動來更新經估計狀態。在一些實施例中,回應於判定幾何模型與感測器資料不一致(例如,幾何模型與感測器資料之間的一差異大於一預定差異臨限值,或包括一異常等),至少部分基於幾何模型或感測器資料,或幾何模型與感測器資料之一組合來判定經估計狀態。經更新/目前經估計狀態反映一或多個物品之組之移動(例如,在碼垛堆積之情況下,更新之經估計狀態包含與一或多個物品之組在(若干)堆棧上之放置相關的資訊等)。回應於判定經更新/目前經估計狀態,電腦系統判定用於移動另一組一或多個物品之一計劃,且電腦系統控制機器人以根據該計劃移動該另一組一或多個物品。
在一些實施例中,電腦系統在(i)預定數目個物品之移動(例如,放置)或(ii)該預定數目個物品之較早移動或一異常(諸如滿足一或多個異常準則之一異常) (例如,異常之程度超過一異常臨限值等)之偵測之後,更新目前狀態(例如,基於對幾何模型之一更新進行更新)。可基於使用者偏好、一機器人控制系統原則設定或以其他方式基於物品之放置之經驗分析判定預定數目個物品(例如,X個物品,X為一正整數)。作為一實例,基於物品之數目導致關於一預定成本函數(例如,反映一效率、一穩定性、預期穩定性變化等之一成本函數)之一最優/最佳結果的一判定來設定物品之預定數目。作為一實例,電腦系統判定一目前經估計狀態且使用該目前經估計狀態來判定用於移動接下來X個物品之一計劃,且在移動X個物品(例如,物品之堆垛或拆垛)之後,電腦系統判定一更新之經估計狀態(例如,反映X個物品之放置之一幾何更新/模型)。電腦系統至少部分基於幾何模型及感測器資料(例如,一目前幾何模型及目前感測器資料等)之一組合來判定經更新狀態。電腦系統接著使用經更新狀態結合判定一計劃及控制一機器人以根據該計劃放置下一組物品。
根據各項實施例,電腦系統至少部分基於在幾何模型與感測器資料之間執行一內插來判定經估計狀態。例如,系統針對一幾何模型之一特定部分及感測器資料之一對應部分執行內插(例如,該特定部分可對應於幾何模型與感測器資料之間的超過一差異臨限值之一差異,或包括一異常)。
可實施各種內插技術。幾何模型之特定部分可對應於用於幾何模型之點雲中之一特定點(或點集),且感測器資料之對應部分可為針對用於感測器資料之點雲中之該特定點之感測器資料等。在一些實施例中,系統在幾何模型與感測器資料之間執行一自適應內插。在一些實施例中,系統在幾何模型與感測器資料之間執行一非自適應內插。自適應內插處理之實例包含:最近鄰、雙線性、雙三次、樣條、sinc、lanczos等。可結合判定一經估計狀態執行各種其他內插處理。
在330,拾取物品並將物品移動通過一(預定/經計劃)軌跡至靠近對應輸送機上將放置物品之處附近的一位置,且根據在320判定及/或更新之計劃放置於目的地位置處。
在所展示之實例中,(重新)計劃及計劃實施(320、330)繼續,直至完成(340)提供物品清單上之物品之高階目標,在此程序300結束。在各項實施例中,重新計劃(320)可藉由以下條件觸發:諸如未預期及/或無法識別之物品之到達;指示一屬性之一感測器讀數具有除基於物品識別;及/或相關聯之物品型號資訊等預期之值以外之一值。意外條件之其他實例包含(但不限於):判定一預期物品丟失;重新評估物品識別及判定一物品與最初識別不同;偵測一物品重量或與如所識別之物品不一致之其他屬性;掉落或需要重新抓握物品;判定一稍後到達之物品太重而無法如原始及/或目前計劃設想般堆垛於一或多個其他物品上;及偵測如堆垛於容器上之物品組之不穩定性。
圖4係繪示根據各項實施例之用以判定一棧板及/或物品堆棧之一目前狀態之一程序的一流程圖。在一些實施例中,程序400係至少部分由圖1之機器人系統100及/或圖2之系統200實施。
根據各項實施例,回應於判定系統將判定用於移動一或多個物品之一計劃而調用程序400。在一些實施例中,關於待堆垛之一組物品中之各物品之放置調用程序400。在一些實施例中,以一預定頻率/間隔調用程序400,諸如在自經估計狀態之最後判定以來已移動預定數目個物品之後。除了前述任一者之外,系統亦可至少部分基於先前放置之一物品或目前正放置之一物品之一屬性來調用程序400。例如,回應於判定先前放置之物品或目前物品具有一不規則形狀(例如,超過一臨限大小之一大小/尺寸、一非矩形形狀等)及/或可變形(例如,物品具有超過一可變形性臨限值之一預期可變形性,或物品具有諸如塑膠袋之軟包裝等)而調用程序400。作為另一實例,系統回應於判定一先前放置之物品或待放置之一目前物品可引起物品堆棧當中之一不穩定性(例如,一臨限不穩定性)而調用程序400。
在410,獲得與放置之一(若干)物品相關聯之資訊。系統基於與物品相關聯之預儲存之資訊(例如,若預知物品,諸如在待碼垛堆積之一載貨單上)或基於由視覺系統獲得之資訊(例如,一物品識別碼、一大小、一包裝類型、一重量等)來獲得與物品相關聯之資訊。與放置之物品相關聯之資訊可對應於物品之屬性等。
在420,接收與包括放置之物品之一物品堆棧相關的幾何資料。在一些實施例中,系統獲得已經更新以反映物品之放置之目前幾何模型。目前幾何模型可為結合判定物品之放置或物品所屬之一組物品之放置(例如,基於一機器人根據計劃放置(若干)物品之操作之一預期放置)而使用之經估計狀態。
在430,獲得由一視覺系統獲得之感測器資料。在一些實施例中,系統獲得由視覺系統獲得之感測器資料。例如,系統指示視覺系統擷取工作區之一目前狀態,且系統使用與此擷取相關的資訊來獲得感測器資料。
在440,至少部分基於幾何資料及感測器資料更新一目前狀態或模型。系統至少部分基於幾何模型或感測器資料,或幾何模型及感測器資料兩者(諸如回應於幾何模型與感測器資料之間的一差異之一判定)來判定一預期狀態。
根據各項實施例,系統至少部分藉由基於幾何模型之至少部分及感測器資料之至少部分執行一內插來判定經估計狀態(例如,一更新之經估計狀態)。在一些實施例中,關於幾何模型之一第一部分及感測器資料之一第一部分執行以獲得經估計狀態之一第一部分之一內插程序不同於關於幾何模型之一第二部分及感測器資料之一第二部分執行以獲得經估計狀態之一第二部分之一內插。
在一些實施例中,系統使用更新之經估計狀態結合判定用於移動一或多個物品之一計劃及控制一機器人以根據該計劃移動該一或多個物品。
在450,進行關於程序400是否完成之一判定。在一些實施例中,回應於判定將不執行經估計狀態之進一步更新、無進一步物品將被移動、一使用者已退出系統、一管理者指示程序400將被暫停或停止等,將程序400判定為完成。回應於程序400完成之一判定,程序400結束。回應於程序400未完成之一判定,程序400返回至410。
圖5係繪示根據各項實施例之用以判定一棧板及/或物品堆棧之一目前狀態之一程序的一流程圖。在一些實施例中,程序500係至少部分由圖1之機器人系統100及/或圖2之系統200執行。
根據各項實施例,回應於判定系統將判定用於移動一或多個物品之一計劃而調用程序500。在一些實施例中,關於待堆垛之一組物品中之各物品之放置調用程序500。在一些實施例中,以一預定頻率/間隔調用程序500,諸如在自經估計狀態之最後判定以來已移動預定數目個物品之後。除了前述任一者之外,系統亦可至少部分基於先前放置之一物品或目前正放置之一物品之一屬性來調用程序500。例如,回應於判定先前放置之物品或目前物品具有一不規則形狀(例如,超過一臨限大小之一大小/尺寸、一非矩形形狀等)及/或可變形(例如,物品具有超過一可變形性臨限值之一預期可變形性,或物品具有諸如塑膠袋之軟包裝等)而調用程序500。作為另一實例,系統回應於判定一先前放置之物品或待放置之一目前物品可引起物品堆棧當中之一不穩定性(例如,一臨限不穩定性)而調用程序500。
根據各項實施例,藉由對移動物品之一或多個機器人系統(例如,碼垛堆積/卸除碼垛堆積系統、單分系統、打包系統等)提供一服務之一或多個伺服器執行程序500。例如,系統自一或多個機器人系統接收查詢以提供一經估計狀態。系統可維持一或多個物品堆棧之一目前經估計狀態(例如,基於相對於物品堆棧拾取及放置物品之機器人系統之操作,及/或基於感測器資料)。
在510,接收與一(若干)經放置物品相關聯之資訊。在一些實施例中,系統基於與物品相關聯之預儲存之資訊獲得與物品相關聯之資訊。例如,系統(例如,基於與物品相關聯之一識別碼)執行關於屬性至物品之映射之查找。在一些實施例中,至少部分基於在放置物品時由一或多個感測器(例如,視覺系統)獲得之物品之屬性(例如,物品之一剛度/可變形性或包裝、一大小、一重量等)來接收與經放置物品相關聯之資訊。
在520,接收與包括經放置物品之一物品堆棧相關的幾何資料。在一些實施例中,系統獲得已經更新以反映物品之放置之目前幾何模型。目前幾何模型可對應於一物品堆棧之一預期狀態(例如,物品堆棧之一狀態,藉此系統假定(若干)物品係根據計劃精確地放置等)。例如,系統獲得結合判定用以移動經放置物品(或經放置物品所屬之物品組)之計劃而使用之幾何模型,且系統更新幾何模型以反映經放置物品之放置。
在530,獲得由一視覺系統獲得之感測器資料。在一些實施例中,系統獲得由視覺系統獲得之感測器資料。例如,系統指示視覺系統擷取工作區之一目前狀態,且系統使用與此擷取相關的資訊來獲得感測器資料。
在540,至少部分基於幾何資料及感測器資料來更新一目前狀態或模型。系統至少部分基於幾何模型或感測器資料,或幾何模型及感測器資料兩者(諸如回應於幾何模型與感測器資料之間的一差異之一判定)來判定一預期狀態。
根據各項實施例,系統至少部分藉由基於幾何模型之至少部分及感測器資料之至少部分執行一內插來判定經估計狀態(例如,一更新之經估計狀態)。在一些實施例中,關於幾何模型之一第一部分及感測器資料之一第一部分執行以獲得經估計狀態之一第一部分之一內插程序不同於關於幾何模型之一第二部分及感測器資料之一第二部分執行以獲得經估計狀態之一第二部分之一內插。
在一些實施例中,使用更新之經估計狀態結合判定用於移動一或多個物品之一計劃及控制一機器人以根據該計劃移動該一或多個物品。
在550,將更新之目前狀態或模型提供至一機器人系統。在一些實施例中,回應於判定經估計狀態(例如,一初始經估計狀態或基於物品之拾取/放置之一更新之經估計狀態),系統將經估計狀態提供至一機器人系統,該機器人系統使用經估計狀態來判定用以移動一或多個其他物品之一計劃。在一些實施例中,系統回應於來自機器人系統之一請求來提供經估計狀態。例如,系統包括向移動物品之一或多個機器人系統(例如,碼垛堆積/卸除碼垛堆積系統、單分系統、打包系統等)提供一服務之一或多個伺服器(例如,遠端伺服器)。
在560,進行關於程序500是否完成之一判定。在一些實施例中,回應於判定將不執行經估計狀態之進一步更新,無進一步物品將被移動,一使用者已退出系統,一管理者指示程序500將被暫停或停止等,將程序500判定為完成。回應於程序500完成之一判定,程序500結束。回應於程序500未完成之一判定,程序500返回至510。
圖6係繪示根據各項實施例之用以判定一棧板及/或物品堆棧之一目前狀態之一程序的一流程圖。在一些實施例中,程序600係至少部分由圖1之機器人系統100及/或圖2之系統200實施。
在610,基於幾何資料獲得一狀態之一模型。在一些實施例中,系統獲得系統之一目前幾何模型。例如,系統更新一先前幾何模型以包含系統自判定先前幾何模型/經估計狀態之一時間以來已控制一機器人手臂執行之物品移動(例如,將物品放置於堆棧上,自一堆棧移除一物品等)。
在620,基於感測器資料獲得狀態之一模型。系統基於由工作區中所包括之一或多個感測器(例如,由視覺系統)擷取之資訊來獲得感測器資料。
在630,判定基於幾何資料之模型與基於感測器資料之模型之間的一差異。系統運算幾何模型與感測器資料之間的一差異,或定性地判定幾何中間感測器資料之間的一差異等。例如,系統運算一物品堆棧當中之各種物品之位置/邊界之間的一差異。作為另一實例,系統判定一物品是否被包括於幾何模型及感測器資料之一者中,且在幾何模型及感測器資料之另一者中缺失,諸如在視覺系統之一視野被阻擋或一物品已自物品堆棧倒下(例如,此既未預料到亦未在幾何模型中反映)等之情況下。
在640,判定差異是否超過一預定臨限值之一判定。在一些實施例中,系統比較幾何模型與感測器資料之間的差異與一預定差異臨限值。該預定差異臨限值可對應於幾何資料及感測器資料之內插或組合未預期解決之一異常(例如,系統認為需要人類干預之一異常)。
回應於在640差異未超過預定臨限值之一判定,程序600繼續進行至650,在650,至少部分基於在基於幾何資料判定之模型與基於感測器資料判定之模型之間的差異來更新一目前模型或狀態。
回應於在640差異超過預定臨限值之一判定,程序600繼續進行至660,在660,向一使用者提供一指示。例如,回應於判定一差異超過預定臨限值,系統判定調用手動人類干預。系統可提示使用者確認是否使用幾何模型或感測器資料、幾何模型及感測器資料之一組合,或既未使用幾何模型亦未使用感測器資料(例如,使用r模型之一使用者定義之態樣等)。
在一些實施例中,提供給使用者之指示係關於工作區之一部分(諸如一物品堆棧之一部分)之在幾何模型與基於感測器資料之模型之間的一差異之一指示。例如,該指示指示針對其幾何模型部分與感測器資料之間的差異超過一預定臨限值之物品堆棧之一特定部分。
在一些實施例中,提供給使用者之指示係關於整個工作區(例如,整個幾何模型及整個感測器資料)之一差異之一指示。例如,系統提示一使用者闡明在用於工作區之幾何模型及感測器資料之間顯現之一異常。作為另一實例,系統提示使用者定義待關於幾何模型及感測器資料應用之一偏差或加權。作為另一實例,系統提示使用者定義一內插程序以結合基於幾何模型及感測器資料兩者判定一經估計狀態來實施。
在670,接收來自使用者之輸入。使用者輸入可為使用幾何模型或感測器資料,或幾何模型及感測器資料之一組合的一選擇。在一些實施例中,使用者定義是否針對工作區狀態之一特定部分(例如,一物品堆棧之一頂部、針對其一視覺系統之視野被阻擋之物品堆棧之一部分等)使用幾何模型或感測器資料。
在680,至少部分基於使用者輸入更新目前狀態/模型。例如,更新經估計狀態以反映是否將使用幾何模型或感測器資料,或幾何模型及感測器資料之一組合作為目前狀態/模型之真實數據的一使用者選擇。
在690,進行關於程序600是否完成之一判定。在一些實施例中,回應於判定將不執行經估計狀態之進一步更新,無進一步物品將被移動,一使用者已退出系統,一管理者指示程序600將被暫停或停止等,將程序600判定為完成。回應於程序600完成之一判定,程序600結束。回應於程序600未完成之一判定,程序600返回至610。
圖7A係根據各項實施例之使用幾何資料之一棧板/物品堆棧之一狀態的一圖式。圖7B係根據各項實施例之使用一視覺系統之一棧板/物品堆棧之一狀態的一圖式。
狀態700對應於根據幾何資料之一物品堆棧之一狀態。例如,狀態700對應於物品堆棧之幾何模型。如圖7A中所繪示,幾何模型包括精確放置之物品。若機器人手臂根據一計劃相對於物品堆棧拾取/放置物品(例如,與如模型化之計劃無偏差等),則幾何模型可對應於物品堆棧之一理想化狀態。
狀態750對應於根據感測器資料之一物品堆棧之一狀態。例如,基於由工作區中所包括之一視覺系統擷取之資訊,狀態750對應於物品堆棧。如圖7B中所繪示,狀態750包括不精確性放置之物品或未提供其資訊之物品堆棧之部分(例如,針對其視覺系統之視野被阻擋之堆棧之部分等)。
如圖7A中所繪示,狀態700包括堆垛於包括物品706a、物品708a、物品710a、物品712a及物品714a之一組物品之頂部上的物品704a。然而,狀態750具有其處感測器資料未反映任何物品之存在之一空隙752。作為一實例,在感測器資料非常具雜訊或視覺系統之視野針對工作區之此部分被阻擋之情況下,一物品堆棧中之一空隙可被包括於感測器資料中。換言之,用於狀態750之感測器資料未包含與包含於幾何模型中之物品708a、710a、712a及714a相關的資訊。若感測器資料被使用或具有一強偏差而非幾何模型,則系統可基於物品704b放置於未由空隙752支撐之物品上方而判定物品堆棧具有一不穩定性。
狀態700包括看似相對於物品堆棧之各種其他物品精確地放置之物品706a。相比而言,狀態750包括未精確地/正好放置於其下方之物品上之物品706b。例如,感測器資料反映物品706b與一相鄰物品之間的一空間。物品706b之位置/放置之原因之實例包含:(i)在藉由一機器人手臂放置或藉由該機器人手臂不準確放置物品之後物品之移動(例如,相對於根據當時經估計狀態判定之計劃);(ii)藉由機器人手臂不精確放置物品;(iii)感測器資料中之雜訊;及/或(iv)感測器資料中之不精確性。
狀態700包括看似相對於物品堆棧之各種其他物品精確地放置之物品716a。相比而言,狀態750包括未相對於相鄰物品精確地放置之物品716b。例如,感測器資料反映物品716b與一相鄰物品之間的空隙754。物品716b之位置/放置之原因之實例包含:(i)在藉由一機器人手臂放置或藉由該機器人手臂不準確放置物品之後物品之移動(例如,相對於根據當時經估計狀態判定之計劃);(ii)藉由機器人手臂不精確放置物品;(iii)感測器資料中之雜訊;及/或(iv)感測器資料中之不精確性。
狀態700包括看似相對於物品堆棧之各種其他物品精確地放置之物品718a。相比而言,狀態750包括在堆棧之與包括物品718a之幾何模型相同之位置處之一空隙758。例如,感測器資料反映在物品702b及一相鄰物品下方之空隙758。空隙758之原因之實例包含:(i)在藉由一機器人手臂放置或藉由該機器人手臂不準確放置物品之後物品之移動(例如,相對於根據當時經估計狀態判定之計劃);(ii)藉由機器人手臂不精確放置物品;(iii)感測器資料中之雜訊;及/或(iv)感測器資料中之不精確性。若系統使用感測器資料用於對應於空隙758之物品堆棧之部分,則系統可將物品堆棧視為不穩定的。例如,系統可將物品702b視為部分未經支撐或經受不穩定性。
狀態700包括看似相對於物品堆棧之各種其他物品精確地放置之物品702a。相比而言,狀態750包括未精確地/正好放置於其下方之物品上之物品702b。例如,感測器資料反映物品702b相對於物品702b下面之(若干)物品之一偏移(例如,懸垂)。偏移756之原因之實例包含(i)在藉由一機器人手臂放置或藉由該機器人手臂不準確放置物品之後物品之移動(例如,相對於根據當時經估計狀態判定之計劃);(ii)藉由機器人手臂不精確放置物品;(iii)感測器資料中之雜訊;及/或(iv)感測器資料中之不精確性。
圖7C係根據各項實施例之使用幾何資料及一視覺系統或感測器資料之一棧板/物品堆棧之一狀態的一圖式。
如圖7C中所繪示,經估計狀態775包括基於幾何模型(例如,狀態700)與感測器資料(例如,狀態750)之一組合的物品堆棧之一狀態。在一些實施例中,系統判定幾何模型與感測器資料之間的(若干)差異,且判定將如何在經估計狀態中反映該等差異。例如,關於針對物品堆棧之一特定部分之一差異,系統判定是否(i)僅使用幾何模型用於模型化經估計狀態中之堆棧之特定部分;(ii)僅使用感測器資料用於模型化經估計狀態中之堆棧之特定部分;或(iii)使用幾何模型與感測器資料之一組合。回應於判定針對經估計狀態之一特定部分使用幾何模型與感測器資料之一組合,系統判定組合幾何模型與感測器資料所藉助之一方式。例如,系統判定一內插程序。系統可至少部分基於幾何模型與感測器資料之間的特定差異來判定組合幾何模型與感測器資料所藉助之方式(例如,系統可判定差異歸因於感測器資料中之雜訊,或視覺系統之一經阻擋視野等)。
經估計狀態775包括物品704c。狀態700中之對應物品704a經展示為靠近物品702a精確地放置,且狀態750中之對應物品704b經展示為距物品702b達一特定距離放置。
在一些實施例中,系統判定物品704a及704b之表觀位置之差異歸因於以下一或多者:(i)在藉由一機器人手臂放置或藉由該機器人手臂不準確放置物品之後物品之移動(例如,相對於根據當時經估計狀態判定之計劃);(ii)藉由機器人手臂不精確放置物品;(iii)感測器資料中之雜訊;及/或(iv)感測器資料中之不精確性。系統可實施差異之其他原因之判定。回應於判定物品704a及704b之位置之差異之一預期原因,系統判定如何模型化物品704c。例如,系統判定是否(i)僅使用幾何模型用於模型化經估計狀態中之堆棧之特定部分;(ii)僅使用感測器資料用於模型化經估計狀態中之堆棧之特定部分;或(iii)使用幾何模型與感測器資料之一組合。在一些實施例中,系統至少部分基於物品704a及704b之位置之差異之經判定預期原因來判定模型化物品704c所藉助之方式。
在一些實施例中,系統基於幾何模型與感測器資料之一組合來判定模型化物品704c。例如,基於幾何模型(例如,物品704a之位置)及感測器資料(例如,物品704b之位置)之一內插來判定物品704c之位置。作為另一實例,物品704c之位置經判定為幾何模型與感測器資料之間的一中點。
在一些實施例中,系統判定物品704a及704b之位置之差異統計上相關但未被視為完全出乎意料。例如,系統將物品704a及704b之位置之差異視為歸因於物品放置之不精確性。因此,系統判定使用物品704b之位置作為經估計狀態中之物品704c之位置。
經估計狀態775包括物品718c。狀態700中之對應物品718a經展示為精確地放置於物品702a下方,且狀態750在其處物品718a被包括於狀態700中之位置處具有空隙758。系統判定狀態700與750之間的差異(例如,物品718a之存在相對於空隙758之存在)且系統判定模型化經估計狀態中之堆棧之此對應部分所藉助之一方式。在所展示之實例中,系統判定感測器資料係不準確的(例如,由於其包含物品718c所處之空隙758)。例如,系統可判定相對於堆棧之此部分之視覺系統之視野被阻擋。因此,系統判定在幾何模型中使用物品718a之資訊結合模型化經估計狀態中之物品718c之位置。例如,系統判定僅使用幾何模型(且不組合感測器資料之對應資訊等)。
經估計狀態775包括物品708c、710c、712c及714c。狀態700中之對應物品708a、710a、712a及714a經展示為精確地放置於物品704a下方,且狀態750在此等物品之位置處具有空隙752。系統判定狀態700與750之間的差異(例如,物品718a之存在相對於空隙758之存在)且系統判定模型化經估計狀態中之堆棧之此對應部分所藉助之一方式。在所展示之實例中,系統判定感測器資料係不準確的(例如,由於其包含物品708a、710a、712a及714a所處之空隙752)。例如,系統可判定相對於堆棧之此部分之視覺系統之視野被阻擋。由於感測器資料(例如,圖7B之狀態750)包含安置於一組物品之頂部上之物品704b而不具有將由空隙752引起之不穩定性,因此系統可判定感測器資料係不一致的。因此,系統判定在幾何模型中使用物品708a、710a、712a及714a之資訊結合模型化經估計狀態中之物品708c、710c、712c及714c之位置。例如,系統判定僅使用幾何模型(且不組合感測器資料之對應資訊等)。
類似於上文實例,系統判定經估計狀態包含安置成在鄰近於其之一物品之間具有一空隙754之物品716c、以偏移756放置之物品702c及以一偏移放置之物品706c。系統判定是否使用幾何模型、感測器資料或兩者來模型化物品702c及716c之放置。在一些實施例中,系統內插物品702a及702b之位置以判定702c之一位置,及/或內插物品716a及716b之位置以判定物品716c之一位置。在一些實施例中,系統使用幾何模型與感測器資料之間的一中點來判定經估計狀態之對應資訊。
圖8係繪示判定一棧板及/或物品堆棧之一狀態之一估計之一實施例的一流程圖。在一些實施例中,程序800係至少部分由圖1之機器人系統100及/或圖2之系統200實施。
在一些實施例中,程序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。
圖9係繪示根據各項實施例之對一組物品進行碼垛堆積/卸除碼垛堆積之一程序的一流程圖。在一些實施例中,程序900係至少部分由圖1之機器人系統100及/或圖2之系統200實施。
在910,獲得指示工作區之目前狀態之感測器資料。在一些實施例中,系統自工作區中所包括之一視覺系統接收感測器資料。
在920,控制一機器人手臂移動第一組物品。在一些實施例中,系統判定用以移動該第一組物品之一計劃且控制一機器人手臂以根據該計劃移動(例如,拾取及放置)第一組物品。
在930,基於第一組物品之移動更新一幾何模型。在一些實施例中,回應於移動第一組物品,系統更新幾何模型以反映移動(例如,第一組物品之放置)。在物品之一碼垛堆積之情況下,更新幾何模型以反映堆棧上之第一組物品之放置。
在940,至少部分基於幾何模型及感測器資料來判定一經估計狀態(例如,物品堆棧之狀態)。感測器資料可對應於在910獲得之感測器資料,或替代性地,在第一組物品之移動之後/期間擷取之經更新感測器資料。在一些實施例中,系統基於幾何模型與感測器資料之一組合判定經估計狀態。
在950,至少部分基於經估計狀態判定用以控制機器人手臂以移動第二組物品之一計劃。在一些實施例中,回應於判定用以移動該第二組物品之該計劃,系統控制機器人手臂以根據對應計劃移動第二組物品。
根據各項實施例,系統判定在各組物品(例如,基於物品之一數目,或基於一目前物品或一先前放置之物品之屬性判定之一組物品)之移動之後之經估計狀態。
在960,進行關於程序900是否完成之一判定。在一些實施例中,回應於判定將不執行經估計狀態之進一步更新,無進一步物品將被移動,一使用者已退出系統,一管理者指示程序900將被暫停或停止等,將程序900判定為完成。回應於程序900完成之一判定,程序900結束。回應於程序900未完成之一判定,程序900返回至910。
儘管前文實例係在對一組物品進行碼垛堆積或卸除碼垛堆積之背景下描述,但各項實施例可結合單分一組物品及/或打包一組物品來實施。例如,實施各項實施例以至少部分基於幾何資料及感測器資料(例如,幾何資料與感測器資料之一組合,諸如幾何資料與感測器資料之間的一內插)來判定/估計工作區(例如,滑槽、輸送機、容器等)之一狀態。
結合流程圖描述本文中所描述之實施例之各項實例。儘管該等實例可包含按一特定順序執行之特定步驟,但根據各項實施例,可按不同順序執行各種步驟及/或各種步驟可被組合成一單個步驟或並行的。
儘管為清楚理解之目的已相當詳細地描述前述實施例,但本發明並不限於所提供之細節。存在實施本發明之許多替代方式。所揭示實施例係闡釋性且非限制性的。
100:機器人系統
102:機器人手臂
104:輸送機
106:棧板/容器
108:末端執行器
110:吸盤
112:攝影機
114:攝影機
116:攝影機
118:控制電腦
122:按需遙操作裝置/遙操作裝置
124:人類使用者
200:系統
205:機器人手臂
210:棧板
215:棧板
220:棧板
225:輸送機
230:輸送機
240:感測器
241:感測器
242:感測器
245:狀態指示器
250:狀態指示器
300:程序
310:步驟
320:步驟
330:步驟
340:步驟
400:程序
410:步驟
420:步驟
430:步驟
440:步驟
450:步驟
500:程序
510:步驟
520:步驟
530:步驟
540:步驟
550:步驟
560:步驟
600:程序
610:步驟
620:步驟
630:步驟
640:步驟
650:步驟
660:步驟
670:步驟
680:步驟
690:步驟
700:狀態
702a:物品
702b:物品
702c:物品
704a:物品
704b:物品
704c:物品
706a:物品
706b:物品
706c:物品
708a:物品
708c:物品
710a:物品
710c:物品
712a:物品
712c:物品
714a:物品
714c:物品
716a:物品
716b:物品
716c:物品
718a:物品
718c:物品
750:狀態
752:空隙
754:空隙
756:偏移
758:空隙
775:經估計狀態
800:程序
802:應用程式
804:伺服器
806:狀態估計器
808:視覺系統
810:放置判定器
820:步驟
822:步驟
824:步驟
826:步驟
828:步驟
830:步驟
832:步驟
834:步驟
836:步驟
838:步驟
840:步驟
842:步驟
844:步驟
900:程序
910:步驟
920:步驟
930:步驟
940:步驟
950:步驟
960:步驟
在以下詳細描述及隨附圖式中揭示本發明之各項實施例。
圖1係繪示根據各項實施例之用以對異質物品進行碼垛堆積及/或卸除碼垛堆積之一機器人系統的一圖式。
圖2係繪示根據各項實施例之用以對異質物品進行碼垛堆積及/或卸除碼垛堆積之一機器人系統的一圖式。
圖3係繪示根據各項實施例之用以對一或多個物品進行碼垛堆積之一程序的一流程圖。
圖4係繪示根據各項實施例之用以判定一棧板及/或物品堆棧之一目前狀態之一程序的一流程圖。
圖5係繪示根據各項實施例之用以判定一棧板及/或物品堆棧之一目前狀態之一程序的一流程圖。
圖6係繪示根據各項實施例之用以判定一棧板及/或物品堆棧之一目前狀態之一程序的一流程圖。
圖7A係根據各項實施例之使用幾何資料之一棧板/物品堆棧之一狀態的一圖式。
圖7B係根據各項實施例之使用視覺系統或感測器資料之一棧板/物品堆棧之一狀態的一圖式。
圖7C係根據各項實施例之使用幾何資料及一視覺系統或感測器資料之一棧板/物品堆棧之一狀態的一圖式。
圖8係繪示判定一棧板及/或物品堆棧之一狀態之一估計之一實施例的一流程圖。
圖9係繪示根據各項實施例之對一組物品進行碼垛堆積/卸除碼垛堆積之一程序的一流程圖。
400:程序
410:步驟
420:步驟
430:步驟
440:步驟
450:步驟
Claims (28)
- 一種機器人系統,其包括: 一通信介面,其經組態以自部署於一工作區中之一或多個感測器接收指示該工作區之一目前狀態之感測器資料,該工作區包括一棧板或其他容器及堆垛於該容器上或該容器中之複數個物品;及 一或多個處理器,其或其等耦接至該通信介面且經組態以: 控制一機器人手臂將第一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該第一組物品; 基於放置於該棧板或其他容器上或該棧板或其他容器中或自該棧板或其他容器移除之該第一組物品來更新一幾何模型; 使用該幾何模型結合該感測器資料來估計該棧板或其他容器及堆垛於該容器上或該容器中之一或多個物品之一狀態;及 使用該經估計狀態來產生或更新用以控制該機器人手臂將第二組物品放置於該棧板或其他容器上或該棧板或其他容器中或自該棧板或其他容器移除該第二組物品之一計劃。
- 如請求項1之機器人系統,其中該幾何模型反映該第一組物品及該第二組物品之一或多者之各自屬性。
- 如請求項2之機器人系統,其中該幾何模型反映包括於該第一組物品及該第二組物品之該一或多者中之物品之各自重量。
- 如請求項1之機器人系統,其中該幾何模型反映包括於該第一組物品及該第二組物品之一或多者中之物品之各自剛度可壓縮性。
- 如請求項1之機器人系統,其中該幾何模型反映包括於該第一組物品及該第二組物品之一或多者中之物品之包裝的一各自強度。
- 如請求項1之機器人系統,其中該幾何模型包含跨包括於該第一組物品及該第二組物品之一或多者中之複數個物品之一重量分佈。
- 如請求項1之機器人系統,其中該幾何模型包括堆垛於該容器上或該容器中之該一或多個物品的一預期穩定性。
- 如請求項7之機器人系統,其中該預期穩定性係至少部分基於該機器人系統認為各物品被放置之一組位置,及堆垛於該容器上或該容器中之各物品之一或多個屬性。
- 如請求項1之機器人系統,其中該幾何模型包括堆垛於該容器上或該容器中之該一或多個物品及一或多個經模擬物品的一預期穩定性,針對該一或多個經模擬物品執行該一或多個經模擬物品之一堆垛之模擬。
- 如請求項1之機器人系統,其中該一或多個感測器包含影像感測器。
- 如請求項10之機器人系統,其中該等影像感測器包括一3D攝影機。
- 如請求項1之機器人系統,其中至少部分基於該感測器資料判定一點雲。
- 如請求項1之機器人系統,其中至少部分基於該感測器資料與該幾何模型之間的一內插判定該棧板或其他容器及堆垛於該容器上或該容器中之該一或多個物品之該經估計狀態。
- 如請求項13之機器人系統,其中至少部分基於(i)根據該感測器資料之該各自物品之一位置與(ii)根據該幾何模型之該各自物品之一位置之間的一內插來判定各物品之一位置。
- 如請求項1之機器人系統,其中至少部分基於該感測器資料與該幾何模型之間的一中點來判定該棧板或其他容器及堆垛於該容器上或該容器中之該一或多個物品之該經估計狀態。
- 如請求項1之機器人系統,其中該一或多個處理器進一步經組態以: 回應於根據該感測器資料之該工作區之該目前狀態包括一異常之一判定,使用該幾何模型來更新根據該感測器資料之該工作區之該目前狀態。
- 如請求項16之機器人系統,其中該異常引因於:(i)該一或多個感測器之相對於該工作區中之一特定點被阻擋或被遮蔽視野之一感測器;(ii)該感測器資料中之引起該工作區之該目前狀態中之一間隙之一雜訊或間隙之一或多者。
- 如請求項1之機器人系統,其中該一或多個處理器進一步經組態以: 判定基於該幾何模型預期之一狀態與經由該一或多個感測器觀察之一狀態之間的一差異超過一臨限值。
- 如請求項18之機器人系統,其中回應於該差異超過該臨限值之一判定,向一使用者傳送一警示以確認該容器上或該容器中之該一或多個物品之一堆棧係不成問題的。
- 如請求項1之機器人系統,其中該一或多個處理器包括: 該一或多個處理器之一第一子集,其經組態以: 產生或更新用以控制該機器人手臂以將該第二組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該第二組物品之該計劃,其中: 用以控制該機器人手臂之該計劃係至少部分基於該經估計狀態產生或更新;及 該一或多個處理器之一第二子集,其經組態以: 更新該幾何模型及至少部分基於該幾何模型結合該感測器資料來判定該棧板或其他容器及堆垛於該容器上或該容器中之該一或多個物品之該狀態之該估計。
- 如請求項20之機器人系統,其中該一或多個處理器之該第二子集係在該工作區遠端。
- 如請求項1之機器人系統,其中: 該第一組物品包括N個物品;且 N係經動態地判定之一正整數。
- 如請求項22之機器人系統,其中在堆垛該N個物品之後估計堆垛於該棧板或其他容器上或該棧板或其他容器中之該一或多個物品之該狀態。
- 如請求項23之機器人系統,其中回應於放置一不規則形狀之物品之一判定,在堆垛該N個物品之前估計該狀態。
- 如請求項1之機器人系統,其中: 該第二組物品對應於在一源上之待放置於該棧板或容器上之接下來M個物品;且 M係一正整數。
- 如請求項25之機器人系統,其中該源係一輸送機。
- 一種控制一機器人之方法,其包括: 自部署於一工作區中之一或多個感測器接收指示該工作區之一目前狀態之感測器資料,該工作區包括一棧板或其他容器及堆垛於該容器上或該容器中之複數個物品; 藉由一或多個處理器控制一機器人手臂將第一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該第一組物品; 基於放置於該棧板或其他容器上或該棧板或其他容器中或自該棧板或其他容器移除之該第一組物品來更新一幾何模型; 使用該幾何模型結合該感測器資料來估計該棧板或其他容器及堆垛於該容器上或該容器中之一或多個物品之一狀態;及 使用該經估計狀態來產生或更新用以控制該機器人手臂將第二組物品放置於該棧板或其他容器上或該棧板或其他容器中或自該棧板或其他容器移除該第二組物品之一計劃。
- 一種用以控制一機器人之電腦程式產品,該電腦程式產品體現於一非暫時性電腦可讀媒體中且包括用於以下之電腦指令: 自部署於一工作區中之一或多個感測器接收指示該工作區之一目前狀態之感測器資料,該工作區包括一棧板或其他容器及堆垛於該容器上或該容器中之複數個物品; 藉由一或多個處理器控制一機器人手臂將第一組物品放置於該棧板或其他容器上或該棧板或其他容器中,或自該棧板或其他容器移除該第一組物品; 基於放置於該棧板或其他容器上或該棧板或其他容器中或自該棧板或其他容器移除之該第一組物品來更新一幾何模型; 使用該幾何模型結合該感測器資料來估計該棧板或其他容器及堆垛於該容器上或該容器中之一或多個物品之一狀態;及 使用該經估計狀態來產生或更新用以控制該機器人手臂將第二組物品放置於該棧板或其他容器上或該棧板或其他容器中或自該棧板或其他容器移除該第二組物品之一計劃。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163211361P | 2021-06-16 | 2021-06-16 | |
US63/211,361 | 2021-06-16 | ||
US17/837,775 | 2022-06-10 | ||
US17/837,775 US20220402709A1 (en) | 2021-06-16 | 2022-06-10 | State estimation using geometric data and vision system for palletizing |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202313279A true TW202313279A (zh) | 2023-04-01 |
Family
ID=84491127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111122128A TW202313279A (zh) | 2021-06-16 | 2022-06-15 | 用於碼垛堆積(palletizing)之使用幾何資料及視覺系統之狀態估計 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220402709A1 (zh) |
EP (1) | EP4356328A1 (zh) |
TW (1) | TW202313279A (zh) |
WO (1) | WO2022265929A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116986340A (zh) * | 2023-09-22 | 2023-11-03 | 江苏连云港港口股份有限公司东方港务分公司 | 用于化肥码垛智能化机械手 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920480A (en) * | 1997-01-10 | 1999-07-06 | Nakamura; Kaoru | Method and apparatus for detecting pallet full load state in sheet metal machining line and method and apparatus for controlling sheet metal machining line and work identifying apparatus |
JP4621789B2 (ja) * | 2009-06-02 | 2011-01-26 | ファナック株式会社 | 物品搬送ロボットシステム |
US9205567B2 (en) * | 2012-03-08 | 2015-12-08 | Quality Manufacturing Inc. | Touch sensitive robotic gripper |
US9238304B1 (en) * | 2013-03-15 | 2016-01-19 | Industrial Perception, Inc. | Continuous updating of plan for robotic object manipulation based on received sensor data |
US9492923B2 (en) * | 2014-12-16 | 2016-11-15 | Amazon Technologies, Inc. | Generating robotic grasping instructions for inventory items |
US10169677B1 (en) * | 2014-12-19 | 2019-01-01 | Amazon Technologies, Inc. | Counting stacked inventory using image analysis |
US10144038B2 (en) * | 2016-06-10 | 2018-12-04 | United States Postal Service | Systems, devices and methods for sorting items |
US10549928B1 (en) * | 2019-02-22 | 2020-02-04 | Dexterity, Inc. | Robotic multi-item type palletizing and depalletizing |
JP6661208B1 (ja) * | 2019-05-31 | 2020-03-11 | 株式会社Mujin | ロボットシステムの制御装置及び制御方法 |
US10984378B1 (en) * | 2019-10-31 | 2021-04-20 | Lineage Logistics, LLC | Profiling pallets and goods in a warehouse environment |
-
2022
- 2022-06-10 WO PCT/US2022/033041 patent/WO2022265929A1/en active Application Filing
- 2022-06-10 EP EP22825568.3A patent/EP4356328A1/en active Pending
- 2022-06-10 US US17/837,775 patent/US20220402709A1/en active Pending
- 2022-06-15 TW TW111122128A patent/TW202313279A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2022265929A8 (en) | 2023-02-09 |
US20220402709A1 (en) | 2022-12-22 |
WO2022265929A1 (en) | 2022-12-22 |
EP4356328A1 (en) | 2024-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115502985B (zh) | 机器人多物品型码垛和卸垛 | |
CA3130626C (en) | Robotic handling of soft products in non-rigid packaging | |
US11932501B2 (en) | Containerized robotic system | |
US20220288787A1 (en) | Multi-pallet mixed-case robotic palletizer | |
US20220402139A1 (en) | Workflow for using learning based approach for placing boxes on pallets | |
US20230241777A1 (en) | Packing and planning for tight incollapsible loads | |
TW202313279A (zh) | 用於碼垛堆積(palletizing)之使用幾何資料及視覺系統之狀態估計 | |
TW202314493A (zh) | 利用模擬/產生之雜訊以評估及細化狀態估計 | |
US20220402708A1 (en) | Collision avoidance based on vision data, geometric data and physics engine evaluation | |
US20220405439A1 (en) | Physics engine based evaluation of pallet stability | |
US20220402710A1 (en) | Simulated box placement for algorithm evaluation and refinement | |
US20220297958A1 (en) | Robotic palletization system with variable conveyor height | |
TW202306718A (zh) | 使用基於樹狀搜尋方法以未來序列之有限知識在棧板上放置箱子之工作流程 | |
US20220331989A1 (en) | Robotic foam dispenser | |
US20220324658A1 (en) | Robotically-controlled structure to regulate item flow | |
US20230092900A1 (en) | Robot with linear 7th axis |