Engineering Software for a Mobile Robot Motion Control System

The paper centres round the problem of the engineering a motion control system for a mobile robot based on the effective selection of software components with respect to the numerical criterion proposed by the authors. The data for the selection process comes out the reproducible experiments with the sets of alternative components in a Gazebo virtual infrastructure simulating the real robot operating conditions. The genetic algorithm is used to reduce the number of experiments with unpromising sets of software components. The methodology proposed by the authors is applied to the real task of engineering a motion control system for a non-anthropomorphic mobile robot. The virtual infrastructure and genetic algorithm parameters are provided as well as the physical model of the robot for that task. To calculate the integral quality criterion proposed in the paper, 4 partial quality criteria were measured in the experiments with different software components. The motion process of the physical robot with the selected software components is shown.


Introduction
The effective choice of components for a motion control system of a mobile robot is becoming an important problem of software engineering as the number of components for popular robotics frameworks is increasing [1]. For example, for the Robotic Operating System (ROS) framework there are now thousands of components available. Some of them provide the similar functionality. The interaction of the components in a software stack may lead to an unexpected behavior [2], for example if one of the components blocks the others from accessing a common resource (database, hardware driver, LAN, etc.). Thus, it is important to choose the software components with respect to the quality of their joint functioning in a stack. When developing a real-time motion control system for a mobile robot it is also important to assess the software components in the conditions most similar to the real robot operating conditions. To ensure that the experimental stand for reproducible experiments should be designed. To guarantee the reproducibility of the experiments and to spare the mechanical parts of a real robot it is appropriate to implement the experimental stand in the virtual infrastructure, simulating the operating conditions of the robot using the simulation software like Gazebo [3]. Evolutionary algorithms [4], above all the genetic algorithm [5]

Formulation of the problem
Let us consider the set of functional features (see table 1) which should be implemented in the motion control system of the robot. For each feature there is a set of alternative software components capable of implementing that feature.   Table 2 shows the partial quality criteria used to estimate the quality of functioning of the robot motion control system.
The virtual infrastructure, simulating the operating conditions of the robot is made up with the Gazebo robotics simulator. The configuration of the virtual infrastructure is presented in table 3. Surface contact ode max_vel 10 6 Surface contact ode min_depth 0.001 7 Collision geometry sphere radius 0.5 8 Surface contact ode kp 1e15 9 Surface contact ode kd 1e13 The task is to choose the stack * , s satisfying the following condition:

Methodology
To organize a reproducible experiment for evaluation the quality of functioning, a physical model of the robot [6,7] was assembled (see figure 2) and an experimental stand in the virtual infrastructure was created.

Solution
Using ga toolkit from the Global Optimization Toolbox of the Matlab R2018a the choice of software components minimizing the integral criterion (1) was made. The graph of evolutionary selection is shown in the figure 4. The motion of the robot is depicted in the figure 5. It should be noted that a small "oscillation" in the evolutionary selection graph is explained by the unavoidable measurement noise. However, the genotype of the best solution from generation to generation begins to prevail more and more in the population (this is seen by the decrease in the average value of Ψ) and the identification of the best solution occurs because the number of experiments falling on the best genotype is increasing, which eliminates random factors in assessing this genotype.

Concluding remarks
The results of the practical implementation of the methodology for the experimental selection of software components demonstrate the applicability and the effectiveness of the proposed approach in engineering software for motion control systems of mobile robots. Further research will be aimed at improving the methodology in terms of increasing the convergence rate of the evolutionary algorithm and considering larger sets of partial quality criteria.