exponenta event banner

stateSpaceReedsShepp

Государственное пространство для автомобилей Reeds-Shepp

Описание

stateSpaceReedsShepp объект хранит параметры и состояния в пространстве состояний RealShepp, которое состоит из векторов состояний, представленных [x, y, start]. x и y являются декартовыми координатами, а start- углом ориентации. Пространство состояния Ридса (Reeds-Shepp) имеет нижний предел радиуса поворота (заданный параметром MinTurningRadius свойство в объекте), а также форвардные и обратные затраты (указанные ForwardCost и ReverseCost свойства в объекте) для перехода между состояниями.

Создание

Описание

пример

space = stateSpaceReedsShepp создает объект пространства состояния Reeds-Shepp с границами состояния по умолчанию для x, y и

sapce = stateSpaceReedsShepp(bounds) задает bounds для x, y и Значения состояния за пределами границ усекаются до границ. Вход, boundsзадает значение свойства StateBounds.

Свойства

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

Имя пространства состояний, указанное как строка.

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

Размерность пространства состояний, заданная как положительное целое число.

Границы переменных состояния, заданные как вещественная матрица 3 на 2.

  • Первая строка указывает нижнюю и верхнюю границы для состояния x в метрах.

  • Вторая строка указывает нижнюю и верхнюю границы для состояния y в метрах.

  • В третьей строке задаются нижние и верхние границы для состояния startв радианах.

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

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

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

Множитель затрат для обратного движения, заданный как положительный скаляр. Увеличение затрат на штрафование обратного движения.

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

copyСоздание глубокой копии государственного космического объекта
distanceРасстояние между двумя состояниями
enforceStateBoundsУменьшить состояние до границ состояний
interpolateИнтерполяция между состояниями
sampleGaussianВыборочное состояние с использованием распределения по Гауссу
sampleUniformОбразец состояния с использованием равномерного распределения

Примеры

свернуть все

Создайте пространство состояния ReadingShepp.

ss = stateSpaceReedsShepp;

Создание occupanyMap- средство проверки состояния на основе созданного пространства состояний.

sv = validatorOccupancyMap(ss);

Создайте карту занятия из примера карты и установите разрешение карты 10 ячеек/метр.

load exampleMaps
map = occupancyMap(simpleMap,10);
sv.Map = map;

Задайте расстояние проверки для средства проверки.

sv.ValidationDistance = 0.01;

Обновите границы пространства состояний так, чтобы они совпадали с границами карты.

ss.StateBounds = [map.XWorldLimits;map.YWorldLimits; [-pi pi]];

Создайте планировщик пути и увеличьте максимальное расстояние соединения.

planner = plannerRRT(ss,sv);
planner.MaxConnectionDistance = 0.3;

Задайте начальное и целевое состояния.

start = [0.5,0.5,0];
goal = [2.5,0.2,0];

Планирование пути с параметрами по умолчанию.

rng(100,'twister'); % repeatable result
[pthObj,solnInfo] = planner.plan(start,goal);

Визуализация результатов.

show(map); 
hold on;
plot(solnInfo.TreeData(:,1),solnInfo.TreeData(:,2),'.-'); % tree expansion
plot(pthObj.States(:,1), pthObj.States(:,2),'r-','LineWidth',2) % draw path

Figure contains an axes. The axes with title Occupancy Grid contains 3 objects of type image, line.

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

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

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