孫 慧,于宏飛
(山東科技大學 交通學院,青島 266590)
隨著經濟的快速發展,人們對物流效率的要求越來越高,制造型企業的物流倉儲自動化的發展也越來越快,高效的自動化立體倉庫應也用于各行各業。越來越多的自動化立體倉庫在貨物出入庫方面都是依靠穿梭車系統來實現的,在此基礎上,雙向子母穿梭車應運而生,它進一步提高了倉儲物流的效率[1]。
子母穿梭車自動化立體倉庫是穿梭子車、穿梭母車、行走軌道、巷道貨架、托盤垂直提升機、托盤輸送系統、自動控制系統、無線倉儲控制系統(RWCS)、倉儲管理軟件(WMS)等組成的全自動密集式倉儲系統,該系統在每層均配置子母穿梭車,實現對當前層的出入庫作業,垂直方向通過提升機實現托盤貨物的垂直輸送。而其中的子母穿梭車,顧名思義,有一個子母的概念,就是母車承載著子車在倉庫貨架間的軌道上行駛,當取貨或者放貨時,母車釋放子車進行貨物的存取。由此可見,子母穿梭車(如圖1所示)很好的適應了現在的密集型自動化立體倉庫。這種倉庫節約了存儲空間,子母穿梭車的加入使得出入庫存取貨物的效率提高,減少了作業等待時間,大大提高了工作效率[2]。
在智能物流規劃方案的設計中,求解及優化自動化立體倉庫的貨位分配、出入庫效率、驗證相應的規劃算法及出入庫作業相關聯的設備運行情況等問題時,采用三維仿真技術進行模擬,通過分析仿真過程中產生的數據,可以更為直接準確地驗證及優化方案。而對于子母穿梭車來說,在Flexsim物流仿真軟件的實體庫中并沒有與之相對應的實體對其進行仿真模擬.本文以某物流配送中心多層穿梭車自動化立體倉庫為基礎并基于Flexsim對雙向子母穿梭車進行運動仿真進行研究。

圖1 工作中的子母穿梭車
物流系統仿真是借助系統仿真技術研究物流系統行為,仿真模型是對現實系統的真實反映,并通過相應技術得以在計算機上動態展現,是計算機仿真技術在物流工程領域的重要應用。本文基于Flexsim仿真平臺構建子母穿梭車自動化立體倉庫。
Flexsim是由美國Flexsim Software Production公司開發的一款離散事件仿真程序軟件[3],使用Flexsim可以建立一個真實物流系統的三維計算機模型。Flexsim實現的是離散系統的仿真,關注的是系統運作過程中各個參與者之間的變化和相互之間的關系。建模時,用模型庫里的某個對象,只需要用鼠標把該對象從庫里拖出來放在模型視窗即可。其建模步驟如圖2所示。

圖2 Flexsim建模基本步驟
子母穿梭車在Flexism軟件中是一種任務執行器(TE),任務執行器可以從固定資源類實體中獲取并執行包括裝載、卸載、行走,延遲在內的各類任務,并且TE本身也可以向其他TE指派任務,強大而靈活的任務執行器二次開發功能使得Flexsim仿真模型能最大程度地還原實際系統。
子母穿梭車可以選用基本任務執行器這個實體來進行二次開發,本文要解決的問題是其運動學的仿真與取放貨的功能實現。在基本任務執行器(BTE)中導入穿梭母車與穿梭子車的三維模型,在實體的屬性中寫入Flexsim自帶的腳本語言所提供的運動學函數與其他函數,使穿梭車能夠根據設計要求進行功能仿真。
某公司多層穿梭車自動化立體倉庫有十層,通過穿梭車來對貨物進行入庫操作。該立庫有1個I/O站臺,貨物入庫后,通過提升機送到每層的貨物交接處,當貨物到達交接處時向穿梭車發出請求,如果穿梭車空閑,則穿梭車將相應貨物運送到當前層的貨架中,完成放貨后,將會回到交接處等待區進行等待。總體布局如圖3所示,子母穿梭車存貨如圖4所示。

圖3 總體建模布局

圖4 穿梭車子車伸出進行存貨
本文以多層穿梭車系統入庫作業為例,事件驅動的作業流程描述如下:
當子母穿梭車立體倉庫入貨口收到貨物入庫任務請求時,先由提升機負責垂直方向的運輸,如此時提升機不為空閑狀態,則貨物將進行等待并加入提升機執行的任務序列中,直至提升機完成上一次的任務,并向入庫位移動,此時進行貨物交接,由提升機垂直運動將貨物送到所在的水平層,到達水平層貨物交接處時請求穿梭車的調度服務,如果此時該層穿梭車空閑,則穿梭車水平方向運動至貨物交接處,子母穿梭車伸出子車進行貨物裝載,然后水平方向運動至貨物,由子車將貨物放置在貨位上,完成貨物放置后,返回至貨物交接處進行等待,如有貨物,則進行下一任務的貨物取放與運動,從而完成該任務。
Flexsim實現的事件驅動的離散仿真,通過事件激發來實現計算機邏輯,如圖5所示。
雖然Flexsim仿真軟件有自己的實體庫,但是默認實體庫中沒有子母穿梭車這一實體。對于子母穿梭車物流系統仿真,要想獲得“真實”的效果,需要根據子母穿梭車的尺寸及比例,開發三維視圖。首先基于SoildWorks軟件進行子母穿梭車的三維模型的開發,將子母穿梭車的“子車”與“母車”用SoildWorks對模型進行調整,之后在Flexsim中按比例恢復模型的形狀,模型導入Flexsim后,使用Edit 3Dshape Factors修正模型(如圖6所示)。選用基本任務執行器(BTE)作為可視化工具及邏輯實體進行建模開發,BTE是為二次開發準備的,它具有任務執行器的可繼承性的功能,便于開發。

圖5 穿梭車系統入庫作業邏輯流程
根據以上步驟,完成三維外觀導入,如圖7所示。

圖6 基于SoildWorks的子母穿梭車建模
3.2.1 取放貨實現
穿梭車在裝載與卸載時分別設定標簽值,方便在穿梭車在運動學的編程中進行邏輯狀態的判斷,在卸載時要判斷有沒有新的任務,沒有的話則直接返回原點等待下一個任務。

圖7 子母穿梭車導入BTE步驟


以上代碼在穿梭車收到裝載任務時觸發,initkinematic命令的第一個參數必須指定一個空節點,在節點中將儲存運動學信息的位置。在執行裝載任務時,首先穿梭車完成裝載后先將子車從貨物交接站臺上收回,然后在對應的軌道進行運動,直到抵達卸載的貨架位進行卸載。Flexsim的運動學功能用來使一個實體執行多個運動操作,每個運動都可根據需要設定速度,旋轉參數等,在此模型中需要注意的一點是模型重置時需要寫入將運動學信息清空的代碼,否則就會出現重置時穿梭車出現在上次模型仿真停留的位置。使用運動學可以對任何實體進行系統之外的動畫自定義,使仿真模擬的三維效果接近實際。以上代碼在穿梭車收到相應的裝載任務時觸發, y-ysize(current)值的設定為軌道偏移量,使穿梭車能夠正好行走在貨架軌道處,看起來更加真實一些。
3.2.2 運動狀態判斷


以上代碼在穿梭車收到相應的卸載任務時觸發,在完成卸載任務時將返回貨物交接處,如果貨物交接處有貨物,則伸出子車進行裝載,繼續執行任務。
3.3.3 運動視圖實現
調用upadatekinemastic()命令,使穿梭車在執行動作過程中刷新視圖,否則會出現穿梭車在開始運動時一直停在原處,在運動結束后突然出現在目標位置的情況[4]。此命令計算實體的當前位置與轉角,在自定義繪圖代碼(customer draw)觸發器中觸發。

貨架用子母穿梭車,是倉儲密集存儲系統和自動化系統完美結合,除了貨物的取放與分配之外,穿梭車還能夠與其他設備進行互相協作,完成更多耗時耗力的作業,比如穿梭車能與提升機或者AGV進行配合,實現全自動智能化的倉儲物流目標。在Flexsim中通過建模邏輯與運動學的二次開發,通過用于某公司多層穿梭車自動化立體倉庫進行建模,實現了子母穿梭車在Flexsim中的運動與取放貨的功能,驗證了該研究方法的可行性,也為以后更深層次復雜的二次開發的仿真研究提供了思路。