1. 课程导入

机器人从“能运动”走向“会决策”,核心跨越在于控制层能否在约束条件下持续寻找最优动作。优化控制与模型预测控制(Model Predictive Control, MPC)正是这一跨越的两条主线:前者提供“如何定义最优”的数学语言,后者提供“如何在线滚动求解”的工程框架。本课程的目标,是让学习者既能写出机器人的动力学与约束模型,又能把它们转化为可实时求解的优化问题,并在仿真与实机上验证闭环性能。

学习本课程后,你应当能够:
1. 用状态空间、代价函数与约束三要素描述一个机器人控制问题;
2. 区分LQR、iLQR、DDP、MPC、WBC等方法的适用边界;
3. 针对机械臂、移动机器人、四足等对象搭建预测模型并设计代价;
4. 使用QP/NLP求解器完成滚动优化,并处理实时性与可行性问题;
5. 通过仿真与实验复盘控制器的跟踪误差、约束满足率与计算耗时。

1.1 核心概念:从“反馈”到“预测”

经典PID控制只根据当前误差调整输入,不显式考虑未来。优化控制则把控制问题写成:在系统动力学约束下,最小化一段未来时间内的累积代价。其一般形式可写为:

min  J = Σ_{k=0}^{N-1} [ x_k^T Q x_k + u_k^T R u_k ] + x_N^T Q_f x_N
s.t. x_{k+1} = f(x_k, u_k)      // 动力学约束
     x_k ∈ X, u_k ∈ U           // 状态与输入约束
     x_0 = x_current            // 当前状态

其中 N 为预测时域,Q、R、Q_f 为权重矩阵,X、U 为可行域。MPC 的关键特征是“滚动时域”:每个控制周期只执行优化解的第一个输入,然后以新状态重新求解。这种“预测—优化—执行—再预测”的闭环结构,使机器人能够提前规避障碍、满足关节限位,并在模型失配时保持鲁棒。

机器人优化控制与MPC知识框架 机器人对象 机械臂 / 移动底盘 四足 / 无人机 动力学与运动学模型 状态 / 输入 / 约束 优化控制方法 LQR / iLQR / DDP 线性MPC / 非线性MPC 全身控制 WBC 轨迹优化 / 接触规划 求解与部署 QP / NLP 求解器 实时迭代与热启动 仿真 / 实机验证 性能复盘与调参 典型应用 抓取与装配 自主导航避障 足式稳定行走 高速轨迹跟踪 滚动时域闭环:预测 → 优化 → 执行 → 再预测

1.2 方法流程:一次MPC控制周期做了什么

理解MPC最有效的方式,是跟踪一个控制周期内的数据流。假设机器人当前状态为 x_current,控制器需要完成以下步骤:

  1. 状态估计:从编码器、IMU、视觉等传感器融合得到当前状态;
  2. 预测建模:用离散动力学 x_{k+1}=f(x_k,u_k) 展开未来 N 步;
  3. 构造优化问题:将代价、动力学、状态/输入约束写成QP或NLP;
  4. 在线求解:调用求解器,得到最优输入序列 u_0*, u_1*, ..., u_{N-1}*;
  5. 执行首项:只把 u_0* 发给底层执行器;
  6. 滚动更新:等待下一个周期,用新状态重复上述过程。
预测时域 N 越长,前瞻能力越强,但计算量近似线性增长;控制周期越短,实时性要求越高。工程上常用“短时域+热启动”平衡性能与算力。

1.3 典型应用场景与参数直觉

不同机器人对象对MPC的诉求差异明显。下表给出常见场景与关键参数的关系,便于建立工程直觉:

应用场景预测模型主要约束典型时域N控制周期
机械臂抓取刚体动力学关节限位、力矩上限10~205~20 ms
移动机器人导航差速/阿克曼模型速度、障碍距离15~3020~50 ms
四足行走浮动基动力学接触力锥、摩擦10~252~10 ms
无人机轨迹跟踪线性化姿态模型推力、倾角20~405~20 ms

可以看到,控制周期越短、模型越复杂,对求解器的实时性要求越高。这也是为什么工程中常把非线性MPC近似为线性MPC或QP,并配合热启动、稀疏结构利用等技巧。

1.4 常见误区与复盘要点

误区一:把MPC当成“万能最优控制器”。 MPC的最优性依赖模型精度与代价设计,模型失配时可能不如调好的PID稳定。
误区二:忽略可行性。 约束过紧或初始状态不可行时,求解器可能无解,必须设计软约束或可行性恢复策略。
误区三:只调权重不看物理量纲。 Q与R的量纲不一致会导致某一项主导,建议先归一化再调参。
误区四:忽视计算耗时。 仿真中跑得通不代表实机实时,必须测量单周期求解时间并留出余量。

复盘时建议记录三组数据:跟踪误差(RMSE)、约束违反次数、单周期求解耗时。三者共同决定控制器是否真正可用。若误差大,先检查模型与代价;若约束频繁违反,检查约束设置与求解器容差;若耗时超标,优先简化模型或缩短时域,再考虑代码级优化。

本课程后续将沿着“建模—优化—求解—部署—复盘”的主线展开:先建立机器人动力学与约束的数学描述,再学习LQR、iLQR、DDP等基础优化方法,随后进入线性MPC与非线性MPC的推导与实现,最后结合机械臂、移动机器人和四足平台完成综合案例。掌握这条主线,你就能把“预测—优化—执行”的闭环真正落到机器人系统上。