uavWaypointFollower

Следуйте путевым точкам для БПЛА

Описание

The 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-на-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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

release(obj)

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

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

Подробнее о

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

Ссылки

[1] Park, Sanghyuk, John Deyst, and Jonathan How. Новая нелинейная логика руководства для отслеживания траектории. Конференция и приложение AIAA по руководству, навигации и управлению, 2004.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2018b