March 2, 2015
So a thing I have been doing a lot recently is writing, testing, and tuning Xavion!
Xavion is an App that I wrote to do everything that an iPad or iPhone could possibly do that I could think of to act as a backup that can save your butt in flight.
And it has worked out to be pretty darn exciting.
You can check it out at www.Xavion.com, but the gist of it is as follows:
(Everything I am about to describe is designed to be done in flight in a real airplane, but you can try this out yourself in Xavion for free if connected to X-Plane… just get Xavion from the App Store for your iPad or iPhone and go to the SETTINGS menu in X-Plane, NET CONNECTIONS screen, and turn on the XAVION output to let X-Plane drive Xavion, thus allowing you to experience everything I am about to describe in X-Plane at no charge).
Before flight, we go to the PRE-FLIGHT menu and grab the latest VFR sectional and IFR low and high enroute charts (OK, there is a charge for those since I have to pay Seattle Avionics for them) and instrument approach plates. Downloading these for your route, you will have a backup of your charts and plates if your regular charts and plates are not available for some reason. As well, since your aircraft is drawn creeping across both the charts and Approach Plates based on the iPad or iPhone GPS, you have a backup of your entire navigation system as well. Also, since NEXRAD precip is drawn on the charts and Approach Plates (if you have an ADS-B receiver talking to your iPad), you have a backup for onboard weather-radar. And, since winds aloft can also be shown on the map, and METAR reports for any airport that reports weather by simply touching the airport (if you have either a net connection OR a cell connection OR an ADS-B connection), Xavion acts as a full backup weather system as well, giving you a backup to XM-Weather or any other means you might have to get weather.
And that is just the charts. As well, before flight, you can simply go to the Pre-Flight menu and enter your fuel and payload with a few swipes of the mouse, and Xavion shows you a complete weight and balance graph for the entirety of your flight (all the way to fuel exhaustion if it lasts that long!). This gives a nice backup to whatever weight and balance calcs you might otherwise do or just assume from experience, and makes a great way to breeze right through a ramp-check, since you will not be fumbling to do a weight and balance check for the FAA on the spot!
As well, once you have just made a few swipes of the mouse to enter your weight, Xavion estimate your take-off distance based on your current weight, density altitude, and previous take-off distances! If previous take-offs have used 1,500 feet, and you have entered a higher weight today, or are flying from a higher altitude (which it knows by GPS, no need for you to enter it!) or higher temperature or lower baro pressure setting (which it already knows from ADS-B, net, or cell connection, if you have ANY of those things), then Xavion calculates the change in air density and estimates the additional runway required for take-off. As well, once you taxi ONTO any runway, Xavion uses it’s GPS to see where you are, and it’s airport database to see how much runway you have in front of you, and will warn you if the runway in front of you might be insufficient for flight at your current weight at the current density altitude! ALL OF THIS FROM JUST A FEW SWIPES TO ENTER YOUR WEIGHT! SO, Xavion backs up whatever take-off distance calcs you did, or just assumed, which is nice for safety and for a ramp-check.
And then into flight: In flight, Xavion uses the attitude sensors in a SageTech Clarity or iLevil ADSb receiver (if you have one) or it’s own internal gyros, accelerometers, GPS, and magnetometer otherwise, to estimate your pitch, heading, roll, and flight path in flight. Since Xavion draws a pretty nice PFD with Synthetic Vision, Xavion is then backing up your attitude indicator, airspeed indicator, altimeter, vertical speed indicator, and directional gyro! So you have a backup of your entire EFIS Primary Flight Display! And since this draws an image of the world with Synthetic Vision, this is rather a backup for your… WINDOW! Is it night? Foggy? Are you in the clouds? Is your window covered in ice, engine-oil, or blood and feathers? With it’s terrain, obstacle, and runway database, the Synthetic Vision System in Xavion is there to back up what you wish you could see out the window!
A few interesting points about the airspeed indicator and altimeter: If Xavion is NOT connected to an iLevil with a pitot-tube connection, Xavion STILL estimates your INDICATED airspeed!
How? First off, Xavion knows your GROUNDSPEED based on the GPS. Then, since Xavion should know the wind from ADS-B weather or cell connection or net connection or manual entry by you, Xavion can factor the wind into the ground-speed to estimate the true AIRSPEED! Then, based on the altitude and barometric pressure setting, it can convert that TRUE airspeed to an estimated INDICATED airspeed! So, unlike other apps which show your GROUNDSPEED on the airspeed indicator tape, Xavion does the math to give you an estimated indicated airspeed, which is a much better backup for your airspeed indicator!
The altimeter is interesting as well. Xavion uses the connection to the static system in your airplane if you have an iLevil that is hooked up accordingly, but if you do not have that, but you have an iPhone6 or iPad of the same generation, which have an air pressure sensor built in, then Xavion uses that pressure sensor to find your altitude! So, in that case, your iPad or iPhone is a backup altimeter running ON ALTERNATE STATIC AIR! So, you have a backup to you static system as well, should ice or water take that system out. If you have an older iPhone or iPad without a pressure sensor, then the iPhone or iPad will fall back to GPS for altitude estimation. So, Xavion has a lot of ways to find your airspeed and altitude, and will simply use the best way it can in each situation.
As well, there is a super-easy-to-use, mini FMS system in Xavion where you just enter your destination (with some fixes along the way) and Xavion will guide you there with 3-D hoops in the sky, thus backing up your entire navigation system, and it is SO easy to use and fly that it is just ridiculous: Just fly through the hoops!
Now all of this is cool, but here is where things get REALLY wacky: In flight, Xavion is CONSTANTLY running imaginary power-off glides from wherever you are down to every runway it can find within gliding range of your airplane. For each of these power-off glides that it runs in its’ little built-in flight simulator, it scores the margin for error for an approach to that runway. The margins for error that are considered are ability to glide to the airport, the extra time available to you on final approach to set up for landing, the steepness of the bank required to make a pattern for that airport based on your current location, and the runway length and width, all corrected for the weather at that airport (remember: You don’t need as long a runway if you have a headwind! You probably want a wider runway if you have a crosswind!) Now, since Xavion runs many different approaches to every runway you can glide to, and memorizes the margin for error of each approach, it can SHOW you whatever approach has the highest margin for error! And it does so with simple 3-D hoops shown on your Synthetic Vision display, Highway-In-The-Sky style. So, if your engine ever fails, you can simply push the panic button and fly through the hoops that Xavion shows you to glide down to whatever runway will give you the greatest margin for error on your approach. I have found from experience that Xavion always manages energy better than I can (it puts me right where I want to be on the runway at a modest speed every time), and at night or in IMC, there is nothing even close to a contest between what Xavion can do and how I would do on my own without Xavion. (Of course, Xavion knows the descent rates of your airplane, and considers the wind, to plan your approach. You enter your power-off descent rates when you configure Xavion for your airplane, and Xavion knows the winds from the weather input methods mentioned above).
And now it gets better: If you have a TruTrak autopilot and iLevil ADS-B receiver, then you will soon be able to do what we are testing successfully now: Let your iPad or iPhone send commands to the TruTrak autopilot to actually FLY YOUR PLANE DOWN TO THE RUNWAY AFTER ENGINE FAILURE.
So, how do I develop and test this App?
Well, that is a pretty interesting question.
So, the first step is to sit and think.
What can in iPad do?
What do I need in flight?
It is rather shocking how often an iPad can provide it.
Once I have an idea for a way to make Xavion do more to back up systems in flight, I code it and try it in X-Plane!
So, I use X-Plane to test Xavion on the ground just like you can to try it out for free as well.
Obviously, X-Plane is free for me to use, so I can test quite literally hundreds of hours with no cost or risk.
In fact, I actually program X-Plane to go a RANDOM LOCATION and FAIL THE ENGINE, then tell XAVION to try to save the day by guiding the simulated airplane down to safety!
Once the flight down to earth is all simulated in X-Plane, commanded by Xavion, X-Plane goes to a DIFFERENT random location, fails the engine AGAIN, and lets Xavion fly it right down to safety AGAIN!
And again, and again, and again and again and again, all in an automated test that keeps putting X-Plane in random locations, failing the engine, and letting Xavion fly the simulated airplane down, quite literally all night and unto the morning. I just start the automated test before I knock off for the night, and check the results the next morning, perusing the results of literally 12 hours of continuous engine failures. With this automated testing, I can test a hundred failures per day, and thousands over the course of development, recording the outcome of each flight. (Xavion typically scores a 100% success ratio in bringing the airplane to the round-out point right in front of the runway, and 95% success rate in actually landing the airplane ON the runway at such a point that it can be stopped on the runway was well. The 5% of the time that it cannot actually land the airplane occurs when the elevation maps in Xavion and X-Plane differ. If this is any indication of reality, then you should be able to expect Xavion to get you to a round-out point right in front of the runway, but you should do the final flare and landing yourself).
So, once the testing is done in X-Plane, it is of course time to take it up in the real plane and see how it does.
Typically, I do this in my Columbia-400. I run out to Columbia Metro, where my plane is hangared, and run through the full pre-flight on my iPad as described above. I then head over the Camden for flight-test. Camden is a nice un-controlled field with only light traffic and average-size runways, over very sparsely-populated terrain, which makes it nearly ideal for flight-test. I use Xavion to guide me to Camden, and climb to a decent altitude somewhere in it’s general vicinity, all while checking and tuning any number of elements in Xavion, such as the weather downloading and interpreting, user interface, approach scoring and selection, and attitude-indication, which is a bit tricky to find, but can still be estimated, based on the gyros and accelerometers and GPS.
Once at at least a few thousand feet over Camden, I pull power to idle in my Columbia and engage Xavion. (NOTE! My airplane DOES settle somewhat faster when the engine is completely shut down, but I do my tests at idle for safety. Since Xavion has a margin for error built into the approach, and the approach is modulated by adjusting the prop control if available, the difference in glide between power-idle and power-off is small compared to the safety margins built in to the approach). So, with power at idle and the red button hit in Xavion, I follow the iPad down to Camden.
Now, these power-idle tests are made somewhat interesting by a quirk in the cooling system of a Columbia 400: This airplane needs to have at least 100 degrees F oil temperature before it can even do a run-up! This is to give the oil the viscosity desired for lubricating the engine at high RPM. Now, during a long power-idle descent in the winter, the oil temperature CAN, in some cases, fall BELOW 100 degrees F in flight! Now, as long as I leave the engine at idle, and the prop RPM pulled fairly far back to hold the engine at 1000 rpm (the same RPM you would see at idle on the ground), then this is no problem at all: As far as the engine is concerned, it is simply idling on the ground with oil temperatures normally encountered during warm-up! The engine is at idle speed and temperatures the same as what you would find during warm-up. BUT, the Operating Handbook clearly says to NOT advance the engine RPM… (even to run-up!) until the oil temperature comes up over 100 degrees! So, descending at idle with the oil temperature falling to 90 or 80 degrees F, what if I need to GO AROUND? Technically, the oil is simply not ready to provide lubrication for a go-around. In other words, the engine-out approach is only a SIMULATED engine-out, but since a go-around is not really feasible…… let’s just say that I want Xavion to get the guidance RIGHT, so I can just let the engine idle all the way to touch-down and roll-out, so it can warm up safely on the ground before I take off for the next test.
So, after a morning or afternoon of engine-idle flight tests, often broken up by putting the plane in an autopilot-controlled holding pattern at altitude while I look at code on the laptop as it runs Xavion, or stopping on the ground at Camden to look at the code more closely, I eventually get to the point that I can sign off on that version of Xavion as being ready for release to the App Store. (Now, here is something interesting: If Xavion does something stupid at Camden in flight, I land at Camden and carry my laptop and iPad into the conference room there. I fire up X-Plane on my laptop exactly as described at the top of his page, and Xavion on my oPad, using Camdens’ WIFI as a local area network, and fly the maneuver that is giving me trouble ON X-PLANE, seeing how it is handled by Xavion. This lets me try the maneuver again that I just tired in reality, but now in a conference room rather than the cockpit, so I can focus on the code and any diagnostics that I want to run to see what exactly Xavion is doing, and why. This little “pre-flight test-flight” in the sim lets me get Xavion where I want it on the ground, and as soon as I have the problem licked i slam my laptop shut, walk out to the airplane, hop in and try it in the real plane. Pretty fun!)
When all is done, I stop at my cousins Bar-B-Que joint on the way home if it was a morning test-flight series, then run home and upload the new improved version of Xavion to the App store, and a better version is soon available to everyone. Xavion is now on version 1.53 (as of this writing), so suffice it to say: I have done this more than a few times!