BSF-Querreglung: Unterschied zwischen den Versionen
(120 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Autoren:''' [[Benutzer:Daoyin Wang|Daoyin Wang]] | '''Autoren:''' [[Benutzer:Daoyin Wang|Daoyin Wang]]<br/> | ||
'''Betreuer:''' [[Benutzer:Ulrich_Schneider| Prof. Schneider]]<br/> | |||
== Einleitung == | == 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.<br> | 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.<br> | ||
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.<br> | 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.<br><br> | ||
Hier ist Link zu Referenzartikel:[https://wiki.hshl.de/wiki/index.php/BSF_-_Bahn-_und_Spurf%C3%BChrung#Querregelung BSF_Querregelung] | Hier ist Link zu Referenzartikel:[https://wiki.hshl.de/wiki/index.php/BSF_-_Bahn-_und_Spurf%C3%BChrung#Querregelung BSF_Querregelung] | ||
Zeile 16: | Zeile 17: | ||
* Pflichtenheft zeigen: | * Pflichtenheft zeigen: | ||
[[Datei: | [[Datei:Pflichtenheft_Wang1.PNG|1200px|thumb| none |Abbildung des Pflichtenheft]] | ||
== Meilensteine == | == Meilensteine == | ||
Zeile 24: | Zeile 25: | ||
==BSFQuer_Querfuehrung== | ==BSFQuer_Querfuehrung== | ||
===Programmübersicht-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. | Die Arbeit dieses Teils besteht hauptsächlich darin, die Datei zu erkennen und gegebenenfalls zu optimieren, um die Einfachheit und Klarheit des Systembetriebs sicherzustellen. | ||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | Vor der Optimierung | |||
! style="font-weight: bold;" | Nach der Optimierung | |||
|- | |||
|[[Datei:BSFQuer_Querfuehrung.PNG|600px |thumb| none |BSFQuer_Querfuehrung vor der Optimierung]] | |||
|[[Datei:BSFQuer_Querfuehrung1.PNG|600px |thumb| none |BSFQuer_Querfuehrung nach der Optimierung]] | |||
|- | |||
|} | |||
Da das Linienlayout ein bisschen chaotisch ist, habe ich es optimiert, die Positionen von HindernisBit und Sollvorgabe_Hindernis in [https://wiki.hshl.de/wiki/index.php/BSF-Querreglung#Umschalter_Querfuehrung 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 === | === Schrittweise Überprüfung des Programms === | ||
====Regelentfernung/Vorausschauweite==== | ====Regelentfernung/Vorausschauweite==== | ||
[[Datei:Regelentfernung_Vorausschauweite.PNG|600px |thumb| none |Regelentfernung/Vorausschauweite]]<br> | [[Datei:Regelentfernung_Vorausschauweite.PNG|600px |thumb| none |Regelentfernung/Vorausschauweite vor der Optimierung]] | ||
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.<br> | |||
Daher werden die Daten 0,8 in BSFQuer_Vorausschauweite_Factor_f64 behalten und berauchen keine Optimierung mehr.<br> | |||
Hier ist Link zu Wiki-Artikel Vorausschauweite:[https://wiki.hshl.de/wiki/index.php/BSF_-_Bahn-_und_Spurf%C3%BChrung#Vorausschauweite Vorausschauweite] | |||
====Praedizierter_Punkt_auf_Istbahn==== | ====Praedizierter_Punkt_auf_Istbahn==== | ||
[[Datei:Praedizierter_Punkt_auf_Istbahn.PNG|600px |thumb| none |Praedizierter_Punkt_auf_Istbahn]] | {| class="mw-datatable" | ||
[[Datei:Werteberechnung.PNG|600px |thumb| none |Werteberechnung]]<br> | ! style="font-weight: bold;" | Vor der Optimierung | ||
! style="font-weight: bold;" | Nach der Optimierung | |||
|- | |||
|[[Datei:Praedizierter_Punkt_auf_Istbahn.PNG|600px |thumb| none |Praedizierter_Punkt_auf_Istbahn vor der Optimierung]] | |||
|[[Datei:Praedizierter_Punkt_auf_Istbahn1.PNG|600px |thumb| none |Praedizierter_Punkt_auf_Istbahn nach der Optimierung]] | |||
|- | |||
|[[Datei:Werteberechnung.PNG|600px |thumb| none |Werteberechnung vor der Optimierung]] | |||
|[[Datei:Werteberechnung1.PNG|600px |thumb| none |Werteberechnung 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.<br> | |||
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.<br> | |||
Hier ist Link zu Wiki-Artikel Die Bestimmung des prädizierten Punktes:[https://wiki.hshl.de/wiki/index.php/BSF_-_Bahn-_und_Spurf%C3%BChrung#Sollbahnbestimmung Die Bestimmung des prädizierten Punktes] | |||
====Sollvorgabe ohne Hindernis==== | ====Sollvorgabe ohne Hindernis==== | ||
[[Datei:Sollvorgabe_Ohne_Hindernis.PNG|600px |thumb| none |Sollvorgabe ohne Hindernis]]<br> | {| class="mw-datatable" | ||
[[Datei:Sollvorgabe_Ohne_Hindernis_Matlab_Funktion.PNG|600px |thumb| none |Sollvorgabe_Ohne_Hindernis_Matlab_Funktion]] | ! style="font-weight: bold;" | Vor der Optimierung | ||
[[Datei:Sollvorgabe_Ohne_Hindernis_Matlab_Funktion1.PNG|600px |thumb| none |Sollvorgabe_Ohne_Hindernis_Matlab_Funktion1]] | ! style="font-weight: bold;" | Nach der Optimierung | ||
|- | |||
|[[Datei:Sollvorgabe_Ohne_Hindernis.PNG|600px |thumb| none |Sollvorgabe ohne Hindernis vor der Optimierung]] | |||
|[[Datei:Sollvorgabe_Ohne_Hindernis1.PNG|600px |thumb| none |Sollvorgabe ohne Hindernis 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.<br><br> | |||
{| class="mw-datatable" | |||
! style="font-weight: none;" | | |||
! style="font-weight: none;" | | |||
|- | |||
|[[Datei:Sollvorgabe_Ohne_Hindernis_Matlab_Funktion.PNG|600px |thumb| none |Sollvorgabe_Ohne_Hindernis_Matlab_Funktion]] | |||
|[[Datei:Sollvorgabe_Ohne_Hindernis_Matlab_Funktion1.PNG|600px |thumb| none |Sollvorgabe_Ohne_Hindernis_Matlab_Funktion1]] | |||
|- | |||
|} | |||
Function:<br> | |||
Die Sollbahn wird als ein Polynom zweiten Gerades, einer Parabel, approximiert. Die allgemeine Formel lautet: <math>f(x) = a \cdot x^2 + bx + c \qquad </math><br> | |||
Die beiden Funktionsmodule sind ausreichend optimiert und müssen nicht geändert werden.<br> | |||
Hier geht zu Link:[https://wiki.hshl.de/wiki/index.php/BSF_-_Bahn-_und_Spurf%C3%BChrung#Sollbahnbestimmung BSF-Sollbahnbestimmung] | Hier geht zu Link:[https://wiki.hshl.de/wiki/index.php/BSF_-_Bahn-_und_Spurf%C3%BChrung#Sollbahnbestimmung BSF-Sollbahnbestimmung] | ||
====Sollvorgabe mit Hindernis==== | ====*Sollvorgabe mit Hindernis*==== | ||
[[Datei:Sollvorgabe mit Hindernis1.PNG|600px |thumb| none |Sollvorgabe mit Hindernis]] | [[Datei:Abstandberechnung.PNG|600px |thumb| none |Abstandberechnung]] | ||
[[Datei:Matlab_Funktion.PNG|600px |thumb| none |Matlab Funktion]]<br> | Vereinfachen bei der Modul-Abstandsberechnung von Sollvorgabe mit Hindernis: Annahme, Abstand pytagoraisch, auch Kurven.<br> | ||
Modul-Abstandsberechnung ist ausreichend vereinfacht und braucht keine Änderung erforderlich.<br> | |||
Die anderen Zwei Teilen in der Originaldatei ist zu einfach und muss optimiert und geändert werden. | |||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | Vor der Optimierung | |||
! style="font-weight: bold;" | Nach der Optimierung | |||
|- | |||
|[[Datei:Sollvorgabe mit Hindernis1.PNG|600px |thumb| none |Sollvorgabe mit Hindernis vor der Optimierung]] | |||
|[[Datei:Sollvorgabe mit Hindernis3.PNG|600px |thumb| none |Sollvorgabe mit Hindernis nach derOptimierung]] | |||
|- | |||
|[[Datei:Matlab_Funktion.PNG|600px |thumb| none |Matlab Funktion vor der Optimierung]] | |||
|[[Datei:Matlab_Funktion2.PNG|600px |thumb| none |Matlab Funktion nach derOptimierung]] | |||
|- | |||
|} | |||
Das obige Bild zeigt meine Optimierung von "Sollvorgabe mit Hindernis". Im Folgenden werden meine Optimierungsideen beschrieben. | |||
[[Datei:Hindernisumfahrungskonzept.PNG|600px |thumb| none |Hindernisumfahrungskonzept]] | |||
Punkt O : der ursprüngliche Zustand des Fahrzeugs ( HindernisBit = 0;Offset = 0 ) | |||
Punkt A : der Zustandpunkt nach dem Erkennen des Hindernisses nach Links verschieben ( HindernisBit = 1;Offset = 0.2 ) | |||
Punkt B : der Zustandpunkt in einen ruhigen Fahrzustand übergehen | |||
Punkt C : der Zustandspunkt zur ursprünglichen Route zurückzukehren( HindernisBit = 0;Offset = 0 ) | |||
Punkt D : der Zustandspunkt zur ursprünglichen Route zurückgekehrt sein | |||
Punkt E : der Punkt das Hindernis erkennen | |||
AE : der Erkennungsabstand der Hindernisumfahrung ( AE=Abstand : 0.1-1.2 ) | |||
OA : die ursprüngliche Fahrstrecke ( OA=Streckendifferenz ) | |||
OC : die Fahrstrecke in der Zustandspunkt C ( OC=Strecke ) | |||
ABC : der vor zur ursprünglichen Route zurückkehrte Abstand der Hindernisumfahrung ((ABC=Strecke-Streckendifferenz)>=1.4 ) | |||
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.<br> | |||
Nach den Informationen [https://wiki.hshl.de/wiki/index.php/BSF_-_Bahn-_und_Spurführung#Vorausschauweite 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.<br> | |||
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. | |||
<br> | |||
Hier ist WiKi-Artikel als Datenreferenz SenVx_sx_K_f64-Link:<br> | |||
[https://wiki.hshl.de/wiki/index.php/Fahrzeugsoftware#bib_Sensoren_Aktoren_online.mdl Block Sensoren: die zurückgelegte Strecke], | |||
[https://wiki.hshl.de/wiki/index.php/Kalman-Filter_zur_Bestimmung_der_Geschwindigkeit_aus_den_LIDAR-Daten#Aufzeichnung Streckenmessung Hallsensoren] | |||
====Umschalter_Querfuehrung==== | ====Umschalter_Querfuehrung==== | ||
[[Datei:Umschalter_Querfuehrung.PNG|600px |thumb| none |Umschalter_Querfuehrung]]<br> | [[Datei:Umschalter_Querfuehrung.PNG|600px |thumb| none |Umschalter_Querfuehrung vor der Optimierung]] | ||
Hindernisumfahrungskonzept:<br> | |||
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.<br> | |||
An der "Umschalter_Querfuehrung"-Funktion gibt es nichts zu ändern.<br> | |||
Hier geht zu Link:[https://wiki.hshl.de/wiki/index.php/Querreglung_Vorarbeiten#Konzept Hindernisumfahrungskonzept] | |||
====Querregler_PID==== | ====Querregler_PID==== | ||
[[Datei:Querregler_PID.PNG|600px |thumb| none |Querregler_PID]] | {| class="mw-datatable" | ||
[[Datei:Querregler_PID_PT_1_Eing_f.PNG|600px |thumb| none |Querregler_PID/PT_1_Eing_f]] | ! style="font-weight: bold;" | Vor der Optimierung | ||
! style="font-weight: bold;" | Nach der Optimierung | |||
|- | |||
|[[Datei:Querregler_PID.PNG|600px |thumb| none |Querregler_PID vor der Optimierung]] | |||
|[[Datei:Querregler_PID1.PNG|600px |thumb| none |Querregler_PID nach der Optimierung]] | |||
|- | |||
|[[Datei:Querregler_PID_PT_1_Eing_f.PNG|600px |thumb| none |Querregler_PID/PT_1_Eing_f vor der Optimierung]] | |||
|[[Datei:Querregler_PID_PT_1_Eing_f1.PNG|600px |thumb| none |Querregler_PID/PT_1_Eing_f 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.<br> | |||
Hier geht zu Link:[https://wiki.hshl.de/wiki/index.php/Querreglung_Vorarbeiten#Reglerentwurf Querregler_PID/Reglerentwurf] | Hier geht zu Link:[https://wiki.hshl.de/wiki/index.php/Querreglung_Vorarbeiten#Reglerentwurf Querregler_PID/Reglerentwurf] | ||
===Betriebsergebnis=== | ===Betriebsergebnis=== | ||
[[Datei: | Simulinkmodus = 4; % 4: BSF incl. Objekt auf der Fahrbahn.Das Folgende ist das Operationsergebnis in diesem Zustand. | ||
[[Datei: | |||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | Vor der Optimierung | |||
! style="font-weight: bold;" | Nach der Optimierung | |||
|- | |||
|[[Datei:Hindernisumfahrung_vor_der_Optiemierung3.mp4|600px |thumb| none |Hindernisumfahrung_vor_der_Optiemierung]] | |||
|[[Datei:Hindernisumfahrung_nach_der_Optiemierung3.mp4|600px |thumb| none |Hindernisumfahrung_nach_der_Optiemierung]] | |||
|- | |||
|} | |||
Aus der Gesamtsicht ist der Hindernisvermeidungsbereich des Fahrzeugs vor der Verbesserung zu groß, und der Bereich wird nach dem Rest erheblich verringert. | |||
<br> | |||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | Vor der Optimierung | |||
! style="font-weight: bold;" | Nach der Optimierung | |||
|- | |||
|[[Datei:Hindernisumfahrung_vor_der_Optiemierung_Teil.PNG|600px |thumb| none |Hindernisumfahrung_vor_der_Optiemierung_Teil]] | |||
|[[Datei:Hindernisumfahrung_nach_der_Optiemierung_Teil.PNG|600px |thumb| none |Hindernisumfahrung_nach_der_Optiemierung_Teil]] | |||
|- | |||
|} | |||
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. | |||
<br> | |||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | Vor der Optimierung | |||
! style="font-weight: bold;" | Nach der Optimierung | |||
|- | |||
|[[Datei:Hindernisumfahrung_vor_der_Optiemierung_Besonders.PNG|600px |thumb| none |Hindernisumfahrung_vor_der_Optiemierung_Besonders]] | |||
|[[Datei:Hindernisumfahrung_nach_der_Optiemierung_Besonders.PNG|600px |thumb| none |Hindernisumfahrung_nach_der_Optiemierung_Besonders]] | |||
|- | |||
|} | |||
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.<br> | |||
== Zusammenfassung == | == Zusammenfassung == | ||
===Zusammenfassung des MS1=== | |||
* Erstellt und aktualisiert den WiKi-Artikel | |||
* überprüft und validiert das Konzept der Querführung in der Simulation | |||
* überprüft und optimiert das Layout und die Verkabelung der meisten Programm-BSFQuer_Querfuehrung in der Simulation | |||
* verbessert die Hindernisumfahrung der Querreglung Programm-BSFQuer_Querfuehrung/Sollvorgabe mit Hindernis in der Simulation | |||
* verbessert der Reaktionsabstand zur Hindernisumfahrung und - zur Rückkehr zum Sollbahn | |||
* lasst das Programm-BSFQuer_Querfuehrung effizienter und prägnanter | |||
* Bei dieser Arbeit in MS1 hat Marius_Koehler mir viel geholfen und mein Programm überprüft. | |||
===Ausblick auf MS2=== | |||
* Erstellt und aktualisiert den neue Teil des WiKi-Artikel | |||
* überprüft und validiert den eigenen WiKi-Artikel auf Probleme | |||
* überprüft und optimiert funktionsfähige Querregelung und Querregelungparameter | |||
* bestimmt der realitätsnahe Parameter des Einspurmodells(ESM) | |||
== Literaturverzeichnis == | == Literaturverzeichnis == | ||
=== Link zum Quelltext in WiKi === | |||
*[https://wiki.hshl.de/wiki/index.php/BSF_-_Bahn-_und_Spurf%C3%BChrung#Querregelung BSF Querreglung] | |||
*[https://wiki.hshl.de/wiki/index.php/Querreglung_Vorarbeiten Querreglung Vorarbeiten] | |||
=== Link zum Quelltext in SVN === | |||
* [https://svn.hshl.de/svn/MTR_SDE_Praktikum/branches/2020_05_01_BSF_Querregelung/ Branch des Teams BSF Querreglung] | |||
* [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/CaroloCupFahrzeug/ Trunk des autonomen Fahrzeugs] | |||
* [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Teams/BSF/BSF-Quer-Daoyin_Wang/BSF-Querreglung_Bilder BSF Querreglung Bilder] | |||
<references /> | <references /> | ||
Aktuelle Version vom 15. Juni 2020, 13:33 Uhr
Autoren: Daoyin Wang
Betreuer: Prof. Schneider
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.
Punkt O : der ursprüngliche Zustand des Fahrzeugs ( HindernisBit = 0;Offset = 0 ) Punkt A : der Zustandpunkt nach dem Erkennen des Hindernisses nach Links verschieben ( HindernisBit = 1;Offset = 0.2 ) Punkt B : der Zustandpunkt in einen ruhigen Fahrzustand übergehen Punkt C : der Zustandspunkt zur ursprünglichen Route zurückzukehren( HindernisBit = 0;Offset = 0 ) Punkt D : der Zustandspunkt zur ursprünglichen Route zurückgekehrt sein Punkt E : der Punkt das Hindernis erkennen AE : der Erkennungsabstand der Hindernisumfahrung ( AE=Abstand : 0.1-1.2 ) OA : die ursprüngliche Fahrstrecke ( OA=Streckendifferenz ) OC : die Fahrstrecke in der Zustandspunkt C ( OC=Strecke ) ABC : der vor zur ursprünglichen Route zurückkehrte Abstand der Hindernisumfahrung ((ABC=Strecke-Streckendifferenz)>=1.4 )
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.
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 = 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
- Erstellt und aktualisiert den WiKi-Artikel
- überprüft und validiert das Konzept der Querführung in der Simulation
- überprüft und optimiert das Layout und die Verkabelung der meisten Programm-BSFQuer_Querfuehrung in der Simulation
- verbessert die Hindernisumfahrung der Querreglung Programm-BSFQuer_Querfuehrung/Sollvorgabe mit Hindernis in der Simulation
- verbessert der Reaktionsabstand zur Hindernisumfahrung und - zur Rückkehr zum Sollbahn
- lasst das Programm-BSFQuer_Querfuehrung effizienter und prägnanter
- Bei dieser Arbeit in MS1 hat Marius_Koehler mir viel geholfen und mein Programm überprüft.
Ausblick auf MS2
- Erstellt und aktualisiert den neue Teil des WiKi-Artikel
- überprüft und validiert den eigenen WiKi-Artikel auf Probleme
- überprüft und optimiert funktionsfähige Querregelung und Querregelungparameter
- bestimmt der realitätsnahe Parameter des Einspurmodells(ESM)
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