BSF-Optimierung der Hindernisumfahrung: Unterschied zwischen den Versionen
(75 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 7: | Zeile 7: | ||
=== Requirement === | === Requirement === | ||
[[Datei:REQ10.2300.PNG|600px |thumb| none | | [[Datei:REQ10.2300.PNG|600px |thumb| none |Requirement_Querregelung]] | ||
<br> | <br> | ||
Zeile 14: | Zeile 14: | ||
<br> | <br> | ||
=== Arbeitsablaufdiagramm === | === Arbeitsablaufdiagramm === | ||
{| class="mw-datatable" | {| class="mw-datatable" | ||
! style="font-weight: bold;" | ID | ! style="font-weight: bold;" | ID | ||
Zeile 58: | Zeile 58: | ||
| Cebeci Alessio | | Cebeci Alessio | ||
| 03.06.2020 | | 03.06.2020 | ||
|- | |||
| 7 | |||
| BSFQuer-Querfuehrung(Kombinierung) | |||
| Daoyin Wang | |||
| --- | |||
| 13.06.2020 | |||
|- | |||
| 8 | |||
| BSFQuer-Sollvorgabe(Kombinierung) | |||
| Daoyin Wang | |||
| --- | |||
| 14.06.2020 | |||
|- | |||
| 8 | |||
| BSFQuer-Querfuehrung(Kombinierung)2.0 | |||
| Daoyin Wang | |||
| --- | |||
| 15.06.2020 | |||
|- | |||
| 9 | |||
| BSFQuer-Sollvorgabe(Kombinierung) | |||
| --- | |||
| Cebeci Alessio | |||
| 16.06.2020 | |||
|- | |||
| 10 | |||
| BSFQuer-Querfuehrung(Kombinierung)2.0 | |||
| --- | |||
| Cebeci Alessio | |||
| 16.06.2020 | |||
|- | |||
| 11 | |||
| Fahrspur_Konzept | |||
| Daoyin Wang | |||
| --- | |||
| 19.06.2020 | |||
|- | |||
| 11 | |||
| Geschwindigkeit_Konzept | |||
| Daoyin Wang | |||
| --- | |||
| 21.06.2020 | |||
|- | |||
| 12 | |||
| Hindernisabstand_Konzept | |||
| Daoyin Wang | |||
| --- | |||
| 21.06.2020 | |||
|- | |||
| 13 | |||
| Konzept: Fahrspur, Geschwindigkeit und Hindernisabstand | |||
| --- | |||
| Marius Koehler | |||
| 24.06.2020 | |||
|- | |- | ||
|} | |} | ||
== | == BSFQuerregelung-Konzept == | ||
Alle Dateien wurden auf SVN: [http://https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Teams/BSF/BSF-Quer-Daoyin_Wang/ MTR_SDE_Praktikum/trunk/Teams/BSF/BSF-Quer-Daoyin_Wang] hochgeladen. | |||
=== Hindernisumfahrungskonzept === | |||
{| class="mw-datatable" | {| class="mw-datatable" | ||
! style="font-weight: none;" | Anfangsversion | ! style="font-weight: none;" | Anfangsversion | ||
Zeile 68: | Zeile 125: | ||
|[[Datei:BSF_Quer_Konzept.PNG|600px |thumb| none |1 BSFQuer-Konzept(12 Situationen)]] | |[[Datei:BSF_Quer_Konzept.PNG|600px |thumb| none |1 BSFQuer-Konzept(12 Situationen)]] | ||
|[[Datei:BSF_Quer_Konzept 2.0.PNG|600px |thumb| none |2 BSFQuer-Konzept 2.0(20 Situationen)]] | |[[Datei:BSF_Quer_Konzept 2.0.PNG|600px |thumb| none |2 BSFQuer-Konzept 2.0(20 Situationen)]] | ||
|- | |||
|} | |||
Wenn ich die Optimierung des Konzepts zur Vermeidung von Hindernissen betrachte, teile ich es in drei Arten von Situationen ein: nur statische Hindernisse, nur dynamische Hindernisse, gemischte Hindernisse.<br> | |||
Zuerst habe ich nur das Hindernis auf der Gegenspur links von dem Hindernis auf der Spur berücksichtigt, sodass es insgesamt 12 Situationen gibt.<br> | |||
Nach der Überlegung, dass es sich auch auf der rechten Seite des Hindernisses befinden kann, gibt es acht weitere Fälle und schließlich insgesamt 20 Situationen.<br> | |||
=== BSF_Hindernisumfahrung_Logikdiagramm === | |||
{| class="mw-datatable" | |||
! style="font-weight: none;" | Anfangsversion | |||
! style="font-weight: none;" | Endversion | |||
|- | |- | ||
|[[Datei:BSF_Hindernisumfahrung_Logikdiagramm.PNG|600px |thumb| none |3 BSF_Hindernisumfahrung_Logikdiagramm]] | |[[Datei:BSF_Hindernisumfahrung_Logikdiagramm.PNG|600px |thumb| none |3 BSF_Hindernisumfahrung_Logikdiagramm]] | ||
Zeile 73: | Zeile 141: | ||
|- | |- | ||
|} | |} | ||
Zuerst wird die Logik der 12 Situationen aufgelistet, und dann werden die wiederholten und vereinfachten Bereiche optimiert und zusammengeführt.<br> | |||
Ich halte die Lösung für ausreichend, wenn der Abstand zwischen zwei Hindernissen nicht ausreicht: Das Fahrzeug hält an, bis der Abstand ausreicht, und vermeide dann Hindernisse.<br> | |||
Da ich die zunehmende Situation und die direkte Verwendung von Daten aus LiDAR berücksichtigt habe, habe ich das Logikdiagramm optimiert. | |||
<br> | |||
=== Hindernisabstand-Konzept === | |||
[[Datei:Fahrzeuglaenge02.PNG|600px |thumb| none |Fahrzeuglaenge]] | |||
[[Datei:Geschwindigkeit02.PNG|600px |thumb| none |Geschwindigkeit]] | |||
Hindernissenabstand = (Fahrzeuglaenge + Hindernisbreite + Geschwindigkeit)/2 | |||
<br> | |||
Hindernissenabstand = (0.43 + 0.3 + 0.3)/2 = 0.515 | |||
<br> | |||
=== Fahrsur_Berechnung-Kozept === | |||
[[Datei:Fahrsur_Berechnung_Konzept01.PNG|600px |thumb| none |Fahrsur_Berechnung_Konzept]] | |||
===Geschwimdigkeit_Berechnung-Kozept=== | |||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | | |||
! style="font-weight: bold;" | | |||
! style="font-weight: bold;" | | |||
! style="font-weight: bold;" | | |||
|- | |||
|[[Datei:Situation_1.PNG|300px |thumb| none |Situation_1]] | |||
|[[Datei:Situation_2.PNG|300px |thumb| none |Situation_2]] | |||
|[[Datei:Situation_3.PNG|300px |thumb| none |Situation_3]] | |||
|[[Datei:Situation_4.PNG|300px |thumb| none |Situation_4]] | |||
|- | |||
|} | |||
Steptime(T) = 0.005s | |||
<br> | |||
V_relativ = (r_alt - r_neu)/T | |||
<br> | <br> | ||
* V_relativ > 0 - Hindernis entfernt sich vom Fzg | |||
* V_relativ = 0 - Hindernis hält Distanz - bewegt sich also mit Fzg-Geschwindigkeit | |||
* V_relativ < 0 - Hindernis bewegt sich auf Fzg. zu (bzw. umgekehrt je nach Perspektive) | |||
V_zustand = Faktor * V_max | V_zustand = Faktor * V_max | ||
<br> | <br> | ||
=== | == Programmierung == | ||
=== Optimierung der Fahrzeugschwingung=== | |||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | | |||
! style="font-weight: bold;" | Vor der Optimierung | |||
! style="font-weight: bold;" | | |||
! style="font-weight: bold;" | Nach der Optimierung | |||
|- | |||
|[[Datei:BSFQuer_Run.PNG|300px |thumb| none |]] | |||
|[[Datei:BSFQuer_Run2.PNG|300px |thumb| none |]] | |||
|[[Datei:BSFQuer_Run1.PNG|300px |thumb| none |]] | |||
|[[Datei:BSFQuer_Run3.PNG|300px |thumb| none |]] | |||
|- | |||
|} | |||
Ich führte vor dem Zusammenführen und Optimieren einen Probelauf durch und stellte dann fest, dass das Fahrzeug heftig schwang. <br> | |||
Um die Fahrzeugschwingung zu reduzieren, habe ich "PAR_BsfQuer_DAnteil_f64" im "param_BSF" von -0,9 zu 0 geändert.<br> | |||
Dann stellte ich fest, dass das Fahrzeug grundsätzlich nicht schwingt.<br> | |||
=== Optimierung der Hindernisumfahrung=== | |||
{| class="mw-datatable" | |||
! style="font-weight: bold;" | Vor der Optimierung | |||
! style="font-weight: bold;" | Nach der Optimierung | |||
|- | |||
|[[Datei:BSFQuer_Querfuehrung1.PNG|600px |thumb| none |BSFQuer_Querfuehrung vor der Optimierung]] | |||
|[[Datei:BSFQuer_Querfuehrung2.PNG|600px |thumb| none |BSFQuer_Querfuehrung nach der Optimierung]] | |||
|- | |||
|} | |||
Ich habe die drei Teile: "Sollvorgabe ohne Hindernis" ,"Sollvorgabe mit Hindernis" und "Umschalter_Querfuehrung" zu einem festgelegten Programm kombinieret. | |||
<br> | |||
Ich habe den Funktion 2-fach in Querregler_PID zusammengeführt.Dann habe ich das Layout optimiert. | |||
<br> | |||
{| class="mw-datatable" | |||
! style="font-weight: none;" | Anfangsversion | |||
! style="font-weight: none;" | Endversion | |||
|- | |||
|[[Datei:Sollvorgabe.PNG|600px |thumb| none |Sollvorgabe nach der Kombinierung vor der Optimierung]] | |||
|[[Datei:Sollvorgabe1.PNG|600px |thumb| none |Sollvorgabe nach der Kombinierung nach der Optimierung]] | |||
|- | |||
|} | |||
=== Hindernisumfahrung === | |||
[[Datei:Hindernisumfahrung.PNG|600px |thumb| none |Hindernisumfahrung]] | |||
=== Fahrsur_Berechnung === | |||
[[Datei:Fahrsur_Berechnung.PNG|600px |thumb| none |Fahrsur_Berechnung]] | |||
===Geschwimdigkeit_Berechnung-Kozept=== | |||
[[Datei:Geschwimdigkeit_Berechnung.PNG|600px |thumb| none |Geschwimdigkeit_Berechnung]] | |||
==Betriebsergebnis== | |||
Kann aufgrund von Parameterproblemen nicht fortgesetzt werden. | |||
=== | == Zusammenfassung == | ||
===Zusammenfassung des M2=== | |||
== | * ü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) | |||
* Berechnung der Fahrspur, Geschwindigkeit und Hindernisabstand | |||
* Optimierung der Hindernisumfahrung und Programmstruktur | |||
* Aufgrund fehlender relevanter Parameter können die Betriebsergebnisse nicht erhalten werden.Daher kann kein Uni-Test und Intergrationstest durchgeführt werden | |||
===Ausblick auf MS3=== | |||
* Parament von LiDAR fehlen : Hindernisabstand zwischen die zwei Hindernissen auf die beiden Spuren | |||
* Optimierung der Berechnung der Fahrspur & Geschwindigkeit | |||
* Detaillierte Abstandsoptimierung vor Hindernisvermeidung (Abstand) | |||
* Optimierung des Hindernisvermeidungsabstands für dynamische und statische Hindernisse (Strecke / Streckendifferenz) | |||
* Wenn die Parameter von Team „Objekterkennung mit Hokuyo LiDAR“ vollständig sind, fahre ich mit der nächsten Berechnung fort. | |||
== Literaturverzeichnis == | == Literaturverzeichnis == | ||
=== Link zum Quelltext in WiKi === | === 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/BSF_-_Bahn-_und_Spurf%C3%BChrung#Querregelung BSF Bahn- und Spurführung: Querreglung] | ||
*[https://wiki.hshl.de/wiki/index.php/Querreglung_Vorarbeiten Querreglung Vorarbeiten] | *[https://wiki.hshl.de/wiki/index.php/Querreglung_Vorarbeiten Querreglung Vorarbeiten] | ||
*[https://wiki.hshl.de/wiki/index.php/BSF-Querreglung BSF Querreglung] | |||
=== Link zum Quelltext in SVN === | === Link zum Quelltext in SVN === | ||
*[http://https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Teams/BSF/BSF-Optimierung BSF-Optimierung der Hindernisumfahrung BILD] | |||
-------------------------- | -------------------------- | ||
→ zurück zum Frühe Artikel: [[BSF-Querreglung|BSF-Querreglung]]<br> | |||
→ zurück zum Gruppenartikel: [[SDE-Team_2020/21|SDE-Team_2020/21]]<br> | → zurück zum Gruppenartikel: [[SDE-Team_2020/21|SDE-Team_2020/21]]<br> | ||
→ zurück zum Hauptartikel: [[Praktikum_SDE|SDE Praktikum Autonomes Fahren]] | → zurück zum Hauptartikel: [[Praktikum_SDE|SDE Praktikum Autonomes Fahren]] |
Aktuelle Version vom 28. Juni 2020, 13:29 Uhr
Autoren: Daoyin Wang
Betreuer: Prof. Schneider
Einleitung
Die Arbeit dieses Teils liegt hauptsächlich in der Optimierung des Konzepts der Hindernisvermeidung, insbesondere zur Optimierung der Hinderniserkennung auf zwei Spuren und zur Optimierung dynamischer und statischer Hindernisse.
Anforderungen
Requirement
Pflichten
Arbeitsablaufdiagramm
ID | Inhalt | Ersteller | Reviewer | Datum |
---|---|---|---|---|
1 | BSFQuer-Konzept(12 Situationen) | Daoyin Wang | --- | 29.05.2020 |
2 | BSFQuer-Hindernisumfahrung-Logikdiagramm | Daoyin Wang | --- | 30.05.2020 |
3 | BSFQuer-Konzept 2.0 (20 Situationen) | Daoyin Wang | --- | 31.05.2020 |
4 | BSFQuer-Hindernisumfahrung-Logikdiagramm 2.0 | Daoyin Wang | --- | 01.06.2020 |
5 | BSFQuer-Konzept 2.0 (20 Situationen) | --- | Cebeci Alessio | 03.06.2020 |
6 | BSFQuer-Hindernisumfahrung-Logikdiagramm 2.0 | --- | Cebeci Alessio | 03.06.2020 |
7 | BSFQuer-Querfuehrung(Kombinierung) | Daoyin Wang | --- | 13.06.2020 |
8 | BSFQuer-Sollvorgabe(Kombinierung) | Daoyin Wang | --- | 14.06.2020 |
8 | BSFQuer-Querfuehrung(Kombinierung)2.0 | Daoyin Wang | --- | 15.06.2020 |
9 | BSFQuer-Sollvorgabe(Kombinierung) | --- | Cebeci Alessio | 16.06.2020 |
10 | BSFQuer-Querfuehrung(Kombinierung)2.0 | --- | Cebeci Alessio | 16.06.2020 |
11 | Fahrspur_Konzept | Daoyin Wang | --- | 19.06.2020 |
11 | Geschwindigkeit_Konzept | Daoyin Wang | --- | 21.06.2020 |
12 | Hindernisabstand_Konzept | Daoyin Wang | --- | 21.06.2020 |
13 | Konzept: Fahrspur, Geschwindigkeit und Hindernisabstand | --- | Marius Koehler | 24.06.2020 |
BSFQuerregelung-Konzept
Alle Dateien wurden auf SVN: MTR_SDE_Praktikum/trunk/Teams/BSF/BSF-Quer-Daoyin_Wang hochgeladen.
Hindernisumfahrungskonzept
Anfangsversion | Endversion |
---|---|
Wenn ich die Optimierung des Konzepts zur Vermeidung von Hindernissen betrachte, teile ich es in drei Arten von Situationen ein: nur statische Hindernisse, nur dynamische Hindernisse, gemischte Hindernisse.
Zuerst habe ich nur das Hindernis auf der Gegenspur links von dem Hindernis auf der Spur berücksichtigt, sodass es insgesamt 12 Situationen gibt.
Nach der Überlegung, dass es sich auch auf der rechten Seite des Hindernisses befinden kann, gibt es acht weitere Fälle und schließlich insgesamt 20 Situationen.
BSF_Hindernisumfahrung_Logikdiagramm
Anfangsversion | Endversion |
---|---|
Zuerst wird die Logik der 12 Situationen aufgelistet, und dann werden die wiederholten und vereinfachten Bereiche optimiert und zusammengeführt.
Ich halte die Lösung für ausreichend, wenn der Abstand zwischen zwei Hindernissen nicht ausreicht: Das Fahrzeug hält an, bis der Abstand ausreicht, und vermeide dann Hindernisse.
Da ich die zunehmende Situation und die direkte Verwendung von Daten aus LiDAR berücksichtigt habe, habe ich das Logikdiagramm optimiert.
Hindernisabstand-Konzept
Hindernissenabstand = (Fahrzeuglaenge + Hindernisbreite + Geschwindigkeit)/2
Hindernissenabstand = (0.43 + 0.3 + 0.3)/2 = 0.515
Fahrsur_Berechnung-Kozept
Geschwimdigkeit_Berechnung-Kozept
Steptime(T) = 0.005s
V_relativ = (r_alt - r_neu)/T
- V_relativ > 0 - Hindernis entfernt sich vom Fzg
- V_relativ = 0 - Hindernis hält Distanz - bewegt sich also mit Fzg-Geschwindigkeit
- V_relativ < 0 - Hindernis bewegt sich auf Fzg. zu (bzw. umgekehrt je nach Perspektive)
V_zustand = Faktor * V_max
Programmierung
Optimierung der Fahrzeugschwingung
Vor der Optimierung | Nach der Optimierung | ||
---|---|---|---|
Ich führte vor dem Zusammenführen und Optimieren einen Probelauf durch und stellte dann fest, dass das Fahrzeug heftig schwang.
Um die Fahrzeugschwingung zu reduzieren, habe ich "PAR_BsfQuer_DAnteil_f64" im "param_BSF" von -0,9 zu 0 geändert.
Dann stellte ich fest, dass das Fahrzeug grundsätzlich nicht schwingt.
Optimierung der Hindernisumfahrung
Vor der Optimierung | Nach der Optimierung |
---|---|
Ich habe die drei Teile: "Sollvorgabe ohne Hindernis" ,"Sollvorgabe mit Hindernis" und "Umschalter_Querfuehrung" zu einem festgelegten Programm kombinieret.
Ich habe den Funktion 2-fach in Querregler_PID zusammengeführt.Dann habe ich das Layout optimiert.
Anfangsversion | Endversion |
---|---|
Hindernisumfahrung
Fahrsur_Berechnung
Geschwimdigkeit_Berechnung-Kozept
Betriebsergebnis
Kann aufgrund von Parameterproblemen nicht fortgesetzt werden.
Zusammenfassung
Zusammenfassung des M2
- ü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)
- Berechnung der Fahrspur, Geschwindigkeit und Hindernisabstand
- Optimierung der Hindernisumfahrung und Programmstruktur
- Aufgrund fehlender relevanter Parameter können die Betriebsergebnisse nicht erhalten werden.Daher kann kein Uni-Test und Intergrationstest durchgeführt werden
Ausblick auf MS3
- Parament von LiDAR fehlen : Hindernisabstand zwischen die zwei Hindernissen auf die beiden Spuren
- Optimierung der Berechnung der Fahrspur & Geschwindigkeit
- Detaillierte Abstandsoptimierung vor Hindernisvermeidung (Abstand)
- Optimierung des Hindernisvermeidungsabstands für dynamische und statische Hindernisse (Strecke / Streckendifferenz)
- Wenn die Parameter von Team „Objekterkennung mit Hokuyo LiDAR“ vollständig sind, fahre ich mit der nächsten Berechnung fort.
Literaturverzeichnis
Link zum Quelltext in WiKi
Link zum Quelltext in SVN
→ zurück zum Frühe Artikel: BSF-Querreglung
→ zurück zum Gruppenartikel: SDE-Team_2020/21
→ zurück zum Hauptartikel: SDE Praktikum Autonomes Fahren