Method and device for generating the trajectory of a mobile device between a starting point and a destination point

By assigning multiple corridors with indices to each point in a three-dimensional mesh and using a total cost minimization algorithm, the method ensures that mobile device trajectories respect heading and slope constraints, optimizing mission execution and reducing computational complexity.

FR3162899A1Pending Publication Date: 2025-12-05THALES SA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
FR2024005847
Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-04
Publication Date
2025-12-05

AI Technical Summary

Technical Problem

Existing methods for generating trajectories for mobile devices fail to impose heading and slope constraints, particularly at the destination point, which are crucial for optimizing mission execution and pilot comfort.

Method used

A method and device that assign multiple corridors to each point in a three-dimensional mesh, each with an associated corridor index, allowing for the imposition of heading and slope constraints, and use a total cost minimization algorithm to calculate a trajectory that respects these constraints.

Benefits of technology

The method effectively imposes heading and slope constraints while minimizing overall travel cost, avoiding combinatorial explosion and maintaining computational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method and device for generating the trajectory of a mobile device between a starting point and a destination point. This trajectory generation method includes assigning (52), to each point of a three-dimensional mesh, a plurality of corridors, each corridor corresponding to a solid angle of arrival at that point, and having an associated corridor index, forming a set of regular nodes, each regular node being associated with a point of the mesh and a corridor index; for the destination point, the calculation (54) of a destination corridor index as a function of a heading and an arrival slope;the determination (60), by a cost minimization algorithm, of a succession of nodes from the set of regular nodes, between a starting link node associated with the starting point and a destination link node associated with the destination point and the destination corridor, and the formation (62) of a trajectory from the points of said succession of nodes. Figure for the abstract: Figure 3;
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method and device for generating the trajectory of a mobile device between a starting point and a destination point

[0001] The present invention relates to a method for generating the trajectory of a mobile device between a starting point and a destination point. The invention also relates to an associated device and an associated computer program product.

[0002] The invention is in the field of controlling the movement of mobile devices, for example aerial, marine or underwater, and in particular the generation of movement trajectories of mobile devices which respect heading and slope constraints of arrival at the destination point.

[0003] The need for trajectory generation exists for the execution of missions by such mobile devices, trajectory generation being carried out either during a planning phase of a mission to be carried out by one or more mobile devices, or dynamically during the execution of a mission, in the event of a change in certain mission conditions, requiring a modification of the parameters and therefore a new calculation of trajectories.

[0004] The invention is applicable to various types of missions, civilian or military.

[0005] For example, in the context of a filming mission to be carried out by a drone, it It is interesting to define a position and orientation that optimizes the shot, which translates into a heading and a slope of arrival at a destination point, which is a spatial point having coordinates in a spatial reference frame.

[0006] Hereafter, the term point designates a point in space, defined by coordinates in a three-dimensional spatial reference frame.

[0007] We know of methods for generating a trajectory (or path), for various types of moving objects, passing through a succession of points of a predetermined mesh of a space to be traversed, the trajectory being calculated so as to minimize an overall cost, the overall cost including the distance and other possible constraints for example to natural conditions (reliefs, currents, weather) or to imposed external conditions (e.g. passage zones, zones to avoid, or zones to be overflown for an aircraft).

[0008] In particular, algorithms for finding an optimized path, for example in the sense of a distance, in a graph whose nodes represent passage points, the succession of passage points forming the path.

[0009] For example, the A* algorithm has been used for this purpose, as well as an improved version called "sparse A*", as proposed in the article " A novel real-time penetration path planning algorithm for stealth UAV in 3D complex dynamic environment” by Z. Zhang et al, IEEE Access, July 2020.

[0010] However, known methods do not allow for imposing a heading and approach gradient at a point, particularly at the destination point, whereas in many practical applications, it is advantageous to be able to generate trajectories that respect such additional constraints in space. As explained above, depending on the mission to be accomplished, it may be critical to impose a heading and approach gradient, in addition to the destination point in space, which amounts to imposing constraints in five dimensions. Besides mission conditions, the achievable gradient for a mobile device may be constrained within a given range by technical constraints (e.g., technical limitations of the mobile device) and by pilot comfort constraints.

[0011] The invention aims to remedy the drawbacks of the prior art by proposing a method and a device for generating a trajectory in a three-dimensional space, and more particularly in the presence of heading and slope constraints, at least at the destination point.

[0012] To this end, the invention relates to a method for generating the trajectory of a mobile device between a starting point and a destination point, each of the starting and destination points having a position in a three-dimensional reference frame, the trajectory being defined by a succession of intermediate points forming part of a three-dimensional mesh, the method being implemented by a processor of a programmable computing device. This method comprises the following steps: - assign to each point of the three-dimensional mesh a plurality of corridors, each corridor corresponding to a solid angle of arrival at that point, and having an associated corridor index, forming a set of regular nodes, each regular node being associated with a point of the mesh and a corridor index, - for the destination point, obtain an associated arrival heading and arrival gradient, and calculate a destination corridor index based on said arrival heading and arrival gradient. - determine, by a total cost of travel minimization algorithm, a succession of nodes from the set of regular nodes, between a starting link node associated with the starting point and a destination link node associated with the destination point and the destination corridor, and

[0013] form a trajectory from the points of said succession of nodes.

[0014] Advantageously, the use of a plurality of corridors associated with each point, each corridor corresponding to a solid angle of arrival at that point, makes it possible to impose a constraint on the heading and the slope of arrival, in particular at the destination point. By associating a lane index with each lane and forming regular nodes, calculating a trajectory that minimizes overall cost from a set of regular nodes becomes feasible. In other words, the computational cost is controlled, and combinatorial explosion is avoided.

[0015] The method of generating the trajectory of a mobile device between a starting point and a destination point may also have one or more of the following characteristics, taken independently or according to all technically conceivable combinations.

[0016] The method further comprises, prior to the determination step, a step of adding to the set of regular nodes at least one starting link node, the starting link node having an associated mesh point located in a neighborhood of the starting point.

[0017] The determination step implements iterations to determine, from a chosen node to be processed, a successor node of the chosen node to be processed, the successor node being associated with a successor point that is part of a neighborhood of the spatial point associated with the node to be processed and with an index corridor calculated according to a direction of access to said successor point from the spatial point associated with the node to be processed.

[0018] The node to be processed having a predecessor node previously determined, the determination step implements a distance condition check, the distance condition comprising a comparison between an estimated distance traveled between the successor node and the starting point and a transition trajectory cost between the predecessor spatial point associated with the predecessor node, the spatial point associated with the node to be processed and the spatial point associated with said successor node.

[0019] The method includes, when the distance condition is verified, an update of the estimated distance traveled between the successor node and the starting point, and an update of an estimated distance to be traveled between said successor node and the destination point.

[0020] Updating the estimated distance to be travelled between said successor node and the destination point implements a distance heuristic.

[0021] The method further comprises a step of selecting a set of exit points, the exit points being points of the predetermined mesh located at a distance less than or equal to a predetermined distance from the destination point.

[0022] The method includes, when the destination point does not belong to the mesh, a step of determining at least one destination link node associated with an output point or a spatial point of one of the predecessor nodes of an output point among a predetermined number of successive predecessor nodes of an output point.

[0023] According to another aspect, the invention relates to a device for generating the trajectory of a mobile device between a starting point and a destination point, Each starting and ending point has a position in a three-dimensional reference frame, and the trajectory is defined by a succession of intermediate points forming part of a three-dimensional mesh. The device includes a processor configured to implement: - a module for assigning to each point of the three-dimensional mesh a plurality of corridors, each corridor corresponding to a solid angle of arrival at that point, and having an associated corridor index, forming a set of regular nodes, each regular node being associated with a point of the mesh and a corridor index, - a module for obtaining, for the destination point, an associated arrival heading and arrival slope, and for calculating a destination corridor index based on said arrival heading and arrival slope, - a module for determining, using a total travel cost minimization algorithm, a succession of regular nodes from the set of regular nodes, between a starting link node associated with the starting point and a destination link node associated with the destination point and the destination corridor, and - a module for forming a trajectory from the points of said sequence of nodes

[0024] According to another aspect, the invention relates to a computer program comprising software instructions which, when implemented by a programmable electronic device, implement a method for generating the trajectory of a mobile device between a starting point and a destination point to carry out a mission as briefly described above.

[0025] Other features and advantages of the invention will become apparent from the description given below, by way of example and not limitation, with reference to the accompanying figures, among which:

[0026] [Fig-1] [Fig.1] schematically illustrates a mobile device guidance system including a device for generating trajectory(ies) according to an embodiment;

[0027] [Fig.2] [Fig.2] schematically illustrates a two-dimensional point mesh and a corridor associated with a point P;

[0028] [Fig.3] [Fig.3] is a flowchart of the main steps of a process of generation of trajectory(ies) according to a mode of realization;

[0029] [Fig.4] [Fig.4] schematically illustrates a starting point and a plurality of associated starting connection points;

[0030] [Fig. 5] [Fig. 5] schematically illustrates a destination point and a plurality of associated connection points;

[0031] [Fig.6] [Fig.6] is a flowchart of the main steps in determining the trajectory nodes according to an embodiment mode;

[0032] [Fig.7] [Fig.7] is a flowchart of the main steps in determining the output connection nodes according to one embodiment.

[0033] Fig. 1 schematically illustrates an example of a guidance system 2 for a mobile device 4 in which the invention is applied.

[0034] The mobile device 4 is, for example, an aircraft, of the type with or without a pilot on board, and more particularly a mobile device 4 without a pilot on board or drone.

[0035] The mobile device has movement constraints, which are either due to mechanical or aerodynamic limitations, or due to limitations of acceptability for the pilot or for the mission performed.

[0036] In the guidance system 2, the mobile device 4 receives guidance commands from a trajectory generation device 6, which is a programmable electronic device.

[0037] For example, the trajectory generation device 6 is located in a ground-based computing center, and the guidance commands are communicated to the mobile device 4 via a wireless communication link. Alternatively, the computing device 6 is carried by the mobile device 4.

[0038] The trajectory generation device 6 is configured to calculate one or more trajectories according to the trajectory generation method described in more detail below.

[0039] For example, trajectory generation is carried out as part of mission planning for the mobile device 4.

[0040] Mission planning involves taking into consideration numerous operational and environmental constraints.

[0041] According to one variant, the generation of trajectory(s) is carried out dynamically during the mission, following a change in mission conditions.

[0042] The trajectory generation device 6 is configured to generate one or more trajectories for a mobile device.

[0043] In one embodiment, a trajectory is generated between a starting point and a destination point, with predetermined constraints of arrival heading and / or arrival slope at the destination point.

[0044] In another embodiment, several trajectories are generated between a starting point and several destination points with predetermined constraints of arrival heading and arrival slope at the destination point, or a single destination point but several predetermined constraints of arrival heading and arrival slope at the destination point.

[0045] The presence of arrival heading constraints and / or arrival slope constraints at the starting point and / or destination point is not necessary.

[0046] It is understood that the trajectory generation device 6 is configured to generate one or more trajectories, between one or more starting points and one or more destination points.

[0047] Subsequently, the description of the generation of a trajectory between a starting point and a destination point will be described in more detail, it being clear that there is no difficulty in achieving the generation of multiple trajectories by applying the process described below.

[0048] A trajectory is defined by a list of passage points, the points being defined by spatial coordinates in a given three-dimensional spatial reference frame, and by a path, for example modelable by straight lines / curves, between the successive points.

[0049] The mobile device 4 includes in particular an on-board computer 8 and a motion control system 10. For example, the on-board computer 8 transforms the trajectory into guidance commands, for example longitudinal acceleration commands, rudder movements etc., which are transmitted to the motion control system 10.

[0050] The trajectory generation device 6 is for example a computer system composed of one or more programmable electronic devices, i.e. computers.

[0051] To simplify the explanation, the trajectory generation device 6 is considered to be a programmable electronic device comprising a processor 12 and an electronic memory unit 14, a communication interface 16 and a human-machine interface 18, adapted to communicate via a communication bus 11.

[0052] The electronic memory unit 14 is configured to store a three-dimensional mesh 20, for example regular, and a cost map 22 associated with the mesh 20 and previously calculated.

[0053] For example, each regular mesh is a cube of predetermined side d, whose corners are spatial points of the mesh, taken into consideration to form the trajectory or trajectories.

[0054] For example, the cost map associates a crossing cost with each transition between cells of the three-dimensional mesh 20, the cost taking into account constraints (for example terrain or threats).

[0055] Processor 12 is configured to implement:

[0056] - a module 24 for assigning, to each mesh point, a plurality of corridors, each corridor corresponding to a solid angle of arrival at that point, and having an associated corridor index, forming a plurality of regular nodes;

[0057] - a module 26 for calculating a destination corridor index associated with the point destination, depending on a given arrival heading and arrival slope at the destination point;

[0058] - a module 28 for determining by a total cost minimization algorithm of a route, a succession of regular nodes, between a starting link node and a destination link node associated with the destination point and the destination corridor and

[0059] - a module 30 for forming a trajectory 35 from the points of said succession of nodes.

[0060] Optionally, the processor 12 is further configured to implement a module 32 for generating starting and destination link nodes.

[0061] The calculated trajectory or trajectories 35 are stored in the electronic memory unit and optionally displayed on a human-machine interface (not shown).

[0062] Modules 24, 26, 28, 30, 32 are adapted to cooperate, as described in more detail below, to implement the method of generating the trajectory of a mobile device between a starting point and a destination point according to the invention.

[0063] In one embodiment, modules 24, 26, 28, 30, 32 are implemented in the form of software instructions forming a computer program, which, when executed by a computer, implements a trajectory generation method according to the invention.

[0064] In an alternative not shown, modules 24, 26, 28, 30, 32 are each implemented as programmable logic components, such as FPGAs (Field Programmable Gate Arrays), microprocessors, GPGPUs (General-Purpose Processing on Graphics Processing) components, or dedicated integrated circuits, such as ASICs (Application-Specific Integrated Circuits).

[0065] The computer program comprising software instructions is further capable of being stored on a computer-readable medium, not shown. A computer-readable medium is, for example, a medium capable of storing electronic instructions and being connected to a bus of a computer system. For example, a readable medium is an optical disc, a magneto-optical disc, a ROM, a RAM, any type of non-volatile memory (e.g., EPROM, EEPROM, FLASH, NVRAM), a magnetic card, or an optical card.

[0066] Figure 2 schematically illustrates, in a plane, a two-dimensional mesh regular 40, whose meshes are square, whose corners are the points belonging to the two-dimensional mesh 40, comprising a point P and a corridor Cor(c) of arrival at point P, referenced by the reference 42.

[0067] It is clear that the representation in [Fig. 2] is a projection onto a plane of a three-dimensional mesh and a three-dimensional corridor (solid angle). The mesh 40 is therefore a 2D representation of a three-dimensional mesh 20.

[0068] The points A, B, C, D, E, F, G, H, I, J, K are points of the mesh 40, which are located within a given distance range from point P, or in other words in a neighborhood of P and allowing arrival at point P in the corridor Cor(c).

[0069] The neighborhood of a point P of the mesh is formed by the points of the mesh located at a distance of L±ô from the point P, the margin ô being able to be equal to 0.

[0070] For example, if L=d, d being the pitch of the regular mesh, ô=0.

[0071] To subsequently perform a search for an optimized cost trajectory, the distance L is preferably chosen to be greater than d, in order to reduce the computational combinatorial possibilities.

[0072] The choice of the value L depends on the constraints related to the maneuverability of the mobile device, for example L is between 3 and 5 times the minimum turning radius of the mobile device.

[0073] Systematically, for each point P of the mesh, a plurality of associated corridors are defined, each corridor forming a solid angle of arrival at point P.

[0074] In other words, the portions of the arrival sphere at a point P are discretized into NaxNp corridors, where Nad denotes a number of azimuth intervals and Np the number of slope or elevation intervals.

[0075] For a given direction, the heading is associated with an azimuth angle and the slope is associated with an elevation angle.

[0076] When the mobile device arrives at a point P in a direction represented by a vector D^dx dy dz)' is 'c transition vector from a predecessor point of P to point P, the corresponding azimuth angle a is calculated by: If [Math.l] dx = dy = 0 [Math.l] a = 0 - Otherwise : • If dy = 0 • a = if dx > 0 • « = - f otherwise • If dy * 0, a - atan2(i / x / dy)

[0077] Where atan() denotes the arctangent function.

[0078] The corresponding elevation angle8 is calculated by: If [Math.2] dx-dy-Q •> £ = y if dz > 0 - e = - otherwise Otherwise é. = atan / ^\ \ \jdx '+i / y I

[0079] Then, from the respective azimuth and elevation angles, associated indices can be calculated.

[0080] Indeed, considering a range of [0,2tt] for the azimuth angles, this range is divided into Na intervals of the same width da;

[0081] [Math.3] da = xr iy a

[0082] The index ia corresponding to an azimuth angle a is calculated by:

[0083] [Math.4] h = E(iJ

[0084] Where E() is the "integer part" operator.

[0085] Considering a range of elevation angles between a minimum slope value pmin and a maximum slope value pmax, the range being divided into Np intervals of equal length, we define:

[0086] [Math.5] • Pmax Pmin dp = -~NT~

[0087] The index i? corresponding to an elevation angle e is calculated by:

[0088] [Math.6] ls - \ dp /

[0089] Thus, to the vector J)^dx, dy. dz) of arrival at a point P is associated a corridor of respective indices of azimuth ia and of elevation h.

[0090] A corridor index c is calculated using the formula:

[0091] [Math.7] c = iax Np + ie

[0092] A unique corridor index c is bijectively associated with a pair of respective azimuth ia and elevation h indices, knowing Na and Np.

[0093] The total number of arrival lanes at a given point P is: NC = Na X Np.

[0094] Thus, to each point of a predetermined point mesh, each point having spatial coordinates in the 3D reference frame, we associate Nc corridors.

[0095] Figure 3 is a synoptic diagram of the main steps in a process for generating trajectory of a mobile device between a starting point and a destination point, according to a particular embodiment.

[0096] The process receives as input parameters (initialization step 50), which are respectively a three-dimensional mesh of the space in which the mobile device evolves, an associated cost map, a distance L defining a neighborhood for the search for successive points of the trajectory, minimum slope values ​​pmin and maximum slope values ​​pmax, and discretization values ​​Na, Np of the arrival corridors at each point.

[0097] In addition, the spatial coordinates of the starting point DI and destination point D2, an arrival slope P_dest and an arrival heading Cap_dest at the destination point. For the starting point, an associated heading and slope are defined.

[0098] The method includes a step 52 of forming a set of regular nodes, comprising assigning to each point of the three-dimensional mesh a number Nc of corridors, each corridor corresponding to a solid angle of arrival at that point, and having an associated corridor index. Each regular node is associated with a point of the mesh and a corridor index.

[0099] For Nm points of the mesh and Nc corridor indices, we obtain NmxNc regular nodes.

[0100] The trajectory calculation will be carried out on the set of regular nodes, taking into account both the spatial position of the points and the associated corridor indices.

[0101] The method further includes a step 54 of calculating a corridor index associated with the destination point, called the destination corridor index.

[0102] The method further includes a step 56, of adding at least one starting connection node. When the starting point DI belongs to the mesh, the starting connection node is associated with the starting point. When the starting point DI does not belong to the mesh, step 56 comprises several substeps.

[0103] Figure 4 schematically illustrates a scenario in which the starting point DI is not a point of the predefined regular mesh.

[0104] It is advantageous not to recalculate a mesh in such a case.

[0105] Thus, in one embodiment, one of the points of the mesh, referenced O in [Fig.4], is selected. The point O is a point in the neighborhood of the starting point Dl, i.e. located at a distance close to the distance L of DL. For example, the point O is the point in the neighborhood of Dl located in the direction closest to the desired starting direction, indicated by the arrow F in [Fig.4].

[0106] The node formed by the point O and the corridor index c calculated as a function of the direction F is the starting link node when added in the regular set of nodes.

[0107] In the absence of a desired departure direction, at step 56, several starting link nodes are added, corresponding to all points in the neighborhood Ob O2,.. .0 T of the starting point Dl, with the associated corridor indices, each of these starting link nodes corresponding to a possible starting point of trajectory to be explored.

[0108] The method further includes an optional step 58 of adding points called output points. Step 58 is implemented when the destination point D2 does not belong to the predetermined mesh.

[0109] The exit points are points S, for example all points of the mesh located at a distance less than or equal to a predetermined distance ds from the destination point D2.

[0110] Figure 5 schematically illustrates a destination point D2 which is not one of the points of the predetermined mesh 40, and points S which are output points around the destination point D2, located, in 1' at a distance less than or equal to 3 xd, d being the step of the regular mesh, forming a square of 6x6 output points around the destination point D2 in this example.

[0111] The use of exit points will be described in more detail below.

[0112] The process then implements a step 60 of determining, by a total cost of travel minimization algorithm, a succession of regular nodes, between a linking node associated with the starting point and a linking node associated with the destination point.

[0113] An embodiment of determining a link node associated with the destination point or destination link node will be described below with reference to [Fig.7].

[0114] The total cost of travel minimization algorithm implements a function associating a spatial point with a minimum bound of the total integrated cost remaining to be travelled to the destination point, such a function also being called a "distance heuristic".

[0115] In one embodiment, the distance heuristic used is the straight-line distance between the point considered and the destination point, multiplied by a minimum linear cost taking into account dynamic constraints and possible obstacles.

[0116] Alternatively, other strategies are conceivable, for example taking into account the absolute turning radius, as proposed in the article "Enhanced sparse A* searchfor U AV path planning using Dubins path estimation" by Z. Wang et al, 2014, IEEE.

[0117] The process finally includes a step 62 of forming a trajectory from the points of said succession of nodes.

[0118] An embodiment of step 60 will be described below with reference to Figures 6 and 7.

[0119] Figure 6 illustrates one embodiment of a cost minimization algorithm total traversal in a set of nodes comprising regular nodes and a starting connecting node, implementing a sparse search.

[0120] The method includes an initialization step 70, in which for each regular node, an estimated distance D_est to the destination point, also called the estimated distance to travel, is initialized to a maximum value, and the estimated distance to the destination point associated with the starting link node is initialized by the chosen distance heuristic.

[0121] The method then includes a loop traversing all the nodes of the node set until a loop termination condition is met.

[0122] Thus, the process includes a step 72 of selecting a node of index np q, called the node to be processed, corresponding to a spatial point Q and having an associated corridor of index Cpq, whose estimated distance D_est to the destination point is the smallest.

[0123] It is then checked whether a termination condition is met (step 74), the termination condition being met if the node to be processed is a node associated with the destination point or if all other nodes in the set of nodes have been processed.

[0124] If the termination condition is met, step 74 is followed by a termination step 76.

[0125] If the termination condition is not met, step 74 is followed by a step 78 of determination of the predecessor node of the node with index np q, and in particular of the spatial point P predecessor of the spatial point Q.

[0126] For each point R neighboring Q, called a successor point of Q, the neighborhood being defined by the predetermined distance L (step 80), the process includes a calculation 82 of a transition trajectory between the points P, Q and R, denoted [P,Q,R] and of a transition cost [P,Q,R], denoted Cost_PQR. If the transition trajectory is not acceptable, the next neighbor is selected.

[0127] If the transition trajectory is acceptable, calculation 82 is followed by a step 84 of calculation of a corridor index of the transition from Q to R, denoted Cqr and an associated node index.

[0128] For example, the node index is calculated as a function of an index r of point R in the predetermined mesh and the corridor index Cqr by the formula:

[0129] [Math.8] nqr = rx Nc + Cqr

[0130] The method then includes a check 86 of a distance condition.

[0131] The distance condition is:

[0132] [Math.9] Distance (n^r) > Distance (n^) + Cost_PQR

[0133] The term Distance() corresponds to an estimate of the distance traveled between the node in question and the starting point. As indicated by the calculation above, the term Distance() includes a transition cost Cost_PQR (or travel cost).

[0134] If the distance condition is not met, step 86 is followed by step 80 previously described.

[0135] If the distance condition is met, the process then includes a step 88 of updating the node with index nrq, consistency in updating its distance traveled, relative to the starting point:

[0136] [Math. 10] Distance (nqr) = Distance (npq) + Cost_PQR

[0137] The node predecessor is memorized; it is the node with index npq associated with the spatial point Q.

[0138] The estimated distance to travel from the associated destination node is also updated:

[0139] [Math. 11] D_est^ = Distance ( nqr ) + Heuristic^Rj

[0140] Where Heuristic() is the previously chosen distance heuristic function, for example the straight-line distance to the destination point.

[0141] When an exit point is reached, the steps described below with reference to [Fig.7] for determining at least one destination link node are implemented.

[0142] The corridor index associated with the vector linking the exit point S and the destination point is calculated in step 90 and compared to the exit index in step 92 to determine whether the destination point D2 is accessible from the exit point via the previously calculated destination corridor.

[0143] If the lane indices are identical (i.e., comparison 92 is positive), the process returns to trajectory formation step 62.

[0144] In the event of a negative comparison, in other words if the destination point D2 is not reachable from the output point S, step 92 is followed by a loop (iteration 94) until a Counter variable, previously initialized to 0, reaches a predetermined value Cmax. For example, Cmax=3, this value indicating the number of predecessor nodes tested.

[0145] Fig. 5 illustrates an exit point D, which does not allow reaching the destination point D2 via the destination corridor 42. Subsequently, the predecessors C, B and A are traversed in order to select a destination link node.

[0146] Indeed, step 94 is followed by a step 96 of passage to the next predecessor spatial point, associated with the next predecessor node. In the example of [Fig. 5], the predecessor of the exit point D is point C, the predecessor of point C is point B, and the predecessor of point B is point A.

[0147] We use the generic notation N for the next predecessor, associated with a node of node index n.

[0148] The corridor index Cnd2 of the transition from N to the destination point D2 is calculated (step 98) and compared to the exit corridor index (step 100). If the corridor indices are distinct, step 100 is followed by step 94, with the Counter variable being incremented.

[0149] If the corridor indices are identical, or in other words if the destination point is reachable from the spatial point N by the destination corridor, then step 100 is followed by a step 102 of calculation of the cost of the transition trajectory CMnd2 between the predecessor point M of N, the point N and the point D2, and of creation and storage (step 104) of a destination link node.

[0150] The destination link node has the node associated with point N as its predecessor, and an estimated distance from the associated starting point, calculated as a function of the cost of the CMND2 transition path according to formula [MATH 10].

[0151] Step 104 is followed by step 94, with the Counter variable being increased.

[0152] To complete the explanation, with reference to [Fig. 5], the preceding points C and B are associated with exit link nodes S° and S1, a respective transition from C or B to destination point D2 passing through exit corridor 42.

[0153] Of course, the embodiments described above have been described by way of example only, other variants within the reach of a person skilled in the art being conceivable.

[0154] Advantageously, the proposed method allows trajectories to be calculated without a significant increase in computational complexity, including when the starting point and / or the destination point is not a point in the mesh, because the mesh is not recalculated.

[0155] Advantageously, the proposed method makes it possible to respect a constraint on the heading and the arrival slope, in particular at the destination point, while minimizing the total cost of the journey.

[0156] The trajectory generation device provides advantages similar to the advantages of the trajectory generation method described.

Claims

Demands

1. A method for generating the trajectory of a mobile device between a starting point (D1) and a destination point (D2), each of the starting and destination points having a position in a three-dimensional reference frame, the trajectory being defined by a succession of intermediate points forming part of a three-dimensional mesh, the method being implemented by a processor of a programmable computing device and being characterized in that it comprises the steps of: - assigning (52) to each point of the three-dimensional mesh a plurality of lanes, each lane corresponding to a solid angle of arrival at that point, and having an associated lane index, forming a set of regular nodes, each regular node being associated with a point of the three-dimensional mesh and a lane index, - for the destination point,to obtain an associated arrival heading and arrival slope and calculate (54) a destination corridor index as a function of said arrival heading and arrival slope, - to determine (60), by a total travel cost minimization algorithm, a sequence of nodes from the set of regular nodes, between a starting link node associated with the starting point and a destination link node associated with the destination point and the destination corridor, and - to form (62) a trajectory from the points of said sequence of nodes.

2. A method according to claim 1, further comprising, prior to the determination step (60), a step of adding to the set of regular nodes at least one starting link node, the starting link node having a point of the associated three-dimensional mesh located in a neighborhood of the starting point.

3. A method according to any one of claims 1 or 2, wherein the determination step (60) implements iterations to determine, from a chosen node to be processed, a successor node of the chosen node to be processed, the successor node being associated with a successor point forming part of a neighborhood of the spatial point associated with the node to be processed and to a corridor of index calculated according to an access direction to said successor point starting from the spatial point associated with the node to be processed.

4. A method according to claim 3, wherein, the node to be processed having a previously determined predecessor node, the determination step (60) implements a distance condition check (86), the distance condition comprising a comparison between an estimated distance traveled between the successor node and the starting point and a transition trajectory cost between the predecessor spatial point associated with the predecessor node, the spatial point associated with the node to be processed and the spatial point associated with said successor node.

5. A method according to claim 4, comprising, when the distance condition is met, an update (88) of the estimated distance traveled between the successor node and the starting point, and an update of an estimated distance to be traveled between said successor node and the destination point.

6. A method according to claim 5, wherein the update (88) of the estimated distance to be traveled between said successor node and the destination point implements a distance heuristic.

7. A method according to any one of claims 1 to 6, further comprising a step of selecting (58) a set of exit points, the exit points being points of the three-dimensional mesh located at a distance less than or equal to a predetermined distance from the destination point.

8. A method according to claim 7, comprising, where the destination point does not belong to the three-dimensional mesh, a step of determining at least one destination link node associated with an output point or a spatial point of one of the predecessor nodes of an output point among a predetermined number of successive predecessor nodes of an output point.

9. A computer program comprising software instructions which, when executed by a programmable electronic device, implement a method for generating the trajectory of a moving device between a starting point and a destination point in accordance with claims 1 to 8.

10. Trajectory generation device for a mobile device (4) between a starting point and a destination point, each of the points starting and ending points having a position in a three-dimensional reference frame, the trajectory being defined by a succession of intermediate points forming part of a three-dimensional mesh, the device comprising a processor characterized in that it is configured to implement: - a module (24) for assigning to each point of the three-dimensional mesh a plurality of corridors, each corridor corresponding to a solid angle of arrival at that point, and having an associated corridor index, forming a set of regular nodes, each regular node being associated with a point of the three-dimensional mesh and a corridor index, - a module (26) for obtaining, for the destination point, an associated arrival heading and arrival slope, and for calculating a destination corridor index as a function of said arrival heading and arrival slope, - a module (28) for determining, by a total travel cost minimization algorithm, a succession of nodes from the set of regular nodes, between a starting link node associated with the starting point and a destination link node associated with the destination point and the destination corridor, and - a module (30) for forming a trajectory from the points of said succession of nodes.

Citation Information

Patent Citations

  • Targeted Marching

    US20080091340A1

  • Navigation based on multi-agent interest diffusion

    US20210025716A1