Skip to content
Snippets Groups Projects
Belák, Jan's avatar
Belák, Jan authored
c004c71f
History

Flight Control System: Identification and Design of the Control System for Let-L410

In this Semestral work, we will focus on development of the control system for the aircraft called Let-L410. The task is to identify modes of the given aircraft model in various scenarios and design controls such that the aircraft will behave stable through the predifined flight scenario. The objective of this task is to minimise tracking error from the preplanned path waypoints, allow for sufficiently fast control responses and compensate for external disturbances. A basic, but working solution is provided as a part of the assignment. This example solution has poor performance and mainly serves as an template for your designs.

aicraft

Installation

In this section are described MATLAB/Simulink and FlightGear installations.

MATLAB

Firstly, it is necessary to install MATLAB and Simulink from here. During the installation you will be ask which toolboxes do you want to download. Please download the tooboxes and blocksets that are stated bellow at minimun.

Toolboxes

  • Aerospace Blockset
  • Aerospace Toolbox
  • Control System Toolbox
  • Fixed-Point Designer
  • System Identification Toolbox
  • Motor Control Blockset
  • Simulink Design Optimization
  • Simulink Control Design

FlightGear Flight Simulator

The graphs that can be obtained form MATLAB can be hard to accurately interpret for unexperienced control designer. Thus, we often use simple graphical visualization of the aircraf behavior. For the purpose of this semester, we recomend the FlightGear simulator, which supports the communication with Simulink. To download FlightGear and other necessary files follow the notes below.

Linux

Under linux environment the FlightGear can be installed using terminal commands (isn't it beautiful?) ...

sudo add-apt-repository ppa:saiarcot895/flightgear
sudo apt update
sudo apt install flightgear

or the FlightGear can be installed using GUI here.

Windows

Under the windows environment go the official FlightGear download page and follow instructions.

Please name the installation folder as FlightGear.

Let-L410

The model of the aircraft, used for the semestral work, can be downloaded from here.(download)

Linux

On linux we can use terminal commands again...

wget http://helijah.free.fr/flightgear/tar.gz/l410-25-09-2021.tar.gz -O ~/Download/l410aircraft.tar
cd Download
sudo tar -xvf l410aircraft.tar.gz -C /usr/share/games/flightgear/Aircraft/

Windows

Under Windows environment extract the aircraft's model and move it to the desired folder to which path is written bellow.

C:\Program Files\FlightGear\data\... TODO: verify

Task overview

You are given a nonlinear model of an aircraf, based on Let-L410NG design, but modified in a way that makes the dynamics undesirable and therefore requires modern control system which will compensate the undesired behaviors ensure the stable flight.

The objective of this semestral work is to design aircraft's autopilot which will be able to perform flight from the take-off to touch-down. The mission of the flight is composed of the following states:

  1. Take-off (Inital state: zero altitue and airspeed at the start of an runway): sucessfull transtion to state 2: Gain altitude 100m and airspeed 70 m/s
  2. Low altitude and speed manouvering sucessfull transtion to state 3: Heading changed to 180 degrees, altitude 100m and airspeed 70 m/s
  3. Climb to cruise altitude sucessfull transtion to state 4: Altitude 5000m and airspeed 150 m/s
  4. Cruise at altitude sucessfull transtion to state 5: Fly distance of 10 km at altitude, airspeed and heading
  5. High altitude and speed manouvering sucessfull transtion to state 6: Heading changed to 0 degrees, altitude 5000m and airspeed 150 m/s
  6. Approach to Airfield sucessfull transtion to state 7: Altitude 1000m and Airspeed 100 m/s
  7. Airfield localiser capture sucessfull transtion to state 8: distance to LOC <10m, Altitude 500m and Airspeed 50 m/s
  8. Glide slope sucessfull transtion to state 9: Glide slope 3 degrees, Altitude 22 m, Airspeed 50 m/s
  9. Flare sucessfull transtion to state 10: Altitude 1 m, Airspeed 50 m/s, descent race < 1m/s
  10. Landing sucessfull completation: Airspeed 0 m/s , Altitude 0m/s

Task assignment

The provided low-performance solution consists of:

  • Generic Plane simulink model
  • Very simple autopilot (The goal of this semestral work is to design a much better one)
  • FlightGear visualization block

The solution produced by this approach has very low performance and will not be able to perform whole flight. To improve the solution, you can follow the steps sugested during the lectures and possibly find your way to improve the solution.

Recommended approach:

  1. Investigate all aircraft's modes in Longitudinal dynamics fot the expected flight scenario
  2. Investigate all aircraft's modes in Lateral dynamics the expected flight scenario
  3. Design Pitch hold autopilot using linearized model of the aircraft
    • Use root-locus method and/or LQR design
      • Validate with gain and phase margins
    • Include a pitch rate damper
    • Ensure robust attitude tracking capabilites
    • Quantificate response to the pilot/autopilot commands
    • Validate your design using nonlinear model of the aircraft
  4. Design Altitude select/hold using previous design of the pitch attitude hold autopilot
    • Include Pitch attitude hold in the design procedure
    • Ensure zero steady state error of step changes in altitude
    • Validate with phase and gain margin
    • Validate your design using the nonlinear model of the aircraft
  5. Design Roll attitude hold autopilot using linearized model of the aircraft
    • Use root-locus method and/or LQR design
      • Validate with gain and phase margins
    • Investigate the usage of roll rate damper.
    • Ensure robust attitude tracking capabilites
    • Quantificate response to the pilot/autopilot commands
    • Validate your design using nonlinear model of the aircraft
  6. Design Heading select/hold using previous design of the roll autopilot
    • Include Roll attitude hold in the design procedure
    • Ensure zero steady state error of step changes in heading
    • Validate with phase and gain margin
    • Validate your design using the nonlinear model of the aircraft
  7. Design Airspeed controller
    • Take into account change of the airspeed in different states of the flight
    • Ensure zero steady state error of step changes in airspeed
    • Ensure airspeed remains above stall speed during a flight (with sufficient margin)
  8. Design Instrument Landing System [5]
    • Design Glide Slope tracking autopilot
    • Design automatic Flare maneuver algorithm
  9. Verify your design by performing the whole flight

Although we prepared a skeleton solution as a baseline, feel free to design your algorithms to improve the overall performance.

How to begin

Begin with running Genericaircraft.prf. It will execute the Init.m file automatically and ask for another actions using dialog windows.

If the FlightGear is runnning the view can be changed pressing 'v'. Also using key 'h' might be useful. Other FlighGear's shortcuts can be found here.

Evaluation

The deadline of the semestral work is 14th week of the semestr, when you will show you results in the labs in order to be given "zápočet". The results will then be presented during the final examination in a form of a short presentation (up to 15 minutes).

Common criteria

  • Modes of the aircraft must be accuratelly identified and described in the presentation.
  • The presentation will include the graphs validating your proposed system (step responses, safety margins, designed architecture).
  • Controllers should be designed in a way that minimalizes rise time, while ensures zero or small overshoot (typically 10% overshoot is fine but discuss it with the teacher to make sure).

Things to avoid

  • ***Do not change aircrafts model (GenericPlane.slx) in any case! ANY MODIFICATIONS WILL NOT BE EXCEPTED ***

Troubleshooting

Updating the repository

If there is an update in the repository, you can pull it to your local machine using git:

cd ${HOME}/git/genericaircraft && git pull

Contacts

If you find a bug in the task, you need assistance, or you have any other questions, please contact by email one of (or all of):

  • Jan Belak belakjan@fel.cvut.cz
  • Ondrej Prochazka prochon4@fel.cvut.cz

We will try to help you as soon as possible.

Disclaimer

During the semestr we reserve the right to modify the git version to fix any errors.

But a student has a right to use any version available from the begining of the semester to complete the semestral work.

References