Physics and Aerodynamic on Directional Stability - Part 2 - Getting to the Root of the Problem

Hello all, I plan here on expand on some of the findings from my previous Post:

With the great support from two friends, Jose Monteiro and Marco Ottaviano, to whom I am very thankful for teaching me a lot, and for sending me tons of really nice reading material, I continued investigating the inner workings of the Aerodynamics Simulation in MSFS2020.

Let me first warn you this is going to be a looong post. If you don’t feel like readying a bunch of theoretical stuff now, better to come back later ;).

I started looking a scientific way to compare a Simulator Aircraft Model to the real world counterpart. Putting aside the subjectivity of a pilot opinion, feeling, etc, is the only way to have a precise and repeatable outcome, which are crucial to make this comparison.

Turns out engineers, dating back to before WW2, had the same necessity, a way to evaluate the Flight Handling Characteristics of airplanes in a way that could be measured and evaluated without guesses. They developed a series of experiments, done by experienced test pilots, that enabled raw flight data to be gathered, and then processed.

This is what is called Stability and Control Derivatives. Don’t ask me to explain how exactly this works, I barely know myself. What is important to understand is that these values are used on the Equations of Motion, that every simulator has running inside, along with flight data information, such as Airspeed, Altitude, Moment of Inercia, etc, and will output what your airplane is going to react.

Some of these values alone can tell you Stable or Unstable an airplane is, how powerful the Control Surfaces, such as Elevator or Rudder, are when displaced. You can then compare two completely different aircrafts, with unique shape, surface dimensions, etc. Call it a Benchmark for an Airplane Flight Characteristics.

So, how can we get this data from the Simulator? Turns out Asobo / Microsoft has built in just what we need ! The Virtual WindTunnel, built in Modern Flight Model in MSFS2020. Find info about this on the SDK!
Source: SDK Documentation

MSFS2020 is already doing the hard work for us! It flies the aircraft you loaded in the Virtual Wind Tunnel, when you load an aircraft, and recreating loads of relevant flight conditions, extracting and processing data to generate the derivatives for the Aircraft, all this in such a short time you don’t even notice. It’s shown on the Legacy Page inside within DevMode

Kudos for Asobo / Microsoft on this implementation. Really smart thinking.

Of all those values, we will focus at the ones which tells us how stable or unstable the airplane is directionally, or around the yaw axis. The Twitchy reactions I see in all MSFS2020 Airplanes, Addons or Default, really bothers me, so this is the area I think needs most attention now.

I decided I would focus on the Cessna C172, since it’s a very known plane. My friends helped me find Real Derivative Values for the C172, so I was able to tweak the model in MSFS2020, knowing what I should be striving for.

Real C172 Aerodynamic Data

I have highlighted two values, CyBeta and CnBeta.

CyBeta - This is the Sideforce Variation due to Sideslip Angle. Is primarily due to the side force (or “lift”) produced by the vertical tail. This Force wants to return your plane back to Zero Sideslip, when you Drift, so it’s a stabilizing force. The Higher it is, the more Stable the airplane is Directionally.

CnBeta - Yawing moment due to Sideslip Angle. Also known as weathercock stability derivative, is caused mostly by the vertical tail side force acting through the moment arm. A positive value of Cnβ corresponds to stability, i.e., to the tendency for the vehicle to turn into the relative wind.

These values are in RADIANS. Not Degrees, 1 Rad = 57,3 Degrees.

Now I will show the Derivative Values for the Default untouched C172 MSFS2020:

The Virtual WindTunnel in MSFS2020 is calculating the Cessna C172 CyBeta as -2.236Rad, and CnBeta as 0.913Rad. Remember it’s Radians, not Degrees, so this gets multiplied to 57.3!

Now I began to understand why aircraft feel so twitchy in MSFS2020. The Real C172 has a calculated CyBeta = -0.31 Rad, almost 10X lower than in the Asobo simulation. CnBeta calculated as 0.065 Radians, that’s orders of magnitude smaller than the MSFS2020 Flight Model.

Just as an example, 0.065Radian = 3.72 degrees. While 0.913 Radian = 52.3 Degrees!

This generates a plane with incredible and completely unrealistic high Directional Stability. Meaning, if you use Rudder, or it is affected by a Gust, it wants to instantly come back to Zero Sideslip, making the handflying extremely unpleasent for the pilot in command.

With my modifications, I managed to achieve these values.

What did I have to do to get to this? I had to put the rudder_effectiveness scalar = 0.1! So, 1/10th of the calculated value from the Virtual WindTunnel.

I find it very likely that some internal calculations within the Core Flight Model, are not working as they should, nothing to do with any individual Aircraft or addon. This affects all the Planes. The Scalars should be used to adjust some minor deviations to what the Simulator is calculating internally, but when it gets to this order of magnitude, the issue is probably in the Root of the Calculations.

The Influence of the Tail in the Stability, in the case of this experiment, is being superestimated by a LOT. No Control Settings or Expertise from Experienced 3rd Party Developers will change that unfortunately. Only Asobo can find and fix this, and I’m pretty sure they will, just as they already fixed a bunch of other stuff the community reported.

And the good news is, if Asobo can find the causes, and fix this issue, I anticipate that all airplanes, default and addons, will start feel and behave a LOT better. Most of the Complains of Exaggerated Weathercock tendendy during Takeoff, Twitch Flight Controls, etc will disappear! Other areas will still need improvement, for sure, but this is a big one in order to improve the realism and make a lot of people happy with how their planes are flying!

I hope this can help improve this Simulator even further, it’s my only intention!
Hope you managed to read this far :slight_smile: The Beer is on me! Thank you!

Please let me know of your opinions on this, and If I Can, I will answer any question you might have!

Edit: Removed conversion of Derivatives from Radians to Degrees, as it wasn’t correct. the values are per radians, so 1/rad. Anyway, it was my stupid attempt to make it easier for us regular brains to understand in degrees, not in Radians. It will however NOT affect any of the comparions made in this post, as the real C172 data, and the MSFS2020 Virtual Windtunnel data, are both given in Radians!

75 Likes

Well, first of all, BIG KUDOS for your initiative and efforts to better understand what might be wrong with the overall feel of aircraft, default and also MOD or payware, and to make this post explaining in so few but clear and informative lines your findings and how much they can help others understanding some of the concepts involved and what the values calculated by the MFS “virtual flight tunnel” poor out when we load an aircraft in the sim.

I fully agree that the numbers you transcribed from the default C172, before your own modifications, clearly exhibit where part of the problems are, and I sincerely hope your post can reach whoever is in charge of the flight dynamics in the development team.

It’s more or less evident that many of the quirks reported by users and 3pds can only be overcome if ASOBO pays attention to findings / reports like these and start working on solutions, and desirably, on better documentation and SDK tools to give developers some way to fine tune their models.

Congratulations, and thank you for the certainly hard work that is behind your post !

Now, I look forward to see reactions to this post, and some feedback from the forums mods regarding making it reach the guys at ASOBO !

11 Likes

Amazing info! ASOBO NEEDS TO SEE THIS !!

@Jummivana

14 Likes

Dead on mate!

3 Likes

That was super informative and , obviously, involved a lot of work by several individuals.
Our glass has been raised to you all. Hopefully, this will result in some serious consideration.

Many Thanks !!

3 Likes

Thanks for your thoughtfulness in putting this together.

3 Likes

Really appreciate the deepness of research and thoughtfulness on this post. Thank you so much for sharing it with the community! I’ve passed it on to my team as well to read and digest. Cheers!!

38 Likes

This is definitely worth testing tomorrow. Any excuse to practise crosswind takeoffs, and landings! :grinning_face_with_smiling_eyes:

2 Likes

First of all, AWESOME analysis! I think you are definitely onto something here. Would love to see Asobo address this in the upcoming Q&A’s or even on the forum directly.

Being a physics guy, this stuff is interesting to me but I’ll admit that I don’t completely get all of the gory details.

Having said that, the same physics guy in me sees a possible bit of inaccuracy in your description/interpretation. Just in the units of the values you are highlighting. You say they are radians but it looks like it’s actually 1/radians. (that’s what the -1 superscript is supposed to mean after the rad label). Units of 1/radians are plain weird, I know.

Your point is still valid and a very good one at that! I am just being a bit pedantic in my reading of your post. Please don’t take offense!

6 Likes

I was just writing about my experience landing in a cross-wind and it’s exactly as you say, severe weathercocking at slower speeds, although, it sounds like you’re saying the rudder has too much effectiveness, and my experience it seems not enough in the case of landing in a cross-wind.

I’ve been wondering, however, do they turn the rudder off below a certain speed for taxiing purposes? That would explain what happens as the plane reacts fine until I get to a certain speed, then suddenly the plane veers into the wind and actually accelerates into the wind direction even though the engine is off and I have full opposite rudder going on.

Would explain what I just said in the previous post? That the rudder has orders of magnitude less effectiveness than it should have?

I don’t think they do. If I am taxiing around 15kts, on the centreline, and then centre my rudder it will turn into the wind. The rudder is definitely doing something to correct this.

What I’ve been finding in the Arrow is as your speed builds, if I have full aileron input, at the point my wing starts to raise, and you are effectively on two wheels, that is the point where you have to put more rudder in. This is not a good technique, I was just doing this test the point at which where you get that sudden jerk. If I didn’t have that much aileron in, all three wheel down, and I don’t instantly increase rudder input, you get the lurch. That point sneaks up on you, and you barely have any time to react. Overdoing the aileron input kind of acts like an early warning, and I have managed to avoid that lurch by doing that.

I’ll play around with the 172, both with, and without this change to rudder effectiveness to see how different this feels.

1 Like

Would explain what I just said in the previous post? That the rudder has orders of magnitude less effectiveness than it should have?

That’s a good question. My initial take on it would be that the vertical stabilizer itself has too much effect. The rudder itself creates another effect that acts in concert with the vertical stabilizer acting as a “wing” by adding more or less “lift” that induces a torque around the yaw axis. Having said all of that, I’m honestly just shooting from the hip. I don’t understand aerodynamics well enough to really grasp the big picture. I missed that day in physics class. :wink:

2 Likes

I’m getting turned into the wind with full opposite rudder.

I think there are some situations where in real life you would never fly, and that wind just cannot be overcome. That’s why I find this thread odd that it involved reducing rudder effectiveness, or at least reducing the value for that attribute.

I’ve been in situations like that, where full rudder plus toe break is needed.

1 Like

That’s what I’ve been trying to figure out since the sim was released. I’m not into physics calculations but feedback from certain control surfaces are unclear and there is no joy in it. Really appreciated your hard work and effort you’ve put into! This must be corrected ASAP regardless in every single plane (I mean physics should be calculated, corrected or studied from the scratch).

Is it just easy to copy and paste these results you found in related cfg file?

Thank you Alex. You definitely have put a lot of effort into this and I hope your hard work brings forth good rewards.

But I wanna ask a bunch of questions not to you but to people who are in charge of producing, managing, advertising and developing this video game: You say you started developing this game in 2016. Since then you made professional arrangements with various companies like Blackshark, Bing and many others, and used Azure, your in-house technology, to stream scenery into this game.

Why did you stop there? What stopped you from making similar professional arrangements with companies like Textron and get them to help you with not just the aircraft visual model but also the flight model and avionics as well?

You hired ORBX to build and improve the default non-handcrafted airports, and then ORBX hired a bunch of folks and paid them £9 quids per hour to do that for 8 hours a day. You couldn’t do something similar with Textron?

Why do Sebastian and his colleagues even bother to fly a real world C172 to record flight model data if MS have such a strong partnership with Textron that their graphics designers went as far as making a video advertisement about how they stopped everything they were doing only to cater to Microsoft’s demands the moment they got a phone call from them?

And why is Sebastian recording real world aircraft’s flight model now, 8 months after release? Why not back in the year 2016, 17, 18, 19 or 20 ? Do Textron have a lack of C172s at their factories?

You made strong, intimate and professional partnerships with Blackshark and Bing to process and stream scenery and make them available on day one, but you couldn’t do the same with companies like PMDG, FSLabs, Textron and A2A Simulations to offer similarly accurate aircraft and “flight” simulation either on day 1 or day 240 of release?

10 Likes

You’re making a lot of assumptions in this post. The biggest assumption is that it was at all possible to source an arrangement with the companies as you are describing. Do note that aviation companies are extremely reluctant to share such figures. And you are also assuming that reaching out was not done to the sim companies that you describe. And on top, you are assuming Asobo just started recording flight videos.

I would not make those assumptions.

-Matt

10 Likes

I find crosswind landings fantastic in the sim, with either the 152 or the Arrow (both of which I fly in real life). Taxiing and takeoffs are the problem. Way to squirrelly on the ground while taxiing. The sim also does not like aileron deflection on takeoff (crosswind correction). Flight dynamics for both are tremendous.

2 Likes

The coefficient by itself doesn’t tell the whole story, as you also need a reference length to go with it. So, it will depend on what that length is. For example, for a yawing or pitching moment, does the sim use the wingspan, semi-span or mean aerodynamic chord as the reference length? That’s part of it.

My theory is that they are not calculating 3D lift slopes for tail surfaces. That is, corrected for aspect ratio and sweep. They are using 2D lift data for an airfoil ( I think ). Also, they are not factoring in downwash from the wing in the lift slope of the tail surfaces, which would cut the tail lift in 1/2, approximately. So, when you combine those things, you could easily see a factor of 5 or more.

Moments of inertia also play a huge role in the yaw or pitch response. More testing is required. A work around would be to reduce the htail and vtail areas by “the factor”. Here’s an example for a vertical tail

2d lift slope = 0.1 / deg
3d lift slope for aspect ratio 1.5 with 30 deg of sweep = 0.037 / deg

6 Likes