Method and device for generating at least one trajectory plan for a mobile vehicle to carry out a mission
Patent Information
- Application Number
- FR2022009440
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-19
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2042-09-19
Smart Images

Figure 00000023_0000 
Figure 00000024_0000 
Figure 00000025_0000
Abstract
Description
Title of the invention: Method and device for generating at least one trajectory plan of a mobile vehicle to carry out a mission
[0001] The present invention relates to a method and a device for generating at least one trajectory plan of a mobile machine to carry out a mission.
[0002] The invention lies in the field of piloting mobile machines to carry out predefined missions, and finds applications both in the prior planning of mission trajectories and the real-time updating of mission trajectories, during the mission.
[0003] The invention applies to all types of mobile machines, for example aerial, terrestrial, marine or underwater, which are used to carry out civil or military missions.
[0004] A mission to be carried out consists of a set of tasks to be carried out, in a given order, the accomplishment of the various tasks requiring movement of the mobile machine, for example the overflight of a plurality of terrain zones for an aircraft.
[0005] Carrying out a mission involving several tasks to be performed involves various temporal, geographical, topological and meteorological constraints as well as constraints and parameters specific to the equipment to be used, for example various sensors such as radars, cameras for taking pictures, etc.
[0006] For an operator, multiple possibilities arise, and taking all the constraints into consideration simultaneously, in particular for a modification of a trajectory plan in real time, is difficult to achieve and induces significant stress and cognitive load.
[0007] One of the objectives of mission planning systems is to lighten the mental load of the operator while proposing valid trajectory plans, integrating all the constraints. However, it is critical that the final decision rests with the operator, for example the pilot in the field of aeronautics.
[0008] Since the equipment to be implemented to carry out a mission is complex, one of the problems that arises in this field is human-machine interaction, and the ability for the operator to evaluate the relevance of one or more solutions, for example one or more trajectory plans to carry out a given mission, which are "optimized" on low-level criteria calculated algorithmically. Conversely, it is useful, particularly in a real-time mission context, to allow the operator to provide high-level criteria, which define the performances to be achieved, rather than giving precise instructions, for each piece of equipment concerned, in ranges of parameter values to be adjusted.
[0009] A solution for translating, in a two-way human-machine communication, the “high level” intentions of the operator into “low level” parameter values, and conversely, for translating the low level performance values into “high level” performance values was proposed in patent application FR2005823 entitled “Two-way human-machine communication”.
[0010] In the context of mission planning, as indicated above, in particular in the case of a mission system on board a mobile machine, comprising a plurality of equipment (e.g. sensor, effectors), and even more particularly when the mobile machine can take a very large number of trajectories, there is a need to optimize mission planning while lightening the cognitive load of the operator.
[0011] To this end, the invention proposes, according to one aspect, a method for generating at least one trajectory plan of a mobile machine to carry out a mission, the mission comprising a plurality of tasks to be carried out in a given order, the or each trajectory plan being composed of a succession of operational trajectories separated by transitions, each operational trajectory being associated with a task to be carried out and having an entry point and an exit point, each transition being a trajectory between an exit point of an operational trajectory and an entry point of a following operational trajectory.
[0012] The method comprises steps, implemented by a calculation processor, of:
[0013] A) obtaining at least one high-level criterion to be satisfied by said mission,,
[0014] B) generation, for each task to be carried out, of a set of at least one operational trajectory, and calculation, for each operational trajectory of said set, of a first cost relating to the associated high-level criterion to be satisfied,
[0015] C) calculation of at least one transition between two successive operational trajectories and calculation of a second cost, relating to the high-level criterion to be satisfied, associated with said at least one transition,
[0016] D) determining at least one trajectory plan, the or each trajectory plan comprising an operational trajectory selected from each set of operational trajectories generated, and a transition between two successive operational trajectories,
[0017] the determination of a trajectory plan being carried out as a function of an overall cost depending on said first and second costs of the operational trajectories and transitions of said trajectory plan.
[0018] Advantageously, the method of the invention implements the determination of operational trajectories and transitions, and the calculation of associated costs, to then calculate a trajectory plan whose overall cost is in line with said at least one high-level criterion provided.
[0019] The method for generating at least one trajectory plan of a mobile machine to carry out a mission may also have one or more of the characteristics below, taken independently or according to all technically conceivable combinations.
[0020] The method further comprises a definition, from said at least one high-level criterion to be satisfied, of K scores in a K-dimensional metric space, K being an integer greater than or equal to 1, called the high-level metric space, the K scores forming a performance vector to be satisfied, the calculation of the first cost comprising, for each operational trajectory, a calculation of a first performance vector in said high-level metric space, said first cost being calculated by a deviation evaluation function, combining said first performance vector and the performance vector to be satisfied, and the calculation of the second cost comprises, for each transition, a calculation of a second performance vector in said high-level metric space, said second cost being calculated by the deviation evaluation function, combining said second performance vector and the performance vector to be satisfied.
[0021] The gap evaluation function performs a combination of the gaps, component by component, between said first or second performance vector and the performance vector to be satisfied.
[0022] The calculation of a first performance vector associated with an operational trajectory comprises a calculation of performance values associated with said operational trajectory in a low-level metric space, and an application of a first mapping tool between the low-level metric space and the high-level metric space, the first mapping tool having been previously trained on learning data.
[0023] The calculation of a second performance vector associated with the transition comprises a calculation of performance values associated with said transition in the low-level metric space, and an application of a second mapping tool between the low-level metric space and the high-level metric space, the second mapping tool having been previously trained on learning data.
[0024] The first matching tool implements a neural network or a fuzzy logic decision tree, and the second matching tool implements a neural network or a fuzzy logic decision tree.
[0025] Step C) comprises a calculation of a plurality of transitions between two successive operational trajectories, and the calculation of a synthetic cost, as a function of the second costs associated with each of the transitions of the plurality of transitions, said synthetic cost being allocated to each of the transitions of said plurality of transitions.
[0026] Step D) comprises the determination of a plurality of N trajectory plans, N being strictly greater than 1, the method further comprising a post-processing step (40) implementing trajectory filtering, each trajectory plan being transformed into a mission trajectory, the filtering being implemented on the mission trajectories to obtain a number M less than N of trajectories, such that a distance between any pair of mission trajectories is greater than a threshold, said distance being calculated according to a predefined proximity metric.
[0027] According to another aspect, the invention relates to a device for generating at least one trajectory plan of a mobile machine to carry out a mission, the mission comprising a plurality of tasks to be carried out in a given order, the or each trajectory plan being composed of a succession of operational trajectories separated by transitions, each operational trajectory being associated with a task to be carried out and having an entry point and an exit point, each transition being a trajectory between an exit point of an operational trajectory and an entry point of a following operational trajectory. The device comprises a calculation processor configured to execute:
[0028] - a module for obtaining at least one high-level criterion to be satisfied by said assignment,
[0029] - a generation module, for each task to be performed, of a set of at least an operational trajectory, and calculation, for each operational trajectory of said set, of a first associated cost,
[0030] - a module for calculating at least one transition between two trajectories successive operational and calculation of a second cost associated with said at least one transition,
[0031] - a module for determining at least one trajectory plan, the or each trajectory plan comprising an operational trajectory selected from each set of operational trajectories generated, and a transition between two successive operational trajectories,
[0032] the determination of a trajectory plan being carried out as a function of an overall cost depending on said first and second costs of the operational trajectories and transitions of said trajectory plan.
[0033] The device is advantageously configured to implement the method for generating at least one trajectory plan of a mobile machine to carry out a mission as briefly described above, according to all its embodiments.
[0034] According to another aspect, the invention relates to a computer program comprising software instructions which, when implemented by a device programmable electronics, implement a method for generating at least one trajectory plan of a mobile machine to carry out a mission as briefly described above.
[0035] Other characteristics and advantages of the invention will emerge from the description given below, for information purposes only and in no way limiting, with reference to the appended figures, among which:
[0036] [Fig-1] [Fig.l] schematically illustrates a mission planning system comprising a trajectory generation device according to one embodiment;
[0037] [Fig.2] [Fig.2] is a synoptic of the main stages of a generation process of a trajectory plan according to an embodiment;
[0038] [Fig.3] [Fig.3] is a schematic example of a graph used to determine a trajectory plan;
[0039] [Fig.4] [Fig.4] is a schematic example of trajectory plans generated for carry out a mission involving two tasks to be performed;
[0040] [Fig.5] [Fig.5] is a synoptic of the main stages of proximity filtering between trajectories according to an embodiment.
[0041] The invention will be described below in the application case in which the mobile machine considered is an aircraft, equipped with various sensors, in particular imaging sensors, adapted to carry out tasks of taking pictures of sites flown over.
[0042] It is understood that the invention is not limited to a particular type of mobile machine, and finds applications for any type of aerial, marine, underwater, terrestrial mobile machine.
[0043] Furthermore, it is also clear that capturing images is a simple example of a task to be carried out during a mission, and that the invention applies in a similar manner to other types of tasks to carry out various types of missions, civil or military.
[0044] [Fig.l] schematically illustrates a mission system 2, comprising a device 4 for generating trajectory plans of a mobile machine to carry out a mission.
[0045] The mobile machine concerned is not shown.
[0046] The mission system 2 further comprises a human-machine interface (HMI) 6, which allows interaction with an operator.
[0047] The HMI 6 includes in particular a display screen 8 and an interactor 10 making it possible to transmit commands to the device 4.
[0048] In one embodiment, the display screen is a touch screen that allows commands to be received from the operator by touch. In this case, the display screen 8 and the interactor 10 are grouped into a single device.
[0049] The HMI 6 has been shown separate from the trajectory plan generation device 4. Alternatively, the HMI 8 can be integrated into the trajectory plan generation device 4, for example in a mission terminal.
[0050] In one embodiment, the mission system 2 is a mission planning system, integrated for example in a ground base.
[0051] In another embodiment, the mission system 2 is embedded in the mobile vehicle (not shown), for example in the on-board computing system of the mobile vehicle.
[0052] In one variant, the trajectory plan generation device 4 is located in a ground base and the HMI 6 is on board. In this variant, the device 4 and the HMI 6 comprise or are connected to one or more communication interfaces, for example radio communication interfaces, allowing radio communication between these devices.
[0053] The device 4 is for example a computer system composed of one or more programmable electronic devices, i.e. computers.
[0054] To simplify the explanation, it is considered that the device 4 for generating trajectory plans is a computer comprising a processor 12, an electronic memory unit 14, a communication interface 15, an electronic memory unit 16 and an input / output (I / O) interface 18. The elements of the device 4 are adapted to communicate via a communication bus 20. The device 4 is a programmable electronic device configured to implement a method for generating at least one trajectory plan of a mobile machine according to the invention.
[0055] The memory unit 14 is configured to store modules 22, 24, 26, 28 configured to implement a method for generating trajectory plans as described in detail below.
[0056] The module 22 is an acquisition module configured to carry out an acquisition of at least one high-level criterion to be satisfied by said mission, in a predefined semantic reference system.
[0057] In one embodiment, the high-level criteria are said to be of high level of abstraction, easily understandable and interpretable by the human operator. For example, the operator defines his intentions in a lexical field (e.g. an ontology), for example “detect very quickly”, “find a secure and rapid solution”, and these intentions are automatically translated into values to be satisfied on several dimensions, for example by performance values or scores to be achieved in terms of speed, efficiency, security.
[0058] For example, if the operator indicates his intention to obtain, in order to carry out the mission, a medium-speed and very secure trajectory plan, the system applies a speed score of 6 / 10 and a safety score of 9 / 10, these scores being representative of the high-level criteria to be validated by the generated trajectory plans.
[0059] Of course, these criteria and scores are given here as an example, with many variations depending on operational needs and contexts of use.
[0060] In one embodiment, the high-level criteria, representative of the operator's intention, are transformed into scores forming components of a performance vector to be satisfied, in a K-dimensional metric space, also called high-level metric space or HLOM (from the English "High Level Operational Metrics"). For example, K=3 when the dimensions are representative of speed, efficiency and safety.
[0061] According to a variant, the operator indicates the criteria to be achieved by directly providing the scores in the K dimensions of the HLOM metric space, for example via a dedicated graphical interface (eg a cursor to move), displayed on the screen 8.
[0062] In addition, the module 22 is configured to obtain information making it possible to define the mission, and information 25 relating to actual mission conditions (e.g. topological data, meteorological data, data from sensors).
[0063] The information 25 can come from multiple distinct sources, e.g. remote servers, sensors, databases.
[0064] Alternatively, part of the information 25 is provided by the operator.
[0065] According to another variant, the information 25 is stored beforehand in the memory unit 16 of the device 4.
[0066] A mission comprising a set of tasks to be carried out is defined, each task having associated characteristics (eg location, duration, quality).
[0067] Module 24 is a generation module, for each task to be carried out of a set, or “cluster”, of at least one operational trajectory, and of calculation of a first associated cost, representative of a deviation from the scores to be achieved.
[0068] A trajectory is defined by a sequence of points to be traveled, each point being defined in a given spatial reference frame, and can be reduced to a single point.
[0069] According to one embodiment, indications of orientation (or pose) of the mobile machine at each point of the trajectory are also provided to define the trajectory.
[0070] An operational trajectory associated with a task is a trajectory of the mobile machine allowing the task to be carried out. In other words, if the mobile machine takes the or each defined operational trajectory, it will be able to carry out the associated task.
[0071] For example, for a task of taking pictures of a specific site or objective, by a drone equipped with one or more cameras, the operational trajectory must make it possible to fly over the objective, at a distance and at an angle making it possible to satisfy a shot according to a planned quality (e.g. sufficient resolution).
[0072] Module 26 is a module for calculating transitions between successive operational trajectories, and for calculating a second cost for each transition.
[0073] Module 28 is a module for determining one or more trajectory plans which satisfy the high-level criterion initially provided.
[0074] Each trajectory plan is formed by selecting an operational trajectory per task to be performed, from among the trajectories of a set (cluster), and by selecting a transition between each pair of successive operational trajectories.
[0075] The concatenation of the trajectories of a trajectory plan also forms a trajectory, called a mission trajectory, making it possible to carry out all the tasks of the mission (or tasks to be carried out).
[0076] The module 28 is configured to calculate an overall cost associated with each trajectory plan, as a function of the first and second costs associated respectively with the operational trajectories and transitions of the trajectory plan, making it possible to measure the performance of the trajectory plan for carrying out the mission in relation to the high-level criteria provided by the operator.
[0077] Examples of implementation of the modules 22, 24, 26, 28 will be described below.
[0078] In one embodiment, the modules 22, 24, 26, 28 are produced in the form of software instructions forming a computer program, which, when executed by the processor 12, implements a method for generating trajectory plans according to the invention.
[0079] In a variant not shown, the modules 22, 24, 26, 28 are each produced in the form of a programmable logic component, such as an FPGA (Field Programmable Gate Array), a GPU (graphics processor) or a GPGPU (General-purpose graphics processing), or in the form of a dedicated integrated circuit, such as an ASIC (Application Specific Integrated Circuit).
[0080] The computer program comprising software instructions is further capable of being recorded on a medium, not shown, that is readable by a computer. The computer-readable medium is, for example, a medium capable of storing the electronic instructions and of being coupled to a bus of a computer system. By way of example, the readable medium is an optical disk, a magneto-optical disk, a ROM memory, a RAM memory, any type of non-volatile memory (for example EPROM, EEPROM, FLASH, NVRAM), a magnetic card or an optical card.
[0081] [Fig.2] is a synopsis of the main steps of a method for generating a trajectory plan, according to one embodiment.
[0082] The method comprises initialization steps 30 and 32.
[0083] The method comprises step 30 of obtaining at least one high-level criterion at satisfy the said mission, this high-level criterion being representative of the operator's intentions.
[0084] For example, several high-level criteria are provided.
[0085] In one embodiment, the high-level criteria are provided via the human-machine interface 6, and are transformed into scores, these scores being the components of a performance vector to be satisfied, in the K-dimensional high-level metric space.
[0086] The performance vector to be satisfied is expressed by:
[0087] V_intent=[Vi,.. .,VK], the values Vj to VK being scores to be obtained on each dimension.
[0088] For example, K=3, the three dimensions representing respectively speed, efficiency, security.
[0089] The score values are for example normalized between a minimum score and a maximum score, for example between 0 and 100, and more particularly between 0 and 10.
[0090] Alternatively, the score values are, for example, effective values to be satisfied according to the corresponding metric.
[0091] Preferably, the translation of the operator's high-level intentions into a performance vector to be satisfied is carried out automatically, by the method described in patent application FR 2005823.
[0092] In addition, the method comprises a step 32 of obtaining information making it possible to define the mission, and information relating to actual mission conditions (e.g. topological data, meteorological data, data from sensors).
[0093] The information can be obtained via the human-machine interface, and / or external servers / databases, and / or from previously stored data, for example in the form of a file.
[0094] In particular, the set of tasks to be performed is obtained in step 32, as well as information relating to functional parameters of the tasks (e.g. minimum quality, maximum duration).
[0095] For example, for an image capture task, using a given type of on-board sensor, for example an optical camera, spatial coordinates of a site or objective are provided, as well as a distance from the objective or expected resolution quality level.
[0096] In another example, an image capture task may be performed by multiple sensors of the mobile device. For example, for a shot, if the mobile device incorporates a SAR (synthetic aperture radar) sensor and an optronic sensor, and that the task can be performed with satisfactory quality by one or the other of the sensors, trajectories involving the use of each of the sensors will be considered in the following steps of the method. Thus, advantageously, in the end the trajectory plan obtained will include the performance of the image capture task by the sensor automatically chosen according to the implemented optimization criteria. In other words, the optimal sensor to perform the image capture task and the trajectory will be chosen at the same time.
[0097] The method then comprises a step 34 of generating a set of operational trajectory(ies) per task, and a first cost associated with each operational trajectory.
[0098] The generation step 34 is followed by a step 36 of calculating transitions and evaluating performance by calculating second costs associated with the transitions.
[0099] The method then comprises a determination 38 of one or more trajectory plans for carrying out the mission, based on an overall cost depending on the first and second calculated costs, and an optional post-processing step 40.
[0100] In the particular case where the determination step 38 consists of determining a single trajectory plan, which best satisfies the operator's intentions, the optional post-processing step 40 is not carried out.
[0101] In the case where the determination step 38 consists of generating a number N of trajectory plans, the post-processing step 40 performs a filtering of trajectories making it possible to retain a number M <N de trajectoires, qui sont dites alternatives, i.e. présentent des alternatives compréhensibles pour un opérateur.
[0102] Indeed, when the determination 38 is based on a computational cost, it is noted that a computation method selects a very large number of very close trajectory plans, for example in terms of distance or resemblance according to a predefined proximity metric (eg for example spatially close trajectories for an aircraft). Very close trajectories do not constitute effective alternatives for an operator.
[0103] It is therefore advantageous to present effective alternatives, for example comprising spatially distant operational trajectories, in reduced number, to allow an operator to quickly and easily select a trajectory plan to carry out the given mission.
[0104] Preferably, the number M of alternatives retained is equal to 3. In an operational situation, for real-time planning, the number M of alternatives is preferably limited, for example between 2 and 5. The number of alternatives may also be greater than 5, in particular in the case of upstream planning of a mission.
[0105] In one embodiment, step 34 of generating a set of operational trajectories implements a filtering of trajectories described below with reference to [Fig.5].
[0106] In one embodiment, step 34 of generating a set of operational trajectories per task, comprises a step 42 of generating, for each task Task_i of the mission, a set Cluster_i of P; operational trajectories.
[0107] The index i is representative of the order of the tasks to be performed.
[0108] Furthermore, formally, for the planning of a mission, a so-called entry task and an exit task are formally defined, the entry task being associated with the starting point of the mobile vehicle and the exit task with the arrival point of the mobile vehicle.
[0109] For entry and exit tasks, the associated trajectory is for example reduced to a single point.
[0110] For example, for each task to be performed Task_i, the same number of operational trajectories P;=P is generated.
[0111] For each Cluster_i set, the generated operational trajectories are stored.
[0112] Optionally, step 42 implements a filtering of trajectories, one embodiment of which is described below, to obtain, in each set Cluster_i, Pi trajectories which present a variety considered sufficient on the basis of a proximity (or resemblance) metric which is defined.
[0113] Step 42 is followed by a step 44 of calculating the first cost, representative of the performance with respect to the scores to be satisfied in the HLOM metric space, for each set Cluster_i and for each trajectory of this set.
[0114] In one embodiment, step 44 comprises, for each trajectory, the calculation of a first performance vector in the metric space of the performances to be satisfied (HLOM space).
[0115] Each component of the first performance vector is a performance value, for example a score, of the operational trajectory considered according to one of the dimensions of the high-level metric space, for example an evaluation of speed, efficiency, safety in the example described above.
[0116] The calculation of the performance values is carried out from so-called low-level metrics, or LLOM metrics (for “Low Level Operational Metrics”), which are values quantified from operational characteristics of operation (e.g. speed of movement of the mobile machine, altitude, state of the sensors to be used, angle of incidence, stability, quantity of fuel consumed, etc.).
[0117] Performance values in the low-level metric space LLOM are provided to a first matching tool previously trained on training data to infer the corresponding values in the HLOM metric space.
[0118] For example, the method described in patent application FR 20 05823 is implemented. The first matching tool implements, for example, a neural network or a GFT (for “Genetic Fuzzy Trees”) fuzzy logic decision tree.
[0119] Thus, for an operational trajectory of index j of the set Cluster_i, noted yf, the first performance vector is noted: V^perfj^V^l), ....
[0120] Step 44 further comprises a calculation, for each trajectory, of a first cost, representative of the differences between the first performance vector and the performance vector to be satisfied.
[0121] The first cost is calculated by a gap evaluation function, combining V perf1. ct V—intent, for example realizing a combination of the component deviations by component, between the first calculated performance vector and the performance vector to be satisfied.
[0122] For example, the first cost is calculated by the formula:
[0123] [Math.l] perf intenta
[0124] Villtetlt(l) = Vh for each score V / obtained in step 30 of obtaining at least one high level criterion to be met.
[0125] Alternatively, according to another example, the deviation evaluation function is as follows:
[0126] [Math.2] = ,eXp(V / 'J * perfj
[0127] Of course, the above deviation evaluation functions for calculating the deviations between the first performance vector and the performance vector to be satisfied have been given here as an example, other deviation evaluation functions being usable.
[0128] Step 36 of calculating transitions and calculating a second associated cost includes a step 46 of calculating several transitions between an exit point of an operational trajectory of a set Cluster_j and an entry point of an operational trajectory y7+i of a following set Cluster_j+1. A transition
[0129]
[0130]
[0131]
[0132]
[0133]
[0134]
[0135]
[0136]
[0137]
[0138]
[0139]
[0140]
[0141]
[0142] is a trajectory of the mobile machine, but which is not associated with an operational constraint to carry out a given task. For example, the calculation of a transition cost is carried out by the method described in patent application FR 2005823. Optionally, step 46 also implements trajectory filtering, one embodiment of which is described below, to obtain transitions which exhibit a variety considered sufficient on the basis of a proximity (or resemblance) metric. At the end of step 46 we obtain a set of transitions { Trans^b] ' 'cs indices j and j+1 being omitted here to simplify the notations. Step 46 is followed by a step 48 of calculating the second cost, for each transition in the set of transitions. In one embodiment, step 48 is analogous to step 44 described above, and makes it possible to obtain, for each transition, a second associated cost. Similarly, a second performance vector, in the HLOM metric space, is calculated for each transition, from a performance vector in an LLOM metric space. For example, a second mapping tool between the low-level operational metrics (LLOM) space and the HLOM space is implemented. The second matching tool implements, for example, a neural network or a fuzzy logic decision tree (GFT) (for “Genetic Fuzzy Trees”). According to one embodiment, the second matching tool used for transitions is different from the first matching tool used for operational trajectories. Step 48 comprises, in one embodiment, calculating the second cost, representative of the deviations between the second performance vector and the performance vector to be satisfied, as described with reference to step 44. Similarly, a deviation evaluation function, for example component by component, according to the formulas [MATH 1] or [MATH 2], is implemented. Step 48 is followed by a step 50 of calculating a synthetic cost, for all the transitions { Tran^b} • For example, the synthetic cost is equal to the minimum, or the average, or the median of the second costs calculated in step 48. We then obtain a synthetic cost C^a, b\ which is then associated with each transition of the set of transitions 1 Tronf^] ■
[0143] Step 38 of determining trajectory plans uses the first and second costs calculated previously.
[0144] In one embodiment, a number N of alternative trajectory plans is chosen.
[0145] According to one embodiment, a graph is constructed from the successive sets of trajectories, and the previously generated transitions. An example of such a graph on two successive levels, of respective indices j and j+1, is illustrated schematically in [Fig.3].
[0146] The nodes of the graph are the operational trajectories of the sets Cluster_j, Cluster_j+1 etc., the first cost calculated for the operational trajectory being associated with each node.
[0147] In [Fig.3], we have illustrated the set of nodes corresponding to a set of 4 operational trajectories Cl us te rj 53, and the set of nodes corresponding to a set of 3 operational trajectories Cluster_j+1 55.
[0148] The nodes of the successive levels are connected by arcs, representative of the transitions, the second cost, equal to the synthetic cost, being associated with each transition.
[0149] An algorithm for determining paths in the graph thus constructed is implemented, based on the values associated with the nodes and arcs.
[0150] For example, the algorithm described in the article “Finding the k Shortest Paths” by D. Eppstein, published on March 31, 1997 is implemented.
[0151] According to a variant, the set of combinations is evaluated by adding the costs of the nodes and arcs forming each combination to form an overall cost, and by retaining the N combinations of lowest overall costs. Each combination forms a trajectory plan.
[0152] Alternatively, the overall cost is calculated by a weighted sum of the respective first and second costs.
[0153] The successive trajectories of a trajectory plan form a mission trajectory.
[0154] The optional post-processing step 40 performs a filtering of mission trajectories making it possible to retain a number M <N de trajectoires, qui sont dites alternatives, i.e. présentent des alternatives compréhensibles pour un opérateur.
[0155] [Fig.4] schematically illustrates an example of a mission comprising two tasks to be carried out, respectively a first image capture (A) by SAR (Synthetic Aperture Radar) imaging, and a second image capture (B) by optronic imaging. Formal entry (TE) and exit (Ts) tasks are added.
[0156] The tasks comprising the mission are illustrated schematically in graph 52.
[0157] Graph 54 of [Fig.4] schematically illustrates the operational trajectories generated for each task, two in number in this example, respectively Tal and Ta2 for SAR imaging and Tbl, Tb2 for optronic imaging.
[0158] The sets of trajectories (or “clusters”) Cluster_a={Tal, Ta2] and Cluster_b={Tbl,Tb2] are thus formed.
[0159] Graph 56 illustrates the respective transitions and the associated costs.
[0160] In detail, the transition between the input and the operational trajectory Tal is noted TR(E,1), and the transition between the input and the operational trajectory Ta2 is noted TR(E,2).
[0161] The transition between the operational trajectory Tal and the operational trajectory Tbl is noted TR(1,1), the transition between the operational trajectory Tal and the operational trajectory Tb2 is noted TR(1,2), the transition between the operational trajectory Ta2 and the operational trajectory Tbl is noted TR(2,1), the transition between the operational trajectory Ta2 and the operational trajectory Tb2 is noted TR(2,2).
[0162] The transition between the operational trajectory Tbl and the output is noted TR(1,S) and the operational trajectory Tb2 and the output is noted TR(2,S).
[0163] In this simplified example, the following trajectory plans are considered:
[0164] Planl={TR(E,l),Tal,TR(l,l),Tbl,T(l,S)}
[0165] Plan2={TR(E, 1),Tal,TR(1,2),Tb2,T(2,S)}
[0166] Plan3={TR(E,2),Ta2,TR(2,1),Tb 1,T(1,S)}
[0167] Plan4={TR(E,2),Ta2,TR(2,2),Tb2,T(2,S)}
[0168] Considering the costs of operational trajectories and transitions, the overall cost of each trajectory plan can be calculated by addition as follows:
[0169] C(Plan 1)=0.1 +0.5+0.2+0.5+1.1=2.4
[0170] C(Plan2)=0.1+0.5+0.3+1.5+1.5=3.9
[0171] C(Plan3)=0.1+1.35+1.15+0.5+1.1=4.2
[0172] C(Plan4)=0.1+1.35+5.25+1.5+1.5=9.7
[0173] According to an algorithm for selecting the “shortest paths”, in terms of the associated indicators (eg costs), the choice of two plans from the four calculated would result in the choice of plans Plan1 and Plan2.
[0174] Nevertheless, by adding an additional criterion based on a metric of proximity of the trajectories, in the event that Planl and Plan2 are too close geographically, the plans Planl and Plan3 can be chosen.
[0175] [Fig.5] is a block diagram of trajectory filtering according to one embodiment.
[0176] The filtering of trajectories comprises a step 60 of receiving a set of trajectories comprising a number N of trajectories, and a classification of the trajectories, according to a chosen order, on the basis of a classification criterion, in a list J.
[0177] For example, the trajectories are classified in ascending order of performance indicators relative to intentions, the performance indicators being calculated according to the method described with reference to [Fig.2].
[0178] A threshold to be applied, noted R, is obtained in step 62.
[0179] For example, in one embodiment, the threshold R is calculated based on a chosen proximity metric.
[0180] In one embodiment, the proximity metric is a spatial distance between points of the trajectories.
[0181] Considering two distinct trajectories T1 and T2, trajectory T1 comprising NI points and trajectory T2 comprising N2 points, the respective length PI and P2 of each of these trajectories is calculated. The length is calculated as the sum of the distances between successive points of each of the trajectories.
[0182] The length of each trajectory can be expressed equivalently as the time duration of each trajectory.
[0183] Then, the trajectories T1 and T2 are resampled, so that each one has the same number P of points, for example regularly spaced in time.
[0184] Thus the trajectory Tl is resampled in a succession of P points:
[0185] {Sn, i=l->P]
[0186] Similarly, the trajectory T2 is resampled in a succession of P points: {S2i, i=l->P]
[0187] Resampling implements, for example, an interpolation between successive positions of each trajectory.
[0188] The spatial distance between trajectories T1 and T2 is then calculated by: [01891 ^12 — max[p P )
[0190] Where d(Si q,S2q) is a Euclidean distance between points Siq and S2q in a spatial frame of reference, or another distance, for example the LL distance
[0191] In another embodiment the proximity metric is a distance in the HLOM metric space. In this embodiment, each trajectory has a performance vector in the associated HLOM space, and the distance is a distance between these performance vectors in the HLOM space, for example the Euclidean distance.
[0192] Returning to step 62, the threshold R is a fraction F of the average of the distances between Q trajectories of the list J, Q being an integer less than N, the fraction F being for example between 1 / 10 and 1.
[0193] The trajectory filtering then comprises a step 64 of initializing a list L of retained trajectories. During this initialization step, the list L is initialized with the first trajectory of the ordered list J, noted J[l], An index i is initialized to 2.
[0194] During a following step 66, the next trajectory from list J is chosen as the current trajectory, noted TA.
[0195] It is then checked in step 68 whether the current trajectory is at a distance lower, according to the chosen proximity metric, than the threshold R of one of the trajectories already stored in the list L of retained trajectories.
[0196] Step 68 implements a loop on all the trajectories TB of the list L, in which the distance DAB according to the chosen proximity metric is calculated (step 70) and compared to the threshold R (step 72).
[0197] As soon as the distance is less than the threshold, step 68 is followed by step 76 described below.
[0198] If the distance DAB is greater than the threshold R for each trajectory in the list L, then the current trajectory TA is added to the list L of retained trajectories (step 74).
[0199] Step 74 is followed by step 76 in which the current index i is compared to N (cardinal of list J), and incremented by 1 if it is less than N (step 78).
[0200] Step 78 is followed by step 66 previously described and the following steps.
[0201] In the event of a negative result at step 76, i.e. in other words if all the trajectories of the ordered list J have been traversed, it is checked at step 80 whether the cardinal of the list L of trajectories retained is greater than or equal to M, M being the number of trajectories expected after filtering.
[0202] In the event of a negative response, step 80 is followed by a step 82 of adjusting the threshold R. For example, R is increased by 10%. Of course, this percentage is given as an example only, other percentage increases may be considered.
[0203] In case of a positive response, in other words if the number of trajectories in the list L is greater than or equal to M, the trajectory filtering process ends.
[0204] It is understood that the embodiment of [Fig.5] has been given as an example, other implementation variants being within the reach of those skilled in the art.
[0205] Advantageously, filtering trajectories according to a proximity metric makes it possible to obtain a set of trajectories whose distance, according to the proximity metric, is greater than a chosen threshold, which ensures a variety of trajectories, which can effectively be considered as alternatives for an operator.
[0206] Advantageously, the proposed method makes it possible to obtain trajectory plans close to high-level criteria to be satisfied, defined by an operator, and which are distinct alternatives. The operator then has access to a choice which is understandable and satisfactory.
Claims
2. Claims
1. Method for generating at least one trajectory plan of a mobile machine to carry out a mission, the mission comprising a plurality of tasks to be carried out in a given order, the or each trajectory plan being composed of a succession of operational trajectories separated by transitions, each operational trajectory being associated with a task to be carried out and having an entry point and an exit point, each transition being a trajectory between an exit point of an operational trajectory and an entry point of a following operational trajectory, a transition being a trajectory of the mobile machine which is not associated with an operational constraint to carry out a task to be carried out, characterized in that it comprises steps, implemented by a calculation processor, of: - A) obtaining (30) at least one high-level criterion to be satisfied by said mission,, - B) generation (34, 42), for each task to be carried out of a set of operational trajectories, and calculation (44), for each operational trajectory of said set, of a first cost relating to the associated high-level criterion to be satisfied, - C) calculation (36, 46, 50) of at least one transition between two successive operational trajectories and calculation (48) of a second cost, relating to the high-level criterion to be satisfied, associated with said at least one transition, - D) determination (38, 40) of at least one trajectory plan, the or each trajectory plan comprising an operational trajectory selected from each set of operational trajectories generated, and a transition between two successive operational trajectories, the determination of a trajectory plan being carried out as a function of an overall cost depending on said first and second costs of the operational trajectories and transitions of said trajectory plan. Method according to claim 1, further comprising a definition (32), from said at least one high-level criterion to be satisfied, of K scores in a K-dimensional metric space, K being an integer greater than or equal to 1, called high-level metric space, the K scores forming a performance vector to be satisfied, the calculation (44) of the first cost comprising, for each operational trajectory, a calculation of a first performance vector in said high-level metric space, said first cost being calculated by a deviation evaluation function, combining said first performance vector and the performance vector to be satisfied, and the calculation (48) of the second cost comprises, for each transition, a calculation of a second performance vector in said high-level metric space, said second cost being calculated by the deviation evaluation function, combining said second performance vector and the performance vector to be satisfied.
3. The method of claim 2, wherein said gap evaluation function performs a component-by-component combination of the gaps between said first or second performance vector and the performance vector to be satisfied.
4. The method of claim 2 or 3, wherein the calculation (44) of a first performance vector associated with an operational trajectory comprises a calculation of performance values associated with said operational trajectory in a low-level metric space, and an application of a first mapping tool between the low-level metric space and the high-level metric space, the first mapping tool having been previously trained on training data.
5. Method according to one of claims 2 to 4, wherein the calculation (48) of a second performance vector associated with the transition comprises a calculation of performance values associated with said transition in the low-level metric space, and an application of a second matching tool between the low-level metric space and the high-level metric space, the second matching tool having been previously trained on learning data.
6. The method of claim 5 in combination with claim 4, wherein said first matching tool implements a neural network or a fuzzy logic decision tree, and said second matching tool correspondence implements a neural network or a fuzzy logic decision tree.
7. Method according to one of claims 1 to 6, in which step C) comprises a calculation (46) of a plurality of transitions between two successive operational trajectories, and the calculation of a synthetic cost, as a function of the second costs associated with each of the transitions of the plurality of transitions, said synthetic cost being attributed to each of the transitions of said plurality of transitions.
8. Method according to any one of claims 1 to 7, in which step D) comprises the determination of a plurality of N trajectory plans, N being strictly greater than 1, the method further comprising a post-processing step (40) implementing trajectory filtering, each trajectory plan being transformed into a mission trajectory, the filtering being implemented on the mission trajectories to obtain a number M less than N of trajectories, such that a distance between any pair of mission trajectories is greater than a threshold, said distance being calculated according to a predefined proximity metric.
9. Computer program comprising software instructions which, when implemented by a programmable electronic device, implement a method for generating at least one trajectory plan of a mobile machine to carry out a mission in accordance with claims 1 to 8.
10. Device for generating at least one trajectory plan of a mobile machine to carry out a mission, the mission comprising a plurality of tasks to be carried out in a given order, the or each trajectory plan being composed of a succession of operational trajectories separated by transitions, each operational trajectory being associated with a task to be carried out and having an entry point and an exit point, each transition being a trajectory between an exit point of an operational trajectory and an entry point of a following operational trajectory, a transition being a trajectory of the mobile machine which is not associated with an operational constraint to carry out a task to be carried out, characterized in that it comprises a calculation processor configured to execute: - a module (22) obtaining at least one high-level criterion to be satisfied by said mission, - a module (24) for generating, for each task to be carried out, a set of operational trajectories, and for calculating, for each operational trajectory of said set, a first associated cost, - a module (26) for calculating at least one transition between two successive operational trajectories and for calculating a second cost associated with said at least one transition, - a module (28) for determining at least one trajectory plan, the or each trajectory plan comprising an operational trajectory selected from each set of operational trajectories generated, and a transition between two successive operational trajectories, the determination of a trajectory plan being carried out according to an overall cost depending on said first and second costs of the operational trajectories and transitions of said trajectory plan.