動(dòng)下路面附著系數(shù)估計(jì):UKF與CKF對(duì)比與工程實(shí)踐)
題目這些詞一擺出來(lái)懂的都懂——路面附著系數(shù)μ值這個(gè)參數(shù)在底盤(pán)控制里的地位太特殊了。ABS、TCS、ESC、分布式四驅(qū)扭矩分配哪個(gè)都繞不開(kāi)它。但車(chē)上偏偏沒(méi)有傳感器能直接測(cè)它只能靠觀測(cè)器和濾波算法“猜”。傳統(tǒng)集中驅(qū)動(dòng)車(chē)型猜得磕磕絆絆因?yàn)榘l(fā)動(dòng)機(jī)扭矩不精確、輪速信號(hào)分辨率也不夠。到了分布式驅(qū)動(dòng)電動(dòng)車(chē)這里事情發(fā)生了變化每個(gè)輪子都是獨(dú)立電機(jī)扭矩指令有多準(zhǔn)、轉(zhuǎn)速反饋有多細(xì)用過(guò)的人都知道。這個(gè)條件讓無(wú)跡卡爾曼濾波UKF和容積卡爾曼濾波CKF作為主力估計(jì)器變得非常實(shí)用。我最近在做的項(xiàng)目就是在一輛四輪分布式驅(qū)動(dòng)平臺(tái)上分別用UKF和CKF做路面附著系數(shù)估計(jì)然后對(duì)比兩者在對(duì)接路面、對(duì)開(kāi)路面、高附著正弦轉(zhuǎn)向工況下的表現(xiàn)。過(guò)程中踩了不少坑也總結(jié)出一些仿真和實(shí)車(chē)都能用的規(guī)律。這篇文章不走教科書(shū)路線直接把我搭模型、標(biāo)參數(shù)、做激勵(lì)、看結(jié)果的完整思路捋一遍順帶把常見(jiàn)問(wèn)題和工程落地建議一起寫(xiě)出來(lái)。做底盤(pán)控制方向的研究生、搞功能開(kāi)發(fā)的工程師或者剛接觸狀態(tài)估計(jì)想找個(gè)具體落點(diǎn)的人都能從中拿走一套可直接參考的方案。1. 這套方案為什么值得做需求拆解與模型選型1.1 路面附著系數(shù)“測(cè)不準(zhǔn)”的本質(zhì)原因先說(shuō)清楚路面附著系數(shù)是什么。它本質(zhì)上是輪胎和路面之間能夠傳遞的最大切向力的無(wú)量綱系數(shù)通常寫(xiě)成[ \mu_{\max} \frac{F_{x,\max} F_{y,\max}}{F_z} ]也就是縱向力和側(cè)向力合力與垂直載荷之比的上限??刂撇呗岳镉玫降母街禂?shù)往往是當(dāng)前路面能夠提供的峰值摩擦系數(shù)影響制動(dòng)時(shí)目標(biāo)滑移率的設(shè)定、驅(qū)動(dòng)時(shí)扭矩上升斜率的上限、轉(zhuǎn)向時(shí)橫擺力矩可控域的邊界。難點(diǎn)在于這個(gè)值沒(méi)法直接裝個(gè)傳感器測(cè)出來(lái)。工程上常見(jiàn)兩種間接估計(jì)思路一種是通過(guò)加速度傳感器得到當(dāng)前可利用附著系數(shù)的下限也就是[ \mu \geq \sqrt{a_x^2 a_y^2}/g ]但這個(gè)算是“事后”信息只能告訴你“至少這么大”遠(yuǎn)遠(yuǎn)不夠控制用。另一種思路是走輪胎力-滑移率曲線的斜率識(shí)別原理上很誘人但問(wèn)題在于輪胎力在低滑移區(qū)是近似線性的斜率基本都是輪胎側(cè)偏剛度、縱滑剛度決定的和路面附著關(guān)系不大。只有當(dāng)滑移率進(jìn)入非線性段曲線才開(kāi)始明顯受μ影響而這個(gè)區(qū)域又恰恰是控制策略最不希望進(jìn)入的區(qū)域。這個(gè)矛盾就是路面附著系數(shù)估計(jì)難的本質(zhì)。估計(jì)器必須有足夠激勵(lì)才能把μ“撬動(dòng)”出來(lái)但正常行駛時(shí)用戶又希望輪胎一直待在線性區(qū)。所以離線仿真階段的激勵(lì)工況設(shè)計(jì)和在線估計(jì)階段的激勵(lì)注入策略直接決定算法的成敗。1.2 分布式驅(qū)動(dòng)平臺(tái)給出的三個(gè)先天優(yōu)勢(shì)為什么偏要強(qiáng)調(diào)分布式驅(qū)動(dòng)因?yàn)檫@個(gè)構(gòu)型給估計(jì)問(wèn)題帶來(lái)的提升不是改進(jìn)而是質(zhì)變。傳統(tǒng)燃油車(chē)想獲知單個(gè)車(chē)輪的實(shí)際驅(qū)動(dòng)扭矩需要查發(fā)動(dòng)機(jī)MAP、算變矩器滑差、過(guò)自動(dòng)變速器模型一路積累下來(lái)誤差經(jīng)常上兩位數(shù)百分比。分布式驅(qū)動(dòng)電動(dòng)車(chē)的電機(jī)輸出扭矩就是指令扭矩動(dòng)態(tài)響應(yīng)毫秒級(jí)誤差可以壓到很小。這是第一個(gè)優(yōu)勢(shì)輪胎縱向力輸入精確。第二個(gè)優(yōu)勢(shì)來(lái)自輪速反饋。輪轂電機(jī)或者輪邊電機(jī)通常配編碼器或旋變轉(zhuǎn)速信號(hào)的分辨率遠(yuǎn)高于傳統(tǒng)ABS輪速傳感器這直接提高了觀測(cè)方程的信噪比。估算μ需要用到車(chē)輪角加速度輪速信號(hào)一階差分本來(lái)噪聲很大但分辨率高之后配合濾波角加速度的可信度明顯好很多。第三個(gè)優(yōu)勢(shì)是主動(dòng)激勵(lì)能力。傳統(tǒng)集中驅(qū)動(dòng)車(chē)型想單獨(dú)給某個(gè)輪加個(gè)扭矩?cái)_動(dòng)物理上做不到。分布式驅(qū)動(dòng)四輪扭矩獨(dú)立可控可以在低附著工況下主動(dòng)給左右輪注入低幅值、特定頻率的扭矩差人為制造可觀測(cè)性。這一點(diǎn)在后面講激勵(lì)設(shè)計(jì)時(shí)還會(huì)展開(kāi)。1.3 為什么選UKF/CKF而不選EKF很多人最開(kāi)始都會(huì)想非線性系統(tǒng)線性化一下不就行了擴(kuò)展卡爾曼濾波EKF確實(shí)是最容易入門(mén)的方案。但輪胎模型是強(qiáng)非線性尤其是魔術(shù)公式里那個(gè)[ F_y D \sin(C \arctan(B \alpha - E (B \alpha - \arctan(B \alpha)))) ]在大側(cè)偏角、大滑移率下一階線性化帶來(lái)的截?cái)嗾`差是被放大的EKF的雅可比矩陣推導(dǎo)又極其容易出錯(cuò)橫向力對(duì)側(cè)偏角求導(dǎo)那一步稍微弄錯(cuò)一個(gè)符號(hào)濾波直接發(fā)散。UKF和CKF的共同點(diǎn)是都不需要算雅可比矩陣直接通過(guò)確定性采樣點(diǎn)傳播狀態(tài)分布。UKF用無(wú)跡變換通過(guò)2n1個(gè)sigma點(diǎn)近似高斯分布經(jīng)過(guò)非線性函數(shù)后的統(tǒng)計(jì)量理論上前三階精度。CKF用球面徑向容積規(guī)則通過(guò)2n個(gè)等權(quán)重容積點(diǎn)完成近似理論精度在三階。兩者性能上限接近但工程特性差別不小后面專(zhuān)門(mén)展開(kāi)。我最終在這一版項(xiàng)目里沒(méi)有選EKF還有一個(gè)現(xiàn)實(shí)原因項(xiàng)目過(guò)程中模型迭代頻繁車(chē)輛模型參數(shù)一變EKF的線性化矩陣就得跟著改維護(hù)成本太高。UKF和CKF只需要改狀態(tài)方程和觀測(cè)方程的函數(shù)濾波框架完全不動(dòng)。這對(duì)研發(fā)節(jié)奏的影響是巨大的。2. UKF與CKF的算法原理及工程差異2.1 UKF的核心無(wú)跡變換與sigma點(diǎn)UKF的思想是既然非線性函數(shù)傳播太難干脆在狀態(tài)分布附近挑一組采樣點(diǎn)讓這些點(diǎn)的均值和協(xié)方差等于當(dāng)前狀態(tài)估計(jì)的均值和協(xié)方差然后把每個(gè)點(diǎn)通過(guò)非線性函數(shù)再統(tǒng)計(jì)輸出點(diǎn)的均值和協(xié)方差。具體取2n1個(gè)sigma點(diǎn)[ \chi_0 x, \quad \chi_i x (\sqrt{(n\lambda) P})i, \quad \chi{in} x - (\sqrt{(n\lambda) P})_i ]其中[ \lambda \alpha^2 (n \kappa) - n ]對(duì)應(yīng)的權(quán)重是[ W_0^{(m)} \frac{\lambda}{n\lambda} ][ W_0^{(c)} \frac{\lambda}{n\lambda} (1 - \alpha^2 \beta) ][ W_i^{(m)} W_i^{(c)} \frac{1}{2(n\lambda)}, \quad i 1, \dots, 2n ]三個(gè)可調(diào)參數(shù)里α決定sigma點(diǎn)偏離均值的程度一般取1e-3到1之間β用于融入先驗(yàn)分布信息高斯分布取2κ的默認(rèn)值是3-n保證四階矩匹配。這一段寫(xiě)在這里不是湊公式。調(diào)參的時(shí)候你會(huì)發(fā)現(xiàn)UKF的自由度既是優(yōu)點(diǎn)也是坑。α取得太小sigma點(diǎn)分布太集中容易低估過(guò)程噪聲的影響α取得太大又會(huì)讓非線性區(qū)域內(nèi)的采樣精度下降。最頭疼的是λ出現(xiàn)負(fù)值時(shí)中心點(diǎn)權(quán)重可能為負(fù)協(xié)方差矩陣在遞推中容易失去正定性濾波發(fā)散往往就從這個(gè)細(xì)節(jié)開(kāi)始。2.2 CKF的核心球面徑向容積規(guī)則CKF的采樣策略和UKF完全不同它基于徑向容積規(guī)則在n維球面上取2n個(gè)等權(quán)重容積點(diǎn)[ \xi_i \sqrt{n} e_i, \quad \xi_{in} -\sqrt{n} e_i, \quad i 1, \dots, n ]其中e_i是第i個(gè)標(biāo)準(zhǔn)基向量。所有容積點(diǎn)的權(quán)重統(tǒng)一為[ \omega_i \frac{1}{2n} ]把這個(gè)采樣方案代入標(biāo)準(zhǔn)卡爾曼濾波框架就得到了容積卡爾曼濾波。最直觀的優(yōu)勢(shì)是權(quán)重恒正協(xié)方差矩陣的正定性有保障。它沒(méi)有α、β、κ這些需要人工調(diào)節(jié)的參數(shù)程序?qū)懗鰜?lái)結(jié)構(gòu)非常固定。在維數(shù)不高比如10維以內(nèi)的情況下CKF和UKF的估計(jì)精度基本在同一個(gè)水平。但當(dāng)狀態(tài)維數(shù)升高或者系統(tǒng)非線性較強(qiáng)時(shí)CKF的數(shù)值穩(wěn)定性優(yōu)勢(shì)會(huì)逐漸明顯起來(lái)。我實(shí)際跑下來(lái)一個(gè)印象很深的點(diǎn)同樣一組初值和噪聲矩陣UKF在某些工況下需要特意調(diào)κ才能保持協(xié)方差正定而CKF從一開(kāi)始就沒(méi)有這個(gè)問(wèn)題。2.3 兩者的工程差異參數(shù)敏感性與數(shù)值穩(wěn)定性單從算法復(fù)雜度和計(jì)算量看兩者幾乎打平。UKF每步要處理2n1個(gè)sigma點(diǎn)CKF處理2n個(gè)容積點(diǎn)n為狀態(tài)維度。真正拉開(kāi)差距的是參數(shù)敏感性和數(shù)值穩(wěn)定性。我做了一組極端工況測(cè)試把所有過(guò)程噪聲故意設(shè)得偏大觀測(cè)噪聲偏小模擬參數(shù)標(biāo)定不當(dāng)?shù)膱?chǎng)景。UKF的估計(jì)結(jié)果開(kāi)始出現(xiàn)明顯振蕩協(xié)方差矩陣的負(fù)特征值出現(xiàn)了好幾次程序被迫加修正。CKF在同參數(shù)下依然穩(wěn)定運(yùn)行雖然估計(jì)噪聲也變大但沒(méi)有出現(xiàn)協(xié)方差非正定問(wèn)題。這個(gè)差異的根源就來(lái)自權(quán)重。UKF中當(dāng)λ0時(shí)中心點(diǎn)權(quán)重W_0可能是負(fù)的負(fù)權(quán)重在遞推過(guò)程中輕微擾動(dòng)就可能把協(xié)方差拉向非正定。CKF的權(quán)重全部是1/(2n)恒正天然免疫這個(gè)問(wèn)題。所以我的結(jié)論很明確科研對(duì)比階段用UKF沒(méi)問(wèn)題因?yàn)樗`活、能調(diào)一旦進(jìn)入工程化階段我優(yōu)先推薦CKF因?yàn)樗倭艘唤M參數(shù)就意味著少一堆標(biāo)定工作和一個(gè)潛在的數(shù)值風(fēng)險(xiǎn)點(diǎn)。3. 狀態(tài)方程與觀測(cè)方程搭建估計(jì)方案落地細(xì)節(jié)3.1 車(chē)輛模型與狀態(tài)變量選取開(kāi)始建模前先確定狀態(tài)變量。我對(duì)比過(guò)兩種方案一種是把四個(gè)輪子的輪速都納入狀態(tài)再擴(kuò)維四個(gè)μ狀態(tài)維度上到11維另一種是保留車(chē)身速度狀態(tài)輪速直接放進(jìn)觀測(cè)方程。實(shí)際做下來(lái)我更推薦后者。狀態(tài)量取[ x [v_x, v_y, \gamma, \mu_{fl}, \mu_{fr}, \mu_{rl}, \mu_{rr}]^T ]也就是縱向車(chē)速、側(cè)向車(chē)速、橫擺角速度以及四個(gè)車(chē)輪對(duì)應(yīng)的路面附著系數(shù)。這樣狀態(tài)維度是7維可觀測(cè)性更容易保證計(jì)算量也更小。車(chē)輛模型用三自由度自行車(chē)模型加載荷轉(zhuǎn)移??v向方程、側(cè)向方程和橫擺方程分別是[ m(\dot{v}x - v_y \gamma) F{xfl} F_{xfr} F_{xrl} F_{xrr} ][ m(\dot{v}y v_x \gamma) F{yfl} F_{yfr} F_{yrl} F_{yrr} ][ I_z \dot{\gamma} a(F_{yfl} F_{yfr}) - b(F_{yrl} F_{yrr}) \frac{t_w}{2}(F_{xfr} - F_{xfl} F_{xrr} - F_{xrl}) ]這里F_x和F_y分別是各輪縱向力和側(cè)向力a、b為質(zhì)心到前/后軸距離t_w為輪距。前后軸的垂直載荷根據(jù)縱向加速度、側(cè)向加速度做轉(zhuǎn)移計(jì)算。這個(gè)模型精度在正常操穩(wěn)范圍內(nèi)夠用又不會(huì)像七自由度模型那樣帶來(lái)大量參數(shù)標(biāo)定負(fù)擔(dān)。μ的演化模型按慢時(shí)變隨機(jī)游走處理[ \dot{\mu}_i 0 w_i ]這個(gè)假設(shè)意味著μ在短時(shí)間內(nèi)變化不大通過(guò)濾波不斷修正。要注意的是這句話寫(xiě)起來(lái)容易實(shí)際工程里μ從0.8突變到0.2的對(duì)接路面隨機(jī)游走模型很難快速跟上。后面“自適應(yīng)Qμ”的技巧就是專(zhuān)門(mén)解決這個(gè)問(wèn)題的。3.2 輪胎模型的選擇與附著系數(shù)耦合輪胎模型是估計(jì)器和車(chē)輛模型之間最重要的一座橋。這一版項(xiàng)目我用的是Dugoff模型原因是它把路面附著系數(shù)μ直接寫(xiě)進(jìn)了表達(dá)式里非常便于狀態(tài)擴(kuò)維估計(jì)。Dugoff模型的形式是[ F_x \frac{C_s \lambda}{1-\lambda} f(L) ][ F_y \frac{C_\alpha \tan \alpha}{1-\lambda} f(L) ]其中[ L \frac{\mu F_z (1-\lambda)}{2 \sqrt{(C_s \lambda)^2 (C_\alpha \tan \alpha)^2}} ]當(dāng)L≥1時(shí)f(L)1輪胎工作在線性區(qū)當(dāng)L1時(shí)f(L)L(2-L)輪胎進(jìn)入飽和區(qū)此時(shí)μ直接控制著力飽和值。建這個(gè)模型時(shí)有個(gè)很容易踩的數(shù)值坑當(dāng)λ趨近0、α趨近0時(shí)(1-λ)分式會(huì)爆炸需要加一個(gè)極小值保護(hù)。另一個(gè)經(jīng)驗(yàn)?zāi)P屠锏腃_s、C_alpha輪胎剛度參數(shù)必須按實(shí)際選用的輪胎標(biāo)定不能用軟件默認(rèn)值。同樣一條胎氣壓差0.2bar剛度能差一成多直接影響估計(jì)偏差。魔術(shù)公式也試過(guò)。精度確實(shí)更高但D和μ直接耦合形狀因子C又和路面狀態(tài)相關(guān)估計(jì)器狀態(tài)擴(kuò)維只能估D不能直接估μ邏輯上要多繞一步。除非你對(duì)魔術(shù)公式的參數(shù)辨識(shí)很有把握否則我建議第一版先用Dugoff簡(jiǎn)單直接問(wèn)題少了再去精修。3.3 觀測(cè)方程設(shè)計(jì)與噪聲矩陣標(biāo)定觀測(cè)方程用到的傳感器信號(hào)包括四個(gè)輪速、縱向加速度、側(cè)向加速度、橫擺角速度和方向盤(pán)轉(zhuǎn)角。輪速和車(chē)身速度的關(guān)系為[ \omega_i \frac{v_{x,i}}{R_e} ]其中v_x,i要考慮輪心處的縱向速度包含橫擺角速度貢獻(xiàn)和轉(zhuǎn)向角修正。前輪需要按轉(zhuǎn)向角分解后輪直接用車(chē)速和輪距修正。這個(gè)關(guān)系式里R_e是有效滾動(dòng)半徑它隨載荷、胎壓變化最好在標(biāo)定階段實(shí)測(cè)幾個(gè)工況取一個(gè)加權(quán)平均值。加速度計(jì)觀測(cè)方程是車(chē)身動(dòng)力學(xué)方程的直接輸出[ a_{x,m} \dot{v}x - v_y \gamma b{a_x} ][ a_{y,m} \dot{v}y v_x \gamma b{a_y} ]b_{a}是加速度計(jì)的零偏我的做法是不把它當(dāng)作狀態(tài)量直接擴(kuò)維而是在進(jìn)入濾波器前先做在線零偏修正理由后面排查部分會(huì)說(shuō)。噪聲矩陣方面我最終的標(biāo)定值如下參數(shù)取值說(shuō)明輪速噪聲R_ω0.02 rad/s編碼器分辨率高噪聲可以壓小加速度噪聲R_a0.1 m/s2包含振動(dòng)和安裝誤差橫擺角速度噪聲R_γ0.005 rad/s光纖陀螺更好MEMS需放大車(chē)速過(guò)程噪聲Q_v1 m2/s2隨激勵(lì)強(qiáng)度適當(dāng)增大μ過(guò)程噪聲Q_μ1e-3 每側(cè)關(guān)鍵是和收斂速度的折中如果發(fā)現(xiàn)μ估計(jì)抖動(dòng)特別大先把Q_μ調(diào)小一個(gè)數(shù)量級(jí)看看。如果發(fā)現(xiàn)對(duì)接路面響應(yīng)太慢再把Q_μ臨時(shí)放大。這個(gè)“臨時(shí)”可以通過(guò)殘差觸發(fā)實(shí)現(xiàn)后面第4部分詳細(xì)說(shuō)。3.4 激勵(lì)工況設(shè)計(jì)可觀測(cè)性分析前面說(shuō)過(guò)可觀測(cè)性是μ估計(jì)的最大門(mén)檻。用通俗的話講如果輪胎力始終處在線性區(qū)觀測(cè)方程里μ的靈敏度趨近于零濾波器無(wú)論多高級(jí)都沒(méi)法從殘差中提取出μ的信息。在設(shè)計(jì)仿真工況時(shí)我用了以下幾個(gè)手段來(lái)制造激勵(lì)。第一是對(duì)接路面突變。路面從μ0.8突然切換成μ0.3車(chē)速?gòu)?0km/h開(kāi)始大力制動(dòng)讓輪胎工作點(diǎn)迅速跨過(guò)線性區(qū)這時(shí)候估計(jì)器必須快速響應(yīng)突變。第二是高附著路面階躍驅(qū)動(dòng)。在μ0.9的干燥路面突然給驅(qū)動(dòng)扭矩讓滑移率沖過(guò)3%甚至到8%制造縱向滑移激勵(lì)。第三是正弦轉(zhuǎn)向輸入。左右連續(xù)變道側(cè)偏角被不斷拉大側(cè)向輪胎力的非線性飽和區(qū)被激活這時(shí)側(cè)向力對(duì)μ的敏感度會(huì)上升。第四是對(duì)開(kāi)路面持續(xù)激勵(lì)。左側(cè)鋪高附著材料右側(cè)鋪低附著材料左右輪同時(shí)走不同路面檢驗(yàn)估計(jì)器能否在同一個(gè)時(shí)刻解出兩個(gè)完全不同的μ值。實(shí)操中有個(gè)很實(shí)用的判斷方法在做正式估計(jì)之前先跑一遍開(kāi)環(huán)仿真把不同μ初值下觀測(cè)殘差的敏感度畫(huà)出來(lái)。如果μ從0.3變到0.8時(shí)觀測(cè)殘差幾乎不變說(shuō)明這個(gè)工況沒(méi)有可觀測(cè)性無(wú)論什么濾波器都白搭。對(duì)于分布式驅(qū)動(dòng)的主動(dòng)激勵(lì)還有一個(gè)量產(chǎn)可落地的技巧在低附著工況下給左右前輪注入一個(gè)幅值很小的交替扭矩?cái)_動(dòng)頻率選2~4Hz產(chǎn)生的縱向力差不會(huì)讓駕駛員有明顯感覺(jué)但足以讓滑移率在小幅度波動(dòng)中穿過(guò)非線性區(qū)。這樣μ估計(jì)就能持續(xù)獲得修正信息。我實(shí)測(cè)下來(lái)這個(gè)策略在雪地、濕滑路面效果顯著尤其對(duì)低速起步場(chǎng)景。4. 仿真對(duì)比、結(jié)果分析與問(wèn)題排查實(shí)錄4.1 仿真工況和評(píng)價(jià)指標(biāo)仿真環(huán)境我搭在Simulink環(huán)境下車(chē)輛模型用了一套改裝過(guò)的分布式驅(qū)動(dòng)整車(chē)參數(shù)整車(chē)質(zhì)量約1.8噸軸距2.8m輪端峰值扭矩1200Nm四輪獨(dú)立電機(jī)驅(qū)動(dòng)。估計(jì)器分別接UKF和CKF模塊初值、噪聲矩陣、觀測(cè)數(shù)據(jù)完全一致變量只有一個(gè)濾波器。對(duì)比工況一共四組工況A對(duì)接路面μ從0.8突變0.3縱向大力制動(dòng)工況B高附著雙移線μ0.9方向盤(pán)正弦輸入工況C對(duì)開(kāi)路面左側(cè)μ0.8右側(cè)μ0.2持續(xù)節(jié)氣門(mén)工況D低附著正弦掃頻轉(zhuǎn)向μ0.3漸增方向盤(pán)幅值評(píng)價(jià)指標(biāo)取估計(jì)穩(wěn)態(tài)均方根誤差、突變后收斂時(shí)間進(jìn)入真實(shí)值±0.05以內(nèi)、單步計(jì)算耗時(shí)以及協(xié)方差矩陣非正定等數(shù)值穩(wěn)定性統(tǒng)計(jì)。4.2 兩個(gè)估計(jì)器的對(duì)比結(jié)果直接放典型結(jié)果的匯總表。評(píng)價(jià)指標(biāo)UKFCKF工況A收斂時(shí)間約0.62s約0.41s工況A穩(wěn)態(tài)RMSE0.0420.031工況B穩(wěn)態(tài)RMSE0.0350.028工況C左側(cè)/右側(cè)估計(jì)終點(diǎn)0.76 / 0.290.77 / 0.27工況D是否發(fā)散否但振蕩否平穩(wěn)單步計(jì)算耗時(shí)7維狀態(tài)約0.52ms約0.48ms協(xié)方差非正定出現(xiàn)次數(shù)2次/千步0次/千步CKF在幾乎所有指標(biāo)上都輕微勝出尤其收斂時(shí)間領(lǐng)先了約0.2秒。這個(gè)差距在絕對(duì)值上不大但放在緊急制動(dòng)場(chǎng)景里0.2秒意味著能早一點(diǎn)把目標(biāo)滑移率調(diào)到正確位置制動(dòng)距離的差別可能有一兩米。工況C的結(jié)果很能說(shuō)明問(wèn)題路面左右μ差了四倍兩個(gè)濾波器都能在十幾秒內(nèi)把兩側(cè)解耦開(kāi)來(lái)這說(shuō)明觀測(cè)方程和激勵(lì)設(shè)計(jì)是行得通的。UKF在右側(cè)低附著路面上估計(jì)值略偏低本質(zhì)上是它采樣點(diǎn)分布對(duì)Dugoff模型飽和段響應(yīng)的差異調(diào)參可以緩解但代價(jià)是其他工況要重新驗(yàn)證。計(jì)算量方面7維狀態(tài)下單步差距不到0.1ms對(duì)現(xiàn)在的主流MCU都不是問(wèn)題。真正決定選型的不是算力而是參數(shù)標(biāo)定成本。4.3 常見(jiàn)問(wèn)題排查與工程落地建議這個(gè)項(xiàng)目里我先后遇到過(guò)的典型問(wèn)題篩選出五個(gè)最有代表性的連同處理辦法一起列出。問(wèn)題一μ估計(jì)值在初始值附近紋絲不動(dòng)最典型的原因就是激勵(lì)不足輪胎工作在線性區(qū)觀測(cè)殘差對(duì)μ沒(méi)有靈敏度。處理辦法很直接打開(kāi)滑移率/側(cè)偏角監(jiān)視窗口確認(rèn)滑移率是否超過(guò)大約3%的閾值閾值。如果沒(méi)超過(guò)就需要主動(dòng)激勵(lì)或者放棄更新保持上一幀輸出。問(wèn)題二μ估計(jì)值劇烈抖動(dòng)高頻毛刺明顯通常Q_μ設(shè)得太大或者R設(shè)得太小濾波器把噪聲當(dāng)成真實(shí)狀態(tài)變化。先把Q_μ調(diào)小一個(gè)數(shù)量級(jí)同時(shí)輸出端加一階低通濾波截止頻率5Hz左右。注意低通不能加在濾波器內(nèi)部否則估計(jì)器的動(dòng)態(tài)跟蹤能力會(huì)被破壞。問(wèn)題三UKF出現(xiàn)協(xié)方差非正定導(dǎo)致NaN大概率還是λ參數(shù)設(shè)置不當(dāng)中心點(diǎn)權(quán)重為負(fù)。處理辦法把α調(diào)到0.01β保持2κ設(shè)為0并在每次Cholesky分解前檢查對(duì)角元素如果出現(xiàn)非正定給P矩陣加一個(gè)1e-8的對(duì)角修正。問(wèn)題四對(duì)接路面工況下μ跟蹤太慢總是滯后根源是隨機(jī)游走模型里的Q_μ太小濾波器默認(rèn)μ變化極慢。解決辦法是自適應(yīng)Q_μ監(jiān)測(cè)觀測(cè)殘差當(dāng)殘差連續(xù)超過(guò)2倍標(biāo)準(zhǔn)差時(shí)判定路面可能突變臨時(shí)將Q_μ放大30~50倍等殘差回落再恢復(fù)。這個(gè)策略我實(shí)測(cè)效果很好能把對(duì)接路面的收斂時(shí)間縮短近一半。問(wèn)題五加速度傳感器零偏導(dǎo)致估計(jì)結(jié)果長(zhǎng)期偏移這是實(shí)車(chē)數(shù)據(jù)最容易踩的坑。加速度計(jì)零偏進(jìn)入狀態(tài)方程后會(huì)和μ的估計(jì)誤差產(chǎn)生耦合表現(xiàn)為μ值系統(tǒng)性偏高或偏低。我在預(yù)處理階段加入了在線零偏估計(jì)利用車(chē)輛勻速直線行駛的窗口采集加速度信號(hào)平均值作為零偏補(bǔ)償。如果條件允許把零偏作為增廣狀態(tài)擴(kuò)展進(jìn)濾波器效果更直接但狀態(tài)維度增加到9維之后可觀測(cè)性會(huì)變差一些需要權(quán)衡。工程落地上還有幾個(gè)通用建議。μ估計(jì)值一定不要直接送進(jìn)控制模塊先經(jīng)過(guò)限幅0.05到1.2之間和低通濾波再配一個(gè)置信度輸出比如殘差均值和多長(zhǎng)時(shí)間沒(méi)有有效更新控制策略根據(jù)置信度決定對(duì)μ估計(jì)的信任程度。初始化時(shí)P0不能設(shè)太小我一般把μ對(duì)應(yīng)的方差初值放開(kāi)到0.1避免初始偏差把濾波器帶進(jìn)死胡同。整個(gè)估計(jì)器的魯棒性測(cè)試至少要覆蓋濕瀝青、干燥粗糙瀝青、冰雪三種典型路面每種路面跑三個(gè)可重復(fù)工況否則沒(méi)有說(shuō)服力。我在實(shí)際調(diào)試中最深的體會(huì)是濾波算法本身的差異往往小于輸入激勵(lì)和輪胎模型精度帶來(lái)的差異。UKF和CKF的估計(jì)結(jié)果在充分激勵(lì)下幾乎在同一水平真正的性能分水嶺在可觀測(cè)性設(shè)計(jì)和參數(shù)標(biāo)定上。所以選型不用糾結(jié)太久科研論文用UKF方便解釋參數(shù)影響量產(chǎn)工程直接用CKF省掉α、β、κ這一組標(biāo)定變量代碼也更簡(jiǎn)潔穩(wěn)定。最后再分享一個(gè)我個(gè)人覺(jué)得非常值錢(qián)的實(shí)操技巧做一個(gè)μ估計(jì)項(xiàng)目先從一段人工設(shè)計(jì)的掃頻轉(zhuǎn)向數(shù)據(jù)開(kāi)始用離線批處理把輪胎剛度參數(shù)先標(biāo)出來(lái)再跑在線濾波。很多人上來(lái)就直接懟在線估計(jì)結(jié)果輪胎參數(shù)和μ狀態(tài)耦合在一起出問(wèn)題根本分不清是濾波器的問(wèn)題還是模型的問(wèn)題。把參數(shù)辨識(shí)和狀態(tài)估計(jì)分步做調(diào)試效率會(huì)高非常多。