exponenta event banner

plotTrajectory

Печать набора траекторий в плоттере траекторий

Описание

пример

plotTrajectory(trajPlotter,trajCoordList) задает траектории для отображения в плоттере траектории, trajPlotter. Входной аргумент trajCoordList - массив ячеек M-by-3 матриц, где M - количество точек на траектории. Каждая матрица в trajCoordList может иметь разное количество строк. Первый, второй и третий столбцы каждой матрицы соответствуют координатам x, y и z кривой через M точек, которые представляют соответствующую траекторию.

Примеры

свернуть все

В этом примере показано, как создать анимацию платформы, движущейся по траектории.

Сначала создайте trackingScenario и добавьте ППМ для траектории.

ts = trackingScenario;
height = 100;
d = 1;
wayPoints = [ ...
    -30   -25   height;
    -30    25-d height;
    -30+d  25   height;
    -10-d  25   height;
    -10    25-d height;
    -10   -25+d height;
    -10+d -25   height;
    10-d -25   height;
    10   -25+d height;
    10    25-d height;
    10+d  25   height;
    30-d  25   height;
    30    25-d height;
    30   -25+d height;
    30   -25   height];

Укажите время для каждого ППМ.

elapsedTime = linspace(0,10,size(wayPoints,1));

Затем создайте платформу в сценарии отслеживания и добавьте информацию о траектории с помощью trajectory способ.

target = platform(ts);
traj = waypointTrajectory('Waypoints',wayPoints,'TimeOfArrival',elapsedTime);
target.Trajectory = traj;

Запишите сценарий отслеживания, чтобы получить траекторию платформы.

r = record(ts);
pposes = [r(:).Poses];
pposition = vertcat(pposes.Position);

Создайте график кинотеатра для отображения записанной траектории.

tp = theaterPlot('XLim',[-40 40],'YLim',[-40 40]);
trajPlotter = trajectoryPlotter(tp,'DisplayName','Trajectory');
plotTrajectory(trajPlotter,{pposition})

Figure contains an axes. The axes contains an object of type line. This object represents Trajectory.

Анимация с помощью platformPlotter.

restart(ts);
trajPlotter = platformPlotter(tp,'DisplayName','Platform');

while advance(ts)
    p = pose(target,'true');
    plotPlatform(trajPlotter, p.Position);
    pause(0.1)
    
end

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Trajectory, Platform.

Эта анимация проходит через все созданные графики.

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

свернуть все

Плоттер траектории, указанный как trajectoryPlotter объект.

Координаты показываемых траекторий, задаваемые как массив ячеек M-by-3 матриц, где М - количество точек на траектории. Каждая матрица в trajCoordList может иметь разное количество строк. Первый, второй и третий столбцы каждой матрицы соответствуют координатам x, y и z кривой через M точек, которые представляют соответствующую траекторию.

Пример: coordList = {[1 2 3; 4 5 6; 7,8,9];[4 2 1; 4 3 1];[4 4 4; 3 1 2; 9 9 9; 1 0 2]} задает три различные траектории.

Представлен в R2018b