-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Sensor Fusion von verschiedenen Winkelpositionsgeber

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332

    Sensor Fusion von verschiedenen Winkelpositionsgeber

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo Zusammen,

    ich habe derzeit das Problem, das ich verschiedene Winkelpositionen, welche ich durch verschiedene Sensoren bekomme,
    versuche zu einer einheitlichen Ausrichtung zu bekommen. Ich denke mal, das Kalman hier das letztendliche Ziel ist,
    muss aber vorher einige andere Probleme lösen (denke ich mal).

    Folgendes Problem:
    Ich habe derzeit einen digitalen Gyro (ADIS16265), einen analogen Gyro (ADXR620), einen Compass CMPS (mit LSM303 für Beschleunigungsdaten) und die Ausrichtung bedingt durch die Fahrzeugbewenkung (Impulse der Räder/Ketten).

    Als erstes möchte ich den analogen Gyro mit dem Beschleunigungsdaten des LSM303 vereinigen, damit hier ein stablierer Wert rauskommen. Ich Suche hier noch die Bedeutung der Accelerometerwerte des CMPS und deren Umrechnung für die Sensorfusion
    mit dem analogen Gyro. Evtl. reicht hier auch ein komplimentär Filter.

    http://robottini.altervista.org/kalm...mentary-filter

    Danach sollen alle Messwerte (Winkelangaben) zu einer Vorhersage einer "wirklichen" Ausrichtung verwendet werden.

    Hierfür musste ich doch folgende Vorbedingungen haben:

    a) Alle Winkel in dem gleichen Wertebreich arbeiten (und auch Änderungen richtungsgleich sind)
    Diesen teil habe ich schon, alle im Bereich von 2 PI und Änderungen sind richtungsgleich im Wert.

    b) Alle Winkel müssten ungefähr den gleichen Wert haben.
    Hier kommen die ersten Problem, da ich bei den Gyros noch einen Drift habe.
    Auch ist der Startwinkel derzeit noch für alle Winkel nicht gleich.


    Hat jemand eine Idee, wie die alle Winkel relativ gleich halte oder ist das garnicht notwendig ?

    Gibt es gute Webseiten, welche die Fusionierung von mehreren Sensoren gut erklären (will mir evtl. einen befreundeten Mathematiker zur Seite holen).

    Viele Grüße

    R.
    Kaum macht man es richtig, schon funktioniert's ...

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi,

    ich glaube, du hast den Sinn eines Kalman- / Komplementärfilters noch nicht verstanden
    b) Alle Winkel müssten ungefähr den gleichen Wert haben.
    Hier kommen die ersten Problem, da ich bei den Gyros noch einen Drift habe.
    Auch ist der Startwinkel derzeit noch für alle Winkel nicht gleich.
    Eine Sensordatenfusion nutzt man doch, um solche Sachen wie zb. Drift auszugleichen. Jeder Sensor hat andere Eigenschaften bzw. Vor- und Nachteile, welche durch die Fusion kombiniert werden sollen (also natürlich nur die Vorteile ).
    Der Acc hat z.b. keinen Drift, dafür aber verrauschte Werte und man kann nicht zwischen Drehung & Bewegung unterschieden. Mit dem Gyro hat man sehr schnelle, "richtige" Signale mit Drift (bzw. bei Mems v.a. Quantisierungsfehler), welchen eben der absolute Bezug zum Umfeld fehlt.

    Ein Komplementärfilter reicht vollkommen aus, wenn dieser richtig parametrisiert ist, weicht sein Ergebnis garnicht bis kaum vom Kalmanfilter ab (welcher immer als Wundermittel gehypt wird, was er aber nicht ist!).
    Außerdem lässt sich der Komplementärfilter wesentlich schneller berechnen.

    Gruß
    Chris

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.418
    super Link zum Komplementärfilter!

    dazu 3 Fragen von mir (obwohl ich nicht der TO bin... ):

    1) // newAngle = angle measured with atan2 using the accelerometer
    was bedeutet "measured with atan2 ...."? einfach atan2 auf die Beschleunigungswerte anwenden ??? das kann doch nicht sein ! Oder doch ?? Aber wie ??

    2) // newRate = angle measured using the gyro
    Gyro misst normalerweise nicht den Winkel, sondern die Rotationsgeschwindigkeit, und DIE wird als "rate" bezeichnet, sowei ich weiss.
    Dann muss man doch sicherlich vorher aufinegrieren, oder? Oder wird nicht der Winkel, sondern die Rotationsgeschwindigkeit eingespeist?

    3) wie schleust man jetzt noch einen zusätzlichen Kompass in die Komplementärfilter-Gleichung mit ein?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi,

    ja, mit dem atan2 kannst du Vorzeichenrichtig den Winkel (verrauscht) aus dem Acc ausrechnen.
    Hier ist das ganze bildlich dargestellt: http://www.sensoren.info/Winkel-Beschleunigung.png

    x_angleC = a* (x_angleC + newRate * dtC) + (1-a) * (newAngle);
    Wenn du von dieser Formel sprichst: Da wird doch integriert.

    Den Kompass fusioniert man in einem weiteren Filter mit dem GyroZ Wert, selbes Prinzip.

    Gruß
    Chris

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.418
    halt stopp - Fehler ?
    Geändert von HaWe (16.11.2014 um 23:27 Uhr)

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hast du dir den Link mal genauer angesehen? Bei der Korrektur geht es nur um die Kleinwinkelnäherung, um sich den Sinus zu sparen. Ich hab das gepostet, um den Zusammenhang zwischen den trig. Funktionen und der Beschleunigung darzustellen, um klar zu machen, warum / wieso / dass der atan(2) für die Winkelberechnung geeignet ist.

    Was hat deine Formel mit dem Thema zu tun?

    Gruß
    Chris

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.418
    halt stopp - irgendwas stimmt nicht:

    ein Accelerometer gibt eine geradlinige Beschleunigung an, keine Winkelbeschleunigung.

    Wieso also atan?

    Wieso Winkel ?


    doppelt über die Zeit integriert ergibt sich hingegen:
    Weg = 1/2 * Beschleunigung * dt² (Weg, nicht Winkel!)

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Zitat Zitat von HaWe Beitrag anzeigen
    halt stopp - irgendwas stimmt nicht:

    ein Accelerometer gibt eine geradlinige Beschleunigung an, keine Winkelbeschleunigung.

    Wieso also atan?

    Wieso Winkel ?


    doppelt über die Zeit integriert ergibt sich hingegen:
    Weg = 1/2 * Beschleunigung * dt² (Weg, nicht Winkel!)
    Was hat das jetzt wieder mit dem Thema zu tun? Troll?
    Ein Acc gibt Beschleunigungswerte aus, nicht mehr, nicht weniger (deswegen heißt es ja auch "Beschleunigungssensor").

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hallo Chris,

    klar bin ich nicht der Profi in Sensor Fusion, sonst hätte ich ja keine Fragen .
    Evtl. habe ich hier Informations-Fusion und Sensorfusion ein wenig gemischt.

    Ich dachte bis vor kurzem, das der Kalman-Filter ein statisches Verfahren ist,
    welches verschiedene Sensorinformation zu einer gemeinsamen Information "verheiraten" kann.

    Sicher würden Sensoren, welche mittles verschiedenen Verfahren arbeiten, das Ergebnis deutlich besser
    im Ergebnis verbessern, jedoch sollten doch mehrere Informationen aus verschiedenen Quellen ein gleiches
    tun.

    Ich will übrigens auch den Komplementärfilters bei der direkten Messwertumwandlung verwenden, da hier sonst
    mein Microcontroller dicke Backen bekommt.

    Nebenbei versuchte ich derzeit die Beschleunigungswerte des CMPS10 (serial Interface) zu verstehen und habe hierbei
    so meine Probleme. Auf dieser Platine hat mir jemand in einem anderen Thread mitgeteilt, soll es
    sich um bei dem verwendeten Chip um einen ST LM303 handeln. Nur kann ich die Rohwerte,
    welche die CMPS10 in seiner Schnittstelle noch nicht so richtig bewerten.

    Im Netz konnte ich bis jetzt keine eindeutigen Links finden. Heute versuche ich den Chip erstmal neu zu kalibrieren,
    soll ja immer helfen.

    Viele Grüße

    R.
    Kaum macht man es richtig, schon funktioniert's ...

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi,

    mit solchen Filtern (egal ob Kalman oder Komplementär) kannst du nur "gleiche" Daten fusionieren, also z.b. nur Winkel mit Winkel, Temperatur mit Temperatur, Höhe mit Höhe, etc..
    Allerdings lassen sich diese Informationen teilweise durch Differenzierung / Integration berechnen, wie z.b. der (driftende) Winkel aus der Winkelgeschwindigkeit (Gyro).

    Also wenn die Werte deines Acc "unbrauchbar" aussehen, kannst du das nicht durch Kalibrierung ausgleichen. Lediglich wenn der Offset (oder die Maximalwerte) verschoben ist, bringt eine Kalibrierung was.

    Gruß
    Chris

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Fusion PID und RC Signale Quadrocopter
    Von jojoho im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 0
    Letzter Beitrag: 23.04.2013, 00:16
  2. EasyPIC Fusion: Entwicklungssystem für drei Architekturen
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 25.09.2012, 01:00
  3. Kugelautomat @ Fusion Festival 2011
    Von Brantiko im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 2
    Letzter Beitrag: 26.08.2012, 18:58
  4. IMU Fusion Board - ADXL345 & IMU3000 --> gut geeignet?
    Von Che Guevara im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 25.07.2011, 17:07
  5. LCD Anzeige von verschiedenen Sensoren
    Von alex007 im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 6
    Letzter Beitrag: 05.12.2006, 23:46

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •