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.
https://github.com/ipa-hsd/action_bridge
Feedbacks and PRs are welcome.
6 Likes
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:
https://github.com/ros2/design/issues/195
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)
2 Likes
@ipa-hsd
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.
thanks
2 Likes
Hello to everyone.
Which is the progress on this issue ?
Can you bridge services and actions ?
I am a little bit confused …
I want to bridge my /locobot/movebase action.
Based on this https://www.youtube.com/watch?v=4uKWhfW3_1s
it should be: ros2 run ros1_bridge action_bridge ros1 move_base_msgs MoveBaseActionGoal /locobot/move_base
but No executable found is the output of the above command.