Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

gyroparams

Paramètres du capteur du gyroscope

Description

La classe gyroparams crée un objet de paramètres de capteur de gyroscope. Vous pouvez utiliser cet objet pour modéliser un gyroscope lors de la simulation d'une IMU avec imuSensor. Voir la section Algorithms de imuSensor pour plus de détails sur la modélisation gyroparams .

Création

Description

params = gyroparams renvoie un objet de paramètres de capteur de gyroscope idéal avec des valeurs par défaut.

params = gyroparams(Name,Value) configure les propriétés de l'objet gyroparams en utilisant un ou plusieurs arguments de paire Name,Value . Name est un nom de propriété et Value est la valeur correspondante. Name doit apparaître entre guillemets simples (''). Vous pouvez spécifier plusieurs arguments de paire nom-valeur dans n'importe quel ordre comme Name1,Value1,...,NameN,ValueN. Toutes les propriétés non spécifiées prennent des valeurs par défaut.

Propriétés

développer tout

Lecture maximale du capteur en rad/s, spécifiée comme un scalaire réel positif.

Types de données : single | double

Résolution des mesures du capteur en (rad/s)/LSB, spécifiée comme un scalaire réel non négatif. Ici, LSB est l'acronyme de bit le moins significatif.

Types de données : single | double

Biais de décalage constant du capteur en rad/s, spécifié comme un scalaire réel ou un vecteur ligne à 3 éléments. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Les axes du capteur sont inclinés en pourcentage, spécifié sous forme de scalaire, de vecteur ligne à 3 éléments ou de matrice 3 x 3. Les éléments diagonaux de la matrice tiennent compte des effets de désalignement pour chaque axe. Les éléments hors diagonale représentent les effets de désalignement des axes transversaux. L'état mesuré v measure est obtenu à partir de l'état réel v true via la matrice de désalignement comme :

vmeasure=1100Mvtrue=1100[m11m12m13m21m22m23m31m32m33]vtrue

  • Si vous spécifiez la propriété comme scalaire, alors tous les éléments hors diagonale de la matrice prennent la valeur du scalaire spécifié et tous les éléments diagonaux sont 100.

  • Si vous spécifiez la propriété comme vecteur [a b c], alors m 21 = m 31 = a, m 12 = m 32 = b, et m 13 = m 23 = c. Tous les éléments diagonaux valent 100.

Types de données : single | double

Densité spectrale de puissance du bruit du capteur en (rad/s)/√Hz, spécifiée comme un scalaire réel ou un vecteur ligne à 3 éléments réel. Cette propriété correspond à l'angle de marche aléatoire (ARW). Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Coefficients de filtre pour la génération de bruit d'instabilité de polarisation, spécifiés sous forme de structure. La structure comporte ces champs :

  • Numerator — Coefficients du numérateur, spécifiés sous forme de vecteur à valeur réelle.

  • Denominator — Coefficients du dénominateur, spécifiés sous forme de vecteur à valeur réelle.

Pour spécifier les coefficients du bruit fractal, utilisez la fonction fractalcoef (Sensor Fusion and Tracking Toolbox) .

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

Types de données : struct

Instabilité du décalage de biais en rad/s, spécifié comme un vecteur ligne scalaire réel ou à 3 éléments. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Bruit blanc intégré du capteur en (rad/s)(√Hz), spécifié comme un scalaire réel ou un vecteur à 3 éléments réel. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Type de bruit aléatoire, spécifié comme :

  • "double-sided" — Les coefficients de bruit aléatoire ont un facteur d'échelle de 2.

  • "single-sided" — Les coefficients de bruit aléatoire ont un facteur d'échelle de 1.

Types de données : char | string

Biais du capteur à partir de la température en ((rad/s)/℃), spécifié comme un scalaire réel ou un vecteur ligne à 3 éléments réel. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Erreur de facteur d'échelle par rapport à la température en (%/℃), spécifiée comme un scalaire réel ou un vecteur ligne à 3 éléments réel avec des valeurs allant de 0 à 100. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Biais du capteur dû à l'accélération linéaire en (rad/s)/(m/s2), spécifié comme un scalaire réel ou un vecteur ligne à 3 éléments réel. Toute entrée scalaire est convertie en un vecteur ligne à 3 éléments réel où chaque élément a la valeur scalaire d'entrée.

Types de données : single | double

Exemples

réduire tout

Générez des données de gyroscope pour un objet imuSensor à partir d'entrées fixes.

Générer un objet paramètre de gyroscope avec une lecture de capteur maximale de 4,363rad/set une résolution de 1.332e-4(rad/s)/LSB. Le biais de décalage constant est de 0,349rad/s. Le capteur a une densité spectrale de puissance de 8,727e-4rad/s/Hz. The bias from temperature is 0.349 rad/s/0C. Le biais dû à la température est de 0,349(rad/s2)/0C. L'erreur du facteur d'échelle liée à la température est de 0,2 %/0C. Les axes des capteurs sont décalés de 2 %. Le biais du capteur dû à l'accélération linéaire est de 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);

Utilisez une fréquence d'échantillonnage de 100 Hz espacée de 1 000 échantillons. Créez l'objet imuSensor à l'aide de l'objet paramètre gyroscope.

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

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

Générez des données de gyroscope à partir de l'objet imuSensor.

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

Tracez les données du gyroscope résultantes.

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.

Capacités étendues

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2018b