moveit reports SUCCESS before trajectory is completed in gazebo when using effort_controllers/JointTrajectoryController
Hi all,
I'm trying to use effort_controller/JointTrajectoryController
to perform the pick_place task, but I find that moveit! seems to report SUCCESS before one planned trajectory is completed in gazebo, in which case my program will then send next planned trajectory to gazebo, thus two trajectories are often mixed, leading to the error start state deviate from the current state
.
In another test, if I only send one trajectory, moveit will report success but the final joint values are different than the goal joint values, although I have set the GoalJointTolerance
to a rather small number.
Is that because the PID parameter is not good (P is too small)?
There is no such problem when I use position_controller/JointTrajectoryController
. But I don't understand how position_controller (PositionJointInterface) works, it seems it doesn't use the PID parameter?
Thanks for any help!
I'm not familiar with Gazebo's
effort_controller
, but if MoveIt reports success, it's because that controller reported that the trajectory is executed. I would start to investigate there.Thanks! I will post this to gazebo Q&A.