AF: Fernbedienung (SenFernb): Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 131: Zeile 131:
| style = "text-align: center"| 0,12
| style = "text-align: center"| 0,12
| style = "text-align: center"| -17,5
| style = "text-align: center"| -17,5
| style = "text-align: center"| 19
| style = "text-align: center"| -19
|}
|}



Version vom 16. Mai 2023, 14:39 Uhr

Autoren: Johann Kismann & Dominik Koenig

Abbildung 1: Fernbedienung+Receiver-Futaba R143F

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

Systementwurf

Sensoranschlussplan

Abbildung 3: J6-Empfängerstecker

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

Tabelle 1: Anschlussplan Fahrtenregler
Funktion Kabel-Farbe DS1104 Pin J6_Empfänger
GND   Braun 4
VCC-5V   Rot 5
PWM-Siganl   Orange SCAP2 6

Lenkservo

Tabelle 2: Anschlussplan Lenkservo
Funktion Kabel-Farbe DS1104 Pin J6_Empfänger
GND   Braun 1
VCC-5V   Rot 2
PWM-Signal   Orange SCAP1 3

Sensorblock - SenFernb

Abbildung 4: SEN_ausg

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.


Praktische Aufgabe

Abbildung 6: Referenzmessung Lenkwinkel

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

Abbildung 7: Darstellung der Messkurven

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.

Tabelle 3: Lenkwinkel-Messwerte
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)

Tabelle 3: Liste offener Punkte (LOP)
# Problem Analyse Maßnahme Freigabe Wirksamkeit Dokumentation
1 PT1-Filter für Lenkwinkel überflüssig Filter kaum/keine Auswirkung auf das Ausgangssignal Filter entfernen
2 SenFernb ist unordentlich Unübersichtlichkeit kann zu Fehlern führen SenFernb aufräumen x Dokumentation
3 Signalnamen im Modell fehlen Analyse wird unübersichtlich Signalnamen vergeben x Dokumentation
4 PWM zu LW Lookup beschreibt Gerade Magic Numbers Geradengleichung mit Parametern aus Parameterdatei x Dokumentation
5 Lenkwinkel unsymmetrisch Servo falsch eingestellt Servo symmetrisch einstellen x Dokumentation
6 Servos haben unterschiedlichen Arbeitsbereich Analyse notwendig!
7 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 Dokumentation
8 Verzögerter Sprung bei 8000 Verursacht durch den angewendeten Filter Filter entfernen

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

2: SenFernb ist unordentlich

Abbildung 8: SenFernb Aufgeraeumt

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.

3: 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.

4: 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 den grundlegenden Servo-Betrieb. Grundsätzlich erfolgt die Abfrage des Signals 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 1 ms als Mittelstellung, 0.5 ms als voller Linkseinschlag und 1.5 ms als voller Rechtseinschlag definiert. Diese High-Phasen werden über den Duty-Cycle angeben.

Freqeunz von 50 Hertz => 0.02 s

Beispiel: 1 ms High-Signal => 5% Duty-Cycle

5: Lenkwinkel unsymmetrisch

Die unsymmetrische Lenkwinkelverteilung erstand durch einen Fehler bei der Referenz-Messung. In der Messung wurde die Mittelstellung über eine autonome Funktion überschrieben weil der Eingriff der Fernbedienung nicht erkannt wurde. Der Eingriff wird über einen Frequenz-Check bestimmt. Dieser Bereich wird eingegrenzt durch die Variablen "UpperBound" und "LowerBound" aus der Abbildung 11. Innerhalb der Abbildung kann mit dem Plot erkannt werden, dass soweit die Frequenz innerhalb des Bereiches ist, eine vorgegebene Frequenz angenommen wird und erst ab dem Verlassen die Frequenz der Fernbedienung angenommen wird. Diese Frequenz soll für die Geradeausfahrt gelten, doch dabei hat das Fahrzeug durchgehend einen leichten Drall nach links. Daher ist der Ausgangspunkt falsch eingestellt, wodurch sich ebenfalls die Spannbreite für eine Links- und Rechtslenkung unterscheidet und somit eine Asymmetrie beim Lenkverhalten entsteht.

8: Verzögerter Sprung bei 8000

Abbildung 12: Gas-Filter

Der Sprung erfolgt nur bei der Rückwärtsfahrt aufgrund des vorhanden Filter "Filterung PWM Signal Gas" aus Abbildung 5: SenFernb - Fernbedienung worin das Signal 3 SenRti_PwmBreiteGas_f64 einfließt. Der Filter Aufbau ist in Abbildung 12: Gas-Filter mit seinen Parameter aufgeführt. Dieser Filter sorgt für eine Verzögerung bei dem weiterleiten des PWM-Signal des Gas-Pedal-Servo. Diese Verzögerung beträgt 0,3 Sekunden und tritt ein, sobald das Eingangssignal zwischen einem Duty Cycle von 0,093 und 0,094 liegt. Aufgrund der Nullstellung die ein Duty Cycle von 0,0928 besitzt, wird der Filterbereich nur bei einer gewollten Rückwärtsfahrt durchgequert und sorgt für den Sprung im Signal. Für eine Vorwärtsfahrt wird der Duty Cycle kleiner, bis hin zu 0.065, womit er den Bereich nicht durchquert und keine Verzögerung bei der Vorwärtsfahrt auftritt. Sollte die Verzögerung für beide Richtungen gewünscht sein, muss die Untere Grenze angepasst werden und mit in das Überarbeitet Layout Abbildung 8: SenFernb Aufgeraeumt hinzugefügt werden. Ist die Verzögerung in keine Richtung gewollt, kann die Filterung entfallen und das aufgeräumte Layout, wie vorgeschlagen, übernommen werden

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