Exponential for pitch/roll/rudder axes

  • I am relaying/channeling this question from a user on the Avsim Aerofly Forum. If somebody has an answer, I will post it back on Avsim, if necessary. http://www.avsim.com/topic/496…for-pitchrollrudder-axes/


    Quote

    Unless I have not seen it, it appears that only linear relationships between controller and pitch/roll/rudder deflections can be setup. I prefer an exponential setup so the amount of movement near the centering point is much less than near the extremes. The Extra 330 is so fast in response, it is difficult to fly smoothly. I also notice that the Extra has a second order damped response (it rings/oscillates a little with a step input) - is that also for the actual aircraft?

    Love FS2 in VR - I can get 75fps (DK2) easily - still would like to have ATW for those few times I can't maintain 75fps

    Dave

    Devons rig

    Intel Core i7 8700K @ 5.0GHz / 32.0GB G.SKILL TridentZ Series Dual-Channel Ram / ZOTAC GAMING GeForce® RTX 2080 Ti Triple Fan / Sound Blaster Z / Oculus Rift VR Headset / Klipsch® Promedia 2.1 Computer Speakers / ASUS ROG SWIFT PG279Q ‑ 27" IPS LED Monitor ‑ QHD / 2x Samsung SSD 850 EVO 500GB / Windows 10 Pro 64-bit /Gigabyte Z370 AORUS Gaming 5 Motherboard

  • Any shielded horn ballances on the tail would cause a smaller control surface movement for the initial force on the fore/aft stick and the rudder. The movement of the stick and rudder would also be small, this would be hard to reproduce on a joystick. Very simple aeroplanes might have no ballancing and complex hydraulic controls in large planes have artificial feel and trim for low and very high speed (Mach effects) flight.
    If Aero has a reduced control effect for the initial movement of the stick or rudder it would be a reasonable simulation of aerodynamic ballancing. It might be better if it was adjusted in Aero for individual aircraft instead of the user only having a single broad input which would affect all of the planes.

  • Creating an exponential function for some functions has indeed problems as it influences all airplanes.


    We could instead publish simple instructions on how to tweak each airplane to have different behaviour for people who need this. It can already be done by manually editing the TMD file.

  • Quote

    Unless I have not seen it, it appears that only linear relationships between controller and pitch/roll/rudder deflections can be setup. I prefer an exponential setup so the amount of movement near the centering point is much less than near the extremes.


    Hey,


    Currently Aerofly implements a proportional stick deflection ratio (simulated deflection to real control stick deflection is a constant). Actual centering forces from spring loaded trims, aerodynamic trims, aerodynamic forces and forces caused by acceleration (e.g. mass inertia of the controls), friction and so on are not simulated currently. And because only very few, mostly expensive joysticks actually have a true force feedback with a moving neutral position one can say that the hardware isn't quite there yet. Almost all devices available on the market have a spring loaded centering mechanism that brings the joystick to the exact center. However this is not how real aircraft operate. The force neutral point could be quite far forward or aft depending on the trim setting.


    Also, the majority of input devices affordable today have a stick that is much much shorter than the in the real world aircraft. A lot of airliners in the Aerofly FS 2 have a yoke that is hinging near the flight deck floor. Unless you lengthen your joystick you will probably never get the same fine control inputs as in the real world on any desktop flight simulator.


    Personally I have removed my joystick spring and also have abandoned any non-linear control behavior since I stared flying in the real world. The gliders that I've flown in the real world all only require very small inputs and using something like expo in the simulator would make me overcontrol the aircraft in real world. So personally for me expo is an absolute no-go. But I understand that you want to control the aircraft realistically without purchasing more expensive hardware, so maybe we can do something like expo.


    Quote

    I also notice that the Extra has a second order damped response (it rings/oscillates a little with a step input) - is that also for the actual aircraft?


    The response of the Extra to a step-input is what I would expect. All aircraft that I have flown IRL have had such a reaction. First pitch input, then angle of attack build up, then stick release, continuation of the rotation and then return to the aerodynamical neutral position in an oscillating fashion.


    Any input that you make will add a torque onto the airframe, which over time will start to spin the aircraft faster (pitch rate, roll rate). The speed at which the aircraft increases its pitch/roll/yaw rate depends on its inertia around the corresponding axis. Me model this inertial and the mass distribution physically accurate and in the .tmd file of each aircraft.


    Once the input is neutralized the aircraft is still spinning and only aerodynamic effects such as the stabilizing effect of the tail surfaces are creating a stabilizing torque to dampen and counteract the rotation speeds. Depending on the type of airplane, its center of gravity location and the rotation axis an oscillating reaction can be observed, it's very typical for the pitch axis for example. With a short and abrubt input the real world aircraft and the Aerofly FS 2 aircraft (non-computer stabilized) show a brief angle of attack oscillation followed by the much longer phygoid oscillation.


    Cheers,
    Jan

  • @IPACS and others,
    Thanks much for the great responses to my request for exponential. Mainly my issue with a fairly decent joystick - the Thrustmaster T.Flight Hotas X - is that is is difficult to get small control movements. There is a fixed mechanical deadzone in the stick itself and then the control movement starts so it is hard to feel the center position and then apply a small control. Exponential might help. I liked your comment "We could instead publish simple instructions on how to tweak each airplane to have different behaviour for people who need this. It can already be done by manually editing the TMD file." Yes, I would appreciate some basic comments with a simple example about this. It seems that the TMD file could really provide some amazing capabilities for aircraft customization - it appears to be a complete aerodynamic/primary controls/system config file with lots of math capabilities.

  • First of ll you need a Unicode capable text editor like EditPad, Notepad++ or something like that. Then you can open the Aerofly FS 2 installation folder (in steam apps) and make a backup of the current aircraft that you want to modify, just in case something goes wrong.



    • Open up the aircraft.tmd file (e.g. a320.tmd or extra330.tmd) in the aircraft's folder. Search for "ServoLeftAileron" until you find a block of code that describes a servoclassic with Name "ServoLeftAileron".
      This object works like a polynomial function with: output = P0 + input * P1 + input^2 * P2 + input^3 * P3.
      P0 would be used for a static aileron trim,
      P1 is the linear part
      P2 can be used for aileron differential
      P3 is the "expo" part
    • For correct expo you want to increase P3 whilst decreasing the P1 value by the same amount, so that your center becomes smoother and your maximum deflections (input = 1.0 or -1.0) stay the same. So go ahead and set the P3 to something like 0.15. Now reduce the P1 value by the same amount.
      E.g. P1 of 0.5 would become 0.5 - 0.15 = 0.35.
    • Repeat the process for the ServoRightAileron but this time set P3 negative and increase the value of P1. P3 would be -0.15 for example and the original -0.5 of the P1 value would now be increased to -0.35 instead.
    • Save the file and reload the aircraft in Aerofly FS 2.
    • When you are happy in the way the ailerons react you can then also change the ServoElevator in the same way as the ServoLeftAileron as well as the ServoRudder, the same way as the ServoRightAileron.


    I hope this is of some use to you, just try it out. Make sure to backup your work (save the .tmd file somewhere else) so that any automatic updates from Steam don't overwrite your changes.


    Cheers,
    Jan

  • Jan,
    Thanks much for the time you took laying this out for all of us! I did look through the extra330.tmd and found this entry for the ServoLeftAileron:
    <[string8][object][servoclassic]
    <[string8][Name][ServoLeftAileron]>
    <[string8][Input][AileronTrimmed.Output]>
    <[float64][Speed][20.0]>
    <[float64][P0][0.004]>
    <[float64][P1][0.4736]>
    <[float64][P2][0.0]>
    <[float64][P3][0.05]>
    <[float64][Position][0.0]>
    >
    I will try the change value that you gave for an example (0.15) - so P3 becomes 0.20 and P1 becomes 0.3236. I assume that the value for input is scaled from -1 to 1.0. I tried plotting the function and it looks like I need to try at least 0.3 changes so I get about half the movement in the early going.


    Thanks much for the details!


    Dave

  • Jan,
    Thanks again for the exponential settings tutorial. I did apply them (0.2 to 0.3 P3/P1 changes) to the Extra 330 and that made it feel much better for me to be able to fly smoothly. I can tell from flying the f-18 that my joystick is functioning well but the Extra has amazing responsiveness and I needed to settle it down near center stick. Anyway, your help made a great difference and it it is really nice to be able to customize it.


    Dave

  • When I flew in an Extra 300 IRL, it was so sensitive that in straight and level flight with my fingers lightly resting on the stick I could not feel the pilot's stick movements. When I was controlling, I kept my hand absolutely still and just used my fingertips to move the stick.


    The current Extra 300 in AF2 reminds me very much of that experience.