Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа[отчёт].docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
11.18 Mб
Скачать

Программный код посадки

% Посадка воздушного средства

% ----- Начало

T_land = 60; % Время посадки

% Углы: крен, тангаж и курс

gamma_land = part(T_land, 0, 0, 1, dt);

theta_land = part(T_land, Max_theta, Max_theta1, 5, dt);

psi_land = part(T_land, Angle_down, Angle_down, 1, dt);

% Скорости: к востоку, к северу и скорость по высоте

V1_land = part(T_land, V_land, V_land, 1, dt)*sin(Angle_down);

V2_land = part(T_land, V_land, V_land, 1, dt)*cos(Angle_down);

V3_land = part(T_land, V_down, V_down, -3, dt);

% ----- Конец

Торможение.

Торможение – на данном этапе авиамодель снижает свою скорость до отметки равной нулю. А также происходит изменение угла тангажа в то время как угол крена и курса остаются неизменными.

Программный код торможения

% Торможение воздушного средства

% ----- Начало

T_break = V_land/(Ft/M); % Время торможения

% Углы: крен, тангаж и курс

gamma_break = part(T_break, 0, 0, 1, dt);

theta_break = part(T_break, Max_theta1, 0, 1, dt);

psi_break = part(T_break, Angle_down, Angle_down, 1, dt);

% Скорости: к востоку, к северу и скорость по высоте

V1_break = part(T_break, V_land, 0, 1, dt)*sin(Angle_down);

V2_break = part(T_break, V_land, 0, 1, dt)*cos(Angle_down);

V3_break = part(T_break, 0, 0, 1, dt);

% ----- Конец

На данном этапе мы использовали следующие формулы:

Рис. 9. Формулы этапа Посадка.

Создаём в программном средстве Matlab функцию, содержащую инструкции, при вычислении которых происходит численное интегрирование. Передаём в данную функцию начальную строку, составленную матрицу скоростей и шаг, с которым будет проходить интегрирование, в качестве параметров этой функции.

Функция integrate() и передача необходимых параметров.

% Основная матрица скоростей на всех этапах построения траекторий

V = [V1_accel,V2_accel,V3_accel; V1_takeoff,V2_takeoff,V3_takeoff; V1_climb,V2_climb,V3_climb; V1_turn1,V2_turn1,V3_turn1; V1_fly,V2_fly,V3_fly; V1_turn2,V2_turn2,V3_turn2; V1_down,V2_down,V3_down; V1_land,V2_land,V3_land; V1_break,V2_break,V3_break];

% Передаем функции интегрирования шаг и матрицу скоростей

fly = integrate(fly(1,:), V, dt);

% Основная матрица углов на всех этапах построения траекторий

fly(:,5:7) = [gamma_accel, theta_accel, psi_accel; gamma_takeoff, theta_takeoff, psi_takeoff; gamma_climb, theta_climb, psi_climb; gamma_turn1, theta_turn1, psi_turn1; gamma_fly, theta_fly, psi_fly; gamma_turn2, theta_turn2, psi_turn2; gamma_down, theta_down, psi_down; gamma_land, theta_land, psi_land; gamma_break, theta_break, psi_break];

% Переводим радианы обратно в градусы

fly(:,2:3) = fly(:,2:3)/pi*180;

fly1 = fly(1:30:end,:);

tgeo2kml(fly1);

% Функция интегрирования

function trj = integrate(start, V, dt)

N = size(V,1);

trj = zeros(N,7);

trj(1,:) = start;

a = 6378137;

e = 6.69437999013*10^(-3);

for i = 2:N

RE = a/(sqrt(1-e*(sin(trj(i-1,3)))^2));

RN = (a*(1-e))/(1-e*(sin(trj(i-1,3)))^2)^(3/2);

trj(i,1) = trj(i-1,1) + dt;

trj(i,2) = trj(i-1,2) + (V(i-1,1)*dt)/((RE+trj(i-1,4))*cos(trj(i-1,3))); % Для долготы

trj(i,3) = trj(i-1,3) + (V(i-1,2)*dt)/(RN +trj(i-1,4)); % Для широты

trj(i,4) = trj(i-1,4) + V(i-1,3)*dt;

end

  1. Инерциальные системы навигации. Матрица ориентации.

В данной части лабораторной работы необходимо построить траекторию полёта авиамодели на основе показания идеальных датчиков: акселерометров и ньютонометров.

Также необходимо моделирование уравнения движения самолёта исходя из показаний акселерометров и ньютонометров.

Для упрощения и удобства расчётов задание было разделено на три раздела:

    1. Матрица ориентации, её построение.

    2. Уравнение движения, его моделирование.

    3. Модель силы тяжести, её построение.

В данном отчёте описывается только первая часть задания – матрица ориентации и её построение.

Чтобы построить матрицу ориентации, требуется выразить углы крена, тангажа и курса из матрицы состояния.

Определяем состояние системы в первую минуту: умножаем матрицу ориентации на транспонированный вектор . Получаем столбец в виде

Отсюда, выражаем угол крена:

Найдём второй угол: умножим матрицу ориентации S на транспонированный вектор Из полученного вектора-столбца выражаем угол тангажа.

Найдём третий угол: умножим полученный столбец слева на матрицы поворота по двум углам . Отсюда получаем угол курса.

Иллюстрация матрицы ориентации и нахождение углов расположена ниже.

Рис. 10. Матрица ориентации и углы