Helicopter Scientific Machine Learning (SciML) Challenge Problem
This is a repository for the helicopter SciML challenge problem. The problem is centered on automatically discovering physically-realistic augmentations to a model of a laboratory helicopter to better predict the movement. This problem is hard because it is realistic:
This challenge is an open-ended problem to find realistic equations. The goal of this challenge is to utilize automated tools to discover a physically-explainable model that accurately predicts the dynamics of the system.
A first principles model for the helicopter systems is derived in the challenge problem write-up. On this system the electrical inputs to the rotories (u(t)) are known and are used to turn up and down the propellers. These then effect the state variables of the system (x(t)), of which the pitch and yaw angles are measured.
The challenge is to predict the future state of the yaw and pitch angles given the current known states and inputs. The challenge is open ended, as in, the best predictor is not necessarily the most useful predictor so a simple number is cannot be used to judge how good a solution is. A neural network can remember and predict the data exactly, but that's not interesting! What we are looking for is new physical equations, augmentations and changes to the original model, that make better predictions and explain the effects (and their importance) which are left out of the original derivation. These augmentations should be physically justifiable (though subjective, rigorous first principles physics should be used to justify the possible explanation for any predictive terms) and should be automatically generated using some programmatic approach. The goal is to figure out how to have computers automatically improve physical equations in a way that can lead to greater understanding of systems from data.
The first principle physics model makes fairly good predictions for the evolution of the pitch angle but does is not a great predictor of the yaw angle:
Initial attempts at automated discovery at the missing physical equations utilized universal differential equations to discover missing friction terms in ths torque:
The model with this automatically discovered terms has an improved fit to the yaw angle:
Still, it is clear that there are many aspects of the model that can be improved, such as adding deadband effects. A more detailed introduction to the current results can be found in the challenge problem write-up.
For an introduction to the dataset, how it was collected, the associated challenges, please see the following video:
The challenge is multi-faceted and there is no single number to determine whether one has done well. However, the features of a solution which are beneficial are:
A detailed description of the challenge problem can be found in the challenge problem write-up which explains the derivation of the helicpter model, the data source, the current fits, and the current experiments in automated physical augmentation discovery.
The scripts, stored in /scripts
, are as follows:
_u
the approach is making K nonlinear in u(t), and _ux
allows for the addition of new state-dependent terms. Additionally,
fourier_attempt showcases using the Fourier basis for learning a
similar universal approximator._u
is for a version that only is trained
to add terms based on u(t), while _ux
allows state-dependent terms
to be discovered.The other folders are:
At the top level there is a Project.toml and Manifest.toml for reproducibility.