Advertisement

基于MPC的自适应巡航控制

阅读量:

本文介绍了MPC(模型预测控制)在汽车ACC(自适应巡航控制)中的应用及其核心设计原理。通过两个积分器分别模拟前车与本车的速度与位置变化,并利用sine模块模拟前车加速度的变化作为控制器输入。控制器通过Matlab function模块实现本车加速度值的输出,并结合fmincon求解器进行优化设计。仿真结果显示,在设定速度30的情况下,本车能够良好跟踪目标车速并保持安全距离,验证了MPC方法的有效性。

关于模型预测控制(MPC)的相关理论知识非常丰富。无论是基础且简单易懂的入门资料,还是复杂全面的专业教材都可供参考。为了更好地掌握这一技术领域的内容,我计划详细记录相关学习笔记。其中一个典型的应用案例是汽车自适应巡航控制系统,在该系统中汽车模型仅作为简单的积分器发挥作用。其核心应用领域仍然是模型预测控制在实际问题求解中的重要地位。

1,simulink模型搭建

在这里插入图片描述

中间的那个相减模块不小心被注释掉了,不想打开Matlab重新捕获界面,因为懒得操作,直接进行了编辑操作,ahhh

2 MPC控制器

在这里插入图片描述

首先明确主函数...
(i)若迭代次数过多会导致计算量显著增大;
(ii)若迭代次数过少则可能会影响最终优化结果的质量;
因此需要综合考虑系统的动态特性来合理设定这些关键参数。
其中迭代次数主要由两个因素决定:
(i)预设步幅大小;
(ii)控制精度要求。
建议将预设步幅控制在预步步幅值的2倍范围内,并根据实际优化需求适当调整比例关系以达到最佳平衡点。
此外还需要合理设定优化目标中的约束条件以确保算法的有效性与适用性。

在这里插入图片描述

该求解器应用fmincon算法进行优化计算。(未来计划采用quadprog替代)具体设置涵盖多个方面:首先涉及迭代次数和收敛准则;其次是对起始点的选择有详细规定;此外还包括上下限的定义也进行了优化处理。在实际运行中需要定义两个关键函数:目标函数和约束条件。

在这里插入图片描述

该模型包含两个主要部分: 该代价函数由两部分组成, 其中v表示预测的本车速度与设定速度之差, o代表该代价函数. 其中v²项表征了本车速度随设定速度变化的能力. 这些约束包括等式约束c和不等式约束ceq. 等式约束的条件是两车间的实际距离与预测的距离之间存在一个安全距离, 这个安全距离与车辆行驶的速度相关联, 即c必须满足小于等于零的条件.

3运行结果

,

在Simulink环境中正确配置积分器初始值设置的同时,请注意除了目标车加速度频率外,还需设定其初始值(注:若频率过高可能会影响跟踪效果)。观察图示,在模拟运行开始时,实际车辆会首先加速至预设速度30(单位:km/h)。当模拟运行开始时,在实际车辆与目标车辆之间出现差距后,在MPC算法调控下会自动减速以维持适当的安全距离(注:这里设置了安全距离相关参数)。观察另一幅图示可以看到,在实际车辆与目标车辆之间的间距维持得较为理想。

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~