ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Introducing action_bridge

Hello everyone!

On the eve of recently organized ROS-Industrial EU Spring '19 Workshop on DDS and ROS2 at Fraunhofer IPA, our team presented a short “how-to” on porting ur_modern_driver to ROS2. More interestingly, for the purpose, we had to bridge the actions between ROS1 and ROS2.

We have a proposal for the action_bridge, which currently bridges between ROS1 action client and ROS2 action server.

Feedbacks and PRs are welcome.


Is there a reason for not integrating the functionality into the existing ros1_bridge package which already provides bridging functionality for pub/sub as well as services? It seems that it would be more convenient from a users perspective if only one bridge needs to be started to map all kinds of communication patterns.

Limited time and resources…
For now action_bridge is a proof-of-concept to test the implemented logic without the need for factories, code generation and auto-discovery. Integrating the functionality into ros1_bridge should be the ultimate goal:

Bridging actions is a little bit more complicated.
It involves conversion between topics and services, and translating the ROS1 and ROS2 action goal IDs. We are depending on actionlib and rclcpp_action to ensure the correct behavior, but this approach requires a thread for each goal to wait for the result.
A callback API for rclcpp_action was introduced for dashing, it will simplify the integration and avoid these waiting threads.

1 Like

May I request some opinion here?

as mentioned above, i think that it would be better to integrate into ros1_bridge. because ros1_bridge provides base classes/interfaces to support bi-direction and mapping rules. does anyone have intention to do that ? or any other requirement ?

@ipa-mdl @ipa-hsd
btw, for action_bridge, i did face build issue, could check issue ?

So the ultimate goal is to integrate action_bridge into ROS1_bridge.
(I replied to your build issue)



okay that’s good to know, already targeting that final goal.
and also thanks for the reply, if anything comes up, will share either here or github.