模型预测控制工具箱
设计和模拟模型预测控制器
模型预测控制工具箱™提供了函数、应用程序和Simulink万博1manbetx®块设计和仿真控制器使用线性和非线性模型预测控制(MPC)。工具箱允许您指定植物和干扰模型、水平、约束和权重。通过运行闭环仿真,可以评估控制器的性能。
您可以通过在运行时改变其权重和约束来调整控制器的行为。Toolbox提供可部署的优化求解器,并使您可以使用自定义求解器。要控制非线性工厂,可以实现自适应,增益预定和非线性MPC控制器。对于具有快速采样速率的应用程序,工具箱允许您从常规控制器生成显式模型预测控制器,或实现近似解。
对于快速原型和嵌入式系统实现,包括部署优化解算器,工具箱支持C代码和IEC 61131-3结构化文本生成。万博1manbetx
开始:
MPC Designer App.
交互式设计MPC控制器通过定义内部植物模型以及调整视野、权重和约束。使用模拟场景验证控制器性能。比较多个MPC控制器的响应。
在Simulink中的MPC万博1manbetx设计
使用工具箱提供的MPC控制器块和其他块,在Simulink中对MPC控制器进万博1manbetx行建模和仿真。修剪和线性化Simulink模型,以计算MPC控制器的内部线性时不变设备模型,并使用万博1manbetx仿真软件控制设计™。
MATLAB中的MPC设计
使用命令行功能设计MPC控制器。定义内部工厂模型;调整权重,约束和其他控制器参数。模拟闭环系统响应,以评估控制器性能。
预制砌块
将自适应巡航控制系统、车道保持辅助系统和路径跟踪控制系统块用作ADAS应用程序的起点,并根据需要自定义设计。从预构建块生成代码,用于车内部署。
参考应用示例
使用参考应用程序示例了解自动驾驶系统设计和部署MPC控制器的工作流。参考应用程序示例还向您展示了如何以不同的逼真度对系统的不同部分进行建模。
线性MPC
通过使用控制系统工具箱™创建的线性时间不变(LTI)系统指定内部工厂模型,或通过使用Simulink Control Design进行模拟模型来设计线性MPC控制器。万博1manbetx或者,使用系统识别工具箱™导入从测量的输入输出数据创建的模型。
自适应MPC
使用命令行函数和自适应MPC控制器模块设计和仿真自适应MPC控制器。在运行时更新工厂模型,并将其作为输入提供给控制器。在自适应模型预测控制器中,采用具有渐近稳定性的内建线性时变(LTV)卡尔曼滤波器进行状态估计。
增益预定的MPC
控制非线性植物在各种操作条件下,具有多MPC控制器块。为每个操作点设计MPC控制器,并在运行时在控制器之间切换。
设计回顾
使用内置诊断功能检测MPC控制器的潜在稳定性和鲁棒性问题。在控制器设计期间,使用诊断结果调整控制器权重和约束,以避免运行时故障。
运行时参数调整
调整MPC控制器的权重和约束,以在运行时优化其性能而不重新设计或重新实现它。在MATLAB中执行运行时控制器调整®和仿真软万博1manbetx件。
运行时性能监控
访问优化状态信号,以检测优化可能无法收敛的罕见情况。使用这些信息来指导备份控制策略的决策。
明确的MPC.
从隐式MPC设计生成显式MPC控制器,以更快地执行。简化生成的显式MPC控制器以减少内存占用。
最优规划
使用非线性MPC控制器进行最优规划应用,这些应用需要具有非线性成本或约束的非线性模型。
反馈控制
在非线性成本下模拟非线性工厂的闭环控制。默认情况下,非线性MPC控制器使用优化工具箱™来解决非线性编程问题。您还可以指定您自己的自定义非线性求解器。
经济政策委员会
设计经济MPC控制器,以优化任意非线性约束下的任意成本函数的控制器。您可以使用线性或非线性预测模型,自定义非线性成本函数和自定义非线性约束。
使用matlab和simulink代码生成万博1manbetx
在Simulink中设计一个MPC控制器,并分别使用Si万博1manbetxmulink Coder™或Simulink PLC Coder™生成C代码或IEC 61131-3 Structured Text。使用MATLAB Coder™在MATLAB中生成C代码并部署它进行实时控制。或者,使用MATLAB编译器™打包和共享MPC控制器作为一个独立的应用程序。
内置求解器
从提供的主动集和内部点二次编程(QP)求解器中生成代码,以便在嵌入式处理器上有效实现。对于非线性问题,请使用优化工具箱中的顺序二次编程(SQP)求解器进行仿真和代码生成。将生成的代码部署到任意数量的处理器。
定制解决方案
使用embotech.force PRO QP和非线性规划(NLP)求解器来模拟和生成线性和非线性MPC控制器的代码。或者,使用自定义QP和NLP求解器进行模拟和代码生成。