- All motion and forces occur in a plane
- There is a single contact point between the pusher and the object
- The center of mass of the object lies in the friction cone from the contact point
- The direction of pushing lies in the friction cone
- The line of pushing falls on the same side of the center of mass of the object as the contact point

I initially implemented this using a kinetic box body for the pusher, and a box body for the pushed object. I have since switched to a dynamic box body for the pusher using a slider constraint. However, the pusher never sticks to the surface; the contact point always slides. It looks like this is because the penetration of the objects causes them to "bounce" against each other, moving the contact point each time. I've tried reducing the speed of the objects and reducing the fixed timestep of the simulation, without any success. The API mentions an experimental ContinuousDynamicsWorld, which is designed for fast moving objects but might help in this case as well, but I can't find it in the source. I just found that it's available here http://www.google.com/codesearch#bwpu9b ... sWorld.cpp but not anywhere else that I can find.
Is there any good way simulating this in Bullet? Any help is greatly appreciated.