HyerTec - Roboterprogrammierung

 

 

Industrieroboter ist eine universelle, programmierbare Maschine zur Handhabung, Montage oder Bearbeitung von Werkstücken. Diese Roboter sind für den Einsatz im industriellen Umfeld konzipiert (z. B. Automobilfertigung). Die Maschine besteht im Allgemeinen aus dem Manipulator (Roboterarm), der Steuerung und einem Effektor (Werkzeug, Greifer, etc.). Oft werden Roboter auch mit verschiedenen Sensoren ausgerüstet. Einmal programmiert, ist die Maschine in der Lage, einen Arbeitsablauf autonom durchzuführen, oder die Ausführung der Aufgabe abhängig von Sensorinformationen in Grenzen zu variieren. Eingesetzt werden Industrieroboter in vielen Bereichen der Fertigung, so z. B. als Handhabungseinrichtung zum Palettieren (Palettierer) Stapeln (Stapelroboter) Verpacken Montieren Maschinen bestücken (Bestückungsroboter) Teile entnehmen (Entnahmeroboter) als Schweißroboter zum Bahnschweißen (Lichtbogen) Widerstandsschweißen (Punktschweißen) Bolzenschweißen Laserstrahlschweißen als Schneidroboter zum Fräsen, Sägen, Wasserstrahlschneiden oder mit Laser, Messer, Schneidbrenner oder Plasma als Fügeroboter zum Druckfügen Kleben und Abdichten Rollfalzen als Messroboter zum Messen und Testen als Lackierroboter zum Lackieren oder als Roboter zum Polieren als Schleifroboter zum Bandschleifen Die Struktur eines Industrieroboters (IR) beinhaltet: Steuerung: Sie überwacht und gibt die Bewegung und Aktionen des IR vor. Dies setzt eine Programmierung voraus. Antriebe: Der Antrieb bewegt die Glieder der kinematischen Kette und besteht aus Motor, Getriebe und Regelung. Der Antrieb kann elektrisch, hydraulisch oder pneumatisch erfolgen. interne Sensorik: Diese liefert Informationen über die Stellung der kinematischen Kette. Sie wird von der Steuerung zum Abgleich zwischen Soll- und Ist-Position verwendet. Interne Sensoren können beispielsweise inkrementale Drehgeber, Interferenzmuster oder Lichtschrankenfunktionen sein. Kinematik: Sie stellt die physische Realisierung der lasttragenden Struktur dar und schafft die räumliche Zuordnung zwischen Werkzeug/Werkstück und Fertigungseinrichtung. Sie besteht aus rotatorischen und translatorischen Achsen. In der Regel sind mindestens 3 Freiheitsgrade erforderlich, um jeden Raumpunkt erreichen zu können. Das erfordert mindestens 3 Bewegungsachsen. Greifsysteme: Ein Greifsystem stellt die Verbindung zwischen Werkstück und IR her. Dies kann über Kraftpaarung, Formpaarung oder Stoffpaarung erfolgen. externe Sensorik: Sie gibt dem IR eine Rückmeldung über die Umgebung. Sie ermöglicht damit eine flexible Reaktion auf nicht geplante Veränderungen. Externe Sensoren können zum Beispiel Bildverarbeitungssysteme (z. B. Laser Lichtschnittsysteme), Triangulationssensoren, Lichtschrankenfunktionen und Ultraschallsensoren sein. Programmierung Zur Erstellung von Roboterprogrammen gibt es die Verfahren Online-Programmierung und die Offline-Programmierung, die oft auch kombiniert eingesetzt werden. Die meisten modernen Robotersteuerungen enthalten eine komplexe Programmierumgebung, in die noch weitere Werkzeuge integriert sein können. So besteht in der Regel eine nahtlose Einbindung von Modulen, mittels denen externe Sensoren, wie. z. B. ein Kamerasystem oder ein Kraft-/Drehmoment Messsystem, in das Roboterprogramm eingebunden werden können. So kann sich das Verhalten des Roboters an äußere Einflüsse anpassen: Beispiel: Bauteile können mittels Sensoren, wie einer Kamera, erkannt werden und vom Roboter individuell bearbeitet werden. „Pick-and-Place“ (= Nehmen und Platzieren) Roboter können aus einem gemischten Schüttgut, bestehend aus unterschiedlichen Pralinen, eine Bonbonniere-Schachtel korrekt befüllen. Beispiel: Verschiedene Schrauben können mittels eines Drehmomentgebers abhängig von Ihrer Größe befestigt werden. Die Robotersteuerung ist häufig an eine SPS angeschlossen. Diese regelt das Zusammenspiel zwischen dem Roboter und der umgebenden Anlagentechnik. Online-Programmierung Die Programmierung des Roboters erfolgt direkt am oder mit dem Roboter selbst. Zu den Verfahren der Online Programmierung zählen: Teach-In-Verfahren Playback-Verfahren manuelle Eingabe über Tasten und Schalter (veraltet) Teach-In-Verfahren Beim Teach-In-Verfahren (kurz: Teachen) fährt der Programmierer den Roboter mit einer Steuerkonsole in die gewünschte Position. Alle so erreichten Koordinaten (Punkte) werden in der Steuerung gespeichert. Dieser Schritt wird solange wiederholt, bis der gesamte Arbeitszyklus einmal durchlaufen ist. Der Programmablauf besteht darin, dass der Roboter alle gespeicherten Punkte autonom anfährt. Für die Bewegung zwischen den einzelnen Punkten können Parameter eingegeben werden. So sind die Geschwindigkeit und die Beschleunigung einstellbar, bei einigen Robotern ist auch eine Angabe der notwendigen Genauigkeit möglich. Man unterscheidet bei der Fahrt des Roboters grundsätzlich zwei verschiedene Varianten: P2P: Point-to-Point: Der Roboter fährt von Punkt n nach Punkt n+1, wobei der geometrisch günstigste Weg gewählt wird. Diese Methode ist schnell, führt aber zu einem unbekannten Pfad zwischen den Punkten. Diese Fahrt ist in aller Regel keine Gerade. CP: Continuous Path: Hier wird der Roboter angewiesen, nicht nur von einem Punkt zum anderen zu fahren, sondern auch noch einem vorgegebenen Pfad zu folgen. Diese Fahrt ist i. d. R. langsamer als P2P, dafür wird aber ein bestimmter Pfad nur innerhalb geringer Toleranzen verlassen. Diese Methode eignet sich für komplexe Fügevorgänge, bei denen es weniger auf Geschwindigkeit als auf Genauigkeit (z. B. wegen Hindernissen) ankommt. Playback-Verfahren Der Programmierer fährt durch direktes Führen des Roboterarms die vorgesehene Bahn ab. Der Roboter wiederholt genau diese Bewegungen. Diese Methode wird häufig bei Lackierrobotern eingesetzt. Playback-Verfahren mit 3D-Messarmen (mobile Koordinatenmeßsysteme KMG). Während des Führens des KMG entlang der Bauteilkontur werden Koordinaten aufgezeichnet und später in ein Roboterprogramm konvertiert. Offline-Programmierung Zur Programmierung des Roboters wird dieser nicht benötigt, die Programmentwicklung erfolgt Offline an einem vom Roboter unabhängigen Computer, während der Entwicklung kann deshalb der Roboter weiter betrieben werden, es gibt keine Stillstandzeiten. Zu den Verfahren der Offline Programmierung zählen: Textuelle Programmierung CAD gestützte Programmierung Makroprogrammierung Akustische Programmierung Textuelle Programmierung Die Aufgaben werden auf der Basis einer problemorientierten Sprache beschrieben. Das Verfahren ist vergleichbar mit dem Programmieren in einer höheren Programmiersprache. Vorteile des textuellen Programmierens: Das Programm lässt sich leicht ändern und gut dokumentieren. Das Programm kann ohne Nutzung des Roboters erstellt werden. Nachteile des textuellen Programmierens: Zum Programmieren ist ein qualifizierter Programmierer notwendig Nahezu jeder Hersteller benutzt seine eigene Programmiersprache. CAD gestütztes Verfahren Bei der CAD gestützten Programmierung wird der Roboter an einem PC-Arbeitsplatz (oft auch Unix-Workstations) auf Basis von Konstruktionszeichnungen und Simulationen programmiert. Der gesamte Bewegungsablauf wird dabei schon am PC in einer dreidimensionalen Bildschirmumgebung festgelegt. Dabei sind in der Regel die Umgebung des Roboters und sein Werkzeug ebenfalls abgebildet. Dadurch können verschiedene Untersuchungen durchgeführt werden: Bestimmung der prozessrichtigen Lage des Bauteils im Raum. Wird das Werkstück oder das Werkzeug bewegt? Sind die gewünschten Arbeitspunkte überhaupt erreichbar? Wie lange benötigt der Roboter für diesen Bewegungsablauf Kommt es bei diesem Programm zu Kollisionen mit der Umgebung? Überprüfung von Alternativen, z. B. kann ein „kleinerer“, kostengünstigerer Roboter zum ursprünglich geplanten Modell eingesetzt werden. Sicherstellung der Machbarkeit der Roboteranwendung. Vorteile der CAD gestützten Programmierung (in Verbindung mit Simulation): Die Programmierung des Roboters kann bereits erfolgen, wenn dieser noch gar nicht aufgebaut ist. Planungs- und Konstruktionsfehler können frühzeitig erkannt werden. Erforderliche Änderungen können in diesem Stadium noch am Computer vorgenommen werden und es ist kein teurer Umbau auf der Baustelle notwendig Umfangreiche Änderungen an Roboterprogrammen sind teilweise wesentlich einfacher möglich als direkt am Roboter In der 3D-Umgebung am Computer kann jeder Teil der Roboterumgebung von allen Seiten betrachtet werden. In der Realität sind Arbeitspunkte des Roboters oft verdeckt oder schwer zugänglich. Nachteile der CAD gestützten Programmierung: Die genaue Umgebung existiert oft nicht als 3d-Modell. Tragende Elemente der Werkshallen-Installation wie Pfeiler, Träger, Traversen o. Ä. sind daher schwer zu berücksichtigen. Alle Vorrichtungen und Werkzeuge müssen exakt den Modellen im Computer entsprechen. Das Teaching ist oft einfacher und schneller. Flexible Versorgungsleitungen (Druckluft-Einspeisung, Kühlwasserschläuche, Schweißstromversorgung oder Kleberzuführung, Bolzenzuführung bei Studwelding) können am Computer nur unzureichend abgebildet werden, bewirken aber erhebliche Bewegungseinschränkungen des realen Industrieroboters. Das in der CAD-gestützten Programmierung erstellte Programm wird in den Industrieroboter per Datenträger oder Netzwerk übertragen und kann dann sofort ausgeführt werden. Normalerweise sind aber noch vielfältige Anpassungen (Roboterkalibrierung) erforderlich, da die simulierte Umgebung nie genau mit der Realität übereinstimmt. Auch die Anbindung an die SPS erfolgt meist erst „vor Ort“. Makroprogrammierung Bei häufig wiederkehrenden Arbeitsvorgängen werden Makros erstellt, die häufig benutzte Befehlsfolgen in verkürzter Form darstellen. Das Makro wird einmal programmiert und anschließend an den erforderlichen Stellen des Steuerprogramms eingefügt. Akustische Programmierung Hierbei erfolgt die Programmierung des Programmtextes über die natürliche Sprache mit Hilfe eines Mikrofons. Das System kann die Befehle akustisch bestätigen und so eine Kontrolle der richtigen Erfassung ermöglichen. Vorteile der akustischen Programmierung : Vermeidung von Eingabefehlern größere Bewegungsfreiheit des Bedieners Anpassung an die gewohnte natürliche Kommunikationsform Nachteile der akustische Programmierung : relative hohe Fehlerrate heutiger Spracherkennungssysteme Koordinatensysteme Die Werkzeugposition eines Industrieroboters wird über seinen so genannten TCP (Tool Center Point) beschrieben. Dies ist ein gedachter Referenzpunkt, der sich an geeigneter Stelle am Werkzeug befindet. Aufgrund der geschichtlichen Entwicklung von Industrierobotern war es üblich, eine Elektrode einer Punktschweißzange als TCP zu definieren. Stillschweigend hat man damit das Tool- oder Werkzeugkoordinatensystem definiert. Der Ursprung ist deckungsgleich mit dem TCP. Die Z-Richtung weist zur anderen Elektrode. Die X-Richtung steht orthogonal auf der durch die Elektrodenarme gebildeten Fläche. Um zu beschreiben, welche Lage das Roboterwerkzeug einnehmen soll, genügt es, die Position und Orientierung des TCP im Raum zu definieren. Die Stellung eines Industrieroboters kann nur achsbezogen beschrieben werden. achsbezogenen: Für jede einzelne (lineare oder rotatorische) Achse des Roboters wird angegeben, in welcher Stellung sie sich befindet. Zusammen mit den konstruktiven Längen der Glieder ergibt sich daraus eine eindeutige Position des Roboterflansches. Dies ist die einzige Möglichkeit, die Stellung oder Konfiguration der kinematischen Kette Roboter zu beschreiben. raumbezogen: Der TCP oder das Werkzeugkoordinatensystem kann nur raumbezogen beschrieben werden. Die Basis bildet das kartesische Koordinatensystem. Um zwischen der achsspezifischen Beschreibung des Roboters und der raumbezogenen Beschreibung zu wechseln, werden Transformationen verwendet. Es wird hierbei vom Programmierer festgelegt, an welche Stelle im Raum das Roboterwerkzeug gefahren werden soll und wie es ausgerichtet ist. Die Robotersteuerung errechnet dann über die sogenannte Denavit-Hartenberg-Transformation, welche Stellung die einzelnen Roboterachsen dazu einnehmen müssen. Siehe dazu auch inverse Kinematik, direkte Kinematik. Für die raumbezogene Beschreibung der Roboterstellung stehen verschiedene Koordinatensysteme zur Verfügung, die der Programmierer je nach Bedarf nutzen kann. Die Benennung kann je nach Robotersteuerung variieren: Raumbezogene Roboterkoordinatensysteme Weltkoordinatensystem Das Weltkoordinatensystem (WORLD) hat seinen Ursprung üblicherweise im rotatorischen Zentrum der ersten Achse (Grundachse, Grundgestell). Es ist das Hauptkoordinatensystem, welches unveränderlich im Raum liegt. Auf dieses Koordinatensystem sind alle anderen bezogen. Basiskoordinatensystem Das Basiskoordinatensystem (BASE) wird meistens auf dem Werkstück oder der Werkstückaufnahme verwendet, um Punktkoordinaten im Bezug zum Werkstück oder zur Werkstückaufnahme zu teachen. Somit kann der Ursprungspunkt des Basiskoordinatensystems verschoben werden und die dazugehörigen Punktkoordinaten wandern mit. Im Default-Zustand ist das Basiskoordinatensystem deckungsgleich mit dem Weltkoordinatensystem (Base x 0, y 0, z 0, a 0, b 0, c 0). Im Robotersystem können mehrere dieser Koordinatensysteme angelegt und mit Namen gespeichert werden. Beim Programmieren kann somit zwischen den verschiedenen Basissystemen umgeschaltet werden. Werkzeugkoordinatensystem (Tool) Das Werkzeugkoordinatensystem befindet sich am Werkzeug des Roboters. Seine Lage wird durch den TCP (Tool Center Point) definiert, welcher sich an geeigneter Stelle des Werkzeugs befindet. Seine Orientierung wird durch die sog. Stoßrichtung des Werkzeugs (+Z) sowie eine zweite, frei zu wählende Werkzeugachse festgelegt. Lage und Orientierung des Werkzeugkoordinatensystems werden als translatorische und rotatorische Verschiebung zum Mittelpunkt der Flanschplatte definiert. Dadurch, dass sich das Werkzeugkoordinatensystem mit dem Werkzeug bewegt, liegt es relativ zu diesem immer gleich, auch wenn seine Lage im Raum veränderlich ist. Bei sinnvoller Festlegung des TCP kann der Programmierer das Werkzeug so um dessen Arbeitspunkt drehen oder lineare Bewegungen genau passend zur Werkzeuglage durchführen. Das kommt der menschlichen Arbeitsweise entgegen und erleichtert so das Teachen. In einer Robotersteuerung lassen sich normalerweise mehrere Werkzeugkoordinatensysteme anlegen, die über eine Werkzeugnummer ausgewählt werden können. So ist es möglich, mit mehreren verschiedenen Werkzeugen zu arbeiten (z. B. zwei unterschiedlich geformte Schweißzangen). Diese können gleichzeitig am Roboter angebaut sein, was aber eventuell zu Problemen mit Gewicht und Erreichbarkeit führt. Alternativ kann ein Werkzeugwechselsystem verwendet werden, bei dem der Roboter unterschiedliche Werkzeuge an- und abdockt. Eine spezielle Anwendung des Werkzeugkoordinatensystems bildet das so genannte ‚externe Tool‘. Hierbei wird der TCP nicht am Roboterwerkzeug definiert, sondern am Arbeitspunkt eines stationären Werkzeuges. Die Punkte des Roboterprogrammes liegen dabei nicht fest im Raum, sondern „kleben“ am durch den Roboter bewegten Werkstück und werden mit diesem zum feststehenden Werkzeug bewegt. Der Roboter bewegt in diesem Fall also zum Beispiel nicht die Zange zum Blech, sondern führt das in einem Greifer gehaltene Blech an die feststehende Zange heran. Externes Koordinatensystem Eine weitere Variante sind externe Koordinatensysteme. Dabei wird das Koordinatensystem mit dem Werkstück verbunden, welches auf einem simplen 1- bis 4-Achs Manipulator montiert ist. Derartige Manipulatoren haben dabei Traglasten bis zu 60 Tonnen. Alternativ dazu kann das Werkstück auch von einem oder mehreren Robotern manipuliert werden, welche dann in Kommunikation zu jenem Roboter stehen müssen, welcher das Werkzeug bewegt. Bei beiden Varianten können auch gleichzeitig mehrere Roboter auf ein und demselben Werkstück arbeiten. Base-Koordinatensystem Das Base-Koordinatensystem kann vom Programmierer frei im Raum positioniert werden, beispielsweise parallel zu einer schräg im Raum stehenden Vorrichtung. Lage und Orientierung sind unabhängig von anderen Koordinatensystemen, beziehen sich aber rechnerisch auf das Weltkoordinatensystem. Ist ein Roboterprogramm im Base-Koordinatensystem definiert, so lässt es sich leicht im Raum verschieben und drehen, indem lediglich die Lage des Koordinatensystems geändert wird, aber ohne dass ein einziger Programmpunkt neu geteacht werden muss (siehe Basiskoordinatensystem). Achskonfiguration Die Bewegung des Roboterwerkzeuges per inverser Kinematik führt zu einigen Besonderheiten. Während sich aus einer bestimmten Stellung der Achsen eindeutig eine Position des Werkzeuges ergibt, ist die Stellung der Achsen für eine bestimmte Werkzeuglage nicht immer eindeutig. Das System ist rechnerisch mehrdeutig. Je nach Lage des Zielpunktes und der Mechanik des Roboters gibt es oft mehrere Achskonfigurationen, die zur gewünschten Werkzeugposition führen. Die Auswahl der geeignetsten Konfiguration ist Aufgabe des Programmierers. Die Steuerung muss dann sicherstellen, dass diese Konfiguration während der Bewegung möglichst lange beibehalten wird. Der Wechsel zwischen zwei Konfigurationen kann sonst dazu führen, dass für eine minimale Werkzeugbewegung eine sehr große Bewegung des gesamten Roboters stattfindet. Diese unerwartete Bewegung kostet Zeit und ist oft nicht kollisionsfrei möglich. Bei manchen Roboterkinematiken (z. B. 6-achsiger Gelenkarmroboter) gibt es Raumpunkte, die zu so genannten Singularitäten führen. Eine Singularität ist dadurch gekennzeichnet und erkennbar, dass zwei Achsen des Roboters kollinear (fluchtend) sind. Eine typische Konfiguration mit Singularität ist die Überkopfstellung des Werkzeuges. Hier fluchten Achse 1 und Achse 6. Die Steuerung kann eine auszuführende Rotation um die Senkrechte nicht eindeutig Achse 1 oder Achse 6 zuordnen. Eine andere Konstellation ist beim Nulldurchgang der Achse 5 gegeben. Hier fluchten Achse 4 und Achse 6. Hier gibt es unendlich viele Achsstellungen, die zur gleichen Werkzeugstellung führen bzw. Bewegungsbahnen, bei denen mehrere Achsen mit unendlicher Geschwindigkeit gegeneinander bewegt werden müssten. Einige Steuerungen brechen das Programm beim Durchfahren eines solchen Punktes ab.

Leistungen

Die Zeit steht nie still. Wir sind stets interessiert an neuen Techniken und Entwicklungen und stehen mit unserem Know-how mit Rat und Tat zur Verfügung.

Kontakt

Nehmen Sie Kontakt mit uns auf. Wir stehen Ihnen bei Fragen und Anregungen immer zur Seite.