楊豫龍 ,趙 娟 ,2,黃 原
(1.中國地質(zhì)大學(xué)(武漢) 自動(dòng)化學(xué)院,湖北 武漢 430074;2.復(fù)雜系統(tǒng)先進(jìn)控制與智能自動(dòng)化湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430074)
通有交變電流的導(dǎo)線附近會(huì)產(chǎn)生磁場(chǎng)。電磁導(dǎo)引利用這一特性,通過預(yù)先鋪設(shè)在路面的電磁線,實(shí)現(xiàn)對(duì)車輛的導(dǎo)引[1]。相較于視覺、雷達(dá)、衛(wèi)星定位等引導(dǎo)方式[2],電磁導(dǎo)引方案對(duì)環(huán)境的抗干擾能力較強(qiáng),不易受外界光照、天氣等條件的影響[3],廣泛應(yīng)用于工業(yè)、物流等路徑相對(duì)固定的場(chǎng)景中[4]。
為實(shí)現(xiàn)車輛電磁導(dǎo)引,文獻(xiàn)[5]通過一行緊密排布的傳感器,檢測(cè)車身相對(duì)路面電磁線的位置。文獻(xiàn)[6]利用最小二乘法,對(duì)當(dāng)前位置處的電磁感應(yīng)強(qiáng)度與車身側(cè)向偏移量的函數(shù)關(guān)系進(jìn)行曲線擬合,從而確定車身相對(duì)路面的位置。文獻(xiàn)[7]提出一種“差比和”算法,用兩傳感器值之差除以兩傳感器值之和來描述車身的側(cè)向偏移量,然后使用PID 控制器實(shí)現(xiàn)跟隨。
但上述方案仍未解決阻礙電磁導(dǎo)引發(fā)展的根本問題,即:電磁傳感器的探測(cè)距離十分有限,導(dǎo)引速度難以提高,若使用延長桿等機(jī)械結(jié)構(gòu)增大電磁傳感器探測(cè)距離,會(huì)導(dǎo)致車輛體積龐大、機(jī)械性能變差。
因此,本文利用神經(jīng)網(wǎng)絡(luò)模型優(yōu)異的特征學(xué)習(xí)能力,提出一種基于全連接神經(jīng)網(wǎng)絡(luò)模型的車輛短預(yù)瞄電磁導(dǎo)引方案。實(shí)驗(yàn)結(jié)果表明,該方案極大優(yōu)化了電磁導(dǎo)引在短預(yù)瞄車輛上的控制效果,同時(shí),使電磁導(dǎo)引系統(tǒng)變得小型化和輕量化,拓展了其在小型車輛無人駕駛領(lǐng)域的應(yīng)用前景。
根據(jù)郭孔輝的預(yù)瞄跟隨理論[8-10],建立四輪自動(dòng)導(dǎo)引車輛的單點(diǎn)預(yù)瞄跟隨模型。記R 為車輛轉(zhuǎn)彎半徑,L為軸距,i 為轉(zhuǎn)向系傳動(dòng)比,δ 為舵機(jī)轉(zhuǎn)向角,車輛的運(yùn)動(dòng)服從Ackermann 幾何關(guān)系:
討論車輛在既定路線上行駛的情況,路線中心位置表示為f(t),車速記為v。在t 時(shí)刻,車輛具有瞬時(shí)狀態(tài)y:
設(shè)傳感器前向預(yù)瞄距離為d,則預(yù)瞄時(shí)間T 為:
經(jīng)時(shí)間T 后,車輛的橫向位置記為:
在上述假設(shè)條件下,希望車輛能夠?qū)崿F(xiàn)對(duì)預(yù)瞄點(diǎn)的跟隨,即沿曲率為的軌跡行駛距離d 后,在(t+T)時(shí)刻到達(dá)的預(yù)期位置f(t+T)。該過程表示為:
由此得到,要使車輛運(yùn)動(dòng)到所期望的預(yù)瞄位置,即y(t+T)=f(t+T),控制系統(tǒng)輸出舵機(jī)轉(zhuǎn)向角加速度應(yīng)該為:
綜上所述,畫出如圖1 所示的控制系統(tǒng)方框圖。由于車輛的轉(zhuǎn)向機(jī)構(gòu)動(dòng)作存在一定的時(shí)滯,在高速行駛狀態(tài)下,該時(shí)滯不能被忽略不計(jì),因此,引入一階滯后環(huán)節(jié)e-τs。系統(tǒng)的傳遞函數(shù)為:
圖1 車輛預(yù)瞄跟隨控制系統(tǒng)方框圖
在這個(gè)存在滯后環(huán)節(jié)的車輛轉(zhuǎn)向控制系統(tǒng)中,要提高運(yùn)行速度,必須增大預(yù)瞄距離。因此,對(duì)高速運(yùn)行車輛前方的道路進(jìn)行超前探測(cè)是一種克服控制系統(tǒng)自身時(shí)滯,獲得更好控制效果的可行方案。若只提高車輛運(yùn)行速度而不增大預(yù)瞄距離,則會(huì)導(dǎo)致車輛的側(cè)向控制跟隨效果變差,甚至發(fā)散[11]。
傳感器的布局直接影響到電磁導(dǎo)引的方案設(shè)計(jì),因此,首先通過分析確定傳感器的最佳布局方式。
實(shí)驗(yàn)環(huán)境采用20 kHz 正弦波產(chǎn)生變化的磁場(chǎng)作為電磁導(dǎo)引信號(hào)。傳感器為10 mH 電感與6.8 nF 電容構(gòu)成的LC 諧振電路,諧振頻率與磁場(chǎng)頻率匹配。
當(dāng)車身上的電磁傳感器高度固定時(shí),電磁感應(yīng)強(qiáng)度與傳感器側(cè)向偏移距離呈負(fù)二次冪關(guān)系。從圖2 可以看出,使用單個(gè)電磁傳感器只能確定車身側(cè)向偏移距離的絕對(duì)值,而不能確定偏移的方向。
圖2 單個(gè)傳感器電磁感應(yīng)強(qiáng)度與側(cè)向偏移距離關(guān)系
為獲取更多車身姿態(tài)信息,本文將傳感器的數(shù)量增加至7 個(gè),并按圖3 所示相對(duì)位置排布。此時(shí),分析多個(gè)傳感器之間的相互關(guān)系。
圖3 電磁傳感器排布位置示意圖
將同一行上兩個(gè)相互對(duì)稱的電磁傳感器作為一組,例如圖3 中的S1 和S5,繪出電磁感應(yīng)強(qiáng)度與側(cè)向偏移距離的關(guān)系,如圖4 所示。根據(jù)兩個(gè)傳感器的值,能夠唯一確定一個(gè)偏移量。這說明兩個(gè)對(duì)稱排布的傳感器能夠確定電磁導(dǎo)引車輛的側(cè)向偏移方向和偏移距離,即完全確定車身在水平方向上的位置。
圖4 對(duì)稱位置傳感器電磁感應(yīng)強(qiáng)度與側(cè)向偏移距離關(guān)系
將同一對(duì)角線上的兩個(gè)電磁傳感器作為一組,例如圖3 中的S1 和S7、S5 和S6。將兩個(gè)傳感器測(cè)得的電磁感應(yīng)強(qiáng)度作差,繪出該差值與車輛行駛方向相對(duì)電磁線偏離角度(以下簡稱縱向偏移角度)的關(guān)系,如圖5 所示。由圖可見,曲線在-30°~30°范圍內(nèi)具有較好的線性特性。這說明呈對(duì)角線排布的一對(duì)傳感器能夠反映車身縱向偏移角度的變化。
圖5 對(duì)角位置傳感器電磁感應(yīng)強(qiáng)度差值與偏移角度關(guān)系
本文根據(jù)此傳感器排布方案,搭建一輛四輪車模型,如圖6 所示。其中,7 個(gè)電磁傳感器按圖3 排布方式分別安裝在車身的前部和中后部。車模長為295 mm,寬為199 mm,高為95 mm,輪距為153 mm,軸距為202 mm。傳感器最前端到前轉(zhuǎn)向輪軸心沿前進(jìn)方向的水平距離為42 mm??紤]到電磁傳感器的探測(cè)距離極短,可認(rèn)為該車模電磁導(dǎo)引系統(tǒng)的預(yù)瞄距離為42 mm,約為車身軸距的1/5。
圖6 本文所使用的四輪車模
除此之外,車模上還搭載了一套獨(dú)立的攝像頭導(dǎo)引系統(tǒng),其預(yù)瞄距離達(dá)300 mm。該系統(tǒng)僅用于在神經(jīng)網(wǎng)絡(luò)訓(xùn)練階段,引導(dǎo)車模在實(shí)驗(yàn)環(huán)境中以3.2 m/s 的速度穩(wěn)定運(yùn)行,以獲得高質(zhì)量的數(shù)據(jù)集。
在人工神經(jīng)網(wǎng)絡(luò)模型中,神經(jīng)元是一種多輸入、單輸出的非線性模型[12]?;谏窠?jīng)元模型,搭建一種5 層全連接神經(jīng)網(wǎng)絡(luò),如圖7 所示。輸入層包含7 個(gè)神經(jīng)元,分別用于接收S1~S5 5 個(gè)電磁傳感器數(shù)據(jù),以及(S1-S7)/2、(S5-S6)/2 兩對(duì)傳感器的差比和數(shù)據(jù);神經(jīng)網(wǎng)絡(luò)設(shè)置3層隱含層;輸出層神經(jīng)元個(gè)數(shù)為1,輸出結(jié)果作為控制量輸出至舵機(jī)。
圖7 全連接神經(jīng)網(wǎng)絡(luò)模型
基于多次實(shí)驗(yàn)結(jié)果,綜合權(quán)衡使用不同激活函數(shù)的利弊[13],本文選擇tanh 函數(shù)作為隱含層第一、第二層的激活函數(shù),選擇ReLU 函數(shù)作為隱含層第三層的激活函數(shù)。
將神經(jīng)網(wǎng)絡(luò)輸入矩陣記為Xin,輸出矩陣記為Yout,各層輸出矩陣記為Yn,權(quán)值矩陣記為Wn,偏置矩陣記為Bn,其中整數(shù)n∈[1,5]。該全連接神經(jīng)網(wǎng)絡(luò)模型的完整結(jié)構(gòu)表示為:
不失一般性地,忽略隱含層之間的復(fù)雜關(guān)系,將上述神經(jīng)網(wǎng)絡(luò)模型看作輸入Xin到輸出Yout的映射h(Xin;θ),其中θ 為神經(jīng)網(wǎng)絡(luò)模型參數(shù)矩陣,包括權(quán)重W 和偏置B,基于該映射構(gòu)造均方差(Mean Square Error,MSE)損失函數(shù)L(Yi,Xin)作為目標(biāo)函數(shù):
全連接神經(jīng)網(wǎng)絡(luò)訓(xùn)練的基本方法是首先通過正向計(jì)算誤差,然后將該誤差反向傳播。每一層參數(shù)的更新依賴于后一層的損失,各層利用梯度下降法更新參數(shù),如式(13)所示。
式中,梯度即目標(biāo)函數(shù)L(Yi,Xin)對(duì)參數(shù)θ 的偏導(dǎo)數(shù),α為學(xué)習(xí)率。
由于使用的訓(xùn)練集數(shù)據(jù)量較大,為了提高迭代速度,將訓(xùn)練集劃分為m 個(gè)大小為n 的樣本,進(jìn)行小批量梯度下降[14]。由式(12)、式(13),得到式(14):
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程就是通過上述方法不斷迭代訓(xùn)練,尋找參數(shù)θ 的最優(yōu)解,使目標(biāo)函數(shù)趨于全局最小的過程。訓(xùn)練流程如圖8 所示。
圖8 神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程圖
在訓(xùn)練開始前,向神經(jīng)網(wǎng)絡(luò)模型提供一套合適的初始參數(shù)[15],然后,使用Adam 優(yōu)化器在每次迭代時(shí)指引神經(jīng)網(wǎng)絡(luò)各個(gè)參數(shù)向正確的方向更新。在每次模型迭代后,使用測(cè)試集驗(yàn)證新模型的性能,以決定是否保留該模型,并根據(jù)驗(yàn)證結(jié)果調(diào)整學(xué)習(xí)率繼續(xù)迭代,直至MSE值下降到所期望的范圍以內(nèi),或訓(xùn)練再無進(jìn)展。
本次訓(xùn)練使用的數(shù)據(jù)集總量為75 464 條,每20 次訓(xùn)練為一次迭代,共迭代200 次。訓(xùn)練過程的MSE 下降曲線如圖9 所示。從圖中可以看出,訓(xùn)練前期MSE 下降迅速,隨后下降趨于平緩,最終訓(xùn)練集和測(cè)試集MSE 均穩(wěn)定在0.002 左右,低于預(yù)期目標(biāo)MSE 值0.005,說明該神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練結(jié)果較好。
圖9 神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練MSE 下降曲線
在將神經(jīng)網(wǎng)絡(luò)模型部署到車模之前,對(duì)模型進(jìn)行模擬運(yùn)行測(cè)試。為了避免模型對(duì)單一數(shù)據(jù)集可能存在過擬合現(xiàn)象,模擬測(cè)試是在不同的場(chǎng)地上重新采集數(shù)據(jù),然后將傳感器數(shù)據(jù)按時(shí)間順序依次輸入訓(xùn)練好的模型進(jìn)行預(yù)測(cè),以模擬車輛在場(chǎng)地上的運(yùn)行過程。由于攝像頭導(dǎo)引系統(tǒng)具有很好的控制效果,可以將其輸出結(jié)果視為標(biāo)準(zhǔn)結(jié)果。然后將神經(jīng)網(wǎng)絡(luò)模型的實(shí)時(shí)輸出結(jié)果與標(biāo)準(zhǔn)結(jié)果進(jìn)行對(duì)比,如圖10 所示。結(jié)果表明,神經(jīng)網(wǎng)絡(luò)模型輸出結(jié)果與攝像頭導(dǎo)引方案的實(shí)際控制量基本一致,證明該模型跟隨情況良好,已經(jīng)具備較強(qiáng)的控制能力。
圖10 神經(jīng)網(wǎng)絡(luò)模型運(yùn)行模擬測(cè)試
完成模擬測(cè)試后,將神經(jīng)網(wǎng)絡(luò)模型部署至車模。在同一場(chǎng)地上,使用同一短預(yù)瞄車模,分別使用傳統(tǒng)“差比和”PID 算法[7]和本文構(gòu)建的全連接神經(jīng)網(wǎng)絡(luò)模型控制車模運(yùn)行,記錄車模在不同運(yùn)行速度下偏離路線中心線的最大距離,如表1 所示。從此表可以看出,當(dāng)車模低速(1 m/s)運(yùn)行時(shí),兩種方案均具有較好的控制效果;隨著運(yùn)行速度的提高,前者受預(yù)瞄距離的限制,控制效果迅速變差,出現(xiàn)較大幅度的震蕩,而后者依然能保持較好的控制效果;當(dāng)速度提高到2.5 m/s 時(shí),前者已經(jīng)無法引導(dǎo)車模按照正確路線運(yùn)行,后者的控制精度有所降低,但依然能夠引導(dǎo)車模正常運(yùn)行。因此,全連接神經(jīng)網(wǎng)絡(luò)模型不論是最高運(yùn)行速度,還是控制穩(wěn)定性與精度,較傳統(tǒng)電磁導(dǎo)引算法均有較大提高,極大地改善了短預(yù)瞄電磁導(dǎo)引的控制效果。
表1 不同導(dǎo)引方案運(yùn)行過程中的最大側(cè)向偏移距離
本文提出了基于全連接神經(jīng)網(wǎng)絡(luò)模型的車輛短預(yù)瞄電磁導(dǎo)引控制方案。該方案利用全連接神經(jīng)網(wǎng)絡(luò)出色的非線性擬合能力,從短預(yù)瞄電磁傳感器的有限數(shù)據(jù)中挖掘出盡可能豐富的車身位置、姿態(tài)等信息,基于這些信息對(duì)前方道路進(jìn)行預(yù)測(cè),從而彌補(bǔ)預(yù)瞄距離不足的缺陷,達(dá)到更好的控制效果。測(cè)試結(jié)果表明,其控制精度和最大穩(wěn)定運(yùn)行速度均遠(yuǎn)遠(yuǎn)超出傳統(tǒng)的電磁導(dǎo)引控制算法。同時(shí),本方案大大縮小了電磁導(dǎo)引系統(tǒng)的體積,拓展了電磁導(dǎo)引在小型車輛上的應(yīng)用場(chǎng)景。電磁導(dǎo)引依靠其價(jià)格低廉、抗干擾能力強(qiáng)的優(yōu)勢(shì),有望為未來無人駕駛技術(shù)提供新的思路與方式。