Main Content

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

poseHistory

Récupérer l'historique des poses corrigées et prédites

Depuis R2021b

    Description

    exemple

    [correctedPose,predictedPose] = poseHistory(slamObj) récupère l'historique des poses corrigées et prédites jusqu'à la pose actuelle.

    Remarque

    Pour utiliser cette fonction lors de la génération de code, vous devez spécifier la propriété MaxNumPoseStored de l'objet ekfSLAM . Sinon, cette fonction renvoie une erreur.

    Exemples

    réduire tout

    Spécifiez l'état initial du véhicule.

    initialState = [1; -2; 0.1];

    Spécifiez les positions initiales des points de repère.

    landmarkPosition = [15.8495; -12.9496;
                        25.2455; -15.4705;
                        37.5880;   3.1023;
                        16.5690;   2.7466];

    Spécifiez la covariance de l'état initial du véhicule.

    initialStateCovar = diag([0.1*ones(1,3) 1.1*ones(1,8)]);

    Créez un objet ekfSLAM avec un état initial et une covariance de l'état initial.

    ekfSlamObj = ekfSLAM('State',[initialState; landmarkPosition], ...
                         'StateCovariance',initialStateCovar);

    Spécifiez l’entrée de contrôle et la taille du pas de temps pour la fonction de transition d’état.

    velocity = [1 0];
    timeStep = 0.25;

    Appelez la fonction predict .

    predict(ekfSlamObj,velocity,timeStep);

    Spécifiez la mesure et la covariance de mesure pour la fonction d'association de données.

    measurement = [18.4500 -0.7354; 
                   27.7362 -0.6071;
                   36.9421  0.0386; 
                   16.2765  0.1959];
    measureCovar = [0.1^2 (1.0*pi/180)^2];

    Appelez la fonction correct .

    validationGate = 5.991;
    associations = correct(ekfSlamObj,measurement, ...
                           measureCovar,validationGate);

    Obtenez l'historique des poses.

    [corrPose,predPose] = poseHistory(ekfSlamObj)
    corrPose = 1×3
    
        1.1609   -1.9736    0.0981
    
    
    predPose = 1×3
    
        1.2488   -1.9750    0.1000
    
    

    Arguments d'entrée

    réduire tout

    Objet EKF SLAM, spécifié comme objet ekfSLAM .

    Arguments de sortie

    réduire tout

    Poses corrigées, renvoyées sous la forme d'une matrice M-par 3 avec des lignes de la forme [X Y Yaw]. X et Y précisent la position en mètres. Yaw précise l'orientation en radians.

    Poses prédites, renvoyées sous la forme d'une matrice M-par 3 avec des lignes de la forme [X Y Yaw]. X et Y précisent la position en mètres. Yaw précise l'orientation en radians.

    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 R2021b

    Voir aussi

    Objets

    Fonctions