Следуйте путевым точкам для БПЛА
БПЛА 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 generation
Interpreted 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.