Abstract
Cooperative manipulation in dual-arm robotic systems is a fundamental capability to perform many problems such as human-like tasks. In this article, we present an approach to solve dual-arm cooperative manipulation tasks using the differential evolution algorithm. In this work, manipulator kinematics are represented using the Denavit–Hartenberg model. The proposed method is able to avoid singularities because it does not require the inversion of any Jacobian matrix. In addition, the proposed approach handles joint limit constraints based on penalty functions. As a final remark, this approach is suitable for robotic systems of redundant or non-redundant serial manipulators composed of revolute or prismatic joints. Simulation experiments illustrate the effectiveness of the proposed approach under different dual-arm configurations. Furthermore, real experiments were performed using a dual-arm KUKA Youbot system to show the applicability of the proposed approach.
Keywords
Introduction
Dual-arm systems can perform different tasks such as handling large and heavy objects and perform complex cooperative tasks. 1 These manipulators are also used to solve human-like tasks in both domestic and industrial environments. 2 The term dual-arm manipulation can be defined as a physical interaction with an object, exerting forces on it to move or reshape it using two robot manipulators. 2 However, there is no specific agreed definition for this term. In general, dual-arm systems can be classified into non-coordinated manipulation and coordinated manipulation. In non-coordinated manipulation, arms performed different tasks independently, therefore their analysis does not need to differ from single-arm systems. In contrast, in coordinated manipulation, arms are physically interacting with each other, for this reason, their relative motions have to be adequately controlled to perform a task. In this work, we proposed to solve the dual-arm cooperative manipulation for coordinate manipulation tasks.
An accepted method to maintain coordinate manipulation of dual-arm systems is the relative Jacobian matrix. 3,4 This method allows to considerate dual-arm systems as an unique redundant manipulator, where its end-effector motion variables correspond to the relative motion between the two grippers, and its number of joints is equal to the sum of the joints relative to each manipulator. Moreover, a dual-arm system modeled by the relative Jacobian matrix can be controlled by the same algorithm used for single-arm systems. Then, to perform a cooperative task, the relative Jacobian matrix method is extended with the Jacobian null-space protection. 4,5 This approach allows to perform multiple tasks. Commonly, the highest priority task is set to the relative motion between the two grippers. Then, a secondary task is given by a desired end-effector pose with respect to the main manipulator. Other tasks can be obstacle avoidance or handle joint limits constraints. We called this approach the conventional method. However, an inconvenience of this approach is the task conflicts given by singularities. Singularities occur when the Jacobians for different tasks become rank deficient. 6 That is because they require the inversion of the Jacobian matrix, then the inverse kinematics task fails. To overcome this inconvenience, we propose to represent manipulators kinematics using the Denavit–Hartenberg (DH) model. 7 Then, an objective function is formulated based on the forward kinematics equations and it does not need the inclusion of any Jacobian matrix. Some authors have proposed different method to handle properly the conflicts with tasks priorities. 1,6 However, those methods still require the inversion of a Jacobian matrix. Additionally, the selection of an initial joint configuration is a key problem. At some particular initial joint configuration, the inverse kinematics task may fail. In consequence, abrupt changes in joint values can be presented because of singularities.
Redundancy in robotic manipulators is a very important problem to solve. Generally, a single-arm system is defined as kinematically redundant when its degree of motion n (number of joints) is higher than the number of variables m that are necessary to perform a given task (dimension of the task), this is n > m. 5 Since a dual-arm manipulation of a rigid object form a closed kinematic chain, then dual-arm systems are considered kinematically redundant. 1,8 Redundancy solutions admit several joints configuration to reach the same desired end-effector pose, in consequence, the inverse kinematics becomes difficult to solve. A convenient approach to solve this problem is global optimization of a specific objective function. However, many local minimum may be presented and the optimization problem becomes challenging to solve. For this reason, it is necessary to search for no conventional methods to solve this problem. Meta-heuristic algorithms have been applied successfully to solve many optimization problems in different research areas. 9 For single-arm manipulator, several meta-heuristic algorithms have solved the inverse kinematics and path tracking problem for redundant and non-redundant manipulators. 10 –14 A hybrid algorithm between differential evolution (DE) and modified particle swarm optimization (MPSO) has been proposed to solve the inverse kinematics of serial manipulators 15 and parallel manipulators. 16 This method is called DEMPSO and it performed better than DE and MPSO versions. Ren et al. 17 present a hybrid approach for solving the inverse kinematics of a serial manipulator based on DE and biogeography-based optimization (BBO). The approach is called hybrid biogeography-based optimization (HBBO). The authors included a comparative study among DE, BBO, genetic algorithms (GA), and HBBO, where HBBO reported better results than the other algorithms. Then, the imperialist competitive algorithm (ICA) was also applied to solve the inverse kinematics of serial manipulators. 18 In this case, it is shown a comparison among DE, PSO, ICA, harmony search (HS), and cuckoo optimization algorithm (COA). The authors concluded that ICA solved the given problems accurately with fast convergence rate than the other algorithms. Finally, an improved version of teaching-learning based optimization (TLBO) has been proposed to solve the optimal trajectory planning of robot manipulators. 19 The method is called ITLBO and it proves to be superior than several version of TLBO for solving the given tasks. In this work, we propose to use DE to solve the dual-arm cooperative manipulation as a global constrained optimization problem. DE is a simple but powerful optimization algorithm. We consider that a standard version of DE is enough to solve dual-arm cooperative task better or similar than those meta-heuristics algorithms mentioned before. Constraints in dual-arm manipulation are given by joint limits. There are many techniques to solve constraints optimization problems. 20 However, in this approach, we propose to use penalty functions to solve this problem.
In this article, we proposed to solve the dual-arm cooperative manipulation tasks as a global constrained optimization problem. The contributions of the article are given below: the proposed approach is able to avoid singularities. Since the dual-arm system is modeled using the DH convention, we use the forward kinematics equations to formulate an objective function. Because forward kinematics always have a solution, it is not required the inversion of any Jacobian matrix. Moreover, the proposed approach handles joint limit constraints. To handle constraints, we propose to use penalty functions by adding penalties to the proposed objective function. Additionally, the proposed approach can be used for dual-arm systems of redundant or non-redundant serial manipulators composed of revolute or prismatic joints.
This work is organized as follows: the next section gives a comprehensive description about the proposed approach where we include a description about dual-arm system model, DE algorithm, and the objective function is formulated in detail. Then, simulations results are given where we present inverse kinematics results under different dual-arm systems. Comparative studies are also included here. Next, the experiment results are reported where a dual-arm KUKA Youbot system was considered for real experiments. Finally, we give the conclusions.
Methodology
In this work, we propose to solve the dual-arm cooperative manipulation as a global constrained optimization problem of a specific objective function. Here, we describe a kinematic model for dual-arm systems based on the DH model. Then, an objective function is proposed using its forward kinematics equations. To handle joint limits constraints, we use penalty functions to penalize those joint values that violated the allowed joint restrictions. Finally, to solve the constrained optimization problem, we proposed to use the DE algorithm. A detailed description of the proposed approach is given in the next subsections.
Dual-arm system model
Figure 1 shows a dual-arm system composed by two manipulators A and B with a total number of joints na
and nb
, respectively. Then, we define a joint variable

Kinematic model of a dual-arm system composed by two manipulators A and B.
For a cooperative manipulation task, manipulator A is considered to have the role master. Then, the end-effector position of frame be
is expressed with respect to the end-effector position of frame ae
using the vector
The end-effector pose
where
Objective function formulation
For convenience, we define the actual joints configuration of a dual-arm system as
Previously, we define a position error between a desired end-effector position
with respect to manipulator B, the position error between the desired end-effector position
where
To minimize the cooperative manipulation motion, we define an error between the actual joints configuration
Then, we formulate an objective function with the weighted sum of errors given in equations (2) to (4) as follows
where α, β, and γ are scalar factors that scale the contribution of each error. Since the proposed approach solves the dual-arm cooperative manipulation as a constrained optimization problem, it is needed to include constraints in equation (5).
The lower and upper joint limits for manipulator A are defined as
Particularly, it is necessary to penalize a joint configuration qi
when its value is smaller than the allowed lower joint limit
Finally, we include the two defined penalty functions given in equations (6) and (7), into equation (5) to obtain the proposed objective function
where δ scales the penalization term that is usually selected as a large constant. We recommend to use
To conclude, the optimal joint configuration
Differential evolution
DE is a population-based optimization algorithm, where every individual in the population represent a candidate solution. Individuals improve during an iterative process by performing three principal operations: mutation, crossover, and selection.
The algorithm begins with the initialization of individuals
where
where
Proposed approach description
In this work, we propose to solve the dual-arm manipulation problem using DE algorithm. We consider to solve cooperative inverse kinematics tasks and cooperative path tracking tasks. To solve the cooperative tasks, we have to define the transformations
The algorithm of the proposed approach for solving the inverse kinematics of a dual-arm system is given in Algorithm 1. In this algorithm, every individual j contains a set of candidate joint solutions
where
Cooperative inverse kinematics algorithm.
The stop criteria is met when DE algorithm achieves the total number of iterations or when the evaluation of the fitness function reaches the allowed tolerance
For a cooperative path tracking task, the path is divided into

Cooperative path tracking algorithm. DE: differential evolution.
Simulation results
The aim of simulations is to test the behavior of the proposed approach for solving the dual-arm cooperative manipulation tasks of different dual-arm systems. The simulations were conducted as follows: First, we performed several cooperative inverse kinematics tasks using different dual-arm systems to test the proposed approach. In this test, we presented a comparative study to compare the performance of DE, DEMPSO, HBBO, ICA, and ITLBO. Then, we included non-parametric statistical test to detect a significant difference among the considered meta-heuristic algorithms under the inverse kinematics test. Finally, we performed cooperative path tracking tasks to compare the performance of the proposed approach against the conventional method. In the simulations, we test the proposed approach under dual-arm systems composed of different manipulator structures. The robots considered in this work are the SCARA, KUKA Youbot, Puma 560, Stanford, and Baxter, and their DH tables are given in Tables 1 to 5, respectively (The KUKA Youbot and Baxter robots are located in the Intelligent Systems Laboratory at the University of Guadalajara. The Puma 560, Stanford and SCARA robots are often used as an educational example in robot kinematics, they were only implemented for simulations.).
DH table for SCARA manipulator.
DH: Denavit–Hartenberg.
DH table for KUKA Youbot manipulator.
DH: Denavit–Hartenberg.
DH table for Puma 560 manipulator.
DH: Denavit–Hartenberg.
DH table for Stanford manipulator.
DH: Denavit–Hartenberg.
DH table for Baxter manipulators.
DH: Denavit–Hartenberg.
The joint limits constraints for a manipulator structure are commonly defined by the joint motors specifications. However, for simulations, the users can provide specific joints limits. The proposed joint limits are the following: The lower
The lower and upper joints limits of KUKA Youbot manipulator are fixed as follows
The joints limits of Puma 560 manipulator are selected as
The lower and upper joints limits of Stanford manipulator are given as
Finally, joints limits of Baxter manipulator are set to
Cooperative inverse kinematics test
In this test, we performed several cooperative inverse kinematics tasks to test the performance of the proposed approach. We proposed to use four dual-arm systems with different kinematic structures. The relative position
The first dual-arm system is composed of two KUKA Youbot manipulators based on DH parameters from Table 2. Their transformations
The relative position
The second dual-arm system is composed of two Stanford manipulators, see Table 4 for DH Table. Their transformations
The relative position
The third dual-arm system is composed of two Baxter manipulators based on Table 5. Transformations
The relative position
Finally, the fourth dual-arm system is a hybrid combination of a Puma 560 manipulator based on DH parameters given in Table 3 and a SCARA manipulator based on DH Table 1. Transformations
The relative position
In this test, we also presented a comparative study to compare the performance of the DE, DEMPSO, HBBO, ICA, and ITLBO. The parameter setting for these algorithms is conducted as follows: for the common parameter setting, we decided to use a population size of 50 individuals, a total number of 500 iterations, and a tolerance of 0.0001. For DE, we used the standard DE with the mutation strategy DE/rand/1/bin. We also fixed the amplification factor F and the crossover constant CR
to 0.6 and 0.9, respectively. In DEMPSO, with respect to PSO settings, the cognitive factor c
1 is gradually decreased from 2.5 to 0.5, the social factor c
2 is gradually increased from 0.5 to 2.5, the weighted factor w is gradually decreased from 0.9 to 0.6, and the same DE setting are used. For HBBO, we fixed the maximum immigration rate I and the maximum emigration rate E to
Simulations experiments were performed using Matlab [version 2014a 64-bit]. Each algorithm computed the cooperative inverse kinematics of 50 points calculated randomly such as
Figure 3 shows the position error results for the proposed dual-arm systems. The results in Figure 3(a) correspond to the Youbot arm system. Here, every meta-heuristic algorithm presented similar results below to 0.01 mm, but DE did not present outliers results. Similarly, the results for the Stanford arms in Figure 3(b) indicate that every meta-heuristic algorithm had similar results with values under 0.01 mm of error. In the results for Baxter arms in Figure 3(c), the ITLBO algorithm presented the larger data distribution results, in contrast, DE, HBBO, and ICA show the best results that is below to 0.001 of error. The DEMPSO also shows the biggest number of outliers. Finally, Figure 3(d) shows the results for the dual-arm hybrid system. In this case, the results for every algorithm are below to 0.001 mm and they also have outliers.

Position error
Then, in Figure 4, the displacement error results for the considered dual-arm systems are reported. In the case of the Youbot arms and the hybrid arm systems presented in Figure 4(a) and Figure 4(d), respectively, there is no noticeable difference in the displacement results obtained by the considered algorithms. The algorithms performed below to an error of 2.6 in the Youbot arms and 1.1 in the hybrid arms. On the other hand, DE and ITLBO reported the smaller data distribution among the other respect to the Baxter arms in Figure 4(c). They performed below an error of 1.5. In contrast, ICA and HBBO show the larger data distribution. Finally, in Figure 4(b), the results for the Stanford arm are presented. Here, the compared algorithms performed similar with values under an error of 2.3; however, DEMPSO, HBBO, and ITLBO present outlier results.

Displacement error
The execution time results for the considered dual-arm systems are given in Figure 5. In this case, DE and HBBO show the smaller execution time and the smaller data distribution results against the other algorithms for the dual-arm systems. Moreover, ITLBO illustrates the bigger execution time and the lager data distribution results among the other algorithms for the dual-arm systems.

Execution time results for the considered meta-heuristic algorithms. (a) Youbot arms, (b) Stanford arms, (c) Baxter arms, and (d) hybrid arms.
Based on the results obtained in the cooperative inverse kinematics test, DE and HBBO performed better than the other algorithms with respect to time execution. Additionally, DE and ITLBO performed better than the others in the displacement results of the Baxter arms. In contrast, there is no visual difference among the compared algorithms in the case of position error results. For this reason, we included a non-parametric statistical test to report a significant difference among the considered meta-heuristic algorithms.
Moreover, execution time results indicate that the proposed method requires so much execution time to solve the cooperative inverse kinematics tasks. It is recommended to use the proposed approach to solve the cooperative manipulation tasks of dual-arm systems for offline applications. However, parallel computing has been used to reduce computational time of meta-heuristic algorithms. 23,24 It would be interesting to implement those techniques to improve computational execution time of the proposed approach for online applications.
Non-parametric statistical test
Non-parametric statistical tests are usually used to compare a significant improvement among some compared algorithms. 25 The basic concepts of non-parametric procedure are the null hypothesis and the alternative hypothesis. The null hypothesis is assumed when the compared algorithms are equivalent. On the other hand, the alternative hypotheses represent significant difference among them. A level of significance α is used to determine at which level a hypothesis may be rejected. A p value provides information about whether a statistical hypothesis test is significant or not.
In this test, we proposed to use the sign test for pairwise comparison using the obtained results from the cooperative inverse kinematics test. We compared the DE against the DEMPSO, HBBO, ICA, and ITLBO algorithms. We also consider two levels of significance,
Table 6 shows the sign test results for the position errors of the cooperative inverse kinematics test. In the case of the Youbot arms, DE outperformed HBBO, ICA, and ITLBO with a level of significance below to 0.05, and DE performed similar to DEMPSO. In the Stanford arms, DE shows a significant improvement over the ITLBO algorithms. For the Baxter arms, DE performed better than DEMPSO, ICA, and ITLBO with a level of significance below to 0.05, and the performance of DE is similar to HBBO. Finally, in the Hybrid system, DE outperformed ICA algorithms with a level of significance below to 0.05 and DEMPSO outperformed DE with a level of significance below to 0.1.
Pairwise comparison of DE against the other meta-heuristics algorithms under sign test for position error results.
DE: differential evolution; MPSO: modified particle swarm optimization; HBBO: hybrid biogeography-based optimization; ICA: imperialist competitive algorithm; ITLBO: improved version of teaching-learning based optimization.
Table 7 presents the sign test results for the displacement errors of the cooperative inverse kinematics test. As we can see, the DE algorithm outperformed the others with a level of significance below to 0.05 in the Youbot, Stanford, and the Baxter arms. In the case of the hybrid system, DE shows a significant improvement over DEMPSO and ICA algorithms with a level of significance below to 0.05.
Pairwise comparison of DE against the other meta-heuristics algorithms under sign test for displacement error results.
DE: differential evolution; MPSO: modified particle swarm optimization; HBBO: hybrid biogeography-based optimization; ICA: imperialist competitive algorithm; ITLBO: improved version of teaching-learning based optimization.
Table 8 reports the sign test results for the execution time of the cooperative inverse kinematics test. Here, we notice that HBBO reported a significant difference against DE with a level of significance below to 0.05 in all considered dual-arm systems. Moreover, DE shows a detected difference against DEMPSO, ICA, and ITLBO with a level of significance below to 0.05 for all dual-arm systems, expect to ICA in the Stanford arms. In this case, DE shows an improvement over ICA with a level of significance below to 0.1.
Pairwise comparison of DE against the other meta-heuristics algorithms under sign test for execution time results.
DE: differential evolution; MPSO: modified particle swarm optimization; HBBO: hybrid biogeography-based optimization; ICA: imperialist competitive algorithm; ITLBO: improved version of teaching-learning based optimization.
Based on the results of the sign tests, DE performed better than the other algorithms with respect to position and displacement results in general. However, HBBO prove to be superior than DE with respect to execution time results. To conclude, we highly recommend the use of DE to solve the cooperative inverse kinematics problems; however, any other meta-heuristic algorithm can also be used to solve these problems. For example, it would be interesting to use HBBO to solve the problem, because it had a good performance as well.
Cooperative path tracking tests
The purpose of the test is to compare the proposed approach against a conventional method under some cooperative path tracking tasks. In this test, two different path trajectories with different initial joint configurations were selected to compare the performance of the proposed and conventional methods against singularities. The initial joints configurations were intentionally chosen to make the problem difficult to solve. For this test, a circular and a sinusoidal trajectories have been chosen, these trajectories are a benchmark in these area.
In the proposed approach, we used the DE algorithm to solve the cooperative path tracking tasks and its parameter settings were selected similar to the cooperative inverse kinematics test. In the conventional method, we set the highest priority task to the relative motion between the two end-effectors. The secondly task was set to the desired end-effector position with respect to the main manipulator. The gain for the priority task Kr was set to 0.3 and the gain for the secondly task was set to 0.7. To avoid singularities in the conventional method, we proposed to use the Moore–Penrose pseudoinverse of the Jacobian matrix based on singular value decomposition.
In this test, we proposed to use the mentioned dual-arm KUKA Youbot system and dual-arm Baxter system from cooperative inverse kinematics test. We also used the same
where
where
For the first part of the test, we set the initial joint configuration for the KUKA Youbot arms as
and the initial joint configuration for the Baxter arms was selected as
The cooperative path tracking results for these initial joint configurations are given in the next paragraphs.
Figure 6 shows the path tracking and the position error results for the dual-arm Baxter system on the sinusoidal trajectory using the initial joint configuration in equation (13). The Figure 6(a) and (b) shows the results for the tracking of manipulators A and B, respectively. In these cases, the reported results show that the proposed approach

Tracking and position error results for Baxter arms on sinusoidal trajectory using the initial joint configuration in equation (13). (a) and (b) show the tracking results, where (
The joint displacement results for Baxter arms on the sinusoidal trajectory using the initial joint configuration in equation (13) are given in Figure 7. Figure 7(a) and (b) presents the joint displacement results for the proposed approach of manipulators A and B, respectively. It is shown that the proposed approach reported smooth joint displacement in both manipulators. Then, the joint displacement results for the conventional method of manipulators A and B are reported in Figure 7(c) and (d), respectively. Here, we can observe that the conventional method reported smooth joint displacement in both manipulators as well.

Joint displacement results for Baxter arms on sinusoidal trajectory using the initial joint configuration in equation (13). (a) and (b) show the results for the proposed approach. (c) and (d) present the results for the conventional method.
Figure 8 reports the path tracking and the position error results for the dual-arm KUKA Youbot system on the circle trajectory using the initial joint configuration in equation (12). The tracking results for manipulator A of the proposed approach

Tracking and position error results for KUKA Youbot arms on sinusoidal trajectory using the initial joint configuration (equation (12)). (a) and (b) show the tracking results, where (
The joint displacement results for KUKA Youbot arms on the circle trajectory using the initial joint configuration in equation (12) are presented in Figure 9. The proposed approach shows a smooth joint displacement during the tracking task in manipulators A and B, see Figure 9(a) and (b), respectively. Similarly, the conventional method reported a smooth joint displacement in the trajectory, as it is shown in Figure 9(c) and (d).

Joint displacement results for KUKA Youbot arms on sinusoidal trajectory using the initial joint configuration (equation (12)). (a) and (b) show the results for the proposed approach. (c) and (d) present the results for the conventional method.
For the second part of this test, the initial joint configuration for the KUKA Youbot arms was set to
and the initial joint configuration for the Baxter arms was selected as
The cooperative path tracking results for these initial joint configurations are given below.
Figure 10 shows the path tracking and the position error results for the dual-arm Baxter system on the sinusoidal trajectory using the initial joint configuration in equation (15). The Figure 10(a) and (b) shows the results for the tracking of manipulators A and B, respectively. In these cases, the reported results show that the proposed approach

Tracking and position error results for Baxter arms on sinusoidal trajectory using the initial joint configuration (equation (15)). (a) and (b) show the tracking results, where (
The joint displacement results for Baxter arms on the sinusoidal trajectory using the initial joint configuration in equation (15) are given in Figure 11. Figure 11(a) and (b) present the joint displacement results for the proposed approach of manipulators A and B, respectively. It is shown that the proposed approach reported smooth joint displacement in both manipulators. Then, the joint displacement results for the conventional method of manipulators A and B are reported in Figure 11(c) and (d), respectively. Here, we can observe abrupt changes in the joint displacement values presented at the beginning of the task.

Joint displacement results for Baxter arms on sinusoidal trajectory using the initial joint configuration (equation (15)). (a) and (b) show the results for the proposed approach. (c) and (d) present the results for the conventional method.
Figure 12 reports the path tracking and the position error results for the dual-arm KUKA Youbot system on the circle trajectory using the initial joint configuration in equation (14). The tracking results for manipulator A of the proposed approach

Tracking and position error results for KUKA Youbot arms on sinusoidal trajectory using the initial joint configuration (equation (14)). (a) and (b) show the tracking results, where (
The joint displacement results for KUKA Youbot arms on the circle trajectory using the initial joint configuration in equation (14) are presented in Figure 13. The proposed approach shows a smooth joint displacement during the tracking task in manipulators A and B, see Figure 13(a) and (b), respectively. In contrast, the conventional method reported abrupt changes at some particular point in the trajectory, as it is shown in Figure 13(c) and (d).

Joint displacement results for KUKA Youbot arms on sinusoidal trajectory using the initial joint configuration (equation (14)). (a) and (b) show the results for the proposed approach. (c) and (d) present the results for the conventional method.
Accordingly, with the cooperative path tracking results, the conventional method suffers from singularities. As we can observe in some points of the trajectory, the inverse kinematics task in the conventional method fails. This problem occurs because it requires the inversion of a Jacobian matrix that has become rank deficient in a particular joint configuration. Therefore, the trajectory tracking has an abrupt change in the joint displacement. In contrast, the proposed approach proved to be able to avoid such joint configuration problems, as it does not require the inversion of any Jacobian matrix.
Experimental results
Real experiments were performed to show the applicability of the proposed approach. In this test, we performed two cooperative coordinate manipulation tasks for a dual-arm system. The cooperative tasks are a circle and a sinusoidal trajectory tracking. We considered to use the dual-arm KUKA Youbot system illustrated in Figure 14. To solve the constrained optimization problem, we used the DE algorithm with the standard DE/rand/1/bin mutation strategy. We selected the standard DE algorithm based on the results given by simulations experiments. In addition, we set the amplification factor

Dual-arm KUKA Youbot system. It is composed of two manipulators with
The DH parameters for manipulators A and B are the same, and it is given in Table 4. The initial joint configurations were selected as
and the lower
The transformations
Finally, the relative position
Simulation results show the effectiveness of the proposed approach for solving a given cooperative path tracking task. However, no control laws were required in the simulation experiments. The real experiments where performed using C++ and Robot Operating System (ROS), these experiments require a controller to track the path computed by the proposed approach. In the experiments, an existing ROS component was used to access the KUKA Youbot hardware and also the integrated manipulator proportional–integral–derivative (PID) controller to perform the task. It is needed to add an offset
then, we compute the joints configuration
The circle trajectory
where
where
The trajectory results for sinusoidal tracking test are presented in Figure 15. As we can see in Figure 15(a), the position of the end-effector

Tracking results for KUKA Youbot arms on sinusoidal trajectory. Values

Position error results for KUKA Youbot arms on sinusoidal trajectory. Values

Joint displacement results for KUKA Youbot arms on sinusoidal trajectory. (a) Manipulator A and (b) manipulator B.
The path tracking results of the circle path are presented in Figure 18. It is shown in Figure 18(a) that the position of the end-effector

Tracking results for KUKA Youbot arms on circle trajectory. Values

Position error results for KUKA Youbot arms on circle trajectory. Values

Joint displacement results for KUKA Youbot arms on circle trajectory.
Based on the results of real experiments, we can conclude that the proposed approach solved successfully the cooperative dual-arm manipulation for the given path tracking tasks.
Conclusions
In this work, we introduced an approach for solving the coordinate dual-arm cooperative manipulation tasks based on DE. The proposed method represents the kinematics structures of dual-arm systems using the DH convention. Simulation and real experiments were performed to prove the effectiveness of the proposed approach. The simulation included a comparison among some selected meta-heuristic algorithms such as DE, DEMPSO, HBBO, ICA, and ITLBO. In addition, different dual-arm system composed of different manipulators were considered in simulations to test these algorithm under a cooperative inverse kinematics test. In this test, DE and HBBO performed better than the others with the smaller execution time and position error results. They also presented the smaller data distribution. However, it was not reported a significant difference between DE and HBBO. Then, the sign test was performed to detect a significant improvement of DE against the others meta-heuristic algorithms. In this test, DE proved to be superior to other algorithms with respect to position and displacement results. In contrast, HBBO overcomes the other algorithms with respect to execution time results. Moreover, a comparison was performed to compare the proposed approach against a conventional method under some cooperative path tracking tasks. In this test, the proposed approach proved to be able to solve the coordination tasks under singularities conditions. In contrast, the conventional method solves the same coordination tasks poorly. In real experiments, a dual-arm KUKA Youbot system mobile manipulator was considered as well. In this case, the proposed approach solves the cooperative tasks successfully, where the path tracking results perfectly match the given path tracking tasks. In conclusion, the proposed approach can solve the dual-arm cooperative manipulation for coordinate manipulations tasks. This approach can avoid singularities, because the inversion of Jacobian matrices are not required. Moreover, it is able to solve cooperative tasks for different dual-arm systems structures, including revolute and prismatic joints. Finally, the proposed method is able to handle joint limits constraints and it is suitable for redundant and non-redundant manipulators structures. This work can be extended to solve problems of coordinate cooperation systems composed of n number of manipulators, which is an interesting topic for future research.
Footnotes
Acknowledgement
The authors thank the support of CONACYT México and the Universidad de Guadalajara.
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: CONACYT projects CB256769 and CB258068 (project supported by Fondo de Investigación Sectorial para la Educación FOINS 241246).
