模型预测控制(MPC)算法原理

模型预测算法是在欧美等国家兴起的应用于工业领域的一种优化控制算法。目前经过多年的发展,在工业领域、智能控制领域等都有应用。随着算法的理论的完善,其已经成为工业领域内经常使用的一种经典算法。虽然在各个领域算法的应用存在差异。

他们都遵循预测模型滚动优化、和反馈校正的基本原理。并且,近年来在汽车工业尤其是在车辆智驾驶技术上,模型预测算法的应用越来越受欢迎很多科研机构利用了模型预测的原理进行了智能车辆的轨迹跟踪控制研究,下面将详细阐述模型预测算法的原理。

(1)预测模型

预测模型是模型预测控制的基础,它能够通过控制系统中被控平台提供的当前系统状态信息,再加上未来的控制输入变量预测到未来的被控平台的状态

预测模型的形式没有确定的形式要求,可以是状态空间方程传递函数也可以是阶跃响应模型脉冲响应模型模糊模型。根据被控对象需要预测的状态选择合适的预测模型。

对于车辆方向而言,模型预测控制选择状态空间模型比较合适。

(2)滚动优化

预测控制中的优化与通常的离散最优控制算法不同,不是采用一个不变的全局最优目标,而是采用滚动式的有限时域优化策略

在每一采样时刻,根据该时刻的优化性能指标,求解该时刻起有限时段的最优控制率计算得到的控制作用序列也只有当前值是实际执行的,在下一个采样时刻又重新求取最优控制率。

也就是说,优化过程不是一次离线完成的,而是反复在线进行(即在每一采样时刻,优化性能指标只涉及从该时刻起到未来有限的时间,而到下一个采样时刻,这一优化时段会同时向前推移)。

通过滚动优化策略始终在实际的基础上建立新的优化目标,兼顾了对未来有限时域内的理想优化实际不确定性的影响。这要比建立在理想条件下的传统最优控制更加实际和有效。

(3) 反馈校正

预测控制求解的是一个开环优化问题。在预测控制中,采用预测模型进行过程输出值的预估只是一种理想的方式,对于实际过程,由于存在非线性时变模型失配干扰等不确定因素,使基于模型的预测不可能准确地与实际相符。

因此,在预测控制中,通过输出的测量值模型的预估值进行比较,得出模型的预测误差,再利用模型预测误差来校正模型的预测值,从而得到更为准确的将来输出的预测值。正是这种由模型加反馈校正的过程,使预测控制具有很强的抗干扰克服系统不确定的能力。不断根据系统的实际输出对预测输出做出修正,使滚动优化不但基于模型,而且利用反馈信息,构闭环优化控制

跟据上面所提三要素(预测模型、滚动优化、反馈矫正/误差补偿),模型预测算法的控制原理如上图 所示。

控制过程中,存在一条期望的参考轨迹。在整个控制时域中,令 k 时刻为当前时刻。控制器结合当前系统的测量值预测模型,预测未来一段时域内 [K,K+p](也被称为预测时域系统的输出

通过求解满足目标函数以及各种约束的优化问题,得到 [K,K+M](这段时间为控制时域,控制时域的时间段要比预测时域时间段要短)时域内的一系列控制变量序列。并将该时控制系列中的第一个元素作为被控对象的实际控制量,当来到下一时刻 k +1时重复上述过程。如此滚动的完成一个个带约束的优化问题。以此实现对被控对象的持续控制。

模型预测控制原理框架

模型预测控制器原理框图如上图所示,包含了 MPC 控制器被控车辆状态估计三个基本模块。

1.MPC控制器结合预测模型、目标函数和约束条件进行最优化求解。得到当前时刻的最优控制序列;

2.将控制序列的第一个元素作为控制变量输入到被控平台中,被控平台执行接受到的控制指令,然后将当前时刻的状态量观测值输入给状态估计器;

3.状态估计器将会对于那些没有办法直接观测的状态量进行估计,如地面附着系数。将状态量输入到 MPC 控制器,再次进行最优化求解,得到下一时刻被控平台所需的控制变量。

如此循环,构成了完整的模型预测控制过程。

  • 10
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Jenkins是一个流行的自动化构建工具,可以通过Publish Over SSH插件方便地部署代码到远程服务器。通过设置该插件,我们可以连接到远程服务器,并将构建后的文件和脚本发送到该服务器上。在Windows环境下,在Jenkins中设置Publish Over SSH插件时需要先安装PuTTY。 在Jenkins中配置Publish Over SSH插件的过程如下: 1. 首先需要在Jenkins服务器和目标服务器之间建立SSH连接,确保Jenkins服务器可以通过SSH连接到目标服务器。 2. 在Jenkins中安装Publish Over SSH插件。 3. 在Jenkins管理员界面的Manage Jenkins - Configure System - Publish over SSH中点击新增远程服务器。 4. 在远程服务器配置页面中需要输入目标服务器的SSH连接信息,包括远程服务器的IP地址、SSH端口号、登录用户,以及登录远程服务器所需的RSA私钥或用户名和密码。 5. 测试SSH连接是否可用,若成功则可以保存配置。 6. 在任务的构建步骤中可以选择Publish Over SSH插件,并设置构建后要部署的文件和脚本。 7. 如果需要执行远程脚本,则可以在Publish Over SSH插件中设置一个“远程命令”步骤,执行远程服务器上的Shell脚本或Windows批处理脚本。 在Windows环境下,通过Publish Over SSH插件执行远程bat脚本的步骤如下: 1. 在Jenkins任务的构建步骤中选择Publish Over SSH插件。 2. 在Publish Over SSH插件中选择“Advanced”选项卡,并在“Exec command”输入框中输入要执行的bat脚本路径和名称。 3. 点击保存并运行构建即可。Jenkins将会连接到远程服务器上,执行指定的bat脚本。 总的来说,使用Jenkins的Publish Over SSH插件可以方便地在Windows环境下向远程服务器部署代码和脚本,并执行远程服务器上的bat脚本。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值