Professional Documents
Culture Documents
net/publication/365193182
ROBOT KINEMATICS
CITATIONS READS
0 852
2 authors:
Some of the authors of this publication are also working on these related projects:
Teleoperated Robot Programming and Trajectory Planning Using Augmented Reality in Hazardous Environments View project
All content following this page was uploaded by Ahmed E Salman on 08 November 2022.
1.1 Introduction
A robotic manipulator arm consists of a chain of links interconnected by
joints. There are typically two types of joints; revolute joint and prismatic joint. It
would be desirable to control both the position and orientation of the end-effecter,
located at the tip of the manipulator, in its three-dimensional workspace. The end
effecter can be programmed to follow a planned trajectory, provided that the
relationships between joint variables and position and the orientation of the end-
effecter are formulated.
Kinematics is the study of motion without regarding to the forces that create
it. The representation of the robot’s end-effecter position and orientation through
the geometry of the robot (joint and link parameters) is called forward Kinematics.
The forward kinematics is a set of equations that calculates the position and
orientation of the end-effector in terms of given joint angles. This set of equations
is usually generated by using the well-known method of the Denavit-Hartenberg
(D-H) parameters. The inverse kinematics problem for a robotic manipulator
involves obtaining the required manipulator joint values for a given desired end-
point position and orientation. It is usually complex due to non-linearity and lack
of unique solutions and closed-form direct expression for the inverse kinematics
mapping.
The inverse kinematics of a robot is the mapping that, given a goal position, it
calculates a set of joint positions so as to place the robot’s end effector in the
specified goal.
As this is a relevant issue to move the robot, there has been a lot of work
about obtaining a fast and inverse kinematic algorithm. The closed form solution of
the inverse kinematics problem is important in controlling robotic manipulator.
There are some difficulties to solve the inverse kinematics (IK) problem when the
kinematics equations are coupled, non-linear, multiple solutions and Singularities
exist.
There are mainly two types of IK solution: analytical solution and graphical
solution. In the first type, the joint variables are solved analytically according to
given configuration data. In the second type of solution, the joint variables are
obtained based on the graphical techniques [24]. However, based on the algorithm
size and complexity, graphical techniques can be relatively slow in practical
applications.
For any two axes in 3-space, there exists a well-defined measure of distance
between them. This distance is measured along a line that is mutually
perpendicular to both axes. This mutual perpendicular always exists; it is unique
except when both axes are parallel, in which case there are many mutual
perpendiculars of equal length [27].
Fig. 3.2 shows link (i-1) and the mutually perpendicular line along which the
link length, ai-1, is measured. Another way to visualize the link parameter ai-1 is to
imagine an expanding cylinder whose axis is the
joint i-1 axis when it just touches joint axis i, the radius of the cylinder is equal to
ai-1.
1- Identify the joints axes and assign the Zi axis pointing along the i-th joint
axis.
2- Identify the common perpendiculars of the joints axes. At the point where
the common perpendicular meets the i-th axis, assign the link-frame origin.
3- Assign the Xi axis pointing along the common perpendicular.
4- Assign the Yi axis to complete a right-hand coordinate system.
5- Assign frame {0} to match with frame {1} when the first joint variable
is zero.
6- For the last frame {n}, choose an origin location and Xn direction so that as
many as possible linkage parameters become zero.
The last method is called Right Handed Coordinate System (RHCS) [47].
ai-1 = the distance from Zi-1 to Zi measured along Xi-1 (link length);
cosi sin i 0 ai 1
sin i cosi 1 cosi cosi 1 sin i 1 sin i 1di
i-1
Ti= (3.1)
sin i sin i 1 cosi sin i 1 cosi 1 cosi 1di
0 0 0 1
This transformation will be a function of all joint variables. From the values
i-1
of the link parameters (DH-table), the individual link transformation matrices Ti
can be computed, see section 3.4.
All robot motions may be described in terms of these frames without loss of
generality. Their use helps to give us a standard language for talking about robot
tasks.
{B}
Fig. Error! No text of specified style in
Figure 3.6 illustrates the schematic
document..6 drawing
The proposed and the simplified kinematic
robot
model of the proposed [PRRRR] arm robot. Also the shown frames used to
facilitate formulating the problem.
Where:
{B} is the base frame
{W} is revolute joint frame (Wrist)
{T} is a tool frame
{G} is a goal frame
{S} is a station frame
The first three joints are used to move the tool point to its desired position,
while the last two joints adjust the orientation of the
end-effector.Robot link lengths mentioned in Fig. 3.7 and Fig. 3.8 are tabulated in
Table 3.1.
Table Error! No text of specified style in document..1The dimensions of the
designed model
Inward
link offset and joint angle respectively. Following DH convention, an orthonormal
coordinate system has been attached to each link of the manipulator (Fig. 3.7 &
Fig. 3.8).
Y0 {W}
{S}
{G} XG Y4
Z5
{T}
Ys
ZG
ZT
i αi-1 ai-1 di Ɵi
1 0 0 d1 0
2 0 0 0 Ɵ2
3 0 L1 0 Ɵ3
4 0 L2 0 Ɵ4
5 -90 0 0 Ɵ5
Using
the frames assigned in Fig. 3.7, Fig. 3.8 and definitions of D-H parameters given in
the previous section. One can formulate the
D-H parameters for the designed robotic arm as shown in Table 3.2.
1 0 0 0 Cos 2 Sin 2 0 0
0 1 0 0 1 Sin Cos 2 0 0
0
T1= , T2= 2
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
Cos 5 - Sin 5 0 0
0 0 1 0
4
T5= - Sin 5 Cos 5 0 0
0 0 0 1
Using the individual transformation matrix between each two successive
frames, the total transformation matrix 0TT is given by:
B
TW=0T5=0T11T22T33T44T5 (3.2)
Where:
Where Px, Py and Pz are the global coordinates indicating the spatial position
of the end-effector. Using MATLAB programming to multiply the individual
matrices, see Appendix A.
So;
r11= CosƟ5 [(CosƟ4*Cos (Ɵ2+Ɵ3) - SinƟ4*Sin (Ɵ2+Ɵ3)]
r31= -SinƟ5
r32= -CosƟ5
r33= 0
Px= L2* Cos (Ɵ2+Ɵ3) + L1* CosƟ2
Pz= d1
The last equations can be noted as equation (3.4), to simplify using it. These
equations give the forward kinematics of the designed arm robot. Knowing the
robot variables (d1,Ɵ2, Ɵ3,Ɵ4,Ɵ5), then the 0T5will be identified, and the position
and orientation of the robot wrist relative to the base frame is known.
B
TW = BTS. STG. (G=TTW) (3.5)
So,
B
TW = BTS. STG. (WTG=T)-1 (3.6)
The left hand side of the equation (3.5) is given in the forward kinematics
problem as a function in robot variables. The right hand side of the equation must
be found to solve the inverse kinematic problem.
Note that, the general Rotation matrix in terms of the Z-Y-X Euler angles is
given by (Craig):
(3.7)
Cos Cos Cos Sin Sin - Sin Cos Cos Sin Cos + Sin Sin
i-1
Ri= Sin Cos Sin Sin Sin + Cos Cos Sin Sin Cos - Cos Sin
Sin Cos Sin Cos Cos
And the general translation vector according to (Craig):
i 1 X i
i-1
Piorg= i 1 Yi (3.8)
i 1 Z
i
Here the origin of {i} is not coincident with the origin of frame {i-1} but has
a general vector offset. The vector that locates the origin of {i} relative to {i-1} is
i-1
called Piorg as shown in (3.8). Also {i} is rotated with respect to {i-1}, as
described by a rotation matrix i-1Ri as shown in (3.7).
i-1
Then, the transformation matrix Ti can be written using the construction
used to cast the rotation and translation of the general transform into a single
matrix form:
i-1 i -1 R i i -1
Piorg
Ti= (3.9)
0 0 0 1
0
0
PSorg= L 0 (3.10)
0
0
0 RS 0
PSorg
TS= (3.12)
0 0 0 1
1 0 0 0
0 1 0 L0
0
TS= (3.13)
0 0 1 0
0 0 0 1
From Fig. 3.7 and Fig. 3.8 it is noted that frame {G} is rotated relative to
frame {S}.
Using Z-Y-X Euler angles, frame {G} is rotated to frame{S} about axis Zs by
α=0, axis Ys by a variable angle β, axis Xs by γ=-π/2 and translated with a variable
parameters as SxG units in direction of axis Xs,SzG units in direction of axis Zs.
S x
G
S
PGorg= 0 (3.14)
Sz
G
Also, the transformation matrix STG can be written using the definition of:
S SRG S
PGorg
TG= (3.16)
0 0 0 1
cos sin 0 S
xG
TG=
S 0 1 1 0
(3.17)
sin cos 0 S
zG
0 0 0 1
Using Z-Y-X Euler angles, Fig. 3.7 and Fig. 3.8, it is noted that
frame{T} is only translated L3 units in direction of axis Z5 with no rotations.
So, the location of the frame {T} relative to frame {5} is given as:
0
5
PTorg= 0 (3.18)
L 3
1 0 0 0
0
W -1 0 1 0
(3.20)
[ TG=T] =
0 0 1 L3
0 0 0 1
cos sin 0 xG
S
B S W -1 0 1 1 L 0 L3 (3.21)
TS. TG. [ TG=T] =
sin cos 0 S
zG
0 0 0 1
B 0
Substituting for TW = T5 from equations (3.3) and (3.8), we
can get:
r11 r12 r13 Px cos sin 0 xG
S
r
r22 r23 Py 0 1 1 L 0 L3 (3.22)
21 =
r31 r32 r33 Pz sin cos 0 S
zG
0 0 0 1 0 0 0 1
Equating both sides in equation (3.22) and use of equation (3.4), we can get a
series of equations from which the robot variables are (d1,Ɵ2, Ɵ3,Ɵ4,and Ɵ5) can be
calculated. These equations can be used to find the robot variables.
In order for a solution to exist, the right-hand side of these equations must
have a value between -1 and +1. In the solution algorithm, this constraint would be
checked at this time to find whether a solution exists. Physically, if this constraint
is not satisfied, then the goal point is too far away for the manipulator to reach.
Then,
Cos (Ɵ2+Ɵ3+Ɵ4) = 1
So,
Ɵ2 + Ɵ3 + Ɵ4 =0
Ɵ4 = (Ɵ2+Ɵ3) (3.30)
Also,
d1 = SzG (3.31)
x G 2 + (L 0 L3 ) 2 (L12 + L 2 2 )
1
S
3 Cos { }
2 L1 L 2
4 = (Ɵ2+Ɵ3)
Solution:
The joints data can be found by substituting in (3.27) to (3.31), so:
[24] Yetim, Coşkun. "Kinematic Analysis for Robot Arm." Yildiz Technical
University, Electrical and Electronics faculty, Department of Computer
Engineering. Istanbul (2009).
[25] Elouafiq, Ali. "Design and Engineering of a Chess-Robotic Arm." arXiv
preprint arXiv:1204.1649 (2012).
[26] Aly, M. F., and A. T. Abbas. "Simulation of obstacles’ effect on industrial
robots’ working space using genetic algorithm." Journal of King Saud
University-Engineering Sciences 26.2 (2014):132-143.
[27] A. N. Aljaw, A. S. Balamesh, T. D. Almatrafi and M. Akyurt "Symbolic
Modeling Of Robotic Manipulators" the 6th Saudi engineering conference,
KFUPM, vol. 4, (December 2002)
[28] Saleh, Mohammed S. "Inverse kinematics analysis for manipulator robot with
wrist offset based on the closed-form algorithm." International Journal of
Robotics and Automation (IJRA) 2.4 (2011): 256.
[29] Colomé, Adrià. Smooth Inverse Kinematics Algorithms for Serial Redundant
Robots. Diss. Master Thesis, Institut de Robotica i Informatica Industrial
(IRI), UniversitatPolitecnica de Catalunya (UPC), Barcelona, Spain, (2011).
[30] Hallenberg, Johan. "Robot tool center point calibration using computer
vision." (2007).
[31] Breen, Dermot. "Thermal Robotic Arm Controlled Spraying via Robotic Arm
and Vision System." (2010).
[32] Iqbal, Jamshed, R. Ul Islam, and Hamza Khan. "Modeling and analysis of a 6
DOF robotic arm manipulator." Canadian Journal on Electrical and
Electronics Engineering 3.6 (2012): 300-306.
[33] J. Denavit and R. S. Hartenberg. A kinematic notation for lower-pair
mechanisms based on matrices. Journal of Applied Mechanics, pages 215–
221, (June 1955).