Download as pdf or txt
Download as pdf or txt
You are on page 1of 50

Velocity Kinematics

Berke Gür

Robotics 4/12/2021
Berke Gür 1
Objectives
• Learn to represent linear & angular velocities of objects in 3-D space with reference
to fixed and moving frames
• Learn to express the linear & angular velocities of frames in serial linkage
manipulators
• Familiarize with Jacobians in relating work-space and joint-space velocities
• Learn about the singularities of a manipulator

Robotics 4/12/2021
Berke Gür 2
Review of Rigid Body Kinematics
• Rotation about a fixed axis in a plane
– Point O is fixed
– All points rotate with the same angular
velocity ω
– The angular velocity induces a linear
velocity at each point (except point O)

  
v= ω × r

Robotics 4/12/2021
Berke Gür 3
Review of Rigid Body Kinematics
• Rotation about a translating axis in a plane
– Point B is translating & the body is rotating about point B
– The linear velocity of point A consists of the linear velocity of point B plus the linear velocity
induced due to rotation

   
v A =vB + ω
 ×r
Relative velocity
of point A w.r.t.
point B

Robotics 4/12/2021
Berke Gür 4
Linear Velocity of a Point
• The linear velocity of a point in space is defined as the rate of change (or time
derivative) of the position vector describing the point
• The velocity of a point is a vector and as with any vector is described with respect to
a frame

 2 2
d 2  p (t + ∆t ) − p (t ) 
2
=
Vp = ( p ) lim  
 dt ∆t →0
 ∆ t 
Veloicty of the
Point Defined by

the Vector 2 p

Robotics 4/12/2021
Berke Gür 5
Linear Velocity of a Point
• The frame which the point is defined can be different than the frame which the
velocity of the point is defined
– The velocity of the point defined by the vector 2p expressed with respect to {1}

 
( V=
1 2
p)
1
2 R ⋅ Vp
2

Vector Vp is
defined with
respect to frame
{1} Differentiation is
done with respect
to frame {2}

Robotics 4/12/2021
Berke Gür 6
Linear Velocity of a Point

• A linear velocity vector 1V2 expresses the linear velocity of the origin of a frame {2}
with respect to frame {1}
• The velocity of the origin of frame {2} with respect to a fixed universal frame is
expressed as

 
U
V2 = v2
Universal reference
 1 U
frame {U}
v2 = ( V2 )
1

Velocity of origin of frame {2}


with respect to frame {1} but
differentiation is performed
with respect to frame {U}

Robotics 4/12/2021
Berke Gür 7
Angular Velocity of a Frame
• The angular velocity of a frame with respect to another frame is the rate of change
of the rotation matrix between the two frames
• The angular velocity of frame {2} with respect frame {1} is defined as


1
Ω2
{2}
Reference frame {1}

1
Ω2

Rotating frame

Robotics 4/12/2021
Berke Gür 8
Angular Velocity of a Frame

• The direction of 1Ω2 is the axis of rotation, the magnitude is the speed of rotation
(dθ/dt)
• The angular velocity vector can be expressed with reference to another frame
– Angular velocity of {3} about {2} with reference to {1}

( Ω3 )
1 2

• The angular velocity of a frame with respect to a universal frame

   
U
Ω 2= ω2 , ω2=
1
( Ω2 )
1 U

Robotics 4/12/2021
Berke Gür 9
Angular Velocity of a Frame
• Is it possible to define the rotational velocity vector in a similar form as the linear
velocity vector

 ? d  1
R (t + ∆t ) − 1
2 R (t )

=
1
Ω2 = 1
( 2 R ) lim  2

dt ∆t →0
 ∆ t 

• The above equality cannot be valid since Ω is a 3×1 vector whereas R is a 3×3
matrix
• The relationship between angular velocities and rotational matrices is a bit more
involved
• To derive this relationship, we need to introduce the skew symmetric matrix S

Robotics 4/12/2021
Berke Gür 10
Skew Symmetric Matrices

• A square matrix S is said to be skew symmetric if

S + ST =
0

• A 3×3 skew symmetric matrix is of the form

 0 − s3 s2 
=S  s3 0 − s1 
 
 − s2 s1 0 

Robotics 4/12/2021
Berke Gür 11
Skew Symmetric Matrices

• If a = [ax ay az]T is a 3×1 vector, we can define the associated skew symmetric matrix
operator as

 0 −az ay 
=S(a)  az 0 − ax 
 
 − a y ax 0 

Robotics 4/12/2021
Berke Gür 12
Skew Symmetric Matrices
• Recall Cayley’s formula from the lecture on spatial transformations where a rotation
matrix is described as

(I − S) −1 (I + S)
R=

where S was the 3×3 skew symmetric matrix defined as

 0 − sz sy 
=S  sz 0 − sx 
 
 − s y sx 0 

Robotics 4/12/2021
Berke Gür 13
Properties of Skew Symmetric Matrices
1. The skew symmetric matrix operator is linear
S(α a + β b)= α S(a) + β S(b)

2. The skew symmetric matrix operator can also operate on vectors & can be used to
implement the cross product
   
S( a) ⋅ p = a × p

3. The skew symmetric matrix operator also satisfies

R ⋅ S(a) ⋅ R T = S(R ⋅ a)

Robotics 4/12/2021
Berke Gür 14
Properties of Skew Symmetric Matrices

4. For any vector x, the skew symmetric matrix satisfies

xT Sx = 0

Robotics 4/12/2021
Berke Gür 15
Angular Velocity and Rotation Matrices
• Consider the time derivative of a rotation matrix

dR   R (t + ∆t ) − R (t ) 
= R= lim  
dt ∆t →0
 ∆t

• If we represent the rotation matrix using the very general angle-axis form, we have

 k x k x vθ + c θ k x k y vθ − k z s θ k x k z vθ + k y s θ 
R k (θ ) = k k vθ + k s θ k y k y vθ + c θ k y k z vθ − k x s θ 
 x y z 
 k x k z vθ − k y s θ k y k z vθ + k x s θ k z k z vθ + c θ 

where k = [kx ky kz]T and vθ = 1−cθ


Robotics 4/12/2021
Berke Gür 16
Angular Velocity and Rotation Matrices

• Now, assume that in time Δt, there is a rotation about k by a very small angle Δθ
• The rotation matrix between the two frames at time (t + Δt) can be expressed as

t ) R k (∆θ ) ⋅ R (t )
R (t + ∆=

• Hence, we have

  R (t + ∆t ) − R (t )   R k (∆θ )R (t ) − R (t ) 
= =
R lim lim  
∆t →0  ∆t  ∆t
  t →0 


  R (t ) 
= lim [R k (∆θ ) − I ] 
∆t →0
 ∆t 

Robotics 4/12/2021
Berke Gür 17
Angular Velocity and Rotation Matrices

• As Δt → 0, the angle Δθ → 0 and from the small angle approximation [cos(Δθ) ≈ 1,


sin(Δθ) ≈ Δθ]

 1 − k z ∆θ k y ∆θ 
R k (∆θ )=  k z ∆θ 1 − k x ∆θ 
 
 − k y ∆θ k x ∆θ 1 

• Substituting this matrix into the definition of dR/dt

 0 − k zθ k yθ 
=  k θ
R 0 − k θ  R (t )
 z x 
 − k yθ k xθ 0 
 
Robotics 4/12/2021
Berke Gür 18
Angular Velocity and Rotation Matrices

• Notice that the first 3×3 matrix in the product has the form of a skew symmetric
matrix operator

 0 − k zθ k yθ 
   
=
R  k zθ 0 − k xθ  R=(t ) S([k xθ k yθ k zθ]) ⋅ R (t )
 − k yθ k xθ 0 

Robotics 4/12/2021
Berke Gür 19
Angular Velocity and Rotation Matrices
• The argument of the skew symmetric matrix operator is a vector of the x-, y-, & z-
components of the angular speed with respect to the non-rotating frame

[k xθ k yθ k zθ]T =


Ω= [Ω x Ωy Ω z ]T

• Hence, we can write dR/dt = S(Ω)·R


• At any given instant, the change in the orientation of a frame can be visualized as a
rotation about an arbitrary vector k and each of the components of the angular
velocity matrix Ω are the unit vectors of k scaled by the angular speed dθ/dt

Robotics 4/12/2021
Berke Gür 20
Angular Velocity and Rotation Matrices
• Since a rotation matrix is orthonormal, it satisfies
 ⋅ RT + R ⋅ R
R
d / dt T = 0
R ⋅ RT = I →
 ⋅ RT + (R ⋅ R
R  T )T =0
• We can define a 3×3 skew symmetric matrix as
 ⋅ RT
S(Ω)= R

since by substitution we can verify that


 ⋅ RT + (R ⋅ R
R  T )T= S(Ω) + ST (Ω)= 0

resulting in
1 
=
2 R S ( 1
Ω 2 ) ⋅ 2R
1 T

Robotics 4/12/2021
Berke Gür 21
Angular Velocity and Rotation Matrices
• Note also the existance of the following properties
1 
=
2 R S ( 1
ω 2 ) ⋅ 2R
1

and


=
1
R 1
R ⋅ S( 1 ω 2 )
2 2

Robotics 4/12/2021
Berke Gür 22
Angular Velocity and Rotation Matrices
• In some texts, the time derivative of the rotation matrix is defined as

d 
=R S(k ) ⋅ R (θ )

where S is a skew symmetric matrix and k is an arbitrary vector of rotation
• Using the chain rule, we get

d d R dθ 
 = R= ⋅
R =θ ⋅ S(k ) ⋅ R (θ ) =S(Ω) ⋅ R (θ )
dt dθ dt

Robotics 4/12/2021
Berke Gür 23
Simple Translational Motion

• The vector 2p is expressed with respect to frame {1} as


  
1
p = 21 R ⋅ 2 p + 1o2

• In case of pure translation


1  =0
R
2

• The linear velocity of the point p expressed with respect to frame {1}
{2}
2 
p
  1 {1}
1
V p = 2 R ⋅ V p + Vo2
1 2

1
o2

Robotics 4/12/2021
Berke Gür 24
Simple Rotational Motion

• The vector 2p is expressed with respect to frame {1} as


  
1
p = 21 R ⋅ 2 p + 1o2

• All points of the body attached to frame {2} rotate with the same angular velocity
of 1Ω2

 
1
Ω2 ∆1 p

1
Ω 2 ⋅ ∆t 
1
Ω 2 ⋅ ∆t

1  
p (t )

1
p (t ) ⋅ sin θ
1
p (t + ∆t ) 
θ ∆1 p

o1

Robotics 4/12/2021
Berke Gür 25
Simple Rotational Motion
• In case of pure rotation
 
=V p 0,=
2 1
Vo2 0

• The linear velocity of the point p expressed with respect to frame {1}

 1  1 1 2
1 ⋅ p
Vp = Ω2 × p = 2 R 1

Ω2

∆1 p

1
Ω 2 ⋅ ∆t 
1
Ω 2 ⋅ ∆t

1  
p (t )

1
p (t ) ⋅ sin θ
1
p (t + ∆t ) 
θ ∆1 p

o1

Robotics 4/12/2021
Berke Gür 26
Example: Pure Rotational Motion
• Prove that the equality below is valid

 1 2
1
Ω 2 × p= 1 
R⋅ p
2

Robotics 4/12/2021
Berke Gür 27
Simultaneous Linear and Rotational Motion
• Translation velocity due to linear motion
  1
V p = 2 R ⋅ V p + Vo2
1 1 2

• Translational velocity due to rotational motion

 1  1 1 2
⋅ p
Vp = Ω2 × p = 2 R
1

• Translational velocity due to combined motion

  1 1  1
1
V p= 1
2 R ⋅ V p + Vo2 + Ω 2 × p
2

Robotics 4/12/2021
Berke Gür 28
Velocity Kinematics of Manipulators

• The fixed universal frame {U} is the base frame {0}


• The variable vi represents the linear velocity of the origin of the frame attached to
link {i} with respect to the base frame {0}
• The variable ωi represents the angular velocity of the frame attached to link {i}
with respect to the base frame {0}
• Each link may have both linear and angular velocities relative to neighboring links
• Two linear or angular velocities can be added only if they are expressed with
respect to the same frame
• The velocity of link i+1 will be the velocity of link i plus any new velocity
components added by joint i+1

Robotics 4/12/2021
Berke Gür 29
Velocity Kinematics for (R) Joints

• For a (R) joint i+1, the rotation will be about the zi+1 axis with an angular speed of
dθi+1/dt which is expressed in the vector form as

ωi +1 = [0 0 θi +1 ]T
i +1

• Angular velocity of link i+1 with reference to frame {i}


 
i
ωi +1 =iωi + i+1i R ⋅ ([0 0 θi+1 ]T )
• Angular velocity of link i+1 with reference to frame {i+1}

  
ωi +1 =
i +1 i +1
i R ⋅ iωi +1 = i +1
i R ⋅ iωi + ([0 0 θi +1 ]T )

Robotics 4/12/2021
Berke Gür 30
Velocity Kinematics for (R) Joints

• Linear velocity of link i+1 with reference to {i}

 i i  
i
vi +1 = vi + ωi × i oi +1

• Linear velocity of link i+1 with reference to {i+1}

    
i +1
vi +1 = i +1
i R ⋅ i vi +1 = i +1
i R ⋅ ( i vi + iωi × i oi +1 )

Robotics 4/12/2021
Berke Gür 31
Velocity Kinematics for (P) Joints

• If joint i+1 is (P), the translational velocity will be about the zi+1 axis with a linear
speed of d(di+1)/dt which is expressed in the vector form as

vi +1 = [0 0 di +1 ]T
i +1

• The linear velocity of link i+1 expressed with reference to frame {i+1} is

  i  i
i +1
vi +1 = i +1
i R ⋅ ( vi + ωi × oi +1 ) + [0 0 di +1 ]T
i

Robotics 4/12/2021
Berke Gür 32
Velocity Kinematics for (P) Joints

• The angular velocity of link i+1 is the same as that of link i

  
ω
=
i
i +1 ωi , ( Ω
i
= i
i +1 0)

• Hence, we can write

 
ω=
i +1
i +1
i +1
i R ⋅ ωi
i

Robotics 4/12/2021
Berke Gür 33
Example: Velocity Kinematics of (RRR) Planar Mechanism
• Compute linear & angular velocities of the links of the manipulator shown below

Robotics 4/12/2021
Berke Gür 34
The Geometric Jacobian

• Let the linear velocity ve of the end-effector w.r.t. the base frame be defined as

v e = 0 o e

• Also, let the angular velocity of the end-effector be defined as

S (ω= 0  ⋅ 0 RT
R
e) e e

• We seek to find linear expressions of the form

v e J v (q) ⋅ q
=
ω e J ω (q) ⋅ q
=
Robotics 4/12/2021
Berke Gür 35
The Geometric Jacobian

• The 3×N upper half Jacobian associated with linear velocities is obtained from

J v (q) = [υ1 υ2  υ N ]

where

0
 zi , if joint i is (P) These vectors (e.g., 0zi)
υi =  0  0  0  is based on an arbitrary
 zi × ( oN − oi ), if joint i is (R) configuration of the
manipulator

Robotics 4/12/2021
Berke Gür 36
The Geometric Jacobian

• The 3×N lower half Jacobian associated with angular velocities is obtained from

0  0
J ω (q) =  ρ1 z1
 ρ 2 z2  ρ N z N 
0

where

0, if joint i is (P)


ρi = 
1, if joint i is (R)

Robotics 4/12/2021
Berke Gür 37
The Geometric Jacobian
• The Jacobian matrix that relates the joint velocities to the angular velocities is
termed the geometric Jacobian (JG)

Robotics 4/12/2021
Berke Gür 38
The Geometric Jacobian

• The position & orientation of the end-effector frame {N} of a 6-DOF manipulator
with respect to {0} is expressed using 6 work-space variables

ξ = [x y z α β γ ]T

• The same information can be expressed in the joints-space using the 6 joint space
variables

q = [q1 q2 q3 q4 q5 q6 ]T The vector q is referred to as


the generalized coordinates

where each joint variable qi is either θi for (R) joint or di for (P) joint

Robotics 4/12/2021
Berke Gür 39
The Geometric Jacobian
• The Jacobian matrix that expresses the linear and angular velocity of the end-
effector {N} in terms of the rate of change in the joint variables is termed the
geometric Jacobian (JG)

  v   J v (q) 
=ξ =   = q J (q) ⋅ q
ω   J ω (q) 

• The Jacobian is defined with respect to a reference frame (e.g., with respect to the
base frame {0})
• The reference frame for defining the Jacobian can be changed

 1
0R 0  0
=
1
J (q)  1  ⋅ J (q)
 0 0 R
Robotics 4/12/2021
Berke Gür 40
The Analytical Jacobian

• The position & orientation of the end-effector frame {N} of a 6-DOF manipulator
with respect to {0} is expressed using 6 work-space variables
φ
ξ = [x y z α β γ ]T

• The same information can be expressed in the joints-space using the 6 joint space
variables
The vector q is referred to as
q = [q1 q2 q3 q4 q5 q6 ]T the generalized coordinates

where each joint variable qi is either θi for (R) joint or di for (P) joint

Robotics 4/12/2021
Berke Gür 41
The Analytical Jacobian
• From kinematic analysis, we compute the following set of 6 forward kinematics
equations
x = f1 (q1 , q2 , q3 , q4 , q5 , q6 )
y = f 2 (q1 , q2 , q3 , q4 , q5 , q6 )

γ = f 6 (q1 , q2 , q3 , q4 , q5 , q6 )

which can be expressed as a set of non-linear & coupled equations of the form
End-effector position

x
=ξ =  F (q)
φrot 
End-effector rotation
Robotics 4/12/2021
Berke Gür 42
The Analytical Jacobian
• Differentiating both sides w.r.t. time & applying the chain rule on the RHS results in
∂f1
x= ∂q1 q1 + ∂∂qf12 q2 +  + ∂∂qf16 q6
∂f 2
y= ∂q1 q1 + ∂∂qf22 q2 +  + ∂∂qf26 q6

∂f 6 ∂f ∂f
γ= ∂q1 q1 + ∂q62 q2 +  + ∂q66 q6

which can be expressed in the matrix form as

  v  ∂F
=ξ  =  = q (J A ) ⋅ q
φrot  ∂q
Robotics 4/12/2021
Berke Gür 43
The Analytical Jacobian

• The term JA is called the analytic Jacobian

=ξ J A (q) ⋅ q

• In general, the analytical Jacobian is a M×N matrix of partial derivatives

 ∂∂qf1 ∂f1
∂q2  ∂f1
∂qN

 1 
 ∂∂qf21 ∂f 2
∂q2
∂f 2
 ∂qN 
JA =  
     
 ∂f M ∂f M
 ∂∂qf MN 
 ∂q1 ∂q2

Robotics 4/12/2021
Berke Gür 44
The Analytic Jacobian of a Manipulator
• The analytic Jacobian expresses the linear velocity and time rate of change of the
Euler angles of the end-effector {N} in terms of the rate of change in the joint
variables

 v
=ξ =
φ  J A (q) ⋅ q

 rot 

• However, these angular velocities generally do not correspond to the true angular
velocities (ωN) defined between {N} & {0}

=φrot [α β γ ]T ≠ ω N

Robotics 4/12/2021
Berke Gür 45
Example: Analytic Jacobian

• Consider a global frame {G} & a body frame {B} obtained Z-X-Z Euler rotations
defined with the angles (φ, θ, ψ)
• The

Robotics 4/12/2021
Berke Gür 46
Euler Angles

1) Rotation about the Z axis by ϕ

2) Rotation about the x′ axis by θ

3) Rotation about the z″ axis by ψ


Robotics 4/12/2021
Berke Gür 47
Singularities
• Inverse velocity kinematics is expressed as

ξ = J (q) ⋅ q ⇒ q = J −1 (q) ⋅ ξ

• If J−1(q) does not exist (i.e., the Jacobian is uninvertible), that configuration
corresponds to a singularity
• At a singularity, the determinant of the Jacobian is zero
• Singularities are independent of the reference frame
• Physically, a singularity corresponds to a configuration which requires infinite joint
velocities
• A manipulator controller always avoids passing through a singularity

Robotics 4/12/2021
Berke Gür 49
Example: Singularities of (RRR) Planar Mechanism
• Determine the singularities of the manipulator shown below

Robotics 4/12/2021
Berke Gür 50
Next Lecture
• Lecture topics
– Static Analysis of Manipulators
• Reading assignment: Sec. 5.10 in textbook
• Questions?

Robotics 4/12/2021
Berke Gür 51

You might also like