MPC全套课程笔记

MPC为什么好

1。处理多入多出

2处理约束

 

3.知道弯道,会提前减速,而不是边转弯边制动

 

2.模型预测控制的工作原理

 

 

车道保持

 

 

 delta U

 

 

 

 

 

 了解卡尔曼滤波

 

 3.模型预测控制器的参数

 

 

 

 

 

 20-30个采样时间

通常只有最前几个控制时域有显著影响

 

 

 

 输入和输出都有硬约束不是一个好的做法

 

 

权重

 

 

 第四部分 自适应、增益调度和非线性MPC

 

 

 

 

 

 随时间更新模型

 

 状态的个数和约束是不变的,Adaptive MPC

 但如果变化了,则需要使用增益调度MPC

 

 还需要设计一种切换算法

 

 

 

 

 

 第五部分 如何加速运行MPC

 

 

 

模型降阶

 

选择次优解

 

第六部分如何使用Simulink和模型预测控制工具箱设计MPC控制器

 

 当在模型预测控制工具箱中点击定义和线性化的时候,会自动调用simulink中的被控对象

比例差异不大

 

 image("Car.jpg")

From Workspace的用法,可以加上时间向量,导入列向量

有时间看帮助

第七部分 使用Simulink和模型预测控制工具箱

 随着速度的改变,状态矩阵A也回改变

 mpc1 可以看到控制器的状态

 

Adaptive MPC需要离散的平台

 

 使用技巧,全选,然后创建bus

 这种scope

使用这种scope

 

 精确线性化的方法

m = 1575;
Iz = 2875;
lf = 1.2;
lr = 1.6;
Cf = 19000;
Cr = 33000;
Vx=15
Ts=0.1
% Continuous-time model
Ac = [-(2*Cf+2*Cr)/m/Vx, 0, -Vx-(2*Cf*lf-2*Cr*lr)/m/Vx, 0;
     0, 0, 1, 0;
     -(2*Cf*lf-2*Cr*lr)/Iz/Vx, 0, -(2*Cf*lf^2+2*Cr*lr^2)/Iz/Vx, 0;
     1, Vx, 0, 0];
Bc = [2*Cf/m 0 2*Cf*lf/Iz 0]';   
Cc = [0 0 0 1; 0 1 0 0];
Dc = zeros(2,1);

% Generate discrete-time model
nx = size(Ac,1);
nu = size(Bc,2);
M = expm([[Ac Bc]*Ts; zeros(nu,nx+nu)]);
A = M(1:nx,1:nx);
B = M(1:nx,nx+1:nx+nu);
C = Cc;
D = Dc;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值