Gazebo | Ignition | Community
Ask Your Question

ros_control velocity_controllers/JointPositionController not working

asked 2019-10-10 09:38:30 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Hi I am trying to use a velocity_controllers/JointPositionController from ros_control 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.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-10-10 09:52:46 -0500

kumpakri gravatar image

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.

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower


Asked: 2019-10-10 09:38:30 -0500

Seen: 293 times

Last updated: Oct 10 '19