exponenta event banner

fixedwing

Модель руководства для БПЛА

Описание

A fixedwing объект представляет собой модель наведения с уменьшенным порядком для беспилотного летательного аппарата (БЛА). Модель аппроксимирует поведение замкнутой системы, состоящей из контроллера автопилота и неподвижной кинематической модели для 3-D движения.

Для получения информации о многооборотных БПЛА см. multirotor.

Создание

model = fixedwing создает модель неподвижного движения с помощью double значения точности для входных, выходных и конфигурационных параметров модели управления.

model = fixedwing(DataType) задает точность типа данных (DataType свойство) для входных, выходных и конфигурационных параметров модели управления.

Свойства

развернуть все

Имя БПЛА, используемое для его отличия от других моделей в рабочем пространстве, указанное как строковый скаляр.

Пример: "myUAV1"

Типы данных: string

Конфигурация контроллера БПЛА, заданная как структура параметров. Задайте эти параметры для настройки поведения БПЛА во внутреннем управлении. Укажите пропорциональный (P) и производный (D) коэффициенты усиления для динамической модели и других параметров БПЛА. Структура для БПЛА содержит следующие поля с перечисленными значениями по умолчанию:

  • 'PDRoll' - [3402.97 116.67]

  • 'PHeight' - 3.9

  • 'PFlightPathAngle' - 39

  • 'PAirspeed' - 0.39

  • 'FlightPathAngleLimits' - [-pi/2 pi/2] ([min max] угол в радианах)

Пример: struct('PDRoll',[3402.97,116.67],'PHeight',3.9,'PFlightPathAngle',39,'PAirSpeed',0.39,'FlightPathAngleLimits',[-pi/2 pi/2])

Типы данных: struct

Это свойство доступно только для чтения.

Тип модели наведения БПЛА, указанный как 'FixedWingGuidance'.

Входные и выходные числовые типы данных, указанные как 'double' или 'single'. Выберите тип данных, основываясь на возможных ограничениях программного или аппаратного обеспечения.

Функции объекта

controlКоманды управления БПЛА
derivativeПроизводная по времени от состояний БПЛА
environmentЭкологические затраты на БПЛА
stateВектор состояния БПЛА

Примеры

свернуть все

В этом примере показано, как использовать fixedwing модель наведения для имитации изменения состояния БПЛА за счет ввода команды.

Создайте модель наведения крыла.

model = fixedwing;

Задайте воздушную скорость транспортного средства путем изменения конструкции из state функция.

s = state(model);
s(4) = 5; % 5 m/s

Укажите команду управления, u, которая поддерживает скорость воздуха и дает угол крена pi/12.

u = control(model);
u.RollAngle = pi/12;
u.AirSpeed = 5;

Создание среды по умолчанию без ветра.

e = environment(model);

Вычислите производную состояния по времени, заданную текущим состоянием, управляющей командой и средой.

sdot = derivative(model,s,u,e);

Моделирование состояния БПЛА с помощью ode45 интеграция. y на поле выводятся состояния БПЛА на основе данного моделирования.

simOut = ode45(@(~,x)derivative(model,x,u,e), [0 50], s);
size(simOut.y)
ans = 1×2

     8   904

Постройте график изменения угла крена на основе выходных данных моделирования. Угол крена - это 7-й ряд simOut.y выход.

plot(simOut.y(7,:))

Figure contains an axes. The axes contains an object of type line.

Можно также построить график траектории на крыле с помощью plotTransforms. Создайте векторы перемещения и вращения из моделируемого состояния. Понизить (каждый 30-й элемент) и транспонировать simOut элементы и преобразуют углы Эйлера в кватернионы. Укажите сетку в качестве fixedwing.stl файл и положительное направление Z как "down". На отображаемом виде показан БПЛА, выполняющий постоянный поворот на основе постоянного угла крена.

downsample = 1:30:size(simOut.y,2);
translations = simOut.y(1:3,downsample)'; % xyz-position
rotations = eul2quat([simOut.y(5,downsample)',simOut.y(6,downsample)',simOut.y(7,downsample)']); % ZYX Euler
plotTransforms(translations,rotations,...
    'MeshFilePath','fixedwing.stl','InertialZDirection',"down")
hold on
plot3(simOut.y(1,:),-simOut.y(2,:),simOut.y(3,:),'--b') % full path
xlim([-10.0 10.0])
ylim([-20.0 5.0])
zlim([-0.5 4.00])
view([-45 90])
hold off

Figure contains an axes. The axes contains 125 objects of type patch, line.

Подробнее

развернуть все

Ссылки

[1] Рэндал У. Борода и Тимоти У. Маклейн. «Глава 9.» Теория и практика малых беспилотных летательных аппаратов, Нью-Джерси: Принстонский университет, пресса, 2012.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2018b