ModelPredictiveController
ModelPredictiveController[sspec,cost,cons]
计算系统规范为 sspec 的模型预测控制器,可最小化成本函数 cost 并满足约束条件 cons.
ModelPredictiveController[…,"prop"]
返回属性 "prop" 的值.
更多信息和选项
- 模型预测控制亦称为 MPC.
- 通过最小化状态的成本函数和在有限时域内控制输入来计算模型预测控制器,同时允许对输入和状态施加约束条件. 这些约束条件通常对于确保安全地实现控制器很重要.
- 所得控制器为简单的分段仿射形式 ,其中 是反馈控制输入, 是系统的状态. 可以很容易地将这些参数部署在微控制器中并用于快速处理.
- 调节器的目的是在有干扰 将系统推离的情况下使系统保持在平衡位置. 典型的例子包括将倒立摆保持在直立位置或保持飞机水平飞行.
- MPC 调节器被指定为最小化成本 的反馈,成本取决于 sspec 中的系统动力学 和约束条件 cons. 当状态 和反馈控制输入 都变小时,成本 变小.
-
1-norm,加权积分绝对误差 (IAE) 平方 2-norm,加权积分平方误差 (ISE) 或加权 "energy" -norm,加权峰值 - 在 cost Association 中指定成本 ,其中有以下键:
-
η "Horizon" 整数时域 q "StateWeight" 状态的矩阵成本 r "InputWeight" 输入的矩阵成本 p "StateInputWeight" 交叉耦合的状态和输入的矩阵成本 m "Norm" 1、2 或 - 跟踪器的目的是在有干扰 存在的情况下跟踪参考信号 . 典型的例子包括汽车的巡航控制系统或机器人的路径跟踪.
- MPC 跟踪器被指定为最小化成本的反馈,成本取决于 sspec 中的系统动力学 和约束条件 cons. 当预测误差 和增量反馈控制输入 都变小时,成本变小.
-
1-norm,加权积分绝对误差 (IAE) 平方 2-norm,加权积分平方误差 (ISE) 或加权 "energy" -norm,加权峰值 - 成本函数表达式中的项如下:
-
η "Horizon" 整数时域 qe "ErrorWeight" 误差的矩阵成本 "InputIncrementWeight" 输入增量的矩阵成本 peΔ "ErrorInputIncrementWeight" 交叉耦合的误差和输入增量的矩阵成本 m "Norm" 1、2 或 - 调节器和跟踪器问题的约束条件 cons 是用状态变量 x、输入变量 u 和输出变量 y 表示的. 可用 StateSpaceModel[{a,b,c,d},x,u,y,…] 来定义.
- 对于特定时刻 成立的约束条件,其中 :
-
xmin<=xi[k]<=xmax 对时间 上的值的约束条件 Δxmin<=xi[k2]-xi[k1]<=Δxmax 对从时间 到时间 的增量的约束条件 - 对所有时刻 k 成立的约束条件,其中 :
-
xmin<=xi<=xmax 对所有 k 上的值的约束条件 min<=α1.x1+…+αn.xn+β<=max 对所有 k 的线性组合的约束条件 xminxxmax 对所有 k 的所有值的约束条件 - 可按以下形式指定权重矩阵 、 和 :
-
q 常数权重 {q,…,q,q} {{q},qη} 不同的最终权重 {q,…,q,qη} {q0,q1,…,qη} 不同的权重 {q0,q1,…,qη} - ModelPredictiveController 适用于可以用 StateSpaceModel[…,SamplingPeriodτ] 指定的离散时间线性系统.
- 系统规范 sspec 可以采用以下形式:
-
StateSpaceModel[…] 线性控制输入和线性状态 AffineStateSpaceModel[…] 线性控制输入和非线性状态 NonlinearStateSpaceModel[…] 线性控制输入和非线性状态 SystemModel[…] 一般系统模型 <… > 以 Association 给出的详细的系统规范 - 详细的系统规范可以含有以下键:
-
"InputModel" sys 任意一个模型 "FeedbackInputs" All 反馈输入 uf "TrackedOutputs" None 跟踪的输出 yref - 反馈输入可以采用以下形式:
-
{num1,…,numn} StateSpaceModel、AffineStateSpaceModel 和 NonlinearStateSpaceModel 使用的编号输入 numi {name1,…,namen} SystemModel 使用的已命名输入 namei All 使用所有输入 - ModelPredictiveController 返回一个 SystemsModelControllerData 对象 cd,可通过形式 cd["prop"] 提取其他属性.
- ModelPredictiveController[…,"prop"] 可用于直接获取 cd["prop"] 值.
- 闭环系统的属性:
-
"ClosedLoopPoles" 线性化 "ClosedLoopSystem" 的极点 "ClosedLoopSystem" 系统 csys {"ClosedLoopSystem", cspec} 对闭环系统形式的具体控制 "ControllerModel" 模型 cm "FeedbackGains" 增益矩阵 κ 或其等价形式 "FeedbackGainsModel" 模型 gm "FeedbackRegions" 反馈可行的区域 "QuasiClosedLoopSystem" 用 "QuasiFeedbackGains" 组合起来的闭环 "QuasiFeedbackGains" 只依赖于初值的反馈增益 "QuasiFeedbackGainsModel" "QuasiFeedbackGains" 的系统模型 "OptimalCost" 的最优值 - 无限时域问题的属性:
-
"MaximalLQRInvariantRegion" 含有 LQR 反馈增益的最大区域 "MaximalStabilizableRegion" 可以进入 的最大区域 "MinimalFiniteHorizon" 中的状态进入 的最小时域 - 基本设计的属性:
-
"Design" 控制器设计的类型 "DesignModel" 设计所用的模型 "DesignModelSamplingMethod" 用来获取 "DesignModel" 的采样方法 "DesignModelSamplingPeriod" "DesignModel" 的采样周期 "Horizon" 时域 η "Norm" 1-、平方 2- 或 ∞-norm - 输入模型的属性:
-
"FeedbackInputs" 用于反馈的 sys 的输入 uf "InputModel" 输入模型 sys "InputsCount" sys 的输入 u 的数量 "OpenLoopPoles" "DesignModel" 的极点 "OutputsCount" sys 的输出 y 的数量 "SamplingPeriod" sys 的采样周期 "StatesCount" sys 的状态 x 的数量 "TrackedOutputs" sys 被跟踪的输出 yt
范例
打开所有单元关闭所有单元基本范例 (2)
范围 (43)
基本用法 (5)
求解状态为 {x1,x2}、控制输入为 u 的离散时间系统的调节器问题:
控制器是一个 DiscreteInputOutputModel:
范数 (4)
控制器是一个 DiscreteInputOutputModel:
控制器是一个 DiscreteInputOutputModel:
控制器是一个 DiscreteInputOutputModel:
控制器是一个 NonlinearStateSpaceModel:
跟踪 (4)
工厂模型 (8)
由 StateSpaceModel 指定的系统的控制器:
由 AffineStateSpaceModel 指定的系统:
由 NonlinearStateSpaceModel 指定的系统的控制器:
由连续时间 SystemModel 指定的系统:
反馈增益模型有两个状态 {x1,x2} 作为输入,u1 为输出:
具有多个输入的 SystemModel:
是线性化 StateSpaceModel 的第一个输入:
约束条件 (5)
属性 (17)
"MaximalLQRInvariantRegion" 被包含在 "MaximalStabilizableRegion" 中:
"MaximalStabilizableRegion" 本质上与 "FeedbackRegions" 相同:
"MaximalStabilizableRegion" 是单个凸区域:
以 Association 的形式获取所有属性:
或是 Dataset:
属性和关系 (3)
LQRegulatorGains 是平方 2-范数无限时域问题的特例:
没有约束条件的 ModelPredictiveController 给出了基本相同的结果:
LQRegulatorGains 不考虑约束条件:
ModelPredictiveController 考虑状态和控制约束条件:
因此 LQRegulatorGains 只有一组反馈增益:
而 ModelPredictiveController 的反馈增益是分段函数:
含有 MPC 控制器的闭环系统从不可行的初始值 开始的响应:
ModelPredictiveController 给出了基本相同的结果:
文本
Wolfram Research (2022),ModelPredictiveController,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ModelPredictiveController.html.
CMS
Wolfram 语言. 2022. "ModelPredictiveController." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ModelPredictiveController.html.
APA
Wolfram 语言. (2022). ModelPredictiveController. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ModelPredictiveController.html 年