AF: Abstandssensorik (SenAbs)

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autoren: Niklas Reeker & Oliver Scholze

Abb. 1: Darstellung der Primärsensors

Primärsensor

In dem Fahrzeug sind vier Infrarotsensoren verbaut um beim Einparken des Fahrzeugs den Abstand zu verschiedenen Objekten zu messen. In diesem Fall ist der Sensor Sharp GP2D120 verbaut. Weitere Informationen zu diesem Sensor sind in dem Artikel Infrarotsensoren und im Datenblatt im Web[1] oder im SVN[2] zu finden.

Messkette

Abb. 2: Darstellung der kompletten Messkette

Die Messkette erfolgt wie in Abb. 02. Das elektrische Signal von IR-Sensor wird vom ADC in ein digitales Signal gewandelt. Darauf folgt die Signalverarbeitung, die durch einen Filter für Signalspitzen und einen PT1 Tiefpassfilter realisiert wird. Nachdem das Signal bearbeitet ist, folgt ein Lookup Table. Dieser wird anhand der Kennlinie im Datenblatt aufgestellt oder selbst eingemessen und dient zur Umwandlung digitaler Messwerte, welche eine Spannung repräsentieren, in ein Abstandsmaß, in diesem Fall Meter. Die genaue Messkatte kann in der Abbildung 2 nachverfolgt werden.

Systementwurf

Einbauposition

Die genaue Position der Infrarotsensoren wird in der folgenden Tabelle (Positionsbestimmung durchgeführt am 25.04.2023) dargestellt und lässt sich durch das Fahrzeugkoordinatensystem in Abb. 04 nachverfolgen:

Tabelle 1: Einbauposition der IR-Sensoren
IR_Sensor x-Position y-Position
xVR (rechts vorne) -2.5 cm -10 cm
xHR (rechts hinten) -31 cm -10 cm
yHR (hinten links) -36 cm -9 cm
yHL (hinten rechts) -36 cm 9 cm
Abb. 3: Lage und Bezeichnung der IR-Sensoren

Sensoranschlussplan

Der Sensoranschlussplan, welcher der Tabelle zu entnehmen ist, beschreibt die Pinbelegung des Sensors anhand der Farbe des Kabels. Des Weiteren werden die Anschlusspins der DSpace Karte aufgeführt die im nächsten Unterpunkt spezifiziert werden.

Tabelle 2: Sensoranschlussplan
PIN Farbe des Kabels Pin am Sensor DS1104-Pin
1 Gelb Sensor_IR_V0 ADCH5 … 8
2 Orange Sensor_IR_GND GND
3 Rot Sensor_IR_VCC '-0,3 V ... +7 V


Analoge Signalverarbeitung

Um das analoge Signal digital zu verarbeiten, wird ein Analog-Digital-Umsetzer verwendet. Durch den ADU werden Spannungen in bestimmten diskreten Stufen wahrgenommen. Diese Spannungsstufen werden im Fall der DSPACE Karte, in dem ein 12-Bit Wandler verbaut ist, in Spannungsstufen unterteilt. Dabei hat eine Spannungsstufe, durch den maximalen Ausgang von 3,1 V und minimalen Ausgang von 0,25 V des IR-Sensor, eine Breite/Auflösung von: .

Schnittstelle zur DS1104

  • Pinbelegung/Anschlussplan
Tabelle 3: Pinbelegung/Anschlussplan
Sensor Pin Belegung Farbe Sensorposition Anschluss auf der Adapterplatine Anschluss auf DS1104 (Eingangssignal) Ausgangssignal
1 Ausgang Gelb rechts vorne J21_IR_V P1A-46_ADCH5 SenAbs_xVR_K_f64
1 Ausgang Gelb rechts hinten J22_IR_H P1B-46_ADCH6 SenAbs_xHR_K_f64
1 Ausgang Gelb hinten links J20_IR_HL P1B-44 ADCH8 SenAbs_yHL_K_f64
1 Ausgang Gelb hinten rechts J19_IR_HR P1A-44_ADCH7 SenAbs_yHR_K_f64
2 Masse (GND) Schwarz
3 Versorgungsspannung VCC Rot

Sensorblock - SenAbs

Die Signalverarbeitung erfolgt ausschließlich im Block SEN.

In der Abbildung 05 zeigt Lage der SenAbs - Abstandssensorik (in blau markiert) abgebildet.
Die Ausgangssignale haben die Bezeichnungen SenAbs_LookUpxVR_f64, SenAbs_LookUypxHR_f64, SenAbs_LookUpyHR_f64 und SenAbs_LookUpxHL_f64. Diese werden nach dem Filter für Signalspitzen abgegriffen.
Die anderen Ausgangssignale sind die Messwerte umgewandelt in Meter und haben die Bezeichnungen SenAbs_xVR_K_f64 , SenAbs_xHR_K_f64, SenAbs_yHL_K_f64 und SenAbs_yHR_K_f64.

Die darauffolgende Abbildung 06 zeigt die Signalverarbeitung im Block SenAbs - Abstandssensorik. Die Beschreibung findet sich in der nachfolgenden Tabelle:

Tabelle 4: Beschreibung der Simulink Blöcke
Simulink Block Funktion
DS1104ADC_C5 ... C8 Ist der Ausgang gewandelter analoger Signale in digitale Signale.
Infrarotsensor Vorfilterung des Messsignals zur Reduzierung von Signalspitzen.
PT1 (Ohne Beschriftung) Erneute Filterung des Messignals mithilfe eines Tiefpassfilters.
Lookup Table Digitale Signale, welche eine Spannung repräsentieren, in ein Abstandsmaß (Meter) umwandeln.
Tabelle 5: Signalbezeichnungen vom Eingang bis Ausgang für Messung mit ControlDesk (anhand der Abb. 5)
IR_Sensor Signalnamen in der Messkette
xVR ADCSenAbs_LookUpxVR_f64In1SenAbs_xVR_K_f64
xHR ADCSenAbs_LookUypxHR_f64In1SenAbs_xHR_K_f64
yHR ADCSenAbs_LookUpyHR_f64In1SenAbs_yHL_K_f64
yHL ADCSenAbs_LookUpxHL_f64 In1 SenAbs_yHR_K_f64

Die Tabelle zeigt die Signale, die man in ControlDesk auswählen muss um alle Daten aus der Messkette mitzuschneiden. Dieser Teil wird noch bearbeitet um die Signale besser zuordnen zu können (vgl. Tab.7).

Signalanalyse

Die Signalanalyse umfasst einen Funktionstest aller vier Sensoren auf eine bestimmte Referenzentfernung und anhand eines Sensors werden sämtliche Ein- und Ausgangsignale der Signalverarbeitungsblöcke dargestellt (vgl. Messkette).

Vorgehensweise bei der Messung

Hilfsmittel:

  • Zollstock
  • Rollwagen
  • Karton (Messobjekt)

Für den Funktionstest aller vier Sensoren wird ein Messobjektauf eine Entfernung von 15 cm vom jeweiligen Sensor aufgestellt. Daraufhin erfolgt die Messung mit ControlDesk und der Konvertierung der Messdaten in Matlab. Die Auswertung der Messdaten ist in Abbildung 8 dargestellt.
Für die Darstellung der Messkette, werden Messobjekte auf verschieden Entfernungen zum Sensor gemessen. Verwendet wurde dabei der IR-Sensor yHL. Es wurde ein Messobjekt auf einem Rollwagen montiert, welches leicht in die passende Entfernung bewegt werden konnte. Die Messung erfolgte somit kontinuierlich, von der geringsten Entfernung bis zur maximalen messbaren und logischen Entfernung (siehe Artikel des Primärsensors) des Infrarotsensors. An den in der Tabelle 6 angegebenen Messentfernungen wurde jeweils kurz die Entfernung gleich gelassen bevor man zur nächsten Entfernung weitergegangen ist. Alle weiteren Informationen zur Messung befinden sich in der Tabelle 6 Messdatenbeschreibung.

Tabelle 6: Messdatenbeschreibung
Beschreibung Referenzentfernungen Dateiname Signalnamen
Funktionstest der x-IR-Sensoren 15 cm 2023_04_18_IR_Test002.mat SenAbs_xVR_K_f64 SenAbs_xHR_K_f64
Funktionstest der y-IR-Sensoren 15 cm 2023_04_18_IR_Test003.mat SenAbs_yHL_K_f64 SenAbs_yHR_K_f64
Messkette des Sensors yHL 4, 10, 20, 25, 30 cm 2023_04_18_IR_Test006.mat ADCSenAbs_LookUpxHL_f64In1SenAbs_yHR_K_f64

Funktionstest aller 4 Sensoren auf Referenzentfernung 15 cm

Der Funktionstest der vier Sensoren in einem Abstand von 15cm ist in Abbildung 8 dargestellt. Als Referenz würden die Abstände gemessen und die einzelnen Tests schriftlich festgehalten. Die Abbildung zeigt die gemessene Entfernung jedes einzelnen Sensors. Die eingezeichnete Referenzlinie zeigt die wirkliche Entfernung zum Sensor an.

Kennlinientest eines Sensors auf die Referenzentfernungen 4 cm ... max. 30 cm Reichweite

Der Kennlinientest ist in Abbildung 9 dargestellt. Dabei wurden die Entfernungen von 4cm, 10cm, 20cm, 25cm und 30cm eingemessen. Als Referenz würden die Abstände gemessen und die einzelnen Tests schriftlich festgehalten. Die Grafik zeigt die einzelnen Messwerte des in Abbildung 6 gezeigten Modells zu den oben genannten Entfernungen.

Liste offener Punkte (LOP)

Tabelle 7: Liste offener Punkte (LOP)
# Problem Analyse Maßnahme Freigabe Wirksamkeit Dokumentation
1 SenAbs-Block ist schlecht kommentiert Kommentare wurden bei Erstellung vergessen Signale benennen, Kommentare einfügen x
2 IR Abstand berechnen wird nicht verwendet Toter Code löschen x
3 FilterIRSpikes komplexer m-Code Code zu komplex Ersetzen durch Simulink-Median-Block x
4 PT1 Doppelte Filterung sorgt nicht für verbessertes Signal PT1 löschen und lediglich Medianfilterung verwenden x
5 Knicks in Lookup-Table Nicht genügend Messwerte in Lookup tabel aufgenommen Unkritisch da Knick kaum Einfluss auf das Einparken des Fahrzeugs hat
6 Namensgebung yHR und xHR sind vertauscht Fehler bei Erstellung des Skripts Signale korrekt umbenennen x
7 Sensor xHR ist nicht immer funktionstüchtig Unbekannt evtl. Wackelkontakt Elektrisches Signal nachmessen wenn Sensor nicht funktioniert um Hardwarefehler auszuschließen x
8 Alle Sensoren messen laut Abb. 7 falsch Analyse notwendig! Anpassung der Lookup Tabels
9 Ultraschall Sensorik ist am Fahrzeug nicht installiert Toter Code Simulink Modell bereinigen (Ultraschallsensorik löschen) x

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

Wirksamkeit der Änderungen

Am Anfang der Umsetzung erfolgte die Umsetzung der Punktes zwei und neun (siehe Tabelle 7), dadurch ist die Übersichtlichkeit des Modells deutlich gestiegen.

Darauf folgte das Ersetzen des Simulink Blocks FilterIRSpikes, durch einen Median Filter mit einer Länge von 100 Werten. Dieser Wert wurde Aufgrund des hervorragenden Messignales ausgewählt. Die Reaktion durch den Median Filter ist, wie in Abbildung 9 zu sehen, deutlich gestiegen und eignet sich somit besser für das autonome Einparken. Ein Nachteil ist jedoch, dass das Messignal kleine Spikes aufweist und das Ausgangssignal eine dauerhafte minimale Messungenauigkeit bekommt. In Verbindung mit dem PT1 Filter konnten die Spikes reduziert werden ohne die Reaktionszeit zu beeinträchtigen, weshalb dieser nach dem Median Filter zum Einsatz kommt und nicht wie im Punkt 4 der Tabelle 7 gelöscht wird.

Danach erfolgte die Bearbeitung der Lookup Tabels, da dass Messignal zu beginn nicht immer den Referenzabständen entsprach und zudem die Messkette mit einem Gain von 10 erweitert wurde. Der Gain wird aufgrund des ADC eingesetzt, da dieser das Signal durch 10 teilt und die umgewandelten Werte nicht der Einheit Volt entsprachen.

Für die Übersichtlichkeit und Nachverfolgbarkeit von Signalen erfolgte eine eindeutige Namensgebung. Zudem wurden die Blöcke in der Messkette benannt und die Funktion beschrieben.

Nachdem die Liste der offenen Punkte (siehe Tabelle 7) bearbeitet wurde, ist das Simulink Modell der Abstandssensorik komplett beschrieben (siehe Abbildung 8) und das Ausgangssignal entspricht der Referenzmessung (siehe Abbildung 9 und 10).

Zusammenfassung

Alle Sensoren sind teilweise funktionsfähig und die Genauigkeit der Messwerte ist ausreichend für die Abstandsbestimmung zum autonomen Einparken. Der IR-Sensor xHR ist nicht immer funktionsfähig, nach einem Neustart des Fahrzeugs und ControlDesk kann dieser wieder verwendet werden. Außerdem müssen ein paar Änderungen vorgenommen werden um den Code zu optimieren und ihn mit Kommentaren verständlicher zu gestalten.

Datenblätter

Der Hersteller Sharp stellt Datenblätter zu dem Sensor bereit. Diese sind sowohl in SVN[2] als auch im Web[1] abrufbar.

Literatur

  • Stefan Hesse, Gerhard Schnell: Sensoren für die Prozess- und Fabrikautomation. Wiesbaden 2018, ISBN 978-3-658-21173-8, S. 78–80, 371f.

Einzelnachweis

  1. 1,0 1,1 Datenblatt Sharp GD2D120:Web
  2. 2,0 2,1 Datenblatt Sharp GD2D120:SVN
  3. Eigenes Dokument
  4. Eigenes Dokument
  5. Eigenes Dokument
  6. Eigenes Dokument
  7. Eigenes Dokument
  8. Eigenes Dokument
  9. Eigenes Dokument
  10. Eigenes Dokument

Dokumentation in SVN

Die Messdaten, sowie die für die Auswertung verwendeten Matlabskripte können hier in SVN aufgerufen werden.


→ zurück zum Hauptartikel: Praktikum SDE | SDE-Team 2023/24 | Lernzielkontrolle 1