2. UR机器人运动学基础
在UR机器人的节拍优化中,一个常见的误区是:只要把程序里的速度百分比调高,节拍就会线性下降。实际调试中却经常出现“速度调到80%了,节拍只快了10%”甚至“末端轨迹变形、抓取失败”的情况。根本原因在于,UR的运动控制同时存在于两个空间——关节空间与笛卡尔空间,而节拍由这两个空间的约束共同决定。理解它们的运动特性,是后续做轨迹优化、速度规划与节拍压缩的前提。
一、关节空间:UR真正执行运动的地方
UR的六个关节(基座、肩、肘、腕1、腕2、腕3)各自由一个伺服电机驱动,控制器最终下发给电机的是每个关节的角度目标。因此,关节空间是UR运动的“物理执行层”。关节空间中的运动由各关节角度向量 q = [q1, q2, q3, q4, q5, q6] 描述,UR的关节角以度为单位,各轴均有明确的机械限位,例如UR5e的基座关节为±360°,腕部关节为±360°,而肩、肘关节通常为±180°左右(具体以机型手册为准)。
关节空间运动有两个关键特性直接影响节拍:
- 关节速度上限:UR各关节的最大角速度约为180°/s(不同机型略有差异)。当某一段轨迹需要某个关节快速转动时,该关节会先到达速度上限,成为整段运动的“瓶颈轴”。
- 关节加速度与加加速度限制:UR控制器对加速度和加加速度(jerk)都有约束,用于保证运动平滑。这意味着即使距离很短,机器人也无法瞬间达到最大速度,存在加速—匀速—减速的过程。
因此,在关节空间中,一段运动的实际耗时取决于最慢的那个关节,而不是所有关节的平均表现。这就是为什么有时把整体速度调高,节拍却几乎不变——瓶颈关节已经饱和。
二、笛卡尔空间:用户描述任务的地方
在编写UR程序时,我们通常用笛卡尔位姿来描述目标点,例如 p[x, y, z, rx, ry, rz],其中 x、y、z 为末端工具中心点(TCP)的位置,rx、ry、rz 为姿态(UR使用旋转向量表示)。笛卡尔空间是任务描述层,它直观、便于示教,但并不是UR直接执行的空间。
当程序要求TCP沿直线运动(MoveL)或沿圆弧运动(MoveC)时,控制器需要把笛卡尔空间中的路径离散成一系列中间点,再通过逆运动学逐点求解对应的关节角,最后交给关节伺服执行。这个过程带来两个节拍影响:
- 逆解存在多解与奇异点:同一个笛卡尔位姿可能对应多组关节角,控制器需要选择一组连续、可行的解。当路径经过奇异位形(如腕部关节对齐、肘部完全伸展)时,某些关节角速度会急剧增大,导致控制器被迫降速,节拍明显变长。
- 笛卡尔速度与关节速度非线性相关:TCP在笛卡尔空间的速度是各关节角速度通过雅可比矩阵耦合的结果。TCP走同样的直线速度,在不同位形下所需的关节速度可能相差数倍。
三、两个空间的映射关系与节拍瓶颈定位
关节空间与笛卡尔空间通过正运动学与逆运动学相互映射。正运动学由关节角求TCP位姿,是唯一确定的;逆运动学由TCP位姿求关节角,可能多解、可能无解。节拍优化的核心工作之一,就是判断当前程序的瓶颈究竟落在哪个空间。
下面这张图展示了UR从程序指令到关节执行的信号与数据流,以及两个空间之间的映射关系,同时标出了三类典型节拍瓶颈的位置。
四、从运动学特性到节拍判断:一个可操作的检查顺序
面对一段节拍偏长的UR程序,可以按以下顺序定位问题,而不是盲目调速度:
- 观察瓶颈轴:在UR示教器或Polyscope的“运动”信息中,查看各关节速度曲线。若某一关节长期贴近速度上限,说明该段受关节空间约束,优化方向是调整姿态、改变路径,让该关节少转一些。
- 检查奇异区:若轨迹经过腕部关节接近0°或肘部接近完全伸展的位形,逆解会变得敏感,控制器会主动降速。此时应调整路径或工具姿态,绕开奇异区。
- 评估加减速占比:对于短距离、频繁启停的搬运或点胶任务,匀速段可能只占整段的一小部分。此时提高最大速度意义不大,更有效的是减少启停次数、合并路径点,或适当降低加速度以获得更平滑的过渡。
五、示例:同一段直线运动在不同位形下的节拍差异
假设UR5e执行一段长度200mm的直线运动,TCP速度设定为250mm/s。在两种不同起始位形下(示例参数,用于说明趋势,非实测数据):
| 位形 | 瓶颈关节 | 瓶颈关节峰值速度 | 实际耗时 | 原因 |
|---|---|---|---|---|
| 位形A:肘部约90°,腕部远离奇异 | 肩关节 | 约120°/s | 约1.1s | 关节速度未饱和,接近笛卡尔速度设定 |
| 位形B:肘部接近伸展,腕部接近对齐 | 腕部关节 | 接近180°/s上限 | 约1.8s | 逆解敏感,腕关节被迫高速补偿,触发限速 |
同样的直线距离、同样的TCP速度设定,仅因为位形不同,节拍相差约60%。这说明节拍优化不能脱离位形和路径单独谈速度。在实际工程中,应优先把机器人布置在远离奇异、各关节行程均衡的位形下工作,再考虑速度参数的调整。
六、关节空间与笛卡尔空间的选用原则
UR提供了MoveJ(关节运动)和MoveL/MoveC(笛卡尔运动)两种指令。从节拍角度看:
- MoveJ:控制器直接在关节空间规划,不要求TCP走直线,通常能获得更短的节拍,适合大范围转移、回原点、换位等对路径形状无要求的场合。
- MoveL/MoveC:TCP必须沿指定几何路径运动,控制器需要不断做逆解,节拍通常更长,但适合涂胶、焊接、装配等对轨迹形状有严格要求的工艺。
因此,在节拍敏感的程序中,一个实用策略是:把非工艺段改为MoveJ,只保留工艺段使用MoveL/MoveC。这样既保证了工艺质量,又能显著压缩空行程时间。同时,在MoveJ段中,由于不涉及笛卡尔路径约束,控制器可以更充分地利用各关节的速度能力,节拍通常更接近理论最优。
掌握关节空间与笛卡尔空间的运动特性,本质上是在建立一种“节拍归因”的能力:看到节拍偏长时,能判断问题出在哪个空间、哪类约束,从而选择正确的优化手段,而不是停留在反复调整速度百分比的层面。