Geschwindigkeitsüberwachung

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autoren: Alexander Lips, Melanie Luncke
Betreuer: Prof. Schneider

Abb.1: Geschwindigkeitsüberwachung

→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)


Einleitung

Im Rahmen der Veranstaltung "Angewandte Elektrotechnik" innerhalb des Masterstudiengangs "Business and Systems Engineering" wird durch die Studierenden ein semesterbegleitendes Projekt im Bereich der Mikrocontroller durchgeführt. Hierbei werden anhand eines praktischen Beispiels Kenntnisse in der Ansteuerung unterschiedlicher Sensoren und Aktuatoren durch einen Mikrocontroller, sowie der damit verbundenen Verarbeitung und Auswertung der Sensordaten vermittelt.

Im folgenden Projekt soll eine Geschwindigkeitsüberwachung mittels eines Ultraschallsensors realisiert werden. Analog zur Funktionsweise der Geschwindigkeitsüberwachung im Straßenverkehr, wird die Geschwindigkeit eines vorbeirollenden Modellautos gemessen, angezeigt und bewertet. Neben der Messung soll parallel eine Zustandsschätzung anhand eines Kalman - Filter erfolgen wodurch die Position, die Geschwindigkeit und die Beschleunigung des Fahrzeugs geschätzt werden können.

Ergänzend zu der Geschwindigkeitsüberwachung findet ebenfalls eine Kontrolle unterschiedlicher Ampelphasen statt. Hierfür wird eine Modellbau Ampel in Verbindung mit einer Infrarotlichtschranke genutzt um einen Regelverstoß, der durch das Überfahren einer roten Ampel entsteht, zu prüfen.

Um die unterschiedlichen Werte und Hinweise visualisieren zu können wird eine grafische Benutzeroberfläche, die mit dem MATLAB APP Designer realisiert wurde, verwendet. Hierdurch ergibt sich die Möglichkeit neben einer nutzerfreundlichen Inbetriebnahme und Steuerung der Geschwindigkeitsüberwachung ebenfalls einer einfachen Erkennung der Regelverstöße. An dem Modell selbst dient eine rote LED als visuelle Kennzeichnung der Regelverstöße.

Vorgehensweise bei der Entwicklung des Systems

Bei der Entwicklung des Systems zur Geschwindigkeitsüberwachung fand eine Orientierung am V - Modell statt. Somit konnte anhand einer systematischen Vorgehensweise eine Validierung bezüglich der Anforderungen und eine Verifikation bezüglich der Ergebnisse der einzelnen Stufen gewährleistet werden.

Abb. 2: V-Modell aus dem Vorlesungsskript von Prof. Dr.-Ing. Mirek Göbel [1]

Das V-Modell ist ein wichtiges Vorgehensmodell und besitzt eine breite Anwendung bei der Entwicklung von Systemen. Den Grundsatz des Modells bilden Entwicklungs- und Testarbeiten die zueinander korrespondieren und gleichwertige Tätigkeiten darstellen. Durch die Aufteilung des Vorgehens in einzelne Entwicklungsphase kann eine Verifikation des Systems gewährleistet werden. Hierbei wird das Problem bzw. die Aufgabe in einzelne Teilaufgaben heruntergebrochen, hierfür Teillösungen entwickelt und anschließend wieder zu einem Gesamtsystem integriert. Das Ziel ist es durch eine saubere Anforderungsdefinition und Spezifikation späte Fehler bei der Implementierung und Integration zu vermeiden und eine Struktur in den Ablauf der Entwicklung zu bringen.

Anforderungen

Entwurf eines mechatronischen Systems für die Geschwindigkeitsmessung eines Objektes:

1) Geschwindigkeitsermittlung:

  1. Die Geschwindigkeit v des Modellautos muss auf einem definierten Streckenabschnitt mittels eines Ultraschallsensors und zwei Lichtschranken ermittelt werden.
  2. Die Geschwindigkeit v des Autos muss visuell auf einem LCD-Display dargestellt werden.
  3. Eine Überschreitung der vorgegebenen Maximalgeschwindigkeit v > v_max muss visuell über eine LED dargestellt werden.

2) Ampelverstoß:

  1. Ein Ampelverstoß liegt vor, wenn das Auto bei "rot" die Lichtschranke unterbricht und muss über eine LED visuell dargestellt werden.

3) Die Fahrzeugbewegung wird mit einem Konstante-Beschleunigung-Modell modelliert und die Zustände Position, Geschwindigkeit Beschleunigung werden mittels Zustandsschätzer (Kalman-Filter) geschätzt.

Anforderungen in Tabelle überführen und neue Anforderungen ergänzen, Kennzeichnung und Zuordnung zu den Tests

Funktionaler Systementwurf/Technischer Systementwurf

Anpassen und in PAP Designer erstellen

Abb.3: Funktionaler Systementwurf - Geschwindigkeitsüberwachung



Abb.4: Programmablaufplan - Geschwindigkeitsüberwachung



Komponentenspezifikation

Für die Projektdurchführung werden folgende Komponenten benötigt:

ID Komponente Aufgabe Ersteller Datum
001 Mikrocontroller Regler (Arduino Uno) Lips, Luncke 30.10.2020
002 Ultraschallsensor Geschwindigkeits- bzw. Abstandsmessung Lips, Luncke 30.10.2020
003 Ampel Signaldarstellung (rot, gelb, grün) Lips, Luncke 30.10.2020
004 Lichtschranke Objekterkennung bei Ampelkreuzung Lips, Luncke 30.10.2020
005 LED Aufleuchten bei rotem Ampelsignal und Unterbrechung der Lichtschranke, Aufleuchten bei Geschwindigkeitsüberschreitung Lips, Luncke 30.10.2020
006 Modellauto Messobjekt Lips, Luncke 30.10.2020
007 LCD Display Geschwindigkeitsanzeige Lips, Luncke 30.10.2020
008 Modellaufbau (Brücke) Halterung für die verwendeten Komponenten Lips, Luncke 30.10.2020


Abb.5: Arduino Uno
Abb.8: Ultraschallsensor
Abb.7: Lichtschranke
Abb.6: Ampel


Die einzelnen Hardware Komponenten Bild Beschreibung Kennzeichnung für anschließende Zuordnung zu den Subsystemen Tests etc. Subsysteme (Hardware Ansicht) und das Zusammenwirken der Hardware Komponenten kurz beschreiben. --> Subysteme anschließend auf Funktion testen in der Testphase

001:

002:

003:

usw.

Die Funktionsweise des Ultraschallsensors wird folgend beschrieben:

Mit dem Ultraschallsensor HC-SR04 soll über eine Abstandsmessung die Geschwindigkeit des Modellautos bestimmt werden. Der Messbereich des Sensors liegt laut Datenblatt zwischen 3 cm und 400 cm mit einer maximalen Abweichung von 0,3 mm.

Der Ultraschallsensor wird an seinen vier Pins an den Mikrocontroller angeschlossen. Zwei der Pins (VCC und GND) werden für die Spannungsversorgung mit 5 V benötigt. Die anderen beiden Pins (Trig und Echo) werden für das Senden und Empfangen der Ultraschallwellen verwendet. Der Trig-Pin bzw. Ultraschalllautsprecher sendet einen Schallimpuls, welcher beim Auftreffen auf ein Objekt reflektiert und am Echo-Pin bzw. Ultraschallmikrofon wieder empfangen wird. Liegt an dem Trig-Pin ein High-Signal an, sendet der Sensor eine Ultraschallwelle aus, bis wieder ein Low-Signal an dem Trig-Pin anliegt. Die gesendete Ultraschallwelle entfernt sich so lange vom Sensor, bis sie auf ein Hindernis (das Modellauto) trifft. Anschließend wird sie zum Sensor zurückreflektiert. Empfängt der Sensor die reflektierte Welle, sendet der Echo-Pin ein High-Signal. Mit der gemessenen Zeit zwischen dem Senden und Empfangen der Ultraschallwelle kann die Entfernung bestimmt werden.

Um die Geschwindigkeit zu erfassen, werden zwei Abstände festgelegt, an denen die Entfernung gemessen werden soll. So kann anschließend die Geschwindigkeit bestimmt werden.


Umsetzung (HW/SW)

1. Hardware

Für die Projektdurchführung wurde zunächst die benötigte Hardware (siehe Komponentenspezifikation) beschafft. Außerdem wurde aus Holz eine brückenähnliche Halterung für den Ultraschallsensor, die Ampel und die Lichtschranke gebaut (siehe Abb.1). Folgend ist der Anschlussplan des Arduino Uno und der einzelnen Komponenten dargestellt, ebenso wie der Aufbau.

Abb.9: Anschlussplan
Datei:Aufbau.PNG
Abb.x: Aufbau


2. Software

Als Software wurde in Matlab eine Hauptdatei erstellt, welche mit verschiedenen Funktionen bestückt wurde. Diese Datei und deren Funktionen werden folgend beschrieben:

Subsysteme (Software Ansicht) beschreiben und Verbindung zu den Hardware Subsystemen herstellen. Welche Funktionen finden in welchen Systemen ihre Anwendung.

Funktionen etwas ausführlich beschreiben und ggf. Bilder vom Code einfügen.

2.1 Hauptdatei

  • Framework Geschwindigkeitsüberwachung: Hier wird zunächst Matlab initialisiert, mit der Hardware verbunden und mit den benötigten Funktionen ausgestattet.

2.2 Funktionen

  • MessungPosition: Über den Ultraschallsensor wird die Position des Fahrzeugs gemessen und dargestellt.
  • Ampelschaltung: Mit dieser Funktion wird die Dauer der einzelnen Ampelphasen realisiert.
  • RegelverstoßAmpel: Wird die Lichtschranke bei rotem Ampelsignal unterbrochen, wird dies durch eine Aufleuchtende LED visualisiert.
  • BestimmungGeschwindigkeit: Aus der gemessenen Position wird die Geschwindigkeit bestimmt.
  • RegelverstoßGeschwindigkeit: Bei einer Überschreitung der vorgegebenen Maximalgeschwindigkeit, wird dies ebenfalls visuell über eine LED dargestellt.
  • KalmanFilterG: Als Referenz dient die mit dem Kalmanfilter geschätzte Position, Geschwindigkeit und Beschleunigung.

Die vollständigen Matlab-Dateien sind in SVN abgelegt.

Komponententest

Die Funktionsweise der Komponenten aus der Komponentenspezifikation wurde einzeln getestet. Bei Eintritt der gewünschten Funktionsweise der einzelnen Komponenten wurden mehrere Komponenten gemeinsam auf ihre Funktionalität geprüft.

Hardware:

ID Komponente Funktion einzeln Funktion zusammen Ersteller Datum
001 Mikrocontroller ja ja Lips, Luncke 20.12.2020
002 Ultraschallsensor ja ja Lips, Luncke 20.12.2020
003 Ampel ja ja Lips, Luncke 20.12.2020
004 Lichtschranke ja ja Lips, Luncke 20.12.2020
005 LED ja ja Lips, Luncke 20.12.2020
006 Modellauto ja ja Lips, Luncke 20.12.2020
007 LCD Display ja nein, Pinbelegung nicht möglich (nicht genug Pins am Arduino Uno vorhanden) Lips, Luncke 20.12.2020


Software:

ID Komponente/Funktion Erwartetes Ergebnis Ergebnis Bewertung Ersteller Datum
001 Bestimmung Geschwindigkeit (stehendes Modellauto) Geschwindigkeit beträgt 0 m/s Geschwindigkeit beträgt 0 m/s i.O. Lips, Luncke 20.12.2020
002 Bestimmung Geschwindigkeit (niedrige Geschwindigkeit) Lips, Luncke 20.12.2020
003 Bestimmung Geschwindigkeit (hohe Geschwindigkeit) Lips, Luncke 20.12.2020
004 Regelverstoß Geschwindigkeit (v > v_max) LED visualisiert einen Verstoß bei Geschwindigkeitsüberschreitung LED visualisiert einen Verstoß bei Geschwindigkeitsüberschreitung i.O. Lips, Luncke 20.12.2020
005 Regelverstoß Ampel (Ampelsignal = rot) LED visualisiert einen Verstoß bei Kreuzen der Lichtschranke und rotem Ampelsignal LED visualisiert einen Verstoß bei Kreuzen der Lichtschranke und rotem Ampelsignal i.O. Lips, Luncke 20.12.2020
006 Regelverstoß Ampel (Ampelsignal = grün) Bei grünem Ampelsignal bleibt die LED aus und signalisiert somit keinen Verstoß Bei grünem Ampelsignal bleibt die LED aus und signalisiert somit keinen Verstoß i.O. Lips, Luncke 20.12.2020


Funktion der Subsysteme bestehend aus Software und Hardware testen. Unterschiedliche Tests und Testergebnisse aufführen. z.B. Fahrt bei hoher und niedriger Geschwindigkeit Messung eines stehenden Autos erwartetes Ergebnis mit tatsächlichen Ergebnis vergleichen. Subsysteme: Regelverstoss Geschwindigkeit(Messung,Berechnung,Vergleich) funktioniert bei hoher und niedriger Geschwindigkeit? Testergebnisse aufführen Regelverstoss Ampel(Infrarotsensor, Ampelstatus) Fahrzeug bei rot und nicht bei rot drüber --> Testergebnisse aufführen

Kalman Filter Ampelphase schalten

Kalman - Filter

Abb.8: Kalman - Filter Algorithmus

Neben der Messung mittels des Ultraschallsensors soll ebenfalls eine Zustandsschätzung durch die Verwendung eines Kalman - Filter erfolgen. In diesem Abschnitt soll der Algorithmus des Kalman - Filters und die Anwendung auf das Projekt kurz beschrieben werden. Die Bewegung des fahrenden Modellautos kann durch ein konstante Beschleunigung Modell beschrieben werden. Somit ergeben sich die folgenden Größen pos = s = 1/2 * a * t^2 + v0 * t + s0 v = a * t + v0 a = konstant Unter Berücksichtigung der aufgeführten Formeln können somit die für den Kalman - Algorithmus notwendigen Matrizen und Vektoren festgelegt werden. Nutzen des Kalman Filters, Anwendung bei dem System Parameter und Parameterwahl usw. kurz beschreiben Als Systemmodell wurde ein konstante Beschleunigung Modell verwendet.

0. Initialisierung der Variablen x0 und P0

  x0 = [ 0 0 0 ] ;            P = 50 * eye(3) ; 

1. In dem ersten Schritt wird der Zustandsvektor x(k) und die Kovarianzmatrix P(k) anhand der Systemmatrix A prädiziert (vorhergesagt). Als Systemmodell dient ein konstante Beschleunigung Modell welches in die Systemmatrix A überführt wurde.

  A = [ 1 dt 1/2*dt^2 ;       Q = 0.1 * eye(3);       
        0 1 dt ;
        0 0 1 ] ;


2. Folgend findet im zweiten Schritt die Ermittlung der Kalman - Verstärkung K(k+1) durch die Verwendung der prädizierten Daten aus dem ersten Schritt. Ebenfalls werden die Ausgangsmatrix H und die Kovarianzmatrix des Messrauschens R definiert.

  H = [1 0 0] ;               R = 10; 

3. Innerhalb des dritten Schrittes werden die aktuellen Messdaten z(k+1) in den Algorithmus mit einbezogen und eine Schätzung des Systemzustandes x(k+1) berechnet. Als Eingangsgröße dient bei der Berechnung die Zustandsschätzung x_stern(k+1) aus dem ersten Schritt.

4. Um festzulegen mit welchem Gewicht die Zustandsschätzung aus dem vorherigen Zyklus in die aktuelle Schätzung mit einbezogen werden soll, wird im letzten Schritt die Fehlerkovarianzmatrix P(k+1) berechnet.

Grafische Benutzeroberfläche

Bild und kurze Beschreibung Nutzen kurze Anweisung zur Anwendung (Schritte)

Ergebnis

gestellte Anforderungen erfüllt?

Zusammenfassung

Lessons Learned

Herausforderung:

  1. Entscheidung für Softwareumsetzung (Matlab, Simulink, Arduino IDE...)
  2. Hardwareumsetzung (Mikrocontroller hat nicht genügend In-/Outputs)

Lösung:

  1. Matlab
  2. Reduzierung nicht unbedingt erforderlicher Komponenten (Lichtschranken, LED, LCD-Display)

Bei späteren Projekten eher darauf achten, wie viele Komponenten maximal an einen Mikrocontroller angeschlossen werden können.

Projektunterlagen

Projektplan

Der Ablauf des Projektes wird in folgendem Projektplan ausschnittsweise dargestellt. Die dazugehörige Excel-Datei des kompletten Projektplans befindet sich in SVN.

Abb.10: Prokjektplan


Projektdurchführung

Die Durchführung des Projektes orientierte sich an dem Projektplan. Begonnen wurde mit einem Projektvorschlag und dessen Genehmigung durch den betreuenden Professor. Dazu wurde sowohl die Einleitung als auch die Anforderungen und der Funktionale Systementwurf angefertigt. Nach der Projektgenehmigung wurde die Komponentenspezifikation erstellt und die benötigten Komponenten besorgt. Anschließend begann die Umsetzung der Hard- und Software, sodass auch ein Komponententest durchgeführt werden konnte. Zunächst wurden alle Komponenten einzeln getestet und bei gewünschter Funktionsweise mit weiteren Komponenten zusammengeschaltet, bis die Anforderungen in zufriedenstellender Weise erfüllt wurden. Abschließend wurden die Ergebnisse des Projektes und dessen Durchführung im Wiki-Artikel festgehalten und ein Video erstellt.

YouTube Video

Weblinks

  1. Ampel-Bild
  2. Ultraschallsensor-Bild
  3. Arduino Uno-Bild
  4. Lichtschranke-Bild

Literatur


→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)

  1. Prof. Dr. Göbel, "Systems Design Engineering" - Vorlesungsunterlagen, 2020.