SDE Systementwurf SoSe2025: Geregelte autonome Fahrt: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „thumb|rigth|450px|Abb. 6: Autonome Fahrbahnvermessung im Labor Autonome Systeme thumb|rigth|450px|Abb. 7: Ergebnisdarstellung der Außenlinien {|class="wikitable" |- | '''Autoren:''' || Jan Steffens & Lukas Berkemeier |- | '''Dozent:''' || Prof. Dr.-Ing. Schneider |- | '''Modul''' || Mech…“
 
 
(181 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:Labor AS Arbeitsplaetze rechts.JPG|thumb|rigth|450px|Abb. 6: Autonome Fahrbahnvermessung im Labor Autonome Systeme]]
[[Datei:Labor AS Arbeitsplaetze rechts.JPG|thumb|rigth|450px|Abb. 1: Autonome Fahrbahnvermessung im Labor Autonome Systeme]]
[[Datei:ZeigeTopConMessung.jpg|thumb|rigth|450px|Abb. 7: Ergebnisdarstellung der Außenlinien]]
[[Datei:Laborteststrecke.jpg|thumb|rigth|450px|Abb. 2: Ergebnisdarstellung der Außenlinien]]
{|class="wikitable"
{|class="wikitable"
|-
|-
Zeile 15: Zeile 15:
| '''Lehrveranstaltung:''' || Praktikum Systementwurf
| '''Lehrveranstaltung:''' || Praktikum Systementwurf
|-
|-
| '''Sprint 1:''' || Autonome Fahrbahnvermessung
| '''Sprint 2:''' || Geregelte autonome Fahrt
|-
|-
| '''Zeit:''' || Dienstag, 08:15 - 10:30 Uhr, Selbstlernzeit: TBD
| '''Zeit:''' || Dienstag, 08:15 - 10:30 Uhr, Selbstlernzeit: TBD
Zeile 22: Zeile 22:
|}
|}
= Einleitung =
= Einleitung =
Für verschiedene Aufgaben im Forschungsbereich des Autonomen Fahrens wird eine Referenzmessung (Engl.: Ground Truth) benötigt um beispielsweise Messwerte zu bewerten. Programmieren Sie, wie Sie es im 2. Semester gelernt haben, einen bestehenden AlphaBot mit einem Linienverfolger, so dass dieser die bestehenden Fahrbahnränder abfährt (vgl. Abb. 6). Zeichnen Sie dabei die Roboterpose mit einem Referenzsystem auf und erstellen Sie so eine digitale Karte der bestehenden Fahrbahn (vgl. Abb. 7),
Zu Sprint 1 wurde die Fahrbahn 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 ist es auf der Mittelspur gereglt zu fahren, diese zu vermessen und in die Karte zu übertragen.


{| class="wikitable"
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 2: Anforderung an die Autonome Fahrbahnvermessung
|+ style="text-align:left;"| Tabelle 1: Anforderung an die geregelte autonome Fahrt
|-
|-
! Req. !! Beschreibung !! Priorität
! Req. !! Beschreibung !! Priorität
|-
|-
| 1 || Ein [[AlphaBot]] muss nacheinander die drei Linien der Fahrbahn autonom verfolgen.|| 1
| 1 || Ein [[AlphaBot]] muss die Mittellinien der Fahrbahn autonom verfolgen.|| 1
|-
|-
| 2 || Als Referenzmessystem kommt die [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station|Topcon Robotic Total Station]] zum Einsatz.|| 1
| 2 || Als Referenzmessystem kommt die [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station|Topcon Robotic Total Station]] zum Einsatz.|| 1
|-
|-
| 3 || Das Prisma wird auf einer zu fertigenden Halterung über der Lenkachse des AlphaBot montiert. || 1
| 3 || Der AlphaBot muss entweder konstant die Referenzdaten verwenden oder diese als Stützung für die Ausfälle der Linienverfolgung nutzten. || 1
|-
|-
| 4 || Die Referenzwerte müssen mit MATLAB<sup>®</sup> aufgezeichnet werden.|| 1
| 4 || Die Referenzwerte müssen mit MATLAB<sup>®</sup> aufgezeichnet werden (x, y, Farbe).|| 1
|-
|-
| 5 || Fehler in den Messwerten müssen bereinigt werden.|| 1
| 5 || Fehler in den Messwerten müssen bereinigt werden.|| 1
Zeile 41: Zeile 41:
| 6 || Die zweidimensionale digitalen Karte muss als MATLAB<sup>®</sup>-Datei (<code>.mat</code>) bereitgestellt werden. || 1
| 6 || Die zweidimensionale digitalen Karte muss als MATLAB<sup>®</sup>-Datei (<code>.mat</code>) bereitgestellt werden. || 1
|-
|-
| 7 || Das Vorgehen muss als Gantt-Diagramm geplant werden.  || 1
| 7 || Das Vorgehen muss am KANBAN-Board geplant werden.  || 1
|-
|-
| 8 || Lösungsweg und Lösung muss im Wiki dokumentiert werden.  || 1
| 8 || Lösungsweg und Lösung muss im Wiki dokumentiert werden.  || 1
|-
|-
| 9 || Nach Erstellen der digitalen Karte muss die Fahrt des AlphaBot in der Karte eingezeichnet werden. || 1
| 9 || Nach Erstellen der digitalen Karte muss die Fahrt des AlphaBot in der Karte eingezeichnet werden. || 1
|-
| 10 || Als Vorbereitung für den Sprint 3 muss eine Kamerahaltung für die [[Kamerasensor_Pixy_Lego|Pixy2]] geplant, designed, gedruckt und getestet werden. || 1
|}
|}


= Getting Started =
= Getting Started =
# Sicherheitseinweisung für das Labor Autonome Systeme
[[Datei:Rundkurs mit Mittellinie.jpg|thumb|rigth|450px|Abb. 3: Rundkurs mit Solllinie (rote Mittellinie)]]
# Besprechung der Selbstlernzeit mit Kollegen Ebmeyer
# Planung Gantt-Chart
# Planung Gantt-Chart
# Besprechung der Planung mit Prof. Schneider, Verabredung von Meilensteinen und der Abschlusspräsentation von Sprint 1
# Besprechung der Planung mit Prof. Schneider, Verabredung von Meilensteinen und der Abschlusspräsentation von Sprint 2
# Übernahme der Arbeitspakete auf dem KANBAN-Board
# Übernahme der Arbeitspakete auf dem KANBAN-Board
# CAD-Design der Montageplatte für den AlphaBot
# Inbetriebnahme der Referenzstation
# Review und 3D-Druck durch Merrn Ebmeyer
# Positionsmessung des Fahrzeugs und Schätzung der Roboterpose <math>[x,y,\Psi]</math>.
# Montage der Prismabefestigung
# Eintragen der Roboterpose in der digitalen Karte.
# Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie
# Verbinden Sie den [[AlphaBot: Blootooth Verbindung zu MATLAB|AlphaBot via Bluetooth mit dem PC]].
# Einarbeitung und Inbetriebnahme der Referenzstation
# Vergleich der Soll-/Istposition (ggf. mit Prädiktion). Bestimmen Sie die Regelabweichung e.
# Testweise Erstellung einer Referenzmessung
# Senden Sie die Regelabweichung e an den AlphaBot.
# Referenzmessung für rechte und linke Fahrspur
# Regeln Sie den AlphaBot mit Ihrem PD-Regler aus Sprint 1.
# Optional: Anpassung der Software für die Mittelspur ODER geometrische Berechnung der Mittelspur
# Optional: Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie und Stützung währen des Ausfalls der Linie.
# Senden Sie die Messwerte des Linienverfolgers an den PC.
# Messung und Speicherung der Mittelspur (Position, Farbe (s/w))
# Bereinigung von Fehlern in der Karte
# Bereinigung von Fehlern in der Karte
# Ablage der digitalen Karte als <code>.mat</code>-Datei.
# Ablage der vollständigen digitalen Karte als <code>Rundkurs_mit_Mittellinie.mat</code>-Datei.
# Messung einer Roboterbewegung und Anzeige auf der Karte.
# Messung einer Roboterbewegung und Anzeige auf der Karte.
# Test der Anforderungen und Dokumentation
# Test der Anforderungen und Dokumentation
# ggf. Überarbeitung/Verbesserung des Artikels [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station]]
# ggf. Überarbeitung/Verbesserung des Artikels [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station]]
# Analyse und Bewertung der Ergebnisse im Wiki-Artikel
# Analyse und Bewertung der Ergebnisse in '''DIESEM''' Wiki-Artikel
 
=Benötigte Hardware/Software=
 
Hardware:
 
*Computer
*Bluetooth Dongle (zur Topcon Kommunikation)
*Bluetooth Dongle (zur Alphabot Ansteuerung)
*Topcon Messstation
*Alphabot mti Batterien inkl. Prismahalterung
 
Software:
*Matlab - 2024b
*Arduino IDE 2.3.4
*PAP - Designer
 
=Planung (Plan)=
Die Planung des Sprints Geregelte autonome Fahrt wird mit Hilfe des Kanban-Boards realisiert. Die Anforderungen werden dazu in eine geeignete Reihenfolge strukturiert und in mehrere Arbeitspakete aufgeteilt.
 
*Planung am Kanban-Board
 
*Positionserfassung mit der Topcon Robotic Total Station
**Inbetriebnahme der Referenzstation
**Schätzung der Roboterpose
**Gegebene Demo zur Messung benutzen
**Test -> Fahrweg in Karte einzeichnen
 
 
*AlphaBot via Bluetooth mit dem PC verbinden mit gegebener Deno BluetoothIO.m
*AlphaBot vom PC aus via Matlab ansteuern
 
 
*Meilenstein: Liveerfassung der Alphabotposition
 
 
*Meilenstein: Liveverarbeitung der übertragenen Daten der Topcon Station zur Regelung des AlphaBot
**Sollwert ist die Mittellinie
**Fahrtrichtung der Istposition ermitteln
**Istwert berechnen
**PD-Regelung zum nächstgelegenen Sollwertpunkt
 
 
*Meilenstein: Geregelte Ansteuerung des AlphaBot über Bluetooth via MATLAB
 
*Meilenstein: Mittelspur geregelt befahren, diese vermessen und in die Karte übertragen.
**Vermessung der Mittellinie - mit den Daten der IR-Sensoren am Arduino die Mittellinie aufnehmen
**Ablage der vollständigen digitalen Karte als .mat Datei
 
 
*Test der Anforderungen
*Fehler in den Messwerten bereinigen
*Lösungsweg und Lösung im Wiki dokumentieren
*Vorbereitung für den Sprint 3
**Kamerahalterung für die Pixy2 Kamera planen, designen, drucken und testen
 
==Ziel-Zustand==
*Datenübertragung der Ist-Position des Prismas am Alphabot mit der Topcon Station über Bluetooth
*Regelabweichung (Distanz Alphabot zur Mittellinie) in Matlab berechnen und über Bluetooth an den Alphabot senden
*Regelabweichung über Bluetooth am Alphabot empfangen und weiterverwenden
*Regelung des Alphabot durch Topcon-Daten als Istwert und der vorgegebenen Mittellinie als Sollwert
*IR-Sensorwertaufnahme der realen Mittellinie (schwarz/weiß Erkennung)
*Abbildung der realen Mittellinie in der Karte
*Halterung für Pixy 2 Kamera entwerfen und drucken
 
=Umsetzung (Do)=
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
|<strong>Referenzmessung mit Topcon&thinsp;</strong>
|-
|
Positionserfassung mit der Topcon Robotic Total Station
 
Benötigte Betriebsmittel:
 
# Topcon Robotic Total Station - Koffer 1 - Topcon PS Series Power Station - Robotik Total PS-103A Referenzstation
# Topcon Robotic Total Station - Koffer 2 - Topcon RC-5 Remote Controlle - Prisma
# AlphaBot mit Prismahalterung
# Batterien des AlphaBot
# Bluetooth dongle (Verbindung mit der Topcon Station)
 
 
Software + Skripts:
 
# MATLAB<sup>®</sup> 2024b
# Arduino IDE 2.3.4
# trackePrisma.m
# Zeichne_in_Karte.m
# TopCon_Messung_250506_1129.mat (aufgenommene Messdaten)
# Fahrbahn_Autonome_Systeme.mat
 
 
Durchführung:
 
Schritt 1: Montage der Prismahalterung am AlphaBot
 
Schritt 2: Festschrauben des Topcon Prismas am Gewinde der Prismahalterung
 
Schritt 3: Inbetriebnahme der Topcon Messeinheit nach Anleitung: https://wiki.hshl.de/wiki/index.php/Referenzmessung_mit_der_Topcon_Robotic_Total_Station
 
Schritt 4: Topcon Messeinheit auf Gewünschte Position stellen und nach digitaler oder analoger Libelle ausrichten, sodass der Kreis bzw. die Luftblase exakt in der Mitte ist. In unserem Fall wurde die Messeinheit in der Mitte der Schleife              Aufgestellt. Position zum Punkt A - X: -2,68; Y: 4,23 . Position zum Punkt B - X: 2,58 Y: 2,17
 
Schritt 5: Das Prisma, ebenfalls nach Anleitung aus Schritt 3, Tracken
 
Schritt 6: Messdatenaufzeichnung mit D:\SVN\SDE_Praktikum_Trunk\_Semesterordner\SS2025\Sprint_2\m-files\trackePrisma.m
 
Test: Messdaten in aktuelle Karte einfügen mit: 'Zeichne_in_Karte.m'. Dafür wurde die aktuelle Karte 'Fahrbahn_Autonome_Systeme.mat' genutzt. Testmessung: 'TopCon_Messung_250506_1129.mat' testweise in die Karte eingefügt.
[[Datei:Topcon_Position.jpg|thumb|left|450px|Abb. 3: Position Topcon]]
|}
 
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
|<strong>Bluetoothverbindung mit Alphabot &thinsp;</strong>
|-
|
Bluetoothverbindung mit dem Alphabot über Matlab                                                                                                                                                                                             
 
Benötigte Betriebsmittel:
 
# AlphaBot
# Bluetoothmodul HC-05
# Jumperkabel Male/Female 4x
# USB-A auf Micro-USB Kabel
# Bluetooth dongle (Verbindung mit dem Alphabot)
 
 
Software + Skripts:
 
# MATLAB<sup>®</sup> 2024b
# Arduino IDE 2.3.4
# BluetoothIO.m
# Demo_SoftwareSerial.ino
 
 
Durchführung:
 
 
Schritt 1: HC-05 Bluetooth-Modul am Alphabot anschließen
*mit Jumperkabeln mit dem UART Kontaktblock am schmalen Ende des Alphabots verbinden [[Datei:BT-Modul_HC-05 am Alphabot.jpg|thumb|right|300px|Abb. 4: HC-05 Bluetooth-Modul am Alphabot]]
 
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 2: Kontaktbelegung HC-05 Bluetooth-Modul (siehe Abb. 4)
|-
! HC-05 !! Alphabot !! Farbe
|-
| VCC || Arduino 3,3 V (5 V ist am Alphabot falsch beschriftet) || orange
|-
| GND || Arduino GND || gelb
|-
| TXD || Arduino RX<-0, D0 || grün
|-
| RXD || Arduino TX->1, D1 || blau
|}
 
Schritt 2: HC-05 Bluetooth-Modul mit dem Computer koppeln
# "Bluetooth und andere Geräte" Einstellungen öffnen
# "[+] Bluetooth- oder anderes Gerät hinzufügen" anklicken
# HC-05 auswählen und mit Passwort: 1234 Verbinden
 
Schritt 3: Demo_SoftwareSerial.ino öffnen und auf den Alphabot hochladen
 
Schritt 4: Bluetooth.IO öffnen und starten
|}
 
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
|<strong>Geregelte Fahrt auf der Mittellinie&thinsp;</strong>
|-
|
Geregelte Fahrt auf der Mittellinie
 
Benötigte Betriebsmittel:
 
# AlphaBot mit Prismahalterung
# Batterien des AlphaBot
# Bluetoothmodul HC-05
# Jumperkabel Male/Female 4x
# USB-A uf Micro-USB Kabel
# Bluetooth dongle (Verbindung mit dem Alphabot(HC-05) und Topcon Station)
# Topcon Robotic Total Station - Koffer 1 - Topcon PS Series Power Station - Robotik Total PS-103A Referenzstation
# Topcon Robotic Total Station - Koffer 2 - Topcon RC-5 Remote Controlle - Prisma
 
 
Software + Skripts:
 
# MATLAB<sup>®</sup> 2024b
# Arduino IDE 2.3.4
# trackePrismaSendeAlphaBot.m
# weisselinie_folgerBT.ino
 
 
Durchführung:
 
Schritt 1: "weisselinie_folgerBT.ino" auf den Alphabot hochgeladen
 
Schritt 2: Inbetriebnahme Topcon Station wie in Abschnitt "Referenzmessung mit Topcon" - https://wiki.hshl.de/wiki/index.php/Referenzmessung_mit_der_Topcon_Robotic_Total_Station
 
Schritt 3: "trackePrismaSendeAlphaBot.m" starten
 
Schritt 4: Mittellinie mit IR-Sensoren erkennen und in Karte einzeichnen
|}
 
=Test und Dokumentation (Check)=
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
|<strong>Referenzmessung mit Topcon&thinsp;</strong>
|-
|
Test: Messdaten in aktuelle Karte einfügen mit: 'Zeichne_in_Karte.m'. Dafür wurde die aktuelle Karte 'Fahrbahn_Autonome_Systeme.mat' genutzt.
Testmessung: 'TopCon_Messung_250506_1129.mat' testweise in die Karte eingefügt.
 
Die Messwerte wurden erfolgreich in die Karte eingezeichnet. Die Position der Messwerte entspricht der realen Position der Testfahrt.
 
 
 
[[Datei:Referenzmessung_Topcon.jpg|thumb|left|450px|Abb. 5: Testfahrt in Karte eingezeichnet]]
|}
 
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
|<strong>Bluetoothverbindung mit Alphabot&thinsp;</strong>
|-
|
Test: Mit Matlab soll eine Verbindung über das HC-05 Bluetoothmodul zum Alphabot hergestellt, und so Daten zum Alphabot übertragen werden können.
 
Genutzte Software:
Demo_SoftwareSerialMotor.ino
* Ansteuerung der Alphabotmotoren durch Empfangen von Matlabsignalen über Bluetooth
 
BluetoothIO.m
* Zahlenwerte per Bluetooth an den Alphabot senden
 
Ergebnis: Mit der Demo Bluetooth.IO wurden von Matlab Werte über die Bluetoothverbindung an den Alphabot gesendet. Die Demo_SoftwareSerialMotor.ino hat die Signale ausgewertet und die Motoren dementsprechend angesteuert.
|}
 
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
|<strong>Geregelte Fahrt auf der Mittellinie&thinsp;</strong>
|-
|
Test: Datenübertragung der Ist-Position des Prismas am Alphabot mit der Topcon Station über Bluetooth
Regelabweichung (Distanz Alphabot zur Mittellinie) in Matlab berechnen und über Bluetooth an den Alphabot senden
Regelabweichung über Bluetooth am Alphabot empfangen und weiterverwenden
Regelung des Alphabot durch Topcon-Daten als Istwert und der vorgegebenen Mittellinie als Sollwert
IR-Sensorwertaufnahme der realen Mittellinie (schwarz/weiß Erkennung)
Abbildung der realen Mittellinie in der Karte
 
Genutzte Software:
trackePrismaSendeAlphabot.m
* Positionserfassung durch die Topcon Messstation, Berechnung der Regelabweichung zur Mittellinie und Bluetoothübertragung an Alphabot
 
weisselinie_folgerBT.ino
* Empfangen der Regelabweichung über Bluetooth und Regelung der Alphabot Motoren. Zusätzliche Erfassung der realen Mittellinienwerte und Übertragung der Werte per Bluetooth zu MATLAB
 
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 4: Systemtest gegen die Anforderungen
|-
! Req. !! Beschreibung !! Priorität !! Zustand !! Link auf das Ergebnis
|-
| 3 || Der AlphaBot muss entweder konstant die Referenzdaten verwenden oder diese als Stützung für die Ausfälle der Linienverfolgung nutzten.|| 1 || Der Alphabot nutzt die Mittellinie als Referenzdaten um die Regelabweichung in Form der Distanz zu berechnen. Eine Konstante Regelung wurde allerdings noch nicht erreicht|| [[https://svn.hshl.de/usvn/project/MTR_SDE_Praktikum/show/trunk/_Semesterordner/SS2025/Sprint_2/m-files | trackePrismaSendeAlphabot.m ]]
|}
|}
 
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 3: Systemtest gegen die Anforderungen
|-
! Req. !! Beschreibung !! Priorität !! Zustand !! Link auf das Ergebnis
|-
| 1 || Ein [[AlphaBot]] muss die Mittellinien der Fahrbahn autonom verfolgen.|| 1 || x || nicht realisiert
|-
| 2 || Als Referenzmessystem kommt die [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station|Topcon Robotic Total Station]] zum Einsatz. || 1 || ✓ ||
|-
| 3 || Der AlphaBot muss entweder konstant die Referenzdaten verwenden oder diese als Stützung für die Ausfälle der Linienverfolgung nutzten. || 1 || x || nicht realisiert
|-
| 4 || Die Referenzwerte müssen mit MATLAB<sup>®</sup> aufgezeichnet werden (x, y, Farbe).|| 1 || x || Messwerte des AMR werden nicht an MATLAB<sup>®</sup> versendet.
|-
| 5 || Fehler in den Messwerten müssen bereinigt werden.|| 1 || x  || nicht realisiert
|-
| 6 || Die zweidimensionale digitalen Karte muss als MATLAB<sup>®</sup>-Datei (<code>.mat</code>) bereitgestellt werden. || 1 || x  || nicht realisiert
|-
| 7 || Das Vorgehen muss am KANBAN-Board geplant werden.  || 1 || x  || unzureichend genutzt
|-
| 8 || Lösungsweg und Lösung muss im Wiki dokumentiert werden.  || 1 || x  || nicht realisiert
|-
| 9 || Nach Erstellen der digitalen Karte muss die Fahrt des AlphaBot in der Karte eingezeichnet werden. || 1 || x || Req. 4, 5, 6 wurden nicht erfüllt.
|-
| 10 || Als Vorbereitung für den Sprint 3 muss eine Kamerahaltung für die Pixy2 geplant, designed, gedruckt und getestet werden. || 1 || x || nicht bearbeitet
|}
 
= Fehlerbehebung (Act) =


{| class="wikitable"
|+ style = "text-align: left"|Tabelle 6: Optimierungsansätze für Sprint 3
|-
! Ergebnis !! Optimierung
|-
| Req. 1: Autonome Fahrt|| Planung, Umsetzung und Test in Sprint 3.
|-
| Req. 3: Konzept zur Aufzeichnung der Littellinie || Planung, Umsetzung und Test in Sprint 3.
|-
| Req. 4: Messung der Farbe und Position der Mittellinie  || Planung, Umsetzung und Test in Sprint 3.
|-
| Req. 5: Fehlerbereinigung  || Planung, Umsetzung und Test in Sprint 3.
|-
| Req. 6: digitale Karte  || Planung, Umsetzung und Test in Sprint 3.
|-
| Req. 7: Die Anforderungen konnten nicht in Aufgabenpakete am KANBAN-Board umgesetzt werden.  || Die Studierenden verfolgen die Aufgaben täglich und teilen ggf. große Aufgaben in kleinere AP auf.
|-
| Req. 8: Lösungsweg und Lösung muss im Wiki dokumentiert werden.  || Arbeits(teil)ergebnisse müssen währen der Arbeit dokumentiert werden. Für nachfolgende Teams muss klar dokumentiert werden, wie die Studierenden zu ihren Ergebnissen gekommen sind. Neben dem Weg müssen auch die Ergebnisse dokumentiert werden.
|-
| Req. 9: Fahrt in der neuen Karte || Planung, Umsetzung und Test in Sprint 3.
|-
| Req. 10: Kamerakalterung || Planung, Umsetzung und Test in Sprint 3.
|-
|}
= Zusammenfassung=
*Die Planung wurde am Kanban-Board realisiert
*Die Positionserfassung mit der Topcon Robotic Total Station funktioniert - getestet
*Der Alphabot mit HC-05 wurde via Bluetooth mit dem PC verbunden - getestet
*Vom PC konnten Daten über Bluetooth mit Matlab an den Alphabot gesendet werden - getestet
**mit der Demo_SoftwareSerial.ino wurden Daten empfangen und ausgewertet, indem empfangene Daten mit festen Werten verglichen worden sind
*mit der gegebenen Mittellinie als Soll-Wert und der aktuellen Position des Prismas auf dem Alphabot wurde die Distanz zwischen den Punkten als Regelabweichung ermittelt - getestet
**die Distanz wird dann an den Alphabot via Bluetooth übertragen
**die Daten konnten bislang noch nicht zur Stellgrößenberechnung des PD-Reglers weiterverwendet werden
***somit ist noch keine geregelte Fahrt auf der Mittellinie möglich, die reale Mittellinie wurde nicht ermittelt
= Projekttracking über KANBAN =
Abb. 6 zeigt das KANBAN-Board am Tag der Meilensteinpräsentation von Sprint 2.
[[Datei:250529 KANBAN Status Sprint 2.jpg|thumb|left|450px|Abb. 6: KANBAN-Board (Stand: 29.05.2025)]]<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
= Anhang =
Arbeitsergebnisse im SVN-Ordner:
https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/SS2025/Sprint_2/
{| class="wikitable"
|+ style = "text-align: left"|Tabelle 5: Ablauf Meilenstein Sprint 2
|-
! Uhrzeit !! Inhalt
|-
| 8:15 || Begrüßung und Meilensteinpräsentation
|-
| 8:25 || Diskussion der Ergebnisse
|-
| 8:40 || Test der Anforderungen
|-
| 8:45 || Live-Vorführung der Fahrt ink. Vermessung der Mittellinie (Req.4, 9)
|-
| 8:50 || Sichtung der Abgabeunterlagen, Diskussion der Eigenbewertung
|-
| 9:00 || Besprechung der Aufgaben und Vorgehensweise für Sprint 3 (Req. 10)
|}
----
----
→ zurück zum Hauptartikel: [[Anforderungen Praktikum Systementwurf SoSe2025|SDE Praktikum Systementwurf SoSe2025]]<br>
→ zurück zum Hauptartikel: [[Anforderungen Praktikum Systementwurf SoSe2025|SDE Praktikum Systementwurf SoSe2025]]<br>
→ zurück zu den Anforderungen [[Anforderungen_Praktikum_Systementwurf_SoSe2025| Anforderungen SoSe2025]]<br>
→ zurück zum Artikel: [[SDE-Team_2025/26|SDE-Team 2025/26]]
→ zurück zum Artikel: [[SDE-Team_2025/26|SDE-Team 2025/26]]

Aktuelle Version vom 29. Mai 2025, 10:59 Uhr

Abb. 1: Autonome Fahrbahnvermessung im Labor Autonome Systeme
Abb. 2: 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 2: Geregelte autonome Fahrt
Zeit: Dienstag, 08:15 - 10:30 Uhr, Selbstlernzeit: TBD
Ort: Labor L3.3-E01-180 (Autonome Systeme)

Einleitung

Zu Sprint 1 wurde die Fahrbahn 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 ist es auf der Mittelspur gereglt zu fahren, diese zu vermessen und in die Karte zu übertragen.

Tabelle 1: Anforderung an die geregelte autonome Fahrt
Req. Beschreibung Priorität
1 Ein AlphaBot muss die Mittellinien der Fahrbahn autonom verfolgen. 1
2 Als Referenzmessystem kommt die Topcon Robotic Total Station zum Einsatz. 1
3 Der AlphaBot muss entweder konstant die Referenzdaten verwenden oder diese als Stützung für die Ausfälle der Linienverfolgung nutzten. 1
4 Die Referenzwerte müssen mit MATLAB® aufgezeichnet werden (x, y, Farbe). 1
5 Fehler in den Messwerten müssen bereinigt werden. 1
6 Die zweidimensionale digitalen Karte muss als MATLAB®-Datei (.mat) bereitgestellt werden. 1
7 Das Vorgehen muss am KANBAN-Board geplant werden. 1
8 Lösungsweg und Lösung muss im Wiki dokumentiert werden. 1
9 Nach Erstellen der digitalen Karte muss die Fahrt des AlphaBot in der Karte eingezeichnet werden. 1
10 Als Vorbereitung für den Sprint 3 muss eine Kamerahaltung für die Pixy2 geplant, designed, gedruckt und getestet werden. 1

Getting Started

Abb. 3: Rundkurs mit Solllinie (rote Mittellinie)
  1. Planung Gantt-Chart
  2. Besprechung der Planung mit Prof. Schneider, Verabredung von Meilensteinen und der Abschlusspräsentation von Sprint 2
  3. Übernahme der Arbeitspakete auf dem KANBAN-Board
  4. Inbetriebnahme der Referenzstation
  5. Positionsmessung des Fahrzeugs und Schätzung der Roboterpose [x,y,Ψ].
  6. Eintragen der Roboterpose in der digitalen Karte.
  7. Verbinden Sie den AlphaBot via Bluetooth mit dem PC.
  8. Vergleich der Soll-/Istposition (ggf. mit Prädiktion). Bestimmen Sie die Regelabweichung e.
  9. Senden Sie die Regelabweichung e an den AlphaBot.
  10. Regeln Sie den AlphaBot mit Ihrem PD-Regler aus Sprint 1.
  11. Optional: Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie und Stützung währen des Ausfalls der Linie.
  12. Senden Sie die Messwerte des Linienverfolgers an den PC.
  13. Messung und Speicherung der Mittelspur (Position, Farbe (s/w))
  14. Bereinigung von Fehlern in der Karte
  15. Ablage der vollständigen digitalen Karte als Rundkurs_mit_Mittellinie.mat-Datei.
  16. Messung einer Roboterbewegung und Anzeige auf der Karte.
  17. Test der Anforderungen und Dokumentation
  18. ggf. Überarbeitung/Verbesserung des Artikels Referenzmessung_mit_der_Topcon_Robotic_Total_Station
  19. Analyse und Bewertung der Ergebnisse in DIESEM Wiki-Artikel

Benötigte Hardware/Software

Hardware:

  • Computer
  • Bluetooth Dongle (zur Topcon Kommunikation)
  • Bluetooth Dongle (zur Alphabot Ansteuerung)
  • Topcon Messstation
  • Alphabot mti Batterien inkl. Prismahalterung

Software:

  • Matlab - 2024b
  • Arduino IDE 2.3.4
  • PAP - Designer

Planung (Plan)

Die Planung des Sprints Geregelte autonome Fahrt wird mit Hilfe des Kanban-Boards realisiert. Die Anforderungen werden dazu in eine geeignete Reihenfolge strukturiert und in mehrere Arbeitspakete aufgeteilt.

  • Planung am Kanban-Board
  • Positionserfassung mit der Topcon Robotic Total Station
    • Inbetriebnahme der Referenzstation
    • Schätzung der Roboterpose
    • Gegebene Demo zur Messung benutzen
    • Test -> Fahrweg in Karte einzeichnen


  • AlphaBot via Bluetooth mit dem PC verbinden mit gegebener Deno BluetoothIO.m
  • AlphaBot vom PC aus via Matlab ansteuern


  • Meilenstein: Liveerfassung der Alphabotposition


  • Meilenstein: Liveverarbeitung der übertragenen Daten der Topcon Station zur Regelung des AlphaBot
    • Sollwert ist die Mittellinie
    • Fahrtrichtung der Istposition ermitteln
    • Istwert berechnen
    • PD-Regelung zum nächstgelegenen Sollwertpunkt


  • Meilenstein: Geregelte Ansteuerung des AlphaBot über Bluetooth via MATLAB
  • Meilenstein: Mittelspur geregelt befahren, diese vermessen und in die Karte übertragen.
    • Vermessung der Mittellinie - mit den Daten der IR-Sensoren am Arduino die Mittellinie aufnehmen
    • Ablage der vollständigen digitalen Karte als .mat Datei


  • Test der Anforderungen
  • Fehler in den Messwerten bereinigen
  • Lösungsweg und Lösung im Wiki dokumentieren
  • Vorbereitung für den Sprint 3
    • Kamerahalterung für die Pixy2 Kamera planen, designen, drucken und testen

Ziel-Zustand

  • Datenübertragung der Ist-Position des Prismas am Alphabot mit der Topcon Station über Bluetooth
  • Regelabweichung (Distanz Alphabot zur Mittellinie) in Matlab berechnen und über Bluetooth an den Alphabot senden
  • Regelabweichung über Bluetooth am Alphabot empfangen und weiterverwenden
  • Regelung des Alphabot durch Topcon-Daten als Istwert und der vorgegebenen Mittellinie als Sollwert
  • IR-Sensorwertaufnahme der realen Mittellinie (schwarz/weiß Erkennung)
  • Abbildung der realen Mittellinie in der Karte
  • Halterung für Pixy 2 Kamera entwerfen und drucken

Umsetzung (Do)

Test und Dokumentation (Check)

Tabelle 3: Systemtest gegen die Anforderungen
Req. Beschreibung Priorität Zustand Link auf das Ergebnis
1 Ein AlphaBot muss die Mittellinien der Fahrbahn autonom verfolgen. 1 x nicht realisiert
2 Als Referenzmessystem kommt die Topcon Robotic Total Station zum Einsatz. 1
3 Der AlphaBot muss entweder konstant die Referenzdaten verwenden oder diese als Stützung für die Ausfälle der Linienverfolgung nutzten. 1 x nicht realisiert
4 Die Referenzwerte müssen mit MATLAB® aufgezeichnet werden (x, y, Farbe). 1 x Messwerte des AMR werden nicht an MATLAB® versendet.
5 Fehler in den Messwerten müssen bereinigt werden. 1 x nicht realisiert
6 Die zweidimensionale digitalen Karte muss als MATLAB®-Datei (.mat) bereitgestellt werden. 1 x nicht realisiert
7 Das Vorgehen muss am KANBAN-Board geplant werden. 1 x unzureichend genutzt
8 Lösungsweg und Lösung muss im Wiki dokumentiert werden. 1 x nicht realisiert
9 Nach Erstellen der digitalen Karte muss die Fahrt des AlphaBot in der Karte eingezeichnet werden. 1 x Req. 4, 5, 6 wurden nicht erfüllt.
10 Als Vorbereitung für den Sprint 3 muss eine Kamerahaltung für die Pixy2 geplant, designed, gedruckt und getestet werden. 1 x nicht bearbeitet

Fehlerbehebung (Act)

Tabelle 6: Optimierungsansätze für Sprint 3
Ergebnis Optimierung
Req. 1: Autonome Fahrt Planung, Umsetzung und Test in Sprint 3.
Req. 3: Konzept zur Aufzeichnung der Littellinie Planung, Umsetzung und Test in Sprint 3.
Req. 4: Messung der Farbe und Position der Mittellinie Planung, Umsetzung und Test in Sprint 3.
Req. 5: Fehlerbereinigung Planung, Umsetzung und Test in Sprint 3.
Req. 6: digitale Karte Planung, Umsetzung und Test in Sprint 3.
Req. 7: Die Anforderungen konnten nicht in Aufgabenpakete am KANBAN-Board umgesetzt werden. Die Studierenden verfolgen die Aufgaben täglich und teilen ggf. große Aufgaben in kleinere AP auf.
Req. 8: Lösungsweg und Lösung muss im Wiki dokumentiert werden. Arbeits(teil)ergebnisse müssen währen der Arbeit dokumentiert werden. Für nachfolgende Teams muss klar dokumentiert werden, wie die Studierenden zu ihren Ergebnissen gekommen sind. Neben dem Weg müssen auch die Ergebnisse dokumentiert werden.
Req. 9: Fahrt in der neuen Karte Planung, Umsetzung und Test in Sprint 3.
Req. 10: Kamerakalterung Planung, Umsetzung und Test in Sprint 3.

Zusammenfassung

  • Die Planung wurde am Kanban-Board realisiert
  • Die Positionserfassung mit der Topcon Robotic Total Station funktioniert - getestet
  • Der Alphabot mit HC-05 wurde via Bluetooth mit dem PC verbunden - getestet
  • Vom PC konnten Daten über Bluetooth mit Matlab an den Alphabot gesendet werden - getestet
    • mit der Demo_SoftwareSerial.ino wurden Daten empfangen und ausgewertet, indem empfangene Daten mit festen Werten verglichen worden sind
  • mit der gegebenen Mittellinie als Soll-Wert und der aktuellen Position des Prismas auf dem Alphabot wurde die Distanz zwischen den Punkten als Regelabweichung ermittelt - getestet
    • die Distanz wird dann an den Alphabot via Bluetooth übertragen
    • die Daten konnten bislang noch nicht zur Stellgrößenberechnung des PD-Reglers weiterverwendet werden
      • somit ist noch keine geregelte Fahrt auf der Mittellinie möglich, die reale Mittellinie wurde nicht ermittelt

Projekttracking über KANBAN

Abb. 6 zeigt das KANBAN-Board am Tag der Meilensteinpräsentation von Sprint 2.

Abb. 6: KANBAN-Board (Stand: 29.05.2025)
























Anhang

Arbeitsergebnisse im SVN-Ordner:

https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/SS2025/Sprint_2/


Tabelle 5: Ablauf Meilenstein Sprint 2
Uhrzeit Inhalt
8:15 Begrüßung und Meilensteinpräsentation
8:25 Diskussion der Ergebnisse
8:40 Test der Anforderungen
8:45 Live-Vorführung der Fahrt ink. Vermessung der Mittellinie (Req.4, 9)
8:50 Sichtung der Abgabeunterlagen, Diskussion der Eigenbewertung
9:00 Besprechung der Aufgaben und Vorgehensweise für Sprint 3 (Req. 10)

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