模型預測控制工具箱
模型预测控制器的设计与仿真
模型預測控制工具箱™ 提供功能、应用程序和Simulink金宝app®使用线性和非线性模型预测控制(MPC)设计和仿真控制器的模块。工具箱可用于指定植物和干扰模型、水平、约束和权重。通过运行闭环仿真,可以评估控制器性能。
您可以通过在运行时改变控制器的权重和约束来调整控制器的行为。工具箱提供可部署的优化求解器,还允许您使用自定义求解器。为了控制非线性设备,可以实现自适应、增益调度和非线性MPC控制器。对于具有快速采样率的应用程序,工具箱允许您从常规控制器生成显式模型预测控制器或实现近似解。
对于快速原型和嵌入式系统实现,包括部署优化解算器,工具箱支持C代码和IEC 61131-3结构化文本生成。金宝app
开始:
MPC设计器应用程序
通过定义内部植物模型以及调整视野、权重和约束。使用模拟场景验证控制器性能。比较多个MPC控制器的响应。
Simulink中的MPC设金宝app计
使用工具箱提供的MPC控制器块和其他块,在Simulink中对MPC控制器进金宝app行建模和仿真。修剪和线性化Simulink模型,以计算MPC控制器的内部线性时不变设备模型,并使用金宝appSimulink控制设计™.
MATLAB中的MPC设计
使用命令行功能来设计MPC控制器。定义内部工厂模型;调整权重、约束和其他控制器参数。模拟闭环系统响应来评估控制器性能。
预制砌块
将自适应巡航控制系统、车道保持辅助系统和路径跟踪控制系统块用作ADAS应用程序的起点,并根据需要自定义设计。从预构建块生成代码,用于车内部署。
参考应用程序示例
使用参考应用程序示例了解自动驾驶系统设计和部署MPC控制器的工作流。参考应用程序示例还向您展示了如何以不同的逼真度对系统的不同部分进行建模。
线性MPC
通过将内部对象模型指定为使用控制系统工具箱创建的线性时不变(LTI)系统,设计线性MPC控制器™, 或者通过Simulink控制设计将Simulink模型线性化。或者,使用系统标识工具箱导入从测量的输入输出数据创建的模型™.金宝app
自适应政策委员会
使用命令行函数和自适应MPC控制器块设计和模拟自适应MPC控制器。在运行时更新设备模型,并将其作为控制器的输入。在自适应模型预测控制器中,使用具有保证渐近稳定性的内置线性时变(LTV)卡尔曼滤波器进行状态估计。
Gain-Scheduled MPC
使用多个MPC控制器块在各种操作条件下控制非线性对象。为每个操作点设计一个MPC控制器,并在运行时在控制器之间切换。
运行时参数调优
调整MPC控制器的权重和约束,以在运行时优化其性能,而无需重新设计或重新实现。在两个MATLAB中执行运行时控制器调整®和Sim金宝appulink。
运行时性能监视
访问优化状态信号,以检测优化可能无法收敛的罕见情况。使用此信息指导有关备份控制策略的决策。
显式MPC
从隐式MPC设计生成显式MPC控制器,以加快执行速度。简化生成的显式MPC控制器,以减少内存占用。
最优规划
将非线性MPC控制器用于需要具有非线性成本或约束的非线性模型的优化规划应用。
反馈控制
在非线性成本和约束条件下模拟非线性装置的闭环控制。默认情况下,非线性MPC控制器使用最优化工具箱™来解决非线性规划问题。您还可以指定您自己的自定义非线性求解器。
经济货币政策委员会
设计经济型MPC控制器,在任意非线性约束下,针对任意代价函数优化控制器。可以使用线性或非线性预测模型、自定义非线性成本函数和自定义非线性约束。
用MATLAB和Simulink生成代码金宝app
在Simulink中设计MPC控制器,并使用Simuli金宝appnk编码器生成C代码或IEC 61131-3结构化文本™ 或Simulink PLC编码器™, 分别地使用MATLAB编码器™ 在MATLAB中生成C代码,并将其部署用于实时控制。或者,使用MATLAB编译器™ 将MPC控制器打包并作为独立应用程序共享。
内置解算器
从提供的活动集和内点二次规划(QP)解算器生成代码,以便在嵌入式处理器上高效实现。对于非线性问题,使用优化工具箱中的序列二次规划(SQP)求解器进行模拟和代码生成。将生成的代码部署到任意数量的处理器。
自定义解算器
使用埃博泰克强制PRO QP和非线性规划(NLP)解算器模拟并生成线性和非线性MPC控制器的代码。或者,使用自定义QP和NLP解算器进行模拟和代码生成。