EP3994678A1 - Method for determining the path of an unmanned aerial device and other associated methods - Google Patents

Method for determining the path of an unmanned aerial device and other associated methods

Info

Publication number
EP3994678A1
EP3994678A1 EP20747472.7A EP20747472A EP3994678A1 EP 3994678 A1 EP3994678 A1 EP 3994678A1 EP 20747472 A EP20747472 A EP 20747472A EP 3994678 A1 EP3994678 A1 EP 3994678A1
Authority
EP
European Patent Office
Prior art keywords
path
graph
branches
flight
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP20747472.7A
Other languages
German (de)
French (fr)
Inventor
Pierre PELE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uavia
Original Assignee
Uavia
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Uavia filed Critical Uavia
Publication of EP3994678A1 publication Critical patent/EP3994678A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/104Simultaneous control of position or course in three dimensions specially adapted for aircraft involving a plurality of aircrafts, e.g. formation flying
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/003Flight plan management
    • G08G5/0034Assembly of a flight plan
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0047Navigation or guidance aids for a single aircraft
    • G08G5/006Navigation or guidance aids for a single aircraft in accordance with predefined flight zones, e.g. to avoid prohibited zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/0202Control of position or course in two dimensions specially adapted to aircraft
    • G05D1/0204Control of position or course in two dimensions specially adapted to aircraft to counteract a sudden perturbation, e.g. cross-wind, gust
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/106Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0017Arrangements for implementing traffic-related aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information
    • G08G5/0021Arrangements for implementing traffic-related aircraft activities, e.g. arrangements for generating, displaying, acquiring or managing traffic information located in the aircraft
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/003Flight plan management
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0047Navigation or guidance aids for a single aircraft
    • G08G5/0056Navigation or guidance aids for a single aircraft in an emergency situation, e.g. hijacking
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0047Navigation or guidance aids for a single aircraft
    • G08G5/0069Navigation or guidance aids for a single aircraft specially adapted for an unmanned aircraft
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0073Surveillance aids
    • G08G5/0091Surveillance aids for monitoring atmospheric conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U10/00Type of UAV
    • B64U10/10Rotorcrafts
    • B64U10/13Flying platforms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2101/00UAVs specially adapted for particular uses or applications

Definitions

  • the present invention relates generally to unmanned aerial devices or drones, and in particular to the determination of routes for drones in constrained environments.
  • Surveillance drones are more and more widely used for surveillance, in particular the surveillance of structures, sensitive sites, etc.
  • a flight plan is a series of waypoints without vertical dimensions (see for example EP1614086A2) chosen in advance by the user while respecting environmental and material constraints.
  • This document describes techniques for following the theoretical trajectory, taking as input a list of coordinates of waypoints and the data from various sensors (Lidar, Laser, etc.) which are processed to dynamically modify said trajectory.
  • the current state of the art does not propose a technique allowing the automatic establishment of a flight program under environmental and material constraints on the one hand and under higher level constraints determined by the user.
  • a safety pilot must be present during the execution of the automatic mission of the UAV, so as to be able to take control in the event of a problem. He will then be responsible for making the right decisions regarding the trajectories allowing the UAV to reach the safe zone.
  • the present invention proposes to improve the generation of automatic flight programs by limiting the need for human intervention during the flight, with great flexibility in determining the flight path.
  • a method for modeling by digital processing of a three-dimensional environment with a view to establishing travel paths for unmanned aerial devices optimized according to different priorities, characterized in that it comprises the steps following digital processing:
  • the priorities include at least two priorities among an absolute distance priority, a travel time priority, an energy consumption priority, a risk priority.
  • the stress vector is a wind vector, each branch having a pair of weights associated respectively with the direction of travel and each weight being separately subjected to the wind vector.
  • said weighting is such that different weights are assigned to the same branch according to the direction of travel, so as to generate privileged directions of travel.
  • said weighting is based on a mapping defining different levels of constraints as a function of the location in a flight space.
  • the stress levels are included in a group comprising a maximum authorized speed constraint and a risk constraint.
  • step (a) includes providing a three-dimensional model comprising volumes (PEXi) in which theft is physically impossible, and reprocessing this model with static safety margin data.
  • step (a) includes the subdivision of the three-dimensional model into horizontal slices (Txy), the projection of the volumes on a horizontal plane being the same throughout the thickness of each slice, and the implementation of a subdivision into individual elements in each horizontal plane.
  • step (d) comprises the establishment of branches of the graph between nodes located in adjacent horizontal planes by a distance minimization approach.
  • a method for determining by an unmanned aerial device a path between two points of a three-dimensional space modeled by a graph obtained by the modeling method as defined above, characterized in that it comprises the following steps:
  • the branches of the graph of the weighting step is implemented by receiving at a distance from a starting graph unweighted branches, and weight on board of the apparatus, said legs depending on the priority.
  • the method comprises, during the flight, a step of updating the weights of the branches of at least part of the graph and a step of recalculating the best path in the graph.
  • the branches of the weight update of at least a portion of the graph is performed based on the reception weight change data for weighting corresponding to the precedence effect.
  • the step of updating the weights of the branches of the graph comprises the generation of prohibited branches according to a prohibited zone appearing dynamically.
  • the prohibited zone is determined by remote communication of the machine with other equipment whose position determines the prohibited zone.
  • the forbidden zone is a forbidden altitude stop.
  • the release factor is determined from at least one piece of data representative of one of the following information: current accuracy of a GPS unit on board the device, wind, response of the device to the commands of the device. control, device size, device type.
  • said dynamic characteristic comprises at least one characteristic among the energy available on board and a behavior anomaly.
  • the graph comprises nodes designating stations or landing zones, and the step of dynamically determining the new path takes into account the positions of the nodes of stations or landing zones.
  • the dynamic determination step of the new path also takes into account the statuses (free, occupied) of the nodes of stations or landing zones.
  • the method includes a modification of the priority in the event of behavior anomaly.
  • An unmanned aerial device comprises digital processing and wireless communication circuits suitable for implementing all or part of any of the above methods, as well as a computer program, capable of being loaded on board an unmanned aircraft, characterized in that it comprises instructions capable of implementing all or part of any of the above methods.
  • FIG. 1 is a top plan view of a simplified site on which a UAV must operate
  • FIG. 1 is an elevational view of the simplified site of Figure 1
  • FIG. 3 is a perspective view of the simplified site of Figures 1 and 2,
  • Figure 4 is a view similar to Figure 1, showing safety zones surrounding areas of prohibited theft,
  • Figure 5 is a view similar to Figure 2, showing safety zones surrounding areas of prohibited theft,
  • - Figure 6 is a plan view at a first altitude, illustrating a possible spatial decomposition of the simplified site at this altitude
  • - Figure 7 is a plan view at a second altitude, illustrating a possible spatial decomposition of the simplified site at this altitude
  • FIG. 8 is a plan view at a third altitude, illustrating a possible spatial decomposition of the simplified site at this altitude
  • FIG. 9 is a plan view at a fourth altitude, illustrating a possible spatial decomposition of the simplified site at this altitude
  • FIG. 12 illustrates the overall architecture of a drone system capable of implementing the invention.
  • drone or UAV for "Unmanned Aerial Vehicle” in Anglo-Saxon terminology
  • UAV Unmanned Aerial Vehicle
  • wing drones s
  • bearing s
  • the system to which the invention applies comprises one or more drones capable of flying in a given space, as well as one or more ground charging stations.
  • the invention focuses in particular on finding a path under constraints in this space, respecting the calculated path as well as re-evaluating the path and the destination.
  • the present invention aims to allow a drone to move with the greatest security in a three-dimensional space, part of the topology of which is known in advance.
  • This knowledge makes it possible to establish a representation of the flight space, to take into account both dynamic changes in this space and changes in the state of the aircraft such as the battery level or the appearance of anomalies behavior, and also to take into account the priorities given on the fly by the user or automatically according to a given context (shortest path, the most energy efficient, etc.).
  • a processing unit constructed from mission data comprising in particular the coordinates of a starting point and the coordinates of a point to be reached, a list of waypoints optimized from the point of view of a a number of criteria, including flight safety.
  • This list of waypoints is recalculated over time each time the topology of the terrain changes, new information becomes available or information previously available is no longer available.
  • This process aims to take into account in real time and automatically effects as varied as a drop in the quality of the network in a certain area of space, an obligation to travel in one direction in a certain area, the coordinates an available charging station, the presence of other drones in the vicinity of the trajectory, etc.
  • the three-dimensional flight space provided as input data is a finite volume that may contain volumes or theft is prohibited.
  • static safety margins are taken into account: the volume of the flight space is reduced by reducing the spatial extension of its outer limits and by increasing the spatial extension of the limits of prohibited volumes it contains.
  • the authorized flight space defined as the exclusion of the volumes representing the unauthorized flight zones from the total volume, is then subdivided into a set of elements all contained in the authorized flight space. For each of these elements, a characteristic point is chosen.
  • a graph is built by connecting the points between closest neighbors.
  • a weighting is associated with each of the branches and depends on the constraints imposed on the system and are described below. This weighting can be oriented, namely that two different points can be associated with a branch, according to the direction in which it must be traversed. When the destination is indicated by the user, the graph is traversed to find the optimal path according to the constraints.
  • a volume containing the trajectory is calculated based on environmental conditions, flight parameters (speed, acceleration, etc.). This volume results from the application of a non-isotropic release factor of the trajectory and corresponds to a mandatory flight volume for the UAV following said trajectory.
  • the release factor is calculated periodically and the mandatory flight volume is modified accordingly to take into account dynamic changes in the conditions for modifying said release factor.
  • the weighting associated with the branches of the graph is periodically recalculated and the path between the current position and the destination minimizing the “cost” of the journey according to one or more criteria is recalculated.
  • the notion of travel cost is determined by a high level priority chosen by the user: priority to the shortest travel time, to the highest average travel speed, to increased safety.
  • priority to the shortest travel time, to the highest average travel speed, to increased safety.
  • the release factor is recalculated and the mandatory flight volume recalculated accordingly.
  • the behavior of the UAV is monitored and when an anomaly is detected a modification of the destination can take place, and the UAV then proceeds to the pre-defined safety zone, maximizing the safety of the flight.
  • the representation of the flight space E can be performed in three dimensions by considering it as a polyhedron called "encompassing" PEG (typically a cylinder with vertical directrix s' pressing on the limits of a site, here a fence CL) entirely containing a set of other so-called “excluded” polyhedra, here for the sake of simplification of the rectangular parallelepipeds PEX1, PEX2 and PEX3, the volume of which is prohibited from flight.
  • PEG typically a cylinder with vertical directrix s' pressing on the limits of a site, here a fence CL
  • excludeded polyhedra here for the sake of simplification of the rectangular parallelepipeds PEX1, PEX2 and PEX3, the volume of which is prohibited from flight.
  • These polyhedra can represent, for example, buildings, industrial installations, tanks, parking or work areas.
  • static safety margins for both the enclosing polyhedron and for the excluded polyhedra are calculated using determining a predefined increase in the size of the excluded polyhedra and a predefined decrease in the size of the enclosing polyhedron.
  • the distance of increase or decrease can be chosen in different ways using for example the known error of the positioning system. It can be different in the two horizontal dimensions and the vertical dimension. It is typically of the order of 5 m.
  • references PEG ’and PEX1’, PEX2 ’and PEX3’ designate in Figures 4 and 5 these polyhedra "expanded” after correction.
  • the three-dimensional model of the flight space is here seen as the superposition of horizontal layers at different altitudes.
  • Horizontal slices of fixed altitudes are created between horizontal planes located at the minimum and maximum altitudes of each of the polyhedra contained in the flight space.
  • a plane PO corresponds to the common minimum altitude of the three excluded polyhedra PEX1, PEX2, PEX3, while planes P1 to P3 correspond to the maximum altitudes in the increasing direction of the excluded polyhedra, namely PEX3, PEX2 and PEX1.
  • the intersection between each plane and each polyhedron itself forms a polygon.
  • the polyhedra are of constant horizontal section over their entire height.
  • the projection of the polyhedron in the planes at the level of its widest section for the slice considered is determined by calculation.
  • the design of the three-dimensional model can also include a plane P4 (see Figure 5) determined as a function of a maximum flight altitude of the UAVs, this plane being carried over to an almost infinite altitude in the absence of such a limitation.
  • the flight space is modeled by a 2.5-dimensional space consisting of a set of slices here T01, T12, T23 and T34 of constant horizontal sections, which are respectively delimited by the pairs of planes P0-P1, .. ., P3-P4, whose boundaries are externally those of the corrected enclosing polyhedron PEG 'and internally those of the corrected excluded polyhedra PEX1' to PEX3 'which have intersections with these slices, each of these slices defining over its entire height a zone of authorized flight.
  • Figures 6 to 9 respectively illustrate the sections of the four slices based on the model of Figures 1 to 5.
  • one or more UAVs are required to evolve and are in interaction with one or more charging stations located in accessible areas of the flight zone.
  • Emergency landing zones can also be taken into account in defining the flight space. They correspond to areas that may or may not contain a charging station and are selected areas in which a UAV can land safely.
  • a charging station must necessarily be located in an emergency landing zone: in the event of a problem while landing a UAV in the station, the UAV has a fallback solution that is quickly and safely accessible.
  • an emergency landing zone can be located above an obstacle, but cannot be located at the same level.
  • the creation of the site template to browse also includes the positioning, performed using an appropriate user interface, of recharging stations for UAVs, and where appropriate emergency landing zones separate from the recharging station zones.
  • this positioning is carried out taking into account the safety margins of the prohibited areas, so as to prevent a UAV from having to enter such a prohibited area during an emergency landing.
  • the horizontal plane of the authorized flight zone in each of the aforementioned sections is subdivided by a processing system into a set of individual elements or blocks PVk thus constituting a paving of the authorized flight zone in this section.
  • Paving can be done in different ways.
  • a Delaunay triangulation or one of its variants is used for this tiling (see in particular https://fr.wikipedia.org/wiki/Triangulation_de_Delaunay), the tiles thus all being triangular in shape.
  • the triangulation under constraint makes it possible to impose that the result of the triangulation respects a particular shape in places because the individual elements of the model can intersect (case for example of a prohibited zone of flight in the middle of an authorized flight zone).
  • the processing unit determines for each block the coordinates of a characteristic point Pk.
  • One possible choice is to take the center of mass of the block. Indeed, by definition, the center of mass of a triangular paving stone resulting from a Delaunay triangulation is necessarily located inside this paving stone, and therefore in the authorized flight zone of the horizontal slice Txy considered.
  • the processing unit then constructs a graph whose nodes are each of these characteristic points Pk.
  • Each node has for properties a node identifier Ik and its three coordinates Xk, Yk, Zk in an orthonormal three-dimensional space.
  • the branches of the graph include branches connecting the closest nodes located in the same slice, and on the other hand branches connecting the closest nodes in two neighboring slices.
  • the nodes constituted as the closest in the same slice are advantageously the characteristic points of adjacent triangles by one of their sides (simplicity of construction).
  • the nodes closest to two adjacent slices are the nodes whose calculated mutual distance is the shortest, it being specified that a node of a given slice can have one or more branches connecting it to one or more nodes of the branch immediately higher (when it exists), and one or more branches connecting it to one or more nodes of the immediately lower branch (when it exists).
  • the processing unit does not branch between slice nodes that are not immediately adjacent, but there may be exceptions for particular site configurations.
  • a branch can only be generated between two nodes if it does not create an intersection with the interior and exterior borders of the slices considered, and the processing unit verifies this condition by applying simple geometric rules. at each generation of branch.
  • Figures 6 to 9 illustrate the Delaunay triangulations and the associated characteristic points in each of the slices of the simplified model used so far.
  • the processing unit assigns to each of these branches a base weight which is proportional to the length of the branch, determined from the coordinates of the two nodes it connects.
  • this basis weight can be affected by a travel direction correction coefficient, to promote travel in one direction over another, by decreasing the basis weight and increasing it in the direction of travel. opposite, possibly up to making it sufficiently large so that no route in this direction can be proposed during the search for a better route by the processing unit (see below).
  • the basis weight can be corrected by an altitude factor determined based on the difference in altitude between the two nodes.
  • the value of this corrective factor can be chosen heuristically, and is positive in the upward direction and negative in the downward direction. In this way, a change in altitude is favored in the direction of descent, and disadvantaged in the direction of ascent.
  • the processing unit on board the drone is able to receive as input data the coordinates of a desired destination on the site, this destination being either entered by a user and communicated to the drone by the available means of communication, or determined. automatically according to other treatments.
  • the processing unit on board the UAV relies on the graph defined as described above, loaded into the memory of each UAV when it is installed on site, to construct the path allowing to reach the said destination, and execute the control commands allowing to follow the path.
  • the determination of the path is broken down into two parts: - the first consists of finding a path globally throughout the flight space;
  • the second consists of the construction of a trajectory allowing to follow the path found in the previous step.
  • the processing unit traverses the paving determined as described above to identify the triangular block encompassing the destination, in the altitude range immediately below the altitude of the destination. This search can be done by browsing a table listing all of the geometric characteristics of the tiling, as determined by the Delaunay triangulation.
  • the processing unit brings into play a graph traversing process, of a type known per se, to find the shortest path in the graph while minimizing the sum of the weights of the branches to be traversed.
  • This process can be based for example on a known algorithm such as A * or Dikjstra (see for example https://dzone.com/articles/from-dijkstra-to-a-star-a-part-2-the-a -star-a-algo).
  • FIG. 10 illustrates a basic path CHB obtained, which is a broken line whose intermediate points or passage points are the characteristic points of the graph for which the sum of the weights is minimized.
  • the main object of this CHB basic path is to determine the optimal route between the prohibited zones with respect to this weight minimization.
  • the processing unit builds an effective CHE path, an example of which is shown in Figure 11, by performing a number of operations on the basic path, in particular:
  • this process involves for example a dichotomous approach: if we consider a section of path made up of three waypoints PPn-1, PPn and PPn + 1, the point PPn is replaced by a point PPn 'of the segment PPn- 1 -PPn such that the weight associated with the PPn'-PPn + 1 branch is less than the weight associated with the PPn-PPn + 1 branch, this search for the point PPn 'being carried out by dichotomy; an effective path CHE is thus generated, the total weight of the branches of which is minimized.
  • the processing unit uses data from the effective CHE path to build a volume or flight corridor that the UAV must comply with.
  • This volume is constructed by taking into account a relaxation factor around the CHE path.
  • This release factor is determined from a maximum span data of the UAV, increased by a factor which can be either uniform and depend on the nature of the site, or variable according to the location of the CHE path. and in particular of its distance to prohibited flight zones (after expansion), that is again the sum of a uniform factor and a variable factor.
  • taking this slack factor into account in the computation of the mandatory flight lane involves the computation of a set of truncated cones placed end to end around the CHE path, the radius of the base of each truncated cone being equal to the relaxation factor. Gradually the volume of flight is built around the path to follow CHE. This flight corridor can either be calculated after establishment of the CHE path, for the whole thereof, or dynamically calculated during the flight of the UAV. It will be recalculated each time the ILAV determines a new CHE path after varying the weights of the branches of the graph.
  • the UAV Periodically, the UAV compares its current actual position with geometric data from the flight lane. When this comparison detects an exit from the flight lane (in particular as a function of external factors such as a strong wind, a temporary problem with GPS location, etc.), a corrective flight instruction is applied to the autopilot according to the 'measured position deviation.
  • IlAV agility factors type of wing, minimum speeds - in the case of a fixed load-bearing wing - and maximum, maximum acceleration, etc.
  • the UAV within this corridor, can be expected to adopt a trajectory which is different according to these parameters or other parameters, whether dynamic or static.
  • the determination of the trajectory can be influenced by the value of various parameters having the effect of favoring the shortest possible trajectory, or one allowing the execution time to be reduced as much as possible, or even the one remaining as far as possible from the obstacles.
  • an exit from the flight lane causes, rather than a corrective action on the autopilot aimed at allowing the UAV to find its lane, a new calculation of the path then of the flight lane. associate.
  • the on-board processing unit launches the first global path search. Then, during the flight, communication channels between the UAV and other equipment (ground equipment, sensors, other UAVs, etc.) allow the processing unit to update the weights of the branches of the graph. .
  • the processing unit of the UAV performs a new path search between its current position and the indicated destination at the beginning.
  • the UAV prefferably receives or determine a new destination, and in this case a new path between its current position and the new destination is calculated, and updated as described above.
  • the flight lane is calculated and stored so as to be accessible by a local path planner.
  • the on-board processing unit has information on the autonomy of the battery (s) of the UAV, this information is compared with the sum of the weights of the path CHE, to determine whether the UAV has sufficient autonomy to reach the destination, with an appropriate margin of error.
  • the local flight path planner applies flight instructions to the autopilot so that the UAV moves in the corridor.
  • this planner also tests, preferably at the same frequency, any lane exits and applies the appropriate corrective instructions to the autopilot.
  • this trajectory planner can take into account, either statically or dynamically, a maximum authorized speed in the corridor.
  • the basis weights associated with the branches of the graph representing the flight space are calculated as being proportional to the distance between the nodes that the branches connect.
  • Each UAV capable of flying on a site contains in its memory the data of this graph, with the basic weights, and as we have seen the on-board processing unit will determine the flight lane to follow to reach a given destination. .
  • the UAV's means of communication with the ground, or even with other UAVs flying on the same site, or even with information sources on site (sensors, etc.) or external (weather data , etc.) allow the UAV to collect data that may affect the weight values.
  • these data can be of the scalar field type or of the vector field type.
  • a scalar field corresponds, for example, to a variable such as a score for the quality of the communication network between the UAVs and the ground, temperature, humidity, etc.
  • a particularly low temperature can lead to increasing the basis weights by a given multiplying factor, to take into account that the autonomy of the UAV at low temperature is reduced due to a loss of efficiency batteries.
  • the wind can be represented in the form of a vector field, with each point or region of the flight space being associated with a vector whose orientation represents its direction, and whose norm represents its force.
  • Receiving a vector field (or a vector applicable to the current location of the drone) makes it possible to recompute the weights of the branches of the graph by a scalar product function, the branch also being considered as a vector whose orientation corresponds to its direction and whose norm represents the basis weight.
  • the processing unit determines an average of the vector products at different points of the branch.
  • granularity of a vector field likely to affect the weights can vary widely. For example in the case of wind, we can use a single wind vector for the entire site, accessible from a connected anemometer or an external weather source, or different wind vectors depending on the areas of the site. site, whether the "local" wind is measured by sensors or determined for example by simulation.
  • the component of the weight of a branch resulting from this calculation is oriented: the force of a wind that is not perpendicular to a branch decreases the base weight in one direction (upwind path), and increases the base weight in the other (wind route with).
  • a module for updating the weights of the branches of the graph modifies the weights preferably each time new data resulting from external constraints are available. To minimize the risk of error, any new path calculation request during a weight update operation is made on the basis of the current graph before the update, a copy of which is kept for this purpose.
  • the mission data can advantageously include a type of priority to reach the destination set by the mission.
  • the current value of the weight of a branch for a given direction of travel is obtained by combining the basic weight (length of the branch) with the various corrections made by one or more scalar fields and / or by one or several vector fields, as described above.
  • Priority management implies being able to give each branch a different nature or weight value.
  • the path search is performed on the weighted graph with the basis weights or the basis weights corrected for example with a wind vector.
  • this correction is carried out by including in the data of the site to be modeled a mapping of authorized speeds (depending in particular on the type of equipment nearby or overflown, a risk related to people, etc.). Then, once the structure of the graph has been established, the processing unit assigns information on the maximum authorized speed to each branch depending on the location of this branch in the speed map. From the base weight (length of the branch) and this maximum speed information, the processing unit calculates a minimum travel time weight (that obtained for the maximum authorized speed), by multiplying the base weight if necessary corrected by a scalar or vector field by a coefficient that is all the smaller as the authorized speed is high, and vice versa.
  • the search for the best path is no longer based on weights representative of the distance, but as a function of these travel time weights.
  • mappings that the system can advantageously use is a mapping defining areas having different levels of risk.
  • This risk mapping makes it possible, for example, to take into account the presence of personnel or personnel circulation areas, the dangerousness of the various installations, etc.
  • the processing unit alters the weight of each branch according to the risk score of the zone in which the branch is located, thus, ultimately, to disadvantage people. paths crossing high risk areas compared to paths crossing lower risk areas.
  • the path can then be determined no longer by searching for the shortest path in distance or time, but by determining a set of possible paths all having a sum of weight in time or in distance less than a threshold, and at select the path that has the minimum number of waypoints.
  • this "risk" weight is determined by calculating the distance of each branch generated with the closest prohibited zone, and by assigning to the distance weight (base weight after possible correction by scalar field or vector) a multiplying coefficient all the more important as this distance is short (the coefficient being typically equal to 1 for all the branches whose distance from a prohibited zone is greater than a determined threshold).
  • a and B are nodes of the graph that can be connected by a straight line without intersection with the interior of a prohibited zone (and where appropriate without contact with its edge),
  • G2 (A, B) represents the average quality of the GPS positioning signal between points A and B
  • the system chooses the contribution of the three functions G1, G2, G3 to the weight of the branch by modifying the value of the corresponding parameter Yi; j.
  • coefficients Yi; j with values other than 0 and 1, ensuring combined consideration of different priorities, can be used.
  • the user or an external factor can impose a zone, in particular a zone of passage between two prohibited zones, in which a certain direction of circulation is made compulsory.
  • the weights associated with the branches of the graph extending at least partially in this zone are modified so as to leave intact the weights associated with the branches in the direction which respects this direction of circulation, and to make infinite or almost infinite the weights in the opposite direction (from the point of view of the mathematics of the graph, give them a very high value).
  • a UAV should be able to return to its starting area.
  • the one-way criterion does not allow it.
  • the existence of a high but not infinite weight for the route in the prohibited direction nevertheless allows the UAV to travel a one-way zone in the prohibited direction when there is no other choice.
  • an available flight time estimation module is launched and determines this flight time based in particular on the state of charge of the battery, in-flight consumption measurements taken. recently, the ambient temperature, etc.
  • the processing unit calculates at a given rate, for example once per second, a so-called “emergency” path between its current position and the position of the closest available charging station (or other landing zone). As long as the time required to travel this path is less than the estimated time remaining indicated by the aforementioned module, the UAV continues its mission.
  • the UAV processing unit causes a mission abandonment in replacing the path currently traveled within the framework of this mission by the emergency path calculated from the current position and the closest landing position, so as to return towards it and land.
  • the emergency path is imposed in response to technical anomalies observed by the UAV during the mission.
  • autopilots are generally able to provide various data concerning the state of health of the drone, such as the precision of the position determination circuit (so-called EKF circuit for "Extended Kalman Filter”), the level of vibration, etc.
  • an anomaly detection module connected to the EKF circuit and to a vibration sensor (typically part of its inertial unit) is activated. For all the types of data analyzed, this module estimates whether the values received are within the range of acceptable values or not.
  • One possible implementation consists of calculating a simple average over a given time window for each type of data received, and comparing it with a stored range of acceptable values. If an average value is outside this range, the fallback path is automatically calculated, loaded and tracked. Modification of the flight space: prohibited altitudes, presence of other UAVs
  • This functionality is advantageously implemented in addition to anti-collision devices which can be fitted to UAVs, such as Laser or Lidar, the efficiency of which implies direct visibility of the obstacle and which, moreover, can require significant digital processing resources. .
  • a solution can consist in receiving at the level of a UAV the current position of another UAV in flight in the vicinity, to identify the branches of the graph located at a distance less than a threshold of this position, and to attribute to the weights of the branches thus identified a very high multiplying factor, so that a path recalculated after updating the weights avoids the branches in question.
  • This aspect makes it possible to significantly enhance flight safety when a fleet of UAVs is able to operate on the same site.
  • FIG. 12 An architecture has been illustrated in FIG. 12 making it possible to implement the various aspects described in the above.
  • a first processing unit 100 receives model data from the site and the associated maps. From this data, it performs the expansion of the prohibited flight zones, determines the authorized flight zones at different altitudes, carries out the subdivisions for example by Delaunay triangulations at each of the altitudes, generates the points of the graph from the coordinates of the individual blocks, and interconnects these points of one hand in each horizontal plane corresponding to an altitude and on the other hand between adjacent horizontal planes.
  • the data of this graph is transmitted by the communication channels adapted to each of the UAVs 200a, 200b, 200c, etc. likely to circulate on the site, where they are stored.
  • an updated graph is determined and transmitted to each UAV.
  • a mission is generally initiated by transmitting mission data from a ground station 300, separate from or part of the processing unit 100, to a given UAV, here 200a.
  • the processing unit 210 on board this UAV receives the mission data, typically comprising:
  • the processing unit 210 on board the UAV also receives, either before the start of the mission or periodically including during the flight, scalar and / or vector data likely to affect the basic weights of the branches. .
  • the processing unit 210 calculates the effective weights of the different branches, and determines the base path CHB according to the data of the graph with its effective weights, the current coordinates of the UAV (starting point) and the destination data received.
  • the processing unit 210 determines the actual path CHE.
  • the ability of the UAV to perform the mission, depending on its autonomy, is then measured.
  • the mission can then start, and during the flight, the on-board processing unit monitors any exits from the corridor and applies the necessary corrective actions to the autopilot, receives dynamic data liable to affect the weight of the branches of the graph, recalculates the path as necessary, recalculates the feasibility of the mission in operation of the updated autonomy, and monitors any anomalies on board, likely to cause the replacement of the current path of the mission by an emergency path.
  • - flight data can be collected and gathered for access through a learning process to determine, when the constraints are similar to previously encountered constraints, to determine the path to be traveled by experience rather than by calculation;
  • - mission data may include not only destination data, but also mandatory crossing point data, in particular for planned surveillance;
  • the various processing operations described in the foregoing as being carried out on the ground or in an on-board manner can be carried out in different processing architectures; in particular, the creation and updating of the graph from the site model can be carried out, if the computing power is suitable, on board each of the UAVs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Atmospheric Sciences (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

A modelling method using digital processing of a three-dimensional environment to establish pathways for unmanned aerial devices which are optimised according to different priorities, the method being characterised in that it comprises the following digital processing steps: (a) providing a three-dimensional model of volumes (PEXi) wherein flight is prohibited, (b) subdividing the model into individual elements (PVk), (c) determining a centre (Pk) for each individual element, (d) establishing and memorising a graph, the nodes (Pk, Ik) of which are formed by at least one portion of the centres, and the branches of which are weighted by the distances between the nodes and by at least one weighting associated with a given priority. A method is also proposed for determining, using an unmanned aerial device, a path between two points in a three-dimensional space modelled by such a graph, and steering methods using such a determination.

Description

Titre : Procédé de détermination de trajet d’un appareil aérien non habité et autres procédés associés Title: Method for determining the path of an unmanned aircraft and other associated methods
Domaine de l’invention Field of the invention
La présente invention concerne d’une façon générale les appareils aériens non habités ou drones, et en particulier la détermination de trajets pour des drones dans des environnements contraints. The present invention relates generally to unmanned aerial devices or drones, and in particular to the determination of routes for drones in constrained environments.
État de la technique State of the art
Les drones de surveillance sont de plus en plus largement utilisés pour la surveillance, notamment la surveillance d’ouvrages, de sites sensibles, etc. Surveillance drones are more and more widely used for surveillance, in particular the surveillance of structures, sensitive sites, etc.
On connaît par ailleurs dans la littérature des solutions pour faire décrire à des drones des trajets imposés. Solutions are also known in the literature for making drones describe imposed routes.
Dans le domaine du vol aérien habité, un plan de vol est une suite de points de passage sans dimensions verticales (cf. par exemple EP1614086A2) choisis à l’avance par l’utilisateur dans le respect des contraintes environnementales et matérielles. In the field of manned air flight, a flight plan is a series of waypoints without vertical dimensions (see for example EP1614086A2) chosen in advance by the user while respecting environmental and material constraints.
Ce document décrit des techniques de suivi de la trajectoire théorique, prenant en entrée une liste de coordonnées de points de passage et les données de différents capteurs (Lidar, Laser, ...) qui sont traitées pour modifier dynamiquement ladite trajectoire. This document describes techniques for following the theoretical trajectory, taking as input a list of coordinates of waypoints and the data from various sensors (Lidar, Laser, etc.) which are processed to dynamically modify said trajectory.
L’état de l’art actuel ne propose pas de technique permettant l’établissement automatique d’un programme de vol sous contraintes environnementales et matérielles d’une part et sous contraintes de plus haut niveau déterminées par l’utilisateur. The current state of the art does not propose a technique allowing the automatic establishment of a flight program under environmental and material constraints on the one hand and under higher level constraints determined by the user.
Ainsi dans l’état de l’art actuel, c’est l’utilisateur d’un UAV a la charge de construire la liste des points de passage permettant à l’engin d’atteindre la destination. L’utilisateur doit construire ce chemin en évitant les obstacles, en prenant en compte l’incertitude de positionnement de l’UAV, en vérifiant que l’énergie nécessaire à l’UAV pour parcourir le chemin soit disponible, etc. Thus in the current state of the art, it is the user of a UAV who is responsible for building the list of waypoints allowing the machine to reach the destination. The user must build this path avoiding obstacles, taking into account the uncertainty of the UAV's positioning, checking that the energy required for the UAV to travel the path is available, etc.
Toujours dans l’état de l’art actuel, un pilote de sécurité doit être présent lors de l’exécution de la mission automatique de l’UAV, de manière à pouvoir reprendre la main en cas de problème. Il aura alors la charge de prendre les bonnes décisions quant aux trajectoires permettant à l’UAV de se rendre en zone sûre. Still in the current state of the art, a safety pilot must be present during the execution of the automatic mission of the UAV, so as to be able to take control in the event of a problem. He will then be responsible for making the right decisions regarding the trajectories allowing the UAV to reach the safe zone.
Résumé de l’invention Summary of the invention
La présente invention se propose d’améliorer la génération de programmes de vol automatiques en limitant la nécessité d’interventions humaines au cours du vol, avec une grande souplesse dans la détermination du chemin de vol. The present invention proposes to improve the generation of automatic flight programs by limiting the need for human intervention during the flight, with great flexibility in determining the flight path.
On propose selon un premier aspect un procédé de modélisation par traitement numérique d’un environnement tridimensionnel en vue de d’établir des chemins de parcours pour des appareils aériens non habités optimisés en fonction de priorités différentes, caractérisé en ce qu’il comprend les étapes de traitement numérique suivantes : According to a first aspect, a method is proposed for modeling by digital processing of a three-dimensional environment with a view to establishing travel paths for unmanned aerial devices optimized according to different priorities, characterized in that it comprises the steps following digital processing:
(a) fournir un modèle tridimensionnel de volumes (PEXi) dans lesquels le vol est interdit, (a) provide a three-dimensional model of volumes (PEXi) in which theft is prohibited,
(b) subdiviser le modèle en éléments individuels (PVk), (b) subdivide the model into individual elements (PVk),
(c) déterminer un centre (Pk) pour chaque élément individuel, (c) determine a center (Pk) for each individual element,
(d) établir et mémoriser un graphe dont les nœuds (Pk, Ik) sont constitués par au moins une partie desdits centres, et dont les branches sont pondérées par les distances entre les nœuds et par au moins une pondération associée à une priorité donnée. (d) establishing and storing a graph whose nodes (Pk, Ik) are formed by at least part of said centers, and whose branches are weighted by the distances between the nodes and by at least one weighting associated with a given priority.
Ce procédé comprend avantageusement mais facultativement les caractéristiques additionnelles suivantes, prises individuellement ou en toutes combinaison que l’homme du métier appréhendera comme étant techniquement compatibles : This method advantageously but optionally comprises the following additional characteristics, taken individually or in any combination that a person skilled in the art will understand as being technically compatible:
* les priorités comprennent au moins deux priorités parmi une priorité en distance absolue, une priorité en temps de parcours, une priorité en consommation d’énergie, une priorité en risque. * the priorities include at least two priorities among an absolute distance priority, a travel time priority, an energy consumption priority, a risk priority.
* au moins l’une des pondérations dépend d’une contrainte affectant l’ensemble des branches. * ladite contrainte comprend un vecteur de contrainte affectant l’ensemble des branches. * at least one of the weightings depends on a constraint affecting all the branches. * said constraint comprises a constraint vector affecting all the branches.
* le vecteur de contrainte est un vecteur de vent, chaque branche possédant une paire de poids associés respectivement au sens de parcours et chaque poids étant assujetti de façon distincte au vecteur de vent. * the stress vector is a wind vector, each branch having a pair of weights associated respectively with the direction of travel and each weight being separately subjected to the wind vector.
* ladite pondération est telle que des poids différents sont affectés à une même branche selon le sens de parcours, de façon à générer des sens de parcours privilégiés. * said weighting is such that different weights are assigned to the same branch according to the direction of travel, so as to generate privileged directions of travel.
* ladite pondération est basée sur une cartographie définissant différents niveaux de contraintes en fonction de l’emplacement dans un espace de vol. * said weighting is based on a mapping defining different levels of constraints as a function of the location in a flight space.
* les niveaux de contraintes sont compris dans un groupe comprenant une contrainte de vitesse maximale autorisée et une contrainte de risque. * the stress levels are included in a group comprising a maximum authorized speed constraint and a risk constraint.
* la contrainte est apte à prendre une valeur telle que la zone correspondante devient une zone de vol interdit. * the constraint is able to take a value such that the corresponding zone becomes a no-fly zone.
* l’étape (a) comprend la fourniture d’un modèle tridimensionnel comportant des volumes (PEXi) dans lesquels le vol est physiquement impossible, et le retraitement de ce modèle avec des données de marges de sécurité statiques. * step (a) includes providing a three-dimensional model comprising volumes (PEXi) in which theft is physically impossible, and reprocessing this model with static safety margin data.
* l’étape (a) comprend la subdivision du modèle tridimensionnel en tranches horizontales (Txy), la projection des volumes sur un plan horizontal étant la même dans toute l’épaisseur de chaque tranche, et la mise en œuvre d’une subdivision en éléments individuels dans chaque plan horizontal. * step (a) includes the subdivision of the three-dimensional model into horizontal slices (Txy), the projection of the volumes on a horizontal plane being the same throughout the thickness of each slice, and the implementation of a subdivision into individual elements in each horizontal plane.
* la subdivision est effectuée par triangulation. * the subdivision is carried out by triangulation.
* la triangulation est une triangulation de Delaunay. * the triangulation is a Delaunay triangulation.
* l’étape (d) comprend l’établissement de branches du graphe entre des nœuds situés dans des plans horizontaux adjacents par une approche de minimisation de distances. * step (d) comprises the establishment of branches of the graph between nodes located in adjacent horizontal planes by a distance minimization approach.
Selon un deuxième aspect, on propose un procédé de détermination par un appareil aérien non habité d’un trajet entre deux points d’un espace tridimensionnel modélisé par un graphe obtenu par le procédé de modélisation tel que défini ci-dessus, caractérisé en ce qu’il comprend les étapes suivantes : According to a second aspect, a method is proposed for determining by an unmanned aerial device a path between two points of a three-dimensional space modeled by a graph obtained by the modeling method as defined above, characterized in that it comprises the following steps:
- détermination d’une priorité pour le parcours du trajet, - determination of a priority for the route,
- prise en compte ou établissement d’un graphe donné correspondant à la priorité déterminée, et - taking into account or establishing a given graph corresponding to the determined priority, and
- élaboration du trajet, à bord de l’appareil, par un calcul de meilleur chemin dans ledit graphe donné. - development of the path, on board the device, by calculating the best path in said given graph.
Ce procédé comprend avantageusement mais facultativement les caractéristiques additionnelles suivantes, prises individuellement ou en toutes combinaison que l’homme du métier appréhendera comme étant techniquement compatibles : This method advantageously but optionally comprises the following additional characteristics, taken individually or in any combination that a person skilled in the art will understand as being technically compatible:
* l’étape de pondération des branches du graphe est mise en œuvre par réception à distance d’un graphe de départ à branches non pondérées, et pondération, à bord de l’appareil, desdites branches en fonction de la priorité. * The branches of the graph of the weighting step is implemented by receiving at a distance from a starting graph unweighted branches, and weight on board of the apparatus, said legs depending on the priority.
* le procédé comprend, au cours du vol, une étape de mise à jour des poids des branches d’au moins une partie du graphe et une étape de recalcul de meilleur chemin dans le graphe. * the method comprises, during the flight, a step of updating the weights of the branches of at least part of the graph and a step of recalculating the best path in the graph.
* la mise à jour des poids des branches du graphe est effectuée en fonction d’un changement de priorité. * the update of the weights of the branches of the graph is carried out according to a change of priority.
* la mise à jour des poids des branches d’au moins une partie du graphe est effectuée en fonction de la réception de données de pondération modifiées pour la pondération correspondant à la priorité en vigueur. * The branches of the weight update of at least a portion of the graph is performed based on the reception weight change data for weighting corresponding to the precedence effect.
* l’étape de mise à jour des poids des branches du graphe comprend la génération de branches interdites en fonction d’une zone interdite apparaissant dynamiquement. * the step of updating the weights of the branches of the graph comprises the generation of prohibited branches according to a prohibited zone appearing dynamically.
* la zone interdite est déterminée par communication à distance de l’engin avec autre équipement dont la position détermine la zone interdite. * the prohibited zone is determined by remote communication of the machine with other equipment whose position determines the prohibited zone.
* l’autre équipement est un autre appareil aérien non habité. * the other equipment is another unmanned aerial device.
* la zone interdite est un palier d’altitude interdit. * the forbidden zone is a forbidden altitude stop.
* l’autre équipement est associé à une intervention temporaire sur le site. * le calcul du meilleur chemin est réalisé en fonction d’une contrainte d’agilité de l’appareil. * the other equipment is associated with a temporary intervention on the site. * the calculation of the best path is carried out according to an agility constraint of the device.
Selon un troisième aspect, on propose un procédé de pilotage d’un appareil aérien non habité, comprenant les étapes suivantes : According to a third aspect, there is proposed a method of piloting an unmanned aircraft, comprising the following steps:
- détermination d’un trajet par le procédé de détermination défini ci- dessus, - determination of a path by the determination method defined above,
- application d’au moins une facteur de relâchement de trajectoire, - application of at least one trajectory slackening factor,
- détermination d’un écart de trajectoire admissible en fonction du facteur de relâchement, et - determination of an allowable path deviation as a function of the release factor, and
- application d’une instruction de correction de trajectoire seulement lorsqu’un écart de trajectoire réel mesuré dépasse d’écart de trajectoire admissible. - application of a path correction instruction only when a measured real path deviation exceeds the permissible path deviation.
Avantageusement mais facultativement, le facteur de relâchement est déterminé à partir d’au moins une donnée représentative de l’une des informations suivantes : précision courante d’une unité GPS embarquée dans l’appareil, vent, réponse de l’appareil aux commandes de pilotage, encombrement de l’appareil, type d’appareil. Advantageously but optionally, the release factor is determined from at least one piece of data representative of one of the following information: current accuracy of a GPS unit on board the device, wind, response of the device to the commands of the device. control, device size, device type.
Selon un quatrième aspect, on propose un procédé de pilotage d’un appareil aérien non habité, comprenant les étapes suivantes : According to a fourth aspect, there is proposed a method of piloting an unmanned aircraft, comprising the following steps:
- détermination d’un trajet par le procédé de détermination défini ci- dessus, - determination of a path by the determination method defined above,
- mesure d’une caractéristique dynamique de l’engin au cours du vol, - measurement of a dynamic characteristic of the machine during flight,
- détermination dynamique d’un nouveau trajet en fonction de l’évolution de ladite caractéristique dynamique. - dynamic determination of a new path as a function of the evolution of said dynamic characteristic.
Ce procédé comprend avantageusement mais facultativement les caractéristiques additionnelles suivantes, prises individuellement ou en toutes combinaison que l’homme du métier appréhendera comme étant techniquement compatibles : This method advantageously but optionally comprises the following additional characteristics, taken individually or in any combination that a person skilled in the art will understand as being technically compatible:
* ladite caractéristique dynamique comprend au moins une caractéristique parmi l’énergie disponible à bord et une anomalie de comportement. * le graphe comprend des nœuds désignant des stations ou zones d’atterrissage, et l’étape de détermination dynamique du nouveau trajet prend en compte les positions des nœuds de stations ou zones d’atterrissage. * said dynamic characteristic comprises at least one characteristic among the energy available on board and a behavior anomaly. * the graph comprises nodes designating stations or landing zones, and the step of dynamically determining the new path takes into account the positions of the nodes of stations or landing zones.
* l’étape de détermination dynamique du nouveau trajet prend également en compte des statuts (libre, occupé) des nœuds de stations ou zones d’atterrissage. * the dynamic determination step of the new path also takes into account the statuses (free, occupied) of the nodes of stations or landing zones.
* le procédé comprend une modification de la priorité en cas d’anomalie de comportement. * the method includes a modification of the priority in the event of behavior anomaly.
On propose par ailleurs un appareil aérien non habité, caractérisé en ce qu’il comprend des circuits de traitement numérique et de communication sans fil adaptés pour la mise en œuvre en tout ou partie d’un quelconque des procédés ci-dessus, ainsi qu’un programme d’ordinateur, apte à être chargé à bord d’un appareil aérien non habité, caractérisé en ce qu’il comprend des instructions aptes à mettre en œuvre tout ou partie d’un quelconque des procédés ci-dessus. An unmanned aerial device is also proposed, characterized in that it comprises digital processing and wireless communication circuits suitable for implementing all or part of any of the above methods, as well as a computer program, capable of being loaded on board an unmanned aircraft, characterized in that it comprises instructions capable of implementing all or part of any of the above methods.
Brève description des dessins Brief description of the drawings
D’autres aspects, buts et avantages de la présente invention apparaîtront mieux à la lecture de la description détaillée suivante de formes de réalisation préférées de celle-ci, donnée à titre d’exemple non limitatif et faite en référence aux dessins annexés, sur lesquels : Other aspects, objects and advantages of the present invention will become more apparent on reading the following detailed description of preferred embodiments thereof, given by way of non-limiting example and made with reference to the accompanying drawings, in which :
- la Figure 1 est une vue de dessus en plan d’un site simplifié sur lequel doit évoluer un UAV, - Figure 1 is a top plan view of a simplified site on which a UAV must operate,
- la Figure 2 est une vue en élévation du site simplifié de la Figure 1 , - Figure 2 is an elevational view of the simplified site of Figure 1,
- la Figure 3 est une vue en perspective du site simplifié des Figures 1 et 2, - Figure 3 is a perspective view of the simplified site of Figures 1 and 2,
- la Figure 4 est une vue analogue à la Figure 1 , montrant des zones de sécurité entourant des zones de vol interdit, - Figure 4 is a view similar to Figure 1, showing safety zones surrounding areas of prohibited theft,
- la Figure 5 est une vue analogue à la Figure 2, montrant des zones de sécurité entourant des zones de vol interdit, - Figure 5 is a view similar to Figure 2, showing safety zones surrounding areas of prohibited theft,
- la Figure 6 est une vue en plan à une première altitude, illustrant une décomposition spatiale possible du site simplifié à cette altitude, - la Figure 7 est une vue en plan à une deuxième altitude, illustrant une décomposition spatiale possible du site simplifié à cette altitude, - Figure 6 is a plan view at a first altitude, illustrating a possible spatial decomposition of the simplified site at this altitude, - Figure 7 is a plan view at a second altitude, illustrating a possible spatial decomposition of the simplified site at this altitude,
- la Figure 8 est une vue en plan à une troisième altitude, illustrant une décomposition spatiale possible du site simplifié à cette altitude, - Figure 8 is a plan view at a third altitude, illustrating a possible spatial decomposition of the simplified site at this altitude,
- la Figure 9 est une vue en plan à une quatrième altitude, illustrant une décomposition spatiale possible du site simplifié à cette altitude, - Figure 9 is a plan view at a fourth altitude, illustrating a possible spatial decomposition of the simplified site at this altitude,
- la Figure 10 illustre un trajet théorique via des points de la décomposition spatiale de la Figure 6, - Figure 10 illustrates a theoretical path via points of the spatial decomposition of Figure 6,
- la Figure 11 illustre un trajet corrigé établi à partir des points de la Figure 10, et - Figure 11 illustrates a corrected path established from the points of Figure 10, and
- la Figure 12 illustre l’architecture d’ensemble d’un système de drones apte à mettre en œuvre l’invention. - Figure 12 illustrates the overall architecture of a drone system capable of implementing the invention.
Description détaillée de formes de réalisation préférées Detailed description of preferred embodiments
Introduction Introduction
Dans la suite on désignera par drone (ou UAV pour « Unmanned Aerial Vehicle » en terminologie anglo-saxonne) un engin aérien non habité et télé- et/ou auto-piloté, équipé de préférence d’une voilure tournante, des drones à aile(s) portantes(s) étant également couverts. In the following we will denote by drone (or UAV for "Unmanned Aerial Vehicle" in Anglo-Saxon terminology) an unmanned aerial vehicle and remotely and / or self-piloted, preferably equipped with a rotary wing, wing drones (s) bearing (s) also being covered.
On va décrire ici différents aspects du calcul et de suivi de chemins dynamiques et sécurisés dans un espace de vol tridimensionnel complexe et potentiellement dangereux. On décrira ensuite une architecture capable de mettre en œuvre ces fonctions, en particulier en termes de répartition des tâches liées à ces fonctions entre les engins volants et le sol. Various aspects of the calculation and tracking of dynamic and secure paths will be described here in a complex and potentially dangerous three-dimensional flight space. An architecture capable of implementing these functions will then be described, in particular in terms of the distribution of tasks linked to these functions between the flying vehicles and the ground.
Le système auquel s’applique l’invention comprend un ou plusieurs drones aptes à voler dans un espace donné, ainsi qu’une ou plusieurs stations de recharge a sol. L’invention s’attache en particulier à la recherche de chemin sous contraintes dans cet espace, le respect de la trajectoire calculée ainsi que la réévaluation de la trajectoire et de la destination. The system to which the invention applies comprises one or more drones capable of flying in a given space, as well as one or more ground charging stations. The invention focuses in particular on finding a path under constraints in this space, respecting the calculated path as well as re-evaluating the path and the destination.
Plus particulièrement, la présente invention vise à permettre à un drone de se déplacer avec la plus grande sécurité dans un espace à trois dimensions, dont une partie de la topologie est connue à l’avance. Cette connaissance permet d’établir une représentation de l’espace de vol, de prendre en compte à la fois les changements dynamiques de cet espace et de changements d’état de l’appareil tels que le niveau de batterie ou l’apparition d’anomalies de comportement, et encore de prendre en compte des priorités données au vol par l’utilisateur ou automatiquement en fonction d’un contexte donné (chemin le plus court, le plus économe en énergie, etc.). More particularly, the present invention aims to allow a drone to move with the greatest security in a three-dimensional space, part of the topology of which is known in advance. This knowledge makes it possible to establish a representation of the flight space, to take into account both dynamic changes in this space and changes in the state of the aircraft such as the battery level or the appearance of anomalies behavior, and also to take into account the priorities given on the fly by the user or automatically according to a given context (shortest path, the most energy efficient, etc.).
Selon une caractéristique, une unité de traitement construit à partir de données de mission comprenant en particulier les coordonnées d’un point de départ et les coordonnées d’un point à atteindre, une liste de points de passage optimisée du point de vue d’un certain nombre de critères, dont la sécurité du vol. According to one characteristic, a processing unit constructed from mission data comprising in particular the coordinates of a starting point and the coordinates of a point to be reached, a list of waypoints optimized from the point of view of a a number of criteria, including flight safety.
Cette liste de points de passage est recalculée au cours du temps à chaque fois que la topologie du terrain change, que de nouvelles informations deviennent disponibles ou que des informations précédemment disponibles ne le sont plus. This list of waypoints is recalculated over time each time the topology of the terrain changes, new information becomes available or information previously available is no longer available.
Ce procédé vise à prendre en compte en temps réel et de manière automatique des effets aussi variés qu’une baisse de la qualité du réseau dans une certaine zone de l’espace, une obligation de déplacement à sens unique sur une certaine zone, les coordonnées d’une station de recharge disponible, la présence d’autres drones au voisinage de la trajectoire, etc. This process aims to take into account in real time and automatically effects as varied as a drop in the quality of the network in a certain area of space, an obligation to travel in one direction in a certain area, the coordinates an available charging station, the presence of other drones in the vicinity of the trajectory, etc.
L’espace de vol tridimensionnel fourni comme données d’entrée est un volume fini pouvant contenir des volumes ou le vol est interdit. Afin de prévenir les incertitudes de positionnement, des marges de sécurités statiques sont prises en compte : le volume de l’espace de vol est diminué en réduisant l’extension spatiale de ses limites extérieures et en augmentant l’extension spatiale des limites des volumes interdits qu’il contient. The three-dimensional flight space provided as input data is a finite volume that may contain volumes or theft is prohibited. In order to prevent positioning uncertainties, static safety margins are taken into account: the volume of the flight space is reduced by reducing the spatial extension of its outer limits and by increasing the spatial extension of the limits of prohibited volumes it contains.
L’espace de vol autorisé, défini comme l’exclusion des volumes représentant les zones de vol non-autorisées du volume total, est ensuite subdivisé en un ensemble d’éléments tous contenus dans l’espace de vol autorisé. Pour chacun de ces éléments, un point caractéristique est choisi. Un graphe est construit en reliant les points entre plus proches voisins. Avantageusement, une pondération est associée à chacune des branches et dépend des contraintes imposées au système et sont décrites plus bas. Cette pondération peut être orientée, à savoir que deux points différents peuvent être associés à une branche, selon le sens dans lequel elle doit être parcourue. Lorsque la destination est indiquée par l’utilisateur, le graphe est parcouru pour trouver le chemin optimal en fonction des contraintes. The authorized flight space, defined as the exclusion of the volumes representing the unauthorized flight zones from the total volume, is then subdivided into a set of elements all contained in the authorized flight space. For each of these elements, a characteristic point is chosen. A graph is built by connecting the points between closest neighbors. Advantageously, a weighting is associated with each of the branches and depends on the constraints imposed on the system and are described below. This weighting can be oriented, namely that two different points can be associated with a branch, according to the direction in which it must be traversed. When the destination is indicated by the user, the graph is traversed to find the optimal path according to the constraints.
Une fois le chemin calculé, c’est-à-dire une fois le plan de vol constitué, le chemin est suivi par l’UAV. Afin d’assurer le respect de la trajectoire calculée, un volume contenant la trajectoire est calculé en fonction des conditions environnementales, des paramètres de vol (vitesse, accélération, etc.). Ce volume est issu de l’application d’un facteur de relâchement non- isotrope de la trajectoire et correspond à un volume de vol obligatoire pour l’UAV suivant ladite trajectoire. Le facteur de relâchement est calculé périodiquement et le volume de vol obligatoire est modifié en conséquence pour prendre en compte des changements dynamiques des conditions de modifications dudit facteur de relâchement. La pondération associée aux branches du graphe est périodiquement recalculée et le chemin entre la position courante et la destination minimisant le « coût » du parcours selon un ou plusieurs critères est recalculé. La notion de coût de parcours est déterminée par une priorité haut niveau choisie par l’utilisateur : priorité à un temps de parcours le plus court, à une vitesse moyenne de parcours la plus élevée, à une sécurité accrue. Lorsque le nouveau chemin traverse le volume associé au précédent chemin, alors le facteur de relâchement est recalculé et le volume de vol obligatoire recalculé en conséquence. Le comportement de l’UAV est surveillé et lorsqu’une anomalie est détectée une modification de la destination peut avoir lieu, et l’UAV se dirige alors vers la zone de sécurité, définie apriori, maximisant la sécurité du vol. Once the path has been calculated, that is to say once the flight plan has been established, the path is followed by the UAV. In order to ensure compliance with the calculated trajectory, a volume containing the trajectory is calculated based on environmental conditions, flight parameters (speed, acceleration, etc.). This volume results from the application of a non-isotropic release factor of the trajectory and corresponds to a mandatory flight volume for the UAV following said trajectory. The release factor is calculated periodically and the mandatory flight volume is modified accordingly to take into account dynamic changes in the conditions for modifying said release factor. The weighting associated with the branches of the graph is periodically recalculated and the path between the current position and the destination minimizing the “cost” of the journey according to one or more criteria is recalculated. The notion of travel cost is determined by a high level priority chosen by the user: priority to the shortest travel time, to the highest average travel speed, to increased safety. When the new path crosses the volume associated with the previous path, then the release factor is recalculated and the mandatory flight volume recalculated accordingly. The behavior of the UAV is monitored and when an anomaly is detected a modification of the destination can take place, and the UAV then proceeds to the pre-defined safety zone, maximizing the safety of the flight.
Représentation de l’espace de vol Representation of flight space
On va maintenant décrire en détail, en référence aux Figures 1 à 1 1 , un procédé de recherche de chemin et de construction et de suivi de la trajectoire. [0076] En référence tout d’abord aux Figures 1 à 3, la représentation de l’espace de vol E peut être effectuée en trois dimensions en le considérant comme un polyèdre dit « englobant » PEG (typiquement un cylindre de directrice verticale s’appuyant sur les limites d’un site, ici une clôture CL) contenant entièrement un ensemble d’autres polyèdres dits « exclus », ici par souci de simplification des parallélépipèdes rectangles PEX1 , PEX2 et PEX3, dont le volume est interdit de vol. Ces polyèdres peuvent représenter par exemple des bâtiments, des installations industrielles, des cuves, des zones de stationnement ou de travail. Afin de prendre en compte à la fois l’incertitude des instruments de mesure de la position et des erreurs introduites par le modèle tridimensionnel en lui-même, des marges de sécurité statiques aussi bien pour le polyèdre englobant que pour les polyèdres exclus sont calculées en déterminant un accroissement prédéfini de la taille des polyèdres exclus et une diminution prédéfinie de la taille du polyèdre englobant. La distance d’accroissement ou de diminution peut être choisie de différentes manières en utilisant par exemple l’erreur connue du système de positionnement. Elle peut être différente dans les deux dimensions horizontales et la dimension verticale. Elle est typiquement de l’ordre de 5 m. We will now describe in detail, with reference to Figures 1 to 11, a path search method and construction and tracking of the path. Referring firstly to Figures 1 to 3, the representation of the flight space E can be performed in three dimensions by considering it as a polyhedron called "encompassing" PEG (typically a cylinder with vertical directrix s' pressing on the limits of a site, here a fence CL) entirely containing a set of other so-called “excluded” polyhedra, here for the sake of simplification of the rectangular parallelepipeds PEX1, PEX2 and PEX3, the volume of which is prohibited from flight. These polyhedra can represent, for example, buildings, industrial installations, tanks, parking or work areas. In order to take into account both the uncertainty of the position measuring instruments and the errors introduced by the three-dimensional model itself, static safety margins for both the enclosing polyhedron and for the excluded polyhedra are calculated using determining a predefined increase in the size of the excluded polyhedra and a predefined decrease in the size of the enclosing polyhedron. The distance of increase or decrease can be chosen in different ways using for example the known error of the positioning system. It can be different in the two horizontal dimensions and the vertical dimension. It is typically of the order of 5 m.
Ainsi les références PEG’ et PEX1’, PEX2’ et PEX3’ désignent sur les Figures 4 et 5 ces polyèdres « dilatés » après correction. Thus the references PEG ’and PEX1’, PEX2 ’and PEX3’ designate in Figures 4 and 5 these polyhedra "expanded" after correction.
En référence maintenant aux Figures 5 et 6 à 9, le modèle tridimensionnel de l’espace de vol est ici vu comme la superposition de couches horizontales à des altitudes différentes. Des tranches horizontales d’altitudes fixes sont créées entre des plans horizontaux situés aux d’altitudes minimum et maximum de chacun des polyèdres contenus dans l’espace de vol. Ici un plan PO correspond à l’altitude minimum commune des trois polyèdres exclus PEX1 , PEX2, PEX3, tandis que des plans P1 à P3 correspondent aux altitudes maximales dans le sens croissant des polyèdres exclus, à savoir PEX3, PEX2 et PEX1. L’intersection entre chaque plan et chaque polyèdre lui-même forme un polygone. Ici les polyèdres sont de section horizontale constante sur toute leur hauteur. Dans le cas de polyèdres de section variable, on détermine par calcul la projection du polyèdre dans les plans au niveau de sa section la plus large pour la tranche considérée. Referring now to Figures 5 and 6 to 9, the three-dimensional model of the flight space is here seen as the superposition of horizontal layers at different altitudes. Horizontal slices of fixed altitudes are created between horizontal planes located at the minimum and maximum altitudes of each of the polyhedra contained in the flight space. Here a plane PO corresponds to the common minimum altitude of the three excluded polyhedra PEX1, PEX2, PEX3, while planes P1 to P3 correspond to the maximum altitudes in the increasing direction of the excluded polyhedra, namely PEX3, PEX2 and PEX1. The intersection between each plane and each polyhedron itself forms a polygon. Here the polyhedra are of constant horizontal section over their entire height. In the case of polyhedra of variable section, the projection of the polyhedron in the planes at the level of its widest section for the slice considered is determined by calculation.
La conception du modèle tridimensionnel peut également comprendre un plan P4 (voir Figure 5) déterminé en fonction d’une altitude maximale de vol des UAV, ce plan étant reporté à une altitude quasi-infinie en cas d’absence d’une telle limitation. The design of the three-dimensional model can also include a plane P4 (see Figure 5) determined as a function of a maximum flight altitude of the UAVs, this plane being carried over to an almost infinite altitude in the absence of such a limitation.
L’espace de vol est modélisé par un espace en 2,5 dimensions constitué d’un ensemble de tranches ici T01 , T12, T23 et T34 de sections horizontales constantes, qui respectivement sont délimités par les paires de plans P0-P1 , ..., P3-P4, dont les limites sont extérieurement celles du polyèdre englobant corrigé PEG’ et intérieurement celles des polyèdres exclus corrigés PEX1’ à PEX3’ qui ont des intersections avec ces tranches, chacune de ces tranches définissant sur toute sa hauteur une zone de vol autorisé. The flight space is modeled by a 2.5-dimensional space consisting of a set of slices here T01, T12, T23 and T34 of constant horizontal sections, which are respectively delimited by the pairs of planes P0-P1, .. ., P3-P4, whose boundaries are externally those of the corrected enclosing polyhedron PEG 'and internally those of the corrected excluded polyhedra PEX1' to PEX3 'which have intersections with these slices, each of these slices defining over its entire height a zone of authorized flight.
Les Figures 6 à 9 illustrent respectivement les sections des quatre tranches sur la base du modèle des Figures 1 à 5. Figures 6 to 9 respectively illustrate the sections of the four slices based on the model of Figures 1 to 5.
On observe sur la Figure 9 que la tranche T34 de plus grande altitude ne contient aucun polygone exclus. It can be seen in Figure 9 that the higher altitude slice T34 does not contain any excluded polygons.
Dans cet espace de vol, un ou plusieurs UAVs sont amenés à évoluer et sont en interaction avec une ou plusieurs stations de recharge situées dans des zones accessibles de la zone de vol. Des zones d’atterrissage d’urgence peuvent également être prises en compte dans la définition de l’espace de vol. Elles correspondent à des zones pouvant contenir ou non une station de recharge et sont des zones choisies dans lesquelles un UAV peut atterrir en sécurité. Une station de recharge doit nécessairement se trouver dans une zone d’atterrissage d’urgence : en cas de problème lors de l’atterrissage d’un UAV dans la station, l’UAV a une solution de repli accessible rapidement et de manière sécuritaire. Dans la description actuelle, une zone d’atterrissage d’urgence peut être situé au-dessus d’un obstacle, mais ne peut pas être situé au même niveau. In this flight space, one or more UAVs are required to evolve and are in interaction with one or more charging stations located in accessible areas of the flight zone. Emergency landing zones can also be taken into account in defining the flight space. They correspond to areas that may or may not contain a charging station and are selected areas in which a UAV can land safely. A charging station must necessarily be located in an emergency landing zone: in the event of a problem while landing a UAV in the station, the UAV has a fallback solution that is quickly and safely accessible. In the current description, an emergency landing zone can be located above an obstacle, but cannot be located at the same level.
La création du modèle du site à parcourir comprend également le positionnement, effectué à l’aide d’une interface utilisateur approprié, de stations de recharge pour les UAV, et le cas échéant de zones d’atterrissage d’urgence distinctes des zones de stations de recharge. The creation of the site template to browse also includes the positioning, performed using an appropriate user interface, of recharging stations for UAVs, and where appropriate emergency landing zones separate from the recharging station zones.
Avantageusement, ce positionnement s’effectue en prenant en compte les marges de sécurité des zones interdites, de façon à éviter qu’un UAV n’ait à pénétrer dans une telle zone interdite lors d’un atterrissage en urgence. Subdivision de l’espace de vol en éléments individuels et construction d’une représentation de l’espace de vol sous forme de graphe Advantageously, this positioning is carried out taking into account the safety margins of the prohibited areas, so as to prevent a UAV from having to enter such a prohibited area during an emergency landing. Subdivision of the flight space into individual elements and construction of a representation of the flight space in the form of a graph
A cette étape, le plan horizontal de la zone de vol autorisé dans chacune des tranches précitées est subdivisé par un système de traitement en un ensemble d’éléments ou pavés individuels PVk constituant ainsi un pavage de la zone de vol autorisé dans cette tranche. Le pavage peut être fait de différentes manières. Avantageusement, on utilise pour ce pavage une triangulation de Delaunay ou une de ses variantes (voir notamment https://fr.wikipedia.org/wiki/Triangulation_de_Delaunay), les pavés étant ainsi tous de forme triangulaire. At this stage, the horizontal plane of the authorized flight zone in each of the aforementioned sections is subdivided by a processing system into a set of individual elements or blocks PVk thus constituting a paving of the authorized flight zone in this section. Paving can be done in different ways. Advantageously, a Delaunay triangulation or one of its variants is used for this tiling (see in particular https://fr.wikipedia.org/wiki/Triangulation_de_Delaunay), the tiles thus all being triangular in shape.
Avantageusement, on utilise une triangulation de Delaunay sous contrainte (voir par exemple Christophe Lemaire. Triangulation de Delaunay et arbres multidimensionnels. Synthèse d’image et réalité virtuelle [cs.GR]. Ecole Nationale Supérieure des Mines de Saint-Etienne ; Université JeanMonnet - Saint-Etienne, 1997. Français. NNT : 1997STET4021 ; tel- 00850521 , chapitre 1 .5). Advantageously, a constrained Delaunay triangulation is used (see for example Christophe Lemaire. Delaunay triangulation and multidimensional trees. Image synthesis and virtual reality [cs.GR]. Ecole Nationale Supérieure des Mines de Saint-Etienne; Université JeanMonnet - Saint-Etienne, 1997. French. NNT: 1997STET4021; tel-00850521, chapter 1 .5).
Un avantage de la triangulation de Delaunay est qu’elle est peu exigeante en ressources de calcul nécessaires pour réaliser la triangulation, si bien que la subdivision en pavés peut être réalisée à bord de l’UAV. An advantage of Delaunay's triangulation is that it is not very demanding on the computational resources required to perform the triangulation, so that the subdivision into blocks can be done on board the UAV.
En outre, la triangulation sous contrainte permet d’imposer que le résultat de la triangulation respecte une forme particulière par endroits du fait que les éléments individuels du modèle peuvent s'entrecouper (cas par exemple d’une zone de vol interdite au milieu d'une zone de vol autorisée). In addition, the triangulation under constraint makes it possible to impose that the result of the triangulation respects a particular shape in places because the individual elements of the model can intersect (case for example of a prohibited zone of flight in the middle of an authorized flight zone).
Une fois la triangulation réalisée, l’unité de traitement détermine pour chaque pavé les coordonnées d’un point caractéristique Pk. Un choix possible est de prendre le centre de masse du pavé. En effet, par définition, le centre de masse d’un pavé triangulaire issu d’une triangulation de Delaunay est nécessairement situé à l’intérieur de ce pavé, et donc dans la zone de vol autorisé de la tranche horizontale Txy considérée. Once the triangulation has been carried out, the processing unit determines for each block the coordinates of a characteristic point Pk. One possible choice is to take the center of mass of the block. Indeed, by definition, the center of mass of a triangular paving stone resulting from a Delaunay triangulation is necessarily located inside this paving stone, and therefore in the authorized flight zone of the horizontal slice Txy considered.
L’unité de traitement construit alors un graphe dont les nœuds sont chacun de ces points caractéristiques Pk. Chaque nœud a pour propriétés un identifiant de nœud Ik et ses trois coordonnées Xk, Yk, Zk dans un espace tridimensionnel orthonormé. Les branches du graphe comprennent des branches reliant les nœuds les plus proches situés dans une même tranche, et d’autre part des branches reliant les nœuds les plus proches dans deux tranches voisines. Les nœuds constitués comme les plus proches dans une même tranche sont avantageusement les points caractéristiques de triangles adjacents par l’un de leurs côtés (simplicité de construction). Les nœuds les plus proches de deux tranches adjacentes sont les nœuds dont la distance mutuelle calculée est la plus courte, étant précisé qu’un nœud d’une tranche donnée peut avoir une ou plusieurs branches le reliant à un ou plusieurs nœuds de la branche immédiatement supérieure (lorsqu’elle existe), et une ou plusieurs branches le reliant à un ou plusieurs nœuds de la branche immédiatement inférieure (lorsqu’elle existe). En règle générale, l’unité de traitement ne génère pas de branche entre des nœuds de tranches qui ne sont pas immédiatement adjacentes, mais il peut exister des exceptions pour des configurations de sites particulières. Par ailleurs, dans tous les cas une branche ne peut être générée entre deux nœuds que si elle ne crée pas d’intersection avec les bordures intérieures et extérieures des tranches considérées, et l’unité de traitement vérifie cette condition par application de règles géométriques simples à chaque génération de branche. The processing unit then constructs a graph whose nodes are each of these characteristic points Pk. Each node has for properties a node identifier Ik and its three coordinates Xk, Yk, Zk in an orthonormal three-dimensional space. The branches of the graph include branches connecting the closest nodes located in the same slice, and on the other hand branches connecting the closest nodes in two neighboring slices. The nodes constituted as the closest in the same slice are advantageously the characteristic points of adjacent triangles by one of their sides (simplicity of construction). The nodes closest to two adjacent slices are the nodes whose calculated mutual distance is the shortest, it being specified that a node of a given slice can have one or more branches connecting it to one or more nodes of the branch immediately higher (when it exists), and one or more branches connecting it to one or more nodes of the immediately lower branch (when it exists). Typically, the processing unit does not branch between slice nodes that are not immediately adjacent, but there may be exceptions for particular site configurations. Moreover, in all cases, a branch can only be generated between two nodes if it does not create an intersection with the interior and exterior borders of the slices considered, and the processing unit verifies this condition by applying simple geometric rules. at each generation of branch.
Les Figures 6 à 9 illustrent les triangulations de Delaunay et les points caractéristiques associés dans chacune des tranches du modèle simplifié utilisé jusqu’à présent. Figures 6 to 9 illustrate the Delaunay triangulations and the associated characteristic points in each of the slices of the simplified model used so far.
Une fois le graphe établi (ou au cours de sa construction), l’unité de traitement affecte à chacune de ces branches un poids de base qui est proportionnel à la longueur de la branche, déterminée à partir des coordonnées des deux nœuds qu’elle relie. Once the graph has been established (or during its construction), the processing unit assigns to each of these branches a base weight which is proportional to the length of the branch, determined from the coordinates of the two nodes it connects.
Dans une forme de réalisation préférée, ce poids de base peut être affecté par un coefficient correcteur de sens de parcours, pour favoriser un trajet dans un sens plutôt qu’un autre, en diminuant le poids de base et en l’augmentant dans le sens opposé, éventuellement jusqu’à le rendre suffisamment grand pour qu’aucun parcours dans ce sens ne puisse être proposé lors de la recherche de meilleur parcours par l’unité de traitement (voir plus loin). In a preferred embodiment, this basis weight can be affected by a travel direction correction coefficient, to promote travel in one direction over another, by decreasing the basis weight and increasing it in the direction of travel. opposite, possibly up to making it sufficiently large so that no route in this direction can be proposed during the search for a better route by the processing unit (see below).
Concernant des branches reliant des nœuds situés à des altitudes différentes, le poids de base peut être corrigé d’un facteur d’altitude déterminé en fonction de la différence d’altitude entre les deux nœuds. La valeur de ce facteur correctif peut être choisie de manière heuristique, et est positif dans le sens de la montée et négatif dans le sens de la descente. De cette manière, un changement d’altitude est favorisé dans le sens de la descente, et défavorisé dans le sens de la montée. For branches connecting nodes at different altitudes, the basis weight can be corrected by an altitude factor determined based on the difference in altitude between the two nodes. The value of this corrective factor can be chosen heuristically, and is positive in the upward direction and negative in the downward direction. In this way, a change in altitude is favored in the direction of descent, and disadvantaged in the direction of ascent.
On décrira dans la suite d’autres facteurs de variation dynamique du poids des branches. Other factors of dynamic variation in the weight of the branches will be described below.
Recherche et mise à jour de chemin Path search and update
L’unité de traitement embarquée dans le drone est apte à recevoir comme données d’entrée les coordonnées d’une destination souhaitée sur le site, cette destination étant soit entrée par un utilisateur et communiquée au drone par les moyens de communication disponibles, soit déterminée automatiquement en fonction d’autres traitements. En fonction de sa position courante et des données de destination, l’unité de traitement embarquée dans l’UAV s’appuie sur le graphe défini comme décrit ci-dessus, chargé dans la mémoire de chaque UAV lors de son installation sur site, pour construire le chemin permettant de se rendre à ladite destination, et exécuter les commandes de contrôle permettant de suivre le chemin. The processing unit on board the drone is able to receive as input data the coordinates of a desired destination on the site, this destination being either entered by a user and communicated to the drone by the available means of communication, or determined. automatically according to other treatments. Depending on its current position and the destination data, the processing unit on board the UAV relies on the graph defined as described above, loaded into the memory of each UAV when it is installed on site, to construct the path allowing to reach the said destination, and execute the control commands allowing to follow the path.
La détermination du chemin est décomposée en deux parties : - la première consiste en la recherche d’un chemin de manière globale dans tout l’espace de vol ; The determination of the path is broken down into two parts: - the first consists of finding a path globally throughout the flight space;
- la seconde consiste en la construction d’une trajectoire permettant de suivre le chemin trouvé à l’étape précédente. - the second consists of the construction of a trajectory allowing to follow the path found in the previous step.
Lorsque la destination est reçue par le drone, l’unité de traitement parcourt le pavage déterminé comme décrit précédemment pour identifier le pavé triangulaire englobant la destination, dans la tranche d’altitude immédiatement inférieure à l’altitude de la destination. Cette recherche peut s’effectuer en parcourant une table listant l’ensemble des caractéristiques géométriques du pavage, telles que déterminées par la triangulation de Delaunay. When the destination is received by the drone, the processing unit traverses the paving determined as described above to identify the triangular block encompassing the destination, in the altitude range immediately below the altitude of the destination. This search can be done by browsing a table listing all of the geometric characteristics of the tiling, as determined by the Delaunay triangulation.
Si un tel pavé est trouvé dans la table, alors la destination est bien contenue dans la zone de vol autorisé. En d’autres termes les destinations à l’extérieure de l’espace de vol autorisé sont inatteignables par construction. If such a block is found in the table, then the destination is indeed contained in the authorized flight zone. In other words, destinations outside the authorized flight space are unreachable by construction.
Une fois la destination validée, l’unité de traitement met en jeu un processus de parcours de graphe, de type connu en soi, pour trouver le chemin le plus court dans le graphe en minimisant la somme des poids des branches à parcourir. Ce processus peut se baser par exemple sur un algorithme connu tel que A* ou Dikjstra (voir par exemple https://dzone.com/articles/from-dijkstra-to-a-star-a-part-2-the-a-star-a-algo). Once the destination has been validated, the processing unit brings into play a graph traversing process, of a type known per se, to find the shortest path in the graph while minimizing the sum of the weights of the branches to be traversed. This process can be based for example on a known algorithm such as A * or Dikjstra (see for example https://dzone.com/articles/from-dijkstra-to-a-star-a-part-2-the-a -star-a-algo).
La Figure 10 illustre un chemin de base CHB obtenu, qui est une ligne brisée dont les points intermédiaires ou points de passage sont les points caractéristiques du graphe pour lesquels la somme des poids est minimisé. FIG. 10 illustrates a basic path CHB obtained, which is a broken line whose intermediate points or passage points are the characteristic points of the graph for which the sum of the weights is minimized.
Ce chemin de base CHB a pour objet principal, dans des environnements complexes, de déterminer la route optimale entre les zones interdites par rapport à cette minimisation de poids. The main object of this CHB basic path, in complex environments, is to determine the optimal route between the prohibited zones with respect to this weight minimization.
A partir de ce chemin de base, l’unité de traitement élabore un chemin effectif CHE, dont un exemple est illustré sur la Figure 11 , en effectuant su le chemin de base un certain nombre d’opérations, en particulier : From this basic path, the processing unit builds an effective CHE path, an example of which is shown in Figure 11, by performing a number of operations on the basic path, in particular:
- élimination de certains points de passage à l’aide de tests d’alignement (si trois points de passage PPn-1 , PPn et PPn+1 sont, à une approximation près, sur la même droite, alors le point de passage intermédiaire PPn est éliminé) ; - elimination of certain waypoints using alignment tests (if three waypoints PPn-1, PPn and PPn + 1 are, at a approximation close, on the same line, then the intermediate point of passage PPn is eliminated);
- élimination de certains points de passage en calculant une droite reliant des points de passage PPn-1 et PPn+1 situés de part et d’autre d’un point de passage PPn, en déterminant si cette droite coupe une ou plusieurs zones interdites dilatées, et élimination du point de passage Pn dans le cas où ce test est négatif ; - elimination of certain crossing points by calculating a straight line connecting crossing points PPn-1 and PPn + 1 located on either side of a crossing point PPn, by determining whether this straight line intersects one or more dilated prohibited zones , and elimination of the waypoint Pn if this test is negative;
- raffinement du chemin débarrassé de certains points intermédiaires inutiles par une approche de réduction de la somme des poids ; ce processus met en jeu par exemple une approche dichotomique : si l’on considère une section de chemin constituée par trois points de passages PPn-1 , PPn et PPn+1 , le point PPn est remplacé par un point PPn’ du segment PPn-1 -PPn telle que le poids associé à la branche PPn’-PPn+1 soit inférieur au poids associé à la branche PPn-PPn+1 , cette recherche du point PPn’ étant effectuée par dichotomie ; on génère ainsi un chemin effectif CHE dont le poids total des branches est minimisé. - refinement of the path freed from certain unnecessary intermediate points by an approach of reducing the sum of the weights; this process involves for example a dichotomous approach: if we consider a section of path made up of three waypoints PPn-1, PPn and PPn + 1, the point PPn is replaced by a point PPn 'of the segment PPn- 1 -PPn such that the weight associated with the PPn'-PPn + 1 branch is less than the weight associated with the PPn-PPn + 1 branch, this search for the point PPn 'being carried out by dichotomy; an effective path CHE is thus generated, the total weight of the branches of which is minimized.
À l’issue de ces étapes, l’unité de traitement se base sur les données du chemin effectif CHE pour construire un volume ou couloir de vol que doit obligatoirement respecter l’UAV. Ce volume est construit en prenant en compte un facteur de relâchement autour du chemin CHE. At the end of these steps, the processing unit uses data from the effective CHE path to build a volume or flight corridor that the UAV must comply with. This volume is constructed by taking into account a relaxation factor around the CHE path.
Ce facteur de relâchement est déterminé à partir d’une donnée d’envergure maximale de l’UAV, augmentée d’un facteur qui peut être soit uniforme et dépendre de la nature du site, soit variable en fonction de l’endroit du chemin CHE et notamment de sa distance à des zones de vol interdit (après dilatation), soit encore la somme d’un facteur uniforme et d’un facteur variable. This release factor is determined from a maximum span data of the UAV, increased by a factor which can be either uniform and depend on the nature of the site, or variable according to the location of the CHE path. and in particular of its distance to prohibited flight zones (after expansion), that is again the sum of a uniform factor and a variable factor.
Dans une forme de réalisation de base, la prise en compte de ce facteur de relâchement dans le calcul du couloir de vol obligatoire met en jeu le calcul d’un ensemble de cônes tronqués mis bout à bout autour du chemin CHE, le rayon de la base de chaque tronc de cône étant égal au facteur de relâchement. De proche en proche le volume de vol est construit autour du chemin à suivre CHE. Ce couloir de vol peut être soit calculé après établissement du chemin CHE, pour l’ensemble de celui-ci, soit calculé dynamiquement au cours du vol de l’UAV. Il sera recalculé à chaque fois que l’IlAV détermine un nouveau chemin CHE après variation des poids des branches du graphe. In a basic embodiment, taking this slack factor into account in the computation of the mandatory flight lane involves the computation of a set of truncated cones placed end to end around the CHE path, the radius of the base of each truncated cone being equal to the relaxation factor. Gradually the volume of flight is built around the path to follow CHE. This flight corridor can either be calculated after establishment of the CHE path, for the whole thereof, or dynamically calculated during the flight of the UAV. It will be recalculated each time the ILAV determines a new CHE path after varying the weights of the branches of the graph.
Périodiquement, l’UAV compare sa position réelle du moment avec les données géométriques du couloir de vol. Lorsque cette comparaison détecte une sortie du couloir de vol (notamment en fonction de facteurs extérieurs tels qu’un fort vent, un problème temporaire de localisation GPS, etc.), une instruction de vol correctrice est appliquée à l’autopilote en fonction de l’écart de position mesuré. Periodically, the UAV compares its current actual position with geometric data from the flight lane. When this comparison detects an exit from the flight lane (in particular as a function of external factors such as a strong wind, a temporary problem with GPS location, etc.), a corrective flight instruction is applied to the autopilot according to the 'measured position deviation.
On notera que d’autres facteurs peuvent être utiles à la détermination statique ou dynamique du couloir de vol autorisé, et notamment : It should be noted that other factors may be useful in the static or dynamic determination of the authorized flight lane, and in particular:
- des facteurs d’agilité de l’IlAV (type de voilure, vitesses minimale - cas d’une voilure portante fixe - et maximale, accélération maximale, etc.), - IlAV agility factors (type of wing, minimum speeds - in the case of a fixed load-bearing wing - and maximum, maximum acceleration, etc.),
- caractéristiques de capteurs embarqués (Lidar, Laser, etc.), ces facteurs influençant notamment l’aptitude de l’UAV à détecter et éviter dynamiquement les collisions. D’une façon générale, on prévoit un couloir de vol d’autant plus étroit que ces aptitudes sont faibles. - characteristics of on-board sensors (Lidar, Laser, etc.), these factors influencing in particular the ability of the UAV to dynamically detect and avoid collisions. In general, a flight corridor is expected to be narrower as these skills are weak.
Par ailleurs, une fois la dimension du couloir de vol établie, on peut prévoir que l’UAV, au sein de ce couloir, adopte une trajectoire qui est différente selon ces paramètres ou d’autres paramètres, qu’ils soient dynamiques ou statiques. Ainsi la détermination de la trajectoire peut être influencée par la valeur de différents paramètres ayant pour effet de favoriser une trajectoire la plus courte possible, ou bien une permettant de réduire au maximum le temps d’exécution, ou encore celle restant le plus éloigné possible des obstacles. Furthermore, once the size of the flight corridor has been established, the UAV, within this corridor, can be expected to adopt a trajectory which is different according to these parameters or other parameters, whether dynamic or static. Thus the determination of the trajectory can be influenced by the value of various parameters having the effect of favoring the shortest possible trajectory, or one allowing the execution time to be reduced as much as possible, or even the one remaining as far as possible from the obstacles.
Selon une autre caractéristique, on peut prévoir qu’une sortie du couloir de vol provoque, plutôt qu’une action correctrice sur l’autopilote visant à permettre à l’UAV de retrouver son couloir, un nouveau calcul du chemin puis du couloir de vol associé. Dans la pratique, lorsqu’un ordre de mission comportant des données de destination est reçu par l’UAV, l’unité de traitement embarquée lance la première recherche de chemin globale. Ensuite, au cours du vol, des canaux de communication entre l’UAV et d’autres équipements (équipements au sol, capteurs, autres UAV, etc.) permettent à l’unité de traitement de mettre à jour les poids des branches du graphe. According to another characteristic, it is possible to provide that an exit from the flight lane causes, rather than a corrective action on the autopilot aimed at allowing the UAV to find its lane, a new calculation of the path then of the flight lane. associate. In practice, when a mission order comprising destination data is received by the UAV, the on-board processing unit launches the first global path search. Then, during the flight, communication channels between the UAV and other equipment (ground equipment, sensors, other UAVs, etc.) allow the processing unit to update the weights of the branches of the graph. .
Parallèlement, soit à une fréquence déterminée (par exemple une fois par seconde), soit à chaque fois qu’un poids est modifié, l’unité de traitement de l’UAV effectue une nouvelle recherche de chemin entre sa position courante et la destination indiquée au départ. At the same time, either at a determined frequency (for example once per second), or each time a weight is modified, the processing unit of the UAV performs a new path search between its current position and the indicated destination at the beginning.
Il est également possible, au cours du vol, que l’UAV reçoive ou détermine une nouvelle destination, et dans ce cas un nouveau chemin entre sa position courante et la nouvelle destination est calculé, et mis à jour comme décrit ci-dessus. It is also possible, during the flight, for the UAV to receive or determine a new destination, and in this case a new path between its current position and the new destination is calculated, and updated as described above.
Une fois que le chemin est trouvé, le couloir de vol est calculé et mémorisé de façon à être accessible par un planificateur local de trajectoire. Once the path is found, the flight lane is calculated and stored so as to be accessible by a local path planner.
Le cas échéant, dans le cas où l’unité de traitement embarquée dispose d’une information d’autonomie de la ou des batteries de l’UAV, cette information est confrontée à la somme des poids du chemin CHE, pour déterminer si l’UAV possède l’autonomie suffisante pour atteindre la destination, avec une marge d’erreur appropriée. Where appropriate, in the case where the on-board processing unit has information on the autonomy of the battery (s) of the UAV, this information is compared with the sum of the weights of the path CHE, to determine whether the UAV has sufficient autonomy to reach the destination, with an appropriate margin of error.
Dans le cas où le vol est possible, le planificateur local de trajectoire, à une fréquence déterminée et par exemple 50 fois par seconde, applique à l’autopilote des instructions de vol pour que l’UAV se déplace dans le couloir. Comme on l’a décrit plus haut, ce planificateur teste également, de préférence selon la même périodicité, les éventuelles sorties de couloir et applique à l’autopilote les instructions correctrices appropriées. In the event that flight is possible, the local flight path planner, at a determined frequency and for example 50 times per second, applies flight instructions to the autopilot so that the UAV moves in the corridor. As described above, this planner also tests, preferably at the same frequency, any lane exits and applies the appropriate corrective instructions to the autopilot.
On notera également que ce planificateur de trajectoire peut prendre en compte, soit de façon statique, doit de façon dynamique, une vitesse maximale autorisée dans le couloir. It will also be noted that this trajectory planner can take into account, either statically or dynamically, a maximum authorized speed in the corridor.
Ajustement des poids des branches du graphe Dans la description qui précède, les poids de base associés aux branches du graphe représentant l’espace de vol sont calculés comme étant proportionnels à la distance entre les nœuds que les branches relient. Adjustment of the weights of the branches of the graph In the preceding description, the basis weights associated with the branches of the graph representing the flight space are calculated as being proportional to the distance between the nodes that the branches connect.
Chaque UAV susceptible de voler sur un site contient dans sa mémoire les données de ce graphe, avec les poids de base, et comme on l’a vu l’unité de traitement embarquée va déterminer le couloir de vol à suivre pour atteindre une destination donnée. Each UAV capable of flying on a site contains in its memory the data of this graph, with the basic weights, and as we have seen the on-board processing unit will determine the flight lane to follow to reach a given destination. .
Dans le même temps, les moyens de communication de l’UAV avec le sol, voire avec d’autres UAV volant sur le même site, voire encore avec des sources d’informations sur site (capteurs, etc.) ou externes (données météo, etc.) permettent à l’UAV de collecter des données susceptibles d’affecter les valeurs de poids. At the same time, the UAV's means of communication with the ground, or even with other UAVs flying on the same site, or even with information sources on site (sensors, etc.) or external (weather data , etc.) allow the UAV to collect data that may affect the weight values.
Sur un plan mathématique, ces données peuvent être de type champ scalaire ou de type champ vectoriel. Mathematically, these data can be of the scalar field type or of the vector field type.
Un champ scalaire correspond par exemple à une variable telle qu’une note de qualité du réseau de communication entre les UAV et le sol, la température, l’humidité, etc. A scalar field corresponds, for example, to a variable such as a score for the quality of the communication network between the UAVs and the ground, temperature, humidity, etc.
Ces données sont scalaires en ce sens qu’elles ne sont pas orientées et affectent de la même manière l’ensemble des poids du graphe. These data are scalar in the sense that they are not oriented and affect all weights in the graph in the same way.
Par exemple, une température particulièrement basse peut conduire à augmenter les poids de base d’un facteur multiplicateur donné, pour tenir compte du fait que l’autonomie de l’UAV à basse température est réduite du fait d’une perte d’efficacité des batteries. For example, a particularly low temperature can lead to increasing the basis weights by a given multiplying factor, to take into account that the autonomy of the UAV at low temperature is reduced due to a loss of efficiency batteries.
En revanche, le vent peut être représenté sous la forme d’un champ vectoriel, à chaque point ou région de l’espace de vol étant associé un vecteur dont l’orientation représente sa direction, et dont la norme représente sa force. La réception d’un champ vectoriel (ou d’un vecteur applicable à l’emplacement courant du drone) permet de recalculer les poids des branches du graphe par une fonction de produit scalaire, la branche étant également considérée comme un vecteur dont l’orientation correspond à sa direction et dont la norme représente le poids de base. Dans le cas où la valeur du vecteur de vent le long d’une branche donnée change en fonction de la position dans la branche, l’unité de traitement détermine une moyenne des produits vectoriels en différents points de la branche. On the other hand, the wind can be represented in the form of a vector field, with each point or region of the flight space being associated with a vector whose orientation represents its direction, and whose norm represents its force. Receiving a vector field (or a vector applicable to the current location of the drone) makes it possible to recompute the weights of the branches of the graph by a scalar product function, the branch also being considered as a vector whose orientation corresponds to its direction and whose norm represents the basis weight. In the case where the value of the wind vector along a given branch changes depending on the position in the branch, the processing unit determines an average of the vector products at different points of the branch.
On notera que la granularité d’un champ vectoriel susceptible d’affecter les poids peut largement varier. Par exemple dans le cas du vent, on peut recourir à un vecteur de vent unique pour l’ensemble du site, accessible à partir d’un anémomètre connecté ou d’une source météo externe, ou à différents vecteurs de vent selon les zones du site, que le vent « local » soit mesuré par des capteurs ou déterminé par exemple par simulation. Note that the granularity of a vector field likely to affect the weights can vary widely. For example in the case of wind, we can use a single wind vector for the entire site, accessible from a connected anemometer or an external weather source, or different wind vectors depending on the areas of the site. site, whether the "local" wind is measured by sensors or determined for example by simulation.
On notera que la composante du poids d’une branche issue de ce calcul est orientée : la force d’un vent non perpendiculaire à une branche diminue le poids de base dans un sens (parcours vent contre), et augmente le poids de base dans l’autre (parcours vent avec). Note that the component of the weight of a branch resulting from this calculation is oriented: the force of a wind that is not perpendicular to a branch decreases the base weight in one direction (upwind path), and increases the base weight in the other (wind route with).
Un module de mise à jour des poids des branches du graphe modifie les poids de préférence à chaque fois que de nouvelles données issues des contraintes extérieures sont disponibles. Pour minimiser le risque d’erreur, toute nouvelle demande de calcul de chemin pendant une opération de mise à jour des poids s’effectue sur la base du graphe courant avant mise à jour, dont une copie est conservée à cet effet. A module for updating the weights of the branches of the graph modifies the weights preferably each time new data resulting from external constraints are available. To minimize the risk of error, any new path calculation request during a weight update operation is made on the basis of the current graph before the update, a copy of which is kept for this purpose.
Modification du chemin en fonction d’une priorité donnée au vol - différents types de poids Modification of the path according to a priority given to the flight - different types of weight
Lors de l’établissement d’une mission, soit par un utilisateur, soit de façon automatisée, les données de mission peuvent avantageusement comprendre un type de priorité pour atteindre la destination fixée par la mission. When establishing a mission, either by a user or automatically, the mission data can advantageously include a type of priority to reach the destination set by the mission.
Par exemple, on peut prévoir quatre types de priorités, à savoir : For example, four types of priorities can be provided, namely:
- minimisation de la distance absolue à parcourir, - minimization of the absolute distance to be covered,
- minimisation du temps de parcours, - minimization of travel time,
- minimisation de la consommation d’énergie, - minimisation du risque, avec des sous-catégories possibles selon le type de risque (sur personnes, sur biens, etc.). - minimization of energy consumption, - risk minimization, with possible sub-categories depending on the type of risk (on people, on goods, etc.).
De manière générale, la valeur courante du poids d’une branche pour un sens de parcours donné est obtenue par combinaison du poids de base (longueur de la branche) avec les différentes corrections apportées par un ou plusieurs champs scalaires et/ou par un ou plusieurs champs vectoriels, comme on l’a décrit plus haut. In general, the current value of the weight of a branch for a given direction of travel is obtained by combining the basic weight (length of the branch) with the various corrections made by one or more scalar fields and / or by one or several vector fields, as described above.
La gestion des priorités implique de pouvoir donner à chaque branche une nature ou une valeur de poids différente. Priority management implies being able to give each branch a different nature or weight value.
Dans le cas où la priorité est la minimisation de la distance absolue, la recherche de chemin s’effectue sur le graphe pondéré avec les poids de base ou des poids de base corrigés par exemple avec un vecteur de vent. In the case where the priority is to minimize the absolute distance, the path search is performed on the weighted graph with the basis weights or the basis weights corrected for example with a wind vector.
Pour pouvoir prendre en compte une priorité de type minimisation du temps de parcours, on peut corriger le poids de distance (poids de base, corrigé ou non) affecté à chaque branche un coefficient lié à la vitesse maximale autorisée dans cette branche. To be able to take into account a priority of the travel time minimization type, it is possible to correct the distance weight (base weight, corrected or not) assigned to each branch a coefficient linked to the maximum speed authorized in this branch.
Avantageusement, cette correction est réalisée en incluant dans les données du site à modéliser une cartographie de vitesses autorisées (en fonction notamment du type d’équipement avoisiné ou survolé, d’un risque lié aux personnes, etc.). Ensuite, une fois la structure du graphe établie, l’unité de traitement affecte à chaque branche une information de vitesse maximale autorisée en fonction de l’emplacement de cette branche dans la cartographie de vitesses. A partir du poids de base (longueur de la branche) et de cette information de vitesse maximale, l’unité de traitement calcule un poids de temps de parcours minimal (celui obtenu pour la vitesse maximale autorisée), en multipliant le poids de base éventuellement corrigé par champ scalaire ou vectoriel par un coefficient d’autant plus petit que la vitesse autorisée est élevée, et inversement. Advantageously, this correction is carried out by including in the data of the site to be modeled a mapping of authorized speeds (depending in particular on the type of equipment nearby or overflown, a risk related to people, etc.). Then, once the structure of the graph has been established, the processing unit assigns information on the maximum authorized speed to each branch depending on the location of this branch in the speed map. From the base weight (length of the branch) and this maximum speed information, the processing unit calculates a minimum travel time weight (that obtained for the maximum authorized speed), by multiplying the base weight if necessary corrected by a scalar or vector field by a coefficient that is all the smaller as the authorized speed is high, and vice versa.
Si la mission comporte cette priorité de minimisation de temps de parcours, la recherche du meilleur chemin s’effectue non plus en fonction de des poids représentatifs de la distance, mais en fonction de ces poids de temps de parcours. If the mission includes this priority of minimizing travel time, the search for the best path is no longer based on weights representative of the distance, but as a function of these travel time weights.
Une autre cartographie que le système peut avantageusement utiliser est une cartographie définissant des zones ayant différents niveaux de risque. Cette cartographie de risques permet par exemple de prendre en compte la présence de personnel ou de zones de circulation de personnel, la dangerosité des différentes installations, etc. De la même manière que pour la cartographie de vitesses autorisées, l’unité de traitement altère le poids de chaque branche en fonction de la note de risque de la zone dans laquelle la branche se situe, pour ainsi, au bout du compte, défavoriser des chemins traversant des zones de risque élevé par rapport à des chemins traversant des zones de risque moindre. Another mapping that the system can advantageously use is a mapping defining areas having different levels of risk. This risk mapping makes it possible, for example, to take into account the presence of personnel or personnel circulation areas, the dangerousness of the various installations, etc. In the same way as for the mapping of authorized speeds, the processing unit alters the weight of each branch according to the risk score of the zone in which the branch is located, thus, ultimately, to disadvantage people. paths crossing high risk areas compared to paths crossing lower risk areas.
Dans le cas où la priorité de la mission est la minimisation de la consommation d’énergie, une approche possible est la détermination d’une densité de points de passage. A cet égard, plus le nombre de points de passage est important, plus les changements de direction et de vitesse de l’UAV seront fréquents, ce qui constitue un facteur important pour la consommation d’énergie. In case the priority of the mission is to minimize energy consumption, one possible approach is to determine a density of waypoints. In this regard, the greater the number of waypoints, the more frequent the changes of direction and speed of the UAV will be, which is an important factor for the consumption of energy.
La détermination du chemin peut alors s’effectuer non plus par recherche du chemin le plus court en distance ou en temps, mais en déterminant un ensemble de chemins possibles ayant tous une somme de poids en temps ou en distance inférieure à un seuil, et à sélectionner le chemin qui comporte le nombre de points de passage minimum. The path can then be determined no longer by searching for the shortest path in distance or time, but by determining a set of possible paths all having a sum of weight in time or in distance less than a threshold, and at select the path that has the minimum number of waypoints.
Enfin si la priorité est la sécurité du vol, on peut affecter à chaque branche un facteur de risque dérivé de sa proximité avec un équipement constituant une zone interdite. Plus la proximité est grande, plus le facteur de risque est élevé. Une fois la structure du graphe obtenu, ce poids « de risque » est déterminé en calculant la distance de chaque branche générée avec la zone interdite la plus proche, et en affectant au poids de distance (poids de base après correction éventuelle par champ scalaire ou vectoriel) un coefficient multiplicateur d’autant plus important que cette distance est courte (le coefficient étant typiquement égal à 1 pour toutes les branches dont l’éloignement d’une zone interdite est supérieur à un seuil déterminé). Finally, if the priority is flight safety, a risk factor derived from its proximity to equipment constituting a prohibited zone can be assigned to each branch. The greater the proximity, the greater the risk factor. Once the structure of the graph has been obtained, this "risk" weight is determined by calculating the distance of each branch generated with the closest prohibited zone, and by assigning to the distance weight (base weight after possible correction by scalar field or vector) a multiplying coefficient all the more important as this distance is short (the coefficient being typically equal to 1 for all the branches whose distance from a prohibited zone is greater than a determined threshold).
Le meilleur chemin du point de vue de la sécurité du vol est alors celui qui minimise la somme des poids de risque. The best path from the point of view of flight safety is then the one which minimizes the sum of the risk weights.
Pour raffiner encore cette gestion des priorités, il est possible de combiner les poids de base (éventuellement corrigés par champs scalaires et/ou vectoriels) avec les facteurs de vitesse, de consommation d’énergie et de risque précités dans des mesures différentes, de manière à adapter l’importance de chaque altération à la priorité de la mission. To further refine this priority management, it is possible to combine the basic weights (possibly corrected by scalar and / or vector fields) with the aforementioned speed, energy consumption and risk factors in different measures, in a manner to adapt the importance of each alteration to the priority of the mission.
Par exemple, on peut fixer un ordre des priorités (par exemple sécurité puis vitesse puis énergie) et moduler en conséquence l’impact des facteurs de correction de poids correspondants. For example, we can set an order of priorities (for example safety then speed then energy) and consequently modulate the impact of the corresponding weight correction factors.
On va maintenant décrire un exemple de calcul du poids d’une branche du graphe. We will now describe an example of calculating the weight of a branch of the graph.
La formule générale du calcul de ce poids est donnée par : The general formula for calculating this weight is given by:
wAB;j = SOMMEi(Yi;jGi(A,B)) wAB; j = SOMMEi (Yi; jGi (A, B))
or
• A et B sont des nœuds du graphe pouvant être reliés par une ligne droite sans intersection avec l’intérieur d’une zone interdite (et le cas échéant sans contact avec son bord), • A and B are nodes of the graph that can be connected by a straight line without intersection with the interior of a prohibited zone (and where appropriate without contact with its edge),
• j est un facteur de priorité, • j is a priority factor,
• Gi(A,B) sont des fonctions représentant une contribution au calcul du poids, • Gi (A, B) are functions representing a contribution to the calculation of the weight,
• Yi;j est un facteur associé à une contribution. • Yi; j is a factor associated with a contribution.
Dans un exemple concret, considérons trois contributions au calcul du poids, à savoir trois fonctions G1 , G2 et G3 ; In a concrete example, let us consider three contributions to the calculation of the weight, namely three functions G1, G2 and G3;
• G1 (A,B) représente la distance entre les points A et B, • G1 (A, B) represents the distance between points A and B,
• G2(A,B) représente la qualité moyenne du signal de positionnement GPS entre les points A et B, • G2 (A, B) represents the average quality of the GPS positioning signal between points A and B,
• G3(A,B) représente la prise en compte des zones de risques. • G3 (A, B) represents the inclusion of risk areas.
La formulation mathématique de ces trois fonctions peut répondre à différentes approches qu’il n’est pas nécessaire de détailler ici. Considérons maintenant deux priorités : The mathematical formulation of these three functions can respond to different approaches that it is not necessary to detail here. Now consider two priorities:
• j = 1 : Distance parcourue la plus faible, • j = 1: Shortest distance traveled,
• j = 2 : Prise en compte des zones de risques. • j = 2: Risk zones taken into account.
Pour chacune de ces deux priorités, le système choisit la contribution des trois fonctions G1 , G2, G3 au poids de la branche en modifiant la valeur du paramètre Yi;j correspondant. For each of these two priorities, the system chooses the contribution of the three functions G1, G2, G3 to the weight of the branch by modifying the value of the corresponding parameter Yi; j.
Ainsi, dans le cas ci-dessus où la priorité est donnée seulement à une distance parcourue la plus faible (j = 1 ), on peut utiliser : Thus, in the above case where priority is given only to the smallest distance traveled (j = 1), we can use:
- Yi=1 =1 - Yi = 1 = 1
- Yi=2,3 = 0 - Yi = 2.3 = 0
Dans le cas où la priorité est donnée seulement à la prise en compte des zones de risque (j = 2), on peut utiliser : In the case where priority is given only to taking into account the risk areas (j = 2), we can use:
- Yi=1 ,2 = 0 - Yi = 1, 2 = 0
- Yi=3 =1 - Yi = 3 = 1
Bien entendu, des coefficients Yi;j de valeurs différentes de 0 et de 1 , assurant une prise en compte combinée de différentes priorités, peuvent être utilisés. Of course, coefficients Yi; j with values other than 0 and 1, ensuring combined consideration of different priorities, can be used.
Modification de l’espace de vol en fonction d’un sens de circulation imposé Modification of the flight space according to an imposed direction of movement
À tout moment l’utilisateur ou un facteur externe peut imposer une zone, notamment une zone de passage entre deux zones interdites, dans laquelle un certain sens de circulation est rendu obligatoire. At any time the user or an external factor can impose a zone, in particular a zone of passage between two prohibited zones, in which a certain direction of circulation is made compulsory.
Dans ce cas, les poids associés aux branches du graphe s’étendant au moins partiellement dans cette zone sont modifiés de façon à laisser intacts les poids associés aux branches dans la direction qui respect ce sens de circulation, et à rendre infinis ou quasi-infinis les poids dans le sens inverse (du point de vue de la mathématique du graphe, leur donner une valeur très élevée). In this case, the weights associated with the branches of the graph extending at least partially in this zone are modified so as to leave intact the weights associated with the branches in the direction which respects this direction of circulation, and to make infinite or almost infinite the weights in the opposite direction (from the point of view of the mathematics of the graph, give them a very high value).
On notera ici qu’en règle générale, un UAV devra pouvoir revenir à sa zone de départ. Or, en fonction de la topologie de sens de vol imposée, il est possible que le critère de sens unique ne le permette pas. Pour garantir que l’UAV puisse revenir à son point de départ, même dans un contexte de sens unique de circulation, l’existence d’un poids élevé mais non infini pour le parcours dans le sens interdit permet néanmoins à l’UAV de parcourir une zone à sens unique dans le sens interdit lorsqu’il pas d’autre choix. It should be noted here that as a general rule, a UAV should be able to return to its starting area. However, depending on the imposed direction of flight topology, it is possible that the one-way criterion does not allow it. To ensure that the UAV can return to its starting point, even in a context of meaning single traffic, the existence of a high but not infinite weight for the route in the prohibited direction nevertheless allows the UAV to travel a one-way zone in the prohibited direction when there is no other choice.
Modification du plan de vol en réponse aux caractéristiques dynamiques de l’UAV Modification of the flight plan in response to the dynamic characteristics of the UAV
À partir de la mise sous tension de l’UAV, un module d’estimation de temps de vol disponible est lancé et détermine ce temps de vol en fonction notamment de l’état de charge de la batterie, de mesures de consommations en vol effectuées récemment, de la température ambiante, etc. When the UAV is powered on, an available flight time estimation module is launched and determines this flight time based in particular on the state of charge of the battery, in-flight consumption measurements taken. recently, the ambient temperature, etc.
Lorsque l’UAV est en mission, l’unité de traitement calcule à cadence donnée, par exemple une fois par seconde, un chemin dit « de secours » entre sa position courante et la position de la station de recharge disponible la plus proche (ou autre zone d’atterrissage). Tant que la durée nécessaire pour parcourir ce chemin est inférieure à l’estimation de temps restant indiqué par le module précitée, l’UAV continue sa mission. When the UAV is on a mission, the processing unit calculates at a given rate, for example once per second, a so-called “emergency” path between its current position and the position of the closest available charging station (or other landing zone). As long as the time required to travel this path is less than the estimated time remaining indicated by the aforementioned module, the UAV continues its mission.
Lorsque l’estimation du temps de vol disponible devient égale au temps de vol pour atteindre la station de recharge la plus proche (éventuellement à une marge de sécurité près), alors l’unité de traitement de l’UAV provoque un abandon de mission en remplaçant le chemin actuellement parcouru dans le cadre de cette mission par le chemin de secours calculé à partir de la position courante et de la position d’atterrissage la plus proche, de manière à rentrer vers celle-ci et se poser. When the estimate of the available flight time becomes equal to the flight time to reach the nearest charging station (possibly within a safety margin), then the UAV processing unit causes a mission abandonment in replacing the path currently traveled within the framework of this mission by the emergency path calculated from the current position and the closest landing position, so as to return towards it and land.
Selon une autre approche, le chemin de secours est imposé en réponse à des anomalies techniques constatées par l’UAV au cours de la mission. Ainsi les autopilotes sont en général capables de fournir différentes données concernant l’état de santé du drone, comme la précision du circuit de détermination de position (circuit dit EKF pour « Extended Kalman Filter »), le niveau de vibration, etc. According to another approach, the emergency path is imposed in response to technical anomalies observed by the UAV during the mission. Thus, autopilots are generally able to provide various data concerning the state of health of the drone, such as the precision of the position determination circuit (so-called EKF circuit for "Extended Kalman Filter"), the level of vibration, etc.
À partir de la mise sous tension de l’UAV, un module permettant de détection d’anomalie connecté au circuit EKF et à un capteur de vibration (faisant partie typiquement de sa centrale inertielle) est activé. Pour tous les types de données analysés, ce module estime si les valeurs reçues sont dans le domaine des valeurs acceptables ou non. Une implémentation possible consiste à calculer une simple moyenne sur une fenêtre de temps donnée pour chaque type de donnée reçue, et à la comparer avec une gamme de valeurs acceptables mémorisée. Si une valeur moyenne se situe en dehors de cette gamme, le chemin de secours est automatiquement calculé, chargé et suivi. Modification de l’espace de vol : altitudes interdites, présence d’autres UAVAs soon as the UAV is powered on, an anomaly detection module connected to the EKF circuit and to a vibration sensor (typically part of its inertial unit) is activated. For all the types of data analyzed, this module estimates whether the values received are within the range of acceptable values or not. One possible implementation consists of calculating a simple average over a given time window for each type of data received, and comparing it with a stored range of acceptable values. If an average value is outside this range, the fallback path is automatically calculated, loaded and tracked. Modification of the flight space: prohibited altitudes, presence of other UAVs
Sachant que plusieurs UAV peuvent voler sur un même site, on prévoit selon cette fonctionnalité que la présence d’autres UAV en cours de vol sur le site soit prise en compte dans l’établissement du chemin ou la modification dynamique de celui-ci. Knowing that several UAVs can fly on the same site, it is expected according to this functionality that the presence of other UAVs in flight on the site is taken into account in the establishment of the path or the dynamic modification of it.
Cette fonctionnalité est avantageusement mise en œuvre en complément de dispositifs anti-collision qui peuvent équiper les UAV, tels que Laser ou Lidar, dont l’efficacité implique une visibilité directe de l’obstacle et qui en outre peuvent exiger des ressources de traitement numérique importantes. This functionality is advantageously implemented in addition to anti-collision devices which can be fitted to UAVs, such as Laser or Lidar, the efficiency of which implies direct visibility of the obstacle and which, moreover, can require significant digital processing resources. .
Plus précisément, plutôt que de recalculer la structure du graphe en considérant un drone comme une zone mobile de vol interdit, une solution peut consister à recevoir au niveau d’un UAV la position courante d’un autre UAV en vol dans le voisinage, à identifier les branches du graphe situés à une distance inférieure à un seuil de cette position, et à attribuer aux poids des branches ainsi identifiées un facteur multiplicateur très élevé, de telle sorte qu’un chemin recalculé après mise à jour des poids évite les branches en question. More precisely, rather than recalculating the structure of the graph by considering a drone as a mobile prohibited flight zone, a solution can consist in receiving at the level of a UAV the current position of another UAV in flight in the vicinity, to identify the branches of the graph located at a distance less than a threshold of this position, and to attribute to the weights of the branches thus identified a very high multiplying factor, so that a path recalculated after updating the weights avoids the branches in question.
Cet aspect permet de renforcer significativement la sécurité des vols lorsqu’une flotte d’UAV est apte à circuler sur un même site. This aspect makes it possible to significantly enhance flight safety when a fleet of UAVs is able to operate on the same site.
Architecture Architecture
On a illustré sur la Figure 12 une architecture permettant de mettre en œuvre les différents aspects décrits dans ce qui précède. An architecture has been illustrated in FIG. 12 making it possible to implement the various aspects described in the above.
Une première unité de traitement 100 reçoit des données de modèle du site et les cartographies associées. A partir ce des données, elle effectue la dilatation des zones de vol interdit, détermine les zones de vol autorisé aux différentes altitudes, réalise les subdivisions par exemple par triangulations de Delaunay à chacune des altitudes, génère les points du graphe à partir des coordonnées des pavés individuels, et interconnecte ces points d’une part dans chaque plan horizontal correspondant à une altitude et d’autre part entre plans horizontaux adjacents. A first processing unit 100 receives model data from the site and the associated maps. From this data, it performs the expansion of the prohibited flight zones, determines the authorized flight zones at different altitudes, carries out the subdivisions for example by Delaunay triangulations at each of the altitudes, generates the points of the graph from the coordinates of the individual blocks, and interconnects these points of one hand in each horizontal plane corresponding to an altitude and on the other hand between adjacent horizontal planes.
Pour chaque branche de ce graphe, sa longueur est calculée à partir des coordonnées des points qu’elle réunit, pour ainsi déterminer son poids de base. For each branch of this graph, its length is calculated from the coordinates of the points it joins, to thus determine its basis weight.
Les données de ce graphe sont transmises par les canaux de communication adaptés à chacun des UAVs 200a, 200b, 200c, etc. susceptibles de circuler sur le site, où elles sont mémorisées. The data of this graph is transmitted by the communication channels adapted to each of the UAVs 200a, 200b, 200c, etc. likely to circulate on the site, where they are stored.
A chaque fois que l’environnement du site change (apparition ou disparition d’une zone interdite de vol par exemple), un graphe mis à jour est déterminé et transmis à chaque UAV. Each time the site environment changes (appearance or disappearance of a no-fly zone, for example), an updated graph is determined and transmitted to each UAV.
Une mission est en général déclenchée par transmission de données de mission d’une station au sol 300, distincte de l’unité de traitement 100 ou en faisant partie, vers un UAV donné, ici 200a. A mission is generally initiated by transmitting mission data from a ground station 300, separate from or part of the processing unit 100, to a given UAV, here 200a.
L’unité de traitement 210 embarquée dans cet UAV reçoit les données de mission, comportant typiquement : The processing unit 210 on board this UAV receives the mission data, typically comprising:
- les coordonnées d’une destination, - the coordinates of a destination,
- une priorité pour le vol, ou plusieurs priorités ordonnées, - a priority for the flight, or several ordered priorities,
- d’autres paramètres de la mission, et notamment des instructions de prise de vues en déplacement ou en vol stationnaire, etc. - other parameters of the mission, and in particular instructions for shooting while traveling or hovering, etc.
L’unité de traitement 210 embarquée dans l’UAV reçoit également, soit avant le début de la mission, soit de façon périodique y compris au cours du vol, des données scalaires et/ou vectorielles susceptible d’affecter les poids de base des branches. The processing unit 210 on board the UAV also receives, either before the start of the mission or periodically including during the flight, scalar and / or vector data likely to affect the basic weights of the branches. .
En fonction des données de priorité et des données scalaires et/ou vectorielles, ainsi que des éventuelles données affectant les sens de circulation, l’unité de traitement 210 calcule les poids effectifs des différentes branches, et détermine le chemin de base CHB en fonction des données du graphe doté de ses poids effectifs, des coordonnées courantes de l’UAV (point de départ) et des données de destination reçues. Depending on the priority data and the scalar and / or vector data, as well as any data affecting the directions of movement, the processing unit 210 calculates the effective weights of the different branches, and determines the base path CHB according to the data of the graph with its effective weights, the current coordinates of the UAV (starting point) and the destination data received.
L’unité de traitement 210 détermine ensuite le chemin effectif CHE. The processing unit 210 then determines the actual path CHE.
La capacité de l’UAV à effectuer la mission, en fonction de son autonomie, est ensuite mesurée. The ability of the UAV to perform the mission, depending on its autonomy, is then measured.
En cas d’autonomie suffisante, la mission peut alors démarrer, et pendant le vol, l’unité de traitement embarquée surveille les éventuelles sorties de couloir et applique à l’autopilote les actions correctrices nécessaires, reçoit des données dynamiques susceptibles d’affecter les poids des branches du graphe, recalcule en tant que de besoin le chemin, recalcule la faisabilité de la mission en fonctionne de l’autonomie mise à jour, et surveille les éventuelles anomalies à bord, susceptibles de provoquer le remplacement du chemin courant de la mission par un chemin de secours. In the event of sufficient autonomy, the mission can then start, and during the flight, the on-board processing unit monitors any exits from the corridor and applies the necessary corrective actions to the autopilot, receives dynamic data liable to affect the weight of the branches of the graph, recalculates the path as necessary, recalculates the feasibility of the mission in operation of the updated autonomy, and monitors any anomalies on board, likely to cause the replacement of the current path of the mission by an emergency path.
Bien entendu, la présente invention n’est nullement limitée à la description qui précède et de nombreuses variantes sont possibles. Of course, the present invention is in no way limited to the foregoing description and many variations are possible.
En particulier : In particular :
- les données de vol peuvent être collectées et rassemblées pour accès par un processus d’apprentissage permettant de déterminer, lorsque les contraintes sont similaires à des contraintes rencontrées précédemment, de déterminer le chemin à parcourir par l’expérience plutôt que par calcul ; - flight data can be collected and gathered for access through a learning process to determine, when the constraints are similar to previously encountered constraints, to determine the path to be traveled by experience rather than by calculation;
- les données de mission peuvent inclure non seulement des données de destination, mais également des données de points de passage obligatoires, notamment pour de la surveillance planifiée ; - mission data may include not only destination data, but also mandatory crossing point data, in particular for planned surveillance;
- les différents traitements décrits dans ce qui précède comme étant effectués au sol ou de façon embarquée peuvent être réalisés dans des architectures de traitement différentes ; en particulier, la réalisation et la mise à jour du graphe à partir du modèle du site peuvent être effectuées, si la puissance de calcul est adaptée, à bord de chacun des UAVs. the various processing operations described in the foregoing as being carried out on the ground or in an on-board manner can be carried out in different processing architectures; in particular, the creation and updating of the graph from the site model can be carried out, if the computing power is suitable, on board each of the UAVs.

Claims

Revendications Claims
1. Procédé de modélisation par traitement numérique d’un environnement tridimensionnel en vue de d’établir des chemins de parcours pour des appareils aériens non habités optimisés en fonction de priorités différentes, caractérisé en ce qu’il comprend les étapes de traitement numérique suivantes : 1. A method of modeling by digital processing of a three-dimensional environment with a view to establishing pathways for unmanned aerial devices optimized according to different priorities, characterized in that it comprises the following digital processing steps:
(a) fournir un modèle tridimensionnel de volumes (PEXi) dans lesquels le vol est interdit, (a) provide a three-dimensional model of volumes (PEXi) in which theft is prohibited,
(b) subdiviser le modèle en éléments individuels (PVk), (b) subdivide the model into individual elements (PVk),
(c) déterminer un centre (Pk) pour chaque élément individuel, (c) determine a center (Pk) for each individual element,
(d) établir et mémoriser un graphe dont les nœuds (Pk, Ik) sont constitués par au moins une partie desdits centres, et dont les branches sont pondérées par les distances entre les nœuds et par au moins une pondération associée à une priorité donnée. (d) establishing and storing a graph whose nodes (Pk, Ik) are formed by at least part of said centers, and whose branches are weighted by the distances between the nodes and by at least one weighting associated with a given priority.
2. Procédé selon la revendication 1 , dans lequel les priorités comprennent au moins deux priorités parmi une priorité en distance absolue, une priorité en temps de parcours, une priorité en consommation d’énergie, une priorité en risque. 2. The method of claim 1, wherein the priorities include at least two priorities from among an absolute distance priority, a travel time priority, a power consumption priority, a risk priority.
3. Procédé selon l’une des revendication 1 et 2, dans lequel au moins l’une des pondérations dépend d’une contrainte affectant l’ensemble des branches. 3. Method according to one of claims 1 and 2, wherein at least one of the weights depends on a constraint affecting all branches.
4. Procédé selon la revendication 3, dans lequel ladite contrainte comprend un vecteur de contrainte affectant l’ensemble des branches. 4. The method of claim 3, wherein said stress comprises a stress vector affecting all the branches.
5. Procédé selon la revendication 4, dans lequel le vecteur de contrainte est un vecteur de vent, chaque branche possédant une paire de poids associés respectivement au sens de parcours et chaque poids étant assujetti de façon distincte au vecteur de vent. 5. The method of claim 4, wherein the stress vector is a wind vector, each branch having a pair of weights associated respectively with the direction of travel and each weight being separately subject to the wind vector.
6. Procédé selon l’une des revendications 1 et 2, dans lequel ladite pondération est telle que des poids différents sont affectés à une même branche selon le sens de parcours, de façon à générer des sens de parcours privilégiés. 6. Method according to one of claims 1 and 2, wherein said weighting is such that different weights are assigned to the same branch according to the direction of travel, so as to generate preferred directions of travel.
7. Procédé selon l’une des revendications 1 et 2, dans lequel ladite pondération est basée sur une cartographie définissant différents niveaux de contraintes en fonction de l’emplacement dans un espace de vol. 7. Method according to one of claims 1 and 2, wherein said weighting is based on a mapping defining different stress levels depending on the location in a flight space.
8. Procédé selon la revendication 7, dans lequel les niveaux de contraintes sont compris dans un groupe comprenant une contrainte de vitesse maximale autorisée et une contrainte de risque. 8. The method of claim 7, wherein the stress levels are included in a group comprising a maximum authorized speed constraint and a risk constraint.
9. Procédé selon la revendication 8, dans lequel la contrainte est apte à prendre une valeur telle que la zone correspondante devient une zone de vol interdit. 9. The method of claim 8, wherein the constraint is able to take a value such that the corresponding zone becomes a no-fly zone.
10. Procédé selon l’une des revendications 1 à 9, dans lequel l’étape (a) comprend la fourniture d’un modèle tridimensionnel comportant des volumes (PEXi) dans lesquels le vol est physiquement impossible, et le retraitement de ce modèle avec des données de marges de sécurité statiques. 10. Method according to one of claims 1 to 9, wherein step (a) comprises providing a three-dimensional model comprising volumes (PEXi) in which theft is physically impossible, and reprocessing this model with static safety margin data.
1 1 . Procédé selon la revendication 10, dans lequel l’étape (a) comprend la subdivision du modèle tridimensionnel en tranches horizontales (Txy), la projection des volumes sur un plan horizontal étant la même dans toute l’épaisseur de chaque tranche, et la mise en œuvre d’une subdivision en éléments individuels dans chaque plan horizontal. 1 1. The method of claim 10, wherein step (a) comprises subdividing the three-dimensional model into horizontal slices (Txy), the projection of the volumes on a horizontal plane being the same throughout the thickness of each slice, and setting implementation of a subdivision into individual elements in each horizontal plane.
12. Procédé selon la revendication 11 , dans lequel la subdivision est effectuée par triangulation. 12. The method of claim 11, wherein the subdivision is performed by triangulation.
13. Procédé selon la revendication 12, dans lequel la triangulation est une triangulation de Delaunay. 13. The method of claim 12, wherein the triangulation is a Delaunay triangulation.
14. Procédé selon l’une des revendications 1 1 à 13, dans lequel l’étape (d) comprend l’établissement de branches du graphe entre des nœuds situés dans des plans horizontaux adjacents par une approche de minimisation de distances. 14. The method according to one of claims 1 1 to 13, wherein step (d) comprises establishing branches of the graph between nodes located in adjacent horizontal planes by a distance minimization approach.
15. Procédé de détermination par un appareil aérien non habité d’un trajet entre deux points d’un espace tridimensionnel modélisé par un graphe obtenu par le procédé de l’une des revendications 1 à 14, caractérisé en ce qu’il comprend les étapes suivantes : 15. A method for determining by an unmanned aerial device a path between two points of a three-dimensional space modeled by a graph obtained by the method of one of claims 1 to 14, characterized in that it comprises the steps following:
- détermination d’une priorité pour le parcours du trajet, - determination of a priority for the route,
- prise en compte ou établissement d’un graphe donné correspondant à la priorité déterminée, et - taking into account or establishing a given graph corresponding to the determined priority, and
- élaboration du trajet, à bord de l’appareil, par un calcul de meilleur chemin dans ledit graphe donné. - development of the path, on board the device, by calculating the best path in said given graph.
16. Procédé selon la revendication 15, dans lequel l’étape de pondération des branches du graphe est mise en œuvre par réception à distance d’un graphe de départ à branches non pondérées, et pondération, à bord de l’appareil, desdites branches en fonction de la priorité. 16. The method of claim 15, wherein the step of weighting the branches of the graph is implemented by remote reception of a starting graph with unweighted branches, and weighting, on board the device, of said branches. depending on the priority.
17. Procédé selon l’une des revendications 15 et 16, lequel comprend, au cours du vol, une étape de mise à jour des poids des branches d’au moins une partie du graphe et une étape de recalcul de meilleur chemin dans le graphe. 17. Method according to one of claims 15 and 16, which comprises, during the flight, a step of updating the weights of the branches of at least part of the graph and a step of recalculating the best path in the graph. .
18. Procédé selon la revendication 17, dans lequel la mise à jour des poids des branches du graphe est effectuée en fonction d’un changement de priorité. 18. The method of claim 17, wherein the updating of the weights of the branches of the graph is performed as a function of a change in priority.
19. Procédé selon la revendication 17 ou 18, dans lequel la mise à jour des poids des branches d’au moins une partie du graphe est effectuée en fonction de la réception de données de pondération modifiées pour la pondération correspondant à la priorité en vigueur. 19. The method of claim 17 or 18, wherein the updating of the weights of the branches of at least part of the graph is performed based on the receipt of weighting data modified for the weight corresponding to the priority in effect.
20. Procédé selon l’une des revendications 15 à 19, dans lequel l’étape de mise à jour des poids des branches du graphe comprend la génération de branches interdites en fonction d’une zone interdite apparaissant dynamiquement. 20. The method according to one of claims 15 to 19, wherein the step of updating the weights of the branches of the graph comprises the generation of forbidden branches as a function of a forbidden zone appearing dynamically.
21 . Procédé selon la revendication 20, dans lequel la zone interdite est déterminée par communication à distance de l’engin avec autre équipement dont la position détermine la zone interdite. 21. The method of claim 20, wherein the prohibited zone is determined by remote communication of the machine with other equipment whose position determines the prohibited zone.
22. Procédé selon la revendication 21 , dans lequel l’autre équipement est un autre appareil aérien non habité. 22. The method of claim 21, wherein the other equipment is another unmanned aircraft.
23. Procédé selon la revendication 22, dans lequel la zone interdite est un palier d’altitude interdit. 23. The method of claim 22, wherein the prohibited zone is a prohibited altitude stop.
24. Procédé selon la revendication 23, dans lequel l’autre équipement est associé à une intervention temporaire sur le site. 24. The method of claim 23, wherein the other equipment is associated with a temporary intervention on the site.
25. Procédé selon l’une des revendications 15 à 24, dans lequel le calcul du meilleur chemin est réalisé en fonction d’une contrainte d’agilité de l’appareil. 25. Method according to one of claims 15 to 24, in which the calculation of the best path is carried out according to an agility constraint of the apparatus.
26. Procédé de pilotage d’un appareil aérien non habité, comprenant les étapes suivantes : 26. A method of piloting an unmanned aircraft, comprising the following steps:
- détermination d’un trajet par le procédé selon l’une des revendications 15 à 25, - application d’au moins une facteur de relâchement de trajectoire,- determination of a path by the method according to one of claims 15 to 25, - application of at least one trajectory relaxation factor,
- détermination d’un écart de trajectoire admissible en fonction du facteur de relâchement, et - determination of an allowable path deviation as a function of the release factor, and
- application d’une instruction de correction de trajectoire seulement lorsqu’un écart de trajectoire réel mesuré dépasse d’écart de trajectoire admissible. - application of a path correction instruction only when a measured real path deviation exceeds the permissible path deviation.
27. Procédé selon la revendication 26, dans lequel le facteur de relâchement est déterminé à partir d’au moins une donnée représentative de l’une des informations suivantes : précision courante d’une unité GPS embarquée dans l’appareil, vent, réponse de l’appareil aux commandes de pilotage, encombrement de l’appareil, type d’appareil. 27. The method of claim 26, wherein the release factor is determined from at least one piece of data representative of one of the following information: current accuracy of a GPS unit on board the device, wind, response of the device with the piloting controls, dimensions of the device, type of device.
28. Procédé de pilotage d’un appareil aérien non habité, comprenant les étapes suivantes : 28. A method of piloting an unmanned aircraft, comprising the following steps:
- détermination d’un trajet par le procédé selon l’une des revendications 15 à 25, - determination of a path by the method according to one of claims 15 to 25,
- mesure d’une caractéristique dynamique de l’engin au cours du vol, - measurement of a dynamic characteristic of the machine during flight,
- détermination dynamique d’un nouveau trajet en fonction de l’évolution de ladite caractéristique dynamique. - dynamic determination of a new path as a function of the evolution of said dynamic characteristic.
29. Procédé selon la revendication 28, dans lequel ladite caractéristique dynamique comprend au moins une caractéristique parmi l’énergie disponible à bord et une anomalie de comportement. 29. The method of claim 28, wherein said dynamic characteristic comprises at least one characteristic of the energy available on board and a behavior anomaly.
30. Procédé selon la revendication 28 ou 29, dans lequel le graphe comprend des nœuds désignant des stations ou zones d’atterrissage, et dans lequel l’étape de détermination dynamique du nouveau trajet prend en compte les positions des nœuds de stations ou zones d’atterrissage. 30. The method of claim 28 or 29, wherein the graph comprises nodes designating stations or landing zones, and wherein the step of dynamically determining the new path takes into account the positions of the nodes of stations or zones of landing. 'landing.
31. Procédé selon la revendication 30, dans lequel l’étape de détermination dynamique du nouveau trajet prend également en compte des statuts (libre, occupé) des nœuds de stations ou zones d’atterrissage. 31. The method of claim 30, wherein the step of dynamically determining the new path also takes into account the statuses (free, occupied) of the nodes of stations or landing zones.
32. Procédé selon la revendication 29, lequel comprend une modification de la priorité en cas d’anomalie de comportement. 32. The method of claim 29, which comprises a modification of the priority in the event of an abnormal behavior.
33. Appareil aérien non habité, caractérisé en ce qu’il comprend des circuits de traitement numérique et de communication sans fil adaptés pour la mise en œuvre en tout ou partie du procédé selon l’une des revendications 1 à 32. 33. Unmanned aerial device, characterized in that it comprises digital processing and wireless communication circuits suitable for implementing all or part of the method according to one of claims 1 to 32.
34. Programme d’ordinateur, apte à être chargé à bord d’un appareil aérien non habité, caractérisé en ce qu’il comprend des instructions aptes à mettre en œuvre tout ou partie du procédé selon l’une des revendications 1 à 32. 34. Computer program, suitable for being loaded on board an unmanned aircraft, characterized in that it comprises instructions suitable for implementing all or part of the method according to one of claims 1 to 32.
EP20747472.7A 2019-07-01 2020-07-01 Method for determining the path of an unmanned aerial device and other associated methods Pending EP3994678A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1907291A FR3098336B1 (en) 2019-07-01 2019-07-01 Method for determining the path of an unmanned aerial device and other associated methods
PCT/IB2020/056227 WO2021001768A1 (en) 2019-07-01 2020-07-01 Method for determining the path of an unmanned aerial device and other associated methods

Publications (1)

Publication Number Publication Date
EP3994678A1 true EP3994678A1 (en) 2022-05-11

Family

ID=69375383

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20747472.7A Pending EP3994678A1 (en) 2019-07-01 2020-07-01 Method for determining the path of an unmanned aerial device and other associated methods

Country Status (9)

Country Link
US (1) US20220270495A1 (en)
EP (1) EP3994678A1 (en)
JP (1) JP2022539232A (en)
KR (1) KR20220027218A (en)
CN (1) CN114207545A (en)
CA (1) CA3144577A1 (en)
FR (1) FR3098336B1 (en)
IL (1) IL289500A (en)
WO (1) WO2021001768A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021194569A2 (en) * 2019-12-04 2021-09-30 Ge Aviation Systems Llc Systems and methods for providing a trajectory planning engine for unmanned aircraft
US20220157178A1 (en) * 2020-11-16 2022-05-19 Gm Cruise Holdings Llc Disaster and emergency surveillance using a distributed fleet of autonomous robots
CN113203417B (en) * 2021-04-06 2022-08-19 广东安恒电力科技有限公司 Unmanned aerial vehicle inspection path planning method based on brain storm optimization algorithm
CN113566826B (en) * 2021-07-08 2023-11-07 北京航空航天大学 Unmanned aerial vehicle path planning method based on quadratic programming
FR3125348B1 (en) * 2021-07-15 2023-06-02 Thales Sa METHOD FOR DETERMINING AN AIRCRAFT TRAJECTORY
CN113639750B (en) * 2021-07-20 2023-05-26 中国地质大学(武汉) Method and device for planning monitoring path of unmanned aerial vehicle in peak period in consideration of time-varying demand
EP4300045A1 (en) 2022-06-27 2024-01-03 TotalEnergies OneTech Data converter between a platform for managing an industrial site and at least one navigation system
CN115496930B (en) * 2022-11-08 2023-03-21 之江实验室 Image processing method and device, storage medium and electronic equipment
FR3142018A1 (en) * 2022-11-10 2024-05-17 Thales Method for determining a global scalar field, with at most four dimensions, representative of an overall risk of a drone flight incident inducing danger to property and people.

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2853978B1 (en) 2003-04-16 2006-02-03 Eurocopter France METHOD AND DEVICE FOR SECURING THE FLIGHT OF AN AIRCRAFT IN FLIGHT CONDITIONS TO INSTRUMENTS OUTSIDE INFRASTRUCTURE OF FLIGHT TO INSTRUMENTS
FR2898699B1 (en) * 2006-03-17 2014-05-09 Thales Sa AUTOMATIC TRAJECTORY PLANNER
CN101122974B (en) * 2007-09-13 2010-06-09 北京航空航天大学 Un-manned plane fairway layout method based on Voronoi graph and ant colony optimization algorithm
US20140207365A1 (en) * 2013-01-18 2014-07-24 Ge Aviation Systems Llc Methods for determining a flight path
FR3001288B1 (en) * 2013-01-18 2015-03-20 Dassault Aviat METHOD FOR DEFINING A REPLY ROAD FOR A MOBILE MACHINE, METHOD OF FALLING, BY A MOBILE VEHICLE, OF SUCH A ROAD, COMPUTER MODULES AND COMPUTER PROGRAMS
WO2016154949A1 (en) * 2015-03-31 2016-10-06 SZ DJI Technology Co., Ltd. Authentication systems and methods for generating flight regulations
US20170227470A1 (en) * 2016-02-04 2017-08-10 Proxy Technologies, Inc. Autonomous vehicle, system and method for structural object assessment and manufacture thereof
GB2557907B (en) * 2016-11-17 2021-12-22 Univ Bath Apparatus, method and system relating to aircraft systems

Also Published As

Publication number Publication date
KR20220027218A (en) 2022-03-07
JP2022539232A (en) 2022-09-07
CN114207545A (en) 2022-03-18
FR3098336A1 (en) 2021-01-08
WO2021001768A1 (en) 2021-01-07
US20220270495A1 (en) 2022-08-25
IL289500A (en) 2022-02-01
CA3144577A1 (en) 2021-01-07
FR3098336B1 (en) 2022-08-12

Similar Documents

Publication Publication Date Title
EP3994678A1 (en) Method for determining the path of an unmanned aerial device and other associated methods
Nuske et al. Autonomous exploration and motion planning for an unmanned aerial vehicle navigating rivers
US9983584B2 (en) Method and apparatus for developing a flight path
Bachrach et al. RANGE–Robust autonomous navigation in GPS‐denied environments
US9257048B1 (en) Aircraft emergency landing route system
Scherer et al. Autonomous landing at unprepared sites by a full-scale helicopter
EP2375299B1 (en) Flight management system for an unmanned aircraft
EP3470786B1 (en) A computer-implemented method and a system for generating a 3d path to a landing location for an aerial vehicle
CN110268356A (en) The system of leading unmanned plane
CA2796923A1 (en) Determining landing sites for aircraft
EP2178065A1 (en) Device for calculating an aircraft flight plan
CN110226143A (en) The method of leading unmanned plane
US10502584B1 (en) Mission monitor and controller for autonomous unmanned vehicles
KR20140000623A (en) Unpredictable vehicle navigation
CN110515390A (en) Aircraft Autonomous landing method and device, electronic equipment, storage medium
FR3067801A1 (en) METHOD AND SYSTEM FOR AIDING THE FLIGHT MANAGEMENT OF AN AIRCRAFT IN TERMS OF OPTIMIZATION OF THE OPERATIONAL COSTS OF THE AIRCRAFT
CN112214828A (en) Landing of unmanned aerial vehicle in emergency scene
FR3031806A1 (en) METHOD FOR AIDING NAVIGATION ACCORDING TO WEATHER CONDITIONS
Saffre et al. Self-swarming for multi-robot systems deployed for situational awareness
EP3770555B1 (en) Navigation based on a multi-agent diffusion
Hehtke et al. An Autonomous Mission Management System to Assist Decision Making of a HALE Operator
FR3101470A1 (en) Method and system of dynamic routing for aircraft
EP3964796B1 (en) Method and system for assisting with the navigation of an aircraft, associated aircraft
US20220244052A1 (en) Methods and systems for automatic route planning
Wolsieffer Energy-Aware Path Planning for Fixed-Wing Seaplane UAVs

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220131

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RIN1 Information on inventor provided before grant (corrected)

Inventor name: BIGUET, ALEXANDRE

Inventor name: PELE, PIERRE