溫劍飛
(冠達(dá)睿投(北京)科技發(fā)展有限公司 人工智能研究院, 北京100000)
人工智能算法憑借著超高的智能化和獨特應(yīng)用優(yōu)勢,已經(jīng)被應(yīng)用到各個領(lǐng)域,并展現(xiàn)出巨大的應(yīng)用價值。 目前,以自主導(dǎo)航車為代表的新能源產(chǎn)業(yè)已經(jīng)成為未來汽車發(fā)展的必然趨勢,但自主導(dǎo)航車軌跡跟蹤控制成為阻止其發(fā)展的難題。 傳統(tǒng)的控制方法已經(jīng)無法滿足其對高精度控制的要求,為此本文提出將人工智能算法應(yīng)用其中,實現(xiàn)自主導(dǎo)航車的數(shù)字化和智能化。
基于人工智能算法的自主導(dǎo)航車軌跡跟蹤控制方法是仿照車輛駕駛員在真實的駕駛環(huán)境下通過控制自主導(dǎo)航完成駕駛的完成駕駛過程[1]。 首先建立自主導(dǎo)航軌跡跟蹤模型,然后運用人工智能算法對模型進(jìn)行計算,自動選擇出模型中的最佳車輛行蹤軌跡路線,實現(xiàn)對自主導(dǎo)航車軌跡跟蹤控制。 基于人工智能算法的自主導(dǎo)航車軌跡跟蹤控制方法原理如圖1 所示。
圖1 基于人工智能算法的自主導(dǎo)航車軌跡跟蹤控制方法原理Fig. 1 Functional block diagram of trajectory tracking control method of autonomous navigation vehicle based on artificial intelligence algorithm
建立自主導(dǎo)航軌跡跟蹤模型是研究控制方法的首要任務(wù),其目的是通過車輛導(dǎo)航GIS 地圖自動模擬出車輛運動軌跡。 由于GIS 地圖具有龐大的信息量,若要實現(xiàn)快速的建立整個地圖的軌跡網(wǎng)絡(luò)數(shù)據(jù)集,此次選用網(wǎng)絡(luò)技術(shù)實現(xiàn)自主導(dǎo)航車軌跡跟蹤模型[2]。 網(wǎng)絡(luò)技術(shù)會隨機推薦GIS 地圖中三條車道,并且獲取車道上的所有中心線點元素的坐標(biāo)數(shù)據(jù),通過數(shù)據(jù)編碼將三條車道上的所有元素坐標(biāo)數(shù)據(jù)進(jìn)行處理,其中包括車道的停止線距離、軌跡轉(zhuǎn)彎半徑、車道方向角以及方向角改變量等參數(shù),形成一個完整的自主導(dǎo)航車軌跡跟蹤模型。 自主導(dǎo)航車軌跡跟蹤模型建立步驟如下:
(1)首先確定車道停止線距離h。 車道停止線的距離是GIS 地圖中第一車道與第二車道兩個中心點連接的距離,運用網(wǎng)絡(luò)技術(shù)對該部分?jǐn)?shù)據(jù)編碼為uint8;
(2)確定車道轉(zhuǎn)彎半徑r。 在確定車道轉(zhuǎn)彎半徑之前,需要得到第一車道中心線元素與第二車道中心線元素的交點N,交點N 到第一車道停止線的距離即可得到車道轉(zhuǎn)彎半徑[3];
(3)確定軌跡中心位置d。 通過計算轉(zhuǎn)彎半徑與第一車道的斜率可得到軌跡中心位置;
(4)確定方向角改變量p。 根據(jù)第二車道的斜率確定第一道路方向角的改變量。
(5)根據(jù)以上參數(shù)量可確定車輛軌跡跟蹤函數(shù),公式(1)為:
得到自主導(dǎo)航車軌跡跟蹤模型。 按相同的步驟可以得到整個GIS 地圖的自主導(dǎo)航車軌跡跟蹤模型,自主導(dǎo)航車軌跡跟蹤模型各車道詳細(xì)信息如表1 所示。
表1 自主導(dǎo)航車軌跡跟蹤模型各車道詳細(xì)信息表Tab. 1 Autonomous navigation vehicle trajectory tracking model detailed information table of each lane
自主導(dǎo)航車軌跡跟蹤模型模擬出車輛的行蹤軌跡,要實現(xiàn)對其跟蹤控制,需要搭配一個合理的控制算法,來保證最終良好的控制效果。 人工智能算法屬于一種種群的進(jìn)化算法,目前有很多種人工智能算法,如遺傳算法、神經(jīng)網(wǎng)絡(luò)算法、蜂群算法、蛙跳算法等。 根據(jù)所建立模型的計算需求,選取了人工智能算法中的蛙跳算法,該算法具有強大的群體搜索能力,同時擁有較高的迭代速度,具體計算過程如下:
首先,隨機初始化產(chǎn)生A 個車輛軌跡群體,構(gòu)成初始種群B = (X1,X2,...,XA),第i 個車輛軌跡表示為Xi,計算出每個軌跡的適應(yīng)值, 適應(yīng)值最小的軌跡作為最優(yōu)軌跡,計算公式(2)如下:
其次,按照每個自主導(dǎo)航車軌跡的適應(yīng)值大小對其進(jìn)行排列,并記錄適應(yīng)值最小的軌跡為K,進(jìn)而將初始軌跡集群劃分成v 個模因組。 假設(shè)Y 為第i個模因組軌跡的集合,其計算公式(3) 如下:
其中,v 為模因組個數(shù),n 為模因組中的自主導(dǎo)航車軌跡數(shù)量,h 為初始軌跡集群中車輛軌跡數(shù)量。 將每組中最差軌跡和最優(yōu)軌跡分別標(biāo)記為Xy和Xc,運用公式(3)進(jìn)行模型局部軌跡搜索,并且不斷更新模因組中Xy的位置。 根據(jù)蛙跳迭代方式公式(4):
其中, rand ⊕ ( Xy- Xc) 為車輛最小移動步長,通過算法迭代操作,如果得出的最優(yōu)軌跡的適應(yīng)值最小,則取代之前的軌跡;如果公式(4)計算出的軌跡適應(yīng)值大于原有軌跡適應(yīng)值,則重復(fù)上述計算過程,對模型中所有的軌跡進(jìn)行搜索,直到計算結(jié)果符合條件為止。 以此方法實現(xiàn)人工智能算法對自主導(dǎo)航車軌跡跟蹤控制。
為了證明基于人工智能算法的自主導(dǎo)航車軌跡跟蹤控制方法的有效性,將其與傳統(tǒng)控制方法進(jìn)行一組對比實驗,檢驗此方法的精準(zhǔn)度。
實驗設(shè)定車道停止線距離h 的誤差為0.1,車道轉(zhuǎn)彎半徑r 的誤差為0.15,軌跡中心位置d 的誤差為0.1,方向角改變量p 的偏差為0.2,自主導(dǎo)航車軌跡跟蹤模型偏差權(quán)重為0.3,兩輪驅(qū)動軸距L 為25 cm。 編寫控制器,并為車輛提供動力學(xué)模塊,設(shè)置好車輛的動力學(xué)參數(shù)以及輸入輸出的接口,通過輸入、輸出接口連接對車輛前輪提供控制,控制車輛四輪轉(zhuǎn)角角度。 實驗采用兩種方法對自主導(dǎo)航車控制5 次,來檢驗兩種方法的控制精準(zhǔn)度。
將基于人工智能算法的自主導(dǎo)航車軌跡跟蹤控制方法用方法1 表示,傳統(tǒng)方法用方法2 表示,兩種方法的控制精度比較結(jié)果如表1 所示。
表2 兩種方法控制精準(zhǔn)度Tab. 2 Two methods to control accuracy %
從表1 可以看出,方法1 的五次實驗平均精準(zhǔn)度為93.87%,且基本每次都超過90%;而方法2 的五次實驗的精準(zhǔn)度平均值為72.19%,遠(yuǎn)遠(yuǎn)低于方法1 的控制方法。 實驗證明基于人工智能算法的自主導(dǎo)航車軌跡跟蹤控制方法具有較高的精準(zhǔn)度。
將人工智能算法應(yīng)用到自主導(dǎo)航車軌跡跟蹤控制中,有效提高了車輛軌跡跟蹤的精準(zhǔn)度。 由于能力和研究時間有限,雖然取得了一定的研究成果,但是該方法還未得以實際應(yīng)用,還需在今后實際應(yīng)用過程中對該方法進(jìn)行改善,提高其應(yīng)用價值。