Skip to content

mohammadbrd/VTOL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚁 VTOL Control System Design

MATLAB/Simulink-based control system design and stability analysis for a Vertical Take-Off and Landing aircraft

MATLAB Simulink Control Systems Status


📌 Project Overview

This repository presents a control system design project for a Vertical Take-Off and Landing (VTOL) aircraft using MATLAB and Simulink.

The project focuses on modeling, simulation, controller tuning, and stability evaluation of a VTOL system. It includes linear and nonlinear Simulink models, PID-based controller implementations, and a MATLAB script for checking system stability using the Routh–Hurwitz stability criterion.

VTOL systems are challenging because they combine aircraft-like motion with hover-capable vertical movement. This makes control design important for maintaining stability, accurate positioning, and reliable dynamic response.


🎯 Objectives

The main goals of this project are:

  • Model the VTOL system dynamics in MATLAB/Simulink
  • Design and tune PID controllers for the system
  • Compare linear and nonlinear simulation behavior
  • Analyze system stability using the Routh–Hurwitz criterion
  • Study the effect of including or excluding position coordinates in the nonlinear model
  • Provide simulation files and presentation material for academic documentation

🧠 Key Features

  • 🚁 VTOL control system modeling
  • 📊 MATLAB and Simulink simulations
  • 🎛️ PID controller tuning
  • 📐 Linear and nonlinear system models
  • Routh–Hurwitz stability analysis
  • 📁 Organized simulation files
  • 📽️ Included project presentation

🛠️ Technologies Used

Tool / Technology Purpose
MATLAB Numerical computation and stability analysis
Simulink Dynamic system modeling and simulation
Control System Concepts Controller design and system analysis
PID Control Regulation and stabilization of VTOL dynamics
Routh–Hurwitz Criterion Stability verification

📁 File Description

MATLAB_Simulations/

This folder contains the main Simulink simulation models used in the project.

File Description
TunedLinearSystem.slx Simulink model of the tuned linear VTOL system
Nonlinear_System_Tuned_by_linear_PID_With_X_Y.slx Nonlinear VTOL model controlled by a PID controller, including X-Y position coordinates
Nonlinear_System_Tuned_by_linear_PID_Without_X_Y.slx Nonlinear VTOL model controlled by a PID controller without X-Y position coordinates

RH_StabilityCheck.m

MATLAB script for evaluating the stability of a system using the Routh–Hurwitz stability criterion.

The script:

  • Accepts polynomial coefficients from the user
  • Builds the Routh–Hurwitz table
  • Detects sign changes in the first column
  • Determines whether the system is stable or unstable
  • Optionally displays the roots of the characteristic equation

Example input format:

[an an-1 an-2 ... a0]

Example:

[1 5 6]

This represents the polynomial:

s² + 5s + 6

🧪 Stability Analysis

The Routh–Hurwitz criterion is used to determine whether a linear time-invariant system is stable without directly calculating all system roots.

For a characteristic polynomial:

aₙsⁿ + aₙ₋₁sⁿ⁻¹ + ... + a₁s + a₀

the Routh table is constructed using the polynomial coefficients. If all elements in the first column of the Routh table have the same sign, the system is stable. A sign change indicates the existence of poles in the right half of the complex plane, meaning the system is unstable.

This project includes a MATLAB implementation of this method to support the control design process.


📊 Simulation Workflow

The general workflow of the project is:

VTOL System Modeling
        ↓
Linear Model Design
        ↓
PID Controller Tuning
        ↓
Linear System Simulation
        ↓
Nonlinear System Simulation
        ↓
Stability Analysis
        ↓
Performance Evaluation

🔍 Control Design Concept

The project follows a classical control design approach:

  1. Model the VTOL system

    • Define the system dynamics
    • Represent the behavior in Simulink
  2. Design a controller

    • Apply PID control
    • Tune the controller using the linear system model
  3. Test on nonlinear models

    • Apply the tuned controller to nonlinear VTOL simulations
    • Compare the system response with and without X-Y coordinates
  4. Analyze stability

    • Use the Routh–Hurwitz criterion
    • Check whether the characteristic equation leads to a stable system

📈 Expected Results

The simulations are intended to help evaluate:

  • System stability
  • PID controller effectiveness
  • VTOL dynamic response
  • Differences between linear and nonlinear behavior
  • Influence of X-Y coordinate modeling on system response
  • Suitability of the tuned controller for nonlinear simulation

✅ Requirements

To run the project, you need:

  • MATLAB
  • Simulink
  • Control System Toolbox recommended

The project was designed around MATLAB/Simulink simulation files, so MATLAB is required to open and run the .slx models.


📚 Learning Outcomes

Through this project, you can learn about:

  • VTOL system dynamics
  • Classical control system design
  • PID controller tuning
  • Linear vs. nonlinear simulation
  • Simulink-based dynamic modeling
  • Routh–Hurwitz stability criterion
  • Stability interpretation using characteristic polynomials

👨‍💻 Author

Mohammad Barabadi


📄 License

No license file is currently provided in this repository.
If you plan to reuse or modify this project, please contact the author or add an appropriate license.


⭐ If this project was useful, consider starring the repository.

About

MATLAB/Simulink-based control system design and stability analysis for a Vertical Take-Off and Landing aircraft using PID control and Routh–Hurwitz stability criterion.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages