Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

gyroparams

Parámetros del sensor de giroscopio

Descripción

La clase gyroparams crea un objeto de parámetros de sensor de giroscopio. Puede utilizar este objeto para modelar un giroscopio al simular una IMU con imuSensor. Consulte la sección Algoritmos de imuSensor para obtener detalles del modelado de gyroparams .

Creación

Descripción

params = gyroparams devuelve un objeto de parámetros de sensor de giroscopio ideal con valores predeterminados.

params = gyroparams(Name,Value) configura las propiedades del objeto gyroparams usando uno o más argumentos de par Name,Value . Name es un nombre de propiedad y Value es el valor correspondiente. Name debe aparecer entre comillas simples (''). Puede especificar varios argumentos de pares nombre-valor en cualquier orden como Name1,Value1,...,NameN,ValueN. Cualquier propiedad no especificada toma valores predeterminados.

Propiedades

expandir todo

Lectura máxima del sensor en rad/s, especificada como un escalar positivo real.

Tipos de datos: single | double

Resolución de las mediciones del sensor en (rad/s)/LSB, especificada como un escalar real no negativo. Aquí, LSB es el acrónimo de bit menos significativo.

Tipos de datos: single | double

Sesgo de compensación del sensor constante en rad/s, especificado como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Los ejes del sensor se inclinan en porcentaje, especificado como un escalar, un vector fila de 3 elementos o una matriz de 3 por 3. Los elementos diagonales de la matriz representan los efectos de desalineación para cada eje. Los elementos fuera de la diagonal explican los efectos de desalineación de los ejes transversales. El estado medido v measure se obtiene del estado verdadero v true a través de la matriz de desalineación como :

vmeasure=1100Mvtrue=1100[m11m12m13m21m22m23m31m32m33]vtrue

  • Si especifica la propiedad como un escalar, entonces todos los elementos fuera de la diagonal de la matriz toman el valor del escalar especificado y todos los elementos diagonales son 100.

  • Si especifica la propiedad como un vector [a b c], entonces m 21 = m 31 = a, m 12 = m 32 = b, y m 13 = m 23 = c. Todos los elementos de la diagonal son 100.

Tipos de datos: single | double

Densidad espectral de potencia del ruido del sensor en (rad/s)/√Hz, especificada como un escalar real o un vector fila de 3 elementos. Esta propiedad corresponde al ángulo de caminata aleatoria (ARW). Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Coeficientes de filtro para la generación de ruido de inestabilidad de polarización, especificados como una estructura. La estructura tiene estos campos:

  • Numerator — Coeficientes del numerador, especificados como un vector de valor real.

  • Denominator — Coeficientes del denominador, especificados como un vector de valor real.

Para especificar coeficientes de ruido fractal, utilice la función fractalcoef (Sensor Fusion and Tracking Toolbox) .

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

Tipos de datos: struct

Inestabilidad del desplazamiento de polarización en rad/s, especificada como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Ruido blanco integrado del sensor en (rad/s)(√Hz), especificado como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Tipo de ruido aleatorio, especificado como:

  • "double-sided" — Los coeficientes de ruido aleatorio tienen un factor de escala de 2.

  • "single-sided" — Los coeficientes de ruido aleatorio tienen un factor de escala de 1.

Tipos de datos: char | string

Polarización del sensor a partir de la temperatura en ((rad/s)/℃), especificada como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Error del factor de escala de la temperatura en (%/℃), especificado como un escalar real o un vector fila de 3 elementos con valores que van de 0 a 100. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Sesgo del sensor por aceleración lineal en (rad/s)/(m/s2), especificado como un escalar real o un vector fila de 3 elementos. Cualquier entrada escalar se convierte en un vector fila real de 3 elementos donde cada elemento tiene el valor escalar de entrada.

Tipos de datos: single | double

Ejemplos

contraer todo

Genere datos de giroscopio para un objeto imuSensor a partir de entradas estacionarias.

Genere un objeto de parámetro de giroscopio con una lectura máxima del sensor de 4.363rad/sy una resolución de 1.332e-4(rad/s)/LSB. El sesgo de compensación constante es 0,349.rad/s. El sensor tiene una densidad espectral de potencia de 8.727e-4rad/s/Hz. The bias from temperature is 0.349 rad/s/0C. El sesgo de la temperatura es 0,349.(rad/s2)/0C. El error del factor de escala de la temperatura es del 0,2%./0C. Los ejes del sensor están desviados un 2%. El sesgo del sensor debido a la aceleración lineal es 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);

Utilice una frecuencia de muestreo de 100 Hz espaciadas en 1000 muestras. Cree el objeto imuSensor utilizando el objeto de parámetro giroscopio.

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

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

Genere datos de giroscopio a partir del objeto imuSensor.

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

Trazar los datos del giroscopio resultantes.

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.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2018b

Consulte también

| |