주요 콘텐츠

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

Quaternions to Direction Cosine Matrix

쿼터니언 벡터를 방향 코사인 행렬로 변환

  • Quaternions to Direction Cosine Matrix block

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

설명

Quaternions to Direction Cosine Matrix 블록은 4개 요소 단위 쿼터니언 벡터(q0, q1, q2, q3)를 3×3 방향 코사인 행렬(DCM)로 변환합니다. 출력된 DCM은 관성 좌표계 내 벡터를 바디 좌표계 내 벡터로 좌표 변환합니다. Aerospace Blockset™는 스칼라 우선 규칙으로 정의된 쿼터니언을 사용합니다. 이 블록은 모든 쿼터니언 입력을 정규화합니다. 쿼터니언 입력값과 결과 방향 코사인 행렬은 좌표계 A에서 좌표계 B로의 오른손 수동 변환을 나타냅니다. 자세한 내용은 알고리즘를 참조하십시오.

포트

입력

모두 확장

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

데이터형: double

출력

모두 확장

방향 코사인 행렬, 3×3 행렬로 반환됩니다.

데이터형: double

알고리즘

쿼터니언 대수를 사용하면, 점 P가 쿼터니언 q로 표현되는 회전을 받으면 다음 관계식에 의해 P′로 변환된다:

P=qPqcq=q0+iq1+jq2+kq3qc=q0iq1jq2kq3P=0+ix+jy+kz

P′를 확장하고 x, y, z의 항들을 수집하면 벡터 쿼터니언 형식에서 P를 이용한 P′에 대해 다음과 같이 주어집니다:

P=[0xyz]=[0(q02+q12q22q32)x+2(q1q2q0q3)y+2(q1q3+q0q2)z2(q0q3+q1q2)x+(q02q12+q22q32)y+2(q2q3q0q1)z2(q1q3q0q2)x+2(q0q1+q2q3)y+(q02q12q22+q32)z]

P′의 개별 항들은 x, y, z의 항들의 선형 조합이므로, 벡터 (x, y, z)를 (x′, y′, z′)로 회전시키는 행렬 관계를 앞서 설명한 내용에서 도출할 수 있다. 이 행렬은 관성 좌표계에서 벡터를 회전시키며, 따라서 전치되어 관성 좌표계에서 벡터를 바디 좌표계로 좌표 변환하는 DCM(동적 좌표 변환 행렬)을 생성한다.

DCM=[(q02+q12q22q32)2(q1q2+q0q3)2(q1q3q0q2)2(q1q2q0q3)(q02q12+q22q32)2(q2q3+q0q1)2(q1q3+q0q2)2(q2q3q0q1)(q02q12q22+q32)]

확장 기능

모두 확장

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

버전 내역

R2006a 이전에 개발됨