Chapter 1 - Introduction To Robitics
Chapter 1 - Introduction To Robitics
Robotic Fundamentals
Robotic fundamentals
• Introduction
• Rigid body motion
• Transformation of coordinates
• Robot kinematics
Forward kinematics
Inverse kinematics
10/06/2023 2
Robot Defined
• Word robot was coined by a Czech novelist Karel
Capek in a 1920 play titled Rassum’s Universal
Robots (RUR)
• Robot in Czech is a word for worker or servant.
• Robot–Any automated machine programmed to
perform specific mechanical functions in the
manner of a man.
• Robotics–the science dealing with design,
construction and operation of robots.
10/06/2023 3
Definition of robot:
Serial Robots
Accumulated error Parallel Robots
Less rigidity Greater rigidity
Less accurate Higher speed
More workspace Higher accuracy
Limited workspace 5
10/06/2023
Classification of Robots…Locomotion…
Legged and wheeled Robot
Classification of Robots…Locomotion…
3. Autonomous Underwater and Unmanned Aerial Vehicle
10/06/2023 7
Classification of Robots ….Applications
1. Industrial Robots
Coating/Painting
Assembly of an
automobile
10/06/2023 8
Drilling/ Welding/Cutting
Classification of Robots ….Applications…..
2. Locomotion/Exploration Robots
Underwater exploration
Space Exploration
10/06/2023 9
Robo-Cop
Classification of Robots ….Applications….
3. Medical Robot
a) Medical robot for head surgery
b) Surgical robot used in spine surgery, redundant
manual guidance.
c) Autoclavable instrument guidance (4 DoF) for
milling, drilling, endoscope guidance and biopsy
applications
Robots assist in high precision
surgeries such as brain and heart
surgery. They are also used to test
quality control in pharmaceuticals.
10/06/2023 10
Classification of Robots ….Applications….
4. House-hold/Entertainment Robots
Toys
Asimov
Robot vacuum cleaners, Robot pool cleaners, sweepers,
gutter cleaners
10/06/2023 11
Classification of Robots ….Applications….
5. Military Robots
Tracked Robots
Military robots are autonomous robots or remote-controlled
mobile robots designed for military applications, from
transport to search & rescue and attack. This type of robots
includes bomb disposal robots, different transportation robots,
exploration/reconnaissance drones.
Introduction
Application example
– Mars exploration (NASA Viking Mission, 1975)
Uses of Robot
1. Jobs that are dangerous for humans
Welding Robot
10/06/2023 15
Uses of Robot…..
3. Menial tasks that human don’t want to do
10/06/2023 19
Advantage and Disadvantage of Robots
Advantage
• Increase productivity, safety, efficiency, quality, and consistency of products.
• Deliver relief from tiresome, monotonous, or hazardous works
• Perform many operations better than people do
• They provide higher accuracy and repeatability
• Used in extreme environments.
• can process multiple stimuli or tasks simultaneously.
Disadvantage
unemployment will increase and may people who can not get work will be-
come poorer
Lack capability to respond in emergencies.
have limited capabilities in Degree of freedom, Sensors, Vision system, real
time response.
they are costly, due to Initial cost of equipment, Installation costs, Need for
Peripherals, Need for training, Need for programming .
10/06/2023 20
Rigid body motion
• Degree of freedom
• Type of links and joints
• Type of motion
• Description of Position, Orientation, Coordinate
Transformations
• Kinematics
10/06/2023 21
Degrees of Freedom (DOF)
• The system's DOF is equal to the number of
independent parameters (measurements) which
are needed to uniquely define its position in
space at any instant of time.
• A rigid body in plane motion has three DOF.
• Any rigid body in three-space has six degrees of
freedom
10/06/2023 22
Degree of freedom
Robot arms are described by
their degrees of freedom. This
number typically refers to the
number of single-axis
rotational joints in the arm,
where higher number
indicates an increased
flexibility in positioning a
tool.
Components and Structure of Robots
Links
• A link is an (assumed) rigid body which have at least two
nodes which are points for attachment to other links.
Some of the common types of links are:
Binary link - one with two nodes.
Ternary link - one with three nodes.
Quaternary link - one with four nodes.
Pentagonal link – one with five nodes.
Hexagonal link – one with six nodes
10/06/2023 24
Joints
• A joint is a connection between two or more links (at
their nodes), which allows some motion, or potential
motion, between the connected links. Joints (also
called kinematic pairs) can be classified in several
ways:
1. By the type of contact between the elements, line,
point, or surface.
2. By the number of degrees of freedom allowed at the
joint.
3. By the type of physical closure of the joint: either
force or form closed.
4. By the number of links joined (order of the joint). 25
10/06/2023
Types of Joints
10/06/2023 26
• The six possible lower pairs are:
1. Revolute (R)
2. Prismatic (P)
3. Screw/Helical (H)
4. Cylindrical (C)
5. Spherical (S) and Revolute Joint – 1 DOF
6. Planar/Flat (F)
10/06/2023 38
• The Orientation of a body is described by a
coordinate system B attached to the body
relative to A (a known coordinate system)
10/06/2023 39
Each component of c can be written as a dot product of a
pair of unit vectors:
10/06/2023 40
Description of a frame
• A frame is a set of four vectors giving position and
orientation information
• For example, frame {B} is described by and
where is the vector that locates the origin of
the frame {B}:
10/06/2023 41
MAPPINGS: Changing descriptions from frame to frame
10/06/2023 42
Mappings involving rotated frames
• Expressing a vector in terms of frame
{A} , the origins of the frame {A} and {B}
are coincident
10/06/2023
Mappings involving general frames
• {A} and {B} has different origin and orientations
• Vector offset between origins:
• {B} is rotated with respect to {A}:
10/06/2023 44
Mappings involving general frames
• First, describe relative to a frame that
has the same orientation of {A}, but whose
origin coincides with the origin {B}
• Then add for the translation
• Thus:
10/06/2023 45
• “Homogenous transform”
In other words,
1. a "1" is added as the last element of the 4 x 1
vectors;
2. a row "[0 0 0 1]" is added as the last row of
the 4 x 4 matrix.
10/06/2023 46
Principal Rotation Matrices
10/06/2023 47
Example
Robot Kinematics
choice of parameterization q
• unambiguous and minimal characterization of robot configuration
n = # degrees of freedom (dof) = # robot joints (rotational or
translational)
10/06/2023 49
Kinematics Type
• In robots
– Forward kinematics
• Deals with determination of position and orientation
of end effector as a function of joint positions
– Inverse kinematics
• Deals with determination of joint positions for a
given end effector position and orientation
10/06/2023 50
Classification by Kinematics type
(first 3 DOFs)
10/06/2023 51
Forward kinematics
Deals with determination of position and orientation
of end effector as a function of joint positions
Link parameters
Link Length (ai)
Is measured along a line which is mutually perpendicular to both
axes.
The mutually perpendicular always exists and is unique except
when both axes are parallel.
Link twist ()
Project both axes i-1 and i onto the plane whose normal is the
mutually perpendicular line, and measure the angle between them
10/06/2023 53
Joint Parameters
A joint axis is established at the connection of two
links. This joint will have two normals connected
to it one for each of the links.
• The relative position of two links is called link
offset dn whish is the distance between the links
(the displacement, along the joint axes between
the links).
• The joint angle qn between the normal is measured
in a plane normal to the joint axis.
10/06/2023 54
10/06/2023 55
Link and Joint Parameters
zi
xi
Zi-1
Xi-1
10/06/2023 56
Link and Joint Parameters
4 parameters are associated with each link.
• Link parameters:
ai the length of the link.
ai the twist angle between the joint axes.
• Joint parameters:
qi the angle between the links.
di the distance between the links
……………………………………………………………
…………..
ai = the distance from zi to zi+1 measured along xi.
ai = the angle between zi and zi+1 measured about xi
di10/06/2023
= the distance from xi-1 to xi measured along z i 57
10/06/2023 58
Links Numbering Convention
Link 2
Base of the arm: Link-0 2
1st moving link: Link-1 3 Link 3
. . Link 1
1
. .
. .
0 Link 0
Last moving link Link-n
10/06/2023 60
The Kinematics Model
The robot can now be kinematically modeled by
using the link transforms ie:
T T1T2T3 Ti Tn
0
n
Where
is the pose of the end-effector relative to base;
Ti is the link transform for the ith joint;
and
n is the number of links.
10/06/2023 61
The Denavit-Hartenberg (D-H)
Representation
• The D-H representation has been used to derive the
kinematic description of robotic manipulators.
• The method begins with a systematic approach to
assigning and labeling an orthonormal (x,y,z)
coordinate system to each robot joint. It is then
possible to relate one joint to the next and ultimately
to assemble a complete representation of a robot's
geometry.
10/06/2023 62
Rule for frame assignment
• Zi axis is aligned with axis i, its assignment is
arbitrary
• Xi axis is perpendicular to axis of Z i-1 and Zi and
points away from axis Zi-1
• Origin of ith coordinate frame is located at the
intersection of axis of joint i+1 and common normal
between (i-1) and i
• Yi is completes the RH rule
10/06/2023 63
General Transformation Between Two
Bodies
In D-H convention, a general transformation
between two bodies is defined as the
product of four basic transformations:
10/06/2023 65
DH Convention summary
• Step 1: Locate and label the joint axes z 0, . . . , zn−1.
• Step 2: Establish the base frame. Set the origin
anywhere on the z0-axis. The x0 and y0 axes are
chosen conveniently to form a right-hand frame.
For i = 1, . . . , n − 1, perform Steps 3 to 5.
• Step 3: Locate the origin oi where the common
normal to zi and zi−1 intersects zi. If zi intersects zi−1
locate oi at this intersection. If zi and zi−1 are parallel,
locate oi in any convenient position along z i.
10/06/2023 66
• Step 4: Establish xi along the common normal between
zi−1 and zi through oi, or in the direction normal to the
zi−1 − zi plane if zi−1 and zi intersect.
• Step 5: Establish yi to complete a right-hand frame.
• Step 6: Establish the end-effector frame onxnynzn.
Assuming the n-th joint is revolute, set zn = a along the
direction zn−1. Establish the origin on conveniently
along zn, preferably at the center of the gripper or at the
tip of any tool that the manipulator may be carrying.
Set yn = s in the direction of the gripper closure and set
xn = n as s × a. If the tool is not a simple gripper set xn
and yn conveniently to form a right-hand frame
10/06/2023 67
• Step 7: Create a table of link parameters a i, di,
α i, θ i.
• ai = distance along xi from oi to the intersection
of the xi and zi−1 axes.
• di = distance along zi−1 from oi−1 to the
intersection of the xi and zi−1 axes. di is variable if
joint i is prismatic.
• α i = the angle between zi−1 and zi measured about
xi
10/06/2023 68
• θi = the angle between xi−1 and xi measured
about zi-1. θi is variable if joint i is revolute.
• Step 8: Form the homogeneous transformation
matrices Ti by substituting the above
parameters.
• Step 9: Form = T1 · · ·Tn. This then gives the
position and orientation of the tool frame
expressed in base coordinates.
10/06/2023 69
D-H transformation for adjacent coordinate
frames:
i 1
T i
Tz , Tz ,d Tx ,aTx , I 44
C i C i S i S i S i ai C i
S C i C i S i C i ai S i
T i
i 1 i
0 S i C i di
0 0 0 1
10/06/2023 70
Summery ai = the distance from zi to zi+1 measured along xi.
ai = the angle between zi and zi+1 measured about xi
di = the distance from xi-1 to xi measured along z I
qi = the angle between xi-1 to xi measured about z i
Example 1
10/06/2023 72
Example 1
10/06/2023 73
Example2
Z3
Z0 Z1
Joint 3
Y0 Z O3 X3
Y1 2
d2
Joint 1
O0 X0 O1 X1 O2 X2
Joint 2
Joint i i ai di i
Y2
a0 a1 1 0 a0 0 0
2 -90 a1 0 1
3 0 0 d2 2
10/06/2023 74
Example2
C i C i S i S i S i ai C i
S C i C i S i C i ai S i
T i
i 1 i
0 S i C i di
0 0 0 1
T (T )(T )(T )
0
3 1
0
2
1
3
2
10/06/2023 75
Example2
cosθ 0 sinθ 0 0 a0 cos 0
Joint i i ai di i
1 sinθ 0 cosθ 0 0 a0 sin 0
1 0 a0 0 0 T 0
0 0 1 0
2 -90 a1 0 1 0 0 0 1
cosθ 2 sinθ 2 0 0
sin cos 2 0 0
T 23 2
0 0 1 d2
0 0 0 1
10/06/2023 76
Example3
θ3
a3 θ2
a2
θ1
10/06/2023 77
Example3
c1 s1 0 a0 c1 s1 0 0
s c c c s 0 s 0 d1 s1 c1 0 0
0
T 1 0 1 0
1
s1s 0 c1s 0 c 0 c 0 d1 0 0 1 0
0 0 0 1 0 0 0 1
c 2 s 2 0 L1 c3 s3 0 L2
s c 2 0 0 s c 0 0
2T
1 2 2
T 3 3
0 0 1 0
3
0 0 1 0
0 0 0 1 0 0 0 1
10/06/2023 78
Example3
c123 s123 0.0 l1c1 l2 c12
s c 0 . 0 l s l s
W T 3T
B 0 123 123 1 1 2 12
.
0.0 0.0 1.0 0.0
0 0 0 1
10/06/2023 79
Inverse kinematics
• Given
– Length of each link
– Position and orientation of end effector
• Required
– Angle of each joint
10/06/2023 80
Inverse Transformation
Ci C i Si S i Si aiCi
S C i C i S iCi ai Si
Ti i 1 i
0 S i C i di
0 0 0 1
to give
R P
T i 1i
0 0 0 1
where
ai ci
ci c i si s i s i a s
R si c i ci
s i ci and P i i
0 s i c i di
10/06/2023 81
Inverse Transformation
For example, find the inverse of:
• The inverse
X
transformation is
3
given by:
Y1
Y0
Y3
Y2 X 2
T
T
P
i 1 1 R R X1
iT X 0
0 0 0 1
i i-1 i-1 di i
1 0 0 0 1
2 0 L1 0 2
10/06/2023 3 0 L2 0 3
82
Inverse Transformation of 0
1T 1
cos(1 ) sin(1 ) 0 0
sin( ) cos( ) 0 0
0
1T 1 1
0 0 1 0
0 0 0 1
cos(1 ) sin(1 ) 0 cos(1 ) sin(1 ) 0
R sin(1 ) cos(1 ) 0 R T sin(1 ) cos(1 ) 0
0 0 1 0 0 1
0 cos(1 ) sin(1 ) 0 0 0
P 0 R T P sin(1 ) cos(1 ) 0 0 0
0 0 0 1 0 0
10/06/2023 83
Inverse Transformation of
0
1T 1
cos(1 ) sin(1 ) 0 0
sin( ) cos( ) 0 0
0
T 1 1
i 1 1 R T
R T
P
1
0 0 1 0 iT
0 0 0 0 1
0 0 1
0 0 1 0
0 0 0 1
10/06/2023 85
Inverse Transformation of T 1
1
2
Therefore
cos( 2 ) sin( 2 ) 0 l1 cos( 2 )
sin( ) cos( ) 0 l1 sin( 2 )
1 1
T 2 2
2
0 0 1 0
0 0 0 1
10/06/2023 86
Inverse Transformation of 2
3T 1
0 0 1 0
0 0 0 1
10/06/2023 87
Inverse Transformation of 2
3T 1
l2 cos(3 )
cos( 3 ) sin( 3 ) 0 and RT P l2 sin(3 )
R T sin( 3 ) cos( 3 ) 0 0
0 0 1
Therefore
cos(3 ) sin(3 ) 0 l2 cos(3 )
sin( ) cos( ) 0 l2 sin(3 )
2 1
T 3 3
3
0 0 1 0
0 0 0 1
10/06/2023 88
Inverse Kinematics Problem
• Robot forward kinematics involve finding the gripper
position and orientation given the angles of rotation of the
linkages
• Now consider the following problem for the planar robot:
The arm moves to a new location and the position along with
the orientation of the gripper w.r.t. frame {0} is known. Can
you determine the total rotations of 1, 2, and 3 required for
the arm to reach that new position?
• This10/06/2023 89
problem is called the robot inverse kinematics problem .
Inverse Kinematics of the Planar Robot
The inverse kinematics problem for the planar robot can be stated
as follow:
Given the global gripper orientation and position, i.e. given
nx ox ax px
n oy ay py
0
3T y
nz oz az pz
0 0 0 1
0 0 1 0
0 0 0 1
10/06/2023 91
Inverse Kinematics example
nx ox ax px
n oy ay p y
y
nz oz az pz
0 0 0 1
cos(1 2 3 ) sin(1 2 3 ) 0 l1 cos(1 ) l2 cos(1 2 )
sin( ) cos( ) 0 l sin( ) l sin( )
1 2 3 1 2 3 1 1 2 1 2
0 0 1 0
0 0 0 1
nx
10/06/2023 92
10/06/2023 93
Inverse Kinematics example
Next, equate elements (1,4) and (2,4):
px l1 cos(1 ) l2 cos(1 2 )
p y l1 sin(1 ) l2 sin(1 2 )
Square both of these equations to get:
px2 l12 cos 2 (1 ) l22 cos 2 (1 2 ) 2l1l2 cos(1 ) cos(1 2 )
where l1 l2 cos( 2 )
l2 sin( 2 )
px px
nx
2) Find 2 from
px2 p y2 l12 l22 ,
cos( 2 ) sin( 2 ) 1 cos 2 ( 2 )
2l1l2
3) Find 1 from py 1 p y
1 tan tan tan 1
1
px px
4) Find 3 from 3=-(1+2) 96
Inverse Kinematics exercise 1
The gripper position and orientation for the planar robot is at:
nx ox ax p x 1 0 0 l2
n oy ay p y 0 1 0 l1
y
nz oz az p z 0 0 1 0
0 0 0 1 0 0 0 1
Where l1=3, l2=2. Find the joint angles and hence determine
the robot configuration. n
(1 2 3 ) tan 1 y tan 1 0 0
nx
px2 p y2 l12 l22
cos( 2 )
0
2l1l2
sin( 2 ) 1 cos 2 ( 2 ) 1
sin( 2 )
2 tan 1 90
cos( 2 )
99
Inverse Kinematics exercise 1
10/06/2023 100
Inverse Kinematics exercise 1
py 1 p y 1
1 tan tan tan 90
1
px px
3 (1 2 ) 0
Results: 1 90
2 90
3 0
10/06/2023 101
Visualization of Inverse Kinematics exercise 1
To visualize the arm movement, the robot should looks like this
after rotating 1 = 90° (1 is the angle from X0 to X1 measured
along Z1).
X3
Y3
X2
Y2
Y0, X1 1=90°
Y1 X0
10/06/2023 102
Visualization of Inverse Kinematics exercise 1
To visualize the arm movement, the robot should looks like this
after rotating 1 = 90° (1 is the angle from X0 to X1 measured
along Z1),
and after rotating 2
= -90° (2 is the
angle from X1 to X2
Y2 Y3
measured along Z2)
Note that 3 = 0° X2 X3
2=-90°
Y0, X1
Y1 X0
10/06/2023 103
Visualization of Inverse Kinematics exercise 1
The orientation of the gripper is as follow:
n 1 0 0 X3 is in the positive X0 direction
T
o 0 1 0 Y3 is in the positive Y0
T
a 0 0 1 direction Z3 is in the positive Z0 direction
T
p l2 0 Location of gripper in frame {0}
T
l1
Y2 Y3
X2 X3
nx ox ax p x 1 0 0 l2
n oy ay p y 0 1 0 l1
y
nz oz az p z 0 0 1 0
l2
0 0 0 1 0 0 0 1 l1
Y0,X1
10/06/2023 Y1 X0 104
Inverse Kinematics exercise 2
The gripper position and orientation for the planar robot is at:
nx ox ax p x 0 1 0 0
n oy ay p y 1 0 0 5
y
nz oz az p z 0 0 1 0
0 0 0 1 0 0 0 1
Where l1 =3 and l2= 2. Find the joint angles and hence determine
the robot configuration.
n 1
(1 2 3 ) tan 1 y tan 1 90
nx 0
py p
1 tan 1 tan 1 y tan 1 90
px px
3 (1 2 ) 0
Results: 1 90
2 0
3 0
10/06/2023 106
Visualization of Inverse Kinematics exercise 2
X2
1=90°
Y2
Y0, X1
10/06/2023 Y1 X0 107
Inverse Kinematics – the general approach
nx ox ax px nx ox ax px
n oy ay p y n oy ay p y
T T
1
n
0
1
1 y
nz oz az pz
, T T T
2
n
1
2
1 0
1
1 y
nz oz az pz
0 0 0 1 0 0 0 1