SDE Systementwicklung WS25/26: Spurverfolgung mit Kamera: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 79: Zeile 79:
Nutzen Sie die in Reliability Engineering gelehrten Methoden zum Modultest.
Nutzen Sie die in Reliability Engineering gelehrten Methoden zum Modultest.
* MATLAB<sup>®</sup>-Quelltext: [[Reliability_Engineering_WS25/26_-_Modultest#MATLAB®_Modultest|MATLAB<sup>®</sup>-Modultest]]
* MATLAB<sup>®</sup>-Quelltext: [[Reliability_Engineering_WS25/26_-_Modultest#MATLAB®_Modultest|MATLAB<sup>®</sup>-Modultest]]
* Simulink-Modell: [[/Reliability_Engineering_WS25/26_-_Modultest#1._Simulink_Test_(offizielle_MATLAB®/Simulink-Erweiterung)|Simulink Test]]
* Simulink-Modell: [[Reliability_Engineering_WS25/26_-_Modultest#1._Simulink_Test_(offizielle_MATLAB®/Simulink-Erweiterung)|Simulink Test]]
{| class="wikitable"
{| class="wikitable"
|+ style = "text-align: left"|Tabelle 4: Übersicht der Modultests
|+ style = "text-align: left"|Tabelle 4: Übersicht der Modultests
Zeile 85: Zeile 85:
! # !! Modul !! Testverfahren !! Verantwortung !! Testbericht
! # !! Modul !! Testverfahren !! Verantwortung !! Testbericht
|-
|-
| 1 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Daten/Rundkurs_L33_E01_210/MittelLinie_W.mat <code>MittelLinie_W.mat</code>] || Array mit Mittellinie für AP 1.2
| 1 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/AlphaBot/m-files/starteAlphaBotMapping.m <code>starteAlphaBotMapping.m</code>] || MATLAB®_Modultest || Jan Steffens ||
|-
|-
| 2 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Daten/Rundkurs_L33_E01_210/RechteFahrspur_W.mat <code>RechteFahrspur_W.mat</code>] || Array mit Sollinie in der Mitte der rechten Fahrspur für AP 1.9
| 2 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/AlphaBot/m-files/leseReferenzpunkte.<code>leseReferenzpunkte.m</code>] || MATLAB®_Modultest || Jan Steffens ||
|-
|-
| 3 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Daten/Rundkurs_L33_E01_210/LinkeFahrspur_W.mat <code>LinkeFahrspur_W.mat</code>] || Array mit Sollinie in der Mitte der rechten Fahrspur für AP 1.9
| 3 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/AlphaBot/m-files/KosTrafoTzuWelt.m <code>KosTrafoTzuWelt.m</code>] || MATLAB®_Modultest || Jan Steffens ||
|-
|-
| 4 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Daten/Rundkurs_L33_E01_210/berechneEntfernungPunktGerade.m <code>berechneEntfernungPunktGerade.m</code>]|| Berechnung der Ist-Ablage des Prismas zur Sollinie (AP 1.2) || [[SDE_Systementwurf_SoSe2025:_Testbericht_berechneEntfernungPunktGerade.m|Testbericht]]
| 4 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/AlphaBot/m-files/empfangePrismaPosition.m <code>empfangePrismaPosition.m</code>]|| MATLAB®_Modultest || Jan Steffens ||
|-
|-
| 5 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/SS2025/Sprint_2/c-files/Demo_Char2Float/Demo_Char2Float.ino <code>Demo_Char2Float.ino</code>] || C-Demo für die Umwandlung eines Char in Float
| 5 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/AlphaBot/m-files/KalmanFilter.m <code>KalmanFilter.m</code>]]|| MATLAB®_Modultest || Jan Steffens ||
|-
|-
| 6 || [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoSendeFloatSerial/DemoSendeFloatSerial.ino <code>DemoSendeFloatSerial.ino</code>] || C-Demo versendet Fließkommazahl via Serial IO.
| 6 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/AlphaBot/m-files/Simulink/SpurRegelungAlphaBot.slx <code>SpurRegelungAlphaBot.slx → Subsystem Wertevergleich</code>] || Simulink Test || Lukas Berkemeier ||
|-
|-
| 7 || [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoSendeFloatSerial/empfangeBluetoothFloat.m <code>empfangeBluetoothFloat.m</code>] || MATLAB<sup>®</sup>-Demo für den Empfang einer Fließkommazahl via Bluetooth
| 7 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/AlphaBot/m-files/Simulink/SpurRegelungAlphaBot.slx <code>SpurRegelungAlphaBot.slx → Subsystem PID-Regler</code>]] || Simulink Test || Lukas Berkemeier ||
|-
| 8 || [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoBluetoothModulHC05/DemoSoftwareSerial/DemoSoftwareSerial.ino <code>DemoSoftwareSerial.ino</code>] || C-Demo für bidirektionale Bluetooth Kommunikation
|-
| 9 || [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoBluetoothModulHC05/BluetoothIO.m  <code>BluetoothIO.m </code>] || MATLAB<sup>®</sup>-Demo für bidirektionale Bluetooth Kommunikation
|-
| 10 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/m-files/testBerechneRegelabweichungSpur.m  <code>testBerechneRegelabweichungSpur.m</code>] || Ein gemessener Punkt wird in der Fahrspur in W-KOS angezeigt und der Abstand d zur Mitellinie berechnet.
|-
| 11 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/m-files/KosTrafoTzuWelt.m  <code>KosTrafoTzuWelt.m</code>] || Koordinatentransformation eines Punktes vom T-KOS in das W-KOS anhand der Referenzpositionen A und B.
|-
| 12 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/Test/TestKosTrafoTzuWelt/testeKosTrafoTzuWelt.m  <code>testeKosTrafoTzuWelt.m</code>] || Test und Visualisierung der KOS-Trafo || [[SDE_Systementwurf_SoSe2025:_Testbericht_testeKosTrafoTzuWelt.m|Testbericht]]
|}
|}


== Systemtest gegen die Anforderungen==
== Systemtest gegen die Anforderungen==
{| class="wikitable"
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 4: Systemtest gegen die Anforderungen
|+ style="text-align:left;"| Tabelle 5: Systemtest gegen die Anforderungen
|-
|-
! Req. !! Beschreibung !! Testergebnis !! Erfüllt
! Req. !! Beschreibung !! Testergebnis !! Erfüllt
|-
|-
| 1 ||style="color:white; background-color:red;"| Ein AlphaBot muss die Mittellinien der Fahrbahn autonom verfolgen.|| [[SDE WS25: BluetoothRegelung.ino#Modultest | Modultest]], [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/m-files/geregelteFahrtMittellinie.m geregelteFahrtMittellinie.m] ||
| 1 || Ein AMR muss autonom in der rechten Fahrspur fahren.|| ||  
|-
|-
| 2 || Als Referenzmessystem kommt die [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station|Topcon Robotic Total Station]] zum Einsatz.|| [[SDE WS25: AP 1.1 Positionsmessung des AlpaBot]] ||
| 2 || Als Referenzmessystem kommt die [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station|Topcon Robotic Total Station]] zum Einsatz.|| ||  
|-
|-
| 3 ||style="color:white; background-color:red;"|  Der AlphaBot muss zur Positionsregelung die Referenzdaten verwenden und als Stützung für die Linienverfolgung nutzten. || ||
| 3 || Der AMR muss die Fahrbahndaten via Kamera ([[Kamerasensor_Pixy_2.1|Pixy2.1]]) auswerten, um der Fahrspur zu folgen. || ||  
|-
|-
| 4 ||style="color:white; background-color:red;"|  Die Messwerte Pose (x, y, Kurs) und Farbe müssen mit MATLAB<sup>®</sup> aufgezeichnet werden.|| ||
| 4 || Die Referenzwerte müssen mit MATLAB<sup>®</sup> aufgezeichnet werden (x, y, <math>\Psi</math>).|| ||  
|-
|-
| 5 ||style="color:white; background-color:red;"|  Fehler in den Messwerten müssen bereinigt werden.|| ||
| 5 || Messfehler müssen geeignet gefiltert werden.|| ||  
|-
|-
| 6 || style="color:white; background-color:red;"| Die zweidimensionale digitalen Karte mit gemessener Mittellinie muss als MATLAB<sup>®</sup>-Datei (<code>.mat</code>) bereitgestellt werden. || ||
| 6 || Die zweidimensionale digitalen Karte mit der Roboterpose während der Fahrt muss als MATLAB<sup>®</sup>-Datei (<code>.mat</code>) bereitgestellt werden. || ||  
|-
|-
| 7 || Das Vorgehen muss am KANBAN-Board geplant und verfolgt werden.  || [[SDE Systementwicklung WS25/26: Geregelte autonome Fahrt#Zusammenfassung | KANBAN Übersicht]]  || ✓
| 7 || Das Vorgehen muss am KANBAN-Board geplant und verfolgt werden.  || ||  
|-
|-
| 8 || style="color:white; background-color:red;"|Lösungsweg und Lösung muss im Wiki für nachfolgende Studierende verständlich dokumentiert werden.  || Ein Teil der Lösungen wurden dokumentiert und in Tabelle 3 verlinkt.||
| 8 || Lösungsweg und Lösung muss in diesem Wiki-Artikel dokumentiert werden.  || ||  
|-
|-
| 9 ||style="color:white; background-color:red;"|  Nach Erstellen der digitalen Karte muss die Fahrt des AlphaBot in der rechten Fahrspur in der Karte eingezeichnet werden. || ||
| 9 || Als AMR muss ein [[AlphaBot]]  eingesetzt werden. || ||  
|-
|-
| 10 ||style="color:white; background-color:red;"|  Als Vorbereitung des nächsten Sprints muss eine Kamerahaltung für die Pixy2.1 für den AlphaBot geplant, designed, gedruckt, getestet und dokumentiert werden. || [[Kamerasensor_Pixy_2.1#Halterung für den Alphabot | Kamerahalterung]]  ||
| 10 || Als Software für die Regelung muss MATLAB<sup>®</sup>/Simulink eingesetzt werden. || ||  
|}
|}



Aktuelle Version vom 17. Dezember 2025, 13:14 Uhr

Abb. 1: Autonome Fahrbahnvermessung im Labor Autonome Systeme
Abb. 1: Ergebnisdarstellung der Außenlinien
Autoren: Jan Steffens & Lukas Berkemeier
Dozent: Prof. Dr.-Ing. Schneider
Modul Mechatronik, Systementwicklung (Wahlpflichtprofil „Systems Design Engineering“), Sommersemester
Modulbezeichnung: MTR-B-2-6.11
Modulverantwortung: Ulrich Schneider
Lehrveranstaltung: Praktikum Systementwurf
Sprint 1: Autonome Fahrbahnvermessung
Zeit: Dienstag, 08:15 - 10:30 Uhr, Selbstlernzeit: TBD
Ort: Labor L3.3-E01-180 (Autonome Systeme)

Einleitung

Zu Sprint 2 wurde die Fahrbahn vollständig vermessen und als digitale Karte gespeichert (vgl. Abb. 1, 2). Die Position des Prismas kann während der Fahrt gemessen und in die Referenzkarte eingezeichnet werden. Aufgabe dieses Sprints einen Autonomen Mobilen Roboter (AMR) via Kamera und Spurerkennung in der rechten Fahrspur gereglt zu fahren, diese Fahrt zu vermessen und in die Karte zu übertragen.

Tabelle 1: Anforderung an die Spurverfolgung mit Kamera
Req. Beschreibung Priorität
1 Ein AMR muss autonom in der rechten Fahrspur fahren. 1
2 Als Referenzmessystem kommt die Topcon Robotic Total Station zum Einsatz. 1
3 Der AMR muss die Fahrbahndaten via Kamera (Pixy2.1) auswerten, um der Fahrspur zu folgen. 1
4 Die Referenzwerte müssen mit MATLAB® aufgezeichnet werden (x, y, Ψ). 1
5 Messfehler müssen geeignet gefiltert werden. 1
6 Die zweidimensionale digitalen Karte mit der Roboterpose während der Fahrt muss als MATLAB®-Datei (.mat) bereitgestellt werden. 1
7 Das Vorgehen muss am KANBAN-Board geplant und verfolgt werden. 1
8 Lösungsweg und Lösung muss in diesem Wiki-Artikel dokumentiert werden. 1
9 Als AMR muss ein AlphaBot eingesetzt werden. 1
10 Als Software für die Regelung muss MATLAB®/Simulink eingesetzt werden. 1
Tabelle 3: Arbeitspakete für Sprint 1
AP Beschreibung Req. Zuständigkeit
2.1 Spurerkennung mit der Pixy2.1 3, 9 Berkemeier
2.2 Berechnung der Ist-Ablage zur Sollinie 1 Berkemeier
2.3 Geregelte Fahrt in der rechten Fahrspur anhand der Ist-Ablage. 1 Berkemeier
2.4 Messung der Ist-Position mittels Topcon Robotic Total Station 2, 4 Steffens
2.5 Glättung der Messwerte mittels Kalman-Filter (x, y, vx, vy) 5 Steffens
2.6 Schätzung der Roboterpose Ψ 1 Steffens
2.7 Einzeichnen der Messwerte in die digitale Karte und Speicherung der Karte als Rundkurs.mat 6 Steffens
2.8 Überarbeitung/Verbesserung des Artikels Referenzmessung_mit_der_Topcon_Robotic_Total_Station 8 Berkemeier

Planung (Plan)

Ziel-Zustand

Umsetzung (Do)

Test und Dokumentation (Check)

Modultests

Nutzen Sie die in Reliability Engineering gelehrten Methoden zum Modultest.

Tabelle 4: Übersicht der Modultests
# Modul Testverfahren Verantwortung Testbericht
1 starteAlphaBotMapping.m MATLAB®_Modultest Jan Steffens
2 leseReferenzpunkte.m MATLAB®_Modultest Jan Steffens
3 KosTrafoTzuWelt.m MATLAB®_Modultest Jan Steffens
4 empfangePrismaPosition.m MATLAB®_Modultest Jan Steffens
5 KalmanFilter.m] MATLAB®_Modultest Jan Steffens
6 SpurRegelungAlphaBot.slx → Subsystem Wertevergleich Simulink Test Lukas Berkemeier
7 SpurRegelungAlphaBot.slx → Subsystem PID-Regler] Simulink Test Lukas Berkemeier

Systemtest gegen die Anforderungen

Tabelle 5: Systemtest gegen die Anforderungen
Req. Beschreibung Testergebnis Erfüllt
1 Ein AMR muss autonom in der rechten Fahrspur fahren.
2 Als Referenzmessystem kommt die Topcon Robotic Total Station zum Einsatz.
3 Der AMR muss die Fahrbahndaten via Kamera (Pixy2.1) auswerten, um der Fahrspur zu folgen.
4 Die Referenzwerte müssen mit MATLAB® aufgezeichnet werden (x, y, Ψ).
5 Messfehler müssen geeignet gefiltert werden.
6 Die zweidimensionale digitalen Karte mit der Roboterpose während der Fahrt muss als MATLAB®-Datei (.mat) bereitgestellt werden.
7 Das Vorgehen muss am KANBAN-Board geplant und verfolgt werden.
8 Lösungsweg und Lösung muss in diesem Wiki-Artikel dokumentiert werden.
9 Als AMR muss ein AlphaBot eingesetzt werden.
10 Als Software für die Regelung muss MATLAB®/Simulink eingesetzt werden.

Fehlerbehebung (Act)

Zusammenfassung

Anhang

Wichtige Links:


→ zurück zum Hauptartikel: SDE Praktikum Systementwurf SoSe2025
→ zurück zum Artikel: SDE-Team 2025/26