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.

predict

Predecir la pose y la velocidad del factor.

Desde R2022a

Descripción

ejemplo

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

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 siguiente 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 consta del cuaternión de posición y orientación tridimensional del factor de la forma [x y z w qx qy qz].

Velocidad tridimensional anterior, especificada como un vector de tres elementos de la forma [vx vy vz].

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

Argumentos de salida

contraer todo

Cuaternión de orientación y posición tridimensional prevista, devuelto como un vector de siete elementos de la forma [x y z w qx qy qz]..

Velocidad tridimensional predicha, devuelta como un vector de tres elementos de la forma [vx vy vz].

Capacidades ampliadas

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

Historial de versiones

Introducido en R2022a