How can I read ROS2 topics directly from a separate Epromisa DDS program?

asked 2021-07-02 13:28:55 -0600

I'm trying to read a ROS2 topic from another DDS-based program. I have a ROS2 publisher node sending data to a topic. I want to read from that topic in the non-ROS DDS program.

I've already generated the appropriate matching IDL files. But I'm having trouble getting them to run at the same time.

From what I understand I need to launch ROS2 with the FastDDS server explicitly. I tried to do this by using the discovery config file found in the ePromisa docs.

However, I get an error...

ROS2: RROR] [1625247859.663887254] [rcl]: Failed to fini publisher for node: 1 terminate called after throwing an instance of 'rclcpp::exceptions::RCLError' what(): failed to initialize rcl node: rcl node's rmw handle is invalid, at /tmp/binarydeb/ros-foxy-rcl-1.1.11/src/rcl/node.c:428

Does anyone have any thoughts or know where to find a definitive guide to reading ROS2 topics from DDS?

edit retag flag offensive close merge delete