Collaboration diagram for Computing Contact Forces:

Consider the definition of a contact with interpenetrating collision elements A and B.

The single, computed contact point serves as the origin of a contact frame C, so is designated Co; we'll shorten that to just C when it is clear we mean the point rather than the frame. We define the normal as pointing outward from the deformed surface of B towards the deformed interior of A. The C frame's z-axis is aligned along this normal (with arbitrary x- and y-axes). We are also interested in the points of bodies A and B that are coincident with Co, which we call Ac and Bc, respectively. Because the two forces are equal and opposite, we limit our discussion to the force f acting on A at Ac (such that -f acts on B at Bc).

Figure 1: Illustration of contact between two spheres.

The computation of the contact force is most naturally discussed in the contact frame C (shown in Figure 1).

The contact force, f, can be decomposed into two components: normal, fₙ, and tangential, fₜ such that f=fₙ+fₜ. The normal force lies in the direction of the contact frame's z-axis. The tangential component lies parallel to the contact frame's x-y plane. In Drake's compliant contact model, the tangential force is a function of the normal force.

The detailed discussion of the contact force computation is decomposed into two parts: a high-level engineering discussion addressed to end users who care most about working with the model and a further detailed discussion of the mathematical underpinnings of the implemented model. The practical guide should be sufficient for most users.

Next topic: Working with Contacts in Drake