BSF - Anforderungen an die Längsregelung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 42: Zeile 42:
| Cebeci
| Cebeci
| 02.06.2020
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 2
| 2
Zeile 49: Zeile 49:
| Cebeci
| Cebeci
| 02.06.2020
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 3
| 3
Zeile 56: Zeile 56:
| Cebeci
| Cebeci
| 02.06.2020
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 4
| 4
Zeile 63: Zeile 63:
| Cebeci
| Cebeci
| 02.06.2020
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 5
| 5
Zeile 70: Zeile 70:
| Cebeci
| Cebeci
| 02.06.2020
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 6
| 6
Zeile 77: Zeile 77:
| Cebeci
| Cebeci
| 02.06.2020
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|}
|}


Zeile 91: Zeile 91:
[[Datei:Modul_BSFVx_Bestimmung_Sollgeschwindigkeit.PNG|750px |thumb| none | Abbildung 5: Modul der Bestimmung Soll-Geschwindigkeit]]
[[Datei:Modul_BSFVx_Bestimmung_Sollgeschwindigkeit.PNG|750px |thumb| none | Abbildung 5: Modul der Bestimmung Soll-Geschwindigkeit]]
<br>
<br>


=== Längsführung ===
=== Längsführung ===
Zeile 98: Zeile 97:
[[Datei:Modul_BSFLaengs_Laengsfuehrung.PNG|750px |thumb| none | Abbildung 6: Modul der Längsführung]]
[[Datei:Modul_BSFLaengs_Laengsfuehrung.PNG|750px |thumb| none | Abbildung 6: Modul der Längsführung]]
<br>
<br>


<br><br>
<br><br>
Zeile 106: Zeile 104:
<br>
<br>
=== Bestimmung der Soll - Geschwindigkeit ===
=== Bestimmung der Soll - Geschwindigkeit ===
Die Abbildung 7 zeigt den Ablauf der Bestimmung der Soll-Geschwindigkeit. Hierbei wird zum einen die Geschwindigkeit aus dem Spurpolynom, also aus der Krümmung der Kurve, abgeleitet. Des Weiteren wird die Soll-Geschwindigkeit von einem Faktor beeinflusst, der von dem Modul "BSF_StopplinienVerhalten" bestimmt wird.
<br>
<br>
<br>
[[Datei:Konzept_Best_Vsoll.PNG|1000px |thumb| none | Abbildung 7: Konzept Bestimmung Soll-Geschwindigkeit]]
[[Datei:Konzept_Best_Vsoll.PNG|1000px |thumb| none | Abbildung 7: Konzept Bestimmung Soll-Geschwindigkeit]]
<br>
<br>
=== Längsführung ===
=== Längsführung ===
<br>
In der Abbildung 8 ist das Konzept der Längsführung (Regler) dargestellt. In diesem Modul wird zunächst eine Differenz der Soll-Geschwindigkeit und der Ist-Geschwindigkeit ermittelt. Das Resultat der Berechnung dient als Input des PID-Reglers. Das Signal des Outputs beinhaltet den Wert für die Gaspedalstellung.
<br><br>
[[Datei:Konzept_LaengsFueh.PNG|1000px |thumb| none | Abbildung 8: Konzept Längsführung]]
[[Datei:Konzept_LaengsFueh.PNG|1000px |thumb| none | Abbildung 8: Konzept Längsführung]]
<br><br><br>
<br><br><br>


== Programmierung/Umsetzung ==
== Programmierung/Umsetzung ==
In den nachfolgenden Abbildungen sind die aktuellen Implementierungen der Module "BSFVx - Bestimmung Sollgeschwindigkeit" und "BSFLaengs - Laengsfuehrung" dargestellt. 
<br><br>
[[Datei:Bestimmung_Sollgeschwindigkeit2.PNG|1000px |thumb| none | Abbildung 9: Implementierung des Moduls Bestimmung Soll-Geschwindigkeit]]
[[Datei:Bestimmung_Sollgeschwindigkeit2.PNG|1000px |thumb| none | Abbildung 9: Implementierung des Moduls Bestimmung Soll-Geschwindigkeit]]
<br>
<br>
Zeile 124: Zeile 128:


== Unit-Test ==
== Unit-Test ==
In dem Abschnitt Unit Test, geht es um das Überprüfen der überarbeiteten Module auf dessen Funktion. Um funktionelle Anforderungen abzuprüfen, wurden im Vorfeld ein Testkatalog erstellt.
<br>
<br>


Zeile 153: Zeile 158:
| BsfVx_VxSoll_f64 = 0.75
| BsfVx_VxSoll_f64 = 0.75
| Vollgas
| Vollgas
|  
| BsfVx_VxSoll_f64 = 0.75
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 2
| 2
| Das Fahrzeug fährt bei einer erkannten Linkskurve, mit angepasster reduzierter Geschwindigkeit.
| Das Fahrzeug fährt bei einer erkannten Linkskurve, mit angepasster reduzierter Geschwindigkeit.
| SenKam_StoplinieAbst_f64 = 0, SenKam_StoplinieFlag_bit = 0, SenKam_SpurA_f64 > 0
| SenKam_StoplinieAbst_f64 = 0, SenKam_StoplinieFlag_bit = 0, SenKam_SpurA_f64 > 0
| BsfVx_VxSoll_f64 < 0.75
| 0 < BsfVx_VxSoll_f64 < 0.75
| Bremsen auf angepasste Geschwindigkeit
| Bremsen auf angepasste Geschwindigkeit
|  
| 0 < BsfVx_VxSoll_f64 < 0.75
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 3
| 3
| Das Fahrzeug fährt bei einer erkannten Rechtskurve, mit angepasster reduzierter Geschwindigkeit.
| Das Fahrzeug fährt bei einer erkannten Rechtskurve, mit angepasster reduzierter Geschwindigkeit.
| SenKam_StoplinieAbst_f64 = 0, SenKam_StoplinieFlag_bit = 0, SenKam_SpurA_f64 < 0
| SenKam_StoplinieAbst_f64 = 0, SenKam_StoplinieFlag_bit = 0, SenKam_SpurA_f64 < 0
| BsfVx_VxSoll_f64 < 0.75
| 0 < BsfVx_VxSoll_f64 < 0.75
| Bremsen auf angepasste Geschwindigkeit
| Bremsen auf angepasste Geschwindigkeit
|  
| 0 < BsfVx_VxSoll_f64 < 0.75
|  
| Cebeci
|  
| 23.06.2020
|-
| 4
|
|
|
|
|
|
|
|-
| 5
|
|
|
|
|
|
|
|}
|}


Zeile 218: Zeile 205:
| BsfLaengs_RegelDiff_f64 = 0, BsfLaengs_Gaspedal_Soll_f64 = 0.55
| BsfLaengs_RegelDiff_f64 = 0, BsfLaengs_Gaspedal_Soll_f64 = 0.55
| Vollgas
| Vollgas
|  
| BsfLaengs_Gaspedal_Soll_f64 = 0.55
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 2
| 2
Zeile 227: Zeile 214:
| BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55
| BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55
| Bremsen auf angepasste Geschwindigkeit
| Bremsen auf angepasste Geschwindigkeit
|  
| BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 3
| 3
Zeile 236: Zeile 223:
| BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55
| BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55
| Bremsen auf angepasste Geschwindigkeit
| Bremsen auf angepasste Geschwindigkeit
|  
| BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55
|  
| Cebeci
|  
| 23.06.2020
|-
| 4
|
|
|
|
|
|
|
|-
| 5
|
|
|
|
|
|
|
|}
|}


<br><br>
<br><br>


== Integration - Test ==
== Integrations - Test ==
 
Der Integrations - Test ist nach der Integration der Module, ohne Beanstandung abgeschlossen worden.
 


<br><br>
<br><br>

Aktuelle Version vom 17. Juli 2020, 19:44 Uhr

Autor: Alessio Cebeci
Betreuer: Prof. Schneider


Einleitung

In diesem Artikel geht es um die Anforderungen, die Umsetzung / Optimierung und Testen der Module der Längsregelung.

Anforderungen

In diesem Abschnitt werden die verschiedenen Anforderungen erläutert. Zunächst werden die Anforderungen an das Team Längsregelung erläutert. Anschließend werden die zu erwartenden Funktionalitäten der Längsregelung aufgelistet.


Abbildung 1: Anforderung an die Längsregelung
Abbildung 2: Anforderung an die Längsregelung
Abbildung 3: Anforderung an die Längsregelung


Pflichten des Teams Längsregelung

In Abbildung 1 sind die Pflichten zu sehen, die zum Meilenstein 2 am 25.06.2020 im Bereich Längsregelung zu erledigen sind. Dies beinhaltet das Erstellen eines Testfall-Katalogs, um die Vollständigkeit der Funktionen der Längsregelung zu überprüfen. Des Weiteren folgen vereinzelte Implementierungen und Optimierungen in Abhängigkeit mit anderen Bereichen (Stopplinien-Verhalten, Ausweichen von Hindernissen). Im Anschluss, folgen ein Komponenten-Test (engl. Unit-) und ein Systemtest (engl. Integration-), um die Funktionalität der Module zu überprüfen.

Abbildung 4: Pflichten des Teams Längsregelung


Anforderungen an die Längsregelung (Software)

Folgende funktionale Anforderungen werden an die Längsregelung gestellt:

ID Inhalt Ersteller Datum Geprüft von Datum
1 Das Fahrzeug soll bei gerader Strecke eine maximale Geschwindigkeit von 0,75 m / s erreichen Cebeci 02.06.2020 Cebeci 23.06.2020
2 Das Fahrzeug soll in Kurven abhängig von der Krümmung der Kurve die Geschwindigkeit drosseln Cebeci 02.06.2020 Cebeci 23.06.2020
3 Das Fahrzeug soll schnell beschleunigen und endschleunigen können Cebeci 02.06.2020 Cebeci 23.06.2020
4 Das Fahrzeug soll nach einem Anhaltevorgang wieder Anfahren/ Weiterfahren können Cebeci 02.06.2020 Cebeci 23.06.2020
5 Das Fahrzeug sollte bei einem Überholvorgang beschleunigen können Cebeci 02.06.2020 Cebeci 23.06.2020
6 Das Fahrzeug sollte wenn es nicht Überholen kann vor dem Hindernis stehen bleiben Cebeci 02.06.2020 Cebeci 23.06.2020



Funktionaler Systementwurf / Technischer Systementwurf

In dem folgendem Abschnitt, sind die Module mit deren Schnittstellen für die Bestimmung der Soll-Geschwindigkeit und der Längsführung dargestellt.

Bestimmung der Soll - Geschwindigkeit

In Abbildung 5 sind die Schnittstellen der Bestimmung der Soll-Geschwindigkeit zu sehen.

Abbildung 5: Modul der Bestimmung Soll-Geschwindigkeit


Längsführung

In Abbildung 6 sind die Schnittstellen der Längsführung zu sehen.

Abbildung 6: Modul der Längsführung




Komponentenspezifikation

In diesem Abschnitt wird das Konzept der einzelnen Module in Form eines PAP dargestellt.

Bestimmung der Soll - Geschwindigkeit

Die Abbildung 7 zeigt den Ablauf der Bestimmung der Soll-Geschwindigkeit. Hierbei wird zum einen die Geschwindigkeit aus dem Spurpolynom, also aus der Krümmung der Kurve, abgeleitet. Des Weiteren wird die Soll-Geschwindigkeit von einem Faktor beeinflusst, der von dem Modul "BSF_StopplinienVerhalten" bestimmt wird.

Abbildung 7: Konzept Bestimmung Soll-Geschwindigkeit


Längsführung

In der Abbildung 8 ist das Konzept der Längsführung (Regler) dargestellt. In diesem Modul wird zunächst eine Differenz der Soll-Geschwindigkeit und der Ist-Geschwindigkeit ermittelt. Das Resultat der Berechnung dient als Input des PID-Reglers. Das Signal des Outputs beinhaltet den Wert für die Gaspedalstellung.

Abbildung 8: Konzept Längsführung




Programmierung/Umsetzung

In den nachfolgenden Abbildungen sind die aktuellen Implementierungen der Module "BSFVx - Bestimmung Sollgeschwindigkeit" und "BSFLaengs - Laengsfuehrung" dargestellt.

Abbildung 9: Implementierung des Moduls Bestimmung Soll-Geschwindigkeit


Abbildung 10: Implementierung des Moduls Längsführung




Unit-Test

In dem Abschnitt Unit Test, geht es um das Überprüfen der überarbeiteten Module auf dessen Funktion. Um funktionelle Anforderungen abzuprüfen, wurden im Vorfeld ein Testkatalog erstellt.


Stopplinienverhalten

Da das Modul des Stopplinienverhaltens und dem dazu gehörige Testfall-Katalog von einem anderen Team erstellt wurde, ist der Unit-Test des Moduls dem nachfolgendem Artikel zu entnehmen. Stopplinien-Verhalten

Bestimmung Soll - Geschwindigkeit

Hier werden die verschiedenen entwickelten Komponente getestet. Die Testergebnisse ergaben nach bestimmten Eingaben die in der unteren Tabelle zu sehenden numerische Resultate.

ID Testfallbeschreibung Eingänge(SenKam_StoplinieAbst_f64, SenKam_StoplinieFlag_bit, SenKam_SpurA_f64) Ausgang(BsfVx_VxSoll_f64) Erwartetes Ergebnis Testergebnis Testperson Datum
1 Das Fahrzeug fährt mit maximaler Geschwindigkeit, wenn keine Kurve erkannt wurde. SenKam_StoplinieAbst_f64 = 0, SenKam_StoplinieFlag_bit = 0, SenKam_SpurA_f64 = 0 BsfVx_VxSoll_f64 = 0.75 Vollgas BsfVx_VxSoll_f64 = 0.75 Cebeci 23.06.2020
2 Das Fahrzeug fährt bei einer erkannten Linkskurve, mit angepasster reduzierter Geschwindigkeit. SenKam_StoplinieAbst_f64 = 0, SenKam_StoplinieFlag_bit = 0, SenKam_SpurA_f64 > 0 0 < BsfVx_VxSoll_f64 < 0.75 Bremsen auf angepasste Geschwindigkeit 0 < BsfVx_VxSoll_f64 < 0.75 Cebeci 23.06.2020
3 Das Fahrzeug fährt bei einer erkannten Rechtskurve, mit angepasster reduzierter Geschwindigkeit. SenKam_StoplinieAbst_f64 = 0, SenKam_StoplinieFlag_bit = 0, SenKam_SpurA_f64 < 0 0 < BsfVx_VxSoll_f64 < 0.75 Bremsen auf angepasste Geschwindigkeit 0 < BsfVx_VxSoll_f64 < 0.75 Cebeci 23.06.2020



Längsführung

Hier werden die verschiedenen entwickelten Komponente getestet. Die Testergebnisse ergaben nach bestimmten Eingaben die in der unteren Tabelle zu sehenden numerische Resultate.

ID Testfallbeschreibung Eingänge(Famo_VxSoll_f64, SenVx_vx_K_f64) Ausgang(BsfLaengs_RegelDiff_f64, BsfLaengs_Gaspedal_Soll_f64) Erwartetes Ergebnis Testergebnis Testperson Datum
1 Das Fahrzeug fährt mit maximaler Geschwindigkeit wenn keine Kurve erkannt wurde. Famo_VxSoll_f64 = 0.75, SenVx_vx_K_f64 = 0.75 BsfLaengs_RegelDiff_f64 = 0, BsfLaengs_Gaspedal_Soll_f64 = 0.55 Vollgas BsfLaengs_Gaspedal_Soll_f64 = 0.55 Cebeci 23.06.2020
2 Das Fahrzeug fährt bei einer erkannten Linkskurve, mit angepasster reduzierter Geschwindigkeit. 0.0 < Famo_VxSoll_f64 < 0.75, 0.0 < SenVx_vx_K_f64 < 0.75 BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55 Bremsen auf angepasste Geschwindigkeit BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55 Cebeci 23.06.2020
3 Das Fahrzeug fährt bei einer erkannten Rechtskurve, mit angepasster reduzierter Geschwindigkeit. 0.0 < Famo_VxSoll_f64 < 0.75, 0.0 < SenVx_vx_K_f64 < 0.75 BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55 Bremsen auf angepasste Geschwindigkeit BsfLaengs_RegelDiff_f64 < 0, 0 < BsfLaengs_Gaspedal_Soll_f64 < 0.55 Cebeci 23.06.2020



Integrations - Test

Der Integrations - Test ist nach der Integration der Module, ohne Beanstandung abgeschlossen worden.



Diskussion

Design-Review des Konzept

In Abbildung 9 und 10 die Programmschleife heraus nehmen.

Gelöst am 16.06.2020

Review : Hagen Heuer, 14.06.2020