メインコンテンツ

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

Direction Cosine Matrix Body to Wind to Alpha and Beta

方向余弦行列を迎角と横滑り角に変換する

  • Direction Cosine Matrix Body to Wind to Alpha and Beta block

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

説明

Direction Cosine Matrix Body to Wind to Alpha and Beta ブロックは、3 行 3 列の方向余弦行列 (DCM) を迎え角と横滑り角に変換します。DCM は、ボディ軸 (ox0oy0oz0) のベクトルを風軸 (ox2oy2oz2) のベクトルに変換する座標変換を実行します。方向余弦行列の詳細については、アルゴリズム を参照してください。

制限

  • この実装では、±90 度の範囲の角度が生成されます。

端子

入力

すべて展開する

物体固定ベクトルを風固定ベクトルに変換するための方向余弦行列。3 行 3 列の直接余弦行列として指定されます。

データ型: double

出力

すべて展開する

迎え角と横滑り角がラジアン単位でベクトルとして返されます。

データ型: 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

アルゴリズム

DCM マトリックスは、ボディ軸 (ox0oy0oz0) のベクトルを風軸 (ox2oy2oz2) のベクトルに変換する座標変換を実行します。これを実現するために必要な軸の回転の順序は次のとおりです。

  1. oy0 を中心に迎え角 (α) から軸 (ox1oy1oz1) まで回転

  2. oz1 を中心に、横滑り角 (β) を軸 (ox2oy2oz2) まで回転します。

[ox2oy2oz2]=DCMwb[ox0oy0oz0][ox2oy2oz2]=[cosβsinβ0sinβcosβ0001][cosα0sinα010sinα0cosα][ox0oy0oz0]

2 つの軸変換マトリックスを組み合わせると、次の DCM が定義されます。

DCMwb=[cosαcosβsinβsinαcosβcosαsinβcosβsinαsinβsinα0cosα]

DCM から角度を決定するには、次の式を使用します。

α=asin(DCM(3,1))β=asin(DCM(1,2))

参照

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

拡張機能

すべて展開する

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

バージョン履歴

R2006a より前に導入