Вы находитесь на странице: 1из 4

Angular Momentum Computation for Multibody

Systems

C. Karen Liu

School of Interactive Computing


Georgia Institute of Technology

1 Introduction
Computing angular momentum for a multibody dynamic system is very straightforward in
maximal coordinates, where angular velocity of each rigid body is readily available. However,
if you choose to use generalized coordinates and do not want to explicitly convert velocity
to maximal coordinates at each time step, you can use the following alternative formulation
to compute angular momentum.

2 Derivation
We begin with the computation of angular momentum for a single particle, x. This is simply
a cross product of its position vector from the pivot (c) with its velocity (ẋ), scaled by its
mass µ
L = µ(x − c) × ẋ (1)

Now let us consider the angular momentum of a multibody system with n rigid bodies
connected in a hierarchical structure. We assume that the pivot is defined at the center of
mass of the system c, which could be varying over time (ċ 6= 0).
n Z Z Z
X
L= µi (xi (x, y, z) − c) × (ẋi (x, y, z) − ċ)dxdydz (2)
i=1

where xi (x, y, z) denotes a particle in i-th rigid body. µi is the infinitesimal mass of a particle
in i-th rigid body, assuming each rigid body has uniform density.

1
This equation results in four terms:
n Z Z Z
X n Z Z Z
X n Z Z Z
X n Z Z Z
X
L= µi xi × ẋi − µi xi × ċ − c × µi ẋi + µi c × ċ (3)
i=1 i=1 i=1 i=1

We omit the variables of integration (i.e. dx, dy, dz) for clarity. To compute Equation 3
efficiently, we need to rewrite it in a form without any integral. The first term is the most
complicated one so we will deal with it later. The second, third and fourth terms can be
simplified as follows:

Second Term: The integral of µi xi over the volume of i-th rigid body is equal to mi ci ,
where mi is the mass of i-th rigid body and ci is its center of mass in the world coordinates.
The second term can then be written as:
X n Z Z Z n
X
− µi xi × ċ = − mi ci × ċ = −mc × ċ (4)
i=1 i=1

where m (without subscript i) is the total mass of the multibody system and c again is its
center of mass in the world coordinates.

Third Term: Similarly, we can rewrite the integral part of the third term as mi ċi and
arrive at a simpler third term:
n Z Z Z
X n
X
−c × µi ẋi = −c × mi ċi = −mc × ċ (5)
i=1 i=1

Fourth Term: For this term, we integrate µi over each rigid body and sum up all the rigid
bodies to obtain the following form:
n Z Z Z
X
µi c × ċ = mc × ċ (6)
i=1

Combining these three terms, the angular momentum for the multibody system can be
simplified to
X n Z Z Z
L= µi xi × ẋi − mc × ċ (7)
i=1

The only remaining integral is in the first term. Before we work on the math, let us first
introduce a new operator ”cr()”:
cr(abT ) = a × b (8)

2
where a ∈ R3×1 and b ∈ R3×1 . Specifically, cr() takes a 3 by 3 matrix as input and outputs
a 3 by 1 vector using the following rule:
   
a23 − a32 a11 a12 a13
cr(A) =  a31 − a13  , where A =  a21 a22 a23  (9)
a12 − a21 a31 a32 a33

With this new operator, we can rewrite the first term as follows:
n Z Z Z
X n Z Z Z
X
µi xi × ẋi = µi cr(xi ẋTi ) (10)
i=1 i=1

We can also express xi in terms of its coordinates in the local frame of i-th rigid body:
xi = Ri x̄i + ri , where Ri and ri are the rotation matrix and translation vector from the local
frame of i-th rigid body to the world frame. x̄i denotes the local coordinates of the particle.
Plugging this expression into Equation 10, we continue on our derivation of the first term:
n Z Z Z
X n Z Z Z
X
µi cr(xi ẋTi ) = µi cr((Ri x̄i + ri )(x̄Ti ṘiT + ṙTi ))
i=1 i=1
n Z
X ZZ
= µi cr(Ri x̄i x̄Ti ṘiT + Ri x̄i ṙTi + ri x̄Ti ṘiT + ri ṙTi )
i=1
n
X ZZZ
= cr(Ri µi x̄i x̄Ti ṘiT + mi Ri c̄i ṙTi + mi ri c̄Ti ṘiT + mi ri ṙTi ) (11)
i=1

We denote c̄i as the center of mass of i-th rigid body in its own local frame. Note that the
integral of the last three terms in Equation 11 are now expressed in terms of aggregated
quantity c̄i and mi . The only integral term remained is the first term. We then define M
as the integral of outer product of x̄i , which can be precomputed based on the shape of the
rigid body. ZZZ
Mi = x̄i x̄Ti (12)

Finally, we arrive at the simplified formula of angular momentum:

Pn
L= i=1 mi cr(Ri Mi ṘiT + Ri c̄i ṙTi + ri c̄Ti ṘiT + ri ṙTi ) − mc × ċ (13)

3 Angular Momentum in Maximal Coordinates


For the sake of completeness, we also provide a formulation for computing angular momentum
in maximal coordinates.

3
n
(mi (ci − c) × (ċi − ċ) + Ri I¯i RiT ωi )
X
L= (14)
i=1

where I¯i is the inertia matrix of i-th rigid body in the local frame, which can be precomputed
based on the shape of the rigid body. ωi is the angular momentum of i-th rigid body in the
world frame. We can simplify the equation to make it look similar to Equation 13.

× ċi + Ri I¯i RiT ωi ) − mc × ċ


Pn
L= i=1 (mi ci (15)

Вам также может понравиться