-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define how actions will be transmitted across the ROS 1 bridge #195
Comments
Why not use a timeout when submitting the goal to the ROS 1 action server? Submit the goal to the ROS 1 server before accepting it on the ROS 2 side, and if the server never responds before the timeout then the bridge can respond to the ROS 2 client appropriately.
This is an easy problem to solve, isn't it? Look for a set of topics, and when all are available the server/client is up and running. Perhaps add a timeout so if a server partially starts or something that won't stall things.
Can the bridge look for matching pairs?
|
We have a proposal for action_bridge. It currently supports forwarding goals from ROS1 action client to ROS2 action server. Please see the discussion here: https://discourse.ros.org/t/introducing-action-bridge/9103/3 |
@ipa-hsd What is the progress on this specific issue? Is it possible to use ros1_bridge for actions? |
@ravijo the CI fails because a ROS1 dependency could not be found ros2/ros1_bridge#256 (comment). Since it's a ROS2 package, I am not sure how to specify ROS1 deps. A cheap hack that worked, but not recommended is ros2/ros1_bridge#256 (comment) But otherwise yes, ros2/ros1_bridge#256 works for actions now. Please test it if it works for your use-case. |
@ipa-hsd Thanks for the update. I tested it and it works like a charm. There was a warning about unused parameters, which I ignored. For reference, I am sharing the complete logs below:
|
great to hear that! :) |
In #193 there is no description of how actions would be transmitted across the ROS 1 bridge. This section should be written and included in the design document.
Some content was written, but then deleted after feedback found a lot of issues.
Deleted content for `Bridging between ROS 1 and ROS 2`
One issue is it has the bridge always accepting goals from ROS 2 action clients before contacting the ROS 1 action server, but that hides what's happening on the ROS 1 action server from ROS 2 introspection tools. Another issue is it "detects" a ROS 1 action server or client using only a single topic, but servers or clients aren't actually functional until all topics are in use. Yet another issue is it always creates an action server if there is an action client on one side, which makes it seem like there is an action server available when there isn't.
Since the section was written goal ids where changed back to being generated by the client, so there may not be a reason to prevent feedback from ROS 2 goals being transmitted to ROS 2.
The text was updated successfully, but these errors were encountered: