Objekterkennung mit TeraRanger mit Matlab/Simulink auf einem EV3: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 141: Zeile 141:
| '''gemessene Signalstärke'''      || 0  || 5  || 23  || 25  || 29  || 35  || 39  || 50  || 71  || 106 || 117|| 132|| 179||202   
| '''gemessene Signalstärke'''      || 0  || 5  || 23  || 25  || 29  || 35  || 39  || 50  || 71  || 106 || 117|| 132|| 179||202   
|}
|}
[[Datei:Diagramm.S1.PNG|400px|thumb|right|Abbildung 1: IR Seeker V2 Sensor]]


==Dynamische Versuche==     
==Dynamische Versuche==     

Version vom 3. Juli 2017, 20:24 Uhr

Verfasser: Oleg Patrusev

Betreuer: Prof. Dr.-Ing. Ulrich Schneider

→ zurück zum Hauptartikel: Signalverarbeitende Systeme SoSe2017

Aufgabe

Im Rahmen des Projektes für das Modul "Signalverarbeitende Systeme" musste ein EV3 Lego Roboter so programmiert werden, dass er vor einem Objekt mit einem Abstand von 5 cm zum Stillstand kommt. Für den zugeteilten Sensor IR Seeker V2 ist ein zusätzliches Ziel hinzugefügt worden. Dieser muss zunächst einen IR Ball identifizieren und dann in einem Abstand von 5 cm zu diesem zum Stillstand kommen.

Für eine systematische Recherche und Lösung dieser Aufgabe sind entlang der Signalverarbeitungskette folgende Fargestellungen definiert und gestellt worden:

Schritte zur Signalbearbeitung

  1. Auswahl eines Primärsensors
    1. Wie funktioniert der Sensor?
    2. Welche Rohsignale liefert der Sensor?
  2. Signalvorverarbeitung
    1. Sollen Messwerte oder vorverarbeitete Daten übertragen werden?
    2. Wie lässt sich eine Vorverarbeitung umsetzen?
    3. Wird eine Kennlinie eingesetzt? Wenn ja, wie wird diese kalibriert?
  3. Analog-Digital-Umsetzer
    1. Wie werden die analogen Signale umgesetzt?
    2. Welcher ADU kommt zum Einsatz?
    3. Welche Gründe sprechen für diesen ADU? Alternativen?
  4. Bussystem
    1. Wird ein Bussystem zwischen Sensor und Mikrocontroller eingesetzt?
    2. Wenn ja, wie funktioniert dieses Bussystem?
  5. Digitale Signalverarbeitung
    1. Welche Verarbeitungsschritte sind notwendig?
    2. Welche Filter werden angewendet?
    3. Bestimmen Sie Auflösung, Empfindlichkeit und Messunsicherheit des Sensors.
  6. Darstellung der Ergebnisse
    1. Welche Fehler treten in welchem Verarbeitungsschritt auf?
    2. Stellen Sie die Messunsicherheit bzw. das Vertrauensintervall dar.

Restriktion der Pragrammierumgebung

Die Programmierung des EV3 Roboters muss mit dem Programm MATLAB durchgeführt werden.

Technische Spezifikationen des Sensors

Abbildung 1: IR Seeker V2 Sensor

Der Sensor NXT IRSeeker V2 wird von der Firma HiTechnic hergestellt. Es ist ein Infrarot Sensor mit mehreren Betriebsmodi und Funktionsweisen. Er identifiziert Infrarot-Signale aus verschiedenen Quellen wie Fernbedienungen, Sonnenlicht oder aus dem IR Ball (siehe Kapitel), der ebenfalls von der Firma HiTechnic hergestellt wird. Die verschiedenen Betriebsmodi sind in den nachfolgenden Kapiteln näher erläutert

Modulated Mode (AC)

In diesem Modus detektiert der Sensor modulierte bzw. regulierte Infrarot-Signale. Dazu zählen z. B. Fernbedienungen oder der IR Ball. In dem AC Mode filtert der Sensor ungewollte IR Signale heraus. Dazu gehören z.B. Interferenzen, die von Licht oder Sonne verursacht werden. In diesem Modus ist er auf Rechtecksignale mit einer Frequenz von 1200 Hz eingestellt.

Un-modulated Mode (DC)

In diesem Modus ist der Sensor in der Lage unmodellierte und unbestimmte IR-Signale zu identifizieren und zu messen.

Aufbau und Funktionsweise

Abbildung 2: Suchbereiche des IR Seeker V2
Abbildung 3: Suchbereiche des IR Seeker V2
Abbildung 4: I2C Schnittstelle

Der digitale Sensor besteht aus mehreren Teilen. Das Gehäuse ist aus Plastik. Weitere konstruktive und elektrische Komponenten sind:

  • 5 IR Sensoren, die jeweils in verschiedene Richtungen zeigen
  • eine abgerundete Objektivabdeckung, die dafür sorgt, dass eine unverzerrtes IR-Signal empfangen werden kann
  • ein leistungsfähiger DSP (digital signal processor) Prozessor, der die Signalverarbeitung für alle 5 Ein- und Ausgänge der Photodioden übernimmt (Verarbeitung von DC Signalen wie auch modulierten Signalen in einem Frequenzbereich zwischen 600 Hz und 1200 Hz)
  • ein Oszillator, der bei 10 Mhz läuft
  • und ein IC für die Signalvorverarbeitung

Für die jeweiligen fünf Infrarot Detektoren ist einem spezifischer Sektor zugewiesen (Abbildung 2). Die 5 Detektorsektoren sind in 9 Bereiche aufgeteilt (Abbildung 3). Jeder IR-Detektor überwacht einen Winkelbreich von 60°. Damit ergibt sich ein Gesamterfassungswinkel von 300°.


Durch den IR Seeker V2 werden folgende Werte ausgegeben. Ein Wert zwischen 0 und 9, der die Richtung identifiziert, aus welcher das IR-Signal kommt und Werte zwischen 0 bis 255 aus. Ein gemessener 0 Wert ist auf ein nicht gefundenes IR-Signal zurückzuführen. 255 ist der höchste Wert der gemessen werden kann und definiert die höchste Signalstärke.

Jeder IR-Detektor ist also in der Lage die Richtung eines IR-Signal zu identifizieren und seine Stärke zumessen.

Register Layout der IR Seekers V2

Adresse Datentyp Inhalt
41H Byte Modus (AC/DC)
42H Byte DC Richtungswert
43H Byte DC Sensor 1 Signalstärke
44H Byte DC Sensor 2 Signalstärke
45H Byte DC Sensor 3 Signalstärke
46H Byte DC Sensor 4 Signalstärke
47H Byte DC Sensor 5 Signalstärke
48H Byte AC Richtungswert (0-9)
49H Byte AC Sensor 1 Signalstärke
48H Byte AC Sensor 2 Signalstärke
48H Byte AC Sensor 3 Signalstärke
48H Byte AC Sensor 4 Signalstärke
48H Byte AC Sensor 5 Signalstärke
48H Byte DC Signal durchschnittliche Stärke
0 ×10 - I2C Adresse


Der Sensor besitzt eine I2C Schnittstelle und erlaubt damit eine direkte digitale Signalverarbeitung im Programm MATLAB.

IR-Ball Referenzdaten

Der IR-Ball wird ebenfalls von der Firma HiTechnic hergestellt und besteht aus folgenden Komponenten un Refernzgrößen:

  • ein durchsichtiges Plastikgehäuse (Durchmesser 75mm)
  • ein Attiny Microcontroller zur Steuerung der Dioden
  • 20 IR LEDs, die im Wellenbereich λ=940nm arbeiten
  • Stromversorgung über 4×AA Akkus
  • Gewicht ohne Akkus=95g, Geicht mit Akkus=150g

Der IR-Ball dient in der Aufgabenstellung als Hindernis vor dem es zu stoppen gilt.

Modellierung der Sensorkennlinie

Die genauen IR-Detektoren in dem IR Seeker V2 konnten nicht genau identifiziert werden. Auch auf Nachfrage bei dem Hersteller sind keine spezifischen Datenblätter herausgegeben worden. Es wurde recherchiert, ob der Sensor demontiert werden kann. Ohne gewaltsames Öffnen und bleibende Schäden ist dies leider nicht möglich und wurde auch unterlassen. Aus diesem Grund sind mehrere statische und dynamische Versuche durchgeführt worden. Diese werden in den nachfolgenden Kapiteln erklärt und die Ergebnisse nach wissenschaftlichem Standard dargestellt.

Bei der Durchführung der Versuche ist auf messtechnische Grundlagen geachtet worden. Systematische und zufällige Fehler werden identifiziert, berechnet und herausgerechnet. Weiterhin wurden folgende Vorkehrungen getroffen um die Fehler bei der Versuchsdurchführung zu minimieren:

  • Der Plastikkanal hat eine Länge von 120 cm und wurde mit doppelseitigem Industrieklebeband befestigt
  • Der Kanal ist in vier Bereiche aufgeteilt mit einer Segmentgröße von 30 cm
  • Für die Versuchsdurchführung ist eine Kellerraum ausgesucht worden, der sich komplett abdunkeln lässt (Trotz des AC Modus können nicht alle Interferenzen beseitigt werden)

Statische Versuche

Für die statischen Versuche ist ein provisorische Versuchsumgebung gebaut worden um die systematischen Fehler so weit wie möglich zu vermeiden.

Statischer Versuch 1

Beim statischen Versuch 1 ist der Richtungsbereich 5 als Referenzrichtung gewählt worden. Zunächst musste der maximale Entfernungsbereich Δt max zwischen dem Sensor und dem IR-Ball bestimmt werden. Der Sensor verliert bei einer Entfernung von über 378 cm die Konnektivität zu dem IR-Ball. Die nachfolgende Tabelle zeigt die verschiedenen Wertepaarungen. Das Digramm stellt die Kennlinie dar.

Entfernung in cm Δt 378 360 330 300 270 240 210 180 150 120 90 60 30 0
gemessene Signalstärke 0 5 23 25 29 35 39 50 71 106 117 132 179 202
Abbildung 1: IR Seeker V2 Sensor

Dynamische Versuche

→ zurück zum Hauptartikel: Signalverarbeitende Systeme SoSe2017