| Jean-Marc Alliot | Nicolas Durand | Géraud Granger | ||
| CENA* | CENA# | ENAC% |
Abstract: FACES is an autonomous and coordinated embarked conflict solver for Free Flight airspace. It solves conflict by computing simple manoeuvres that guarantees conflict free trajectories for the next 5 minutes (mns). Coordination is ensured by giving sequential manoeuvres to aircraft with a token allocation strategy. FACES can be implemented with the current positioning, broadcasting and flight management technology. Moreover, it is robust to communication or system failure for time up to one or two minutes. FACES was tested with a traffic simulator on busy traffic days over France. Airspace over level 320 was considered as Free Flight. 638 out of 641 conflicts were solved without using vertical manoeuvres. The mean delay was less than 30 seconds by aircraft manoeuvred, with a max delay of 150 seconds. The remaining conflicts could easily be solved with vertical manoeuvres. An airborne implementation of this algorithm can be seriously considered.
As shown on figure 1, a manoeuvre is a heading change of 10, 20 and 30 degrees right or left, it starts at time t0, and ends at time t1. As stated above, t0 (and t1) are always larger than 1 minute.![]()
In the horizontal plane, an aircraft is represented by a point at the initial time. The point becomes a line segment in the uncertainty direction (the speed direction here, see figure 2). The first point of the line ``flies'' at the maximum possible speed, and the last point at the minimum possible speed. When changing direction (t=4), the segment becomes a parallelogram that increases in the speed direction. When changing a second time direction (t=7), the parallelogram becomes a hexagon that increases in the new speed direction. To check the separation standard at time t, we compute the distance between the two polygons modelling the aircraft positions and compare it to the separation standard at each time step of the simulation. It must be noticed that, as only one manoeuvre can be given in a 5 minutes time window, and as no manoeuvre can start as long as the previous one is not finished, the convex can only be a line, a parallelogram or an hexagon.![]()
A resolution priority order7 has to be total if we want each aircraft to solve all conflicts when there is more than 2 aircraft. For example, the Visual Flight Rule that gives priority to the aircraft coming from the right does not define a global order if there are more than 2 aircraft simultaneously in conflict. Figure 3 gives an example of conflict involving 3 aircraft for which this priority resolution rule does not define an order because transitivity is not ensured.![]()
On figure 4, 4 aircraft are in conflict. Aircraft 1 is in conflict with aircraft 2 which is in conflict with aircraft 3 which is in conflict with aircraft 4. However, aircraft 1 can only detect aircraft 2 which detects aircraft 1 and 3. Aircraft 3 detects aircraft 2 and 4 which detects aircraft 3. Let's use a simple priority order between these 4 aircraft as for example (1>2>3>4). In conflict (1,2), aircraft 2 will have to manoeuvre. In conflict (2,3), aircraft 3 will have to manoeuvre and in conflict (3,4), aircraft 4 will have to manoeuvre. However, aircraft 4 does not detect aircraft 2. Consequently, it can not know that aircraft 3 has to manoeuvre before it can manoeuvre itself. Furthermore, aircraft 3 does not detect aircraft 1 and can not know that aircraft 2 has to manoeuvre before it can manoeuvre itself. New trajectories computed independently can then be inconsistent at the end of the resolution step. So, it is not possible to directly derive the resolution order from a simple priority order based only on transponder code for example.![]()
Table 1 gives the token allocation at the different steps of the resolution. At the first step, aircraft 1443 and aircraft 1625 solve conflicts with every aircraft that have no token in their detection area. As no aircraft are concerned, they are not manoeuvred. Then, they broadcast their unmodified trajectories and all aircraft that have received a token from them cancel it. At step 2, aircraft 4907 is the only aircraft with 0 token which still has to build a trajectory. It solves its conflicts with every aircraft in its detection area that has no token (aircraft 1443 and aircraft 1625) and so on. 6 steps are needed to completely solve this complex conflict. It must be noticed that aircraft that are in the detection zone but are in conflict with no aircraft always keep their trajectory unmodified and are considered as constraints by the resolution algorithm (they are 0 token aircraft with their trajectory already built from the start).
Step 1 2 3 4 5 6 1380 6 4 3 1 0 1379 3 2 2 2 1 0 3513 2 1 0 1500 2 2 1 0 4907 1 0 4765 1 1 0 1443 0 1625 0
Table 1: Token allocation at the different steps of resolution
|
|
|
Figure 6 details an example of a search in a tree. In this example, the solving aircraft has no manoeuvre at time t=1 minute (t=1 minute corresponds to the beginning of the optimization), it is in S0 state. The first node chosen is the node that has the lowest estimated cost (h+k). In the example, the lowest estimated cost (100) is found if no manoeuvre is chosen at time 1 minute (step 1). At time 1:15 the lowest estimated cost is still 100 if no manoeuvre is chosen (step 2). At time step 1:30 the lowest estimated cost is 1000 because of a conflict occurring between 1:30 and 1:45 whatever the manoeuvre chosen is. Consequently the branch that has the lowest estimated cost is then developed. Here, at time 1:15 a manoeuvre of 30 degrees left gives an estimated cost of 105 (step 3). The solving aircraft is moved to S1 state. At the next step, the lowest estimated cost is found if the manoeuvre is extended (107). The alternative choice (S2 state: turn back to the destination) generates a conflict (step 4). At time 1:45, the lowest estimated cost is found if the aircraft turns back to the destination (S2 state, step 5). At t=2:00, only one state (S2) can be generated and its estimated cost is still the lowest (step 6).![]()
To solve this problem the cost criteria used by the A* algorithm must be changed to take into account the efficiency of a manoeuvre. Therefore, when two aircraft must cross, the manoeuvre that enforces crossing must have a lower cost than the manoeuvre that postpones the crossing. This new criteria is included in the A* algorithm.![]()
The maximum manoeuvre lasts 2:30 minutes.
Mean delay Mean delay per Max per aircraft delayed aircraft delay Delayed 2s 1mn14s 3mn Manoeuvred 3,6s 27,4s 40s
Table 2: Delays
So, regarding delays, the performance of the algorithm is very good.
Number of Waiting percentage steps aircraft / Total 1 1516 76,6% 2 253 12,78% 3 162 8,19% 4 27 1,36% 5 17 0,86% 6 3 0,16% 7 1 0,05%
Table 3: Number of waiting aircraft.
However, this may not be a too serious concern in the upper airspace: the simulation above shows that this algorithm is almost always able to solve conflicts, even with situations as complex as the one presented on on figure 11 where 35 aircraft are involved, while delays remain small.![]()
This document was translated from LATEX by HEVEA.