abb_robot_driver
abb_robot_driver copied to clipboard
/rws/start_rapid fails on my CRB15000
When calling the /rws/start_rapid on a CRB15000 cobot, I get the following error:
result_code: 0
message: "\"Service failed (e.g. timeout or resource not found, see the DEBUG log for details)\""
Here's the DEBUG log:
'[DEBUG] [1673206626.869123179] [/crb15000/rws_service_provider] Accepted connection on socket [7], new socket [12]'
'[DEBUG] [1673206626.869867711] [/crb15000/rws_service_provider] Adding tcp socket [12] to pollset'
'[DEBUG] [1673206626.869944723] [/crb15000/rws_service_provider] TCPROS received a connection from [...]'
'[DEBUG] [1673206626.870029843] [/crb15000/rws_service_provider] Async socket[12] is connected'
'[DEBUG] [1673206626.870100275] [/crb15000/rws_service_provider] Connection: Creating ServiceClientLink for service [/crb15000/rws/start_rapid] connected to [callerid=[/rosservice] address=[TCPROS connection on port 53067 to [... on socket 12]]]'
'[DEBUG] [1673206626.870137619] [/crb15000/rws_service_provider] Service client [/rosservice] wants service [/crb15000/rws/start_rapid] with md5sum [*]'
'[DEBUG] [1673206626.870477667] [/crb15000/rws_service_provider] Socket [12] received 0/4 bytes, closing'
'[DEBUG] [1673206626.870579681] [/crb15000/rws_service_provider] TCP socket [12] closed'
'[DEBUG] [1673206626.870612630] [/crb15000/rws_service_provider] Connection::drop(0)'
'[DEBUG] [1673206626.870641005] [/crb15000/rws_service_provider] Connection::drop(2)'
'[DEBUG] [1673206626.870675338] [/crb15000/rws_service_provider] getsockopt failed on socket [-1]'
'[DEBUG] [1673206626.870722135] [/crb15000/rws_service_provider] Socket -1 closed with (ERR|HUP|NVAL) events 8193: Unknown error -1'
'[DEBUG] [1673206626.870824638] [/crb15000/rws_service_provider] Connection::drop(2)'
'[DEBUG] [1673206627.052316901] [/crb15000/rws_service_provider] Accepted connection on socket [7], new socket [12]'
'[DEBUG] [1673206627.053121223] [/crb15000/rws_service_provider] Adding tcp socket [12] to pollset'
'[DEBUG] [1673206627.053199905] [/crb15000/rws_service_provider] TCPROS received a connection from [...]'
'[DEBUG] [1673206627.053260766] [/crb15000/rws_service_provider] Async socket[12] is connected'
'[DEBUG] [1673206627.053312897] [/crb15000/rws_service_provider] Connection: Creating ServiceClientLink for service [/crb15000/rws/start_rapid] connected to [callerid=[/rosservice_627581_1673206626883] address=[TCPROS connection on port 53067 to [... on socket 12]]]'
'[DEBUG] [1673206627.053344438] [/crb15000/rws_service_provider] Service client [/rosservice_627581_1673206626883] wants service [/crb15000/rws/start_rapid] with md5sum [aab0cc4b756aaf08eb67ad6459b36b27]'
'[DEBUG] [1673206627.107315946] [/crb15000/rws_service_provider] HTTP response status not accepted'
'[DEBUG] [1673206627.107415471] [/crb15000/rws_service_provider] Connection::drop(2)'
'[DEBUG] [1673206627.107478347] [/crb15000/rws_service_provider] TCP socket [12] closed'
'[DEBUG] [1673206627.107500623] [/crb15000/rws_service_provider] Connection::drop(0)'
'[DEBUG] [1673206627.107525126] [/crb15000/rws_service_provider] Connection::drop(2)'
'[DEBUG] [1673206627.207669337] [/crb15000/rws_service_provider] Connection::drop(2)'
On another ABB arm (not a cobot), the service works just fine. Both robot arms have the OmniCore controller.
The CRB15000 requires RWS2 which is not compatible with this driver.
I am using it with RWS2 on the other robot arm as well (it has an Omnicore controller). To do that, I am using the following combination of packages:
- git:
local-name: abb_libegm
uri: https://github.com/ros-industrial/abb_libegm.git
version: e0b8c3b0
- git:
local-name: abb_librws
uri: https://github.com/herrvonregen/abb_librws.git
version: rws2_port_formated
- git:
local-name: abb_egm_rws_managers
uri: https://github.com/herrvonregen/abb_egm_rws_managers.git
version: develop
- git:
local-name: abb_robot_driver
uri: https://github.com/herrvonregen/abb_robot_driver.git
version: add_omnicore_support`
The updated state machine is also available here:
https://github.com/ITI-THM/statemachine_add_in_rw7
Both arms have an Omnicore controller. But the RAPID restarting service does not work on the CRB15000 cobot.
Sorry @Amin173 but I don't think that you will be able to get support for someone else's code in this repository. You can either ask the original author of the code that you are using (given they have disabled issues, I am guessing that will not go very well) or you can try to solve the problem yourself.
In general, RWS2.0 requires mastership for performing /rw/rapid/execution/start
and /rw/rapid/execution/stop
, and I would suggest you look into that for debugging.
https://developercenter.robotstudio.com/api/RWS?urls.primaryName=RAPID%20Service
The GoFa has additional safety features that the IRBs do not have, as it is meant to work outside a cage, so permissions for performing start/stop might need to be adjusted for the Default User.
Thanks for you reply @progtologist. I understand these are forked repositories, but I wanted to see if anyone has some insight on the issue or had a similar issue before. I'll look into to the items you mentioned and post an update here if I can solve it. Thanks!
I also would like to use the ABB GoFa CRB1500 with the hardware_interface. Is available an hardware interface to use it combined with ROS Control? I would like to create a PD controller within the ROS control framework, but it misses the HW interface.
Hi @SteMuc, I leave hereafter our repo that does exactly what you are looking for both for Gofa and Yumi Single Arm: https://github.com/MerlinLaboratory/abb_wrapper
Let me know what you think if you are going to use it.
Cheers