exponenta event banner

reedsSheppPathSegment

Сегмент пути Reeds-Shepp, соединяющий две позы

Описание

reedSheppPathSegment объект содержит информацию для сегмента пути Reeds-Shepp для соединения между позами. Сегмент пути Reeds-Shepp соединяет два представления как последовательность пяти типов движения. Опции движения:

  • Прямо

  • Поворот влево на максимальном руле

  • Поворот вправо при максимальном повороте

  • Без движения

Создание

Для создания reedSheppPathSegment объект, используйте connect функция с reedsSheppConnection объект:

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

Для конкретного определения сегмента пути:

reedsPathSegObj = reedsSheppPathSegment(connectionObj,start,goal,motionLengths,motionTypes) задает тип соединения Reeds-Shepp, начальное и целевое положения, а также соответствующие длины и типы движения. Для этих значений устанавливаются соответствующие свойства объекта.

Свойства

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

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

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

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

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

Начальная поза транспортного средства в начале сегмента пути, определяемая как вектор [x, y, Start]. x и y в метрах. Λ находится в радианах.

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

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

Целевое положение транспортного средства в конце сегмента пути, определяемое как вектор [x, y, Start]. x и y в метрах. Λ находится в радианах.

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

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

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

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

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

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

Тип движенияОписание
"S"Прямой (вперёд, p или обратное, n)
"L"

Поворот влево на максимальный угол поворота транспортного средства (вперед, p или обратное, n)

"R"

Поворот вправо на максимальный угол поворота транспортного средства (вперед, p или обратное, n)

"N"Без движения

Если сегмент траектории имеет менее пяти типов движения, остальные элементы: "N" (без движения).

Пример: {"L","S","R","L","R"}

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

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

Направление каждого движения в сегменте траектории, определяемое как пятиэлементный вектор 1s (движение вперед) и -1s (обратное движение). Каждое направление движения соответствует длине движения, указанной в MotionLengths и тип движения, указанный в MotionTypes.

Когда движения не происходит, то есть когда MotionTypes значение равно "N", то соответствующее MotionDirections элемент - 1.

Пример: [-1 1 -1 1 1]

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

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

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

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

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

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

Примеры

свернуть все

Создать reedsSheppConnection объект.

reedsConnObj = reedsSheppConnection;

Определить начало и цель как [x y theta] векторы.

startPose = [0 0 0];
goalPose = [1 1 pi];

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

[pathSegObj,pathCosts] = connect(reedsConnObj,startPose,goalPose);

Отображение созданного пути.

show(pathSegObj{1})

Figure contains an axes. The axes contains 13 objects of type line, scatter. These objects represent Forward Path, Reverse Path, Start Position, Goal Position.

Ссылки

[1] Тростники, J. A. и Л. А. Шепп. «Оптимальные пути для автомобиля, который идет как вперед, так и назад». Тихоокеанский математический журнал. том 145, номер 2, 1990, стр. 367-393.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

Объекты

Функции

Представлен в R2019b