Main Content

Rodrigues to Quaternions

Convert Euler-Rodrigues vector to quaternion

  • Rodrigues to Quaternions block

Libraries:
Aerospace Blockset / Utilities / Axes Transformations

Description

The Rodrigues to Quaternions block determines the 4-by-1 quaternion from a three-element Euler-Rodrigues vector. Aerospace Blockset™ uses quaternions that are defined using the scalar-first convention. The Euler-Rodrigues vector input and the resulting quaternion represent a right-hand passive transformation from frame A to frame B. The resulting quaternion represents a series of right-hand intrinsic passive rotations from frame A to frame B. For more information on Euler-Rodrigues vectors, see Algorithms.

Ports

Input

expand all

Euler-Rodrigues vector from which to determine the quaternion.

Data Types: double

Output

expand all

Quaternion determined from the Euler-Rodrigues vector.

Data Types: double

Algorithms

An Euler-Rodrigues vector b represents a rotation by integrating a direction cosine of a rotation axis with the tangent of half the rotation angle as follows:

b=[bxbybz]

where:

bx=tan(12θ)sx,by=tan(12θ)sy,bz=tan(12θ)sz

are the Rodrigues parameters. Vector s represents a unit vector around which the rotation is performed. Due to the tangent, the rotation vector is indeterminate when the rotation angle equals ±pi radians or ±180 deg. Values can be negative or positive.

References

[1] Dai, J.S. "Euler-Rodrigues formula variations, quaternion conjugation and intrinsic connections." Mechanism and Machine Theory, 92, 144-152. Elsevier, 2015.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2017a