跳到主要内容

0. 控制器导览

控制器是机器人系统里最靠近执行器的一层。上层模型负责“想做什么”,运动规划负责“应该怎么走”,控制器负责让电机、关节和末端执行器真的按期望轨迹稳定运动。

这套教程的目标不是把控制理论讲成数学课,而是帮你建立一条工程学习线:

误差反馈
-> PID / PD
-> 离散控制与限幅
-> 状态空间与 LQR
-> 轨迹跟踪
-> MPC
-> 阻抗控制与力控
-> ROS2 / 仿真 / RL / VLA 集成

学完后,你应该能回答这些问题:

  • 为什么机器人任务一定要闭环控制?
  • PID 三项分别解决什么问题,调参时为什么会振荡、超调、慢响应?
  • 为什么真实工程里要关心采样频率、单位、限幅、滤波和积分饱和?
  • LQR 和 MPC 相比 PID 多利用了哪些模型信息?
  • 接触任务为什么不能只做位置控制?
  • 控制器怎样接到 MoveIt 2、ros2_control、MuJoCo、强化学习策略和 VLA 动作上?

课程章节

章节主题你会学到什么
1. 闭环与 PID从误差反馈建立控制直觉开环 / 闭环、P / I / D 三项、PD 关节控制
2. PID 工程把公式变成可靠代码离散化、限幅、抗积分饱和、微分滤波、调参流程
3. LQR从单误差到系统状态状态变量、线性化、Q R 权重、反馈增益
4. 轨迹跟踪跟踪一条随时间变化的轨迹位置 / 速度 / 加速度目标、前馈反馈、时序同步
5. MPC在约束下滚动优化预测时域、代价函数、动力学约束、实时求解
6. 阻抗控制与力控让机器人安全接触环境刚度、阻尼、顺从性、末端接触力
7. 系统集成接到真实机器人软件栈ros2_control、MoveIt 2、MuJoCo、RL / VLA 动作接口
8. 练习路线从仿真到项目的训练安排练习题、排错清单、面试问题

控制栈位置

一个典型机器人系统可以拆成四层:

层级输入输出常见模块
任务层指令、目标物体、场景状态子任务或目标位姿VLA、LLM planner、有限状态机
规划层目标位姿、地图、机器人模型路径、轨迹、接触序列MoveIt 2、RRT、CHOMP、步态规划
控制层期望轨迹、当前状态位置 / 速度 / 力矩命令PID、LQR、MPC、阻抗控制
执行层控制命令电机电流、关节运动电机驱动器、MCU、CAN、EtherCAT

控制器最核心的职责是缩小期望状态和真实状态之间的差距。这个差距可能是关节角误差、末端位姿误差、质心速度误差,也可能是接触力误差。

常见闭环形式可以写成:

其中 是当前状态, 是目标状态, 是控制输入, 是控制器参数。不同控制器的区别,主要在于函数 怎么设计。

前置基础

开始这套教程前,不需要先完整学完经典控制理论,但最好具备:

  • 能读懂 Python / C++ 里的数组、循环和函数。
  • 知道关节角、关节速度、力矩、末端位姿这些机器人基本量。
  • 看过 MuJoCo 快速上手 或至少知道仿真器如何推进一步。
  • 如果做机械臂,建议先了解 运动学与坐标变换

如果你想先动手,可以从 执行器与 PD 控制 开始。那一章会把单关节闭环响应、过冲、阻尼和稳态误差跑出来,是理解控制器最好的第一块积木。