AuF - Antrieb und Fernbedienung

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Einleitung

In diesem Artikel werden Arbeiten dokumentiert, welche im Rahmen des SDE Praktikums im SS2014, des MTR Studienganges, durchgeführt wurden. Im Speziellen wird hier auf die Funktion der Fernbedienung eingegangen, durch welche es möglich ist, einen autonomen Ablauf zu unterbrechen und das Fahrzeug manuell zu steuern. Das Team "AuF" besteht aus den Studenten Benjamin Brüne und Alexander Haneke.

Anforderungen des Lastenheftes

Die folgenden Aufgaben sind ein Ausschnitt aus dem Lastenheft, welches vorgegeben ist, und stellt die Anforderungen dar, welche über das Semester erfüllt werden sollen.

Ausgangssituation

Vor Beginn des Semesters war das Fahrzeug durch Vorarbeiten früherer Semester in folgendem Zustand:

- Das Fahrzeug war mit einem Empfänger für die Fernbedienungssingale ausgestattet.

- Eine Reaktion auf Fernbedienungssignale war teilweise gegeben.

- Das Lenken per Fernbedienung war bereits eingeschränkt möglich.

- Auf das Gasgeben per Fernbedienung reagierte das Fahrzeug nicht.

Projektplan

Um die Umsetzung der Aufgaben zu planen wurde ein Projektplan erstellt,damit der Fortschritt, sowie die einhaltung des Zeitplans im Überblick ist.

Projektplan AuF
































Projekttagebuch

KW 18:


Einarbeitung in die Vorarbeiten des letzten Semesters. Dazu zählte:


1.) Einarbeitung in das Matlab-Simulinkmodell

2.) Einarbeitung in das dSpace ControlDesk Modell

3.) Kennenlernen der Fernbedienungsfunktion

4.) Auslesen der Fernbedienungssignale am Empfänger mit Hilfe eines Oszilloskops



KW 19:

5.) Verfolgung der Signalflüsse von Lenkwinkel und Gas

6.) Berichtigung des falschen Signalflusses Gas

7.) Verlagerung der Schleichfahrtfunktion in den Aktorblock

8.) Anpassung der Begrenzungsparameter für die Schleichfahrtfunktion



KW 20:

9.) Erstellung einer geeigneten Diagnoseseite in ControlDesk

10.) Dokumentation und Beschriftung Simulink

11.) Anpassung der Begrenzungsparameter entfernt, durch LookUpTable ersetzt



KW 21:

Spezialworkshop Fernbedienung



KW 22:

12.) Linearisierung der Geschwindigkeit

13.) Signalfilterung Fernbedienung (Angeschaltet)

14.) Simulinkmodell bereinigt



KW 23:

15.) Notstopfunktion im Totbereich (LookUpTable)

16.) Geradestellung der Spur (Software)

17.) Teilsingalfilterung Fernbedienung (Ausgeschaltet)



KW 25:

18.) Dokumentation im Wiki

19.) ControlDeskseite überarbeiten

Optimierung der Fernbedienungsfunktionen

Berichtigung des Signalwegs

Bei der Verfolgung der für die Fernbedienung relevanten Signale im Simulinkmodell fiel auf, dass das Signal SenRti_PwmBreiteGas_f64 nicht zum Aktor durchgeleitet wird. Fälschlicherweise wurde das Signal SenRti_PwmFreqGas_f64 mit dem Aktor verbunden, sodass eine Ansteuerung des Antriebs mit der Fernbedienung unmöglich war. Dieser Fehler wurde durch die Neuverlegung des Signals behoben, sodass das Signal ordnungsgemäß am Aktor ankommt und der Antrieb durch die Fernbedienung bedient werden kann.



Implementierung von Test- und Wettbewerbsmodi

LookUpTable der Fernbedienung

Das Fahrzeug soll über die Fernbedienung in 2 Modi gesteuert werden: - Ein Wettbewerbsmodus, in dem das Fahrzeug bei Eingriff der Fernbedienung nur 0,3 m/s in beide Richtungen fahren kann. - Ein Testmodus, in dem das Fahrzeug bei Eingriff der Fernbedienung 1,0 m/s in beide Richtungen fahren kann.

Um das zu ermöglichen, wurde zunächst die Variable PAR_Schelichmodus in die start.m-Datei implementiert. Diese Variable schaltet einen Schalter im Simulinkmodell, der zwischen beiden Modi schalten soll. Für beide Modi wurden dann jeweils Saturation-Blöcke eingefügt, welche das Signal nach oben und unten begrenzen.

Im Weiteren stellte sich raus, dass die Steuerung über die Fernbedienung nicht stufenlos funktioniert, sondern lediglich eine An/Aus-Funktion bietet. Im Testmodus sollte das Fahrzeug jedoch auch stufenlos zu beschleunigen sein. Um das zu erreichen, wurde anstelle des Saturation-Blocks eine Look-Up-Table implementiert und so dimensioniert, dass das Fernbedienungssignal das Fahrzeug stufenlos beschleunigen kann.

Da das Fahrzeug bei der Fahrt durch den Regler mit der Fernbedienung gestoppt werden soll, wurde sich darauf geeinigt, dass um die Nullstellung der Fernbedienung ein Bereich freigelegt wird, in dem das Auto zwar durch die Fernbedienung angesprochen wird, aber nicht fährt. So ist es möglich, das Fahrzeug mit der Fernbedienung zum Stehen zu kriegen.

Anschließend wurde auch eine LookUpTable in den Wettbewerbsmodus eingebaut, damit das Fahrzeug auch im Wettbewerb gestoppt werden kann. Auch hier wurde ein Totbereich erstellt, in dem das Fahrzeug zwar angesprochen wird, sich jedoch nicht bewegt.

Aktorblock mit Begrenzungen

Somit ist das sicherheitsrelevante Stoppen des Fahrzeugs funktionsfähig.



























Erstellung einer geeigneten Diagnoseseite in ControlDesk

Um die Fernbedienungsfunktionen korrekt darzustellen und zu analysieren, wurde eine geeignete Seite in ControlDesk erstellt. Diese Seite beinhaltet die PWM-Breite des Eingangssignales des Antriebs und des Lenkwinkels, sowie die Ausgangssignale an die Aktoren. Somit kann immer nachvollzogen werden, welche Änderung welche Auswirkung auf das Verhalten des Fahrzeugs hat. Außerdem wurden Anzeigen für die Aktivitätsbits der Lenkung, des Antriebs und der Fernbedienung in Allgemeinen erstellt, welche die Diagnose von Fehlern übersichtlich machen. Zudem wurde eine Umstellmöglichkeit vom Wettbewerb- in den Testmodus erstellt.


ControlDesk Seite Fernbedienung



















Filterung des Signals bei ausgeschalteter Fernbedienung

Da das Abfragen des An/Aus-Schalters durch den Empfänger nicht möglich ist, wurden zunächst die Störsignale bei ausgeschalteter Fernbedienung analysiert. Es wurde festgestellt, dass die Eingangswerte größtenteils in einem Bereich unterhalb von 0.002 liegen. Diese Signale lassen sich durch eine einfache if-Bedingung filtern, in dem man Signale unterhalb von 0.002 gleich Null setzt. Außerdem entstehen teilweise kurze Peaks, die in einem Bereichoberhalb 0.1 liegen und sich somit von dem Signal der üblichen Aktorenansteuerung nicht unterscheidet. Diese Signale lassen sich leider momentan noch nicht ausreichend herausfiltern. Die momentane Filterung funktioniert so, dass das Signal abgetastet wird, und erst durchgeschaltet wird, wenn es eine bestimmte Zeit anliegt. Mit Erhöhung von könnte man eine bessere Filterung erzielen, allerdings würde sich dies negativ auf die Reaktionszeit auswirken.

Zusammenfassung

Fazit

Zum Ende der Projektphase konnte die vollständige Funktion der Fernbedienung im eingeschalteten Zustand realisiert werden. Es ist nun möglich, das Fahrzeug zu bewegen und zu lenken. Der Noteingriff während der Fahrt mit eingeschalteter Regelung führt nun zunächst zum Stopp des Fahrzeugs, anschließend kann der Benutzer das Fahrzeug wunschgemäß steuern. Der Eingriff wird durch Blinken einer blauen Signal-LED am höchsten Punkt des Fahrzeugs signalisiert. Somit sind alle Punkte des Lastenheftes realisiert worden.

Ausblick

Die Fernbedienungsfunktionen sind nun vollständig gegeben. Es sollte jedoch noch eine verbesserte Filterung der Signale bei ausgeschalteter Fernbedienung implementiert werden, um das Fahrzeug zu schützen. Auch die Filterung des Signals bei eingeschalteter Fernbedienung funktioniert nicht immer optimal. Die Störfälle sind nicht reproduzierbar, wodurch sich eine Analyse des Störsignals kaum durchführen lässt. Außerdem können die Höchstgeschwindigkeiten der Wettbewerb- und Testmodi erst korrekt eingestellt werden, wenn das Auslesen der Geschwindigkeit über die Hallsensoren fehlerfrei funktioniert. Bis dahin können diese Werte nur empirisch ermittelt werden.

Für die Zukunft sollte man überlegen, ob die eingebaute Hardware eine zufriedenstellende Lösung ist.