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 (AN) has three jobs^{[1]}.

1. Perception: Mapping from signal to information is the perception of AN^{[2]}. Its algorithms can use human thought^{[3]}, intelligent methods^{[4]}, optimization^{[5]}, probability methods^{[6]}, and genetic algorithms^{[7]}.

2. Motion planning: It has three classes, namely graph methods such as a roadmap^{[8]}, random sampling^{[9]}, and grid^{[10]}.

3. Localization and mapping: In unknown environments, sensors, actuators, and maps may have big uncertainties.

Path planning (PP) can be performed under the following conditions:

(1) The environment is known. PP is an optimization problem^{[11–13]}.

(2) The environment is partially known. PP can find new objects during navigation^{[14,15]}.

(3) The environment is totally unknown. PP depends on the navigation and has a recursive solution^{[16–18]}.

Simultaneous localization and mapping (SLAM) can be used in unknown environments^{[19]} or in partially unknown environments^{[20]}. SLAM^{[21]} uses the current position to construct a map, and it can be classified into feature-based^{[22]}, pose-based^{[23]}, appearance-based^{[24]}, and variants^{[25]}.

The most popular SLAM uses Kalman filter^{[21]} for Gaussian noise. Nonlinear SLAM uses extended Kalman filter (EKF)^{[26]}, where the noise assumptions are not satisfied^{[27]}. EKF-SLAM applies linearization^{[28]}.

Few AN uses SLAM. Visual SLAM uses several cameras^{[29]}. AN can use both SLAM and GPS signals^{[30]}. Robots can avoid moving obstacles using neural networks^{[31]}. Swarm optimization helps robots follow an object^{[32]}. Neural networks help robots construct the navigation path^{[33]}. The optimal path is considered in the sense of trajectory length, execution time, or energy consumption.

Genetic algorithms (GA) have been developed recently^{[34,35]}. They are easy to use for optimization in non-deterministic cases^{[36]}, uncertainty models^{[37]}, and robust cases^{[38]}. GA can be in form of ant-based GA^{[39,40]}, cell decomposition GA^{[41]}, potential field GA^{[42]}, ant colony^{[43]}, and particle swarm optimization^{[44]}. Finite Markov chain is a theory tool for GA^{[45,46]}.

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

SLAM gives the robot position and environment map at the same time. At time _{k}, y_{k})_{k}

_{k} has two parts: the robot

where _{k} is the noise, and _{k} is the robot control. Since _{k}, 0]^{T}.

_{k} is defined as the position between the robot and the landmark, whose model is

where ^{i}_{k}_{k} and ^{i}_{k}_{k} and ^{i}_{k}

To estimate _{k} in Equations (

where _{k}.

where _{1} is the covariance of _{k}, R_{1} = E {[_{k} – _{k})] [_{k} – E (_{k})]^{T}}.

The motivations of using sliding mode modification to the EKF bases SLAM based are the following:

(1) The noises _{k} and

(2) There are linearization error terms,

We use the sliding mode method to estimate the robot state

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

where the functions ^{+} (x, t)^{–} (x, t)

The function ^{+} (x, t)^{–} (x, t)

In this paper, the sliding surface is defined by the SLAM estimation error as

Here, the discontinuity surface is _{1} _{n}

where ^{T} >

The motion

where

because _{i} × sgn_{i}_{i}|

Thus, ^{[48]}, the estimation error is

The classical SLAM in Equations (

where

Sliding mode simultaneous localization and mapping.

It is the discrete-time version of Equation (

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_{k+1} = [_{m+}_{1},_{m+}_{1}] and the others is bigger than _{min}, it should be added into _{k},

It can be transformed into an absolute framework as

The nonlinear transformation function _{k} can be expressed as

where

with

For the motion part, we use the Ackerman vehicle model ^{[49]}

where _{k} is the process noise, _{k}_{k}_{k}_{a}

At the beginning of map building, the vector _{k} 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

We exploit the same property in the sliding SLAM. The landmarks with fewer corrections are removed from the state vector.

where

This sliding SLAM algorithm is given in the following algorithm.

Sliding mode SLAM. _{1} _{1|1} _{1} =get_controls, _{1} = get_observations; _{z} =_{1},_{1}] =add_features(x̂_{1},_{1}, _{1}) (_{k+1},_{k+1}] =prediction(x̂_{k}, _{k} u_{k}) (_{k}_{k}_{z} = k_{z}_{z},K_{z})

The discrete-time sliding mode SLAM in Equation (

where

The correction step for _{k+2} is the same as EKF:

where

The error dynamic of this discrete-time sliding mode observer is

where _{k} is the gain of EKF in Equation (

The next theorem gives the stability of the discrete-time sliding mode SLAM.

_{k+2} _{k+2}

_{k}

^{T} ∊

_{ij} are the elements of the matrix_{k} is not big_{k} ≈_{k} ≈

(_{k}_{k})

_{k}C_{k}

_{k}_{+1} _{k}

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 _{obs}

• The position _{r}_{free}(t) = B\B_{obs}

• The path planning is _{T}_{s} = x_{r}

The previous map is _{free}_{T}

We assume the previous map is obstacle-free, the initial point is _{s}_{T}

the obstacle is _{r}_{s},x_{T})_{free}

_{s}, x_{T})

Here, we use stochastic search for GA, and each iteration includes: reproduction or selection, crossing or combination, and mutation. The population is

(1) Every chromosome

(2) Crossing the chromosomes. An intersection in

where

(3) Mutation. It replace a number of chromosomes by chromosomes in

The mutation operation is calculated by the fitness of each chromosome,

Euclidean distance. The total fitness is _{i}_{i}

An optimal solution ^{M}

In the mutation operation, an optimal solution with ^{M}_{ij}_{i}_{(j+1).} The moving probability is _{ji,ik} >

Roadmap genetic algorithm model as a finite Markov chain.

The operators, selection, crossing, and mutation create ^{k}.

_{1} is changed with the chromosomes when genetic process is elitist

^{τ} (α, β)

_{t}, the probability of transition in time t between t and t + m is at least

The algorithm of the SLAM-based roadmap GA for the path planning is as follows.

_{i}._{1})_{2})_{M}_{i}_{j} →_{ij}, S_{ji}.

Our AN uses both sliding mode SLAM (Algorithm 1) and the roadmap GA method (Algorithm 2). The autonomous navigation algorithm is:

_{I}_{T} P^{–} = covariance(R_{1}), P^{+} = covariance(R_{2}) ρ =_{o} =_{I}_{o}) S_{n} =_{I}, S_{T}) U_{0}_{I}, _{n}_{n}_{T}

_{i} = X̂_{k}_{k})) = Map_{k}_{n}_{i}_{T}_{i} > π _{n} = ComputeOutsideLocal(Map,S_{i},S_{T},θ_{i}_{k}_{+1} _{í}, _{n}_{n}, X̂_{k}

The 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 _{n}

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

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 _{s}_{T}.

In the partially unknown environments, _{obs}_{obs}_{s}_{T}_{s}_{T}

Sliding mode simultaneous localization and mapping.

Autonomous navigation using sliding mode simultaneous localization and mapping and genetic algorithm method.

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, _{SLAM}._{obs}

For the completely unknown environments, _{obs}_{SLAM}

_{SLAM}^{[50]}, only the local solutions could be found [

Sliding mode simultaneous localization and mapping and genetic algorithm in complete unknown environment.

Polar histogram method in complete unknown environments.

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 _{obs} =_{obs} =

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 _{obs}_{sub}, Navigation_{sub}, Navigation

The average path length: (A) sliding mode simultaneous localization and mapping and genetic algorithm; and (B) polar histogram.

Next, we compare our method with the grid method^{[51]}. The comparison results are shown in _{SLAM}.

Sliding mode simultaneous localization and mapping (gray) and grid method (black)

The size of the environments was 100m× 100 m, in which a solution was sought to find a trajectory from the initial point _{s}_{T.}_{i}

Sliding mode simultaneous localization and mapping based path planning (bold) and grid method (gray).

In an environment with previously generated obstacles of 100 m × 100 m, 120 possible targets were randomly generated _{i;}_{i},x_{j}

Performance of the genetic algorithm.

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

The environment of the autonomous navigation.

For the first case,

Results of extended Kalman filter simultaneous localization and mapping and sliding mode simultaneous localization and mapping with small noises.

For the second case,

Results of extended Kalman filter simultaneous localization and mapping with noises.

Results of sliding mode simultaneous localization and mapping with noise.

To compare the errors, we define the average of the Euclidean errors as

where _{T}_{k}, y_{k}_{k}

Direction estimation errors of sliding mode simultaneous localization and mapping (SLAM) and EKF-SLAM. EKF: Extended Kalman filter.

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.

Revised the text and agreed to the published version of the manuscript: Ortiz S, Yu W

Not applicable.

None.

Both authors declared that there are no conflicts of interest.

Not applicable.

Not applicable.

© The Author(s) 2021.