👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆下载资源链接👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆
《《《《《《《《更多资源还请持续关注本专栏》》》》》》》
论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html
附带论文
Model Predictive Control of a Mobile Robot Using Linearization
该文提出了一种 具有非完整约束的轮式移动机器人 (WMR)。众所周知,具有非完整约束的 WMR 可以不通过连续可微分来稳定反馈, 时不变控制定律。通过使用模型预测控制(MPC) 时,自然会得到一个不连续的控制律。一 MPC 的主要优点是能够处理约束(由于状态或输入限制)以直接的方式。二次规划 (QP) 用于求解线性 MPC 通过 WMR 误差模型的连续线性化。
部分代码展示:
%% 参考轨迹生成
N=100;
T=0.05;
% Xout=zeros(2*N,3);
% Tout=zeros(2*N,1);
Xout=zeros(N,3);
Tout=zeros(N,1);
for k=1:1:N
Xout(k,1)=k*T;
Xout(k,2)=2;
Xout(k,3)=0;
Tout(k,1)=(k-1)*T;
end
%% Tracking a constant reference trajectory
Nx=3; %状态量个数
Nu =2; %控制量个数
Tsim =20; %仿真时间
X0 = [0 0 pi/3]; % 初始位置
[Nr,Nc] = size(Xout); % Nr is the number of rows of Xout
% Mobile Robot Parameters
c = [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];
L = 1; %车辆轴距
Rr = 1; %轮胎直径
w = 1; %车轮转速
% Mobile Robot variable Model
vd1 = Rr*w; % 参考系统的纵向速度
vd2 = 0; %参考系统前轮偏角
%矩阵定义
x_real=zeros(Nr,Nc); %状态量
x_piao=zeros(Nr,Nc); %状态量误差
u_real=zeros(Nr,2);
u_piao=zeros(Nr,2);
x_real(1,:)=X0; %把初始状态赋值给状态量第一行
x_piao(1,:)=x_real(1,:)-Xout(1,:); %计算第一个状态量误差
X_PIAO=zeros(Nr,Nx*Tsim);
XXX=zeros(Nr,Nx*Tsim); %用于保持每个时刻预测的所有状态值
q=[1 0 0;0 1 0;0 0 0.5];
Q_cell=cell(Tsim,Tsim);
for i=1:1:Tsim
for j=1:1:Tsim
if i==j
Q_cell{i,j}=q;
else
Q_cell{i,j}=zeros(Nx,Nx);
end
end
end
效果展示:
177号资源-源程序:《无人驾驶车辆模型预测控制》-本人博客有解读资源-CSDN文库https://download.csdn.net/download/LIANG674027206/89743148 👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆下载资源链接👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆
《《《《《《《《更多资源还请持续关注本专栏》》》》》》》
论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html