# Fuzzy Model Predictive Control for Unmanned Helicopter
## 4 System Validation
#### Results  
In Case 1, the rotorcraft successfully increased its forward flight velocity and achieved approximately \(2\ \frac{\mathrm{m}}{\mathrm{s}},6\ \frac{\mathrm{m}}{\mathrm{s}},\) and \(10\ \frac{\mathrm{m}}{\mathrm{s}}\), which is presented in Figure 5. These forward flight velocity \(V_{x}\) changes were simulated using a linear MPC controller and combining three separate MPC controllers using the Takagi-Sugeno inference algorithm. As the control input increases, the differences between the two systems become more pronounced. For a step change in \(V_{x}^{ref}=2\)\(\frac{\text{m}}{\text{s}}\), the response characteristics of the linear MPC controller and the PDC-based controller appear nearly identical at first glance. However, as the reference flight speed increases, the linear MPC controller exhibits progressively greater overshoot, whereas the PDC controller produces a smoother response with almost no overshoot. This can be attributed to the increasing contribution of control signals derived from models linearized at higher flight speeds in the PDC approach, which more accurately approximate the helicopter dynamics compared to the model linearized for hover conditions. In order to provide a quantitative analysis of the results, the overshoot values and the integrals of absolute errors (IAE) for the linear MPC and PDC controllers were calculated. The overshoot is defined by Equation (37), and the integral of absolute error is given in (38). \[OS=\frac{v_{max}-v_{ref}}{v_{ref}}\cdot 100\% \tag{37}\]  
where:  
* \(OS\) is the overshoot value expressed as a percentage. * \(v_{max}\) is the maximum observed forward flight velocity. * \(v_{ref}\) is the reference forward flight velocity. \[IAE=\int_{0}^{T}|v_{ref}-v(t)|dt \tag{38}\]  
where:  
* \(IAE\) is the integral of absolute error. * \(T\) is the total simulation duration. * \(v\) is the measured forward flight velocity at time t.  
The results of the analysis are presented in Tables 2-4. For the classical MPC controller, the overshoot expressed as a percentage increases with the amplitude of the reference  
Figure 5: Comparison of PDC approach and linear MPC controller for forward flight velocity \(V_{x}\) increase. signal. In contrast, for the PDC controller, the overshoot decreases as the reference forward flight velocity increases. When analyzing the absolute differences between the maximum measured velocity and the reference velocity, the MPC controller shows increasing deviations with higher reference velocities, reaching a maximum of \(1.459\ \frac{\mathrm{m}}{\mathrm{s}}\) for \(V_{ref}=10\ \frac{\mathrm{m}}{\mathrm{s}}\). The PDC controller, however, maintains a relatively constant deviation across all reference values. With respect to IAE values, the differences between the MPC and PDC controllers are marginal. The most significant discrepancy is observed for the step response with \(V_{ref}=2\ \frac{\mathrm{m}}{\mathrm{s}}\), where the difference in IAE (\(\Delta IAE\)) is only \(0.098\ \frac{\mathrm{m}}{\mathrm{s}}\), which is negligible from a control performance perspective. In the second test case, the performance of the regulator designed using the PDC approach was tested for a slalom flight. The reference trajectory, defined for large rotorcraft presented in the ADS-33-PRF design standard, is presented in Figure 6. The trajectory of the ARCHER flight that was performed compared to the reference signal is pictured in Figure 7. The control signals calculated in the second case are shown in Figure 8. The simulation results of the presented case with respect to time are presented in Figure 9.  
In the second case, the helicopter achieved satisfactory accuracy and followed a predefined trajectory. In its initial phase of the flight, the helicopter increased its forward flight velocity to \(V_{x}=6\ \frac{\mathrm{m}}{\mathrm{s}}\) without introducing overshoot and after time \(t=5\) started changing its Y-axis position with time delay \(\tau\approx 0.8\ \mathrm{s}\).