Multiple RTDE connection for different resources #1543
-
| Hi all, I am trying to develop a ROS agnostic C++ interface for different robot brands that handles low-frequency requests (load/play programs, read write signals,...). Right now, I am developing the UR implementation, however, I am stuck on how to handle the Digital outputs/inputs/registries. Indeed, accordingly to the documentation, it is possible to interact with them from an external device through the RTDE client. If I understood correctly, the RTDE client is already created by the ROS2 driver (which I want to maintain, to have a high-frequency command channel) and exchanges with the control box what is defined in the input and output recipes. Accordingly to the RTDE documentation: 
 Does this mean that if I remove from the ROS2 driver recipes all the things related to the Digital input/output/registries, I can have another RTDE client exploiting only those resources? I hope I made myself clear, Cheers, Niccolo | 
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
| Hi, if you remove the inputs from the recipe used by the driver, that will leave the driver partly dysfunctional. Out of my head I would expect that the driver would start up correctly, but setting any robot outputs through the respective ROS services will fail. Since you want to develop a c++ interface, just for the sake of clarity (you probably know that already), I would like to leave a link to our client library, specifically the rtde_client_example. | 
Beta Was this translation helpful? Give feedback.
Yes, definitely. With the restrictions mentioned above. There can only be one RTDE client controlling each input field, so you'll have to "steal" it away from the ROS driver as you've mentioned before. You cannot do that with every input field, but the robot outputs should be fine (actually I just tested it), as I've stated above.