/ / Dati MPU9150 (gyro, mag, acce, ad esempio 9DoF) a Quaternion - algoritmo, arduino, mpu

Dati MPU9150 (gyro, mag, acce, ad esempio 9DoF) in Quaternion - algoritmo, arduino, mpu

Ho affrontato un problema serio ieri. Sto cercando di trovare la posizione assoluta di un oggetto usando MPU9150. Ha giroscopio, accelerometro e magnetometro. Ognuno di loro fornisce informazioni in 3 assi (x, y, z). Sto cercando come convertire questi 9 numeri in Quaternion, che poi convertirò in Eulero. Ho trovato alcune librerie ma ... Sto cercando spiegazioni su cosa fare con i dati grezzi del sensore, perché in ogni libreria stanno elaborando i dati dal magnetometro in modo diverso.

Per ottenere i dati dal sensore sto usando un po 'di lib, che sta solo leggendo i dati in base al seguente codice:

mx = MPU9150_readSensor(MPU9150_CMPS_XOUT_L,MPU9150_CMPS_XOUT_H);
my = MPU9150_readSensor(MPU9150_CMPS_YOUT_L,MPU9150_CMPS_YOUT_H);
mz = MPU9150_readSensor(MPU9150_CMPS_ZOUT_L,MPU9150_CMPS_ZOUT_H);
gx = (MPU9150_readSensor(MPU9150_GYRO_XOUT_L,MPU9150_GYRO_XOUT_H)/32768.0)*250.0;
gy = (MPU9150_readSensor(MPU9150_GYRO_YOUT_L,MPU9150_GYRO_YOUT_H)/32768.0)*250.0;
gz = (MPU9150_readSensor(MPU9150_GYRO_ZOUT_L,MPU9150_GYRO_ZOUT_H)/32768.0)*250.0;
ax = (MPU9150_readSensor(MPU9150_ACCEL_XOUT_L,MPU9150_ACCEL_XOUT_H)/32768.0)*2.0;
ay = (MPU9150_readSensor(MPU9150_ACCEL_YOUT_L,MPU9150_ACCEL_YOUT_H)/32768.0)*2.0;
az = (MPU9150_readSensor(MPU9150_ACCEL_ZOUT_L,MPU9150_ACCEL_ZOUT_H)/32768.0)*2.0;

L'accelerazione è misurata in G, non in m / s / s.

Quindi usando questo codice ottengo i seguenti dati:

mx = 104.0f; my = 104.0f; mz = 106.0f;
gx = -1.62f; gy = 0.12f; gz = 0.32f;
ax = -0.01f; ay = -0.1f; az = 1.0f;

Quindi ho provato a ruotare l'oggetto di 180 gradi (attorno a Z) ei dati sono i seguenti:

mx = 116.f; my = 116.f; mz = 115.f;
gx = -1.63f; gy = 0.18f; gz = 0.58f;
ax = -0.02f; ay = -0.06f; az = 1.01f;

risposte:

0 per risposta № 1

Spero che questo ti aiuti,

Non è semplice.

https://learn.adafruit.com/ahrs-for-adafruits-9-dof-10-dof-breakout/sensor-fusion-algorithms