Vorlesung Elektrische Messtechnik I+II

Transcription

Vorlesung Elektrische Messtechnik I+II
Informationstechnisches Projekt
2012
Dr.-Ing. R. Heynicke
Dipl.-Inf.-Ing. T. Schröder
Dipl.-Ing. D. Krüger
Professur für Elektrische Messtechnik
Termine
1. Gruppe A 07.05.2011,
Gruppe B 08.05.2011 jeweils 14:00 – 17:00 Uhr.
2. Gruppe A 14.05.2011,
Gruppe B 15.05.2011 jeweils 14:00 – 17:00 Uhr.
3. Gruppe A 21.05.2011,
Gruppe B 22.05.2011 jeweils 14:00 – 17:00 Uhr.
4. Gruppe A ??.05.2011,
Gruppe B ??.05.2011 nach Vereinbarung.
Professur für Elektrische Messtechnik
2
Ausstattung
•
•
•
•
•
•
LEGO Mindstorm® NXT Roboter
Ladegerät
USB-Programmierkabel
2 x USB-Verlängerungskabel (5m)
Logitech C600 WebCam
Hama Star 61 Stativ
Professur für Elektrische Messtechnik
13
Rückgabe
• Direkt nach Prüfung vom 2. ITP-Teil
– 1x USB-Verlängerungkabel (5m)
– Logitech C600 WebCam
– Hama Star 61 Stativ
• Bis 29. bzw. 30. Juni in H1 Raum 1491
–
–
–
–
LEGO Mindstorm® NXT Roboter
1x USB-Verlängerungskabel (5m)
USB-Programmierkabel
Ladegerät
Professur für Elektrische Messtechnik
14
Software
• Zu installieren: (Im PC-Pool bereits installiert!)
– USB-Driver für LEGO Mindstorms NXT "Fantom", version 1.02 or higher
http://mindstorms.lego.com/en-us/support/files/Driver.aspx
– Logitech WebCam C600
http://www.logitech.com/de-at/435/5869
• Herunterladen und lokal speichern:
– RWTH-Mindstorms NXT Toolbox for MATLAB: (verwenden Sie version 4.04)
http://www.mindstorms.rwth-aachen.de/trac/
Quelle:
http://www.mindstorms.rwth-aachen.de/trac/wiki/Download4.04
Professur für Elektrische Messtechnik
5
Aufgaben
1. Positionsbestimmung mittels Webcam
2. Einparkhilfe
3. Geschwindigkeitskontrolle
Professur für Elektrische Messtechnik
6
Aufgabe 1: Steuerung per WebCam
Schreiben Sie eine Matlab-Funktion, mit der die Position des sich bewegenden Lego
Mindstorm® Roboters (mit einen Grünen Punkt gekennzeichnet) auf dem Fussboden
an hand von Bilder der Logitech-Webcam berechnet und über die Zeit im 2D-Plot
aufgzeigt wird. Verwenden Sie hierzu die auf dem Stativ in 1,5 Meter Höhe
montierten Webcam. Der untere Bildrand befindet sich auf dem Fußboden in einen
definierten Abstand vom der Kamerazentrum entfernt. Der Roboter fährt entlang
einer Schleifer.
• Matlab-Funktion (vorschlag):
– videoinput('winvideo'), start, getsnapshot, stop, imshow, ind2sub, figure,
conv2, zeros
• Gegebene Werte:
– Brennweite [mm] (horizontal,vertikal) = ca. [4.6 5]
– Sensor Abmaße [mm] (horizontal,vertikal) = [4.536 3.416]
– Bildauflösung (Standard) = RGB24 640x480
Professur für Elektrische Messtechnik
17
Matlab Handle-ID
Die COM-Schnittstelle besteht aus Eigenschaften, Methoden und Ereignissen. Mit
handle_id = COM_OpenNXT()
wird ein COM-Objekt zurückgegeben, welches Zugriff auf diese COM-Schnittstelle
ermöglicht. Gleiches gilt auch für USB-WebCAM:
handle_id = videoinput('winvideo')
Um Bilder mit der WebCam zu erstellen ist die Verbindung zu initialisiern
start(handle_id)
Um ein rgb-Bild zu erhalten ist folgender Befehl auszuführen:
rgb = getsnapshot(handle_id)
Wenn die Verbindung nicht mehr benötigt wird ist diese zu schließen
close(handle_id)
Professur für Elektrische Messtechnik
8
Aufgabe 1: Steuerung per WebCam
Geometrie
• Die Brennweite b wird in
Millimetern angegeben und
bedeutet, streng genommen, die
Entfernung zwischen der
Aufnahmeebene (CCD-Chip
oder Film) und der ObjektivHauptebene.
Professur für Elektrische Messtechnik
19
Aufgabe 1: Positionsbestimmung mittels Webcam
Professur für Elektrische Messtechnik
10
Aufgabe 2: Einparkhilfe
Schreiben Sie eine Matlab-Funktion, welche eine seitliche Einparkhilfe für den
Roboter realisiert. Die Einparkbucht ist 30cm breit und 17cm tiefe, die Wände sind
mindestens 30 cm hoch und aus Pape. Verwenden Sie den Ultrschallsensor des
Roboters. Der Fahrweg des Roboters soll in einem Plot gezeichnet werden.
• Gegebene Werte:
– Anfangsabstand zur Wand 5cm
– Der Roboter soll hinter der Linie in der Einparkbucht stehen
Professur für Elektrische Messtechnik
1  11
Aufgabe 2: Einparkhilfe
Professur für Elektrische Messtechnik
1  12
Aufgabe 2: Einparkhilfe
Professur für Elektrische Messtechnik
13
Aufgabe 3: Geschwindigkeitskontrolle
Schreiben Sie eine Matlab-Funktion, welche die Geschwindigkeit in Abhängigkeit
der Frequenz des durch die Lautstärke modulierten Sinussignal (zwischen 1 bis 10
Hz) des Roboters während der Fahrt regelt. Der Fahrweg soll der Form einer Schleife
wie in der 1. Aufgabe entsprechen.
Gegebene Werte:
– Lautstärkenmodulation für schnelles fahren
– Lautstärkenmodulation für langsames fahren
Die Matlab-Code wird auf der Homepage zum herunterladen zur Verfügung gestellt!
Professur für Elektrische Messtechnik
1  14
Aufgabe 3: Geschwindigkeitskontrolle
Professur für Elektrische Messtechnik
15
RWTHMindstormsNXT\tools\GUI_WatchSensor.m
Professur für Elektrische Messtechnik
16
RWTHMindstormsNXT\tools\GUI_WatchMotorState.m
Professur für Elektrische Messtechnik
17
Dokumentation
Per Browser unter RWTHMindstormsNXT/doc
– Functions - Alphabetical List
• doc/functions/abc.html
– Beispiele
• doc/examples/examples.html
– Direct NXT commands
• /doc/programming/direct_commands.html
– High level sensor control
• doc/programming/sensor_control.html
– ….
Professur für Elektrische Messtechnik
18
Funktionen der NXT-Toolbox
Verwenden Sie zum Warten auf den NXT den Matlab „pause()“-Befehl!
• NXT-Verbindung:
– COM_CloseNXT, COM_OpenNXT, COM_SetDefaultNXT,
COM_GetDefaultNXT
• NXT-Sensoren:
– OpenUltrasonic, GetUltrasonic, OpenSound, GetSound, CloseSensor
• NXT-Motoren:
– NXT_ResetMotorPosition, DirectMotorCommand, NXC_MotorControl,
NXT_GetOutputState
Professur für Elektrische Messtechnik
1  19
Heute
• Es ist ein Projekt und KEINE Übung!
– Es gibt somit keine einzelnen Aufgaben für jeden Termin.
– Jede Gruppe hat drei Aufgaben, welche sie lösen soll.
– Wir helfen euch bei Fragen zur Realisierung.
– TIP: Setzt euch Deadlines, damit Ihr am letzten Abend nicht alles
machen müsst!
Professur für Elektrische Messtechnik
20
Heute
• Für heute sollte mindestens folgendes funktionieren:
– Verbindung zwischen Matlab und Roboter per Command-Befehl
– Auslesen von Sensordaten per Command-Befehl
– Roboter per Command-Befehl bewegen
– Bild erstellen mittels WebCam unter Matlab per CommandBefehl
– Verteilung der Aufgaben und vielleicht Deadlines
Professur für Elektrische Messtechnik
21
Fragen ?
Professur
für Elektrische Messtechnik
1  22
dann viel Spaß!
Diese Folien findet Ihr auf unserer Homepage
http://emt.hsu-hh.de
unter Lehre » Informationstechnisches Projekt Vorlesung
Professur
für Elektrische Messtechnik
1  23