Test der RS232-Kommunikation (Abschlusstest WiSe 22/23)
Betreuer: Prof. Dr.-Ing Ulrich Schneider, Marc Ebmeyer
Autor: Tim Schonlau, Changlai Bao in WS2022/23
Einleitung
Abschließender Test des KOM - Kommunikation Teams Sprint2 und 3 im WiSe 22/23. Die in der OSE Softwareumgebung beinhaltendende RS232-Kommunikation wird auf alle zu übertragenden Daten überprüft.
Anforderungen
Über die RS-232-Schnittstelle müssen die Parameter des zu steuernden Fahrzeugs getestet werden. Das DS1104 gibt die Fahrzeuggeschwindigkeit (Vx,Ego) und den Lenkwinkel α an den PC weiter. Im Gegenzug liefert der PC dem DS1104 die Spurparameter a, b und c sowie die Parameter der Hindernisse. In den Tabellen 1 und 2 sind alle Parameter aufgeführt, die geprüft werden müssen.
Testfall-ID | Testfall-Bezeichnung | Ersteller | Datum | Prüfer | Datum | Bemerkung |
---|---|---|---|---|---|---|
1 | Übertragen von Ego-Längsgeschwindigkeit | Changlai Bao | - | Tim Schonlau | - | nicht implementiert |
2 | Übertragen von Lenkwinkel | Changlai Bao | - | Tim Schonlau | - | nicht implementiert |
Testfall-ID | Testfall-Bezeichnung | Ersteller | Datum | Prüfer | Datum | Bemerkung |
---|---|---|---|---|---|---|
1 | Übertragen von Parameter A | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
2 | Übertragen von Parameter B | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
3 | Übertragen von Parameter C | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
4 | Übertragen von Parameter Spurzuordnung | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
5 | Übertragen von Parameter StopplinieErkannt | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
6 | Übertragen von Parameter StopplinieAbstand | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
7 | Übertragen von Parameter ObjekteAnzahl | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
8 | Übertragen von Parameter ObjektNummer | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
9 | Übertragen von Parameter ObjektX | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
10 | Übertragen von Parameter ObjektY | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
11 | Übertragen von Parameter Objektbreite | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
12 | Übertragen von Parameter Objekttiefe | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
13 | Übertragen von Parameter Objektausrichtung | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
14 | Übertragen von Parameter Objektgeschwindigkeit | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
15 | Übertragen von Parameter Objektplausibel | Changlai Bao | 04.01.2023 | Tim Schonlau | 05.01.2023 | Erfolgreich |
→ Gehen zum: Schnittstellendokument
Outputs von DS1104SER_RX analysieren
Um die Funktionsweise des SenKam-Moduls in bib_Sensoren_Aktoren_online besser zu verstehen, können wir das unten stehende Skript und die in ControlDesk aufgenommenen Daten verwenden, um die Größe der Eingabe- und Ausgabedaten zu vergleichen:
Die folgende Abbildung zeigt eine vergleichende Darstellung der Datenmenge:
Testfälle
SVN Versionen
Die ausführlichen Tabellen zu den Testfällen lassen sich mit Klick auf den Button "Ausklappen" anzeigen.
Testfall 1 (Sprint2)
Bezeichnung: Übertragen von Spurpolynom aus OSE - Objekt - und Spurerkennung ()
Tester: Tim Schonlau, Changlai Bao
Datum: 05.12.2022, Subversion Revision 8153
Testinstanz: PC mit 9 poligen D-Sub Kabel an dSPACE Karte DS1104 angeschlossen
Verwendete Software:
- OSE_Draufsicht_Spurpolynom_RS232.exe
- dSPACE Control Desk Projekt Inbetriebnahme
- Simulink online.slx.
Schritt Nr. | Beschreibung | Ausgangszustand | Aktion(en) | Ergebnis | Bewertung | Bemerkung |
---|---|---|---|---|---|---|
Precondition 1 | Start des PCs, RS232-Kabel einstecken, Update SVN Working-Copy auf Revision 8153 | PC ist aus, Kabel nicht eingesteckt, lokale Daten veraltet | OSE Draufsicht Spurpolynom_RS232.sln starten, dSPACE Control Desk starten und über Öffnen das Projekt Inbetriebnahme laden | Der PC ist hochgefahren und alle benötigten Dateien aus dem SVN Repository sind lokal gespeichert | i.O. | |
Precondition 2 | Die Visual Studio Solution und das dSPACE Control Desk Projekt werden gestartet | Benötigte Dateien vorhanden, Hardware und Kabel eingerichtet | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden gestartet | Visual Studio mit der OSE_Spurpolynom_Draufsicht_RS232.sln Solution geöffnet | i.O. | |
Testschritt 1 | Kommunikation wird getestet, indem die Ausgabe in der Konsole der Visual Studio Solution mit den Ergebnissen der dSPACE ControlDesk verglichen werden | Die Visual Studio Solution und das dSPACE Control Desk wird ausgeführt | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden ausgeführt | Die Spurpolynom- koeffizienten werden im Konsolenfenster ausgegeben und korrekt in dSPACE Control Desk angezeigt. | i.O. | |
Testschritt 2 | Kommunikation wird getestet, indem die Ausgabe in der Konsole der Visual Studio Solution mit den Ergebnissen der dSPACE ControlDesk verglichen werden | Die Visual Studio Solution und das dSPACE Control Desk wird ausgeführt | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden ausgeführt | Die Linienparameter werden im Konsolenfenster ausgegeben und korrekt in dSPACE Control Desk angezeigt. | n.i.O. | |
Testschritt 3 | Kommunikation wird getestet, indem die Ausgabe in der Konsole der Visual Studio Solution mit den Ergebnissen der dSPACE ControlDesk verglichen werden | Die Visual Studio Solution und das dSPACE Control Desk wird ausgeführt | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden ausgeführt | Die Lidar Objektparameter werden im Konsolenfenster ausgegeben und korrekt in dSPACE Control Desk angezeigt. | n.i.O. | |
Postcondition | ControlDesk stoppen, Visual Studio schließen | Messung in ControlDesk läuft, Datenübertragung wird ausgeführt | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden geschlossen | PC kann heruntergefahren werden | i.O. | ----- |
Testfall 2 (Sprint3)
Bezeichnung: Übertragen aller Variablen der OSE - Objekt - und Spurerkennung
Tester: Tim Schonlau, Changlai Bao
Datum: 09.01.2023, Subversion Revision 8429
Testinstanz: PC mit 9 poligen D-Sub Kabel an dSPACE Karte DS1104 angeschlossen
Verwendete Software: OSE_Draufsicht_Spurpolynom_RS232.exe, dSPACE Control Desk Projekt Inbetriebnahme, Simulink online.slx.
Schritt Nr. | Beschreibung | Ausgangszustand | Aktion(en) | Ergebnis | Bewertung | Bemerkung |
---|---|---|---|---|---|---|
Precondition 1 | Start des PCs, RS232-Kabel einstecken, Update SVN Working-Copy auf Revision ??? | PC ist aus, Kabel nicht eingesteckt, lokale Daten veraltet | OSE Draufsicht Spurpolynom_RS232.sln starten, dSPACE Control Desk starten und über Öffnen das Projekt Inbetriebnahme laden | Der PC ist hochgefahren und alle benötigten Dateien aus dem SVN Repository sind lokal gespeichert | i.O. | |
Precondition 2 | Die Visual Studio Solution mit Lidar Implementierung und das dSPACE Control Desk Projekt werden gestartet | Benötigte Dateien vorhanden, Hardware und Kabel eingerichtet | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden gestartet | Visual Studio mit der OSE_Spurpolynom_Draufsicht_RS232.sln Solution geöffnet | i.O. | Falls die OSE_Softwareumgebung nicht korrekt beendet wurde, blockiert das Lidar-Framework den COM Port. Ein neues Einstecken des Lidars löst das Problem! |
Testschritt 1 | Spurpolynom- koeffizienten a, b und c und Spurzuordnung, Stopp-Linie sowie Stopp-Linienabstand werden in Ausgabe in der Konsole der Visual Studio Solution mit den Ergebnissen der dSPACE ControlDesk verglichen. | Die Visual Studio Solution und das dSPACE Control Desk wird ausgeführt | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden ausgeführt | Alle Parameter der Spurführung werden im Konsolenfenster ausgegeben und korrekt in dSPACE Control Desk angezeigt. | i.O. | siehe Video unten |
Testschritt 2 | Übertragung der Lidar-Daten wird getestet, indem die simulierten Daten in der Visual Studio Solution mit den Ergebnissen der dSPACE ControlDesk verglichen werden | Die Visual Studio Solution und das dSPACE Control Desk wird ausgeführt | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden ausgeführt | Die Lidar-Daten werden korrekt in dSPACE Control Desk korrekt angezeigt. | i.O. | siehe Video unten |
Testschritt 3 | Geschwindigkeit der Kommunikation wird getestet, indem die Ausgabe der Zeit pro Übertragung in der Konsole der Visual Studio Solution ausgewertet wird | Die Visual Studio Solution und das dSPACE Control Desk wird ausgeführt | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden ausgeführt | Die Kommunikation überträgt die Daten vom PC zur dSPACE-Karte mit einer angemessenen Geschwindigkeit über 100mal pro Sekunde | n.i.O. | siehe Video unten |
Postcondition | ControlDesk stoppen, Visual Studio schließen | Messung in ControlDesk läuft, Datenübertragung wird ausgeführt | Das Sendeprogramm (Visual Studio) und Empfangs-/Kontrollprogramm (dSPACE Control Desk) werden geschlossen | PC kann heruntergefahren werden | i.O. | ----- |
Testbericht
Die Ergebnisse der Tests in Bezug auf die Anforderungen sind in Tabelle 3 und Tabelle 4 dargestellt.
Testfall-ID | Testfall-Bezeichnung | Erwartetes Ergebnis | Testergebnis | Testperson | Datum | Bemerkung |
---|---|---|---|---|---|---|
1 | Übertragen von Ego-Längsgeschwindigkeit | Parameter Ego-Längsgeschwindigkeit wird korrekt übertragen | noch nicht testen | - | - | ---- |
2 | Übertragen von Lenkwinkel | Parameter Lenkwinkel wird korrekt übertragen | noch nicht testen | - | - | ---- |
Testfall-ID | Testfall-Bezeichnung | Erwartetes Ergebnis | Testergebnis | Testperson | Datum | Bemerkung |
---|---|---|---|---|---|---|
1 | Übertragen von Parameter A | Parameter A wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
2 | Übertragen von Parameter B | Parameter B wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
3 | Übertragen von Parameter C | Parameter C wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
4 | Übertragen von Parameter Spurzuordnung | Parameter Spurzuordnung wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
5 | Übertragen von Parameter StopplinieErkannt | Parameter StopplinieErkannt wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
6 | Übertragen von Parameter StopplinieAbstand | Parameter StopplinieAbstand wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
7 | Übertragen von Parameter ObjekteAnzahl | Parameter ObjekteAnzahl wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
8 | Übertragen von Parameter ObjektNummer | Parameter ObjektNummer wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
9 | Übertragen von Parameter ObjektX | Parameter ObjektX wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
10 | Übertragen von Parameter ObjektY | Parameter ObjektY wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
11 | Übertragen von Parameter Objektbreite | Parameter Objektbreite wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
12 | Übertragen von Parameter Objekttiefe | Parameter Objekttiefe wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
13 | Übertragen von Parameter Objektausrichtung | Parameter Objektausrichtung wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
14 | Übertragen von Parameter Objektgeschwindigkeit | Parameter Objektgeschwindigkeit wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
15 | Übertragen von Parameter Objektplausibel | Parameter Objektplausibel wird korrekt übertragen | OK | Tim Schonlau | 05.01.2023 | ---- |
Testvideo
Bezeichnung: Kommunikation mit den echten Daten (Spurparameter, Stopplinieparameter und Live Bild LiDAR Werte) der Bildverarbeitung
Im Video sind links die ausgelesenen Daten aus dem RS232-Softwarepuffer des RTI Serial_RX Blocks zu sehen. Die Daten werden korrekt übertragen. Auf der rechten Seite wird das Spurpolynom dargestellt, rechts daneben zu Debugging-Zwecken der Status des Serial_RX Blocks über der Zeit geplottet. Dabei ist zu erkennen, das lediglich 3 bis 4 erfolgreiche Übertragungen pro Sekunde stattfinden. Die Daten werden aus dem Softwarepuffer gelesen, wenn der letzte Status 5 und der aktuelle 0 ist, Erklärung dazu ist im Simulinkmodell beschrieben!
Die unteren beiden Plots stellen die in den Softwarepuffer geschriebenen und ausgelesenen Bytes über Zeit dar.
Zusammenfassung
Alle Daten von PC zur dSPACE Karte werden erfolgreich übertragen. Insofern können die Teams in den anderen Modulen wie BSF - Bahn- und Spurführung, AuF - Antrieb und Fernbedienung und Objekterkennung mit Laserscanner das Lenken und die Beschleunigung sowie die Hindernisserkennung bereits implementieren.
Die OSE Softwareumgebung funktioniert Stand WiSe22/23 zu langsam, dies kann durch Maßnahmen wie z.B. Multi-Threading oder aktuellerer leistungsfähiger Hardware optimiert werden.
→ zurück zum Kommunikationsartikel: Kom - Kommunikation
→ zurück zum Hauptartikel: Praktikum SDE