Entwicklung einer koordinierten Roboterapplikation mit Kawasaki-FSN300 Roboter Christoph Rasch 114104 / BMA09 1. Betreuer: Prof. Dr. Thorsten Pawletta 2. Betreuer: Meng. Artur Schmidt 3. Betreuer: Meng. Tobias Schwatinski 25.04.2013
Gliederung Ausgangspunkt dieser Arbeit Verbesserungsmöglichkeiten Erweiterung um den Transportwagen Erweiterung um das Fließband Implementierung der Conveyer-Toolbox Anwendungsbeispiel Quellen
1. Ausgangspunkt dieser Arbeit MatlabKK-Robotic Toolbox Steuerung der Roboter MatlabKK-Visualization Toolbox Visualisierung der Roboter, Umweltobjekte und Parts CAD-Schnittstelle
MatlabKK-Visualization Toolbox 1. Ausgangspunkt dieser Arbeit (2) MatlabKK-Visualization Toolbox Roboterarme Umweltobjekte Parts
2. Verbesserungsmöglichkeiten Einfügen neuer Robotermodelle Überwindung von großen Distanzen Kollisionserkennung
Überwindung von großen Distanzen 2. Verbesserungsmöglichkeiten (2) Überwindung von großen Distanzen Roboter können sich nicht über ihre Arbeitsräume hinaus bewegen Überwindung von Distanzen nur durch Aneinanderreihen von Robotern
2. Verbesserungsmöglichkeiten (3) Erweiterung der Visualisierung durch Transportwagen und Transportband
3. Erweiterung um den Transportwagen Robotertypen:
Modellierung des Transportwagens 3. Erweiterung um den Transportwagen (2) Modellierung des Transportwagens Transportwagen sollte an das Transportband angepasst sein
Modellierung des Transportwagens 3. Erweiterung um den Transportwagen (3) Modellierung des Transportwagens Transportwagen (Cart) in Creo Parametric 2.0 Problem beim Greifen der Parts!
3. Erweiterung um den Transportwagen (4) Oberfläche des Carts in Unterpunkte Aufteilen (1/10 Durchmessers) Wichtig: Durchmesser des Carts Maximal 10-fache der Breite der Parts
Implementierung des Carts 3. Erweiterung um den Transportwagen (5) Implementierung des Carts obj = VirtualRobot.create(Type, port, pose, s_axis) obj = VirtualRobot.create(Type, port, pose, s_axis, property) Gibt den Typ des Roboters an: Kawasaki Kuka Gibt den Durchmesser des Carts an [mm] - Cart s_axis wird nicht definiert -> Standardwert
Erweiterung um New_Robot 3. Erweiterung um den Transportwagen (6) Erweiterung um New_Robot
Implementierung von New_Robot 3. Erweiterung um den Transportwagen (7) Implementierung von New_Robot obj = VirtualRobot.create(Type, port, pose, s_axis, property) 'New_Robot' Name der STL-Datei 'conveyer_car.stl' -> Visuell angepasstes Cart s_axis wird nicht definiert -> Standardwert
4. Erweiterung um das Transportband Nutzer gibt Breite und (Eck)-Punkte vor Transportband wird automatisch durch Punkte erstellt
Implementierung von create_line 4. Erweiterung um das Transportband (2) Implementierung von create_line create_line (b, P) Durchmesser des Carts (Eck)-Punkte Automatische Parametrierung
Modelle des Transportbands 4. Erweiterung um das Transportband (3) Modelle des Transportbands Transportband- abschnitt Start und End- punkt
Vorgehensweise der Methode 4. Erweiterung um das Transportband (4) Vorgehensweise der Methode
Funktionsweise von create_line 4. Erweiterung um das Transportband (5) Funktionsweise von create_line VirtualRobot.create_line (100, [0 0 0; 200 0 0; 400 0 200; 600 0 200; 900 -400 200; 1100 -500 200; 1100 -900 200; 800 -1200 200; 600 -1200 200; 0 -1200 0; -400 -1200 0])
5. Implementierung der Conveyer-Toolbox Funktionen basieren auf der Robotic Toolbox Verweis auf Funktion der Robotic Toolbox Erweiterung der Funktion der Robotic Toolbox Erstellen neuer Funktionen conveyer.m cbrake.m cpoint.m cstop.m cmove.m ckill.m cset.m crun.m cget.m creset.m ccallback.m cprocess.m cis.m cgrab.m cwait.m crelease.m
1. Verweis auf die Funktion der Robotic Toolbox 5. Implementierung der Conveyer-Toolbox (2) 1. Verweis auf die Funktion der Robotic Toolbox
2. Erweiterung der Funktion der Robotic Toolbox 5. Implementierung der Conveyer-Toolbox (3) 2. Erweiterung der Funktion der Robotic Toolbox
3. Erstellen neuer Funktionen 5. Implementierung der Conveyer-Toolbox (4) 3. Erstellen neuer Funktionen cgrab crelease
6. Anwendungsbeispiel 6. Anwendungsbeispiel (1) Cart mit Standard-Modell mit Durchmesser 200mm -> Robotertyp als Cart definieren Transportband in Halbkreisform und zwei Rampen Breite des Transportbands an Cart angepasst -> create_line Methode
Visualisierungs-Rechner 6. Anwendungsbeispiel (2) Befehlsabfolge Visualisierungs-Rechner Control-Rechner 1 VirtualRobot.create('Cart', 40000, [-2000, -1500, 0, 0, 0, 0],[-2500, 2500, -1750, 750, -100, 1250],200) 2 c=conveyer('open', 'tcpip', 'localhost', 40000) 3 VirtualRobot.create('Kawasaki', 40001, [-1500, -1500, -100, 0, 0, 0], [-2500, 2500, -1750, 750, -100, 1250]) 4 r1=robot('open', 'Kawasaki', 'tcpip', 'localhost', 40001) 5 VirtualRobot.create('Kawasaki', 40002, [1500, -1500, -100, 0, 0, 0], [-2500, 2500, -1750, 750, -100, 1250]) 6 r2=robot('open', 'Kawasaki', 'tcpip', 'localhost', 40002) 7 VirtualRobot.start_all 8 VirtualRobot.create_line(200, [-2000 -1500 0; -2000 -1200 0; -2000 -800 300; -2000 -500 300; -1500 0 300; -1000 200 300; 0 350 300; 1000 200 300; 1500 0 300; 2000 -500 300; 2000 -800 300; 2000 -1200 0; 2000 -1500 0]) 9 VirtualRobot.place_env('table.stl', [-900 -1500 -100 0 0 0]); 10 VirtualRobot.place_part('test_tube.stl', [-1200 -1450 300 0 0 0], [1,0,0]); 11 VirtualRobot.place_env('table.stl', [900 -1500 -100 0 0 0]); 12 c_example1; 13 VirtualRobot.delete_all
6. Anwendungsbeispiel (3)
7. Quellen 7. Quellen SCHMIDT, ARTUR; CHRISTERN MICHAEL : Entwicklung einer Matlab- und Scilab-Kawasaki-AS-Toolbox mit dazugehörigem AS-Interpreter. Bachelor-Thesis, 2009 OTTO, JOHANNES : Entwicklung einer Visualisierungstoolbox für kooperierende Kawasaki-FS003N Roboter. Bachelor-Thesis, 2011 RASCH, CHRISTOPH : Entwicklung einer CAD-Schnittstelle für die MatlabKK-Visualization Toolbox. Praktikumsbericht und PowerPoint-Präsentation, 2012 [Online] http://download.visualcomponents.net
Vielen Dank für Ihre Aufmerksamkeit