AF: Fernbedienung (SenFernb)
Autoren: Johann Kismann & Dominik Koenig
Primärsensor
Es besteht bereits ein Artikel zur Fernbedienung, welcher unter folgendem Link aufgerufen werden kann: Fahrzeughardware
Für die genauere Betrachtung der Signale kann auf folgenden Artikel zurückgegriffen werden: AMR 2022
Des Weiteren wird für das Empfangen der Signale der Fernbedienung der Receiver R143F der Firma Futaba verwendet (siehe Abbildung 1).
Messkette
-
Abbildung 2: Messkette-Fernbedienung
Systementwurf
Sensoranschlussplan
Anschluss des Empfängermoduls an Adapterplatine
Der Anschluss des Empfängers (Futaba F143F) an die Adapterplatine lässt sich in Artikel AMR 2022 im Kapitel 3.3.5 einsehen.
Fahrtenregler
Funktion | Kabel-Farbe | DS1104 | Pin J6_Empfänger | |
---|---|---|---|---|
GND | Braun | 4 | ||
VCC-5V | Rot | 5 | ||
PWM-Siganl | Orange | SCAP2 | 6 |
Lenkservo
Funktion | Kabel-Farbe | DS1104 | Pin J6_Empfänger | |
---|---|---|---|---|
GND | Braun | 1 | ||
VCC-5V | Rot | 2 | ||
PWM-Signal | Orange | SCAP1 | 3 |
Sensorblock - SenXXX
Die Signalverarbeitung des empfangenen Signals der Fernbedienung findet in dem SenFernb-Block statt. Dieser ist in Abbildung 2 mit einem roten Rahmen gekennzeichnet. Hierbei zu erkennen ist, dass die Empfangen Signale der dSpace-Karte direkt weiter in den Sensorblock geleitet werden.
In dem SenFernb-Block (siehe Abbildung 3) wird die Verarbeitung der Lenkwinkel- und dem Gaspedal-Signal unterteilt. In dem rot gekennzeichneten Bereich findet die Verarbeitung des Lenkwinkels und im blauen die Verarbeitung der Gespedalstellung statt.
Das Eingangssignal (Eingang[1]) SenRti_PwmBreiteLw_f64 ist ein Pulsweitenmoduliertes-Signal, was mit einer Frequenz (PAR_SenFernb_PwmBreiteLw_PT1Freqeunz [50 Hz]) gefiltert wird. Anschließend wird mithilfe einer Look Up Table Funktion dem Signal ein eindeutiger Winkel zugeordnet, was am Ausgang(11) SenFernb_Lw_f64 entnommen werden kann. Von dem Ausgang(1) wird das gefilterte Signal (pulsweitenmoduliert) direkt weiter in den Aktor-Ansteuerungsblock geschickt.
Das Eingangssignal (Eingang[3]) SenRti_PwmBreiteGas_f64 ist ebenfalls ein Pulsweitenmoduliertes Signal, was die Gaspedalstellung der Fernbedienung übermittelt. Es wird mit dem Filter "Filterung PWM Signal Gas" bearbeitet und an den Ausgang(10) SenFernb_PwmBreiteGas_f64 gesendet und führt anschließend in den Aktor-Ansteuerungsblock.
Die weiteren Bestandteile des SenFernb - Fernbedienung Block dienen der Erkennung eines Eingriffes an der Fernbedienung, womit autonom laufende Programm unterbrochen werden können.
-
Abbildung 5: SenFernb - Fernbedienung
Praktische Aufgabe
Damit die Signale der Fernbedienung und deren Weiterverarbeitung geprüft werden können, werden mittels Control Desk Messungen aufgenommen. So können die gemessenen Werte mit Matlab visualisiert und anschließend mit den Referenzwerten verglichen werden. Die entsprechende Bedienung des Control Desks lässt sich im Artikel Fahrzeugsoftware unter Punkt 4 auffinden.
Zunächst wird der Lenkwinkel auf seine Richtigkeit geprüft. Dabei werden zuerst die Referenzwerte aufgenommen, indem die Vorderachse des autonomen Fahrzeuges auf ein Blatt Papier gestellt wird. Darauf werden die drei Positionen geradeaus, Volleinschlag nach links und Volleinschlag nach rechts jeweils parallel zur Fahrtrichtung aufgezeichnet (siehe Abbildung 6). Danach können dann die maximalen Lenkwinkel beider Vorderräder abgemessen werden und diese gelten dann ebenfalls als Referenzwerte, wobei geprüft werden soll, ob diese eingehalten, überschritten oder auch unterschritten werden.
Nachdem diese Werte aufgefasst wurden, wird die Messung der realen Messwerte des Lenkwinkels aufgezeichnet. Dabei wird zuerst vollständig nach rechts und unmittelbar danach nach vollständig nach links eingeschlagen. Währenddessen werden die Parameter SenRti_PwmBreiteLw_f64, SenFernb_PwmBreiteLw_f64 und SenFernb_Lw_f64 zyklisch abgefragt und in einer .mat Datei gespeichert. Diese kann anschließend mit Matlab geöffnet und visualisiert werden, damit daraus ermittelt werden kann, ob die Referenzwerte erreicht wurden oder nicht.
Bei dem PWM-Signal für das Gas wird keine Referenzmessung durchgeführt, da nur ermittelt werden soll, ob das Fahrzeug bei der jeweiligen Stellung des Gashebels die entsprechende Fahrtrichtung ausführt. Wird der Gashebel zu den Anwender hin gezogen, soll das autonome Fahrzeug geradeaus fahren. Wird dieser jedoch entgegengesetzt vom Anwender weg gedrückt, so soll es rückwärts fahren.
Signalanalyse
Für die Signalanalyse wurden zwei Messungen durchgeführt und in der Abbildung 7 aufgeführt.
In der ersten Messung wurde das Lenkwinkelsignal aufgezeichnet. Hierbei wurde zuerst der Radanschlag nach rechts und daraufhin nach links absolviert. Bei einem Volleinschlag nach rechts wird ein Duty Cycle von 7% (0.07) und nach links von 12,3% (0.1228) übermittelt. In dem Funktionsplot "Lenkwinkel PWM Aufbereitung" (links oben) ist deutlich zu erkennen, dass das Gefilterte- und das Ungefilterte-Signal keine/kaum eine identifizierbare Abweichung aufweist.
In dem Funktionsplot "Lenkwinkel nach Look Up Table" (links unten) wird die Verarbeitung des pulsweitenmodulierten Lenkwinkelsignals aufgeführt. Hierbei wurde dem Eingangssignal ein definierter Lenkwinkel in Grad zugewiesen.
Fahrrichtung | Duty Cycle in % | Lenkwinkel in Grad | Referenz-Wert |
---|---|---|---|
Geradeaus | 0.09 | 5.3 | 0 |
Rechts | 0.07 | 24 | 24 |
Links | 0.12 | -17.5 | 19 |
In Tabelle 3 wurden die Werte für die Referenz-Wert-Spalte aus der Abbildung 7 entnommen.
In dem Funktionsplot "Duty Cycle Gas" (rechts oben) wird das pulsweitenmodulierte Signal von einem Vorwärts- und anschließend Rückwärtssignal gezeigt.
Die Steuerung für die Vorwärtsfahrt erfolgt über einen Duty Cycle Bereich von 6,5% (0.065) bis hin zu 9,2% (0.092). Für die Rückwärtsfahrt wird der Bereich von 9,2% (0.092) bis zu 12% (0.12) verwendet.
Hierbei repräsentiert der Duty Cycle von 9,2% (0.092) ein Stoppen des Fahrzeuges.
Liste offener Punkte (LOP)
# | Problem | Analyse | Maßnahme | Freigabe | Wirksamkeit | Dokumentation |
---|---|---|---|---|---|---|
1 | Lenkwinkel-Signal für Volleinschlag links, rechts und geradeaus abweichend | Veraltete Werte | Aktuelle Parameter erfassen und anpassen/dokumentieren | |||
2 | Abweichende Messwerte bei den Werten des Lenk-Signals in Artikel AMR 2022 erfasst | Möglicherweise durch Komponenten-Wechsel | Nachmessung der Signale mit Hilfe eines Oszilloskops | |||
3 | Look Up Tabelle für Lenkwinkel abweichend | Veraltete Werte | Anpassung der Parameter für die Look Up Tabelle | |||
4 | PT1-Filter für Lenkwinkel überflüssig | Filter kaum/keine Auswirkung auf das Ausgangssignal | Filter entfernen | |||
5 | Filter für PWM-Signal Gas überflüssig | Filter kaum/keine Auswirkung auf das Ausgangssignal | Filter entfernen | |||
6 | SenFernb ist unordentlich | Unübersichtlichkeit kann zu Fehlern führen | SenFernb aufräumen | x | Dokumentation | |
7 | Signalnamen im Modell fehlen | Analyse wird unübersichtlich | Signalnamen vergeben | x | Dokumentation | |
8 | PWM zu LW Lookup beschreibt Gerade | Magic Numbers | Geradengleichung mit Parametern aus Parameterdatei | x | Dokumentation | |
9 | Lenkwinkel unsymmetrisch | Servo falsch eingestellt | Servo symmetrisch einstellen | x | Dokumentation | |
10 | Servos haben unterschiedlichen Arbeitsbereich | Analyse notwendig! | ||||
11 | Lenksignal hat Spikes, Geschwindigkeit nicht | Verursacht durch das Drehmoment des plötzlichen Loslassens des Lenkwinkeldrehrades | Keine, da die Aktorik erst ab einem bestimmten Offset reagiert, welches höher als die Spikes ist | |||
12 | Verzögerter Sprung bei 8000 | Verursacht durch den angewendeten Filter |
Legende
- Problem: Was genau ist das Problem? Wo tritt das Problem auf? Wie zeigt sich das Problem? Wann tritt das Problem auf? Warum ist es ein Problem?
- Analyse: Was ist die Ursache des Problems?
- Maßnahme: Maßnahme zur Beseitigung der identifizierten Ursache
- Freigabe: Abstimmung der Maßnahme mit Prof. Schneider
- Wirksamkeit: Beschreibung Nachweis Wirksamkeit (Dummy-Prüfung, Versuche, Kurzzeitfähigkeit, Kennzahlen, Audit, etc.)
- Dokumentation: Doku der Lösung im HSHL-Wiki
Dokumentationen der LOP
6: SenFernb ist unordentlich
Das Simulink-Subsystem "SenFernb - Fernbedienung" wurde so angepasst, dass die Check-Abfrage, ob die Fernbedienung eingeschaltet ist, in ein separates Subsystem mit den entsprechenden Ein- und Ausgängen eingeordnet wurde. Zudem wurden die jeweiligen Filter des Lenkwinkels und des PWM-Signals des Gases entfernt, da diese, wie bereits beschrieben, wenig/keinen Einfluss auf die Messwerte haben. Dies wurde geprüft, indem alte aufgenommene Messwerte in das Workspace geladen und anschließend als Eingangswerte verwendet wurden. Durch das Visualisieren in einem Scope konnte dann durch das Vergleichen der gefilterten und ungefilterten Messkurven festgestellt werden, dass die aufgestellte Annahme richtig war und die Filter überflüssig sind. Letztlich wurden die einzelnen Blöcke so verschoben, dass möglichst wenig Signale gekreuzt werden, um so ein leichteres und schnelleres Verständnis zu ermöglichen. Der letzte Stand des Subsystems lässt sich aus Abbildung 8 entnehmen.
7: Signalnamen im Modell fehlen
Es wurden alle nötigen Signalnamen hinzugefügt und entsprechend der Namenskonvention angepasst. Dies lässt sich in Abbildung 8 einsehen.
8: PWM zu LW Lookup beschreibt Gerade
Die Look Up Tabelle aus Abbildung 8 ist für die Konvertierung des PWM-Signals des Lenkwinkel in einen real umsetzbaren Lenkwinkel zuständig. Für die sonst manuell festgelegten Werte wurden Variablen hinzugefügt (siehe Abbildung 9). Diese sind in dem Ordner parameter in dem Matlab-Datei "param_SEN_online.m" angelegt und nach den aktuellen Messungen initialisiert (siehe Abbildung 10). Somit werden diese Werte als Variablen der Look Up Tabelle übergeben und können in Zukunft, falls nötig, leichter angepasst werden.
Die gewählten Werte für die Variablen wurden aus den Abbildungen und der Tabelle des folgenden Artikels entnommen: Lenk-Signal
Die Messwerte basieren auf dem Grundlegenden Servo-Betrieb. Grundsätzlich erfolgt die Abtrage des Signal mit einer Frequenz von 50 Hertz. Damit der Servo-Motor daraus seine Position ermitteln kann, wird die "High" Phase des Signal gemessen. Hierbei wird eine eine High Zeit von 1ms als Mittelstellung, 0.5ms als Linksanschlag und 1.5ms als Rechtsanschlag definiert. Diese High-Phasen werden über den Duty-Cycle angeben. Freqeunz von 50Hertz => 0.02s Beispiel: 1ms High-Signal => 5% Duty-Cycle
-
Abbildung 9: Look Up Table
-
Abbildung 10: Parameter Einstellung Look Up Table
9: Lenkwinkel unsymmetrisch
Zusammenfassung
Die Fernbedienung funktioniert einwandfrei und wird von dem autonomen Fahrzeug korrekt erkannt. Die Signale werden ebenfalls korrekt durchgeführt, jedoch müssen bei der Verarbeitung der Signale, wie bereits in Tabelle 3 beschrieben, gewisse Parameter aktualisiert werden.
Dokumentation in SVN
Sowohl die Messdaten, als auch die Auswertung in Matlab können unter folgendem Link in SVN eingesehen werden: Matlab-Messdaten/Auswertung
→ zurück zum Hauptartikel: Praktikum SDE | SDE-Team 2023/24 | Lernzielkontrolle 1