ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Schunk lwa4p random stops with ros_canopen

asked 2019-09-03 09:47:43 -0600

v5 gravatar image

updated 2019-09-03 10:57:07 -0600

jayess gravatar image


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.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2019-09-05 10:52:08 -0600

Mathias Lüdtke gravatar image

updated 2019-09-11 09:45:36 -0600

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)

edit flag offensive delete link more


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.

v5 gravatar image v5  ( 2019-09-10 08:03:51 -0600 )edit

Normally, a SYNC interval of 10ms work perfectly fine with LWA4, but you might need to increase the TX queue length (

Mathias Lüdtke gravatar image Mathias Lüdtke  ( 2019-09-11 09:48:17 -0600 )edit

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.

v5 gravatar image v5  ( 2019-09-15 04:01:57 -0600 )edit

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.

__zozan__ gravatar image __zozan__  ( 2021-09-05 10:33:37 -0600 )edit

Question Tools


Asked: 2019-09-03 09:47:43 -0600

Seen: 220 times

Last updated: Sep 11 '19