Conflict detection and resolution between moving objects

Abstract: A machine-implemented method for detecting and resolving conflict between a plurality of objects on trajectories in space. A two-dimensional representation is generated which depicts the trajectory of one of the objects and the times remaining until conflict of said one object with front and back limiting trajectories, respectively, of at least one other of the objects. An indication of potential conflict is displayed on said representation when the trajectory of said one object is between the front and back limiting trajectories of said other object. The front and back limiting trajec­ tories for each such other object are calculated by enclosing a preselected protected airspace about said one object in an imaginary parallelogram having one set of sides parallel to the trajectory of said one object and the other set of sides parallel to relative velocity of such other object with respect to said one object. The sides parallel to said relative velocity depict the times, respectively, during which said one object will be closest to the protected airspace just touching it from the front and closest to the back of said protected airspace without touching it. Conflict is resolved by diverting said one object by an appropriate maneuver to a conflict-free path in which the trajectory of said one object no longer lies between the front and back limiting trajec­ tories of any other object.

Description: This invention relates to methods for avoiding conflicts between multiple objects as they move in space on potentially conflicting trajectories, and relates more particularly to methods for early detection and resolution of such conflicts. Background of the Invention U. S. Serial No. 07/022,832, filed March 6, assigned to the assignee of the present invention, (EPA 283723) describes a method of displaying position and motion information of N variables for an arbitrary number of moving objects in space using a processor-controlled two-dimensional display. As illustrated, the display comprises a velocity axis and orthogonal thereto four parallel equally spaced axes. One of these four axes represents time and the other three the x, y and z spatial dimensions. On this two-dimensional display the trajectories of the objects to be monitored, such as aircraft, are depicted and their positions can be found at a specific instant in time. The plot for the position of each such object comprises a continuous multi-segmented line. If the line segments for the x, y, and z dimensions overlie each other for any two of the respective objects, but are offset in the time dimension, the objects will pass through the same point but not at the same time. Collision of the objects is indicated when line segments representing the time, x, y, and z dimensions for any two of the objects completely overlie each other. When the plot for the respective objects indicates a potential conflict, the user, such as an Air Traffic Control (ATC) controller, has the trajectory of one of the objects modified to avoid collision. This method desirably provides a display of trajectory data to assist the user in resolving conflict; but it does not provide conflict detection as early as desirable in this age of fast moving aircraft. S. Hauser, A.E. Gross, R.A. Tornese (1983), En Route Conflict Resolution Advisories , MTR-80W137, Rev. 2, Mitre Co., McLean, Virginia, discloses a method to avoid conflict between up to five aircraft where any one has a trajectory conflicting with that of the remaining four. Said method and also pair-wise and triple-wise resolution methods heretofore proposed resolve conflicts subset by subset, which leads to high complexity due to the need for rechecking and can result in worse conflicts that those resolved. US 4063073 teaches a system whereby each aircraft is surrounded by an imaginary spherical airspace. The parameters of the airspace associated with each aircraft are then compared with the parameters of the airspace of all the other aircraft in order to detect potential conflict. There is a need for a global (rather than partial) method of avoiding conflict and maintaining at least a desired degree of separation between a plurality of objects, such as aircraft, robot parts or other elements moving in respective trajectories in space. In other words, there is a need for a method which provides earlier detection of potential conflict, concurrently resolves all conflicts between all the objects, and provides instructions whereby conflict can be avoided with minimial trajectory changes of the involved objects. Summary of the Invention The present invention is defined in the attached claims. Towards this end and according to the invention, a processor-implemented method is described for detecting and resolving conflict between a plurality of aircraft or other objects on potentially conflicting trajectories in space. A two-dimensional graph generated on a processor-controlled display depicts the trajectory of one of the aircraft and also front and back limiting trajectories of the remaining aircraft. These limiting trajectories are calculated by enclosing said one aircraft in respective parallelograms, each of which just encloses a preselected protected airspace by which said one aircraft is to be separated from a corresponding one of the remaining aircraft. Each parallelogram has one set of sides parallel to the trajectory of said one aircraft and the other set of sides parallel to the relative velocity of a respective one of said remaining aircraft with respect to said one object. Potential conflict of said one aircraft with any other aircraft is indicated if the depiction of the trajectory of said one aircraft falls between the front and back limiting trajectories of any other aircraft. Conflict is avoided by diverting said one aircraft by an appropriate maneuver to a conflict-free path, preferably parallel to and a minimal distance from its original heading, and in which the path's depiction on the graph does not fall between the front and back limiting trajectories of any other aircraft. The conflict-free path and necessary maneuver are selected from preselected conflict-avoidance routines stored in memory and taking into account the performance characteristics and time required for such maneuver by each type of aircraft. If conflict cannot be resolved by diverting said one aircraft, the various steps are recursively repeated by the processor by substituting, for said one aircraft, each other aircraft whose position has prevented such resolution toward identifying maneuver(s) by which conflict can be resolved. Brief Description of the Drawings Fig. 1 is a schematic diagram depicting how front and back limiting trajectories of a selected object with respect to the trajectory of a given object are determined; Fig. 2 is a schematic diagram depicting the front and back limiting trajectories for the selected object expressed in parallel coordinates; and Fig. 3 is a graph depicting the trajectory of one object (AC₁) with respect to the front and back limiting trajectories of other objects (AC₂-AC₆) on potentially conflicting courses with said one object. Description of Preferred Embodiment Introduction The term "conflict" as herein used, is defined as occurring when a preselected protected airspace enveloping one object is isolated by another object. The term "trajectory", as herein used, connotes the position of an object as a function of time; whereas the term "path" is the line in space on which the object moves without reference to time. This invention will be described, for sake of simplified illustration, in the context of methods of avoiding conflict between objects in the form of multiple aircraft and maintaining at least a desired preselected degree of separation between them as they move in respective trajectories in space. There are two methods of conflict detection in two dimensions where two objects are to be maintained separated by a distance R. Each object may be centered in a circle with a radius R/2, in which case to maintain separation the circles must not intersect but may just touch. Alternatively, one object may be centered in a circle with a radius R, in which case the separation distance R will be maintained so long as the trajectory of any other object does not intersect said circle. The invention will be implemented using this alternative method because it simplifies the equations that must be solved. Conflict will occur when, and during the times that, the circle of radius R connoting protected airspace around said one object is penetrated by the trajectory of any other object. Actually, as will be seen presently there are two limiting trajectories (front and back) for each such other object. According to a preferred form of the invention, parallel coordinates are used in a unique way to express as conflict resolution intervals (CRI), the trajectory of one object (aircraft AC₁) with respect to the trajectories of other objects (aircraft AC₂-AC₆) on a two-dimensional graph. The graph assists the user in selecting for said one object a conflict-free path parallel to the original one. CRI provides an earlier prediction of impending conflict than heretofore achieved with prior art methods. Determining Front and Back Limiting Trajectories Assume initially that, as illustrated in Fig. 1, a circle 10 is centered about an aircraft AC i moving with a velocity V i ; that said circle envelopes and defines protected airspace of preselected shape and size which is not to be violated, such as an airspace having a radius of 5 nm corresponding to the standard in-flight horizontal separation distance prescribed by the ATC; and that an aircraft AC k is moving with a velocity V k . Under the assumed condition, V r , the relative velocity of AC k relative to AC i , is V k -V i . The two tangents to circle 10 in the V i direction complete a parallelogram 11 that just encloses circle 10 around AC i . Parallelogram 11 serves an important role in connection with the invention. Assume now that a point along line B ik enters parallelogram 11 at vertex P₂. Under this assumed condition, the point will leave from vertex P₃, because the point travels in the direction of the relative velocity, V k -V i . Thus the point along B ik is the closest it can be just touching the circle 10 around AC i from the back. Similarly, a point along line F ik which enters at vertex P₁ is the closest that said point can be to AC i and pass it from the front without touching circle 10, because the point will leave from vertex P₄. If any point between lines B ik and F ik moving at velocity V k intersects the parallelogram between points P₂ and P₁, it must necessarily hit the protected airspace (circle 10) around AC i . Hence, B ik and F ik are the back and front limiting trajectories, respectively, of P k that indicate whether or not there will be a conflict. Note that the actual distance between b o / ik and AC k depends upon the angle the path of AC k makes with X2. Note also that the parallelogram 11 will actually be a square if the relative velocity and AC i are on orthogonal paths. The locations of P₁, P₂, P₃ and P₄ and the times t₁, t₂, t₃, t₄, from t=0 during which AC k will be in conflict with AC i are computed as explained in Appendix A. The information in Fig. 1 on the back and front limiting trajectories B ik and F ik may also be represented, as illustrated in Fig. 2, using parallel coordinates as heretofore proposed in the above-cited copending application. As described in said application, the horizontal axis in Fig. 2 represents velocity and T, X1 and X2 represent time and the x and y (e.g., longitude and latitude) spatial dimensions, respectively. (X3, the z dimension, is not included, for sake of simplified illustration. It will hereafter be assumed that all objects are at the same elevation; i.e., all aircraft AC₁-AC₆ are at the same altitude, for that is one of the test cases, referred to as "Scenario 8", that the U. S. government has established for a proposed Automatic Traffic Control System.) In Fig. 2, the horizontal component at (T:1) between T and X1 represents the velocity of AC k , and (1:2) represents the path of AC k ; i.e., how the x dimension X1 changes relative to the y dimension X2. At time t=0 on the time line T, p o / ik and p o / 2k on the X1 and X2 lines, respectively, represent the x and y positions of AC k , The line 12 extends through p o / ik and p o / 2k to (1:2) to depict the path of AC k . B ik and F ik depict the back and front limiting trajectories of AC k relative to AC i as converted from Fig. 1 using the equations in Appendix A. Conflict Resolution Intervals Assume now that conflict is to be resolved between aircraft AC₁ and five other aircraft, AC₂-AC₆. The back and front limiting trajectories of AC₂-AC₆ at point (1:2) are depicted, according to the invention, on the CRI graph (Fig. 3). The vertical scale is units of horizontal distance. The horizontal lines F and B represent the front and back limiting trajectories for aircraft AC₂-AC₆ and are obtained by the method illustrated in Fig. 2 for t Bik and t Fik at point (1:2). As illustrated in Fig. 3, the path of AC₁ lies between the front and back limiting trajectories of both AC₂ and AC₃; and hence AC₁ is in conflict with only these aircraft. Fig. 3 also depicts at any given instant the CRI; i.e., the time intervals computed using the equations in Appendix A during which conflict will occur and for which conflicts must be resolved. For example, at point (1:2), as illustrated, the CRI for which conflict must be resolved between AC₁ and the front of AC₂ is between 207.6 and 311.3 seconds from that instant in time; and hence conflict can be avoided if AC₁ passes the front of AC₂ before 207.6 or after 311.3 seconds from said instant. However, as will be seen from Fig. 3, this will not avoid conflict of AC₁ with AC₃. The closest trajectory for AC₁ that will avoid conflict with both AC₂ and AC₃ is passing in front of AC₃ prior to the indicated CRI of 200.1 seconds. If and when this maneuver is executed, the point (1:2) representation of the path of AC₁ will be moved down the vertical line to a location below AC 3B , the back limiting trajectory of AC₃, and conflict will have been resolved by placing AC₁ on a conflict-free trajectory 13 (denoted by dash lines) parallel to its original trajectory. It will thus be seen that, in event of conflict, the closest conflict-free trajectory for a particular aircraft under examination is achieved by diverting it in a single appropriate maneuver to a trajectory that is parallel to its original trajectory and, as depicted in Fig. 3, is not within the F and B limiting trajectories of any other aircraft. The particular types of aircraft involved and their closing velocities will already have been programmed into the ATC processor from the aircraft identification and transponder information provided to ATC. The preferred evasive maneuvers for each type of aircraft, taking into account its performance characteristics and the time required, will have been precomputed, modeled and tested for feasibility to generate a library of maneuver routines which are stored in memory to resolve conflict under various operating conditions, such as closing velocities. The processor will cause the appropriate one of these routines to be displayed for the particular conflict-resolving evasive maneuver taking into account the respective aircraft types and operating conditions. All routines will be based upon the involved aircraft having the same velocity at completion of the maneuver as it had upon its inception, although the interim velocity may be somewhat greater depending upon the degree of deviation from a straight line path. Thus the position of (T:1) in Fig. 2 will be the same at the end of the maneuver as it was at the beginning because the velocity of the involved aircraft at the end will have been restored to that at the beginning of the maneuver. The Conflict Resolution Algorithm Resolution means that no aircraft is in conflict with any other aircraft. The conflict resolution algorithm embodying the invention is processor-implementable in one or two stages. Stage 1 The rules for Stage 1 are that when a pair of aircraft is in conflict only one of the aircraft can be moved at a time and only one maneuver per aircraft is allowed to resolve the conflict. 1. Examine the trajectory of one aircraft at a time, preferably according to a preestablished processor-stored conflict priority list based on aircraft types and conditions. 2. Calculate parallelograms (like 11) of other aircraft with respect to said one aircraft, as illustrated in Fig. 1, using the equations in Appendix A. 3. Determine limiting trajectories from said parallelograms in parallel coordinates as illustrated in Fig. 2. 4. Plot these trajectories as CRIs on the CRI graph together with the position of said one aircraft, as illustrated in Fig. 3. 5. List potential conflict resolutions sorted in increasing order of distance of said one aircraft's trajectory from those of the others. 6. Drop from the list of potential conflict resolutions those which are outside of the protected airspace (e.g., 5 nm in the horizontal direction, which as earlier noted is the preselected separation distance established by ATC). 7. Starting from the top of the list, generate for each aircraft in succession a CRI graph of the type shown in Fig. 3. (a) If no potential conflict is indicated (such as if the path of AC₁ in Fig. 3 had been below "150"), move down the list. (b) If conflict for a particular aircraft is indicated, obtain from a suitable database an avoidance routine for that aircraft type and the condition involved; then calculate the appropriate maneuver for that aircraft and enter the new trajectory of said aircraft into the database. The current implementation of this Stage 1 level has complexity O(N² log N) and is very strongly dependent on the order (i.e., permutations of N) in which the aircraft are inputted into the processor. Nonetheless, in an actual simulation, this stage level successfully resolved a conflict involving four out of the six aircraft in Scenario 8 with two rather than the three maneuvers that an expert air traffic controller used to resolve the same conflict. (c) If conflict for any aircraft on the list cannot be resolved, proceed to Stage 2. Stage 2 In Stage 2, the rules permit two or more aircraft to be moved simultaneously to resolve conflict but only one maneuver per aircraft is allowed. If conflict has not been resolved by Steps 1 to 7, then: 1. Using the CRI graph, determine which aircraft prevent conflict with the aircraft under examination from being resolved. In other words, find one potential conflict resolution which belongs to the interval of only one airplane (and thus has not been found above). 2. If such potential conflict resolution can be indicated from the CRI graph, provisionally accept it. Then initiate a conflict resolution routine and try to find resolution for the aircraft that is disallowing the resolution of the chosen aircraft. 3. If conflict for this aircraft can be resolved then the solution is achieved by changing the course of each of the two (or more) aircraft as presented above. This is preferably implemented by recursion. Implementation of this Stage 2 level has complexity O(N⁴ log N) for moving any two aircraft simultaneously. In an actual simulation, this stage successfully resolved conflicts involving five out of the six aircraft of Scenario 8 with three maneuvers while the expert air traffic controller did not attempt the resolution of more than four. Pseudo-code for implementing the Conflict Detection and Resolution Algorithm is set forth in Appendix B. It has been assumed that the appropriate evasive maneuver(s) will be indicated on a display as an advisory to the ATC Controller. However, it will be understood that, if desired, in a fully automated control system the processor could generate radioed voice commands for the appropriate maneuver(s) or transmit suitable alert indications to the involved aircraft. In the case of interacting robots, the processor could be programmed to automatically cause one or more robots to initiate the evasive maneuver(s) when conflict is threatened. While the case of only three variables (time, and x and y dimensions) was addressed, the method herein disclosed can take into account not only the z dimension but also additional variables, such as pitch, yaw and roll of aircraft or a robot arm. As earlier stated, the CRI implementation method, as illustrated, has involved only the three variables time and x and y spatial dimensions and all aircraft were considered as flying at the same altitude because this was the test case for Scenario 8 of the ATC. Actually the ATC prescribes at least 5 nm horizontal separation and 1,000 ft. vertical separation. Thus the two-dimensional circle 10 becomes in practice a three-dimensional cylinder. Since a cylinder is a convex object, tangents can be drawn, as required, to all its surfaces. It is important to note that the method can be implemented with any convexly-shaped airspace. Thus, the method can be implemented in, for example, terminal control areas (TCAs) where the areas to be protected may have special shapes, like that of a cigar, inverted wedding cake, etc. Also the method can be implemented to provide any preselected separation distance between interacting robot arms or any other moving objects; in such case, circle 10 would have a radius R corresponding to said preselected distance. Aircraft and robot arms are merely specific applications and hence the invention should not be limited in scope except as specified in the claims. APPENDIX A Computation of Locations of Points P₁, P₂, P₃, P₄ (Fig. 1) and Times of Conflict of AC k with AC i Lines with a slope such as m tangent to circle (such as 10) of radius R are given by: (1) x ₂ = mx ₁ + x o 2 - mx o 1 + eR (1 + m ²) 1/2 where e = ± 1, and x o / 2 and x o / 1 depend on the location of the circle. From (1) the four lines which determine the our points P₁-P₄ in Fig. 1 are: (2) x ₂ = m i x ₁ + x o 2 - m i x o 1 + e i R (1 + m i ²) 1/2 x ₂ = m r x ₁ + x o 2 - m r x o 1 + e r R (1 + m r ²) 1/2 where m i =V i2 /V i1 , m r =V r2 /V r1 , the slopes of V i and V r , respectively. The coordinates of the four points are found to be: (3) x ₁ = x o 1 + A { e r (1 + m r ²) 1/2 - e i (1 + m i ²) 1/2 } x ₂ = x o 2 + A { e r m i (1 + m r ²) 1/2 - e i m r (1 + m i ²) 1/2 } with A=R/(m i -m r ). The object is to find the points P ′ / k = (x lko, x′1k ), P ″ / k = (x lko ,x″ 1k ), where x lko is the x₁ coordinate of P k at t=0 such that P ′ / k moving with velocity V k meets P₁ at time t₁ (hence P₄ at a later time t₄). Also P′ k moving with velocity V k meets P₂ at time t₂ (and P₃ at a later time t₃). Then: Solving by components yields: (5) t ₁ = ( x ₁₁ - x 1 ko )/ V r 1 x ′ 1 k = x ₁₂ - V 2 k t 1 t ₂ = ( x ₂₁ - x 1 ko )/ V r 1 x ″ 1 k = x ₂₁ - V 2 k t 2 . The process is repeated for P ′ / k and P ″ / k moving with velocity V k to meet P₃ and P₄, respectively, at times t₃ and t₄.

Claims: A machine-implemented method of detecting conflict between a plurality of objects (AC i , AC k ) on trajectories in space, the trajectory of an object denoting its position as a function of time, comprising the steps of: preselecting an airspace (10) of specified shape and size that contains one of said objects and which is to be protected from penetration by the other objects; and characterised by the steps of: calculating front and back limiting trajectories (F ik , B ik ) for each one of the other objects by enclosing said protected airspace in an imaginary parallelogram (11) having one set of sides parallel to the trajectory of said one object and the other set of sides parallel to the relative velocity of said one of the other object with respect to said one object; generating an output which indicates the trajectory of said one object and the times remaining until conflict of said one object with said front and back limiting trajectories of each of the other objects; and indicating potential conflict when the trajectory of said one object is between the front and back limiting trajectories of any of said other objects, so that said other object will enter said imaginary parallelogram enclosing said one object. The method of claim 1, further comprising the step of resolving conflict by diverting said one object by an appropriate maneuver to a conflict-free path in which the trajectory of said one object no longer lies between the front and back limiting trajectories of any of said other objects. The method of claim 2, wherein said conflict-free path is parallel to and not more than a preselected distance from the original heading of said one object necessary to avoid conflict with any other object. The method of claim 3 wherein said conflict-free path is parallel to and substantially a minimal distance from the original heading of said one object necessary to avoid conflict with any other object. The method of any of claims 2 to 4, wherein the step of resolving includes the step of selecting both the conflict-free path and necessary maneuver from a set of preselected conflict-avoidance routines stored in a memory and taking into account the performance characteristics, and conditions and time required for such maneuver by said one object. The method of any of claims 2 to 5, including the further steps, in the event conflict cannot be resolved by said resolving step, of: determining each such other object that prevents diversion of said one object from resolving the conflict; and recursively repeating said generating step, said indicating step, said resolving step, substituting, for said one object, each such other object determined by said determining step until conflict is resolved during said resolving step. The method of any preceding claim, wherein said generating step includes generating a two-dimensional representation including the distances of said one object from the remaining objects represented on one scale and the trajectory of said one object and the front and back limiting trajectories of the remaining objects plotted on a scale orthogonal thereto. The method of any preceding claim, wherein said objects are aircraft.

Inventors: INSELBERG ALFRED, INSELBERG, ALFRED
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1990
Main classification: G08G5
IPC codes: B64F1, G08G5, G01S13