orientationPlotter

Создайте плоттер ориентации

Синтаксис

oPlotter = orientationPlotter(tp)
oPlotter = orientationPlotter(tp,Name,Value)

Описание

oPlotter = orientationPlotter(tp) создает плоттер ориентации для использования с театральным графиком tp.

пример

oPlotter = orientationPlotter(tp,Name,Value) создает плоттер ориентации с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

Примеры

свернуть все

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

Загрузите 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

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

свернуть все

Театральный график, заданный как объект theaterPlot.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'HistoryDepth',6

Постройте имя, чтобы отобразиться в легенде, заданной как пара, разделенная запятой, состоящая из 'DisplayName' и вектора символов или представить скаляр в виде строки. Если никакое имя не задано, никакую запись не показывают.

Пример: 'DisplayName','Radar Detections'

Количество предыдущей дорожки обновляет к отображению, заданному как пара, разделенная запятой, состоящая из 'HistoryDepth' и неотрицательного целого числа, меньше чем или равного 100. Если установлено в 0, то никакие предыдущие обновления не представляются.

Символ маркера, заданный как пара, разделенная запятой, состоящая из 'Marker' и один из этих символов.

ЗначениеОписание
'+'

Знак «плюс»

'o'

Круг (значение по умолчанию)

'*'

Звездочка

'.'

Точка

'x'

Крест

's' или 'square'

Квадрат

'd' или 'diamond'

Ромб

'v'

Нисходящий треугольник

'^'

Треугольник, направленный вверх

'>'

Треугольник, указывающий вправо

'<'

Треугольник, указывающий влево

'p' или 'pentagram'

Пятиконечная звезда (пентаграмма)

'h' или 'hexagram'

Шестиконечная звезда (гексаграмма)

'none'

Никакой символ маркера

Размер маркера, заданного в точках как пара, разделенная запятой, состоящая из 'MarkerSize' и положительного целого числа.

Цвет контура маркера, заданный как пара, разделенная запятой, состоящая из 'MarkerEdgeColor' и вектора символов, представляет в виде строки скаляр, триплет RGB или шестнадцатеричный цветовой код. Цветом по умолчанию является 'black'.

Цвет контура маркера, заданный как пара, разделенная запятой, состоящая из 'MarkerFaceColor' и вектора символов, скаляра строки, триплета RGB, шестнадцатеричного цветового кода или 'none'. Значением по умолчанию является 'none'.

Размер шрифта для маркировки отслеживает, заданный как пара, разделенная запятой, состоящая из 'FontSize' и положительного целого числа, которое представляет размер точки шрифта.

Разорвите между меткой и позиционной точкой, которую она аннотирует, заданный как пара, разделенная запятой, состоящая из 'LabelOffset' и трехэлементного вектора - строки. Задайте [x y z] смещение в метрах.

Длина строки раньше обозначала каждый локальный x - y - и z - оси данной ориентации, заданной как пара, разделенная запятой, состоящая из 'LocalAxesLength' и положительной скалярной величины. 'LocalAxesLength' исчисляется в метрах.

Пометьте, чтобы сопоставить с плоттером, заданным как пара, разделенная запятой, состоящая из 'Tag' и вектора символов или представить скаляр в виде строки. Значением по умолчанию является 'PlotterN', где N является целым числом, которое соответствует N th плоттер, сопоставленный с theaterPlot.

Теги обеспечивают способ идентифицировать объекты плоттера, например, при поиске использования findPlotter.

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

| | |

Введенный в R2018b