Model Predictive Control 模型预测控制 它通过预测系统未来的行为来计算当前的最优控制动作

模型预测控制(MPC)是一种先进的控制策略,它在每个时间步,利用系统模型预测未来的行为,并求解一个优化问题来确定当前的最优控制输入。MPC 的核心思想是滚动优化 (Receding Horizon Optimization) 和反馈校正 (Feedback Correction),使其能够处理复杂的约束和多变量系统,在机器人、自动驾驶和工业过程控制等领域得到广泛应用。

一、核心思想:预测未来,优化当下

MPC 的核心思想可以概括为:

  1. 预测 (Predict): 在当前时间步 ,利用系统的数学模型,根据当前的系统状态和未来一段时间内的控制输入序列,预测系统在未来预测时域 (Prediction Horizon) 内的行为。
  2. 优化 (Optimize): 在预测时域内,求解一个优化问题,找到一个最优的控制输入序列,使得某个性能指标(如跟踪误差、能耗)最小化,同时满足所有系统约束(如执行器限制、安全边界)。
  3. 执行 (Execute): 只执行优化得到的控制序列的第一个控制输入。
  4. 滚动 (Recede): 在下一个时间步 ,重新测量系统状态,并重复上述过程。预测时域会向前滚动,因此 MPC 也被称为“滚动时域控制”。

二、基本原理

1. 预测模型 (Prediction Model)

MPC 依赖于一个准确的系统模型来预测未来的状态。这个模型可以是线性的或非线性的,离散的或连续的。例如,对于一个简单的线性系统:

其中 是系统状态, 是控制输入, 是系统矩阵。

2. 滚动优化 (Receding Horizon Optimization)

在每个时间步 ,MPC 会:

  • 定义一个预测时域 : 预测未来 个时间步的系统行为。
  • 定义一个控制时域 : 在未来 个时间步内优化控制输入(通常 )。
  • 求解优化问题: 找到一个控制序列 ,使得目标函数最小化,并满足所有约束。

3. 反馈校正 (Feedback Correction)

MPC 的鲁棒性来源于其反馈机制。在每个时间步,MPC 都会重新测量系统的实际状态,并将其作为下一次优化的起始点。这使得 MPC 能够纠正模型误差、外部扰动和未建模动态的影响。

三、数学公式:优化问题

MPC 在每个时间步求解的优化问题通常是一个约束优化问题:

目标函数 : 通常包含两部分:

  1. 状态跟踪误差: 衡量预测状态与期望轨迹之间的偏差。
  2. 控制输入成本: 惩罚过大的控制输入或控制输入的剧烈变化。

其中 是权重矩阵。

约束条件:

  • 系统动力学: (由预测模型给出)。
  • 状态约束: (如机器人关节角度限制)。
  • 控制输入约束: (如电机力矩限制)。
  • 碰撞约束: 机器人不能与障碍物发生碰撞。

四、优缺点分析

优点 (Pros)缺点 (Cons)
处理多变量系统:能够同时处理多个输入和输出,并考虑它们之间的耦合。计算成本高:在每个时间步都需要求解一个优化问题,对于实时应用可能计算量过大。
处理约束:能够显式地处理系统状态和控制输入的各种约束。依赖精确模型:模型的准确性对 MPC 的性能至关重要。模型误差可能导致性能下降。
在线优化:在每个时间步重新优化,具有很强的适应性和鲁棒性。超参数选择:预测时域、控制时域、权重矩阵等参数的选择对性能影响很大。
预测能力:能够预测未来行为,提前采取措施应对潜在问题。

五、应用领域

MPC 因其强大的处理复杂约束和多变量系统的能力,在许多领域得到广泛应用:

  • 机器人控制: 机器人轨迹跟踪、运动规划、无人机控制。
  • 自动驾驶: 车辆路径跟踪、避障、自适应巡航控制。
  • 工业过程控制: 化工过程、电力系统、炼油厂等。
  • 航空航天: 飞行器控制。