机器人动态跟随传送带工件,为什么抓点总飘十几毫米?先对齐Profinet位置更新率,别怪跟踪算法
一条锂电电芯搬运线,机器人从匀速皮带把电芯抓起来装进托盘。皮带速度 0.8 米每秒,机器人做输送线跟踪(conveyor tracking),插补周期 2 毫秒。PLC 读编码器算电芯当前位置,经 Profinet RT 下发给机器人,更新周期 16 毫秒。头两个月还行,后来节拍一上去,抓点开始飘,峰值误差到正负 15 毫米,掉件率从几乎为零爬到每天 30 到 50 个,良率从 99.2% 掉到 97.5%,一个月赔十几万。视觉、跟踪算法、标定全查过,没毛病。最后我们把 PLC 的下发周期压到 2 毫秒(改走 IRT),并且同时下发位置和速度,误差立刻掉到正负 2 毫米以内,掉件归零。最坑的是,这问题不分班次、不随温度,纯看皮带速度和 PLC 更新率的配比,所以一开始最容易当成机器人精度不够放过。
先说结论
几个要分清的概念
Profinet RT(Real-Time,实时) 是 Profinet 的软实时档,靠 VLAN 优先级和帧优先级排队,帧尽量先走,但到达时刻仍有抖动,通常是几毫秒到十几毫秒。
Profinet IRT(Isochronous Real-Time,等时实时) 是硬实时档,把通信周期切成等时窗口,非 IRT 流量在窗口内被硬隔离,抖动能压到 1 微秒以内,适合运动控制的确定性同步。
输送线跟踪(Conveyor Tracking) 是机器人一类功能:机器人不按固定点位走,而是实时读取皮带上工件的坐标,边算边走,实现对运动工件的抓取或装配。它内部按自己的插补周期(常见 2 毫秒)不断刷新目标点。
为什么会飘:数据老、数据缺、数据抖
一个常见误解:工程师常先怪机器人跟踪算法不行,或者视觉没拍准。其实算法拿到的输入就是粗且老的位置数据,再好的跟踪也补不回 15 毫米的位置误差。先去量一量"PLC 下发位置"和"机器人实际抓点"的时间差与误差分布,比换算法管用得多。
四套方案怎么选
| 方案 | 成本 | 见效周期 | 适用场景 | 主要权衡 |
|---|---|---|---|---|
| 机器人原生输送线跟踪:编码器直接接机器人测量板(SSI/EnDat/IRT),机器人自己算跟随 | 中(编码器接线加跟踪选项) | 1 到 3 天 | 高速、精度要求高、机器人品牌支持该功能 | 绕过 PLC,PLC 看不到实时位置,需另做安全与合流逻辑 |
| Profinet IRT 等时下发位置加速度,PLC 跑 2 毫秒快速任务 | 高(两端 IRT 硬件) | 2 到 5 天 | PLC 必须留在闭环(合流、排序、安全) | 需 IRT 交换机与重规划,对 PLC 算力要求高 |
| PLC 下发位置加速度,扫描压到 2 到 4 毫秒(RT 也可) | 低到中 | 半天 | 速度中低、节拍宽松 | 仍是 RT 抖动,有残余误差,需适当降速补 |
| 降低皮带速度、加长跟踪窗口、增大容差 | 极低 | 即时 | 临时止血保产 | 牺牲节拍与产能,不治本 |
现场常问的几个问题
问:怎么判断是数据老还是机器人算法差?
答:两招。第一,把机器人切到示教或手动,用已知匀速喂位置,看跟随误差是否稳定;第二,临时把 PLC 更新率拉到最高看误差是否掉。误差随更新率下降而掉,说明是数据问题;掉不下来,才是算法或标定问题。别一上来就换跟踪算法。
问:只发位置不发速度,真的差很多吗?
答:差一个量级。2 毫秒插补、16 毫秒更新,中间 8 个周期全靠外推。匀速下还好,皮带一启停、一加减速,外推立刻偏。发了速度(最好带加速度),机器人做带速前向预测,误差能掉到原来的几分之一。这点改动小、当天就能见效,性价比最高。
问:RT 和 IRT 在这个场景差在哪?
答:RT 是优先级调度,帧尽量先走但到达时刻有抖动;IRT 是时间片硬隔离,到达时刻确定。机器人跟踪窗口很小,RT 的抖动会让它在窗口外才收到新位置,于是判定丢目标、减速等待。IRT 能把抖动压到微秒级,机器人稳定收包,跟踪不中断。
问:编码器直接给机器人,PLC 那边怎么办?
答:PLC 仍管节拍、排序、安全;实时位置让机器人自己算。需要把工件到达抓取区这类事件用硬信号(如光电加 Profinet 事件)通知 PLC,或在机器人侧做完坐标转换后回传结果。两者职责分开,反而更清晰,PLC 不用背实时运算的锅。
问:临时把皮带降速能顶多久?
答:降速能缩小每帧位移,比如从 0.8 米每秒降到 0.3 米每秒,16 毫秒只走 4.8 毫米,误差随之变小,但产能掉了。只当止血用,根因还是更新率与等时性,治好以后再提速。别把降速写进终态方案。
落地清单:先量误差,再动手
推荐阅读