Quaternions to Rodrigues

Convert quaternion to Euler-Rodrigues vector

• Library:
• Aerospace Blockset / Utilities / Axes Transformations

Description

The Quaternions to Rodrigues block converts the 4-by-1 quaternion to the three-element Euler-Rodrigues vector. Aerospace Blockset™ uses quaternions that are defined using the scalar-first convention. This block normalizes all quaternion inputs. The rotation used in this function is a passive transformation between two coordinate systems. For more information on Euler-Rodrigues vectors, see Algorithms.

Ports

Input

expand all

Quaternion from which to determine Euler-Rodrigues vector. Quaternion scalar is the first element.

Data Types: `double`

Output

expand all

Euler-Rodrigues vector determined from the quaternion.

Data Types: `double`

Algorithms

• An Euler-Rodrigues vector $\stackrel{⇀}{b}$ represents a rotation by integrating a direction cosine of a rotation axis with the tangent of half the rotation angle as follows:

`$\stackrel{\to }{b}=\left[\begin{array}{ccc}{b}_{x}& {b}_{y}& {b}_{z}\end{array}\right]$`

where:

`$\begin{array}{l}{b}_{x}=\mathrm{tan}\left(\frac{1}{2}\theta \right){s}_{x},\\ {b}_{y}=\mathrm{tan}\left(\frac{1}{2}\theta \right){s}_{y},\\ {b}_{z}=\mathrm{tan}\left(\frac{1}{2}\theta \right){s}_{z}\end{array}$`

are the Rodrigues parameters. Vector $\stackrel{⇀}{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 GenerationGenerate C and C++ code using Simulink® Coder™.

Introduced in R2017a

Get trial now