Hallo Liebe Community,
das ist mein erster Forum Eintrag (jemals), deshalb verzeihe man mir bitte, falls ich die Umgangsart nicht beherrsche: ![]()
Mein Projekt im ganzen sieht vor, mithilfe von verschiedenen Sensoren (Beschleunigungssensor, Gyrosensor, Magnetometer) die absolute Position im Raum bestimmen kann.
Abgesehen von Ungenauigkeiten der Sensoren, die ich mit Hilfe von Filtern entfernen will, habe ich jedoch das Problem, dass der Gyro bei einer Auslenkung von 90° fast zu 100% replizierbar nur 75° herauskommen. Bei verschiedenen Sensoren das gleiche Ergebnis. Unten findet ihr meinen Code. Die Winkelgeschwindigkeit integriere ich über die Zeit. Auch ist das Ergebnis bei schnellen und langsamen Bewegungen das gleiche. Also ist es nicht die ungenauigkeit des Sensors.
Vielleicht kann mir ja jemand helfen.
Liebe Grüße.
#include <Arduino_LSM6DS3.h>
float rx, ry, rz;
void setup() {
Serial.begin(9600);
IMU.begin();
}
void loop() {
float x, y, z;
if (IMU.gyroscopeAvailable()) {
IMU.readGyroscope(x, y, z);
rx = rx + x * 1 / 104; //104 Hz Abtastrate
ry = ry + y * 1 / 104;
rz = rz + z * 1 / 104;
}
}