I am learning ros2_control with the real hardware. I need some help writing hardware interface for the current setup. I do not have experience writing on the communication side of the real hardware.

setup: I have Jetson nano, drives, motors, and sensors communicating via EtherCAT and using ros2 foxy and SOEM_ROS2 package. these were installed and running without ros2 control, simply via publisher and subscriber. The whole system controls the x,y,z axis with prismatic joint. It is not a robot. so no end effector. Now, I want to integrate ros2 control with the whole system. I don't know how to get the values from the hardware for the read and write methods of the hardware interface. I appreciate any help you can provide.


1 Answer 1


Have you seen this EtherCAT driver?

  • $\begingroup$ thank you for the answer. I am trying at the moment with the existing packages on the system. In init method i am writing a subscriber and publisher to get the messages from the existing architecture. and I will write the read and write methods from the values that I receive. will see how that goes.!!!! $\endgroup$
    – Hem92j
    Commented Feb 13 at 14:54
  • $\begingroup$ We don't suggest using a node inside the hardware component, that's what the ros2_controllers are for. $\endgroup$ Commented Feb 13 at 18:38
  • $\begingroup$ so I have to write the completely new hardware component ? or is there any other work around? $\endgroup$
    – Hem92j
    Commented Feb 13 at 19:16
  • 1
    $\begingroup$ Have you checked the link above? E.g., here you can see how to configure the EtherCAT plugin for a motor. No need to write your own hardware component if you can use ethercat_driver_ros2 $\endgroup$ Commented Feb 13 at 19:36
  • $\begingroup$ thank you for your suggestions. so I am using ros2 foxy, I will still have to check for compatibility. but that's good starting point to look at. Thank you!!! $\endgroup$
    – Hem92j
    Commented Feb 14 at 7:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.