-
Notifications
You must be signed in to change notification settings - Fork 61
Added ROS2 ActionClient support #125
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
Conversation
sea-bass
left a comment
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. |
sea-bass
left a comment
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:
***@***.***>
--
З повагою,
Юрій Федюк
|
|
Hi all, It has been quite a while since I first opened this PR. Is it possible that the owner has abandoned this repo? |
|
I'm looking into this as well and sent a message to @gonzalocasas to make him aware of this PR. :) |
Sorry the massive delay, the repo is definitely not abandoned, I just had a lot on my plate for a while. Will review and we can probably merge very soon |
Bump. This issue was raised again 3 weeks ago on the |
|
@gonzalocasas Bump again! If you need any support on this, I have some time I can contribute. |
|
Hi @gonzalocasas, pinging again. I really appreciate your work maintaining this library, but without ROS 2 Action support it's pretty limited. Even ROS# has Actions support now. @bjsowa @sea-bass If this repository is stuck, how would you feel about forking into RobotWebTools to cohabitate with rosbridge and roslibjs? |
I think moving this to the RWT organization would be a great idea. That said, forking the repo would unfortunately lose the history of PRs and issues, which isn't ideal. A better option would be to transfer the repository-assuming @gonzalocasas is open to it. Also, I’m not yet a member of the RobotWebTools organization-would appreciate an invite! |
|
If a transfer to the RWT org would be a possibility, I'd be totally up for it! |
|
This plan sounds like a great idea! @MatthijsBurgh would you have the power to transfer the repo and add @bjsowa (who has been maintaining rosbridge and web_video_server) as an org member? |
|
Which repo? As this is a PR from one repo to another one? I have added @bjsowa to the organization. The teams are a mess, so we might need to update them later on. |
This one, not the fork. To transfer a repository to an organization, you need admin access to the repo and ability to create repositories in the organization. The easiest way would be probably to add @gonzalocasas to the organization and let them handle the transfer. |
|
To what repos does @gonzalocasas need access to on top of the permissions to migrate the repo? |
For the transfer just the "Create repository" permission is needed. |
|
Is enabled for now |
|
@gonzalocasas You have been invited to the RobotWebTools organization. Please accept the invitation and migrate the repository |
|
Done! |
|
Oh hey, my approval counts now! EDIT: It seems like the changelog verification PR needs a repo secret transfered over for auth to work properly... or rather, we should make a new one. |
|
Thanks y'all! Glad we could get this across the finish line! |
|
Are there any plans to issue a new release that includes this change? Looks like the latest release is from January. |
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.rstfile in theUnreleasedsection under the most fitting heading (e.g.Added,Changed,Removed).invoke test).invoke check).