uavPathManager

Вычислите и выполните автономную миссию БПЛА

Описание

The 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

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

Dependencies: Чтобы включить этот параметр, задайте значение свойства UAV type 'fixed-wing'.

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

Данные миссии БПЛА, заданные в виде n-на-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]

Takeoff - Снимите с земли и перемещайтесь в заданное положение

uint8(2)[x;y;z]

[yaw;radius;p3;p4]

yaw - Угол рыскания в радианах в области значений [-pi, pi]

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

Waypoint - Переход к путевой точке

uint8(3)

[x;y;z]

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

[radius;turnDir;numTurns;p4]

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

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

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

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

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

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

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

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

Land - Земля в заданном положении

uint8(5)

[x;y;z]

Положение запуска задано в свойстве Home

[p1;p2;p3;p4]

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

uint8(6)[x;y;z]

[p1;p2;p3;p4]

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

Custom - Пользовательская точка миссии

Примечание

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)

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

uint8(1)

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

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

uint8(2)

Repeat - Повторите миссию после достижения последней точки миссии

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), заданных в метрах. courseAngle задает угол курса в радианах в области значений [-pi, pi].

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

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

расширить все

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

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

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

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

В начале симуляции предыдущая точка миссии устанавливается в Armed режим.

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

Примечание

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

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

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

    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])

Примечание

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

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

Текущий режим миссииВыходные параметры миссии
Точки заданияспособположениепарамы

Takeoff

Строка 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]

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

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

mode предыдущей точки миссии

position предыдущей точки миссии

  • [yaw;radius;p3;p4] если предыдущая точка миссии была Takeoff

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

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

Orbit

Строка 1: Ток

uint8(3)

[x;y;z]

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

[radius;turnDir;numTurns;p4]

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

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

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

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

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

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

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

mode предыдущей точки миссии

position предыдущей точки миссии

params предыдущей точки миссии

Land

Строка 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 предыдущей точки миссии

Custom

Строка 1: Ток

uint8(6)[x;y;z]

[p1;p2;p3;p4]

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

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

mode предыдущей точки миссии

position предыдущей точки миссии

params предыдущей точки миссии

Примечание

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

Эта таблица описывает параметры выхода миссии, когда вход в свойство MissionCmd установлен в Hold режим.

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

Multirotor

Строка 1: Ток

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

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

mode предыдущей точки миссии

position предыдущей точки миссии

params предыдущей точки миссии

Fixed-Wing

Строка 1: Ток

uint8(7)

[x;y;z]

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

[radius;turnDir;-1;-1]

radius - Радиус Loiter задается в свойстве LoiterRadius

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

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

mode предыдущей точки миссии

position предыдущей точки миссии

params предыдущей точки миссии

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

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

release(obj)

расширить все

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