0

I am working on a physics simulator of rigid bodies. I am currently struggling with calculating friction of a rigid body with multiple friction points. The simulator is 2 dimensional and from top down view.

The things that I know:

  • Current speed
  • Force applied to the center of mass
  • Current rotational speed
  • Rotational force applied
  • mass of the body
  • rotational inertia of the body

I would like to know the formulas to calculate the speed and rotational speed affected by the frictional forces.

For example if I have a chair with four legs with different friction coefficients.For simplifications I assume the center of mass is located in the center. Then how would I calculate the speed and rotational speed.

An example situation would be:

  • mass(M) = 5 kg
  • force(F) = 1 N
  • current speed(v) = 2 m/s
  • rotational inertia(I) = 3 kg/m2
  • current rotational speed (ω) = 4 rad/s
  • friction (μ1) = 0.8
  • friction (μ2) = 0.5
  • friction (μ3) = 0.3
  • friction (μ4) = 0.1
  • size of chair = 1*1 m

So what would be the acceleration or the speed and rotational speed of the body?

enter image description here

John Alexiou
  • 40,139

2 Answers2

0

That is not doable in a reasonable fashion using rigid body mechanics, because you will have to assume a certain distribution of normal loads on each contact point and this is an underdefined problem. Only when considering flexibility of bodies you can reasonably distribute the loads on the contact points.

So what people do is come up with various (half baked) contact models with springs and interpenetration to try to distribute the reaction forces along all the contact points. The problem with this is that what people put in for stiffness is so many orders of magnitude off from real life that it skews the results and produces numerical artifacts. In real life, the springs are non-linear (as contact areas vary) and they must include the stiffness of the object overall.

Try to slide a solid aluminum block over a surface, and compare that to a aluminum thin sheet construction and you will notice a significant difference.

PS. You question is not answerable unless you describe in detail what your current contact model is.

PS2. If you really need to know of a way to handle contacts with friction in a simplistic way read the following papers:

Edit 1

After the comments I understand the problem to be 2D and the question asked essentially similar to Estimate the reaction force on each leg of a 4-legged table and Forces exerted on legs of a 3-legged table

Once the normal forces $N$ on each leg is estimated, sliding friction is simply found by $F = mu N$ where $\mu$ is the coefficient of friction for each leg.

John Alexiou
  • 40,139
0

Take the solution given in Estimate the reaction force on each leg of a 4-legged table to get the reaction (normal) forces for each leg $N_i$.

This involves finding the infinitesimal tilt angles $\psi$ and $\varphi$ by solving a 2×2 system

$$ \begin{equation} \begin{bmatrix} \sum_{i=1}^n(x_i-x_w)(y_i-y_w)&\sum_{i=1}^n(y_i-y_w)^2\\ \sum_{i=1}^n(x_i-x_w)^2& \sum_{i=1}^n(y_i-y_w)(x_i-x_w) \end{bmatrix} \begin{bmatrix} \psi\\\varphi \end{bmatrix}= \begin{bmatrix} -\frac{nW}{k}\\ \frac{nW}{k} \end{bmatrix} \tag{5} \end{equation}$$

and then estimating the interference $z_i$ and normal force $N_i$

$$z_i = z_w + \psi (x_i - x_w) - \varphi (y_i - y_w)$$

$$ N_i = -k (z_w + \psi (x_i - x_w) - \varphi (y_i - y_w)) $$

Then estimate sliding friction at each leg as $F_i = \mu_i N_i$.

If the sliding velocity at each leg is the vector $\mathbf{v}_i = \pmatrix{\dot{x}_i \\ \dot{y}_i}$ then friction acts to oppose this motion. The (in-plane) friction vector is then:

$$ \mathbf{F}_i =\frac{1}{\| \mathbf{v}_i \|} \pmatrix{ -\mu_i N_i \dot{x}_i \\ -\mu_i N_i \dot{y}_i }$$

John Alexiou
  • 40,139