How to add damped-spring element to "stablize" a hyperstatic legged robot?

asked 2016-08-31 07:23:21 -0600

galou gravatar image

What is the correct way to add some damper-spring element (preferably in a collision element) to a multi-legged robot so that the stops jumping around?

Concretely, I want to simulate the contact forces between the robot and the ground. The collision at robot's ends is a sphere and the ground is "ground_plane". I read the force from a plugin to a ContactSensor (contacts.contact(i).wrench(0).body_1_wrench().force().z()). The robot having more than 3 legs, the forces in each leg are really unstable, their value oscillate a lot. The robot is also slowly moving in gazebo, without its' actuator values changing.

I tried to add

<surface>
    <kp  value="100000.0" />
    <kd  value="0.9" />
    <soft_cfm value="0.01" />
    <soft_erp value="0.15" />
</surface>

to the collision element but this does not have any effect in Gazebo (the properties form the Property tab have their default values, which differ from what I tried).

I'm using Gazebo 2.2.3.

Thanks for help!

edit retag flag offensive close merge delete