navPath

Запланированный путь

Описание

navPath пути к объектно-ориентированной памяти, которые обычно создаются геометрическими специалистами по планированию пути. Точки контура хранятся как состояния на пробеле ассоциированной страны.

Создание

Описание

path = navPath создает объект контуров, path, использование пространства состояний SE2 с настройками по умолчанию.

пример

path = navPath(space) создает объект контуров с пространством состояний, заданным space. space введите также устанавливает значение свойства StateSpace.

path = navPath(space,states) позволяет вам инициализировать путь выборками состояния, данными states. Задайте states как матрица выборок состояния. Состояния, которые находятся вне StateBounds из space состояния объект уменьшается до границ. states введите также устанавливает значение свойства Штатов.

Свойства

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

Пространство состояний для пути в виде объекта пространства состояний. Каждое состояние в пути является выборкой от заданного пространства состояний. Можно использовать объекты, такие как stateSpaceSE2, stateSpaceDubins, или stateSpaceReedsShepp как объект пространства состояний. Можно также настроить объект пространства состояний использование nav.StateSpace объект.

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

Состояния пути в виде M с действительным знаком-by-N матрица. M является количеством состояний в пути, и N является размерностью каждого состояния. Можно только установить это свойство во время создания объекта или использования append функция.

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

Количество выборок состояния в пути в виде неотрицательного целого числа. Номер совпадает с количеством строк матрицы состояния, заданной в States свойство.

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

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

appendДобавьте состояния в конец пути
copyСоздайте копию объекта контуров
interpolateИнтерполируйте точки вдоль пути
pathLengthДлина пути

Примеры

свернуть все

Создайте navPath основанное на объектах на нескольких waypoints на пробеле Dubins.

dubinsSpace = stateSpaceDubins([0 25; 0 25; -pi pi])
dubinsSpace = 
  stateSpaceDubins with properties:

   SE2 Properties
                 Name: 'SE2 Dubins'
          StateBounds: [3×2 double]
    NumStateVariables: 3

   Dubins Vehicle Properties
     MinTurningRadius: 1

pathobj = navPath(dubinsSpace)
pathobj = 
  navPath with properties:

    StateSpace: [1×1 stateSpaceDubins]
        States: [0×3 double]
     NumStates: 0

waypoints = [...
    8 10 pi/2;
    10 12 pi/4;
    12 17 pi/2;
    11 10 -pi];
append(pathobj, waypoints);

Интерполируйте тот путь так, чтобы он содержал точно 250 точек.

interpolate(pathobj, 250)

Визуализируйте интерполированный путь и исходный waypoints.

figure;
grid on;
axis equal;
hold on;
plot(pathobj.States(:,1), pathobj.States(:,2), ".b");
plot(waypoints(:,1), waypoints(:,2), "*r", "MarkerSize", 10)

Вычислите длину пути.

len = pathLength(pathobj);
disp("Path length = " + num2str(len))
Path length = 19.37
Введенный в R2019b