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


Блок Waypoint Follower следует набору путевых точек для беспилотного летательного транспортного средства (БПЛА) с помощью точки траектории. Блок вычисляет точку искомой головки, желаемый курс и желаемую рыскание с учетом положения БПЛА, набора точек пути и расстояния поисковой головки. Задайте набор путевых точек и настройте параметры расстояния и радиуса перехода для навигации по путевым точкам. Блок поддерживает как мультироторный, так и неподвижный типы БПЛА.
Pose - Текущее положение БПЛА[x y z chi] векторТекущее положение БПЛА, заданное как [x y z chi] вектор. Это положение используется для вычисления точки искомой головки на основе входов для порта LookaheadDistance. [x y z] - текущее положение в метрах. chi - текущий курс в радианах.
Пример:
[0.5;1.75;-2.5;pi]
Типы данных: single | double
Waypoints - Набор путевых точекНабор следования путевых точек для БПЛА, заданный как матрица с количеством строк, n, равным количеству путевых точек. Количество столбцов зависит от Show Yaw input variable и параметра Transition radius source.
Каждая строка в матрице имеет первые три элемента как [x y z] положение в последовательности путевых точек.
Если Show Yaw input variable проверяется, задайте требуемый угол рыскания yaw, как четвертый элемент в радианах.
Если Show Yaw input variable снята, и Transition radius source external, радиус перехода является четвертым элементом вектора в метрах.
Если Show Yaw input variable проверяется, и Transition radius source external, радиус перехода является пятым элементом вектора в метрах.
Отображение блока обновляется по мере изменения размера матрицы путевой точки.
Типы данных: single | double
LookaheadDistance - Расстояние между головкамиРасстояние по пути, заданное как положительный числовой скаляр в метрах.
Типы данных: single | double
LookaheadPoint - Искомая точка на пути[x y z] вектор положенияТочка поиска на пути, возвращенная как [x y z] вектор положения в метрах.
Типы данных: single | double
DesiredCourse - Желаемый курсЖелаемый курс, возвращенный в виде числового скаляра в радианах в области значений [-pi, pi]. Курс БПЛА является углом направления вектора скорости относительно севера, измеренным в радианах. Для БПЛА фиксированного типа значения желаемого курса и желаемого рыскания равны.
Типы данных: single | double
DesiredYaw - Желаемое рысканиеЖелаемое рыскание, возвращенная в виде числового скаляра в радианах в области значений [-pi, pi]. Рыскание БПЛА является прямым направлением БПЛА независимо от вектора скорости относительно севера, измеренного в радианах. Требуемая рыскание вычисляется с помощью линейной интерполяции между углом рыскания для каждой путевой точки. Для БПЛА фиксированного типа значения желаемого курса и желаемого рыскания равны.
Типы данных: single | double
LookaheadDistFlag - Флаг расстояния Lookahead0 (по умолчанию) | 1Флаг расстояния поиска, возвращенный как 0 или 1. 0 указывает, что расстояние между головками не насыщено, 1 указывает, что расстояние между интерполяциями достигает заданного минимального значения расстояния между интерполяциями.
Типы данных: uint8
CrossTrackError - Перекрестная ошибка от положения БПЛА до путиПерекрестная ошибка от положения БПЛА до пути, возвращаемая как положительный числовой скаляр в метрах. Ошибка измеряет перпендикулярное расстояние от положения БПЛА до ближайшей точки на пути.
Этот порт видим только, если Show CrossTrackError output port проверен.
Типы данных: single | double
Status - Состояние навигации по путевой точке0 | 1Состояние навигации по путевой точке, возвращаемое как 0 или 1. Когда последующий пользователь перемещается по всем путевым точкам, блок выводит 1. В противном случае блок выводит 0.
Этот порт видим только, если Show UAV Status output port проверен.
UAV type - Тип БПЛАfixed-wing (по умолчанию) | multirotorТип БПЛА, указанный как fixed-wing или multirotor.
Этот параметр не настраивается.
StartFrom - Поведение при запуске путевой точкиfirst (по умолчанию) | closestПоведение запуска путевой точки, заданное как first или closest.
Когда установлено значение first, БПЛА летит к первому сегменту контура между путевыми точками. Если набор путевых точек введен в Waypoints изменяется, БПЛА перезапускается в первом сегменте контура.
Когда установлено значение closest, БПЛА летит к ближайшему сегменту контура между путевыми точками. Когда вход путевых точек меняется, БПЛА пересчитывает ближайший сегмент контура.
Этот параметр не настраивается.
Transition radius source - Источник радиуса переходаinternal (по умолчанию) | externalИсточник радиуса перехода, заданный как internal или external. Если задано как internalрадиус перехода для каждой путевой точки задается с помощью параметра Transition radius (r) в маске блока. Если задано как external, задайте каждый радиус перехода путевых точек независимо, используя вход от порта Waypoints.
Когда БПЛА находится в радиусе перехода, блок переходит к следующему сегменту контура между путевыми точками.
Этот параметр не настраивается.
Transition radius (r) - Радиус перехода для путевых точек10 (по умолчанию) | положительный числовой скалярРадиус перехода для путевых точек, заданный как положительный числовой скаляр в метрах.
Когда БПЛА находится в радиусе перехода, блок переходит к следующему сегменту контура между путевыми точками.
Этот параметр не настраивается.
Minimum lookahead distance (m) - Минимальное расстояние между интерполяциями0.1 (по умолчанию) | положительный числовой скалярМинимальное расстояние, заданное как положительный числовой скаляр в метрах.
Когда вход в LookaheadDistance порт меньше минимального расстояния, LookaheadDistFlag возвращается следующим 1 и значение расстояния между головками задается как значение минимального расстояния между головками.
Этот параметр не настраивается.
Show Yaw input variable - Принять вход рыскания для путевых точекoff (по умолчанию) | onПримите входы рыскания для путевых точек при выборе. Если выбран, вход Waypoints принимает входы рыскания для каждой путевой точки.
Show CrossTrackError output port - Выходная перекрестная ошибкаoff (по умолчанию) | onВыход ошибки кросс-трека от порта CrossTrackError.
Этот параметр не настраивается.
Show UAV Status output port - Выход состояния путевой точки БПЛАoff (по умолчанию) | onВыход состояния путевой точки БПЛА из порта Status.
Этот параметр не настраивается.
Simulate using - Тип выполняемой симуляцииInterpreted execution (по умолчанию) | Code generationInterpreted execution - Моделируйте модель с помощью MATLAB® интерпретатор. Эта опция сокращает время запуска, но имеет более низкую скорость симуляции, чем Code generation. В этом режиме можно отлаживать исходный код блока.
Code generation - Моделируйте модель с использованием сгенерированного кода C. Первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций сопоставима с Interpreted execution.
Этот параметр не настраивается.
Настраиваемый: Нет
При следовании за набором путевых точек первая путевая точка может быть проигнорирована на основе положения БПЛА. Из-за особенностей расстояния, используемого для отслеживания пути, последующий блок путевой точки проверяет, находится ли БПЛА вблизи следующей точки пути, чтобы перейти к следующему сегменту контура с помощью переходной области. Однако существует также условие, когда БПЛА переходит, когда за пределы этой области. Гиперплоскость 3-D рисуется в следующей точке пути. Если положение БПЛА находится внутри этой гиперплоскости, последующая точка пути переходит к следующей точке пути. Такое поведение помогает обеспечить соответствие БПЛА достижимому пути.

Условие гиперплоскости удовлетворяется, если:
(p - w1)T (w2 - w1) ≥ 0
p - положение БПЛА, а w1 и w2 - последовательные положения путевой точки.
Если вы находите, что это ограничение поведения, рассмотрите добавление большего количества точек пути на основе вашего начального положения, чтобы заставить последователя двигаться к вашей начальной точке пути.
[1] Park, Sanghyuk, John Deyst, and Jonathan How. Новая нелинейная логика руководства для отслеживания траектории. Конференция и приложение AIAA по руководству, навигации и управлению, 2004.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.