You are on page 1of 43

Bahir Dar Institute of Technology (BIT)

Introduction to Robotics and Automation


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) Conversion
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 planer manipulator shown below, It has two


revolute joints and the length of link 1 and 2 are a1 and a2 , respec-
tively. Derive the kinematic equations for the planar manipulator

The components of the point 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: Find the forward/direct kinematics of the figure given be-


low

Exercise: Compute the inverse kinematics of the two planar


manipulators given above.
Kinematics

Exercise: Consider the 3-DoF 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 kinematic Equations of the system
Kinematics

Exercise: The following figure is a planar robot arm with two revolute
joints and one prismatic joint. Using the geometric parameters and
joint displacements, obtain the kinematic equations relating the end
effecter position and orientation to the joint displacements.
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]


Homogeneous coordinate transformation of rigid body

Homogeneous coordinate transformation of rigid body

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
3D-Transformation

Exercise: From the figure below compute the transformation matrix


from o1 x1 y1 z1 frame to o0 x0 y0 z0 if α is 30 degree.
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 the frame o2 x2 y2 z2
to its representation p 0 in the frame o0 x0 y0 z0 , we may first trans-
form to its coordinates p 1 in the 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.
 0
R1 d10 R21 d21
  0 1
R1 R2 R10 d21 + d10
 
=
0 1 0 1 0 1

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

Therefore a rigid body motion is represented by a set of matrices of


the form  
R d
H=
0 1
Transformation matrices of the form given above is called homoge-
neous transformation.
Homogeneous coordinate transformation of rigid body
Homogeneous Transformation

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

R
H −1 =
0 1
In order to represent the transformation by a matrix multiplication,
we must augment the vectors p 0 and p 1 by the addition of a fourth
component of 1 as follows,
 0  1
0 p 1 p
P = ,P =
1 1

The vectors P 0 and P 1 are known as homogeneous representations


of the vectors p 0 and p 1 , respectively.

Therefor the homogeneous transformation between P 0 and P 1 is


P 0 = H10 P 1
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
where R̈10 R10 is skew symmetric matrix.
Denavit-Hartenberg (H-D) Conversion

Denavit-Hartenberg (D-H) Parameters

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


kinematic model of a robot.

In DH convention notation has four parameters system, namely the


link length ai , link twist angle αi , link offset di and the joint revolute
angle θi .
A commonly used convention for selecting frames of reference in
robotic applications is the Denavit-Hartenberg, or DH convention.
In this convention, each homogeneous transformation Ai is repre-
sented as a product of four basic transformations
Denavit-Hartenberg (H-D) Conversion

A = 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
A=
 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θ 
A=  0

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

Assigning the coordinate frames

1 Place the z axes along the joint axes of rotation, or


translation. Imagine them of infinite length
2 Identify the common perpendiculars or point of intersection
between each pair of z axes. Place the xn axes along the
common perpendicular between axes n and n + 1. If the axes
intersect xn is assigned normal to the plane containing the
intersecting axes.
3 Use the right hand rule to define the y axes.
Denavit-Hartenberg (H-D) Conversion
Jacobian

Jacobian
It relates the joint velocities with the end effector velocities 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. This tells us
that the end-effector velocity is equal to the Jacobian, J, multiplied
by the joint angle velocity.
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 = [x, y ]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 be to effect 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.

The importance of singular configuration configurations on the robot


performance arises for several reasons
1 loss of freedom
2 workspace
3 mechanical advantage
Singularity

There are a number of methods that can be used to determine the


singularities of the Jacobian. For a square matrix its singularity is
when the determinant of the Jacobian is 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 )

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

cosθ1 sin(θ1 + θ2 ) − sinθ1 cos(θ1 + θ2 ) = 0


sinθ2 = 0

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


and θ2 = 180 degree.
Singularity

Configurations for which the rank J(q) is less than its maximum
value are called singularities or singular configurations. The effects
of manipulator singularities are
1 Bounded end-effector velocities may correspond to unbounded
joint velocities.
2 Bounded end-effector forces and torques may correspond to
unbounded joint torques.
3 Singularities usually (but not always) correspond to points on
the boundary of the manipulator workspace, that is, to points
of maximum reach of the manipulator.
4 Near singularities there will not exist a unique solution to the
inverse kinematics problem. In such cases there may be no
solution or there may be infinitely many solutions.

You might also like