## 4 Experiment and Discussion
### Flight Test  
The proposed controller is also tested on the FMAV shown in Figure 1. The embedded software is completely developed by us based on the FreeRTOS platform. Since the vehicles are manually assembled, the consistency of the thrust model on both sides of each prototype cannot be completely guaranteed. As the number of flights and the severity of wear increases, the thrust model shows time-varying characteristics. In this flight test, we carried out the hovering flight test indoors. According to the previous flight experience, the vehicle in this flight has unilateral thrust deficiency, which was also verified in the subsequent flight data. The FMAV maintained a stable flight at an altitude of 160 cm after autonomous take-off. Meanwhile, the desired values of roll angle and yaw angle were set by random operation of the remote control stick. The difference is that the desired roll angle is directly determined by the position of the rocker, but the position of the rocker corresponding to the yaw axis determines the desired yaw rate. The flight results are as follows:  
As shown in Figure 9a, on account of the obvious difference in thrust between the left and right sides, the roll angle is always less than the reference value after the FMAV takes off. It can be inferred that the thrust of the left side is smaller than that of the right side, and the vehicle has an bias torque with a negative sign. This is also consistent with the convergence trend of roll axis torque shown in Figure 9b. The adaptive parameters converge to a relatively stable value in about 25 seconds. To reflect the change of control accuracy before and after the convergence of the adaptive parameters, we calculate the RMS of the attitude error respectively, and the results are shown in Figure 10.  
We can see that the RMS roll angular error is reduced by 44%, and the RMS yaw angular error is reduced by 15% after the convergence of the adaptive parameters. It can conclude that the adaptive controller can improve the control accuracy and eliminate steady-state error. For altitude control, the adaptive parameter \(\hat{m}\) in the altitude controller changes significantly during the ascending process. On the one hand, the ascending process is short, while the convergence of the adaptive parameter requires time. On the other hand, wind drag imposed on the vehicle during the ascent will also change the adaptive parameters, and the size of wind drag varies with movement speed. After reaching the desired altitude, the \(\hat{m}\) quickly converges to a stable range. We take the output of the TD in the altitude controller as the reference height and obtain that the RMS of the altitude error during the entire flight was 4.29 cm. Even if the random change of the attitude angle causes the thrust change in the vertical direction, the altitude control still maintains high accuracy, which benefits from the reasonable control distribution design. For example, when the flapping plane is tilted for the torque required in the yaw axis, according to the calculation of control distribution, the motor speed will be increased at the same time to make up for the loss of vertical thrust force due to the change of thrust direction, instead of waiting for roll angular error or the altitude error to appear. In the overshoot suppression, the results obtained in the simulation are also verified, both the altitude control and the angle control essentially have no overshoot. In conclusion, even if the thrust on both wings is asymmetrical when the attitude and altitude state are controlled simultaneously, the adaptive controller exhibits better overshoot suppression ability, better decoupling performance, and higher control accuracy.