Home | Tutorials | Wiki | Issues
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Why does the velocity limit also limit effort?

A low <limit> velocity </limit> in the URDF also limits the effective effort a joint can apply.

I am loading robot arms from a urdf xacro with a hardware_interface/EffortJointInterface using a roslaunch script. I am spawning an effort_controllers/JointPositionController for each joint. I am commanding the arms "straight out":

With a high effort limit (3000) and low velocity limit (20) on each joint the arms droop: image description

With the same effort limit but a larger velocity limit (50) the arms successfully reach their goal position: image description

My best guess is that the controller outputs a large effort which leads to a large velocity, and this velocity is clipped before gravity terms are added.

i.e.

vel_limit(controller) + gravity = 0

instead of

vel_limit(controller + gravity) = "upwards motion"