poseplot
구문
설명
poseplot
은 좌표 원점 위치에서 회전이 0인 자세(위치와 방향)를 플로팅합니다. 디폴트 내비게이션 프레임은 북쪽-동쪽-아래쪽(NED) 프레임입니다.
poseplot(___,
은 자세 플롯의 내비게이션 프레임을 지정합니다. frame
)
poseplot(___,
는 하나 이상의 이름-값 인수를 사용하여 자세 패치 속성을 지정합니다. 예를 들어 Name=Value
)poseplot(PatchFaceColor="r")
은 빨간 면 색으로 자세를 플로팅합니다. 속성의 목록을 보려면 PosePatch Properties 항목을 참조하십시오.
poseplot(
는 자세 플롯의 부모 좌표축을 지정합니다.ax
,___)
은 p
= poseplot(___)PosePatch
객체를 반환합니다. 자세 패치를 생성한 후 속성을 수정하려면 p
를 사용합니다. 속성의 목록을 보려면 PosePatch Properties 항목을 참조하십시오.
예제
poseplot
을 사용하여 자세 시각화하기
poseplot
함수를 디폴트 설정으로 사용하여 디폴트 자세를 플로팅합니다.
poseplot xlabel("North-x (m)") ylabel("East-y (m)") zlabel("Down-z (m)");
이어서 지정된 방향과 위치로 자세를 플로팅합니다.
q = quaternion([35 10 50],"eulerd","ZYX","frame"); position = [1 1 1]; poseplot(q,position)
그런 다음 Figure에 두 번째 자세를 플로팅하고 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] Use GET to show all properties
legend("First Pose","Second Pose") hold off
poseplot
을 사용하여 자세를 애니메이션으로 표시하기
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)");
계수를 사용하여 위치와 방향을 계속 변경하고 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
메시를 사용하여 자세 표시하기
poseplot
함수를 사용하여 메시 표현으로 방향과 위치를 플로팅합니다. 먼저 차량을 회전을 0으로 하여 원점에 플로팅합니다.
poseplot(ones("quaternion"),[0 0 0],MeshFileName="groundvehicle.stl",ScaleFactor=0.3); xlabel("North-x (m)") ylabel("East-y (m)") zlabel("Down-z (m)")
둘째, 회전익 항공기를 회전을 0으로 하여 [20 20 -20]
에 플로팅합니다.
hold on poseplot(ones("quaternion"),[20 20 -20],MeshFileName="multirotor.stl",ScaleFactor=0.2);
마지막으로 고정익 항공기를 회전을 0으로 하여 위치 [5 5 -40]
에 플로팅합니다.
poseplot(ones("quaternion"),[5 5 -40],MeshFileName="fixedwing.stl",ScaleFactor=0.4); view([-37.8 28.4]) hold off
입력 인수
quat
— 쿼터니언
quaternion
객체
쿼터니언으로, quaternion
객체로 지정됩니다.
R
— 회전 행렬
3×3 정규 직교 행렬
회전 행렬로, 3×3 정규 직교 행렬로 지정됩니다.
예: eye(3)
position
— 자세 플롯의 위치
요소를 3개 가진 실수 값 벡터
자세 플롯의 위치로, 요소를 3개 가진 실수 값 벡터로 지정됩니다.
예: [1 3 4]
frame
— 자세 플롯의 내비게이션 프레임
"NED"
(디폴트 값) | "ENU"
자세 플롯의 내비게이션 프레임으로, 북쪽-동쪽-아래쪽 프레임의 경우 "NED"
또는 동쪽-북쪽-위쪽 프레임의 경우 "ENU"
로 지정됩니다.
부모 좌표축 상태가 hold off
일 때 NED 내비게이션 프레임을 지정하면 부모 좌표축의 YDir
속성과 ZDir
속성이 설정되어 Figure에서 y축과 z축이 반대가 됩니다.
ax
— 자세 플롯의 부모 좌표축
Axes
객체
자세 플롯의 부모 좌표축으로, Axes
객체로 지정됩니다. 좌표축을 지정하지 않으면 poseplot
함수는 현재 좌표축을 사용합니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: poseplot(PatchFaceAlpha=0.1)
여기에 나열된 PosePatch
속성은 일부일 뿐입니다. 전체 목록을 보려면 PosePatch Properties를 참조하십시오.
Orientation
— 자세 플롯의 방향
quaternion
객체 (디폴트 값) | 회전 행렬
자세 플롯의 방향으로, quaternion
(Sensor Fusion and Tracking Toolbox) 객체 또는 회전 행렬로 지정됩니다.
Position
— 자세 플롯의 위치
[0 0 0]
(디폴트 값) | 요소를 3개 가진 실수 값 벡터
자세 플롯의 위치로, 요소를 3개 가진 실수 값 벡터로 지정됩니다.
MeshFileName
— STL 메시 파일의 이름
string형 스칼라 | 문자형 벡터
STL(Standard Triangle Language) 메시 파일의 이름으로, 메시 파일의 이름이 포함된 string형 스칼라 또는 문자형 벡터로 지정됩니다. 이 인수를 지정하면 poseplot
함수는 방향 상자 대신 메시를 플로팅합니다.
ScaleFactor
— 자세 플롯의 스케일링 인자
1
(디폴트 값) | 음이 아닌 스칼라
자세 플롯의 스케일링 인자로, 음이 아닌 스칼라로 지정됩니다. 스케일링 인자는 방향 상자의 크기를 제어합니다. MeshFileName
인수를 지정하면 스케일링 인자가 메시의 스케일도 변경합니다.
PatchFaceColor
— 패치 면 색
[0 0 0]
(디폴트 값) | RGB 3색 | 16진수 색 코드 | "r"
| "g"
| "b"
| ...
패치 면 색으로, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다.
RGB 3색은 색의 빨간색, 녹색, 파란색 성분의 명암을 지정하는 요소를 3개 가진 행 벡터입니다. 명암은
[0, 1]
범위 안에 있어야 합니다(예:[0.4 0.6 0.7]
).16진수 색 코드는 해시 기호(
#
)로 시작하고 그 뒤에 3자리 또는 6자리 16진수(범위:0
~F
)가 이어지는 문자형 벡터 또는 string형 스칼라입니다. 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드"#FF8800"
,"#ff8800"
,"#F80"
,"#f80"
은 동일합니다.
다음은 일반적으로 사용되는 색과 그에 대응하는 값의 목록입니다.
색 이름 | 짧은 이름 | RGB 3색 | 16진수 색 코드 | 모양 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
PatchFaceAlpha
— 패치 면 투명도
0.1
(디폴트 값) | 범위 [0, 1]
내의 스칼라
패치 면 투명도로, 범위 [0, 1]
내의 스칼라로 지정됩니다. 값 1
은 완전히 불투명하고 값 0
은 완전히 투명합니다.
출력 인수
p
— 자세 패치 객체
PosePatch
객체
자세 패치 객체로, PosePatch
객체로 반환됩니다. 반환된 객체를 사용하여 플로팅된 자세의 속성을 쿼리하고 수정할 수 있습니다. 속성의 목록을 보려면 PosePatch Properties 항목을 참조하십시오.
버전 내역
R2021b에 개발됨
참고 항목
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)