You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
I'm currently using a setup with several drives using the generic CiA402 drive plugin. Each of these drives has an incremental encoder, so homing is an essential procedure during the startup of the robot. This rises two problems: a) I need to change the mode_of_operation while the ros2_ethercat_driver is already running and b) homing requires (at least on the Nanotec PD4-E I'm using) a rising edge of specific bits in the controlword.
I can see two solutions:
By creating a command interface for control_word and mode_of_operation, as homing (at least on the drives I use) requires a change to homing mode followed by a rising edge on a special bit of the control word. This also requires several ROS 2 controllers for several operations, e.g., a special homing controller that can be activated and later deactivated as well as a mode_of_operation controller. From my PoV this is bending it for my specific problem but not a proper ROS 2 control approach.
My preferred solution includes some more logic inside the hardware interface, which would also require some more advanced configuration. Having a Homing interface that can not be claimed when a position (or velocity / effort) interface is claimed and handles the homing procedure in the hardware interface itself. This, combined with a configuration of which mode to choose based on the claimed interfaces, would be great. Do you have any hints on how to properly implement that with the current plugin interface? Is there a community interest in such a solution?
The text was updated successfully, but these errors were encountered:
Hi,
From my perspective, homing operations should be rather handled by a dedicated controller based on the use case, as there are many ways to do it (inside the drive, pure controller, hybrid).
To do what you need, there are 2 options that do not require a dedicated controller :
There is a controller (beta) here that, I think, allows you to do what you want: handle mode-of-operation and control-word
You can use the services provided by the ethercat_manager package to perform drive homing using SDO
Hi,
I'm currently using a setup with several drives using the generic CiA402 drive plugin. Each of these drives has an incremental encoder, so homing is an essential procedure during the startup of the robot. This rises two problems: a) I need to change the mode_of_operation while the ros2_ethercat_driver is already running and b) homing requires (at least on the Nanotec PD4-E I'm using) a rising edge of specific bits in the controlword.
I can see two solutions:
The text was updated successfully, but these errors were encountered: