本文將基于汽車的三自由度模型,借助擴展卡爾曼檢測,通過汽車的橫向加速度來確定汽車的橫擺角速度、側滑角三個參數。質心、縱向速率,并通過實際模擬案例。 具體介紹一下擴展卡爾曼混合的使用。
通常,卡爾曼檢測會選擇較容易獲取的參數,避免不易檢測的參數。
在這里,作者將卡爾曼參數或模擬分為四個步驟:
1)汽車模型制作;
2)擴展卡爾曼檢測算法的構建;
3)模型集成及模擬工況設置;
4)仿真及結果分析。
汽車模型制作
本例中可以使用汽車的三自由度模型(如右圖)來制作參數。 需要知道汽車的輸入信號(車輪轉角、縱向加速度)和輸出信號(橫向加速度),因此需要建立汽車模型來創建此類數據。 即向汽車模型輸入方向盤轉角和橫向加速度,即可得到橫向加速度。
在真車中,這一步可以忽略,因為我們可以通過傳感器直接檢測卡爾曼混合所需的信號。
車主暫時選擇更簡單的方式,利用車內的汽車模型來完成這項工作。 只需要設置我們關心的基本汽車參數和信號插座即可。
右側顯示了剛體到前后軸的距離、沿 Z 軸的轉動力矩以及質量設置位置。
前后輪側偏設定位置如右圖所示。
從方向盤角到車輪角的變速比設定位置如右圖所示。
選擇輸出插座輸出橫擺角速度、質心側滑角、縱向速度、方向盤轉角、縱向加速度和橫向加速度。 前三個是用于與仿真結果進行比較的參數; 最后三個是小車的輸入和輸出信號,將作為卡爾曼混合算法的輸入。
用別人的車模還是不合適的。 以前的車主會自己搭建汽車模型,這樣就避免了聯合仿真的麻煩,而且仿真都可以在. 更重要的是,自己搭建汽車模型可以加深對汽車的理解,這是商業軟件無法替代的。
擴展卡爾曼檢測算法構建
擴展卡爾曼混合算法就是表達上述五個核心公式。 再次指出:需要用非線性函數f和h來表示狀態多項式和輸出多項式; 系統矩陣A和輸出矩陣H需要用f和h函數偏導后的雅可比矩陣來表示。
樓主這里使用了之前構建的卡爾曼混合算法,稍加改動就得到了如右圖所示的擴展卡爾曼混合算法。
雖然用5個公式來表達卡爾曼混合算法比較繁瑣,但是可以更好的表達5個公式之間的時序關系,讓初學者能夠理解。
模型集成及模擬工況設置
將以上兩部分結合起來就是基于擴展卡爾曼混合的整個參數或者仿真模型,如右圖所示。 基本思想是模型輸出混頻算法所需的信號,然后進行參數估計,輸出估計結果,最后將估計結果與汽車實際信號進行比較基于kalman濾波的目標跟蹤,驗證算法的有效性。
為了驗證算法,還需要在 中設置模擬工作條件。
1)滑行初始速度為30km/h。
2)方向盤轉角按右圖曲線進行。
仿真與結果分析
運行模型基于kalman濾波的目標跟蹤,得到可能的橫擺角速度、質心側滑角、縱向速度以及汽車的實際狀態,如右圖。
偏航率可能導致:
剛體滑移角可能會導致:
橫向速度大概是這樣的結果:
從圖中可以看出,橫擺率、側滑角、縱向速度的估計值與實際值基本一致,算法可靠有效。
上面介紹了擴展卡爾曼混合算法的參數示例,僅供大家參考。
186信息網原創文章,轉載請注明本文來自:www.icocr.cn