Loading repository data…
Loading repository data…
Fonyuy45 / repository
Quadrotor modeling, LQR control with integral action, nonlinear dynamics simulation, and EKF state estimation.
Clipchamp](https://github.com/user-attachments/assets/6fc29fef-8e73-4f1d-b6a7-a6c6eb06c021)
This repository contains the modeling, control design, and state estimation of a quadrotor UAV using MATLAB and Simulink. The work covers both Linear and Nonlinear models, Optimal Control Strategies, disturbance rejection, robustness under parametr variations, and full-state estimation with Kalman Filter (Linearised system) and an Extended Kalman Filter (EKF) for the Nonlinear system.
quadrotor_modelling_control_estimation/
├── simulink_models/ # Simulink files (.slx) for linear and nonlinear models
├── matlab scripts/ # MATLAB scripts for modelled dynamics, control design, linearization, Kalman filter, analysis
├── ekf_scripts/ # EKF-related MATLAB functions
├── ekf_estimator/ # Simulink models for EKF estimation
└── .gitignore # Files/folders ignored by Git
Methods
State-Space Modeling: Derived from first principles (Newton-Euler dynamics).
Linear Quadratic Regulator (LQR): Designed for the linearized system to achieve optimal stabilization.
Integral Action: Augmented the system to guarantee zero steady-state error for position tracking.
kalman Filter: Implemented to perform real-time state estimation under noisy sensor conditions for Linearised system
Extended Kalman Filter (EKF): Implemented to perform real-time state estimation under noisy sensor conditions For NonLinear system.
Simulations
Regulation from initial roll, pitch, yaw disturbances.
Full 3D point-to-point reference tracking.
Spiral, Rectangular, Linear, and circular trajectory tracking under parameter variations external disturbances.
Hover position hold under parametr variations and external disturbances
Robustness validation under measurement noise and model uncertainty.
Software Requirements
MATLAB R2023a or newer
Simulink (with Control System Toolbox)
(Optional) Simscape for 3D visualization
To Run Simulations
Open simulink_models/quadrotor_nonlinear_model.slx for nonlinear model simulations.
Open lqr_integral_nonlinear_simulation.slx to simulate the LQR + integral controller.
Use trajectory_tracking.slx for 3D path tracking.
Launch ekf_estimator/ekf_estimator_model.slx for state estimation with noisy measurements.
License
This project is licensed under the MIT License.
Author
Dieudonne Fonyuy YUFONYUY