Robotics StackExchange | Archived questions

ros_control velocity_controllers/JointPositionController not working

Hi I am trying to use a velocitycontrollers/JointPositionController from roscontrol pkg, although either it does not respond or became totally unstable without any errors. The PID values are not the problem since are extremely low (it crashes even with only kp = 0.001 with UR10 robot) In particular as soon as I spawn and start two controllers for two different controllers get unstable.

Asked by tartaglia on 2019-10-10 09:38:30 UTC

Comments

Answers

Maybe it makes sense that low PID values result to unstable behavior. The position of the rotary joints are given in radians (probably between -3.14 and 3.14 or so) and the velocity is radians per second, which might be quite large.

Let's say you have the joint in initial position at angle of 0 radians and want to move to the opposite side. So the error will be some 3.14 radians. And to achieve that position in less than a second, you need to move more that 3 radians per second. Taking just the P component of the PID regulator, you want to assign a velocity of kp*error = 0.001*3.14 to the joint. That won't do.

You should not aim for small PID values. You should aim for PID values that make sense with your application.

Asked by kumpakri on 2019-10-10 09:52:46 UTC

Comments