メインコンテンツ

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

6DOF (Quaternion)

ボディ軸に関する6自由度の運動方程式の四元数表現を実装する

  • 6DOF (Quaternion) block

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

説明

6DOF (Quaternion) ブロックは、ボディ軸に関する 6 自由度の運動方程式の四元数数表現を実装します。座標系と並進ダイナミクスの説明については、6DOF (Euler Angles) ブロックのブロック説明を参照してください。

四元数ベクトルの変化率の積分の詳細については、アルゴリズム を参照してください。

6DOF (Quaternion)Simple Variable Mass 6DOF (Quaternion)、および Custom Variable Mass 6DOF (Quaternion) ブロックは、同じブロックの代替構成です。

  • 6DOF (Quaternion) — 体軸に関する6自由度の運動方程式の四元数数表現を実装する

  • Simple Variable Mass 6DOF (Quaternion) — ボディ軸に関する単純可変質量の 6 自由度運動方程式の四元数表現を実装します。

  • Custom Variable Mass 6DOF (Quaternion) — カスタム可変質量のボディ軸に関する6自由度の運動方程式の四元数表現を実装します

制限

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

端子

入力

すべて展開する

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

データ型: double

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

データ型: double

Output

すべて展開する

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

データ型: double

平面地球基準座標系内の位置。3 要素のベクトルとして返されます。

データ型: double

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

データ型: double

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

データ型: double

ボディ固定座標系内の速度。3 要素ベクトルとして返されます。

データ型: double

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

データ型: double

質量。スカラーとして返されます。

依存関係

このポートを有効にするには、加速度計算のために質量特性を出力パラメーターを選択します。

データ型: double

慣性テンソル行列。3 行 3 列の行列として返されます。

依存関係

このポートを有効にするには、加速度計算のために質量特性を出力パラメーターを選択します。

データ型: 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
既定: 'Fixed'

平面地球基準座標系におけるボディの初期位置。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' | double スカラー
既定: '1.0'

double スカラーとして指定されたボディの慣性。

依存関係

このパラメーターを有効にするには、質量タイプFixed に設定します。

プログラムでの使用

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

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

依存関係

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

プログラムでの使用

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

状態属性

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

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

  • 複数の状態に名前を割り当てるには、中括弧で囲まれたコンマ区切りのリストを入力します (例: {'a', 'b', 'c'})。各名前は固有でなければなりません。

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

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

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

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

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

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

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

プログラムでの使用

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

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

プログラムでの使用

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

四元数ベクトルの状態名。中括弧で囲まれたコンマ区切りのリストとして指定されます。

プログラムでの使用

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

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

プログラムでの使用

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

加速の質量プロパティのポートを有効にするには、このチェック ボックスをオンにします。これらのポートをこれらのブロックの入力として使用できます。

  • 6DOF Accelerationm 出力ポート

  • 6DOF Angular AccelerationI および dI/dt coeff ポート。

プログラムでの使用

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

代替構成

すべて展開する

6DOF (Quaternion) ブロックは、ボディ軸に関する単純な可変質量の 6 自由度の運動方程式の四元数数表現を実装します。このブロックを有効にするには、質量タイプ単純な変数 に設定します。

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

Custom Variable Mass 6DOF (Quaternion) ブロックは、ボディ軸に関するカスタム可変質量の 6 自由度の運動方程式の四元数数表現を実装します。このブロックを有効にするには、質量タイプカスタム変数 に設定します。

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

アルゴリズム

四元数ベクトルの変化率の積分は以下の通りです。ゲイン K は、ε がゼロ以外になった場合に、四元数状態ベクトルのノルムを 1.0 にします。このゲインの値は慎重に選択する必要があります。値が大きいと、ノルムのエラーの減衰率が向上しますが、高速ダイナミクスが導入されるため、シミュレーションが遅くなります。四元数ベクトルの 1 つの要素の大きさの誤差はすべての要素に均等に分散され、状態ベクトルの誤差が増加する可能性があります。

[q˙0q˙1q˙2q˙3]=12[0pqrp0rqqr0prqp0][q0q1q2q3]+Kε[q0q1q2q3]ε=1(q02+q12+q22+q32)

Aerospace Blockset™ は、スカラー優先規則を使用して定義された四元数を使用します。

拡張機能

すべて展開する

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

バージョン履歴

R2006a で導入

すべて展開する