Проектування моделі автопілоту літака по каналу крена засобами пакету автоматизованого проектування MatLab

Автор работы: Пользователь скрыл имя, 25 Ноября 2013 в 13:47, реферат

Описание работы

Автопіло́т (грец. αυτος — сам і фр. pilote — лоцман) — пристрій автоматичного керування польотом літака, ракети або іншого літального апарата. Пристрій було винайдено американцем Лоуренсом Сперрі в 1912. Автопілот складається з кількох гіроскопів, які перевіряють курс літака. Датчики повідомляють, коли літак відхиляється від свого курсу, і посилають сигнали поверхням управління — елеронам, штурвалам висоти та напрямку для відповідної корекції курсу.
Автопілот забезпечує автоматичний зліт і посадку, дотримання заданого курсу, швидкості та висоти польоту. Також автопілот сприяє стабілізації центру ваги літака на заданій траєкторії, виконує за певною програмою пілотажні еволюції («координований» розворот, протизенітні та ін. тактичні бойові маневри).

Файлы: 1 файл

BogapovDZ.doc

— 1.64 Мб (Скачать файл)

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ

КАФЕДРА ПРИКЛАДНОЇ ІНФОРМАТИКИ

СПЕЦІАЛЬНІСТЬ 6.050101

 

 

 

 

 

 

 

Домашнє завдання

з дисципліни «Основи автоматизованого проектування складних об’єктів і систем»

 

 

Виконав

студент групи 404-ФКН

Богапов К. Р.

Перевірив викладач

Труш О.І.

 

CS404BogapovDZ.doc

                                                             CS404BogapovDZ.m

                                                                CS404BogapovDZ.mdl

 

 

 

Київ-2012

1.   Тема: Проектування моделі автопілоту літака по каналу крена засобами пакету автоматизованого проектування MatLab, його складових – Guide, Simulink.

2.   Мета: Навчитися використовувати моделі автопілоту літака по каналу крена за допомогою засобів пакету MatLab та його складових.

3.   Кроткі теоретичні відомості:

Автопіло́т (грец. αυτος — сам і фр. pilote — лоцман) — пристрій автоматичного керування польотом літака, ракети або іншого літального апарата. Пристрій було винайдено американцем Лоуренсом Сперрі в 1912. Автопілот складається з кількох гіроскопів, які перевіряють курс літака. Датчики повідомляють, коли літак відхиляється від свого курсу, і посилають сигнали поверхням управління — елеронам, штурвалам висоти та напрямку для відповідної корекції курсу.

Автопілот забезпечує автоматичний зліт і посадку, дотримання заданого курсу, швидкості та висоти польоту. Також автопілот сприяє стабілізації центру ваги літака на заданій траєкторії, виконує за певною програмою пілотажні еволюції («координований» розворот, протизенітні та ін. тактичні бойові маневри). Автопілот складається з декількох чутливих гіроскопічних елементів, пов'язаних з системами слідкування (потенціометричними системами). Сучасний автопілот являє собою складний комплекс механізмів, зв'язаний з радіо-астронавігаційною апаратурою, гіроінерціальним орієнтатором та ін. аеронавігаційними приладами.

Загальна характеристика пакету Matlab.

Пакет Matlab являє собою  апробовану і надійну СКМ, яка  призначена для розв’язування широкого кола математичних задач з поданням даних в універсальній матричній  формі, яка запропонована фірмою Math Works Inc.

Matlab є універсальною інтегрованою СКМ, яка орієнтована на персональні комп’ютери класу IBM PC і Macintosh, робочі станції UNIX, і яка має потужні засоби діалогу, графіки і комплексної візуалізації, власну мову програмування, широкий спектр застосувань, включаючи опрацювання сигналів і зображень, проектування систем управління, природничі науки, фінанси та економіку, а також приладобудування. Відкрита архітектура дозволяє використовувати Matlab у поєднанні з іншими програмними продуктами для створення інструментів дослідження і розв’язування різноманітних задач.

Популярності системи Matlab сприяє пакет Simulink, за допомогою якого можна здійснювати імітаційне моделювання лінійних і нелінійних динамічних систем, а також багато інших пакетів розширення (Toolbox), які підсилюють математичні можливості системи, підвищують швидкість, ефективність і точність обчислень. До таких пакетів відноситься і Optimization Toolbox – пакет для розв’язування задач оптимізації, який реалізує основні методи одновимірної і багатовимірної оптимізації

 
Структурна схема моделі літака з  автопілотом.

4.   Хід роботи

4.1 Технічне завдання:

Задача 1: Представити  основні функції MatLab. Опис, приклади

Задача 2: Технологія побудови двовимірних графіків в MatLab. Опис, приклади.

Задача 3: Технологія побудови тривимірних графіків. Опис, приклади

Задача 4:  Розв’язання  диференційного  рівняння.

Задача 5: Розв’язання  систем лінійних рівнянь.

Задача 6:  Обчислення похідних за варіантами.

Задача 7: Обчислення невизначених та визначених інтегралів.

Задача 8: Проектування моделі автопілоту літака по каналу крена засобами пакету  автоматизованого проектування MatLab , його складових Guide, Simulink.

 

4.2   Математична  модель

K1 = 0.08; K2 = 10; K3 = 10; K4 = 10.8; K5 = 0.9; K6 = 1.0; K7 = 1

Рис.1. Графічне зображення заданої системи

 

4.3   Вибір програмного інструменту

       Для виконання завдання було вибрано програму MATLAB версії

7.9 та включені пакети SIMULINK та GUIDE, так як вони якнайкраще підходять для вирішення задачі.

4.4   Алгоритмічно-програмна модель роботи з ПЗ

Опис елементів  SIMULINK

Step

The Step block provides a step between two definable levels at a specified time. If the simulation time is less than the Step time parameter value, the block's output is the Initial value parameter value. For simulation time greater than or equal to the Step time, the output is the Final value parameter value.

The block's numeric parameters must be of the same dimensions after scalar expansion. If the Interpret vector parameters as 1-D option is off, the block outputs a signal of the same dimensions and dimensionality as the parameters. If the Interpret vector parameters as 1-D option is on and the numeric parameters are row or column vectors (i.e., single row or column 2-D arrays), the block outputs a vector (1-D array) signal; otherwise, the block outputs a signal of the same dimensionality and dimensions as the parameters.

Gain

The Gain block multiplies the input by a constant value (gain). The input and the gain can each be a scalar, vector, or matrix.

You specify the value of the gain in the Gain parameter. The Multiplication parameter lets you specify element-wise or matrix multiplication. For matrix multiplication, this parameter also lets you indicate the order of the multiplicands.

The gain is converted from doubles to the data specified in the block mask offline using round-to-nearest and saturation. The input and gain are then multiplied, and the result is converted to the output data type using the specified rounding and overflow modes.

Sum, Add, Subtract, Sum of Elements

The Sum block performs addition or subtraction on its inputs. This block can add or subtract scalar, vector, or matrix inputs. It can also collapse the elements of a signal.

You specify the operations of the block with the List of signs parameter. Plus (+), minus (-), and spacer (|) characters indicate the operations to be performed on the inputs:

  • If there are two or more inputs, then the number of + and - characters must equal the number of inputs. For example, "+-+" requires three inputs and configures the block to subtract the second (middle) input from the first (top) input, and then add the third (bottom) input.

All nonscalar inputs must have the same dimensions. Scalar inputs will be expanded to have the same dimensions as the other inputs.

  • A spacer character creates extra space between ports on the block's icon.
  • If only addition of all inputs is required, then a numeric parameter value equal to the number of inputs can be supplied instead of "+" characters.
  • If only one input port, a single "+" or "-" will collapse the element using the specified operation.

The Sum block first converts the input data type(s) to its accumulator data type, then performs the specified operations. The block converts the result to its output data type using the specified rounding and overflow modes.

Scope and Floating Scope

The Scope block displays its input with respect to simulation time.

The Scope block can have multiple axes (one per port) and all axes have a common time range with independent y-axes. The Scope block allows you to adjust the amount of time and the range of input values displayed. You can move and resize the Scope window and you can modify the Scope's parameter values during the simulation.

The Scope Block described here is not the same as the Scope Viewer. For help on the scope viewer, see Things to Know When Using Viewers.

When you start a simulation the Scope windows are not opened, but data is written to connected Scopes. As a result, if you open a Scope after a simulation, the Scope's input signal or signals will be displayed.

If the signal is continuous, the Scope produces a point-to-point plot. If the signal is discrete, the Scope produces a stair-step plot.

The Scope provides toolbar buttons that enable you to zoom in on displayed data, display all the data input to the Scope, preserve axis settings from one simulation to the next, limit data displayed, and save data to the workspace. The toolbar buttons are labeled in this figure, which shows the Scope window as it appears when you open a Scope block.

Transfer Fcn

The Transfer Fcn block models a linear system by a transfer function of the Laplace-domain variable s. The block can model both single-input single-output (SISO) and single-input multiple output (SIMO) systems.

This block assumes that the transfer function has the following form

where u and y are the system's input and outputs, respectively, nn and nd are the number of numerator and denominator coefficients, respectively. num and den contain the coefficients of the numerator and denominator in descending powers of s. The order of the denominator must be greater than or equal to the order of the numerator. This block also assumes that the transfer functions for the outputs of a multiple output system have the same denominator and that the numerators of the transfer functions have the same order.

To model a single-output system, enter a vector containing the system transfer function's numeric coefficients in the Numerator coefficient field in the block's parameter dialog box. Enter a vector containing the transfer function's denominator coefficients in the Denominator coefficient field. In this case, the input and output of the block are scalar time-domain signals.

To model a multiple-output system, enter a matrix in the Numerator coefficient field where each row of the matrix contains the numerator coefficients of a transfer function that determines one of the block's outputs. Enter a vector containing the denominator coefficients common to the system's transfer functions in the Denominator coefficient field. In this case, the block's input is a scalar and the block's output is a vector each of whose elements is an output of the system modeled by the block.

Initial conditions are preset to zero. If you need to specify initial conditions, convert to state-space form using tf2ss and use the State-Space block. The tf2ss utility provides the A, B, C, and D matrices for the system. For more information, type help tf2ss or consult the Control System Toolbox™ documentation.

 

4.5   Досягнення результату

 

Задача  №1

Функція обчислення похідних - diff

Для обчислення в символьному вигляді похідних від виразу S служить функція diff, що записується в форматі diff (S, x, n). Вона повертає символьне значення n-й похідної від символьного виразу або масиву символьних виразів S по змінній x, тп..

У форматі diff (S, x) знаходиться перша похідна (n = 1 за замовчуванням).

Функція int (f, x) – повертає невизначений інтеграл (первісну) від символічного виразу f по змінній x.

Функція int (f, x, a, b) – повертає певний інтеграл від символічного виразу f по змінній x з межами від а до b.

Інше рішення ln, однак обидва ці рішення ідентичні. Завжди можна спробувати перетворити отриману відповідь за допомогою функцій simple, simplify і factor.

limit (F, x, a) - повертає межу символьного виразу F в точці x = a;

limit (F, x, a, 'right') абоlimit (F, x, a, 'left') - повертає межу в точці a справа  або зліва.

symsum (S, v, a, b) - повертає суму  ряду по змінній v в межах  номерів складових від a до b.

solve (expr1, expr2, ..., exprN, var1, var2, ..., varN) – повертає значення змінних var1, при яких дотримуються рівності, задані виразами expr1. Якщо у виразах не використовуються знаки рівності, то покладається expr1 = 0.

taylor (f) – повертає шість членів ряду Маклорена (ряд Тейлора в точці х = 0). У будь-якому варіанті розкладання можна задавати число членів ряду n, точку a, щодо якої шукається розкладання, наприклад, taylor (f, n, x, a).

Лапласа функції L (s) здійснюється за допомогою вбудованих функцій ilaplace (L), ilaplace (L, t), ilaplace (L, s, t). Остання з них-зворотне перетворення Лапласа за заданною вище формулою. Знайдемо з її допомогою оригінали відзаданих в таблиці зображень L (s):

Функція simplify (S) поелементно спрощує символьні вирази масиву S. Якщо спрощення неможливо, то повертається вихідний вираз.

Функція collect (S, v) забезпечує комплектування виразів у складі вектора або матриці S за ступенями змінної v.

Функція expand (S) розширює вирази, що входять в масив S. Раціональні вирази вона розкладає на прості дроби, поліноми - на поліноміальні вираження і т.д. Функція працює з багатьма алгебраїчними і тригонометричними функціями.

Функція factor (S) поелементно розкладає вираження вектора S на прості множники, а цілі числа - на твір простих чисел.

dsolve ('eqn1', 'eqn2', ...) – повертає аналітичне рішення системи диференціальних рівнянь з початковими умовами. Вони задаються рівністю eqn1 (спочатку задаються рівняння, потім початкові умови). Якщо у виразах не використовуються знаки рівності, то покладається eqn1 = 0.

 

Задача  №2

Система MATLAB володіє широкими можливостями для графічного представлення результатів обчислень і візуалізації даних.

Виведення відображення функції

у вигляді графіка складається з наступних етапів:

задання вектора  значень аргумента x;

обчислення  вектора y значень функції y(x);

виклик команди plot для побудови графіка.

Команди для  задання вектора x і обчислення функції краще завершувати крапкою з комою, що дозволяє уникнути виведення в командне вікно їх значень:

>> x=0:0.01:1;

>> y=exp(-x).*sin(10*x);

>> plot(x,y)

 

Для побудови графіка функції в робочому середовищі MATLAB® повинні бути визначені два вектори однакових розмірів, наприклад x та y. Вектор x містить значення аргументів, а y – значення функції цих аргументів.

Команда plot з’єднує точки з координатами (x(i), y(i)) прямими лініями, автоматично масштабуючи осі для найкращого візуального розміщення графіка по осях.

Рис. 2. Графік функції .

 

Якщо ж відображення графічного результату в системі за замовчуванням користувачу не підходить, можна параметри візуалізації задати індивідуально для кожного графіка, або налаштувати їх вже після відображення результату. Використовуючи кнопку DockFigure (справа в стрічці меню вікна) можна вмонтувати графічне вікно в робоче середовище так, як це показано на рис. 6.

Порівняння декількох функцій зручно виконувати, якщо їх графіки відобразити в одній системі координат.

Для побудови графіків функцій  і  потрібно набрати наступну послідовність команд:

>>x  = -1:0.005:-0.3;

>> f = sin(x.^-2);

>> g = sin(1.2*x.^-2);

>>plot(x, f, x, g)

 

Також з допомогою команди plot можна задати стиль та колір ліній, наприклад:

>>plot(x, t, ‘k-‘, x, g, ‘k:’)

 

Аргументи ‘k-‘  і ‘k:’ задають стиль і колір першої та другої ліній. Тут k означає чорний колір, а дефіс або двокрапка – неперервну або пунктирну лінію.

Рис. 3. Розміщення вікна з графіком у середовищі MATLAB

Рис. 4. Два графіка на одних осях

 

Задача  №3

Настільки ж просто забезпечується побудова графіків складних поверхонь. Треба тільки знати, якою командою реалізується той чи інший графік. Наприклад, для побудови графіка поверхні і її проекції у вигляді контурного графіка на площину під поверхнею досить використовувати наступні команди.

» [X.Y]=meshgrid(-5:0.1:5); 

» Z=X.*sin(X+Y); 

» meshc(X.Y,Z) 

Вікно з побудованим графіком показано на рис. 1.

 

Рис. 5. Вікно з графіками поверхні і її проекції на площину під фігурою

Раніше довелося б  вбити багато днів на складання і  налагодження потрібної для побудови такого графіка програми. В MATLAB же можна  в лічені секунди змінити задану поверхню функцію Z (X, Y) і тут же отримати новий графік поверхні з забарвленням, в даному випадку заданої вектором Z, і з її проекцією на площину XY. На рис. 1 показано також відкрите меню Help (Допомога) вікна тривимірної графіки.

 

Ми обмежимося цими прикладами побудови графіків як досить простими і типовими. З них випливає важливий висновок - для вирішення тієї чи іншої приватної завдання треба  знати відповідні команди і функції. У цьому вам допоможуть як дана книга, так і довідкова система MATLAB.

Информация о работе Проектування моделі автопілоту літака по каналу крена засобами пакету автоматизованого проектування MatLab