plotOrientation

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

Описание

пример

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

plotOrientation(oPlotter,roll,pitch,yaw) указывает, что ориентации M возражают, чтобы показать для плоттера ориентации, oPlotter. Аргументы rollТангаж, и 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 создать косвенный фильтр cочетания датчиков Кальмана из данных.

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

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent Fused Data, x-Fused Data, y-Fused Data, z-Fused Data.

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

свернуть все

Плоттер ориентации в виде 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