I usually find myself in the position of thinking about solutions for complex problems for no reason other than the fact that it presents a challenge. So, the other day I was wondering how it might be possible to build an air traffic control system using a computer program. In order to constrain the scope of the problem, I decided to concentrate on a possible method to determine if x number of planes where traveling within unsafe distances of each other and how this would be an indication to notify a controller of the situation to take defensive actions. Initially, this is what I came up with... An air traffic control system represents objects traveling in 3-diemensional space, and we can represent 3 dimensional space using a computer, no problem. We can also represent the exact position of an object traveling through space using a 3-dimenstional coordinate system, such as x, y, and z. If we define radius r to be a certain length, and, if at any single moment we can determine the position of an object, then we can determine the volume occupied in space that is created by the invisible sphere with radius r surrounding the object. The reason we define an invisible sphere around each object (airplane) is because each plane should have it's own clearing space, kind of like a safe zone where if another object entered another objects clearing space, this would be an indication that a collision might occur. Anyway, since we can determine the volume of space that is occupied by the sphere surrounding the object, we can do the same for any other object in space. By comparing the coordinates between two volumes in space, we can determine if the volumes intersect at any point. Therefore, we can determine if two objects are within a dangerous range where it would be appropriate to sound an alarm to warn of a possible collision. Even though this seems like a possible solution, it's not because this problem is actually very complex. I thought about it some more last night and realized that even though we can compare two volumes in space surrounding two distinct objects, which two objects do we compare? And why stop at only two objects? There might be three planes all on a collision course with eachother. An air traffic control center might be responsible to control hundreds of square miles, so there might be hundreds, if not thousands, of objects flying around in its airspace. It would be very inefficient to compare the clearing space (volume) of one object to all the rest because there are simply too many objects, and clearly there would be comparisions that are not even required if two objects were hundreds of miles apart. One possible method to reduce the number of uneccessary comparisions would be to divide the air space into equal sized quadrants, where each quadrant monitors the objects in its own airspace. Now, instead of comparing the clearing space of one object to all the rest, we can compare it to only those objects that reside in the same quadrant. This problem doesn't stop there. It would be uneccessary to compare the clearing space of two objects if the height (altitude) difference y between those two objects was greater than 2r. Recall that r represents the radius of the clearing space around an object, so any value less than 2r between two objects would obviously indicate that they are violating each others air space. In fact, you can avoid uneccessary comparisions between two objects if their distance in space is greater than 2r, regardless of axis x, y, or z. The only part that I got stuck on was if two objects in adjacent quadrants were approaching each other. Lets say for arguments sake that the two objects would eventually meet at the boundary betwen the two quadrants. In this case, there would be no way to monitor the distance between them since each object exists in a separate quadrant, each object is monitored by a separate quadrant controller. Hmmmm. What can you do in this case? Use a boundary controller that monitors the airspace that makes up the walls of quadrants? Ok, I've had enough for now. Just curious if anyone can add to this, just for the hell of it. I'm not actually implementing this, although it sounds like fun. SAF [This message has been edited by SAFROLE YUTANI (edited December 11, 2001).] [This message has been edited by SAFROLE YUTANI (edited December 11, 2001).]
well, one way the FAA handles this problem is to assign "Flight Levels" for aircraft depending on the direction (North,South,East,West) that they are flying... i cannot remember off the top of my head, but just imagine N/S is even and E/W is odd. so, say the flight levels are from 10,000ft to 35,000ft. N/S traffic would fly at a predetermined even level and E/W would fly at an odd level... further, N and S are separated by 1,000ft incriments to avoid head-on collisions. i studied for the FAA Air Traffic Controller test when i was in the Navy, but they were not hiring when i got out, so i went to college. i am still very interested in ATC, but i just turned 30, which is too old to start.
My idea: Divide the airspace into cubes or whatever and make a 3 dimensional vector for comparing them. Just compare planes within a certain number of cubes. So something in airspace might compare itself against things in airspace[32-36][71-75][21-25]
Look, forgive me that I didn't read the your whole idea on the program. But me thinks it's a simluation program. Nowadays thinking up such a program could be detriment to windows users.....
-Surfing the JavaRanch in a sunny garden with a cold drink and laptop can't be beat. by Frank Carver(sheriff)
Joined: Jul 06, 2001
Relax guys, like I said, it was just something that I was thinking about, that's all. I'm too busy designing real-world applications to even attempt to model an air traffic control system. It's just cool to talk about! SAF