Next Article in Journal
Construction of Cubic Timmer Triangular Patches and its Application in Scattered Data Interpolation
Next Article in Special Issue
An Improved Bytewise Approximate Matching Algorithm Suitable for Files of Dissimilar Sizes
Previous Article in Journal
Interference among Multiple Vibronic Modes in Two-Dimensional Electronic Spectroscopy
Previous Article in Special Issue
Application of Differential Evolution Algorithm Based on Mixed Penalty Function Screening Criterion in Imbalanced Data Integration Classification
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Developing a New Robust Swarm-Based Algorithm for Robot Analysis

1
School of Mechanical Engineering, Hebei University of Technology, Tianjin 300401, China
2
School of Mechanical engineering, Tianjin University, Tianjin 300350, China
*
Author to whom correspondence should be addressed.
Mathematics 2020, 8(2), 158; https://doi.org/10.3390/math8020158
Submission received: 1 November 2019 / Revised: 1 January 2020 / Accepted: 2 January 2020 / Published: 22 January 2020
(This article belongs to the Special Issue Evolutionary Computation & Swarm Intelligence)

Abstract

:
Metaheuristics are incapable of analyzing robot problems without being enhanced, modified, or hybridized. Enhanced metaheuristics reported in other works of literature are problem-specific and often not suitable for analyzing other robot configurations. The parameters of standard particle swarm optimization (SPSO) were shown to be incapable of resolving robot optimization problems. A novel algorithm for robot kinematic analysis with enhanced parameters is hereby presented. The algorithm is capable of analyzing all the known robot configurations. This was achieved by studying the convergence behavior of PSO under various robot configurations, with a view of determining new PSO parameters for robot analysis and a suitable adaptive technique for parameter identification. Most of the parameters tested stagnated in the vicinity of strong local minimizers. A few parameters escaped stagnation but were incapable of finding the global minimum solution, this is undesirable because accuracy is an important criterion for robot analysis and control. The algorithm was trained to identify stagnating solutions. The algorithm proposed herein was found to compete favorably with other algorithms reported in the literature. There is a great potential of further expanding the findings herein for dynamic parameter identification.

1. Introduction

The quest for developing improved techniques for parameter identification of industrial robots has resulted in the novel concept of a mutating particle swarm optimization (MuPSO) based algorithm for analyzing multi-degree of freedom robot manipulators which was briefly introduced in [1], the research sought to employ artificial intelligence, particularly population-based Evolutionary Algorithms (EA), and computational methods for solving kinematic and dynamic problems of industrial manipulators. A robot manipulator is an electro-mechanical device that depicts the upper human limb. It was originally used in industrial workspaces to carry out tasks that were deemed boring, repetitive, highly monotonous, or dangerous, and therefore not suitable for human labor. Recent applications of robot manipulators include aeronautics and medicine, where the tolerance is very tight and human errors could be fatal. A robot manipulator comprises of solid non-moveable links connected by joints which allow either rotational or translational motion between successive links.
The increasing demand for robot manipulators has required that the manipulators become more autonomous and therefore increased accuracy and stability. The kinematic problems of robot manipulators were traditionally computed using analytical techniques which sometimes required finding the derivative of computationally expensive functions. These problems were found to sometimes possess multiple solutions or even no solution at all. Recently, swarm-based techniques have been studied which promises improved computational efficiency.

1.1. Swarm Intelligence

Evolutionary computation algorithms (EA) are stochastic optimization methods which have proven suitable for solving complex structured optimization and combinatory problems typical of robot analysis. They are biologically inspired population-based techniques that have relatively simple structures which are robust and computationally efficient. A variety of these algorithms have been developed over the years but based on simple implementation and the ability to readily combine with other algorithms, the PSO algorithm stands out. PSO was initially introduced by [2], despite being amongst the earliest EA algorithms, PSO remains relevant as it is still being improved, enhanced, and modified for solving real-world optimization problems.
In additive manufacturing (3D printing), constructing over-hanging features can only be achieved by introducing some support structures beneath the overhang which can be removed afterward to get the desired shape, [3] used a hybrid variation of PSO with greedy algorithm to reduce the volume of the support structure thereby save printing time, material and minimize budget. The recent hype in groundbreaking fifth-generation (5G) wireless communication technology presents the need to improve the quality of service with massive multiple-input multiple-output (MIMO) antenna arrays, [4] used a contraction adaptive PSO to optimize the design and positions of antenna array elements. Inspired by the success achieved by the proportional integral derivative (PID) controller in automation and its vast industrial applications [5,6,7] attempted using PID techniques to improve the performance of PSO. Reference [8] proposed the novel PID based strategy PSO (PBSPSO) algorithm based on the PID controller which was found to improve convergence while reducing stagnation of the PSO algorithm. A new variant of PSO with cross-over operation (PSOCO) was introduced by [9] which improved divergent search abilities of the PSO while avoiding stagnation by implementing a new learning model for the particles’ velocity formula and two cross-over operations, while [10] used PSO and multi-objective PSO to develop a two-stage auto-tuning technique for PID controllers. Automation of logistics, maintenance/support, storage, and others have led to rapid improvements in the vehicle routing problem (VRP) algorithm. The pick-up and delivery problem (PDP) is an extension of the VRP which collects goods from suppliers or pick-up points and conveys them to the delivery points, [11] introduced a novel pick-up and delivery problem with transfers (PDPT) algorithm using a hybrid PSO and local search algorithm to minimize distance and maximize profit. A PSO variant based on random perturbation (RP-PSO) was used to identify the parameters of a model pressurized water reactor nuclear power plant in [12]. The estimation of distribution algorithm (EDA) framework has been demonstrated in [13] to have high performance despite little memory requirements, it was combined with PSO in [14] and was used to estimate and preserve the distribution information of particles’ historical memories (personal best positions) to help the algorithm break out of local minimum solutions. The particle swarm estimation of distribution algorithms (PSDA) was also implemented in [15] for optimal-driven-projection of automated medical diagnosis and prognosis. Medical diagnosis is a key process in clinical medicine for identifying diseases, reducing cost, and enhancing accuracy. Enhanced algorithms were also exploited in [16,17,18] for diagnosis. Still, in medical sciences, minimally invasive surgery is a cost-effective alternative to open surgery where specialized instruments are used to operate by inserting them into several tiny punctures instead of one large incision. Reference [19] combined PSO with a back-propagation neural network (BPNN) algorithm to optimize the target position of the medical puncture robot.

1.2. Particle Swarm Optimization

The PSO consists of population members known as particles. Each particle refers to a bird in a flock, fish in a swarm, or in this case a possible solution to an optimization problem. The algorithm is initiated by populating it with n random particles, each particle has m dimensions, for the sake of robot analysis, the dimensions would be regarded as the degree of freedom (DOF). The position and velocity vectors of the ith particle can be defined as Xi and Vi in Equations (1) and (2) below. The position and velocity of every particle in the swarm is updated according to Equations (3) and (4) through every iteration, the first part of the Equation (3) is the previous velocity which describes the particles previous experience, the second part of the equation is the cognitive component which describes the particles personal experience while the third part of the equation is the social component which describes the entire swarms best experience. The inertia weight w is a learning coefficient associated with the previous velocity, while c1 and c2 are learning coefficients associated with the cognitive and social components respectively. The fitness function is a mathematical representation of the real-world problem to be analyzed, it evaluates how well the particles adapt to the actual solution of the problem. The leader of the swarm (fittest particle) is the particle that best adapts to the solution as it is updated through every iteration. The algorithm keeps a record of the solution of the fittest particle and also that of the best position achieved by each particle. The personal best position ever achieved by ith particle and global best position of the swarm is defined as PiBest and GiBest in Equations (5) and (6). The particles in the swarm would be seen to consistently move towards the solution of the problem through every iteration by updating the particle’s position, Equation (4), towards these two best memories (PiBest and GiBest).
X i = ( x i 1 , x i 2 , , x i m ) ,
  V i = ( v i 1 , v i 2 , , v i m ) ,
V i ( t + 1 ) = w r V i ( t ) + c 1 r 1 ( P i B e s t ( t ) ) X i ( t ) + c 2 r 2 ( G i B e s t ( t ) X i ( t ) ) ,
X i ( t + 1 ) = X i ( t ) + V i ( t + 1 ) ,
P i B e s t = ( p i B e s t , p i B e s t , , p i B e s t ) ,
G i B e s t = ( g i B e s t , g i B e s t , , g i B e s t ) ,
where rj is a randomly generated number between [0, 1] and j ϵ [0, 1, 2]. PSO has a high convergence speed which is very desirable for robot applications, but this convergence speed sometimes results in stagnation which is a major limitation of the PSO algorithm. The characteristic of the PSO algorithm that allows it to define promising regions in search space is referred to as exploration while exploitation allows it to refine solutions within the defined promising region. These are the major characteristics of any PSO algorithm, a good algorithm balances these properties to find the best solution to a problem while avoiding stagnation. The contributions of [20] showed that these properties can be tuned by carefully selecting the value of w of the PSO algorithm. The concept of constriction coefficient was introduced, setting the inertia weight at 0.712 while the cognitive and social coefficient were both 1.494. This version of the PSO has come to be known today as the standard PSO (SPSO). The biological background of SPSO is believed to have evolved from the bird-like objects or BOIDS introduced by [21] to simulate flocking birds or animals in virtual reality studios. The BOIDS was governed by three basic rules; separation, alignment, and cohesion. The SPSO ignored the alignment and cohesion rules to reduce computational cost and increase convergence speed. Reference [22] proposed re-incorporating these rules reduces the convergence speed which is advantageous in pushing the algorithm out of stagnation. The effects of topologies on PSO were studied in [23], the SPSO has a star topology, where every individual is connected to other individuals such that information or direction of search is communicated and implemented throughout the swarm. Observing that this topology allows too much communication between the swarm particles and may be responsible for the quick convergence and stagnation of the SPSO, Reference [24] investigated the circle, wheel, and random topologies which isolate the individual particles of the swarm at different degrees so that information is communicated to the swarm by the focal individual or short-cuts between the isolated groups thereby causing a buffering effect which reduces the convergence speed of the swarm and improves search results. In [25], it was shown that the success of individual particles is not as a result of only the particle with the best fitness but by the influence of the entire swarm to a certain degree. An algorithm was presented that allowed every particle to have a weighted influence on other particles, based on their fitness such that particles with higher fitness exerted more influence. References [26,27] proposed the combination of SPSO with other computational search methods like conjugate gradient and steepest descent respectively. These variations of PSO also aimed at slowing down the convergence speed by allowing the algorithm to stop and search for promising regions in the local space, while [28] successfully merged PSO with ABC for nonlinear statistical analysis.
Swarms are best suited for analyzing static search spaces with one global solution (unimodal). In reality, most robot analysis problems contain more than one local solution (multimodal) and the search space is sometimes dynamic, therefore maintaining diversity is crucial for the performance of PSO. Various strains of PSO involving sub-swarms have been developed for this purpose, PSO was combined with expanding neighborhood topology in [29] to solve the permutation flow-shop scheduling problem. The algorithm is initiated with sub-swarms of small size neighborhoods, slowly expanding through every iteration, absorbing other particles, taking advantage of both the global and local neighborhood structures to increase the performance of the PSO algorithm. Competitive strategy was used in [30] to manage convergence, while entropy measurement was employed to maintain the diversity of the swarm. In [31], an adaptive multi-swarm competition PSO was proposed where the swarm is adaptively divided into sub-swarms and a competition mechanism is used to maintain diversity in the swarms. The sub-swarms slowly converge, adaptively reducing the number of swarms while balancing between exploration and exploitation tendencies. Other algorithms that employed sub-swarms include [32,33,34,35]. Although multi-swarm based algorithms were found to be efficient for solving multimodal problems, these algorithms have very high computational cost [33]. The new trends of adaptive SPSO where the inertia weight and acceleration components are altered during the search process is capable of improving exploration and exploitation tendencies with less computational cost [36]. In [37,38,39,40] the parameters of the adaptive PSO were dependent on the quality of the solution and tailored to the specific problem, the parameters were updated by comparing the values of the best particles (PiBest and GiBest). This technique was found favorable in analyzing both static and dynamic search spaces without incurring too much computational cost.

1.3. PSO and Robot Parameter Identification

Over the years, the use of PSO for robot parameter identification has been researched, a comparison between the linear least squares (LLS) method and the PSO was presented in [41] for the dynamic parameter identifications of a 3DOF Staubli RX-60 robot manipulator, where the PSO was found to produce better results. Reference [42] combined the linear simplification of the LLS and the non-linear optimization of the PSO for online and offline parameter identification of space robots. Space robots encounter changes in their kinematic parameters while running in the orbit. The non-linear model is first used for parameter identification in the offline mode while the LLS is used for online identification in the follow-up mission knowing that the parameters would not change much. These works and other similar research works exhibit the superiority of intelligent swarm-based techniques over traditional methods. A hybridized genetic algorithm and PSO (GAPSO) was implemented by [43] for parameter identification of a SCARA robot, [44] also implemented a hybridized BPNN and PSO for determining the kinematic parameters of a 6DOF robot manipulator, while [45] investigated the performance of seven PSO variants in solving the inverse kinematics of 2DOF robots. In [46,47], a combination of PSO and simulated annealing (SA) was used to optimize the geometric structure of non-redundant 6DOF manipulators. In [48] the Elitist Learning Strategy PSO (ELS-PSO) for dynamic parameter analysis of a 3DOF Staubli RX-60 robot manipulator. The Quantum-Behaved PSO (QPSO) was implemented for parameter identification of a puma 560 robot by [49] in two steps by first optimizing the individual joint parameters so that the identified values are close to the theoretical values, then all the joint parameters are further optimized simultaneously around the previously converged values. During the course of this research, it was observed that the solution for robot kinematic parameter identification problem did not converge under the basic parameters of the PSO especially when there were more than three degrees of freedom, and most published works implementing the PSO for robot parameter identification either used lower DOF robots or the algorithms were enhanced, modified and hybridized usually for specific robot manipulators, these algorithms are often not applicable for other robot configurations. Therefore, the concept of a novel Mutating PSO (MuPSO) algorithm was conceived for analyzing robot kinematics. To the best of our knowledge, there has not been any research tailored at determining the best range of PSO parameters to develop an algorithm for robot analysis, therefore this work aims to develop a new PSO variant capable of analyzing all robot configurations and least likely to fall into stagnation. This was achieved by first studying the behavior of PSO under various robot configurations and determining a new range of parameters for robot kinematic analysis, then a suitable adaptive technique was investigated and finally, the mutation function was implemented. A total of 54 different PSO parameters were tested on 6 robot manipulators. The rest of this paper is organized as follows; Section 2 presents the kinematic model of the robot configurations to be studied and the fitness function for the algorithm was formulated. Experiments studying the behavior of these robot configurations under various parameters were conducted in Section 3, the new adaptive strategy is presented in Section 4, comparing it with other variations of PSO. The results are presented in Section 5, the Mutation function was introduced in Section 6 and in Section 7 conclusions were drawn, while Section 8 presents the future thrust.

2. Kinematic Model of Robots

To determine a new set of parameters for robot analysis, the effect of four popular robot configurations was studied under various parameters. The robot configurations include the Articulate, Stanford, SCARA, and Dual-Arm robot configurations. These robot configurations were implemented on six different robot manipulators; the articulate configuration was implemented on a 3DOF robot manipulator because it is regarded as the most complex spatial robot configuration. The articulate robot configuration was also implemented on two different 6DOF robot manipulators of different sizes to study the effect of size on the PSO parameters.

2.1. Robot Configurations

Industrial manipulators usually have 6DOF as this gives the manipulator optimum dexterity, allowing it to complete most tasks in an industrial workspace. A robot with less than 6DOF is deficient, as it is easier to analyze and control but it cannot reach all the possible positions and orientations in its workspace. A redundant robot possesses more than 6DOF, they are more flexible, capable of maneuvering behind obstacles but more expensive to analyze and control. The SCARA manipulator is an example of a deficient robot manipulator, articulate manipulators are usually 6DOF while the dual-arm robot is a redundant manipulator (usually greater than 6DOF). It would be keen to note that the presence of a prismatic joint in any robot configuration simplifies the analysis while complicating the solution, it requires less computation but, like redundant configurations, there is a possibility of having numerous or even infinite solutions to every problem. The joints and end-effector of robots are always oriented along the z-axis of the coordinate frame.
  • Scara Robot Configuration: The Selective Compliance Assembly Robot (SCARA) is one of the earliest industrial manipulators patented in 1981, it is usually a 4- or 5-DOF manipulator with all revolute joint, except one. In this analysis, a 4DOF SCARA manipulator shall be analyzed. The first joint of the manipulator being the prismatic joint, the other joints are revolute, parallel to each other and pointing along the direction of gravity. The SCARA manipulator is shown in Figure 1a and the DH-parameters are tabulated in Table 1.
  • Articulate Robot Configuration: The articulate manipulator is the most popular robot configurations used in industrial workspaces, its analysis and solutions are trivial, therefore a very high accuracy can be achieved. All the joints of the articulated robot are revolute with the first joint pointing along the direction of gravity.
    The second third and fifth joints are parallel to each other and perpendicular to the first joint axis. The fourth and sixth joints are coincident and perpendicular to all the other joints. Three articulated manipulators were used in this analysis, one 3DOF articulated manipulator and two 6DOF articulated manipulators with significantly different sizes. The 3DOF articulate manipulator is configured exactly like the first three joints of the 6DOF articulate manipulator previously described. Figure 1b shows the 3DOF while Figure 2a shows the 6DOF robot configurations, their D-H parameters are tabulated in Table 2, Table 3 and Table 4.
  • Stanford Robot Configuration: The Stanford manipulator is also a 6DOF manipulator with five revolute joints and one prismatic joint. It is configured very much like the articulate arm except that the third arm is prismatic. The Stanford manipulator is shown in Figure 2b with its detailed D-H parameters defined in Table 5.
  • Dual-Arm Robot Configuration: The dual-arm robot is the most dexterous of the manipulators with a total of 17DOF which are all revolute. It is configured such that the first joint at the ‘base’ of the structure is pointing along the direction of gravity. The third joint is parallel to the first joint and coincident with the fourth joint. The fifth, seventh, and ninth joints are also coincident with the third joint.
The fourth, sixth, and eight joints are parallel to each other and perpendicular to the first joint while the second joint is perpendicular to all the other joints. Figure 3 illustrates the dual-arm robot manipulator while Table 6 shows the D-H parameters of the robot.

2.2. Fitness Function

The homogeneous matrix of each successive pair of frames can be obtained using the formula in (7) below from the D-H parameters. the transformation matrix T for the robot manipulator’s end effector is a product of post multiplication as shown in the formula in (8).
T k 1 k = [ cos θ k sin θ k 0 a k sin θ k cos α k 1 cos θ k cos α k 1 sin α k 1 d k sin α k 1 sin θ k sin α k 1 cos θ k sin α k 1 cos α k 1 d k cos α k 1 0 0 0 1 ] ,
T 0 d o f = [ t 11 t 12 t 13 t 14 t 21 t 22 t 23 t 24 t 31 t 32 t 33 t 34 0 0 0 1 ] = T 0 1 T 1 2 T d o f 1 d o f ,
A = [ 0.5161 0.2261 0.8262 349.5064 0.7185 0.6394 0.2739 1419.7 0.4663 0.7349 0.4924 516.5116 0 0 0 1 ] ,
f i j = t i j a i j ,
F i t n e s s = i n = 3 j m = 4 ( f i j E ) ,
If the actual values of T read from sensors attached to the robot’s end-effector is given in A, then the fitness function (Fitness) would be as described in Equations (10) and (11). Where k ϵ [1, 2, …, dof], subscripts i, j ϵ [1, 2,…,4] and E = 1 × 10−8. Most robots are usually fitted with encoders, gyroscopes, and current controllers which can measure joint position, end-effector orientation, and actuator currents (torque) respectively. There are a variety of sensors that can also be mounted manually on robots.

3. Determining New PSO Parameters

An experiment aimed at studying the behavior of all popular robot configurations on different PSO parameters was performed to identify the best values of w and c that balances out exploration and exploitation tendencies while ensuring convergence of results and also to determine the solutions with the best computational efficiency. The initial value of w (wi) was set to 0.7, increasing with an interval of 0.4 to a final value (wf) at 1.5, such that w = 0.7:0.4:1.5. The initial value of c (ci) was set at 1.5, increasing with an interval of 0.3 to a final value (cf) at 3.9, such that c = 1.5:0.3:3.9 as elaborated in Figure 4. Then the experiment was repeated for c = 1.4:0.6:2.6 and w = 0.6:0.3:3.0. The 6 robot configurations were tested with 54 sets of PSO parameters in 30 generations and 2000 iterations. The mutation function was not implemented in this experiment, the results were tabulated and the performance of the PSO plotted. In Table 7, the average and standard deviation of the best solutions after thirty runs and the solution that best minimizes the problem were presented, the average number of iterations required to find the best solution for each of the six robot manipulators was also presented at w = 0.7. Table 8 and Table 9 present a similar set of results for w at 1.1 and 1.5, respectively. To ease comparison and visualization of the results, a summary is presented in Table 10 showing the averages of normalized values obtained in Table 7, Table 8 and Table 9 while Figure 5a–f shows a pictorial plot of the performance of PSO for each of the robot manipulators. Similarly, Table 11, Table 12, Table 13 and Table 14 and Figure 6a–f present the results and plots for the seco−nd experiment. The minimum solution for each robot manipulator problem was reported in this analysis because the average solutions (after 30 runs) usually reported in other works of literature does not completely capture the results obtained from the experiment especially in the SCARA, Stanford and dual-arm configurations where there is a possibility of multiple solutions to every problem. It can be shown that the average best solution alone is not enough to make a good comparison between the different scenarios. If the minimum solution presented in the tables represent the probability for the given parameters to find the minimum solution whereas the average best solution represents the probability for the solution to run into stagnation, then it can be shown that some parameters with very competitive average solutions are not capable of finding the minimum (global best) solution.
While some other parameters with very poor average best solutions are capable of finding the minimum solution. For example, the results for the SCARA robot configuration in Table 11 shows that when c is 1.4 and w is between 2.4–2.7 the average best solution dominates the results obtained when w was between 1.2–1.5, yet the solution of the former cannot find the global minimum solution, and many more instances can be sited. Accuracy is very important in robot analysis, therefore the best solution should be able to find the global minimum solution always, followed by the solution that can find the global minimum at least once. Algorithms that may produce competitive averages yet incapable of locating the global minimum are regarded as poor solutions. Therefore, the minimum solution achieved by every pair of parameters was reported in the tables as the minimum solution. The aggregate performance of the PSO presented in Table 10, and Table 14 is an average of the normalized values obtained in the experiments such that the variables with higher normalized values have better performance, also a penalty was introduced when solving the average of normalized values, where binary probability distribution was used to replace the normalized minimum solution such that the solutions capable of finding the global minimum solution were assigned the value 1 while other undesirable results were assigned the value 0.

3.1. Observations

For the 3DOF Articulate robot configuration in Table 10, a random-like fluctuation in the performance of the PSO can be observed. When w was at 0.7 the best result was achieved at c = 1.8, it can also be observed that when w was increased to 1.1 the best results occurred at around c = 2.7 then when w was further increased to 1.5 the best result occurred at c = 1.5. However, Figure 5a shows that the performance of the PSO increases with increasing w and decreasing learning coefficient (c).
The performance of the PSO is somewhat stable when c was between 1.8–2.4 and w at 1.5 was found to be dominant. On the other hand, it can be seen from the Table 14 that the best result obtained for the PSO was when w was 1.2 and c was 1.4, then when c was increased to 2.6 the best result was observed at w = 0.9 which suggests that an improved result was achieved with an increasing c and a decreasing w. Figure 6a shows that the performance of the PSO algorithm deteriorates with increasing c. From Table 14 and Figure 6a, it can also be observed that the algorithm was stable when w was between 0.6 and 1.2 with c = 1.4 being dominant.
From Table 7, that when w = 0.7 and c < 2.7, the PSO algorithm was incapable of finding the global minimum solution for the higher DOF robots, likewise in Table 12 when c = 2.0 and w < 1.2. These observations confirm that the standard PSO (SPSO) is only capable of analyzing robot manipulator configurations with lower degrees of freedom. Because the dominant solutions are within the range of the SPSO, but as the DOF increases, the dominant solutions would be seen to deviate from the range of the SPSO.
In the 4DOF SCARA robot configuration, it can be observed from Table 10 that when w was equal to 0.7, the best result was obtained at c = 2.1 when w was increased and c decreased, the performance of the PSO was seen to increases as made evident in Figure 5b. The algorithm can be seen to be stable when c is between 1.8–2.4 and w at 1.5 dominating other solutions. Likewise, from Table 14 and Figure 6b, although it can be observed that the algorithm was stable when w was between 0.6–1.8 the best solution was recorded when w was between 0.9–1.2. In the initial stages when w was small c = 1.4 was dominant, but as w increased, c = 2.0 became the dominant solution.
From Table 10 it would be observed that the best result obtained for a 6DOF Stanford robot occurred when w = 0.7 and c = 3.9. When w was increased to 1.5 the best result was obtained with a decreasing c at 1.5. From Figure 5c the performance of the algorithm can also be observed to deteriorate with increasing w. the algorithm was stable when c was between 1.8–3.6 with w = 1.5 being the dominant solution when c was small, then w = 0.7 becomes dominant when c increases beyond 2.4. In Table 14 when c = 1.4 the best result for the 6DOF Stanford manipulator was obtained at w = 1.5, this value decreases slightly with an increase in c such that at c = 2.6 the best result occurred at w = 1.2. The algorithm was found stable between w = 0.6–1.5 and the solutions of c = 2.0 and c = 2.6 can be seen to compete for dominance. The dominant solution would lay be between c = 2.0−2.6.
The trend of decreasing inertia weight (w) and increasing learning coefficient (c) is observed to continue for the 6DOF Articulate manipulator configurations (both small and big) it can be seen from Table 10 that the best results were obtained at c = 3.6 when w was 0.7 for both configurations, this value reduced to c = 1.8 and c = 2.7 for the small and big manipulators respectively while w increased to 1.5. From Figure 5d,e, it can be observed that the algorithm remains stable when c was between 2.7–3.9 for both configurations with w = 0.7 being the dominant solution. It can also be observed from both plots that the performance of the algorithm also deteriorated with increasing w. An even stronger correlation is observed from Table 14 where the best results occurred at w = 1.5 for all values of c with a slightly decreasing w observed in the larger Articulated robot configuration. From Figure 6d,e, it would be seen that the algorithm is stable when w was between 0.9–1.8 and the dominant solution of c lies between 2.0–2.6. It would, therefore, be safe to deduce that the size of the robot manipulator has little effect on the PSO solution, therefore any PSO algorithm that can analyze a given configuration is most likely able to analyze the different varieties of sizes within the same configuration.
From Table 8 when w = 1.1 at c = 2.3 and c = 3.3, fluctuating results were recorded in the dual-arm configuration which is believed to be a result of stagnation in the algorithm.
Similar results were recorded in Table 13 when c = 2.6 at w = 1.5 and w = 2.4, and also in Table 12 when c = 2.0 at w = 0.6. Otherwise, in Table 10 the best results were obtained at c = 3.0 for w = 0.7 and c = 1.5 when w increased to 1.5. the best result occurred with a decreased value of c at 1.5. Figure 5f shows the performance of the algorithm deteriorates with an increasing w. although the algorithm remained consistent for almost all values of c, a sharp deterioration can be observed when c was 1.5–2.1. w = 0.7 is the dominant solution.
In Table 14 the best results were obtained when c = 1.4 at w = 1.8, the best results were further observed to occur at a decreased w and increased c such that when c = 2.0 the best result was obtained at w = 0.9 and when c = 2.6, the best result was obtained at w = 0.6 which also supports the theory of decreasing w with an increasing c. From Figure 6f, the performance was stable when w was between 0.9–2.1 with c = 2.0 being the dominant solution.

3.2. Deductions

The performance of the PSO algorithm was seen to improve with a decreasing inertia weight (w) and an increasing learning coefficient (c) in all the robot manipulator configuration except in the 3DOF Articulate manipulator. Fortunately, our analysis is more concerned with higher DOF robot manipulators, therefore techniques for decreasing w and increasing c shall be investigated. From the observations above for all robot manipulator configurations, the optimal w was 0.6–2.1 while c was 1.8–3.9. These best values were plotted and a fitted curve generated which shall be used to determine a suitable adaptive technique in the next section.

4. Adaptive Computation Technique

In robot analysis, the multi-swarm variations of the PSO are best suited for trajectory analysis especially in mobile robots where the robot would be required to track or follow a moving target. Kinematic/dynamic analysis of industrial robots generally have static search spaces, so this solution is not suitable considering the increased computational cost. Although the variation of the adaptive PSO which is dependent on the best solution (PBest or GBest) seems most promising as demonstrated in [45] but this requires knowledge of the established range of values for w and c that ensures exploitation and exploration. It was previously observed that the robot optimization problem does not converge under the conditions of basic parameters for most known EA. Therefore, this research was aimed at establishing a new set of parameters that ensure convergence. As such, the time-dependent variation of the Adaptive PSO shall be implemented for this analysis. Several time-varying algorithms have been reported in theory. A few of which shall be implemented in the foregoing experiment, a total of 13 distinct PSO algorithms shall be used for the experiment.
  • PSO1: The linear decreasing inertia weight was reported in [40] where inertia weight (w) decreases linearly from 0.9 to 0.4, the governing equation for updating the w is
    w i t e r = w max w min w max t max × t i t e r ,
    c i t e r = 2.05 ,
    where wmax and wmin are values of the initial and final inertia weight, tmax is the maximum number of iterations while titer is the current iteration.
  • PSO2–3: A non-linear decreasing inertia weight was also reported in [50] with w decreasing linearly from 0.9 to 0.4. The governing equation for updating the inertia weight is
    w i t e r = ( t max t i t e r ) n t max n × ( w i n i t i a l w f i n a l ) + w f i n a l ,
    Observe that when n = 1, the inertia weight would be linearly decreasing as shown in Figure 7a, where n is a constant ranging from 0.9 to 1.3, the value n = 1.2 was reported as the recommended value for n in [50] but n = 3 was found to be more suitable for robot analysis. Therefore, the results for the two values n = 1.2 and n = 3.0 shall be presented in this experiment as PSO2 and PSO3, respectively.
  • PSO4: A novel non-linear decreasing w and non-linear increasing c is hereby proposed. The parameters recorded for the best performance of PSO from the previous experiment were plotted and a fitted curve generated as shown in Figure 8. The non-linear technique presented in (15)–(17) exploits the experimental range of values for w and c, where n and m are problem dependent variables.
    w i t e r = w i n i t i a l × n i t e r ,
    c 1 = 2.24 ,
    c 2 = c i n i t i a l m i t e r ,
    If the maximum number of iterations is 3000, then the values of the coefficients n and m can be easily determined. The parameter w in PSO4 shall be updated according on Equation (15) while c1 and c2 are updated according to Equation (16), where the learning coefficients are not adaptive therefore a reduced computation cost can be achieved, while the parameters in PSO11 shall be updated according to Equations (15)–(17) as originally proposed.
  • PSO5–6: The concept of multi-stage decreasing inertia weight was introduced in [51], where w was decreased linearly from 0.9 to 0.4 in three distinct stages. The inertia weight first decreases from the initial value to a predetermined value wm where it remains constant for a while before decreasing further to the final value. As shown in Figure 7b, five different scenarios were presented, and the governing equation for updating the value of the inertia weight in each of the scenarios is given in Equations (18)–(22)
    t 1 = [ 1 5 t max , 2 5 t max , 1 5 t max , 2 5 t max , 1 5 t max , 2 5 t max ] ,
    t 2 = [ 4 5 t max , 3 5 t max , 4 5 t max , 3 5 t max , 4 5 t max , 3 5 t max ] ,
    w n = [ 4 ( w max w min ) 5 + w min , 2.5 ( w max w min ) 5 + w min , ( w max w min ) 5 + w min ] ,
    w m = [ w n ( 1 ) w n ( 1 ) w n ( 2 ) w n ( 2 ) w n ( 3 ) w n ( 3 ) ] ,
    w ( i ) = { ( w s w m ) ( t 1 ( i ) t ) / t 1 ( i ) + w m ( i ) 0 t t 1 w m ( i ) t 1 t t 2 ( w m ( i ) w e ) ( t max t ) / ( t max t 2 ( i ) ) + w e t 2 t t max ,
    The parameter for MLDIW5 was recommended in [51] for inertia weight but the parameters of MLDIW3 were found to be more suitable for the robot analysis. The results for the two values MLDIW5 and MLDIW3 shall also be presented as PSO4 and PSO5 respectively.
  • PSO7: All the aforementioned algorithms exploited only the inertia weight, leaving the learning factor constantly at 2.05. In [52] and [36], a linear decreasing and linear increasing inertia weights were proposed respectively, both with decreasing cognitive component and increasing social component, thereby these techniques exploited both the inertia weight and learning coefficients. The technique reported in [52] shall be utilized in this experiment as it incorporates a linear decreasing inertia weight which is in line with our objectives and its parameters are updated according to Equation (12) above while the cognitive and social components shall be updated as
    c c o g n i t i v e = ( c i n i t i a l c f i n a l ) t i t e r t max + c f i n a l ,
    c s o c i a l = ( c f i n a l c i n i t i a l ) t i t e r t max + c i n i t i a l ,
    The inertia weight of PSO8–13 shall be updated according to the equations for PSO1–6 respectively, while the learning coefficients shall be updated according to Equations (16) and (17). For the sake of fair comparison, the adaptive values of w for all the aforementioned techniques shall decrease from the initial value of 2.1 to a final value of 0.6, the cognitive component remains at 2.24 while the social component is nonlinearly increasing from 1.8 to 3.9.

5. Results

For this experiment, the swarm size was again maintained at 200, a total of 13 adaptive PSO techniques were tested on all six robot manipulators with the maximum number of iterations for each run set at 3000 and a total of 30 runs each. As earlier presented in previous tables, the solution that best minimizes the problem (global minimum) was presented in Table 15 for every pair of robot configuration and PSO technique, the average and standard deviation of the best solution after 30 runs and the average number of iterations required to find the best solution are also presented. These values were normalized, summed, averaged, then ranked (sorted) such that the solution with the least rank possesses the best performance. The ranking of all tested PSO algorithms is presented in Table 16. The first column of Table 16 presents the PSO techniques according to their ranks. The second to the seventh column of Table 16 shows the individual ranks of all the PSO techniques against the six robot manipulators. In the second column, under 3DOF Articulate robot configuration, PSO5 has the best solution for the particular robot manipulator followed by PSO6, then PSO10 has the third-best solution, etc. The last column of Table 16 is the sum of all ranks presented in columns 2–7, PSO13 having the lowest total rank is considered the best result overall. During the course of the experiment, it was observed that:
  • Most algorithms stagnate above 1 × 10−3, also most of the algorithms tested were found to either find the global minimum solution or run into stagnation. Accuracy is an important criterion for robot analysis and control, some algorithms were found to sometimes avoid stagnation but still incapable of finding the global minimum result even after 3000 iterations. This is an anomaly that was unfavorable in this analysis because when taking averages, these solutions gave competitive results, which is capable of confusing the algorithm. Therefore, another penalty was introduced such that if a solution is found to escape stagnation yet incapable of finding the global minimum solution, then the best solution for that run is recorded as 5.5. This signifies that the run gave bad results, and this problem is easily captured when taking averages.
  • It can be seen from Table 15 that using the parameters derived from the previous experiment in place of the parameters of the PSO enhances the results as all the adaptive PSO techniques implemented so far found the global minimum solution except in PSO5 and PSO12. When the robot configuration has more than 4DOF PSO5 was not capable of finding the global minimum solution while PSO12 could not find the global minimum for the 6DOF Stanford robot configuration. Since almost all the algorithms were capable of finding the minimum solution, the quest was therefore reduced to finding the algorithm with the least computations and less likely to fall into stagnation.
  • The proposed algorithm in PSO11 was found to produce better results than the PSO techniques reported in other works of literature and was only surpassed by PSO13 which is a modification of PSO6 and contested keenly with PSO10 which is also a modification of PSO3.
  • From the results presented in Table 16, it can also be deduced that varying both the inertia weight and learning coefficient produces better results in adaptive PSO algorithms compared to only varying the inertia weight.
  • It would also be observed that the proposed algorithm (PSO11) does not perform well at lower DOFs but performed better than PSO10 at higher DOF configurations. PSO13 perform well across all robot configurations. producing the best result for all techniques tested in this experiment.
  • In the NLDIW adaptive technique, although PSO2 was recommended in [50], it can be seen from Table 16 that PSO3 performed better. Likewise, in the MLDIW adaptive technique, PSO5 was recommended in [51] but PSO6 performed better for robot analysis.
  • Modifying the adaptive PSO techniques presented in literature (PSO1–6) with a non-linear increasing learning coefficient as defined in Equations (16) and (17) greatly improved the performance of the PSO algorithm as it can be seen that the modified algorithms in PSO8–13 performed better than their counterparts with constant learning factors (PSO1–6).

6. Mutation Function

Structural bias in population-based algorithms is a characteristic that confines the search in a constrained search space. Replacing randomly selected samples with newly generated random samples enhances unbiased coverage of the search space [53]. In the mutating PSO algorithm, when the algorithm stagnates at a local optimum solution, a mutation operation is used to replace the swarm with new samples. The mutation function is an artificial perturbation of the system used to push the algorithm out of stagnation. The mutation probability was set at 100%, because if any solution from the previous iteration should remain, then that solution shall be the global best solution for the next iteration, therefore, the entire swarm would converge on that solution causing a recurring stagnating cycle. Four variables and two end conditions were introduced to train the algorithm to identify a stagnating solution. When the two conditions are satisfied, the algorithm terminates the iteration signifying that the actual solution has been identified, while if only one condition is satisfied, it signifies that the algorithm has run into stagnation and the mutation function is initiated. The abandonment threshold (E) is the global minimum solution. The Fitness error (e) is the difference between the current Fitness and the previous Fitness as elaborated in Equation (25), and the abandonment counter (q) monitors the second differential of Fitness error. When the second differential of the Fitness error becomes small than E then the algorithm is assumed to have slowed down, therefore, the condition in Equation (26) states that when the difference in e is less than E then q begins to count consecutively through every iteration, and if the condition in (26) is broken then counter in q is reset to zero.
e = F i t n e s s t 1 F i t n e s s t ,
q = { q + 1 , i f , ( e i 1 e i ) < E 0 , E l s e ,
f ( M u P S O ) = { e n d i f q Q a n d F i t n e s s E m u t a t e i f q Q a n d F i t n e s s > 1 e 3 ,
The two end conditions in Equation (27) states that when q is equal to or greater than the abandonment limit (Q) and E is less than 1 × 10−8 then the algorithm has found the global minimum solution and should be terminated, but when only the first condition is met then this signifies that the algorithm has run into stagnation. Q should be large enough so as not to prematurely terminate a solution allowing the algorithm to break out of stagnation but must also not be too large to allow a failed solution to continue. Table 17 shows the performance of the a few variants of PSO modified with the mutating operator. The proposed mutating PSO algorithm is presented in the first column, followed by the basic PSO (w = 1.0 and c = 2.05). The MLDIW-PSO with the enhanced parameters is in the third column as Mu-MLDIW, while the basic MLDIW (w = 0.9–0.4) is in the fourth. Likewise, the NLDIW-PSO with enhanced parameters is presented in the fifth column as Mu-NLDIW, and the basic NLDIW is in the last column. All these algorithms were further enhanced with the mutating operation.
Observe that all the basic PSO algorithms were able to analyze the 3DOF articulate and 4DOF SCARA manipulators, but unable to find the minimum solution for the higher DOF manipulators. At lower DOFs, although the basic PSO algorithms gave better results, the results from the proposed MuPSO are sufficient for robot analysis as seen in Table 18 where the joint parameters of the robots are identified with an accuracy of three decimal places.
Converging results were not obtained for the Stanford and the Dual-arm configurations. In a real experiment, the robot would be required to move from a known initial position and orientation Ti to a final destination Tf, therefore introducing more constraints like minimizing the distance traveled by joints or the energy consumption of joints may improve the convergence of prismatic and redundant configurations.

7. Conclusions

Research into developing an intelligent swarm-based algorithm for robot analysis and parameter identification was proposed, experiments were performed to study the behavior of four popular robot configurations under various PSO parameters, and two anomalies were identified from the experimental results and successfully resolved. The anomalies were capable of masking poor solutions as good solutions. In this experiment, all the strong local minimizers have been identified; the 3DOF articulate configuration has only one strong local minimizer with Fitness = 2.0 at a position vector of [80, −40, −60]T. The 4DOF SCARA configuration also has only one local minimizer at Fitness = 4.0 with an infinite possibility of position vectors, while the other higher DOF robot configurations have at least five minimizers each. The minimizers are very sensitive, they are shifted by the slightest change in parameters therefore it is almost impossible to identify the stagnation points in real-time. An average solution is capable of breaking out of weak local minimizer but even the best solutions are helpless in the vicinity of a strong local minimizer. This is the basis of introducing the mutation function, to help break algorithms out of stagnation.
Since the algorithm can be taught to identify stagnating solutions, then the best solutions either find the global minimizer or stagnate at local minimum, but not linger without a solution. The two anomalies observed were capable of disguising poor solutions and confusing the algorithm therefore two penalties were introduced to help unmask poor solutions while distinctively identifying the best solutions. Some correlations were observed between the robot configurations and the various PSO parameters, a non-linear decreasing inertia weight and a non-linear increasing correction factor were adopted based on the experimental results. A new range of adaptive parameters were identified and implemented on the PSO algorithm. The algorithm was found to be capable of solving the robot kinematic problem for all four robot configurations. Algorithms from other works of literature were also modified with the newly identified adaptive parameters and compared with the proposed algorithm for solving robot kinematic problems. The proposed algorithm was found to dominate the other algorithms reported in the literature, succumbing to only the modified MLDIW-PSO that had the best overall performance, surpassing the runner up with large margins while the modified NLDIW and the proposed MuPSO algorithm closely contested the second position. More emphasis is on higher DOF configurations, therefore, if the lower DOF manipulators are ignored, the MuPSO would completely dominate the NLDIW-PSO in PSO10.

8. Future Thrust

The future aspirations of this work are to implement the algorithm in dynamic parameter identification of these robot manipulators, and also to compare the performance of the proposed algorithm with other metaheuristics on standard benchmark function. Testing the algorithm on benchmark functions would hopefully shed more light on the complex phenomena of modeling and control of non-linear dynamic systems. The algorithm described herein utilizes a time-dependent adaptive technique, a solution dependent (PBest or GBest based) adaptive technique seems more promising with better maneuverability, therefore since the range of parameters which ensure convergence of the robot dynamic problem has been established, it would be worthwhile to investigate a solution dependent algorithm for robot analysis. It has been established that even the best solution runs into stagnation, studying the initial conditions of the randomly populated swarm may give more insights on early identification of stagnating solutions so that the algorithm can be trained to completely avoid them.

Author Contributions

Conceptualization, A.U. and Z.I.B.F.; Methodology, A.U. and Z.I.B.F.; Software, A.U.; Validation, A.U., Z.I.B.F., and A.K.; Formal analysis, A.U.; Investigation, A.U.; Resources, A.K.; Data curation, A.U. and A.K.; Writing—original draft preparation, A.U.; Writing—review and editing, A.U. and Z.S.; Visualization, A.U., Z.S., and A.K.; Supervision, Z.S.; Project administration, Z.S.; Funding acquisition, Z.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Natural Science Foundation of Hebei Province of China, grant number F2017202243.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Umar, A.; Shi, Z.; Wang, W.; Farouk, Z.I.B. A Novel Mutating PSO Based Solution for Inverse Kinematic Analysis of Multi Degree-Of-Freedom Robot Manipulators. In Proceedings of the 2019 IEEE International Conference on Artificial Intelligence and Computer Applications, Dalian, China, 29–31 March 2019; pp. 554–559. [Google Scholar] [CrossRef]
  2. Kennedy, J.; Eberhart, R.C. Particle Swarm Optimization. In Proceeding of International Conference on Neural Networks; IEEE Press: Perth, Australia, 1995; pp. 1942–1948. [Google Scholar] [CrossRef]
  3. Zhu, L.; Feng, R.; Li, X.; Xi, J.; Wei, X. A Tree-Shaped Support Structure for Additive Manufacturing Generated by Using a Hybrid of Particle Swarm Optimization and Greedy Algorithm. J. Comput. Inf. Sci. Eng. 2019, 19, 1–12. [Google Scholar] [CrossRef]
  4. Zhang, X.; Lu, D.; Zhang, X.; Wang, Y. Antenna Array Design by a Contraction Adaptive Particle Swarm Optimization Algorithm. EURASIP J. Wirel. Commun. Netw. 2019, 2019, 1–7. [Google Scholar] [CrossRef] [Green Version]
  5. Cai, X.; Cui, Z.; Zeng, J.; Tan, Y. Self-adaptive PID-controlled Particle Swarm Optimization. In Proceedings of the Chinese Control Conference, Hunan, China, 26–31 July 2007; pp. 799–803. [Google Scholar] [CrossRef]
  6. Cui, Z.; Cai, X.; Zeng, J.; Yin, Y. PID-Controlled Particle Swarm Optimization. Mult. Valued Log. Soft Comput. 2010, 16, 585–609. [Google Scholar]
  7. Lu, Y.; Yan, D.; Zhang, J.; Levy, D. A Variant with a Time Varying PID Controller of Particle Swarm Optimizers. Inf. Sci. 2015, 297, 21–49. [Google Scholar] [CrossRef]
  8. Xiang, Z.; Ji, D.; Zhang, H.; Wu, H.; Li, Y. A Simple PID-based Strategy for Particle Swarm Optimization Algorithm. Inf. Sci. 2019, 502, 558–574. [Google Scholar] [CrossRef]
  9. Chang, C.; Wu, X. An Improved Particle Swarm Optimization Algorithm. Adv. Intell. Sys. Comp. 2020, 928, 1406–1410. [Google Scholar] [CrossRef]
  10. Zidan, A.; Tappe, S.; Ortmaier, T. Auto-tuning of PID Controllers for Robotic Manipulators using PSO and MOPSO. Lect. Notes Electr. Eng. 2020, 495, 339–354. [Google Scholar] [CrossRef]
  11. Peng, Z.; Al Chami, Z.; Manier, H.; Manier, M.-A. A Hybrid Particle Swarm Optimization for the Selective Pickup and Delivery Problem with Transfers. Eng. Appl. Artif. Intell. 2019, 85, 99–111. [Google Scholar] [CrossRef]
  12. 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]
  13. Iacca, G.; Caraffini, F.; Neri, F. Compact Differential Evolution Light: High Performance Despite Limited Memory Requirement and Modest Computational Overhead. J. Comput. Sci. Technol. 2012, 27, 1056–1076. [Google Scholar] [CrossRef]
  14. Li, J.; Zhang, J.; Jiang, C.; Zhou, M. Composite Particle Swarm Optimizer with Historical Memory for Function Optimization. IEEE Trans. Cybern. 2015, 45, 2350–2363. [Google Scholar] [CrossRef] [PubMed]
  15. Santucci, V.; Milani, A.; Caraffini, F. An Optimisation-Driven Prediction Method for Automated Diagnosis and Prognosis. Mathematics 2019, 7, 1051. [Google Scholar] [CrossRef] [Green Version]
  16. Hu, J.; Chen, D.; Liang, P. A Novel Interval Three-Way Concept Lattice Model with Its Application in Medical Diagnosis. Mathematics 2019, 7, 103. [Google Scholar] [CrossRef] [Green Version]
  17. Hu, J.; Yang, Y.; Chen, X. A Novel TODIM Method-based Three-Way Decision Model for Medical Treatment Selection. Int. J. Fuzzy Syst. 2017, 33, 3405–3417. [Google Scholar] [CrossRef]
  18. Yao, J.T.; Azam, N. Web-based Medical Decision Support Systems for Three-Way Medical Decision Making with Game-theoretic Rough Sets. IEEE Trans. Fuzzy Syst. 2015, 23, 3–15. [Google Scholar] [CrossRef]
  19. Wang, L.; Zhao, J.; Liu, D.; Lin, Y.; Zhao, Y.; Lin, Z.; Zhao, T.; Lei, Y. Parameter Identification with the Random Perturbation Particle Swarm Optimization Method and Sensitivity Analysis of an Advanced Pressurized Water Reactor Nuclear Power Plant Model for Power Systems. Energies 2017, 10, 173. [Google Scholar] [CrossRef] [Green Version]
  20. Clerc, M.; Kennedy, J. The Particle Swarm—Explosion, Stability, and Convergence in a Multi-Dimensional Complex Space. IEEE Trans. Evol. Comput. 2002, 6, 58–73. [Google Scholar] [CrossRef] [Green Version]
  21. Reynolds, W.C. Flocks, Herds, and Schools: A Distributed Behavioral Model; ACM: New York, NY, USA, 1987; Volume 21, pp. 25–34. [Google Scholar] [CrossRef] [Green Version]
  22. Cui, Z.; Shi, Z. Boids Particle Swarm Optimization. Int. J. Innov. Comput. Appl. 2009, 2, 78–85. [Google Scholar] [CrossRef]
  23. Kennedy, J. Small Worlds and Mega-Minds: Effects of Neighborhood Topology on Particle Swarm Performance. In Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406), Washington, DC, USA, 6–9 July 1999; Volume 3, pp. 1931–1938. [Google Scholar] [CrossRef]
  24. Kennedy, J. The Particle Swarm: Social Adaptation of Knowledge. In Proceedings of the 1997 International Conference on Evolutionary Computation, Indianapolis, IN, USA, 13–16 April 1997; pp. 303–308. [Google Scholar] [CrossRef]
  25. Mendes, R.; Kennedy, J.; Neves, J. Watch Thy Neighbor or How the Swarm Can Learn from Its Environment. In Proceedings of the 2003 IEEE Swarm Intelligence Symposium, Indianapolis, IN, USA, 24–26 April 2003; pp. 88–94. [Google Scholar] [CrossRef]
  26. Qteish, A.; Hamdan, M. Hybrid Particle Swarm and Conjugate Gradient Optimization Algorithm. In Advances in Swarm Intelligence; ICSI 2010; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2010; Volume 6145, pp. 582–588. [Google Scholar] [CrossRef]
  27. Qin, J.; Yin, Y.; Ban, X. A Hybrid of Particle Swarm Optimization and Local Search for Multimodal Functions. In Advances in Swarm Intelligence; ICSI 2010; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2010; Volume 6145, pp. 589–596. [Google Scholar] [CrossRef]
  28. De-los-Cobos-Silva, S.G.; Andrade, M.Á.G.; Lara-Velázquez, P.; García, E.A.R.; Mora-Gutiérrez, R.A.; Ponsich, A. ABC-PSO: An Efficient Bioinspired Metaheuristic for Parameter Estimation in Nonlinear Regression. In Advances in Soft Computing, Mexican International Conference on Artificial Intelligence MICAI 2016; Pichardo-Lagunas, O., Miranda-Jiménez, S., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2016; Volume 10062, pp. 388–400. [Google Scholar] [CrossRef]
  29. Marinakis, Y.; Marinaki, M. Particle Swarm Optimization with Expanding Neighborhood Topology for the Permutation Flowshop Scheduling Problem. Soft Comput. 2013, 17, 1159–1173. [Google Scholar] [CrossRef]
  30. Guo, W.; Zhu, L.; Wang, L.; Wu, Q.; Kong, F. An Entropy-Assisted Particle Swarm Optimizer for Large-Scale Optimization Problem. Mathematics 2019, 7, 414. [Google Scholar] [CrossRef] [Green Version]
  31. Kong, F.; Jiang, J.; Huang, Y. An Adaptive Multi-Swarm Competition Particle Swarm Optimizer for Large-Scale Optimization. Mathematics 2019, 7, 521. [Google Scholar] [CrossRef] [Green Version]
  32. Ahmad, N.; Mohammed, M.E.; Reza, S. DNPSO: A Dynamic Niching Particle Swarm Optimization for Multi-Modal Optimization. In Proceedings of the 2008 IEEE Congress on Evolutionary Computation, Hong Kong, China, 1–6 June 2008; pp. 26–32. [Google Scholar] [CrossRef]
  33. Seo, J.H.; Im, C.H.; Heo, C.G.; Kim, J.K.; Jung, H.K.; Lee, C.G. Multimodal Function Optimization Based on Particle Swarm Optimization. IEEE Trans. Magn. 2006, 42, 1095–1098. [Google Scholar] [CrossRef]
  34. Blackwell, T.M. Particle swarms and population diversity. Soft Comput. 2005, 9, 793–802. [Google Scholar] [CrossRef]
  35. Blackwell, T.; Branke, J. Multi-swarm Optimization in Dynamic Environments. In Applications of Evolutionary Computing; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3005, pp. 489–500. [Google Scholar] [CrossRef]
  36. Ratnaweera, A.; Halgamuge, S.K.; Watson, H.C. Self-Organizing Hierarchical Particle Swarm Optimizer with Time-Varying Acceleration Coefficients. IEEE Trans. Evol. Comput. 2004, 8, 240–255. [Google Scholar] [CrossRef]
  37. Qin, Z.; Yu, F.; Shi, Z.; Wang, Y. Adaptive Inertia Weight Particle Swarm Optimization. In Artificial Intelligence and Soft Computing—ICAISC 2006; Rutkowski, L., Tadeusiewicz, R., Zadeh, L.A., Żurada, J.M., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2006; Volume 4029, pp. 450–459. [Google Scholar] [CrossRef]
  38. Yang, X.; Yuan, J.; Mao, H. A Modified Particle Swarm Optimizer with Dynamic Adaptation. Appl. Math. Comput. 2007, 189, 1205–1213. [Google Scholar] [CrossRef]
  39. Arumugam, M.S.; Rao, M.V.C. On the Improved Performances of the Particle Swarm Optimization Algorithms with Adaptive Parameters, Cross-over Operators and Root Mean Square (RMS) Variants for Computing Optimal Control of a Class of Hybrid Systems. Appl. Soft Comput. 2008, 8, 324–336. [Google Scholar] [CrossRef]
  40. Pandey, B.B.; Debbarma, S.; Bhardwaji, P. Particle Swarm Optimization with varying Inertia Weight for solving nonlinear optimization problem. In Proceedings of the International Conference on Electrical, Electronics, Signals, Communication and Optimization, EESCO, Visakhapatnam, India, 24–25 January 2015. [Google Scholar] [CrossRef]
  41. Bingul, Z.; Karahan, O. Dynamic identification of Staubli RX-60 Robot using PSO and LS Methods. Expert Syst. Appl. 2011, 38, 4136–4149. [Google Scholar] [CrossRef]
  42. Xue-qian, W.; Hou-de, L.; Ye, S.; Bin, L.; Ying-chun, Z. Research on Identification Method of Kinematics for Space Robot. Procedia Eng. 2012, 29, 3381–3386. [Google Scholar] [CrossRef] [Green Version]
  43. Feng, F.; Hu, H.; Guo, Z. Application of Genetic Algorithm PSO in Parameter Identification of SCARA Robot. In Proceedings of the Chinese Automation Congress, CAC, Jinan, China, 20–22 October 2017; pp. 923–927. [Google Scholar] [CrossRef]
  44. Gao, G.; Lin, F.; San, H.; Wu, X.; Wang, W. Hybrid Optimal Kinematic Parameter Identification for an Industrial Robot Based on BPNN-PSO. Complexity 2018, 1–11. [Google Scholar] [CrossRef]
  45. Nizar, R.; Adel, M.A. Inverse Kinematics using Particle Swarm Optimization, a Statistical Analysis. Procedia Eng. 2013, 64, 1602–1611. [Google Scholar] [CrossRef] [Green Version]
  46. Sarosh, P.; Tarek, S. Task Based Synthesis of Serial Manipulators. J. Adv. Res. 2015, 6, 479–492. [Google Scholar] [CrossRef] [Green Version]
  47. Sarosh, P.; Tarek, S. Using Task Descriptions for Designing Optimal Task Specific Manipulators. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 29 September–3 October 2015; pp. 3544–3551. [Google Scholar] [CrossRef]
  48. Mizuno, N.; Nguyen, C.H. Parameters Identification of Robot Manipulator based on Particle Swarm. In Proceedings of the 13th IEEE International Conference on Control and Automation, ICCA, Ohrid, Macedonia, 3–6 July 2017; pp. 307–312. [Google Scholar] [CrossRef]
  49. Fang, L.; Dang, P. A step identification method of joint parameters of robots based on the measured pose of end-effector. Proc. Inst. Mech. Eng. Part C J. Mech. Eng. Sci. 2015, 229, 3218–3233. [Google Scholar] [CrossRef]
  50. Chatterjee, A.; Siarry, P. Nonlinear Inertia Weight Variation for Dynamic Adaption in Particle Swarm Optimization. Comput. Oper. Res. 2006, 33, 859–871. [Google Scholar] [CrossRef]
  51. Xin, J.; Chen, G.; Hai, Y. A Particle Swarm Optimizer with Multi-Stage Linearly-Decreasing Inertia Weight. In Proceedings of the International Joint Conference on Computational Sciences and Optimization, Sanya, China, 24–26 April 2009; Volume 1, pp. 505–508. [Google Scholar] [CrossRef]
  52. Wang, H.; Qian, F. Improved PSO-based Multi-Objective Optimization using Inertia Weight and Acceleration Coefficients Dynamic Changing, Crowding and Mutation. In Proceedings of the 7th World Congress on Intelligent Control and Automation, Chongqing, China, 25–27 June 2008; pp. 4473–4478. [Google Scholar] [CrossRef]
  53. Kononova, A.V.; Corne, D.W.; Wilde, P.D.; Shneer, V.; Caraffini, F. Structural Bias in Population-based Algorithms. Inf. Sci. 2015, 298, 468–490. [Google Scholar] [CrossRef] [Green Version]
Figure 1. (a) 4DOF SCARA arm. (b) 3DOF Articulate arm.
Figure 1. (a) 4DOF SCARA arm. (b) 3DOF Articulate arm.
Mathematics 08 00158 g001
Figure 2. (a) 6DOF articulate arm. (b) 6DOF Stanford arm.
Figure 2. (a) 6DOF articulate arm. (b) 6DOF Stanford arm.
Mathematics 08 00158 g002
Figure 3. 17DOF dual-arm.
Figure 3. 17DOF dual-arm.
Mathematics 08 00158 g003
Figure 4. Flowchart of parameter selection experiment for the proposed PSO variant elaborating the end conditions and mutation criterion.
Figure 4. Flowchart of parameter selection experiment for the proposed PSO variant elaborating the end conditions and mutation criterion.
Mathematics 08 00158 g004
Figure 5. Performance of PSO for different values of w (a) 3DOF articulate, (b) 4DOF SCARA, (c) 6DOF Stanford, (d) small 6DOF articulate, (e) big 6DOF articulate, (f) 17DOF dual-arm.
Figure 5. Performance of PSO for different values of w (a) 3DOF articulate, (b) 4DOF SCARA, (c) 6DOF Stanford, (d) small 6DOF articulate, (e) big 6DOF articulate, (f) 17DOF dual-arm.
Mathematics 08 00158 g005
Figure 6. Performance of PSO for Different Values of c for (a) 3DOF Articulate (b) 4DOF SCARA (c) 6DOF Stanford (d) 6DOF Articulate (e) Larger 6DOF Articulate (f) 17DOF Dual-Arm.
Figure 6. Performance of PSO for Different Values of c for (a) 3DOF Articulate (b) 4DOF SCARA (c) 6DOF Stanford (d) 6DOF Articulate (e) Larger 6DOF Articulate (f) 17DOF Dual-Arm.
Mathematics 08 00158 g006
Figure 7. (a) Plot showing the rate of change of inertia weight at different values of n (b) plot showing various techniques for multi-staged decreasing inertia weights.
Figure 7. (a) Plot showing the rate of change of inertia weight at different values of n (b) plot showing various techniques for multi-staged decreasing inertia weights.
Mathematics 08 00158 g007
Figure 8. Fitted curve of PSO parameters.
Figure 8. Fitted curve of PSO parameters.
Mathematics 08 00158 g008
Table 1. D-H Parameters for 4DOF SCARA arm.
Table 1. D-H Parameters for 4DOF SCARA arm.
JointLinkOff-SetJoint Displacement 1Off-Set Displacement 2
10Variable (0–300)00
23500Variable (−pi/2–pi/2)0
33500Variable (−pi/2–pi/2)0
40200Variable (−pi/2–pi/2)0
For all DH parameters; 1 joint displacement is Theta, 2 off-set displacement of joint is Alfa, see Equations (7) and (8).
Table 2. D-H Parameters for 3DOF articulate arm.
Table 2. D-H Parameters for 3DOF articulate arm.
JointLinkOff-SetJoint DisplacementOff-Set Displacement
170200Variable (−pi/2–pi/2)−pi/2
21500Variable (−pi/2–pi/2)0
31500Variable (−pi/2–pi/2)0
Table 3. D-H Parameters for 6DOF articulate arm.
Table 3. D-H Parameters for 6DOF articulate arm.
JointLink Off-Set Joint DisplacementOff-Set Displacement
164.5170Variable (−pi/2–pi/2)−pi/2
23050Variable (−pi/2–pi/2)0
300Variable (−pi/2–pi/2)pi/2
40−220Variable (−pi/2–pi/2)−pi/2
500Variable (−pi/2–pi/2)pi/2
60−36Variable (−pi/2–pi/2)0
Table 4. D-H parameters for large 6DOF articulate arm
Table 4. D-H parameters for large 6DOF articulate arm
JointLink Off-SetJoint DisplacementOff-Set Displacement
1300320Variable (−pi/2–pi/2)−pi/2
27000Variable (−pi/2–pi/2)0
300Variable (−pi/2–pi/2)−pi/2
40697.5Variable (−pi/2–pi/2)pi/2
500Variable (−pi/2–pi/2)−pi/2
60127.5Variable (−pi/2–pi/2)0
Table 5. D-H parameters for 6DOF Stanford arm.
Table 5. D-H parameters for 6DOF Stanford arm.
JointLinkOff-SetJoint DisplacementOff-Set Displacement
1154412Variable (−pi/2–pi/2)−pi/2
200Variable (−pi/2–pi/2)0
30Variable (50–154)−pi/2−pi/2
400Variable (−pi/2–pi/2)pi/2
500Variable (−pi/2–pi/2)−pi/2
60263Variable (−pi/2–pi/2)0
Table 6. D-H parameters for 17DOF dual-arm.
Table 6. D-H parameters for 17DOF dual-arm.
JointLink Off-Set Joint DisplacementOff-Set Displacement
10400th1pi/2
20200Variable (−pi/2–pi/2) (a)pi/2
−200Variable (−pi/2–pi/2) (b)−pi/2
300pi/2) (a)0
0−pi/2) (b)0
400Variable (−pi/2–pi/2) (a)−pi/2
0Variable (−pi/2–pi/2) (b)pi/2
50150Variable (−pi/2–pi/2) (a)pi/2
−150Variable (−pi/2–pi/2) (b)−pi/2
600Variable (−pi/2–pi/2) (a)−pi/2
0Variable (−pi/2–pi/2) (b)pi/2
70150Variable (−pi/2–pi/2) (a)pi/2
−150Variable (−pi/2–pi/2) (b)−pi/2
800Variable (−pi/2–pi/2) (a)−pi/2
0Variable (−pi/2–pi/2) (b)pi/2
90150Variable (−pi/2–pi/2) (a)0
−150Variable (−pi/2–pi/2) (b)0
Table 7. Performance of PSO when w = 0.7.
Table 7. Performance of PSO when w = 0.7.
Robot ConfigurationPSO Parameters
@ w = 0.7
c = 1.5c = 1.8c = 2.1c = 2.4c = 2.7c = 3.0c = 3.3c = 3.6c = 3.9
3DOF Articulate Robot ArmAverage (Std)1.1999 (0.996)0.66662 (0.958)0.99993 (1.017)0.99993 (1.017)0.8666 (1.008)1.0666 (1.015)0.99993 (1.017)0.79994 (0.996)0.8666 (1.008)
Minimum6.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−9
Iteration74.874.174.33374.475.23375.86777.13378.481.333
4DOF SCARA Robot ArmAverage (Std)2.1333 (2.029)1.7333 (2.016)1.4667 (1.960)2.1333 (2.029)2.1333 (2.029)2.2667 (2.016)2.2667 (2.016)1.7333 (2.02)1.3333 (1.918)
Minimum9.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−10
Iteration78.96778.06778.46779.23379.581.23382.73385.43387.267
6DOF Stanford Robot ArmAverage (Std)2.4859 (2.145)1.2563 (0.992)1.2951 (1.049)0.85651 (1.123)0.28667 (0.751)0.18892 (0.590)0.10886 (0.509)0.08696 (0.388)0.015589 (0.0401)
Minimum4.67 × 10−43.21 × 10−21.05 × 10−44.31 × 10−71.68 × 10−61.32 × 10−65.80 × 10−95.80 × 10−95.80 × 10−9
Iteration533.4508.3554.1511.8417.4601.4567.6651.57643.47
6DOF Articulate Robot Arm (small)Average (Std)3.7837 (1.759)1.5927 (1.237)1.1403 (0.633)0.80981 (0.506)0.59953 (0.780)0.24822 (0.412)0.27092 (0.457)0.17026 (0.385)0.31949 (0.596)
Minimum1.11 × 1003.48 × 10−19.21 × 10−28.27 × 10−22.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−9
Iteration261.87235.43265.87260.93296.7214.53166.63170.67157.63
6DOF Articulate Robot Arm (big)Average (Std)3.4266 (1.732)2.9774 (1.649)1.5511 (0.902)1.3035 (1.180)0.86441 (1.095)0.43759 (0.784)0.30934 (0.458)0.35057 (0.680)0.35187 (0.456)
Minimum6.53 × 10−17.02 × 10−15.70 × 10−27.09 × 10−26.98 × 10−45.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−9
Iteration244.33230.5285.63343.43416.5375.47327.27323.77377.8
17DOF Dual-Arm Robot ArmAverage (Std)2.873 (2.307)1.7774 (1.672)0.71947 (0.803)0.51867 (0.569)0.25626 (0.425)0.13317 (0.388)0.14343 (0.469)0.14844 (0.678)0.13608 (0.419)
Minimum2.35 × 10−21.81 × 10−23.90 × 10−31.99 × 10−44.43 × 10−53.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−9
Iteration326.07378.17364.87390.77451.3437.33447.07457.43468.83
Table 8. Performance of PSO when w = 1.1
Table 8. Performance of PSO when w = 1.1
Robot ConfigurationPSO Parameters
@ w = 1.1
c = 1.5c = 1.8c = 2.1c = 2.4c = 2.7c = 3.0c = 3.3c = 3.6c = 3.9
3DOF Articulate Robot ArmAverage (Std)1.0666 (1.015)1.1999 (0.996)0.79994 (0.996)0.99993 (1.017)0.66662 (0.959)1.3332 (0.959)1.2666 (0.980)1.1333 (1.008)1.0666 (1.015)
Minimum6.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−9
Iteration81.681.781.26782.26783.985.73387.66791.196.533
4DOF SCARA Robot ArmAverage (Std)2 (2.034)2.2667 (2.016)1.7333 (2.016)2.1333 (2.03)2.2667 (2.016)1.8667 (2.03)2.2667 (2.016)2 (2.034)2.2667 (2.016)
Minimum9.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−10
Iteration88.66787.788.63390.13391.693.36797.767101.97106
6DOF Stanford Robot ArmAverage (Std)0.75869 (1.099)0.71229 (1.079)0.37784 (1.009)0.27387 (0.758)0.28313 (0.852)0.02518 (0.059)0.53394 (1.008)0.19628 (0.561)0.17413 (0.519)
Minimum7.02 × 10−51.06 × 10−54.14 × 10−65.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−9
Iteration661.17637.47581.6590.93548.53648.57585.13648.67810.17
6DOF Articulate Robot Arm (small)Average (Std)1.3059 (1.047)0.71658 (0.695)0.27506 (0.580)0.46958 (0.945)0.22999 (0.387)0.32675 (0.611)0.30032 (0.452)0.46418 (0.779)0.22069 (0.412)
Minimum9.23 × 10−33.23 × 10−32.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−9
Iteration375.67385.77367.23193.1186.47162.57178.2190.97246.33
6DOF Articulate Robot Arm (big)Average (Std)1.5539 (1.113)0.82201 (0.625)0.46599 (0.473)0.30729 (0.433)0.52439 (1.167)0.49672 (0.635)0.33982 (0.588)0.48452 (0.488)0.70028 (1.07)
Minimum6.30 × 10−22.71 × 10−23.28 × 10−75.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−9
Iteration341.5532.1553.77405.8311.9293.23352.83315.17483.03
17DOF Dual-Arm Robot ArmAverage (Std)0.4248 (0.48)0.09798 (0.131)0.14656 (0.316)0.11974 (0.248)875.8 (4796.4)0.068428 (0.151)723.89 (3964.6)0.18718 (0.324)0.12041 (0.269)
Minimum5.31 × 10−33.60 × 10−45.10 × 10−53.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−9
Iteration501.6562.43483.93444.2432422.9422.1440611.93
Table 9. Performance of PSO when w = 1.5.
Table 9. Performance of PSO when w = 1.5.
Robot ConfigurationPSO Parameters
@ w = 1.5
c = 1.5c = 1.8c = 2.1c = 2.4c = 2.7c = 3.0c = 3.3c = 3.6c = 3.9
3DOF Articulate Robot ArmAverage (Std)0.8666 (1.008)0.9999 (1.017)0.9333 (1.015)1.0666 (1.015)0.7999 (0.996)1.3999 (0.932)1.0666 (1.015)0.7333 (0.980)1.1999 (0.996)
Minimum6.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−9
Iteration93.63394.33395.197.6101.53104.93111.3119.9130.03
4DOF SCARA Robot ArmAverage (Std)2.4 (1.993)1.8667 (2.03)2.1333 (2.03)2 (2.034)2.2667 (2.016)2.5333 (1.960)1.6 (1.993)1.7333 (2.016)2 (2.034)
Minimum9.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−10
Iteration103.9103.9105.03110.07113.53117126.2139.67156.7
6DOF Stanford Robot ArmAverage (Std)0.0169 (0.048)0.1762 (0.58)0.0927 (0.387)0.0793 (0.382)0.2655 (0.69)0.1456 (0.462)0.1750 (0.603)0.2623 (0.748)0.0996 (0.241)
Minimum5.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−95.86 × 10−96.77 × 10−96.72 × 10−7
Iteration784.03764.1728.07689.4664.9839.41143.21273.11667.7
6DOF Articulate Robot Arm (small)Average (Std)0.4613 (0.735)0.2363 (0.411)0.3917 (0.629)0.27185 (0.456)0.7003 (0.841)0.29195 (0.6)0.38275 (0.474)0.24172 (0.434)0.42294 (0.499)
Minimum2.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.90 × 10−9
Iteration235.23236.67208.27213.37208.53251.27331.77377.17558.5
6DOF Articulate Robot Arm (big)Average (Std)0.3755 (0.616)0.3122 (0.429)0.2982 (0.602)0.54127 (0.736)0.24539 (0.422)0.33632 (0.472)0.33908 (0.666)0.54117 (0.492)0.60112 (0.79)
Minimum5.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.56 × 10−96.22 × 10−9
Iteration490.57434.43405.5375.57438.6509.8695.57935.571374.1
17DOF Dual-Arm Robot ArmAverage (Std)0.03969 (0.091)0.1555 (0.349)0.58298 (1.275)0.12749 (0.280)0.24011 (0.726)0.25313 (0.850)0.089832 (0.219)0.31591 (0.629)0.27926 (0.494)
Minimum3.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.84 × 10−94.09 × 10−9
Iteration566.6419.9412.63538.6571.17587.53911.87945.531338
Table 10. Aggregate of performance for PSO for different values of inertia weight (w).
Table 10. Aggregate of performance for PSO for different values of inertia weight (w).
Robot ConfigurationPSO Parameters
c = 1.5c = 1.8c = 2.1c = 2.4c = 2.7c = 3.0c = 3.3c = 3.6c = 3.9
3DOF Articulate Robot Armw = 0.70.025130.147630.063180.062970.090430.045110.054570.097390.07168
w = 1.10.089210.068460.144580.099440.172000.042260.044490.053790.05053
w = 1.50.167460.140060.151030.122420.166990.069130.096080.147580.04076
4DOF SCARA Robot Armw = 0.70.038490.086870.121970.037730.036960.018970.014680.065770.11672
w = 1.10.070290.045390.102030.052690.036190.074460.021660.03890.00224
w = 1.50.102490.150620.122510.127070.097460.072440.145860.108390.05263
6DOF Stanford Robot Armw = 0.70.291700.313010.534040.586560.723490.681450.711890.696070.74687
w = 1.10.045990.285270.451620.554920.543500.778090.414070.607520.57449
w = 1.50.848290.523640.672110.692250.417740.580660.460070.309670.32558
6DOF Articulate Robot Arm
(small)
w = 0.70.029350.442190.589870.636010.599460.744240.776740.790260.76129
w = 1.10.006540.359410.570880.559360.742640.686280.718990.601290.69970
w = 1.50.268290.444140.336620.428520.163470.361720.330720.372070.20066
6DOF Articulate Robot Arm
(big)
w = 0.70.120760.156410.564860.503140.528560.629450.714900.681910.68178
w = 1.10.107440.386140.573720.674570.524830.651610.659970.675190.44003
w = 1.50.337440.433150.389450.251540.462420.395870.299450.225580
17DOF Dual-Arm Robot Armw = 0.70.076120.269930.614180.682760.690430.713110.698290.669690.69280
w = 1.10.544930.753260.799840.818480.323510.827190.414270.820170.74995
w = 1.50.625930.553130.189530.556250.414490.381610.514770.330420.28333
Table 11. Performance of PSO when c = 1.4.
Table 11. Performance of PSO when c = 1.4.
Robot ConfigurationPSO Parameters
@ c = 1.4
w = 0.6w = 0.9w = 1.2w = 1.5w = 1.8w = 2.1w = 2.4w = 2.7w = 3.0
3DOF Articulate Robot ArmAverage (Std)0.73328 (0.980)0.79994 (0.996)0.66662 (0.959)1.2666 (0.980)0.73328 (0.980)0.93327 (1.015)0.99994 (1.017)0.73819 (0.978)1.0239 (1.018)
Minimum6.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−91.31 × 10−83.26 × 10−57.19 × 10−4
Iteration74.378.03383.93393.667111.1163.37232.83194.1148.43
4DOF SCARA Robot ArmAverage (Std)1.8667 (2.03)1.7333 (2.016)2.2667 (2.016)2.2667 (2.016)2 (2.034)1.7333 (2.016)2.1337 (2.03)2.0962 (2.004)3.1436 (2.001)
Minimum9.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.75 × 10−101.55 × 10−61.79 × 10−31.40 × 10−2
Iteration79.583.36791105.17130.5206.57308.47187.27157.93
6DOF Stanford Robot ArmAverage (Std)2.5438 (1.583)1.2003 (0.786)0.52798 (0.625)0.097716 (0.141)0.35949 (0.813)0.32893 (0.483)0.77691 (0.806)1.7795 (1.523)2.3766 (1.732)
Minimum1.51 × 10−19.36 × 10−23.03 × 10−45.80 × 10−95.91 × 10−93.63 × 10−74.73 × 10−23.86 × 10−35.43 × 10−2
Iteration262.63306.27642.43435.93499.731470.91207.9310.93248.13
6DOF Articulate Robot Arm (small)Average (Std)4.6704 (1.794)2.1154 (1.661)0.82515 (0.557)0.22069 (0.412)0.4114 (1.166)0.51296 (0.829)1.2454 (1.115)4.4305 (2.404)4.6366 (1.966)
Minimum1.21 × 10−13.65 × 10−11.47 × 10−32.83 × 10−92.83 × 10−92.99 × 10−92.33 × 10−24.50 × 10−11.44 × 100
Iteration235.63275.37484.83287.63285.87966.1958.5195.5149.53
6DOF Articulate Robot Arm (big)Average (Std)4.1872 (1.933)3.1769 (1.566)1.2053 (0.941)0.33989 (0.610)0.44367 (0.68)0.68313 (1.127)4.4449 (2.091)4.6878 (2.046)5.856 (2.395)
Minimum1.64 × 10−12.00 × 10−12.27 × 10−25.53 × 10−95.53 × 10−98.06 × 10−82.35 × 10−11.87 × 1001.89 × 100
Iteration215.27302.93744.57518.87555.81648.6316.07177.73153.57
17DOF Dual-Arm Robot ArmAverage (Std)3.498 (2.36)1.446 (1.482)0.57004 (1.077)0.32323 (1.048)0.1926 (0.663)0.31277 (0.748)1.253 (1.894)3.564 (2.658)3.7033 (2.702)
Minimum3.11 × 10−19.79 × 10−21.88 × 10−43.82 × 10−93.82 × 10−93.76 × 10−84.11 × 10−31.56 × 10−16.29 × 10−2
Iteration372.1390.1749.33641.27717.171487.3840.23222.47167.8
Table 12. Performance of PSO when c = 2.0.
Table 12. Performance of PSO when c = 2.0.
Robot ConfigurationPSO Parameters
@ c = 2.0
w = 0.6w = 0.9w = 1.2w = 1.5w = 1.8w = 2.1w = 2.4w = 2.7w = 3.0
3DOF Articulate Robot ArmAverage (Std)1.2666 (0.980)1.0666 (1.015)0.79994 (0.996)1.1333 (1.008)1.2666 (0.980)1.1333 (1.008)1.0668 (1.015)0.87109 (1.009)1.2906 (0.996)
Minimum6.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.14 × 10−94.64 × 10−63.20 × 10−42.23 × 10−4
Iteration72.277.13383.294.767116.83188.97234.67177.8160.8
4DOF SCARA Robot ArmAverage (Std)2.5333 (1.960)1.6 (1.993)1.4667 (1.960)1.4667 (1.960)1.3333 (1.918)2.1333 (2.03)1.7349 (2.017)2.3599 (2.030)2.766 (2.038)
Minimum9.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−101.09 × 10−93.84 × 10−73.16 × 10−32.99 × 10−2
Iteration76.53382.73391.7105.2135.63241.73241.67168.1172
6DOF Stanford Robot ArmAverage (Std)1.3284 (1.109)0.81005 (0.726)0.21514 (0.525)0.14129 (0.178)0.18694 (0.239)0.35786 (0.465)1.0369 (0.939)3.3027 (8.697)2.3353 (1.637)
Minimum1.11 × 10−42.88 × 10−46.62 × 10−75.80 × 10−92.84 × 10−84.72 × 10−75.75 × 10−23.22 × 10−12.23 × 10−1
Iteration262.17343.6482.7407.93686.81528.3922.13433.7230.27
6DOF Articulate Robot Arm (small)Average (Std)1.8589 (1.261)0.77962 (0.727)0.47691 (0.630)0.29102 (0.703)0.42741 (0.633)0.37187 (0.476)2.0606 (1.968)4.4253 (1.984)4.2691 (1.984)
Minimum3.62 × 10−14.90 × 10−22.83 × 10−92.83 × 10−92.83 × 10−94.88 × 10−93.23 × 10−22.99 × 10−16.28 × 10−1
Iteration274.63288.7248.77224.4302.471291.5698.8222.47170.67
6DOF Articulate Robot Arm (big)Average (Std)2.791 (1.543)1.018 (0.532)0.41474 (0.622)0.34059 (0.61)0.36141 (0.621)1.1712 (1.458)3.9099 (2.242)4.9021 (2.015)5.8541 (2.339)
Minimum7.32 × 10−11.39 × 10−25.53 × 10−95.53 × 10−95.53 × 10−93.10 × 10−25.18 × 10−11.41 × 1001.28 × 100
Iteration217.1339.4518.1430.33600.131428.2293.03185157.67
17DOF Dual-Arm Robot ArmAverage (Std)725.92 (3965.7)0.56706 (0.482)0.12174 (0.205)0.10393 (0.219)0.1511 (0.329)0.28911 (0.646)0.84244 (1.004)3.791 (2.441)3.6224 (2.501)
Minimum1.03 × 10−12.38 × 10−33.82 × 10−93.82 × 10−93.82 × 10−92.09 × 10−47.55 × 10−35.07 × 10−19.86 × 10−2
Iteration343.93426.93486.23500.5787.81574.7676.1205.9172.47
Table 13. Performance of PSO when c = 2.6.
Table 13. Performance of PSO when c = 2.6.
Robot ConfigurationPSO Parameters
@ c = 2.6
w = 0.6w = 0.9w = 1.2w = 1.5w = 1.8w = 2.1w = 2.4w = 2.7w = 3.0
3DOF Articulate Robot ArmAverage (Std)1.1333 (1.008)0.66662 (0.959)0.93327 (1.015)0.93327 (1.015)0.8666 (1.008)0.9333 (1.015)1.0005 (1.017)0.9414 (1.012)0.74984 (0.980)
Minimum6.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.48 × 10−98.80 × 10−71.47 × 10−37.17 × 10−7
Iteration72.83379.53386.899.633132.5240.2178.6139.67126.83
4DOF SCARA Robot ArmAverage (Std)2.6667 (1.918)1.4667 (1.960)2.2667 (2.016)2.2667 (2.016)2.4 (1.993)1.8667 (2.03)1.8716 (2.03)2.3128 (2.103)2.5558 (1.99)
Minimum9.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.75 × 10−109.97 × 10−104.60 × 10−61.37 × 10−49.94 × 10−3
Iteration77.86784.36793.467110.87149.87276.57225.33153.43158.63
6DOF Stanford Robot ArmAverage (Std)0.4103 (0.361)0.1916 (0.253)0.1814 (0.25)0.1011 (0.164)0.3338 (0.887)0.5239 (0.755)1.2597 (0.836)2.2256 (2.137)2.3583 (1.831)
Minimum5.62 × 10−52.36 × 10−85.80 × 10−95.80 × 10−94.34 × 10−61.70 × 10−27.80 × 10−21.55 × 10−17.98 × 10−2
Iteration263.4394.53381.87493.231202.91434.6672.2388.73202.37
6DOF Articulate Robot Arm (small)Average (Std)0.5845 (0.664)0.39707 (0.609)0.39503 (1.16)0.23352 (0.413)0.56577 (0.935)0.66547 (0.888)2.8483 (2.109)4.8635 (2.095)4.2852 (2.107)
Minimum7.65 × 10−32.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−91.02 × 10−32.51 × 10−13.28 × 10−11.27 × 100
Iteration321.03240.93174.77233.2407.571274.5379.97186.7162.97
6DOF Articulate Robot Arm (big)Average (Std)1.4178 (1.265)0.42641 (0.437)0.38365 (0.686)0.41372 (0.678)0.41043 (1.08)1.603 (1.249)4.4837 (2.419)5.165 (1.76)6.3959 (2.660)
Minimum2.18 × 10−25.53 × 10−95.53 × 10−95.53 × 10−95.55 × 10−93.18 × 10−14.05 × 10−11.42 × 1001.22 × 100
Iteration233.9473.1344.93443.61276.81122225.47181.97139.43
17DOF Dual-Arm Robot ArmAverage (Std)0.2944 (0.450)0.0372 (0.081)0.0088 (0.035)875.85 (4796.4)0.2173 (0.630)0.6797 (1.129)1449.2 (5508.9)3.3124 (2.753)3.3555 (2.487)
Minimum6.63 × 10−41.06 × 10−63.82 × 10−93.82 × 10−94.53 × 10−91.33 × 10−31.55 × 10−21.05 × 10−11.86 × 10−1
Iteration335.73496.2504.8536.531252.91246.7434.8209.63162.83
Table 14. Aggregate of Performance for PSO for Different Values of Learning coefficient (c).
Table 14. Aggregate of Performance for PSO for Different Values of Learning coefficient (c).
Robot ConfigurationPSO Parameters
w = 0.6w = 0.9w = 1.2w = 1.5w = 1.8w = 2.1w = 2.4w = 2.7w = 3.0
3DOF Articulate Robot Armc = 1.40.53474640.5135820.5427990.40868510.49523260.39113380.30284950.39438380.138528
c = 2.00.4362540.4612140.51092070.43120770.38870850.33085070.289770.14327650.158528
c = 2.60.42643140.534460.4543240.44096740.42316260.29466530.34325880.14819720.461408
4DOF SCARA Robot Armc = 1.40.53766970.5468280.49822260.48673850.48518270.44697820.33081460.40317220.126061
c = 2.00.45135230.5252950.53206920.51810730.50391980.3081670.34580490.33726660.072116
c = 2.60.45158540.5531440.463320.44758890.40256160.33367840.37934950.39105110.130394
6DOF Stanford Robot Armc = 1.40.2268140.5617080.74816380.89589340.76229830.64790140.52375040.54607610.384375
c = 2.00.82459520.8613840.8896740.91745870.8666360.70953830.69902680.17905520.565292
c = 2.60.86825160.8813340.88523680.88414140.65115620.57870480.5254320.19632550.371534
6DOF Articulate Robot Arm
(small)
c = 1.40.48150130.5796520.772190.87088560.78273110.63631950.5653440.38429270.258683
c = 2.00.53884430.7889920.84550010.85153630.83750480.66896010.48752580.33785290.225812
c = 2.60.82678220.8601480.80796130.89330180.78011860.61034010.47974420.4005930.248079
6DOF Articulate Robot Arm
(big)
c = 1.40.56516410.6286110.73443660.84311230.82584270.60317330.51295780.31233790.226712
c = 2.00.5481030.8377710.82509710.84496570.81316630.53865130.45025420.29290350.245574
c = 2.60.77612380.8496480.85296440.83327350.63249730.54435060.48194960.34731310.257056
17DOF Dual-Arm Robot Armc = 1.40.2332720.6210820.73576030.77338280.80508950.65970470.59560850.35114210.421283
c = 2.00.3947510.930820.92275110.92049080.87485580.74975680.88858740.71585180.922621
c = 2.60.93204480.9009780.89927060.52418440.74993390.74927720.39236690.81588750.716818
Table 15. Performance of various adaptive PSO techniques for different robot configurations.
Table 15. Performance of various adaptive PSO techniques for different robot configurations.
Robot ConfigurationPSO Algorithms
PSO1PSO2PSO3PSO4PSO5PSO6PSO7PSO8PSO9PSO10PSO11PSO12PSO13
3DOF Articulate Robot ArmMinimum6.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−9
Average1.02210.911040.95551.06661.02221.04441.08330.888830.899910.822161.04441.08880.84438
Std1.00870.991041.00791.01321.01021.00171.1041.0011.00120.993851.01250.996890.99459
Iteration342.95337.83314.22329.42222.5222.63427.43330.79323.28305.74320.52300.66312.12
4DOF SCARA Robot ArmMinimum9.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−10
Average1.82221.55552.13331.822221.91111.95562.13331.91111.77781.46671.55561.7333
Std2.00661.97572.01752.0191.99752.01292.00532.02052.03122.02061.96051.98222.0068
Iteration383.48377.17343.6363.21226.72227.24526.11371.67357.73337.02352.49326.02346.79
6DOF Stanford Robot ArmMinimum5.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−90.005035.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−95.80 × 10−96.85 × 10−55.80 × 10−9
Average0.735170.563631.46281.02011.43910.802090.573680.660490.78910.894010.487191.34650.36397
Std1.5011.41682.20521.74733.17131.2281.39852.8813.35451.74951.25852.21160.87091
Iteration1296.41336.9992.821216.1612.91746.291593.21355.61247.6999.881187.51201.9960.5
6DOF Articulate Robot ArmMinimum2.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−90.053142.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−92.83 × 10−9
Average0.401480.462310.409280.411591.11480.844610.321910.417980.373570.348450.504660.345460.47359
Std0.546420.79660.668960.534550.853751.02680.557640.579910.771920.559170.977980.727530.65956
Iteration730.8683.83530.39643.9541.98590.921030.6710.09689.53534.81618.8510.45547.89
6DOF Articulate Robot ArmMinimum5.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−90.076655.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−95.53 × 10−9
Average0.571030.583420.46790.631431.51261.24450.595720.462280.521150.526370.472060.85470.47416
Std0.776590.923470.643281.09371.16920.97910.726510.795720.94150.86350.874651.35790.7217
Iteration1160.21083.9938.25966.36604.29548.721508.21175.91092.1975.23987.9980.3853.53
17DOF Dual-Arm Robot ArmMinimum3.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−90.004323.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−93.82 × 10−9
Average0.32223241.760.49610.362160.5444510160.338130.2380.244130.753830.365120.678780.27086
Std0.738761322.31.13880.888270.624873807.80.83890.484220.653311.48231.06221.52770.66004
Iteration1156.61101.9909.21021.2721.7947.771526.41162.51118.410381020.41042.9926.02
Table 16. Ranking of the various adaptive PSO techniques.
Table 16. Ranking of the various adaptive PSO techniques.
Rank PSO Algorithms3DOF Articulate Robot4DOF SCARA Robot6DOF Stanford Robot6DOF Articulate Robot6DOF Articulate Robot17DOF Dual-Arm RobotSum of Ranks
PSO1347141118
PSO1036424928
PSO11104373229
PSO959866337
PSO621212101239
PSO37111132741
PSO129312111642
PSO41281055444
PSO28551081147
PSO8612787848
PSO11110699550
PSO5121313131355
PSO71313911121068
Table 17. Performance of the mutating particle swarm optimization.
Table 17. Performance of the mutating particle swarm optimization.
Robot ConfigurationPSO Algorithms
MuPSOPSOMu-MLDIWMLDIWMu-NLDIWNLDIW
3 DOF Articulate Robot ArmMin6.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−96.10 × 10−9
Average6.78 × 10−96.10 × 10−96.93 × 10−96.10 × 10−96.23 × 10−96.10 × 10−9
std1.21 × 10−97.90 × 10−211.37 × 10−97.48 × 10−213.15 × 10−106.45 × 10−21
Iteratn354.83169.03271.93122.8333.83160.07
4 DOF SCARA Robot ArmMin9.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−109.73 × 10−10
Average1.78 × 10−99.73 × 10−101.48 × 10−99.73 × 10−101.07 × 10−99.73 × 10−10
std2.07 × 10−92.90 × 10−211.55 × 10−91.57 × 10−212.94 × 10−102.19 × 10−21
Iteratn375.1144.2375.9193.13344.27108.67
6 DOF Stanford Robot ArmMin5.80 × 10−90.0022975.80 × 10−90.0420385.80 × 10−90.22311
Average0.183333.65942.74 × 10−536.5563.66982.8953
std1.00422.48230.00015191.832.63275.7772
Iteratn1893.930001615.730002577.13000
6 DOF Articulate Robot Arm (small)Min2.83 × 10−92.83 × 10−92.83 × 10−90.30142.83 × 10−90.78448
Average2.84 × 10−922.9592.83 × 10−93.18222.83 × 10−92.9146
std2.13 × 10−11119.191.36 × 10−122.61042.76 × 10−131.9617
Iteratn641.472907.5613.83000540.973000
6 DOF Articulate Robot Arm (big)Min5.53 × 10−90.0028995.53 × 10−90.95465.53 × 10−90.66512
Average5.53 × 10−91.0215.61 × 10−9621.590.444175538.1
std4.36 × 10−120.937644.43 × 10−102520.51.437629995
Iteratn1136.630001020.130001574.93000
17 DOF Dual-Arm RobotMin3.82 × 10−90.0066243.82 × 10−90.108073.82 × 10−90.00634
Average0.0001720.502150.183331212.10.5695Inf
std0.0009421.13071.00425014.61.6748NaN
Iteratn1222.83000131530001621.93000
Table 18. Identified joint parameters for MuPSO and SPSO.
Table 18. Identified joint parameters for MuPSO and SPSO.
Robot ConfigurationsIdentified Joint Parameters
Joint 1Joint 2Joint 3Joint 4Joint 5Joint 6
Ideal Parameters80°/(200 mm)20°−60°/(60 mm)270°50°10°
3DOF ArticulateMuPSO (PSO)80°
(80)
20°
(20°)
−60°
(−60°)
NANANA
4DOF SCARAMuPSO (PSO)200 mm
(200 mm)
−17.124°
(−57.156°)
−34.876°
(17.146°)
−30°
(−66.000°)
NANA
6DOF StanfordMuPSO (PSO)73.633°
(52.043°)
3.260°
(−0.661°)
60.396 mm
(34.905 mm)
−72.909°
(−43.846°)
56.575°
(40.649°)
−8.424°
(−19.521°)
6DOF Articulate (small)MuPSO (PSO)80.000°
(80.903°)
20.000°
(18.656°)
−60.001°
(−57.726°)
−89.998°
(−54.286°)
50.001°
(27.956°)
9.9983°
(−16.874°)
6DOF Articulate (big)MuPSO (PSO)80.000°
(77.829°)
20.002°
(17.475°)
−60.004°
(−56.446°)
−89.997°
(−46.180°)
50.001°
(20.163°)
9.9959°
(−15.677°)
In the ideal parameters’ row, the values in parenthesis represent prismatic joints where applicable.

Share and Cite

MDPI and ACS Style

Umar, A.; Shi, Z.; Khlil, A.; Farouk, Z.I.B. Developing a New Robust Swarm-Based Algorithm for Robot Analysis. Mathematics 2020, 8, 158. https://doi.org/10.3390/math8020158

AMA Style

Umar A, Shi Z, Khlil A, Farouk ZIB. Developing a New Robust Swarm-Based Algorithm for Robot Analysis. Mathematics. 2020; 8(2):158. https://doi.org/10.3390/math8020158

Chicago/Turabian Style

Umar, Abubakar, Zhanqun Shi, Alhadi Khlil, and Zulfiqar I. B. Farouk. 2020. "Developing a New Robust Swarm-Based Algorithm for Robot Analysis" Mathematics 8, no. 2: 158. https://doi.org/10.3390/math8020158

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