Gast
#2938796
Hallo zusammen Ich habe bereits viele Foren und Dokumente durchsucht, habe jedoch noch keine wirkliche Antwort auf mein Problem gefunden: Ich habe ein System, welches mit einem 3-achsigen Gyrosensor und einem 3-achsigen Beschleunigungssensor ausgerüstet ist. Von diesem System soll nun die relative Lage im Raum nachverfolgt werden. Relativ meine ich, weil ich ohne Kompass die genaue Richtung ja nicht ermitteln kann. Gesucht ist also nur die Änderung in Bezug zum Einschaltzeitpunkt. Es ist auch keine Strecke, die eventuell zurückgelegt wird, gesucht, sondern nur die Drehungen. Dabei kann das System um jede Achse volle 360°-Drehungen ausführen. Ich bin nun auf das Komplementärfilter gestossen, welches den Winkel um eine Achse jeweils mit Winkel_x = A*(Winkel_x + Gyro_x*dt) + (1-A)*(atan(Acc_y/Acc_z)) berechnen soll. Diese Berechnung hatte ich dann für jede Achse gedacht. Jedoch gibt es ja zB. den Fall, dass das System um die Horizontale dreht, was der Gyrosensor erfasst, der Beschleunigungssensor jedoch nicht. Auch gibt es den Fall, dass, wenn eine Beschleunigungsrichtung Lotrecht vorhanden ist, die anderen zwei Richtungen sehr klein sind. Wenn diese nun ändern, ergibt der atan() davon bereits sehr grosse Winkel, obwohl gar nicht gedreht wurde. Meine Frage ist nun: Ist das Komplementärfilter überhaupt für eine solche Aufgabe zu gebrauchen oder ist dies "nur" für Systeme, welche in der Horizontalen liegen und auf diese Position geregelt werden soll, anwendbar (also zB. Nick und Roll)? Denn alle Informationen, die ich bis jetzt fand, bezogen sich nur auf ein 1- oder 2-achsiges System. Falls es funktionieren sollte, hat jemand Informationen, wie man dies auf dieses genannte System anwenden kann? Oder ist in diesem Fall ein Kalman-Filter notwendig (was sicher ein, wenn möglich zu vermeidender, grösserer Aufwand darstellen würde)? Über Antworten oder Anregungen wäre ich sehr dankbar! Gruss Humpty