Real-Time Efficient Exploration in Unknown Dynamic ... - MDPI

3 downloads 0 Views 10MB Size Report
Nov 18, 2018 - Furthermore, the generated path must be free of the collision [9]. .... darker areas represent the close areas to the obstacles and the bright areas ... because the entire trajectory is utilized as an indication of the visited locations, ...
Missing:
International Journal of

Geo-Information Article

Real-Time Efficient Exploration in Unknown Dynamic Environments Using MAVs Haytham Mohamed 1, *, Adel Moussa 1,2 , Mohamed Elhabiby 3 and Naser El-Sheimy 1 1 2 3

*

Department of Geomatics Engineering, University of Calgary, Calgary, AB T2N 1N4, Canada; [email protected] (A.M.); [email protected] (N.E.-S.) Department of Electrical and Computer Engineering, Port-Said University, Port-Said 42523, Egypt Public Works Department, Ain Shams University, Cairo 11566, Egypt; [email protected] Correspondence: [email protected]; Tel.: +2-01-101-199-333

Received: 21 September 2018; Accepted: 14 November 2018; Published: 18 November 2018

 

Abstract: Micro aerial vehicles (MAVs) have been acknowledged as an influential technology for indoor search and rescue operations. The time constraint is a crucial factor in most search and rescue operations. The employed MAVs in indoor environments are characterized by short endurance flight time and limited payload weights. Hence, adding more batteries to extend the flight time is practically not feasible. Typically, most of the indoor missions’ environments might not be accessed and remain unknown. Working in such environments requires effective exploration and information gathering to save time and maximize the coverage area. Furthermore, due to the dynamism of such environments, choosing the least risky trajectory is an important task. This paper proposes a real-time active exploration technique which is capable of efficiently generating paths that minimize the vehicle’s risk and maximize the coverage area. Furthermore, it accomplishes real-time monitoring of sudden changes in the estimated map, due to the dynamic objects, by reevaluating at real-time the destination and trajectory to minimize the risk on the chosen path and simultaneously preserving the maximization of the coverage area. Ultimately, recording the implemented trajectory of the vehicle also assists in time-saving as the vehicle depends on this trajectory during the exit process. The performance of the technique is studied under static and dynamic environments and is also compared with different algorithms. Keywords: scan matching; SLAM; laser rangefinder; point registration; least squares; line tracking; PCA; ICP; MAV; reference key frame

1. Introduction Exploration of unknown environments using robots, such as unmanned ground vehicles (UGVs) and unmanned aerial vehicles (UAVs), is a problem of acquiring local knowledge to proceed along investigating and discovering novel places in the exploring environment [1,2]. Exploration is divided into two types, namely directed and undirected exploration [3]. Directed exploration considers the gained knowledge or previous history to facilitate future exploration. On the other hand, the undirected exploration algorithms do not consider the gained knowledge along the trajectory. Completeness and effectiveness are two key tasks for typical exploration [1]. Thus, the robot requires discovering as much of the environment as possible to perform completeness, while simultaneously achieves this completeness with minimum efforts, for instance time and power consumption. Various applications such as search and rescue operations [4] and reconnaissance [5] require exploration to accomplish their missions. Micro aerial vehicles (MAVs) are categorized as miniature UAVs. Their small size makes them superior to their peers in discovering narrow places. On the other hand, they are also characterized ISPRS Int. J. Geo-Inf. 2018, 7, 450; doi:10.3390/ijgi7110450

www.mdpi.com/journal/ijgi

ISPRS Int. J. Geo-Inf. 2018, 7, 450

2 of 23

by short flight time due to the payload restriction. MAVs have been acknowledged as an influential technology for indoor search and rescue operations, providing real-time mapping of the environment, locating victims, and determining the hard-to-access areas after a natural disaster. The time constraint is also a crucial factor in most search and rescue operations. Using larger batteries to extend the flight time is constrained by the payload limitation. Such limitation might affect the exploration of the indoor missions’ environments and limit its accessibility. Consequently, working in such environments requires effective exploration by generating efficient paths to maximize the coverage area in short time [1,6]. The problem of the path planning (i.e., trajectory generation) is a problem of finding a proper trajectory to a definite destination, according to the limitations of the environment and the vehicle as well [7,8]. Thus, this problem is considered to be an optimization problem. The vehicle has to generate a real-time path from the current position to the goal position with particular optimization criteria such as shortest path [9]. Furthermore, the generated path must be free of the collision [9]. Many algorithms and methods, such as Dijkstra [10,11], A-star (A*) [12,13], artificial potential field (APF) [14], rapidly-exploring random tree (RRT) [15,16], and bidirectional RRT [17,18], have been developed for path planning problem which focuses on finding the optimum route to the destination. Such techniques, however, do not consider efficiency regarding the exploration of the area, such as maximizing the visited area. They have different optimization criteria for the trajectory generation, such as lowest executed time, shortest path, least power consumption and lowest time complexity. Dijkstra’s algorithm is a shortest path algorithm based on a weighted graph and it aims to find the least cost path between two nodes in a graph, namely source and goal nodes. The A* algorithm is an extension of the Dijkstra’s algorithm. However, the A* algorithm is based on a heuristic approach. Thus, the A* algorithm differs from the Dijkstra’s algorithm in the description of the node cost indices. The APF method depends on creating a potential field that consists of attraction and repulsion forces to/from the goal and obstacles, respectively. Hence, the vehicle moves under the influence of both forces from the source to the position of the goal. RRT addresses the path planning problem based on a sampling-based algorithm. The RRT algorithm also finds a path between the start and the destination nodes, but it may not be the optimal path due to the random behavior. The bidirectional RRT is proposed to enhance the time consumption of the RRT algorithm by generating two trees at both start and destination nodes instead of one tree at the start node only. Due to dynamism of such environments, several algorithms were developed to regenerate at real-time a new path to avoid the moving objects, such as dynamic artificial potential field method (DAPF) [19], extended RRT algorithm (ERRT) [20], Dynamic RRT algorithm (DRRT) [21], reconfigurable random forest algorithm (RRF) [22], and multipartite RRT (MP-RRT) [23]. The DAPF method is divided into predictor and planner parts. The moving obstacles are indexed, and its motion is predicted using the predictor part. The attractive and repulsive forces are defined by the planner according to the vehicle’s position, goal, and finally the position of the static and dynamic obstacles. The ERRT algorithm maintains all the intermediate nodes after successful path generation in a waypoint cache. After that, the algorithm uses these nodes to bias the random selection of the nodes during a new planning iteration. The DRRT algorithm is similar to ERRT algorithm in which the algorithm preserves the previous successful path. However, the DRRT algorithm uses the previous branches that are connected to the source node and not the previous intermediate nodes. The RRF algorithm constructs a forest of disconnected RRTs in advance. During the implementation, the algorithm removes invalid nodes due to a sudden change in the environment. Then, the algorithm connects to one of the previously constructed RRT in the forest until reaches the goal. The MP-RRT algorithm combines the strengths of ERRT and DRRT algorithms. The MP-RRT algorithm biases the sampling distribution across previously successful nodes and selects previously used branches. Working in unknown dynamic environments requires effective exploration and information gathering. Therefore, developing an active exploration technique which is capable of accomplishing real-time monitoring of sudden changes in the estimated map by reevaluating the destination and trajectory is of immense importance. Besides, the exploration technique should be efficient by

ISPRS Int. J. Geo-Inf. 2018, 7, 450

3 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

3 of 23

maximizing the visited area to increase the effectiveness of the search and rescue operations. Ultimately, maximizing the visited area to increase the effectiveness of the search and rescue operations. recording the implemented trajectory of the vehicle also assists in time-saving as the vehicle depends Ultimately, recording the implemented trajectory of the vehicle also assists in time-saving as the on vehicle this trajectory exit process. dependsduring on thisthe trajectory during the exit process. This paper is organized illustratesan anoverview overviewstructure structure proposed This paper is organizedasasfollows: follows: Section Section 2 2 illustrates of of thethe proposed method. The representation of the static and dynamic map objects is explained in Section 3. Section method. The representation of the static and dynamic map objects is explained in Section 3. Section 4 4 demonstrates optimized Dynamicobjects objectsmonitoring monitoring is illustrated demonstrates optimizedreal-time real-timetrajectory trajectory generation. generation. Dynamic is illustrated in in Section 5. The experimental results are presented in Section 6. Finally, the conclusion is provided Section 5. The experimental results are presented in Section 6. Finally, the conclusion is provided in in Section 7. 7. Section 2. Overview Structure 2. Overview Structureofofthe theProposed ProposedMethod Method Figure 1 shows theoverview overviewstructure structure of of the the proposed key frame (RKF) Figure 1 shows the proposedmethod. method.The Thereference reference key frame (RKF) algorithm is used to construct the map of the unknown environment and localize the vehicle inside algorithm is used to construct the map of the unknown environment and localize the vehicle inside this this map A filtering approach is proposed by Mohamed al. [25] distinguish between map [24]. A[24]. filtering approach is proposed by Mohamed et al.et[25] that that can can distinguish between static and dynamic in the exploring environment. The filtering approach represents the staticand andstatic dynamic objects objects in the exploring environment. The filtering approach represents the static and dynamic the environment separate grids (i.e., map); first gridrepresents representsthe dynamic objectsobjects of the of environment usingusing two two separate grids (i.e., map); thethe first grid the static objects, while the second grid represents the dynamic objects. However, the static and static objects, while the second grid represents the dynamic objects. However, the static and dynamic dynamic information should be amended to facilitate the computing of the cost function map to information should be amended to facilitate the computing of the cost function map to generate a generate a proper trajectory according to the current situation and the exploring environment. Thus, proper trajectory according to the current situation and the exploring environment. Thus, the distance the distance transform (DT) method is utilized to represent the static objects [26], while the Gaussian transform (DT) method is utilized to represent the static objects [26], while the Gaussian kernel is used kernel is used to represent the dynamic objects. The outcomes of the DT and Gaussian kernel are fed to represent the dynamic objects. The outcomes of the DT and Gaussian kernel are fed to the adjusted to the adjusted A* algorithm as a heuristic value matrix, as described below. The adjusted A* A* algorithm algorithm is as responsible a heuristic value matrix, asthe described adjusted algorithmpath is responsible for generating requiredbelow. path. The However, thisA*generated can be for suspended generating either the required path. However, this generated path can be suspended either because the dynamic objects monitoring process observes intruders because within athe dynamic objects monitoring intruders within a predetermined area or the required predetermined area or the process requiredobserves destination is reached. Thus, the algorithm generates another destination is reached. Thus, the algorithm generates another path according to the new situation. path according to the new situation.

Figure1.1.Overview Overview of of the Figure the system systemstructure. structure.

3. Representation ofofStatic 3. Representation Staticand andDynamic Dynamic Map Map Objects Objects 3.1.3.1. Static Representation Static RepresentationUsing UsingDistance DistanceTransform Transform (DT) (DT) Method Method The DT appliedtoto transform the binary to a distance It is a The DTisisaa method method applied transform the binary imageimage to a distance image. Itimage. is a function function each image is assigned a minimum non-negative value ( p)assigned (𝑝)) (𝐷 (. ))( Dwhereby each image pixel pixel (𝑝) is a minimum non-negative value (𝐷( D P (.)) whereby P ( p )) corresponding to to distance G ). ) totothe ) ininthe corresponding distancefrom from( p(𝑝) thenearest nearestobstacle obstacle(q(𝑞) thebinary binaryimage image ((𝐺). 𝐷 (𝑝) = min(𝑑(𝑝, 𝑞)),

DP ( p) = min ∈ ( d ( p, q )), p∈ G

(1) (1)

Figure 2 illustrates the designation of each pixel of the image with a distance to the nearest obstacle using distance transform method. method a variety Figurepixel 2 illustrates the designation of eachDT pixel of thehas image withofacomputation distance to methods; the nearest

obstacle pixel using distance transform method. DT method has a variety of computation methods; the

ISPRS Int. J. Geo-Inf. 2018, 7, 450

4 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

4 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

4 of 23

implemented method, in this research work, is work, the Euclidean distance which represents the straight-line the implemented method, in this research is the Euclidean distance which represents the distance between two pixels. the implemented method, in this straight-line distance between two research pixels. work, is the Euclidean distance which represents the straight-line distance between two pixels.

Figure Distancetransform transform (DT) (DT) method Figure 2.2.Distance methodusing usingEuclidean Euclideandistance. distance. Figure 2. Distance transform (DT) method using Euclidean distance.

result of this implementation (i.e., distance map) inverted acquire two objectives:The Thefirst TheThe result of this implementation (i.e., distance map) is is inverted toto acquire two objectives: The result of this implementation (i.e., distance map) is inverted to acquire two objectives: The first objective is to use the decreasing intensity levels from the static obstacles and its boundaries to a objective is to use the decreasing intensity levels from the static obstacles and its boundaries to create first objective is to use the decreasing intensity levels from the static obstacles and its boundaries to create a cost representation. The prohibitive costs are allocated at the static obstacles and its cost representation. The prohibitive costs are allocated at the static obstacles and its boundaries, while create a costwhile representation. The are allocated atbetween the static obstacles the low costs areprohibitive allocated at costs the intermediate area obstacles.and Dueits to theboundaries, low costs are allocated at the intermediate area between the obstacles. Due the to the prohibitive costs boundaries, while theoflow are allocated at the intermediate area of between theobstacles obstacles.seems Due to the prohibitive costs thecosts obstacles and its neighbors, the thickness the static to of the obstacles and its neighbors, the thickness of the static obstacles seems to be extended in such a the prohibitive costs aofway the to obstacles itsarea neighbors, thickness ofthe theobstacles, static obstacles seems to be extended in such prepareand a safe as far asthe possible from as shown in the way to prepare a safe area as far as possible from the obstacles, as shown in the examples below. Hence, be extended in such a waythis to prepare a safe areaaascandidate far as possible the obstacles, as in the examples below. Hence, safe area creates path from that intermediates theshown obstacles to thisexamples safe areabelow. creates a candidate path that intermediates the obstacles to avoid collisions, as shown Hence, this safe areaThe creates a candidate path that intermediates obstacles to avoid collisions, as shown hereafter. second objective is to prevent the vehicle the to pass through hereafter. The second objective is to prevent the of vehicle to pass narrow gaps. Figures 3two and 4 avoid collisions, as shown second objective is to through prevent the vehicle to pass through narrow gaps. Figures 3 andhereafter. 4 show anThe example a binary image of an indoor environment with show an sufficient example of a binary of indoor environment gaps,the sufficient and insufficient narrow gaps. Figures 3 and image 4 show anan example a DT binary oftwo andetect indoor environment with twoa gaps, and insufficient gaps, and how of the canimage be with used to sufficient space for gaps, and how the DT can be used to detect the sufficient space for a vehicle to pass. The green ellipse gaps, sufficient gaps, andthe how the DT gap, can be usedthe tored detect theshows sufficient space for a vehicle to pass. and The insufficient green ellipse shows sufficient while circle the insufficient shows the sufficient gap, while the red circle shows the insufficient gap. The position of the vehicle vehicle toposition pass. The ellipseisshows the sufficient gap, triangle. while the red circle shows the insufficient is gap. The ofgreen the vehicle represented by the blue represented by the blue gap. The position of thetriangle. vehicle is represented by the blue triangle.

Figure 3. Binary image for indoor environment.

Figure image for forindoor indoorenvironment. environment. Figure3. 3. Binary Binary image Figure 4 represents the corresponding distance transform of the image in Figure 3 where the Figure 4 represents corresponding distance transform ofthe theimage image Figure 3far where Figure 4 represent representsthe theclose corresponding transform in in Figure 3 where the the darker areas areas to thedistance obstacles and the of bright areas represent the areas darker areas represent close areas obstacles and bright areas represent far areas darker represent thethe close areas to to thethe obstacles and thethe bright areas represent thethe faraccepting areas from fromareas the obstacles. This cost representation helps in preparing a safe path for the vehicle by the obstacles. This cost representation in preparing a safe path vehicle byaccepting accepting the the areas above specific safety tolerance tohelps be preparing among the a candidate areas forthe the planned trajectory. thefrom obstacles. Thisacost representation helps in safe path forfor the vehicle by the above areas above a specific safety tolerance be among candidate areas forthe theplanned plannedtrajectory. trajectory. areas a specific safety tolerance to betoamong thethe candidate areas for

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

5 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, 450

5 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

5 of 23 5 of 23

Figure 4. The result of the DT method using Euclidean distance.

Figures 5 and 6 illustrate the binary images of parts of the gathered datasets and the corresponding DT results. It is obvious from the presented figures that the DT method achieves the objectives above. Part of the constructed map (Map I), using reference key frame algorithm [24], is Figure4.4.The Theresult resultof ofthe the DT DT method method using Figure usingEuclidean Euclideandistance. distance. presented as a binary image, shown in of Figure with its DT Euclidean depicted distance. in Figure 5b. The walls are Figureas 4. The result the DT5amethod using successfully extended, and a candidate safe area is prepared which is represented by brightest Figures 5 and 6 illustrate the binary parts of the datasets gatheredand datasets andcolor, the Figures 5 and 6 illustrate the binary images images of parts of of the gathered the corresponding Figures 5 and 6asillustrate the binary images ofstatic parts of the as gathered datasets and the between the walls to be far as possible from all current obstacles, shown in Figure 5b. corresponding DT results. It is obvious from the presented figures that the DT method achieves the DT results. It is obvious from the presented figures that the DT method achieves the objectives above. corresponding DT results. It is obvious from the presented figures that the DT method achieves the above. Partmap of the constructed map (Mapkey I), using frame algorithmas[24], is Partobjectives of the constructed (Map I), using reference framereference algorithmkey [24], is presented a binary objectives above. Part of the constructed map (Map I), using reference key frame algorithm [24], is presented as a binary image, as shown Figure 5a with its DT depicted in are Figure 5b. The walls are image, as shown Figure 5a with DTindepicted walls successfully presented as in a binary image, asits shown in Figurein 5aFigure with its5b. DTThe depicted in Figure 5b. The extended, walls are successfully extended, and a candidate safe area is prepared which is represented by brightest color, and asuccessfully candidate safe area isand prepared which is represented by brightest color, between the wallscolor, to be extended, a candidate safe area is prepared which is represented by brightest between the walls to be as far as possible from all current static obstacles, as shown in Figure 5b. as farbetween as possible from all current static obstacles, as shown in Figure 5b. the walls to be as far as possible from all current static obstacles, as shown in Figure 5b.

(a)

(b)

Figure 5. Part of the constructed map I: (a) binary representation; and (b) the corresponding result using the DT method.

Part of another constructed map (Map II) is presented as a binary(b) image, as shown in Figure 6a. (a) (a) (b) All the narrow gaps between the walls can be easily excluded (threshold) leaving only one feasible Figure 5. Part of the constructed map I: (a) binary representation; and (b) the corresponding result gap for the vehicle to pass through, as shown in Figure 6b. The safe path is corresponding also presentedresult by the Figure 5. Part ofconstructed the constructed I: (a) binary representation;and and(b) (b)the the corresponding Figure 5.the Part the mapmap I: (a) binary representation; result using DTofmethod. white in using thethe DTmiddle method.of all static objects. usingcolor the DT method. Part of another constructed map (Map II) is presented as a binary image, as shown in Figure 6a. Part of another constructed map (Map II) is presented as a binary image, as shown in Figure 6a. All the narrow gaps between the walls can be easily excluded (threshold) leaving only one feasible All the narrow gaps between the walls can be easily excluded (threshold) leaving only one feasible gap for the vehicle to pass through, as shown in Figure 6b. The safe path is also presented by the gap for the vehicle to pass through, as shown in Figure 6b. The safe path is also presented by the white color in the middle of all static objects. white color in the middle of all static objects.

(a)

(b)

Figure 6. Part constructedmap mapII: II:(a) (a)binary binary representation; representation; and result Figure 6. Part of of thethe constructed and(b) (b)the thecorresponding corresponding result using the DT method. using the DT method. (a) Part of another constructed map (Map II) is presented as a binary(b) image, as shown in Figure 6a. (a) (b) All the narrow gaps between the walls can be easily excluded (threshold) leaving only oneresult feasible gap Figure 6. Part of the constructed map II: (a) binary representation; and (b) the corresponding Figureto 6. pass Part of the constructed map in II: Figure (a) binary representation; andis(b) the presented corresponding result for the vehicle through, as shown 6b. The safe path also by the white using the DT method. using the DT method. color in the middle of all static objects.

ISPRS Int. J. Geo-Inf. 2018, 7, 450

6 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

6 of 23

3.2. Dynamic Representation Using Gaussian Kernel

3.2. Dynamic Representation Using Gaussian Kernel

The dynamic grid includes information about the moving objects inside the exploring The dynamic grid includes information about the moving objects inside the exploring environment. The dynamic object and its moving history are expressed as occupied cells with different environment. The dynamic object and its moving history are expressed as occupied cells with probability The highest assigned toisthe cell of the mostcell recent occupation, while different values. probability values. probability The highestisprobability assigned to the of the most recent theoccupation, probabilitywhile valuesthe of probability the rest of the cells are decreasing as time proceeds. Keeping the historical values of the rest of the cells are decreasing as time proceeds. information of the dynamic objects over timedynamic is conducted givetime a more robust representation of the Keeping the historical information of the objectstoover is conducted to give a more movement of the dynamic objects, especially dealing with noisy measurements robust representation of the movement of thewhen dynamic objects, especially when dealing (i.e., with low-cost noisy laser scanner rangefinder). Each occupied is represented using the Gaussian kernel,using where measurements (i.e., low-cost laser scanner cell rangefinder). Each occupied cell is represented thethe mean value of the Gaussian is the center of the cell, while the standard deviation is selected to cover Gaussian kernel, where the mean value of the Gaussian is the center of the cell, while the standardtwo deviation is selected to cover two more of themargin neighboring cells build safety margin around the of or more of the neighboring cells to or build safety around thetodynamic objects. The selection Thedepends selectiononofthe thedensity standard deviation depends the the density of theenvironment. dynamic thedynamic standardobjects. deviation of the dynamic objectson inside explored inside the explored environment. standard deviation increases with Theobjects standard deviation increases with the The highly populated environments and the vicehighly versapopulated to reflect the environments and vice versa to reflect the extent of the occupation uncertainty under the different extent of the occupation uncertainty under the different situations. situations. Figure 7a demonstrates the representation of straight-line movement of a dynamic object using Figure 7a demonstrates the highest representation of straight-line a dynamicof object using successive Gaussian kernels. The peak presents the cellmovement of currentof occupation the dynamic successive Gaussian kernels. The highest peak presents the cell of current occupation of the dynamic object, while the descending behavior peaks show the history of the object movement. Maintaining object, while the descending behavior peaks show the history of the object movement. Maintaining the history information in the dynamic grid is chosen according to the application by adjusting the the history information in the dynamic grid is chosen according to the application by adjusting the probability computation of the cells. Figure 7b demonstrates the same straight-line movement of the probability computation of the cells. Figure 7b demonstrates the same straight-line movement of the dynamic object as in Figure 7a. However, it shows a short period of the history information in the dynamic object as in Figure 7a. However, it shows a short period of the history information in the dynamic grid as as thethe Gaussian cells. dynamic grid Gaussiankernels kernelsoccupy occupyonly only three three cells.

(a)

(b)

Figure 7. Representationofofthe thedynamic dynamic movement movement using (a)(a) a long Figure 7. Representation using successive successiveGaussian Gaussiankernels: kernels: a long period of the history information;and and(b) (b)aashort short period period of of the period of the history information; the history historyinformation. information.

Moreover, the Gaussiankernels kernels are are also thethe previously executed trajectory of Moreover, the Gaussian alsoused usedtotorepresent represent previously executed trajectory the vehicle. thethe previous trajectory is treated as dynamic objects.objects. Contrary to dynamic object of the vehicle.Thus, Thus, previous trajectory is treated as dynamic Contrary to dynamic representation, eacheach vehicle’s position is represented independently from from the previous positions by object representation, vehicle’s position is represented independently the previous positions a separate Gaussian kernel. There is no decreasing of the probability values as time proceeds because by a separate Gaussian kernel. There is no decreasing of the probability values as time proceeds the entire trajectory is utilized as an indication of the visited locations, as shown in Figure 8. because the entire trajectory is utilized as an indication of the visited locations, as shown in Figure 8. Therefore, the algorithm will not revisit the same place twice because this visit will raise the cost Therefore, the algorithm will not revisit the same place twice because this visit will raise the cost which which is minimized by the algorithm. is minimized by the algorithm. Although the Gaussian kernels are utilized to represent the previous trajectory for maximizing the visited area during the exploration, these probability values of the occupations are reversed to be very low value, negative values, to attract the vehicle to use it during the exit process for time saving.

ISPRS Int. J. Geo-Inf. 2018, 7, 450 ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

7 of 23 7 of 23

Figure partofofthe thevehicle’s vehicle’s trajectory trajectory representation kernel. Figure 8. 8.AApart representationusing usingGaussian Gaussian kernel.

4. Although Optimizedthe Real-Time Trajectory Generation Gaussian kernels are utilized to represent the previous trajectory for maximizing

the visited during these aprobability values of the occupations aresurrounding reversed to be Thearea MAV mustthe beexploration, able to choose proper destination according to the very low value, negative values, to attract the vehicle to use it during the exit process for timemap, saving. environment and the constraints of the vehicle such as its size. Using the partially constructed the vehicle detects empty exits in the current environment, such as open doors, windows, or even

4. Optimized Real-Time Trajectory free spaces between obstacles insideGeneration a room, thereby enabling the vehicle to estimate the position of the exits and choose them as its next destinations. Furthermore, static andenvironment dynamic The MAV must be able to choose acandidate proper destination according to the both surrounding representations are used as risk cost functions. The vehicle will then decide the most efficient and the constraints of the vehicle such as its size. Using the partially constructed map, the vehicle trajectory from the candidate destinations, while maximizing the visited area of the surrounding detects empty exits in the current environment, such as open doors, windows, or even free spaces environment with the least cost.thereby enabling the vehicle to estimate the position of the exits and between obstacles inside a room, choose them as its next candidate destinations. Furthermore, both static and dynamic representations Adjusted A* Algorithm are used as risk cost functions. The vehicle will then decide the most efficient trajectory from the A* destinations, algorithm is considered to be the most efficientarea heuristic path planning approach [12,27]. Thethe candidate while maximizing the visited of the surrounding environment with goal of this algorithm is to find the shortest path from a known node’s position to a known node’s least cost. destination passing through a group of nodes. The search space is divided into two lists in this

algorithm, namely open and closed lists. The open list is the list of nodes that needs to be investigated, Adjusted A* Algorithm

while the closed list is the list of nodes that have already been investigated. The A* algorithm uses A* algorithm considered to betothe most the efficient heuristic pathasplanning some parameters,iscalled node data, achieve shortest path, such H, G, andapproach F values, [12,27]. and Theparent goal nodes. of thisThe algorithm to find the shortest from a known node’s position to a node known H value,iswhich is called Heuristicpath value, represents a cost distance from each node’s destination passing a group nodes. search space isin divided into two in this in the search space to thethrough destination nodeofand this The value is registered each node. The lists G value algorithm, namely open and closed lists. The open list is the list of nodes that needs to be investigated, represents the cost of the movement from one node to another and it is also registered in each node. while closed the list of of nodes have alreadyThe been investigated. The A*the algorithm uses Thethe F value is list the is summation boththat H and G values. parent node represents node that some parameters, called node data, to achieve the shortest path, such as H, G, and F values, and parent reaches the current node.

nodes. The H value, which is called Heuristic value, represents a cost distance from each node in the 𝐹 (𝑡) = 𝐺 (𝑡) + 𝐻 (𝑡), (2) search space to the destination node and this value is registered in each node. The G value represents thewhere cost of the movement from one node to another and it is also registered in each node. The F value is the summation of both H and values. parent node represents the node that reaches the 𝐺: movement’s cost value matrix fromGone nodeThe to another current node. value matrix 𝐻: heuristic 𝐹: summation of both G and H values Fi (t) = Gi (t) + Hi (t), (2) 𝑖: the 𝑖th node in the matrix

where 𝑡: epoch

G: movement’s cost value from one node to another For occupancy grid matrix map representation, each cell of the grid is represented as a node. The A* beginsmatrix by computing the H value for every node in the search space. From the start node, H: algorithm heuristic value the algorithm theH G values value for all nodes of the first neighbor level. After that, the F value is F: summation ofcomputes both G and calculated node, as shown in Figure 9. The H values are represented by the red numbers that i: the ith nodefor ineach the matrix shows the number of steps required to reach the destination node. The G values are represented by t: epoch the black numbers, which are in integer form after using Euclidean distance computation. The F

ISPRS Int. J. Geo-Inf. 2018, 7, 450

8 of 23

For occupancy grid map representation, each cell of the grid is represented as a node. The A* algorithm begins by computing the H value for every node in the search space. From the start node, the algorithm computes the G value for all nodes of the first neighbor level. After that, the F value is calculated for each node, as shown in Figure 9. The H values are represented by the red numbers that ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW 8 of 23 shows the number of steps required to reach the destination node. The G values are represented by the black numbers, which are by in integer form after using Euclidean distance computation. The F values values are represented the green numbers. The blue numbers are the number of the nodes. Theare represented by the green numbers. The blue numbers are the number of the nodes. The black squares black squares are obstacles on the map. The open list contains the nodes under investigation such as arenodes obstacles listThe contains under such nodes 9, 10, 8, 9,on 10,the 15, map. 17, 22,The 23, open and 24. closed the list nodes contains nodeinvestigation 16. Node 16 is the as parent for8,the 15, next 17, 22, 23, and 24. The closed list contains node 16. Node 16 is the parent for the next selected node. selected node.

Figure 9. 9. A* A* algorithm. Figure algorithm.

In the next step, theA* A*algorithm algorithmchooses chooses the with thethe lowest F value. In the next step, the the current currentcandidate candidatenode node with lowest F value. Hence, nodes 17 and 23 are selected with no priority for the node to start with. The same procedure Hence, nodes 17 and 23 are selected with no priority for the node to start with. The same procedure is is repeated then repeated for both nodes nodes 17 and After several steps,the theclosed closedlist listisis extended extended by then for both nodes (i.e.,(i.e., nodes 17 and 23).23). After several steps, by the investigated nodes until reaching the destination node. In addition, the parent nodes are the investigated nodes until reaching the destination node. In addition, the parent nodes are stacked stacked with the chosen nodes that express the shortest path. with the chosen nodes that express the shortest path. However, A* algorithm uses the distance to the destination as a heuristic to focus on finding the However, A* algorithm uses the distance to the destination as a heuristic to focus on finding shortest path. For fulfilling the desired requirements such as avoiding obstacles, maximizing the the shortest path. For fulfilling the desired requirements such as avoiding obstacles, maximizing the visited areas, and minimizing the risk on the generated path, an adjusted version of A* algorithm is visited areas, and minimizing the risk on the generated path, an adjusted version of A* algorithm introduced. is introduced. In this version, as mentioned above, the DT method is used to represent the static obstacles, In this askernel mentioned above, the DT the method is used to represent the staticofobstacles, while while theversion, Gaussian is used to represent dynamic objects and the trajectory the vehicle. theThese Gaussian kernel is used to represent the dynamic objects and the trajectory of the vehicle. These representations are summed together and fed into the A* algorithm as cost functions with the representations summed together and fed into the A* algorithm as cost functions the shortest shortest path.are Consequently, the H value (Heuristic value) is designated to the mergedwith cost functions path. Consequently, the H value (Heuristic value) is node designated to the merged cost functions instead instead of the Euclidean distance value from each to the destination node (goal). Hence, the F of thevalues Euclidean value from obstacles, each nodethe to cells the destination nodeobjects, (goal).and Hence, the F values of of thedistance cells near the static of the dynamic the implemented due tothe thecells excessive of theobjects, H values. the generated pathare thetrajectory cells nearare themagnified static obstacles, of thecost dynamic andTherefore, the implemented trajectory avoids all hazardous areas, such and dynamic to minimize the all riskhazardous on the magnified due to the excessive costas ofstatic the Hobstacles values. Therefore, theobjects, generated path avoids generated andobstacles implicitlyand avoid collisions. Furthermore, the performed trajectory is bypassed areas, such aspath static dynamic objects, to minimize the risk on the generated pathtoand maximize the visited areas. Ultimately, dealing with the cells of the occupancy grid generates a implicitly avoid collisions. Furthermore, the performed trajectory is bypassed to maximize the visited trajectory characterized by jaggedness and is often inconvenient. Thus, the generated path is areas. Ultimately, dealing with the cells of the occupancy grid generates a trajectory characterized by smoothed, to be proper for the UAV, using the moving average filter [28]. (

𝑆 (𝑖) = ∑ where 𝑆 : the output signal

) (

)

𝑆 (𝑖 + 𝑗),

(3)

ISPRS Int. J. Geo-Inf. 2018, 7, 450

9 of 23

jaggedness and is often inconvenient. Thus, the generated path is smoothed, to be proper for the UAV, using the moving average filter [28]. 1 Sop (i ) = n

( n −1) 2



j=

Sip (i + j),

(3)

−(n−1) 2

where Sop : the output signal Sip :ISPRS the input signal Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

9 of 23

n: number of points in the average 𝑆 : the signal i: index of input the signal

𝑛: number of points in the average 𝑖: Once index of thethe A*signal algorithm generates a path, the algorithm is turned to be idle until interruption

takes place. This interruption occurs either when the vehicle reaches the current destination, or the Once the A* algorithm generates a path, the algorithm is turned to be idle until interruption generated pathThis is abruptly changed, foreither instance dynamic object blocksthe thecurrent generated path. Whenever takes place. interruption occurs when the vehicle reaches destination, or the thegenerated MAV penetrates the circle of acceptance surrounding the destination point, the algorithm starts to path is abruptly changed, for instance dynamic object blocks the generated path. Whenever generate a new path to a new destination. the MAV penetrates the circle of acceptance surrounding the destination point, the algorithm starts finishing the Gaussian kernels of the implemented trajectory, which toAfter generate a new the pathrequired to a newmission, destination. are usedAfter to maximize therequired visited area during the exploration, arethe utilized to create a returnwhich path by finishing the mission, the Gaussian kernels of implemented trajectory, are used to maximize thetovisited exploration, to create a return path by inverting their cost values attractarea the during vehiclethe to use it duringare theutilized exit process. inverting their cost values to attract the vehicle to use it during the exit process.

5. Dynamic Objects Monitoring 5. Dynamic Objects Monitoring

Due to the limitations of the indoor environment, the moving objects cannot typically move Duespeed, to the limitations of the indoor environment, the moving objectsthe cannot typically move with with high but they can perform the steep maneuver. Hence, motion prediction of the high speed, but they can perform the steep maneuver. Hence, the motion prediction of the moving moving objects is not convenient for every moving object, for instance people. The prediction of their objects is isnot for every object,maneuverability. for instance people. The prediction of their movements an convenient arduous process due moving to their high Moreover, extra computations movements is an arduous process to their high maneuverability. Moreover, extra have to be executed in real-time fordue all detected moving objects, which increases thecomputations computational have to be executed in real-time for all detected moving objects, which increases the computational burden of the algorithm. Instead of motion prediction, the proposed method creates a safety margin, burden of the algorithm. Instead of motion prediction, the proposed method creates a safety margin, for instance a circle with a pre-assigned radius, according to the surrounding environment, around the for instance a circle with a pre-assigned radius, according to the surrounding environment, around vehicle’s body. Once the moving object penetrates the safety margin, the algorithm stops executing the vehicle’s body. Once the moving object penetrates the safety margin, the algorithm stops the generated path and begins to regenerate a new path according to the current situation. Figure 10 executing the generated path and begins to regenerate a new path according to the current situation. shows a sanctuary surrounds the vehiclethe from all directions to perceive the intruders and after Figure 10 shows athat sanctuary that surrounds vehicle from all directions to perceive the intruders thatand launches the interrupt. The blue dotted line represents the border of the safety margin, while after that launches the interrupt. The blue dotted line represents the border of the safety margin,the brownish circle is the safety The radiusThe of the circle (r ). as (𝑟). while the brownish circle ismargin. the safety margin. radius of is thedenoted circle is as denoted

Figure10. 10.Monitoring Monitoring of of the Figure the dynamic dynamicobjects. objects.

6. Experimental Results To evaluate the efficiency of the proposed path generation method, the proposed method is compared with A*, APF, RRT, and bidirectional RRT using simulated and real datasets in static and dynamic environments. Table 1 shows the environment status and type for each experimental dataset. All the comparisons have been performed using the same computing platform (MATLAB) on a Dell Inspiron 7000 series, Intel core i7-7500U 2.7 GHz, 16 GB RAM, 64-bit operating system.

ISPRS Int. J. Geo-Inf. 2018, 7, 450

10 of 23

6. Experimental Results To evaluate the efficiency of the proposed path generation method, the proposed method is compared with A*, APF, RRT, and bidirectional RRT using simulated and real datasets in static and dynamic environments. Table 1 shows the environment status and type for each experimental dataset. All the comparisons have been performed using the same computing platform (MATLAB) on a Dell Inspiron 7000 series, Intel core i7-7500U 2.7 GHz, 16 GB RAM, 64-bit operating system. Table 1. The environment status and type for each experimental dataset. Dataset Name

Environment Type

Environment Status

Dataset I Dataset II Dataset III Dataset IV Dataset V

environment I/simulation

static static dynamic static dynamic

environment II/real environment III/real

The adjusted A* algorithm generates a path within a square window, the dimension of the window is equal to the maximum detection range of the utilized laser scanner rangefinder, 6 m. Since the size of individual grid cell is 5 cm, and each grid cell represents a node. Therefore, the search domain is created from 240 × 240 nodes (i.e., grid cells). For Dataset I, Figure 11 illustrates the simulation results of generating paths using A* algorithm, APF method, RRT algorithm and bidirectional RRT algorithm, respectively. The black and magenta asterisks represent the positions of the source and goal points, respectively. In Figure 11a, the generated path using A* algorithm is represented by the red line, while the generated path using APF method is represented by the blue squares. The generated path of the A* algorithm passes through the insufficient space, as shown by the orange arrow, due to shortest path behavior of the algorithm. Furthermore, the generated path is chosen close to the static object, which exposes risk to the vehicle. The APF method fails to provide a solution because the method is trapped in local minima, as shown by the green circle. The processing time of the A* algorithm is 466 ms. The processing time of the APF method is not available because the method is trapped. Figure 11b,c shows the generated paths using different iterations of RRT algorithm. The red and blue lines represent the generated paths in different iterations. It is clear that each iteration of the algorithm generates a new path due to the random nature of the algorithm. The generated path goes across the insufficient space, as shown in Figure 11b, while the generated path goes across the sufficient space, as shown in Figure 11c. Thus, the algorithm does not guarantee that the generated path passes through the sufficient space to reach the goal point. The processing times of the iterations are 3573 and 4205 ms. Figure 11d,e demonstrates the generated paths using different iterations of bidirectional RRT algorithm. The red and blue lines represent the two generated trees from each seed (i.e., source and goal points). The green line represents the connection between the two trees. The algorithm also does not guarantee that the generated path passes through the sufficient space. The processing times of the iterations are 3312 and 2179 ms. Figure 12 demonstrates the cost map of the static representation using the proposed method which is computed from the static objects only using the DT method. The static obstacles are represented by the brightest color which represents the highest cost, whereas the cost gradually decreases for the extension of the obstacles. On the other hand, the lowest cost is represented by the darkest color which represents the least available risky areas. This cost map is fed into the adjusted A* algorithm as a heuristic value. Figure 13 shows the generated trajectory within the extension of the static objects. The source point is represented by the blue asterisk, while the goal point is represented by the red asterisk. The generated path is represented by the green line. Obviously, the insufficient space is completely blocked by performing the obstacle extension process. Thus, the insufficient space will not be a candidate path for the vehicle. Moreover, the generated path adheres to the darkest color/least cost areas in the map to efficiently decrease the flight risk of the vehicle.

ISPRS Int. J. Geo-Inf. 2018, 7, 450

11 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

11 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

11 of 23

(a) (a)

(b)

(c)

(b)

(c)

(d)

(e)

(d) (e) Figure Generated path,for forDataset DatasetI,I,using: using:(a) (a)A* A*algorithm algorithm and and APF APF method; Figure 11.11. Generated path, method; (b) (b) first first iteration iteration of of the RRT algorithm; (c) second iteration of the RRT algorithm; (d) first iteration of the bidirectional Figure 11. Generated path, for Dataset I, using: (a) A* algorithm and APF method; (b) first iteration the RRT algorithm; (c) second iteration of the RRT algorithm; (d) first iteration of the bidirectional RRT RRT algorithm; (e)(c) second iteration thethe bidirectional algorithm. of the RRT second iteration of RRT algorithm; (d) first iteration of the bidirectional algorithm; andalgorithm; (e)and second iteration of theofbidirectional RRTRRT algorithm. RRT algorithm; and (e) second iteration of the bidirectional RRT algorithm.

Figure 12. The cost map of the static representation for Dataset I. Figure12. 12.The Thecost costmap map of of the the static I. I. Figure static representation representationfor forDataset Dataset

ISPRS Int. J. Geo-Inf. 2018, 7, 450

12 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

12 of 23

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

12 of 23

Figure The generatedpath, path,for forDataset Dataset I, I, within obstacles. Figure 13.13. The generated within the theextension extensionofofthe thestatic static obstacles.

Figure shows the generated path before and smoothingpath. process it also represents a Figure 14 15 demonstrates the 2D representation of after the generated Theand blue asterisk represents Figure 13. The generated path, for Dataset I, within the extension of the static obstacles. zoomed area of part of Figure 14. The magenta line represents the generated path before the the position of the starting point, while the red asterisk represents the position of the goal point. The green line represents the smoothing path. The affecting generatedthe path before the Thesmoothing smoothedprocess. path is represented by the green line. Since the only factor path generation Figure process 15 showsisthe generated path before and after smoothing process and represents a smoothing crimped. This behavior is because the constructed mapitisalso built using an is the static environment, the generated path is attempted to be in the middle of the obstacles to zoomed area of part of Figure the 14. generated The magenta represents generated path before the occupancy grid. Subsequently, pathline transfers fromtheone cell to another without minimize the risk of the generated path. The processing time of the proposed algorithm is 550 ms. smoothing The green line represents path. behavior The generated before the prejudice toprocess. the optimization goal (i.e., minimizethe thesmoothing risk). The crimp affects path the smoothness Thesmoothing processingprocess time has also been tested on a lightis weight board (UDOO X86)map andisthe computed time is crimped. This behavior because the constructed built of the flight which includes, but is not limited to, endurance time and battery consumption.using an is 610 ms. Thisgrid. embedded system the consists of a single computer which on Quad Core occupancy Subsequently, generated path board transfers from one cell istobased another without ®® . This board meets the deployment requirements 64-bit new-generation X86 processors made by Intel prejudice to the optimization goal (i.e., minimize the risk). The crimp behavior affects the smoothness on small size UAVs of the flight which[29]. includes, but is not limited to, endurance time and battery consumption.

Figure 14. 2D representation of the generated path, for Dataset I, using the adjusted A* algorithm in a static environment. Figure representation thegenerated generatedpath, path,for forDataset Dataset I,I, using using the the adjusted Figure 14.14. 2D2D representation ofofthe adjustedA* A*algorithm algorithminin a a static environment. static environment.

Figure 15 shows the generated path before and after smoothing process and it also represents a zoomed area of part of Figure 14. The magenta line represents the generated path before the smoothing process. The green line represents the smoothing path. The generated path before the smoothing process is crimped. This behavior is because the constructed map is built using an occupancy grid. Subsequently, the generated path transfers from one cell to another without prejudice to the optimization goal (i.e., minimize the risk). The crimp behavior affects the smoothness of the flight which includes, but is not limited to, endurance time and battery consumption. Figure 15. Representation of the generated and smoothed paths.

Figure 15. Representation of the generated and smoothed paths.

ISPRS Int.Figure J. Geo-Inf. 7, 450 14. 2018, 2D representation of the generated path, for Dataset I, using the adjusted A* algorithm in 13 of 23

a static environment.

Figure15. 15.Representation Representation of of the the generated Figure generatedand andsmoothed smoothedpaths. paths.

ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW

13 of 23

Figure 16 depicts the 3D representation of the generated path. The blue asterisk represents the Figure 16 depicts the 3D representation of the generated path. The blue asterisk represents the starting position, while the red asterisk represents the goal position. The smoothed path is represented starting position, while the red asterisk represents the goal position. The smoothed path is by the green line. As described above, the static obstacles are represented using the DT method. Thus, represented by the green line. As described above, the static obstacles are represented using the DT the maximum height is the maximum cost, and it represents the obstacle grid cells, which decreases in method. Thus, the maximum height is the maximum cost, and it represents the obstacle grid cells, magnitude to represent the extension of the obstacles until reaches approximately the middle distance which decreases in magnitude to represent the extension of the obstacles until reaches approximately in-between obstacles. It is clear the generated is created inside the valley in-between the middlethe distance in-between the that obstacles. It is clear trajectory that the generated trajectory is created inside the extended obstacles to prepare a safe path for the MAV. the valley in-between the extended obstacles to prepare a safe path for the MAV.

Figure16. 16. 3D 3D representation representation of I, I, using thethe adjusted A* A* algorithm in in a Figure of the the generated generatedpath, path,for forDataset Dataset using adjusted algorithm a static environment. static environment.

ForDataset Dataset II, II, Figure Figure 17 path using A* A* algorithm, APFAPF method, RRT RRT For 17 illustrates illustratesthe thegenerated generated path using algorithm, method, algorithm,and andbidirectional bidirectionalRRT, RRT, respectively. black magenta asterisks represent the algorithm, respectively. TheThe black andand magenta asterisks represent the positions positions of the source and goal points, respectively. In Figure 17a, the generated path is represented of the source and goal points, respectively. In Figure 17a, the generated path is represented by the red by the red line. The destination point is between located between twostatic close static objects as represented by the line. The destination point is located two close objects as represented by the orange orange arrows. Since the current situation does not cause hurdles to the A* algorithm, an appropriate arrows. Since the current situation does not cause hurdles to the A* algorithm, an appropriate path is path is generated between the two close static obstacles. The processing time of the algorithm is 690 generated between the two close static obstacles. The processing time of the algorithm is 690 ms. Since ms. Since the potential field is created depending on the attractive and the repulsive forces, the APF the potential field is created depending on the attractive and the repulsive forces, the APF method is method is sensitive to their magnitudes. The current situation affects the result of the generated path sensitive to their magnitudes. The current situation affects the result of the generated path according according to the magnitudes of the attractive and repulsive forces. When the attractive force is much tohigher the magnitudes of the attractive and repulsive forces. the attractive force is much higher than the repulsive force, an appropriate path isWhen generated, as shown in Figure 17b. The than the repulsive force, an appropriate path is generated, as shown in Figure 17b. The processing time of processing time of the algorithm is 1826 ms. However, when the repulsive force is approximately the algorithm is 1826 ms. However, thefails repulsive forceaispath, approximately to the attractive equal to the attractive force, the APFwhen method to generate a back and equal forth behavior, as force, the APFbymethod fails arrows, to generate a path, aThis backisand forth whenever behavior, as bytries the orange represented the orange is observed. because, therepresented APF method to arrows, is observed. This is because, whenever the APF method tries to reach the trapped destination, reach the trapped destination, between the two close obstacles, the repulsive forces of the two between two obstacles, repulsive forces17c, of which the two obstacles the generated obstaclesthe repel theclose generated path,the as shown in Figure indicates the repel sensitivity of the APFpath, algorithm to the successful tuning of the attraction and repulsion forces parameters. Figure 17d,e shows the generated path using the RRT and bidirectional RRT algorithms, respectively. The generated path is represented by the red line as shown in Figure 17d, while the red and blue lines are used to represent the generated path, as shown in Figure 17e, and the green line is used as a conjunction between the bidirectional trees. Typically, the random behavior of both algorithms

ISPRS Int. J. Geo-Inf. 2018, 7, 450

14 of 23

as shown in Figure 17c, which indicates the sensitivity of the APF algorithm to the successful tuning of the attraction and repulsion forces parameters. Figure 17d,e shows the generated path using the RRT and bidirectional RRT algorithms, respectively. The generated path is represented by the red line as shown in Figure 17d, while the red and blue lines are used to represent the generated path, as shown in Figure 17e, and the green line is used as a conjunction between the bidirectional trees. Typically, the random behavior of both algorithms affects the result of the generated path, as it is changed every time the algorithm is conducted. The processing time of RRT and bidirectional RRT are 1229 and 854ISPRS ms, Int. respectively. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW 14 of 23

(a)

(b)

(c)

(d)

(e)

Figure Generatedpath, path,for forDataset Dataset II, II, using: using: (a) of of APF; (c) (c) second Figure 17.17. Generated (a) A* A*algorithm; algorithm;(b) (b)first firstiteration iteration APF; second iteration APF; RRT;and and(e) (e)bidirectional bidirectional RRT. RRT. iteration of of APF; (d)(d)RRT;

Figure demonstratesthe thegenerated generated path in in a static environment. Figure 1818 demonstrates path using usingthe theproposed proposedmethod method a static environment. Figure showsthe thecost costmap mapofofthe thestatic static representation. representation. The represents thethe static Figure 18a18a shows Thebrightest brightestcolor color represents static obstacles (i.e., highest cost), whereas the cost gradually decreases for the extension of the obstacles. obstacles (i.e., highest cost), whereas the cost gradually decreases for the extension of the obstacles. other hand, darkest color represents lowest cost which represents least available OnOn thethe other hand, thethe darkest color represents thethe lowest cost which represents thethe least available risky risky areas. The previously executed trajectory is represented by the two bright squares as shown by the black arrows. The implemented trajectory is computed using the Gaussian kernel as mentioned earlier. Figure 18b demonstrates the 2D representation of the generated path. The blue asterisk represents the starting position, while the red asterisk represents the goal position. The smoothed path is represented by the green line. Since the only factor affecting the path generation is the static environment, the generated path is attempted to be in the middle of the obstacles to minimize the

ISPRS Int. J. Geo-Inf. 2018, 7, 450

15 of 23

areas. The previously executed trajectory is represented by the two bright squares as shown by the black arrows. The implemented trajectory is computed using the Gaussian kernel as mentioned earlier. Figure 18b demonstrates the 2D representation of the generated path. The blue asterisk represents the starting position, while the red asterisk represents the goal position. The smoothed path is represented by the green line. Since the only factor affecting the path generation is the static environment, the generated path is attempted to be in the middle of the obstacles to minimize the risk of the generated path. The processing time of the algorithm is 399 ms. Figure 18c depicts the 3D representation of the generated path. The blue asterisk represents the starting position, while the red asterisk represents J. Geo-Inf. 2018, 7, x FOR PEER REVIEW 15 of 23 theISPRS goalInt. position. The smoothed path is represented by the green line. As described above, the static obstacles are represented using the DT method. Thus, the maximum height is the maximum cost, and described above, the static obstacles are represented using the DT method. Thus, the maximum it represents themaximum obstacle cost, grid and cells,it which decreases in magnitude represent the extension of the height is the represents the obstacle grid cells,to which decreases in magnitude obstacles until reaches approximately the area in-between the obstacles. It is clear that the generated to represent the extension of the obstacles until reaches approximately the area in-between the trajectory is It created valley in-between extended obstacles to prepare the a safe path for obstacles. is clearinside that thethe generated trajectory is the created inside the valley in-between extended theobstacles MAV. The as indicated by the yellow arrows, as represents previously executed to protuberance, prepare a safe path for the MAV. The protuberance, indicatedthe by the yellow arrows, trajectory. These protuberances prevent the vehicle to revisit the same place twice to maximize represents the previously executed trajectory. These protuberances prevent the vehicle to revisit thethe visited samearea. place twice to maximize the visited area.

(a)

(b)

(c) Figure Adjusted algorithmin inaastatic static environment: environment: (a) 2D2D representation; andand (c) (c) Figure 18.18. Adjusted A*A*algorithm (a)cost costmap; map;(b) (b) representation; representation. 3D 3D representation.

Dataset characterizedby bythe thepresence presence of of dynamic complexity to the Dataset IIIIII is is characterized dynamicobjects objectsthat thatadd addmore more complexity to the environment. Figure depictsthe thegenerated generated path method, RRT algorithm, environment. Figure 1919depicts path using usingA* A*algorithm, algorithm,APF APF method, RRT algorithm, bidirectional RRT algorithm,respectively. respectively. The The blue blue and represent thethe positions andand bidirectional RRT algorithm, andmagenta magentaasterisks asterisks represent positions of the source and goal points, respectively. The dynamic object is represented by the black square. In of the source and goal points, respectively. The dynamic object is represented by the black square. Figure 19a, the generated path using A* algorithm is represented by the red line, while the generated In Figure 19a, the generated path using A* algorithm is represented by the red line, while the generated path using APF method is represented by the blue squares. The A* algorithm deals with the dynamic object as a static object in the moment of generating the path. However, the algorithm cannot detect the movement of the dynamic object in the successive epochs unless the algorithm is re-run every epoch. Thus, extra computations have to be executed to achieve all the iterations. Even though the dynamic object stops at the time of generating the path, the shortest path behavior forces the generated path to be close to the dynamic object as shown by the green arrow. This obviously creates

ISPRS Int. J. Geo-Inf. 2018, 7, 450

16 of 23

path using APF method is represented by the blue squares. The A* algorithm deals with the dynamic object as a static object in the moment of generating the path. However, the algorithm cannot detect the movement of the dynamic object in the successive epochs unless the algorithm is re-run every epoch. Thus, extra computations have to be executed to achieve all the iterations. Even though the dynamic object stops at the time of generating the path, the shortest path behavior forces the generated path to be close to the dynamic object as shown by the green arrow. This obviously creates a risky situation for the vehicle. On the other hand, the APF method is influenced by the potential field that is produced from the attractive and repulsive forces from the goal and obstacles, respectively. Consequently, the potential field is frequently changing due to the effect of the moving object in the ISPRS Int. J.Moreover, Geo-Inf. 2018, 7,the x FOR PEER REVIEW lacks the monitoring of the dynamic objects. Therefore, 16 of 23 the environment. APF method traditional APF method fails to provide a solution in the dynamic environments [19]. However, the object in the environment. Moreover, the APF method lacks the monitoring of the dynamic objects. trajectory is plotted as if the dynamic object at the time of in generating theenvironments path. The processing Therefore, the traditional APF method fails stops to provide a solution the dynamic [19]. time of the A* algorithm and the APF method are 684 and 2108 ms, respectively. Figurethe 19b,c shows However, the trajectory is plotted as if the dynamic object stops at the time of generating path. the generated path using the RRT bidirectional RRT method algorithms, respectively. Therespectively. generated path The processing time of the A* and algorithm and the APF are 684 and 2108 ms, Figure 19b,c the generated path the19b, RRTwhile and bidirectional algorithms, respectively. is represented by shows the red line as shown inusing Figure the red andRRT blue lines are used to represent The generated path is represented by the red line as shown in Figure 19b, while the red and blue lines the the generated path, as shown in Figure 19c, and the green line is used as conjunction between are used to represent the generated path, as shown in Figure 19c, and the green line is used as bidirectional trees. The generated random path in the sample space at time (t) may be either occupied conjunction between the bidirectional trees. The generated random path in the sample space at time with a dynamic object soon (t + n), where n is a positive integer, or blocked by a dynamic object in (t) may be either occupied with a dynamic object soon (t + n), where n is a positive integer, or blocked the near future as well, as the dynamic object is changing its allocation every time. Consequently, by a dynamic object in the near future as well, as the dynamic object is changing its allocation every a collision will occur between the will vehicle the dynamic object. The processing of the RRT and time. Consequently, a collision occurand between the vehicle and the dynamic object.time The processing bidirectional algorithms are 1085 and 935 ms, respectively. time of the RRT and bidirectional algorithms are 1085 and 935 ms, respectively.

(a)

(b)

(c)

19. Generated for Dataset III, using: A* algorithm and method; APF method; (b) algorithm; RRT FigureFigure 19. Generated path,path, for Dataset III, using: (a) A*(a) algorithm and APF (b) RRT algorithm; and (c) bidirectional RRT algorithm. and (c) bidirectional RRT algorithm.

Figure 20 demonstrates the generated path the using the proposed in a dynamic Figure 20 demonstrates the generated path using proposed methodmethod in a dynamic environment. environment. Figure 20a shows the cost map of the static and dynamic representations, which is Figure 20a shows the cost map of the static and dynamic representations, which is computed from the computed from the static and dynamic objects using the distance transform method and Gaussian static and dynamic objects using the distance transform method and Gaussian kernel, respectively. kernel, respectively. The brightest color represents the highest cost which is the static, implemented The brightest the highest cost whichexecuted is the static, implemented trajectory dynamic trajectorycolor and represents dynamic object. The previously trajectory is represented by and the two successive bright squares. The previously executed trajectory is represented using the Gaussian kernel. The dynamic object is represented by the bright square which is computed using the Gaussian kernel as well. On the other hand, the darkest color represents the lowest cost which represents the least available risky areas. This cost map is fed into the adjusted A* algorithm as a heuristic matrix. Figure 20 demonstrates the 2D representation of the generated path. The blue asterisk represents the starting position, while the red asterisk represents the goal position. The smoothed path is

ISPRS Int. J. Geo-Inf. 2018, 7, 450

17 of 23

object. The previously executed trajectory is represented by the two successive bright squares. The previously executed trajectory is represented using the Gaussian kernel. The dynamic object is represented by the bright square which is computed using the Gaussian kernel as well. On the other hand, the darkest color represents the lowest cost which represents the least available risky areas. This cost map is fed into the adjusted A* algorithm as a heuristic matrix. Figure 20 demonstrates the 2D representation of the generated path. The blue asterisk represents the starting position, while the red asterisk represents the goal position. The smoothed path is represented by the green line. The black square represents a dynamic object. By comparing the static and dynamic results of the proposed method, it is clear that the generated path deviates to avoid the dynamic object and minimize the J. Geo-Inf. 2018, 7, x FOR REVIEW 17 dynamic of 23 risk ofISPRS theInt. generated path. ThePEER amount of the deviation varies according to the static and costs. For crowded environments, the cost of the dynamic objects is approximately high with respect dynamic object and minimize the risk of the generated path. The amount of the deviation varies to theaccording static cost, butstatic for uncongested environments, the cost of the dynamic is approximately to the and dynamic costs. For crowded environments, the cost ofobjects the dynamic objects low with respect to the static cost. The processing time of the algorithm is 374 Figure is approximately high with respect to the static cost, but for uncongested environments,ms. the cost of 20c demonstrates theobjects 3D representation of the blue represents starting the dynamic is approximately low generated with respectpath. to theThe static cost.asterisk The processing timethe of the algorithm 374red ms. asterisk Figure 20c demonstrates 3Dposition. representation the generated The blue by position, whileisthe represents thethe goal The of smoothed pathpath. is represented asterisk the starting position, while the red the asterisk represents the goal position. while The the the green line.represents The consecutive protuberances represent previously executed trajectory, smoothed path is represented by the green line. The consecutive protuberances represent the total single protuberance represents the dynamic object. The performed deviation depends on the previously executed trajectory, while the single protuberance represents the dynamic object. The computed costs from the static and dynamic objects in the current scene. It is clear that the generated performed deviation depends on the total computed costs from the static and dynamic objects in the path endeavors to avoid the dynamic object and simultaneously avoids proximity to the static object current scene. It is clear that the generated path endeavors to avoid the dynamic object and according to their costs. simultaneously avoids proximity to the static object according to their costs.

(a)

(b)

(c) Figure 20. Adjusted algorithm dynamic environment: environment: (a)(a) cost map; (b) (b) 2D representation; and and Figure 20. Adjusted A* A* algorithm inina adynamic cost map; 2D representation; (c) 3D representation. (c) 3D representation.

For Dataset IV, Figure 21 illustrates the generated paths using A* algorithm, APF method, RRT algorithm, and bidirectional RRT algorithm. The black and magenta asterisks represent the positions of the source and goal points, respectively. In Figure 21a, the generated path using A* algorithm is represented by the red line, while the generated path using APF method is represented by the blue squares. The generated path of the A* algorithm is not far from the static obstacle, as shown by the green arrow, due to shortest path behavior of the algorithm. This closeness increases the risk of the

ISPRS Int. J. Geo-Inf. 2018, 7, 450

18 of 23

For Dataset IV, Figure 21 illustrates the generated paths using A* algorithm, APF method, RRT algorithm, and bidirectional RRT algorithm. The black and magenta asterisks represent the positions of the source and goal points, respectively. In Figure 21a, the generated path using A* algorithm is represented by the red line, while the generated path using APF method is represented by the blue squares. The generated path of the A* algorithm is not far from the static obstacle, as shown by the green arrow, due to shortest path behavior of the algorithm. This closeness increases the risk of the ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW 18 of 23 vehicle. Due to the attraction and repulsion forces of the goal and obstacles, respectively, as well as the dynamicofofthe the vehicle, generated themethod APF method fails to the as the the dynamic vehicle, thethe generated pathpath of theofAPF fails to reach thereach goal as thegoal vehicle vehicle collides with the static object, as shown by the green circle. The processing time of the collides with the static object, as shown by the green circle. The processing time of the A* algorithm A* algorithm is 131 ms,the while the processing time of the APFismethod is not available to theFigure collision. is 131 ms, while processing time of the APF method not available due to thedue collision. Figure 21b shows the generated path of different iteration using APF method. The source and goal 21b shows the generated path of different iteration using APF method. The source and goal points are represented by the and red respectively. The generated path is path plotted by the blue points are represented byblack the black andasterisks, red asterisks, respectively. The generated is plotted by the squares. Since thethe APF method is sensitive to to thethe attraction andand repulsion forces, as well as the blue squares. Since APF method is sensitive attraction repulsion forces, as well as the corridor width, which is approximately 120 cm. The attractive force is tuned to be much greater than corridor width, which is approximately 120 cm. The attractive force is tuned to be much greater than repulsion force.As Asa aresult, result,aagenerated generated path path is point to to thethe goal point. thethe repulsion force. is created createdfrom fromthe thesource source point goal point. The processing time is 2172 ms. Figure 21c,d shows the generated path using the RRT and The processing time is 2172 ms. Figure 21c,d shows the generated path using the RRT and bidirectional algorithms, Theisgenerated path represented the red line, as21c, RRTbidirectional algorithms,RRT respectively. Therespectively. generated path represented byisthe red line, asby shown in Figure shown in Figure 21c, while the red and blue lines are used to represent the generated path, as shown while the red and blue lines are used to represent the generated path, as shown in Figure 21d, and the in Figure 21d, and the green line is used as a conjunction between the bidirectional trees. In addition green line is used as a conjunction between the bidirectional trees. In addition to the diversity of the to the diversity of the results in each iteration due to the random behavior of both algorithms, both results in each iteration due to the random behavior of both algorithms, both algorithms can build new algorithms can build new intermediate nodes far away from the goal point that consumes time. The intermediate nodes far away from the goal point that consumes time. The RRT algorithm generates the RRT algorithm generates the path in the opposite direction of the movement, as shown by the green path in the opposite of the movement, as shown by thetwice. greenThe arrow. Thus, the RRT RRT algorithm arrow. Thus, the direction RRT algorithm can revisit the same place bidirectional creates canintermediate revisit the same place twice. The bidirectional RRT creates intermediate nodes through small gaps nodes through small gaps due to the miss occupation in the static obstacles, as presented duebytothe thegreen miss arrow. occupation in the static obstacles, as presented by the green arrow. The 1320 processing The processing times of the RRT and bidirectional RRT are 2839 and ms, times of the RRT and bidirectional RRT are 2839 and 1320 ms, respectively. respectively.

(a)

(b)

(c)

(d)

Figure Generated path, for Dataset IV, using: A* algorithm and method; APF method; (b) second Figure 21. 21. Generated path, for Dataset IV, using: (a) A*(a)algorithm and APF (b) second iteration iteration of APF method; (c) RRT algorithm; and (d) bidirectional RRT algorithm. of APF method; (c) RRT algorithm; and (d) bidirectional RRT algorithm.

Figure demonstratesthe thegenerated generated path path using using the inin a static environment. Figure 22 22 demonstrates theproposed proposedmethod method a static environment. Figure shows costmap mapofofthe thestatic staticrepresentation. representation. The thethe static Figure 22a22a shows thethe cost Thebrightest brightestcolor colorrepresents represents static obstacles (i.e., highestcost), cost),whereas whereasthe the cost cost gradually gradually decreases of of thethe obstacles. obstacles (i.e., highest decreasesfor forthe theextension extension obstacles. other hand, the darkestcolor colorrepresents represents the the lowest lowest cost the least available OnOn thethe other hand, the darkest costwhich whichrepresents represents the least available risky areas. The previously executed trajectory is represented by the two bright squares, as shown by by risky areas. The previously executed trajectory is represented by the two bright squares, as shown the black arrows. Due to the presence of the high cost of the previously executed trajectory, the MAV the black arrows. Due to the presence of the high cost of the previously executed trajectory, the MAV cannot go back to reach the goal point, as shown by the dashed arrow, to maximize the visited area. cannot go back to reach the goal point, as shown by the dashed arrow, to maximize the visited area. Figure 22b demonstrates the 2D representation of the generated path. The blue asterisk represents Figure 22b demonstrates the 2D representation of the generated path. The blue asterisk represents the the starting position, while the red asterisk represents the goal position. The smoothed path is represented by the green line. Obviously, the generated path is attempted to be in the middle of the obstacles as usual under different scenarios to minimize the risk of the generated path. The processing time of the algorithm is 286 ms. Figure 22c depicts the 3D representation of the generated path. The blue circle represents the starting position, while the red circle represents the goal position. The smoothed path is represented by the green line. As described above, the implemented trajectory is

ISPRS Int. J. Geo-Inf. 2018, 7, 450

19 of 23

starting position, while the red asterisk represents the goal position. The smoothed path is represented by the green line. Obviously, the generated path is attempted to be in the middle of the obstacles as usual under different scenarios to minimize the risk of the generated path. The processing time of the algorithm is 286 ms. Figure 22c depicts the 3D representation of the generated path. The blue circle represents the starting position, while the red circle represents the goal position. The smoothed path is represented by the green line. As described above, the implemented trajectory is represented using ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW 19 of 23 the Gaussian kernels. Thus, the protuberance represents the occurrence of the implemented trajectory as shown by thetrajectory yellow arrows. Thus, theyellow vehicle is driven tothe explore new placestotoexplore maximize implemented as shown by the arrows. Thus, vehicle is driven newthe visited area. places to maximize the visited area.

(a)

(b)

(c) Figure Adjusted algorithmin inaastatic static environment: environment: (a) 2D2D representation; andand (c) (c) Figure 22.22. Adjusted A*A*algorithm (a)cost costmap; map;(b) (b) representation; representation. 3D 3D representation.

Dataset a dynamicscenario scenarioisiscreated created in in which inside a narrow ForFor Dataset V,V, a dynamic which aadynamic dynamicobject objectmoves moves inside a narrow corridor where MAV cannotsafely safelypass. pass. Figure Figure 23 path using A*A* algorithm, corridor where thethe MAV cannot 23 depicts depictsthe thegenerated generated path using algorithm, APF method, RRT algorithm,and andbidirectional bidirectional RRT RRT algorithm. algorithm. The asterisks APF method, RRT algorithm, Theblack blackand andmagenta magenta asterisks represent the positions of the source and goal points, respectively. In Figure 23a, the generated path represent the positions of the source and goal points, respectively. In Figure 23a, the generated path using A* algorithm is represented by the red line, while the generated path using APF method is is using A* algorithm is represented by the red line, while the generated path using APF method represented by the blue squares. Despite the existence of a dynamic object in the entrance of the represented by the blue squares. Despite the existence of a dynamic object in the entrance of the corridor, the A* algorithm generates a path through the corridor to reach the goal point. Furthermore, corridor, the A* algorithm generates a path through the corridor to reach the goal point. Furthermore, the generated path is near to the static object, as shown by the green arrow. This obviously creates a the generated path is near to the static object, as shown by the green arrow. This obviously creates risky situation for the vehicle. On the other hand, the APF method fails to reach the goal point, and a a risky situation for the vehicle. On the other hand, the APF method fails to reach the goal point, collision occurs due to the repulsive forces that are generated from the static and dynamic objects. andThe a collision occurs due repulsive forces static dynamic processing time of thetoA*the algorithm is 136 ms, that whileare thegenerated processingfrom time the of the APFand method is objects. The processing time of the A* algorithm is 136 ms, while the processing time of the APF not available due to the collision. Figure 23b shows the generated path using the RRT algorithm. The method is not available due to the collision. Figure 23b shows the generated path using the RRT generated path is represented by the red line. The generated path is also passed across the corridor beside the dynamic object, as shown by the green arrow, to reach the goal point. This also creates a risky situation for the MAV. The processing time of the RRT algorithm is 2323 ms. Figure 23c shows the generated path using the bidirectional RRT algorithm. The red and blue lines are used to represent the generated path and the green line is used as a conjunction between the bidirectional trees. The algorithm generates the path through the corridor and closes to the dynamic object. The vehicle is

ISPRS Int. J. Geo-Inf. 2018, 7, 450

20 of 23

algorithm. The generated path is represented by the red line. The generated path is also passed across the corridor beside the dynamic object, as shown by the green arrow, to reach the goal point. This also creates a risky situation for the MAV. The processing time of the RRT algorithm is 2323 ms. Figure 23c shows the generated path using the bidirectional RRT algorithm. The red and blue lines are used to ISPRS Int. J. Geo-Inf. 2018, 7, x FOR PEER REVIEW 20 of 23 represent the generated path and the green line is used as a conjunction between the bidirectional trees. Theexposed algorithm generates the path through corridortime and of closes to the dynamic object. The vehicle to the same risky situation. Thethe processing the bidirectional RRT algorithm is 436 is exposed to the same risky situation. The processing time of the bidirectional RRT algorithm is 436 ms. ms.

(a)

(b)

(c)

Figure Generatedpath, path,for forDataset Dataset V, V,using: using: (a) method; (b)(b) RRT algorithm; Figure 23.23. Generated (a) A* A*algorithm algorithmand andAPF APF method; RRT algorithm; bidirectional RRT algorithm. andand (c) (c) bidirectional RRT algorithm.

otherhand, hand,the the proposed proposed method not generate a path to the due todue the to OnOn thethe other methoddoes does not generate a path todestination, the destination, movement of the dynamic object in the entrance of the corridor, to minimize the risk on the vehicle. the movement of the dynamic object in the entrance of the corridor, to minimize the risk on the Hence, the proposed methodmethod either keeps vehicle for a certain the until dynamic object vehicle. Hence, the proposed eitherthe keeps the vehicle for aperiod certainuntil period the dynamic moves or generates a new path to a new destination if feasible. Ultimately, Table 2 illustrates a object moves or generates a new path to a new destination if feasible. Ultimately, Table 2 illustrates comparison between the proposed method among other methods/algorithms. It is clear that the a comparison between the proposed method among other methods/algorithms. It is clear that the proposed method generates a path and safely reaches the goal in all the experiments except the last proposed method generates a path and safely reaches the goal in all the experiments except the last experiment as aforementioned. Furthermore, the proposed method is characterized by the largest experiment as aforementioned. Furthermore, the proposed method is characterized by the largest average distance to the nearest obstacle with the least average processing time.

average distance to the nearest obstacle with the least average processing time.

Table 2. A comparison between the proposed method among other methods/algorithms.

Table 2. A comparison between the proposed method among other methods/algorithms. Safe Risk Safe Number of Number of Risk Failed Reaching Goal Reaching Goal Failed Does not Does not Path generate generate Path Average Processing Average [ms] [ms] Time Processing Time Average Distance to Average [cm] Nearest Obstacle Distance to [cm] Nearest Obstacle

A* A*1 14 40 0 0 0

APF APF 2 02 30 3 0 0

RRT 1RRT 3 1 1 3 1 0 0

Bidirectional RRT Bidirectional RRT 1 31 13 1 0 0

Proposed Method Proposed 4 Method 04 00 0 1 1

421.4 421.4

2035.3 2035.3

2542.3 2542.3

1506.0 1506.0

402.2 402.2

12.0 12.0

53.0 53.0

44.3 44.3

45.4 45.4

64.0 64.0

7. Conclusions

7. Conclusions In robotics, path planning is a problem of finding a proper trajectory from the current position toIna robotics, definite destination, according to the limitations of thetrajectory environment the vehicle. Theto a path planning is a problem of finding a proper from and the current position environment could be unknown and/or dynamic, while the limitations of the vehicle can be for definite destination, according to the limitations of the environment and the vehicle. The environment instance the vehicle’s size and maximum velocity of the vehicle. The objective of path planning could be unknown and/or dynamic, while the limitations of the vehicle can be for instance the vehicle’s problem varies based on the application requirements such as finding the shortest path or the fastest path. The time constraint is a critical factor in most path planning problems, especially search and rescue operations. Hence, maximizing the visited area during such operations is a fundamental task. Furthermore, minimizing the risk on the generated path is also an important task. Therefore, an efficient exploration method is proposed to maximize the visited area of unknown static/dynamic

ISPRS Int. J. Geo-Inf. 2018, 7, 450

21 of 23

size and maximum velocity of the vehicle. The objective of path planning problem varies based on the application requirements such as finding the shortest path or the fastest path. The time constraint is a critical factor in most path planning problems, especially search and rescue operations. Hence, maximizing the visited area during such operations is a fundamental task. Furthermore, minimizing the risk on the generated path is also an important task. Therefore, an efficient exploration method is proposed to maximize the visited area of unknown static/dynamic environment and simultaneously minimize the risk of the generated path. The proposed method builds the cost function of the static objects using the distance transform method, while uses the Gaussian kernel for the representation of the dynamic objects. Furthermore, the previously executed trajectory is represented by Gaussian kernels as a cost function. Thus, the proposed method generates the path that achieves the minimum summation of the cost functions. Additionally, the proposed method can reevaluate the destination and the trajectory for sudden situations because an interruption is fired once an interception of a dynamic object occurs inside the sanctuary area around the vehicle. Ultimately, the previously executed trajectory is recorded for the entire mission, and the proposed method uses this trajectory during the exit process for time saving. For validation and evaluation, the efficiency of the proposed method is compared with various algorithms and methods, such as A* algorithm, APF method, RRT algorithm, and bidirectional RRT, under different scenarios. The proposed method exhibits efficiency in avoiding both static and dynamic obstacles. The average distance to the nearest obstacle of the A* algorithm, APF, RRT, bidirectional RRT, and the proposed method is 12, 53, 44.3, 45.4, and 64 cm, respectively. The proposed method maximizes the visited area as it never goes to same place twice. Furthermore, the average processing time of the A* algorithm, APF, RRT, bidirectional RRT, and the proposed method is 421.4, 2035.3, 2542.3, 1506.0, and 402.2 ms, respectively. The proposed results indicate the eligibility of the proposed method for real-time applications. Author Contributions: This research work was accomplished under the supervision of N.E.-S. H.M. and A.M. designed and implemented the proposed algorithm and performed the experiments. H.M. wrote the paper. N.E.-S. contributed the UAV and the sensors used in the experiments. A.M., M.E., and N.E.-S. reviewed and provided feedback on the paper. Acknowledgments: This work was supported by Naser El-Sheimy research funds from NSERC and Canada Research Chairs programs. Thanks also go to the funding of the first author by the Egyptian government. Conflicts of Interest: The authors declare no conflict of interest.

References 1.

2. 3.

4.

5.

6.

Quintero M., C.G.; Oñate López, J.; Bertel R., F.A. Intelligent exploration and surveillance algorithms for multi-agents robotics systems. In Proceedings of the 38th Latin America Conference on Informatics, Medellin, Colombia, 1–5 October 2012; pp. 1–10. Yamauchi, B.; Schultz, A.; Adams, W. Integrating Exploration and Localization for Mobile Robots. Adapt. Behav. 1999, 7, 217–229. [CrossRef] Tijsma, A.D.; Drugan, M.M.; Wiering, M.A. Comparing exploration strategies for Q-learning in random stochastic mazes. In Proceedings of the 2016 IEEE Symposium Series on Computational Intelligence (SSCI), Athens, Greece, 6–9 December 2016; pp. 1–8. Sugiyama, H.; Tsujioka, T.; Murata, M. Collaborative Movement of Rescue Robots for Reliable and Effective Networking in Disaster Area. In Proceedings of the 2005 International Conference on Collaborative Computing: Networking, Applications and Worksharing, San Jose, CA, USA, 19–21 December 2005; pp. 1–7. Hougen, D.F.; Benjaafar, S.; Bonney, J.C.; Budenske, J.R.; Dvorak, M.; Gini, M.; French, H.; Krantz, D.G.; Li, P.Y.; Malver, F.; et al. A miniature robotic system for reconnaissance and surveillance. In Proceedings of the 2000 IEEE International Conference on Robotics and Automation, San Francisco, CA, USA, 24–28 April 2000; Volume 1, pp. 501–507. Hoffmann, R.; Weikersdorfer, D.; Conradt, J. Autonomous indoor exploration with an event-based visual SLAM system. In Proceedings of the 2013 European Conference on Mobile Robots, Barcelona, Spain, 25–27 September 2013; pp. 38–43.

ISPRS Int. J. Geo-Inf. 2018, 7, 450

7. 8.

9.

10. 11.

12. 13. 14. 15. 16.

17. 18.

19.

20.

21. 22.

23.

24. 25.

26. 27.

22 of 23

Buniyamin, N.; Ngah, W.W.; Sariff, N.; Mohamad, Z. A simple local path planning algorithm for autonomous mobile robots. Int. J. Syst. Appl. Eng. Dev. 2011, 5, 151–159. Surgade, A.; Bhavsar, N.; Thale, K.; Deshpande, A.; Mohite, D. Real-time navigation for indoor environment. In Proceedings of the 2017 International Conference on Advances in Computing, Communication and Control (ICAC3), Mumbai, India, 1–2 December 2017; pp. 1–6. Richter, C.; Bry, A.; Roy, N. Polynomial trajectory planning for aggressive quadrotor flight in dense indoor environments. In Springer Tracts in Advanced Robotics; Springer: Cham, Switzerland, 2016; Volume 114, pp. 649–666. Barbehenn, M. A note on the complexity of Dijkstra’s algorithm for graphs with weighted vertices. IEEE Trans. Comput. 1998, 47, 263. [CrossRef] Kang, H.I.; Lee, B.; Kim, K. Path Planning Algorithm Using the Particle Swarm Optimization and the Improved Dijkstra Algorithm. In Proceedings of the 2008 IEEE Pacific-Asia Workshop on Computational Intelligence and Industrial Application, Wuhan, China, 19–20 December 2008; pp. 1002–1004. Malaek, S.; Kosari, A. Novel minimum time trajectory planning in terrain following flights. IEEE Trans. Aerosp. Electron. Syst. 2007, 43, 2–12. [CrossRef] Tsai, Y.-J.; Lee, C.-S.; Lin, C.-L.; Huang, C.-H. Development of Flight Path Planning for Multirotor Aerial Vehicles. Aerospace 2015, 2. [CrossRef] Malaek, S.M.; Kosari, A.R. Dynamic Based Cost Functions for TF/TA Flights. IEEE Trans. Aerosp. Electron. Syst. 2012, 48, 44–63. [CrossRef] Ferguson, D.; Stentz, A. Anytime RRTs. In Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, Beijing, China, 9–15 October 2006; pp. 5369–5375. Lavalle, S.M.; Lavalle, S.M.; Kuffner, J.J., Jr. Rapidly-Exploring Random Trees: Progress and Prospects. In Proceedings of the Fourth International Workshop on Algorithmic Foundations of Robotics, Hanover, NH, USA, 16–18 March 2000; pp. 293–308. Qureshi, A.H.; Ayaz, Y. Intelligent bidirectional rapidly-exploring random trees for optimal motion planning in complex cluttered environments. Robot. Auton. Syst. 2015, 68, 1–11. [CrossRef] Xinggang, W.; Cong, G.; Yibo, L. Variable probability based bidirectional RRT algorithm for UAV path planning. In Proceedings of the 26th Chinese Control and Decision Conference (2014 CCDC), Changsha, China, 31 May–2 June 2014; pp. 2217–2222. Acuña, R.; Terrones, A.; Certad-H, N.; Fermín-León, L.; Fernández-López, G. Dynamic Potential Field Generation Using Movement Prediction. In Proceedings of the Fifteenth International Conference on Climbing and Walking Robots and the Support Technologies for Mobile Machines, Baltimore, MD, USA, 23–26 July 2012. Bruce, J.; Veloso, M. Real-time randomized path planning for robot navigation. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and System, Lausanne, Switzerland, 30 September–4 October 2002; Volume 3, pp. 2383–2388. Ferguson, D.; Kalra, N.; Stentz, A. Replanning with RRTs. In Proceedings of the IEEE International Conference on Robotics and Automation, Orlando, FL, USA, 15–19 May 2006; Volume 2006, pp. 1243–1248. Li, T.Y.; Shie, Y.C. An incremental learning approach to motion planning with roadmap management. In Proceedings of the 2002 IEEE International Conference on Robotics and Automation, Washington, DC, USA, 11–15 May 2002; Volume 4, pp. 3411–3416. Zucker, M.; Kuffner, J.; Branicky, M. Multipartite RRTs for Rapid Replanning in Dynamic Environments. In Proceedings of the 2007 IEEE International Conference on Robotics and Automation, Roma, Italy, 10–14 April 2007; pp. 1603–1609. Mohamed, H.; Moussa, A.; Elhabiby, M.; El-Sheimy, N.; Sesay, A. A Novel Real-Time Reference Key Frame Scan Matching Method. Sensors 2017, 17, 1060. [CrossRef] [PubMed] Mohamed, H.; Moussa, A.; Elhabiby, M.; El-Sheimy, N.; Sesay, A.B. Corner Features Aided Indoor Slam for Unmanned Vehicles. In Proceedings of the 10th International Conference on Mobile Mapping Technology (MMT), Cairo, Egypt, 6–8 May 2017. Fabbri, R.; Costa, L.D.F.; Torelli, J.C.; Bruno, O.M. 2D Euclidean distance transform algorithms. ACM Comput. Surv. 2008, 40, 1–44. [CrossRef] Wu, Q. Incremental Routing Algorithms for Dynamic Transportation Networks. Master’s Thesis, University of Calgary, Calgary, AB, Canada, 2006.

ISPRS Int. J. Geo-Inf. 2018, 7, 450

28. 29.

23 of 23

Smith, S.W. The Scientist and Engineer’s Guide to Digital Signal Processing, 2nd ed.; California Technical Pub.: San Diego, CA, 1999. Mostafa, M.; Zahran, S.; Moussa, A.; El-Sheimy, N.; Sesay, A.; Mostafa, M.; Zahran, S.; Moussa, A.; El-Sheimy, N.; Sesay, A. Radar and Visual Odometry Integrated System Aided Navigation for UAVS in GNSS Denied Environment. Sensors 2018, 18, 2776. [CrossRef] [PubMed] © 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

Suggest Documents