Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Joints Drift when they are not being driven or have a set velocity of zero

hi all,

I've a model that represents a serial manipulator, with hydraulic actuators. I've modelled the actuation of the joints in two ways: 1. one using a hydraulic actuator model that is calculated every call to update() in my plugin. It gets joint velocity from the gazebo model, a valve setting from a ros topic and outputs a torque which is applied to the joint. and 2. Simply applying the valve setting as a velocity directly to the joint using joint::SetVelocity(). ensuring that joint::SetMaxForce() is a non-zero (and quite large) value of 10000.

However when my valve setting is zero, a particular joint in the arm always seems to drift regardless of method. Now this would be realistic if the joint were truly undriven, however if I set my joint velocity to zero, it would help if it stayed zero (within the bounds of the SetMaxForce() parameter). I cant seem to find a method to set the joint to static as this would accurately model counterbalance valves with zero leakage, but it doesn't seem to be implemented yet.My preference is for an open loop solution to this problem to replicate the real world.

Any ideas or workarounds?