57
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

ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 2: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 3: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 4: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 5: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 6: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 7: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 8: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 9: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 10: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 11: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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]

Page 12: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 13: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 14: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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]

Page 15: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 16: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 17: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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)

Page 18: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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)

Page 19: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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)

Page 20: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 21: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 22: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 23: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 24: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 25: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 26: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 27: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

′′.

Page 28: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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]

Page 29: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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)

Page 30: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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:

Page 31: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 32: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 33: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 34: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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)

Page 35: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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)

Page 36: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 37: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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:

Page 38: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 39: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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:

Page 40: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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)

Page 41: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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:

Page 42: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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:

Page 43: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 44: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 45: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 46: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 47: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 48: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 49: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 50: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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;

Page 51: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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;

Page 52: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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;

Page 53: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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

Page 54: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

48

sum(B)+y0

toc

Page 55: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 56: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.

Page 57: ADOMIAN DECOMPOSITION METHOD (ADM) FOR THE INVERSE

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.