Xlec 04
Xlec 04
4: Velocity Kinematics
Velocity Kinematics
• When a rigid body rotates about a fixed axis, every point moves in a
circle
– Let k represent the fixed axis of rotation, then the angular
velocity is:
ω = θk
– The velocity of any point on a
rigid body due to this angular
velocity is:
v =ω×r
– Where r is the vector from the
axis of rotation to the point r
• When a rigid body translates, all
points attached to the body have
the same velocity
3
• Skew-symmetric matrices
– Definition: a matrix S is skew symmetric if: S T + S = 0
– i.e. S T = − S
– Let the elements of S be denoted sij, then by definition:
sij = − s ji for i ≠ j
sij = 0 for i = j
– Thus there are only three ⎡ 0 − s3 s2 ⎤
independent entries in a S = ⎢ s3 0 − s1 ⎥
⎢ ⎥
skew symmetric matrix: ⎢⎣ − s2 s1 0 ⎥⎦
– Now we can use S as an operator for a vector a = [ax ay az]T
⎡ 0 −az ay ⎤
⎢ ⎥
S ( a ) = ⎢ az 0 −ax ⎥
⎢−a y ax 0 ⎥⎦
⎣ 4
2. Angular velocity: arbitrary axis
• Example:
– Let i, j, k be defined as follows:
⎡1 ⎤ ⎡0 ⎤ ⎡0⎤
i = ⎢ 0 ⎥ , j = ⎢1 ⎥ , k = ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣ 0 ⎥⎦ ⎢⎣ 0 ⎥⎦ ⎢⎣1 ⎥⎦
– Then we can define the skew symmetric matrices S(i), S(j), S(k):
⎡0 0 0 ⎤ ⎡ 0 0 1⎤ ⎡ 0 −1 0 ⎤
S ( i ) = 0 0 −1 , S ( j ) = 0 0 0 , S ( k ) = ⎢ 1 0 0 ⎥ ,
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣ 0 1 0 ⎥⎦ ⎢⎣ −1 0 0 ⎥⎦ ⎢⎣ 0 0 0 ⎥⎦
⎡ d ⎤
R ⎥ R (θ )
T
• Now define the matrix S as: S = ⎢
⎣ dθ ⎦
• Then ST is:
T
⎛⎡ d ⎤ T ⎞ ⎡ d T⎤
S =⎜⎢
T
R ⎥ R (θ ) ⎟ = R (θ ) ⎢ R ⎥
⎝ ⎣ dθ ⎦ ⎠ ⎣ dθ ⎦
• Therefore S + ST = 0 and:
dR
= SR (θ )
dθ
8
2. Angular velocity: arbitrary axis
= S (ω ( t ) ) R10 p1 = ω ( t ) × R10 p1 = ω ( t ) × p 0
10
4. Addition of angular velocities
• For most manipulators we will want to find the angular velocity of one
frame due to the rotations of multiple frames
– We assume that there are no translational components: all
coordinate frames have coincident origins
– Consider three frames: o0, o1, o2:
R20 ( t ) = R10 ( t ) R21 ( t )
– To illustrate how the rotation of multiple frames is determined by
the rotations of the individual frames, take the derivative of this
rotation matrix:
R 0 = R 0 R1 + R 0 R 1
2 1 2 1 2
=SR 20 ( ) ω0,2
0
R20
– By our previous convention:
R10 R21 = S ω0,1
0
( )
R10 R21 = S ω0,1
0
R20 ( )
– Where ω0,2 is the angular velocity corresponding to a rotation of
0
= R S (ω
0
1
1
1,2 )( R )
0 T
1 R10 R21 since R T R = I
= S (R ω
0 1
1 1,2 )R R 0 1
1 2 because RS (a )R T = S (Ra )
= S (R ω
0 1
1 1,2 )R 0
2
• ( ) 0
( ) (
Further: S ω0,2 R2 = ⎡⎣ S ω0,1 + S R1 ω1,2 ⎤⎦ R2
0 0 0 1
)
0
• And since S ( a + b ) = S ( a ) + S ( b )
ω0,20
= ω0,1
0
+ R10ω1,2
1
= ω0,1
0
+ ω1,2
0
+ ω2,3
0
+ ω3,4
0
+ ... + ωn0−1,n
13
5. Linear velocities
• The linear velocity of any point on a rigid body is the sum of the
linear velocity of the rigid body and the velocity of the particle due to
rotation of the rigid body
– First, the position of a point p attached to a rigid body is:
p 0 = Rp1 + o
– Where o is the origin of the o1 frame expressed in the inertial
frame
– To find the velocity, take the derivative as follows:
p 0 = Rp 1 + Rp 1 + o
= S (ω ) Rp1 + o we assume that p is fixed w/
= ω × Rp1 + v respect to the rigid body
14
6. The Jacobian
( ) ( )
T
S ω0,0 n = R n0 Rn0
– Call the linear velocity of the end-effector:
vn0 = on0
15
6. The Jacobian
Deriving Jv
19
Deriving Jv
20
The complete Jacobian
21
23
⎡ z × ( o6 − oi −1 ) ⎤
J i = ⎢ i −1 ⎥ , i = 1, 2
⎣ zi −1 ⎦
⎡z ⎤
J3 = ⎢ 2 ⎥
⎣0⎦
⎡ z × ( o6 − o ) ⎤
J i = ⎢ i −1 ⎥ , i = 4,5,6
⎣ zi −1 ⎦
24
7. Example: Stanford manipulator
⎡ c1 0 − s1 0⎤ ⎡ c2 0 s2 0⎤ ⎡1 0 0 0⎤
⎢ s 0 c1 0⎥ ⎢s 0 −c2 0⎥ ⎢0 1 0 0⎥
A1 = ⎢ 1 ⎥ , A2 = ⎢ 2 ⎥ , A3 = ⎢
0 −1 0 0 0 1 0 d2 0 0 1 d3 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣0 0 0 1⎦ ⎣0 0 0 1⎦
⎡ c4 0 − s4 0⎤ ⎡c5 0 s5 0⎤ ⎡ c6 − s6 0 0⎤
⎢s 0 c4 0 ⎥ ⎢ s5 0 −c5 0 ⎥ ⎢ s6 c6 0 0⎥
A4 = ⎢ 4 = =
0⎥ 5 ⎢ 0 0⎥ 6 ⎢ 0 1 d6 ⎥
, A , A
0 −1 0 −1 0 0
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣0 0 0 1⎦ ⎣0 0 0 1⎦
25
26
7. Example: Stanford manipulator
27
30
7. Example: SCARA manipulator
31
8. Force/torque relationships
• Similar to the relationship between the joint velocities and the end
effector velocities, we are interested in expressing the relationship
between the joint torques and the forces and moments at the end
effector
– Important for dynamics, force control, etc
• Let the vector of forces and moments at the end effector be
represented as:
T
F = ⎡⎣ Fx Fy Fz nx ny nz ⎤⎦
• Then we can express the joint torques, τ, as:
τ = J T (q) F
• We will derive this using the principal of virtual work when we
discuss the dynamics of manipulators
32
8. Force/torque relationships
9. Singularities
34
9. Singularities
9. Singularities
a1 + a2 a2 − a1
α= α=
a2 a2
37
38
Decoupling of Singularities
39
40
10. Inverse velocity
= J ⎡⎢ J ( JJ )
T T −1 ⎤
⎥⎦
⎣
= JJ +
– Where J+ is the right pseudo inverse of J
– Thus the solution for the joint velocities (with minimum norm) is:
q = J +ξ
41
43