Abstract
Hybrid Unmanned Aerial Vehicles UAV are vehicles capable of takeoff and landing vertically like helicopters while maintaining the longrange efficiency of fixedwing aircraft. Unfortunately, due to their wing area, these vehicles are sensitive to wind gusts when hovering. One way to increase the hovering windrejection capabilities of hybrid UAV is through the addition of extra actuators capable of directing the thrust of the rotors. Nevertheless, the ability to control UAVs with many actuators is strictly related to how well the Control Allocation problem is solved. Generally, to reduce the problem complexity, conventional (CA) methods make use of linearized control effectiveness in order to optimize the inputs that achieve a certain control objective. We show that this simplification can lead to oscillations if it is applied to thrust vectoring vehicles, with pronounced nonlinear actuator effectiveness. When large control objectives are requested or actuators saturate, the linearized effectiveness based CA methods tend to compute a solution far away from the initial actuator state, invalidating the linearization. A potential solution could be to impose limits on the solution domain of the linearized CA algorithm. However, this solution only reduces the oscillations at the expense of a lag in the vehicle acceleration response. To overcome this limitation, we present a fully nonlinear CA method, which uses an Sequential Quadratic Programming (SQP) algorithm to solve the CA problem. The method is tested and implemented on a single board computer that computes the actuator solution in real time onboard a dual axis tilting rotor quadplane. Flight test experiments confirm the problem of severe oscillations in the linearized effectiveness CA algorithms and show how the only algorithm able to optimally solve the CA problem is the presented Nonlinear method.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
Data Availability
the datasets generated during and/or analysed during the current study are available from the corresponding author on reasonable request.
References
Mancinelli, A., Smeur, E.J.J., Remes, B., Croon, G.D.: Dualaxis tilting rotor quadplane design, simulation, flight and performance comparison with a conventional quadplane design. Int. Conf. Unmanned Aircraft Syst. (ICUAS) (2022). https://doi.org/10.1109/ICUAS54217.2022.9836063
Sadien, E., Roos, C., Birouche, A., Carton, M., Grimault, C., Romana, L.E., Basset, M.: A detailed comparison of control allocation techniques on a realistic onground aircraft benchmark. Amer. Cont. Conf. 2019 (2019). https://doi.org/10.23919/ACC.2019.8814718
Johansen, A., Fossen, I.: Control allocation  a survey. Automatica, 49(5), (2013). https://doi.org/10.1016/j.automatica.2013.01.035
Bodson, M.: Evaluation of optimization methods for control allocation. J. Guid Cont. Dynamics, 25(4), (2002). https://doi.org/10.2514/2.4937
Barata, J., Hussein, M.: The moorepenrose pseudoinverse: a tutorial review of the theory. Brazilian J. Phys. 42, (2012). https://doi.org/10.1007/s135380110052z
Shi, J., Zhang, W., Li, G., Liu, X.: Research on allocation efficiency of the redistributed pseudo inverse algorithm. Sci. China Inf. Sci. 53, (2010). https://doi.org/10.1007/s114320100032x
Durham, W.C.:Constrained control allocation. J. Guidance Cont. Dynamics 16(4) (1993). https://doi.org/10.2514/3.21072
Bodson, M., Frost, S.A.: Load balancing in control allocation. J. Guidance Cont. Dynamics 34(2), (2011). https://doi.org/10.2514/1.51952
Petersen, J.A.M., Bodson, M.: Constrained quadratic programming techniques for control allocation. IEEE Trans. Cont. Syst. Technol. 14(1), (2006). https://doi.org/10.1109/TCST.2005.860516
Harkegard, O.: Efficient active set algorithms for solving constrained least squares problems in aircraft control allocation. Proceedings of the 41st IEEE Conference on Decision and Control, vol. 2 (2002). https://doi.org/10.1109/CDC.2002.1184694
Poonamallee, V.L., Yurkovich, S., Serrani, A., Doman, D.B.: A nonlinear programming approach for control allocation. Proceedings of the 2004 American Control Conference. vol. 2, (2004). https://doi.org/10.23919/ACC.2004.1386822
Wang, J., Longoria, R.G.: Coordinated and reconfigurable vehicle dynamics control. Trans. Cont. Syst. Technol. 17(3), (2009). https://doi.org/10.1109/TCST.2008.2002264
Chen, Y., Wang, J.: Fast and global optimal energyefficient control allocation with applications to overactuated electric ground vehicles. IEEE Trans. Cont. Syst. Technol. 20(5), (2012). https://doi.org/10.1109/TCST.2011.2161989
Chen, Y., Wang, J.: A global optimization algorithm for energyefficient control allocation of overactuated systems. Proceedings of the 2011 American Control Conference. (2011). https://doi.org/10.1109/ACC.2011.5990899
Huan, H., Wan, W., We, C., He, Y.: Constrained nonlinear control allocation based on deep autoencoder neural networks. European Control Conference (ECC). (2018). https://doi.org/10.23919/ECC.2018.8550445
Khan, H., Mobeen, S., Rajput, J., Riaz, J.: Nonlinear control allocation: A learning based approach. (2022). https://doi.org/10.48550/arXiv.2201.06180
Simplício, P., Pavel, M.D., VanKampen, E., Chu, Q.P.: An acceleration measurementsbased approach for helicopter nonlinear flight control using incremental nonlinear dynamic inversion. Cont. Eng. Practice 21(8), (2013). https://doi.org/10.1016/j.conengprac.2013.03.009
Smeur, E.J.J., Chu, Q., De Croon, G.C.H.E.: Adaptive incremental nonlinear dynamic inversion for attitude control of micro air vehicles. J. Guidance Cont. Dynamics 39(3), (2016). https://doi.org/10.2514/1.G001490
Wright, J.: Numerical optimization. Editor: Springer  ISBN: 9780387303031 (1951)
Schittkowski, K.: NLPQL: A fortran subroutine solving constrained nonlinear programming problems. Annal. Oper. Res. 5, (1986). https://doi.org/10.1007/BF02739235
Gati, B.: Open source autopilot for academic research  the paparazzi system. 2013 American Control Conference (2013). https://doi.org/10.1109/ACC.2013.6580045
Klein, V., Morelli, E.: Aircraft system identification: theory and practice. Chapter 3. Editor: AIAA education (2006)
Smetana, F.O., Summey, D.C., Johnson, W.D.: Riding and handling qualities of light aircraft  A review and analysis. Editor: National aeronautics and space administration. (1972)
Acknowledgements
The work was carried out within the Unmanned Valley Project. The authors would like to thank the “Europees Fonds voor Regionale Ontwikkeling(EFRO)" who is founding the Unmanned Valley project under grant code KvW00168 for the SouthHolland region.
Author information
Authors and Affiliations
Contributions
all authors contributed to the study conception and design. Material preparation, data collection and analysis were performed by Alessandro Mancinelli. The first draft of the manuscript was written by Alessandro Mancinelli and Ewoud J.J. Smeur and all authors commented on previous versions of the manuscript. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Ethics Approval
the work does not require ethics approval since it does not involve human or animal subjects.
Financial interests
authors Bart D.W. Remes, Guido C.H.E. De Croon and Ewoud J.J. Smeur declare they have no financial interests. Author Alessandro Mancinelli has received financial support under the form of PhD grant by the "Europees Fonds voor Regionale Ontwikkeling(EFRO)" with grant code KvW00168.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
List of Acronyms
 CA :

Control Allocation
 VTOL :

Vertical Takeoff and Landing
 SBC :

Single Board Computer
 SQP :

Sequential Quadratic Programming
 EOM :

Equations Of Motion
 INDI :

Incremental Nonlinear Dynamic Inversion
 FCB :

Flight Control Board
 PIU :

Pseudo Inverse Unconstrained
 WLS :

Weighted Least Squares
 CG :

Center of Gravity
 INS :

Inertial Navigation System
 UAV :

Unmanned Aerial Vehicle
 IMU :

Inertial Measurement Unit
 DOF :

Degrees Of Freedom
Appendix: Mathematical model of the dualaxis tilting rotor quadplane
In this section, we will report the EOM derivation for the dualaxis tilting rotor quadplane as described in our previous paper [1].
1.1 A.1 Reference Frames and Notation
Firstly, the rotor disposition and spinning direction have to be characterized. In Fig. 3, a scheme containing the rotor disposition and the motors spinning direction is shown.
Secondly, it is important to define the different reference frames used for the characterization of the vehicle dynamics:

Earth Frame \(\Gamma _e\) : Origin on the Earth surface, \(x_e\) aligned with Earth north, \(y_e\) axis aligned with Earth east and \(z_e\) axis pointing towards the center of Earth.

Body Frame \(\Gamma _b\) : Origin in the airplane CG, \(x_b\) axis in the vehicle plane of symmetry and pointing to the nose, \(z_b\) axis in the vehicle plane of symmetry and perpendicular to \(x_b\), \(y_b\) axis perpendicular to \(x_b\) and \(z_b\), pointing to the right wing.

Propeller Frame \(\Gamma _p^i\) : Origin in the center of rotation of the \(ith\) rotor, axis direction aligned with the body frame \(\Gamma _b\) when the tilting angles \(g_i\) and \(b_i\) are zero.

Wind Frame \(\Gamma _w\): Origin in the airplane CG, \(x_w\) axis in the vehicle plane of symmetry pointing in the wind speed direction, \(z_w\) in the vehicle plane of symmetry and perpendicular to \(x_w\), \(y_w\) perpendicular to \(x_w\) and \(z_w\), pointing to the right wing.
An overview of the Earth, Body and Propeller frames and the identification of the rotor tilting angles is shown in Fig. 4.
The transformation matrices for the projection of a vector from one reference frame to another can be identified as follows:
For the coordinate transformation between the body reference frame \(\Gamma _b\) to earth reference frame \(\Gamma _e\) the following matrix is used:
where c and s represent the abbreviation respectively of the cosine and sine function, while \(\phi \), \(\theta \) and \(\psi \) are the Euler angles in the traditional ZYX order.
For the coordinate transformation between the propeller frame \(\Gamma _p\) to body reference frame \(\Gamma _b\) the following matrix is used:
where the angles \(b_i\) and \(g_i\) are the ith rotor tilting angles. Conventionally, within the paper we will refer to \(b_i\) as elevation tilting angle and to \(g_i\) as azimuth tilting angle. For a visual representation of the tilting angles, the reader can refer to Fig. 4.
Concerning the coordinate transformation between the wind frame \(\Gamma _w\) and the body frame \(\Gamma _b\), the following matrix is used:
where \(\alpha \) is the angle of attack and \(\beta \) is the sideslip angle.
Finally, we define the matrix T used to obtain the rate of change of the Euler angles from the body rates \(\omega \):
where \(\Theta \) represents the Euler angle vector composed by \(\phi \), \(\theta \) and \(\psi \).
1.2 A.2 Assumptions
In order to facilitate the EOM derivation, a few assumptions are made:

Inflow into the propeller is assumed not to influence it’s performance.

The thrust generated by the rotor is always perpendicular to the propeller disk and it is applied in the center of the propeller disk.

The change in the body inertia due to the rotor tilting is negligible and \(x_b\), \(y_b\) and \(z_b\) are vehicle principal axes.

\(x_p\), \(y_p\) and \(z_p\) are principal axes for the propeller, and the inertia terms \(I^p_{xx}\) and \(I^p_{yy}\) are negligible.

The inertia tensor of the tilting mechanism in the propeller reference frame \(\Gamma _p\) is a diagonal matrix.
1.3 A.3 Equations Of Motion Derivation
With the reference frames and assumptions defined, it is possible to analyze all the forces and moments contributing to the system dynamics for the development of the EOM:
where \(\ddot{P_e}\) are the linear acceleration in the earth reference frame and \(\dot{\omega }\) represent the body rates derivative.
Each term of Eq. 30 refers to a specific contribution asollows:

\(F^p : \) Forces produced by the propeller thrust rotated to the earth frame:
$$\begin{aligned} F^p = \sum \limits _{i=1}^{N} R_{eb} R_{bp}^i \left( \begin{array}{cccc} 0 \\ 0 \\  K_p^T \Omega _i^2 \end{array} \right) , \end{aligned}$$(31)where \(K_p^T\) is the thrust coefficient of the motor and \(\Omega _i\) is the rotational speed of the ith motor.

\(F^a : \) Aerodynamic forces produced by the vehicle in the earth frame:
$$\begin{aligned} F^a = R_{eb} R_{bw} \left( \begin{array}{ll} D^{wb} \\ Y^{wb} \\ L^{wb} \end{array} \right) , \end{aligned}$$(32)where \(D_{wb}\), \(Y_{wb}\) and \(L_{wb}\) are the aerodynamics forces acting on the vehicle and can be expressed as follows [22]:
$$\begin{aligned} \left( \begin{array}{ll} D^{wb} \\ Y^{wb} \\ L^{wb} \end{array} \right)= & {} Q \left( \begin{array}{ll} C_{D0} + k_{cd} (C_{L0} + C_{L\alpha }\alpha )^2 \\ C_{Y\beta } \beta \\ C_{L0} + C_{L \alpha } \alpha \end{array}\right) , \nonumber \\{} & {} \quad \quad Q = \frac{1}{2}\rho S V_{tot}^2 \end{aligned}$$(33)where \(\rho \) is the air density, S is the wing surface and \(V_{tot}\) is the airspeed.

\(M^a : \) Aerodynamic moments acting on the vehicle in the body reference frame:
$$\begin{aligned}&\hspace{1.5cm}M^a = \left( \begin{array}{lll} M_L^a \\ M_M^a \\ M_N^a \end{array} \right) = \nonumber \\ = \;&Q\left( \begin{array}{lll} \bar{b}(C_{l0} + C_{l\beta }\beta +\frac{\bar{b}}{2V_{tot}}(C_{lp}p + C_{lr}r)) \\ \bar{c}(C_{m0}+C_{m\alpha }\alpha )\\ \bar{b}(C_{np}\frac{\bar{b}}{2V{tot}}p + C_{nr}\frac{\bar{b}}{2V_{tot}}r) \end{array} \right) , \end{aligned}$$(34)where \(M_L^a, M_M^a\) and \(M_N^a\) represent respectively the aerodynamic roll, pitch and yaw moment acting on the vehicle. The coefficients present in the second term of Eq. 34 and in the first term of Eq. 33 can be identified through test flights, CFD analysis or geometrical vehicle properties [23]. Within this paper, we will employ the aerodynamic coefficients identified in [1].

\(M^t : \) Torque generated by the rotors due to the propeller thrust:
$$\begin{aligned} M^t = \sum \limits _{i=1}^{N} \left( R_{bp}^i \cdot \left[ \begin{array}{ll} 0 \\ 0\\  K_p^T \Omega _i^2 \end{array} \right] \right) \times \left( \begin{array}{lll} l_x^i&l_y^i&l_z^i \end{array}\right) , \end{aligned}$$(35)where \((l_x^i,l_y^i,l_z^i)\) are the coordinates of the ith rotor in the body reference frame.

\(M^d : \) Torque generated by the rotors due to the propeller drag:
$$\begin{aligned} M^d = \sum \limits _{i=1}^{N}  R_{bp}^i \left( \begin{array}{ll} 0 \\ 0\\ K_p^M \Omega _i^2 \end{array} \right) (1)^i, \end{aligned}$$(36)where \(K_p^M\) is the torque coefficient of the motor and can be identified as previously described for \(K_p^T\).

\(M^i : \) Torque generated by the propeller inertia due to the rotational rate change:
$$\begin{aligned} M^i = \sum \limits _{i=1}^{N}  J_p R_{bp}^i \left( \begin{array}{ll} 0 \\ 0\\ \dot{\Omega _i} \end{array} \right) (1)^i, \end{aligned}$$(37)where \(J_p\) is the propeller inertia.

\(M^p : \) Torque generated by the rotor precession term due to the tilting rotation:
$$\begin{aligned} M^p = \sum \limits _{i=1}^{N} R_{bp}^i \left( \begin{array}{cc} 0 \\ 0 \\ J_p \Omega _i \end{array} \right) \times \left( \begin{array}{cc} \dot{g_i} \\ \dot{b_i} \\ 0 \end{array} \right) (1)^i. \end{aligned}$$(38) 
\(M^{tilt} : \) Torque generated by the rotor inertial term due to the tilting rotation:
$$\begin{aligned} M^{tilt} = \sum \limits _{i=1}^{N} R_{bp}^i \left( \begin{array}{cc} \ddot{g_i} I_{{xx}_i}^{tilt}\\ \ddot{b_i} I_{{yy}_i}^{tilt}\\ 0 \end{array} \right) (1)^i, \end{aligned}$$(39)where \(I_{{xx}_i}^{tilt}\) and \(I_{{yy}_i}^{tilt}\) are the ith rotor tilting inertia in the propeller reference frame.

\(M^r : \) Inertial term of the rotor due to the vehicle rates
$$\begin{aligned} M^r = \sum \limits _{i=1}^{N}  \omega \times \left( R_{bp}^i \left( \begin{array}{ll} 0 \\ 0 \\ J_p \Omega _i \end{array} \right) (1)^i \right) . \end{aligned}$$(40)
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Mancinelli, A., Remes, B.D.W., De Croon, G.C.H.E. et al. RealTime Nonlinear Control Allocation Framework for Vehicles with Highly Nonlinear Effectors Subject to Saturation. J Intell Robot Syst 108, 67 (2023). https://doi.org/10.1007/s10846023018658
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10846023018658