Abstract
The solution of the inverse kinematics of mobile manipulators is a fundamental capability to solve problems such as path planning, visual-guided motion, object grasping, and so on. In this article, we present a metaheuristic approach to solve the inverse kinematic problem of mobile manipulators. In this approach, we represent the robot kinematics using the Denavit–Hartenberg model. The algorithm is able to solve the inverse kinematic problem taking into account the mobile platform. The proposed approach is able to avoid singularities configurations, since it does not require the inversion of a Jacobian matrix. Those are two of the main drawbacks to solve inverse kinematics through traditional approaches. Applicability of the proposed approach is illustrated using simulation results as well as experimental ones using an omnidirectional mobile manipulator.
Keywords
Introduction
Mobile manipulator is composed of one or more arm manipulators attached to a mobile platform. These kind of robots can be used to solve robot manipulation tasks and mobile navigation simultaneously. However, the combination of the degrees of freedom (DOFs) of the manipulator and the mobile platform commonly turns the mobile manipulator into a redundant robot. Cheong 1 transformed the mobile manipulator into a conventional manipulator via simulated virtual joints, and then kinematics models can be obtained as conventional fixed manipulators. The drawback of this approach is that it suffers from singularities configurations, since it requires the inversion of a Jacobian matrix to solve the inverse kinematics problems. Then, Huang and Tsai 2 and Tsai et al. 3 introduced an approach to solve the inverse kinematics of omnidirectional mobile manipulators based on metaheuristic algorithms. However, this approach cannot be generalized to different mobile platform and manipulator structures. There are many works in mobile manipulator research, which solve the inverse kinematics of mobile manipulators 4 –6 ; however, these methods require the inversion of a Jacobin matrix or they cannot be generalized.
In this work, we are interested in a kinematic model of mobile manipulators, similar to conventional manipulators. To achieve this, we propose to represent the mobile platform with virtual joints. 1 In other words, the rotation angle of the platform can be represented by a virtual revolute joint and its translations with a virtual prismatic joint. Consequently, we can describe a kinematic model of the mobile manipulator using the Denavit–Hartenberg (DH) model as usually. For this reason, the proposed method becomes the inverse kinematics of mobile manipulator, which is an easier problem to solve.
Besides defining the model of mobile manipulators, we have to take into account that in general, mobile manipulators are redundant. Redundancy in robots occurs when they exceed the total DOFs that are strictly needed to perform a task. The solution of the inverse kinematics of redundant manipulators may result in multiple joint configurations to reach the same end-effector pose. Furthermore, the redundancy solutions may have singularities configurations that become the inverse kinematics to a problem difficult to solve. 7 To overcome these problems, we propose to solve the inverse kinematics of redundant manipulators based on their kinematics equations. Because the proposed approach does not require the inversion of any Jacobian matrix and the forward kinematics always have a solution, there are no singular configurations as in the conventional methods for inverse kinematics.
The inverse kinematics of manipulators can be solved by minimizing an error function using some iterative process. 7,8 However, due to the complexity of mobile manipulator kinematics, it is necessary to search for no conventional methods to solve the inverse kinematics problem. Metaheuristic algorithms have been applied successfully to solve optimization problems in many researches areas. 9 With respect to robotic researches, these algorithms are wisely used to solve the inverse kinematics and path-tracking problems, 10 –13 motion planning, 14,15 visual servo control, 16,17 and mobile navigation. 18 –23
In this work, we propose the use of metaheuristic algorithms to solve the inverse kinematics of mobile manipulators as a constrained optimization problem. Initially, we define an objective function to minimize the error between the desired and the actual end-effector pose. The objective function takes into account the minimal movement between the previous and the actual joint configurations. To overcome the constrained problems, we use a penalty function to penalize all those manipulator configurations that violate the allowed joint boundary. Hence, the proposed approach estimates the feasible manipulator configuration needed to reach the desired end-effector pose.
The contribution of the proposed approach is the solution of the inverse kinematics of redundant mobile manipulators based on metaheuristic algorithms. Additionally, the proposed method does not suffer from singularities configurations as the result of the inverse kinematics. Finally, this approach can be applied to different combinations of mobile platforms and manipulator structures with n DOF.
This article is organized as follows: The next section will introduce the basic concepts about forward and inverse kinematics of robot manipulators. Then, the description of the considered metaheuristic algorithms is given. Next, we give a comprehensive description of the proposed approach. Later, the simulation and real experiments are presented, respectively. Finally, we give the conclusions.
Manipulator kinematics
Robot arm manipulators are composed of a series of rigid bodies called links.
24,25
These links are connected by joints, where the number of joints defines the total
DOFs of the arm manipulator. Each joint is associated with an articulation to define a joint
variable
where each joint variable
The robot arm kinematic model of its links and joints forms a kinematic chain (see Figure 1). Based on its kinematic chain, the forward kinematic can be computed as

Kinematic chain of a manipulator.
where
where θi is the joint angle, ai is the link length, di is the link offset, and αi is the link twist. These parameters are associated with the link and joint i. For brevity, the sin and cos operations are represented with the letters s and c, respectively. When a manipulator has a revolute joint, then the parameter θi in equation (4) becomes the joint variable and the other parameters remain constant. On the other hand, when the manipulator has a prismatic joint, then the parameter di becomes now the joint variable and the rest of the parameters remain constant.
When we compute the homogeneous matrix
where
The inverse kinematics consist in the computation of the joint variable
More detailed information about forward and inverse kinematics can be found in the literature. 7,24 –26
Metaheuristic algorithms
Mobile manipulator is commonly named redundant robots, as the combination of the DOF of the mobile platform and the arm manipulator exceeds the total DOF needed to perform a task. The solution of the inverse kinematics for redundant robot results is a very difficult problem to solve by conventional approaches. 11 Traditional closed-form methods become difficult to implement for robots with particular geometric features. Furthermore, classical numerical methods may have singularities configurations as a result of the inverse kinematics. In this work, we propose the use of metaheuristic algorithms in order to solve the inverse kinematics of mobile manipulators as a constrained optimization problem. This approach does not suffer from singularities configurations, since it does not require a Jacobian matrix. Indeed, this approach uses the forward kinematics equations to solve the inverse kinematics problem with the advantage that forward kinematics always has a solution.
Metaheuristic algorithms have been commonly used for solving complex optimization problems such as classification, clustering, image processing, neural networks training, and others. 9 With respect to robotic researches, several metaheuristic algorithms have been implemented to solve the inverse kinematics and path-tracking problems of robot manipulators. For example, the particle swarm optimization (PSO) has been used by different authors to solve the inverse kinematics for robot manipulators, including the redundant robots. 27 –30 Some authors presented modifications to the PSO to overcome problems such as premature convergence. Ren et al. 11 introduced a hybrid approach for solving the inverse kinematics based on differential evolution (DE) and biogeography-based optimization (BBO); they called this method hybrid BBO (HBBO). They include a comparative study among DE, BBO, Genetic Algorithms (GA), and HBBO, where HBBO presents better results than the other algorithms. Then, Savsani et al. 12 present a comparative study which includes the artificial bee colony (ABC), BBO, gravitational search algorithm (GSA), cuckoo search (CS), firefly algorithm, bat algorithm, and teaching–learning-based optimization (TLBO). The authors concluded that ABC, TLBO, and CS performed better than the other algorithms for solving the trajectory planning for robot manipulators. The CS algorithm was also applied by Cai and Huang 31 to solve the robot inverse kinematics. Next, in the study by Ayyildiz and Çetinkaya, 10 the comparative study presented by the authors includes GSA, GA, PSO, and the quantum PSO (QPSO), where they concluded that QPSO is the most appropriate algorithm for the solution of the inverse kinematics.
Based on the previous references, in this work, we selected the CS, DE, HBBO, PSO, and TLBO algorithms to test the proposed approach. The DE algorithm is simple, robust, converge fast, and has a good balance between exploration and exploitation. DE is also easy to implement. For these reasons, we consider that the classic DE algorithm is good enough to solve the inverse kinematics of mobile manipulators. In the next subsection, we present a brief introduction to the DE algorithm.
Differential evolution
DE is a population-based algorithm that uses the mutation, crossover, and selection operations as a mechanism to improve its population members in every generation. 32 The DE algorithm starts with a random initialization of the positions of a population of individuals whose positions represent a potential solution for the given problem. For each individual, an offspring or mutant vector is created using the weighted differences of parent members chosen randomly as follows
where
Using the crossover operation, the running vector
where
Finally, if the trial vector
Description of the proposed approach
In this work, we propose to solve the inverse kinematics of mobile manipulator as a conventional fixed manipulator. Here, we describe a kinematic model of the mobile manipulator using the classical DH convention; therefore, the kinematics problems become easier to solve. In the proposed approach, we represent the mobile platform with virtual joints. The translation movement of the platform can be represented with prismatic joints; similarly, the rotation movements can be represented with revolute joints. Consequently, we obtain a kinematic chain using the DH model which contains the real and virtual joint of the mobile manipulator.
The mobile manipulators include different mobile platforms in combination with diverse
manipulator structures. For example, Figure
2 illustrates an arm manipulator mounted in a differential-driven platform. Its
equivalent model is also presented. The differential platform can be replaced with a virtual
revolute joint

Equivalent kinematic chain of a differential-driven mobile manipulator, where

Equivalent kinematic chain of an omnidirectional mobile manipulator, where
Fitness function formulation
We start by defining an error between the desired end-effector pose
where
Then, we define an error between the previous joint position
where
A fitness function can be defined as the weighted sum of the errors in equations (8) and (9) as follows
where α and β are weighting factors that scale the contribution of each term. Since the proposed approach solves the inverse kinematics of mobile manipulators as a constrained optimization problem, it is needed to include constrains in equation (10). In the literature, there are several methods to solve constrain optimization problems. 35 However, in this approach, we use a penalty function to overcome this problem.
In the case of mobile manipulators, constrains are defined as the manipulator joint
limits and the works space assigned to the mobile platform. Given the lower
where j represents each joint variable in the kinematic chain. Finally, we include the penalty function (11) in equation (10) to obtain the proposed fitness function that handles constraints as
where n represents the total number of DOF and γ scales the penalization term that is usually selected as a large constant. We recommend to use γ = 1000.
DE for solving the inverse kinematic problems
The proposed approach estimates the optimal joint configuration
where
During the optimization process, the optimal joint configuration is found by solving the constrained optimization problem defined as
where every individual i evaluates the fitness function defined in equation (12). The
iteration process ends when DE algorithm achieves the total number of iterations or when
the evaluation of the fitness function reaches an allowed tolerance. In this case, the
tolerance is given by a minimum value error between the desired end-effector position
The proposed algorithm based on DE is presented in Figure 4.

Algorithm of the proposed approach based on DE. DE: differential evolution.
Simulation results
The aim of simulations is to test the behavior of the proposed approach solving the inverse kinematics of different mobile manipulators. A comparative study was performed in order to compare the performance among the CS, DE, HBBO, PSO, and TLBO. These metaheuristic algorithms have their own particular parameter settings, and they also have common parameter settings such as the population size, the number of iterations, and the tolerance. We decided to use a population size of 50 individuals, a maximum of 350 iterations, and an allowed tolerance of 0.001 m. The parameter settings for the standard CS algorithm were set to the probability factor pa = 0.25 and the Levy flight factor α = 1.5. We based these settings as recommended in Savsani et al., 12 and a similar configuration can also be found in Cai and Huang. 31 We use the standard DE with the mutation strategy DE/ rand/1/ bin. Based on Gämperle et al., 33 we fixed the amplification factor F and the crossover constant CR to 0.6 and 0.9, respectively. For the HBBO algorithm, we fixed the maximum immigration rate I and the maximum emigration rate E to 1, the predetermined maximum mutation probability is ϕmax = 0.05, and the scaling factor and crossover probability of the DE strategy are F = 0.6 and CR = 1.0, respectively. We based these parameter settings from Ren et al. 11 The PSO version used in this test includes the inertia weight modification. Here, the inertia weight is set to w = 0.8 as recommended by Shi and Eberhart, 36 and both the cognitive C1 and social C2 parameters are fixed to 2. Finally, the TLBO algorithm does not require any configuration parameter. 12 With respect to the weighting factors in the proposed fitness function, we recommend to use α = 1 and β = 0.1 giving priority to the Terror term.
In the simulations tests, we measured the execution time in seconds, the distance error perror in meters, and the orientation error Rerror and the displacement error qerror using the next equations
where we obtain the values
The simulations were implemented in MATLAB. Every metaheuristic algorithm was run 100 times, and their results were illustrated using box plots. Box plots allow us to study distributional characteristics of a data set. This data distribution is represented into four groups divided by lines called quartiles. The middle box represents the central 50% of the data distribution, and its lower and upper boundary lines are at 25% and 75% of the data, respectively. The central line represents the median value. The two vertical lines extending from the middle box indicate the remaining 50% of the data distribution. They are called whiskers and they lower upper boundary lines, which are at the minimum and the maximum value of the data. Outlier is outside the middle box and the whiskers; these remaining values may be considered as noise in the data distribution. The intention of the use of box plots is to display graphically statistical variation in the proposed metaheuristic algorithm results. In the simulations, the execution time, position error, orientation error, and the displacement results are presented into box plots, where we are look for algorithm with smaller data distribution with lower value results and less quantities of outliers.
Inverse kinematic tests
In this experiment, we solve the inverse kinematics of a differential-driven platform in
combination with four different manipulator structures. In this case, the joint variables
are defined as
DH table for the differential-driven mobile manipulator with 6 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4–7 the manipulator joints.
DH table for the differential-driven mobile manipulator with 7 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4–8 the manipulator joints.
DH table for the differential-driven mobile manipulator with 8 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4–9 the manipulator joints.
DH table for the differential-driven mobile manipulator with 9 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4–10 the manipulator joints.
In the inverse kinematics tests, the desired end-effector pose for all mobile manipulator was defined as
The initial joint configuration for the considered mobile manipulators is given in Table 5. For every joint variable j, we established the next joint boundary
Initial joint configuration for the considered differential-driven mobile manipulators.
DOF: degree of freedom.
where
The simulation results for the 6-DOF differential-driven mobile manipulator are presented in Figure 5. In case of execution time included in Figure 5(a), DE had the best performance over the other algorithms, and its execution time performed below to 1 s. The CS, HBBO, and PSO algorithms had smaller data distribution, but they performed higher than 1.5 s. The HBBO algorithm also presents outlier results. On the other hand, TLBO had the largest data distribution. With respect to the position error in Figure 5(b), DE and TLBO performed below 1 mm of error, and they also have the smaller data distribution. In this case, PSO had the largest data distribution. About the orientation error in Figure 5(c), similar results are presented as in the position error case. Here, the DE and TLBO algorithms performed better than the others, and they present results below 0.01. Finally, Figure 5(d) shows the displacement error where CS, DE, and TLBO performed below 1.9 and they had a small data distribution; on the other hand, HBBO and PSO have a large data distribution.

Simulation results for the 6-DOF differential-driven mobile manipulator. DOF: degree of freedom.
The simulation results for the 7-DOF differential-driven mobile manipulator are presented in Figure 6. In case of execution time included in Figure 6(a), DE had the best performance over the other algorithms, and its execution time performed below 1.5 s. The HBBO and TLBO have a large data distribution. In contrast, CS and PSO had small data distribution, but they performed above 1.8 s. With respect to the position error in Figure 6(b), DE and TLBO performed below 1 mm of error, and they also had the smaller data distribution. The PSO algorithm presents the largest data distribution. About the orientation error in Figure 6(c), the DE and TLBO algorithms performed better again than the others, and they present results below 0.01. Finally, Figure 5(d) shows the displacement error where CS, DE, and TLBO performed similar, but DE had the smallest data distribution; on the other hand, HBBO and PSO had the worst data distribution.

Simulation results for the 7-DOF differential-driven mobile manipulator. DOF: degree of freedom.
Figure 7 illustrates the simulation results for the 8-DOF differential-driven mobile platform. The execution time results in Figure 7(a) report that the CS, HBBO, and PSO had smaller data distribution, but DE had a best performance. The TLBO algorithm obtained a lot of outliers. The DE performs below 2.3 s. In contrast, TLBO had a large data distribution with results above 3 s. The distance error results in Figure 7(b) indicate that DE and TLBO had the best results, but DE performed below 1 mm. The CS, HBBO, and PSO algorithms presented higher distance errors. In the orientation results presented in Figure 7(c), DE and TLBO performed similar, and as a result they give errors below 0.02. The other algorithms presented greater errors. Finally, the displacement errors in Figure 7(d) indicate that DE outperformed other algorithms, with minimal displacement errors below 1.35.

Simulation results for the 8-DOF differential-driven mobile manipulator. DOF: degree of freedom.
Figure 8 presents the results for the 9-DOF differential-driven mobile manipulator. The execution time results are given in Figure 8(a); DE and PSO have the best results, but PSO performed below 2 s. In contrast, the CS, HBBO, and TLBO algorithms performed above 3 s. The HBBO and TLBO had a lot of outlier results. In the case of the position error in Figure 8(b), DE and TLBO perform better than the other algorithms. They presented results below 10 mm. The other algorithms had larger results. With respect to orientation error in Figure 8(c), DE and TLBO had similar results. The orientation results are below 0.02. In this case, the PSO algorithm presented worst results. Finally, in Figure 8(d), the results of displacement errors are presented. The DE algorithm outperformed the others with error results below 2.5. The DE and the TLBO presented outlier results.

Simulation results for the 9-DOF differential-driven mobile manipulator. DOF: degree of freedom.
In summary, according to the results of the inverse kinematics tests, the execution time increases with higher DOF mobile manipulators. The DE and the TLBO algorithm performed similar and better than CS, HBBO, and PSO, but DE proved to be faster than TLBO. Moreover, CS and HBBO performed similar in almost all cases. Furthermore, the results of the PSO algorithm proved that it does not solve the inverse kinematic problems correctly.
Figure 9 illustrates the results
obtained by the proposed approach using the DE algorithm. In this figure, the old and the
computed joint configurations are drawn, where

Inverse kinematics results for the proposed differential-driven mobile manipulators using the DE algorithm.
Path-tracking tests
In this test, we solve the path-tracking problem of an omnidirectional platform in
combination with four different manipulator structures. In this case, the joint variables
are defined as
DH table for the omnidirectional mobile manipulator with 7 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4–7 the manipulator joints.
DH table for the omnidirectional mobile manipulator with 8 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4–8 the manipulator joints.
DH table for the omnidirectional mobile manipulator with 9 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4–9 the manipulator joints.
DH table for the omnidirectional mobile manipulator with 10 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4–10 the manipulator joints.
where
The path trajectory is given for a total number of O = 21 points with
where the values A = 0.05, B = 10, and C = 0.3 were selected for the 7- and 9-DOF omnidirectional mobile manipulator. In case of 8- and 10-DOF mobile manipulators, we used A = 0.05, B = 10, and C = 0.04. With respect to the orientation of the desired end effector, the next rotation matrix is proposed to be used in the path trajectory
where
The initial joint configuration for the considered mobile manipulators is given in Table 10. The limit joint boundary for this test was selected according to equations (16) and (17).
Initial joint configuration for the considered omnidirectional mobile manipulators.
DOF: degree of freedom.
The data distribution per each k point in the trajectory was averaged, and then box plots show the data distribution for all points in the trajectory. This means that a small data distribution in the position and orientation errors indicates a small variation in the estimated end-effector poses during the path trajectory.
The simulation results for the 7-DOF omnidirectional mobile manipulator are presented in Figure 10. With respect to the execution time presented in Figure 10(a), DE and PSO had similar results, but DE had a smaller data distribution. Both algorithms performed below 30 s, while the other algorithms performed above 55 s. The position error results shown in Figure 10(b) indicate that DE outperformed the other algorithms with results below 1 mm. The other algorithms presented large results. In the case of the orientation error illustrated in Figure 10(c), DE and TLBO performed below 0.002. The CS, HBBO, and PSO had a large data distribution. Finally, the displacement error results are reported in Figure 10(d). The CS, DE, and TLBO had similar results, and their displacement errors are below 0.4. In contrast, the HBBO and PSO algorithms had larger error results.

Simulation results for the 7-DOF omnidirectional mobile manipulator. DOF: degree of freedom.
In Figure 11, the simulation results for the omnidirectional mobile manipulators are reported. As we can see the execution time in Figure 11(a), the PSO algorithms performed better than the other, but DE presents a smaller data distribution. Both algorithms performed below 30 s. In the case of the position error results in Figure 11(b), DE outperformed the others with the smallest data distribution and errors below 1 mm. Larger results are presented by the other algorithms. With respect to the orientation error in Figure 11(c), similar results are presented as in the position error case, and DE performed better than the other algorithms with results below 0.02. Finally, the displacement error results are given in Figure 11(d), where CS, DE, and TLBO performed better than PSO and HBBO. These algorithms presented results below 0.25.

Simulation results for the 8-DOF omnidirectional mobile manipulator. DOF: degree of freedom.
In Figure 12, the results for the 9-DOF omnidirectional mobile manipulators are given. The execution time results are illustrated in Figure 12(a), where PSO presented better results than the other algorithms. Its results are given below 30 s. In the case of the position error results reported in Figure 12(b) and the orientation error results reported in Figure 12(c), DE outperformed the other algorithms with results below 1 and 0.01 mm, respectively. Finally, the displacement error is illustrated in Figure 12(d). The DE and TLBO performed better than the other algorithms. The results are given below 0.22. The other algorithms presented errors above 0.42.

Simulation results for the 9-DOF omnidirectional mobile manipulator. DOF: degree of freedom.
Next, the results for the 10-DOF omnidirectional mobile robot are given in Figure 13. The results for the execution time test are reported in Figure 13(a), and PSO presented better results below 40 s. The other algorithm results are given above 50 seconds. In the case of the position error results in Figure 13(b), the DE, PSO, and TLBO algorithms performed below 15 mm. With respect to the orientation error results in Figure 13(c), DE and TLBO had similar results, and the other algorithms presented larger errors. The DE and TLBO performed below 0.01. Finally, the graph in Figure 13(d) reported the results for the displacement errors. The DE outperformed the other algorithms with error results below 0.2.

Simulation results for the 10-DOF omnidirectional mobile manipulator. DOF: degree of freedom.
Based on the results reported in the path-tracking test, DE performed better than the other algorithms in general. In this test, PSO shows to be able to solve the path-tracking problem with better results than the inverse kinematics test. The TLBO algorithms presented good results; however, the algorithm requires much more time to solve the path-tracking problems. The CS algorithm has the worst results with respect to time execution, position, and orientation errors.
Figure 14 illustrates the minimal
joint displacement results obtained by the proposed approach using the DE algorithm. In
this figure, a few mobile manipulator configurations are drawn, where

Path-tracking results for the proposed omnidirectional mobile manipulators using the DE algorithm. DE: differential evolution.
In summary, the performance of the DE algorithm is superior to the other algorithms in the solution of inverse kinematics and path-tracking problems. The DE algorithm requires less computational time and a minimal displacement movement of the robot articulations, in almost all cases. The DE also obtained the best position and orientation results over the other algorithms. For these reasons, DE is the most appropriated metaheuristic algorithm for solving the inverse kinematics problems of mobile manipulators.
The computational time results for the inverse kinematics and the path-tracking tests indicate that the proposed approach requires so much execution time to solve the inverse kinematics problems, in general. For these reasons, the proposed approach can be useful for solving the inverse kinematics in off-line applications. However, a DE parallel version may be an option to reduce this computational time, 37 and then the proposed approach might be applied in real-time applications.
Comparison tests
In this test, we perform a comparison study between the proposed approach and an existing inverse kinematics method. 1 The existing method consists in obtaining a kinematic model of mobile manipulators as conventional fixed manipulators. They transform the mobile manipulators into fixed manipulator via virtual joints. The authors also present an example of a 4-DOF car-like mobile manipulator using the mentioned method. However, this method suffers from singularities configurations, since it requires the inversion of a Jacobian matrix to solve the inverse kinematics problems via classical methods.
The mentioned 4-DOF car-like kinematic modeling obtained by the existing method can be
found in the study by Cheong,
1
which is a simple planar two-link robot arm mounted on a car-like mobile platform.
The inverse kinematics are solved by a classical iterative method (see Manipulator
kinematics section). Because it is required, the inversion of a Jacobian matrix
In the proposed approach, the joint variables are given as
DH table for the car-like mobile manipulator with 4 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4 and 5 the manipulator joints.
According to the results of the previous simulations, we use the DE algorithm in this test. The standard version of DE was used with the DE/rand/1/ bin mutation strategy, the amplification factor F = 0.6, and the crossover constant CR = 0.9. We also used 100 individuals, 350 iterations, and an allowed tolerance of 0.0001 m. In this test, we performed four trajectories tracking. These trajectories are given by the following equations:
where k and θ determine each point (x, y) in the trajectory. Equations (19) and (20) correspond to the trajectory tests 1 to 4, respectively.
We have to mention that for the compared methods, joint limits are not considered, and we did not solve the orientation problem due to the kinematic limitations of the considered 4-DOF car-like mobile manipulator. In the proposed approach, Terror in equation (8) can be written as
where
Figure 15 shows the results for the position errors of the compared methods. As we can see, at some points of the four trajectories, the classical method gives large errors such as 640 mm in trajectory 1, 115 mm in trajectory 2, and 270 and 160 mm in trajectory 4. These errors may occur when the classical method computes the inverse kinematics near to a singular configuration. In contrast, the proposed approach gives better results. Most appropriated results for the position error results are given in Table 12, where the proposed approach outperformed the classical method in all the trajectory tests. The proposed approach performed below an average position error of 0.01 mm and a standard deviation below 0.00003.

Position error results for the classical and the proposed inverse kinematics methods. (a) Trajectory 1. (b) Trajectory 2. (c) Trajectory 3. (d) Trajectory 4.
Position error results for the classical and the proposed inverse kinematics methods.
RMS: root mean square; STD: standard deviation.
Bold values indicates the best result.
Figures 16 and 17 present the results of a joint displacement for the classical method and the proposed approach, respectively. The classical method reported abrupt chances in the joint displacement values because of the singularity configurations. On the other hand, the results of the proposed method reported smooth trajectory in the four trajectory tests.

Joint displacement results for the classical inverse kinematics method. (a) Trajectory 1. (b) Trajectory 2. (c) Trajectory 3. (d) Trajectory 4.

Joint displacement results for the proposed inverse kinematics method. (a) Trajectory 1. (b) Trajectory 2. (c) Trajectory 3. (d) Trajectory 4.
To conclude, the classical method suffers from singularities configurations, and at some points of the given trajectories, the inverse kinematic task fails. In contrast, the proposed approach overcomes singularities configurations because it is not required the inversion of a Jacobian matrix in this method.
Experimental results
The aim of the real experiments is to test the behavior of the proposed approach for solving the path-tracking problem of an omnidirectional mobile manipulator. Given the results of simulation experiments, we use the DE algorithm to solve the path-tracking problem. The standard version of DE was used with the DE/rand/1/bin mutation strategy, the amplification factor F = 0.6, and the crossover constant CR = 0.9, similar to the simulation case. We also used 100 individuals, 500 iterations, and an allowed tolerance of 0.0001 m.
The proposed omnidirectional mobile manipulator is the KUKA Youbot illustrated in Figure 18. The DH parameters for this
robot which include the mobile platform virtual joints are presented in Table 13. In this case, the joint
variables are given as

KUKA Youbot, omnidirectional mobile platform with a 5-DOF manipulator. DOF: degree of freedom.
DH table for the KUKA Youbot omnidirectional mobile manipulator with 8 DOF.a
DOF: degree of freedom; DH: Denavit–Hartenberg model.
aJoints 1–3 represent the virtual joints of the platform and joints 4–8 the manipulator joints.
The path trajectory was generated with O = 200 total points. The desired
position
Finally, the initial joint configuration was fixed to
The proposed approach was implemented using C++ and ROS environment. There is an existing ROS component for the KUKA Youbot to access to the manipulator and the mobile platform hardware. We used the integrated controller for the manipulator. On the other hand, we implemented a proportional-derivative controller for the mobile platform. The kinematics and control techniques for mobile platform can be found in the literature. 39 –41
It was needed to define an offset
Then, we computed the joint variable
Figure 19 presents the results for
the 1–4joints in the joint variable

Joint displacement results for the KUKA Youbot. The reported results correspond to the
one to four joints in the joint variable

Joint displacement results for the KUKA Youbot. The reported results correspond to the
five to six joints in the joint variable
Based on the result presented in this test, the proposed approach solves successfully the path-tracking problem for the KUKA Youbot omnidirectional mobile manipulator. Moreover, a better base controller should be used for the mobile platform; in contrast, the integrated manipulator controller reported good results. Finally, the implementation of the path-tracking problem for the KUKA Youbot omnidirectional mobile manipulator is illustrated in Figure 21.

KUKA Youbot solving a path-tracking task.
Conclusions
In this article, we introduced an approach for solving the inverse kinematics of mobile manipulators based on metaheuristic algorithms. Simulation and real experiments were performed to prove the effectiveness of the proposed approach. The metaheuristic algorithms included in the simulations were the CS, DE, HBBO, PSO, and TLBO. Additionally, different redundant mobile manipulators such as the differential-driven and omnidirectional mobile manipulators were considered in simulations. In the experiments, the KUKA Youbot omnidirectional mobile manipulator was considered as well. From simulations and real experiment results, the results of the DE algorithm proved to be superior than the other algorithms with respect to the minimum computational time, a minimum error in the position and orientation for the desired end-effector pose, and the minimal joint movement for the considered mobile manipulators. The HBBO provided good results but with a higher computational cost. The CS and PSO algorithms reported poor results; consequently, these algorithms are not recommended for solving the inverse kinematics of mobile manipulators. In conclusion, the proposed approach can solve the inverse kinematics of mobile manipulators effectively, and in real time, the robots can have different configurations including redundant robots.
Footnotes
Acknowledgement
The authors would like to thank the support of CONACYT México and the University of 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: This work was supported by CONACYT México and the University of Guadalajara, and CONACYT projects CB256769 and CB258068 (project supported by Fondo de Investigación Sectorial para la Educación FOINS 241246).
