王月紅, 蔣 濤, 李 平, 周 楠
(成都信息工程大學控制工程學院,四川 成都 610225)
隨著科學技術的不斷發展,自動駕駛技術不斷成熟,智能車在生活中得到廣泛應用。路徑跟蹤控制是智能車實現自動駕駛的關鍵技術之一,其目的是控制智能車的油門、方向盤和剎車等執行機構,使智能車能夠按照既定路線行駛[1-4]。
目前主流的路徑跟蹤控制算法主要有不依靠模型的PID控制算法[5-6]、基于運動學模型的純跟蹤算法[7-8]和基于動力學模型[9]的MPC控制算法[10-12]和LQR控制算法。在這些控制算法中,PID控制算法由于沒有考慮車輛的模型所以在實際的應用中效果并不理想;純跟蹤算法雖然是基于車輛的運動學模型進行設計的,但是未考慮車輛的受力情況,所以在道路曲率較大時效果不理想;MPC控制算法雖然是基于車輛的動力學模型進行設計的,但是其需要設置的參數較多,在實際應用中難以調試;LQR控制器是線性負反饋控制器,容易設計。文獻[13]設計了智能駕駛車輛LQR路徑跟蹤控制器,以二輪自行車模型為基礎,建立路徑跟蹤問題狀態空間方程,設計了相應目標函數,并對其進行LQR問題的最優求解,獲得最佳狀態反饋控制率,實現基于LQR控制器的路徑跟蹤控制。文獻[14]基于LQR設計了路徑跟隨控制器,實現側向的路徑跟隨控制,并進行實車實驗,驗證了算法的可行性。文獻[15-17]也對LQR控制在路徑跟蹤控制上的應用進行了一定的研究。綜上所述,文中采用LQR控制理論為基礎,設計智能車路徑跟蹤器。
在上述的研究中,LQR控制器都采用隨機設置的Q、R矩陣,這樣隨機選取的加權矩陣限制了路徑跟蹤控制器的適用性和精度。LQR控制器的控制效果完全取決于其加權矩陣的選擇,然而加權矩陣不能通過數學解析方式得出,只能靠設計者的經驗來選擇。這樣就加大了LQR路徑跟蹤控制器的設計復雜性。并且,有時隨機選擇的加權矩陣不但不能實現最優控制,還會增加控制的代價。因此利用遺傳算法(genetic algorithm,GA)進行全局搜索,以智能車路徑跟蹤的橫向誤差和航向誤差作為目標函數選擇最佳的加權矩陣,減小LQR路徑跟蹤控制器設計的復雜性和提高控制器的精度。此外,傳統的LQR路徑跟蹤控制方法未考慮道路的曲率信息,存在穩態誤差問題,文中通過在LQR路徑跟蹤控制器的基礎上加上一個前饋控制消除系統的穩態誤差。
車輛動力學模型反映車輛各個部位的受力情況,對智能車路徑跟蹤控制具有十分重要的意義。如圖1所示,為方便對車輛進行控制,根據受力情況建立車輛的模型。為簡化控制只考慮車輛橫向和縱向受力情況,并假設前軸和后軸的兩個車輪的轉角與側偏剛度相等,汽車后輪不進行轉向,并且忽略空氣阻力對車輛的影響,將汽車簡化為二自由度單車模型。

圖1 汽車動力學模型
圖1中,汽車沿Y軸受力情況和繞Z軸的轉動慣量為

假設δ較小,cos(δ)≈1,那么式(1)、(2)可改寫為



表1 公式符號的含義
建立了動力學模型還不能直觀地看出方向盤轉角和車輛橫向位移的關系,因此再進一步將車輛投影到自然坐標系下,建立以相對于期望路徑的橫向誤差和航向誤差為狀態變量的誤差動力學模型。
如圖2所示,將車體坐標系投射到自然坐標系下,這樣可以將車輛的控制解耦成橫向控制和縱向控制,降低控制的復雜度。

圖2 車輛坐標轉換
設橫向誤差為d,航向誤差為θ-θr,投影點速度大小為,根據向量的關系可得


LQR的控制對象是一個以線性狀態空間表達的線性系統,而能量函數為控制對象的狀態向量和控制量的二次型函數。LQR的作用在于當系統狀態偏離或者還未達到目標狀態時,能消耗不多的能量使系統狀態向量的各個分量去接近目標狀態。利用 LQR控制理論設計路徑跟蹤控制器,需要先設計一個包含控制對象的狀態向量和控制量的二次型函數。一般選取如下能量函數:

其中,Q和R是LQR控制器的加權矩陣,Q=diag[q1,q2,q3,q4],R=[r],xk為狀態量,uk為系統輸入量。Q中的元素分別代表對系統狀態中橫向偏差、橫向偏差變化率、航向偏差和航向偏差變化率的重視程度,其值越大,其對應的目標便越快速的靠近目標狀態;R中的元素代表對控制量輸出的限制,其值越大,代表對控制量輸出的限制越大。
由于處理器不能處理連續信號,所以要將誤差動力學模型進行離散化處理:

在設計LQR控制器時,求解系統的最優解時并未考慮道路的曲率信息,也就是誤差動力學模型式(20)中的C˙θr,那么LQR控制器求解出的控制量作用智能車時無論如何都不能使智能車的系統狀態達到目標狀態。因此在LQR控制器的基礎上根據誤差動力學模型中的道路曲率信息設計一個前饋控制δf消除系統的穩態誤差。加入前饋控制后系統的輸入量為

由式(21)可知,LQR控制器的效果與其加權矩陣息息相關,這兩個加權矩陣的選取直接影響智能車在無人駕駛過程中的路徑跟蹤效果。但是加權矩陣中的元素并不是越大越好,而要考慮之間的平衡。由于系統狀態中橫向偏差、橫向偏差變化率、航向偏差和航向偏差變化率是影響智能車路徑跟蹤的主要因素,而LQR路徑跟蹤控制器中的控制量只有一個前輪轉角,所以將加權矩陣R中的元素設置為固定值,考慮用遺傳算法優化選擇出合適的加權矩陣Q中的元素。
遺傳算法是一種模仿自然界物種進化的算法。它將問題參數編碼為染色體,再利用迭代的方式進行選擇、交叉以及變異等運算交換種群中染色體的信息,最終生成符合優化目標的染色體。
根據系統的橫向偏差ed、航向偏差eφ、橫向偏差變化率˙ed和航向偏差變化率˙eφ設計遺傳算法優化的適應度函數,但是ed、eφ、˙ed和˙eφ的單位不一樣,因此除以車輛路徑跟蹤的性能指標值統一單位,得到遺傳算法優化的適應度函數,該適應度函數如下:

其中,eφs為智能車航向偏差性能指標,eds為車輛橫向偏差性能,˙eφs為車輛航向偏差變化率性能指標,˙eds為車輛橫向偏差變化率性能指標。
優化算法流程圖如圖3所示。

圖3 LQR控制器參數優化流程圖
首先,隨機生成一個種群,種群中的個體即為加權矩陣Q;其次,將加權矩陣Q帶入車輛模型中計算偏差;再次,利用偏差計算適應度函數;然后判斷是否符合終止計算的條件,若符合條件,退出算法的計算,若不符合,進行遺傳操作重復前面的步驟;最后輸出符合終止條件的加權矩陣Q。
利用 matlab/simulink仿真,求解出最優的q1、q2、q3和q4參數,遺傳算法參數設置如表2所示。

表2 遺傳算法參數設置
通過遺傳算法優化后,得到的Q矩陣參數為

為驗證所設計的GA-FFC-LQR路徑跟蹤控制器,在carsim/simulink中進行仿真。在carsim中采用的車輛模型參數如表3所示。仿真測試中的道路選擇常用的雙移線道路和余弦曲線道路,車速設置為固定值10 m/s,由carsim中的控制器進行控制,車輛轉角控制由simulink中的LQR控制器解算出來傳遞至carsim中進行控制。

表3 智能車參數表
為方便分析本文設計的路徑跟蹤控制器的性能,同時一起測試了帶有前饋控制的LQR控制器(FFCLQR)和LQR控制器的性能。
圖4和圖5表示了3種控制器在雙移線道路仿真中的航向偏差和橫向偏差。從仿真的結果中可以看出本文設計的GA-FFC-LQR路徑跟蹤控制器的橫向誤差控制在0.1m以內,航向偏差控制在0.05rad以內;FFC-LQR控制在各方面的性能均不如本文設計的路徑跟蹤控制器;只有單獨的LQR控制器在3個控制器中性能最差。

圖4 航向偏差(雙移線)

圖5 橫向偏差(雙移線)
在圖6的跟蹤效果圖中,可以明確地看到3種控制器的路徑跟蹤性能。從圖中可以看出本文設計的路徑跟蹤控制器較為精準的貼合規定路線行駛,FFCLQR控制器也基本能貼合規定路線行駛,但不如本文設計的路徑跟蹤控制器效果好,單獨的LQR控制器在直線時效果與前兩種比沒有太大的差別,但是在轉彎時跟蹤精度很差。

圖6 路徑跟蹤結果(雙移線)
在余弦曲線道路測試實驗中,車速仍然設置為10 m/s。仿真的測試結果如圖7、圖8和圖9所示。仿真測試結果顯示,基于GA-FFC-LQR的路徑跟蹤控制器的效果最好,車輛的橫向偏差和航向偏差在3種控制器中是最小的,能很好地跟蹤目標路徑;FFC-LQR控制器的效果比GA-FFC-LQR的路徑跟蹤控制器效果略差,但基本也能跟蹤目標路徑;單獨的LQR控制器的效果是3種控制器中最差的,尤其在彎道時誤差最大。

圖7 航向偏差(余弦曲線)

圖8 橫向偏差(余弦曲線)
針對智能車無人駕駛關鍵技術路徑跟蹤控制進行研究。根據車輛的橫向和縱向受力情況以及合理假設的基礎上建立了二自由度車輛動力學模型,并根據此動力學模型建立了相對于期望路徑的橫向誤差和航向誤差為狀態變量的誤差動力學模型,在此基礎上設計了基于LQR控制理論的自動駕駛路徑跟蹤控制器,同時根據道路的曲率信息加入了前饋控制器來消除系統的穩態誤差。然后,對LQR加權矩陣參數進行分析,利用遺傳算法的全局搜索能力,以智能車路徑跟蹤的橫向誤差和航向誤差作為目標函數計算最佳的加權矩陣,減小LQR路徑跟蹤控制器設計的復雜性和提高控制器的精度。最后,通過carsim/simulink的聯合仿真對本文設計的路徑跟蹤控制器進行仿真實驗和對比分析,證明了本文設計的基于GA-FFC-LQR的智能車路徑跟蹤控制器對目標路徑具有較好的跟蹤控制效果。