dubinsConnection

Тип подключения пути Dubins

Описание

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

  • Прямо

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

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

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

Используйте этот объект связи задать параметры для модели движения робота, включая радиус превращения минимума и опции для типов пути. Чтобы сгенерировать сегмент пути между положениями с помощью этого типа подключения, вызовите 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})

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

dubConnObj = dubinsConnection;

Задайте запускаются, и цель изображает из себя [x y theta] векторы.

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

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

pathSegObj = connect(dubConnObj,startPose,goalPose);

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

show(pathSegObj{1})

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

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

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})

Ссылки

[1] Shkel, Андрей М. и Владимир Лумельский. "Классификация Dubins установила". Робототехника и Автономные системы. Издание 34, № 4, 2001, стр 179–202.

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

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

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

Объекты

Функции

Введенный в R2019b