-
Notifications
You must be signed in to change notification settings - Fork 57
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
Added ROS2 ActionClient w/ limited functionality #125
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all looks great to me -- just a few minor formatting things and I think this V1 support will be a great addition. Thank you!
Hi! I already fixed your suggested minor changes. Thanks. |
Sorry, but I'm not a maintainer of this repo so I can't actually approve your changes. I was just looking because I implemented the rosbridge side of this work. |
Sorry @danmartzla, I forgot to mention that I recently landed a small change to the protocol that allows for cleaner action cancellation. It may require a small change since now the Also @gonzalocasas Would you be able to review this PR? |
I've adapted this minor change to work with the latest rosbridge_suite updates. However, sending a cancelation request from a roslibpy "Action Client" seems not to be working. The "rosbridge_server" debug logs do not report any cancelation request (or any other received message). The JSON message seems to be correct based on the documentation: |
It does look right... I wonder if you need the |
OK. I was totally unaware about this parameter of the "rosbridge_server". I can confirm that it is working well when launching the server this way: I'm adding this as a comment in the example code : https://github.com/danmartzla/roslibpy/blob/13ae184e691f3024c15bcc1e6a3f857c89affb65/docs/files/ros2-action-client.py#L41-L42 |
Awesome, great to hear! There is also an equivalent Not necessary for this example, of course, but just noting. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gonzalocasas this has been around a while and seems to work well. Please consider merging this great contribution.
@danmartzla First of all thank you for such great feature. During the testing we faced the same issue that you had, we are not able to cancel action. We use ROS2 humble and we build rosbridge and roslibpy from the latest sources. @danmartzla @sea-bass Could you please describe your environment? do you use humble or newest version? |
Yes, I’m running the command, so this is strange to me why I can see this issue. ros2 launch rosbridge_server rosbridge_websocket_launch.xml send_action_goals_in_new_thread:=trueI can confirm that without flag I see the warning in the log related to action goals2 лют. 2025 р. о 15:50 Sebastian Castro ***@***.***> пише:
@yuriyfedyuk did you try this?
#125 (comment)
In the latest version of rosbridge you even get a warning in the logger about this, as is included in your question.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
@yuriyfedyuk Asking just in case, but is the action server that you're communicating to via rosbridge capable of handling cancellations? If it is not, then sending a cancel message via rosbridge will do nothing. Have you tried with e.g., this server? |
Thank you, that was the case.
I've used default fibonacci action server, and I wasn't aware that it can't
be cancelled.
Using action server from your link did the trick and action can be
cancelled.
We will continue testing, and looking forward to have it merged
пн, 3 лют. 2025 р. о 06:14 Sebastian Castro ***@***.***> пише:
… @yuriyfedyuk <https://github.com/yuriyfedyuk> Asking just in case, but is
the action server that you're communicating to via rosbridge capable of
handling cancellations? If it is not, then sending a cancel message via
rosbridge will do nothing.
Have you tried with e.g., this server?
https://github.com/ros2/examples/blob/rolling/rclpy/actions/minimal_action_server/examples_rclpy_minimal_action_server/server_single_goal.py
—
Reply to this email directly, view it on GitHub
<#125 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABDCLHXGVWRSUP5O3R4QYBT2N3ULZAVCNFSM6AAAAABKEBJ4JCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMRZHA3DQOBZGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
З повагою,
Юрій Федюк
|
Added the roslibpy.ActionClient object to send actions goals to ROS2-based systems.
This implementation has limited capabilities (related to RobotWebTools/rosbridge_suite#909) such as:
What type of change is this?
Checklist
CHANGELOG.rst
file in theUnreleased
section under the most fitting heading (e.g.Added
,Changed
,Removed
).invoke test
).invoke check
).