|Issue 4:||Control-C break doesn't interrupt motoman->motion_interface or robot_state|
|1 person starred this issue and may be notified of changes.||Back to list|
What steps will reproduce the problem? 1. Start either motion interface (rosrun motoman motion_interface) or (rosrun motoman joint_state) 2. Wait until the node connects to the controller (this assumes the controller is up and running as well) 3. Press Control-C in the terminal window to stop execution. What is the expected output? What do you see instead? The node should be cleanly killed almost immediately, instead the node never dies and an explicit "kill" command is required.
Dec 21, 2011
This problem results from the inability of socket read calls to be interrupted. The socket select function (wrapped in socket::isReadReady) can be used to create and interruptable socket read. Using roslaunch hides this issue as the launch program eventually calls the "kill" command automatically.
Labels: Usability Package-Simple_Message
Feb 27, 2012
r279 adds a check to ros::ok(), which makes robot_state shut down cleanly on Ctrl-C.
Feb 27, 2012
Just saw motion_interface not shutdown cleanly. So something more is needed.
Nov 2, 2012
Jeremy, you might want to tackle this one with the generic client development.
Sep 5, 2013
These issues have been corrected or made obsolete with the backporting of the fs100 driver to the dx100. See here: https://github.com/ros-industrial/motoman/pull/14
|► Sign in to add a comment|