Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
724 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: TSphere mithilfe MotionSensor drehen?

  Alt 28. Apr 2017, 13:52
Hallo derseitzer,

hast du dir die von mir empfohlene (oder eine andere) App geholt um zu prüfen, was alles an Sensoren in deinem Handy vorhanden ist?

Grund: Wahrscheinlich könntest du einen geeigneteren Sensor verwenden für deine App.

Der von dir verwendete "Magnetometer Sensor" gibt dir - wenn ich mich nicht irre - den Vektor [kartesisches Koordiantensystem, nicht Polarkoordinaten] auf den magentischen Pol zurück. Genauer natürlich den Vektor auf die Summe aller Vektoren, welche auf die magnetischen Dinge deiner Welt zeigen - Kühlschrankmagnet mit eingeschlossen ].

Du hast also viele Einflüsse inkl. Messprobleme...

Wenn du echt diesen Vektor nutzen willst, dann wäre evt. eine Umrechnung der Heading Werte in Polarkoordinaten OK.

Runden bringt nichts, du holst dir damit noch mehr Probleme an Bord. Stell dir vor, du rundest immer auf ganzzahlige 5er. Aus dem Sensor ermittelst du Daten 2.4, 2.4, 2.5, 2.4, 2.5, dann rechnest du um auf 0, 0, 5, 0, 5. Und damit springt dein Modell viel stärker, als wenn du die "echten" Werte nutzen würdest.

Was du tun könntest:
Verbessere den Code und Suche im Web nach Glätten/Filtern/Rauschen
Schau noch einmal ins Codebeispiel von Emba. Du siehst, dass dort die Werte schlecht abgegriffen werden (Android). Du rufst den X Wert ab, das Programm frisst nun alle Sensorevents bis zum letzten und nimmt diesen Messwert [Tipp:greife auch alle anderen Events ab], nun fragst du Y ab und das Programm frisst wieder alle Sensorevents und nimmt den letzten Wert. Z genau gleich. Wenn du X,Y,Z rasch hintereinander abfragst wie im Democode, dann liest die Demo den X Wert aus SensorEvent/Messung n, Y aus n+1 und Z aus n+2. Die Elemente x,y,z des Vektors v=(x,y,z) stammen also aus drei voneinander verschiedenen Messungen... nicht gut.

> Greife also direkt alle Vektoren aus dem Sensorevent ab. Also einerseits x,y,z aus der gleichen Messung und alle Messungen.
> Rauschen aus Messwerten entfernen. Glätten/Filtern/Rauschen



https://de.wikipedia.org/wiki/Erdmagnetfeld
Michael Gasser
  Mit Zitat antworten Zitat