SDE Systementwicklung WS25/26: Geregelte autonome Fahrt

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Autonome Fahrbahnvermessung im Labor Autonome Systeme
Abb. 2: Rundkurs mit Solllinie (rote Mittellinie)
Autoren: Jan Steffens & Lukas Berkemeier
Dozent: Prof. Dr.-Ing. Schneider
Modul Mechatronik, Systementwicklung (Wahlpflichtprofil „Systems Design Engineering“), Wintersemester
Modulbezeichnung: MTR-B-2-7.09
Modulverantwortung: Ulrich Schneider
Lehrveranstaltung: Praktikum Systementwicklung
Sprint 1: Geregelte autonome Fahrt
Zeit: Dienstag, 10:00 - 12:30 Uhr, Selbstlernzeit: TBD
Ort: Labor L3.3-E01-180 (Autonome Systeme)

Einleitung

Im Praktikum Systementwurf im SoSe25 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 geregelt zu fahren, diese zu vermessen und in die Karte zu übertragen. Zu Sprint 2 wurde die Bluetooth-Kommunikation mit dem AlphaBot realisiert und getestet.

Die Ergebnisse der PDCA-Phase 4 (Fehlerbehebung) ist hier dokumentiert und in Sprint 1 zu berücksichtigen.

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 zur Positionsregelung die Referenzdaten verwenden und als Stützung für die Linienverfolgung nutzten. 1
4 Die Messwerte Pose (x, y, Kurs) und Farbe müssen mit MATLAB® aufgezeichnet werden. 1
5 Fehler in den Messwerten müssen bereinigt werden. 1
6 Die zweidimensionale digitalen Karte mit gemessener Mittellinie 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 im Wiki für nachfolgende Studierende verständlich dokumentiert werden. 1
9 Nach Erstellen der digitalen Karte muss die Fahrt des AlphaBot in der Karte eingezeichnet werden. 1
10 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. 1
Tabelle 2: Arbeitspakete für Sprint 3
AP Beschreibung Priorität Zuständigkeit
1.1 Positionsmessung des AlpaBot [x,y] 1 Steffens
1.2 Schätzung der Roboterpose Ψ 1 Steffens
1.3 Berechnung der Ist-Ablage des Prismas zur Sollinie 1 Steffens
1.4 Übertragung der Ist-Ablage via BT MATLAB→Arduino (Senden und Empfang) 1 Steffens
1.5 Geregelte Fahrt anhand der Ist-Ablage 1 Berkemeier
1.6 Messung der Mittellinie (Position x, Position y, Farbe) mit dem Linienverfolgungssensor 1 Berkemeier
1.7 Berechnung der Mittellinienposition (x, y) anhand der Messwerte des Linienverfolgungssensors 1 Berkemeier
1.8 Übertragung der Messung der Mittellinie (x, y, Farbe) via BT Arduino→MATLAB (Senden und Empfang) 1 Berkemeier
1.9 Einzeichnen der Messwerte in die digitale Karte und Speicherung der Karte als Rundkurs.mat 1 Steffens
1.10 Bereinigung von Fehlern in der Karte 1 Steffens
1.11 Geregelte Fahrt in der rechten Fahrspur anhand der Prismamessung und Kartendaten 1 Berkemeier
1.12 Kamerahaltung für die Pixy2.1 1 Steffens
1.13 Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie und Stützung währen des Ausfalls der Linie. 2 Berkemeier
1.14 Überarbeitung/Verbesserung des Artikels Referenzmessung_mit_der_Topcon_Robotic_Total_Station 2 Berkemeier

Planung (Plan)

Abb. 3: Planung am Kanban-Board - Sprint 3

Arbeitspaket 3.1 Positionsmessung des Alphabot und Schätzung der Roboterpose [x,y,Ψ]

Die aktuelle Position und Ausrichtung des Alphabots soll mit Hilfe der Topcon Station und dem zugehörigen Prismas ermittelt werden.

Arbeitspaket 3.2 Berechnung der Ist-Ablage des Prismas zur Solllinie

Es soll die Distanz des Alphabots zur Solllinie ermittelt werden.

Arbeitspaket 3.3 Übertragung der Ist-Ablage via BT MATLAB → Arduino (Senden und Empfang)

Die berechnete Distanz des Alphabots zur Solllinie soll von MATLAB über Bluetooth an den Alphabot übermittelt werden.

Arbeitspaket 3.4 Geregelte Fahrt anhand der Ist-Ablage

Der AlphaBot soll einer Solllinie mit der via Bluetooth empfangenen Ist-Ablage geregelt folgen. Die Regelung erfolgt über einen PD-Regler.

Arbeitspaket 3.5: Messung der Mittellinie

Die Position der weißen Mittellinie soll mit den IR-Sensoren am AlphaBot erkannt werden.

Arbeitspaket 3.6: Übertragung der Messung der Mittellinie

Die Position der Mittellinie soll via Bluetooth vom AlphaBot an Matlab übertragen werden. Zur Übertragung soll die serielle Schnittstelle mit dem HC-05 Bluetoothmodul genutzt werden. Die Berechnung der realen Mittellinienposition soll in Matlab erfolgen.

Arbeitspaket 3.7 Einzeichnen der Messwerte in die digitale Karte und Speicherung der Karte als Rundkurs.mat

Die gemessenen Punkte der Mittellinie sollen auf einer digitalen Karte eingezeichnet werden.

Arbeitspaket 3.8: Bereinigung von Fehlern in der Karte

Die Messwerte in der Karte sollen von Fehlern bereinigt werden.

Arbeitspaket 3.9: Geregelte Fahrt in der rechten Fahrspur anhand der Prismamessung und Kartendaten

Der AlphaBot soll in der rechten Fahrspur des Parcour geregelt fahren. Die Regelung erfolgt dabei durch den Abstand des Prismas auf dem AlphaBot zu den vorhandenen Kartendaten, die bereits als "RechteFahrspur_W.mat" aus dem Sprint 2 vorhanden sind. Des weiteren können die Ergebnisse aus den anderen Arbeitspaketen genutzt um der Fahrspur geregelt, mithilfe der Bluetoothverbindung zu folgen.

Arbeitspaket 3.10: Kamerahalterung für die Pixy2.1

Es soll eine Kamerahalterung für die Pixy2.1 Kamera entworfen und 3D gedruckt werden.

Abreitspaket 3.11 Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie und Stützung währen des Ausfalls der Linie.

Nicht bearbeitet.

Abreitspaket 3.12 Überarbeitung/Verbesserung des Artikels Referenzmessung_mit_der_Topcon_Robotic_Total_Station

Nicht bearbeitet.

Ziel-Zustand

Die Ziele des Sprint 3 sind es, die reale Mittelinie mithilfe der geregelten Fahrt auf der Mittellinie und den IR-Sensoren am AlphaBot zu erfassen, den AlphaBot dann geregelt in der rechten Fahrspur fahren zu lassen und eine Kamerahaltung für die Pixy2.1 Kamera zu entwerfen. Die Fahrt auf der Mittellinie erfolgt dabei auf der Mittellinie, die in unseren erfassten Karte eingezeichnet wurde. Die reale Mittellinie soll dann in die Karte eingetragen werden. Um auf den Linien geregelt zu fahren soll die Ist-Ablage berechnet und genutzt werden.

Umsetzung (Do)

Arbeitspaket 3.1 Positionsmessung des Alphabot und Schätzung der Roboterpose [x,y,Ψ]

Die Topcon Station trackt das zugehörige Prisma, welches auf dem Alphabot montiert ist. Die Position wird über Bluetooth an MATLAB übermittelt. Die Pose bzw. Ausrichtung wird nicht ermittelt und übertragen.

Arbeitspaket 3.2 Berechnung der Ist-Ablage des Prismas zur Solllinie

Die Distanz der übermittelten Alphabot Position zur Geraden zwischen zwei aufeinanderfolgenden Punkten auf der Sollinie wird berechnet.

Arbeitspaket 3.3 Übertragung der Ist-Ablage via BT MATLAB → Arduino (Senden und Empfang)

Die Distanz in Millimeter der Alphabotposition zur Sollinie wird von MATLAB über Bluetooth zum Arduino übertragen.

Arbeitspaket 3.4: Geregelte Fahrt anhand der Ist-Ablage

Die Regelabweichung zur Solllinie aus der Ist-Ablage wird über Bluetooth empfangen. Mit dem PD-Regler aus den vorherigen Sprints wird der AlphaBot auf die Linie geregelt.

Arbeitspaket 3.5: Messung der Mittellinie

Die Position der Mittellinie wird mit den IR-Sensoren des AlphaBot erfasst werden. Dafür werden die IR-Sensoren auf die weiße-Linie kalibriert und mit der funktion "readline()" der Istwert berechnet. Mithilfe des "map()"-Befehls wird der Istwert in die Entfernung des AlphaBot zur Mitte der Mittellinie berechnet.

Arbeitspaket 3.6: Übertragung der Messung der Mittellinie

Die im Arbeitspaket 3.5 ermittelte Mittellinie wird ebenfalls mit dem C-Code "weisselinie_folgerLinieErkennen.ino" via Bluetooth an Matlab übertragen. Die Übertragung erfolgt über die serielle Schnittstelle.

Arbeitspaket 3.7 Einzeichnen der Messwerte in die digitale Karte und Speicherung der Karte als Rundkurs.mat

Die Messwerte werden noch nicht in die digitale Karte eingetragen.

Arbeitspaket 3.8: Bereinigung von Fehlern in der Karte

Es werden noch keine Fehler in der Karte bereinigt.

Arbeitspaket 3.9: Geregelte Fahrt in der rechten Fahrspur anhand der Prismamessung und Kartendaten

Um den Alphabot geregelt in der rechten Fahrspur fahren zu lassen kann das Matlab-Skript "trackePrismaSendeAlphaBot.m" so angepasst werden, dass der AlphaBot nicht mehr der eingezeichneten Mittellinie, sondern der Linie der rechten Fahrspur folgt. Dafür können die Daten aus der "RechteFahrspur_W.mat" genutzt werden.

Arbeitspaket 3.10: Kamerahalterung für die Pixy2.1

Die Kamerahalterung für die Pixy2.1 wurde in Solidworks entworfen und im 3D Drucker gedruckt. Zusätzlich wurde sie mit Gewindeeinsätzen versehen.

Abreitspaket 3.11 Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie und Stützung währen des Ausfalls der Linie.

Nicht bearbeitet.

Abreitspaket 3.12 Überarbeitung/Verbesserung des Artikels Referenzmessung_mit_der_Topcon_Robotic_Total_Station

Nicht bearbeitet.

Test und Dokumentation (Check)

Arbeitspaket 3.1 Positionsmessung des Alphabot und Schätzung der Roboterpose [x,y,Ψ]

Die Positionsmessung des Alphabots durch die Topcon Station wurde mit "trackePrisma.m" getestet.

Testbericht

Arbeitspaket 3.2 Berechnung der Ist-Ablage des Prismas zur Solllinie

Die Berechnung des Abstands der Alphabot Position zur Sollinie wurde mit "berechneAbstandPunktGerade.m" getestet.

Testbericht

Arbeitspaket 3.3 Übertragung der Ist-Ablage via BT MATLAB → Arduino (Senden und Empfang)

Die Übertragung der Distanz zwischen Alphabotposition und der Solllinie wurde mit "testuebertragung_d.m" getestet.

Testbericht

Arbeitspaket 3.4: Geregelte Fahrt anhand der Ist-Ablage

Abb. 4: Test zur geregelten Fahrt

Das Arbeitspaket wurde auf der kleinen Teststrecke auf den Tischen (Abbildung 4) mit der weisseLinie_folgerBT_ohnekal.ino und der trackeSendeReglerTest.m getestet. Über die Messung mit der TopCon Station wurde die Fahrt auf der y-Achse der Station geregelt. Ein Test mit der berechneten Ist-Ablage und auf der Mittellinie als Solllinie steht noch aus.

Testbericht

Arbeitspaket 3.5: Messung der Mittellinie

Um das Arbeitspaket zu testen werden die IR-Sensoren des AlphaBot zunächst kalibriert. Danach wird die Ausgegebene Entfernung mit der Tatsächlichen Entfernung zum mittleren IR-Sensor verglichen. Wichtig ist hier darauf zu achten, dass die Sensoren passend kalibriert sind.

Testbericht

Arbeitspaket 3.6: Übertragung der Messung der Mittellinie

Um das Arbeitspaket 3.6 zu Testen wurden die berechneten Positionsdaten aus Arbeitspaket 3.5 mit der "weisselinie_folgerLinieErkennen.ino" über die serielle Schnittstelle an Matlab gesendet. Die Daten wurden dann mit der "EmpfangeMittellinieTest.m" empfangen. Ergebnis: Die gesendeten Daten wurde empfangen und konnten weiterverwendet werden.

Testbericht

Arbeitspaket 3.7 Einzeichnen der Messwerte in die digitale Karte und Speicherung der Karte als Rundkurs.mat

Es werden noch keine Messwerte der Mittellinie in eine digitale Karte eingezeichnet.

Arbeitspaket 3.8: Bereinigung von Fehlern in der Karte

Es werden noch keine Fehler in der Karte bereinigt.

Arbeitspaket 3.9: Geregelte Fahrt in der rechten Fahrspur anhand der Prismamessung und Kartendaten

Die geregelte Fahrt in der rechten Fahrspur wurde noch nicht getestet.

Arbeitspaket 3.10: Kamerahaltung für die Pixy2.1



Systemtest gegen die Anforderungen

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
2 Als Referenzmessystem kommt die Topcon Robotic Total Station zum Einsatz. 1 trackePrismaSendeAlphaBot_mit_Aenderungen.m
3 Der AlphaBot muss entweder konstant die Referenzdaten verwenden oder diese als Stützung für die Ausfälle der Linienverfolgung nutzten. 1 trackePrismaSendeAlphaBot_mit_Aenderungen.m
4 Die Referenzwerte müssen mit MATLAB® aufgezeichnet werden (x, y, Farbe). 1 x
5 Fehler in den Messwerten müssen bereinigt werden. 1 x
6 Die zweidimensionale digitalen Karte muss als MATLAB®-Datei (.mat) bereitgestellt werden. 1 x
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 x
10 Als Vorbereitung für den Sprint 3 muss eine Kamerahaltung für die Pixy2 geplant, designed, gedruckt und getestet werden. 1 x Die Anforderungen an die Halterung wurden nicht erfüllt Kamerasensor Pixy 2.1

Fehlerbehebung (Act)

Arbeitspaket 3.1 Positionsmessung des Alphabot und Schätzung der Roboterpose [x,y,Ψ]

Momentan wird die Position des Alphabots bestimmt und übertragen. Die Pose muss noch bestimmt und übertragen werden.

Arbeitspaket 3.2 Berechnung der Ist-Ablage des Prismas zur Solllinie

Es wird die Entfernung des Alphabots zu einer Geraden zwischen zwei aufeinanderfolgenden Punkten auf der Sollinie berechnet.

Arbeitspaket 3.3 Übertragung der Ist-Ablage via BT MATLAB → Arduino (Senden und Empfang)

Das Programm, welches die berechnete Distanz zwischen Solllinie und der Alphabotposition per Bluetooth übertägt, ist fertiggestellt, muss allerdings noch final geprüft werden.

Arbeitspaket 3.4: Geregelte Fahrt anhand der Ist-Ablage

Umfangreichere Tests stehen noch aus. Gegebenenfalls müssen die Parameter für den PD-Regler noch angepasst werden.

Arbeitspaket 3.5: Messung der Mittellinie

Aktuell wird die Entfernung des Alphabot zu den vorhandenen Mittellinienstreifen mithilfe der IR-Sensoren und dem "map()"-Befehl in Millimetern berechnet. Der reale Abstand ist dabei Abhängig von der passenden Kalibrierung der Sensoren. Die Speicherung der x- und y-Koordinaten, sowie das Einfärben der realen Mittellinie in die Karte ist noch zu realisieren.

Arbeitspaket 3.6 Übertragung der Messung der Mittellinie

Die Datenübertragen zwischen dem AlphaBot und Matlab via Bluetooth funktioniert. Aktuell werden die Entfernung der Alphabotmitte in Millimetern als Integer übertragen.

Arbeitspaket 3.7 Einzeichnen der Messwerte in die digitale Karte und Speicherung der Karte als Rundkurs.mat

Die messwerte der Mittellinie müssen noch in die digitale Karte "Rundkurs.mat" gespeichert werden.

Arbeitspaket 3.8: Bereinigung von Fehlern in der Karte



Arbeitspaket 3.9: Geregelte Fahrt in der rechten Fahrspur anhand der Prismamessung und Kartendaten

Da die geregelte Fahrt auf der Mittellinie noch nicht fertiggestellt ist, wurde die Fahrt auf der rechten Fahrspur noch nicht weitergeführt.

Arbeitspaket 3.10: Kamerahalterung für die Pixy2.1



Abreitspaket 3.11 Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie und Stützung währen des Ausfalls der Linie.

Nicht bearbeitet.

Abreitspaket 3.12 Überarbeitung/Verbesserung des Artikels Referenzmessung_mit_der_Topcon_Robotic_Total_Station

Nicht bearbeitet.

Fehlerbehebung (Act)

Tabelle 4: Optimierungsansätze für das WS 25/26
Ergebnis Optimierung
Req. 1: Autonome Fahrt Planung, Umsetzung und Test im WS 25/26
Req. 3: Konzept zur Aufzeichnung der Littellinie Planung, Umsetzung und Test im WS 25/26
Req. 4: Messung der Farbe und Position der Mittellinie Planung, Umsetzung und Test im WS 25/26
Req. 5: Fehlerbereinigung Planung, Umsetzung und Test im WS 25/26
Req. 6: digitale Karte Planung, Umsetzung und Test im WS 25/26
Req. 7: Vorbereitung der AP durch SCH war gut Freigabe für jedes Weitersetzen eines AP auf dem KANBAN-Board durch SCH als Feedback.
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. Die Dokumentation beginnt mit der Planung (z. B. PAP), Umsetzung, Testdokumentation bis hin zur Darstellun und Diskussion der (Test-)Ergebnisse.
Req. 9: Fahrt in der neuen Karte Planung, Umsetzung und Test im WS 25/26
Req. 10: Kamerakalterung Planung, Umsetzung und Test im WS 25/26

Zusammenfassung

Im Sprint 3 wurden die die Aufgaben aus Sprint 2 übernommen und in einzelne Arbeitspakete gegliedert. Nach Abschluss des Sprint 3 stehen folgende Ergebnisse:

  • Positionsmessung des Alphabot [x,y]
  • Berechnung der Ist-Ablage
  • Übertragung der Ist-Ablage via Bluetooth MATLAB→Arduino (Senden und Empfang)
  • Messung der Mittellinie
  • Übertragung der Messung der Mittellinie via Bluetooth Arduino→MATLAB(Senden und Empfang)


Für die Erfüllung aller Anforderungen müssen noch folgende Punkte ergänzt werden:

  • Schätzung der Roboterpose (Winkel)
  • Berechnung der Mittellinienposition in der Karte mithilfe der gemessenen Daten
  • Implementieren aller Funktionen zu einem Programm das alle Funktionen beinhaltet

Anhang

Arbeitsergebnisse im SVN-Ordner:

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


Tabelle 5: Ablauf Meilenstein Sprint 3
Uhrzeit Inhalt
9:15 Begrüßung und Meilensteinpräsentation
9:25 Diskussion der Ergebnisse
9:40 Test der Anforderungen in Tabelle 1
9:45 Live-Vorführung der Fahrt inkl. Vermessung der Mittellinie (Req. 4, 9, Systemtest in Tabelle 1)
10:00 Sichtung der Abgabeunterlagen ( Sprint 3, Tabelle 2, Pixy 2.1, Topcon), Diskussion der Eigenbewertung
10:15 Feedback zum SDE-Praktikum
10:25 Planung SDE-Praktikum im 7. Semester
10:30 Verabschiedung


Tabelle 6: Bereitgestellte Demos und Daten
# Datei Bemerkung
1 MittelLinie_W.mat Array mit Mittellinie für AP 3.2
2 RechteFahrspur_W.mat Array mit Sollinie in der Mitte der rechten Fahrspur für AP 3.9
3 berechneEntfernungPunktGerade.m Berechnung der Ist-Ablage des Prismas zur Sollinie (AP 3.2)
4 Demo_Char2Float.ino C-Demo für die Umwandlung eines Char in Float
5 DemoSendeFloatSerial.ino C-Demo versendet Fließkommazahl via Serial IO.
6 empfangeBluetoothFloat.m MATLAB®-Demo für den Empfang einer Fließkommazahl via Bluetooth
7 DemoSoftwareSerial.ino C-Demo für bidirektionale Bluetooth Kommunikation
8 BluetoothIO.m MATLAB®-Demo für bidirektionale Bluetooth Kommunikation



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