Hallo, momentan arbeite ich an der Bachelorarbeit, welche das Thema "Interpolation GPS-basierender Geschwindigkeitsprofile eines PKW" beinhaltet. Ich mache eine Fahrt mit meinem PKW und zeichne diese über einen Sensor namens GY-86, welcher 4 einzelne Sensoren beinhaltet, auf. Darunter sind ein Beschleunigungssensor, Magnetometer, Barometer und ein GPS-Sensor verbaut. Nun möchte ich die Fahrt für bestimmte Bereiche (wie zb.: Tunnel durchfahrt), ohne GPS nachkonstruieren. Ich verwende einen Tiefpassfilter und integriere im Anschluss die Beschleunigung, jedoch ist dieser Wert sehr unzuverlässig. Mit der Interpolation von anfang Tunnel bis ende Tunnel und der berechneten Geschwindigkeit, versuche ich dann den Bereich nachzustellen. Hat hier evtl. jemand eine weitere Idee wie ich am besten diesen Bereich nachkonstruieren kann, ohne einen Geschwindigkeitssensor ? Da die von mir verwendete Methode sehr unzuverlässig ist. Mit freundlichen Grüßen Derand Shyti
:
Verschoben durch User
Du hast doch die Position Tunnelanfang und Tunnelende. Wenn du dir auch noch die Zeiten dazu merkst, kannst du doch die Durchschnittsgeschwindigkeit ausrechnen und mit dieser arbeiten?
Guest schrieb: > Kalman Filter. Für einen Zustandsbeobachter benötigt er jedoch die Systemeigenschaften. Ob der TO das möchte?
Relativ gut zum Einstieg: http://www.cbcity.de/das-kalman-filter-einfach-erklaert-teil-1 ...in Teil 2 gibts dann noch eine Sensorfusion. Mirko
Ist halt so. Allenfalls integrieren ohne vorher tiefpassen. Aendert aber nichts wirklich. Die Mems haben eine zu grosse Drift. Eingebaute Navis werten den Radsensor aus. Allenfalls den Abgleich zwischen Integrator und GPS zum extrapolieren verwenden. Die Differenz zwischen GPS Geschwindigkeit und Geschwindigkeit durch Integrieren der Beschleunigung laesst auf den Beschleunigungsoffset schliessen. Allenfalls kann man durch Auswerten der vertikalen Vibrationen, etwas zur Geschwindigkeit aussagen
Joe G. schrieb: > Guest schrieb: > Kalman Filter. > > Für einen Zustandsbeobachter benötigt er jedoch die Systemeigenschaften. > Ob der TO das möchte? Das ist doch gerade das Interessante. Er kann Daten des Navis, des Verkehrs, des Fahrstils, des Autos in realtime in ein adaptives Modell fusen und damit erhaelt er sicher verdammt genaue Schaetzungen des Systemzustandes. Andererseits, so wie der Autor gefragt hat wird das eher nichts...
Derold S. schrieb: > Ich verwende einen > Tiefpassfilter und integriere im Anschluss die Beschleunigung, jedoch > ist dieser Wert sehr unzuverlässig. Mit der Interpolation von anfang > Tunnel bis ende Tunnel und der berechneten Geschwindigkeit, versuche ich > dann den Bereich nachzustellen. Wenn ich etwas ungenaues integriere kommt halt etwas viel ungenaueres raus. > Hat hier evtl. jemand eine weitere Idee wie ich am besten diesen Bereich > nachkonstruieren kann, ohne einen Geschwindigkeitssensor ? Da die von > mir verwendete Methode sehr unzuverlässig ist. > Warum nicht mit den Beschleunigungen und dem Magnetfeld erstmal eine Theoretische Tunnelstrecke berechnen und anschließend das ganze auf die durchschnittliche Geschwindigkeit skalieren? Außerdem könnte man versuchen die Sensoren mit dem GPS-Signal zu kalibrieren. Wenn es ein modernes Auto ist, kann man auch einfach das Tachosignal über CAN/OBDII anzapfen, ggf gibt es sogar den Lenkungseinschlag. Da gibt es fertige Lösungen.
Hi, dieser Sensor hier hat das alles schon implementiert: http://www.mouser.de/new/bosch-sensortec/bosch-bno55-sensor/ Du könntest direkt den nehmen oder dich eben an diesem orientieren. Er hat verschiedene Modi die dir erlauben die "einzelnen" Sensoren anzusprechen oder eben schon auf fusionierte Werte zuzugreifen. Gruß
Hallo Leute, wow vorerst möchte ich mich bei allen für die schnellen und äußerst qualitativen Antworten bedanken ! Des Weiteren möchte ich noch hinzufügen, dass das Ganze sich um eine Bachelorarbeit handelt, sprich der Sensor ist von meinem Betreuer gewählt, die Geschwindigkeit ist nur über den Sensor zu ermitteln und die Tunnelfahrt soll vollständig ohne GPS Signal nachgestellt werden. Die Fahrt durch den Tunnel ist nicht real, ich entnehme lediglich die Werte aus einem von mir ausgewählten Bereich, dabei muss ich noch herausfinden wie lang die Strecke max. sein darf, in welcher GPS Signal fehlt, bevor die Werte unbrauchbar werden. Das mit der Ermittlung der Durchschnittsgeschwindigkeit ist mir heute auch durch den Kopf gegangen, ich will versuchen im Anschluss die Integration der Beschleunigung (nachdem ich die Nulllage bestimmt habe) mit der Durchschnittsgeschwindigkeit zu vergleichen. Kann ich hier denn keine weitere (einfachere) Methode außer Kalman Filter verwenden ? Wenn ich Kalman verwenden würde, würde ich die Durchschnittsgeschwindigkeit für den eigentlichen Wert der Geschwindigkeit ersetzen und somit versuchen plausible Werte zu erhalten. beste Grüße
Das ist doch eine tolle Aufgabe um einige Konzepte zu testen. Nur nicht zu viel Ehrfurcht vor grossen Namen. Ein Kalman ist eigentlich nur ein paar Matritzen. Heisst Multiplikationen und Additionen. Ja, vorher muss man sich noch etwas Theorie reinziehen.
Derold S. schrieb: > Wenn ich Kalman verwenden würde, würde ich die > Durchschnittsgeschwindigkeit für den eigentlichen Wert der > Geschwindigkeit ersetzen und somit versuchen plausible Werte zu > erhalten. Dann lies mal hier [1] und hier [2]. Die Erklärungen dort sind sehr einfach. Wenn du dich für die Theorie dahinter interessierst, dann ist [3] eine gute Einführung. [1] http://www.cbcity.de/das-kalman-filter-einfach-erklaert-teil-1 [2] http://www.cbcity.de/das-kalman-filter-einfach-erklaert-teil-2 [3] http://www.haw-hamburg.de/fileadmin/user_upload/TI-I/Bilder/Projekte/Faust/Arbeiten/Seminararbeiten/Seminararbeit2007SchetlerKalmanFilter.pdf
Guest schrieb: > Er kann Daten des Navis, des Verkehrs, des Fahrstils, des Autos in > realtime in ein adaptives Modell fusen Wenn man denn die Navi-Daten hätte... Denn wenn es so wäre, hat man auch die Tempobegrenzung auf "80km/h". Und dann kann das Navi einfach mal mit genau diesen 80km/h rechnen. Insbesondere, wenn vorher "flüssiger" Verkehr war. Derold S. schrieb: > Die Fahrt durch den Tunnel ist nicht real, ich entnehme lediglich die > Werte aus einem von mir ausgewählten Bereich Also fehlt hier schon mal das "Wissen" des Navis. > Die Fahrt durch den Tunnel ist nicht real, ich entnehme lediglich die > Werte aus einem von mir ausgewählten Bereich Und wie simulierst du dann den Beschleunigungssensor? Hast du da einfach mal von einer realen Fahrt Daten aufgezeichnet? Hast du daran gedacht, bei deiser realen Fahrt gleich 3 dieser Sensoren aufzuzeichnen und deren Daten gegeneinander zu vergleichen? Derold S. schrieb: > ... bedanken ! > ... verwenden ? Bitte nicht plenken! Ein Satzzeichen hat keine eigene Zeile verdient !
Also wie gesagt, der Sensor wurde von meinem Betreuer ausgewählt und dieser hat nur einen Beschleunigungssensor für alle Achsen. Ansonsten sind es reale Fahrten und die "Tunnelfahrten" sind dann von mir bestimmte Bereiche in dem ich die GPS Signale entferne. Also ich werde mich dann mal bezüglich der Theorie zu Kalman Filter belesen. Danke nochmal und sicherlich bis demnächst. :D
Noch ein Ansatz zum Kalman Filter. Muss ich zur Verwendung des Filters die Geschwindigkeit haben, oder zumindest verrauschte Geschwindigkeitswerte kennen ? Ich habe bezüglich Geschwindigkeit keine Werte, da ich die Geschwindigkeit nur über GPS errechne und keinen Geschwindigkeitssensor besitze. Falls es doch nur mit der Geschwindigkeit geht, kann ich denn die Durchschnittsgeschwindigkeit anstelle der eigentlichen Geschwindigkeit nehmen ? Wahrscheinlich wird dann die Genauigkeit erneut darunter leiden.
1.Das GPS gibt die Geschwindigkeit direkt aus. 2.Der Beschleunigungssensor ergibt integriert die Geschwindigkeit. Auf 2 ist noch ein Offset drauf, den man mit dem GPS rausrechnen kann. Ist das so schwierig ? Rechne den Offset in Echtzeit und tiefpasse den per software. Wenn das GPS rausfaellt verwendest du den bis dahin getiefpassten Offset. Nein ? Mach's einfach.
:
Bearbeitet durch User
Oder D. schrieb: > Auf 2 ist noch ein Offset drauf, den man mit dem GPS rausrechnen kann. > Ist das so schwierig ? 2 wird wegen irgendwelcher Drift oder wegen Rauschen ständig davonlaufen. Und irgendwann am Anschlag hängen. Man muss diesen Integrator also ständig anhand eines GPS-Signals korrigieren. Und dann sieht man schon, wie lange nach der letzten Rekalibrierung noch halbwegs sinnvolle Daten aus dem Beschleunigungssensor gewonnen werden können... Lothar M. schrieb: > Derold S. schrieb: >> ... bedanken ! >> ... verwenden ? > Bitte nicht plenken! Ein Satzzeichen hat keine eigene Zeile verdient > ! Oder D. schrieb: > Ist das so schwierig ? Das frage ich mich auch...
Es scheint da ein paar Bildungsferne zu geben, die mit einem Space(0x20) vor einem Fragezeichen Muehe haben. Auch wenn sich einer sogar die Muehe gemacht hat eine Webseite dafuer zu opfern ... das wird so nichts.
Also ich habe das soweit den Offset Bestimmt. Ich muss diesen nur noch als Algorithmus niederschreiben, sodass dieser für weitere Fahrten verwendet werden kann. Soweit habe ich diesen wie folgt erstellt: Offset = V_gps - Int(a); [m/s] Offset_new= Offset/t; [m/s*1/s] * t= Umrechnung in Echtzeit a_offset = a_x - Offset_new; [m/s] Ich werde demnächst weitere Fahrten aufzeichnen, sodass ich das Ganze ausprobieren kann, aber was sagt ihr bisher dazu ?
Nicht ganz, denn der Beschleunigungssensor gibt ja keine Geschwindigkeit. Vielleicht hab's ich auch nicht verstanden. Es gibt eine Differenzgeschwindigkeit : delta-v = V-gps - Integral(sensor+offset), wobei V-gps & sensor gemessen sind wir leiten nun auf beiden Seiten nach der Zeit ab. d/dt (delta-v) = d/dt (V-gps) - (sensor+offset) Da sich der Fehler nicht aendern sollte, setzen wir den auf Null. Und erhalten denn Offset offset = d/dt (V-gps) - sensor Dieser Offset ist nicht konstant, Zeitlich abhaengig von irgendwas, abhaengig von Spannung und Temperatur. Dh man muss den Offset fuer jede Sekunde neu rechnen und hoffen dass er kurzzeitig hinreichend konstant ist. Erschwerend kommt hinzu dass die V-gps gequantelt ist. Dh nicht kontinuierlich ist. Allenfalls muss man zu Kontrollzwecken die GPS Geschwindigkeit durch Ableiten der GPS Position alternativ bestimmen. Mach das mal und zeichne auf. Dh messe : - Sensorwert - GPS Position - GPS Geschwindigkeit und zeiche das alles auf.
Also ich habe einige weitere Messungen gemacht, aufgenommen wurden GPS Position, Geschwindigkeit und Sensorwerte. Ich habe auch versucht anhand der vorgeschlagenen Methode den Offset zu ermitteln, wenn ich offset=diff(v_gps)-a_sensor rechne erhalte ich den gleichen Wert wie zuvor nur negativ. Wenn dies wohl doch der Offset sein sollte, wie kann ich diesen nun von den Messwerten im Sensor abziehen, ohne dass weitere weitere Werte eliminiert werden ? Ich rechne: a_sensor_ohne_off=a_x_new+offset; Damit Subtrahieren sich auch die von mir benötigten Aufzeichnungen der Beschleunigung.
Die Rechnung ergibt einen pseudostatischen Offset, der aus den letzen paar Sekunden.. Minuten errechnet wurde. Die Beschleunigung wurde ja mit dem GPS abgeglichen. Wenn man nun ohne GPS weiterfaehrt, und den eingefrorenen Offset abzieht erhaelt man die effektive Beschleunigung. Diese integriert man nun, um die Geschwindigkeit zu rechnen. Mit dieser Geschwindigkeit erhaelt man die Positionsaenderung. Die traegt man in der Karte als gefahrene Stecke ein. Wenn das GPS wieder kommt, gibt es eine neue Position, mit einer Differenz, dem Fehler. Soweit die Theorie. Du meinst beim errechnen des Offsets bleibt nichts uebrig ? Dann hat der Beschleunigungssensor den falschen Bereich. Resp der effektive Wert ist im Rauschen. Das Rauschen muss man wegmachen. Da das GPS nur alle Sekunden einen Wert (Position& Geschwindigkeit) liefert, kann man das Rauschen auf dem Beschleunigungssensor mit 1Hz, oder so filtern. Wen man also von einer Bandbreite des Sensors von vielleicht 100Hz, siehe Datenblatt, ausgeht, gewinnt man durch filtern auf 1Hz einen Faktor von 20dB an signal-to-noise. Reicht das ? Was ist die Abtastrate des aufgezeichneten Beschleunigungssignales ? Da koennte man nun falls vorhanden digital filtern. Ja ? Das kann man auch nachtraeglich noch machen. Und ja, eine von einem Auto machbare Beschleunigung ist klein. zB in 1 sekunde 1 km/h mehr, dh in 10 sekunden von 60 auf 70 entsprechen 3m/s pro 10s, macht 0.3m/s^2, macht 1/30 g. Wie gross ist das Rauschen auf der Beschleunigung ? Allenfalls sollte man auch noch beruecksichtigen, dass das GPS auch noch Rauschen drauf hat. Dann wird's aber aufwendig
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.