什么是最优控制?
此代价函数取决于系统状态 \((x)\) 和控制输入 \((u)\),如下所示。
$$J(u)=\int_{0}^{\infty} (x^T Qx+u^T Ru+2x^T Nu)dt$$
基于性能设定,为此最优控制律设置加权因子 Q、R 和 N,以定义系统状态调节和控制作动成本之间的适当平衡。
在许多最优控制问题中,并非所有状态可测量。在这些情况下,必须使用观测器来估计状态。卡尔曼滤波器就是使用频率较高的一个观测器。卡尔曼滤波器结合 LQR 控制器构成一个线性二次高斯 (LQG) 控制器。
要了解详细信息,请查看关于 LQR 控制的 MATLAB 技术讲座。
模型预测控制
模型预测控制 (MPC) 用于最小化多输入多输出 (MIMO) 系统中的代价函数。该系统受限于输入和输出约束。这种最优控制方法使用系统模型来预测被控对象输出。控制器使用预测的被控对象输出求解在线优化问题,即二次规划,以确定可将预测输出驱动到参考值的可操作变量的最佳调整。MPC 变体包括自适应、增益调度和非线性 MPC 控制器。所使用的 MPC 控制器的类型取决于预测模型(线性/非线性)、约束(线性/非线性)、代价函数(二次/非二次)、吞吐量和采样时间。要了解详细信息,请查看关于 MPC 变体的 MATLAB 技术讲座。
H 无穷综合
H 无穷综合是一种最优控制工具/方法,用于设计单输入单输出 (SISO) 或 MIMO 反馈控制器,以实现稳健的性能和稳定性。与使用波特或 PID 调节的回路成形等经典控制方法相比,H 无穷更适合需要通道间交叉耦合的多变量控制系统。
对于 H 无穷,控制目标是根据归一化闭环增益来制定的。H 无穷综合会自动计算通过最小化该增益来优化性能的控制器。这很有用,因为许多控制目标可以用最小化增益来表示。其中包括抗扰、对噪声的灵敏度、跟踪、回路成形、回路解耦和稳健稳定性等目标。H 无穷综合的变体可用于处理固定结构或全阶控制器。
要了解详细信息,请查看关于 H 无穷综合的 MATLAB 技术讲座。
下表对上述最优控制方法进行了比较:
最优控制方法 | 优化是否在运行时进行?(是/否) | 此最优控制过程的优化过程是如何工作的? | 它是否能处理硬约束?*(可以/不能) | 它是否使用基于模型的方法?(是/否) | 吞吐量如何?(高/低) |
---|---|---|---|---|---|
LQR/LQG | 否 | 使用适用于已知线性时不变系统的闭式解 | 不能 | 是 | 高 |
隐式 MPC(是) | 使用预测模型,求解在线优化问题以计算最优控制动作 | 可以 | 是 | 低(非线性 MPC),高(线性 MPC) | |
显式 MPC(否) | 用于计算最优控制动作的优化问题的解采用离线计算 | 是 | 可以 | 高 | |
强化学习 | 是** | 学习任务的最优行为以最大化奖励度量 | 不能*** | 取决于训练算法 | 低(使用训练)、中高(在推断过程中) |
极值搜索控制 | 是 | 扰动和调整控制参数以最大化目标函数 | 不能 | 否 | 高 |
H 无穷综合 | 否 | 自动计算控制器,使其最小化归一化闭环增益 | 不能 | 是 | 高 |
* 您可以使用 Constraint Enforcement 模块来施加约束。点击此处了解详细信息。
** 使用 Reinforcement Learning Toolbox™,您可以针对仿真环境训练智能体。部署的智能体是经过训练的策略,不会在运行时更新。
*** 您可以通过策略结构施加动作约束,并通过奖励函数建议其他约束。