【MPC】模型预测控制 | 车辆优化控制策略研究与实践

写在前面:
🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝
个人主页清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。

🔍 本文系 清流君 原创之作,荣幸在CSDN首发🐒
若您觉得内容有价值,还请评论告知一声,以便更多人受益。
转载请注明出处,尊重原创,从我做起。

👍 点赞、评论、收藏,三连走一波,让我们一起养成好习惯😜
在这里,您将收获的不只是技术干货,还有思维的火花

📚 系列专栏:【运动控制】系列,带您深入浅出,领略控制之美。🖊
愿我的分享能为您带来启迪,如有不足,敬请指正,让我们共同学习,交流进步!

🎭 人生如戏,我们并非能选择舞台和剧本,但我们可以选择如何演绎 🌟
感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行~~~


引言

  本篇文章主要研究基于模型预测控制的车辆优化控制。首先带大家了解 MPC 的基本原理,接着讨论 MPC 和传统的经典控制理论的区别,列举一个模型预测控制的实例。


一、MPC基本原理

1、MPC定义与相关概念

  首先来看一下什么是模型预测控制MPC,提到它就不得都不提到下面这些名字:

滚动时域控制 (Moving Horizon Control, MHC)
后退时域控制 (Receding Horizon Control, RHC)
动态矩阵控制 (Dynamic Matrix Control, DMC)
广义预测控制 (Generalize Predict Control, GPC)

  上面这些近年来被广泛讨论的反馈控制策略其实都属于 MPC,更准确地说是根据它的特点来叫这个名字,比如 Receding Horizon,有些是在 MPC 发展过程中不同时期的名字。
  所以说 MPC 更像是一个框架,使用了最优控制的思想。

2、MPC工作机理

  MPC工作机理如下:
在这里插入图片描述

  在每个采样时刻 k k k 获得当前测量信息,并且在线求解一个有限时域下的优化问题,将得到控制序列中的第一个值作用到被控对象。在下一个采样时刻重复上述这个过程,用新的测量值刷新优化问题并重新求解。

3、MPC与传统控制理论的区别

  这种在线地不断迭代求解优化问题来获得优化序列是 MPC 和通过离线方法求解反馈控制律,并且将得到的反馈控制率一直作用在系统上的传统控制方法的最主要区别。


二、MPC中的约束处理

  模型预测控制起源于工业界,是为了解决像 PID 这种不容易解决多变量、有约束的优化控制问题。

1、约束的重要性与类型

  那么为什么我们要引入约束呢?为什么约束在控制系统中如此重要?

因为实际的系统中存在着各种各样的约束:

  • 物理约束
    执行器的饱和约束是硬约束,比如电机有最大转速、舵机有最大转角,受限于机械结构。

  • 性能约束
    比如环境变量不能超过阈值

  • 安全约束
    当然,最为关键的是存在一些安全性约束,例如当某些温度、压力或浓度超过既定阈值时,情况将变得极为危险。

由此可见,这些约束在现实中的控制活动具有极其重要的实际意义。

2、 传统控制理论中的约束处理方法

  最优控制量往往非常接近约束边界

在经典的控制理论中,关于如何处理约束问题,有以下几种思路:

  • 一般而言,我们可以采用所谓的约束管理策略,例如在接近约束边界时,通过某种机制将系统限制在当前范围内。
  • 或者,我们可能会选择设定一个 参考点(Set Point),即将我们的目标值设置得远离控制操作的边界。然而,这种方法存在一定的局限性,这与我们在讨论PID控制中的积分项抗饱和策略有相似之处。
  • 另一种方法是通过子优化问题来解决这些约束。

  可以看出来,在传统的控制理论中,对于约束的处理并不够系统化,往往是在遇到具体问题时才寻求解决方案,缺乏一种系统性的处理方法。

3、MPC在处理约束方面的优势

相比之下,模型预测控制(MPC)在处理约束系统方面表现出极高的有效性:

  • 从设计的初始阶段就将约束纳入考虑之中。
  • 无需将参考点设置得过于远离,因为约束已经被充分考虑,可以将参考点设置得更接近实际操作范围。
  • 能够优化整个系统的性能。

四、MPC在实际案例中的应用

  接下来,让我们通过一个实际案例来探讨MPC的这些特点如何在现实世界中得到体现,或者它如何发挥其优势。

1、赛车跑道优化控制问题

  首先,我们来观察这张赛车跑道的示意图:
  因此,我们当前的目标,即成本目标,是在尽可能快的时间内完成,但同时也不能过快,以免超出赛道范围。因此需要在目标中加入一些约束条件:

  • 避免与其他车辆发生碰撞,这一点是最为重要的安全考虑,即确保不发生撞车事故。
  • 保持在赛道上,也就是说,不能超出可行驶区域,即赛道的规定范围。
  • 避免车辆打滑,因为一旦打滑,将失去对车辆的控制,这同样是非常危险的情况。
  • 考虑到加速度的约束,正如我之前提到的,油门的施加是有一定限制的,因此,车辆的最大加速度也是受限的。

2、传统优化方法的结果与局限性

  如果采用传统的优化方法,将会得到什么样的结果。

  现在来看看实际操作的结果。首先,当车辆处于某个特定位置时,即在时间步 k k k,也就是 k = 0 k= 0 k=0 的时刻,环境状况如下,因此需要求解一条能够在最短时间内完成且满足所有约束条件的轨迹规划。在这种情况下,可以计算出如下所示的轨迹:
在这里插入图片描述

  可以观察到,该轨迹确实是在尽可能地缩短整个过程,从而使车辆能够迅速到达目的地。然而,如果在行驶过程中遇到如下所示的情况,应该如何应对呢?

在这里插入图片描述

  由于在全局阶段,并未注意到附近还有一辆车辆即将移动到这个区域,车辆未能获取这一信息,因为它位于视野的盲区。因此,如果继续按照之前规划的轨迹行驶,那么很可能会与之发生碰撞。

3、MPC在动态环境中的适应与优势展示

为了应对这种情况,需要引入反馈机制。正如之前所讨论的模型预测控制(MPC)的核心过程那样,关键步骤如下:

  • 在每个采样时刻,根据当前的测量信息来更新规划轨迹,这些信息包括车辆自身位置以及周围环境状态。
  • 在线求解一个有限时间范围内的优化问题,并得到一个控制序列。
  • 将这个控制序列中的第一个元素,即当前时刻的控制输入 u k u_k uk,应用到控制系统中。

  假设在第一个采样时刻,即 k = 1 k = 1 k=1 时,对周围环境进行一次更新。因此,将根据当前的环境状况,执行新的控制序列中的第一个控制命令 u 1 u_1 u1 。然后会不断地重复这个过程,持续地规划并更新车辆的行驶轨迹。

在这里插入图片描述


五、结论

1、MPC在车辆优化控制中的作用

  模型预测控制(MPC)在车辆优化控制中有着很不错的效果。通过其独特的在线优化和反馈机制,MPC能够实时处理多变量、有约束的优化问题,确保车辆在安全、高效的前提下实现最佳控制。

  在赛车跑道优化控制问题中,MPC不仅能够快速规划车辆的行驶轨迹,还能够实时调整控制输入,以应对动态环境中的变化,如其他车辆的移动。这种实时调整的能力使得MPC在车辆控制中具有显著的优势。

2、MPC的未来发展与应用前景

  随着技术的不断进步和工业需求的日益增长,MPC在车辆优化控制领域的应用前景广阔。未来,MPC技术有望在以下几个方面得到进一步的发展和应用:

  1. 更复杂的环境适应性:随着自动驾驶技术的发展,MPC将能够更好地适应更复杂的城市交通环境和更动态的驾驶场景。
  2. 更高的计算效率:随着计算能力的提升,MPC算法将能够处理更复杂、更大数据量的优化问题,从而提高控制的精度和实时性。
  3. 多系统集成:MPC可以与其他控制策略和系统集成,如车辆动力学控制、能量管理、通信系统等,以实现车辆的全面优化控制。
  4. 个性化控制:通过收集和分析驾驶员的习惯和偏好,MPC可以实现个性化的车辆控制,提供更加舒适和安全的驾驶体验。
  5. 预测维护:通过预测车辆的性能衰退和潜在故障,MPC可以指导车辆维护和保养,减少意外停机时间,提高车辆的可靠性。

  综上所述,MPC作为一种先进的控制策略,不仅在车辆优化控制中发挥着重要作用,而且其未来的发展和应用前景十分广阔。随着技术的不断进步,MPC将在车辆控制领域发挥更大的作用,推动车辆技术的创新和发展。


参考资料

  自动驾驶控制与规划


后记:

🌟 感谢您耐心阅读这篇关于 模型预测控制 | 车辆优化控制策略研究与实践 的技术博客。 📚

🎯 如果您觉得这篇博客对您有所帮助,请不要吝啬您的点赞和评论 📢

🌟您的支持是我继续创作的动力。同时,别忘了收藏本篇博客,以便日后随时查阅。🚀

🚗 让我们一起期待更多的技术分享,共同探索移动机器人的无限可能!💡

🎭感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行 🚀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

清流君

感恩有您,共创未来,愿美好常伴

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

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

打赏作者

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

抵扣说明:

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

余额充值