Waypoint Follower

Следуйте за waypoints для UAV

  • Библиотека:
  • UAV Toolbox / Алгоритмы

  • Waypoint Follower block

Описание

Блок Waypoint Follower следует за набором waypoints для беспилотного воздушного транспортного средства (UAV) с помощью предварительной точки. Блок вычисляет предварительную точку, желаемый курс и желаемое рыскание, учитывая положение UAV, набор waypoints и предварительного расстояния. Задайте набор waypoints и настройте предварительное расстояние и параметры радиуса перехода для навигации по waypoints. Блок поддерживает и мультиротор и фиксированное крыло типы UAV.

Порты

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

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

Текущее положение UAV в виде [x y z chi] вектор. Это положение используется, чтобы вычислить предварительную точку на основе входа к порту LookaheadDistance. [x y z] текущее положение в метрах. chi текущий курс в радианах.

Пример: [0.5;1.75;-2.5;pi]

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

Набор waypoints для UAV, чтобы следовать в виде матрицы с количеством строк, n, равняется количеству waypoints. Количество столбцов зависит от Show Yaw input variable и параметра Transition radius source.

Каждая строка в матрице имеет первые три элемента как [x y z] положение в последовательности waypoints.

Если Show Yaw input variable проверяется, задайте желаемый угол рыскания, yaw, как четвертый элемент в радианах.

Если Show Yaw input variable неконтролируем, и Transition radius source является external, радиус перехода является четвертым элементом вектора в метрах.

Если Show Yaw input variable проверяется, и Transition radius source является external, радиусом перехода является Пятый элемент вектора в метрах.

Отображение блока обновляется как размер waypoint матричных изменений.

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

Предварительное расстояние вдоль пути в виде положительного числового скаляра в метрах.

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

Вывод

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

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

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

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

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

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

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

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

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

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

Зависимости

Этот порт только отображается, если Show CrossTrackError output port проверяется.

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

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

Зависимости

Этот порт только отображается, если Show UAV Status output port проверяется.

Параметры

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

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

Этот параметр является ненастраиваемым.

Waypoint запускают поведение в виде любого first или closest.

Когда установлено в first, UAV летит к первому сегменту пути между waypoints. Если набор waypoints вводится в Waypoints изменения, UAV перезапускает в первом сегменте пути.

Когда установлено в closest, UAV летит к самому близкому сегменту пути между waypoints. Когда waypoints вводят изменения, UAV повторно вычисляет самый близкий сегмент пути.

Этот параметр является ненастраиваемым.

Источник радиуса перехода в виде любого internal или external. Если задано как internal, радиус перехода для каждого waypoint установлен с помощью параметра Transition radius (r) в маске блока. Если задано как external, задайте каждый waypoints радиус перехода независимо с помощью входа от порта Waypoints.

Когда UAV в радиусе перехода, переходах блока к следующему следующий сегмент пути между waypoints.

Этот параметр является ненастраиваемым.

Радиус перехода для waypoints в виде положительного числового скаляра в метрах.

Когда UAV в радиусе перехода, переходах блока к следующему следующий сегмент пути между waypoints.

Этот параметр является ненастраиваемым.

Минимальное предварительное расстояние в виде положительного числового скаляра в метрах.

Когда введено к LookaheadDistance порт меньше минимального предварительного расстояния, LookaheadDistFlag возвращен как 1 и предварительное значение расстояния задано как значение минимального предварительного расстояния.

Этот параметр является ненастраиваемым.

Примите входные параметры рыскания для waypoints, когда выбрано. Если выбрано, вход Waypoints принимает входные параметры рыскания для каждого waypoint.

Выведите перекрестный дефект записи от порта CrossTrackError.

Этот параметр является ненастраиваемым.

Выведите UAV waypoint состояние от порта Status.

Этот параметр является ненастраиваемым.

  • Interpreted execution — Симулируйте модель с помощью MATLAB® интерпретатор. Эта опция сокращает время запуска, но имеет более медленную скорость симуляции, чем Code generation. В этом режиме можно отладить исходный код блока.

  • Code generation — Симулируйте модель с помощью сгенерированного кода C. В первый раз вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций сопоставима с Interpreted execution.

Этот параметр является ненастраиваемым.

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

Больше о

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

Ссылки

[1] Парк, Sanghyuk, Джон Деист и Джонатан, как. "Новая нелинейная логика руководства для отслеживания траектории". Руководство AIAA, навигация, и конференция по управлению и приложение, 2004.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2018b