Robotics: Difference Between 'Robot ' & 'Robotics''
Robotics: Difference Between 'Robot ' & 'Robotics''
ROBOTICS
Lecture 1
Prepared by : Yazen Hudhaifa
1
17/10/2017
Fixed or Stationery
Mobile Robot
Robot
Industrial Robot
An automatically controlled , reprogrammable , multipurpose manipulator
programmable in three or more axes, which can be either fixed in place or mobile
for use in industrial automation applications.
Most common Industrial Robotics :
FANUC : Handling Application (5kg to 1,350kg payload capabilities)
KUKA Robotics : KUKA is a Chinese-owned German manufacturer of industrial robots and
solutions for factory automation.
ABB : ABB Robotics focuses on creating high quality robots that are productive and reliable.
2
17/10/2017
Associations of Robots
JIRA (Japanese Industrial Robot Association)
Class1: Manual-Handling Device : operator actuated; multiple degrees of freedom.
Class2: Fixed Sequence Robot : (hard to modify)
Class3: Variable Sequence Robot : (easy-to-modify)
Class4: Playback Robot : (records motions of human operator and then replicates)
Class5: Numerical Control Robot : ( program instead of record motion)
Class6: Intelligent Robot: (understand environment)
Associations of Robots
RIA (Robotics Institute of America)
Variable Sequence Robot(Class3)
3
17/10/2017
Associations of Robots
AFR (Association FranÇaise de Robotique)
• End Effectors
• Manipulator part
• Base
• Controller
• Power Source
4
17/10/2017
Anatomy Representation
Body Base
Chest Link
Shoulder Joint
Elbow Joint
Wrist Joint
5
17/10/2017
Robot Configuration
1- Cartesian Robot (Gantry Robot )
Movement : 3P
Cartesian Robot
Robot Configuration
2- Cylindrical Robot
Movement : R2P
Cylindrical Robot
6
17/10/2017
Robot Configuration
3- Spherical Robot
Movement : 2RP
Robot Configuration
4- Jointed Arm Robot
Movement : 3R
Articulated Robot
7
17/10/2017
Robot Configuration
4- SCARA robot
Movement : 2RP
SCARA Robot
8
17/10/2017
Robot specification
1- Payload: the rated load carrying capacity of an industrial robot is defined by its
weight of the object or the tool held by the gripper.
3- Precision: the reach of a position is defined by the resolution of the actuators and
feed back systems. The robot precision is given in terms of length units.
4- Reach: the lengths of the lengths of the robot links which is useful to determine
the work envelop.
9
17/10/2017
10
Robotics-I Lecture 2: Spatial Description
2.1 INTRODUCTION
Since that the manipulation of the robotics implies moving parts or tools by the
mechanical mechanism in the space. Thus, we need to represent or describe the position
and orientation of parts or tools that is going to be carried by the robot arm or to position
the mechanism itself. In other words, to represent the orientation and position
mathematically we must identify or define a universe coordinate system.
The approach assumed that there is a universe coordinate where everything we discuss
can be referenced. The task of the robot in terms of position and orientation will be
either attached to the universe frame or to a reference (Cartesian coordinate frame).
A group of references coordinate can be described with respect to the universe system.
This kind of coordinate represents a point by radius and angle 𝜃 with respect to the
Cartesian coordinate. Cylindrical coordinates are a generalization of two-
dimensional polar coordinates to three dimensions by superposing a height (z) axis
Robotics-I Lecture 2: Spatial Description
Returning back to the Cartesian coordinate we will represent the description of the
point as a 3 x 1 position vector as shown below
𝑍𝐴
𝐴
𝐴𝑃
𝑃𝑥
𝐴𝑃 = [𝑃𝑦 ]
𝑃𝑧
𝑌𝐴
𝑋𝐴
Now we need to describe the coordinate frame {B} relative to the frame {A} the unit
vectors should be written as follow: 𝐴𝑋̂𝐵 , 𝐴𝑌̂𝐵 𝑎𝑛𝑑 𝐴𝑍𝐵 𝑎𝑟𝑒 𝑢𝑛𝑖𝑡 𝑣𝑒𝑐𝑡𝑜𝑟𝑠. Thus, if we
stack these three unit vectors in one 3 x 3 matrix in the order 𝐴𝑋̂𝐵 , 𝐴𝑌̂𝐵 , 𝐴𝑍𝐵 , then we
will call this matrix as Rotation matrix that gives us the orientation of the manipulator.
𝑟11 𝑟12 𝑟13
𝐴
𝐵𝑅 = [ 𝐴𝑋̂𝐵 𝐴̂
𝑌𝐵 𝑍𝐵 = [ 21 𝑟22 𝑟23 ]--------------------- rotation matrix of frame
] 𝐴 𝑟
𝑟31 𝑟32 𝑟33
{B} relative to frame {A}. The scalar values of the rotation matrix 𝑟𝑖𝑗 can be expressed
by project any vector to its unit components in its reference frame which is realized by
performing dot product.
Further inspection of (2.1) shows that the rows of the matrix are the unit vectors of {A}
expressed in {B}; that is,
𝑇
𝐵
𝑋̂ 𝐴
𝐴 𝐵 ̂𝑇
𝐵𝑅 = [ 𝐴𝑋̂𝐵 𝐴̂
𝑌𝐵 𝐴
𝑍𝐵 ] = 𝑌𝐴 − − − − − (2.2)
𝐵 𝑇
[ 𝑍 𝐴]
3×1
𝐴 𝑇
From (2.2) we can notice that 𝐵𝑅 = 𝐵𝐴𝑅 ----------------------- (2.3)
Robotics-I Lecture 2: Spatial Description
From (2.4) we can conclude that when we want to inverse representation from one
frame to another we just take the transpose of the rotation matrix. Additionally, since
the rotation matrix is orthogonal that leads to equate the transpose with the inverse
matrices:
𝐴
𝐵𝑅 = 𝐵𝐴𝑅 −1 = 𝐵 𝑇
𝐴𝑅
To represent any frame, we can choose arbitrary point in the frame to be attached to the
universe coordinate system. However, for convenient the origin of the frame that we
want to describe should be attached as the head of the position vector, the three unit
vectors represent the orientation of that frame. The advantage of a frame can be used to
describe one coordinate system relative to another. For example below, three frames
with graphical representation with respect to the universe frame:
𝑿𝑨
−1 −1 0 𝐵𝑋 𝑇
𝐴
𝐴
𝐵𝑅= 0 0 0 𝐵𝑌 𝑇
𝐴
𝐵𝑍 𝑇
0 0 1 𝐴
𝐴𝑋 𝐴𝑌 𝐴𝑍
𝐵 𝐵 𝐵
General Transform
General Transform
between Frames means
that we include
(Rotation+ Translation) 𝒁 𝑨 {𝐴} 𝐴𝑃
to map or describe a
point from one frame to
another
𝒀𝑨
𝑿𝑨
𝒀𝑨
𝑿𝑨
𝐴𝑃 𝐴 𝐴𝑃 𝐵𝑃
= 𝐵𝑅 𝐵𝑂𝑅𝐺 4X4 Matrix ( Homogeneous Transform )
1 000 1 1
Homogeneous Transform
1. a "1" is added as the last element of the 4 x 1 vectors;
2. a row "[0001]" is added as the last row of the 4 x 4 matrix.
3. Normally we will write the Homogenous Transform as follow:
𝐴 𝐴 𝐵
𝑃= 𝐵𝑇 𝑃
𝐴 𝐴𝑃
𝐴
Where 𝐵 𝑇= 𝐵𝑅 𝐵𝑂𝑅𝐺
000 1
rotation matrices used to specify an orientation, we will use transforms (usually in
homogeneous representation) to specify a frame. Observe that, although we have
introduced homogeneous transforms in the context of mappings, they also serve as
𝐴
descriptions of frames. The description of frame {B}relative to (A} is 𝐵 𝑇
Example
The Figure shows a frame {B}, which is
rotated relative to frame (A} about 𝑍 by
30° degrees, translated 10 units in 𝑿 𝑨 ,
and translated 5 units in 𝒀 𝑨 Find 𝐴𝑃
where 𝐵𝑃 = 3.0 7.0 0.0 𝑇 .
0.866−0.5 0 10
𝐴
𝐵𝑇= 0.5 0.866 0 5
0 0 1 0
3
Given 𝐵𝑃 = 7
0
9.09
𝐴
𝑃= 𝐵𝐴𝑇 𝐵𝑃 = 12.56
0.0
Operators
• Mapping: changing descriptions from frame to frame
• Operators: moving points (within the same frame)
{𝐵} 𝑍𝐵 𝒁𝑨 {𝐴}
𝒀𝑨
𝑅𝑜𝑡𝑎𝑡𝑖𝑜𝑛𝑎𝑙 𝑂𝑝𝑒𝑟𝑎𝑡𝑜𝑟
𝑌𝐵
𝑿𝑨 𝑃2 =𝑅𝑃1
Rotational Operators
𝑅𝑘 (θ): 𝑃1 𝑃2
𝑃2 = 𝑅𝑘 (θ) 𝑃1 where k: ( X, Y, Z) .
1 0 0
𝑅𝑋 (θ)= 0 cos 𝜃 − sin 𝜃
0 sin 𝜃 cos 𝜃
𝑃2 = 𝑅𝑋 (30) 𝑃1
1 0 0 0 0
= 0 cos 𝜃 − sin 𝜃 2 = 1
0 sin 𝜃 cos 𝜃 1 2
Translations
Mapping approach :
𝑃𝑂𝐵 𝑃𝑂𝐴 {𝐵} 𝑍𝐵 𝑃2
𝑿𝑨
Translations Operator
Mapping approach :
𝑃1 𝑃2 {𝐵} 𝑍𝐵 𝑃2
𝑃2 =𝑃1 + 𝑄
𝑍𝐴 {𝐴} 𝑃1
In this method
𝑌𝐵
𝑿𝑨
Translations Operator
Operator approach :
𝑃1 𝑃2 {𝐵} 𝑃2
𝑃2 =𝑃1 + 𝑄
𝑍𝐴 {𝐴} 𝑃1
In this method
𝑿𝑨
Translations Operator
operator approach :
𝑃1 𝑃2 {𝐵}
𝑅𝑘 (θ) 𝑄
𝑃2 = × 𝑃1
0 0 0 1
𝑃2 =T× 𝑃1
only one coordinate system is involved, and so the symbol T is used without
sub- or superscripts.
Example on Rotational Operator
The Figure shows a vector 𝐴𝑃1 . We wish to compute the
𝑃1
vector obtained by rotating this vector about Z by 45°. Call
the new vector 𝐴𝑃2 .The rotation matrix that rotates vectors
𝑃2
by 45° about Z is the same as the rotation matrix that
describes a frame rotated 45° about Z relative to the
reference frame. Thus, the correct rotational operator is 𝒀𝑨 {𝐴}
cos 45 −sin 45 0 0.707 −0.707 0
𝑅𝑧 (45.0)= sin 45 cos 45 0 = 0.707 0.707 0
0 0 1 0 0 1
0.0 𝑿𝑨
Given 𝐴𝑃1= 2.0
0.0
𝐴𝑃 =𝑅
2 𝑧 (45.0) 𝐴𝑃1
−1.414
𝐴
𝑃2 = 1.414
0.0
Example on Transformation Operator
The figure shows a vector 𝐴𝑃1 . We wish to rotate
it about Z by 60 and translate it 10 units in 𝑋 𝐴
and 5 units in 𝑌 𝐴 Find 𝐴𝑃2 where 𝐴𝑃1 = 3 7 0 𝑇 𝐴
𝑃2
The operator T, which performs the translation
and rotation, is :
0.5 −0.866 0 10 𝑅 𝐴𝑃1
𝐴𝑃
0.866 0.5 0 5 1
𝑇=
0 0 1 0 𝑌𝐴 {𝐴}
0 0 0 1
𝐴𝑃 =𝑅 𝐴𝑃 + 𝐴𝑄= 𝑇 𝐴𝑃
2 1 1
0.5 −0.866 0 10 3
5.438 𝑋𝐴
𝐴𝑃 = 0.866 0.5 0 5 7
2 = 11.09
0 0 1 0 0
0
0 0 0 1 1
Inverse Transform
𝐴 𝐴𝑃
𝐴 𝐵𝑅 𝐵𝑂𝑅𝐺
𝐵𝑇=
0 0 0 1
Rotation Matrix is orthonormal
𝐴 −1
𝐵𝑅 = 𝐵𝐴𝑅 = 𝐵𝐴𝑅𝑇 𝒁𝑨
{𝐴}
𝐴 −1 𝐵
𝐴𝑅 𝑇 − 𝐵𝐴𝑅𝑇 𝐴𝑃 𝐵𝑂𝑅𝐺 𝒀𝑨
𝐵
𝐵 𝑇 = 𝐴𝑇 =
0 0 0 1
𝑿𝑨
Homogenous Transformation summary
Transform Equation
Compound Transformations
𝐵
𝑃= 𝐵𝐶𝑇 𝐶𝑃
𝐴
𝑃= 𝐵𝐴𝑇 𝐵𝑃
𝐴
𝑃= 𝐵𝐴𝑇 𝐵𝐶 𝑇 𝐶𝑃
𝐴 𝐴 𝐵
𝐶 𝑇= 𝐵𝑇 𝐶 𝑇
Homogenous form of Compound transformation
𝐴 𝐴 𝐵
𝐶 𝑇= 𝐵𝑇 𝐶 𝑇
𝐴 𝐵 𝐴
𝐴 𝐵 𝐵𝑅 𝑃𝐶𝑂𝑅𝐺 + 𝑃𝐵𝑂𝑅𝐺
𝐴 𝐵𝑅 𝐶 𝑅
𝐶 𝑇=
0 0 0 1
Transform Equation
𝐵 𝐶 𝐶 𝐴
𝐴𝑇= 𝐵𝑇 𝐷𝑇 𝐴𝑇
05/11/2017
Problems on Spatial
Description
Lecture 5
05/11/2017 1
𝜃
1 0 0 cos 𝜃 − sin 𝜃 0
= 0 cos 𝜑 − sin 𝜑 sin 𝜃 cos 𝜃 0
0 sin 𝜑 cos 𝜑 0 0 1 𝑋
𝜑
𝑌
cos 𝜃 − sin 𝜃 0
= cos 𝜑 sin 𝜃 cos 𝜑 cos 𝜃 − sin 𝜑
sin 𝜑 sin 𝜃 sin 𝜑 cos 𝜃 cos 𝜑
05/11/2017 2
05/11/2017
Q2) A frame {B} is located initially coincident with a frame {A}. We rotate {B}
about 𝑍 by 53 degrees, and then we rotate the resulting frame about 𝑋 by 45
degrees. Give the rotation matrix that will change the description of vectors from
𝑃to 𝑃.
Sol: since the rotations are about the frame being rotated , then Euler angles will be applied.
R= rot(𝑍 , 53° ) rot(𝑋 ,45° )
cos 53 − sin 53 0 1 0 0
= sin 53 cos 53 0 0 cos 45 − sin 45
0 0 1 0 sin 45 cos 45
0.601 −0.7986 0 1 0 0
= 0.798 0.601 0 0 0.707 −0.707
0 0 1 0 0.707 0.707
Q3) Describe (or program) an algorithm that extracts the equivalent angle and
axis of a rotation matrix. Equation (2.82) in book is a good start, but make sure that your
algorithm handles the special cases 𝜃 = 0° and 𝜃= 180°.
𝑘 𝑘 𝑣𝜃 + 𝑐𝜃 𝑘 𝑘 𝑣𝜃 − 𝑘 𝑠𝜃 𝑘 𝑘 𝑣𝜃 + 𝑘 𝑠𝜃
𝑅 (𝜃)= 𝑘 𝑘 𝑣𝜃 + 𝑘 𝑠𝜃 𝑘 𝑘 𝑣𝜃 + 𝑐𝜃 𝑘 𝑘 𝑣𝜃 − 𝑘 𝑠𝜃
𝑘 𝑘 𝑣𝜃 − 𝑘 𝑠𝜃 𝑘 𝑘 𝑣𝜃 + 𝑘 𝑠𝜃 𝑘 𝑘 𝑣𝜃 + 𝑐𝜃
𝑟 𝑟 𝑟
R= 𝑟 𝑟 𝑟
𝑟 𝑟 𝑟
(1) Compute 𝑟 +𝑟 +𝑟 =N
(2) If N=3 , then 𝜃 = cos = 0 , that means rotation is Zero , 𝐾 is arbitrary
(3) If N=-1 , then 𝜃 = cos −1 =180 °
05/11/2017 4
05/11/2017
2𝑘 − 1 2𝑘 𝑘 2𝑘 𝑘
Rot (𝐾, 180° )= 2𝑘 𝑘 2𝑘 − 1 2𝑘 𝑘
2𝑘 𝑘 2𝑘 𝑘 2𝑘 − 1
2𝑘 − 1 = 𝑟 𝑘 =±
2𝑘 𝑘 = 𝑟 𝑘 =
2𝑘 𝑘 =𝑟 𝑘 =
However, if 𝑘 ≅ 0, this is singularity
So use a different column for solution (not the first column)
If ( -1 < N< 3) so that (0 < 𝜃 < 180 ° )
05/11/2017 5
10.0
V = 20.0
30.0
05/11/2017 6
05/11/2017
https://ncalculators.com/matrix/4x4-inverse-matrix-calculator.htm
05/11/2017 7
Q6) A frame {B} is described as initially coincident with {A). We then rotate {B} about
the vector 𝐾 = [0.707 0.707 0] (passing through the point 𝑃 = [1.0 2.0 3.0])
by an amount 𝜃 = 30 degrees. Give the frame description of {B}.
1 0 0 1 1 0 0 −1
0 1 0 2 0 1 0 −2
𝑇= , 𝑇=
0 0 1 3 0 0 1 −3
0 0 0 1 0 0 0 1
05/11/2017 8
05/11/2017
we can rotate {B'} relative to {A'}. This is a rotation about an axis that passes through the
origin, so we can use :
𝑘 𝑘 𝑣𝜃 + 𝑐𝜃 𝑘 𝑘 𝑣𝜃 − 𝑘 𝑠𝜃 𝑘 𝑘 𝑣𝜃 + 𝑘 𝑠𝜃
𝑅 (𝜃)= 𝑘 𝑘 𝑣𝜃 + 𝑘 𝑠𝜃 𝑘 𝑘 𝑣𝜃 + 𝑐𝜃 𝑘 𝑘 𝑣𝜃 − 𝑘 𝑠𝜃
𝑘 𝑘 𝑣𝜃 − 𝑘 𝑠𝜃 𝑘 𝑘 𝑣𝜃 + 𝑘 𝑠𝜃 𝑘 𝑘 𝑣𝜃 + 𝑐𝜃
Substitute the components of K with the angle θ= 30 . yields the rotation-matrix part
of the frame description. There was no translation of the origin, so the position vector is
[0, 0, 0] Thus, we have:
0.933 0.067 0.354 0
0.067 0.933 −0.354 0
𝑇=
−0.354 0.354 0.866 0
0 0 0 1
Finally, we can write a transform equation to compute the desired frame,
0.933 0.067 0.354 −1.13
0.067 0.933 −0.354 1.13
𝑇= 𝑇 𝑇 𝑇 =
−0.354 0.354 0.866 0.05
0 0 0 1
05/11/2017 9
Q7) Another familiar set of three coordinates that can be used to describe a point
in space is cylindrical coordinates. The three coordinates are defined as illustrated
in the Fig The coordinate 𝜃 gives a direction in the xy plane along which to
translate radially by an amount r. Finally, z is given to specify the height above
the xy plane. Compute the Cartesian coordinates of the point 𝑃 in terms of the
cylindrical coordinates 𝜃, r, and z.
Solu:
𝑃 𝑟 cos 𝜃
𝑃= 𝑃 = 𝑟 sin 𝜃
𝑃 𝑍
05/11/2017 10
05/11/2017
Q8) Another set of three coordinates that can be used to describe a point in
space is spherical coordinates. The three coordinates are defined as illustrated
in Fig. below . The angles 𝛼 𝑎𝑛𝑑 𝛽 and can be thought of as describing azimuth and
elevation of a ray projecting into space. The third coordinate, r, is the radial
distance along that ray to the point being described. Calculate the Cartesian
coordinates of the point 𝑃 in terms of the spherical coordinates 𝛼 , 𝛽𝑎𝑛𝑑 r
Solution:
𝑃 𝑟 cos 𝛽 cos 𝛼
𝑃 = 𝑃 = 𝑟 cos 𝛽 sin 𝛼
𝑃 𝑟 sin 𝛽
05/11/2017 11
−1 0 0 3
0 −1 0 0
1) 𝑇=
0 0 1 0
0 0 0 1
0 −0.5 0.866 3
0 0.866 0.5 0
2) 𝑇=
−1 0 0 2
0 0 0 1
05/11/2017 12
05/11/2017
0 0.5 −0.866 0
0 −0.866 −0.5 0
𝑇=
−1 0 0 2
0 0 0 1
0 0 −1 2
−0.5 0.866 0 3 ∗ 0.5
𝑇=
0.866 −0.5 0 −3 ∗ 0.866
0 0 0 1
05/11/2017 13
0.866 0.5 0 −3
0.5 −0.866 0 4
𝑇=
0 0 −1 2
0 0 0 1
−0.866 −0.5 0 3
0 0 1 0
𝑇=
−0.5 0.866 0 0
0 0 0 1
05/11/2017 14
05/11/2017
05/11/2017 15
13/11/2017
Robotics
Lecture 6
13/11/2017 1
Link Description
Frame Attachment
Forward Kinematics
13/11/2017 2
1
13/11/2017
Introduction
• Forward Kinematics: determine where the end-effector or the robot hand is located ( All the
Joint Variables are known)
You now already : length of each link , angle of each Joint.
You are going to compute : position of any point in 3D- space .
• Inverse Kinematics: the inverse process of forward kinematics in which calculate what each
joint variable is (If we desire that the hand be located at a particular point)
you are given: length of each link, position of some point on the robot
you find: The angles of each joint needed to obtain that position
13/11/2017 3
Link Description
Most manipulators have revolute joints or have sliding joints called
prismatic or linear joints.
We will consider the Joint is one degree of freedom.
Base frame has link numbered ‘’0’’.
The first moving body is link 1.
Link n denoted to the free end arm.
Joint axes are defined by lines in space.
13/11/2017 4
2
13/11/2017
Link Description
• link i rotates relative to link i -1.
13/11/2017 5
LINK-CONNECTION DESCRIPTION
For the investigation of
kinematics, we need only
two quantities, which will
completely specify the way
in which links are connected
together which are:
1- Link offset 𝑑 . variable if
joint i is prismatic
2- Joint angle 𝜃. variable if
joint i is revolute
13/11/2017 6
3
13/11/2017
13/11/2017 7
13/11/2017 8
4
13/11/2017
End-effector
13/11/2017 9
13/11/2017 10
5
13/11/2017
2. Origin 4. X-axis
13/11/2017 11
Axis 𝑖 + 1
Axis 𝑖 + 1
Axis 𝑖 Axis 𝑖
𝑍 𝑍
𝑍 𝑍
X𝑖
X𝑖
𝛼 −𝛼
𝑇ℎ𝑒 𝑑𝑖𝑟𝑒𝑐𝑡𝑖𝑜𝑛 𝑜𝑓 𝑎𝑛𝑔𝑙𝑒 𝛼 𝑖𝑠 𝑠𝑙𝑒𝑐𝑡𝑒𝑑 𝑏𝑎𝑠𝑒𝑑 𝑜𝑛 𝑋
− 𝑎𝑥𝑖𝑠 𝑐ℎ𝑜𝑖𝑐𝑒
13/11/2017 12
6
13/11/2017
First Link
𝒂𝟎 = 𝟎
𝜶𝟎 = 𝟎
Revolute Joint 𝒅𝟏 = 𝟎
𝜽𝟏 = 𝟎 → {0}≡ {1}
𝒂𝟎 = 𝟎
𝜶𝟎 = 𝟎
Prismatic Joint 𝜽𝟏 = 𝟎
𝒅𝟏 = 𝟎 → {0}≡ {1}
13/11/2017 13
Last Link
Revolute Joint
𝐝𝐧 = 𝟎
𝜃 =0→𝑋 =𝑋
Prismatic Joint
𝛉𝐧 = 𝟎
𝑑 =0→𝑋 =𝑋
13/11/2017 14
7
13/11/2017
Summary of DH
a : distance (z , z ) along x
i i i+1 i θ : angle (x , x ) about z
i i-1 i i
α : angle (z , z ) about x
i i i+1 i
13/11/2017 15
𝜃
i 𝜶𝒊 𝟏 𝒂𝒊 𝟏 𝒅𝒊 𝜽𝒊
L2 1 0 0 0 𝜽𝟏
𝜃
2 0 𝐿 0 𝜽𝟐
3 0 𝐿 0 𝜽𝟑
13/11/2017 16
8
13/11/2017
13/11/2017 17
13/11/2017 18
9
13/11/2017
13/11/2017 19
10
19/11/2017
Robotics
Kinematics
LECTURE 7
NINEVEH UNIVERSITY – SYSTEMS & CONTROL DEP.
PREPARED BY : YAZEN H SHAKIR
Ex7.1) Figure below shows a robot having three degrees of freedom and 3
one prismatic joint. This manipulator can be called an "RPR mechanism,"
in a notation that specifies the type and order of the joints. It is a
"cylindrical" robot whose first two joints are analogous to polar
coordinates when viewed from above. The last joint (joint 3) provides
"roll" for the hand.
Solution :
Link Assignment 4
1- frame {0} and frame {1} are shown as exactly coincident in this figure,
because the robot is drawn for the position 𝜃= 0.
2- it is sufficient that frame {0} be attached anywhere to the non-moving link 0
19/11/2017
DH- Parameter 5
1- Note that rotational joints rotate about the Z
axis of the associated frame, but prismatic joints
slide along Z. i 𝜶𝒊 𝟏 𝒂𝒊 𝟏 𝒅𝒊 𝜽𝒊
𝐶𝜃 −𝑆𝜃 0 𝛼
𝑆𝜃 𝐶𝛼 𝐶𝜃 𝐶𝛼 −𝑆𝛼 −𝑆𝛼 𝑑
𝑇=
𝑆𝜃 𝑆𝛼 𝐶𝜃 𝑆𝛼 𝐶𝛼 𝐶𝛼 𝑑
0 0 0 1
𝐶𝜃 −𝑆𝜃 0 0 1 0 0 0 𝐶𝜃 −𝑆𝜃 0 0
𝑆𝜃 𝐶𝜃 0 0 0 0 −1 −𝑑 𝑆𝜃 𝐶𝜃 0 0
𝑇= 𝑇= 𝑇=
0 0 1 0 0 1 0 0 0 0 1 𝑙
0 0 0 1 0 0 0 1 0 0 0 1
19/11/2017
Ex7.2: Figure below shows a three-link, 3R manipulator for which joint axes 1 and 2
intersect and axes 2 and 3 are parallel. Demonstrate the non-uniqueness of frame 7
assignments and of the Denavit— Hartenberg parameters by showing several possible
correct assignments of frames (1} and {2}.
𝑎 = 0 --------- 𝑎 = 𝑳𝟐 𝑎 = 0 --------- 𝑎 = 𝑳𝟐
𝛼 = −90 -------- 𝛼 = 0 𝛼 = 90 ---------- 𝛼 = 0
𝑑 = 0 ---------- 𝑑 = 𝑳𝟏 𝑑 = 0 ---------- 𝑑 = −𝑳𝟏
𝜃 = −90 𝜃 = 90
19/11/2017
𝑎 = 0 --------- 𝑎 = 𝑳𝟐 𝑎 = 0 --------- 𝑎 = 𝑳𝟐
𝛼 = 90 -------- 𝛼 = 0 𝛼 = −90 ---------- 𝛼 = 0
𝑑 = 0 ---------- 𝑑 = 𝑳𝟏 𝑑 = 0 ---------- 𝑑 = −𝑳𝟏
𝜃 = 90 𝜃 = 90
i 𝜶𝒊 𝟏 𝒂𝒊 𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 -𝟗𝟎 ° 0 0 𝜽𝟐
3 0 𝒂𝟐 𝒅𝟑 𝜽𝟑
4 -𝟗𝟎 ° 𝒂𝟑 𝒅𝟒 𝜽𝟒
5 𝟗𝟎 ° 0 0 𝜽𝟓
6 -𝟗𝟎 ° 0 0 𝜽𝟔
Forward Kinematics
( Summary & Tutorials)
Robotics I: Lecture 8
By
YAZEN H SHAKIR
Nineveh University
Sys & Control Dep. 4th Class
Recap : DH Assumption
Step1 : Locate and label 𝑍 to 𝑍
𝒁𝒊 𝟏
𝑋 𝑂
𝑍
26/11/2017
𝑿𝒊 𝑂
𝑂
𝒁𝒊
𝑋
26/11/2017
Q1) Extract DH parameter and compute the kinematics for the following planar
robot ?
Solution:
𝑖 𝜶𝒊 𝟏 𝒂𝒊 𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 0 𝑳𝟏 0 𝜽𝟐
3 0 𝑳𝟐 0 𝜽𝟑
𝐶𝜃 −𝑆𝜃 0 0 𝐶𝜃 −𝑆𝜃 0 𝐿 𝒀𝟎
𝑆𝜃 𝐶𝜃 0 0 𝑆𝜃 𝐶𝜃 0 0
𝑇= 𝑇=
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
𝐶𝜃 −𝑆𝜃 0 𝐿 𝐶𝜃 −𝑆𝜃 0 𝐿 𝐶 +𝐿 𝐶
𝑆𝜃 𝐶𝜃 0 0 𝑆𝜃 𝐶𝜃 0 𝐿 𝑆 +𝐿 𝑆
𝑇= 𝑇=
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
26/11/2017
Q2) The arm with three degrees of freedom Derive link parameters and the
kinematic equations for 𝑇 ?
Solution:
𝑖 𝜶𝒊 𝟏 𝒂𝒊 𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 90 ° 𝑳𝟏 0 𝜽𝟐
𝒁𝟎,𝟏
3 0 𝑳𝟐 0 𝜽𝟑
𝒀𝟎,𝟏
𝐶𝜃 −𝑆𝜃 0 0 𝐶𝜃 −𝑆𝜃 0 𝐿
𝑆𝜃 𝐶𝜃 0 0 0 0 −1 0
𝑇= 𝑇= 𝑿𝟎,𝟏
0 0 1 0 𝑆𝜃 𝐶𝜃 0 0
0 0 0 1 0 0 0 1
𝐶𝜃 −𝑆𝜃 0 𝐿
𝑆𝜃 𝐶𝜃 0 0
𝑇= 𝑇= 𝑇= 𝑇 𝑇 𝑇
0 0 1 0
0 0 0 1
Q3) The arm with three degrees of freedom shown below has joints 1 and 2 perpendicular and joints
2 and 3 parallel As pictured, all joints are at their zero location. Note that the positive sense of the
joint angle is indicated. Assign link frames {0} through {3} for this arm—that is, sketch the arm,
showing the attachment of the frames. Then derive the transformation matrices T , T and T ?
𝑍
𝒊 𝜶𝒊 𝟏 𝒂𝒊 𝟏 𝒅𝒊 𝜽𝒊
𝑌
1 0 0 𝐿 +𝐿 𝜽𝟏 𝑌
2 90 ° 0 0 𝜽𝟐
𝑌
3 0 𝐿 0 𝜽𝟑
𝑋
𝐿 +𝐿 𝑋
4 0 𝐿 0 0
𝑋 𝑍
𝑍 𝑌
𝑍
𝑋
26/11/2017
Q3 ) Solution
𝒊 𝜶𝒊 𝟏 𝒂𝒊 𝟏 𝒅𝒊 𝜽𝒊
1 0 0 𝐿 +𝐿 𝜽𝟏 𝐶𝜃 −𝑆𝜃 0 0 𝐶𝜃 −𝑆𝜃 0 0
2 90 ° 0 0 𝜽𝟐 𝑆𝜃 𝐶𝜃 0 0 0 0 −1 0
𝑇= 𝑇=
0 0 1 𝐿 +𝐿 𝑆𝜃 𝐶𝜃 0 0
3 0 𝐿 0 𝜽𝟑
0 0 0 1 0 0 0 1
4 0 𝐿 0 0
𝐶𝜃 −𝑆𝜃 0 𝐿
𝑆𝜃 𝐶𝜃 0 0
𝑇=
0 0 1 0
0 0 0 1
Q4) The arm with three degrees of freedom shown below has joints For the two-link
manipulator shown in Fig. (a), the link-transformation matrices, 𝑇 and 𝑇 were
constructed. Their product is:
𝐶𝜃 𝐶𝜃 −𝐶𝜃 𝑆𝜃 𝑆𝜃 𝐿 𝐶𝜃
𝑆𝜃 𝐶𝜃 −𝑆𝜃 𝑆𝜃 −𝐶𝜃 𝐿 𝑆𝜃
𝑇=
𝑆𝜃 𝐶𝜃 0 0
0 0 0 1
The link-frame assignments used are indicated in Fig (b). Note that frame
{0) is coincident with frame {1} when 𝜃 . The length of the second link is 𝐿 .
Find an expression for the vector 𝑃 which locates the tip of the arm relative
to the {0} frame.
26/11/2017
Solution:
𝐿
𝑃 = 𝑇 𝑃 ; 𝑃 = 0
0
𝐶𝜃 𝐶𝜃 −𝐶𝜃 𝑆𝜃 𝑆𝜃 𝐿 𝐶𝜃 𝐿
𝑆𝜃 𝐶𝜃 −𝑆𝜃 𝑆𝜃 −𝐶𝜃 𝐿 𝑆𝜃 0
𝑃 =
𝑆𝜃 𝐶𝜃 0 0 0
0 0 0 1 1
𝐿 𝐶𝜃 + 𝐿 𝐶𝜃 𝐶𝜃
𝐿 𝑆𝜃 + 𝐿 𝑆𝜃 𝐶𝜃
𝑃 =
𝐿 𝑆𝜃
Q5) Assign link frames to the RPR planar robot shown in the Fig. below and give the
linkage parameters ?
𝑿𝟑
𝑿𝟐
Solution : 𝒁𝟐
𝒊 𝜶𝒊 𝟏 𝒂𝒊 𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 90 ° 𝒂𝟏 𝒅𝟐 0
3 −90 ° 0 0 𝜽𝟑 𝒁 𝟑 : 𝒐𝒖𝒕 𝒐𝒇 𝒕𝒉𝒆 𝒑𝒂𝒈𝒆
𝑋
𝑌
0 = 1 𝑤ℎ𝑒𝑛 𝜽𝟏 = 0
𝒁 𝟏 : 𝒐𝒖𝒕 𝒐𝒇 𝒕𝒉𝒆 𝒑𝒂𝒈𝒆
03/12/2017
Introduction
to Inverse
Kinematics
Lectur-9- 1
Introduction
Forward Kinematics:
Joint variables are given ( 𝜃 𝑜𝑟 𝑑) depending whether ( R or P Joints)
Calculate the location of the end-effectors location and Orientation
Inverse Kinematics:
Given end-effector position (X,Y and Z) 𝑥, 𝑦
Find Joint variables ( 𝜃 , 𝜃 𝑜𝑟 𝑑 , 𝑑 )
𝜃
𝜃 Forward Kinematics
. 𝑇
. Inverse Kinematics
𝜃
1
03/12/2017
2
03/12/2017
3
03/12/2017
𝑦
tan 𝜃 = 𝑋, 𝑌
𝑥 𝑦
𝜃 = tan
𝑥 𝑋
Find L ? 𝜃
𝑋
𝐿= 𝑥 +𝑦 𝑌
L3
Cos Law
𝐿 =𝐿 +𝐿 − 2𝐿 𝐿 cos(𝐶)
4
03/12/2017
𝑥 + 𝑦 =𝐿 +𝐿 − 2𝐿 𝐿 cos(180 − 𝜃 )
cos(180 − 𝜃 )= - cos(𝜃 ) 𝜃
α
𝜃 =cos
9
( ) ( ) 𝜃
= = ,
α
( )
𝜃 =sin
10
5
03/12/2017
𝜃
𝑥 +𝑦 −𝐿 −𝐿
𝜃 = cos
2𝐿 𝐿
𝜃
𝑦 𝐿 sin(𝜃 )
𝜃 = tan − sin
𝑥 𝑥 +𝑦
𝜃
α
11
6
03/12/2017
𝒅𝟑
𝑳𝟏 𝒅𝟑
𝐒𝐢𝐝𝐞 𝐕𝐢𝐞𝐰
(𝒙, 𝒚, 𝒛)
z 𝒁𝟎 𝒀𝟎
𝑿𝟎
x
𝑿𝟎 𝐓𝐡𝐫𝐞𝐞 𝐋𝐢𝐧𝐤 − 𝐂𝐚𝐫𝐭𝐞𝐬𝐢𝐚𝐧 𝐫𝐨𝐛𝐨𝐭
𝐒𝐢𝐝𝐞 𝐕𝐢𝐞𝐰
13
𝒅𝟑
𝒅𝟏 y
(𝒙, 𝒚, 𝒛)
𝒁𝟎 𝒀𝟎
𝑿𝟎
x
𝑿𝟎 𝐓𝐡𝐫𝐞𝐞 𝐋𝐢𝐧𝐤 − 𝐂𝐚𝐫𝐭𝐞𝐬𝐢𝐚𝐧 𝐫𝐨𝐛𝐨𝐭
𝐒𝐢𝐝𝐞 𝐕𝐢𝐞𝐰
14
7
10/12/2017
1
10/12/2017
Multiple solutions
In the absence of
the obstacle, the
upper dashed
configuration in
Fig. 10.3 would be
chosen.
Weights might be
applied in the
calculation of
which solution is
"closer“. That
means the Fig10.3: One of the two possible Fig10.2: Three-link manipulator.
movement of the solutions to reach point B causes Dashed lines indicate a second
smaller Joints are a collision. solution.
easier than the
larger ones that
carry links
Multiple solutions
Number of solution depends on:
1- Number of joints as a function of Link
parameters (a ,d , alpha and theta).
2- Allowable ranges of motion of the joints.
e.g. PUMA 560 can reach certain goals with eight
different solutions. Fig 10.4 shows four possible
solution for the same XYZ coordinate. In addition
each one of these four position can be reached by
oriented the Joints 4,5 and 6 as follow:
2
10/12/2017
𝒂𝒊 Number of Solution
𝑎 =𝑎 =𝑎 =0 ≤4
𝑎 =𝑎 =0 ≤8
𝑎 =0 ≤ 16
All 𝑎 ≠ 0 ≤ 16
𝐶∅ 𝑆∅ 0 𝑥
−𝑆∅ 𝐶∅ 0 𝑦
𝑇=
0 0 1 0
0 0 0 1
3
10/12/2017
Algebraic solution
4
10/12/2017
Algebraic solution
We attempt to find 𝜃
𝑥 = 𝑘 𝑐 − 𝑘 𝑠 ,………(5)
𝑦 = 𝑘 𝑠 − 𝑘 𝑐 ,……..(6)
From eqn. (3) and (4)
𝑘 =𝑙 + 𝑙 𝑐 ,
𝑘 =𝑙 𝑠 ,
Find the radius
𝑟=+ 𝑘 + 𝑘
𝑘
𝛾 = tan
𝑘
Algebraic solution
𝑘 = 𝑟 cos 𝛾
𝑘 = 𝑟 sin 𝛾
Eqn. (4) and (5) can be written now:
𝑥
= cos 𝛾 cos 𝜃 − sin 𝛾 sin 𝜃
𝑟
𝑦
= cos 𝛾 sin 𝜃 − sin 𝛾 cos 𝜃
𝑟
𝑥
cos(𝛾 + 𝜃 ) =
𝑟
𝑥
sin(𝛾 + 𝜃 ) =
𝑟
Using the two-argument arctangent, we get
𝜃 = 𝐴𝑡𝑎𝑛2(𝑦, 𝑥)) − 𝐴𝑡𝑎𝑛2(𝑘 , 𝑘 )
5
10/12/2017
6
10/12/2017
7
10/12/2017
8
17/12/2017
Robotics I
Yazen H Shakir
Lecture 11
Transcendental Equation
• It is an equation that we can not solve it directly by substitution to be
such as algebraic equation for instance :
𝑎 cos 𝜃 + 𝑏 sin 𝜃 = 𝑐
𝜃=? , we can solve for 𝜃 by three methods :
( )( ) ( )( )
sin 𝜃= 2𝑏𝑐 ∓ ) ….. 𝜃= sin (2𝑏𝑐 ∓ ) )
( (
𝜃=sin − sin
17/12/2017
Q1) Figure below shows a two-link planar arm with rotary joints. For
this arm, the second link is half as long as the first—that is, 𝑙 = 2𝑙 . The
joint range limits in 0 < 𝜃 < 180, −90 < 𝜃 < 180 . Sketch the
approximate reachable workspace (an area) of the tip of link 2.
Answer):
17/12/2017
Solution )
𝑇= 𝑇 𝑇 𝑇
Now 𝑇 = 𝑇 , which we write out as:
𝑅 𝑅 𝑅 𝑃
𝑅 𝑅 𝑅 𝑃
𝑇=
𝑅 𝑅 𝑅 𝑃
0 0 0 1
Continued
Solution )
Equate elements (1,3): 𝑆 = 𝑅
Equate elements (2,3) : −𝐶 = 𝑅
𝜃 = 𝑎𝑡𝑎𝑛2(𝑅 , - 𝑅 )
If both 𝑅 =0 and 𝑅 =0 the goal is
unattainable
Continued
If 𝐶 ≠ 0 then 𝐶 = −𝐿
Else 𝐶 = −𝐿
Equate elements (3,4): 𝑃 = 𝑆 𝐿
So, 𝜃 = 𝑎𝑡𝑎𝑛2( , 𝐶 )
Equate elements (3,1): 𝑆 = 𝑅
Equate elements (3,2): 𝐶 = 𝑅
So, 𝜃 = 𝑎𝑡𝑎𝑛2(𝑅 , 𝑅 ) − 𝜃
If both 𝑅 and 𝑅 are zero the goal is
unattainable
Assume 𝑃 , then
=𝐿 𝑋
𝑃 𝐿 𝐶 + 𝐿 𝐶 𝐶 + 𝐿 𝐶 𝐶
𝑃 = 𝑃 = 𝐿 𝑆 + 𝐿 𝑆 𝐶 + 𝐿 𝑆 𝐶
𝑃 𝐿 𝑆 + 𝐿 𝑆
First,
𝑆 = ,𝐶 =
𝛼= −𝐿 if 𝐶 ≠ 0, or 𝛼 = −𝐿 if 𝑆 ≠ 0
17/12/2017
We have
𝐿 𝐶 + 𝐿 𝐶 =∝
𝐿 𝑆 + 𝐿 𝑆 = 𝑃
𝑆 = ∓ 1 − 𝐶 ; 𝜽 𝟑 = 𝒂𝒕𝒂𝒏𝟐( 𝑺𝟑 , 𝑪𝟑 )
Finally ,
𝐿 𝐶 =∝ − 𝐿 𝐶 , 𝐿 𝑆 = 𝑃 − 𝐿 𝑆
, so 𝜃 = 𝑎𝑡𝑎𝑛2( 𝑃 − 𝐿 𝑆 , ∝ − 𝐿 𝐶 )- 𝜽 𝟑