BSF-Optimierung der Hindernisumfahrung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(91 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
== Anforderungen ==
== Anforderungen ==


<br><br><br>
=== Requirement ===
[[Datei:REQ10.2300.PNG|600px |thumb| none |Requirement_Querregelung]]
<br>


== Pflichten ==  
=== Pflichten ===
[[Datei:Pflichtenheft_Wang2.PNG|1200px|thumb| none |Abbildung des Pflichtenheft]]
<br>
 
=== Arbeitsablaufdiagramm ===
{| class="mw-datatable"
! style="font-weight: bold;" | ID
! style="font-weight: bold;" | Inhalt
! style="font-weight: bold;" | Ersteller
! style="font-weight: bold;" | Reviewer
! style="font-weight: bold;" | 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: [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"
! style="font-weight: none;" | Anfangsversion
! style="font-weight: none;" | Endversion
|-
|[[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)]]
|-
|}
 
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 2.0.PNG|600px |thumb| none |4 BSF_Hindernisumfahrung_Logikdiagramm 2.0]]
|-
|}
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>
* 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
<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.


<br><br><br>
== Zusammenfassung ==
== 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

Requirement_Querregelung


Pflichten

Abbildung des Pflichtenheft


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
1 BSFQuer-Konzept(12 Situationen)
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.
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
3 BSF_Hindernisumfahrung_Logikdiagramm
4 BSF_Hindernisumfahrung_Logikdiagramm 2.0

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

Fahrzeuglaenge
Geschwindigkeit

Hindernissenabstand = (Fahrzeuglaenge + Hindernisbreite + Geschwindigkeit)/2
Hindernissenabstand = (0.43 + 0.3 + 0.3)/2 = 0.515

Fahrsur_Berechnung-Kozept

Fahrsur_Berechnung_Konzept


Geschwimdigkeit_Berechnung-Kozept

Situation_1
Situation_2
Situation_3
Situation_4

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
BSFQuer_Querfuehrung vor der Optimierung
BSFQuer_Querfuehrung 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
Sollvorgabe nach der Kombinierung vor der Optimierung
Sollvorgabe nach der Kombinierung nach der Optimierung

Hindernisumfahrung

Hindernisumfahrung

Fahrsur_Berechnung

Fahrsur_Berechnung

Geschwimdigkeit_Berechnung-Kozept

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

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