91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 12KB
    文件類型: .m
    金幣: 1
    下載: 3 次
    發(fā)布日期: 2024-02-06
  • 語言: Matlab
  • 標(biāo)簽: simulink??carsim??

資源簡介

無人駕駛車輛的路徑跟蹤算法,本代碼主要采用模型預(yù)測控制算法,跟蹤路徑,并進行simulink與 carsim的聯(lián)合仿真

資源截圖

代碼片段和文件信息

function?[sysx0strts]?=?chapter5_2_2(txuflag)
%?該程序功能:用LTV?MPC?和車輛簡化動力學(xué)模型(小角度假設(shè))設(shè)計控制器,作為Simulink的控制器
%?程序版本?V1.0,MATLAB版本:R2011a采用S函數(shù)的標(biāo)準(zhǔn)形式,
%?程序編寫日期?2013.12.11
%?最近一次改寫?2013.12.16
%?狀態(tài)量=[y_dotx_dotphiphi_dotYX],控制量為前輪偏角delta_f


switch?flag
?case?0
??[sysx0strts]?=?mdlInitializeSizes;?%?Initialization
??
?case?2
??sys?=?mdlUpdates(txu);?%?Update?discrete?states
??
?case?3
??sys?=?mdlOutputs(txu);?%?Calculate?outputs
?
%??case?4
%???sys?=?mdlGetTimeOfNextVarHit(txu);?%?Get?next?sample?time?

?case?{149}?%?Unused?flags
??sys?=?[];
??
?otherwise
??error([‘unhandled?flag?=?‘num2str(flag)]);?%?Error?handling
end
%?End?of?dsfunc.

%==============================================================
%?Initialization
%==============================================================

function?[sysx0strts]?=?mdlInitializeSizes

%?Call?simsizes?for?a?sizes?structure?fill?it?in?and?convert?it?
%?to?a?sizes?array.

sizes?=?simsizes;
sizes.NumContStates??=?0;
sizes.NumDiscStates??=?6;
sizes.NumOutputs?????=?1;
sizes.NumInputs??????=?8;
sizes.DirFeedthrough?=?1;?%?Matrix?D?is?non-empty.
sizes.NumSampleTimes?=?1;
sys?=?simsizes(sizes);?
x0?=[0.001;0.0001;0.0001;0.00001;0.00001;0.00001];????
global?U;
U=[0];%控制量初始化這里面加了一個期望軌跡的輸出,如果去掉,U為一維的
%?global?x;
%?x?=?zeros(md.ne?+?md.pye?+?md.me?+?md.Hu*md.me1);???
%?Initialize?the?discrete?states.
str?=?[];?????????????%?Set?str?to?an?empty?matrix.
ts??=?[0.02?0];???????%?sample?time:?[period?offset]
%End?of?mdlInitializeSizes
??????
%==============================================================
%?Update?the?discrete?states
%==============================================================
function?sys?=?mdlUpdates(txu)
??
sys?=?x;
%End?of?mdlUpdate.

%==============================================================
%?Calculate?outputs
%==============================================================
function?sys?=?mdlOutputs(txu)
????global?a?b;?
????%global?u_piao;
????global?U;
????%global?kesi;
????tic
????Nx=6;%狀態(tài)量的個數(shù)
????Nu=1;%控制量的個數(shù)
????Ny=2;%輸出量的個數(shù)
????Np?=20;%預(yù)測步長
????Nc=5;%控制步長
????Row=1000;%松弛因子權(quán)重
????fprintf(‘Update?start?t=%6.3f\n‘t)
???
????%輸入接口轉(zhuǎn)換x_dot后面加一個非常小的數(shù),是防止出現(xiàn)分母為零的情況
???%?y_dot=u(1)/3.6-0.000000001*0.4786;%CarSim輸出的是km/h,轉(zhuǎn)換為m/s
????y_dot=u(1)/3.6;
????x_dot=u(2)/3.6+0.0001;%CarSim輸出的是km/h,轉(zhuǎn)換為m/s
????phi=u(3)*3.141592654/180;?%CarSim輸出的為角度,角度轉(zhuǎn)換為弧度
????phi_dot=u(4)*3.141592654/180;
????Y=u(5);%單位為m
????X=u(6);%單位為米
????Y_dot=u(7);
????X_dot=u(8);
%%?車輛參數(shù)輸入
%syms?sf?sr;%分別為前后車輪的滑移率需要提供
????Sf=0.2;?Sr=0.2;
%syms?lf?lr;%前后車輪距離車輛質(zhì)心的距離,車輛固有參數(shù)
????lf=1.232;lr=1.468;
%syms?C_cf?C_cr?C_lf?C_lr;%分別為前后車輪的縱橫向側(cè)偏剛度,車輛固有參數(shù)
????Ccf=66900;Ccr=62700;Clf=66900;Clr=62700;
%syms?m?g?I;%m為車輛質(zhì)量,g為重力加速度,I為車輛繞Z軸的轉(zhuǎn)動慣量,車輛固有參數(shù)
????m=1723;g=9.8;I=4175;
???

%%?參考軌跡生成
????shape=2.4;%參數(shù)名稱,用于參考軌跡生成
????dx1=25;dx2=21.95;%沒有任何實際意義,只是參數(shù)名稱
????dy1=4.05;dy2=5.7;%沒有任何實際意義,只是參數(shù)名稱
????Xs1=27.19;Xs2=56.46;%

評論

共有 條評論