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
This has been a problem since before the bouncy release. Coredx seems to know the types of messages that it sees, but when it needs to use that type on the fly it doesn't seem to work. The easiest example of that is with ros2 topic echo. I should be able to do the following and see the messages echoed out.
ros2 run demo_nodes_cpp talker in one terminal
ros2 topic echo chatter in another terminal ros2 topic list -t does seem to correctly show the types, but for some reason we have to specify the when we call ros2 topic echo. ros2 topic echo chatter std_msgs/String`. This works on other middlewares and used to work on coredx.
We experience the same kind of issue with the dynamic bridge. I'm not sure if they're related. If you run ros2 run ros1_bridge dynamic_bridge, it should be able to dynamically bridge topics into ros1 only if a ros1 node is trying to subscribe to them. Instead, nothing gets through. We have to run ros2 run ros1_bridge dynamic_bridge -- --bridge-all-topics in order to get anything across. The problem with using that method, is that we get more traffic than we actually wanted going across the bridge.
The text was updated successfully, but these errors were encountered:
It looks like the test (ros2 topic echo chatter) doesn't wait long enough for discovery to complete. By adding a short delay (I tried 1 second) after creating the node, allowing discovery to complete, it then works as expected.
Because discovery is asynchronous and can be impacted by network speed, network load, number of peers, etc, the test should be written so that it waits until the requested topic is discovered, rather than exiting immediately.
This has been a problem since before the bouncy release. Coredx seems to know the types of messages that it sees, but when it needs to use that type on the fly it doesn't seem to work. The easiest example of that is with
ros2 topic echo
. I should be able to do the following and see the messages echoed out.ros2 run demo_nodes_cpp talker
in one terminalros2 topic echo chatter
in another terminalros2 topic list -t does seem to correctly show the types, but for some reason we have to specify the when we call ros2 topic echo.
ros2 topic echo chatter std_msgs/String`. This works on other middlewares and used to work on coredx.We experience the same kind of issue with the dynamic bridge. I'm not sure if they're related. If you run
ros2 run ros1_bridge dynamic_bridge
, it should be able to dynamically bridge topics into ros1 only if a ros1 node is trying to subscribe to them. Instead, nothing gets through. We have to runros2 run ros1_bridge dynamic_bridge -- --bridge-all-topics
in order to get anything across. The problem with using that method, is that we get more traffic than we actually wanted going across the bridge.The text was updated successfully, but these errors were encountered: