三、限位参数设置原则
限位参数怎么设?这不是拍脑袋的事。我见过不少新手,上来就把限位拉到最大,觉得这样运动范围广、灵活。结果呢?要么撞机械限位,要么电机过载报警。说白了,限位参数设置背后有三条硬原则:安全裕度、运动学约束、动力学约束。这三条缺一不可。
核心观点:限位不是「能走多远」,而是「安全能走多远」。三条原则共同决定了最终参数。
3.1 安全裕度原则
这条排第一,没得商量。安全裕度,就是在机械硬限位和软件软限位之间,留出一段缓冲区域。为什么要留?因为机器人有惯性,有响应延迟,有控制误差。你想想看,如果软限位和硬限位贴在一起,哪怕超了 1 毫米,就是硬碰硬。
我个人习惯,软限位至少留出 3°~5° 或 5~10 mm 的裕量。具体看关节速度和负载。速度越快、负载越大,裕量就要越大。
| 关节类型 | 典型速度 | 建议安全裕量 | 说明 |
|---|---|---|---|
| 低速关节(<30°/s) | 示教模式 | 2°~3° | 惯性小,可适当缩小 |
| 中速关节(30°~180°/s) | 常规运行 | 3°~5° | 最常见场景 |
| 高速关节(>180°/s) | 快速搬运 | 5°~8° | 惯性大,必须留足 |
⚠️ 我曾经踩过的坑:有一次给六轴机器人设腕关节限位,觉得 2° 裕量够了。结果满载高速运行时,控制周期延迟加上减速器背隙,直接撞了硬限位,把限位块都干变形了。后来我改成 5°,再没出过事。
3.2 运动学约束原则
运动学约束,说白了就是「这个关节能不能走到那个位置」。不是所有角度都能去,有些位置是禁区。
常见的运动学约束有这几类:
- 奇异位形回避:比如腕关节的奇异点,某些角度下关节速度会突变,必须避开。我一般会在奇异点两侧各留 5°~10° 的禁入区。
- 自碰撞避免:相邻连杆不能打架。尤其是肩关节和肘关节,在特定姿态下会互相干涉。这个要靠运动学正解算出来。
- 工作空间边界:有些关节虽然能转到某个角度,但末端已经超出工作空间了。这种限位要结合末端位姿来设。
💡 我的做法:先用运动学模型跑一遍全行程,把奇异点和自碰撞点标出来。然后在这些点的基础上,各加 3° 的缓冲。别信「理论极限」,实际装配误差和磨损会让极限位置偏移。
举个例子,一个典型的六轴机器人,各关节运动学约束限位大概长这样:
| 关节 | 机械硬限位 | 运动学安全限位 | 原因 |
|---|---|---|---|
| J1(基座旋转) | ±180° | ±175° | 避免线缆缠绕 |
| J2(肩关节) | -135°~+135° | -130°~+130° | 避免与基座干涉 |
| J3(肘关节) | -135°~+135° | -125°~+125° | 避免与上臂自碰撞 |
| J4~J6(腕关节) | ±360° | ±350° | 奇异位形回避 |
3.3 动力学约束原则
这条容易被忽略。很多人觉得「只要不撞、不奇异,就能走」。但实际不是这样。关节电机有额定扭矩,减速器有最大承载,惯量匹配也有范围。超出这些,轻则报警停机,重则损坏传动件。
动力学约束主要看三个指标:
- 峰值扭矩限制:关节在极限位置附近加速/减速时,扭矩可能超标。我习惯在仿真里跑一遍最恶劣工况,看扭矩曲线有没有「尖峰」。
- 惯量匹配:负载惯量超过电机允许惯量比时,动态响应会变差,甚至失控。这时候限位要收窄,降低加减速段的速度。
- 减速器寿命:频繁在极限位置启停,减速器冲击载荷大,寿命会缩短。限位留出余量,也能保护减速器。
实际案例:我调过一台码垛机器人,J2 关节在 -120° 附近启停时,减速器温度飙升。后来把限位从 -130° 缩到 -115°,温度降了 15°C,而且节拍只慢了 3%。值不值?太值了。
3.4 三条原则的优先级与综合设置
三条原则不是并列的。优先级很清楚:安全裕度 > 运动学约束 > 动力学约束。
具体设置流程,我一般这么走:
- 先查机械手册,拿到硬限位数据。
- 按安全裕度原则,减去 3°~5° 作为第一版软限位。
- 用运动学模型验证,排除奇异点和自碰撞区域。如果有冲突,进一步收窄。
- 加载实际负载,跑动力学仿真。看扭矩、惯量比是否超标。如果超标,再缩限位或降速度。
- 现场实测,微调。这一步不能省。
💡 一个小技巧:我习惯在参数表里同时保留「理论限位」和「实际限位」两列。理论限位是计算值,实际限位是现场调出来的。对比着看,下次改型时能省不少时间。
最后说一句:限位参数不是设完就不管了。机器人用久了,机械间隙会变大,减速器磨损会加剧。我建议每半年复核一次限位参数,尤其是高速重载的关节。别等到出了事故再改,那时候就晚了。