Open access peer-reviewed chapter

Use Improved Differential Evolution Algorithms to Handle the Inverse Kinetics Problem for Robots with Residual Degrees of Freedom

Written By

Trung Nguyen and Tam Bui

Submitted: 17 November 2020 Reviewed: 10 March 2021 Published: 31 March 2021

DOI: 10.5772/intechopen.97138

From the Edited Volume

Robotics Software Design and Engineering

Edited by Alejandro Rafael Garcia Ramirez and Augusto Loureiro da Costa

Chapter metrics overview

379 Chapter Downloads

View Full Metrics


In this study, the Self-adaptive strategy algorithm for controlling parameters in Differential Evolution algorithm (ISADE) improved from the Differential Evolution (DE) algorithm, as well as the upgraded version of the algorithms has been applied to solve the Inverse Kinetics (IK) problem for the redundant robot with 7 Degree of Freedom (DoF). The results were compared with 4 other algorithms of DE and Particle Swarm Optimization (PSO) as well as Pro-DE and Pro-PSO algorithms. These algorithms are tested in three different Scenarios for the motion trajectory of the end effector of in the workspace. In the first scenario, the IK results for a single point were obtained. 100 points randomly generated in the robot’s workspace was input parameters for Scenario 2, while Scenario 3 used 100 points located on a spline in the robot workspace. The algorithms were compared with each other based on the following criteria: execution time, endpoint distance error, number of generations required and especially quality of the joints’ variable found. The comparison results showed 2 main points: firstly, the ISADE algorithm gave much better results than the other DE and PSO algorithms based on the criteria of execution time, endpoint accuracy and generation number required. The second point is that when applying Pro-ISADE, Pro-DE and Pro-PSO algorithms, in addition to the ability to significantly improve the above parameters compared to the ISADE, DE and PSO algorithms, it also ensures the quality of solved joints’ values.


  • differential evolution (DE)
  • particle swarm optimization (PSO)
  • inverse kinematic (IK)
  • degree of freedom (DOF)
  • optimization

1. Introduction

The robot Inverse Kinematics problem involves finding the joints’ variable values that match input parameters of position and direction of the end effector [1]. These matched variable values will ensure that subsequent robot control will follow the desired trajectory. This is one of the important issues in the robotic field because it is related to other aspects such as motion planning, dynamic analysis and control [2]. Traditionally, there are several methods to resolve inverse kinematics problem for robots such as: geometry method is the method using geometric and trigonometric relationships to solve; the iterative method is often required inversion of a Jacobian matrix, etc. However, when applying these methods to solve the IK problem for robots, especially with redundant robots, it is often much more complicated and time-consuming. The reason is the nonlinearity of the formulas and the geometry between the workspace and the joint space. In addition, the difficult point is in the singularity, the multiple solutions of these formulas as well as the necessary variation of the formulas corresponding to the changes of different robot structures [3, 4, 5].

In addition to those existing methods of solving the IK problems, in recent years, the application of meta-heuristic optimization algorithms has become increasingly common. 8 optimization algorithms applied in [5] in the cases of a single point or a whole trajectory endpoint. The simulation results showed that the PSO algorithm can effectively solve the IK problem. In [6] the authors used algorithms such as ABC, PSO, and FA to solve the inverse kinematic requirement for Kawasaki RS06L 6-DoF robot in the task of picking and place objects. Ayyıldız et al. compared the results of all IK tests for a 4-DOF serial robot using 4 different algorithms: PSO, QPSO, GA and GSA [7]. Two versions of the PSO algorithm have been used to solve the IK problem for robots with a number of degrees of freedom from 9 to 180 [8]. In recent research [9], Malek et al. used PSO algorithm to handle inverse kinematics for a 7-DoF robot arm manipulator. The study mentioned both the requirements for the location and the direction of the endpoint, however, it only solved for 2 different end effector positions. Laura et al., in [10] used DE algorithm for the IK problem of 7-DoF robot. The problem was solved for specific points, but the quality evaluation parameters such as endpoint position deviation, execution time as well as the values of the joints’ variable did not reach impressive quality. Ahmed El-Sherbiny et al. [11] proposed to use ABC variant algorithm for solving inverse kinematics problem in 5 DoFs robot arm. Serkan Dereli et al. [12] used a quantum behave partial algorithm (QPSO) for a 7-DoF serial manipulator and compare the results with other techniques such as firefly algorithm (FA), PSO and ABC.

In this study, the self-adaptive control parameters in Differential Evolution (ISADE) algorithm, that developed [13, 14] by authors, was applied to solve the problem of inverse kinematic for a 7-DOF serial robot. To compare the results, this IK problem was also handled by applying DE and PSO algorithms. In addition, the study also compared the results in the application of the above algorithms with the search space improvement of joints’ variables (Pro-ISADE, Pro-PSO and Pro-DE) [15].

The remainder of the paper is divided into the following sections: Section II describes the experimental model. The theory of the PSO, DE and ISADE algorithms as well as the algorithms with improved search area, Pro-PSO, Pro-DE and Pro-ISADE, will then be presented in Section III. Section IV covers scenarios and object functions that will be applied to calculate the IK. The results after applying the algorithm are shown and compared in Section V. Finally, the conclusions are outlined in Section VI.


2. Testing model

The residual driven robots have many advantages such as easy escape from obstacles, flexible movement as well as a large operation space. However, their disadvantage is the complexity of the robot structure [16]. In this study, a serial redundant manipulator robot was used to evaluate the algorithm in resolving the inverse kinematics requirements. The simplified robot model was shown in the Figure 1. As in the figure, this serial robot manipulator is of type 7R (R: Revolute). The parameters of the D-H table of the robot are given in Table 1.

Figure 1.

The 7-DFO robot Scheme and coordinate systems used in the study.

1-π <q1d1 = 5000- π/2
2-π/2 <q2<π/60l2 = 200π/2
3-π/2 <q3 <2π/30l3 = 250- π/2
4-π/2<q4 <π/20l4 = 300π/2
5-π/2<q5 <π/20l5 = 200- π/2
6-π/2<q6 <π/20l6 = 2000
7-π/2 <q7 <π/2d7=5l7 = 1000

Table 1.

D-H parameters.

The homogeneous transformation matrix can be used to obtain the forward kinematics of the robot manipulator, using the DH parameters in Eq. (1) [17].


where S and C denote the sine and cosine functions.

The position and orientation of the end-effector can be determined by Eq. (2):




Where, T07 is matrix to produce a Catesian coordinate for any seven joint values. In the Eq. (10), xEyEzE denote the elements of position vector whereas, nxnynzsxsyszaxayaz are the rotational elements of transformation matrix. In this study, only position vectors were used to calculate the distance error. After the computation, the end-effector coordinate in the manipulation space is determined by:


When solving the problem of inverse kinematics, with the endpoint coordinates as on the left side of Eq. (10), we need to find the values of the matching variable q. However, according to the Equation, the number of equations is much less than the number of variables. This makes it very difficult to find a unique and exact matching solution. In this study, ISADE algorithm and ISADE with searching space improvement algorithm (Pro-ISADE) were used to solve the IK problem for the robot. To compare the results, the study also used some other optimization algorithms such as PSO, DE as well as Pro-PSO and Pro-DE to solve the same IK problem for the robot above.


3. Applied algorithms and object functions

3.1 PSO

Particle swarm optimization was developed flying Kenney and Eberhart [18, 19] based on observing the moving characteristics of bird flock and fish school. In this algorithm the individual of the population is called particle. The particle of the population (Called swarm) can move in its space and offer a potential solution. Particles can memorize best condition and find and exchange information to other members. Each particle in the population has two characteristics: position and velocity. Starting with the particle population, each particle monitors its coordinates and updates position and speed according to the best solution for each iteration. The velocity and position values ​​are shown in the following equation:


In particular, xxi,vi are the position and velocity of the particle i-th, respectively; d is number of dimension; w is the inertia weight factor, c1and c2are cognitive learning rate and social learning rate, respectively; pi is the pbest value of i_th particle; What is gbest value of the population.

3.2 DE

Differential Evolution (DE) algorithm is a population-based stochastic optimization algorithm recently introduced. DE works with two populations; old generation and new generation of the same population. The population is randomly initialized within the initial parameter bounds individuals in the population has two characteristics: position and velocity. Starting with the individual population, each individual monitors its coordinates and updates position and speed according to the best solution for each iteration. Velocity values (V) is randomly created in one of eight ways:


In particular, F is Scaling factor, r1,r2,r3,r4,r5 is random solution, r1,r2,r3,r4,r5123Np and r1r2r3r4r5i, Xbest is population filled with the best member.

Position values new (U) shown in the following Equation:


FMmui are all random numbers <0.9, FMmpo is inverse mask to FMmui.


In the [13, 14], we suggested to develop a new version of DE algorithm that can automatically adapt the learning strategies and the parameters settings during evolution. The main ideas of the ISADE algorithm are summarized below.

3.3.1 Mutation operator

ISADE probabilistically selects one out of several available learning strategies in the mutation operator for each individual in the current population. In this research, we select three learning strategies in the mutation operator as candidates: “DE/best/1/bin”, “DE/best/2/bin” and “DE/rand to best/1/bin” that are respectively expressed as:

DE/randto best/1:Vi,jG=Xr1,jG+FXbest,jGXr1,jG+FXr2,jGXr3,jGE16

Where: i=12NP;j=1D are current population and design variable, respectively.

"DE/Randtobest/1/bin" strategy usually demonstrates good diversity while the "DE/best/1/bin" and "DE/best/2/bin"strategy show good convergence property, which we also observe in our trial experiments.

3.3.2 Adaptive scaling factor F and crossover control parameter CR

In the ISADE algorithm, the author suggested to use the sigmoid function to control neighborhood parameter. we sort the particles by estimating their fitness. A ranked particle is labeled with ranked number and assigned F that corresponds with its number. The formula for F by sigmoid function as following:


Where: α,idenote the gain of the sigmoid function, particle of the ithin NP, respectively.

For better performance of ISADE, the scale factor F should be high in the beginning to have much exploration and after curtain generation F needs to be small for proper exploitation. Thus, we proposed to calculate the F as follow:


Where: Fmax,Fmin,iter,itermaxandniter are the lower boundary condition of F, upper boundary condition of F, current generation, maximum generation and nonlinear modulation index, respectively.

The author introduced a novel approach of scale factorFi of each particle with their fitness in Eq. (15). Thus, in one generation the value of Fiiteri=1NP are not the same for all particles in the population rather they are changed in each generation. The final value of scale factor for each generation is calculated as follow:


Where iter=1,,itermaxandi=1,,NP

The control parameter CRis adapted as following:


The ISADE algorithm was summarized as in the Figure 2.

Figure 2.

ISADE Flowchart.

3.4 Cost functions and Algorithms with searching space improvement

As mention in the introduction part, the disadvantage of many studies using optimization algorithms to solve the IK problem of redundant robots is to focus on the results related to the optimal running process such as execution time, number of generation … but have not yet considered the feasibility of the joints’ variable values. In order to overcome these drawbacks, the author of this research [15] proposed this algorithm that is explained as following: The solution to improve the continuity of joints’ values constrains the initialization domain of X. This help the program to achieve the dual goal of increasing calculation speed, accuracy and ensuring continuity for the value of joints’ variables. In this algorithm, firstly the robot from any position moves to the first point of the trajectory. With this first point, the initialization values for the particles are randomly selected in the full Range of Motion (RoM) of joints. In addition, the target function in this case has the form:


where the values qikandqik (i = 1) are the joints’ variable values at the original position and 1st point on the trajectory, respectively; (xi, yi, zi) and (xei, yei, zei) are the End-effector coordinates for the i-point (i = 1) found by the algorithm and the desired End-effector coordinates; (Rxi, Ryi, Rzi) and (Rxei, Ryei, Rzei) are corresponding rotation cosine angles performing orientation of the end-effector which are found by Algorithm and orientation of the desired end-effector; a, b are penalty coefficients. Cost function as Eq. (21) ensures the energy spent in the joints to reach the 1st desired position is minimized. Besides, it also minimizes the distance error between the actual and desired end-effector position. The condition to stop for points of trajectory is that the Cost Func.1 value is less than value of e or the number of iterations reaches 600 and the number of times algorithm running <10.

After calculating for 1st point of the trajectory, the remaining points are calculated with a search limitation around the previous optimal joints’ values. By using this suggested range, the program’s search space will be limited while ensuring the continuity of the joint variables. In this case, the target function is still the same as the function of 1st point, but it has coefficient a = 0.


4. Scenarios

4.1 Scenario 1

In Scenario 1, an endpoint in the workspace were randomly selected; the PSO; DE and ISADE algorithms were then applied to solve the required problem. The purpose of this Scenario is to compare the convergence speed of the three algorithms. In this case, since the initial and the desired endpoints can be far apart, the Pro-PSO; Pro-DE and Pro-ISADE algorithms cannot be applied.

4.2 Scenario 2

In this case, the robot was required to move the endpoint through 100 points in the robot’s working space one after another. These points were selected at random for the purpose of testing the effectiveness of each algorithm with many distinct points. Similar to the previous case, in this Scenario we also only applied the algorithms PSO, DE and ISADE with the solution space of the matching variable which limits the motion of these joints.

4.3 Scenario 3

The manipulator robot was required to move the end effector following a certain trajectory. The selected trajectory is spiral, and it is described by the following function:


Where: xEyEzE is the desired endpoint coordinate on the trajectory. With 6 algorithms of PSO, Pro ISO, DE, Pro-DE and ISADE, Pro-ISADE, the comparison of the results on the same graph is not favorable. Therefore, the study divided this case into two smaller Scenarios:

  • Scenario 3.1: Results when using ISADE algorithm comparing with results from PSO and DE algorithms.

  • Scenario 3.2: Compare the results using Pro-ISADE algorithm with the results getting from Pro-PSO and Pro-DE algorithms

And then results from Scenario 3.1 were be compared with the results from Scenario 3.2.


5. Simulation and results

5.1 Experimental setup

The main task of this study is to find the optimal value of the joints’ variable to ensure the end effector of robots can reach the desired points. The desired point positions of the Scenario 2 and 3 are shown as the Figure 3. Research using the ISADE and Pro-ISADE algorithm, which were developed by the authors [13, 14, 15], to get simulation results of inverse kinematics problem and then compared it with the results when using PSO, DE and Pro-PSO, Pro-DE algorithms. When solving the IK problem for the 7-DoF serial robot manipulator, the study focused on three main aspects. The first of these is the sensitivity of the solution - in the other word, the amount distance error of end effector is minimum. The second criterion was the execution time. In order to avoid the endless loop, the maximum numbers of generation itermaxwere set as 600, 600 and 130 for PSO (Pro-PSO), DE (Pro-DE) and ISADE (Pro-ISADE), respectively. And the final aspect is the searching space of joints’ variables. Normally, Normally, almost all studies have been using the Range of Motion (RoM) of joints for its boundary space. Our algorithm [15] proposed to use the searching space of current generation is around previous optimal joints’ values. In the Table 2, the ubsi+1andlbsi+1 are the joints’ upper and lower boundary of the current generation.C1andC2 are weights of personal best and global best, respectively. w is the inertia weight. ρ is the number of run for each algorithm to choose the best result. Besides, after some trial runs for the algorithms, we noticed that our ISDE algorithm gave much better results than DE and the least was the PSO algorithm. Thus, when setting up the maximum distance error by the fitness value setting for the end effector position, the study set the value of 1e14m; 1e15m and 1e17m for PSO (Pro-PSO); DE (Pro-DE) and ISADE (Pro-ISADE), respectively or that can be seen in the Table 2. In this research, the proposed and other methods were tested in the two different Scenarios. Both the first and second Scenario was coded by Matlab version 2019a and run on the computer equipped with an Intel Core i5-4258U @2.4GHz processor and 8 GB Ram memory.

Figure 3.

Testing scenarios. (a) Scenario 2: 100 random points in workspace; (b) Scenario 3: 100 points on a spiral trajectory.

AlgorithmsMax No. of Gen.
Max Distance Err. (m)Searching space
ρMut. rateCross. rateC1C2wFi
DE6001e-15RoMScheme 2 in Eq. (10)0.9******0.5

Table 2.

Optimization parameters used in PSO, Pro-PSO, DE Pro-DE, and ISADE, Pro-ISADE.

5.2 Scenario 1 results

After applying the inverse kinematic problem processing algorithms for a single endpoint, the results are shown in Figures 4 and 5. All algorithms are able to handle the inverse kinetics problem, but the best results have been obtained with the ISADE algorithm as shown in Table 3.

Figure 4.

End effector distance error vs. generations in Scenario 1.

Figure 5.

End effector distance error vs. time in Scenario 1.

Max. IterationPosition error (m)Calculation time (s)

Table 3.

Comparison of ISADE with other algorithms.

Figures 4 and 5 show convergence speed of algorithms corresponding to the number of iterations and processing time, respectively. The results show that the processing speed of the ISADE algorithm is the best, followed by the DE algorithm and finally with the PSO algorithm. In Table 3 the study of selecting stop conditions for algorithms is the maximum number of iterations of 85 rounds. After 10 runs, the best results are shown in the table. The ISADE algorithm gives the best processing results in terms of both quality and speed. The endpoint deviation can reach 2.8422e-13 (m) in 0.049 (s) time. For the PSO algorithm, it can handle the reverse kinematic problem for the end point with an accuracy of 2.6815e-4 in a period of 0.0941 (s). and, 5.7514e-10 (m) and 0.0715 (s) are the accuracy of end effector and execution time for DE algorithm.

5.3 Scenario 2 results

As mentioned above, in this Scenario 2, algorithms was used to resolve inverse kinematics problem for 100 randomly chosen points within the workspace of the robot. When processed at each point, the end effector started at the same initial position of [0 0 0 0 0 0 0] for 7 serial joints values. Because the end effector points all come from the same starting point to go to each of the 100 points, the study only used the ISADE algorithm and compares with the results from PSO and DE algorithms without using the Pro-ISADE algorithm as well as Pro-DE and Pro-PSO.

The 100 randomly selected points were shown in the Figure 3a. Results when applying ISADE and the other algorithm were presented in the Figure 6. As shown in the Figure, all algorithms have solved problem well. In particular, with the ISADE algorithm, although the fitness value in experimental setup required 1000 and 100 times higher than the required by applying the PSO and DE algorithms, respectively, it was not only guaranteed required precision but also showed faster processing speed and fewer iterations compared to the 2 other algorithms. Specifically, as shown in Figure 6b and c and especially Table 4, the average execution time when using ISADE to solve IK of each points was around 0.0685 second, while this value of the PSO and DE algorithm were on average 0.2307 (s) and 0.0978 (s) respectively. The main reason for this, as seen in Figure 6b and Table 4, was the number of generations to reach the optimal values much higher in PSO algorithm and slightly higher in DE algorithm, compared to in ISADE algorithm. Specifically, the PSO algorithm needed an average of 413.24 and the DE algorithm needed average of 124.45 loops to find a solution, while the ISADE algorithm used an average of 85.63 loops. Another remarkable thing is although there was not much difference in the number of iterations to solve the problem between the two algorithms DE and ISADE, but the ISADE algorithm still gave a processing speed of 1.42 times higher than DE algorithm though required 100 times more accuracy for the ISADE algorithm. This demonstrated the very high efficiency of the ISADE algorithm when it was applied to handle inverse kinematics problem for this robot. In short, in the optimization study for randomly chosen points in working space, the ISADE algorithm presented the best algorithm to resolve the IK requirement in term of accuracy, iteration and execution time.

Figure 6.

Results for Scenario 2. (a) Distance error. (b) Execution time. (c) Number of generations.

Fitness value1e-141e-151e-17
Avg. error7.3016e-132.2938e-132.1644e-14
Avg. iteration413.24124.4585.63
Avg. execution time0.23070.09780.0685

Table 4.

Comparative results in case 2.

5.4 Scenario 3 results

In Scenario 2, the end effector moved through the 100 points located on a specific trajectory that was defined in Eq. (22) and shown in Figure 3b. The main difference between Scenario 2 and Scenario 3 is that, instead of after solving each IK problem for each point, the end effector goes back to the original point to continue processing for the next points like in Scenario 2, in Scenario 3 the end effector starts from previous point in order to calculate for the next point. Stemming from this feature, the searching space of joints’ variable also starts previous optimal joints’ values. However, depending on the searching space we have 2 smaller cases such as:

  • Scenario 3.1: Searching spaces for joints’ variables are RoMs. Then, like the Scenario 2, the study compared the results when using the ISADE algorithm with the results when using the PSO and DE algorithms.

  • Scenario 3.2: Searching spaces for joints’ variables are around the previous optimal joints’ values. The study compared the results when using Pro-ISADE algorithm with when using Pro-PSO and Pro-DE algorithms.

The results were presented in the Figure 7 and Table 5. Similar to the Scenario 2, although the experimental installation required the ISADE (and Pro-ISADE) algorithm to be 100 and 1000 times more accurate than the algorithm DE (Pro-DE) and PSO (Pro PSSO), respectively, all of 6 algorithms gave appropriated solutions for all the points in the trajectory. It can be seen that, in both cases 3.1 and 3.2 the ISADE and Pro-ISADE algorithms showed the best ability to resolve the inverse kinematics problems in all 3 aspects: accuracy, execution time and number of generations. More specifically, in Scenario 3.1, when searching space for joints’ variables were RoMs, the average achieved accuracies for ISADE was around 2.0748e-14 (m) that is much better than the values of 7.5404e-13 (m) and 2.2260e-13 (m) corresponding for PSO and DE algorithms. Although the ISADE algorithm was set to a fitness value to achieve such higher accuracy, the execution time of the algorithm was still below the time of PSO and DE algorithm. These average execution time values were 0.0679 (s); 0.0845 (s) and 0.3478 (s) second for ISADE, DE and Pro algorithm, respectively. The above results can be partly explained based on the number of necessary iterations that each algorithm was needed to find the optimal values of joints variables. From Figure 6c, it showed that, when solving the IK problem for almost points in the spiral trajectory, the ISADE method used the least number of iterations. The Table 5 presented more clearly, on the average each point in the trajectory the ISADE needed 85.19 generations to find the optimal values, these means number for DE and PSO algorithm are 125.44 and 391.1

Figure 7.

Results for Scenario 3.1. (a) Distance error. (b) Execution time. (c) Number of generations.

Scenario 1
Fitness value1e-9Not applied1e-10Not applied1e-12Not applied
Avg. error (m)2.4151e-09Not applied6.9655e-10Not applied6.8362e-11Not applied
STD (m)5.8117e-10Not applied2.0075e-10Not applied2.3796e-11Not applied
Avg. iteration357.91Not applied76.54Not applied64.34Not applied
Avg. execution time (s)0.2931Not applied0.1115Not applied0.0455Not applied
Scenario 3.1 (Italic values) and Scenario 3.2
Fitness value1e-141e-141e-151e-171e-12
Avg. error (m)7.4140e-137.4650e-132.2260e-132.2950e-132.0748e-142.0103e-14
STD (m)1.9574e-131.9736e-136.5615e-146.1330e-141.0414e-149.8913e-15
Avg. iteration429.950407.8800125.4400114.270085.190075.2300
Avg. execution time (s)0.36040.25760.10150.08450.06790.0554

Table 5.

Comparative results between all cases.

Italics were used to differentiate the results of Scenario 3.1 and 3.2.

In Scenario 3.2, the searching space for joints’ variables were around previous optimal values that were set up as in the Table 2. Similar to the Scenario 3.1, all of the comparison parameters gotten from using Pro-ISADE algorithm were better than that values from Pro-DE and Pro-PSO algorithms. These parameters are described in the as well as Table 5. In order to comparison between Scenario 3.1 with Scenario 3.2, all average parameters was shown in the Table 5. From all comparison, the proposed ISADE or Pro-ISADE were always proved the best solution to solve the inverse kinematics requirements for the manipulator robot. Moreover, Table 5 also showed that, the Pro-ISADE had better performance compared to ISADE. By using Pro-ISADE algorithm, it reduced all of parameters including distance error, execution time and number of generations.

Another very important result gotten from Scenario 3.2 is the quality of joints’ values. Figure 8 show the joints’ value in two cases of using ISADE in Scenario 3.1 and using Pro-ISADE in Scenario 3.2. It is clear that the joints’ value in the Scenario 3.1 were change dramatically. On the contrary, the values of joints in Scenario 3.2 changed continuously and slowly. The quality of joints variable values as Figure 9b, that received by using Pro-ISADE, will ensure feasibility in the next stages of calculation and design for the robot. These values, along with the values of speed, acceleration, as well as the weight parameters of the stages, will be used in the dynamic problem as well as in future control.

Figure 8.

Joint variables’ results. (a) Joint variables’ values in Scenario 3.1 using ISADE algorithm. (b) Joint variables’ values in Scenario 3.2 using Pro-ISADE algorithm.

Figure 9.

Results for Scenario 3.2. (a) Distance error. (b) Execution time. (c) Number of generations.

In short, after comparing the results of Scenario 3.1 and 3.2, it is possible to conclude that the ISADE algorithm and Pro-ISADE are the best solutions to solve the IK problem for the robot in all aspects: endpoint accuracy, execution time and number of generation. The Pro-ISADE algorithm not only guarantees the above parameters, it also ensures the quality of the joints’ variables to serve the next computational and design stages.

Table 5 summarizes results of the average error, the standard deviation of error (STD), the average iteration and the average execution time of all Scenarios. As in the table, the algorithms of ISADE and Pro-ISADE got the better results than the other algorithms.

As mentioned at the beginning of this article, intelligent optimization techniques have been using more and more popular in difficult and complex tasks including the IK problem for redundant manipulator robots. Table 6 shows some studies used meta-heuristic optimization algorithms to resolve the inverse kinematics task for different robot models. The Table presents: the used algorithm for the IK calculation, selected manipulators for the test, the algorithms that are used to comparison. For example, El-Sherbiny et al. [11] used the Adaptive Neuro Fuzzy Inference System (ANFIS) algorithm to calculate the IK problem of a 5 DOF robot, and then compared results with GA algorithm. Both algorithms could get the appropriate solutions, but ANFIS algorithm proved to be the best one. The comparison also shows that a number of studies [12, 22, 23], using optimal algorithms such as PSO, ABC, Q-PSO … handle the inverse kinetic requirements for the model of 7 degrees of freedom. All the used algorithms have proven the ability to handle the problem, but it is not difficult to see that most of these studies have the lower accuracy and processing speed than the ISADE as well as the Pro-ISADE algorithm proposed in this study.

ResearchRobot armResults of Used algorithmResults of Compared algorithmAverage of
Rokbani et al. [20]3-DOF10 Firefly60 Firefly
1.27e−171.78e−18Position error (m)
1.21e−037.15e−3Execution time (s)
Ayyıldız and Çetinkaya [7]4-DOFPSOGA
7.70e−063.96e−04Position error (m)
0.01960.1753Execution time (s)
El-Sherbiny et al.
5-DOFAdaptive Neuro
Fuzzy Inference
System (ANFIS)
5.426e−037.64e−04Position error (m)
0.030883.1239Execution time (s)
Shi and Xie [21]6-DOFAdaboost NN
Dereli and Köker
7-DOFRandom IW-PSOGlobal–Local Best
6.20e−033.64e−03Position error (m)
1.61.2Execution time (s)
Serkan Dereli [12]7-DOFQ-PSOPSO; ABC; Firefly
6.69347e-111.4547e-3Position error (m)
0.21950.4806Execution time (s)
Serkan Dereli [23]7-DOFfireflyPSO, ABC
6.53e−055.45e−04Position error (m)
0,92040,4441Execution time (s)
Our study7-DOFISADE, Pro-ISADEPSO, DE, Pro-PSO, Pro-DE
2.0103e-147.4140e-13Position error (m)
0.05540.3604Execution time (s)

Table 6.

Comparison with some other studies.

Italics were used to differentiate the results of Scenario 3.1 and 3.2.


6. Conclusions

In this research, inverse kinematics problem for a 7 degree of freedom serial robot manipulator was implemented to prove the accuracy and efficiency of the self-adaptive control parameters in Differential Evolution (ISADE) and the ISADE algorithm with searching space improvement (Pro-ISADE) algorithm. To evaluate the effectiveness of the two algorithms above, the results obtained from the ISADE algorithm as well as Pro-ISADE were compared with the results from the PSO (Pro-PSO) and DE (Pro-DE) algorithm. Experiments were performed with three Scenarios. In the first Scenario, an endpoint in the workspace is randomly selected. The purpose of this Scenario is to compare the convergence speed of the three algorithms. In the second Scenario, algorithm was used to calculate inverse kinematics of the robot for 100 points randomly selected in the working space. The aim of this Scenario 2 is to test the accuracy and efficiency of the algorithm when the end effector started at the same position, it went to any point in working space. Meanwhile, in the third Scenario, the algorithms solved the inverse kinematics problem when the end effector of the robot moved point to point that are located on a spiral trajectory in the workspace. The implementation experiments have shown, the ISADE algorithm gave much better results than other algorithms in term of: accuracy, execution time and number of generation. Besides, by improving the searching boundary for joints’ variable, the Pro-ISADE, Pro-DE and Pro-PSO also improve the accuracy as well as processing speed and especially the quality of the value of the joints variable compared to the ISADE, DE and PSO, respectively. These optimal joints’ values ​​ensure the feasibility of the dynamic and control problem in the future. In short, with ISADE algorithm as well as Pro-ISADE, they have handled the inverse kinematic requirement very effectively both in term of accuracy and computation time. The Pro-ISADE algorithm not only improves the above two factors, but also improves the quality of the joints’ variables.


Conflict of interest

“The authors declare no conflict of interest.”


  1. 1. Köker R, Çakar T. A neuro-genetic simulated annealing approach to the inverse kinematics solution of robots: a simulation based study. Eng Comput. 2016;32:553–565
  2. 2. Huang HC, Chen CP, Wang PR (2012) Particle swarm optimization for solving the inverse kinematics of 7-DOF robotic manipulators. IEEE international conference on systems, man, and cybernetics. Seoul, Korea, pp 3105–3110
  3. 3. Rubio JJ, Bravo AG, Pacheco J, Aguilar C (2014) Passivity analysis and modeling of robotic arms. IEEE Lat Am Trans 12(8):1381–1389
  4. 4. Kou YL, Lin TP, Wu CY (2014) Experimental and numerical study on the semi-closed loop control of a planar robot manipulator. Math Probl Eng 2014:1–9. doi:10.1155/2014/769038
  5. 5. Carlos Lopez-Franco, Jesus Hernandez-Barragan, Alma Y. Alanis, Nancy Arana-Daniel. A soft computing approach for inverse kinematics of robot manipulators. Engineering Applications of Artificial Intelligence, 74, 104- 120, 2018
  6. 6. Mahanta GB, Deepak BBVL, Dileep M, et al. Prediction of inverse kinematics for a 6-DOF Industrial robot Arm using soft computing techniques. In: Soft computing for problem solving. Singapore: Springer; 2019. p. 519–530
  7. 7. Ayyıldız M, Çetinkaya K. Comparison of four different heuristic optimization algorithms for the inverse kinematics solution of a real 4-DOF serial robotmanipulator.Neural Comput Appl. 2016;27:825–836
  8. 8. Thomas Joseph Collinsm, Wei-Min Shen. Particle Swarm Optimization for High-DOF Inverse Kinematics. 3rd International Conference on Control, Automation and Robotics: IEEE, 2017
  9. 9. Malek Alkayyali, Tarek A. Tutunji, PSO-based Algorithm for Inverse Kinematics Solution of Robotic Arm Manipulators, 20th international Conference on Research and education in Mechatronics (REM), 2019
  10. 10. Laura Cecilia Antonio-Gopar,Carlos Lopez-Franco∗, Nancy Arana-Daniel, Eric, Gonzalez-Vallejo and Alma Y. Alanis, Inverse Kinematics for a Manipulator Robot based on Differential Evolution Algorithm, IEEE Latin American Conference on Computational Intelligence (LACCI), 2018
  11. 11. El-Sherbiny A, El-Hosseini MA, Haikal AY. A new ABC variant for solving inverse kinematics problem in 5 DOF robot arm. Appl Soft Comput. 2018;73:24–38
  12. 12. Serkan Dereli; Ra¸sit Köker; Ameta-heuristic proposal for inverse kinematics solution of 7-DOF serial roboticmanipulator: quantum behaved particle swarm algorithm; Artificial Intelligence Review, 2019
  13. 13. Bui, T. Pham, H. Hasegawa, H., Improve self-adaptive control parameters in differential evolution for solving constrained engineering optimization problems. J Comput Sci Technol Vol.7, No.1 (2013), pp.59-74. DOI:10.1299/jcst.7.59
  14. 14. Coello, C.A.C., Use of a self-adaptive penalty approach for engineering optimization problems, Computers in Industry 41 (2000), pp.113-127
  15. 15. Thanh-Trung Nguyen, Ngoc-Linh Tao, Van-Tinh Nguyen, Ngoc-Tam Bui, V. H Nguyen, Dai Watanabe, Apply PSO Algorithm with Searching Space Improvements on a 5 Degrees of Freedom Robot, The 3rd International Conference on Intelligent Robotics and Control Engineering (IRCE 2020)
  16. 16. Serkan Dereli, Ra¸sit Köker, Ameta-heuristic proposal for inverse kinematics solution of 7-DOF serial roboticmanipulator: quantum behaved particle swarm algorithm; Artificial Intelligence Review, 2019
  17. 17. Craig JJ (2005) Introduction to robotics mechanics and control, 3rd edn. Pearson Education, Upper Saddle River, NJ
  18. 18. Kennedy, J.; Eberhart, R. Particle swarm optimization. In: IEEE international conference on neural networks, (1995) pp 1943–1948
  19. 19. Eberhart, R.; Kennedy, J. A new optimizer using particle swarm theory. In: The sixth international symposium on micro machine and human science, (1999) pp 39–4
  20. 20. Rokbani N, Casals A, Alimi AM (2015) IK-FA, a new heuristic inverse kinematics solver using firefly algorithm. Comput Intell Appl Model Control 575:553–565
  21. 21. ShiQ,Xie J (2017)Aresearch on inverse kinematics solution of 6-dof robot with offset-wrist based on adaboost neural network. In: IEEE international conference on CIS and RAM, 18–20 November, Ningbo, China
  22. 22. Dereli S, Köker R (2018) IW-PSO approach to the inverse kinematics problem solution of a 7-DOF serial robot manipulator. Sigma J Eng Nat Sci 36:77–85
  23. 23. Serkan Dereli & Raşit Köker, Calculation of the inverse kinematics solution of the 7-DOF redundant robot manipulator by the firefly algorithm and statistical analysis of theresults in terms of speed and accuracy, Inverse Problems in Science and Engineering, 2020, VOL. 28, NO. 5

Written By

Trung Nguyen and Tam Bui

Submitted: 17 November 2020 Reviewed: 10 March 2021 Published: 31 March 2021