Function to Convert between DCM, Euler angles, Quaternions, and Euler vectors

버전 1.11.0.0 (5.71 KB) 작성자:
Function to convert rotation data between 4 types: DCM, Euler Angles, Quaternions, and Euler Param.
다운로드 수: 15.1K
업데이트 날짜: 2013/1/25

라이선스 보기

SpinCalc is a consolidated matlab function that will convert any rotation data between the 4 types included. Will also convert between 2 different Euler angle set types.

Multiple orientations can be input. For N orientations:
DCM ===> 3x3xN multidimensional array
EA### ===> Nx3 matrix
Euler Vectors ===> Nx4 matrix
Quaternions ===> Nx4 matrix

Input includes error check flag that will warn when Euler angles approach singularity or when appropriate values deviate from unity. Fatal errors issued for improper DCM's etc.

*****NOTE TO USERS*****
I have gotten many questions regarding translation to Euler angle sets. When converting data to Euler angles, you MUST make sure the orientation you are translating is not near a singularity. Singular Euler sets are orientations which cannot be uniquely converted to 3 variables in that particular rotation order. The singular sets are as follows:

Type 1 Rotations: 123 - 132 - 213 - 231 - 321 - 312
Singular if second rotation angle is -90 or 90 degrees.

Type 2 Rotations: 121 - 131 - 212 - 232 - 313 - 323
Singular if second rotation angle is 0 or 180 degrees.

SpinCalc should now detect when input DCM, EV, or Q correspond to a singular Euler set output. It will prohibit output in such an event.

Naturally when converting from these singular Euler angle sets to other data types, you will receive a correct answer. Unfortunately you cannot convert that output back to the correct Euler angle set. This is why singular Euler input is prohibited.

Some users may need SpinCalc for the very reason of converting singular Euler sets to the other types. In those cases, removing the prohibiting error check shouldn't be too difficult. Contact me for help if need be.

인용 양식

John Fuller (2024). Function to Convert between DCM, Euler angles, Quaternions, and Euler vectors (https://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors), MATLAB Central File Exchange. 검색됨 .

개발 환경: R2007b
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보
1.11.0.0

Incorporated fix to 2nd Euler Angle checks.

1.10.0.0

Updated help text. Again.

1.9.0.0

Updated help text to clarify DCM convention.

1.8.0.0

Fixed summary.

1.7.0.0

Updated description.

1.6.0.0

Updated tags

1.5.0.0

Updated tags

1.4.0.0

Modified v1.3 description

1.3.0.0

Version 1.3 Now detects when input DCM, Q, or EV are too close to Euler singularity. Prohibits output to Euler angles when second angle is within 0.1 degree of singular value.

1.2.0.0

Revised file description to explain Euler angle singularities

1.1.0.0

Removed bounding constraints on first and third input Euler angles. Bounds on second angles remain intact due to possibilities of ambiguous input Euler sets.

1.0.0.0

Updated file to version 1.1 to accommodate some user comments that improve output.