Skip to main content
Scientific Reports logoLink to Scientific Reports
. 2022 Jun 8;12:9421. doi: 10.1038/s41598-022-13516-3

An equilibrium optimizer slime mould algorithm for inverse kinematics of the 7-DOF robotic manipulator

Shihong Yin 1, Qifang Luo 1,3,, Guo Zhou 2, Yongquan Zhou 1,3,, Binwen Zhu 1
PMCID: PMC9177595  PMID: 35676308

Abstract

In order to solve the inverse kinematics (IK) of complex manipulators efficiently, a hybrid equilibrium optimizer slime mould algorithm (EOSMA) is proposed. Firstly, the concentration update operator of the equilibrium optimizer is used to guide the anisotropic search of the slime mould algorithm to improve the search efficiency. Then, the greedy strategy is used to update the individual and global historical optimal to accelerate the algorithm’s convergence. Finally, the random difference mutation operator is added to EOSMA to increase the probability of escaping from the local optimum. On this basis, a multi-objective EOSMA (MOEOSMA) is proposed. Then, EOSMA and MOEOSMA are applied to the IK of the 7 degrees of freedom manipulator in two scenarios and compared with 15 single-objective and 9 multi-objective algorithms. The results show that EOSMA has higher accuracy and shorter computation time than previous studies. In two scenarios, the average convergence accuracy of EOSMA is 10e−17 and 10e−18, and the average solution time is 0.05 s and 0.36 s, respectively.

Subject terms: Engineering, Mathematics and computing

Introduction

The inverse kinematics (IK) problem is to determine the joint angle based on the position and posture of the manipulator's end-effector1. That is, the purpose is to accurately transfer the end-effector to the desired position and posture2. It is one of the most fundamental problems in robot technology and plays an essential role in robot motion control, trajectory planning, and dynamic analysis3. However, the IK of redundant manipulators is a complex problem due to nonlinear Equations4. The traditional methods for solving inverse kinematics mainly include the analytic method and numerical iteration method5,6. The IK problem has an analytical solution for a manipulator that conforms to the Pieper standard. However, with the increase of the types of manipulators, many manipulators do not meet the Pieper standard, such as serial-parallel manipulators driven by cable7 and super-redundant serial manipulators8. The IK of redundant manipulators may have many group solutions. Still, it is difficult to obtain satisfactory solutions by traditional methods, and the real-time performance is poor. As a result, it is preferable to solve the IK of the complex manipulator using a metaheuristic approach9. Metaheuristic algorithm is a random method that is a successful alternative to the precise methods for solving practical optimization problems10,11. The advantages of metaheuristics include simplicity of principle, ease of implementation, independence form the problem, and gradient-free characteristics12. Many metaheuristic algorithms, which including particle swarm optimization (PSO)9, firefly algorithm (FA)13, artificial bee colony algorithm (ABC)14, and others, have been effectively applied to the IK of robotic manipulators. Although these algorithms have achieved excellent convergence accuracy, they often do not take into account the end-effector's posture, which reduces the complexity of the IK problem and is inconsistent with most practical applications.

Slime mould algorithm (SMA) is an unique metaheuristic algorithm developed by Li et al.15 in 2020. Due to its capacity to imitate the peculiar oscillatory foraging behavior of slime mould and its remarkable performance, SMA has been effectively applied in a wide variety of fields in less than two years. For example, Abdel-Basset et al.16 and Ewees et al.17 applied the improved SMA to feature selection problems; Abdel-Basset et al.18, Naik et al.19 and Zhao et al.20 used hybrid and improved SMA to solve image segmentation problem (ISP); El-Fergany21, Kumar et al.22, Liu et al.23, Mostafa et al.24 and Yousri et al.25 used hybrid and improved SMA to estimate parameters of solar photovoltaic cells, respectively; Agarwal and Bharti26 applied improved SMA to the collision-free shortest time path planning of mobile robots; Rizk-Allah et al.27 proposed a chaos-opposition-enhanced SMA (CO-SMA) to minimize the energy costs of wind turbines at high-altitude sites; Hassan et al.28 applied improved SMA (ISMA) to efficiently solve economic and emission dispatch (EED) problem with single and dual objectives; Abdollahzadeh et al.29 proposed a binary SMA to solve the 0–1 knapsack problem; Zubaidi et al.30 combined SMA and artificial neural network (ANN) for urban water demand prediction; Chen and Liu31 combined K-means clustering and chaotic SMA with support vector regression to obtain higher prediction accuracy; Ekinci et al.32 applied SMA to the power system stabilizer design (PSSD); Wazery et al.33 combined SMA and K-nearest neighbor for disease classification and diagnosis system; Wei et al.34 proposed an enhanced SMA in power systems for optimal reactive power dispatch; Premkumar et al.35 and Houssein et al.36 developed multi-objective SMA (MOSMA) for solving complicated multi-objective engineering design problems in the real world; Yu et al.37 proposed an improved SMA (WQSMA) that enhanced the original SMA's robustness by using a quantum rotation gate (QRG) and a water cycle operator. Houssein et al.38 proposed a hybrid SMA and adaptive guided differential evolution (AGDE) algorithm, which makes a good combination of SMA's exploitation ability and AGDE's exploration ability.

Although SMA has been used in many fields, it has not been applied to the IK problem. SMA, like most metaheuristic algorithms, suffers from diversity loss and premature convergence as a result of an improper balance between exploration and exploitation (weak exploration ability) during the iterative process of addressing difficult optimization problems. In order to improve the searching ability of SMA, the update strategy of equilibrium optimizer (EO) is used to replace the anisotropic operator of SMA to guide the search of slime mould more efficiently. Secondly, the greedy selection strategy is used to preserve the individual historical optimal location and search based on the information of the individual historical optimal to accelerate the algorithm’s convergence. Finally, to increase the possibility of escaping from the local optimal and avoid overcrowding, a random difference mutation operator is added to the algorithm. In EOSMA, the update operator of EO benefits from an appropriate balance of exploration and exploitation, the search operator of SMA is in charge of the main exploitation, and the random difference mutation operator expands the search range of the search agents during iteration while maintaining population diversity. To verify the efficiency of EOSMA in solving the IK problem of complex manipulator, it is compared with slime mould algorithm (SMA)15, equilibrium optimizer (EO)39, manta ray foraging optimization (MRFO)40, marine predators algorithm (MPA)41, pathfinder algorithm (PFA)42, flower pollination algorithm (FPA)43, differential evolution (DE)44, gradient-based optimizer (GBO)45, teaching–learning-based optimization (TLBO)46, Harris hawks optimization (HHO)47, improved grey wolf optimizer (IGWO)48, hybrid PSO and gravitational search algorithm (PSOGSA)49, centroid opposition-based differential evolution (CODE)50, multi-trial vector-based differential evolution (MTDE)51, self-adaptive spherical search algorithm (SASS)52 and the results of previous studies. Then, a multi-objective EOSMA (MOEOSMA) is proposed and compared with MOSMA35, multi-objective PSO (MOPSO)53, multi-objective MPA (MOMPA)54, multi-objective ant lion optimizer (MOALO)55, multi-objective dragonfly algorithm (MODA)56, multi-objective grey wolf optimizer (MOGWO)57, multi-objective multi-verse optimization (MOMVO)58, multi-objective salp swarm algorithm (MSSA)59, multi-objective evolutionary algorithm based on decomposition (MOEA/D)60 on the IK problem of a 7 degrees of freedom (DOF) manipulator. This paper's primary contributions are as follows:

  1. A hybrid EOSMA was developed to enhance the algorithm's search capability and balance exploration and exploitation;

  2. By introducing the archiving mechanism of non-dominated solutions, a multi-objective variant of EOSMA (MOEOSMA) was developed;

  3. EOSMA and MOEOSMA were applied to the IK of the redundant manipulator to validate the algorithm's performance and broaden its application range;

  4. The influence of end-effector posture on the IK problem was investigated in order to provide a reference for relevant researchers.

The remainder of this work is structured as follows. Section “Related works” provides a synopsis of relevant works in the literature. Section “Preliminaries” introduces the SMA and EO algorithms, as well as the basic notions of multi-objective optimization. Section “The proposed EOSMA algorithm” describes the implementation steps of the EOSMA and MOEOSMA in detail. Section “Kinematics analysis of manipulator” presents the manipulator’s kinematics equation. The fitness function for the IK problem is defined in Sect. “EOSMA for inverse kinematics”. Section “Experimental results and discussions” reports and discusses the experimental results. Finally, Sect. “Conclusions and future directions” concludes the paper.

Related works

Inverse kinematics is a fundamental problem of robot technology, which plays a crucial role in robot trajectory planning, motion control, and dynamics analysis61. Due to the inverse kinematics equation being highly nonlinear, the traditional algorithm takes a long time to solve, and it is difficult to obtain ideal results. Therefore, previous researchers developed a variety of metaheuristic algorithms to address the IK problem of robotic manipulators. Huang et al.62 employed PSO to tackle the IK problem of a 7-DOF robotic manipulator; Ram et al.63 used a bidirectional PSO approach to address the IK problem caused by manipulator position shift; Adly et al.64 proposed single-objective and multi-objective versions of improved PSO, and verified the performance of the algorithm on 5-DOF and 7-DOF robotic manipulators; Ayyıldız and Çetinkaya65 solved IK of a 4-DOF serial robotic manipulator using GA, PSO, QPSO, and GSA. According to the results, QPSO has the best problem-solving performance; Dereli and Köker9 applied QPSO to solve the IK of 7-DOF serial manipulator and compared it with FA, PSO, and ABC. The results show that QPSO has higher solving accuracy and shorter calculation time than the contrast algorithm; Liu et al.66 proposed a parallel learning PSO (PLPSO) to solve the IK problem and verified the practicability and feasibility of the algorithm on UR5 manipulator; Dereli and Köker67 proposed a RDV-PSO that combines golf ball movements and PSO, and applied it to the IK solution of 7-DOF manipulator; Momani et al.68 applied the traditional GA and the continuous GA to the IK problem respectively, and the results showed that the continuous GA was superior to the traditional GA in all aspects; López-Franco et al.69 applied DE to the IK of the manipulator. Simulation and experimental results show the applicability of this method; Rokbani et al.70 applied FA to the IK problem and tested it on a three-link articulated planar system, and conducted a statistical analysis on the convergence and solution quality of 100 tests; Dereli and Köker13 applied FA to the IK problem of a 7-DOF redundant manipulator and compared it with PSO and ABC; Çavdar and Milani71 proposed a method for solving IK of a robot manipulator based on improved ABC, and the results illustrate that the proposed algorithm outperforms PSO and HS in positioning accuracy and solving time; El-Sherbiny et al.72 proposed K-ABC, which used different parameters in the process of updating food sources, and then used K-ABC to calculate the IK of a 5-DOF manipulator. Dereli and Köker73 proposed an ABC for solving the IK of the 7-DOF manipulator; Zhang and Xiao14 proposed a CPABC algorithm based on ABC to solve the IK of 7-DOF manipulator. The CPABC utilized chaotic mapping to optimize the population distribution of the initial food source and avoided local optimum; Dereli74 used the modified GWO, FPD-GWO, to solve the IK problem and compared it with GWO. The results reveal that FPD-GWO has a significantly higher convergence accuracy than GWO; Dereli75 proposed an modified WOA, ASI-WOA, which avoided the problems of sluggish convergence speed and frequent falling into local optimum, and evaluated the performance of ASI-WOA on the IK problem; Toz76 proposed a vortex search algorithm based on chaotic mapping (CVS), and verified the performance of CVS on a 6-DOF series manipulator; Wu et al.77 proposed an algorithm that combines the parameterization method with the T-IK method to address the IK problem in the position domain of redundant manipulators, and they tested the T-IK algorithm on an 8-DOF tunnel shotcrete robot. However, the posture of the end-effector is usually not considered in previous studies when solving IK problems, and the performance of solving accuracy, stability, and real-time performance of algorithms need to be further improved.

Preliminaries

Slime mould algorithm

Slime mould algorithm (SMA) is a metaheuristic algorithm developed by Li et al.15 that is inspired by slime mould's peculiar oscillatory foraging behavior. Slime mould can explore for food sources based on the odor concentration of food in the air during foraging. In this process, SMA mainly simulates three different morphologies of slime mould foraging: (1) When rand<z, the contraction pattern of slime mould is unstable and becomes anisotropic, which can be searched anywhere in the search space; (2) When r<p, slime mould begins to form thick vein-like tube along the radius; (3) When rp, the contractile morphology of slime mould no longer changes over time, and the vascular structure disappears, as shown in Eq. (1).

X=rand·(UB-LB)+LBrand<zXb+vb·W·XA-XBr<pvc·Xrp 1

where W is the search agent's fitness weight, vb is a random number vector in [-a,a], and vc declines linearly from 1 to 0, and Xb is the best location of the current iteration. XA and XB are two locations selected at random from the population. The value of p is calculated as Eq. (2).

p=tanh|S(i)-DF| 2

where S signifies the fitness of the search agents and DF denotes the best fitness of all iterations. The value of a in the range of vb is calculated as Eq. (3).

a=atanh1-t/max_t 3

The W is calculated as Eq. (4).

W(SIdx(i))=1+r·logbF-S(i)bF-wF+1i<N21-r·logbF-S(i)bF-wF+1others 4
SIdx=sort(S) 5

where N represents the population size, r is a random number vector in the range [0, 1], bF is the best fitness in the current iteration, and wF is the poorest fitness, SIdx represents the result of the ascending order of fitness.

Characteristics of SMA

SMA has the advantages of simple principle, low time complexity, and fast convergence speed. The elite strategy, ranking mechanism, and archiving mechanism are not adopted. All search individuals simply and equally choose to be close to or away from the best food source Xb. The location X is updated based on the currently obtained optimal location Xb, and the population of slime mould is continuously guided to converge to the optimal location rapidly. As a result, SMA's exploitation ability outperforms that of exploration, and it is easy to fall into a local optimum. In addition, from Eq. (1), it can be seen that the performance of SMA mainly comes from the oscillatory foraging process of simulating slime mould to form vein-like tubes. In fact, for most real-world application problems, the first operator and the third operator of Eq. (1) are inefficient. The first operator only searches randomly, and the third operator will guide the slime mould to converge to the origin, which reduces the search efficiency. Therefore, the update operator of SMA will be simplified and improved in this paper. Please refer to15 for the detailed steps and pseudo code of the SMA.

Equilibrium optimizer

The equilibrium optimizer (EO) is a physically-based metaheuristic algorithm developed by Faramarzi et al. in 2020 that is inspired by mass balance of controlled volume and can estimate dynamic and equilibrium states simultaneously39. The mass balance equation describes the physical process of mass entering, exiting, and generating in the control volume78. In EO, search agents update their concentration (location) at random in order to find some genius particles known as equilibrium candidates in order to attain the final equilibrium state as the global optimal. Equation (6) shows the updating formula.

C=Ceq+FC-Ceq+1-FG/λ·V 6

where C is the current solution, Ceq is a randomly selected solution from the equilibrium pool, F is an adaptive parameter, G is the mass generation rate, λ is a random number vector in [0, 1], and V=1 signifies the unit volume. There are five candidate solutions in the equilibrium pool. Four are the best candidate solutions found so far, and another is the average concentration (center location) of these four candidate solutions, as shown in Eq. (7).

Ceq,pool=Ceq,1,Ceq,2,Ceq,3,Ceq,4,Ceq,ave 7

The F is adaptively adjusted according to Eq. (8).

F=a1·signr-0.5·e-λt1-1t1=1-t/max_ta2·tmax_t 8

where a1[1,2] and a2[1,2] control the exploration and exploitation, respectively. The larger a1 is, the stronger the exploration ability is, and the larger a2 is, the stronger the development ability is, and vice versa. sign represents the symbolic function. r and λ are vectors of random numbers in [0, 1]. The G is calculated by Eq. (9).

G=0.5r1Ceq-λCFr2GP0r2<GP 9

where r1 and r2 are random numbers in [0, 1] and GP=0.5 is the generation probability. More detailed steps and pseudo-code for EO are given in39.

The basic notions of multi-objective optimization

Multi-objective optimization needs to optimize two or more objective functions simultaneously and cannot balance them explicitly; that is, there is no optimal solution that meets all objectives at once. Without loss of generality, multi-objective optimization can be expressed as the following optimization problem79:

Minimize:F(x)=f1(x),f2(x),,fM(x)Ts.t.:gi(x)0,i=1,2,,mhi(x)=0,i=1,2,,nx=(x1,x2,,xDim)LixiUi,i=1,2,,Dim 10

where M represents the number of sub-objectives, m denotes the number of inequality constraints, and n denotes the number of equality constraints, Dim represents the dimension of decision variables, [L,U] represents the search range of decision variables.

There is usually no optimal solution for multi-objective optimization problems that minimizes all sub-objectives simultaneously. In this scenario, utilizing arithmetic relation operators to compare different solutions is not possible. In the multi-objective search space, we can compare the two search agents using Pareto optimal dominance56. The following are the definitions of Pareto dominance and Pareto optimality:

Definition 180

(Pareto dominance). Assume there are two vectors, x and y. If and only if the following criteria are met, vector x dominates y (expressed as xy):

i{1,2,,M}:fi(x)fi(y)i{1,2,,M}:fi(x)<fi(y) 11

according to Eq. (11), a solution vector x is superior to another y if it has better or equal values on all objectives and better values on at least one of them.

Definition 280

(Pareto optimality). If and only if the following criteria are met, a solution vector xD is said to be Pareto optimal:

¬yD:yx 12

where D denotes the decision space. According to Eq. (12), if no other solution vector in decision space D is superior to x, then x is considered the Pareto optimal solution.

Definition 380

(Pareto optimal set). The Pareto optimal set (PS) is a set that contains all non-dominated solutions to a given problem:

PS={x|¬yD:yx} 13

Definition 480

(Pareto optimal front). The Pareto optimal front (PF) is the mapping set of the PS on the objective space, and its expression is as follows:

PF={F(x)|xPS} 14

The proposed EOSMA algorithm

The EOSMA for single-objective problems

In EOSMA, the following improvement strategies are mainly adopted: (1) The individual and global historical optimal of PSO are introduced81. The individual historical optimal is preserved by greedy selection and memory mechanism. In the update operator of SMA, the individual and global historical optimal are used to update, to accelerate the algorithm’s convergence; (2) The concentration update operator of EO is used to replace the less efficient anisotropic search operator in SMA to balance the concentration of slime mould in all directions and improve the search efficiency of the algorithm; (3) The random difference mutation operator is introduced. After the location update, the mutation mechanism is employed to improve the algorithm's exploration ability, helping it to escape from the local optimum and avoid premature convergence; (4) The boundary checking of the algorithm is improved, and the solution vector beyond the search boundary is updated to the midpoint of the current solution to the search boundary to avoid the invalid search. Therefore, the location update formula of EOSMA is shown in Eq. (15).

X(t+1)=Xeq(t)+pBest(t)-Xeq(t)·F+G·1-F/λ·Vrand<zgBest(t)+vb·W·pBestA(t)-pBestB(t)others 15

where Xeq is a randomly selected solution from the equilibrium pool, X is the location of the search agents, gBest is the best location found so far, pBestA and pBestB are two location vectors randomly selected from the individual historical optimal, z=0.5 is the parameter of the hybrid algorithm obtained by experiments, and the meaning of the remaining parameters are the same as in EO and SMA.

In order to improve the exploration ability of the algorithm and the probability of escaping from the local optimum, the search agents execute the random difference mutation strategy after updating by Eq. (15). The mathematical model of the mutation operator is shown in Eq. (16).

X(t+1)=pBestR1(t)+SF·pBestR2(t)-pBestR3(t) 16

where SF is a random number taking value in [0.3, 0.6], R1,R2,R3 are three random integer vectors, the element takes value in [1, N], and N represents the population size.

After the search agent location is updated, check the solution to ensure it is within the search range. For the solution vector beyond the search range, the usual practice is to pull it back to the boundary. In this way, it is easy to produce invalid searches and reduce search efficiency. In EOSMA, the boundaries are checked by Eq. (17).

Xi,j(t+1)=Xi,j(t)+UB/2Xi,j(t+1)>UBXi,j(t)+LB/2Xi,j(t+1)<LBXi,j(t+1)others 17

Finally, after each fitness evaluation, the individual historical optimal location is updated using the greedy strategy, as shown in Eq. (18).

pBesti(t+1)=Xi(t+1)SXi(t+1)<SpBesti(t)pBesti(t)others 18

In EOSMA, using the Xeq randomly selected in the equilibrium pool to update the location is equivalent to introducing a GWO-like hierarchical mechanism12. Therefore, compared with SMA, EOSMA introduces a greedy selection strategy, hierarchical partitioning mechanism, differential mutation mechanism, and boundary checking strategy. Greedy selection and boundary checking strategy enhance the exploitation ability, and hierarchical partitioning and differential mutation mechanism enhance the exploration ability. As a result, the exploration and exploitation abilities of EOSMA are improved compared with EO and SMA. Figure 1 shows the flowchart of EOSMA, and Algorithm 1 presents its pseudo-code.graphic file with name 41598_2022_13516_Figa_HTML.jpg

Figure 1.

Figure 1

Flow chart of the EOSMA.

The EOSMA for multi-objective problems (MOEOSMA)

Two components were added to EOSMA to transform it to a multi-objective version. The first component is an archive that retains all of the Pareto optimal solutions discovered that so far. The second component is a technique for ranking Pareto optimal solutions based on congestion metrics, which updates the equilibrium pool.

The archive is used to store and retrieve PS and PF found so far, and its capacity is the same as the population size. The location update operator of the search agent is the same as EOSMA, but the food source (optimal location) is selected from the archive. An archive updating approach similar to that employed in MOPSO82 is used to obtain a well-distributed PF. The archive always collects Pareto optimal solutions from the current population and updates them through the following steps:

  1. Combine the new solutions from each iteration with the previous Pareto optimal solutions from the archive, and then check the combined solutions If a solution is not dominated by other solutions, added it to the archive; Otherwise, discard it;

  2. Check whether the same solution still exists in the archive, and then remove it;

  3. The solutions in the archives are graded based on congestion. The less congested the area, the more important the solutions, and vice versa.

  4. If the number of solutions in the archive exceeds the capacity of the archive, the roulette selection method is used to remove the solution with higher congestion;

  5. Re-rank the solutions in the archive based on congestion.

All solutions stored in the archive obtained according to the above update rules will dominate other solutions in the population. The conceptual model of congestion level is shown in Fig. 2. A hypersphere with a radius of dr is defined, and the number of solutions in the hypersphere is taken as the congestion level of the solutions, centering on the fitness of each solution. The calculation formula of distance radius dr is Eq. (19).

dr=max-minArchivesize 19

where max and min are two vectors that store the maximum and minimum fitness of each objective, respectively, and Archivesize is the archive size54.

Figure 2.

Figure 2

Model of selecting a food source or eliminating a solution from the archive.

The multi-objective optimization approach relies on convergence and coverage to obtain the Pareto optimal solution. The convergence is mainly determined by the performance of EOSMA, and the coverage is mainly determined by the archive update rules. As can be seen from Fig. 2, there are more non-dominant solutions near the solutions with higher congestion levels. In order to improve coverage of PF, the solutions with higher congestion levels should be removed preferentially, while the solutions with lower congestion levels need to be preserved vigorously. If the number of non-dominant solutions exceeds the archive capacity, the probability that each solution is removed is calculated using Eq. (20).

Pi=NiC 20

where Pi defines the probability of selecting the i-th non-dominated solution, C means the cumulative sum of the congestion levels of all non-dominated solutions, and Ni denotes the congestion level of the i-th non-dominated solution.

The equilibrium pool maintains multiple optimal solutions discovered thus far, which broadens the algorithm's search range and improves EOSMA's global search capability. The fitness of search agents can be directly compared for single-objective optimization, and the search agent with the best fitness can be selected and put into the equilibrium pool. For multi-objective optimization, MOEOSMA's archive stores the non-dominant solutions of the current iteration. The solutions with the lowest congestion level can be regarded as the best food source. Therefore, the solution with the lowest congestion level in the archive is put into the equilibrium pool. Each iteration randomly selects a solution in the equilibrium pool as the global optimal location gBest in Eq. (15). It is worth noting that there are 5 solutions in the equilibrium pool of EOSMA, while the number of solutions in the equilibrium pool of MOEOSMA varies. In addition, unlike many heuristic algorithms, SMA needs to sort the fitness during each iteration to evaluate individual fitness weight. Due to the individual fitness of several objectives cannot be compared simultaneously in multi-objective optimization, this work used a rotation sorting approach to estimate the individual fitness weight of slime mould, as shown in Eq. (21).

Oi=rem(t,M)+1 21

where Oi signifies the fitness of the i-th objective function selected for sorting, t signifies the number of current iterations, and M signifies the number of problem objectives. Figure 3 shows MOEOSMA's flow chart, and Algorithm 2 presents the pseudo-code.

Figure 3.

Figure 3

Flow chart of the MOEOSMA.

graphic file with name 41598_2022_13516_Figb_HTML.jpg

Complexity analysis

EOSMA comprises sub-components: population initialization, fitness evaluation, greedy selection, fitness sorting, fitness weight update, equilibrium pool update, search agent location update, and mutation operator. The computational complexity of initialization is O(NDim), the time complexity of greedy selection and equilibrium pool update are O(N), the computational complexity of fitness weight update, location update, and mutation operation are all O(NDim), and the computational complexity of fitness sorting is O(NlogN). Assuming that the time complexity of the fitness evaluation function is O(F), the time complexity of EOSMA is Omax_tNDim+NlogN+F, where N denotes population size, Dim denotes problem dimensionality, F denotes the time to compute the fitness function once, and max_t denotes the maximum number of iterations of the algorithm. EOSMA's space complexity is O(NDim).

MOEOSMA extends EOSMA components with the archive update operator. It has a time complexity of O(NA2M), where NA is the archive capacity and M is the number of targets. As a result, MOEOSMA's time complexity is Omax_tNA2M+NDim+NlogN+F. MOEOSMA has the same space complexity as EOSMA, which is O(NDim).

Kinematics analysis of manipulator

As illustrated in Fig. 4, the robotic manipulator's kinematics analysis includes forward kinematics (FK) analysis and inverse kinematics (IK) analysis. FK calculates the end-effector's position and posture based on the joint angle vector, and IK calculates the matching joint angle vector based on the position and posture.

Figure 4.

Figure 4

Kinematics analysis of the robotic manipulator.

IK is a fundamental problem in robotics, which plays an important role in motion control, and trajectory planning61. For the manipulator that meets the Pieper standard, the analytical method can be used to solve it. Still, for the more general manipulator, the analytical method cannot be used to solve it, especially for the manipulator with the offset wrist66. The manipulator with 7-DOF has been widely used in industry because of its easy obstacle avoidance, flexible movement, and working in a large space9. This work uses the previously studied 7-DOF series robotic manipulator9,74,75 as a test instance to validate the effectiveness and efficiency of the proposed EOSMA. The structure of the manipulator is shown in Fig. 5, which is composed of 7 rotating joints and 6 connecting rods in series, and the end-effector has an offset of 5 cm. Therefore, the structure of the manipulator does not meet the Pieper standard, and it is difficult to obtain its IK equation by the analytical method.

Figure 5.

Figure 5

The structure of the 7-DOF robotic manipulator.

The forward kinematics model needs to be established before studying the inverse kinematics of the manipulator. Denavit-Hartenberg (DH) parameters can uniquely determine the structure of manipulator and are widely used in FK modeling of robotic manipulator66. Table 1 lists the DH parameters of the manipulator studied in this paper, where ai,αi,di,θi represent the length of the connecting rod, the torsion angle of the connecting rod, the offset of the connecting rod, and the joint angle, respectively.

Table 1.

DH parameters of the 7-DOF robotic manipulator9.

Joint ai(m) αi(rad) di(m) θi(rad)
1 0 -π/2 l1=0.5 -π<θ1<π
2 l2=0.2 π/2 0 -π/2<θ2<π/6
3 l3=0.25 -π/2 0 -π/2<θ3<2π/3
4 l4=0.3 π/2 0 -π/2<θ4<π/2
5 l5=0.2 -π/2 0 -π/2<θ5<π/2
6 l6=0.2 0 0 -π/2<θ6<π/2
7 l7=0.1 0 d7=0.05 -π/6<θ7<π/2

The FK model of the manipulator is established using the standard DH parameter method, and the homogeneous transformation matrix of the single joint is presented in Eq. (22)5.

i-1iT=cθi-sθi·cαisθi·sαiai·cθisθicθi·cαi-cθi·sαiai·sθi0sαicαidi0001 22

where i-1iT is the homogeneous transformation matrix of joint i-1 to i, sθi and cθi stand in for sin(θi) and cos(θi), respectively.

By substituting each row of data in Table 1 into Eq. (22), the homogeneous transformation matrix of each joint can be obtained, as shown in Eq. (23).

01T=cθ10-sθ10sθ10cθ100-10l10001;12T=cθ20sθ2l2cθ2sθ20-cθ2l2sθ201000001;23T=cθ30-sθ3l3cθ3sθ30cθ3l3sθ30-1000001;34T=cθ40sθ4l4cθ4sθ40-cθ4l4sθ401000001;45T=cθ50-sθ5l5cθ5sθ50cθ5l5sθ50-1000001;56T=cθ6-sθ60l6cθ6sθ6cθ60l6sθ600100001;67T=cθ7-sθ70l7cθ7sθ7cθ70l7sθ7001d70001. 23

The FK equation of the end-effector relative to the base is produced by multiplying all homogeneous transformation matrices, as shown in Eq. (24).

TEnd - Effector=07T=01T·12T·23T·34T·45T·56T·67T 24

where TEnd - Effector represents the end-effector's homogeneous transformation matrix with regard to the base coordinate system. When the value of a given joint variable is in Eq. (24), the alternative representation of TEnd - Effector can be written as Eq. (25).

TEnd - Effector=nsap0001=nxsxaxpxnysyaypynzszazpz0001 25

where (px,py,pz)T represents the end-effector's position element in the base coordinate system, and (n,s,a) represents the posture element, that is, the rotation element.

Although the rotation matrix (n,s,a) has nine elements, it has only three degrees of freedom and is a unit orthogonal matrix with redundancy. Therefore, the Euler angle is used to describe the posture of the end-effector, and its calculation formula is shown in Eq. (26)66.

α,β,γ=arctan-ay/az,arctanax/nx2+sx2,arctan-sx/nx 26

Thus, the position and posture can be expressed as P=(px,py,pz,α,β,γ), where (px,py,pz) is the position vector and (α,β,γ) is the posture vector expressed by Euler angle. The FK equation of the simplified 7-DOF robotic manipulator is shown in Eq. (27).

px=d7(s5h-c5b)+l7s7o+n(l6+l7c7)-l5i-l4h-l3a+l2c12py=-d7(s5j-c5d)-l7s7(c6k+s6p)-(l6+l7c7)(s6k-c6p)+l5p+l4j+l3c+l2c2s1pz=d7l+l7s7(s6m-c6f)-(l6+l7c7)(c6m+s6f)-l5m-l4e-l3c3s2-l2s2+l1α=atan((s5j-c5d)/l)β=atan((s5h-c5b)/((c7n+s7o)2+(c7o-s7n)2)0.5)γ=atan((s7n-c7o)/(c7n+s7o))wherea=s13-c123b=c3s1+c12s3,c=c1s3+c23s1,d=c13-c2s13,e=c2s4+c34s2,f=c24-c3s24,g=s4a-c14s2,h=c4a+c1s24,i=c5h+s5b,j=c4c-s124k=s4c+c4s12,l=s5e+c5s23,m=c5e-s235,n=s6g-c6i,o=c6g+s6i,p=c5k+s5d. 27

where si and ci stand in for sin(θi) and cos(θi), sij and cij stand in for sin(θi)·sin(θj) and cos(θi)·cos(θj), respectively.

As mentioned above, the FK equation of the 7-DOF robotic manipulator can be easily obtained by using DH coordinate method. Given the joint angle vector θ1,θ2,θ3,θ4,θ5,θ6,θ7, the position and posture (px,py,pz,α,β,γ) of the manipulator can be directly calculated by Eq. (27). However, given the position and posture (px,py,pz,α,β,γ) of the manipulator, the IK equation used to obtain the joint angle vector θ1,θ2,θ3,θ4,θ5,θ6,θ7 is highly nonlinear, which is considered to be a very challenging optimization problem76.

EOSMA for inverse kinematics

The manipulator's IK problem is defined as determining the corresponding joint angle based on the position and posture of the end-effector. The IK problem of complex structure manipulator belongs to the NP problem group83. Due to the analytical method is extremely difficult to use, this research employs the developed EOSMA to address the IK problem. The relationship between the EOSMA algorithm and the IK problem is shown in Table 2.

Table 2.

The correspondence between EOSMA and IK problem.

Biological principle EOSMA IK problem
Slime mould location Search agent location pBest Candidate joint angles of the manipulator
The venous form of slime mould Global optimum location gBest The best joint angle
Food odor concentration Fitness value S The error between the end-effector poses corresponding to the candidate joint angles and the desired pose
Positive and negative feedback Search agent location weights W Weight of candidate joint angles
Transition contraction mode Adaptive parameter z Update method of candidate joint angles
Close to or away from food sources Adaptive parameter vb Update direction of candidate joint angles

The purpose of this study is to optimize the joint angle vector θi=(θ1,θ2,θ3,θ4,θ5,θ6,θ7) of the manipulator to eliminate position and posture errors. The FK formula is used to calculate the end-effector’s position and posture corresponding to the joint angle vector. For the desired pose P0=(px0,py0,pz0,α0,β0,γ0), the fitness of the candidate joint angle vector θi is defined as Eq. (28).

ferror(θi)=w1·f1(θi)+w2·f2(θi) 28
f1(θi)=[(pxi-px0)2+(pyi-py0)2+(pzi-pz0)2]12 29
f2(θi)=[(αi-α0)2+(βi-β0)2+(γi-γ0)2]12 30

where w1+w2=1 represents the weight of position and posture error, and Pi=(pxi,pyi,pzi,αi,βi,γi) denotes the end-effector’s position and posture corresponding to the joint angle vector θi, which can be obtained from Eq. (27).

The fitness function defined by Eq. (28) consists of position and posture error. It should be noted that in previous studies, many researchers only considered position without considering posture, reducing the complexity of the IK problem. Although those algorithms have obtained high accuracy, they are inconsistent with many real-world applications. The end-effector’s position and posture are considered comprehensively in this study, and the complete pose of the manipulator is obtained. For EOSMA, the location of the search agents is the joint angle vector, i.e., pBesti=θi. The search range of joint angles is presented in Table 1.

Due to the randomness of the metaheuristic algorithm, poor outliers may appear in a single run, which will affect the average solution accuracy of the algorithm. In this study, the threshold for judging whether the algorithm has been solved successfully is set as 10e−6. If the solution result is less than 10e−6, the algorithm is considered to have been solved successfully, and the solution result of the algorithm is retained; Otherwise, the algorithm is employed to solve again until the algorithm's maximum number of failures is reached. The maximum number of failures of all comparison algorithms is set to 10. Figure 6 explains the flow chart of EOSMA for the IK problem.

Figure 6.

Figure 6

Flow chart of the EOSMA implementation for the IK problem.

Experimental results and discussions

The effectiveness and efficiency of the EOSMA in handling the IK problem were validated in two scenarios in this section. Firstly, EOSMA was compared with 15 well-known algorithms without considering posture and then compared with the results of existing studies. Then, the proposed method was compared with 15 well-known single-objective algorithms and 9 multi-objective algorithms in the scenario of comprehensively considering position and posture. Finally, according to the calculated joint angle vector and the current angles of the manipulator, the joint change of the manipulator was simulated, and the motion trajectory of the end-effector was drawn. All algorithm codes were run in MATLAB R2020b, and the hardware details were Intel(R) Core (TM) i7-9700 CPU (3.00 GHz) and 16 GB RAM. In the experiment, the pose error and calculation time are given priority, and the best, worst, mean, and standard deviation are employed as the algorithm's performance metrics.

Parameter settings

To fully demonstrate the effectiveness and efficiency of EOSMA in solving the IK problem, it is compared with 15 single-objective algorithms and 9 multi-objective algorithms. These algorithms include SMA15, EO39, DE44, TLBO46, FPA43, MRFO40, MPA42, PFA42, GBO45, HHO47, IGWO48, PSOGSA49, CODE50, MTDE51, SASS52, MOSMA35, MOPSO53, MOMPA54, MOALO55, MODA56, MOGWO57, MOMVO58, MSSA59, MOEA/D60. All algorithms use the same common parameters for a fair comparison, and other parameters are taken from the values suggested in the original paper, as shown in Tables 3 and 4. In scenario 1, the mutation probability q of EOSMA is set as 0, and the exploration factor a1 is set as 1. In scenario 2, the mutation probability q is set as 1, and the exploration factor a1 is set as 2.

Table 3.

Parameter settings of the single-objective algorithms. For scenario 1, N = 50, Max_t = 500; For scenario 2, N = 100, Max_t = 1000.

Algorithms Parameters Values Algorithms Parameters Values
EOSMA Hybrid parameter z 0.5 IGWO Convergence factor a [2, 0]
Mutation probability q 0 and 1 PSOGSA Inertia weight w [1, 0]
Control volume V 1 Personal cognition coefficient c1 0.5
Generation probability GP 0.5 Social cognition coefficient c2 1.5
Exploration factor a1 1 and 2 Gravitational constant G0 1
Exploitation factor a2 2 Constant α 23
SMA Constant z 0.03 CODE Scale factor F 0.5
EO Control volume V 1 Crossover rate Cr 0.9
Generation probability GP 0.5 Generation jumping rate Jr 0.3
Exploration factor a1 2 MTDE Constant WinIter 20
Exploitation factor a2 1 Constant H 5
MRFO Somersault factor S 2 Constant initial 0.001
MPA Constant p 0.5 Constant final 2
Constant FADs 0.2 Parameter Mu log(Dim)
FPA Scale factor a 2 Constant μf 0.5
Constant b 0.5 Constant σ 0.2
Proximity probability p 0.2 SASS Constant pr 0.11
DE Scale factor F 0.5 Population size N [18*Dim, 4]
Crossover rate Cr 0.9 Rank of diagonal matrix rd 0.5
GBO Constant pr 0.5 Scale factor c 0.7
TLBO Teaching factor TF {1, 2} Archiving size Ar 1.4
HHO Constant β 1.5 Memory size Ms 100

Table 4.

Parameter settings of the multi-objective algorithms. For all algorithms, archive size was set to 100, N = 100, Max_t = 1000.

Algorithms Parameters Values Algorithms Parameters Values
MOEOSMA Hybrid parameter z 0.5 MOPSO Inertia weight w 0.5
Mutation probability q 1 Damping rate 0.99
Control volume V 1 Personal cognition coefficient c1 1
Generation probability GP 0.5 Social cognition coefficient c2 2
Exploration factor a1 2 Number of grids 7
Exploitation factor a2 2 Grid inflation rate α 0.1
MOSMA Constant z 0.03 Leader selection pressure β 2
MOMPA Constant p 0.5 Deletion selection pressure γ 2
Constant FADs 0.2 Mutation rate μ 0.1
MOGWO Grid inflation rate α 0.1 MODA Inertia weight w 0.9–0.7
Number of grids n 10 MOMVO Minimum probability WEPmin 0.2
Leader selection pressure β 4 Maximum probability WEPmax 1
Deletion selection pressure γ 2 MOEA/D Crossover parameter γ 0.5
MOALO Parameter less NA MSSA Parameter less NA

Result obtained for scenario 1

Comparison of EOSMA with other SI algorithms

In this part, EOSMA is compared against 15 well-known algorithms for the IK problem that do not take posture into account. Due to the metaheuristic algorithms run at random, each run will have a higher or lower value than the preceding one. To avoid the influence of randomness in the selection of position points, 100 different position points were generated at random in the workspace of the manipulator, as shown in Fig. 7, where the color represent the position's height.

Figure 7.

Figure 7

Randomly selected position points in the workspace of the manipulator.

The results obtained by the comparison algorithm are shown in Table 5. It can be seen that EOSMA, EO, MRFO, PFA, and GBO can all obtain theoretical optimal solutions with zero error without considering the posture, but EOSMA has the best robustness and the shortest solution time. The average convergence accuracy of EOSMA is 9 orders of magnitude higher than EO and 13 orders of magnitude higher than SMA, which verifies the effectiveness and efficiency of EOSMA in the IK problem.

Table 5.

Comparative results of inverse kinematics problem.

Algorithm EOSMA SMA EO MRFO MPA PFA FPA DE
Worst 7.85E−16 3.09E−02 7.99E−07 9.92E−07 4.28E−07 2.66E−07 5.99E−02 9.93E−07
Mean 2.64E−17 9.57E−04 2.45E−08 1.37E−07 7.75E−08 5.73E−09 6.57E−03 2.97E−07
Best 0.00E+00 4.17E−05 0.00E+00 0.00E+00 1.43E−08 0.00E+00 3.26E−12 5.00E−14
Std 9.93E−17 3.27E−03 1.06E−07 2.27E−07 6.73E−08 3.43E−08 9.19E−03 2.80E−07
Time(s) 0.0567 0.5382 0.0649 0.1302 0.1284 0.0812 1.2808 0.2809
Algorithm GBO TLBO HHO IGWO PSOGSA CODE MTDE SASS
Worst 1.10E−11 2.42E−03 3.99E−02 1.35E−02 3.13E−13 2.76E−01 6.15E−03 1.01E−03
Mean 2.54E−13 2.23E−04 1.64E−03 2.84E−03 1.57E−13 5.79E−02 1.07E−03 1.99E−04
Best 0.00E+00 9.12E−09 9.03E−12 3.86E−05 4.37E−14 3.11E−03 1.27E−05 7.04E−11
Std 1.48E−12 4.56E−04 4.54E−03 3.26E−03 6.78E−14 5.71E−02 1.16E−03 2.28E−04
Time(s) 0.3058 1.6861 1.7444 5.5963 0.2084 0.4410 2.1214 1.2234

The optimal values are shown in bold.

Convergence curves of EOSMA and 14 comparison algorithms are shown in Fig. 8. Since the population size of SASS decreases linearly with the number of iterations, its convergence curves are not comparable. The results show that EOSMA can quickly obtain high-precision solutions, far superior to other comparison algorithms, followed by GBO and PSOGSA, indicating that EOSMA is suitable for solving IK problem without considering posture.

Figure 8.

Figure 8

Average convergence curve of randomly selected position points.

The solution time of EOSMA and 15 comparison algorithms at 100 randomly selected positions is shown in Fig. 9. It can be seen that EOSMA takes the least amount of time, followed by EO and PFA, and IGWO takes the most time. Since the manipulator is a real-time control system, the algorithm with a short solution time is preferred when the solution accuracy is satisfied. Therefore, although PSOGSA and GBO have high convergence accuracy, they are not suitable for solving the IK of the manipulator. EOSMA, EO, and PFA are highly competitive in the IK problem.

Figure 9.

Figure 9

Solution time of comparison algorithms at randomly selected position points.

Figure 10 shows the distribution of the solution results of the algorithm in the form of the box plot. For the convenience of observation, set results less than 10e−18 to 10e−18. It is clear that EOSMA has a lower median and a narrower box plot with fewer outliers than most algorithms. EOSMA is superior to SMA in convergence accuracy and EO in robustness.

Figure 10.

Figure 10

Box plot of optimization results of randomly selected position points.

To verify whether there is a significant difference between the solution results of EOSMA and each comparison algorithm, the Wilcoxon rank-sum test of two paired samples was utilized84. Figure 11 illustrates the p-value of the Wilcoxon rank-sum test as a bar graph. If p < 0.05, it is believed that there is a substantial difference between the two algorithms. As can be seen, EOSMA differs greatly from all comparison algorithms, particularly SMA, indicating that the improvement is effective.

Figure 11.

Figure 11

Wilcoxon rank-sum test results of randomly selected position points.

Comparison of EOSMA with the existing studies

Many metaheuristic algorithms, such as quantum particle swarm optimization (QPSO)9, GWO74, and WOA75, have been effectively applied to the IK of 7-DOF robotic manipulators. Table 6 shows the results of EOSMA, SMA, and EO in the IK of 7-DOF manipulator with other comparable metaheuristic algorithms used in existing studies. It is clear from the results that the solution accuracy of EOSMA is 4 orders of magnitude higher than that of QPSO.

Table 6.

Comparative results of inverse kinematics problem.

Algorithm Swarm size Position error (MSE) Algorithms Swarm size Position error (MSE)
PSO9 300 2.1162E−04 WOA75 50 9.5460E−04
ABC9 100 1.1105E−06 SMA 50 9.5688E−04
FA9 50 1.4547E−05 EO 50 2.4514E−08
QPSO9 150 6.9347E−13 EOSMA 50 2.6428E−17
GWO74 50 9.4745E−08

Result obtained for scenario 2

Single objective optimization

The IK of redundant manipulators is considered a challenging optimization problem83. Many previous studies did not consider the end-effector’s posture, which simplifies the problem but is inconsistent with most practical applications. Considering that the posture makes the IK problem more complex, so it is necessary to verify EOSMA's optimization performance further. The linear weighting method is utilized in this section to handle the IK problem while keeping posture in consideration. The fitness value of the candidate joint angle vector θi is calculated by Eq. (28), where w1 and w2 are set to 0.5, indicating that position and posture are equally important. A total of 100 different pose points were randomly generated in the workspace of the 7-DOF manipulator, as shown in Fig. 12. In the figure, solid dots represent the position of the end-effector, and straight lines represent the posture.

Figure 12.

Figure 12

Randomly generated pose points in the workspace of the manipulator.

Table 7 presents the results of EOSMA and 15 comparison algorithms. When considering the end-effector’s position and posture, it can be seen that only EOSMA, MPA, DE, and SASS can effectively solve the IK problem. EOSMA and SASS produced acceptable results, with an average solution accuracy of 10e-18. Although EOSMA's solution accuracy is not as good as SASS's, its solution time is shorter, making it more suitable for manipulator real-time control. As a result, EOSMA is a viable alternative method for solving the IK problem of complicated manipulators.

Table 7.

Optimization results take into account the posture of the end-effector.

Algorithm EOSMA SMA EO MRFO MPA PFA FPA DE
Worst 5.55E−17 0.242342 0.289362 0.26697 9.71E−07 0.23774 0.230746 1.28E−12
Mean 7.79E−18 0.043938 0.02786 0.009398 4.55E−07 0.020017 0.037691 1.04E−13
Best 0.00E+00 0.001052 5.82E−11 1.99E−16 4.01E−08 2.95E−13 6.58E−05 5.26E−16
Std 1.21E−17 0.050096 0.047801 0.035825 2.54E−07 0.044404 0.045514 1.95E−13
Time (s) 0.360804 1.680179 2.207461 1.395682 0.424897 2.057285 9.616893 0.896265
Algorithm GBO TLBO HHO IGWO PSOGSA CODE MTDE SASS
Worst 0.229208 0.053045 0.473011 0.101893 0.410281 0.117581 0.016585 8.09E−17
Mean 0.007624 0.004314 0.147295 0.0027 0.07595 0.027037 0.000283 5.35E−18
Best 0.00E+00 8.53E−11 0.005506 0.000123 1.76E−13 0.005138 1.85E−09 0.00E+00
Std 0.035906 0.009956 0.10784 0.010879 0.091469 0.0198 0.002008 1.06E−17
Time (s) 4.995488 5.640442 8.849817 22.94664 12.72971 7.604563 2.485424 0.61688

The optimal values are shown in bold.

Figure 13 presents the convergence curves of EOSMA and various comparison algorithms. As can be seen, EOSMA has the fastest convergence speed and the highest convergence accuracy, considerably outperforming EO and SMA. Furthermore, the convergence curve of EOSMA is remarkably smooth, indicating that the algorithm has achieved a reasonable balance between exploration and exploitation. The random difference mutation operator is used in EOSMA to expand the search space of search agents during the iterative process, avoid overcrowding of search agents, and increase the probability of finding the optimal solution. As shown in Fig. 13, the average solution accuracy of most algorithms is less than 10e-7, indicating that the proposed EOSMA improves the average solution accuracy by 10 orders of magnitude.

Figure 13.

Figure 13

Average convergence curve of randomly generated pose points.

The solution time of each algorithm at 100 pose points is shown in Fig. 14. It can be seen that the solution time of EOSMA fluctuates little when solving different pose points. The average solution time of EOSMA is the shortest, about 0.36 s, followed by MPA, about 0.42 s. This may not be an entirely satisfactory result, but it shows that EOSMA can still be used for some robotic manipulators with low real-time performance, such as in the service industry and offline computing online operations66.

Figure 14.

Figure 14

Solution time of comparison algorithms at randomly generated pose points.

The box plot in Fig. 15 displays the solution outcomes of EOSMA and other comparison algorithms at 100 pose points. EOSMA and SASS have the lowest median and few outliers, making them considerably superior to other comparison algorithms. Overall, EOSMA and SASS performed well on the IK problem, with little difference in performance between the two. However, EOSMA has a lower time complexity than SASS.

Figure 15.

Figure 15

Box plot of optimization results of randomly generated pose points.

Figure 16 shows the Wilcoxon p-value test results of EOSMA and each comparison algorithm. It can be seen that, except for SASS, there are significant differences between the optimization results of EOSMA and comparison algorithms at the confidence level of 0.05. It shows that the search principle of EOSMA is different from other algorithms and can solve the IK more effectively.

Figure 16.

Figure 16

Wilcoxon rank-sum test results of randomly generated pose points.

Multi objective optimization

If the desired position and posture of the end-effector are considered comprehensively, there may be no inverse kinematics solution due to the structural restrictions of the manipulator, that is, the position and posture errors cannot be optimized simultaneously. As a result, the manipulator's IK can be regarded as a multi-objective optimization problem. Obviously, the closer to the workspace boundary, the less selectable posture of the end-effector. In this case, it is difficult to obtain a satisfactory solution using the single-objective algorithm. In this study, MOEOSMA was proposed to solve IK problems. The desired pose P1=(-25,100,50,0,0,0) and P2=(50,-25,75,0,0,0) were selected as test cases. It was verified that P1 did not have inverse kinematic solutions while P2 had inverse kinematic solutions through the Robotics Toolbox for MATLAB. Due to the IK problem of the 7-DOF manipulator has not been studied using the multi-objective method in the previous literature, MOEOSMA is compared with MOSMA35, MOPSO53, MOMPA54, MOALO55, MODA56, MOGWO57, MOMVO58, MSSA59, and MOEA/D60. For a fair comparison, the population size of all algorithms was set to 100, the maximum number of iterations was set to 1000, the archive size was set to 100, and each example was independently run 20 times. Since the true PF is unknown, the hypervolume (HV) metric85,86 was used to evaluate the performance difference of the algorithms. The HV metric can evaluate both the advancement and distribution of the obtained PF simultaneously87. The larger HV value, the better convergence and distribution of the algorithm. The reference points for the test cases used in this study were 1.1 times the maximum objective function value found in all algorithms and all optimization runs. The reference points for calculating the HV values of the desired poses P1 and P2 are (2.088567, 2.466816) and (1.695669, 2.524178), respectively. Table 8 provides the statistical data of the HV results obtained by each algorithm. The PF obtained by the algorithms under the two desired poses is shown in Figs. 17 and 18, respectively.

Table 8.

HV results of multi-objective algorithms on two desired poses.

Pose Index MOEOSMA MOSMA MOPSO MOMPA MOALO MODA MOGWO MOMVO MSSA MOEA/D
P1 Mean 5.07631 4.65143 5.00599 5.04500 4.86302 4.81951 4.94830 5.02802 5.00469 4.88152
Std 0.02007 0.06950 0.04402 0.02733 0.09082 0.22506 0.08276 0.04602 0.05326 0.26105
FR (Rank) 1.40 (1) 9.80 (10) 4.60 (4) 2.95 (2) 7.95 (9) 7.90 (8) 5.95 (6) 3.50 (3) 4.80 (5) 6.15 (7)
Time (s) 5.87559 41.00294 28.82177 3.98753 25.23976 119.88871 138.56085 3.60248 5.12301 249.77852
P2 Mean 4.28017 4.00487 4.22408 4.27983 4.19377 4.16979 4.24412 4.25582 4.26781 4.22517
Std 3.17E-13 0.05168 0.07739 0.00148 0.08250 0.09992 0.03762 0.02288 0.02584 0.08037
FR (Rank) 1.00 (1) 9.70 (10) 5.75 (6) 2.80 (2) 7.10 (8) 8.10 (9) 5.45 (5) 5.30 (4) 3.60 (3) 6.20 (7)
Time (s) 0.81779 38.63682 25.27879 1.41943 25.87101 152.13011 67.21598 2.35827 2.65555 229.49681

The optimal values are shown in bold, and FR stands for Friedman's Rank.

Figure 17.

Figure 17

The PF obtained by multi-objective algorithms at desired pose P1.

Figure 18.

Figure 18

The PF obtained by multi-objective algorithms at desired pose P2.

The data provided in Table 8 show that MOEOSMA obtains the best mean and standard deviation in the two scenarios, while MOMPA and MOMVO also show strong competition. For the pose without inverse kinematic solution, MOEOSMA has a longer solution time than MOMPA, MOMVO and MSSA, but the quality of PF obtained is better. For the pose with inverse kinematic solution, MOEOSMA is much better than the other comparison algorithms in both accuracy and speed. As can be seen from Fig. 17, the PF obtained by MOEOSMA is closer to the true PF, and extreme Pareto solutions are more widely distributed. As can be seen from Fig. 18, the PF of MOEOSMA is convex, and the rest is concave, indicating that the proposed algorithm can minimize both position and posture errors, while the other algorithms tend to optimize one of the objectives. This fully reveals that MOEOSMA is a good optimization tool for solving the IK problem of redundant manipulators.

Simulation and test

The motion state of the 7-DOF robotic manipulator was simulated in this section by using the Robotics Toolbox for MATLAB. Assume the beginning joint angle vector of the manipulator is θ1=(45,0,45,0,45,0,0), the position and posture of the end-effector corresponding to the joint angle vector θ1 is P1=(-24.748737,100.961941,50.000000,90,-45,0), and the desired end-effector pose is P2=(50,-75,75,0,0,0). According to the desired pose, many joint angle vectors can be obtained through EOSMA. For the current state of the manipulator, the cost of changing to those joint angles is different. In this study, the joint angle vector with the slightest overall angle change is the best candidate joint angle vector, which can minimize the movement time of the manipulator. The penalty function of joint angles difference was added into the fitness function to evaluate the pose error, as shown in Eq. (31).

O(θi)=ferror(θi)+w·θi-θ1 31

where O(θi) represents the objective function, θi represents the i-th candidate joint angle vector, θ1 represents the joint angle vector in the starting state, w is the penalty coefficient, the value in this paper is 10e−15, and · represents the calculated Euclidean distance.

The joint angles of the manipulator obtained by EOSMA, SMA, and EO are shown in Table 9. The manipulator can read the starting and the ending joint angles from Table 9 to control the rotation of each joint angle and move the end-effector to the desired position and posture.

Table 9.

Inverse solution results of the 7-DOF robotic manipulator.

Posture Algorithms θ1(°) θ2(°) θ3(°) θ4(°) θ5(°) θ6(°) θ7(°) Distance
P1 45 0 45 0 45 0 0
P2 EOSMA 43.506898 − 90.000000 − 90.000000 − 38.841935 − 2.78E− 14 64.745704 20.589333 185.6794
SMA − 0.014719 − 90.000000 − 90.000000 24.224333 2.93E− 12 53.065842 12.725225 184.2310
EO − 174.758930 − 86.555831 79.782405 − 18.741263 10.776619 − 51.677450 − 14.648226 247.7969

Figure 19 shows the optimization process of EOSMA, Fig. 20 shows the trajectory of the end-effector and the curve of the joint angle change with time. The simulation results show that the three algorithms can reach the desired position and posture, and in which the angle change of SMA is the least, but the solution accuracy is the lowest. The angle change of EOSMA is very close to that of SMA, but the pose error is reduced by 8 orders of magnitude, as shown in Table 9 and Fig. 19b. EO has the largest angle variation, and its accuracy is between SMA and EOSMA. As shown in Fig. 19b, the optimal candidate joint angle does not exceed the search range of each joint angle during iteration. At the beginning of the iteration, the angle of each joint changed obviously, indicating that EOSMA has a strong exploration ability. After 200 generations, the optimal candidate joint angle did not change significantly. EOSMA used the SMA search operator to fine-adjust the optimal candidate joint angle found so far, achieving high convergence accuracy. As can be seen from Fig. 20a, all three algorithms obtain a very smooth trajectory, but EOSMA has the highest accuracy in reaching the desired pose. It can be seen from Fig. 20b–d that the angle, velocity, and acceleration curves of each joint are continuous and smooth, and the angle change of each joint is evenly distributed. It indicates that there is no obvious jitter during the movement of the manipulator, and the overall change range of the manipulator is small.

Figure 19.

Figure 19

Optimization process of the algorithm. (a) Optimal candidate joint angle of EOSMA varies with the number of iterations. (b) Convergence curve of the algorithms.

Figure 20.

Figure 20

Simulation test results. (a) The trajectory of end-effector of the 7-DOF manipulator. (b) Curves of joint angle with time. (c) Curves of joint angular velocity with time. (d) Curves of joint angular acceleration with time.

Results discussion

The EOSMA proposed in this study enhances the search ability of EO and SMA, increases population variety, and reduces the probability of falling into the local optimum. In fact, the most important obstacle in many metaheuristic algorithms is frequently falling into local optimum, which dramatically limits the optimization performance. When evaluated from this perspective, EOSMA is ahead of many heuristic algorithms (Figs. 8 and 13). By comparing the convergence curves of the two scenarios, it can be found that many algorithms can obtain high precision solutions in the scenario without considering the posture. Only EOSMA, DE, and MPA can effectively solve the scenarios comprehensively considering the position and posture. It shows that it is difficult to solve the scenario considering posture, and many algorithms will fall into local optimum. On the contrary, DE obtains higher convergence accuracy in the scenario considering posture, which indicates that the IK problem considering posture requires the algorithm to have strong exploration ability. In contrast, the IK problem not considering posture requires the algorithm to have strong exploitation ability. Therefore, in scenario 1, the parameters of EOSMA were set as follows: exploration coefficient a1=1, exploitation coefficient a2=2, and mutation probability q=0; In scenario 2, the parameters of EOSMA were set as: exploration coefficient a1=2, exploitation coefficient a2=2, and mutation probability q=1.

Due to the performance of many algorithms in these two scenarios differing greatly, previous studies did not compare the two scenarios. EOSMA can be well adapted to the IK problem in different scenarios by simply adjusting the parameters that control exploration and exploitation abilities, demonstrating the hybrid EOSMA has a strong generalization ability. The excellent performance of EOSMA can be summed up as follows.

  1. SMA has strong exploitation ability and EO exploration ability. The concentration update operator of EO was used to guide the global search of SMA to keep the balance between exploration and exploitation, increase population diversity and enhance the robustness and generalization ability.

  2. The update operator of SMA in the exploitation stage is defective, and it is easy to guide the search agents to converge to the origin in the late iteration, resulting in an invalid search. The structure of SMA was simplified, the parameters and calculation time were reduced.

  3. The greedy selection strategy was used to retain the individual historical optimal and global historical optimal locations and then update them based on the individual historical optimal and global historical optimal, which improves the search efficiency.

  4. The random difference mutation strategy was included after upgrading the location of EOSMA to widen the search range of the search agents, enhance the possibility of search agents escaping from the local optimum, and avoid premature convergence.

Although the results of this study show that EOSMA and its multi-objective version outperform majority of comparison algorithms, it still has some limitations. There are many adjustable parameters in EOSMA. It may be difficult to set the parameters for different applications. It is necessary not only to know the influence of different parameters on the algorithm's exploration and exploitation but also some properties of the problem. In addition, the EOSMA proposed in this paper is designed for the IK problem and its effectiveness in other real-world problems needs to be further tested.

Conclusions and future directions

In this paper, an EO-guided SMA was developed to improve search efficiency by widening the search range of slime mould in order to tackle the IK problem of redundant manipulators efficiently. The performance of EOSMA for the IK problem is verified by comparison with 15 single-objective and 9 multi-objective algorithms, and comparable algorithms used in previous studies. Without considering the posture, EOSMA is superior to 15 comparison algorithms in terms of best, worst, mean, standard deviation, and average solution time. EOSMA can converge to the global optimal with an average convergence accuracy of 10e−17 m, which is 4 orders of magnitude higher than the best comparison algorithm PSOGSA. The average solution time is about 0.05 s, and the robustness is the best. When considering position and posture, the performance of EOSMA is similar to SASS, but EOSMA has a shorter solution time. The average solution accuracy of EOSMA can reach 10e-18, and the average solution time is about 0.36 s. Compared with the 9 multi-objective optimization algorithms, EOSMA's multi-objective version obtains higher accuracy, more comprehensive coverage, and more uniform distribution of PF. Simulation results show that the overall change of joint angle obtained by EOSMA is small, and the motion trajectory is smooth without obvious jitter. Statistical results show that EOSMA has better performance for the IK problem, which is significantly different from other algorithms. For some desired poses, the position and posture errors cannot be eliminated synchronously and must be compromised between the two. MOEOSMA can provide users with a well-distributed PF to pick from, and it is an efficient alternative method for solving the IK problem of complicated manipulators. Although promising results have been achieved, there are still some problems that need to be studied in the future. EOSMA has many parameters and depending on the problem to be solved, parameter adaptive selection methods can be considered for the algorithm, such as parameter adaptive mechanism based on success history88 or parameter adaptive mechanism based on reinforcement learning89. In addition, EOSMA can be applied to other fields, such as photovoltaic parameter extraction and satellite posture adjustment.

Acknowledgements

This work was supported by the National Science Foundation of China under Grant No.s U21A20464, 62066005, and Supported by Program for Young Innovative Research Team in China University of Political Science and Law, under Grant No. 21CXTD02.

Author contributions

S.Y. carried out the EOSMA algorithm studies, participated in the drafted the manuscript. Q.L. carried out the original draft and review & editing; G.Z. carried out the design algorithm model; Y.Z. carried out the review & editing. Z.Z. carried out the algorithm analysis. All authors read and approved the final manuscript.

Data availability

All data, models, and code generated or used during the study appear in the submitted article.

Competing interests

The authors declare no competing interests.

Footnotes

Publisher's note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Contributor Information

Qifang Luo, Email: l.qf@163.com.

Yongquan Zhou, Email: yongquanzhou@126.com.

References

  • 1.Vosniakos G-C, Kannas Z. Motion coordination for industrial robotic systems with redundant degrees of freedom. Robot. Comput. Integr. Manuf. 2009;25:417–431. doi: 10.1016/j.rcim.2008.02.005. [DOI] [Google Scholar]
  • 2.Iliukhin VN, Mitkovskii KB, Bizyanova DA, Akopyan AA. The modeling of inverse kinematics for 5 DOF manipulator. Procedia Eng. 2017;176:498–505. doi: 10.1016/j.proeng.2017.02.349. [DOI] [Google Scholar]
  • 3.Kucuk S, Bingul Z. Inverse kinematics solutions for industrial robot manipulators with offset wrists. Appl. Math. Model. 2014;38:1983–1999. doi: 10.1016/j.apm.2013.10.014. [DOI] [Google Scholar]
  • 4.Almusawi ARJ, Dülger LC, Kapucu S. A new artificial neural network approach in solving inverse kinematics of robotic arm (Denso VP6242) Comput. Intell. Neurosci. 2016;2016:1–10. doi: 10.1155/2016/5720163. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 5.Xiao F, et al. An effective and unified method to derive the inverse kinematics formulas of general six-DOF manipulator with simple geometry. Mech. Mach. Theory. 2021;159:104265. doi: 10.1016/j.mechmachtheory.2021.104265. [DOI] [Google Scholar]
  • 6.Miyata S, Miyahara S, Nenchev D. Analytical formula for the pseudoinverse and its application for singular path tracking with a class of redundant robotic limbs. Adv. Robot. 2017;31:509–518. doi: 10.1080/01691864.2017.1285721. [DOI] [Google Scholar]
  • 7.Liu F, Xu W, Huang H, Ning Y, Li B. Design and analysis of a high-payload manipulator based on a cable-driven serial-parallel mechanism. J. Mech. Robot. 2019;11:051006. doi: 10.1115/1.4044113. [DOI] [Google Scholar]
  • 8.Xu W, Liu T, Li Y. Kinematics, dynamics, and control of a cable-driven hyper-redundant manipulator. IEEEASME Trans. Mechatron. 2018;23:1693–1704. doi: 10.1109/TMECH.2018.2842141. [DOI] [Google Scholar]
  • 9.Dereli S, Köker R. A meta-heuristic proposal for inverse kinematics solution of 7-DOF serial robotic manipulator: Quantum behaved particle swarm algorithm. Artif. Intell. Rev. 2020;53:949–964. doi: 10.1007/s10462-019-09683-x. [DOI] [Google Scholar]
  • 10.Mohamed AW, Hadi AA, Mohamed AK. Gaining-sharing knowledge based algorithm for solving optimization problems: A novel nature-inspired algorithm. Int. J. Mach. Learn. Cybern. 2020;11:1501–1529. doi: 10.1007/s13042-019-01053-x. [DOI] [Google Scholar]
  • 11.Ma L, Cheng S, Shi Y. Enhancing learning efficiency of brain storm optimization via orthogonal learning design. IEEE Trans. Syst. Man Cybern. Syst. 2021;51:6723–6742. doi: 10.1109/TSMC.2020.2963943. [DOI] [Google Scholar]
  • 12.Mirjalili S, Mirjalili SM, Lewis A. Grey wolf optimizer. Adv. Eng. Softw. 2014;69:46–61. doi: 10.1016/j.advengsoft.2013.12.007. [DOI] [Google Scholar]
  • 13.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. doi: 10.1080/17415977.2019.1602124. [DOI] [Google Scholar]
  • 14.Zhang L, Xiao N. A novel artificial bee colony algorithm for inverse kinematics calculation of 7-DOF serial manipulators. Soft Comput. 2019;23:3269–3277. doi: 10.1007/s00500-017-2975-y. [DOI] [Google Scholar]
  • 15.Li S, Chen H, Wang M, Heidari AA, Mirjalili S. Slime mould algorithm: A new method for stochastic optimization. Future Gener. Comput. Syst. 2020;111:300–323. doi: 10.1016/j.future.2020.03.055. [DOI] [Google Scholar]
  • 16.Abdel-Basset M, Mohamed R, Chakrabortty RK, Ryan MJ, Mirjalili S. An efficient binary slime mould algorithm integrated with a novel attacking-feeding strategy for feature selection. Comput. Ind. Eng. 2021;153:107078. doi: 10.1016/j.cie.2020.107078. [DOI] [Google Scholar]
  • 17.Ewees AA, et al. Improved slime mould algorithm based on firefly algorithm for feature selection: A case study on QSAR model. Eng. Comput. 2021 doi: 10.1007/s00366-021-01342-6. [DOI] [Google Scholar]
  • 18.Abdel-Basset M, Chang V, Mohamed R. HSMA_WOA: A hybrid novel Slime mould algorithm with whale optimization algorithm for tackling the image segmentation problem of chest X-ray images. Appl. Soft Comput. 2020;95:106642. doi: 10.1016/j.asoc.2020.106642. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 19.Naik MK, Panda R, Abraham A. Normalized square difference based multilevel thresholding technique for multispectral images using leader slime mould algorithm. J. King Saud Univ. Comput. Inf. Sci. 2020 doi: 10.1016/j.jksuci.2020.10.030. [DOI] [Google Scholar]
  • 20.Zhao S, et al. Multilevel threshold image segmentation with diffusion association slime mould algorithm and Renyi’s entropy for chronic obstructive pulmonary disease. Comput. Biol. Med. 2021;134:104427. doi: 10.1016/j.compbiomed.2021.104427. [DOI] [PubMed] [Google Scholar]
  • 21.El-Fergany AA. Parameters identification of PV model using improved slime mould optimizer and Lambert W-function. Energy Rep. 2021;7:875–887. doi: 10.1016/j.egyr.2021.01.093. [DOI] [Google Scholar]
  • 22.Kumar C, Raj TD, Premkumar M, Raj TD. A new stochastic slime mould optimization algorithm for the estimation of solar photovoltaic cell parameters. Optik. 2020;223:165277. doi: 10.1016/j.ijleo.2020.165277. [DOI] [Google Scholar]
  • 23.Liu Y, et al. Boosting slime mould algorithm for parameter identification of photovoltaic models. Energy. 2021;234:121164. doi: 10.1016/j.energy.2021.121164. [DOI] [Google Scholar]
  • 24.Mostafa M, Rezk H, Aly M, Ahmed EM. A new strategy based on slime mould algorithm to extract the optimal model parameters of solar PV panel. Sustain. Energy Technol. Assess. 2020;42:100849. [Google Scholar]
  • 25.Yousri D, Fathy A, Rezk H, Babu TS, Berber MR. A reliable approach for modeling the photovoltaic system under partial shading conditions using three diode model and hybrid marine predators-slime mould algorithm. Energy Convers. Manag. 2021;243:114269. doi: 10.1016/j.enconman.2021.114269. [DOI] [Google Scholar]
  • 26.Agarwal D, Bharti PS. Implementing modified swarm intelligence algorithm based on Slime moulds for path planning and obstacle avoidance problem in mobile robots. Appl. Soft Comput. 2021;107:107372. doi: 10.1016/j.asoc.2021.107372. [DOI] [Google Scholar]
  • 27.Rizk-Allah RM, Hassanien AE, Song D. Chaos-opposition-enhanced slime mould algorithm for minimizing the cost of energy for the wind turbines on high-altitude sites. ISA Trans. 2021 doi: 10.1016/j.isatra.2021.04.011. [DOI] [PubMed] [Google Scholar]
  • 28.Hassan MH, Kamel S, Abualigah L, Eid A. Development and application of slime mould algorithm for optimal economic emission dispatch. Expert Syst. Appl. 2021;182:115205. doi: 10.1016/j.eswa.2021.115205. [DOI] [Google Scholar]
  • 29.Abdollahzadeh B, Barshandeh S, Javadi H, Epicoco N. An enhanced binary slime mould algorithm for solving the 0–1 knapsack problem. Eng. Comput. 2021 doi: 10.1007/s00366-021-01470-z. [DOI] [Google Scholar]
  • 30.Zubaidi SL, et al. Hybridised artificial neural network model with slime mould algorithm: A novel methodology for prediction of urban stochastic water demand. Water. 2020;12:2692. doi: 10.3390/w12102692. [DOI] [Google Scholar]
  • 31.Chen Z, Liu W. An efficient parameter adaptive support vector regression using K-means clustering and chaotic slime mould algorithm. IEEE Access. 2020;8:156851–156862. doi: 10.1109/ACCESS.2020.3018866. [DOI] [Google Scholar]
  • 32.Ekinci, S., Izci, D., Zeynelgil, H. L. & Orenc, S. An application of slime mould algorithm for optimizing parameters of power system stabilizer. In 2020 4th International Symposium on Multidisciplinary Studies and Innovative Technologies (ISMSIT) 1–5 (IEEE, 2020). 10.1109/ISMSIT50672.2020.9254597.
  • 33.Wazery YM, Saber E, Houssein EH, Ali AA, Amer E. An efficient slime mould algorithm combined with K-nearest neighbor for medical classification tasks. IEEE Access. 2021;9:113666–113682. doi: 10.1109/ACCESS.2021.3105485. [DOI] [Google Scholar]
  • 34.Wei Y, Zhou Y, Luo Q, Deng W. Optimal reactive power dispatch using an improved slime mould algorithm. Energy Rep. 2021;7:8742–8759. doi: 10.1016/j.egyr.2021.11.138. [DOI] [Google Scholar]
  • 35.Premkumar M, et al. MOSMA: Multi-objective slime mould algorithm based on elitist non-dominated sorting. IEEE Access. 2021;9:3229–3248. doi: 10.1109/ACCESS.2020.3047936. [DOI] [Google Scholar]
  • 36.Houssein EH, et al. An efficient slime mould algorithm for solving multi-objective optimization problems. Expert Syst. Appl. 2022;187:115870. doi: 10.1016/j.eswa.2021.115870. [DOI] [Google Scholar]
  • 37.Yu C, et al. Boosting quantum rotation gate embedded slime mould algorithm. Expert Syst. Appl. 2021;181:115082. doi: 10.1016/j.eswa.2021.115082. [DOI] [Google Scholar]
  • 38.Houssein EH, Mahdy MA, Blondin MJ, Shebl D, Mohamed WM. Hybrid slime mould algorithm with adaptive guided differential evolution algorithm for combinatorial and global optimization problems. Expert Syst. Appl. 2021;174:114689. doi: 10.1016/j.eswa.2021.114689. [DOI] [Google Scholar]
  • 39.Faramarzi A, Heidarinejad M, Stephens B, Mirjalili S. Equilibrium optimizer: A novel optimization algorithm. Knowl. Based Syst. 2020;191:105190. doi: 10.1016/j.knosys.2019.105190. [DOI] [Google Scholar]
  • 40.Zhao W, Zhang Z, Wang L. Manta ray foraging optimization: An effective bio-inspired optimizer for engineering applications. Eng. Appl. Artif. Intell. 2020;87:103300. doi: 10.1016/j.engappai.2019.103300. [DOI] [Google Scholar]
  • 41.Faramarzi A, Heidarinejad M, Mirjalili S, Gandomi AH. Marine predators algorithm: A nature-inspired metaheuristic. Expert Syst. Appl. 2020;152:113377. doi: 10.1016/j.eswa.2020.113377. [DOI] [Google Scholar]
  • 42.Yapici H, Cetinkaya N. A new meta-heuristic optimizer: Pathfinder algorithm. Appl. Soft Comput. 2019;78:545–568. doi: 10.1016/j.asoc.2019.03.012. [DOI] [Google Scholar]
  • 43.Yang XS. Flower pollination algorithm for global optimization. In: Durand-Lose J, Jonoska N, editors. Unconventional Computation and Natural Computation. Berlin Heidelberg: Springer; 2012. pp. 240–249. [Google Scholar]
  • 44.Storn R, Price K. Differential evolution – a simple and efficient heuristic for global optimization over continuous spaces. J. Glob. Optim. 1997;11:341–359. doi: 10.1023/A:1008202821328. [DOI] [Google Scholar]
  • 45.Ahmadianfar I, Bozorg-Haddad O, Chu X. Gradient-based optimizer: A new metaheuristic optimization algorithm. Inf. Sci. 2020;540:131–159. doi: 10.1016/j.ins.2020.06.037. [DOI] [Google Scholar]
  • 46.Rao RV, Savsani VJ, Vakharia DP. Teaching–learning-based optimization: A novel method for constrained mechanical design optimization problems. Comput. Aided Des. 2011;43:303–315. doi: 10.1016/j.cad.2010.12.015. [DOI] [Google Scholar]
  • 47.Heidari AA, et al. Harris hawks optimization: Algorithm and applications. Future Gener. Comput. Syst. 2019;97:849–872. doi: 10.1016/j.future.2019.02.028. [DOI] [Google Scholar]
  • 48.Nadimi-Shahraki MH, Taghian S, Mirjalili S. An improved grey wolf optimizer for solving engineering problems. Expert Syst. Appl. 2021;166:113917. doi: 10.1016/j.eswa.2020.113917. [DOI] [Google Scholar]
  • 49.Mirjalili, S. & Hashim, S. Z. M. A new hybrid PSOGSA algorithm for function optimization. In 2010 International Conference on Computer and Information Application 374–377 (IEEE, 2010). 10.1109/ICCIA.2010.6141614.
  • 50.Rahnamayan, S., Jesuthasan, J., Bourennani, F., Salehinejad, H. & Naterer, G. F. Computing opposition by involving entire population. In 2014 IEEE Congress on Evolutionary Computation (CEC) 1800–1807 (IEEE, 2014). 10.1109/CEC.2014.6900329.
  • 51.Nadimi-Shahraki MH, Taghian S, Mirjalili S, Faris H. MTDE: An effective multi-trial vector-based differential evolution algorithm and its applications for engineering design problems. Appl. Soft Comput. 2020;97:106761. doi: 10.1016/j.asoc.2020.106761. [DOI] [Google Scholar]
  • 52.Kumar, A., Das, S. & Zelinka, I. A self-adaptive spherical search algorithm for real-world constrained optimization problems. In Proceedings of the 2020 Genetic and Evolutionary Computation Conference Companion 13–14 (ACM, 2020). 10.1145/3377929.3398186.
  • 53.Coello CAC, Pulido GT, Lechuga MS. Handling multiple objectives with particle swarm optimization. IEEE Trans. Evol. Comput. 2004;8:256–279. doi: 10.1109/TEVC.2004.826067. [DOI] [Google Scholar]
  • 54.Zhong K, Zhou G, Deng W, Zhou Y, Luo Q. MOMPA: Multi-objective marine predator algorithm. Comput. Methods Appl. Mech. Eng. 2021;385:114029. doi: 10.1016/j.cma.2021.114029. [DOI] [Google Scholar]
  • 55.Mirjalili S, Jangir P, Saremi S. Multi-objective ant lion optimizer: A multi-objective optimization algorithm for solving engineering problems. Appl. Intell. 2017;46:79–95. doi: 10.1007/s10489-016-0825-8. [DOI] [Google Scholar]
  • 56.Mirjalili S. Dragonfly algorithm: A new meta-heuristic optimization technique for solving single-objective, discrete, and multi-objective problems. Neural Comput. Appl. 2016;27:1053–1073. doi: 10.1007/s00521-015-1920-1. [DOI] [Google Scholar]
  • 57.Mirjalili S, Saremi S, Mirjalili SM, Coelho L, Dos S. Multi-objective grey wolf optimizer: A novel algorithm for multi-criterion optimization. Expert Syst. Appl. 2016;47:106–119. doi: 10.1016/j.eswa.2015.10.039. [DOI] [Google Scholar]
  • 58.Mirjalili S, Jangir P, Mirjalili SZ, Saremi S, Trivedi IN. Optimization of problems with multiple objectives using the multi-verse optimization algorithm. Knowl. Based Syst. 2017;134:50–71. doi: 10.1016/j.knosys.2017.07.018. [DOI] [Google Scholar]
  • 59.Mirjalili S, et al. Salp swarm algorithm: A bio-inspired optimizer for engineering design problems. Adv. Eng. Softw. 2017;114:163–191. doi: 10.1016/j.advengsoft.2017.07.002. [DOI] [Google Scholar]
  • 60.Zhang Q, Li H. MOEA/D: A multiobjective evolutionary algorithm based on decomposition. IEEE Trans. Evol. Comput. 2007;11:712–731. doi: 10.1109/TEVC.2007.892759. [DOI] [Google Scholar]
  • 61.Reiter A, Muller A, Gattringer H. On higher order inverse kinematics methods in time-optimal trajectory planning for kinematically redundant manipulators. IEEE Trans. Ind. Inform. 2018;14:1681–1690. doi: 10.1109/TII.2018.2792002. [DOI] [Google Scholar]
  • 62.Huang, H.-C., Chen, C.-P. & Wang, P.-R. Particle swarm optimization for solving the inverse kinematics of 7-DOF robotic manipulators. In 2012 IEEE International Conference on Systems, Man, and Cybernetics (SMC) 3105–3110 (IEEE, 2012). 10.1109/ICSMC.2012.6378268.
  • 63.Ram RV, Pathak PM, Junco SJ. Inverse kinematics of mobile manipulator using bidirectional particle swarm optimization by manipulator decoupling. Mech. Mach. Theory. 2019;131:385–405. doi: 10.1016/j.mechmachtheory.2018.09.022. [DOI] [Google Scholar]
  • 64.Adly, M. A. & Abd-El-Hafiz, S. K. Inverse kinematics using single- and multi-objective particle swarm optimization. In 2016 28th International Conference on Microelectronics (ICM) 269–272 (IEEE, 2016). 10.1109/ICM.2016.7847867.
  • 65.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. doi: 10.1007/s00521-015-1898-8. [DOI] [Google Scholar]
  • 66.Liu F, Huang H, Li B, Xi F. A parallel learning particle swarm optimizer for inverse kinematics of robotic manipulator. Int. J. Intell. Syst. 2021;36:6101–6132. doi: 10.1002/int.22543. [DOI] [Google Scholar]
  • 67.Dereli S, Köker R. Strengthening the PSO algorithm with a new technique inspired by the golf game and solving the complex engineering problem. Complex Intell. Syst. 2021;7:1515–1526. doi: 10.1007/s40747-021-00292-2. [DOI] [Google Scholar]
  • 68.Momani S, Abo-Hammour ZS, Alsmadi OM. Solution of inverse kinematics problem using genetic algorithms. Appl. Math. Inf. Sci. 2016;10(1):225. doi: 10.18576/amis/100122. [DOI] [Google Scholar]
  • 69.López-Franco C, Hernández-Barragán J, Alanis AY, Arana-Daniel N, López-Franco M. Inverse kinematics of mobile manipulators based on differential evolution. Int. J. Adv. Robot. Syst. 2018;15:1–22. doi: 10.1177/1729881417752738. [DOI] [Google Scholar]
  • 70.Rokbani, N., Casals, A. & Alimi, A. M. IK-FA, A new heuristic inverse kinematics solver using firefly algorithm. In Computational Intelligence Applications in Modeling and Control (eds. Azar, A. T. & Vaidyanathan, S.) vol. 575 369–395 (Springer International Publishing, 2015).
  • 71.Çavdar T, Milani MMRA. A new heuristic approach for inverse kinematics of robot arms. Adv. Sci. Lett. 2013;19:329–333. doi: 10.1166/asl.2013.4700. [DOI] [Google Scholar]
  • 72.El-Sherbiny A, Elhosseini MA, Haikal AY. A new ABC variant for solving inverse kinematics problem in 5 DOF robot arm. Appl. Soft Comput. 2018;73:24–38. doi: 10.1016/j.asoc.2018.08.028. [DOI] [Google Scholar]
  • 73.Dereli S, Köker R. Simulation based calculation of the inverse kinematics solution of 7-DOF robot manipulator using artificial bee colony algorithm. SN Appl. Sci. 2020;2:27. doi: 10.1007/s42452-019-1791-7. [DOI] [Google Scholar]
  • 74.Dereli S. A new modified grey wolf optimization algorithm proposal for a fundamental engineering problem in robotics. Neural Comput. Appl. 2021;33:14119–14131. doi: 10.1007/s00521-021-06050-2. [DOI] [Google Scholar]
  • 75.Dereli S. A novel approach based on average swarm intelligence to improve the whale optimization algorithm. Arab. J. Sci. Eng. 2021 doi: 10.1007/s13369-021-06042-3. [DOI] [Google Scholar]
  • 76.Toz M. Chaos-based Vortex Search algorithm for solving inverse kinematics problem of serial robot manipulators with offset wrist. Appl. Soft Comput. 2020;89:106074. doi: 10.1016/j.asoc.2020.106074. [DOI] [Google Scholar]
  • 77.Wu D, Hou G, Qiu W, Xie B. T-IK: An efficient multi-objective evolutionary algorithm for analytical inverse kinematics of redundant manipulator. IEEE Robot. Autom. Lett. 2021;6:8474–8481. doi: 10.1109/LRA.2021.3108550. [DOI] [Google Scholar]
  • 78.Micev M, Ćalasan M, Oliva D. Design and robustness analysis of an Automatic Voltage Regulator system controller by using Equilibrium Optimizer algorithm. Comput. Electr. Eng. 2021;89:106930. doi: 10.1016/j.compeleceng.2020.106930. [DOI] [Google Scholar]
  • 79.Ma L, Huang M, Yang S, Wang R, Wang X. An adaptive localized decision variable analysis approach to large-scale multiobjective and many-objective optimization. IEEE Trans. Cybern. 2021 doi: 10.1109/TCYB.2020.3041212. [DOI] [PubMed] [Google Scholar]
  • 80.Kaur S, Awasthi LK, Sangal AL. A brief review on multi-objective software refactoring and a new method for its recommendation. Arch. Comput. Methods Eng. 2021;28:3087–3111. doi: 10.1007/s11831-020-09491-5. [DOI] [Google Scholar]
  • 81.Eberhart, R. & Kennedy, J. A new optimizer using particle swarm theory. In MHS’95. Proceedings of the Sixth International Symposium on Micro Machine and Human Science 39–43 (IEEE, 1995). 10.1109/MHS.1995.494215.
  • 82.Coello, C. A. C. & Lechuga, M. S. MOPSO: A proposal for multiple objective particle swarm optimization. In Proceedings of the 2002 Congress on Evolutionary Computation. CEC’02 (Cat. No.02TH8600) vol. 2 1051–1056 (IEEE, 2002).
  • 83.Köker R. Reliability-based approach to the inverse kinematics solution of robots using Elman’s networks. Eng. Appl. Artif. Intell. 2005;18:685–693. doi: 10.1016/j.engappai.2005.01.004. [DOI] [Google Scholar]
  • 84.Yin S, Luo Q, Du Y, Zhou Y. DTSMA: Dominant swarm with adaptive t-distribution mutation-based slime mould algorithm. Math. Biosci. Eng. 2022;19:2240–2285. doi: 10.3934/mbe.2022105. [DOI] [PubMed] [Google Scholar]
  • 85.Wansasueb K, Pholdee N, Panagant N, Bureerat S. Multiobjective meta-heuristic with iterative parameter distribution estimation for aeroelastic design of an aircraft wing. Eng. Comput. 2022;38:695–713. doi: 10.1007/s00366-020-01077-w. [DOI] [Google Scholar]
  • 86.Panagant N, Pholdee N, Bureerat S, Yildiz AR, Mirjalili S. A comparative study of recent multi-objective metaheuristics for solving constrained truss optimisation problems. Arch. Comput. Methods Eng. 2021;28:4031–4047. doi: 10.1007/s11831-021-09531-8. [DOI] [Google Scholar]
  • 87.Techasen T, Wansasueb K, Panagant N, Pholdee N, Bureerat S. Simultaneous topology, shape, and size optimization of trusses, taking account of uncertainties using multi-objective evolutionary algorithms. Eng. Comput. 2019;35:721–740. doi: 10.1007/s00366-018-0629-z. [DOI] [Google Scholar]
  • 88.Tanabe, R. & Fukunaga, A. Success-history based parameter adaptation for Differential Evolution. In 2013 IEEE Congress on Evolutionary Computation 71–78 (IEEE, 2013). 10.1109/CEC.2013.6557555.
  • 89.Kizilay, D., Tasgetiren, M. F., Oztop, H., Kandiller, L. & Suganthan, P. N. A Differential Evolution Algorithm with Q-Learning for Solving Engineering Design Problems. In 2020 IEEE Congress on Evolutionary Computation (CEC) 1–8 (IEEE, 2020). 10.1109/CEC48606.2020.9185743.

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

All data, models, and code generated or used during the study appear in the submitted article.


Articles from Scientific Reports are provided here courtesy of Nature Publishing Group

RESOURCES