An essential application for RflyMAD is to construct fault diagnosis methods. Here we take a simple fault type as an example to diagnose. Detailed information about this fault could be seen in the following table.
Fault Type | Start Time | Duration | Fault Parameter | Flight Status |
---|---|---|---|---|
Motor(1) | 106s | 30s | 0.6 | Hover |
Motor(4) | 116s | 5s | 0.8 | Hover |
Motor(3) | 126s | 60s | 0.5 | Hover |
Note: motor(i) means the
From the table, we could know that the multicopter is hovering while the faults are injected. Start time means when the fault is injected during the whole flight process. The data used in this sample is an HIL simulation data, and mainly message topics are in ULog data that can be accessed from here.
In this sample, the fault parameter could also be called the loss factor, for it represents the failure degree of a motor. Define the loss factor as
In order to detect the fault by using the RflyMAD dataset, we need to find the relationship between the loss factor and the states of quadrotors. Considering the multicopter is hovering when the faults occur, we could neglect aerodynamic damping and make a small angle assumption to build a simplified function to describe the movement of the quadrotor as 1 2
where
where
Taking the loss factor into consideration, we could change the control input like
Thus, expand the loss factor
Above final function is able to estimate the size of the loss factor by Kalman Filter (KF). ULog
data by using the toolkit we developed and introduced in Dataset. The detailed information about the data in shown in the following table.
Symbol | Source File in ULog | Usage |
---|---|---|
actuator_outputs_0.csv | Input parameter of ESC | |
vehicle_local_position_0.csv | Observation vector of KF | |
vehicle_attitude_0.csv | Observation vector of KF | |
sensor_combined_0.csv | Observation vector of KF |
Note: Other information like physical parameters of the multicopter is shown in OpenHA-Models or documents in our RflyMAD dataset.
With the Kalman Filter and detailed information from RflyMAD dataset, the estimated results are shown in the following figure. Compared with the actual fault information, we could find that the estimation result is accurate.
The above steps show how to use RflyMAD dataset in the process of fault diagnosis, and users can apply their own methods with more message topics in our RflyMAD dataset to get a better results!