Joint limits violation during execution of cartesian path calculated with MoveIt

asked 2019-11-27 05:24:41 -0500

ffreihube gravatar image

updated 2019-11-27 07:25:00 -0500


so this is more of a general understanding question. I use Moveit and the franka_ros package to control a real Panda robot arm. I have a task where I need to do small movements and bigger movements. Thats why I use a combination of the Moveit commander functions move_group.go() for big movements with complex trajectories and use move_group.compute_cartesian_path() and move_group.execute() for small movements with straight trajectories.

The problem is when I move the robot to a position with the the go function everything works fine. But sometimes when I resume the movement from there by planning a cartesian path I get the following error message:

[ERROR] [1574845367.320086522]: libfranka: Move command aborted: motion aborted by reflex! ["joint_motion_generator_position_limits_violation"] control_command_success_rate: 0.93

I understand why I get this error since the panda moved itself to a position near his joint limits with the go command. But my understanding of MoveIt is, that it should plan a cartesian path that does not violate the joint limits. Is this understanding correct? What are the best practices for such tasks?

edit retag flag offensive close merge delete