exponenta event banner

dubinsConnection

Тип соединения пути Dubins

Описание

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

  • Прямо

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

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

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

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

Создание

Описание

пример

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

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

Свойства

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

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

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

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

Тип движенияОписание
"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++ с помощью MATLAB ® Coder™

.

См. также

Объекты

Функции

Представлен в R2019b