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.

insAccelerometer

Lecturas del acelerómetro modelo para la fusión de sensores

Desde R2022a

Descripción

El objeto insAccelerometer modela las lecturas del acelerómetro para la fusión de sensores. Pasar un objeto insAccelerometer a un objeto insEKF permite que el objeto insEKF fusione los datos del acelerómetro. Para obtener detalles sobre el modelo de acelerómetro, consulte Algoritmos.

Creación

Descripción

ejemplo

sensor = insAccelerometer crea un objeto insAccelerometer . Pasar el sensor creado a un objeto insEKF permite que el objeto insEKF fusione los datos del acelerómetro. Al fusionar datos con la función de objeto fuse de insEKF, pase sensor como segundo argumento para identificar los datos obtenidos de un acelerómetro. .

Ejemplos

contraer todo

Cree dos objetos insAccelerometer y páselos a un objeto insEKF .

sensor1 = insAccelerometer;
sensor2 = insAccelerometer;
filterOrientation = insEKF(sensor1,sensor2,insMotionOrientation)
filterOrientation = 
  insEKF with properties:

                   State: [13x1 double]
         StateCovariance: [13x13 double]
    AdditiveProcessNoise: [13x13 double]
             MotionModel: [1x1 insMotionOrientation]
                 Sensors: {[1x1 insAccelerometer]  [1x1 insAccelerometer]}
             SensorNames: {'Accelerometer'  'Accelerometer_1'}
          ReferenceFrame: 'NED'

Dado que el objeto insMotionOrientation no modela la aceleración lineal, el filtro no estima la aceleración.

stateinfo(filterOrientation)
ans = struct with fields:
             Orientation: [1 2 3 4]
         AngularVelocity: [5 6 7]
      Accelerometer_Bias: [8 9 10]
    Accelerometer_1_Bias: [11 12 13]

Cree otros dos objetos insAccelerometer y páselos a un nuevo objeto insEKF . Dado que el objeto insMotionPose modela la aceleración lineal, el filtro estima la aceleración.

sensor3 = insAccelerometer;
sensor4 = insAccelerometer;

filterPose = insEKF(sensor3,sensor4,insMotionPose)
filterPose = 
  insEKF with properties:

                   State: [22x1 double]
         StateCovariance: [22x22 double]
    AdditiveProcessNoise: [22x22 double]
             MotionModel: [1x1 insMotionPose]
                 Sensors: {[1x1 insAccelerometer]  [1x1 insAccelerometer]}
             SensorNames: {'Accelerometer'  'Accelerometer_1'}
          ReferenceFrame: 'NED'

stateinfo(filterPose)
ans = struct with fields:
             Orientation: [1 2 3 4]
         AngularVelocity: [5 6 7]
                Position: [8 9 10]
                Velocity: [11 12 13]
            Acceleration: [14 15 16]
      Accelerometer_Bias: [17 18 19]
    Accelerometer_1_Bias: [20 21 22]

Fusionar una medida de sensor3.

fuse(filterPose,sensor3,[1 1 1],eye(3))
ans = 22×1

    0.9958
    0.0649
   -0.0649
         0
         0
         0
         0
         0
         0
         0
      ⋮

Algoritmos

El objeto insAccelerometer modela la lectura del acelerómetro como aceleración en el marco del sensor. Dependiendo de si el objeto insEKF estima la aceleración lineal en las ecuaciones de estado, la ecuación de medición toma una de dos formas:

  • Si el objeto insEKF no estima el estado de aceleración, la ecuación de medición es:

    h(x)=gsensor+Δ

    donde h(x) es la salida de medición tridimensional, g sensor es la aceleración gravitacional expresada en el marco del sensor, y Δ es la polarización tridimensional del sensor, modelada como un vector constante en el marco del sensor.

  • Si el objeto insEKF estima el estado de aceleración, la ecuación es:

    h(x)=gsensor+asensor+Δ

    donde a sensor es la aceleración, excluida la aceleración de la gravedad, expresada en el marco del sensor.

Pasar un objeto de insAccelerometer a un objeto de filtro insEKF permite que el objeto de filtro rastree adicionalmente la polarización del acelerómetro. Internamente, el objeto insEKF decide si el estado de aceleración se estima llamando a su función de objeto stateparts .

Historial de versiones

Introducido en R2022a

Consulte también

|