Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

predict

Predecir la pose y la velocidad del factor.

Desde R2022a

Descripción

[predictedpose,predictedvel] = predict(factor,prevpose,prevvel,prevbias) predice la pose predictpose y la velocidad predictedvel del factor factor basándose en las lecturas de la IMU y la pose inicial, prevpose, la velocidad prevvel y el sesgo prevbias.

ejemplo

Ejemplos

contraer todo

Prediga la siguiente pose y velocidad de un factor IMU en función de la pose, la velocidad y los sesgos anteriores.

Configure parámetros como los ID de los nodos conectados, la frecuencia de muestreo, el ruido y las lecturas. Luego cree un factor IMU con estos parámetros como argumentos.

nodeID = [1,2,3, 4,5,6];
sampleRate = 400; % Hz
gyroBiasNoise = 1.5e-9 * eye(3);
accelBiasNoise = diag([9.62e-9, 9.62e-9, 2.17e-8]);
gyroNoise = 6.93e-5 * eye(3);
accelNoise = 2.9e-6 * eye(3);
  
gyroReadings = [ -0.0151    0.0299    0.0027
                -0.0079    0.0370   -0.0014
                -0.0320    0.0306    0.0035
                -0.0043    0.0340   -0.0066
                -0.0033    0.0331   -0.0011];
accelReadings = [   1.0666    0.0802    9.9586
                   1.1002    0.0199    9.6650
                   1.0287    0.3071   10.1864
                   0.9077   -0.2239   10.2989
                   1.2322    0.0174    9.8411];
  
f = factorIMU(nodeID, sampleRate, gyroBiasNoise, accelBiasNoise, ...
             gyroNoise, accelNoise, gyroReadings, accelReadings, ReferenceFrame="NED");

Predecir la pose y la velocidad

Configure mediciones de pose, velocidad y sesgos anteriores para usarlas para predecir la siguiente pose y velocidad.

prevpose = rand(1,7);
prevvel = rand(1,3);
prevaccelbias = rand(1,3);
prevgyrobias = rand(1,3);
prevbiases = [prevgyrobias,prevaccelbias]
prevbiases = 1×6

    0.4854    0.8003    0.1419    0.1576    0.9706    0.9572

Utilice la función predict y las mediciones anteriores para predecir la próxima pose y velocidad.

[predictedpose,predictedvel] = predict(f,prevpose,prevvel,prevbiases)
predictedpose = 1×7

    0.8220    0.9170    0.1383    0.6307    0.7048    0.1055    0.3071

predictedvel = 1×3

    0.6202    0.8395    0.8509

Argumentos de entrada

contraer todo

Factor IMU, especificado como un objeto factorIMU.

Pose anterior del factor, especificada como un vector de siete elementos. La pose consiste en el cuaternión de posición y orientación 3-D del factor con la forma [x y z w qx qy qz].

Velocidad 3-D anterior, especificada como un vector de tres elementos con la forma [vx vy vz].

Sesgos 3-D anteriores del giroscopio y del acelerómetro, especificados como un vector de seis elementos con la forma [gx gy gz ax ay az].

Argumentos de salida

contraer todo

Cuaternión de posición y orientación 3-D predicho, devuelto como un vector de siete elementos con la forma [x y z w qx qy qz].

velocidad 3-D prevista, devuelta como un vector de tres elementos con la forma [vx vy vz].

Capacidades ampliadas

expandir todo

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

Historial de versiones

Introducido en R2022a