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.