BSF-Querreglung
Autoren: Daoyin Wang
Einleitung
Es wird ein Fahrzeug entwickelt, welches sich an den Anforderungen und Bedingungen des CaroloCups orientiert. Hierbei handelt es sich um einen Wettbewerb, indem studentische Teams mit autonom fahrenden Modellfahrzeugen Parcoure und Einparksituationen meistern müssen.
Es wird in diesem Artikel die Querreglung vorgestellt. Die Aufgabe der Querreglung besteht darin, den Weg des Autos (tatsächliche Größe) und den Weg des Autos (Zielgröße) zu vergleichen.
Hier ist Link zu Referenzartikel:BSF_Querregelung
Anforderungen
Im Lastenheft werden zur Querreglung folgende Anforderungen gestellt:
- Anforderungen funktionieren:
- Anforderungen zusammenfassen:
- Pflichtenheft zeigen:
Meilensteine
- Meilenstein: 14.05.2020
- Meilenstein: 25.06.2020
BSFQuer_Querfuehrung
Programmübersicht-BSFQuer_Querfuehrung
Die Arbeit dieses Teils besteht hauptsächlich darin, die Datei zu erkennen und gegebenenfalls zu optimieren, um die Einfachheit und Klarheit des Systembetriebs sicherzustellen.
Vor der Optimierung | Nach der Optimierung |
---|---|
Da das Linienlayout ein bisschen chaotisch ist, habe ich es optimiert, die Positionen von HindernisBit und Sollvorgabe_Hindernis in Umschalter_Querführung vertauscht und die Positionen von 1 und 2 in 2_fach vertauscht, wodurch die Überkreuzungen verringert wurden. Und jeder Funktionsbaustein wurde bis zu einem gewissen Grad verkleinert oder vergrößert, um die Schönheit zu verbinden.
Schrittweise Überprüfung des Programms
Regelentfernung/Vorausschauweite
Die Kamera mit der nachgeschalteten Bildverarbeitung liefert nämlich nur Ergebnisse für dem Bereich zwischen 0,4 m und 1,5 m vor dem Fahrzeug. Am besten arbeitet das Fahrzeug bei derzeitiger Konfiguration mit 0,8. Aus diesem Grund wurde mit der LUT der Wert auf diesen Bereich begrenzt, die Werte unter bzw. über 0,8 werden nur bei sehr geringer bzw. sehr hoher Geschwindigkeit angenommen.
Daher werden die Daten 0,8 in BSFQuer_Vorausschauweite_Factor_f64 behalten und berauchen keine Optimierung mehr.
Hier ist Link zu Wiki-Artikel Vorausschauweite:Vorausschauweite
Praedizierter_Punkt_auf_Istbahn
Vor der Optimierung | Nach der Optimierung |
---|---|
Die Bestimmung des prädizierten Punktes des Fahrzeuges auf der Ist-Bahn geschieht unter folgender Annahme: Ist der Lenkwinkel des Fahrzeuges gleich Null, existiert zwischen prädiziertem Ist-Punkt und der aktuellen Ausrichtung des Fahrzeuges keine Querabweichung. Fährt das Fahrzeug nicht exakt geradeaus, befindet es sich auf einer Kreisbahn, die bei stationär statischem Lenkwinkel konstant ist.
Vereinfachen: Annahme, dass ohne Reglereingriff die Ist-Bahn eine Geradeausfahrt ist.Das Layout wurde einfach nach persönlichen Vorlieben ein bisschen geändert, um Überkreuzungen zu reduzieren und die Ästhetik zu verbessern.
Hier ist Link zu Wiki-Artikel Die Bestimmung des prädizierten Punktes:Die Bestimmung des prädizierten Punktes
Sollvorgabe ohne Hindernis
Vor der Optimierung | Nach der Optimierung |
---|---|
Das Layout von "Sollvorgabe ohne Hindernis" ist etwas chaotisch. Ich habe die Position von "Regelentfernung" geändert und die Eingangsports b und c in "Matlab Function" und die Eingangsports a und b in "Matlab Function1" ausgetauscht. Ich habe auch andere Kabel teilweise modifiziert, um Überkreuzungen zu reduzieren und die Ästhetik zu verbessern.
Function:
Die Sollbahn wird als ein Polynom zweiten Gerades, einer Parabel, approximiert. Die allgemeine Formel lautet:
Die beiden Funktionsmodule sind ausreichend optimiert und müssen nicht geändert werden.
Hier geht zu Link:BSF-Sollbahnbestimmung
*Sollvorgabe mit Hindernis*
Vereinfachen bei der Modul-Abstandsberechnung von Sollvorgabe mit Hindernis: Annahme, Abstand pytagoraisch, auch Kurven.
Modul-Abstandsberechnung ist ausreichend vereinfacht und braucht keine Änderung erforderlich.
Die anderen Zwei Teilen in der Originaldatei ist zu einfach und muss optimiert und geändert werden.
Vor der Optimierung | Nach der Optimierung |
---|---|
Das obige Bild zeigt meine Optimierung von "Sollvorgabe mit Hindernis". Im Folgenden werden meine Optimierungsideen beschrieben.
Der Ansatz zur Hindernisumfahrungskonzept besteht darin, die Querführung des Ziels im Fall eines Hindernisses um eine Spurbreite nach links zu verschieben, dh auf die linke Spur zu wechseln.
Nach den Informationen Wiichtig-Bereich können Wir wissen: Die Kamera mit der nachgeschalteten Bildverarbeitung liefert nämlich nur Ergebnisse für dem Bereich zwischen 0,4 m und 1,5 m vor dem Fahrzeug.
Und die ursprüngliche Programmreaktionsentfernung ist zu lang, deshalb habe ich nach vielen Tests den Abstand von 0,1-2,5 auf 0,1-1,2 geändert, um eine genauere und schnellere Systemreaktion zu erzielen.Die Voraussetzung ist natürlich, dass es nicht mit Hindernissen kollidiert.
Punkt O ist der ursprüngliche Zustand des Fahrzeugs.
AE ist die von der Kamera erkannte Entfernung: AE = Abstand(0.1-1.2).
Punkt A ist die Linksverschiebung nach dem Erkennen des Hindernisses: HindernisBit = 1;Offset = 0.2;
BC ist die reibungslose Fahrstrecke, nachdem das Auto nach links verschoben wurde.
Punkt C ist der Auslösepunkt für die Fahrzeug, um zum ursprünglichen Wegpunkt zurückzukehren: HindernisBit = 0;Offset = 0;
OA ist die ursprüngliche Fahrstrecke: OA=Streckendifferenz
ABC ist die zurückgelegte Strecke, bevor das Auto zur ursprünglichen Route zurückkehrt, nachdem es nach links verschoben wurde: ABC=Strecke-Streckendifferenz
Hier ist WiKi-Artikel als Datenreferenz SenVx_sx_K_f64-Link:
Block Sensoren: die zurückgelegte Strecke,
Streckenmessung Hallsensoren
Umschalter_Querfuehrung
Hindernisumfahrungskonzept:
Die Hindernisumfahrung ist so aufgebaut, dass anhand der Objektliste des LIDARs ein Hindernisbit erzeugt wird, mit dem zwischen der Sollvorgabe ohne Hindernis und der Sollvorgabe mit Hindernis umgeschaltet wird. Im Modell ist ein entsprechender Switch-Block Umschalter_Querführung eingefügt.
An der "Umschalter_Querfuehrung"-Funktion gibt es nichts zu ändern.
Hier geht zu Link:Hindernisumfahrungskonzept
Querregler_PID
Vor der Optimierung | Nach der Optimierung |
---|---|
An der "Querregler_PID"-Funktion gibt es nichts zu ändern. Das Layout wurde einfach nach persönlichen Vorlieben ein bisschen geändert, um Überkreuzungen zu reduzieren und die Ästhetik zu verbessern.
Hier geht zu Link:Querregler_PID/Reglerentwurf
Betriebsergebnis
Simulinkmodus = 1; % 1: BSF. Das Folgende ist das Operationsergebnis in diesem Zustand.
Simulinkmodus = 4; % 4: BSF incl. Objekt auf der Fahrbahn.Das Folgende ist das Operationsergebnis in diesem Zustand.
Vor der Optimierung | Nach der Optimierung |
---|---|
Aus der Gesamtsicht ist der Hindernisvermeidungsbereich des Fahrzeugs vor der Verbesserung zu groß, und der Bereich wird nach dem Rest erheblich verringert.
Vor der Optimierung | Nach der Optimierung |
---|---|
Wenn wir auf die Istbahn des Fahrzeugs zu ein einzelnes Hindernis achten, können wir feststellen, dass die verbesserte Reaktionsentfernung zur Vermeidung von Hindernissen und die Entfernung zurück zur ursprünglichen Route erheblich verkürzt sind. Die Reaktion wurde prägnanter und klarer.
Vor der Optimierung | Nach der Optimierung |
---|---|
Wenn wir auf die Istbahn des Fahrzeugs zu den doppelten Hindernissen achten, können wir feststellen, dass das Fahrzeug vor der Verbesserung die beiden Hindernisse direkt als extrem langes Hindernis behandelt. Aber das verbesserte Fahrzeug reagiert immer noch zwischen den beiden Hindernissen.Das Fahrzeug kehrt kurz zur ursprünglichen Route zurück und umgeht dann schnell Hindernisse. Dies spiegelt die Überlegenheit des verbesserten Programms wider.
Zusammenfassung
Zusammenfassung des MS1
- Ich habe das Konzept der Querführung überprüft und validiert.
Ausblick auf MS2
Literaturverzeichnis
Link zum Quelltext in WiKi
Link zum Quelltext in SVN
→ zurück zum Gruppenartikel: SDE-Team_2020/21
→ zurück zum Hauptartikel: SDE Praktikum Autonomes Fahren