吳秋艷
(南京交通職業技術學院,江蘇 南京 210012)
城市軌道交通經過十余年的高速發展,相關設備越來越先進,乘客的體驗感越來越舒適。這些都得益于科技的發展進步。目前,自動駕駛技術已經在公共交通、物流配送、消防救援、環境監測等很多領域得到有效應用。我國深圳、上海、成都等多個城市也都相繼開通了無人駕駛地鐵線路,并且無人駕駛將會是今后城市軌道交通發展的方向。因此,針對城軌列車非線性、高復雜性等運行特點,需要用更優化的智能控制方法解決傳統控制方法無法解決的復雜的控制問題。
本文所研究的粒子群算法(Partide Swarm Optimization, PSO)是在1995年,由美國學者Kennedy和Eberhart所提出。PSO算法與遺傳算法相似,都是基于群體的隨機搜索算法,通過模擬生物的活動和進化的過程來尋求最優解。由于PSO算法原理相對簡單、易于實現,因此,粒子群算法在科學研究和工程應用中都受到了很大的關注。國內對于PSO算法的相關應用已經在很多行業中開展,與城市軌道相關的有基于PSO算法設計的自適應模糊PID控制器,對列車進行停車精度和舒適度控制[1];基于PSO算法建立的地鐵調線調坡數學分析模型,并以此開發地鐵智能調線調坡系統,用來改善線路參數選擇的合理性和改善侵限情況[2];基于粒子群算法的優化地鐵車廂空調的控制研究,以車廂內空氣舒適度作為地鐵車廂變風量空調系統的控制對象,設計出一個舒適和節能效果佳的控制系統[3]。雖然PSO算法對于城市軌道交通的應用研究早已開始,但是在城軌列車自動駕駛方面,相關研究很少。本文以PSO算法為基礎算法,對列車自動駕駛過程進行仿真分析,比較PSO算法用于城軌列車自動控制的優缺點。利用MATLAB仿真列車運行模型,對系統進行功能仿真,驗證本文所提理論的正確性和控制方法的可行性。
粒子群優化(PSO)算法模擬的是鳥群的捕食行為。具體的研究場景為鳥群在隨機地搜索食物,所有鳥都不知道食物的具體位置。如果他們知道自己與食物的距離,那么找到食物最有效的方式就是搜尋目前離食物最近的鳥的周圍區域。在這一過程中,個體通過鳥群互相傳遞的位置來判斷自己找到的是否為最優解,并將結果反饋給鳥群,當整個鳥群都聚集在食物周圍時,即被認定為找到了最優解。同時,在這一過程中,每個個體都會根據食物尋找的結果產生自身的認知,而且當其他個體具有更加先進的認知時,個體會及時進行調整以便能夠提高自身的搜索能力。粒子群算法的學習機制就是基于上述行為過程而產生的。
PSO算法的數學公式為:
ΔUi(n+1)=ωΔUi(n)+c1r1[Uimax-Ui(n)]+c2r2[Ugmax-Ui(n)]
(1)
Ui(n+1)=Ui(n)+ΔUi(n+1)
(2)
式(1)~(2)中:i表示第i個粒子;n表示迭代次數;ΔUi(n+1)表示粒子的移動距離;Ui(n)表示粒子的當前位置;ω為慣性權重,用于控制粒子的飛行速度,取值范圍為[0,1],取值范圍一般為0.4~0.9,ω越大,表示全局尋優能力越強,局部尋優能力越弱,ω越小,表示全局尋優能力越弱,局部尋優能力越強;c1和c2為加速因子,表示粒子移動的速度,取值范圍為[0,2];r1和r2為[0,1]之間的隨機數;Uimax表示當前粒子的歷史最佳位置;Ugmax表示所有粒子中最佳粒子的位置。
PSO算法的標準流程如下:
步驟1 設置相關參數和種群微粒數量,并對種群進行初始化,包括隨機位置和速度;
步驟2 評價每個微粒的適應度,即根據適應度評價公式計算種群中每個微粒對應的適應度的值;
步驟3 對種群中的每個微粒,將其適應度的值與其經過的最好位置Uimax作比較,如果適應度較好,則將其更新為當前的最好位置Uimax;
步驟4 對種群中的每個微粒,將其適應度的值與其經過的最好位置Ugmax作比較,如果適應度較好,則將其更新為當前的最好位置Ugmax;
步驟5 根據公式(1)和公式(2)分別對每個微粒的速度和位置進行更新;
步驟6 判斷是否滿足結束條件。未達到結束條件則轉到步驟2。
PSO算法流程如圖1所示。
圖1 PSO算法流程
根據牛頓第二定律,列車的質點運動方程[4]為:
(3)
(4)
式(3)~(4)中:t,v和s分別為列車運行的時間、速度和距離;ε是加速度系數;c為列車單位合力[5]。列車受力公式為:
ma=f(u,v)-g(v)-w(x,v)
(5)
式(5)中:m為列車質量;a為列車運行合力所產生的加速度;f(u,v)為列車的作用力,分為牽引力和制動力,與輸入控制序列u和列車的運行速度v有關;g(v)為列車的基本阻力,是列車運行速度的函數;w(x,v)為列車的附加阻力,其中x為線路位置,并且該附加阻力與線路坡度、曲線和隧道等線路條件有關[5]。當列車處于牽引狀態時,f(u,v)>0;當列車處于惰行狀態時,f(u,v)=0;當列車處于制動狀態時,f(u,v)<0。
本文所設計的線路參數、坡度參數和列車參數的取值分別如表1~3所示[6]。
表2 坡度參數
表3 列車參數
在MATLAB仿真環境下對基于PSO算法的城軌列車運行過程進行仿真實驗,得到速度-距離曲線以及加速度-距離曲線分別如圖2—3所示。
圖2 速度-距離曲線
圖2是采用PSO算法對列車運行過程優化后得到的速度-距離曲線。從圖2可以看出,運行速度滿足表1中的線路限速和車站限速的要求,并且在較短距離內實現平穩加速和平穩制動,有效地提高了舒適度。
圖3是采用PSO算法對列車運行過程優化后得到的加速度-距離曲線。從圖3可以看出,當列車速度接近于限速后,加速度開始下降,并且在列車惰行過程中,列車加速度并沒有因為坡度的變化而產生明顯變化。對于乘客而言,列車運行中加速度變化率在1 m/s2內都是感覺舒適的,因此本算法對于舒適度和能耗的數值優化起到了重要作用[6]。
圖3 加速度-距離曲線
同時,本文對仿真過程中的停車精度、準點誤差、能耗、舒適度也進行了數據記錄,結果如表4所示。
表4 PSO算法優化結果
為驗證本文算法的有效性,對不加算法下的列車運行過程也進行了仿真分析。
如表4所示,在不加以任何算法優化的情況下,列車運行過程中停車誤差和準點誤差與停車誤差小于0.3 m并且準點誤差小于4 s的要求相差甚遠,因此無法滿足運行的基本要求[6]。
當列車運行過程模型采用PSO算法優化后,在第300次迭代后,停車誤差和準點誤差均可以滿足上述條件。除了停車誤差和準點誤差這兩個指標外,基于PSO算法下的列車運行過程中的舒適度和能耗指標也明顯優于不加任何算法下的數值。但是從仿真過程和仿真結果可以總結出,PSO算法在早期收斂速度快,這是PSO算法明顯優于其他算法的優點,但是收斂快導致精度較低易發散等缺點。因為在收斂的情況下,所有粒子都向最優的方向飛去,導致后期的收斂速度迅速變慢,進而搜索能力變弱,甚至有可能會出現收斂到一定精度時,無法再繼續優化的情況。
本文通過仿真和實驗,對比不加算法下的列車運行過程中的停車誤差、準點誤差、舒適度以及能耗指標,結合速度-距離曲線圖和加速度-距離曲線圖,結果表明PSO算法對于優化城軌列車運行模型的正確性和可行性,且效果良好,但同時也要考慮到PSO算法的缺點,有針對性地進行算法性能的優化。