connect

Соедините положения с UAV путь к связи Dubins

Описание

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

пример

[pathSegObj,pathCost] = connect(connectionObj,start,goal,'PathSegments','all') возвращает все возможные сегменты пути как массив ячеек с их связанными затратами.

Примеры

свернуть все

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

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

connectionObj = uavDubinsConnection;

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

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

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

[pathSegObj,pathCosts] = connect(connectionObj,startPose,goalPose,'PathSegments','all');

Проверяйте валидность всех возможных сегментов пути и отобразите допустимые пути наряду с их типом движения и стоимостью пути.

for i = 1:length(pathSegObj)
    if ~isnan(pathSegObj{i}.Length)
        figure
        show(pathSegObj{i})
        fprintf('Motion Type: %s\nPath Cost: %f\n',strjoin(pathSegObj{i}.MotionTypes),pathCosts(i));
    end 
end

Motion Type: L S L N
Path Cost: 214.332271

Motion Type: R S R N
Path Cost: 214.332271

Motion Type: R L R N
Path Cost: 138.373157

Motion Type: L R L N
Path Cost: 138.373157

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

свернуть все

Тип подключения пути, заданный как uavDubinsConnection объект. Этот объект задает параметры связи.

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

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

Положение следует за северо-восточной вниз системой координат.

start и goal позируйте входные параметры могут быть любой из этих комбинаций:

  • Одно положение запуска с одним целевым положением.

  • Несколько запускают положения с одного целевого положения.

  • Одно положение запуска с несколькими целевыми положениями.

  • Несколько запускают положения с нескольких целевых положений.

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

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

Положение следует за северо-восточной вниз системой координат.

start и goal позируйте входные параметры могут быть любой из этих комбинаций:

  • Одно положение запуска с одним целевым положением.

  • Несколько запускают положения с одного целевого положения.

  • Одно положение запуска с несколькими целевыми положениями.

  • Несколько запускают положения с нескольких целевых положений.

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

свернуть все

Сегменты пути, возвращенные как массив ячеек uavDubinsPathSegment объекты. Тип объекта зависит от входа connectionObj. Размер массива ячеек зависит от того, используете ли вы один или несколько start и goal положения.

По умолчанию функция возвращает путь с самой низкой ценой для каждого start и goal положение.

При вызове connect функция с помощью 'PathSegments','all' пара "имя-значение", массив ячеек содержит все допустимые сегменты пути между заданным start и goal положения.

Стоимость сегментов пути, возвращенных или в виде положительного числа, вектора или в виде матрицы. Каждый элемент вектора стоимости соответствует сегменту пути в pathSegObj.

По умолчанию функция возвращает путь с самой низкой ценой для каждого start и goal положение.

Введенный в R2019b