AlphaBot: Messdatenverarbeitung mit MATLAB

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Lernset - Einsteiger Kit für Arduino

Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatik Praktikum 2, 2. Semester
Aufgabenstatus: In Bearbeitung

Inhalt

  • Einarbeitung in MATLAB®
  • Statische und dynamische Messung mit dem Ultraschallsensor
  • Programmierung und Anwendung eines gleitenden Mittelwertfilters

Lernziele

Nach Durchführung dieser Lektion

  • können Sie Debug-Daten speichern und via MATLAB® visualisieren.
  • können Sie direkt MATLAB® als seriellen Monitor nutzen.
  • können Sie ein Signal differenzieren und kennen die Gefahren dieser Berechnung.
  • kennen Sie die Funktion und Kennwerte des Ultraschall-Sensors.
  • können Sie Entfernungen mit dem Ultraschall-Sensor messen.
  • können Sie Software mit einem PAP planen.

Vorbereitung

Fürhren Sie als Vorbereitung den MATLAB® Onramp Kurs durch.


Arbeitsergebnis in SVN: MATLAB® Kurszertifikat

Versuchsdurchführung

Aufgabe 2.1: Gleitendes Mittelwertfilter

Ein gleitendes Mittlwertfilter bildet einen Mittelwert über k Messwerte mittels FIFO.

  1. Schreiben Sie die Funktion GleitendesMittelwertFilter.m, welches die Eingangswerte zyklisch filtert. Hier bei wird der Mittelwert über die letzten k Messwerte gebildet.
  2. Testen Sie Ihre Funktion mit Ultraschallmesswerten mit statischen Zielen mit Ihrem Framework zeigeZyklischUltraschallMessung.m und UltraschallMessung.mat Aus den Aufgaben 1.3 und 1.4.
  3. Visualisieren Sie Messwerte und Filterergebnis in einem Plot mit Achsenbeschriftung und Legende.
  4. Testen Sie Ihre Funktion mit Ultraschallmesswerten mit dynamischen Zielen.
  5. Wählen Sie k anhand der Messwerte und diskutieren Sie Ihre Wahl mit Prof. Schneider.

Arbeitsergebnisse in SVN: testeGleitendesMittelwert.m

Hinweis:

  • Nutzen Sie das FIFO aus Aufgabe 6.4.
  • Die Formel für das gleitende Mittelwertfilter lautet: für k Messwerte

Eine Einführung zu rekursiven Filtern finden Sie in folgendem Video.

  • Gleitendes Mittelwertfilter: 19 m 52 s
  • Tiefpassfilter: 29 m


Demo: SVN: DemoGleitenderMittelwert

Eine ausführliche Beschreibung mit Musterlösung finden Sie in [1, S. 11 ff.].

Aufgabe 2.2: Rekursives Tiefpassfilter

Ein rekursives Filter kann Messwerte in Echtzeit während der Laufzeit filtern. Nutzen Sie ein Tiefpassfilter, um die Messwerte zu filtern.

  1. Schreiben Sie die Funktion TiefpassFilter.m, welches die Eingangswerte zyklisch filtert. Hierbei wird der Tiefpass berechnet.
  2. Testen Sie Ihre Funktion mit Ultraschallmesswerten mit statischen Zielen mit Ihrem Framework zeigeZyklischUltraschallMessung.m und UltraschallMessung.mat Aus den Aufgaben 1.3 und 1.4.
  3. Visualisieren Sie Messwerte und Filterergebnis in einem Plot mit Achsenbeschriftung und Legende.
  4. Testen Sie Ihre Funktion mit Ultraschallmesswerten mit dynamischen Zielen.
  5. Wählen Sie anhand der Messwerte und diskutieren Sie Ihre Wahl mit Prof. Schneider.

Arbeitsergebnisse in SVN: testeTiefpassFilter.m

Hinweis:

  • Die Formel für das Tiefpassfilter lautet: für den aktuellen Messwert .
  • ist hierbei ein Filterparameter .

Demo: SVN: DemoTiefpassFilter.ino

Eine ausführliche Beschreibung mit Musterlösung finden Sie in [1, S. 11 ff.19].

Aufgabe 2.3: Filtervergleich

  1. Vergleichen Sie die Ergebnisse dies Tiefpasses mit denen des gleitenden Mittelwertfilters.
  2. Zeigen Sie das ungefilterte und die gefilterten Signal in MATLAB® in einem Plot vergleichend an.
  3. Beschriften Sie die Achsen und nutzen Sie eine Legende.
  4. Beantworten Sie die nachfolgenden Fragen
    1. Wurde das Signalrauschen geglättet?
    2. Ist das gefilterte Signal verzögert?
    3. Welchen Einfluss haben die Filterparameter?
    4. Wie verhalten sich die gefilterten Signal bei Ausreißern?

Eine ausführliche Beschreibung mit Musterlösung finden Sie in [1, S. 27 ff.].


Aufgabe 2.4: Nachhaltige Doku

Sichern Sie alle Ergebnisse mit beschreibendem Text (message) in SVN.

Arbeitsergebnis in SVN: SVN Log

Tutorials

Demos

Literatur

  1. Kim, P.: Kalman-Filter für Einsteiger: mit MATLAB Beispielen. CreateSpace Independent Publishing: 2016. ISBN-13: 978-1502723789
  2. Schneider, U.: Programmierrichtlinie für für die Erstellung von Software in C. Lippstadt: 1. Auflage 2022. PDF-Dokument (212 kb)



→ zurück zum Hauptartikel: Informatik Praktikum 2