- Native Wolfram Language coding on Raspberry Pi for a portable, standalone module
- Highly automated machine learning for fast, easy implementation and accurate results
- Built-in compatibility with low-level sensors and communication devices
Despite advancements in aviation technology, pilots often struggle to anticipate stalls, spins and other dangerous situations in time to prevent fatal accidents. But with the help of the Wolfram Language, a handheld computer and sensor module, and a few daring flights, Mike Foale and his daughter Jenna created Solar Pilot Guard (SPG): an integrated probe that acts as a virtual copilot, giving early warnings to help save lives.
Foale knows a little something about using the Wolfram Language to solve complex flight problems. An astrophysicist and NASA astronaut who has logged more than a year in space, Foale was on the Mir space station during a collision with an unmanned supply shuttle. He used Mathematica to solve the problem of the station's loss of attitude control, earning the distinction of being the only person (so far) to call Wolfram technical support from space.
So when the Experimental Aircraft Association (EAA) announced a competition to discover solutions to the problem of imminent loss of control of an aircraft, Foale immediately thought of the Wolfram Language.
A More Human Approach
Foale's idea was to use the concept of "in-family" behavior (an engineering term for something expected or normal) and "out-of-family" behavior (something unexpected or worrying) to determine when an aircraft is approaching a loss-of-control situation based on its display of out-of-family behavior. What counts as out-of-family, though, is dependent on a long list of contingencies, and predicting dangerously abnormal flight behavior requires a complicated analytic approach.
Machine learning, the Foales theorized, could offer a more human approach. They could train a neural network to identify those dangerous situations the way a barnstorming pilot would—only much faster—and issue a voice command to tell the pilot which corrective action to take. Those few extra seconds could give the pilot just enough time to prevent an accident.
From Idea to Prototype in Less Than a Month
Attaching a Raspberry Pi with a sensor unit to the wing of Foale's plane, they recorded data from a series of flights, with Foale attempting to recreate a variety of common situations. "Let's just measure and record what the parameters are as we fly along in normal, in-family conditions. Then let's do a stall, and as we get close to a stall, let's see what happens to all the parameters we're measuring. As we go through a stall, we'll flag that moment as out-of-family."
Based on that flight data, they created a "super list" of thousands of rules to indicate what actions a pilot should take in any given out-of-family situation. They then fed that list into the Wolfram Language function Classify. "In a matter of seconds, Classify had announced that it had learned all of the rules. The machine learning doesn't need to know the engineering involved—just that there's a change to the rule."
Since Classify uses built-in training methods, all a user has to supply are the parameters and the data. Because of this speed, the team was able to generate a prototype of their loss-of-control predictor in less than a month.
"There's some good magic going on in that neural networks algorithm..."
Winning the Bronze and Beyond
The SPG won the bronze medal at the 2017 EAA Founder's Innovation Prize competition. Since then, the team has worked to improve the system by automating the creation of training data.
The team's new process starts by using FindClusters to identify and remove large amounts of in-family flight data. Running this reduced dataset through FindClusters again, the team identifies distinct groups of out-of-family behavior. The team can then assign the appropriate pilot actions to each data cluster rather than sort through thousands of individual data points.
In addition to reducing training time from days to hours, this improved process lets the system more precisely define the line between normal flight and loss of control—greatly improving the speed and accuracy of predictions, and reducing the number of false positives from the SPG.
As a next step, the team is looking at using time-indexed training data to better detect early warning signs for out-of-family behavior.
Foale credits the Wolfram Language's robust machine learning functionality for being able to develop the SPG so quickly and effectively. From idea to prototype to final deployment, the software has been the easiest part of the process.