poseplot

3-D график положения

Описание

пример

poseplot строит положение (положение и ориентация) в координатном положении источника с нулевым вращением. Система координат навигации по умолчанию является северо-востоком вниз (NED) система координат.

пример

poseplot(quat) строит положение с ориентацией, заданной кватернионом quat. Положением по умолчанию является [0 0 0].

пример

poseplot(R) строит положение с ориентацией, заданной матрицей вращения R. Положением по умолчанию является [0 0 0].

пример

poseplot(___,position) задает положение графика положения.

poseplot(___,frame) задает систему координат навигации графика положения.

пример

poseplot(___,Name=Value) задает свойства исправления положения с помощью одних или нескольких аргументов name-value. Например, poseplot(PatchFaceColor="r") строит положение с красным цветом поверхности. Для списка свойств смотрите PosePatch Properties.

poseplot(ax,___) задает родительские оси графика положения.

пример

p = poseplot(___) возвращает PosePatch объект. Используйте p изменить свойства закрашенной фигуры положения после создания. Для списка свойств смотрите PosePatch Properties.

Примеры

свернуть все

Постройте положение по умолчанию с помощью poseplot функция с настройками по умолчанию.

poseplot
xlabel("North-x (m)")
ylabel("East-y (m)")
zlabel("Down-z (m)");

Figure contains an axes object. The axes object is empty.

Затем постройте положение с заданной ориентацией и положением.

q = quaternion([35 10 50],"eulerd","ZYX","frame");
position = [1 1 1];
poseplot(q,position)

Figure contains an axes object. The axes object is empty.

Затем постройте второе положение на фигуре и возвратите PosePatch объект. Постройте второе положение с меньшим размером при помощи ScaleFactor аргумент значения имени.

hold on
p = poseplot(eye(3),[5 5 5],ScaleFactor=0.5)
p = 
  PosePatch with properties:

    Orientation: [3x3 double]
       Position: [5 5 5]

  Show all properties

legend("First Pose","Second Pose")
hold off

Figure contains an axes object. The axes object is empty. These objects represent First Pose, Second Pose.

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

ps = [0 0 0];
pf = [10 0 0];

Затем задайте начальные и итоговые ориентации с помощью quaternion объект.

qs = quaternion([45,0,0],'eulerd','ZYX','frame');
qf = quaternion([-45,0,0],'eulerd','ZYX','frame');

Покажите стартовое положение.

patch = poseplot(qs,ps);
ylim([-2 2])
xlim([-2 12])
xlabel("North-x (m)")
ylabel("East-y (m)")
zlabel("Down-z (m)");

Figure contains an axes object. The axes object is empty.

Меняйте положение и ориентацию постоянно с помощью коэффициентов, и обновляйте положение с помощью set объектная функция.

for coeff = 0:0.01:1
    q = slerp(qs,qf,coeff);
    position = ps + (pf - ps)*coeff;
    set(patch,Orientation=q,Position=position); 
    drawnow
end

Figure contains an axes object. The axes object is empty.

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

poseplot(ones("quaternion"),[0 0 0],MeshFileName="groundvehicle.stl",ScaleFactor=0.3);
xlabel("North-x (m)")
ylabel("East-y (m)")
zlabel("Down-z (m)")

Figure contains an axes object. The axes object is empty.

Во-вторых, постройте ротор в положении [20 20 -20] с нулевым вращением.

hold on
poseplot(ones("quaternion"),[20 20 -20],MeshFileName="multirotor.stl",ScaleFactor=0.2);

Figure contains an axes object. The axes object is empty.

Наконец, постройте самолет с неподвижным крылом в положении [5 5 -40] с нулевым вращением.

poseplot(ones("quaternion"),[5 5 -40],MeshFileName="fixedwing.stl",ScaleFactor=0.4);
view([-37.8 28.4])
hold off

Figure contains an axes object. The axes object is empty.

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

свернуть все

Кватернион в виде quaternion объект.

Матрица вращения в виде 3х3 ортонормированной матрицы.

Пример: eye(3)

Положение положения строит в виде трехэлементного вектора с действительным знаком.

Пример: [1 3 4]

Система координат навигации положения строит в виде "NED" для северо-восточной вниз системы координат или "ENU" для системы координат "восточный север".

Когда родительским состоянием осей является hold off, определение системы координат навигации NED инвертирует y-и оси z на рисунке путем установки YDir и ZDir свойства родительских осей.

Родительские оси положения строят в виде Axes объект. Если вы не задаете оси, poseplot функционируйте использует текущую систему координат.

Аргументы name-value

Задайте дополнительные пары аргументов как Name1=Value1,...,NameN=ValueN, где Name имя аргумента и Value соответствующее значение. Аргументы name-value должны появиться после других аргументов, но порядок пар не имеет значения.

Пример: poseplot(PatchFaceAlpha=0.1)

PosePatch свойства, перечисленные здесь, являются только подмножеством. Для полного списка смотрите PosePatch Properties.

Ориентация положения строит в виде quaternion Объект (Sensor Fusion and Tracking Toolbox) или матрица вращения.

Положение положения строит в виде трехэлементного вектора с действительным знаком.

Имя Стандартного треугольного языка (STL) поймало в сети файл в виде строкового скаляра или вектора символов, содержащего имя файла mesh. Когда вы задаете этот аргумент, poseplot графики функций mesh вместо поля ориентации.

Масштабный коэффициент положения строит в виде неотрицательного скаляра. Масштабный коэффициент управляет размером поля ориентации. Когда вы задаете MeshFileName аргумент, масштабный коэффициент также изменяет шкалу mesh.

Исправьте цвет поверхности в виде триплета RGB, шестнадцатеричного цветового кода, названия цвета или краткого названия.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0, 1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша (#) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F. Значения не являются чувствительными к регистру. Таким образом, цветовые коды "#FF8800", "#ff8800", "#F80", и "#f80" эквивалентны.

Вот список обычно используемых цветов и их соответствующих значений.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

Исправьте прозрачность поверхности в виде скаляра в области значений [0, 1]. Значение 1 полностью непрозрачно и 0 абсолютно прозрачно.

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

свернуть все

Изложите объект закрашенной фигуры, возвращенный как PosePatch объект. Можно использовать возвращенный объект, чтобы запросить и изменить свойства нанесенного на график положения. Для списка свойств смотрите PosePatch Properties.

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

Введенный в R2021b
Для просмотра документации необходимо авторизоваться на сайте