^{1,2}

^{2}

^{1}

^{2}

Navigation planning can be considered as a combination of searching and executing the most convenient flight path from an initial waypoint to a destination waypoint. Generally the aim is to follow the flight path, which provides minimum fuel consumption for the air vehicle. For dynamic environments, constraints change dynamically during flight. This is a special case of dynamic path planning. As the main concern of this paper is flight planning, the conditions and objectives that are most probable to be used in navigation problem are considered. In this paper, the genetic algorithm solution of the dynamic flight planning problem is explained. The evolutionary dynamic navigation planning algorithm is developed for compensating the existing deficiencies of the other approaches. The existing fully dynamic algorithms process unit changes to topology one modification at a time, but when there are several such operations occurring in the environment simultaneously, the algorithms are quite inefficient. The proposed algorithm may respond to the concurrent constraint updates in a shorter time for dynamic environment. The most secure navigation of the air vehicle is planned and executed so that the fuel consumption is minimum.

Navigation planning requires producing a flight plan to describe a proposed aircraft flight. It involves two safety-critical aspects: minimum fuel consumption and compliance with air traffic control requirements. Navigation planning involves creating a flight plan to guide a point-like object from its initial position to a destination waypoint [

In this paper, by using the flight map and waypoint information, the aim is to calculate the most secure, shortest flight path and the guidance information in order to execute the flight plan by using flight data. For the real-time navigation planning problem, the change in the cost criteria like distance and security is related with the flight level. Flight level is a standard nominal altitude of the air vehicle [

Traditional methods used for the standard route planning problem are Dijkstra, Floyd Warshall, A-Star, and Bellman Ford’s algorithm [

In recent years, evolutionary algorithms have been successfully applied to real-time task and path planning problems. The evolutionary based techniques are attractive for solving large-scale complex path planning problems because gradient information about objective functions and constraints are not needed during search for optimal solutions. Gradients usually do not exist for all feasible solutions in the search space. Another crucial advantage of evolutionary techniques is that they can eventually give the global optimal solutions for large-scale path planning problems.

Nikolos et al. made a research for 3D path planning of unmanned air vehicles [

Hui et al. studied the importance of artificial intelligence in game playing [

Misra and Oommen presented the first learning-automaton based solution to the dynamic single-source shortest-path problem [

Li et al. developed an improved genetic algorithm of optimum path planning for mobile robots [

Tu and Yang proposed a novel genetic algorithm-based approach to path planning of a mobile robot [

Wei et al. proposed a gene-constrained genetic algorithm to solve shortest-path problem [

Mahjoubi et al. proposed a path planning-method which uses genetic algorithm to find the feasible and suitable paths in an environment with static and dynamic obstacles [

Inagaki et al. proposed an algorithm that employs fixed-length chromosomes [

The most familiar dynamic path-planning solution techniques are Ramalingam Reps [

There are four possible edge operations (insertion/deletion and increase/decrease); it has been shown that edge-insertion is equivalent to edge-weight decrease and edge-deletion is equivalent to edge-weight increase. If all edge operations are allowed, the problem is referred to as the fully dynamic problem. If only edge insertion/weight decrease or edge deletion/weight increase is allowed, the problem is referred to as the semi-dynamic problem. The solution by Franciosa et al. can be used only for semi-dynamic case. The Ramalingam-Reps algorithm processes only one change at a time. But in the dynamic navigation problem, a large number of topology modifications occur continuously and this case is not handled by Ramalingam Reps algorithm. Frigioni algorithm cannot be used for the environments where the edge-weights change stochastically. The proposed algorithm should work with uncertain graphs by means of multi objective fitness function. All these three algorithms (Franciosa, Ramalingam Reps and Frigioni) solve dynamic, single-source shortest path problem. They do not consider path security or fuel consumption parameters, since none of these algorithms solve the dynamic flight navigation problem.

In order to model and solve the path planning problem for different environments, many researches have been done recently [

The path-planning strategy could be either static or dynamic depending on whether the path-planning problem is to create a path in static or in dynamic environment [

Lin et al. designed a route guidance system for finding the shortest driving time which is their application on virtual maps of square matrix with appropriate to be used on handheld devices [

Several approaches have been developed for evolutionary algorithms to address dynamic environments such as maintaining diversity during the run, increasing diversity after a change, using memory schemes to reuse stored useful information, and applying multipopulation and speciation schemes to search in different regions of the search space applying multipopulation and speciation schemes to search in different regions of the search space [

The evolutionary navigation planning system consists of two subsystems: mission planning subsystem and mission execution subsystem. In the mission planning subsystem, the flight transition of the air vehicle from a departure waypoint to a descent waypoint is planned by the dynamic evolutionary algorithm. The constraints of the mission planning subsystem are distance, security, and altitude. The mission execution subsystem provides lateral and vertical guidance algorithms and fuel flow rate calculations so that the air vehicle passes through the flight legs and desired route in a real-time environment. Real-time flight data is taken from the Aerosim flight simulator. Mission execution subsystem uses these real-time data in order to calculate pitch and bank angle commands that feed the pilot. Mission execution subsystem executes the planned flight path from the desired departure waypoint to the each arrival waypoint owing to the lateral and vertical navigation guidance functions. The constraints of the fuel flow-rate calculation problem are gross weight, air temperature, flight altitude, and true airspeed. The two subsystems developed use 3-D graphs for the solution. The block diagram of the system and the data flow is shown in Figure

System block diagram.

Flight management system (FMS) is a computer system which handles all the navigation and flight functions of the air vehicle. FMS gathers all of the information generated by electronic equipments and sensors on a screen. So the workload of the pilot decreases. FMS provides autonomous guidance by means of inertial navigation unit and global positioning system [

The navigation planning system takes the position coordinates of the waypoints as an input. Coordinate values are given as longitude and latitude. Latitude is the angle from a point on the earth’s surface to the equatorial plane, measured from the center of the sphere. Longitude is the angle between the two geographical poles to another meridian that passes through an arbitrary point. The longitude and latitude components specify the position of any location on the planet but do not consider altitude or depth. The altitude constraint is considered for the legs of the flight plan. A flight leg is a route between two combined waypoints. The constraints of the flight leg are defined as a vector consists of the distance, the security value, and the altitude of the flight leg.

A primary flight display provides flight and navigation information. The primary flight display contains an attitude indicator, which gives the pilot information about the aircraft’s attitude information, pitch and roll angles, and the orientation of the aircraft with respect to the horizon. The mechanical gyroscope is a separate device whose information is simply displayed on the primary flight display. Unlike mechanical instruments, this information can be dynamically updated as required; the stall angle, for example, can be adjusted in real time to reflect the calculated critical angle of attack of the aircraft in its current configuration. The primary flight display may also show an indicator of the aircraft’s future path, as calculated by the proposed dynamic navigation planning algorithm, making it easier for pilots to anticipate aircraft movements and reactions. There are airspeed and altitude indicators next to the pitch and roll indicators. The airspeed indicator displays the speed of the aircraft in knots, while the altitude indicator displays the aircraft’s altitude above sea level. These measurements are conducted through the aircraft’s pitot system, which tracks air pressure measurements. The vertical speed indicator, next to the altitude indicator, indicates to the pilot how fast the aircraft is ascending or descending or the rate at which the altitude changes. This is usually represented with numbers in “thousands of feet per minute.” At the bottom of the primary flight display is the heading display, which shows the pilot the magnetic heading of the aircraft. This functions much like a standard magnetic heading indicator, turning as required.

The most critic parameters of a primary flight display are pitch, roll, heading indicators, speed, and altitude indicators. The proposed algorithm and control system uses these data in order to find the best route for the air vehicle. The primary flight display consists of a vertical situation display with flight instruments, a flight director, and essential engine instruments and mode-selectable horizontal situation displays. The flight director commands calculated by the proposed control system show steering commands to capture desired aircraft roll and pitch. Flight director commands are satisfied by flying the aircraft into the intersection formed by the command bars.

For the execution test of the developed algorithm, air navigation process of the air vehicles from a departure waypoint to a descent waypoint is simulated. The simulation environment used to verify the navigation algorithms is shown in Figure

Aerosim smulator block diagram.

The simulator represents a simulation of the aircraft in open-loop flight [

The parameters like initial position, wind speed, initial velocity, initial altitude, initial engine speed, and sample time can be modified before the navigation simulation. The algorithm developed here can save the flight state information and current position and can continue to the flight to a different waypoint.

The AeroSim blockset provides a complete set of tools for developing nonlinear 6-degree-of-freedom aircraft dynamic models. The Simulink blocks include the nonlinear equations of motion, linear aerodynamics based on component buildup, piston-engine propulsion, aircraft inertia model including weight variation due to fuel consumption, atmosphere models including standard atmosphere, wind gusts and von Karman turbulence, and Earth models which provide Earth radius, gravity, and magnetic field components at current aircraft location. In addition the AeroSim blockset provides basic analog sensor and nonlinear actuator models and unit conversion blocks for translation between metric and English units, as well as transformations between various reference frames (wind, body, navigation, and Earth-centered frame). In addition to the individual blocks, several prebuilt aircraft models are available, which can be customized through parameter files.

The general functions used in lateral and vertical navigation are geometric distance, bearing, and coordinate calculation functions. The first basic function calculates the distance between two waypoints and bearing angle of the flight route formed by the combination of two waypoints.

The inputs of the basic function of navigation are the longitude and latitude values of the source and destination waypoints. The outputs of the function are the distance of the flight leg and bearing angle of the flight route. The function calculates the distance value in radians. In order to convert the distance to units of length, the distance value is multiplied by the radius of the Earth. According to the WGS-84 ellipsoid model, the radius of the earth is 6378.137 kilometers. The function initially calculates the unit position vectors of two waypoints in Earth-centered Earth-fixed coordinate system. Then the cross-multiplication of two vectors is taken. So the angle and distance between two position vectors can be calculated.

The navigation planning system takes the position coordinates of the waypoints as an input. Coordinate values are given as longitude and latitude. Latitude is the angle from a point on the earth’s surface to the equatorial plane, measured from the center of the sphere. Longitude is the angle between the two geographical poles to another meridian that passes through an arbitrary point. The longitude and latitude components specify the position of any location on the planet but do not consider altitude or depth. The altitude constraint is considered for the legs of the flight plan. A flight leg is a route between two combined waypoints. The constraints of the flight leg are defined as a vector consists of the distance, the security value, and the altitude of the flight leg:

By using the two equations above, the distance between source and target waypoints is calculated as shown below:

The bearing angle between the source and destination waypoints is calculated by using the formula below:

The distance and bearing angle of a flight leg are shown in Figure

Distance and bearing of a flight leg.

Another function used for lateral guidance is the position calculation function. This function calculates the longitude and latitude of the waypoint from a given position vector, distance, and bearing values. In order to find the second waypoint’s position, firstly tangent unit vector in the bearing angle direction to great circle is calculated.

Third basic function for lateral navigation is the calculation of the coordinates of the intersection of two flight legs. For lateral navigation, when the air vehicle is routed by parallel deviation from a flight plan, the intersection point of two segments is calculated for navigation planning. An intersection point of two flight segments is shown in Figure

Intersection of two flight paths.

In order to calculate the coordinates of the intersection point, firstly the normal vectors of the two surfaces are found. These two surfaces intersect at two points. These two points are found by the formula shown above. By using Pnk(

When a deviation from the flight plan occurs, the pitch and bank angle commands are calculated in order to fit the desired flight leg. Beside this, when the route switching points are reached, these angles are again calculated in order to put the air vehicle in the next flight route. For the calculation of the lateral guidance command, firstly the projection of the air vehicle on the desired route is found. KTCP distance shown in Figure

Track and bearing angles.

Then the track angle is found by calculating the angle between the ground speed components, east and north. The track angle error is found by subtracting track angle from the desired track:

By using the track angle error found by (

Route planning and navigation control based on evolutionary programming concepts can be designed as a general, flexible and adaptive technique. By integrating the planning process in evolutionary algorithms, definition of the different optimization criteria, dynamic update of the constraints, domain specific evolutionary operators, and control of the dynamic obstacles may be handled. Evolutionary algorithms, in comparison to the classical optimization methods, are more effective for discontinuous and noisy objective functions [

Genetic algorithms imitate the evolutionary process in order to solve the optimization problems. Instead of developing one solution candidate, genetic algorithms form a set of individuals. The set, which contains probable solution candidates, is defined as population in genetic algorithm terminology. Population occurs from arrays called vector, chromosome, or individual. Each element of an individual is called gene. In evolutionary programming method, individuals in the population are determined by the operators of the evolutionary algorithm. In the problems like path planning, the permutation representation is used and the operators differ from the operators of the basic genetic algorithm. The most important parameters of the genetic algorithm are cross-over rate, mutation rate, and the number of individuals in a population. In order to declare cross-over and mutation rates, different values are tested, and by this way the most appropriate values are found for these parameters. Chromosome number in the population is determined according to the nodes of the graph topology.

In the proposed heuristic approach, variable-length chromosomes are used for representing the routes. Variable-length chromosomes are used in dynamic path-planning systems in order to cover the whole search space [

Evolutionary algorithm parameters.

Selection method | Roulette wheel |

Chromosome length | Variable |

Cross-over rate | 70–80% |

Mutation rate | 5–10% |

Representation | Permutation based |

Stopping criteria | Individual similarity |

Population size | Proportional with the number of edges |

In a genetic algorithm, crossover takes two parents and replaces a randomly chosen part of one parent with another, randomly chosen part of the other. This is often very destructive to the structure and functionality of the child program. It is, however, the means by which valuable code can be transferred between programs and is also the theoretical reason why genetic programming is an efficient and successful search strategy. Even though it often produces unfit children, it does produce parent-superior fitness occasionally and those individuals often possess the critical improvements that allow evolution to progress to the next round of fitness improving generations. Mutation takes one parent and replaces a randomly selected chunk of that parent with a randomly generated sequence of code. One of the advantages of this operator is that it maintains diversity in the population, since any of the function/terminal set can be inserted into the program, whereas crossover can only insert code present in the current generation’s population. Through the repeated application of these operators to the selected parents of the old generation, a new generation is formed, some of the members of which will hopefully be more fit than the best of the last generation. At this point a new population is available to be evaluated for fitness. The cycle will continue, until either a single member of the population is found which satisfies the problem within the level of error designated as acceptable by the success criteria or the number of generations exceeds the limit specified.

Cross-over operator developed for navigation planning problem exchanges pieces of routes. An identical intermediate node is chosen. The first part of the route connects the initial node to the intermediate node. The second part of the route connects the intermediate node to the target node. Crossover may generate infeasible chromosomes that violate the loop constraint. Repair operator makes a postprocessing operation and removes the cycles from the infeasible individuals [

Mutation operator increases the variation in the population. Mutation avoids local optima by changing the genes of the potential chromosome. Two-point mutation is applied. The genes in the region between the mutation points are modified with a different route. Finally two new individuals with different genotype are formed. The fitness of the individual chromosome is calculated by using the distance, height difference, and security values of the segments in the path. Height difference is the difference of altitudes of a segment and the altitude of the previous segment. The height difference is not considered for the first segment of the route. The sample crossover and repair operations are shown in Figures

Crossover and repair operators.

Mutation operator.

The flowchart of the mission planning subsystem is shown in Figure

Mission planning subsystem.

Three most important parameters of the proposed evolutionary method are cross-over rate, mutation rate, and number of generations. For each parameter different flight simulations are planned and executed, and the following graphs are formed by the average values of the experimental results. The experiments are done with 50 waypoints city map. We produced a connected graph and selected a source waypoint for the start of the flight and a destination waypoint for arrival. The experiments are repeated with updated constraints and edges. At each measurement, different edges are added to the graph or some edges are removed from the graph. The experiments are repeated for 100 different maps in the same topology.

A first set of experiments is done for determining the appropriate cross-over rate. The mutation rate, number of individuals, and the stop criteria are fixed in this set. The mutation rate in this set is 10%. The stopping criterion is individual similarity. The result of the first experiment set is shown in Figure

Effect of the cross-over rate.

A second set of experiments is done for determining the appropriate mutation rate. The cross-over rate, number of individuals, and the stop criteria are fixed in this set. The cross-over rate in this set is 70%. The stopping criterion is individual similarity. The result of the second experiment set is shown in Figure

Effect of the mutation rate.

In order to show the best candidate of each generation, a third set of experiments is done. The cross-over rate is fixed to 70%; the mutation rate is fixed to 10%. For each population number of individuals is 100 in this set. The result of the third experiment set is shown in Figure

Effect of the number of generation count.

The run-time performance and the complexity of the proposed algorithm are compared with deterministic methods. When segment insertion/deletion/cost update operations occur, the proposed algorithm does not start calculations from scratch, and it converges to the solution in a shorter time than Dijkstra. Figure

Run-time performance of the proposed algorithm.

In the simulations a part of USA waypoint database, including the longitude and latitude coordinates of the south region states, is used. Transition of the air vehicles between waypoints is planned. For the visual simplicity, the numbers are used instead of the names of the states, and only 15 states are chosen. Finding the most secure, smoothest and the fastest transition of the air vehicles from an initial waypoint to a target waypoint is aimed. In the city map shown in Figure

Initial city map.

The proposed evolutionary method aims to find the shortest, most secure and the smoothest route for the initial constraints. As the problem considers distance, height, and security conditions, the problem is multi-objective optimization problem. The initial solution of the dynamic system for the initial conditions is shown in Figure

Initial transition plan.

When the links between City 8-City 9 and City 8–City 11 are disabled dynamically, the new transition flight plan for the air vehicle is shown in Figure

Updated transition plan.

When the link between City 1–City 3 is disabled dynamically, the proposed route computed by the algorithm is shown in Figure

Dynamic transition plan.

The system converges to the solution in the dynamic environments without processing from scratch. Analytical approaches repeat the calculations from scratch because an update in the constraints change the matrix used to find the solution [

The fitness of the individual chromosome is calculated by using the distance, height difference, and security values of the segments in the path. Height difference is the difference of altitudes of a segment and the altitude of the previous segment. The height difference is not considered for the first segment of the route. The problem is multi-objective in our case, because security objective may subject to distance constraints, and distance constraint depends on a statistical distribution function. The effects of metrics like security and distance to the solution may be modeled with the classical optimization techniques, but in the dynamic environments like battle scenarios, at each condition change, the algorithm starts the solution from the scratch and increase the operation complexity and calculation time, so they are infeasible [

By the execution of the flight plan formed by the mission planning subsystem, the most secure, shortest navigation path is processed by mission execution subsystem. The simulation results of the flight plan with six waypoints are shown in the Figures

Flight route execution simulation.

Lateral navigation bank-angle command simulation result.

Another flight plan execution simulation is shown in the Figures

Coordinate and altitude values of the second flight plan waypoints.

WP number | Latitude (°) | Longitude (°) | Altitude (meters) |
---|---|---|---|

1 | 40,1310 | 33,0351 | 1985,7 |

2 | 40,0768 | 33,1524 | 1985,7 |

3 | 40,0764 | 33,3635 | 2985,7 |

4 | 40,1840 | 33,5050 | 3985,7 |

5 | 40,1847 | 33,2701 | 4985,7 |

6 | 40,3109 | 33,2706 | 5985,7 |

7 | 40,2211 | 33,0352 | 4985,7 |

8 | 40,2210 | 32,8706 | 3985,7 |

9 | 40,1309 | 32,8708 | 2985,7 |

Mission execution 2D graph with nine waypoints.

Mission execution 3D graph with nine waypoints.

In Figure

Navigation planning is an optimization problem that requires finding and executing the most feasible flight path between source and destination waypoints. Deterministic algorithms like Floyd, Dijkstra, or heuristic methods like neural network and A-Star may be used for the solution of navigation planning problem in static schemes. Dynamic path planning algorithms like Frigioni, Franciosa, and Ramalingam Reps may be used in dynamic environments, but they are constrained by some limitations. When several concurrent changes occur in the environment simultaneously, these algorithms are quite inefficient. When the segment costs and conditions change stochastically and continuously, these algorithms fail to reach the actual underlying average solution. And these algorithms run when the costs of the links in the graph are clear. But in a flight plan scenario, the altitude of the paths and the security of the links may be approximately known. So the algorithm should work with uncertain graphs.

The flight and mission planning is a fault-tolerant real-time system, so the algorithm should attach more importance to a constraint, like distance, time, security, or altitude. In the algorithms like Floyd and Dijkstra, the graph is represented by a matrix. But the proposed solution is not matrix-based. Owing to the reproduction loop, selection mechanism and the fitness function, the algorithm finds better results in a shorter computation time compared with the analytical algorithms. The proposed algorithm provides advanced search speed, quality, and flexibility in dynamic schemes. In addition to the flight planning algorithm, a flight execution algorithm is developed to guide the pilot follow the mission plan. The execution algorithm provides flight commands like pitch, bearing, track and bank angles, and desired ground speed to arrive the next waypoint on time and fuel flow rate.

The results support the view that evolutionary algorithms are an effective, robust search procedure for NP complete problems in the sense that, although they may not outperform highly tuned, problem-specific algorithms. Evolutionary algorithms can be easily applied to a broad range of NP-complete problems with performance characteristics no worse than the theoretical lower bound of an N^{3} speedup.