You are on page 1of 47

Addis Ababa Science and Technology University

(AASTU)

Industrial Automation and Introduction to Robotics


Chapter-2: Kinematics of Industrial Robot
1 Kinematics
2 Homogeneous coordinate transformation of rigid body
2D-Transformation
2D-Translation
2D-Rotation
2D-Rototranslation
3D-Transformation
3D-Translation
3D-Rotation
3D-Rototranslation
Composition of Rototranslation
Homogeneous Transformation
3 Velocity Analysis
4 Acceleration Analysis
5 Denavit-Hartenberg (H-D) Convention
6 Jacobian
7 Singularity
Kinematics

Kinematics
Robot kinematics refers the description of the geometric characteris-
tics of the robot’s motion (position, velocity, acceleration), without
considering the forces or moments that cause the motion.

Forward kinematics: Calculating the position and orientation of the


end effector in terms of the joint variables

Inverse Kinematics: The conversion of the position and orientation


of a manipulator end effector from Cartesian space to joint space.
Kinematics

Example: For a 2-DoF (RR) planer manipulator shown below, It has


two revolute joints and the length of link 1 and 2 are a1 and a2 ,
respectively. Derive the forward kinematics equations

The coordinates of end effector position is p (px and py ) are


determined as follows.
px = a1 cosθ1 + a2 cos(θ1 + θ2 )
py = a1 sinθ1 + a2 sin(θ1 + θ2 )
Kinematics

Exercise: Drive the equation which express the inverse kinematics


of the 2-dof robot given below

Fin the value of θ1 and θ2 if the length of the links 0.3 and the end
effector position is (0.4,0.4)

sol1 = [25.53, 39], sol2 = [64.47, −39]


Kinematics

Example: Find the forward/direct kinematics of the figure given


below

Example: Compute the inverse kinematics of the two link planar


(PP) manipulators given above.
Kinematics

Exercise: Consider the 3-DoF (RRR) planar robot arm shown below.
The arm consists of one fixed link and three movable links that move
within the plane. All the links are connected by revolute joints whose
joint axes are all perpendicular to the plane of the links. Find the
kinematics equations of the system
Kinematics

Exercise: The following RPR planar robot arm, obtain the kinemat-
ics equations relating the end effector position and orientation to
the joint displacements.
Homogeneous coordinate transformation of rigid body

Homogeneous coordinate transformation of rigid body


A rigid body is a solid body in which deformation is zero or so small
it can be neglected. The distance between any two given points on
a rigid body remains constant in time regardless of external forces
exerted on it.

Homogeneous transformation of a rigid body combine the operations


of rotation and translation into a single matrix multiplication.

Homogeneous transformation matrix is used to derive the forward


kinematic equations of rigid manipulators.

In order to represent the relative position and orientation of one


rigid body with respect to another, we will rigidly attach coordinate
frames to each body, and then specify the geometric relationships
between these coordinate frames.
Homogeneous coordinate transformation of rigid body
2D-Transformation

2D-Translation
The objective is to find out the (x,y) coordinate of point p with
respect to frame o0 x0 y0 given the coordinate of point p in frame
o1 x1 y1 .

Let p 1 represent point p in frame o1 x1 y1 and the coordinate of p


with respect to frame o0 x0 y0 is p 0 and given as
p 0 = p 1 + d10
where d10 is the translation of the two frames
Homogeneous coordinate transformation of rigid body
2D-Transformation

2D-Rotation

Frame o1 x1 y1 is obtained by rotating frame o0 x0 y0 by an angle θ.


The relative orientation of the two frames is specified by the angle
of rotation θ.

xp0 = cosθxp1 − sinθyp1


yp0 = sinθxp1 + cosθyp1
    
xp0 cosθ −sinθ xp1
=
yp0 sinθ cosθ yp1

Find the coordinate of p in frame o0 x0 y0 if the coordinate of p is


(1,3) in reference frame o1 x1 y1 and the rotation angle is 45 degree
in counterclockwise direction.
Homogeneous coordinate transformation of rigid body
2D-Transformation

The general way to find the orientation is to specify the unit vectors
projection of frame o1 x1 y1 axes with respect to frame o0 x0 y0 axes.

R10 = x10 | y10


 

where x10 and y10 are the coordinates in frame o0 x0 y0 of unit vectors
x1 and y1 , respectively.

In the two dimensional case, it is straightforward to compute the


entries of this matrix.
   
cosθ −sinθ
x10 = , y10 =
sinθ cosθ

Therefore the rotational matrix from frame-1 to frame-0 R10 is given


as  
0 cosθ −sinθ
R1 =
sinθ cosθ
Homogeneous coordinate transformation of rigid body
2D-Transformation

Thus, R10 is a matrix whose column vectors are the coordinates of


the unit vectors along the axes of frame o1 x1 y1 expressed relative to
frame o0 x0 y0 .

Recalling that the dot product of two unit vectors gives the projec-
tion of one onto the other
   
0 x1 .x0 0 y1 .x0
x1 = , y1 =
x1 .y0 y1 .y0

which can be combined to obtain the rotation matrix


 
0 x1 .x0 y1 .x0
R1 =
x1 .y0 y1 .y0

The orientation of frame o0 x0 y0 with respect to the frame o1 x1 y1 is


constructed as  
x .x y .x
R01 = 0 1 0 1
x0 .y1 y0 .y1
Homogeneous coordinate transformation of rigid body
2D-Transformation

Properties of the Rotation Matrix

R −1 = R T
The columns (and therefore the rows) of R are mutually
orthogonal
Each column (and therefore each row) of R is a unit vector
detR = 1
Homogeneous coordinate transformation of rigid body
2D-Transformation

2D-Rototranslation
The coordinates of point p with respect to o0 x0 y0 is

p 0 = R10 p 1 + d10

where R10 is the transformation matrix from frame o1 x1 y1 to frame


o0 x0 y0 , p 1 is the coordinate of point p with respect to frame o1 x1 y1 ,
and d10 is the translation vector between the the two frames.
Homogeneous coordinate transformation of rigid body
2D-Transformation

Exercise: From the figure below the coordinates of point p with


respect to o1 x1 y1 is (-1,1). Find the coordinate of point p with
respect to o0 x0 y0 frame.
Homogeneous coordinate transformation of rigid body
3D-Transformation

3D-Translation
The objective is to find out the (x,y,z) coordinate of point p with
respect to frame o0 x0 y0 z0 given the coordinate of point p in frame
o1 x1 y1 z1 .

Let p 1 is the point in refernce frame o1 x1 y1 z1 and the coordinate


of the same point p 0 in o0 x0 y0 z0 is given by
p 0 = p 1 + d10
where d10 is the translation of the two frames
Homogeneous coordinate transformation of rigid body
3D-Transformation

3D-Rotations
The projection technique described above scales nicely to the three
dimensional case.
In three dimensions, each axis of the frame o1 x1 y1 z1 is projected onto
coordinate frame o0 x0 y0 z0 . The resulting rotation matrix is given by

 
x1 .x0 y1 .x0 z1 .x0
R10 = x1 .y0 y1 .y0 z1 .y0 
x1 .z0 y1 .z0 z1 .z0
Homogeneous coordinate transformation of rigid body
3D-Transformation

Suppose the frame o1 x1 y1 z1 is rotated through an angle θ about the


z0 -axis, and it is desired to find the resulting transformation matrix
R10 . From the figure we see that

x1 .x0 = cosθ, y1 .x0 = −sinθ


x1 .y0 = sinθ, y1 .y0 = cosθ

and
z1 .z0 = 1
while all other dot products are zero.

Thus the rotation matrix from frame 1 to frame 0 R10 has a simple
form  
cosθ −sinθ 0
R10 =  sinθ cosθ 0
0 0 1
Homogeneous coordinate transformation of rigid body
3D-Transformation

Similarly the basic rotation matrices representing rotations about


the x and y-axes are given as
 
1 0 0
Rx,θ = 0 cosθ −sinθ
0 sinθ cosθ

and  
cosθ 0 sinθ
Ry ,θ = 0 1 0 
−sinθ 0 cosθ
Homogeneous coordinate transformation of rigid body
3D-Transformation

3D-Rototranslation
The coordinates of p 1 with respect to o0 x0 y0 z0 is
p 0 = R10 p 1 + d10

It is not important in which order the rotation and translation are


performed.
Homogeneous coordinate transformation of rigid body
Composition of Rototranslation

Composition of Rototranslation
The composition law states that, in order to transform the coordi-
nates of a point p from its representation p 2 in frame o2 x2 y2 z2 to
its representation p 0 in frame o0 x0 y0 z0 , we may first transform to
its coordinates p 1 in frame o1 x1 y1 z1 using R21 and then transform
p 1 to p 0 using R10 .
Homogeneous coordinate transformation of rigid body
Composition of Rototranslation

Rigid body is a system of particles for which the distances between


the particles remain unchanged

Rigid body motion is a pure translation together with a pure rotation.

From the figure given above, rigid body 1 and 2 are attached to co-
ordinate frame o1 x1 y1 z1 and o2 x2 y2 z2 , respectively and both frames
are related to the frame o0 x0 y0 z0 by rototranslational transforma-
tions.

A given point p can then be represented by coordinates specified


with respect to any of these three frames: p 0 , p 1 and p 2 .

If we have two rigid motions the coordinate p 0 and p 1 are given by

p 0 = R10 p 1 + d10 and p 1 = R21 p 2 + d21


Homogeneous coordinate transformation of rigid body
Composition of Rototranslation

The third rigid motion is described by

p 0 = R10 R21 p 2 + R10 d21 + d10

Since the relationship between p 0 and p 2 is also a rigid motion, we


can equally describe it as

p 0 = R20 p 2 + d20

From the above equations we can immediately infer

R20 = R10 R21 , d20 = d10 + R10 d21

The above two equations reperesent the orientation and position of


p 2 with respect to o0 x0 y0 z0 .

It is important to remember that the order in which the rotation


matrices are multiplied together is crucial.
Homogeneous coordinate transformation of rigid body
Homogeneous Transformation

Homogeneous Transformation
It is a representation of both translation and rotation of a rigid body
motion by a single matrix.
Remember, the affine transformation between two points is given as
p 0 = R10 p 1 + d10
The homogeneous representation of a point p 0 and p 1 is given by,
 0  1
0 p 1 p
P = ,P =
1 1
P 0 and P 1 are homogeneous representation of the point p 0 and p 1 .
The homogeneous transformation matrix (H10 ) between P 0 and P 1
is
 0
R1 d10 1

0
P = P
0 1
P 0 = H10 P 1
Homogeneous coordinate transformation of rigid body
Homogeneous Transformation

Therefore, the homogeneous matrix (H) is


 
R d
H=
0 1

Using the fact that R is orthogonal it is an easy exercise to show


that the inverse transformation H −1 is given by
 T
−R T d

−1 R
H =
0 1

Similarly, the composition of rototranslation matrix is computed as

H20 = H10 H21


 0
R1 d10 R21 d21
  0 1
R1 R2 R10 d21 + d10
  0
R2 d20
 
0
H2 = = =
0 1 0 1 0 1 0 1

where 0 denotes the row vector (0, 0, 0).


Homogeneous coordinate transformation of rigid body
Homogeneous Transformation

Exercise: From the figure below compute the transformation matrix


from o2 x2 y2 z2 frame to o0 x0 y0 z0 if α is 30 degree.
Velocity Analysis

Velocity Analysis
From the 3D-rototranslation motion, the coordinates of p 1 with re-
spect to o0 x0 y0 z0 is

p 0 = R10 p 1 + d10
Velocity Analysis

The velocity of point p with respect to frame o0 x0 y0 z0 is


ṗ 0 = Ṙ10 p 1 + R10 ṗ 1 + d˙10
where d˙10 is the velocity of the origin of reference frame o1 x1 y1 z1
and ṗ 1 = 0 because it is the velocity of point p with respect to
reference o1 x1 y1 z1 . The above equation can be reduced to
ṗ 0 = Ṙ10 p 1 + d˙10
In homogeneous transformation form the velocity is given as
Ṙ1 d˙10
 0 
0 0 1 0
ṗ = Ḣ1 p , Ḣ1 =
0 0
If point p is given in reference frame o0 x0 y0 z0 , the velocity of point
p with respect to o0 x0 y0 z0 is
−1 0 −1 0
ṗ 0 = Ḣ10 H10 p , where p 1 = H10 p
−1
where Ḣ10 H10 is the velocity transformation matrix for all points
which are given in reference frame o0 x0 y0 z0
Velocity Analysis

The velocity transformation matrix V10 is given by


" #
T T
0 0 0 −1 Ṙ10 R10 −Ṙ10 R10 d10 + d˙10
V1 = Ḣ1 H1 =
0 0

T
where Ṙ10 R10 is skew symmetric matrix and for a given vector a =
(ax , ay , az )T , we define the skew symmetric matrix S(a) as
 
0 −az ay
S = az
 0 −ax 
−ay ax 0

and for nxn matrix S is said to be skew symmetric if and only if

S + ST = 0
Acceleration Analysis

Acceleration Analysis
The technique for velocity analysis described above works nicely for
acceleration analysis, and the acceleration of point p with respect
to frame o0 x0 y0 z0 is

p̈ 0 = R̈10 p 1 + Ṙ10 ṗ 1 + d¨10

where d¨10 is the acceleration of the origin of reference frame o1 x1 y1 z1


and ṗ 1 = 0 because it is the velocity of point p with respect to
reference o1 x1 y1 z1 . The above equation can be reduced to

p̈ 0 = R̈10 p 1 + d¨10

In homogeneous transformation form

R̈1 d¨10
 0 
p̈ 0 = Ḧ10 p 1 , Ḧ10 =
0 0
Acceleration Analysis

If point p is given in reference frame o0 x0 y0 z0 , the acceleration of


point p with respect to o0 x0 y0 z0 is
−1 0 −1 0
p̈ 0 = Ḧ10 H10 p , where p 1 = H10 p
−1
where Ḧ10 H10 is acceleration transformation matrix of point p
which are given with respect to reference frame o0 x0 y0 z0 .

The acceleration transformation matrix A01 is given by


" #
−1 R̈ 0 R 0 T −R̈ 0 R 0 T d 0 + d¨0
A01 = Ḧ10 H10 = 1 1 1 1 1 1
0 0

T
But R̈10 R10 is not skew symmetric matrix.
Denavit-Hartenberg (H-D) Convention

Denavit-Hartenberg (D-H) Convention

It is a commonly used convention for selecting frames of reference


in robotic applications.

Denavit-Hartenberg (D-H) notations are widely used to describe the


kinematic model of a robot.

D-H convention has four parameters, namely the Link Length ai ,


Twist Angle αi , Link offset di and the Joint angle θi .

In this convention, each homogeneous transformation H is repre-


sented as a product of four basic transformations
Denavit-Hartenberg (H-D) Convention

Assigning the coordinate frames

Here are the procedures to assign a reference frame for each joint
of a robot

1 Place the z-axis along the joint axis of rotation, or translation.


2 Place x-axis which is common perpendicular or point of
intersection between two consecutive pair of zi−1 and zi -axes.
If there is no unique perpendicular, then x goes in from zi−1
to zi
3 Use the right hand rule to define the y axis.
4 The xi axis must intersect the zi−1 axis
Denavit-Hartenberg (H-D) Convention

End effector/ Tool frame assignment

This constructive procedure works for frames 0,...,n − 1 in an n-link


robot.

To complete the construction, it is necessary to specify frame n.


The final coordinate system on xn yn zn is commonly referred to as
the end-effector or tool frame.

In most contemporary robots the final joint motion is a rotation of


the end effector by θn and the final two joint axes, zn−1 and zn ,
coincide.

In this case, the transformation between the final two coordinate


frames is a translation along zn−1 by a distance dn followed by a
rotation of θn about zn−1 .
Denavit-Hartenberg (H-D) Convention

End effector/ Tool frame assignment


Denavit-Hartenberg (H-D) Convention
Denavit-Hartenberg (H-D) Convention

From the figure above, the four DH parameters are defined as fol-
lows:
1 di (Joint offset)
This is measured as the distance between Xi−1 and Xi along
Zi−1 .
2 θi (Joint angle)
This is measured as the angle between Xi−1 and Xi about
Zi−1 . Rotation is positive when it is made counter clockwise.
3 ai (Link length)
This is measured as the distance between the common normals
to axes Zi−1 and Zi along Xi .
4 αi (Twist angle)
This is measured as the angle between the axes, Zi−1 and Zi ,
about axis Xi to be taken positive when rotation is made
counter clockwise.
Denavit-Hartenberg (H-D) Convention

D-H parameters
Denavit-Hartenberg (H-D) Convention

The transformation matrix from reference frame i + 1 to i is given


as
DH = Rotz,θ Transz,d Transx,a Rotx,α
   
cosθ −sinθ 0 0 1 0 0 0 1 0 0 a
 sinθ cosθ 0 0 0 1 0 0  0 1 0 0
DH =   0
  
0 1 0 0 0 1 d  0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
 
1 0 0 0
0 cosα −sinα 0
 
0 sinα cosα 0
0 0 0 1
 
cosθ −sinθcosα sinθsinα acosθ
 sinθ cosθcosα −cosθsinα asinθ 
DH =   0

sinα cosα d 
0 0 0 1
Denavit-Hartenberg (H-D) Convention

Positive sense for αi and θi


Jacobian

Jacobian

It relates the joint velocities with the end effector velocities of the
robot.

For a two link RR robot the Jacobian relates how movement of the
joint elements of q = [θ1 , θ2 ]T causes movement of the end effector
elements of x = [px , py ]. Formally, a Jacobian is a set of partial
differential equations:
∂x
J=
∂q
With a bit of manipulation we can get a neat result:

ẋ = J q̇,

where ẋ and q̇ represent the time derivatives of x and q.


Jacobian

Energy equivalence and Jacobians


Without considering friction, the amount of energy spent at the
joint and end effector is the same. For the planar two-link RR robot
the joint angle positions be denoted q = [θ1 , θ2 ]T , and end-effector
position be denoted x = [px , py ]T . Power is the application of force
over a distance
P = FT x ẋ,
where Fx is the force applied to the hand, and ẋ is the velocity of
the hand. Rewriting the above in terms of joint-space gives:
P = FT
q q̇,

where Fq is the torque applied to the joints, and q̇ is the angular


velocity of the joints.
Using the above two equations with Jacobian:
FT T
q q̇ = Fx ẋ,
Jacobian

Fq = J T Fx .
where J is the Jacobian for the end-effector of the robot, and Fq
represents the forces in joint-space that affect movement of the
hand.

This says that Jacobian can also be used to calculate what the forces
in joint space should affect a desired set of forces in end-effector
space.

For a two link RR manipulator the Jacobian is determined from the


partial derivative of end-effector position. The linear velocity part
of the Jacobian is: " #
∂x ∂x
∂θ1 ∂θ2
J= ∂y ∂y
∂θ1 ∂θ2
Jacobian

 
−L1 sin(θ1 ) − L2 sin(θ1 + θ2 ) −L2 sin(θ1 + θ2 )
J=
L1 cos(θ1 ) + L2 cos(θ1 + θ2 ) L2 cos(θ1 + θ2 )
Example: Given the two joint angle velocities with arm configuration
 π   π 
q = 3π 4 q̇ = 10 π
8 10

and arm segment lengths L1 = L2 = 1, Find the linear velocity of


the end-effector. Ans = [−0.8026, −0.01830]
Example: For the same robot in the above example, calculate the
torques required if the x and y coordinate of end-effector forces are
given by:  
1
Fx =
1
Ans = [−1.3066, −1.3066].
Singularity

Singularity
Singularity represents configuration from which certain directions of
motion are unattainable.

Singularity occur in configurations when joint axis align in a way


that reduces the ability of the arm to position the end-effector.

Boundary singularity: when a serial robot is fully extended.

To determine the singularity of the robot, make the determinant of


the Jacobian zero (J(q) = 0).

Example: For a two link RR robot the Jacobian is given by


 
−L1 sin(θ1 ) − L2 sin(θ1 + θ2 ) −L2 sin(θ1 + θ2 )
J(q) =
L1 cos(θ1 ) + L2 cos(θ1 + θ2 ) L2 cos(θ1 + θ2 )
Singularity

Therefore, at singularity Det(J(q)) = 0

sinθ2 = 0

For a two link RR robot the singularity position is at θ2 = 0 degree


and θ2 = 180 degree.

The effects of manipulator singularities are


1 Bounded end-effector velocities may correspond to unbounded
joint velocities.
2 Bounded joint torques may correspond unbounded
end-effector forces.
3 Singularities may correspond to points on the boundary of the
manipulator workspace (to points of maximum reach of the
manipulator).

You might also like