Expert Systems with Applications 38 (2011) 10036–10048
Contents lists available at ScienceDirect
Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa
Intelligent flight task algorithm for unmanned aerial vehicle Tsung-Ying Sun a,⇑, Chih-Li Huo a, Shang-Jeng Tsai c, Yu-Hsiang Yu a, Chan-Cheng Liu b a
Department of Electrical Engineering, National Dong Hwa University, 97401 Hualien, Taiwan, ROC Institute of Information Science, Academia Sinica, 11529 Taipei County, Taiwan, ROC c Taiwan Research Insitute, 251 New Taipei City, Taiwan, ROC b
a r t i c l e
i n f o
Keywords: Unmanned aerial vehicles (UAV) Flight routes Aerial imagery map Skeletonization B-spline curve Particle swarm optimizer (PSO)
a b s t r a c t This paper proposes an intelligent flight task algorithm for unmanned aerial vehicles (UAV) to effectively determine and search the best flight routes in three-dimensional and complicated topographies, where the topography data includes the height of the object on the earth and the aerial imagery map of the earth is obtained by the Satellite. The proposed method is composed mainly of the particle swarm optimizer (PSO), skeletonization, and B-spline curve. Skeletonization is regarded as a pre-processing procedure for topography data to reduce complexity of the searching space and inhibit aimless searches of solutions. B-spline curve method is adopted to provide a smooth flight route for UAV. The best control points of a B-spline curve are determined by PSO. In this paper, the initial population of PSO is acquired through skeletonization to improve the efficiency of the search for the best flight route. The results of the simulation demonstrate the abilities of the proposed method to provide the best flight routes efficiently for UAV. Ó 2011 Elsevier Ltd. All rights reserved.
1. Introduction Motion planning is a required process when guiding an object to move around obstacles, these processes include vehicle path planning (Bethke, Valenti, & How, 2008), articulate robot movements with nth degree-of-freedom (Kavraki, Svestka, Latombe, & Overmars, 1996), and multiple robots (or vehicle) path planning (path planning with non-static obstacles) (Beard, McLain, Goodrich, & Anderson, 2002; Van den Berg & Overmars, 2005). Many different methods have been introduced for motion planning (LaValle, 2006), and can be classified into three main categories (Azariadis & Aspragathos, 2005): skeleton methods, cell decomposition methods, and potential field methods, with the first two used mostly for two-dimensional (2-D) motion planning. The last kind, potential field method, creates a scalar field with artificial obstacles (Koren & Borenstein, 1991). The gradient of the scalar field is a vector field that generates repulsive forces which will attempt to avoid obstacles and attractive forces that guide the object towards the destination (Ren, McIsaac, Patel, & Peters, 2007). In recent research, potential field is considered one of the driving forces behind the development of evolutionary algorithms (EA), it is fast enough to guide an object around complicated obstacles, but the object may be trapped in a local area (Azariadis & Aspragathos, 2005). Vehicle path planning considers the sundry unguessable characteristic into its environments, such as ocean currents in the sea ⇑ Corresponding author. Tel.: +886 0 38634078; fax: +886 0 38634060. E-mail address:
[email protected] (T.-Y. Sun). 0957-4174/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2011.02.013
(Alvarez, Caiti, & Onken, 2004), air currents in the sky, and different weathers (Gu et al., 2006; Shima, Rasmussen, & Gross, 2007), and it is one of the most important areas of research for intelligent transport systems. When properly developed, it can provide options such as navigation (such as parking action and automatic piloting) and collision avoidance for vehicles. The details of standard vehicle path planning problems include the following: First, attempt to plan diversiform paths between the starting point and end point, such as the shortest path and safest path; next, attempt to plan a path that satisfy some requirements or task assignment, such as interception and pursuit in an air combat environment (Chen et al., 2007; Sun, Tsai, Lee, Yang, & Ting, 2006), path with multiple goals (Mittal & Deb, 2007), and multiple vehicle path planning (Kanchanavally, Ordonez, & Schumacher, 2006). Many methods have been presented to guide vehicles to their destination in the field of vehicle path planning. Such methods include graphic type planning and heuristic type planning. The framework of graphic type planning is a classical tool based on generating paths that can avoid collision through mathematical (Ge & Cui, 2000) or geometrical (Hwang, 2003) methods. The graphic type planning method has to obtain basic information of the terrain to operate, and siphons through a selection of possible paths, but it may require a complicated calculation process and definition. Several skeleton methods, such as the visibility graph (Yang, Moallem, & Patel, 2005) and Voronoi diagrams (Bhattacharya & Gavrilova, 2008) are mostly used in 2-D path planning, which would be unsuitable for planning flight paths in three-dimensional (3-D) terrains (Azariadis & Aspragathos, 2005). For 3-D flight path planning, an optimized position in the z axis must be considered
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
while planning the optimized position in the x and y axes (2-D planning), so flight path planning is more complicated than 2-D path planning. More developed 3-D path planning techniques for graphic type planning are therefore necessary. There are also heuristic type planning methods that are proposed by several papers (Nikolos, Valavanis, Tsourveloudis, & Kostaras, 2003; Sun, Huo, Tsai, & Liu, 2008). In the 3-D path planning problem, the optimized 3-D positions are difficult to obtain for the whole 3-D searching space using the traditional graphic type planning method mentioned above. The roadmap and rapidly-exploring random trees (RRT) algorithms are also utilized for path planning in 3-D dimension (Kavraki et al., 1996; Van den Berg & Overmars, 2005). However, these algorithms are subject to random search feature, it may not be able to explore a good solution every time. The heuristic type planning based on EA has the advantage of searching for flight paths in a 3-D space with simple iterative calculations rather than complicated mathematical calculations, but suffers from the flaw of improper or random settings for the initial population of the EA. The initial population will directly influence whether the resulting planned path is valid or not. This method cannot guarantee its products to be the appropriate paths when there is complicated topography, this method is unable to reproduce similar resulting paths even after several runs in simulations, this is an important concern because it represents whether this algorithm is credible or not. Moreover, EA needs more computation time to search flight path repeatedly. In recent years, the development of EA has enriched its efficiency. The method is to incorporate the smooth curve line concept to EA (Azariadis & Aspragathos, 2005; Nikolos et al., 2003; Saska, Macas, Preucil, & Lhotska, 2006), which provides superior flight paths by executing evolutionary process with a number of control points from a B-spline curve, and reduces computation time (Nikolos et al., 2003). But there remains the problem of setting the initial population. In order to configure the proper initial population of the EA, the process needs to analyze the entire topography in advance. If all flight paths can be roughly sketched, the proper initial population of the EA can be acquired from the set of paths. Through this method, the initial population of the EA can be determined and can
10037
efficiently lead to the discovery of better paths. There are many pre-processing to search entire landforms, including some methods that using complicated mathematics and conditions (Diaz de Leon & Sossa, 1998), and methods which use graphic type planning, such as the Voronoi diagram (Bhattacharya & Gavrilova, 2007; Bhattacharya & Gavrilova, 2008; Peng, Zhu, Sun, & Sun, 2007). In order to consider with both of smooth path and proper preprocessing, Voronoi diagram have been considered to be preprocessing. When the obstacles are defined as points, the Voronoi diagram can plan all flight trajectories for the UAV quickly and the branch points are found easily to give the proper initial population of EA (Beard et al., 2002). However, Voronoi diagram will also include many branches and mixed points in a real environment. These branches and mixed points increase the difficulty of the search for better flight paths with other methods in 3-D topography, although these branches can be leached by some methods (Mostafavi, Gold, & Dakowicz, 2003). Based on the preliminary study (Sun et al., 2008), this paper proposes a skeletonization process to provide the proper positions of control points for the B-spline curve. It has fewer branches and indicates the positions of the control points more precisely than the Voronoi diagram. In this paper, we propose an intelligent flight task algorithm for UAV to effectively plan an appropriate flight path from a starting point to a destination in 3-D and complicated topographies. We also assume that the topography data includes the height of the object on the earth and the aerial imagery map of the earth is obtained by the Satellite. The flight path will meet a set of restrictions given as the initial UAV parameters, such as terrain information, starting point, direction point, end point, enforced maximum flight height and radius of gyration, while avoiding collision and satisfying the requirements of the shortest or safest path in a complicate 3-D terrain with mountains, valleys, crossways, and so forth. Particle swarm optimizer (PSO) is one method from the family of EA, and has the advantage of having a faster calculation ability than genetic algorithms (Ou & Lin, 2006). Therefore, the proposed method is composed mainly of the PSO, skeletonization, and B-spline curve. The flowchart of the proposed method is shown as Fig. 1. The B-spline curve method with skeletonization can provide several
Fig. 1. The flowchart of the proposed method.
10038
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
candidate paths with control points in a 2-D plane. That is to say, the skeletonization process is adopted to be a pre-processing that plan rough feasible path in 2-D plane. B-spline curve is able to provide a smooth flight route for UAV. The best control points of a B-spline curve are determined by PSO with proper initial population provided by the skeletonization process (the better paths of B-spline curve). Then, the best flight path for UAV is evaluated by these candidate paths with PSO in a 3-D environment. As a pre-processing procedure, skeletonization provides a better initial population for PSO, rather than through random initialization, to reduce the complexity of environment. Next, PSO is used to finetune paths in the 3-D environment and an appropriate path can be explored. This paper combines the advantages of graphic type planning (skeletonization pre-processing in a 2-D plane) and heuristic type planning (PSO in a 3-D space) to find the appropriate flight paths. This paper is organized as follows: Section 1 is the introduction. Section 2 introduces the related methods. Section 3 describes the proposed method in detail. Sections 4 and 5 are experimental results and discussion. The conclusion and future works are described in Section 6. 2. Related methods Related works and terminology used in the design of this process of UAV path planning are presented in this section, which include B-spline curves, skeletonization process and PSO. B-spline curves can produce smooth paths, skeletonization process and PSO are used to determine the path that the UAV will pilot in the specific landform. 2.1. B-spline curves The moving trajectories of UAV must be smooth and continuous, therefore there should be a minimal of sharp turns in its path planning. The B-spline curve method is used to generate the flight path of UAV in the algorithm of path planning to account for this necessity. Suppose the corner constraint of the B-spline curve is given and such curve is considered to be the flight path of UAV in 3-D space. As an added bonus, the B-spline curve can reduce a large amount of data in the evolutionary procedure because a B-spline curve requires only a few control points to define complicated and continuous paths, and is fluid enough to suit the UAV flight (Nikolos et al., 2003). In a 3-D environment, the B-spline curve for degree K is defined by n + 1 control points with coordinates from (x0, y0, z0) to (xn, yn, zn), respectively and blending functions Bi,k(t) to smooth the line that connects the control points:
8 n P > > XðtÞ ¼ xi Bi;k ðtÞ > > > i¼0 > > < n P YðtÞ ¼ yi Bi;k ðtÞ > i¼0 > > > n > P > > : ZðtÞ ¼ zi Bi;k ðtÞ
ð1Þ
i¼0
where symbol t is an adjustable parameter set between 0 and n K + 2. Bi,k(t) are defined in a set of Knot value. Knot(i) is given with (2), where 0 6 i 6 n þ K.
8 if i < K > < 0; KnotðiÞ ¼ i K þ 1; if K 6 i 6 n > : n K þ 2; ifn < i
Bi;K ðtÞ ¼
ðt KnotðiÞÞ Bi;K1 ðtÞ Knotði þ K 1Þ KnotðiÞ þ
ðKnotði þ KÞ tÞ Biþ1;K1 ðtÞ Knotði þ KÞ Knotði þ 1Þ
and when K = 1, the blending function Bi,k(t) is defined:
8 > < 1 if KnotðiÞ 6 t < Knotði þ 1Þ Bi;1 ðtÞ ¼ 1 if t ¼ Knotði þ 1Þand t ¼ n K þ 2 > : 0 Otherwise
where Knot(i) varies between 0 and n K + 2, i.e., 0 < K 6 n þ 1. Thus, blending functions Bi,k(t) are defined recursively, written as:
ð4Þ
where integer value K is the degree of B-spline curve, different K values could produce differently fluid curves. In other words, the swing of B-spline curves can be altered by changing K. The smaller the value prescribed to K, the sharper the swing of the path. A sharper swing can avoid more obstacles, but decelerates the UAV because the path would contain jagged turns and result in unstable flight. On the contrary, when a larger K is given, the path of the UAV becomes straighter, and travels with higher speed, but it may restrain the act of avoiding obstacles, shown in Fig. 2. Moreover, the indented permutation, shown in Fig. 2a and b, could bring more curves than a straight permutation, shown in Fig. 2c, and would show that this curve needs to avoid more obstacles. There are some concerns with using B-spline curves that need to be examined: (1) Unsatisfactory or acceptable paths are affected by the permutation of control points. (2) The number of control points affects the number of obstacles that UAV attempts to avoid. (3) UAV’s velocity and precision when avoiding obstacles are affected by K. The first and the second concerns mentioned above are improved by the skeletonization process described in the next subsection. As for the last problem, the segments of obstacles collision are modified and the appropriate path will be found using some appropriate criteria, so that, the degree K equals n + 1, which enables UAV to progress with higher speed and stability. 2.2. Skeletonization process Skeletonization process can rapidly plan the flight path among mountains. However, the planning paths must be more suitable for UAV. For example, the planning trajectory can help UAV fly over the mountains. Skeletonization process is divided into four parts. 2.2.1. Analyzing the whole flight area to produce skeleton path The skeleton is composed of medial axes supporting a framework of shapes. The shapes gathered by skeletonization are regarded as the flight area at a given height, the centers of which can be used as a blueprint of the safe paths between the mountains. There are many methods to skeletonize these patterns, in this work, the parallel algorithm for thinning is used (Zhang & Suen, 1984). Contour points are deleted or kept along the two different directions (i.e. northeast and southwest) under different circumstances. Contour points are deleted from the digital pattern (i.e. flight area) if it satisfies the following conditions: (1) Contour points are not endpoints. (2) If it does not affect the connection of the whole shape when it is deleted. In the first subiteration, the contour point P1 is deleted from the digital pattern if it satisfies both of the following conditions:
ðaÞ 2 6 NðP1 Þ 6 6 ðbÞ SðP1 Þ ¼ 1 ðcÞ P2 P4 P6 ¼ 0
ð2Þ
ð3Þ
ð5Þ
ðdÞ P4 P6 P 8 ¼ 0 where P1 is a pattern point, shown as Fig. 3a, S(P1) is the number of (0, 1) patterns in ordered set (P2, P3), (P3, P4),. . ., (P8, P9), (P9, P2) that are eight neighbors of P1, it is defined as follows:
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
10039
Fig. 2. 2-D B-spline curve with n + 1 control points and different K, coordinates of control points are the same in (a) and (b) with indented permutation, (c) represents a nonindented curve. The circles represent obstacles.
Fig. 3. (a) The thinning algorithm of contour point P1. (b) The blue area is the whole of flight area, and black points are skeleton points. The shapes of color zones are the obstacles, such as mountainside. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.) 9 X
SðP1 Þ ¼
Oi
ð6Þ
NðP 1 Þ ¼
i¼2
Oi ¼
1; if ðPi ; Piþ1 Þ is ð0; 1Þ 0; if ðPi ; Piþ1 Þ is otherwise
; i ¼ 2; 3; ::::7; 8
ð7Þ
O9 ¼
1; if ðP9 ; P2 Þ is ð0; 1Þ 0; if ðP9 ; P2 Þ is otherwise
ð9Þ
If any condition is not satisfied, P1 is not deleted from the digital pattern. In the second subiteration, only conditions (c) and (d) of (5) are changed as follows:
ðaÞ 2 6 NðP1 Þ 6 6
and O9 (i = 9) is written as follows:
Pi
i¼2
where Oi (i = 2 to 8) are defined as follows:
9 X
ð8Þ
In (5), N(P1) means the number of nonzero neighbors of P1, it is defined as follows:
ðbÞ SðP1 Þ ¼ 1 ðc0 Þ P2 P4 P 8 ¼ 0
ð10Þ
0
ðd Þ P 2 P 6 P8 ¼ 0 In the first subiteration, the south-east boundary is removed by (c) and (d) of (5); and the north-west boundary is removed by (c0 ) and
10040
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
(d0 ) of (10) in the second subiteration. The contour points of digital pattern (i.e. flight area, Fig. 3b) are deleted repeatedly by (5) and (10) until no more points satisfy the conditions of removal. After several iterations, only a skeleton of the pattern remains. The pseudo code of parallel algorithm for thinning is shown as Fig. 4. When the skeletonization is complete, there are many rough flight paths composed of skeleton points formed by the remains of the digital patterns, as shown in Fig. 3b. But these digital-type paths can’t be applied immediately to search for the best route in authentic environments, and a fluid trajectory is not produced. Therefore, branch points must be included as the control points for B-spline curves to solve the foregoing problem. 2.2.2. Search of the branch points Branch points are placed through 3 3 masks that are predefined with many rules to recognize proper branch points. The rules for these masks are defined by many kinds of permutation and combination composed of skeleton points in the places where the skeletal paths diverge. The branch points are regarded as control points of B-spline curves to produce a smooth path for UAV. In the work, the points of skeletonization are set as 1, the other points are set as 0, and the masks are defined by the following conditions (Huang, Wan, & Liu, 2003; Zhang & Suen, 1984):
ðaÞ P1 ¼ 1 ðbÞ 3 6 SðP 1 Þ
ð11Þ
ðcÞ 3 6 NðP1 Þ 6 5 where P1 is defined the same as Fig. 3a, S(P1) and N(P1) are defined the same as (6) and (9), the 3 3 masks are described in Fig. 5a by condition (11), the white points represent 1, the black points represent 0, and the blank space equal neither 0 nor 1. The five masks include four exposures and several combinations. If too many masks are defined, then it may recognize branch points at incorrect parts of the skeleton paths; if it does not have enough masks, then the numbers of control points are not sufficient to search for better paths rapidly in PSO, or the probability
Fig. 4. The pseudo code of parallel algorithm for thinning.
of dashing through obstacles will be increased. As long as all available branch points are discovered by a moderate number of rules, such as Fig. 5b, redundant points can be overlooked. Additionally, the defined points (i.e. starting point, direction point and end point from the initial UAV parameters in Fig. 1) are projected to the nearest positions of the skeleton points. The projected points are viewed as the provisional branch points in order to generate path segments, in other words, the path has 3 branch points (the projected points) at least. 2.2.3. Produce the path segments and candidate paths Candidate paths are multiple trajectories in the search area that can be piloted at a given altitude. This procedure is used to solve the following problems: (1) the digital patterns of skeleton paths are not suitable for the upcoming procedures (i.e. B-spline curve, PSO and cost function), so the data types of the skeletal paths have to be adapted to suit the requirements of application. (2) Skeleton paths cannot guide UAV toward the goal, even though they can guide the UAV around obstacles. Therefore, the flight path needs directions to guide UAV to its goal (Alvarez et al., 2004). By utilizing the 3 3 mask shown in Fig. 5 to the search, path segments can be produced gradually along the branch points of the skeleton paths. This represents arrayed relations between neighboring connected control points. Each candidate path can be constructed from branch points by using the right-hand rule (Nevison & Wells, 2004) very easily. Finally, the projected points are replaced by the defined points in order to meet the initial UAV parameters. The pseudo code of produce segment of path algorithm is shown as Fig. 6. Through this method, the branch points and the defined points are connected with neighboring points, becoming individual vectors; the permutations of branch points are shown in Fig. 7a. The vectors of branch points spread outwards from the starting point to other areas, including several vector points at the goal and the superfluous vectors. These superfluous vectors represent the routes that will force the UAV to leave the endpoint or produce unnecessary winding trajectories to the goal. By keeping the vectors pointed towards the goal and ignoring the superfluous vectors, the candidate paths can be determined by these vectors in linked lists (Preiss, 1999) and right-hand rule (Nevison & Wells, 2004), as shown in Fig. 7b. 2.2.4. Select the appropriate candidate path The produced candidate paths are all possible feasible flight paths for the UAV in its current environment. Although candidate
Fig. 5. (a) The 3 3 mask that search branch points. (b) The skeleton points (black point) and branch points (circular points).
10041
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
Fig. 6. The pseudo code of produce the segments of path.
paths are produced based on the three defined points (starting point, direction point, and end point), they may not all meet the flight task requirement for UAV. Therefore, a defined cost function must be used for evaluating the appropriate candidate path to meet the task requirement. The definition of cost function is described in Section 3. The evaluated values of these candidate paths are calculated once by cost function that will determine an appropriate candidate path to satisfy the task or requirements. The cost function is suitable both for selecting the appropriate candidate and for the PSO algorithm. The branch points of the appropriate candidate path are regarded as the control points for the B-spline curve, and are arrayed in a desired formation.
convergence to local and/or global optimal position(s) over a small number of generations. A swarm in PSO consists of a number of particles. Each particle represents a potential solution to the optimization task. All of the particles iteratively discover the probable solution. Each particle moves to a new position according to the new velocity which includes its previous velocity, and the moving vectors according to the past best solution and global best solution. The best solution is then kept; each particle accelerates in the directions of not only the local best solution but also the global best position. If a particle discovers a new probable solution, other particles will move closer to it in order to explore the region with more depth (Gudise & Venayagamoorthy, 2003). Let sz denote the swarm size. In general, there are three attributes, the particles’ current position pi, current velocity vi and local best position Pbi, for particles in the search space to present their features. Each particle in the swarm is iteratively updated according to the aforementioned attributes. Assuming that the cost function J is to be minimized so that the particles contain N dimensions, the new velocity of every particle is updated by
v i;j ðg þ 1Þ ¼ v i;j ðgÞ þ c1 r1
i;j
ðgÞ½Pbi;j ðgÞ pi;j ðgÞ þ c2 r 2i;j ðgÞ
½Gbj ðgÞ pi;j ðgÞ
For all j e 1. . .N, vi,j is the velocity of the jth dimension of the ith particle, the c1 and c2 denote the acceleration coefficients, r1 and r2 are elements from two uniform random sequences in the range (0, 1), and g is the number of generations. The new position of a particle is calculated as follows:
pi;j ðg þ 1Þ ¼ pi;j ðgÞ þ v i;j ðg þ 1Þ 2.3. Particle swarm optimizer The control points of permutation in the B-spline curve can generate many smooth paths for UAV. These paths are 2-D path sets in the search area at a given altitude, but UAV would be best suited to a flight path set in a 3-D environment. In addition, the paths are generated by larger K values in a B-spline curve. Although UAV can be allowed high velocity flight around obstacles, it may reduce the performance of avoiding obstacles. Simulations of these flight paths prove that there are instances of penetrating obstacles in parts of the path. In order to satisfy the requirements of high-speed flight, correct the parts of running into obstacles, and develop the most suitable path in a 3-D environment. In this paper, PSO is used to meet the flight requirement mentioned above in a 3-D environment. The PSO is a population based optimization technique proposed by Eberhart and Kennedy (1995)), it has also been used to solve various engineering problems (Hsieh, Sun, Liu, & Lin, 2008). The population is referred to as a swarm. The particles examine fast
ð12Þ
ð13Þ
In (13), pi,j represents the 3-D coordinates of all control points in a flight path. The local best position of each particle is updated by
Pbi ðg þ 1Þ ¼
Pbi ðgÞ;
if Jðpi ðg þ 1ÞÞ P JðPbi ðgÞÞ
Pbi ðg þ 1Þ otherwise
ð14Þ
and the global best position Gb found from all particles during the previous three steps is defined as:
Gbðg þ 1Þ ¼ arg min JðPbi ðg þ 1ÞÞ; 1 6 i 6 sz
ð15Þ
Pbi
In (14) and (15), the evaluated function value J is defined as Section 3. Because each particle movement is carried out according to the past best and global best solution, it will result in the inevitable confinement of particles in the local optimal solution (Lin, Hsieh, Sun, & Liu, 2006). In this case, there are many local optimal solutions among the mountainous regions, so a mutation-like
Fig. 7. (a) The solid lines are the candidate paths, the dotted lines are superfluous paths, and the red nodes are branch points. The arrow form starting point to direction point is the inertia vector of direction. (b) The candidate path in 3-D environment. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
10042
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
disturbance strategy has been included in the PSO process. The disturbance mechanism randomly activates under a disturbance probability q, which means each particle with probability q updates its new search direction and velocity randomly, without using (13) to update the search method, in order to avoid the event where a particle would fall into the local optimum. The disturbance mechanism is defined as follows:
pi;j ðg þ 1Þ ¼ pi;j ðgÞ þ ei;j
ð16Þ
where e is dependent on the size of the search area and distance among the mountains. A larger e lead particles to search the environment more expansively, but may reduce the detailed explorations of the area. While the disturbance mechanism is active, the selected particle will be randomly placed at a new random velocity with a new random direction (e value in this paper) using (16) instead of (13), and then this particle will continue to follow the PSO process to search for a better solution. The non-selected particles will continue the PSO iterations as usual and try to find a new solution. In this paper, the initial particles of PSO are obtained from the control points of the appropriate candidate path. In the proposed method, a matrix pcandidate is used to represent the control points of the appropriate candidate path:
2 pcandidate
x1
6 ¼ 4 y1 z1
x2 y2 z2
. . . xnþ1
3
7 . . . ynþ1 5 . . . znþ1
3. Proposed method In this section, the proposed method for appropriate UAV flight path planning is presented. Based on our previous work (Sun et al., 2008), the disturbance mechanism is added to improve the searching ability of the appropriate flight path. The disturbance mechanism is shown as (16) in Section 2. The improved performance is shown as Table 1 in Section 4. Detailed descriptions of the restrict function and cost function are contained in part 3.1 and 3.2, respectively, and the path planning procedure is in the part 3.3. 3.1. Restrict function The purpose of the restrict function is used to plan flight paths that make UAV avoid the collision to the obstacle, or the turning corner beyond the flight restrictions. The restrict function Jres is defined below:
P3 J res ¼
ð17Þ
where size of pcandidate is 3 (n + 1), each column represents a control point and pcandidate has a total of n + 1 control points that are explored during the skeletonization process. In (17), the z’s are equal to each other. The initial particles of PSO are defined as follows:
pi ¼ rc pcandidate
in a 3-D environment can be generated with PSO. This method of skeletonization can reduce the complexity of the solution space, allowing exploration of the appropriate path in a smaller solution space, producing results in fewer generations.
ð18Þ
where rc is element from a uniform random sequence in the range (0.8, 1.2), represents the multiple operation and pi is the ith particle. Each particle represents a possible flight path. This method can reduce computation time because a smooth path can be found by a small amount of control points. Through skeletonization, a group of control points are taken as proper initial particles (initial population) for the task requirement in PSO. Although the current appropriate candidate path is a 2-D path, an appropriate flight path
i¼1 J i
ð19Þ
3
where Ji denotes the value of the ith condition. The denominator in (19) is used to regularize Jres. The planned path will meet the requirement of flight if the value of Jres is equal to zero. The meanings of J1, J2 and J3 are described below. J1 is the length of the intersection between the path and an obstacle. A smaller J1 implies that the UAV crosses fewer obstacles; a feasible path would have a J1 of zero, as described in Fig. 8.
Table 1 The simulation results of different disturbance probability.
q=0 q = 0.1 q = 0.2 q = 0.3
Generation 10
Generation 20
Generation 120
Generation 500
0.1924 0.1447 0.1447 0.1375
0.1409 0.1360 0.1370 0.1362
0.1381 0.1314 0.1347 0.1349
0.1381 0.1265 0.1316 0.1340
Fig. 8. Schematic representations of the curvature angle, safe range and J1. If hn < minimum curvature angle hmin < hm, the trajectory in hn is unsuitable for flight. The dotted line means the flight path, dpm and dpn are mth and nth discretized path points, where m < n in this figure.
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
J2 is the length of path intersecting the obstacle and the unsafe range, as shown in Figs. 8 and 9, where the unsafe range is defined as half width of UAV in this paper. A smaller J2 means a lower probability of touching obstacles when the UAV moves. J1 is dependent on J2 but they are ascribed to different characteristics; J1 is determined if the path is feasible and J2 is determined if the path is safe. In short, if the path is unfeasible, then the path is unsafe. In practice, there is an upper bound when an UAV turns around. When a planned path contains a violent turn, UAV would deviate from the expected trajectory and be faced with a dangerous situation. J3 is to calculate the length of path when the curvature angle of the planned path falls below the lower bound (i.e. minimum curvature angle hmin). Assume the path has ps discretized path points that have a short enough distance between two successive points; those points can comprise ps 1 vectors:
tj ¼ dpjþ1 dpj
ð20Þ
where dpj is the jth discretized path point, j = 1, 2, . . ., ps 1, and the instantaneous angle of the path, hk can be determined by tk and the following:
hk ¼ cos1 ððtk Þ tkþ1 Þ
ð21Þ
where k = 1, 2,. . ., ps 2. A violent angle ~ h can be determined by the following:
~h ¼ fhk jhk < hmin ; k ¼ 1; 2; . . . ; ps 2g
ð22Þ
where ~ h is a set of hk that is smaller than hmin. In this paper, a variable n is defined as the amount of the set ~ h and n is dependent on different paths, such as the candidate paths and the paths that are represented by each particle. The third restrict value J3 is described as follows:
J3 ¼
maxðnÞ ps 2
ð23Þ
If the involved turns are under the upper bound in a planned path, J3 will be zero, shown in Fig. 8. 3.2. Cost function In order to allow the UAV to perform its task safely and efficiently in a complex landform, many constraints on UAV properties and the environment have to be considered before a path is planned. Two important conditions such as feasibility, safeness, ability of UAV, timeliness and smoothness are acknowledged in this paper. The cost function Jcost for PSO is created by the combination of these conditions:
J cost ¼
w4 J 4 þ w5 J 5 w4 þ w5
ð24Þ
10043
where w4 and w5 are weights according to different flight task. J4 and J5 denote the value of the 4th and 5th condition. J4 is to calculate the whole length of path. A smaller J4 means a shorter path. Sometimes the shortest path is not the best solution because it may involve many dangerous turns where the speed of UAV would be decreased to avoid collision with obstacles. J5 represents the degree of path curve; it is a summation of angular displacement in a planned path. A small J5 means that the path is as straight as an arrow. 3.3. Path planning procedure The flowchart of the proposed method for UAV path planning is shown as Fig. 1. Before the planning procedure, several initial parameters, including starting point, ending point, point of direction, turning radius of UAV have to be given. The flowchart of Fig. 1 includes two main steps. The first step (skeletonization) is to extract the feasible area at the correct height in the correct of direction. Then, the area is thinned and a feasible path is generated from the results. All feasible paths are generated at the height of the landscape, and the algorithm is shown as Fig. 6. The skeletonization result is only a set of paths on a 2-D plane, an UAV, however, moves in a 3-D environment. Thus, a proper path is selected with cost function through skeletonization process. Then the initial particles of PSO are obtained by executing the fine disturbed operation on the control points of the appropriate candidate path (the second step, the pseudo code is shown as Fig. 10). The process mitigates the difficulty in choosing proper initial particles for PSO. Consequently, the coordinates of the branch points for the appropriate candidate path are fine adjusted by PSO, the feasible flight path of UAV is discovered shortly by restrict and cost functions after the PSO devotes its searching in the 3-D environment, in a few generations. The pseudo code of the proposed method is shown as Fig. 10. 4. Simulation results This paper uses Matlab as the experiment environment. Simulation results include two parts; the first part contains the results of disturbance probability q, associated with the proposed method. The second part contains the simulation results from using the proposed method to develop the path of UAV; the proposed method can find suitable paths based on the requirements of the current task, such as the shortest path, or security-oriented path. 4.1. The simulation results of disturbance probability Because of the tendency for particles to be bounded to the local optimal, a disturbance mechanism has been incorporated to eject
Fig. 9. Schematic representation of safe distance between obstacles and UAV.
10044
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
usually near the direction point and destination, so the two control points are not considered in particle movement. The number of non-stationary control points generally falls between 4 and 9 points depending on the different environments and distances. In this paper, the amounts of total control points including the start, direction, and destination points are between 7 and 12. If there were 5 non-stationary control points, then the dimension of each particle in the 3-D environment is 5 3 = 15; this value is adjusted in accordance with the number of control points. Simulations were divided into three cases: (1) Focusing on the shortest path, (2) finding a safety-oriented path with fewer swerves, (3) using only the skeletonization process to produce the path. 4.2.1. Case I: focusing on the shortest path The start point of UAV is (40.7, 4.8, 0), the direction point is (56.9, 4.8, 0.5), and the goal point is (176, 105, 0). The weights of (24) are w4 = 0.8 and w5 = 0.2. When the path of UAV is feasible, J1, J2 and J3 should approach 0, and cost value is determined mainly by w4 and w5. The appropriate candidate path (the shortest path) is chosen with the cost function. The cost function is shown as (24). Next, the appropriate path of UAV was produced by PSO through the nine control points that are chosen by the appropriate candidate path, as shown Fig. 11. The planned path in Fig 11 is the shortest path although it has to avoid 8 obstacles along its trajectory. Fig. 10. The pseudo code of proposed method.
the particles from there. However, a disturbance mechanism that has a large disturbance probability may reduce the performance explore the area thoroughly. As the simulation results shown in Table 1, a cost function value of q = 0 converges slowly and stops exploring for better solutions after 120 generations. While q = 0.1, the cost function converges faster than q = 0, and retains the ability to explore better solution even after 120 generations. But once a larger q is given, the convergence is retarded once again, because the disturbance mechanism results in generations that cannot search by past experiences, so the search performance could be reduced by a larger q. In addition, the convergence of cost function is noticeable. Therefore, q is defined as 0.1 on the following simulations of the proposed method. 4.2. The paths based on requirement of different task The simulation adopts simulated complex landforms and produces flight paths for UAV among mountains using the algorithm of environment exploration. In order to accommodate the performance of different UAVs, an upper limit of flying altitude was enforced. In the simulation, the initial flight parameter is set up as follows: in skeletonization, the sampling of skeletonization was executed at 0.9 km, the flight height of skeletonization is 3 km (the height of direction point), maximum flight curvature of UAV is 2.75 (radian/km), safe altitude is set 2.8 km, and the maximum flight height is 3.8 km. The parameters of PSO are set up as follows: particle number is 10, the initial velocity of each particle is zero, disturbance probability q = 0.1, c1 = 0.4, c2 = 0.4. The evolution generations set as 30, even though feasible paths can be distinguished in less than 15 generations. The search range of x direction and y direction is between 0 and 200 km, and the search range of z direction is from 1.5 km to 3.8 km. To fully meet the requirements of high-speed flight, the value K for the B-spline curve has been set to its maximum: n + 1. The number of control points for the B-spline curve will be dependent on an appropriate candidate path produced by skeletonization. In addition, the first control point and the last control point are
4.2.2. Case II: finding a safety-oriented path A curved trajectory is hard to follow because to UAV requires nimble and complicated control commands, and such trajectory may bring unstable or jolty flight. If the planned path can avoid fewer obstacles, than it is a safety-oriented path. The permutation of control points indicates the number of avoided obstacles. If permutation is incised in order to avoid obstacles, as shown in Fig. 11, the summation of angular displacement J5 in the planned path will be larger, which means it includes more curves. In this part, a larger w5 is considered to minimize J5 to plan a safety-oriented path, which means the path would include fewer curves. The start of UAV is (40.7, 4.8, 0), the direction point is (56.9, 4.8, 0.5), and the goal point is (176, 105, 0), these points are set as part 4.2.1. The weights of (24) are w4 = 0.2 and w5 = 0.8. With a larger weight given to w5, the appropriate candidate path would be the safest path because it has the most subdued arc after skeletonization. Next, the appropriate path for the UAV is produced by PSO through the nine control points that are chosen by the appropriate candidate path, as shown in Fig. 12. The planned path in Fig. 12 is safer than the shortest path in Fig. 11 because it only has to avoid 3 obstacles along its trajectory.
Fig. 11. The shortest path in 3-D environment.
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
Fig. 12. The safety-oriented path with fewer curves in 3-D environment.
4.2.3. Case III: using only skeletonization to produce the path The UAV can still avoid obstacles if it uses a path produced with only skeletonization, but it lacks the dexterity to travel at high speeds, as shown in Fig. 13a. Then, if the degree K of the B-spline curves was changed to the maximum (i.e. K = n + 1), as shown in Fig 13b, the path created would be a straight path which would allow the UAV to travel at high velocity, but it fails to avoid obstacles along some parts of the path. In addition, the path produced by skeletonization is on a plane, so it can’t correctly guide the UAV to avoid obstacles present in the 3-D space. The use of PSO to correct the path to avoid obstacles, and to redesign the path into a 3-D model is vital to the success of the proposed method. 5. Discussion The results of the experiments confirm the proposed method can guarantee efficient design of the best flight route for the UAV and explore similar appropriate paths during several runs to prove the proposed method is credible. This section contains two comparisons to prove both the skeletonization pretreatment and PSO are indispensable. The first comparison is between three methods: (I) proposed method; (II) using PSO with random initial values; and (III) using PSO that gives the placement of the initial particles, where the control points are aligned between the start and the goal. The second comparison is between the proposed method and skeletonization. The comparisons are as follows:
10045
The convergence through generations is compared between three methods. The parameter of PSO is defined as follows: particle number is 30, disturbance probability q = 0.25, which means PSO requires the larger disturbance range (i.e. e) and larger disturbance probability to leave the local optimum. c1 = 0.4, c2 = 0.4, the search range of x–y plane is between 0 km and 200 km, the search range of the z axis is between 2 km and 3.8 km, run time is set to 120 generations. The weight of cost function is defined as follows: w4 = 0.8 and w5 = 0.2, the weights reflect the focus is on finding the shortest path. Method I (i.e. proposed method) uses 8 control points to search for the path using PSO, the initial particles are determined by skeletonization; method II (the method only using PSO) uses 4 control points, because the excess control points will reduce the efficiency of evolution, and the initial particles are generated randomly; method III is a copy of method II, except of the placement of the initial particles, which are generated on the line between start and goal. In this part, the smaller the cost function value is, the more suitable the path is for the task. Fig. 14 shows the average convergence of the best particle progressions in the evolutional process for 100 runs, which means 100 different random functions are used for generating the random variable values include the disturbance satisfaction condition shown in Fig. 10, r1 and r2 in (12), and the value of the disturbance mechanism e shown in (16). Method I could converge to a small value faster after fewer generations, while other methods (i.e. methods II and III) takes up to 120 generations to find their solutions. Even though the comparative methods eventually discover the flight path of UAV, they were not as fast to converge on the cost values. The comparison of the three methods proves the permutation of control points is important when using PSO to search for the proper path. Skeletonization can generate the best permutations of control points, and it enables the cost function to converge more rapidly than other methods. After comparing the results for 100 runs, the simulation results of three methods presented in Table 2. It is evident the standard deviations of methods II and III are higher than method I, which shows the other methods will develop different paths even though they are given uniform parameters. This is caused by the entrapment of PSO particles in the local optimal. The standard deviation of method I is a smaller value, which indicates the paths are converged near the same area as those found by skeletonization.
Fig. 13. Using only the skeletonization to produce the path, (a) is the appropriate candidate path using B-spline curve where K = 3 (b) is the appropriate candidate path using B-spline curve where K = 11 (maximum).
10046
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
Fig. 15. The cost functions of generations with three methods with the suitable parameters of each method. Fig. 14. The cost function of generations with three methods.
Table 2 The simulation results of three methods (100 runs). Items
Method I
Method II
Method III
Standard deviation Average
0.0706 0.1570
0.1711 0.1967
0.3663 0.1759
paths that have small enough costs can all be justified into 3-D paths by PSO although those candidate paths would describe different feasible paths in the environment. In Table 3, the values of the second column represent the cost function value Jcost of each
Table 3 The simulation results of each candidate path.
The velocity must be sufficient in order for the particles of PSO to explore the whole topography. In these comparisons, the proposed method is set with the same parameters as other methods of PSO because of the need to prove the advantages of skeletonization. In fact, the proposed method uses fewer particles, slower velocity, smaller disturbance range, and disturbance probability in its exploration of the region of landforms, and produces a more detailed result. Fig. 15 shows how the individual parameters of each case compare, the cost function value of the proposed method converges to 0.1409 rapidly in less than 20 generations, and the standard deviation of the proposed method reduces to 0.0807. This experiment compares skeletonization and the proposed method in order to prove the effects of PSO. The paths generated by skeletonization must travel along a winding trajectory before reaching the end point because the paths are limited by search height in the 2-D plane, as shown in Fig. 16a, but with the PSO, better paths in the 3-D environment can be explored, such as a shorter path above mountains, as shown in Fig. 16b. These comparisons prove the proposed method can discover a better path than methods that uses solely skeletonization or PSO. After Simulations of 100 runs, the paths are planned near the same local area and have a smaller cost function, which illustrates the exceptional abilities of the proposed method in designing paths. In the proposed method, the candidate path with the minimum cost is selected as the appropriate path. In fact, several candidate
Candidate path number
path path path path path path path path path path path path path path path path path path path path path path path path path
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Cost function value Jcost in (24)
0.3147 0.3147 0.3150 0.3153 0.3155 0.3226 0.3226 0.3229 0.3232 0.3234 0.3316 0.3316 0.3319 0.3322 0.3324 0.4048 0.4048 0.4051 0.4054 0.4056 0.4073 0.4073 0.4076 0.40793 0.40813
Average cost function values and standard deviation of Jcost in (24) with 100 runs by PSO Average cost function values
Standard deviation
0.1570 0.1575 0.1616 0.1596 0.1570 0.1657 0.1676 0.1762 0.2208 0.1976 0.1696 0.2052 0.2413 0.2381 0.2468 0.2381 0.2620 0.2784 0.2871 0.2873 0.2943 0.3287 0.3131 0.3222 0.3184
0.0706 0.0850 0.0810 0.0828 0.0753 0.0802 0.0823 0.0799 0.0862 0.0868 0.0903 0.0897 0.0856 0.0785 0.1051 0.0976 0.0853 0.1257 0.0964 0.0840 0.1276 0.1119 0.0981 0.1060 0.1513
Fig. 16. (a) The path using only skeletonization (K = 3), (b) the path using skeletonization and PSO.
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048 Table 4 The simulation results under 100 different random functions and the different c1 and c2 values. c1
0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
c2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
Average cost function values and standard deviation of Jcost in (24) with 100 runs by PSO Average cost function values
Standard deviation
0.0708 0.0681 0.0676 0.0673 0.0670 0.0671 0.0671 0.6722 0.6755
0.0560 0.0182 0.0177 0.0200 0.0179 0.0198 0.0197 0.0210 0.0213
candidate path, the values of the third and the fourth column represent the average and the standard deviation of 100 cost function values Jcost with 100 runs using PSO method. In Table 3, each candidate path is optimized into 3-D paths that satisfy the task requirement after executing 100 PSO runs. Path numbers represent the appropriate level of the candidate path. The paths with smaller average cost and standard deviation (i.e. path number from 01 to 07) can produce nearly 3-D paths, although the appropriate costs are different. 3) This part will discuss the simulation results that 100 different random functions are used for generating the random variable values include the disturbance satisfaction condition shown in Fig. 10, r1 and r2 in (12), and the value of the disturbance mechanism e shown in (16). The acceleration coefficients c1 and c2 are set as several different values for discussing. The values in Table 4 represent the average and the standard deviation of 100 cost function values Jcost with 100 runs using PSO method. In Table 4, the average values and the standard deviations are almost the same, which means the proposed algorithm in this paper will get the same result under 100 different random functions and the setting values of c1 and c2. 6. Conclusion and future works This paper developed a new path planning algorithm for UAV, which skillfully associated two chief processes and utilized their advantage for 2-D searches and 3-D optimization. The preprocessing of skeletonization fully explores the probable paths on the 2-D solution space, and then sieves out the best path from candidate paths according to the proposed cost function. Next, the PSO uses the best 2-D path as efficient initial particles; therefore, PSO is able to avoid unnecessary exploration and devote detailed optimization to find an ideal path on the 3-D space. From the simulation results, it has been demonstrated that the operator can tune the weights of five considered factors in the cost function according to the task requirement, and the ideal paths are efficiently and rapidly composed on complex landforms. The path planning considers several conditions, including the flight height, the radius of gyration, safe route and shortest route, but the path planning is not yet completely suitable as the trajectory of UAV needs to consider several characteristics of flight and physics restrictions, such as the flight dynamic model (Giulietti, Pollini, & Innocenti, 2000) and flight controller (Belkharraz & Sobel, 2007). If the method can incorporate dynamic models of UAV as part of the cost function or as another condition, the paths can then be adapted to authentic air vehicles. In the future, the system will be researched and improved for other situations, such as an on-line system, simultaneous design of paths for multiple UAVs or multiple tasks, and combined path planning with the track trajectory system. An analysis mechanism of the branch points for finding the appropriate flight path in some
10047
terrains such as a single winding valley with no branch points is also one of the future works.
References Alvarez, A., Caiti, A., & Onken, R. (2004). Evolutionary path planning for autonomous underwater vehicles in a variable ocean. IEEE Journal Oceanic Engineering, 29(2), 418–429. Azariadis, P. N., & Aspragathos, N. A. (2005). Obstacle representation by bumpsurfaces for optimal motion-planning. Robotics and Automation Systems, 51(2– 3), 129–150. Beard, R. W., McLain, T. W., Goodrich, M. A., & Anderson, E. P. (2002). Coordinated target assignment and intercept for unmanned air vehicles. IEEE Transactions on Robotics and Automation, 18(6), 911–922. Belkharraz, A. I., & Sobel, K. (2007). Simple adaptive control for aircraft control surface failures. IEEE Transactions on Aerospace and Electronic Systems, 43(2), 600–611. Bethke, B., Valenti, M., & How, J. P. (2008). UAV task assignment. IEEE Robotics and Automation Magazines, 15(1), 39–44. Bhattacharya, P., & Gavrilova, M. L. (2007). Voronoi diagram in optimal path planning. In Proceedings of IEEE International Symposium on Voronoi Diagrams in Science and Engineering (pp. 38–47). Wales, UK. Bhattacharya, P., & Gavrilova, M. L. (2008). Roadmap-based path planning – using the Voronoi diagram for a clearance-based shortest path. IEEE Robotics and Automation Magazines, 15(2), 58–66. Chen, S. H., Sun, T. Y., Tsai, S. J., Tsai, C. H., Wu, C. M., & Ting, S. H. (2007). Intelligent control of air combat maneuvering automation based on input-output linearization and particle swarm optimizer. In Proceedings of eighth international advanced intelligent systems symposium (pp. 211–216). Sokcho, Korea. Diaz de Leon, S. J. L., & Sossa, A. J. H. (1998). Automatic path planning for a mobile robot among obstacles of arbitrary shape. IEEE Transactions on Systems, Man and Cybernetics. Part B Cybernetics, 28(6), 467–472. Eberhart, R. C., & Kennedy, J. (1995). A new optimizer using particle swarm theory. In Proceedings on sixth international symposium, micro machine and human (pp. 39–43). Nagoya-shi, Aichi, Japan. Ge, S. S., & Cui, Y. J. (2000). New potential functions for mobile robot path planning. IEEE Transactions on Robotics and Automation, 16(5), 615–620. Giulietti, F., Pollini, L., & Innocenti, M. (2000). Autonomous formation flight. IEEE Control Systems Magazine, 20(6), 34–44. Gu, Y., Seanor, B., Campa, G., Napolitano, M. R., Rowe, L., Gururajan, S., et al. (2006). Design and flight testing evaluation of formation control laws. IEEE Transactions on Control Systems Technology, 14(6), 1105–1112. Gudise, V. G., & Venayagamoorthy, G. K. (2003). Comparison of particle swarm optimization and backpropagation as training algorithms for neural networks. In Proceedings of IEEE swarm intelligence symposium (pp. 110–117). Indianapolis, IN, USA. Hsieh, S. T., Sun, T. Y., Liu, C. C., & Lin, C. W. (2008). An improved particle swarm optimizer for placement constraints. Special issue on particle swarms: The second decade. Journal of Artificial Evolution and Applications, Article ID 514879, 10 p, Open Access Journal. Huang, L., Wan, G., & Liu, C. (2003). An improved parallel thinning algorithm. In Proceedings of the Seventh international conference on document analysis and recognition (pp. 780–783). Edinburgh, Scotland, UK. Hwang, J. Y. (2003). A fast path planning by path graph optimization. IEEE Transactions on Systems, Man and Cybernetics, 33(1), 121–128. Kanchanavally, S., Ordonez, R., & Schumacher, C. J. (2006). Path planning in three dimensional environment using feedback linearization. In Proceedings of American control conference (pp. 3545–3550). Minneapolis, MN, USA. Kavraki, L., Svestka, E. P., Latombe, J. C., & Overmars, M. H. (1996). Probabilistic roadmaps for path planning in high-dimensional configuration spaces. IEEE Transactions on Robotics and Automation, 12(4), 566–580. Koren, Y., & Borenstein, J. (1991). Potential field methods and their inherent limitations for mobile robot navigation. In Proceedings of IEEE robotics and automation conference (pp. 1398–1404). Sacramento, CA, USA. LaValle, S. M. (2006). Planning algorithms. Cambridge University Press. Lin, C. L., Hsieh, S. T., Sun, T. Y., & Liu, C. C. (2006). Cluster distance factor searching by particle swarm optimization for self-growing radial basis function neural network. In Proceedings of international joint conference on neural networks (pp. 4825–4830). Vancouver, BC, Canada. Mittal, S., & Deb, K. (2007). Three-dimensional offline path planning for UAVs using multiobjective evolutionary algorithms. IEEE congress on evolutionary computation (pp. 1395–3202). Singapore. Mostafavi, M. A., Gold, C., & Dakowicz, M. (2003). Delete and insert operations in Voronoi/Delaunay methods and applications. Computers and Geosciences, 29, 523–530. Nevison, C., & Wells, B. (2004). Using a maze case study to teach: Objectoriented programming and design patterns. In Proceedings of the sixth Australasian computing education conference (Vol. 30, pp. 207–215). Dunedin, New Zealand. Nikolos, I. K., Valavanis, K. P., Tsourveloudis, N. C., & Kostaras, A. N. (2003). Evolutionary algorithm based offline/online path planner for UAV navigation. IEEE Transactions on Systems, Man and Cybernetics. Part B Cybernetics, 33(6), 898–912.
10048
T.-Y. Sun et al. / Expert Systems with Applications 38 (2011) 10036–10048
Ou, C., & Lin, W. (2006). Comparison between PSO and GA for Parameters Optimization of PID Controller. In Proceedings of 2006 IEEE international mechatronics and automation conference (pp. 2471–2475). Luoyang, Henan, China. Peng, J. L., Zhu, F., Sun, X. X., & Sun, B. (2007). On route-planning of UAV based on discrete PSO and Voronoi diagram. In Proceedings of IEEE Chinese control conference (pp. 804–807). Zhangjiajie, Hunan, China. Preiss, B. R. (1999). Data structures and algorithms with object-oriented design patterns in C++. John Wiley & Sons. Ren, J., McIsaac, K. A., Patel, R. V., & Peters, T. M. (2007). A potential field model using generalized Sigmoid functions. IEEE Transactions on Systems, Man and Cybernetics. Part B Cybernetics, 37(2), 477–484. Saska, M., Macas, M., Preucil, L., & Lhotska, L. (2006). Robot path planning using particle swarm optimization of Ferguson splines. In Proceedings of IEEE conference on emerging technologies and factory automation (pp. 833–839). Czech Republic.
Shima, T., Rasmussen, S., & Gross, D. (2007). Assigning micro UAVs to task tours in an urban terrain. IEEE Transactions on Control Systems Technology, 15(4), 601–612. Sun, T. Y., Huo, C. L., Tsai, S. J., & Liu, C. C. (2008). Optimal UAV flight path planning using skeletonization and particle swarm optimizer. In Proceedings of IEEE world congress on computational intelligence (pp. 1183–1188). Hong Kong. Sun, T. Y., Tsai, S. J., Lee, Y. N., Yang, S. M., & Ting, S. H. (2006). The study on intelligent advanced fighter air combat decision support system. In Proceedings of IEEE information reuse and integration conference (pp. 39–44). Hawaii, USA. Van den Berg, J. P., & Overmars, M. H. (2005). Roadmap-based motion planning in dynamic environments. IEEE Transactions on Robotics, 21(5), 885–897. Yang, X., Moallem, M., & Patel, R. V. (2005). A layered goal-oriented fuzzy motion planning strategy for mobile robot navigation. IEEE Transactions on Systems, Man and Cybernetics. Part B Cybernetics, 35(6), 1214–1224. Zhang, T. Y., & Suen, C. Y. (1984). A fast parallel algorithm for thinning digital patterns. Communication on ACM, 27, 236–239.