робототехника. ReedsSheppPathSegment

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

Описание

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

  • Прямо

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

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

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

Создание

Чтобы сгенерировать объект ReedSheppPathSegment, используйте функцию connect с объектом robotics.ReedsSheppConnection:

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

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

reedsPathSegObj = robotics.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 = robotics.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™.

Введенный в R2018b

Для просмотра документации необходимо авторизоваться на сайте