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

"Node has emergency error" : Issue on Lwa4D

asked 2017-03-31 11:46:29 -0500

NikMavr gravatar image

Hello,

I try to set up a Schunk Lwa4d with PG70 gripper, using:

H/W:

  • Schunk Lwa4d
  • Schunk Pg70 gripper
  • Peak CAN-USB interface device

S/W:

  • Ubuntu 14.04 (Kernel 4.4.0-31-generic)
  • ROS Indigo
  • schunk_modular_robotics , schunk_robots packages
  • ros_canopen

I manage to initialize the arm driver successfully. After launching the dashboard, I try to execute one of the available actions (home, wave etc), but I get a jitter-like noise from my motors, followed by a "Node has emergency error" error.

schunk@schunk-CS-B:~$ roslaunch schunk_lwa4d robot.launch 
... logging to /home/schunk/.ros/log/987657f0-162c-11e7-bac4-40167ea4b96c/roslaunch-schunk-CS-B-30697.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://schunk-CS-B:43046/

SUMMARY
========

CLEAR PARAMETERS
 * /arm/driver/


PARAMETERS

 * /arm/arm_1_joint_position_controller/joint: arm_1_joint
 * /arm/arm_1_joint_position_controller/required_drive_mode: 1
 * /arm/arm_1_joint_position_controller/type: position_control...
 * /arm/arm_1_joint_velocity_controller/joint: arm_1_joint
  * /arm/arm_1_joint_velocity_controller/required_drive_mode: 2
  * /arm/arm_1_joint_velocity_controller/type: velocity_control...
  * /arm/arm_2_joint_position_controller/joint: arm_2_joint
  * /arm/arm_2_joint_position_controller/required_drive_mode: 1
  * /arm/arm_2_joint_position_controller/type: position_controll...
  * /arm/arm_2_joint_velocity_controller/joint: arm_2_joint
  * /arm/arm_2_joint_velocity_controller/required_drive_mode: 2
  * /arm/arm_2_joint_velocity_controller/type: velocity_controll...
  * /arm/arm_3_joint_position_controller/joint: arm_3_joint
  * /arm/arm_3_joint_position_controller/required_drive_mode: 1
  * /arm/arm_3_joint_position_controller/type: position_controll...
  * /arm/arm_3_joint_velocity_controller/joint: arm_3_joint
  * /arm/arm_3_joint_velocity_controller/required_drive_mode: 2
  * /arm/arm_3_joint_velocity_controller/type: velocity_controll...
  * /arm/arm_4_joint_position_controller/joint: arm_4_joint
  * /arm/arm_4_joint_position_controller/required_drive_mode: 1
  * /arm/arm_4_joint_position_controller/type: position_controll...
  * /arm/arm_4_joint_velocity_controller/joint: arm_4_joint
  * /arm/arm_4_joint_velocity_controller/required_drive_mode: 2
  * /arm/arm_4_joint_velocity_controller/type: velocity_controll...
  * /arm/arm_5_joint_position_controller/joint: arm_5_joint
  * /arm/arm_5_joint_position_controller/required_drive_mode: 1
  * /arm/arm_5_joint_position_controller/type: position_controll...
  * /arm/arm_5_joint_velocity_controller/joint: arm_5_joint
  * /arm/arm_5_joint_velocity_controller/required_drive_mode: 2
  * /arm/arm_5_joint_velocity_controller/type: velocity_controll...
  * /arm/arm_6_joint_position_controller/joint: arm_6_joint
  * /arm/arm_6_joint_position_controller/required_drive_mode: 1
  * /arm/arm_6_joint_position_controller/type: position_controll...
  * /arm/arm_6_joint_velocity_controller/joint: arm_6_joint
  * /arm/arm_6_joint_velocity_controller/required_drive_mode: 2
  * /arm/arm_6_joint_velocity_controller/type: velocity_controll...
  * /arm/arm_7_joint_position_controller/joint: arm_7_joint
  * /arm/arm_7_joint_position_controller/required_drive_mode: 1
  * /arm/arm_7_joint_position_controller/type: position_controll...
  * /arm/arm_7_joint_velocity_controller/joint: arm_7_joint
  * /arm/arm_7_joint_velocity_controller/required_drive_mode: 2
  * /arm/arm_7_joint_velocity_controller/type: velocity_controll...
  * /arm/driver/bus/device: can0
  * /arm/driver/defaults/eds_file: config/Schunk_0_6...
  * /arm/driver/defaults/eds_pkg: schunk_lwa4d
  * /arm/driver/defaults/vel_to_device: rad2deg(vel)*250
  * /arm/driver/name: arm
  * /arm/driver/nodes/arm_1_joint/id: 3
  * /arm/driver/nodes/arm_2_joint/id: 4
  * /arm/driver/nodes/arm_3_joint/id: 5
  * /arm/driver/nodes/arm_4_joint/id: 6
  * /arm/driver/nodes/arm_5_joint/id: 7
  * /arm/driver/nodes/arm_6_joint/id: 8
  * /arm/driver/nodes/arm_7_joint/id: 9
  * /arm/driver/sync/interval_ms: 10
  * /arm/driver/sync/overflow: 0
  * /arm/joint_group_interpol_position_controller/joints: ['arm_1_joint', '...
  * /arm/joint_group_interpol_position_controller/required_drive_mode: 7
  * /arm/joint_group_interpol_position_controller/type: position_controll...
  * /arm/joint_group_position_controller/joints: ['arm_1_joint', '...
  * /arm/joint_group_position_controller/required_drive_mode: 1
  * /arm/joint_group_position_controller/type: position_controll...
  * /arm/joint_group_velocity_controller/joints: ['arm_1_joint', '...
  * /arm/joint_group_velocity_controller/required_drive_mode: 2
  * /arm/joint_group_velocity_controller/type: velocity_controll...
  * /arm/joint_limits/arm_1_joint/has_acceleration_limits: False
  * /arm/joint_limits/arm_1_joint/has_effort_limits: False
  * /arm/joint_limits/arm_1_joint/has_jerk_limits: False
  * /arm/joint_limits/arm_1_joint/has_velocity_limits: False
  * /arm/joint_limits/arm_1_joint/max_acceleration: 0.4
  * /arm/joint_limits/arm_1_joint/max_effort: 5.0
  * /arm/joint_limits/arm_1_joint/max_jerk: 100.0
  * /arm/joint_limits/arm_1_joint/max_velocity: 0.4
  * /arm/joint_limits/arm_2_joint/has_acceleration_limits: False
  * /arm/joint_limits/arm_2_joint/has_effort_limits: False
  * /arm/joint_limits/arm_2_joint/has_jerk_limits: False
  * /arm/joint_limits/arm_2_joint/has_velocity_limits: False
  * /arm/joint_limits/arm_2_joint/max_acceleration: 0.4
  * /arm/joint_limits/arm_2_joint/max_effort: 5.0
  * /arm/joint_limits/arm_2_joint/max_jerk: 100.0
  * /arm/joint_limits/arm_2_joint/max_velocity: 0 ...
(more)
edit retag flag offensive close merge delete

Comments

The actual errrors should be listed in /diagnostics. If you launch with --screen you should get the errors printed to stdout as well. (requires v0.6.6 or newer). Instead of using the dashboard, you should try the contoller manager plugin for rqt.

Mathias Lüdtke gravatar image Mathias Lüdtke  ( 2017-04-01 06:03:53 -0500 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2017-05-11 06:36:15 -0500

NikMavr gravatar image

I was finally able to solve my problem. After taking a look at the /diagnostics topic and executing candump can0, I realized that the robot was outputting CANopen EMCY codes that indicated an issue with the motor current. Even though the wiring I initially used to connect the robot to the power supply complied with the LWA4D voltage and current specifications, I changed it and used thicker wires, and now the robot moves normally.

edit flag offensive delete link more

Comments

Thanks for finding this! Do you remember what the specific error code was, and if there was any other info in the emcy message?

ReedHedges gravatar image ReedHedges  ( 2017-05-15 13:45:35 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2017-03-31 11:46:29 -0500

Seen: 372 times

Last updated: May 11 '17