ICube-Robotics / ethercat_driver_ros2

Hardware Interface for EtherCAT module integration with ros2_control
https://icube-robotics.github.io/ethercat_driver_ros2/
Apache License 2.0
126 stars 32 forks source link

Question: Velocity controller for maxon_epos3 #25

Closed omarhogni closed 1 year ago

omarhogni commented 1 year ago

What controller do you use for velocity mode on maxon_epos3?

I am trying to implement a cia 402 compatible VFD but am having issues interfaceing with the exposed hardware interface.

Finding valid controller configurations and examples is not trivial it seems.

mcbed commented 1 year ago

hi @omarhogni, There is currently a non intuitive remapping system for interfaces that will be removed in PR #28 . With these minor changes, you should be able to interface your drive using the velocity_controllers/JointGroupVelocityController and use as ros2_control description:

<ros2_control name="ec_single_axis" type="system">
  <hardware>
    <plugin>ethercat_driver/EthercatDriver</plugin>
    <param name="master_id">0</param>
    <param name="control_frequency">100</param>
  </hardware>

  <joint name="joint_1">
    <state_interface name="position"/>
    <state_interface name="velocity"/>
    <state_interface name="effort"/>
    <command_interface name="position"/>
    <command_interface name="velocity"/>
    <command_interface name="effort"/>
    <ec_module name="Maxon_EPOS3">
      <plugin>ethercat_plugins/Maxon_EPOS3</plugin>
      <param name="alias">0</param>
      <param name="position">0</param>
      <param name="mode_of_operation">9</param>
    </ec_module>
  </joint>

</ros2_control>
omarhogni commented 1 year ago

Thank you. I got i running.