How to define(in URDF) a joint to stay at the desired position even when external torques are applied.
So, I defined a setup in gazebo using URDF. It consists of 2 links(both cylinders) and a joint. When I'm applying a force on the link, its generating torque at the joint and it moves. Though I'm publishing a position of the joint through an effort control interface, the joint bends. And when the force is removed, the joint returns to the set position.
So, my question is - How do I make it more robust to these forces by defining properties in the URDF file?
Like, applying brake to the joint or a servo motor, which (atleast try to) hold on to their set position. I think my joint is trying to hold onto the position too but failing miserably. Is there a parameter to be included/amplified in URDF to achieve this scenario?
I have looked at other answers but none of them talk URDF. Wondering if there is a URDF way. Like defining something in the gazebo tags, etc...
Thankz fellaz!
No, I don't think so. But if you're using an effort controller, then that means it runs a PID loop. That means you need to tweak the gains.
But PID defines the dynamics of the joint but not the effort/force it exerts, rit?
A PID effort controller by definition sets the force/effort applied to the joint.
True. But how can we make it exert more force/torque? I tried it by increasing gains. There doesn't seem to be any effect.
Also, just for clarification, I have defined PID params in a gazebo reference tag and also in a .yaml file. Which overwrites the other?