模型预测控制工具箱

设计和模拟模型预测控制器

模型预测控制工具箱™提供功能,应用程序和Simulink万博1manbetx®使用线性和非线性模型预测控制(MPC)设计和模拟控制器的块。Toolbox允许您指定工厂和干扰模型,视野,约束和重量。通过运行闭环模拟,可以评估控制器性能。

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

对于快速原型设计和嵌入式系统实现,包括部署优化解码器,工具箱支持C代码和IEC 61131-3结构化文本生成。万博1manbetx

开始:

设计模型预测控制器

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

MPC设计在Simulink万博1manbetx中

模型和模拟MPC控制器在Simulink中使用MPC控制器块和工具箱提供的其万博1manbetx他块。修剪并线性化模拟模型以计算MPC控制器的内万博1manbetx部线性时间不变工厂模型,并使用植物输入和输出的标称值万博1manbetxSimulink Control Design™

MADLAB中的MPC设计

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

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

自动驾驶应用程序

使用预构建Simulink块加速开发ADAS系统。万博1manbetx使用参考示例快速设计ADAS控制器。从Simulink块生成代码,用于部署车辆中的万博1manbetxMPC控制器。

预建块

使用Adaptive Cruise Control System,Lane保持辅助系统和路径控制系统块作为ADAS应用程序的起点并根据需要自定义设计。从预构建块生成用于车载部署的代码。

使用预构建的Simulink块来设计自万博1manbetx适应巡航控制系统。

参考应用实例

使用参考应用程序示例来通过工作流程来设计和部署MPC控制器,用于自动化驱动系统。参考应用程序示例还向您展示了系统的不同部分,可以在各种级别的保真度下进行建模。

线性模型预测控制器

为具有线性动力学的系统设计MPC控制器。设计自适应和增益预定的MPC控制器,用于使用操作条件改变的动力学。

线性MPC

通过使用控制系统工具箱™创建的线性时间不变(LTI)系统指定内部工厂模型,或通过使用Simulink Control Design进行模拟模型来设计线性MPC控制器。万博1manbetx或者,使用系统识别工具箱™导入从测量的输入输出数据创建的模型。

为线性MPC设计指定一个内部设备模型。

自适应政策委员会

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

Gain-Scheduled MPC

控制非线性植物在各种操作条件下,具有多MPC控制器块。为每个操作点设计MPC控制器,并在运行时在控制器之间切换。

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

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

通过定义内部工厂模型,调整控制器参数和模拟闭环系统响应来迭代地改善控制器设计,以评估控制器性能。查看您的控制器以获取潜在的设计问题。

控制器参数

定义内部工厂模型后,通过指定采样时间,预测和控制视野,缩放因子,输入和输出约束以及权重完成MPC控制器的设计。工具箱还支持约束软化和时变的约束和万博1manbetx权重。

在MPC设计器应用中指定控制器参数。

国家估计数

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

自定义状态估计。

设计评审

使用内置诊断功能检测MPC控制器的潜在稳定性和鲁棒性问题。在控制器设计期间使用诊断结果调整控制器权重和约束,以避免运行时失败。

使用Design Review Report的建议改进控制器设计。

运行时参数调整和性能监控

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

运行时参数调优

调整MPC控制器的权重和约束,以在运行时优化其性能而不重新设计或重新实现它。在MATLAB中执行运行时控制器调整®和Sim万博1manbetxulink。

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

运行时性能监控

访问优化状态信号以检测优化可能无法收敛的罕见场合。使用此信息指导关于备份控制策略的决策。

实时检测控制器故障。

实现快速模型预测控制器

在计算资源有限的应用中设计、模拟和部署MPC控制器

明确的MPC.

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

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

近似(理想)的解决方案

使用近似(次优)解设计、仿真并部署一个保证最坏情况执行时间的MPC控制器。

最优和近似(次优)解决方案的执行时间比较。万博 尤文图斯

非线性模型预测控制器

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

最优规划

使用非线性MPC控制器进行最佳规划应用,该应用需要具有非线性成本或约束的非线性模型。

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

反馈控制

仿真非线性设备在非线性成本和约束条件下的闭环控制。默认情况下,非线性MPC控制器使用优化工具箱™来解决非线性规划问题。您还可以指定自己的自定义非线性求解器。

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

经济MPC

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

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

代码生成

生成在Simulink和MATLAB中设计的模型预测控制器的代码,并将其部署为实时控制应用程序。万博1manbetx

代码生成与MATLAB和Simulink万博1manbetx

使用Simulink Coder™或Simulink P万博1manbetxLC Coder™设计Simulink中的MPC控制器,并生成C代码或IEC 61131-3结构化文本。使用MATLAB编码器™在MATLAB中生成C代码并将其部署用于实时控制。或者,使用MATLAB Compiler™打包并将MPC控制器作为独立应用程序分享。

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

内置求解器

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

内置求解器。

定制求解器

embotech.强制Pro QP和非线性编程(NLP)求解器模拟和生成线性和非线性MPC控制器的代码。或者,使用定制QP和NLP求解器进行仿真和代码生成。

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