exponenta event banner

reedsSheppConnection

Тип соединения пути Reeds-Shepp

Описание

reedSheppConnection объект содержит информацию для вычисления reedsSheppPathSegment объект для соединения между позами. Сегмент пути Reeds-Shepp соединяет две позы как последовательность из пяти движений. Опции движения:

  • Прямо

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

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

  • Без движения

Сегмент пути Reeds-Shepp поддерживает как движение вперед, так и назад.

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

Создание

Описание

пример

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

пример

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

Свойства

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

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

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

Отключенные типы путей, определяемые как вектор строковых скаляров или массив ячеек символьных векторов.

Тип движенияОписание
"Sp","Sn"Прямой (p = вперед, n = обратный)
"Lp","Ln"

Поворот влево на максимальный угол поворота транспортного средства (p = вперед, n = обратный)

"Rp","Rn"

Поворот вправо на максимальный угол поворота транспортного средства (p = вперед, n = обратный)

"N"Без движения

Если сегмент траектории имеет менее пяти типов движения, остальные элементы: "N" (без движения).

Для просмотра всех доступных типов путей см. AllPathTypes собственность.

Пример: ["LpSnLp","LnSnRpSn","LnSnRpSnLp"]

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

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

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

Для соединений Reeds-Shepp существует 44 возможных комбинации типов движения.

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

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

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

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

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

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

connectПозы подключения для данного типа соединения

Примеры

свернуть все

Создать reedsSheppConnection объект.

reedsConnObj = reedsSheppConnection;

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

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

Вычислите допустимый сегмент пути для соединения поз.

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

Отображение созданного пути.

show(pathSegObj{1})

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

Создать reedsSheppConnection объект.

reedsConnObj = reedsSheppConnection;

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

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

Вычислите допустимый сегмент пути для соединения поз.

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

Отображение созданного пути. Обратите внимание на направление поворотов.

show(pathSegObj{1})

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

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

pathSegObj{1}.MotionDirections
ans = 1×5

     1    -1     1     1     1

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

reedsConnObj = reedsSheppConnection('DisabledPathTypes',{'LpRnLp'});
reedsConnObj.MinTurningRadius = 0.5;
reedsConnObj.ReverseCost = 5;

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

show(pathSegObj{1})
xlim([0 1.5])
ylim([0 1.5])

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

Объекты

Функции

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