重新理解控制论
先不要急着选算法,先把问题分层。
1. 任务层
你想干什么?
比如:
- 遥控器给速度命令
- 导航给一个目标点
- 云台要锁定目标
- 机械臂要到某个角度
这一层讨论的是:
“目标从哪里来”
2. 参考生成层
目标来了以后,你是不是直接喂给控制器,还是先处理一下?
比如:
- 限速
- 限加速度
- 轨迹规划
- 插值
- TD 平滑
这一层讨论的是:
“给控制器的参考信号长什么样”
3. 跟踪控制层
参考信号有了,控制器怎么让系统跟上?
比如:
- PID
- LADRC
- LQR
- MPC
- 前馈 + PID
- PID + 扰动观测器
这一层讨论的是:
“怎么根据参考和测量,算出控制输出”
4. 执行器与对象层
电机、驱动器、机械结构本身的真实行为。
比如:
- 电流饱和
- 摩擦
- 间隙
- 编码器噪声
- 电机惯量
- CAN 延迟
- 任务调度抖动
这一层讨论的是:
“真实世界会怎么破坏你的控制”
所以:
- 轨迹规划 属于第 2 层
- LADRC 属于第 3 层
- printf 阻塞、饱和、编码器跳变 属于第 4 层
这就是为什么你会觉得“它们不是一回事”——因为确实不是。
如果你已经能把这四层分开,再继续看 02-机器人控制系统的分层设计与算法选型方法.md。