Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

7 Schritt:Schritt 1: Software-Installation Schritt 2: Microsoft Kinect und Rhino XR-4 Robotic Arm Schritt 3: Position, sichere und von unten die Microsoft Kinect Schritt 4: Laden Sie die beigefügten Simulink Models und MATLAB-Dateien Schritt 5: Koordinatentransformation Schritt 6: Definition eines neuen Volume Schritt 7: Dass sie alle zusammen!

Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

Roboter sind schnell zu mehr in unser Tag zu Tag Leben integriert. Sie reinigen unsere Böden, machen unser Kaffee, und werden auch für Telepresence verwendet. Da sie immer so wichtig für die Gesellschaft, warum nicht geben unserem Roboter-Begleiter die Gabe der Vision?
In diesem instructable, werde ich Ihnen zeigen, wie Sie die Microsoft Kinect verwenden, um das dreidimensionale Sehen und Tiefe, um einen Roboterarm zu schaffen, um in der Automatisierung von grundlegenden Aufgaben unterstützen. Das Endergebnis dieses instructable ist, um das Microsoft Kinect verwenden, um die dreidimensionale Position eines zufällig platzierten Objekts zu erfassen und weiterzuleiten, dass die Position in einem Roboterarm, der dann aufnehmen kann das Objekt ohne Eingabe von dem Benutzer.
Weitere detaillierte Anweisungen und weitere Informationen finden Sie unter:
http: //openscholarship.wustl.edu/wushta_spr2013/17 ...
http: //ese.wustl.edu/ContentFiles/Research/Undergr ...
http://kinectkontrol.weebly.com/


Notwendige Hardware:
Rhino XR-4 Robotic Arm Mark IV Controller (an einen PC über ein RS-232C-Schnittstelle angeschlossen) Microsoft Kinect (erste Iteration)
Erforderliche Software:
Windows 7 32/64 Bit (64 Bit wird bevorzugt) oder höher MatLab R2011b oder höher. CMEX Compiler: Microsoft Visual Studio 2010 Express Edition (VC ++) OpenNI Simulink Unterstützung für Kinect

Schritt 1: Software-Installation

  1. Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Nachdem Sie die notwendige Hardware verfügen, werden Sie wollen, um die folgende Software auf Ihrem Windows 7 (oder höher) Computer zu installieren.
    1. Download MatLab R2011b oder später
    Verfügbar ab http://www.mathworks.com/
    2. Laden Sie Microsoft Visual Studio 2010 Express Edition (VC ++)
    Verfügbar ab http: //www.microsoft.com/visualstudio/eng/download ...
    3. Download OpenNI
    Verfügbar ab http: //www.openni.org/Downloads/OpenNIModules.asp ... Select, herunterzuladen und zu installieren: OpenNI Binaries-Stable-OpenNI stabilen Aufbau für Windows Development Edition und wählen Sie Ihr System (32 Bit oder 64 Bit) Wählen Sie, herunterzuladen und zu installieren: OpenNI Compliant Middle Binaries-Stable-Primesense NITE stabilen Aufbau für Windows und wählen Sie Ihr System (32 oder 64 Bit) auswählen, herunterladen und installieren: OpenNI Compliant Hardware Binaries-Stable-Module Prime stabilen Aufbau für Windows und wählen Sie Ihr System (32 oder 64 Bit)
    4. Download Simulink Unterstützung für Kinect
    Verfügbar ab http: //www.mathworks.com/matlabcentral/fileexchang ...
    5. Konfigurieren Sie den C-Compiler in MatLab
    Geben mex-Setup in der Eingabeaufforderung von MATLAB, um den Compiler-Konfiguration wählen, und wählen Sie Microsoft Visual Studio 2010 Express Edition als Compiler mit Hilfe der Anweisungen auf dem Bildschirm.
    : Weitere Informationen zur Konfiguration der C-Compiler in MatLab erteilen http://www.mathworks.com/help/matlab/ref/mex.html
    6. Installieren Sie Simulink Unterstützung für Kinect
      Installieren Simulink Unterstützung für Kinect Starten Sie Ihren PC Entpacken Sie das Simulink-Support-Ordner und speichern Sie sie in ein Verzeichnis Ihrer Wahl und öffnen Run slkinect / setup_openni.m. Wenn alles korrekt installiert ist, ein CMEX Datei (sfun_nid.mexw32) _ Spielen Sie mit den verschiedenen Demo-Modelle in der slkinect Verzeichnis / Samples. Bitte beachten Sie, dass die Kinect Mikrofon-Array und den Sensorwinkel Demos nicht mit dem OpenNI SDK arbeiten, aber werden nicht benötigt.

Schritt 2: Microsoft Kinect und Rhino XR-4 Robotic Arm

  1. Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Alle 7 Artikel anzeigen

    Microsoft Kinect
    Die Microsoft Kinect ist eine physikalische Gerät, das Kameras, ein Mikrofon-Array, und einen Beschleunigungsmesser sowie eine Software-Pipeline, die Farbe, Tiefe und Skelett Daten verarbeitet enthält. Die Microsoft Kinect enthält:
    Ein RGB-Kamera, die drei Kanaldaten in einer Auflösung von 1280x960 speichert. Dies ermöglicht die Erfassung eines Farbbildes möglich. Ein Infrarot (IR) Sender und einen IR-Tiefensensor. Der Emitter emittiert infrarote Lichtstrahlen und der Tiefensensor liest die IR Strahlen zurück zu dem Sensor reflektiert. Die reflektierten Strahlen werden in Tiefeninformation die Messung der Entfernung zwischen einem Objekt und dem Sensor umgewandelt. Dies macht der Aufnahme eines Tiefenbildes möglich. Ein Multi-Array-Mikrofon, das vier Mikrofone für die Aufnahme Ton enthält. Weil es vier Mikrophonen ist es möglich, Audiodaten aufnehmen, sowie die Position der Schallquelle und die Richtung des Audio-Welle. Ein 3-Achsen-Beschleunigungsmesser nach einem 2G-Bereich, wobei G die Erdbeschleunigung konfiguriert. Es ist möglich, den Beschleunigungsmesser verwenden, um die gegenwärtige Ausrichtung des Kinect bestimmen.
    Weitere Informationen über die Microsoft Kinect finden sich hier .
    Rhino XR-4 Robotic Arm und Mark IV-Controller
    Der Rhino XR-4 Robotic Arm mit dem Mark IV-Controller sollte nach den Anweisungen des Roboterarms und Controller eingestellt werden. Der Mark IV-Controller sollte über eine RS-232C-Schnittstelle an den Computer angeschlossen werden.
    : Weitere Informationen über den Rhino XR-4 und Mark IV-Controller finden Sie unter http://kinectkontrol.weebly.com/rhino-xr-4.html

Schritt 3: Position, sichere und von unten die Microsoft Kinect

  1. Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    1. Positionieren und Sichern Sie die Microsoft Kinect
    * Die Platzierung und Sicherung der Microsoft Kinect hinsichtlich der XR-4 sehr wichtig ist. *
    Positionieren Sie den Microsoft Kinect (Ich habe etwa 0,9 m von der Basis des XR-4), so dass es direkt gegenüber der XR-4, wie in den Abbildungen gezeigt. Die Kinect sollte mindestens 0,62 Meter von Ihrer engsten Objekt / Ziel. Wenn Sie können, sichern Sie den Kinect sich an den Tisch (I verwendet doppelseitiges Klebeband, die sehr gut funktioniert) und legen Sie sie in dem gewünschten Winkel (Stellen Sie sicher, dass die Spitze des Kinect wird nicht zu einer Seite geneigt und ist parallel zu der Boden wie möglich.)
    2. Nehmen Sie den Winkel
    Sie müssen auch um den Winkel zu erfassen, in Bezug auf Masse, dass Sie die Kinect zu setzen. Für Ihre Bequemlichkeit habe ich die ungefähre Winkel, die auf ihre jeweiligen Kerben, die in meiner Erfahrung wahr gehalten haben beziehen enthalten. Jede Kerbe bezieht sich auf ein hörbares Klicken, die die Kinect hält an dieser Position, wenn Sie manuell den Winkel einzustellen. Sie können auch den Winkel zu berechnen durch jede andere Methode Ihrer Wahl. Von diesem Punkt an, Sie nicht wollen, sich wieder zu bewegen oder wieder Winkel der Kinect. 1 Notch = 0 Grad 2 Notches = 11,83 Grad 3 Notches = 19,11 Grad 4 Notches = 25,86 Grad 5 Kerben = 32,20 Grad

Schritt 4: Laden Sie die beigefügten Simulink Models und MATLAB-Dateien

  1. Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Um das Koordinatensystem der Microsoft Kinect in das Koordinatensystem des Rhino XR4 von Matlab mit Vision von der Microsoft Kinect verwandeln, steuern die Rhino XR-4 und automatisieren den Roboterarm Ich habe mehrere Matlab-Skripts und eine Matlab-Modell codiert Für Ihren Komfort. Die Dateien sollten in folgendes Verzeichnis heruntergeladen werden: slkinect / Samples / win
    Die Dateien sind hier zum Download bereit:
    http: //kinectkontrol.weebly.com/downloadable-files ...
    Microsoft Kinect
    markerlocator.mdl
    Die Datei ist eine Simulink-Modell, das leicht wieder aufgebaut werden kann. Es sei darauf hingewiesen, daß innerhalb des TransformCoordinates Funktion existieren drei Gleichungen werden. Jede Gleichung bezieht sich auf die Transformation, Übersetzung und Skalierung des Kinect-Koordinatenachse in die XR-4 spezifischen Koordinatenachse zu meinem Setup. Diese Gleichungen werden für sehr spezifische Informationen bezüglich des Layouts des Kinect und der XR-4 und werden weiter erläutert: http://kinectkontrol.weebly.com/kinectrhino.html
    Rhino XR-4
    main.m
    Dies ist der Hauptskript und wurde geschrieben, um die Rhino XR-4 Roboterarm steuern. Es wurde geschrieben, um zu erreichen, greifen, holen ein zufällig platzierte Objekt, legen Sie sie wieder nach unten, zurück zum Ausgangspunkt, und dann den Benutzer auffordern, wenn sie sich mit einem anderen Lauf fortsetzen zu holen einen anderen zufällig platzierten Objekts.
    initxr4.m

    Diese Datei initialisiert die Verbindung zwischen dem Computer und der Rhino XR-4 Roboterarm und speichert die serielle Verbindung als die Variable "s". Es enthält die erforderlichen Informationen, um die serielle Verbindung initiieren. Diese Datei geht auch davon aus, dass die serielle COM1 verwendet wird, wenn Sie sich nicht mit COM1 Wechsel nach rechts serielle Schnittstelle.
    movexyzat.m
    Diese Datei bewegt den XR-4 Greifer in der angegebenen Position (x, y, z) in mm in Bezug auf den Ursprung der Rhino XR-4. Das "A" bezieht sich auf den Winkel des Greifers in Bezug auf die Z-Achse des XR-4-Koordinatensystem und dem "t" bezeichnet den Winkel des Greifers im Verhältnis o der X-Achse des XR-4-Koordinatensystem .
    sendcmd.m
    Diese Datei sendet Befehle an die XR-4. Diese Befehle wurden aus der XR-4 Handbuch erhalten. Einige Befehle sind "TH", die die XR-4 in Host-Modus zu gehen, lassen Sie es vom Computer und "HH", die die XR-4 in Hart Hause erzählt Befehlen gesteuert werden. Hart Hause kann der XR-4, von einer genaueren Referenz starten.
    waitxr4.m
    Diese Datei teilt dem XR-4 bis zu einer festgelegten Zeit zu warten.
    closexr4.m
    Diese Datei ist sehr wichtig, um zu schließen und den seriellen Anschluss zu löschen.

Schritt 5: Koordinatentransformation


  1. 1. Microsoft Kinect Koordinaten
    Öffnen Sie und führen Sie die heruntergeladene markerlocater.mdl Simulink Model in MatLab. Ignorieren Sie den Punkt und die Koordinaten, die auf dem Imageviewer angezeigt. Nun legen Sie verschiedene Objekte (mindestens 6, habe ich 6 trocken abwischbaren Stiften) in den Blick auf die Microsoft Kinect und innerhalb Grabbing Abstand der XR-4. Je mehr Objekte, die Sie verwenden, in mehreren Orten, desto genauer wird Ihre Transformation sein. Klicken Sie dann auf Pause auf dem Simulink-Modell. Auf der Werkzeuge bar in der Image Viewer, klicken Pixel Region. Mit diesem Tool identifizieren die Pixelkoordinaten der Spitze jedes Objekt. Achten Sie darauf, Pixel etwas unterhalb der oberen Kante jedes Objekt auszuwählen. Notieren Sie diese Pixelstellen. Dann nutzen Sie diese Pixelkoordinaten als Indizes in der X-, Y- und Z-Matrizen innerhalb der MATLAB-Funktion des Simulink-Modell, um zu bestimmen, X, Y und Z. Das wird die (X, Y, Z) Lage des Objekts mit bieten in Bezug auf die Microsoft Kinect Koordinatensystem. Hinweis: Für die Kinect-Koordinatensystem wird die Y-Achse als die vertikale Achse und der Z-Achse wird die Tiefenachse (man stelle sich die Achse von der Linse des Kinect zeigen) berücksichtigt.
    2. Rhino XR4 Koordinaten
    Als nächstes öffnen und führen Sie die heruntergeladene Datei init.m. beschriftet Dadurch wird die Verbindung zwischen dem Computer und dem XR4 (Sicherstellen, dass die Mark IV-Controller eingeschaltet ist) zu initialisieren. Dann öffnen und führen Sie das movexyz.m Datei, um die Robotergreifer zu jeder Position der Markierung durch Erraten und Überprüfung (Die Zahlen, die Sie eingeben sind in mm) zu bewegen. Erfassen die Positionen der Markierungs Stelle. Anmerkung: Für die XR-4-Koordinatensystem wird die Z-Achse jetzt als die vertikale Achse und die Y-Achse wird nun als der Tiefenachse.
    2. Koordinatentransformationsgleichungen
    Sobald Sie die Koordinaten der Objekte in haben (X, Y, Z) Koordinaten für sowohl die Kinect und der XR-4 können Sie Gleichungen mit Matrizen und grundlegende digitale Bildverarbeitung, um die Transformationsgleichungen für jede Achse erstellen zu entwickeln. Diese Gleichungen in der Lage, zu transformieren jede Koordinate, dass die Kinect liest in der XR4 Koordinatensystem. Um dies zu tun, gibt es einige grundlegende Transformationen, die durchgeführt werden müssen. Für ein besseres Verständnis sind auf den Seiten 36-40 in "Digital Signal Processing" von Rafael C. Gonzalez und Paul Wintz beziehen. Die Gleichungen, die Sie für zu lösen wird in der folgenden Form sein: Rx = Sx * (x + xo) Ry = Sy * (y + Jahre) * cos (a) + Sz * (z + zo) * sin (a) Rz = -Sy * (y + Jahre) * sin (a) + Sz * (z + zo) * cos (a) Wo: Rx, Ry, Rz = Roboterkoordinaten Sx, Sy, Sz = Unbekannter Skalierungsfaktor für die x- , y und z Achsen x, y und z = Microsoft Kinect Koordinaten xo, yo, zo und = Unbekannte Verschiebung a = Winkel der Microsoft Kinect in Bezug auf den Horizont mit den obigen Gleichungen ist der Winkel der Kinect mindestens 6 Microsoft Kinect-Koordinaten und ihre jeweiligen Rhino XR4 koordiniert die Gleichungen gelöst werden können. Dies kann mit Hilfe von Matlab, Mathematica, eine fortgeschrittene wissenschaftliche Grafik-Taschenrechner (wie ein TI-89), oder eine andere Methode Ihrer Wahl durchgeführt werden. Sie können dann ersetzen Sie die Gleichungen in den MATLAB-Funktion markiert TransformCoordinates mit den neuen zu Ihnen berechnet. Achten Sie darauf, um die y- und z-Variablen in den Gleichungen, da diese Achsen zwischen dem Microsoft Kinect und der Rhino XR4 Roboterarm eingeschaltet zu wechseln.

Schritt 6: Definition eines neuen Volume

  1. Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Jetzt können Sie ein neues Raumvolumen, die Sie gerne verwenden, um den höchsten Objekts zu erfassen würde definieren. Um dies zu tun, ersetzen Sie die Werte in der MATLAB-Code des TransformCoordinates Funktion in der Simulink-Modell. Diese Werte sind in mm und in bezug auf den Ursprung des XR4 Koordinatenachsen gemessen. Um den ungefähren Standort des Ursprungs zu bestimmen, können Sie moveXYZ verwenden, um den Roboter in einen Ordner verschieben und verwenden Sie diese, um die Herkunft zu bestimmen.
    Optional: Sie können diesen Teil des Codes vor den Transformationsgleichungen zu bewegen, mit den notwendigen Änderungen der Variablen. Auf diese Weise wird nur das isolierte Volumen umgewandelt werden. Wenn Sie dies tun, wird der neue isolierte Volumen in Meter und in Bezug auf die Kinect-Koordinatensystem und nicht die des XR4 sein.

Schritt 7: Dass sie alle zusammen!


  1. Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Steuern Sie einen Industrieroboter-Arm mit dem Microsoft Kinect!

    Um die Koordinaten der höchste Punkt in der definierten Volumens zwischen dem Kinect und der XR-4, sowohl in der offenen MarkerLocator Simulink-Modell und dem main.m Datei zu kommunizieren. Führen Sie das MarkerLocator und als der höchste Punkt liegt die Aufgabe klicken Pause gefunden. Dies speichert die x, y, z-Daten in den Arbeitsbereich. Führen Sie nun die main.m Datei. Die XR-4 wird zuerst auf die Fest Hause zurückzusetzen und dann der Greifer wird auf das Objekt zu bewegen, es aufnehmen, legen Sie sie wieder nach unten und schließlich zu ihrer Basis zurückkehren. Das Befehlsfenster fordert Sie dann, wenn Sie möchten, um fortzufahren. Um weiterhin un-Pause das Simulink-Modell, bewegen Sie Ihr Objekt und sicherzustellen, dass die oberen Punkt des Objekts gemessen wird. Wenn es ist, wieder Pause die Simulation. Geben Sie dann "y" in der Eingabeaufforderung ein und drücken Sie Enter. Die XR-4 Greifer wird an die neue Position des Objekts zu bewegen, es aufnehmen, put it down, und wieder an die Basis zurück. Wenn Sie Art getan 'n' und 'Enter' wird dies die XR-4 in Hartheim zurück und schließen Sie die serielle Verbindung.