Beschleunigungsmesser oder GPS für diese Ortung?

  • 16 Antworten
  • Letztes Antwortdatum
F

Felix Bartelt

Neues Mitglied
0
Ich muss vorwegschicken, dass ich gar keine Ahnung vom Thema habe. Ich hoffe, das Thema passt trotzdem hier rein:

Ich stehe vor der Frage, welche Art der Messung für meine Zwecke geeigneter ist.

1. Fall: Ich möchte auf relativ freiem Feld außerhalb der Stadt Distanzen zu einem fest hinterlegten Punkt auf Knopfdruck messen, sobald ich an einem neuen Standort angekommen bin.
Bekannt ist:
- Die genaue Koordinate des Referenzpunktes
- Die genaue Koordinate meines Startpunktes
(notfalls könnten zwischendrin auch per GPS die Standorte gemessen werden.)

Macht es mehr Sinn, für die Distanzmessung jedes mal den neuen Standort per GPS zu ermitteln oder kann man das auch über den Beschleunigungsmesser machen?

Hauptziele:
- möglichst genaue Distanzmessung
- lange Laufzeit
- schnelle Messung auf Knopfdruck

2. Fall:
Wie oben. Aber über ca. 5 Stunden soll der Standort alle 30 Sekunden automatisch festgestellt werden. Hierbei ist die Genauigkeit nicht mehr so wichtig wie in Fall 1. Eine Abweichung um 10 m wäre akzeptabel. GPS oder Beschleunigungsmesser?

Hauptziel:
- lange Laufzeit

Vielen Dank für Eure Hilfe!
 
Das Problem mit dem Beschleunigungsmesser ist doch, dass der nur beschleuigungen misst ;)
Wenn du dein Telefon nun mit konstanter Geschwindigkeit bewegst dürfte der gar nix messen.
Zumindest in der Theorie ist der Beschleunigungsmesser nicht dazu zu gebrauchen einen Standort zu erkennen. In der Praxis könnte das natürlich funktionieren, da man das Handy meisten nicht komplett ruhig hält.
Trotzdem bin ich mir nicht so sicher ob das so genau ist
 
Naja er könnte eine Art "Schrittzähler" (gibts unzählige im Store) machen und so anhand der Körpergröße zumindest einen ungefähren Standort errechnen. Jedes mal wenn der Beschleunigungssensor also ausschlägt und abrupt stoppt ist ein Schritt. Wobei natürlich die GPS-Standortermittlung sehr viel genauer ist, zudem die erstgenannte Methode nur bei einer geraden Strecke funktioniert. Mfg
 
Ja ich weiß das es sowas gibt, allerdings taugt das meines erachtens wirklich nur als Schrittzähler.
Sobald ich nicht laufe sondern z.B. ein Fahrradnutze ist das hinfällig oder halt schon wenn ich eine Kurve oder um die Ecke laufe.
Dazu kommt noch, dass das Handy so gelagert sein muss, dass es das auch mitbekommt.
Ich halte den Beschleunigungsmesser deshalb nach wie vor nicht dafür geeignet.
Zumal sein erstes Hauptziel ja eine genaue Messung ist. Das wird mit dem "schrittzähler" nichts.
 
Da du dich außerhalb der Stadt befindest, sind die GPS Sateliten sehr genau. Ich würde dir raten, den location Service zu nutzten. Hier kannst du auch den Updateintervall bestimmen. Suchs einfach mal bei Google, es gibt genug Beispiele die man eigentlich 1 zu 1 übernehmen kann..

Der location service kann verschieden konfiguriert werden. Je nach dem wie genau du es brauchst kann er auf verschiedene Ortungsverfahren zurückgreifen.


Der Beschleunigungsmesser egnet sich sehr wenig dazu. Theoretisch gesehen, kannst du hier durch Integralbildung die gelaufene distanz bestimmen.. aber mal ernsthaft.. wer macht son scheiß :D
 
Ich würde dir auch auf jeden Fall GPS empfehlen da die andere Variante ziemlich ungenau ist, vor allem wenn du z.B. mit 80 cm Schritten rechnest und dann bei jedem Schritt ungefähr auch nur 5 cm abweichst macht das "50 Meter" abweichung pro 1000 Schritten. GPS verbraucht auch nicht SO viel Akku, dass es zum Problem werden könnte.
 
Vielen Dank schon mal für die Antworten.

Wir hatten bei einem Messintervall von 20 Sekunden beim GPS das Problem, dass die Geräte nicht über die geforderte Zeit genug Akku hatten. Und das bei vollen Akkus, was im späteren Einsatz nicht von allen Geräten zu erwarten ist. Insofern ist eine energiesparende Arbeitsweise sehr wichtig.

Wäre es denn denkbar, die folgende Kombination anzuwenden, wenn eine Genauigkeit von 10 Metern ausreichen würde:

Ortung alle 2 Minuten via GPS. Zwischen den GPS-Ortungen (Person bewegt sich maximal 400 Meter) wird der Beschleunigungsmesser benutzt, um die Position festzustellen. Dann wieder GPS und so weiter...

Würde das die Batterie schonen?
Ist der Accelerometer tatsächlich ein "Schrittzähler" oder funktioniert der auch, wenn ich mein Smartphone in einer Satteltasche auf einem langsam fahrenden Fahrrad benutze?
 
Ich denke auf dem Fahrrad in der Satteltasche dürfte das noch schlechter funktionieren als zu Fuß.

Nehmen wir (theoretisch) an, die Strecke ist vollkommen eben, sobald das Fahrrad eine konstante geschwindigkeit erreicht hat und mit dieser fährt, erhält der Sensor absolut keine Daten mehr.

Natürlich wird das in echt nicht vorkommen, aber der Beschleunigungsmesser allein kann z.B. nicht entscheiden ob man bremst oder ob er "zurück" beschleunigt wird.

Wie gesagt das ist zwar mehr theoretisch, weil man in echt vermutlich nicht längere zeit eine wirklich konstante geschwindigkeit erreicht.

Trotzdem kann ich mir nicht vorstellen, dass man nur damit eine relativ genaue Ortung hinbekommt.
 
Die Bestimmung des Ortes über die Beschleunigungssensoren haben zunächst folgende Probleme:

1.) Kein ruhendes/definiertes System des Handys ( kann irgendwie schief in der Hosentasche liegen)

2.) Die Ortsbestimmung über Beschleunigung ist nur exakt bestimmt für bekannte Anfangswerte und Randbedingungen. D.h. bei Bestimmung des Ortes über die Differentialgleichung ist ein Parameter für die Anfangsgeschwindigkeit und den Anfangsort gegeben. Sind beide zu beginn exakt bekannt kann im folgenden auch die Ortsbestimmung erfolgen.

Lösung für 1.)

Um das KOS( Koordinatensystem) des Handys sinnvoll zu eichen kann man z.B. die Erdbeschleunigung verwenden und somit die relative lage des Sensors zur Erde bestimmen. Falls kein Erdbeschleunigungssensor vorhanden kann dies auch über Mittelung des Beschleunigungssensors erfolgen.
Zum anderen könnte man (falls vorhanden) in Abwesenheit störender anderer Magnetfelder über den Magnetsensor die Lage des Handys ermitteln, da mittlerweilen die Sensoren so gut sind und das Erdmagnetfeld zumindest qualitativ darzustellen.

Lösung für 2.)

Der Anfangsort ist laut deinem Post bestimmt, wodurch nur noch der Freiheitsgrad der Geschwindigkeit bleibt.
Um diesen zu eliminieren kann man z.B. eine Eichphase beim Start des Programmes einbauen, in der es still gehalten werden muss, wodurch deine Anfangswerte für die Geschwindigkeit auf 0 gesetzt werden.

Anschließend kann z.B. über Euler-Algorithmus oder Velocitiy-Verlet -Algorithmus (etwas genauer) die veränderte Ortslage bestimmt werden.

Für beide Anwendungen sind die Wiki Einträge sehr brauchbar.


Genauigkeit:

Mit den Werten aus den Sensoren und den oben genannten Numerischen Verfahren sollte eine Halbwegs sinnvolle Analyse des Standortes drin sein. Jedoch ist zu beachten dass sowohl die Sensoren als auch der Algorithmus zur Berechnung nicht ohne all zu kleinen Akku-Verbrauch laufen. Dass müsst ihr einfach testen.

Hoffe ich konnte helfen.

mfg Yrrel
 
Zuletzt bearbeitet:
Misst der Beschleunigungsmesser denn wirklich nur zunehmende oder auch abnehmende Beschleunigung?

Im Falle von beidem wäre mein Gedanke folgender:
Wenn ich weiß, wie schnell beschleunigt wurde, kenne ich doch die Geschwindigkeit.
Wenn dann eine Bremswirkung festgestellt wird, müsste ich doch anhand der bekannten Geschwindigkeit und der Zeit bis zur abnehmenden Beschleunigung auch die Strecke feststellen können?

Dann müsste das ganze doch unabhängig von der Schrittzahl, -länge, Körpergröße oder der Beschaffenheit des Untergrundes sein?

Der ursprüngliche Beitrag von 13:27 Uhr wurde um 13:30 Uhr ergänzt:

Vielen Dank Yrrel. Habe Dein Post erst jetzt gesehen.
 
Wegen zunehmender und abnehmender Beschleunigung (ich glaube du meinst positiver und negativer):

Der Sensor misst JEDE Beschleunigung. Beim Bremsen misst er einfach eine negative Richtung der Beschleunigung.

Darüber jedoch keinen Kopf machen. In die Algorithmen einsetzen und die machen das von alleine. Falls du jedoch genau wissen möchtest kannst du ja nochmal fragen, dann erklär ichs =)

Jedoch nicht vergessen: Die Anfangsgeschwindigkeit muss bekannt sein! (Falls man z.B. mit einem Auto fährt auf den Tacho schaun ^^)
 
Ok. Vielen Dank! So habe ich mir das ungefähr vorgestellt.
Das heißt dann ja, dass es egal ist, ob der Nutzer geht oder auf glatter Ebene fährt.

Könnte man die Akku-Leistung verbessern, wenn man die Berechnung des Höhenunterschiedes aus der Berechnungsmethode streicht, weil in meinem Fall z. B. nur in flachem Gelände gemessen wird?

Gibt es irgendwelche offiziellen Angaben über die Abweichungen für diese Berechnungsmethode. Z. B. in dieser Form: Beim Beschleunigungsmesser im Samsung Galaxy S3 weicht die tatsächliche Position von der gemessenen Position auf 100 Meter um maximal 5 m ab?
 
Jedoch ist der systematische Fehler so groß, dass du nichts mit dem Ergebniss anfangen kannst.

Zumindest ist das so, wenn man das bei quadrocoptern berechnet. Dort wird für die Positionsbestimmung auch immer das GPS herangezogen...

Hierbei kommt es weniger auf den zurückgelegten Weg, sondern auf die Messdauer an.
 
Ob der Nutzer geht oder auf einer glatten Oberfläche sich bewegt wird in sofern mit bedacht, indem einfach durch die Berechnung eine 3-dimensionale Bewegung berechnet wird. Deswegen ist es nicht einfacher ob er läuft oder sich das Handy auf einer Linie bewegt, es wird die komplette Bewegung quasi "simuliert" und anschließend kann man die Simulation dann auswerten und nur den Anteil entlang der Erdoberfläche oder der Luftlinie herausrechnen.

Du musst aber auf jeden Fall immer zunächst die gesamte Bewegung berechnen, wenn du auf die Beschleunigungssensoren zurückgreifen willst. D.h. keine wirklich Rechenersparnis. Ich denke jedoch dass die Rechenleistung im Vergleich zum Sensorverbrauch nicht so endscheident ist.



Offizielle Angaben über die Abweichung kann man schlecht machen, da es darauf ankommt:
- Welche Genauigkeit du für die Beschleunigungssensoren hernimmst (gibt denke ich 3 verschiedene)
- Welche Näherung du verwendest
- Wie oft du iterierst, also wie viele Schritte der Berechnung du durchführst
Du wirst lediglich den Fehler des Beschleunigungssensors iwo im Netz finden können.

Allerdings gibt es denke ich schon Apps die über Beschleunigung die Geschwindigkeit etc. ausrechnen. Du könntest die ja mal runterladen und deren Abweichung testen.


PS: Den systematischen Fehler kann man durch eine Kalibrierung mit der Erdbeschleunigung entfernen. Das haben systematische Fehler so an sich.
Der systematische Restfehler aufgrund der Ungenauigkeit könnte aber ein Problem werden.
 
Möögliche auftretende Messfehler:
Temperaturabhängiger Messfehler
Quantisierungsfehler
Systematischer Messfehler des Meswerks (ok kann wegkalibriert werden)

vergesse ich da noch etwas wesentliches?

Das alles addiert sich auf, da du ja die Beschleinigung Integrieren musst (s = a/2 *t * t, der sensor misst für delta t). Dazu kommt auch noch dass das Messwerk kleinere Ungenauigkeiten hat, was sich auch noch aufaddiert..

Ich denke die energiesparende Messung mit dem LocationManager ist sinnvoller. Oder du baust die GPS Verbinung halt erst auf wenn du den Punkt messen möchtest. Dauert halt ein wenig, aber da du dich ja auf einem freien Feld befindest, sollte das kein Problem darstellen.


Hier gibt es ein Beispiel: http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/

Du könntest also auch den Standort mittels GPRS ermitteln, sollte etwas ungenauer sein, aber vielleicht reicht es für deine Zwecke aus. Der Akkuverbrauch sollte dort nicht erheblich größer sein, da das Handy ehh immer die Funkverbindung hält.
 
Zuletzt bearbeitet:
Die Temperaturabhängigkeit kann man denke ich weglassen. Hab meinen Sensor mal mit unterschied von 20 Grad messen lassen und kam keine wesentliche Abweichung raus.

Über Quantisierungsfehler kann ich nichts sagen.

Aber ich gebe dir völlig recht, dass wohl die GPS-variante am einfachsten! und evtl auch am energiesparendsten ist.
 
Zur Abweichung: Kann man da Schätzungen anstellen, wie groß die Abweichung nach 2 Minuten wäre (nur ganz grob, z. B.: 10 m, 50 m)?

Ich habe mal irgendwo gelesen, dass der Beschleunigungsmesser wesentlich energieeffizienter ist, als eine GPS-Messung.

Leider finde ich den Artikel nicht mehr, und ich bin mir auch nicht sicher, wie sich das verhält, wenn die GPS-Messung nur alle 30 Sekunden erfolgt, während der Accelerometer permanent laufen müsste.
Wahrscheinlich sieht die Akkuleistung dann schon wieder anders aus.

(Mich interessiert allerdings nur der Standort alle 30 Sekunden. Und der auch nur mit einer Genauigkeit von 10 Metern. Alles, was dazwischen war, interessiert mich nicht.)
Daher noch eine weitere Frage: Ist der Akku-zeerende Vorgang beim Accelerometer der Algorithmus dahinter oder die bloße Messung der Beschleunigung?
Falls es der Algorithmus ist: Kann man Energie sparen, indem man die Berechnung des Standortes nur einmal alle 30 Sekunden vornimmt?
(Nach meiner sehr beschränkten Logik wäre es weniger Rechenaufwand, die gesamten Beschleunigungsdaten der letzten 30 Sekunden in einen neuen Standort umzurechnen, als 30 mal jede Sekunde einen Standort zu berechnen und ausgehend von diesem dann den nächsten zu berechnen.)

Hat jemand vielleicht einen Tipp für eine App, die Accelerometer-basiert arbeitet, so dass ich mal testen kann, wie lange mein Akku bei permanent laufendem Accelerometer hält?
 
Zurück
Oben Unten