In the last video we derived the equations
of motion for a 2R robot.
In this video we focus on the velocity-product
terms, c of (theta, theta-dot).
In particular, terms that have the square
of a single joint velocity are called centripetal
terms.
Terms that have a product of two different
joint velocities are called Coriolis terms.
To gain some intuition as to the physical
meaning of these terms, let's continue to
use the 2R arm.
To focus on the velocity-product terms, let's
assume that gravity and the joint accelerations
are zero.
Then the force needed to move mass_1 is f_1
equals m_1 times the x-y-z linear acceleration
of the mass.
We can write these accelerations in terms
of joint one's velocity and acceleration as
you see here, where c_1 means cosine of theta_1
and s_1 means sine of theta_1.
Notice that there are joint velocity squared
terms.
In other words, zero acceleration of the joints
does not mean zero acceleration of the mass
in the linear coordinates x, y, and z.
We could do the same thing for mass_2 and
get this expression for f_2 in terms of the
joint velocities and accelerations.
C_1,2 means cosine of theta_1-plus-theta_2
and s_1,2 means sine of theta_1-plus-theta_2.
Now let's put the robot at theta_1 equal to
zero and theta_2 equal to pi over 2.
At this configuration, the velocity-product
acceleration terms for mass_2 are given here.
Now consider the case where theta_1-dot is
positive but theta_2-dot is zero.
Then the mass travels around a circle with
its center at the first joint.
The centripetal acceleration of the mass is
proportional to theta_1-dot-squared toward
joint 1.
Without that centripetal acceleration, the
mass would fly off on a straight-line tangent
to the circle.
Also notice that the line of acceleration
of mass_2 passes through the first joint,
and therefore the line of force needed to
create that acceleration creates no moment
about joint 1.
So joint 1 does not have to apply a torque
at this configuration and velocity.
Joint 2, on the other hand, has to apply a
positive torque to keep the mass moving along
the circle.
Next, consider the case where theta_1-dot
is zero but theta_2-dot is positive.
Now the mass travels around a circle with
its center at the second joint, and the centripetal
acceleration is proportional to theta_2-dot-squared.
Finally, consider the case where both theta_1-dot
and theta_2-dot are positive.
In addition to the centripetal accelerations,
there is now a Coriolis acceleration toward
joint 2.
Mass_2 times this Coriolis acceleration is
a force that creates negative moment about
joint 1.
In other words, to keep both joint velocities
constant, we must apply a negative torque
to joint 1.
If zero torque were applied to joint 1, joint
1 would accelerate.
This is what happens to a skater in a spin
when he pulls in his outstretched arms--since
his inertia decreases, his spinning velocity
increases.
In summary, we can write a robot's equations
of motion this way, but we can also write
the velocity-product terms as theta-dot-transposed
times Gamma of theta times theta-dot.
I personally like this way of writing the
velocity-product terms, as it emphasizes the
fact that the terms are quadratic in the joint
velocities.
Also, it emphasizes that Gamma of theta depends
only on the joint values theta.
You can think of Gamma as a three-dimensional
n-by-n-by-n matrix, whose entries are called
the Christoffel symbols of the mass matrix.
Viewed this way, Gamma_i is an n-by-n matrix
constructed of components Gamma_i,j,k.
The Christoffel symbols Gamma_i,j,k are calculated
from the derivatives of the mass matrix with
respect to the joint variables, and the velocity-product
vector can be calculated as shown here.
Although this looks complex, the main point
is that the velocity-product term can be written
explicitly as a quadratic in the joint velocity
vector.
Just keep in mind this simple example.
A mass m with a scalar velocity x-dot has
a scalar momentum p.
The force acting on the mass is the time derivative
of the momentum.
If we assume the mass is constant, then f
equals m x-double-dot.
If the mass changes with the configuration,
though, as it does for an articulated robot,
then by the chain rule for derivatives, the
time derivative of the momentum has a term
depending on d_m d_x, the derivative of the
mass with respect to the configuration.
D_m d_x plays the same role as the Christoffel
symbols of a mass matrix.
Back to our list of ways to compactly represent
a robot's dynamics, another common way to
write the velocity-product term is to express
it as the product of a Coriolis matrix and
the joint velocity vector.
The elements c_i,j of the Coriolis matrix
can be constructed from the Christoffel symbols
and the joint velocity vector.
Finally, we sometimes lump all the terms not
dependent on theta-double-dot into a single
vector, h of (theta, theta-dot).
To any of these forms of the equations of
motion, we can add the joint forces and torques
needed to create a desired wrench F_tip at
the end-effector.
Now that we have a better understanding of
the velocity-product terms, in the next video
we will focus on the mass matrix.
