Robot Kinematics: Dr.S.Kalaimagal Ceg Campus Anna University Chennai
Robot Kinematics: Dr.S.Kalaimagal Ceg Campus Anna University Chennai
Robot Kinematics: Dr.S.Kalaimagal Ceg Campus Anna University Chennai
Dr.S.KALAIMAGAL
CEG CAMPUS
ANNA UNIVERSITY CHENNAI
Outline
Design of Robot Manipulators
Kinematics
Degrees of Freedom
Types of Kinematics
Homogeneous Transformations
Geometric Approach
Forward and Inverse Kinematics of Planar and Spatial Robots
Algebraic Approach (D-H Representation)
Forward and Inverse Kinematics of Planar and Spatial Robots
Case Studies
2 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Design of Robot manipulators
Depends upon
Application
Configuration
Work Volume
Payload
Inertia Force
Centre of Gravity
Speed
Kinematics
3 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
WORK VOLUME or WORK ENVELOPE:
The space within which the robot can manipulate its wrist end is known as work
volume.This avoids the complication of different sizes of end effectors that might be
attached to robots wrist.This is determined by the following physical characteristics
of the robot.
Robot’s Physical configuration, Size of the body,arm and wrist
components,The limits of robots joint movement
5 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Inertia force
Another important parameter influencing the design &
performance of robot
Depends upon the payload,speed and acceleration of the
robot while in motion
It always acts in the direction opposite to that of the
motion of the manipulator
6 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Centre of Gravity
It is the point where the entire weight of the robot is said
to be concentrated
Plays a important role in the design of manipulators
especially in Bipedal robots, humanoid robots and
articulated robots
Depends upon the weight of the links, actuators, joints,
transmission elements and payload
7 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Speed
It is defined as how quickly the robot will move from one
position to the next
Higher speed affects the stability of the robot
Pneumatic actuators give maximum speed compared to
hydraulic and electrical actuators
8 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Dynamics
It is the branch of physical science which deals with
bodies which are in motion
Divided into
Kinetics
Kinematics
9 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Kinematics
It is the branch of dynamics which deals with the relative
motion existing between members
Motion of one body with respect to another body
Relative Position
Relative Motion
Relative Velocity
Relative Acceleration
10 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Planar and Spatial Robots
Planar
The robots configured in such a way that the workspace of the
robot is limited to a plane are called as planar robots
Spatial Robots
The robots whose end effector has access to any point in space
(of course limited to the work volume)
11 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Degrees of freedom
Degree of Freedom is the number of independent relative
motion in the form of translation and rotation
The body in space has got the maximum of 6 degrees of
motion(3 translatory & 3 rotary motions)
Each Translatory has 1 DOF and each Rotary has 1 DOF
12 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Degrees of freedom
Positioning
Positioning the end effector in the 3D space, requires three DoF, either
obtained from rotations or translations
Reference
frame origin
z
x
y
13 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Degrees of freedom
Orientation
Orienting the end effector in the 3D space, requires three additional DoF
to produce the three rotations.
roll
P tilt
pan
Reference
frame origin
z
x
y
14 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Basic Joints
Rotational Joint
1 DOF Prismatic Joint
1 DOF (linear)
Twist Joint
1 DOF
3 DOF
Revolving
Joint
15
1 DOF
INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Degrees of Freedom of Robots
16 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
An Example - The PUMA 560
18 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
19 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Homogenous Transformation
A matrix H will be considered such that an operator which
transforms a point (attached with a frame) or a vector X, into another
point or vector then
Y=HX
20 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Translation
We define the translation and transformation as Trans (a,
b, c) as the operator that moves the point defined by the
original vector ‘X’ to a new point ‘Y’ whose location is
given by vector addition of ‘X’ and translation vector
defined by the component (A, B, C). The matrix is defined
by 1 0 0 a
0 1 0 b
H
Trans (a, b, c) = 0 0 1 c
0 0 0 1
21 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Rotation Matrices in 3D – Homogeneous
Representation
22 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Homogenous Transformation in 3D
H is a 4x4 matrix that can describe a translation, rotation, or
both in one matrix 1 0 0 Px
O
0 1 0 P
H y
Y 0 0 1 Pz
N
P 0 0 0 1
A Rotation part:
X Could be rotation around z-axis, x-axis,
Translation without rotation y-axis or a combination of the three.
Y
Z
n x ox ax 0
N n oy ay 0
H y
X n z oz az 0
Z Rotation without translation 0 0 0 1
A
23 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
An Important Point to Remember
The rotation and translation part can be combined into
a single homogeneous matrix IF and ONLY IF both
are relative to the same coordinate frame.
Generally defined with Respect to the so called World
Reference Frame, usually placed at the base of the
Robot
24 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Forward and Inverse
kinematics of robot for
position
Forward Kinematics
The Situation:
You have a robotic arm that starts out aligned
with the xo-axis.
You tell the first link to move by 1
and the second link to move by 2.
The Quest:
What is the position of the end of
the robotic arm?
Solution:
Geometric Approach
This might be the easiest solution for the simple situation. However, notice
that the angles are measured relative to the direction of the previous link. (The
first link is the exception. The angle is measured relative to it’s initial
position.) For robots with more links and whose arm extends into 3
dimensions the geometry gets much more tedious.
Algebraic Approach
Involves coordinate transformations.
26 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Types of robot co ordinates
One may position a point in space based on the
following co ordinates
Cartesian (rectangular or Gantry)
Cylindrical
Spherical
Articulated
Cartesian Co ordinate
There are 3 linear movements along the 3 major axes
(X,Y,Z)
Positioning of the hand of the robot is accomplished by
moving the 3 linear joints along the 3 axes
The transformation matrix representing the motion to a
point P is a simple Translational transformation matrix
since there are no rotations
Cartesian Co ordinate
o n
z
a
P
Pz
Px
Py
X
The transformation matrix representing the forward kinematic
equation of the position of the hand of the robot in cartesian co
ordinate system will be
R
TP =
The total transformation caused by the three transformation that relates the origin of hand frame to
the reference frame is obtained as,
RT
p = T cyl ( r,α,l) = Trans (0,0,l) Rot ( Z, α) Trans (r,0,0)
R
Tp =
C S 0 rC
S C 0 rS
0 0 1 l
0 0 0 1
n o
z
l
y
α
r
X
SPHERICAL CO-ORDINATES
This system consists of 1 linear & 2 rotations.
The sequence is ,
A translation of ‘r’ along Z axis.
R
Tp =
SPHERICAL CO-ORDINATES
o a
z
n
γ
β P
X
SPHERICAL CO-ORDINATES
RTp =
First three columns represents the orientation of the frame and last column
Represent the position of the origin.
36 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
One DOF Planar Robot
Direct Kinematics
L – Link Length
x = L . cosθ θ = Angle of Rotation
y = L . Sinθ
y (x, y)
Inverse Kinematics
L . sinθ
θ = tan-1(y/x) θ
x
L . cosθ
37 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Two DOF Planar Robot – Direct Kinematics
y (x, y)
L2 . sin(θ1+ θ2)
x = L1 . cosθ1 + L2 . cos(θ1+ θ2) θ2
L2
y = L1 . sinθ1 + L2 . sin(θ1+ θ2)
L1 . sinθ1
L1
θ1
x
L1 . cosθ1
L2 . cos(θ1+ θ2)
38 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Two DOF Planar Robot - Inverse Kinematics
INVERSE KINEMATICS
Position of end of arm in world
space in link vectors
39 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Two DOF Planar Robot - Inverse Kinematics
40 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Two DOF Planar Robot - Inverse Kinematics
Also
41 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Two DOF Robot(spatial) – TR Configuration
Forward Kinematics
The direct kinematics
y
X, Y, Z equations of the TR robot
configuration are
X = [L1 cosθ] cosΦ
Y = L1 sinθ
θ Z = [L1 cosθ] sinΦ
x
Inverse Kinematics
Φ
Tan Φ = (Z/X)
z
Sinθ = (Y/ L)
42 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Three DOF TRR Configuration Robot
Direct Kinematics
44 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Three DOF TRL Configuration Robot
Direct Kinematics
90 - Φ
1
L
L1 sinΦ
Φ X, Y, Z
45 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Four DOF TRLR Configuration Robot
Direct Kinematics
46 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Four DOF TRLR Configuration Robot
Direct Kinematics
The direct kinematic equations of the TRLR robot
configuration
47 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
48 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
The Denavit-Hartenberg Transformation
In 1955 Denavit and Hartenberg published a paper in ASME
journal which was later used to represent and model robots and
to derive their equations of motion.
The method can be used for any robot configuration, regardless
of its sequence or complexity
Although the direct modeling is straight forward, it is
important to understand D-H representation because many
techniques (such as calculation of Jacobian, force analysis)
have been developed for use with its results.
49 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Representation
51 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Representation
Translate along the zn-axis a distance of dn+1 to make xn and xn+1
collinear. Since xn and xn+1 were already parallel and normal to zn,
52 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Representation
Translate along the xn-axis a distance of an+1 to
bring the origins of xn and xn+1 together. At this
point, the two origins of the two reference
frames will be at the same location.
53 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Representation
Rotate zn-axis about xn+1 – axis an angle of αn+1
to align zn-axis with zn+1-axis. At this point
frames n and n+1 will be exactly the same and
we will have transformed from one frame to
the next.
54 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Representation
55 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
The general transformation matrix by D-H is given by
56 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Representation
So in general once we know the individual
transformations, the total transformation between the base
of the robot and the hand will be
57 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Direct Kinematics of(Planar) – 1DoF R
Configuration
y
Forward Kinematics
X, Y, # θ d a α
1 θ1 0 L1 0
L1
58 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Two DOF Planar Robot – Direct Kinematics
# θ d a α y (x, y)
1 θ1 0 L11 0
2 θ2 0 L22 0
θ2
C1 S 1 0 C1L1
L2
S 1 C1 0 S 1L1
A1
0 0 1 0
L1
0 0 0 1
C 2 S 2 0 C 2 L 2
S 2 C2 θ1
0 S 2 L 2
A2 x
0 0 1 0
0 0 0 1
59 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Py = L2(S1C2 +C1S2) +L1S1
Pz = 0
Transformation between base and hand is RTH = A1A2
(C1C 2 S 1S 2) (C1S 2 S 1C 2) 0 (C1C 2 L 2 S 1S 2 L 2 C1L1)
( S 1C 2 C1S 2) ( S 1S 2 C1C 2) 0 ( S 1C 2 L 2 C1S 2 L 2 S 1L1)
A1 A2
0 0 1 0
0 0 0 1
n x ox ax Px
n oy ay Py
H y
n z oz az Pz
0 0 0 1
60 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Frame Assignments
61 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
TRR Configuration robot –forward
kinematics using D-H matrix
62 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Representation of a 3DOF TRR
configuration Robot
x3
D-H Parameters
63 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Total transformation between the base of the robot
and the hand is RTH=
C 2 S 2 0 C 2 L1
S 2 C2 C 3 S 3 0 C 3L2
C1 0 S 2 L1
0 S1 0
S3 C3 0 S 3 L 2
S1 0 C1 0 A2 A3
A1 0 0 1 0 0 0 1 0
0 0 1 0
0 0 0 1
0 0 0 1 0 0 0 1
C1C 2 C1S 2 S 1 C1C 2 L1
S 1C 2 S 1S 2 C1 S 1C 2 L1
A1 A2
S2 C2 0 S 2 L1
0 0 0 1
65 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Representation of a 6DOF Robot
Frame Assignments
67 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Parameters
68 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Transformation Matrices
69 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
D-H Representation
The final transformation matrix is
given by
70 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Matrix Inversion
The following steps are taken for calculating the inverse
of a matrix
Calculate the determinant of the matrix
Transpose the matrix
Replace each element of the transposed matrix by its own
minor (adjoint matrix)
Divide the adjoint matrix by the determinant
71 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Matrix Inversion - Example
1 0 0
Consider Rot (x, θ) 0 cosθ sinθ
0 sinθ cosθ
1. Applying the process to the rotation matrix for finding the
value of ∆
∆ = 1(cos2 θ + sin2 θ)+0 = 1
2. Transpose the rotation matrix
1 0 0
Rot (x, θ) 0 sinθ
T
cosθ
0 sinθ cosθ
72 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Matrix Inversion - Example
73 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Matrix Inversion – Alternative Method
74 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Matrix Inversion – Alternative Method
75 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Matrix Inversion – Alternative Method
76 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
Inverse Kinematics of a 2DOF RR Robot
# θ d a α
1 θ1 0 L1 0
θ2 2 θ2 0 L2 0
n x ox ax Px
n oy ay Py
A1-1 = (A1-1) (A1A2) = A2
y
n z oz az Pz
78
0 0 0 1
INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
To find A1-1
n x ny nz P.n
C1 S 1 0 C1L1 o
S 1 C1 oy oz P.o
0 S 1L1
1
H x
AT a x ay az P.a
0 0 1 0
0 0 0 1
0 0 0 1
79 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
C1 S 1 0 L1 n x ox ax Px C 2 S 2 0 C 2 L2
S 1 C1 0 0 n S 2 C2 0 S 2 L 2
oy ay Py
y
0 0 1 0 n z oz az Pz 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
82 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
To find the value of theta 1
Concider eqn no. (5)
PxC1+PyS1-L1=C2L2 (5)
Divide eqn.(5) by C1
Px+PyS1/C1 -L1/C1 = C2 L2 /C1
Px = C2 L2 /C1 -PyS1/C1 + L1/C1 (A)
Substituting (A) in eqn.(6)
-PxS1+PyC1=S2L2 (6)
-(C2 L2 /C1 -PyS1/C1 + L1/C1) S1+PyC1=S2L2 (B)
Multiply eqn. (B) by C1
-(C2 L2 –PyS1 + L1) S1+PyC12=S2L2C1
-(C2 L2S1 –PyS12 + L1S1) +PyC12=S2L2C1
C1 =( -C2 L2S1 +Py- L1S1) / S2L2 (X)
83 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND
From eqn.(6)
( -PxS1+PyC1)=S2L2
C1= (S2L2+PxS1) / Py (y)
Comparing (x) & (y)
(S2L2+PxS1) / Py =( -C2 L2S1 +Py- L1S1) / S2L2
By solving the set of equations Theta 1 can be calculated as
84 INDUSTRIAL ROBOTICS -
TECHNOLOGY, PROGRAMMING AND