1. 从一张"抖动"的机械臂说起:运动控制到底在控什么
很多人第一次接触机器人运动控制,是从一台会抖的机械臂或者一个走不准的步进电机开始的。你给它发一条"走到90度"的指令,它要么冲过头再弹回来,要么在目标点附近来回晃,要么干脆丢步卡死。这时候你去翻资料,满屏都是PID、伺服、轨迹规划、CANopen,每个词都认识,连起来却不知道从哪下手。
这篇内容就是来解决这个问题的。我把机器人工程里最核心的20个运动控制技术点拆开,按"控制什么—怎么控—控不好怎么办"的逻辑串起来讲。涉及的关键词包括运动控制、PID控制、伺服控制、轨迹规划、级联PID、CANopen协议、多轴联动等。适合两类人看:一类是刚入行的工程师,手上有个STM32或者PLC要驱动电机,但不知道控制环该怎么搭;另一类是有一定经验、但知识比较零散,想把运动控制这套体系理清楚的人。
先说一个最容易被忽略的认知:运动控制本质上是在跟"惯性"和"摩擦"这两个东西较劲。电机想停,负载不想停;负载想动,摩擦不让动。所有的控制算法,PID也好、前馈也好、模型预测也好,都是在用不同的方式预测和补偿这两个力。你把这个想明白了,后面所有的技术点都能挂到这条主线上。
下面我按七个板块展开,从最底层的执行器一直讲到多轴协同和调试经验。每个板块都会说清楚"为什么这么做",而不只是"怎么做"。
2. 执行器与驱动层:伺服、步进、抱闸与手轮
2.1 伺服和步进的分界线在哪里
新手最常问的一个问题是:我这个项目到底该用伺服还是步进?网上很多回答是"精度要求高用伺服,低用步进",这个说法太粗糙了。真正的分界线在于闭环能力和过载能力。
步进电机是开环的,你发多少脉冲它理论上走多少步,但它不知道自