AI Traffic: Difference between revisions

Jump to navigation Jump to search
3,990 bytes added ,  16 July 2020
Added Groundnet Routing 7.6 Details and Instructions
(Simplified Traffic Files Section. Added link to tools)
(Added Groundnet Routing 7.6 Details and Instructions)
Line 424: Line 424:
'''Step 4 : Visual Check'''
'''Step 4 : Visual Check'''
Once your base groundnet complete, Check visually that your parking positions do not overlap, that nodes placed on physical runways are marked as such and that intersections are formed properly (no node unless the aircraft can turn here)
Once your base groundnet complete, Check visually that your parking positions do not overlap, that nodes placed on physical runways are marked as such and that intersections are formed properly (no node unless the aircraft can turn here)
[[File:Base GRoundnet Visual Check.jpg|border | center|1200px|Base Taxidraw Groundnet for SBGR]]


'''Step 5 : Structural Check and Test'''
'''Step 5 : Structural Check and Test'''
Line 430: Line 429:
Run the verification tool (available in both Taxidraw and FGAirports). Both programs will ensure at this stage that routes are valid and that nodes on runway are marked as such.  
Run the verification tool (available in both Taxidraw and FGAirports). Both programs will ensure at this stage that routes are valid and that nodes on runway are marked as such.  
Taxidraw does not check the routes structures individually but rather that a route solution exist: If an aircraft can use different path/routes to go from its ParkPos to a given runway threshold and even if one of these routes is "broken" (unconnected segments) no error will be reported, because the aircraft could use another (unbroken) route to get to the threshold and hence still has a routing solution.
Taxidraw does not check the routes structures individually but rather that a route solution exist: If an aircraft can use different path/routes to go from its ParkPos to a given runway threshold and even if one of these routes is "broken" (unconnected segments) no error will be reported, because the aircraft could use another (unbroken) route to get to the threshold and hence still has a routing solution.
FGAirports will do the same routing check but will also signal any unconnected node (broken routes)  
 
FGAirports will do the same routing check but will also signal any unconnected node (broken routes).
Correct the errors found and re run the verification tools until no more problems are found.
Correct the errors found and re run the verification tools until no more problems are found.


Line 437: Line 437:


What to expect (normal behaviour with base groundnet, if FG has AI traffic at the airport):
What to expect (normal behaviour with base groundnet, if FG has AI traffic at the airport):
* Parked aircraft will start appearing on the parking stands you have set. Departing aircrafts will light up (red/green nav lights on wing tips)
[[File:Base GRoundnet Visual Check.jpg|border|right|950px|Base Taxidraw Groundnet for SBGR]]
* Parked aircraft will start appearing on the parking stands you have set. Departing aircrafts will light up (red/green nav lights on wing tips, flashing beacon on top)
* Upon ATC clearance (automatic) Departing aircrafts will roll forward into the terminal buildings then dance around a bit then join a taxiway and head for a threshold. The route they will use may not be the shortest nor the one you expected but it will be a route you have set.
* Upon ATC clearance (automatic) Departing aircrafts will roll forward into the terminal buildings then dance around a bit then join a taxiway and head for a threshold. The route they will use may not be the shortest nor the one you expected but it will be a route you have set.
* Departing Aircrafts will queue up at the threshold. The first in line will enter the runway, accelerate (strobes lights activate) and take off. Aircraft will climb in a straight line and after +/- 10 seconds, change heading. At this point, the next aircraft in line will enter the runway and initiate its take off
* Departing Aircrafts will queue up at the threshold. The first in line will enter the runway, accelerate (strobes lights activate) and take off. Aircraft will climb in a straight line and after +/- 10 seconds, change heading. At this point, the next aircraft in line will enter the runway and initiate its take off
* After 10 minutes, arriving aircrafts will start landing. The touchdown position will depend on the type of aircraft. Arrivals are not spaced out and you can have more than one aircraft landing at once on a single runway. After slowing down, they will taxi all the way to the end of the runway, the the access route you have set then head for an available parking position. Again the route they will use may not be the shortest or the one you expected and they may not park where you wanted. Once parked Nav Lights will be turned off  
* Arriving aircrafts will start landing. The touchdown position will depend on the type of aircraft. Arrivals are not spaced out and you can see more than one aircraft landing at once on a single runway. After slowing down, they will taxi all the way to the end of the runway, exit via the access route you have set then head for an available parking position. Again the route they will use may not be the shortest or the one you expected and they may not park where you wanted. Once parked, Nav Lights will turn off
 
* At any given intersection (4 or more segments sharing a node) and at any time during the test, one aircraft will get stuck. Aircrafts following it will start queueing. The intersection will remain clogged and AI taxiing stuck until you decide to shut down Flightgear.
* Aircrafts will taxi from both directions on single taxiways, eventually passing through each other
* On larger airports where AI aircrafts can use more than one route to go from one point to another and/or can park at multiple aprons they will show a geographical preference (normally North West) so parking and routes in this area will be busier.
What to look for (abnormal behaviour with base groundnet, if FG has AI traffic at the airport):
What to look for (abnormal behaviour with base groundnet, if FG has AI traffic at the airport):
* Aircraft appearing in the middle of the airport and not following taxiways (not enough Parking Positions or not suitable in size or type CARGO/GATE)
* Aircraft appearing in the middle of the airport and not following taxiways (not enough Parking Positions or not suitable in size or type CARGO/GATE)
* No aircrafts (no AI traffic at this airport or not activated in FG options)
* No aircrafts (no AI traffic at this airport or not activated in FG options)
* Aircrafts queue up at runway but do not take off (Misplaced Threshold in ICAO.threshold.xml)  
* Aircrafts queue up at runway but do not take off (Misplaced Threshold in ICAO.threshold.xml)
* Aircrafts queue up at taxiway intersections (intersection has more than 3 'branches")
 
 
=== Refining the network: Routing Flow & Baggage Carousels ===
 
Objective:
* All Objectives in the "Creating the base Network" section
* No clogging at intersections
* No Head on crashes of aircrafts sharing a single taxiway
 
The traffic manager code is not fully documented nor maintained so only repeated testing (and discussions on the FG AI Forum) will allow you to form and understanding of the way AI aircrafts will behave based on the type of groundnet data you feed them. This is an interesting but potentially frustrating exercise.
 
You will eventually realize that AI traffic has a “mind of its own” which fluctuates between two extremes:
* AI traffic cannot make decisions: Typically, where presented with multiple routing options (an X intersection with 4 or more valid routes), AI traffic will consistently freeze/clog after some time if not immediately.
* AI traffic does not stand bullying: If presented with no alternative at all (too many unidirectional routes) AI traffic will move away from your groundnet taxiways and start mowing the lawns.
 
 
[[File:Groundnet Routing Flow Example.png|border|right|950px|Groundnet Routing Flow Example]]
Keeping these two constraints in mind, clogging and head on ‘crashes’ can be addressed by setting up a ‘Routing Flow’. The purpose of said routing is to guide each aircraft to their final destination (Parking or Threshold), by ensuring it uses a single route and never crosses any other aircraft path.
To achieve this we only have two tools at our disposal: The ability to force the direction of traffic on any given segment (by making it “unidirectional”) and the ability of Traffic manager to handle priorities and queues formation at routes merging points (Y shaped intersections).
 
The complexity of Routing Flow will increase exponentially with the number of gates, thresholds and traffic files handled: A single groundnet flow must accommodate indifferently a cargo flight arriving on RWY 1 in the evening or a commuter departing from RWY 2 in the evening.
 
A simple example to better understand how efficient routing is achieved can be derived from your experience at an airport Baggage carousel (or at a ‘Sushi Train restaurant)’ where all bags arrive from one or two tunnels onto a moving belt and are distributed to passengers waiting around the carousel.
That is all bags (Aircrafts) arrive from a limited number of tunnels (Thresholds) and can reach any standing passenger (ParkPos) using a single belt (routing flow). It does not matter where the passenger stands nor what order the bag arrives in; if you wait long enough all bags will meet their owner, (unless you are at Heathrow).
 
An advantage AI aircrafts have over bags is that they can ‘transfer’ from one belt to another if a segment belongs to more than one belt/route. Putting it visually, a typical routing flow will resemble something like the image on the right
 
Reading: ‘Belts’ in green rotate clockwise, red rotate counter clockwise, segments in blue provide access in and out of the belts. The main belt along the northern runway includes bypasses allowing an aircraft to quickly reach the other side of the belt without having to travel the full belt.
 
Using the diagram, you can pick any combination of one runway access (threshold or midway vacating point) and one parking position and realize you can always find a unique route from A to B and another unique route from B to A without ever coming across an intersection, always using merging lanes fromed by "Y" intersections of 3 routes.
 
 
 


'''This Section is under revamp'''


=== Refining the network: Routes, Circuits and Flow ===
This sections is WIP


=== Refining the network: Pushback routes ===
=== Refining the network: Pushback routes ===
86

edits

Navigation menu