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.

insGPS

Modelo de lecturas de GPS para fusión de sensores.

Desde R2022a

Descripción

El objeto insGPS modela lecturas de GPS para la fusión de sensores. Pasar un objeto insGPS a un objeto insEKF permite que el objeto insEKF fusione datos de posición y velocidad opcionales. Para obtener detalles sobre el modelo de GPS, consulte Algoritmos.

Creación

Descripción

sensor = insGPS crea un objeto insGPS . Pasar el sensor creado a un objeto insEKF permite que el objeto insEKF fusione datos de posición y velocidad opcionales. Al fusionar datos con la función de objeto fuse de insEKF, pase sensor como segundo argumento para identificar los datos obtenidos de un GPS. .

Para habilitar la estimación de posición y velocidad en insEKF, utilice un modelo de movimiento que modele los estados de posición y velocidad, como el objeto insMotionPose .

ejemplo

Propiedades

expandir todo

Origen del marco de referencia de navegación local, especificado como un vector fila de tres elementos en coordenadas geodésicas [latitude longitude altitude]. La altitud es la altura sobre el modelo de elipsoide de referencia, WGS84, en metros. La latitud y la longitud están en grados.

El marco de referencia es un marco noreste abajo (NED) o este-norte arriba (ENU), basado en la propiedad ReferenceFrame del objeto insEKF .

Tipos de datos: single | double

Ejemplos

contraer todo

Cree un objeto insGPS y páselo a un objeto insEKF .

sensor = insGPS;
filter = insEKF(sensor)
filter = 
  insEKF with properties:

                   State: [16x1 double]
         StateCovariance: [16x16 double]
    AdditiveProcessNoise: [16x16 double]
             MotionModel: [1x1 insMotionPose]
                 Sensors: {[1x1 insGPS]}
             SensorNames: {'GPS'}
          ReferenceFrame: 'NED'

Muestra la información del estado del filtro. Dado que el sensor GPS informa mediciones de posición, el filtro modela de forma predeterminada el movimiento de rotación y traslación.

stateinfo(filter)
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]

Suponga una medición de posición GPS de 10 grados de latitud, 10 grados de longitud y 10 metros de altitud. La medida de velocidad del GPS es [5 5 0] en m/s.

lla = [10 10 10];
vel = [5 5 0];
llaNoise = eye(3);
velNoise = 0.1*eye(3);

Fusionar la medición de la posición GPS.

state = fuse(filter,sensor,lla,llaNoise)
state = 16×1
105 ×

    0.0000
         0
         0
         0
         0
         0
         0
    5.5013
    5.4542
    0.9585
      ⋮

Fusione la medición de la posición GPS junto con la medición de la velocidad.

measure = [lla vel];
measureNoise = blkdiag(llaNoise,velNoise);
state2 = fuse(filter,sensor,measure,measureNoise)
state2 = 16×1
105 ×

    0.0000
         0
         0
         0
         0
         0
         0
    7.3350
    7.2722
    1.2779
      ⋮

Algoritmos

El objeto insGPS modela la lectura del GPS como la posición de longitud, latitud y altitud (LLA) y datos de velocidad opcionales en el marco de navegación.

Dependiendo de si incluye los datos de velocidad cuando usa la función de objeto fuse de insEKF, la ecuación de medición toma una de dos formas:

  • Si no fusiona los datos de velocidad, la medida es la latitud en metros, la longitud en grados y la altitud en metros (LLA).

  • Si fusiona datos de velocidad, la medida es la medida LLA, y la velocidad de la plataforma en m/s, expresada en el marco de referencia definido por la propiedad ReferenceLoation del insGPS objeto $ y la propiedad ReferenceFrame del objeto insEKF .

Historial de versiones

Introducido en R2022a

Consulte también

|