dubinsConnection

Тип соединения пути Дубинса

Описание

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

  • Прямо

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

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

Сегмент контура Дубинса допускает движение только в прямом направлении.

Используйте этот объект соединения для определения параметров для модели движения робота, включая минимальный радиус поворота и опции для типов путей. Чтобы сгенерировать сегмент контура между положениями, используя этот тип соединения, вызовите connect функция.

Создание

Описание

пример

dubConnObj = dubinsConnection создает объект с использованием значений свойств по умолчанию.

dubConnObj = dubinsConnection(Name,Value) задает значения свойств, используя пары "имя-значение". Чтобы задать несколько свойств, задайте несколько пары "имя-значение".

Свойства

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

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

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

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

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

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

"R"

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

Чтобы увидеть все доступные типы путей, смотрите AllPathTypes свойство.

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

Пример: ["LSL","LSR"]

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

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

Все возможные типы путей, возвращенные как массив ячеек из векторов символов. В этом свойстве перечислены все типы. Чтобы отключить определенные типы, задайте типы из этого списка в DisabledPathTypes.

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

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

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

connectСоедините положения для данного типа соединения

Примеры

свернуть все

Создайте 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.

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

dubConnObj = dubinsConnection;

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

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

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

pathSegObj = 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.

pathSegObj{1}.MotionTypes
ans = 1x3 cell
    {'R'}    {'L'}    {'R'}

Отключите эту последовательность движения в новом объекте соединения. Уменьшите MinTurningRadius если робот более маневренен. Соедините положения снова, чтобы получить другой путь.

dubConnObj = dubinsConnection('DisabledPathTypes',{'RLR'});
dubConnObj.MinTurningRadius = 0.5;

[pathSegObj, pathCosts] = connect(dubConnObj,startPose,goalPose);
pathSegObj{1}.MotionTypes
ans = 1x3 cell
    {'L'}    {'S'}    {'L'}

show(pathSegObj{1})

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

Ссылки

[1] Шкель, Андрей М., и Владимир Лумельский. Классификация набора Дубинса. Робототехника и автономные системы. Том 34, № 4, 2001, стр. 179-202.

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

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

.

См. также

Объекты

Функции

Введенный в R2019b