uavWaypointFollower

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

Описание

uavWaypointFollower Система object™ следует за набором waypoints для беспилотного воздушного транспортного средства (UAV) с помощью предварительной точки. Объект вычисляет предварительную точку, желаемую направиться, и желал отклонения от курса, учитывая положение UAV, набор waypoints и предварительное расстояние. Задайте набор waypoints и настройте thelookAheadDistance входной параметр и TransitionRadius свойство для навигации по waypoints. Поддержка объектов и мультиротор и фиксированное крыло типы UAV.

Следовать за набором waypoints:

  1. Создайте uavWaypointFollower объект и набор его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Описание

wpFollowerObj = uavWaypointFollower создает UAV waypoint последователь со свойствами по умолчанию.

wpFollowerObj = uavWaypointFollower(Name,Value) создает UAV waypoint последователь с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

Name имя свойства и Value соответствующее значение. Name должен появиться в одинарных кавычках (''). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

Свойства

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

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их и release функция разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

Тип UAV, заданного как любой 'fixed-wing' или 'multirotor'.

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

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

Набор waypoints для UAV, чтобы следовать, заданный как n-by-3 матрица [x y z] векторы в метрах.

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

Угол отклонения от курса для каждого waypoint, заданного как скаляр или n - вектор-столбец элемента в радианах. Скаляр применяется к каждому waypoint в Waypoints. Вход [] сохраняет отклонение от курса выровненным с желаемым заголовком на основе предварительной точки.

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

Радиус перехода для каждого waypoint, заданного как скаляр или n - вектор элемента в метре. Когда задано как скаляр, этот параметр применяется к каждому waypoint в Waypoints. Когда UAV в радиусе перехода, объектных переходах к следующему следующий сегмент пути между waypoints.

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

Использование

Описание

[lookaheadPoint,desiredHeading,desiredYaw,crossTrackError,status] = wpFollowerObj(currentPose,lookaheadDistance) следует за набором waypoints, заданного в waypoint объекте последователя. Объект занимает текущую позицию и предварительное расстояние, чтобы вычислить предварительную точку на пути. Желаемый заголовок, отклонение от курса и перекрестный дефект записи также основаны на этой предварительной точке по сравнению с текущим положением. status возвращает нуль, пока UAV не переместился по всему waypoints.

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

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

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

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

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

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

Выходные аргументы

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

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

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

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

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

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

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

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

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

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

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

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

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

stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Больше о

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

Ссылки

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

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

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

Введенный в R2018b