過度轉(zhuǎn)向是一種不安全的狀況,這種狀況下車輛的后輪胎在轉(zhuǎn)彎時失去抓地力(圖 1)。導致這種情況的因素可能是輪胎磨損、路面濕滑、轉(zhuǎn)彎速度過快、轉(zhuǎn)彎時突然制動,或是所有這些因素的綜合原因所致。
圖 1:在測試賽道上檢測寶馬 M4 的過度轉(zhuǎn)向問題。
現(xiàn)代的穩(wěn)定控制系統(tǒng)可以在檢測到過度轉(zhuǎn)向時自動采取糾正措施。理論上,借助基于基本原理的數(shù)學模型,這類系統(tǒng)可以識別過度轉(zhuǎn)向的狀況。
例如,當車載傳感器的測量值超過模型中既定的參數(shù)閾值時,系統(tǒng)即可確定車輛發(fā)生過度轉(zhuǎn)向。然而,在實際駕駛中,由于涉及到眾多因素的相互作用,這種方法已被驗證難以湊效。同一輛汽車在輪胎充氣不足的情況下行駛于結(jié)冰路面,與在輪胎充氣適當?shù)那闆r下于干燥路面上行駛,需要的閾值可能大不相同。
寶馬公司正在探索一種機器學習方法來檢測過度轉(zhuǎn)向。借助 MATLAB,他們開發(fā)了一種監(jiān)督式機器學習模型作為概念驗證。盡管之前幾乎沒有任何機器學習方面的經(jīng)驗,但在短短三周內(nèi)寶馬團隊就完成了一個可正常工作的 ECU 原型,能夠檢測過度轉(zhuǎn)向,并且準確率超過 98%。
視頻:什么是機器學習?
收集數(shù)據(jù)和提取特征
我們首先收集汽車在發(fā)生過度轉(zhuǎn)向之前、期間和之后的真實數(shù)據(jù)。在專業(yè)駕駛員的幫助下,我們在法國米拉馬斯的寶馬試驗場對寶馬 M4 進行了實時駕駛測試(圖 2)。
圖 2:位于法國米拉馬斯的寶馬試驗場
在測試期間,我們捕獲了過度轉(zhuǎn)向檢測算法中的一些常用信號:
車輛的縱向加速度
橫向加速度
轉(zhuǎn)向角度
偏航率
此外,我們還記錄了駕駛員對過度轉(zhuǎn)向的感知:
當駕駛員指出汽車發(fā)生過度轉(zhuǎn)向時,坐在乘客位置的同事會按下筆記本電腦上的一個按鈕。當駕駛員指出汽車恢復正常駕駛狀態(tài)時,該同事會松開按鈕。這些按鈕的按壓創(chuàng)建了所需的真值標記,以供我們訓練監(jiān)督學習模型。我們在 43 分鐘的記錄數(shù)據(jù)中總共捕獲了大約 259,000 個數(shù)據(jù)點。
回到我們慕尼黑的辦公室,我們將收集到的數(shù)據(jù)加載到 MATLAB 中,并使用 Statistics and Machine Learning Toolbox 中的 Classification Learner app,利用各種分類器訓練機器學習模型。
通過這些原始數(shù)據(jù)訓練的模型并不會產(chǎn)生很出眾的結(jié)果 - 其準確率大概在75% 和 80% 之間。為了獲得更準確的結(jié)果,我們清理并減少了原始數(shù)據(jù)。
首先,我們應(yīng)用濾波器來降低信號數(shù)據(jù)中的噪聲(圖 3)。
圖 3:原始轉(zhuǎn)向角度信號(藍色)和經(jīng)過濾波處理后的相同信號(橙色)。
接下來,我們使用峰值分析來識別經(jīng)過濾波處理的輸入信號的峰值(局部極值)(圖 4)。
圖 4:識別出峰值的轉(zhuǎn)向角度信號。
評估機器學習方法
在過濾和減少收集的數(shù)據(jù)后,我們能夠更有效地評估監(jiān)督學習方法。憑借 Classification Learner app,我們試用了 k-最近鄰 (KNN) 分類器,支持向量機 (SVM)、二次判別分析和決策樹。我們還使用該app,查看經(jīng)由主成分分析 (PCA) 變換后得到的特征的效果,從而有助于防止過度擬合。
更多資源
在 MATLAB 微信公眾號回復【機器學習入門教程】,獲取《機器學習快速入門》系列視頻,全面介紹實用的 MATLAB 機器學習方法,包括線性回歸、判別分析、決策樹、支持向量機(SVM)、k近鄰算法(K-NN)、k均值聚類算法(k-means)等。
由我們評估的分類器所得出的結(jié)果,在表 1 中進行了歸納總結(jié)。所有分類器在識別過度轉(zhuǎn)向方面均表現(xiàn)良好,其中有三個分類器取得了高于 98% 的真陽率。
決定因素是真陰率:分類器能夠確定車輛未發(fā)生過度轉(zhuǎn)向的準確程度。這里,決策樹的表現(xiàn)優(yōu)于其他分類器,其真陰率幾乎達到 96%。
表 1:四種不同的監(jiān)督學習分類器的結(jié)果概要。
生成車載裝置測試所需的代碼
決策樹得出的結(jié)果十分令人看好,但真正測試是檢驗分類器在真實汽車中的 ECU 上的表現(xiàn)。我們使用 MATLAB Coder 從模型生成代碼,并為安裝在寶馬 5 系轎車中的目標 ECU 編譯代碼。這一次,我們在靠近慕尼黑辦公室的阿施海姆附近的寶馬工廠親自進行了測試。我親自駕駛,我的同事負責收集數(shù)據(jù),在我指出車輛發(fā)生過度轉(zhuǎn)向時,同事準確地記錄了這一時間。
在 ECU 上實時運行的分類器表現(xiàn)非常出色,準確率約為 95%。進入測試階段后,由于使用了不同的車輛(寶馬 5 系而不是 M4),不同的駕駛員和不同的賽道,我們不知道會發(fā)生什么樣的情況。仔細觀察數(shù)據(jù)后發(fā)現(xiàn),模型與駕駛員所感知的過度轉(zhuǎn)向不相符的情況,大多發(fā)生在過度轉(zhuǎn)向開始和結(jié)束時。這種不相符可以理解;因為即使是駕駛員,也很難準確地確定過度轉(zhuǎn)向是在何時開始和停止。
在成功開發(fā)出用于過度轉(zhuǎn)向檢測的機器學習模型,并將其部署在原型 ECU 上之后,我們現(xiàn)在正在構(gòu)想機器學習的許多其他潛在應(yīng)用。我們數(shù)十年來收集了大量可供使用的數(shù)據(jù),而現(xiàn)在一輛汽車在一天內(nèi)就可以生成數(shù) TB 的測量數(shù)據(jù)。機器學習讓我們有機會開發(fā)相關(guān)的軟件,從而可以利用這些可用數(shù)據(jù)來了解駕駛員的行為并改善其駕駛體驗。
-
代碼
+關(guān)注
關(guān)注
30文章
4821瀏覽量
68890 -
分類器
+關(guān)注
關(guān)注
0文章
152瀏覽量
13209 -
機器學習
+關(guān)注
關(guān)注
66文章
8438瀏覽量
132911
發(fā)布評論請先 登錄
相關(guān)推薦
評論