Engn4627 Part05
Engn4627 Part05
Up to this point we have considered only static positioning problems for a robotic manipulator. We now
start to introduce the idea of motion into our analysis.
As a first step we consider the problem of deriving the velocity of the end effector for some arbitrary
manipulator
To do this we will need a thorough understanding kinematic velocity analysis, and the tools involved:
frames, moving frames, time derivatives of vectors, linear and angular velocities and their different rep-
resentations.
What will turn out to be important is the relationship between the velocity in Cartesian space of the end
effector and the velocity of the robot configuration in joint space.
The Jacobian, a matrix of derivatives, will be introduced as the key representation of this relationship
It will turn out that we can also achieve a static force/torque analysis of the manipulator using the
Jacobian, and we will also explore this idea.
Consider the a vector Q expressed in frame {B}, ie B Q, that represents the position of a particle in space.
B
Then the velocity of of that particle, VQ , can be determined by taking the time derivative:
1
B
B dB Q(t + δt) −B Q(t)
VQ = Q = lim
dt δt→0 δt
Then clearly,
• The velocity of Q must be measured relative to some frame of reference - in this case frame {B}
B
• If the point is stationary in frame {B} then the derivative of Q in frame B is zero. This is the
velocity of the point relative to {B}.
• If there exists some other frame {A}, then note that we can express the velocity of the point Q
relative to {B} in terms of frame {A}.
Notation
There are three important pieces of information to remember in the calculation of a linear velocity:
A B d
V Q = A BQ
dt
Here, the linear velocity of the point Q is considered. The velocity is measured relative to the frame of
reference B and is expressed in the frame of reference A.
A B dB
VQ =A
BR Q
dt
where the right-hand-side may be explicitly calculated
T
dB d B
d B
d B
Q= QX , QY , QZ
dt dt dt dt
The notation A B
V Q is cumbersome and unwieldy. In most situations one of the superscripts is dropped.
Unfortunately, the superscript that is most natural to drop is the inner superscript, referring to which
frame of reference the velocity is measured relative to.
2
Thus, one writes A V Q where the fact that the velocity VQ is measured relative to frame {B}
A dB
VQ =A
BR Q
dt
is understood from context.
Almost always, the velocity considered is the inertial velocity of the point considered. Thus, almost
always you should read
A d0
VQ =A 0R Q
dt
where {0} is the inertial frame.
Now let us determine the motion (velocity) of a rigid body. The first step is to attach a frame to the
body.
B
Consider a point P on a rigid body whose position is given by P , where B is the rigid-body-attached
frame.
A dA
VP = P
dt
d
= (A PBorg + A B
BR P )
dt
d d
= A PBorg + A RB P
dt dt B
dB d
= A VBorg + A
BR P + (A R)B P
dt dt B
= A VBorg + A B A A B
B R VP + ( Ω B × B R P )
where:
A
• VBorg is the velocity of origin of B with respect to A.
A B
• B R VP is the velocity of P wrt. B expressed in A.
A
• ΩB × A B
B R P is the velocity of P wrt. A due to the rotational velocity of B wrt. A.
Angular velocity.
3
We have introduced A ΩB , but what is it?
A
ΩB is the angular velocity of a frame {B} with respect to a frame of reference {A}. It can be represented
by a triple of numbers:
A
ΩB = [Ω1 , Ω2 , Ω3 ]T
Its direction represents the instantaneous axis of rotation of frame {B} with respect to a frame {A},
while its magnitude represents the speed of this rotation.
A
ΩB is obviously related to the derivative of the rotation matrix B
A R, and we shall explore this relationship
later.
A
An additional point is that, like any other vector, we can express ΩB wrt. some other frame, say U ,
giving the cumbersome notation by Craig of
U A
( ΩB )
where U is some absolute inertial frame, which leads to Craig introducing the notation
ωB = U Ω B
We have also introduced the cross product in the final term of the equation on the previous slide for
A
V P , and we shall explore why we do this later.
Special Cases
A
• When B is purely translating with respect to A, ΩB × A B A
B R P = 0 since ΩB = 0. Hence
A
V P = A VBorg + A B
B R VP
4
A
• When B is purely rotating with respect to A, then VBorg = 0, and
A
VP =A B A A B
B R VP + ( Ω B × B R P )
A B
• When P is fixed with respect to B (usually the case if P is point on rigid body), then B R VP = 0,
and
A
V P = A VBorg + (A ΩB × A B
BR P )
Summary
A
V P = A VBorg + A B A A B
B R VP + ( Ω B × B R P )
• the rotational velocity of B wrt. A is given by the angular velocity Ω, which represents both an
axis and magnitude of rotation.
Example 5.1:
For the case where a frame, say B, is rotating with respect to another, say A, we are interested in a
continuous dynamic change in a rotation matrix.
5
A continuous dynamic change in a rotation matrix is linked to the sequence of skew symmetric matrices.
Why?
RT R = I
d T
R R = 0 = ṘT R + RT Ṙ
dt
Thus,
T
RT Ṙ = − RT Ṙ =S
is a skew symmetric matrix (a skew symmetric matrix is one where elements a ij = −aji and aii = 0).
Ṙ = RS(t)
This equation is termed the attitude kinematics. It relates a rotation R to its derivative through S.
0 −ω3 ω2
S = ω3 0 −ω1
−ω2 ω1 0
A
It can be shown (see Craig - Sect. 5.4) by direct differentiation of some rotation matrix B R, that S can
be written in the form
0 −kz θ̇ ky θ̇
S = kz θ̇ 0 −kx θ̇
−ky θ̇ kx θ̇ 0
6
where K = [kx , ky , kz ]T is the unit vector passing though the origin of {A} and {B} with a line of action
defining the axis of rotation and where θ̇ gives the magnitude of the rotational velocity.
A dA
VP = P
dt
d
= (A PBorg + A B
BR P )
dt
d d
= A PBorg + A RB P
dt dt B
dB d
= A VBorg + A
BR P + (A R)B P
dt dt B
d A A −1A
= A VBorg + A B
B R VP + ( R) R P
dt B B
= A VBorg + A B
B R VP + S P
A
= A VBorg + A B A A
B R VP + ( Ω B × P )
= A VBorg + A B A A B
B R VP + ( Ω B × B R P )
0 −ω3 ω2
S = ω3 0 −ω1
−ω2 ω1 0
and
Ω = [ω1 , ω2 , ω3 ]T
7
then, for some vector A P ,
SAP = Ω × AP
where we have seen previously that Ω, say A ΩB , is the angular velocity vector which has a direction
representing the instantaneous axis of rotation of frame {B} with respect to a frame {A}, and a magnitude
representing the speed of this rotation.
Wedge Product
Notation
Ω = ω∧
Note that
ω2 v 3 − v 2 ω3 0 −ω3 ω2
ω × v = ω2 v 1 − ω 1 v 3 = ω3 0 −ω1 v = ω ∧ v
ω1 v 2 − ω 2 v 1 −ω2 ω1 0
The skew parameterisation ω ∧ is equivalent to the matrix representation of the linear op-
erator associated with the vector cross product.
A
V P = A VBorg + A B A A B
B R VP + ( Ω B ∧ B R P )
8
Recall the attitude kinematics
dA
R=A
B RS(t)
dt B
obtained by differentiating RT R = I3 .
• S relates the angular velocity of frame {B} with respect to frame {A} written with respect to frame
{B}.
• Conversely, S̄ relates the angular velocity of frame {B} with respect tot frame {A} written with
respect to frame {A}.
The attitude kinematics may also be expressed in terms of the other representations.
The angular velocity of {B} with respect to {A}, expressed in frame {A} is the sum of the components
due to the rotation of each individual Euler angle
A
ΩB = φ̇e3 + θ̇Rφ e2 + ψ̇Rφ Rθ e1 .
• The first term is associated with the rotation φ taken around the ZA ∈ A axis, where ZA is just
the e3 co-ordinate vector.
• The θ rotation occurs around Rφ e2 the rotated version of Y1 . The Y axis of the rotated frame after
the yaw rotation has been applied.
• Finally the roll ψ occurs around the axis Rφ Rθ e1 , the image of XA under the first two rotations
9
From the above we have
φ̇
θ̇ = W −1 (φ, θ, ψ)A ΩB .
ψ̇
This equation is termed the attitude kinematics for the Z-Y-X Euler angles. It denotes the rate
of change of the Euler angles given a known angular velocity.
B
The inverse of W is given by
0 sψ cψ
B −1 1
W := 0 c θ cψ −cθ sψ .
cos(θ)
cθ sθ sψ sθ cψ
Note that
det(W ) = − cos(θ)
π
and thus the Euler angle attitude kinematics are not valid where θ = 2. This singularity is related to
the non-uniqueness of the Euler angle representation.
where
−sθ 0 1
B
W (φ, θ, ψ) = cθ sψ cψ 0
cθ cψ −sψ 0
Now apply the velocity kinematic tools seen thus far to the specific case of a robotics manipulator.
In computing the velocity kinematics of manipulator the aim is to express the velocity of the end effector
with respect to the station or base frame, which is a non-moving, or inertial frame.
The joint velocities θ̇i or d˙i will provide information about the velocity of the frame i with respect to
frame i − 1.
In general, the velocity, d/dt0 P comprises a component due to the inertial velocity of the base frame {A}
(if it is non-zero), a component due to the velocity of {B} relative to {A} (rotational and linear) and the
velocity of B P .
10
In each case the actual velocity vector V of some point on the end effector is a vector that can be expressed
in any of the frames of reference
0
A
VP =A B
BR V P , V P = 0A RA B
BR V P
Note : in order to extend a kinematic model to a dynamic model, velocities must be measured relative
to some inertial frame of reference.
Although the velocity is the inertial velocity - it is often written in the local frame of reference.
Remember that linear velocity is associated with a point and angular velocity with a body (frame); hence
the linear velocity of a link means the linear velocity of the origin of the link frame and the angular
velocity of a link means the angular velocity of the link frame.
Lets look at the relative linear and angular velocities that occur between the manipulator’s links.
11
Relative Linear Velocity between Links
c θi −sθi 0 ai−1 0
d i cαi−1
s θ cθi cαi−1 −sαi−1 −sαi−1 di 0
=
dt sθi sαi−1 cθi sαi−1 cαi−1 cαi−1 di 0
0 0 0 1 1
ai−1 1 0 0 0 0
d sαi−1 di = d˙i
0 cαi−1 −sαi−1 0 0
=
dt cαi−1 di 0 sαi−1 cαi−1 0 1
1 0 0 0 1 1
= d˙i Zi
i−1
where i Pi is the position of the origin of frame i in frame i, and i T (di , θi ) is the link i − 1 to i
homogeneous transformation.
i−1
In retrospect this is no surprise since the point P i is fixed for revolute joints and can only move in the
joint axis direction Zi for prismatic joints.
Using the geometric insights of above, the angular velocity of link i relative to link i − 1 is given by
i−1
ωi = θ̇i i−1 Z i
The above expressions both relate the kinematic velocity of link i relative to link i − 1. In practice, one
wishes to understand the inertial velocity of link i measured relative to the station frame.
12
The inertial velocity of link i measured relative to an inertial frame can be derived from the relative link
velocity (i−1 Vi , i−1 ωi ) and the inertial velocity 0 V i−1 of link i − 1.
Note that velocity components, either linear or angular, sum as long as they are expressed in the same
frame of reference.
• The term (i−1 ω i × i−1 P i ) is due to the point i−1 P i rotating around the origin of the frame {i − 1}
with its angular velocity. Note that i−1 ωi−1 is the angular velocity of frame {i − 1} and need not
lie in direction i−1 Z i−1 since it is derived from all the previous rotation movements of the robotic
manipulator.
• The term i−1 0 Vi−1 is the linear velocity of frame {i − 1}.
• The term d˙i i−1 Z i is the linear velocity of frame {i} expressed in frame {i − 1}.
• One of either the first or third terms in this equation will be zero depending on whether the joint
in question is prismatic or revolute.
p 0
To save notation we will write p vq =
Vq to denote the inertial velocity of link q expressed in frame
p. Thus,
i−1 i−1
ω i−1 × i−1 P i + i−1 v i−1 + d˙i i−1 Z i
vi =
Let
p 0
ωq = p
ωq
denote the inertial angular velocity of link q expressed in frame {p}.
We have seen that the inertial velocities of a link i can be expressed in terms of the inertial velocities of
link i − 1 and the relative velocities of link i wrt. link i − 1.
We are interested in determining the inertial velocity of the end effector, expressed in some frame, usually
the frame attached to the base of the robot (which is usually inertial).
13
This suggests an iterative scheme where we iteratively propagate link velocities, starting from the robot
base, moving one link at a time until we reach the end effector link.
The velocity of link i relative to the inertial base frame {0} can be calculated iteratively as follows:
3. If i = n then set
0
ω n = 0n−1 Rn−1 ωn , 0
v n = 0n−1 Rn−1 v n .
Otherwise, transform the computed link velocity from frame {i − 1} to frame {i}
i
ωi = ii−1 R i−1 ωi
i
v i = ii−1 R i−1 v i
Example 5.2:
Jacobians
y1 = f1 (x1 , x2 , . . . , xn )
y2 = f2 (x1 , x2 , . . . , xn )
..
.
ym = fm (x1 , x2 , . . . , xn )
Then we can write all the derivatives, ie. of each yi with respect to each xj , as a matrix
14
where x = x1 , x2 , . . . , xn , and where Jf (x) is called the Jacobian.
Up to this point we have determined methods to derive the linear v and angular ω velocity of the robot
end effector.
We have found that we derive expressions for v and w that include the joint angles/extensions q 1 , q2 , .., qn
and joint rates q˙1 , q˙2 , .., q˙n .
It turns out that we can write down these expressions in a general way as
v = Jp (q1 , . . . qn )q̇
and
ω = Jo (q1 , . . . qn )q̇
The usual approach is to stack these Jacobians on top of one another to form the equation for the
Cartesian velocity V as:
v
V= = J(q1 , . . . qn )q̇
ω
where we denote
Jp
J=
Jo
15
as the velocity Jacobian
The key point to remember is that the velocity Jacobian is the link between the Cartesian velocity of the
wrist frame and time rate of change of the joint variables (joint velocities).
The force Jacobian is linked to the velocity Jacobian by the principal of conservation of energy.
J will change at each new set of q1 , . . . , qn . From a practical point of view this means we need to
recompute (not rederive!) the Jacobian at each new robot configuration.
J p1 . . . J pi . . . J pn
J=
Jo 1 . . . J o i . . . J o n
Then the term q˙i Jpi represents the contribution of single joint i to the end-effector linear velocity, while
the term q˙i Joi represents the contribution of single joint i to the end-effector angular velocity.
Then using this fact, we can write down each Jpi and Joi depending on whether joint i is prismatic or
revolute.
0
J pi Zi
=
Jo i 0
16
0
Zi × ( 0 p − 0 p i )
J pi
= 0
Jo i Zi
0
Zi is the unit vector along the joint axis of joint i expressed in the inertial frame.
0
p is the position of the point we are interested in determining the velocity for (the end effector) and 0 pi
is the position of the origin of the ith frame.
Note that given we have the forward kinematic transformations of a manipulator, ie. 0 T1 , 0 T2 , . . . 0 TN ,
we can read off the values for 0 p1 ,0 p2 , . . .0 p as the first three elements of the fourth columns of these
matrices respectively.
The above determination of the Jacobian was on the basis of geometric intuition.
It is also interesting to note that one can derive the Jacobian directly by differentiating the forward
kinematic equations with respect to the joint variables - but we will not do it here :-)
The velocity Jacobian J(q) must be identified with a frame of reference in which the Cartesian velocity
V finally expressed.
Up to this point we have assumed that the Jacobian is identified with the base frame {0}, ie 0 J(q).
It is possible that we may want to convert the Jacobian to be relevant to another frame, so that our end
effector Cartesian velocity calculations are output with respect to another frame (say the station frame).
First note that a frame transformation on a (6x1) Cartesian velocity vector may be achieved according
to
A A B
v BR 0 v
A = A B
ω 0 BR ω
so that
A A
v BR 0 B
A = A J(q)q̇
ω 0 BR
17
and so
A
A
J(q) = BR 0 B
J(q)
A
0 BR
Example 5.3:
Consider a smooth trajectory a of a robot expressed in Cartesian coordinates of the end effector
a : t 7→ 0n T (t).
Thus, to track the desired trajectory it is sufficient to assign a speed controller to joints to achieve
0
ω (t)
q̇ = J −1 (q) 0 n
v n (t)
Hence, in robotics, we are most often interested in the inverse of the Jacobian.
In a typical industrial manipulator there are exactly the same number of active joint variables as degrees
of freedom.
For a full 6DOF manipulator moving in SE(3) then there are 6 active joint variables q = (q 1 , . . . , q6 ).
As a consequence
J(q) ∈ <6×6
is a square matrix and
18
0
−1 ω n (t)
q̇ = J (q) 0
v n (t)
= J −1 (q)0 V n (t)
If there are insufficient joints actuated, say p < 6 joints, to achieve full 6DOF movement the situation
becomes somewhat more serious.
In this case
J(q) ∈ <p×6
is rank p.
To solve the tracking problem one requires that 0 V n (t) lies in the range space of J(q) in order that
J(q)q̇ = 0 V n (t)
has a solution q̇.
The range space of J(q) = span{colJ(q)} is the subspace of accessible velocities for the manipulator. It
is associated with tangent direction to the manipulator subspace for an under-actuated manipulator.
If the velocity profile desired is derived from differentiating a smooth curve in the forward kinematics
(one that satisfies the manipulator subspace constraints) then the velocity constraint is automatically
satisfied.
Singularities
Even in the case where there are 6 joints for 6DOF robotic manipulator there can be problems in solving
q̇ = J −1 (q)0 V n (t)
This equation cannot be solved if J(q) becomes singular. That is, if the range space of J(q) degenerates
in at least one direction. Denote the degenerate direction of J(q) at a singular point by v, then
T
v J(q)q̇ = 0 = v T 0 V n (t)
for all q̇. Thus, 0 V n (t) must be orthogonal to v. Such points are called singularities of the mechanism.
19
1. They represent configurations at which the mobility of the mechanism is reduced, ie. it is not
possible to impose an arbitrary motion on the end effector.
2. In the neighbourhood of a singularity, small velocities in the operational space may cause large
velocities in the joint space.
Types of Singularities
1. Workspace boundary singularities: It is clear that the end link of a manipulator cannot be
moved beyond the boundary of its workspace. All boundary points must be singular points of the
manipulator. The singular direction v is the normal to the workspace boundary.
2. Workspace interior singularities: Singularities are also possible within the workspace. They
are usually due to the alignment of two or more joint axes eg. when joint axis 5 on Puma is zero.
Example 5.4:
1. Use your physical insight of the manipulator geometry and workspace to identify workspace bound-
ary singularities and interior point singularities.
2. Compute the determinant of the velocity Jacobian and find q such that
det (J(q)) = 0
This equation leads to complicated non-linear equations in q that often cannot be solved in closed-
form. This approach can be used for simple manipulators but is most often used as confirmation
of singularity rather than a means to find singular points.
Consider a 6DOF manipulator moving within its workspace in SE(3). Let 0 V n (t) be a bounded velocity
profile of a trajectory that passes close to a singularity but does not pass through the singularity.
Thus,
0
V n (t) < B0
for some bound B0 > 0 and
det (J(q)) >
for > 0. Note that may be small.
20
The joint velocities for trajectory tracking are well defined at all points on the trajectory.
q̇ = J −1 (q)0 V n (t)
Due to the inverse in the Jacobian the best general bound on the joint velocities that is possible is
B0
|q̇| ≤
The potentially large values of q̇ generated by the trajectory tracking algorithm may easily violate the
joint motor capabilities. This is a natural consequence of operating close the structural limitations of a
robotic manipulator and one must be careful.
Imagine a non-moving manipulator holding a load in its end effector, or pushing against a wall, etc.
We can conduct a “statics” force/torque analysis - ie lock all the joints and calculate the force and torque
that each link must exert on the next for the structure to remain in its locked position.
21
Let
The static contact force balance equation (ignoring gravitational effects) for link i is
i
f i − i f i+1 = 0.
The static torque balance equation must be computed around a point. The point chosen is the origin of
frame i. Thus, there is a component due to the transmitted torque plus a component due to the linear
force i f i+1 applied at i P i+1
i
ni − i ni+1 − i P i+1 × i f i+1 = 0.
This leads to a coupled pair of iterative equations relating forces and moments applied to link {i + 1} to
forces and moments applied to link {i}.
Define the generalised force vector as F = (F, N ), where F is the linear force and N is the rotational
torque applied by the origin contact point PT0 of the tool frame.
The generalised force applied at each active joint variable due to a force F = (F, N ) applied at link i can
be calculated iteratively:
1. Set n f n = F and n nn = N . Thus, the initial reference frame is taken as the end effector frame (or
tool frame). This force F = (F, N ) must be specified in frame {n}.
2. Decrement i by one. (The index i takes the values i = n − 1, . . . , 0). Compute the link i force in
frame {i} according to the iterative equations,
i
f i = i f i+1 = ii+1 R i+1
f i+1
i
ni = i ni+1 + i
P i+1 × i f i+1 = ii+1 R i+1 i
P i+1 × i f i+1
ni+1 +
Example 5.5:
22
The Force Jacobian
The force Jacobian of a manipulator is defined to be the algebraic mapping between generalised joint
forces (torques or linear forces for revolute or prismatic joint respectively) and the Euclidean forces
applied at the end effector of the robot.
Let F = (F, N ) be the linear force (F ) and rotational torque N applied by the origin contact point P T0 of
the tool frame. Let τ = (τ1 , . . . , τn ) denote the generalised forces at each active joint variable (q1 , . . . , qn ).
τ = JF
Of course F must be expressed with respect to a frame of reference and J must be expressed in the same
frame of reference.
1. The force Jacobian can be computed via an iterative method similar to that used to compute the
velocity Jacobian.
2. The velocity Jacobian of manipulator is also closely linked to the force Jacobian (we explore this
further below).
The static force Jacobian concerns only the components of force and torque due to contact of the manip-
ulator with the external world. Gravitational effects are ignored in the following discussion and must be
pre-computed and compensated for in any control algorithm based on these ideas.
The principal of virtual work ensures that the ‘infinitesimal’ work done by the end effector in the tool
frame is equal to the total ‘infinitesimal’ work done by the sum of all the active joint variables.
where δX denotes an infinitesimal change in the Euclidean position of the end effector of the manipulator
and δq denotes an infinitesimal change in the active joint variables.
23
where both the force exerted by the end effector and its Euclidean velocity must be expressed in the same
frame of reference. The base frame of reference, {0}, is chosen for the convenience of the subsequent
derivation.
Note: The joint coordinates have only the one representation as a vector of variables. No frame of
reference need be specified.
Note: The entire discussion undertaken above concerns only contact forces. Forces due to conservative
gravitational effects can be explicitly incorporated into the iterative expression or modelled as a change
in potential energy in the work balance equation.
We have been dealing with the Cartesian velocity V of a rigid body, and we noted it is specified in some
particular frame.
If we are interested in expressing V in some other frame, we need a 6x6 transformation to achieve this
mapping.
Consider a rigid-body with two different body-fixed frames {A} and {B} attached. The velocity of frame
{B} relative to frame {A} is zero since the two frames are physically attached to the same rigid body.
24
The velocity of each frame of reference relative to a base frame {0} may be non-zero. Let
X
vY = X 0 V Y , X ωY = X 0 ω Y
A ∧
where recall that P Borg will be a skew symmetric matrix - the matrix operator corresponding to the
cross product.
One writes
B
VB = B A
AT v VA
Clearly B
A T v is a function of
B
AT hence this result is only valid if there is no relative motion between
frames A and B.
Alternatively, this result can be viewed as the instantaneous velocity transformation B A T v between two
frames of reference if there is relative motion between them (ie. it is valid for a particular BAT .
hA F , A V A i = h B F , B V B i
since we assume that the two frames {A} and {B} are rigidly fixed together.
B
Thus, using the instantaneous velocity transformation AT v, one obtains
A TA TB TB
F VA = BF VB = BF A
AT v VA
25
It follows that
A
∧ T B
B
FA AR −B A
A R P B0 FB
A = B B
NA 0 AR NB
B T
R 0 B
FB
= A T
T B T B
A ∧ NB
− P B0 BAR AR
A B
BR 0 FB
= A ∧ A A B
P B0 B R BR NB
=A B
BT f FB
A
where BT f is the force-moment transformation.
Summary
Initially looked at velocity kinematics of general rigid bodies with the purpose of applying the tools in
this area to robotic manipulators eg. the 3 components of the velocity of a point in a moving frame.
Looked at deriving the velocity of the end effector of a robotic manipulator as a function of joint rates.
Presented an iterative algorithm to do this velocity calculation - starting at the base and moving up to
the end effector
Introduced the velocity Jacobian as the “mapping” between the Cartesian end effector velocity and joint
velocities. Presented an algorithm to derive a velocity Jacobian.
Introduced the idea of a “static” force-torque analysis of a manipulator - in order to determine joint
torques to be applied by the motors. Introduced an algorithm for determining the force/torques on each
link - starting at the end effector and finishing at the base
Introduced the force Jacobian and investigated its relationship with the velocity Jacobian.
26