Robotics 04 Jacobian 01 Adv Kinematics
Robotics 04 Jacobian 01 Adv Kinematics
Iterative Propagation
(Velocities or Forces / Torques)
Explicit Derivation
Differentiation the
Velocities Forces / Torques
Forward Kinematics Eqs.
Propagation Propagation
Jacobian Matrix
x J
J 1 x
• The robot joint torques ( ) and the forces F
and moments ( F ) at the robot end effector
(Static Conditions). This relationship is
given by:
J T F
F J
T 1
• Three Actions
– The origin of frame B moves as a function of time with respect to the origin
of frame A
– Point Q moves with respect to frame B
– Frame B rotates with respect to frame A along an axis defined by A B
A
VQ f ( BPQ , B
VQ , A
VBORG , A
B , A
BR)
A
VQ AVBORG BAR BVQ BAR BA R BPQ
AVQ BA R BA R V P R P V
A B A A B
B org Q B B org Q
0 000 0 1 0 0 0 1 0
– Matrix Form A
R BAR BAR CBR BA RT
C
Vector Form
Matrix Form
• Linear velocity - The instantaneous rate of change in linear position of a point relative to some frame.
d
A
P (t t ) A
PQ (t )
VQ PQ lim
A A Q
dt t 0 t
• Linear velocity - The instantaneous rate of change in linear position of a point relative to some frame.
Q
A
PQ
d
A
P (t t ) A
PQ (t )
VQ PQ lim
A A Q
dt t 0 t
• The position of point Q in frame {A} is represented by the linear position vector
A PQx
A
PQ A PQy
A PQz
• The velocity of a point Q relative to frame {A} is represented by the linear velocity vector
A
A
PQx PQx
A
d A A
A
VQ PQy PQy
dt A
PQz A PQz
B
0
PQ (t t ) PQ (t ) B B
B A A
d B
PQ lim V 0
t 0 t Q
dt
A
A PQ (t t ) APQ (t ) A A
PQ lim VQ AVQ AVB ORG
A
d A
dt t 0 t
A
0
A
Const A P (t t ) AP (t )
dA
dt
PB ORG lim B ORG
t 0 t
B ORG
A AV
B ORG VB ORG 0
A
A
B PQ (t t ) B PQ (t ) A B
A
d B
PQ lim VQ
dt t 0 t
A
VQ BAR BVQ
B
PQ
A
VQ AVBORG A ( BVQ ) AVBORG BAR BVQ
A
PQ APBORG BPQ
P
A A A
d d d
A
PQ A
PBORG B B
PQ
Q
dt dt dt
A A
P
Q
A A A
PBORG B PQ
A A
V V
Q
A A
BORG V
A B
Q
A
VQ AVBORG A ( BVQ ) AVBORG BAR BVQ
• When describing the velocity (linear or angular) of an object, there are two
important frames that are being used:
Frame - Velocity
• As with any vector, a velocity vector may be described in terms of any frame, and this frame of reference is
noted with a leading superscript.
• A velocity vector computed in frame {B} and represented in frame {A} would be written
Represented
(Reference Frame) -– Projected on
Represente d
d Computed
Represente d Computed
( VQ ) PQ
dt
Computed
(Measured) - Differentiate with respect to
• We can always remove the outer, leading superscript by explicitly including the rotation matrix which
accomplishes the change in the reference frame
( VQ ) BAR BVQ
A B
• If the calculated velocity is written in terms of of the frame of differentiation the result could be indicated by a
single leading superscript.
A A
( VQ ) AVQ
• In a similar fashion when the angular velocity is expresses and measured as a vector
( C ) BAR B C
A B
• Given: The driver of the car maintains a speed of 100 km/h (as shown to the driver by the car’s
speedometer).
Represented
C
(Reference Frame)
y Computed
B (Measured)
V
A x D
{C}
y
x
{W}
E
Object Frame
F
B
A D
c s 0
B R Rot ( z
A
ˆ , ) s c 0
0 0 1
0.707 0.707 0.000
Rot ( zˆ,45o ) 0.707 0.707 0.000
0.000 0.000 1.000
0.707 0.707 0.000
Rot ( zˆ,45o ) 0.707 0.707 0.000
0.000 0.000 1.000
0 1 0 0 1 0
Rot ( zˆ,90o ) 1 0 0 Rot ( ˆ
z , 90 o
) 1 0 0
0 0 1 0 0 1
( VQ ) BAR BVQ
A B
• A
B R 0 is not time-varying (in this example)
C C
( VC )CC R CVC I [0] [0]
W W
( VC )WW RW VC I WVC
W C
( VC )WC R CVC WC R[0] [0]
( VC )WCRW VC
C W
Velocity
Road Section V
C C
C
W W
VC V
W C
C
C W
VC
C
A A B D
E
C
B A B D
E
C
C A B D
E
C
D A B D
E
C
E A B D
E
C
F A B D
E
Velocity
Road Section V
C C
C
W W
VC V
W C
C
C W
VC
C
A A B D
E
C
B A B D
E
C
C A B D
E
C
D A B D
E
C
E A B D
E
C
F A B D
E
Velocity
Road Section V
C C
C
W W
VC V
W C
C
C W
VC
C
A A B D
E
C
B A B D
E
C
C A B D
E
C
D A B D
E
C
E A B D
E
C
F A B D
E
Velocity
Road Section V
C C
C
W W
VC V
W C
C
C W
VC
C
A A B D
E
C
B A B D
E
C
C A B D
E
C
D A B D
E
C
E A B D
E
C
F A B D
E
D C
A B D
E
C
E A B D
E
C
F A B D
E
{A} {B}
{C}
• The velocity of the object in {C} relative to both {A} and {B} is the same, that is
A
VC BVC
• As long as {A} and {B} remain fixed relative to each other (translational but not rotational), then the velocity
vector remains unchanged (that is, a free vector).
A
VQ AVBORG BAR BVQ A B BAR BPQ
PQ
A
A
B t A
PQ sin APQ
A
PQ (t t )
A
PQ sin
A
PQ (t )
• Using a vector cross product we get
APQ
AVQ A B APQ
t
• Rotation in 2D
• In the general case, the vector Q may also be changing with respect to the frame {B}. Adding this component
we get.
VQ
A
V
A B
Q
A
B A PQ
• Using the rotation matrix to remove the dual-superscript, and since the description of at any instance is
A A B
we get PQ B R PQ
A
VQ BAR BVQ A B BAR BPQ
Point - 1D
Linear Velocity
Plane - 2D / Body - 3D
• Just as there are many ways to represent orientation (Euler Angles, Roll-Pitch-Yaw Angles, Rotation
Matrices, etc.) there are also many ways to represent the rate of change in orientation.
Angular Velocity
Representation
• The angular velocity vector is convenient to use because it has an easy to grasp physical meaning.
However, the matrix form is useful when performing algebraic manipulations.
• Angular Velocity Vector: A vector whose direction is the instantaneous axis of rotation of one frame relative
to another and whose magnitude is the rate of rotation about that axis.
x
A
B y
z
The angular velocity vector B describes the instantaneous change of rotation of frame {B} relative to
A
•
frame {A}
A
A B
B R Px P
B
y
B
Pz
• If we look at the derivative of the rotation matrix, the columns will be the velocity of each unit vector of {B}
relative to {A}:
A
A
B R
d
dt
V
A
B R BV
x
B
y
B
Vz
A
B R BAR BA R
A A
V
BV
x
B
y
B
Vz BAR
P
BP
x
B
y
B
Pz
• where R the angular velocity matrix
is definedAas
B
0 z y x
A
R z 0 x A
B y
B
y x 0 z
0 z y x
Definition A
R z 0 x A
B y
B
y x 0 z
Multiply by Constant k A
B R k
A
B
x x
Multiply by Vector
A
B R y
A
B y
z z
Multiply by Matrix R
s
t
A
B R R
s
t
T
R
s
t
A
B
Instructor: Jacob Rosen
Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA
VQ AVBORG BAR BVQ A B BAR BPQ
A A
VQ AVBORG BAR BVQ BAR BA R BPQ
Simultaneous Linear and Rotational Velocity -
Vector Versus Matrix Representation
Vector Form Matrix Form
A
VQ AVBORG BAR BVQ A B BAR BPQ A
VQ AVBORG BAR BVQ BAR BA R BPQ
i j k
P x y z i ( y Pz z Py ) j ( x Pz z Px ) k ( x Py y Px )
Px Py Pz
0 z y Px z Py y Pz
R P z 0 x Py z Px x Pz
y x 0 Pz y Px x Py
• The final results for the derivative of a vector in a moving frame (linear and rotation velocities) as seen from a
stationary frame
• Vector Form
B
PQ
A
B
A
VQ VBORG R VQ B R PQ
A A
B
B A A
B
B
• Matrix Form
A
VQ AVBORG BAR BVQ BAR BA R BPQ
A
PQ ABT BPQ A
B
B
• To compute the relationship between PQ
velocity vectors in different frames, we will
take the derivative:
d A
dt
PQ
d A B
dt
BT PQ
A
PQ ABT BPQ ABT BPQ
• Recall that
R
A
P
A
BT
A B B org
0 0 0 1
A d
R
A
P
A
R
A
P
A
A
R BA R V
A
BT
B B org B B org B B org
dt
0 0 0 1 0 0 0 0 0 0 0 0
A
A A
B R B R
A
VB org
BT
0 0 0 0
• Substitute the previous results into the original equation A PQ ABT BPQ ABT BPQ we get
AVQ BA R BA R V P R P V
A B A A B
B org Q B B org Q
0 000 0 1 0 0 0 1 0
• This expression is equivalent to the following three-part expression:
A
VQ BAR A
B
R BPQ AVB org BAR BVQ
A
VQ BAR A
B
R BPQ AVB org BAR BVQ
A
VQ A B A
B
R BPQ AVB org BAR BVQ
• Find
A
C
• We use rotation matrices to represent angular position so that we can compute the
angular position of {C} in {A} if we know the angular position of {C} in {B} and {B} in
{A} by
A
C R BARCBR
• we find
A
C R CA R BAR BA RCBR BARCBR CB R
A
C R CA R BAR CA R BAR CBR CB R
A
C R CA RCART BAR CA RCART BARCBR CB RCART
A
C R BAR BAR CBR BA RT
• The above equation provides the relationship for changing the frame of representation of angular velocity
matrices.
A
C A B BAR B C
• To summarize, the angular velocities of frames may be added as long as they are expressed in the same
frame.
A
VQ AVBORG BAR BVQ A B BAR BPQ
B
PQ
– Matrix Form
A
VQ AVBORG BAR BVQ BAR BA R BPQ
• Angular Velocity
– Vector Form A
C A B BAR B C
– Matrix Form A
C R BAR BAR CBR BA RT
Det ( A) A 0
Det ( A) A 0
A Singular
• The rank of the matrix A is the size of the largest squared Matrix S for which
Det ( S ) 0
2 1 2 1
• Example 1 - A AS A S 3 Rank( A) 2
1 2 1 2
1 1 1 1
1 1 1 1
• Example 2 - A S 1 S 1 Rank( A) 1
1 1 1 1
1 1 1 1
Det ( A) 0
• Example
2 0 1
A 6 3 3
10 6 5
3 3 6 3 6 3
det( A) A 2 0 1 606 0
6 5 10 5 10 6
• Eigenvalues
AX X
( A I ) X 0
Det ( A I )
• Wikipedai - https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors
2 1
A
1 2
2 1 X1
( A I ) X 0
1 2 X 2
2 1
Det ( A I ) 2 4 3 0
1 2
1 1
2 3
1 1
1 1 X 1 1
1 1 X 0 X
2 1
2 3
1 1 X 1 1
X
1 1 X 0 1
2
• If A is non-singular ( Det
), and
( A) 0is an eigenvalue of A with corresponding to eigenvector X,
then
A1 X 1 X
• If the n x n matrix A is of full rank (that is, Rank (A) = n), then the only solution to
AX 0
is the trivial one
X 0
• If A is of less than full rank (that is Rank (A) < n), then there are n-r linearly independent (orthogonal)
solutions
xj 0 j nr
for which
Ax j 0