ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The dynamic_bridge does not require a publisher on both sides. It requires a publisher on one side and a subscriber on the other.

The reason why rostopic / ros2 topic echo isn't sufficient as a subscriber is described in the first section of the README: https://github.com/ros2/ros1_bridge/blob/master/README.md#bridge-communication-between-ros-1-and-ros-2

The dynamic bridge only bridges topic which are necessary to bridge for efficiency reasons. So it doesn't bridge the published topic until a subscriber is present. echo on the other hand tries to determine the type of the specified topic automatically when invoked without a type. Since the topic doesn't exist yet that fails with the error message:

Could not determine the type for the passed topic

You have multiple options to resolve this:

  • You pass the topic type explicitly: e.g. ros2 topic echo /test std_msgs/msg/Bool
  • You use the --bridge-all-1to2-topics option of the dynamic bridge (if the performance impact is acceptable)
  • You use a different bridge (e.g. the parameter_bridge) to configure the bridged topics explicitly