Следовать ППМ для БПЛА
Инструментарий БПЛА/Алгоритмы


Блок Waypoint Follower следует за набором ППМ для беспилотного летательного аппарата (БПЛА) с использованием точки обзора. Блок вычисляет точку обзора, желаемый курс и желаемое рыскание с учетом положения БПЛА, набора ППМ и расстояния поиска. Укажите набор ППМ и настройте параметры расстояния и радиуса перехода для навигации по ППМ. Блок поддерживает как многороторные, так и стационарные БПЛА.
Pose - Текущая поза БПЛА[x y z chi] векторТекущая поза БПЛА, указанная как [x y z chi] вектор. Эта поза используется для вычисления точки перехода на основе входных данных для порта LookahelDistance. [x y z] - текущее положение в метрах. chi является текущим курсом в радианах.
Пример:
[0.5;1.75;-2.5;pi]
Типы данных: single | double
Waypoints - Набор ППМНабор ППМ для следования БПЛА, указанный в виде матрицы с числом строк, n, равным числу ППМ. Количество столбцов зависит от входной переменной Show Yaw и параметра источника радиуса перехода.
Каждая строка в матрице имеет первые три элемента в виде [x y z] положение в последовательности ППМ.
Если установлен флажок «Показать входную переменную рыскания», укажите требуемый угол рыскания. yaw, как четвертый элемент в радианах.
Если флажок «Показать входную переменную Yaw» снят, а параметр «Источник радиуса перехода» имеет значение external, радиус перехода - четвёртый элемент вектора в метрах.
Если флажок «Показать входную переменную Yaw» установлен, а параметр «Источник радиуса перехода» имеет значение external, радиус перехода - пятый элемент вектора в метрах.
Отображение блока обновляется по мере изменения размера матрицы ППМ.
Типы данных: single | double
LookaheadDistance - Расстояние до точки обзораРасстояние между путями, заданное как положительный числовой скаляр в метрах.
Типы данных: single | double
LookaheadPoint - Заглавная точка на пути[x y z] вектор положенияТочка Lookahead на пути, возвращенная как [x y z] вектор положения в метрах.
Типы данных: single | double
DesiredCourse - Желаемый курсТребуемый курс, возвращаемый как числовой скаляр в радианах в диапазоне [-pi, pi]. Курс БПЛА - угол направления вектора скорости относительно севера, измеренный в радианах. Для БПЛА фиксированного типа значения нужного курса и желаемого рыскания равны.
Типы данных: single | double
DesiredYaw - Желаемое рысканиеТребуемое значение yaw, возвращаемое в виде числового скаляра в радианах в диапазоне [-pi, pi]. Рыскание БПЛА является направлением вперед БПЛА независимо от вектора скорости относительно севера, измеренного в радианах. Требуемое рыскание вычисляется с использованием линейной интерполяции между углом рыскания для каждой ППМ. Для БПЛА фиксированного типа значения нужного курса и желаемого рыскания равны.
Типы данных: single | double
LookaheadDistFlag - Флаг расстояния Lookahead0 (по умолчанию) | 1Флаг расстояния Lookahead, возвращенный как 0 или 1. 0 указывает на то, что расстояние между путями не насыщено, 1 указывает, что расстояние до точки обзора насыщено до заданного минимального значения расстояния до точки обзора.
Типы данных: uint8
CrossTrackError - Перекрестная ошибка от положения БПЛА к путиОшибка перекрестной дорожки от положения БПЛА до пути, возвращенная в виде положительного числового скаляра в метрах. Ошибка измеряет перпендикулярное расстояние от положения БПЛА до ближайшей точки на пути.
Этот порт отображается, только если установлен флажок Show CrossTrackError.
Типы данных: 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радиус перехода для каждой ППМ задается с помощью параметра «Радиус перехода (r)» в маске блока. Если указано как externalукажите каждый радиус перехода ППМ независимо, используя входные данные порта ППМ.
Когда БПЛА находится в радиусе перехода, блок переходит в следующий сегмент пути между ППМ.
Этот параметр не настраивается.
Transition radius (r) - Радиус перехода для ППМ10 (по умолчанию) | положительный числовой скалярРадиус перехода для ППМ, заданный как положительный числовой скаляр в метрах.
Когда БПЛА находится в радиусе перехода, блок переходит в следующий сегмент пути между ППМ.
Этот параметр не настраивается.
Minimum lookahead distance (m) - Минимальное расстояние до точки обзора0.1 (по умолчанию) | положительный числовой скалярМинимальное расстояние до точки обзора, указанное как положительный числовой скаляр в метрах.
Если вход в порт Lookahendistance Distance меньше минимального расстояния lookahhead, то LookahedDistFlag возвращается как 1 и значение расстояния до точки обзора задается как значение минимального расстояния до точки обзора.
Этот параметр не настраивается.
Show Yaw input variable - Принять входной сигнал рыскания для ППМoff (по умолчанию) | onПримите входные значения рыскания для ППМ, если они выбраны. Если этот флажок установлен, входные данные ППМ принимают входные данные для каждой ППМ.
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 ® генерирует код C для блока. Код C используется повторно для последующего моделирования, если модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующего моделирования сравнима сInterpreted execution.
Этот параметр не настраивается.
Настраиваемый: Нет
При следовании набору ППМ первый ППМ может игнорироваться на основании позы БПЛА. Из-за характера расстояния между путями, используемого для отслеживания пути, повторитель ППМ проверяет, находится ли БПЛА вблизи следующего ППМ для перехода к следующему сегменту пути с использованием переходной области. Однако существует также условие, при котором БПЛА переходит за пределы этого региона. В следующем ППМ рисуется 3-D гиперплоскость. Если поза БПЛА находится внутри этой гиперплоскости, толкатель ППМ переходит к следующему ППМ. Такое поведение помогает гарантировать, что БПЛА пойдет по достижимому пути.

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