【DR_CAN-MPC学习笔记】1.最优化控制和MPC基本概念

准研一,准备做混动方向,先学一下MPC相关知识

 DR_CAN的视频:【MPC模型预测控制器】1_最优化控制和基本概念: 

【MPC模型预测控制器】1

1.最优化控制 Optimal Control

最优化控制的目的 Motivation:
在约束条件下达到最优的系统表现 Get the best performance within certain limitation

 - 约束条件:物理限制等等;
 - 最优:综合分析的结果,不是绝对的。

举个例子:汽车变道的轨迹选择

如上图所示,有两条线路可以选择,红色的线路1行驶距离短,速度快,较为舒适,绿色的线路2考虑到了紧急避障,需要迅速变道。因而在这个问题中,最优结果是相对的,不是绝对的。

2.数学模型 Mathematical Model

将上述的车辆行驶轨迹用数学模型表示。

2.1 SISO模型

SISO (Single Input Single Output,单输入单输出) 用以下系统框图表示:

r(t):系统参考值
u(t):输入
y(t):输出
e(t):误差 e(t) = y(t) - r(t)

从轨迹追踪的角度来看:

 \int_{0}^{t} e^{2} d t 越小,跟踪效果越好(误差越小)
\int_{0}^{t} u^{2} d t 越小,输入越小(输入越小)

引入代价函数(Cost Function):

J=\int_{0}^{t} q e^{2}+r u^{2} d t

最优化的过程即设计控制器的 u ,使得 J 取得最小值
qr 均为调节参数,q\ggr 时,更看重误差,q\llr 时,更看重能耗。

2.2 MIMO模型

再扩展至MIMO(Multiple Input Multiple Output,多输入多输出)用状态空间表示:

\begin{array}{l} \frac{d X}{d t}=A X+B U \\ Y=C X \\ J=\int_{0}^{X} E^{T} Q E+U^{T} R U d t \end{array}

例:

\begin{array}{l} \frac{d}{d t}\left[\begin{array}{l} x_{1} \\ x_{2} \end{array}\right] = A\left[\begin{array}{l} x_{1} \\ x_{2} \end{array}\right]+B\left[\begin{array}{l} u_{1} \\ u_{2} \end{array}\right] \\ {\left[\begin{array}{l} y_{1} \\ y_{2} \end{array}\right] = \left[\begin{array}{l} x_{1} \\ x_{2} \end{array}\right]} \\ \end{array}

参考值 \begin{array}{l} V = \left[\begin{array}{l} v_{1} \\ v_{2} \end{array}\right] = \left[\begin{array}{l} 0 \\ 0 \end{array}\right] \\ \end{array}

误差 E = \left[\begin{array}{l} e_{1} \\ e_{2} \end{array}\right] = \left[\begin{array}{ll} y_{1}-r_{1} \\ y_{2}-r_{2} \end{array}\right] = \left[\begin{array}{l} x_{1} \\ x_{2} \end{array}\right]

\begin{array}{l}E^{T} Q E = \left[\begin{array}{l} x_{1} \\ x_{2} \end{array}\right]^{T}\left[\begin{array}{cc} q_{1} & 0 \\ 0 & q_{2} \end{array}\right]\left[\begin{array}{l} x_{1} \\ x_{2} \end{array}\right] = q_{1} x_{1}^{2}+q_{2} x_{2}^{2} \\ U^{T} R U = r_{1} u_{1}^{2}+r_{2} u_{2}^{2}\end{array}

其中 QR 是调节矩阵,q_1q_2r_1r_2 为调节系数。

3.模型预测概念

通过模型来预测系统在某一未来时间段内的表现来进行优化控制。
注:多用于数位控制,多采用离散型状态空间表达式,即 X_{k+1}=A X_{k}+B U_{k}

离散时采用欧拉法
(在k时刻)
步骤:
Step1:估计/测量读取当前系统状态(可测量则测量,不可测量则估计)

Step2:基于 u_k, u_{k+1},u_{k+2} ...u_{k+N} 进行最优化

如下图所示:
y_k ~ y_{k+2}  预测区间 Predictive Horizon
u_k ~ u_{k+2}  控制区间 Control Horizon

u_k, u_{k+1},u_{k+2} 的选取即为最优化问题

代价函数

J=\sum_{k}^{N-1} E_{k}^{T} Q E_{k}+U_{k}^{T} R U_{k}+E_{N}^{T} F E_{N}

E_{N}^{T} F E_{N} 终端误差 Terminal Cost 表示最终代价(预测时间最末端误差的代价)


Step3:只取 u_k (只选取 k 时刻作为预测结果,因为预测存在局限性)
在预测 k+1 点的时候,预测区间和控制区间向右移动一时刻,以此预测未来的表现,这个过程叫做滚动优化控制 Receding Horizon Control


MPC特点:

  • 在每一步都需要进行一次最优化计算,因此对控制器计算能力要求较高
  • 求解最优化问题时,会考虑系统的约束

下一篇博客将推导MPC数学模型:

【DR_CAN-MPC学习笔记】2.最优化数学建模推导

  • 6
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不雨_亦潇潇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值