```xml
<geom friction="1.0 0.05 0.05"/> # friction="slide spin roll"
```
- `slide` → standard tangential friction, $F_t \le \mu_{\text{slide}} F_n$
- `spin` → torsional resistance around normal, $T_n \le \mu_{\text{spin}} F_n$
- `roll` → rolling resistance torque, $T_t \le \mu_{\text{roll}} F_n$
>[!brainwaves] The Gist of It
>Governs _how surfaces resist relative motion once in contact_.
---
#### Cone Types
>[!info] Elliptic Friction Cones
>True elliptic [[Friction Models|coulomb friction]]
$\mathcal{K}_\text{elliptic}\coloneqq \Big\{ \mathbf{f}\in \mathbb{R}^n \colon f_1 \geq 0, \, f_1^2 \geq \sum_{i=2}^n \frac{f_i^2}{\mu_{i-1}^2} \Big\},$yielding second order constraints and therefore [[Second Order Cone Program (SOCP)|SOCPs]]. The force is modeled wiht the basis$\mathbf{E}_{\text{elliptic}} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}.$
>[!info] Pyramidal Friction Cones
>Pyramidal is a first order approximation
$\mathcal{K}_\text{pyramidal}\coloneqq \Big\{ \mathbf{f}\in \mathbb{R}^{2(n-1)} \colon f_i \geq 0 \Big\}$
In order to reduce the friction to first order constraints only, we need a per direction basis$\mathbf{E}_{\text{pyramidal}} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ \mu & -\mu & 0 & 0 \\ 0 & 0 & \mu & -\mu \end{bmatrix}.$This enables [[Quadratic Program (QP)|QP]] solvers.