Abstract
Mobile robots with omnidirectional wheels are expected to perform a wide variety of movements in a narrow space. However, kinematic mobility and dexterity have not been clearly identified as an objective to be considered when designing omnidirectional redundant robots. In light of this fact, this article proposes to maximize the dexterity of the mobile robot by properly locating the omnidirectional wheels. In addition, four hybrid differential evolution (DE) algorithm based on the synergetic integration of different kinds of mutation and crossover are presented. A comparison of metaheuristic and gradient-based algorithms for kinematic dexterity maximization is also presented.
1. Introduction
An omnidirectional mobile robot is, in principle, able to move in any arbitrary direction, thus they have been used in several applications, including military [1], human detection [2] and exploration [3] applications. However, most of the time the wheel arrangement of the robot is symmetric, in order to equally distribute the load to each wheel [4]. Kinematic isotropy of a mobile robot [5] is a desired property to get “ease of motion”. One of the key parameters to maximize the isotropy of a mobile robot is the location of the wheels on the body of the robot [6].
Dexterity can be defined as the ability of the robot to move and apply forces and torques in arbitrary directions with equal ease [7]. Poor dexterity of a mobile robot implies that small changes in the linear velocity of the wheels result in large changes in the linear and angular velocity of the robot. High dexterity of the robot means that small changes in the linear velocity of the wheels result in small changes in the linear and angular velocity of the robot.
It is well known that robots designed with optimization methods perform better than robots designed using engineering judgment [3], as they explore all the design space. Therefore, in this paper the optimum wheel placement for the omnidirectional wheeled mobile robot with three omnidirectional wheels is stated as an optimization problem, where the performance index to be optimized is robot dexterity.
Typically, the algorithm selected to solve an optimization problem depends on the problem at hand. There are two main approaches to be considered in the selection of the algorithm and they depend on how the search direction is computed: gradient-based algorithms and heuristic-based algorithms (HBA). Gradient-based algorithms, such as sequential quadratic programming (SQP), are highly dependent on the initial conditions. Convergence to local solutions near the initial condition is the main drawback when SQP is used to solve optimization problems. However, when the initial conditions are in the neighbourhood of a global optimum, most of the time it converges to a better solution when compared to metaheuristic algorithms [8]. Nevertheless, the neighbourhood of the global optimum is not known in real word optimization problems. On the other hand, metaheuristic algorithms (HBA) have been widely used to solve real world optimization problems. Differential evolution (DE) [9] is a metaheuristic algorithm which can be used to solve continuous, discontinuous, linear, nonlinear, dynamic and static optimization problems, that has proven to be useful when designing robots when kinematic singularities should be avoided [10].
DE performs mutations based on the distribution of the solutions in the current population such that the search direction depends on the location and selection of individuals. There are several DE variants, but the most popular is called “DE/rand/1/bin” where just one difference (of two randomly chosen individuals added to another solution) is calculated. Besides the selection of the population size and maximum generation number, an important factor when using DE is the selection of the variant. In those DE variants the mutation and crossover operator is changed and the performance of the DE variants depends on the problem at hand as it is establish in [11].
In this paper the mutation and crossover operator are sinergically combined to improve the characteristics of the DE variant and it is compared with a set of eight DE variants and the performance of the SQP algorithm. This study identifies which algorithm is more suitable to solve the optimization problem at hand.
In order to test the performance of the optimally designed omnidirectional robot, a set of experiments has been performed.
The main motivations of this work are 1) the maximization of the dexterity of the mobile robot by properly locating the omnidirectional wheels, 2) the proposal of four hybrid DE variants that enhance the DE algorithm, 3) the performance evaluation of the chosen algorithms and 4) the analysis of the global and local solution for the trajectory tracking problem.
The remaining material is organized as follows. In Section 2 the kinematics and dynamics of the mobile robot is presented. The optimization problem formulation is stated in Section 3. The optimization algorithm and the proposed hybrid DE variants are described in Section 3. The results and discussion regarding the performance of the algorithms, the optimal design and the simulation results are given in Section 4. Finally, in Section 5 the conclusion is presented.
2. Kinematics and closed-loop dynamics of the mobile robot
The omnidirectional mobile robot is shown in Figure 1 where δi and Li ∀ i=1, 2, 3, are the i –th angle and the i –th distance of the robot wheel. The kinematic transformation between the linear velocity of the wheel v = [v1, v2, v3]T and the linear and angular velocity of the mobile VL=[Vx, Vy, w]T is stated in (1).

Omnidirectional mobile robot.
where A ∈ R3×3 is the Jacobian matrix.
Considering the mass centre of the omnidirectional mobile robot to be on the origin of the coordinate system xm-ym (robot centre), the closed-loop equation for the omnidirectional mobile robot is stated in (1).
where:
3. Optimization problem statement
Let p= [δ1, δ2, δ3, L1, L2, L3]T ∈ R6 be the design parameters of the wheel locations of a mobile robot. The optimization problem consists of finding the optimal design parameter vector p* ∈ R6 such that a small change in the linear velocity of the wheel v or in the Jacobian matrix A results in a small change in the linear and the angular velocity of the mobile VL, i.e., finding the vector p* such that the mobile robot presents high dexterity.
The condition number of A measures how much the solution of Equation (1) can change in proportion to small changes in the matrix A or in the vector v. A low condition number means that the matrix A is well-conditioned, while high condition number means that matrix A is ill-conditioned. Hence, in this paper the condition number is minimized to improve the dexterity of the mobile robot.
In (3) it is observed that the matrix A can influence the control of the dynamics of the mobile robot. Hence, the robot wheel position improves the robot dexterity for performing a task in the Cartesian space.
The optimization problem formulation (4 – 5) is to find the optimal design parameter vector p* ∈ R6 which minimizes the condition number of the Jacobian (3), subject to the limits in the design parameter vector (4), i.e.,
subject to:
The term ‖*‖F is the Frobenius norm of *. The performance index J = ‖A‖F‖A−1‖F can be stated as in (5). It is observed that the problem in (4 – 5) is a nonseparable optimization problem.
4. Optimization algorithms
The optimization problem (4 – 5) is solved by using a Sequential Quadratic Programming (SQP) algorithm [11], eight variants of the differential evolution (DE) algorithm [12], [13] and four DE hybrid variants.
4.1 SQP algorithm
SQP algorithm represents the state of the art in nonlinear programming techniques. The SQP algorithm allows to closely mimic Newton's method for constrained optimization just as it is done for unconstrained optimization. At each major iteration, an approximation is made of the Hessian of the Lagrangian function using a quasi-Newton updating method. This is then used to generate a QP subproblem whose solution is used to form a search direction for a line search procedure.
The main idea is the formulation of a quadratic programming (QP) subproblem based on a quadratic approximation of the Lagrangian function (7) where J(p) is the performance function, gi(p) and hi(p) are the i-th inequality and equality constraints.
Therefore, the QP subproblem (8 – 9) is obtained by linearizing the nonlinear constraints, where the matrix Hi=∞▽2L is a positive definite approximation of the Hessian matrix of the Lagrangian function (7). Hi is updated by the Broyden-Fletcher-Goldfarb-Shanno (BFGS) method. Hence, if the search direction di solves the subproblem given in (8 – 9) and di = 0, then the parameter vector p is an optimal solution of the original problem. Otherwise, we set pi+1 = pi + αidi and with this new vector the process is repeated again. The step length parameter αi is determined by an appropriate line search procedure so that a sufficient decrease in the performance index is obtained.
subject to:
4.2 Differential evolution variants
This section describes eight different variants of the differential evolution (DE) algorithm and then provides the details of the proposed hybrid DE variant for solving unconstrained optimization problems.
The DE algorithm is composed by four stages (see Figure 2): initialization, mutation, crossover and selection [12]. The main differences among the DE variants are in the mutation and crossover states (row 6 in Figure 2). The general convention used to name the DE variant is DE/x/y/z. DE means Differential Evolution, x represents the vector to be perturbed, y is the number of difference vectors considered for perturbation of x, and z stands for the type of crossover being used (exponential or binomial). The most common DE variants are DE/rand/1/bin, DE/rand/1/exp, DE/best/1/bin, DE/best/1/exp, DE/current-to-rand/1, DE/current-to-best/1, DE/current-to-rand/1/bin and DE/rand/2/dir.

DE algorithm.
In the initialization stage, the initial population design vector x i j,G = 0 is randomly generated for all population, where G = 0 indicates the initial generation which the vector belongs, i ∈ [1,…,NP] is a population index, j ∈ [1,…,D] is the design parameter index. This stage is shown in (10), where randj(0,1) ∈ [0,1) is a uniformly distributed random number generator and bj,U, bj,L indicate the upper and lower limit for the j-th design parameter. For each initial design vector, its objective function is computed.
Once the initial population vector is initialized, the mutation stage creates a mutant vector

DE variants.
The scale factor F ∈ (0,1) and K ∈ (0,1) in the mutation process, is a positive real number that controls the influence of the selected individuals in order to generate the mutant vector. The indexes r1, r2 and r3 are randomly chosen from the range [1, NP] and the index best represents the individual with the best objective function. Those indexes cannot have the same value.
The crossover probability CR ∈ [0,1] controls the influence of the parent vector in the generation of the offspring (higher values mean less influence of the parent vector, hence higher influence of the mutant vector). It is observed in Figure 3 that the crossover stage does not apply to the current-to-rand/1, current-to-best/1 and rand/2/dir.
Finally, the last stage involves a selection process between the trial vector
4.3 Hybrid DE variant
In our proposal we select four DE variants (rand/1/bin, rand/2/dir, best/1/bin and best/1/exp) to make four hybrid DE algorithms. Those algorithms are named as: Rand/1/bin-Best/1/bin, Best/1/bin-Rand/2/dir, Best/1/bin-Best/1/exp and Rand/2/dir-Best/1/exp. The hybrid variant consists of using two DE variants in each run. The next subsubsection describes the code of the mutation and crossover stages in each hybrid variant and it must be included in line 6 of Figure 2.
4.3.1 Rand/1/bin-Best/1/bin
4.3.2 Best/1/bin-Rand/2/dir
4.3.3 Best/1/bin-Best/1/exp
4.3.4 Rand/2/dir-Best/1/exp
5. Results and discussion
In this work the SQP algorithm and DE variants are programmed in Matlab Release 7.9 on a Windows platform. Computational experiments were performed on a PC with a 1.83GHz Core 2 Duo processor and 2GB of RAM. One hundred independent runs were carried out for the algorithms.
The initial condition for the SQP algorithm is randomly chosen and the stop criterion is when the change in the performance index value in two consecutive iterations is smaller than 1 × 10−10.
Four parameters must be proposed in order to tune the DE variants. In this case, the population size NP consists of 100 individuals. The scaling factor F and the crossover constant CR are proposed as 0.3, 0.6, 0.9. The K value of the current-to-rand/1 current-to-best/1 and current-to-rand/1/bin DE variants is chosen with the same value of the scaling factor F. The stop criterion is applied when the number of generations is fulfilled GMax = 300 or when the error between the mean objective function and the global optimum is smaller then 1 × 10−10.
5.1 Performance of the algorithms
In the Table 1 the performance for 100 independent runs of the SQP algorithm are shown. We realized that the optimization problem (4–5) presents several local solutions. So this optimization problem is multimodal-nonseparable problem.
Performance of the SQP algorithm for 100 independent runs with random initial condition. Jmean: Mean objective function value of individuals of 100 independent runs. Percentage J*: Percentage of runs where the optimal solution is found (at least in one individual of the population). MaxItermean: the mean maximum number of iterations.
The best objective function value found is J* = 7.0380710741. Hence we consider it as the global optimal solution to the problem. It is important to comment that the best objective function value is found once (see column 3 in Table 1). Hence, the mean performance of the SQP algorithm is not adequate because the algorithm presents high sensitivity to the initial condition and the optimization problem is a multimodal-nonseparable one. Nevertheless in a real world complex optimization problems, i.e., problems in which the solution is not known, the designer does not know the appropriate number of runs to find the optimal value (the optimal value may not be found). Hence, the importance of using a DE algorithm.
In Table 2-4, the performances of all DE variants for 100 independent runs are presented. Tests with different scaling factor F and crossover constant CR are performed. Tables 2-4 show the mean objective function value, the mean standard deviation, the mean convergence time, the mean iteration for converging the algorithm and the percentage of runs where the optimal solution (considering J* = 7.0380710741 as the optimal solution) is found. The proposed DE variants are mainly analysed taking into account the best convergence to a solution and the standard deviation of the solution. This is because in the real world design problems are stated as optimization problems and the designer requires the “best” design. In that manner, the DE variants which find the best algorithm function with smaller standard deviation will be the “best” algorithm for the particular design problem. A smaller standard deviation guarantees the individuals (solutions) in the last generation are similar, and that those solutions could reach a “global” solution (a global solution may be not guaranteed because the global solution of the nonlinear optimization problem is not known) or a local solution. In the next results, the algorithms whose value of Jmean ≤ 7.0381 are considered are analysed.
Performance of the DE variants. Jmean: Mean objective function value of individuals of 100 independent runs. σ(Jmean): Mean standard deviation (J* – J) of individuals of 100 independent runs. Percentage J*: Percentage of runs where the optimal solution is found. MaxGenmean: mean maximum generation number of the 100 independent runs.
Performance of the DE variants.
Performance of the DE variants.
The results in Table 2-4 show that the best results with F = 0.3 and CR = 0.3 are provided by “Best/1/bin-Rand/2dir”. It presents a convergence to the optimal solution of 100% in all runs, i.e., all runs found the optimal solution, at least once in the population. In addition, it has the smaller mean of maximum generation number (MaxGenmean) and the convergence time is small. “Rand/2/dir” find local solution due to standard deviation indicates that all individuals of the populations converge to the local solution Jmean = 7.0702. The worst solution is provided by “Current-to-rand/1”.
The best results with F = 0.3 and CR = 0.6 are provided by “Best/1/exp”, “Rand/1/bin-Best/1/bin”, “Best/1/bin-Rand/2/dir”, “Best/1/bin-Best/1/exp” and “Rand/2/dir-Best/1/exp”. It presents a convergence to the optimal solution of 100% in all runs. Those results do not require the maximum generation number to converge to a solution and they provide less convergence time. The standard deviation indicates that “Rand/2/dir” converge to a local solution (Jmean = 7.0643). The worst solution is provided by “Current-to-rand/1”.
The best result with F = 0.3 and CR = 0.9 are provided by “Rand/2/dir-Best/1/exp”. It represents a convergence to the optimal solution of 98% in all runs. The “Best/1/Bin”, “Best/1/Exp” and “Rand/2/Dir” provides local solution (see the standard deviation) in the runs, but the “Best/1/Bin” and the “Best/1/Exp” can reach the optimal solution in some runs. The worst solution is provided by “Current-to-rand/1”.
The best results with F = 0.6 and CR = 0.3 and with F = 0.6 and CR = 0.6 are provided by “Rand/2/dir”. It presents a convergence to the optimal solution of 89% in all runs. It is important to note that the “Current-to-best/1” provides the worst solution in Jmean, nevertheless 92 – 93% of the time it found the optimal solution at least once in the population. Its standard deviation is long and it indicates that the algorithm provides a long diversity in the solution, hence it is not useful in real world problems.
The best results with F = 0.6 and CR = 0.9 are provided by “Best/1/bin”, “Best/1/exp”, “Best/1/bin-Rand/2/dir”, “Best/1/bin-Best/1/exp” and “Rand/2/dir-Best/1/exp”. It presents a convergence to the optimal solution of 100% in all runs. The “Rand/1/Exp” converges to a local solution (see the standard deviation). The worse solution is provided by “Current-to-Best/1”.
The best results with F = 0.9 and CR = 0.3 and with F = 0.9 and CR = 0.6 do not present good solutions. The results with F = 0.9 and CR = 0.9 do not find the optimal value, only “Best/1/Bin”, “Best/1/Exp” and “Best/1/Bin-Best/1/Exp” obtained a closed value to the optimal one.
The results in Table 2–4 show a high sensitivity in the selection of the scaling factor F and the crossover constant CR to get the optimum solution. The empirical results indicate that with F = 0.3 and CR = 0.6 and F = 0.6 and CR = 0.9 the optimal value can be reached in all runs with “Best/1/Exp”, “Best/1/Bin-Rand/2/Dir”, “Best/1/Bin-Best/1/Exp” and “Rand/2/Dir-Best/1/Exp”. A scaling factor of F = 0.9 does not provide good results because it broadens the spectrum of vector differential, such that the optimum solution is not reached in the chosen maximum generation GenMax. In general, the hybrid differential evolution variants provides better results than the DE variants.
The variant “rand/1/bin” is the most useful variant in several real world optimization problems [10],[11]. Nevertheless, the empirical results indicate that this algorithm can only find the global solution at 62% when the scale factor and the crossover probability are chosen as F = 0.3 and CR = 0.9. Moreover the result of the standard deviation shows that the “rand/1/bin” presents a slow convergence to a solution. So, the convergence of the “rand/1/bin” to a solution depends on the selected population number and the maximum number and the maximum generation number.
The main highlights of the results are summarized below:
The optimization problem (4–5) presents several local solutions and it is considered as multimodal-nonseparable problem. The results of the comparison of the DE variants show that the hybrid differential evolution variant are most competitive that the DE variant because they combine the advantage of using two different variants in the runs. Regarding the real word optimization problems, the algorithms that find the best results are “Best/1/Exp”, “Best/1/Bin-Rand/2/Dir”, “Best/1/Bin-Best/1/Exp” and “Rand/2/Dir-Best/1/Exp”, because they provide in all runs the convergence to the optimal solution. In addition, they present a rapid convergence towards a solution without becoming stuck in a local minimum. The rand/1/bin could converge to suboptimal solutions if the generation number is not appropriately selected. The SQP algorithm requires less computational time that the DE variants. Nevertheless, the main drawbacks of using SQP algorithm are the high sensitivity to the initial condition when a nonlinear optimization problem is solved. Besides, the optimization problem must be continuously differentiable twice in order to compute both the gradient vector and the Hessian matrix. In addition, a constraint handling mechanism must be included when constrained optimization problems are solved. The DE variants are easier to implement than the SQP algorithm. In addition, a special constraint handling mechanism for the upper and lower constraint in the design variables is not required because it is included in the original DE algorithm [14]. In real world complex optimization problems the use of a hybrid DE variant to solve them provides more competitive results than a DE variant.
5.2 Optimal design
In Table 5 the performance index of the global and two local solutions (location of the robot wheel) using the SQP algorithm are shown. The optimal design of the location of the robot wheel for those solutions is presented in Figure 4. As stated before, several local solutions exist in the optimization problem (4–5). Nevertheless, in some local solutions the angles δ1, δ2, δ3, are different in spite of having the same performance index. Analysing the results, we realize that there are several angle combinations that result in the same local and global performance function. Two particular local solutions (J = 8.4990685764 and J = 7.1713738830) and the global solution (J* = 7.0380710741) are analysed. The main relation among the designs with the particular performance function of 8.4990685764 is that the angle αi ∀
i
= 1,…3 (see Figure 4c) must have whatever combination of the following angles:
Global and two particular local solutions found by the SQP algorithm. Units in degrees and metres.

Global and local solutions for the optimal location of the omnidirectional robot wheels.
In Figure 5 the computer aided design (CAD) and the real photo of the optimum design for the omnidirectional wheeled mobile robot are shown.

CAD and real photo of the design with optimum dexterity of an omnidirectional wheeled mobile robot.
5.3 Simulation results
The simulation results consist of controlling the dynamics of the omnidirectional mobile robot to follow a desired trajectory considering the three different wheel configurations in Table 5. A proportional derivative (PD) control is used for the simulation results.
A Runge Kutta method is used to solve the nonlinear differential Equation (11). The initial conditions are chosen as wV(t0 = 0) = 0 ∈ R3, x(t0 = 0) = 0, y(t0 = 0) = 0, φ(t0 = 0) = 0 and the integration step of 1ms with final time tf = 120s. The desired trajectories are shown in (12)-(14). The gains of the PD controller and the parameters of the mobile robot are selected as
wV(t0 = 0) = 0 ∈ R3, x(t0 = 0) = 0, y(t0 = 0) = 0, φ(t0 = 0) = 0 and the integration step of 1ms with final time tf = 120s. The desired trajectories are shown in (12)-(14). The gains of the PD controller and the parameters of the mobile robot are selected as kp1 = kp2 = 7, kp3 = 3, kd1 = kd2 = 10, kd3 = 0.5 and Iz = 0.0127Kgm2, m = 11.8316Kg, Ji = 5.82E – 4Kgm2, ri = 0.0625m ∀ i = 1,2,3, respectively.
The trajectory tracking of the mobile robot for the three different wheel location (see Table 5) are shown in Fig. 6. The behaviour of the mobile robot looks similar. For that reason, in Table 6, the sum of the L2 -norm of the position error signals and the sum of the L2-norm of the input signals are presented. It is observed that the mobile robot with the optimum wheel location (J*) can achieve a smaller position error. Hence, good dexterity is an important factor in providing the mobile robot with the ability to move in arbitrary directions with more precision. Considering Eq. (1), if A is well-conditioned, large or small variations in v imply large or small variations in VL.
Sum of the L2-norm of the position error signals and the sum of the L2-norm of the input signals.

Trajectory tracking with different wheel location.
6. Conclusion
In this paper the formulation of the optimal dexterity of an omnidirectional mobile robot is proposed as an optimization problem. The empirical comparison of the SQP algorithm, eight different DE variants and four proposed hybrid DE variants for this particular optimization problem is presented. The obtained results show that the mutation and crossover stages are important factors in the search for the solution in multimodal-nonseparable problems. Then, the proposed hybrid DE variants provide a better mechanism to find the solution. The SQP algorithm presents a high sensitivity to the initial condition. So the performance of the DE variants is more consistent in the search for the optimal solution and they are not sensitive to the initial set of solutions. However, the computational time is higher than those required by the SQP algorithm.
From the engineering design point of view, a hybrid heuristic approach must be considered first and then a gradient approach, in order to finely search in the complete space and hence find the best design.
The condition number is a useful measure to achieve high robot dexterity. High dexterity indicates that linear and angular velocity of the mobile robot increase/decrease with a similar rate as the linear velocity of the wheel.
The control performance of the mobile robot not only depends on the appropriate selection of the controller gains, it depends on the mechanical design aspects such as the robot dexterity.
Footnotes
7. Acknowledgments
This work was supported in part by National Council of Science and Technology (CONACyT) under Grant 182298 and in part by Operation and Development Committee of Academic Activities (COFAA) and Secretariat of Research and Posgrade of the National Polytechnic Institute (SIP-IPN) under Grant 20110165.
