I have a rectangular block in the xy plane with the center of mass that acts in the z direction at an arbitrary place in the plane. I also have 4 legs that support this weight underneath the block. The system is at equilibrium and not moving. These 4 legs can also be arbitrarily placed. The forces on each leg might obviously not be equal based on placement. How do I solve for the force on each leg? I would like a general formula based off the x and y locations of the legs and the center of mass. The Weight of the block will be given.


Put a coordinate system on the center of mass and place each leg i at $$\vec{r}_i = \pmatrix{x_i, & y_i, & z_i}$$

where $z_i = z_{c}+\theta_x y_i - \theta_y x_i$ describes the vertical deflection of the point, given the center of mass vertical position $z_c$ and the two tilt angles $\theta_x$ and $\theta_y$.

Add vertical loads the each point proportional to the vertical deflection (like linear springs)

$$ \vec{F}_i = \pmatrix{0,&0,& -k z_i} $$

Then sum up the forces and equal them to the weight

$$ k \sum \limits_i z_i = k z_c + k \sum \limits_i (\theta_x y_i - \theta_y x_i) = W $$

$$ z_c = \frac{W - k \sum \limits_i (\theta_x y_i - \theta_y x_i) }{4 k} = \frac{W}{4 k} + x_{ave} \theta_y - y_{ave} \theta_x $$

where $x_{ave} = \frac{1}{4}(x_1+x_2+x_3+x_4)$ and $y_{ave} = \frac{1}{4}(y_1+y_2+y_3+y_4)$

Each load has a net moment at the center of mass

$$ \vec{M}_i = \pmatrix{ y_i (-k z_i), & -x_i (-k z_i) & 0 } $$

With the sum of the moments equals zero used to solve for the tilt angles

$$ \sum \vec{M}_i = \pmatrix{ -k \sum \limits_i y_i (z_c + \theta_x y_i - \theta_y x_i), & k \sum \limits_i x_i (z_c + \theta_x y_i - \theta_y x_i), & 0 } = \pmatrix{0,&0,&0} $$

This creates a 2×2 system of equations in terms of $\theta_x$ and $\theta_y$

$$ \begin{vmatrix} 4 y_{ave}^2 - \sum_i y_i^2 & -4 x_{ave} y_{ave} + \sum_i x_i y_i \\ -4 x_{ave} y_{ave} + \sum_i x_i y_i & 4 x_{ave}^2 - \sum_i x_i^2 \end{vmatrix} \pmatrix{ \theta_x \\ \theta_y } = \frac{W}{k} \pmatrix{ y_{ave} \\ x_{ave} } $$

Once the title angles are known they are back substituted into $z_c$ first, then into $z_i$ and finally into $F_i = -k z_i$ to estimate the forces.

In the end, I got this nice expression

$$ \frac{F_i}{W} = \frac{ x_i \left( S_{x} S_{y^2} - S_{xy} S_{y} \right) y_i \left( S_{x^2} S_y - S_x S_{xy} \right) - S_{x^2} S_{y^2}+(S_{xy})^2 } { (S_{x})^2 S_{y^2} - 2 S_{x} S_{xy} S_{y} + S_{x^2} (S_y)^2 - 4 S_{x^2} S_{y^2} + 4 (S_{xy})^2} $$


$$\begin{aligned} S_x & = \sum_{i=1}^4 x_i & S_{x^2} & = \sum_{i=1}^4 x_i^2 \\ S_y & = \sum_{i=1}^4 y_i & S_{y^2} & = \sum_{i=1}^4 y_i^2 \\ S_{xy} & = \sum_{i=1}^4 x_i y_i \\ \end{aligned}$$

  • $\begingroup$ I am currently about to leave work and don't have time to read through in depth. I did a quick scan through and it looks like what I may possibly looking for and correct. I will reply again tomorrow with any questions I may have. Thank you! $\endgroup$ – kmcnamara2 May 23 '16 at 20:54
  • $\begingroup$ Also I have to extend this beyond 4 legs, up to an arbitrary amount of legs ( probably at least 10) im not sure if your solution can be used for more than 4 supports or not. And im glad you chose to represent the legs as spring constants cause that's what they truly are is spring supports with a spring constant $\endgroup$ – kmcnamara2 May 23 '16 at 20:57
  • $\begingroup$ I don't see why it wouldn't work for more than 4 legs. $\endgroup$ – John Alexiou May 23 '16 at 21:39
  • $\begingroup$ Are you assuming that all legs(springs) have the same spring constant? because in this application I can't assume that $\endgroup$ – kmcnamara2 May 24 '16 at 16:42
  • $\begingroup$ Yes I am. To do it otherwise you would need a numeric solver (a mini simulation computer program). This is because maybe not all legs are loaded depending on their lengths. $\endgroup$ – John Alexiou May 24 '16 at 16:43

The vector sum of the forces will be zero: $$\Sigma \vec{F} = 0$$ If you can assume that the bottom of the block is planer and the weight acts perpendicular to that plane, (i.e., the lengths of the legs are identical) things are much simpler. The weight acts downward and the forces from the legs act upward.

The sum of the torques (moments) about any point will also be zero: $$\Sigma \vec{\Gamma} = 0$$ If you choose one of the legs as your origin, the equations will be simpler.

From the vector form of the torque equation you can write two equations.

  • 1
    $\begingroup$ This is a statically indeterminate system as it is called. You have to make assumptions on the flexibility of the part to get the actual load sharing between the legs. $\endgroup$ – John Alexiou May 23 '16 at 15:40
  • $\begingroup$ This is the conclusion that I've come to through work is that it is statically indeterminate. In my situation these legs are actually springs with spring constants that are to be determined based off the force on the spring due to weight and the distance it is from the spring. We are aiming for even deflection on each if possible close to 2'' $\endgroup$ – kmcnamara2 May 23 '16 at 15:46
  • $\begingroup$ and I am assuming the body(block) is rigid $\endgroup$ – kmcnamara2 May 23 '16 at 15:47

Not the answer you're looking for? Browse other questions tagged or ask your own question.