Professional Documents
Culture Documents
Velocity Kinematics: Berke Gür
Velocity Kinematics: Berke Gür
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
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
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
S + ST =
0
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=
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
R ⋅ S(a) ⋅ R T = S(R ⋅ a)
Robotics 4/12/2021
Berke Gür 14
Properties of Skew Symmetric Matrices
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 θ
• 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
1 − k z ∆θ k y ∆θ
R k (∆θ )= k z ∆θ 1 − k x ∆θ
− k y ∆θ k x ∆θ 1
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
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
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 (θ )
dθ
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 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
• 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
1 1 1 2
⋅ p
Vp = Ω2 × p = 2 R
1
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
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
ω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
i i
i
vi +1 = vi + ωi × i oi +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 di +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 di +1 ]T
i
Robotics 4/12/2021
Berke Gür 32
Velocity Kinematics for (P) Joints
ω
=
i
i +1 ωi , ( Ω
i
= i
i +1 0)
ω=
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
S (ω= 0 ⋅ 0 RT
R
e) e e
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
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
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 q1 + ∂∂qf12 q2 + + ∂∂qf16 q6
∂f 2
y= ∂q1 q1 + ∂∂qf22 q2 + + ∂∂qf26 q6
∂f 6 ∂f ∂f
γ= ∂q1 q1 + ∂q62 q2 + + ∂q66 q6
v ∂F
=ξ = = q (J A ) ⋅ q
φrot ∂q
Robotics 4/12/2021
Berke Gür 43
The Analytical Jacobian
=ξ J A (q) ⋅ q
∂∂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
ξ = 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