Revision history [back]

Hi Masoud (And Johnson),

I am by no means a ros_control and/or ros_controllers expert, but here's my interpretation:

You are using a position_controllers/JointPositionController which means you are attempting to control a JointPosition through a position interface. In this case, the interface which you use to communicate with your joint is of the same 'type' as the desired quantity, so it is implied that no controller is needed. Therefore, you can not specify pid gains (I checked the source and indeed it is not a parameter for this type).

As a counter example: if you can only command your joint with a velocity, but would still like to use a jointPositionController, you would use a velocity_controllers/JointPositionController, which does have a pid parameter.

From your description, it seems to me you would be better of using a different type of controller, but I'm not entirely sure which type would suit your application.

Good luck