Method and system for trajectory replanning assistance for a mobile vehicle and associated computer program
The method and system provide real-time displacement zones for aircraft pilots, optimizing flight paths to address the mental burden and constraints, offering multiple feasible modifications and reducing the need for manual compliance monitoring.
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- SAFRAN ELECTRONICS & DEFENSE (FR)
- Filing Date
- 2024-05-03
- Publication Date
- 2026-04-24
AI Technical Summary
Aircraft pilots face significant mental burden and challenges in modifying flight plans due to the need to consider numerous constraints, leading to non-optimal or infeasible flight paths, and existing assistance systems do not provide a comprehensive overview of alternative routes.
A method and system that determines real-time displacement zones allowing pilots to visualize and implement feasible modifications to flight paths by optimizing cost functions, considering constraints such as fuel consumption, speed, and altitude, providing multiple replanning options.
Enhances pilot's anticipation and adaptation capabilities by offering immediate, comprehensive views of feasible modifications, reducing the mental burden and ensuring compliance with constraints through real-time trajectory replanning.
Smart Images

Figure 00000027_0000 
Figure 00000027_0001 
Figure 00000028_0000
Abstract
Description
Title of the invention: Method and system for trajectory replanning assistance for a mobile vehicle and associated computer program. TECHNICAL FIELD OF THE INVENTION
[0001] The technical field of the invention is that of the navigation of mobile systems in a real environment.
[0002] The present invention relates to a method and system for assisting in the replanning of a mobile vehicle. It also relates to an associated computer program.
[0003] The present invention finds advantageous application in the navigation of flying vehicles, also called aircraft, such as airplanes or helicopters. Other types of mobile vehicles, for example marine or underwater or robotic vehicles, may also be relevant to the invention. TECHNOLOGICAL BACKGROUND OF THE INVENTION
[0004] In the field of aircraft navigation, it is known to modify an aircraft's flight plan during a journey. This operation, commonly called flight plan replanning, is used, for example, to compensate for delays during takeoff or in-flight, or to manage unforeseen constraints, which may be external (weather conditions) and / or internal (e.g., fuel level). The term "flight plan" refers to details concerning the execution of the aircraft's flight (journey). In particular, the flight plan includes a flight path, represented by a continuous, three-dimensional trajectory, constructed between a departure point and a destination point.
[0005] It is known that an aircraft pilot can modify (replan) the initial flight route—that is, the flight route proposed and validated before the flight—on his own, i.e., without any particular assistance. However, to do so, he must take into account a large amount of information, such as that related to external or internal constraints of the aircraft. This imposes a significant mental burden on him.
[0006] Furthermore, the pilot cannot quickly and reliably determine the consequences of his modification(s). The flight path modified by the pilot may therefore not be optimal, or even feasible, given the aircraft's physical characteristics. The term "physical characteristics" of the aircraft includes characteristics such as (but not limited to) the aircraft's speed, rate of climb or descent, and the amount of fuel available (or remaining) to complete the flight.
[0007] To assist the pilot in his replanning task, a system which identifies and indicates to the pilot the existence of is known, for example, from US patent 11270593. Potential shortcuts are identified within the current flight path. If desired, the pilot can then modify the current flight path to incorporate the indicated potential shortcut. The drawback of this solution is that the pilot remains responsible for generating the modified path. Therefore, the assistance provided to the pilot remains limited.
[0008] A method for determining, during flight, an optimal flight route, taking into account certain external / internal constraints on the aircraft compared to the initial route (the one approved before the flight), is also known from document EP4239293A1. The advantage of this approach lies in the fact that the pilot does not have to take the external / internal constraints into account. This also helps to reduce the number of alerts received by the pilot, and therefore the stress generated by these alerts.
[0009] However, in practice this approach is not very flexible because it does not give the pilot an overview of all possible routes (only one optimal route is provided in response to the initial route). Summary of the invention
[0010] The present invention proposes to better assist the pilot in his task of replanning the flight route.
[0011] More broadly, the present invention proposes to improve trajectory replanning for a mobile vehicle.
[0012] More particularly, a first aspect of the invention proposes a method for assisting in the replanning of the trajectory of a mobile vehicle moving along an initial trajectory comprising a plurality of passage positions, the method being implemented by computer and comprising the following steps: • Receipt of at least one constraint relating to the mobile vehicle, • Receiving an initial position data point associated with a position of passage included in the initial trajectory, the process further comprising, following the receipt of the first position data, a real-time determination step of at least one displacement zone associated with the first position data of the initial trajectory, the displacement zone being formed of alternative positions to the first position data so as to replan the initial trajectory to respect at least one constraint.
[0013] Thus, advantageously according to the invention, following the receipt of an intention to modify the initial trajectory, the determination of a movement zone makes it possible to offer the pilot an overall view of the possible (or acceptable) modifications. By "possible modification," it is understood that a modification of the initial trajectory is understood to make the movement of the mobile vehicle feasible while respecting the received constraint.
[0014] This then relieves the pilot of the replanning task, since they no longer have to monitor compliance with at least one constraint (this being already taken into account). It also greatly enhances their anticipation capabilities, since they have not just one but several possible replanning solutions (the movement zone includes several alternative positions for modifying the considered passage point of the initial trajectory).
[0015] Furthermore, thanks to the determination of the displacement zone in real time, that is, in a time sufficiently short to be perceived as instantaneous by the pilot, the pilot quickly has, in this case immediately after initiating a change, an overview of the acceptable modifications. This improves trajectory adaptation capabilities, since the trajectory can be rapidly replanned to comply with the received constraint.
[0016] In addition to the characteristics mentioned in the preceding paragraph, the trajectory replanning assistance method according to the first aspect of the invention may have one or more additional characteristics from among the following, considered individually or in all technically possible combinations: • The determination of each movement zone is implemented by optimizing a first cost function depending on the plurality of passage positions, the first position data, and at least one constraint. • Optimization is a minimization of the first cost function. • The cost function to be minimized is a function representing fuel consumption as a function of parameters such as speed and / or distance and / or altitude. • The step of determining at least one movement zone includes sub-steps of: • Determination of an exploration area including the first position data point, • Discretization of the determined exploration area in such a way as to obtain a set of discretization position data, distributed in said space, • Validation of at least one discretization position data (by determining an intermediate trajectory in which the first received position data is replaced by the relevant discretization position data satisfying the received constraint, the displacement zone being determined from said discretization position data. • The determination of the intermediate trajectory is implemented by optimizing a second cost function depending on the plurality of passage positions, the first position data, the relevant discretization position data and at least one constraint. • The evaluation step is implemented for a plurality of discretization position data, with the displacement zone being determined based on the validated discretization position data. • At least one constraint relating to the mobile vehicle is a constraint relating to a physical limit of the mobile vehicle. • Said physical limit including a speed capacity, an altitude capacity and a remaining fuel volume of the mobile vehicle. • The stage of receiving at least one constraint includes, when several constraints relating to the mobile vehicle are received, a stage of aggregating all or part of said constraints, so as to form groups of constraints to be respected. • The process also includes the following steps: • Receiving a second position data point, • If the second position data belongs to the determined displacement zone, replanning of the initial trajectory by replacing the first position data with the second position data, the replanned trajectory depending on the plurality of passage positions of the initial trajectory updated by replacing the first position data with the second position data and satisfying at least one constraint. • if the second position data belongs to the determined displacement zone, the process further includes a replacement of the initial trajectory with the determined replanned trajectory respecting at least one constraint. • if the second position data does not belong to the determined displacement zone, the process includes determining a new trajectory depending on the plurality of passage positions of the initial trajectory, the second position data and at least one constraint, said determination being based on an adjustment of at least one position data of the plurality of passage positions of the initial trajectory.
[0017] A second aspect of the invention relates to a trajectory replanning assistance system for a mobile vehicle moving along an initial trajectory comprising a plurality of passage positions, comprising a processor configured to: • Receive at least one constraint related to the mobile vehicle, • Receive an initial position data point associated with a position of passage included in the initial trajectory, • Determine, in real time, following the receipt of the first position data, at least one displacement zone associated with the first position data of the initial trajectory, the displacement zone being formed of the alternative positions to the first position data so as to replan the initial trajectory to respect at least one constraint.
[0018] A third aspect of the invention relates to a computer program comprising instructions executable by a processor and designed to implement a process according to the first aspect of the invention when these instructions are executed by the processor.
[0019] The invention and its various applications will be better understood by reading the following description and examining the accompanying figures. BRIEF DESCRIPTION OF THE FIGURES
[0020] The figures are presented for illustrative purposes only and are in no way limiting of the invention. • [Fig. 1] is a flowchart of an example of a trajectory replanning assistance method for a mobile vehicle according to the invention, • [Fig.2] represents, in schematic form, a mobile vehicle comprising a system for assisting in the replanning of a mobile vehicle according to the invention, • [Fig.3] represents, in schematic form, the replanning assistance system shown in [Fig.2]. • [Fig.4] represents, in schematic form, a two-dimensional view, in a Cartesian coordinate system, of an example of the initial trajectory of the mobile vehicle as well as an example of the movement zone and intermediate trajectory determined at the end of step E3 of the process shown in [Fig.1], • [Fig.5] represents, in schematic form, a view showing the altitude of the trajectory represented in [Fig.4] as a function of travel time, • [Fig.6] is a flowchart detailing step E3 of the process shown in [Fig.1], • [Fig.7] represents, in schematic form, substep E31 shown in [Fig.6], • [Fig.8] is a flowchart detailing step E4 of the process shown in [Fig.1], • [Fig.9] represents a two-dimensional view of step E4 shown on the [Fig.8], • [Fig. 10] is a flowchart of an alternative process to the process shown in [Fig. 1], and • [Fig. 11] represents a two-dimensional view of the example initial trajectory of the vehicle alternative to the view shown in [Fig.4]. DETAILED DESCRIPTION
[0021] The present invention relates to the navigation of mobile vehicles. More specifically, the invention aims to assist the driver of a mobile vehicle in replanning its trajectory. More specifically, the invention aims to identify, for a given point along the current trajectory, one or more permissible movement zones within which the point can be moved safely, that is, by ensuring that a trajectory exists that respects at least one constraint related to the mobile vehicle. This allows the driver to have an immediate overview of the modifications necessary to make the mobile vehicle's journey feasible, despite the constraint(s).
[0022] Figure 1 is a flowchart representing an example of a trajectory replanning assistance method 100 according to the invention. For clarity, this trajectory replanning assistance method 100 is also referred to as "method 100" hereafter.
[0023] The method 100 finds an advantageous application for the navigation of mobile vehicles capable of moving in an aerial environment. For example, the invention finds an advantageous application for the navigation of an aircraft, for example an airplane or a helicopter.
[0024] Naturally, other types of aerial vehicles, or mobile vehicles capable of moving in other types of environments, for example, terrestrial, marine, or underwater environments, may alternatively be covered by the invention. In particular, the mobile vehicle may be a motor vehicle, a robot, a land / aerial / underwater drone, a ship, or a submarine. In any case, the mobile vehicle may be intended to transport objects, such as goods, animals, and / or people, and may be manned (in which case a pilot or driver is present in the vehicle) or unmanned (the pilot is positioned outside and at a distance from the mobile vehicle).
[0025] In the remainder of this description, the mobile vehicle considered is an aircraft. Naturally, the invention applies similarly to any other mobile vehicle.
[0026] The term "navigation" in this description refers to the accomplishment, by the mobile vehicle, of a journey or mission, in an environment (in this case, a flight in an airspace when the mobile vehicle is an aircraft).
[0027] The term "trajectory" refers to the path that the mobile vehicle is intended to travel between a starting position and an arrival position. The expression "starting position" refers, for example, to the "current" position of the mobile vehicle, that is, the position of this mobile vehicle at the moment (at the instant) when the method 100 is applied.
[0028] In practice, this trajectory is calculated, generally using a trajectory optimization algorithm, on the basis of a succession of imposed markers, or passage positions, between the starting position and the arrival position.
[0029] These successive passing positions, or "waypoint" according to the commonly used Anglo-Saxon terminology, are predetermined, and are therefore included in the flight plan of the aircraft.
[0030] Fig. 2 represents, in schematic form, an example of aircraft 1.
[0031] As shown in [Fig.2], the aircraft 1 comprises a driving device 10, a replanning assistance system 20 according to the invention, a communication device 30, one or more sensors 40, 41 and a display and input system 50.
[0032] The control device 10 is configured to receive a command and to move the aircraft 1 according to that command. The aircraft's control device 10 includes, in particular, a propulsion engine.
[0033] The communication device 30 is configured to communicate (transmit and / or receive) data with the outside of the aircraft 1, for example with a remote server of the aircraft 1, with other mobile vehicles, etc. This communication device 30 is preferably wireless, for example of the radio frequency type.
[0034] The sensors 40, 41 are configured to provide the replanning support system 20 with measurements (or values) of physical quantities related to the aircraft 1.
[0035] The display and input system 50 is designed to allow easy interaction with a pilot. The display and input system 50 includes a display 510. The display 510 is, for example, a screen, for example, a screen designed to display visual augmentations (also called augmented reality). For example, the display 510 is designed to display a geographical map corresponding to the flight of aircraft 1, and, superimposed on this map, the flight plan's waypoint positions and the trajectory calculated from these waypoint positions.
[0036] The display and input system 50 may further include a means 520 configured for selecting, modifying, and entering information displayed on the display 510. By way of example (and not limiting the use of the display), the means for selecting the Information displayed on the 510 display is provided by means such as a joystick, voice control, etc.
[0037] The display 510 can also be a touch screen. In this case, the information input function is integrated into the display 510.
[0038] When aircraft 1 is remotely piloted, the display and input system 50 is located remotely from the aircraft. Otherwise, it is located inside the aircraft, typically in the cockpit of aircraft 1.
[0039] The replanning assistance system 20 is here a computing unit configured to control the control device 10 by sending commands. The replanning assistance system 20 can be installed on board (i.e., inside) the aircraft, or outside and therefore at a distance from the aircraft, for example in a ground control station.
[0040] Fig. 3 schematically represents the aircraft 1 replanning assistance system 20 (also referred to as "replanning assistance system 20" hereafter).
[0041] As shown in [Fig.3], the replanning assistance system 20 includes data processing means also noted as "processor 210", a storage device 220, an input interface 230 and an output interface 240.
[0042] The processor 210 is configured to interpret instructions in the form of a computer program. The processor 210 can be an electronic board or a programmable electronic chip such as an FPGA (Field-Programmable Gate Array) chip.
[0043] The storage device 220 is configured to store data received from sensors (and in particular from sensors 40, 41) and constraint values as used in the process 100. The storage device 220 is further designed to store instructions enabling the implementation of the trajectory replanning assistance process described below and temporary data for carrying out the various steps of this process. The storage device 220 is, for example, a hard drive or memory.
[0044] The input interface 230 is configured to receive input data from process 100.
[0045] The input data includes one or more constraints which will be used to enable trajectory replanning.
[0046] These constraints include, for example, values of a constraint relating to the physical limit of the aircraft, also referred to hereafter as "physical constraint Co". "Physical constraint Cq" is understood to mean a parameter taken into account in determining the trajectory of aircraft 1 so that aircraft 1 can accomplish (successfully complete) its mission. Physical constraint of the aircraft includes, in particular, the volume of fuel remaining in aircraft 1 to complete navigation, the aircraft's climb capability and the aircraft's speed capability.
[0047] These input data may further include values of other constraints relating to the aircraft (denoted "Crp C. • • Crm * P31 'a constraints" following) which the aircraft trajectory may further take into account to complete the journey.
[0048] These relative constraints are, for example, physical variables relating to the operation of the aircraft and / or its environment and / or flight conditions. By way of example (and without limitation), these physical variables may be parameters such as a geopolitical border that the aircraft must not cross, a flight altitude taking into account the terrain or the altitude capabilities of the aircraft, a meteorological condition (in particular, the outside temperature, the outside pressure, a humidity level, the occurrence of a storm), a drop zone, the presence of obstacles, etc.
[0049] The values taken by the relative constraints Crp C^, ... Crm can be acquired for example through the sensors 40, 41 equipping the aircraft 1 and / or by other sensors external to the aircraft 1.
[0050] The values taken by the physical constraint Co and / or the relative constraints C.Crm are acquired during the flight performed by aircraft 1, and / or prior to the flight (for example, during previous flights of aircraft 1). When the constraint values are acquired prior to the flight, they can be sent to the replanning aid system 20 via the communication device 30 of aircraft 1.
[0051] The values taken by the physical constraint Co and / or the relative constraints Crp CfQ, ... Crm may concern the entire trajectory of the aircraft 1 or only a part (a segment) of this path (these are then point constraints).
[0052] The input data further include data relating to an initial trajectory T jrij of the aircraft.
[0053] This data relating to the initial trajectory can come from the memorization device 220 or come from outside and be received via the communication device 30 of the aircraft 1.
[0054] The term "initial trajectory" refers to the trajectory (or path) that the aircraft is intended to follow prior to the implementation of method 100. It refers both to the trajectory defined prior to the aircraft's flight and to a subsequent trajectory determined during the flight. More specifically, it refers to the last trajectory sent to the control device 10 before the implementation of process 100.
[0055] The data relating to the initial trajectory T includes a list of position data { Xp' ... ; Xj....; Xn} defining the initial trajectory. Note that i varies between 1 and n, n being the number of position data included in the initial trajectory.
[0056] In the following description, each position datum Xj is three-dimensional (spatial) in that it comprises a first x-coordinate, a second y-coordinate, and an altitude z-coordinate. Naturally, when the moving vehicle is a land vehicle, the position datum is defined in only two dimensions. For example, the position datum for a land vehicle is defined by a first x-coordinate and a y-coordinate.
[0057] Figure 4 represents, in a Cartesian coordinate system (x, y), the second coordinate y of an example of an initial trajectory TiDj as a function of the first coordinate x-
[0058] Figure 5 shows the altitude z of the initial trajectory shown in [Fig. 4] as a function of travel time. Travel time refers to the time taken by aircraft 1 to travel the distance from the current position to the arrival point.
[0059] It is noted that figures 4 and 5 are complementary, since [Fig.4] represents two of the three spatial dimensions of the initial trajectory, and [Fig.5] represents the third dimension of said trajectory (corresponding to the altitude).
[0060] As shown in Figure 4, the initial trajectory T of the aircraft is a curve which passes through the successive spatial position data Xj_| of the position data list Tini = { Xp ... ; X j....; Xn}.
[0061] These successive position data {Xp ... ;Xj....; Xn} are position data relating to passage positions, which are defined in the flight plan of aircraft 1. They are noted as "passage position data {Xp* ... ; Xj....; Xn}" of the initial trajectory" thereafter.
[0062] Figures 4 and 5 show position data associated with the initial trajectory. They correspond respectively (in this example) to position data X10, X20, X100, X150 and X200.
[0063] The list T j^ = { Xp* ... ; Xj....; Xü} of the initial trajectory passage position data thus defines the skeleton of this initial trajectory Tini. In other words, each passage position Xj corresponds to a position that the aircraft 1 must cross, and therefore through which the initial trajectory T jnj passes.
[0064] The output interface 240 of the control system 20 is configured to send output data generated by the process 100.
[0065] These output data include, for example, a list of position data, called replanned, defining the replanned trajectory TRepi for aircraft 1. This list is sent to the control device 10 so that aircraft 1 accomplishes this replanned trajectory TRep.
[0066] The process 100 is described in detail below, first in relation to [Fig. 1].
[0067] This method 100 is implemented, for example, by the system for assisting the Replanning 20 described previously. In general, this process 100 is implemented by computer.
[0068] As illustrated in Figure 1, the process 100 begins with step E0. During this step E0, the processor 210 receives the input data relating to the initial trajectory T; that is, the processor 210 receives the list T = {■ J} of position data defining this trajectory initial.
[0069] The processor 210 can also control the display and input system 50 to display the data relating to the initial trajectory. The pilot (whether in the cockpit of the aircraft 1 or outside) can thus view this initial trajectory Tin with the superimposed position data. He can then trigger actions on this initial trajectory, such as selecting a position data point within the initial trajectory.
[0070] The display can be in the form of a view representing longitude as a function of latitude, as shown in [Fig.4], and / or a view representing altitude as a function of the distance to be covered, as shown in [Fig.5].
[0071] As shown in Figure 1, the process 100 continues with step EL. During this step El, the processor 210 of the control system 20 receives the values of the physical constraint Co of the aircraft 1. During step El, the storage device 220 stores the received values of the physical constraint.
[0072] The processor 210 can also receive, during this same step El, the values of all or part of the other relative constraints C described previously. The storage device 220 then stores, for example in the form of a database, these received values of the relative constraints.
[0073] In the following description, Cm denotes the values of the constraint(s) relating to aircraft 1 which are stored in the storage device 220. According to the above, the stored stress values Cm include only the values of the physical stress Co, or the values of the physical stress and the values of the relative stresses C^.
[0074] It should be noted that step El is implemented as soon as constraint values (physical, relative) are received by the processor 210. Step El can therefore to be implemented in parallel or at the same time as the execution of the other steps of process 100.
[0075] As shown in Figure 1, the process 1 also includes a step E2 in which the processor 210 receives a first position data Xs included in the initial trajectory '1^ (i.e. included in the list { Xp ... ; X§;Xp ....; Xn} of position data defining this initial trajectory).
[0076] In practice, this first position data Xs can, for example, be selected by the pilot, via the display and input device 50. In particular, the pilot uses his analytical, anticipation and adaptation skills to select the position data that seems most relevant to modify in order to improve the navigation of the aircraft.
[0077] For example, the pilot can select, with the intention of modifying it, one of the last position data points of passage of the initial trajectory (corresponding therefore to a position far from the current position of the aircraft), or any other position data.
[0078] In figures 4 and 5, the first position data selected is here the X100 passage position data.
[0079] According to the above, step E2 can be interpreted as an intention to modify a position data of the initial trajectory (here the first position data Xs).
[0080] Step E3, which is implemented following step E2, aims to determine, in response to this intention to modify the first received position data Xs and in real time, which alternative position data XAS are acceptable. In this description, "acceptable" means that, by replacing the first received position data Xs with this alternative position data XAS, a skeleton of a trajectory that satisfies the stored constraint values is obtained. In other words, according to the example shown in Figures 4 and 5, the alternative position data XAS satisfies the condition that the list {Xp ... ; XA.s;Xj, ...Xn} represents a trajectory that satisfies the stored constraint values.
[0081] The term "alternative" here refers to the first position data Xs received. It therefore designates a position data XAS which replaces this first position data received.
[0082] In practice, step E3 is based on the principle of exploring, in as many directions as possible, the space around the first received position data Xs, to determine (to evaluate) whether this space contains alternative position data XAg to the first position data point, each of which is acceptable. If this is the case, the space in question is validated and defines a displacement zone Zs associated with the first position data point Xs received.
[0083] In other words, step E3 consists of determining, following the receipt of the first position data Xs and in real time, at least one associated displacement zone Zs, each displacement zone comprising alternative position data XAg to the first position data received, each of which is acceptable.
[0084] The expression "real-time" in this description refers to the characteristic whereby the time between the reception E2 of the first position data Xs and the determination E3 of the displacement zone(s) Zg is perceived as instantaneous by a human operator (typically the pilot). Specifically, real-time here means a duration less than or equal to 1 s.
[0085] An example of implementation of step E3 is described below in relation to [Fig.6].
[0086] As shown in Figure 6, step E3 begins with a definition substep E30 of an exploration zone TEni (where m is an integer between 1 and the total number of exploration zones) containing the first position data point Xs. This exploration zone has a finite volume encompassing the first position data point. This finite volume limits the area in which the search for alternative position data points XAg to the first position data point Xs will be performed. It also limits the search to an area located near the first received position data point.
[0087] The exploration zone can, for example, be in the form of an exploration slice TE^ (the integer m is here equal to 1) comprising the first position data, as shown in [Fig.7].
[0088] The slice TE^ extends in this example mainly in the Cartesian plane (x, y)- It allows exploration of the directions of space included in this Cartesian plane.
[0089] Next, as shown in Figure 6, step E3 includes a substep E31 for discretizing the exploration zone TE to obtain a dataset of discretization positions associated with the zone of exploration concerned Th 1 is then an integer between 1 and M, and M is the number of discretization position data of the set.
[0090] In other words, the discretization substep E31 allows us to move from an exploration zone TE^ defined by a continuous set of an infinite number of data points to position, to an exploration zone Tj defined by a finite number M of discretization position data
[0091] Each discretization position data is a position data to be tested to evaluate the entire TE^ exploration area concerned.
[0092] The implementation of an E31 discretization makes it possible to reduce the time required to determine E3 the displacement zone, since only certain position data of the exploration zone TE^ concerned are tested to evaluate the whole of the exploration zone concerned.
[0093] An example of E31 discretization here corresponds to the use of a discretization grid, as shown in [Fig.7].
[0094] The discretization grid covers the relevant TE^ exploration area. It comprises a first and a second direction (in Figure 7, the first direction is oriented along the latitude x direction and the second direction along the longitude y direction). The discretization grid thus defines a network (or mesh) of discretization position data which are then equally distributed in the relevant TE^ exploration area.
[0095] The spacing dl, d2 of the discretization grid (or not between two adjacent discretization position data), whether considered along the first or second direction, is advantageously between 0.1 km and 2 km. Preferably, this spacing dl, d2 is on the order of 0.5 km.
[0096] The number and distribution of discretization position data obtained through the discretization grid spacing thus specified makes it possible to evaluate the entire relevant exploration area TE^ by analyzing only the discretization position data it contains. The implementation of the following steps on this discretization position data is advantageously compatible with real-time execution of step E3.
[0097] Step E3 then includes a substep E32 of selecting a discretization position data Dj from the discretization dataset
[0098] The selection of the discretization position data can be implemented in several ways.
[0099] For example, the discretization position data can be selected randomly. According to another example, the discretization position data can be selected using the discretization grid (as described below), according to a choice made by scrolling through the columns, or rows, of the discretization grid.
[0100] In [Fig.7], the selection of the discretization position data is implemented here according to a predetermined selection scheme sp applied to the discretization grid.
[0101] For example, the selected discretization position data can be the position data noted on [Fig.7].
[0102] The selected discretization position data is then evaluated, or tested, during substep E33.
[0103] Next, the process 100 includes a validation substep E33 (or evaluation) of the selected discretization position data.
[0104] The objective of this substep E33 is to determine whether a trajectory satisfying the stored constraint values can be determined by replacing the first position data point Xs with the selected discretization position data point Dj. The skeleton of the desired trajectory therefore differs from that of the initial trajectory T int = { Xp ... ; X^X-, ...Xa} in that the first received position data point is replaced by the relevant discretization position data point Dj. This skeleton is hereafter referred to as the "updated transit position data list { Xp ... ; DpXÿ ...Xn}".
[0105] In practice, the processor 210 performs a solution of a trajectory optimization problem to determine an intermediate trajectory T dependent on the values of stored constraints and having as input data the updated passage position data list {Xp' D^Xp ....;Xn}.
[0106] The optimization problem can be based on optimizing a cost function whose input data is the updated list of transition position data {Xÿ DpXp Xn} and the stored constraint values CBÏ
[0107] The cost function is for example of the type representing fuel consumption as a function of speed, distance, altitude and its variations.
[0108] In this case, the optimization of the cost function consists of minimizing this cost function.
[0109] The document [“Three-Dünensional Trajectory Optimization Satisfying Waypoint and No-Fly Zone Constraints”, Jorris et al., JOURNAL OF GUIDANCE, CONTROL, AND DYNAMICS, Vol. 32, No. 2, March-April 2009] describes an example of a constrained trajectory optimization algorithm that can be used during this substep E33.
[0110] Next, the processor 210 checks, during a substep E34, whether the intermediate trajectory Tjnt determined during substep E33 is optimal, otherwise says if this trajectory Tminimizes the cost function and respects the values of the stored constraints Cm.
[0111] If the determined intermediate trajectory T is optimal, then the relevant discretization position is validated as an acceptable alternative passage position. Thus validated, the relevant discretization position Dj will belong to the displacement zone Zs and therefore partially define this displacement zone Zs.
[0112] In practice, during substep E35, the storage device 220 stores the relevant discretization position data Df as a position belonging to the displacement zone Z5.
[0113] During this substep E35, the storage device 220 can also store the list of passage position data which represents the intermediate trajectory {Xp • (and which corresponds to the list of data of updated passage position).
[0114] The processor 210 can furthermore, during this substep E35, determine an elementary displacement zone z^s from the relevant discretization position Dj. In other words, any position data contained within the elementary displacement zone z@s is an acceptable alternative transition position data, just like the relevant discretization position data.
[0115] If all the discretization position data have not yet been validated (if 1 < a new discretization position data is then selected in the discretization set Dj^. of the area concerned TE^ and substeps E33 and E34 are repeated with this new discretization position data D^.
[0116] As shown in [Fig.7], the method of selecting the discretization position data is, for example, carried out in such a way that the successively selected discretization position data form a spiral sp centered on the first position data received.
[0117] It should be noted that, alternatively, the discretization position data can be selected and tested in parallel.
[0118] If all discretization position data have been selected (if / > m), then the processor 210 defines, during substep E36, the displacement zone Zs associated with the first position data Xg received from the or set of discretization position data validated (and stored) during substep E35 or substeps.
[0119] Alternatively, when an elementary displacement zone has been determined during substep E35, the processor 210 defines the displacement zone Xs associated with the first position data Xg received from the determined elementary displacement zones.
[0120] Next, step E3 ends.
[0121] If, during substep E34, the determined intermediate trajectory T is not optimal (i.e., the optimization does not converge, for example), then the relevant discretization position data Dj is not stored and the exploration of the relevant exploration area TE^ is considered to be complete.
[0122] The processor 210 then checks, during substep E37, whether an exploration area other than the exploration area TE^ which has just been explored exists and is relevant to explore.
[0123] If so, then processor 210 resumes at substep E30, with the definition of a new exploration area TE% (the integer m is here equal to 2). It should be noted that this new exploration area excludes the discretization position data that was not validated during the previous substep E34.
[0124] The new exploration zone TE2 is, for example, of the same shape as the previously used exploration zone TEj, but oriented differently (for example, oriented mainly along the altitude direction). Substeps E31, E32, E33 and E34 are then repeated in the new exploration zone TE^
[0125] The exploration of space, including the first position data received through successive exploration zones, makes it possible to explore numerous directions in space in a minimum amount of time. This allows the method 100 to be compatible with real-time execution of step E3.
[0126] If all directions in space have been explored, then step E3 ends.
[0127] At the end of this step E3, the processor 210 has the displacement area Zs associated with the first position data X$ received.
[0128] The processor 210 can then control the display and input system 50 to display the determined displacement area Z s superimposed with the initial trajectory TIn^ as illustrated in figures 4 and 5.
[0129] As shown in Figure 4, the displacement zone Zs does not necessarily surround the first position data Xs.
[0130] As illustrated by arrow F shown in Figure 4, the first received position data Xs can be moved within this displacement zone Zs. This displacement F is permitted, or acceptable, because it allows the trajectory to be generated intermediate T (represented by dotted lines in the figure) respecting the stored constraint values.
[0131] The determination E3 of the movement zone in real time and in response to an intention to modify the first position data allows the pilot to have an immediate global view of a plurality of possible modifications (because they respect the values of the stored constraints) of this first position data.
[0132] This allows the pilot to strengthen (multiply tenfold) their anticipation and adaptation capabilities, since they have an immediate view of a set of possible replanning strategies (and not just one). It also lightens their replanning and, more generally, their driving tasks, since they no longer have to monitor the values of the constraints (these are already taken into account).
[0133] It should be noted that if the movement zone does not exist, the processor 210 can display, via the display and input system 50, an alert message to the pilot. A new first position data point can then be received by the processor 210 during a repetition of step E2. Step E3 can then be repeated with this new first position data point.
[0134] The process 100 continues, as shown in [Fig.1], by implementing step E4. This step E4 aims to transform a request for modification of the initial trajectory into an effective, i.e., real, modification (or replanning) of this trajectory.
[0135] Thus, aircraft 1, which, up to this stage of process 100, follows the initial trajectory, will be able, at the end of step E4, to follow, if it exists, a replanned trajectory Trepl satisfying the stored constraint values.
[0136] In practice, the request to modify the initial trajectory is made by a reception E40 (illustrated in figure 8), by the processor 210, of a second position data Xp. This second position data Xp corresponds to a passage position that we want the aircraft 1 to cross.
[0137] Step E4 advantageously relies on the displacement zone Zg determined during step E3 by providing for the evaluation of whether the second position data XD belongs to the determined displacement zone Zg.
[0138] Indeed, if this is the case (if the second position data Xp belongs to the determined displacement zone Zs), the replanned trajectory Tpppp satisfying the stored constraints is determined by replacing the first position data Xs with the second position data XD in the list of passing position data {Xp ...;Xs;Xp ....;Xn} of the initial trajectory T
[0139] Indeed, by construction (of the determined displacement zone Xg), any position data included in the displacement zone Zs makes it possible to generate a replanned trajectory respecting the stored constraint values, by replacing the first position data with the relevant position data included in the displacement zone.
[0140] Using the determined displacement zone Zs thus avoids an additional, time-consuming, and computationally resource-intensive operation of solving a trajectory optimization problem to determine the replanned trajectory. This therefore simplifies the trajectory replanning step E4 and speeds up its execution.
[0141] In practice, as illustrated in Figure 8, the processor 210 tests, or verifies, following the reception E40 of the second position data Xp and during the substep E41, whether the second position data Xp belongs, or not, to the determined displacement zone Z g.
[0142] If substep E41 is verified (reference "O" in Figure 8), processor 210 replaces, during substep E42, the first received position data Xg with the second received position data Xp in the list of transit position data {Xp ... XgXiXa} of the initial trajectory T. As explained previously, the resulting list of transit position data {Xp ... ...; Xn} represents the replanned trajectory Tggpi satisfying the stored constraint values.
[0143] The processor 210 can then send to the pilot, via the display and input module 50, a request E45 for validation of the determined replanned trajectory TpEpp.
[0144] If the pilot accepts the request, then, during a substep E46, the processor 210 sends the command (T t J specifying the replanned trajectory to the control device 10 of the aircraft 1. The latter is then intended to carry out the replanned trajectory T REpE.
[0145] If the pilot does not accept the request, the replanned trajectory is not implemented (is not sent as a command to the control device 20). The storage device 220 further stores, during substep E47, the list of position data representing the determined replanned trajectory {Xp
[0146] If substep E41 is not checked, i.e. if the second position data received XD does not belong to the displacement zone Zs, then a new replanned trajectory TpEpp respecting the stored constraint values is sought during substep E43.
[0147] It should be noted that, as the second position data does not belong to the determined displacement zone, the list of passage position data | Xp ... X^Xi....; Xn} obtained by replacing the first position data with the second position data does not represent a trajectory that satisfies the stored constraint values.
[0148] Step E43 then relies on the adjustment of one or more data of passage positions of this list { Xp ... X^X^....; Xn J in order to arrive at a new list representing a candidate trajectory Tç which, this time, satisfies the values of the stored constraints.
[0149] It is specified that the adjustment does not concern, at least, the second passing position data received (this remains fixed because it corresponds to a position that aircraft 1 must cross).
[0150] In practice, this adjustment is for example carried out by solving a constrained optimization problem having as input the stored constraint values and the list of passing position data {Xp ... ;X^Xi....; Xn ]■ obtained by replacing the first position data with the second position data (this list is noted as "modified passing position data list { Xp ... X^Xj....; Xn}" hereafter).
[0151] The optimization problem can be based on an optimization of a cost function having as input data the modified passage position data list { Xp ... X ....; Xn J and the stored constraint values Cm.
[0152] The cost function is for example of the type representing fuel consumption as a function of speed, distance, altitude and its variations.
[0153] In this case, the optimization of the cost function consists of minimizing this cost function.
[0154] Document FR2304514 describes an example of an optimization algorithm that can be used to implement substep E43 in order to determine a new list of passage positions representing a trajectory Tc that satisfies the stored constraint values.
[0155] Next, the processor 210 checks, during a substep E44, whether the candidate trajectory Tc determined during the substep E43 is optimal, in other words whether this trajectory Tc minimizes the cost function and respects the values of the stored constraints Cni.
[0156] If the determined candidate trajectory Tc is optimal (reference "O" in Figure 8), then the candidate Tc is validated as the desired replanned trajectory TRppp.
[0157] Figure 9 represents an example of a replanned trajectory Tpppp obtained at the end of substep E44.
[0158] In this example, since the second position data Xp was not in the determined displacement zone Zs, another passage position data (here the position data J) was modified during substep E43 so that a replanned trajectory Tpppp satisfying the stored constraint values still exists. This replanned trajectory Tpppt is thus represented here by the following list of position data: {Xp ... jX^jX'p.. • Xn}.
[0159] If, during substep E44, the optimal solution does not exist, the processor 210 can, during substep E48, command the display and input system 50 to display an alert to the pilot. The process 100 then terminates. No command is then sent to the control device 10 of aircraft 1. Aircraft 1 maintains its initial trajectory.
[0160] According to one variant, the processor 210 can send, via the output interface 240, a request outside the aircraft 1, in order to reduce one of the constraints relating to the aircraft 1. For example, this request may concern refueling to reduce the impact of the physical constraint Co: in-flight refueling makes it possible to release the physical constraint by adding, however, a synchronization constraint to the refueling date. Another way to reduce the constraints may be to obtain distances from certain areas (borders, dwellings...).
[0161] Various alternative embodiments of the process 100 just described are detailed below.
[0162] According to a first embodiment of process 100, step E4 is carried out automatically, without the intervention of the pilot or a human operator. The other steps E0, E1, E2 and E3 are carried out in the manner described above.
[0163] According to a second embodiment of process 100, compatible with the first embodiment, the constraint value reception step E1 comprises, before the storage operation in the storage device 220, a grouping (aggregation) by the processor 210 of the received values of the physical constraint and the relative constraints in the form of groups Gq j of constraint values (with j an integer between 1 and m, m being the number of groups of constraint values formed). The other steps E0, E3, and E4 of process 100 are then implemented taking into account the constraint groups. This second embodiment makes it possible to take into account all the constraints in order to have fully accessible areas (i.e., respecting all the constraints).
[0164] The different groups Gc, j formed include, for example, a different number of constraint values. In this case, the different groups formed do not necessarily include the same constraint values. In any event, the groups Gc j formed are then different from each other. The groups Gq j formed may therefore differ in whole or in part from each other. In practice, the formation of the plurality of groups Gc, j of constraint values is carried out, for example, on the basis of conditions imposed by an operator, based, for example, on their knowledge of the aircraft 1 or the navigation environment.
[0165] According to one embodiment, not all received relative constraint values are used to form the Gc,j groups. The selection of relevant values to be used to form the Gc,j groups can be performed by artificial intelligence. For example, only constraint values relating to a 50 km radius around the initial trajectory can be retained and used to form the Gc,j groups. In another example, the constraint values not selected to form the Gc,j groups could be those relating to a boundary that the aircraft is permitted to cross.
[0166] The storage device 220 then stores the groups Gc, j of constraints formed. Thus, at the end of step El, the processor 210 has several groups GCj of constraint values to be respected (i.e. that the replanned trajectory of aircraft 1 must respect), which are particularly relevant since they have been sorted and selected.
[0167] According to a third embodiment compatible with the first and second embodiments, the method 100 includes, during substep E36 of step E3, an optional step consisting of determining a bounding box, for example a polytope, encompassing all the validated discretization position data. The processor 210 then commands the display of this bounding box to the display and input system 50, superimposed on the display of the initial trajectory. This allows the pilot to have a clearer and more comprehensive view of the determined movement area.
[0168] Figure 10 is a flowchart of a fourth embodiment of process 100 illustrated in [Fig.1]. This fourth embodiment is compatible with the first, second and third embodiments.
[0169] As shown in [Fig.10], this third embodiment of process 100 includes, compared to process 100 illustrated in [Fig.1], an optional step E5 which is implemented after step E3 and before replanning E4 of the initial trajectory.
[0170] This step E5 aims to modify another position data X 'g than the first position data Xg received during the execution of the previous step E3 (and for which a displacement zone has already been determined).
[0171] Step E5 therefore consists of reimplementing step E2 to receive this other first position data X1 g and step E3 to determine the corresponding displacement zone, before the determination E4 of the replanned trajectory.
[0172] In other words, in this embodiment, several position data are modified before determining the replanned trajectory. Thus, to determine this replanned trajectory, steps E2 and E3 are also implemented for this other first position data X'g in order to determine the corresponding displacement area.
[0173] Figure 11 represents an example of a second displacement zone Z'g associated with the passage position X2q, determined after the displacement zone Zs.
[0174] This fourth embodiment allows the pilot to have a greater number of possible modification strategies, since they have several movement zones. This therefore increases their ability to take initiative and anticipate. Furthermore, during step E4, the replanned trajectory takes into account all the determined movement zones.
Claims
1. Demands Method (100) for assisting in the replanning of the trajectory of a mobile vehicle (1) moving along an initial trajectory (TU1I) comprising a plurality of passage positions ({Xp Xa})'. The Method (100) being implemented by computer and including the following steps: - Receipt (El) of at least one constraint (Co) relating to the mobile vehicle (1), - Reception (E2) of a first position data point (Xs) associated with a passage position included in the initial trajectory (Tinjj), the process (100) further comprising, following the reception (E2) of the first position data point (Xs), a real-time determination step (E3) of at least one displacement zone (Zs) associated with the first position data point (Xs) of the initial trajectory (T), the determined displacement zone (Zs) being formed of alternative positions (XAS) to the first position data point (X5) received so as to replan the initial trajectory (T]ni) to respect at least one constraint (Co), the process further comprising the steps of: - Reception (E40) of a second position data point (Xp), - If the second position data point (X^) belongs to the determined displacement zone (Zg), the initial trajectory (T im) is replanned by replacing the first position data point (X^) with the second position data point (Xp). The replanned trajectory (TREp) depends on the plurality of passage positions of the initial trajectory, updated by replacing the first position data point with the second position data point, and satisfies at least one constraint. - If the second position data does not belong to the determined displacement zone, determination of a new trajectory depending on the plurality of passage positions of the initial trajectory, the second position data and at least one constraint, said determination being based on an adjustment of at least one position data of the plurality of passage positions of the initial trajectory.
2. Method (100) according to claim 1, wherein the determination (E3) of each displacement zone is implemented by optimization (E33) of a first cost function depending on the plurality of passage positions ({Xf X 'X^})'^^ first position data (Xq), and at least one constraint (Cq).
3. Method (100) according to claim 2, wherein the optimization is a minimization of the first cost function.
4. A method (100) according to any one of claims 1 to 3, wherein the step (E3) of determining at least one displacement zone (Zs) comprises substeps of: - Determination (E30) of an exploration zone (TE-j) comprising the first position data (y 1, - Discretization (E31) of the exploration zone (TE y) determined so as to obtain a set (D) of discretization position data (Dj), distributed in said space (TE^ - Validation (E33, E34) of at least one discretization position data (Dj) by determining an intermediate trajectory (T in which the first received position data (Xs) is replaced by the relevant discretization position data (Dj) satisfying the received constraint (Co), the displacement zone (Zs) being determined from said discretization position data (Dj).
5. Method (100) according to claim 4, wherein the determination of the intermediate trajectory is implemented by optimizing a second cost function depending on the plurality of passage positions, the first position data, the relevant discretization position data and at least one constraint.
6. Method (100) according to any one of claims 1 to 5, wherein, if the second position data belongs to the determined displacement zone, the method further comprises a replacement of the initial trajectory by the determined replanned trajectory respecting at least one constraint.
7. A system (20) for assisting in the replanning of the trajectory of a mobile vehicle moving along an initial trajectory comprising a plurality of passage positions, comprising a processor (210) configured to: - Receive at least one constraint relating to the mobile vehicle, - Receive a first position data point associated with a passage position included in the initial trajectory, - Determine in real time, following the receipt of the first position data point, at least one movement zone associated with the first position data point of the initial trajectory, the movement zone being formed by the alternative positions to the first position data point so as to replan the initial trajectory to comply with at least one constraint, - Receive a second position data point, - If the second position data point belongs to the determined movement zone,Replan the initial trajectory by replacing the first position data with the second position data, the replanned trajectory depending on the plurality of passage positions of the initial trajectory updated by replacing the first position data with the second position data and satisfying at least one constraint, and - If the second position data does not belong to the determined displacement zone, determine a new trajectory depending on the plurality of passage positions of the initial trajectory, the second position data and at least one constraint, said determination being based on an adjustment of at least one position data to the plurality of passage positions of the initial trajectory.
8. Computer program comprising instructions executable by a processor and designed to implement a method according to any one of claims 1 to 6 when such instructions are executed by the processor.