メインコンテンツ

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

Quaternion Rotation

ベクトルを四元数で回転する

  • Quaternion Rotation block

ライブラリ:
Aerospace Blockset / Utilities / Math Operations

説明

Quaternion Rotation ブロックは、初期ベクトル vec を四元数q で受動的に回転した結果のベクトルを計算し、最終ベクトル、回転ベクトル、または回転ベクトルのベクトルを返します。Aerospace Blockset™ は、スカラー優先規則を使用して定義された四元数を使用します。このブロックはすべての四元数入力を正規化します。四元数、初期ベクトル、最終ベクトルに使用される方程式については、アルゴリズム を参照してください。

端子

入力

すべて展開する

[q0r0 、 ...、q1r1、...、q2r2、...、q3r3、...] の形式の四元数。四元数または四元数のベクトルとして指定されます。

データ型: double

[v1u1、...、v2u2、...、v3u3、...] の形式の初期ベクトルまたはベクトルのベクトル。

データ型: double

Output

すべて展開する

最終ベクトルまたは回転ベクトルのベクトル。

データ型: double

アルゴリズム

正規化された四元数は次の形をとる。

q=q0+iq1+jq2+kq3.

ベクトルは次の形をとる。

v=iv1+jv2+kv3.

Aerospace Blockset は、次の形式のパッシブ四元数回転を定義します。

v=q1[0v]q,

ここで、Ⓧは四元数の乗算の演算子です。

最終的なベクトルは

v=[v1v2v3]=[(12q222q32)2(q1q2+q0q3)2(q1q3q0q2)2(q1q2q0q3)(12q122q32)2(q2q3+q0q1)2(q1q3+q0q2)2(q2q3q0q1)(12q122q22)][v1v2v3]

の形をとる。

参照

[1] Stevens, Brian L., Frank L. Lewis. Aircraft Control and Simulation, Second Edition. Hoboken, NJ: Wiley–Interscience.

[2] Diebel, James. "Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors." Stanford University, Stanford, California, 2006.

拡張機能

すべて展開する

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

バージョン履歴

R2006a より前に導入