exponenta event banner

uavPathManager

Вычислить и выполнить автономное задание БПЛА

Описание

uavPathManager Система object™ вычисляет параметры полета беспилотного летательного аппарата (БЛА) путем последовательного переключения между точками полета, указанными в свойстве MissionData. Свойство MissionCmd изменяет порядок выполнения во время выполнения. Объект поддерживает как многороторные, так и стационарные БПЛА.

Для вычисления параметров миссии:

  1. Создать uavPathManager и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

pathManagerObj = uavPathManager создает системный объект диспетчера путей БПЛА со значениями свойств по умолчанию.

pathManagerObj = uavPathManager(Name,Value) создает объект диспетчера путей БПЛА с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары.

Name является именем свойства и Value - соответствующее значение. Name должно отображаться внутри отдельных кавычек (''). Можно указать несколько аргументов пары имя-значение в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: uavPathManager('UAVType','fixed-wing')

Свойства

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

Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Тип БПЛА, указанный как 'multirotor' или 'fixed-wing'.

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

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

Зависимости: Чтобы включить этот параметр, установите для свойства типа БПЛА значение 'fixed-wing'.

Типы данных: single | double

Данные миссии БПЛА, указанные как n-by-1 массив конструкций. n - количество точек миссии. Поля каждой структуры:

  • mode - Режим точки задания, определяемый как 8-битное беззнаковое целое число от 1 до 6.

  • position - Положение точки полета, определяемое как трехэлементный вектор столбца [x;y;z]. x, y и z - положение в координатах северо-восточнее вниз (NED), заданное в метрах.

  • params - Параметры точки задания, определяемые как четырехэлементный вектор столбца.

В этой таблице описываются типы mode и соответствующие значения для position и params поля в структуре точки задания.

способположениепарамыОписание режима
uint8(1)[x;y;z][p1;p2;p3;p4]

Взлет - Взлет с земли и перемещение в заданное положение

uint8(2)[x;y;z]

[yaw;radius;p3;p4]

yaw - угол рыскания в радианах в диапазоне [-pi, pi]

радиус - радиус перехода в метрах

ППМ - переход к ППМ

uint8(3)

[x;y;z]

x, y и z - центр круговой орбиты в координатах NED, указанных в метрах

[radius;turnDir;numTurns;p4]

радиус - радиус орбиты в метрах

turnDir - направление поворота, указанное как одно из следующих:

  • 1 - Поворот по часовой стрелке

  • —1 - Поворот против часовой стрелки

  • 0 - Автоматический выбор направления поворота

numTurns - Количество оборотов

Орбита (Orbit) - орбита по окружности окружности, определяемой параметрами

uint8(4)[x;y;z][p1;p2;p3;p4]

Земля - Земля в указанном положении

uint8(5)

[x;y;z]

Позиция запуска указана в свойстве Home

[p1;p2;p3;p4]

RTL - Возврат в пусковое положение

uint8(6)[x;y;z]

[p1;p2;p3;p4]

p1, p2, p3 и p4 - пользовательские параметры, соответствующие пользовательской точке задания.

Заказной - Заказной пункт миссии

Примечание

p1, p2, p3 и p4 являются параметрами, заданными пользователем.

Пример: [struct('mode',uint8(1),'position',[0;0;100],'params',[0;0;0;0])]

Настраиваемый: Да

Определить, был ли выполнен пункт миссии, указанный как true (1) или false (0).

Настраиваемый: Да

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

Команда для изменения задания во время выполнения, заданная как 8-битное беззнаковое целое число от 0 до 3.

В этой таблице описываются возможные команды миссии.

Командование миссииОписание
uint8(0)

По умолчанию - выполнение миссии от первой до последней точки миссии в последовательности

uint8(1)

Удержание - удержание в текущей точке миссии

Лойтер вокруг текущего положения для самолета и зависание в текущем положении для многороторных БПЛА

uint8(2)

Повторить - Повторить задание после достижения последней точки задания

uint8(3)

RTL - режим возврата к запуску (RTL)

После RTL миссия возобновляется, если свойство MissionCmd изменено на Default или Repeat

Настраиваемый: Да

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

Местоположение дома БПЛА, указанное как трехэлементный вектор колонны [x;y;z]. x, y и z - положение в координатах северо-восточнее вниз (NED), заданное в метрах.

Настраиваемый: Да

Типы данных: single | double

Использование

Синтаксис

Описание

missionParams = pathManagerObj(pose)

Входные аргументы

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

Текущая поза БПЛА, заданная как четырехэлементный вектор столбца [x;y;z;courseAngle]. x, y и z - текущее положение в координатах NED, заданных в метрах. coursAngle задает угол курса в радианах в диапазоне [-pi, pi].

Типы данных: single | double

Выходные аргументы

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

Параметры полета БПЛА, возвращенные в виде массива конструкций 2 на 1. Первая строка массива содержит структуру текущей точки задания, а вторая строка массива содержит структуру предыдущей точки задания. Поля каждой структуры:

  • mode - Режим точки миссии, возвращаемый как 8-битное беззнаковое целое число от 0 до 7.

  • position - Положение точки полета на основе режима, возвращаемого в виде трехэлементного вектора столбца [x;y;z]. x, y и z - положение в координатах северо-восточнее вниз (NED), заданное в метрах.

  • params - параметры точки задания на основе режима, возвращаемые в виде вектора четырехэлементного столбца.

При начале моделирования предыдущая точка задания переводится в режим «Вооружено».

struct('mode',uint8(0),'position',[x;y;z],'params',[-1;-1;-1;-1])

Примечание

Пользователь не может настроить режим Armed.

Установите конечную точку задания в режим RTL или Land, иначе конечная точка задания автоматически устанавливается в режим удержания.

  • Мультироторные БПЛА зависают в текущей позиции.

    struct('mode',uint8(7),'position',[x;y;z],'params',[-1;-1;-1;-1])

  • Неподвижные БПЛА облетают текущее положение.

    struct('mode',uint8(7),'position',[x;y;z],'params',[radius;turnDir;-1;-1])

Примечание

Режим удержания не может быть настроен пользователем.

В этой таблице описываются выходные параметры задания в зависимости от режима задания.

Режим текущей миссииПараметры выходного задания
Баллы миссииспособположениепарамы

Взлет

Строка 1: Текущая

uint8(1)[x;y;z][p1;p2;p3;p4]

Строка 2: Предыдущая

mode предыдущего пункта миссии

position предыдущего пункта миссии

params предыдущего пункта миссии

Waypoint

Строка 1: Текущая

uint8(2)[x;y;z]

[yaw;radius;p3;p4]

yaw - угол рыскания в радианах в диапазоне [-pi, pi]

радиус - радиус перехода в метрах

Строка 2: Предыдущая

mode предыдущего пункта миссии

position предыдущего пункта миссии

  • [yaw;radius;p3;p4] если предыдущей точкой задания был «Взлет»

  • [courseAngle;25;p3;p4] иначе

coursAngle - угол отрезка линии между предыдущим и текущим положением, заданный в радианах в диапазоне [-pi, pi]

Орбита

Строка 1: Текущая

uint8(3)

[x;y;z]

x, y и z - центр круговой орбиты в координатах NED, указанных в метрах

[radius;turnDir;numTurns;p4]

радиус - радиус орбиты в метрах

turnDir - направление поворота, указанное как одно из следующих:

  • 1 - Поворот по часовой стрелке

  • —1 - Поворот против часовой стрелки

  • 0 - Автоматический выбор направления поворота

numTurns - Количество оборотов

Строка 2: Предыдущая

mode предыдущего пункта миссии

position предыдущего пункта миссии

params предыдущего пункта миссии

Земля

Строка 1: Текущая

uint8(4)[x;y;z][p1;p2;p3;p4]

Строка 2: Предыдущая

mode предыдущего пункта миссии

position предыдущего пункта миссии

params предыдущего пункта миссии

RTL

Строка 1: Текущая

uint8(5)

[x;y;z]

Позиция запуска указана в свойстве Home

[p1;p2;p3;p4]

Строка 2: Предыдущая

mode предыдущего пункта миссии

position предыдущего пункта миссии

params предыдущего пункта миссии

Обычай

Строка 1: Текущая

uint8(6)[x;y;z]

[p1;p2;p3;p4]

p1, p2, p3 и p4 - пользовательские параметры, соответствующие пользовательской точке задания.

Строка 2: Предыдущая

mode предыдущего пункта миссии

position предыдущего пункта миссии

params предыдущего пункта миссии

Примечание

p1, p2, p3 и p4 являются параметрами, заданными пользователем.

В этой таблице описываются параметры выходного задания, если для входа в свойство MissionCmd установлен режим удержания.

Тип БПЛАПараметры выходного задания
Баллы миссииспособположениепарамы

Мультиротор

Строка 1: Текущая

uint8(7)[x;y;z][-1;-1;-1;-1]

Строка 2: Предыдущая

mode предыдущего пункта миссии

position предыдущего пункта миссии

params предыдущего пункта миссии

Крыло

Строка 1: Текущая

uint8(7)

[x;y;z]

x, y и z - центр круговой орбиты в координатах NED, указанных в метрах

[radius;turnDir;-1;-1]

radius - радиус Loiter задан в свойстве LoityRadius

turnDir - направление поворота указано как 0 для автоматического выбора направления поворота

Строка 2: Предыдущая

mode предыдущего пункта миссии

position предыдущего пункта миссии

params предыдущего пункта миссии

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

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

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

stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System
Представлен в R2020b