currently, the ethercat driver handles prefixes for joints and permits dual hand in the same realtime loop which is nice for bimanual control loops.
however the choices made in the namings of topics, parameters, services are not ideal for all the tools (gui) and are even more complex to handle if the driver is used in a namespace. here are a few detailled points :
/hand/mapping/ contains the joint prefix. This is nice for joint_names but is not always used with the same prefix_xxjy naming convention cal_sh_rh_ffj0/actuator but rh/ffj0/pid which should be rh_ffj0/pid then all the software use the same joint_name convention
some data are merged, like joint_states (generated in via the single loop and ros_control), and have no prefix or namespace info, but some are not merged, like tactile data and are then on /lh/tactile would be nice to have the possibility to merge it as well (message might need rework to contain an indication of the finger (with prefix then) )
some services use the prefix in the middle of the topic like realtime_loop/rh/reset_motor_FFJ0
instead of an awaited realtime_loop/reset_motor_rh_ffj0 (prefix + lowercase in the joint_name)
currently, the ethercat driver handles prefixes for joints and permits dual hand in the same realtime loop which is nice for bimanual control loops.
however the choices made in the namings of topics, parameters, services are not ideal for all the tools (gui) and are even more complex to handle if the driver is used in a namespace. here are a few detailled points :