Main Content

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

6DOF (Quaternion)

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

  • 6DOF (Quaternion) block

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

説明

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

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

制限

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

端子

入力

すべて展開する

適用された力。ボディ固定軸の 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
既定値: 'Quaternion'

平面地球基準フレームにおける物体の初期位置。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)

四元数ベクトルのノルムを 1.0 に維持するためのゲイン。double スカラーとして指定されます。

プログラムでの使用

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

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

依存関係

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
型: 文字ベクトル
値: '' | 中括弧で囲まれたコンマ区切りのリスト
既定値: ''

アルゴリズム

四元数ベクトルの変化率の積分は以下のように示されます。ゲイン 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 で導入