An hybridization of global-local methods for autonomous mobile robot navigation in partially-known environments

—This paper deals with the navigation problem of an autonomous non-holonomic mobile robot in partially-known environment. In this proposed method, the entire process of navigation is divided into two phases: an off-line phase on which a distance-optimal reference trajectory enables the mobile robot to move from an initial position to a desired target which is planned using the B-spline method and the Dijkstra algorithm. In the online phase of the navigation process, the mobile robot follows the planned trajectory using a sliding mode controller with the ability of avoiding unexpected obstacles by the use of fuzzy logic controller. Also, the fuzzy logic and fuzzy wall-following controllers are used to accomplish the reactive navigation mission (path tracking and obstacle avoidance) for a comparative purpose. Simulation results prove that the proposed path planning method (B-spline) is simple and effective. Also, they attest that the sliding mode controller track more precisely the reference trajectory than the fuzzy logic controller (in terms of time elapsed to reach the target and stability of two wheels velocity) and this last gives best results than the wall-following controller in the avoidance of unexpected obstacles. Thus, the effectiveness of our proposed approach (B-spline method combined with sliding mode and fuzzy logic controllers) is proved compared to other techniques.


I. INTRODUCTION
In the last few years, there is a great evolution in the use of mobile robots in every day human life such as industries, hospitals, supermarkets, etc, because of their efficiency, accuracy, and time saving. For that purpose, the finding of an appropriate navigation control law has been the object of several researches.
The autonomous mobile robot's navigation methods can be generally classified into two mean types: Global and local navigation. The first type includes the methods based on path or trajectory planning where a prior knowledge of the environment is required to generate a random-safe path according to some guideline and taken into account the static obstacles positions. Among these methods, we can cite for instance, the visibility graphs method [40], the cell decomposition techniques [41], [49], the artificial potential field method [10], [57], the firefly algorithm [54], [55], [59], the Hamiltonian functions based methods [46], the RRT (Rapidly exploring Random Tree) based techniques [47], [48], the Free segments and turning points algorithm [6] and, the heuristic approaches based on artificial intelligence, such as, the neural network technique [52] which is inspired by the biological sensual systems, the fuzzy logic technique which have the benefit of continuous execution and heartiness, the genetic algorithm [2], [5] , the particle swarm optimization technique [13], [56], and, the ant colony optimization [51], [53]. Also, the hybrid fuzzy logic approaches have been used for the path planning task, such as the fuzzy-wind driven optimization algorithm [8]. In general, the local navigation methods type ensures the safety and the fastness of navigation, although, it suffers from the problem of complete knowledge requirement of the workspace, which is not the case for most realistic workspaces. Once planned, the mobile robot should be able to follow the reference path. In the literature, there are various methods used for the tracking control of non-holonomic mobile robots which are nonlinear and uncertain systems, such as, the Nonlinear Dynamic Inversion method [3], the Proportional Integral Derive (PID) controller [35] suffering from instability problem due to sensor sensitivity, the fuzzy logic controller [15], [58] characterized by its lack of precision, and, the Sliding Mode Controller [4] which has the advantage of robustness, fast response and insurance for stability.
In the second type of navigation methods, there is no need of the environment to be totally known, in fact, the mobile robot uses its various sensors to discover, in real time, the workspace, in order to navigate safely. Among the local navigation methods, we can list for example, the Voronoi Diagrams method [45], [50], the Vectors Field Histogram method [23], the Beam Curvature method [25], the methods based on Fuzzy Logic Controller [31], the Multi-Agent Systems method [7], [11], [21], the Hierarchical Fuzzy method [14], [26], the Tangent Circle algorithm [1], and the Neural Networks method [9], [16]. These navigation techniques have the advantage to be very effective in dynamic and unknown environments. However, they suffers from the problem of local minima which prevents the path from being optimal according to a chosen criterion (distance travelled, traveling time, etch). In order to overcome the drawbacks of the above methods (local and global navigation) and to bring, in same time, their advantages, ISSN: 2715-5072 222 the combination of both types of methods is required. In the literature, several hybrid techniques have been used to accomplish the autonomous navigation issue. Wang et al. [37] have combined the global path planning and the local navigation methods : Distance transform and potential field for the mobile robot navigation in indoor environment. This combination suffers from the problem of local minima. Castro et al. [42] have proposed a multi-loop modular navigation architecture composed of local and global navigation methods in order to ensure the stability and the safety of navigation. Nakhaeinia et al. [22] have proposed an hybrid control architecture for mobile robot navigation in unknown dynamic environment. Which is a combination of the deliberative and reactive navigation architectures developed based on a modeling-planning-reaction configuration. Hank et al. [17] have combined the global navigation method (RPA method and fuzzy logic controller) with the local navigation one for avoiding unexpected obstacles using the wall-following method. This approach suffers from the problem of high level of tracking errors given by the fuzzy logic controller and instability of velocities.
The aim of the proposed technique is to perform a safe autonomous navigation with minimum distance travelled in partially-known environment. The challenges are to save in memory and in energy when planning and saving planned trajectory, using a simple and effective method which does not require large space to save planned trajectory and does not require heavy calculation for the planning process. Also, to improve the track of planned trajectory (reducing the track errors level and insure stability) and to enhance the avoidance of unexpected obstacles. The navigation process presented in this paper is an hybridization of the global path planning and the local navigation methods. Thus, in the off-line navigation phase (global path planning), a set of control points is placed randomly in the environment taken into account the static obstacles positions. Once placed, each control point is connected to its neighbor using the B-spline method in order to generate a safe roadmap of the environment. Then, the start and goal points are added and using the Dijkstra algorithm, the shortest path that binds the start and goal positions is calculated and memorised like a succession of control points.
In the online navigation phase, the mobile robot should follow the planned trajectory using the sliding mode controller and, in the same time, it must be able to avoid unexpected obstacles using the fuzzy logic controller in order to accomplish the whole navigation task. As well, for a comparison reason, the online navigation task is conducted by the fuzzy logic controller for the track of planned trajectory and the wallfollowing method for the avoidance of unexpected obstacles.
Our first contribution is to use a simple and effective method to generate the environment roadmap using the Bspline method and the Dijkstra algorithm. This proposed technique does not require a heavy calculation. Also, the planned path is memorised like a succession of control points which allows to minimize the storage space needed. The second contribution is the use of sliding mode controller to follow the planned trajectory for guaranteeing the stability, robustness and reactivity of track compared to the fuzzy logic controller. In fact, the track approach presented by Hank et al. [29] present tracking errors that are of high level and unstable. The third contribution is the use of the fuzzy logic controller to avoid unexpected obstacles which gives more stable two wheel velocities configuration compared to the fuzzy wall-following method.
The rest of this paper is organised as follows. Section 2 is about the problem statement to be solved in this paper. Section 3 is devoted to the presentation of the proposed control strategy. Section 4 describes the off-line phase of the proposed navigation method. Section 5 presents the online phase. Section 6 presents and discusses some simulation results. Section 7 gives the conclusion and future work.
II. PROBLEM STATEMENT The problem to be solved in this paper is the autonomous navigation of a non-holonomic mobile robot (Khepera IV) in partially-known environment. Figure 1 shows the considered workspace in which known obstacles are shown by purple boundaries and the rest of this environment can contain unexpected obstacles during real-time navigation. Figure 2 shows the schematic model of the Khepera IV mobile robot. This mobile robot has two independent driving wheels. Thus, in order to move the Khepera IV, the speed of both wheels should be given (left and right wheel speeds). The kinematic model of Khepera IV mobile robot is given by [14], [33]: where V R and V L are ,respectively, the mobile robot's right and left wheel velocities and α is the angle between the robot direction and X-axis. III. CONTROL STRATEGY In this section, the proposed control strategy of Khepera IV autonomous navigation is described. This navigation process is Journal of Robotics and Control (JRC) ISSN: 2715-5072 223 decomposed into two modules (see figure 3). The first module (M 1 ) represents the off-line phase of navigation (global navigation) in which a distance-optimal reference trajectory linking the starting point to the target point is planned in the proposed environment using the B-spline method [43] and the Dijkstra algorithm [28]. Then, this reference trajectory is memorised like a succession of control points representing the reference posture of the virtual mobile robot to be tracked by the mobile robot. The second module (M 2 ) represents the online phase of navigation (local navigation) in which there are two possible scenarios, whether the track of reference trajectory or the avoidance of unexpected static obstacles. The choice between these two scenarios is assured by a decision module whose inputs are the current mobile robot position and the information given by its sensors. Thus, if there is no obstacles detected, the decision module activates the tracking trajectory module, else, the avoidance of unexpected static obstacles module will be activated.

IV. TRAJECTORY PLANNING: OFF-LINE PHASE
In the literature, there are various methods used to plan reference trajectory for the mobile robot navigation. We can cite for example, the RPA technique (Random Profile Approach) [34], [36]. The principle of this method is to randomly generate a path and a movement on this path using the Bspline and the cubic-spline functions, respectively. Then, with an optimisation procedure, the optimal positions, in terms of travelling time, are selected which allows to obtain a roadmap of near-time-optimal reference trajectories. Also, the method of cell decomposition technique is used [18], it is based on the principle of decomposing the free space of the environment into cells taking into account the positions of static obstacles and it finds in the end the optimal cell succession that leads the mobile robot from starting point to the goal point. Furthermore, the PSO ( Particle Swarm Optimization) technique [12] is used for the trajectory planning task, this method is inspired by the collective behavior of social animals, such as bird, fishes, bees when searching their food, which allows to obtain optimal paths in terms of distance travelled and traveling time.
In this paper, the B-spline method [43], [44] is chosen to plan reference trajectory and the Dijkstra algorithm is used to select the shortest path. The whole planning process is decomposed in six steps: • Step 1: To place randomly in the environment a number of nodes taking into account the location of static obstacles (see Figure 4). • Step 2: To place between every two nodes in the environment a number of control points (see Figure 5). • Step 3: To construct the reference trajectory using the B-spline method (see Figure 6). The principle of the B-spline method is to divide the trajectory length m into n sections The mobile robot's trajectory is P (m) ≡ (x(m), y(m)) T . Using the B-spline of order three at the section m k ≤ m ≤ m k+1 is described by control points Q k = [x k , y k ](k = 0, ..., n) as follow: is a base function of B-spline defined as follow: The B-spline of order three is chosen to ensure the continuity on curvature of the trajectory. • Step 4: the initial and the target points (P i and P t ) are placed in the environment and they are connected to nearest nodes using the B-spline method (see figure 7). • Step 5: The determination of the estimated distanceoptimal reference trajectory is done by the standard graph optimization algorithm developed by Dijkstra [28]. The principle of the Dijkstra algorithm is described as follow: In order to determinate the path of minimal distance between two given nodes P and Q, we use the fact that, if R is a node on the minimal path from P to Q. Knowledge of the latter implies the knowledge of the minimal path from P to R. Then, the minimal paths from P to other nodes are constructed in order of increasing length until Q is reached. Figure 8 shows the optimal succession of nodes obtained that links the start and the goal points. • Step 6: The reference trajectory constructed is memorised like a succession of B-spline control points. In this case, the reference trajectory is formed by 24 control points.

V. ONLINE PHASE
The online phase is composed by two modules: the tracking trajectory module and the avoidance of unexpected obstacle module which are described below.

A. Tracking trajectory
The distance-optimal reference trajectory planned in the offline phase, should be followed by the mobile robot. In the literature, there are several techniques used to accomplish this task, such as the Fuzzy Logic Controller [19], the technique  inspired from the Potential Fields [20] and the Discrete PDC Controller [30]. In this paper, the sliding mode controller is chosen to track the planned trajectory. Also, in order to prove the effectiveness Journal of Robotics and Control (JRC) ISSN: 2715-5072 225 of our proposed trajectory tracker (sliding mode controller), this mission of path tracking is done by the fuzzy logic controller. 1) Sliding Mode control: The principle of this technique is to generate a control vector q = (v, w) T representing the linear and angular velocities of the mobile robot, based on its current position vector p = (x, y, α) and its reference vector p r = (x r , y r , α r ). Firstly, the relationship between the current position vector p and the control vector q is defined and is given as follows:  Figure 9 illustrates the error vector, p e = (x e , y e , α e ) which is defined as the difference between the current position vector p and the posture vector p r and is given by [32]: The linear velocity of the virtual mobile robot to be followed is chosen to be constant v r = 1mm/s and the angular velocity is given by this equation: with: The velocity error of the mobile robot is represented as follow: In order to solve the tracking trajectory problem, a control input q = (v, w) T should be found, so that given any initial errors, p e can be bounded asymptotically to 0 when t → ∞.
Knowing that the mobile robot moves with constant linear velocity v, the problem amounts to calculate the angular velocity w. The kinematic model of the non-holonomic mobile robot represents a nonlinear system. Therefore, there are a problem in the design of a switching function. To overcome this problem, x e = 0 is chosen as the first switching surface. Thus, the Lyapunov function can be defined as: The time derivative of V is given by: With α e = arctan(v r y e ) is chosen as a switching function, the overall stability condition requires thatV be a negative function, that is to sayV ≤ 0. Therefore, sin(arctan(v r y e )) must to be positive. When x e converges to 0 and α e converges to − arctan(v r y e ), y e also converges to 0. Therefore, the switching function to be designed should have the status that x e = 0 and α e = − arctan(v r y e ) in the sliding mode.
The switching surface vector can be obtained as: Next, a sliding mode controller should be designed, which can make s 1 and s 2 converges to zero. The reaching law approach describes the condition under which the state converge to a sliding surface. A structure called constant rate reaching law is used to reduce the chattering phenomenon, which is the big problem of the sliding mode controller, caused by the finite time delays for computations and limitations of control [29].
For that purpose, a saturation function is used and is defined as: Where, ξ is a positive constant that define the threshold width of the saturation function. The reaching law can be obtained as:ṡ Where θ e = arctan(v r y e ), ∂θ ∂v r = y e 1 + (v r y e ) 2 and ∂θ ∂y e = v r 1 + (v r y e ) 2 . Therefore, the control law is: Finally, the expressions of the left and the right velocities applied to khepera VI mobile robot are given as follow: 2) Fuzzy logic control: In this section, the type-0 Takagi-Sugeno fuzzy logic controller [17] is used to follow the reference path. Its inputs are the error in position (distance between the real mobile robot position and its reference position: e p ) and the error in orientation (the angle between the mobile robot orientation and its reference orientation: e ϕ ). The outputs are the linear and angular velocities (v and w). The predefined parameters are the tracking and stopping distances (d T and dstop) and the tracking and stopping angles (∆ϕ T and ∆ϕstop). Figures 10 and 11 show, respectively, the membership functions of e p and e ϕ . Table I contains

3) Simulation results:
This simulation is presented to prove the effectiveness of the sliding mode controller for the path tracking compared to the fuzzy logic controller. During this simulation, the linear velocity of the non-holonomic mobile robot v is chosen to be constant, v r = 1mm/s. The mobile robot is assumed to start from the position (x i ,y i ) = (50,750) and to reach the target position (x t ,y t ) = (600,160). Figures  14, 15 and 16 show, respectively, the trajectory tracking result using the sliding mode controller, the tracking errors and the two wheel velocities configuration. Figures 17, 18 and 19 illustrate, respectively, the mobile robot trajectory tracking result using the fuzzy logic controller, the tracking errors and the two wheel velocities. From these results, we can conclude that the sliding mode controller track more precisely the planned trajectory than the fuzzy logic controller. Thus, as shown in figure 15, the tracking errors are smallest and more stable than those shown in figure  18. Also, the configuration of the two wheel velocities left and right of the mobile robot is more stable using the sliding mode controller. as well, the sliding mode controller requires less time to reach the target than the fuzzy logic controller effectiveness of our proposed tracker controller (sliding mode controller) compared to the fuzzy logic controller. Whereas, During the reference trajectory tracking, the mobile robot may encounter unexpected obstacles, since, the environment is supposed to be partially known in priori. Therefore, it must be able to leave the tracking trajectory and switch to the avoidance of unexpected obstacles which is described in the next section.

B. Avoidance of unexpected obstacles
A great amount of research in the literature was interested in the avoidance of unexpected obstacles problem. Among the methods used, we can cite for example, the fuzzy logic controller method [38], the neural networks method [16] and the hierarchical fuzzy method with multi-agent architecture [21]. In this paper, the fuzzy logic controller is chosen to avoid unexpected obstacles. In order to prove the effectiveness of our proposed controller, the avoidance of unexpected obstacles mission is also conducted by the wall-following method.
1) Wall-following method: The wall-following method [27] is based on the fuzzy logic controller [37] which is Takagi-Sugeno type of order 0 [39]. Its inputs are the lateral and frontal distances (dL, dF ) as shown in figure 20 and its outputs are the linear and angular velocities (v, w). The predefined parameters are ,respectively, the minimal lateral distance, the maximum lateral distance and the minimal frontal distance (dLmin, dLmax, dF min, dF max). Figures 21 and 22 show the membership functions of the lateral distance (dL) and the frontal distance (dF ), respectively. Table II show       2) Fuzzy logic controller: In this section, our proposed controller used to avoid unexpected obstacles is presented (the fuzzy logic controller). This controller has as inputs the euclidian distance between the mobile robot and the unexpected obstacle (d) and the angle between the mobile robot direction and the obstacle direction (ϕ). Its outputs are the two wheel velocities left (V L ) and right (V R ) (see figure 25).
Given that (x o ,y o ) is the coordinates of the unexpected obstacle, (x,y) the current position of the mobile robot and θ a the orientation of the unexpected obstacle with respect to X − axis, the equations of distance d and angle ϕ are given as follow: with: Tables III and IV represent the fuzzy inference system.  After several simulation tests, numerical values are attributed to the consequences variables (see figure 26).

VI. SIMULATION RESULTS AND DISCUSSION
In these simulation scenarios, the linear velocity of mobile robot v is chosen to be constant, v r = 1m/s. A. Scenario 1 In this scenario, the mobile robot starts from the position (x i , y i ) = (50, 750) and reach the target position (x f , y f ) = (600, 160). Figure 27 shows the navigation mission result using the sliding mode controller for the path tracking and the wall-following method for the avoidance of unexpected obstacles with a traveling time T = 1699.823s and figure  28 shows the two wheel velocities configuration using this method. Figure 29 illustrates the navigation of mobile robot using the sliding mode controller for the track and the fuzzy logic controller for the avoidance of unexpected obstacles with a traveling time T = 1447.399s and figure 30 shows the two wheel velocities configuration. From these results, we can conclude that the two wheels velocities configuration of the two methods are similar, though, we can notice that in terms of traveling time, the results given by the fuzzy logic controller are the best, because it requires less time to reach the goal position.

B. Scenario 2
In this scenario, the mobile robot is estimated to navigate in the inverse direction as that of first scenario. In fact, it starts from the point (x i , y i ) = (600, 160) and the target point is (x f , y f ) = (50, 750). Figures 31 and 32 show, respectively, the avoidance of unexpected obstacles using the wall-following method and the configuration of left and right mobile robot's wheels velocities. The elapsed time is T = 2080.6s. Figures  33 and 34 represent, respectively, the avoidance of unexpected

C. Scenario 3
The task proposed in this scenario is to move the mobile robot in a cluttered environment from the start position (x i , y i ) = (75.12, 732) to the target position (x f , y f ) = (678.6, 101). Figure 35 shows the trajectory performed by the mobile robot between the initial and goal points using the sliding mode controller for the track and the wall-following method for the avoidance of unexpected obstacles. In this figure, the red stars represents the nodes, the green stars represents the control points, the red line represents the planned trajectory using the B-spline method and the green line shows the followed trajectory with avoidance of unexpected obstacles shown in blue. Figure 36 represents the tracking errors which are stable and converge to 0. Figure 37 shows the two wheels velocities configuration which is also stable. The traveling time is T = 41.88s. Figure 38 shows the path following using  the sliding mode controller with the avoidance of unexpected obstacles using the fuzzy logic controller. Figure 39 shows the tracking errors and the two wheels velocities are shown in figure 40. The traveling time is T = 40.8s. These simulation results prove the effectiveness of the proposed hybrid algorithm to perform the autonomous navigation task in cluttered environment.

D. Scenario 4
In this scenario, the obstacle is supposed to be dynamic with the speed 0.3m/s. Figure 41 shows the dynamic obstacle avoidance and figure 42 represents the return of the robot to the track of reference trajectory. Figure 43 shows the two wheels velocities configuration which is stable. Consequently, this simulation task proves the flexibility of the proposed approach shown by its ability to react to any type of unexpected obstacle (static or dynamic).

VII. CONCLUSIONS AND FUTURE WORK
In this paper, an hybrid approach for the autonomous navigation of non-holonomic mobile robot in partially-known  first module has been designed to plan the distance-optimal reference trajectory, while the second one has been dedicated to the follow-up of this planned trajectory and the avoidance of unexpected obstacles. For the planning of distance-optimal reference trajectory, the B-spline method and the Dijkstra algorithm have been used. For the track of planned trajectory, the sliding mode controller has been proposed and for the avoidance of unexpected obstacles, the fuzzy logic controller has been used. Several simulation tests have been executed to evaluate the performance of the proposed control strategy by comparing the performances of the controllers proposed in our strategy with the fuzzy logic and the fuzzy wall-following controllers. Simulation results have proved the efficiency of B-spline method and Dijkstra algorithm in the generation of safe and distance-optimal reference trajectory, also, they have demonstrated that the sliding mode controller track more precisely the planned trajectory than the fuzzy logic controller. As well, the fuzzy logic control have given better results than the wall-following method in the avoidance of unexpected obstacles. Thus, the hybrid control strategy proposed composed by the B-spline, the Dijkstra, the sliding mode controller and the fuzzy logic controller, have proved its simplicity and efficiency in the management of autonomous mobile robot navigation in partially known environment.
As future work, we will focus on testing optimization algorithms in the adjustment of the manually constructed fuzzy logic controller parameters and studying cases when the mobile robot be found in critical situations when navigating, such as, when the robot is kidnapped. Also, we want to study the autonomous navigation issue in completely unknown environment.