メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

Rotation Angles to Quaternions

回転角度から四元数を計算する

  • Rotation Angles to Quaternions block

ライブラリ:
Aerospace Blockset / Utilities / Axes Transformations

説明

Rotation Angles to Quaternions ブロックは、3 つの回転角度 (R1、R2、R3) で記述された回転を 4 要素の四元四元数ベクトル (q0q1q2q3) に変換します。ここで、四元数はスカラー優先規則を使用して定義されます。Aerospace Blockset™ は、スカラー優先規則を使用して定義された四元数を使用します。回転角度は、フレーム A からフレーム B への一連の右手固有の受動変換を表します。結果の四元数は、フレーム A からフレーム B への右手受動回転を表します。四元数の詳細については、アルゴリズム を参照してください。

制限

  • ZYXZXYYXZYZXXYZ、および XZY 実装の制限により、R2 角度は ±90 度、R1 角度と R3 角度は ±180 度になります。

  • ZYZZXZYXYYZYXYX、および XZX 実装の制限により、0 度から 180 度までの R2 角度と、±180 度までの R1 角度と R3 角度が生成されます。

端子

入力

すべて展開する

回転角度。ラジアン単位で 3 行 1 列のベクトルとして指定されます。

データ型: double

出力

すべて展開する

4 行 1 列のベクトルとして指定された四元数。

データ型: double

パラメーター

すべて展開する

3 つの入力回転角度の回転順序を指定します。

プログラムでの使用

ブロック パラメーター: rotationOrder
: 文字ベクトル
: 'ZYX' | 'ZYZ' |'ZXY' | 'ZXZ' | 'YXZ' | 'YXY' | 'YZX' | 'YZY' | 'XYZ' | 'XYX' | 'XZY' | 'XZX'
既定の設定: 'ZYX'

アルゴリズム

四元数ベクトルは、角度 θ による単位ベクトル (μx,μy,μz) の周りの回転を表します。単位四元数自体は単位の大きさを持ち、次のベクトル形式で記述できます。

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

このように四元数を表現する利点は、四元数の積が 2 回以上の回転後の変換を簡単に表現できることです。

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2007b で導入