MCU 与上位机的控制分层
最近修改日期:2026-05-05 参与者:Jackrainman 本文档回答一个核心问题:控制算法应该跑在哪里? 这决定了你在 MCU 上应该深挖什么、在上位机/ROS2 上只需要理解什么。
1. 为什么需要分层
机器人系统从最内层闭环到最外层决策,响应速度和计算需求差异巨大:
| 层 | 典型位置 | 响应速度 | 特征 |
|---|---|---|---|
| 电流/力矩环 | MCU | 10~20 kHz | 不能断、不能丢帧 |
| 速度环 | MCU | 1~5 kHz | 延迟和抖动直接影响手感 |
| 位置环 | MCU | 0.5~2 kHz | 需要确定性时序 |
| 轨迹/参考层 | MCU 或上位机 | 100~500 Hz | 需要可预测、可规划 |
| 规划/优化层 | 上位机/ROS2 | 10~100 Hz | 计算密集,允许偶尔丢帧 |
| 决策/策略层 | 上位机 | 1~10 Hz | 逻辑为主,实时性要求最低 |
2. MCU 负责什么
MCU 的核心职责是 确定性闭环执行:
- 高频采样传感器
- 以固定周期运行控制算法
- 输出确定性时序的驱动信号
- 保证安全(限幅、超时保护、看门狗)
适合放在 MCU 的方法: - 串级 PID(位置/速度/电流) - 前馈与补偿(速度前馈、加速度前馈、重力补偿) - ESO / LADRC / 扰动观测器 - 轻量状态反馈(小维度 LQR) - 参考整形(TD、梯形速度、S 曲线) - 滤波(低通、移动平均、卡尔曼滤波简版) - 约束处理(限幅、抗积分饱和)
不适合放在 MCU 的方法: - 大维度 MPC(需要矩阵求逆,计算量过大) - 深度神经网络推理(除非量化的很小) - 强化学习策略网络 - 大规模优化问题 - 长时序预测规划
3. 上位机/ROS2 负责什么
上位机的核心职责是 在更长的时间尺度上做优化和规划:
典型任务: - 全局/局部路径规划(A*、RRT、DWA) - MPC(预测优化、多变量协调) - SLAM / 感知融合 - 任务调度与状态机 - 参数自适应(超参数搜索、在线调参) - 离线/半在线模型训练
4. 关键分界线
判断一个方法该放 MCU 还是上位机,用三个问题:
Q1:它需要跑多快? - 毫秒级或微秒级闭环 -> MCU - 百毫秒级以上规划/优化 -> 上位机
Q2:它需要多少计算? - 能在 1ms 内跑完 -> MCU - 需要矩阵求逆、大量迭代 -> 上位机
Q3:它的输出是什么? - 直接驱动电机的电流/电压 -> MCU - 给 MCU 的参考轨迹/参数/模式 -> 上位机
5. 分工协作的典型架构
上位机 (ROS2/Linux)
├─ 全局规划
├─ MPC / 优化器
├─ 参数自适应
└─ 感知与决策
↓
给 MCU:参考轨迹、目标参数、模式切换
↓
MCU (STM32)
├─ 参考整形 (TD/S曲线)
├─ 前馈补偿
├─ 串级 PID / LADRC
├─ ESO / 状态观测
└─ 限幅、抗饱和、安全保护
↓
直接驱动:电机、执行器
6. 这对你的学习方向意味着什么
应该在 MCU 上深挖的: - 离散化、采样、量化对控制的影响 - PID / LADRC 的工程实现细节 - 前馈、补偿、观测器的调参逻辑 - 饱和、限幅、抗积分饱和 - 串级结构设计 - 建模与辨识
应该在上位机上理解的: - MPC 的优化问题是怎么建的、约束怎么加 - 最优控制的数学背景(HJB / PMP) - 智能控制(模糊、神经网络、专家系统) - 强化学习与数据驱动控制
不需要在 MCU 上实现、但需要能看懂的: - 全维度 MPC - 神经网络控制器 - RL 策略网络 - 复杂优化算法
文档导航
| 主线文档 | 专题导论 |
|---|---|
| 00-学习路径指南.md | 11-现代控制与最优控制导论.md |
| 01-重新理解控制论.md | 12-智能控制与强化学习导论.md |