Kalman-Filter zur Bestimmung von Position und Geschwindigkeit: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 76: Zeile 76:
end
end
</source>
</source>
=== Systemmodel ===
Das Systemmodel wurde in Anlehnung an Übungen von Prof. Dr.-Ing. Georg Schmitz und Dipl.-Ing. Martin Schiffner der Ruhr-Uni Bochum erstellt.<ref>[http://www.ruhr-uni-bochum.de/medizin/ | Fakultät "Medizinische Technik"]</ref>
Der Zustandsvektor wird als <math>\underline{x}={x \choose \dot{x}} </math> definiert. Die Position des Objektes ändert sich lediglich um die Strecke, welche zwischen zwei Abtastpunkten zurückgelegt wurde. Daraus folgt die Systemmatrix mit <math>\underline{f}={x \choose \dot{x}} </math>


=== Einzelnachweis ===
=== Einzelnachweis ===
<references/>
<references/>

Version vom 25. November 2014, 19:18 Uhr

Bearbeiter: Hauke Ludwig

Abgabetermin: 28.11.2014

Aufgabe

Bearbeiten Sie nachfolgende Aufgaben bis zum Abgabetermin und stellen Sie Ihre Lösung Prof. Schneider vor. Gehen Sie systematisch in den in SDE vermittelten Schritten

  • Theorie
  • Konzept
  • Modellierung
  • Umsetzung
  • Testing

vor.

Konzept

Als Aufgabenstellung ist ein Kalman-Filter zur Schätzung von Position und Geschwindigkeit zu entwickelt. Als Einstieg ist ein Konzept als PAP zu entwickeln.

Geschwindigkeitsaufzeichnung

Zeichnen Sie eine Rohdatensequenz von mindestens 30 s auf. Diese sollte nachfolgende Phasen umfassen

  1. Stillstand
  2. Beschleunigung
  3. Konstante Geschwindigkeit
  4. Verzögerung
  5. Stillstand

Rohdaten sind die Flanken, die vom Hallsensor in der DS1104 ankommen.

Schnittstelle zu Matlab

Lesen Sie die aufgezeichneten Daten sequentiell in Matlab (nicht Simulink) ein.

Modellierung

Erstellen Sie ein System und Messmodell. Als Systemmodell ist ein Ruck-Null-Modell zu wählen.

Der Zustandsvektor lautet

Kalman Filter

Implementieren Sie basierend auf der Vorlesung ein Kalman-Filter zur Schätzung des Zustandsvektors. Hierzu dürfen keine Toolboxen verwendet werden.

Ergebnisdarstellung

Stellen Sie Messung und Schätzung in je einem Diagramm und dar.

Code Review

Machen Sie für Herrn Petersen ein Code Review und dokumentieren Sie dieses in der Vorlage (\Anforderungsmanagement\Testverfahren).

Modultest

Führen Sie für Ihre Quellen einen Komponententest durch und dokumentieren Sie diesen entsprechend der Vorlesung Reliability Engineering. Simulieren Sie hierzu die Eingangsdaten, stellen Sie die Ergebnisse dar und diskutieren Sie diese.

Systemtest

Legen Sie einen Entwicklungszweig (Branch) an und führen Sie einen Systemtest auf dem Fahrzeug durch. Vergleichen Sie das bisherige Filter mit dem Ergebnis des Kalman-Filters.

Dokumentation

Dokumentieren Sie alle Daten in SVN und die Ergebnisse in diesem Artikel.


Ergebnis

Konzept

Abb. 1: Konzept Kalman-Filter

In der Abbildung 1 ist das Konzept zur Implementierung eines Kalman-Filters dargestellt. Dieses Konzept basiert auf dem Konzept zum Projekt "Carrera CV" [1] und zeigt den groben Programmablaufplan.


Einlesen in MatLab

Zum Einlesen der daten aus der Aufnahme wurde diese als ".mat"-Datei exportiert. Über das nachstehende Script können die Daten aus der Aufnahme in MatLab eingelesen werden.

function [HALLA, HALLB, HALLC] = extract()
data = load('HAll-Sensoren.mat');
TIME = data.HAll_Sensoren.X.Data';
for k=1:3
    if k==1
        HALLA = [TIME data.HAll_Sensoren.Y(k).Data'];
    elseif k==2
        HALLB = [TIME data.HAll_Sensoren.Y(k).Data'];
    elseif k==3
        HALLC = [TIME data.HAll_Sensoren.Y(k).Data'];
    end
end
end

Einzelnachweis