JKalman unter Android implementieren

8

Es gibt viele Fragen zum Entfernen des Rauschens von Beschleunigungsmesserdaten, anderen Sensordaten, Berechnen des raumzeitlichen Zustands und Verwenden eines Kalman-Filters in Android und anderen Geräten.

Offensichtlich ist der einfachste Weg, dies zu tun, die Implementierung des JKalman-Filters auf Android für stabile bewegliche Geräte, zum Beispiel für Autos.

Aber wenn man sich die Beispielimplementierung im JKalman-Code-Paket ansieht, sagt es nicht viel und es unterscheidet sich tatsächlich sehr von anderen Kalman-Implementierungen.

Sie instanziieren eine Kalman-Klasse wie folgt:

%Vor%

Wo nach der Definition

%Vor%

dynam_params ist "die Anzahl der Dimensionen des Messvektors" und measure_params ist "die Anzahl der Zustandsvektorabmessungen" .

Wie sollen die in Android gelesenen Sensordaten diesen zugeordnet werden?

Unten sind die Daten vom Beschleunigungsmesser zu sehen, die alle 500ms abgetastet werden. Bei anderen Zuhörern gibt es Daten von Gyroskop und Kompass. Wie sollte ich diese Daten in Kalman umwandeln?

%Vor%     
duru 06.08.2012, 03:59
quelle

3 Antworten

1

Es scheint, dass Sie 3D JKalman Filter benötigen. Sie können dies versuchen:

%Vor%

Folgen Sie dann dem Beispiel in KalmanTest.java und überprüfen Sie dies bitte auf Fehler.

    
P3k 07.01.2014 23:25
quelle
1

so mache ich es mit 2 Variablen (GPS: LAT, LON):

%Vor%

Aber ich weiß nicht, wie ich den ersten Punkt einstellen soll, ich beginne immer bei (0,0) und nehme 50 Samples, um den Punkt zu erreichen, wobei eine Loop nicht sehr elegant ist.

    
Leo 25.03.2015 12:35
quelle
0

Sie können keine Allzweckpositions-Tracking-App erstellen , einfach weil die Gyroskope zu laut sind. (Ja, die Gyros und nicht der Beschleunigungsmesser.)

Zur Innenpositionierung siehe auch den obigen Link.

    
Ali 06.08.2012 13:31
quelle