Objekterkennung mit HiTechnics EOPD mit Matlab/Simulink und EV3
Autorin: Lena Gödeke
Betreuer: Prof. Dr.-Ing. Ulrich Schneider
In diesem Projekt wird ein fahrbarer und lenkbarer Roboter, der einen EOPD (Electro Optical Proximity Detector)- Sensor enthält, mit Lego Mindstorms EV3 gebaut. Der Roboter soll mit Hilfe des Sensors ein Hindernis erkennen, das Signal verarbeiten und daraufhin automatisch abbremsen, sodass das Fahrzeug 5 cm vor dem Hindernis zum Stehen kommt.
Auswahl eines Primärsensors
Der Primärsensor ist ein EOPD Sensor, der im vorderen Bereich des EV3 Robotors angebracht wurde.
Funktionsweise
Der EOPD Sensor ist ein Näherungssensor, der eine interne Lichtquelle (rote LED) und ein sensitives Element nutzt, um eine Distanz zu einem Hindernis indirekt zu messen. Der Sensor wirft über die rote LED einen kegelförmigen Lichtstrahl aus. Trifft dieser auf einen Gegenstand wird der Lichtkegel reflektiert. Ein Teil des reflektierten Lichts gelangt wieder zurück zum Sensor. Das zurückkommende Licht wird vom Sensor über das sensitive Element gemessen. Da das reflektierte Licht von der Beschaffenheit des Zielgegenstandes und der Distanz zum Hindernis abhängt, ist dieser gemessene Wert proportional zur Distanz zum Hindernis und zur Beschaffenheit des Hindernisses. Um nun die Distanz messen zu können, muss die Beschaffenheit der Zieloberfläche bekannt sein und der Sensor vor der Messung darauf kalibriert werden. Auf diese Weise können Ziele, die zwischen 0 und 20 cm entfernt sind, vom EOPD Sensor erkannt werden. Der Unterschied zu anderen Lichtsensoren ist, dass der Sensor das Licht gepulst auswirft. Durch das gepulste Licht ist das Signal nicht von den äußeren Verhältnissen abhängig, da die gepulsten Signale deutlich von den äußeren Lichtverhältnissen zu unterscheiden sind.
Rohsignale des Sensors
Der Sensor liefert eine analoge Spannung. Dieser Wert nimmt mit steigendem Abstand zum Hindernis ab. Beim EV3 werden die Daten über ein sechsadriges Kabel übertragen. Auch die Spannungsversorgung läuft über dieses Kabel. Die genaue Pinbelegung des Steckers ist in der unten dargestellten Tabelle zu sehen. Der analoge Wert wird vom EV3 Roboter mit einem Analaog- Digital- Wandler eingelesen.
Leitung | Funktion | Ausgang(Motor) | Eingang (Sensor) |
---|---|---|---|
1 | Analoge Datenleitung | PWM 0 | ANALOG |
2 | Analoge Datenleitung | PWM1 | GND |
3 | Masseleitung | GND | GND |
4 | Versorgungsspannung | VDD | VDD |
5 | Digitale Datenleitung | I2 C 0 | I2 C 0 |
6 | Digitale Datenleitung | I2 C 1 | I2 C 1 |
In der Abbildung der Rohsignale sind die Rohsignale auf der y- Achse und die Distanz auf der x-Achse abgetragen. An dem Verlauf der Funktion ist zu erkennen, dass die Zuordnung antiproportional verläuft. Das bedeutet je Größer die wirkliche Distanz ist, desto kleiner sind die Rohdaten. Durch dem hyperbelförmigen Verlauf kann desweiteren geschlussfolgert werden, dass die Abnahme der Rohwerte quadratisch erfolgt. Somit kann die Funktion, die die Zuordnung zwischen Rohdaten und Distanz beschreibt, wie folgt zusammengefasst werden.
Nach der Distanz aufgelöst, ergibt sich daraus die nachfolgende Gleichung.
Um die Konstante im Nenner zu ermitteln können die Werte linearisiert werden, so dass aus der Steigung der Geraden die Abhängigkeit zwischen Distanz und
Signalvorverarbeitung
Analog-Digital-Umsetzer
Bussystem
Digitale Signalverarbeitung
Darstellung der Ergebnisse
Einzelnachweise
- ↑ Berns, D. K.; · S. K.; · Schmidt: Programmierung mit LEGO MINDSTORMS NXT - Robotersysteme, Entwurfsmethodik, Algorithmen. Springer Verlag, 2010. ISBN 978-3- 642-05469-3 6, 11, 13