position_trajectory_controller has desired velocity above velocity limit

asked 2021-04-02 00:20:28 -0500

mugetsu gravatar image

updated 2021-04-02 00:21:14 -0500

I'm using a position_controllers/JointTrajectoryController with moveit and just analyzing it's performance in sim. One issue I'm seeing is that for some reason my desired velocity vs actual velocity is very different. The actual velocity is limited by joint_limits.yaml at 0.1 rad/s. image description

here I simply call group.set_joint_value_target() to move a single joint to a target joint value. I don't understand why the desired velocity overshoots and then drops to 0 before the joint stops even moving.

Am I forgetting about some setting here or just not understanding something ?

edit retag flag offensive close merge delete


Is your x-axis in seconds? It looks like the trajectory expects the joint to be able to move faster than 0.1 rad/s and the "actual" (the simulated controller) lags behind the target position and shoots to its maximum velocity of 0.1 rad/s. Have you tried lowering the velocity and acceleration of the plan, e.g. by setting the velocity_scaling_factor in the move group interface or retiming the trajectory? The tutorial is a bit sparse, but there is some example code (feel free to add more to the tutorial).

fvd gravatar image fvd  ( 2021-04-02 01:10:00 -0500 )edit

@fvd yes its in seconds. I guess I'm confused what the velocity_scaling_factor is. I have it set to 1.0. Why could that make the trajectory think my max speed is greater?

mugetsu gravatar image mugetsu  ( 2021-04-02 22:01:11 -0500 )edit