Main Content

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

Rodrigues to Rotation Angles

オイラー・ロドリゲスベクトルを回転角度に変換する

  • Rodrigues to Rotation Angles block

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

説明

Rodrigues to Rotation Angles ブロックは、3 要素のオイラー・ロドリゲス ベクトルを回転角度に変換します。オイラー・ロドリゲス角は、フレーム A からフレーム B への右手パッシブ変換を表します。結果として得られる回転角度は、フレーム A からフレーム B への一連の右手固有のパッシブ回転を表します。オイラー・ロドリゲス ベクトルの詳細については、アルゴリズム を参照してください。

端子

入力

すべて展開する

回転角度から決定されるオイラー・ロドリゲス ベクトル。

データ型: double

出力

すべて展開する

オイラー・ロドリゲス ベクトルを決定するための回転角度 (ラジアン単位)。クォータニオンスカラーは最初の要素です。

データ型: double

パラメーター

すべて展開する

3 つの風の回転角度の回転順序。

「ZYX」、「ZXY」、「YXZ」、「YZX」、「XYZ」、および「XZY」回転の場合、ブロックは ±pi/2 ラジアン (±90 度) の範囲にある R2 角度と、±pi ラジアン (±180 度) の範囲にある R1 角度と R3 角度を生成します。

「ZYZ」、「ZXZ」、「YXY」、「YZY」、「XYX」、および「XZX」回転の場合、ブロックは 0 から pi ラジアン (180 度) の範囲にある R2 角度と、±pi (±180 度) の範囲にある R1 角度と R3 角度を生成します。しかし、後者の場合、R2 が 0 のとき、R3 は 0 ラジアンに設定されます。

プログラムでの使用

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

アルゴリズム

オイラー・ロドリゲス ベクトル b は、回転軸の方向余弦と回転角度の半分の接線を積分することによって回転を表します。

b=[bxbybz]

ここで、

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

ロドリゲスパラメータです。ベクトル s は、回転が実行される単位ベクトルを表します。接線のため、回転角度が ±pi ラジアンまたは ±180 度に等しい場合、回転ベクトルは不確定になります。値は負または正になります。

参照

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

拡張機能

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

バージョン履歴

R2017a で導入