I've been having trouble with spikes in force/torque sensor data. There are spikes in the joint velocity data also, but I haven't bothered too much about them until now when i'm trying to wrap control loops around force/torque sensor data. See the attached and labeled screenshot of some plots of the x/y/z forces from a force/torque sensor as well as a joint velocity signal from one of the joints.
Below are a few notes about my physics config that may be helpful,
- physics iterations: 100
- sor: 1.0
- don't believe there are any self collisions happening
- have tried raising iterations arbitrarily high and it doesn't help
- have tuned
sorand it doesn't help
- all joints have implicit spring damper at 1
I have tweaked link inertia/mass to see if it's a poorly conditioned system for the physics and nothing i've done has had much of an affect.
If I thought I was just dealing with noise I would just put a filter on it and move on, but these spikes don't look like noise to me and i'm afraid to just ignore them and bandaid it with a filter.
One more note that may be helpful, i'm doing velocity control via the
joint->SetVelocity call from the joint API.
*edit: As a further test I remove my gazebo plugins call to joint->SetVelocity so the arms now just go slack and hang down and have attached that as a second plot. The large spikes are still there in the force/torque sensor data, but the joint velocity is now smooth with no spikes.