Our research group (Ofer Eldad, Andrew Alexander, and Christian Claudel) at the University of Texas at Austin has implemented a supervisory control algorithm we developed to protect the flight envelope with either human control or autopilot.
Our test platform is the Bormatec Maja shown below:
The basic idea of the supervised control algorithm is to predict possible states at a future point in time given all possible allowable inputs and disturbances and then limit the control surfaces so that the UAV remains in a "safe state" regardless of human / autopilot input. This algorithm is based on our prior work published by the AIAA Journal of Guidance, Control, and Dynamics titled "Real-Time Computation of Safe Input Sequences for Unmanned Aerial Vehicles".
The "safe state" can be defined as keeping the angle of attack in a certain range, and/or limiting the max velocity, or any other function or combination of functions of the UAV's state that is considered desirable such as minimum altitude and/or maximum vertical acceleration and more.
The algorithm is implemented on an Odroid XU-4 that is connected to a Pixhawk. The Odroid receives sensor input in real time from the Pixhawk, and uses these measurements to get an estimate of the current state using an Unscented Kalman Filter (UKF) for the UAV's 12 states (position, velocity, orientation, rotation rates) in addition to angle of attack, sideslip, and airspeed.
Only IMU measurements are used (accelerometer, gyro, magnetometer) for this flight envelope protection system. The pitot tube and GPS don't need to be used (and are not used in this implementation). This sacrifices good knowledge of position, but we are not interested in good position data for these flight tests.
In order to get the angle of attack, angle of sideslip, and airspeed, we use machine learning based on IMU measurements along with control surface / throttle inputs.
The video below shows a sample pitch maneuver performed by human controller. In this maneuver, the safe elevator input sequence is characterized by an ellipse (projection of 8 dimensional ellipsoid onto 2-dimensional sub-space). Once the commanded elevator input (blue circle) deviates outside of the allowable region, the Odroid overrides the pilot input to the elevator (red triangle) to ensure the angle of attack doesn't exceed a maximum defined value (here 15 degrees).
This system is similar in spirit to alpha-protection systems implemented on Airbus aircraft.