Työskentelen nopeuden ja siirtymän löytämiseksi IMU-anturista (MPU9250). Minulla on Navio2 RPi4 -asetus, joka antaa minulle raakatietoja (kiihtyvyys, gyro, magneettinen).
Tutkimukseni mukaan tämä voidaan tehdä seuraavalla menetelmällä;
-
Asennon löytäminen raakatiedoista. (Kvaternionimenetelmällä tai muunnosmatriisilla)
-
Kun asennetiedot ovat saatavilla, laske kiihdytystietoihin vaikuttava painovoima ja poista painovoima kiihtyvyydestä löytääksesi lineaarisen kiihtyvyyden
-
Integroi laskettu lineaarikiihdytys nopeuden ja sijainnin löytämiseksi.
Edellä olevien ohjeiden mukaisesti pystyin laskemaan IMU-anturin asenne seuraamalla Navio2: n esimerkkiä. Esimerkki käyttää Quaternion-menetelmää (Mahony-suodatin) sulauttamaan raakatiedot ja antamaan kvaternionit.
Lähtö on vahvistettu ja toimii täydellisesti. Nyt minun on siirryttävä vaiheeseen 2 eli löydettävä kiihtyvyyteen vaikuttava painovoima.
Kvaternionien käyttö painovoiman löytämiseen:
gx = (2 * (q1 *) q3 - q0 * q2)); gy = (2 * (q0 * q1 + q2 * q3)); gz = ((q0 * q0) - (q1 * q1) - (q2 * q2) + (q3 * q3) );
Nämä painovoima-arvot vähennetään kiihdytystiedoista lineaarisen kiihtyvyyden löytämiseksi. Kun lineaarinen kiihtyvyys on käytettävissä, sen integrointi ajan kanssa antaa nopeuden ja sijainnin. Toteutusta kokeillaan siirtämällä IMU-anturi 100 cm: iin. Aseman tuotos ei kuitenkaan ole odotettua. Raakatiedon yksiköistä on huolehdittu vain siitä, että terveystarkastus toteutuksen kanssa.
Olen muuttanut muuntamaan kvaternionit takaisin pyörimismatriisiksi ja laskemaan nopeus- ja sijaintitiedot.
Kysymykseni on, kuinka löytää kiihtyvyyteen vaikuttava painovoima Quaternionista muunnetun kiertomatriisin avulla.
Pyydän yhteisöä auttamaan minua arvokkailla panoksillaan ja viitteillään. .
Kiitos.