I'm currently trying to calculate the Zero Moment Point for a game I develop, however im terrible at physics and therefore have trouble calculating the “rate of angular momentum at the center of mass”.

As I understood the angular momentum is defined as:

$\qquad \qquad L =$ distance from the center of rotation $\times$ mass $\times$ velocity

The mass of my object is $10$ kg.

It's velocity is $(3, 4, -1)$.

However, I don't get how to calculate the distance from the center of rotation, since my object has no fixed point its rotating around.

I'm referencing the following article, where I want to calculate HG: Zero moment point.

Thanks for any help in advance!

  • $\begingroup$ $\sum_i{m_i r_i}=0$ with respect to CM.so you need to find the coordinate of cm by those equations. $\endgroup$ – baponkar Oct 12 '19 at 15:13
  • $\begingroup$ Zero Moment Point for a game ? Can you give more details on your game $\endgroup$ – Eli Oct 12 '19 at 19:42
  • $\begingroup$ Okay thanks, the coordinate of my center of mass is (3, 2, 3) but i still cant figure out how to get it's angular velocity momentum from it. $\endgroup$ – Tim von Känel Oct 12 '19 at 19:45
  • $\begingroup$ Im trying to code a game with ragdolls fighting each others. I need the zero momentum point to calculate the optimal position of their feet so they can walk and stand. $\endgroup$ – Tim von Känel Oct 12 '19 at 19:46
  • $\begingroup$ So lets say i have a leg a body and an arm as the characters components. First i calculate the center of mass of the whole character. Then i calculate the distance of each bodypart to the COM of the whole character. After that i calculate the angular momentum of each bodypart by multiplying the distance * it's mass * it's velocity. Am i right until this step? $\endgroup$ – Tim von Känel Oct 12 '19 at 19:53

A particle of mass $m$ located at $\vec{r} = \pmatrix{x & y & z}$ from the origin, and having velocity $\vec{v} = \pmatrix{ vx & vy & vz} $ has the following properties

  • Linear momentum $$\vec{p} = m \vec{v} = \pmatrix{m\, vx \\ m\, vy \\ m\, vz} $$

  • Angular momentum about the origin $$ \vec{L} = \vec{r} \times \vec{p} = \pmatrix{m ( vz\, y-vy\, z) \\ m (vx\,z - vz\,x) \\ m( vy\,x -vx\,y )} $$

    Where $\times$ is the vector cross product.

I think you are asking about finding the line of action of the reaction forces from an equipollent system of forces $\vec{F} = \pmatrix{Fx & Fy & Fz}$ and moments $\vec{M} = \pmatrix{Mx & My & Mz}$ at the location $\vec{r}$.

The is found with the calculation

$$ \vec{r}_{\rm zero moment} = \vec{r} + \frac{ \vec{F} \times \vec{M}} { \| \vec{F} \|^2} = \frac{1}{Fx^2+Fy^2+Fz^2} \pmatrix{Fy Mz-FzMy \\ Fz Mx - Fx Mz \\ Fx My - Fy Mx} $$

Anyway, I strongly suggest you do some reading on vectors and cross products in order to understand the math of mechanics.

My favorite way of calculating a cross product in via the cross-product matrix

$$ \vec{a} \times \vec{b} = \pmatrix{0 & -a_z & a_y\\ a_z & 0 & -a_x \\ -a_y & a_x & 0 } \pmatrix{b_x \\ b_y \\ b_z} $$

Use the shorthand notation $[\vec{a}\times]$ to denote the 3×3 skew symmetric matrix show above that multiplies $\vec{b}$. The above is concisely written as a matrix-vector multiplication which is easily computed

$$ \vec{a} \times \vec{b} = [\vec{a} \times ] \vec{b} $$

| cite | improve this answer | |
  • $\begingroup$ Thanks! I will look into it tomorrow and tell you if it worked :) $\endgroup$ – Tim von Känel Oct 13 '19 at 0:55
  • $\begingroup$ Can i use (0, 0, 0) as the origin or should i use the objects Center of mass? $\endgroup$ – Tim von Känel Oct 13 '19 at 1:04
  • $\begingroup$ It depends on what you are doing. The origin is a fixed point you measure things at, and the center of mass is a moving point you are interested in rigid body mechanics since it simplifies the equations of motion. $\endgroup$ – John Alexiou Oct 13 '19 at 2:50
  • $\begingroup$ I know at least computed a vector which seems to be the zmp. It looks correct, but it is probably complete garbage :)) Thank you really much! $\endgroup$ – Tim von Känel Oct 13 '19 at 3:14
  • $\begingroup$ No, it is not garbage and if you want a little deeper understanding read on the subject of screw theory as it applies to robotics. $\endgroup$ – John Alexiou Oct 13 '19 at 3:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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