吳 梅,方彥軍
(武漢大學 自動化系,武漢 430072)
作為自動化立體倉庫AS/RS(automated storage and retrieval system)的一種替代,AVS/RS于2000年左右在歐洲已有小范圍應用[1]。控制復雜度高是其尚未廣泛應用的原因之一。研究其三維仿真平臺,直觀顯示并驗證相關動態模型理論研究結果,對于AVS/RS的進一步推廣具有十分重要的意義。
關于AVS/RS國內外已有的研究并不多,主要成果集中于Charles J.Malmborg[2-4]團隊和羅鍵[5-8]教授團隊。文獻[2]建立了AVS/RS性能與代價模型,用于AVS/RS設計階段的配置優化。文獻[3]利用狀態方程模型預測AVS/RS在交叉存取模型下的交叉任務比例,以此為基礎對不同配置的AVS/RS進行性能評估。文獻[4]研究了采用隨機存取與隨機停靠策略的AVS/RS的性能評估模型。文獻[5]采用粒子群算法解決AVS/RS的貨位分配問題,保證自動小車在不發生死鎖的情況下存取時間最短。文獻[6]提出一種基于改進遺傳算法的優化調度方法,提高了自動小車存取系統中升降機系統的接貨效率。文獻[7]提出一種基于Petri網和有向圖的死鎖控制方法,解決了AVS/RS中自動小車的死鎖問題。文獻[8]針對AVS/RS提出一種死鎖預防的方法。文獻[9]采用改進的人工魚群算法解決了AVS/RS的出入庫調度優化問題。上述研究主要停留在AVS/RS的概念模型階段,少量涉及其動態模型的研究則都采用數值仿真方式,仿真結果不直觀,對AVS/RS的推廣作用不明顯。
針對上述現狀,本文研究了AVS/RS的三維仿真平臺。通過平臺可搭建所需的自動化立體倉庫模型,靈活配置小車數量、升降機數量等參數。平臺提供多種方式接收小車路徑序列,并以動畫的形式直觀地顯示AVS/RS的動態運行過程,同時輸出各項運行指標,可為已有的概念模型及動態模型的理論研究結果提供驗證與評估,有助于AVS/RS的進一步推廣。
為適應現代企業柔性生產的需求,AVS/RS系統逐步受到重視。在AVS/RS系統中,存取任務的執行由任意數量的自動小車完成。自動小車可在水平方向自主運動,而其垂直方向的運動則依靠立體倉庫中架設的升降機完成。由于每臺自動小車都能訪問任意貨位,某臺小車故障對整個系統基本沒有影響,并且小車數量可隨意更改,從而適應市場需求。因此,AVS/RS是自動化立體倉庫的發展趨勢。
從功能上區分,本文搭建的AVS/RS三維仿真平臺由4個模塊組成,即人機交互模塊、模型模塊、動畫模塊、輸出模塊,其框架結構如圖1所示。

圖1 AVS/RS三維仿真平臺架構Fig.1 Frame of the 3D simulation platform for AVS/RS
其中模型模塊負責三維模型的創建與顯示;人機交互模塊負責處理操作人員輸入;動畫模塊負責仿真場景的更新;輸出模塊負責AVS/RS仿真結果的輸出,包括升降機利用率、系統等待時間等。其中人機交互模型的輸入一部分將傳入模型模塊,一部分則傳入動畫模塊。
人機交互模塊負責處理操作人員的輸入。其中,有關倉庫配置的輸入如自動小車的數量、升降機數量、I/O口數量、升降機位置等將被送至模型模塊用于倉庫模型的構建,而有關動態仿真運行的參數如小車速度、小車路徑序列、場景透明度等則被送至動畫模塊用于三維場景的更新。結合已有AVS/RS的倉庫配置結構,如升降機位置的配置只提供均勻分散或貨架邊沿2項選擇。而小車路徑序列的輸入方式有3種:(1)通過讀取xml路徑文件輸入;(2)加載指定函數名稱的動態鏈接庫,用戶將路徑規劃算法按指定的函數形式寫入動態鏈接庫,平臺便可以用戶輸入的任務序列為輸入啟動路徑規劃進程,實時產生小車及升降機路徑并實時傳入動畫模塊;(3)通過TCP/IP通信讀取,平臺可作為網絡通信的客戶端向用戶的路徑規劃軟件發出連接請求,接收服務器端實時發送的路徑數據并傳入動畫模塊。
部分人機交互界面如圖2所示。此界面可進行的設置包括小車速度設置、小車轉向速度設置、場景透明設置。其中場景透明設置用于設置倉庫的透明度,便于動態仿真過程中觀察小車狀態。鏡頭追蹤與自動小車選擇設置用于觀察具體某一輛小車的運行狀態。方案1至方案4則用于4個xml路徑節點文件的選擇。

圖2 部分人機交互界面Fig.2 Part of the user interface
AVS/RS系統的組成部件比較簡單,主要包括立體倉庫(由單個貨位組合而成)、自動小車、升降機、I/O口。采用參數化建模方法,建立包含以上4種元件的模型庫。根據用戶輸入的配置參數如小車數量、升降機數量、貨位個數、貨位尺寸等系統可自動組合出AVS/RS系統模型。也可通過從模型庫中拖動的方式建立系統三維模型。如圖3所示為依據電力科學研究院智能計量設備自動檢定流水線倉儲環節中的自動小車存取系統構建的AVS/RS三維模型。其中右下側矩形塊部分為I/O口。

圖3 AVS/RS示例模型Fig.3 Example model for AVS/RS
動畫模塊是AVS/RS三維仿真平臺的核心部分。其主要功能實時仿真顯示自動小車執行存取任務的運行過程,其中包括小車空跑、小車載貨運行、小車等待、升降機空跑、升降機載小車運行、升降機等待等場景。
動畫模塊的工作通過動畫主循環完成,而動畫主循環則通過定時器實現。創建定時時間為1/60s的定時器,定時時間到后觸發場景更新過程,該更新過程完成下一幀畫面的計算與繪制,主要更改的是小車的位置與狀態,更新完成后,顯示新場景。此后,重新啟動定時器。通過這種方式,大概每隔1/60 s更新一次畫面。
采用改進的基于可變的畫面更新速度來實現動畫主循環,場景狀態會根據每一顯示幀消耗的時間來進行更新。
用1/60 s的定時器保證在高性能的硬件平臺上,其更新速度不超過60幀/s,在場景更新過程中,又會根據前后2幀的時間間隔進行計算,避免了在性能較差的機器上,會出現時間尺度與畫面更新速度不匹配的問題。其具體流程圖如圖4所示。
創建定時器后,隨即記錄當前系統時間,并將其保存為上一幀更新時間。定時時間到后,再次獲取當前系統時間,并將其保存為當前時間,通過當前時間與上一幀更新時間作差得到前后2幀的時間間隔,并賦值給delta,同時,將當前時間保存為上一幀時間。此后根據delta值更新場景,主要更新的內容為小車的狀態。更新完成后,顯示場景,并重啟計時器。如此循環下去,場景的更新周期為(1/60 s+1幀的更新顯示時間)。

圖4 動畫模塊的具體流程Fig.4 Specific flow for the animation model
動畫主循環的關鍵在于更新三維場景,在本文搭建的AVS/RS系統三維仿真平臺中,主要更新的內容為小車的狀態,包括小車朝向及小車位置。而小車狀態的更新則取決于各小車的任務路徑。
平臺將輸入的小車路徑保存為路徑指令和等待指令,分別對應小車的行駛狀態和等待狀態。路徑指令包含指令標識和起始路徑點坐標、終止路徑點坐標。等待指令包含指令標識和等待時間。
每輛小車執行指令的流程如圖5所示。循環開始后,根據當前指令索引是否大于指令總數判斷是否還有未執行指令,若沒有則結束幀循環,小車狀態不變。若還有未執行的指令,則執行指令,并更新剩余時間delta。若delta大于0,即執行完當前指令時,還未到下一幀的顯示時間,則移至下一條指令并初始化指令環境,繼續執行下一條指令,直至執行完所有指令或剩余時間為0。

圖5 小車的指令過程Fig.5 Execution process of the vehicle
小車在執行指令前,先對指令類型進行判斷,并按照指令類型進行相應處理。
圖6為路徑指令的執行流程,圖7為等待指令的執行流程。

圖6 路徑指令執行過程Fig.6 Execution process of path demand

圖7 等待指令執行過程Fig.7 Execution process of waiting demand
路徑指令中小車轉向角度angle的計算過程如下:

由式(1)、(2)求出目標朝向的單位向量,其中:dest為目標路徑點;cur為小車當前位置。由目標朝向與當前朝向可得到theta的正余弦值,其計算過程如下:

其中:delta為剩余時間,其初始值為下一幀與上一幀之間的時間間隔;rotateSpeed為小車的轉向速度。根據轉向角度angle,可以更改小車朝向。
等待指令的處理流程較為簡單。等待指令開始后,比較等待時間delta與等待時間wait-time之間的大小,記錄較小者的值tm,隨后以delta-tm作為 delta的新取值,waittime-tm作為waittime的新取值,并返回剩余時間delta。
信息輸出模塊負責仿真結果的輸出,
包括升降機空載率、小車空載率、系統運行時間、出入庫任務總量等。升降機空載率與小車空載率分別等于升降機空載的幀數、小車空載的幀數與總幀數的比例。
本文搭建了AVS/RS三維仿真平臺。包括用于處理用戶輸入的人機交互模塊、用于創建三維模型的模型模塊、用于仿真系統動態運行狀況的動畫模塊和用于輸出系統仿真結果的輸出模塊。平臺可根據用戶輸入的配置參數生成系統的三維模型也可由模型庫拖動的方式創建系統模型。提供3種接口用于接收自動小車執行任務的路徑點序列。動畫模塊根據路徑點序列實時更新小車位置、升降機位置,從而對系統的動態運行過程進行實時動態仿真。依據電力科學研究院智能計量設備自動檢定流水線倉儲環節中的自動小車存取系統構建具體仿真平臺,該平臺接收相關路徑規劃研究的結果并展示了AVS/RS系統的實時運行狀況,實現了對已有的相關理論研究結果的驗證。該應用表明,本文提出的自動小車存取系統三維仿真平臺仿真效果直觀形象,對于AVS/RS的推廣具有重要意義。
[1]Charles J Malmborg.Conceptualizing tools for autonomous vehicle storage and retrieval systems[J].International Journal of Production Research,2002,40(8):1807-1822.
[2]Charles J Malmborg.Design optimization models for storage and retrieval systems using rail guided vehicles[J].Applied Mathematical Modeling,2003(27):929-941.
[3]Charles J Malmborg.Interleaving dynamics in autonomous vehicle storage and retrieval systems[J].International Journal of Production Research,2003,41(5):1057-1069.
[4]Po-Hsun Kuo,Ananth Krishnamurthy,Charles J Malmborg.Performance modelling of autonomous vehicle storage and retrieval systems using class-based storage policies[J].International Journal of Computer Applications in Technology,2008,31(3):238-248.
[5]羅鍵,鐘壽桂,吳長慶.基于離散粒子群算法的AVS/RS貨位優化[J].廈門大學學報:自然科學版,2009,48(2):212-215.
[6]羅鍵,蘇海墩,何善君,等.基于改進遺傳算法的自動小車存取系統升降機調度建模與優化控制[J].廈門大學學報:自然科學版,2010,49(3):328-332.
[7]吳長慶,何善君,羅鍵.自動小車存取系統中軌道導引小車環路死鎖控制的研究[J].計算機集成制造系統,2008,14(9):1766-1773.
[8]吳長慶,羅鍵,陳火國,等.基于Petri網的RGVs系統中環路死鎖研究[J].計算機科學,2009,36(4):250-253,260.
[9]孫衛明,方彥軍,肖勇,等.電能計量設備檢定中心智能立庫調度優化研究[J].自動化儀表,2014,35(9):1-4.