メインコンテンツ

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

Direction Cosine Matrix to Rodrigues

方向余弦行列をオイラー・ロドリゲスベクトルに変換する

  • Direction Cosine Matrix to Rodrigues block

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

説明

Direction Cosine Matrix to Rodrigues ブロックは、3 要素のオイラー・ロドリゲス ベクトルから 3 行 3 列の方向余弦行列を決定します。入力方向余弦行列と結果のオイラー・ロドリゲス ベクトルは、フレーム A からフレーム B への右手パッシブ変換を表します。方向余弦行列の詳細については、アルゴリズム を参照してください。

端子

入力

すべて展開する

方向余弦行列。3 行 3 列の行列として指定され、そこからオイラー・ロドリゲス ベクトルを決定します。

データ型: double

出力

すべて展開する

オイラー・ロドリゲス ベクトル。3 要素のベクトルとして返されます。

データ型: double

パラメーター

すべて展開する

方向余弦行列が無効(直交していない)の場合の動作をブロックします。

  • Warning — 警告を表示し、方向余弦行列が無効であることを示します。

  • Error — エラーを表示し、方向余弦行列が無効であることを示します。

  • None — 警告やエラーを表示しません (デフォルト)。

プログラムでの使用

ブロック パラメーター: action
: 文字ベクトル
値: 'None' | 'Warning' | 'Error'
既定の設定: 'None'

データ型: char | string

方向余弦行列の有効性の許容値。スカラーとして指定します。ブロックは、次の条件が満たされる場合に方向余弦行列を有効と見なします。

  • 方向余弦行列の転置を掛けると、指定された許容値(transpose(n)*n == 1±tolerance)内で1に等しくなります。

  • 方向余弦行列の行列式は、指定された許容値 (det(n) == 1±tolerance) 内で 1 に等しくなります。

プログラムでの使用

ブロック パラメーター: tolerance
: 文字ベクトル
: 'eps(2)' | スカラー
既定の設定: 'eps(2)'

データ型: double

アルゴリズム

オイラー・ロドリゲス ベクトル 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 で導入