葛陽洋,范平清
(上海工程技術(shù)大學(xué) 機械與汽車工程學(xué)院,上海 201620)
研究可知,無人駕駛是人工智能領(lǐng)域的熱點科技課題之一。研究初期,只有為數(shù)不多的幾個發(fā)達國家在該領(lǐng)域展開角逐,隨著中國科研基礎(chǔ)和工業(yè)技術(shù)的發(fā)展、完善,在政府的支持下,國內(nèi)的一些高科技公司和多所高校也已陸續(xù)開啟了對無人駕駛的探索和討論,并取得了可觀的研究成果。雖然在路試中暴露了不少缺點,但卻為此后的研究奠定了堅實的基礎(chǔ)。
本文的研究內(nèi)容方向是無人駕駛領(lǐng)域中的一個重要分支,通過數(shù)學(xué)建模的方法來模擬汽車上坡過程,將乘用車上坡過程數(shù)字化,并通過編程導(dǎo)出關(guān)鍵數(shù)據(jù)。后續(xù)用到的BP神經(jīng)網(wǎng)絡(luò)是機器學(xué)習(xí)衍生出的一種算法,不僅具有結(jié)構(gòu)簡單、使用方便等特點,而且在Matlab工具箱中還有自帶的BP神經(jīng)網(wǎng)絡(luò)工具,因此可以直接在Matlab上進行調(diào)用來訓(xùn)練建模產(chǎn)生的數(shù)據(jù),優(yōu)化動力學(xué)模型,實現(xiàn)重要參數(shù)的分配。在研究過程中提出了有關(guān)無人駕駛的新思路,進一步開拓了智能駕駛領(lǐng)域的研究。
從汽車上坡過程的阻力部分入手,接著引入附著條件,然后根據(jù)發(fā)動機轉(zhuǎn)矩擬合結(jié)果對驅(qū)動力部分進行處理,最后對各個部分的建模進行匯總,并不斷完善和修改模型,直至符合車輛動力學(xué)要求。動力學(xué)建模的流程如圖1所示。
圖1 動力學(xué)建模流程圖Fig.1 Flow chart of dynamics modeling
乘用車上坡過程涉及多個參數(shù),汽車行駛方程式可寫為:
式中各部分有:
其中,F為驅(qū)動力;F為滾動阻力;F為空氣阻力;F為坡度阻力,即重力下滑分力;F為加速阻力(F、F、F、F、F的單位均為N);為整備質(zhì)量,單位為kg;為當(dāng)?shù)刂亓铀俣龋ㄈ?.8 m/s);為滾動阻力系數(shù);C為空氣阻力系數(shù);為迎風(fēng)面積(選定車型計算得2.442 m),為汽車行駛速度;為該乘用車的旋轉(zhuǎn)質(zhì)量轉(zhuǎn)換系數(shù)(此車型是1.2)。
乘用車行駛過程中對驅(qū)動輪有一摩擦力,此摩擦力的反力F驅(qū)動乘用車行駛,研究推得的數(shù)學(xué)公式為:
其中,F是發(fā)動機轉(zhuǎn)矩通過汽車傳動系后傳遞到驅(qū)動輪的轉(zhuǎn)矩;為車輪半徑;T為發(fā)動機轉(zhuǎn)矩;i為變速器的傳動比;為主減速器的傳動比;η為傳動系的機械效率,該車型為089;對于該車型的發(fā)動機有廠家給定測試轉(zhuǎn)矩數(shù)據(jù),見表1。
表1 發(fā)動機轉(zhuǎn)矩實測數(shù)據(jù)Tab.1 Measured data of engine torque
將轉(zhuǎn)矩數(shù)據(jù)在Matlab上進行多項式擬合,由此可得發(fā)動機轉(zhuǎn)矩與轉(zhuǎn)速關(guān)系為:
由公式(7)得到選定車型發(fā)動機轉(zhuǎn)矩性能如圖2所示。
圖2 選定車型發(fā)動機轉(zhuǎn)矩性能擬合Fig.2 Fitting of engine torque performance for selected vehicle types
圖3是乘用車上坡受力分解的簡單示意。汽車行駛的附著條件是:
圖3 乘用車上坡受力分解Fig.3 Decomposition of uphill forces for passenger vehicles
該車發(fā)動機與車速的關(guān)系式為:
其中,為是汽車行駛速度;是發(fā)動機轉(zhuǎn)速;為車輪半徑,是0.328 4 m;二檔時,i為2.816;為4.788。
乘用車上坡時所受空氣阻力和發(fā)動機轉(zhuǎn)速的關(guān)系為:
將式(7)、式(11)在Matlab計算后得出該車發(fā)動機轉(zhuǎn)速和驅(qū)動力的關(guān)系式:
其中,為1089 810;為1231 510;為5373 010;為1042 410;為-0.071 0。
影響乘用車上坡過程的因素有汽車內(nèi)部因素—發(fā)動機的轉(zhuǎn)速,外部因素主要是道路的條件,如道路的坡度、滾動阻尼等,由此擬定以下輸入變量:坡度、發(fā)動機轉(zhuǎn)速、路面附著系數(shù)、路面滾動阻尼。
為衡量車輛上坡時的性能,擬定以下輸出變量:驅(qū)動力F、車輛加速度(負(fù)數(shù)表示不能持續(xù)爬坡)、可通過的最大等效坡度、輪胎是否打滑判定(輸出1表示不打滑,輸出0表示打滑)。
后續(xù)編程用到的選定車型的基本參數(shù)見表2。
表2 基本參數(shù)Tab.2 Basic parameters
根據(jù)第一節(jié)所建立的車輛上坡過程動力學(xué)模型,通過Matlab編譯出乘用車在上坡過程中產(chǎn)生的各個數(shù)據(jù),編程算法代碼具體如下:
將根據(jù)動力學(xué)建模運行處理后的數(shù)據(jù)保存成Excel表格,用于后續(xù)的數(shù)據(jù)訓(xùn)練與BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。
根據(jù)下面經(jīng)驗公式選取層數(shù),即:
其中,n是BP神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點數(shù)量;是神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點數(shù);為神經(jīng)網(wǎng)絡(luò)輸出層節(jié)點數(shù);為1~10之間任意常數(shù)。計算后得出本模型的n為10。
調(diào)用Matlab工具箱的BP神經(jīng)網(wǎng)絡(luò)對第二節(jié)導(dǎo)出的數(shù)據(jù)進行訓(xùn)練,訓(xùn)練流程見圖4。
圖4 數(shù)據(jù)訓(xùn)練流程圖Fig.4 Flow chart of data training
圖5 是在Matlab進行車輛上坡過程動力學(xué)建模中BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練時的參數(shù)設(shè)置,包括訓(xùn)練步長、梯度、最小誤差范圍等。圖6是經(jīng)過訓(xùn)練后形成的神經(jīng)網(wǎng)絡(luò)的10個隱含層的各個權(quán)值情況,各個隱含層的權(quán)值在數(shù)據(jù)的訓(xùn)練中不斷進行調(diào)整,使得神經(jīng)網(wǎng)絡(luò)進一步得到優(yōu)化。
圖5 訓(xùn)練參數(shù)設(shè)置Fig.5 Setting of training parameters
圖6 隱含層權(quán)值Fig.6 Weights of the hidden layer
圖7 是基于均方誤差計算并繪制出來的曲線圖。均方誤差(mean-square error)的變化可以體現(xiàn)出模型預(yù)測情況與實際情況的差異程度。由圖7可以看出,隨著訓(xùn)練的進行,誤差大體沿著越來越小的方向進行變化,從最開始數(shù)百萬的誤差變成了只有百分之一級別的誤差,訓(xùn)練優(yōu)化了動力學(xué)模型。
圖7 訓(xùn)練誤差表現(xiàn)Fig.7 Performance of training errors
本文提供了車輛動力學(xué)建模的思路以及簡便處理動力學(xué)建模數(shù)據(jù)的方法,并基于BP神經(jīng)網(wǎng)絡(luò)對建模數(shù)據(jù)進行訓(xùn)練,使得模型網(wǎng)絡(luò)化,優(yōu)化簡便了動力學(xué)模型,同時也大幅度減小了模型的表現(xiàn)誤差,這就為智能駕駛的建模及數(shù)據(jù)處理提供了新的思路。