In the last chapter, we studied the forward
kinematics, relating the joint positions to
the end-effector configuration, T of theta.
In this chapter, we study the relationship
between joint velocities and the end-effector
velocity.
Usually we represent the configuration of
the end-effector as a transformation matrix
and the velocity as a twist.
To get to the main ideas quickly, though,
lets represent the configuration of the end-effector
using a minimum set of coordinates and the
velocity as the time derivative of those coordinates.
Then the forward kinematics can be written
x equals f of theta, where x is a vector of
m coordinates representing the end-effector
configuration and theta is an n-vector of
joint coordinates.
To find the relationship between the joint
velocities and the end-effector velocity,
we take the time derivative of the forward
kinematics.
Applying the chain rule for differentiation
and dropping the dependence on time, we get
x-dot = d-f d-theta times theta-dot.
Because x has m coordinates and the joint
vector theta has n coordinates, the matrix
of partial derivatives d-f d-theta is m-by-n.
This matrix is called the Jacobian J of the
robot arm.
The Jacobian is important not only for relating
joint velocities to end-effector velocities,
but also for relating end-effector wrenches
to joint forces and torques, as we will see
soon.
Let's look at a 2R arm as an example, where
x_1 and x_2 are the end-effector coordinates.
The forward kinematics are given by these
equations.
We take the time derivative of the forward
kinematics, and we name the endpoint velocity
v_tip.
Notice that the vector equation can be written
as a vector times the velocity of the first
joint theta_1-dot plus another vector times
the velocity of a second joint theta_2-dot.
Let's call the first vector J_1.
Clearly it is a function of the joint variables
theta.
J_1 is just the end-effector velocity when
joint 1 rotates at unit speed while joint
2 is kept constant.
We can visualize it as a vector orthogonal
to the line connecting joint 1 to the end-effector.
Similarly, J_2 is the velocity of the end-effector
when joint 2 rotates at unit speed while joint
1 is kept constant.
Plotting them both, we see that J_1 and J_2
form a basis for the space of linear velocities
of the end-effector.
We can put the J_1 and J_2 vectors side-by-side
to form the Jacobian matrix J. The end-effector
velocity is just a linear combination of J_1
and J_2, with coefficients equal to the joint
velocities.
If the second joint angle is zero degrees,
as shown here, or 180 degrees, J_1 and J_2
are aligned, and it is impossible to generate
any end-effector velocity except along this
line.
I can use my arm as an example.
When it is fully extended, rotation about
my shoulder, and about my elbow, both cause
the hand to move vertically.
The arm loses the ability to move in some
directions when the dimension of the column
space of the Jacobian drops from its maximum
value, and such a configuration is called
a singularity.
We can use the Jacobian to find limits on
the end-effector velocity due to limits on
the joint velocity.
In this figure, the set of allowable joint
velocities is depicted as a square in the
joint velocity space, with the corners A,
B, C, and D. The point A, for example, corresponds
to simultaneous maximum positive velocity
at both joints 1 and 2.
We can map this square set of joint velocities
through the Jacobian to get a parallelogram
of possible velocities at the tip, including
the tip velocity A corresponding to the joint
velocity A. The Jacobian, and therefore this
parallelogram, depends on the joint angles
theta.
Instead of a square of possible joint velocities,
it is common to consider a circle, or more
generally a sphere, of possible joint velocities.
This maps through the Jacobian to produce
an ellipse, or more generally an ellipsoid,
of possible tip velocities.
This ellipsoid shows that the robot can move
fast up and to the left, but only slowly up
and to the right.
If the robot is at a different configuration,
however, the ellipsoid can look very different.
We call these ellipsoids manipulability ellipsoids.
If the 2R robot is at a singularity, the ellipse
collapses to a line segment.
The Jacobian also relates forces at the end-effector
to forces and torques at the joints.
To find this relationship, let tau be the
vector of joint torques and forces generated
by motors at revolute and prismatic joints,
respectively.
From physics we know that velocity times force
is power, and the equivalent for a robot arm
is theta-dot transpose times tau is equal
to the power produced or consumed by the robot's
motors.
The robot's velocity and joint torques could
instead be expressed in terms of a velocity
and force at the tip, so the power can be
written equivalently as v_tip transpose times
f_tip, where f_tip is the force applied by
the end-effector.
If no power is used to move the robot, then
theta-dot transpose times tau is equal to
v_tip transpose times f_tip.
Using our previously derived identity v_tip
equals J-theta-dot, we get this equation.
We can rewrite this as this equation using
the fact that the transpose of J-theta-dot
is equal to theta-dot transpose times J transpose.
Since this equation holds for all theta-dot,
the equation reduces to tau equals J transpose
times f_tip, the relationship we were looking
for.
For our force analyses, we assume the robot
is at equilibrium and that all joint torques
and forces create forces at the end effector;
no joint effort is needed to cancel gravity,
for example.
This equation is useful for force control:
if we want the robot to generate the force
f_tip at its end-effector, the motors must
generate joint torques and forces equal to
J transpose times f_tip.
In the case that J transpose is invertible,
we also have the relationship f_tip equals
J transpose inverse times tau.
Assuming J transpose is invertible, we can
map joint torque limits to tip force limits
using the inverse of the Jacobian transpose,
similar to how we mapped joint velocity limits
to tip velocity limits.
In this configuration, the arm can apply large
forces up and to the right, at point D, but
much smaller forces up and to the left.
The reason is clear: a line of force up and
to the right passes close to the joints, therefore
requiring little torque about the joints,
while a line of force up and to the left passes
far from the joints, requiring larger torque.
In the extreme case, if my arm is extended
straight out, at a singularity, I could theoretically
resist infinite forces applied along the arm,
because the forces pass through the joints,
creating zero torque.
On the other hand, it is hard to hold this
book up in gravity, because the force requires
large joint torques.
This example also demonstrates that the tip
force limits are in a sense reciprocal to
the tip velocity limits: it is easy to apply
force in a direction that it is hard to move,
and hard to apply force in a direction that
it is easy to move.
It is common to consider joint torque limits
that are circular, or more generally spherical.
In this case, the torque limits map to an
end-effector force ellipse or ellipsoid.
As with the manipulability ellipsoid, the
force ellipsoid depends on the configuration
of the robot.
So, this video summarizes the important concepts
of Chapter 5.
In the rest of this chapter, we translate
these concepts to twists and wrenches.
In particular, in this video we represented
velocities as v_tip, the time derivative of
coordinates.
In the remainder of the chapter, we represent
end-effector velocities as twists, either
in the {s}-frame or the {b}-frame.
In this video, we represented end-effector
forces as f_tip, forces dual to v_tip.
In the remainder of the chapter, end-effector
forces will be represented as wrenches, either
in the {s}-frame or the {b}-frame.
In the next video we derive the Jacobian when
the end-effector velocity is expressed as
a twist in the space frame {s}.
