Следуйте за waypoints для UAV
UAV Toolbox / Алгоритмы
Блок Waypoint Follower следует за набором waypoints для беспилотного воздушного транспортного средства (UAV) с помощью предварительной точки. Блок вычисляет предварительную точку, желаемый курс и желаемое рыскание, учитывая положение UAV, набор waypoints и предварительного расстояния. Задайте набор waypoints и настройте предварительное расстояние и параметры радиуса перехода для навигации по waypoints. Блок поддерживает и мультиротор и фиксированное крыло типы UAV.
Pose
— Текущее положение UAV[x y z chi]
векторТекущее положение UAV в виде [x y z chi]
вектор. Это положение используется, чтобы вычислить предварительную точку на основе входа к порту LookaheadDistance. [x y z]
текущее положение в метрах. chi
текущий курс в радианах.
Пример:
[0.5;1.75;-2.5;pi]
Типы данных: single
| double
Waypoints
— Набор waypointsНабор 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
LookaheadDistance
— Предварительное расстояниеПредварительное расстояние вдоль пути в виде положительного числового скаляра в метрах.
Типы данных: single
| double
LookaheadPoint
— Предварительная точка на пути[x y z]
радиус-векторПредварительная точка на пути, возвращенном как [x y z]
радиус-вектор в метрах.
Типы данных: single
| double
DesiredCourse
— Желаемый курсЖелаемый курс, возвращенный в виде числа в радианах в области значений [-pi, pi]
. Курс UAV является углом направления вектора скорости относительно севера, измеренного в радианах. Поскольку фиксированное крыло вводит UAV, значения желаемого курса и желаемого рыскания равны.
Типы данных: single
| double
DesiredYaw
— Желаемое рысканиеЖелаемое рыскание, возвращенное в виде числа в радианах в области значений [-pi, pi]
. Рыскание UAV является прямым направлением UAV независимо от вектора скорости относительно севера, измеренного в радианах. Желаемое рыскание вычисляется с помощью линейной интерполяции между углом рыскания для каждого waypoint. Поскольку фиксированное крыло вводит UAV, значения желаемого курса и желаемого рыскания равны.
Типы данных: single
| double
LookaheadDistFlag
— Предварительный флаг расстояния
(значение по умолчанию) | 1
Предварительный флаг расстояния, возвращенный как 0
или 1
. 0 указывает, что предварительное расстояние не насыщается,
1
указывает, что предварительное расстояние насыщается к минимальному предварительному заданному значению расстояния.
Типы данных: uint8
CrossTrackError
— Перекрестный дефект записи от положения UAV до путиПерекрестный дефект записи от положения UAV до пути, возвращенного в виде положительного числа в метрах. Ошибка измеряет перпендикулярное расстояние от положения UAV до самой близкой точки на пути.
Этот порт только отображается, если Show CrossTrackError output port проверяется.
Типы данных: single
| double
Status
— Состояние waypoint навигации
| 1
Состояние waypoint навигации, возвращенной как 0
или 1
. Когда последователь переместился по всему waypoints, блок выходные параметры 1
. В противном случае, блок выходные параметры 0
.
Этот порт только отображается, если Show UAV Status output port проверяется.
UAV type
— Тип UAVfixed-wing
(значение по умолчанию) | multirotor
Тип UAV в виде любого fixed-wing
или multirotor
.
Этот параметр является ненастраиваемым.
StartFrom
— Waypoint запускают поведениеfirst
(значение по умолчанию) | closest
Waypoint запускают поведение в виде любого first
или closest
.
Когда установлено в first
, UAV летит к первому сегменту пути между waypoints. Если набор waypoints вводится в Waypoints
изменения, UAV перезапускает в первом сегменте пути.
Когда установлено в closest
, UAV летит к самому близкому сегменту пути между waypoints. Когда waypoints вводят изменения, UAV повторно вычисляет самый близкий сегмент пути.
Этот параметр является ненастраиваемым.
Transition radius source
— Источник радиуса переходаinternal
(значение по умолчанию) | external
Источник радиуса перехода в виде любого internal
или external
. Если задано как internal
, радиус перехода для каждого waypoint установлен с помощью параметра Transition radius (r) в маске блока. Если задано как external
, задайте каждый waypoints радиус перехода независимо с помощью входа от порта Waypoints.
Когда UAV в радиусе перехода, переходах блока к следующему следующий сегмент пути между waypoints.
Этот параметр является ненастраиваемым.
Transition radius (r)
— Радиус перехода для waypoints
(значение по умолчанию) | положительный числовой скалярРадиус перехода для waypoints в виде положительного числового скаляра в метрах.
Когда UAV в радиусе перехода, переходах блока к следующему следующий сегмент пути между waypoints.
Этот параметр является ненастраиваемым.
Minimum lookahead distance (m)
— Минимальное предварительное расстояние
(значение по умолчанию) | положительный числовой скалярМинимальное предварительное расстояние в виде положительного числового скаляра в метрах.
Когда введено к LookaheadDistance порт меньше минимального предварительного расстояния, LookaheadDistFlag возвращен как 1
и предварительное значение расстояния задано как значение минимального предварительного расстояния.
Этот параметр является ненастраиваемым.
Show Yaw input variable
— Примите вход рыскания для waypointsoff
(значение по умолчанию) | on
Примите входные параметры рыскания для waypoints, когда выбрано. Если выбрано, вход Waypoints принимает входные параметры рыскания для каждого waypoint.
Show CrossTrackError output port
— Выведите перекрестный дефект записиoff
(значение по умолчанию) | on
Выведите перекрестный дефект записи от порта CrossTrackError.
Этот параметр является ненастраиваемым.
Show UAV Status output port
— Выведите UAV waypoint состояниеoff
(значение по умолчанию) | on
Выведите UAV waypoint состояние от порта Status.
Этот параметр является ненастраиваемым.
Simulate using
— Тип симуляции, чтобы запуститьсяInterpreted execution
(значение по умолчанию) | Code generation
Interpreted execution
— Симулируйте модель с помощью MATLAB® интерпретатор. Эта опция сокращает время запуска, но имеет более медленную скорость симуляции, чем Code generation
. В этом режиме можно отладить исходный код блока.
Code generation
— Симулируйте модель с помощью сгенерированного кода C. В первый раз вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций сопоставима с Interpreted execution
.
Этот параметр является ненастраиваемым.
Настраиваемый: нет
При следовании за набором waypoints первый waypoint может быть проигнорирован на основе положения UAV. По причине предварительного расстояния, используемого, чтобы отследить путь, waypoint последователь проверяет, ли UAV около следующего waypoint к переходу к следующему сегменту пути с помощью области перехода. Однако существует также условие где переходы UAV когда за пределами этой области. 3-D гиперплоскость чертится в следующем waypoint. Если положение UAV в этой гиперплоскости, waypoint переходах последователя к следующему waypoint. Это поведение помогает гарантировать, что UAV следует за достижимым путем.
Условию гиперплоскости удовлетворяют если:
(p-w1)T (w2-w1) ≥ 0
p является положением UAV, и w1 и w2 являются последовательными waypoint положениями.
Если вы находите это ограничение поведения, полагаете, что добавление большего количества waypoints на основе вашего начального положения обеспечивает последователя, чтобы перейти к вашей начальной букве waypoint.
[1] Парк, Sanghyuk, Джон Деист и Джонатан, как. "Новая нелинейная логика руководства для отслеживания траектории". Руководство AIAA, навигация, и конференция по управлению и приложение, 2004.
ode45
| control
| derivative
| environment
| state
| plotTransforms
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.