AuF - Antrieb und Fernbedienung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(294 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=SS 2014=
== Einleitung ==
==Einleitung==
In diesem Artikel werden Arbeiten dokumentiert, welche im Rahmen des SDE Praktikums des Studiengangs MTR durchgeführt wurden.
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. '''Um das Fahrzeug in Betrieb nehmen zu können, muss die Fernbedienung eingeschaltet sein. Ist die Fernbedienung falsch kalibriert, so ist keine autonome Fahrfunktion möglich, da durch die Software fälschlicherweise dauerhaft ein Fernbedienungseingriff erkannt wird. Daher unbedingt diesen Artikel beachten.'''
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==
== Anforderungen des Lastenheftes ==
'''Autoren:''' [[Benutzer:Martin Theine|Martin Theine]] und [[Benutzer:Patrick Schumann|Patrick Schumann]]
<br />
'''Stand:''' 12.02.2021
<br />


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


[[Datei:Anforderungen.png]]
[[Datei:Anforderungen.png|thumb|600px|left|Abb. 1: REQ - Antrieb und Fernbedienung]]


==Ausgangssituation==
<onlyinclude><div style="clear:{{{{{|safesubst:}}}#switch:{{{1}}}
| links|left = left
| rechts|right = right
| #default = both
}};"></div></onlyinclude>


Vor Beginn des Semesters war das Fahrzeug durch Vorarbeiten früherer Semester in folgendem Zustand:
== Pflichten/Ziele ==
'''Autoren:''' [[Benutzer:Martin Theine|Martin Theine]] und [[Benutzer:Patrick Schumann|Patrick Schumann]]
<br />
'''Stand:''' 12.02.2021


- Das Fahrzeug war mit einem Empfänger für die Fernbedienungssingale ausgestattet.
[[Datei:CCF AEP Pflichten WiSe2021_AuF.png|thumb|1200px|left|Abb. 2: Pflichten Team AEP-Einparkalgorithmus WiSe2021 zur Thematik AuF]]


- Eine Reaktion auf Fernbedienungssignale war teilweise gegeben.
<onlyinclude><div style="clear:{{{{{|safesubst:}}}#switch:{{{1}}}
| links|left = left
| rechts|right = right
| #default = both
}};"></div></onlyinclude>


- Das Lenken per Fernbedienung war bereits eingeschränkt möglich.
'''''Hinweis: Ziele und Pflichten an das jeweilige Semester anpassen. Ziele und Pflichten des voherigen Jahrgangs entfernen!'''''


- Auf das Gasgeben per Fernbedienung reagierte das Fahrzeug nicht.
== Kalibrierung der Fernbedienung ==
'''Autoren:''' [[Benutzer:Martin Theine|Martin Theine]] und [[Benutzer:Patrick Schumann|Patrick Schumann]]
<br />
'''Stand:''' 12.02.2021


==Projektplan==
[[Datei:Trimmung_Fernbedienung.jpg|800px|thumb|right|Abb. 3: Bedienelemente des Senders für das CC-Fahrzeug]]


Um die Umsetzung der Aufgaben zu planen wurde ein Projektplan erstellt,damit der Fortschritt, sowie die einhaltung des Zeitplans im Überblick ist.
Die Fernbedienung des Carolo-Cup-Fahrzeugs bietet drei Trimmmöglichkeiten zur Feineinstellung:


[[Datei:ProjektplanAuF.png|left|thumb|800px| Projektplan AuF]]
(1) Das Potentiometer über dem "Lenkrad" (mit 14 gekennzeichnet) ist für die Einstellung der Lenk-Range zuständig. Normalerweise beträgt der Lenkwinkel 24° in jede Richtung. Ist die Position verstellt worden und es ist nur noch ein Einschlag von bspw. 18° möglich, muss die Trimmradstellung passend eingestellt werden.


<br>
(2) Das zweite Potentiometer über dem "Lenkrad" (mit 3 gekennzeichnet) ist für die Abstimmung der Nullposition des Lenkservos zuständig. Ist dieser Punkt verstellt, greift die Fernbedienung willkürlich in  Regelprozesse ein, da ein Lenkeingriff erkannt wird, obwohl kein Eingriff stattfindet. Um dies zu vermeiden, sollte die Position so eingestellt werden, dass kein Eingriff erkannt wird (siehe Abschnitt "Kontrolle der Kalibrierung (Fernbedienung)").
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>


==Projekttagebuch==
(3) Das dritte Trimmrad unter dem "Lenkrad" (mit 4 gekennzeichnet) ist für die Abstimmung der Nullstellung des "Gashebels" zuständig. Ist dieser Punkt verstellt, greift die Fernbedienung willkürlich in  Regelprozesse ein, da ein "Gaseingriff" erkannt wird, obwohl kein Eingriff stattfindet. Um dies zu vermeiden, sollte die Position so eingestellt werden, dass kein Eingriff erkannt wird (siehe Abschnitt "Kontrolle der Kalibrierung (Fernbedienung)").


Damit der gleiche Stellweg (Trimmung) in beide Richtungen zur Verfügung steht, wurden die '''Trimmräder für die Nullstellung des Lenkservos und des "Gashebels" (mit 3 und 4 gekennzeichnet) in Mittelstellung gebracht (Gas-Trimmrad Position 4).''' Zukünftig wäre es empfehlenswert die korrekte Position auf der Fernsteuerung eindeutig zu markieren.


Die vollständige Bedienungsanleitung der Modelcraft Fernsteueranlage findet sich unter folgender [[Datei:CCF_Bedienungsanleitung_Modelcraft_Fernsteueranlage.pdf]]


'''KW 18:'''
<onlyinclude><div style="clear:{{{{{|safesubst:}}}#switch:{{{1}}}
| links|left = left
| rechts|right = right
| #default = both
}};"></div></onlyinclude>


== Erfassung der Fahrzeug-Längeschwindigkeit ==
Die Arbeitsweise, wie aus den Hall-Sensoren des Antriebs die Fahrgeschwindigkeit bestimmt wird, erläutert dieser Artikel: [[Geschwindigkeitsermittlung]].


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


== Kalibrierung des Fahrtenreglers ==
'''Autoren:''' [[Benutzer:Martin Theine|Martin Theine]] und [[Benutzer:Patrick Schumann|Patrick Schumann]]
<br />
'''Stand:''' 12.02.2021
<br />


1.)     Einarbeitung in das Matlab-Simulinkmodell
Der Fahrtenregler ("SPX SUPERREVERSE") wurde nach Kalibrierung der Fernbedienung auf die Mittelstellung des Trimmrädchens für das Gaspedal anhand folgender Anleitung kalibriert (Bild links). Die Automatikbremse wurde anschließend mittels "Mode Programming" aktiviert (Stufe 2), damit das Fahrzeug nicht ausrollt, sondern stoppt, sobald der "Gashebel" losgelassen wird (Bild rechts).


2.)     Einarbeitung in das dSpace ControlDesk Modell
[[Datei:Fahrtenregler.png|thumb|700px|center|Abb. 4: Anleitung zur Kalibrierung des Fahrtenreglers]]
[[Datei:Mode Programming.png|thumb|700px|center|Abb. 5: Anleitung zur Modus-Programmierung des Fahrtenreglers (Automatik-Bremse)]]


3.) Kennenlernen der Fernbedienungsfunktion
Die vollständige Bedienungsanleitung befindet sich in [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Literatur/Datenblätter/Fahrtenregler/anl_10124_ra00241-spx-super-reverse-080520-d.pdf SVN].


4.) Auslesen der Fernbedienungssignale am Empfänger mit Hilfe eines Oszilloskops
<onlyinclude><div style="clear:{{{{{|safesubst:}}}#switch:{{{1}}}
| links|left = left
| rechts|right = right
| #default = both
}};"></div></onlyinclude>


== Kalibrierung des Lenkwinkels ==
'''Autoren:''' [[Benutzer:Martin Theine|Martin Theine]] und [[Benutzer:Patrick Schumann|Patrick Schumann]]
<br />
'''Stand:''' 12.02.2021
<br />


Während des Wintersemesters 2020/21 wurde die Neutralstellung der Lenkung nicht neu kalibriert, da die Priorität auf der Fehlersuche im Antriebsstrang lag. Auch in Software wurden keine Änderungen an Modulen vorgenommen, welche die Lenkung betreffen ("bib_Sensoren_Aktoren_online.mdl"). Die folgende Anleitung zur Kalibrierung des Lenkwinkels stammt aus dem Wintersemester 2014/15. '''Diese sollte im Sommersemester 2021 bzw. Wintersemester 2021/22 genutzt werden, um die Nullstellung der Lenkung neu einzustellen:'''


Damit die Lenkung in der Bahnplanung und Spurführung, sowie beim Einparken, gezielt eingestellt werden kann, musste zunächst eine Kalibrierung durchgeführt werden.
Der erste Schritt bestand darin, die Lenkung, in der Nullstellung der Fernbedienung, so einzustellen, dass das Fahrzeug geradeaus fährt.
Da dies zu Beginn der Arbeiten nicht der Fall war, wurde zunächst die Vorderachse eingestellt.
Zur Feinkalibrierung verfügt die Fernbedienung über sogenannte Trimmräder. Verstellt man diese, ändert sich der Nullpunkt.
Ein Nachteil bei dieser Einstellung ist, dass sich dabei der Lenkwinkel in die eine Richtung verkürzt und zur anderen Seite vergrößert.
Da zu beiden Seiten gleichermaßen gelenkt werden soll, muss die Vorderachse neu eingestellt werden
Dies geschieht über Spurstangen, welche in der folgenden Abbildung rot markiert sind.


'''KW 19:'''
[[Datei:Carolo Achse.jpg|thumb|600px|right|Abb. 6: Forderachsaufhängung CC-Fahrzeug]]


5.)     Verfolgung der Signalflüsse von Lenkwinkel und Gas
Die Spurstangen lassen sich in der Länge verstellen, sodass die Spur eingestellt werden kann.
Die erste (obere) Spurstange befindet sich direkt am Servomotor für die Lenkung.
Mit dieser lässt sich einstellen, wie weit nach rechts und links eingelenkt werden kann.


6.)    Berichtigung des falschen Signalflusses Gas


7.)    Verlagerung der Schleichfahrtfunktion in den Aktorblock
Hat man die Spurstange so eingestellt, dass man zu beiden Seiten gleichermaßen lenken kann, betrachtet man die Position der einzelnen Räder an der Vorderachse.
Laufen diese gerade, ist keine weitere Einstellung nötig.
Ansonsten müssen die Rechte und linke Spurstange eingestellt werden.


8.)    Anpassung der Begrenzungsparameter für die Schleichfahrtfunktion
Da das Fahrzeug nicht über einen Sensor verfügt, welche den Lenkwinkel misst, wurde eine Vorrichtung gebaut um diesen zu bestimmt.
In der folgenden Schemazeichnung wurde der Aufbau skizziert.


[[Datei:Schemazeichnung.jpg||thumb|500px|left|Abb. 7: Schemazeichnung über den Versuchsaufbau zur Ermittlung des Lenkwinkels]]


An die Räder der Vorderachse wurden Stifte montiert und unter dem Fahrzeug wurde ein Blatt Papier platziert.
Lenkt man nun das Fahrzeug manuell mit der Fernbedienung, wird eine Linie erzeugt, welche in der Schemazeichnung grün gekennzeichnet ist.
Anhand dieser Linie lässt sich anschließend der Lenkwinkel pro Rad, in die jeweilige Richtung bestimmen.


'''Der Lenkwinkel beträgt pro Seite 24 °'''


'''KW 20:'''
Damit der Lenkwinkel auch manuell per Software bestimmt werden kann, wurde der Servomotor per Software angeregt.
Hierbei wurde gleichzeitig der Lenkwinkel sowie die PWM-Breite dokumentiert.
Anschließend wurde das Ergebnis mithilfe einer Lookup Table in die Software implementiert.
Es stellte sich dabei heraus, dass das Verhältnis von Lenkwinkel zu PWM-Breite linear ist, und daher eine Umrechnung sehr einfach durchgeführt werden kann.


9.)    Erstellung einer geeigneten Diagnoseseite in ControlDesk
Zu finden ist dieser Part unter CCF-online==> AKT - Aktoren - online==> AktRtiPwM - PWM4fach-Modul der RTI-Bloecke
10.)    Dokumentation und Beschriftung Simulink
 
11.)    Anpassung der Begrenzungsparameter entfernt, durch Lookup Table ersetzt
 
 
 
 
 
'''KW 21:'''
 
Spezialworkshop Fernbedienung
 
 
 
 
 
'''KW 22:'''
 
12.)    Linearisierung der Geschwindigkeit
 
13.)    Signalfilterung Fernbedienung (Angeschaltet)
 
14.)    Simulinkmodell bereinigt
 
 
 
 
 
'''KW 23:'''
 
15.)    Notstopfunktion im Totbereich (Lookup Table)
 
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'''
 
[[Datei:LookUp.png|400px|left|thumb|LookUpTable der Fernbedienung]]


Das Fahrzeug soll über die Fernbedienung in 2 Modi gesteuert werden:
Der Lenkwinkel kann nun in Radiant (SI-Einheit) eingegeben werden, dies wird dann durch die Lookup Table in die entsprechende PWM-Breite umgerechnet und dementsprechend eingestellt.
- 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.
Des Weiteren kann auf der Hauptseite des Control-Desk-Aufbaus(Projekt:Carolo Cup Fahrzeug ==> Inbetriebnahme) der aktuelle Winkel abgelesen (Nr.1), und auch neu definiert werden (Nr.2).


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 Lookup-Table implementiert und so dimensioniert, dass das Fernbedienungssignal das Fahrzeug stufenlos beschleunigen kann.
[[Datei:CD Hauptseite.png|thumb|900px|left|Abb. 8: Aufbau des ControlDeskaufbaus]]


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.
<onlyinclude><div style="clear:{{{{{|safesubst:}}}#switch:{{{1}}}
| links|left = left
| rechts|right = right
| #default = both
}};"></div></onlyinclude>


Anschließend wurde auch eine Lookup Table 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.
== Kontrolle der Kalibrierung (Fernbedienung) ==
'''Autoren:''' [[Benutzer:Martin Theine|Martin Theine]] und [[Benutzer:Patrick Schumann|Patrick Schumann]]
<br />
'''Stand:''' 12.02.2021
<br />


[[Datei:Simulink.png|800px|thumb|left|Aktorblock mit Begrenzungen]]
Damit die autonomen Fahrdiziplinen störungsfrei ausgeführt werden können, ist es essentiell, dass die Trimmräder nicht verstellt werden. Sind diese verstellt, so wird ein Fernbedienungseingriff in der Software erkannt, obwohl kein Eingriff stattfindet. '''Bei der Inbetriebnahme des Carolo-Cup-Fahrzeugs muss folglich jedes Mal überprüft werden, ob die Trimmräder in Mittelstellung sind. Zudem sollten mit Control Desk
(Reiter "Fernbedienung") die folgenden drei Bits überprüft werden:'''


Somit ist das sicherheitsrelevante Stoppen des Fahrzeugs funktionsfähig.
* "SenFernb_FernbAktiv_bit" == 0
<br>
* "SenFernb_LwFernbEin_bit" == 0
<br>
* "SenFernb_GasFernbEin_bit" == 0
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>


Wird bei eingeschalteter Fernbedienung (Spannungsversorgung des Antriebs muss ebenfalls eingeschaltet werden) keine Eingabe (lenken oder Gas geben) getätigt, so müssen die drei Bit den o.g. Zustand haben.
Ist dies nicht der Fall, so müssen die Trimmräder für Lenkung und Gaspedal bewegt werden, bis der Zustand (0,0,0) erreicht ist. Die
blaue LED am höchsten Punkt des Fahrzeugs darf keinen Fernbedienungseingriff anzeigen.


Wird nun nur das Lenkrad an der Fernbedienung bewegt, so muss folgender Zustand vorliegen:


* "SenFernb_FernbAktiv_bit" == 1
* "SenFernb_LwFernbEin_bit" == 1
* "SenFernb_GasFernbEin_bit" == 0


Wird nun nur der Gashebel an der Fernbedienung bewegt, so muss folgender Zustand vorliegen:


'''Erstellung einer geeigneten Diagnoseseite in ControlDesk'''
* "SenFernb_FernbAktiv_bit" == 1
* "SenFernb_LwFernbEin_bit" == 0
* "SenFernb_GasFernbEin_bit" == 1


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.
Werden nun beide Eingaben gleichzeitig getätigt, so muss folgender Zustand vorliegen:
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.


* "SenFernb_FernbAktiv_bit" == 1
* "SenFernb_LwFernbEin_bit" == 1
* "SenFernb_GasFernbEin_bit" == 1


[[Datei:ControldeskAuF.jpg|800px|thumb|left|ControlDesk Seite Fernbedienung]]
Bei allen drei Möglichkeiten des Eingriffs per Fernbedienung muss die blaue LED am höchsten Punkt des Fahrzeugs blinken.
Nach Abschluss der o.g. Kontrolle ist das Fahrzeug betriebsbereit.


== Filterung der Fernsteuerungssignale ==


 
'''Stand Sommersemester 2014:'''
 
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>


'''Filterung des Signals bei ausgeschalteter Fernbedienung'''
'''Filterung des Signals bei ausgeschalteter Fernbedienung'''
Zeile 226: Zeile 185:
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 <math>t</math> anliegt. Mit Erhöhung von <math>t</math> könnte man eine bessere Filterung erzielen, allerdings würde sich dies negativ auf die Reaktionszeit auswirken.
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 <math>t</math> anliegt. Mit Erhöhung von <math>t</math> könnte man eine bessere Filterung erzielen, allerdings würde sich dies negativ auf die Reaktionszeit auswirken.


==Zusammenfassung==
'''Stand Wintersemester 2014/15:'''
 
'''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.
 
=WS 2014/2015=
==Einleitung==
 
Im Wintersemester 2014/15 wurden die Arbeiten aus dem vorherigen Semester weitergeführt.
Nachfolgend werden die Ergebnisse dokumentiert und erläutert.
Die Ausgangssituation entspricht dem beschriebenen Stand aus Punkt 1.6 sowie 1.7.
 
==Anforderungen des Lastenheftes==
 
Die nachfolgenden Aufgaben wurden für das Semester gestellt, und es galt, diese bis zum 15.01.2015 abzuschließen
 
 
[[Datei:1.png]]
 
==Aufgabenlösungen==
===Filterung der Fernsteuerungssignale===


Die Filterung des Fernsteuerungssignals wurde nach neuen Erkenntnissen, auf dem Stand des SS2014 belassen.
Die Filterung des Fernsteuerungssignals wurde nach neuen Erkenntnissen, auf dem Stand des SS2014 belassen.
Zeile 272: Zeile 204:
- Achten Sie darauf, dass die Fernbedienung immer Sichtkontakt zum Fahrzeug hat.
- Achten Sie darauf, dass die Fernbedienung immer Sichtkontakt zum Fahrzeug hat.


- Achten Sie darauf, dass die Trimmräder an der Fernbedienung nicht verstellt sind. Optimale Werte bei ruhender Lenk- und Gasstellung sind:
- Achten Sie darauf, dass die Trimmräder an der Fernbedienung nicht verstellt sind.


===Lenkwinkelkalibrierung===  
== Optimierung der Fernbedienungsfunktionen ==


'''Implementierung von Test- und Wettbewerbsmodi'''


Damit die Lenkung in der Bahnplanung und Spurführung, sowie beim Einparken, gezielt eingestellt werden kann, musste zunächst eine Kalibrierung durchgeführt werden.
Das Fahrzeug soll über die Fernbedienung in 2 Modi gesteuert werden:
Der erste Schritt bestand darin, die Lenkung, in der Nullstellung der Fernbedienung, so einzustellen, dass das Fahrzeug geradeaus fährt.
- Ein Wettbewerbsmodus, in dem das Fahrzeug bei Eingriff der Fernbedienung nur 0,3 m/s in beide Richtungen fahren kann.
Da dies zu Beginn der Arbeiten nicht der Fall war, wurde zunächst die Vorderachse eingestellt.
- Ein Testmodus, in dem das Fahrzeug bei Eingriff der Fernbedienung 1,0 m/s in beide Richtungen fahren kann.
Zur Feinkalibrierung verfügt die Fernbedienung über sogenannte Trimmräder. Verstellt man diese, ändert sich der Nullpunkt.
Ein Nachteil bei dieser Einstellung ist, dass sich dabei der Lenkwinkel in die eine Richtung verkürzt und zur anderen Seite vergrößert.
Da zu beiden Seiten gleichermaßen gelenkt werden soll, muss die Vorderachse neu eingestellt werden
Dies geschieht über Spurstangen, welche in der folgenden Abbildung rot markiert sind.


[[Datei:Carolo Achse.jpg]]
Um das zu ermöglichen, wurde zunächst die Variable ''PAR_Schelichmodus'' in der ''start.m''-Datei angelegt. 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. Da das Fahrzeug bei jeder autonomen Fahrt 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 eine Lookup-Table für den Wettbewerbsmodus und den Testmodus eingebaut, damit das Fahrzeug gestoppt werden kann. Hier wurde ein Totbereich erstellt, in dem das Fahrzeug zwar angesprochen wird, sich jedoch nicht bewegt. Somit ist das sicherheitsrelevante Stoppen des Fahrzeugs funktionsfähig.


Die Spurstangen lassen sich in der Länge verstellen, sodass die Spur eingestellt werden kann.
'''Erstellung einer geeigneten Diagnoseseite in ControlDesk'''
Die erste(obere) Spurstange befindet sich direkt am Servomotor für die Lenkung.
Mit dieser lässt sich einstellen, wie weit nach rechts und links eingelenkt werden kann.


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:


Hat man die Spurstange so eingestellt, dass man zu beiden Seiten gleichermaßen lenken kann, betrachtet man die Position der einzelnen Räder an der Vorderachse.
[[Datei:ControldeskAuF.jpg|800px|thumb|left|Abb. 9: ControlDesk Seite Fernbedienung]]
Laufen diese gerade, ist keine weitere Einstellung nötig.
Ansonsten müssen die Rechte und linke Spurstange eingestellt werden.
 
Da das Fahrzeug nicht über einen Sensor verfügt, welche den Lenkwinkel misst, wurde eine Vorrichtung gebaut um diesen zu bestimmt.
In der folgenden Schemazeichnung wurde der Aufbau skizziert.
 


[[Datei:Schemazeichnung.jpg]]
<onlyinclude><div style="clear:{{{{{|safesubst:}}}#switch:{{{1}}}
| links|left = left
| rechts|right = right
| #default = both
}};"></div></onlyinclude>


An die Räder der Vorderachse wurden Stifte montiert und unter dem Fahrzeug wurde ein Blatt Papier platziert.
== Test ==
Lenkt man nun das Fahrzeug manuell mit der Fernbedienung, wird eine Linie erzeugt, welche in der Schemazeichnung grün gekennzeichnet ist.
* [[AuF - Antrieb und Fernbedienung: Test der Fernbedienung in Simulation und am Fahrzeug]]
Anhand dieser Linie lässt sich anschließend der Lenkwinkel pro Rad, in die jeweilige Richtung bestimmen.


* [[Test_der_Sensoren_und_Aktoren]]


'''Der Lenkwinkel beträgt pro Seite 24 °'''
== Fehlerbehebung der Fernbedienungsfunktionen (WS 20/21) ==


Damit der Lenkwinkel auch manuell per Software bestimmt werden kann, wurde der Servomotor per Software angeregt.
'''Autoren:''' [[Benutzer:Martin Theine|Martin Theine]] und [[Benutzer:Patrick Schumann|Patrick Schumann]]
Hierbei wurde gleichzeitig der Lenkwinkel sowie die PWM-Breite dokumentiert.
<br />
Anschließend wurde das Ergebnis mithilfe einer Lookup Table in die Software implementiert.
'''Stand:''' 12.02.2021
Es stellte sich dabei herraus, dass das Verhältniss von Lenkwinkel zu PWM-Breite linear ist, und daher eine Umrechnung sehr einfach durchgeführt werden kann.
<br />


Zu finden ist dieser Part unter CCF-online==> AKT - Aktoren - online==> AktRtiPwM - PWM4fach-Modul der RTI-Bloecke
Nachdem im Zuge der Fehleranalyse 20/21 das Trimmrad des "Gashebels" auf Mittelstellung gebracht und der Fahrtenregler auf diese Position kalibriert wurde, mussten die Lookup-Tables für den Testmodus/ Wettkampfmodus bzw. für das Gaspedal ("bib_Sensoren_Aktoren_online.mdl") neu parametriert werden. Dazu wurde zunächst der PWM Duty Cycle des Fernbedienungssignals des "Gashebels" für:


[[Datei:LookupLW.jpg]]
* die Null- /Neutralstellung (DC = 0.079)
* Gashebel maximal vorwärts (DC = 0.12)
* Gashebel maximal rückwärts (DC = 0.064)


Der Lenkwinkel kann nun in Radiant(SI-Einheit) eingegeben werden, dies wird dann durch die Lookup Table in die entsprechende PWM-Breite umgerechnet und dementsprechend eingestellt.
mit Hilfe von Control Desk ermittelt. Daraufhin konnte die Lookup-Table für den Test- und Wettkampfmodus (siehe Abschnitt "Optimierung der Fernbedienungsfunktion"), sowie die Lookup-Table für das Gaspedal (autonome Fahrt mit Längsregelung oder manuelle Geschwindigkeitsvorgabe über Control Desk) angepasst werden. Die Lookup-Table für das Gaspedal wird dabei über die Datei "param_AKT_online.m" parametriert. Die beschriebenen Lookup-Tables befinden sich im Block "AKT" -> "AktRtiPwm - PWM4fach-Modul der RTI-Bloecke" in der Bibliothek "bib_Sensoren_Aktoren_online.mdl":


Des Weiteren kann auf der Hauptseite des Control-Desk Aufbaus der aktuelle Winkel abgelesen (Nr.1), und auch neu definiert werden (Nr.2).  
[[Datei:Lookup_Tables_Testmodus_Wettbewerbsmodus_Gaspedal.png|1200px|thumb|left|Abb. 10: Lookup-Tables Fernbedienung/Gaspedal]]


<onlyinclude><div style="clear:{{{{{|safesubst:}}}#switch:{{{1}}}
| links|left = left
| rechts|right = right
| #default = both
}};"></div></onlyinclude>


Bei der Lookup-Table für den Fernbedienungseingriff wurde ein "Plateau" um die Nullstellung implementiert, um Störungen durch leichte Abweichungen des PWM-Signals (Fernbedienung) zu vermeiden. Das "Plateau" kann bei Bedarf noch angepasst werden. Des Weiteren wurden die Saturation-Blocks grob parametriert, um eine Geschwindigkeitsbegrenzung in beide Richtungen zu erreichen. Da die Ist-Geschwindigkeit des Fahrzeugs aktuell noch nicht korrekt ermittelt wird, muss die genaue Parametrierung für 1 m/s (Testmodus) und 0.3 m/s (Wettbewerbsmodus) noch erfolgen (siehe Abschnitt "Offene Punkte").


===Geschwindigkeitseinstellung===
Zudem wurde zu Beginn des Semesters permanent ein Fernbedienungseingriff erkannt. Diese Problematik wurde im Block "SEN" -> "SenFernb - Fernbedienung" analysiert und behoben:


Nachdem eine Geschwindigkeitseinstellung nach m/s möglich war, wurde die Höchstgeschwindigkeit in den jeweiligen Modis angepasst.
[[Datei:SenFernb_neu.png|1200px|thumb|left|Abb. 11: Block "SenFernb - Fernbedienung" nach Änderung]]
Die Vmax beträgt nun im Testmodus 0,3 m/s und im Wettbewerbsmodus 0,1 m/s.
Die Umsetzung erfolgt über Lookup Tables (Matlab) sowie Schaltern (Control Desk).
Die Lookuo Tables können unter CCF-online==> AKT - Aktoren - online==> AktRtiPwM - PWM4fach-Modul der RTI-Bloecke, Wettbewerbsmodus - Testmodus, gefunden werden


[[Datei:LookupModis.jpg]]
<onlyinclude><div style="clear:{{{{{|safesubst:}}}#switch:{{{1}}}
 
| links|left = left
Um die Sattelpunkte bei 0,09 befindet sich das Fahrzeug in Ruhe.
| rechts|right = right
Der Bereich von 0,086 - 0,1 wird durch die Vorgabe, auf ca. 0,09 gesetzt.
| #default = both
Dies hat zur Folge, dass das Fahrzeug bei einem Eingriff durch die Fernbedienung, zunächst auch in Ruhe versetzt wird. Dadurch hat man als Bediener eine bessere Kontrolle. Drückt man den Gaszug weiter , fängt das Fahrzeug langsam an zu beschleunigen.
}};"></div></onlyinclude>
 
Die Art des Modus kann in der start.m Datei, in Zeile 93 geändert werden, oder in Control-Desk auf dem Reiter "Fernbedienung HB", wie weiter oben in Abschnitt "Erstellung einer geeigneten Diagnoseseite in ControlDesk" gezeigt.
 
 
 
 
===Filterung der Objektliste=== 


Durch die falsche Verbindung eines Eingangs des OR-Gatters (siehe roten Signalpfad im Bild) wurde permanent das Bit "SenFernb_FernbAktiv_bit" gesetzt. Dies hatte zur Folge, dass das Fahrzeug die autonomen Fahrdisziplinen nicht ausführen konnte und die blaue LED am höchsten Punkt des Fahrzeugs dauerhaft einen Fernbedienungseingriff angezeigt hat, obwohl dieser nicht erfolgte. Des Weiteren musste der Block "Check Duty Cycle 2" (siehe roter Rahmen im Bild) neu parametriert werden. Die Parametrierung erfolgt in der Datei "param_SEN_online.m". Dazu wurde der Parameter "PAR_SenFernb_Gas_UpperBound_f64" auf den oberen Grenzwert und der Parameter "PAR_SenFernb_Gas_LowerBound_f64" auf den unteren Grenzwert des "Plateaus" um den Gasnullpunkt gesetzt. Der Block erzeugt eine logische 1 an seinem Ausgang, wenn der Eingangswert innerhalb der eingestellten Grenzen liegt. In Verbindung mit dem nachfolgenden NAND-Gatter wird erreicht, dass nur ein Fernbedienungseingriff erkannt wird, wenn sich der "Gashebel" der Fernsteuerung nicht in Neutralstellung befindet, das Fahrzeug also vorwärts oder rückwärts beschleunigt wird.
==Zusammenfassung==
==Zusammenfassung==
'''Autoren:''' [[Benutzer:Martin Theine|Martin Theine]] und [[Benutzer:Patrick Schumann|Patrick Schumann]]
<br />
'''Stand:''' 12.02.2021
<br />


Zusammenfassend lässt sich sagen, dass alle Aufgaben aus dem vorherigen Semester fertiggestellt werden konnten, und die Funktionen des Fahrzeugs erweitert wurden.
Die Weiterleitung der Fernbedienungssignale vom Empfänger zur dSPACE-Karte und von der dSPACE-Karte zum Antrieb konnte nach der Behebung von Hardwarefehlern (Kurzschlüsse/gebrochene Lötstellen) auf der zugehörigen Prototypenplatine sichergestellt werden. '''Fehlerprotokoll:''' [[Datei:CCF_AEP_Protokoll_Fehleranalyse_Fernbedienung_und_Antrieb.pdf]]
Es ist nun möglich den aktuellen Lenkwinkel abzulesen, sowie diesen gezielt, per Software zu setzen. Dadurch steht einem erfolgreichen Einparkmanöver, sowie einer souveränen Spurführung nichts mehr im Wege.
<br />
<br />
Nach der Fehlerbehebung des dauerhaften Fernbedienungseingriffs und der Neukalibrierung des Fahrtenreglers (und zugehöriger Anpassung der Lookup-Tables) konnte die korrekte Funktion des Fernbedienungseingriffs erfolgreich überprüft werden:


Des Weiteren wurde die Sicherheit für das Fahrzeug erhöht. Im Testmodus ist nun eine Höchstgeschwindigkeit von 0,3 m/s möglich, der Wettbewerbsmodus wurde nach den Vorgaben des Carolocupreglements, mit 0,1 m/s angesetzt. Weiterhin sorgt der erweiterte Sattelpunkt für ein Stoppen der Fahrzeugbewegung, woraufhin dann gezielt eingegriffen werden kann.
* [https://hshl.sciebo.de/s/qE8mBift1bmLfnG Fernbedienungseingriff ohne Fahrt]
* [https://hshl.sciebo.de/s/jKWMCo38B94XHp3 Fernbedienungseingriff mit Fahrt]
* [https://hshl.sciebo.de/s/EEqqfo3D2VKu5Ag Fahrt auf der Rundstrecke mit Fernbedienung]


Abschließend wurde durch einen Kalmanfilter, eine Objektliste, welche aus Rohdaten eines Laserscanners zusammengestellt wurde, eine Trackliste erstellt.
=== Offene Punkte ===
Diese wird durch das Bahn- und Spurführungsteam dafür genutzt, Objekten auf der Fahrbahn auszuweichen.


* Kalibrierung der Lenkung (Neutralstellung) -> siehe Abschnitt "Kalibrierung des Lenkwinkels"
* Sobald die Ist-Geschwindigkeit des Fahrzeugs wieder korrekt erfasst wird:
:: (1) Ermittlung des PWM Duty Cycles bei 1 m/s (Testmodus)
:: (2) Ermittlung des PWM Duty Cycles bei 0.3 m/s (Wettkampfmodus)
:: (3) Anpassen der Geschwindigkeitsbegrenzung mittels Saturation-Blocks in der Bibliothek "bib_Sensoren_Aktoren_online.mdl" -> Die Begrenzung wurde bislang nur schätzungsweise eingestellt


=== Ausblick ===


Autor: [[Benutzer:Benjamin Bruene|Benjamin Brüne]], [[Benutzer:Alexander Haneke|Alexander Haneke]]
* Fahrzeug soll bei Fernbedienungseingriff die autonome Fahrfunktion beenden/verlassen
* Fahrzeug soll bei Fernbedienungseingriff zunächst anhalten
* Nach Verlassen der autonomen Fahrdisziplin soll sich das Fahrzeug per Fernbedienung steuern lassen


= Siehe auch =
= Weiterführende Artikel =


*[[Filterung_Fernbedienung|Filterung Fernbedienung]]
→ zurück zum Hauptartikel: [[Praktikum_SDE|Praktikum SDE]]


 
→ zum Artikel: [[Filterung_Fernbedienung|Filterung Fernbedienung]]
----
zurück zum Hauptartikel: [[Praktikum_SDE|Praktikum SDE]]

Aktuelle Version vom 25. April 2023, 19:03 Uhr

Einleitung

In diesem Artikel werden Arbeiten dokumentiert, welche im Rahmen des SDE Praktikums des Studiengangs MTR 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. Um das Fahrzeug in Betrieb nehmen zu können, muss die Fernbedienung eingeschaltet sein. Ist die Fernbedienung falsch kalibriert, so ist keine autonome Fahrfunktion möglich, da durch die Software fälschlicherweise dauerhaft ein Fernbedienungseingriff erkannt wird. Daher unbedingt diesen Artikel beachten.

Anforderungen des Lastenheftes

Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021

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.

Abb. 1: REQ - Antrieb und Fernbedienung

Pflichten/Ziele

Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021

Abb. 2: Pflichten Team AEP-Einparkalgorithmus WiSe2021 zur Thematik AuF

Hinweis: Ziele und Pflichten an das jeweilige Semester anpassen. Ziele und Pflichten des voherigen Jahrgangs entfernen!

Kalibrierung der Fernbedienung

Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021

Abb. 3: Bedienelemente des Senders für das CC-Fahrzeug

Die Fernbedienung des Carolo-Cup-Fahrzeugs bietet drei Trimmmöglichkeiten zur Feineinstellung:

(1) Das Potentiometer über dem "Lenkrad" (mit 14 gekennzeichnet) ist für die Einstellung der Lenk-Range zuständig. Normalerweise beträgt der Lenkwinkel 24° in jede Richtung. Ist die Position verstellt worden und es ist nur noch ein Einschlag von bspw. 18° möglich, muss die Trimmradstellung passend eingestellt werden.

(2) Das zweite Potentiometer über dem "Lenkrad" (mit 3 gekennzeichnet) ist für die Abstimmung der Nullposition des Lenkservos zuständig. Ist dieser Punkt verstellt, greift die Fernbedienung willkürlich in Regelprozesse ein, da ein Lenkeingriff erkannt wird, obwohl kein Eingriff stattfindet. Um dies zu vermeiden, sollte die Position so eingestellt werden, dass kein Eingriff erkannt wird (siehe Abschnitt "Kontrolle der Kalibrierung (Fernbedienung)").

(3) Das dritte Trimmrad unter dem "Lenkrad" (mit 4 gekennzeichnet) ist für die Abstimmung der Nullstellung des "Gashebels" zuständig. Ist dieser Punkt verstellt, greift die Fernbedienung willkürlich in Regelprozesse ein, da ein "Gaseingriff" erkannt wird, obwohl kein Eingriff stattfindet. Um dies zu vermeiden, sollte die Position so eingestellt werden, dass kein Eingriff erkannt wird (siehe Abschnitt "Kontrolle der Kalibrierung (Fernbedienung)").

Damit der gleiche Stellweg (Trimmung) in beide Richtungen zur Verfügung steht, wurden die Trimmräder für die Nullstellung des Lenkservos und des "Gashebels" (mit 3 und 4 gekennzeichnet) in Mittelstellung gebracht (Gas-Trimmrad Position 4). Zukünftig wäre es empfehlenswert die korrekte Position auf der Fernsteuerung eindeutig zu markieren.

Die vollständige Bedienungsanleitung der Modelcraft Fernsteueranlage findet sich unter folgender Datei:CCF Bedienungsanleitung Modelcraft Fernsteueranlage.pdf

Erfassung der Fahrzeug-Längeschwindigkeit

Die Arbeitsweise, wie aus den Hall-Sensoren des Antriebs die Fahrgeschwindigkeit bestimmt wird, erläutert dieser Artikel: Geschwindigkeitsermittlung.


Kalibrierung des Fahrtenreglers

Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021

Der Fahrtenregler ("SPX SUPERREVERSE") wurde nach Kalibrierung der Fernbedienung auf die Mittelstellung des Trimmrädchens für das Gaspedal anhand folgender Anleitung kalibriert (Bild links). Die Automatikbremse wurde anschließend mittels "Mode Programming" aktiviert (Stufe 2), damit das Fahrzeug nicht ausrollt, sondern stoppt, sobald der "Gashebel" losgelassen wird (Bild rechts).

Abb. 4: Anleitung zur Kalibrierung des Fahrtenreglers
Abb. 5: Anleitung zur Modus-Programmierung des Fahrtenreglers (Automatik-Bremse)

Die vollständige Bedienungsanleitung befindet sich in SVN.

Kalibrierung des Lenkwinkels

Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021

Während des Wintersemesters 2020/21 wurde die Neutralstellung der Lenkung nicht neu kalibriert, da die Priorität auf der Fehlersuche im Antriebsstrang lag. Auch in Software wurden keine Änderungen an Modulen vorgenommen, welche die Lenkung betreffen ("bib_Sensoren_Aktoren_online.mdl"). Die folgende Anleitung zur Kalibrierung des Lenkwinkels stammt aus dem Wintersemester 2014/15. Diese sollte im Sommersemester 2021 bzw. Wintersemester 2021/22 genutzt werden, um die Nullstellung der Lenkung neu einzustellen:

Damit die Lenkung in der Bahnplanung und Spurführung, sowie beim Einparken, gezielt eingestellt werden kann, musste zunächst eine Kalibrierung durchgeführt werden. Der erste Schritt bestand darin, die Lenkung, in der Nullstellung der Fernbedienung, so einzustellen, dass das Fahrzeug geradeaus fährt. Da dies zu Beginn der Arbeiten nicht der Fall war, wurde zunächst die Vorderachse eingestellt. Zur Feinkalibrierung verfügt die Fernbedienung über sogenannte Trimmräder. Verstellt man diese, ändert sich der Nullpunkt. Ein Nachteil bei dieser Einstellung ist, dass sich dabei der Lenkwinkel in die eine Richtung verkürzt und zur anderen Seite vergrößert. Da zu beiden Seiten gleichermaßen gelenkt werden soll, muss die Vorderachse neu eingestellt werden Dies geschieht über Spurstangen, welche in der folgenden Abbildung rot markiert sind.

Abb. 6: Forderachsaufhängung CC-Fahrzeug

Die Spurstangen lassen sich in der Länge verstellen, sodass die Spur eingestellt werden kann. Die erste (obere) Spurstange befindet sich direkt am Servomotor für die Lenkung. Mit dieser lässt sich einstellen, wie weit nach rechts und links eingelenkt werden kann.


Hat man die Spurstange so eingestellt, dass man zu beiden Seiten gleichermaßen lenken kann, betrachtet man die Position der einzelnen Räder an der Vorderachse. Laufen diese gerade, ist keine weitere Einstellung nötig. Ansonsten müssen die Rechte und linke Spurstange eingestellt werden.

Da das Fahrzeug nicht über einen Sensor verfügt, welche den Lenkwinkel misst, wurde eine Vorrichtung gebaut um diesen zu bestimmt. In der folgenden Schemazeichnung wurde der Aufbau skizziert.

Abb. 7: Schemazeichnung über den Versuchsaufbau zur Ermittlung des Lenkwinkels

An die Räder der Vorderachse wurden Stifte montiert und unter dem Fahrzeug wurde ein Blatt Papier platziert. Lenkt man nun das Fahrzeug manuell mit der Fernbedienung, wird eine Linie erzeugt, welche in der Schemazeichnung grün gekennzeichnet ist. Anhand dieser Linie lässt sich anschließend der Lenkwinkel pro Rad, in die jeweilige Richtung bestimmen.

Der Lenkwinkel beträgt pro Seite 24 °

Damit der Lenkwinkel auch manuell per Software bestimmt werden kann, wurde der Servomotor per Software angeregt. Hierbei wurde gleichzeitig der Lenkwinkel sowie die PWM-Breite dokumentiert. Anschließend wurde das Ergebnis mithilfe einer Lookup Table in die Software implementiert. Es stellte sich dabei heraus, dass das Verhältnis von Lenkwinkel zu PWM-Breite linear ist, und daher eine Umrechnung sehr einfach durchgeführt werden kann.

Zu finden ist dieser Part unter CCF-online==> AKT - Aktoren - online==> AktRtiPwM - PWM4fach-Modul der RTI-Bloecke

Der Lenkwinkel kann nun in Radiant (SI-Einheit) eingegeben werden, dies wird dann durch die Lookup Table in die entsprechende PWM-Breite umgerechnet und dementsprechend eingestellt.

Des Weiteren kann auf der Hauptseite des Control-Desk-Aufbaus(Projekt:Carolo Cup Fahrzeug ==> Inbetriebnahme) der aktuelle Winkel abgelesen (Nr.1), und auch neu definiert werden (Nr.2).

Abb. 8: Aufbau des ControlDeskaufbaus

Kontrolle der Kalibrierung (Fernbedienung)

Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021

Damit die autonomen Fahrdiziplinen störungsfrei ausgeführt werden können, ist es essentiell, dass die Trimmräder nicht verstellt werden. Sind diese verstellt, so wird ein Fernbedienungseingriff in der Software erkannt, obwohl kein Eingriff stattfindet. Bei der Inbetriebnahme des Carolo-Cup-Fahrzeugs muss folglich jedes Mal überprüft werden, ob die Trimmräder in Mittelstellung sind. Zudem sollten mit Control Desk (Reiter "Fernbedienung") die folgenden drei Bits überprüft werden:

  • "SenFernb_FernbAktiv_bit" == 0
  • "SenFernb_LwFernbEin_bit" == 0
  • "SenFernb_GasFernbEin_bit" == 0

Wird bei eingeschalteter Fernbedienung (Spannungsversorgung des Antriebs muss ebenfalls eingeschaltet werden) keine Eingabe (lenken oder Gas geben) getätigt, so müssen die drei Bit den o.g. Zustand haben. Ist dies nicht der Fall, so müssen die Trimmräder für Lenkung und Gaspedal bewegt werden, bis der Zustand (0,0,0) erreicht ist. Die blaue LED am höchsten Punkt des Fahrzeugs darf keinen Fernbedienungseingriff anzeigen.

Wird nun nur das Lenkrad an der Fernbedienung bewegt, so muss folgender Zustand vorliegen:

  • "SenFernb_FernbAktiv_bit" == 1
  • "SenFernb_LwFernbEin_bit" == 1
  • "SenFernb_GasFernbEin_bit" == 0

Wird nun nur der Gashebel an der Fernbedienung bewegt, so muss folgender Zustand vorliegen:

  • "SenFernb_FernbAktiv_bit" == 1
  • "SenFernb_LwFernbEin_bit" == 0
  • "SenFernb_GasFernbEin_bit" == 1

Werden nun beide Eingaben gleichzeitig getätigt, so muss folgender Zustand vorliegen:

  • "SenFernb_FernbAktiv_bit" == 1
  • "SenFernb_LwFernbEin_bit" == 1
  • "SenFernb_GasFernbEin_bit" == 1

Bei allen drei Möglichkeiten des Eingriffs per Fernbedienung muss die blaue LED am höchsten Punkt des Fahrzeugs blinken. Nach Abschluss der o.g. Kontrolle ist das Fahrzeug betriebsbereit.

Filterung der Fernsteuerungssignale

Stand Sommersemester 2014:

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.

Stand Wintersemester 2014/15:

Die Filterung des Fernsteuerungssignals wurde nach neuen Erkenntnissen, auf dem Stand des SS2014 belassen. Dies geschah aus folgenden Gründen:

1.) Eine stärkere Filterung hätte Nachteile, welche das Signal beeinflussen. So würde sich beispielsweise eine Verzögerung einstellen, welche zur Folge hätte, dass das Fahrzeug nicht rechtzeitig unter Kontrolle gebracht werden könnte und dadurch ein Schaden entsteht.

2.) Die Störungen bei ausgeschalteter Fernbedienung lassen sich nicht vermeiden, da diese im Arbeitsbereich liegen. Eine Filterung würde die beschriebene Auswirkung der Verzögerung aus Punkt 1 nach sich ziehen.

3.) Werden die folgenden grundlegenden Dinge beachtet, ist das Signal nahezu störungsfrei:

- Achten Sie auf die Ladung der Fernbedienungsbatterien. Diese sollten immer voll sein.

- Achten Sie darauf, dass das Antennenkabel nicht um Motoren oder andere störende Bauteile gewickelt ist.

- Achten Sie darauf, dass das Antennenkabel 2-3 cm aus dem Führungsröhrchen hinaus ragt.

- Achten Sie darauf, dass die Fernbedienung immer Sichtkontakt zum Fahrzeug hat.

- Achten Sie darauf, dass die Trimmräder an der Fernbedienung nicht verstellt sind.

Optimierung der Fernbedienungsfunktionen

Implementierung von Test- und Wettbewerbsmodi

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 der start.m-Datei angelegt. 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. Da das Fahrzeug bei jeder autonomen Fahrt 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 eine Lookup-Table für den Wettbewerbsmodus und den Testmodus eingebaut, damit das Fahrzeug gestoppt werden kann. Hier wurde ein Totbereich erstellt, in dem das Fahrzeug zwar angesprochen wird, sich jedoch nicht bewegt. 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:

Abb. 9: ControlDesk Seite Fernbedienung

Test

Fehlerbehebung der Fernbedienungsfunktionen (WS 20/21)

Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021

Nachdem im Zuge der Fehleranalyse 20/21 das Trimmrad des "Gashebels" auf Mittelstellung gebracht und der Fahrtenregler auf diese Position kalibriert wurde, mussten die Lookup-Tables für den Testmodus/ Wettkampfmodus bzw. für das Gaspedal ("bib_Sensoren_Aktoren_online.mdl") neu parametriert werden. Dazu wurde zunächst der PWM Duty Cycle des Fernbedienungssignals des "Gashebels" für:

  • die Null- /Neutralstellung (DC = 0.079)
  • Gashebel maximal vorwärts (DC = 0.12)
  • Gashebel maximal rückwärts (DC = 0.064)

mit Hilfe von Control Desk ermittelt. Daraufhin konnte die Lookup-Table für den Test- und Wettkampfmodus (siehe Abschnitt "Optimierung der Fernbedienungsfunktion"), sowie die Lookup-Table für das Gaspedal (autonome Fahrt mit Längsregelung oder manuelle Geschwindigkeitsvorgabe über Control Desk) angepasst werden. Die Lookup-Table für das Gaspedal wird dabei über die Datei "param_AKT_online.m" parametriert. Die beschriebenen Lookup-Tables befinden sich im Block "AKT" -> "AktRtiPwm - PWM4fach-Modul der RTI-Bloecke" in der Bibliothek "bib_Sensoren_Aktoren_online.mdl":

Abb. 10: Lookup-Tables Fernbedienung/Gaspedal

Bei der Lookup-Table für den Fernbedienungseingriff wurde ein "Plateau" um die Nullstellung implementiert, um Störungen durch leichte Abweichungen des PWM-Signals (Fernbedienung) zu vermeiden. Das "Plateau" kann bei Bedarf noch angepasst werden. Des Weiteren wurden die Saturation-Blocks grob parametriert, um eine Geschwindigkeitsbegrenzung in beide Richtungen zu erreichen. Da die Ist-Geschwindigkeit des Fahrzeugs aktuell noch nicht korrekt ermittelt wird, muss die genaue Parametrierung für 1 m/s (Testmodus) und 0.3 m/s (Wettbewerbsmodus) noch erfolgen (siehe Abschnitt "Offene Punkte").

Zudem wurde zu Beginn des Semesters permanent ein Fernbedienungseingriff erkannt. Diese Problematik wurde im Block "SEN" -> "SenFernb - Fernbedienung" analysiert und behoben:

Abb. 11: Block "SenFernb - Fernbedienung" nach Änderung

Durch die falsche Verbindung eines Eingangs des OR-Gatters (siehe roten Signalpfad im Bild) wurde permanent das Bit "SenFernb_FernbAktiv_bit" gesetzt. Dies hatte zur Folge, dass das Fahrzeug die autonomen Fahrdisziplinen nicht ausführen konnte und die blaue LED am höchsten Punkt des Fahrzeugs dauerhaft einen Fernbedienungseingriff angezeigt hat, obwohl dieser nicht erfolgte. Des Weiteren musste der Block "Check Duty Cycle 2" (siehe roter Rahmen im Bild) neu parametriert werden. Die Parametrierung erfolgt in der Datei "param_SEN_online.m". Dazu wurde der Parameter "PAR_SenFernb_Gas_UpperBound_f64" auf den oberen Grenzwert und der Parameter "PAR_SenFernb_Gas_LowerBound_f64" auf den unteren Grenzwert des "Plateaus" um den Gasnullpunkt gesetzt. Der Block erzeugt eine logische 1 an seinem Ausgang, wenn der Eingangswert innerhalb der eingestellten Grenzen liegt. In Verbindung mit dem nachfolgenden NAND-Gatter wird erreicht, dass nur ein Fernbedienungseingriff erkannt wird, wenn sich der "Gashebel" der Fernsteuerung nicht in Neutralstellung befindet, das Fahrzeug also vorwärts oder rückwärts beschleunigt wird.

Zusammenfassung

Autoren: Martin Theine und Patrick Schumann
Stand: 12.02.2021

Die Weiterleitung der Fernbedienungssignale vom Empfänger zur dSPACE-Karte und von der dSPACE-Karte zum Antrieb konnte nach der Behebung von Hardwarefehlern (Kurzschlüsse/gebrochene Lötstellen) auf der zugehörigen Prototypenplatine sichergestellt werden. Fehlerprotokoll: Datei:CCF AEP Protokoll Fehleranalyse Fernbedienung und Antrieb.pdf

Nach der Fehlerbehebung des dauerhaften Fernbedienungseingriffs und der Neukalibrierung des Fahrtenreglers (und zugehöriger Anpassung der Lookup-Tables) konnte die korrekte Funktion des Fernbedienungseingriffs erfolgreich überprüft werden:

Offene Punkte

  • Kalibrierung der Lenkung (Neutralstellung) -> siehe Abschnitt "Kalibrierung des Lenkwinkels"
  • Sobald die Ist-Geschwindigkeit des Fahrzeugs wieder korrekt erfasst wird:
(1) Ermittlung des PWM Duty Cycles bei 1 m/s (Testmodus)
(2) Ermittlung des PWM Duty Cycles bei 0.3 m/s (Wettkampfmodus)
(3) Anpassen der Geschwindigkeitsbegrenzung mittels Saturation-Blocks in der Bibliothek "bib_Sensoren_Aktoren_online.mdl" -> Die Begrenzung wurde bislang nur schätzungsweise eingestellt

Ausblick

  • Fahrzeug soll bei Fernbedienungseingriff die autonome Fahrfunktion beenden/verlassen
  • Fahrzeug soll bei Fernbedienungseingriff zunächst anhalten
  • Nach Verlassen der autonomen Fahrdisziplin soll sich das Fahrzeug per Fernbedienung steuern lassen

Weiterführende Artikel

→ zurück zum Hauptartikel: Praktikum SDE

→ zum Artikel: Filterung Fernbedienung