interpolate

Интерполируйте положения вдоль сегмента пути

Описание

poses = interpolate(pathSeg) интерполирует вдоль сегмента пути при переходах между типами движения.

пример

poses = interpolate(pathSeg,lengths) интерполирует вдоль сегмента пути в заданных длинах вдоль пути. Переходы между типами движения всегда включаются.

[poses,directions] = interpolate(___) также возвращает направление движения вдоль пути для каждого раздела как вектор 1 с (вперед) и –1s (противоположное) использование предыдущих входных параметров.

Примеры

свернуть все

Создайте dubinsConnection объект.

dubConnObj = dubinsConnection;

Задайте запускаются, и цель изображает из себя [x y theta] векторы.

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

Вычислите допустимый сегмент пути, чтобы соединить положения.

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

Покажите сгенерированный путь.

show(pathSegObj{1})

Интерполируйте положения вдоль пути. Получите положение через каждые 0,2 метра, включая переходы между поворотами.

length = pathSegObj{1}.Length;
poses = interpolate(pathSegObj{1},0:0.2:length)
poses = 32×3

         0         0         0
    0.1987   -0.0199    6.0832
    0.3894   -0.0789    5.8832
    0.5646   -0.1747    5.6832
    0.7174   -0.3033    5.4832
    0.8309   -0.4436    5.3024
    0.8418   -0.4595    5.3216
    0.9718   -0.6110    5.5216
    1.1293   -0.7337    5.7216
    1.3081   -0.8226    5.9216
      ⋮

Используйте quiver функционируйте, чтобы построить эти положения.

quiver(poses(:,1),poses(:,2),cos(poses(:,3)),sin(poses(:,3)),0.5)

Error using matlab.internal.editor.figure.SerializedFigureState/serialize (line 213)
Error while evaluating Figure SizeChangedFcn.

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

свернуть все

Сегмент пути, заданный как dubinsPathSegment или reedsSheppPathSegment объект.

Длины вдоль пути для интерполяции, заданные как положительный числовой вектор. Например, задайте [0:0.1:pathSegObj{1}.Length] интерполировать на уровне каждого 0,1 метров вдоль пути. Переходы между типами движения всегда включаются.

Выходные аргументы

свернуть все

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

Интерполированные положения вдоль сегмента пути, заданного как [x, y, Θ] матрица. Каждая строка матрицы соответствует другому интерполированному положению вдоль пути.

x и y исчисляются в метрах. Θ исчисляется в радианах.

Направления движения для каждого сегмента интерполированного пути, заданные как вектор на 1с (вперед) и –1с (назад).

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

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

Функции

Объекты

Введенный в R2019b