Trajectory Tracking Controller of Mobile Robot under Time Variation Parameters based on Neural Networks and Stochastic Fractal Algorithm

This study suggests an adaptive Artificial Neural Network (ANN) controller that based on Stochastic Fractal Search algorithm (SFS), the purpose of the Adaptive Neural Controller (ANC) is to track a proposed velocities and path trajectory with the minimum required error, in the presence of mobile robot parameters time variation and dynamical system model uncertainties. The proposed ANC will consist of two sub-neural controllers; the Kinematic Neural feedback Controller (KNC) and the Dynamic Neural feedback Controller (DNC). The external feedback kinematic neural controller is responsible for generating velocity tracking signals that track the mobile robot linear and angular velocities depending on the robot posture error and the desired velocities, while the internal dynamic neural controller is used to enhance the mobile robot against parameters uncertainty, parameters time variation and disturbance noise. The stochastic fractal search algorithm is a Metaheuristic Optimization Algorithm (MOA) that has been used to optimize the Neural Networks (NNs) weight connections to has the behavior of an adaptive nonlinear trajectory tracking controller of a differential drive wheeled mobile robot. The proposed controller has the capability to prepare an appropriate dynamic control left and right torque signals to drive various mobile robot platforms using the same offline optimized weight connections. Metaheuristic optimization algorithms have been used due to theirs unique characteristics especially theirs free of derivative, ability to optimize discretely and continuous nonlinear functions and their ability to get rid of local minimum solution trapping.


INTRODUCTION
Since the first launch of the Artificial Neural Networks (ANNs) and they have been used in many life fields and applications such as; image and signal processing (Lee and Kipke, 2006), systems identification (Kim et al., 1994), robotic control (De Sousa Junior and Hemerly, 2000), classification and clustering of data pattern sets.The ANNs have the ability to approximate any nonlinear model by using parallel computation techniques (Hines, 1996).One of the major topics related to the ANNs theory is the learning process of the Neural Networks (NNs).Many algorithms have been used for the learning purpose, one of the most famous and well-known algorithms is the error back propagation algorithm, which has been extensively used for the NNs learning purpose.However, this algorithm appears to be suffering from several problems such as easy being trapped into local minimum solution and its low convergence speed (Gori and Tesi, 1992).Many papers have been made to develop the performance of the back propagation algorithm, while other have just left this concept and migrate to other types of algorithms that called Metaheuristic Optimization Algorithms (MOA) (Siddique and Tokhi, 2001;Rakitianskaia and Engelbrecht, 2009;Bai and Xiong, 2009) especially in the training phase of the NNs.
The neural based controllers of the robotic systems have been gained a great significance in the few recent years.These networks were recommended for their learning ability, intelligent, adaptive behavior and their high performance.An intelligent Mobile Robots (MRs) have become an exciting choice for many scientific types of research and industrial applications.Therefore, a lot of care have been spent to enhance and introduce new controllers, especially in the adaptive field and artificial intelligence.
This study suggests an Adaptive Neural Controller (ANC), that's trained offline using a MOA, called Stochastic Fractal Search algorithm (SFS) (Salimi, 2015) that is motivated by the development of regular phenomenon, inspired from the fractal mathematical idea and from the diffusion feature that seen often in random.The used controller tracks the desired trajectory of a differential drive mobile robot.This controller will be applied to the wheeled mobile robotin the presence of parameters time variation and uncertainties using the same fixed trained weight.

MATERIALS AND METHODS
Adaptive neural controller has been proposed by this study to track a desired designed trajectory, in which the NN has been trained using a recently proposed MOA called SFS algorithm due to its free derivative, faster convergence and ability to escape local minima solution.The proposed controller has the ability to track the trajectory in the presence of noise and parameters time variation also it could be applied to multiple mobile robot platforms with the same fixed optimized weights.
Stochastic Fractal Search (SFS) algorithm: Is a population-based metaheuristic algorithm motivated from the development of regular phenomenon, that uses fractal mathematical concept and the diffusion feature that seen regularly in random.SFS algorithm uses two chief procedures for problem optimization which are: Diffusing and the appraising processes.The diffusing process is in charge for exploitation feature that raises the chance of an agent to catch the global minimum solution and also prevent an agent from being stacked into a locallyoptimal solution.A statically diffusion process is considered, which means that the best agent of the diffusing process is the only agent that will be taken into concern, while other agents are rejected.On the other hand, The appraising process is random approaches that lead to an exploration feature.The Gaussian walks in the diffusion process have been shown by: where, ܽ ଵ and ܽ ଶ = Two random numbers ∈ [0,1] ‫‬ = The best solutionagent ‫‬ = Anagent in the population ‫,݊݉(ܩ‬ ߜ) = The Gaussian distribution function with mean (mn) and standard deviations (ߜ).
݉݊ , ݉݊ are equal to ‫‬ and ‫‬ respectively, k is the iteration number, is used to reduce Gaussian jumps size.When all points are randomly initialized, each agent fitness is calculated and the best-obtained agent ‫(‬ ) is evaluated.For the purpose of the search space exploitation in the diffusion process, all agents in the population most move around their current location.
Two statistical procedures expected to increase the exploration of the search space; the first procedure acts on each different vector index; while the second procedure applied to all agents.During the first statistical procedure, all agents are ranked with respect to the fitness of the agents, then these agents will be given a probability value that follows a simple distribution as shown in Eq. ( 4): Equation ( 4) shows that the better point has the better probability.Where popsize is the population size of the algorithm.Therefore, it is used to raise the chance of varying the position of agents which have got a bad fitness solution.The l th component of ‫‬ agent, is updated according to Eq. ( 5) if the following condition ‫‬ < ܽ is true, where a is a random number ∈ [0, 1], else it remains unchanged: where, ‫‬ ௦ and ‫‬ ௨ are two random agents in the population.
In the second statistical procedure, all agents obtained from (5) will be ranked as in (4), if the condition ‫‬ < ܽis true again but for ‫‬ ାଵ , the recent ‫‬ ାଵ is updated based on Eq. ( 6) and ( 7), otherwise no change occurs: where, ‫‬ ௦ ାଵ and ‫‬ ௨ ାଵ are two random agents selected from the first statistical procedure and ߟ is a random number formed by Gaussian distribution.‫‬ ାଵ will be changed by agent ‫‬ if it has better solution fitness (Salimi, 2015).Table 1 will show the general SFS pseudo code.

SFS Optimizing NN weights:
As we have seen in the last section, SFS algorithm has madea random population of agents in the search space as the first step toward optimization.The agents, in general, ∈ ܴ ௦௭ * ௗ .The role of SFS algorithm is firstly; To bound and check the candidate solutions in the population, then update the solutions in an iteration process to get the best fitness solution.However, for supervised training NNs the objective function is the Mean Square Error (MSE) function, so that when the weights of the network is fully optimized we will get very minimum or zero MSE.
In order to make the SFS algorithm as a supervised NN learning algorithm, we have considered that the input and hidden layers weights of the NNs are the agent vector in the population, where each agent InitializeSFS algorithm random population and parameters.2: While not (best solution is foundor maximum number of iteration reached) 3: Fori=1 : popsize 4: For m = 1 to maximum diffusion number 5: Create a new agent based oneq.( 1) and ( 2).6: End 7: End 8: Use eq. ( 4) to rank population agents 9: For i=1:popsize 10: For each l in ‫‬ 11: If ‫‬ < ܽ for ‫‬ then 12: Use (5) to modify l th agent 13: Else 14: Keep ‫‬ unchanged 15: End if 16: End 17: Use (4) to rank agents of thepopulation.18: For each ‫‬ ାଵ in the population 19: If ‫‬ < ܽ for ‫‬ ାଵ then 20: Modify ‫‬ ାଵ according to ( 6) and ( 7  Figure 1 shows a general differential drive wheeled MR geometrical structure, in which the point B represents the central point between the driver wheels, b is the straight distance between the center of gravity A and the wheel axis.The MR position will be described by ρ = [X, Y, ߴ] T , where X and Y are the axis of point A. ߴ is the mobile robot steering rotation angle.The MR kinematic model is given by Eq. (8-10): where, ߔ=[ߔ r , ߔ l ] T , are the right and left wheels angular velocities: where, ߉ = [ v, w] T , are the linear and angular velocities of the wheeled MR.Substituting Eq. ( 9) and ( 10) in ( 8) we obtain the kinematic system model equations of the differential drive robot in terms of linear and angular velocities as shown in Eq. ( 11): For non-slipping and pure rolling condition the non-holonomic constraint will be shown in Eq. ( 12) (Fierro and Lewis, 1998): Let m be the mass of the robot platform, m m the mass of the wheel and motor, I the moment of inertia of the robot platform about the perpendicular axis over B, I m the wheel and motor moment of inertia around the wheel axis and I i is the wheel and motor moment of inertia around the wheel diameter.The dynamic robot model is represented by Eq. (13-18) as follow: where, ߬ = [߬ r , ߬ l ] stand for the right and left torques applied on the wheels, while M, N, B are represented by: where I t , m t represent the total moment of inertia and the total mobile robot mass shown in Eq. (17 and 18).

THE PROPOSED ANC
This study trying to develop a trajectory tracking controller based on NNs that has been optimized using SFS algorithm for the differential drive MR of the Fig. 1.We have assumed that there is uncertainty in the dynamic system model.Furthermore, distance b, platform mass m, wheel radius r and the platform width p l are all varying with time.After we have finished the NN training phase, we assumed the controller will be tough against parameters variation and will track the proposed trajectory at the dynamical and kinematic controller levels.
If we suppose that there is a predefined desired trajectory given by Eq. ( 19): where, The error between the desired and actual pose in the local robot frame are given by: The control inputs VandW which make E 1 , E 2 , E 3 converge to zero are given by Eq. ( 21) (Kolmanovsky and McClamroch, 1995): where, k x , k y , kߴ> 0, represent positive constants.
The DNC is designed to learn the collected input/output data from the dynamic model system Eq.(13-18) and learns the torque signals which will transfer the MR from velocity at time (t) to upcoming (t+1) velocity.The DNC offers, after a good training, an adaptive performance with fixed trained weight connections.However, we have to train the DNC for all possible parameters variation combinations of the dynamical model, especially the values b, m, p l and r.The robot nominal values are proposed as follow; r = 0.033 m, m = 0.575 kg, p l = 0.15 m, b = 0.04 m.While for the training of the DNC purpose, we have assumed that m varied between the values [0.45, 1.2] kg, the distance b is varied in the interval of [0.03, 0.1] m, p l varied in between [0.12, 0.2] m, r will be varied between [0.03, 0.07] m.The training torques input data sets are proposed randomly uniformly distributed in between [-0.01, 0.01] N.m.On the other hand, the KNC is proposed to learn the behavior of the back stepping feedback controller system Eq.( 21) and to raise its robustness against disturbance position data.For the purpose of training the KNC, A random trajectory ρ r was created and a noisy data having zero mean and 0.01 variation level Gaussian distributed was added to the training data.The training input data of the KNC were the randomly created trajectory reference velocities and the error between the random trajectory and the kinematic model trajectory output plus the noisy Gaussian distributed data.Figure 3 shows the KNC training phase block diagram.
We have generated 10,000 samples data sets, these patterns data sets are divided into two sub-data; 5000 The overall ANC structure is shown in Fig. 4, where it commonly consists of two feedback control loops; external feedback KNC controller to generate the control velocity signals, that will track the desired trajectories, while the second loop is the internal control loop that will represent the DNC feedback loop that is designed to improve the controller robustness against parameters uncertainty and time variations.
For the purpose of checking the wheeled MR tracking performance, we have assumed that the mobile robot parameters are changing randomly as shown in the Table 2.
The MSE of the MR position and velocities are evaluated by Eq. ( 20) and ( 21 The overall ANC structure is shown in Fig. 4, of two feedback control loops; external feedback KNC controller to generate the control velocity signals, that will track the desired trajectories, while the second loop is the internal control loop that will represent the DNC feedback loop that is ed to improve the controller robustness against parameters uncertainty and time variations.
For the purpose of checking the wheeled MR tracking performance, we have assumed that the mobile robot parameters are changing randomly as shown in MSE of the MR position and velocities are  The desired velocities generated for the path tracking are shown in the Table 3.
The desired posture will be found integrating Eq. ( 19).

RESULTS AND DISCUSSION
The SFS algorithm first training epoch for KNC and DNC are shown in Fig. 5 and 6.
After 10 training epochs without overfitting KNC we have recorded maximum MSE of 0.00019 for the linear velocity while 0.40611 for the angular velocity, the average angular and linear was 0.2031 which is relatively high MSE, due to the large set of training input sets, the average testing MSE was 0.203.For the second DNC network, we have recorded 2.31e-10 MSE for the left torque signal and 2.09e-10 for the right torque signal, the average MSE of both torques was equal 2.2e-10 with testing average MSE of 2.174e-10.This very low value actually is due   7 and 8 show the position and velocity MSE, from these figures we notice that the controller succeeded in tracking the MR under fixed nominal parameters values and with dynamic parameters time variation.The ANC performance generally doesn't affected by the parameters variation even when some parameters have been increased by more than 400%.Therefore this controller has shown a great performance against parameters variation with only 8 hidden neurons for both KNC and DNC and without any over fitting during data training process using the SFS algorithm due to the used techniques to observe the training and testing data at the same time.Since the training was offline and have been carried only once (10 epochs), we haven't need mo therefore, we haven't take the SFS processing time into consideration.Bai, K. and J. Xiong, 2009 Appl.Sci. Eng. Technol., 13(11): 871-878, 2016 878 possible performance.Figure 7 and 8 show the position and velocity MSE, from these figures we notice that the controller succeeded in tracking the MR under fixed nominal parameters values and with dynamic parameters time variation.The ANC performance erally doesn't affected by the parameters variation even when some parameters have been increased by more than 400%.Therefore this controller has shown a great performance against parameters variation with only 8 hidden neurons for both KNC and DNC and thout any over fitting during data training process using the SFS algorithm due to the used techniques to observe the training and testing data at the same time.Since the training was offline and have been carried only once (10 epochs), we haven't need more training therefore, we haven't take the SFS processing time into

Fig. 1 :
Fig.1: Differential drive wheeled MR geometrical structure signifies a candidate weight solution, the purpose of this agent weights vector is to minimize the objective MSE function of the NN.The weights will be bounded between the minimum and maximum search space values.The iteration process will last for a number of epochs (cycle) where each epoch represents a number of iteration process, the original weights will be initialized randomly in the first epoch, while in the next epoch the weights will be the best-obtained agent weights obtained from the last epoch.For stopping iteration criteria, we have put three conditions; if an agent converged to the best solution, or if an over fitting occurred during iteration, or if the maximum number of epochs are reached.Differential drive wheeled MR modeling:For the kinematic and dynamic MR modeling, we have supposed the model proposed byFukao et al. (2000).

Fig
Fig. 2: The DNC training phase

Figure 2
will show the DNC training phase block diagram.

Fig. 3 :
Fig. 3: The KNC training phase ): s the whole iteration If the algorithm finished an epoch without over fitting the next epoch will continue from the last valid epoch and the network weights will be the last known valid weights.

Table 2 :
Dynamic parameters time variations . A method of improved BP neural algorithm based on simulated algorithm.Proceeding of the 3rd International Conference on Genetic and Evolutionary Computing (WGEC '09).Guilin, pp: 765 De Sousa Junior, C. and E.M. Hemerly, 2000.Neural network-based controllers for mobile robot.Proceeding of the 6th Brazilian Symposium on Neural Networks.Rio de Janeiro, pp: 50 Fierro, R. and F.L. Lewis, 1998.Control of a nonholonomic mobile robot using neural networks.IEEE T. Neural Networ., 9(4): 589 Fukao, T., H. Nakagawa and N. Adachi, 2000.Adaptive tracking control of a nonholonomic mobile robot.IEEE T. Robotic.Autom.609-615.