controller reports SUCCESS before trajectory is completed in gazebo when using effort_controllers/JointTrajectoryController

asked 2020-11-15 07:42:22 -0500

xibeisiber gravatar image

Hi all,

I'm trying to use effort_controller/JointTrajectoryController to perform the pick_place task, but I find that the controller 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, controller will report success but the final joint values are slightly 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!

edit retag flag offensive close merge delete