ZYC
ZYC

Reputation: 23

Contact Force Calculation for Simulation Engine

In the simulation physics engine, it is necessary to calculate the reaction of two objects after they collide. As far as I know, there are two methods of calculating contact force: impulse method and penalty force.

Most mainstream engines use pulse to solve. At present, I find that game engines such as ODE and Bullet and robot simulations such as Mujoco and Drake use pulse. However, ADAMS and Simbody use the spring-damped contact model to calculate the penalty force. What is the difference between these two methods, and what are their advantages and disadvantages?

The impulse is to calculate the contact force based on the impulse (mass multiplied by velocity) of the object at the velocity level, and update the state at the velocity

The penalty force is to directly calculate the contact force using Coulomb's law (spring stiffness multiplied by the intrusion distance), and the calculation can change the integral step size

Thanks for answering

Upvotes: 0

Views: 204

Answers (1)

Russ Tedrake
Russ Tedrake

Reputation: 5533

That's a big question. Here are a few thoughts:

  • Let's be careful to distinguish between rigid contact and soft (spring) contact vs continuous (force) and discrete time (impulse). Drake, for instance, offers soft contact in both continuous time and discrete time.
  • In my view, continuous-time models have the potential to be more accurate, using error-controlled integration. Discrete-time/time-stepping models typically run faster because they are more numerically robust at large time steps. (Some applications, like video games, also benefit from having a consistent simulation speed)
  • Rigid contact is non-physical (all contacts have a finite stiffness), but it can be a convenient approximation. In particular, many of the most difficult computational geometry questions in contact simulation happen when two geometries are penetrating. Avoiding penetration completely is difficult to achieve, but can make other algorithms simpler.

Upvotes: 0

Related Questions