Abstract
In this study, back-stepping integral sliding mode control (BISMC) with iterative learning control (ILC) algorithm are presented for nonlinear translational and rotational dynamics of the Quadrotor UAVs. The proposed controller (BISMC) can track desired trajectories and (ILC) is responsible for inclining the accuracy and robustness of the control strategy. In order to prove the stability of the closed loop system, Lyapunov theorem is used. The simulation results indicate that the proposed control strategy has high accuracy, suitable robustness, disturbance rejection, good trajectory tracking and fast transient responses for the Quadrotor UAVs despite the uncertainties and external disturbances.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Nowadays, Quadrotor UAV plays a significant role in people life and researchers have paid more attention for designing better control strategy for it. Due to the Quadrotor UAVs features such as speed, small size and environmentally friendly, it has been applying for weather monitoring, relief and rescue operation and military purposes, etc. The dynamic of the Quadrotor UAVs is highly coupled, nonlinear and under actuated, therefore it’s very difficult to design a robust controller despite the external disturbances and uncertainties. One more fact should be taken into consideration is that the Quadrotor UAVs is affected by aerodynamic effects and inertial torque during the flight pass.
It’s well known that sliding mode control (SMC) is a nonlinear control strategy which could cope with the uncertainties and external disturbances on sliding surface [1,2,3,4,5] and this powerful method repeatedly was applied for the Quadrotor UAVs. In [6], an adaptive sliding mode control by feedback linearization were used for a Quadrotor helicopter. In [7, 8], a new fuzzy integral sliding surface was designed for improving the stability of the nonlinear system. In [9], a finite-time control algorithm based on SMC was improved for altitude control of the Quadrotor UAVs and multi variable finite-time control were used in [10, 11]. In order to cope with the uncertainties, an adaptive sliding mode control was designed for the Quadrotor UAVs. Additional references about SMC can be found in [12, 13]. In [14], a Mixed H2/H∞ Controller based on LMI based Approach is used. The mentioned control strategies can improve the robustness of the system.
In the recent years, combination of back-stepping and sliding mode control was used for controlling the altitude and the position of the Quadrotor UAVs which back-stepping is used to track the desired trajectory [15] and SMC is responsible for inclining the robustness of the system [16, 17]. In [18], back-stepping and sliding mode techniques were applied to distributed secondary control of micro Quadrotor UAVs. A new fuzzy back-stepping sliding mode control was provided for the under-actuated Quadrotor UAVs in [19]. In [20], an adaptive back-stepping control method was designed and analyzed for fault-tolerant of the nonlinear system. In [21], despite of unmodeled dynamics, a new fuzzy adaptive back-stepping controller was used. In [22], a multi variable sliding mode with back-stepping controller based on disturbance observe was presented. A hybrid method based on fuzzy integral back-stepping controller was designed for hovering the Quadrotor [23]. In [24], combination of neural network and back-stepping was designed for helicopter.
Iterative learning control is formulated based on its previous experiments and repeatedly performed for a same task in order to increase the accuracy and the robustness against the uncertainties and external disturbances. In [25], a novel fuzzy PID-type iterative learning control was applied for the Quadrotor UAVs and in order to account with the unmodeled dynamic and systematic error, an adaptive tracking control with iterative learning control were used in [26]. In [27], an online PID-iterative learning control with switching gain was used for circular trajectory motion in three dimensions. For the precise Quadrotor UAVs trajectory tracking, optimization based on iterative learning control was used [28]. In [29], for accurate control of a team of Quadrotors, a distributed iterative learning control was used. According to the mentioned references, iterative learning control can incline the accuracy of the system and reject the disturbances by using simple update rules.
The main novelty of this paper is designing back-stepping integral sliding mode control with iterative learning control for the Quadrotor UAVs. On the other hand, the back-stepping is responsible for tracking the desired trajectory and the highly coupled feature of under-actuated of the dynamic are sought by virtual controller. Next, the integral sliding mode controller is designed and analyzed for coping with the uncertainties and external disturbances. In addition, in order to improve the accuracy of the tracking, iterative learning control is designed according to previous experiments which is resulted in better tracking, accuracy and robustness and lower errors of states.
The remaining part of this paper are organized as follow: Sect. 2 presents the Quadrotor UAVs dynamics. The back-stepping integral sliding mode control using Lyapunov theory are given in Sect. 3. Designing the iterative learning control is presented in Sect. 4. Simulation results are presented in Sect. 5 and finally, Sect. 6 Concludes the paper.
2 Quadrotor UAVs Model
In this paper, the model for dynamic of the Quadrotor UAVs is considered from [30], which is nonlinear, strongly coupled and under actuated. The Quadrotor UAVs structure is shown in Fig. 1 which consists of four rotors. In this structure two types of coordinate system such as earth coordinate ξ = [x, y, z] and body coordinate ƞ = [φ, θ, Ψ] were defined. The [x, y, z] denote the position of the Quadrotor UAVs and [φ, θ, Ψ] refer to roll angle, pitch angle and yaw angle which could control the altitude of the Quadrotor UAVs. It should be mentioned that the movement of the Quadrotor UAVs in different directions are achieved based on the thrust generated by adjusting the rotational speeds of the four rotors. According to [30], the translational and the rotational dynamic model for the Quadrotor UAVs can be defined as follow:
where ω is the angular velocity vector, τ refers to the torque vector for the three axes, J denotes the inertia tensor, \({\Omega }_{{\text{r}}} = {\Omega }_{1} - {\Omega }_{2} + {\Omega }_{3} - {\Omega }_{4}\) is the component torques in the three directions, R is the rotation matrix, \({\text{J}}_{{\text{r}}}\) describes the moment of the rotor inertia, T is the force vector, \({\text{d}}_{\tau }\) and \({\text{d}}_{{\text{T}}}\) are the disturbance vectors for the translational and rotational subsystems respectively.
Based on Eq. (1), equations of the motion in each axes are described as follow [28]:
where L is the Quadrotor UAVs arm length, d is the drag coefficient, b refers to the thrust coefficient, m denote the total Quadrotor UAVs mass and \({\text{I}}_{{{\text{X}},{\text{Y}},{\text{Z }}}}\) are the moments of inertia about x, y, z axes. The parameters of the motion equations are defined in Table 1.
The relationship between the control inputs and the rotors speed in each axes is described as:
It should be mentioned that the translational dynamic is controlled by \({\text{u}}_{1}\) and the rotational dynamic is related to \({\text{u}}_{2}\), \({\text{u}}_{3}\) and \({\text{u}}_{4}\).
In order to design the controller, the state variables are selected as follow:
Then according to Eqs. (2–7), a state space representation for Quadrotor UAVs can be achieved as:
It’s crystal clear that the body coordinate angles and their time derivation don’t depend on the earth coordinate states and the whole of the dynamic can be decoupled into two subsystems: the angular rotations and the linear translation. The control system schematic diagram for this approach is shown in Fig. 2.
In this section the desired trajectories are calculated by considering Eqs. (2) and (3) which extremely depend on the roll and pitch angles and the desired positions are transformed into commands of the roll angle and the pitch angle:
where \({{\ddot{x}}}_{\text{d}}\) and \({{\ddot{y}}}_{\text{d}}\) can be approximated by \({{\ddot{x}}}_{\text{d}} = {\text{k}}_{{\text{x}}} {\text{e}}_{{\text{x}}}\) and \({{\ddot{y}}}_{\text{d}} = {\text{k}}_{{\text{y}}} {\text{e}}_{{\text{y}}}\) where \({\text{k}}_{\text{x}}\) and \({\text{k}}_{\text{y}}\) are positive constants. The desired commands for both roll and pitch angles are designed as follow:
It can be concluded from the analysis of Eqs. (2) and (3) that the position of the Quadrotor UAVs indirectly are controlled by \({\varphi }\), θ which are adjusted by \({\text{u}}_{2}\) and \({\text{u}}_{3}\). In addition, the altitude of the Quadrotor UAVs and the yaw angle are directly controlled by \({\text{u}}_{1}\) and \({\text{u}}_{4}\) respectively.
3 BISMC Design for Translational Subsystem
Define \({\text{z}}_{3} = {\text{x}}_{3} - {\text{x}}_{{3{\text{d}}}}\) as error of the altitude. The time derivation of \(z_{3}\) will be \({{\dot{z}}}_{3} = {{\dot{\text{x}}}}_{3} - {{\dot{x}}}_{{3{\text{d}}}}\).
According to stability theory (Lyapunov), a positive candidate function is defined as \({\text{v}}_{1} = \frac{1}{2}{\text{z}}_{3}^{2}\) and the time derivation of \({\text{v}}_{1}\) will be \({{\dot{v}}}_{1} = {\text{z}}_{3} {{\dot{z}}}_{3}\).
Define \({\text{z}}_{6}\) = \({{\dot{x}}}_{3}\) − \({\text{a}}_{1}\), where \(a_{1}\) is a virtual control input. Then \({{\dot{v}}}_{1}\) is written as:
In order to make sure that Eq. (15) is stable, \(a_{1}\) is implemented as:
where \({\text{c}}_{1}\) is a non-zero positive constant. In addition, the time derivation of \({\text{v}}_{1}\) can be computed as:
The integral sliding mode surface for the altitude state is considered as follow:
By considering the switching law as:
where ε is a positive constant and the time derivation of \({\text{s}}_{1}\) is calculated as follow:
By combination of the Lyapunov theory and the integral sliding mode, the control input \({\text{u}}_{1}\) is designed as follow:
For the stability analysis, a positive Lyapunov function is selected as:
The time derivation of Eq. (22) is calculated as:
And
By substituting (21) into (24), the necessary condition of Lyapunov theorem verified (\({{\dot{v}}}_{2} < 0\)).
3.1 BISMC Design for Rotational Subsystem
By defining \({\text{z}}_{4}\) = \({\text{x}}_{4}\) − \({\text{x}}_{{4{\text{d}}}}\) as error of the roll angle, the time derivation of \({\text{z}}_{4}\) will be \({{\dot{z}}}_{4}\) = \({{\dot{\text{x}}}}_{4}\) − \({{\dot{x}}}_{{4{\text{d}}}}\).
The stability of the roll angle state is analyzed by Lyapunov theory with defining a positive definite function as \({\text{v}}_{3}\) = \(\frac{1}{2}{\text{z}}_{4}^{2}\) and the time derivation of \({\text{v}}_{3}\) will be \({{\dot{v}}}_{3}\) = \({\text{z}}_{4} {{\dot{z}}}_{4}\). Then:
Define \({\text{z}}_{10}\) = \({{\dot{x}}}_{4}\) − \(a_{2}\), where \(a_{2}\) is virtual control input. Then \({{\dot{v}}}_{3}\) can be concluded:
In order to make sure that Eq. (26) is stable, \(a_{2}\) is defined as:
where \({\text{c}}_{2}\) is a non-zero positive constant. Furthermore, the time derivation of \({\text{v}}_{3}\) can be achieved as:
The integral sliding mode surface for the roll angle state is defined as follow:
Now consider the reaching law as:
where ε is a positive constant. By the time derivation of Eq. (29):
According to Eqs. (28)–(31), the control input \({\text{u}}_{2}\) is designed as follow:
For examining the stability, a positive Lyapunov function is defined as:
The time derivation of Eq. (33) is calculated as follow:
And
By replacing (32) into (35), the necessary condition of Lyapunov theorem is verified (\({{\dot{\text{v}}}}_{4} < 0\)).
It should be mentioned that the next steps are similar with \({\text{u}}_{2}\), so \({\text{u}}_{3}\) and \({\text{u}}_{4}\) can be achieved in the same way:
4 Iterative Learning Control
In this section, the iterative learning control (ILC) is designed and analyzed for the system for precise tracking of the desired trajectory. ILC is based on previous experiments so that in each iteration the recorded trajectories are analyzed in order to calculate the next commands as control inputs for better converging the actual values to reference trajectories. Standard iterative learning control scheme is shown in Fig. 3. On the other hand, ILC is able to cope with repetitive disturbance or systematic error in the model. The formulation of the iterative learning control is inspired from [31].
At first, the states and the relative control inputs are considered separately in two vectors as follow:
where
Due to the perfect model (39), the desired trajectory can be tracked using the back-stepping integral sliding mode controller as:
The main idea of the ILC is not approximating the uncertainties of the model but is calculating the commands input as unknown disturbance input \({\text{U}}_{\text{d}}\). That is to combine with \({\text{U}}_{\text{BISMC}}\) for better tacking the desired trajectory. The total control input is designed as follow:
The update law for estimation of the next command for the unknown disturbance input \({\text{U}}_{\text{d}}\) is described as:
where \({\text K}\) is a positive matrix and \({\text{F}}\) is a matrix which is achieved according to Eq. (39) along the desired trajectories by linear time varying method as follow:
In addition, \({\delta }_{\text{j}}\) refers to the error vector between the desired trajectory and the actual value.
Then Eq. (41) can be written around the ideal operating point of \({\text{U}}_{\text{BISMC}}\).
Finally, Eq. (44) can be achieved as function of the unknown disturbance input as:
5 Simulation
In this section, the effectiveness of the proposed method in comparison with only BISMC is validated. The desired trajectories for x, y and z axes are selected as: \({\text{x}}_{\text{d}}\) = \(\sin \left( {\frac{{2{\pi }}}{50}{\text{t}}} \right)\), \({\text{y}}_{\text{d}}\) = \(\cos \left( {\frac{{2{\pi }}}{50}{\text{t}}} \right)\) and \({\text{z}}_{\text{d}}\) = 3t and Eqs. (10) and (11) refer to reference commands for \({\varphi }\) and θ. The initial states are defined as \({\text{x}}\)(0) = 0, \({\text{y}}\)(0) = 1, \({\text{z}}\)(0) = 0, \({\varphi }\)(0) = 0, \({\theta }\)(0) = 0, Ψ(0) = − 0.12. The external disturbances are defined as follow:
In addition, the controller parameters are selected as: \({\text{k}}_{1} = 100\), \({\text{k}}_{2} = 100\), \({\text{k}}_{3} = 100\), \({\text{k}}_{4} = 100\), K, ε, \({\text{c}}_{1}\), \({\text{c}}_{2}\), \({\text{c}}_{3}\), \({\text{c}}_{4} > 0.\) The parameters of the Quadrotor UAVs dynamic were listed in Table 1.
It should be mentioned that the desired trajectory, the actual tracking by BISMC with ILC, and the comparative method are shown in red, blue, and black.
The simulation results are shown in Figs. 4, 5, 6, 7, 8, 9, 10, 11, 12 and 13. The time responses for the position tracking of the Quadrotor UAVs for x, y, and z axes in the two control strategies are shown in Figs. 4, 5 and 6 respectively. As can be seen from these Figures, the proposed controller method has better tracking performance from their perspective reference commands, higher accuracy, and fast transient responses in comparison with another method in the presence of the uncertainties and external disturbances. It can be concluded that the trajectories tracking errors for the mentioned method is fewer than the comparative method by using the iterative learning control. By this means that, ILC process uses from previous information’s to improve tracking accuracy by calculating the total control signal.
The time responses of the roll, the pitch, and the yaw angles under the two control schemes are drawn in Figs. 7, 8 and 9. From this Figures, it’s crystal clear that the BISMC with ILC has more accurate performance for tracking the desired commands in comparison with the BISMC despite the uncertainties and external disturbances. From Figs. 4, 5, 6, 7, 8 and 9, it can be concluded that the iterative learning control by calculating the unknown disturbance input \({\text{U}}_{\text{d}}\) in each iteration can reject the disturbances and help to the proposed controller (BISMC) for better tracking performance.
Figures 9, 10, 11 and 12 show the results of the control inputs for the translational and the rotational subsystems. ILC uses unknown disturbance input \({\text{U}}_{\text{d}}\) and \({\text{U}}_{\text{BISMC}}\), therefor in some control signals more control efforts are observed. Based on researches, the results of control inputs are in the acceptable ranges. In order to justify the better tracking of the mentioned control strategy, numerical indexes are given in Table 2 which shows the integral of squared errors and the control signals as error of the position state with \({\text{u}}_{1}\) and integral of the squared rotational angles states with their control signals as \({\text{u}}_{2}\), \({\text{u}}_{3}\), and \({\text{u}}_{4}\) for the proposed method and the comparative method. From this Table, it can be seen that despite the more control efforts for the mentioned control strategy, the numerical indexes are almost in a same range.
6 Conclusion
In this paper, the combination of the back- stepping integral sliding mode control was designed and analyzed for the Quadrotor UAVs. The main aim of the proposed controller (BISMC) is to track the desired trajectories which were implemented by the guidance laws (10) and (11). For precise control, an iterative learning control algorithm in addition to the proposed controller (BISMC) implemented. The iterative learning control was updated by some simple formulas according to the previous experiments in the presence of the uncertainties and external disturbance. Next, the commands which were generated by the iterative learning control as unknown disturbance input \({\text{U}}_{\text{d}}\) were added to the \({\text{U}}_{\text{BISMC}}\). The simulation results illustrated that the iterative learning control with (BISMC) can be much better than only (BISMC) in term of accuracy and fast response and disturbance rejection.
References
Nemati H, Bando M, Hokamoto S (2017) Chattering attenuation sliding mode approach for nonlinear systems. Asian J Control 19(4):1519–1531
Yin C, Huang X, Chen Y, Dadras S, Zhong SM, Cheng Y (2017) Fractional-order exponential switching technique to enhance sliding mode control. Appl Math Model 44:705–726
Zheng Z, Xia YQ, Fu MY (2011) Attitude stabilization of rigid spacecraft with finite-time convergence. Int J Robust Nonlinear Control 21:686–702
Gao YB, Luo WS, Liu JX et al (2017) Integral sliding mode control design for nonlinear stochastic systems under imperfect quantization. Sci China Inf Sci 60:1–11
Haddadi SJ, Emamagholi O, Javadi F, Fakhariyan A (2015) Attitude control and trajectory tracking of an autonomous miniature aerial vehicle. In: AI & robotics (IRANOPEN), Qazvin, pp 1–6
Lee D, Jin K, Shankar S (2009) Feedback linearization vs. adaptive sliding mode control for a Quadrotor helicopter. Int J Control 7(3):419–428
Wang Y, Xia Y, Shen H, Zhou P (2017) SMC design for robust stabilization of nonlinear Markovian jump singular systems. IEEE Trans Autom Control 99:1–6
Wang Y, Shen H, Karimi H, Duan D (2017) Dissipativity-based fuzzy integral sliding mode control of continuous-time t–s fuzzy systems. IEEE Trans Fuzzy Syst 99:1–6
Tian BL, Yin LP, Wang H (2015) Finite-time reentry attitude control based on adaptive multivariable disturbance compensation. IEEE Trans Ind Electron 62:5889–5898
Tian BL, Liu LH, Lu HC et al (2018) Multivariable finite time attitude control for quadrotor UAV: theory and experimentation. IEEE Trans Ind Electron 65:2567–2577
Tian BL, Lu HC, Zuo ZY et al (2018) Multivariable finite-time output feedback trajectory tracking control of quadrotor helicopters. Int J Robust Nonlinear Control 28:281–295
Tian BL, Fan WR, Su R et al (2015) Real-time trajectory and attitude coordination control for reusable launch vehicle in reentry phase. IEEE Trans Ind Electron 62:1639–1650
Tian BL, Fan WR, Zong Q (2015) Integrated guidance and control for reusable launch vehicle in reentry phase. Nonlinear Dyn 80:397–412
Emam M, Fakhariyan A (2016) Attitude tracking of quadrotor UAV via mixed H2/H∞ controller: a LMI based approach. In: 24th Mediterranean conference on control and automation (MED2016), Athens, pp 390–395
Niroumand J, Fakhariyan A (2015) Trajectory tracking via adaptive nonlinear control approach for a quadrotor MAV. In: IRANOPEN
Massaoudi Y, Dorsaf E, Gaubert JP, Mehdi D, Damak T (2016) Experimental implementation of new sliding mode control law applied to a DC–DC boost converter. Asian J Control 18(6):2221–2233
Espinoza T, Dzul AE, Lozano R, Parada P (2014) Backstepping-sliding mode controllers applied to a fixed-wing UAV. J Intell Robot Syst 73(1–4):67–79
Li J, Zhang D (2018) Back-stepping and sliding-mode techniques applied to distributed secondary control of islanded microgrids. Asian J Control 20(3):1288–1295
Khebbache H, Tadjine M (2013) Robust fuzzy backstepping sliding mode controllers for a Quadrotor unmanned aerial vehicle. J Control Eng Appl Inf 15(2):3–11
Li Y, Sun K, Tong S (2018) Observer-based adaptive fuzzy fault-tolerant optimal control for SISO nonlinear systems. IEEE Trans Cybern 99:1–13
Zhang X, Liu X, Li Y (2018) Direct adaptive fuzzy back-stepping control for stochastic nonlinear SISO systems with unmodeled dynamics. Asian J Control 20(2):839–855
Pounds PE, Bersak DR, Dollar AM (2012) Stability of small-scale UAV helicopters and quadrotors with added payload mass under PID control. Auton Robot 33:129–142
Javidi F, Fakharian A, Seyedsajadi MS (2013) Fuzzy integral backstepping control approach in attitude stabilization of a quadrotor UAV. In: 13th Iranian conference on fuzzy systems
Zou Y, Zheng ZW (2015) A robust adaptive RBFNN augmenting back-stepping control approach for a model-scaled helicopter. IEEE Trans Control Syst Technol 23:2344–2352
Dong J, Bin H (2019) Novel fuzzy PID-type iterative learning control for quadrotor UAV. Sensors 19(1):24
Chirarattananon P, Ma KY, Wood RJ (2016) Perching with a robotic insect using adaptive tracking control and iterative learning control. Int J Robot Res 35(10):1185–1206
Pipatpaibul PI, Ouyang PR (2013) Application of online iterative learning tracking control for quadrotor UAVs. In: ISRN robotics
Schoellig AP, Mueller FL, D’Andrea R (2012) Optimization-based iterative learning for precise quadrocopter trajectory tracking. Auton Robots 33(1–2):103–127
Hock A, Schoellig AP (2016) Distributed iterative learning control for a team of quadrotors. In: IEEE conference, pp 4640–4646
Xu R, Ozguner U (2006) Sliding mode control of a quadrotor helicopter. In: IEEE conference on decision and control, San Diego, pp 4957–4962
Schöllig A, D’Andrea R (2009) Optimization-based iterative learning control for trajectory tracking. In: European control conference (ECC), Budapest, pp 1505–1510
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Allahverdy, D., Fakharian, A. & Menhaj, M.B. Back-Stepping Integral Sliding Mode Control with Iterative Learning Control Algorithm for Quadrotor UAVs. J. Electr. Eng. Technol. 14, 2539–2547 (2019). https://doi.org/10.1007/s42835-019-00257-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s42835-019-00257-z