Skip to main content
Log in

Tracking in scale quad-rotors through adaptive augmentation

  • New applications of Artificial Neural Networks in Modeling & Control
  • Published:
Neural Computing and Applications Aims and scope Submit manuscript

Abstract

This paper illustrates the application of an adaptive flight control architecture to a scale quad-rotor. For autonomous vertical takeoff and landing flight, it is common to separate the control problem into an inner fast loop that controls attitude and an outer slow loop that controls the trajectory tracking. In this paper, we augment a conventional proportional and derivative controller conceived mainly for hovering, with an adaptive element using a real-time tuning single hidden layer neural network in a inner–outer loop combined architecture to account for model inversion error cancelation, issued in the feedback linearization process. The results shown in simulations reveal the superior performance of the augmented controller in tracking maneuvers.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

  1. Bouabdallah S, Siegwart R (2008) Design and control of a miniature quadrotor. In: Valavanis KP (ed) Advances in unmanned aerial vehicles. State of the art and the road to autonomy. Springer, pp 171–210. ISBN:978-1-4020-6113-4 (Print), 978-1-4020-6114-1 (Online)

  2. Bouadi H, Simoes Cunha S, Drouin A, Mora-Camino F (2011) Adaptive sliding mode control for quadrotor attitude stabilization and altitude tracking. In: 12th IEEE international symposium on computational intelligence and informatics. Budapest, Hungary, pp 449–455

  3. Castillo P, Lozano R, Dzul AE (2005) Modeling and control of mini-flying machines. Springer, London

    Google Scholar 

  4. Fang Z, Gao W (2011) Adaptive integral backstepping control of a micro-quadrotor. In: The 2nd international conference on intelligent control and information processing. Harbin, China, pp 910–915

  5. Hornik K, Stinchcombe M, White H (1989) Multilayer feedforward networks are universal approximators. IEEE Trans Neural Netw 2:359–366

    Article  Google Scholar 

  6. Isidori A (1995) Nonlinear control systems. Springer, London

    Book  MATH  Google Scholar 

  7. Johnson EN (2000) Limited Authority Adaptive Flight Control. Ph. D. thesis. Georgia Institute of Technology, USA

  8. Kannan SK, Johnson EN (2002) Adaptive flight control for an autonomous unmanned helicopter. In: AIAA guidance, navigation, and control conference and exhibit. Monterrey, USA

  9. Kim N (2003) Improved methods in neural network based adaptive output feedback control, with applications to flight control. Ph. D. thesis. Georgia Institute of Technology, USA

  10. Kim N, Calise AJ (2007) Neural network based adaptive output feedback augmentation of existing controllers. Aerosp Sci Technol 12:248–255

    Article  Google Scholar 

  11. Nardi F (2000) Neural Network Based Adaptive Algorithms for Nonlinear Control—Ph. D. thesis. Georgia Institute of Technology, USA

  12. Nicol C, Macnab CJB, Ramirez-Serrano A (2011) Robust adaptive control of a quadrotor helicopter. Mechatronics 21(6):927–938

    Article  Google Scholar 

  13. Salazar-Cruz S, Palomino A, Lozano R (2005) Trajectory tracking for a four rotor mini-aircraft. In: 44th conf. on decision and control, Seville, Spain, pp 1354–1363

  14. Schreier M (2012) Modeling and adaptive control of a quadrotor. In: Proceedings of 2012 IEEE international conference on mechatronics and automation. Chengdu, China, pp 383–390

  15. Shin Y (2005) Neural Network Based Adaptive Control for Nonlinear Dynamic Regimes. Ph. D. Thesis. Georgia Institute of Technology, USA

  16. Zhang X, Liu X (2010) Nonlinear internal model based attitude tracking and disturbance rejection of rigid spacecraft. In: IEEE international conference on intelligent computing and intelligent systems (ICIS), pp 711–715

Download references

Acknowledgments

This work was supported by the Spanish Ministry of Science and Education, grant DPI-2010-20466-C02-01.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cesáreo Raimúndez.

Appendix

Appendix

This section details the transformations associated with operations involving quaternions and rotation matrices. We shall adopt as the basis of the transformations the rotation matrix known as E 123 and as quaternion structure q = {q 0q 1q 2q 3}. Defining

$${\hbox {Roll}}[\phi] = \left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 &{\mathsf{c}}\phi & {\mathsf{s}}\phi \\ 0 & -{\mathsf{s}}\phi & {\mathsf{c}}\phi \\ \end{array} \right)$$
(65)
$${\hbox {Pitch}}[\theta] = \left( \begin{array}{ccc} {\mathsf{c}}\theta & 0 &-{\mathsf{s}}\theta \\ 0 & 1 & 0 \\ {\mathsf{s}}\theta & 0 & {\mathsf{c}}\theta \\ \end{array} \right)$$
(66)
$${\hbox {Yaw}}[\psi] = \left( \begin{array}{ccc} {\mathsf{c}}\psi &{\mathsf{s}}\psi & 0 \\ -{\mathsf{s}}\psi & {\mathsf{c}}\psi & 0 \\ 0 & 0 & 1 \\ \end{array} \right)$$
(67)

Thus \(E_{123} = {\hbox {Roll}}[\phi]\cdot {\hbox {Pitch}}[\theta]\cdot {\hbox {Yaw}}[\psi].\) So the rotation matrix is

$$\left( \begin{array}{ccc} {\mathsf{c}}\theta {\mathsf{c}}\psi & {\mathsf{c}}\theta {\mathsf{s}}\psi & -{\mathsf{s}}\theta \\ {\mathsf{c}}\psi {\mathsf{s}}\theta {\mathsf{s}}\phi-{\mathsf{c}}\phi {\mathsf{s}}\psi \; & {\mathsf{c}}\phi {\mathsf{c}}\psi+{\mathsf{s}}\theta {\mathsf{s}}\phi {\mathsf{s}}\psi & {\mathsf{c}}\theta {\mathsf{s}}\phi \\ {\mathsf{c}}\phi {\mathsf{c}}\psi {\mathsf{s}}\theta+{\mathsf{s}}\phi {\mathsf{s}}\psi & {\mathsf{c}}\phi {\mathsf{s}}\theta {\mathsf{s}}\psi-{\mathsf{c}}\psi {\mathsf{s}}\phi & {\mathsf{c}}\theta {\mathsf{c}}\phi \\ \end{array} \right)$$
(68)

The quaternion product of p and q gives

$$p\cdot q = \left\{ \begin{array}{c} p_0 q_0-p_1 q_1-p_2 q_2-p_3q_3 \\ p_0 q_1+p_1 q_0+p_2 q_3-p_3q_2 \\ p_0 q_2-p_1 q_3+p_2 q_0+p_3 q_1 \\ p_0 q_3+p_1 q_2-p_2q_1+p_3 q_0 \end{array} \right\}^{\top}$$
(69)

For unitary quaternions, q −1 = {q 0,  − q 1,  − q 2,  − q 3 } so

$$q \oplus p = p\cdot q = \left\{ \begin{array}{c} p_0 q_0-p_1 q_1-p_2 q_2-p_3 q_3 \\ p_0 q_1+p_1 q_0+p_2 q_3-p_3q_2 \\ p_0 q_2-p_1 q_3+p_2 q_0+p_3 q_1\\ p_0 q_3+p_1 q_2-p_2q_1+p_3 q_0 \end{array} \right\}^{\top}$$
(70)
$$q\ominus p = p^{-1}\cdot q =\left\{ \begin{array}{c} p_0 q_0+p_1 q_1+p_2 q_2+p_3 q_3 \\ p_0 q_1-p_1 q_0-p_2 q_3+p_3 q_2 \\ p_0 q_2+p_1 q_3-p_2 q_0-p_3 q_1 \\ p_0 q_3-p_1 q_2+p_2q_1-p_3 q_0 \end{array} \right\}^{\top}$$
(71)

The conversion transformations between E 123(ϕθψ) and q are

$$\left\{ \begin{array}{c} {\mathsf{s}} \left(\frac{\theta }{2}\right) {\mathsf{s}} \left(\frac{\psi }{2}\right) {\mathsf{s}} \left(\frac{\phi }{2}\right)+{\mathsf{c}} \left(\frac{\theta }{2}\right) {\mathsf{c}} \left(\frac{\psi }{2}\right) {\mathsf{c}} \left(\frac{\phi }{2}\right)\\ {\mathsf{c}} \left(\frac{\theta }{2}\right) {\mathsf{c}} \left(\frac{\psi }{2}\right) {\mathsf{s}} \left(\frac{\phi }{2}\right)-{\mathsf{s}} \left(\frac{\theta }{2}\right) {\mathsf{s}} \left(\frac{\psi }{2}\right) {\mathsf{c}} \left(\frac{\phi }{2}\right)\\ {\mathsf{s}}\left(\frac{\theta }{2}\right) {\mathsf{c}} \left(\frac{\psi }{2}\right) {\mathsf{c}} \left(\frac{\phi }{2}\right)+{\mathsf{c}} \left(\frac{\theta }{2}\right) {\mathsf{s}} \left(\frac{\psi }{2}\right) {\mathsf{s}} \left(\frac{\phi }{2}\right)\\ {\mathsf{c}} \left(\frac{\theta }{2}\right) {\mathsf{s}} \left(\frac{\psi }{2}\right) {\mathsf{c}} \left(\frac{\phi }{2}\right)-{\mathsf{s}} \left(\frac{\theta }{2}\right) {\mathsf{c}} \left(\frac{\psi }{2}\right) {\mathsf{s}} \left(\frac{\phi }{2}\right) \end{array} \right\}^{\top}$$
(72)

and the inverse \(q \longrightarrow E_{123}\)

$$\begin{array}{l} \{\phi,\theta,\psi\} = \\ \left\{\begin{array}{c} \tan ^{-1}\left(q_0^2-q_1^2-q_2^2+q_3^2,2 (q_0 q_1+q_2 q_3)\right)\\ -\sin ^{-1}(2 (q_1 q_3-q_0 q_2)) \\ \tan ^{-1}\left(q_0^2+q_1^2-q_2^2-q_3^2,2 (q_0 q_3+q_1 q_2)\right) \end{array}\right\}^{\top} \end{array}$$
(73)

Also, the rotation matrix associated to a quaternion p is

$$\begin{array}{ccc} {\hbox {Rot}}[p] = \left( \begin{array}{lll} \scriptstyle p_0^2+p_1^2-p_2^2-p_3^2 &\scriptstyle 2 (p_1 p_2+p_0 p_3) & \scriptstyle 2 p_1 p_3-2 p_0 p_2 \\ \scriptstyle 2 p_1 p_2-2 p_0 p_3 & \scriptstyle p_0^2-p_1^2+p_2^2-p_3^2 & \scriptstyle 2 (p_0 p_1+p_2 p_3) \\ \scriptstyle 2 (p_0 p_2+p_1 p_3) & \scriptstyle 2 p_2 p_3-2 p_0 p_1 & \scriptstyle p_0^2-p_1^2-p_2^2+p_3^2 \\ \end{array} \right) \end{array}$$
(74)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Raimúndez, C., Camaño, J.L. Tracking in scale quad-rotors through adaptive augmentation. Neural Comput & Applic 23, 635–643 (2013). https://doi.org/10.1007/s00521-013-1425-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00521-013-1425-8

Keywords

Navigation