Universal_Robots_ROS_Driver icon indicating copy to clipboard operation
Universal_Robots_ROS_Driver copied to clipboard

Robot failed to receive joint/io states after UR Computer reboot

Open shuobh opened this issue 2 years ago • 1 comments

Summary

Introduction to the issue The issue is related to https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/issues/272. We run into situations that the UR Computer freezes and would need a reboot to recover. However, after UR computer reboots, we can connect to the dashboard using rosservice call /ur_hardware_interface/dashboard/connect "{}" and do power on/brake release/play/... but the robot would no longer publish it's state such as joint states/io states/wrench.

Versions

  • ROS Driver version: 2.0.0
  • Affected Robot Software Version(s): 5.11.1
  • Affected Robot Hardware Version(s): UR3e

Impact

Currently to recover from a UR Computer reboot, we have to restart all ROS nodes, which will lose the current state of the system.

Steps to Reproduce

  1. Run ROS Driver
  2. Reboot UR computer
  3. Monitor UR IO by rostopic echo /ur_hardware_interface/io_states

shuobh avatar Jan 17 '23 18:01 shuobh

Hmm, I think this should be working, but it obviously does not.

fmauch avatar Jan 18 '23 09:01 fmauch

One way to resolve this without impacting other node is to change all node launched by this package to respawn="true" and kill all of them with rosnode kill /robot_state_publisher & rosnode kill /ros_control_controller_spawner & rosnode kill /ros_control_stopped_spawner & rosnode kill /controller_stopper & rosnode kill /ur_hardware_interface/ur_robot_state_helper & rosnode kill /ur_hardware_interface

shuobh avatar Jun 14 '24 23:06 shuobh