Explanation to ROS2 python library
I have already asked multiple times the solution to exchange DDS messages between a node in ROS2 and a non-ROS machine. The best answer I so far got is to use the ROS2 python libraries and implement them in the non-ROS machine. Does anyone have an idea how to proceed with this. Let us say that the publisher is in ROS2 and the subscriber is on the non-ROS machine. I cannot imagine the physical connection.
A general conection scenario (Not related to my use case) Like if we use CAN, we are connecting to machines using a physical wire and then the communication takes place using CAN protocol. If we use a TCP/IP or UDP connection, then we provide the IP address of the machines and the port number.
In my case, I am somehow not clear in my head that how would the conneciton take place between the ROS2 publisher and to be subscriber on a non-ROS machine.
Could anyone be so kind and explain me this phenomenon.
Also, are these the correct libraries to be used ? Could anyone provide a small example using them ? An algorithm would also work.
Is there a reason to the second machine not running ROS?
yes, because we need only a ROS interface in our tool i.e. exchange messages between our simulation tool and ROS2. Not every user needs to install ROS2 for this purpose.
@aks is there any update from you? I am also considering to interact with ROS2 Node in a NON-ROS application.
@pheilip yes...i did it via the RTI libraries. Although i did this around 3 years ago but you can have a look at the RTI python connector : here
@aks What I know about the DDS, the different DDS Implementation has also problem with other DDS implementations. For example, the eProsima, which is default middleware for ROS2 does not support the pub/sub commnication with the RTI. Which kind of DDS implementation have you used on ROS2? RTI or eProsima, or others?
Thank you
I used RTI
yes, clear, RTI --> RTI has no limit
Thank you
@aks hello aks, I did checked the RTI connext connector, but I have still some problems with the interfacing through DDS and ROS2, i am not sure if I have correctly defined my xml file for the interface. Could you send me a some example, that you did before, If you can really find it. Thank you.