孫 慧,于宏飛
(山東科技大學(xué) 交通學(xué)院,青島 266590)
隨著經(jīng)濟的快速發(fā)展,人們對物流效率的要求越來越高,制造型企業(yè)的物流倉儲自動化的發(fā)展也越來越快,高效的自動化立體倉庫應(yīng)也用于各行各業(yè)。越來越多的自動化立體倉庫在貨物出入庫方面都是依靠穿梭車系統(tǒng)來實現(xiàn)的,在此基礎(chǔ)上,雙向子母穿梭車應(yīng)運而生,它進一步提高了倉儲物流的效率[1]。
子母穿梭車自動化立體倉庫是穿梭子車、穿梭母車、行走軌道、巷道貨架、托盤垂直提升機、托盤輸送系統(tǒng)、自動控制系統(tǒng)、無線倉儲控制系統(tǒng)(RWCS)、倉儲管理軟件(WMS)等組成的全自動密集式倉儲系統(tǒng),該系統(tǒng)在每層均配置子母穿梭車,實現(xiàn)對當(dāng)前層的出入庫作業(yè),垂直方向通過提升機實現(xiàn)托盤貨物的垂直輸送。而其中的子母穿梭車,顧名思義,有一個子母的概念,就是母車承載著子車在倉庫貨架間的軌道上行駛,當(dāng)取貨或者放貨時,母車釋放子車進行貨物的存取。由此可見,子母穿梭車(如圖1所示)很好的適應(yīng)了現(xiàn)在的密集型自動化立體倉庫。這種倉庫節(jié)約了存儲空間,子母穿梭車的加入使得出入庫存取貨物的效率提高,減少了作業(yè)等待時間,大大提高了工作效率[2]。
在智能物流規(guī)劃方案的設(shè)計中,求解及優(yōu)化自動化立體倉庫的貨位分配、出入庫效率、驗證相應(yīng)的規(guī)劃算法及出入庫作業(yè)相關(guān)聯(lián)的設(shè)備運行情況等問題時,采用三維仿真技術(shù)進行模擬,通過分析仿真過程中產(chǎn)生的數(shù)據(jù),可以更為直接準(zhǔn)確地驗證及優(yōu)化方案。而對于子母穿梭車來說,在Flexsim物流仿真軟件的實體庫中并沒有與之相對應(yīng)的實體對其進行仿真模擬.本文以某物流配送中心多層穿梭車自動化立體倉庫為基礎(chǔ)并基于Flexsim對雙向子母穿梭車進行運動仿真進行研究。
圖1 工作中的子母穿梭車
物流系統(tǒng)仿真是借助系統(tǒng)仿真技術(shù)研究物流系統(tǒng)行為,仿真模型是對現(xiàn)實系統(tǒng)的真實反映,并通過相應(yīng)技術(shù)得以在計算機上動態(tài)展現(xiàn),是計算機仿真技術(shù)在物流工程領(lǐng)域的重要應(yīng)用。本文基于Flexsim仿真平臺構(gòu)建子母穿梭車自動化立體倉庫。
Flexsim是由美國Flexsim Software Production公司開發(fā)的一款離散事件仿真程序軟件[3],使用Flexsim可以建立一個真實物流系統(tǒng)的三維計算機模型。Flexsim實現(xiàn)的是離散系統(tǒng)的仿真,關(guān)注的是系統(tǒng)運作過程中各個參與者之間的變化和相互之間的關(guān)系。建模時,用模型庫里的某個對象,只需要用鼠標(biāo)把該對象從庫里拖出來放在模型視窗即可。其建模步驟如圖2所示。
圖2 Flexsim建模基本步驟
子母穿梭車在Flexism軟件中是一種任務(wù)執(zhí)行器(TE),任務(wù)執(zhí)行器可以從固定資源類實體中獲取并執(zhí)行包括裝載、卸載、行走,延遲在內(nèi)的各類任務(wù),并且TE本身也可以向其他TE指派任務(wù),強大而靈活的任務(wù)執(zhí)行器二次開發(fā)功能使得Flexsim仿真模型能最大程度地還原實際系統(tǒng)。
子母穿梭車可以選用基本任務(wù)執(zhí)行器這個實體來進行二次開發(fā),本文要解決的問題是其運動學(xué)的仿真與取放貨的功能實現(xiàn)。在基本任務(wù)執(zhí)行器(BTE)中導(dǎo)入穿梭母車與穿梭子車的三維模型,在實體的屬性中寫入Flexsim自帶的腳本語言所提供的運動學(xué)函數(shù)與其他函數(shù),使穿梭車能夠根據(jù)設(shè)計要求進行功能仿真。
某公司多層穿梭車自動化立體倉庫有十層,通過穿梭車來對貨物進行入庫操作。該立庫有1個I/O站臺,貨物入庫后,通過提升機送到每層的貨物交接處,當(dāng)貨物到達交接處時向穿梭車發(fā)出請求,如果穿梭車空閑,則穿梭車將相應(yīng)貨物運送到當(dāng)前層的貨架中,完成放貨后,將會回到交接處等待區(qū)進行等待。總體布局如圖3所示,子母穿梭車存貨如圖4所示。
圖3 總體建模布局
圖4 穿梭車子車伸出進行存貨
本文以多層穿梭車系統(tǒng)入庫作業(yè)為例,事件驅(qū)動的作業(yè)流程描述如下:
當(dāng)子母穿梭車立體倉庫入貨口收到貨物入庫任務(wù)請求時,先由提升機負責(zé)垂直方向的運輸,如此時提升機不為空閑狀態(tài),則貨物將進行等待并加入提升機執(zhí)行的任務(wù)序列中,直至提升機完成上一次的任務(wù),并向入庫位移動,此時進行貨物交接,由提升機垂直運動將貨物送到所在的水平層,到達水平層貨物交接處時請求穿梭車的調(diào)度服務(wù),如果此時該層穿梭車空閑,則穿梭車水平方向運動至貨物交接處,子母穿梭車伸出子車進行貨物裝載,然后水平方向運動至貨物,由子車將貨物放置在貨位上,完成貨物放置后,返回至貨物交接處進行等待,如有貨物,則進行下一任務(wù)的貨物取放與運動,從而完成該任務(wù)。
Flexsim實現(xiàn)的事件驅(qū)動的離散仿真,通過事件激發(fā)來實現(xiàn)計算機邏輯,如圖5所示。
雖然Flexsim仿真軟件有自己的實體庫,但是默認實體庫中沒有子母穿梭車這一實體。對于子母穿梭車物流系統(tǒng)仿真,要想獲得“真實”的效果,需要根據(jù)子母穿梭車的尺寸及比例,開發(fā)三維視圖。首先基于SoildWorks軟件進行子母穿梭車的三維模型的開發(fā),將子母穿梭車的“子車”與“母車”用SoildWorks對模型進行調(diào)整,之后在Flexsim中按比例恢復(fù)模型的形狀,模型導(dǎo)入Flexsim后,使用Edit 3Dshape Factors修正模型(如圖6所示)。選用基本任務(wù)執(zhí)行器(BTE)作為可視化工具及邏輯實體進行建模開發(fā),BTE是為二次開發(fā)準(zhǔn)備的,它具有任務(wù)執(zhí)行器的可繼承性的功能,便于開發(fā)。
圖5 穿梭車系統(tǒng)入庫作業(yè)邏輯流程
根據(jù)以上步驟,完成三維外觀導(dǎo)入,如圖7所示。
圖6 基于SoildWorks的子母穿梭車建模
3.2.1 取放貨實現(xiàn)
穿梭車在裝載與卸載時分別設(shè)定標(biāo)簽值,方便在穿梭車在運動學(xué)的編程中進行邏輯狀態(tài)的判斷,在卸載時要判斷有沒有新的任務(wù),沒有的話則直接返回原點等待下一個任務(wù)。
圖7 子母穿梭車導(dǎo)入BTE步驟
以上代碼在穿梭車收到裝載任務(wù)時觸發(fā),initkinematic命令的第一個參數(shù)必須指定一個空節(jié)點,在節(jié)點中將儲存運動學(xué)信息的位置。在執(zhí)行裝載任務(wù)時,首先穿梭車完成裝載后先將子車從貨物交接站臺上收回,然后在對應(yīng)的軌道進行運動,直到抵達卸載的貨架位進行卸載。Flexsim的運動學(xué)功能用來使一個實體執(zhí)行多個運動操作,每個運動都可根據(jù)需要設(shè)定速度,旋轉(zhuǎn)參數(shù)等,在此模型中需要注意的一點是模型重置時需要寫入將運動學(xué)信息清空的代碼,否則就會出現(xiàn)重置時穿梭車出現(xiàn)在上次模型仿真停留的位置。使用運動學(xué)可以對任何實體進行系統(tǒng)之外的動畫自定義,使仿真模擬的三維效果接近實際。以上代碼在穿梭車收到相應(yīng)的裝載任務(wù)時觸發(fā), y-ysize(current)值的設(shè)定為軌道偏移量,使穿梭車能夠正好行走在貨架軌道處,看起來更加真實一些。
3.2.2 運動狀態(tài)判斷
以上代碼在穿梭車收到相應(yīng)的卸載任務(wù)時觸發(fā),在完成卸載任務(wù)時將返回貨物交接處,如果貨物交接處有貨物,則伸出子車進行裝載,繼續(xù)執(zhí)行任務(wù)。
3.3.3 運動視圖實現(xiàn)
調(diào)用upadatekinemastic()命令,使穿梭車在執(zhí)行動作過程中刷新視圖,否則會出現(xiàn)穿梭車在開始運動時一直停在原處,在運動結(jié)束后突然出現(xiàn)在目標(biāo)位置的情況[4]。此命令計算實體的當(dāng)前位置與轉(zhuǎn)角,在自定義繪圖代碼(customer draw)觸發(fā)器中觸發(fā)。
貨架用子母穿梭車,是倉儲密集存儲系統(tǒng)和自動化系統(tǒng)完美結(jié)合,除了貨物的取放與分配之外,穿梭車還能夠與其他設(shè)備進行互相協(xié)作,完成更多耗時耗力的作業(yè),比如穿梭車能與提升機或者AGV進行配合,實現(xiàn)全自動智能化的倉儲物流目標(biāo)。在Flexsim中通過建模邏輯與運動學(xué)的二次開發(fā),通過用于某公司多層穿梭車自動化立體倉庫進行建模,實現(xiàn)了子母穿梭車在Flexsim中的運動與取放貨的功能,驗證了該研究方法的可行性,也為以后更深層次復(fù)雜的二次開發(fā)的仿真研究提供了思路。