模型预测控制工具箱

模型预测控制器的设计与仿真

模型预测控制工具箱™提供功能,一个应用程序和Simulink金宝app®使用线性和非线性模型预测控制(MPC)设计和仿真控制器。该工具箱允许您指定植物和扰动模型、范围、约束和权重。通过运行闭环模拟,可以评估控制器的性能。

您可以通过在运行时更改控制器的权值和约束来调整控制器的行为。该工具箱提供了可部署的优化求解器,还允许您使用自定义求解器。要控制一个非线性的装置,你可以实现自适应,增益计划,和非线性MPC控制器。对于具有快速采样率的应用程序,该工具箱允许您从常规控制器生成显式模型预测控制器或实现近似解。

为了快速原型和嵌入式系统实现,包括优化求解器的部署,工具箱支持C代码和IEC 61131-3结构化文本生成。金宝app

开始:

模型预测控制器的设计

设计MPC控制器控制MIMO系统受输入和输出约束。运行闭环模拟来评估控制器的性能。

Simulink中的MPC设金宝app计

在Simulink中使用MPC Controller块和工具箱提供的其他块建金宝app模和模拟MPC控制器。修剪和线性化Simulink模型,为您的M金宝appPC控制器计算内部线性时不变的植物模型,并获得植物输入和输出的标称值金宝appSimulink控制设计™

MATLAB中的MPC设计

使用命令行函数设计MPC控制器。定义内部工厂模型;调整权重、约束和其他控制器参数。模拟闭环系统响应以评估控制器性能。

在命令行上设计MPC控制器。

自动驾驶应用

使用预构建的Simulink块加速ADAS系统的开发。金宝app使用参考示例快速设计ADAS控制器。从Simulink块生成用于在车辆中部署MPC金宝app控制器的代码。

预先构建的块

使用自适应巡航控制系统、车道保持辅助系统和路径跟随控制系统块作为ADAS应用程序的起点,并根据需要定制设计。从预构建块生成用于车载部署的代码。

利用预先构建的Simulink模块设计金宝app自适应巡航控制系统。

参考应用举例

使用参考应用程序示例介绍为自动驾驶系统设计和部署MPC控制器的工作流程。参考应用程序示例还向您展示了如何以不同的保真度级别对系统的不同部分进行建模。

线性模型预测控制器

设计线性动力学系统的MPC控制器。设计自适应和增益计划MPC控制器的工厂与动态变化的操作条件。

线性MPC

通过使用控制系统工具箱™创建一个线性时不变(LTI)系统指定一个内部设备模型,或通过使用Simulink控制设计将一个Simulink模型线性化,来设计一个线性MPC控制器。金宝app或者,使用系统识别工具箱™导入从测量的输入输出数据创建的模型。

指定线性MPC设计的内部设备模型。

自适应政策委员会

使用命令行函数和自适应MPC控制器块设计和模拟自适应MPC控制器。在运行时更新您的工厂模型,并将其作为输入提供给控制器。在自适应模型预测控制器中使用具有渐近稳定性保证的内建线性时变(LTV)卡尔曼滤波器进行状态估计。

Gain-Scheduled MPC

用多重MPC控制器块在广泛的操作条件下控制非线性工厂。为每个工作点设计一个MPC控制器,并在运行时在控制器之间切换。

使用多MPC控制器块设计增益调度MPC控制器。

MPC参数规范,状态估计和设计审查

通过定义内部设备模型,调整控制器参数,模拟闭环系统响应来评估控制器性能,迭代改进控制器设计。检查控制器的潜在设计问题。

控制器参数

在定义内部工厂模型之后,通过指定采样时间、预测和控制范围、规模因子、输入和输出约束以及权重,完成MPC控制器的设计。该工具箱还支持约束软化和时变约束和金宝app权重。

在MPC Designer应用程序中指定控制器参数。

状态估计

使用内置状态估计器从测量输出估计控制器状态。或者,使用自定义算法进行状态估计。

自定义状态估计。

设计评审

使用内置诊断功能检测MPC控制器潜在的稳定性和鲁棒性问题。在控制器设计过程中,使用诊断结果调整控制器权重和约束条件,以避免运行时故障。

利用设计评审报告中的建议改进控制器设计。

运行时参数调优和性能监视

通过在运行时调整权重和约束来提高控制器性能。分析控制器的运行时性能。

运行时参数调优

调整MPC控制器的权重和约束,以优化其在运行时的性能,无需重新设计或重新实现它。在两个MATLAB中执行运行时控制器调优®和仿真软金宝app件。

在运行时调整权重和约束。

运行时性能监视

访问优化状态信号,以检测优化可能无法收敛的罕见情况。使用这些信息指导备份控制策略的决策。

实时检测控制器故障。

实现快速模型预测控制器

在计算资源有限的情况下设计、模拟和部署MPC控制器

明确的政策委员会

从隐式MPC设计中生成显式MPC控制器,以便更快地执行。简化生成的显式MPC控制器以减少内存占用。

从先前设计的隐式控制器生成显式MPC控制器。

近似(次优)解

设计、模拟和部署MPC控制器,使用近似(次优)解决方案保证最坏情况的执行时间。

最优解和近似(次最优)解的执行时间比较。金宝搏官方网站

非线性模型预测控制器

设计非线性MPC控制器,使用非线性预测模型、成本函数或约束来控制工厂。

最优规划

使用非线性MPC控制器的最优规划应用需要非线性模型与非线性成本或约束。

基于非线性MPC的飞行机器人轨迹优化与控制。

反馈控制

在非线性成本和约束条件下,模拟非线性装置的闭环控制。默认情况下,非线性MPC控制器使用最优化工具箱™来解决非线性规划问题。你也可以指定你自己的自定义非线性求解器。

放热化学反应器非线性模型预测控制。

经济政策委员会

设计经济的MPC控制器,在任意非线性约束下对任意代价函数优化控制器。您可以使用线性或非线性预测模型、自定义非线性成本函数和自定义非线性约束。

环氧乙烷生产的经济MPC控制。

代码生成

为在Simulink和MATLAB中设计的模型预测控制器生成代码,并将其部署到实时控制应用中。金宝app

用MATLAB和Simulink进行代码生成金宝app

在Simulink中设计MPC控制器,分别使用Simul金宝appink Coder™或Simulink PLC Coder™生成C代码或IEC 61131-3结构化文本。使用MATLAB Coder™在MATLAB中生成C代码,并部署它进行实时控制。或者,使用MATLAB编译器™来打包和共享MPC控制器作为一个独立的应用程序。

从MPC控制器块生成C代码。

内置的解决者

从提供的活动集和内点二次规划(QP)求解器生成代码,以便在嵌入式处理器上高效实现。对于非线性问题,使用优化工具箱中的顺序二次规划(SQP)求解器进行模拟和代码生成。将生成的代码部署到任意数量的处理器上。

内置的解决者。

定制解决方案

使用EmbotechFORCES PRO QP和非线性编程(NLP)求解器来模拟和生成线性和非线性MPC控制器的代码。或者,使用自定义QP和NLP求解器进行模拟和代码生成。

用于模拟和代码生成的自定义QP求解器。