A simulation and experimental study on wheeled mobile robot path control in road roundabout environment

A robust control algorithm for tracking a wheeled mobile robot navigating in a pre-planned path while passing through the road’s roundabout environment is presented in this article. The proposed control algorithm is derived from both the kinematic and dynamic modelling of a non-holonomic wheeled mobile robot that is driven by a differential drive system. The road’s roundabout is represented in a grid map and the path of the mobile robot is determined using a novel approach, the so-called laser simulator technique within the roundabout environment according to the respective road rules. The main control scheme is experimented in both simulation and experimental study using the resolved-acceleration control and active force control strategy to enable the robot to strictly follow the predefined path in the presence of disturbances. A fusion of the resolved-acceleration control–active force control controller with Kalman Filter has been used empirically in real time to control the wheeled mobile robot in the road’s roundabout setting with the specific purpose of eliminating the noises. Both the simulation and the experimental results show the capability of the proposed controller to track the robot in the predefined path robustly and cancel the effect of the disturbances.


Introduction
Nowadays, mobile robots are a common feature in many applications that involve hazardous, complex, high accurate or heavy-duty tasks in various fields such as aerospace, underwater, military, medicine, inspection and mining.Usually, the robot is expected to navigate autonomously in either structured or non-structured environments, with both needing a robust control scheme to determine its path within the terrain and avoid obstacles.
In some conditions, such as road environments, it is imperative to control the robot robustly in the planned path to avoid crashing into cars or people.Different methods and techniques have been investigated to solve the problems of mobile robot motion control; some of them depend solely on the kinematics of the mobile robot; others on the dynamics only or a combination of both.
A wheeled mobile robot (WMR) control system with a dynamics feed-forward compensation is used for servo control of an autonomous mobile robot adaptive to variations of movements using the recursive least square method for online parameters estimator. 1uzzy logic (FL) controller with a reference speed derived from the curvature of the trajectory that is detected by camera and image processing software is used to control the mobile robot. 2 FL controller is preferred due to some favourable properties such as having excellent potentials in handling non-linear system and producing a fast dynamic response, which often resulted in an accurate dynamic model of system. 3 In another study, FL controller is implemented for controlling a WMR motion in unstructured environments with obstacles and slopes. 4An adaptive method using a kinematic and torque controller based on FL reasoning is used for intelligent control of an autonomous mobile robot. 5eural network (NN) controller is utilized for controlling the motion of a mobile robot through a three-layered architecture to define the relationship between the linear velocities and the error positions of the mobile robot. 6 cross-coupling method is used in a differential drive system for controlling the velocity of both motors, in which the control loop of each motor uses the position error of the other one. 7A stable tracking control system 8 is used for adjusting the linear and rotational velocities of mobile robot using a Lyapunov function, which depends on linearizing the kinematic model with feedback control.An approach based on feedback sliding mode control is used for stabilizing of non-holonomic mobile robot. 9In another work, the sliding-mode control method is utilized for stabilization and tracking of non-holonomic mobile robots using kinematics in polar coordinates. 10The backstepping control approach with the integration of kinematic and torque controllers has been implemented for controlling the non-holonomic mobile robots. 11An adaptive extension of the back-stepping controller is used for nonholonomic mobile robot control, in which, the tracking controller for the dynamics of the system can be investigated by applying the adaptive back-stepping algorithm with the existence of an adaptive controller based on the kinematics. 12 tracking control system with time-varying feedback based on back-stepping is employed for the tracking control of a mobile robot. 13In this method, a combination of the kinematic and simplified dynamic model in a 2-degreeof-freedom mobile robot is used to find the local and global tracking parameters.A non-linear modelling and control of the mobile robot has been implemented using an adaptive method with NN to improve the associative searching element. 14This controller is derived from the Lyapunov stability theory and can guarantee tracking performance and stability with small errors.
A novel robust control approach-based voltage control strategy has been developed by Fateh and Arab. 15In this work, the robot dynamics and state space model of the electrical voltage are used to build a complete control model for driving the non-holonomic WMR.][22] Luy has proposed an optimal algorithm to solve the problem of unknown or uncalibrated disturbances for nonholonomic mobile multirobot (NMMR) using an omnidirectional vision sensor. 23The optimal tracking using both the system kinematics and dynamics has been initially transformed into equivalent optimal control for disturbance rejection.The differential game theory is integrated into the Hamilton-Jacobi-Isaac equations to stabilize the closedloop system.Another adaptive optimal algorithm has been proposed for solving the dynamic equations for a WMR incorporating an omnidirectional vision system. 24he controller depends on the integration of its kinematics and dynamics while passing on the feedback of the dynamic system as tracking errors.A robust adaptive dynamic programming algorithm control approach based on NN has been used to solve the problem of a two player with zero-sum game, which in turn help to estimate the solution of Hamilton-Jacobi-Isaacs equation without any prior knowledge of the dynamic system.
A kinematic and dynamic control system based on reinforcement learning has been employed for controlling a WMR. 25 Using a single NN layer, a tuning law with Hamilton-Jacobi-Isaacs equation is adopted to estimate the optimal tracking path (H 1 ) and guarantee the stability of the control system in real time.
A computed torque controller combined with a novel model state observer control is used for path tracking control of a robotic manipulator. 26To get a precise dynamic model and eliminate the effect of noises, model-assisted extended state observer has been used to eliminate the structured/unstructured noises and enhance the computed torque control performance.The observer is able to estimate the uncertainties in the dynamic system and enables to compensate the disturbances online that subsequently leads to a robust trajectory tracking control of the robotic manipulator with high disturbance rejection capability.Another trajectory tracking robotic system using computed torque control scheme with dynamic modelling is used to control a WMR manipulator in the task space. 27Using a well-known model of a computed torque control, it has been proved that the stability of the system is guaranteed and the convergence of tracking errors has been reached.
In this article, a new robust controller called Kalman Filter (KF)-resolved-acceleration control (RAC)-AFC has been introduced to control a mobile robot in a roundabout environment.Actually, the control of a mobile robot in a relatively complex environment such as a road roundabout setting during a path execution is still regarded as a challenging problem in mobile robot research, because it needs to maintain the tracking errors at near-zero level. 28hus, there is a need for a robust controller to guarantee such small tracking errors along the movement.AFC has been used widely for controlling the dynamics of the robot and rejecting the disturbances, but it trends to an overshoot of tracking errors at the beginning of movement and when there is a sudden change in the path as shown in Figure 5(d) and (e) and Figure 7(b) and (c).The RAC kinematic controller on other hand, when combined with AFC, can enhance the performance of controller at the beginning and sudden changes of the robot movement as shown in Figure 5(d) and (e) and Figure 7(b) and (c).However, in the realtime control system, the sensors' measurements used in the feedbacks of WMR kinematics and dynamics are subjected to uncertainties and noises, which have to be eliminated using KF in the proposed controller.Therefore, the proposed control scheme consists of three feedback loops, that is, the external and internal loops.The former consists of two loops and is utilized for controlling the kinematic parameters using the RAC and the latter is for controlling the dynamic parameters and compensating the disturbances through the AFC controller.In other words, the contribution of this article can be summarized as follows: (i) The movement of the robot in a road roundabout environment with its entrances and exits are investigated and controlled well in real-time as one of the first works involving such surroundings and settings.Because of some limitations related to safety and accuracy issues such as inability to clearly identify or recognize a roundabout in some locations using GPS, the signal losses in GPS and problems in interpreting the sudden changes in the road environment, it may cause unwarranted harm and damage to pedestrians and road curbs.Thus, it is often necessary to use on-board sensors with a robust control system for real-time detection and decision-making in a roundabout environment.(ii) A new control strategy that integrates the RAC and AFC approaches employing the use of FL and KF in real time is applied to robustly navigate the path in the roundabout environment as one of the pioneering works that involves the integration of such algorithms.Since the roundabout area is a relatively challenging path to navigate considering various factors and uncertainties, it demands a high degree of tracking accuracy from the control system.By incorporating the RAC strategy for controlling the kinematics of robot and AFC for the dynamics, all comprising three control loops, a zero tracking error is a strong possibility.Since, most of the sensors contain some level of noises, KF has been included in the control system to eliminate these noises and uncertainties in the reference trajectory of the control system prior to reaching the control loops.The stability of the new controller scheme has been proved using Lyapunov function to find its convergence and boundedness.

Modelling the non-holonomic WMR
The robot is supposed to move on a flat plane where the motion can be described in x and y directions using three wheels: two differential wheels and castor as shown in Figure 1.The movement is generated by two motors, which are switching the right and left wheels through the angular velocities, q _ r and q _ l , respectively.The heading direction determines the rotation of mobile robot in counter clockwise as shown in Figure 1.The robot motion can be described in two coordinate systems, namely the global coordinate system (X, Y, ) axis and local coordinate system (W, V) as shown in Figure 1.In the global coordinate system, the motion can be obtained in three axes, q ¼ [x, y, ] T as in Figure 1, whereas the local coordinate system has only two axes, w and v.The centre of the non-holonomic mobile robot has some constraints in its movements, since the wheels are assumed to move with pure rolling and without slipping on the ground, and it can move only in the normal axis of the driving wheels (no sideway movements).These constraints can be written as in equation ( 1) In equation (1) and Figure 1, L represents the length of the robot; 2b is the distance between the two wheels; r is the radius of the driving wheels (both wheels are with same radius); d is the displacement between the driving wheel shaft and the mass centre c of the mobile robot.

Mobile robot kinematics
The mobile robot is driven by two differential wheels with a rear castor wheel as shown in Figure 1.The linear right and left wheels velocities are expressed as where q _ r and q _ l are the angular velocities in the right and left wheels, respectively.The average linear velocity of the WMR is The heading angular velocity of the WMR is then equal to the difference between the angular velocities of the right and left wheels, which is The velocity of the robot in a global coordinate system can be described relatively to the local coordinate system as in equation ( 5) By substituting equations ( 3) and (4) into equation ( 5), the velocity of the mobile robot can be written in terms of the angular velocities, _ q r and _ q l as in equation (6).
The current position of the robot is thus given by equation ( 7) where X n , Y n , ' n are the current positions of the WMR, X nÀ1 , Y nÀ1 , ' nÀ1 are the previous positions of the WMR and rT is the sampling time of the measurements.

Mobile robot dynamics
The dynamic equations of the mobile robot can be determined using Newton's law or Euler-Lagrange formulation.
In this research, the Lagrange equation was used to derive the dynamic equations of the robot as in equation ( 8) where K is the summation of the kinetic and potential energies.
The potential energy in this project can be neglected since the height of robot from the ground very low.q is the coordinate system, t is the exerted torque on the robot, A T (q) is the constraints of robot movement.The kinetic energy of the body of the WMR can be written as in equation ( 9) The kinetic energy of the right wheel can be written as in equation (10).
And the kinetic energy of the left wheel can be written as in equation (11).
By deriving the kinetic energy of the body, left and right wheels as in equations ( 9) to ( 11), the Lagrange equation can be written as in equation ( 12) where  where A T (q) is the transpose of the constraints equation A(q) as in equation (1).The other parameters are defined as follows: m: total mass of WMR ¼ m c þ 2 m w ; m c : the mass of the platform without the driving wheels and DC motors; m w : the mass of the driving wheels and the DC motors; I: total moment of inertia of mobile robot.
I c : the moment of inertia of the body of robot without the driving wheels and the motors about axis passed through P; I !: the moment of inertia of each wheel and the motor rotor about the wheel axis; I m : the moment of inertia of each wheel and the motor rotor about the wheel diameter; t r : the torque exerted on wheel axis by right motor; t l : the torque exerted on wheel axis by left motor and; l: the Lagrange multiplier coeficient.

Controller design
The path of the mobile robot is controlled using resolvedacceleration control (RAC), AFC and RAC-AFC-KF strategy.In RAC-AFC-KF, there are two feedback loops in the control scheme, the so-called external and internal loop as in Figure 2; the external loop is used for controlling the kinematic parameters by the RAC, and the internal loop is used for controlling the dynamics of robot through the AFC controller.KF is used to eliminate the noises and uncertainties from the measurements.

RAC control strategy
This controller is working based on minimizing of the position and orientation errors to zero, which needs to apply suitable torque or forces to the system using the following equation where K 1 , K 2 are scalar constants related to the input torque of the system.X act and X ref are the actual and reference trajectories, respectively.

AFC control strategy
AFC controller is the inner loop of the proposed controller, and it is mainly dependent on the angular acceleration feedbacks of the of wheel motors.
In the real-world environment, AFC controller can be described as the torque signal applied to actuators that drive the wheels based on the measured angular acceleration of the wheels via the sensors.The product of the measured acceleration with the estimated inertial matrix (IN) signal was compared with the applied torque (t) as in equation (14).By estimating the inertia matrix using suitable technique, the controller can compensate effectively the effect of the disturbances.In simulation, the measurements are assumed to be ideal (perfect modelling).The equation that is used to estimate the disturbances can be written as in equation ( 14) where t Ã d is the estimated torque disturbance effected on the wheels.t is the actuated torque that can be calculated in the case of a DC torque motor using the equation: t ¼ K t I where K t is the torque constant of the DC motor, I is the armature current and IN is the estimated inertia matrix, which has to be estimated well during the robot movement.

Estimation of inertial matrix
The estimation of the inertia matrix is necessary to compute the actual torque of the WMR from the disturbance torque obtained using equation (15) for the AFC control action.The moment of inertia must be appropriately estimated.As a rule of the thumb, the initial values of the elements in IN are assumed to be the values of M(q) computed by the dynamic model or lie within a suitable range 18 as in equation (15)   0:4 MðqÞ < IN < 1:4 MðqÞ ð 15Þ There are many methods that can be used to calculate the inertia matrix during the robot movement such as crude approximation 14,16 and artificial intelligence (AI) approaches, e.g.NN, 18 iterative learning, 19 knowledgebased 21 and FL. 22Since the inertia matrix typically has a known range as expressed in equation ( 16), it is sometimes preferred to use the FL controller.In addition, is the only variable in M(q) that is instrumental for the inertia matrix estimation.Thus, was chosen as the input set of the FL system while IN for both the right and the left wheels of the WMR were assigned as the outputs.As a result, we have only three variables as the input and output of the FL which can be adjusted.More variables will lead to complex fuzzy system while less sets leads to inaccurate FL modelling.The FL system then calculates the estimated IN necessary for the computation of the actual torque of the AFC controller for a given set of inputs.FL methodology passes through the following steps: Fuzzification: In this process the crisp values is transformed into fuzzy values through finding the linguistic variables of the fuzzy set and determining the suitable membership function to arrange the relation between these variables.Thus, the mass matrix, M(q) in equation (12), can vary accordingly to the changes in sin () and cos(), we chose as the input to FL, which was fuzzified into the following linguistic terms: ¼ [Very Low, Low, Medium, High, Very High] Figure 3. shows the membership functions of the input and output sets.
The output of the FL is fuzzified into the following linguistic variables: INR/INL ¼ fVery Small, Small, Medium, Large, Very Largeg It was found after some trials that the triangular shapes of the membership functions are suitable for calculating the value of the inertia matrix.
Rule Interface: It is used to define the relationship between the crisp input and output through the linguistic expressions (if-then statements) based on two approaches, namely, Sugeno or Mamdani.In this simulation, the fuzzy interface system is using the Mamdani type as follows: 1.
Defuzzification: All fuzzy outputs are aggregated using the centroid weighted method and the fuzzy output is transformed into a crisp output.In this simulation, the centroid method is used for defuzzification using equation ( 16)

Stability analysis of RAC-AFC
According to the Lagrange equation, the torque of dynamic system is given by equation ( 12).
The dynamic system with the closed-loop feedback compensation as shown in Figure 2 can be calculated by equation ( 17) With equality of torque of robot as in equation ( 12) with the estimation torque using equation ( 17), one will get By simplifying equation (18), one can get Lemma.Let V(t) is the Lyapunov function of the continuous-time control system.If V(t) is satisfying the differential inequality as in equation ( 20) where a is a positive constant.gðtÞ is a function based on time which has positive values when t>0 and can achieve the condition lim t!1 gðtÞ ¼ C, this will guarantee that the closed loop will reach the global uniform ultimate boundedness for any value of t.
Theorem.The mobile robot control based on equation (7)  with noises is considered.If _ e t is bounded, then the controller that was derived based on RAC and AFC, with equations ( 14) and ( 15), respectively, could guarantee to reach the global uniform ultimate boundedness of the closed-loop scheme with exponential-convergence-rate.
In RAC-AFC controllers as shown in Figure 2, we have three loops of errors; first loop with K p has an error equal to e q .The errors in the second loop with K d and third loop with AFC can be calculated as equations ( 21) and (22), respectively The structure of KF-RAC-AFC feedback loops allows to eliminate robustly the effects of errors, in which the inner loops are compensating the errors very fast, with 10 times or higher than the outer loops. 29Thus one can write je q j ) j_ e q j ) je t j If we consider that k 1 , k 2 and k 3 are larger than identity matrix, and k 3 is larger than k 2 as mentioned previously, the plus/minus sign of e q term will play the most significant role to determine the signs of x and y errors as in equations ( 21) and (22).As a result of that, the x and y errors will accordingly get the same sign either þ or -along the controller operation time.
By deriving error x By substituting the value of € e q from equation ( 19) By substituting the value of e t from equation ( 22) By collecting the identical parts By substituting the value of _ e q from equation ( 21) By deriving error y By substituting the value of € e q from equation ( 19) By substituting the value of _ e q from equation ( 21) By substituting the value of e t from equation ( 22) The quadratic Lyanupov function can be defined as follows where x and y have the same þ/À sign as have been explained previously.Equation ( 25) can be written in the matrix form as follows Equation ( 26) can be written in the matrix form as follows V ðq; _ qÞ À y À k 9 x À k 10 e q ¼ e T q x À e T q k 1 e q þ x T MðqÞ À1 V ðq; _ qÞ À x T MðqÞ À1 y If _ e t is changing with a constant rate and fixed sampling time in the whole experiment, this will bound _ e t as follows where d is the first derivative of the torque error.
If M(q) or IN is bounded in a FL system as in equation ( 15), and _ ' 2 in V ðq; _ qÞ is also changed with a constant rate ð _ ' ¼ constantÞ, this will cause the ratio MðqÞ À1 V ðq; _ qÞ is also bounded too.
The derivation of Lyapunov function as in equation ( 26) can then be written as where a is the minimum factors of x, y and xy.
According to the above-mentioned Lemma, the closedloop control system is guaranteed to reach the global uniform ultimate boundedness with exponentialconvergence-rate of V specified by a:

Path control simulation
The simulation is accomplished considering a roundabout setting in MATLAB [R2016a] computing environment, where the robot is navigating autonomously from starting to goal positions.The RAC-AFC control scheme has been applied to enable the robot to track the planned path with small tracking errors.

Mobile robot path planning
With the novel path planning algorithm, the so-called laser simulator graph search approach, 28,30,31,32 the collisionfree path is determined in a roundabout environment.The start and goal points of the path are pre-chosen by the user to drive the robot in a roundabout with 360 rotation while avoiding the obstacles as shown in Figure 4.

Robot path control
The simulation for the predefined path as shown in Figure 4 Controller parameters: N/A (obtained from datasheet for the DC motor) Several disturbances with constant and harmonic torques were applied at both left and right wheels of the robot to test the performance of the control system.Three types of controllers were used in the simulation work, namely, the RAC-based kinematic controller, AFC-based dynamic controller and RAC-AFC controller, which were subsequently compared using a referenced trajectory.
Figure 5 shows the actual trajectory of all the controllers without disturbance during the robot tracking along the predefined path as depicted in Figure 4. RAC presents the reckoning errors that are incrementally increased during the tracking of the path with high tracking errors of about 30 mm and 35 mm in x and y axes, respectively.However, the differences between the referenced and actual paths generated by the AFC and RAC-AFC schemes are too small; the tracking errors were in the region of 10 À2 mm.
It was noticed that large initial errors (overshoots) occurred at the beginning of the simulation period for the AFC controller since there are as yet still no output signals received from the AFC controller loop at that point in time, whereas for the RAC and RAC-AFC schemes, there was no noticeable overshoots due to the positive effects of the kinematic control action at the beginning of the motion.
Figure 6 shows the actual trajectory of all the three controllers with the application of constant disturbance torques to both wheels, t d ¼ ½0:1 0:1 T Nm as the mobile robot navigates the predefined path.
For the second case of applying harmonic disturbance torques at both wheels with t d ¼ [10000 sin(t) 10000 cos(t)] T Nm, the RAC approach presents big deviation in the errors of about 50 mm and 60 mm in x and y directions, respectively, during tracking.Similar to the first case, the tracking errors for the AFC and RAC-AFC controllers remain very small, also in the region of 10 À2 mm for both x and y directions.Figure 7 shows the actual trajectory of the AFC and RAC-AFC controllers with harmonic disturbance applied to the robot moving in the same the predefined path as shown in Figure 4.
The third case considers only the AFC-based schemes.
The performance of such systems in terms of the tracking errors is quite obvious; the errors for the AFC controllers are in the region of 10 À2 mm in the x and y directions, more so for the RAC-AFC scheme that exhibits much smaller tracking errors (about 10 À3 mm or less in both x and y directions).
Figure 8 shows a comparison between the actual trajectory of RAC-AFC controller and reference trajectory without and with harmonic disturbances,t d ¼ 10; 000 ½ cosðtÞ 10; 000sin t þ p 2 À Á T Nm applied to both wheels of the mobile robot.The tracking errors with/without disturbance are too small.The tracking errors in the x direction for RAC-AFC with/without disturbance are illustrated in Figure 8(a) are in the region of 10 À4 mm with maximum errors of 2.5 Â 10 À4 mm and 0.5 Â 10 À4 mm with and without disturbances, respectively.In the y direction, the tracking errors have maximum value of about 5 Â 10 À4 mm and 4 Â 10 À4 mm with and without disturbances, respectively, as shown in Figure 8(b).It can be said that the RAC-AFC controller shows a higher degree of disturbance rejection among all controllers.

Experimental path control
The mobile platform was set to move at a relatively low speed, typically in the range of 0.2-1.5 m/s.This range is in fact applicable to vehicles that are normally used for road service applications such as road painting, side road grass cutting and cleaning.A COM server communication was utilized to transmit and receive the data online through programming using Visual C-sharp [Visual C# 2010 Express] as client and MATLAB computing platform as the server.
The KF algorithm was computed in MATLAB via the same m-file script, where the signal and image processing sections were numerically processed.The Simulink program was then linked to the m file for calculating the AFC parameters.Figure 9 shows the link between MATLAB (as server) and C-sharp (as client) using the COM automation server with appropriate connections to the sensors and actuators.
The path of the mobile robot is controlled using the RAC-AFC strategy as presented in the second section.Considering similar conditions with that of the path control simulation, two feedback loops were used in the control scheme, that is, the external and internal loops.The former is used for controlling the kinematic parameters by the RAC, while the latter for controlling the robot dynamics by the AFC controller.RAC controller is known as the outer loop of the RAC-AFC control system and in the AFC controller, the torque applied at the driving wheels was estimated in real time during movement.The encoders were used to numerically estimate the angular acceleration (via second derivative of the angular position) of the wheels.The signals were then multiplied with the estimated inertia matrix to calculate the required actuated torque, again through a signal processing task.This signal in turn is compared with the applied torque as expressed in equation ( 14).The torque of the selected DKM-DC motor used in this project has a linear relationship with the current and angular speed characteristic as shown in Figure 10.Note that the torque was calculated according to the angular speed characteristic.By getting the speed from encoders and taking into consideration the gear ratio, the equation that calculates the applied torque can be written as follows where K n is a torque constant, the value of which is obtained as 0.00108 Nm/r/min after unit conversion and derived from the datasheet of the selected motor (see Figure 10).m ¼ 1:30 is the gearbox ratio, again taken from the catalogue of the selected motor.n r/min is the speed of the wheel measured by the encoder which can be calculated as follows where P cur is the number of pulses for the whole movement of robot from the start to current positions, P rf is the number of pulses for one full rotation, T is the period (or sampling time) from the start to current positions.Thus, by getting the encoders measurements and then multiplied them with K n and m, the applied torque computed by the DC motors can be estimated and controlled.The acceleration can be calculated from the encoders' measurements as second derivatives of the positions between two successive measurements as formulated in equation ( 30) By estimating the inertia matrix using a suitable method, the controller can effectively compensate the disturbances.In this practical experimentation, FL method was also implemented.The disturbances in the AFC controller can be estimated using equation (14).The FL linguistic variables and membership functions, which were used to estimate the inertia matrix are shown in Tables 1 and 2 and Figure 11.
The input fuzzy set is: ¼ fVery Low, Low, Medium, High, Very Highg The output fuzzy sets are: INR/INL ¼ fVery Small, Small, Medium, Large, Very Largeg Propagation of kinematic uncertainty using KF KF is a recursive data processing algorithm that can be used for stochastic estimation of the noisy sensor measurements.The linear and heading velocities of the WMR described by equations ( 5) and (7), respectively, are considered as the control input of the KF, that is, u ¼ [V, _ '] T .In the process state, the state variable vector, q ¼ [x, y, ] T is calculated by the average velocity as expressed in equation (31).The direct KF was implemented in which the measurement signals from the odometry device, camera and LRF were combined and transformed into a single measurement vector, Z k as presented in equation (33), which is then fed into the KF algorithm.The linear discrete   time of the state variable that describes the time update step for the KF can be written as follows If the sampling period is small enough and both the linear and angular velocities are assumed to be constant throughout the duration, the position state variable of the non-holonomic WMR within its environments in the presence of the uncertainties in discrete time is The KF measurement equation with noise is The equation that describes the sensor model in WMR is thus x k from LRF y k from odometry ' k from mixed LRF; Odometry and LS In the real-world application, the values of Q k and R k are not constant and always changing with each time step.
Thus, the actual process and measurement noises are not a zero-mean white noise which in turn renders the residual in KF a non-white noise.For this reason, the KF would diverge or tend to produce a large bound.To avoid this condition, the exponentially weighted moving averages were used to estimate the discrete time-varying system covariance from the noisy measurements in KF 33 as follows Note that Q and R are constant values.In this study, we assume Q ¼ [0.001 0.001 0.001] T and R ¼ [1 1] T after a number of trial runs.For different values of x (from 1 to 5), the mean trajectory errors after applying KF are computed as shown in Table 3.
From the table, x is chosen as 3 since KF produces the smallest divergence.
The KF gain that shows how much the estimation must be corrected can be computed from the measurement using A posteriori state is generated by incorporating the measurement with the priori values of the state variable as The priori and posteriori error covariance estimations can be calculated from equations (38) and (39), respectively, as follows

Experimental results and discussion
The laser range finder, encoders and cameras data as in previous studies [24][25][26] were used to localize, determine the path and control the robot in a road roundabout environment as shown in Figure 12.
The image processing algorithm consists of two main parts; that is, preprocessing of the image and processing of the image and local map building.The image processing algorithm is listed here and more details can be found in previous studies, 28,34 (i) Preprocessing of the image The main operations that were used in this phase are listed as follows: -Constructing the video input object -Preview of the Wi-Fi video  Morphological structuring element: It is used to define the areas that will be applied using morphological operations.Straight lines with 0 and 90 are the shapes used for the images which actually represent the road curbs.
Dilation of image: In the dilation process, a number of pixels are added to the boundaries of the objects in the image, which depends on the size and shape of the structuring element that is used to process the image.
BWC is the binary image coming from the edge filters.
-2-D order-statistic filtering -Removing of small objects from binary image -Filling of the image regions and holes The results of the preimage and image processing are illustrated in Figures 13 and 14.
The signal measurements of the odometry and LRF were used to estimate the position and orientation of the robot in road following and roundabout environments with 360 rotation as shown in Figure 15.These measurements include some unexpected noises and errors   that can be effectively avoided after using KF and RAC-AFC controller.Figures 15(b) to (d) show the effect of applying KF with AFC controller to enhance the robot path in comparison with the path planning from signal measurement.Figure 16 shows the track errors of RAC-AFC controller in which for the x direction, a maximum error of about 7 Â 10 À5 mm is attained as shown in Figure 16(a).However, in y direction, the maximum track error is around 6 Â 10 À4 mm (Figure 16(b)).Although the experiments show that the complete navigation method enables the robot to move smoothly in the road environments in comparison to the direct path execution, the resulted path is not smooth and contains many ripples that may be due

Conclusion
The RAC, AFC, RAC-AFC and RAC-AFC-KF controllers were used to navigate the robot and track the predefined roundabout trajectory both in simulation and in experimental studies.The parameters of the controllers were derived from the kinematic and dynamic models that fully describe the mobile robot motion with non-holonomic constraints.The FL reasoning was implemented to estimate the inertia matrix leading to the computation of the applied torque to   drive the WMR wheels.From the results of simulation, it looks as if there are no noticeable errors for without disturbance condition.However, a small deviation (error) was observed with the application of constant or harmonic disturbances.In the experimental works, a drift between the actual and reference paths occurred due to the delay in processing the data from the sensors and noises, the latter of which were eliminated using KF.In conclusion, it is shown that the RAC-AFC-KF controller has demonstrated its capability to eliminate the disturbances and noises from the system both in simulation and experimental works.

Declaration of conflicting interests
The author(s) declared no potential of interest with respect to the research, authorship, and/or publication of this article.

Figure 1 .
Figure 1.Mobile robot dimensions with global and local coordinate system.

Figure 3 .
Figure 3. Fuzzy logic membership functions: (a) membership function of the fuzzy input set (); (b) membership function of the fuzzy output set (INL); (c) membership function of the fuzzy output set (INR).

Figure 4 .
Figure 4. Predefined path of mobile robot: (a) principle of laser simulator; (b) free-collision path with one obstacle.

Figure 5 .Figure 6 .
Figure 5. Results of the RAC, AFC and RAC-AFC controllers without disturbance: (a) trajectory of mobile robot; (b) y track errors for all controllers; (c) y track errors for AFC and RAC-AFC; (d) x track errors for all controllers; (e) x track errors for AFC and RAC-AFC.RAC: resolved¼acceleration control; AFC: active force control.

Figure 8 .Figure 7 .!
Figure 8. Results produced by the RAC-AFC controller for both with and without disturbances: (a) x-tracking errors; (b) y-tracking errors.RAC: resolved-acceleration control; AFC: active force control.

Figure 9 .
Figure 9. Software communication with sensors and actuators.

-
Convert from RGB to grayscale -Remove image acquisition object from memory (ii) Processing of the image and development of the environments local map It includes some operations that allow the extraction of the road edges and roundabout from the images with capability to remove the noises and perform filtration.The following operations were applied for edge detection and noise filtering: -2-D Gaussian filters -Multidimensional images (imfilter) -Prewitt filter for edge detection -Morphological operations:

Figure 12 .
Figure 12.Outdoor roundabout environment: (a) Road roundabout and (b) mobile robot platform used in the experiments.

Figure 11 .
Figure 11.FL rule interface and membership functions of the FL system with reference to the input and output: (a) input (); (b) output INR/INL.FL: fuzzy logic.
to the time needed to perform the path planning, localization and control calculations The parameters used in the calculation are as follows: WMR parameters: r ¼ 105.4 mm, b ¼ 500 mm, d ¼ 16.5 mm, m ¼ 36 kg, m w ¼ 1.5 kg, I ¼10.0567 kg m 2 , I w ¼ 0.0083 kgm2, V ¼ 0.15 m/s; Controller parameters:

Figure 13 .
Figure 13.Navigating on the road following section in indoor environment using camera image sequences: (a) original image in the first iteration, (b) image after preprocessing and processing at the start position, (c) image after preprocessing and processing at the goal position path.

Figure 14 .
Figure 14.Camera sequence images when navigating in outdoor environment with 360 rotation (a) image when start moving, (b) camera's local map when robot starts to move, (c) camera's local map when robot detects the roundabout.

Figure 15 .
Figure 15.Path of mobile robot during navigation through the roundabout environment: (a) comparison between the path acquired from sensors signals before and after using KF and RAC-AFC controller, (b) comparison between the KF path and RAC-AFC controller, (c) KF path, (d) AFC controller path.RAC: resolved-acceleration control; AFC: active force control; KF: Kalman Filter.
-Setting the brightness of live video -Start acquiring frames -Acquiring the image frames to MATLAB workspace -Crop image

Table 3 .
Empirical calculation of x.
x Mean difference between the trajectory before and after using KF (mm) KF: Kalman Filter.