How do I use ROS Ethernet/IP Library?

asked 2020-06-17 11:44:42 -0500

demorise gravatar image

updated 2020-06-17 11:44:59 -0500

Can anyone point me to a documentation or example code using the odva_ethernetip library found here? Thanks

edit retag flag offensive close merge delete


That package is unfortunately not very well documented. It was made open-source, but it's not maintained by the original authors.

Note also: that package by itself does not provide any ROS integration, it's a ROS-agnostic implementation of (part of) the EtherNet/IP specification.

There are various alternatives, among which is swri-robotics/eip_bridge. I haven't used it recently, but I know it has worked for me (and others) in the recent past.

gvdhoorn gravatar image gvdhoorn  ( 2020-06-17 15:29:07 -0500 )edit

I've used odva_ethernetip in the past - but as far as I know there are no public examples.

fergs gravatar image fergs  ( 2020-06-18 00:51:58 -0500 )edit

ros-drivers/omron uses it.

How do I use ROS Ethernet/IP Library?

@demorise: just to clarify: odva_ethernetip is just one of the libraries which you could use to communicate over EtherNet/IP from ROS nodes. It's not the library or endorsed as the library necesssarily.

Reason I mention this is because you might be limiting yourself to odva_ethernetip and there would be no need.

gvdhoorn gravatar image gvdhoorn  ( 2020-06-18 01:12:45 -0500 )edit

Thanks. I eventually figured out how to use Modbus to achieve my goal instead. I am able to use PyModbus to read registers and coils from my robot controller, so I will create subscribers and publishers so I can use it with my C++ node.

demorise gravatar image demorise  ( 2020-06-18 08:10:45 -0500 )edit

Even better, I discovered Libmodbus and I have successfully used it directly in my C++ node.

demorise gravatar image demorise  ( 2020-06-18 17:59:42 -0500 )edit