Условие:
По уравнениям динамики полета и управляющему сигналу (в качестве уравнений движений используй математическую модель динамики полета беспилотного одновинтового вертолета, в качестве управляющего сигнала используй ПИД-регулятор) написать программу на языке программирования MATLAB, которая строит траекторию движения вертолета (для дифференцирования использовать метод Рунге-Кутта 4 порядка), а потом стабилизирует угловое положение относительно заданного полетного задания управляющим сигналом. То есть, мы должны дифференцировать/интегрировать уравнения динамики полета для получения проекций скоростей вертолета, потом получить на каждом этапе новой скорости угловое положение вертолета, далее с помощью управляющего сигнала мы корректируем угловое положение так, чтобы оно соответствовало полетному заданию, в следствие всего мы должны получить координаты вертолета на каждом этапе, чтобы нарисовать 3д график траектории полета вертолета (он должен соответствовать полетному заданию).
Полетное задание: на высоте 200 метров пролететь три стороны квадрата длинами 500 метров.
Решение:
Ниже приведён подробный вариант решения задачи. Сначала опишем основные допущения и модель, затем пошагово разберём алгоритм и представим пример кода на MATLAB. ------------------------------------------------------------ Описание модели и допущений 1. Допустим, что динамика полёта задаётся состоянием вертолёта с пятью переменными: • x, y – координаты положения в горизонтальной плоскости; • vx, vy – проекции скоростей; • ψ (psi) – угол курса (ориентация вертолёта). 2. Уравнения движения примем в виде: dx/dt = vx dy/dt = vy dvx/dt = a·cos(ψ) dvy/dt = a·sin(ψ) dψ/dt = uPID где...
