TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Optimized Path Planning for Uninhabited Vehicles Nikos Tsourveloudis, Yannis Nikolos Kimon Valavanis Department of Production Engineering and Management Technical University of Crete, 73 100 Chania, GREECE Department of Computer Science and Engineering University of South Florida Tampa, FL, USA E-mail: [email protected], [email protected] E-mail: [email protected] [email protected] Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems EVOLUTIONARY ALGORITHM BASED OFFLINE / ON-LINE PATH PLANNING FOR UAV NAVIGATION Project Team Dr. J. Nikolos, TUC Dr. N. Tsourveloudis, TUC Dr. K. Valavanis, USF A. Kostaras, LSE Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems OUTLINE Introduction Off-Line Planner On-Line Planner Results Discussion Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems INTRODUCTION UAV navigation using off-line (known environment) / on-line (unknown environment- during “flying”) planner. Off-line planner ! single continuous 3-D B-Spline curve with curvature continuity, known initial and final points, as well as initial flight direction. On-line planner ! smooth, continuous 3-D line consisting of successive BSpline curves. On-board sensor information is used; a near optimum path segment is produced, guiding the UAV to intermediate position within sensors’ range. Process repeated until best path is created. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Evolutionary Algorithms (EA) fundamentals Natural selection process simulated in EA using a number/population of individuals (solutions to the problem) evolving through certain procedures. Each individual represented with string of numbers (bit strings, integers, floating point numbers), similar to “genes” and “chromosomes” in nature. Each individual’s quality is represented by a fitness function, f = Σfi, serving as the environment in the natural selection mechanism. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Classical References for EAs and GAs Holland, J. J., Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor Michigan, 1975. D.B. Fogel, Evolutionary Computation, Toward a New Philosophy of Machine Intelligence, 2nd Ed., IEEE Press, Piscataway, NJ, 2000. M. Mitchell, An Introduction to Genetic Algorithms, The MIT Press, Cambridge, Massachusetts, 1998. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems EA fundamentals, cont… EA generates randomly initial chromosome population with genes taking values within the constrained space. Genes are the coordinates of the path’s control points. All genes of each individual (solution) form its chromosome. Special operators are applied to the population ! selection, recombination, mutation, used to provide the next generation chromosomes. The new generation evaluation and creation process is successively repeated, providing individuals with high values of fitness function. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems EA operators used Classical crossover scheme: 2 randomly selected chromosomes divided in the same (random) position, while the 1st part of the 1st one is connected to the 2nd part of the 2nd one and vice-versa. Crossover Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems EA operators used, cont… Classical uniform mutation scheme: This operator alters a randomly selected chromosome gene. New gene takes its random value from constrained space. Classic Mutation Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems EA operators used, cont… Non-uniform mutation scheme: Search space for new gene not fixed; it shrinks close to previous value of the corresponding gene as the algorithm converges. Heuristic crossover scheme: It generates a single offspring x3 from two parents x1 and x2. If x2 is not worse than x1, then x3 is given as x 3 = r ( x 2 − x1 ) + x 2 where r is a random number between 0 and 1. In this way a search direction is adopted, providing fine local tuning and search in the most promising direction. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems EA Selection procedure Hybrid selection scheme used: truncation model of Breeder GAs and roulette procedure of traditional Gas (combination). Each individual’s relative fitness, its selection probability, is calculated: fi’=fi/Σfi Only T% elements, showing best fitness chosen to give origin to the next generation individuals (T being the threshold taking values between 40% - 70%). (1-T)% is rejected. Once chosen, these individuals are used for the generation of a new population through the roulette wheel selection. An elitist model assures that the best individual of each generation always survives the selection procedure, and goes to the next generation . Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Why floating point representation of chromosome Each chromosome genes are the path line control points physical coordinates. Floating point coding moves the EA closer to the problem space, allowing the operators to be more problem specific. Better physical representation of path line control points and easier control of space constraints. Two points that are close to the physical space are also close in the representation space (the genotype encoding), and vice versa. Directed search techniques gain physical representation and they are easily applicable. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The solid boundary representation The path-planning algorithm considers the scanned surface as a group of quadratic mesh nodes with known coordinates. The solid terrain under the UAV is most generally represented by a meshed 3-D surface, produced using mathematical functions of the form: z( x , y ) = sin( y + a ) + b × sin( x ) + c × cos( d × ( y 2 + x 2 ) 0.5 ) + e × cos( y ) + f × sin( f × ( y 2 + x 2 ) 0.5 ) + g × cos( y ) where a, b, c, d, e, f, g are constants experimentally defined, in order to produce a surface simulating a rough terrain with mountains and valleys. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The solid boundary representation, cont… Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The solid boundary representation, cont… In order to generate concave terrains the following mathematical function has been used: a cos (b (x 2 + y 2 ) − c exp (- y ) - f exp (- x - 2 ) z(x,y) = a cos (b (x 2 + y 2 ) + d sin (g (x 2 + y 2 ) 0 .5 ) cos (m (x + y)) sin (n (x + y)) 2 2 -h x a cos (b (x + y ) + e x if y < 1.5 and 5 < x < 5 .5 if 5 < x < 8 or 5 < if ( y > 4 .5 or y < 8 x > 4 .5 ) where a, b, c, d, e, f, g, h, m, n are again proper constants, experimentally defined. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The solid boundary representation, cont… Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The path line B-Spline modeling B-Splines define the UAV desired path, providing at least first order derivative continuity. The coordinates of their control points are the genes of the EA. Final destination 1st 2nd Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Why B-Splines ? B-Spline curves are well fitted in the evolutionary procedure, as they need a few variables (coordinates of the control points) in order to define complicated curved paths. Each control point has a very local effect on the curve’s shape, and small perturbations in its position produce changes in the curve only in the neighbourhood of the changing control point. The curve is tangential to the control polygon at the starting and ending points, which is used in order to define the starting direction of the curve. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Off-line path planning Generates a B-Spline curve over known, simulated or real, environments. The starting and ending points of the curve are fixed. A third point close to the starting one is also fixed, determining the initial flight direction. The fixed points are not used for the chromosome construction. Between the fixed control points, 4 - 6 free to move control points determine the shape of the curve. The coordinates of the free-to-move control points are the genes of the EA artificial chromosome. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The Off-line fitness function The optimisation problem to be solved minimises a set of four terms. The constraints are associated with the feasibility and the length of the path line, a safety distance from the obstacles and the UAV’s flight envelope restrictions. The fitness function is given as: f = 1 4 ∑a f i i i =1 where αi are weights and fi are the above mentioned terms. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The Off-line fitness function terms Term f1 penalizes the non-feasible curves that pass through the solid boundary. The penalty value is proportional to the number of discretized curve points (not the B-spline control points) located inside the solid boundary. In this way, the fitter of the non-feasible curves may survive the selection procedure and produce acceptable off-springs through the heuristic crossover operation. Term f2 is the length of the curve (non-dimensional with the distance between the starting and destination points). Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The Off-line fitness function terms Term f3 is designed to provide flight paths with a safety distance from solid boundaries, given as: nline nground f3 = ∑ i =1 1 ∑ 2 j =1 ( ri , j / rsafe ) nline the number of discrete curve points, nground the number of discrete mesh points, ri,j is the distance between the boundary nodes and curve points, rsafe is the minimum safety distance from the solid boundary. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The Off-line fitness function terms Term f4 is designed to provide curves with a prescribed minimum curvature radius. The angle θ that is determined by two successive discrete segments of the curve is calculated, and if less than a prescribed value, a penalty is added to the fourth term of the fitness function. θ Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The Off-line path planner flow chart Input of the ground, initial point and destination point coordinates, and initial flight direction. • Initialisation of population For chromosome 1 to population - Make random chromosomes For generation 1 to maxgen For chromosome 1 to population, Evaluate the new chromosomes using fitness function f - Calculate the new intermediate population, using the modified roulette procedure and elitist model - Apply the crossover and mutation operators between the chromosomes to make the new generation End main Loop For the best chromosome calculate the B-spline curve Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems On-line path planning • Terrain unknown, only an area near the UAV is scanned by the on board radar. • Path line generated connecting a temporary starting point with a temporary ending point. • While UAV travels about 2/3 (3/4) of the segment, radar returns a new set of visible nodes. The on-line planner produces a new segment. • Each temporary ending point is the next segment’s starting point. •A group of smooth curve segments are gradually generated, connecting the starting point with the final destination. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems • Yellow dots: ending point of each segment (starting point of the next one). •Dashed curves: radar covered area in the position where the algorithm starts to calculate the new segment. The corresponding circle centers are marked with the same colour. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Radar simulation • Path-planner considers scanned surface as a group of quadratic mesh nodes. • All ground nodes are initially considered unknown. • An algorithm is used to distinguish between nodes visible by the radar and nodes not visible. • A node is not visible by the UAV if it is not within the radar’ s range or if it is within the radar’s range but is hidden by a ground section that lies between it and the UAV. visible Non visible Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Radar simulation, cont… • Calculate line connecting UAV and each discrete ground node within the radar range. • Calculate successive point coordinates along this line. xr = (x a ∗ ( xnow − xground ) − x ground ) + ( ynow − y ground ) + (z now − z ground ) 2 now 2 2 xR = xnow− xr • If one of the discrete points is under the ground surface, the final ground node is not visible. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Initial population of the EA Random numbers are generated between the temporary lower and upper bounds, being the coordinates of each BSpline control points. These coordinates must be within the radar’s range and the terrain’s boundaries. Terrain boundaries Upper boundaries Lower boundaries Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Connection between the successive segments • The 1st control point of each segment is the last control point of the previous B-Spline segment. • The 2nd control point of each segment is on the straight line determined by the last two control points of the previous segment. In this way a curvature continuity is obtained. 3 2 1 14 2 4 3 Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Calculation of the second control point of the new curve bb = ((x Rsec ond − x3 ) + ( y now − y3 ) + ( z now − z3 ) 2 now 2 ) 2 1/ 2 x2 = xnow + ( xnow − x3 ) ∗ bb y 2 = y now + ( y now − y3 ) ∗ bb z 2 = z now + ( z now − z 3 ) ∗ bb •xxnow, ynow, znow are the coordinates of the first control point (the last of the previous curve). • x3, y3, z3, are the coordinates of the 3rd control point of the previous curve. •RRsecond : a small number defining the distance between the first and second control points. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Driving potential for the last control point of each curve segment Each curve segment calculation requires a driving force that moves the last control point of each curve segment closer to the final destination. This driving force should have the ability to bypass obstacles existing between the UAV and the final destination. A driving potential is used for this reason between the starting point and the final destination. This potential is integrated in the EA calculation procedure. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The driving potential r2 + c ⋅ r0 Φ = ln r1 + c ⋅ r0 The dashed lines are the equal-potential lines, the solid lines are the “streamlines” normal to the previous ones. The points in the intersection of the streamlines are the starting and the final ones. All the points that lie on an equal-potential curve have the same probability for being chosen as a final point for each B-Spline segment. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems target The potential allows for selecting curved paths that bypass obstacles lying between the starting and ending point of each B-Spline curve. Radar range target In the case of a concave obstacle the introduced potential will fail to guide the UAV towards the final destination. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The On-line fitness function •The optimisation problem to be solved minimises a set of eight terms. • The fitness function is given as: f = 1 8 ∑ ai f i i =1 where αi are experimentally determined weights and fi are the above mentioned terms. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The On-line fitness function terms • Term f1 is the same as term f1 used by the off-line path planner, determining the path feasibility. • Term f2 depends on the value of the potential between the starting point and the final destination, which is the main driving force for the gradual development of the path line. r2 + c ⋅ r0 Φ = ln r1 + c ⋅ r0 r1 is the distance between the last point of the current curve and the starting point, r2 is the distance between the last point of the current curve and the final destination, r0 is the distance between the starting and final destination and c is a constant. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The On-line fitness function terms, cont… Term f3 is the same as term f2 used by the off-line path planner (non-dimensional segment length). Term f4 is the same as term f3 used by the off-line path planner (safety distance from the ground). Term f5 is a function of the distance between the current path’s last point and the solid boundary, similar to term f4, and it penalizes a curve that ends too close to it. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The On-line fitness function terms, cont… • Term f6 is designed to prevent the UAV from being trapped in local concaves and to force it move towards unexplored areas. npo int 1 f6 = ∑ k =1 rk npoint is the number of the discrete curve points produced so far, rk is their distance from the last point of the current curve. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The On-line fitness function terms, cont… • Term f7 is the same as term f4 used by the off-line path planner (path line curvature). • Term f8 represents another potential field, which is developed in a small area around the final destination. • When the UAV is away from the final target, the term is given a (high) constant value. •When the UAV is very close to the target, the term’s value decreases proportionally to the square of the distance between the current curve’s last point and the target. •Thus, when the UAV is near its target, the value of this term is quite small and prevents the UAV from moving away. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The calculation of the fitness function weights • Weights αi are experimentally determined, using as criterion the almost uniform effect of all the terms, except the first one. •Term α1f1 has a dominant role, in order to provide feasible curves in a few generations, since path feasibility is the main concern. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The second mode of the On-line planner • The ground formation may cause the UAV to be trapped in a local optimum area (concave obstacle). A second fitness function and an algorithm is used in this case. • It forces the UAV to move around the border of the obstacle, ignoring its final destination. • The algorithm returns to the first mode when the obstacle is no longer between the UAV and the final destination. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The second mode of the On-line planner, cont… • The second mode is activated (takes control) if: " There is an obstacle very close to the UAV in the direction of its flight. " There is an obstacle very close to the UAV in the direction of its final destination. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Targ G et Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The second mode of the On-line planner, cont… # An algorithm generates a map of all groups of nodes that form obstacles visible by the radar (obstacles are ground formations higher than the flight level). # The nodes that belong to the same obstacle are identified (by assigned to them the same identification number). # The obstacle closer to the UAV is being considered. # The borders (the corresponding nodes) of this obstacle are assigned a numerical value, so that the node with the greater value is far from the UAV’s current position. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Ground nodes Step 1: Obstacle identification 2 2 2 2 2 2 2 2 2 Υ 2 2 2 1 1 Χ 2 1 1 1 1 2 1 1 1 1 Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Step 2: Value assignment to the obstacle’s border nodes The borders (the corresponding nodes) of the obstacle are located and are assigned a numerical value so that the node with the greater value is far from the UAV’s current position. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Border nodes enumeration Ground nodes Υ UAV 1 2 3 Χ 4 5 6 Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The second fitness function forces the UAV to move towards the border node with the larger value. obstacl e Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The fitness function of the second mode • It is the inverse of the weighted sum of 3 different terms: f = 1 3 ∑ a′ f ′ i =1 i i • Term f1΄ is the same as the term f1 used by the off-line path planner (feasibility of the path line). • The value of term f2΄ penalizes curves when their last point is far from the border node whose identification number was given the greater value. This term is used to enforce the curve to circle the obstacle. • Term f3΄ is the non-dimensional length of the current curve. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The On-line path planner flow chart • Input initial point and destination point coordinates, as well as initial flight direction. • Scan the area, using the radar. Do until the final destination has been reached - Check if the UAV has been trapped within an obstacle. If not, produce a pathline inside the scanned area, using the first mode of the EA. If yes, produce a pathline inside the scanned area, using the second mode of the EA, to by pass the obstacle. Keep in this mode until the obstacle has been completely by-passed. - Check if the final point of the new pathline is close to the destination point. If yes, follow the new path and terminate the procedure. If not, travel along the path line until a predefined position has been reached and scan a new area. - Continue the procedure, taking as a starting point of the new path line, the ending point of the previous one. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Off-line experiments All experiments have been designed in order to search for path lines between “mountains”. For this reason, an upper ceiling for flight height was enforced. The (experimentally optimised) EA settings are: population size = 100, threshold = 0.5, heuristic crossover probability = 0.75, classic crossover probability = 0.15, mutation probability = 0.05, non-uniform mutation probability = 0.15. The algorithm was defined to terminate after 50 generations, although feasible solutions can be reached in less than 20 generations. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 1st off-line test case Four free control points are used, with a prefixed direction of the curve at the starting position. The starting position is marked with a circle. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 2nd off-line test case Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 3rd off-line test case Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 3rd off-line test case Early feasible solution of the third off-line test case. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 4th off-line test case 4 free control points were used, and a very low upper limit Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 5th off-line test case A wider terrain was used, along with 6 free control points and very low upper limit. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 6th off-line test case A different terrain was used, demonstrating the ability of the method in dealing with difficult obstacle shapes. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems On-line experiments All experiments have been designed in order to search for path lines between “mountains”. For this reason, an upper ceiling for flight height was enforced. The (experimentally optimised) EA settings are: population size = 50, threshold = 0.5, heuristic crossover probability = 0.75, classic crossover probability = 0.15, mutation probability = 0.05, non-uniform mutation probability = 0.15. The algorithm was defined to terminate after 25 generations, although feasible solutions can be reached in less than 10 generations. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Testing of the 2nd mode of the on-line planner The figure demonstrates the ability of the second mode of the on-line planner in driving the UAV to by-pass an obstacle. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 1st test case for the on-line planner The starting position is in the left corner. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 2nd test case for the on-line planner The starting position is in the left side. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 3rd test case for the on-line planner The starting position is near the upper corner. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 4th test case for the on-line planner The starting position is near the left corner. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 5th test case for the on-line planner The starting position is near the left corner. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The 6th test case for the on-line planner The algorithm passed to the second mode, in order to avoid an obstacle (at the second abrupt turn). The UAV surrounds the obstacle and then the first mode of the algorithm takes over, in order to guide it to the target. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems Discussion The trajectory of a UAV cannot be, adequately, represented using line segments. The proposed method uses parametric curves to produce a continuous path line, which is described by a small set of parameters – the coordinates of the control points. The construction of the B-Splines based on control points, proved suitable for coupling with an EA. The direction of the curve can easily be prescribed at its starting position, by inserting a second fixed point. The off-line planner takes into consideration the vehicle flight capabilities, in the form of a prescribed minimum curvature angle and a maximum flight height. Center for Robot Assisted Search And Rescue TECHNICAL UNIVERSITY OF CRETE Intelligent Systems & Robotics Lab Unmanned Robotic Systems The easy implementation of the various constraints of the problem proved to be a valuable characteristic of EA. The introduced potential field proved to be effective in producing curves that bypass the solid ground obstacles, positioned between the starting and target positions, providing that they do not have a concave shape. In this case the second mode of the on-line procedure governs the path planning, producing smooth flight paths that by-pass the obstacle. The proposed EA method proved capable for providing feasible solutions after a small number of generations, rendering it suitable for real-time calculations. Center for Robot Assisted Search And Rescue
© Copyright 2026 Paperzz