Adding a special-purpose physics simulator
I'm interested in adding a special-purpose physics simulation for simulating the interaction between specific pairs of objects. In our case, this is a quasistatic physics simulator that I would like to use to simulate the interaction between the robot's end-effector and a specific object on a table.
The most obvious way of going about this is to implement the Simbody physics wrapper in Gazebo, similar to the existing physics engines. However, this seems like overkill since our simulation is only for a subset of objects in the environment and can use the same collision detectors provided by the existing simulations.
None of the plugin interfaces are obviously a great fit for this. How should I go about implementing this? How do I override the default physics simulation for certain objects?
Edit: I only need to control the object when the gripper is touching it. I can't, however, get away with adding forces to the object since our simulator does not model the object's dynamics. I should be able to work around this by teleporting the object according to the appropriate collision response.
Would it help to have some kind of collision bit mask where your plugin would receive collision information but the physics engine would not generate contact forces?
I think it would be helpful to us to have this functionality. Thank you