董杰,李楊,李研強(qiáng),李小偉,王知學(xué)
(山東省科學(xué)院自動(dòng)化所,山東省汽車電子技術(shù)重點(diǎn)實(shí)驗(yàn)室,山東 濟(jì)南 250014)
近年來(lái),隨著汽車電子技術(shù)的迅猛發(fā)展,汽車各個(gè)系統(tǒng)的電子化程度越來(lái)越高,汽車故障檢修也更加復(fù)雜。各汽車廠家都紛紛開(kāi)發(fā)了功能強(qiáng)大的專用診斷儀,DTC(故障碼)和車載快攝數(shù)據(jù),可以很直觀地檢測(cè)到汽車故障。但是由于廠家設(shè)置的DTC 非常有限,比如2003 款雅閣2.4L 發(fā)動(dòng)機(jī)的DTC 覆蓋率不足37%;而且對(duì)于已有的DTC,有時(shí)候故障代碼與實(shí)際故障相差甚遠(yuǎn)。沒(méi)有診斷碼的故障需要借助專用診斷儀、萬(wàn)用表、氣缸壓力表等等,從診斷儀獲取的數(shù)據(jù)流對(duì)于診斷具有非常重要的作用。數(shù)據(jù)流的分析方法有數(shù)值分析法、時(shí)間分析法、因果分析法、關(guān)聯(lián)分析法和比較分析法等,這些分析方法數(shù)據(jù)量大、工作繁雜,加上缺乏具備良好專業(yè)知識(shí)和經(jīng)驗(yàn)技能的維修人員,導(dǎo)致數(shù)據(jù)流無(wú)法得到充分的利用和積累[1]。
本文提出了一種基于歷史故障庫(kù)的故障診斷方法,通過(guò)收集異常數(shù)據(jù)流,應(yīng)用決策樹(shù)進(jìn)行訓(xùn)練并建立歷史故障庫(kù),從而為故障診斷提供依據(jù)。這種診斷模式的優(yōu)點(diǎn)是可以通過(guò)故障診斷實(shí)例的不斷積累來(lái)充實(shí)歷史故障庫(kù),完善后的歷史故障庫(kù)對(duì)于未來(lái)可能出現(xiàn)的故障提供了診斷依據(jù)。
故障診斷建模是個(gè)復(fù)雜的過(guò)程,我們把被診斷的對(duì)象抽象成一個(gè)系統(tǒng),包括硬件和軟件,同時(shí)它與外部環(huán)境進(jìn)行信息交互[2]。外部環(huán)境包括人為因素、環(huán)境因素。本文以汽車電控單元故障診斷為例,外部環(huán)境故障的原因包括人為因素、電磁干擾因素、使用環(huán)境因素等;內(nèi)部故障原因包括硬件故障、軟件故障或者機(jī)械故障等。系統(tǒng)包括信息流的輸入、輸出,輸入的信息流包括傳感器采集數(shù)據(jù)、人機(jī)接口信息等,輸出的信息流包括執(zhí)行器指令和故障信息等。本文的故障診斷建模步驟如圖1 所示。
圖1 診斷系統(tǒng)建模思路Fig.1 Modeling idea of fault diagnosis system
(1)根據(jù)所掌握的理論知識(shí)和經(jīng)驗(yàn)研究診斷對(duì)象,明確其運(yùn)行機(jī)制和故障原因,對(duì)問(wèn)題解決方法和途徑作出經(jīng)驗(yàn)性假設(shè),確定系統(tǒng)框架,界定邊界和參數(shù)變量;
(2)在上一步工作的基礎(chǔ)上進(jìn)行系統(tǒng)建模,即用數(shù)學(xué)模型、邏輯模型描述輸入輸出關(guān)系;在系統(tǒng)模型的基礎(chǔ)上,對(duì)模型進(jìn)行仿真試驗(yàn),目的在于發(fā)現(xiàn)問(wèn)題,優(yōu)化模型,促進(jìn)建模的可靠性和準(zhǔn)確性;
(3)以歷史數(shù)據(jù)為樣本,根據(jù)仿真、優(yōu)化的測(cè)試結(jié)果對(duì)先前設(shè)定的參數(shù)、邊界參數(shù)進(jìn)行相應(yīng)調(diào)整和修改,反復(fù)完善直至達(dá)到滿意結(jié)果;
(4)在定量分析的基礎(chǔ)上,重新審視先前模型框架的建立和邊界界定,進(jìn)一步修正參數(shù);上述過(guò)程可能重復(fù)多次,直到各方面滿足要求并確定結(jié)果,得出建模結(jié)論。
電控節(jié)氣門控制系統(tǒng)(ETCs)的功能為:通過(guò)ETCs,發(fā)動(dòng)機(jī)控制單元能夠以電子信號(hào)的方式,接收到駕駛者操作加速踏板行程的數(shù)據(jù),根據(jù)這些數(shù)據(jù)計(jì)算車輛所需要的功率和扭矩,然后再根據(jù)功率和扭矩對(duì)節(jié)氣門的開(kāi)啟和關(guān)閉進(jìn)行控制。ETCs 由加速踏板位置傳感器、節(jié)氣門位置傳感器、節(jié)氣門電機(jī)、節(jié)氣門電機(jī)控制模塊及其他相關(guān)傳感器組成。發(fā)動(dòng)機(jī)控制模塊(ECM)根據(jù)接收到的數(shù)據(jù)準(zhǔn)確控制節(jié)氣門的開(kāi)度以及燃油噴射、點(diǎn)火和排放等。發(fā)動(dòng)機(jī)根據(jù)通過(guò)節(jié)氣門進(jìn)入空氣的多少來(lái)控制車速、動(dòng)力以及燃油供給,保持空氣混油比以達(dá)到最佳比率[3]。圖2 為簡(jiǎn)化了的電控節(jié)氣門系統(tǒng)結(jié)構(gòu)框架圖。
圖2 電控節(jié)氣門控制系統(tǒng)Fig.2 Control system of electrical throttle
電控節(jié)氣門具體診斷步驟如下[4]:
(1)了解電控節(jié)氣門工作原理,分析造成故障的原因。由節(jié)氣門的系統(tǒng)結(jié)構(gòu)可推斷出可能的故障部件,包括節(jié)氣門位置傳感器(TPS)、怠速傳感器、油門踏板傳感器、變速箱檔位傳感器、節(jié)氣門電機(jī)、巡航控制子系統(tǒng)、發(fā)動(dòng)機(jī)控制器等;
(2)數(shù)據(jù)流信息分組與排查。數(shù)據(jù)流信息主要包括數(shù)值信息、控制信息和其它信息。判斷參數(shù)是否在合理范圍內(nèi)、是否穩(wěn)定,異動(dòng)的數(shù)據(jù)流是故障診斷的重要依據(jù);
(3)對(duì)獲取到的異動(dòng)數(shù)據(jù)流進(jìn)行故障預(yù)處理。預(yù)處理的目標(biāo)是提取有效信息,轉(zhuǎn)化為故障征兆向量,作為搜索故障模式的輸入數(shù)據(jù);
(4)歷史故障庫(kù)是故障診斷的核心構(gòu)成,主要用來(lái)存儲(chǔ)故障征兆、故障原因?qū)?yīng)集。將生成的故障征兆向量輸入到歷史故障庫(kù)中進(jìn)行匹配以便找到故障原因;匹配不成功時(shí),征兆向量作為測(cè)試數(shù)據(jù),通過(guò)決策樹(shù)算法生成征兆原因?qū)?yīng)規(guī)則存儲(chǔ)到故障庫(kù)中。隨著用例的不斷積累,歷史故障庫(kù)將更加完善,為未來(lái)的診斷提供依據(jù)。圖3 為故障診斷流程圖。
圖3 故障診斷流程圖Fig.3 Flowchart of fault diagnosis
2.2.1 數(shù)據(jù)預(yù)處理
對(duì)電控節(jié)氣門控制系統(tǒng)中可能出現(xiàn)故障的部件,由專家根據(jù)專業(yè)經(jīng)驗(yàn)知識(shí)將每個(gè)可能出現(xiàn)的故障征兆分別進(jìn)行編碼,見(jiàn)表1。
表1 故障征兆編碼表Table 1 Fault symptom coding table
歷史故障庫(kù)主要用來(lái)存儲(chǔ)故障征兆和故障原因?qū)?yīng)集,由于該故障庫(kù)初始是由專家經(jīng)驗(yàn)知識(shí)設(shè)定的初始集,存在精度低、考慮不完全等因素;但是隨著故障測(cè)試用例的不斷積累,故障診斷的準(zhǔn)確性將提高,因此歷史故障庫(kù)需要一個(gè)不斷積累不斷完善的過(guò)程,才能在診斷測(cè)試中增加準(zhǔn)確性和可靠性。表2 為故障征兆集f 與故障原因集U 對(duì)應(yīng)關(guān)系的示例表。
故障產(chǎn)生時(shí),必然出現(xiàn)異動(dòng)數(shù)據(jù)流,通過(guò)對(duì)異常數(shù)據(jù)流的提取轉(zhuǎn)化,方能生成故障向量。故障征兆向量的生成根據(jù)故障的部位、征兆,然后按照表2 中規(guī)定的格式轉(zhuǎn)化。
表2 故障征兆矩陣表Table 2 Matrix table of fault symptom
2.2.2 決策樹(shù)C4.5 算法及其剪枝
當(dāng)前最有影響的決策樹(shù)算法是Quinlan 于1986年提出的ID3 和C4.5[5]。ID3 選擇信息增益最大的屬性劃分訓(xùn)練樣本,其目的是使分支時(shí)系統(tǒng)的熵最小,從而提高算法的運(yùn)算速度和精確度。主要缺陷是用信息增益選擇分支屬性標(biāo)準(zhǔn)時(shí),偏向取值較多的屬性,而某些情況下,此類屬性意義不大。C4.5 是ID3 算法的改進(jìn),采用了信息增益比作為選擇屬性的標(biāo)準(zhǔn),彌補(bǔ)了ID3 算法不足。本文采用C4.5 的算法,計(jì)算步驟如下:
(1)計(jì)算集合S 的期望信息:設(shè)集合S 是s 個(gè)樣本的集合,s1,s2,…,sm是E 的m 個(gè)例子集,期望信息由式(1)給出:
(2)計(jì)算屬性A 將集合S 劃分為子集的熵:設(shè)屬性A 具有k 個(gè)不同值,且設(shè)子集Sj中屬于類別Ci的樣本數(shù)目為sji子集的熵為式(2):
(3)計(jì)算屬性A 為結(jié)點(diǎn)的信息增益Gain(A):
(4)計(jì)算屬性A 將集合S 劃分為子集的信息增益比:
SplitInfo(S,A)代表按照屬性A 分裂樣本集S 的廣度和均勻性。
通過(guò)計(jì)算將信息增益比最高的屬性作為集合S 的測(cè)試屬性,用它來(lái)創(chuàng)建節(jié)點(diǎn),對(duì)A 屬性的各個(gè)值或各個(gè)區(qū)間創(chuàng)建分支,如此來(lái)劃分樣本。
(5)剪枝。最常用的為預(yù)剪枝和后剪枝,其中后剪枝允許樹(shù)過(guò)度擬合數(shù)據(jù),然后對(duì)建好的樹(shù)進(jìn)行修剪;預(yù)剪枝方法由于很難精確估計(jì)何時(shí)停止樹(shù)增長(zhǎng),因此后剪枝方法在實(shí)際問(wèn)題中更適用[6]。本文采用后剪枝方法避免樹(shù)的高度無(wú)節(jié)制增長(zhǎng)和過(guò)度擬合數(shù)據(jù),使用訓(xùn)練樣本集自身確定是否真正剪枝,公式如下:
其中N 是實(shí)例數(shù)量,f=E/N 為誤差率(E 為N 個(gè)實(shí)例中分類錯(cuò)誤的個(gè)數(shù)),q 為真實(shí)的誤差率,c 為置信度(C4.5 默認(rèn)值為2.5),z 為對(duì)應(yīng)于置信度c 的標(biāo)準(zhǔn)差。
設(shè)當(dāng)前訓(xùn)練樣本的故障原因有14 個(gè),分別為:U1=傳感器對(duì)地或電源短路;U2=傳感器供電電壓過(guò)低,導(dǎo)致位置數(shù)值錯(cuò)誤;U3=溫度傳感器數(shù)值偏離正常范圍;U4=錯(cuò)誤感知導(dǎo)致采集數(shù)據(jù)錯(cuò)誤;U5=節(jié)氣門開(kāi)度讀取錯(cuò)誤,導(dǎo)致怠速計(jì)算錯(cuò)誤;U6=扭矩?fù)Q算錯(cuò)誤;U7=位置傳感器輸出過(guò)高或過(guò)低;U8=位置傳感器輸出值學(xué)習(xí)錯(cuò)誤;U9=非DTC 覆蓋故障;U10=電機(jī)對(duì)電源或地短路;H 橋失效等;U11=方向盤上按鍵失效或者ECM 輸入電路失效;U12=剎車開(kāi)關(guān)失效;U13=車速錯(cuò)誤;U14=看門狗動(dòng)作或邏輯錯(cuò)誤等。首先計(jì)算期望熵,選取GainRatio 最大且同時(shí)獲取的信息增益又不低于所有屬性平均值的屬性測(cè)試屬性,根據(jù)上述方法計(jì)算,得出故障診斷樹(shù)如圖4 所示,最終形成分類規(guī)則見(jiàn)表3。
圖4 故障診斷決策樹(shù)Fig.4 Decision tree of fault diagnosis
表3 故障診斷分類規(guī)則實(shí)例Table 3 Case of fault diagnosis class rule
利用該方法對(duì)某車型的電子節(jié)氣門系統(tǒng)故障進(jìn)行了診斷,通過(guò)故障模式匹配,確定了故障原因并成功排除了故障。測(cè)試結(jié)果表明,該診斷方法具有一定的可靠性和準(zhǔn)確性。
[1]亞迪.數(shù)據(jù)分析在汽車故障診斷中的應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2009:2 -4.
[2]錢學(xué)森,于景元,戴汝為.一個(gè)科學(xué)新領(lǐng)域——開(kāi)放的復(fù)雜巨系統(tǒng)及其方法論[J].自然雜志,1990,13(1):3 -10.
[3]KIRSCH M T.Technical support to the national highway traffic safety administration on the reported toyota motor corporation unintended acceleration investigation[M].Darby,PA,USA:Diane Publishing Co.2011.
[4]李楊,李研強(qiáng),王知學(xué).基于數(shù)據(jù)挖掘的汽車ECU 故障診斷方法[J].計(jì)算機(jī)應(yīng)用研究,2011(3):714 -716.
[5]QUINLAN J R.C4.5:Programs for Machine Learning[M].San Mateo,California:Morgan Kaufmann Publishers,1993.
[6]歐陽(yáng)輝,祿樂(lè)濱,錢建立.基于C4.5 的論文元數(shù)據(jù)抽取算法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(16):3708 -3711.