SDE SoSe26: AP 1.3 Längeregelung

| Autor: | Jonas von Döllen |
| Modul | Mechatronik, Systementwicklung (Wahlpflichtprofil „Systems Design Engineering“), Sommersemester |
| Lehrveranstaltung: | Praktikum Systementwicklung |
| Sprint: | Bildbasierte Spurführung für autonomes Fahren |
| SVN-URL | https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/AlphaBot/
|
Sprint 1
EinleitungIm Zuge des Systementwicklungspraktikums in dem Schwerpunkt System Design Engineering muss ein Fahrzeug durch eine künstlich erzeugte Fahrstrecke autonohm auf der rechten Fahrspur fahren. Genutzt wird in diesem zweiten Teil des Praktikums ein AlphaBot mit einer Pixy2.1 Kamera oben drauf. Hierfür soll nach dem aktuellen Sprint eine Längsregelung implementiert werden. In diesem Artikel wird die Dokumentation dazu aufgeführt. PlanungIst ZustandBei der vorherigen Gruppe ist das Fahrzeug mit konstanter Geschwindigkeit durch die gesamte Fahrspur gefahren. Soll ZustandDas Fahrzeug soll nun vor einer Kurve die Geschwindigkeit je nach Krümmung drosseln und nach der Kurve wieder beschleunigen UmsetzungsideeNach der Implementierung des Arbeitspaketes AP 1.1 Spurerkennung mit der Pixy 2.1 berechnet das Subsystem über die Kamerawerte die Parameter Krümmung und Abstand zurück. Die Krümmung (K) wird dann von einem erwartenden Krümmungswert der geraden Spur (Kger) abgezogen, der Betrag davon wird linear mit einer Gain (a) von der default Motorleistung (Pdef) abgzogen und mit einer Ober und Untergrenze begrenzt. Der herauskommende Wert ist dann die angesteuerte Motorleistung (Pout). Anforderungen
UmsetzungDie Umsetzung erfolgte über eine Änderung des Konstantenwertes. Die Motoren wurden jeweils mit einem grundsätzlchen Motorpowerwert von 100 angetrieben. Die ausgegebene Stellgröße wird dann an dem einen Motor abgezogen und an dem anderen addiert, wodurch eine Querregelung realisiert wird. Der grundsätzliche Wert für die Motorpower wird nun mit dem Betrag des Winkel von dem Vektor der Pixy Kamera (siehe Artikel:SDE SoSe26: AP 1.1 Spurerkennung mit der Pixy2.1) linear abgezogen und begrenzt. Die minimal Wert bei der Begrenzung ist hier 0 und der maximal Wert ist bei 20.
Tests
Für das Testen wurde der Alphabot einmal gefahren und mit Monitore and Tune ausgelesen. Hierbei wurden diese Ergebnisse erzielt (siehe untere Abbildung). Für ein bestehen der Ergebnisse müsste das PWM Signal vom Motorantrieb bei gerader Strecke der Mittelwert zwischen 135 und 150 PWM liegen (90% der max Default Motorleistung),was es auch tut. Bei der Kurvenregelung müsste jedoch der Wert zwischen 70 und 120 PWM liegen. Der Mittelwert des Motorantriebes ist ca. bei 135 PWM. Zwar ist eine Drosselung festzustellen, diese ist jedoch außerhalb der Toleranzen. Bei der Kurvenfahrt sollte die Motorpower 20% reduziert gegenüber der eingestellten Default Motorpowernur sein. Die Kurvenfahrt konnte man anhand der Gierrate um die Z-Achse vom Gierratensensort aus AP 1.2 Messung und Verarbeitung der Gierrate die Kurve gut erkennen. Bei der Fahrt ist dem Tester auch aufgefallen, dass es eine proportionale Abhängigkeit zwischen dem Winkel und der Regelabweichung kommt (siehe untere Abbildung) Das bedeutet, wenn das Fahrzeug etwas weiter weg oder zu nach ist, regelt der Alphabot die Motorantriebspower und somit die Geschwindigkeit ebenfalls herunter. Das führt dazu, dass sich der Krümmungswert der gerade Spur (Kger) nicht konstant ist, sondern eine Abhängigkeit zum Abstand hat. Dadurch ist die genaue Drosselung schwierig wenn man den Betrag der Differenz von Kger und K nutzt zur Regelung. Fehlerbehebung und VerbesserungBei dem Auslesen der Daten innerhalb des Data Inspectors des Simulinkmodells während des Fahrens ist eine nicht konstanter Winkel festzustellen (Abschnitt Test). Diese Abhängigkeit wird vermutet, da direkt die Werte von der Kamera ausgelesen werden und es keine Perspektiventransformation vorhanden ist. Diese sollte in dem SDE SoSe26: AP 1.1 Spurerkennung mit der Pixy2.1 vielleicht berücksichtigt werden oder zusätzlich implementiert werden. In der Zukunft falls man die Abhängigkeit des Winkels vom Abstand trennen kann, ist das Verfahren möglich und sollte nochmals implentiert werden. |
Sprint2
Rückblick auf Sprint1
Den Winkel zwischen der Vektors der Pixi 2.1. und der vertikalen Richtung der Kamera zur Bestimmung, ob man eine Kurve oder eine Gerade fährt, war nicht ausreichend, weil die Werkte der Kamera auch bei gerade Fahrt zu sehr schwankten, dass eine gezielte Regelung nicht möglich war. Man erkennt sogar eine ungewünschte Abhängigkeit zwischen der Regelabweichung (Abstand zu der Außenlinie) und der erkannten Winkel. Daher wird in diesem Sprint nicht auf den Winkel des Vektors geregelt, sondern die Kamera gibt eine gewünschte Fahrkrümmung heraus und je nachdem wie stark die Krümmung ist, wird der Alphabot gedrosselt. Mehr dazu in den folgenden Kapiteln:
Einleitung
Im Zuge des Systementwicklungspraktikums in dem Schwerpunkt System Design Engineering muss ein Fahrzeug durch eine künstlich erzeugte Fahrstrecke autonohm auf der rechten Fahrspur fahren. Genutzt wird in diesem zweiten Teil des Praktikums ein AlphaBot mit einer Pixy2.1 Kamera oben drauf. Hierfür soll nach dem aktuellen Sprint eine Längsregelung implementiert werden. In diesem Artikel wird die Dokumentation dazu aufgeführt.
Planung
Ist Zustand
Bei der vorherigen Gruppe ist das Fahrzeug mit konstanter Geschwindigkeit durch die gesamte Fahrspur gefahren.
Soll Zustand
Das Fahrzeug soll nun vor einer Kurve die Geschwindigkeit je nach Krümmung drosseln und nach der Kurve wieder beschleunigen
Umsetzungsidee
Die Geschwindigkeit , welche das Fahrzeug fahren soll, wird über eine Funktion bestimmt, welche als Eingabewert, die Sollkrümmung der Pixikamera erhält.
Diese berechnete Geschwindigkeit wird mit der Geschwindigkeit aus der Gierrate subtrahiert, um die Regelabweichung zu erhalten:
Diese geht in einen PID Regler hinein, wobei der Ausgang dann die generelle Motorpower beider Motoren der Reifen vom Fahrzeug ansteuert.
Die Querreglung addiert oder subtrahiert dann auf der generelle Motorpower den Wert, welcher für die Kurvenfahrt von Nöten ist an.
Anforderungen
| Req. | Beschreibung | Priorität |
|---|---|---|
| 1 | Fahrzeug muss seine Geschwindigkeit in einer Kurve auf unter 0,4m/s drosseln. | 1 |
| 2 | Fahrzeug muss seine Geschwindigkeit nach einer Kurve auf einer geraden Stück auf mindestens 0,6 m/s beschleunigen. | 1 |
| 4 | Der Regler muss für eine Fahrt bis zur Maximalgeschwindigkeit ausgelegt werden. | 1 |
Umsetzung
Tests
| Req. | Beschreibung | Testergebnis | Testperson | Datum |
|---|---|---|---|---|
| 1 | Fahrzeug muss seine Geschwindigkeit in einer Kurve auf unter 0,4m/s drosseln. | n.i.O. | Jonas von Döllen | 01.07.2026 |
| 2 | Fahrzeug muss seine Geschwindigkeit nach einer Kurve auf einer geraden Stück auf mindestens 0,6 m/s beschleunigen. | n.i.O. | Jonas von Döllen | 01.07.2026 |
| 3 | Der Regler muss für eine Fahrt bis zur Maximalgeschwindigkeit ausgelegt werden. | n.i.O. | Jonas von Döllen | 01.07.2026 |
Fehlerbehebung und Verbesserung
Bei dem Auslesen der Daten innerhalb des Data Inspectors des Simulinkmodells während des Fahrens ist eine nicht konstanter Winkel festzustellen (Abschnitt Test). Diese Abhängigkeit wird vermutet, da direkt die Werte von der Kamera ausgelesen werden und es keine Perspektiventransformation vorhanden ist. Diese sollte in dem SDE SoSe26: AP 1.1 Spurerkennung mit der Pixy2.1 vielleicht berücksichtigt werden oder zusätzlich implementiert werden.
In der Zukunft falls man die Abhängigkeit des Winkels vom Abstand trennen kann, ist das Verfahren möglich und sollte nochmals implentiert werden.
→ zurück zum Hauptartikel: Bildbasierte Spurführung für autonomes Fahren
→ zurück zum Artikel: SDE-Team 2026/27



