Main Content

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

6DOF (Euler Angles)

6自由度の運動方程式のオイラー角表現を実装する

  • 6DOF (Euler Angles) block

ライブラリ:
Aerospace Blockset / Equations of Motion / 6DOF

説明

6DOF (Euler Angles) ブロックは、平面地球基準フレーム (Xe, Ye, Ze) を中心とした物体固定座標フレーム (Xb, Yb, Zb) の回転を考慮して、6 自由度の運動方程式のオイラー角表現を実装します。これらの参照ポイントの詳細については、「アルゴリズム」を参照してください。

制限

ブロックは、加えられた力が物体の重心に作用し、質量と慣性が一定であると仮定します。

端子

入力

すべて展開する

適用された力。ボディ固定軸の 3 要素ベクトルとして指定されます。フレームの詳細については、ボディ座標 を参照してください。

データ型: double

適用されたモーメント。ボディ固定軸の 3 要素ベクトルとして指定されます。フレームの詳細については、ボディ座標 を参照してください。

データ型: double

出力

すべて展開する

平面地球基準フレームにおける速度。3 要素ベクトルとして返されます。

データ型: double

平面地球基準フレーム内の位置。3 要素のベクトルとして返されます。

データ型: double

固有の x-y-z 回転を定義するオイラー回転角度 [ロール、ピッチ、ヨー] を、ラジアン単位の 3 要素ベクトルとして表します。ヨー、ピッチ、ロール角度は、angle2dcm(yaw,pitch,roll,"ZYX") などの z-y-x 回転シーケンスを使用して適用されます。

データ型: double

平面地球軸から物体固定軸への座標変換。3 行 3 列の行列として返されます。

データ型: double

ボディ固定フレーム内の速度。3 要素ベクトルとして返されます。

データ型: double

ボディ固定軸の角速度。ラジアン/秒単位で 3 要素ベクトルとして返されます。

データ型: double

ボディ固定軸の角加速度。ラジアン/秒の二乗で、3 要素ベクトルとして返されます。

データ型: double

ボディ座標系に対するボディ固定軸の加速度が 3 要素ベクトルとして返されます。

データ型: double

慣性フレーム (平面地球) に対するボディ固定軸の加速度が、3 要素ベクトルとして返されます。通常、この信号を加速度計に接続します。

依存関係

このポートは、Include inertial acceleration チェックボックスが選択されている場合にのみ表示されます。

データ型: double

パラメーター

すべて展開する

メイン

入力および出力単位。Metric (MKS)English (Velocity in ft/s)、または English (Velocity in kts) として指定されます。

単位一瞬加速度速度位置質量慣性
Metric (MKS) ニュートンニュートンメートルメートル毎秒メートル/秒メートルキログラムキログラムメートルの2乗
English (Velocity in ft/s) ポンドフットポンドフィート毎秒平方フィート/秒スラッグスラッグフィートの平方
English (Velocity in kts) ポンドフットポンドフィート毎秒平方節点スラッグスラッグフィートの平方

プログラムでの使用

ブロック パラメーター: units
型: 文字ベクトル
値: Metric (MKS) | English (Velocity in ft/s) | English (Velocity in kts)
既定値: Metric (MKS)

質量の種類は、次の表に従って指定されます。

Simple Variable の選択は、前述の運動方程式に準拠します。

プログラムでの使用

ブロック パラメーター: mtype
型: 文字ベクトル
値: Fixed | Simple Variable | Custom Variable
既定値: Simple Variable

運動方程式の表現。次の表に従って指定します。

表現説明

Euler Angles

運動方程式内でオイラー角を使用します。

Quaternion

運動方程式内で四元数を使用します。

Quaternion 選択は アルゴリズム の運動方程式に準拠します。

プログラムでの使用

ブロック パラメーター: rep
型: 文字ベクトル
値: Euler Angles | Quaternion
既定値: 'Euler Angles'

平面地球基準フレームにおける物体の初期位置。3 要素ベクトルとして指定されます。

プログラムでの使用

ブロック パラメーター: xme_0
型: 文字ベクトル
値: '[0 0 0]' | 3 要素ベクトル
既定値: '[0 0 0]'

ボディ固定座標フレーム内の 3 要素ベクトルとして指定されたボディ軸の初期速度。

プログラムでの使用

ブロック パラメーター: Vm_0
型: 文字ベクトル
値: '[0 0 0]' | 3 要素ベクトル
既定値: '[0 0 0]'

初期のオイラー方向角度 [ロール、ピッチ、ヨー]。ラジアン単位で 3 要素ベクトルとして指定されます。オイラー回転角は、物体座標系と北東下 (NED) 座標系間の回転角です。

プログラムでの使用

ブロック パラメーター: eul_0
型: 文字ベクトル
値: '[0 0 0]' | 3 要素ベクトル
既定値: '[0 0 0]'

NED フレームに対する初期のボディ固定角速度。ラジアン/秒単位で 3 要素ベクトルとして指定されます。

プログラムでの使用

ブロック パラメーター: pm_0
型: 文字ベクトル
値: '[0 0 0]' | 3 要素ベクトル
既定値: '[0 0 0]'

剛体の初期質量。double スカラーとして指定されます。

プログラムでの使用

ブロック パラメーター: mass_0
型: 文字ベクトル
値: '1.0' | ダブルスカラー
既定値: '1.0'

物体の慣性。二重スカラーとして指定されます。

依存関係

このパラメータを有効にするには、Mass typeFixed に設定します。

プログラムでの使用

ブロック パラメーター: inertia
型: 文字ベクトル
値: eye(3) | ダブルスカラー
既定値: eye(3)

慣性加速ポートを追加するには、このチェックボックスをオンにします。

依存関係

Ab ff ポートを有効にするには、このパラメータを選択します。

プログラムでの使用

ブロック パラメーター: abi_flag
型: 文字ベクトル
値: 'off' | 'on'
既定値: off

状態属性

各状態に一意の名前を割り当てます。線形化中にブロック パスの代わりに状態名を使用できます。

  • 単一の状態に名前を割り当てるには、引用符で囲んだ一意の名前を入力します (例: 'velocity')。

  • 複数の状態に名前を割り当てる場合は、中かっこ内にコンマで区切って入力します。たとえば、{'a', 'b', 'c'} のようにします。各名前は固有でなければなりません。

  • パラメータが空の場合 (' ')、名前の割り当ては行われません。

  • 状態名は、名前パラメータで選択されたブロックにのみ適用されます。

  • 状態の数は状態名の数で割り切れなければなりません。

  • 指定する名前の数は状態の数より少なくできますが、その逆はできません。

    たとえば、4 つの状態を含むシステムで 2 つの名前を指定することは可能です。最初の名前は最初の 2 つの状態に適用され、2 番目の名前は最後の 2 つの状態に適用されます。

  • MATLAB® ワークスペース内の変数を状態名に割り当てる場合は、引用符なしで変数を入力します。変数には文字ベクトル、cell 配列、構造体が使用できます。

位置状態名。中括弧で囲まれたコンマ区切りのリストとして指定します。

プログラムでの使用

ブロック パラメーター: xme_statename
型: 文字ベクトル
値: '' | 中括弧で囲まれたコンマ区切りのリスト
既定値: ''

速度状態名。中括弧で囲まれたコンマ区切りのリストとして指定されます。

プログラムでの使用

ブロック パラメーター: Vm_statename
型: 文字ベクトル
値: '' | 中括弧で囲まれたコンマ区切りのリスト
既定値: ''

オイラー回転角度の状態名。中括弧で囲まれたコンマ区切りのリストとして指定されます。

プログラムでの使用

ブロック パラメーター: eul_statename
型: 文字ベクトル
値: '' | 中括弧で囲まれたコンマ区切りのリスト
既定値: ''

ボディの回転速度の状態名。中括弧で囲まれたコンマ区切りのリストで指定します。

プログラムでの使用

ブロック パラメーター: pm_statename
型: 文字ベクトル
値: '' | 中括弧で囲まれたコンマ区切りのリスト
既定値: ''

アルゴリズム

6DOF (Euler Angles) ブロックはこれらの参照フレームの概念を使用します。

  • 物体固定座標系の原点は物体の重心であり、物体は剛体であると仮定されます。この仮定により、個々の質量要素間に作用する力を考慮する必要がなくなります。

    平面地球基準フレームは慣性フレームであると考えられており、これは「恒星」に対する地球の運動による力を無視できる優れた近似です。

  • 物体固定座標系の並進運動。ここで、作用する力 [Fx Fy Fz]T は物体固定座標系内にあり、物体の質量 m は一定であると仮定されます。

    F¯b=[FxFyFz]=m(V¯˙b+ω¯×V¯b)Abb=[u˙bv˙bw˙b]=1mF¯bω¯×V¯bAbe=1mFbV¯b=[ubvbwb],ω¯=[pqr]

  • 物体固定フレームの回転ダイナミクス。適用されるモーメントは [L M N]T であり、慣性テンソル I は原点 O を基準としています。

    M¯B=[LMN]=Iω¯˙+ω¯×(Iω¯)I=[IxxIxyIxzIyxIyyIyzIzxIzyIzz]

  • 物体固定角速度ベクトル [p q r]T とオイラー角の変化率 [ϕ˙θ˙ψ˙]T の関係は、オイラー角の変化率を物体固定座標系に分解することによって決定されます。

    [pqr]=[ϕ˙00]+[1000cosϕsinϕ0sinϕcosϕ][0θ˙0]+[1000cosϕsinϕ0sinϕcosϕ][cosθ0sinθ010sinθ0cosθ][00ψ˙]J1[ϕ˙θ˙ψ˙]

    J を反転すると、オイラー速度ベクトルを決定するために必要な関係が得られます。

    [ϕ˙θ˙ψ˙]=J[pqr]=[1(sinϕtanθ)(cosϕtanθ)0cosϕsinϕ0sinϕcosθcosϕcosθ][pqr]

参照

[1] Stevens, Brian, and Frank Lewis, Aircraft Control and Simulation. Hoboken, NJ: Second Edition, John Wiley & Sons, 2003.

[2] Zipfel, Peter H., Modeling and Simulation of Aerospace Vehicle Dynamics. Reston, Va: Second Edition, AIAA Education Series, 2007.

拡張機能

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

バージョン履歴

R2006a で導入