Why does the velocity limit also limit effort?

asked 2018-02-15 11:56:09 -0600

bsaund gravatar image

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"

edit retag flag offensive close merge delete

Comments

Is the argument `paused` false when you bring up the empty world?

lakehanne gravatar imagelakehanne ( 2018-09-10 08:17:11 -0600 )edit