bitwisetech / ysimi

Live monitor for flightgear YASim FDM
8 stars 3 forks source link

YASim real-time FDM interaction - Rotorcraft support? #3

Open kaklik opened 2 years ago

kaklik commented 2 years ago

Hello, I am very interested in your code. Do you know about a method that could be able to run YSIMI with a rotorcraft model? I am especially interested in the autogyro. But unfortunately, the rotor in the rotorcraft model contains "hidden" values which needed to be preset, before running the simulation for a specific speed/altitude, orientation.
I know at the least about rotor RPM and rotor controls (Pitch, Roll and collective).

It is related to the question, about the possibility to run YASim simulation outside of FlightGear. Do you know about some method that could allow using YASim flight simulation without visual output?

kaklik commented 2 years ago

In this case, there was someone also interested in the "standalone version of YASim". I think it could be similarly useful as JSBsim. The huge advantage of YASim over JSBsim is simple geometry-based airframe modeling. That is a feature extremely useful for rough aircraft geometry optimization based on construction constraints. I want to note there is some demand for doing that. See that request for that feature:

A similar problem is a handicap for YASIMI also. It is because the interaction with YASim thought tabulated CSV data files is very slow and computational power-consuming.

bitwisetech commented 2 years ago

The application was written in order to provide an interactive interface to a program that previously offered only tabulaed CSV files. What is the expected result, raising an issue that describes the very problem that the application addresses ?

kaklik commented 2 years ago

The application was written in order to provide an interactive interface to a program that previously offered only tabulaed CSV files. What is the expected result, raising an issue that describes the very problem that the application addresses ?

The reason is to note the direction of YSIMI enhancement. At the current implementation, there is plenty of running time wasted by producing CSV files by YASim and parsing the results by YASIMI in the second step. That implementation is a huge improvement to previous tabulated CSV files output. But at the same time has two disadvantages:

  1. CPU intensive operation - e. g. dragging a slider on the YASIMI web interface results in the need to wait a relatively long time to get new results.
  2. Is it not possible to store internal variables in YASim FDM between each physics iteration. Therefore is not possible to visualize the rotor parameters for example in the current implementation of YASIMI as I know.
bitwisetech commented 2 years ago

With respect, unless you're signing the cheque, don't tell me how my time should be spent. Spend more time describing what you see happening, think about how YAsim operates. you might be pleasantly surprised.

kaklik commented 2 years ago

With respect, unless you're signing the cheque, don't tell me how my time should be spent.

I meant it respectfully to your work. I do not want to do any forcing the direction of your project and your time. I just want to make a note here, for everyone, who wants to use (and possibly improve) the YASIMI, which is already a perfect project. :)

But Ok, I am open to discussion, about solving that issue as paid work by you or by everyone else. I think that possible discussion should be moved to private messaging. Therefore my email is kakonajakub at thunderfly.cz

Spend more time describing what you see happening, think about how YAsim operates. you might be pleasantly surprised.

I do not know if I understand correctly the sentence. But I noticed, that in the case of running YASIMI there is a web interface with many sliders able to modify the model parameters. If I hold one of the sliders and move with it. There is a significant delay, between moving the slider and getting the new results. I think it is a fundamental property of the current design, where the interface to YASim is done by input/output operations on CSV files. I suppose that the best and most valuable solution for that trouble would be a modification of YASim to have an API, which allows a real-time interface between YASim and other applications (JSBsim is a good example of that solution). That YASim API will be very useful even for another project not only for YASIMI.