小車側方位停車過程的動態模擬matlab模擬

可编程芯片开发發表於2024-10-17

1.課題概述

小車側方位停車過程的動態模擬matlab模擬。模擬得到小車的停車動畫,小車移動的xy軸座標以及角度變換。

2.系統模擬結果

3.核心程式與模型

版本:MATLAB2022a

%階段3
%車輪    	
pause(1);
for i=1:13
    ya1=ya1+0.5;
    yb1=yb1+0.5;
    ya2=ya2+0.5;
    yb2=yb2+0.5;

cla;
patch([Car2pos_x1 Car2pos_x2 Car2pos_x3 Car2pos_x4],[Car2pos_y1 Car2pos_y2 Car2pos_y3 Car2pos_y4],[0.7 0.7 0]);
patch([Car1pos_x1 Car1pos_x2 Car1pos_x3 Car1pos_x4],[Car1pos_y1 Car1pos_y2 Car1pos_y3 Car1pos_y4],[0.7 0.7 0]);           
patch([xa1 xb1 xb2 xa2],[ya1 yb1 yb2 ya2],[0 1 0]);

    ya11=ya1+(D-WLen/2);
    yb11=ya11+WLen;
    ya21=ya2+(D-WLen/2);
    yb21=ya21+WLen;
    xa11=xa2+(Wkd/2);
    xb11=xa2+(Wkd/2);
    xa21=xa2-(Wkd/2);
    xb21=xa2-(Wkd/2);
patch([xa11 xb11 xb21 xa21],[ya11 yb11 yb21 ya21],[0 0 0]);

    xa22=xa1-(Wkd/2);
    xb22=xa1-(Wkd/2);
    xa12=xa1+(Wkd/2);
    xb12=xa1+(Wkd/2);
patch([xa12 xb12 xb22 xa22],[ya11 yb11 yb21 ya21],[0 0 0]);

    ya13=ya11+Hcar;
    yb13=yb11+Hcar;
patch([xa11 xb11 xb21 xa21],[ya13 yb13 yb13 ya13],[0 0 0]);
patch([xa12 xb12 xb22 xa22],[ya13 yb13 yb13 ya13],[0 0 0]);

pause(.02);

end

hold on
plot(-59*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(-40*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(-21*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(-2*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(17*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(36*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(55*ones(1,121),[-20:100],'r','linewidth',2);
hold on
plot(74*ones(1,121),[-20:100],'r','linewidth',2);
hold on
figure;
subplot(121);
plot(Xset,'b-o')
hold on
plot(Yset,'r-s')
legend('x座標變化','y座標變化');

subplot(122);
plot(thetas,'b-o')
legend('角度變化');
38

  

4.系統原理簡介

假設小車是一個剛體,其側方位停車過程中涉及到以下幾個關鍵狀態變數:

位置座標:小車前端中心點在水平面上的座標(x, y)。

角度:小車與垂直方向之間的夾角θ。

速度:小車向前和向側面的線速度(vx, vy)。

角速度:小車轉向的角度速度ω。

側方位停車的過程可以拆分為直線行駛、轉向、倒車和微調等階段,對於每一個階段,可以分別建立相應的運動學方程:

結合上述運動學模型和控制策略,構建小車側方位停車的動態模擬流程,包括:

設定初始條件(小車位置、速度、目標車位位置等)。

設計和實現控制器,根據當前狀態計算下一步的控制輸入(驅動力矩、轉向角等)。

更新小車的運動狀態(位置、速度、角度)。

檢查是否達到停車條件(如與車位邊界點的距離是否小於閾值),未達到則重複步驟2和3,直至成功停車。

這樣的模擬有助於驗證控制策略的有效性,最佳化停車演算法,並在實際應用前對停車過程進行預判和除錯。在實際程式設計實現時,可以利用Matlab工具搭建模擬模型,並視覺化整個停車過程。

相關文章