dubinsPathSegment

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

Описание

The dubinsPathSegment объект содержит информацию для сегмента контура Дубинса, который соединяет два положения как последовательность из трех движений. Опции движения:

  • Прямо

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

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

Создание

Чтобы сгенерировать dubinsPathSegment объект, использовать connect функция со dubinsConnection объект:

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

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

dubPathSeg = dubinsPathSegment(connectionObj,start,goal,motionLengths,motionTypes) задает тип соединения Dubins, начальное и целевое положения, а также соответствующие длины и типы движения. Эти значения заданы в соответствующих свойствах объекта.

Свойства

расширить все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тип движенияОписание
"S"Прямо
"L"

Поворот влево при максимальном угле поворота транспортного средства

"R"

Поворот вправо под максимальным углом поворота транспортного средства

Каждый тип движения соответствует длине движения, заданной в MotionLengths.

Для соединений Dubins доступные типы путей: {"LSL"} {"LSR"} {"RSL"} {"RSR"} {"RLR"} {"LRL"}.

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

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

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

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

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

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

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

Примеры

свернуть все

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

dubConnObj = dubinsConnection;

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

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

Вычислите допустимый сегмент контура, чтобы соединить положения.

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

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

show(pathSegObj{1})

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

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

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

.

См. также

Объекты

Функции

Введенный в R2019b