資源簡介
基于EKF擴展卡爾曼濾波車身狀態估計
汽車穩定性控制系統需要的狀態信息一部分可通過車載傳感器直接測量,另一部分不能直接測量。為了實現車輛動力學控制系統中的這種閉環狀態反饋,受某些測量技術以及成本等因素的制約,依靠傳感器直接測量獲取某些重要狀態量有很大的難度,因此提出狀態估計的方法,即通過估計算法實時獲取車輛在行駛過程中的某些重要狀態量,如車速、橫擺角速度、質心側偏角等。本章利用擴展卡爾曼濾波方法,基于三自由度的車輛估計模型對輪邊驅動電動汽車的縱向車速、側向車速、質心側偏角進行了估計,通過仿真驗證了估計算法的準確性。
代碼片段和文件信息
function?X=?EKF(u1u2u3u4u5u6u7u8u9u10u11u12)
a?=?1.1597;
b?=?1.215;
Iz?=?1875;
m?=?1620;
t?=?0.002;
d=1.4;
N=4001;
vx0=80/3.6;vy0=0;wr0=0;
delta=u1;Fx_fl=u2;Fx_fr=u3;Fx_rl=u4;Fx_rr=u5;Fy_fl=u6;Fy_fr=u7;Fy_rl=u8;Fy_rr=u9;ax=u10;ay=u11;r=u12;
persistent?P?Q?R?P1?K?xxhat?xhat
if?isempty(P)
???xhat?=?[vx0vy0wr0]‘;
???P?=diag([111]);?
???Q?=diag([111]);
???R?=diag([111]);
end
for?i=1:N
????
?vx_ekf=xhat(1i);
?vy_ekf=xhat(2i);
?wr_ekf=xhat(3i);
????F_ekf=[0?wr_ekf?vy_ekf;
???????????-wr_ekf?0?-vx_ekf;
???????????0?0?0];
????A_ekf=[0?wr_ekf/2?vy_ekf/2;
???????????-wr_ekf/2?0?-vx_ekf/2;
???????????0?0?0];
????C_ekf=[((Fx_fl+Fx_fr)*cos(delta)+Fx_rl+Fx_rr-(Fy_fl+Fy_fr)*sin(delta))/m;
???????????(
- 上一篇:BFS 廣度優先搜索算法 matlab
- 下一篇:傳統傳染病建模的matlab程序
評論
共有 條評論