Method for determining an emergency landing plan for a drone using an expert system, corresponding system and aircraft comprising such a system
Patent Information
- Application Number
- FR2023000301
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-01-12
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2043-01-12
Smart Images

Figure 00000024_0000 
Figure 00000025_0000 
Figure 00000026_0000
Abstract
Description
Title of the invention: Method for determining an emergency landing plan for a drone by expert system, corresponding system and aircraft comprising such a system Technical field
[0001] The technical field of the invention is the control of aerial drones, and more particularly the emergency landing of such drones. Previous techniques
[0002] In the event of a breakdown or loss of communication with its control center, a drone must land urgently.
[0003] To enable this emergency landing, emergency landing plans are defined along the entire trajectory defined in the flight plan. This work is carried out in advance during mission preparation. The choice of an emergency landing plan is complex because it must represent maximum safety for the aircraft and its environment. An emergency landing plan is defined as comprising at least one Emergency Landing Runway (referred to as "EOL" hereinafter) and at least one associated approach zone.
[0004] The emergency landing strips constituting said emergency landing plan must therefore comply with numerous constraints. They must, for example, have a minimum size to allow the drone to land, not present any obstacles during the approach phase, not require flying over urban areas or prohibited zones, not have a road axis at its ends while being accessible to be able to recover the drone.
[0005] Due to this complexity, in operational contexts, the preparation of emergency landing plans is done manually by an operator preparing the mission, by selecting cartographic areas. This work is based on the cartographic data of the area flown over.
[0006] To automate and accelerate this preparatory work of choosing PPUs for an emergency landing plan, neural network detection methods have been proposed. Unfortunately, in this case, the results of the PPU detection are not understandable for the operator preparing the mission or the drone operator on mission, because the validation or rejection of a PPU is not explained. Only the result is communicated.
[0007] On the other hand, the paper "Site Selection During Unmanned Aerial System Forced Landings Using Decision-Making Bayesian Networks", Journal of Aerospace Computing 2016, describes methods for detecting emergency landing plans based on Bayesian networks. Such detection methods based on Bayesian networks provide explainable results, but still require complete information about the areas to provide conclusions.
[0008] The method described in the above article thus has the disadvantage of requiring the use of all the data relating to an area and a track of interest to make a decision. However, for rapid processing (study of a large terrestrial region flown over), it is important to be able to interrupt the analysis of an area or track of interest as soon as possible if it is not eligible.
[0009] Manually searching for PPUs has two major drawbacks. First, it is extremely time-consuming for flight preparation. Furthermore, if an unforeseen event prevents the joining of one or more pre-programmed PPUs, searching for one or more PPUs during flight, in real time, by an operator of the drone on a mission, may require more time than the drone has before having to land, which may be detrimental to flight safety.
[0010] The search for PPUs by neural networks is not free from errors (in particular, erroneous classifications of PPUs as admissible or inadmissible) and is furthermore not explainable. These two aspects make the search for PPUs by neural network unsuitable for use in real cases.
[0011] There is thus a need for an automated search for PPUs which addresses the problems of the state of the art linked to the cost of the search, the reliability of the detections carried out, the capacity to explain these detections or non-detections or even the determination of new PPUs in flight. Statement of the invention
[0012] An object of the invention is a method for determining an emergency landing plan for an aerial drone implemented by computer, using an expert system, from at least one candidate zone comprising a candidate runway and included in an area of interest, the emergency landing plan comprising at least one runway associated with at least one approach zone, the expert system comprising an inference engine and a rule base, the method comprising the following steps: • we define rules that must be respected a. by each candidate area, b. by each candidate runway and by at least one associated approach zone, • we define an area of interest, • at least one candidate zone included in the zone of interest is extracted by query in a geographic database, • a candidate area is selected from among the candidate areas of the area of interest, • For each candidate zone, the following steps are carried out: a. at least one candidate track is determined by applying a geometric algorithm, b. if at least one candidate track is determined, a candidate track is selected from among the determined candidate tracks, c. For each selected candidate track, the following steps are carried out: i. at least one approach zone associated with the selected candidate runway is determined, ii. all data necessary for the analysis of the selected candidate track are extracted, iii. a response is determined to each rule applied to the selected candidate runway and to each approach zone associated with each selected candidate runway, iv. the selected candidate runway is stored as validated, if each rule applied to said selected candidate runway and to each approach zone associated with said selected candidate runway is associated with a validated response, the method then preferably resuming the selection of a new candidate runway, • When each candidate area has been selected, an emergency landing plan is issued including each validated candidate runway and each approach area associated with each validated candidate runway.
[0013] It should be noted that the inference engine is used to determine the response to at least one rule applied to a candidate area.
[0014] Filtering of the candidate areas selected from among the candidate areas of the area of interest can be performed by applying, by the inference engine, rules from the rule base to each candidate area, so as to exclude candidate areas that do not satisfy at least one of the rules applied from the candidate areas that can be selected.
[0015] The response to each rule applied to each candidate area or track can be stored.
[0016] The validation or invalidation of a candidate zone or a candidate track can be explained from the stored response to each rule that must be respected, for each candidate zone and for each candidate track.
[0017] A candidate zone can be declared by the expert system as invalid as soon as a rule applicable to it is not verified, without waiting for all the rules to be verified.
[0018] The order of the rules can be determined based on the criticality of the rules, the associated computation time and access to the information.
[0019] At least one candidate track can be determined by applying a geometric algorithm to a candidate area described as a polygon, by performing the following steps: • for each first point of the perimeter of the candidate zone, referenced by a reference angle defined as the angle between a reference axis passing through the center of the candidate zone and a segment between the center of the candidate zone and the first point of the perimeter, a second point of the perimeter of the polygon is identified located at a predetermined Euclidean distance from the point of the perimeter, by traversing the polygon in the trigonometric direction, the Euclidean distance corresponding to the width of the runway required for the landing of the drone, • when this second point is identified, a third point and a fourth point of the perimeter of the polygon are identified, such that the segment between the first point of the perimeter and the second point and the segment between the first point of the perimeter and the third point are orthogonal, and such that the segment between the first point of the perimeter and the second point and the segment between the second point and the fourth point are orthogonal, • we determine the shortest length between the length of the segment between the first point of the perimeter and the third point and the length of the segment between the second point and the fourth point. • if the segment between the first point of the perimeter and the third point is the shortest, we then determine a fourth alternative point on the segment between the second point and the fourth point, such that the segment between the first point of the perimeter and the third point and the segment between the second point and the fourth alternative point are of the same length, • we memorize the rectangle whose successive vertices are the first point of the perimeter, the second point, the fourth alternative point and the third point as the rectangle of maximum length carried by the first point of the perimeter, • if we determine that the segment between the second point and the fourth point is the shortest, we determine a third alternative point on the segment between the first point of the perimeter and the third point, such that the segment between the second point and the fourth point and the segment between the first point and the third alternative point are of the same length, • we memorize the rectangle whose successive vertices are the point of the perimeter, the second point, the fourth point and the third alternative point as the rectangle of maximum length carried by the first point of the perimeter, • we then determine the maximum value among the distribution of rectangle length values as a function of the reference angle, as well as its reference angle.
[0020] It can be defined that two consecutive reference angles are spaced apart by a predetermined increment angle, preferably 10° angle.
[0021] A set of rectangle length values greater than or equal to the product of a predetermined threshold with the maximum value among the distribution of rectangle length values can be determined and their respective reference angles identified.
[0022] We can keep only one rectangle for each reference angle slice.
[0023] An image associated with each response to a rule can be stored.
[0024] Information already available in a fact base can be used when verifying verification of the applicable rules, and if all the data necessary to conclude are not available, the controlled extraction of the missing additional information is triggered, as the rules are applied.
[0025] It is possible to filter the candidate zones for an emergency landing plan determined in the zone of interest by comparing at least one of their properties to a parameter and then selecting a candidate zone from among the candidate zones having satisfied the filtering.
[0026] Another object of the invention is a system for determining an emergency landing plan for an aerial drone, comprising calculation means, and at least one memory comprising a rule base, a first fact base and a second fact base, the calculation means being configured to carry out the method for determining an emergency landing plan described above.
[0027] The invention also relates to an aircraft comprising a system for determining an emergency landing plan as described above. Brief description of the drawings
[0028] Other aims, characteristics and advantages of the invention will appear on reading the following description, given solely by way of non-limiting example and made with reference to the appended drawings in which:
[0029] - Figure [Fig. 1] illustrates a candidate area, a candidate track and two areas approach,
[0030] - Figure [Fig.2] illustrates the main steps of a method for determining emergency landing plan according to a first embodiment,
[0031] - figures [Fig.3], [Fig.5], [Fig.6] illustrate the search for tracks in an area candidate,
[0032] - Figure [Fig.4] illustrates the main steps of a geo-search process metric,
[0033] - Figures [Fig.7] to [Fig. 10] illustrate candidate tracks of a candidate area eligible,
[0034] - Figures [Fig. 11] and [Fig. 12] illustrate candidate tracks considered as not admissible,
[0035] - Figure [Fig. 13] illustrates the main steps of a method for determining emergency landing plan according to a second embodiment. Detailed description
[0036] For the purposes of the discussion below, the following terms are defined:
[0037] • Candidate zone: zone corresponding to a plot of nature compatible with the landing of the aircraft considered and of surface greater than a given threshold,
[0038] • Candidate runway: zone corresponding to a polygon of fixed width (parameter K_LARG below), completely registered in a candidate zone, and defining a direction,
[0039] • Approach zone: zone located in the approach axis of the aircraft before landing, and user-defined length (several approach zones ZA1, ZA2, ... ZAi can be considered),
[0040] • Emergency landing plan: plan including at least one Emergency Landing Runway (called “PPU”) and at least one approach zone.
[0041] The determination of a PPU involves the determination of at least one candidate zone ZC in which the aircraft can land, comprising a candidate runway PC, as well as the determination of one or more approach zones ZAi associated with each candidate runway. A candidate runway is associated with one or more approach zones in the extension of the runway, of the same width, flown over by the drone (therefore in the direction of the approach axis) and disjoint. A given approach zone is associated with a set of validity rules for the candidate runway, the passage from one approach zone to another corresponds to a change of validity rules applicable to each approach zone to test the admissibility of the candidate runway. It should be noted that certain rules and conditions may only apply to the candidate runway. Similarly, the candidate runway is associated with a set of validity rules.It should be noted that some rules and conditions may only apply to the candidate runway. Figure [Fig.l] shows two approach areas ZAI, ZA2 associated with a candidate runway PC.
[0042] It will be noted that the first approach zone ZAI begins at the center of the candidate runway noted CPC. Rules for the validity of the candidate runway are defined for both approach zones ZA1 and ZA2, with different acceptability values for the different criteria. For example, flying over urban roads may be permitted in zone ZA2 and prohibited in zone ZA1, closer to the runway, when the drone is at a lower altitude.
[0043] The concept of approach zones, here represented only in the axis of the runway, can be extended to the entire (potentially non-rectilinear) approach trajectory, for example between the position of the drone at the time of the incident requiring the emergency landing and the candidate runway (for example a trajectory based on Dubins curves).
[0044] The method for determining at least one PPU constituting the emergency landing plan, according to the invention, presents an expert system approach in order to guarantee the speed and verifiability of the determination of the PPUs. An expert system makes it possible to faithfully represent the decision rules used, as well as their logical order of priority, and to reason on facts arising from the situation to be evaluated. The use of these rules in the reasoning allows perfect explainability of the decisions of the algorithm, whether positive or negative.
[0045] The system for determining at least one PPU for the emergency landing plan comprises at least one processing means configured to carry out the PPU determination method. The processing means is associated with a memory. In a particular embodiment, it comprises communication means, making it possible to consult remote geographic databases during the preparation of the drone mission.
[0046] The memory comprises several databases: a rule base, a first fact base and a second fact base. It may also comprise the geographic database instead of a remote database.
[0047] The processing means is of the artificial intelligence type, and preferably comprises an inference engine configured to determine PPUs from the data stored in the first fact base and to determine compliance by each PPU with the rules stored in the rule base.
[0048] The inference engine stores the results of the PPU determination, the result of the verification of the stored rules and the results of the intermediate calculations in the second fact base.
[0049] The rule base contains different rules ranging from simple and unitary logical conditions (of the type SL.. THEN...) to high-level conditions validating and invalidating potential areas and runways as admissible as PPU in an emergency landing plan. By high-level condition, we mean a combination of logical and unitary conditions based on logical operators, in particular of the AND and OR type.
[0050] The order of application of the rules by the inference engine is defined in order of importance. Alternatively, the order can be re-evaluated based on the processing time required for the different information searches.
[0051] The rules for determining a PPU for the constitution of an emergency landing plan, included in the rule base, are, non-exhaustively, the following:
[0052] 1. If the surface of the track has an average slope greater than K_PENTE_MAX, the track is not admissible,
[0053] 2. If the average wind is a crosswind for the runway and is greater than K- VENT_MAX, the runway is not admissible. This rule can be generalized to directions in the direction of the runway or against the direction of the runway in connection with the length of the runway (wind in the direction of the runway implies that a longer runway is necessary, wind against the direction of the runway implies that a shorter runway can be considered)
[0054] 3. IF the nature of the terrain (forest, water area, vineyard, field...) of the track is in the list K_TERRAIN_INTERDIT, the track is not admissible
[0055] 4. If the length of a runway is less than the minimum permissible runway length K_LONG_MIN, the track is not eligible
[0056] 5. If there is an obstacle on the track, the track is not admissible
[0057] 6. If there are at least K_OBS_ZA1 obstacles of height K_OBST_HAUT in the first approach zone ZA1, the runway is not admissible
[0058] 7. If there are at least K_AUTOROUTES_ZA1 motorways in the first zone approach ZA1, the runway is not admissible
[0059] 8. If there are at least K_ROUTES_NATIONALES_ZA1 national roads in the first approach zone ZA1, the runway is not admissible
[0060] 9. If there are at least K_HABITATIONS_ZA1 dwellings in the first zone approach ZA1, the runway is not admissible
[0061] 10. If there are at least K_BATIMENTS_ZA1 buildings in the first zone approach ZA1, the runway is not admissible
[0062] 11. If there are at least K_AUTOROUTES_ZA2 motorways in the second zone approach ZA2, the runway is not admissible
[0063] 12. If there are at least K_ROUTES_NATIONALES_ZA2 national roads in the second approach zone ZA2, the runway is not admissible
[0064] 13. If there are at least K_HABITATIONS_ZA2 dwellings in the second zone approach ZA2, the runway is not admissible
[0065] 14. If there are at least K_BATIMENTS_ZA2 buildings in the second zone approach ZA2, the runway is not admissible
[0066] The first fact base contains the values of the parameters called by the different rules and initialized before launching the complete analysis of the area of interest. These parameters may include:
[0067] - Perimeter of the area of interest (defined by coordinate sets).
[0068] - K_LONG_MIN: Minimum allowable track length
[0069] - K_LARG: Runway width required for landing
[0070] - K-PENTE_MAX: Maximum average slope of the admissible track,
[0071] - K-VENT_MAX: Maximum speed of a crosswind
[0072] - Length of the different approach zones to be considered
[0073] - K_ROUTES_NATIONALES_ZA1 ; K_AUTOROUTES_ZA1 ; K_ROUTES_NATIONALES_ZA2; K_AUTOROUTES_ZA2: Nature / number of road axes admissible for the different approach zones
[0074] - K_OBST_HAUT: Maximum height of obstacles admissible in the different approach zones
[0075] - K_OBS_ZA1: number of obstacles higher than K_OBST_HAUT
[0076] - K_TERRAIN_INTERDIT: list of prohibited areas according to the nature of the mission and applicable regulations (military land, sensitive sites, etc.)
[0077] - K_BATIMENTS_ZA1; Nature / number of buildings admissible for the first approach zone ZA1
[0078] - K_BATIMENTS_ZA2; Nature / number of buildings admissible for the second approach zone ZA2
[0079] - K_HABITATIONS_ZA1: Number of dwellings admissible for the first zone ZA1 approach
[0080] - K_HABITATIONS_ZA2: Nature / number of buildings admissible for the second approach zone ZA2
[0081] It should be noted that the vectorized data generally available indicates the number of dwellings available in each dwelling, for example in a building, data not provided on map views. The expert system can use the information on the number of buildings K_BATIMENTS_ZA1 / K_BATIMENTS_ZA2 and the number of dwellings in each building K_HABITATIONS_ZA1 / K_HABITATIONS_ZA2, the number of dwellings being more representative of the population density than the number of dwellings. If the information on the number of dwellings is not available, the threshold applied to K_BATIMENT_ZA1 or K_BATIMENT_ZA2 can be chosen more restrictively.
[0082] A second fact base hosts throughout the analysis all the data to be analyzed (from mapping and geometric analyses) and the various analysis results from the inference engine. This data can be, but is not limited to:
[0083] - Coordinates of the perimeter of each zone and their reference center
[0084] - Nature of the terrain in each zone
[0085] - Direction and length of the tracks identified in each area (or absence of track) as well as the coordinates of their perimeter and their reference center,
[0086] - Coordinates of the perimeter of the approach zones for each runway
[0087] - Absence / presence / number / height / description of obstacles and / or road axes and / or buildings in the different approach zones
[0088] - List of references to the reference images used to justify the choices of the inference engine for each candidate area and track
[0089] In a first implementation mode, candidate areas are defined corresponding to the cadastral parcels from cadastral data of the area of interest. This data can come from websites such as GeoPortail or Google Earth or from a private geographic information system. Each parcel is associated with coordinates as well as other properties, such as the type of parcel, the slope of the land, etc.
[0090] In a second implementation mode, the candidate areas are obtained by means of an algorithm for automatic segmentation of aerial or satellite images of the area of interest as described in the documents “Satellite Image Semantic Segmentation”, E. Guérin et al. (arXiv preprint: https: / / arxiv.org / pdf / 2110.05812.pdf) and “Segmentation of Textured Satellite and Aerial Images by Bayesian Inference and Markov Random Fields”, Simon P. Wilson, Josiane Zerubia (HAL Open Archives, HAL Id: inria-00072251). This step is followed by a polygonization step (for example using the “Graham Scan” algorithm) (“An efficient algorithm for determining the convex hull of a finite planar set”, Information Processing Letters 1 (1972) pages 132-133).
[0091] In this case, the parcels considered are not necessarily cadastral parcels but parcels defined by a homogeneous content (i.e. road, dwelling, forest, lake, fields, etc.). In this embodiment, the system uses: the type of parcel, its position, its dimensions as well as its properties for the parcels. By parcel type, we mean the type of occupation of the parcel, such as "meadow", "crop", "forest", etc. By parcel property, we mean information such as the slope, the no-fly zone, etc.
[0092] In both cases, the data relating to the plots are stored in the second fact base.
[0093] The inference engine can answer questions such as: Does the candidate area include an admissible PPU? Why does the candidate area not include an admissible PPU? Is the length of the candidate runway provided by the geometric algorithm sufficient for the runway to be admissible? Which rule(s) of which approach area(s) make the candidate runway inadmissible? Regarding the rules making a candidate runway inadmissible, it may be the entire set of rules violated if all input data are analyzed, or a single rule in exploitation mode. The determination of such responses is also referred to by the Anglo-Saxon term "backward chaining".
[0094] In a first embodiment of the method, the plots selected in the area of interest are evaluated by the operator using a user interface.
[0095] In a second embodiment of the method, all the plots of the area of interest are evaluated successively and automatically in order to be used as the basis for a query made to the system.
[0096] An inference engine cannot reason directly about maps. A data preparation step is necessary. The engine can reason about polygons and their associated properties and relationships.
[0097] The properties used are:
[0098] • Type: fields, meadow, water, dwelling, road, woods, etc.
[0099] • Width
[0100] • Length
[0101] • Position
[0102] • Orientation of the plot
[0103] • Slope in degrees
[0104] • Wind orientation
[0105] • Average wind in km / h.
[0106] This information can be extracted from available vectorized map data or extracted manually or automatically by image processing algorithms such as those described in the Guérin et al. document and in the Zerubia et al. document referenced above and then vectorized.
[0107] Figure [Fig.2] illustrates the main steps of the method for determining at least one emergency landing plan according to the first embodiment mentioned above.
[0108] In the first embodiment, the method begins with a first step 1 during which the rules are determined, and preferably stored in the rule base. The rules are linked to the candidate areas, the candidate runways and, possibly, the approach areas.
[0109] During a second step 2, the values of the parameters of the analysis rules are defined, and the area of interest is defined.
[0110] During a third step 3, the system extracts the candidate areas included in the area of interest by image analysis or query of a geographic database.
[0111] During a fourth step 4, the selection of a candidate area is carried out manually. The system extracts from a geographic database, or from an automatic segmentation of an aerial or satellite image, all the data characterizing characteristics of the selected candidate area and stores them in the fact base. When all candidate areas in the area of interest have been selected and processed, the process ends.
[0112] During an optional step referenced OPT, the validity of the selected candidate area is determined by applying the rules relating to the candidate areas of the rule base, via the inference engine. Examples of rules may be the comparison of the surface area of the candidate area to a threshold value, or the determination that the terrain of the candidate area is of a type included in a list of acceptable terrains. The threshold value or the list of acceptable terrains is defined in the rule parameters stored in the first fact base. Said threshold value corresponds for example to a minimum surface area for the candidate area to be able to encompass a candidate runway. It is also determined whether the validity conditions of the geometric algorithm are met. The validity conditions are defined below.
[0113] If the validity conditions are met, the candidate area is validated, and the method continues for said candidate area. If at least one of the above determinations is not verified, the candidate area is invalidated and the method is interrupted for this candidate area.
[0114] During a fifth step 5, the system automatically identifies, for the selected candidate zone, candidate runways PC and the associated approach zone(s) ZA1, ZA2, ..., with a geometric algorithm, then formats the information necessary for updating the fact base.
[0115] The geometric algorithm makes it possible to determine, for a candidate zone, the candidate tracks contained in the zone, their approach axis, their length and their associated approach zones.
[0116] The implementation of the fifth step 5 here involves carrying out the following sub-steps:
[0117] During a first sub-step 51, candidate tracks are identified by applying a geometric algorithm to the validated candidate zones, in order to determine directions making it possible to obtain the longest possible tracks.
[0118] The goal of the geometric algorithm is to find at least one candidate track corresponding to a rectangle of maximum length completely inscribed in the candidate area and whose required width K_LARG is fixed in advance. The candidate area can be convex or not.
[0119] The candidate area is preferably described by a polygon whose number of sides is arbitrary. The polygon is then defined as a plurality of successive vertices S_i (with i=l,...,N) each associated with a pair of coordinates (X_i,Y_i).
[0120] The coordinate X_i is determined as a function of a reference axis X, the coordinate Y_i is determined based on a Y reference axis. The X and Y axes correspond, for example, to the Web Mercator projection axes of latitudes and longitudes.
[0121] Among the set of coordinates (X_l„.. .X_n) we determine those which have the minimum value X_min and the maximum value X_max. Similarly, among the set of coordinates (Y_l,.. .,Y_n) we determine those which have the minimum value Y_min and the maximum value Y_max.
[0122] We then define the reference center G of this polygon with coordinates (X_G,Y_G) with:
[0123] X _G — (X_max-X_min) / 2
[0124] Y_G = (Y_max-Y_mi n) / 2
[0125] The reference center G can be used to uniquely reference the polygon with which it is associated, for example in the second database. It should be noted that the determination of a reference center G described above is only one example among others. We can also cite a determination in median center, and more generally, a determination of center such that the visibility of the vertices is maximized. This last condition is all the more important if the condition of applicability of the algorithm described below is not respected with the average center or the median center.
[0126] We then define the axes [G,x) and [G,y) as the axes parallel to the Web Mercator projections and having as their origin the center of the polygon.
[0127] For each vertex S_i, we define an angle O_i as the angle between the reference axis [G,x) and the vector [G,S_i] between the reference point G and the vertex S_i
[0128] The angles O_i are between -180°+ and 180°.
[0129] The polygon can then be described by a set of angles (O_i) with i=l,.. ,,N
[0130] The proposed geometric algorithm is valid for polygons respecting the following condition: any point M of the polygon contour is uniquely referenced by an angle O_M between the reference axis [G,x) and the vector [G,M]. This condition is less restrictive than the classic convexity condition, the perimeters of the plots being often non-convex. If the zone is not convex, the geometric algorithm will check that the identified track is completely inscribed in the zone, for example by checking that no segment of the perimeter of the zone intersects with the perimeter of the track (contact with the perimeter of the track is obviously accepted by the proposed method, and at least three contact points will exist by the proposed method). If the condition is not respected, we can Either test another reference center G Either delete one of the convex vertices of the perimeter of the zone, vertex not visible from the reference center G and therefore which does not allow respect the condition
[0131] [S_M,S_m] is one of the sides of the polygon (M and m correspond to two points successive) by defining:
[0132] M=argmax(O_i): the index corresponding to the maximum value of O_i,
[0133] m=argmin(O_i): the index corresponding to the minimum value of O_i,
[0134] A condition equivalent to the validity condition of the algorithm is to say that whatever two consecutive vertices S_i and S j (in the trigonometric, anti-clockwise direction), we have:
[0135] +180° >= OJ > O_i > -180° for j different from M or i different from m
[0136] This condition allows the polygon to be traversed. All points of the polygon are traversed by varying the angle O from -180° to +180°. Figure [Fig.3] illustrates these conditions.
[0137] The proposed geometric search algorithm, unlike state-of-the-art geometric search algorithms, makes it possible to define several polygons of defined width (predefined as a parameter set by the user and correlated to the drone's wing) and quasi-maximum length (defined according to a quasi-maximum length threshold defined by the user, for example 80%). In addition, the proposed algorithm is not limited to convex-shaped areas.
[0138] The steps of the geometric algorithm proposed and applied during the first sub-step 51 are illustrated by the figure [Fig.4] and are as follows.
[0139] During a first step 511, for each point A of the perimeter of the polygon, referenced by a reference angle O_A, a point B of the perimeter of the polygon is identified which is at a predefined Euclidean distance K_LARG from point A, by traversing the polygon in the trigonometric direction.
[0140] When a point B is identified, the method continues with a second step 512 during which points C and D of the perimeter of the polygon are identified, referenced respectively by an angle O_C and an angle O_D, such that:
[0141] - [A,B] and [A,C] are orthogonal, and
[0142] - [A,B] and [B,D] are orthogonal.
[0143] During a third step 513, the length LONG_AC of the segment [A,C] and the length LONG_BD of the segment [B,D] are determined. The shortest length among the length LONG_AC and the length LONG_BD is then determined.
[0144] If the segment [A,C] is the shortest, an alternative point D' of the other segment [B,D] is then determined, such that the segment [A,C] and the segment [B,D'] are of the same length, during a fourth step 514.
[0145] We then memorize the rectangle [A,B,D',C] as the rectangle of maximum length, length noted LONG(O_A), carried by the initial point A. Figure [Fig.5] and figure [Fig.6] illustrate this rectangle.
[0146] If at the end of step 513, it is determined that the segment [B,D] is the shortest, the method continues with a fifth step 515.
[0147] During the fifth step 515, an alternative point C' of the other segment [A,C] is determined, such that the segment [B,D] and the segment [A,C'] are of the same length.
[0148] We then memorize the rectangle [A,B,D,C'] as the rectangle of maximum length, length noted LONG(O_A), carried by the initial point A..
[0149] Steps 511 to 515 are repeated for each point A of the perimeter of the polygon, referenced by the reference angle O_A. In a particular case, a predetermined increment angle is defined, for example 1° or 0.1° separating two consecutive angles O_A.
[0150] During a sixth step 516, it is verified that all the points A of the polygon have been covered. If this is the case, the method then continues with a seventh step 517, during which the maximum value LONG_MAX is determined from the distribution of the values of LONG(O_A) as a function of O_A.
[0151] We then determine a set of LONG(O_A) values of lengths greater than or equal to LONG_MAX*THR%, with THR% a predetermined threshold.
[0152] The aim of this thresholding is to propose several rectangles whose main direction is different, but whose length is at least THR_% of the maximum length.
[0153] During an eighth step 518, the rectangles corresponding to the set of values LONG(O_A) of length greater than or equal to LONG_MAX*THR% are identified, as well as their reference angle O_A.
[0154] As it is not useful to propose all the rectangles whose approach axes have close values, we could, for example, keep only one rectangle for each 10° slice of reference angle O_A.
[0155] When several directions are possible, two approach directions (at 180° from each other) are retained for each polygon identified in the candidate area, identified by the geometric algorithm. A candidate track corresponds to the association of the polygon identified in the candidate area and an approach direction. For a polygon resulting from the geometric algorithm, there are therefore two candidate tracks presenting opposite approach directions.
[0156] During a ninth step 519, the characteristics of all the determined candidate tracks are recorded. If no candidate track is found, the method ends for this candidate area. One or all of the candidate tracks will be evaluated.
[0157] During a second sub-step 52, at the end of the identification of candidate tracks, if there remains a candidate track to be evaluated as validated or invalidated, it is selected. If this is not the case, that is to say, if all the candidate tracks of the candidate areas have been evaluated, the process continues in step 4 by selecting a new candidate area.
[0158] During a third sub-step 53, polygons corresponding to at least one approach zone for the selected candidate runway are then defined, depending on the flight model of the drone.
[0159] For each identified runway, the perimeters of the approach zones are calculated directly from the approach direction, and the center point of the runway (which serves as a reference for the distances of the approach zones). An approach zone is the same width as the runway, in the approach axis of the landing associated with this runway, and of length defined by the user. The approach zone ZA2 begins where the zone ZA1 ends.
[0160] During a fourth sub-step 54, all the data necessary for the analysis of the lead are then extracted. The extracted data are recorded in the second fact base so that they can be processed. In the case where a “driven extraction” is carried out using the inference engine, if the expert system requires additional information necessary for the analysis of the lead, an additional extraction iteration can be carried out in order to provide the system with said additional information. If the expert system then indicates that it still requires additional information, a new iteration of extraction of said additional information can be implemented, and so on.
[0161] The data thus extracted include for example the presence of obstacles, and / or the presence of road axes, and / or the presence of buildings impacting the selected candidate runway or in the approach zones. These data are obtained from different sources of information (Geoportail, aircraft obstacle databases, etc.) and / or by semantic analysis of a polygonized aerial image.
[0162] At the end of step 5, the method continues with a step 6 during which the rules stored in the rule base are applied to the selected candidate runway and to the associated approach zones via the inference engine.
[0163] A response to each rule in the rule base is determined via the inference engine based on the data in the fact bases.
[0164] The selected candidate runway is stored as validated if no rule applied to the selected candidate runway and the at least one associated approach zone returns a negative result. The result of the verification of each rule is stored with the runway and the at least one associated approach zone as an explanation for the decision.
[0165] Conversely, the selected candidate track is stored as invalidated if at least one rule is applied to the selected candidate track or to the at least one zone associated approach returns a negative result. The result of the verification of each rule applied to the selected candidate runway and the at least one associated approach area is stored with the runway as an explanation for the decision.
[0166] After the selected candidate track is validated or invalidated, the method resumes at sub-step 52 of the fifth step 5 by selecting a new candidate track.
[0167] Figures [Fig.7], [Fig.8], [Fig.9] and [Fig.10] each illustrate a candidate runway PC and approach zones ZA1 and ZA2 associated with the candidate runway PC. Since all rules have been verified, these runways are considered validated.
[0168] Figure [Fig.l 1] illustrates a candidate runway PC and approach zones ZA1 and ZA2 associated with the candidate runway PC. In the approach zones ZA1 and ZA2, L dwellings have been detected, and conflict with the rules applicable to the candidate runway PC with the parameters of each of the approach zones ZA1 and ZA2. The candidate runway PC is thus considered invalidated.
[0169] Figure [Fig.12] illustrates a candidate runway PC and approach zones ZA1 and ZA2 associated with the candidate runway PC. In the approach zone ZA1, a route R has been detected, and conflicts with the rules applicable to the candidate runway PC with the parameters of the approach zone ZA1. The candidate runway PC is thus considered invalidated.
[0170] Figure [Fig.13] illustrates the method for determining at least one emergency landing plan according to the second embodiment mentioned above.
[0171] In the second embodiment, the method comprises essentially the same steps as the method according to the first embodiment. It is distinguished therefrom by step 4b.
[0172] During the fourth step 4b, the selection of a candidate area is carried out automatically. In other words, each candidate area among the candidate areas included in the area of interest is selected in turn. When all the candidate areas have been selected, and their validity determined, the method ends.
[0173] The other steps are identical to the corresponding steps of the first embodiment.
[0174] In a possible variant, compatible with each of the two embodiments presented above, a controlled extraction of the information necessary for the system to conclude on the validity of a candidate zone or a candidate track is carried out.
[0175] In a sixth alternative step, based on the sixth step, the system uses the information already available in the second fact base (from a previous analysis) and triggers the extraction of the additional information that it would be missing, if it does not have all the data necessary to conclude. The system carries out thus a "driven extraction" to obtain the necessary additional information. The expert system thus only triggers the search for information useful for its conclusion. To the extent that the system only memorizes the information requested in the past, it only requests the information that it does not yet have and that it would need.
[0176] These extractions are carried out for example by the same methods described previously. In addition, at the end of this sixth alternative step, the image (in the form of vectorized data) of the at least one zone of the geographic database which made it possible to validate or invalidate a rule is stored. This has the advantage of allowing the user to relaunch a new complete analysis with other parameters.
[0177] Thus, if the inference engine does not have all the data to apply a rule, a request for additional information is transmitted to the driven extraction layer. The latter then queries at least one geographic database and provides the information which is added to the fact base. The driven extraction layer then again designates the same candidate area for a PPU for application of the rules of the rule base by the inference engine.
Claims
Claims
1. Method for determining an emergency landing plan for an aerial drone implemented by computer, using an expert system, from at least one candidate area comprising a candidate runway and included in an area of interest, the emergency landing plan comprising at least one runway associated with at least one approach area, the expert system comprising an inference engine and a rule base, the method comprising the following steps: we define (1) rules that must be respected a. by each candidate area, b. by each candidate runway and by at least one associated approach zone, we define (2) an area of interest, we extract (3) at least one candidate zone included in the zone of interest by query in a geographic database, we select (4) a candidate area from among the candidate areas of the area of interest, for each candidate area, the following steps are carried out: a. at least one candidate track is determined (511-519) by applying a geometric algorithm, b. if at least one candidate track is determined, a candidate track is selected (52) from among the determined candidate tracks, c. for each selected candidate track, the following steps are carried out: i. at least one approach zone associated with the selected candidate runway is determined (53), ii. extracting (54) all the data necessary for the analysis of the selected candidate track, iii. determining (6) a response to each rule applied to the selected candidate runway and to each approach zone associated with each selected candidate runway, iv. information already available in a fact base is used during verification applicable rules, and if all the data necessary to conclude are not available, the controlled extraction of the missing additional information is triggered, as and when the application of the rules v. the selected candidate runway is stored as validated, if each rule applied to said selected candidate runway and to each approach zone associated with said selected candidate runway is associated with a validated response, the method then preferably resuming the selection of a new candidate runway, • when each candidate zone has been selected, an emergency landing plan is issued comprising each validated candidate runway and each approach zone associated with each validated candidate runway.
2. Method according to claim 1, in which a filtering of the candidate zones selected from among the candidate zones of the zone of interest is carried out, by the application to each candidate zone, by the inference engine, of rules from the rule base, so as to exclude from the candidate zones which can be selected the candidate zones which do not satisfy at least one of the rules applied.
3. Method according to one of claims 1 or 2, in which the response to each rule applied to each candidate zone or track is stored.
4. Method according to any one of claims 1 to 3, in which the validation or invalidation of a candidate zone or a candidate track is explained from the stored response to each rule to be respected, for each candidate zone and for each candidate track.
5. Method according to any one of claims 1 to 4, in which a candidate zone is declared by the expert system as invalid as soon as a rule applicable to it is not verified, without waiting for all the rules to be verified.
6. A method according to any one of claims 1 to 5, wherein
7. the order of the rules is determined based on the criticality of the rules, the associated computation time and access to information. Method according to any one of claims 1 to 6, in which at least one candidate track is determined by applying a geometric algorithm to a candidate area described as a polygon, by carrying out, for each first point of the perimeter of the candidate area, referenced by a reference angle defined as the angle between a reference axis passing through the center of the candidate area and a segment between the center of the candidate area and the first point of the perimeter, the following steps: • a second point on the perimeter of the polygon is identified, located at a predetermined Euclidean distance from the point on the perimeter, by traversing the polygon in the trigonometric direction, the Euclidean distance corresponding to the width of the runway required for the drone to land, • when this second point is identified, a third point and a fourth point of the perimeter of the polygon are identified, such that the segment between the first point of the perimeter and the second point and the segment between the first point of the perimeter and the third point are orthogonal, and such that the segment between the first point of the perimeter and the second point and the segment between the second point and the fourth point are orthogonal, • we determine the shortest length between the length of the segment between the first point of the perimeter and the third point and the length of the segment between the second point and the fourth point, • if the segment between the first point of the perimeter and the third point is the shortest, we then determine a fourth alternative point on the segment between the second point and the fourth point, such that the segment between the first point of the perimeter and the third point and the segment between the second point and the fourth alternative point are of the same length, • we memorize the rectangle whose successive vertices are the first point of the perimeter, the second point, the fourth alternative point and the third point as the rectangle of maximum length length carried by the first point of the perimeter, • if we determine that the segment between the second point and the fourth point is the shortest, we determine a third alternative point on the segment between the first point of the perimeter and the third point, such that the segment between the second point and the fourth point and the segment between the first point and the third alternative point are of the same length, • we store the rectangle whose successive vertices are the first point of the perimeter, the second point, the fourth point and the third alternative point as the rectangle of maximum length carried by the first point of the perimeter, • we store the reference angle associated with the stored rectangle with the stored rectangle as a candidate track.
8. The method of claim 7, wherein the maximum value among the distribution of rectangle length values is determined as a function of the reference angle, as well as its reference angle.
9. Method according to claim 7, in which a set of rectangle length values greater than or equal to the product of a predetermined threshold with the maximum value among the distribution of rectangle length values is determined and their respective reference angles are identified.
10. A method according to claim 9, wherein two consecutive reference angles are defined to be spaced apart by a predetermined increment angle, preferably 10° angle, and, among all the rectangles defined for a reference angle, only one rectangle is kept for each slice of reference angle equal to the predetermined increment angle.
11. Method according to any one of claims 1 to 10, in which an image associated with each response to a rule is stored.
12. System for determining an emergency landing plan for an aerial drone, comprising calculation means, and at least one memory comprising a rule base, a first fact base and a second fact base, the calculation means being configured to carry out the method for determining an emergency landing plan according to any one of claims 1 to 11.
13. Aircraft comprising a system for determining a landing plan emergency according to claim 12.