[[Datei:KanbanboardSprint3.jpg|thumb|rigth|450px|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.
<br><br>
==Arbeitspaket 3.2 Berechnung der Ist-Ablage des Prismas zur Solllinie==
Es soll die Distanz des Alphabots zur Solllinie ermittelt werden.
<br><br>
==Arbeitspaket 3.3 Übertragung der Ist-Ablage via BT MATLAB → Arduino (Senden und Empfang)==
==Ziel-Zustand==
Die berechnete Distanz des Alphabots zur Solllinie soll von MATLAB über Bluetooth an den Alphabot übermittelt werden.
Die Ziele des Sprint 1 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.
<br><br>
==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.
<br><br>
==Arbeitspaket 3.5: Messung der Mittellinie==
Die Position der weißen Mittellinie soll mit den IR-Sensoren am AlphaBot erkannt werden.
<br><br>
==Arbeitspaket 3.6: Übertragung der Messung der Mittellinie==
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.
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.
<br><br>
==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.
<br><br>
==Arbeitspaket 3.8: Bereinigung von Fehlern in der Karte==
Die Messwerte in der Karte sollen von Fehlern bereinigt werden.
<br><br>
==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.
<br><br>
==Arbeitspaket 3.10: Kamerahalterung für die Pixy2.1==
Es soll eine Kamerahalterung für die Pixy2.1 Kamera entworfen und 3D gedruckt werden.
<br><br>
==Abreitspaket 3.11 Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie und Stützung währen des Ausfalls der Linie.==
Nicht bearbeitet.
<br><br>
==Abreitspaket 3.12 Überarbeitung/Verbesserung des Artikels [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station]]==
Nicht bearbeitet.
<br><br>
==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)=
=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.
<br><br>
==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.
<br><br>
==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.
<br><br>
==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.
<br><br>
==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.
<br><br>
==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.
<br><br>
==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.
<br><br>
==Arbeitspaket 3.8: Bereinigung von Fehlern in der Karte==
Es werden noch keine Fehler in der Karte bereinigt.
<br><br>
==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.
<br><br>
==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.
<br><br>
==Abreitspaket 3.11 Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie und Stützung währen des Ausfalls der Linie.==
Nicht bearbeitet.
<br><br>
==Abreitspaket 3.12 Überarbeitung/Verbesserung des Artikels [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station]]==
Nicht bearbeitet.
<br><br>
=Test und Dokumentation (Check)=
=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.
==Arbeitspaket 3.4: Geregelte Fahrt anhand der Ist-Ablage==
[[Datei:GeregelteFahrtTest.jpg|thumb|rigth|200px|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.
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.
==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.
==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.
<br><br>
==Arbeitspaket 3.8: Bereinigung von Fehlern in der Karte==
Es werden noch keine Fehler in der Karte bereinigt.
<br><br>
==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.
<br><br>
==Arbeitspaket 3.10: Kamerahaltung für die Pixy2.1 ==
* Dokumentieren Sie die Halterung hier: [[Kamerasensor Pixy 2.1]]
<br><br>
== Systemtest gegen die Anforderungen==
== Systemtest gegen die Anforderungen==
Zeile 292:
Zeile 144:
|}
|}
= 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.
<br><br>
==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.
<br><br>
==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.
<br><br>
==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.
<br><br>
==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.
<br><br>
==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.<br><br>
==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.
<br><br>
==Arbeitspaket 3.8: Bereinigung von Fehlern in der Karte==
<br><br>
==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.
<br><br>
==Arbeitspaket 3.10: Kamerahalterung für die Pixy2.1==
<br><br>
==Abreitspaket 3.11 Inbetriebnahme AlphaBot Linienverfolger für durchgezogene Linie und Stützung währen des Ausfalls der Linie.==
Nicht bearbeitet.
<br><br>
==Abreitspaket 3.12 Überarbeitung/Verbesserung des Artikels [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station]]==
Nicht bearbeitet.
<br><br>
= Fehlerbehebung (Act) =
= Fehlerbehebung (Act) =
Zeile 343:
Zeile 151:
|-
|-
! Ergebnis !! Optimierung
! Ergebnis !! Optimierung
<!--
|-
|-
| Req. 1: Autonome Fahrt|| Planung, Umsetzung und Test im WS 25/26
| Req. 1: Autonome Fahrt|| Planung, Umsetzung und Test im WS 25/26
Zeile 363:
Zeile 171:
| Req. 10: Kamerakalterung || Planung, Umsetzung und Test im WS 25/26
| Req. 10: Kamerakalterung || Planung, Umsetzung und Test im WS 25/26
|-
|-
-->
|}
|}
= Zusammenfassung=
= 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
| 1 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/SS2025/Sprint_2/m-files/MittelLinie_W.mat <code>MittelLinie_W.mat</code>] || Array mit Mittellinie für AP 3.2
/MittelLinie_W.mat <code>MittelLinie_W.mat</code>] || Array mit Mittellinie für AP 1.2
|-
| 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/_Semesterordner/SS2025/Sprint_3/m-files/RechteFahrspur_W.mat <code>RechteFahrspur_W.mat</code>] || Array mit Sollinie in der Mitte der rechten Fahrspur für AP 3.9
| 3 || [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
|-
|-
| 3 || [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/SS2025/Sprint_3/m-files/berechneEntfernungPunktGerade.m <code>berechneEntfernungPunktGerade.m</code>]|| Berechnung der Ist-Ablage des Prismas zur Sollinie (AP 3.2)
| 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)
|-
|-
| 4 || [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/_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/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/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/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/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/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoBluetoothModulHC05/DemoSoftwareSerial/DemoSoftwareSerial.ino <code>DemoSoftwareSerial.ino</code>] || C-Demo für bidirektionale Bluetooth Kommunikation
| 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
|-
|-
| 8 || [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
| 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
|}
|}
Version vom 25. September 2025, 08:52 Uhr
Abb. 1: Autonome Fahrbahnvermessung im Labor Autonome SystemeAbb. 2: Rundkurs mit Solllinie (rote Mittellinie)
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.
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 1
AP
Beschreibung
Priorität
Zuständigkeit
1.1
Positionsmessung des AlpaBot
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)
Die Ziele des Sprint 1 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)
Test und Dokumentation (Check)
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.