紧急求助

ros2 foxy 配 ethercat 通信到底用啥方案稳一些啊

huiw82
huiw82
2026/06/24 13:33

项目上现在用的是 ros2 foxy,主站想跑在工控机这边,从站是几个汇川和台达的伺服,EtherCAT 总线。之前一直走的是 canopen,现在换成 EC 有点懵。

看了下网上有直接用 soem 的,也有用 ros2_control + ethercat_driver 的,还有看到 igus 的那种实时核方案。我们这边实时性要求不算特别变态,1ms 周期差不多就行,但跑两三天不能莫名其妙掉线。

有没有实际跑过 foxy + ethercat 的兄弟说说,哪条路子坑少点?或者直接推荐个能用的 driver 包名字也行。

38 3

全部回复 (3)

19368383999
19368383999#1

soem 直接裸用我劝你别碰,1ms 周期跑汇川台达那种带多轴的从站,跑两三天必出幺蛾子,不是丢帧就是 WKC 飘了,排查起来头大。igH 那种打实时核补丁的方案倒是稳,但我们实测下来 foxy 配 PREEMPT_RT 维护成本不低,内核一升级驱动就废,后来干脆弃了。

现在项目上跑的是 ros2_control + ethercat_driver_ros2(不是 ethercat_driver,github 上搜 ethercat_driver_ros2 那个),主站用那个 ethercat_manager 起,PDO 映射自己写 YAML,1ms 周期稳得很,连续跑了快仨月没断过线。汇川 IS620N 和台达 ASDA-A2 都验证过,分布式时钟记得打开,从站同步误差基本在 50us 以内。

有个坑提醒一下:foxy 的 rclcpp 调度和 EC 周期最好分开两个线程跑,别混在一起用同一个 timer,不然高负载时候周期会飘到 1.5ms。另外工控机网卡千万别用 USB 转网口的,之前吃过亏,必须 Intel 原生 PCIE 千兆。

2026/06/24 20:17
胡立新
胡立新#2

几个伺服混品牌?主站别用 soem,换 igh ethercat master,cml 那种。

2026/06/25 09:36
17284309061
17284309061#3

1ms 周期 foxy 直接软跑 soem 别想了,抖动能到几百us。我们这边测过,ixxat 那种实时核插件靠谱点,4万起步。

2026/07/01 19:46