ALFA: A Dataset for UAV Fault and Anomaly Detection
The recent growth in the use of Autonomous Aerial Vehicles (AAVs) has increased concerns about the safety of the autonomous vehicles, the people, and the properties around the flight path and onboard the vehicle. Much research is being done on new regulations, more robust systems are designed to address the concerns, and new methods and algorithms are introduced to detect the potential hardware and software issues.
This dataset presents several fault types in control surfaces of a fixed-wing Unmanned Aerial Vehicle (UAV) for use in Fault Detection and Isolation (FDI) and Anomaly Detection (AD) research. Currently, the dataset includes processed data for 47 autonomous flights with 23 sudden full engine failure scenarios and 24 scenarios for seven other types of sudden control surface (actuator) faults, with a total of 66 minutes of flight in normal conditions and 13 minutes of post-fault flight time. It additionally includes many hours of raw data of fully-autonomous, autopilot-assisted and manual flights with tens of fault scenarios. The ground truth of the time and type of faults is provided in each scenario to enable the evaluation of new methods using the dataset. We have also provided the helper tools in several programming languages to load and work with the data and to help the evaluation of a detection method using the dataset. A set of metrics is proposed to help to compare different methods using the dataset. Most of the current fault detection methods are evaluated in simulation and as far as we know, this dataset is the only one providing the real flight data with faults in such capacity. We hope it will help advance the state-of-the-art in Anomaly Detection or FDI research for Autonomous Aerial Vehicles and mobile robots to enhance the safety of autonomous and remote flight operations further.
Hardware: The platform used for collecting the dataset is a custom modification of the Carbon Z T-28 model plane. The plane has 2 meters of wingspan, a single electric engine in the front, ailerons, flaperons, an elevator, and a rudder. We equipped the aircraft with a Holybro PX4 2.4.6 autopilot, a Pitot Tube, a GPS module, and an Nvidia Jetson TX2 onboard computer. In addition to the receiver, we also equipped it with a radio for communication with the ground station.
Software: The Pixhawk autopilot uses a custom version of Ardupilot/ArduPlane firmware to control the plane in both manual and autonomous modes and to create the simulations. The original firmware is modified from ArduPlane v3.9.0beta1 to allow disabling control surfaces during the flight. The onboard computer uses Robot Operating System(ROS) Kinetic Kame on Linux Ubuntu 16.04 (Xenial) to read the flight and state information from the Pixhawk using MAVROS package (the MAVLink node for ROS).
More Information and Supplemental Tools
Please visit http://theairlab.org/alfa-dataset for more information. It includes the description of each flight sequence, alternative download locations to view and download each individual flight sequence, correct citations to the relevant publications, supplemental code, and an open-source published method using the dataset.
The corresponding paper explaining the dataset in more detail is currently under review in the International Journal of Robotics Research (IJRR). The pre-print (arXiv) of the paper can be accessed from our website at http://theairlab.org/alfa-dataset .
The supplemental tools for reading and working with the dataset in C++, MATLAB and Python languages can be accessed from https://github.com/castacks/alfa-dataset. The repository also includes a C++ ROS-based tool for evaluating the new methods and all the ROS message type definitions for working directly with the ROS bags.