Is it possible to stop the robot in motion? #26
-
Hey there, first of all thanks for the great work you are doing with all your packages for Franka, I have some of them actively in use, especially the simulator, and had no problems with it so far. I am currently planning a custom safety engine, so I need to be able to stop the robot in motion immediately. The ideal state would be to just pause the movement so that it resumes at the same point after the pause is lifted. In the simulator, I have only been able to stop the robot by killing the moveit server, the command line process could not be paused for some reason. To my question: Is there a possibility to pause the robot movement by means of the Franka interface? I haven't found a suitable way yet. (For the sim and the real robot) Or do you have a tip on how to implement this otherwise? Thanks in advance! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi, If you mean you want to stop a MoveIt plan that is being executed, this can be done using the By default all the direct Pausing and resuming a plan might not be as straightforward, however. I have never tried to do this, but maybe if you have the planned trajectory, and you know the waypoints that the robot has gone through, you can drop these waypoints from the plan (RobotTrajectory object) and execute the rest of the plan? I don't know if this will be easy or if it will even work, but this is probably what I'd try first if I wanted to achieve this. Hope this helps. -- Saif |
Beta Was this translation helpful? Give feedback.
Hi,
Thanks for your comments, and glad to hear you find the packages useful!
If you mean you want to stop a MoveIt plan that is being executed, this can be done using the
stop()
method of the corresponding MoveGroupCommander. If you are using FrankaROSInterface of PandaRobot interfaces, this can be done as follows:r.get_movegroup_interface().arm_group.stop()
assumingr = panda_robot.PandaArm()
orr = franka_interface.ArmInterface()
. However, for this to work, the plan execution should be done in a non-blocking fashion (which is not the default behaviour).By default all the direct
move_to_*
methods inArmInterface
andPandaRobot
use blocking execution requests, which means the entire pla…