PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Positionsermittlung mit Beschleunigungssensor



RoboCopBastler
04.10.2015, 19:55
Hallo alle zusammen!

Ich habe viel über das Thema gelesen und wollte nun wissen ob es in der Praxis grundsätzlich möglich ist aus den verrauschten linearen Beschleunigungswerten über zweifache Integration die Position meines Sensors zu berechnen?:confused:
Vor mir liegt ein BNO055 von Bosch, den ich über ein Arduino anspreche.
Neben den verrauschten Werten sehe ich durch die Tatsache a = 0 -> V = 0 ODER V = const. ein Problem in der Programmierung.

KalmanFilter? Komplementär Filter? Zweites habe ich hier gelesen: https://www.roboternetz.de/community/threads/66633-Komplement%C3%A4r-Filter-Einfache-%C3%9Cbersicht-%C3%BCber-Filterm%C3%B6glichkeiten-f%C3%BCr-IMU?highlight=kalman

Ich bin Euch für jede Anregung sehr dankbar.

Gruß
RoboCopBastler

ranke
05.10.2015, 08:10
... wollte nun wissen ob es in der Praxis grundsätzlich möglich ist aus den verrauschten linearen Beschleunigungswerten über zweifache Integration die Position meines Sensors zu berechnen?

In der Praxis ist das ziemlich unbrauchbar. Durch die doppelte Integration nach der Zeit wächst die Unsicherheit der zurückgelegten Strecke mit dem Quadrat der Zeit, man hätte also nur bei sehr kurzen Meßzeiten eine Chance. Das bedeutet, man müsste das Messergebnis häufig mit einem zuverlässigeren Sensor für Ort und Geschwindigkeit abgleichen und entsprechend berichtigen. Wenn man so einen zuverlässigeren Sensor hat, stellt sich die Frage nach der Trägheitsnavigation nicht mehr. Beschleunigungssensoren werden eher eingesetzt um die Richtung des Schwerkraftvektors zu ermitteln, oder um z.B. freien Fall zu detektieren (z.B. Notebook fällt vom Tisch > Festplattenkopf auf Parkposition) oder um ungewöhnliche Betriebszustände zu erkennen (Airbagauslösung im Auto, Unwuchterkennung im Flugzeugtriebwerk z.B. nach Vogelschlag).


sehe ich durch die Tatsache a = 0 -> V = 0 ODER V = const. ein Problem in der Programmierung

Um irgendetwas sinnvolles rechnen zu können muss zum Startwert der Integration sowohl Ort als auch Geschwindigkeit bekannt sein.


KalmanFilter? Komplementär Filter?

Soweit ich mich da eingelesen habe, werden solche Filter eingesetzt um die Daten eines Beschleunigungssensors mit den Daten eines Drehratensensors ("Gyro") zu verknüpfen. Dabei geht es nicht um die Antwort auf die Frage "wo bin ich?" sondern auf die Frage "wo ist unten?". Die Richtung der Erdanziehung ist besonders bei relativ dynamischen Fluggeräten vom Typ Drehflügler wichtig, weil die ja mit Ihrer Schubkraft ständig gegen die Gewichtskraft kämpfen müssen und das natürlich in der richtigen Richtung. Schon sehr kleine Winkelfehler zwischen Schub- und Gewichtskraft führen zu einer ungewollten Drift des Fluggeräts, was wohl ein Grund ist, warum man so etwas nicht "von Hand" fliegen kann. Ein Beschleunigungssensor alleine gibt da nicht ausreichend genaue Werte, deshalb die Verknüpfung mit Drehwinkelsensoren, die die Drehung des Fluggeräts im Raum feststellt.

HaWe
05.10.2015, 15:52
stimmt, man kann zur Bewegungs-Ermittlung nur fusionieren, was auch Daten dazu liefert. Ein Gyro oder ein Kompass detektieren beim "Auto" eine Drehung um die senkrechte Achse, ein Acc misst hier keine Änderung.
Aber Odometrie ist geeignet, Vorwärtsbewegung zu messen, und hier ist ein Acc sinnvoll, z.B. um Schlupf oder Slip zu messen und diese Fehler aus der Odometrie "herauszurechnen". Dazu wiederum würden Kompass oder Gyro keine verwertbaren Zusatzdaten liefern.