navPath

Описание

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

Создание

Описание

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

пример

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

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

Свойства

расширить все

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

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)

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

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