Attitude and Altitude Control for Quadrotor using Nonlinear Disturbance Observer (NDOB)

Citation Author(s):
Submitted by:
Wesam Taha
Last updated:
Tue, 09/14/2021 - 11:36
Data Format:
0 ratings - Please login to submit your rating.


This dataset inludes a nonlinear disturbance observer (NDOB)-based controller for attitude and altitude control of a quadrotor. The NDOB is used to estimate and compensate disturbances that are imposed naturally on the quadrotor due to aerodynamics and parameter uncertainties. It is demonstrated herein that the proposed observer can estimate external disturbances asymptotically. Subsequently, it is employed with an input-output feedback linearization (FBL) controller – rendered as a baseline controller – to achieve a composite controller capable of rejecting external disturbances rigorously. The resulting controller is compared with a FBL controller that is equipped with an integral component. Simulation results demonstrate a superior performance using the former controller for disturbance rejection.


The uploaded zip file includes 7 files:

1. DOcontrol_performance_plots.m - M-script to run the Quadrotor Simulink model and gnerate the output results (i.e. Figs. 3-6 in the IECON paper).

2. Ex.m - M-function for equation (18) in the IECON paper and needed to run the Quadrotor Simulink model.

3. IECON2018_Hummingbird_DOcontrol_attitude_altitude.slx - Main Quadrotor Simulink model version R2021a.

4. IECON2018_Hummingbird_DOcontrol_attitude_altitude_R2015a.mdl - Older version of the Simulink model, version R2015a.

5. Quadrotor_Hummingbird.jpg - Quadrotor image used in the Quadrotor Simulink model.

6. Results for IECON2018_26-May-18.mat - IECON paper simulation results in Matlab workspace data format.

7. system_para.m - M-script for initializing the Quadrotor model, based on AsTec Hummingbird Quadrotor


The Simulink model includes three controllers: feedback linearization (FBL) controller, FBL controller + integral action, FBL controller + NDOB. The selection between the different controllers is made by a multiport switch in the controller subsystem.


To run the simulation, simply run DOcontrol_performance_plots.m. The m-scrip will open 'IECON2018_Hummingbird_DOcontrol_attitude_altitude.slx,' run the model for the three different controllers, and generate output plots (Similar to Figs. 3-6 in the IECON paper). Other files will be automatically called.


Please use the below citation to reference this work:

W. Taha, A. Al-Durra, R. Errouissi, and K. Al-Wahedi, “Nonlinear disturbance observer-based control for quadrotor UAV,” in IECON 2018 - 44th Annual Conference of the IEEE Industrial Electronics Society, Washington, D.C., 2018, pp. 2589–2595. doi: 10.1109/IECON.2018.8591597. URL: