模型预测控制工具箱
设计和仿真模型预测控制器
模型预测控制工具箱™提供功能,应用程序和Simulink万博1manbetx®使用线性和非线性模型预测控制(MPC)设计和模拟控制器的块。Toolbox允许您指定工厂和干扰模型,视野,约束和重量。通过运行闭环模拟,可以评估控制器性能。
您可以通过在运行时改变控制器的权重和约束来调整控制器的行为。工具箱提供可部署的优化求解器,还允许您使用自定义求解器。为了控制非线性设备,可以实现自适应、增益调度和非线性MPC控制器。对于具有快速采样率的应用程序,工具箱允许您从常规控制器生成显式模型预测控制器或实现近似解。
为了快速原型和嵌入式系统实现,包括优化求解器的部署,工具箱支持C代码和IEC 61131-3结构化文本生成。万博1manbetx
开始:
MPC设计师应用
通过定义交互设计MPC控制器内部装置模型调整视野、权重和约束条件。使用仿真场景验证控制器性能。比较多个MPC控制器的响应。
MPC设计在Simulink万博1manbetx中
在Simulink中使用MPC控制器模块和工具箱提供的其他模块对MPC控制器万博1manbetx进行建模和仿真。修剪和线性化Simulink模型,为MPC万博1manbetx控制器计算一个内部线性时不变的对象模型,并获得对象输入和输出的标称值万博1manbetxSimulink Control Design™.
MADLAB中的MPC设计
使用命令行功能来设计MPC控制器。定义内部工厂模型;调整权重、约束和其他控制器参数。模拟闭环系统响应来评估控制器性能。
预建块
使用自适应巡航控制系统、车道保持辅助系统和路径跟踪控制系统模块作为ADAS应用程序的起点,并根据需要定制设计。为车载部署从预构建块生成代码。
参考应用实例
使用参考应用程序示例,通过设计和部署自动驾驶系统的MPC控制器的工作流。参考应用程序示例还向您展示了如何以不同的保真度对系统的不同部分建模。
线性MPC
设计一个线性MPC控制器,通过指定一个内部设备模型作为一个线性时不变(LTI)系统,由控制系统工具箱™创建,或通过使用Simulink控制设计线性化一个Simulink模型。万博1manbetx或者,使用System Identification Toolbox™导入从测量的输入-输出数据创建的模型。
自适应政策委员会
使用命令行功能和Adaptive MPC控制器块设计和模拟自适应MPC控制器。在运行时更新您的工厂模型,并将其作为控制器的输入提供。使用内置线性时变(LTV)Kalman滤波器,具有适应性模型预测控制器中的状态估计的保证渐近稳定性。
Gain-Scheduled MPC
通过多个MPC控制器块在广泛的操作条件下控制非线性电厂。为每个操作点设计一个MPC控制器,并在运行时在控制器之间进行切换。
设计评审
使用内置的诊断功能检测MPC控制器的潜在稳定性和健壮性问题。在控制器设计期间,使用诊断结果来调整控制器权重和约束,以避免运行时故障。
运行时参数调优
在不重新设计或重新实现的情况下,调整MPC控制器的权重和约束,以优化其运行时的性能。在MATLAB中执行运行时控制器调优®和Sim万博1manbetxulink。
运行时性能监控
访问优化状态信号以检测优化可能无法收敛的罕见场合。使用此信息指导关于备份控制策略的决策。
明确的政策委员会
从隐式MPC设计生成显式MPC控制器,以便更快执行。简化生成的显式MPC控制器,以减少内存占用。
最优规划
使用非线性MPC控制器进行最佳规划应用,该应用需要具有非线性成本或约束的非线性模型。
反馈控制
在非线性成本和约束条件下模拟非线性装置的闭环控制。默认情况下,非线性MPC控制器使用最优化工具箱™来解决非线性规划问题。您还可以指定您自己的自定义非线性求解器。
经济MPC
设计经济的MPC控制器,对任意非线性约束下的任意代价函数进行优化。您可以使用线性或非线性预测模型、自定义非线性成本函数和自定义非线性约束。
用MATLAB和Simulink生成代码万博1manbetx
使用Simulink Coder™或Simulink P万博1manbetxLC Coder™设计Simulink中的MPC控制器,并生成C代码或IEC 61131-3结构化文本。使用MATLAB编码器™在MATLAB中生成C代码并将其部署用于实时控制。或者,使用MATLAB Compiler™打包并将MPC控制器作为独立应用程序分享。
内置的解决者
从提供的活动集和内点二次规划(QP)求解器生成代码,以便在嵌入式处理器上有效地实现。对于非线性问题,使用优化工具箱中的顺序二次规划(SQP)求解器进行模拟和代码生成。将生成的代码部署到任意数量的处理器。
定制求解器
用Embotech强制Pro QP和非线性编程(NLP)求解器模拟和生成线性和非线性MPC控制器的代码。或者,使用定制QP和NLP求解器进行仿真和代码生成。