Abstract
In this article, we present a human experience–inspired path planning algorithm for service robots. In addition to considering the path distance and smoothness, we emphasize the safety of robot navigation. Specifically, we build a speed field in accordance with several human driving experiences, like slowing down or detouring at a narrow aisle, and keeping a safe distance to the obstacles. Based on this speed field, the path curvatures, path distance, and steering speed are all integrated to form an energy function, which can be efficiently solved by the A* algorithm to seek the optimal path by resorting to an admissible heuristic function estimated from the energy function. Moreover, a simple yet effective fast path smoothing algorithm is proposed so as to ease the robots steering. Several examples are presented, demonstrating the effectiveness of our human experience–inspired path planning method.
Introduction
The path planning, which refers to designing a path for navigating an agent toward a desired location from a start position, has been widely applied in robotics community and other real application fields, 1 such as window cleaning, 2 exploration of Mars, and video game. 3 Among these applications, path planning for service robots plays a central role in complex indoor and outdoor environments. 4
In general, path planning is to find a sequence of location transition actions that transform a start position to a goal position, where each transition action has an associated cost, and the sum of costs of all transition actions represents some measurement for the path. Designing transition actions for path planning generally concerns on following aspects: (i) travel time between the start position and the goal position (also referred as the time factor); (ii) energy spent of an agent traveling a path; (iii) robots do not collide with other objects; and (iv) smoothness of a path is desired to ease steering of robots. Currently, main path planning methods aim at designing an optimization model which considers one or more of the above-mentioned aspects, and then performing a minimization procedure to achieve an optimal path. 1,4 –7 For example, the shortest path, minimum time-consuming path, minimal energy cost, and coverage path planning are, respectively, studied in the literature 6,8,9 for a given navigation task. Path planning involves four developing stages: graph-based methods (e.g. Dijkstra, Voronoi, 10 A* and its variants 5,11,12 ), artificial potential method, 7,13 probabilistic methods (e.g. probabilistic roadmap method (PRM), 14 rapidly exploring random tree (RRT) 15,16 ), and machine learning-based methods. 17,18 Tthe developing process of path planning is shown in Figure 1.

The developing process of path planning.
While existing methods give available solutions for practical applications, neither of them has considered the safety of navigation. In practice, the safety requirement is very important. For example, a relatively narrow space between a robot and persons may easily cause collision between them especially when persons are playing regular activities (e.g. hand waving), resulting in an uneasy environment for humans. Therefore, a safety requirement is explicitly considered along with the distance and smoothness of a path for service robots in this article.
Our scheme is partly inspired by the human experience, because humans seem to be experts in path selection and could well analyze and synthesize diverse factors (e.g. distance, smoothness, and safety) in mind to make a proper decision for path planning. We therefore design a new path planning algorithm for robots by learning from human experience especially in terms of safe driving. Take the scene in Figure 2 as an example, where a service robot is ordered to fetch several cups of coffee for participants of a party. While a traditional algorithm may plan the path

Illustration of human experience–inspired path planning. In this scene, a service robot carrying several cups of coffee on a plate is serving at a party and is required to traverse from the current position S to the target position G. The shortest path
In fact, a large number of robots has been built that explicitly mimic biological navigation behaviors for obstacle avoidance, such as the ones emulating an annual migration of seabirds 19,20 and ant-like behavior navigation model. 21 Inspired by the social interactions in human crowds or animal swarms, Savkin and Wang 22 proposed an efficient obstacle avoidance algorithm in dynamic environments by integrating representation of the information about the environment. Typically, the development of robotics has been directly or indirectly affected by human’s experiences and behaviors. 23 –25 However, these methods 24 –27 mainly focus on the motion modeling of robot’s body parts (e.g. arms) and the interactive applications between robots and humans. In this article, we emphasize and learn from human driving experiences. Let’s take some discussion on the human’s driving experiences. Generally, a person prefers reducing the driving speed when passing neighboring areas of obstacles, while speeding up in wide areas with safe enough distance to obstacles. Furthermore, in front of a very narrow aisle, a person like to select another wide path even with a little longer distance. Yet, she/he may determine to continue the narrow path if the wide one is too much long compare with the narrow one. Passive human walking has been studied by many researchers, 28 and it simulates human’s behavior by considering the potential energy consuming when human walking. In a word, path planning by humans is not only related to the time cost, path distance, and ease steering but also relevant to the safety.
Inspired by human’s experiences, we develop a safety-related path planning method. We construct a speed field that can efficiently simulate slowing down and detouring behaviors of humans around obstacles and then integrate the distance and smoothness factors with the speed field to form a human experience–inspired energy function model. Based on this model, the optimal path can be efficiently achieved by the well-known A* algorithm. Specially, the lower bound of the energy function, namely the admissible function in A* algorithm, can be easily estimated. We also propose a fast yet effective post-processing to smooth paths generated by the A* method. In summary, the main contributions of this article include: A human experience–inspired path planning algorithm that considers the safety factor is presented. A dynamic speed field is constructed to control robot’s speed, which can also adapt to dynamic scenes. An effective post-processing approach is utilized to smooth paths for ease steering of robots.
The rest of this article is organized as follows. In “Related work” section introduces some related works. In “The proposed model” section, an energy functional model of path planning is presented to simulate human’s experience, and speed field computation and a practical feasible curvature computation scheme are also detailed. In “Path planning scheme” section, A* algorithm is applied to the energy function to search an optimal path, and a path smoothing method is also presented. Several path evaluation criteria are introduced in “Path evaluation” section. Experimental results are shown in “Implementation and results” section. Finally, conclusions are made in “Conclusions and future works” section.
Related work
Path planning has been widely studied by robot communities and other researchers, and plenty of methods have been proposed to deal with practical problems. In this section, we mainly focus on representative path planning algorithms in two dimensional scenarios, and more references can be found in the study by LaValle. 1
Visibility graph 29,30 views obstacles in configuration spaces as polygons and then constructs a graph using the start position, the goal position, and vertices of polygons. Then the path is obtained by graph search methods, for example, Dijkstra’s algorithm.
Artificial potential field (APF) 7,13,31,32 is another important method for path planning in robots. In general, obstacles are modeled as repulsive fields in APF, while the goal position is considered as an attractive field. Thus, the repulsive fields avoid agents approaching to obstacles, and the attractive fields move agents to the goal. Paths generated by APF are generally smooth, but the main drawback of APF is that a local minimizer is trapped possibly.
Probabilistic path planning algorithm is an effective method, and its two representative methods are the PRM 14 and the RRT. 15,16,33 The basic idea of probabilistic path planning is to randomly select non-collision points in free motion space and then connect them to get a path. Probabilistic methods are probabilistically complete, and the path generated by them for the same problem is also not unique.
A* method 5,11 is a widely used path planning method since it has many good properties: (1) given start and goal positions in a scene, the path achieved by A* is unique; (2) in a finite time, A* can always return a result even there is no solution; and (3) a good admissible function can lead to an acceptable time-consuming even for a large map. Now many researchers have developed various variants of A* to deal with different situations and tasks, such as D* Lite, 34 any-angle A*, 3 and Field D*. 12
Gradient-based methods 35,36 are a two-step algorithm of designing an optimal path. It first uses a straight line to connect the start and target points (even pass through obstacle regions) and then takes points out of obstacles in the gradient directions. Generally, the raw paths generated by the process are not smooth, thus a post smoothing operation is desired.
When an agent faces a completely unknown environment and equips with some sensors, it requires to deal with all kinds of situations according to the sensed information. In the case, machine learning-based methods 17,18 are a good technology to deal with path planning tasks.
Comparing with other path planning algorithms, A* algorithm is a deterministic and flexible approach, and it is very convenient to search an optimal solution for a concrete path planning problem. In this article, we propose using the A* algorithm to optimize the proposed path planning model.
Our method is partially similar to Dolgov et al.’s method, 10 and both methods consider the practical safe requirement, but their method does not consider the distance factor and causes the generated paths often along with central lines of roads. As compared, our method can flexibly adjust the path by controlling parameters of the speed field.
The proposed model
In this section, we introduce the energy function of our path planning method according to human experiences.
Energy function
The driving path of a person is related to both the smoothness and the psychological speed of the path. Generally, people prefer driving on a wide road with high speed, which motivates us to design the energy function
where
On the other hand, humans are prevailing to smooth paths with little turnings. An ideal case is that the driving road is almost straight. In fact, the steering experience implies two factors: the driving time is as short as possible, and the driving road is as straight and smooth as possible. Let
According to the above analysis, the energy cost along a path
where da represents the line element;
The objective of this article is to seek an optimal path
where
So far, we have three unknowns
In the following two subsections, we mainly give details how to compute the speed field
Dynamic speed field
We assume the map for a robot traversing is a white and black image. The black patches represent obstacles that robots cannot reach, and white parts are available areas that robots can reach.
As we have pointed out, the driving speed of humans is related to driver’s psychology. The speed is high if there are no obstacles around, otherwise it is slow. Thus, the speed is related to the distance between vehicles and obstacles. Therefore, we use the Laplacian equation defined in equation (4) to estimate an impact coefficient map
where
where
Assuming the maximal speed of a robot as
where 0 <
In practical situations, it is required that the speed of robots is not too slow even it is turning. Thus, the speed field is finally defined by
where 0 <
Dynamic updating
We have presented a static speed field in scenes as earlier, but in practice, dynamic scenes are ubiquitous (e.g. diverse activities of humans) and thus a dynamic updating scheme is required for modern robots with sensors.
For a given map with obstacles
Curvature computation
As shown in Figure 3,
where ∥

Curvature definition by tangent.
Supposing a robot has been moved
where
A benefit of the definition of
Path planning scheme
Based on the proposed model, we search a path by using the A* method that can navigate a robot from any initial position to the target position avoiding collisions.
Formulation in motion space
In this article, robots are assumed to be disk-shaped objects, and obstacles are convex or concave polygons. Assuming a robot centered at x ∈
where
where
Overall, a robot in theory can walk freely in its free motion space, however, in practice, a more wider space is needed for robots especially when they traverse some obstacles. For example, in Figure 2, rail-mounted robots in an unmanned dinning room generally preserve a certain distance from tables and chairs for safety considerations.
A*-based path planning
Given a target location
The A* method selects a path that minimizes
where ∥ ⋅ ∥ is the 2-norm. The heuristic function
On the other hand, if let
where
Based on aforementioned formulations, the optimal path can be produced using the standard
Path smoothing
In most cases, the raw paths generated by A* algorithm are possibly not smooth enough, even the smoothness has been considered. Therefore, a post smooth process is performed to ease driving for robots. Specifically, the path is smoothed by minimizing an energy function under following constraints: (1) paths are smooth enough, (2) point positions in the smoothed path after smoothing are not too far away from original corresponding ones, and (3) smoothed path should also have a strong safe distance to the obstacles.
Assuming the path
where
where
This formula indicates that
Using the gradient descent algorithm, the energy functional shown in equation (14) can be optimized by the following iterative scheme
where
where
Path evaluation
Path Evaluation is very important in path planning study. In the previous work, researchers usually used the following three criteria to measure a path’s quality: the running time the minimal distance between a path the safety coefficient of a path
MD reflects the worst case of a path passing through obstacle regions. SC is used to measure the safety performance which is not considered by previous works to the best of our knowledge. In practice, humans generally desire the path length
Implementations and results
In this section, we give implementation details of our algorithm and show the results from our approach. All examples shown in this article are performed on a laptop running on a 3.40 GHz laptop computer with 4 GB of memory. Generally, the path planning algorithm, including A* search and path smoothing, can be accomplished in 0.3 s for an indoor layout map (1026 × 800) and the Paris rendering map (907 × 728) shown in Figures 5 and 6, respectively.
In our implementation, the
The proposed optimal path planning algorithm is built on the platform of Visual C++ with Qt 5.3.2 GUI. In the system as shown in Figure 4, we implement the shortest path method and our method, respectively, which are both optimized by the A* search algorithm. On the left working area of the system interface, maps and paths are shown, and the start and target positions

The interface of our optimal path planning system. The green and blue curves represent our optimal path and the shortest path, respectively.
Experimental results
For given start and target nodes

Illustration of path planning by our method at an indoor layout scene.
We have also tested the path planning on large-scale scenes. We download a three-dimensional (3-D) Paris model from Internet, and then the model is projected onto the

Path planning on a large-scale scene. The left is the render map of Paris 3-D model with several path planning results, where the green and blue curves represent our optimal path planning result and the shortest path planning result, respectively. The right-top and the right-bottom are two local zoom-in images.
Path evaluation
We evaluate different paths generated by different path planning algorithms, including RRT method,
16
practical method,
10
fuzzy logic (FL) method,
39
and our method. RRT
16
and the practical search (PS) method
10
are implemented using Matlab [version 2010], and the FL method
39
is implemented by C++. Note that in Figure 7, we set

To evaluate path’s quality, five different criteria (see “Path evaluation” section) are computed for paths generated by different algorithms, and the statistical results are reported in Tables 1 and 2. Since RRT is a random algorithm, it is tested ten times in the two static maps, and only one of the results are shown in Figure 7. As shown, RRT method 16 has less turning points comparing to other three algorithms but performs worse with respect to other criteria, especially getting lower safe coefficient. FL method 39 shows a mediocre performance for these criteria. The practical method 10 and our method have a similar safe performance, but our method always have a shorter path length than the practical method. In summary, the method proposed in this article can balance different requirements.
Statistical results of paths are shown in Figure 7(a) to (c), where — means the algorithm fails for the map with given start and target nodes.
RRT: rapidly exploring random tree; FL: fuzzy logic; PS: practical search; TPN: number of turning points; PL: length of a path; MD: minimal distance; SC: safety coefficient.
Statistical results of paths are shown in Figure 7(d) to (g).
RRT: rapidly exploring random tree; FL: fuzzy logic; PS: practical search; TPN: number of turning points; PL: length of a path; MD: minimal distance; SC: safety coefficient.
We have also analyzed influence of different parameters

The path planning results by our method with different parameters. (a)
Dynamic scenes
A dynamic path planning example is tested, and the result is shown in Figure 9. A path is generated and connects

Illumination of path planned in dynamic scene by our method. Compared with (a), a new obstacle
Examples shown in this section demonstrate that our optimal path planning algorithm for robots is practically feasible. Specially, these results also validate that our model can simulate human’s experiences.
Conclusions and future works
In this article, we propose a model to simulate human’s path planning. Specially, the safety of robot navigation is considered. The major technical contributions of the article include the following aspects: A dynamic speed field is proposed, which is incorporated with multiple factors, such as safety, path curvatures and path distance, to model human driving experiences. By adapting parameters ( An efficient but easy-to-implement path smoothing algorithm is presented. The smoothed path is more suitable for steering of robots. Experiments on indoor scene and large-scale outdoor scene have demonstrated the effectiveness of our path planning method.
In the future, we would like to develop our method in several aspects, such as smartly selecting parameters
Footnotes
Acknowledgements
We would like to give our thanks to the artist Johnny who shares the 2-D indoor layout map (Figure 5), and Konstantin who shares the 3-D Paris model (
).
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) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This project was partially supported by the Natural Science Foundation of China (no. 61672544, 61725204, 61661130156), Guangdong Natural Science Foundation (no. 2015A030311047), Tip-top Scientific and Technical Innovative Youth Talents of Guangdong special support program (no. 2016TQ03X263), the Fundamental Research Funds for the Central Universities (no. 11617348), Beijing Higher Institution Research Center of Visual Media Intelligent Processing and Security, and Foundation of Key Laboratory of Machine Intelligence and Advanced Computing of the Ministry of Education (no. MSC-201701A), and Shenzhen Innovation Program (no. JCJY2015040114529008).
