非线性MPC
货币政策委员会在传统线性、非线性MPC计算控制行动在每个控制间隔使用基于模型的预测和约束优化的组合。关键的不同之处在于:
可以非线性预测模型,包括时变参数。
等式和不等式约束的非线性。
标量函数最小化成本可以是nonquadratic(线性或非线性)决策变量的函数。
使用非线性MPC,您可以:
模拟闭环控制下的非线性植物非线性成本和约束。
计划最优轨迹通过求解一个开环约束非线性优化问题。
默认情况下,非线性MPC控制器解决非线性规划问题的使用fmincon
函数与SQP算法,需要优化工具箱™软件。如果你没有优化工具箱软件,您可以指定您自己的自定义非线性规划求解。有关配置的更多信息fmincon
解算器并指定一个自定义的能手,明白了为非线性MPC配置优化解算器。关于使用的更多信息FORCESPRONLP与非线性解算器MPC控制器,明白了实现MPC控制器使用Embotech FORCESPRO解决者。
请注意
的MPC设计师应用程序不支持非线性MPC金宝app控制器的设计。
通用非线性MPC
实现通用非线性MPC,创建一个nlmpc
对象,并指定:
状态和输出函数,定义您的预测模型。有关更多信息,请参见为非线性MPC指定预测模型。
一个定制的成本函数,可以更换或增加标准的MPC成本函数。有关更多信息,请参见为非线性MPC指定成本函数。
标准范围的输入、输出和状态。
额外的等式和不等式约束的自定义,包括线性和非线性的组合输入、输出和状态。有关更多信息,请参见为通用非线性MPC指定约束。
被动不等式约束,包括线性和非线性的组合输入和状态。有关更多信息,请参见为通用非线性MPC指定约束和
被动
财产的nlmpc
对象。关于被动的例子,看看控制使用Passivity-Based Quadruple-Tank非线性MPC和控制机器人机械手使用Passivity-Based非线性MPC。
你可以模拟通用非线性MPC控制器:
多级非线性MPC
多级MPC问题是MPC问题阶段的成本和约束功能。具体地说,一个多级MPC控制器预测地平线的长度p有p+ 1阶段,第一阶段对应于当前时间和最后一个(终端)阶段对应于最后一个预测步骤。
多级MPC控制器,每个阶段都有自己的决策变量和参数,以及自己的非线性成本和约束。更重要的是,成本和约束函数在一个特定的阶段是决策变量和参数的函数只在那个阶段。除了更容易写雅可比矩阵功能,这个功能允许一个更高效的数据结构,从而显著减少计算时间比使用通用NLMPC控制器解决同样的问题。事实上,松弛变量阶段允许更多的设计灵活性,和禁用操纵变量的使用利率作为决策变量收益率制定一个更精简的问题。
出于这些原因,如果你的非线性MPC问题成本和约束函数不涉及cross-stage条款,如果您不需要执行被动,在你的设计中使用多级非线性MPC控制器。
实现多级非线性MPC控制器,首先创建一个nlmpcMultistage
对象,然后指定:
态函数定义你的预测模型。对于离散时间模型,确定
Model.IsContinuousTime
被设置为假
。成本和约束函数所需的阶段。您必须指定至少一个阶段的成本函数。
硬上界和下界,操纵变量和操作变量,如果需要的话。
在设计控制器时,考虑以下几点。
不支持匿名函数金宝app
nlmpcMultistage
对象。指定雅克比当他们是可用的是最佳实践,否则解决者必须在每一步计算其数值。您可以使用
generateJacobianFunction
自动生成一个MATLAB®计算雅克比的函数。不同于一般的非线性MPC、植物输出、重量、ECR的价值观,和规模因素在一个不存在
nlmpcMultistage
对象。你可以直接实施成本和约束功能。控制层也省略了
nlmpcMultistage
对象。实现块移动时,集杀鼠灵
和RateMax
在所需的零预测步骤。
你可以模拟多级非线性MPC控制器:
在仿真金宝app软件使用多级非线性MPC控制器块
在MATLAB命令行中使用
nlmpcmove
从非线性多级代码生成控制器在MATLAB支持(使用金宝appmpcmoveCodeGeneration
)和仿真软件金宝app。
例如如何创建和使用多级MPC控制器,明白了创建和模拟多级非线性MPC控制器,模拟多级非线性MPC控制器使用初始猜测,卡车和拖车使用多级非线性MPC自动停车。
另请参阅
功能
对象
块
相关的例子
- 轨迹优化和控制使用非线性MPC的飞行机器人
- Quadrotor使用非线性模型预测控制的控制
- 非线性模型预测控制的放热化学反应堆
- 摆起控制使用非线性模型预测控制的钟摆
- 控制使用Passivity-Based Quadruple-Tank非线性MPC
- 计划和执行任务——和关节空间轨迹使用KINOVA Gen3操纵者(机器人系统工具箱)
- 车辆使用多级非线性MPC着陆
- 卡车和拖车使用多级非线性MPC自动停车