This project features several of our favourite things. Astronauts! Machine learning! High-altitude danger! Graphs! (It could only get slightly better with the addition of tap-dancing centaurs.) Read on to have your nerdliest pleasure centres tickled.
Solar Pilot Guard, a Foale family project
Michael Foale is a former astronaut with dual British/American citizenship; and thanks to that dual citizenship was revered by British kids like me as some kind of Superman when he spent time on the Russian Mir space station back in the 1990s. It’s always great to see one of our heroes using the Raspberry Pi, but it’s doubly great when the use it’s being put to is so very, very cool.
Foale’s daughter Jenna is a PhD candidate in computational fluid dynamics, and together they have engineered a machine-learning system called Solar Pilot Guard to help prevent aircraft crashes, using the Wolfram Language on a Raspberry Pi. A solar-powered probe (that fin in the image above) detects changes in acceleration and air pressure to spot potential loss-of-control (LOC) events in flight, calculating the probability of each pressure/acceleration event representing a possible LOC event.
If it detects a possible LOC event, the system issues a voice command to the pilot over Bluetooth speakers, using machine learning to tell the pilot what corrective measures they should take.
Here it is in action:
An example of in-flight operation of the Solar Pilot Guard (SPG), issuing commands for correction of flight behavior that could lead to loss of control (LOC). Demonstrated commands: Push, Power – Left, Left – Right, Right Submitted to EAA AirVenture, Oshkosh 2017.
Losing control to generate training data
In order to train the network, Michael Foale had to feed the machine data about what LOCs and normal flight look like — which meant flying the kit in ways which would make the plane lose control, not just once, but over and over, until the neural net had the data it needed to differentiate different sorts of LOC events. Told you he was a superhero.
A stack of different machine learning functions at different levels of abstraction are working together here. This is a training set from one of the (presumably terrifying) training flights:
The Pi processes and learns from this data; if you’re interested in a very deep dive into the way this all works, and how you can build your own neural networks using the Wolfram Language, there’s a very comprehensive treatment over at the Wolfram blog.
We love seeing projects like this that recognise just how robust and powerful a little Raspberry Pi can be. Jenna and Michael: thank you for sharing what you’ve been working on here. It’s one of the coolest and most audacious projects we’ve seen in a long time.