interpolate

Интерполируйте точки вдоль пути

Синтаксис

Описание

пример

interpolate(path,numStates) вставляет много состояний в путь и гарантирует распределение всех точек в пути, чтобы быть универсальным. Функция сохраняет все существующие состояния в пути. Значение numStates должен быть больше или быть равен количеству существующих состояний в пути.

Примеры

свернуть все

Создайте 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

Входные параметры

свернуть все

Объект контуров в виде navPath объект.

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

Количество состояний вставляется в путь в виде неотрицательного целого числа. Его значение должно быть больше или быть равно количеству существующих состояний в пути.

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

Смотрите также

Введенный в R2019b