uavPathManager

Вычислите и выполните UAV автономная миссия

Описание

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

Вычислить параметры миссии:

  1. Создайте uavPathManager объект и набор его свойства.

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

pathManagerObj = uavPathManager создает менеджера пути UAV Системный объект со значениями свойств по умолчанию.

pathManagerObj = uavPathManager(Name,Value) создает менеджера пути UAV объект с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

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

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.

Тип UAV в виде любого 'multirotor' или 'fixed-wing'.

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

Слоняйтесь радиус для фиксированного крыла UAV в виде положительного числового скаляра в метрах.

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

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

Данные о миссии UAV в виде 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]

Takeoff — Взлетите с земли и переместитесь к заданной позиции

uint8(2)[x;y;z]

[yaw;radius;p3;p4]

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

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

Waypoint — Перейдите к 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 ).

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

Типы данных: логический

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

Эта таблица описывает возможные команды миссии.

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

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

uint8(1)

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

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

uint8(2)

Повторение Повторите миссию после достигания последней точки миссии

uint8(3)

RTL — Выполните режим возврата, чтобы запуститься (RTL)

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

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

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

Исходное расположение UAV в виде трехэлементного вектор-столбца [x;y;z]. x, y и z являются положением на северо-востоке вниз (NED) координаты, заданные в метрах.

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

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

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

Описание

missionParams = pathManagerObj(pose)

Входные параметры

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

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

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

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

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

Параметры миссии UAV, возвращенные как 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.

Тип UAVВыведите параметры миссии
Точки миссиирежимположениепараметрические усилители

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 — Слоняйтесь радиус задан в свойстве LoiterRadius

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

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

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

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

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

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

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

release(obj)

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

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

Смотрите также

| | |

Введенный в R2020b