【无人车】无人驾驶车辆模型预测控制(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

无人驾驶车辆( Self-driving Vehicle)是地面无人车辆的一种,在未来智能交通系统中有着广阔的应用前景。不仅各大汽车厂商纷纷研发无人驾驶技术测试样车,互联网与移动通信公司也积极涉足这一领域。本章首先介绍无人车辆通用概念、无人驾驶车辆与无人车辆的关系,说明无人车辆的主要组成部分,即任务决策、环境感知、路径规划、路径跟踪与车辆平台控制子系统,总结
了无人驾驶车辆的特点,最后介绍模型预测控制理论在无人驾驶车辆控制过程中的应用情况。

车辆动力学模型分析对于解决无人驾驶车辆运动规划与控制问题具有十分关键的作用。首先,在规划与控制系统中引人动力学模型可以通过模型的等效约束转化减少规划与控制的计算量,提高系统的实时性。其次,以准确的动力学模型作为预测模型,可以提高控制器对车辆未来行为的预测能力,进而在保证车辆稳定运行的同时,充分发挥车辆的机动潜能,比如高速运行状况下的主动危险规避运动规划与控制,充分体现车辆平台运动学与动力学约束条件的影响。

📚2 运行结果

部分代码:

%% 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

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码实现

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值