Next Article in Journal
Performance Test of the Rotational Sensor blueSeis-3A in a Huddle Test in Fürstenfeldbruck
Previous Article in Journal
Mathematical Analysis and Micro-Spacing Implementation of Acoustic Sensor Based on Bio-Inspired Intermembrane Bridge Structure
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Intelligent Trajectory Tracking Behavior of a Multi-Joint Robotic Arm via Genetic–Swarm Optimization for the Inverse Kinematic Solution

by
Mohammad Soleimani Amiri
and
Rizauddin Ramli
*
Department of Mechanical and Manufacturing Engineering, Faculty of Engineering and Built Environment, Universiti Kebangsaan Malaysia, Bangi 43600, Selangor, Malaysia
*
Author to whom correspondence should be addressed.
Sensors 2021, 21(9), 3171; https://doi.org/10.3390/s21093171
Submission received: 28 March 2021 / Revised: 25 April 2021 / Accepted: 29 April 2021 / Published: 3 May 2021
(This article belongs to the Section Sensors and Robotics)

Abstract

:
It is necessary to control the movement of a complex multi-joint structure such as a robotic arm in order to reach a target position accurately in various applications. In this paper, a hybrid optimal Genetic–Swarm solution for the Inverse Kinematic (IK) solution of a robotic arm is presented. Each joint is controlled by Proportional–Integral–Derivative (PID) controller optimized with the Genetic Algorithm (GA) and Particle Swarm Optimization (PSO), called Genetic–Swarm Optimization (GSO). GSO solves the IK of each joint while the dynamic model is determined by the Lagrangian. The tuning of the PID is defined as an optimization problem and is solved by PSO for the simulated model in a virtual environment. A Graphical User Interface has been developed as a front-end application. Based on the combination of hybrid optimal GSO and PID control, it is ascertained that the system works efficiently. Finally, we compare the hybrid optimal GSO with conventional optimization methods by statistic analysis.

1. Introduction

With the advancements in robotic technology, numerous types of robots have become involved in our daily life and help humans in many different areas. As one of the most common robots, the multi-joint manipulator robotic arm plays an important role in automotive, agriculture and bio-medical sectors due to its flexibility, robustness and accuracy [1,2,3].
The identification of the Inverse Kinematic (IK) plays an important role in the precision control of trajectory tracking [4,5]. Various IK solutions have been carried out for robotic arms [6,7]. For instance, Xu et al. [8] presented a combination brain of a computer interface and computer vision to move a robotic arm end-effector to a desired point by using a depth camera. A six degree of freedom (6DoF) robot with initialized commands from a user’s brain signals combined with a point clouds model was verified with five healthy candidates without specific user training, showing acceptable accomplishment for complex tasks. Fang et al. [9] established a visual communication method using deep neural networks, in which the movements of a human arm were monitored and determined by the Denavit–Hartenberg (D-H) technique. Narayan et al. [10] presented a 5DoF robotic arm with a three-finger gripper and validated the IK in a simulation platform. Ye et al. [11] dealt with 5DoF manipulator forward-IK problems using Ferrari’s and redundant Euler methods and validated them in a simulation model. Wei at al. [12] applied a neural network to a robotic arm and used environment feedback to reach a specific target point inspired by animal and human biological neural networks. They validated their approach using the penalty function to avoid the robot from reaching specific points. The results show the end-effector reached the target successfully. Ren et al. [13] developed generative neural networks to solve the IK for a robotic arm. They determined the IK by the D-H technique and Moveit, which is an application of a Robot Operating System (ROS) to control and monitor a robot.
Traditionally, the IK has been utilized to establish joint configurations of manipulators based on the end-effector position. However, the traditional IK methods cannot consider the continuity of configurations, collision avoidance and kinematic singularities that arises when attempting to follow the end-effector path [14]. In addition, solving IK problems is a difficult challenge because manipulators with more than 5DoF result in an infinite number of possible solutions for joint trajectories that determine the same position in the Cartesian space [15]. Traditional analytical solutions cannot directly calculate the one-to-many possible relationships in the Cartesian space. Therefore, evolutionary algorithms such as optimization methods are used to solve IK problems quantitatively [11,16]. For instance, Starke et al. [17] studied a mimetic evolutionary algorithm, which was a combination of the Genetic Algorithm (GA), Particle Swarm Optimization (PSO) and gradient-based optimization to address the IK solution for various industrial and anthropomorphic robots.
One of the approaches used in this paper is to combine GA and PSO in order to develop an optimal solution for the IK and Proportional–Integral–Derivative controller (PID) controller tuning. This optimization method has been presented in several works for various applications [18,19,20]. For instance, Dziwinski, et al. [21] presented a fuzzy-logic controller in which a combination of PSO and GA was used in parallel to improve PSO performance by adding crossover and mutation to the GA to avoid becoming trapped in local optima. Farand et al. [22] developed a combination of GA and PSO to reduce computational time and accuracy in comparison with other known methods such as GA and PSO for high-dimensional and complex functions.
The PID controller is one of the most common used classical control systems in different industries because of its flexibility, satisfactory results [23,24], ease of implementation in a control system and wide usage in industries [25,26]. In order to enhance the accuracy and robustness of classical PID control, one of the techniques is to combine it with optimization methods [27,28]. Belkadi et al. [29] worked on PSO with a random initial value to tune the parameters of the PID controller by minimizing the trajectory error. They verified their controller in a simulation model and compared it with conventional methods by numerical analysis. Phu et al. [30] used optimization with sliding mode control based on the Bolza–Meyer criterion to minimize the vibration effect. In another work, Suhaimin et al. [31] used a PID controller for a 5DoF robotic arm and controlled its joints for the point-to-point trajectory tracking of end-effectors.
The contribution of this paper is the development of an optimal hybrid IK and PID controller for joint trajectory tracking, using the Genetic–Swarm Optimization technique. The applicability of the proposed technique for the IK solution of end-effectors and steady-state error for control is compared with conventional optimization approaches such as the GA and PSO. In addition, a 5DoF robotic arm is selected for analysis due to its simple structure, flexible action, small volume, convenient operation and so on; this device is widely used in many fields and industries [32].
The rest of the paper is organized as follows: first, the kinematic and dynamic models of the 5DoF robotic arm are established using the D-H and Lagrangian method. Subsequently, an IK solution is determined by hybrid Genetic–Swarm Optimization (GSO) for angular trajectories of each joint reaching the target position. The joint angles determined by the IK are implemented in a closed-loop system using a PID controller, and the gains are tuned by the GA and PSO. The 3D models of the robotic arm are simulated in the Gazebo environment. Finally, a Graphical User Interface (GUI) is created to interact with the 3D model in the ROS environment.

2. Dynamic and Kinematic Model

The robotic arm consists of a base, four links, a wrist and gripper that are connected to each other by joints in series. Figure 1 represents a 5DoF robotic arm, in which the coordinate systems of joints and global frames are presented.
There are various methods used to determine the dynamic equation of robot manipulators, such as Newton–Euler, Kane and Hamilton approaches. In this work, an energy-based Lagrangian method has been adopted to determine the relation between the torque and angle of joints; one of the advantages of the Lagrangian method is that, unlike the Newton–Euler method, it is not necessary to determine internal forces between joints; therefore, it is quicker and easier to obtain the equation of motion [33]. The Lagrangian equation is given as follows:
L = E k E p
τ i = d d t L θ i ˙ L θ i + B i ( θ ˙ i )
where B i is the joint friction coefficient; L is the Lagrangian function; T i is the torque of each link, with i = 1 , 2 , 3 , 4 , 5 ; θ i and θ i ˙ are the angular trajectory and velocity; and E p and E k are the total potential and kinetic energies, respectively. From [34], the equations of E p and E k are determined as follows:
E p = i = 1 5 m i g z d i
E k = i = 1 5 [ 1 2 m i ( x ˙ d i 2 + y ˙ d i 2 + z ˙ d i 2 ) + 1 2 I x i θ ˙ i 2 + 1 2 I i ]
where m i and I i are the mass and inertia of each link; g is the gravity acceleration; and ( x ˙ d i , y ˙ d i , z ˙ d i ) is the time derivative of the centroid position of each joint, where i = 1 , 2 , 3 , 4 , 5 . According to the geometric relation, the centroid position ( x d i , y d i , z d i ) of every linkage is written as
X d i = j = 1 i 1 ( R z j . j X ) + R z i . i X d
where j X 3 × 1 is the position of joint ( i 1 ) t h according to the reference frame; X d i 3 × 1 is the position of the centroid point of link i t h relative to the reference frame; R z i 3 is the rotation matrix around z-axes according to the coordinate system placed in the i t h joint; and i X d 3 × 1 represents the centroid position of the link i t h regarding the coordinate system located in the joint i t h . By substituting E k and E p in the Lagrangian function, the state space dynamic is determined in range of motion condition where while one joint is moving, the other ones are fixed, which is shown as follows:
τ = M θ ¨ + V θ ˙ + G ( θ )
where θ 5 × 1 and θ ¨ 5 × 1 are the angular rotation and acceleration; τ 5 × 1 is the torque vector; and M 5 is a matrix containing mass and inertia elements, which is shown as follows:
M = e m 1 0 0 0 0 0 e m 2 0 0 0 0 0 e m 3 0 0 0 0 0 e m 4 0 0 0 0 0 e m 5
where e m i i = 1 , 2 , 3 , 4 , 5 represents the mass and inertia elements, expressed as follows:
e m 1 = I x 1 ; e m i = l i 2 i = i + 1 5 ( m i ) + I i + m i l c i 2
where l c i is the length of the centroid position for each link and l i is the length of every link. V 5 is the centrifugal, coriolis and friction matrix and G ( θ ) 5 represents the gravity matrix, expressed as follows:
V ( θ ˙ , θ ) = B i · I 5 × 5 G ( θ ) = e g i · I 5 × 5
where I 5 5 is the identity matrix and e g i shows the elements of mass and gravity matrices, represented as follows:
e g i = ( l i i = i + i 5 ( m i ) + l c i m i ) g s i n ( θ i )
where g represents gravitational acceleration. Table 1 illustrates the physical features of the robotic arm’s links.
In the next stage, the forward kinematic based on modified D-H (mD-H) algorithms has been developed to establish the relative position of the 5DoF robotic arm end-effector to its reference frame O [35]. Table 2 represents the parameters of the mD-H.
In Table 2, α i 1 , θ i , d i and a i 1 represent the twist angle, joint angle, link offset and link length, respectively. The mD-H homogeneous transformation is expressed as follows:
i i 1 T = c o s θ i s i n θ i 0 a i 1 s i n θ i c o s θ i 1 c o s θ i c o s θ i 1 s i n α i 1 d i s i n α i 1 s i n θ i s i n α i 1 c o s θ i s i n α i 1 c o s α i 1 d i c o s α i 1 0 0 0 1
The transformation matrix of the end-effector is the transformation matrix from the reference frame to the last frame, which is shown as follows:
5 0 T = 1 0 T · 2 1 T · 3 2 T · 4 3 T · 5 4 T
where 1 0 T , 2 1 T , 3 2 T , 4 3 T and 5 4 T are the transformation matrices of each joint to its previous joint. The transformation matrix from the reference frame to end-effector is as follows:
5 0 T = t 1 , 1 t 1 , 2 t 1 , 3 t 1 , 4 t 2 , 1 t 2 , 2 t 2 , 3 t 2 , 4 t 3 , 1 t 3 , 2 t 3 , 3 t 3 , 4 t 4 , 1 t 4 , 2 t 4 , 3 t 4 , 4
where t 1 , 4 , t 2 , 4 and t 3 , 4 express the end-effector position relative to the reference frame, which is shown as follows:
x = t 1 , 4 = 1 2 ( l 4 s i n ( θ 4 + θ 3 + θ 2 + θ 1 ) l 4 sin ( θ 4 + θ 3 + θ 2 θ 1 ) + l 3 c o s ( θ 3 + θ 2 + θ 1 ) +
l 3 c o s ( θ 3 + θ 2 θ 1 ) + l 2 c o s ( θ 2 + θ 1 ) + l 2 c o s ( θ 2 θ 1 ) )
y = t 2 , 4 = 1 2 ( l 4 c o s ( θ 4 + θ 3 + θ 2 + θ 1 ) l 4 c o s ( θ 4 + θ 3 + θ 2 θ 1 ) + l 3 s i n ( θ 3 + θ 2 + θ 1 )
l 3 s i n ( θ 3 + θ 2 θ 1 ) + l 2 s i n ( θ 2 + θ 1 ) l 2 s i n ( θ 2 θ 1 ) )
z = t 3 , 4 = l 4 c o s ( θ 4 + θ 3 + θ 2 ) + l 3 s i n ( θ 3 + θ 2 ) + l 2 s i n ( θ 2 )

3. Optimal Inverse Kinematic

Since the number of variables is greater than the number of equations and the end-effector position is non-linear, the usage of traditional methods such as Gaussian elimination are not practical [36]. Thus, in this paper, the IK is defined as a mono-objective optimization problem. The desired position of the end-effector is set to be achieved by minimizing the objective function. In this study, the hybrid version of the GA and PSO, named GSO, is adopted to solve the IK problem, because GA is developed initially by random values due to its reliability and robust performance [37] and PSO is sufficient to find accurate results in a few iterations with low computational time. Subsequently, PSO is initialized by the results of the GA. In the GSO algorithm, the GA provides searching space and initial values for PSO to avoid becoming trapped in local optima.
The summation of squared error (SSE), which is a well-known statistic in multiple regression analyses [38], is chosen as an objective function because it shows the squared sum of residuals, which is the error between the measured and desired trajectory of the end-effector, and illustrates how close a regression line is to a set of residuals. The squaring is necessary to remove any negative signs. The objective function is given as follows:
f o b j = ( e x ) 2 + ( e y ) 2 + ( e z ) 2
where e x , e y and e z are the errors, represented as follows:
e x = x x d e s
e y = y y d e s
e z = z z d e s
where x d e s , y d e s and z d e s are the desired positions of the endpoint regarding the reference frame. x, y and z express the position of the endpoint, which are determined by the gene of the GA from Equations (18)–(20). The population structure of an iteration is represented in Figure 2.
In each population, there is a gene which consists of each joint angle of the robotic arm, represented as x 1 , x 2 , x 3 and x 4 , which are θ 1 , θ 2 , θ 3 and θ 4 , respectively. In the robotic arm model, there are limitations for the angular trajectory of each joint, which create the searching space for the GA, which is as follows:
3.02 ( r a d ) θ 1 2.89 ( r a d )
0.13 ( r a d ) θ 2 2.16 ( r a d )
2.22 ( r a d ) θ 3 2.05 ( r a d )
2.03 ( r a d ) θ 4 1.87 ( r a d )
θ 5 = 1.57 ( r a d )
θ 5 is set as 90 degrees and is not included in the design variables because it is assumed that the gripper is located at last link point down to grab the objects. The first iterations of the GA are set randomly within the searching space, as demonstrated in Equations (21)–(24). After the initialization, the objective function is calculated for each gene of the population for evaluation and sorted in ascending order. The next iterations are created by crossover and mutation. The crossover enhances the possibilities of finding the most optimum results by blending the previous iterations as children and parents using the uniform crossover operator. In addition, mutation is performed to maintain the diversity of the GA [39,40,41]. The algorithm is continued by the evaluation of each gene by determining the objective function followed by sorting in ascending order. This trend continues until the maximum iterations are reached. In the last iteration, because of the ascending sorting, the first gene is the result of GA and represents the optimum angles of joints which are needed to lead the endpoint to reach the desired position.
x g a = [ θ 1 , θ 2 , θ 3 , θ 4 ]
x g a is the output of GA which is used to create the range for the initial population of the PSO, which is shown as follows:
x 1 , j = r a n d [ x m i n , x m a x ]
where j stands for the number of particles in the first population and r a n d is the function used to generate a random value between x m i n and x m a x , which are the lower and higher bounds, given as follows [42]:
x m i n = x g a r
x m a x = x g a + r
where r 1 × 4 is a random vector between zero and one. After creating the particles of the first population, the objective function is determined for each particle to evaluate and sort in descending order. The particles of population for the next iteration are created as follows:
x i + 1 , j = x i , j + v i + 1 , j
where x i + 1 , j is the particle of the next iteration. v i + 1 , j 1 × 4 is a vector that represents the velocity and direction of each particle through the particle of the next iteration, which is shown as follows:
v i + 1 , j = ω i v i , j + c 1 r ( p b e s t x i , j ) c 2 r ( g b e s t x i , j )
where p b e s t , i is called the best position, containing the particles that have the minimum objective function. g b e s t is the global best, including the particles which are the minimum of the p b e s t , which is shown as follows:
g b e s t = m i n { p b e s t i } i = 1 , 2 , , i m a x
where i and i m a x are the current and maximum number of iterations, respectively. In the first iteration, after evaluation, the minimum particle is saved as p b e s t and g b e s t , and the velocity is a zero vector.
v 1 , j = [ 0 , 0 , 0 , 0 ]
In Equation (31), ω i is the inertia weight, where its adjustable value for each iteration is given by the following equation:
ω i + 1 = ω d a m p ω i
where ω d a m p is the damping value for ω , set as 0.05, and c 1 and c 2 are coefficients of self and social recognition, respectively. The value of c 1 is greater than c 2 , and their summation should remain at 4 in all iterations [43].
c 1 = 1.8 b + 2.1
c 2 = 1.8 a + 0.1
where, a and b are the ascending and descending gains between zero and one, represented as follows:
a = i i m a x i = 1 , 2 , , i m a x
b = 1 a
Figure 3 represents the changes of parameters of PSO during all iterations. The initial values for c 1 , c 2 and ω are 3.9, 0.1 and 1.2, respectively [44].
After generating each population, the evaluation and sorting of its particles is developed. This trend is followed until the number of iterations is equal to i m a x . In this paper, the size of the population for GA and PSO is 40 and i m a x is 200 for each. Algorithm 1 and Figure 4 show the pseudo-code and flow chart of GSO.
Algorithm 1 Pseudo code of GSO
 1:
Start;
 2:
 
 3:
Set the target position of the endpoint;
 4:
 
 5:
Start GA;
 6:
 
 7:
Initialize the first population randomly;
 8:
 
 9:
Evaluate initial population;
10:
 
11:
while Number of iterations equal to maximum iteration of GA do;
12:
 
13:
    Create new iteration using crossover and mutation;
14:
 
15:
    Evaluate the population by determining the objective function;
16:
 
17:
    Sort the genes in ascending order;
18:
 
19:
end while
20:
 
21:
Select the first gene of the last iteration as the result;
22:
 
23:
End GA;
24:
 
25:
Start PSO;
26:
 
27:
Initialize particles of the first population of PSO based on GA results;
28:
 
29:
Evaluate the first population;
30:
 
31:
while Number of iterations equal to maximum iteration of PSO do;
32:
 
33:
    Create new population;
34:
 
35:
    Evaluate the particles of population;
36:
 
37:
    Set the minimum particle as the P b e s t ;
38:
 
39:
    Set the minimum P b e s t as g b e s t ;
40:
 
41:
end while
42:
 
43:
Establish particle of the g b e s t as the results;
44:
 
45:
End.

4. Control System and Tuning

A closed-loop control system is developed for each joint, and its parameters are adjusted by GSO to converge by adjusting the required torque toward each joint. The desired angular trajectory is determined by the IK. Figure 5 demonstrates the control system of the robotic arm.
In Figure 5, J 1 ( t ) , J 2 ( t ) , J 3 ( t ) and J 4 ( t ) are plants of each joint; ( x t , y t , z t ) is the desired position; θ d 1 , θ d 2 , θ d 3 and θ d 4 are the desired angular trajectory determined by the IK; θ a 1 , θ a 2 , θ a 3 and θ a 4 are the actual angular trajectory for each joint; and e 1 , e 2 , e 3 and e 4 are the trajectory errors that are the difference between the desired and actual angular trajectory, given as follows:
e i = θ d i θ a i i = 1 , 2 , 3 , 4
The PID controllers C 1 ( s ) - C 4 ( s ) for each joint are given as follows:
C i ( t ) = K P e i ( t ) + K I e i d t + K D d e i d t
The tuning of the PID controller is assumed to be an optimization problem, and its parameters are defined as design variables. The tuning processes are carried out by the GSO algorithm, in which the GA starts to optimize the design variables based on random initial parameters, and subsequently the algorithm is continued by PSO based on the output of the GA. Initial parameters of the first population are randomly chosen between 0 and 1, given as follows:
x 1 , j = r a n d [ 0 , 1 ] j = 1 , . . . , j m a x
where x is the particle of the PSO and gene of the GA in each population and j and j m a x are the current and maximum number of populations. After setting the initial values for particles, an evaluation is carried out based on the objective function of tuning, which is the absolute steady-state error:
f = | θ a c t θ d e s |
where θ a c t and θ d e s are the actual and desired joint trajectory, respectively. θ a c t is measured from a simulation model in real-time, and θ d e s is developed by the optimal IK. After evaluation and sorting in descending order, the particles of the population for next iteration are generated by mutation and crossover. Whenever the number of iterations meets half of the maximum iterations, the algorithm is switched to PSO. The searching space of PSO is limited around the results of the GA to lead the algorithm toward global optima, as follows:
x i , j = [ x g a x g a 2 , x g a + x g a 2 ]
The next populations of PSO are created by the particles of the next iteration. The algorithm continues until the number of iterations reaches the maximum. The output is an optimal set for PID parameters.

5. Results and Discussion

The optimal IK and PSO tuning of controllers was applied in the 3D simulation of a robotic arm in a 3D environment to simulate robots integrated with ROS [45]. A GUI was programmed by using Python to run the algorithms and communicate with the simulation model. In addition, by providing a camera in the Gazebo environment, it was possible to monitor the results visually and numerically, as shown in Figure 6.
The desired position for the three different algorithms—i.e., GA, PSO and GSO—could be selected according to the IK method, and the actual position of end-effector, error of the actual trajectory and desired trajectory of each joint could be monitored. In addition, the controller parameters could be tuned in real time and observed. Table 3 compares the optimal results for GA, PSO and GSO for the IK solution, while f o b j is the SSE for various sets of optimization parameters.
Various sets of parameters were defined to observe the influences of changes in parameters on the optimization algorithms.
  • For GA, s e t g a 1 : crossover = 0.9, mutation = 0.1, population = 40 and generation = 400; s e t g a 2 : crossover = 0.8, mutation = 0.2, population = 40, and generation = 400; s e t g a 3 : crossover = 0.7, mutation = 0.3, population = 40 and generation = 400;
  • For PSO, s e t p s o 1 : particles = 20, and generation = 200; s e t p s o 2 : particles = 30 and generation = 300; s e t p s o 3 : particles = 40 and generation = 400;
  • For GSO, s e t g s o 1 : crossover = 0.9, mutation = 0.1, population of GA and particles of PSO = 40, generation of GA = 300 iteration of PSO = 100, s e t g s o 2 : crossover = 0.8, mutation = 0.2, population of GA and particles of PSO = 40, generation of GA = 200 iteration of PSO = 200, s e t g s o 3 : crossover = 0.7, mutation = 0.3, population of GA and particles of PSO = 40, generation of GA = 100 and iteration of PSO = 300.
The mean of f o b j for GSO in s e t g s o 3 has the lowest f o b j of 7.9 × 10 15 , and the maximum of f o b j is 4.99 × 10 14 , which is the nearest value to its mean compared to other results. This causes the lowest variance of all tests. The mean of the PSO results is lower than GA, while GSO shows the minimum results, which represents a significant improvement for the results obtained by the GSO algorithm. This is due to the hybrid of the GA and PSO algorithms in series; creating the initial values of PSO based on results of the GA increases accuracy compared to using each algorithm individually. In addition, by increasing the number of iterations and particles of PSO, GSO and PSO algorithms show improvements in their results.
The H-values were measured by the Kruskal–Wallis method and were 0.03, 16.07 and 15.84 for the GA, PSO and GSO respectively. The test was calculated with the assumption of α = 0.05 ; therefore, the critical value for this test was 5.99. Since PSO and GSO had greater H-values than critical points, there were significant differences among the groups of f o b g calculated by PSO and GSO.
Table 4 represents the computational time in seconds for GA, PSO and GSO, while the parameters are determined as s e t g a 3 , s e t p s o 3 and s e t g s o 3 , respectively.
The mean computational time of PSO was less than GA and GSO by 5.82 s and 1.37 s, respectively. Although the computational time of PSO was the lowest, the combination of GA and PSO reduced the computational time consumption significantly compared to GA by 4.45 s. By considering the value of f o b j of GSO in Table 3 and the computational time, the usage of GSO for IK solution can be seen to have resulted in significant improvements in accuracy and computational time consumption.
In order to test the IK results solved by GSO in the robotic arm model in the Gazebo environment, nine desired position coordinates were expressed. Table 5 illustrates the coordinates of the nine target positions and the angles for each joint.
Figure 7 shows the objective function f o b j for three ways of tuning PID parameters with 400 iterations, and the parameters of GSO were the same as s e t g s o 3 in Table 3.
From the results, it can be observed that GSO converges faster than GA and PSO, because by establishing the angle of joints for the desired points, the angular trajectories are exported to the control system and then tuned by GSO. The performance of the closed-loop control system is validated for each joint, in which the angular trajectories solved by the IK are set as desired ( θ d i ). Table 6 represents the tuned PID parameters.
Figure 8 and Table 7 compare the angular trajectories and average errors tuned by the GA, PSO and GSO while the end-effector moved to the desired positions and its PID parameters were tuned by the GA, PSO and GSO. Figure 9 and Figure 10 show the error and angular velocity for each joint while the end-effector tracked points A, B, C, and D.
In Figure 8 and Figure 9, overshoot can be observed when the joints are changing trajectories. In Figure 10, there are fluctuations when there is a change in position of the joints and they are tracking each point. The rest of the graph levels off at zero. This shows the stability of the control system, because while joints do not move and are in a stable situation, the joints do not shake. In Table 7, A E G A , A E P S O and A E G S O are averages of the SSE for GA, PSO and GSO. The actual trajectory of each joint shows the significant effects of GSO compared to PSO and the GA due to the initialization of PSO by results of the GA for GSO, which allows the algorithm to find the global optima more accurately. From A E G A , A E P S O and A E G S O , it can be concluded that the GSO resulted in a lower value because of its efficiency in finding precise results and lower chance of becoming trapped in local optima.

6. Conclusions

This paper presented a hybrid optimal IK solution of a 5DoF robotic arm to determine the joint trajectories based on its end-effector position. The Denavit–Hartenberg method was used to establish the kinematic and was solved by GSO, which is a combination of the GA and PSO. The trajectories were implemented with PID control as desired trajectories for each joint. The tuning of PID parameters was presented as optimization problem and carried out by GSO. A GUI was created to operate and visualize the performance of the robotic arm in a virtual environment. This method addresses the issue of finding one-to-many possible solutions of IK for a 5DoF robotic arm to control each joint efficiently and precisely to determine end-effector positions in Cartesian space.
The results show that GSO has a lower average error for each joint than PSO and GA. For instance, for joint 4, the average error for one specific path for GSO is 19.33% and 22.7% less than PSO and the GA, respectively. These results show that initialization particles for PSO by using the GA can give more accurate results and avoid algorithms becoming trapped in local optima. In addition, the mean computational time for GSO is lower than the GA by 4.45 s and higher than PSO by 1.37 s. Therefore, GSO is a sufficient algorithm for IK solution for robotic arms.
This method can be used for any robotic arms to control their end-effector. The limitation of this work is that we did not apply the hybrid proposed method to a real robotic arm. In addition, the target position of the end-effector was chosen by the user. Therefore, in future work, this position can be issued by sensors such as depth camera or tag marker measurement algorithms. Furthermore, the proposed IK and control system developed by the GSO algorithm was validated in the 3D simulation environment of Gazebo, and the effect of sensor noises was not considered; this can be covered in the future work. In addition, the proposed method can be tested for applications in which the accurate position of end-effectors is needed, such as welding, material handling and thermal spraying or any other industrial applications.

Author Contributions

Conceptualization, M.S.A. and R.R.; methodology, M.S.A. and R.R.; software, M.S.A.; validation, M.S.A. and R.R.; formal analysis, M.S.A. and R.R.; investigation, M.S.A. and R.R.; resources, M.S.A.; data curation, M.S.A. and R.R.; writing—original draft preparation, M.S.A.; writing—review and editing, M.S.A. and R.R.; visualization, M.S.A.; supervision, R.R.; project administration, R.R.; funding acquisition, R.R.; All authors have read and agreed to the published version of the manuscript.

Funding

The authors would like to thank Universiti Kebangsaan Malaysia (UKM) and the Ministry of Higher Education Malaysia for the financial support received under research grants KK-2020-014 and DPK-2020-015.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors would like to thank Universiti Kebangsaan Malaysia (UKM) and the Ministry of Higher Education Malaysia for the financial support received under research grants KK-2020-014 and DPK-2020-015.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Jahnavi, K.; Sivraj, P. Teaching and Learning Robotic Arm Model. In Proceedings of the International Conference on Intelligent Computing, Instrumentation and Control Technologies, Kerala, India, 6–7 July 2017; pp. 1570–1575. [Google Scholar] [CrossRef]
  2. Quiros, A.R.F.; Abad, A.C.; Dadios, E.P. Object Locator and Collector Robotic Arm using Artificial Neural Networks. In Proceedings of the International Conference on Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment and Management, HNICEM, Cebu, Philippines, 9–12 December 2016; pp. 200–203. [Google Scholar] [CrossRef]
  3. Pavlovčič, U.; Arko, P.; Jezeršek, M. Simultaneous hand–eye and intrinsic calibration of a laser profilometer mounted on a robot arm. Sensors 2021, 21, 1037. [Google Scholar] [CrossRef]
  4. Shah, S.K.; Mishra, R.; Ray, L.S. Solution and Validation of Inverse Kinematics using Deep Artificial Neural Network. Mater. Today Proc. 2020, 26, 1250–1254. [Google Scholar] [CrossRef]
  5. Shirafuji, S.; Ota, J. Kinematic Synthesis of a Serial Robotic Manipulator by Using Generalized Differential Inverse Kinematics. IEEE Trans. Robot. 2019, 35, 1047–1054. [Google Scholar] [CrossRef]
  6. Sun, P.; Li, Y.B.; Wang, Z.; Chen, K.; Chen, B.; Zeng, X.; Zhao, J.; Yue, Y. Inverse displacement analysis of a novel hybrid humanoid robotic arm. Mech. Mach. Theory 2020, 147, 103743. [Google Scholar] [CrossRef]
  7. Megalingam, R.K.; Boddupalli, S.; Apuroop, K.G.S. Robotic Arm Control through Mimicking of Miniature Robotic Arm. In Proceedings of the 4th International Conference on Advanced Computing and Communication Systems, ICACCS, Coimbatore, India, 6–7 January 2017; pp. 4–10. [Google Scholar] [CrossRef]
  8. Xu, Y.; Ding, C.; Shu, X.; Gui, K.; Bezsudnova, Y.; Sheng, X.; Zhang, D. Shared control of a robotic arm using non-invasive brain–computer interface and computer vision guidance. Robot. Auton. Syst. 2019, 115, 121–129. [Google Scholar] [CrossRef]
  9. Fang, B.; Ma, X.; Wang, J.; Sun, F. Vision-based posture-consistent teleoperation of robotic arm using multi-stage deep neural network. Robot. Auton. Syst. 2020, 131, 103592. [Google Scholar] [CrossRef]
  10. Narayan, J.; Mishra, S.; Jaiswal, G.; Dwivedy, S.K. Novel design and kinematic analysis of a 5-DOFs robotic arm with three-fingered gripper for physical therapy. Mater. Today Proc. 2020, 28, 2121–2132. [Google Scholar] [CrossRef]
  11. Ye, H.; Wang, D.; Wu, J.; Yue, Y.; Zhou, Y. Forward and inverse kinematics of a 5-DOF hybrid robot for composite material machining. Robot. Comput. Integr. Manuf. 2020, 65, 101961. [Google Scholar] [CrossRef]
  12. Wei, H.; Bu, Y.; Zhu, Z. Robotic arm controlling based on a spiking neural circuit and synaptic plasticity. Biomed. Signal Process. Control 2020, 55, 101640. [Google Scholar] [CrossRef]
  13. Ren, H.; Ben-Tzvi, P. Learning Inverse Kinematics and Dynamics of a Robotic Manipulator using Generative Adversarial Networks. Robot. Auton. Syst. 2020, 124, 103386. [Google Scholar] [CrossRef]
  14. Kang, M.; Shin, H.; Kim, D.; Yoon, S.E. TORM: Fast and accurate trajectory optimization of redundant manipulator given an end-effector path. IEEE Int. Conf. Intell. Robot. Syst. 2020. [Google Scholar] [CrossRef]
  15. Jin, M.; Liu, Q.; Wang, B.; Liu, H. An Efficient and Accurate Inverse Kinematics for 7-DOF Redundant Manipulators Based on a Hybrid of Analytical and Numerical Method. IEEE Access 2020, 8, 16316–16330. [Google Scholar] [CrossRef]
  16. Cao, Y.; Gan, Y.; Dai, X. Kinematic Optimization of Redundant Manipulators to Improve the Fault-Tolerant Control. In Proceedings of the 31st Chinese Control and Decision Conference, Nanchang, China, 3–5 June 2019. [Google Scholar] [CrossRef]
  17. Starke, S.; Hendrich, N.; Zhang, J. Memetic Evolution for Generic Full-Body Inverse Kinematics in Robotics and Animation. IEEE Trans. Evol. Comput. 2019, 23, 406–420. [Google Scholar] [CrossRef]
  18. Jamali, B.; Rasekh, M.; Jamadi, F.; Gandomkar, R.; Makiabadi, F. Using PSO-GA algorithm for training artificial neural network to forecast solar space heating system parameters. Appl. Therm. Eng. 2019, 147, 647–660. [Google Scholar] [CrossRef]
  19. Chen, Q.; Chen, Y.; Jiang, W. Genetic particle swarm optimization–based feature selection for very-high-resolution remotely sensed imagery object change detection. Sensors 2016, 16, 1024. [Google Scholar] [CrossRef] [Green Version]
  20. Ajmi, N.; Helali, A.; Lorenz, P.; Mghaieth, R. MWCSGA—Multi Weight Chicken Swarm Based Genetic Algorithm for Energy Efficient Clustered Wireless Sensor Network. Sensors 2021, 21, 791. [Google Scholar] [CrossRef]
  21. Dziwinski, P.; Bartczuk, L. A New Hybrid Particle Swarm Optimization and Genetic Algorithm Method Controlled by Fuzzy Logic. IEEE Trans. Fuzzy Syst. 2020, 28, 1140–1154. [Google Scholar] [CrossRef]
  22. Farnad, B.; Jafarian, A.; Baleanu, D. A new hybrid algorithm for continuous optimization problem. Appl. Math. Model. 2018, 55, 652–673. [Google Scholar] [CrossRef]
  23. Mahmud, M.; Motakabber, S.; Zahirul Alam, A.H.; Nordin, A.N. Adaptive PID Controller Using for Speed Control of the BLDC Motor. In Proceedings of the IEEE International Conference on Semiconductor Electronics, Kuala Lumpur, Malaysia,, 28–29 July 2020; pp. 168–171. [Google Scholar] [CrossRef]
  24. Misaghi, M.; Yaghoobi, M. Improved invasive weed optimization algorithm (IWO) based on chaos theory for optimal design of PID controller. J. Comput. Des. Eng. 2019, 6, 284–295. [Google Scholar] [CrossRef]
  25. Amiri, M.S.; Ramli, R.; Ibrahim, M.F. Initialized Model Reference Adaptive Control for Lower Limb Exoskeleton. IEEE Access 2019, 7, 167210–167220. [Google Scholar] [CrossRef]
  26. Castillo-Zamora, J.J.; Camarillo-GóMez, K.A.; Perez-Soto, G.I.; Rodriguez-Resendiz, J. Comparison of PD, PID and Sliding-Mode Position Controllers for V-Tail Quadcopter Stability. IEEE Access 2018, 6, 38086–38096. [Google Scholar] [CrossRef]
  27. Demirel, B.; Ghadimi, E.; Quevedo, D.Q.; Johansson, M. Optimal Control of Linear Systems with Limited Control Actions: Threshold-Based Event-Triggered Control. IEEE Trans. Control. Netw. Syst. 2018, 5, 1275–1286. [Google Scholar] [CrossRef] [Green Version]
  28. Ma, Z.; Yan, Z.; Shaltout, M.L.; Chen, D. Optimal Real-Time Control of Wind Turbine During Partial Load Operation. IEEE Trans. Control. Syst. Technol. 2015, 23, 2216–2226. [Google Scholar] [CrossRef]
  29. Belkadi, A.; Oulhadj, H.; Touati, Y.; Khan, S.A.; Daachi, B. On the robust PID adaptive controller for exoskeletons: A particle swarm optimization based approach. Appl. Soft Comput. 2017, 60, 87–100. [Google Scholar] [CrossRef]
  30. Phu, D.X.; Mien, V.; Tu, P.H.T.; Nguyen, N.P.; Choi, S.B. A New Optimal Sliding Mode Controller with Adjustable Gains based on Bolza-Meyer Criterion for Vibration Control. J. Sound Vib. 2020, 485, 115542. [Google Scholar] [CrossRef]
  31. Suhaimin, S.C.; Azmi, N.L.; Rahman, M.M.; Yusof, H.M. Analysis of Point-to-Point Robotic Arm Control using PID Controller. In Proceedings of the 7th International Conference on Mechatronics Engineering, ICOM, Putrajaya, Malaysia, 30–31 October 2019; pp. 5–10. [Google Scholar] [CrossRef]
  32. Kang, S.; Chou, W. Kinematic Analysis, Simulation and Manipulating of a 5-DOF Robotic Manipulator for Service Robot. In Proceedings of the 2019 IEEE International Conference on Mechatronics and Automation, Tianjin, China, 4–7 August 2019; pp. 643–649. [Google Scholar] [CrossRef]
  33. Mukherjee, S.; Goswami, D.; Chatterjee, S. A Lagrangian Approach to Modeling and Analysis of a Crowd Dynamics. IEEE Trans. Syst. Man Cybern. Syst. 2015, 45, 865–876. [Google Scholar] [CrossRef]
  34. Wu, J.; Gao, J.; Song, R.; Li, R.; Li, Y.; Jiang, L. The design and control of a 3DOF lower limb rehabilitation robot. Mechatronics 2016, 33, 13–22. [Google Scholar] [CrossRef]
  35. Sun, J.D.; Cao, G.Z.; Li, W.B.; Liang, Y.X.; Huang, S.D. Analytical inverse kinematic solution using the D-H method for a 6-DOF robot. In Proceedings of the 14th International Conference on Ubiquitous Robots and Ambient Intelligence, Jeju, Korea, 28 June–1 July 2017; pp. 714–716. [Google Scholar] [CrossRef]
  36. Al-Oqaily, A.T.; Shakah, G. Solving Non-Linear Optimization Problems Using Parallel Genetic Algorithm. In Proceedings of the 8th International Conference on Computer Science and Information Technology, Amman, Jordan, 11–12 July 2018; pp. 103–106. [Google Scholar] [CrossRef]
  37. Amiri, M.S.; Ramli, R.; Ibrahim, M.F. Optimal parameter estimation for a DC motor using genetic algorithm. Int. J. Power Electron. Drive Syst. (IJPEDS) 2020, 11, 1047–1054. [Google Scholar] [CrossRef]
  38. Xu, S. Predicted Residual Error Sum of Squares of Mixed Models: An Application for Genomic Prediction. G3 Genes Genomes Genet. 2017, 7, 895–909. [Google Scholar] [CrossRef] [Green Version]
  39. Rayno, J.; Iskander, M.F.; Kobayashi, M.H. Hybrid Genetic Programming with Accelerating Genetic Algorithm Optimizer for 3-D Metamaterial Design. IEEE Antennas Wirel. Propag. Lett. 2016, 15, 1743–1746. [Google Scholar] [CrossRef]
  40. Cheng, Y.F.; Shao, W.; Zhang, S.J.; Li, Y.P. An Improved Multi-Objective Genetic Algorithm for Large Planar Array Thinning. IEEE Trans. Magn. 2016, 52, 1–4. [Google Scholar] [CrossRef]
  41. Amiri, M.S.; Ramli, R.; Ibrahim, M.F. Genetically optimized parameter estimation of mathematical model for multi-joints hip–knee exoskeleton. Robot. Auton. Syst. 2020, 125, 103425. [Google Scholar] [CrossRef]
  42. Amiri, M.S.; Ramli, R.; Ibrahim, M.F. Hybrid design of PID controller for four DoF lower limb exoskeleton. Appl. Math. Model. 2019, 72, 17–27. [Google Scholar] [CrossRef]
  43. Sumathi, S.; Paneerselvam, S. Computational Intelligence Paradigms Theory and Applications, 1st ed.; CRC Press: Boca Raton, FL, USA, 2010. [Google Scholar] [CrossRef]
  44. Amiri, M.S.; Ramli, R.; Ibrahim, M.F.; Wahab, D.A.; Aliman, N. Adaptive Particle Swarm Optimization of PID Gain Tuning for Lower-Limb Human Exoskeleton in Virtual Environment. Mathematics 2020, 8, 2040. [Google Scholar] [CrossRef]
  45. Amiri, M.S.; Ramli, R.; Tarmizi, M.A.A.; Ibrahim, M.F.; Danesh Narooei, K. Simulation and Control of a Six Degree of Freedom Lower Limb Exoskeleton. J. Kejuruter. 2020, 32, 197–204. [Google Scholar] [CrossRef]
Figure 1. Configuration of the robotic arm, where x 0 , y 0 and z 0 are axes of the reference frame.
Figure 1. Configuration of the robotic arm, where x 0 , y 0 and z 0 are axes of the reference frame.
Sensors 21 03171 g001
Figure 2. Structure of population for an iteration.
Figure 2. Structure of population for an iteration.
Sensors 21 03171 g002
Figure 3. Changes in parameters of modified PSO.
Figure 3. Changes in parameters of modified PSO.
Sensors 21 03171 g003
Figure 4. Flow chart of GSO.
Figure 4. Flow chart of GSO.
Sensors 21 03171 g004
Figure 5. Block diagram of control system for each joint.
Figure 5. Block diagram of control system for each joint.
Sensors 21 03171 g005
Figure 6. GUI for simulation model.
Figure 6. GUI for simulation model.
Sensors 21 03171 g006
Figure 7. The objective functions over iterations.
Figure 7. The objective functions over iterations.
Sensors 21 03171 g007
Figure 8. Angular trajectory of each joint.
Figure 8. Angular trajectory of each joint.
Sensors 21 03171 g008
Figure 9. Angular trajectory error of each joint.
Figure 9. Angular trajectory error of each joint.
Sensors 21 03171 g009
Figure 10. Angular velocity of each joint.
Figure 10. Angular velocity of each joint.
Sensors 21 03171 g010
Table 1. Physical features of the robotic arm.
Table 1. Physical features of the robotic arm.
link l i ( m ) l c i ( m ) m i ( Kg ) I i B i
i = 1 0.30.150.7480.00130.72
i = 2 0.190.0950.80200.00430.83
i = 3 0.140.070.7920.00230.95
i = 4 0.15 0.0750.6910.00151.88
i = 5 0.04 0.020.25620.000120.83
Table 2. mD-H parameters for the 5DoF robotic arm.
Table 2. mD-H parameters for the 5DoF robotic arm.
Joints θ i d i α i 1 a i 1
One θ 1 000
Two θ 2 0 π 2 l 2
Three θ 3 00 l 3
Four θ 4 00 l 4
Five θ 5 0 π 2 l 5
Table 3. Numerical analysis for the f o b j of GA, PSO and GSO for various sets of parameters.
Table 3. Numerical analysis for the f o b j of GA, PSO and GSO for various sets of parameters.
Runs set ga 1 set ga 2 set ga 3
GA14.33 × 10 5 1.87 × 10 5 6.12 × 10 7
20.00134.43 × 10 5 1.6 × 10 5
31.24 × 10 5 1.99 × 10 4 5.23 × 10 8
41.7 × 10 5 2.05 × 10 5 2.96 × 10 7
54.25 × 10 5 2.0 × 10 5 1.76 × 10 5
62.43 × 10 5 6.38 × 10 4 3.6 × 10 5
73.913 × 10 5 8.19 × 10 5 7.5 × 10 5
83.74 × 10 5 6.27 × 10 5 6.65 × 10 5
93.95 × 10 5 3.95 × 10 5 1.75 × 10 6
101.13 × 10 5 1.13 × 10 5 6.96 × 10 5
Mean 1.54 × 10 4 3.83 × 10 5 2.83 × 10 5
Max 1.3 × 10 3 8.19 × 10 5 7.5 × 10 5
variance 1.61 × 10 7 5.87 × 10 10 9.69 × 10 10
H-value 0.03
Runs set pso 1 set pso 2 set pso 3
PSO11.14 × 10 6 1.45 × 10 11 6.20 × 10 17
25.43 × 10 8 2.2 × 10 6 9.41 × 10 14
30.14 × 10 3 6.79 × 10 17 6.79 × 10 17
48.57 × 10 5 2.44 × 10 14 1.99 × 10 14
52.63 × 10 3 6.2 × 10 17 6.2 × 10 17
62.5 × 10 5 1.01 × 10 11 6.2 × 10 17
73.33 × 10 6 9.9 × 10 12 1.0 × 10 16
87.28 × 10 13 6.24 × 10 10 5.66 × 10 13
93.79 × 10 7 5.42 × 10 16 6.2 × 10 17
103.68 × 10 8 2.81 × 10 11 6.2 × 10 17
Mean 2.89 × 10 4 2.2 × 10 7 6.8 × 10 14
Max 2.63 × 10 3 2.2 × 10 6 5.66 × 10 13
Variance 6.79 × 10 7 4.83 × 10 13 3.14 × 10 26
H-value 16.07
Runs set gso 1 set gso 2 set gso 3
GSO18.34 × 10 8 6.2 × 10 17 6.2 × 10 17
21.74 × 10 7 3.03 × 10 13 2.37 × 10 16
32.7 × 10 13 2.45 × 10 11 1.54 × 10 15
41.71 × 10 5 1 × 10 16 6.2 × 10 17
57.59 × 10 11 7.85 × 10 17 2.02 × 10 16
67.19 × 10 6 6.79 × 10 17 6.2 × 10 17
78.1 × 10 4 5.43 × 10 15 2.02 × 10 16
86.2 × 10 5 7.76 × 10 16 5.49 × 10 17
93.14 × 10 7 6.2 × 10 17 2.67 × 10 14
102.87 × 10 12 7.63 × 10 14 4.99 × 10 14
Mean 9.97 × 10 5 2.94 × 10 12 7.9 × 10 15
Max 8.1 × 10 4 2.45 × 10 11 4.99 × 10 14
Variance 7.13 × 10 8 5.98 × 10 23 2.86 × 10 28
H-value 15.84
Table 4. Computational time for GA, PSO and GSO in seconds.
Table 4. Computational time for GA, PSO and GSO in seconds.
RunsGAPSOGSO
18.35 (s)2.46 (s)3.87 (s)
28.18 (s)2.41 (s)3.81 (s)
38.01 (s)2.35 (s)3.83 (s)
48.11 (s)2.40 (s)3.77 (s)
58.09(s)2.41 (s)3.45 (s)
68.33 (s)2.36 (s)3.80 (s)
78.26 (s)2.39 (s)3.86 (s)
88.26 (s)2.35 (s)3.54 (s)
98.13 (s)2.37 (s)3.88 (s)
108.38 (s)2.43 (s)3.84 (s)
Mean8.21 (s)2.39 (s)3.76 (s)
Table 5. Coordinates and angles of the target points.
Table 5. Coordinates and angles of the target points.
PositionsAngles
PointsCoordinates θ θ 2 θ 3 θ 4
A(0.11,0.25,0.14)2.411.261.705−0.83
B(0.21,0.32,0.22)2.351.370.63−0.029
C(0.12,0.14,0.12)2.111.171.210.75
D(0.19,0.14,0.05)2.081.581.36−0.95
E(0.19,−0.1,0.5)1.250.30.591.04
F(0.21,−0.16,0.7)1.130.720.07−1.17
G(0.15,0.1,0.3)1.940.451.350.93
H(0.14,−0.11,0.14)1.161.490.341.67
I(0.12,0.15,0.05)2.151.441.49−0.17
Table 6. PID parameters tuned by PSO.
Table 6. PID parameters tuned by PSO.
PSO GA GSO
K p K i K d K p K i K d K p K i K d
Joint 115.3534.32332.830551.2684175.36760.210636.2147295.51650.2556
Joint 226.825725.23667.863759.9833173.40638.690739.5278242.11848.4769
Joint 313.308215.40173.330576.2230160.64023.039783.4758175.87953.3379
Joint 45.49716.48763.460283.6052189.74207.718868.0942183.77644.1200
Table 7. Angular trajectory average error for optimal tuned controllers.
Table 7. Angular trajectory average error for optimal tuned controllers.
AE GA AE PSO AE GSO
Joint 10.05610.058710.5407
Joint 20.03480.03130.0304
Joint 30.07280.07940.0675
Joint 40.06210.06050.0488
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Soleimani Amiri, M.; Ramli, R. Intelligent Trajectory Tracking Behavior of a Multi-Joint Robotic Arm via Genetic–Swarm Optimization for the Inverse Kinematic Solution. Sensors 2021, 21, 3171. https://doi.org/10.3390/s21093171

AMA Style

Soleimani Amiri M, Ramli R. Intelligent Trajectory Tracking Behavior of a Multi-Joint Robotic Arm via Genetic–Swarm Optimization for the Inverse Kinematic Solution. Sensors. 2021; 21(9):3171. https://doi.org/10.3390/s21093171

Chicago/Turabian Style

Soleimani Amiri, Mohammad, and Rizauddin Ramli. 2021. "Intelligent Trajectory Tracking Behavior of a Multi-Joint Robotic Arm via Genetic–Swarm Optimization for the Inverse Kinematic Solution" Sensors 21, no. 9: 3171. https://doi.org/10.3390/s21093171

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