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.

poseHistory

Recuperar el historial de poses corregido y previsto

Desde R2021b

    Descripción

    ejemplo

    [correctedPose,predictedPose] = poseHistory(slamObj) recupera el historial de pose corregido y previsto hasta la pose actual.

    Nota

    Para utilizar esta función durante la generación de código, debe especificar la propiedad MaxNumPoseStored del objeto ekfSLAM . De lo contrario, esta función devuelve un error.

    Ejemplos

    contraer todo

    Especifique el estado inicial del vehículo.

    initialState = [1; -2; 0.1];

    Especifique las posiciones iniciales de los puntos de referencia.

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

    Especifique la covarianza del estado inicial del vehículo.

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

    Cree un objeto ekfSLAM con estado inicial y covarianza de estado inicial.

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

    Especifique la entrada de control y el tamaño del paso de tiempo para la función de transición de estado.

    velocity = [1 0];
    timeStep = 0.25;

    Llame a la función predict .

    predict(ekfSlamObj,velocity,timeStep);

    Especifique la medición y la covarianza de medición para la función de asociación de datos.

    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];

    Llame a la función correct .

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

    Obtén el historial de poses.

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

    Argumentos de entrada

    contraer todo

    Objeto EKF SLAM, especificado como un objeto ekfSLAM .

    Argumentos de salida

    contraer todo

    Poses corregidas, devueltas como una matriz M-por 3 con filas de la forma [X Y Yaw]. X y Y especifican la posición en metros. Yaw especifica la orientación en radianes.

    Poses previstas, devueltas como una matriz M-por 3 con filas de la forma [X Y Yaw]. X y Y especifican la posición en metros. Yaw especifica la orientación en radianes.

    Capacidades ampliadas

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

    Historial de versiones

    Introducido en R2021b

    Consulte también

    Objetos

    Funciones