주요 콘텐츠

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

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, XYZ, XZY 구현의 제한 사항으로 인해 R2 각도를 ±90도 사이로 생성하며, R1 및 R3 각도는 ±180도 사이로 생성합니다.

  • ZYZ, ZXZ, YXY, YZY, XYX, XZX 구현의 제한 사항으로 인해 R2 각도는 0도에서 180도 사이, R1 및 R3 각도는 ±180도 사이로 생성합니다.

포트

입력

모두 확장

회전 각도로, 3×1 벡터로 지정되며, 단위는 라디안입니다.

데이터형: double

출력

모두 확장

쿼터니언으로, 4×1 벡터로 지정됩니다.

데이터형: double

파라미터

모두 확장

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

프로그래밍 방식 사용

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

알고리즘

쿼터니언 벡터는 단위 벡터 (μx,μy,μz)를 중심으로 각도 θ만큼 회전한 것을 나타냅니다. 단위 쿼터니언은 크기가 1이며, 다음과 같은 벡터 형식으로 표현될 수 있습니다:

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에 개발됨