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

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

Описание

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

  • Прямо

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

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

Создание

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

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

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Левый поворот под максимальным руководящим углом автомобиля

"R"

Правый поворот под максимальным руководящим углом автомобиля

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

dubConnObj = robotics.DubinsConnection;

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

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

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

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

Покажите сгенерированный путь.

show(pathSegObj{1})

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

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

Введенный в R2018b