1.課題概述
基于空間狀態(tài)方程的車(chē)輛行駛控制系統(tǒng)simulink建模與仿真,對(duì)比前饋控制和PI反饋控制。
2.系統(tǒng)仿真結(jié)果



3.核心程序與模型
版本:MATLAB2022a
% 獲取輸出數(shù)據(jù)中的時(shí)間列,單位為秒
t = yout(:,1); % s, time
% 獲取輸出數(shù)據(jù)中的速度列,單位為米每秒,此處注釋中寫(xiě)的's'應(yīng)為筆誤,實(shí)際是速度的意思
v = yout(:,2); % s, speed (velocity)
% 獲取輸出數(shù)據(jù)中的速度誤差列,單位為米每秒
v_tilde = yout(:,3); % s, error
% 獲取輸出數(shù)據(jù)中的期望速度列,單位為米每秒
v_d = yout(:,4); % s, desired speed
% 獲取輸出數(shù)據(jù)中的力列,單位為牛,此處注釋中寫(xiě)的'desired speed'應(yīng)為筆誤,實(shí)際是力的意思
force = yout(:,5); % s, desired speed
% 創(chuàng)建新的圖形窗口
figure
% 將當(dāng)前圖形窗口劃分為2行1列的子圖,選中第1個(gè)子圖
subplot(2,1,1)
% 繪制期望速度隨時(shí)間變化的曲線,設(shè)置線條屬性
plot(t,v_d,'r--','Linewidth',2);
% 保持當(dāng)前圖形狀態(tài)
hold on
% 繪制實(shí)際速度隨時(shí)間變化的曲線,設(shè)置線條屬性
plot(t,v,'Linewidth',2);
% 設(shè)置x軸標(biāo)簽
xlabel('Time (s)');
% 設(shè)置y軸標(biāo)簽,單位為米每秒
ylabel('Speed (Mass/s)');
% 顯示網(wǎng)格
grid on
% 選中第2個(gè)子圖
subplot(2,1,2)
% 繪制期望速度隨時(shí)間變化的曲線(單位換算為千米每小時(shí)),設(shè)置線條屬性
plot(t,v_d/1000*3600,'r--','Linewidth',2);
% 保持當(dāng)前圖形狀態(tài)
hold on
% 繪制實(shí)際速度隨時(shí)間變化的曲線(單位換算為千米每小時(shí)),設(shè)置線條屬性
plot(t,v/1000*3600,'Linewidth',2);
% 設(shè)置x軸標(biāo)簽
xlabel('Time (s)');
% 設(shè)置y軸標(biāo)簽,單位為千米每小時(shí)
ylabel('Speed (km/hr)');
% 顯示網(wǎng)格
grid on
% 添加圖例
legend('期望車(chē)速','實(shí)際車(chē)速')
% 創(chuàng)建新的圖形窗口
figure
% 將當(dāng)前圖形窗口劃分為2行1列的子圖,選中第1個(gè)子圖
subplot(2,1,1)
% 繪制速度誤差隨時(shí)間變化的曲線,設(shè)置線條寬度
plot(t,v_tilde,'Linewidth',2);
% 設(shè)置x軸標(biāo)簽
xlabel('Time (s)');
% 設(shè)置y軸標(biāo)簽,單位為米每秒
ylabel('Error (Mass/s)');
% 顯示網(wǎng)格
grid on
% 選中第2個(gè)子圖
subplot(2,1,2)
% 繪制速度誤差隨時(shí)間變化的曲線(單位換算為千米每小時(shí)),設(shè)置線條寬度
plot(t,v_tilde/1000*3600,'Linewidth',2);
% 設(shè)置x軸標(biāo)簽
xlabel('Time (s)');
% 設(shè)置y軸標(biāo)簽,單位為千米每小時(shí)
ylabel('Error (km/hr)');
% 顯示網(wǎng)格
grid on
% 創(chuàng)建新的圖形窗口
figure
% 繪制力隨時(shí)間變化的曲線,設(shè)置線條寬度
plot(t,force,'Linewidth',2);
% 設(shè)置x軸標(biāo)簽
xlabel('Time (s)');
% 設(shè)置y軸標(biāo)簽,單位為牛
ylabel('Force (N)');
% 顯示網(wǎng)格
grid on
save R1.mat
4.系統(tǒng)原理簡(jiǎn)介
? ? ? ? 車(chē)輛行駛控制系統(tǒng)旨在確保車(chē)輛在各種工況下能夠穩(wěn)定、安全且高效地運(yùn)行。隨著現(xiàn)代汽車(chē)技術(shù)的不斷發(fā)展,對(duì)于車(chē)輛行駛控制的精度和可靠性要求越來(lái)越高。基于空間狀態(tài)方程的控制方法為車(chē)輛行駛控制提供了一種系統(tǒng)且有效的手段,其中前饋控制和 PI 反饋控制是兩種重要的控制策略。前饋控制能夠根據(jù)系統(tǒng)的已知輸入預(yù)先計(jì)算出控制量,以補(bǔ)償可預(yù)見(jiàn)的干擾;而 PI 反饋控制則依據(jù)系統(tǒng)的誤差信號(hào)進(jìn)行調(diào)節(jié),以消除系統(tǒng)的穩(wěn)態(tài)誤差并增強(qiáng)系統(tǒng)的穩(wěn)定性。深入研究這兩種控制策略的原理對(duì)于提升車(chē)輛行駛控制系統(tǒng)的性能具有至關(guān)重要的意義。
? ? ? 前饋控制是一種開(kāi)環(huán)控制策略,它基于對(duì)系統(tǒng)輸入和干擾的先驗(yàn)知識(shí),直接計(jì)算出所需的控制量,以抵消干擾對(duì)系統(tǒng)輸出的影響,從而使系統(tǒng)輸出能夠快速跟蹤期望輸出。在車(chē)輛行駛控制系統(tǒng)中,例如當(dāng)我們知道車(chē)輛即將面臨一個(gè)特定的坡度變化或者風(fēng)速變化等可預(yù)測(cè)的干擾時(shí),前饋控制可以提前調(diào)整驅(qū)動(dòng)力,以維持車(chē)輛速度的穩(wěn)定。
? ? ? ? PI 反饋控制由比例(P)控制和積分(I)控制兩部分組成。比例控制根據(jù)系統(tǒng)當(dāng)前的誤差信號(hào)成比例地產(chǎn)生控制作用,能夠快速響應(yīng)誤差的變化,但對(duì)于穩(wěn)態(tài)誤差的消除能力有限。積分控制則對(duì)誤差信號(hào)進(jìn)行積分,其輸出隨著時(shí)間的積累而不斷增大,直到系統(tǒng)的穩(wěn)態(tài)誤差為零,從而能夠有效地消除穩(wěn)態(tài)誤差,提高系統(tǒng)的控制精度。