1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

AI and ATC SDK

Discussion in 'Living World & AI General' started by fs1, 11 Oct 2017.

Tags:
  1. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    I was wondering what is possible to do and what is not possible to do via the P3D/FSX SDK and FSUIPC regarding AI traffic and ATC features.
    For example, can you assign a runway for an AI to land depending on wind?
    Any insights on the restrictions of both SDK and FSUIPC are appreciated.
    Thanks
     
  2. him225

    him225

    Joined:
    13 Oct 2015
    Messages:
    91
    As far as I have seen it is currently not possible to externally instruct anything to AI pilot or the ATC system. You can take over control of the AI plane removing AI pilot and ATC from the picture, completely fly it externally or slew, then give back control to AI system. That much is probably at present all you can do. Hooks to the AI-ATC logic have been requested several times since p3d launch, but little has changed in this from FSX. Perhaps the AI pilot and ATC are too intermingled that it is difficult for LM to provide any connections from in between.
     
    Last edited: 12 Oct 2017
  3. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    Thanks @him225

    As far as I understand, I think that this slew solution works pretty well. What are the downsides ? Maybe performance wise ?
     
  4. =rk=

    =rk=

    Joined:
    28 Nov 2009
    Messages:
    1,530
    Country:
    us-washington
    There is no performance impact for using slew. However, you will not be able to slew a different runway assignment. So were you to slew the AI over to the downwind runway, as soon as you release it, it will diligently attempt to complete it's ATC assignment.
     
  5. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    Thanks =rk=

    So once it starts taxing, if you restore back the slew the AI attempts to fly the default ATC assigned path?

    So how addon manage to bypass this?

    Any other limitation in those workarounds ?
     
  6. =rk=

    =rk=

    Joined:
    28 Nov 2009
    Messages:
    1,530
    Country:
    us-washington
    Only by replacing the ATC functionality can this be changed.
     
  7. him225

    him225

    Joined:
    13 Oct 2015
    Messages:
    91
    The sounds of that AI don't work or get fixed to the moment it changes to slew. Since the AI is not flying, you will need to emulate all the smooth pitches and rolls as well on turns etc to make them look acceptable in the air.

    As long as it is still in the air perhaps, if you bring it to the ground it would probably come to a standstill on releasing control.

    The addons usually end up emulating all phases of flight gate to gate. eg AIController program which attempts to actually fly in most parts but ATC goes completely silent, or other primarily ATC addon programs that work by slewing. The other issue with this might be complication with p3d AI flightplan scheduling system which decides when to spawn new or command ground AI for next flight that you may have to take into account.

    In my opinion in current state the most workable solution is the method of the old AISeparation program which simply slews back AI to desired separation and leaves the rest untouched. This leaves everything functioning as usual. I have had much success with the setting of: 6, 7, 5, 10, 8, 10 if you are interested in looking at it. The program is old with some bugs and could still use some more refining (such as simconnect use than fsuipc, separation distance based on AI model/speed, work with user aircraft) so it still ends up letting some go-arounds occur when too many AI in conflict. The limitation that remains is if arrival AI happen to crowd a particular runway which depends on its geographical location relative to departure airports, then there will be prolonged delay as arrivals cant be distributed to other runways as before without breaking the whole system. This can be improved a bit by taking over control of AI at the end of rollout upto the exit taxiway to speed up its runway exit which can appreciably increase arrivals handled, an alternate would be to find a hack for ai player dll to increase taxi speed in general similar to FSX. Feel free to ask if you have questions on use of aiseperation.
     
  8. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    Thanks both.

    I am working on an undocumented workaround for this problem.

    Let's say I am able to load a FP to an AI and then I am able to change that flight plan as required. By this way you can make longer legs, maybe inject holds and even simulate a STAR by modifying the existing legs (shorten them or extend them or dynamic add an additional leg)

    Would this close this gap ?

    Thanks
     
    Last edited: 13 Oct 2017
  9. =rk=

    =rk=

    Joined:
    28 Nov 2009
    Messages:
    1,530
    Country:
    us-washington
    Thanks, but if you're going to answer questions asked me, please do so with some measure of authority, guessing wont tell us what happens to a slewed plane. You've established your authority based on experience with Flight Simulator AI Traffic Separation, which was released for FS2004. Please name addons that usually end up emulating all phases of flight that you refer to, thanks.
    I think you are going to want to follow up on this search and explore some of the products and talk to actual users. Bear in mind that most ATC addons like VoxATC focus on the user cockpit environment and do little to change the functionality of default AI/ATC interaction, while most AI addons, like MyTrafficX, recreate the AI fleet and airports and do very little in terms of ATC, sometimes adding a few user features.

    It looks like your plan is to establish a virtual identity for each airplane in the way AI Flight Planner works. I caution you to keep that identity in some sort of raster table format, meaning only a few unique values for each AI vehicle. If you make actual virtual airplanes for the flight simulator to render, you'll quickly run out of memory. AI traffic is much more like a flock of birds, or even an amoeba, than it is like a collection of airplanes.
    Ultimately, it's a simulator. In order to immersively simulate flight, there has to be traffic. Clicking a slewed plane and directing regional traffic tend to break that immersive feeling and you'll want to address that aspect.
     
  10. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    Thanks. I will do some research and also speak to some of the developers as well.

    Last question:

    I understand AI Flight Planner uses compiled BGLs to set up AI FPs.

    With the current state of the SDK/PDK, can you dynamically change Flight Plans once is sent to the AI?

    Thanks
     
  11. him225

    him225

    Joined:
    13 Oct 2015
    Messages:
    91
    Not sure this will work since p3d ATC stops following the flight plan routing at T/D which goes as far as 80nm from destination airport and starts vectoring from there both user and AI aircraft.
     
  12. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    @him225 the waypoints of a flight plan and the vector atc data are, in memory, the same.
    The whole idea is to try to control these on the fly to try to simulate real behaviors.
    My only question is, in case of land operations for example, how to control the turn rates and so on, so as to be able to do accurate flight paths, if necessary
    I really don't know much on these so I am investigating
    Is there a way you can change the turns? Is it hardcoded ?
    Thanks

    Edit: Found this but no conclusion http://www.prepar3d.com/forum/viewtopic.php?t=6627
     
    Last edited: 15 Oct 2017
  13. him225

    him225

    Joined:
    13 Oct 2015
    Messages:
    91
    If you are not planning to have the p3d ATC involved then it may not come as an issue, as the default ATC does not refer to navdata or the flightplan for vectoring purpose and uses hard coded vectoring based on runway heading such as for 30deg ils interception.

    For quirks regarding maneuvering you may want to contact the developer of this program who dealt with much similar problems: https://www.avsim.com/forums/topic/...e-to-gate-control-open-betacontrol-open-beta/
     
  14. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    Thanks I will be contacting.
    The whole idea is to use the ATC/AI framework and inject legs/vectors on demand.
    I will speak to this developers and see if makes sense to them.
    Thanks
     
  15. him225

    him225

    Joined:
    13 Oct 2015
    Messages:
    91
    Have you checked this with fsx/p3d, does the atc vector ai to the injected legs while in proximity of the airport?
    Under AI control you wouldn't be able to do much about the aircraft turn rates, you could however try taking over the control momentarily to fly any steep turns then release when the turn completes. Since you would only be assisting with the atc intended path it shouldn't cause any complication.

    Regarding the landing runway assignment in case of multiple runways I have found you can control it to some degree via changing the location where AI gets spawned which in turn depends on the last waypoint of the flight plan if it has a flight plan when it gets injected, the active runway with centerline passing closest to that point is assigned for landing. This could be useful for load balancing if you could inject a custom flight plan to an AI before it gets spawned. It is possible to do this in a fixed manner with UT2 by compiling new schedules with custom flight plans. One issue I have seen with this is if AI is spawned too close to the intended centerline it will steep dive then roll on the ground up to the runway.
     
  16. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    Thanks him225. I am researching on this rate of turns and PBH limits.

    I have not heard back from the developers still. I will let you know how it goes
     
  17. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    him255 I have been working in the ATC/AI internals and have gathered enough information on the functionality.
    I have couple of questions: 1) via Traffic Explorer utility you are able to see the eroute and landing phase - among others. When you mention ATC vectors, you mean the switch from entorte to landing? Can you clarify?
    2) Also the pattern phase - is this related to circuits ?
    Thanks
     
  18. him225

    him225

    Joined:
    13 Oct 2015
    Messages:
    91
    1. In the sim the switch to landing from enroute status occurs when AI intercepts the ils. I was referring to the point of decent from cruise level shortly after which ATC assigns expected approach and runway then starts vectoring i.e. giving various headings and altitudes away from the flight plan path towards ils interception (which is the ident fix point and altitude in the afcad ils header of the runway). The status remains at enroute in this while.
    2. Yes this is probably related to vfr type ai flight plan where AI follows a rectangular circuit to landing with atc instructing enter base, downwind etc, not heading and altitude as in ifr. I have only seen enroute and landing status for ifr arrivals.
     
  19. fs1

    fs1

    Joined:
    14 Jan 2013
    Messages:
    169
    Country:
    argentina
    Thanks him255.
    How can you check if in 1) the route followed is a result of an IFR plan let's say or an ATC vector given to that AI? With Traffic Explorer this is not possible ? Any other way?
    Also, when you force a landing in an enroute AI, the AI starts a vectored path?
    Thanks
     
  20. him225

    him225

    Joined:
    13 Oct 2015
    Messages:
    91
    There is no in sim indication for this. You will have to be familiar with the airport airspace and its arrival procedures to have an idea, start experimenting with different runways at an airport you are most acquainted with. There is also a trick to load a multiplayer session flight in solo mode as an atc controller where you can see AIs on the radar and listen to the atc, display airspace waypoints etc on radar screen to have a better idea. You will find that as soon as p3d atc starts giving arrival aircraft a heading after notifying the expected approach it has stopped following the flight plan path. It is easy to figure out as p3d atc generally detours from flight plan much before STARs, etc usually start their turns.
    From what I remember force landing directs AI to a direct path towards indent fix and its altitude of selected runway immediately for interception from its current position without role of atc.
     

Share This Page