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

Schunk_lwa4d problem initialising with ros_canopen

asked 2018-04-23 09:52:13 -0500

Manolis Chiou gravatar image

updated 2018-04-30 10:26:06 -0500

Hi,

Edit: I also opened issue 276 in ros_canopen github.

I am trying to use a schunk_lwa4d arm with an esd CAN-USB/2 in ROS but I have issues initializing it. I am using this launch file in the shunck_lwa4p package from schunk_robots.

First I do:

sudo modprobe esd_usb2
sudo ip link set can0 up type can bitrate 500000
sudo ip link set can0 txqueuelen 20

and then I run the above launch file and try to initialise with rosservice call /arm/driver/init. In the terminal I executed the rosservice I get:

success: False
message: "could not reset node '3'"

In the terminal I executed the ros launch I get:

[ INFO] [1524494867.079043073]: Using fixed control period: 0.010000000
[ INFO] [1524494871.222930279]: Initializing XXX
[ INFO] [1524494871.223441822]: Current state: 1 device error: system:0 internal_error: 0 (OK)
[ INFO] [1524494871.223800403]: Current state: 2 device error: system:0 internal_error: 0 (OK) error: 136
[ INFO] [1524494871.224968675]: Current state: 2 device error: system:0 internal_error: 136 (protocol violations;)
[ INFO] [1524494871.225023587]: Current state: 1 device error: system:0 internal_error: 136 (protocol violations;) ID: 136
[ERROR] [1524494871.234310747]: CAN not ready
[ INFO] [1524494871.899096913]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
[ INFO] [1524494876.910831528]: waitForService: Service [/arm/controller_manager/load_controller] has not been advertised, waiting...
[ INFO] [1524494881.225471058]: Current state: 1 device error: system:125 internal_error: 136 (protocol violations;)
[ INFO] [1524494881.225579044]: Current state: 0 device error: system:125 internal_error: 136 (protocol violations;)
[ INFO] [1524494881.225706891]: Current state: 0 device error: system:0 internal_error: 136 (protocol violations;)
[ INFO] [1524494881.225850755]: Current state: 0 device error: system:0 internal_error: 136 (protocol violations;)
[ INFO] [1524494881.917377871]: waitForService: Service [/arm/controller_manager/load_controller] has not been 
advertised, waiting...

Any ideas?


Edit: thanks for you reply Mathias,

The problem was solved. The modules were not in CANopen. Using the widows tools from Schunk I had to reset the arm back to Canopen. Now it works in ROS.

edit retag flag offensive close merge delete

Comments

If you can move/manage the modules with the Schunk tool, then they are not in CANopen 402 mode. You have to solve this python issue and set the modules to the proper mode.

Mathias Lüdtke gravatar image Mathias Lüdtke  ( 2018-04-30 09:24:26 -0500 )edit

Hello, Mr. Chiou. I am using the same configurations. I am getting exactly the same problem. Can you give me some advice how to solve that please ?

k5519995 gravatar image k5519995  ( 2019-03-25 05:23:03 -0500 )edit

Hi,

As I say above the modules were not in CANopen. Using the widows tools from Schunk I had to reset the arm back to Canopen.

Manolis Chiou gravatar image Manolis Chiou  ( 2019-05-07 07:11:56 -0500 )edit

Hi Manolis Chiou, I have the same issue and read your comment, but I didn't understand what you are saying. Could you elaborate a bit more and explain it. Also if you have any reference or steps required in controlling the Schunk LWA 4d hardware using esd CAN-USB/2, please provide it.

Thank you

sridharsidhu0801 gravatar image sridharsidhu0801  ( 2021-04-13 01:36:21 -0500 )edit

I get the problem:

 Initializing failed: Transition timeout; Could not enable motor

using the esd CAN-USB2 card, does anyone know how to solve this problem?

stann gravatar image stann  ( 2021-04-25 20:05:40 -0500 )edit

1 Answer

Sort by » oldest newest most voted
2

answered 2018-04-25 09:01:20 -0500

Mathias Lüdtke gravatar image

updated 2018-04-30 09:39:44 -0500

The schunk_lwa4d package reflects the (special?) configuration that was used with Care-O-bot 4. As the init service error implies node 3 could not be reached.

This might have several reasons:

  • There is no node 3. Module IDs can be set freely. The Care-O-bot convention for LWA4d is 3-9.
  • Your bitrate is not correct. (Not sure if 500k or 1M is the default)
  • Your modules are not in CANopen 402 mode.

You can check/set these things with the software tools provided by Schunk.

The node IDs can also read with candump: Just start candump can0 before powering on. While boot-up the devices should send messages with IDs 0x700 + node ID (hex!)

edit flag offensive delete link more

Comments

Indeed the problem was that the modules were not in CANopen.

Manolis Chiou gravatar image Manolis Chiou  ( 2018-04-30 10:22:51 -0500 )edit

I am not an expert in using driver packages and CAN USB. I am having the same issue and stuck with this problem. I read various material, and sources to figure it out but having difficulty in solving this issue. Could you explain how to solve it or provide some reference which explains how to solve it and control the hardware?

sridharsidhu0801 gravatar image sridharsidhu0801  ( 2021-04-13 04:44:10 -0500 )edit

Question Tools

3 followers

Stats

Asked: 2018-04-23 09:52:13 -0500

Seen: 888 times

Last updated: Apr 30 '18