Jump to content
The simFlight Network Forums

agent-control of FSX


Recommended Posts

i've got an academic research project where i need to connect an "agent" (e.g. an AI program) to fly a plane in a flight sim. hence, my agent would need to receive perceivable flight parameters (e.g. whatever a human could observe; gauges readings, lever/switch positions, etc), and my agent would return actions (keypresses) to fly the sim like a human would who is using the keyboard (e.g. keys for stick movements, throttle, operating autopilot, radios, yada yada yada.)

i know this kind of thing has been done with x-plane, however i'd like to do it with microsoft flight simulator x. i read the list of capabilities of FSUIPC but it's not exactly clear if it supports what i need.

several years ago, i wrote a data collection/analysis app to capture broadcast UDP packets of flight parameters produced by MS2004/FSUIPC. this was used to evaluate pilot performance in a series of maneuvers using different kinds of gauge displays. what i don't know though is if FSUIPC also supports sending keypresses to fly the plane *from* an agent to FS. i've just learned about simconnect in version X. does this support what i need? if so, is this a better approach. $ is not a factor (within reason). many thanks.

Link to comment
Share on other sites

i read the list of capabilities of FSUIPC but it's not exactly clear if it supports what i need.

Not sure where this "list of capabilities" is you have read, but certainly you can read everything you need and write/send any controls you need. This is how many complete cockpits are built and external / add-on autopilots programmed.

For FSX you should also look at SimConnect, which is Microsoft's official interface. FSUIPC4 actually uses SimConnect in any case for about 99% of its operations.

what i don't know though is if FSUIPC also supports sending keypresses to fly the plane *from* an agent to FS.

Of course you can send keypresses, but that sounds extremely primitive and inefficient. Why key presses to operate elevator, aileron, throttle and rudder. Surely you want to use analogue inputs. You can either send the same controls a real joystick would, or directly set the internal values.

Seems like you've not actually scanned through the documentation in the SDK at all? Check the FSUIPC SDK package on http://www.schiratti.com/dowson.

i've just learned about simconnect in version X. does this support what i need? if so, is this a better approach.

SimConnect is the approach MS would want you to take. FSUIPC offers compatibility with FS2004, FS2002, FS2000, CFS1 and CFS2, but otherwise it makes no difference other than programming style: SimConnect provides a server-client relationship, whilst the FSUIPC interface is by polling. So, please do take a look at the SimConnect documentation too (it's in the FSX SDK).

Pete

Link to comment
Share on other sites

Not sure where this "list of capabilities" is you have read

hi pete. many thanks for your response. the list i was looking at was here:

http://secure.simmarket.com/product_infts_id=2068 which i got to from http://www.schiratti.com/dowson

...you can read everything you need and write/send any controls you need.

excellent. i'd hoped this was the case. i'd interpreted the stuff i was reading as mainly doing setup and configuration of FS and peripherals (trims, weather, calibrations, etc), but it wasn't obvious to me that i could send a value for a control (throttle or a surface) while the plane was flying. this is perfect.

Seems like you've not actually scanned through the documentation in the SDK at all? Check the FSUIPC SDK package on http://www.schiratti.com/dowson.

thanks for this. i looked at the wrong documents; i only reviewed only the fsuipc4 user guide and missed the FSUIPC SDK, but i've got it now. i think i'm now well on my way. many thanks for pointing me in the right direction.

Link to comment
Share on other sites

the list i was looking at was here:

http://secure.simmarket.com/product_infts_id=2068

That's a sales site, for end users wishing to purchase FSUIPC so that they can use the payware user facilities. None of that is much to do with FSUIPC's function as an interface for applications. That isn't "sold" to end users so it isn't described as part of any purchase.

and missed the FSUIPC SDK, but i've got it now. i think i'm now well on my way. many thanks for pointing me in the right direction.

Okay! Good.

Regards

Pete

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.