Test der Abstandssensorik: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(26 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Bild:SenAbs_-_Abstandssensorik.PNG|600px|mini|Zu testende Matlab function im Simulink-Modell. Pfad: SEN-Sensoren-offline/SenAbs - Abstandssensorik]] | |||
'''Autoren:''' [[Benutzer:Julin-Frederik Horstkoetter| Julin Horstkötter]], [[Benutzer:Levin Baumeister|Levin Baumeister]] | '''Autoren:''' [[Benutzer:Julin-Frederik Horstkoetter| Julin Horstkötter]], [[Benutzer:Levin Baumeister|Levin Baumeister]] | ||
Zeile 8: | Zeile 7: | ||
== Kurzinformation == | == Kurzinformation == | ||
Der generelle Umgang mit der Benutzeroberfläche (GUI - Graphical User Interface) wird in den folgenden Abschnitten behandelt. Zunächst müssen Testfälle generiert werden, die in sich besonders aussagekräftig sind und so weitere mögliche Situationen ebenfalls abbilden. Im Anschluss daran werden diese der Umgebung der GUI hinzugefügt, und zuletzt kann der Test ausgeführt werden. | Der generelle Umgang mit der Benutzeroberfläche (GUI - Graphical User Interface) wird in den folgenden Abschnitten behandelt. Zunächst müssen Testfälle generiert werden, die in sich besonders aussagekräftig sind und so weitere mögliche Situationen ebenfalls abbilden. Im Anschluss daran werden diese der Umgebung der GUI hinzugefügt, und zuletzt kann der Test ausgeführt werden. Entwickelt wurde die GUI im [[Special:PermanentLink/51164#Test_der_Abstandssensorik|SS2019]] mit Hilfe von Matlab GUIDE <ref>Create a Simple App Using GUIDE [https://de.mathworks.com/help/matlab/creating_guis/about-the-simple-guide-gui-example.html] </ref>. | ||
== Ausführung von Testfällen == | |||
Zu diesem Abschnitt wird die Ausführung von Testfällen beschrieben. Dabei kann zwischen insgesamt sieben Testfällen gewählt werden. Um einen Test durchzuführen sind die folgenden Schritte notwendig: | |||
== Generierung von Testfällen == | # Starten der GUI in MATLAB. | ||
Um die Abstandssensorik zu testen werden Testfälle generiert und in Datenbanken gespeichert. Hierfür | # Auswählen einen entsprechenden Testfalls. Dabei wird bereits bei der Auswahl die entsprechende Testumgebung visualisiert. | ||
# Beim Klick auf den Button MessungStart wird die Messung gestartet und unmittelbar durchgeführt. | |||
# Auswertung des Messergebnisses: Das Ergebnis der Messung wird unterhalb des Buttons MessungStart tabellarisch angezeigt. Dabei werden jeweils die vier Sollwerte mit den vier Istwerten, also den gemessenen Werten, verglichen. In der rechten Spalte ist das Ergebnis dargestellt. Eine 1 steht jeweils für einen bestandenen und eine 0 für einen nicht bestanden Test. In dem Algorithmus der Testumgebung sind dazu bestimmte Grenzen für eine maximale Abweichung vorgegeben, anhand dessen das Ergebnis ermittelt wird. | |||
# Nach Abschluss der Messung, kann MATLAB wieder geschlossen werden. | |||
== Generierung von neuen Testfällen == | |||
Um die Abstandssensorik zu testen werden Testfälle generiert und in Datenbanken gespeichert. Hierfür wird in der Simulation eine Laufzeitvariable erstellt und an bestimmten Positionen die Simulation gestoppt. Die benötigten Variablen in den Testfällen sind folgende: | |||
* ObjektListe | * ObjektListe | ||
* Schalter | * Schalter | ||
Zeile 20: | Zeile 27: | ||
* psi | * psi | ||
Die Variablen sind in jeweils einer .mat-Datei abzulegen. Der entsprechende bzw. mit der Nummerierung fortlaufende Name dieser Datei ist manuell zu wählen. | |||
Hinweis: Es ist zu beachten, dass die Simulation in der bibliothek 'SensorenAktoren_offline' gestoppt werden muss, da die Variablen nur lokal in der Funktion gespeichert werden und global nicht sichtbar sind. Damit Datenbanken in Matlab erstellt werden können muss der 'save' - Befehl verwendet werden. Dieser ist jedoch in der Simulationsumgebung nicht zulässig. Um den Fehler zu umgehen wird an den Stellen, an denen das Fahrzeug gestoppt werden soll, ein Breakpoint gesetzt. In einer if - Bedingung wird so bei Erreichen eines Wertes der Laufzeitvariable am Breakpoint gestoppt. Nun kann im Matlab Command Window der 'save' - Befehl manuell eingetippt werden, mit dem die entsprechende .mat-File generiert wird. Dies ist beispielhaft kurz dargestellt. <br> | |||
Beispiel für die Erstellung einer Datenbank: | Beispiel für die Erstellung einer Datenbank: | ||
<pre>save('Messung1.mat',' | <pre>save('Messung1.mat','x','y','Schalter','ObjektListe','psi','stIRPosition')</pre> | ||
Durch Eingabe der 'Enter' - Taste wird die Datenbank im Arbeitsordner angelegt. | Durch Eingabe der 'Enter' - Taste wird die Datenbank im Arbeitsordner angelegt. Wichtig zu wissen ist außerdem, dass die Variablen nicht im Workspace angezeigt werden, aber vorhanden sind. Deshalb ist auch ein Speichern der Variablen möglich. | ||
Die Ergebnisse zu der Generierung von Testfällen befinden sich im Branch [https://svn.hshl.de/svn/MTR_SDE_Praktikum/branches/Einparksensorik_SS_19/ Einparksensorik_SS_19]. | Die Ergebnisse zu der Generierung von Testfällen befinden sich im Branch [https://svn.hshl.de/svn/MTR_SDE_Praktikum/branches/Einparksensorik_SS_19/ Einparksensorik_SS_19]. | ||
Zeile 31: | Zeile 40: | ||
== Auswertung der Sensordaten == | == Auswertung der Sensordaten == | ||
Für die Auswertung gibt es eine Testumgebung für die Abstandssensorik. Diese befindet sich bei folgendem Link: [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/ | Für die Auswertung gibt es eine Testumgebung für die Abstandssensorik. Diese befindet sich bei folgendem Link: [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/Demos/Test_der_Abstandssensorik/Testumgebung_Sensoren_Offline/IR_Sensorik/ GUI]. Um die Datenbanken der generierten Testfälle in die Testumgebung einzubinden, müssen sie zuvor in den Ordner, in dem sich die Testumgebung befindet, eingefügt werden. Zusätzlich dazu müssen die Bilder in des Testfalls in den Ordner geladen werden, damit über die GUI der entsprechende Test ausgewählt werden kann. <br> | ||
Anschließend kann in Matlab durch Starten der GUI der gewünschte Testfall ausgelesen werden. | Anschließend kann in Matlab durch Starten der GUI der gewünschte Testfall ausgelesen werden. | ||
Zeile 43: | Zeile 52: | ||
Über das DropDown-Menü "Auswahl des Testfalls" kann der jeweilige Testfall geladen werden. In dem Koordinatensystem wird dann optisch der Test dargestellt, damit der Anwender sieht welcher Test durchgeführt wird. Über den Button "MessungStart" wird die Messung durchgeführt. Hierfür wurde die Testumgebung als Funktion ausgelagert und in der GUI aufgerufen. In einer Tabelle werden dann alle notwendigen Testdaten angezeigt. | Über das DropDown-Menü "Auswahl des Testfalls" kann der jeweilige Testfall geladen werden. In dem Koordinatensystem wird dann optisch der Test dargestellt, damit der Anwender sieht welcher Test durchgeführt wird. Über den Button "MessungStart" wird die Messung durchgeführt. Hierfür wurde die Testumgebung als Funktion ausgelagert und in der GUI aufgerufen. In einer Tabelle werden dann alle notwendigen Testdaten angezeigt. | ||
Das nachfolgende Beispiel zeigt den Testdurchlauf für den Fall "Messung4": | Das nachfolgende Beispiel zeigt exemplarisch den Testdurchlauf für den Fall "Messung4": | ||
Zeile 49: | Zeile 58: | ||
In der Tabelle können die vorgegebenen Soll-Werte abgelesen werden. Durch die berechneten Ist-Werte wird ermittelt, ob die Abweichung in Ordnung ist. Das Ergebnis wird in der letzten Spalte angegeben. Die | In der Tabelle können die vorgegebenen Soll-Werte abgelesen werden. Durch die berechneten Ist-Werte wird ermittelt, ob die Abweichung in Ordnung ist. Das Ergebnis wird in der letzten Spalte angegeben. Die | ||
[https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/ | [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/Demos/Test_der_Abstandssensorik/Testumgebung_Sensoren_Offline/IR_Sensorik/ GUI]befindet sich im SVN. | ||
== Einzelnachweis == | == Einzelnachweis == | ||
Zeile 58: | Zeile 64: | ||
---- | ---- | ||
→ zurück zum Hauptartikel: [[Praktikum_SDE|Praktikum SDE]] | → zurück zum Hauptartikel: [[Praktikum_SDE|Praktikum SDE]] | ||
<br />→ zurück zum übergeordneten Artikel: [[Infrarotsensoren|Infrarotsensoren]] |
Aktuelle Version vom 17. Juli 2020, 23:08 Uhr
Autoren: Julin Horstkötter, Levin Baumeister
In dem Offline-Modus des Simulink-Modells des autonomen Fahrzeugs erfolgt die Simulation der Infrarotsensoren in einer Matlab function. In der Funktion werden mit Hilfe von Umrechnungen der verschiedenen Koordinatensysteme die Ausgabe der vier Infrarotsensoren in der Einheit Meter simuliert. In diesem Artikel wird eine Benutzeroberfläche genauer erläutert und beschrieben, die entwickelt wurde, um die Implementierung der Matlab function, die der Simulation dient, zu testen.
Kurzinformation
Der generelle Umgang mit der Benutzeroberfläche (GUI - Graphical User Interface) wird in den folgenden Abschnitten behandelt. Zunächst müssen Testfälle generiert werden, die in sich besonders aussagekräftig sind und so weitere mögliche Situationen ebenfalls abbilden. Im Anschluss daran werden diese der Umgebung der GUI hinzugefügt, und zuletzt kann der Test ausgeführt werden. Entwickelt wurde die GUI im SS2019 mit Hilfe von Matlab GUIDE [1].
Ausführung von Testfällen
Zu diesem Abschnitt wird die Ausführung von Testfällen beschrieben. Dabei kann zwischen insgesamt sieben Testfällen gewählt werden. Um einen Test durchzuführen sind die folgenden Schritte notwendig:
- Starten der GUI in MATLAB.
- Auswählen einen entsprechenden Testfalls. Dabei wird bereits bei der Auswahl die entsprechende Testumgebung visualisiert.
- Beim Klick auf den Button MessungStart wird die Messung gestartet und unmittelbar durchgeführt.
- Auswertung des Messergebnisses: Das Ergebnis der Messung wird unterhalb des Buttons MessungStart tabellarisch angezeigt. Dabei werden jeweils die vier Sollwerte mit den vier Istwerten, also den gemessenen Werten, verglichen. In der rechten Spalte ist das Ergebnis dargestellt. Eine 1 steht jeweils für einen bestandenen und eine 0 für einen nicht bestanden Test. In dem Algorithmus der Testumgebung sind dazu bestimmte Grenzen für eine maximale Abweichung vorgegeben, anhand dessen das Ergebnis ermittelt wird.
- Nach Abschluss der Messung, kann MATLAB wieder geschlossen werden.
Generierung von neuen Testfällen
Um die Abstandssensorik zu testen werden Testfälle generiert und in Datenbanken gespeichert. Hierfür wird in der Simulation eine Laufzeitvariable erstellt und an bestimmten Positionen die Simulation gestoppt. Die benötigten Variablen in den Testfällen sind folgende:
- ObjektListe
- Schalter
- stIRPosition
- x
- y
- psi
Die Variablen sind in jeweils einer .mat-Datei abzulegen. Der entsprechende bzw. mit der Nummerierung fortlaufende Name dieser Datei ist manuell zu wählen.
Hinweis: Es ist zu beachten, dass die Simulation in der bibliothek 'SensorenAktoren_offline' gestoppt werden muss, da die Variablen nur lokal in der Funktion gespeichert werden und global nicht sichtbar sind. Damit Datenbanken in Matlab erstellt werden können muss der 'save' - Befehl verwendet werden. Dieser ist jedoch in der Simulationsumgebung nicht zulässig. Um den Fehler zu umgehen wird an den Stellen, an denen das Fahrzeug gestoppt werden soll, ein Breakpoint gesetzt. In einer if - Bedingung wird so bei Erreichen eines Wertes der Laufzeitvariable am Breakpoint gestoppt. Nun kann im Matlab Command Window der 'save' - Befehl manuell eingetippt werden, mit dem die entsprechende .mat-File generiert wird. Dies ist beispielhaft kurz dargestellt.
Beispiel für die Erstellung einer Datenbank:
save('Messung1.mat','x','y','Schalter','ObjektListe','psi','stIRPosition')
Durch Eingabe der 'Enter' - Taste wird die Datenbank im Arbeitsordner angelegt. Wichtig zu wissen ist außerdem, dass die Variablen nicht im Workspace angezeigt werden, aber vorhanden sind. Deshalb ist auch ein Speichern der Variablen möglich.
Die Ergebnisse zu der Generierung von Testfällen befinden sich im Branch Einparksensorik_SS_19.
Auswertung der Sensordaten
Für die Auswertung gibt es eine Testumgebung für die Abstandssensorik. Diese befindet sich bei folgendem Link: GUI. Um die Datenbanken der generierten Testfälle in die Testumgebung einzubinden, müssen sie zuvor in den Ordner, in dem sich die Testumgebung befindet, eingefügt werden. Zusätzlich dazu müssen die Bilder in des Testfalls in den Ordner geladen werden, damit über die GUI der entsprechende Test ausgewählt werden kann.
Anschließend kann in Matlab durch Starten der GUI der gewünschte Testfall ausgelesen werden.
Nachdem die Datenbank in der Testumgebung eingelesen wurde, wird diese gestartet. Anschließend zeigt die GUI an, ob der Test bestanden (1) oder nicht bestanden (0) wurde.
Über das DropDown-Menü "Auswahl des Testfalls" kann der jeweilige Testfall geladen werden. In dem Koordinatensystem wird dann optisch der Test dargestellt, damit der Anwender sieht welcher Test durchgeführt wird. Über den Button "MessungStart" wird die Messung durchgeführt. Hierfür wurde die Testumgebung als Funktion ausgelagert und in der GUI aufgerufen. In einer Tabelle werden dann alle notwendigen Testdaten angezeigt.
Das nachfolgende Beispiel zeigt exemplarisch den Testdurchlauf für den Fall "Messung4":
In der Tabelle können die vorgegebenen Soll-Werte abgelesen werden. Durch die berechneten Ist-Werte wird ermittelt, ob die Abweichung in Ordnung ist. Das Ergebnis wird in der letzten Spalte angegeben. Die GUIbefindet sich im SVN.
Einzelnachweis
→ zurück zum Hauptartikel: Praktikum SDE
→ zurück zum übergeordneten Artikel: Infrarotsensoren