Closed NamanMo97 closed 1 year ago
Hi! I never worked with ethercat and ros2, but as written in its readme it is designed for ros2_control -> there has to be a way to get that running and I don't think its an issue of the demo in this repository. But maybe @mcbed can give you an answer here.
Hello @christophfroehlich
I have managed to fix the previous problems and after some modifications in ros2_control description file, I'm able now to run the ethercat master and its ethercat drivers as plugins in the ros2_control.xacro file of the related launch file in the ros2_control_demos package (rrbot_modular_actuators.launch.py), so now I have a connection between ros2_control, ros2_controllers (I added gpio_command_controller to the ros2_controllers package), ros2_control_demos and ethercat_driver_ros2. I can write digital input on the driver using ethercat driver as a plugin (Beckhoff_EL2124), but still didn't figure out how to send position or velocity commands to the driver.
I want to ask you if you have used the ros2_control_demos package to have an implementation of ros2_control on a real robot?
Hi @NamanMo97,
As you probably already did, you need to add to the ros2_control
urdf description the ec_module that you want to use for each joint/gpio component using:
<joint name="myJoint">
<command_interface name="xxx"/>
<state_interface name="xxx"/>
<ec_module name="ECModule">
<plugin>ethercat_plugins/ECModule</plugin>
<param name="alias">xx</param>
<param name="position">xx</param>
</ec_module>
</joint>
I would need some more info about your setup to help you out setting it up. I suggest we move this topic to the ethercat_driver_ros2 repo.
I want to ask you if you have used the ros2_control_demos package to have an implementation of ros2_control on a real robot?
What do you mean exactly? Yes, I used these hardware interfaces as templates for a real robot.
I want to ask you if you have used the ros2_control_demos package to have an implementation of ros2_control on a real robot?
What do you mean exactly? Yes, I used these hardware interfaces as templates for a real robot.
Same for us, new ros2_control
hardware integration mostly starts from this repo.
@christophfroehlich @mcbed For my question I just wanted to check if I'm starting my integration correctly. I will move this topic to the ethercat_driver_ros2 repo with more details as @mcbed suggested.
Ok. I'll close this here, feel free to reopen if something related to this repo comes up.
I am trying to find a way to have a connection between ros2_control and ethercat_driver. the master is Activated but still get the error even when defining the ec_module as a plugin, the module is uploaded but still got the same error I defined the ethercat driver as a plugin in a new description file which is system_description.ros2_control.xacro and called it from the main rrbot_system_multi_interface.urdf.xacro description file, what I am trying to do is to make a description file with ethercat driver and ethercat module plugins in order to be launched from the rrbot_system_multi_interface.launch.py in the demos package, is there any specified informations about how to use ros2_control with ethercat_driver? here are the error I get and the decription files and the launch file that I am using:
Errors:
rrbot_system_multi_interface.urdf.xacro
system_description.ros2_control.xacro
rrbot_system_multi_interface.launch.py