Schunk lwa4p random stops with ros_canopen
Hi,
I am running Schunk lwa4p arm using ros_canopen
and schunk_robots
from ipa320. For the most part, robot works fine (except I am having issues initializing the robot with sync interval lower than 25ms). However, at random times it just puts out the following EMCY
code:
EMCY: 83#128621D633D81848
In most cases, the robot can easily be recovered using /driver/recover
service. Depending on the pose of the robot in which it stopped, sometimes it continues to move normally but sometimes I get the following errors when trying to resume motion:
EMCY: 88#2132257200000000
EMCY: 83#2132257200000000
EMCY: 84#2132257200000000
EMCY: 85#2132257200000000
EMCY: 86#2132257200000000
EMCY: 87#2132257200000000
From this situation, the robot cannot recover, I just get a flood of Did not receive a response message messages and then the following error:
[ERROR] [1567520915.927482791]: CAN not ready; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; RPDO timeout; CAN not ready
At this point, the only thing that worked was restarting the robot completely. Any hints what all these EMCY
codes mean? I guess the latter part has something to do with current, but the first part (EMCY: 83#128621D633D81848
) I don't know what it should represent, let alone why it happens.
Asked by v5 on 2019-09-03 09:47:43 UTC
Answers
EMCY: 83#128621D633D81848
This is error code 8612
(see /diagnostics as well).
Unfortunately, Schunk does not list the error codes in the manual (anymore..).
I quick web search revealed that this code is used by some vendors to indicate that the software limit was reached.
You might want to check these limits. Perhaps you have to calibrate/home the robot again (with the Schunk software). If in doubt, just contact Schunk.
(BTW, 3221
might mean undervoltage error)
Asked by Mathias Lüdtke on 2019-09-05 10:52:08 UTC
Comments
Thanks for the answer, do you have any idea why the arm will not initialize with smaller sync interval? It usually works with 25ms or more, but never with anything lower than that.
Asked by v5 on 2019-09-10 08:03:51 UTC
Normally, a SYNC interval of 10ms work perfectly fine with LWA4, but you might need to increase the TX queue length (https://github.com/ros-industrial/ros_canopen/issues/102)
Asked by Mathias Lüdtke on 2019-09-11 09:48:17 UTC
I am aware of that conversation, it helped a lot. I tried up to 20 TX queue length (for which the discussion seems to go in direction of being enough) but I can try even higher. Thanks for the help! I still haven't found the time to check the limits on our arm, once I confirm the limits are the issue I will mark the question as answered.
Asked by v5 on 2019-09-15 04:01:57 UTC
I'm having the same issue. I'm trying to use ros control and ros canopen for controlling schunk lwa4p with ros noetic. However, after configuring txqueuelen to 20, I'm still not able to get SYNC
interval below interval_ms: 25
. When using times less than 25 ms, I'm getting following error: 0x8110=CAN overrun (objects lost)
which says. It would be great if someone knows how to solve this.
You can find schunk error codes here and here. And 8612
is a reference limit error.
Asked by __zozan__ on 2021-09-05 10:33:37 UTC
Comments