Main Content

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

insGPS

Modèle de lectures GPS pour la fusion de capteurs

Depuis R2022a

Description

L'objet insGPS modélise les lectures GPS pour la fusion de capteurs. Passer un objet insGPS à un objet insEKF permet à l'objet insEKF de fusionner les données de position et de vitesse facultatives. Pour plus de détails sur le modèle GPS, voir Algorithmes.

Création

Description

exemple

sensor = insGPS crée un objet insGPS . Passer le sensor créé à un objet insEKF permet à l'objet insEKF de fusionner les données de position et de vitesse facultatives. Lors de la fusion de données avec la fonction objet fuse de insEKF, transmettez sensor comme deuxième argument pour identifier les données obtenues à partir d'un GPS. .

Pour activer l'estimation de position et de vitesse dans insEKF, utilisez un modèle de mouvement qui modélise les états de position et de vitesse, tel que l'objet insMotionPose .

Propriétés

développer tout

Origine du cadre de référence de navigation locale, spécifié sous la forme d'un vecteur ligne à trois éléments à 3 éléments en coordonnées géodésiques [latitude longitude altitude]. L'altitude est la hauteur au-dessus du modèle ellipsoïde de référence, WGS84, en mètres. La latitude et la longitude sont en degrés.

Le référentiel est un référentiel nord-est-bas (NED) ou est-nord-haut (ENU), basé sur la propriété ReferenceFrame de l'objet insEKF .

Types de données : single | double

Exemples

réduire tout

Créez un objet insGPS et transmettez-le à un objet 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'

Afficher les informations d'état du filtre. Étant donné que le capteur GPS rapporte les mesures de position, le filtre modélise par défaut les mouvements de rotation et de translation.

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]

Supposons une mesure de position GPS de 10 degrés de latitude, 10 degrés de longitude et 10 mètres d'altitude. La mesure de vitesse du GPS est [5 5 0] en m/s.

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

Fusionnez la mesure de position 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
      ⋮

Fusionnez la mesure de position GPS avec la mesure de vitesse.

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
      ⋮

Algorithmes

L'objet insGPS modélise la lecture GPS comme la position de longitude, de latitude et d'altitude (LLA) et les données de vitesse facultatives dans le cadre de navigation.

Selon que vous incluez ou non les données de vitesse lors de l'utilisation de la fonction objet fuse de insEKF, l'équation de mesure prend l'une des deux formes suivantes :

  • Si vous ne fusionnez pas les données de vitesse, la mesure correspond à la latitude en mètres, à la longitude en degrés et à l'altitude en mètres (LLA).

  • Si vous fusionnez les données de vitesse, la mesure est la mesure LLA, et la vitesse de la plateforme en m/s, exprimée dans le référentiel défini par la propriété ReferenceLoation du insGPS et la propriété ReferenceFrame de l'objet insEKF .

Historique des versions

Introduit dans R2022a

Voir aussi

|