Main Content

gyroparams

ジャイロスコープ センサー パラメーター

説明

gyroparams クラスは、ジャイロスコープ センサー パラメーター オブジェクトを作成します。imuSensor で IMU をシミュレートするときに、このオブジェクトを使用してジャイロスコープをモデル化できます。gyroparams モデル化の詳細については、imuSensorAlgorithmsのセクションを参照してください。

作成

説明

params = gyroparams は、理想的なジャイロスコープ センサー パラメーター オブジェクトを既定値で返します。

params = gyroparams(Name,Value) は、1 つ以上の Name,Value のペアの引数を使用して gyroparams オブジェクトのプロパティを構成します。Name はプロパティ名で、Value は対応する値です。Name は一重引用符 ('') で囲む必要があります。名前と値のペアの引数を複数、任意の順序で、Name1,Value1,...,NameN,ValueN のように指定できます。指定されていないプロパティはすべて既定値を取ります。

プロパティ

すべて展開する

センサーの最大読み取り値 (rad/s 単位)。実数の正のスカラーとして指定します。

データ型: single | double

センサー測定の分解能 ((rad/s)/LSB 単位)。実数の非負のスカラーとして指定します。ここで、LSB は最下位ビットの頭字語です。

データ型: single | double

定数のセンサー オフセット バイアス (rad/s 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

センサーの座標軸のせん断変形 (パーセント単位)。スカラー、3 要素行ベクトル、または 3 行 3 列の行列として指定します。行列の対角要素では、各座標軸のずれの影響が考慮されます。非対角要素では、座標軸間のずれの影響が考慮されます。測定された状態 vmeasure は、真の状態 vtrue から、ずれ行列を介して次のように取得されます。

vmeasure=1100Mvtrue=1100[m11m12m13m21m22m23m31m32m33]vtrue

  • このプロパティをスカラーとして指定すると、行列の非対角要素はすべて指定したスカラーの値を取り、対角要素はすべて 100 となる。

  • このプロパティをベクトル [a b c] として指定すると、m21 = m31 = a、m12 = m32 = b、m13 = m23 = c となる。対角要素はすべて 100。

データ型: single | double

センサー ノイズのパワー スペクトル密度 ((rad/s)/√Hz 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。このプロパティは角度のランダム ウォーク (ARW) に対応します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

バイアス不安定性ノイズ生成用のフィルター係数。構造体として指定します。この構造体には次のフィールドが含まれます。

  • Numerator — 分子係数。実数値ベクトルとして指定します。

  • Denominator — 分母係数。実数値ベクトルとして指定します。

フラクタル ノイズの係数を指定するには、関数 fractalcoef を使用します。

例: struct(Numerator=1,Denominator=[1 -0.5])

データ型: struct

バイアス オフセットの不安定性 (rad/s 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

センサーの積分されたホワイト ノイズ ((rad/s)(√Hz) 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

ランダム ノイズのタイプ。以下として指定します。

  • "double-sided" — ランダム ノイズ係数のスケール係数は 2 です。

  • "single-sided" — ランダム ノイズ係数のスケール係数は 1 です。

データ型: char | string

温度によるセンサー バイアス ((rad/s)/℃ 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

温度によるスケール係数誤差 (%/℃ 単位)。0 ~ 100 の範囲の値をもつ実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

線形加速度によるセンサー バイアス ((rad/s)/(m/s2) 単位)。実数のスカラーまたは 3 要素行ベクトルとして指定します。任意のスカラー入力は、各要素が入力スカラー値をもつ実数の 3 要素行ベクトルに変換されます。

データ型: single | double

すべて折りたたむ

imuSensor オブジェクトのジャイロスコープ データを、定常入力から生成します。

センサーの最大読み取り値が 4.363 rad/s で分解能が 1.332e-4 (rad/s)/LSB のジャイロスコープ パラメーター オブジェクトを生成します。定数オフセット バイアスは 0.349 rad/s です。センサーのパワー スペクトル密度は 8.727e-4 rad/s/Hz. The bias from temperature is 0.349 rad/s/0C です。温度によるバイアスは 0.349 (rad/s2)/0C です。温度によるスケール係数誤差は 0.2 %/0C です。センサーの座標軸は 2 % せん断変形します。線形加速度によるセンサー バイアスは 0.178e-3 (rad/s)/(m/s2) です。

params = gyroparams('MeasurementRange',4.363,'Resolution',1.332e-04,'ConstantBias',0.349,'NoiseDensity',8.727e-4,'TemperatureBias',0.349,'TemperatureScaleFactor',0.02,'AxesMisalignment',2,'AccelerationBias',0.178e-3);

100 Hz のサンプル レートを 1000 個のサンプルにわたり使用します。ジャイロスコープ パラメーター オブジェクトを使用して、imuSensor オブジェクトを作成します。

Fs = 100;
numSamples = 1000;
t = 0:1/Fs:(numSamples-1)/Fs;

imu = imuSensor('accel-gyro','SampleRate', Fs, 'Gyroscope', params);

imuSensor オブジェクトからジャイロスコープ データを生成します。

orient = quaternion.ones(numSamples, 1);
acc = zeros(numSamples, 3);
angvel = zeros(numSamples, 3);
 
[~, gyroData] = imu(acc, angvel, orient);

結果のジャイロスコープ データをプロットします。

plot(t, gyroData)
title('Gyroscope')
xlabel('s')
ylabel('rad/s')

Figure contains an axes object. The axes object with title Gyroscope, xlabel s, ylabel rad/s contains 3 objects of type line.

拡張機能

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

バージョン履歴

R2018b で導入