Next Article in Journal
A Modular Mobile Robotic Platform to Assist People with Different Degrees of Disability
Previous Article in Journal
Generation of Circularly Polarized Quasi-Non-Diffractive Vortex Wave via a Microwave Holographic Metasurface Integrated with a Monopole
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Algorithm for Solving Robot Inverse Kinematics Based on FOA Optimized BP Neural Network

1
College of Mechanical & Electrical Engineering, Hohai University, Changzhou 213022, China
2
Jiangsu Key Laboratory of Special Robot Technology, Hohai University, Changzhou 213022, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(15), 7129; https://doi.org/10.3390/app11157129
Submission received: 7 July 2021 / Revised: 27 July 2021 / Accepted: 30 July 2021 / Published: 2 August 2021
(This article belongs to the Section Robotics and Automation)

Abstract

:
The solution of robot inverse kinematics has a direct impact on the control accuracy of the robot. Conventional inverse kinematics solution methods, such as numerical solution, algebraic solution, and geometric solution, have insufficient solution speed and solution accuracy, and the solution process is complicated. Due to the mapping ability of the neural network, the use of neural networks to solve robot inverse kinematics problems has attracted widespread attention. However, it has slow convergence speed and low accuracy. This paper proposes the FOA optimized BP neural network algorithm to solve inverse kinematics. It overcomes the shortcomings of low convergence accuracy, slow convergence speed, and easy to fall into local minima when using BP neural network to solve inverse kinematics. The experimental results show that using the trained FOA optimized BP neural network to solve the inverse kinematics, the maximum error range of the output joint angle is [−0.04686, 0.1271]. The output error of the FOA optimized BP neural network algorithm is smaller than that of the ordinary BP neural network algorithm and the PSO optimized BP neural network algorithm. Using the FOA optimized BP neural network algorithm to solve the robot kinematics can improve the control accuracy of the robot.

1. Introduction

Solving the problem of robot inverse kinematics is the basis of robot trajectory planning and motion control. Inverse kinematics is the mapping from Cartesian space to joint space [1,2]. Its essence is to obtain the value of each joint variable from the position and posture of the end of the robot. Traditional methods for solving robot inverse kinematics include geometric [3,4], algebraic [5,6,7], and iterative [8,9] methods. The geometric method has strict requirements on the configuration of the robot, poor versatility, certain limitations, and the modeling and solving process is more complicated. The algebraic method can obtain closed solutions of simple mechanisms. However, it is difficult to obtain closed solutions of complex mechanisms. This method involves a quantity of coordinate transformations in the solution process, and the solution accuracy is relatively low. The iterative method solves the problem through repeated iterations. This method requires numerous calculations and is difficult to meet the requirements of real-time control.
In view of the shortcomings of traditional methods, more and more intelligent algorithms are widely used in robot control, such as neural network algorithms [10,11], genetic algorithms [12,13,14,15], and particle swarm algorithms [15,16,17,18]. Artificial neural network has powerful approximation ability when solving the problem of nonlinear mapping. Taking a large number of positive kinematics information of the robot as samples, through the training and learning of the BP neural network, the mapping from the Cartesian space to the joint space is realized. As a result, complicated calculation and derivation processes are avoided. The trained neural network has a fast calculation speed and can meet the requirements of real-time control.
In [19], Karlik and Aydin proved that the double hidden layer BP neural network structure has advantages in solving the inverse kinematics of the manipulator. However, the traditional BP neural network has the disadvantages of large output error, easy to fall into a local extreme value, and slow convergence speed. In [15], Mustafa et al. designed two scenarios of randomly selected points and following a specific trajectory in the robot workspace, compared four different optimization algorithms, and proved the effectiveness of the QPSO algorithm to solve the inverse kinematics of a 4-DOF serial robot. Ozgoren [20] used the analytical method to solve the inverse kinematics of the redundant manipulator and optimized it accordingly, but the solution process was complicated, and the solution accuracy was not high.
In [21], Dereli et al. proposed global-local best inertia PSO algorithm and proved the effectiveness of the PSO algorithm in solving the optimal solution of redundant robots. Ren and Ben-Tzvi [22] proposed a series of improved GANs that use limited data to approximate the real model, effectively solving the inverse kinematics problem of high-dimensional nonlinear systems. Dereli and Köker [23] proposed using the firefly algorithm to solve the inverse kinematics of a 7-DOF robot, but the population size has a great influence on the speed and quality of the solution. In [24], Zhou et al. proposed an intelligent algorithm that initializes the inverse kinematics solution with extreme learning machine and optimizes it with a genetic algorithm based on sequence mutation. This algorithm improves the efficiency of the solution while ensuring accuracy.
Fruit fly optimization algorithm has few applications in the field of robot kinematics [25,26,27,28]. The FOA algorithm has the characteristics of simple operation and fast convergence speed. This paper uses the FOA algorithm to optimize the threshold and weight of the BP neural network to improve the convergence speed and output accuracy of the neural network. The optimized neural network is used to solve the inverse kinematics of the robot shown in Figure 1, and compared with the ordinary BP neural network algorithm and the PSO optimized BP neural network algorithm. The robot structure shown in Figure 1 is a part of the service robot. It can be installed on a mobile chassis with laser radar [29] and equipped with robotic arms to form a complete service robot.
This paper proposes an FOA optimized BP neural network algorithm to improve the accuracy of solving robot inverse kinematics. This paper is organized as follows: In Section 2, the robot kinematics model is established. In Section 3, the FOA optimized BP neural network algorithm is introduced. The distance and direction of the individual in the FOA algorithm are regarded as the threshold and weight of the neural network for iterative optimization. In Section 4, the proposed FOA optimized BP neural network is compared with the ordinary BP neural network and the PSO optimized BP neural network, and the error of the inverse kinematics of the robot is compared. In Section 5, the results show that the FOA optimized BP neural network algorithm can improve the accuracy of solving robot inverse kinematics.

2. Robot Kinematics

The robot torso coordinate system is established according to the D-H method, as shown in Figure 2.
The system has four linkages and five coordinate systems. Here, αi, ai, d i , and θ i respectively represent the connecting rod torsion angle, connecting rod length, connecting rod offset, and joint angle. According to the built robot kinematics model, Table 1 shows the link parameters of the robot.
After defining the linkage coordinate system and the corresponding linkage parameters, the kinematic equation can be established. The D-H transformation matrix T i i 1 can be obtained by right multiplying the following four transformation matrices:
T i i 1 = R x ( α i 1 ) D x ( a i 1 ) R z ( θ i ) D z ( d i ) = [ c θ i s θ i 0 a i 1 s θ i c α i 1 c θ i c α i 1 s α i 1 s α i 1 d i s θ i s α i 1 c θ i s α i 1 c α i 1 c α i 1 d i 0 0 0 1 ]
where T i i 1 is the D-H transformation matrix transformed from coordinate system i to i − 1, R x ( α i 1 ) is the rotation matrix representing a rotation of αi−1 around the X axis, D x ( a i 1 ) is the translation matrix representing a translation of ai−1 along the X axis, R z ( θ i ) is the rotation matrix representing a rotation of θ i around the Z axis, D z ( d i ) is the translation matrix representing a translation of d i around the Z axis, c θ i is short for cos θ i , s θ i is short for sin θ i , etc. The transformation matrices of each link determined by the link parameters are multiplied to obtain the position and posture of the center point of the robot’s chest in the base coordinate system:
T 4 0 = T 1 0 T 2 1 T 3 2 T 4 3 = [ R 4 0 3 × 3 P 4 0 3 × 1 0 1 ] = [ r 11 r 12 r 13 p x r 21 r 22 r 23 p y r 31 r 32 r 33 p z 0 0 0 1 ]
where R 4 0 3 × 3 is the rotation transformation matrix transformed from coordinate system 4 to 0, P 4 0 3 × 1 is the position vector transformed from coordinate system 4 to 0, r i j is the element of R 4 0 3 × 3 , and p x , p y , p y is the component of the translation vector P 4 0 3 × 1 .
The rotation matrix R 4 0 3 × 3 can be described by rotating around the axis of a fixed reference coordinate system, as shown in Formula (3):
R 4 0 X Y Z ( γ , β , α ) = [ c α c β c α s β s γ s α c γ c α s β c γ + s α s γ s α c β s α s β s γ + c α c γ s α s β c γ c α s γ s β c β s γ c β c γ ]
where R 4 0 X Y Z ( γ , β , α ) is the equivalent rotation matrix that rotates γ , β , and α around the X, Y, and Z axes of the fixed reference coordinate system.
Equivalently derived X-Y-Z fixed angle from the rotation matrix:
β = Atan 2 ( r 31 , r 11 2 + r 21 2 ) α = Atan 2 ( r 21 / c β , r 11 / c β ) γ = Atan 2 ( r 32 / c β , r 33 / c β )
where Atan 2 ( y , x ) is the arctangent function of a two-parameter variable.
These equations can provide the pose of the robot relative to the world coordinate system. The forward kinematics equation of the robot can be expressed as:
F forword   kinematics ( θ 1 , θ 2 , θ 3 )   =   ( p x , p y , p z , α , β , γ )
As shown in Equation (5), the end pose of the robot can be obtained through the joint variables of the robot. However, in practical applications, it is often necessary to obtain the joint angles of the robot through the end pose of the robot, so the robot inverse kinematics is solved by the formula:
F inverse   kinematics ( p x , p y , p z , α , β , γ )   =   ( θ 1 , θ 2 , θ 3 )
In order to avoid the complicated process of solving robot inverse kinematics, this paper proposes an FOA optimized BP algorithm. The BP neural network is used to fit Equation (5). The fruit fly optimization algorithm is used to optimize the initial weights and thresholds of the BP neural network to improve the global optimization ability of the neural network. The data set is used to continuously train the FOA optimized BP neural network to find the optimal neural network. Finally, the optimal network is used to solve the robot inverse kinematics. The model of the algorithm is shown in Figure 3.

3. Algorithm Principle

3.1. BP Neural Network Algorithm

In 1985, the scholars Rumelhart and McCelland proposed a multi-layer feedforward artificial neural network using the error back propagation algorithm, namely BP neural network [30]. The ordinary BP neural network contains two parts: the forward propagation of the signal and the back propagation of the error. The actual output is calculated from the input to the output, and weights and thresholds are corrected from the output to the input. A single basic artificial neuron model is shown in Figure 4.
Among them, x j ( j = 1 , 2 , , N ) is the input of the j-th node, w i j is the weight, θ i is the threshold, and y i is the output of neuron i. The output y i can be expressed as:
y i = f ( net i ) = f ( j = 1 N w i j x j + θ i )
Among them, the f function is the activation function, and the most commonly used form is the Sigmoid function, and its expression is Formula (8):
f ( x ) = 1 1 + e a x , a C
If the net activation f is positive, the neuron is in an excited state. Otherwise, the neuron is in a suppressed state.
This paper uses the BP algorithm to solve inverse kinematics. A neural network structure is established, and the input layer has six input signals, corresponding to p x , p y , p z , α , β , γ . The output layer has three output signals, respectively, corresponding to the robot’s three joints θ 1 , θ 2 , θ 3 .
According to Kolmogorov’s theorem, a BP neural network with one hidden layer can complete any n-dimensional to m-dimensional mapping [31]. Increasing the number of layers of the neural network can improve the accuracy. However, it will complicate the neural network and extend the training time. Using two hidden layers can make the mapping effect of the neural network better, and increasing the number of neurons in the hidden layer can improve the accuracy. In the BP neural network, the number of neurons in each layer has a great influence on the network performance. According to Equation (6), after experiments and comparisons, this paper chooses a network structure containing two hidden layers. The first hidden layer has 24 neurons, and the second hidden layer has 43 neurons. The designed BP neural network topology is shown in Figure 5.
Figure 5 shows the topology of the designed BP neural network. The layers are fully interconnected, and there is no interconnection between the same layers.
The core of the BP neural network algorithm is to solve the minimum value of the error function. BP neural network adjusts the weights and thresholds of each layer according to the error gradient descent method. There are weaknesses, such as slow convergence, low learning efficiency, weak generalization ability, and easy to fall into local minimums. Therefore, the optimization algorithm is combined for improvement.

3.2. Fruit Fly Optimization Algorithm

The scholar Pan Wenchao proposed a fruit fly optimization algorithm after long-term observation of fruit flies [32]. Compared with other organisms, fruit flies have a particularly sensitive sense of vision and smell. During their activities, fruit flies perceive the taste of food through smell, and use their unique vision to move in the direction where other fruit flies gather.
The fruit fly optimization algorithm is to find the global optimum through the foraging evolution of Drosophila fruit flies. Foraging for fruit flies is divided into two procedures. The first procedure is relying on a strong sense of smell to initially locate the food source and quickly approach the food source; the second procedure is discovering where food and companions gather through vision and fly in that direction. The basic optimization process of the fruit fly optimization algorithm is the fruit fly population starts from a given initial position, and performs an olfactory search according to the given flight direction and step distance. Then, the approximate direction of the optimal solution and the distance between the fruit fly and the optimal solution are preliminarily determined by the concentration, and finally the position of the optimal solution is reached through visual search. The fruit fly optimization algorithm has a good global optimization ability, and can meet the optimization problems in different fields.
According to the foraging process of fruit flies, the fruit fly algorithm performs optimization according to the following necessary steps:
  • Set the size of the fruit fly population and initialize the position of the fruit fly population randomly;
  • Set the direction and distance for individual fruit flies to search randomly through smell:
    X i = X a x i s + RandomValue Y i = Y a x i s + RandomValue
  • The location of the food is unknown. First, calculate the distance D(i) from the origin, and use the reciprocal of the distance D(i) as the taste concentration judgment value S(i):
    D ( i ) = X i 2 + Y i 2 S ( i ) = 1 / D ( i )
  • Substitute S(i) into the taste concentration judgment function fitness, the taste concentration Smell(i) at the individual position of the fruit fly can be obtained:
    S m e l l ( i ) = Fitness ( S ( i ) )
  • Find the fruit fly with the best taste concentration Smell in the population:
    [ b e s t S m e l l , b e s t i n d e x ]   =   minimum ( S m e l l )
  • Keep the X and Y coordinates of the best individual fruit fly, and the best taste concentration value;
  • Repeat steps (2) to (5) for iterative optimization, and judge whether the taste concentration of the current iteration is better than that of the previous iteration, and if so, proceed to the next iteration after step (6).

3.3. FOA Optimized BP Algorithm

In order to make up for the shortcomings of the BP algorithm, this paper uses the FOA algorithm to optimize the parameters of the BP algorithm and improve the generalization ability and output accuracy of the BP algorithm. The algorithm flow is shown in Figure 6.
According to Equation (6), p x ,   p y ,   p z ,   α ,   β ,   γ are input, and θ 1 ,   θ 2 ,   θ 3 are output. A BP neural network structure is constructed with six inputs and three outputs. The input and output samples are normalized. The initial weight and initial threshold of the neural network are randomly generated. In the FOA optimized BP neural network algorithm, the initial weights and initial thresholds are used as the initial position of the fruit fly. The seven steps of the fruit fly optimization algorithm are followed, the value of the corresponding fitness calculated, and then the optimal weight and threshold are found through iteration. Among them, the fitness function is represented by the variance function of the joint angle output by the BP and the expected joint angle, expressed as:
J ( k )   =   1 N i = 1 N ( θ i ( k )     θ i ) 2
where N represents the number of training samples, θ i ( k ) represents the output of the i-th sample at the k-th iteration, and θ i represents the expected output value of the i-th sample.
The optimal weights and thresholds found by the fruit fly optimization algorithm are used as the initial weights and initial thresholds of the BP algorithm to train the neural network. Finally, the trained neural network is used to solve the inverse kinematics. In the FOA optimized BP algorithm, the fruit fly population size is set to 30 and set up to 50 iterations.
The FOA optimized BP algorithm uses the FOA algorithm to find the global optimum, and the BP algorithm to find the local optimum. The algorithm’s convergence speed, generalization ability, and convergence accuracy are improved.

4. Simulation and Discussion

In the simulation experiment, based on the Monte Carlo method, 2000 sets of samples are generated in the robot workspace, of which 1950 sets are used as training samples and 50 sets are used as test samples. The robot end position coordinates and fixed angle samples in the training samples are used as the input of the BP neural network, and the joint angle samples of the robot are used as the output of the BP neural network. Then, theFOA algorithm is used to optimize the convergence of the network, and the weights and thresholds of the BP neural network are returned. The training samples are brought into the FOA optimized BP algorithm to train the network. Finally, the test samples are brought into the trained network for testing, and the joint variables of the robot outputted by the test samples are obtained.
The FOA optimized BP algorithm contains two hidden layers. The first hidden layer has 24 neurons and the second hidden layer has 43 neurons. The number of fruit flies is set to 30, and the number of iterations is set to 50. In order to intuitively reflect the effect of the algorithm proposed in this article, the FOA optimized BP algorithm is compared with the ordinary BP algorithm and the PSO optimized BP algorithm. In the PSO optimized BP algorithm, the number of particles is set to 30, and 50 iterations are set. The learning factor c 1 = c 2 = 2 , and the inertia factor w = 0.95 , are used.
After the simulation, the robot joint variables output by the three algorithms are compared with the expected values in the test samples. Table 2 shows the maximum error range and the overall mean square error (MSE) range of each joint in the 50 groups of samples.
From the results in Table 2, it can be seen that the maximum error range of the joint variables output by the ordinary BP algorithm is [−0.2723, 0.2977], and the range of MSE is [6.400 × 10−6, 1.983 × 10−3]. The maximum error range of the joint variables output by the PSO optimized BP algorithm is [−0.1570, 0.2022], and the range of MSE is [6.390 × 10−6, 1.116 × 10−3]. The maximum error range of the joint variables output by the FOA optimized BP algorithm is [−0.04686, 0.1271], and the range of MSE is [2.870 × 10−7, 3.258 × 10−4]. Figure 7, Figure 8 and Figure 9 show the comparison of the errors of each joint output by the three algorithms for 50 sets of samples. Figure 10 is a comparison of the MSE output by the three algorithms.
It can be seen from Figure 7, Figure 8 and Figure 9 that the output error of the ordinary BP algorithm is the largest, and the output error of the FOA optimized BP algorithm is the smallest. The error distribution of the FOA optimized BP algorithm is relatively uniform. From Figure 10, it can be seen that the MSE output by the FOA optimized BP algorithm is much smaller than the MSE output by the other two algorithms.
It can be seen that when solving the robot inverse kinematics, the error of the FOA optimized BP algorithm is smaller than that of the ordinary BP algorithm and PSO optimized BP algorithm, and the MSE is also significantly reduced. The FOA optimized BP algorithm can improve the accuracy of solving inverse kinematics. The effectiveness of the FOA optimized BP algorithm in solving the inverse kinematics of the robot is verified.

5. Conclusions

This paper proposes an FOA optimized BP algorithm to solve the robot inverse kinematics. The nonlinear mapping ability of the BP neural network was used to avoid the complicated derivation process of solving robot inverse kinematics. Using the characteristics of the fruit fly optimization algorithm, the convergence accuracy, convergence speed, and generalization ability of BP algorithm were improved. The proposed FOA optimized BP algorithm can significantly improve the problems of complex calculations, large calculations, and difficult-to-guarantee accuracy in other robot inverse kinematics solving methods. The experimental results prove that the error of the FOA optimized BP algorithm is obviously smaller than that of the ordinary BP algorithm and the PSO optimized BP algorithm. After obtaining a large amount of experimental data, the positioning accuracy of the robot can be improved, which has important application value.

Author Contributions

Y.B., M.L. and F.P. developed the methodology and drafted the manuscript; Y.B. performed the numerical simulations and experiments; Y.B. revised the paper. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Jiangsu Key R&D Program (Grant Nos. BE2018004-1, BE2018004-2, BE2018004).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

This paper is no data.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bingul, Z.; Ertunc, H.; Oysu, C. Applying neural network to inverse kinematic problem for 6R robot manipulator with offset wrist. In Adaptive and Natural Computing Algorithms; Springer: Vienna, Austria, 2005; pp. 112–115. [Google Scholar]
  2. Zhang, H.; Paul, R.P. A parallel inverse kinematics solution for robot manipulators based on multiprocessing and linear extrapolation. In Proceedings of the IEEE International Conference on Robotics and Automation, Cincinnati, OH, USA, 13–18 May 1990; pp. 468–474. [Google Scholar]
  3. Featherstone, R. Position and velocity transformations between robot end-effector coordinates and joint angles. Int. J. Robot. Res. 1983, 2, 35–45. [Google Scholar] [CrossRef]
  4. Lee, C.G. Robot arm kinematics, dynamics, and control. Computer 1982, 15, 62–80. [Google Scholar] [CrossRef]
  5. Manocha, D.; Canny, J.F. Efficient inverse kinematics for general 6R manipulators. IEEE Trans. Robot. Autom. 1994, 10, 648–657. [Google Scholar] [CrossRef] [Green Version]
  6. Paul, R.P.; Shimano, B. Kinematic control equations for simple manipulators. In Proceedings of the 1978 IEEE Conference on Decision and Control including the 17th Symposium on Adaptive Processes, San Diego, CA, USA, 10–12 January 1979; pp. 1398–1406. [Google Scholar]
  7. Xu, J.; Wang, W.; Sun, Y. Two optimization algorithms for solving robotics inverse kinematics with redundancy. J. Control Theory Appl. 2010, 8, 166–175. [Google Scholar] [CrossRef]
  8. Korein, J.U.; Badler, N.I. Techniques for generating the goal-directed motion of articulated structures. IEEE Comput. Graph. Appl. 1982, 2, 71–81. [Google Scholar] [CrossRef]
  9. Goldenberg, A.; Benhabib, B.; Fenton, R. A complete generalized solution to the inverse kinematics of robots. IEEE J. Robot. Autom. 1985, 1, 14–20. [Google Scholar] [CrossRef]
  10. Köker, R.; Öz, C.; Çakar, T.; Ekiz, H. A study of neural network based inverse kinematics solution for a three-joint robot. Robot. Auton. Syst. 2004, 49, 227–234. [Google Scholar] [CrossRef]
  11. Antsaklis, P.J. Neural networks for control systems. IEEE Trans. Neural Netw. 1990, 1, 242–244. [Google Scholar] [CrossRef] [PubMed]
  12. Kalra, P.; Mahapatra, P.; Aggarwal, D.J. An evolutionary approach for solving the multimodal inverse kinematics problem of industrial robots. Mech. Mach. Theory 2006, 41, 1213–1229. [Google Scholar] [CrossRef]
  13. Secară, C.; Vlădăreanu, L. Iterative genetic algorithm based strategy for obstacles avoidance of a redundant manipulator. In Proceedings of the 2010 American Conference on Applied Mathematics, Cambridge, MA, USA, 27–29 January 2010; pp. 361–366. [Google Scholar]
  14. Köker, R. A genetic algorithm approach to a neural-network-based inverse kinematics solution of robotic manipulators based on error minimization. Inf. Sci. 2013, 222, 528–543. [Google Scholar] [CrossRef]
  15. Ayyıldız, M.; Çetinkaya, K. Comparison of four different heuristic optimization algorithms for the inverse kinematics solution of a real 4-DOF serial robot manipulator. Neural Comput. Appl. 2016, 27, 825–836. [Google Scholar] [CrossRef]
  16. Jiang, G.; Luo, M.; Bai, K.; Chen, S. A precise positioning method for a puncture robot based on a PSO-optimized BP neural network algorithm. Appl. Sci. 2017, 7, 969. [Google Scholar] [CrossRef]
  17. Eberhart, R.; Kennedy, J. A new optimizer using particle swarm theory. In Proceedings of the Sixth International Symposium on Micro Machine and Human Science, MHS’95, Nagoya, Japan, 4–6 October 1995; pp. 39–43. [Google Scholar]
  18. Boudjelaba, K.; Ros, F.; Chikouche, D. Potential of particle swarm optimization and genetic algorithms for FIR filter design. Circuits Syst. Signal Process. 2014, 33, 3195–3222. [Google Scholar] [CrossRef] [Green Version]
  19. Karlik, B.; Aydin, S. An improved approach to the solution of inverse kinematics problems for robot manipulators. Eng. Appl. Artif. Intell. 2000, 13, 159–164. [Google Scholar] [CrossRef]
  20. Ozgoren, M.K. Optimal inverse kinematic solutions for redundant manipulators by using analytical methods to minimize position and velocity measures. J. Mech. Robot. 2013, 5, 031009. [Google Scholar] [CrossRef]
  21. Dereli, S.; Köker, R. IW-PSO approach to the inverse kinematics problem solution of a 7-DOF serial robot manipulator. Sigma J. Eng. Nat. Sci. 2018, 36, 77–85. [Google Scholar]
  22. Ren, H.; Ben-Tzvi, P. Learning inverse kinematics and dynamics of a robotic manipulator using generative adversarial networks. Robot. Auton. Syst. 2020, 124, 103386. [Google Scholar] [CrossRef]
  23. Dereli, S.; Köker, R. Calculation of the inverse kinematics solution of the 7-DOF redundant robot manipulator by the firefly algorithm and statistical analysis of the results in terms of speed and accuracy. Inverse Probl. Sci. Eng. 2020, 28, 601–613. [Google Scholar] [CrossRef]
  24. Zhou, Z.; Guo, H.; Wang, Y.; Zhu, Z.; Wu, J.; Liu, X. Inverse kinematics solution for robotic manipulator based on extreme learning machine and sequential mutation genetic algorithm. Int. J. Adv. Robot. Syst. 2018, 15. [Google Scholar] [CrossRef]
  25. Wu, L.; Liu, Q.; Tian, X.; Zhang, J.; Xiao, W. A new improved fruit fly optimization algorithm IAFOA and its application to solve engineering optimization problems. Knowl. Based Syst. 2018, 144, 153–173. [Google Scholar] [CrossRef]
  26. Darvish, A.; Ebrahimzadeh, A. Improved fruit-fly optimization algorithm and its applications in antenna arrays synthesis. IEEE Trans. Antennas Propag. 2018, 66, 1756–1766. [Google Scholar] [CrossRef]
  27. Han, X.; Liu, Q.; Wang, H.; Wang, L. Novel fruit fly optimization algorithm with trend search and co-evolution. Knowl. Based Syst. 2018, 141, 1–17. [Google Scholar] [CrossRef]
  28. Du, T.S.; Ke, X.T.; Liao, J.G.; Shen, Y.J. DSLC-FOA: Improved fruit fly optimization algorithm for application to structural engineering design optimization problems. Appl. Math. Model. 2018, 55, 314–339. [Google Scholar] [CrossRef]
  29. Xu, X.; Luo, M.; Tan, Z.; Pei, R. Echo signal extraction method of laser radar based on improved singular value decomposition and wavelet threshold denoising. Infrared Phys. Technol. 2018, 92, 327–335. [Google Scholar] [CrossRef]
  30. Rumelhart, D.E.; Hinton, G.E.; Williams, R.J. Learning representations by back-propagating errors. Nature 1986, 323, 533–536. [Google Scholar] [CrossRef]
  31. Kůrková, V. Kolmogorov’s theorem and multilayer neural networks. Neural Netw. 1992, 5, 501–506. [Google Scholar] [CrossRef]
  32. Pan, W.T. A new fruit fly optimization algorithm: Taking the financial distress model as an example. Knowl. Based Syst. 2012, 26, 69–74. [Google Scholar] [CrossRef]
Figure 1. The robot prototype.
Figure 1. The robot prototype.
Applsci 11 07129 g001
Figure 2. Robot kinematics model.
Figure 2. Robot kinematics model.
Applsci 11 07129 g002
Figure 3. The model of the FOA optimized BP neural network.
Figure 3. The model of the FOA optimized BP neural network.
Applsci 11 07129 g003
Figure 4. Single artificial neuron model.
Figure 4. Single artificial neuron model.
Applsci 11 07129 g004
Figure 5. BP neural network topology.
Figure 5. BP neural network topology.
Applsci 11 07129 g005
Figure 6. The flow chart of the FOA optimized BP algorithm.
Figure 6. The flow chart of the FOA optimized BP algorithm.
Applsci 11 07129 g006
Figure 7. Comparison of the error of θ 1 .
Figure 7. Comparison of the error of θ 1 .
Applsci 11 07129 g007
Figure 8. Comparison of the error of θ 2 .
Figure 8. Comparison of the error of θ 2 .
Applsci 11 07129 g008
Figure 9. Comparison of the error of θ 3 .
Figure 9. Comparison of the error of θ 3 .
Applsci 11 07129 g009
Figure 10. Comparison of the overall MSE.
Figure 10. Comparison of the overall MSE.
Applsci 11 07129 g010
Table 1. Link parameters of the robot.
Table 1. Link parameters of the robot.
iαi−1 (rad)ai−1 (mm)di (mm)θi (rad)
1−π/200θ1
2π/20l1θ2
3−π/200θ3 − π
40l200
Table 2. The range of joint error and the range of MSE.
Table 2. The range of joint error and the range of MSE.
Joint Error and MSEBPPSO-BPFOA-BP
Δ θ 1 ( ° ) −0.1530–0.1775−0.07472–0.07594−0.02583–0.03612
Δ θ 2 ( ° ) −0.2723–0.2977−0.1570–0.2022−0.04686–0.1271
Δ θ 3 ( ° ) −0.11206–0.2087−0.07277–0.1599−0.02986–0.03678
MSE6.400 × 10−6–1.983 × 10−36.390 × 10−6–1.116 × 10−32.870 × 10−7–3.258 × 10−4
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Bai, Y.; Luo, M.; Pang, F. An Algorithm for Solving Robot Inverse Kinematics Based on FOA Optimized BP Neural Network. Appl. Sci. 2021, 11, 7129. https://doi.org/10.3390/app11157129

AMA Style

Bai Y, Luo M, Pang F. An Algorithm for Solving Robot Inverse Kinematics Based on FOA Optimized BP Neural Network. Applied Sciences. 2021; 11(15):7129. https://doi.org/10.3390/app11157129

Chicago/Turabian Style

Bai, Yonghua, Minzhou Luo, and Fenglin Pang. 2021. "An Algorithm for Solving Robot Inverse Kinematics Based on FOA Optimized BP Neural Network" Applied Sciences 11, no. 15: 7129. https://doi.org/10.3390/app11157129

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop