PROBABILISTIC COLLISION DETECTION FOR AIRCRAFTS IN A DYNAMIC ENVIRONMENT Manan Vyas B.E., Gujarat University, India, 2008 PROJECT Submitted in partial satisfaction of the requirements for the degree in MASTER OF SCIENCE in ELECTRICAL AND ELECTRONIC ENGINEERING at CALIFORNIA STATE UNIVERSITY, SACRAMENTO FALL 2012 PROBABILISTIC COLLISION DETECTION FOR AIRCRAFTS IN A DYNAMIC ENVIRONMENT A Project by Manan Vyas Approved by: __________________________________, Committee Chair Fethi Belkhouche, Ph.D. __________________________________, Second Reader Preetham B. Kumar, Ph.D. ____________________________ Date ii Student: Manan Vyas I certify that this student has met the requirements for format contained in the University format manual and that this project is suitable for shelving in the library and credit is to be awarded for the Project. __________________________, Graduate Coordinator Preetham B. Kumar, Ph.D. Department of Electrical and Electronic Engineering iii ________________ Date Abstract of PROBABILISTIC COLLISION DETECTION FOR AIRCRAFTS IN A DYNAMIC ENVIRONMENT by Manan Vyas This project develops an algorithm for finding the probability of collision for multiple aircrafts in a dynamic environment using point-mass aircraft models. Kinematic equations of motion and velocity vectors are proposed to identify collision scenarios with precision. The collision detection algorithm is tested for the deterministic case first. The algorithm is then extended for the probabilistic case. Monte-Carlo simulation is used to calculate the probability of collision. Time at the point of closest approach (PCA) and distance at PCA are required to determine the probability of collision. The algorithm is first verified for two aircrafts, then extended to three aircrafts. Simulation is used to demonstrate the performance of the proposed algorithm for different types of environments. _______________________, Committee Chair Fethi Belkhouche, Ph.D. _______________________Date iv ACKNOWLEDGEMENTS I would like to express deep and sincerest gratitude to Dr. Fethi Belkhouche for providing me an opportunity to work on this project. I am thankful to him for always being there throughout the project to help me develop the project, providing necessary resources and support. This project has immensely helped me get exposure to the advancement in the field of Air Traffic Management (ATM). I would also like to thank Dr. Preetham Kumar for reviewing my project report and providing me with timely feedback to improve my report. I am truly thankful to the faculty and staff members of Electrical and Electronics Engineering Department (EEE) at California State University, who have been helpful for the course of the project directly as well as indirectly in making this project successful. Lastly, I would like to thank my family and friends for their strong support, encouragement and strength throughout my project as well as my academic career at school. Manan Vyas v TABLE OF CONTENTS Page Acknowledgements………………………………………………………………………..v List of Tables…………………………………………………………………………….vii List of Figures…………………………………………………………………………...viii Chapter 1. INTRODUCTION……………………………………………………………………...1 2. COLLISION DETECTION ALGORITHMS………………………………………….4 2.1 Basics of Conflict Detection Algorithms...……………………………………4 2.2 System Modeling……………………………………………………………...7 2.3 Relative Motion and Point of Closest Approach (PCA)………………………9 2.4 Calculation of PCA using Relative Motion………………………………….10 3. APPROACH AND SIMULATION…………..………………………………………17 3.1 Deterministic Approach……………………………………………………...17 3.2 Probabilistic Approach……………………………………………………….22 4. SIMULATION RESULTS……………………………………………………………33 4.1 Simulation Results…………………………………………………………...35 5. CONCLUSION……………………………………………………………………….43 Appendix MATLAB Code………………………………………………………………44 References………………………………………………………………………………..50 vi LIST OF TABLES 1. Aircraft 1 Mean Value and Standard Deviation………………………………………30 2. Aircraft 2 Mean Value and Standard Deviation………………………………………30 vii LIST OF FIGURES Page 1. Basic Conflict Detection Algorithm……………………………………………………5 2. Propagation Methods of Aircrafts………………………………………………………6 3. Aircraft Co-ordinate System…………………………………………………………....8 4. Protected Airspace Zone (PAZ)……………….………………………………………..9 5. Relative Motion of Multi-aircraft System……………………………………………..10 6. Relative Motion of Oblivious Aircrafts in 3-Dimension……………………………...11 7. Conflict Scenario……………………………………………………………………...14 8. Cylindrical Protected Zone……………………………………………………………15 9. Relative Distance in 3-Dimension.……………………………………………………18 10. Deterministic Approach Flow Chart…………………………………………………19 11. Aircraft 1 Trajectory…………………………………………………………………20 12. Aircraft 2 Trajectory…………………………………………………………………21 13. Aircraft 1 Velocity Distribution……………………………………………………..23 14. Aircraft 1 Flight Path Angle Distribution…………..………………………………..24 15. Aircraft 1 Heading Angle Distribution………………………………………………24 16. Aircraft 1 x Co-ordinate Distribution………………………………………………..25 17. Aircraft 1 y Co-ordinate Distribution………………………………………………..25 18. Aircraft 1 z Co-ordinate Distribution………………………………………………..26 19. Aircraft 2 Velocity Distribution……………………………………………………..27 viii 20. Aircraft 2 Flight Path Angle Distribution.…………………………………………...27 21. Aircraft 2 Heading Angle Distribution………………………………………………28 22. Aircraft 2 x Co-ordinate Distribution………………………………………………..28 23. Aircraft 2 y Co-ordinate Distribution………………………………………………..29 24. Aircraft 2 z Co-ordinate Distribution………………………………………………..29 25. Probabilistic Conflict Detection Algorithm Flow Chart…………………………….31 26. Trajectories of Aircraft 1 & 2…………………….…………………………………35 27. Vertical Plane………………………………………………………………………..36 28. Horizontal Plane……………………………………………………………………..37 29. Relative Distance Distribution………………………………………………………38 30. Relative Distance Distribution………………………………………………………38 31. Time to PCA Distribution……………………………………………………………39 32. Relative Horizontal Distance at PCA………………………………………………..39 33. Relative Vertical Distance at PCA…………………………………………………..40 34. Probability of the Conflict…………………………………………………………...41 35. Probability of the Conflict…………………………………………………………...42 ix 1 Chapter 1 INTRODUCTION Aircraft conflict detection has been an important research and investigation topic in the last decade. Air Traffic Management (ATM) has always challenged researchers aiming at making intelligent navigation and collision detection schemes more autonomous and robust. Because of the expansions in ‘Free Flight [1]’ policies, the growth of tracking devices and the changing economic factors, conflict detection algorithms continuously need to be reexamined and improved. Additionally, the increasing air traffic in recent years requires more sophisticated levels for conflict detection algorithms, including safety and capacity. Considering all these factors, conflict detection has become one of the most important parts of today’s air traffic management system. The most important part of collision detection for two moving objects (i.e. aerial or ground vehicles, robots, etc.) is to understand the environment and the motion variables. In this project, dynamic environments for the aircrafts are considered. Collision can be defined as a predicted violation of a separation assurance standard [2], which gave birth to the concept of Protected Airspace Zone (PAZ). When the constraints of the Protected Airspace Zone are violated, a collision between aircrafts exists. Outside of this protected zone, aircrafts are free to fly in the environment. Thus, it is necessary to 2 understand the dynamics and geometry of two aircrafts that are in a collision course. Conflict conditions can be extended for multi-aircraft systems. For any collision detection algorithm, it is important to have the following information: ο· Basic information about the kinematics of point-mass aircrafts in the dynamic environment. ο· Analysis of instantaneous vectors to keep track of aircraft states periodically. In the proposed algorithm, based on the aircraft’s position in the environment, we find the time it takes the aircrafts to reach the Point of Closest Approach (PCA) [3]. At the PCA, we calculate the distance between the two aircrafts and find out whether any aircraft is within the range of their protected airspace zone. If any aircraft is within the range of the protected zone of another aircraft, an alerting mechanism is generated showing conflict. In practice, it is important to consider the uncertainties due to weather and other factors such as sensors error. The information provided by the sensory system is error prone and corrupted by uncertainties. Uncertainties are assumed with normal distribution for the position, the velocity, the flight path angle, and the heading angle. This information changes constantly during flight. To deal with error propagation, Monte Carlo Simulation is suggested in this project to obtain the probability of collision. For each Monte Carlo Simulation, aircraft information is used to determine the conflict probability as a frequency [2]. This approach gives us the probability of collision, which 3 can be used to prioritize the mechanism for collision avoidance. The algorithm is developed for two scenarios: 1. Deterministic case 2. Probabilistic case The proposed algorithm is first tested for the deterministic case, where the aircrafts states are exactly known. Euler approximation is used to approximate the dynamic equations of motion. Then the same idea is extended for the probabilistic case, which takes uncertainties into account. 4 Chapter 2 COLLISION DETECTION ALGORITHMS Various algorithms are developed for collision detection in different environments. The preliminary investigation of these algorithms is necessary to get an understanding of the previous contributions. The algorithms developed in the previous literature usually start with simple approach for 2 dimensional scenarios. These algorithms can be developed for air vehicles, ground vehicles or even sea vehicles. Basic approaches for these kinds of algorithms allow few variables to change. These ideas are then expanded to focus on 3 dimensional systems with more state variables that include the position, attitude (flight path angle, heading angle) and velocity. Some algorithms are discussed below. 2.1 Basic Conflict Detection Algorithms Any traffic management system requires tracking the vehicles for conflict detection and resolution. Some conflict detection methods use a few steps. The first thing for any algorithm is to sense the environment. Once the environment structure is known, this information is passed on to the state prediction stage. Using the information of the current state of the vehicle, dynamic models are built to predict the next state of the vehicle. This information can solely be based on the current and the next state. 5 Figure 1: Basic Conflict Detection Algorithm [4] After predicting the dynamic states of the vehicles, conflict detection conditions are checked. This part contains the main conflict detection information. Various approaches have been developed for conflict detection. The selection of conflict detection algorithm depends on the user and the environment. 6 There are many other factors that work along with the development of the individual blocks. The dimension selection is very important. Depending on the environment, we can choose a horizontal plane only, a vertical plane only, or both [4]. The selection can be expanded to other dimensions easily. Current and next states can be obtained using different methods. States of the vehicles are basically represented by the co-ordinates and the velocity. These variables can be found indirectly by using range measurements or based on the information given beforehand for guided way point. There are also many methods available for selecting the conflict detection algorithm. There are three fundamental options, which are nominal, worst-case and probabilistic [4]. In the nominal method, the future state of aircraft is projected from the current state without considering any uncertainties. This is shown in the figure below. Figure 2: Propagation Methods of Aircrafts [4] In the worst-case method, the current state is believed to be taking extreme values, from which the future state is predicted. In probabilistic methods, uncertainties are included in the vehicle’s model and the future state is predicted based on error propagation models. The probability of collision is calculated based on the future state information. After conflict detection, alert messages are transferred to the conflict resolution algorithm. 7 2.2 System Modeling In this project, the algorithm used for the implementation of collision detection is based on the point-mass aircraft model. Previous research in this field showed the efficiency of these types of aircrafts models. The point-mass aircraft model captures most of the dynamical effects encountered in civil aviation aircrafts [5]. In real world applications, there are many forces that act on the aircrafts in flight. Thrust is one of these forces. Thrust is defined as the force that helps aircraft move within the air. It is really important while developing algorithms for conflict detection, that aircraft models follow a strict coordinated maneuvers. Point-mass aircraft model makes several assumptions like aircraft thrust is always directed in the direction of the velocity vector. Point-mass models of aircraft are only practical within the range of 200 nautical miles [5]. Most conflicts occur in this range, which makes it practical to use the point-mass model. The point-mass aircraft equations are described as [2]: ππ = πΎπ = π ππ ππ −π·π ππ − π sin πΎπ (ncos ∅π − cos πΎπ ) π₯π = ππ cos πΎπ cos ππ π π sin ∅π ππ = π π¦π = ππ cos πΎπ sin ππ π cos πΎπ π§π = ππ sin πΎπ (1) 8 The aircraft co-ordinates and flight path information are described in Figure 3: Figure 3: Aircraft Co-ordinate System [2] Fig. 3 represents the state information for one aircraft. The same assumptions are made for other aircrafts in the environment. So, equation (1) is valid for all aircrafts. ππ is the velocity of aircraft i, πΎπ is the flight path angle, ππ is the heading angle. π₯π , π¦π , π§π are positions of north, east, and upward direction, respectively. These six parameters are assumed to be measured repetitively during the flight. Along with these input parameters, there is also control variables needed for minimizing the probability of conflict. These control inputs are T, n, and ∅, which are thrust, load factor, and bank angle, respectively. 9 2.3 Relative Motion and Point of Closest Approach (PCA) In any conflict detection algorithm, it is important to understand the relative motion of the objects. Before diving into these aspects, let us first describe the theory of Point of Closest Approach (PCA) [3]. This protected zone is basically a cylinder with a pre-defined radius and height from the center of the aircraft as shown in the Fig. 4. After calculating the relative distance of each aircraft from one another, if the constraint of this protected area is violated, it is considered as a conflict. Figure 4: Protected Airspace Zone (PAZ) [3] As discussed above, our algorithm considered both the deterministic and the probabilistic cases. 10 Figure 5: Relative Motion of Multi Aircraft System. As shown in Fig. 4, in the deterministic case, if the cylindrical region is violated by another aircraft, it is considered a conflict. In Fig. 5, the relative motion between two aircrafts is shown. In the probabilistic case, uncertainties are included in the aircraft path and control inputs. 2.4 Calculation of PCA Using Relative Motion In this project, a three-dimensional dynamic environment is considered for the aircrafts in conflict. The relative positions and velocities between aircrafts are used. The geometry used to find the relative motion and velocity is shown in Fig. 6. 11 Figure 6: Relative Motion of Oblivious Aircrafts in 3-Dimension [3] 12 First, Let us consider a separate horizontal plane for aircraft A. This horizontal plane is passing through aircraft A. A second plane defined as AB is the relative motion plane, which contains the velocity vectors of both planes. π£βπ and π£βπ are the velocity vectors of aircraft A and B, respectively. The surface normal to AB is defined by the vector cross product π£βπ x π£βπ [3]. Variables defined in this rotating plane are used to calculate the position of aircraft B relative to aircraft A. This moving reference plane is theoretically connected to the center of aircraft A. So in this scenario, the y-axis of aircraft A falls on to the horizontal plane A. This assumption is helpful in realizing that the velocity vector and the y-axis (both on the horizontal plane) point toward the nose of the aircraft, and the x-axis represents the direction of the right wing of the aircraft. The z-axis is defined in such a way that x, y and z-axis form a right hand system which makes π§β = π₯β β π¦β. With this consideration z-axis always points in the vertical direction. By locating x, y, and z, the coordinates of the reference point of aircraft B, we can calculate the relative distance of aircraft B with respect to aircraft A. In the course of this relative motion, there are two important vectors that we define as follows: 1) Relative distance vector πβ 2) Dot product of the relative velocity vectors π£βπ β π£βπ The relative distance vector πβ, of aircraft B relative to aircraft A is given by: ββ πβ = xπβ + yπβ + zπ (2) 13 Considering that the angle between π£βπ and π£βπ is π, the dot product can be given by: π£βπ β π£βπ = |π£ βββββ||π£ π βββββ| π cos π (3) which is the heading difference between the two aircrafts. In our algorithm, πβ is the relative distance of aircraft B relative to aircraft A at the Point of Closest Approach (PCA). ∅ is the angle off in the relative motion plane AB from the velocity vector π£βπ of aircraft A to aircraft B, and π½π is the angle between the velocity vector π£βπ and the distance vector πβ [3]. The relative distance and velocity vectors are important factors to determine the Point of Closest Approach. In this algorithm, the aircrafts have the same protected zone. None of the aircrafts should violate this protected zone. A few assumptions are needed to develop the equation of the PCA. For this purpose, a miss vector as shown in Fig. 6 is taken into account. A definite conflict occurs when the motion of the aircraft B follows a path in the relative motion plane at 90 degrees to the zero range rate line [3]. A conflict will occur when the relative distance πβ falls in the protected zone at the point of closest approach. 14 Also, the motion of aircraft B relative to aircraft A will be in the direction of relative velocity vector. Thus the time at which aircrafts are at the Point of Closest Approach is given by [3]: π = −(πβ β πβ)/( πβ β πβ) (4) where πβ is the relative distance (position vector) and πβ is the relative velocity vector. The result for π gives us the information about whether the conflict avoidance algorithm is needed. In the case where two aircrafts have passed each other and they are getting away from each other, π will end up having a negative value. So in that case there is no threat of conflict. The conflict resolution algorithm is implemented when π is positive. A view of the conflict scenario is shown in the figure 7. Figure 7: Conflict Scenario [3] 15 Once the time at PCA is obtained, a relative position vector at PCA is calculated. Since the protected zone of the aircraft is a cylindrical figure, the relative position vector at PCA can be proven by horizontal and vertical distance of the aircrafts. The relative position vector is given by [2]: βπβπ = βββββ πβπ + βββββ ππ£π where (5) πβπ is the horizontal distance and βββββ βββββ ππ£π is the vertical distance of the cylindrical protected zone. Figure 8: Cylindrical Protected Zone [2] This conflict detection algorithm is tested for two different cases. For the deterministic approach, the algorithm described above is applied to the relative position and velocity of the aircrafts. The algorithm gives the necessary information about collision detection. This part is covered in more details in chapter 3. In the probabilistic 16 approach, uncertainties are included in the flight information using Monte-Carlo simulation. These uncertainties are added to the true values for every step in the MonteCarlo simulation. The conflict probability is calculated by [2]: ππ’ππππ ππ πΆπππππππ‘π P = ππ’ππππ ππ ππππ‘π−πΆππππ ππππ’πππ‘ππππ (6) 17 Chapter 3 APPROACH AND SIMULATION This chapter is dedicated to the implementation of the collision detection algorithm. As discussed earlier, this project addresses both the deterministic and probabilistic cases. 3.1 Deterministic Approach In the deterministic approach, the state of the aircrafts is exactly known at every point in time. The aircrafts follow a strict path along the course of their travel. This is because in the deterministic approach, aircrafts variables like velocity, flight path angle and heading angles are considered known. This approach can be explained with the help of basic geometry as shown in Fig. 9. In Fig. 9, aircrafts 1 and 2 are shown in the 3-dimensional space. Aircraft 1 has co-ordinates (π₯1 , π¦1 , π§1 ) and aircraft 2 is represented by (π₯2 , π¦2 , π§2 ). Once the information representing the co-ordinates are obtained from the sensing system, the relative distance between these two aircrafts can be found. r = √(π₯1 − π₯2 )2 + (π¦1 − π¦2 )2 + (π§1 − π§2 )2 (7) 18 Figure 9: Relative Distance in 3-Dimension This distance formula is only applicable when we know the current state of the aircrafts. In our algorithm, it is important to take the fact in to account that aircrafts are moving at constant velocity. So, values of aircrafts’ co-ordinates are also changing as they are moving. Based on the current information, it is possible to find the next state of the aircrafts using Euler’s approximation. Euler’s approximation is a simple first order method, which uses step size to predict the new state of the aircraft. The flow chart below illustrates the algorithm in the deterministic case. 19 Figure 10: Deterministic Approach Flow Chart 20 In deterministic approach, the initial positions of the aircrafts are known. The next position of the aircrafts is determined by using Euler’s approximation, from which the trajectory for aircraft 1 is generated using the following system: π₯1 (k+1)=π£1 *cos πΎ1 *cos π1 *h+π₯1 (k); π¦1 (k+1)=π£1 *cos πΎ1 *sin π1 *h+ π¦1 (k); π§1 (k+1)=π£1 *sin πΎ1*h+π§1 (k); where π₯1 , π¦1 , and π§1 are the co-ordinates of aircraft 1 and h is the step size. In our simulation, the velocity, the flight path angle, and the heading angle are kept constant. A simulated trajectory is shown in Fig 11. z co-ordinate 30 20 10 0 0 -5 -10 y co-ordinate -15 0 2 6 4 x co-ordinate Figure 11: Aircraft 1 Trajectory 8 10 12 21 In a similar way, Fig. 12 shows the trajectory of aircraft 2. The trajectory depends on the starting position and the state variables like the velocity, the flight path angle and the heading angle. 20 z co-ordinate 15 10 5 0 -5 -10 35 35 30 30 25 y co-ordinate 25 20 20 x co-ordinate Figure 12: Aircraft 2 Trajectory As explained in the previous chapter, after acquiring both aircrafts’ state variables, the next step is to obtain the time to the Point of Closest Approach. Based on the information of the motion of the aircrafts, the relative motion and the velocity vectors are found in order to determine the time to PCA. As explained previously, if the resulting time to PCA is negative, then the aircrafts are moving farther away from each other. If the resulting time is positive, the conflict avoidance algorithm is activated. At the time to reach PCA, if relative horizontal and vertical distance vectors violate the protected zone 22 constraints, it is considered as conflict. The relative vectors’ magnitude can be found using the equation shown in the code snippet below: πβπ = |π₯2 − π₯1 | ππ£π = |π¦2 − π¦1 || (8) where, πβπ and ππ£π are the relative horizontal and vertical position vectors at PCA respectively. The algorithm is first verified in the deterministic case. The same approach can be developed for the probabilistic algorithm by adding uncertainties and using Monte-Carlo simulation. This approach is explained in more details in the next chapter. 3.2 The Probabilistic Approach The probabilistic approach is more realistic than the deterministic approach for conflict detection and avoidance. In the previous algorithm, uncertainties were not considered. The probabilistic approach takes uncertainties into account. In this algorithm, the velocity, the flight path angle and the heading angle are corrupted with noise. The states will have a probability distribution function. For example, instead of using constant values for the velocity, the flight path angle and the heading angle, we have distributed values as shown below. Here is the code that allows us to generate Gaussian distribution for the state variables of the aircrafts. The graphs below show the distribution information for one aircraft. 23 v1=0.5+0.002.*randn(10000,1); gamma1=(0.5)+(0.02).*randn(10000,1); theta1=(0.10*time^0.025)+(0.04).*randn(10000,1); x1=v1.*cos(gamma1).*cos(theta1).*h+x1; y1=v1.*cos(gamma1).*sin(theta1).*h+y1; z1=v1.*sin(gamma1).*h+z1; 350 300 250 200 150 100 50 0 0.492 0.494 0.496 0.498 0.5 0.502 0.504 0.506 Figure 13: Aircraft 1 Velocity Distribution 0.508 0.51 24 350 300 250 200 150 100 50 0 0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58 Figure 14: Aircraft 1 Flight Path Angle Distribution 350 300 250 200 150 100 50 0 -0.05 0 0.05 0.1 0.15 0.2 0.25 Figure 15: Aircraft 1 Heading Angle Distribution 0.3 25 350 300 250 200 150 100 50 0 44.3 44.4 44.5 44.6 44.7 44.8 44.9 45 45.1 Figure 16: Aircraft 1 x Co-ordinate Distribution 350 300 250 200 150 100 50 0 3.5 4 4.5 5 5.5 Figure 17: Aircraft 1 y Co-ordinate Distribution 6 26 350 300 250 200 150 100 50 0 24 24.2 24.4 24.6 24.8 25 25.2 Figure 18: Aircraft 1 z Co-ordinate Distribution The distribution for the position, the velocity, the flight path angle and the heading angle information for aircraft 2 is shown in the graphs below. 27 350 300 250 200 150 100 50 0 0.492 0.494 0.496 0.498 0.5 0.502 0.504 0.506 0.508 0.51 0.512 Figure 19: Aircraft 2 Velocity Distribution 350 300 250 200 150 100 50 0 -0.56 -0.54 -0.52 -0.5 -0.48 -0.46 -0.44 -0.42 Figure 20: Aircraft 2 Flight Path Angle Distribution -0.4 28 350 300 250 200 150 100 50 0 -0.3 -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 Figure 21: Aircraft 2 Heading Angle Distribution 400 350 300 250 200 150 100 50 0 78.4 78.5 78.6 78.7 78.8 78.9 Figure 22: Aircraft 2 x Co-ordinate Distribution 79 79.1 29 350 300 250 200 150 100 50 0 19.6 19.7 19.8 19.9 20 20.1 20.2 20.3 20.4 20.5 20.6 Figure 23: Aircraft 2 y Co-ordinate Distribution 350 300 250 200 150 100 50 0 1.9 2 2.1 2.2 2.3 2.4 Figure 24: Aircraft 2 z Co-ordinate Distribution 2.5 30 The random values generated for the aircrafts using Monte-Carlo simulation are characterized by their mean value and standard deviation. The tables below show the information for both aircrafts. Aircraft 1 Mean Value Standard Deviation Velocity 0.5 0.002 Flight Path Angle 0.50 0.02 Heading Angle 0.10 0.04 Table 1: Aircraft 1 Mean Value and Standard Deviation Aircraft 2 Mean Value Standard Deviation Velocity 0.5 0.002 Flight Path Angle -0.50 0.02 Heading Angle -0.10 0.04 Table 2: Aircraft 2 Mean Value and Standard Deviation 31 After the determination of the state variables information of all aircrafts in the 3dimensional space, the previously described algorithm is used to determine the existence of conflict. Collision detection flowchart is shown in the Fig. 25 Figure 25: Probabilistic Conflict Detection Algorithm Flow Chart 32 Once the scenarios are created, the algorithm is used to find the probability of conflict. The probability of conflict is found by using Monte-Carlo simulation. These results are discussed in more detail the next chapter. 33 Chapter 4 SIMULATION RESULTS After deriving the algorithms for conflict detection for multiple aircrafts in a dynamic environment, the next goal is to perform simulations to validate the results. In the course of the project, the first requirement is to create the aircraft motion profile as well as the dynamic environment. Next step is to implement the algorithm using MATLAB. Simulation is important to validate results for navigation, conflict detection and resolution for air vehicles. It is necessary for these algorithms to work perfectly in practical environment. Safety is the main concern while developing these algorithms. The goal of these algorithms is to provide safe navigation to public transportation, military applications, etc. When these algorithms are employed in practice, it should be working with no error. That is why simulating the algorithm for large number of vehicles is inevitable. Correct functionality of navigation and collision detection algorithms also helps to improve safety, as they are going to be used in commercial and military aircrafts. There are many software packages available in industry to implement these of algorithms. It is very important to discuss the selection of tools for the development of the algorithm. We have used MATALB for the development. There are some strong reasons to support the selection of this tool. 34 1) MATLAB is software that is specifically designed for numerical computations. It also supports various symbolic computations. 2) MATLAB comes with a vast and strong library. This library consists of many built-in functions for various complex mathematical operations. This is helpful in reducing development time. 3) MATLAB also supports object oriented programming. With benefits of Object Oriented Programming (OOP) and inbuilt mathematical functions, MATLAB is useful for our project. 4) MATALB supports a large number of functions for graphical representation. In our project, we have used many plot functions. It also provides graphs that represent the input/output values varying with time, which is very useful in applications like this one. First, the basic structure of the code is decided, which can be seen in the flow charts from the previous chapter. Based on the flow charts, code is developed in MATLAB. The complete code for both the deterministic and the probabilistic approaches is shown in the appendix. 35 4.1 Simulation Results Implementation of MATLAB code developed for the deterministic case is verified by observing the simulation results. For the deterministic approach, after defining the initial conditions, the velocity, the flight path angle and the heading angle, the next step is to simulate their trajectories in the space. Figure 26: Trajectories of Aircraft 1 & 2 36 Once the state variables for both aircrafts are determined, their paths in 3D space are shown and used to calculate the relative distance and velocity of the aircrafts, for which, the Point of Closest Approach is obtained. After reaching PCA, the relative horizontal and vertical distances are calculated to see if there is any PAZ violation. The horizontal and vertical distances at PCA are calculated, from which conflict conditions are verified. Conflict messages are generated in MATLAB when there is a collision. For both, the deterministic and probabilistic cases the PAZ violation conditions are applied in the MATLAB code itself. Based on the user requirements, these conditions can be changed. 40 35 30 25 z co-ordinate 20 15 10 5 0 -5 -10 14 16 18 20 22 24 x co-ordinate 26 Figure 27: Vertical Plane 28 30 32 37 8 10 12 y co-ordinate 14 16 18 20 22 24 26 14 16 18 20 22 24 x co-ordinate 26 28 30 32 Figure 28: Horizontal Plane For the probabilistic approach, we are adding uncertainties in the trajectory. To achieve this, the Monte-Carlo simulation technique is used to provide randomized data for the velocity, the flight path angle and the heading angle. Adding uncertainties results in randomized trajectories for the aircrafts. The distribution of these trajectories is described in the previous chapter. After obtaining state information, the same procedure to find relative horizontal and vertical distance at PCA is applied. The relative horizontal and vertical distances are shown below in the graphs. Also, three important parameters used to calculate these distances, which are the relative velocity, the relative distance and the time to PCA are shown below. 38 2000 1800 1600 1400 1200 1000 800 600 400 200 0 -35 -30 -25 -20 -15 -10 -5 0 5 10 Figure 29: Relative Distance Disttribution 350 300 250 200 150 100 50 0 -0.1 0 0.1 0.2 0.3 0.4 Figure 30: Relative Velocity Distribution 0.5 0.6 39 45 40 35 30 25 20 15 10 5 0 -14 -12 -10 -8 -6 -4 -2 0 2 4 Figure 31: Time to PCA Distribution 350 300 250 200 150 100 50 0 33.7 33.8 33.9 34 34.1 34.2 34.3 34.4 Figure 32: Distribution of Relative Horizontal Distance at PCA 6 40 350 300 250 200 150 100 50 0 19.4 19.6 19.8 20 20.2 20.4 20.6 . Figure 33: Distribution of the Relative Vertical Distance at PCA After calculating the relative distances at PCA, the conflict detection algorithm is applied in the same manner as in the deterministic approach. The conflict detection algorithm is used to check if any aircraft is violating other aircrafts protected airspace zone. For every iteration, conflict detection is applied, and a total number of conflicts are found. The probability of the conflict is found as a frequency of the conflict over the total number of Monte-Carlo simulations. The scenarios created for simulating the probability of collision are shown below. 41 0.06 Prbablity of Conflcit 0.05 0.04 0.03 0.02 0.01 0 0 100 200 300 time 400 500 600 Figure 34: Probability of the Conflict Now, the algorithm is applied to replicate the same scenarios for a different set of variables by creating different trajectories for the aircrafts to verify the correctness of the algorithm. The probability obtained for a different scenario is shown below. 42 1 0.9 0.8 0.7 Prbablity of Conflcit 0.6 0.5 0.4 0.3 0.2 0.1 0 0 100 200 300 400 500 600 700 800 900 1000 time Figure 35: Probability of the Conflict In this scenario, the initial positions of the aircrafts are kept closer to each other which results in high probability of collision. As the aircrafts start to move away from each other, the probability of collision decreases as shown in the graph. 43 Chapter 5 CONCLUSION This project implements a collision detection algorithm for deterministic and probabilistic scenarios. The aircrafts move in a highly dynamic environment. Kinematic principles are used to create conflict detection scenarios. Conflict detection is performed based on the violation of the protected aircraft zone of one aircraft by other aircrafts. Assuming the aircraft co-ordiantes and velocities, the time to point of closest appraoch (PCA) can be obtained. The realtive position vector at PCA is used to check for conflict conditions. For the deterministic case, flight variables like velocity, flight path angle and heading angle are exactly known. Euler’s approxmation is used to create aircraft trajectories. In the probabilistic approach, random values of the flight variables were applied using Monte-Carlo simulation. Probability was found as a function of the total number of conflicts over total number of Monte-Carlo simulations. The algorihtm was implemented using MATLAB. Iterative simulation proved to be very helpful to verify the algorithm. Graphs and simulation results are provided to check for the correct functionality of the algorithm. This algorithm can be expanded or modified for different environments and user requirements. 44 APPENDIX MATLAB Code File Name: deterministic.m x1=0; y1=0; z1=0; x2=34; y2=22; z2=12; N=10000; timeA = []; rhiA = []; rviA = []; tf=10; h=0.25; conflict=0; for time=0:h:tf timeA =[timeA time]; v1=3; gamma1=pi/3; theta1=-pi/6*time^0.25; x1=v1*cos(gamma1)*cos(theta1)*h+x1; y1=v1*cos(gamma1)*sin(theta1)*h+y1; z1=v1*sin(gamma1)*h+z1; x1d=v1*cos(gamma1)*cos(theta1); y1d=v1*cos(gamma1)*sin(theta1); 45 z1d=v1*sin(gamma1); plot3(x1,y1,z1,'ro') xlabel('x co-ordinate') ylabel('y co-ordinate') zlabel('z co-ordinate') grid on hold on v2=3; gamma2=-pi/3; theta2=pi/6*time^0.25; x2=v2*cos(gamma2)*cos(theta2)*h+x2; y2=v1*cos(gamma2)*sin(theta2)*h+y2; z2=v2*sin(gamma2)*h+z2; x2d=v2*cos(gamma2)*cos(theta2); y2d=v2*cos(gamma2)*sin(theta2); z2d=v2*sin(gamma2); plot3(x2,y2,z2,'go') xlabel('x co-ordinate') ylabel('y co-ordinate') zlabel('z co-ordinate') grid on hold on pause r=[x1-x2 y1-y2 z1-z2]; disp(r); c=[x1d-x2d y1d-y2d z1d-z2d]; a= r(1)*c(1) + r(2)*c(2) + r(3)*c(3); b= c(1)*c(1) + c(2)*c(2) + c(3)*c(3); t= - (a/b); 46 if t>0 rhi = abs(x2-x1); rvi = abs(y2-y1); str2=sprintf('rhi=%f rvi=%f',rhi,rvi); disp(str2); else disp('Aircrafts are going away from each other') end if (rhi<35) | (rvi<22) conflict=conflict+1; disp('There is a conflict') end rhiA = [rhiA rhi]; rviA = [rviA rvi]; end plot (rhiA) xlabel('time(sec)'); ylabel('Horizontal Distance at PCA'); plot (rviA) xlabel('time(sec)'); ylabel('Vertical Distance at PCA'); 47 File Name : probabilistic.m x1=0; y1=0; z1=0; x2=34; y2=22; z2=12; tf=50; h=2.5; conflict=0; no_conflict=0; P=0; N=10000; timeA = []; rhiA = []; rviA = []; PA = []; for time=0:h:tf timeA =[timeA time]; disp(timeA) v1=0.5+0.002.*randn(N,1); gamma1=(0.50)+(0.02).*randn(N,1); theta1=(0.10*time^0.025)+(0.04).*randn(N,1); x1=v1.*cos(gamma1).*cos(theta1).*h+x1; y1=v1.*cos(gamma1).*sin(theta1).*h+y1; z1=v1.*sin(gamma1).*h+z1; x1d=v1.*cos(gamma1).*cos(theta1); 48 y1d=v1.*cos(gamma1).*sin(theta1); z1d=v1.*sin(gamma1); plot3(x1,y1,z1,'ro') xlabel('x co-ordinate'); ylabel('y co-ordinate'); zlabel('z co-ordinate'); grid on hold on v2=0.5+0.002.*randn(N,1); gamma2=-(0.50)+(0.02).*randn(N,1); theta2=-(0.10*time^0.025)+(0.04).*randn(N,1); x2=v2.*cos(gamma2).*cos(theta2).*h+x2; y2=v1.*cos(gamma2).*sin(theta2)+y2; z2=v2.*sin(gamma2)+z2; x2d=v2.*cos(gamma2).*cos(theta2); y2d=v2.*cos(gamma2).*sin(theta2); z2d=v2.*sin(gamma2); plot3(x2,y2,z2,'go'); xlabel('x co-ordinate'); ylabel('y co-ordinate'); grid on; hold on; pause; r=[x1-x2 y1-y2 z1-z2]; disp(r); c=[x1d-x2d y1d-y2d z1d-z2d]; disp(c); end for i=1:N; a(i)= r(i,1)*c(i,1) + r(i,2)*c(i,2) + r(i,3)*c(i,3); 49 b(i)= c(i,1)*c(i,1) + c(i,2)*c(i,2) + c(i,3)*c(i,3); t(i)= - (a(i)./b(i)); if t(i)>0 rhi = abs(x2-x1); rvi = abs(y2-y1); str2=sprintf('rhi=%f rvi=%f',rhi,rvi); disp(str2); if (rhi<34) | (rvi<22) conflict=conflict+1; disp('There is a conflict') disp(conflict) P = (conflict/N); disp(P) PA = [PA P] end else disp('Aircrafts Going away from each other') no_conflict=no_conflict+1; end end plot (PA); %plot (timeA,rviA) xlabel('time'); ylabel('Prbablity of Conflcit'); plot (rhiA) xlabel('time(sec)'); ylabel('Horizontal Distance at PCA'); plot (rviA) xlabel('time(sec)'); ylabel('Vertical Distance at PCA'); 50 REFERENCES [1]. Lee C. Yang, James K. Kuchar, “Prototype Conflict Alerting System for Free Flight”, American Institute of Aeronautics and Astronautics, Inc., 1997. [2]. Kwang-Yeon Kim, Jung-Woo Park, Min-Jea Tahk, “A Probabilistic Algorithm for Multi-aircraft Collision Detection and Resolution in 3-D”, KSAS International Journal, Vol 9, No. 2, November 2008. [3]. Jimmy Krozel, Mark E. Peters and George Hunter, “Conflict Detection and Resolution for Future Air Transportation Management”, Seagull Technology, Inc., 1997. [4]. James K Kuchar, Lee C. Yang, “Survey of Conflict Detection and Resolution Modeling Methods” American Institute of Aeronautics and Astronautics, Inc., 1997. [5]. P. K. Menon, G. D. Sweriduk and B. Sridhar, “Optimal Strategies for Free Flight Air Traffic Conflict Resolution”, Optimal synthesis, 1997.