Stopplinien-Verhalten: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 154: Zeile 154:
|-
|-
| 3
| 3
| Das Fahrzeug muss vor der Stopplinie immer langsamer fahren.  
| Das Fahrzeug fährt weiter, wenn keine Stopplinie erkannt wurde.  
| SenKam_StoplinienFlag_bit = 0, SenKam_StoplinienAbst_f64 existiert
| SenKam_StoplinienFlag_bit = 0, SenKam_StoplinienAbst_f64 existiert
| 1
| 1
Zeile 163: Zeile 163:
|-
|-
| 4
| 4
| Bei SenKam_StoplinienFlag_bit = 1 und  SenKam_StoplinienAbst_f64>15 cm
| Das Fahrzeug muss vor der Stopplinie immer langsamer fahren.
|
| SenKam_StoplinienFlag_bit = 1, SenKam_StoplinienAbst_f64>10
|  
| 0<<code>BSFVx_Faktor_i8</code><1
| Bremsen   
| Bremsen   
|  
|  

Version vom 15. November 2019, 13:55 Uhr

→ zurück zur Übersicht: SDE-Team_2019/20


Bearbeiter: Yanick Christian Tchenko
Betreuer: Prof. Schneider


Aufgabe

Bearbeiten Sie nachfolgende Aufgaben bis zum Abgabetermin und stellen Sie Ihre Lösung Prof. Schneider vor. Gehen Sie systematisch in den in SDE vermittelten Schritten

  1. Einleitung
  2. Anforderungen
  3. Funktionaler Systementwurf / Technischer Systementwurf
  4. Komponentenspezifikation
  5. Programmierung
  6. Komponententest
  7. Zusammenfassung
  8. Link zum Quelltext in SVN

vor.

Einleitung

In dieser Aufgabestellung ist die Zielsetzung, das Verhalten des Fahrzeugs an Stopplinien entsprechend den Anforderungen im Lastenheft zu implementieren. Das Fahrzeug muss nach dem Lastenheft im Falle der Erkennung einer Haltelinie immer langsamer fahren. Befindet sich es an der Stopplinie, dann muss es zwei Sekunden halten und dann weiterfahren

Anforderungen

Im Lastenheft des Projets Carolo Cup wird die Steuerung des Verhaltens des Fahrzeugs an der Stopplinie genau so wie in der folgenden Abbildung gefordert:
Anforderungen
Es entstand demnach das untere Pflichtenheft:

Zu den Anforderungen wurden die in der unteren Tabelle zusammengefassten Arbeitspunkte arrangiert.

ID Inhalt Ersteller Datum Geprüft von Datum
1 Trifft das Fahrzeug bei seiner Rundfahrt an eine Stopp-Kreuzung so muss es 10cm vor der Stopplinie anhalten. Christian Tchenko 25.10.2019 Prof. Schneider 08.11.2019
2 Änderung des Faktors ( BSFVx_Faktor_i8 ) in Abhängigkeit des gemessenen Abstands. Christian Tchenko 25.10.2019 Prof. Schneider 08.11.2019
3 Das Fahrzeug muss 2 Sekunden an der Stopplinie anhalten. Christian Tchenko 25.10.2019 Prof. Schneider 08.11.2019
4 Das Fahrzeug muss vor der Stopplinie immer langsamer fahren. Christian Tchenko 25.10.2019 Prof. Schneider 08.11.2019
4 Wird keine Stopplinie erkannt, dann muss das Fahrzeug weiterfahren Christian Tchenko 25.10.2019 Prof. Schneider 08.11.2019
5 Die Programmierung erfolgt in MATLAB/Simulink Christian Tchenko 25.10.2019 Prof. Schneider 08.11.2019

Funktionaler Systementwurf / Technischer Systementwurf

Technischer Systementwurf zu Bearbeitung des Fahrzeugsverhaltens an der Stopplinie.

Im Rahmen der bisherigen Aufgaben wird das Verhalten hauptsächlich aufs Geradefahrszenario berücksichtigt. ES wird im Verhältnis zu den ermittelten Informationen über die Präsenz einer Stopplinie sowie deren Abstand zu Fahrzeug ein Geschwindigkeitsänderungsfaktor als Resultat gelifert. Das Modell wird beruht auf einer Funktion Stopplinien_Verhalten, in der das Verhalten des Fahrzeug an und vor und an den Stopplinien bestimmt wird.

Konzept

Konzept zur Implementierung
Spezifikation des Fahrtverhaltens

Als Aufgabenstellung ein MATLAB/Simulink-Block für das Verhalten an Stopplinien gemäß Lastenheft zu entwickeln. Dieser Block muss in Simulation und im realen Fahrzeug lauffähig sein.


Eingänge:

  • SenKam_StoplinieFlag_bit
  • SenKam_StoplinieAbst_f64

Ausgang:

  • BSFVx_Faktor_i8

Im Fall einer Stopplinienerkennung, wobei sich das Fahrzeug noch nicht an der Stopplinie befindet, wird die Geschwindigkeit wie folgend berechnet.

  • Der Zustand des Fahrzeugs, genauso wie der maximale Abstand, die eine Zeitvariable und der Faktor werden im ersten Programmdurchlauf initialisiert. Der Zustand wird an der Stelle als Fahren-Zustand durch durch die Bezeichnung halten = false gesetzt.
  • Im Falle einer Objekt- bzw. Stopplinienerkenung, also SenKam_StoplinieFlag_bit gesetzt, dann wird bei der ersten Bitsetztung der geliferte SenKam_StoplinieAbst_f64 als maximaler Abstand festgelegt. Bei weiteren Bitsetzungen ändert sich die Geschwindigkeit proportional zu dem Faktor. Letzterer lässt sich wie folgend bestimmen:
  1. Faktor = Abstand/Abstandmax und
  2. Geschwindigkeit = Faktor x Soll_Geschwindigkeit
  • Bei einer Annäherung bis zu einem Abstand von 15 cm, wird der Faktor zu Null gesetzt, und der Zustand entsprechend, wie folgt, geändert halten = true . An der Stelle kommt die Zeitvariable in Frage. Es wird für eine Ausführung der Fortfahrtfunktion eine Periode von ca. 0,005s, also 5 ms, gebraucht. Im Falle einer Haltung erfolgen c.a 400 Ausführungen, bei denen die Faktor und entsprechend die Geschwindigkeit auf Null gesetzt werden. Dies bedeutet, dass das Fahrzeug während einer Dauer von ca. 400 x 0,005s = 2s hält.


  1. Das Bit SenKam_StoplinieFlag_bit aktiviert den Simulink Block.
  2. Vor der Stopplinie wird BSFVx_Faktor_i8 abhängig von SenKam_StoplinieAbst_f64 linear von 1 auf 0 runtergeramt.
  3. Standphase entsprechend des Lastenheftes.
  4. Überprüfung ob die Straße frei ist.
  5. Bei freier Straße BSFVx_Faktor_i8=1 setzen.

Vorstellung

Für die Vorstellung des Ergebnisse wurde der 18.10.19 12:30 Uhr vereinbart.

Komponententest

Hier werden die verschiedenen entwickelten Komponente getestet.

ID Testfallbeschreibung Eingänge(SenKam_StoplinieAbst_f64, SenKam_StoplinieFlag_bit) Ausgang(BSFVx_Faktor_i8) Erwartetes Ergebnis Testergebnis Testperson Datum
1 Das Fahrzeug muss vor der Stopplinie immer langsamer fahren. SenKam_StoplinienFlag_bit = 0, SenKam_StoplinienAbst_f64 = 0 1 Vollgas 1 Prof. Schneider xx.11.2019
2 Trifft das Fahrzeug bei seiner Rundfahrt an eine Stopp-Kreuzung so muss es 10cm vor der Stopplinie anhalten SenKam_StoplinienFlag_bit = 1, SenKam_StoplinienAbst_f64 <= 10% Max_Abstand 0 Fahrzeug Stoppt 0 Prof. Schneider xx.11.2019
3 Das Fahrzeug fährt weiter, wenn keine Stopplinie erkannt wurde. SenKam_StoplinienFlag_bit = 0, SenKam_StoplinienAbst_f64 existiert 1 Nicht plausibeler Fall. (Da keine Stopplinie erkannt wurde) 1 Prof. Schneider xx.11.2019
4 Das Fahrzeug muss vor der Stopplinie immer langsamer fahren. SenKam_StoplinienFlag_bit = 1, SenKam_StoplinienAbst_f64>10 0<BSFVx_Faktor_i8<1 Bremsen Prof. Schneider xx.11.2019

Fazit

Das Modell ist fertig bearbeitet worden und funktioniert gemäß der Anforderungen einwandfrei. Die Entwicklung weiterer Algorithmen ist demmnach möglich, die im Zusammenhang mit dem modellierten Anteil arbeiten. Noch zu erledigen ist die Integration des Software ins reale Fahrzeug, wobei zur reisbungslosen Funktionalität des Modells zusammen mit den anderen Projektkompartimenten einige Anpassungen bezüglich der Kennlinienerkennung noch optimiert werden müssen! Dies umfasst eine der Hauptaufgaben des Teams zur Objekterkennung.

Simulationsergebnis unter Berücksichtigung unterschiedlicher Testfälle.

Beispielartikel



→ zurück zur Übersicht: SDE-Team_2019/20