1 Introduction

In an actual factories, especially in complex warehouse areas, shelving often creates concave obstacle zones. Concave obstacle areas can form trap areas more easily than convex obstacle areas. In particular, when a mobile robot has to pass through a concave obstacle during its movement from the start to the end point, the robot can easily get trapped in the concave obstacle area, which can lead to self-locking [1]. The result of this phenomenon is falling into local minima [2]. Due to the limitations of existing path planning algorithms, mobile robots often find themselves in an invalid search area when they reach the base of a concave obstacle when planning a path from a starting point to a goal point. The robots waste a lot of time and distance in the search for the optimal path in order to reach the target point outside the concave obstacle area. This problem is a practical engineering problem that needs to be solved urgently and is also the motivation for this thesis.

Many scholars have performed a large amount of research on this problem to solve the problem of mobile robots avoiding and quickly navigating around concave obstacles. The artificial potential field method is a commonly used traditional path planning method, but it suffers from the local minimum problem. This problem usually occurs in concave-shaped regions or narrow passages. For adjacent obstacles in this environment, the compound potential generated by each obstacle produces a concave field where the robot falls into a local minimum [3]. A virtual force algorithm based on VFF local minima was introduced by Velagic et al. to avoid the local minimum problem. This algorithm can identify the local minima during the robot’s motion without memorizing the known environment [4]. In another study, Park et al. devised a new concept for avoiding local minima in local path planning using virtual obstacles [5]. Lin et al. introduced the idea of decision trees to the artificial potential field method for improvement. They constructed an improved artificial potential field path planning model based on decision trees to achieve accurate real-time recognition of the current behavior and fast decisions for the following behavior in path planning. Experimental results showed that the planning time of the improved algorithm is reduced by 50% compared to the conventional artificial potential field method [6]. Muñiz et al. designed a neural network controller for mobile robots with unsupervised learning that operated a robot to avoid obstacles [7]. Experimental results have shown that reactive avoidance behavior can effectively avoid concave obstacle areas when mobile robots move through concave obstacle areas to target points.

In addition, Hendzel et al. developed another reactive navigation strategy for mobile robot navigation that included two main behaviors: reaching the middle of collision-free space behavior and target-seeking behavior [8]. The simulation results showed that when the robot passed through the concave obstacle area from the starting point to the endpoint, it would not turn back until it reached the bottom of the concave obstacle area. Then it would directly reach the end point after esca** from the concave obstacle area. This process consumed unnecessary time and distance. To solve the problem of intelligent vehicle path planning in complex environments, Pan et al. proposed a method to solve the minimum problem by setting up virtual barrier points. The local minimum was effectively removed by adding virtual obstacle points [9].

The ant colony algorithm is a bionic heuristic algorithm based on the behavior of ant communities in nature. This algorithm can search the shortest path between a nest and food in the foraging process and has been widely used in many fields [10]. When the ant colony algorithm is running in a complex environment (especially when the ants enter an environment with concave obstacles), due to the presence of the taboo list, the ants may fall into a deadlock state without the following grid for movement. In another study [11], Dai et al. proposed a technique to solve the deadlock problem. The authors adopted the contraction mechanism when an ant fell into a deadlock. The improved strategy allowed the ant to roll back one step and update the information for an ant that had entered the concave obstacle grid and was in a deadlock state. If the ant remained deadlocked, it would continue to roll back until it was back outside the concave barrier. This process caused the ant to waste a large amount of time and distance between concave obstacles.

After reading the literature, it was found that many scholars can use the improved algorithm to help robots navigate out of the self-locking dilemma in concave obstacle areas. The improved algorithm is beneficial for supporting the mobile robot in navigating out of the concave obstacle area. However, from the results, it still takes a large amount of time and unnecessary distance for robots to navigate out of concave obstacle areas.

Our algorithm model is different from other improved algorithms. It does not involve the optimization and improvement of the original algorithms themselves and it does not change the parameters and architecture of other algorithms. Instead, it is a beneficial aid to the existing path planning algorithm, hel** robots to avoid concave obstacle areas faster and shortening the time and distance for mobile robots to find and reach the target point.

The specific implementation process is that a robot acquires global environment map information and data from a laser sensor before implementing other path planning algorithms and logically processes these data to determine the depressed obstacle area. Based on the different positions of the initial location points relative to the depressed obstacle zone, a virtual wall is created to prevent the mobile robot from entering the area. The process provides helpful assistance to the path planning algorithm and improves the efficiency of esca** and avoiding the depressed obstacle zone.

The rest of this paper is divided into four sections. Section 2 describes the implementation of the auxiliary algorithm strategy. In Sect. 3, we compare simulation results after combining this auxiliary algorithm strategy and the traditional path planning algorithm. Section 4 presents the results of the environmental experiment based on V-REP. Section 5 shows the conclusions and future work.

2 The implementation method of the auxiliary algorithm strategy

The problem of autonomous navigation of robots was decomposed into three classical questions by Duirant-Whyte et al.: “Where am I now?”, “Where am I going?”, and “How do I get there?” [12]. This problem involves the localization and path planning of robots moving from an unknown location to an unknown environment and positioning themselves according to location estimation and a map during movement. At the same time, incremental maps are built based on self-positioning to achieve autonomous positioning and navigation for a robot.

2.1 Creating an obstacle environment map

LiDAR sensor sweeps in a horizontal line and identifies the distances between the laser position and any object met by the beams. When a mobile robot moves through previously unknown environments, a localization and map** algorithm can estimate the robot’s posture with a high rate and high precision [13].

The mobile robot obtains environmental data and synthesizes the obstacle map of the environment using airborne LiDAR, as shown in Fig. 1. The specific formula is as (1).

$$ \begin{array}{*{20}c} {{\text{Ri}} = \left\{ {\begin{array}{*{20}c} {Ri \,Ri < Dmax} \\ {Dmax\, Ri \ge Dmax} \\ \end{array} } \right.} & {{\text{i}}\,{ = }\,{1,2,3} \cdots {\text{n}}} \\ \end{array} $$
(1)
Fig. 1
figure 1

LiDAR scanning obstacles to obtain points and build a map

The coordinate value of the intersection point between the laser line and the obstacle is (2).

$$ \begin{array}{*{20}c} {\left\{ {\begin{array}{*{20}c} {xi = Ri\, \cdot \,\cos \theta i} \\ {yi = Ri\, \cdot \,\sin \theta i} \\ \end{array} } \right.} & {i\, = \,1,2,3 \cdots n} \\ \end{array} $$
(2)

where \(Ri\) is the detection range of the laser line;

\({\text{Dmax}}\) is the maximum effective detection range of LiDAR;θi is the direction angle of the laser detection line;

S is the starting point of the robot.

The dotted line in the figure is the detection line of the LiDAR sensor on the mobile robot. The number of detection lines is n. According to the coordinate value information of n points (xi, yi), i = 1,2,3···n, the environment of the obstacle area can be fitted using the least square method, as shown in Fig. 2.

Fig. 2
figure 2

A complete map of concave obstacles built by the robot

2.2 Building virtual obstacle wall fusion to form a new obstacle map

Environmental data can be obtained by using the LiDAR carried by the mobile robot. The auxiliary algorithm judges these data, obtains the position of the starting point of the robot relative to the obstacle area, and establishes a virtual obstacle wall. Furthermore, the virtual wall data are merged with the original data to form a new obstacle area map, as shown in Figs. 3 and 4.

Fig. 3
figure 3

The starting point is outside the concave obstacle area

Fig. 4
figure 4

The starting point is inside the concave obstacle area

This algorithm can help the mobile robot to improve the efficiency of path planning and avoid local obstacles without changing the calculation mechanism of the original path planning algorithm.

First, according to the data of the environmental obstacle area detected by the mobile robot, it is judged whether the robot’s starting point is inside or outside the obstacle area.

Second, the position of the inflection point of the obstacle area is judged, and the point set of the virtual obstacle wall is established.

Third, the point where the virtual wall was created in the previous step is set to a value of 1 and is fused with the original obstacle data to form the obstacle area set.

Fourth, path planning and obstacle avoidance actions are implemented according to the original path planning algorithm. The virtual obstacle point set established above is a constraint on the mobile robot. The purpose is to constrain the mobile robot to bypass the concave obstacle area so that the robot can reach the destination from the starting point in a shorter time with a better path with the help of the algorithm model. The parameters in the Figs. 3, 4 and Figs. 56 are shown in Table 1.

Fig. 5
figure 5

Interior obstacle virtual wall

Fig. 6
figure 6

External obstacle virtual wall

Table 1 Basic notations used in this paper

Robot expansion area (for safety reasons, mobile robots usually set a slightly larger safety area than the robot body). In this study, this area is simplified as a circular expansion area centered on the robot body, as shown in Figs. 5 and 6. Therefore, the minimum distance from the wall is generally set to 0.6–0.8 m as a safe distance.

2.3 An auxiliary algorithmic process through a concave obstacle area

The flow chart of the auxiliary algorithm disclosed in this paper is shown in Fig. 7.

Fig. 7
figure 7

Flow chart of the execution of the auxiliary algorithm

The logic program is as follows:

figure a

3 Auxiliary algorithm policy validation

3.1 Means and methods of simulation

In this section, we describe the verification of the proposed method using simulations and experiments. We use MATLAB software to carry out five groups of experiments on the traditional path planning algorithm and the algorithm with auxiliary strategies. In the simulation, each group of experiments is divided into two scenarios. The first scenario is that the starting point of the mobile robot is outside the concave area. The second scenario is that the starting point of the mobile robot is inside the concave area. MATLAB software is used to set up the same simulation environment. Simulation experiments are performed for a mobile robot passing through a recessed obstacle zone in two cases before and after the inclusion of an assisted obstacle avoidance strategy.

3.2 Establishment of the environment model

An Occupancy Grid Map divides the workspace into grids, with each cell representing part of the environment and containing a probability value indicating the likelihood that the cell will be occupied. A grid map is an approximate solution, but it is insensitive to the hypothetical parameters of a specific perceptual system and has strong robustness. This method was first proposed by Elfes and Moravec [14] and has been applied to many robot systems. It is a relatively successful map representation. Therefore, our simulation test environment adopts the form of a grid map, as shown in Fig. 8.

Fig. 8
figure 8

An occupancy grid map

For ease of description, the indoor floor plan is rasterized and described with binary information. The value of the black part, which is the obstacle area, is 1, indicating that the mobile robot is forbidden to pass. The white part is the free space area, with a value of 0, meaning that the mobile robot can move freely.

3.3 The simulation verification process and result analysis

A mobile robot’s main path-planning task is to find a path without collision according to specific environmental constraints with static or dynamic obstacles. At the same time, these paths must meet some optimization parameters, such as the minimum distance, minimum time, and minimum energy consumption.

The different search methods can be divided into the A-star method [15], the Dijkstra method [16], the fast search random tree algorithm [17], and the artificial potential field method [18]. Zhang et al. listed the main path-planning algorithms, such as APF and ACO, in their paper [19] and stated that each method was suitable for different application scenarios.

Through the analysis of the introduction, these algorithms consume a large amount of time and distance when encountering concave obstacles. Therefore, in this verification, the time and distance spent by the robot are compared when passing through the concave obstacle area with the action of the conventional algorithm and after the addition of the auxiliary algorithm strategy in this research.

▪Test 1: Simulation test of the auxiliary the artificial potential field algorithm.

In 1986, Khatib proposed artificial potential fields (APFs) [20] and applied them to the field of obstacle avoidance. His idea was to abstract the space where the robot was located into a potential virtual field and determine the robot’s direction and speed according to the combined force of gravitational and repulsive forces in the potential field. However, its disadvantage is that it is easy to fall into the local minimum, especially in the concave obstacle area. Therefore, we select the APF algorithm to conduct the comparative experiment of our auxiliary algorithm strategy, as follows:

The mobile robot controlled by the conventional APF algorithm cannot successfully pass through the depressions. However, it can still successfully pass through the depression zone after adding the auxiliary strategy, as shown in Tables 2 and 3.

Table 2 Simulation results of the auxiliary APF algorithm when the robot passes through an area of concave obstacles (the starting point is inside the concave obstacle)
Table 3 Simulation results of the auxiliary APF algorithm when the robot passes through an area of concave obstacles (the starting point is outside the concave obstacle)

▪Test 2: Simulation test of the auxiliary the ant colony optimization algorithm.

The ant colony optimization (ACO) algorithm is a heuristic random search algorithm developed by Colorni et al. based on ant foraging behavior that was first proposed in 1991 [21]. The ant colony algorithm simulates the cooperative foraging behavior of ants with positive feedback, high robustness, and parallelism. However, the traditional ACO has some disadvantages, such as a slow convergence rate and being able to fall into an optimal local rather than a global solution [22]. Therefore, we also select the ACO algorithm to conduct the comparative experiment of our auxiliary algorithm strategies.

The experimental results show that the time and the path length are reduced by 55.9 and 31.8%, respectively, after the auxiliary algorithm strategy is added, as shown in Table 4.

Table 4 Simulation results of the auxiliary ACO algorithm when the robot passes through a concave obstacle area (the starting point is inside the concave obstacle)

The experimental results show that the time and the path length are reduced by 20 and 10.7%, respectively, after the auxiliary algorithm strategy is added, as shown in Table 5.

Table 5 Simulation results of the auxiliary ACO algorithm when the robot passes through a concave obstacle area (the starting point is outside the concave obstacle)

▪Test 3: Simulation test of the auxiliary the A-star algorithm.

One of the disadvantages of the A-star algorithm is that there are many search nodes in path planning and the calculation time is extended. The distribution of concave obstacles is more likely to induce a mobile robot to conduct an invalid search, increasing the search time and reducing the efficiency of path planning [23]. We also conduct a comparative experiment with the A-star algorithm to test the effect of our auxiliary algorithm.

The experimental results show that the time to reach the target is reduced by 33.5% after the addition of the auxiliary algorithm strategy and the length of the path is reduced, as shown in Table 6.

Table 6 Simulation results of the auxiliary A-star algorithm when the robot passes through a concave obstacle area (the starting point is inside the concave obstacle)

The experimental results show that the time to reach the target is reduced by 30.7% after the addition of the auxiliary algorithm strategy and the length of the path is shortened, as shown in Table 7.

Table 7 Simulation results of the auxiliary A-star algorithm when the robot passes through a concave obstacle area (the starting point is outside the concave obstacle)

▪Test 4: Simulation test of the auxiliary Dijkstra algorithm.

The Dijkstra algorithm proposed in 1959 by Edsger Dijkstra [24] is a well-known shortest-path algorithm. The Dijkstra algorithm is implemented easily, performs stably, and adapts ably to the topology change. The Dijkstra algorithm uses a greedy strategy to calculate the shortest path from the starting point to a specified threshold and gradually expands the weight of the shortest route by continuously selecting the vertex closest to the starting point until all the vertices in the graph are covered. Therefore, this method has the disadvantage of poor search efficiency, especially when encountering a concave obstacle area. Consequently, we adopt the Dijkstra algorithm to conduct comparative experiments.

The experimental results show that the time and the path length are reduced by 13.6% and 7.4%, respectively, after the addition of the auxiliary algorithm strategy, as shown in Table 8.

Table 8 Simulation results of the auxiliary Dijkstra algorithm when the robot passes through a concave obstacle area (the starting point is inside the concave obstacle)

The experimental results show that the time is reduced by 16.5% after the addition of the auxiliary algorithm strategy, as shown in Table 9.

Table 9 Simulation results of the auxiliary Dijkstra algorithm when the robot passes through a concave obstacle area (the starting point is outside the concave obstacle)

▪Test 5: Simulation test of the auxiliary the rapidly-exploring random tree algorithm.

Lavalle proposed a rapidly-exploring random tree (RRT) algorithm [25] in 1998. RRT was initially used to solve robot path planning problems with non-holonomic constraints and high-dimensional non-convex spaces. Its good solving performance in classical robot path planning caused it to be rapidly popularized [26, 27]. In addition, the algorithm has been widely used in dynamic obstacles, high-dimensional space, and planning with differential constraints [28,29,30,31,32]. However, in the process of exploring the optimal path, especially in the case of the concave region, the RRT algorithm has a slow convergence speed. It takes a long time, resulting in a significant decrease in efficiency. To test our algorithm strategy, we perform the following comparative tests:

The experimental results show that the time and the path length are reduced by 52.8% and 14.3%, respectively, after the addition of the auxiliary algorithm strategy, as shown in Table 10.

Table 10 Simulation results of the auxiliary RRT algorithm when the robot passes through a concave obstacle area (the starting point is inside the concave obstacle)

The experimental results show that the time and the path length are reduced by 25.2% and 12.4%, respectively, after the addition of the auxiliary algorithm strategy, as shown in Table 11.

Table 11 Simulation results of the auxiliary RRT algorithm when the robot passes through a concave obstacle area (the starting point is outside the concave obstacle)

3.3.1 Comparative result analysis

The auxiliary obstacle avoidance strategy disclosed in this paper is universal and effective for mainstream path planning algorithms. Above simulation conclusion, the obstacle avoidance success rate of auxiliary APF algorithm is 100%; it helps the ant colony algorithm to improve the efficiency of dealing with concave obstacles by 20–55.9%; it helps A-STAR algorithm to improve the efficiency of dealing with concave obstacles by 30.7–33.5%; it helps Dijkstra algorithm to improve the efficiency of dealing with concave obstacles by 13.6–16.5%; it helps RRT algorithm to improve the efficiency of dealing with concave obstacles by 25.2–52.8%. Our algorithm is used to generate virtual walls based on the same initial map data. Assisting the traditional path planning algorithm reduces the two parameters of arrival time and arrival step, and improves the passing efficiency.

4 Simulation based on the V-REP platform

The V-REP (Virtual Robot Experimentation Platform) is a leading robot simulation software platform that can simulate an entire robot system or its sub-system. It can integrate various functions of a robot through the application program interface and support a variety of programming languages [33]. Therefore, we choose this platform to perform the simulation tests. Based on the obstacle avoidance sensor function of the mobile robot and the simulation environment built in the V-REP, several scenarios are simulated and compared. In the first scenario, the mobile robot passes through the concave region from the starting point to the target point to test the performance of the mobile robot. In the second scenario, our obstacle avoidance strategy is added and a convex obstacle avoidance virtual wall is formed to try the version of the mobile robot. In the third scenario, our obstacle avoidance strategy is added and a concave obstacle avoidance virtual wall is created to test the performance of the mobile robot.

▪The first scenario is simulated as shown in Fig. 9. It shows the robot trapped in a concave obstacle.

Fig. 9
figure 9

The simulation through a concave obstacle area. a The robot is at the starting point. b The robot advances toward its target. c The robot is deadlocked in a concave obstacle area.

▪The second scenario is simulated as shown in Fig. 10. This shows how the obstacle avoidance strategy helps the robot to avoid concave obtacles when the starting point is outside the concave area.

Fig. 10
figure 10

Simulation of external virtual wall scenarios. a The robot is at the starting point. b The convex barrier wall is bypassed. c The robot advances toward its target. d The target point is reached

▪The third scenario is simulated as shown in Fig. 11. This shows how the obstacle avoidance method helps the robot to get out of the way of concave obstacles when the starting point is within a concave area.

Fig. 11
figure 11

Simulation of internal virtual wall scenarios. a The robot is at the starting point b The concave barrier wall is bypassed. c The robot rounds the first inflection point. d The robot rounds the second inflection point. e The target point is reached

5 Conclusions and future work

In this paper, we propose an assisted obstacle avoidance algorithm strategy model which is universal and effective. It not only effectively helps the mobile robot to reduce the time and distance wasted in finding the optimal path when passing through a recessed obstacle zone, but also avoids the self-locking caused by the mobile robot falling into the recessed obstacle zone. We use this auxiliary algorithmic strategy to test the efficiency of aiding traditional ACO, APF, RRT, A-star and Dijkstra algorithms to get out of concave obstacle areas without changing the operating mechanism of traditional path planning algorithms. To increase the generalisability of the test, we tested both cases where the robot starting point is inside and outside the concave region, and the experimental results show that our auxiliary algorithm can effectively improve the efficiency of the mobile robot when passing through the concave region. It should be pointed out that the limitation of this study is that the concave obstacle area should be within the detection range of LiDAR sensor. Indeed, the robot encounters difficulties when it encounters large concave areas that exceed its LiDAR sensor detection range. We intend to adopt the method of step-by-step scanning. First, we use the teaching method to make the robot record the map shape of the large depression obstacle area. Then the internal logic is judged according to the starting position, and the current auxiliary strategy is implemented, which will be the focus of our future research work.