26.12.2012 Aufrufe

Robotertechnik - Beuth Hochschule für Technik Berlin

Robotertechnik - Beuth Hochschule für Technik Berlin

Robotertechnik - Beuth Hochschule für Technik Berlin

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Begleitfolien zum Wahlpflichtfach<br />

<strong>Robotertechnik</strong><br />

Studiengang Technische Informatik<br />

Von Prof. Dr.-Ing. Heinz Linnemann<br />

1. Einführung<br />

2. Einteilung, Anwendungsfelder, Märkte<br />

3. Bauformen von Industrierobotern<br />

4. Roboterkinematiken<br />

5. Koordinatentransformation<br />

6. Robotersteuerungen<br />

7. Programmierung von Industrierobotern<br />

8. Einsatz von Industrierobotern<br />

9. Mobile, autonome Roboter<br />

10. Ausblick und aktuelle Trends<br />

<strong>Robotertechnik</strong><br />

Aus drucktechnischen Gründen leere Folie!<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 1<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 2<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Weber, W.:<br />

Hesse, S.:<br />

Siegert, H.-J.;<br />

Bocionek, S.:<br />

Wloka, D. W.:<br />

Riesler:<br />

Dillmann, R.;<br />

Huck, M.:<br />

Warnecke H.-J.;<br />

Schraft, R. D.:<br />

Schraft, R. D.:<br />

Kroth, E.:<br />

N.N.:<br />

• Literatur<br />

• Normen<br />

• Richtlinien<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

1. Einführung<br />

• Interdisziplinäres Wissensgebiet <strong>Robotertechnik</strong><br />

• Historische Entwicklung<br />

• Entwicklung erster Industrieroboter<br />

• Entwicklung heutiger Industrieroboter<br />

• Visionen eines Roboterforschers<br />

Literatur<br />

<strong>Robotertechnik</strong><br />

Industrieroboter. Methoden der Steuerung und Regelung.<br />

München, Wien: Hanser, 2002 (ca. 25 €)<br />

Industrieroboterpraxis. Wiesbaden: Vieweg, 1998<br />

Robotik: Programmierung intelligenter Roboter.<br />

<strong>Berlin</strong>: Springer, 1996<br />

Robotersysteme. Bd. 1: Grundlagen.<br />

<strong>Berlin</strong>: Springer, 1992<br />

Roboterkinematik - Grundlagen, Invertierung und Symbolische<br />

Berechnung. Braunschweig: Vieweg, 1992<br />

Informationsverarbeitung in der Robotik.<br />

<strong>Berlin</strong>: Springer, 1991<br />

Industrieroboter. Handbuch <strong>für</strong> Industrie und Wissenschaft.<br />

<strong>Berlin</strong>, Heidelberg: Springer, 1990<br />

Automatisierung in der Montage und Handhabungstechnik.<br />

http://afs.iff.uni-stuttgart.de/vorlesungen<br />

(Stand: Juni 2002)<br />

Robotic und Automation. http://www.reisrobotics.de/robotech/<br />

(Stand: Juni 2002)<br />

Skript Roboter. http://www.fh-weingarten.de/~georgi/robotik<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 3<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 4<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Normen<br />

DIN EN 775: Industrieroboter – Sicherheit. <strong>Berlin</strong>: <strong>Beuth</strong>,1993<br />

DIN 66 261: Informationsverarbeitung – Sinnbilder <strong>für</strong><br />

Struktogramme nach Nassi-Shneiderman.<br />

<strong>Berlin</strong>: <strong>Beuth</strong>,1985<br />

DIN 66 312: Industrieroboter – Programmiersprache, Industrial<br />

Robot Language (IRL). <strong>Berlin</strong>: <strong>Beuth</strong>, 1996<br />

DIN 40 719, Teil 6: Schaltungsunterlagen – Regeln <strong>für</strong> Funktionspläne.<br />

IEC 848 modifiziert. <strong>Berlin</strong>: <strong>Beuth</strong>,1992<br />

DIN EN ISO 8373: Industrieroboter – Wörterbuch. <strong>Berlin</strong>: <strong>Beuth</strong>, 1996<br />

DIN EN ISO 9787: Industrieroboter – Koordinatensysteme und<br />

Bewegungsnomenklatur. <strong>Berlin</strong>: <strong>Beuth</strong>,1999<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Richtlinien<br />

<strong>Robotertechnik</strong><br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 5<br />

Nur <strong>für</strong> Lehrzwecke<br />

VDI 2740 Blatt 1: Mechanische Einrichtungen in der Automatisierungstechnik – Greifer<br />

<strong>für</strong> Handhabungsgeräte und Industrieroboter. Düsseldorf: VDI- Verlag,<br />

1995<br />

VDI 2739 Blatt 1: Matrizenrechnung – Grundlagen <strong>für</strong> die praktische Anwendung.<br />

Düsseldorf: VDI- Verlag, 1991<br />

VDI 2739 Blatt 2: Matrizenrechnung – Anwendungen in der Kinematik und bei<br />

Eigenwertproblemen. Düsseldorf: VDI- Verlag, 1996<br />

VDI 2739 Blatt 3: 1996 Matrizenrechnung – Technische Anwendungsbeispiele.<br />

Düsseldorf: VDI- Verlag, 1996<br />

VDI 2853: Sicherheitstechnische Anforderungen an Bau, Ausrüstung und Betrieb<br />

von Industrierobotern. Düsseldorf: VDI- Verlag<br />

VDI 2860: Montage- und Handhabungstechnik – Handhabungsfunktionen,<br />

Handhabungseinrichtungen; Begriffe, Definitionen, Symbole.<br />

Düsseldorf: VDI- Verlag, 1990<br />

VDI 2861 Blatt 1: Montage- und Handhabungstechnik – Kenngrößen <strong>für</strong> Industrieroboter,<br />

Achsbezeichnungen. Düsseldorf: VDI- Verlag, 1988<br />

VDI 2861 Blatt 2: Montage- und Handhabungstechnik – Kenngrößen <strong>für</strong> Industrieroboter,<br />

Einsatzspezifische Kenngrößen. Düsseldorf: VDI- Verlag, 1988<br />

VDI 2861 Blatt 3: Montage- und Handhabungstechnik – Kenngrößen <strong>für</strong> Industrieroboter,<br />

Prüfung der Kenngrößen. Düsseldorf: VDI- Verlag, 1988<br />

VDI 2863 Blatt 1: IRDATA, Allgemeiner Aufbau, Satztypen und Übertragung. Düsseldorf:<br />

VDI- Verlag, Düsseldorf: VDI- Verlag, 1987<br />

VLRob.ppt<br />

Folie 6<br />

Nur <strong>für</strong> Lehrzwecke


Interdisziplinäres Wissensgebiet <strong>Robotertechnik</strong><br />

Maschinenbau<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Konstruktion<br />

Simulation<br />

RegelungsundAntriebstechnik<br />

Roboter<br />

Programmierung<br />

Informatik<br />

Sensortechnik<br />

Elektrotechnik<br />

Steuerungstechnik<br />

<strong>Robotertechnik</strong><br />

Historische Entwicklung der <strong>Robotertechnik</strong><br />

100 Heron von Alexandria: Entwürfe <strong>für</strong> Automatentheater<br />

1352 Automatische Uhren mit Figurenwerk im Mittelalter, z. B. am<br />

Straßburger Münster<br />

1700 Musikspielende Puppen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 7<br />

Nur <strong>für</strong> Lehrzwecke<br />

1730 Vaucansen (Frankreich) baute Musik spielende Puppen in<br />

menschlicher Größe (Flötenspieler, Tamburinspieler) und eine<br />

künstliche Ente aus über 1000 Teilen die „fressen“ und „Exkremente<br />

ausscheiden“ konnte<br />

1760 Schreibender Mensch, automatischer Schachspieler<br />

1774 Jaquet Droz und Sohn bauten drei Droiden (Zeichner, Schriftsteller,<br />

Klavierspielerin)<br />

1805 J.M. Jacquard: Programmierbarer, von Lochkarten gesteuerter<br />

Webstuhl, der durchaus als spezialisierter Roboter bezeichnet<br />

werden kann<br />

1921 Im Science-Fiction-Theaterstück „Rossum‘s Universalroboter“ von<br />

Karel Čapek taucht das erste mal der Begriff Roboter auf (In vielen<br />

Slawischen Sprachen bedeutet “rabota” arbeiten)<br />

VLRob.ppt<br />

Folie 8<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Die Droiden von Droz und Sohn<br />

Quelle: Hesse, S.: Golems Enkel, Urania Verlag Leipzig/Jena/<strong>Berlin</strong> 1986<br />

Museum der Schönen Künste,<br />

Neuchâtel (Schweiz)<br />

Die Automaten von Droz & Droz stellten<br />

einen Meilenstein im Automatenbau dar.<br />

Vorführungen der etwa 70 cm hohen<br />

Menschenautomaten, der Schreiber (links)<br />

und der Zeichner (rechts), sind <strong>für</strong><br />

Besucher sehr beeindruckend.<br />

• Der Schreiber kann auf einen<br />

beliebigen Text bis zu 40 Zeichen<br />

Länge programmiert werden.<br />

• Der Zeichner kann Amor von einem<br />

Schmetterling gezogen, einen Hund,<br />

sowie die Porträts von Louis' XV.,<br />

Louis XVI. und Marie Antoinette<br />

skizzieren<br />

<strong>Robotertechnik</strong><br />

Entwicklung erster Industrieroboter<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 9<br />

Nur <strong>für</strong> Lehrzwecke<br />

1946 USA: G.C. Devol: Steuergerät zur magnetischen Aufzeichnung<br />

elektrischer Signale. Die Signale konnten später zur Steuerung<br />

mechanischer Geräte wieder benutzt werden. Er reichte mehrere Patente<br />

<strong>für</strong> roboterähnliche Maschinen ein.<br />

1952 Prototyp einer NC-Maschine am Massachusetts Institute of Technology<br />

(MIT), Entwicklung der Programmiersprache APT<br />

1954 England: C.W. Kenward reicht ein Patent einer Roboterentwicklung ein.<br />

USA: G.C. Devol arbeitet an dem „programmierten Transport von<br />

Gegenständen“, erhält 1961 da<strong>für</strong> ein Patent.<br />

1959 Erster kommerzieller Roboter der Fa. Planet Corporation <strong>für</strong> einfache<br />

Aufgaben, z.B. Punktschweißen<br />

1960 Erster Roboter der Fa. Unimate installiert (basierte auf Arbeiten von<br />

Devol). Der Roboter wurde hydraulisch angetrieben und von einem<br />

Computer nach dem Prinzip der NC-<strong>Technik</strong> gesteuert.<br />

1961 Erster Roboter vom Typ Unimation bei Ford installiert.<br />

VLRob.ppt<br />

Folie 10<br />

Nur <strong>für</strong> Lehrzwecke


Entwicklung heutiger Industrieroboter<br />

1971 Erster Robotereinsatz in Deutschland bei Daimler-Benz<br />

1972 Roboter werden <strong>für</strong> die Informatik ein Thema<br />

1975 Erste Montageoperationen durch den SIGMA-Roboter von Olivetti<br />

1978 Einführung der PUMA Serie (Programmable Universal Machine For<br />

Assembly). Elektrisch angetrieben, basierte auf Entwürfen von General<br />

Motors, gebaut von Fa. Unimation.<br />

1979 Yamanaski-Universität, SCARA-Prinzip<br />

(Selective Compliance Assembly Robot)<br />

1980 Entwicklungsarbeiten zum Greifen und Fügen mit Kameraunterstützung.<br />

1985 Beginn der Entwicklung von autonomen mobilen Robotern<br />

1992 Beginn der Entwicklung von Servicerobotern<br />

1997 Erste Weltmeisterschaft im Roboter-Fußball in Tokio<br />

1998 Das Stanford Research Institute entwickelt einen mobilen<br />

experimentellen Roboter („Shakey“). Integration von Sichtsystem<br />

(Kamera) und taktilen Sensoren.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Visionen eines Roboterforschers<br />

Zunahme der kognitiven, motorischen und sensorischen Fähigkeiten:<br />

• 2010: 1.000 MIPS (Reptilien)<br />

Universelle Wahrnehmung, Manipulation und Mobilität<br />

• 2020: 30.000 MIPS (Säugetiere)<br />

Anpassungs- und Lernfähigkeit, Erfahrungen<br />

• 2030: 1.000.000 MIPS (Primaten)<br />

Gestaltung der Umwelt, Bewusstsein durch Simulation,<br />

Reproduktion in Fabriken<br />

• 2040: 30.000.000 MIPS (Menschen)<br />

Logisches Denken, Nachdenken<br />

Hinweis: Die Leistung eines aktuellen Pentium-Prozessors kann mit etwa<br />

1.000 MIPS angenommen werden (Stand 2002)<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 11<br />

Nur <strong>für</strong> Lehrzwecke<br />

Quelle: Moravec, Hans: Geisteskinder, Universelle Roboter: In vierzig Jahren haben sie uns überholt. c’t 6/96, S. 98<br />

VLRob.ppt<br />

Folie 12<br />

Nur <strong>für</strong> Lehrzwecke


2. Einteilung der Roboter, Anwendungsfelder und Märkte<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Manuell gesteuert<br />

Manipulator,<br />

Teleoperator<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

• Einteilung der Handhabungsgeräte<br />

• Abgrenzung, Begriffsdefinitionen<br />

• Einteilung nach Einsatzgebieten<br />

• Industrieroboter<br />

• Serviceroboter<br />

• Geländeroboter<br />

• Neue Anwendungsfelder<br />

- Sanierung<br />

- Medizin<br />

- Hobby, Freizeit<br />

• Fußballspielende Roboter (RoboCup)<br />

• Einsatzzahlen und Märkte von Industrierobotern<br />

• Märkte <strong>für</strong> Serviceroboter<br />

<strong>Robotertechnik</strong><br />

Einteilung der Handhabungsgeräte<br />

Handhabungsgeräte<br />

Programmgesteuert<br />

Fest programmiert Frei programmiert<br />

Einlegegeräte<br />

(Pick-And-Place)<br />

Nach der VDI-Richtlinie 2860 Blatt 1 bilden Industrieroboter eine Untergruppe der<br />

Handhabungseinrichtungen. Unter Handhaben sind alle Vorgänge zu verstehen,<br />

• bei denen ein Objekt in eine definierte Lage im Raum gebracht und/oder in<br />

dieser vorübergehend gehalten wird (Werkstückhandhabung);<br />

oder<br />

• bei denen mit dem Objekt eine definierte Bewegung ausgeführt wird, um eine<br />

bestimmte Arbeitsaufgabe auszuführen (Werkzeughandhabung).<br />

<strong>Robotertechnik</strong><br />

Industrieroboter<br />

VLRob.ppt<br />

Folie 13<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 14<br />

Nur <strong>für</strong> Lehrzwecke


Abgrenzung des Begriffs Industrieroboter<br />

• Ein Industrieroboter ist keine NC-Maschine<br />

(Numerically Controlled Machine)<br />

• Hauptaufgabe NC-Maschine:<br />

Formgebende Bearbeitung eines Werkstückes<br />

• Hauptaufgabe Industrieroboter:<br />

Handhabung von Werkstücken, Montage<br />

• Die Übergänge sind jedoch fließend!<br />

• Ein Industrieroboter ist kein Teleoperator<br />

wie er z.B. in Kernkraftwerken eingesetzt wird:<br />

Die Bewegung eines Teleoperators wird unmittelbar vom Menschen<br />

gesteuert.<br />

• Ein Industrieroboter ist kein Einlegegerät<br />

Das Einlegegerät ist eine "mit Greifern ausgerüstete<br />

Handhabungseinrichtung, die vorgegebene Bewegungsabläufe nach<br />

einem festen Programm abfährt".<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

VDI-Richtlinie 2860: Industrieroboter<br />

„Universell einsetzbarer Bewegungsautomat<br />

mit mehreren Achsen, deren Bewegungen<br />

[…] programmierbar und gegebenenfalls<br />

sensorgeführt sind. Sie sind mit Greifern,<br />

Werkzeugen oder anderen Fertigungsmitteln<br />

ausrüstbar und können Handhabungsund/oder<br />

Fertigungsaufgaben ausführen.“<br />

Robot Institute of America:<br />

„A programmable,<br />

multifunction manipulator<br />

designed to move material,<br />

parts, tools, or specific<br />

devices through variable<br />

programmed motions for the<br />

performance of a variety of<br />

tasks.“<br />

Encyclopaedia Galactica (D. Adams):<br />

„Technische Vorrichtung, die dazu dient, dem<br />

Menschen die Arbeit abzunehmen.“<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Begriffsdefinitionen<br />

<strong>Robotertechnik</strong><br />

Quelle: N.N.: FH-Weingarten<br />

VLRob.ppt<br />

Folie 15<br />

Nur <strong>für</strong> Lehrzwecke<br />

Europäische Norm EN 775: Industrieroboter<br />

„Ein Roboter ist ein automatisch gesteuertes,<br />

wiederprogrammierbares, vielfach einsetzbares<br />

Handhabungsgerät mit mehreren<br />

Freiheitsgraden, das entweder ortsfest oder<br />

beweglich in automatisierten<br />

Fertigungssystemen eingesetzt wird.“<br />

P. Hoppen:<br />

Autonomer mobiler Roboter<br />

„Maschine, die sich in einer<br />

natürlichen Umgebung aus<br />

eigener Kraft und ohne<br />

Hilfestellung von außen<br />

bewegen und dabei ein ihr<br />

gestelltes Ziel erreichen kann.<br />

[…] Dabei erkennt sie die<br />

Umwelt, sofern dies notwendig<br />

ist, über eigene Sensoren.“<br />

Angelehnt an: Guicking, Axel, Lehrstuhl <strong>für</strong><br />

Informatik VI, Universität Würzburg, 2000<br />

VLRob.ppt<br />

Folie 16<br />

Nur <strong>für</strong> Lehrzwecke


Einteilung der Roboter nach Einsatzgebieten<br />

• Industrieroboter<br />

Arbeiten in Fabriken und Montagehallen:<br />

Schweißroboter, Lackierroboter, Montageroboter, ...<br />

• Serviceroboter (In der Entwicklung, erste Anwendungen)<br />

Arbeiten in anderen, von Menschen bevölkerten Gebieten:<br />

Putzroboter, Rasenmäher, Museumsführer, ...<br />

• Geländeroboter (Beginn der Entwicklung)<br />

Arbeiten in der rauen Natur oder an Orten, die <strong>für</strong> Menschen nicht<br />

mehr zugänglich sind:<br />

Tiefsee, Weltraum, Kernkraftwerke, Kanalreinigung, Orangen<br />

pflücken, ...<br />

• Autonome Roboter / Agentensysteme (Forschung)<br />

Fußballspieler, Laufmaschinen, Artificial Life, „Androiden“<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Industrieroboter<br />

• Arbeiten in komplett von Menschen geschaffener Umwelt (Fabriken)<br />

• Heute sind eine knappe Million Industrieroboter weltweit im Einsatz<br />

(der Großteil davon in Japan, gefolgt von Deutschland und den USA).<br />

• Meist nicht autonom und nicht mobil:<br />

Roboter müssen an neue Produkte<br />

von Menschen angepasst,<br />

also umprogrammiert werden.<br />

• Häufig Fließbandarbeit wie<br />

Schweißen, Polieren, Lackieren, ...<br />

• Unterstützung der menschlichen<br />

Arbeitskräfte durch Handhabung<br />

von Bauteilen<br />

(Zusammensetzen von Autos).<br />

• Kooperierende Roboter (Cobot):<br />

Roboter verrichten gemeinsam<br />

mit Menschen eine Arbeit.<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 17<br />

Nur <strong>für</strong> Lehrzwecke<br />

Bild: Fanuc Robotics<br />

VLRob.ppt<br />

Folie 18<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Serviceroboter<br />

• Arbeiten in einer zumindest teilweise künstlichen<br />

Umwelt, in der Menschen leben.<br />

• Unterscheidung zwischen:<br />

• Roboter zur Unterstützung menschlicher Arbeit<br />

wie Putzroboter, ...<br />

• Interaktive Serviceroboter wie Museumsführer,<br />

Pflegeroboter<br />

Unterstützende Serviceroboter:<br />

• SkyWash: Putzroboter <strong>für</strong> Jumbojets<br />

(Preis: 5 Mio. DM, Fraunhofer-IPA)<br />

• SIRIUSc: Fassadenreinigungsroboter <strong>für</strong><br />

Hochhäuser (Fraunhofer-IFF)<br />

• Lely: Melkroboter mit individueller Kuh-Erkennung<br />

• Tennisballsammler Pioneer I mit Farbkamera und<br />

Bürste<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Interaktive Serviceroboter<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 19<br />

Nur <strong>für</strong> Lehrzwecke<br />

• Für den interaktiven Umgang mit Menschen ist Kommunikation erforderlich.<br />

• RHINO: Ein autonomer, mobiler, interaktiver Museumsführer der Universität<br />

Bonn. Hauptschwerpunkte:<br />

• Schnelle und zuverlässige Bewegung in hochdynamischer Umwelt<br />

• Interesse der Besucher wecken<br />

• Interaktionsfähigkeit (Touchscreens)<br />

• Toleranz gegenüber unkooperativen Museumsbesuchern<br />

• Fernsteuerung über Web-Interface<br />

• Literatur: W. Burgard et al.: Experiences with an interactive museum tourguide<br />

robot. Artificial Intelligence 114 (1999), S. 3-55.<br />

• Museum <strong>für</strong> Kommunikation, <strong>Berlin</strong><br />

(Fraunhofer-IPA):<br />

• „Komm-rein“: Begrüßt die Besucher,<br />

gibt aktuelle Infos<br />

• „Also-gut“: Führt die Besucher durch<br />

das Museum<br />

• „Mach-was“: Animiert die Besucher<br />

zum Ball spielen<br />

VLRob.ppt<br />

Folie 20<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Geländeroboter<br />

• Arbeiten in praktisch natürlicher Umwelt („draußen“).<br />

• Einsatz in der Natur oder in Gebieten, die <strong>für</strong> Menschen<br />

• nicht oder nur schwer zugänglich sind:<br />

Tiefsee, Weltraum<br />

• gefährlich sind: Minensuche,<br />

Unfälle in Kernkraftwerken<br />

• KURT/MAKRO: Kanalreinigungsroboter der<br />

Fraunhofer-Gesellschaft:<br />

• Konventionelle Reinigung ist sehr zeit- und damit<br />

kostenintensiv, da Inspektionsplattformen<br />

häufig umgesetzt werden müssen.<br />

• Kurt: Autonome mobile<br />

Roboterplattform zur<br />

Erkennung von Rissen etc.<br />

Versagt bei höheren Stufen.<br />

• Makro: 5 Segmente,<br />

4 Knickelemente,<br />

kann Höhenunterschiede<br />

bis zu 35 cm überwinden.<br />

<strong>Robotertechnik</strong><br />

Neue Anwendungsfelder: Sanierung<br />

Autonome Kletterroboter sind prädestiniert,<br />

Aufgaben bei der Sanierung von<br />

Kernkraftwerken oder Betonbauwerken zu<br />

übernehmen. Der Einsatz menschlicher<br />

Arbeitskräfte wäre hier zu gefährlich, zu teuer<br />

oder gar technisch unmöglich.<br />

Die im englischen Portsmouth ansässige<br />

Firma Portech Ltd. entwickelt Service<br />

Roboter <strong>für</strong> Sanierungsaufgaben wie z.B. den<br />

Demonstrator ROBUG 2.<br />

Der spinnenähnliche Roboter besitzt vier mit<br />

Sauggreifern ausgerüstete Beine, die über<br />

ein Drehgelenk im Zentrum des Systems<br />

paarweise verbunden sind.<br />

Schritt <strong>für</strong> Schritt bewegt sich ROBUG 2<br />

vorwärts; wegen seines tiefen Schwerpunktes<br />

läuft er sehr stabil. Er kann sogar vom Boden<br />

aus eine vertikale Wand hochklettern.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 21<br />

Nur <strong>für</strong> Lehrzwecke<br />

Quelle: Portech Ltd., UK<br />

VLRob.ppt<br />

Folie 22<br />

Nur <strong>für</strong> Lehrzwecke


Neue Anwendungsfelder: Medizin<br />

Fraunhofer IPA / Siemens AG: Prototyp OP 2015:<br />

Medizinisch universell einsetzbares mechatronisches Assistenzsystem<br />

bestehend aus:<br />

• Operationsroboter mit Stabkinematik (Hexapod). Diese Bauform erlaubt<br />

extrem hohe Genauigkeiten im Mikrometerbereich und bietet hohe Steifigkeit<br />

bei vergleichsweise kleinem Bauraum.<br />

• Steuerung des Operationsroboters aus einem flugsimulatorähnlichen<br />

Operationscockpit.<br />

• Taktile Rückkopplung der Bewegung zur Unterstützung bei der Bedienung des<br />

Systems.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Neue Anwendungsfelder: Hobby, Freizeit<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Cockpit<br />

Quelle: Schraft,<br />

Uni Stuttgart,<br />

Fraunhofer IPA<br />

VLRob.ppt<br />

Folie 23<br />

Nur <strong>für</strong> Lehrzwecke<br />

Firma GolfPro International, Santa Clara, Kalifornien: Autonomer Golf-Caddy.<br />

Kann seit Herbst 1997 auf Amerikas Golfplätzen <strong>für</strong> 10 $ pro Runde gemietet<br />

werden.<br />

• Ein Sender in der Hosenasche des Golfers<br />

meldet dem Roboter, wenn sich der Sportler<br />

zum nächsten Loch begibt.<br />

• Eine im Onboard-Computer gespeicherte<br />

Karte des Golfplatzes dient in Verbindung<br />

mit einem eingebauten GPS-System zur<br />

absoluten Positionsbestimmung des<br />

Robotercaddy.<br />

• Ultraschallsensoren verhindern den<br />

Kontakt mit unvorhersehbaren Hindernissen.<br />

Mit Hilfe eines Displays kann sogar die<br />

momentane Entfernung zum nächsten<br />

Loch abgerufen werden.<br />

Quelle: Schraft, Uni Stuttgart, Fraunhofer IPA<br />

VLRob.ppt<br />

Folie 24<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Der RoboCup<br />

• Populäre internationale Wettbewerbe in<br />

verschiedenen Ligen.<br />

• Erfordert Fähigkeiten auf verschiedenen Gebieten:<br />

• Autonome Agenten,<br />

• Multi-Agenten-Kollaboration,<br />

• Strategieentwicklung und -anpassung,<br />

• Echtzeitauswertung von Sensordaten<br />

(Vision, Laserscans).<br />

• Ligen sind beispielsweise:<br />

• Simulationsliga,<br />

• F-2000 Liga (Königsdisziplin),<br />

• Sony Legged Robot League.<br />

Weitere Infos:<br />

http://www.robocup.org/<br />

und beim Spiegel-Online:<br />

http://www.spiegel.de/netzwelt/robocup/<br />

Land<br />

EU<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Einsatz von Industrierobotern - international<br />

Installierte Roboter (gesamt)<br />

Japan 1)<br />

USA, CDN, MEX<br />

Deutschland<br />

Italien<br />

Frankreich<br />

England<br />

Schweden<br />

Südkorea 1)<br />

Singapur 1)<br />

Taiwan 1)<br />

Stück<br />

373.480 3)<br />

143.200 3)<br />

297.000 2)<br />

128.000 2)<br />

58.900 2)<br />

32.200 3)<br />

14.700 3)<br />

8.000 2)<br />

47.000 2)<br />

5.300 2)<br />

7.500 2)<br />

1) Japan/Asien rechnet so genannte „roboterähnliche<br />

Spezialgeräte“ den Robotern zu.<br />

2) Stand 2003<br />

3) Stand 2005<br />

Quelle: United Nations – International Federation of<br />

Robotics. Jahrbuch „World Robotics 2003, 2006“<br />

Frankreich: 3400<br />

IR 11%<br />

Spanien: 3700 IR<br />

12%<br />

Hersteller<br />

Fanuc<br />

ABB<br />

Kuka<br />

In Europa verkaufte IR in 2001<br />

Sonstige: 2700 IR<br />

9%<br />

England: 1800 IR<br />

6%<br />

Italien: 6400 IR<br />

21%<br />

12.000<br />

10.000<br />

7.300<br />

Quelle: VDI nachrichten 9. August 2002<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 25<br />

Nur <strong>für</strong> Lehrzwecke<br />

Deutschland:<br />

12.500 IR<br />

41%<br />

Quelle: United Nations –<br />

International Federation of<br />

Robotics. Jahrbuch „World<br />

Robotics 2002“, Stand 2001<br />

Hergestellte Roboter in 2001<br />

VLRob.ppt<br />

Folie 26<br />

Nur <strong>für</strong> Lehrzwecke


16.000<br />

14.000<br />

12.000<br />

10.000<br />

8.000<br />

6.000<br />

4.000<br />

2.000<br />

0<br />

Einsatz von Industrierobotern in Deutschland<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Anzahl Industrieroboter in Deutschland<br />

Beschichten<br />

Punktschweißen<br />

Bahnschweißen<br />

Entgraten<br />

Kabelbaummontage<br />

Kleinteilemontage<br />

Bestücken<br />

Sonstige Montage<br />

Pressen<br />

Schmieden<br />

Druck-/Spritzguß<br />

Werkzeugmaschinen<br />

Sonstige Werkstückhandhabung<br />

Handhabung im Reinstraum<br />

Werkzeughandhabung Werkstückhandhabung<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

1990<br />

1995<br />

2000<br />

Forschung, Test und Schulung<br />

Angelehnt an: Kroth, Eberhard: Fa. Reis Robotics<br />

VLRob.ppt<br />

Folie 27<br />

Nur <strong>für</strong> Lehrzwecke<br />

Kundenbranchen der Industrieroboter in Deutschland<br />

Sonstige, bzw. keine<br />

Zuordnung<br />

Maschinenbau<br />

17 %<br />

Chemie, Gummi, Kunststoff<br />

Nahrungsmittel<br />

38 %<br />

3 %<br />

Metallerzeugnisse<br />

4,3 Mrd. €<br />

(2005)<br />

3 %<br />

3 %<br />

8 %<br />

28 %<br />

<strong>Robotertechnik</strong><br />

Automotive<br />

Nachrichtentechnik,<br />

elektron. Bauelemente<br />

Quelle: VDMA, Robotik und Automation.<br />

Entnommen aus VDI nachrichten 19/06<br />

VLRob.ppt<br />

Folie 28<br />

Nur <strong>für</strong> Lehrzwecke


M rd . €<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

Umsatz Robotik und Automation<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Reinigung<br />

Inspektion<br />

1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008<br />

Bau / Abbruch<br />

Melkroboter<br />

Industrieroboter - Markt in Deutschland<br />

Exportanteil: ~50%<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Jahr<br />

Montage- und<br />

Handhabungstechnik<br />

Quelle: FV Robotik + Automation im VDMA<br />

(entnommen aus VDI-Nachrichten 16/02, 47/03 und 19/06,<br />

VDI-Z 151 (2009) 4, S. 15)<br />

<strong>Robotertechnik</strong><br />

<strong>Robotertechnik</strong><br />

Robotik<br />

Einsatz von Servicerobotern - international<br />

Medizin / Operation<br />

Mobile Plattform (allg.)<br />

Wachdienst / Minensuche<br />

Unterwassersysteme<br />

Humanoide (F&E, Unterhaltg.)<br />

Handicap / Assistance<br />

Haushalt<br />

Erziehung / Ausbildung<br />

Unterhaltung, Hobby, Freizeit<br />

2002<br />

3.370<br />

280<br />

2.700<br />

2.285<br />

1.910<br />

260<br />

100<br />

53.500<br />

8.300<br />

545.000<br />

Aibo – Roboterhunde von Sony: 130.000 in 2003<br />

2005<br />

5.350<br />

650<br />

3.580<br />

3.500<br />

3.330<br />

3.400<br />

1.380<br />

5.680<br />

200<br />

360<br />

1.900.000<br />

20.700<br />

914.000<br />

2009<br />

7.290<br />

1.600<br />

4.800<br />

9.800<br />

5.600<br />

9.500<br />

3.000<br />

7.700<br />

450<br />

1.000<br />

5.800.000<br />

41.000<br />

2.450.000<br />

VLRob.ppt<br />

Folie 29<br />

Nur <strong>für</strong> Lehrzwecke<br />

Quelle: United Nations – International Federation of Robotics.<br />

Jahrbuch „World Robotics 2003“<br />

und VDI-Nachrichten 45/2006 (IFR Stat. Dep., eigene Schätzung)<br />

VLRob.ppt<br />

Folie 30<br />

Nur <strong>für</strong> Lehrzwecke


3. Bauformen von Industrierobotern<br />

• Komponenten eines Industrieroboters<br />

• Grundtypen von Industrierobotern<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

• Kartesische Roboter und Portalroboter<br />

• Horizontal-Knickarmroboter (SCARA)<br />

• Vertikal-Knickarmroboter<br />

• Parallelkinematiken<br />

• Anwendungsbeispiele<br />

• Vergleich konventioneller Roboter / Parallelkinematiken<br />

• Einsatzspezifische Kenngrößen<br />

<strong>Robotertechnik</strong><br />

Komponenten eines Industrieroboters<br />

Ein Industrieroboter besteht aus folgenden Komponenten:<br />

• Fahrzeug: Lokomotion (bodengebunden, schwebend oder unter<br />

Wasser). Meist 3 Freiheitsgrade (x/y-Richtung und Rotation um z-<br />

Achse).<br />

• Roboterarm: Führt den Endeffektor und besteht aus rotatorischen<br />

und translatorischen Achsen. Meist 4-6 Freiheitsgrade.<br />

• Effektor, Endeffektor, Hand: Interaktion mit der Umwelt,<br />

Manipulation von Werkstücken, Werkzeugen, Messzeugen oder<br />

Beobachtungsgeräten, beispielsweise Kameras.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Roboterarm<br />

Fahrzeug<br />

Effektor<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 31<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 32<br />

Nur <strong>für</strong> Lehrzwecke


Nach DIN EN ISO 8373, 1996<br />

Grundtypen von Industrierobotern<br />

Kartesischer Roboter: Portalroboter<br />

Pendularroboter Zylindrischer Roboter Gelenkroboter<br />

(Horizontal-Knickarmroboter) (Vertikal-Knickarmroboter)<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Polarroboter<br />

Kartesische Roboter und Portalroboter<br />

☺ Verfahren in kartesischen<br />

Raumkoordinaten ohne<br />

Koordinatentransformation<br />

möglich<br />

(einfache Steuerung)<br />

☺ keine großen<br />

Anforderungen an das<br />

räumliche Vorstellungsvermögen<br />

des<br />

Programmierers<br />

☺ steife Struktur, daher sehr große<br />

Arbeitsräume möglich (Portalroboter)<br />

� großer Kollisionsraum<br />

� große Stellfläche<br />

� niedrige Arbeitsgeschwindigkeit<br />

� Spiel in den Achsführungen<br />

unvermeidlich<br />

� Arbeitsraum innerhalb der<br />

Roboterabmessungen<br />

Quellen: R.D. Schraft, Uni Stuttgart, Fraunhofer IPA, Fa. Reis Robotics<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 33<br />

Nur <strong>für</strong> Lehrzwecke<br />

Anwendungsgebiete:<br />

Palettieren, Kommissionieren<br />

Fertigteilfertigung <strong>für</strong> die Bauindustrie<br />

Beschicken von Werkzeugmaschinen<br />

VLRob.ppt<br />

Folie 34<br />

Nur <strong>für</strong> Lehrzwecke


Horizontal-Knickarmroboter (SCARA)<br />

Bei Fügeprozessen und Palettierarbeiten im<br />

Rahmen von Montageaufgaben gelten die<br />

folgenden Anforderungen:<br />

• geringe Werkstückmassen<br />

• sehr kurze Taktzeiten<br />

• hohe Positioniergenauigkeit<br />

• kleiner notwendiger Arbeitsraum.<br />

SCARA = Selective Compliance Assembly Robot Arm<br />

(Montage Roboter mit selektiv elastischem Arm).<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Zwei Bauarten <strong>für</strong><br />

vertikale Achse:<br />

Als erste Achse<br />

Als vierte<br />

Achse<br />

<strong>Robotertechnik</strong><br />

Vertikal-Knickarmroboter<br />

☺ Geringes Störvolumen<br />

☺ Umgreifen von Hindernissen möglich<br />

☺ Von allen Roboterbauarten am<br />

universellsten einsetzbar<br />

� Belastung der Antriebe durch das<br />

Eigengewicht erfordert meist einen<br />

Gewichtsausgleich<br />

Handachs-<br />

Motoren als<br />

Gegengewicht<br />

Hydropneumatischer<br />

Gewichtsausgleich<br />

KUKA<br />

KR 500<br />

<strong>Robotertechnik</strong><br />

☺ hohe Steifigkeit in<br />

vertikaler Richtung<br />

☺ Eigengewicht des<br />

Roboters wirkt nicht auf<br />

die Antriebe<br />

☺ hohe Geschwindigkeit<br />

und Beweglichkeit auch<br />

bei großen Reichweiten<br />

� Form des Arbeitsraums<br />

beschränkt die<br />

Anwendungsgebiete<br />

Anwendungsgebiete:<br />

Montage, Fügen,<br />

Bestücken von Leiterplatten<br />

und Magazinen,<br />

Löten<br />

Quellen:<br />

R.D. Schraft Fraunhofer IPA,<br />

C. Woernle Uni Rostock, Fa. Sankyo<br />

Anwendungsgebiete:<br />

Beschichten und Lackieren<br />

Punkt- und Bahnschweißen<br />

Werkstückhandhabung<br />

Palettieren<br />

Entgraten, Kleberauftrag<br />

VLRob.ppt<br />

Folie 35<br />

Nur <strong>für</strong> Lehrzwecke<br />

Handachsen meist als<br />

“Zentralhand”: Drei sich in<br />

einem Punkt schneidende<br />

Drehachsen<br />

Quelle: C. Woernle, iam Uni Rostock<br />

VLRob.ppt<br />

Folie 36<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Parallelkinematiken<br />

Im Gegensatz zu klassischen Industrierobotern wirken die Antriebsachsen<br />

parallel auf den Endeffektor. Eine Parallelkinematik besteht in der Regel aus<br />

einer festen und einer bewegten Plattform, die über mehrere parallele<br />

kinematische Glieder miteinander verbunden sind. Dadurch ergeben sich einige<br />

prinzipielle Unterschiede:<br />

Vorteile:<br />

• Höhere Genauigkeit und Steifigkeit, da sich die Positionierfehler und<br />

Elastizitäten der einzelnen Antriebsachsen nicht addieren.<br />

• Besseres Last-Massen-Verhältnis, da die<br />

Antriebe direkt auf die Last wirken und<br />

nicht noch zusätzlich nachfolgende<br />

Armglieder tragen müssen.<br />

Nachteile:<br />

• Eingeschränkter Arbeitsraum, da<br />

sich die Bewegungen der Antriebseinheiten<br />

ebenfalls nicht addieren.<br />

• Kinematische und dynamische<br />

Beziehungen aufgrund der<br />

geschlossenen kinematischen<br />

Ketten erheblich komplexer.<br />

<strong>Robotertechnik</strong><br />

Anwendungsbeispiele <strong>für</strong> Parallelkinematiken<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Bewegte<br />

Plattform<br />

Kinematisches<br />

Glied<br />

Feste<br />

Plattform<br />

VLRob.ppt<br />

Folie 37<br />

Nur <strong>für</strong> Lehrzwecke<br />

Bewegungssimulatoren: Aufgrund hoher Lastmassen und Beschleunigungen<br />

werden Bewegungssimulatoren in der Regel als hydraulische Plattformen<br />

aufgebaut.<br />

Hexamove<br />

(Hexapod)<br />

der Fa. OHE<br />

Hagenbuch<br />

AG<br />

Industrieroboter:<br />

Fanuc F-200i<br />

(Last: 100 kg;<br />

Masse: 170 kg)<br />

Flugsimulator<br />

737 FNPT II<br />

der Fa. Frasca<br />

Int., Inc.<br />

Flexpicker IRB340<br />

(Delta-Roboter) von<br />

ABB <strong>für</strong> extrem hohe<br />

Geschwindigkeiten<br />

VLRob.ppt<br />

Folie 38<br />

Nur <strong>für</strong> Lehrzwecke


Parallelkinematik-Roboter ABB IRB 940 (Tricept)<br />

Typische Einsatzgebiete<br />

• Mechanische Bearbeitung (Trennen, Bohren, Schleifen)<br />

• Schweißen, Brennschneiden<br />

Eigenschaften<br />

• Teilweise geschlossene kinematische Kette<br />

• Günstig <strong>für</strong> Aufnahme von Bearbeitungskräften<br />

Schubgelenk (passiv)<br />

Parallele<br />

Hybridstruktur:<br />

q 1<br />

Nach C. Woernle,<br />

iam - Uni Rostock, 2003<br />

q 2<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Drehgelenke (passiv)<br />

Kardangelenke<br />

Schraubtriebe<br />

q3 Bis zu drei serielle<br />

Handachsen<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 39<br />

Nur <strong>für</strong> Lehrzwecke<br />

Vergleich konventioneller Roboter / Parallelkinematiken<br />

Absolutgenauigkeit<br />

Wiederholgenauigkeit<br />

Steifigkeit<br />

Last/Massen-Verhältnis<br />

Beschleunigungen am Endeffektor<br />

Arbeitsraum<br />

(Größe, Hindernisvermeidung)<br />

Flexibilität<br />

(Anpassbarkeit an Aufgabenstellung)<br />

Math. Berechnungsaufwand<br />

(Kinematik, Dynamik)<br />

Serielle Roboter<br />

besser<br />

besser<br />

einfacher<br />

<strong>Robotertechnik</strong><br />

Parallelkinematiken<br />

besser<br />

besser<br />

besser<br />

besser<br />

besser<br />

VLRob.ppt<br />

Folie 40<br />

Nur <strong>für</strong> Lehrzwecke


• Mechanische<br />

Systemgrößen<br />

• Bewegungsraum,<br />

Arbeitsraum<br />

Einsatzspezifische Kenngrößen <strong>für</strong> Roboter<br />

Geometrie Kinematik<br />

Belastung<br />

Wiederholgenauigkeit<br />

• mittlere Positionsstreubreite<br />

• mittlere Orientierungsstreubreite<br />

• mittlere Umkehrspanne<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

• Geschwindigkeiten<br />

• Beschleunigungen<br />

• Überschwingen<br />

• Zykluszeiten<br />

Genauigkeit<br />

• Mittlere Genauigkeit, mit der ein Punkt<br />

im Arbeitsraum angefahren wird<br />

• Räumliche Auflösung<br />

Beispiel:<br />

1 m Bewegungsbereich und 16 Bit Darstellgenauigkeit<br />

ergibt 2 16 = 65.536 Schritte.<br />

Damit folgt: 1 m / 65.536 = 0,000015 m =<br />

0,015 mm = 15 µm Auflösung.<br />

<strong>Robotertechnik</strong><br />

• Nennlast<br />

• Werkzeuglast<br />

• Nutzlast<br />

• Maximallast<br />

• Nennmomente<br />

Referiergenauigkeit<br />

Aus drucktechnischen Gründen leere Folie!<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 41<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 42<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

4. Roboterkinematiken<br />

• Begriffe Kinematik, Dynamik und Achsen<br />

• Freiheitsgrad und Bewegungsfreiheitsgrad<br />

• Symbolische Darstellung von Kinematiken<br />

• Konfigurationen und Arbeitsräume<br />

• Direkte und inverse Kinematik<br />

• Werkzeug-Koordinatensystem, Tool-Center-Point<br />

• Darstellung der Orientierung<br />

• Beispiel: Direkte und inverse Kinematik des SCARA<br />

• Übungsaufgabe<br />

<strong>Robotertechnik</strong><br />

Begriffe Kinematik, Dynamik und Achsen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 43<br />

Nur <strong>für</strong> Lehrzwecke<br />

Die Dynamik befasst sich mit der Betrachtung von Kräften (Trägheitskraft,<br />

Schwerkraft, Antriebe), die auf die Roboterkomponenten einwirken.<br />

Die Kinematik beschreibt den mechanischen Aufbau des Roboters, d.h.<br />

die räumliche Zuordnung der Bewegungsachsen nach Folge und Aufbau.<br />

Sie beschäftigt sich mit der Geometrie und den zeitabhängigen Aspekten<br />

der Bewegung.<br />

In der Kinematik wird von allen dynamischen Aspekten abstrahiert.<br />

Die einzelnen Glieder eines Industrieroboters sind über Linearführungen<br />

und Drehgelenke zu einer kinematischen Kette miteinander verbunden.<br />

Die Glieder, Gelenke und deren Antriebe bilden die Achsen des Roboters.<br />

Die Hauptachsen dienen hierbei zum Positionieren des Endeffektors, d.h.<br />

des Werkzeugs oder Werkstücks, im Raum.<br />

Die Hand- oder Kopf- oder Nebenachsen sind in erster Linie <strong>für</strong> die<br />

Orientierung des Werkzeugs zuständig und bestehen daher in der Regel<br />

aus einer Reihe von Drehgelenken.<br />

VLRob.ppt<br />

Folie 44<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Achsen eines Knickarmroboters<br />

Die Achsen 1,2 und 3 sind die<br />

Hauptachsen des Roboters.<br />

Mit Hilfe der Hauptachsen werden die<br />

Achsen 4,5 und 6, die als Kopf- oder<br />

Handachsen bezeichnet werden, im<br />

Arbeitsraum positioniert.<br />

Durch die zusätzlichen<br />

Bewegungsmöglichkeiten der<br />

Handachsen kann der Greifer oder<br />

das Werkzeug im Raum so orientiert<br />

werden, wie es <strong>für</strong> die Bearbeitungsoder<br />

Handhabungsaufgabe<br />

erforderlich ist.<br />

Mit den 6 Bewegungsachsen eines<br />

Industrieroboters lassen sich alle 6<br />

Freiheitsgrade im Raum einstellen.<br />

<strong>Robotertechnik</strong><br />

Beispiele <strong>für</strong> Haupt- und Nebenachsen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Quelle: Kroth, Eberhard: Reis Robotics<br />

Vertikal Knickarm Horizontal Knickarm Kartesisch / Portal<br />

Zylindrisch Kugelförmig Hexapod<br />

HA = Hauptachse, NA = Nebenachse<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 45<br />

Nur <strong>für</strong> Lehrzwecke<br />

Nach D. Scholz, FH-Münster<br />

VLRob.ppt<br />

Folie 46<br />

Nur <strong>für</strong> Lehrzwecke


Gelenkbauformen <strong>für</strong> Hauptachsen<br />

Die verschiedenen Kinematiken der Industrieroboter lassen sich immer<br />

aus den 3 Grundbauformen <strong>für</strong> Gelenke aufbauen.<br />

• Linearachsen / Translatorische Achsen /<br />

Schubachsen:<br />

• frei konfigurierbarer Arbeitsraum<br />

• beliebig erweiterbarer Arbeitsraum<br />

• günstige Kinematik <strong>für</strong> Handhabungs- und Palletieraufgaben<br />

• steife Gesamtkonstruktion durch mechanische<br />

Entkopplung der Achsen<br />

• Rotatorische Achsen:<br />

• schnelle Bewegungen<br />

• kostengünstig <strong>für</strong> kleine Arbeitsräume<br />

• vorteilhafte Kinematik <strong>für</strong> Bearbeitungsaufgaben<br />

• Zwangsgekoppelte Achsen:<br />

• Kosteneinsparung<br />

• Reduzierung der Bewegungsfreiheiten<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Freiheitsgrad und Bewegungsfreiheitsgrad<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 47<br />

Nur <strong>für</strong> Lehrzwecke<br />

Freiheitsgrad eines Objekts im dreidimensionalen, euklidischen Raum<br />

• Anzahl möglicher unabhängiger Bewegungen im<br />

Bezugskoordinatensystem – definiert durch die minimale Anzahl von<br />

Translationen und Rotationen zur vollständigen Beschreibung der<br />

Stellung (Lage) des Objekts<br />

• Für im dreidimensionalen Raum frei bewegliche Objekte gilt:<br />

Freiheitsgrad: f = 6 (3 Translationen und 3 Rotationen)<br />

Bewegungsfreiheitsgrade (Getriebefreiheitsgrade) eines Roboters<br />

• Anzahl der Bewegungsmöglichkeiten des Roboters<br />

• Freiheitsgrad eines Rotationsgelenks: FR ≤ 3<br />

• Freiheitsgrad eines Translationsgelenks: FT = 1<br />

• Anzahl der Gelenke eines Roboters: n ,meist n ≤ 6<br />

� Bewegungsfreiheitsgrade:<br />

Kinematisch bestimmter Roboter: f = F<br />

Kinematisch redundanter Roboter: f < F<br />

n<br />

F ( F + F )<br />

T<br />

= ∑<br />

i=<br />

1<br />

Mit F ≥ f<br />

Ri i<br />

VLRob.ppt<br />

Folie 48<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Freiheitsgrad: Beispiele<br />

• Auf dem Boden bewegliches Fahrzeug:<br />

• Translation auf der Bodenfläche in x- und y-Richtung sowie<br />

• Drehung um die senkrecht zur Bodenfläche stehende z-Achse<br />

Freiheitsgrad f = 3<br />

• Tennisball:<br />

• Mittelpunkt im Raum (x,y,z-Koordinate)<br />

• Rotation um die Achsen des kartesischen Koordinatensystems<br />

Freiheitsgrad f = 6<br />

• 8-achsiger Roboter:<br />

• Freiheitsgrad f = 6,<br />

• Bewegungsfreiheitsgrad F ist 8<br />

• Freiheitsgrad f einer menschlichen Hand ist 6,<br />

der Bewegungsfreiheitsgrad F ist 22<br />

• Freiheitsgrad f eines menschlichen Arms ) incl. Schulter ist 6,<br />

Bewegungsfreiheitsgrad F ist 7<br />

Um ein Freiheitsgrad f = 6 <strong>für</strong> den Effektor eines Roboters zu erreichen,<br />

sind mindestens F = 6 Bewegungsachsen nötig<br />

Drehgelenk<br />

(Revolute)<br />

f = 1<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Gelenke und Freiheitsgrade<br />

Schubgelenk<br />

(Prismatic)<br />

f = 1<br />

Drehschubgelenk<br />

(Cylindric)<br />

f = 2<br />

Kardangelenk<br />

(Universal)<br />

f = 2<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 49<br />

Nur <strong>für</strong> Lehrzwecke<br />

Kugelgelenk<br />

(Spherical)<br />

f = 3<br />

Quelle: iam, Uni Rostock<br />

VLRob.ppt<br />

Folie 50<br />

Nur <strong>für</strong> Lehrzwecke


Darstellung des kinematischen Aufbaus von IR<br />

Bezeichnungen<br />

Achsen<br />

Translationsachse<br />

Translation fluchtend (Teleskop)<br />

Translation nicht fluchtend<br />

Verfahrachse<br />

Rotationsachse<br />

Rotation fluchtend<br />

Rotation nicht fluchtend<br />

Werkzeuge<br />

Greifer<br />

Kennzeichnung von<br />

Systemgrenzen<br />

Trennung zwischen Haupt- und<br />

Nebenachsen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Symbol Bemerkungen, Beispiele<br />

<strong>Robotertechnik</strong><br />

Symbol mit Angabe der<br />

Bewegungsmöglichkeit<br />

Spritzpistole<br />

Schweißzange<br />

Zangengreifer<br />

Kurzer Trennstrich echte<br />

Schnittstelle, z.B.<br />

auswechselbare Werkzeuge<br />

Beispiel <strong>für</strong> die symbolische Darstellung eines IR<br />

VDI 2861 sieht auch eine Symbolsprache <strong>für</strong> die Beschreibung der<br />

Konfigurationen vor:<br />

• X, Y, Z, U, V und W <strong>für</strong> die Linearachsen<br />

• A, B, C, D, E und F <strong>für</strong> die Drehachsen<br />

• Q, R, S und T <strong>für</strong> sonstige Achsen<br />

Mit einem Trennstrich „/“ werden die Hauptachsen von den Nebenachsen<br />

getrennt<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Nach VDI 2861, Blatt 1, 1988<br />

VLRob.ppt<br />

Folie 51<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 52<br />

Nur <strong>für</strong> Lehrzwecke


Bestimmung der Achsbezeichnungen<br />

Symbolische Darstellung eines siebenachsigen IR:<br />

Die Achsbezeichnungen <strong>für</strong> Industrieroboter beziehen sich auf ein ortsfestes<br />

kartesisches Koordinatensystem mit den horizontalen Achsen X und Y und der<br />

vertikalen Achse Z<br />

Zur Bestimmung der Achsbezeichnungen wird die Grundstellung des IR<br />

angenommen<br />

In der Grundstellung sind alle ortsfesten und ortsbeweglichen Achsen parallel<br />

bzw. symmetrisch zum Bezugskoordinatensystem ausgerichtet<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Nach VDI 2861,<br />

Blatt 2, 1988<br />

VLRob.ppt<br />

Folie 53<br />

Nur <strong>für</strong> Lehrzwecke<br />

Schnittstellen eines IR und angrenzender Peripherie<br />

Reale Darstellung Symbolische Darstellung<br />

<strong>Robotertechnik</strong><br />

Nach VDI 2861, Blatt 2, 1988<br />

VLRob.ppt<br />

Folie 54<br />

Nur <strong>für</strong> Lehrzwecke


Konfigurationen und Arbeitsräume<br />

Bezeichnung Anordnung<br />

Kartesisches<br />

Gerät<br />

Zylinderkoordinatengerät<br />

Kugelkoordinatengerät<br />

Horizontales<br />

Knickarmgerät<br />

Vertikales<br />

Knickarmgerät<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Kinematisches<br />

Ersatzbild<br />

Y<br />

Z<br />

X<br />

<strong>Robotertechnik</strong><br />

Z<br />

X<br />

Y<br />

C D E C D E<br />

Arbeitsraum des Bosch SR 800 (SCARA)<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Z<br />

<strong>Robotertechnik</strong><br />

Z<br />

Arbeitsraum<br />

VLRob.ppt<br />

Folie 55<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 56<br />

Nur <strong>für</strong> Lehrzwecke


Arbeitsraum eines Knickarmroboters (Kuka KR 2)<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Kinematik: Sonderbauformen<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 57<br />

Nur <strong>für</strong> Lehrzwecke<br />

Neben den klassischen Kinematiken gibt es eine Vielzahl von Sonderbauformen,<br />

die zum Teil <strong>für</strong> spezielle Aufgabenstellungen entwickelt wurden. Zum Teil sind<br />

es Abwandlungen der klassischen Bauformen, die durch unterschiedliche<br />

Reihenfolge bei der Anordnung der Achsen entstehen. Sonderbauformen<br />

können so aufgebaut sein, dass sie<br />

• bessere Zugänglichkeit<br />

• bessere Steifigkeit<br />

• bessere Bewegungsfreiheit<br />

<strong>für</strong> spezielle Anwendungsbereiche bieten.<br />

Ein weiterer wichtiger Aspekt<br />

<strong>für</strong> Sonderbauformen ist der<br />

Preis des Roboters <strong>für</strong> eine<br />

bestimmte Aufgabenstellung.<br />

Bild: Fa. Motoman<br />

VLRob.ppt<br />

Folie 58<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Direkte und inverse Kinematik<br />

Für die Steuerung eines Roboters wird die Effektorstellung<br />

in Weltkoordinaten (Basiskoordinaten) vorgegeben.<br />

Diese müssen zur Steuerung der Motoren des Roboters in<br />

Gelenkvektoren (Roboterkoordinaten) umgerechnet<br />

werden, d.h. es wird die inverse Kinematik benötigt.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Direkte Kinematik<br />

(Hintransformation)<br />

Inverse Kinematik<br />

(Rücktransformation)<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 59<br />

Nur <strong>für</strong> Lehrzwecke<br />

Werkzeug-Koordinatensystem und Tool Center Point<br />

Handgelenk-<br />

Flansch<br />

Werkzeug-Koordinatensystem:<br />

Zur Beschreibung der Orientierungen <strong>für</strong> das<br />

Werkzeug gibt es herstellerabhängig verschiedene<br />

Definitionen.<br />

Die Orientierung des Werkzeuges ändert sich, wenn<br />

die Werkzeugspitze an einer Stelle positioniert bleibt<br />

und das Werkzeug um diese Position kippt bzw.<br />

gedreht wird.<br />

Z<br />

X<br />

Y<br />

Ursprung des<br />

Werkzeug-<br />

Koordinatensystems<br />

Tool Center<br />

Point (TCP)<br />

Handgelenk<br />

<strong>Robotertechnik</strong><br />

Werkzeug<br />

Gleiche Position – verschiedene Orientierung:<br />

VLRob.ppt<br />

Folie 60<br />

Nur <strong>für</strong> Lehrzwecke


Roll-Pitch-Yaw: Das aus der Schifffahrt und Luftfahrt bekannte System wird<br />

auch in der Roboterprogrammierung angewandt.<br />

Dabei erfolgen die Rotationen<br />

Z<br />

A, B, C um die unveränderten<br />

Achsen X (Roll, Rollen),<br />

Yaw<br />

Y<br />

Y (Pitch, Stampfen, Nicken)<br />

und Z (Yaw, Gieren).<br />

Pitch<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Darstellungen der Orientierung<br />

Euler-Winkel: Die Rotationen werden nacheinander um die Achsen der neuen<br />

Koordinatensysteme durchgeführt. Die Reihenfolge muss angegeben werden!<br />

ZX‘Z‘‘ – in der Mathematik übliche Definition. Drehung nacheinander um die Z-<br />

Achse, um die X’-Achse des neuen Koordinatensystems und um die<br />

Z’’-Achse des wiederum neuen Koordinatensystems.<br />

ZY‘X‘‘ – wird z.B. bei IRDATA verwendet.<br />

ZY‘Z‘‘ – z.B. bei Programmiersprache VAL <strong>für</strong> PUMA-Roboter.<br />

Weitere Verfahren: Z.B. Quaternionen (Erweiterung komplexer Zahlen)<br />

<strong>Robotertechnik</strong><br />

Roll<br />

Koordinatentransformation und Greifer / Werkzeug<br />

Die Koordinatentransformation der Steuerung besteht meist aus zwei<br />

Teilen:<br />

• Roboterkinematik bis zum Flansch<br />

• Werkzeug- / Greiferkinematik vom Flansch bis zum TCP<br />

• Die sogenannten „Flansch-Koordinaten“ werden beschrieben mit<br />

• Position : x, y, z<br />

• Orientierung: R(z), R(y), R(x) nach Euler oder Roll/Pitch/Yaw<br />

und bilden den Ursprung des Greifer/Werkzeug-Koordinatensystems<br />

• Die Steuerung bezieht sich meist auf den<br />

TCP des aktuellen Greifers / Werkzeugs<br />

(Die genauere Beschreibung ist den<br />

jeweiligen Handbüchern zu entnehmen)<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

X<br />

VLRob.ppt<br />

Folie 61<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 62<br />

Nur <strong>für</strong> Lehrzwecke


Direkte und Inverse Kinematik: Beispiel SCARA-Roboter<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

SCARA = Selective Compliance<br />

Assembly Robot Arm (Montage<br />

Roboter mit selektiv elastischem<br />

Arm).<br />

Zur Vereinfachung der Rechnung<br />

wird der Roboter von oben<br />

betrachtet, d.h. die X-Y-Ebene<br />

dargestellt und nur der Knickarm als<br />

planares System gerechnet.<br />

Die Berechnung der weiteren<br />

Achsen erfolgt dann nach dem<br />

gleichen Prinzip und kann gut als<br />

Übung dienen.<br />

<strong>Robotertechnik</strong><br />

SCARA: Direktes kinematisches Problem<br />

y<br />

L 1<br />

α<br />

L 2<br />

P(x,y)<br />

Ist P(x,y) der Endpunkt des, vom Rumpf aus gesehen, zweiten Arms<br />

des Scara, so gilt <strong>für</strong> die Koordinaten von P<br />

x =<br />

L1cos<br />

α + L2<br />

cos(<br />

α + β)<br />

y = L1sin<br />

α + L2<br />

sin ( α + β)<br />

β<br />

x<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 63<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 64<br />

Nur <strong>für</strong> Lehrzwecke


y<br />

SCARA: Inverses Kinematisches Problem - 1<br />

L1<br />

γ<br />

C<br />

L2<br />

β2<br />

L2<br />

β1<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

P(x,y)<br />

2. Schritt: Berechnung von γ<br />

γ = arctan (s/c)<br />

Problem: arctan ist mehrdeutig, gilt immer<br />

nur in einem Quadranten<br />

� oft wird die erweiterte arctan-Funktion<br />

verwendet: atan2<br />

α2<br />

α1<br />

L1<br />

atan2(s,c) wird so ausgewertet:<br />

α = π/2 bzw. 90° <strong>für</strong> c = 0, s > 0<br />

x α = -π/2 bzw -90° <strong>für</strong> c = 0, s < 0<br />

α = arctan(s/c) <strong>für</strong> c > 0<br />

1. Schritt: Berechnen von C<br />

α = arctan(s/c) + π <strong>für</strong> c < 0, s ≥ 0<br />

α = arctan(s/c) - π <strong>für</strong> c < 0, s < 0<br />

undefiniert <strong>für</strong> c = s = 0<br />

C =<br />

2 2<br />

x + y<br />

Grenzwertbetrachtung<br />

C > L1 + L2 : geometrisch nicht möglich (keine Lösung)<br />

C < |L1 - L2| : geometrisch nicht möglich (keine Lösung)<br />

C = 0 und L1 = L2 : Winkel beliebig<br />

<strong>Robotertechnik</strong><br />

SCARA: Inverses Kinematisches Problem - 2<br />

3. Schritt: Betrachtung der Armlängen<br />

L1 und L2<br />

C = L1 + L2<br />

mit α 1 = α 2 = γ;<br />

β 1 , β 2 = 0<br />

und<br />

C = |L1 ± L2|<br />

wird mit<br />

L1 > L2 : α 1 = α 2 = γ<br />

� β 1 = +180°<br />

� β 2 = -180° (also zwei Lösungen)<br />

y<br />

L1<br />

L2<br />

P(x,y)<br />

α<br />

β1 = +180°<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

β2 = -180°<br />

x<br />

L1 < L2: α 1 = α 2 = γ - 180°<br />

� β 1 = +180°<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 65<br />

Nur <strong>für</strong> Lehrzwecke<br />

� β 2 = -180° (also zwei Lösungen)<br />

L2<br />

γ<br />

P(x,y)<br />

y<br />

L1<br />

x<br />

VLRob.ppt<br />

Folie 66<br />

Nur <strong>für</strong> Lehrzwecke


y<br />

4. Schritt:<br />

SCARA: Inverses Kinematisches Problem - 3<br />

Der „Normalfall“: β 1 und β 2 berechnen<br />

Es ist<br />

C < L1 + L2 und<br />

(keine gestreckten Arme)<br />

C > |L 1 – L 2 | (Arme nicht „gefaltet“)<br />

womit gilt:<br />

y<br />

yp<br />

L1<br />

α2<br />

α1<br />

γ<br />

L1<br />

C<br />

L2<br />

β2<br />

L2<br />

β1<br />

xp<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

P(x,y)<br />

x<br />

Für das untere schiefwinklige Dreick gilt:<br />

x p 2 + yp 2 = C 2 = L1 2 + L2 2 + 2L1 L 2 cos β 1<br />

(Cosinussatz)<br />

Für das obere schiefwinklige Dreieck gilt<br />

x 2<br />

p + yp<br />

2 = C2 = L1<br />

2 + L2<br />

2 + 2L1L2 cos β2 (Cosinussatz)<br />

und es ist auch<br />

β1 > 0<br />

β2 < 0<br />

(aber beide haben den gleichen Betrag!)<br />

und man kann die Gleichungen<br />

gleichsetzen:<br />

x 2<br />

p + yp<br />

2 = C2 = L1<br />

2 + L2<br />

2 + 2L1L2 cos β1 = L 2<br />

1 + L2<br />

2 + 2L1L2 cos β2 ⎛ 2 2 2 2 ( ) ⎞<br />

⎜ x + y − L +<br />

β = ±<br />

1<br />

L<br />

2 ⎟<br />

1 arccos<br />

⎜ 2 L ⎟<br />

⎝<br />

1L2<br />

⎠<br />

<strong>Robotertechnik</strong><br />

SCARA: Inverses Kinematisches Problem - 4<br />

5. Schritt: α 1 und α 2 berechnen<br />

L1<br />

α2<br />

α1<br />

γ<br />

α 1 = γ - δ<br />

α 2 = γ + δ<br />

C<br />

δ<br />

-δ<br />

L1<br />

L2<br />

L2<br />

P(x,y)<br />

Mit dem Cosinussatz wird<br />

2 2 2 L2 = L1 + C – 2 C L1cos δ<br />

⎛ 2 2 2 ⎞<br />

⎜L<br />

− L + C<br />

δ = arccos 1 2 ⎟<br />

⎜ 2 L C ⎟<br />

⎝<br />

1<br />

⎠<br />

x<br />

<strong>Robotertechnik</strong><br />

Fazit:<br />

VLRob.ppt<br />

Folie 67<br />

Nur <strong>für</strong> Lehrzwecke<br />

Der Weg der „traditionellen Geometrie“ führt<br />

zum Ziel, ist aber<br />

• Recht aufwändig abzuleiten<br />

• Nicht übertragbar auf andere<br />

Kinematiken<br />

• Führt bei komplexen Kinematiken<br />

zu umfangreichen „Kunstwerken“<br />

Bei mehrdeutigen Lösungen besteht bei der<br />

inversen Kinematik das Problem, welche der<br />

Lösungen man in der Steuerung auswählt:<br />

• Programmierer des Anwendungsproblems<br />

wählt aus.<br />

• Vorherige Stellung als Entscheidungskriterium,<br />

z.B. die Winkel, die am<br />

nächsten liegen nehmen.<br />

• Hindernisse erkennen � Den Fall der<br />

Kollisionsvermeidung nehmen.<br />

VLRob.ppt<br />

Folie 68<br />

Nur <strong>für</strong> Lehrzwecke


Übung: K‘-transformation mit konventioneller Geometrie<br />

Gelenk 2<br />

(Rotation)<br />

d 1<br />

z<br />

Festpunkt<br />

α<br />

y p<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

d 3<br />

Gelenk 3<br />

(Translation)<br />

Gelenk 1<br />

(Translation)<br />

x p<br />

P(x p , y p , z p )<br />

z p<br />

y<br />

<strong>Robotertechnik</strong><br />

Aufgabe mit einfach zur<br />

rechnenden dimensionslosen<br />

Zahlenwerten:<br />

x<br />

a) Direktes Problem<br />

Gegeben:<br />

d1 = 3, d3 = 4, α = 30°<br />

Gesucht: Position von P<br />

Lösung:<br />

xP = 3,464<br />

yP = 2,0<br />

zP = 3<br />

b) Inverses Problem:<br />

Gegeben:<br />

xP, yP, zP , Werte wie a)<br />

Gesucht: d1, d3, α<br />

Lösung: siehe a)<br />

Aus drucktechnischen Gründen leere Folie!<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 69<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 70<br />

Nur <strong>für</strong> Lehrzwecke


e zB<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

5. Koordinatentransformation<br />

• Grundlagen<br />

• Position und Orientierung eines Körpers im Raum<br />

• Rotationen<br />

• Homogene Koordinaten und Transformationen<br />

• Denavit-Hartenberg-Verfahren (direktes kinemat. Problem)<br />

• Beschreibung nach DH<br />

• Bezeichnungen nach DH<br />

• DH-Transformation <strong>für</strong> Translation und Rotation<br />

• Bestimmung der DH-Parameter<br />

• Anwendung von DH auf Industrieroboter<br />

• DH am Beispiel eines SCARA-Roboters<br />

• Übungsaufgaben<br />

• Inverses kinematisches Problem<br />

• Analytisches Verfahren von Paul<br />

• Numerische Verfahren<br />

• Beispiel: SCARA<br />

• Übungsaufgaben<br />

• Singularitäten<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Position und Orientierung eines Körpers im Raum<br />

e = Einheitsvektoren<br />

B<br />

e xB<br />

e yB<br />

d K<br />

e zK<br />

K<br />

e xK<br />

e yK<br />

Es wird unterschieden:<br />

• Bezugskoordinatensystem (base frame);<br />

fixiert, ortsfest,<br />

z.B. am Boden festgeschraubter Roboter<br />

• Körperkoordinatensystem (body base<br />

frame); angesiedelt in einzelnen Körpern,<br />

bei Robotern z.B. fixiert im Gelenk oder im<br />

Schwerpunkt des Arms oder in „günstigen<br />

geometrischen Punkten“<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 71<br />

Nur <strong>für</strong> Lehrzwecke<br />

Nächster Schritt:<br />

Position und Orientierung bezogen auf Frame B unter<br />

zu Hilfenahme von Frame K des Körpers beschreiben<br />

p<br />

P<br />

VLRob.ppt<br />

Folie 72<br />

Nur <strong>für</strong> Lehrzwecke


Rotation in kartesischen Koordinaten<br />

Generell gibt es drei Freiheitsgrade <strong>für</strong> die Orientierung im Raum und es<br />

werden meist zwei Verfahren zur Beschreibung der Orientierung angewandt:<br />

• Euler-Winkel<br />

(Mechanik, …)<br />

• Roll, Pitch, Yaw (Rollen, Gieren, Nicken)<br />

(Schifffahrt, Luftfahrt)<br />

x<br />

Ausgangssituation:<br />

x<br />

⎛1<br />

⎜<br />

R(<br />

x,<br />

α)<br />

= ⎜0<br />

⎜<br />

⎝0<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

z<br />

α<br />

w<br />

u<br />

v<br />

u<br />

z<br />

w<br />

Rotation um x:<br />

0<br />

cosα<br />

sinα<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

v<br />

Mit R = Rotationsmatrix oder Orientierungsmatrix<br />

(ui, vi, wi = x-y-z - Koordinaten der Einheitsvektoren):<br />

y<br />

⎛ux<br />

⎜<br />

R = ⎜uy<br />

⎜<br />

⎝uz<br />

⎛ 1<br />

⎜<br />

R = ⎜0<br />

⎜<br />

⎝0<br />

0<br />

1<br />

0<br />

vx<br />

vy<br />

vz<br />

0⎞<br />

⎟<br />

0⎟<br />

1⎟<br />

⎠<br />

<strong>Robotertechnik</strong><br />

<strong>Robotertechnik</strong><br />

wx<br />

⎞<br />

⎟<br />

wy<br />

⎟<br />

w ⎟<br />

z ⎠<br />

Rotation um die x-, y- und z-Achse<br />

α<br />

y<br />

0 ⎞<br />

⎟<br />

− sinα<br />

⎟<br />

cosα<br />

⎟<br />

⎠<br />

x<br />

⎛ cosβ<br />

⎜<br />

R(<br />

y,<br />

β)<br />

= ⎜ 0<br />

⎜<br />

⎝−<br />

sinβ<br />

0<br />

1<br />

0<br />

sinβ<br />

⎞<br />

⎟<br />

0 ⎟<br />

cosβ⎟<br />

⎠<br />

(allgemein)<br />

(Ausgangssituation /<br />

Skizze)<br />

Rotation um y: Rotation um z:<br />

β<br />

w<br />

z<br />

u v<br />

y<br />

x<br />

γ<br />

z<br />

w<br />

u v<br />

⎛cos<br />

γ<br />

⎜<br />

R(<br />

z,<br />

γ)<br />

= ⎜ sinγ<br />

⎜<br />

⎝ 0<br />

VLRob.ppt<br />

Folie 73<br />

Nur <strong>für</strong> Lehrzwecke<br />

y<br />

− sinγ<br />

cos γ<br />

0<br />

0⎞<br />

⎟<br />

0⎟<br />

1⎟<br />

⎠<br />

VLRob.ppt<br />

Folie 74<br />

Nur <strong>für</strong> Lehrzwecke


Kombinationen / Serien von Rotationen<br />

Rotationsmatrizen können miteinander multipliziert werden<br />

x<br />

� Ergebnis ist eine Serie von Rotationen um die Achsen des<br />

Koordinatensystems (Frames)<br />

� Wichtig ist die Reihenfolge der Rotationen!<br />

Ausgangssituation<br />

z<br />

w<br />

u v<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Es sei<br />

⎛ x⎞<br />

⎜ ⎟<br />

p = ⎜ y⎟<br />

⎜ ⎟<br />

⎝ z⎠<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

y<br />

x<br />

x<br />

R(<br />

x,<br />

30°<br />

)<br />

<strong>Robotertechnik</strong><br />

x<br />

R(<br />

z,<br />

90°<br />

)<br />

R R<br />

( z,<br />

90°<br />

)<br />

( x,<br />

30°<br />

)<br />

z<br />

w<br />

w<br />

z<br />

α<br />

u<br />

v<br />

u<br />

v<br />

γ =90°<br />

α=30°<br />

Homogene Koordinaten<br />

ein Vektor im 3D-Koordinatensystem<br />

dann sind die homogenen Koordinaten des Punktes (Vektors) P<br />

pH<br />

⎛h<br />

• x⎞<br />

⎜ ⎟<br />

⎜h<br />

• y⎟<br />

=<br />

⎜h<br />

• z⎟<br />

⎜<br />

⎟<br />

⎝ h ⎠<br />

mit h ≠ 0<br />

y<br />

y<br />

<strong>Robotertechnik</strong><br />

x<br />

w<br />

z<br />

w<br />

z<br />

v<br />

u<br />

v<br />

u<br />

γ = 90°<br />

y<br />

VLRob.ppt<br />

Folie 75<br />

Nur <strong>für</strong> Lehrzwecke<br />

y<br />

α =30°<br />

Der Spaltenvektor h ist der Skalierungsvektor. In der Kinematik ist h = 1<br />

Damit kann <strong>für</strong> die Beschreibung der Rotation und Translation eine so<br />

genannte homogene 4x4 Matrize aufgestellt werden:<br />

M =<br />

R T<br />

0 0 0 1<br />

mit<br />

R = 3 x 3 Matrix: Rotation<br />

T = 3 x 1 Vektor: Translation<br />

1 = Skalierungsfaktor <strong>für</strong> Kinematik<br />

Vorteil: Rotation und Translation werden in einer Matrix zusammengefasst<br />

VLRob.ppt<br />

Folie 76<br />

Nur <strong>für</strong> Lehrzwecke


0<br />

Homogene Koordinaten in der <strong>Robotertechnik</strong><br />

d 1<br />

1<br />

p 0P<br />

p 1P<br />

0 0 0<br />

p0P<br />

= d1+<br />

p1P<br />

0 0 1<br />

= d1+<br />

R1<br />

p1P<br />

In homogenen Koordinaten:<br />

0<br />

0 ⎛ R<br />

p 1<br />

0P<br />

= ⎜<br />

⎝ 0<br />

0 1<br />

d ⎞⎛<br />

1 p ⎞<br />

⎟⎜<br />

1P<br />

⎟<br />

1<br />

⎟⎜<br />

1<br />

⎟<br />

⎠⎝<br />

⎠<br />

0<br />

r0P<br />

=<br />

0<br />

T1<br />

1<br />

r1P<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

P<br />

Orte im Raum können vollständig<br />

beschrieben werden durch:<br />

d, p = Positionsvektor<br />

R = Rotationsmatrix<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Hinweis:<br />

0R1 = Rotationsmatrix<br />

<strong>für</strong> Frame 1 bezogen<br />

auf Frame 0<br />

2<br />

0<br />

p 0P<br />

p 2P<br />

<strong>Robotertechnik</strong><br />

d 2<br />

d 1<br />

P<br />

p 1P<br />

In Vektorschreibweise:<br />

1<br />

0 0 0 0<br />

p0P<br />

= d1+<br />

d2+<br />

p2P<br />

0 0 1 0 1 2<br />

= d1+<br />

R1<br />

d2+<br />

R1<br />

R 2 p2P<br />

In homogenen Koordinaten:<br />

0 0 1 2<br />

r 0P<br />

= T1<br />

T2<br />

r2P<br />

Homogene Transformationen<br />

Trans(x,y,z) = Verschiebung eines<br />

Punktes um x,y,z entlang der<br />

jeweiligen Achse:<br />

Trans<br />

R ,<br />

( x α)<br />

( x,<br />

y,<br />

z)<br />

⎛1<br />

⎜<br />

⎜0<br />

=<br />

⎜0<br />

⎜<br />

⎝0<br />

⎛1<br />

⎜<br />

⎜0<br />

=<br />

⎜0<br />

⎜<br />

⎝0<br />

Rotation um die x-Achse:<br />

0<br />

cosα<br />

sinα<br />

0<br />

0<br />

1<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

− sinα<br />

cosα<br />

0<br />

x⎞<br />

⎟<br />

y⎟<br />

z⎟<br />

⎟<br />

1⎠<br />

0⎞<br />

⎟<br />

0⎟<br />

0⎟<br />

⎟<br />

1⎠<br />

Rotation um die y-Achse:<br />

R ,<br />

( y β)<br />

<strong>Robotertechnik</strong><br />

⎛ cosβ<br />

⎜<br />

⎜ 0<br />

=<br />

⎜−<br />

sinβ<br />

⎜<br />

⎝ 0<br />

0<br />

1<br />

0<br />

0<br />

sinβ<br />

0<br />

cosβ<br />

Rotation um die z-Achse:<br />

R ,<br />

( z<br />

γ)<br />

⎛cos<br />

γ<br />

⎜<br />

⎜ sinγ<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

− sinγ<br />

cos γ<br />

0<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

VLRob.ppt<br />

Folie 77<br />

Nur <strong>für</strong> Lehrzwecke<br />

0⎞<br />

⎟<br />

0⎟<br />

0⎟<br />

⎟<br />

1⎠<br />

0⎞<br />

⎟<br />

0⎟<br />

0⎟<br />

⎟<br />

1⎠<br />

VLRob.ppt<br />

Folie 78<br />

Nur <strong>für</strong> Lehrzwecke


Begründung:<br />

Beschreibung nach Denavit - Hartenberg<br />

• Bisher wurden die Koordinatensysteme intuitiv<br />

gewählt<br />

• Es ist aber zweckmäßig, nach einem einheitlichen<br />

Schema beziehungsweise Verfahren vorzugehen<br />

• Vorteil: Verschiedene Anwender kommen zu einer<br />

gleichen oder zumindest vergleichbaren<br />

Beschreibung der Aufgabe<br />

Prinzip:<br />

• Es geht darum, von einem i-ten<br />

Koordinatensystem zu einem (i+1)-ten<br />

Koordinatensystem zu kommen<br />

• Man beschränkt die Freiheitsgrade der<br />

Koordinatensysteme:<br />

- eine Drehachse<br />

- eine Linearachse<br />

(oft prismatische Achse genannt)<br />

Denavit, J., Hartenberg, R. S.: A kinematic notation for lower pair mechanisms<br />

based on Matrices. Journal of Applied Mechanics, vol. 77, pp. 215–221, June 1955.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Bei einem Roboter<br />

bestehen im Normalfall<br />

folgende Möglichkeiten <strong>für</strong><br />

zwei so genannte<br />

kinematische Paare:<br />

Gelenk i<br />

Gelenk i<br />

Glied i<br />

Drehachse<br />

Drehachse<br />

Linearachse<br />

Linearachse<br />

Bezeichnungen nach Denavit-Hartenberg<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Gelenk i+1<br />

Form und Masse<br />

der Glieder werden<br />

abstrahiert<br />

Gelenk i+1<br />

Drehachse<br />

Linearachse<br />

Drehachse<br />

Linearachse<br />

VLRob.ppt<br />

Folie 79<br />

Nur <strong>für</strong> Lehrzwecke<br />

Die Gelenkachsen von Gelenk (i) und Gelenk (i+1) fallen mit den z-Achsen der<br />

Koordinatensysteme (i-1) und (i) zusammen.<br />

Beispiel <strong>für</strong> Drehgelenke:<br />

Gelenk i<br />

a i-1<br />

z i-1<br />

d i<br />

K i-1<br />

q i<br />

q i<br />

Glied i<br />

y i-1<br />

a i<br />

x i-1<br />

Gelenk i+1<br />

y i<br />

K α i<br />

i<br />

z i<br />

q i+1<br />

x i<br />

Man erkennt:<br />

• ai und αi sind durch die<br />

Gelenkkonstruktionen festgelegt.<br />

• ai ist die gemeinsame Normale der<br />

Drehachsen (z-Achsen), also der<br />

kürzeste Abstand der Achsen.<br />

• ai ist ein Abstand, und daher > 0<br />

• αi ist der Winkel, um den man die erste<br />

Achse z i drehen muss, damit sie parallel<br />

zur zweiten Achse z i+1 wird.<br />

• αi wird in der Ebene senkrecht zur<br />

gemeinsamen Normalen ai gemessen.<br />

• Schaut man von der Pfeilspitze von xi auf<br />

diese Ebene, erkennt man die positive<br />

Richtung von α i .<br />

• x i läuft kolinear zu a i , und seine Richtung<br />

geht von K i-1 weg nach K i .<br />

• Die y-Achsen ergänzen die<br />

Koordinatensysteme zum Rechtssystem.<br />

VLRob.ppt<br />

Folie 80<br />

Nur <strong>für</strong> Lehrzwecke


Beschreibung der Drehungen und der Translationen - 1<br />

a i-1<br />

z i-1<br />

d i<br />

K i-1<br />

1.<br />

Drehung<br />

⎛cos qi<br />

− sinqi<br />

⎜<br />

⎜ sinqi<br />

cos qi<br />

⎜ 0 0<br />

⎜<br />

⎝ 0 0<br />

um qi<br />

0<br />

0<br />

1<br />

0<br />

q i<br />

y i-1<br />

0⎞<br />

⎟<br />

0⎟<br />

0⎟<br />

⎟<br />

1⎠<br />

a i<br />

x i-1<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

,<br />

⎛1<br />

⎜<br />

⎜0<br />

⎜0<br />

⎜<br />

⎝0<br />

K i<br />

2.<br />

Translation<br />

0<br />

1<br />

0<br />

0<br />

y i<br />

α i<br />

0<br />

0<br />

1<br />

0<br />

z i<br />

ai<br />

⎞<br />

⎟<br />

0 ⎟<br />

d ⎟<br />

i<br />

⎟<br />

1 ⎠<br />

x i<br />

und<br />

Es sind drei Schritte<br />

abzuarbeiten:<br />

<strong>Robotertechnik</strong><br />

1. Drehung um die Achse<br />

zi-1 um den Winkel qi<br />

2. Translation Ki-1 � Ki<br />

3. Drehung um die Achse xi<br />

um den Winkel αi<br />

⎛1<br />

⎜<br />

⎜0<br />

⎜0<br />

⎜<br />

⎝0<br />

<strong>Robotertechnik</strong><br />

3.<br />

Drehung<br />

0<br />

cos αi<br />

sinαi<br />

0<br />

um αi<br />

0<br />

− sinαi<br />

cos αi<br />

0<br />

0⎞<br />

⎟<br />

0⎟<br />

0⎟<br />

⎟<br />

1⎠<br />

VLRob.ppt<br />

Folie 81<br />

Nur <strong>für</strong> Lehrzwecke<br />

Beschreibung der Drehungen und der Translationen - 2<br />

Die Koordinatentransformation von (i-1) zu (i) ist dann das Produkt der Matrizen:<br />

⎛cos qi<br />

− sinqi<br />

⎜<br />

i−1<br />

⎜ sinqi<br />

cos qi<br />

Ti<br />

=<br />

⎜ 0 0<br />

⎜<br />

⎝ 0 0<br />

⎛cos qi<br />

− sinqi<br />

⎜<br />

⎜ sinqi<br />

cos qi<br />

=<br />

⎜ 0 0<br />

⎜<br />

⎝ 0 0<br />

⎛cos<br />

qi<br />

⎜<br />

⎜ sinqi<br />

=<br />

⎜<br />

0<br />

⎜<br />

⎝ 0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

0<br />

1<br />

0<br />

− sinqi<br />

cos αi<br />

cos qi<br />

cos αi<br />

sinαi<br />

0<br />

0⎞<br />

⎛ 1<br />

⎟ ⎜<br />

0⎟<br />

⎜0<br />

⎟<br />

•<br />

0 ⎜0<br />

⎟<br />

⎜<br />

1⎠<br />

⎝0<br />

0⎞<br />

⎛1<br />

⎟ ⎜<br />

0⎟<br />

⎜0<br />

⎟<br />

•<br />

0 ⎜0<br />

⎟<br />

⎜<br />

1⎠<br />

⎝0<br />

0<br />

1<br />

0<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

cos αi<br />

sinαi<br />

0<br />

sinqi<br />

sinαi<br />

− cos qi<br />

sinαi<br />

cos α<br />

i<br />

0<br />

ai<br />

⎞ ⎛1<br />

⎟ ⎜<br />

0 ⎟ ⎜0<br />

⎟<br />

•<br />

d ⎜<br />

i 0<br />

⎟<br />

⎜<br />

1 ⎠ ⎝0<br />

0<br />

− sinαi<br />

cos αi<br />

0<br />

0<br />

cos αi<br />

sinαi<br />

0<br />

ai<br />

⎞<br />

⎟<br />

0 ⎟<br />

d ⎟<br />

i<br />

⎟<br />

1 ⎠<br />

ai<br />

cos qi<br />

⎞<br />

⎟<br />

ai<br />

sinqi<br />

⎟<br />

d<br />

⎟<br />

i ⎟<br />

1<br />

⎟<br />

⎠<br />

0<br />

− sinαi<br />

cos αi<br />

0<br />

0⎞<br />

⎟<br />

0⎟<br />

0⎟<br />

⎟<br />

1⎠<br />

VLRob.ppt<br />

Folie 82<br />

Nur <strong>für</strong> Lehrzwecke


Beschreibung der Drehungen und der Translationen - 3<br />

Anmerkungen:<br />

• Die Koordinatentransformation hängt von vier Parametern ab: ai, αi, di, qi<br />

• Diese Parameter werden auch „link parameter“ genannt<br />

• ai und αi sind durch die maschinenbauliche Konstruktion des (i)-ten Gliedes gegeben<br />

• qi und di sind abhängig von der Verbindung der Glieder (i-1) und (i) über das Gelenk (i)<br />

Fallunterscheidungen: (Deutung von q i )<br />

Gelenk (i) ist eine Drehachse:<br />

di ist konstruktiv vorgegeben und konstant<br />

q i ist eine Gelenkkoordinate, d.h. im Beispiel der Winkel zwischen den<br />

Gliedern (i-1) und (i)<br />

Gelenk ist eine Linearachse (Translation):<br />

di ist variabel und wird dann als qi bezeichnet<br />

Der Winkel zwischen den Gliedern ist konstruktiv festgelegt, also konstant.<br />

Er wird dann ϑi genannt.<br />

Damit folgt die Schreibweise der vorherigen Koordinatentransformation<br />

<strong>für</strong> die Linearachse:<br />

⎛cos<br />

ϑi<br />

⎜<br />

i−1<br />

⎜ sin ϑi<br />

Ti<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

− sin ϑi<br />

cos αi<br />

cos ϑi<br />

cos αi<br />

sin αi<br />

0<br />

sin ϑi<br />

sin αi<br />

− cos ϑi<br />

sin αi<br />

cos αi<br />

0<br />

<strong>Robotertechnik</strong><br />

Verallgemeinerung der Beschreibung<br />

<strong>Robotertechnik</strong><br />

ai<br />

cos ϑi<br />

⎞<br />

⎟<br />

ai<br />

sin ϑi<br />

⎟<br />

q ⎟<br />

i<br />

⎟<br />

1 ⎠<br />

Die zuvor im Beispiel aufgestellten Koordinatentransformationen <strong>für</strong> die<br />

Drehungen und die Translationen kann man auch zusammenfassen (es<br />

handelt sich dabei nur um eine andere Sichtweise!):<br />

⎛cos<br />

ϑi<br />

⎜<br />

i−1<br />

⎜ sinϑi<br />

Ti<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

− sinϑi<br />

cos αi<br />

cos ϑi<br />

cos αi<br />

sinαi<br />

0<br />

Und nun setzt man als Variable q i<br />

Für die Drehachse: ϑi = qi<br />

Für die Linearachse: di = qi<br />

sinϑi<br />

sinαi<br />

− cos ϑi<br />

sinαi<br />

cos αi<br />

0<br />

Damit lassen sich dann alle vier möglichen<br />

beziehungsweise zulässigen Fälle betrachten:<br />

ai<br />

cos ϑi<br />

⎞<br />

⎟<br />

ai<br />

sinϑi<br />

⎟<br />

d ⎟<br />

i<br />

⎟<br />

1 ⎠<br />

Gelenk i<br />

Drehachse<br />

Drehachse<br />

Linearachse<br />

Linearachse<br />

Gelenk i+1<br />

Drehachse<br />

Drehachse<br />

VLRob.ppt<br />

Folie 83<br />

Nur <strong>für</strong> Lehrzwecke<br />

Linearachse<br />

Linearachse<br />

VLRob.ppt<br />

Folie 84<br />

Nur <strong>für</strong> Lehrzwecke


i−1<br />

Ti<br />

=<br />

i−1<br />

Ti<br />

=<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

Denavit–Hartenberg Parameter am Drehgelenk<br />

cos ϑi<br />

sin ϑi<br />

0<br />

0<br />

− sin ϑi<br />

cos αi<br />

cos ϑi<br />

cos αi<br />

sin αi<br />

0<br />

Glied i-1<br />

Gelenk i-1<br />

ai-1<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

sin ϑi<br />

sin αi<br />

− cos ϑi<br />

sin αi<br />

cos αi<br />

0<br />

Glied i-1<br />

Gelenk i-1<br />

ai-1<br />

di<br />

di<br />

zi-1<br />

ai<br />

cos ϑi<br />

ai<br />

sin ϑi<br />

di<br />

1<br />

zi-1<br />

Ki-1<br />

Ki-1<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

Gelenk i<br />

ϑi<br />

yi-1<br />

ai<br />

xi-1<br />

Glied i<br />

yi<br />

<strong>Robotertechnik</strong><br />

Gelenk i<br />

ϑi<br />

yi-1<br />

ai<br />

xi-1<br />

Glied i<br />

yi<br />

<strong>Robotertechnik</strong><br />

α i<br />

Ki<br />

zi<br />

xi<br />

Glied i+1<br />

Gelenk i+1<br />

Der Winkel ϑi ist variabel<br />

d i , a i , α i sind konstant<br />

α i<br />

Ki<br />

zi<br />

xi<br />

VLRob.ppt<br />

Folie 85<br />

Nur <strong>für</strong> Lehrzwecke<br />

Denavit-Hartenberg Parameter am Translationsgelenk<br />

⎛<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

cos ϑi<br />

sin ϑi<br />

0<br />

0<br />

− sin ϑi<br />

cos αi<br />

cos ϑi<br />

cos αi<br />

sin αi<br />

0<br />

sin ϑi<br />

sin αi<br />

− cos ϑi<br />

sin αi<br />

cos αi<br />

0<br />

ai<br />

cos ϑi<br />

ai<br />

sin ϑi<br />

di<br />

1<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

Glied i+1<br />

Gelenk i+1<br />

Der Abstand di ist variabel<br />

ϑ i , a i , α i sind konstant<br />

VLRob.ppt<br />

Folie 86<br />

Nur <strong>für</strong> Lehrzwecke


Festlegen der Koordinatensysteme - 1<br />

Die vorherige Koordinatentransformation kann unter folgenden<br />

Voraussetzungen auf Industrieroboter angewandt werden:<br />

Glied 0 beziehungsweise Koordinatensystem 0:<br />

• Der Sockel (Fuß) des Industrieroboters ist Glied 0 und ist mit dem (0)-ten<br />

Koordinatensystem fest verbunden und heißt: Bezugssystem (reference<br />

frame) oder Weltkoordinatensystem (da ist der Roboter „festgeschraubt“)<br />

• Der Ursprung von Koordinatensystem 0 wird auf die erste Gelenkachse<br />

gelegt.<br />

• z 0 zeigt dann entlang der Gelenkachse<br />

• x 0 und y 0 sind dann frei wählbar, bilden aber ein Rechtssystem<br />

Koordinatensysteme K i mit i = 1, 2, … n-1:<br />

• Der Ursprung von K i liegt auf der Gelenkachse i+1<br />

• Die Richtung von Z i geht entlang der Gelenkachse i+1; das Vorzeichen ist<br />

frei wählbar<br />

• … siehe nächste Folie!<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Festlegen der Koordinatensysteme - 2<br />

Es sind drei Fälle zu unterscheiden:<br />

• Parallele Gelenkachsen<br />

• x i läuft kolinear zu ai und zeigt von K i-1 nach K i<br />

• Sich schneidende Achsen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 87<br />

Nur <strong>für</strong> Lehrzwecke<br />

• x i läuft parallel zur Richtung des Kreuzproduktes z i-1 X z i; die Richtung ist<br />

frei wählbar<br />

• a i ist der Abstand der beiden Systeme<br />

• Windschiefe Achsen<br />

• Die Achsen schneiden sich nicht und sind auch nicht parallel. Vorgehen<br />

wie bei parallelen Achsen. Der Fall ist bei realen Robotern eher selten!<br />

Festlegen des letzten Koordinatensystems K n<br />

• Möglichst TCP als Ursprung wählen (oder fiktiven TCP)<br />

• z n geht in Richtung von z n-1 und durch TCP<br />

• Richtung von x n:<br />

• z n-1 und z n liegen auf einer Linie: x n wie x n-1 legen<br />

• Sonst: x n steht senkrecht auf z n-1 und zeigt von z n-1 in Richtung z n<br />

VLRob.ppt<br />

Folie 88<br />

Nur <strong>für</strong> Lehrzwecke


Gesamttransformation, Position und Orientierung<br />

Jede der aufzustellenden Matrizen enthält dann genau eine der<br />

Gelenkkordinaten qi<br />

Die Multiplikation aller Matrizen führt dann zu<br />

0 0 1 2<br />

T = Tn<br />

= T1<br />

• T2<br />

• T3<br />

•<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

...<br />

n−1<br />

Tn<br />

Wobei, allgemein ausgedrückt, T so aussieht:<br />

⎛a11<br />

a12<br />

a13<br />

a14<br />

⎞<br />

⎜<br />

⎟<br />

⎜a21<br />

a22<br />

a23<br />

a24<br />

⎟<br />

T =<br />

⎜a<br />

a a a ⎟<br />

⎜ 31 32 33 34<br />

⎟<br />

⎝ 0 0 0 1 ⎠<br />

Für die Werkzeugspitze (Tooltip) im n-ten Koordinatensystem wird<br />

Die Position: Die Orientierung: Die Winkel nach Vukobratovic:<br />

X<br />

Tooltip<br />

⎛a<br />

⎜<br />

= ⎜a<br />

⎜<br />

⎝a<br />

14<br />

24<br />

34<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

⎛a11<br />

⎜<br />

⎜a21<br />

⎜<br />

⎝a31<br />

a12<br />

a22<br />

a32<br />

a13<br />

⎞<br />

⎟<br />

a23<br />

⎟<br />

a ⎟<br />

33 ⎠<br />

ψ = atan2(a21,<br />

a11)<br />

( Drehung um<br />

ϑ = atan2(<br />

−a31,<br />

( a11cos<br />

ψ + a21sin<br />

ψ))<br />

ϕ = atan2(<br />

a32,<br />

a33)<br />

( Drehung um<br />

Vukobratovic, M.: "Introduction to Robotics", Springer, <strong>Berlin</strong> Heidelberg New York 1989<br />

<strong>Robotertechnik</strong><br />

Zusammenfassung Denavit-Hartenberg - Verfahren<br />

Folgende Schritte sind zur Lösung des direkten Problems erforderlich:<br />

1. Roboter skizzieren und in günstige Grundstellung ausrichten<br />

2. Bestimmung der Koordinatensysteme nach Denavit-Hartenberg<br />

3. Ablesen der DH-Parameter (a i, a i, d i, ϑ i) und eintragen in eine<br />

Tabelle<br />

4. Bestimmung der Matrizen i-1 Ti, die jeweils von den gegebenen<br />

Gelenkkoordinaten abhängen<br />

5. Berechnung von T beziehungsweise 0 Tn durch<br />

Matrizenmultiplikation<br />

6. Berechnung der externen Koordinaten<br />

(Tooltip) x, y, z (Position)<br />

7. Berechnung der Orientierung, d.h. der Winkel<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

z)<br />

x)<br />

VLRob.ppt<br />

Folie 89<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 90<br />

Nur <strong>für</strong> Lehrzwecke


z 0<br />

0<br />

Übungsbeispiel: DH <strong>für</strong> den planaren SCARA<br />

Bestimmung der Koordinatensysteme nach DH:<br />

L 1 L 2<br />

α<br />

β<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

P<br />

Zur Erinnerung:<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

• Der Sockel (Festpunkt) des Roboters ist Glied 0<br />

• In Glied 0 ist das Weltkoordinatensystem<br />

<strong>Robotertechnik</strong><br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 91<br />

Nur <strong>für</strong> Lehrzwecke<br />

Übungsbeispiel: DH <strong>für</strong> den planaren SCARA - Glied 1<br />

a 1 = L 1<br />

y 0<br />

ϑ 1 = α<br />

x 0<br />

Glied 1<br />

y 1<br />

z 1<br />

1<br />

i−1<br />

x 1<br />

⎛cos<br />

ϑi<br />

⎜<br />

⎜ sinϑi<br />

Ti<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

Gewählt <strong>für</strong> SCARA:<br />

d1 = 0 (Fußpunkt)<br />

α 1 = 0 (z 0 , z 1 laufen parallel, keine<br />

Achsverdrehung)<br />

Die DH-Koordinatentransformation ist<br />

dann:<br />

− sinϑ<br />

cosα<br />

i<br />

cosϑ<br />

cosα<br />

i<br />

sinα<br />

0<br />

i<br />

i<br />

i<br />

sinϑ<br />

sinα<br />

− cosϑ<br />

sinα<br />

i<br />

cosα<br />

Einsetzen der Parameter aus der Skizze:<br />

⎛cos<br />

α<br />

⎜<br />

0<br />

⎜ sinα<br />

T1<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

− sinα<br />

cos α<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

L1cos<br />

α⎞<br />

⎟<br />

L1sin<br />

α ⎟<br />

0 ⎟<br />

⎟<br />

1 ⎠<br />

i<br />

i<br />

i<br />

i<br />

ai<br />

cosϑi<br />

⎞<br />

⎟<br />

ai<br />

sinϑi<br />

⎟<br />

d ⎟<br />

i<br />

⎟<br />

1 ⎠<br />

VLRob.ppt<br />

Folie 92<br />

Nur <strong>für</strong> Lehrzwecke


z 0<br />

0<br />

Übungsbeispiel: DH <strong>für</strong> den planaren SCARA - Glied 2<br />

a 1 = L 1<br />

y 0<br />

ϑ 1 = α<br />

x 0<br />

y 1<br />

Glied 1<br />

z 1<br />

d 2 = 0<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

1<br />

y 2<br />

a 2 = L 2<br />

Glied 2<br />

x 1<br />

Z 2<br />

2<br />

ϑ 2 = β<br />

x 2<br />

Für SCARA gilt:<br />

d2 = 0 (Gelenke in einer Ebene)<br />

α2 = 0 (z-Achsen laufen parallel)<br />

Einsetzen der obrigen Werte in DH:<br />

⎛ cos β<br />

⎜<br />

1 ⎜ sin β<br />

T2<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

<strong>Robotertechnik</strong><br />

<strong>Robotertechnik</strong><br />

− sin β<br />

cos β<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

L2<br />

cos β ⎞<br />

⎟<br />

L2<br />

sin β ⎟<br />

0 ⎟<br />

⎟<br />

1 ⎠<br />

VLRob.ppt<br />

Folie 93<br />

Nur <strong>für</strong> Lehrzwecke<br />

Übungsbeispiel: DH <strong>für</strong> SCARA - Gesamttransformation<br />

⎛cos<br />

α<br />

⎜<br />

0 0 1 ⎜ sinα<br />

T2<br />

= T1<br />

T2<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

⎛ cos α cos β − sin α sin β −<br />

⎜<br />

sin α cos β + cos α sin β −<br />

= ⎜<br />

⎜ 0<br />

⎝ 0<br />

⎛cos(<br />

α + β)<br />

⎜<br />

0 ⎜ sin( α + β)<br />

T2<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

− sin α<br />

cos α<br />

0<br />

0<br />

cos α sin β − sin α cos β<br />

sin α cos β + cos α cos β<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

L1cos<br />

α⎞<br />

⎛cos<br />

β<br />

⎟ ⎜<br />

L1<br />

sinα<br />

⎟ ⎜ sinβ<br />

⎟<br />

•<br />

0 ⎜ 0<br />

⎟<br />

⎜<br />

1 ⎠ ⎝ 0<br />

0<br />

0<br />

1<br />

0<br />

− sinβ<br />

cosβ<br />

Es gilt: sin α cosβ<br />

+ cos α sinβ<br />

= sin(<br />

α + β)<br />

cos α cosβ<br />

− sin α sinβ<br />

= cos(<br />

α + β)<br />

und man kann schreiben:<br />

− sin( α + β)<br />

cos( α + β)<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

0<br />

L2<br />

cosβ<br />

⎞<br />

⎟<br />

L2<br />

sinβ<br />

⎟<br />

0 ⎟<br />

⎟<br />

1 ⎠<br />

cos α L2<br />

cos β − sin α L2<br />

sin β + L<br />

1<br />

sin α<br />

sin α L2<br />

cos β + cos α L2<br />

sin β + L1<br />

sin α<br />

0<br />

L2<br />

cos( α + β)<br />

+ L1cos<br />

α⎞<br />

⎟<br />

L2<br />

sin( α + β)<br />

+ L1sin<br />

α ⎟<br />

0 ⎟<br />

⎟<br />

1 ⎠<br />

Orientierung in der Ebene Position in der Ebene<br />

1<br />

0<br />

0<br />

1<br />

0<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

VLRob.ppt<br />

Folie 94<br />

Nur <strong>für</strong> Lehrzwecke


Übungsbeispiel: DH <strong>für</strong> den planaren SCARA - Zahlenbeispiel<br />

Bei einem SCARA sei:<br />

L1 = 4<br />

L2 = 3<br />

α = 30°<br />

β = 30°<br />

(Es werden glatte, dimensionslose Zahlen angenommen, um den<br />

Rechenaufwand gering zu halten!)<br />

Damit ist<br />

⎛ 0,<br />

5<br />

⎜<br />

0 ⎜0,<br />

866<br />

T2 =<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

− 0,<br />

866<br />

0,<br />

5<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

3 • 0,<br />

5 + 4 • 0,<br />

866 = 4.<br />

964⎞<br />

⎟<br />

3 • 0,<br />

866 + 4 • 0,<br />

5 = 4,<br />

598 ⎟<br />

0<br />

⎟<br />

⎟<br />

1<br />

⎠<br />

Die allgemeine Form der Matrix ist: ψ = atan2(a21,<br />

a11)<br />

⎛a11<br />

⎜<br />

⎜a21<br />

⎜a<br />

⎜ 31<br />

⎝ 0<br />

a12<br />

a22<br />

a32<br />

0<br />

a13<br />

a23<br />

a33<br />

0<br />

a14<br />

⎞<br />

⎟<br />

a24<br />

⎟<br />

a ⎟<br />

34<br />

⎟<br />

1 ⎠<br />

Euler-Winkel ϑ = atan2(<br />

−a31,<br />

( a11cos<br />

ψ + a21sin<br />

ψ))<br />

ϕ = atan2(<br />

a32,<br />

a33)<br />

0,<br />

866<br />

ψ = atan2(<br />

0,<br />

866 , 0,<br />

5)<br />

= arctan( ) = arctan 1,<br />

732 = 60°<br />

0,<br />

5<br />

Gelenk 2<br />

(Rotation)<br />

d 1<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

ϑ = atan2(<br />

0 , ( 0,<br />

5 cos ψ + 0,<br />

866 sin ψ))<br />

= atan2(<br />

0,<br />

( 0,<br />

433<br />

ϕ = atan2(<br />

0,<br />

1)<br />

= arctan 0<br />

= 0°<br />

<strong>Robotertechnik</strong><br />

<strong>Robotertechnik</strong><br />

+<br />

0,<br />

433)<br />

= arctan 0<br />

Übung: DH-Verfahren <strong>für</strong> einen einfachen Roboter<br />

z<br />

α<br />

Festpunkt<br />

d 3<br />

Gelenk 3<br />

(Translation)<br />

Gelenk 1<br />

(Translation)<br />

y p<br />

x p<br />

P(x p , y p , z p )<br />

z p<br />

y<br />

0<br />

T3<br />

Lösung:<br />

⎛cos q2<br />

− sin q2<br />

⎜<br />

= ⎜ sin q2<br />

cos q2<br />

⎜ 0 0<br />

⎜<br />

⎝ 0 0<br />

0<br />

0<br />

1<br />

0<br />

= 0°<br />

VLRob.ppt<br />

Folie 95<br />

Nur <strong>für</strong> Lehrzwecke<br />

d3<br />

cos q2<br />

⎞<br />

⎟<br />

d3<br />

sin q2<br />

⎟<br />

d1<br />

⎟<br />

⎟<br />

1 ⎠<br />

VLRob.ppt<br />

Folie 96<br />

Nur <strong>für</strong> Lehrzwecke


1<br />

2 3<br />

4<br />

1<br />

2<br />

3<br />

4<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

1<br />

Wunschrichtung<br />

<strong>für</strong> Achse 3:<br />

Übungsbeispiel: Manutec h5<br />

2<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

i<br />

4<br />

Z<br />

L1 L2<br />

z1 z<br />

y 2 z<br />

1<br />

y 3<br />

2<br />

y3 z 0<br />

x 1<br />

y 0<br />

x 0<br />

<strong>Robotertechnik</strong><br />

x 2<br />

DH-Parameter <strong>für</strong> die skizzierte Stellung<br />

3<br />

ai 0<br />

L1<br />

L2<br />

0<br />

H<br />

αi 0<br />

0<br />

0<br />

0<br />

<strong>Robotertechnik</strong><br />

di Z<br />

Übungsbeispiel: Bosch SR800<br />

i<br />

1<br />

2<br />

3<br />

4<br />

0<br />

0<br />

-T<br />

L1 L2<br />

z1 y1 x 1<br />

y 2<br />

y 3<br />

z 4<br />

ϑi 0<br />

W2<br />

W3<br />

W4<br />

z 2<br />

z 3<br />

x 3<br />

y 4<br />

x 4<br />

T<br />

VLRob.ppt<br />

Folie 97<br />

Nur <strong>für</strong> Lehrzwecke<br />

α 2<br />

x 2<br />

x 3<br />

z0 y0 x0 y4 z4 x4 DH-Parameter <strong>für</strong> die skizzierte Stellung<br />

ai L1<br />

L2<br />

0<br />

0<br />

αi 0<br />

180°<br />

0<br />

0<br />

di H<br />

0<br />

Z<br />

0<br />

ϑi W1<br />

W2<br />

0<br />

W4<br />

Z<br />

VLRob.ppt<br />

Folie 98<br />

Nur <strong>für</strong> Lehrzwecke


Hauptachsen<br />

H<br />

3<br />

Handachsen<br />

1<br />

2<br />

4<br />

5<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

α 1<br />

y 1<br />

z0 y0 ϑ1x0 <strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Übungsbeispiel: Manutec r 15 - 1<br />

6<br />

Hand:<br />

<strong>Robotertechnik</strong><br />

Übungsbeispiel: Manutec r 15 - 2<br />

L1 L2 L3<br />

ϑ3 =W3-90° x x4 z4 z z 3<br />

x<br />

1<br />

2<br />

5<br />

α3 α4 α5 x1 x2 z3<br />

y4 z5<br />

y2 y3 y5 i<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

DH-Parameter <strong>für</strong> die skizzierte Stellung<br />

ai 0<br />

L1<br />

0<br />

0<br />

0<br />

0<br />

αi -90°<br />

0<br />

-90°<br />

+90°<br />

-90°<br />

0<br />

<strong>Robotertechnik</strong><br />

di H<br />

0<br />

0<br />

L2<br />

0<br />

L3<br />

y 6<br />

ϑi W1<br />

W2<br />

W3 -90°<br />

W4<br />

W5<br />

W6<br />

VLRob.ppt<br />

Folie 99<br />

Nur <strong>für</strong> Lehrzwecke<br />

x6 z6 VLRob.ppt<br />

Folie 100<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Inverses kinematisches Problem<br />

Fragestellung: Welche Gelenkstellungen führen den Endeffektor in eine<br />

vorgegebene Zielstellung?<br />

Direkte Kinematik<br />

(Hintransformation)<br />

Inverse Kinematik<br />

(Rücktransformation)<br />

• Die Berechnungen sind häufig sehr komplex<br />

� Werkzeuge wie Mathematica, Maple V, Matlab werden eingesetzt<br />

• Die Lösungen sind häufig nicht eindeutig (vergl. SCARA-Beispiel)<br />

• Die Rückwärtsrechnung muss schritt haltend, also in Echtzeit, mit der<br />

Bewegung des Roboters erfolgen<br />

• Es existiert kein allgemein anwendbares Lösungsverfahren<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Berechnungsmöglichkeiten<br />

• Analytische Verfahren<br />

• Meist nur <strong>für</strong> Roboter mit einfacher Gelenkanordnung<br />

praktikabel<br />

• Oft werden Matrizen verwendet<br />

• Roboterspezifische, spezielle (analytische) Verfahren<br />

• Gelenkachsen von Robotern liegen oft parallel oder<br />

rechtwinklig zueinander<br />

� Rückrechnung wird wesentlich vereinfacht und ist<br />

manchmal einfacher als das Rechnen mit Matrizen<br />

• Numerische Verfahren<br />

• Die Gelenkparameter werden mit Hilfe eines<br />

Näherungsverfahrens berechnet<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 101<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 102<br />

Nur <strong>für</strong> Lehrzwecke


Vorgehen:<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Analytisches Verfahren von Paul<br />

1. Aufstellen der Vorwärtstransformation nach DH<br />

2. Aufstellen der homogenen Matrix <strong>für</strong> die Zielstellung (Lage)<br />

3. Elementweises Gleichsetzen der Matrizen von<br />

Vorwärtstransformation und Zielstellung<br />

4. Aus den entstehenden Gleichungen intuitiv die geeigneten zur<br />

Bestimmung der Gelenkvariablen heraussuchen<br />

Wenn die Gleichungen nicht ausreichen, kann versucht werden,<br />

zusätzliche Gleichungen aus folgenden Beziehungen zu finden:<br />

0<br />

Tn<br />

0<br />

T1<br />

n<br />

0<br />

T<br />

0<br />

Tn<br />

0<br />

T<br />

1<br />

1•<br />

T2<br />

=<br />

=<br />

=<br />

0<br />

T1<br />

1<br />

T2<br />

2<br />

T3<br />

usw<br />

•<br />

•<br />

•<br />

1<br />

T2<br />

2<br />

T3<br />

L<br />

•<br />

•<br />

2<br />

T3<br />

L<br />

•<br />

•<br />

n−1<br />

Tn<br />

L<br />

•<br />

n−1<br />

Tn<br />

•<br />

n−1<br />

Tn<br />

Paul, R.: Robot Manipulators: Mathematics Programming and Control. MIT-Press: Cambridge (MA), 1981<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 103<br />

Nur <strong>für</strong> Lehrzwecke<br />

Beispiel: Vereinfachter SCARA mit zwei Drehgelenken<br />

Vorwärtstransformation nach DH:<br />

⎛cos(<br />

q1<br />

+ q2)<br />

⎜<br />

0 ⎜ sin( q1<br />

+ q2)<br />

T2<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

P<br />

( q , )<br />

1 q2<br />

⎛cos<br />

ψ<br />

⎜<br />

⎜ sinψ<br />

=<br />

⎜ 0<br />

⎜<br />

⎝ 0<br />

− sin( q1<br />

+ q2)<br />

cos( q1<br />

+ q2)<br />

0<br />

Beschreibung der Zielstellung:<br />

− sinψ<br />

cos ψ<br />

0<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

x⎞<br />

⎟<br />

y⎟<br />

0⎟<br />

⎟<br />

1⎠<br />

0<br />

0<br />

1<br />

0<br />

L2<br />

cos( q1<br />

+ q2)<br />

+ L1cos<br />

q1⎞<br />

⎟<br />

L2<br />

sin( q1<br />

+ q2)<br />

+ L1sin<br />

q1<br />

⎟<br />

0<br />

⎟<br />

⎟<br />

1<br />

⎠<br />

Gl.<br />

1:<br />

cos ψ = cos( q1<br />

+ q )<br />

Elementweises Gleichsetzen:<br />

2<br />

Gl.<br />

2 : sinψ<br />

= sin( q1<br />

+ q2)<br />

Gl.<br />

3 : − sinψ<br />

= − sin( q1<br />

+ q2)<br />

Gl.<br />

4 : cos ψ = cos( q1<br />

+ q2)<br />

Gl.<br />

5 : x = L1cos<br />

q1<br />

+ L2<br />

cos( q1<br />

+ q2)<br />

Gl.<br />

6 : y = L1sin<br />

q1<br />

+ L2<br />

sin( q1<br />

+ q2)<br />

Gl1und<br />

4 sowie Gl 2 und 3 sind redundant<br />

VLRob.ppt<br />

Folie 104<br />

Nur <strong>für</strong> Lehrzwecke


Bekannt sind: L1, L2, x, y und ψ<br />

Gesucht werden:<br />

Gelenkwinkel q1 und q2<br />

Mit<br />

cos ψ = cos( q1<br />

+ q2)<br />

sinψ<br />

= sin( q1<br />

+ q2)<br />

und<br />

⎛ sin(<br />

ψ)<br />

⎞<br />

ψ = arctan ⎜ ⎟<br />

⎝ cos(<br />

ψ)<br />

⎠<br />

wird<br />

⎛ sin( q1<br />

+ q2)<br />

⎞<br />

ψ = arctan ⎜<br />

⎟<br />

⎝ cos( q1<br />

+ q2)<br />

⎠<br />

also<br />

ψ = q1<br />

+ q2<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Fortsetzung Beispiel<br />

und mit<br />

x = L1cos<br />

q1<br />

+ L2<br />

cos ψ<br />

y = L1sinq1<br />

+ L2<br />

sinψ<br />

gilt<br />

x − L2<br />

cos ψ<br />

cos q1<br />

=<br />

L1<br />

y − L2<br />

sinψ<br />

sinq1<br />

=<br />

L1<br />

und<br />

⎛ sin<br />

q1<br />

= arctan ⎜<br />

⎝ cos<br />

führt zu<br />

<strong>Robotertechnik</strong><br />

Numerische Verfahren<br />

( q1)<br />

( q )<br />

1<br />

⎛ y − L2<br />

sinψ<br />

x − L2<br />

cos ψ ⎞<br />

q1<br />

= atan2 ⎜<br />

,<br />

⎟<br />

⎝ L1<br />

L1<br />

⎠<br />

q2<br />

= ψ − q1<br />

Für das inverse kinematische Problem lässt sich nicht immer eine<br />

analytische Lösung finden<br />

� Dann kommen numerische Verfahren beziehungsweise<br />

Näherungsverfahren zum Einsatz<br />

Am Beispiel des einfachen SCARA mit zwei Drehgelenken soll eines der<br />

numerischen Verfahren vorgestellt werden:<br />

Es gilt: x = L1cos<br />

ϑ1<br />

+ L2<br />

cos(<br />

ϑ1<br />

+ ϑ2)<br />

y = L sinϑ<br />

+ L sin ( ϑ + ϑ )<br />

1 1 2 1 2<br />

mit q1<br />

= ϑ1<br />

und q2<br />

= ϑ2<br />

kann man schreiben :<br />

f1<br />

f2<br />

1 2<br />

( q , q ) = L1cos<br />

q1<br />

+ L2<br />

cos(<br />

q1<br />

+ q2)<br />

1 2<br />

( q , q ) = L1sin<br />

q1<br />

+ L2<br />

sin(<br />

q1<br />

+ q2<br />

)<br />

Wenn man <strong>für</strong> einen Punkt die Lösung kennt, kann man <strong>für</strong> einen<br />

benachbarten Punkt die Lösung näherungsweise berechnen.<br />

Also: bekannte Lösung : P(<br />

x , y ) →<br />

( q , q )<br />

0 0 10 20<br />

gesuchte Lösung : P(<br />

x dx,<br />

y dy)<br />

→ ( q1,<br />

q2)<br />

0+<br />

0+<br />

<strong>Robotertechnik</strong><br />

⎞<br />

⎟<br />

⎠<br />

VLRob.ppt<br />

Folie 105<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 106<br />

Nur <strong>für</strong> Lehrzwecke


dx = x −<br />

dy = y −<br />

dP = J<br />

wobei<br />

Lösungsansatz <strong>für</strong> numerisches Verfahren<br />

Für Funktionen von mehreren Variablen gilt der Satz von Taylor:<br />

x0<br />

y0<br />

( q , q )<br />

1<br />

=<br />

=<br />

2<br />

f1<br />

f2<br />

⎛dx<br />

⎞<br />

dP = ⎜ ⎟<br />

⎝dy<br />

⎠<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

( q , q ) − f1<br />

( q , q )<br />

( q , q ) − f2<br />

( q , q )<br />

Das als Matrize geschrieben<br />

:<br />

1<br />

1<br />

⎛ ∂f<br />

⎜ 1<br />

⎛dx<br />

⎞ ⎜ ∂q<br />

⎜ ⎟ = 1<br />

⎝dy<br />

⎠<br />

⎜ ∂f2<br />

⎜<br />

⎝ ∂q1<br />

∂f1<br />

⎞<br />

⎟<br />

∂q2<br />

⎟ ⎛ dq1<br />

⎞<br />

•<br />

f ⎜<br />

2 dq ⎟<br />

∂ ⎟<br />

⎟<br />

⎝ 2 ⎠<br />

∂q2<br />

⎠<br />

In dem vorigen Ausdruck<br />

kann die sogenannte<br />

Jacobi - Matrix identifiziert<br />

werden (auf 2D reduziert) :<br />

und man kann dann schreiben :<br />

• dQ<br />

2<br />

2<br />

und<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

10<br />

10<br />

20<br />

20<br />

⎛ dq1<br />

⎞<br />

dQ = ⎜<br />

dq ⎟<br />

⎝ 2 ⎠<br />

⎛ ∂f1<br />

∂f<br />

dq 1 ⎞<br />

≈ ⎜<br />

1 dq<br />

q q<br />

2<br />

⎟<br />

⎜<br />

+<br />

⎟<br />

⎝ ∂ 1 ∂ 2 ⎠<br />

⎛ ∂f<br />

≈ ⎜ 2<br />

⎜<br />

dq<br />

q<br />

1 +<br />

⎝ ∂ 1<br />

sind<br />

∂f2<br />

dq<br />

∂q<br />

2<br />

2<br />

<strong>Robotertechnik</strong><br />

Bestimmung der Gelenkkordinaten<br />

• Von einem Punkt (Startpunkt) P0 müssen bekannt sein:<br />

• Die externen Koordinaten (x,y)<br />

• Die Gelenkkoordinaten (q1, q2)<br />

<strong>Robotertechnik</strong><br />

( q , q ) = ( q , q )<br />

⎞<br />

⎟<br />

⎠<br />

1<br />

( q , q ) = ( q , q )<br />

1<br />

2<br />

2<br />

⎛ ∂f<br />

⎜ 1<br />

q<br />

J<br />

⎜ ∂<br />

= 1<br />

⎜ ∂f2<br />

⎜<br />

⎝ ∂q1<br />

• Mittels der Jacobi-Matrix J und ihrer Inversen J -1 können dann die<br />

Gelenkkoordinaten eines Punktes P berechnet werden<br />

10<br />

10<br />

20<br />

20<br />

∂f1<br />

⎞<br />

⎟<br />

∂q2<br />

⎟<br />

∂f2<br />

⎟<br />

⎟<br />

∂q2<br />

⎠<br />

VLRob.ppt<br />

Folie 107<br />

Nur <strong>für</strong> Lehrzwecke<br />

• Voraussetzung:<br />

P und P0 dürfen nicht zu weit auseinander liegen, weil sonst die Näherungen<br />

nach Taylor zu ungenau werden<br />

� Man zerlegt dann die Strecke von P0 nach P in Teilstrecken und wendet<br />

das Verfahren mehrfach an. Damit sich die einzelnen Fehler nicht<br />

addieren, wird nach jedem Schritt eine direkte Transformation<br />

durchgeführt. Von dieser exakten Position aus wird dann weiter gerechnet.<br />

mit<br />

gilt<br />

wobei<br />

und<br />

dP =<br />

J(q1,<br />

q2)<br />

• dQ<br />

-1<br />

dQ = J ( q1,<br />

q2)<br />

• dP<br />

dQ = Q - Q0<br />

dP = P - P0<br />

ist,<br />

und in Teilstrecken<br />

zerlegt werden kann<br />

VLRob.ppt<br />

Folie 108<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Beispiel: Einfacher SCARA - 1<br />

Für den einfachen SCARA mit zwei Drehgelenken sieht die Jacobi-Matrix<br />

wie folgt aus:<br />

⎛−<br />

L1sin<br />

q1<br />

− L2<br />

sin<br />

J = ⎜<br />

⎝ L1cos<br />

q1<br />

+ L2<br />

cos<br />

T ⎛ L2<br />

cos<br />

J<br />

adj<br />

= ⎜<br />

⎝−<br />

L1cos<br />

q1<br />

− L2<br />

und es gilt<br />

-1<br />

1<br />

J =<br />

JD<br />

JD<br />

= L1L<br />

2 sinq2<br />

T<br />

• J<br />

adj<br />

mit JD<br />

( q1<br />

+ q2)<br />

− L2<br />

sin(<br />

q1<br />

+ q2)<br />

( q + q ) L cos(<br />

q + q )<br />

-1<br />

Die Inverse J ist dann so zu gewinnen :<br />

1. Adjunkte bilden<br />

2. Transponierte<br />

bilden<br />

-1<br />

J =<br />

und<br />

1<br />

JD<br />

−1<br />

Q = Q0<br />

+ J • ( P − P0<br />

)<br />

beziehungsweise<br />

1<br />

( q1<br />

+ q2)<br />

L2<br />

sin(<br />

q1<br />

+ q2<br />

)<br />

cos(<br />

q + q ) − L sinq<br />

− L sin(<br />

q + q )<br />

d.h. sinq2<br />

⎛ L2<br />

cos<br />

⎜<br />

⎜−<br />

L1cos<br />

q1<br />

− L2<br />

⎜<br />

⎝<br />

0<br />

⎛ q1<br />

⎞ ⎛ q10<br />

⎞ ⎛Δx<br />

⎞<br />

⎜ ⎟ ⎜ ⎟ −1<br />

⎜ ⎟<br />

⎜q2<br />

⎟ = ⎜q20<br />

⎟ + J • ⎜Δy<br />

⎟<br />

⎜ 0 ⎟ ⎜ 0 ⎟ ⎜ 0 ⎟<br />

⎝ ⎠ ⎝ ⎠ ⎝ ⎠<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

2<br />

1<br />

2<br />

2<br />

als Determinante<br />

von J, und<br />

1<br />

1<br />

2<br />

1<br />

⎞<br />

⎟<br />

⎠<br />

2<br />

darf nicht 0 werden! (gestreckter<br />

Arm, degeneriert)<br />

<strong>Robotertechnik</strong><br />

Beispiel: Einfacher SCARA - 2<br />

<strong>Robotertechnik</strong><br />

1<br />

2<br />

⎞<br />

⎟<br />

⎠<br />

JD<br />

muss ≠ 0 sein<br />

-1<br />

Die obrige Gleichung <strong>für</strong> J aufgeschrieben<br />

in homogener Form <strong>für</strong><br />

2D - Probleme :<br />

( q1<br />

+ q2)<br />

L2<br />

sin(<br />

q1<br />

+ q2<br />

)<br />

cos(<br />

q + q ) − L sinq<br />

− L sin(<br />

q + q )<br />

1<br />

ist <strong>für</strong> den einfachen SCARA mittels homogener Matrizen einfach mit<br />

zu implementieren.<br />

2<br />

1<br />

1<br />

2<br />

0<br />

1<br />

2<br />

VLRob.ppt<br />

Folie 109<br />

Nur <strong>für</strong> Lehrzwecke<br />

0 ⎞<br />

⎟<br />

0 ⎟<br />

J ⎟<br />

D ⎠<br />

Die folgende Folie zeigt die Ergebnisse einer mit Matlab durchgeführten<br />

Näherungsrechnung. Man sieht sehr gut, wie die Näherung zu Beginn<br />

etwas ungenau ist, aber zum Ende der Strecke schnell konvergiert.<br />

Matlab<br />

VLRob.ppt<br />

Folie 110<br />

Nur <strong>für</strong> Lehrzwecke


y-Achse<br />

3<br />

2.95<br />

2.9<br />

2.85<br />

2.8<br />

2.75<br />

2.7<br />

2.65<br />

Ergebnisse einer Näherungsrechnung mit Matlab<br />

Ist<br />

Naeherungsrechnung fuer planaren SCARA<br />

Ziel<br />

2.6<br />

3.5 4 4.5 5 5.5 6 6.5<br />

x-Achse<br />

Mit L1 =4, L2 = 3, q1 = 10°, q2 = 30° folgt:<br />

4.2237 4.2227 2.9623 2.9539<br />

Startposition: x = 6,2374<br />

4.0000 3.9995 3.0000 2.9917<br />

y = 2,6230<br />

4.0000 4.0000 3.0000 3.0000<br />

Gewählte Zielposition: x = 4,0<br />

y = 3,0<br />

L1 = 4, L2 = 3, q10 = 10°, q20 = 30°<br />

Strecken entlang der Achsen in 10 gleiche Teilabschnitte zerlegt<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Soll<br />

Start<br />

5.5662<br />

5.3424<br />

5.1187<br />

4.8949<br />

4.6712<br />

4.4475<br />

<strong>Robotertechnik</strong><br />

Singularitäten<br />

X-Soll<br />

6.2374<br />

6.0136<br />

5.7899<br />

<strong>Robotertechnik</strong><br />

X-Ist<br />

6.2374<br />

5.9806<br />

5.7801<br />

5.5571<br />

5.3361<br />

5.1140<br />

4.8915<br />

4.6687<br />

4.4458<br />

Y-Soll<br />

2.6230<br />

2.6607<br />

2.6984<br />

2.7361<br />

2.7738<br />

2.8115<br />

2.8492<br />

2.8869<br />

2.9246<br />

Y-Ist<br />

2.6230<br />

2.6384<br />

2.6887<br />

2.7255<br />

2.7643<br />

2.8025<br />

2.8405<br />

2.8784<br />

2.9162<br />

VLRob.ppt<br />

Folie 111<br />

Nur <strong>für</strong> Lehrzwecke<br />

Singularitäten sind spezielle Situationen, in denen die mathematische Ermittlung der<br />

Gelenkwinkel nicht möglich ist, beispielsweise bei einer Division durch Null. Diese<br />

Situationen entsprechen besonderen Stellungen des Roboterarmes.<br />

Singuläre Konfigurationen<br />

• Mehrere Achsen liegen in einer Linie.<br />

• Die Drehung einer Achse kann durch<br />

die Gegendrehung einer anderen<br />

Achse kompensiert werden.<br />

• Es existieren unendlich viele<br />

Lösungen <strong>für</strong> die Rücktransformation.<br />

• Ein Freiheitsgrad verloren, da <strong>für</strong><br />

eine Drehachse zwei Gelenke<br />

verwendet werden.<br />

Abhilfe: Kurzzeitig beide Achsen<br />

zu einer zusammenfassen oder<br />

eine Achse „einfrieren“.<br />

Singularität bei Bewegung<br />

• Ein Arm durchläuft eine Stellung, in der die<br />

Winkelgeschwindigkeit eines oder mehrerer<br />

Gelenke unendlich werden müsste, um den<br />

TCP mit der gewünschten Bahngeschwindigkeit<br />

weiterzubewegen.<br />

• Innere Singularitäten treten im Inneren des<br />

Arbeitsraumes auf.<br />

• Randsingularitäten treten am Rand des<br />

Arbeitsbereiches auf.<br />

• Ein Freiheitsgrad geht verloren.<br />

Gesperrte<br />

Richtung<br />

Nicht-singuläre Stellung Randsingularität Innere Singularität<br />

VLRob.ppt<br />

Folie 112<br />

Nur <strong>für</strong> Lehrzwecke


Singuläre Achsstellungen eines 6-Achsen-Knickarmrob.<br />

3<br />

2<br />

1<br />

Start<br />

4<br />

5<br />

6<br />

Achsen<br />

1, 4, 6<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

5<br />

4<br />

3<br />

2<br />

1<br />

Achsen<br />

1, 4<br />

6<br />

3<br />

4<br />

2<br />

1<br />

Achsen<br />

4, 6<br />

<strong>Robotertechnik</strong><br />

5<br />

6<br />

3<br />

4<br />

6<br />

5<br />

Achsen<br />

1, 6<br />

Bahn mit Singularität zur Erreichung eines Ziels<br />

Hindernis,<br />

Arbeitraumbegrenzung<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Start<br />

Ziel<br />

(nicht erreichbar)<br />

Hindernis,<br />

Arbeitraumbegrenzung<br />

� Singularitäten treten im praktischen Betrieb häufig auf.<br />

<strong>Robotertechnik</strong><br />

Singuläre<br />

Stellung<br />

2<br />

1<br />

VLRob.ppt<br />

Folie 113<br />

Nur <strong>für</strong> Lehrzwecke<br />

� Manche Roboter bleiben beim Auftreten einer Singularität einfach stehen.<br />

� Oft bieten die Robotersprachen eine Lösung <strong>für</strong> die kritischen Bereiche an,<br />

z.B. werden durch einen Befehl „SingArea/Wrist“ die Handachsen von Bahnauf<br />

PTP-Steuerung geschaltet, womit die Singularität vermieden wird.<br />

Ziel<br />

VLRob.ppt<br />

Folie 114<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

6. Robotersteuerung<br />

• Aufgaben<br />

• Komponenten<br />

• Betriebsarten<br />

• Arten der Bewegungssteuerung<br />

• Punkt-zu-Punkt-Steuerung (PTP)<br />

• Überschleifen<br />

• Vielpunktsteuerung<br />

• Bahnsteuerung<br />

• Bahninterpolation<br />

• Nachführung der Orientierung<br />

<strong>Robotertechnik</strong><br />

Aufgaben einer Robotersteuerung<br />

Erstellung, Test und<br />

Korrektur von<br />

Programmen<br />

Kommunikation mit dem<br />

Benutzer und mit externen<br />

Fertigungsrechnern<br />

Fehlererkennung und<br />

–diagnose am Roboter<br />

und am Prozess<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Steuerung der<br />

Verfahrbewegungen des<br />

Roboters<br />

Aufnahme und<br />

Auswertung von<br />

Sensorsignalen<br />

<strong>Robotertechnik</strong><br />

Steuerung der<br />

Greiferfunktionen<br />

Steuerung von<br />

Zuführsystemen und<br />

externen Achsen<br />

Synchronisation der<br />

Roboterbewegungen mit<br />

externen Ereignissen<br />

VLRob.ppt<br />

Folie 115<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 116<br />

Nur <strong>für</strong> Lehrzwecke


Bedienen und<br />

Programmierung<br />

Interpolator/Bewegungsst.<br />

Koordinatentransformation<br />

Feininterpolator<br />

Lageregelung<br />

Antriebskomponente<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Struktur einer Robotersteuerung<br />

Kommunikation<br />

Anwendungsprogramme<br />

Daten<br />

Ablaufsteuerung<br />

Interpreter<br />

Wegmeßsystem<br />

Sensordatenverarbeitung<br />

Sensoren<br />

Roboterachse Peripherie<br />

<strong>Robotertechnik</strong><br />

• DNC-Betrieb (Distributed (Direct) Numerical Control):<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

DNC und<br />

Off-line - Programmierung<br />

Aktionssteuerung<br />

Stellglieder<br />

Geber<br />

VLRob.ppt<br />

Folie 117<br />

Nur <strong>für</strong> Lehrzwecke<br />

• Laden und Speichern von Anwenderprogrammen, die an der<br />

Robotersteuerung oder mit einem Off-line – Programmiersystem erstellt<br />

wurden.<br />

• Austausch von Zustandsdaten und Meldungen mit übergeordneten<br />

Steuerungssystemen (Zellenrechner, Leitrechner).<br />

• Datenaustausch mit anderen Steuerungssystemen, z.B. CNC- oder<br />

Mikrocontroller.<br />

• Bedienung:<br />

Kommunikation<br />

• Eingabe von Arbeitsparametern, Programm-Start/-Stopp, Programme<br />

laden/speichern und Betriebsartenwahl (Einrichten, Test, Automatik).<br />

• Programmierkomponente der Robotersteuerung <strong>für</strong> die Erstellung,<br />

Wartung und Verwaltung von Programmen. Die erforderlichen Werkzeuge,<br />

wie Editor, Debugger, Compiler werden bereitgestellt. Programme oder<br />

ausgewählte Stellungen des Roboters beziehungsweise Effektors können<br />

eingegeben oder getestet werden.<br />

VLRob.ppt<br />

Folie 118<br />

Nur <strong>für</strong> Lehrzwecke


Anwendungsprogramme, Ablaufsteuerung und Interpreter<br />

Das Anwendungsprogramm enthält Anweisungen <strong>für</strong><br />

• Bewegungen des Roboters<br />

• Programmablauf (Schleifen, sequenzielle und parallele Verzweigungen)<br />

• Ansteuerung des Effektors (z.B. Greifer)<br />

• Sensordatenverarbeitung und –auswertung<br />

• Arithmetik<br />

• Aktionssteuerung (SPS-Teil)<br />

• Auswertung von Technologiedaten<br />

• Zusatzbaugruppen (Bandsynchronisation, Steuerung von Zusatzachsen)<br />

Das Programm ist oft nach dem Standard IRDATA kodiert.<br />

Ablaufsteuerung und Interpreter:<br />

Die Ablaufsteuerung ist meist mit dem Interpreter identisch.<br />

• Lesen und dekodieren der Anweisungen des Anwenderprogramms.<br />

• Aufrufen der entsprechenden Ausführungsroutinen.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Bewegungssteuerung bzw. Interpolator<br />

• Ansteuerung der jeweils an der Bewegung beteiligten<br />

Handhabungseinrichtungen, beispielsweise Roboter, Förderbänder und<br />

Zusatzachsen wie Drehtische.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 119<br />

Nur <strong>für</strong> Lehrzwecke<br />

• Für Bewegungen zwischen zwei Zielstellungen werden anhand der<br />

programmierten Vorgaben entsprechende Zwischenstellungen berechnet<br />

(interpoliert). Interpolationsarten sind z.B. Punktsteuerung,<br />

Vielpunktsteuerung oder Bahnsteuerung.<br />

P1<br />

P2<br />

P1<br />

Geplante Bewegung Interpolation<br />

P2<br />

VLRob.ppt<br />

Folie 120<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Koordinatentransformation<br />

Es erfolgt die Umrechnung von Weltkoordinaten in Roboterkoordinaten<br />

und umgekehrt.<br />

P1<br />

Interpolation<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

P2<br />

P1<br />

β<br />

Koordinatentransformation<br />

<strong>Robotertechnik</strong><br />

Feininterpolation<br />

<strong>Robotertechnik</strong><br />

α<br />

P2<br />

VLRob.ppt<br />

Folie 121<br />

Nur <strong>für</strong> Lehrzwecke<br />

Für die einzelnen Bewegungsachsen werden spezifische Zwischenpunkte<br />

berechnet.<br />

P1<br />

β<br />

Koordinatentransformation<br />

α<br />

P2<br />

P1<br />

P2<br />

Feininterpolation<br />

VLRob.ppt<br />

Folie 122<br />

Nur <strong>für</strong> Lehrzwecke


Lageregelung und Antriebskomponente<br />

Lageregelung:<br />

• Sie versucht, die Motorposition auf der vom Programm gelieferten<br />

Sollposition festzuhalten.<br />

Antriebskomponente:<br />

• Die Ist-Position wird überwacht und ausgeregelt.<br />

• Die errechneten Werte der Achswinkel oder –wege werden in Motorstrom,<br />

Motorspannungen oder Motorinkremente umgesetzt.<br />

Reglerkaskade <strong>für</strong> einen Servoantrieb:<br />

Sollwerte (Feininterpolator) Leistung<br />

Lage-<br />

Regler<br />

Lage-Istwert<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Drehzahl-<br />

Regler<br />

Strom-<br />

Regler<br />

<strong>Robotertechnik</strong><br />

Motor<br />

Strom ~ Moment<br />

Drehzahl (Geschwindigkeit)<br />

Messung<br />

Sensordatenverarbeitung und Aktionssteuerung<br />

Sensordatenverarbeitung:<br />

• Verarbeitung der Werte von roboterinternen und -externen Sensoren.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 123<br />

Nur <strong>für</strong> Lehrzwecke<br />

• Die Daten werden auf verschiedenen Ebenen der Robotersteuerung benötigt<br />

und weiterverarbeitet.<br />

• Für kurze Reaktionszeiten werden oft die entsprechenden Sensordaten der<br />

Achsregelungsebene direkt zugeführt, z.B. <strong>für</strong> eine Kraft-Momenten-<br />

Sensorik.<br />

Aktionssteuerung:<br />

• Führt die Aktionsbefehle (Weg- und Schaltbedingungen) des<br />

Anwenderprogramms aus, z.B. <strong>für</strong> das Greifen und Festhalten der zu<br />

handhabenden Objekte oder die Ansteuerung von peripheren Einrichtungen.<br />

• Verknüpft entsprechend den Aktionsbefehlen steuerungsinterne und<br />

-externe Prozesssignale, z.B. Bewegungszustand, Endlagenschalter,<br />

Lichtschranken oder Rückmeldungen anderer Steuerungen.<br />

• Erzeugt die Ansteuersignale <strong>für</strong> binäre Stellglieder, wie Schaltschütze,<br />

Einfachantriebe oder Ventile.<br />

Die Aktionssteuerung wird oft auch Anpasssteuerung oder SPS-Teil genannt.<br />

VLRob.ppt<br />

Folie 124<br />

Nur <strong>für</strong> Lehrzwecke


Grundlegende Betriebsarten einer Robotersteuerung<br />

Einrichtbetrieb<br />

Die Einricht-Betriebsart dient zum<br />

• Verfahren des Roboters beim Programmieren und zum<br />

• Bewegen des Roboters durch manuelle Verfahrbefehle, die z.B. nach<br />

einer Störung zum Freifahren des Roboters erforderlich sind.<br />

Automatikbetrieb<br />

Der Automatikbetrieb wird nur <strong>für</strong> den Einsatz des Roboters im<br />

Produktionsprozess genutzt.<br />

• Nur wenige einfache Bedienfunktionen ausführbar, z.B. Programmwahl,<br />

Start, Stopp, Fortsetzung.<br />

• Informationen über das laufende Programm sowie Hinweise und<br />

Fehlermeldungen werden angezeigt.<br />

• Die Programme werden in Originalgeschwindigkeit mit allen Funktionen<br />

abgearbeitet.<br />

Automatikbetrieb setzt voraus, dass die Schutzgitter um die Roboterzelle<br />

geschlossen sind.<br />

Testbetrieb<br />

Programme oder Programmabschnitte werden in Einzelschritten wie im<br />

Automatikbetrieb abgefahren.<br />

Bei verschiedenen Steuerungsversionen gibt es weitere Testbetriebsarten,<br />

zum Beispiel ohne Ansteuerung der Ausgänge zur Peripherie.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Punkt-zu-Punkt (PTP)<br />

• Ohne Interpolation<br />

(asynchron)<br />

• Mit Achsinterpolation<br />

(synchron)<br />

• Mit / ohne<br />

Überschleifen<br />

• Punktschweißen<br />

• Handhabung<br />

(Pick-and-Place)<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Arten der Bewegungssteuerung<br />

Vielpunktsteuerung<br />

• Glättung der Bahn<br />

(ähnlich Überschleifen)<br />

Typische Anwendungen<br />

• Spritzlackieren<br />

• Beschichten<br />

• Ausschäumen<br />

<strong>Robotertechnik</strong><br />

Bahnsteuerung<br />

VLRob.ppt<br />

Folie 125<br />

Nur <strong>für</strong> Lehrzwecke<br />

• Linearinterpolation<br />

(manchmal auch PTP<br />

mit Linearinterpolation<br />

genannt)<br />

• Kreisinterpolation<br />

• Splineinterpolation<br />

• Sonderinterpolationen,<br />

z.B. Bezier, Spirale<br />

• Mit / ohne Überschleifen<br />

• Spritzlackieren,<br />

Entgraten<br />

• Lichtbogenschweißen,<br />

Laserschweißen<br />

• Montieren<br />

• Laserschneiden,<br />

Brennschneiden<br />

VLRob.ppt<br />

Folie 126<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Punkt-zu-Punkt - Steuerung<br />

Punkt-zu-Punkt - Steuerung (PTP, Point To Point)<br />

Abspeichern und Anfahren einer Folge diskreter Raumpunkte.<br />

Ideale Bahn<br />

PTP - Jedes Gelenk wird sofort mit<br />

maximaler Geschwindigkeit angesteuert –<br />

die Bewegungen enden unabhängig von<br />

einander (asynchron)<br />

P 0<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

y<br />

P 1<br />

P 2<br />

P 3<br />

PTP mit Überschleifen - Glättung<br />

von Unstetigkeiten (übertrieben gezeichnet)<br />

P 4<br />

PTP mit Achsinterpolation - Alle<br />

Gelenke beginnen und beenden ihre<br />

Bewegungen gemeinsam (synchron)<br />

P 5<br />

x<br />

<strong>Robotertechnik</strong><br />

Überschleifen<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 127<br />

Nur <strong>für</strong> Lehrzwecke<br />

• Beim Überschleifen werden einzelne Positionen nur näherungsweise angefahren<br />

und der Roboter wird an diesen Positionen nicht abgebremst.<br />

• Die Positionen dienen oft nur als Stützpunkte <strong>für</strong> die Bewegungsplanung oder<br />

zum Umfahren von Hindernissen.<br />

• Mittels Überschleiffaktoren kann der Programmierer wählen, wie exakt der<br />

Roboter die Position annähern soll.<br />

• Da der Roboter die Raumpositionen möglichst ohne Veränderung der Geschwindigkeit<br />

durchfährt, reduziert sich der Maschinenverschleiß, der Energieverbrauch<br />

und die Ausführungszeit des Bewegungsprogramms erheblich.<br />

• Bei aktuellen Steuerungen ist Überschleifen zwischen verschiedenen<br />

Interpolationen und<br />

Bahnen möglich.<br />

Zeitersparnis durch Überschleifen:<br />

z<br />

Überschleiffaktor<br />

(Raumkugel)<br />

y<br />

Verfahrweg<br />

x<br />

Geschwindigkeit<br />

Geschwindigkeit<br />

Pos 2 Pos 3 Pos 4<br />

ohne<br />

Überschleifen10<br />

15 20 25 28,5 t [s]<br />

mit<br />

10 15 20 22,5 t [s]<br />

Überschleifen<br />

Quelle: Reis Robotics<br />

28,5 – 22,5<br />

28,5<br />

= 21 %<br />

VLRob.ppt<br />

Folie 128<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Vielpunktsteuerung<br />

Vielpunktsteuerung (MP, Multi Point)<br />

• In einem vorgegeben Taktraster werden den einzelnen Achsen auf der<br />

programmierten Bahn liegende Positionswerte vorgegeben.<br />

• Programmierung erfolgt häufig nach dem Play-Back-Verfahren.<br />

• Dabei werden dem Industrieroboter die auszuführende Bewegungen<br />

durch Handführung bei abgeschalteten Antrieben vorgeführt.<br />

• Die durchfahrenen Positionen der Achsgelenke werden gespeichert.<br />

• Vorteil: Fast keine Programmierkenntnisse erforderlich.<br />

• Nachteil: Änderung / Optimierung einzelner Bahnabschnitte schwierig.<br />

• Typische Anwendungen sind Spritzlackieren oder Sandstrahlen.<br />

Zeitraster bzw. Takt<br />

<strong>Robotertechnik</strong><br />

Programmieren im Play Back mit Programmierarm<br />

• Industrieroboter: Teuer wegen Master-System<br />

• Teleoperation (Master/Slave-Betrieb):<br />

• Rückmeldung von Kräften (Haptik) ist<br />

wünschenswert<br />

• Bei großen Entfernungen zwischen<br />

Master und Slave können<br />

Übertragungsverzögerungen auftreten<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Mit dem Effektor<br />

gefahrene Bahn<br />

Zeitintervall<br />

VLRob.ppt<br />

Folie 129<br />

Nur <strong>für</strong> Lehrzwecke<br />

Von der<br />

Steuerung<br />

erfasste Punkte<br />

Geglättete Bahn<br />

Programmier<br />

-arm mit<br />

leichter<br />

Kinematik<br />

Abbildungen: Naval, M.: Roboter-Praxis. Würzburg, Vogel, 1989<br />

VLRob.ppt<br />

Folie 130<br />

Nur <strong>für</strong> Lehrzwecke


Bahnsteuerung (CP, Continious Path)<br />

• Es werden mathematisch definierte Bewegungsbahnen verfahren.<br />

• Der Interpolator der Bewegungssteuerung ermittelt entsprechend einer<br />

vorgegebenen Bahnfunktion<br />

(Gerade, Kreis, Polynom) Zwischenwerte auf der<br />

programmierten Raumkurve und gibt sie an die<br />

Achsregler.<br />

• Anwendung: Bahnschweißen, Montieren.<br />

D.h. immer da, es auf die exakte Einhaltung<br />

eines vorgeschriebenen Bewegungsauflaufes ankommt.<br />

Linearinterpolation - Die<br />

Bahn zwischen zwei<br />

Punkten wird interpoliert<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Bahnsteuerung<br />

Linearinterpolation mit<br />

Überschleifen - Glättung<br />

von Unstetigkeiten<br />

<strong>Robotertechnik</strong><br />

y<br />

Kreisinterpolation<br />

mit Überschleifen<br />

x<br />

VLRob.ppt<br />

Folie 131<br />

Nur <strong>für</strong> Lehrzwecke<br />

• Entlang der geometrisch beschriebenen Bahn der Werkzeugspitze werden in<br />

äquidistanten Zeitabschnitten Stützstellen gesetzt.<br />

• Die kartesischen Koordinaten der Stützstellen werden in die zugehörigen<br />

Achsstellungswinkel umgerechnet.<br />

• Der Bewegungsablauf zwischen zwei Stützstellen der Bahn wird dann wie bei<br />

PTP so berechnet, dass die Differenzwinkel <strong>für</strong> jede Achse gleichmäßig<br />

innerhalb des Interpolationstaktes verfahren werden.<br />

• Bestimmend <strong>für</strong> die Genauigkeit der Bahnbewegung ist der Interpolationstakt.<br />

• Kurze Interpolationstakte sind insbesondere bei stark gekrümmten Konturen,<br />

hohen Geschwindigkeiten und hoher Bahngenauigkeit von Vorteil. Zusätzlich<br />

wird die Mechanik des Roboters durch weiche Bewegungen entlastet.<br />

Bahnausschnitt mit Stützstellen bei<br />

einem Interpolationstakt von 32 ms<br />

Bahninterpolation<br />

Bahnausschnitt mit Stützstellen bei<br />

einem Interpolationstakt von 16 ms<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 132<br />

Nur <strong>für</strong> Lehrzwecke


Linearinterpolation mit Nachführung der Orientierung<br />

• Bei der Bahnsteuerung mit Linearinterpolation werden die Achsen des<br />

Roboters so gesteuert, dass die Werkzeugspitze auf einer Geraden im Raum<br />

zwischen Bahnanfangspunkt und Bahnendpunkt verfährt.<br />

• Dabei wird sichergestellt, dass sich die Orientierung des Werkzeuges nicht<br />

ändert, sofern am Bahnanfangspunkt und Bahnendpunkt die gleiche<br />

Orientierung programmiert ist.<br />

• Unterscheiden sich die Werkzeugorientierungen von Anfangs- und Endpunkt,<br />

so wird die Anfangsorientierung gleichmäßig über die Bahnlänge in die<br />

Endorientierung übergeführt.<br />

Linearinterpolation mit<br />

Nachführung der<br />

Werkzeugorientierung:<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

P1 P2<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 133<br />

Nur <strong>für</strong> Lehrzwecke<br />

Kreisinterpolation mit Nachführung der Orientierung<br />

• Bei der Bahnsteuerung mit Kreisinterpolation wird die Bahn durch den<br />

Bahnanfangs- und Bahnendpunkt sowie einen Kreishilfspunkt definiert.<br />

• Für Nachführung der Werkzeugorientierung können zwei Verfahren<br />

unterschieden werden:<br />

• Zwischen den Orientierungen des Anfangs und des Endpunkts der<br />

Bahn wird gleichmäßig über die gesamte Bahnlänge interpoliert.<br />

• Nachführung der Orientierung mit zusätzlicher Berücksichtigung der<br />

sich ändernden Orientierung der Bahntangente.<br />

� Bei gleicher Anfangs- und Endorientierung wird eine<br />

Bahnbewegung mit konstanter Orientierung des Werkzeuges zur<br />

Bahntangente bewirkt.<br />

Kreisinterpolation mit<br />

Nachführung der<br />

Werkzeugorientierung:<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 134<br />

Nur <strong>für</strong> Lehrzwecke


Splineinterpolation mit Nachführung der Orientierung<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Aus drucktechnischen Gründen leere Folie!<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 135<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 136<br />

Nur <strong>für</strong> Lehrzwecke


7. Programmierung von Industrierobotern<br />

• Programmierverfahren <strong>für</strong> Industrieroboter<br />

• Merkmale direkter und indirekter Programmierung<br />

• On-line - Programmierung<br />

• Off-line - Programmierung<br />

• Koordinatensysteme <strong>für</strong> die Roboterprogrammierung<br />

• Programmiersprachen <strong>für</strong> Industrieroboter<br />

• IRDATA<br />

• Beispiele <strong>für</strong> die Bewegungsprogrammierung<br />

• Anforderungen an Roboter<br />

• Werkzeugkorrekturen<br />

• Zusatzachsen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Programmierverfahren <strong>für</strong> Industrieroboter<br />

Programmierverfahren <strong>für</strong> Industrieroboter<br />

Direkte Verfahren<br />

On-line - Programmierung<br />

Teach In<br />

Play Back<br />

Sensorgestützt<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Indirekte Verfahren<br />

Off-line - Programmierung<br />

Textuell<br />

CAD-gestützt<br />

<strong>Robotertechnik</strong><br />

Explizit<br />

(bewegungsorientiert)<br />

Implizit<br />

(aufgabenorientiert)<br />

VLRob.ppt<br />

Folie 137<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 138<br />

Nur <strong>für</strong> Lehrzwecke


Merkmale direkter und indirekter Programmierverfahren<br />

On-line - Programmierung<br />

(Direkte Programmierverfahren)<br />

☺ Anschauliche Programmierung in<br />

Arbeitsumgebung<br />

☺ Geringe Programmierkenntnisse<br />

erforderlich<br />

☺ Kollisionen, Ungenauigkeiten, Störungen<br />

werden direkt sichtbar<br />

☺ Arbeitsraum und Objekt müssen nicht<br />

vermessen werden<br />

☺ Testen der Programme am realen System<br />

☺ Erfahrungsschatz der Anwender fließt in<br />

Programmierung ein<br />

� Reales Robotersystem und Anlage<br />

erforderlich - Fertigungsanlage steht<br />

während der Programmierung nicht zur<br />

Verfügung<br />

� Beschränkter Zugriff auf betriebliche<br />

Informationssysteme<br />

� Erstellung komplexer Programme<br />

schwierig<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Off-line - Programmierung)<br />

(Indirekte Programmierverfahren)<br />

☺ Programmierung in der<br />

Arbeitsvorbereitung als Teil der<br />

Fertigungsplanung<br />

☺ Unterstützung des Programmierers<br />

durch intelligente, rechnerbasierte<br />

Hilfsmittel<br />

☺ Testen der Programme durch Simulation<br />

☺ Volle Integration in betriebliche<br />

Informationssysteme möglich<br />

� Rechnermodell von Robotersystem und<br />

Anlagenumgebung erforderlich<br />

� Hohe Kosten durch<br />

Programmiersysteme und CAD-<br />

Unterstützung<br />

� Aufwändige Einarbeitung in die oft<br />

komplexen Programmiersysteme<br />

<strong>Robotertechnik</strong><br />

On-line - Programmierung<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 139<br />

Nur <strong>für</strong> Lehrzwecke<br />

Direkte Verfahren<br />

• Die Erstellung der Programme erfolgt unter Verwendung des Robotersystems.<br />

• Während der Programmierung steht der Roboter nicht zur Verfügung.<br />

Teach In – Programmierung<br />

• Mit Hilfe eines Programmierhandgerätes oder Bedienfelds werden die<br />

gewünschten Raumpunkte manuell angefahren.<br />

• Die Bewegungsinformationen werden als Punkte durch Betätigen einer<br />

Funktionstaste abgespeichert.<br />

• Über die Tastatur können weitere Bewegungsanweisungen, z.B.<br />

Geschwindigkeit oder Beschleunigung, eingegeben werden.<br />

Play-Back – Verfahren (Abfahren und Speichern)<br />

• Die Programmierung erfolgt durch manuelles Führen des Roboters entlang<br />

der gewünschten Raumkurve.<br />

• Dabei werden die Lage-Ist-Werte (Achsstellungen) in einem definierten<br />

Zeitraster in das Programm übernommen.<br />

• Dieses Programmierverfahren kommt bei Vielpunktsteuerungen zur<br />

Anwendung.<br />

Sensorunterstützte Programmierverfahren<br />

• Zur Ermittlung der <strong>für</strong> das Programm benötigten Raumpunkte werden<br />

Sensoren eingesetzt.<br />

Nachteil: Programme sind i.d.R. nicht auf andere Roboter übertragbar!<br />

VLRob.ppt<br />

Folie 140<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Off-line - Programmierung<br />

Indirekte Verfahren<br />

• Erstellung der Programme erfolgt auf gesonderten Rechneranlagen.<br />

Textuelle Programmierung<br />

• Der Programmierer gibt über eine Tastatur das Programm als symbolische<br />

Beschreibung von Operationen und Daten in Form von Zeichenfolgen ein.<br />

• Die Verfahren reichen von der maschinennahen Kodierung bis zu höheren<br />

Roboter-Programmiersprachen.<br />

CAD-unterstützte Programmierverfahren<br />

• Nutzung geometrischer Modelle der am Produktionsprozess beteiligten<br />

Komponenten, z.B. des Werkstücks.<br />

• Die Geometriemodellierung erfolgt unter Verwendung von CAD-Systemen.<br />

• Am Bildschirm werden Funktionen zur Verfügung gestellt, die eine Festlegung<br />

von anzufahrenden Positionen und Verfahrwegen ermöglichen.<br />

• Simulationssysteme ermöglichen die Visualisierung der Roboterbewegungen.<br />

Explizite (bewegungsorientierte) Programmierverfahren<br />

• Alle Bewegungen des Roboters und die Ausführungsparameter (z.B.<br />

Geschwindigkeit, Beschleunigung) werden vom Programmierer vorgegeben.<br />

Implizite (aufgabenorientierte) Programmierverfahren<br />

• Die Programmierung erfolgt durch Beschreibung der Handhabungsaufgabe.<br />

• Die Weginformation wird u.a. vom Programmiersystem unter Verwendung<br />

eines Modells der Roboterzelle (Umweltmodell) selbsttätig abgeleitet.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 141<br />

Nur <strong>für</strong> Lehrzwecke<br />

Vorgehen bei der CAD-gestützten Programmierung<br />

IR-Einsatz<br />

planen<br />

Vorgang 1<br />

Task 1<br />

Task 2<br />

Vorgang 2<br />

Task 1<br />

Task 2<br />

Fertigungszelle<br />

modellieren<br />

IR<br />

Programmieren<br />

<strong>Robotertechnik</strong><br />

IR-Anwendung<br />

Simulieren<br />

Vorort<br />

anpassen<br />

• grafisch-interaktives Arbeiten<br />

• geometrische Daten des Zellenaufbaus aus CAD-Systemen<br />

werden <strong>für</strong> Programmierung und Simulation verwendet<br />

Das System setzt sich zusammen aus:<br />

• Einsatzplanung<br />

• Fertigungszellenentwurf<br />

• Roboterprogrammierung<br />

• Simulation Überprüfung: Funktionalität, Sicherheit (Kollisionen)<br />

VLRob.ppt<br />

Folie 142<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

CAD-gestützte Programmierung<br />

Modellierung einer Fertigungszelle mit CAD (SolidWorks)<br />

Oberfläche einer Robotersimulation<br />

(RobotStudio, ABB)<br />

Quelle: Hesselbach/Krefft, IWF – Uni-Braunschweig<br />

<strong>Robotertechnik</strong><br />

Koordinatensysteme <strong>für</strong> Roboterprogrammierung<br />

Verfahren nach Raumkoordinaten<br />

Achse 2<br />

Kartesische<br />

Koordinaten<br />

Bewegung der Achse 2<br />

Verfahren nach Roboterkoordinaten<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Zylindrische<br />

Koordinaten<br />

Achse 3<br />

Bewegung der Achse 3<br />

Verfahren in Richtung<br />

der Handgelenkachse z<br />

<strong>Robotertechnik</strong><br />

Verfahren nach<br />

Werkzeugkoordinaten<br />

VLRob.ppt<br />

Folie 143<br />

Nur <strong>für</strong> Lehrzwecke<br />

Verfahren in Richtung<br />

der Handgelenkachse x<br />

Nach: Naval, M.: Roboter-Proaxis. Würzburg: Vogel, 1989<br />

VLRob.ppt<br />

Folie 144<br />

Nur <strong>für</strong> Lehrzwecke


Programmiersprachen <strong>für</strong> Industrieroboter (Auswahl)<br />

Name<br />

AL<br />

AL II<br />

AML<br />

BAPS<br />

HELP<br />

MAL<br />

RAPID<br />

ROBEX<br />

RPL<br />

VAL II<br />

Bedeutung<br />

Assembly Language<br />

Assembly Language<br />

A Manipulator<br />

Language<br />

Bewegungs- und<br />

Ablauf- Programmiersprache<br />

High Level Robot<br />

Language<br />

Multipurpose<br />

Assembly Language<br />

Robot EXAPT<br />

Robot Programming<br />

Language<br />

Variable Language<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Entwickler<br />

Stanford<br />

University<br />

Universität<br />

Karlsruhe<br />

IBM<br />

Bosch und<br />

ISW<br />

Stuttgart<br />

DEA<br />

Universität<br />

Mailand<br />

ABB<br />

WZL Aachen<br />

Universität<br />

<strong>Berlin</strong><br />

Unimation<br />

Anmerkungen<br />

Aufbauend auf WAVE. Entwicklung 1974,<br />

Informatikorientiert.<br />

AL mit interaktiver Komponente erweitert. Zusätzl.<br />

Erweiterungen, z.B. automatische Fehlerkorrektur.<br />

Praxisnah mit Datendeklaration, Felder, Sensor- u.<br />

Bewegungsanw., Arithm. und Boolsche Ausdrücke.<br />

Funktionsorientierte Anweisungen in natürlicher<br />

Sprache.<br />

Zwischencode auf IRDATA.<br />

Blockstrukturiert wie Pascal. Echtzeiteigenschaften<br />

wie PEARL. Hybride Programmiermöglichkeiten.<br />

BASIC-ähnlich. Interaktive Programmierung. Starker<br />

theoretischer Einfluss der Informatik.<br />

Funktionsorientierte Anweisungen.<br />

NC-orientiert, geometrische Teilbeschreibung.<br />

Steuerungsinternes und -externes Programmiersyst.<br />

Verfahr-, Kontroll- und Makroanweisungen.<br />

Steuerungsinternes Programmiersystem.<br />

Direkt interpretierbar.<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 145<br />

Nur <strong>für</strong> Lehrzwecke<br />

Struktur der Programmiersprachen <strong>für</strong> Industrieroboter<br />

Die Anweisungen können unterschieden werden in:<br />

• Kontrollanweisungen zur Steuerung des Programmablaufs<br />

• Deklarationen von Hauptprogramm und Unterprogrammen<br />

• Unterprogrammaufrufe<br />

• Sprünge und Schleifen<br />

• Programmverzögerungen und Programmabbruch<br />

• Bewegungsanweisungen<br />

• Bewegungsbefehle, z.B. FAHRE<br />

• Interpolationsart, z.B. KREIS<br />

• Geschwindigkeits- und Beschleunigungsvorgaben<br />

• Zielangaben<br />

• Abbruchbedingungen<br />

• Ein- und Ausgabeanweisungen<br />

• Für binäre Signale, z.B. Greiferansteuerung,<br />

synchronisierende Schaltfunktionen<br />

• Für analoge Signale, z.B. <strong>für</strong> Sensorik<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 146<br />

Nur <strong>für</strong> Lehrzwecke


Roboterprogramm<br />

Sprache Hersteller A<br />

PTP P1<br />

LIN P2 C_LIN<br />

LIN P3:[Z 100]<br />

$OUT[2]=1<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

IRDATA<br />

IRDATA<br />

Roboterprogramm<br />

Sprache Hersteller B<br />

FAHRE PTP NACH P1<br />

FAHRE LINEAR NACH P2<br />

FAHRE LINEAR NACH P<br />

VERSCHIEBE LINEAR NACH (0,0,100,0)<br />

SCHREIBE 1.0<br />

MOVE,0,,0,0;<br />

MOVE,9,,0,0;<br />

GEN, VEC,%ST,0,R,%CON,0.0,R,%CON,0.0,R,%CON,100.0;<br />

MUL,WLD,%ST,0,0,0;<br />

DIGOUT,%CON,2,%CON,1,%CON,1;<br />

Steuerung<br />

Hersteller A<br />

Steuerung<br />

Hersteller B<br />

Simulationssystem<br />

<strong>Robotertechnik</strong><br />

Anwender-<br />

Ebene<br />

Compiler<br />

Maschinen-<br />

Ebene<br />

VDI 2863, Blatt 1: 1987 Programmierung numerisch gesteuerter Handhabungseinrichtungen:<br />

IRDATA, Allgemeiner Aufbau, Satztypen und Übertragung.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Beispiel: manutec h5 (SCARA)<br />

Bedienpannel<br />

Handbediengerät<br />

(HBG)<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 147<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 148<br />

Nur <strong>für</strong> Lehrzwecke


Programmbeispiel: PTP mit RCM / RCS 1<br />

BSP<br />

Fahre in Grundposition<br />

Warte auf Freigabe<br />

Fahre in Entnahmeposition<br />

Schließe Greifer<br />

Entnehme Teil<br />

Fahre in Ablageposition<br />

Öffne Greifer<br />

Ende<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

DEF BSP<br />

END BSP<br />

PTP X-14.0 Y+629.4 Z-32.7<br />

A-133.259 B+0.000 C+180.000<br />

WRT E27 H<br />

PTP X-14.0 Y+639.4 Z-32.7<br />

A-133.259 B+0.000 C+180.000<br />

GRF 2 ZU<br />

PTP X-14.0 Y+639.4 Z+52.7<br />

A-133.259 B+0.000 C+180.000<br />

PTP X-448.6 Y+455.8 Z-53.9<br />

A-90.027 B+0.000 C+180.000<br />

GRF 2 AUF<br />

<strong>Robotertechnik</strong><br />

Beispiel: Bosch SR800 (SCARA)<br />

Steuerschrank<br />

RS 60<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 149<br />

Nur <strong>für</strong> Lehrzwecke<br />

Handbediengerät (HBG)<br />

Off-line<br />

Programmierplatz<br />

VLRob.ppt<br />

Folie 150<br />

Nur <strong>für</strong> Lehrzwecke


Programmerstellung mit R60 <strong>für</strong> SR800<br />

Teach In<br />

Punkte-Datei<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

BEISPIEL<br />

Fahre in Grundposition<br />

Warte auf Freigabe<br />

Fahre in Entnahmeposition<br />

Schließe Greifer<br />

Entnehme Teil<br />

Fahre in Ablageposition<br />

Öffne Greifer<br />

Ende<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

IRDATA- Code<br />

IRDATA - Interpreter<br />

Ausführung<br />

Editor<br />

Quell-Programm<br />

Übersetzer<br />

Lauffähiges<br />

IRDATA-Programm<br />

<strong>Robotertechnik</strong><br />

<strong>Robotertechnik</strong><br />

Programmiersystem<br />

Programmbeispiel: PTP mit SR800<br />

IRDATA -<br />

Schnittstelle<br />

PROGRAMM BEISPIEL<br />

P1 = (100,500,50,45)<br />

P2 = (100,500,30,45)<br />

P3 = (100,520,30,45)<br />

P4 = (150,400,35,45)<br />

AUSGANG BINAER: 2 = Greifer<br />

EINGANG BINAER: 27 = Freigabe<br />

ENDE<br />

FAHRE PTP NACH P1<br />

WARTE BIS Freigabe = 1<br />

FAHRE PTP NACH P2<br />

Greifer = 1<br />

WARTE 1<br />

FAHRE PTP UEBER P3 NACH P4<br />

Greifer = 0<br />

HALT<br />

VLRob.ppt<br />

Folie 151<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 152<br />

Nur <strong>für</strong> Lehrzwecke


200<br />

150<br />

100<br />

50<br />

Programmbeispiel: Bahninterpolation mit SR800<br />

0<br />

P1<br />

PZ<br />

50 100 150 200 250 300 350 400<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Einsatzbereich<br />

Punktschweißen<br />

Bahnschweißen<br />

Bahnschleifen<br />

Entgraten<br />

Beschichten<br />

Lackieren<br />

Kleinteilemontage<br />

Mikromontage<br />

Handhabung an<br />

Schmiedemaschinen<br />

Handhabung an<br />

Werkzeugmaschinen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

P2 P3<br />

PROGRAMM BAHNIPO<br />

ENDE<br />

<strong>Robotertechnik</strong><br />

P1 = (0,0,50,0)<br />

PZ = (35,100,50,0)<br />

P2 = (100,150,50,0)<br />

P3 = (350,150,50,0)<br />

FAHRE PTP NACH P1<br />

FAHRE KREIS(PZ,P2)<br />

FAHRE LINEAR NACH P3<br />

HALT<br />

Beispiele <strong>für</strong> Anforderungen an Roboter<br />

Achszahl<br />

5<br />

5...7<br />

5...7<br />

5...7<br />

6...7<br />

4...7<br />

2...6<br />

4...6<br />

2...6<br />

2...6<br />

Geschwindigkeit<br />

1 m/s<br />

0,02 m/s<br />

0,1 m/s<br />

0,04 m/s<br />

0,3 m/s<br />

1,2 m/s<br />

1 m/s<br />

1 m/s<br />

1,5 m/s<br />

1,5 m/s<br />

Genauigkeit<br />

± 1 mm<br />

± 0,5 mm<br />

± 1 mm<br />

± 0,2 mm<br />

± 1 mm<br />

± 5 mm<br />

± 0,025 mm<br />

± 0,001 mm<br />

± 1 mm<br />

± 0,2 mm<br />

<strong>Robotertechnik</strong><br />

Steuerungsart<br />

Punkt<br />

Bahn<br />

Bahn<br />

Bahn<br />

Bahn /<br />

Vielpunkt<br />

Bahn /<br />

Vielpunkt<br />

Bahn / Punkt<br />

Punkt<br />

Punkt<br />

Bahn / Punkt<br />

VLRob.ppt<br />

Folie 153<br />

Nur <strong>für</strong> Lehrzwecke<br />

Handhabungsmasse<br />

> 20 kg<br />

> 5 kg<br />

> 20 kg<br />

> 20 kg<br />

> 5 kg<br />

< 5 kg<br />

< 5 kg<br />

< 1 g<br />

> 20 kg<br />

> 20 kg<br />

Die Leistungskriterien von Robotern und die Vorgehensweisen bei der Erfassung sind umfassend in der<br />

Europäischen Norm EN 29283 zusammengefasst.<br />

VLRob.ppt<br />

Folie 154<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Schutzraum definieren<br />

<strong>Robotertechnik</strong><br />

Siemens RCM / Manutec:<br />

• Fünf Schutzräume<br />

definierbar<br />

Greifer oder Werkzeug als Effektor<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

• Schutzraumgrenzen<br />

entlang der kartesischen<br />

Koordinaten<br />

• Schutzräume dürfen sich<br />

überlappen<br />

� Eindringen in Schutzraum:<br />

Bremsen fallen ein,<br />

Roboter steht „sofort“<br />

VLRob.ppt<br />

Folie 155<br />

Nur <strong>für</strong> Lehrzwecke<br />

Quelle: Naval, M.: Roboter-Praxis. Würzburg: Vogel, 1989<br />

VLRob.ppt<br />

Folie 156<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Strom –<br />

2 Phasen<br />

und Erde<br />

Drehdurchführung<br />

Luftanschluss<br />

Effektor-Wechselsystem (Fa. RSA)<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Quelle: Naval, M.: Roboter-Praxis. Würzburg: Vogel, 1989<br />

<strong>Robotertechnik</strong><br />

ABB – Werkzeugsystem - 1<br />

Signale<br />

Schleifring<br />

(beliebig drehen)<br />

Wasseranschluss –<br />

ein Anschluss und<br />

zwei Rückläufe<br />

Medienschläuche<br />

vom Oberarm<br />

des Roboters<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 157<br />

Nur <strong>für</strong> Lehrzwecke<br />

Werkbild ABB, 2004<br />

VLRob.ppt<br />

Folie 158<br />

Nur <strong>für</strong> Lehrzwecke


Drehdurchführung und<br />

Schleifring decken die<br />

Handgelenkdrehung<br />

und -bewegung ab.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

ABB – Werkzeugsystem - 2<br />

Kabel und Schläuche<br />

sind eng am Roboter<br />

zum oberen Arm verlegt.<br />

Medien führen<br />

durch den<br />

Robotersockel<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Beispiele <strong>für</strong> Greiferkinematiken<br />

Kabel und Schläuche<br />

folgen geschmeidig den<br />

Bewegungen von<br />

Roboterkörper und -arm.<br />

Medien werden am<br />

Robotersockel<br />

angeschlossen<br />

Werkbild ABB, 2004<br />

Scherengreifer Parallelgreifer Doppelexzentergreifer<br />

Schwenkgreifer Zahnradgreifer Futtergreifer<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 159<br />

Nur <strong>für</strong> Lehrzwecke<br />

Quelle: Schraft, Uni Stuttgart, Fraunhofer IPA<br />

VLRob.ppt<br />

Folie 160<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Beispiele <strong>für</strong> ausgeführte Greifer<br />

<strong>Robotertechnik</strong><br />

Schweißzange, Schweißwerkzeugwechsler<br />

Anwendung: Punktschweißen<br />

Handlingsgewicht: 360 kg<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Quelle: Schraft,<br />

Uni Stuttgart,<br />

Fraunhofer IPA<br />

VLRob.ppt<br />

Folie 161<br />

Nur <strong>für</strong> Lehrzwecke<br />

Schweißwerkzeugwechsler:<br />

Für alle gängigen Zangentypen,<br />

adaptierbar an alle Robotertypen<br />

(z.B. ABB, Fanuc, KUKA,<br />

Motoman, Stäubli)<br />

Quelle: IPR, 2004<br />

VLRob.ppt<br />

Folie 162<br />

Nur <strong>für</strong> Lehrzwecke


Die Auswahl von Greifern<br />

erfolgt nach<br />

verschiedenen<br />

Prozessparametern:<br />

• Zykluszeit der<br />

Anwendung,<br />

bestimmt die<br />

Frequenz mit welcher<br />

der Greifer<br />

öffnen/schließen<br />

muss<br />

• Zur Verfügung<br />

stehender Bauraum<br />

• Greifobjekt<br />

++ gut geeignet<br />

+ mäßig geeignet<br />

0 bedingt geeignet<br />

- nicht geeignet<br />

Masse<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Auswahl von Greifern<br />

Abmessung<br />

1 ... 10 kg<br />

0,2 ... 1 kg<br />

10 ... 50 kg<br />

> 50 kg<br />

20 ... 50 mm<br />

50 ... 300 mm<br />

300 ... 1000 mm<br />

Parallelgreifer<br />

++<br />

++<br />

+<br />

0<br />

++<br />

++<br />

++<br />

Schwenkgreifer<br />

++<br />

++<br />

<strong>Robotertechnik</strong><br />

3-Backen-<br />

Greifer<br />

++<br />

++<br />

Sauggreifer<br />

++<br />

++<br />

> 1000 mm<br />

++<br />

++<br />

-<br />

++<br />

glatt<br />

++<br />

++<br />

++<br />

++<br />

Ober- rauh<br />

++<br />

++<br />

++<br />

-<br />

fläche porös<br />

++<br />

0<br />

0<br />

0<br />

empfindlich<br />

0<br />

-<br />

0<br />

++<br />

Rundteile<br />

Scheibe<br />

Kurzzylinder<br />

Welle/Stange<br />

+<br />

++<br />

0<br />

-<br />

++<br />

++<br />

++<br />

++<br />

-<br />

++<br />

++<br />

-<br />

Prismateile<br />

Blockteil<br />

flach/kurz<br />

flach/lang<br />

++<br />

0<br />

-<br />

++<br />

0<br />

0<br />

-<br />

-<br />

-<br />

++<br />

++<br />

++<br />

Kunststoffe<br />

++<br />

0<br />

-<br />

++<br />

Textilien<br />

-<br />

-<br />

-<br />

0<br />

Folien<br />

-<br />

-<br />

-<br />

0<br />

Glas<br />

0<br />

+<br />

+<br />

++<br />

Steingut<br />

0<br />

+<br />

+<br />

0<br />

Quelle: Hesse, Stefan: Greiferanwendungen. Blue Digest on Automation, 1997<br />

Industrieroboter mit Punktschweißzange<br />

ABB Punktschweißpaket:<br />

• Roboter <strong>für</strong> das Punktschweißen<br />

• ABB Schweißsteuerung in Form einer<br />

Zusatzkarte in der Robotersteuerung.<br />

• Zusätzliche Ausrüstung wie<br />

Punktschweißleitung, Steuertafel und<br />

Spannungsversorgung.<br />

• Die Programmierung erfolgt über das<br />

Programmierhandgerät des Roboters:<br />

• Prozessdaten <strong>für</strong><br />

Schweißsteuerung.<br />

• Daten <strong>für</strong> Bewegungssteuerung<br />

des Roboters.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

++<br />

++<br />

++<br />

++<br />

++<br />

<strong>Robotertechnik</strong><br />

++<br />

++<br />

++<br />

+<br />

0<br />

++<br />

++<br />

++<br />

++<br />

++<br />

VLRob.ppt<br />

Folie 163<br />

Nur <strong>für</strong> Lehrzwecke<br />

Quelle: ABB, 2004<br />

VLRob.ppt<br />

Folie 164<br />

Nur <strong>für</strong> Lehrzwecke


Werkzeugkorrektur definieren in BAPS (Bosch)<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Quelle: Fa. Bosch (BAPS)<br />

VLRob.ppt<br />

Folie 165<br />

Nur <strong>für</strong> Lehrzwecke<br />

Werkzeugkorrektur definieren in SRCL (Siemens RCM)<br />

T Werkzeugträger<br />

L Werkzeuglänge<br />

D Werkzeugwinkel<br />

Programmbeispiel:<br />

WKZ 0 // Werkzeugkorrektur ausgeschaltet<br />

WZK 1 T 200.0 L 20.0 D 45.0<br />

….<br />

T D<br />

WZK 9 T 150.0 L 0.0 D 0.0<br />

<strong>Robotertechnik</strong><br />

L<br />

VLRob.ppt<br />

Folie 166<br />

Nur <strong>für</strong> Lehrzwecke


Beispiel einer Roboter-/ Zusatzachsenkonfiguration<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Beispiele <strong>für</strong> Zusatzachsen<br />

<strong>Robotertechnik</strong><br />

Quelle: mz robolab GmbH, 2007<br />

Spiralbahnschweißen<br />

VLRob.ppt<br />

Folie 167<br />

Nur <strong>für</strong> Lehrzwecke<br />

Quelle: mz robolab GmbH, 2007<br />

VLRob.ppt<br />

Folie 168<br />

Nur <strong>für</strong> Lehrzwecke


Sensor <strong>für</strong> Bandgeschwindigkeit<br />

Kamera<br />

Synch.-Punkt<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Bandsynchronisation<br />

Steuerung mit<br />

Bandsynchronisation<br />

Bandbewegung<br />

A<br />

Roboter<br />

B<br />

Abbildung: Naval, M.: Roboter-Praxis. Würzburg, Vogel, 1989<br />

<strong>Robotertechnik</strong><br />

Bandsynchronisation<br />

<strong>Robotertechnik</strong><br />

A<br />

B<br />

Programmierte<br />

Bahn (Teach In)<br />

VLRob.ppt<br />

Folie 169<br />

Nur <strong>für</strong> Lehrzwecke<br />

Quelle: Hesselbach /Krefft: Skript Industrieroboter, TU-Braunschweig<br />

VLRob.ppt<br />

Folie 170<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

8. Einsatz von Industrierobotern<br />

• Gründe <strong>für</strong> den Einsatz von Industrierobotern<br />

• Regeln <strong>für</strong> den Robotereinsatz<br />

• Sicherheitstechnik<br />

• Arbeiten mit Robotern<br />

• Roboterarbeitszelle und<br />

Sicherheitseinrichtungen<br />

• Sicherheitsteil von Robotersteuerungen<br />

• Anwendungsbeispiele<br />

• Be- und Entladen von Werkzeugmaschinen<br />

• Bearbeiten von Werkstücken<br />

• Entpallettieren von Motorblöcken<br />

• Handhaben von Ziegel-Rohlingen<br />

• Verpacken von Filtern<br />

• Roboterzelle <strong>für</strong> Laserbearbeitung<br />

<strong>Robotertechnik</strong><br />

Gründe <strong>für</strong> den Einsatz von Industrierobotern<br />

Technische Gründe:<br />

• Flexibilität,<br />

• gleichbleibende Qualität,<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 171<br />

Nur <strong>für</strong> Lehrzwecke<br />

• wegen Aufgabenstellung / Prozessbeherrschung erforderlich.<br />

Wirtschaftliche Gründe:<br />

• Produktivität (Mehrschichtbetrieb),<br />

• Personaleinsparung.<br />

Humanisierungsaspekte:<br />

Entlastung der Menschen von<br />

• gesundheitsschädlicher,<br />

• schwerer,<br />

• gefährlicher,<br />

• monotoner / unangenehmer Arbeit.<br />

(z.B. Beschickung von Pressen)<br />

VLRob.ppt<br />

Folie 172<br />

Nur <strong>für</strong> Lehrzwecke


Einige Regeln <strong>für</strong> den Robotereinsatz<br />

Die Regeln gelten insbesondere <strong>für</strong> den Ersteinsatz.<br />

• Denken Sie an die menschliche Seite des Robotereinsatzes!<br />

Sorgfältig ausgewählte und geplante Projekte scheitern oft, weil sie von den<br />

betroffenen Mitarbeitern nicht akzeptiert werden. Informieren Sie rechtzeitig<br />

alle betroffenen Mitarbeiter, Abteilungen und Vorgesetzte.<br />

• Wählen Sie <strong>für</strong> den Roboter Aufgaben, die sonst niemand machen will<br />

(langweilig, sehr anstrengend, in unzumutbarer Umgebung). Das gilt ganz<br />

besonders <strong>für</strong> den Ersteinsatz im Unternehmen.<br />

• Wählen Sie zuerst möglichst einfache Handhabungs- oder Bearbeitungsaufgaben.<br />

Vertrauen Sie nicht den vielen publizierten Erfolgsstories über<br />

spektakuläre Anwendungen.<br />

• Wählen Sie den besten Partner mit guten Referenzen <strong>für</strong> Ihr Projekt aus.<br />

Achten Sie auf kulanten Service, ein funktionierendes Ersatzteilwesen,<br />

qualitativ hochwertige Schulungen <strong>für</strong> die Mitarbeiter und gute Handbücher.<br />

• Beschaffen Sie ein Komplettsystem und nicht alle Komponenten wie Roboter,<br />

Greifer oder Vorrichtungen aus verschiedenen, völlig unabhängigen Quellen.<br />

• Unterschätzen Sie vermeintlich einfache Aufgaben nicht!<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Hohe<br />

Kräfte und<br />

Geschwindigkeiten<br />

•Not-Aus<br />

•Sichere Steuerung<br />

•Eigensicherheit<br />

Unerwartetes<br />

Loslaufen,<br />

Verhalten<br />

•Kollisionsüberwachung<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Sicherheitstechnik<br />

Kollisionen<br />

mit Werkstücken,<br />

Umgebung<br />

Gefahren<br />

Roboter<br />

Herausschleudern<br />

von Werkstücken<br />

Schutzmaßnahmen<br />

<strong>Robotertechnik</strong><br />

Großer, unerwarteter<br />

Arbeitsraum<br />

Hersteller Betreiber Anwender<br />

•Absperrungen<br />

•Zutritts- u. Zugriffssperren<br />

•Off-line–Programmierung<br />

und Simulation<br />

•Schulung der Mitarbeiter<br />

•Vorsicht, Umsicht,<br />

Sorgfalt<br />

VLRob.ppt<br />

Folie 173<br />

Nur <strong>für</strong> Lehrzwecke<br />

Menschen<br />

im Arbeitsraum<br />

•Beachten der<br />

Sicherheitsvorschriften<br />

und Schutzmaßnahmen<br />

VLRob.ppt<br />

Folie 174<br />

Nur <strong>für</strong> Lehrzwecke


• Aufgrund der Komplexität der Kinematik mit sechs oder mehr Achsen ist<br />

schwer abschätzbar, wohin und wie schnell der Roboter sich bewegen wird.<br />

• Menschen – insbesondere Programmierer - glauben oft, dass sie genau wissen<br />

was der Roboter als nächstes tun wird. Das trifft nicht zu, weil:<br />

• Ein Defekt an einem Achsmotor kann zu völlig unerwarteten Bewegungen<br />

führen.<br />

• Ein defekter oder vom Programm nicht korrekt ausgewerteter Sensor kann<br />

in bestimmten nicht vor gedachten Situationen ein völlig unerwartetes<br />

Verhalten des Roboters auslösen.<br />

• Der oft lang andauernde Einrichtbetrieb mit seinen kleinen<br />

Geschwindigkeiten erzeugt bei Anwendern eine falsche Vorstellung von den<br />

späteren Geschwindigkeiten im Automatikbetrieb.<br />

• Gewöhnung im Umgang mit Robotern verführt im Laufe der Zeit zu Leichtsinn.<br />

Anfänger werden seltener in Unfälle verwickelt, weil sie mit den Geräten<br />

weniger vertraut sind, und sie verhalten sich entsprechend vorsichtig.<br />

• Das Einrichten eines Roboters ist stets von mindestens zwei Personen<br />

durchzuführen, von denen eine die Hand am Not-Aus-Knopf haben muss, um<br />

bei Bedarf die Anlage in kürzester Zeit abzuschalten.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

1 Roboter<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Arbeiten mit Robotern<br />

<strong>Robotertechnik</strong><br />

Arbeitszelle und Sicherheitseinrichtungen<br />

2 Werkzeugaufnahmeflansch<br />

3 Werkstück<br />

4 Kontroll- oder<br />

Stromversorgungseinrichtung<br />

(Bedieneinheit, Hydraulikgruppe)<br />

5 Verbundene Ausrüstung (z.B.<br />

Fördergerät, Rundschalttisch)<br />

6 Schutzeinrichtung (Schutze oder<br />

Schutzeinrichtung mit<br />

Annäherungsreaktion)<br />

7 Eingeschränkter Raum<br />

8 (+7) Maximaler Raum<br />

9 Verriegelte Tür<br />

10 Verriegelungseinrichtung<br />

5<br />

6<br />

4<br />

3<br />

10<br />

9<br />

5<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 175<br />

Nur <strong>für</strong> Lehrzwecke<br />

Nach DIN EN 775, 1992<br />

Definition der Sicherheitsanforderung beim Einsatz von Industrierobotern.<br />

3<br />

2<br />

1<br />

7<br />

8<br />

4 4<br />

3<br />

6<br />

5<br />

VLRob.ppt<br />

Folie 176<br />

Nur <strong>für</strong> Lehrzwecke


Sicherheitsteil von Robotersteuerungen<br />

Zum Sicherheitsteil einer Robotersteuerung gehören unter anderem:<br />

• Hard- und Softwareendschalter <strong>für</strong> alle Achsen<br />

• Betriebsartenwahlschalter (Schlüsselschalter)<br />

• Überwachung der Schaltsysteme <strong>für</strong> Zustimmungsschalter,<br />

Notausschalter<br />

• Überwachung der Geschwindigkeiten im Einrichtbetrieb<br />

• Einschaltdiagnose <strong>für</strong> alle kontaktbehafteten Schaltvorgänge, die<br />

Sicherheitsfunktionen übernehmen (z.B. Antriebe ausschalten)<br />

• Watch-Dog-Funktionen<br />

• Spannungs- und Temperaturüberwachung<br />

• Fail Save - Verhalten<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Be- und Entladen von Werkzeugmaschinen<br />

Kleinteile <strong>für</strong> Fahrzeugbau handhaben:<br />

Systemlieferant / System supplier: KUKA Automatisering + Robots N.V., B-3530 Houthalen<br />

KUKA Roboter GmbH · Blücherstr. 144 · D-86165 Augsburg · Tel. +49-8 21/7 97-0 · Fax -16 16 ·<br />

http://www.kuka-roboter.de (R13.01.029 DE (11) 07.98)<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 177<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 178<br />

Nur <strong>für</strong> Lehrzwecke


Bearbeiten von Werkstücken mit Robotern<br />

Handhaben von Pneumatik-Ventilen beim Schleifen und Polieren:<br />

Systemlieferant / System supplier: Atlantique, D-26624 Südbrookmerland<br />

KUKA Roboter GmbH · Blücherstr. 144 · D-86165 Augsburg · Tel. +49-8 21/7 97-0 · Fax -16 16 ·<br />

http://www.kuka-roboter.de (R13.01.019 DE (07) 07.98)<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Entpalettieren von Motorblöcken<br />

Erkennung der Teile mittels Visionsystem:<br />

Systemlieferant / System supplier: KUKA Schweissanlagen GmbH, D-86165 Augsburg<br />

KUKA Roboter GmbH · Blücherstr. 144 · D-86165 Augsburg · Tel. +49-8 21/7 97-0 · Fax -16 16 ·<br />

http://www.kuka-roboter.de (R13.01.034 DE (11) 07.98)<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 179<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 180<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Handhaben von Ziegel-Rohlingen<br />

Roboter mit CCD-Kamera handhabt unterschiedliche Dachziegel-Rohlinge:<br />

Setzen der Ziegel vor dem Einlauf zum<br />

Brennofen. Mit einer CCD-Kamera wird die<br />

Position und Drehlage der ungeordnet<br />

zugeführten Ziegel erfasst und an den<br />

Roboter gemeldet. Es müssen etwa 20 verschiedene Ziegeltypen in zwei Farbversionen<br />

erkannt und gegriffen werden. Für die verschiedenen Grundformen der Ziegel sind<br />

entsprechende Greifer über ein Wechselsystem verfügbar.<br />

Direkt hinter dem Reinraum legt<br />

der Verpackungsroboter die<br />

Dialyse-Filter seitlich überlappend<br />

im Schuppenmuster in<br />

Kartons ein.<br />

Quelle: Kroth, E.: Reis GmbH & Co., 63785 Obernburg, Tel. (0 60 22) 5 03-0, Fax (0 60 22) 5 03-1 10.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Verpacken von Filtern<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 181<br />

Nur <strong>für</strong> Lehrzwecke<br />

Endverpackung von Dialyse-Filtern:<br />

Die Dialyse-Filter werden weltweit zur Blutreinigung eingesetzt. Fresenius-Konzern,<br />

Produktionsstandort St. Wendel: Einsatz von drei sechsachsigen Knickarmrobotern.<br />

Der mit einem Multifunktionswerkzeug<br />

ausgestattete<br />

Palettierroboter handhabt leere<br />

und gefüllte Kartons, Klappboxen<br />

sowie Leerpaletten.<br />

Die angetriebene Rollenbahn<br />

schiebt volle Europaletten auf<br />

den Drehtisch der<br />

Wickelstation.<br />

Quelle: Reis Robotics, Obernburg, 7/2000<br />

VLRob.ppt<br />

Folie 182<br />

Nur <strong>für</strong> Lehrzwecke


Roboterzelle <strong>für</strong> Laserbearbeitung<br />

Schneiden von 3D-Kunststoffbauteilen und Textilien mit CO 2-Laser:<br />

• 5-achsiger Knickarmroboter mit auf Achse 3<br />

montiertem CO2-Laser.<br />

• Der austretende Laserstrahl wird über<br />

Umlenkspiegel in die Kopfachse zur<br />

Schneidoptik geführt.<br />

• Zusätzlich wird Prozessgas an die Wirkstelle<br />

geleitet.<br />

• Die Programmierung erfolgt über Teach In<br />

mit Programmierhandgerät und „6D-Maus“<br />

an der Kopfachse.<br />

• Gespeicherte Programme sind über kodierte<br />

Teileaufnahmen abrufbar.<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

• Bearbeitungszelle mit Einlegebereich, Roboterarbeitsbereich<br />

sowie Steuerungs- und Filterbereich.<br />

• Teilezufuhr mittels Drehtisch oder Doppelschiebetisch.<br />

• Das Spannen der Bauteile erfolgt mittels Sauger oder<br />

pneumatische Spanneinrichtungen.<br />

• Entstehende Schneidgase werden abgesaugt und<br />

über Filtereinrichtungen gereinigt und aufbereitet.<br />

• Große, mit bruchfestem Glas ausgestattete Fenster<br />

ermöglichen das Beobachten des Arbeitsprozesses.<br />

Quelle: Maier, S.: Reis Robotics, Obernburg, März 2000<br />

<strong>Robotertechnik</strong><br />

Aus drucktechnischen Gründen leere Folie!<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 183<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 184<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

9. Mobile, autonome Roboter<br />

• Abgrenzung Industrieroboter – mobile Roboter<br />

• Begriffe Mobilität und Autonomie in der <strong>Robotertechnik</strong><br />

• Steuerungsarchitekturen<br />

•Sense-Plan-Act – Architektur<br />

•Subsumptions - Architektur<br />

•Architekturbeispiel Subsumption<br />

• Experimentsystem „Rug Warrior“<br />

Industrieroboter<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Abgrenzung, Definition<br />

• Arbeiten in stark strukturierten und kontrollierten Umgebungen<br />

(z.B. an von Menschen geschaffenen Fabrikarbeitsplätzen).<br />

• Stationäre Bewegungsautomaten mit mehreren Achsen, deren<br />

Bewegungen frei programmierbar oder sensorgeführt sind.<br />

• Sämtliche Abläufe sind weitgehend vorhersagbar und zeigen<br />

wenig Variation.<br />

Mobile Roboter<br />

• Arbeiten in teilweise oder vollständig unstrukturierten und<br />

unkontrollierten Umgebungen.<br />

(z.B. Flughäfen, Bibliotheken, Krankenhäusern, Wohnungen,<br />

unter Wasser oder sogar auf dem Mars)<br />

• Verfolgen mehr oder weniger genau vorgegebene Ziele, zeigen<br />

also Verhalten.<br />

• Die Abläufe variieren und sind häufig nicht vorhersagbar.<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 185<br />

Nur <strong>für</strong> Lehrzwecke<br />

VLRob.ppt<br />

Folie 186<br />

Nur <strong>für</strong> Lehrzwecke


Mobile Roboter<br />

Mobilität und Autonomie bei Robotern<br />

• Arbeiten ein fest vorgegebenes Programm ab<br />

• Verändern ihren Standort durch Lokomotion<br />

� Automatisiertes spur gebundenes Fahrzeug<br />

(Automated Guided Vehicle – AGV)<br />

• Arbeiten in teilweise angepassten Umgebungen<br />

• Werden häufig mit Induktionsschleifen oder Baken geführt<br />

• Sind unflexibel und empfindlich gegenüber Veränderungen der Umwelt<br />

(Veränderungen der Fahrrouten sind teuer)<br />

Autonome mobile Roboter<br />

• Bewegen sich frei in einer Umgebung umher<br />

• Positionieren sich selbst <strong>für</strong> ihre Arbeit<br />

• Passen sich Veränderungen der Umwelt an<br />

• Lernen aus Erfahrungen und entwickeln ein<br />

eigenes Weltbild<br />

• Ziehen Schlussfolgerungen und besitzen<br />

Entscheidungsfreiheit<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Steuerungsarchitektur: Sense-Plan-Act<br />

<strong>Robotertechnik</strong><br />

Entwurf eines Roboters <strong>für</strong><br />

die häusliche Pflege<br />

(Fraunhofer IPA)<br />

Wahrnehmen<br />

Welt Sensoren (Sensordaten erfassen, aufbereiten) Datenfluss<br />

Modellieren<br />

(Aussagen über den Weltzustand)<br />

Planen<br />

(Verfolgen eines Ziels)<br />

Ausführen<br />

(Ziel in Aktionen zerlegen)<br />

VLRob.ppt<br />

Folie 187<br />

Nur <strong>für</strong> Lehrzwecke<br />

Kontrollfluss<br />

Agieren<br />

(Steuerung der Aktoren) Aktoren Welt<br />

Vorteile:<br />

• Auf der Grundlage des Weltmodells können Optimierungen erfolgen<br />

(z.B. optimalen Weg ermitteln).<br />

• Garantien über die Qualität der Aufgabenlösung sind möglich<br />

(z.B. Aufgabe in vorgegebener Zeit gelöst).<br />

Nachteile:<br />

• Alle Module sind miteinander verzahnt beziehungsweise voneinander abhängig.<br />

• Sequentielle Abarbeitung der Schichten und dadurch lange Reaktionszeiten.<br />

• Aufwändige, schwierige und unflexible Erstellung und Pflege des Weltmodells.<br />

• Veränderungen der Umgebung erfordern Anpassung des Weltmodells.<br />

VLRob.ppt<br />

Folie 188<br />

Nur <strong>für</strong> Lehrzwecke


Steuerungsarchitektur: Subsumption<br />

Sensoren<br />

Sensordaten-Verarbtg.<br />

Prinzip:<br />

Umherfahren<br />

• Es werden voneinander unabhängige Verhaltenskomponenten als kurze Sensor-Aktor –<br />

Schleifen implementiert.<br />

• Entscheidungen höherer Ordnung unterdrücken Entscheidungen niederer Ordnung<br />

(Subsumption).<br />

Vorteile:<br />

• Es wird kein Weltmodell benötigt („die Welt ist das Modell“).<br />

• Sensordaten wirken unmittelbar und schnell auf Aktoren.<br />

• Das System kann mit mehrfachen, auch konkurrierenden Zielsetzungen umgehen.<br />

• Einfacher Entwurf und Implementierung, da jede Ebene <strong>für</strong> sich betrachtet werden kann.<br />

• Robustes Verhalten, da die Ebenen voneinander unabhängig sind.<br />

Nachteile:<br />

• Pläne und Optimierungen sind schwer implementierbar.<br />

� Mischarchitekturen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Kollisionen vermeiden<br />

Objekte identifizieren<br />

Welt<br />

Ziel suchen<br />

Zum Ziel fahren<br />

Welt<br />

Ein Roboter soll:<br />

Umgebung kartieren<br />

Verhaltensfusion<br />

<strong>Robotertechnik</strong><br />

Aktor-Ansteuerung<br />

Aktoren<br />

Beispiel einer einfachen Subsumption<br />

Bumper Flüchten<br />

IR-Detektoren<br />

Fotozellen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

� Bei Kollisionen ausweichen/flüchten<br />

� Kollisionen mit Gegenständen vermeiden<br />

� Einer Lichtquelle folgen<br />

� Umherfahren<br />

Vermeiden<br />

Verfolgen<br />

Umherfahren<br />

Umherfahren: Sorgt da<strong>für</strong>, dass der Roboter immer in Bewegung bleibt.<br />

S<br />

S<br />

<strong>Robotertechnik</strong><br />

Datenfluss<br />

Kontrollfluss<br />

VLRob.ppt<br />

Folie 189<br />

Nur <strong>für</strong> Lehrzwecke<br />

S Motoren<br />

Verfolgen: Der Roboter dreht sich aufgrund einer gemessenen Helligkeitsdifferenz in<br />

Richtung Lichtquelle.<br />

Vermeiden: Wenn mittels Infrarot-Detektoren vorne ein Hindernis entdeckt wird, dreht<br />

sich der Roboter vom Hindernis weg.<br />

Flüchten: Wird eine Kollision festgestellt, ermittelt der Roboter die Richtung des<br />

Hindernisses, setzt etwas zurück und dreht sich dann vom Hindernis weg.<br />

VLRob.ppt<br />

Folie 190<br />

Nur <strong>für</strong> Lehrzwecke


Forts. Beispiel: Verhaltenskomponente „Flüchten“<br />

Zustandsgraph von „Flüchten“:<br />

Timeout<br />

Kollision<br />

links<br />

4<br />

Rechts<br />

drehen<br />

1<br />

Warten<br />

auf Bumper<br />

Kollision<br />

vorne<br />

3<br />

Zurücksetzen<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

Timeout<br />

Kollision<br />

rechts<br />

2<br />

Links<br />

drehen<br />

Timeout<br />

void escape() {<br />

while(1) {<br />

bump_check();<br />

/* Bumper abfragen */<br />

If (bump_left && bump_right) {<br />

/* D.H. Kollision vorne */<br />

escape_output_flag = 1;<br />

escape_command = BACKWARD;<br />

/* Fahre rueckwaerts */<br />

sleep(0.2);<br />

/* Fahre 0,2 sec lang */<br />

escape_command = LEFT_TURN;<br />

/* Fahre jetzt nach links */<br />

sleep(0,5);<br />

/* fuer 0,5 sec links drehen*/<br />

} else if {<br />

…<br />

/* D.H. Kollision links */<br />

…<br />

/* D.H. Kollision rechts */<br />

…<br />

}<br />

<strong>Robotertechnik</strong><br />

Forts. Beispiel: Verhaltensfusion / Subsumption<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 191<br />

Nur <strong>für</strong> Lehrzwecke<br />

/* Die Verhaltensfusion bzw. Subsumption */<br />

void fusion() {<br />

while(1) {<br />

if (escape_output_flag == 1) { /* Fahrwunsch Kollision */<br />

drive_command = escape_command;<br />

}<br />

else {<br />

if (avoid_output_flag == 1) { /* Fahrwunsch Vermeiden */<br />

drive_command = avoid_command;<br />

}<br />

else {<br />

if (follow_output_flag == 1) { /* Fahrw. Lichtquelle */<br />

drive_command = follow_command;<br />

}<br />

else {<br />

drive_command = STOP; /* Kein Fahrwunsch vorh. */<br />

}<br />

}<br />

}<br />

}<br />

}<br />

VLRob.ppt<br />

Folie 192<br />

Nur <strong>für</strong> Lehrzwecke


Experimentsystem „Rug Warrior“<br />

Vom Massachusetts Institute of Technology (MIT) entwickelter mobiler<br />

Roboter mit Programmiersystem, Mikrocontroller, Sensoren, Aktoren<br />

(optional)<br />

• 8-Bit Mikrocontroller vom Typ 68HC11 mit 32 KByte RAM<br />

• Host (PC) als Editor und Compiler <strong>für</strong> Interactive C (IC) – Programme<br />

• Abarbeitung der geladenen Programme mittels Programmcode-Interpreter<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Sensoren und Aktoren des Rug Warrior<br />

Mikrofon<br />

Piezosummer<br />

Drei Bumper<br />

PC-Anschluss<br />

(serielle Schnittstelle)<br />

LC-Anzeige<br />

Leuchtdioden<br />

Aktoren:<br />

• Zwei Gleichstrommotoren zum<br />

antreiben der Räder<br />

• Einzelansteuerung der Motoren<br />

durch Pulsweitenmodulation<br />

(PWM)<br />

• Zweizeilige alphanumerische LC-<br />

Anzeige<br />

• Vier Leuchtdioden <strong>für</strong> Diagnose<br />

• Piezosummer<br />

<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

<strong>Robotertechnik</strong><br />

Fotowiderstand links<br />

IR-Sender links<br />

IR-Empfänger<br />

IR-Sender Rechts<br />

Fotowiderstand rechts<br />

VLRob.ppt<br />

Folie 193<br />

Nur <strong>für</strong> Lehrzwecke<br />

Sensoren:<br />

• Rad-Encoder an jedem Antriebsrad<br />

• Zwei Fotowiderstände zur Messung der<br />

Helligkeit<br />

• Zwei Infrarotsensoren an der Vorderseite<br />

zur Hindernisdetektion<br />

• Bumper: Drei Mikroschalter zur<br />

Kollisionserkennung<br />

• Mikrofon zur Geräuscherkennung<br />

VLRob.ppt<br />

Folie 194<br />

Nur <strong>für</strong> Lehrzwecke


<strong>Beuth</strong> <strong>Hochschule</strong> <strong>für</strong> <strong>Technik</strong> <strong>Berlin</strong><br />

Fachbereich VI - Informatik und Medien<br />

Linnemann, WiSe 2012/2013<br />

10. Ausblick und Trends<br />

• Synthese neuer Kinematiken<br />

• Sensortechnik und Sensorintegration (maschinelles Sehen)<br />

• Regelungstechnik, neue Ansätze in Bahnverhalten und<br />

Roboterdynamik<br />

• Bedienung, Programmierung von Robotern und neue Konzepte<br />

<strong>für</strong> die Mensch-Maschine-Schnittstelle<br />

• Kommunikation zwischen internen und externen<br />

Systemkomponenten<br />

• Standardisierung von Schnittstellen<br />

• Weiterentwicklung der Sicherheitstechnik<br />

• Technologien <strong>für</strong> neue Applikationen<br />

• Laserbearbeitung<br />

• Roboterassistenten (Cobots)<br />

• Mobile autonome Roboter<br />

• Servicerobotik<br />

• Unterhaltungsbranche<br />

<strong>Robotertechnik</strong><br />

VLRob.ppt<br />

Folie 195<br />

Nur <strong>für</strong> Lehrzwecke

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!