Abstract
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.
Keywords
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. 1
Fuzzy 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. 4 An adaptive method using a kinematic and torque controller based on FL reasoning is used for intelligent control of an autonomous mobile robot. 5
Neural 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
A 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. 7 A 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. 9 In another work, the sliding-mode control method is utilized for stabilization and tracking of non-holonomic mobile robots using kinematics in polar coordinates. 10 The back-stepping control approach with the integration of kinematic and torque controllers has been implemented for controlling the non-holonomic mobile robots. 11 An adaptive extension of the back-stepping controller is used for non-holonomic 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
A tracking control system with time-varying feedback based on back-stepping is employed for the tracking control of a mobile robot. 13 In this method, a combination of the kinematic and simplified dynamic model in a 2-degree-of-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. 14 This 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. 15 In 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. In another development, active force control (AFC) strategy has been widely implemented for controlling the dynamics of a mobile manipulator system, which resulted in a robust control scheme especially with the existence of disturbances. 16 –19 The method depends on the measurements of the applied torque and acceleration plus a good approximation of the estimated inertia matrix to estimate the force feedback of the control system. 20 –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. 23 The 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 closed-loop system. Another adaptive optimal algorithm has been proposed for solving the dynamic equations for a WMR incorporating an omnidirectional vision system. 24
The 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∞ ) 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. 26 To 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. 27 Using 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. 28 Thus, 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 real-time 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:
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. 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,

Mobile robot dimensions with global and local coordinate system.
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
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,
The current position of the robot is thus given by equation (7)
where Xn, Yn, φn are the current positions of the WMR, Xn−1, Yn−1, φn−1 are the previous positions of the WMR and ∇T 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, τ 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.
Ic : 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; τ r: the torque exerted on wheel axis by right motor; τ l: the torque exerted on wheel axis by left motor and; λ: the Lagrange multiplier coeficient.
Controller design
The path of the mobile robot is controlled using resolved-acceleration 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.

A schematic of the RAC-AFC-KF controller. RAC: resolved-acceleration control; AFC: active force control; KF: Kalman Filter.
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 K1, K2 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 (τ) 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
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
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
knowledge-based
21
and FL.
22
Since 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
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,
ϕ = [Very Low, Low, Medium, High, Very High]
Figure 3. shows the membership functions of the input and output sets.

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).
The output of the FL is fuzzified into the following linguistic variables:
INR/INL = {Very Small, Small, Medium, Large, Very Large}
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:
If (phi is M) then (INR is MR)&(INL is ML)
If (phi is VL) then (INR is VSR)&(INL is VLL)
If (phi is L) then (INR is SR)&(INL is LL)
If (phi is H) then (INR is LR)&(INL is SL)
If (phi is VH) then (INR is VLR)&(INL is VSL)
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 α is a positive constant. γ(t) is a function based on time which has positive values when t>0 and can achieve the condition
Theorem
The mobile robot control based on equation (7) with noises is considered. If
Proof
Let’s have the following constants with positive values as follows:
In RAC-AFC controllers as shown in Figure 2, we have three loops of errors; first loop with Kp has an error equal to eq . The errors in the second loop with Kd 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. 29 Thus one can write
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 eq 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
By substituting the value of
By collecting the identical parts
By substituting the value of
By deriving error y
By substituting the value of
By substituting the value of
By substituting the value of
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
If
where δ is the first derivative of the torque error.
If
The derivation of Lyapunov function as in equation (26) can then be written as
where α is the minimum factors of x, y and xy.
According to the above-mentioned Lemma, the closed-loop control system is guaranteed to reach the global uniform ultimate boundedness with exponential-convergence-rate of V specified by α.
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 collision-free 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.

Predefined path of mobile robot: (a) principle of laser simulator; (b) free-collision path with one obstacle.
Robot path control
The simulation for the predefined path as shown in Figure 4(b) was performed using MATLAB/Simulink according to the following conditions:
Integration algorithm: BogackiShanpine
Simulation type: Fixed step size
WMR parameters: r = 0.15 m, b = 0.75 m, d = 0.03 m, m = 31.0 kg, m w = 0.5 kg, I = 15.625 kg m2, I w = 0.005 kg m2
Controller parameters: K px = 2/s2, K py = 2/s2, K p = 2/s, K dx = 1, K dy = K d = 1 (for the RACpart), K t = [0.265 0.265]T
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.

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.
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,

Results of the RAC, AFC and RAC-AFC controllers with disturbance, 0.1 Nm at both wheels: (a) trajectory of mobile robot; (b) x track errors; (c) y track errors. RAC: resolved-acceleration control; AFC: active force control.
For the second case of applying harmonic disturbance torques at both wheels with τ 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.

Results of the AFC and RAC-AFC controllers with harmonic disturbance
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,

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.
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.

Software communication with 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). µ = 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 µ, 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)

DKM motor (120 W) characteristic.
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.
Fuzzy input variable, ϕ
Fuzzy output variables, INL and INR.

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.
The input fuzzy set is:
ϕ = {Very Low, Low, Medium, High, Very High}
The output fuzzy sets are:
INR/INL = {Very Small, Small, Medium, Large, Very Large}
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,
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
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 ξ (from 1 to 5), the mean trajectory errors after applying KF are computed as shown in Table 3.
Empirical calculation of ξ.
KF: Kalman Filter.
From the table, ξ 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 –26 were used to localize, determine the path and control the robot in a road roundabout environment as shown in Figure 12.

Outdoor roundabout environment: (a) Road roundabout and (b) mobile robot platform used in the experiments.
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 – Setting the brightness of live video – Start acquiring frames – Acquiring the image frames to MATLAB workspace – Crop image – 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:
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.

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.

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.
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).

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.

Track errors of the RAC-AFC controller: (a) x-track errors (b) y-track errors. RAC: resolved-acceleration control; AFC: active force control.
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 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 m2, I w = 0.0083 kgm2, V = 0.15 m/s;
Controller parameters: K px = 2/s2, Kpy = 2/s2, K p = 2/s, K dx = K dy = K d = 1, K n = 0.00108 Nm/r/min.
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.
Footnotes
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) received no financial support for the research, authorship, and/or publication of this article.
