Starting in Chapter 8.2, we learn the Newton-Euler method for deriving the dynamics of a robot.

Whereas the Lagrangian formulation starts with the potential and kinetic energy and

applies a variational approach based on derivatives, the Newton-Euler method is derived directly

from f equals m-a for the rigid bodies that make up the robot.

One advantage of this approach is that we can derive an efficient recursive algorithm

for computing the dynamics of open-chain robots.

Let's start with the dynamics for a single rigid body.

You can think of a rigid body as a collection of point masses that are rigidly attached

to each other.

We define the center of mass to be the unique point at the centroid of the mass distribution,

and we fix a frame {b} to the rigid body at the center of mass.

The definition of the center of mass is that the sum of the mass-weighted vectors to the

point masses in the {b} frame is zero.

We define the twist of the rigid body, expressed in the {b} frame, as V_b, consisting of an

angular velocity omega_b and a linear velocity v_b.

Then the linear velocity of mass i is p_i-dot equals v_b plus omega_b cross p_i.

We define the acceleration of the rigid body to be V_b-dot, and using this we can take

the derivative of p_i-dot to get p_i-double-dot.

Notice that the last term is omega-b cross the time derivative of p_i, so we can substitute

in the expression above to get this equation for p_i-double-dot.

Notice that it has velocity-product terms in the form of omega_b cross v_b and omega_b

cross omega_b cross p_i.

Now, taking as a given that f equals m-a, we get the force f_i needed to move the mass

m_i using the expression for p_i-double-dot we just derived.

The corresponding moment in the {b} frame is m_i equals p_i cross f_i, written here

with our bracket notation.

The total wrench F_b, consisting of a moment m_b and a force f_b, needed to accelerate

the body with acceleration V_b-dot when it is moving with a twist V_b is just the sum

of forces and moments needed for the individual point masses.

If we define m to be the total mass of the body, then using the fact that we defined

the frame {b} to be at the center of mass of the body, the total force f_b is just m

times v_b-dot plus bracket-omega_b times v_b.

The total moment m_b is I_b times omega_b-dot plus bracket-omega_b times I_b times omega_b,

where I_b is called the inertia matrix.

The inertia matrix is the negative of the sum of each mass times the bracket of its

position squared.

We can write the 3-by-3 inertia matrix in terms of its nine components, with the diagonal

terms Ixx, Iyy, and Izz, as well as the off-diagonal components Ixy, Ixz, and Iyz.

These components are calculated as shown here.

As an example, the top left element of the matrix, Ixx, is called the moment of inertia

about the x-axis.

This inertia gets larger if the mass m_i is further from the x-axis, where the square

of the distance from the x-axis is given by y_i-squared plus z_i-squared.

Basically, if the mass of the body is far from the x-axis, it takes more torque to accelerate

about the x-axis.

The off-diagonal elements are called products of inertia.

Now imagine that we replace the individual point masses of the rigid body by a continuous

mass density rho as a function of position.

Then the elements of the inertia matrix are calculated as volume integrals instead of

summations, but conceptually there is no difference.

In the book you can see some simplified formulas for calculating the inertia matrix of some

common bodies.

Just like the mass matrix for a robot, the inertia matrix I_b for a rigid body is symmetric

and positive definite.

Also similar to the mass matrix for a robot, the kinetic energy for a rotating rigid body

is one-half omega_b-transpose times I_b times omega_b.

Now let's consider a particular rigid body, an ellipsoid, with a frame {b} at its center

of mass and the inertia matrix I_b shown here.

Now consider the same body but with a frame {p}, also at the center of mass, with a different

orientation.

In this frame {p}, the inertia matrix has a particularly simple form, with all off-diagonal

elements zero.

When the off-diagonal elements are zero, the {p}-frame coordinate axes are called principal

axes of inertia, and the scalar inertias about those axes are called the principal moments

of inertia.

You can find the principal axes of inertia from the inertia matrix for any frame {b}

at the center of mass by evaluating the eigenvectors and eigenvalues of the inertia matrix I_b.

The principal axes of inertia are aligned with the eigenvectors, which are expressed

in the {b} frame, and the principal moments of inertia are the eigenvalues.

The rotation matrix expressing the {p} frame in the {b} frame, R_bp, has the eigenvectors

as its columns.

If we equate the kinetic energy expressed in the {p} and {b} frames, we can calculate

the inertia matrix in the {p} frame as R_bp-transpose times I_b times R_bp.

When possible, it is preferable to choose the body frame to be aligned with the principal

axes of inertia, to simplify the inertia matrix.

This also simplifies the rotational equations of motion.

For an arbitrary {b} frame at the center of mass, the rotational equations of motion are

what we derived before.

If the {b} frame is aligned with the principal axes of inertia, however, the equations can

be expressed more simply, as you see here.

This form involves many fewer multiplications, additions, and subtractions.

To summarize, these are our equations of motion for a single rigid body.

In the next video we will study these equations further, in preparation for using them for

the dynamics of a robot.