FLIGHT TRANSPORTATION LABORATORY 91-3 AND SIMULATION Zhihang Chi

advertisement
FLIGHT TRANSPORTATION
REPORT R 91-3
LABORATORY
AN ADAPTIVE FINAL APPROACH
SPACING ADVISORY SYSTEM:
MODELING, ANALYSIS AND SIMULATION
Zhihang Chi
May 1991
FIL COPY, DON'T REMOVE
33-412, MIT
FLIGHT TRANSPORTATION
REPORT R 91-3
LABORATORY
AN ADAPTIVE FINAL APPROACH
SPACING ADVISORY SYSTEM:
MODELING, ANALYSIS AND SIMULATION
Zhihang Chi
May 1991
....
02139
FLIGiT TRANSPORTATION LABORATORY REPORT
R 91-3
An Adaptive Final Approach Spacing Advisory
System: Modeling, Analysis and Simulation
by
Zhihang Chi
Submitted to the Operations Research Center
in partial fulfillment of the requirements for the degree of
Master of Science in Operations Research
at the
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
June 1991
@
Massachusetts Institute of Technology 1991. All rights reserved.
A uth or ............................................................
Operations Research Center
May 20, 1991
Certified by ............
Robert W. Simpson
Director, Flight Transportation Lab, MIT
Thesis Supervisor
A ccepted by .......................................................
Amedeo R. Odoni
Chairman, Departmental Committee on Graduate Students
An Adaptive Final Approach Spacing Advisory System:
Modeling, Analysis and Simulation
by
Zhihang Chi
Submitted to the Operations Research Center
on May 20, 1991, in partial fulfillment of the
requirements for the degree of
Master of Science in Operations Research
Abstract
As airline industry grows and air traffic increases drastically, terminal airspace around
busy airports is becoming more and more crowded. To accommodate the soaring
demand for use of airports, a plausible and profitable way is to improve the efficiency
of existing airports. An automated final approach spacing system can improve the
efficiency as well as alleviate the workload of air traffic controllers.
In this thesis we develop an automated adaptive and interactive Final Approach
Spacing Advisory (FASA) system to be used in future at busy airports. Our system
is able to generate and update final approach paths for aircraft and guarantee that
the aircraft land as scheduled and safely spaced. It prompts air traffic controllers for
calls of turns. It can also detect errors in the execution of final approach paths and
provide warning and correcting cues for the controllers.
We will elaborate on the motivation for this thesis in Chapter 1.
In Chapter 2, we will define the problem of Final Approach Spacing and describe
the operations involved. We will introduce the key idea of our model - schedule box
and sketch the framework of our system.
In Chapter 3, we will establish a mathematical model for our proposed system,
analyze it and obtain the solution to it. We will show that our model is capable of
incorporating any constraints and that the whole problem can be reduced to finding
feasible solutions to a linear system of two variables.
In Chapter 4, we will develop a simulation program to implement our model in
Chapter 3. We will describe in detail the algorithms and logics of our simulation
program.
Finally in Chapter 5, we give a summary of our achievements as well as the topics
and directions of future research.
Thesis Supervisor: Robert W. Simpson
Title: Director, Flight Transportation Lab, MIT
Acknowledgments
My sincerest thanks go to Professor Robert W. Simpson who has supervised and
supported the research leading to this thesis. I have benefited a great deal from his
kind help and expert advice in the course of this research. He is not only a great
advisor but also a nice friend whom I can always talk to and who is always willing to
talk and smile to me. It is a tremendous privilege for me to have had this opportunity
to work with Professor Simpson.
I would also like to thank Dr. Dennis Mathaisel for supervising the early stage of
this research, and Dr. John Pararas for helping me gain access to necessary computing
facilities and for helping me debugging the simulation program. I am grateful to Carol
Novitsky for her efforts in helping develop the graphic part of our simulation program.
Finally, I would like to thank my wife Li for her patience and love.
Contents
1 Introduction
2
The Schedule Box and Its Application to Final Approach Spacing
2.1
The Stream of Arrivals . . . . . . . . ... . . . . . . . . . . . . . . . .
2.2
Operations Involved in Final Approach . . . . . . . . . . . . . . . . .
2.3
Operations of Schedule Box Patterns . . . . . . . . . . . . . . . . . .
2.4
Information Flow and Decision Making in Schedule Box Model . . . .
2.4.1
Automatic Shifting . . . . . . . . . . . . . . . . . . . . . . . .
3 Implementation of Schedule Box Model
3.1
3.2
The Simplest Case
. . . .
......................
3.1.1
Downwind Leg
3.1.2
Base Leg . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3
Intercept Leg
3.1.4
Summary .......
. . . . . . . . . . . . . . . . . . . . . . .
.........................
More Complicated Case: No Wind, with Turn Radius, with Speed
Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3
. . . . . . . . . . . . . . . . . . . . . .
3.2.1
Downwind Leg
3.2.2
Base Leg . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3
Intercept/Deceleration Leg . . . . . . . . . . . . . . . .
More Constraints on Pattern Geometries . . . . . . . . . . . .
3.3.1
Discussion . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2
The "Barrier" Constraint . . . . . . . . . . . . . . . . .
3.4
3.5
3.6
4
Generation of Pattern 2 Paths . . . . . . . . . . . . . . . . . . . . . .
47
3.4.1
Calculation of Arrival Angle . . . . . . . . . . . . . . . . . . .
47
3.4.2
Generating Paths . . . . . . . . . . . . . . . . . . . . . . . . .
54
Feasible Intervals on Runway Center Line . . . . . . . . . . . . . . . .
55
3.5.1
Downwind Leg
. . . . . . . . . . . . . . . . . . . . . . . . . .
56
3.5.2
Base Leg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
3.5.3
Initial Intercept Leg (Before Deceleration)
. . . . . . . . . . .
60
3.5.4
Final Intercept Leg (After Deceleration)
. . . . . . . . . . . .
60
Automatic Shifting of Schedule Boxes on Runway Center Line . . . .
61
Simulation on the Adaptive Final Approach Spacing Advisory System
4.1
O verview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
4.2
Input Data ......
66
4.3
Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
4.4
Com putation
67
4.5
5
65
..
................................
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1
Generation of Final Approach Paths
4.4.2
Data Updating
. . . . . . . . . . . . . .
67
. . . . . . . . . . . . . . . . . . . . . . . . . .
68
Drawing Moving Objects . . . . . . . . . . . . . . . . . . . . . . . . .
68
4.5.1
Blinking of Aircraft Image . . . . . . . . . . . . . . . . . . . .
68
4.5.2
Change of Color of Aircraft Images . . . . . . . . . . . . .. . .
69
4.5.3
Change of Color of Schedule Boxes
. . . . . . . . . . . . . . .
69
4.5.4
Dragging and Moving Schedule Boxes . . . . . . . . . . . . . .
70
4.5.5
Automatic Shifting . . . . . . . . . . . . . . . . . . . . . . . .
71
Concluding Remarks
72
5.1
Future Topics in FASA Modeling
. . . . . . . . . . . . . . . . . . . .
72
5.2
Future Improvements in Simulation . . . . . . . . . . . . . . . . . . .
74
List of Figures
2-1
Holding Areas around Terminal Airspace . . . . . . . . . . . . . . . .
11
2-2
Pattern 1 of Landing Path . . . . . . . . . . . . . . . . . . . . . . . .
14
2-3
Pattern 2 of Landing Path . . . . . . . . . . . . . . . . . . . . . . . .
15
2-4
Information Flow of Schedule Box Model . . . . . . . . . . . . . . . .
17
2-5
Automatic (Backward) Shifting Due to Movement of Box 1 . . . . . .
21
3-1
Pattern 1 Path and Remaining Durations . . . . . . . . . . . . . . . .
23
3-2
Different Combinations of C andC2 . . . . . . . . . . . . . . . . . . .
26
3-3
C2>0, C>0
3-4
C2>0,C<0 ........
3-5
C2
3-6
(a) C2 < 0, C/C2
U; (b) C2 < 0, C/C 2 < U . . . . . . . . . . . . .
35
3-7
The Most General Case . . . . . . . . . . . . . . . . . . . . . . . . . .
43
3-8
Pattern 2 Path
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
3-9
Feasible Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
.......
...............................
...............................
< 0, C > 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
>
3-10 Data and Variables in Automatic Shifting
. . . . . . . . . . . . . . .
33
34
34
62
Chapter 1
Introduction
As airline industry grows and air traffic increases drastically, terminal airspace around
busy airports is becoming more and more crowded. To accommodate the soaring demand for use of major airports, aviation authorities face the choices of building new
airports, extending existing airports or improving the efficiency of existing airports.
Building new airports or extending existing airports requires huge amounts of investment. Moreover, due to political, geographical and environmental constraints, it
is difficult and painful, if not impossible, to plan and build new airports or extend
existing airports. Improving the efficiency of existing airports, on the other hand, is
not only profitable but also plausible with the help of high technology such as modern computers and digital communication. For example, with the speed of modern
computers and accuracy of digital communication, it is possible to revolutionize the
procedure of handling final approach spacing. We can relax the prevailing tight safety
rules while maintaining the same safety level, alleviating the workload of air traffic
controllers and achieving much higher efficiency in terms of landings and take-offs per
hour. It is the objective of improving the efficiency of final approach spacing that
motivates the research of this thesis.
Currently, the profession of air traffic control is more a practice of art than one
of science. Air traffic controllers base their actions mainly on visual observations and
estimations, dialogues with pilots, and most of all their personal experiences. Because
of the heavy reliance on human beings, the workload of controllers are considerably
high. Moreover, to buffer human errors due to fluctuation in human performance,
very tight safety rules have to be enforced at the cost of low efficiency.
In this thesis, we will develop an adaptive automated system that will dynamically
generate the final approach paths of different patterns for landing aircraft, detect
errors and provide warning and correcting cues for air traffic controllers. Furthermore,
we will develop a graphic simulation package that tests our automation system.
In Chapter One, we will give a full description of the final approach spacing
problem. We will take a brief look at the operations involved in the final approach
spacing problem. We will elaborate on our objectives, the assumptions we make, and
the constraints we are faced with.
In Chapter Two, we will bring up the concept of schedule boxes which is an
intuitive, accurate and implementable solution to the final spacing problem. With
this, we will present a detailed model of the final spacing problem.
In Chapter Three, we will discuss and analyze the model we introduced in Chapter
Two. Also we will discuss on the implementation of the solution we obtain from our
model.
In Chapter Four, we will describe the simulation program we designed for the
testing of our model.
In Chapter Five, we will conclude this thesis with an overview of future research.
Chapter 2
The Schedule Box and Its
Application to Final Approach
Spacing
2.1
The Stream of Arrivals
Consider a busy terminal area.
Landing aircraft arrive from different directions.
Usually there are certain number of holding areas at the periphery of the airport. If
necessary, the terminal area controllers will put the aircraft into these holding areas.
See Figure 2-1.
While approaching the holding pattern, a pilot is asked by the controllers to report
current air speed, and intended final approach speed.
The task of the controller is to use approach paths from the holding patterns within
certain patterns and the information on the current positions and speeds, windspeed
and intended approach speeds of arriving aircraft to bring them to a landing in a
given sequence and schedule. If explicitly computed these approach paths would be
updated dynamically, and the controller would be provided appropriate cues for turns,
speed and altitude reductions, for executing the desired path and finally achieving
good spacings in final approach.
Figure 2-1: Holding Areas around Terminal Airspace
11
2.2
Operations Involved in Final Approach
The operations involved in the execution of a final approach scheme include radar
surveillance, error detecting, regeneration of approach path and issuing clearance on
the controller's part and flying the aircraft on the pilot's part.
The provision of
automated support for operations on the controller's part is the goal of our thesis,
i.e. we will computerize the error detecting and monitoring, prompting changes in
aircraft speed, direction and altitude, and regeneration of approach paths as the traffic
situation changes.
Professor Simpson at the Flight Transportation Laboratory at MIT brought up the
idea of schedule box. It is a highly intuitive, illustrative and implementable approach
to the very complex problem of final approach spacing.
We assume that each landing aircraft has certain schedule for arrival at the runway;
and therefore at the outer marker. To represent that schedule, a schedule box is
created somewhere on the extended runway center line beyond the outer marker of
the ILS approach. The schedule box moves at the final approach ground speed of each
aircraft so that it will arrive at the outer marker at the scheduled time. In doing so,
the spacing problem reduces to the problem of the aircraft intercepting its schedule
box before the outer marker. Any complex description of desired spacings needed for
safety can be handled by the computer in establishing a landing schedule. Today a
very simple set of spacing rules in terms of the nearest nautical mile (3, 4, 5, 6nm) is
given to controllers. A more complex description can be more efficient and provide
higher capacity.
Let us state our problem formally using the idea of schedule box. For each aircraft,
we assume we know its landing schedule, current position, current (constant) airspeed,
and intended (constant) final approach speed. We also assume zero wind speed for
the moment. Otherwise we need good information on current wind speeds. From
landing schedule and intended final approach speed, we can generate the schedule
box, i.e. compute the position of the schedule box on the extended runway center
line. Once we have the initial position of the schedule box, we can generate the final
approach plan for the aircraft. We will discuss how to do that in detail in the next
chapter. As we can see, this approach is dynamic in that at any time point, we can
revise our plan so long as we have the necessary information, i.e. current aircraft
positions and ground speeds, aircraft intended airspeeds, and current schedule box
positions. The revised plan changes the positions of the schedule boxes, and indeed,
the schedule boxes can be shifted by the controller on the display to cause a revision
to the schedule.
The final approach spacing problem then becomes one of vectoring each aircraft
to intercept its schedule box, i.e. the spacing problem transforms into an intercept
problem. Next we will describe how automated cues are provided for the controller.
2.3
Operations of Schedule Box Patterns
Given a schedule of landings, the controller will generate arrival paths from a set of
nominal arrival patterns which the aircraft will use to fly to intercept its schedule box
at some variable point along the runway center line before the outer marker. Any
errors in flying these paths will be correctable at certain points in the pattern. The
model we are going to develop will automate the generation of arrival paths in an
adaptive manner, i.e. any errors in flying the paths will automatically be corrected.
In this chapter we will clarify the underlying governing logic.
In next chapter, we
will work out the mathematical equations, analyze them and obtain the closed form
solutions.
We will consider two path patterns. The first pattern is shown in Figure 2-2 and
second one shown in Figure 2-3. This two pattern situation is typical of many airports
around the world at the present time. In both patterns, the final intercept angle to
the ILS center line is fixed at 30 .(It could be any desired angle)
Pattern 1 consists of eight stages. They are downwind leg, base turn, base leg,
intercept turn, intercept leg before final speed reduction(initial intercept leg), speed
reduction, intercept leg after speed reduction (final intercept leg) and final turn. We
would like to compute the durations of downwind leg, base leg, intercept leg before
speed reduction and intercept leg after speed reduction.
Pattern 2 consists of six stages. They are arrival leg, arrival turn, intercept turn,
intercept/deceleration leg and final turn. In this case our decision variables are the
initial arrival angle and the durations of base leg, initial intercept leg and final intercept leg.
Arrival Stream
Downwind Leg
,
Base
) /Turn
c g,
Final
Turna
Intercept
Turn
Speed Reduction
Schedule Box
Outer Marker
Figure 2-2: Pattern 1 of Landing Path
There are some operational and geometric constraints on both patterns. For the
first pattern, we will not allow the aircraft to cross the runway center line. We also
will enforce the duration of base leg to be no less than a minimum amount of time(90
seconds, for example). Similarly, the duration of intercept/deceleration leg(the sum
of initial intercept leg and final intercept leg) will have a lower limit. Third, we will
plan that an aircraft starts its final airspeed speed reduction about in the middle of
the length of its intercept/deceleration leg. Finally, we set up a selectable interception
"barrier" on the runway center line-the interception must occur before the barrier.
Arrival Stream
Turn
Schedule Box
Outer Marker
Figure 2-3: Pattern 2 of Landing Path
For Pattern 2, the same constraints apply except that some specific numbers may be
different than those of Pattern 1. For example, the barrier for Pattern 2 is always
further away from the outer marker than for Pattern 1.
Our system is adaptive in that it will detect errors and correct them. We are
concerned with two types of errors. The first type is navigation and guidance error.
Due to piloting and changing wind speed, every aircraft is likely to be off the planned
track.
This error is important to our simulation of aircraft movement.
We will
discuss this later. We will model the navigation and guidance error as a normally
distributed random variable. The second type of error is the surveillance error. We
will generate paths for the aircraft based on radar measurements. The radar updates
the information on position of the aircraft on a fixed time interval basis and a process
called "tracking" estimates speed and direction with some important transient errors.
Our model is designed to be friendly and tolerant. It will ignore all the errors the
aircraft has made and will not require continuous corrections until the point where
no other feasible paths can be generated for the aircraft. At each decision point in a
pattern, our system computes the corrected path to intercept the box. If the clearance
is poorly executed, the system will flag a warning whenever the intercept cannot be
made, and the schedule box can be moved to a feasible position on the center line.
Other schedule boxes will then adapt to a new schedule.
2.4
Information Flow and Decision Making in Schedule Box Model
We now examine the actual execution of our schedule box model leg by leg. For the
time being, we will focus our discussion on arrival paths of Pattern 1.
The information flow is shown in Figure 2-4.
Our model takes as input the updated information from surveillance system, the
errors detected, and the desired corrections requested by the controller. It will first
examine the feasibility. For different legs there are different feasibility conditions
which we will discuss in the next chapter.
Figure 2-4: Information Flow of Schedule Box Model
If it turns out that feasible paths exist, our system will compute the remaining
duration of the current leg and provide the controller with advisory cues in various
forms. One form can be the on-screen display of the remaining duration of the current
leg which can be turned on and off by controller as he/she wishes. Another form could
be the automatic prompting for turns. For example we can implement our system in
such a way that when an aircraft is 25 seconds from making a turn, its image will
start blinking.
Apparently a third form can be the combination of the above two
forms. We are not concerned with the nature of the cues in this thesis.
If, however, there are no feasible paths for an aircraft, our system will provide
warnings for the controller. If indeed, controller's intervention becomes inevitable, our
system will signal the controller in a drastic manner. For example, it will turn red the
schedule box of the infeasible aircraft. Moreover, our system will help the controller
make corrections.
In our current implementation, a feasible window is generated
for moving each schedule box. It will be displayed when the controller places the
mouse onto the schedule box and presses the mouse button.
Then controller can
move the schedule box to any point within the feasible window to maintain or regain
feasibility. If the controller moves the schedule box beyond the window, our system
will automatically pull it back to the boundary of the feasible window.
Our system is very forgiving in that it will try to absorb the errors within itself
without making any demands on the controller or pilot's part. Each update cycle,
it will do the computation from scratch based on whatever information, errors and
error corrections issued by the controller.
Currently, in deriving feasible windows we do not take into account the critical
separation on the runway center line. To consider this there are quite a few questions
that we need to address. So far we have assumed that we are given an initial schedule
and the order of the schedule boxes on the runway center line represents the actual
schedule. Critical separation is directly affected by the intercept points of the aircraft
as well as the timing of intercept on the runway center line.
Therefore, the first
question we need to address is, how does the change of position of a schedule box
affect the intercept point and the timing of intercept of the aircraft. For example, at
some point we move the schedule box closer towards the outer marker. If the aircraft
remains feasible, will its intercept point and time of intercept both move forward, or
both backward, or one forward the other backward? The answer to this question is
very much data-dependent. However we do have the following observations. We will
try to bunch slow aircraft together and fast aircraft together. Moreover, we will try
to make the intercept points of the slow aircraft close to the outer marker and those
of the fast aircraft far away from the outer marker. In doing so we expect to have less
chance of critical separation violation. Another question we need to discuss involves
the separation criterion itself. Different separation criteria will result in different
algorithms and different amounts of computation.
One of the major goals of our
system is to show how we can choose much tighter separation criteria than prevailing
rules of thumb and raise the efficiency while maintaining the safety level.
There is yet another constraint that we need to consider in generating feasible
windows. That is we must maintain the sequence of landing. The maintenance of
sequence is more a political consideration than a technical one.
Once we inform
Aircraft B that he will be landing right after Aircraft A, it will be unfair from his
point of view that Aircraft C ends up landing right after A. The maintenance of
sequence is not very difficult to address. Once we know the positions and speeds of
schedule boxes, it is fairly straightforward to find out the sequence of landing. For
any aircraft, we must make sure that he will land after the aircraft that precedes him
and before the one that follows him in the given sequence when we shift the schedule
boxes.
2.4.1
Automatic Shifting
As we said earlier, we do not take into account the constraints on sequence and on
critical separation. Therefore the movement of a schedule box(even within its feasible
window) may change the sequence or violate the separation criterion. For example,
consider a slow aircraft followed by a fast aircraft. If we move the slow aircraft too
far backwards, then there is a chance that either the slow aircraft will be overtaken
by the succeeding fast aircraft and thus the sequence of landing is changed, or the
sequence is intact but the slow aircraft's schedule box is moved so much into the
following fast aircraft that the distance between the two aircraft will fall short of the
required separation.
There are at least two methods to resolve this problem. First, we can incorporate
the constraints on sequence and on critical separation into the generation of feasible
windows. A second method is to develop an algorithm that handles the problem of
maintaining sequence and critical separation.
The first method involves interpret-
ing the constraints on maintaining sequence and on maintaining critical separation
in terms of equations and inequalities and then finding a feasible solution to these
simultaneous equations and inequalities, which can be accomplished by using any of
the linear programming packages we have today. The main drawback of this method
is that it limits the choices of the controller. The controller is only allowed to move a
schedule box within the extent that the schedule box is feasible and its neighbors are
intact. Sometimes however, we do want to move a schedule box far enough that the
sequence will be ruined and/or separation criterion is violated. When this happens
we may want to move this schedule box's neighbor a little bit and maybe the neighbor
of the neighbor a little bit so that the sequence and separation is regained. Of course
if we are lucky we can end up making the move without bothering the neighbors.
Therefore at the cost of changing the schedule of other aircraft we gain more flexibil-
ity of handling a particular aircraft. This leads us to the second method and therefore
the problem of automatic shifting-how the succeeding(preceding) boxes should shift
when a particular schedule box is moved backwards(forwards). It turns out that the
first method is in fact a special case of the second approach.
We now address in detail the algorithm that handles the sequence and critical
separation. We make the assumption that the aircraft arrive in waves so that we can
consider finite number of aircraft at a time. Suppose in one wave of arrivals we have
n aircraft. We first consider the case of moving kth schedule box backwards. In this
case we work our way backwards. We first compute the limit on moving schedule box
n backwards. Apparently we need only to be concerned with feasibility. Based on
this limit, we compute the limit on moving schedule box n - 1 backwards. From now
on, however, we need to be concerned not only with feasibility, but also with sequence
and critical separation. Based on the limit for schedule box n - 1, we can compute
the limit on schedule box n - 2. We continue in this manner until we find the limit
on moving schedule box k. Then when we actually move schedule box k backwards,
three things can happen. First, we may be very lucky that we move schedule box k
without violating any constraints or forcing any succeeding schedule boxes to move
backwards. Second, we are able to move the schedule box as we want but force the
succeeding schedule boxes to move backwards. Third, we move the schedule box too
far and either sequence or critical separation is violated. In this case, we would like
to bounce the schedule box to its limit.
The above algorithm will work almost the same way when we move a schedule
box forward. In this case, we will start from the first schedule box and compute the
limit on how far it can be moved forward. The constraints we need to consider for the
first schedule box are feasibility constraints. Based on the limit for the first schedule
box, we can compute the limit on how far the second schedule box can be moved.
From now on, however, we need to be concerned about sequence and separation. We
continue in this manner until we reach schedule box k, the one we want to move
forward.
Figure 2-5 illustrates the idea of automatic (backward) shifting.
1
2
3
4
5
Figure 2-5: Automatic (Backward) Shifting Due to Movement of Box 1
Chapter 3
Implementation of Schedule Box
Model
3.1
The Simplest Case
We now formulate our model mathematically. We will start with the simplest case of
Pattern 1. Initially, assume zero wind speed, perfect execution and sharp turns, and
no speed reduction on the intercept leg. Also we will ignore the requirement that the
intercept must occur before outer marker. The purpose of these simplifications and
relaxations is to present an exposition of our approach. First, we will introduce the
notation we are going to use in our formulation.
At any time point, we define the following:
v: airspeed of aircraft;
r: intended final approach speed;
0: intercept angle;
ti: computed remaining duration of downwind leg;
t 2 : computed remaining duration of base leg;
t6: computed remaining duration of initial intercept leg;
Figure 3-1: Pattern 1 Path and Remaining Durations
t 4 : computed remaining duration of final intercept leg;
z,: x coordinate of aircraft;
yp: y coordinate of aircraft;
xb: x
coordinate of box;
Yb: y coordinate of box;
See Figure 3-1 for illustration of the notation.
3.1.1
Downwind Leg
At any time point, we expect an aircraft on downwind leg to successfully intercept its
schedule box if and only if the x and y coordinates of the aircraft and its schedule box
are identical when the aircraft intercepts the runway centerline. The mathematical
translations of the above condition are:
x, + vti - Vt 3 cosO
vt
Let d =
I,
2
+ vt
3
=
sinO =
Xb - r(ti + t 2 + t 3 )
(3.1)
jyp|
(3.2)
and 1 = xb - x,. From (3.2), we can solve for t 2 and get
ta
3=
d
-
Vt
2
vsinO
Substitute t3 into (3.1), we obtain an equation that contains ti and t 2. After some
manipulations and rearrangements, we have:
(v + r) ti + [
v
tg9
--
1
- 1)r] t2 = 1 +
sin9
d
rd
tg9
v sin9
One constraint we have is that ti and t 2 must be nonnegative, i.e. t 1
2
(3.3)
0, t 2
0. Also
corresponding to the requirement that aircraft are not allowed to cross the runway
centerline, we have Vt2 < d.
Let
v
C2 _
tg9
C
1+
1 - sine
--
sin0
d
tg-
rd
vsin0
r
Then the above equations become
(v +r)t1 + C2 t 2 = C
Vt2 <
d
(*
t1 > 0, t2 > 0
(*) is a linear system. Clearly, feasible final approach paths exist for an aircraft if
and only if (*) is consistent.
The consistency of (*) is fully determined by C 2 and C, in particular the signs of
C 2 and C. We enumerate all the possible combinations of C 2 and C's signs.
1. C 2 > 0, C > 0
(*) is consistent. This can be seen from Figure 3-2(a). The thick line in the
picture indicates the feasible region. In this case, we can choose ti such that
C-C
min(
2
C
,)
v~r
v+r
-
Correspondingly, we can choose t 2 such that
0
d
min (-,
t2
2. C2 > 0, C < 0
(*) is not consistent. Therefore, there are no feasible final approach paths for
the aircraft. See Figure 3-2(b).
3. C 2
0, C > 0
(*) is consistent. We can choose ti such that
C
C <
t1 <
v+r ~
C_-C2
-
+r
~
Correspondingly,
0
< t2
d
-
V
2"
1
C/ (v+r)
t
1
10 C,
C/ (v+r)
a
(c)
(d)
Figure 3-2: Different Combinations of C and C2
See Figure 3-2(c)
4. C2
0, C < 0
In this case, we consider several subcases.
(a) C/C2 > d/v
(*) is not consistent.
(b) C/C2
d/v
(*) is consistent. See Figure 3-2(d). We can choose ti such that
0 < ti <
-v
v
+ r
Correspondingly,
C
d
-v
C2
It can be seen that in all feasible cases, we have a certain feasible interval for ti, the
remaining duration of downwind leg. In other words, there is one degree of freedom.
We can eliminate it using different rules. The rule we use here is to minimize the
remaining duration of downwind leg, i.e. ti. By doing so we expect to compress the
total final approach time as much as possible. Adopting this policy, we obtain for the
above feasible cases:
1. C2 > 0, C >2 0
C - C2min (,
+ r
d)
-v
C
t2 =
min (-,
C2
2.
C2 <
d
-)
v
0, C >_ 0
tj
C
t2 = 0
3. C2 <0, C <0 and C/C2
ti = 0
d/v
(an immediate turn to base leg)
C
t 2 = --
Base Leg
3.1.2
The governing equations for base leg can be considered as a special case of those for
downwind leg. We can simply force ti to be zero in (*) and we obtain
C
C2 t2 =
vt
< d
2
Discussion
1. C 2 # 0, then if 0 < C/C
2
< d/v
C
C2
d
vt 2
v sinO
-
Else there will be no feasible paths for the aircraft.
2. C2 = 0, then if C= 0, t 2 can be anything between 0 and d/v. Let us give as
much maneuvering room to intercept leg as possible. Then we have:
0
t2=
t3
3.1.3
=
6
(an immediate turn to intercept leg)
d
vit
v sin6
Intercept Leg
Again, in (3.1) and (3.2), letting ti and t 2 be zero we obtain:
=
1
vt 3 sinO =
d
(r -Vcos9)t
28
3
Discussion
From (3.3), we can see that a feasible path exists for the aircraft if and only if
1
0
rd
d
e sine
t gO
in which case,
d
v sinO
=
3.1.4
Summary
At any point in time, we can obtain 1, d, v from surveillance, from which we compute
C and C 2 , the parameters of our model. Then our mathematical model will compute
ti, t 2 and t 3 .
3.2
More Complicated Case: No Wind, with Turn
Radius, with Speed Reduction
Next we turn to a more sophisticated case. In this case, we will take into account
radius of turn and speed reduction. We assume aircraft turn at a constant rate w.
The angle to turn from downwind to base leg is Z. The duration of base turn is Z.
The angle to turn from base leg to intercept leg is
turn is
. The duration of the intercept
Z-
. The angle of final turn is 0. The duration of final turn is
deceleration rate is a. The time it takes an aircraft to slow down is
.
Suppose the
. The total
time to intercept then is the sum of durations of all legs, durations of all turns and
the speed reduction time, i.e.
t1+t
2
+t+t
4
+-+
S
2w
2
-e
w
e v -r
+-+
w
a
where ti, t 2 , t 3 and t 4 are remaining durations of downwind leg, base leg, intercept
leg and final intercept leg, respectively.
As before the conditions for an aircraft to intercept its schedule box are given by
the following equations.
final aircraft x-coordinate = final schedule box x-coordinate
final aircraft y-coordinate = final schedule box y-coordinate
where
final aircraft x-coordinate = initial aircraft x-coordinate + Ax
final aircraft y-coordinate = initial aircraft y-coordinate + Ay
3.2.1
Downwind Leg
The Ax can be broken down into contributions from different legs and turns. For
example, the contribution of downwind leg is v ti. The contribution of base turn is
",which is the radius of turn. The contribution of final intercept leg is -r t 4 cosO. It
is easy to see that
AX
=
v
w
vt 1 + -
v
-
-
w
v
w
sin)
r
v2-r2
V t3 cos
V
cosr
2a
-
r t4 cos
-
-cos0
(3.4)
After some rearrangement, we get:
AX = v t1 + -v t3 cos# - r t 4 cosO
v2 _
-
r 2
2a
v
cos + -
-
r
o
sin
In a similar way we can obtain the equation concerning y-coordinate.
Ay = -(-+
w
V t 2 + - cosO + (Vt + Vr+
2a
w
2 -r2
Ay = v t 2 + (Vt +
2a
r t 4 ) sin# + -(1 - coso))
W
1
+ rt 4 )sin9 + w-
r
+ cosW) + -(1
w
-
cosO)
(3.5)
We obtain the equations that represent the conditions on which the aircraft meet
their schedule boxes as the following:
v-r2
2a
x, + v t1 + -v t3 cos9 - r t 4 cosO -
cose
+
v-r.
sine =
W
t3
+ t4+--)
xb - r(t1+ t2+
V
t2 +
(
v72 _
V
t +
r2
+
2a
r
t 4 ) sine
v (1+CS)+r
+ cosO) + -(1(
w
+
-
O
cos)
(3.6)
=
d
(3.7)
where d = |y,|.
Let
d' =
cos) -
d- -(1+
Le
v -r
i'
=
=
xb -
1-
X,
-
W
(1-cos)
sine -
r
--
W
W
v-
rir
rir
--
sine
(3.7) becomes
22
-r
vt2 +(Vt+
2a
(3.8)
+rt 4 )sine=d'
As in the previous case we require that t 1 > 0, t 2
>
0, t6
0 and t 4
>
0. In
addition we require that the deceleration start in the middle of the length of speed
reduction/intercept leg. Hence we have
rt4
(3.9)
+ 2vt 3 sine = d'
(3.10)
= V
V6t
2a
r+
(3.8) becomes
vt
2
Solving for ta, we get
1 V2 - r 2
6a = - va
2
r
+ - t4
v
(3.11)
Substitute (3.11) into (3.6) and (3.10), combine the resulting equations and rearrange, we get the following
(v + r) t 1 + - [(1
-
V
v-r
w
2 sin6)r + (1
sino--
-
2 cos6)v] t 4 =
r
1 v-r
d'+-.
v
2
va
[2v cosO+
(3.12)
(2sin6 + 2cos6 - 3)vr + (2sin6 - 1)r 2 ]
The constraints that are equivalent to ti
0, t 2
0, t 3
ti
> 0
2
0 in the prior formula-
tion are:
t4 2
0
<
d'
y2 _r2
(Vt
3
+
2a
+ rt 4 )sin9
Let
C2
=
C
=
- [(1 - 2sin9)r + (1 - 2cos6)v]
V
1' -
r
-d
v
+
1
t'-r
-
2
va
[2v 2 cos6 + (2sin6 + 2cos9 - 3)vr
+ (2sin6 - 1)r2]
and putting things together, we obtain the following system of equations.
(v + r)t
1
C
+ C2 t 4
t1
0
t4
0
(**)
t4
1
d'
2 r sin6
2
v _r
2ra
2
As in the previous case, feasible final approach paths exist for aircraft if and only
(**) is consistent.
Discussion
As an obvious observation,
(**) is consistent only
if
}
-2
_,2
> 0. Mathemati-
cally, it is the necessary condition for t 4 to be nonnegative. Intuitively, it means that
C/ (v+r )
C/ (v+r )
'
St
Sd/c2
2
2c/c2
t2
U
2
Figure 3-3: C2 > 0, C > 0
the aircraft must start far enough away from the runway center line to have least
enough room for the speed reduction.
On the condition that
}
-
V2;r2
2~
r
~ ~
as we had for the simplest case. Let U =
> 0, we can carry out the same discussion
2
iO
d'
2 rizO
V22
2ra
1. C2 > 0, C > 0
(**) is consistent. This can be seen from Figure 3-3. In this case, we can choose
ti such that
C - C2 min (-,
v +r
+ C2
C
U)
<
~
ti
<
~~o++ r
Correspondingly, we can choose t 4 such that
C
0 < t 4 < min(---, U)
C2
2. C2 > 0, C < 0
(**) is not consistent. Therefore, there are no feasible final approach paths for
the aircraft. See Figure 3-4.
3. C2<0,C>0
(**) is consistent. See Figure 3-5. We can choose ti such that
C
v
+
r
C - C2 U
v+r
Figure 3-4: C2 > 0, C < 0
t 1
C/ (v+r)
Figure 3-5: C2 < 0, C > 0
C,
C,
a
U
t4
t-a
C/C2
C/C2
(a)
(b)
Figure 3-6: (a) C2
< 0,
C/C 2 > U; (b) C2 < 0, C/C 2 < U
Correspondingly,
0 < t4
4. C2
U
0, C < 0
In this case, we consider several subcases.
(a) C2
=
0
(**) is not consistent.
(b) C2 <
0, C/c 2 > U
(**) is not consistent. See Figure 3-6(a).
(c) C2 < 0, C/C2
U
(**) is consistent. See Figure 3-6(b). We can choose ti such that
0<t1<
C - C2 U
v~
Correspondingly,
0
-<t
C2
4
<U
It can be seen that in all feasible cases, we have a certain feasible interval for ti. In
other words, there is again one degree of freedom. We can eliminate it by minimizing
the duration of downwind leg, i.e. t 1 . By doing so we expect to compress the total
final approach time as much as possible. However, if we do so, we obtain for the
above feasible cases:
1. C2>0C>0
C-C2 min (#, U)
+
tjv
T
2
t4 = min( -, U)
C2
2. C2 < 0, C > 0
=o
C
+ r
t4 = 0
3. C2 < 0, C < 0 and C/C2 < U
t1 = 0
t4 =-
C2
3.2.2
Base Leg
The governing equations for base leg are mostly a special case of those for downwind
leg, in that ti vanishes in this case. There are, however, some minor differences in
constants. For one thing, the base turn will not be considered.
Mathematically what we need to do is to eliminate the terms in (3.4) and (3.5)
(on page 30) that are related to downwind leg and base turn, i.e. v t1 and v/w in
(3.4) and v/w in (3.5).
Corresponding to (3.7) and (3.6), it is not difficult to derive the governing equations for base leg. The constants are now
=
d- -cos6 --
(1-cosO)
r2r
v-r
-
W
-
2i
w
The governing equations are:
C2t4
= C
t4
> 0
t4
<
-
v 2 _r
d'
1
--
r sin
2
~
2
2ra
Discussion
1. C2
#
0, then we only need to check if
C
C2
-
1
d'
v2-r2
2
r sinO
2ra
is satisfied or not. If no, then there will no feasible paths for the aircraft. The
aircraft could either be early or late depending on the values of C and C2. If
the above inequality is satisfied, then
t4
C2
r
1 v 2 _r 2
+ -t
V
va
2
d' - 2vta
3 sin8
t3 =
t2 =
4
V
2. C2 = 0, then if
0 C = 0, then
t4
V2 _ r 2
d'
1
=-2ra
2 r sinO
1 v2 _r2
r
t3
=
t2
=d'
V
-
t4+-
va
2
2vt 3 sinO
V
*
3.2.3
C
#
0, then there will be no feasible path for the aircraft.
Intercept/Deceleration Leg
Once we are on intercept/deceleration leg, we drop the constraint that deceleration
must occur at the middle of the length of intercept/deceleration leg.
We need to consider the situations both before deceleration and after deceleration.
Before Deceleration
For initial intercept leg, we simply eliminate the terms in (3.4) and (3.5) (on page 3.4)
that are related to downwind leg, base turn, base leg, intercept turn. We then get:
x, - (v t3 +
(v t +
-
2a
v,2
_.2
r
+ r t 4 + -)cos9
W
2a
+r t 4 )sinO + -(1
- cosO)
=
Xb - r (t3 + t4+
=
d
Discussion
Let
d'
d - -(1
=
r(v - r)
r
W
X
b
a
- cos6)
Solving the above equations, we obtain:
(1 -
ad=
v =
+
-
cosO) -
('
("-
r
c
-t_1)S-'"g
2a
We want t3 > 0 and t 4 > 0, which are equivalent to:
'
d'
_(v
-(1
>
-
sinO
it< d' (r
('
<
-sin9
v
cosO) -
-r ) 2
2a
2
)2
_Cs)+(v-r
cos
2)+
2a
v -r
a
0
+ -)
W
After Deceleration
The governing equations in this case are:
r (1 - cosO)t4 =
r t 4 sin# =
l'
d'
Similar to the simplest case, there exists a feasible path for the aircraft if and only
if
d'
tgO
3.3
d
sinO
More Constraints on Pattern Geometries
We mentioned earlier that we require that the aircraft intercept their schedule boxes
in front of the outer marker. In addition, we introduce two more constraints. In order
to allow for sufficient maneuvering, we require for each landing aircraft the duration
of base leg must exceed certain minimum level. We impose a similar restriction on
the duration of intercept/deceleration leg. In practice, this minimum level can be 90
seconds, for example.
Without loss of generality, let us assume that minimum durations for both base
leg and intercept/deceleration leg are identical, denoted by Tmin. We therefore have:
t2
t3 + vr
a
+ t4
>
Tmin
(3.13)
Tmin
(3.14)
which are mathematical translation of the constraint that the durations of base and
intercept/deceleration leg must be great than or equal to certain minimum value.
From (3.10) (on page 31), (3.13) implies
2v t 3 sin
< d - v Tmin
which, by (3.11) (on page 31) implies:
t 4 <d
v 2 _ r2
- vTin
2r sinO
(3.15)
2ra
Again by (3.11), (3.14) implies
v
1
v- r
r + 3v
v+r
2
a
v
(3.16)
Adding (3.15) and (3.16) to (**), we will get a new linear system. For the sake of
simplification, let
lb
=
max(O,
(Tmin
2
v 2 _r
d -V Tin
(v - r)(r + 3v)
2av
-
2ra
2r sin9
The new system then becomes
(v+r)t1 +C
3.3.1
2 t4
=C
t1
>
0
t4
> lb
t4
*
ub
Discussion
1. C 2 >0
* if lb > C ,, then there will be no feasible path for the aircraft. In particular,
2
the aircraft will be late.
* if lb <
, then
t4
=
min(--, ub)
C2
C - C 2 t4
v+r
2. C2
=
3. if C2
0, C < 0, again the aircraft will be late.
=
0 and C < 0, then
t4
=
ub
C
1
+
=
4. C2 < 0
* if ub < C/C2, then there will be no feasible landing paths for the aircraft.
In particular, the aircraft will be early.
e if ub < C/C2, then
t=
ub
C -C
2t4
v+r
v
3.3.2
The "Barrier" Constraint
We now consider the case where we want to impose some lower limit on the intercept
point, i.e. we will not allow the intercept to occur beyond certain point. In practice,
for example, intercept should always occur before the outer marker.
The barrier constraint has another important application. So far in our model we
do not worry about the landing sequence, or more precisely the sequence that landing
aircraft intercept the runway center line. In practice, however, it is vital to maintain
the predetermined sequence throughout the whole process of final approach.
The
sequence constraint can be easily modeled as a barrier constraint. Consider aircraft 1
and aircraft 2, where aircraft 1 must intercept the runway center line before aircraft
2 does. Translating this in terms of barrier constraint, it is: the intercept point of
aircraft 2 must not be beyond the position of aircraft 1, i.e.
X2 ;> X1
In this case, of course, the barrier x1 is, instead of a constant, a function of aircraft
2's planned path.
Mathematically, we require that the x-coordinate of intercept point must be no
less than certain value, Dmin. Therefore for downwind leg we have:
v2
X+vt 1 -2
2r
+r t4 ] COS# + v-rsinG
2a
Dmin
(3.17)
That is, when the aircraft intercepts the runway center line, its x-coordinate must be
no less than Dmin.
We examine the impact of this constraint on each leg.
Downwind Leg
For downwind leg, we simply add constraint (3.17) to (***) and consider the resulting
linear system.
(v + r)t1 + C 2 t 4
(3.18)
v -r
v ti - 2r t 4 cos6
Dmin -sinO
o
+
v2_ 2
-cosO
a
- x,
(3.19)
t1
>
0
(3.20)
t4
>
lb
(3.21)
t4
<
ub
(3.22)
(3.19) is the new constraint that we need to take care of. Figure 3-7 shows the
geometric picture of (3.18)-(3.22). It can be seen that we need to consider the intersection of (3.18) and the equation version of (3.19). It can be shown mathematically
that the line that represents the equation version of (3.19) is steeper than the line that
represents (3.18) so that the two lines always intersect. Once we find the intersection
(fl, [4), we can perform our standard discussion. It turns out that
C
T4
+ v
- (x,
-
Dmin) -
(Vr)2(Vr
va
C 2 + 2 -(v+r)-cos6
.
cosO
(3.23)
Figure 3-7: The Most General Case
C
-
C2 f4
v +r
Notice that (1,
14 )
(3.24)
depends on measurement of the current x position of the aircraft,
xp.
Discussion
1. C2 > 0
* If lb > C/C 2 , then there exist no feasible paths for the aircraft. Indeed,
the aircraft will be late.
* If lb < C/C2, then
-
If
[4
< 1b, there will be no feasible path for the aircraft. Indeed, the
aircraft will be late.
If
-
4
>
lb, then
t4
= min (ub, t 4 ,
C-
_
v
C
C 2 t4
+
T
2. C2 = 0, C < 0, the aircraft will be late.
3. C2 = 0, C > 0
* If
<
4
ib, then there will be no feasible path for the aircraft. Indeed, the
aircraft will be late.
* If
1ib, then
[4
t4
=
min (ub, t 4 )
=
C - C 2 t4
4. C2 < 0
* If ub < C/C2, there will be no feasible path for the aircraft. Indeed, the
aircraft will be late.
* If ub
-
If
C/C2, then
f4
< max (C/C2, ib), then there will be no feasible path for the
aircraft.
- If [4 > max (C/C2, lb), then
t4
= min (ub, 14 )
C - C 2 t4
v
+ r'
Base Leg
As usual, we can obtain the governing equations by canceling out ti and certain
constants that are related to base turn in the equations for downwind leg. In this case,
however, some extra attention needs to be directed at the constraint that intercept
point must not be beyond the outer marker.
Mathematically the above constraint is:
2v t 3
xP -
Dmin
COSO>
which by (3.11) (on page 31), implies:
V 2 - r2
2ra
t , -Dmin
2 r cosO
As a result, ub will be different from the previous case. And it is
ub = min
d
d
v2
2 r sinO
_r
2ra
2
XP
'
v2 _r2
Dmin
2rcosO
-
2ra
The following are the equations for base leg.
C2 t4
(3.25)
(3.26)
t4 >
t4
< ub
(3.27)
Discussion
1. C 2
# 0, then
* If C/C
2
> lb and C/C 2 < ub, then
C
t4
=
t3
=
C2
1 v2 - r2
- -
2
va
r
-
t
4
d' - 2vt 3 sin0
* Else, there exists no feasible path for the aircraft.
2. C2 = 0, then
* If C = 0, then
ub
t=
t3
=
t2 =
* If C
#
v2 - r 2
1
--
r
-+
2
-t
v
va
4
d' - 2vt 3 sinO
V
0, then there will no feasible path for the aircraft.
Intercept/Deceleration Leg
Identical to the case without minimum intercept point constraint, we derive the following equations before deceleration:
x - (V t3
(V t3
+
+
v2 _
V2-r2
-+r
2a
r
r2
a+
r t 4 + -)cosO
r
t 4 ) sin9 + -(1
W
-
r (t3 + t4 +
xb -
=
cosO)
Let
Xb-X-r
d
COSr(v - r)
a
-(1 - cosO)
W
d-
=
W
Solving the above equations we get
d (1
v -
+V
- 1
-cos6)
r
( cosO
Slv~ d-
We want t 3
2
0 and t 4
2
1'
_' -r)2
~
1) r2a
r~1\(
(-r)2
-
0, which are equivalent to:
<
-
sinO
d'
(1 - cosO) -
(v -r)
2a
2
2
v - r
-)
a
W
>
>
-'
d'
r
(v-r)2
r
.(-cosJ+sin9 v
v
2a
After deceleration, the governing equations in this case become:
r (1 - cosO)t
4
=
I'
r t 4 sinO
=
d'
Similar to the simplest case, there exists a feasible path for the aircraft if and only if
d'
d'
sinO
tgO
3.4
Generation of Pattern 2 Paths
For illustration purposes, we have so far focused our discussion on pattern 1 paths.
In this section, we will derive the governing mathematics for pattern 2 paths. With
the idea we have developed for pattern 1 paths, we will directly consider the most
complicated case of pattern 2 paths.
Different from pattern 1, the generation of a pattern 2 path involves determining
the arrival angle of the arrival leg. See Figure 3-8. This arrival angle is static. Unlike
remaining durations, it will not be updated once it is calculated. Initially, the arrival
angle will be treated as an variable and will be solved simultaneously together with
initial remaining durations. Afterwards it will be treated as a parameter.
3.4.1
Calculation of Arrival Angle
Basic Equations and Constraints
As usual, in order for an aircraft to catch its schedule box on runway center line, we
must have
-2v t3 cosO - V t 2 sinO =
Vt 2 cosc + 2v t 3 sin9
=
1 - r (t 2 + t3 +
d
a
+ t 4)
(3.28)
(3.29)
Figure 3-8: Pattern 2 Path
If we require that the speed reduction begins in the middle of the intercept/deceleration
leg, then we have:
ota =
-
2
a
7.
+ rt
(3.30)
4
From (3.30) we get
t4
v
r
1 V2 _
- -1- -
2
r2
(3.31)
ra
Substitute (3.31) into (3.28) we get
-2v t3 cos -v
t 2 sin9
=
1- r(t
2
+ t
v -r
+
a
1
-
-
V2_- r2
V
ra
+ -t6)
r
2
Rearranging, we get
(r - v sin) t 2 + [r + (1 - 2cos)] t3 =+
(v-r)2
a
(3.32)
From (3.29) we get
t cos a
a =d - V 2
2v sinO
(3.33)
Substitute (3.33) into (3.32) we get
sin)t 2 + [r + (1 - 2cosO)]
(r -v
d
-
v t3 cosa
(v - r )2
.v-iV = 1 +
2v sinO
Rearranging, we obtain:
2v [1+,2
[2r sinO-(v+r)cosa+2v cos(a+O)] v t 2
] sinO-[r+(1-2 cosO)v] d
a
(3.34)
The constraints we have on a Pattern 2 path are the same as on Pattern 1 paths.
They are listed below.
1. No-Cross: Vt
2
cosa<d
2. Minimum Duration: t 3 + t 4 +
>7
Tmin, which after some substitution and
rearrangement yields
d -
V t2 cosa <
3. t 4
>
v
vr
2r[Tmin +
+
r
(v
)2
-r
ra
0, which after some substitution and rearrangement yields
Vt
2
cosa < d - v a r sinO
4. Minimum Intercept Point: zpo - 2v t 3 cosO
-
V t 2 sina
> Dmin, which after some
substitution and rearrangement yields
v t 2 cos(O + a) > (Dmin - xpo) - sin9 + d - cosO
We define the following:
ub
=
min(d -
2vr
v+r
[Tin +
)2
(v-r
.v
r) ] sinO, d ra
-
a
r2 sin)
max(0, (Dmin - xo) sinO + d sin#
lb
V
Then the above four constraints will simply reduce to
t 2 cosa < ub
(3.35)
> lb
(3.36)
t 2 cos(a + 9)
Solving for Arrival Angle
To solve for the arrival angle, we need to address the following three questions. First,
does there exist such an angle? Second, what is the range of the arrival angle? Third,
within the range of the arrival angle, what is our selection?
The first and second questions are very much related. We will address them at
the same time.
Let us consider both sides of (3.34) and define
f(a) = 2r sin6 - (v + r) cosa + 2v cos(a + 0)
C
=
2[l+
1
(v - r )2
2
a
sin -
[r
-+
v
(1 - 2 cos6)] d
(3.37)
(3.38)
Therefore (3.34) becomes
f(a)-t
2
= C
It is easy to get
f'(a) = (v + r) sina - 2v sin(a + 0)
For any 0 < a < 900 - 0, it is clear that f'(a) < 0. Therefore, f(a) is monotonically
non-increasing.
From (3.34), we have
t2 =
(3.39)
f(a)
Now clearly, if C = 0, then t 2 = 0. In this case, there is no arrival leg. Therefore
it is meaningless to calculate the arrival angle.
If (3.35) must be satisfied, then we must have
cosa- C
-
ub <
0
f(a)
Define
g(a)=
cosa
-. C-ub
Clearly we need g(a) < 0.
It is not hard to verify that
(3.40)
g'(a) = 2 (v - r 2sina) sinO C
f (a)
In order for (3.36) to hold, we must have
cos(a+6)
f(a)
-
ib>0
~
Define
h( a) =
cos(a + 0)
f(a)
C - lb
.)
Clearly we need h(a) > 0.
It is not hard to verify that
(3.41)
h'(a) = [-2r sin(a + 29)+ (v + r)] sinO
f (a)
Now if C > 0, then from (3.40) g'(a) > 0 and thus g(a) is monotonically non-
decreasing. Similarly, from (3.41) h'(a) > 0 and thus h(a) is monotonically nondecreasing. We need to consider several different cases.
1. f(0) < 0. Since f(a) is monotonically non-increasing,
f(a)
5 0 for any a > 0.
Hence there does not exist an a such that t 2 is non-negative and finite.
2. f(0) > 0. Since
f(j -0)
=
-(
-r) sinO < 0, then by mean value theorem, there
exists an a* such that f(a*) = 0. Then it is clearly that for any 0 <a < a*, t 2
will be non-negative and finite.
" If g(O) > 0, then there is no feasible solution. This is because g(a) will
be greater than 0 for any 0 K a < a* since g(a) is monotonically nondecreasing. Likewise, if h(a*)
0, there is no feasible solution.
* g(a*) _<0 and h(0) > 0, then any 0 < a < a* will satisfy g(a) < 0 and
h(a) > 0. Let al and a, denote the lower bound and upper bound on a,
respectively. In this case, al = 0 and a,, = a*.
* g(a*) < 0, h(0) < 0 and h(a*) > 0. The range of a that satisfies g(a) < 0
is [0, a*). By mean value theorem, there exists an a such that h(a) = 0.
The range of a that satisfies h(a) > 0 thus is [a, a*). Therefore the a that
satisfies both g(a) K 0 and h(a) > 0 lies in [,
a*).
* g(0) < 0, g(a*) > 0 and h(0) > 0. By mean value theorem, there exists
an 6 such that g(a) = 0. Then the range of a that satisfies g(a) < 0 is
[0, a). The range of a that satisfies h(a) 2 0 is simply [0, a*). Therefore
the range of a that satisfies both g(a)
0 and h(a) 2 0 is [0, &).
* g(0) 5 0, g(a*) > 0, h(0) < 0 and h(a*) > 0. Let ng be between 0 and
a* such that g(ag) = 0 and nh be between 0 and a* such that h(jh)
respectively. The range of a that satisfies g(a)
of a that satisfies h(a)
2
0 is [nh, a*). If
dg
=
0,
0 is [0, dg]. The range
ah,
the range of a that satisfies both g(a) < 0 and h(a)
al
=
then it is clear that
>
0 is [al, an), where
ah and a_ = ag. Otherwise, there will no feasible solutions for a and
therefore no feasible path for the aircraft.
We next discuss the situation where C < 0.
and h(a) are monotonically non-increasing.
Clearly, in this case both g(a)
Again, we enumerate all the possible
situations.
<
1. f(0) < 0. Because f(a) is monotonically decreasing, for any 0 K a K
have f(a) < 0. We now consider the constraints.
-
0 we
"
If g(M - 9) > 0, then for any 0 < a < Z - 9, g(a) > 0. Therefore there is
no feasible arrival angle. Similarly, if h(0) < 0, there is no feasible arrival
angle.
* g(0) < 0 and h(Z - 9) > 0. Similar to the previous case where C > 0 any
a in [0, j] is feasible. Hence at = 0 and a, =
* g(0) < 0, h(0) > 0 and h(z -6)
is simply [0,
-
-
9.
< 0. The range of a that satisfies g(a) 5 0
9]. By mean value theorem, there exists an a between
0 and Z
- 9 such that h(d) = 0. The range of a that satisfies h(a) > 0
2
is [0, a]. The range of a that satisfies all the constraints is [at, au] where
al = 0 and au = a.
* g(0) > 0, g(jr
-
9)
0 and h(Z - 9) 2 0. By mean value theorem, there
exists an a between 0 and M
such that g(d) = 0. The range of a that
2
satisfies g(a) < 0 is [a, z - 9]. The range of a that satisfies h(a) > 0 is
[0, M-9]. Hence the range of a that satisfies all the constraints is [al, an],
where al =d and au =
* g()
> 0, g(! - 0)
-9.
0, h(0) > 0 and h(! - 9) < 0. Let 5g be such that
g(ng) = 0. Let nh be such that h(nh) = 0. The feasible ranges of a are
[dg, j
-
9] and [0, nh] with respect to constraints g(a)
respectively. If 5g >
dh,
0 and h(a) > 0,
there are no feasible solutions. If ag
ah,
then
the range of a that satisfies all the constraints is [ai, au] where a =ji,
and a
2. f(0)
= ah.
0. Then by mean value theorem, there exists an a* between [0,
such that f(a*) = 0. We need only to consider the interval (a*,
*
-
-
]
8].
9(z - 9) > 0 or h(a*) < 0. There are no feasible solutions in either case.
e g(a*)
0 and h(M - 9) > 0. Through analysis very similar to that for the
previous case, we get that the range of a is (a1, au], where a, = a* and
ga* =
-9
0
* g(a*) < 0, h(a*) > 0 and h(z:
-
9) < 0. By mean value theorem, there
exists an a such that h(n) = 0. Similar to the previous analysis, we obtain
the range of a that satisfies all the constraints as (al, au], where a =a*
and au = a.
* g(a*) > 0, g(j - 9)
0 and h(Z - 9) > 0. Let a be such that g(5) = 0.
The range of a that satisfies all the constraints is
* g(a*) > 0, g(Z - 9)
0, h(a*) > 0 and h(
-
[,
Z - 0].
) < 0. Let [ag,
-]
be the range of a that satisfies g(a) < 0, where ng satisfies g(ng) = 0.
Let (a*,
nh]
h(nh)
0. If
=
be the range of a that satisfies h(a) ;> 0, where dh satisfies
dg
> ah, there will be no feasible solutions. If n,
-
nh, then
the range of a that satisfies all the constraints is [at, au], where at =
and au
=
n,
nh.
As we have seen above, what we obtain is a range of feasible arrival angles. In
other words we have a degree of freedom in determining the arrival angle. We can
minimize t 2 and therefore maximize t 3 from (3.27), the argument being give the leg
with the least control as much time as possible so that random errors can possibly
cancel out each other. Mathematically, since f(a) is monotonically decreasing, we
will simply choose either the left or right end of the range of a depending on data so
that the absolute value of f(a) maximized.
As a digression, it can be seen that solving f(a) = 0, g(a) = 0 and h(a) = 0 is a
important part in finding the arrival angle and may need further elaboration.
As it turns out, however, f(a), g(a) and h(a) are all monotonic. Simple iterative
methods can be used to solve for roots of f(a), g(a) and h(a).
3.4.2
Generating Paths
Once we find the arrival angle, we will treat it as a constant or parameter.
The
path generating scheme is very similar to that for Pattern 1 paths. The arrival leg is
the counterpart of base leg in Pattern 1 except that parameters C and C 2 (= f(a))
will involve the arrival angle a in Pattern 2 while a is simply 0 in Pattern 1. The
intercept/deceleration leg part is exactly the same as that of Pattern 1. We will omit
the trouble of going into the same detail again.
3.5
Feasible Intervals on Runway Center Line
We now advance into another very important issue in our implementation, the generation of feasible intervals on the runway center line where a schedule box can be
intercepted.
In case of infeasibility, we want to provide some remedies for the air traffic controller. In fact, our implementation gives the controller the capability to select a
schedule box and move it back and forth along the runway center line by clicking
the mouse on the schedule box and dragging it along. We need, however, to specify
for the controller a range within which it is feasible to maneuver the schedule box.
As we have seen, the feasibility is fully characterized by some inequalities, or more
precisely, some parameters (C and C2 for example), which in turn are determined by
the surveillance data. Essentially the problem of generating feasible intervals is the
problem of finding a range of certain data for which the inequalities hold. Our input
data include the speeds and positions of aircraft and schedule boxes, and possibly
the wind speed. It turns out however, that the only thing that we can control is the
positions of schedule boxes. In other words, the only parameter we can manipulate
is C since C contains x position of schedule boxes.
We implement the generation of feasible intervals in such a way that the moment
the controller clicks the mouse on the schedule box, a feasible window pops up along
the runway center line, within which the controller can move the schedule box while
maintaining the feasibility. See Figure 3-9 for illustration, where xj and z, are lower
and upper bounds of the feasible interval. The feasible window changes with time.
We will demonstrate how to generate feasible windows with respect to the most
complicated case we discussed earlier.
As we discussed earlier, the feasibility is fully characterized by some inequalities
involving input data. The main idea in generating feasible intervals is to find a range
of x position of schedule boxes that maintains the inequalities. From the inequalities
Feasible Interval
~Xl
x
Figure 3-9: Feasible Interval
that characterize feasibility, we solve for
Xb
and this will give a range of
Xb.
Downwind Leg
3.5.1
Let us consider all the feasible cases in "Discussion" part of Section 3.3.2 (on page 43)
and derive the feasible interval for each case.
0/C2 and f 4 > lb. From lb
1. C2 > 0, lb
C
C/C2, we get C < lb-C 2. Remember
r-d+
=
V
v
2
-
va
r [2v 2cos9 + (2sin6 + 2cos6 - 3)vr + (2sin9 1)r 2] (3.42)
(We ignore turn radius here)
So we have
xb
>
r
lb -C2 + - d
V
2
xi
v-r
va
[2v 2 cos9 + (2sin9 + 2cosO - 3)v r + (2iainO - 1) r 2 ] +
xP
From
[4
Xb
> lb and (3.23), we obtain
>
lb. [C2 +2-(v+r)-cosO]+
V
1 v -r
2
va
+
-v
V
d
[2v 2 cos9 + (2sin9 + 2cos6 - 3)v r + (2sin6 - 1) r 2]
- (x,- Dmin) + (v +
2
r+)
(v
va
V
r)
cos6 ± x,
2
=xi
The lower bound on xb is simply max (xI,
schedule box is [max (x', X2),
i).
The feasible interval for the
o).
2. C 2 = 0, C > 0 and f4 2 lb. C > 0 together with (3.42) gives
r
2
1
v
1.,vr[2V2cosO + (2sinO + 2cosO - 3)vr + ( 2sin# - 1)r 2 ] +
va
X,
-xi
As in the previous case, f 4 > lb gives
Xb
2
2r
lb - [C 2 + v
2
-r
V
[2v 2 coS9 +
va
+ r -
-
r
- (v + r) - cos9] + - d
-
Dmin)
V
(23in0 + 2co30 - 3)v r + (28in0
- 1) r 2
+ (v
cos + x,
va
V
2
=xi
The feasible interval is again [max (x', X 2 ), o).
3. C 2 < 0, ub > C/C 2 ,
f
4
>
C/C
2
and
2 lb. ub > C/C
f4
2
together with (3.42)
gives
xb
2
ub-C
r
+-.d
2
V
v-
2
va
r [2V2cos9 + (2sinO
+ 2cos6 - 3) v r + (2sinO - 1) r 2 ] + x,
x4
B
B y (3.2 3),
C/C
f4 >
gives
2
C+
(x,
-
C2
+
' -
Dmin)_ (v+- - 2--)
C
- cosO
C2
(v + r) - cosO
And so
[C +
V
(XP -
cosO]
Dmin)
- C2 <
[C2 + 2 - (v + r) - cosO] - C
We used without proof the fact that if C2 <. 0, then
2r
C2 +-.(v+r)-cosO < 0
V
After some rearrangement, we obtain
(x,
>
Xb
cos6) - C2
- Dmin --
v
2 r cosO
1v - r
2
[2V 2cos
va
r
+ - -d
+ ( 2sinO + 2cosO - 3))v r + ( 2sinO - 1) r2| + Xr
2
xz
=
As before
Xb
>
lb gives
[4 >
2r
lb. [C2 + --.
V
-
2
v
-
-
va
va
r
(v+r)-cosO]+- d
[2v 2 cos6
V
+ (2sinO + 2cosO - 3)v r + ( 2sinO - 1) r 2]
+r
(v +r)
- (xP - Dmin) +
V~
2
-(v -r)
va
-cos
T3
The feasible interval in this case is [max (x', X2, X3),
0o).
+
x,
3.5.2
Base Leg
As we did for downwind leg, we will consider all the feasible cases on page 3.3.2 and
derive the feasible intervals for each case.
1. C2 > 0, lb
lb-C
x=
<
< ub
C/C2
2
+
- d
-1- v-r
[2v 2cosO + (2sinO+ 2cosO - 3)v r + (2sinO - 1) r 2| + xP
2
va
r
ub-C 2 + - .d
V
1 v -r
- 2
va
=
xu
2. C < 0b,lb <C/C
x
=
K
[2v 2cosO + (2sinO + 2cos# - 3)v r + (2sinO - 1) r 2] + x,
2
< ub
T
ub -C2 + - - d
V
1 v.-r
- [2v 2 cosO + (2sinO + 2cosO - 3)v r + (2sinP - 1) r 2] +
2
va
r
lb-C 2 +
-d
xP
V
1 v-r
- 2
va
=
[2v2cos9 + (2sinO + 2cosO - 3)v r + (2sinO - 1) r 2] +
xP
xu
3. C2
=
0 and C = 0. In this case the feasible interval consists of a single point.
xi
=
xu
d-
r [2v 2 cosO + (2sinO + 2cos9
- 3)v r + (2sinO - 1) r 2]+
2 va
x,
3.5.3
Initial Intercept Leg (Before Deceleration)
In Section 3.3.2 (see page 46), we solved for t3 and t 4 and obtained
'
- (1 -
cosO)
v-rO -
(vr)2
2a
I -
v- r
- v("; r
)
o 6
1;" +
2
We want t6 > 0 and t 4 > 0. We therefore must have
d
(v-r)2_
- (1-
sinO
d
1V
-+
r
cosO) -
-
(v
-2
(v - r)2
v
-(-cos-1)-
-
r
sinO
>
0
>
0
2a
2a
So we get
r
(sin# V
d
3.5.4
r
-cosO)
+ v
(v-r)2
2a
+ x,
2a
X
d
-sin6 -(1- cos6)
.
-
(v
-r)
2
+ X
2a
Final Intercept Leg (After Deceleration)
After speed reduction, we essentially lose all our maneuvering ability. In terms of
feasible intervals, they consist of single points.
In order for an aircraft to catch its schedule box, we must have
xP-rt 4cosO
rt
4
=
Xb
r t
-
sinO = d
r (1 - cos9 )t
4
r t 4 sinO =
d
=
1
Clearly, we must have
1
d
r (1 - cosO)
Solving for
Xb,
we get
Xl = Xu=
3.6
r sin9
Xb=
d
sinO .(1-cos)+
x
Automatic Shifting of Schedule Boxes on Runway Center Line
One assumption in our model is that we are given an initial feasible sequence at the
beginning. By feasible sequence we mean a sequence that maintains both the fixed
order of landing and the critical separation. In the process of updating paths, there
is certain possibility that the landing sequence and/or critical separation be violated.
Because random errors are not very big and tend to cancel each other, we will assume
that they will not affect the landing sequence or critical separation and thus we leave
the landing sequence and critical separation consideration out in generating paths.
This, however, can be easily changed. With our formulation and implementation, it
is easy to incorporate the landing sequence and critical separation consideration into
path generation. We will discuss this in Chapter 5.
Although random errors have neglectable effect on landing sequence and critical
separation, the controller intervention in the form of dragging schedule boxes within
feasible windows can cause major changes in final approach plan and therefore can
affect the landing sequence and/or critical separation in a major way. Hence our
model should be able to check for sequence violation and/or separation violation
when the controller moves a schedule box.
At present we only consider the case where the controller moves a schedule box
backwards on the runway center line. Consider two schedule boxes. Let b, and b2 be
their positions, respectively. Let r1 and r 2 be their speeds, respectively. Suppose we
Figure 3-10: Data and Variables in Automatic Shifting
know an upper bound, D, on how much schedule box 2 is allowed to move backwards.
the maximum distances
See Figure 3-10 for illustration. We now want to find xa,
we can move schedule box 1.
We consider two different cases where r 2 > r 1 and r 2
<_ri, respectively.
1. r 2 > r 1 , i.e. aircraft 2 is faster than aircraft 1. Clearly, if when aircraft 1 reaches
the outer marker aircraft 2 is still 3nm away, then there will be separation
violation. We model this as a simple linear program.
max
s.t.
X1
x2 <
D
bi + x,
b2 + X2 -1+x
X1
r2
r1
>
3
>_ 0, X2 > 0
The solution is simply
1
max
b2
D - 3
-+
.
-
2. r 2 < ri, i.e. aircraft 1 is faster than aircraft 2. If schedule box 2 is 3nm away
from schedule box 1, there can be no separation violation.
In fact the two
schedule boxes will be further apart as they move along the runway center line.
In this case our formulation is
max
X1
s.t.
X2 <
D
b2 + X2
(b1 + x1 ) 2 3
-
X1 > 0, X2 2 0
The solution to the above problem is
xia
=
+ D
b2
-
3
b1 -
As we mentioned in Chapter 2, each time we consider a pair of schedule boxes, i
and i - 1. We start with n and n - 1. For schedule box n, D is simply the upper
limit of its feasible window. After we get Xz
, we let D
=
Xz
1
and consider pair
n - 1 and n - 2. We proceed in this manner until we obtain x.ax.
Now that we have the upper bound on how much a schedule box is allowed to
be moved, we can easily implement automatic shifting. Without loss of generality,
suppose we want to move schedule box 1. If it is moved less than xi
then it will be forced back to
where it is moved to. If it is moved more than xi
xz1
*After
it will stay
schedule box 1 is settled down, its succeeding boxes will also be moved.
We want to minimize the impact of moving schedule box 1. Therefore we want to
minimize the movement of succeeding boxes. From the above linear programs it is
easy to get
y;2
=
max (0, b + xr
2,
=
max(0, (b 1 + xi)+ 3 - b 2 ),
Therefore box 2 will be moved by y2.
2
+ 3-
b2 ),
if r 2 > r1
if r 2
r1
Now that box 2 is settled down, we will go
on to move its succeeding boxes. Clearly, we can calculate how much box 3 should
be moved in exactly the same way we did for box 2. This procedure continues until
box n is moved.
Chapter 4
Simulation on the Adaptive Final
Approach Spacing Advisory
System
4.1
Overview
The system we introduced, analyzed and developed in the previous chapters has been
implemented on the Apollo Unix machine at the Flight Transportation Laboratory at
MIT. The images of the necessary elements of our system are drawn and actually move
on the color display of the Apollo machine. The code is written in C programming
language. X-window system is the major tool of graphics implementation.
The implementation consists of two major components. One component does the
necessary computation such as generating final approach plans and updating data
on aircraft.
This component is mostly written in plain C programming language.
The other major component does the necessary drawing, both static drawing such as
the drawing of coordinate axes and dynamic drawing such as the drawing of moving
objects such as aircraft and schedule boxes. This part is heavily X-oriented.
Our simulation is essentially a big loop. In each iteration of the loop, paths are
first generated for each aircraft, then data is updated for each aircraft and finally
images of moving objects are drawn. We keep track of the number of aircraft that
have reached the outer marker. The loop continues until all the aircraft reach the
outer marker. The looping frequency is determined by the frequency of input data
updating. For example it can be the frequency of radar scanning.
We will describe in certain details the data we need and the two components and
the flow of control in the following sections.
4.2
Input Data
The input data to our model include number of aircraft, arrival times of aircraft, initial
positions of aircraft, initial positions of their schedule boxes, air speeds of aircraft,
speeds of their schedule boxes(which are the final approach air speeds of aircraft) and
windspeed. These data are implemented as global variables or global arrays.
4.3
Flags
We use a number of flags for each aircraft in our simulation to keep track of the status
of the aircraft in our system. The following is a partial list of some important flags.
e a flag that indicates if a feasible final approach path exists for each aircraft. It
equals 0 if there is a feasible path for the aircraft and 1 otherwise. A missed
approach will have to be called or some other drastic actions will have to be
taken if this flag takes value 1.
* a flag that indicates if an aircraft has intercepted the runway center line. It
equals 1 if the aircraft has intercepted the runway center line and 0 otherwise.
* a flag that indicates if an aircraft has reached the outer marker. It equals 1 if
the aircraft has reached outer marker and 0 otherwise.
* a flag that indicates if some errors that may lead to infeasibility and need human
corrections have occurred. It takes value 1 if such errors occur and 0 otherwise.
4.4
4.4.1
Computation
Generation of Final Approach Paths
We keep a running time of our simulation. Also we keep an arrival time for each
aircraft. As soon as the program detects that an aircraft has arrived at the terminal
area, it will start generating final approach path for it.
We deal with two different final approach path patterns, as was mentioned in
Chapter 1. We divide pattern 1 path into 6 different stages - downwind stage, base
stage, initial intercept stage, decelerating stage, final intercept stage and final gliding
stage. We actually create for each aircraft an integer variable to keep track of the
current stage of the aircraft. We compute the remaining duration of the current leg
and the durations of the succeeding legs, i.e. in order for an aircraft to intercept
its schedule box on the runway center line, how long it should fly on each leg. For
example, if an aircraft is on downwind leg, we compute how much longer it should
fly downwind before making the base turn, how long it should fly on base leg before
making intercept turn, how long it should fly on base leg before making the intercept
turn, how long it should fly on intercept leg before starting speed reduction and finally
how long it should fly on final intercept leg before making the final turn. As a matter
of fact, the remaining duration of the current stage is really what we are after while
the durations of the succeeding legs are the byproducts. We keep our eyes on the
remaining duration of the current stage and when we find it less than a critical value
(for example, 15 seconds), then the stage will increase by one, i.e. it is time for the
aircraft to move to next stage. The procedure that generates pattern 1 paths is called
generate_ L-path. It takes as arguments the aircraft number and its current stage.
For pattern 2, there is no downwind leg and therefore we have only five stages. We
need to choose an arrival angle for each arriving aircraft. For detailed discussion on
determining arrival angle see Chapter 3. After we determine the arrival angle for an
aircraft, the rest of the computation is almost the same as that for pattern 1 paths.
4.4.2
Data Updating
Positions of aircraft and schedule boxes are updated from cycle to cycle. The function
that accomplishes the updating is called update. It takes as arguments the aircraft
number, its current stage and an indicator that indicates which side of the runway
center line the aircraft is on.
The basic updating formula is New x-Coordinate = Old x-Coordinate + Change
in x-Coordinate + Random Errors and New y-Coordinate = Old y-Coordinate +
Change in y-Coordinate + Random Errors where changes in coordinates are due to
the movement of aircraft in x and/or y directions, and random errors are due to
a model of errors ranging from radar surveillance error to piloting error, and are
assumed to be normally distributed with zero mean.
If an aircraft is on stage 6 and its updated x-coordinate is less than or equal to
zero, then we know that this aircraft has reached the outer marker and so we mark
it done and the number of aircraft that have reached the outer marker increase by 1.
4.5
Drawing Moving Objects
Once we have the positions of aircraft and their schedule boxes, next thing we do in
the loop is to draw the images of these objects. The drawing scheme is very simple.
We first delete the old image which we drew in the last cycle by drawing it once again
at the same old position. Then we draw a new image at the updated position.
We will describe some of the salient features of our drawing procedures.
4.5.1
Blinking of Aircraft Image
We would like our computer system to prompt the controller when it is time to call
a turn or speed reduction. This is achieved by blinking aircraft images when the
remaining durations of their current stages are less than or equal to a critical value
which is a parameter that can be set by the user of our system. The blinking itself
is implemented by alternately drawing and deleting. That is if at this loop we draw
an image, then next cycle we delete it without drawing a new one; if in this cycle
we delete an image without drawing, then next loop we simply draw an image. The
visual effect is a blinking image.
4.5.2
Change of Color of Aircraft Images
It is very easy for the controller to tell if an aircraft is on downwind leg or on base
leg. But once an aircraft makes the intercept turn it will be hard for the controller to
tell what stage the aircraft is on. In order for the controller to easily tell the different
stages, we paint aircraft images with different colors. Specifically, when aircraft are
on the initial intercept leg we paint them in the same color as the one for downwind
and base legs, which is white. When aircraft are decelerating we paint them with
green color. When aircraft are on the final intercept leg, we paint them with red
color.
For each aircraft we keep a flag that indicates if the color of the aircraft is to be
changed. Initially it is set to 0. When the stage of an aircraft changes from 3 to 4
(it is time for the aircraft to decelerate), the change-of-color flag is set to 1 and the
color of the aircraft image is changed to green. When the stage of an aircraft changes
from 4 to 5 (the aircraft will be on final intercept leg), the change-of-color flag is set
back to zero and the color of the aircraft image is changed to red. When the stage of
an aircraft changes from 5 to 6 (it is time for the aircraft to make the final turn), the
change-of-color flag is set to 1 again and the color of the aircraft image is changed
back to white.
4.5.3
Change of Color of Schedule Boxes
Due to random errors, infeasibility can occur in the middle of the execution of an
aircraft's arrival path. We would like our program to have the capability of informing
the controller of the possible infeasibility.
We keep a flag which indicates if human correction is necessary. It equals 0 if no
human correction is needed and 1 otherwise. When human intervention is needed,
the schedule box will change its color from green to red. The controller can eliminate
the infeasibility by mousing and dragging the schedule box to a feasible spot. (See
next section for details)
4.5.4
Dragging and Moving Schedule Boxes
As we mentioned earlier, we would like to give the controller the capability to change
the schedule when necessary. Indeed this is accomplished in our simulation with the
help of event-handling capability of X-window system. The controller is able to press
the mouse button on the schedule box he/she would like to move, drag it around with
the mouse button pressed and release the button to put the schedule box at the place
he/she wants it to be.
We select, as the events that are of interest to our simulation the press of mouse
buttons, the motion of mouse and the release of mouse button. In each cycle our
simulation program looks for these events. When it detects a press of mouse button
on a schedule box, it knows that the controller wants to move it. It then will do
the following two things. First it will draw a sliding box of different color than the
schedule box. The sliding box can be dragged around by the controller while the
schedule box moves as normal. Second it will draw the feasible window.
Usually
two vertical bars are drawn, each representing lower and upper bounds of the feasible
window, respectively. If the lower bound is finite and the upper bound is positive
infinity, then only the vertical bar that represents the lower bound is drawn. It is
not possible for the lower bound to be negative infinity because the aircraft must
intercept the runway center line in front of the outer marker. The feasible window
updates from cycle to cycle if the controller keeps the mouse button pressed.
When our simulation program detects the motion of the mouse button it knows
that the controller has moved the sliding box. It then will figure out the new position
of the cursor, delete the old sliding box and draw a new sliding box at the new position
of the cursor.
When our simulation program detects the release of the mouse button, it knows
that the controller has decided on the place where he wants to put the schedule box.
It then will do four things. First it will delete the sliding box. Second it will delete
the old schedule box. Third, it will draw a new schedule box at the place where the
controller has chosen. Finally, it will delete the feasible window. However, there are
times when the controller moves the schedule box beyond the feasible window. If it
stays where it is, infeasibility will result. To avoid this, our program will automatically
move the schedule box to the upper boundary of the feasible window if the schedule
box is moved beyond it, by deleting the schedule box at the place the controller
has chosen and drawing a new one at the upper boundary of the feasible window.
Similarly it will automatically move the schedule box to the lower boundary of the
feasible window if the box is moved beyond the lower boundary of the feasible window,
by deleting the schedule box at the place the controller has chosen and drawing a new
one at the lower boundary of the feasible window.
4.5.5
Automatic Shifting
As we pointed out in Chapter 2, the movement of a schedule box can cause separation violation. For the time being we will concern ourselves only with the effect
of backward movement of schedule boxes on critical separations. It is clear that for
each schedule box there is a limit on its backward movement. In fact we compute
this limit for each aircraft in the computation component of our simulation.
In section 4.5.4, we discussed the checking of movement beyond feasible windows.
We apply the same idea here to separation violation checking. After we make sure
that the movement of a schedule box is within its feasible window, we check if the
limit on backward movement is broken. If it is, the box will be pulled back to that
limit, very much similar to the situation where the box is moved beyond its feasible
interval. Otherwise, it will stay where it is moved to. Due to the movement of the
current box, its successors will be affected in that they will possibly need to move
backwards too in order to maintain separation.
So after the current box is settled
down, our program will examine each of its successors and move them accordingly.
Chapter 5
Concluding Remarks
In the research that leads to this thesis, we have described the problem of Final
Approach Spacing, formulated a mathematical model for it and analyzed the model.
We have also developed a simulation scheme and have written a simulation program
that runs successfully on an Apollo 4500 Unix machine.
This in turn shows the
correctness of our model. It is fair to say that a solid foundation has been laid for
future research in FASA problem and for possible real-time implementation of FASA
model.
The major contribution of this thesis is to model the FASA problem as a linear
programming problem.
With this modeling whole problem reduces to calculating
remaining durations of different legs, which are straightforward concepts. Also our
model has the capability of incorporating almost any constraints.
There remains a lot of work to be done in this area. We propose some possible
improvements to be done in future both on modeling side and on simulation side.
5.1
Future Topics in FASA Modeling
One of the assumptions we make in our model is that we are given a feasible initial sequence of landing aircraft. We can, however, make the generation of feasible
landing sequence an internal feature of our model by incorporating the sequence and
separation constraints into our consideration.
The feasible initial sequence assumption has allowed us to individually generate
feasible paths for approaching aircraft.
This, however, can change if we take into
account sequence and separation constraints. In other words, the sequence and separation can couple an aircraft and its successor together and thus we are forced to
take a systematic approach to path generation.
We have been making efforts and
have achieved some progress in modeling the whole problem as a single linear programming problem where the paths for all the aircraft are generated simultaneously.
When we generate paths for aircraft individually, we have certain clear objective, for
example, minimizing the duration of downwind leg. But it is not clear at this point
what our objective is if we take the systematic approach. The generation of feasible
windows in the systematic approach will become a problem of sensitivity analysis in
linear programming. But it will lose its simplicity as well as clear intuition.
We have also tried to maintain the individual approach while incorporating sequence and separation constraints. We do this by modeling the sequence and separation constraints in an approximate way such that the coupling between an aircraft
and its successor is cut off. This is yet to be implemented and tested. As it turns out,
the approximations of the original constraints are more restrictive than the original
constraints. Therefore we will end up with more chances of infeasibility. But if the increase in chances of infeasibility is not significant, it pays off to use the approximated
constraints.
Another major area of improvement is the insertion of take-offs. In practice the
controller may want to insert take-offs between consecutive landings. This may either
be because the two consecutive landings are too far apart or an immediate take-off
must occur in which case the controller will have to maneuver the schedule boxes so
that the immediate take-off can happen. Apparently the decisions the controller has
to make are when to insert the take-off and between which two landings the take-off
should be inserted. In our model we have not considered this.
A third possible improvement is the incorporation of wind into our model. We
have done so for the earlier and simpler version of our model. We need to put it
into our most updated model. Our perspective is that the incorporation of wind is
relatively simple and will not cause major changes in our model.
A fourth possible improvement is to model the errors more accurately and more
realistically. So far we have combined all the errors together and modeled them as
normally distributed random errors. We may need to model different errors (piloting
error, surveillance error and etc) separately and differently.
5.2
Future Improvements in Simulation
The main goal of our graphic implementation has been to test and demonstrate our
model and basic logics. This goal has been successfully achieved. In our next phase,
we will look to upgrade our graphic display.
One thing we would like to do is put a tag on each aircraft and schedule box,
respectively, which tells the position, speed and aircraft number and etc.
Second thing we would like to do next is to implement caboosing scheme. Because
of the difference in speeds the sequence of aircraft on the display may not be the
correct one until very late stage of final approach. More specifically, a fast aircraft can
be behind its slower successor on the display, i.e. the "wrong" sequence is displayed.
Eventually the fast aircraft will overtake the slow one and the "wrong" sequence
will be corrected.
It may be desirable, however, to maintain the correct landing
sequence at all times on the display. Caboosing is to attach the slow aircraft to its
fast predecessor and let them move together at the speed of the fast aircraft. At the
time of overtaking, the slow aircraft will be detached from its predecessor and will
move at its own speed from then on. Our program will keep track of the real position
and real speed of the caboosed aircraft and generate the path for it as if it were
displayed at the real position. More details need to be worked out about displaying
feasible windows for an caboosed aircraft, moving the caboosed aircraft and etc.
We expect much more work to be done on simulation and display than on modeling
as time goes by, especially when we start real-time test.
Bibliography
[1] Robert W. Simpson.
Advanced Automated Control of Aircraft in Terminal
Airspace, NASA Research Grant NAG-2-190 First Year Progress Report. Technical Report, Flight TransportationLaboratory, MIT, September 1983.
[2] Robert W. Simpson. Description of an Adaptive Algorithm for SAFA (Spacing
Advisories for Final Approach). Working Paper, Flight TransportationLaboratory,
MIT, April 1989.
[3] Robert W. Simpson and John Pararas. Initial Overview Paper on Functional
and Operational Requirements and Issues. Working Paper, Flight Transportation
Laboratory, MIT, February 1989.
Download