Ethercat for ROS2

Ethercat is a communication protocol with is used to read or send voltages and currents from I/O-modules (hardware). For ethercat hardware to communicate with ROS2, a translation of DDS topics (DDS is the underlying communication protocol of ROS2) to ethercat messages and vice versa is required.

I created a ROS2 wrapper for an ethercat master (SOEM) so that signals are directly available in ROS2. The exchange of data to and from the hardware I/O takes place via DMA (Direct Memory Access) so that high refresh rates can be achieved (1000 Hz). The wrapper “SOEM for ROS2” is open source.

For several Beckhoff modules (hardware from the developers of ethercat) I have created composable nodes (ROS2 construction) so that no more code must be written to get ethercat hardware working. Simply specify the modules used and the ROS2 topics will be generated. This is not part of the open source wrapper.