connect

Соедините положения с БПЛА Dubins соединительный путь

Описание

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

пример

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

Примеры

свернуть все

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

Вычисление всех возможных сегментов контура

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

connectionObj = uavDubinsConnection;

Задайте начальное и целевое положения как [x, y, z, 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

Figure contains an axes. The axes contains 24 objects of type patch, line. These objects represent Path, Transition Position, Start Position, Goal Position.

Motion Type: L S L N
Path Cost: 214.332271

Figure contains an axes. The axes contains 24 objects of type patch, line. These objects represent Path, Transition Position, Start Position, Goal Position.

Motion Type: R S R N
Path Cost: 214.332271

Figure contains an axes. The axes contains 24 objects of type patch, line. These objects represent Path, Transition Position, Start Position, Goal Position.

Motion Type: R L R N
Path Cost: 138.373157

Figure contains an axes. The axes contains 24 objects of type patch, line. These objects represent Path, Transition Position, Start Position, Goal Position.

Motion Type: L R L N
Path Cost: 138.373157

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

свернуть все

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

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

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

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

The start и goal Входы положение могут быть любыми из следующих комбинаций:

  • Одно начальное положение с одним целевым положением.

  • Несколько стартовых положений с одним целевым положением.

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

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

Положение цели БПЛА в конце сегмента контура, определенного как числовой вектор с четырьмя элементами или матрица [x, y, z, headingAngle].

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

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

The start и goal Входы положение могут быть любыми из следующих комбинаций:

  • Одно начальное положение с одним целевым положением.

  • Несколько стартовых положений с одним целевым положением.

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

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

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

свернуть все

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

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

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

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

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

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

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

.
Введенный в R2019b