reedsSheppPathSegment

Сегмент пути тростников-Shepp, соединяющий два положения

Описание

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

  • Прямо

  • Левый поворот в максимуме держится

  • Правый поворот в максимуме держится

  • Никакое перемещение

Создание

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

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

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"R"

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

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

Если сегмент пути имеет меньше чем пять типов движения, остающимися элементами является "N" (никакое движение).

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

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

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

Направление каждого движения в сегменте пути, заданном как вектор с пятью элементами 1 с (движение вперед) и –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})

Ссылки

[1] Тростники, J. A. и Л. А. Шепп. "Оптимальные Пути для Автомобиля, Который Идет И Вперед и Назад". Тихоокеанский Журнал Математики. Издание 145, Номер 2, 1990, стр 367–393.

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

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

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

Объекты

Функции

Введенный в R2019b