Professional Documents
Culture Documents
MASTER OF TECHNOLOGY
(Electronics & Communication Engineering)
SUBMITTED BY
HARPREET SINGH
UNIVERSITY ROLL NO:-1319863
JANUARY 2016
JALANDHAR, INDIA
MASTER OF TECHNOLOGY
(Electronics & Communication Engineering)
SUBMITTED BY
HARPREET SINGH
UNIVERSITY ROLL NO:-1319863
JANUARY 2016
UNDER THE GUIDANCE OF
Er. MANIT KAPOOR
RIET PHAGWARA
CANDIDATE'S DECLARATION
I hereby certify that the work which is being presented in the dissertation entitled Artificial
Neural Network and ANFIS Based Inverse Kinematics of Six Arm Robot Manipulator by
HARPREET SINGH in partial fulfillment of requirements for the award of degree M.Tech
(Electronics and Communication Engineering) submitted in the Department of (Electronics and
Communication) at RAMGARHIA INSTITUTE OF ENGINEERING AND TECHNOLOGY
PHAGWARA under PUNJAB TECHNICAL UNIVERSITY, JALANDHAR is an authentic
record of my own work carried out during a period from January 2015 to January 2016 under the
supervision of Mr. Manit Kapoor, H.O.D, ECE Deptt. The matter presented in this thesis has not
been submitted by me in any other University / Institute for the award of M.Tech Degree.
HARPREET SINGH
Signature of the Student
This is to certify that the above statement made by the candidate is correct to the best of my
knowledge.
Signature of Supervisor
The M.Tech VivaVoce Examination of (HARPREET SINGH) has been held on____________
and accepted.
Signature of Supervisor
ABSTRACT
The robot control can be divided into two main areas, Kinematics control (the combination of the
links of kinematics chain to produce desire motion of the robot manipulator), and dynamic control
(driving the actuator of the mechanism to follow the commanded position velocities) are the two
main areas of the robot control problem. In general the control strategies used in robot involves
position coordination in Cartesian space by direct or indirect kinematics method. Inverse
kinematics comprises the computation need to find the joint angles for a given Cartesian position
and orientation of the end effectors. This computation is fundamental to control the robot arms but
it is very difficult to calculate an inverse kinematics solution of robot manipulator. For this
solution most industrial robot arms are designed by using a non-linear algebraic computation to
find the inverse kinematics solution. DOF (Degree of freedom) of robot is the minimum number
of translator and rotary motions. The inverse kinematic solutions of robot manipulator such as 6DOF Robot manipulator. As the inverse kinematic equation of these types of manipulators contain
non-linear equations, time varying equations and transcendental functions. From the literature it is
well described that there is no unique solution for the inverse kinematics. That is why we use
robotics toolbox. The Robotics Toolbox is MATLAB Toolbox software that supports research and
teaching into arm-type and mobile robotics. Denavit-Hardenberg introduced D-H parameter gives
mathematical representation of robot motion with the help of homogenous transformation matrix.
A robot manipulator consists of several links connected by usually, single degree of freedom
joints, say, a revolute or a prismatic joint. In order to control the end-effector with respect to the
base.
The robotic toolbox is used in matlab for forward and inverse kinematics of robot manipulator to
get the data (position vector and corresponding joint angle). The structured artificial neural
network (ANN) model an approach has been proposed to validate our robotics toolbox data. In
this artificial neural network, there are two types of models. The first kind ANN model is MLP
(Multi-layer perceptron) which was famous as back propagation neural network model. In this
network gradient, descent type of learning rules is applied. The second kind of model we use in
our research is ANFIS (Adaptive Neuro-fuzzy inference system). ANFIS based on fuzzy logic
membership function. Membership function shows the probability to reduce the fuzzy logic. Here
work has been undertaken to find the best ANN and ANFIS configuration for the problem; it was
found that the result obtained from our robotics toolbox in matlab is similar to the neural network
outputs and ANFIS which is found to have an acceptable value of an error.
2
ACKNOWLEDGEMENT
The creation of a project requires the combine sincere efforts, hard work, talents and blessings of
great people, who directly or indirectly contribute to thesis report. This thesis is no exception and
I owe special gratitude to several persons.
I am highly grateful to Dr. Naveen Dhillon, Principal Ramgarhia Institute Of Engineering &
Technology, Phagwara, Mrs.Vyoma, Director Ramgarhia Institute of Engineering & Technology,
Phagwara, for providing this opportunity to carry out the present thesis work.
I deem it as a proud privilege to express my sincerest regards and gratitude to Mr. Manit Kapoor,
H.O.D, ECE Deptt, Ramgarhia Institute of Engineering & Technology, Phagwara, and thesis
supervisor, who has given his valuable time, advice, criticism and correction to this thesis from
beginning up to the end of the writing. His critical, yet visionary comments and discussions are
definitely enrichment for the work. Especially, I appreciate our constructive discussions, which
helped in identifying and solving problems. Without his valuable suggestions, I would not have
been able to complete this project. His knowledge in both academics and industry is an invaluable
source of guidance for the presented work.
I also express my deep sense of gratitude to my guide, Mr. Manit Kapoor, H.O.D, ECE Deptt, for
his valuable guidance and sharing his experience with me from time to time and also for their help
and co-operation.
I also express my deep sense of gratitude to my friends, for their help and co-operation.
I am thankful to my parents whose blessing gave me enough strength from time to time and
helped me at every possible step.
HARPREET SINGH
Roll No.1319863
LIST OF FIGURES
Figure No.
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
Caption
Two-link robot as per Spong
3D view of two link manipulator in mat lab
A serial chain robot
The ith joint is revolute
The ith joint is prismatic
Relationship between FK and IK
Coordinate Frame for a General Manipulator
Three link Robot Manipulator
The Human Brain
Model of Neuron
McCulloch-Pitts network to compute logical
Page No.
3
4
5
5
6
8
9
11
12
13
15
1.12
1.13
1.14
1.15
1.16
1.17
3.1
3.2
3.3 (a)
3.3 (b)
3.3 (c)
3.3 (d)
3.3 (e)
3.3 (f)
3.3 (g)
3.3 (h)
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14 (a)
3.14 (b)
3.15
3.16
3.17
functions
Linear step function at threshold level T
McCulloch-Pitts model
Basic elements of a formal, static neuron
Fuzzy Inference System
Commonly used fuzzy If then Rules
An Adaptive Network
Research Methodology
Command window of matlab
3D view Harpreet
3D view Harpreet
3D view Harpreet
3D view Harpreet
3D view Harpreet
3D view Harpreet
3D view Harpreet
3D view Harpreet
ANN matlab command window
Neural Network Start Window
Neural Network Fitting tool window
Training data import window
Validation and test data window
Network architecture window
Training network window
ANN result window
Matlab window
Loading data in matlab window
Generating FIS system
Single-Layer Neural Network
Graph between Epochs and error
Graph between Training data and FIS output
Graph between training and FIS
15
16
17
21
22
24
34
35
36
36
36
36
37
37
37
37
39
40
40
41
41
42
42
43
46
46
47
47
48
48
49
3.18
3.19
3.20
3.21
3.22 (a)
3.22 (b)
4.1
4.2
4.3
4.4
4.5
4.6
49
50
50
51
51
51
55
56
56
57
58
58
LIST OF TABLES
Table No.
1.1
1.2
3.1
3.2
3.3
3.4
3.5
3.6
3.7
4.1
4.2
4.3
4.4
4.5
Caption
D-H parameters for two arm robot manipulator
Transfer functions and its notations
D-H parameters of Harpreet
Ten sample Joint angle Harpreet by FK and JK
Ten position vectors corresponding to 10 joint angles
Angle of rotation of joints angles from robotics toolbox
Position vector matrix from robotics toolbox
Data arranged table
Join angle
Ten joint angles from robotics toolbox
Ten position vectors from robotics toolbox
Output or joint angle from neural network
Final Position vectors from robotics toolbox
ANFIS Output
LIST OF ABBREVIATIONS
ABBREVIATION
DESCRIPTION OF ABBREVIATION
ANFIS
Adaptive Neuro-Fuzzy Inference System
ANN
Artificial Neural Network
6
Page No.
3
17
35
38
38
44
44
45
52
53
54
59
59
60
D-H
DOF
FIS
FK
IK
IPK
NF
NN
PPN
RM
Denavit-Hartenberg
Degree of Freedom
Fuzzy Inference System
Forward Kinematics
Inverse Kinematics
Inverse Position Kinematics
Neuro Fuzzy
Neural Network
Polynomial Poly-processor Neural Network
Redundant Manipulator
TABLE OF CONTENTS
Contents
Page No.
__________________________________________________________________________________
Candidates Declaration
Abstract
ii
Acknowledgement
iii
List of Figures
iv
List of Tables
vi
List of Abbreviations
vii
CHAPTER 1: INTRODUCTION
1.1 Robotics Toolbox
1.2 Advantages of the Robotics Toolbox
1.3 How to describe a Robotic Arm by Robotics Toolbox in matlab
1.4 Links Root
1.5 Denavit Hartenberg parameter
1.6 Forward Kinematics
1.7 Inverse Kinematics
1.8 Artificial Neural Network
1
1
2
2
3
4
7
10
11
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.17
1.18
11
12
13
14
16
16
18
19
21
24
25
25
33
33
33
34
34
39
43
53
53
54
60
CHAPTER 1
INTRODUCTION
1.1 Robotics Toolbox
The Robotics Toolbox is MATLAB Toolbox software that supports research and teaching into
arm-type and mobile robotics. This is free software but requires the proprietary MATLAB
environment in order to execute. The Toolbox forms the basis of the exercises in the textbooks.
This Robotics toolbox is the ninth release of the toolbox represents over fifteen years of
development and a substantial level of maturity. This version captures a large number of changes
and extensions generated over the last two years. The Toolbox has always provided many
functions that are useful for the study and simulation of classical arm-type robotics, for example,
such things as kinematics, dynamics, and trajectory generation [1]. The Toolbox is based on a
very general method of representing the kinematics and dynamics of serial-link manipulators.
These parameters are encapsulated in MATLAB objectsrobot objects can be created by the user
for any serial-link manipulator and a number of examples are provided for well know robots such
as the Puma 560 and the Stanford arm amongst others. The Toolbox also provides functions for
manipulating and converting between data types such as vectors, homogeneous transformations,
and unit-quaternion which are necessary to represent 3-dimensional position and orientation. The
Toolbox also provides functions for manipulating and converting between data types such as
vectors; homogeneous transformations; roll-pitch-yaw and Euler angles and unit-quaternion
which are necessary to represent 3-dimensional position and orientation [2]. The Toolbox is useful
for the study and simulation of:
Classical arm-type robotics: kinematics, dynamics, and trajectory generation. The Toolbox uses a
very general method of representing the kinematics and dynamics of serial-link manipulators.
These parameters are encapsulated in MATLAB objects, robot objects can be created by the user
for any serial-link manipulator and a number of examples are provided for well-known robots
such as the Puma 560 and the Stanford arm amongst others. It can operate with symbolic values
as well as numeric [3].
Ground robots and includes: standard path planning algorithms, Kino dynamic planning,
localization, map building and simultaneous localization and mapping, and a Simulink model and
of the non-holonomic vehicle.
1
MATLAB is a powerful environment for linear algebra and graphical presentation that is available
on a very wide range of computer platforms. The core functionality can be extended by
application specific toolboxes. The Robotics Toolbox provides many functions that are required in
robotics and addresses areas such as kinematics, dynamics, and trajectory generation. The
Toolbox is useful for simulation as well as analyzing results from experiments with real robots,
and can be a powerful tool for education. The Toolbox is based on a very general method of
representing the kinematics and dynamics of serial-link manipulators by description matrices.
These comprise, in the simplest case, the Denavit and Hardenberg parameters that can be created
by the user for ant serial link manipulator [4]. A number of examples are provided for well-known
robots such as the Puma 560 and the Stanford's arm. The manipulator description can be
elaborated, by augmenting the matrix, to include link inertial, and motor inertial and frictional
parameters. Such matrices provide a concise means of describing a robot model and may facilitate
the sharing of robot models across the research community. The toolbox also provides functions
for manipulating data types such as vectors, homogeneous transformation and unit quaternions
which are necessary to represent three-dimensional position and orientation. Flying quadrotor
robots, and includes a detailed Simulink model [5].
1.2 Advantages of the Robotics Toolbox
1. The code is quite mature and provides a point of comparison for other implementations
of the same algorithms;
2. The routines are generally written in a straightforward manner which allows for easy
understanding, perhaps at the expense of computational efficiency. If you feel strongly about
computational efficiency then you can always rewrite the function to be more efficient, compile
the M-file using the Mat lab compiler, or create an MEX version;
3. The source code is available there is a benefit for understanding and teaching [5].
1.3 How to describe a Robotic Arm by robotics toolbox in mat lab
Within the Toolbox, we represent a robot link with a Link object which is created by
>> L = Link([0, 0.1, 0.2, pi/2, 0])
theta=q, d=0.1, a=0.2, alpha=1.571 (R,stdDH)
(1)
(2)
Where the elements of the input vector are given in the order k, dj, aj, j. The optional fifth
element j indicates whether the joint is revolute (i=0) or prismatic (i= 0). If not specified a
revolute joint is assumed [6].
1.4 Links Robot
The first robot that we will discuss is the two-link planar manipulator shown in Figure 1.1. It has
the following Denavit-Hartenberg parameters which we use to create a vector of Link objects [7].
>> L(1) = Link([0 0 1 0]);
(3)
(4)
(5)
(6)
(7)
i
1
i
q1
di
0
ai
1
i
0
q2
(b) A coordinate system Xi, Yi, and Zi is attached to the end of the link i 1 not to the link i for
= 1n+1.
(c) Choose axis Zi along the axis of joint i, whose positive direction can be taken towards either
direction of the axis.
(d) Locate the origin, Oi, at the intersection of axis Zi with the common normal to Zi
and Zi.
In all such cases, the indeterminacy can be exploited to simplify the procedure. For instance,
the axes of frame n + 1 can be made parallel to those of frame n. Once the link frames have
been established, the position and orientation of frame i with respect to frame i 1 are
completely specified by four parameters known as the Denavit and Hartenberg (DH)
parameters. Hence, these frames are also referred as DH frames. The four DH parameters are
defined as follows [12]:
(a) bi (Joint offset) Length of the intersections of the common normal on the joint axis Z i, i.e., Oi
and Oi. It is the relative position of links i 1 and i. This is measured as the distance between X i
and Xi + 1 along Zi.
(b) i (Joint angle) Angle between the orthogonal projections of the common normal, X i and Xi+1,
to a plane normal to the joint axes Zi. Rotation is positive when it is made a counter clockwise. It
is the relative angle between links i 1 and i. This is measured as the angle between X i and Xi + 1
about Zi.
(c) ai (Link length) Length between the Oi and Oi +1. This is measured as the distance between
the common normal to axes Zi and Zi + 1 along Xi + 1.
(d) i (Twist angle) Angle between the orthogonal projections of joint axes, Z i and Zi+1 onto a
plane normal to the common normal. This is measured as the angle between the axes, Z i and Zi+1,
about axis Xi + 1 to be taken positive when rotation is made a counter clockwise.
Note that the above four parameters are defined sequentially as one moves from link i 1 to link i
+ 1 though link i. Moreover, the first two parameters, namely, bi and i, define the relative position
of links i 1 and i, whereas the last two, ai and i, describe the size and shape of link i that are
always constant. Parameters, bi, and i are, however, variable depending on the type of joints in
use. In particular,
i is variable if joint i is revolute; and
bi is variable if joint i is prismatic.
So, for a given type of joint, i.e., revolute or prismatic, one of the DH parameters is variable,
which is called 'joint variable,' whereas the other three remaining parameters are constant that are
called 'link parameters [13,14].
1.6 Forward Kinematics
Kinematics studies the motion of bodies without consideration of the forces or moments that
cause the motion. Robot kinematics refers the analytical study of the motion of a robot
manipulator. Formulating the suitable kinematics models for a robot mechanism is very crucial
for analyzing the behavior of industrial manipulators. There are mainly two different spaces used
7
in kinematics modeling of manipulators namely, Cartesian space and Quaternion space. The
transformation between two Cartesian coordinate systems can be decomposed into a rotation and
a translation [15, 16]. There are many ways to represent rotation, including the following: Euler
angles, Gibbs vector, Cayley-Klein parameters, Pauli spin matrices, axis and angle, orthonormal
matrices, and Hamiltons quaternions. Of these representations, homogenous transformations
based on 4x4 real matrices (orthonormal matrices) have been used most often in robotics. Denavit
& Hartenberg (1955) showed that a general transformation between two joints requires four
parameters. These parameters known as the Denavit-Hartenberg (DH) parameters have become
the standard for describing robot kinematics. Although quaternion constitutes an elegant
representation for rotation, they have not been used as much as homogenous transformations by
the robotics community. A dual quaternion can present rotation and translation in a compact form
of transformation vector, simultaneously [17]. While the orientation of a body is represented nine
elements in homogenous transformations, the dual quaternion reduces the number of elements to
four. It offers a considerable advantage in terms of computational robustness and storage
efficiency for dealing with the kinematics of robot chains. The robot kinematics can be divided
into forward kinematics and inverse kinematics. Forward kinematics problem is straightforward
and there is no complexity deriving the equations. Hence, there is always a forward kinematics
solution of a manipulator. Inverse kinematics is a much more difficult problem than forward
kinematics. The solution to the inverse kinematics problem is computationally expensive and
generally takes a very long time in the real time control of manipulators [18].
The relationship between forward and inverse kinematics is illustrated in Figure 1.6 below.
Two main solution techniques for the inverse kinematics problem are analytical and numerical
methods. 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
numerical techniques [19]. There are two approaches in the analytical method: geometric and
algebraic solutions. The geometric approach is applied to the simple robot structures, such as 2DOF planar manipulator or less DOF manipulator with parallel joint axes. For the manipulators
with more links and whose arms extend into 3 dimensions or more the geometry gets much more
tedious [20].
A manipulator is composed of serial links which are affixed to each other revolute or prismatic
joints from the base frame through the end-effector. Calculating the position and orientation of the
end-effector in terms of the joint variables is called as forward kinematics. In order to have
forward kinematics for a robot mechanism in a systematic manner, one should use a suitable
kinematics model [21, 22]. Denavit-Hartenberg method that uses four parameters is the most
common method for describing the robot kinematics. These parameters a i, i-1, di and i are the
link length, link twist, link offset and joint angle respectively. A coordinate frame is attached to
each joint to determine DH parameters. Zi axis of the coordinate frame is pointing along the rotary
or sliding direction of the joints. Figure 1.7 shows the coordinate frame assignment for a general
manipulator [24].
As shown in Figure 1.7, the distance from Z i-1 to Zi measured along Xi-1 is assigned as ai-1, the
angle between Zi-1 and Zi measured along Xi is assigned as i-1, the distance from Xi-1 to Xi
measured along Zi is assigned as di and the angle between Xi-1 to Xi measured about Zi is assigned
as i [25].
1.7 Inverse Kinematics
Forward Kinematics is a mapping from joint space to end effector position. This mapping is one
to one there is a unique Cartesian conguration for the robot for a given set of joint variables.
Inverse kinematics problem has a wide range of applications in robotics. Most of our high-level
problem-solving capabilities about the physical world are posed in Cartesian space [26]. While we
can reason about the physical world in Cartesian terms, the robot is actuated in joint space that
is what we ultimately can control. Once we solve a problem for its Cartesian space constraints, we
need to map these constraints into the robots joint space using inverse kinematics. For example,
if we specify a straight line trajectory for a robot arm, we need to break that trajectory into a set of
joint space values over time to get the robot to follow the line [27]. The inverse kinematics
mapping is typically one to many. There are usually multiple sets of joint variables that will yield
a particular Cartesian conguration. When solving the inverse problem, we often have to choose
one solution from a number of valid solutions. There are also degenerate cases with an innite
number of solutions (called singularities). Some solutions of the inverse mapping may not be
physically realizable. This is due to manipulators having physical joint limits that prevent the
mechanism from achieving certain joint congurations that may be solutions to the inverse
kinematics problem (e.g. a joint may not have a full 360-degree motion). There may not be a
closed form solution to the inverse problem at all for some manipulators. However, most
manipulators use a 3 DOF wrist that has intersecting axes. This allows us to separate the inverse
problem into a 3 DOF problem for nding the endpoint of the wrist and a 3 DOF problem for
nding the orientation of the wrist. This does, in fact, have a closed form solution [28]. To solve
inverse kinematics, we use a variety of methods: geometric, trigonometric, Jacobean, and
algebraic etc. There are certain forms that you can recognize and then use the appropriate method
to solve for a joint variable. Once you solve for a joint variable, you can think of the manipulator
as a reduced DOF mechanism with one less joint. Inverse kinematics is the opposite of forward
kinematics. This is when you have a desired end effector position, but need to know the joint
angles required to achieve it [29]. The inverse position kinematics (IPK) solves the following
10
problem Give the actual end effector pose, what are the corresponding joint positions? In
contrast to the forward problem, the solution of the inverse problem is not always unique: the
same end effector pose can be reached in several configurations, corresponding to the distinct
joint position vector. Although may more useful than forward kinematics, this calculation is much
more complicated tool [30].
(8)
(9)
(10)
11
The human brain contains about 10 billion nerve cells or neurons. On average, each neuron is
connected to other neurons through about 10 000 synapses. The actual figures vary greatly,
depending on the local neuroanatomical. Figure 1.9 shows the pictorial view of the human brain.
12
Dendrites (inputs)
Cell body
Axon (output)
A neuron receives input from other neurons (typically many thousands). Inputs sum
(approximately). Once input exceeds a critical level, the neuron discharges a spike an electrical
pulse that travels from the body, down the axon, to the next neuron(s) (or other receptors). This
spiking event is also called depolarization and is followed by a refractory period, during which
the neuron is unable to fire.
The axon endings (Output Zone) almost touch the dendrites or cell body of the next neuron.
Transmission of an electrical signal from one neuron to the next is effected by neurotransmitters,
chemicals which are released from the first neuron and which bind to receptors in the second.
This link is called a synapse. The extent to which the signal from one neuron is passed on to the
next depends on many factors, e.g. the amount of neurotransmitter available, the number and
arrangement of receptors, the amount of neurotransmitter reabsorbed, etc.
1.12 McCulloch-Pitts Networks
Neural computing began with the development of the McCulloch-Pitts network in the 1940s
(McCulloch and Pitts, 1943; Luger and Stubblefield, 1993). These simple connectionist networks,
shown in Figure 1.11 given below, are stand-alone decision machines that take a set of inputs,
multiply these inputs by associated weights, and output a value based on the sum of these
products. Input values (also known as input activations) are thus related to output values (output
activations) by simple mathematical operations involving weights associated with network links.
McCulloch-Pitts networks are strictly binary; they take as input and produce as output only 0s or
1s. These 0s and 1s can be thought of as excitatory or inhibitory entities, respectively (Luger
and Stubblefield, 1993). If the sum of the products of the inputs and their respective weights is
greater than or equal to 0, the output node returns a 1 (otherwise, a 0 is returned). The value of 0
is thus a threshold that must be exceeded or equaled if the output of the system is to be 1. The
above rule, which governs the manner in which an output node maps input values to output
values, is known as an activation function (meaning that this function is used to determine the
activation of the output node). McCulloch-Pitts network can be constructed to compute logical
functions (for example, in the X AND Y case, no combination of inputs can produce a sum of
products that is greater than or equal to 0, except the combination X=Y=1). McCulloch-Pitts
networks do not learn, and thus, the weight values must be determined in advance using other
mathematical or heuristic means. Nevertheless, these networks did much to inspire further
research into connectionist models during the 1950s (Luger and Stubblefield, 1993) [32].
14
W1,W2Wm are weight values normalized in the range of either (0,1) or (-1,1) and associated
with each input line, Sum is the weighted sum and T is a threshold constant. The function f is a
linear step function at threshold T as shown in Figure 1.12
15
The sum-of-product value is then passed into the second stage to perform the activation function
which generates the output from the neuron. The activation function squashes the amplitude the
output in the range of [0,1] or [-1,1] alternately. The behavior of the activation function will
describe the characteristics of an artificial neuron model [32].
1.14 Transfer Functions of Artificial Neural Networks
16
A biological neuron can be technically modeled as a formal, static neuron, which is the
elementary building block of many artificial neural networks. Even though the complex structure
of biological neurons is extremely simplified informal neurons, there are principal
correspondences between them. An input function x of the formal neuron I corresponds to the
incoming activity (e.g. synaptic input) of the biological neuron, the weight w represents the
effective magnitude of information transmission between neurons (e.g. determined by synapses),
the activation function zi = f(x,wi) describes the main computation performed by a biological
neuron (e.g. spike rates or graded potentials) and the output function yi = f(zi) corresponds to the
overall activity transmitted to the next neuron in the processing stream as shown in Figure 1.14
[33].
17
recurrent network is a feedback network in which the network calculates its outputs based on the
inputs and feeds them back to modify the inputs. For a stable recurrent net- work, this process
normally produces smaller and smaller output changes until the output become constant. If this
process would not end, the net- work is unstable and is known as a chaotic system, a system in
which many Wall Street experts believe it can predict stock prices 120,281. To create a stable
network, the weight matrix must be symmetrical with zeroes on its main diagonal. Moreover, the
outputs may be fed back to middle layers to adjust the weights [S], similar to unsupervised
learning. As for the non-recurrent networks (see Figure 3b), data will flow in one direction, from
18
the input layer to output layer with- out any feedback loop: they are also called feed- forward
networks. This type of networks has a- counted for most existing ANN applications.
(2)
Parallel processing ability: Each neuron in the ANN is a processing element similar to a
Boolean logical unit in a conventional computer chip, except that a neurons function is
programmable. Computations required to simulate ANNs are mainly matrix ones, and the parallel
structure of the interconnection between neurons facilitates such calculations. Figure 4 shows the
calculations corresponding to each layer of a three-layer, one-middle-layer ANN. For simplicity, a
single input vector is used. Each element in the vector is equivalent to one data point of the input
variables which in reality should have multiple data points. Such matrix calculations require rapid
computation, possible with neural-net chips now commercially available from Intel, Neural
Semiconductor, and Bell Laboratories.
(3)
Distributed memory: The network does not store information in a central memory.
Information is stored as patterns throughout the network structure. The state of neurons represents
a short-term memory as it may change with the next input vector. The values in the weight matrix
(the connections) form a long-term memory and are changeable only on a longer time basis.
Gradually, the short-term memory will move into long-term memory and modify the network as a
function of the input experience.
(4)
Fault tolerance ability: The networks parallel processing ability and distributed memory
make it relatively fault tolerant. In a neural computer, the failure of one or more parts may degrade the accuracy but it does not break the system. A system failure occurs only when all parts
fail at the same time. This provides a measure of damage control.
(5)
sequentially and one at a time. If a program is stopped in the middle of its execution, one can
obtain a sensible answer which reflects exactly the computations that have been done so far.
However, such a partial solution is meaningless with an ANN computer; it relies on the collective
outputs of all the connected neurons. If the solution process is stopped before it is completed, the
partial answer is probably nonsense to the user.
(6)
Learning (or training) ability: An ANN, especially the nonrecurrent feed-forward one, is
capable of applying learning rules to develop models of processes while adapting the network to
the changing environment and discovering useful knowledge implicit in received responses and/or
stimuli. There are three possible learning methods: supervised, unsupervised, and reinforcement
learning. In the first, the desired out- put for a set of training inputs is provided to the network;
thus, it learns by example. This is used to train a network for a specific task. Unsupervised
19
learning is conducted when there is no evaluation of performance provided by the net- work.
Reinforcement learning is a hybrid method, the network is given a scalar evaluation signal instead
of being told the desired output, and evaluations can be made intermittently instead of with every
training input [35, 36].
1.16 Introduction of ANFIS (Adaptive Neuro Fuzzy Inference System)
System modeling based on conventional mathematical tools (e.g., differential equations) is not
well suited for dealing with ill-defined and uncertain systems. By contrast, a fuzzy inference
system employing fuzzy if-then rules can model the qualitative aspects of human knowledge and
reasoning processes without employing precise quantitative analyzes. This fuzzy modeling or
fuzzy identification, first explored systematically by Takagi and Sugeno, has found numerous
practical applications in control, prediction, and inference. However, there are some basic aspects
of this approach which are in need of better understanding. More specifically [37]:
1. No standard methods exist for transforming human knowledge or experience into the rule
base and database of a fuzzy inference system.
2. There is a need for effective methods for tuning the membership functions (MFs) so as to
minimize the output error measure or maximize performance index.
In this perspective, the aim of this thesis is to suggest a novel architecture called AdaptiveNetwork-based Fuzzy Inference System, or simply ANFIS, which can serve as a basis for
constructing a set of fuzzy if-then rules with appropriate membership functions to generate the
stipulated input-output pairs. Novel computational models have emerged, collectively called soft
computing. Incorporating intelligence into soft computing are ANN (artificial neural network), FL
(fuzzy logic), ANFIS, GA (genetic algorithm), and knowledge-based expert systems. Intelligent
self-learning or self-organizing control of expert systems, AI (artificial intelligence), FL, NN
(neural networks), hybrid networks, etc. are the new performance-improving tools of industrial
power-electronics-based drive systems. Control that combines intelligence and adaptation is the
most promising in research into implementation and control of electrical drives [38].
FL, introduced by Zadeh in 1965, processes data via partial, not crisp, set membership. As with
NN, it can generate definite conclusions from vague, ambiguous, imprecise, and missing input
information. A proper FIS is essential to correcting fuzzy membership functions (MFs) and rules
but constructing it takes time and needs profound expertise. Converting domain knowledge into
if-then fuzzy rules is another difficulty, even to domain experts.
20
ANFIS combines FL and NN in a hybrid intelligent system that enhances automatic learning and
adaptation. Researchers have used it in various engineering systems to predict and model. Basic
to Neuro-adaptive learning techniques is a fuzzy modeling procedure that learns the data set and
automatically computes the MF parameters that best allow the associated FIS to track the given
input/output data [39].
The MF parameters are tuned by a combination of least-squares estimation and back-propagation
algorithm for MF parameter estimation. MF parameters change through a learning process akin to
NNs. They are adjusted by a gradient vector that measures how well an FIS models the
input/output data of a given set of parameters. Once the gradient vector is obtained, any of several
optimization routines can adjust the parameters to reduce the error between the actual and the
desired outputs. The fuzzy system then learns from the data it is modeling. Adjustment of the MF
boundaries does not need a human operator; this is an advantage over pure-fuzzy paradigm [40].
then the volume is small.where pressure and volume are linguistic variables, high and small are
linguistic values or labels that are characterized by membership functions. Another form of fuzzy
if-then rule, proposed by Takagi and Sugeno, has fuzzy sets involved only in the premise part. By
using Takagi and Sugenos fuzzy if-then rule, we can describe the resistant force on a moving
object as follows [41]:
If velocity is high, then force = k*(velocity)2where, again, high in the premise part is a linguistic
label characterized by an appropriate membership function. However, the consequent part is
described by a non-fuzzy equation of the input variable, velocity. Both types of fuzzy if-then rules
have been used extensively in both modeling and control. Through the use of linguistic labels and
membership functions, a fuzzy if-then rule can easily capture the spirit of a rule of thumb used
by humans. From another angle, due to the qualifiers on the premise parts, each fuzzy if-then rule
can be viewed as a local description of the system under consideration. Fuzzy if-then rules form a
core part of the fuzzy inference system to be introduced below [42]:
A. Fuzzy Inference Systems
Fuzzy inference systems are also known as fuzzy rule-based systems, fuzzy models, fuzzy
associative memories (FAM), or fuzzy controllers when used as controllers. Basically, a fuzzy
inference system is composed of five functional blocks (Figure 1.15):
rules;
a decision-making unit which performs the inference operations on the rules;
a fuzzification interface which transforms the crisp inputs into degrees of the match with
linguistic values;
a defuzzification interface which transforms the fuzzy results of the inference into a crisp
output
Usually, the rule base and the database are jointly referred to as the knowledge base.The steps of
fuzzy reasoning (inference operations upon fuzzy if-then rules) performed by fuzzy inference
systems are [43,44]:
22
1.
Compare the input variables with the membership functions on the premise part to obtain
the membership values (or compatibility measures) of each linguistic label. (This step is
23
Type 2: The overall fuzzy output is derived by applying max operation to the qualified fuzzy
outputs (each of which is equal to the minimum of firing strength and the output membership
function of each rule). Various schemes have been proposed to choose the final crisp output based
on the overall fuzzy output; some of them are the center of the area, the bisector of the area, mean
of maxima, maximum criterion, etc.
Type 3: Takagi and Sugenos fuzzy if-then rules are used. The output of each rule is a linear
combination of input variables plus a constant term, and the final output is the weighted average
of each rules output.
Figure 1.16 utilizes a two-rule two-input fuzzy inference system to show different types of fuzzy
rules and fuzzy reasoning mentioned above. Be aware that most of the differences lie in the
specification of the consequent part (monotonically non-decreasing or bell-shaped membership
functions, or crisp function) and thus the defuzzification schemes (weighted average, the centroid
of the area, etc) are also different [46].
capability. An adaptive network, as its name implies, is a network structure consisting of nodes
and directional links through which the nodes are connected. Moreover, part or all of the nodes
are adaptive, which means each output of these nodes depends on the parameter(s) pertaining to
this node, and the learning rule specifies how these parameters should be changed to minimize a
prescribed error measure [47].
CHAPTER 2
LITERATURE REVIEW
2.1 Literature review
Obtaining the inverse kinematics solution has been one of the main concerns in robot kinematics
research and Denavit-Hartenberg Parameterization. In this, comprehensive surveys of the
literature of other researchers have been presented who have been involved in research in past
years based on Forward and Inverse Kinematics. The objective is to present a brief picture of the
available recent literature on the problem.
25
Antonio Benitez, et al. March (2012) in the paper entitled PUMA 560: Robot Prototype with
Graphic Simulation Environment [1] presents the necessary elements to manipulate kinematic
applications for a PUMA 560 models using a graphic simulation tool for forward and inverse
kinematics methods. Besides an implementations and applications to forward kinematic has been
download through prototype robot based on Dynamixel AX-12 servo motors. Hence, kinematics
chains with six degrees of freedom are modeled and solved. As promising results, a platform to
simulate in three dimension space is presented as an important tool to verify the movements
programmed on the robot.
S. V. Shah, et al. (2012) in the paper entitled Denavit-Hartenberg Parameterization of Euler
Angles [8] uses Euler angles to describe rotations of a rigid body in three-dimensional Cartesian
space, as can be obtained by, say, a spherical joint. The rotation carried out by a spherical joint
can also be expressed by using three intersecting revolute joints that can be described using the
popular Denavit-Hartenberg (DH) parameters. However, the motions of these revolute joints do
not necessarily correspond to any set of the Euler angles. This paper attempts to correlate the
Euler angles and DH parameters by introducing a concept of DH parameterization of Euler
angles. A systematic approach is presented in order to obtain the DH parameters for any Euler
angles set. This gives rise to the concept of Euler-angle-joints (EAJs), which provide rotations
equivalent to a particular set of Euler angles. Such EAJs can be conveniently used for the
modeling of multibody systems having multiple-degrees-of-freedom joints.
Y Feng, et al. September (2012) in the paper entitled Inverse kinematics solution for robot
manipulator based on the neural network under joint subspace [10] describes neural networks
with their inherent learning ability applied to solve the robot manipulator inverse kinematics
problems. However, there are still two open problems: (1) without knowing inverse kinematic
expressions, these solutions have the difficulty of how to collect training sets, and (2) the
gradient-based learning algorithms can cause a very slow training process, especially for a
complex configuration, or a large set of training data. Unlike these traditional implementations,
the proposed method trains the neural network in joint subspace which can be easily calculated
with the electromagnetism-like method. The kinematics equation and its inverse are one-to-one
mappings within the subspace. Thus, the constrained training sets can be easily collected by
forward kinematics relations. For issue 2, this paper uses a novel learning algorithm called
extreme learning machine (ELM) which randomly choose the input weights and analytically
26
determines the output weights of the single hidden layer feed-forward neural networks (SLFNs).
In theory, this algorithm tends to provide the best generalization performance at extremely fast
learning speed. The results show that the proposed approach has not only greatly reduced the
computation time but also improved the precision.
Yousif I. Al Mashhadany, (2012) in the paper entitled ANFIS-Inverse-Controlled PUMA 560
Workspace Robot with Spherical Wrist [37] provides a Cognitive architecture to create a
portfolio of movement in a spherical-wristed PUMA 560 robot. Adaptive Neuro Fuzzy Inference
System (ANFIS) was used, and the robots postures and trajectories were executed in Virtual
Reality (VR). The design aims to enable complex movements through use of the dual phases of
ANFIS: one, solution by Inverse Kinematic Problem (IKP) with ANFIS identifier, for the endeffectors position and orientation as allowed by the 3-DOF wrist (the identifier offers high
computation and accuracy of the IKP solution), two, implementing an inverse-ANFIS controller
for all the robots joint angles. VR implemented the robots movements through the controllers
use of forward dynamics. The IKP of determining a set of joint angles to achieve a given
command for the manipulators postures is addressed. The designs simulation was enabled by
connecting the VR environment with Simulink/MATLAB Ver. 2012a. Forward and inverse
kinematics implemented the manipulators movements. Results validated the robots range of
possible postures and trajectories.
Andreas Aristidou, et al. May (2011) in the paper entitled A fast iterative solver for the inverse
kinematic problem [14] in this paper, a novel heuristic method, called Forward and Backward
Reaching Inverse Kinematics (FABRIK), is described and compared with some of the most
popular existing methods regarding reliability, computational cost and conversion criteria.
FABRIK avoids the use of rotational angles or matrices and instead finds each joint position via
locating a point on a line. Thus, it converges in few iterations, has low computational cost and
produces visually realistic poses. Constraints can easily be incorporated within FABRIK and
multiple chains with multiple end effectors are also supported.
Himanshu Chaudhary, et al. Nov (2011) in the paper entitled Intelligent inverse kinematic
control of SCORBOT-ER V plus robot manipulator [12] explains a Adaptive Neuro-Fuzzy
Inference System (ANFIS) method based on the Artificial Neural Network (ANN) to design an
Inverse Kinematic based controller for the inverse kinematical control of SCORBOT-ER V Plus.
The proposed ANFIS controller combines the advantages of a fuzzy controller as well as the
quick response and adaptability nature of an Artificial Neural Network (ANN). The ANFIS
27
structures were trained using the generated database by the fuzzy controller of the SCORBOT-ER
V Plus. The performance of the proposed system has been compared with the experimental setup
prepared with SCORBOT-ER V Plus robot manipulator. Computer Simulation is conducted to
demonstrate the accuracy of the proposed controller to generate an appropriate joint angle for
reaching desired Cartesian state, without any error. The entire system has been modeled using
MATLAB 2011.
B Durmus, et al. May (2011) in the paper entitled An inverse kinematics solution using practical
swarm optimization [13] this paper presents an inverse kinematics solution based on particle
swarm optimization (PSO) for a six-jointed robot manipulator. The inverse kinematics problem of
a six-jointed robot manipulator has transformed into an optimization problem and then used the
PSO algorithm to obtain an optimal inverse kinematics solution by taking advantage of the global
optimization property. Harmony search algorithm (I) is also used to the same problem for
comparison. Obtained results show that PSO can be efficiently used for inverse kinematics
solution.
Mustafa Jabbar Hayawi, March (2011) in the paper entitled Analytical Inverse kinematics
Algorithm of a 5-DOF Robot Arm [15] this paper presents a closed form solution to the inverse
kinematics of a 5-DOF robot to overcome the relatively slow iterative numerical solution. A
software program developed to compute the forward and inverse kinematics of TR4000 robot
arm. Inverse velocity problem for five-axis robots is investigated. The conventional method for a
five-axis robot is to pseudo inverse the 6x5 Jacobian matrix. Pseudoinverse of the Jacobian matrix
provides a possibility to solve for approximate solutions. The spherical angles solution is provided
to drive a 5x5 Jacobian matrix.
Ali T Hasan and H.M.A.A.AI Assadi, (2010) in the paper entitled Performance prediction
network for serial manipulators inverse kinematics solution passing through singular
configurations [16] this paper is devoted to the application of Artificial Neural Networks (ANN)
to the solution of the Inverse Kinematics (IK) problem for serial robot manipulators, in this study
two networks were trained and compared to examine the effect of considering the Jacobian Matrix
to the efficiency of the IK solution. Given the desired trajectory of the end effector of the
manipulator in a freeofobstacles workspace, Offline smooth geometric paths in the joint space
of the manipulator are obtained. Even though it is very difficult in practice, data used in this study
28
were recorded experimentally from sensors fixed on robots joints to overcome the effect of
kinematics uncertainties presence in the real world such as illdefined linkage parameters, links
flexibility and backlashes in gear train The generality and efficiency of the proposed algorithm are
demonstrated through simulations of a general six DOF serial robot manipulator, finally, the
obtained results have been verified experimentally.
Dr. Anurg Verma, et al. (2010) in the paper entitled Forward kinematics analysis of 6DOF arc
welding robot [17] states that the forward kinematics problem is concerned with the relationship
between the individual joints of the robot manipulator and the position and orientation of the tool
or end effector. Stated more formally, the forward kinematics problem is to determine the position
and orientation of the end-effector, given the values of the joint variables of the robot. Present
work is an attempt to develop a kinematic model of a 6 DOF robot which is used for arc welding
operation. Developed model will determine position and orientation of the end-effector with
respect to various joint variables. The said analysis is carried out in Matlab.
Jianxin XU, et al. January (2010) in the paper entitled Two optimization algorithms for solving
inverse kinematics with redundancy [18] in this paper, two optimization objective functions are
proposed, aiming at either minimizing extra degrees of freedom (DOFs) or minimizing the total
potential energy of a multilink redundant robot. Physical constraints of either equality or
inequality types are taken into consideration in the objective functions. Since the closed-form
solutions do not exist in general for highly nonlinear and constrained optimization problems, they
adopt and develop two numerical methods, which are verified to be effective and precise in
solving the two optimization problems associated with the redundant inverse kinematics. They
first verify that the well-established trajectory following method can precisely solve the two
optimization problems, but is computation intensive. To reduce the computation time, a sequential
approach that combines the sequential quadratic programming and iterative Newton-Raphson
algorithm is developed. A 4 DOF Fujitsu Hoap-1 humanoid robot arm is used as a prototype to
validate the effectiveness of the proposed optimization solutions.
Srinivasan Alavandar, et al. (2008) in the paper entitled Inverse Kinematics Solution of 3DOF
Planar Robot using ANFIS [19] introduces one of the most important problems in robot
kinematics and control, in finding the solution of Inverse Kinematics. Traditional methods such as
geometric, iterative and algebraic are inadequate if the joint structure of the manipulator is more
29
complex. As the complexity of robot increases, obtaining the inverse kinematics is difficult and
computationally expensive. In this paper, using the ability of ANFIS (Adaptive Neuro-Fuzzy
Inference System) to learn from training data, it is possible to create ANFIS with the limited
mathematical representation of the system. Computer simulations conducted on 2DOF and 3DOF
robot manipulator shows the effectiveness of the approach.
Srinivasan Alavandar, et al. (2008) in the paper entitled Neuro-Fuzzy based Approach for
Inverse Kinematics Solution of Industrial Robot Manipulators [20] gives a method of Obtaining
the joint variables that result in a desired position of the robot end-effector called as inverse
kinematics is one of the most important problems in robot kinematics and control. As the
complexity of robot increases, obtaining the inverse kinematics solution requires the solution of
nonlinear equations having transcendental functions are difficult and computationally expensive.
In this paper, using the ability of ANFIS (Adaptive Neuro-Fuzzy Inference System) to learn from
training data, it is possible to create ANFIS, an implementation of a representative fuzzy inference
system using a BP neural network-like structure, with the limited mathematical representation of
the system. Computer simulations conducted on 2 DOF and 3DOF robot manipulator shows the
effectiveness of the approach.
Ali T Hasan, et al. (2007) in the paper entitled Neural networks based inverse kinematics
solution for serial robot manipulators passing through singularities [32] this paper shows that the
Jacobian Matrix in the solution of the Inverse Kinematics problem using neural networks gives a
better response. As compared to the Fuzzy Learning Control algorithm results, the trained
network was able to remember not only the training data but also was able to predict unknown
trajectories as well as can be seen in the testing phase which is a significant advantage of using
this approach. Backpropagation algorithm has been used as a learning algorithm with sigmoid
transfer function as an activation function in all neurons, we would like to recommend that a
different learning algorithm, different activation function and/or different number of hidden layers
be used in order to achieve, if possible, a better response in terms of precision and iteration.
Harvey Lipkin, September (2005) in the paper entitled A note on Denavit-Hartenberg notation
in robotics [9] gives the Denavit-Hartenberg conventions model chains of bodies connected by
joints. Originally they were applied to single-loop chains but are now almost universally applied
to open-loop serial chains such as robotic manipulators. Unfortunately, there are several popular
30
variations of the notation: the original, the distal variant, and the proximal variant. These three
cases are compared for their application to serial robots. The proximal variate is advanced as the
most notationally transparent for the mechanical analysis of serial manipulators.
Inan Guler, et al. (2004) in the paper entitled Application of adaptive neuro-fuzzy inference
system for detection of electrocardiographic changes in patients with partial epilepsy using
feature extraction [38] introduces a new approach based on adaptive neuro-fuzzy inference
system (ANFIS) for detection of electrocardiographic changes in patients with partial epilepsy.
Decision making was performed in two stages: feature extraction using the wavelet transform
(WT) and the ANFIS trained with the backpropagation gradient descent method in combination
with the least squares method. Two types of electrocardiogram (ECG) beats (normal and partial
epilepsy) were obtained from the MIT-BIH database. The proposed ANFIS model combined the
neural network adaptive capabilities and the fuzzy logic qualitative approach. Some conclusions
concerning the impacts of features on the detection of electrocardiographic changes were obtained
through analysis of the ANFIS. The performance of the ANFIS classifier was evaluated in terms
of training performance and classification accuracies and the results confirmed that the proposed
ANFIS classifier has potential in detecting the electrocardiographic changes in patients with
partial epilepsy.
John Q. Gan, et al. May (2004) in the paper entitled A complete analytical solution to the
inverse kinematics of the Pioneer 2 robotic arm [22] introduces a complete analytical solution to
the inverse kinematics of the P2Arm, which makes it possible to control the arm to any reachable
position in an unstructured environment. The strategies developed in this paper could also be
useful for solving the inverse kinematics problem of other types of robotic arms.
Sreenivas Tegomurtula, et al. October (1998) in the paper entitled Inverse kinematics in
robotics using neural networks [23] this paper deals with the inverse kinematics problem in
robotics which requires the determination of the joint angles for a desired position of the endeffector. For this under constrained and ill-conditioned problem they propose a solution based on
structured neural networks that can be trained quickly. The proposed method yields multiple and
precise solutions and it is suitable for real-time applications.
31
Tadeusz Szkodny, (1995) in the paper entitled Forward and Inverse kinematics of Irb-6
manipulator [24] this paper presents equations of links and actuator kinematics of the Irb-6
manipulator in matrix form. Also, solution of equations of link kinematics as well as formulae
joining link and actuator natural coordinates of the manipulator have been presented.
Eldon Y. Li, (1994) in the paper entitled Artificial neural networks and their business
applications [34] the purpose of this paper is to answer two of the most frequently asked
questions: What are neural networks? Why they are so popular in todays business fields?
The paper reviews the common characteristics of neural networks and discusses the feasibility of
neural-net applications in business fields. It then presents four actual application cases and
identifies the limitations of the current neural-net technology.
Jyh-Shing Roger Jang, May (1993) in the paper entitled Adaptive-Network-Based Fuzzy
Inference System [41] this paper presents the architecture and learning procedure underlying
ANFIS (Adaptive-Network-based Fuzzy Inference System), a fuzzy inference system
implemented in the framework of adaptive networks. By using a hybrid learning procedure, the
proposed ANFIS can construct an input-output mapping based on both human knowledge (in the
form of fuzzy if-then rules) and stipulated input-output data pairs. In the simulation, they employ
the ANFIS architecture to model nonlinear functions, identify nonlinear components on-line in a
control system, and predict a chaotic time series, all yielding remarkable results. Comparisons
with artificial neural networks and earlier work on fuzzy modeling are listed and discussed. Other
extensions of the proposed ANFIS and promising applications to automatic control and signal
processing are also suggested.
Andrew A. Goldenberg, et al. March (1985) in the paper entitled A Complete Generalized
Solution to the Inverse Kinematics of Robots [30] states that the kinematic transformation
between task space and joint configuration coordinates is nonlinear and configuration dependent.
A solution to the inverse kinematics is a vector of joint configuration coordinates that corresponds
to a set of task space coordinates. For a class of robots, closed form solutions always exist, but
constraints on joint displacements cannot be systematically incorporated in the process of
obtaining a solution. An iterative solution is presented that is suitable for any class of robots
having rotary or prismatic joints, with any arbitrary number of degrees of freedom, including both
standard and kinematically redundant robots. The solution can be obtained subject to specified
constraints and based on certain performance criteria. The solution is based on a new rapidly
32
CHAPTER 3
PROBLEM FORMULATION
3.1 Problem Formulation
This thesis is to solve the inverse kinematics equations of the six degrees of freedom manipulator.
The inverse kinematic equations of this type of manipulator are not predictable because these
equations are very non-linear and contain the transcendental function. The difficulty in solving
these equations increases when there is an increase in DOF. So various authors use neural network
approach and Neuro-fuzzy method (ANFIS) in matlab for mathematical modeling of the data, as
33
it has a high range of potential for solving the complex and nonlinear equations which arise in
different fields like marketing, manufacturing industries, civil engineering etc.
I applied neural approach to six degrees of freedom spherical robot in order to reduce the error of
inverse kinematics of robot.
3.2 Objectives
The difficulties in solving the Inverse kinematics (IK) of the robot manipulator increases,
as the IK equations possess an infinite number of solutions due to the presence of
uncertain, time-varying and nonlinear nature of these equations having transcendental
functions. So in this thesis, artificial neural network approach is adopted for estimating
the IK solution of a 6-DOF Robot manipulator.
The Denavit-Harbenterg (D-H) representation can be used to model robot links and for
solving the transformation matrices of each joint.
The robotics toolbox in matlab is used to define a robot and calculate the forward and
inverse kinematics of six degrees of freedom robot (HARPREET) manipulator in matlab,
all the position vectors and joint angles of each link data is used for training our neural
network.
The solution of the FK and IK of six degrees of freedom robot manipulator predicted by
the artificial neural network model is compared with the solution of the forward and
inverse kinematics of robotics toolbox in matlab. It is found that the predicting ability of
artificial neural network is excellent.
The data predicted with the artificial neural network for 6-DOF and Robot manipulator, in
this work clearly depicts that the proposed method results in an acceptable error. Hence
artificial neural network and ANFIS can be used to provide quick and acceptable solutions
of the inverse kinematics, thereby making ANN and ANFIS as an alternate approach to
map the inverse kinematic solutions.
3.3 Research Methodology
The method to solve above mention problems and to fulfill the proposed objectives is described
here in Figure 3.1.
34
35
i
1+pi/2
2+pi
3
4+pi/2
5
6
Di
0
0.259
0
0.77
0
0.098
ai
0
0.594
0.07746
0
0
0
i
-pi/2
0
Pi/2
-pi/2
Pi/2
0
Limit
-185 to 185
-155 to 35
-130 to 154
-350 to 350
-130 to 130
-350 to 350
4. The second step is to define the limits of joint angle of each joint in radians.
36
5. In the next step define robot trajectories, its reach, and time taken to reach initial position
to final position etc.
6. This step gives HARPREET plot, command, save and run the program. The motion of
HARPREET is shown in the following Figures 3.3 (a), 3.3 (b), 3.3 (c), 3.3 (d), 3.3 I, 3.3
(f), 3.3 (g), 3.3 (h).
37
7. In this step choose some joint angles for different positions of end effector but every joint
angle has certain limits, within limit take more than 100 pairs of joint angles and find its
corresponding position vectors with the help of fkine and ikine commands in robotics
toolbox in matlab.
8. Lets take 10 sample pair of joint angles (input) and its corresponding position vectors
shown in the Tables 3.2 and 3.3 as given below:
38
10
12
18
22
32
43
50
10
15
17
20
28
38
7
11
21
32
39
47
11
19
29
39
44
50
14
24
33
43
49
51
11
19
21
29
31
40
7
14
21
24
35
49
9
16
26
36
44
52
11
16
26
36
46
50
10
15
25
36
40
50
Oy
Oz
Ax
Ay
Az
Px
Py
Pz
1
0.4341
8
0.6601
97
0.6128
83
0.1415
5
0.7219
1
0.6773
57
0.8896
34
0.2073
4
0.4068
92
1.2166
77
0.2997
88
0.5898
09
2
0.0222
83
0.9012
23
0.4327
83
0.4501
3
0.3774
9
0.8092
49
0.8926
83
0.2128
4
0.3972
59
1.1839
93
0.1258
16
0.6404
41
0.2691
8
0.7667
99
0.5827
17
0.3948
2
0.6397
3
0.6594
4
0.8784
41
0.0525
6
0.4749
52
1.2047
17
0.0441
02
0.6702
39
0.5253
9
0.5324
54
0.6636
71
0.0124
6
0.7847
3
0.6197
11
0.8507
71
0.6243
9
0.3429
44
0.7017
98
0.2133
7
0.8227
21
0.5268
8
0.2466
65
0.3387
0.7659
2
0.5937
37
0.7411
4
0.3173
18
0.5438
35
0.4189
25
1.2577
86
0.3936
43
1.2274
98
0.5875
47
0.4701
4
0.5681
5
0.7499
93
0.9163
8
0.0184
3
0.3998
85
1.2179
17
0.2695
54
0.5833
73
0.3736
0.5472
94
7
0.1646
0.7989
67
0.5784
09
0.3639
7
0.5942
2
0.7172
35
0.9167
52
0.0924
6
0.3886
09
1.2198
45
0.0931
32
0.6330
9
10
0.4633
4
0.5982
72
0.6537
51
0.1235
7
0.7741
3
0.6208
52
0.8775
24
0.4990
7
0.6025
53
0.6227
85
0.0899
6
0.7508
3
0.6543
46
0.8618
81
0.4218
1
0.6354
03
0.6467
91
0.2065
2
0.7619
4
0.6138
38
0.8828
5
0.2068
77
0.2705
38
0.1253
45
0.4326
12
1.2521
04
0.2385
98
0.5945
21
0.4289
18
1.2427
04
0.2853
3
0.5940
89
0.4526
2
1.2411
14
0.2248
35
0.6110
22
This joint angle we use as input in the neural network part of our next phase of research.
39
3.3.2 Artificial Neural Network approach for six arms (HARPREET) robot manipulator
The position vector and corresponding joint angles obtained from forward and inverse kinematics
of robot (HARPREET) with the help of robotics toolbox in matlab are used as training data to
train the neural network. For solving the inverse kinematics equation of six degrees of freedom
manipulator, in this work, consider the neural network model with the MLP model containing 100
iterations, error tolerance 1e-10-7. For the neural network model used in this work, 110 data points
obtained from robotics toolbox, from which 100 data points are used for training and remaining
are used for testing and validation.
Last 10 data points are used for testing and validation of given data by robotics toolbox shown in
Figures 3.4 and 3.5 as given below:
Procedure for applying the ANN network to our data in matlab:Step 1 Open the matlab and make files of input (position vector), output (joint angle) and a file of
10 position vectors for the validation then save it in the matlab command window. In this step
write nnstart in matlab command window
40
41
42
Step 5 Click on Next button and check the percentage of training, validation, and testing data. If
you want you can increase or decrease the percentage of training, validation and testing data.
43
10
12
17.9
22.6
32.3
42.8
49.7
10.2
14.2
16.8
20.3
27
37
6.8
11.3
22.4
30.3
38.2
48.5
11
18.9
29.1
39
44
50.1
14.1
23.9
28.8
43.6
48.6
51.7
11
19.1
20.6
28.9
30.9
40.1
7
14.1
20.2
23.4
35.2
49.4
8.94
16
26.3
36.2
43.9
52
11
15.8
26.2
36.4
45.9
49.8
9.88
15.1
26
36.6
39.4
49.9
And after applying the forward kinematics in robotics toolbox the position vector obtained are:
TABLE 3.5 Position vector matrix from robotics toolbox
Position
vector
nx
ny
nz
ox
oy
oz
ax
ay
az
px
py
pz
0.4341
8
0.6601
97
0.6128
83
0.1415
5
0.7219
1
0.6773
57
0.8896
34
-0.45013
0.2073
4
-0.21284
0.4068
92
1.2166
77
0.2997
88
0.5898
09
0.39725
9
1.18399
3
0.12581
6
0.64044
1
0.02228
3
0.90122
3
0.43278
3
-0.37749
0.80924
9
0.89268
3
3
0.2691
8
0.7667
99
0.5827
17
0.3948
2
0.6397
3
0.6594
4
0.8784
41
0.0525
6
0.4749
52
1.2047
17
0.0441
02
0.6702
39
4
-0.52539
0.53245
4
0.66367
1
-0.01246
5
0.6243
9
0.3429
44
0.7017
98
0.2466
65
10
0.21337
-0.1646
0.46334
0.49907
0.42181
0.79896
7
0.57840
9
0.59827
2
0.65375
1
0.60255
3
0.62278
5
0.63540
3
0.64679
1
-0.3387
0.36397
0.12357
0.08996
0.20652
0.56815
0.59422
0.77413
0.75083
0.76194
0.74999
3
0.71723
5
0.91675
2
0.62085
2
0.87752
4
0.65434
6
0.86188
1
0.61383
8
0.12534
5
0.82272
1
0.52688
0.61971
1
0.85077
1
0.7659
2
0.5937
37
0.7411
4
0.31731
8
0.5438
35
0.01843
0.09246
0.20687
7
0.27053
8
0.41892
5
1.25778
6
0.3936
43
1.2274
98
0.5875
47
0.4701
4
0.39988
5
1.21791
7
0.26955
4
0.58337
3
0.38860
9
1.21984
5
0.09313
2
0.43261
2
1.25210
4
0.23859
8
0.59452
1
0.42891
8
1.24270
4
-0.78473
0.3736
0.54729
4
0.91638
46
0.63309
0.28533
0.59408
9
0.88285
0.45262
1.24111
4
0.22483
5
0.61102
2
Procedure for applying the ANFIS network to our data in Mat labStep 1- Arrange the data for each position vector and joint angle in the form of data that can be
accepted in ANFIS network. The data has to be arranged by the following format is given below.
TABLE 3.6 Data arranged table
Nx
1
10
Ny
nz
0.4341
3
0.6603
29
0.6127
76
0.0237
21
0.9011
77
0.4328
02
0.7669
35
0.5819
69
0.5324
76
0.6637
92
0.3425
84
0.7023
68
0.8226
52
0.5270
26
0.7983
71
0.5795
04
0.5982
46
0.6537
22
0.6028
07
0.6219
85
0.6361
43
0.6457
92
0.2704
1
0.5252
1
0.6239
5
0.2132
8
0.1636
4
0.4634
1
0.4997
6
0.4222
3
ox
0.1420
9
0.4499
7
0.3963
6
0.0122
7
0.2476
65
0.3386
5
0.3631
3
0.1238
6
0.0904
5
0.2075
5
oy
oz
ax
ay
Az
Px
py
pz
-0.7219
0.6772
53
0.8895
73
0.2069
47
0.4072
26
1.2166
71
0.2997
15
0.5897
35
0.37697
0.8095
83
0.8927
3
0.3965
58
1.1836
68
0.1270
45
0.6396
0.63957
0.6586
72
0.8773
68
0.4769
31
1.2043
54
0.0431
24
0.6702
25
-0.7847
0.6197
57
0.8508
82
0.3173
61
0.4186
66
1.2579
16
0.3736
57
0.5472
18
0.76576
0.5935
2
0.7411
79
0.5442
8
0.3929
54
1.2271
66
0.5884
47
0.4698
02
0.56824
0.7499
46
0.9164
23
0.3997
81
1.2179
98
0.2696
26
0.5833
15
0.59493
0.7170
75
0.9172
54
0.3872
7
1.2203
6
0.0931
44
0.6328
19
1
0
-0.7742
0.6207
02
0.8774
45
0.2066
72
0.4328
71
1.2521
42
0.2386
77
0.5945
54
1
0
0.75048
0.6546
7
0.8614
29
0.2709
2
0.4295
83
1.2423
44
0.2851
1
0.5942
73
1
0
0.76133
0.6142
54
0.8824
11
0.1253
22
0.4534
82
1.2407
21
0.2246
46
0.6112
24
1
0
0.2139
5
0.0525
6
0.0185
3
0.0930
9
Step 2- After opening the mat lab make a file containing input and output to copy the excel sheet
in these spreadsheet and rename the file with name traindata. As well as create other file
containing testing and checking data.
47
48
Step 7- Plot the result against different forms of data as training data, testing data and checking
data.
Step 11- make a rule for joint angle 1 and create a rule which in rule viewer window in ANFIS.
Step 12- in next step check ANFIS model structure and create a surface at different joint angles.
53
Step 13- similar steps will be taken for joint angles 2, 3,4,5,6 and take output joint angles.
54
1
12
2
10.2
3
6.8
4
11
5
14.1
6
11
7
7
8
8.94
17.9
14.2
11.3
18.9
23.9
19.1
14.1
16
22.6
16.8
22.4
29.1
28.8
20.6
20.2
26.3
32.3
20.3
30.3
39
43.6
28.9
23.4
36.2
42.8
27
38.2
44
48.6
30.9
35.2
43.9
49.7
37
48.5
50.1
51.7
40.1
49.4
52
3
4
5
6
55
9
11
15.
8
26.
2
36.
4
45.
9
49.
8
10
9.88
15.1
26
36.6
39.4
49.9
CHAPTER 4
RESULTS AND DISCUSSION
In this part of the thesis, different results obtained from our robotics toolbox and neural network.
The robotics toolbox gives forward and inverse kinematics of six-axis robot (HARPREET) those
outputs are in the form of joint angles and corresponding position vectors. Robotics toolbox can
also simulate our robot in 3D space Cartesian coordinates. After using the robotics toolbox, we
have validated our data from the neural network. The joint angles obtained from our neural
network are now again used to calculate the forward kinematics obtaining the corresponding
position vectors. These position vectors are compared with initial position vectors and calculate
the error which is acceptable.
10
12
10
11
14
11
11
10
18
15
11
19
24
19
14
16
16
15
22
17
21
29
33
21
21
26
26
25
32
20
32
39
43
29
24
36
36
36
43
28
39
44
49
31
35
44
46
40
angle
56
50
38
47
50
51
40
49
52
50
50
Oy
Oz
Ax
Ay
Az
Px
Py
Pz
1
0.4341
3
0.6603
29
0.6127
76
0.1420
9
-0.7219
0.6772
53
0.8895
73
0.2069
47
0.4072
26
1.2166
71
0.2997
15
0.5897
35
2
0.0237
21
0.9011
77
0.4328
02
0.4499
7
0.3769
7
0.8095
83
0.8927
3
0.2139
5
0.3965
58
1.1836
68
0.1270
45
0.6396
3
0.2704
1
0.7669
35
0.5819
69
0.3963
6
0.6395
7
0.6586
72
0.8773
68
0.0525
6
0.4769
31
1.2043
54
0.0431
24
0.6702
25
4
0.5252
1
0.5324
76
0.6637
92
0.0122
7
0.6239
5
0.3425
84
0.7023
68
0.2476
65
0.6197
57
0.8508
82
0.7657
6
0.5935
2
0.7411
79
0.3173
61
0.5442
8
0.4186
66
1.2579
16
0.3736
57
0.5472
18
0.3929
54
1.2271
66
0.5884
47
0.4698
02
-0.7847
0.2132
8
0.8226
52
0.5270
26
0.3386
5
0.5682
4
0.7499
46
0.9164
23
0.0185
3
0.3997
81
1.2179
98
0.2696
26
0.5833
15
7
0.1636
4
0.7983
71
0.5795
04
0.3631
3
0.5949
3
0.7170
75
0.9172
54
0.0930
9
0.3872
7
1.2203
6
0.0931
44
0.6328
19
8
0.4634
1
0.5982
46
0.6537
22
0.1238
6
10
0.6207
02
0.8774
45
0.4997
6
0.6028
07
0.6219
85
0.0904
5
0.7504
8
0.6546
7
0.8614
29
0.2066
72
0.2709
2
0.12532
2
0.4328
71
1.2521
42
0.2386
77
0.5945
54
0.4295
83
1.2423
44
0.2851
1
0.5942
73
0.45348
2
1.24072
1
0.22464
6
0.61122
4
-0.7742
0.42223
0.63614
3
0.64579
2
0.20755
0.76133
0.61425
4
0.88241
1
58
The output or joint angles from the neural network at 18 neurons at 100% validation give joint
angles as shown in Table 4.3.
TABLE 4.3 Output or joint angle from neural network
Joint
Angle
10
12.0105
6
9.99960
9
7.0637
41
11.0029
4
13.9803
6
11.00105
7.01321
9
8.99486
5
10.9983
8
9.99507
4
17.9858
5
14.8861
9
10.956
45
19.0042
9
23.971
19.00012
14.0094
6
16.0061
4
15.9887
3
14.9892
22.0095
1
17.0851
5
21.063
9
28.9799
8
33.0071
5
20.98864
20.9384
2
25.9884
3
26.0534
5
25.0541
7
31.9692
8
20.0955
8
31.801
12
39.0129
8
43.0438
7
29.00431
24.1187
3
35.9751
7
35.9613
7
35.9446
2
43.0182
28.0800
6
38.943
25
44.0086
2
49.0139
5
31.01395
35.0534
7
44.0209
45.9436
3
39.9705
3
50.0298
7
37.9556
5
47.122
92
49.9931
8
50.9487
3
39.99199
48.8644
9
52.0216
3
50.0470
9
50.0907
8
5
6
These joint angles used in robotics toolbox and final position vectors are as shown in Table 4.4.
TABLE 4.4 Final Position vectors from robotics toolbox
The Table no 4.4 is now compared with the Table no 4.2 for finding the error between two
Position
vector
Nx
0.4341
8
0.0222
83
0.2691
8
0.5253
9
0.6243
9
Ny
0.6601
97
0.9012
23
0.7667
99
0.5324
54
Oy
0.6128
83
0.1415
5
0.7219
1
0.4327
83
0.4501
3
0.3774
9
0.5827
17
0.3948
2
0.6397
3
Oz
0.6773
57
0.8092
49
Ax
0.8896
34
Ay
0.2133
7
-0.1646
0.4633
4
0.4990
7
-0.42181
0.3429
44
0.8227
21
0.7989
67
0.5982
72
0.6025
53
0.63540
3
0.6636
71
0.0124
6
0.7847
3
0.7017
98
0.5268
8
-0.3387
0.5681
5
0.6537
51
0.1235
7
0.7741
3
0.6227
85
0.0899
6
0.7508
3
0.64679
1
0.2466
65
0.7659
2
0.5784
09
0.3639
7
0.5942
2
0.6594
4
0.6197
11
0.5937
37
0.7499
93
0.7172
35
0.6208
52
0.6543
46
0.61383
8
0.8784
41
0.0525
6
0.8507
71
0.7411
4
0.88285
0.5438
35
0.9167
52
0.0924
6
0.8618
81
0.3173
18
0.9163
8
0.0184
3
0.8775
24
0.2073
4
0.8926
83
0.2128
4
0.2068
77
0.2705
38
0.12534
5
Az
0.4068
92
0.3972
59
0.4749
52
0.4189
25
0.3936
43
0.3998
85
0.3886
09
0.4326
12
0.4289
18
0.45262
Px
1.2166
77
1.1839
93
1.2047
17
1.2577
86
1.2274
98
1.2179
17
1.2198
45
1.2521
04
1.2427
04
1.24111
4
Py
0.2997
88
0.1258
16
0.0441
02
0.3736
0.5875
47
0.2695
54
0.0931
32
0.2385
98
0.2853
3
0.22483
5
Pz
0.5898
09
0.6404
41
0.6702
39
0.5472
94
0.4701
4
0.5833
73
0.6330
9
0.5945
21
0.5940
89
0.61102
2
Nz
Ox
63
10
position
vector
-0.20652
-0.76194
matrices.
This error
is
calculated
in matlab by using norm command, the value of error found to be 0.0016. This is in the acceptable
range.
4.3 Result obtained from ANFIS
The output from the robotics toolbox is used as input in ANFIS, and from that, we get various
graphs and data at different rules. The Selection of output (joint angle) data is fully dependent
upon minimization of the error.
The ANFIS output in the terms of joint angles shown below.
TABLE 4.5 ANFIS Output
Joint
Angle
1
2
3
4
5
6
10
12
10.2
6.8
11
14.1
11
8.94
11
9.88
17.9
14.2
11.3
18.9
23.9
19.1
14.1
16
15.8
15.1
22.6
16.8
22.4
29.1
28.8
20.6
20.2
26.3
26.2
26
32.3
20.3
30.3
39
43.6
28.9
23.4
36.2
36.4
36.6
42.8
27
38.2
44
48.6
30.9
35.2
43.9
45.9
39.4
49.7
37
48.5
50.1
51.7
40.1
49.4
52
49.8
49.9
In next step compare joint angles obtained from robotics toolbox and joint angles obtained from
ANFIS with the help of norm command. The error calculated from it is 0.0300 which is
acceptable.
Hence, the forward and inverse kinematics of HARPREET robot is verified by ANN and ANFIS.
The error given by norm command is very less which is acceptable.
64
CHAPTER 5
CONCLUSION AND FUTURE WORK
5.1 CONCLUSION
In this study, the inverse kinematics solution using ANN and ANFIS for a 6-DOF Redundant
manipulator is presented. The difference in position vector deduced and predicted with ANN and
ANFIS model and robotics toolbox for a 6-DOF manipulator clearly depicts that the proposed
method results with an acceptable error. The error predicted by ANN is 0.0016 and error predicted
by ANFIS are 0.0300 which is acceptable. The error is calculated by ANN and ANFIS with the
help of NORM command in Matlab. The modeling efficiency of this technique was obtained by
taking 10 end-effectors position vector coordinates as input parameters to our ANN and ANFIS
network which gives the same output as predicted in robotics toolbox. Also, the ANN and ANFIS
model used with a smaller number of iteration steps with the hybrid learning algorithm. Hence,
the trained ANN and ANFIS model can be utilized to solve complex, nonlinear and discontinuous
kinematics equation of robot manipulator; thereby, making ANN and ANFIS and robotics toolbox
an alternative approach to deal with inverse and forward kinematics of the robot.
As the ANFIS approach provides a general framework for a combination of NN and fuzzy logic.
The efficiency of ANN and ANFIS for predicting the IK of the Redundant manipulator can be
concluded by observing the 3-D surface viewer and error graphs or finding the error between the
outputs of the robotics toolbox.
The robotics toolbox used for deriving the inverse kinematics model for these manipulators could
be applied to other types of robotic arms, such as the Edu Bots developed by the Robotica Ltd,
Pioneer 2 robotic arm (P2Arm), 5-DOF Lynx 6 Educational Robot arm. It can be concluded that
the solution developed in this paper will make the robot more useful which have more than 3
degrees of freedom manipulator.
65
Underwater manipulator
Medical application
REFERENCES
66
[1] Antonio Benitez1, Ignacio Huitzil1, Azgad Casiano2, Jorge De La Calleja1 and M. A.
Medina PUMA 560: Robot Prototype with Graphic Simulation Environment ISSN March,
2012, Volume 2, Number 1.
[2] Introduction Robotics Dr. Dragan Kosti WTB Dynamics and Control SeptemberOctober 2009
[3] IEEE Journal of Robotics and Automation, Vol. 4 no.4 august 1998.
[4] www.mathworks.com Robotics toolbox for matlab.march1996.
[5] Clarke, R. Asimovs Laws of Robotics: Implications for Information Technology- part II,
Computer, 27(1), September (1994): pp.5766.
[6] http://www.petercorke.com/robot Robotics toolbox for Matlab Release 9.0.
[7] www.robotshop.us history of robotics.
[8] S.V. Shah, S.K Saha, J.K Dutt Denavit-Hartenberg Parameterization of Euler Angles
Journal of Computational and Nonlinear Dynamics 2012.
[9] Harvey Lipkin, A note on Denavit-Hartenberg notation in robotics ASME 2005.
[10] Y Feng, W.Yao-Nan & Y. Yi-min Inverse kinematics solution for robot manipulator based
on neural network under joint subspace INT J COMPUT COMMUN, ISSN 1841-9836 Vol.7
(2012), No. 3 (September), pp. 459-472.
[11] Federico Thomas Solved problem of robot kinematics by using robotics toolbox
Barcelona, April 2nd, 2012.
[12] Himanshu Chaudhary and Rajendra Prasad Intelligent Inverse kinematics control of
SCORBOT-ER V plus robot manipulator International Journal of Advances in Engineering &
Technology, Nov 2011.
[13] B Durmus, H. Temurtas & A. Gun An inverse kinematics solution using practical swarm
optimization 6th International Advanced Technologies Symposium (IATS11), 16-18 May 2011,
Elazig, Turkey.
[14] Andreas Aristidou & Joan Lasenby FABRIK: - A fast iterative solver for the inverse
kinematic problem ELSEVIER 9 may 2011.
[15] Mustafa Jabbar Hayawi, Analytical inverse kinematics algorithm Of A 5-DOF robot arm
Journal of education of college no.4 vol.1 march. 2011.
[16] Ali T Hasan and H.M.A.A.AI Assadi Performance prediction network for serial
manipulators inverse kinematics solution passing through singular configuration Advanced
Robotics System International 2010.
[17] Dr. Anurg Verma, Mehul Gor, Forward kinematics analysis of 6DOF arc welding robot
67
International Journal of Engineering Science and Technology Vol. 2(9), 2010, 4682-4686.
[18] Jianxin XU, Wei Wang & Yuanguang SUN, Two optimization algorithms for solving
inverse kinematics with redundancy South China University of Technology and Academy of
Mathematics and Systems Science, CAS and Springer-Verlag Berlin Heidelberg 2010.
[19] Srinivasan Alavandar, M.J. Nigam Inverse Kinematics Solution of 3DOF Planar Robot
using ANFIS ISSN 2008.
[20] Srinivasan Alavandar, M.J. Nigam Nero fuzzy based approach for inverse kinematics
solution of industrial robot manipulator Int. J. of Computers, Communications & Control,
ISSN 1841-9836, E-ISSN 1841-9844 Vol. III (2008), No. 3, pp. 224-234 in 2008.
[21] Serdar Kucuk and Zafer Bingul Forward and Inverse Kinematics December 2006.
[22] John Q. Gan, Eimei Oyama, Eric M. Rosales and Huosheng Hu A complete analytical
solution to the inverse kinematics of the Pioneer 2 robotic arm May 7, 2004, volume 23, pp.
123129.
[23] Sreenivas Tegomurtula, Subhash Kak Inverse kinematics in robotics using neural
networks ELSEVIER 23 October 1998.
[24] Tadeusz Szkodny Forward and Inverse kinematics of Irb-6 manipulator Pergamon 1995.
[25] Gregory Grudic and Peater d lawerence Iterative IK with manipulator control IEEE
transaction on robotics and automation volume 9 august 1993.
[26] Li Chun Tommy Wang & Chi Cheng Chen A combined optimization method for solving
the inverse kinematics problem for mechanical manipulator IEEE Transaction on Robotics and
Automation Vol. 7 No. 4 august 1991.
[27] Ziauddin Ahmad & Allon Guez On the solution to the inverse kinematics problem IEEE
1990.
[28] Lorenzo Sciavicco & Bruno Sciliano A solution algorithm to the inverse kinematics
problem for redundant manipulator.
[29] Kesheng Wang Efficient inverse position transformation for TR400S robot manipulator
Modeling identification and Control, 1989, Vol.10 No. 2 101-113 9 Feb. 1989.
[30] Adrew A. Goldenberg, B. Benhabib, & Robert G. Fenton a Complete Generalized
Solution to the Inverse Kinematics of Robots IEEE JOURNAL OF ROBOTICS AND
AUTOMATION, VOL. RA-1, NO. 1, March 1985.
[31] Ms. Amanpreet Kaur, ANN based system for weather prediction, IJCSNS 2011.
[32] Ali T Hasan, Hayder M.A.A. AI Assadi & Ahmad Azlan Mat Isa Neural networks based
inverse kinematics solution for serial robot manipulators passing through singularities
INTECH 2007.
68
[33] Laus Debes, Alexander Koenig, Horst-Michael Gross Transfer Functions in Artificial
Neural Networks2005.
[34] Eldon Y. Li Artificial neural networks and their business applications ELSEVIER 1994.
[35] Dimitri, Gorinevsky, T.H. Connoly, "Comparison of some neural network and scattered
data approximation: The inverse manipulator kinematics example, Neural Computation 6
(1994).
[36] David LeveringtonA Basic Introduction to feed forward Backpropagation Neural
Networks.
[37] Yousif I. Al Mashhadany ANFIS-Inverse-Controlled PUMA 560 Workspace Robot with
IRIS 2012.
[38] Inan Guler, Elif Derya Ubeyli Application of adaptive Neuro-fuzzy inference system for
detection of electrocardiographic changes in patients with partial epilepsy using feature
extraction.
[39] Ke L., Hong-ge M., Hai-jing Z.Application of Adaptive Neuro-Fuzzy Inference System to
Forecast of Microwave Effect, IEEE Conference Publications, (2009), pp.1- 3.
[40] Zadeh L.A. "Fuzzy Logic Toolbox User Guide, The Math Works, Berkeley, CA, Version 2,
January 10, 1995-1998.
[41] Jyh-Shing Roger Jang Adaptive-Network-Based Fuzzy Inference System IEEE May
1993.
[42] C.T Sun Rulebase structure identification in an adaptive network based fuzzy Inference
System,IEEE Trans.Fuzzy system, accepted for publication,1993.
[43] J.J. Craig, Introduction to Robotics: Mechanisms and Controls, Addison-Wesley, Reading,
MA, 1989.
[44] T Takagi and M.Sugeno,Fuzzy identification of systems and its Applications to modeling
and control,IEEE Trans.Syst.Man,Cybern.vol.15 pp 116-132,1985.
[45] Piltan F., Sulaiman N., Ferdosali P., Rashidi M. & Tajpeikar Z., 2011. Adaptive MIMO
Fuzzy Compensate Fuzzy Sliding Mode Algorithm: Applied to Second Order Nonlinear System,
International Journal of Engineering (IJE), Volume (5): Issue (5), p: 380-398
[46] Mamdani E.H., Assilian S. An Experiment in Linguistic Synthesis with a Fuzzy Logic.
[47] Tsukamoto Y. An Approach to Fuzzy Reasoning Method. In Madan M. Gupta,
Rammohan K. Ragade, and Ronald R. Yager, editors, Advances in Fuzzy Set Theory and
Applications, North-Holland, Amsterdam, 1979, pp.137-149.
69
PUBLICATIONS
[1] Harpreet SinghForward and inverse Kinematics Solution for Six DOF with the help of
Robotics toolbox in matlab INTERNATIONAL JOURNAL OF APPLICATION OR
INNOVATION IN ENGINEERING MANAGEMENT, ISSN 2319-4847 Vol.4 (2015).
[2] Harpreet SinghANFIS Based Forward and inverse Kinematics of Six Arm Robot Manipulator
with Six Degree of Freedom INTERNATIONAL JOURNAL OF COMPUTER &
ORGANIZATION TRENDS Vol.19 (2015).
70