exponenta event banner

интерполировать

Интерполяция позиций вдоль сегмента траектории

Описание

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

пример

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

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

Примеры

свернуть все

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

dubConnObj = dubinsConnection;

Определить начало и цель как [x y theta] векторы.

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

Вычислите допустимый сегмент пути для соединения поз.

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

Отображение созданного пути.

show(pathSegObj{1})

Figure contains an axes. The axes contains 12 objects of type line, scatter. These objects represent Path, Start Position, Goal Position.

Интерполяция позирует вдоль пути. Получайте позу каждые 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)

Figure contains an axes. The axes contains an object of type quiver.

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

свернуть все

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

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

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

свернуть все

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

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

x и y в метрах. Λ находится в радианах.

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

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

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

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