Indeed we are very happy to inaugurate our brand new blog with the story of the first release of the auto-hovering system we bring to X-Plane through our AW139. When we first announced it, we were actually stuck on the programming, but the best was yet to come.
BRAVO! BRAVO! BRAVO! I could go on about all kinds of aspects, the groundstone you have layed for future versions with the rebuild of the high res interior, sound, et cetera, et cetera. but you know the feeling when you jump into the machine and think you know everything and then you meet a totally different character, more sensitive and responsive, more powerfull in all aspects of flying and manoeuvring. I had the feeling I could thread a needle with it, even without auto hover.
The auto-hover is a pricy optional that Leonardo usually puts on the table with SAR and oil platform customers, such as Era Helicopters and Bristow, and with every clients whose operational needs ask for maximum stability. We got documented about the real thing first and at the beginning we have to admit it was really frustrating to find a clue about how to obtain that effect. Speaking with other developers not only didn’t solve any of our doubts, but made our thinking even more confusing. We then contacted Austin and his answer was even more frustrating.
Wait! X-Plane autopilot it’s not designed for that!
What we wanted to get was an hovering experience similar to the one of X-Plane AI when it’s asked to manage our helicopter’s take off. Have you tried it yet? It performs beautiful, steady hoverings while waiting the tower controller for permission to raise the collective, give pedals and push cyclic forward. Hovering is also used by AI to taxi the helicopter and we thought it would have been a super-feature for our helicopters.
Whe take our time to study how this was done, then we got coffee and seated in front of X-Plane searching for insights. The first thing we did was freezing the AI right after the hovering was started, in order to get unlimited time to observe the hovering. Once we got there, we attempted to change the aircraft heading and roll ratio via certain autopilot datarefs, only to understand that they were disabled since version 9… Thanks, Austin!
It’s important to explain here that, differently from other simulation platforms, X-Plane’s main asset resides into its phisics model, maniacally built around the mimic of real, in an effort that puts X-Plane into another world, with features and results a lot more complex and veritable than the beautiful eye-candies of the simulator that we all love so much. This means the only way to get what we wanted should have been get by replicating the real behaviour of the real helicopter. No other chances or crazy tricks, such as disabling the flight model as we did on a second attempt. So we got back to study.
Here’s how the type rating manual of the real AW139 explains the feature:
«The HOV mode utilizes the blended AHRS-GPS ground velocity information to provide commands that maintain longitudinal and lateral aircraft ground velocities for hovering and low speed flying. The HOV can be manually engaged by pressing the HOV push button on the Guidance Controller or by pressing the beep trim (Chinese-Hat fifth position) on the cyclic hand-grip. At the engagement the HOV mode velocity references are set to zero». The last sentence was illuminating.
First we had to find and then set all possible movement vectors to zero in a way that each one could reach the 0 in a progressive manner. It was not an easy task because, once we identified the correct way to do it, the phisics model started to put a lot of resistance (and still does, as you can see from the nose cursor in HUD mode vibrating when IAS gets near to zero). Anyway, after a series of attempt we find the correct values that our script would have overwritten on command. And so we did.
After e few lines of code and after creating a custom command to activate the plugin (you can assign it to a key to have the function ready when needed) the very first auto-hovering was a screaming surprise. The result was a stable, progressive hovering with just a flat pitch attitude which was not precisely what we wanted. The AW139 has the main rotor pitched -10° forward, while this solution makes cruise flight leveled and more comfortable for passengers, on the other hand it a little discomfort when hovering, because the nose pitches up +10° as the mast goes perpendicular to terrain.
We made to obtain this typical nose up attitude of the aircraft by associating the hover command to a specific pitching dataref, after a little more tweaking we got it working and tweeted joyfully about that. As you can see, the take-off (raise of collective) of the helicopter is indeed very sweet. This is due to an arbitrary automation we put on the blades pitch when flying with mouse. It’s obtained when ready for take-off by activating the FT (MISC PANEL) and the HOV button. This easter-egg – which is obviously not present on the real helicopter – raises the collective gently to the target pitch value, in other words the helicopter takes off and sets the hover automagically. Operating instructions here.
We hope you liked the story, it’s just a very little part of a huge effort of development running for three years now. We decided to share it to show how much effort is needed just to deliver one single feature of the helicopters we all love. Thanks for reading and spread the love for your developers!