Differential Evolution Algorithms Comparison Used to Tune a Visual Control Law

This paper presents the results of the comparative study of differential evolution algorithms used as an alternative for tuning the gains of a PD+ type visual control structure, since tuning PD or PID type control structures is not trivial. We made the quantitative comparison using the performance index (<inline-formula> <tex-math notation="LaTeX">$\mathcal {L}_{2}$ </tex-math></inline-formula>-norm) and we applied the algorithm of best performance in a case of study (detection and cutting of leaves using a Cartesian robot). We also present the stability analysis according to Lyapunov theory and experimental results.


I. INTRODUCTION
Tuning control structures like PD or PID are not trivial, and although there are several studies to tune these controllers, we have not been solved the problem in order to have a technique that we can implemented in various systems, for example, SISO systems are limited to Classical tuners because of its linear nature, while computational resources limit intelligent methods such as neural networks, [1]. The PID controller is not the most suitable for certain non-linear systems. However, it is the preferred control law by the industry for its ease of implementation [2].
We must keep in mind that, for a controller, it is not enough to maintain the desired response, since it is also necessary that converge to zero in a finite time, so by changing gains, we can change the system's response. With a set of gains, we get unique features, so the goal is to look for the set of gains that produce the desired output defined by the design requirements [1]. However, adjusting gains is a complicated, and to some extent empirical, procedure that requires much of the designer's experience.
Although we widely used the PID controllers in industrial processes, their effectiveness is often limited because The associate editor coordinating the review of this manuscript and approving it for publication was Jolanta Mizera-Pietraszko . of bad tuning. Manual tuning of a controller's gains is a time-consuming task [3].
It has made many proposals to tune PID control over the years, for example, Chang, in [4], proposed a modification of the recombination formula of a genetic algorithm, and this method was used to determine the gains of PID controllers in multivariable processes, where it is ensured that the genetic algorithm is a convincing method of searching optimal for solving control problems. Sung-Kwun, in [5], proposed fuzzy controllers to stabilize the Beam-Ball system, compared with PD controllers, and he tuned the parameters of these controllers using a genetic algorithm based on hierarchical fair competition (HFCGA). Helon, in [6], tuned a PID controller using a multi-target genetic algorithm for a manipulator robot. In [7], it is presented a novel adaptive neural-based control design for a robot with incomplete dynamical model and facing disturbances based on a simple structured PIDlike control. Radial basis function neural networks are used to estimate uncertainties, and to determine PID gains through a direct Lyapunov method. The paper provides proof that all signals in the closed-loop system are bounded while it does not violate the constraints.
In [8], it is presented a novel method called self-adaptive proportional integral derivative (PID) of radial basis function neural network (RBFNN-PID), this method shown an improvement longitudinal speed tracking accuracy for autonomous vehicles in comparison with the traditional PID and fuzzy control methods, as we can see in the simulation results. Lee et al.,in [9], have proposed an adaptive PID control that is simple, model-free, and robust against payload variations. The proposed PID control has inherited these advantages, already verified by through the equivalence relationship between the two controls. As a result, the proposed PID shares the simplicity, robustness, and the model free property, as well as the high levels of stability, and performance with the adaptive TDC. In particular, the selection of its gains becomes especially simple, while the adaptation becomes efficient under substantial payload variations.
In [10], an adaptive PID control for wind turbines was developed, which allows an automatic change of gains with no trial-and-error processes. In [11], the principal aim was to decide the gains of the torque-based PID controller with the help of a neural network trained by using nature-inspired optimization algorithms. The adaptiveness of the algorithm lies in modifying the gains of the controller based on the magnitude of the error in the angular displacement received at the input.
Because of the increasing complexity of optimization problems, distributed differential evolution (DDE) has become a promising approach for global optimization. However, similar to the centralized algorithms, DDE also faces the difficulty of strategies' selection and parameters' setting. In order to deal with such problems effectively, in [12], it is proposed an adaptive DDE (ADDE) to relieve the sensitivity of strategies and parameters. On the other hand, in [13], it is proposed an adaptive variant of the differential evolution algorithm DE using both historical experience, and heuristic information for adaptation. This helps the algorithm select a more appropriate mutation strategy and determine better parameters for each individual at different evolution stages.
As with PID control, it has developed many proposals to tune the gains of PD control, for example, in [14], it is proposed a PD+ controllers to be applied in regulation tasks, and tracking of trajectories, in this work it is developed a proportional control of the position error, velocity, and the complete dynamics of the manipulator robot, which provides robustness. In [15] and [16], a strict Lyapunov function is proposed in order to perform the overall asymptotic stability analysis of the PD+ control. However, the problem of model-based controllers is of practical origin, as they require accurate numerical knowledge of dynamics and system parameters. Therefore, differential evolution algorithms provide an alternative for solving this type of problem.
We should note that differential evolution algorithms are direct and simple population search algorithms, which allow us to find the overall optimal value of multimodal functions, not differential and non-linear. There are several differential evolution algorithms, those in which their parameters, population sizes, probability of crossing, and mutation are constant, and those whose parameters are adaptive (SaDE, JDE and JADE), [17]- [19].
We can see, there are many proposals for tuning control structures such as PD or PID, so we presents a comparative study, through the performance index, of differential evolution algorithms as an option to adjust the gains of the PD+ type control. The aim of this article is to compare the most used differential evolution algorithms in the agricultural engineering and to use the algorithm with the best performance in the detection and cutting of leaves using a Cartesian robot.
We organized the article as follows: in Section II, we defined the dynamic model of the robot, as well as some properties and characteristics of the vision system and the PD+ type control, we also define the main characteristics of the differential evolution algorithms, which allows us to make the comparison of the algorithms. In section III, we define the case of study, and we show the experimental results, and finally, we present the conclusions in section IV.

A. DYNAMIC MODEL
We define the dynamic model of a robot manipulator with n degrees of freedom (DOF) as where q ∈ R n is the generalized coordinate vector; H(q) ∈ R n×n is the mass and inertia matrix, which is symmetric and positive definite; C(q,q)q ∈ R n is the Coriolis vector and centripetal force; g(q) ∈ R n is the gravitational torque; and τ ∈ R n is the applied torque. We based the dynamic model on Euler-Lagrange equation of motion defined as d dt where L(q,q) is the Lagrangian defined as the difference between the kinetic energy K(q,q), and the potential energy U(q), and D(q) is the dissipation energy. For simplicity, we consider that all robots have rotational joints, which allow us to state the following properties: Property 1 (20,Sect. 2,pp. 474): where λ h min ∀q∈R n λ min {H (q)} and 0 < λ h ≤ λ H < ∞. VOLUME 10, 2022 Property 2 (20,Sect. 2,pp. 474): With the appropriate definition of C (q,q), the matriẋ is antisymmetric. The robot manipulator's end-effector interacts with a rigid environment, so it restricted its movement to a (n − m) dimensional space ϕ defined by ϕ (q) = 0 where the function ϕ : R n → R m is continuously differentiable, such that ϕ ∈ C 2 . Due to the existence of the function ϕ, we assume that there is an operating region ⊂ R n defined as = 1 × 2 , where 1 is a convex subset of R n−m , 2 is an open subset of R m . Because of the operating region ⊂ R n , we assume the existence of a function k 1 : 1 → R m that is continuously differentiable such that k 1 ∈ C 2 , where ϕ q 1 , k q 1 = 0 ∀q 1 ∈ 1 . Under these assumptions, q 2 can uniquely define q 1 so that q 2 = k q 1 ∀q 1 ∈ 1 . Under this assumption, the Jacobian matrix J (q) exists and is nonsingular ∀q ∈ 1 , [21].

B. VISION MODEL
The goal of a vision system is to create a real-world model from images and using its two-dimensional projections to retrieve useful information from the scene.
We must keep in mind that this information recovery requires a lot of data from a plane. To accomplish this, we need to consider a reference system in the Cartesian space R = {r 1 , r 2 , r 3 } at the base of the robot where the axes r 1 and r 2 represent the robot's workspace. In addition, there is a reference system E = {e 1 , e 2 , e 3 } at the end of the robot whose origin is determined by the direct kinematics x R , which is a vector function that describes the relationship between the articular position of q with the Cartesian coordinates of f : R n → R m where n is the number of degrees of freedom, and m represents the dimensions of the Cartesian coordinate reference system, Figure 1. We provide the x R ∈ R 3 position of the end-effector of the robot regarding the reference system in terms of the articular positions, x R = f (q), and we associate the CCD camera with a reference system denoted by C = {c 1 , c 2 , c 3 }, whose origin is at the intersection formed by the optical axis and the center of the lens C , [22], [23]. We express the coordinates of a point regarding this reference system as x C . The vector o C = [o c1 , o c2 , o c3 ] T represents the relative location between the robot reference systems R and the camera C . The target has a point in the Cartesian system T = {t 1 , t 2 , t 3 }, whose origin is located regarding its geometric center. We denote by o T = [o t1 , o t2 , o t3 ] T the position of the object reference system regarding R , [24]. We project the scene got by the camera in the CCD, which is associated with a reference system described by I = {i 1 , i 2 }, whose origin is in the geometric center of the CCD camera. The i 1 and i 2 axes are parallel and point in the same direction as the c 1 and c 2 axes, respectively. To get the coordinates of the image in the CCD plane, it is necessary to get a perspective transformation.
We digitize the scene image in the CCD and transfer it to the computer screen, and we define a new two-dimensional reference system D = {u, v}, the origin of which is in the upper left corner of the monitor, [24]. We know the complete vision system that we use as fixed camera configuration. This system expresses the image coordinates in pixels.
We describe the model of the vision system by λ > 0 is the camera focal length, and λ λ + x c3 , [24].

C. CONTROL LAW
The control structure used to track the desired trajectory is where ψ(·) = sinh (·) 1 − tanh 2 (·),( ·) ∈ R n represents the error of (·), τ ∈ R n is the dynamic model of the system defined in (1), K p ∈ R n×n is the proportional gain matrix and K v ∈ R n×n is the derivative gain matrix, both are symmetric and diagonal, [16]. The function tanh (·) is a function continuous, monotonically increasing, and with derivative sech 2 (·). Also, satisfy (·) ≥ tanh (·) and 1 ≥ tanh (·) for all (·) ∈ R.
In this article, we use the following vectorial definition of the hyperbolic tangent function, [16].
With f (x) defined as in (11), the various constants remain like α 1 = 1, α 2 = √ n, α 3 = 1 and α 4 = 1, [16]. By considering the robot manipulator equation described in (1), and the control equation defined in (10), we defined the closed loop system equation: . (16) We use the following positive definite function: As we can see, the function described in (17) fulfills the conditions We derive (17) and we geṫ where tanh(q n ) ln(cosh(q n )) is a diagonal matrix defined as After applying Property 2 and performing the operations, we getV Considering the following equality we haveV whereV is negative semi-definite, this implies that the state x, defined as is bounded. This means that the equilibrium point of the system is stable. We define the following relationship: By considering (12) and (26), we can define (24) as: where α 1 = 1.
In order to prove thatV → 0 and thusq → 0 andq → 0, we use the following lemma.

D. TUNING
For the tuning of the control structure gains, we proposed in this article the use of differential evolution algorithms, the main aim being the realization of a comparative analysis that allows determining, through the performance index (L 2norm), the evolution algorithm suitable for the proposed case of study. Recall that we describe in (10) the control to be used in the case of study, a PD+ control law type.
Tuning is a way to determine the control parameters according to a set of specifications for the system. However, the tune of the gains is an empirical procedure that, through trial and error, allows to get the numerical values that allow the system to fulfill the assigned task. Using evolution algorithms, we can generate an input vector v iG that covers the parameters of the robot's dynamic model, as well as the maximum and minimum limits of the torque. The resulting vector provides an output vector u iG that represents the change parameters to be implemented at the programming level in the robot.
We should consider that differential evolution algorithms are a class of evolution algorithms proposed as global optimization methods [26]. However, we presented the classical tuning of a PD+ control law to perform the comparison between algorithms.

1) CLASSICAL PD+ TYPE CONTROL LAW TUNING
The PD+ type control law defined in (10) has the characteristic of producing an bounded output because of tanh(·), so we must calculate the gains K p and K v within the limits of the maximum motor torque, such that The PD+ type control has the disadvantage of requiring velocity information, which is got using numerical differentiation or observers. For this reason, the change made by (30) does not work accurately, so it is necessary to adjust the gains until we find the values to get an acceptable response without exceeding the torque limits, [15].

2) PD+ TYPE CONTROL LAW TUNING THROUGH DIFFERENTIAL EVOLUTION
Differential evolution algorithms are a class of algorithms proposed as methods of global optimization. The evolution algorithms generate an input vector, v iG , containing the parameters of the system's dynamic model, and the upper and lower torque limits, which are determined using (29) and (30). The input vector, v iG , returns an output vector, u iG , which represents the adjusted system parameters. The parameters that grow are the gains, K p and K v , which depend on the characteristics of the motor torque.
In order to use differential evolution methods, it is important to establish the maximum and minimum search limits, and the mechanical characteristics of the system as initial conditions, such as dimensions, weight, mass, etc.
Another important aspect of these methods is the minimization of the target function, which in this case we use the L 2 -norm which, according to [23], if L 2 → 0 then the position error of the links tends to zero,q → 0, which implies that the parameters found adjust and improve the behavior of the control scheme.
Next, we briefly describe the most used differential evolution algorithms in agricultural engineering, and we present the parameters, and gains got through this tuning process.

a: DE/RAND 1/BIN (DE1) ALGORITHM
In the literature, this algorithm has been widely used since its introduction in 1997 by Storn and Price, [29]. This tool is a search method that uses the population number (NP) to display the number of vectors. As a general rule, we assume a uniform distribution for random decisions taken, so it has the characteristic of being a simultaneous operator of crossing and mutation.
The scheme of this algorithm involves a test vector v i , such that: The purpose of (31) is to generate a new vector of parameters v i through the weight difference of two population member vectors (NP), represented by (x r2,G − x r3,G ), and a third member vector x r1,G known as main member. We call this procedure a mutation. The mutation parameter F ∈ [0, 1] is a true and constant mutation factor that controls amplification in differential variation, [29].
The crossing combines the vector of mutated populations, v ji,G+1 , with the chosen population vector, u ji,G+1 , to generate a new vector of populations, u ji,G+1 , such that (31) shows whether the ability of the mutated population, or resulting vector, is lower than the member of the chosen population, the new vector shall replace the vector with which it was compared, [29].
Otherwise, we maintain the population chosen for each generation (G), where randb(j) ∈ [0, 1] is the j-th evaluation of uniformly generated random numbers, randb(i) ∈ [1, 2, . . . , D] is a randomly chosen index, CR ∈ [0, 1] is the constant of crossover, a parameter that increases the diversity of individuals in the population, [29]. We note that the DE1 scheme has the disadvantage that we must find empirically the mutation and crossover factors. This has motivated several authors to improve its robustness.

b: SADE ALGORITHM
The SaDE algorithm is based on a learning period, [30]. The learning strategies used in this algorithm are • DE/current to rand/1

c: DIFFERENTIAL EVOLUTION ALGORITHM JDE
Brest in [31] developed this algorithm. This algorithm is based on the classical search method and is used to find equations (31) and (32). In practice, this strategy is the most used and shows competitive results compared to SaDE algorithm, [26], [31], [32]. The self-adaptive parameter control mechanism is used to adjust the values of the mutation parameter (F) and the crossover factor (CR) during the algorithm execution, where we defined the mutation factor as While the crossover factor CR is defined as where rand j for j = 1, 2, 3, 4 are random values distributed between [0, 1] and τ 1 = τ 2 = 0.1 represents the change probability in the algorithm control parameters. This technique aims at the self-adaptation of recombination and mutation parameters. However, it does not use the recombination and mutation operators typical of the Differential evolution algorithm, since in this algorithm additional operators are proposed for the calculation of the parameter control of the new parent vector, with a heavy load of random elements, [26], [31], [32].

d: DIFFERENTIAL EVOLUTION ALGORITHM JADE
Zang and Sanderson developed this variant of the DE algorithm, which has the characteristic of auto-adapting the parameters of the control law and making use of a file in which individuals are stored in order to be replaced in the selection. These individuals are used as candidates for the creation of random individuals in the mutation operator, introducing greater diversity in the generation of the mutated vector.
Several authors have extended this algorithm with the intention of improving its robustness due to its ability to solve problems with unique characteristics. Within these extensions are the auto-adaptation of parameters and the evolution strategies that influence the behavior of the algorithm, [27].
We defined the test vector or mutation vector as: where x r0,G and x r1,G are two vectors randomly selected from a population (P), x r2,G is a vector chosen from P ∪ A where A is the population of stored individuals that are replaced in the selection. Crossover operator CR is equal to the classic DE1 algorithm.
We defined the selection operator as: This algorithm has a high performance compared to the first versions of the DE1 algorithm.
The JADE adaptive differential evolution algorithm can use DE/rand to best/1/bin (DE1) with the crossover operator or DE/current to best/1/bin (DE1), which has the operator crossover where u i is the target vector and F i is the mutation factor associated with u i , which changes with each generation. An important modification occurs when an external file (A) is used to save solutions lower than the current population (P). So the mutation operator for the DE/rand to best/1/bin (DE1) algorithm is: where u r3 is a different vector of u r1 and we randomly chosen u r2 from the union of (A) and (P), and the mutation operator for the DE/rand to best/1/bin (DE1) algorithm is: where u r2 is a different vector of u i and u r1 , randomly selected from the junction of (A) and (P).
The following equation where randc i (µ F , 0.1) means a Cauchy distribution with the location parameter µ F and the parameter scale 0.1. If F i ≥ 1 this means F i is truncated at 1, and if F i ≤ 1, this means F i is regenerated.
We initialize the µ F parameter at 0.5 and we update at the end of each generation using where µ F is the set of all successful mutation factors F i that carry out the adaptation of the Mutation factor (F i ), c ∈ [0, 1], and mean L (S F ) is the Lehmer mean, defined as We made the adaptation of the probability of crossing (CR i ) for each individual through a normal distribution with mean µ CR and standard deviation 0.1 as Below, we present the pseudo-code Algorithm 1 that describes the differential evaluation algorithm. We should note that the pseudo-code shows the most important elements of the program, while we present the operators in the appendices.

Algorithm 1 Differential Evaluation
Require: Generate a population of solutions P(0) . Require: Evaluate each solution g = 1.
1: while we do not reach convergence do 2: for all i = 1 to NP do 3: Apply the differential mutation operator. (Appendix B) 4: Apply the differential crossover operator. (Appendix C) 5: Evaluate the new solution using the objective function. 6: Apply the differential selection operator. (Appendix D) 7: end for 8: g = g + 1 9: end while E. L 2 -NORM Robot manipulator are very complex mechanical systems due to the non-linear nature of their dynamics. For this reason, there are no well-established criteria for proper evaluation of control structures in the robotic community. However, the L 2 -norm is accepted to compare the performance of the controllers, as a numerical measure to compare the error curve [16]. We accept this criterion as an objective function for DE algorithms.
We define the L 2 -norm as where T is the sampling period,q ∈ R n is the position error in joint coordinates, t 0 and t 1 are the start and end times, respectively. A norm is a function from a real or complex vector space to the nonnegative real numbers that behaves in certain ways like the distance from the origin. The norm commutes with scaling, obeys a form of the triangle inequality, and is zero only at the origin.
In particular, the Euclidean distance of a vector( ·) from the origin is a norm, called the Euclidean norm, or 2-norm, which we defined as the square root of the inner product of a vector with itself: The L 2 -norm averages the position errors under the action of different tuning algorithms. For this, each Differential Evolution Algorithm takes the L 2 -norm as an objective function to calculate the value of the gains. When considering the L 2 -norm as the objective function if it tends to zero, L 2 → 0, the solutions reached are the optimal ones.

III. CASE OF STUDY: DETECTING AND CUTTING LEAVES USING A CARTESIAN ROBOT
Since in vitro propagation is an important technique for the rapid clonal production of disease-free plants, the transformation of the plant genome, and the production of commercially valuable plant-derived metabolites, the use of robots is important to automate these processes, [33].
We use cultivated tissues for the propagation of plants, which allows us to create whole plants. The pieces of tissue or small organs used are called explants. The selection of the part of the plant from which we will obtain explant will depend on the plant species, the purpose and the type of crop to obtain, [33].
In some protocols, we use true leaves. So, tissue isolation is just one of the key steps for in vitro propagation. Tissue isolation consists of isolating a part of the plant using some tool (sterile blades, micro scissors, laser, etc.) and then cultivating the isolated tissue in the physical and chemical conditions necessary to express its intrinsic potential, [33].
Because this process is repetitive, robotics has received a lot of attention from agricultural engineering, as robots are programmable multifunctional manipulators that can perform multiple tasks autonomously and repetitively through programmed movements, [34], allowing agricultural engineers to make the leaf cutting process more efficient.
Typically, we make the cutting of the leaves on a flat surface inside a petri box using a cutting tool and a handling tool. We hold the leaves with precision tweezers and cut with a scalpel. Due to the characteristics of the task, we have selected the Cartesian robot of 3 DOF as the ideal to perform the task helped by a vision system. Figure 2 shows a 3-DOF Cartesian robot built of aluminum and nylamid with prismatic-type links.

A. EXPERIMENTAL PLATFORM
The robot uses three 24 V to 2.1 A DC motors, has a speed of 0-122 rpm, an accuracy of 0.367 • , and a maximum torque of 1.568 Nm.
The system has incremental encoders with 980 pulses per revolution. We implemented a 1/32 inch vertical cutter as a cutting tool that allows to get leaf sections of 0.02 m 2 . We attach the leaves to an adherent surface that holds the leaf, as the robot executes the cutting trajectory. We present the mechanical characteristics of the 3-DOF robot in Table 1. We define the forward kinematics of the Cartesian robot as where q 1 , q 2 and q 3 are in meters. We define the dynamic model of the Cartesian robot as: where m = m 1 + m 2 + m 3 , m 1 , m 2 and m 3 are the masses of the links of the Cartesian robot. It is important to note that Cartesian robots do not have a Coriolis matrix and a centripetal force, [35]. Figure 3 describes the visual system block diagram. As we can see, the camera provides, after extraction, the centroid of the image.
We consider the centroid as the center of the desired trajectory q d ∈ R n , which is compared to the robot actual position q ∈ R n in order to generate the error vectorq ∈ R n which is part of the input of the control structure in order to perform the tracking task, [24].
In order to clone the mother plant for bio-preservation purposes, to propagate the plant tissue, we must make a circular cut of 0.02 m 2 on the selected leaf. For this reason, we must get the centroid through the camera, and define the center of the desired trajectory. In this case, we define the desired trajectory (circular trajectory) as where x c and y c ∈ R represent the coordinates of the center of the circle, r ∈ R is the radius of the circle, ω ∈ R is the period in which the system has to draw the circle. Information got from a vision sensor is used to control the movement of the robot. For leaf detection, we mount a Logitech C270 camera 0.4 meters away and perpendicular to the scene. We describe the camera features in Table 2. It is important to note that a digital camera forms a discrete representation of the plane of the object. The number of photographic sensors in the CCD matrix does not match the number of elements in the digital image because of analog processing and digitization.
The coordinates of the centre of the image plane also do not match the coordinates of the centre of the digital image, [24]. In the system the camera is perpendicular to the scene being analyzed, therefore, the following equation relates the pixels (u, v) with the real coordinates of the scene (x m , y m ): where f is the focal length, z is the distance from the camera to the scene, and α is the scale factor. So that the robot does not collide with the structure of the camera, it is 0.4 meters from the scene, so we have: We use the function developed in Matlab by Bhargav Anand to detect the leaf by considering its green color, which VOLUME 10, 2022 allows us to discriminate objects that are not of interest, [36] (Appendix A). This function allows the manipulation of the RGB planes in such a way that: where R adj , G adj and B adj are the attenuation factors for the red, green and blue planes. The user must assign the attenuation values. This is important since the leaves have the characteristic of being loaded with reds representing warm greens. When the leaves are young or cold, it loaded them onto the blue plane, [36]. We found the set-point required for the control as the pixel closest to the leaf centroid, which we previously detected and located in the image as the green region of interest.
If u x,i , v x,i with i = 1, . . . m denote the coordinates of the pixels on the leaf, then its centroid (u, v), also called the center of mass or point of gravitational center, is given by

B. TUNING ALGORITHMS EVALUATION
The differential evolution algorithms presented in Section II-D are used to find the K p ∈ R n×n and K v ∈ R n×n gains of the control law defined in (10). In order to evaluate the algorithms, we set a test point X test as reported in [37], and programmed the tuning algorithms to minimize v i , repeating the search 10 times until we get the adjusted parameters' mean value. By using the Petri dish's center in which will place the leaf, Figure 4, we define the next test point (in meters) We must remember the test point X test aims to move the three links of the Cartesian robot on the x, y and z axes, while the case of study only aims to follow a circular trajectory defined in the xy plane.  We used in the control law the adjusted parameters that are got by minimizing v i , so that the Cartesian robot moves from the initial position to the test point. In addition to the value of the gains to be used in the control law, it is important to consider the estimated time to obtain the parameters. In Table 3, we present the gains got using the tuning algorithms described in Section II-D, and in Table 4, we present the parameters used in each algorithm.
After we getting the gain values, we apply these to the control law defined in (10) in order to move the robot to the test point. We evaluate the position error that generates each pair of gains using the L 2 -norm, so that we can determine the algorithm that generates the best gain values in the shortest time. In Table 5, we present the values got by solving (49).
In Table 6 we present mean standard deviation As shown in Table 5, the best performs algorithm is the JADE algorithm. We will tune the case of study using this algorithm.
In Figure 5, we present the results obtained from the evaluation of the L 2 -norm of each of the algorithms used.   In Figure 8, we show the positions of the three links of the Cartesian robot in order to reach the test point using the different gain values. We observe in Figures 8(a) to Figure 8(d) that for link 1 there is not much difference between the use of classical tuning and differential evolution tuning methods. However, we observed in Figures 9(a) to Figure 9(d) that with the tuning proposed by [15], [16] the link 2 does not present stabilization in the steady state, while with the change of the differential evolution algorithms we achieve a stabilization below of the 0.5 seconds. For link 3, we get a high overshoot using the tuning proposed in [15], [16], while with the differential evolution algorithms, we improved the response in a transient state, reducing overshoots and getting a settling time in less than 0.31 seconds as seen in Figures 10(a) to Figure 10(d).

C. EXPERIMENTAL RESULTS
The principal aim of the case of study is to perform centroid detection on a leaf, and then perform the cut using a Cartesian robot, Figure 2.  In order to perform the cutting task, we used a PD+ type control, equation (10), whose gains we tune using the JADE algorithm, which has the best performance, according to the evaluation carried out in the previous section.
As we have explained, the desired trajectory is a circle, equation (53), whose center must be located using the centroid provided by the vision system, Figure 3. From the centroid, we defined the circle of 0.02 m of diameter, and we make the cut. We can perform this task repetitively thanks to the use of the Cartesian robot.
We perform the tracking of the trajectory using the PD+ type control using the tuning performed with the classical method and the JADE algorithm and we perform the comparison of the trajectories. We present the experimental results in Figure 6, where we observe the tracking of the desired trajectory that the robot performs.
The several resulting cut are shown in Figure 7.

IV. CONCLUSION
This article presents the study of four global optimization methods where the DE1 and JADE methods showed an outstanding performance for the tuning of the PD+ type controller. Through the L 2 -norm, it is determined that the algorithm with the best performance is the JADE algorithm (0.02236 meters). We carried the performance index evaluation procedure by considering the test point X test as the desired position.
Because of performing the JADE algorithm, for the case of study, it was used to tune the control and fulfill cutting a circle on a leaf from its centroid, which is got using the visual system.

APPENDIX B MUTATION OPERATOR
The mutation operator generates (NP) new vectors v i according to the equation: where r 1 , r 2 , r 3 ∈ [1, 2, . . . , NP] are mutually indices different for there to be a mutation and also different from i index, so that (60) does not become an operator of crossing. We can guarantee this by sampling three vectors in randomly, from the number of individuals in the population (NP) and verifying that we satisfied the conditions r 1 = i, r 2 = r 1 , r 2 = i, r 3 = r 1 , r 3 = r 2 , r 3 = i. Also, F is a scalar constant that affects the differential variation between two vectors.

APPENDIX C CROSSOVER OPERATOR
The crossing comprises combining the vector previously mutated, with another vector called the white vector which we considered as an individual parent of the previous generation. Thus, we generated a new descending vector called test vector. The following equation implements the binomial crossover: for i = 1, 2, . . . , NP and j = 1, 2, . . . , d; where (randb(j)) ∈ [0, 1] is the j-th evaluation of a number generator uniform random; rnbr(i) ∈ 1, 2, . . . , d is a generated index randomly. CR ∈ [0, 1] represents the probability of crossbreeding, which increases the diversity of the population. Large values of CR generate a child vectorū i more similar to the mutated vectorv i and vice versa. Therefore, with a value closer to unity, we increased the velocity by convergence of the algorithm. Even with a probability of zero crossover, the crossover operator ensures the descendant vector differs from the parent vector, minus one value.

APPENDIX D SELECTION OPERATOR
It is a very simple operator since it only comprises comparing the value of the cost function f (u i ) of the target vector u i against the corresponding value of the aim function f (ū i ) of the test vectorū i . The vector with the lowest value of the cost function becomes a member of the population in the next generation.