This work presents an error detection and recovery system when the bias error occurs in the yaw rate portion of the gyro (z-gyro) during the quadrotor flight. To detect the error, a Kalman filter is used, based on the dynamic model of the quadrotor and a chi-square test. The auxiliary yaw rate was calculated via the homography matrix between the image frames obtained by the camera filming the ground plane.
This was used as a redundant z-gyro sensor and switched with the failed sensor to perform the recovery process.
Motivation
Related Works
Research Objective
Quadrotor Kinematics
Quadrotor Dynamics
Feature Extraction and Feature Matching
Keypoint and descriptor are used to find interesting points of an image or to match between keypoints. This is an algorithm that has been verified and used in the past, but it has a disadvantage in that it has a high amount of computation. Consequently, SURF, a relatively lightweight algorithm, appeared and was frequently used in systems requiring real-time.
Therefore, this ORB was used in this work because it is suitable for the current system that needs to quickly find the feature points while the camera is moving. The camera parameters used in the simulation are shown in Table 1 and it is assumed that there is no camera lens distortion. As shown in the figure, it can be seen that the key points are placed on the edge of the marker and the cracked part of the asphalt, where it is relatively easy to distinguish the frame change, instead of on the level of the parts.
The brute force descriptor matching method is used, which performs matching by finding a point at a short distance, and Hamming was used as the distance standard. To avoid this, the threshold distance that determines the matching is tuned through trial and error, and other incorrect matches are filtered out taking into account the amount of change in the position of the key points.
Homography
H is a 3 by 3 matrix, and when the scale factor h9 is 1, at least 4 point pairs are needed to find the remainder. However, there is a problem that it becomes vulnerable to outliers when filtering is not performed, but this can be overcome through RANSAC (Random sample consensus) [13]. In OpenCV, the homography matrix is calculated when a pair is passed as a parameter by combining RANSAC through a function called findHomography.
11 shows the result of drawing a rectangle by connecting the four vertices after mapping the four vertices in the first frame to the second frame area through the homography matrix. 10, the position of the newly mapped vertex almost coincides with the vertex of the second frame in a situation where there is little change between frames. 11, when the change is large, the mapped vertices can be seen to be rotated.
As decomposition methods, there are traditionally the Faugeras method and the Zhang method, which are based on singular value decomposition [14]. In OpenCV, decomposition is performed using a function called decompose-HomographyMat, which is based on the above methods. In this case, 4 sets of solutions are returned, consisting of a rotation matrix, a translation vector, and a normal vector.
Finally, the remainder is selected and used through the direction of the normal vector. The amount of deviation change is calculated by decomposing the rotation matrix, divided by the time between frames, and finally the degree of deviation is obtained by applying a low-pass filter to remove the effect of noise. 13 are the results of measuring the degree of deviation with the camera on the paths shown in Fig.
15, the yaw set point is given in the tangential direction of the path, and in Fig.
Kalman Fitler
When the equation is expanded, the component related to the yaw rate can be extracted, is shown in (14). At this point, the path was set to path 1 in Table 2 and the parameter was used as shown in Table 4. The root mean square error was calculated using the ground truth value provided by the simulation.
After using the Kalman filter, it can be seen that the mean square error is relatively reduced.
Fault Detection
Bias Recovery: Switching
Bias Recovery: Correction
Environment Setting
Result of Fault Detection
The results for the values of the statistical parameters λgyroandλwhen there is a bias are shown in fig. In the error section, it can be seen that λgyroinjected with the error exceeds the threshold. Similarly, in the case of path 2, it can be seen that the λ value of the sensor injected with the error increased.
Non-zero values on the graph indicate an error flag, indicating that an error has been detected. And the time from the end of the error to the detection of the end of the error was 0.004 seconds on path 1 and 0.008 seconds on path 2, which is a small difference because the running time of the code is not always the same.
Result of Bias Recovery: Switching
33 there is a small error during the error part from 10s to 13s, but the estimate follows the same way as the actual value. To check to what extent the small error affects the flight, 5 flights were performed for each route. The average error value is less than 0.06 rad/s, but a bias of 0.06 rad/s was injected to assume a worse situation than this.
Near the (3, 0) position, the bias error is injected and the quadrotor is slightly off-path, but then follows the path again. So it will follow the path better in relatively low error situations and this amount of error is not critical for quadrotor.
Result of Bias Recovery: Correction
39, once a fault is injected, the quadrature diverges from the path near (3, 0) and fails to recover to normal operation. 44, the gyro exceeded the threshold at the beginning and end of the fault, and in figure 45, the bias was corrected, so there is a change in the sensor value during the delay time, but it works normally because of the controller.
In this work, a system was studied that overcomes the bias error situation of the z-gyro sensor of the quadrotor by calculating the swing rate through a camera attached to the bottom of the quadrotor. The swing rate calculated by the camera showed a value similar to the actual measured value, showing the possibility of recovery. However, the output frequency of the camera is much lower than that of gyro sensor, the method to overcome by switching still needs to be improved.
Ding, "A survey of fault diagnosis and fault-tolerant techniques - part i: Fault diagnosis with model-based and signal-based approaches," IEEE Transactions on Industrial Electronics, vol. Zhao, “Distributed redundant flight control computer architecture design based on timing buses for uav,” IEEE Sensors Journal , vol. Rossi, “Sensor fault detection, isolation and accommodation for digital twins via data-driven modular architecture,” IEEE Sensors Journal, vol.
Zhang, “A thrust model-aided fault diagnosis method for the altitude estimation of a quadrotor,” IEEE Transactions on Aerospace and Electronic Systems , vol. Rhudy, “Accelerometer fault-tolerant model-supported state estimation for high-altitude long-endurance uav,” IEEE Transactions on Instrumentation and Measurement, vol. Bolles, “Random sampling consensus: a paradigm for model fitting with applications to image analysis and automatic cartography,” Communications of the ACM , vol.
There were times when I was lost and discouraged, but thanks to the support and consideration of the professor, I was able to overcome it. I am also grateful to the members of the Electromechanical Systems and Control Laboratory (ESCL), Myunggun Kim, Seongmin Lee, Hoyoung Kim, Minho Shin, Sangheon Lee, Wonmo Chung, Sejoon Joo, Sanha Lee and Yonghyun Cho. I was able to learn a lot thanks to the members' advice, and I really enjoyed working together.