adomian decomposition method (adm) for the inverse
TRANSCRIPT
The Pennsylvania State Harrisburg
The Graduate School
College of Engineering
ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE
KINEMATICS SOLUTION OF A SELECTED CLASS OF SERIAL, INDUSTRY-
BASED MANIPULATORS
A Thesis in
Electrical Engineering
by
Qi Sun
Β©2017 Qi Sun
Submitted in Partial Fulfillment
of the Requirements
for the Degree of
Master of Science
August 2017
ii
The thesis of Qi Sun was reviewed and approved by the following:
Scott Van Tonningen
Professor of Electrical Engineering, Science, Engineering, and Technology
Thesis Advisor
Javad Khazaei
Assistant Professor of Electrical Engineering, Science, Engineering, and Technology
Amit Banerjee
Associate Professor of Mechanical Engineering, Science, Engineering, and Technology
Mohammad Tofighi
Associate Professor of Electrical Engineering, Science, Engineering and Technology
Head of Graduate Program
*Signatures are on file in the Graduate School.
iii
ABSTRACT
Robot kinematic is the study of the movement of a multi-degree of freedom kinematic
chain that forms the structure of a robotic system. A fundamental tool is the set of kinematic
equations that form the robot system. This project proposes an efficient algorithm for
finding the solution(s) for the inverse kinematic equations using the Denavit-Hartenberg
convention (DH parameters). To find the solutions for the inverse kinematic, two
mathematical methods will be demonstrated, Newton-Raphson Method and Adomian
Decomposition Method (ADM). The latter will be a new application to 3DOF systems in
this selected class, whereas Newton-Raphson will be used for comparison purposes. One
of the advantages of the Newton-Raphson method is that it converges very fast and it is
one of many methods in use for inverse kinematics applications. However, the ADM has
its own advantages for implementation as a solver. For example, one of the advantages of
the ADM is that the Adomian polynomial coefficients can be pre-built into the MATLAB
to provide for more efficient calculations. When comparing two mathematical methods,
performance is a very important factor, and we need to employ a method that runs quickly
and uses the available computing resources efficiently. Each algorithm is evaluated by
measuring its computational effort in terms of simulation time.
iv
ACKNOWLEDGEMENT
First, I want to thank my thesis advisor, Professor Scott Van Tonningen. We have been
working on this project for more than a year; it is impossible to complete this thesis without
his guidance and support. Professor Scott Van Tonningen has spent a large amount of his
time with my writings and helped me to develop a better thesis. From the day, I met
Professor Scott Van Tonningen and became a graduate student in Pennsylvania State
Harrisburg, he always encouraged and helped me to overcome difficulties and hardship.
He has been an inspiration throughout my entire program study. Whenever I faced writing
difficulties, technical problems or any other software problems, the door of his office was
always open for me. Again, from the bottom of my heart, I thank him for his enormous
support, patience, kindness and continuous encouragement.
Second, I would like to thank the committee members who were involved in this research
project, Professor Ma'Moun A. Abu-Ayyad, professor Amit Banerjee and Professor Javad
Khazaei. Thank you for reading my thesis and valuable feedbacks and comments. Without
their participation and supports, this thesis could not be completed.
Finally, I must express my profound gratitude to my parents and family for supporting me
financially and mentally throughout my entire graduate study in the United States. It would
not have been possible to complete my study without them. Thank you.
v
Table of Contents
Chapter 1: Introduction ................................................................................1
1.1 General Overview .............................................................................................................. 1
1.2 Robot Kinematics ............................................................................................................... 3
1.2.1 Forward Kinematics ................................................................................................... 4
1.2.2 Inverse Kinematics ..................................................................................................... 5
1.3 Devanit-Hartenberg Convention ...................................................................................... 6
1.3.1 Denavit-Hartenberg Notation for Common Robots ............................................... 8
1.4 RoKiSim: Robot Manipulator simulator ......................................................................... 9
1.5 Adomian Decomposition Method (ADM) .................................................................... 10
1.5.1 Numerical Example Using the ADM ...................................................................... 11
1.6 Newton-Raphson Method ............................................................................................... 13
1.6.1 Numerical Example Using the Newton-Raphson Method .................................. 14
Chapter 2: Literature Review .................................................................... 16
2.1 General Overview ............................................................................................................ 16
2.2 Problem Formulation ....................................................................................................... 17
2.3 Numerical Method for Nonlinear Kinematics Equations............................................ 18
2.3.1 Jacobian Determination ........................................................................................... 17
2.3.2 Inverse of the Jacobian ............................................................................................ 18
2.3.3 Step Size Control ..................................................................................................... 19
vi
Chapter 3: Methodology ............................................................................ 21
3.1 Determination of the Base Joint Angle ......................................................................... 21
3.2 Inverse Kinematics Equations of a 2DOF Robot Manipulator .................................. 22
3.3 ADM Solution ................................................................................................................. 24
3.3.1 Numerical Example Using Staubli TX200 Robot Manipulator ........................ 25
Chapter 4: Convergence of the ADM ...................................................... 31
4.1 General Overview ............................................................................................................ 31
4.2 A Faster Algorithm for Generating Adomian Polynomials ....................................... 31
4.3 Efficiency of ADM ......................................................................................................... 32
4.3.1 Numerical Example ................................................................................................. 33
4.4 Results and Analysis ........................................................................................................ 35
4.4.1 Advantages of ADM and Newton-Raphson Method .......................................... 39
4.4.2 Disadvantages of ADM and Newton-Raphson Method ..................................... 39
Chapter 5: Conclusion ............................................................................... 41
Chapter 6: Future Development ............................................................... 43
Appendix A: Example 3.3.1 (Newton-Raphson Method) ........................ 44
Appendix B: ADM of Example 3.3.1 (Pre-built function) ...................... 45
Appendix C: Example 3.3.1 (ADM) ......................................................... 46
Bibliography ............................................................................................... 49
1
Chapter 1: Introduction
1.1 General Overview
Adomian Decomposition Method (ADM) is an efficient and convenient method for solving
nonlinear mathematical equations. In this project, Adomian Decomposition Method (ADM)
will be applied for finding the solutions of the inverse kinematics of 3 degrees of freedom
(3DOF) for a selected class of serial industry-based manipulators. My objective is to
provide a comparative analysis between the use of ADM and Newton-Raphson Method in
terms of computational effort. Compared with Newton-Raphson Method, ADM has its own
advantages for implementation as a solver. For example, one of the advantages is that the
Adomian Polynomial coefficients can be pre-built into the MATLAB to provide more
efficient calculations.
An industry-based robot manipulator is composed of arm and body. The arm and body of
a robot manipulator are responsible for the movement and orientation of the final target.
The industry-based robot manipulator is used widely in applications, such as welding,
painting, implementing, testing, assembling, product inspection and so on. Today,
industry-based robot manipulator plays a very important role in manufacturing and other
fields of engineering. Industry-based robot manipulator is reliable and efficient. Due to its
precision, it can work more efficiently than humans without making mistakes. For example,
drilling a hole at the exact same place, tightening a screw with the same amount of force,
assembling the product with the same procedures and so on. A typical industry-based robot
manipulator has six degrees of freedom (6DOF). The first three joints are responsible for
2
the position of the end-effector frame with respect to the universal coordinate frame. The
last three joints control the orientation of the end-effector frame and they are responsible
for the end-effectorβs orientation.
In the late 1980s, Adomian Decomposition Method (ADM) was introduced by George
Adomian. It is a powerful and efficient method for solving nonlinear equations. In this
project, ADM is used to find the solutions of the inverse kinematics of a selected class of
serial, industry-based manipulators.
This thesis consists of four chapters. Chapter 1 is the background and introduction. It
covers all the methods and theories that are leveraged in this project. It contains six sections.
Section 1.2 introduces the definition of the robot kinematics. In section 1.3, the Denavit-
Hartenberg convention and its notation for common robots are studied. The RoKiSim
software is introduced in Section 1.4. The RoKiSim software is used for validating the final
target position coordinates. Section 1.5 and section 1.6 give a brief review of the two
mathematical methods for solving the inverse kinematics equations, ADM and Newton-
Raphson Method.
Chapter 2 is literature survey. In this chapter, a literature review is provided, which gives
a critical summary of published research literature relevant to this project. It consists of
four sections. A general overview is provided in Section 2.1. The problem formulation is
studied in section 2.2. Following section 2.2, the numerical methods for nonlinear
3
kinematics equations and the solution to the inverse kinematics are introduced in sections
2.3 and 2.4.
Chapter 3 is devoted to the numerical implementation of ADM for selected class of robot
manipulators. It consists of three sections. In section 3.1, the base joint angle π1 is studied.
After the determination of base angle, the inverse kinematics equations and the
implementation of ADM are studied in sections 3.2 and 3.3.
Chapter 4 extends the convergence analysis of ADM and numerical approximations to a
selected class of robot manipulators. It contains four sections. The general overview is
provided in Section 4.1. A faster Algorithm for generating Adomian Polynomials is studied
to provide more efficient calculation in section 4.2. In section 4.3, the efficiency of ADM
is shown along with a numerical example. Section 4.4 is the result and analysis of the
experiment.
Chapters 5 and 6 summarize this thesis and give a brief overview what are the advantages
and disadvantages of the ADM. Future investigations on several topics are necessary after
the completion of this thesis.
1.2 Robot Kinematics
Robot kinematic is the study of movement and orientation of an end-effector to achieve a
desired final target (π₯, π¦, π§). For robot positioning, there are two mathematical forms of
robot kinematics, forward and inverse kinematics. Figure 1 shows the schematics
4
representation of forward kinematics and inverse kinematics [1]. In this section, more
details for both forms of robot kinematics are provided.
Fig.1: Schematics representation of forward kinematics and inverse kinematics [1]
1.2.1 Forward Kinematics
In details, forward kinematics is widely used in robotics, animation and other fields. It uses
the modeling equations of a robot to compute the position and orientation of the end-
effector based on the values of the joint variables. In forward kinematics, the length of each
link and the linear or angular displacement of each joint are given and the exact coordinates
(π₯, π¦, π§) of the end-effector can be found, as shown in Fig.2(a) [2]. The predicted position
and orientation of the end-effector is obtained using a rigid transformation [Z]. The
kinematics equations are established by multiplying matrices and vectors together in the
correct order given the length of each link and the linear or angular displacement of each
joint.
[π] = [π1][π1][π2][π2]β¦ [ππ β 1][ππ] (1)
In equation (1), [π] transformation gives the position and orientation of the end-effector.
These equations are called the forward kinematics equations of the serial chain robot
5
manipulator. Degrees of freedom (DOF), in the context of robotics, are specific, defined
modes in which a mechanical device or system can move. The number of degrees of
freedom is equal to the total number of independent displacements or aspects of motion.
1.2.2 Inverse Kinematics
On the other end, inverse kinematics reverses the calculation of the forward kinematics to
determine the joint variables given the target position and orientation of the end-effector
[2] [3]. In the inverse kinematics, given the length of each link and the desired target
position and orientation of the end-effector, the linear or angular displacement of each joint
can be found as shown in Fig. 2(b) [2]. Forward kinematics usually has one solution.
However, inverse kinematics may have multiple solutions or no solution.
Fig.2: Manipulation process through a) forward kinematics b) inverse kinematics [2]
6
1.3 Denavit-Hartenberg Convention
Back to 1955, the Denavit-Hartenberg convention was introduced by Jacques Denavit and
Richard Hartenberg. It is an easy and efficient way to describe a serial chain robot
manipulator in the spatial space using the DH convention [4], [5]. The DH convention
requires four parameters (DH parameters). The following four transformation parameters
are known as DH parameters:
β’ π½π is the angle about the ππβ1 axis, using the right-hand rule for positive angles, to
make the ππβ1 axis parallel to the ππ axis (π is a positive integer starting at 1)
β’ π π is the distance along ππβ1 axis to make ππβ1 and ππ collinear.
β’ ππ is the distance between the ππβ1 axis and the ππ axis. It is the radius of revolution
of the ππ‘β coordinate system about ππβ1.
β’ πΆπ is the angle about the ππ axis that aligns the ππβ1 axis with the ππ (right-hand
rule for position angle)
As you can see above, among the parameters, two of them are the angles, and the other two
are distances. To better understand the parameters, a representative Denavit-Hartenberg
diagram is shown in Fig. 3 [4]. The top diagram shows two successive robot manipulator
joints from the side. The bottom diagram shows the same two joints from above (with zn-
1 out of the page).
7
Fig.3: Representative Denavit-Hartenberg diagram [5]
According to this convention, the coordinate system of each link is established separately
based on the previous and the next coordinate system [4]. The DH convention standardizes
the procedure to write the kinematics equations of a robot manipulator. This is especially
useful for serial robot manipulators.
8
1.3.1 Denavit-Hartenberg Notation for Common Robots
This section discusses some common robot configurations and the physical meaning of
their various Denavit-Hartenberg parameters. In robot kinematics, it is common to partition
the joints into two sets [5]:
π6 = ππ(π1 β¦π3)ππ(π4 β¦π6) (2)
The function of the first three joints ππ gives the position of the end-effector frame with
respect to the universal coordinate frame.
The function of the last three joints ππ gives the orientation of the end-effector with respect
to the universal coordinate frame. In this project, only the first three joints will be
considered. Many robots are assembled horizontally to one side of the base x-axis, as
shown in Fig.4 [5]:
Fig.4: Simple anthropomorphic robot with a shoulder offset [5]
9
This robot has two significant offsets, the horizontal and vertical offset denoted π1, π2+π3
respectively. The 3DOF general class serial robot manipulator of Denavit-Hartenberg
parameters table is shown in Table 1. This table is a partition of a larger 6DOF table [4].
Table1: Denavit-Hartenberg parameters table [4]
Many industry-based robot manipulators fit this class shown in Table 1. The difference
between each industrial robot is that each has different ππ and ππ values. In this project, a
selected class of robots will be examined. These industry-based robots have been defined
using Table 1. Among the commonly used industrial robots in this class are the
Staubli_TX200, Staubli_TX40, ABB_IRB 120 and KUKA_KR_6_R900 [26].
1.4 RoKiSim: Robot Manipulator Simulator
As part of the design, in this project, the RoKiSim software which is the robot manipulator
simulator is used for validating the final target position coordinates (π₯, π¦, π§). RoKiSim is a
3D simulator of serial robot manipulator developed by the Control and Robotics Lab in
Canada [6]. This software can give pose of the end-effector given all kinds of different
joint variables. It is very convenient to visualize all possible robot configurations and verify
π ππ ππ ππ πΌπ
1 π1 π1 π1 βπ
2
2 π2 π2 π1 0
3 π3 π3 π2 βπ
2
10
the solutions of the inverse kinematics equations. A simple example of Staubli_TX200
robot manipulator in RoKiSim is shown in Fig. 5 [6]:
Fig.5: User interface of Staubli TX_200 in RoKiSim 1.7 [6]
In this project, RoKiSim will be used to verify the accuracy of the inverse kinematics
calculations in positioning the hand using the first 3DOF.
1.5 Adomian Decomposition Method (ADM)
Adomian Decomposition Method (ADM) is a powerful and efficient numerical method for
solving linear and nonlinear mathematical equations. This method requires a special term
called Adomian Polynomial, which allows for a series model of the nonlinear portion of
the equation without linearizing the system. The solution is obtained by the summation of
the n Adomian Polynomials and the constant value of the equation. Similarly, the solution
11
is also an approximation. ADM solves functional equations of the form shown in (3), where
π is the linear term and π(π’) is the nonlinear term [7].
π’ = π + π(π’) (3)
The solution π’ has the form shown in equation (4):
π’ = β π’π
β
π=0
(4)
π(π’) is the series summation shown in (4) where π΄π are the Adomian Polynomials:
π(π’) = β π΄π(π’0, π’1, π’2 β¦ , π’π)
β
π=0
(5)
Adomian Polynomials to linearize the nonlinear term can be obtained systematically using
(6):
π΄π(π’0, π’1, π’2 β¦ , π’π) =
1
π!
ππ
πππ[π (βπ’ππ
π
β
π=0
)]βπ = 0 (6)
The solution for equation (3) can be written as follows:
β π’π
β
π=0
= π + β π΄π(π’0, π’1, π’2 β¦ , π’π)
β
π=0
= π + β1
π!
ππ
πππ[π (βπ’ππ
π
β
π=0
)]βπ = 0
β
π=0
(7)
12
The best way to think of the ADM is as a Taylor Series developed around a function rather
than simply around a point. In the following section, we apply the ADM to a simple
nonlinear equation.
1.5.1 Numerical Example:
A numerical example is shown in (8):
π¦ = 1.3069 + ln (π¦) (8)
In this case, π(y) = ln (y). We use as an initial value π¦0 = 1.3069. Using equation (7),
the solution and the Adomian Polynomials have the relations as follows:
π¦1 = π΄0; π¦2 = π΄1;π¦3 = π΄2; π¦4 = π΄3; β¦ (9)
Now ADM is used to calculate the Adomian Polynomials using equation (6):
π΄0 = π(π¦0) = ln(π¦0) = ln(1.3069) β 0.2677
π΄1 =π
ππ[π (βπ’ππ
π
1
π=0
)] |π = 0 =π
ππ[ln (π¦0 + ππ¦1)] β 0.20407 β¦
π΄2 = 1
π!
π2
ππ2[π (βπ’ππ
π
2
π=0
)] |π = 0 =1
2
π2
ππ2[ln(π¦0 + ππ¦1 + π2π¦2)] β 0.136β¦
π΄3 = 1
π!
π3
ππ3[π (βπ’ππ
π
3
π=0
)] |π = 0 =1
6
π3
ππ3[ln(π¦0 + ππ¦1 + π2π¦2 + π3π¦3)] β 0.0746 β¦
.
.
. (10)
13
So, the solution is
π¦ = β π¦π
β
π=0
= π¦0 + π΄0 + π΄1 + π΄2 + π΄3 + β― = 1.98927 β 2 (11)
As seen in equation (11), the solution approaches the exact value of 2 after calculating four
Adomian polynomials. As we can see from the example (8), the ADM is an efficient and
reliable method for solving nonlinear mathematical equations.
1.6 Newton-Raphson Method
Just like other good research, Newton-Raphson Method is also introduced for reference
purposes. This method is used as a basis of comparison for the study of ADM. Newton-
Raphson Method is another numerical method for solving linear and nonlinear
mathematical equations. This method is derived from the Taylor series expansion of a
function near a point [8]. If the function satisfies the assumptions made in the derivation
of the formula, and the initial estimation is close, then a better approximation π₯1is shown
in (12):
π₯1 = π₯0 β
π(π₯0)
πβ²(π₯0) (12)
The process is repeated as shown in (13).
π₯π+1 = π₯π β
π(π₯π)
πβ²(π₯π) (13)
14
Iteration of (13) continues until a sufficiently accurate value is reached. In this project, the
system is a multi-variate system. Instead of a single function, a vector π, which is a multi-
dimensional vector is required:
π = [π₯1, π₯2, π₯3 β¦π₯π] (14)
To solve a vector, the Jacobian matrix is necessary. Now the solution becomes:
π = π β π½πβ1(π)π(π) (15)
In equation (15), the inverse Jacobian matrix is shown:
π½πβ1 =
[ ππ1ππ₯1
β¦ππ1ππ₯πβ¦ β¦ β¦
πππππ₯1
β¦πππππ₯π]
(16)
The same example (8) is shown by applying Newton-Raphson Method.
1.6.1 Numerical Example:
The same example (8) is shown by applying Newton-Raphson Method.
π¦ = 1.3069 + ln (π¦)
First, the equation (8) is rewritten as π(π¦) = 0. The equation (8) becomes:
π¦ β ln(π¦) β 1.3069 = 0 (17)
Let the initial value be π¦0 = 1.3069 and πβ²(π¦) = 1 β1
π¦.
Now a better approximation π¦1 can be obtained using Newton-Raphson Method (12), (13):
15
π¦1 = π¦0 βπ(π¦0)
πβ²(π¦0)= 1.3069 β
1.3069 β ln(1.3069) β 1.3069
1 β1
1.3069
β 2.4467
π¦2 = π¦1 βπ(π¦1)
πβ²(π¦1)= 2.4467 β
2.4467 β ln(2.4467) β 1.3069
1 β1
2.4467
β 2.0322
π¦3 = π¦2 βπ(π¦2)
πβ²(π¦2)= 2.0322 β
2.0322 β ln(2.0322) β 1.3069
1 β1
2.0322
β 2.00034
.
.
. (18)
Eventually, the solution converges to approximately 2 after three iterations.
16
Chapter 2: Literature Review
2.1 General Overview
Controlling the movement of the end-effector is a basic requirement in the robotic industry.
Itβs easy and convenient to solve a forward kinematic problem of a robot manipulator.
Because given the length of each link and angle of each joint, there is always a unique
solution for the forward kinematic equation. However, on the other hand, the inverse
kinematic problem is very complicated, it is one of the most challenging studies of a robot
manipulator due to its complexity. The most common approach for solving the inverse
kinematic problem is to find the closed-form solution. However, there are no closed-form
solution for some types of the robot manipulator [9].
The general approach to solve an inverse kinematic problem is to use a numerical method
to solve a system of nonlinear equations [10]. Alternatively, the inverse kinematic problem
can be solved in the way that some joints are solved in a closed-form and the other joint
variables are solved iteratively [10].
The most common numerical method to solve the inverse kinematics problem of a robot
manipulator is the Newton-Raphson method based on simultaneous successive linear
interpolation of nonlinear equation [9], [10]. Please see section 1.6 for more details. The
initial condition for solving the nonlinear equations is necessary for the Newton-Raphson
Method. Due to a bad initial assumption in the Newton-Raphson Method, it is necessary to
have a proper step size control to avoid divergence [10].
17
2.2 Problem Formulation
The Denavit-Hartenberg diagram of a simple robot manipulator is shown in Fig.3 in page
7. The Denavit-Hartenberg convention is a new coordinate system for spatial linkages. This
is a simplified way to describe a serial robotic arm of a manipulator. The kinematics
equations can be derived based on the DH convention using the DH joint-to-joint transition
matrix as follows [11]:
ππ = β
πππ Ζπ βπ ππΖππππ πΌπ π ππΖππ πππΌπ πππππ Ζπ
π ππΖπ πππ Ζππππ πΌπ βπππ Ζππ πππΌπ πππ ππΖπ
0 π πππΌπ πππ πΌπ ππ
0 0 0 1
β , π = 1,2β¦ (19)
The DH parameters are available in section 1.3. The matrix product of ππ presents the
position and orientation of the end effector [9]:
πΉπ(π) = βππ(π)
π
π=1
= (π
0
π
0
π
0
π
1)
(20)
In equation (20), vector π, π, π are responsible for the orientation of the end-effector, and
vector π is responsible for the position of the end-effector, and π is the end-effector space
vector with joint variables ππ [12] [13]. The inverse kinematics problem is to a solution to
equation (20) for given end-effector target transformation πΉππ‘ [14].
18
2.3 Numerical Method for Nonlinear Kinematics Equations
2.3.1 Jacobian Determination
The most common technique to solve the nonlinear equations numerically is to linearize
the nonlinear term and then the nonlinear equations are solved iteratively [15], [16]. This
system of nonlinear equations is solved iteratively as follows [9].
π(π+1) = π(π) + πΏ(π)
(21)
The πΏ(π) in equation (21) is used to solve the linear system [9]:
ππ(π
(π)) + βπ½ππ(π)
πΏ(π) = 0, π = 1, 6
π
π=1
(22)
The π½ππ(π)
in equation (22) is defined as follows [9]:
π½ππ(π)
= [πππ
πππ]π=π(π) , π = 1, π; π = 1, 6
(23)
Next, inverting the Jacobian matrix π½ππ(π)
is necessary to solve equation (22).
2.3.2 Inverse of Jacobian
When the robot manipulator has less than 6DOF, the Jacobian matrix is calculated shown
in (24) [9]:
πΊ = [π½]+ = ([π½]π[π½])β1[π½]π
(24)
The Jacobian matrix has the relations as follows [9]:
19
π½π½+π½ = π½
π½+π½π½+ = π½+
(π½+π½)π = π½+π½
(π½π½+)π = π½π½+
(25)
When the robot manipulator has 6 DOF, the Jacobian matrix can be inverted if it is
nonsingular. Then the Jacobian matrix becomes [9]:
π½+ = π½β (26)
When the robot manipulator has more than 6DOF, the Jacobian matrix can be obtained
using pseudoinverses matrix [19], [20], [21]. In [22], a new method is proposed for faster
computation of the inverse Jacobian matrix. The calculation of the pseudo inverse of the
Jacobian is shown in [23].
2.3.3 Step Size Control
The Newton-Raphson Method requires an initial assumption. The starting value must be
sufficiently close to the solution to get an accurate solution [17] [18]. There are lots of
modifications of the Newtonβs method have been researched to find the reliable solutions
even with a bad initial assumption [24]. In [24], the equation (20) is replaced by the
equation (27):
π(π+1) = π(π) + π(π)πΏ(π)
(27)
In equation (27), π(π) is a position number to satisfy the following [9]:
20
πΊ(π(π+1)) < πΊ(π(π)) (28)
The πΊ(π) has the formula as follows [9]:
πΊ(π) = β[ππ(π)]2
6
π=1
(29)
The step size control is used to avoid divergence due to a bad initial assumption. If a bad
initial assumption is given, the step size control procedure (27) is triggered to avoid a bad
solution using the Newton-Raphson Method [24].
21
Chapter 3: Methodology
3.1 Determination of the Base Joint Angle π½π
In this thesis, the inverse kinematics solutions for a selected class of series robot
manipulators are examined. The first 3 degrees of freedom (3DOF) inverse kinematics
equations are solved using a combination of closed-form solution and ADM. The base joint
angle π1 is solved analytically (closed-form solution) and the other two joint angles π2 and
π3 are solved using ADM. First, the determination of base angle π1 is presented. Given the
target end effector (π₯, π¦, π§) and the offset value of each joint of the robot manipulator in the
universal coordinate frame, π1 has closed form solution. Here are the steps:
Step1: Using the π₯ and π¦ target values, find π1β² , which is the angle without the offset using:
π1
β² = tanβ1π¦
π₯
(30)
Step2: Using the offset of the robot manipulator, find π1β²β², which is the angle shift due to
the offset using:
2ππ
π=
360Β°
π1β²β²
(31)
So π1β²β² can be solved using (32):
π1
β²β² = 360Β° β π
2ππ
(32)
Step 3: Finally, π1 can be found by adding π1β² and π1
β²β².
22
π1 = π1β² + π1
β²β²
(33)
The algorithm above is applied to solve the base joint angle π1analytically (closed-form
solution) based on the DH parameters of the robot manipulators.
3.2 Inverse Kinematics Equations of 2DOF Robot Manipulators
After finding the closed form solution of base joint π1, subsequent angle π2 and π3 can be
solved using the ADM on a planar plane [25]. Once the base angle is found, the origin of
the manipulator can be transferred to the end of the first link. Then, the remaining joints
and links (2DOF) can be viewed in terms of a vertical plane, as shown in Fig.6 [25]:
Fig.6: Structure of 2DOF robot manipulator in a planar plane [25]
23
In Fig.6, π1 and π2 are the lengths of robot manipulator arms and π2 and π3 are the joint
angles measured from positive horizontal axes. The kinematics equations of this structure
can be easily established based on the simple geometry.
π = π1 β cos(π2) + π2 β cos (π3)
π = π1 β sin(π2) + π2 β sin (π3)
(34)
The inverse kinematics problem of this structure is to find the solution for π2 and π3 given
the desired target coordinate (π₯, π¦), lengths of robot manipulator arms and the offset values.
To apply the Adomian decomposition method (ADM), it is necessary to rewrite the
equation (34). Let π₯ = cos (π2) and π¦ = sin (π3) and the equation (34) can be converted
into the algebraic equations (35):
π β π1x
π2= β1 β π¦2
π β π2y
π1= β1 β π₯2
(35)
After squaring the equation (35) and some simple calculations, the equation (35) can be
reformed into:
π₯ = π2 β π2
2
2π1π+
π12π
π₯2 +π22
2ππ1π¦2
π¦ = π2 β π1
2
2π2π+
π12
2ππ2π₯2 +
π22π
π¦2
(36)
24
3.3 ADM Solution
In this section, the system of nonlinear equations is solved using ADM. To solve the system
of nonlinear equation (36) using ADM, according to equation (7), the Adomian
Polynomials and the solution have the relations as follows:
π₯ = β π₯πβπ=0 , π¦ = β π¦π
βπ=0 , π₯2 = β π΄π
βπ=0 π¦2 = β π΅π
βπ=0 (37)
The equation (36) can be rewritten in the form:
βπ₯π
β
π=0
= π2 β π2
2
2π1π+
π12π
βπ΄π
β
π=0
+π22
2ππ1βπ΅π
β
π=0
βπ¦π
β
π=0
= π2 β π1
2
2π2π+
π12
2ππ2β π΄π
β
π=0
+π22π
βπ΅π
β
π=0
(38)
π΄π and π΅π are the Adomian Polynomials, which can be solved using (6). According to the
equation (7), the initial values and the Adomian Polynomials have the relation as follows:
π₯0 = π2 β π2
2
2π1π
π¦0 = π2 β π1
2
2π2π
π₯π+1 = π΄π + π΅π
π¦π+1 = π΄π + π΅π
(39)
The solutions of the inverse kinematics problem of 2DOF robot manipulator are:
25
βπ₯π
β
π=0
= π₯0 + π12π
βπ΄π
β
π=0
+π22
2ππ1βπ΅π
β
π=0
βπ¦π
β
π=0
= π¦0 + π12
2ππ2β π΄π
β
π=0
+π22π
βπ΅π
β
π=0
(40)
This procedure can be repeated to obtain more accurate approximations up to the desired
accuracy.
3.3.1 Numerical Example
In this section, a numerical example is demonstrated to show the convergence of the ADM.
The primary testbed will be the Staubli TX200 heavy payload robot. The Staubli TX200
robot is shown in Fig.7 [26]:
Fig.7: Staubli TX200 robot manipulator [26]
The Denavit-Hartenberg (DH) parameter table for the Staubli TX200 can be derived for
the first three joints. These parameters are shown in Table 2 [26]:
26
Table 2: Staubli TX200 DH parameters table [26]:
The following angles are chosen and ADM is applied to the solve the system of nonlinear
equation (36):
π1 = 30Β°
π2 = 30Β°
π3 = 30Β°
(41)
In RoKiSim 1.7, Staubli TX200 robot manipulator is positioned with (41) in Fig.8 [6]:
Fig.8: Staubli TX200 position with certain joint angles (41) [6]
π ππ ππ ππ πΌπ
1 π1 641 mm 251 mm βπ
2
2 π2 0 949 mm 0
3 π3 -82 mm 1097 mm βπ
2
27
The end-effector coordinates (π₯, π¦, π§) are found in RoKiSim and the desired target
coordinate is shown in Fig.9 [6]:
π₯ = 1491.308 ππ
π¦ = 766.093 ππ
π§ = 2011.612 ππ
(42)
Fig.9: Desired target coordinate with certain joint angles in RoKiSim [6]
First, the base joint angle needs to be determined based on the π₯ and π¦ values of the target
coordinate and the offset shift. π1β² can be determined using equation (30):
28
π1
β² = tanβ1π¦
π₯= tanβ1
766.093
1491.308 = 27.1898Β°
(43)
Second, based on the offset of the robot manipulator, π1β²β² can be solved using equation (31):
π1
β²β² = 360Β° β π
2ππ
(44)
The π value is the distance from the end-effector to origin and π is the offset shift distance,
which is 82 mm for the Staubli TX200 robot. The π value can be found using (45):
π = βπ₯2 + π¦2 = β1491.3082 + 766.0932 = 1675.5733 ππ
(45)
So π1β²β² can be solved:
π1
β²β² = 360Β° β π
2ππ=
360Β° β 82
2π β 1675.5733= 2.804Β°
(46)
Finally, π1 can be found by adding π1β² and π1
β²β²:
π = π1
β² + π1β²β² = 27.1898Β° + 2.8040Β° = 29.9938Β° β 30Β°
(47)
After solving the base joint angle π1, next step is to apply the ADM to inverse kinematics
equations of a 2DOF robot manipulator [27]. The end-effector coordinates M (π, π) can be
obtained easily by the simple geometrical relations shown in (48):
π = βπ₯2 + π¦2 β π1
π = π§ β π1
(48)
29
For Staubli TX 200 robot manipulator, π1 and π1 values can be found in Table 2. Using the
equation (36), the inverse kinematics equations become:
π₯ = 0.3059 + 0.3332π₯2 + 0.4443π¦2
π¦ = 0.3247 + 0.3001π₯2 + 0.4001π¦2
(49)
Here equation (50) is the Adomian expansion necessary to solve for the π₯ and π¦
coordinates:
βπ₯π
β
π=0
= 0.3059 + 0.3332 β βπ΄π(π₯2)
β
π=0
+ 0.4443 β βπ΅π(π¦2)
β
π=0
βπ¦π
β
π=0
= 0.3247 + 0.3001 β βπ΄π(π₯2)
β
π=0
+ 0.4001 β βπ΅π
β
π=0
(π¦2)
(50)
In (50), we see the successive construction of the components of the π₯ and π¦ values
formulated in (51):
π₯0 = 0.3059 , π¦0 = 0.3247
π₯1 = 0.0780, π¦1 = 0.0703
π₯2 = 0.0362, π¦2 = 0.0326
π₯3 = 0.0210, π¦3 = 0.0189
π₯4 = 0.01367, π¦4 = 0.0123
π₯5 = 0.00952, π¦5 = 0.00857
.
.
.
(51)
30
Sum of the terms gives us the solution:
π₯ = π₯0 + π₯1 + π₯2 + π₯3 + β― = 0.499945252
π¦ = π¦0 + π¦1 + π¦2 + π¦3 + β― = 0.499446034
(52)
The exact solution for this system of nonlinear equations is π₯ = 0.500202 and π¦ =
0.499685. It is clear that the ADM gives a good approximation. The second joint angle
and third joint angle can be obtained and verified using simple trigonometric in degree:
π1 = cosβ1(π₯) = 60.003622Β°
π2 = sinβ1(π¦) = 29.996335Β°
(53)
In Denavit-Hartenberg notation (DH parameters), the actual second joint angle and third
joint angle have the relations:
π2 = 90Β° β π1 = 29.996378Β°
π3 = π1 β π2 = 30.003665Β°
(54)
It is clear that the ADM gives us the correct results.
31
Chapter 4: Convergence of the ADM
4.1 General Overview
In this thesis, ADM is demonstrated for finding the inverse kinematics solutions. ADM
will be measured in terms of computational efficiency as described in the next section.
4.2 A Faster Algorithm for Generating Adomian Polynomials
In Section 1.5, ADM was introduced. While the solution obtained by decomposition is
generally an infinite series, and n-term approximation, with π relatively small. However,
it is very complex and troublesome to compute πth order derivative with large values of π.
To overcome the difficulties of calculating the Adomian Polynomials, a faster algorithm
for generating the Adomian Polynomials was developed [28]. This algorithm is easier and
faster than the original algorithm [7].
The algorithm is shown in the following:
Step 1: Identify the nonlinear term π(π’) and the number of Adomian Polynomials.
Step 2: π΄0 can be obtained using equation: π΄0 = π(π’0)
Step 3: For π = 0 to π β 1
π΄π(π’0, β¦ π’π) = π΄π(π’0 + π’1π, β¦ π’π + (π + 1)π’(π+1)π)
{π΄π: π’π β π’π + (π + 1)π’π+1π πππ π = 0,1, β¦ π}
(55)
Step 4: With respect to π, take the first derivative of π΄π, and then set π to 0:
32
π
πππ΄π|π = 0 = (π + 1)π΄π+1
(56)
Step 5: Output π΄0, π΄1, π΄2, β¦ , π΄π.
Following this Algorithm, the Adomian Polynomials are generated in (56):
π΄0 = π(π’0)
π΄1 = π
πππ(π’0 + π’1π)|π = 0 = π’1π
β²(π’0)
π΄2 =1
2β
π
ππ(π’1 + 2π’2π)πβ²(π’0 + π’1π)|π = 0
= π’2πβ²(π’0) +
π’12
2!πβ²β²(π’0)
π΄3 = 1
3β
π
ππ(π’2 + 3π’3π)πβ²(π’0 + π’1π) +
1
2!(π’1 + 2π’2π)2πβ²β²(π’0 + π’1π)|π = 0
= π’3πβ²(π’0) + π’1π’2π
β²β²(π’0) +π’1
3
3!πβ²β²β²(π’0)
.
.
.
(57)
We can get the other Adomian Polynomials by following this algorithm.
4.3 Efficiency of the ADM
The performance of ADM is measured using the MATLAB software. A program can be
evaluated by measuring its run-time (computation time) using the MATLAB βticβ and βtocβ
elapsed time functions [29]. As mentioned above, Newton-Raphson method converges
very fast and it is one of many methods in use for finding inverse kinematics solutions.
33
However, ADM has its own advantages for implementation as a solver. For example, the
Adomian Polynomial coefficients can be pre-built into the MATLAB to provide more
efficient calculations. All calculations and measuring running time are performed on the
same configuration of the computer.
4.3.1 Numerical Example
As we have discussed, ADM requires a series representation as known as Adomian
Polynomials for the nonlinearities involved in the target equations. The Adomian
Polynomials can be calculated and pre-stored into the MATLAB to provide more efficient
calculations. A numerical example is presented to show the convergence of ADM. The
primary testbed is the Staubli TX200 robot manipulator. The system of nonlinear equations
for this system is shown in equation (46). The nonlinear terms in these equations are π₯2
and π¦2. Using equation (8), the Adomian Polynomials can be obtained and pre-stored into
the MATLAB.
Letβs consider the equations as follows:
βπ₯π
β
π=0
= 0.3059 + 0.3332 β βπ΄π(π₯2)
β
π=0
+ 0.4443 β βπ΅π(π¦2)
β
π=0
βπ¦π
β
π=0
= 0.3247 + 0.3001 β βπ΄π(π₯2)
β
π=0
+ 0.4001 β βπ΅π
β
π=0
(π¦2)
(58)
The initial values are π₯0 = 0.3059 and π¦0 = 0.3247. The first Adomian Polynomials π΄0
and π΅0 are determined as follows:
34
π΄0 = 0.3332 β π₯02 + 0.4443 β π¦0
2
π΅0 = 0.3001 β π₯02 + 0.4001 β π¦0
2
(59)
First, we compute the Adomian Polynomials for nonlinear term π₯2 using equation (8) in
MATLAB:
π΄0 = π₯02
π΄1 = 2π₯0π΄0
π΄2 = π΄02 + 4π΄0π₯0
2
π΄3 = 4π΄02π₯0 +
π₯0(6π΄02 + 24π΄0π₯0
2)
3
.
.
.
(60)
and the first few Adomian Polynomials for the nonlinear term π¦2 are calculated using
equation (8) in MATLAB:
π΅0 = π¦02
π΅1 = 2π¦0π΅0
π΅2 = π΅02 + 4π΅0π¦0
2
π΅3 = 4π΅02π¦0 +
π¦0(6π΅02 + 24π΅0π¦0
2)
3
.
.
.
(61)
35
The Adomian Polynomials are pre-stored into the MATLAB and we obtained the value for
each term by substituting the initial value and first Adomian Polynomials based on different
target positions. For this example, the results are π₯ = 0.49346 , π¦ = 0.49637 and the
computation time is 0.69562 second. As we can see, ADM takes less than one second to
converge to the exact solution π₯ = 0.500202 and π¦ = 0.499685. The procedure can be
repeated to obtain a more accurate solution. ADM is effective and efficient for solving
systems of nonlinear equations with fast computation and good accuracy.
4.4 Results and Analysis
In this section, both methods, ADM, and Newton-Raphson Method are applied to solve the
inverse kinematics equation (45) on Staubli TX200 robot manipulator. Then the results
from two methods are compared including the result error and simulation time. For this
example, on Staubli TX200, π2 and π3 are solved using ADM and Newton method. The
results are shown in Table 3:
Table 3: The ADM and Newton method comparison
ADM Time
(sec) Error (%) Newton
Time
(sec) Error (%)
π2 29.795Β° 0.6734 0.683% 30.013Β° 0.0724 0.043%
π3 29.782Β° 0.6734 0.727% 29.980Β° 0.0724 0.067%
The error comparison between ADM and Newton's method for π2 and π3 are shown in
Figure 11 and 12:
36
Fig.11: Error comparison for π2
Fig.12: Error comparison for π3
The comparison between ADM and Newton's method in terms of iterations for π2 and π3
are shown in Figure 13 and 14:
37
Fig.13: Number of iteration comparison for π2
Fig.14: Number of comparison for π3
As you can see from Table 3, ADM and Newton methods both give us a relatively accurate
solution which is 30Β° for π2 and π3 . However, ADM takes significantly longer than
Newtonβs method even though ADM pre-stored the function into the MATLAB. ADM
38
converges to the solution with around 10 iterations and Newton's method converges to the
solution with around only 4 iterations. As I mentioned in section 1.2, the inverse kinematic
may have multiple solutions. For the same desired target, there are two possible solutions
shown in Figure 15:
Fig.15: Multiple solutions in the inverse kinematic
For the example shown in Table 3, Newtonβs method can generate multiple solutions based
on the initial assumption. The result for this example is shown in Table 4 below:
Table 4: Multiple Solutions in Newtonβs Method
Initial Assumption (0.5, 0.2) (0.8, 0.6)
π½π 30.013Β° 60.039Β°
π½π 29.980Β° -30.029Β°
According to the theory for the determination of the base joint angle in section 3.1 and
ADM for inverse kinematic equations in section 3.3, the model of establishing the 2DOF
39
inverse kinematic equations are easy to be applied for other classed of industry-based robot
manipulators. The only variance is in the two shift parameters, which are used to determine
the base joint angle and target coordinates in the 2DOF planar plane.
4.4.1 Advantages of ADM and Newton-Raphson Method
However, there are some advantages of ADM. The convergence of ADM to an accurate
solution is guaranteed given enough terms. It does not require an initial assumption. On the
other hand, Newton's Method converges very fast to an accurate solution and based on the
different initial assumptions, Newton's Method can provide multiple solutions. The
advantages comparison is shown in Table 5 below:
Table 5: Advantages of ADM and Newtonβs Method
ADM Newtonβs Method
Accurate solution with enough terms Accurate solution with fast convergence
No assumptions required Multiple solutions available
4.4.2 Disadvantages of the ADM and the Newton-Raphson Method
While the disadvantages of ADM are also obvious. In the previous example on Staubli
TX200 robot manipulator, it takes about 10 iterations to get an accurate solution and
Newton's method only takes about 4 iterations. ADM only converges to the closet solution
based on the robot configuration. The Adomian Polynomials become cumbersome and
lengthy with large terms. On the other hand, Newton' method also shows some
disadvantages. Different from ADM, Newton's method requires an initial assumption. The
40
starting value must be sufficiently close to the solution to get an accurate solution. The
disadvantages comparison is shown in Table 6 below:
Table 6: Disadvantages of ADM and Newtonβs Method
ADM Newtonβs Method
Slow convergence
Starting value must be sufficiently close
to the solution
Lose computational ease Possibility of no solution if derivative is 0
One solution
41
Chapter 5: Conclusion
The primary goal of this thesis is to study the feasibility of ADM for solving the inverse
kinematic equations of 3DOF of the industry-based robot manipulators. I focused on
examining the inverse kinematics problem of a 2DOF robot on a plane using the iterative
methods after finding the base joint angle π1. ADM and Newton-Raphson Method are used
to find the solutions for the inverse kinematic equations and the results from both methods
are compared in terms of computation efforts.
ADM was first introduced in the 1980βs by George Adomian and it has been researched
and proven that it was a powerful and efficient numerical method for solving a wide class
of nonlinear problems in the past decades. However, inverse kinematics problem is one of
the most challenging studies of a robot manipulator due to its complexity, which prompted
this current study.
To begin with, the base joint angle π1 is solved analytically (closed-form solution) based
on the DH parameters of different industry-based robot manipulators. A general method
for finding the closed-form solution for the base joint angle π1was introduced in section
3.1. From this study, it is easy and convenient to have the closed-form solution for π1 and
efficiently simplify the 3DOF problem into a planar 2DOF inverse kinematics problem.
Finally, ADM is applied to the inverse kinematics of the robot manipulator in Chapter 4.
Newton-Raphson Method is also implemented for comparison purposes. From the study, I
have learned that ADM eventually produces an accurate solution in many situations for the
42
inverse kinematic problem. However, it also has limitations based on this study. The
Adomian Polynomials expressions are cumbersome and lengthy for a large number of π.
It will sufficiently increase the computation time, which is a major disadvantage of ADM.
Another disadvantage is that ADM occasionally fails to find multiple solutions for a system
of nonlinear equations, especially for inverse kinematic problem of robot manipulators,
because the multiple paths may exist in the inverse kinematic problem.
In general, for certain application, such as assembling line of the production, the robot
manipulator only needs one best solution to complete the mission and ADM is believed to
be an effective and convenient method for finding the best solution without the
linearization and additional assumption, especially for nonlinear problems. However, there
are certain conditions that ADM generates low-quality solutions compared with other
numerical methods, such as Newtonβs Method. When evaluating a highly symbolic
equation as a means of increasing the generality of the problem, the terms in ADM becomes
increasingly large and Newtonβs Method becomes more and more efficient.
43
Chapter 6: Future Development
Several topics are required to have further investigations after the completion of this thesis,
such as a new numerical method for solving the inverse kinematics problem. In the future
development of the inverse kinematics problem, ADM should be applied to a higher degree
of freedom instead of 3DOF in this thesis. Possible areas that may be explored for ADM
technique include improving the convergence of ADM and changing the forms of the
inverse kinematics equations.
In general, ADM technique still has lots of potentials to solve a wide range of applications.
Further investigations are completely necessary to make beneficial use of it.
44
Appendix A: Example 3.3.1 (Newton-Raphson Method)
tic
% solve the nonlinear equations using Newton-Raphson Method;
% x = 0.3059+0.3332*x^2+0.4443*y^2;
% y = 0.3247+0.3001*x^2+0.4001*y^2;
% solution: x = 0.5 degree and y = 0.5.
clear all
close all
% Function f
f=@(thea)...
[0.3332*(thea(1))^2+0.4443*(thea(2))^2+0.3059-thea(1);...
0.3001*(thea(1))^2+0.4001*(thea(2))^2+0.3247-thea(2)];
% Jocobian
J=@(thea)...
[0.6664*thea(1)-1 0.8886*thea(2);...
0.6002*thea(1) 0.8001*thea(2)-1];
%Initial assumption;
thea=[0.5;0.2];
tol = 10e-4;
maximum_iter=100;
45
% Newton-Raphson method for multi-variable methods
iteration = 0;
error = 1;
while (error>tol & iteration<maximum_iter)
theaold=thea;
thea = thea-J(thea)\f(thea);
error = abs(thea-theaold)./abs(thea);
iteration =iteration + 1;
end
display(iteration);
display(thea)
toc
Appendix B: ADM of Example 3.3.1 (Pre-built function)
clear all
close all
syms a x0 y0 b c A_0 B_0 sum1 sum2
sum1(1) = x0;
sum2(1) = y0;
b(1) = A_0;
c(1) = B_0;
46
tic
for i = 2:1:10
sum1(i) = (sum1(i-1)+b(i-1)*a^(i-1));
sum2(i) = (sum2(i-1)+c(i-1)*a^(i-1));
equation1(i) = 0.8766*(sum1(i))^2+1.1689*(sum2(i)^2);
equation2(i) =0.243*(sum1(i))^2+0.32417*(sum2(i)^2);
b(i) = subs(diff(equation1(i),a,i-1),a,0)*(1/factorial(i-1));
c(i) = subs(diff(equation2(i),a,i-1),a,0)*(1/factorial(i-1));
end
toc
Appendix C: Example 3.3.1 (ADM)
%thea1 = 30;
%thea2 = 30;
%thea3 = 30;
clear all
close all
syms a x0 b A_0 B_0 sum1 sum2
x = 1491.308;
y = 766.093;
z = 2011.612;
47
p = sqrt(x^2+y^2)-251.160;
q = z-640.840;
x0 = (p^2-(1096.945)^2)/(2*p*950);
y0 =(q^2-950^2)/(2*q*1096.945);
A_0 = (950/(2*p))*x0^2+(1096.945^2/(2*p*950))*y0^2;
B_0 = (950^2/(2*q*1096.945))*x0^2+(1096.945/(2*q))*y0^2;
tic
sum1(1) = x0;
sum2(1) = y0;
A(1) = A_0;
B(1) = B_0;
for i = 2:1:10
sum1(i) = (sum1(i-1)+A(i-1)*a^(i-1));
sum2(i)= (sum2(i-1)+B(i-1)*a^(i-1));
equation1(i) = (950/(2*p))*(sum1(i))^2+(1096.945^2/(2*p*950))*(sum2(i))^2;
equation2(i) = (950^2/(2*q*1096.945))*(sum1(i))^2+(1096.945/(2*q))*(sum2(i))^2;
b(i) = vpa(subs(diff(equation1(i),a,i-1),a,0)*(1/factorial(i-1)),5);
c(i) = vpa(subs(diff(equation2(i),a,i-1),a,0)*(1/factorial(i-1)),5);
A(i) = b(i);
B(i) = c(i);
end
sum(A)+x0
48
sum(B)+y0
toc
49
Bibliography
[1] Bingul, S. Kucuk and Z. "The inverse kinematics solutions of industry robot
manipulators." Mechatronics, 2004. ICM '04. Proceedings of the IEEE
International Conference on (2004).
[2] Bingul, Serdar Kucuk and Zafer. Industrial Robotics: Theory, Modelling and
Control. Pro Literatur Verlag, Germany/ARS,Austria, 2006. Book.
[3] Wu, J.Y. "A systematic approach to robot inverse kinematics." IEEE International
Conference on (1990).
[4] Corke, Peter I. "A Simple and Systematic Approach to Assigning Denavitβ
Hartenberg Parameters." IEEE Transactions on Robotics (2007): 590 - 594.
[5] Peter I. Corke Denavit-Hartenberg notation for common robots. March 2014.
Web page. April 2017.
[6] Nubiola, Albert. RoKiSim 1.7: Robot Kinematics Simulator. 2015. Web page.
2017.
[7] Adomian, G. "A review of the decomposition method in applied mathematics."
Journal of Mathematical Analysis and Applications (1988): 501-544.
[8] Saba Akram, Qurrat ul Ann. "Newton-Raphson Method." International Journal of
Scientific & Engineering Research (2015).
[9] ANDREW A. GOLDENBERG, B. BENHABIB, ROBERT G. FENTON. "A
Complete Generalized Solution to the Inverse Kinematics of Robots ." IEEE
JOURNAL OF ROBOTICS AND AUTOMATION (1985).
[10] S. Kucuk, Z. Bingul. "The inverse kinematics solutions of industrial robot
manipulators." Mechatronics, 2004. ICM '04. Proceedings of the IEEE
International Conference on (2004).
[11] Richard P. Paul, B. Shiman, G. E. Mayer. "Kinematic control equations for simple
manipulators." IEEE Trans. Syst., Man, Cybern., (1981): 456-460.
[12] Benhabib, A.A Goldenberg and B. "End-effector optimal path generation." IEEE
Trans. Syst., Man., Cybern (n.d.). submitted for publication.
[13] Lumelsky, V. J. "Iterative coordinate transformation procedure for one class of
robots." IEEE Trans. Syst., Man, Cybern. (1984): 500-505.
[14] Featherstone, R. "Position and velocity transformations between robot end
effector coordinates and joint angles." Int. J. Robot. Res., (1983): 35-45.
50
[15] W.C.Rheinboldt, J.M. Ortega and. Iterative Solution of Non-linear Equations in
Several Variables. New York: Academic, 1970.
[16] J.F.Traub. Iterative Methods for the Solution of Equations. Englewood Cliffs, NJ:
Prentice-Hall, 1964.
[17] D.D.Whitney. "Optimum step size control for a Newton-Raphson solution of non-
linear vector equations." IEEE Trans. Automat. Contr., (1969): 572-574.
[18] R.G. Fenton, B.Benhabib, and A.A Goldenberg. "Optimal point to point control of
roots with redundant degrees of freedom." In Proc. ASME Winter Ann. Meeting,
(n.d.): 93-109.
[19] Chi-Haur Wu, Richard P. Paul. "Resolved Motion Force Control of Robot
Manipulator." IEEE Transactions on Systems, Man, and Cybernetics (1982): 266
- 275.
[20] Fletcher, R. "Generalized inverse methods for the best least squares solution of
systems of non-linear equations." Comput.J. (1968): 392-399.
[21] Barnes, J.G.P. "An algorithm for solving non-linear equations based on the secant
method." Comput.J., (1965): 66-72.
[22] Meloush, H and Andre, P. "High speed computation of the inverse Jacobian
matrix and of servo inputs for robot arm control." IEEE conf. Decision contr
(1982): 89-94.
[23] Chang, P and Lee, C. "Residue arithmetic VLSI array architecture for manipulator
pseudoinverse Jacobian computation ." IEEE Trans. Robot. Automat (1989):
1116-1124.
[24] Rabinowitz, P. Numerical Methods for Non-linear Algebraic Equations. New
York: Gordon and Breach, 1970.
[25] Gh. Asadi-Cordshooli, A. Vahidi and R.Norouzi. "Solution of Inverse Kinematic
Problem of a 2DOF Robot Using Decomposition Method." Journal of New
Researches in Mathematics (2015).
[26] βLeading Innovation in Connectors, Robotics and Textile Machinery.β Industrial
Automation in Textile, Connectors, Robotics-Staubli. Web. 05 April 2017.
[27] E. Babolian, J. Biazar, A.R. Vahidi. "Solution of a system of nonlinear equations."
Applied Mathematics and Computation (2004): 847β854.
51
[28] Shafiof, J. Biazar and S.M. "A Simple Algorithm for Calculating Adomian
Polynomials." Int.J.Contemp. Math. Sciences (2007): 975-982.
[29] Ottmar Beucher, Michael Weeks. Introduction to MATLAB & SIMULINK: A
Project Approach. Infinity Science Press, 2008. Book.