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

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

Описание

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

  • Прямо

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

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

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

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

Создание

Синтаксис

dubConnObj = robotics.DubinsConnection
dubConnObj = robotics.DubinsConnection(Name,Value)

Описание

пример

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

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

Свойства

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

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

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

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

Допустимые значения:

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

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

"R"

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

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

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

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

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

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

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

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

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

connectСоедините положения для данного типа подключения

Примеры

свернуть все

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

dubConnObj = robotics.DubinsConnection;

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

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

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

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

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

show(pathSegObj{1})

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

dubConnObj = robotics.DubinsConnection;

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

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

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

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

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

show(pathSegObj{1})

pathSegObj{1}.MotionTypes
ans = 1×3 cell array
    {'R'}    {'L'}    {'R'}

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

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

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

show(pathSegObj{1})

Ссылки

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

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

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

Введенный в R2018b