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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(104 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:


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


== Anforderungen ==
== 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.
<br>




Folgende Anforderungen wurden an die Karte gestellt:
[[Datei:REQ10.2300.PNG|650px |thumb| none | Abbildung 1: Anforderung an die Längsregelung]]
 
[[Datei:REQ10_3275.PNG|650px |thumb| none | Abbildung 2: Anforderung an die Längsregelung]]
 
[[Datei:REQ10_3270.PNG|650px |thumb| none | 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.   
<br><br>
[[Datei:Pflichtenheft_MS2_Cebeci.PNG|1300px |thumb| none | Abbildung 4: Pflichten des Teams Längsregelung]]
<br>
 
=== Anforderungen an die Längsregelung (Software) ===
 
Folgende funktionale Anforderungen werden an die Längsregelung gestellt:
<br><br>
 
{| class="mw-datatable"
{| class="mw-datatable"
! style="font-weight: bold;" | ID
! style="font-weight: bold;" | ID
Zeile 19: Zeile 40:
| 1
| 1
| Das Fahrzeug soll bei gerader Strecke eine maximale Geschwindigkeit von 0,75 m / s erreichen
| Das Fahrzeug soll bei gerader Strecke eine maximale Geschwindigkeit von 0,75 m / s erreichen
|  
| Cebeci
|  
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 2
| 2
| Das Fahrzeug soll in Kurven  abhängig von der Krümmung der Kurve  die Geschwindigkeit drosseln
| 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
| 3
| Das Fahrzeug soll schnell beschleunigen und endschleunigen können
| Das Fahrzeug soll schnell beschleunigen und endschleunigen können
|  
| Cebeci
|  
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 4
| 4
| Das Fahrzeug soll nach einem Anhaltevorgang wieder Anfahren/ Weiterfahren können
| Das Fahrzeug soll nach einem Anhaltevorgang wieder Anfahren/ Weiterfahren können
|  
| Cebeci
|  
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 5
| 5
| Das Fahrzeug sollte bei einem Überholvorgang beschleunigen können
| Das Fahrzeug sollte bei einem Überholvorgang beschleunigen können
|  
| Cebeci
|  
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|-
|-
| 6
| 6
| Das Fahrzeug sollte wenn es nicht Überholen kann vor dem Hindernis stehen bleiben
| Das Fahrzeug sollte wenn es nicht Überholen kann vor dem Hindernis stehen bleiben
|  
| Cebeci
|  
| 02.06.2020
|  
| Cebeci
|  
| 23.06.2020
|}
 
<br><br>
 
== 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. <br><br>
 
=== Bestimmung der Soll - Geschwindigkeit ===
In Abbildung 5 sind die Schnittstellen der Bestimmung der Soll-Geschwindigkeit zu sehen.
<br>
[[Datei:Modul_BSFVx_Bestimmung_Sollgeschwindigkeit.PNG|750px |thumb| none | Abbildung 5: Modul der Bestimmung Soll-Geschwindigkeit]]
<br>
 
=== Längsführung ===
In Abbildung 6 sind die Schnittstellen der Längsführung zu sehen.
<br>
[[Datei:Modul_BSFLaengs_Laengsfuehrung.PNG|750px |thumb| none | Abbildung 6: Modul der Längsführung]]
<br>
 
<br><br>
 
== Komponentenspezifikation ==
In diesem Abschnitt wird das Konzept der einzelnen Module in Form eines PAP dargestellt.
<br>
=== 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>
[[Datei:Konzept_Best_Vsoll.PNG|1000px |thumb| none | Abbildung 7: Konzept Bestimmung Soll-Geschwindigkeit]]
<br>
 
=== 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.
<br><br>
[[Datei:Konzept_LaengsFueh.PNG|1000px |thumb| none | Abbildung 8: Konzept Längsführung]]
<br><br><br>
 
== 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]]
<br>
 
[[Datei:Laengsfuehrungsregler.PNG|1000px |thumb| none | Abbildung 10: Implementierung des Moduls Längsführung]]
<br>
 
<br><br>
 
== 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>
 
 
=== 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 | Stopplinien-Verhalten]]
<br><br>
 
=== 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.
<br><br>
 
{| class="mw-datatable"
! style="font-weight: bold;" | ID
! style="font-weight: bold;" | Testfallbeschreibung
! style="font-weight: bold;" | Eingänge(<code>SenKam_StoplinieAbst_f64</code>, <code>SenKam_StoplinieFlag_bit</code>, <code> SenKam_SpurA_f64</code>)
! style="font-weight: bold;" | Ausgang(<code>BsfVx_VxSoll_f64</code>)
! style="font-weight: bold;" | Erwartetes Ergebnis
! style="font-weight: bold;" | Testergebnis
! style="font-weight: bold;" | Testperson
! style="font-weight: bold;" | 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
|}
|}


== Implementierung ==  
<br><br>
 
=== 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.
<br><br>
 
{| class="mw-datatable"
! style="font-weight: bold;" | ID
! style="font-weight: bold;" | Testfallbeschreibung
! style="font-weight: bold;" | Eingänge(<code>Famo_VxSoll_f64</code>, <code>SenVx_vx_K_f64</code>)
! style="font-weight: bold;" | Ausgang(<code>BsfLaengs_RegelDiff_f64</code>, <code>BsfLaengs_Gaspedal_Soll_f64</code>)
! style="font-weight: bold;" | Erwartetes Ergebnis
! style="font-weight: bold;" | Testergebnis
! style="font-weight: bold;" | Testperson
! style="font-weight: bold;" | 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
|}
 
<br><br>
 
== Integrations - Test ==
Der Integrations - Test ist nach der Integration der Module, ohne Beanstandung abgeschlossen worden.
 
<br><br>
 
== Diskussion ==
''' Design-Review des Konzept '''
 
In Abbildung 9 und 10 die Programmschleife heraus nehmen.


== Komponententest ==
Gelöst am 16.06.2020


== Systemtest ==
Review : Hagen Heuer, 14.06.2020

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