# Rate of angular momentum at the center of mass

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!

• $\sum_i{m_i r_i}=0$ with respect to CM.so you need to find the coordinate of cm by those equations. – baponkar Oct 12 '19 at 15:13
• Zero Moment Point for a game ? Can you give more details on your game – Eli Oct 12 '19 at 19:42
• 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. – Tim von Känel Oct 12 '19 at 19:45
• 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. – Tim von Känel Oct 12 '19 at 19:46
• 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? – 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}$$

• Thanks! I will look into it tomorrow and tell you if it worked :) – Tim von Känel Oct 13 '19 at 0:55
• Can i use (0, 0, 0) as the origin or should i use the objects Center of mass? – Tim von Känel Oct 13 '19 at 1:04
• 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. – John Alexiou Oct 13 '19 at 2:50
• 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! – Tim von Känel Oct 13 '19 at 3:14
• 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. – John Alexiou Oct 13 '19 at 3:26