Gatorcat: EtherCAT on Zenoh / ROS

I have been developing an open-source EtherCAT maindevice and it might be interesting to ROS folks.

Here is a summary of its capabilities:

  • Available as a single statically linked binary or docker image for linux and windows.
  • Automatically scan and operate an ethercat network with zero configuration required.
  • Optionally provide a config file that describes the contents of the ethercat network to validate against.
  • CoE startup parameters via the config file.
  • Publishes ethercat inputs on zenoh. (CBOR encoded)
  • Subscribes on zenoh (CBOR encoded) for controlling ethercat outputs.
  • Written in zig (also available as a zig module).
  • Optionally specify a real-time priority (PREEMPT_RT)
  • CLI utility for scanning, running, and debugging ethercat networks.

Notably missing features (coming soon!):

  • distributed clocks.
  • enhanced NIC performance using linux XDP (currently uses raw sockets).

ROS folks may be using a lot of distributed clocks for motor drives, I have not tested it extensively with motor drives. It is well suited for digital / analog output/input modules right now.

3 Likes