plotOrientation

Постройте набор ориентаций в плоттере ориентации

Синтаксис

plotOrientation(oPlotter,orientations)
plotOrientation(oPlotter,roll,pitch,yaw)
plotOrientation(oPlotter,___,positions)
plotOrientation(oPlotter,___,positions,labels)

Описание

пример

plotOrientation(oPlotter,orientations) указывает, что ориентации M возражают, чтобы показать для плоттера ориентации, oPlotter. Аргументом orientations может быть или M-by-1 массив кватернионов или 3 3 M массивом матриц вращения.

plotOrientation(oPlotter,roll,pitch,yaw) указывает, что ориентации M возражают, чтобы показать для плоттера ориентации, oPlotter. Аргументами roll, pitch и yaw является M-by-1 векторы, измеренные в градусах.

plotOrientation(oPlotter,___,positions) также задает положения объектов как M-by-3 матрица. Каждый столбец positions соответствует x - y - и z - координаты объектных местоположений, соответственно.

plotOrientation(oPlotter,___,positions,labels) также задает метки как M-by-1 массив ячеек из символьных векторов, которые соответствуют ориентациям M.

Примеры

свернуть все

Этот пример показывает, как анимировать ориентацию колеблющегося устройства.

Загрузите rpy_9axis.mat. Данные в rpy_9axis.mat являются зарегистрированным акселерометром, гироскопом, и данные о датчике магнитометра из устройства, колеблющегося в подаче (вокруг оси Y), затем отклоняются от курса (вокруг оси z), затем прокручиваются (вокруг оси X). Ось X устройства указывала на юг, когда зарегистрировано.

ld = load('rpy_9axis.mat')
ld = struct with fields:
            Fs: 200
    sensorData: [1x1 struct]

Установите частоту дискретизации. Извлеките данные о гироскопе и акселерометр. Установите фактор десятикратного уменьшения на 2. Используйте fuse, чтобы создать косвенный фильтр сплава датчика Кальмана из данных.

accel = ld.sensorData.Acceleration;
gyro = ld.sensorData.AngularVelocity;    
Fs  = ld.Fs;
decim = 2;
fuse = imufilter('SampleRate',Fs,'DecimationFactor',decim);

Получите информацию о положении сплавленных данных.

pose = fuse(accel,gyro);

Создайте театральный график. Добавьте в театральный график плоттер ориентации с набором 'DisplayName' к 'Fused Data' и набором 'LocalAxesLength' к 2.

tp = theaterPlot('XLimit',[-2 2],'YLimit',[-2 2],'ZLimit',[-2 2]);
op = orientationPlotter(tp,'DisplayName','Fused Data',...
    'LocalAxesLength',2);

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

for i=1:numel(pose)
    plotOrientation(op, pose(i))
    drawnow
end

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

свернуть все

Плоттер ориентации, заданный как объект orientationPlotter.

Ориентации объектов M, заданных или как M-by-1 массив кватернионов или как 3 3 M массивом матриц вращения.

Прокрутитесь, сделайте подачу, и углы отклонения от курса, задающие ориентации объектов M, заданных как M-by-1 векторы. Углы измеряются в градусах.

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

Метки объектов, заданные как M-by-1 массив ячеек из символьных векторов, где M является количеством объектов. labels содержит текстовые метки, соответствующие объектам M, заданным в positions. Если labels не использован, никакие метки не построены.

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

| | |

Введенный в R2018b