メインコンテンツ

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

Quaternions to Direction Cosine Matrix

四元数ベクトルを方向余弦行列に変換する

  • Quaternions to Direction Cosine Matrix block

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

説明

Quaternions to Direction Cosine Matrix ブロックは、4 要素の単位四元四元数ベクトル (q0q1q2q3) を 3 行 3 列の方向余弦行列(DCM) に変換します。出力された DCM は、慣性軸のベクトルからボディ軸のベクトルへの座標変換を実行します。Aerospace Blockset™ は、スカラー優先規則を使用して定義された四元数を使用します。このブロックはすべての四元数入力を正規化します。四元数入力と結果の方向余弦行列は、フレーム A からフレーム B への右手パッシブ変換を表します。詳細については、「アルゴリズム」を参照してください。

端子

入力

すべて展開する

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

データ型: double

Output

すべて展開する

方向余弦行列。3 行 3 列の行列として返されます。

データ型: double

アルゴリズム

四元数数代数を使用すると、点 P が四元数q によって記述される回転の対象となる場合、次の関係で示される P′ に変化します。

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

P′ を展開し、xyz の項を集めると、ベクトル四元数形式の 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′ の個々の項は xyz の項の線形結合であるため、前述のものからベクトル (xyz) を (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 より前に導入