exponenta event banner

uavWaypointFollower

Следовать ППМ для БПЛА

Описание

uavWaypointFollower Система object™ следует набору ППМ беспилотного летательного аппарата (БПЛА) с использованием точки обзора. Объект вычисляет точку обзора, требуемый курс и желаемое рыскание с учетом положения БПЛА, набора ППМ и расстояния поиска. Укажите набор ППМ и настройтеlookAheadDistance входной аргумент и TransitionRadius свойство для навигации по ППМ. Объект поддерживает как многороторные, так и стационарные БПЛА.

Для следования набору ППМ:

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

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

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

Создание

Описание

wpFollowerObj = uavWaypointFollower создает толкатель ППМ БПЛА со свойствами по умолчанию.

wpFollowerObj = uavWaypointFollower(Name,Value) создает толкатель ППМ БПЛА с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары.

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

Свойства

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

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

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

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

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

Поведение запуска ППМ, указанное как 'first' или 'closest'.

Если установлено значение 'first', БПЛА летит на первый сегмент пути между ППМ, перечисленными в Waypoints. Если установлено значение 'closest', БПЛА летит в ближайший сегмент пути между ППМ, перечисленными в Waypoints. При изменении ввода ППМ БПЛА пересчитывает ближайший сегмент пути.

Набор ППМ для следования БПЛА, указанный в виде матрицы n-by-3 [x y z] векторы в метрах.

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

Угол рыскания для каждой ППМ, определяемый как вектор скалярного или n-элементного столбца в радианах. Скаляр применяется к каждой точке ППМ в Waypoints. Вход [] удерживает рыскание в соответствии с требуемым курсом на основе точки обзора.

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

Радиус перехода для каждой ППМ, заданный как скалярный или n-элементный вектор в метре. Если указан как скаляр, этот параметр применяется к каждому ППМ в Waypoints. Когда БПЛА находится в радиусе перехода, объект переходит в следующий сегмент пути между ППМ.

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

Минимальное расстояние до точки обзора, указанное как положительный числовой скаляр в метрах.

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

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

Описание

[lookaheadPoint,desiredCourse,desiredYaw,lookaheadDistFlag,crossTrackError,status] = wpFollowerObj(currentPose,lookaheadDistance) следует за набором ППМ, указанным в объекте-следителе ППМ. Объект занимает текущее положение и расстояние до точки поиска, чтобы вычислить точку до точки поиска на пути. Требуемый курс, рыскание и ошибка перекрестной дорожки также основаны на этой точке обзора по сравнению с текущим положением. status возвращает ноль до тех пор, пока БПЛА не осуществит навигацию по всем ППМ.

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

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

Текущая поза БПЛА, указанная как [x y z chi] вектор. Эта поза используется для вычисления начальной точки поиска на основе входных данных. lookaheadDistance. [x y z] - текущее положение в метрах. chi является текущим курсом в радианах.

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

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

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

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

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

Точка Lookahead на пути, возвращенная как [x y z] вектор положения в метрах.

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

Требуемый курс, возвращаемый как числовой скаляр в радианах в диапазоне [-pi, pi]. Курс БПЛА - направление вектора скорости. Для БПЛА фиксированного типа значения нужного курса и желаемого рыскания равны.

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

Искомое рыскание, возвращаемое в виде числового скаляра в радианах в диапазоне [-pi, pi]. Рыскание БПЛА - угол прямого направления БПЛА независимо от вектора скорости. Требуемое рыскание вычисляется с использованием линейной интерполяции между углом рыскания для каждой ППМ. Для БПЛА фиксированного типа значения нужного курса и желаемого рыскания равны.

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

Флаг расстояния Lookahead, возвращенный как 0 или 1. 0 указывает на то, что расстояние между путями не насыщено, 1 указывает, что расстояние до точки обзора насыщено до заданного минимального значения расстояния до точки обзора.

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

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

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

Состояние навигации ППМ, возвращенное как 0 или 1. Когда толкатель перемещает все ППМ, объект выводит 1. В противном случае объект выводит 0.

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

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

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

release(obj)

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

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

Подробнее

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

Ссылки

[1] Парк, Санхюк, Джон Дейст и Джонатан Хау. «Новая нелинейная логика управления для отслеживания траектории». Конференция по руководству, навигации и контролю АИАА и выставка 2004 года.

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

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

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