Download Bedienungsanleitung zu ArmCtrl
Transcript
Bedienungsanleitung Mobile Arm Simulation 3D Januar 2012, Heilbronn MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 1 von 19 Inhalt 1 Einleitung........................................................................................................... 3 1.1 Inhalt dieses Dokuments......................................................................................... 3 1.2 Besondere Hinweise...............................................................................................3 2 Überblick............................................................................................................ 4 2.1 Systemstruktur........................................................................................................ 4 2.2 Komponenten.......................................................................................................... 4 Manipulator und Greifer............................................................................................4 2.3 Glossar.................................................................................................................... 5 Kinematik................................................................................................................. 5 Werkzeugmittelpunkt (TCP).....................................................................................6 Arbeitsraum.............................................................................................................. 6 Singularität............................................................................................................... 6 Genauigkeit.............................................................................................................. 6 Einzelachsbewegung............................................................................................... 7 Punkt-zu-Punkt-Bewegung (PTP)............................................................................7 Kartesische Bewegung.............................................................................................7 Lineare Bewegung................................................................................................... 7 Kollision.................................................................................................................... 7 3 Einrichten des Leitrechners................................................................................8 3.1 Windows.................................................................................................................. 8 Installation des Java Runtime Environments............................................................8 Installation der GUI................................................................................................... 8 Einrichten des Netzwerks......................................................................................... 8 4 Erste Schritte.....................................................................................................9 4.1 Verbindungsaufbau.................................................................................................9 Arm........................................................................................................................... 9 Plattform................................................................................................................... 9 Interpreter................................................................................................................. 9 Roboter.................................................................................................................... 9 4.2 Arbeiten mit der mobilen Plattform........................................................................10 Die Anzeige einstellen............................................................................................ 10 Zielstationen anfahren............................................................................................ 11 4.3 Arbeiten mit dem Manipulator................................................................................12 Die Anzeige einstellen............................................................................................ 12 Einzelachsbewegungen......................................................................................... 12 Kartesische Bewegungen.......................................................................................13 Zielpunkte speichern.............................................................................................. 13 Punkt-zu-Punkt-Bewegungen.................................................................................15 Lineare Bewegungen............................................................................................. 15 Pfade abfahren....................................................................................................... 16 5 Eigene Programme schreiben..........................................................................17 5.1 Der Python-Interpreter........................................................................................... 17 5.2 Der externe Client................................................................................................. 18 6 Rechtliche Anmerkungen.................................................................................19 MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 2 von 19 1 Einleitung 1.1 Inhalt dieses Dokuments Diese Bedienungsanleitung erläutert die Arbeit mit der graphischen Bedienoberfläche für mobile Manipulatoren von Neobotix. Es gibt zwei Möglichkeiten, die Software zu verwenden, den Simulationsmodus und den realen Betrieb. Im Simulationsbetrieb ist keine Hardware nötig, trotzdem können alle Funktionen uneingeschränkt getestet werden. Die normale Steuerungssoftware läuft dann auf dem Bedienrechner und simuliert sämtliche Sensordaten. Dieses Dokument erläutert im einzelnen: Das Zusammenspiel der Neobotix-Softwarebausteine Das Einrichten des Kontrollrechners und der Netzwerkverbindungen Einfache, prinzipielle Funktionstests des Systemaufbaus Grundlegende Funktionen des Systems und entsprechende Tests Wichtige Kenntnisse für die Arbeit an eigenen Applikationen Alle oben erwähnten Aktionen sowie die meisten Funktionen der Benutzeroberfläche werden genau beschrieben. Deshalb sollte dieses Dokument alle notwendigen Informationen für die meisten Anwender und Einsatzfälle enthalten. Falls doch weitergehende Informationen, etwa für die Forschung oder zum Einrichten spezieller Anwendungen, erforderlich sein sollten, konsultieren Sie bitte das „ArmCtrl – Programmiererhandbuch“, das „PlatformCtrl - Programmiererhandbuch“ oder kontaktieren Neobotix. 1.2 Besondere Hinweise Sobald der Roboter entsprechend der Bedienungsanleitung oder der technischen Beschreibung eingerichtet wurde, ist der Betrieb prinzipiell sicher. Allerdings besteht aufgrund der Komplexität und Leistungsfähigkeit des Systems die Möglichkeit von Eigenkollisionen und anderen Beschädigungen. Diese lassen sich leider nicht vollständig ausschließen, ohne dabei die Funktionsfähigkeit massiv einzuschränken. Das System sollte daher nur von entsprechend ausgebildeten und befugten Technikern eingerichtet, getestet und bedient werden. Die maximale Sicherheit kann nur dann gewährleistet werden, wenn alle Parameter korrekt eingestellt wurden! Um das Einrichten eines sicheren und effizienten Betriebs zu erleichtern, weisen die folgenden beiden Symbole auf besonders wichtige Absätze hin: Das Warndreieck markiert Abschnitte, die die Gefahr von Verletzungen, Beschädigungen oder beidem behandeln. Bitte lesen Sie diese Hinweise mit besonderer Aufmerksamkeit! Die Glühbirne weist auf Absätze hin, die bekannte Probleme, Missverständnisse und Fehler erwähnen und ist als Hilfe zur Fehlerbeseitigung gedacht. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 3 von 19 2 Überblick 2.1 Systemstruktur Das Gesamtsystem besteht aus einer Vielzahl von Komponenten, die teilweise auf die Anforderungen der jeweiligen Anwendung zugeschnitten sind. Das folgende Diagramm zeigt das Zusammenspiel dieser Komponenten in einem gebräuchlichen Aufbau. Abb. 1: Strukturdiagramm, allgemeiner Aufbau Alle Neobotix-Softwaremodule kommunizieren per Ethernet unter Verwendung von Socket-Schnittstellen. Die Anbindung an kundenspezifische Clients kann wahlweise aber auch per Modbus erfolgen. 2.2 Komponenten Mobile Plattform Eine mobile Plattform von Neobotix fungiert in vielen Fällen als Basis des Manipulators und positioniert diesen zusammen mit eventueller Ladung autonom im Arbeitsraum. Es muss jedoch nicht zwingend auf Neobotix-Hardware zurückgegriffen werden. Der Arm kann auch auf anderen Plattformen, auf Linearachsen, auf Schienensystemen oder auf einem fest installierten Fundament montiert werden. Die Bewegungssteuerung der Basis kann dann jedoch unter Umständen nicht durch Software von Neobotix übernommen werden. Manipulator und Greifer Das Modul ArmCtrl kann sowohl mit den Roboterachsen und -armen und den Greifern der Firma Schunk arbeiten, als auch mit Antriebsverstärkern der Firma Elmo Motion Control, die in praktisch jeden beliebigen Arm integriert werden können. Umgebungshardware Die übrige Hardware ist vom jeweiligen Einsatzfall abhängig. Das mobile System kann entweder direkt mit der übrigen Hardware interagieren, zum Beispiel über digitale Schnittstellen oder Funksignale, oder indirekt über den Umweg über ein ClientProgramm. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 4 von 19 PlatformCtrl Dieses Softwaremodul ist für die Steuerung der mobilen Plattform verantwortlich sowie für Lokalisierung, Pfadplanung, Hindernisvermeidung und einige andere hardwarenahe Funktionen. Es läuft immer auf dem Bordrechner der Plattform und besitzt selbst keine Bedienoberfläche. PlatformCtrlGUI Diese graphische Bedienoberfläche stellt die Benutzerschnittstelle zu PlatformCtrl dar und wird primär zum Einrichten der mobilen Plattform benötigt. Sie ermöglicht die Erstellung von Umgebungskarten, die Definition von Zielstationen und Verbindungspfaden und die Konfiguration der mobilen Plattform. ArmCtrl In diesem Modul ist die Ansteuerung der Armachsen und die Bewegungssteuerung für den Arm implementiert. Das Modul läuft in einer weichen Echtzeitumgebung und besitzt wie PlatformCtrl keine eigene Bedienoberfläche. Mobile Arm Simulation 3D Mit Hilfe dieser Bedienoberfläche kann eine Verbindung zu ArmCtrl hergestellt und der Arm angesteuert werden. Außerdem lässt sich auch die Plattform ansprechen und verfahren. Das Gesamtsystem kann schließlich durch Verwendung des integrierten Python-Interpreters automatisiert gesteuert werden. Kundenspezifischer Client Oftmals ist es sinnvoll, ein separates Programm zu schreiben, das sich mit allen übrigen Systemkomponenten verbindet, diese koordiniert und den Gesamtablauf steuert. Für einfachere Anwendungen sind zum Beispiel Python-Programme gut geeignet, während komplexere Systeme oft umfangreichere Clients erfordern. Da alle Neobotix-Module ein offenes, gut dokumentiertes Protokoll verwenden, ist die Programmierung in den meisten Fällen kein Problem. Weitere Komponenten Der Einsatz verschiedenster anderer Komponenten, vom Funk-Not-Halt über das Bildverarbeitungssystem bis zur globalen Prozessplanung und Anlagensteuerung, ist möglich. Dabei sind die Schnittstellen nicht auf die in diesem Dokument erwähnten Varianten beschränkt, sondern können sehr frei gewählt werden. Noch nicht verfügbare Schnittstellen können von Neobotix implementiert und vorbereitet werden. 2.3 Glossar Kinematik Eine Kinematik beschreibt, wie die einzelnen Achsen (auch Freiheitsgrade genannt) eines Robotersystems geometrisch und mechanisch zusammenhängen. Je nach Anordnung und Versatz zwischen den verschiedenen Achsen können bei gleicher Achsanzahl völlig unterschiedliche Fähigkeiten und Bewegungsmöglichkeiten erreicht werden. Darum ist es außerordentlich wichtig, sowohl die der verwendeten Hardware entsprechende Kinematik auszuwählen, als auch alle benötigten Parameter, insbesondere bei der Kalibrierung, korrekt einzustellen. Schon geringe Abweichungen von wenigen Millimetern oder Grad zwischen dem realen Roboter und dem rechnerischen Modell, können ganz erhebliche Diskrepanzen und Ungenauigkeiten verursachen. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 5 von 19 Diese Abweichungen beeinflussen jedoch nicht die Wiederholgenauigkeit des Systems. Werkzeugmittelpunkt (TCP) Der Werkzeugmittelpunkt (englisch Tool Centre Point, kurz TCP) ist der virtuelle Punkt im oder am verwendeten Werkzeug, der für die Berechnung bestimmter Bewegungen genutzt wird. Standardmäßig liegt dieser Punkt in der Mitte des Roboterhandflansches. Oft ist es aber sinnvoll, den TCP zu verschieben, so dass zum Beispiel Rotationen automatisch um die Werkzeugspitze ausgeführt werden. Arbeitsraum Der Arbeitsraum eines Roboterarmes unterscheidet sich selbst bei gleicher Achsanzahl massiv von dem eines menschlichen Armes. Stellungen, die ein menschlicher Arm problemlos einnehmen kann, sind Robotern oft durch mechanische Einschränkungen, nicht zulässige Eigenkollisionen und fehlende Flexibilität unmöglich. Außerdem wird oft vergessen, dass der Fußpunkt eines Roboterarmes fest verankert ist und daher keinerlei Hilfs- oder Ausweichbewegungen zulässt. Im Arbeitsraum können mehrere Bereiche unterschieden werden: Der maximale Arbeitsraum umfasst das Volumen, das der TCP in beliebiger Orientierung erreichen kann. Je weiter sich der TCP dabei vom Fußpunkt entfernt, desto schwieriger wird es, alle möglichen Orientierungen anzunehmen, bis schließlich bei völlig gestrecktem Arm nur noch eine einzige Lösung erreichbar ist. Ähnliches gilt auch bei der Annäherung an den Fußpunkt und an andere Teile des Armes selbst. Der nutzbare Arbeitsraum enthält das Volumen, in dem alle oder zumindest alle für die vorgesehene Arbeit benötigten Orientierungen erreichbar sind. Dieses Volumen liegt immer innerhalb des maximalen Arbeitsraumes und ist in den meisten Fällen deutlich kleiner. Beim Verlassen des Bereiches kann es passieren, dass sich die erreichte Position und Orientierung aufgrund der Beschränkungen auch dann verändert, wenn dies bei der theoretisch vorgegebenen Bewegungsbahn eigentlich nicht der Fall sein sollte. Der Bereich, in dem alle theoretisch möglichen Orientierungen angefahren werden können, ist der kleinste der Arbeitsräume und spielt für die meisten Anwendungen nur eine untergeordnete Rolle. Singularität Als Singularitäten werden Armstellungen bezeichnet, bei denen schon geringe Bewegungen des TCP zu sehr großen oder sehr schnellen Bewegungen der Achsen führen. Dies ist zum Beispiel dann der Fall, wenn der ganze Arm oder das Handgelenk gestreckt sind. Beim Durchfahren solcher Positionen passiert es häufig, dass die aus einer Fortführung der TCP-Bewegung resultierenden Achsgeschwindigkeiten die erreichbaren und zulässigen Grenzwerte weit überschreiten und dadurch zu einem Fehler führen. Genauigkeit Die Wiederholgenauigkeit beim Anfahren von Zielpunkten ist prinzipiell unabhängig von der Kinematik, der Kalibrierung und den eingestellten Parametern und wird lediglich durch die Qualität der Getriebe, Motoren und Drehgeber bestimmt. Im Allgemeinen liegt sie bei deutlich weniger als einem Millimeter. Die Genauigkeit, mit der vorberechnete Soll-Positionen und Bahnen im jeweiligen Koordinatensystem erreicht werden, ist dagegen in hohem Maße auch von den anderen MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 6 von 19 Einflussgrößen abhängig. Je genauer der Roboter vermessen, kalibriert und in der Arbeitsumgebung ausgerichtet ist, desto genauer kann er im Koordinatensystem arbeiten. Einzelachsbewegung ArmCtrl bietet die Möglichkeit, einzelne Achsen unter direkter Kontrolle zu verfahren. Mit dieser Funktion sind einfache Funktionstests möglich. Außerdem lassen sich so die jeweiligen Endlagen komfortabel bestimmen und Achsen kontrolliert aus kritischen Situationen heraus fahren. Punkt-zu-Punkt-Bewegung (PTP) Bei Punkt-zu-Punkt-Bewegungen verfahren alle Achsen gleichzeitig und synchron vom aktuellen Winkel auf den Zielwinkel. Die Parameter der Bewegung können weitgehend frei eingestellt werden und werden auf alle Achsen gleichermaßen angewandt. Da es sich um einen rein durch die einzelnen Geschwindigkeiten bestimmten Ablauf handelt, ist die Bahn des TCP nicht vorhersagbar; sie ist jedoch wiederholbar. Mehrere Punkte können zu kontinuierlichen Bahnen zusammengesetzt werden, wobei auch in diesem Fall die Bewegung des TCP zwischen den einzelnen Punkten nicht vorhersehbar aber wiederholbar ist. Kartesische Bewegung Wenn die passende Kinematik hinterlegt wurde und diese die Funktion ermöglicht, kann der TCP auch in kartesischen Koordinaten, also im klassischen, rechtwinkligen Koordinatensystem, bewegt werden. Im Handbetrieb fährt der Roboter dann die gewünschte Bewegungsachse entlang beziehungsweise dreht den TCP um diese Achse. Als Bezugssystem kann dabei entweder das globale Koordinatensystem Arbeitsraumes oder das lokale Koordinatensystem des TCP verwendet werden. des Lineare Bewegung Im Automatik-Modus können Zielpunkte auch auf geraden Bahnen angefahren werden. Wie bei den kartesischen Bewegungen ist dazu auch hier eine korrekt konfigurierte Kinematik notwendig. Mehrere Stützpunkte lassen sich zu Bahnen kombinieren, deren Ecken mit einstellbarem Radius verrundet werden können. Kollision Ein Roboterarm besitzt normalerweise Software- und Hardware-Endschalter sowie Endanschläge in jeder Achse. Diese sichern jedoch nur die Endlagen der jeweiligen Achse ab und haben keine Auswirkung auf Kollisionen zwischen verschiedenen Teilen des Roboterarmes beziehungsweise zwischen dem Arm und Hindernissen in der Umgebung. Momentan ist weder eine permanente Überwachung von Eigenkollisionen noch von Kollisionen mit der Umgebung möglich. Dies bedeutet, das es insbesondere bei automatisch berechneten Fahrten, etwa zu dynamisch angepassten Zielpunkten, zu Kollisionen und damit zu Schäden am Arm oder anderen Systemen kommen kann. Alle eingelernten Bewegungen müssen vor Beginn des Automatikbetriebs unter Aufsicht testweise abgefahren werden. Die Verantwortung für die Kollisionsvermeidung beim Anfahren automatisch generierten Positionen liegt allein beim Programmierer! MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten von 7 von 19 3 Einrichten des Leitrechners Als Leitrechner zum Bedienen genügt ein handelsüblicher PC mit Anschluss an das lokale Netzwerk, in dem auch der Roboter angemeldet ist. Unter Umständen sind zusätzliche Schnittstellenwandler erforderlich, falls die Kommunikation nicht ausschließlich über Ethernet erfolgt. 3.1 Windows Installation des Java Runtime Environments Die Neobotix Bedienoberfläche wurde in Java programmiert und ist damit plattformunabhängig. Dies bedeutet aber auch, dass eine Java virtual machine und eine spezielle 3D-Bibliothek installiert werden müssen, ehe die GUI verwendet werden kann. Sollte noch keine oder nur eine ältere Version auf dem Leitrechner installiert sein, verwenden Sie die Dateien im „Java“-Ordner auf der CD aus dem Lieferumfang des Roboters. Starten Sie beide „.exe“-Dateien und folgen Sie den Installationsanweisungen. Installation der GUI Die graphische Bedienoberfläche muss nicht im eigentlichen Sinne installiert werden. Kopieren Sie einfach den entsprechenden Ordner auf die Festplatte des Leitrechners. Um die Oberfläche zu starten können Sie entweder direkt auf „start.bat“ doppelklicken oder eine Verknüpfung auf dem Arbeitsplatz anlegen. Ziehen Sie die Datei dazu mit der rechten Maustaste auf den Arbeitsplatz und wählen Sie „Verknüpfung hier erstellen“ aus dem Kontextmenü. Einrichten des Netzwerks Ein passendes WLAN-Gerät ist optional im Lieferumfang enthalten und so voreingestellt, dass eine Verbindung zum Roboter schnell und einfach hergestellt werden kann. Falls die Netzwerkeinstellungen manuell angepasst werden müssen, verwenden Sie bitte die Software von der entsprechenden Treiber-CD und greifen direkt auf den Roboter zu, wie im Kapitel „Wartung – Software“ beschrieben. Die Netzwerkeinstellungen des „Auslieferungskonfiguration“ hinterlegt. Robotersystems sind im Dokument Stellen Sie sicher, dass sich Roboter und Leitrechner im selben Subnetz befinden. Wenden Sie sich gegebenenfalls an den zuständigen Netzwerk-Administrator. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 8 von 19 4 Erste Schritte 4.1 Verbindungsaufbau Nach dem Start der MAS3D-Oberfläche muss zuerst eine Verbindung zu den vorhandenen Robotersystemen aufgebaut werden. Dies kann wahlweise ein einzelner Arm, eine einzelne Plattform oder ein kompletter Roboter sein. Arm Wählen Sie im Hauptmenü den Punkt Arm → Verbindung aufbauen. Es erscheint ein Dialog, in dem Sie im oberen Teil eine bereits bekannte Verbindung auswählen und verwenden oder löschen können. Im unteren Teil gibt es die Möglichkeit, eine neue IPAdresse anzugeben. Wenn die Markierung Diesen Server merken gesetzt wurde, erscheint nach einem Klick auf Verbinden ein weiterer Dialog, in dem der Name angegeben werden kann, unter dem die neue Verbindung in Zukunft verfügbar sein soll. Wenn eine Verbindung aufgebaut werden konnte, ändert sich die Farbe der Anzeige in der rechten oberen Ecke der Bedienoberfläche zu grün. Abb. 2: Anzeige des Verbindungsstatus Falls keine Verbindung aufgebaut werden kann, färbt sich die Anzeige rot. Der Verbindungsversuch kann über den Menüpunkt Arm → Verbindung trennen beendet werden. Plattform Die Verbindung zu einer mobilen Plattform erfolgt analog über den Menüpunkt Plattform → Verbindung aufbauen. Während versucht wird, die Verbindung herzustellen, erscheint ein kleines Nachrichtenfenster, das die Möglichkeit bietet, den Verbindungsversuch abzubrechen. Klicken Sie dazu einfach auf Abbrechen. Interpreter Der Python-Interpreter ist ein Hilfsprogramm zum Erstellen komplexer Abläufe. Er wird ebenso in die Bedienoberfläche eingebunden wie die Hardware-Komponenten. Wählen Sie den Menüpunkt Interpreter → Verbindung aufbauen und geben Sie dann die zugehörige IP-Adresse an oder wählen Sie sie aus der Liste der bekannten Verbindungen aus. Eine bestehende Verbindung wird in der rechten oberen Ecke der GUI durch eine grüne LED symbolisiert. Roboter Wenn dem System bereits Roboter bekannt sind, kann eine entsprechende Verbindung aufgebaut werden, indem einfach über die Auswahl unter dem Menüpunkt Roboter → Verbindung aufbauen > das gewünschte Ziel ausgewählt wird. Um einen neuen Eintrag anzulegen, kann über den Menüpunkt Roboter → Verbindungen bearbeiten ein entsprechendes Fenster geöffnet werden. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 9 von 19 Abb. 3: Der „Verbindungsmanager“ Neue Roboter können durch einen Klick auf Neuen Roboter hinzufügen angelegt werden. Nachdem ein Eintrag aus der Liste der bekannten Roboter markiert wurde, können die zugehörigen Einstellungen nach einem Klick auf Angaben ändern geändert werden. Neben dem Namen des Roboters und seiner IP-Adresse kann dann auch angegeben werden, welche Komponenten der Roboter besitzt. Mit einem Klick auf Änderungen speichern werden die Änderungen übernommen. Sowohl bei einem Klick auf Mit diesem Roboter verbinden als auch bei der weiter oben beschriebenen Direktanwahl versucht die GUI dann, nacheinander zu allen verfügbaren Komponenten Verbindungen aufzubauen. Eine bestehende Verbindung kann über den Menüpunkt Roboter → Verbindung trennen wieder abgebaut werden. 4.2 Arbeiten mit der mobilen Plattform Falls eine mobile Plattform von Neobotix Teil des Systems ist, kann sie über die MAS3DOberfläche kommandiert und innerhalb ihrer Umgebungskarte auf vordefinierte Zielstationen gefahren werden. Außerdem lassen sich die Plattform, die kartierten Landmarken und die Roadmap in der 3D-Ansicht darstellen und simulieren. Die Kartierung der Umgebung und das Erstellen von Roadmaps muss im Rahmen der Einrichtarbeiten über die PlatformCtrlGUI erfolgen, die Teil des Lieferumfangs der mobilen Plattform ist. MAS3D stellt dazu keine Funktionen bereit, sondern greift nur auf die jeweils aktive Karte und Roadmap der Plattform zu. Sobald eine Umgebungskarte und eine Roadmap auf der Plattform hinterlegt wurden, die Plattform korrekt lokalisiert ist und mit der MAS3D-GUI Verbindung aufgenommen hat, kann sie in der 3D-Ansicht simuliert und real auf die Zielstationen gefahren werden. Die Anzeige einstellen Um mit der Plattform arbeiten zu können, muss zuerst die Ansicht in der MAS3DOberfläche entsprechend eingestellt werden. Wählen Sie im Hauptmenü den Punkt Ansicht → Plattform-Programmierung um eine 3D-Darstellung der Einsatzumgebung anzeigen zu lassen. Nun kann aus der Liste, die unter dem Menüpunkt Simulation → Kinematik laden > erscheint, das passende Modell geladen werden. Beim ersten Laden und bei der Verwendung von sehr detaillierten Modellen kann dieser Vorgang etwas länger dauern. Falls kein passendes Modell verfügbar ist, wird es gerne von Neobotix bereitgestellt. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 10 von 19 Sobald nun eine Verbindung zur Plattform aufgebaut wird, wie im vorigen Kapitel beschrieben, werden auch die kartierten Landmarken und die Roadmap in die Bedienoberfläche geladen und entsprechend angezeigt. Die 3D-Ansicht kann verschoben werden, wenn in dem Popup-Menü, das nach einem Rechtsklick in das 3D-Fenster erscheint, die Funktion Orbit View aktiviert wird. Durch Ziehen mit gedrückter linker Maustaste wird die Ansicht geschwenkt, mit der rechten Maustaste wird sie verschoben. Mit dem Scrollrad kann hinein und hinaus gezoomt werden. Abb. 4: 3D-Ansicht der Plattformumgebung inklusive Plattform, Landmarken und Roadmap Zielstationen anfahren Das Fenster Bewegung Plattform, das normalerweise links neben der 3D-Ansicht erscheint, besitzt eine Combobox, mit der die nächste Zielstation angewählt werden kann, sowie zwei Schaltflächen zum Starten und Stoppen der Automatikfahrt. Als Zielstationen sind nur die Stationen verfügbar, die zuvor mit Hilfe der PlatformCtrlGUI definiert und in der auf der Plattform abgelegten Roadmap hinterlegt wurden. Nach einem Klick auf Punkt anfahren wird die Plattform in den Automatik-Modus geschaltet und fährt die aktuell ausgewählte Zielstation an. Das Verhalten der mobilen Plattform wird durch deren Konfiguration bestimmt und kann in der MAS3D-Oberfläche nicht beeinflusst werden. Bitte verwenden Sie die PlatformCtrlGUI, um Parameter anzupassen. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 11 von 19 4.3 Arbeiten mit dem Manipulator Wenn ein unterstützter Manipulator vorhanden ist, kann er über die MAS3D-GUI in der 3D-Ansicht dargestellt und im Handbetrieb verfahren werden. Einzelne Punkte lassen sich abspeichern und in den verschiedenen Bewegungsmodi anfahren. Sobald der Arm aufgestellt, angeschlossen und korrekt konfiguriert wurde, kann die Bedienoberfläche mit ihm verbunden werden. Die Anzeige einstellen Wählen Sie im Hauptmenü den Punkt Ansicht → Arm-Simulation, um die entsprechende 3D-Ansicht zu aktivieren. Danach können Sie aus der, unter dem Menüpunkt Simulation → Kinematik laden > erscheinenden Liste das passende Modell auswählen. Nachdem die Verbindung zum Arm aufgebaut wurde, wird die Stellung des Modells an die reale Position angepasst. Abb. 5: 3D-Ansicht eines KUKA KR 16 KS Die in der GUI geladene Kinematik hat keinen Einfluss auf die Berechnungen, die in ArmCtrl ablaufen, der Arm kann also auch ohne 3D-Modell bedient werden. Wenn ein falsches 3D-Modell geladen wurde, werden dessen Gelenkwinkel an die des realen Arms angepasst, so dass sich das Modell zwar bewegt, aber keine sinnvolles Ergebnis darstellt. Einzelachsbewegungen Das Fenster Teach dient zum manuellen Verfahren des Roboterarmes. Um einzelne Achsen zu bewegen wird der Modus single axis in der Auswahlbox markiert und die gewünschte Geschwindigkeit prozentual über den Schieberegler direkt darunter eingestellt. Beginnen Sie immer mit sehr niedrigen Geschwindigkeiten, insbesondere, wenn sich Achsen schon kurz vor den Endlagen befinden oder Hindernisse in der Nähe sind. Die Funktion Langsam reduziert die Geschwindigkeit zusätzlich um den Faktor Zehn, so dass extrem langsame und exakte Bewegungen möglich sind. Über die zwanzig Schaltflächen können alle Achsen des Roboterarmes sowie eventuelle Zusatzachsen mit der gewählten Geschwindigkeit jeweils in positiver und negativer MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 12 von 19 Richtung bewegt werden. Abb. 6: Teach-Fenster Alternativ gibt es die Möglichkeit, die Achsen per Tastatur zu verfahren. Dazu muss die unterste Schaltfläche im Teach-Fenster aktiviert werden. Die erste Achse kann dann über die beiden Tasten bedient werden, die sich auf der Tastatur unterhalb der Taste „1“ befinden. Bei deutschen Tastaturen sind dies „Q“ und „A“. Die übrigen Achsen werden entsprechend über die weiter recht gelegenen Tasten bewegt. Ein Mausklick außerhalb des Teach-Fensters deaktiviert die Funktion. Kartesische Bewegungen Wird im Teach-Fenster die Bewegungsart cartesian global oder cartesian local aktiviert, lässt sich der TCP entlang der Achsen der Koordinatensysteme fahren und drehen. Cartesian global verwendet dazu das globale Koordinatensystem, das im Allgemeinen mit dem der Umgebung übereinstimmt. Drehungen werden um Hilfsachsen ausgeführt, die durch den TCP führen, jedoch parallel zu den globalen Achsen sind. Cartesian local verwendet dagegen das Koordinatensystem des Werkzeugs, was besonders dann hilfreich ist, wenn Teile und Werkzeug direkt interagieren sollen sollen. Gedreht wird in diesem Fall direkt um die TCP-Achsen. Achten Sie vor dem Ausführen der Bewegung immer darauf, welches Koordinatensystem aktiviert wurde, um Kollisionen zu vermeiden. Zielpunkte speichern Wenn eine wichtige Position getroffen wurde, kann sie in einer sogenannten Punktliste abgelegt und später dort wieder ausgelesen und angefahren werden. Es werden zu jeder Position ihr Name, alle Achswinkel (in Radiant) und die 6D-Koordinaten des TCP im globalen Koordinatensystem (in Metern bzw. Radiant) gespeichert. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 13 von 19 Abb. 7: Punktliste mit Anzeige aller Parameter Die Funktionen der Schaltflächen am linken Rand des Fensters sind wie folgt: Einfügen: Die aktuelle Position wird als neuer Punkt unterhalb der aktuell ausgewählten Zeile eingefügt. Kopieren: Eine Kopie des aktuell markierten Punktes wird unterhalb der aktuellen Zeile eingefügt. Der neue Punkt erhält den gleichen Namen wie das Original, jedoch mit einem angehängten Sternchen. Ersetzen: Die Positionswerte des aktuellen Punktes werden mit den momentan anliegenden Werten überschrieben, der Name aber beibehalten. Pfeil hoch / runter: Die ausgewählte Zeile wird in der Liste um eine Position hoch oder runter verschoben. Löschen: Die markierte Position wird komplett gelöscht. Leeren: Die gesamt Punktliste wird geleert. Oberhalb der Liste können die klassischen Funktionen zum Laden, Speichern und Speichern unter einem neuen Namen genutzt werden. Punktlisten werden immer auf dem Steuerungsrechner des Armes gespeichert und nicht auf dem Computer, auf dem die Bedienoberfläche läuft. In der Combobox rechts davon kann ausgewählt werden, wie viele Informationen gleichzeitig dargestellt werden sollen. Um den Namen oder einzelne Werte einer Position zu ändern, doppelklicken Sie einfach auf den entsprechenden Eintrag. Wenn statt eines Wertes ein Sternchen eingetragen wird, wird dieser Parameter nicht verwendet, sobald der Punkt aus der Liste ausgelesen wird. Statt dessen wird der beim Auslesen jeweils aktuell anliegende Wert beibehalten. Dadurch können zum Beispiel Zusatzachsen, die nur selten verfahren werden, auf einer fixen Position gehalten werden. Unbeabsichtigte Änderungen, etwa beim späteren Einlernen von Zwischenpositionen, können so vermieden werden. Der Doppelpfeil vor dem Index einer Zeile zeigt an, dass sich der TCP gerade an oder sehr dicht bei diesem Punkt befindet. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 14 von 19 Punkt-zu-Punkt-Bewegungen Sobald mindestens ein Zielpunkt in der Punktliste gespeichert wurde, können automatische Fahrten zu diesem Punkt durchgeführt werden. Wählen Sie den gewünschten Zielpunkt aus und stellen Sie im Fenster Motion als Bewegungsart point to point ein. In dem Eingabefeld darunter können Sie die gewünschte Geschwindigkeit als prozentualen Anteil der Maximalgeschwindigkeit angeben. Beginnen Sie Tests immer nur langsam und steigern Sie die Geschwindigkeit vorsichtig, nachdem sichergestellt ist, dass es nicht zu Kollisionen kommen wird. Die wichtigsten Funktionen des Fensters Motion sind die folgenden: Punkt anfahren: Bewegt den Arm mit der ausgewählten Bewegungsart und der eingestellten Geschwindigkeit zur Zielstation. Nullstellung: Fährt den Arm in die Ausgangslage. Beachten Sie, dass diese Stellung je nach Umgebung teilweise nicht angefahren werden kann! Anhalten: Beendet die laufende Bewegung sofort. Abb. 8: Motion-Fenster Zeit: Zeigt die aktuelle Laufzeit der Bewegung an und springt beim Erreichen der Zielposition auf Null zurück. Override: Mit diesem Schieberegler kann die eingestellte Geschwindigkeit dynamisch reduziert werden. Bei PTP-Bewegungen bewegen sich alle Achsen synchron auf ihre jeweilige Zielstellung, beginnen und beenden die Bewegung also gleichzeitig und folgen dem gleichen Geschwindigkeitsprofil. Sie sind jedoch nicht koordiniert, das heißt die resultierende Bahn des TCP und des gesamten Armes ist nicht vorgegeben und im allgemeinen auch nicht vorhersehbar. Lineare Bewegungen Bei linearen Bewegungen wird die Zielposition wenn möglich auf einer geraden Bahn angefahren und dabei die Winkeländerung gleichmäßig interpoliert. Bitte bedenken Sie, dass der Verlauf der Bahn vor der Ausführung nicht automatisch geprüft wird. Dies kann vor allem aber nicht ausschließlich in zwei Fällen zu Problemen und eventuell sogar zu Kollisionen führen: Wenn aus vielen, weit im Arbeitsraum verteilten Punkten automatisch der nächste Zielpunkt ausgewählt wird. Auch wenn jeder Punkt für sich alleine sicher und ohne Kollision eingenommen werden kann, ist noch nicht sichergestellt, dass jede mögliche Verbindung zwischen allen eingelernten Punkten auch tatsächlich gefahren werden kann. Auch wenn Positionen dynamisch berechnet werden, zum Beispiel in Abhängigkeit von einem Füllstand, kann die Steuerung nicht überprüfen, ob die sich daraus ergebende Bahn problematisch sein wird. Achten Sie deshalb sehr darauf, dass die resultierenden Bahnen nicht durch Hindernisse oder gar den Roboter selbst führen. Unter Umständen kann es notwendig sein, MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 15 von 19 Zielpunkte aus bestimmten Ausgangslagen heraus nur unter Verwendung von Zwischenpositionen anzufahren. In vielen Fällen hilft es schon, von linearen Bewegungen zurück in den Punkt-zu-PunktModus zu schalten. Vor allem bei Bewegungen die keine Bearbeitung oder Interaktion, und damit auch keine vorgegebene Ausrichtung des Werkzeugs erfordern, ist dieses Vorgehen sehr praktisch. Die Wahl der abzufahrenden Bahnen und die Verantwortung für den sicheren und kollisionsfreien Betrieb liegen alleine beim Programmierer der Anwendung. Pfade abfahren Sobald mehrere Punkte in der Punktliste gespeichert wurden, können Sie auch zu Pfaden kombiniert werden. Markieren Sie dazu sowohl den Start- als auch den Endpunkt des Pfades in der Liste und wählen Sie einen Bewegungsmodus aus. Nach einem Klick auf die Schaltfläche Pfad abfahren werden ab der Startposition alle Punkte bis zum Erreichen der Endposition nacheinander durchfahren. Die Funktion Pfad rückwärts fährt die Bahn in umgekehrter Reihenfolge ab. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 16 von 19 5 Eigene Programme schreiben Um komplexere Abläufe effizient zu realisieren ist es im Allgemeinen notwendig, ein übergeordnetes Ablaufprogramm zu erstellen, das zu allen beteiligten Komponenten und Modulen Verbindung hält und deren Aktionen koordiniert. Unter Umständen fungiert dieses Programm außerdem noch als übersichtliche Schnittstelle zwischen dem lokalen Prozessablauf und einer anderen, noch größeren Ablaufsteuerung, etwa der Fertigungsplanung. Eine ausführliche Schulung in die Programmierung mit Python und die Verwendung des Neobotix-Befehlssatzes hilft Ihnen, sich schnell in das System einzuarbeiten und saubere, gut verwendbare und vor allem wartungsfreundliche Programme zu erstellen. Sofern Sie nicht bereits über fundierte Kenntnisse im Programmieren verfügen oder die Möglichkeit haben sich selbst ausführlich mit der Programmierung vertraut zu machen, ist eine solche Schulung sehr zu empfehlen. 5.1 Der Python-Interpreter Neobotix stellt ein unabhängiges Programm bereit, mit dessen Hilfe sehr viele Ablaufprogramme ohne großen Aufwand umgesetzt werden können. Dieses Programm kann Quellcode entgegennehmen, der in der einfach zu erlernenden Programmiersprache Python erstellt wurde, übersetzt ihn in das Neobotix-Protokoll und schickt die entsprechenden Befehle an die einzelnen Module. Mobile Arm Simulation 3D bietet die Möglichkeit, direkt in der Bedienoberfläche PythonSkripte aus vorbereiteten Blöcken zu erstellen und die Ausführung in Echtzeit zu beobachten, so dass die Anwendung schnell und einfach optimiert werden kann. Abb. 9: Das Programmier-Fenster Die Schaltflächen im oberen Teil des Fensters bieten klassische Dateifunktionen aber auch Kontrolle über die Ausführung des Programms: Load: Lädt ein gespeichertes Programm von der Festplatte des Computers, auf dem der Interpreter läuft. Save: Speichert das aktuelle Programm. SaveAs: Speichert das aktuelle Programm unter einem neuen Namen auf der Festplatte des Computers, auf dem der Interpreter läuft, und setzt die Bearbeitung in dieser neuen Datei fort. Start: Startet das aktuelle Programm. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 17 von 19 Stop: Beendet das laufende Programm. Break: Unterbricht das laufende Programm. Klicken Sie zum Fortsetzen noch einmal auf Start. Step: Führt nur den jeweils nächsten Befehl des Programms aus. Über die vier Karteireiter können bis zu vier parallele Teilprogramme, sogenannte Tasks, erstellt werden. Die vier Schaltflächen direkt über dem Programmierfenster bieten Funktionen für die eigentliche Programmierung: Indent: Der markierte Bereich wird eingerückt. Python verwendet Einrückungen anstelle von Schlüsselwörtern oder Klammern, um zusammengehörige Blöcke zu kennzeichnen. Unindent: Mit dieser Funktion lässt sich eine Einrückung entfernen. Undo: Die letzte Änderung wird rückgängig gemacht. Redo: Die zuvor rückgängig gemachte Aktion wird wiederhergestellt. Um ein Programm zu schreiben, können Sie entweder Quellcode direkt eingeben oder auf vorbereitete Bausteine mit den wichtigsten Funktionen zurückgreifen. Nach einem Rechtsklick in das Programmierfenster erscheint dazu ein Popup-Menü, in dem der gewünschte Befehl oder die benötigte Funktion ausgewählt werden können. Die meisten Funktionen sind selbsterklärend. Sollten Sie trotzdem nähere Informationen benötigen, finden Sie diese im „Python Client – Programmiererhandbuch“. 5.2 Der externe Client In gewissen Fällen, etwa in der Forschung oder bei der Realisierung besonders komplexer und anspruchsvoller Prozesse, kann es sinnvoll sein, die Ablaufsteuerung in einer anderen Programmiersprache zu implementieren, die für die jeweilige Anwendung besser geeignet ist. Die dazu nötigen Informationen und Beschreibungen der Protokolle finden Sie im „PlatformCtrl – Programmiererhandbuch“ und im „ArmCtr – Programmiererhandbuch“. Sollten Sie zusätzliche Unterstützung benötigen, wenden Sie sich einfach an Neobotix. MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 18 von 19 6 Rechtliche Anmerkungen Versionsinformation Das vorliegende Dokument ist das Original. Haftung Dieses Dokument wurde mit größtmöglicher Sorgfalt verfasst und repräsentiert den Stand der Technik zum Zeitpunkt seiner Erstellung. Fehler und Irrtümer sind jedoch nicht auszuschließen. Bitte informieren Sie Neobotix, sollten Sie solche im Dokument bemerken. Die Neobotix GmbH ist nicht haftbar für technische oder schriftliche Fehler in diesem Dokument und behält sich das Recht vor, Änderungen seines Inhalts vorzunehmen, ohne diese vorher anzukündigen. Neobotix übernimmt keinerlei Garantie für die in diesem Dokument beschriebenen Produkteigenschaften. Insbesondere ergibt sich aus dem Inhalt kein Anspruch jedweder Art, weder auf Eigenschaften des Produkts noch auf seine Eignung für spezielle Anwendungsfälle. Die Neobotix GmbH kann nicht für Schäden haftbar gemacht werden, die aus der unsachgemäßen Nutzung eines oder mehrerer der beschriebenen Produkte resultieren. CE-Konformitätserklärung Hiermit bestätigt Neobotix, dass das beschriebene Produkt die relevanten EU-Richtlinien erfüllt. Falls weitergehende Informationen erforderlich sind, wenden Sie sich bitte direkt an Neobotix. Downloads und weitergehende Informationen Weitergehende Informationen, Datenblätter und Dokumentationen, auch von weiteren Neobotix-Produkten, finden Sie im Internet unter www.neobotix-roboter.de. Impressum Neobotix GmbH Weipertstraße 8 – 10, 74076 Heilbronn www.neobotix-roboter.de Kontakt: Dipl.-Ing. Till May Tel.: (+49) 7131 / 76 69-300 E-Mail: [email protected] MAS3D-Bedienungsanleitung.odm, erstellt am 19. Januar 2012 in Heilbronn MAS3D-Bedienungsanleitung Neobotix GmbH – alle Rechte vorbehalten 19 von 19