You are on page 1of 81

ANN and ANFIS Based Inverse Kinematics of

Six Arm Robot Manipulator


THESIS
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE AWARD OF
THE DEGREE OF

MASTER OF TECHNOLOGY
(Electronics & Communication Engineering)

SUBMITTED BY
HARPREET SINGH
UNIVERSITY ROLL NO:-1319863
JANUARY 2016

PUNJAB TECHNICAL UNIVERSITY

JALANDHAR, INDIA

ANN and ANFIS Based Inverse Kinematics of


Six Arm Robot Manipulator
THESIS
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE AWARD OF
THE DEGREE OF

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

RAMGARHIA INSTITUTE OF ENGINEERING & TECHNOLOGY


PHAGWARA
PUNJAB TECHNICAL UNIVERSITY
JALANDHAR, INDIA

RAMGARHIA INSTITUTE OF ENGINEERING & TECHNOLOGY


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

Signature of External Examiner

(Mr. Manit Kapoor)


Signature of H.O.D

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

Graph of testing data


Graph of Training testing and checking data
Rule viewer for joint angle 1
ANFIS structure model for joint angle
Comparison between outputs of surface
Comparison between outputs of surface
Neural Network iteration window
Function fitting neural network
Mean square error vs 100 epochs graph
Output vs. target graph
Neural network training state graph
Error Histogram

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

The Brain as an Information Processing System


Computation in the brain
Neural Networks in the Brain
McCulloch-Pitts Networks
The McCulloch-Pitts Model of a Neuron
Transfer Functions of Artificial Neural Networks
Characteristics of neural network
ANFIS (Adaptive Neuro-Fuzzy Inference System)
Fuzzy If-Then Rules and Fuzzy Inference Systems.
Adaptive Network Learning Algorithms

CHAPTER 2: LITERATURE REVIEW

25

2.1 Literature review

25

CHAPTER 3: PROBLEM FORMULATION


3.1 Problem Formulation
3.2 Objective
3.3 Research Methodology
3.3.1 Forward and inverse kinematics of six arm manipulator ( Harpreet ) with

33
33
33
34

the help robotics toolbox in mat lab


3.3.2 Artificial Neural Network approach for six arms ( Harpreet ) robot
manipulator
3.3.3 ANFIS Architecture used for 6-DOF ( Harpreet ) robot manipulator

34
39
43

CHAPTER 4: RESULTS AND DISCUSSION


4.1 Results obtained from robotics toolbox
4.2 Result obtained from artificial neural networks

53
53
54

4.3 Result Obtained from ANFIS

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)

>> L(2) = Link([0 0 1 0]);

(4)

Theta=q1, d=0, a=1, alpha=0 (R, stdDH)

(5)

Theta=q2, d=0, a=1, alpha=0 (R, stdDH)

(6)

Which are passed to the constructor SerialLink


>> two_link = SerialLink (L, 'name', 'two link');
This returns a SerialLink object that we can display.
>> two_link
two_link =two link (2 axis, RR, stdDH)

(7)

i
1

i
q1

di
0

ai
1

i
0

q2

Table 1.1 D-H parameters for two arm robot manipulator

Figure 1.1 Two-link robot as per Spong


3

The robot can be visualized graphically as shown in Figure 1.2.


>> twolink.plot ([0 0])
>> twolink.plot ([pi/4 -pi/4]) [33]

Figure 1.2 3D view of two link manipulator in mat lab

1.5 Denavit Hartenberg parameter


D-H parameter is introduced by Denavit-Hardenberg in 1955. D-H parameter gives a
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, it is necessary to find the relation between the coordinate frames attached to the end-effector
and the base. This can be obtained from the description of the coordinate transformations between
the coordinate frames attached to all the links and forming the overall description in a recursive
manner [8]. For this purpose, the material presented in the previous section for describing the
position and orientation of the rigid body is useful for obtaining a composition of coordinate
transformations between the consecutive frames. As a first step, a systematic general method is to
be derived to define the relative position and orientation of two consecutive links. The problem is
to define two frames attached to two successive links and compute the coordinate transformation
between them. In general, the frames are arbitrarily chosen as long as they are attached to the link
they are referred to. Nevertheless, it is convenient to set some rules for the definition of the link
frames. The convention adopted here for a serial chain robot shown in Figure 1.3 shows that it has
n + 1 links, namely, link #0, . . . #n, coupled by n joints, i.e., joint 1, . . . n [9].

Figure 1.3 A serial chain robot

Figure 1.4 The ith joint is revolute


Now, referring to Figure 1.4 and 1.5,
(a) Let axis i denotes the axis of the joint connecting link i 1 to link i.
5

(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.

Also, locate Oi on Zi at the intersection of the common normal to Zi and Zi + 1.


(e) Choose axis Xi along the common normal to axes Zi 1 and Zi with the direction from former to
the later.
(f) Choose axis Yi so as to complete a right-handed frame. Note that the above conventions do not
give a unique definition of the link frames in the following cases:
For frame 1 that is attached to the fixed base, i.e., link 0, only the direction of axes Z 1 is
specified. Then O1 and X1 can be chosen arbitrarily.
For the last frame n + 1 the foregoing convention does not apply since there is no link n + 1.
Thus, frame n + 1 can be arbitrarily chosen.
When two consecutive axes are parallel, the common normal between them is not uniquely
defined.
When two consecutive axes intersect, the direction of Xi is arbitrary. When joint i is prismatic,
then only the direction of axis Zi is determined, whereas the location of Oi is arbitrary [10,11].

Figure 1.5 The ith joint is prismatic


6

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.

Figure 1.6 Relationship between FK and IK


8

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].

Figure 1.7 Coordinate Frame for a General Manipulator

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].

Figure 1.8 Three link Robot Manipulator


1, 2, 3 = f-1(P)

(8)

In Figure 1.8, there are 3 unknown values. But we have 2 equations,


X = l1*cos (1) + l2*cos (2) + l3*cos (3)

(9)

Y = l1*sin (1) + l2*sin (2) + l3*sin (3)

(10)

1.8 Artificial Neural Network


Artificial neural networks (ANN) take their name from the network of nerve cells in the brain.
Recently, ANN has been found to be an important technique for classification and optimization
problems. Artificial Neural Networks (ANN) has emerged as a powerful learning technique to
perform complex tasks in highly nonlinear dynamic environments. Some of the prime advantages
of using ANN models are their ability to learn based on optimization of an appropriate error
function and their excellent performance for the approximation of the nonlinear function. The
ANN is capable of performing the nonlinear mapping between the input and output space due to
its large parallel interconnections between different layers and the nonlinear processing
characteristics [31].

1.9 The Brain as an Information Processing System

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.

Figure 1.9 The Human Brain


1.10 Computation in the brain
The brains network of neurons forms a massively parallel information processing system.
This contrasts with conventional computers, in which a single processor executes a single
series of instructions.
Against this, consider the time taken for each elementary operation: neurons typically
operate at a maximum rate of about 100 Hz, while a conventional CPU carries out several
hundred million machine level operations per second. Despite being built with very slow
hardware, the brain has quite remarkable capabilities.
Its performance tends to degrade gracefully under partial damage. In contrast, most
programs and engineer systems are brittle: if you remove some arbitrary parts, very likely
the whole will cease to function.
It can learn (reorganize itself) from experience.
This means that partial recovery from damage is possible if healthy units can learn to take
over the functions previously carried out by the damaged areas.

12

It performs massively parallel computations extremely efficiently. For example, complex


visual perception occurs within less than 100 ms, that is, 10 processing steps.
It supports our intelligence and self-awareness. (Nobody knows yet how this occurs.)
As a discipline of Artificial Intelligence, Neural Networks attempt to bring computers a
little closer to the brains capabilities by imitating certain aspects of information
processing in the brain, in a highly simplified way [31].
1.11 Neural Networks in the Brain
The brain is not homogeneous. At the largest anatomical scale, we distinguish cortex, midbrain,
brainstem, and cerebellum. Each of these can be hierarchically subdivided into many regions, and
areas within each region, either according to the anatomical structure of the neural networks
within it or according to the function performed by them. The overall pattern of projections
(bundles of neural connections) between areas is extremely complex, and only partially known.
The best mapped (and largest) system in the human brain is the visual system, where the first 10
or 11 processing stages have been identified. We distinguish feed-forward projections that go
from earlier processing stages (near the sensory input) to later ones (near the motor output), from
feedback connections that go in the opposite direction. In addition to these long-range
connections, neurons also link up with many thousands of their neighbors. In this way, they form
very densely, complex local networks [32].
The basic computational unit in the nervous system is the nerve cell or neuron. As shown in the
Figure 1.10 a neuron consists of:

Dendrites (inputs)

Cell body

Axon (output)

Figure 1.10 Model of Neuron


13

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

Figure 1.11 McCulloch-Pitts network to compute logical functions


Such a function can be described mathematically using these equations:

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

Figure 1.12 Linear step function at threshold level T

15

1.13 The McCulloch-Pitts Model of a Neuron


The McCulloch-Pitts model of a neuron is simple yet has substantial computing potential. It also
has a precise mathematical definition. However, this model is so simplistic that it only generates a
binary output and also the weight and threshold values are fixed. The neural computing algorithm
has diverse features for various applications. Thus, we need to obtain the neural model with more
flexible computational features.

Figure 1.13 McCulloch-Pitts model


Based on the McCulloch-Pitts model described previously, the general form an artificial neuron
can be described in two stages as shown in Figure 1.13. In the first stage, the linear combination
of inputs is calculated. Each value of input array is associated with its weight value, which is
normal between 0 and 1. Also, the summation function often takes an extra input value Theta
with weight value of 1 to represent threshold or bias of a neuron. The summation function will be
then performed as

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].

Figure 1.14 Basic elements of a formal, static neuron


The activation function zi = f(x,wi) and the output function yi=f(zi) are summed up with the term
transfer functions. Some important transfer functions are described in Table 1.2 as given below:
Table 1.2 Transfer functions and its notations

17

1.15 Characteristics of neural network


Conventionally, a computer operates through sequential linear processing technologies. They
apply formulas, decision rules, and algorithms instructed by users to produce outputs from the
inputs. Conventional computers are good at numerical computation. But ANNs improve their own
rules; the more decisions they make, the better the decisions may become.
There are six main characteristics of ANN technology: the network structures, the parallel
processing ability, the distributed memory, the fault tolerance ability, the collective solution, and
the learning ability [34].
(1)

Network structures: An ANN may have either a recurrent or nonrecurrent structure. A

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)

Collective solution: A conventional computer processes programmed instructions

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].

1.17 Fuzzy If-Then Rules and Fuzzy Inference Systems.


A. Fuzzy If-Then Rules

Figure. 1.15 Fuzzy Inference System


Fuzzy if-then rules or fuzzy conditional statements are expressions of the form IF A THEN B,
where A and B are labels of fuzzy sets characterized by appropriate membership functions. Due to
their concise form, fuzzy if-then rules are often employed to capture the imprecise modes of
reasoning that play an essential role in the human ability to make decisions in an environment of
uncertainty and imprecision. An example that describes a simple fact is If the pressure is high,
21

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):

a rule base containing a number of fuzzy if-then rules;


a database which defines the membership functions of the fuzzy sets used in the fuzzy

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

Figure 1.16 Commonly used fuzzy If then Rules.

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

often called fuzzification).


2. Combine (through a specific T-norm operator, usually multiplication or min.) the
Membership values on the premise part to get firing strength (weight) of each rule.
3. Generate the qualified consequent (either fuzzy or crisp) of each rule depending on the
Firing strength.
4. Aggregate the qualified consequents to produce a crisp output. (This step is called
Defuzzification)
Several types of fuzzy reasoning have been proposed in the literature. Depending on the types of
fuzzy reasoning and fuzzy if-then rules employed, most fuzzy inference systems can be classified
into three types (Figure 1.16) [45]:
Type 1: The overall output is the weighted average of each rules crisp output induced by the
rules firing strength (the product or minimum of the degrees of the match with the premise part)
and output membership functions. The output membership functions used in this scheme must be
monotonically non-decreasing.

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].

1.18 Adaptive Network Learning Algorithms

Figure 1.17 An Adaptive Network


This section introduces the architecture and learning the procedure of the adaptive network which
is, in fact, a superset of all kinds of feed-forward neural networks with supervised learning
24

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

convergent constrained nonlinear optimization algorithm which uses a modified Newton-Raphson


technique for solving a system nonlinear equations.

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

Forward and Inverse kinematics of six


arm robot manipulator with the help of
robotic toolbox
Artificial Neural Network approach for
six arm robot manipulator

ANFIS architecture used for six arm


robot manipulator
Figure 3.1 Research Methodology
3.3.1 Forward and inverse kinematics of six arm manipulator (HARPREET) with the help
robotics toolbox in matlab:In robotics toolbox we can find forward kinematics, inverse kinematics, trajectory, inertia forces
calculation on any robot etc.
For forward and inverse kinematics of HARPREET robot in matlab command window take
following steps:1. In the first step open command window of matlab and after giving the path of robotics
toolbox write startup_rvc and enter as shown in Figure 3.2.

35

Figure 3.2 Command window of matlab


2. After that open the robotics toolbox then opens new script and make program according to
the instructions.
3. Clear the workspace and define D-H parameter of each link of HARPREET robot as
shown in Table 3.1.
TABLE 3.1 D-H parameters of HARPREET
Link i
Link 1
Link 2
Link 3
Link 4
Link 5
Link 6

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).

Figure 3.3 (a) 3D view HARPREET

Figure 3.3 (b) 3D view HARPREET

Figure 3.3 I 3D view HARPREET

Figure 3.3 (d) 3D view HARPREET

37

Figure 3.3 I 3D view HARPREET

Figure 3.3 (g) 3D view HARPREET

Figure 3.3 (f) 3D view HARPREET

Figure 3.3 (h) 3D view HARPREET

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

TABLE 3.2 Ten sample Joint angle HARPREET by FK and JK


Joint
angle
1
2
3
4
5
6

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

TABLE 3.3 Ten position vectors corresponding to 10 joint angles


Positio
n
vector
Nx
Ny
Nz
Ox

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

Figure 3.4 ANN matlab command window


Step 2 In next step click on Fitting Tool.

Figure 3.5 Neural Network Start Window

41

Step 3 In Neural Network Fitting Tool window click on Next.

Figure 3.6 Neural Network Fitting tool window


Step 4 After that next import input and output data on artificial neural network window.

Figure 3.7 Training data import window

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.

Figure 3.8 Validation and test data window


Step 6 Click on Next and fill a number of neurons according to your requirement. The value of
neurons depends on the error between neural network data and data from robotics toolbox.

43

Figure 3.9 Network architecture window


Step 7 After that click on Next train network at 100 iterations, the generally number of iterations
can be changed according to your error percentage.

Figure 3.10 Training network window


Step 8 It is the last step of training of neural network. In this step save the result like net_imran
and generate the advanced script. At last, click on finish.
44

Figure 3.11 ANN result window


Step 9 Open the advance script and find different outputs at different iterations, neuron, and error.
You can check your result by writing output = net(validation).
Step 10 In this step compare output data (position vector) from the neural network and initial
position vector from robotics toolbox and find error between them by norm command in matlab.
3.3.3 ANFIS Architecture used for 6-DOF (HARPREET) robot manipulator
The position vectors and the corresponding joint angles obtained from forward and the inverse
kinematics of Robot HARPREET with the help of robotics toolbox in matlab are used as training
data to train ANFIS network with the triangular membership function with a hybrid learning
algorithm. For solving the inverse kinematics equation of 6-DOF Redundant manipulator, in this
work, considers the ANFIS structure with first order Sugeno model containing 343 rules. For the
Neuro-fuzzy model used in this work, 120 data points obtained from robotics toolbox, of which
110 are used for training and the remaining 10 are used for testing (or validating). For training the
network we have to train the six different networks for six different joint angles.
The 10 data points obtained from the robotics toolbox used for validation are given below45

TABLE 3.4 Angle of rotation of joints angle from robotics toolbox


Joint
angle
1
2
3
4
5
6

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

Step3- Type a command anfisedit in matlab shown below:

Figure 3.12 Matlab window

48

Figure 3.13 Loading data in matlab window


Step 4- Load the data by clicking to the workspace.

Figure 3.14(a) Generating FIS system


Step 5- After loading the data generate the FIS fuzzy inference system by choosing sub clustering and
49

clicking the generate FIS as shown in above window.

Figure 3.14(b) Generating FIS system


Step 6- In next step adjust the method of approach having a hybrid, error tolerance of 1e10^-7
and epochs of 300 and train now.

Figure 3.15 Graph between Epochs and error


50

Step 7- Plot the result against different forms of data as training data, testing data and checking
data.

Figure 3.16 Graph between Training data and FIS output


Step 8- Load the data of testing by clicking the testing option.

Figure 3.17 Graph between training and FIS


51

Step 9- Plot the result against testing data.

Figure 3.18 Graph of testing data


Step 10- Now same as plot the results after loading the checking data in the network.

Figure 3.19 Graph of Training testing and checking data


52

Step 11- make a rule for joint angle 1 and create a rule which in rule viewer window in ANFIS.

Figure 3.20 Rule viewer for joint angle 1

Step 12- in next step check ANFIS model structure and create a surface at different joint angles.

53

Figure 3.21 ANFIS structure model for joint angle

Figure 3.22 (a)

Figure 3.22 (b)

Comparison between outputs of surface

Step 13- similar steps will be taken for joint angles 2, 3,4,5,6 and take output joint angles.
54

TABLE 3.7 Joint angle


Joint
angl
e
1
2

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.

4.1 Results obtained from robotics toolbox


The input joint angles given to robotics toolbox are shown in the following Table 4.1.
TABLE 4.1 Ten joint angles from robotics toolbox
Joint

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

The corresponding position vector (HARPREET) is shown in Table 4.2 as follows:


TABLE 4.2 Ten position vectors from robotics toolbox
Positio
n
vector
Nx
Ny
Nz
Ox

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

4.2 Result obtained from artificial neural networks


The output from the robotics toolbox is used as input in the neural network, and from that, we get
various graph and data at a different number of neurons and hidden layers or epochs. The
Selection of output (joint angle) data is fully dependent upon to minimization of the error.
The neural network training done at 18 neurons is as given below:
Date 29-May-2015 12:33:09
Performance:-2.9127
Train Performance:-0.0108
57

Val Performance: - 1.2069

Step 1-Neural network Iteration window with 150 iteration

58

Figure 4.1 Neural Network iteration window


Step 2- Function Fitting Neural network view with 27 hidden layers
59

Figure 4.2 Function fitting neural network


Step 3-Neural network Training Best Validation Performance at 150 epoch

Figure 4.3 Mean square error vs 150 epochs graph


Step 4- Output Vs Target Graph.It shows Straight line that means result is perfect
60

Figure 4.4 Output vs. target graph


Step 5-Neural network training state graph at 150 epochs
61

Figure 4.5 Neural network training state graph


Step 6- Neural network Training error Histogram with 20 Bins

Figure 4.6 Error Histogram


62

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

5.2 FUTURE SCOPE


In this work, a hybrid Neuro-fuzzy technology is used for the study of the inverse kinematics of
redundant robot manipulator. ANFIS is adopted for solving the IK of higher DOF robot
manipulator. Due to its compactness and adaptive nature, this technology is highly efficient in
predicting the IK of higher DOF robot manipulator. So this technology can use in different robots
in different fields to know the joint angles, orientations, and the robot working space to avoid
obstacles.
The robotics industry has reached one plateau with the successful introduction of robots into
automotive manufacturing for spot welding and painting, are two areas where robotic usage is
almost universal. There are several other areas where the usage of robotics is in its infancy and
this chapter is dedicated to brief descriptions of some of these fields along with a quick
assessment of their current status.
A 20 meters long and 6-DOF remote robot manipulator is commonly used in space for repairing
satellites and other coordinated activities on the self-propelled platform. So ANFIS can be used to
this robot for its free positioning and to determine its path. Apart from this, the Neuro-fuzzy
technique can be used in various fields to determine the positions and orientations. It can also be
used for:

Underwater manipulator

Nuclear, toxic waste disposal and mining robot

Firefighting, construction, and agricultural robot

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

You might also like