주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Rotation Angles to Quaternions

회전 각도에서 쿼터니언 계산

  • Rotation Angles to Quaternions block

라이브러리:
Aerospace Blockset / Utilities / Axes Transformations

설명

Rotation Angles to Quaternions 블록은 세 개의 회전 각도(R1, R2, R3)로 표현되는 회전을 4개 요소로 구성된 쿼터니언 벡터(q0, q1, q2, q3)로 변환합니다. 여기서 쿼터니언은 스칼라 우선 규칙을 사용하여 정의됩니다. Aerospace Blockset™는 스칼라 우선 규칙을 사용하여 정의된 쿼터니언을 사용합니다. 회전 각도는 프레임 A에서 프레임 B로의 일련의 오른손 내재적 수동 변환을 나타냅니다. 결과 쿼터니언은 프레임 A에서 프레임 B로의 오른손 수동 회전을 나타냅니다. 쿼터니언에 대한 자세한 내용은 알고리즘를 참조하세요.

제한 사항

  • ZYX, ZXY, YXZ, YZX, XYZXZY 구현에 대한 제한은 ±90도 사이의 R2 각도와 ±180도 사이의 R1 및 R3 각도를 생성합니다.

  • ZYZ, ZXZ, YXY, YZY, XYX, 및 XZX 구현에 대한 제한은 0~180도 사이의 R2 각도와 ±180도 사이의 R1 및 R3 각도를 생성합니다.

포트

입력

모두 확장

회전 각도는 라디안 단위의 3x1 벡터로 지정됩니다.

데이터형: double

출력

모두 확장

4x1 벡터로 지정된 쿼터니언입니다.

데이터형: double

파라미터

모두 확장

3개의 입력 회전 각도에 대한 회전 순서를 지정합니다.

프로그래밍 방식 사용

블록 파라미터: rotationOrder
유형: 문자형 벡터
: 'ZYX' | 'ZYZ' |'ZXY' | 'ZXZ' | 'YXZ' | 'YXY' | 'YZX' | 'YZY' | 'XYZ' | 'XYX' | 'XZY' | 'XZX'
기본값: 'ZYX'

알고리즘

쿼터니언 벡터는 단위 벡터 (μx,μy,μz)를 중심으로 각도 θ만큼 회전한 것을 나타냅니다. 단위 쿼터니언 자체는 단위 크기를 가지며, 다음 벡터 형식으로 작성할 수 있습니다.

q=[q0q1q2q3]=[cos(θ/2)sin(θ/2)μxsin(θ/2)μysin(θ/2)μz]

쿼터니언의 대체 표현은 복소수입니다.

q=q0+iq1+jq2+kq3

여기서, 곱셈의 목적을 위해:

i2=j2=k2=1ij=ji=kjk=kj=iki=ik=j

이런 방식으로 쿼터니언을 표현하는 이점은 쿼터니언 곱으로 두 번 이상의 회전 후의 결과 변환을 쉽게 표현할 수 있다는 것입니다.

확장 기능

모두 확장

C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2007b에 개발됨