Autonomous navigation in unknown environment using sliding mode SLAM and genetic algorithm

In this paper, sliding mode control is combined with the classical simultaneous localization and mapping (SLAM) method. This combination can overcome the problem of bounded uncertainties in SLAM. With the help of genetic algorithm, our novel path planning method shows many advantages compared with other popular methods.


Autonomous navigation in unknown environment
Autonomous navigation (AN) has three jobs [1] .
(3) Localization and mapping: In unknown environments, sensors, actuators, and maps may have big uncertainties.

Our work
In this paper, we try to design AN in an unknown environment in real time. The contributions are as follows: (1) Sliding mode SLAM: The robustness of this SLAM is better than other SLAM models in bounded noise.
(2) GA SLAM: We use roadmap PP and GA to generate the local optimal map.
(3) Comparisons and simulations with other SLAM models were made by using a mobile robot [47] .

SLIDING MODE SLAM
SLAM gives the robot position and environment map at the same time. At time , the state is x = ( , , ), where ( , ) is the position and is the orientation of the robot. x = m 1 , m 2 , ..., m are landmarks, with m = ( , ) the th landmark. We assume the true location is time-invariant.
x has two parts: the robot x and the landmarks x . The state equation is where f () is the robot dynamics, w is the noise, and u is the robot control. Since x is not influenced by motion noise, the noise is [w , 0] . z is defined as the position between the robot and the landmark, whose model is where h() is the geometry and v is the noise. Here, w and v are not Gaussian noises. We assume w and v are bounded.
To estimate x in Equations (1) and (2), EKF is needed. We linearize the state model in Equation (1) and the observation model in Equation (2) as Prediction. The estimationx +1 is based on past states, control, and landmarks: where 1 is the covariance of w , 1 Correction. The new state is based on predicted states, landmarks, and current observations: The motivations of using sliding mode modification to the EKF bases SLAM based are the following: (1) The noises w and v in Equations (1) and (2) are not Gaussian.
(2) There are linearization error terms, 1 (x −x ) 2 and 2 (x −x ) 2 , in Equation (3), and the traditional EKF-based methods do not work well for these errors.
We use the sliding mode method to estimate the robot state x and the landmark x .
Sliding modes have a number of attractive features, and thus have long been in use for solving various control problems. The basic idea behind design of system with sliding mode is the following two steps: (1) a sliding motion in a certain sense is obtained by an appropriate choice of discontinuity surfaces; and (2) a control is chosen so that the sliding modes on the intersection of those discontinuity surface would be stable. A general class of discontinuous control ( , ) is defined by the following relationships: where the functions + ( , ) and − ( , ) are continuous.
The function s (x) is the discontinuity surface (subspace). The objective of the sliding mode control is to design some switching strategy of the continuous control + ( , ) and − ( , ) , such that Figure 1. Sliding mode simultaneous localization and mapping.
In this paper, the sliding surface is defined by the SLAM estimation error as Here, the discontinuity surface is ( ) = [ 1 · · · ]. We consider the following positive definite function, where is diagonal positive definite matrix, = > 0. The derivative of is The motion ( ) satisfies where Thus, ≤ 0. By Barbalat' s lemma [48] , the estimation error is ( ) → 0. (4) and (5) is modified by the sliding surface in Equation (11). The sliding mode control can be regarded as a compensator for Equation (4):

The classical SLAM in Equations
where is a positive constant. The correction step is the same as EKF in Equation (5). The sliding mode SLAM is shown in Figure 1. Here, the estimation error, ( ), is applied to the sliding surface to enhance the robustness in the prediction step with respect to the noise and disturbances.
It is the discrete-time version of Equation (6). We give the stability analysis of this discrete-time sliding mode SLAM at the end of this section.
For the mobile robot, the sliding mode SLAM can be specified as follows. We define a critical distance min to limit the maximal landmark density. It can reduce false positives in data association and avoid overload with useless landmarks. If the new landmark is far from the other landmarks on the map, then the landmark is added; otherwise, it is ignored. If the distance between the new landmark x +1 = [ +1 , +1 ] and the others is bigger than min , it should be added into x , i. ., It can be transformed into an absolute framework as The nonlinear transformation function T also applies to the uncertainties. We approximate the transformation T by the linearization. P can be expressed as where For the motion part, we use the Ackerman vehicle model [49] = where w is the process noise, is the linear velocity, is the steering angle, is the sample time, and is the distance between the front and the rear wheels.
At the beginning of map building, the vectorx only contains the robot states without landmarks. As exploration increases, the robot detects landmarks and decides if it should add these new landmarks to the state.
where x, , z, and are defined in Equations (1) and (2), We exploit the same property in the sliding SLAM. The landmarks with fewer corrections are removed from the state vector.x where = 1 0 0 0 · · · 0 0 1 0 0 · · · 0 0 0 1 0 · · · 0 2 , is the compensator, and This sliding SLAM algorithm is given in the following algorithm.
Sliding mode SLAM.ˆ1 = 0, 1|1 = , = 1, The discrete-time sliding mode SLAM in Equation (19) can be written aŝ The correction step forx +2 is the same as EKF: The error dynamic of this discrete-time sliding mode observer is where =ˆ(x , u ) + is bounded uncertainty, The next theorem gives the stability of the discrete-time sliding mode SLAM. Theorem 1 If the gain of the sliding mode SLAM is positive, then the estimation error is stable, and the estimation error converges to ≤ P +2 ≤¯, and ≤ 1 .

Proof 1 Consider the Lyapunov function as
where P +2 is the prior covariance matrix in Equation (21), and P +2 > 0. From Equation (22), Because 2 ≤¯, 2 ≤¯, the last term on the right side of Equation (25) is The second term of Equation (25) is where K is the gain of EKF in Equation (5). In view of the matrix inequality which is valid for any , ∈ × and for any positive definite matrix 0 < Λ = Λ ∈ × , the first term of Equation (27) is We apply the sliding mode compensation in Equation (20) to the second term of Equation (27): where are the elements of the matrix Υ, Υ = P −1 +1 ( − K ) . When the the orientation is not big, Thus, the second term of Equation (27) is negative.
The first term on the right side of Equation (25) has the following properties: According to EKF, By the following matrix inversion lemma, where Γ and Ω are two non-singular. matrices, Using Equation (32) and defining = ( − K ), Combining the last term of Equation (29) with the first term on the right side of Equation (25), Combining Equation (26), the first term of Equation (29), and Equation (34), Thus, then +1 − ≤ 0, ( ) decreases. Thus, ( ) converges to Equation (23).

GENETIC ALGORITHM AND SLAM FOR PATH PLANNING
Path planning is one key problem of autonomous robots. Here, the map is built by the sliding mode SLAM: • The obstacle set is defined by • The position is ( ), • The path planning is ( ( ), , ), = ( ).
We assume the previous map is obstacle-free, the initial point is , the target point is ∈ , , is the shape of the robot, and ( ) is the area of the robot. The objective of the path planning is to find a path ( , , ) ∈ that allows the robot to navigate.
is defined as the search space. We use the GA to find an optimal trajectory ( , , ), such that Here, we use stochastic search for GA, and each iteration includes: reproduction or selection, crossing or combination, and mutation. The population is ( ) = { 1 , 2 , .., } with being the size of the population that represents the possible solutions: (1) Every chromosome has a solution in where and are the next generation from two compatible chromosomes by crossing.
(3) Mutation. It replace a number of chromosomes by chromosomes in .
The mutation operation is calculated by the fitness of each chromosome, An optimal solution in is mutated by In the mutation operation, an optimal solution with = 1 is a global solution if → ∞. To prove the convergence, we use a Markov chain, as shown in Figure 2. Each chromosome can move from to the state ( +1) . The moving probability is , > 0, = 1, 2, . . . , , , = 1, 2, . . . , .
The operators, selection, crossing, and mutation create ( ) with . It preserves the best chromosomes of ( − 1). ( + 1) in the population ( ) can be regarded as the Markov transition: Theorem 2 If GA for the roadmap is an elitist process, then the probability of * in is exponential.

Proof 2
The iteration 1 is changed with the chromosomes when genetic process is elitist, where is the size of the population. If for all , ∈ , there is 0 < ≤ such that ( , ) ≥ > 0, then This implies that, given certain state , the probability of transition in time between and + is at least , Without loss of generality, the transition in the iteration + 1 is Using Equation (42), we have Since 0 < ≤ 1, the algorithm converges exponentially to * in: population size and iteration number .
The algorithm of the SLAM-based roadmap GA for the path planning is as follows.
end if; +1 = Controller( , ) end while return ,Th e PP needs the map, robot position, and target. This information is given by the sliding mode SLAM algorithm. When the algorithm falls into a local solution, we use the function to provide another which is outside the local zone.

COMPARISONS
In this section, we use several examples to compare our method with the three other recent methods: the polar histogram method for path planning [50] , the grid method for path planning [51] , and SLAM with extended Kalman filter [52] .

Simulations
The following simulations were implemented in partially unknown and completely unknown environments. The size of the environments was 100 m × 100 m, in which a solution was sought to find a trajectory from the initial point to the target point . The sliding mode gains were selected as = ([0.1, · · · , 0.1]).
In the partially unknown environments, (0) ≠ ∅. The path planning solution * was partial because the environment ( ) was variant in time. Figure 3 shows a partial solution * from an initial point to the objective point for the partially unknown environment. Figure 4 shows the overall result of the robot navigation from point to point with the robust SLAM algorithm combined with the GA.
Here, the SLAM algorithm was used to construct the environment and find the position of the robot. At the beginning of navigation in the partially unknown environment, there was a planned trajectory of navigation through the GA algorithm; however, if an obstacle was found in the planned trajectory, the GA algorithm needed to be used to search for a new trajectory within the built environment by the SLAM, . The planned trajectory belonged to the set of obstacles that prevent reaching the goal, * ⊂ ( ); therefore, it was necessary to look for a new trajectory using RGA that allowed reaching the goal.
For the completely unknown environments, (0) = ∅. In these environments, the SLAM algorithm was required to know the environment and the position of the robot; in this way, when an obstacle was found that contained the planned trajectory, a new trajectory with the GA algorithm was searched on the map until the target point was reached the results obtained are shown in Figure 5. When we used the polar histogram method for path planning [50] , only the local solutions could be found [ Figure 6]. Now, we compare the path lengths with the polar histogram method. The following density of the obstacles give the navigation complexity. The environment is free of obstacles when = 0. The whole environment is occupied by the obstacles when = 1. The index for the trajectory error is We use the averages of the path length. The obstacles density is defined as The path length is defined as The averages of the path lengths of our RA and the polar histogram are shown in Figure 7. When the density Next, we compare our method with the grid method [51] . The comparison results are shown in Figure 8. For the task of navigating the robot or system in partially unknown or completely unknown environments, the SLAM algorithm was used to construct the environment and know the position of the robot. At the beginning of navigation in the partially unknown environment, there was a planned trajectory of navigation through the GA algorithm; however, if an obstacle were found in the planned trajectory, the GA algorithm needed to be used to search for a new trajectory within the built environment by the SLAM, .
The size of the environments was 100 m × 100 m, in which a solution was sought to find a trajectory from the initial point to the target point . Figure 9 shows a path planning based on the proposed methods to find a solution * . Here, 60 local targets were generated with the search space generated by the trajectories of the local targets that do not intersect with the set of obstacles; thus, it became an optimization problem to find an optimal path.
In an environment with previously generated obstacles of 100 m × 100 m, 120 possible targets were randomly generated ; therefore, the search space D would be all trajectories ( , ) that do not intersect with the set of obstacles, where the roadmap genetic algorithm solved the problem of optimization to find a solution to the problem of path planning. For the problem presented above, we found that the proposed algorithm converged in 40 iterations. For these results, 100 tests were performed for each number of iterations and, as shown in Figure 10, the roadmap genetic algorithm converged with greater probability within 40 iterations.

Application
The Koala mobile robot by K-team Corporation 2013 was used to validate our sliding mode SLAM. This mobile robot has encoders and one laser range finder. The position precision is less than 0.1 m. The objective of this autonomous navigation is to force the robot to return to the starting point. The sliding mode SLAM was compared with SLAM with extended Kalman filter (EKF-SLAM) [52] .
The initial covariance matrices are zero. The parameters of the algorithm are Since the robot moves in the environment with bounded noise (see Figure 11), the noises are not Gaussian. Two different conditions are considered: (1) Koala robot pre-processes off-line the sensors data to reduce 90% noises; and (2) the computer uses sliding mode SLAM on-line.
For the first case, Figure 12 shows that sliding mode SLAM and EKF-SLAM are similar. Both sliding mode SLAM and EKF-SLAM work well for the case with less noise. The robot can return to the starting point, and the map is constructed correctly.
For the second case, Figure 13 gives the results of EKF-SLAM. As can be seen, the robot cannot return to the starting point and the map is not exactly the same as the real one with EKF-SLAM because EKF-SLAM is sensitive to non-Gaussian noises.
x (m) where is the data number; * , * , and * are real values for robot position and orientation; and , , and are estimations of them. Figure 15 shows the errors of EKF-SLAM and sliding mode SLAM. Obviously, the errors of EKF-SLAM increase quickly. Robots have better estimation in long distances with sliding mode SLAM.  Figure 15. Direction estimation errors of sliding mode simultaneous localization and mapping (SLAM) and EKF-SLAM. EKF: Extended Kalman filter.

CONCLUSION
Navigation in unknown environments is a big challenge. In this paper, we propose sliding mode SLAM with genetic algorithm for path planning. Both sliding mode and GA can work in unknown environments. Convergence analysis is given. Two examples were applied to compare our model with other models, and the results show that our algorithm is much better in unknown environments.