uavDubinsPathSegment

Сегмент пути Dubins, соединяющий два положения UAV

Описание

uavDubinsPathSegment объект содержит информацию для сегмента пути Dubins, который подключения запускают и целевые положения UAV как последовательность движений в северо-восточной вниз системе координат.

Опции движения:

  • Прямо

  • Левый поворот (против часовой стрелки)

  • Правый поворот (по часовой стрелке)

  • Спиральный левый поворот (против часовой стрелки)

  • Спиральный правый поворот (по часовой стрелке)

  • Никакое движение

Направление поворота задано, как просматривается от верхней части UAV. Спиральные движения используются, чтобы возрасти или убывать.

Создание

Описание

Сгенерировать uavDubinsPathSegment объект, используйте connect функция с uavDubinsConnection объект:

pathSegObj = connect(connectionObj,start,goal) соединяет запуск и целевые положения с помощью заданного uavDubinsConnection объект. start и goal входные параметры устанавливают значение свойств StartPose и GoalPose, соответственно.

В частности задавать сегмент пути:

pathSegObj = uavDubinsPathSegment(connectionObj,start,goal) создает сегмент пути Dubins, чтобы соединиться, запускаются и целевые положения UAV. uavDubinsConnection объект обеспечивает радиус превращения минимума и угол курса полета. Это внутренне вычисляет оптимальный путь и присваивает его pathSegObj.

пример

pathSegObj = uavDubinsPathSegment(connectionObj,start,goal,motionTypes) создает сегмент пути Dubins, чтобы соединиться, запускаются и целевые положения UAV с данным motionTypes. motionTypes введите устанавливает значение свойства MotionTypes.

pathSegObj = uavDubinsPathSegment(start,goal,flightPathAngle,airSpeed,minTurningRadius,helixRadius,motionTypes,motionLengths) создает сегмент пути Dubins, чтобы соединиться, запускаются и целевые положения UAV путем явного определения всех параметров. Входные значения установлены в свои соответствующие свойства в объекте.

Свойства

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

Это свойство доступно только для чтения.

Начальное положение UAV в начале сегмента пути, заданного как четырехэлементный числовой вектор [x, y, z, headingAngle].

x, y и z задают положение в метрах. headingAngle задает направляющийся угол в радианах.

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

Это свойство доступно только для чтения.

Целевое положение UAV в конце сегмента пути, заданного как четырехэлементный числовой вектор [x, y, z, headingAngle].

x, y и z задают положение в метрах. headingAngle задает направляющийся угол в радианах.

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

Это свойство доступно только для чтения.

Радиус превращения минимума UAV, заданного в виде положительного числа в метрах. Это значение соответствует радиусу круга в максимальном углу вращения и постоянной скорости полета UAV.

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

Это свойство доступно только для чтения.

Спиральный радиус пути UAV, заданного в виде положительного числа в метрах.

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

Это свойство доступно только для чтения.

Угол курса полета UAV, чтобы достигнуть целевой высоты, заданной в виде положительного числа в радианах.

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

Это свойство доступно только для чтения.

Скорость полета UAV, заданного в виде положительного числа в m/s.

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

Это свойство доступно только для чтения.

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

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

Это свойство доступно только для чтения.

Тип каждого движения в сегменте пути, заданном как трехэлементный массив ячеек строки.

Тип движенияОписание
"S"

Прямо

"L"

Левый поворот (против часовой стрелки)

"R"

Правый поворот (по часовой стрелке)

"Hl"

Спиральный левый поворот (против часовой стрелки)

"Hr"

Спиральный правый поворот (по часовой стрелке)

"N"

Никакое движение

Примечание

Никакой сегмент "N" движения используется в качестве заполнителя в конце, когда только три сегмента пути необходимы.

Каждый тип движения соответствует продолжительности движения, заданной в свойстве MotionLengths.

Для UAV связи Dubins доступные типы пути: {'LSLN'} {'LSRN'} {'RSLN'} {'RSRN'} {'RLRN'} {'LRLN'} {'HlLSL'} {'HlLSR'} {'HrRSL'} {'HrRSR'} {'HrRLR'} {'HlLRL'} {'LSLHl'} {'LSRHr'} {'RSLHl'} {'RSRHr'} {'RLRHr'} {'LRLHl'} {'LRSL'} {'LRSR'} {'LRLR'} {'RLSR'} {'RLRL'} {'RLSL'} {'LSRL'} {'RSRL'} {'LSLR'} {'RSLR'}.

Пример: {'L','R','L','N'}

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

Это свойство доступно только для чтения.

Длина сегмента пути или курса полета, заданного в виде положительного числа в метрах. Эта длина является суммой элементов в векторе MotionLengths.

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

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

interpolateИнтерполируйте положения вдоль UAV сегмент пути Dubins
showВизуализируйте UAV сегмент пути Dubins

Примеры

свернуть все

В этом примере показано, как вычислить сегмент пути Dubins UAV и положения подключения с помощью uavDubinsConnection объект для заданного типа движения.

Создайте uavDubinsConnection объект.

connectionObj = uavDubinsConnection;

Задайте запускаются, и цель изображает из себя [xYZ, headingAngleВекторы.

startPose = [0 0 0 0]; % [meters, meters, meters, radians]
goalPose = [0 0 20 pi];

Вычислите допустимый сегмент пути и соедините положения для заданного типа движения.

pathSegObj = uavDubinsPathSegment(connectionObj,startPose,goalPose,{'L','S','L','N'});

Покажите сгенерированный путь.

show(pathSegObj)

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

fprintf('Motion Type: %s\n',strjoin(pathSegObj.MotionTypes));
Motion Type: L S L N

Смотрите также

|

Введенный в R2019b