-
Notifications
You must be signed in to change notification settings - Fork 406
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
Service raw_request always returns "could not understand: <request>" (when trying to set payload mass+CoG) #154
Comments
See the documentation for the Dashboard interface. That would be And the docs on script_command. |
Thanks a lot for your quick answer. /ur_hardware_interface/script_command does not appear in rosservice list. Is that normal? |
Yes. Because it's not a service, but a topic. |
Ah, apologies ! Guess I'll close the issue then - thanks a lot for your help ! (P.S. If you know why set_payload() disappeared and if yes, how to get it back I'd very much appreciate as well!) |
See #50. |
Ah, I see - it still is not implemented. Well I'll run a script_command and call ur_hardware_interface/dashboard/play to resume external control (because I just tested that it pauses external control), that should do it. Case closed, thanks! |
I haven't checked, but can't payload functions be invoked from secondary programs? That's the way to run anything (except motion) without interrupting the external control program. |
That would be it, but I don't know how to start secondary program from the ur_robot_driver interface... Do you? Related to the initial issue, I've put together this code which works, for those who end up here looking for a same thing:
|
Well, it's pretty well documented on the UR support page (and in the scripting manuals). See Secondary program fi. |
Summary
ur_robot_driver does not advertise a service set_payload anymore (which existed on ur_driver and ur_modern_driver). In order to set the payload mass (which is mandatory in our case), raw URscript "set_payload(X)" and "set_payload_cog(Y)" have to be sent, and I assume this is done via the /ur_hardware_interface/dashboard/raw_request service. However, this service always returns "could not understand:", regardless of the request (tried: "set_payload(0)", 'print("hello")', "a=force()", "a = 1+1".
Versions
Impact
The robot puts itself in safety when changing tools due to the change in payload mass and CoG. Without a way to send raw URscript commands, the development of our industrial station is stopped while this issue is not resolved (high priority for us).
Use Case and Setup
Project status at point of discovered
Systematic issue easily reproduced.
Steps to Reproduce
Note that set_payload is absent.
Note that the answer is "could not understand" and that the popup did not appear.
Expected Behavior
Actually executing the URscript command sent, for example showing a popup on the pendant.
Actual Behavior
Service successfully called but failed during execution due to a so-called unknown command: "could not understand "
Workaround Suggestion
None. Help?
The text was updated successfully, but these errors were encountered: