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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Lukas.berkemeier@stud.hshl.de (Diskussion | Beiträge)
Lukas.berkemeier@stud.hshl.de (Diskussion | Beiträge)
Zeile 73: Zeile 73:


=Planung (Plan)=
=Planung (Plan)=
KANBAN Foto
[[Datei:KanbanBoardSprintSpufverfolgungMitKamera.png|thumb|rigth|450px|Abb. 2: Planung am Kanban-Board]]
 
==Ziel-Zustand==
==Ziel-Zustand==



Version vom 12. Januar 2026, 13:27 Uhr

Abb. 1: Ergebnis der Spurerkennung des AlphaBots
Abb. 2: Ergebnisdarstellung der AlphaBot Fahrt
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 2: Arbeitspakete für Sprint 2
AP Beschreibung Req. Zuständigkeit
2.1 Spurerkennung mit der Pixy2.1 und aktualisierung der Prismahalterung 3, 9 Berkemeier
2.2 Berechnung der Ist-Ablage zur Solllinie 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)

Abb. 2: Planung am Kanban-Board

Ziel-Zustand

Der AlphaBot soll autonom in der rechten Fahrbahn fahren, indem die Außenlinie durch die Linienerkennung der Pixy 2.1 erkannt und darauf geregelt wird. Parallel dazu soll die Position des AlphaBot mit der Topcon-Station gemessen, gefiltert, gespeichert und in den Rundkurs eingezeichnet werden.

Umsetzung (Do)

Die Umsetzung des Sprints ist in zwei parallel verlaufende Aufgaben unterteilt. Eine Aufgabe beinhaltet das Messen der AlphaBot-Position mithilfe der Topcon-Station. Der zweite Aufgabenteil beinhaltet die Spurverfolgung mit dem Kamerasensor Pixy 2.1.

Ist-Position messen, filtern, speichern

Die Ist-Position des AlphaBot wird mit der Topcon-Station gemessen (AP 2.4). Die Messwerte werden via Bluetooth an einen Computer gesendet, auf dem die Daten mit Matlab empfangen werden. Dann werden die Daten in das W-Kos transformiert, mit einem Kalman-Filter gefiltert (AP 2.5), die Roboterpose wird geschätzt (AP 2.6), im Rundkurs eingezeichnet und zuletzt in einer .mat-Datei gespeichert (AP 2.7). Die Aufgaben und Arbeitspakete wurden in mehreren Modulen realisiert und im Modul starteAlphaBotMapping.m zusammengeführt.

SVN-Link: starteAlphaBotMapping.m

Spurverfolgung

Abb. 3: Simulink Gesamtmodell

Die Kamera wird zur Linienerkennung genutzt, die einen Vektor auf die erkannte Linie spannt (AP 2.1). Die Vektordaten werden dann im nächsten Schritt genutzt, um die Ist-Ablage zu Berechnen (AP 2.2), auf die Mithilfe eines PID-Reglers geregelt wird um in der rechten Fahrspur zu fahren (AP 2.3). Die Ergebnisse der Arbeitspakete wurde zu einem Gesamtsystem, einem Regelkreis, in Simulink realisiert (Abbildung 3).
Als Sollwert wird der Wert 32 genutzt, der aus den Koordinaten des Vektors aus der Linienerkennung hervorgeht. Die aktuelle Spurerkennung erfolgt durch den Kamerasensor aus dem Simulink Support Package for Arduino Hardware. Die Y-Koordinaten des Vektor dienen dem Subsystem Wertevergleich als Eingang. Der jeweils größere Wert wird als Ist-Ablage genutzt um dann die Regelabweichung zu berechnen. Die Regelabweichung ist dann die Eingabe für den PID-Regler, der die Stellgröße berechnet. Die Stellgröße wird als PWM-Wert ausgegeben, der mit dem Standard-PWM-Wert von 100 für die Motorgeschwindigkeit verrechnet wird. Mit dem resultierendem Wert werden die Motoren links und rechts angesteuert. Das HIGH-Signal auf Pin 5 und 6 am Arduino wird lediglich dazu genutzt die Motoren zu "aktivieren".

SVN-Links:

Test und Dokumentation (Check)

Die Ergebnisdokumentation zu den einzelnen Arbeitspaketen ist in Tabelle 2, verlinkt.
Einzeln angefertigten Modultests sind zusätzlich in Tabelle 3 verlinkt. In Tabelle 4 sind alle Tests gegen die Anforderungen aufgelistet.

Modultests

Nutzen Sie die in Reliability Engineering gelehrten Methoden zum Modultest.

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

Späteste Abgabetermin: 06.02.2026

Systemtest gegen die Anforderungen

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

Fehlerbehebung (Act)

Alle Anforderungen an den Sprint werden erfüllt. Eine direkte Fehlerbehebung ist nicht notwendig. Mögliche Verbesserungen werden im Abschnitt Ausblick aufgeführt.

Zusammenfassung

Im Rahmen des Sprints "Spurverfolgung mit Kamera" wurden zunächst Arbeitspakete aus den Anforderungen an den Sprint generiert. Die Systematische Abarbeitung der Arbeitspakete wurde dann mit einem Kanban-Board geplant. Die Arbeitspakete selbst wurden systematisch geplant, umgesetzt, getestet und in eigenen Artikeln dokumentiert.
Das Ergebnis des Sprints ist ein AlphaBot, der mithilfe einer Pixy 2.1 und der Linienerkennung, Autonom in der rechten Fahrspur des Strecke fahren kann. Die fahrt wird mithilfe der Topcon-Station aufgezeichnet und gefiltert. Die Daten werden im Rundkurs eingezeichnet und als .mat-Datei abgespeichert. Insgesamt werden alle Anforderungen an den Sprint erfüllt.

Ausblick

  • Die Kugel des AlphaBot verklebt durch die Fahrbahn. Hier wäre eine Stützradlösung wünschenswert.
  • Die Kamera sollte möglichst stabil eingebaut werden, sodass sich die Richtung der Kamera und der Neigungswinkel nicht unbeabsichtigt verstellen lassen.

Anhang

Wichtige Links:


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