Pick & Place: Unterschied zwischen den Versionen
(Vorbereitungen, Links) |
(Vorbereitungen, Einzelnachweise) |
||
Zeile 18: | Zeile 18: | ||
Vor der Bearbeitung der Aufgabe sind einige Vorbereitungen zu treffen. Zum einen wird ein Grundverständnis für die Bildverarbeitung und die Koordinatentransformation vorausgesetzt. Dieses wurde im Rahmen der Veranstaltung ''Digitale Signal- und Bildverarbeitung'' während des Sommersemesters 2014 im Studiengang Mechatronik der HSHL erlangt. Eine weitere Recherche in Literatur und im Internet erwies sich jedoch als sehr zielführend. Besonders zur Umsetzung in Matlab konnten hier einige hilfreiche Hinweise gefunden werden. | Vor der Bearbeitung der Aufgabe sind einige Vorbereitungen zu treffen. Zum einen wird ein Grundverständnis für die Bildverarbeitung und die Koordinatentransformation vorausgesetzt. Dieses wurde im Rahmen der Veranstaltung ''Digitale Signal- und Bildverarbeitung'' während des Sommersemesters 2014 im Studiengang Mechatronik der HSHL erlangt. Eine weitere Recherche in Literatur und im Internet erwies sich jedoch als sehr zielführend. Besonders zur Umsetzung in Matlab konnten hier einige hilfreiche Hinweise gefunden werden. | ||
=== Erforderliches Equipment === | === Erforderliches Equipment === | ||
* | * Lego NXT Roboter | ||
** Lego Mindstorms Basisset 9797 | |||
** Lego Mindstorms Ergänzungsset 9648/9695 | |||
* Webcam (z. Bsp. Logitech C310) | |||
* HSHL-Tasse | |||
* Zuckerstücke | |||
* Tesafilm | |||
* Notebook oder Rechner mit Matlab | |||
=== Erforderliche Software === | |||
* Matlab (es wird die Version 2014a empfohlen aufgrund der [http://www.mathworks.de/products/image/whatsnew.html ''Image Processing Toolbox'')] | |||
* [http://www.mindstorms.rwth-aachen.de/trac/wiki/Download RWTH - Mindstorms NXT Toolbox für MATLAB ] | |||
* [http://www.lego.com/en-us/mindstorms/downloads/nxt/nxt-fantom-driver/ LEGO Mindstorms NXT Treiber ''Fantom''] | |||
* [http://www.lego.com/en-us/mindstorms/downloads/nxt/nxt-firmware/ NXT Firmware Version 1.28 oder höher] | |||
* [http://bricxcc.sourceforge.net/utilities.html NeXTTool] | |||
* [http://www.vision.caltech.edu/bouguetj/calib_doc/ Camera Calibration Toolbox für Matlab] | |||
Die Hyperlinks führen jeweils zur Download-Seite. Matlab ist über das ZFW (Zentrum für Wissensmanagment) der HSHL zu bekommen. | |||
=== Installation der Treiber === | |||
Diese Schritt-für-Schritt-Anleitung orientiert sich an der Beschreibung der RTWH Aachen <ref>[http://www.mindstorms.rwth-aachen.de/trac/wiki/Download4.08 Homepage] der RTWH Aachen zur Mindstorms NXT Toolbox (letzter Aufruf 19.6.2014)</ref>. | |||
#'''Toolbox der RWTH Aachen''' | |||
##Toolbox der RWTH Aachen herunterladen. | |||
##Heruntergeladene Datei extrahieren. | |||
##Toolbox als Matlab-Pfad hinzufügen. | |||
###''Set Path'' in Matlab aufrufen. | |||
###''Add with subfolders'' aufrufen und Verzeichnis der Toolbox auswählen. | |||
###Speichern nicht vergessen. | |||
#'''Firmware des NXT''' | |||
##Version der Firmware auf dem NXT überprüfen. Die Version lässt sich im Menü des NXT einsehen. | |||
##Wenn die Version älter ist als 1.28 bwz. 1.29, die Firmware herunterladen. | |||
##Die Firmware auf den NXT laden, z.Bsp. mit der Funktion ''FlashNXTWithFirmware1.29.bat'' in ''/tools/MotorControl'' im Verzeichnis der Toolbox. | |||
#'''Laden von ''MotorControl'' auf NXT | |||
##''NeXTool'' herunterladen und im Verzeichnis ''/tools/MotorControl'' der Toolbox speichern. | |||
##In Windows-Systemen nun die Funktion '''TransferMotorControlBinaryToNXT.bat''' aufrufen, um mit ''NeXTool'' die ''MotorControl*.rxe'' auf den NXT zu laden. | |||
##Den Schritten im Command-Fenster folgen. | |||
#'''Treiber''' Wird beispielhaft für Windows 32 bit mit USB-Verbindung erklärt. Das Vorgehen für andere Betriebssysteme oder die Bluetooth-Verbindung kann auf der Internetseite der RWTH Aachen<ref>[http://www.mindstorms.rwth-aachen.de/trac/wiki/Download4.08 Internetseite der RWTH Aachen]</ref> nachgesehen werden unter ''Check other software requirements''. | |||
##NXT ''Fantom''-Treiber herunterladen und installieren. | |||
#'''Funktionstext''' | |||
##USB-Verbindung zwischen NXT und Rechner bzw. Notebook herstellen. | |||
##NXT einschalten. | |||
##Matlab starten. | |||
##Im ''Command Window'' von Matlab ''COM_OpenNXT'' ausführen (einfach eintippen und mit Enter ausführen). | |||
##Wird der Aufruf ohne Fehler ausgeführt, ist die Installation erfolgreich abgeschlossen. | |||
=== Installation der ''Camera Calibration Toolbox'' === | |||
Diese Beschreibung ist angelehnt an die Erläuterungen von Jean-Yves Bouguet <ref>Jean-Yves Bouguet: ''Camera Calibration Toolbox for Matlab''. ([http://www.vision.caltech.edu/bouguetj/calib_doc/ Homepage], letzter Aufruf 19.6.2014)</ref>. | |||
#Toolbox herunterladen. | |||
#Heruntergeladene Datei extrahieren. | |||
#Den Ordner ''TOOLBOX_calib'' als Matlab-Pfad hinzufügen (Vorgehen vgl. RWTH-Toolbox s. o.). | |||
#Starten mit ausführen von ''calib_gui'' in Matlab. | |||
Die genaue Vorgehensweise bei der Kalibrierung der Kamera wird an dieser Stelle nicht erläutert. Ich verweise an dieser Stelle auf die Homepage zur Toolbox und den Artikel von Herrn Deitel zu diesem Thema <ref>Deitel, M.: ''Extrinsische und Intrinsische Kameraparameter''. Lippstadt, Bericht Seminarvortrag, 2013. [http://193.175.248.171/wiki/images/b/b7/SDE_Seminar_Michael_Deitel.pdf Link]</ref>. | |||
== Hardware == | == Hardware == | ||
Zeile 28: | Zeile 78: | ||
== Reflexion - Lessons Learned == | == Reflexion - Lessons Learned == | ||
== Einzelnachweise == | |||
<references /> | |||
== Siehe auch == | == Siehe auch == | ||
* [[Objekterkennung mit Kamera]] | * [[Objekterkennung mit Kamera]] | ||
* [[Camera Calibration Toolbox]] | * [[Camera Calibration Toolbox]] | ||
* [[RWTH Aachen Toolbox meets NXT]] | |||
* [[Lego Mindstorms]] | |||
* Tönnies, Klaus D.: ''Grundlagen der Bildverabeitung''. Pearson Studium, München, 2005. ISBN 3-8273-7155-4 | * Tönnies, Klaus D.: ''Grundlagen der Bildverabeitung''. Pearson Studium, München, 2005. ISBN 3-8273-7155-4 | ||
<!-- <ref>Reif, Konrad (Hrsg.): ''Batterien, Bordnetze und Vernetzung''. Vieweg+Teubner, Wiesbaden, 2010. S. 120ff. ISBN 978-3-8348-1310-7</ref> --> | <!-- <ref>Reif, Konrad (Hrsg.): ''Batterien, Bordnetze und Vernetzung''. Vieweg+Teubner, Wiesbaden, 2010. S. 120ff. ISBN 978-3-8348-1310-7</ref> --> | ||
Zeile 37: | Zeile 92: | ||
* [http://www.vision.caltech.edu/bouguetj/calib_doc/ Beschreibung, Tutorial und Downlod der Camera Calibration Toolbox für Matlab von Jean-Yves Bouguet] | * [http://www.vision.caltech.edu/bouguetj/calib_doc/ Beschreibung, Tutorial und Downlod der Camera Calibration Toolbox für Matlab von Jean-Yves Bouguet] | ||
* [http://www.mindstorms.rwth-aachen.de/documents/downloads/doc/version-4.03/motor_control.html Beschreibung der Klasse ''NXTmotor'' der RWTH Aachen] | * [http://www.mindstorms.rwth-aachen.de/documents/downloads/doc/version-4.03/motor_control.html Beschreibung der Klasse ''NXTmotor'' der RWTH Aachen] | ||
* [http://www.mathworks.de/products/image/whatsnew.html Matlab-Seite zur ''Image Processing Toolbox''] | |||
* [http://www.mindstorms.rwth-aachen.de/ Homepage der RWTH Aachen zur Mindstorms NXT Toolbox für MATLAB] | |||
* [http://www.lego.com/en-us/mindstorms/downloads/nxt/nxt-software/ Downloadseite von Lego] | |||
<!--Das ist ein Kommentar--> | <!--Das ist ein Kommentar--> | ||
---- | ---- | ||
→ zurück zum Hauptartikel: [[DSB_SoSe2014| Digitale Signal- und Bildverarbeitung SoSe2014]] | → zurück zum Hauptartikel: [[DSB_SoSe2014| Digitale Signal- und Bildverarbeitung SoSe2014]] |
Version vom 19. Juni 2014, 20:10 Uhr
Autor: Daniel Block
Betreuer: Prof. Schneider
Motivation
Ein Roboterarm ist ein tolles Anschauungsobjekt, um etwas über Koordinatentransformation zu lernen.
Ziel
Programmiern Sie einen Roboterarm so, dass er sich ein Zuckerstücke von einem Haufen nimmt und dieses in eine HSHL-Tasse fallen lässt.
Aufgabe
- Erkennen Sie mit einer Webcam einen Zuckerwürfel.
- Konstruieren Sie den Standadrd Lego Roboterarm so, dass er den Zuckerwürfel greifen kann.
- Analysieren Sie die Videoszene und steuern Sie den Roboterarm, so dass er den Zucker Greift und diesen kollisionsfrei in die Tasse fallen lässt.
Vorbereitungen
Vor der Bearbeitung der Aufgabe sind einige Vorbereitungen zu treffen. Zum einen wird ein Grundverständnis für die Bildverarbeitung und die Koordinatentransformation vorausgesetzt. Dieses wurde im Rahmen der Veranstaltung Digitale Signal- und Bildverarbeitung während des Sommersemesters 2014 im Studiengang Mechatronik der HSHL erlangt. Eine weitere Recherche in Literatur und im Internet erwies sich jedoch als sehr zielführend. Besonders zur Umsetzung in Matlab konnten hier einige hilfreiche Hinweise gefunden werden.
Erforderliches Equipment
- Lego NXT Roboter
- Lego Mindstorms Basisset 9797
- Lego Mindstorms Ergänzungsset 9648/9695
- Webcam (z. Bsp. Logitech C310)
- HSHL-Tasse
- Zuckerstücke
- Tesafilm
- Notebook oder Rechner mit Matlab
Erforderliche Software
- Matlab (es wird die Version 2014a empfohlen aufgrund der Image Processing Toolbox)
- RWTH - Mindstorms NXT Toolbox für MATLAB
- LEGO Mindstorms NXT Treiber Fantom
- NXT Firmware Version 1.28 oder höher
- NeXTTool
- Camera Calibration Toolbox für Matlab
Die Hyperlinks führen jeweils zur Download-Seite. Matlab ist über das ZFW (Zentrum für Wissensmanagment) der HSHL zu bekommen.
Installation der Treiber
Diese Schritt-für-Schritt-Anleitung orientiert sich an der Beschreibung der RTWH Aachen [1].
- Toolbox der RWTH Aachen
- Toolbox der RWTH Aachen herunterladen.
- Heruntergeladene Datei extrahieren.
- Toolbox als Matlab-Pfad hinzufügen.
- Set Path in Matlab aufrufen.
- Add with subfolders aufrufen und Verzeichnis der Toolbox auswählen.
- Speichern nicht vergessen.
- Firmware des NXT
- Version der Firmware auf dem NXT überprüfen. Die Version lässt sich im Menü des NXT einsehen.
- Wenn die Version älter ist als 1.28 bwz. 1.29, die Firmware herunterladen.
- Die Firmware auf den NXT laden, z.Bsp. mit der Funktion FlashNXTWithFirmware1.29.bat in /tools/MotorControl im Verzeichnis der Toolbox.
- Laden von MotorControl auf NXT
- NeXTool herunterladen und im Verzeichnis /tools/MotorControl der Toolbox speichern.
- In Windows-Systemen nun die Funktion TransferMotorControlBinaryToNXT.bat aufrufen, um mit NeXTool die MotorControl*.rxe auf den NXT zu laden.
- Den Schritten im Command-Fenster folgen.
- Treiber Wird beispielhaft für Windows 32 bit mit USB-Verbindung erklärt. Das Vorgehen für andere Betriebssysteme oder die Bluetooth-Verbindung kann auf der Internetseite der RWTH Aachen[2] nachgesehen werden unter Check other software requirements.
- NXT Fantom-Treiber herunterladen und installieren.
- Funktionstext
- USB-Verbindung zwischen NXT und Rechner bzw. Notebook herstellen.
- NXT einschalten.
- Matlab starten.
- Im Command Window von Matlab COM_OpenNXT ausführen (einfach eintippen und mit Enter ausführen).
- Wird der Aufruf ohne Fehler ausgeführt, ist die Installation erfolgreich abgeschlossen.
Installation der Camera Calibration Toolbox
Diese Beschreibung ist angelehnt an die Erläuterungen von Jean-Yves Bouguet [3].
- Toolbox herunterladen.
- Heruntergeladene Datei extrahieren.
- Den Ordner TOOLBOX_calib als Matlab-Pfad hinzufügen (Vorgehen vgl. RWTH-Toolbox s. o.).
- Starten mit ausführen von calib_gui in Matlab.
Die genaue Vorgehensweise bei der Kalibrierung der Kamera wird an dieser Stelle nicht erläutert. Ich verweise an dieser Stelle auf die Homepage zur Toolbox und den Artikel von Herrn Deitel zu diesem Thema [4].
Hardware
Aufbau
Bilderkennung
Hardware-Ansteuerung
Reflexion - Lessons Learned
Einzelnachweise
- ↑ Homepage der RTWH Aachen zur Mindstorms NXT Toolbox (letzter Aufruf 19.6.2014)
- ↑ Internetseite der RWTH Aachen
- ↑ Jean-Yves Bouguet: Camera Calibration Toolbox for Matlab. (Homepage, letzter Aufruf 19.6.2014)
- ↑ Deitel, M.: Extrinsische und Intrinsische Kameraparameter. Lippstadt, Bericht Seminarvortrag, 2013. Link
Siehe auch
- Objekterkennung mit Kamera
- Camera Calibration Toolbox
- RWTH Aachen Toolbox meets NXT
- Lego Mindstorms
- Tönnies, Klaus D.: Grundlagen der Bildverabeitung. Pearson Studium, München, 2005. ISBN 3-8273-7155-4
Weblinks
- Beschreibung, Tutorial und Downlod der Camera Calibration Toolbox für Matlab von Jean-Yves Bouguet
- Beschreibung der Klasse NXTmotor der RWTH Aachen
- Matlab-Seite zur Image Processing Toolbox
- Homepage der RWTH Aachen zur Mindstorms NXT Toolbox für MATLAB
- Downloadseite von Lego
→ zurück zum Hauptartikel: Digitale Signal- und Bildverarbeitung SoSe2014