Mikroautomatischer sechsachsiger Roboter
Wie viel Platz benötigen Sie für einen sechsachsigen Micro-Automation-Roboter?
Wenn Sie beabsichtigen, einen sechsachsigen Mikroautomatisierungs-Roboterarm zu verwenden, wie den Meca500 von Mecademic, der in diesem Tutorial als Beispiel verwendet wird, sind Sie höchstwahrscheinlich daran interessiert, das Werkzeug des Roboters (Endeffektor) zu positionieren und auszurichten ) in verschiedene Speicherorte. Daher möchten Sie sicherlich wissen, welche Positionen Sie mit einem bestimmten Endeffektor erreichen können, der an einem bestimmten sechsachsigen Roboterarm montiert ist. Sie werden wahrscheinlich nach einer Art Diagramm fragen, das den „Arbeitsbereich“, das „Arbeitsvolumen“, den „Arbeitsbereich“ oder den „Arbeitsbereich“ des Roboters zeigt. Und leider wird Ihnen oft ein vereinfachtes Diagramm wie das hier gezeigte oder, noch schlimmer, mit der sogenannten Reichweite präsentiert des Roboters.
In der Robotik ist der richtige Begriff für das, wonach Sie suchen, Arbeitsbereich . Die Reichweite ist nichts anderes als der maximale Abstand zwischen der Handgelenkmitte des Roboters (der Schnittpunkt der Achsen der letzten drei Gelenke des Roboters) und der Achse von Gelenk 1. Der graue Bereich in der obigen Abbildung ist der Bereich, der vom Handgelenkmittelpunkt bei einer bestimmten Drehung von Gelenk 1 erreichbar ist. Dieser Bereich, oder sogar das Volumen, das durch Drehen dieses Bereichs um die Achse von Gelenk 1 überstrichen wird, ist nicht der Arbeitsbereich des Roboters. Es gibt absolut keine Garantie, dass Sie eine Position in diesem Volumen mit dem Tooltip eines bestimmten Endeffektors erreichen können, geschweige denn diese Position mit irgendeiner Ausrichtung erreichen. Wenn Sie einen relativ langen Endeffektor montieren, können Sie mit der Spitze Ihres Werkzeugs keine Position aus diesem Volumen erreichen.
Der Arbeitsbereich eines Mikroautomatisierungs-Sechsachsroboters ist das Set aller Posen (Positionen und Ausrichtungen), die von einem bestimmten Endeffektor, der an diesem Roboter montiert ist, erreichbar sind. Daher kann Ihnen (1) niemand sagen, was der Arbeitsbereich eines bestimmten sechsachsigen Roboterarms ist, es sei denn, Sie geben an, was der Endeffektor ist, den Sie verwenden möchten, und (2) dieser Arbeitsbereich ist eine sechsdimensionale Einheit das ist im Allgemeinen nicht grafisch darstellbar.
Natürlich gibt es im Bereich der Robotik ein paar Ausnahmen, wenn es um die grafische Darstellung geht. Der Arbeitsbereich eines sechsachsigen kartesischen Roboters wie dem unten gezeigten ist trivial zu beschreiben, aber nur für eine bestimmte Auswahl an QuickInfos. Stimmt nämlich der Tooltip des Roboter-Endeffektors mit dem Schnittpunkt der Achsen der drei Drehgelenke überein, so kann dieser Mikroautomatisierungs-Sechsachser seinen Tooltip innerhalb des gelben Quaders mit absolut beliebiger Werkzeugorientierung beliebig positionieren.
Leider ist die überwiegende Mehrheit der sechsachsigen Industrieroboter aus verschiedenen praktischen Gründen nicht kartesisch. Beispielsweise hat der obige kartesische Roboter einen sehr kleinen Arbeitsbereich in Bezug auf die Positionierung. Der typische sechsachsige Roboterarm, oft bizarrerweise als vertikal gelenkiger Roboter bezeichnet , besteht aus sieben Gliedern (Körpern), die durch sechs angetriebene Drehgelenke in Reihe geschaltet sind. Der erste dieser Körper ist die Basis des Roboters und der letzte ist der Flansch des Roboters (auch mechanische Schnittstelle genannt ). Außerdem ist die Achse des ersten Gelenks vertikal, die Achsen der Gelenke 2 und 3 sind horizontal, die Achse des Gelenks 4 ist senkrecht zur Achse des Gelenks 3, und die Achsen der letzten drei Gelenke schneiden sich typischerweise in einem Punkt.
Während Industrieroboterarme im Allgemeinen ohne Werkzeug verkauft werden, wird schließlich ein Endeffektor (z. B. ein Greifer oder ein Messtaster) am Flansch des Roboters befestigt. Der Benutzer muss dann einen Tool-Referenzrahmen zuordnen , befestigt an diesem Endeffektor. Dieser Werkzeug-Referenzrahmen wird in Bezug auf den Flansch-Referenzrahmen definiert . Der Ursprung des Tool-Referenzrahmens wird als TCP bezeichnet (Werkzeugmittelpunkt ). Letztendlich müssen Sie also an den Posen in Bezug auf das Basisbezugssystem des Roboters interessiert sein , wo der Roboter einen bestimmten Werkzeugreferenzrahmen bringen kann. Somit ist der Arbeitsbereich eines Roboters die Reihe von Posen, die durch den Werkzeugreferenzrahmen des Roboters erreichbar sind.
In einem typischen Mikroautomatisierungs-Roboterarm mit sechs Achsen, wie unserem Meca500, unabhängig vom Endeffektor, für jede mögliche Position des TCP ist der Bereich der erreichbaren Werkzeugorientierungen aufgrund mechanischer Interferenzen, Verbindungsgrenzen und Verbindungslängenbeschränkungen völlig anders. Zusätzlich zu dieser hohen Kopplung zwischen den Positionierungs- und Orientierungsfähigkeiten typischer sechsachsiger Roboterarme weisen diese Roboter sogenannte Singularitäten auf . In einer Singularität kann sich der Roboter nicht in bestimmte Richtungen bewegen. Dies ist eine physische Blockade, kein mathematisches Problem, und absolut alle sechsachsigen Mikroautomatisierungs-Roboterarme (einschließlich des oben gezeigten kartesischen Arms) haben Singularitäten. Wenn beispielsweise alle Gelenke im Meca500 auf null Grad stehen, wie in der linken Abbildung unten, kann sich der Endeffektor des Roboters nicht entlang einer Linie parallel zur Basis y bewegen -Achse (die grüne). Um sich entlang dieser Linie zu bewegen, müssten sich die Gelenke 4 und 6 zuerst um ±90° drehen (in entgegengesetzte Richtungen).
Singularitäten sind ein sehr wichtiges Phänomen (oder eher Ärgernis) in der Robotik und werden in einem separaten Tutorial behandelt. Hier genügt es zu sagen, dass selbst wenn sich ein Pfad innerhalb des Arbeitsbereichs eines Roboters befindet, wie im obigen Beispiel, der Werkzeugreferenzrahmen des Roboters ihm möglicherweise nicht kontinuierlich folgen kann (d. h. ohne Pausen in der Bewegung des TCP). , aufgrund von Singularitäten.
Somit schränken Robotersingularitäten die nutzbaren Teile des Arbeitsbereichs eines Roboters weiter ein. Tatsächlich ist der Arbeitsbereich eines typischen sechsachsigen Mikroautomatisierungsroboterarms die Kombination mehrerer singularitätsfreier Arbeitsbereichsteilmengen, die durch Singularitäten getrennt sind. Der Roboter kann sich im Gelenkmodus überall innerhalb des gesamten Arbeitsbereichs bewegen, im kartesischen Modus jedoch nur in einer der singularitätsfreien Arbeitsbereichsuntergruppen (d. h. wenn sein TCP kontinuierlich einem bestimmten Pfad folgt).
Jede dieser singularitätsfreien Arbeitsraumuntergruppen entspricht einer bestimmten Roboterkonfiguration. Dieses Thema wird im kommenden Tutorial zu Roboter-Singularitäten behandelt. Beachten Sie vorerst, dass, wenn eine bestimmte Pose mit der aktuellen Roboterkonfiguration nicht zugänglich zu sein scheint, sie möglicherweise mit einer anderen Konfiguration zugänglich ist. Beispielsweise kann die Position des Werkzeugbezugssystems in der folgenden Abbildung nur in einer der acht Roboterkonfigurationen erreicht werden. Ein häufiger Fehler besteht jedoch darin, nur eine der singularitätsfreien Teilmengen des Arbeitsbereichs anstelle des gesamten Arbeitsbereichs zu berücksichtigen (d. h. nur in einem der acht Konfigurationsmodi zu arbeiten). Beachten Sie Folgendes, wenn Sie eine Pose mit x angeben , y , z Koordinaten und Euler-Winkel und verwenden Sie dann den Befehl MovePose, der Roboter findet automatisch die beste Konfiguration. Leider bringen Benutzer Roboterpositionen jedoch normalerweise durch Joggen bei, anstatt eine Pose anzugeben.
Häufig hat ein Benutzer bereits eine Reihe von Endeffektorstellungen, die er für seine gegebene Anwendung einnehmen muss. Beispielsweise muss ein Werkstück von einem Förderband genommen, dann in verschiedenen Ausrichtungen vor einer Kamera präsentiert und schließlich auf einem anderen Förderband abgelegt werden. Die optimale Platzierung für die Kamera, die optimale Montage des Greifers und das optimale Design für die Finger zu finden, ist alles andere als trivial. Leider gibt es derzeit kein kommerziell verfügbares automatisches Verfahren, um das optimale Zelldesign zu finden – die einzige Methode ist Trial and Error.
Glücklicherweise benötigen Sie dafür nicht das richtige Setup; Sie können Simulationssoftware wie RoboDK verwenden. Das heißt, Sie brauchen immer noch einige Robotik-Fähigkeiten, oder Sie verbringen viel Mühe mit Trial-and-Error. Daher geben wir Ihnen im Folgenden zehn Richtlinien, um den Arbeitsbereich Ihres Roboters optimal zu nutzen. Obwohl wir unseren Meca500 als Beispiel verwenden, gelten diese Richtlinien für jeden typischen sechsachsigen Mikroautomatisierungs-Roboterarm.
Richtlinie 1: Platzieren Sie Ihren TCP so nah wie möglich am Flansch des Roboters.
In der Inspektion ist es üblich, ein Teil mit einer Vielzahl von Ausrichtungen vor einer Kamera zu präsentieren. Bei einer solchen Anwendung lautet die erste Faustregel, das Werkzeugbezugssystem so nah wie möglich am Flanschbezugssystem zu platzieren. Mit anderen Worten, Sie müssen ein Greifsystem entwickeln, das es Ihnen ermöglicht, das zu inspizierende Teil so nah wie möglich am Flansch des Roboters zu greifen.
Beachten Sie, dass wir unseren optionalen elektrischen Greifer mit einer Adapterplatte liefern, die Sie anbringen können den Greifer wie oben gezeigt. Für einige Anwendungen kann es jedoch besser sein, eine eigene Adapterplatte zu konstruieren, um den Greifer entweder so zu befestigen, dass die Finger und die Achse des Gelenks 6 in einer Ebene liegen, oder den Greifer entlang der Achse des Gelenks 6 zu befestigen ( wie in diesem Video). Eine andere Alternative könnte die Verwendung von L-förmigen Fingern sein.
Richtlinie 2: Bewegen Sie sich nicht im kartesischen Modus, es sei denn, Sie folgen einem Pfad
Bei der Inspektion müssen Sie ein Teil oft in verschiedene Richtungen drehen. In diesen Fällen ist es natürlich viel einfacher, den Befehl MoveLinRelTRF zu verwenden oder den Roboter im kartesischen Modus zu verfahren. Beide Ansätze versagen jedoch, wenn entlang der Drehung eine Singularität vorhanden ist, wie in dem in der folgenden Abbildung veranschaulichten Beispiel. In diesem Beispiel können Sie den Endeffektor nicht um sein y drehen -Achse (die grüne) bei 90° wegen einer Singularität (die Achsen der Gelenke 4 und 6 werden ausgerichtet).
Daher müssen Sie lernen, wie man Euler-Winkel verwendet, und stattdessen den MovePose-Befehl verwenden. Alternativ können Sie RoboDK verwenden. Da RoboDK ein Simulator ist, können Sie Singularitäten im kartesischen Jogging-Modus passieren. Verwenden Sie unabhängig von Singularitäten immer die Befehle MovePose oder MoveJoints, es sei denn, Sie möchten, dass Ihr TCP einem bestimmten Pfad folgt. Die Verwendung dieser Befehle führt in der Regel zu schnellsten Zykluszeiten.
Richtlinie 3: Wenn die Verkabelung Gelenk 6 zu sehr einschränkt, richten Sie die Achsen der Gelenke 1, 4 und 6 aus
Obwohl Gelenk 6 mechanisch unbegrenzt ist, wenn Sie einen Endeffektor verwenden, an dem Kabel befestigt sind, wie unser Greifer, ist der Bereich von Gelenk 6 auf etwa ±180° oder sogar weniger begrenzt. Wenn Sie mehr Reichweite benötigen, können Sie die Achsen der Gelenke 4 und 6 oder sogar der Gelenke 1, 4 und 6 ausrichten. Natürlich ist eine solche Konfiguration singulär, daher müssen Sie den MoveJoints-Befehl verwenden, um sich um diese zu drehen zusammenfallende Achsen
Richtlinie 4: Wenn Sie einen Endeffektor mit Verkabelung verwenden, halten Sie Gelenk 6 so nah wie möglich an null Grad.
Versuchen Sie nach Möglichkeit, Gelenk 6 in einer gewünschten Pose so nah wie möglich an null Grad zu halten. Wenn Sie beispielsweise ein Werkstück in einer Roboterposition greifen, in der sich Gelenk 6 bei 170 ° befindet, und dann einen MovePose-Befehl ausführen, wird sich Gelenk 6 höchstwahrscheinlich stark drehen. Wenn beispielsweise das Gelenk 6 in der neuen gewünschten Pose bei 190° stehen könnte, dreht der Roboter sein letztes Gelenk automatisch um 340° in die negative Richtung (statt 20° in die positive Richtung).
Richtlinie 5: Wenn Sie sich häufig orientieren müssen, positionieren Sie Ihren TCP auf der Achse von Gelenk 1.
Wenn Sie einen großen Bereich von Ausrichtungen abdecken müssen, müssen Sie Ihren TCP auf der Achse von Gelenk 1 positionieren. Eine solche Konfiguration wird dies ermöglichen Sie können sich um ±175 ° um die Achse von Gelenk 1 und um ±180 ° um die Achse von Gelenk 6 drehen. Je weiter die Mitte des Roboterhandgelenks von Gelenk 1 entfernt ist, desto geringer ist die Orientierungsfähigkeit des Roboters.
Richtlinie 6: Probieren Sie alle Roboterkonfigurationen aus.
Manchmal befindet sich der Roboter in einer oder mehreren der Endeffektor-Posen, die erreicht werden sollen, zu nahe an einer Singularität. In einer Inspektionsanwendung ist dies möglicherweise kein Problem, aber wenn Sie ein Objekt auswählen oder platzieren müssen, müssen Sie höchstwahrscheinlich die endgültige Pose im linearen Modus erreichen und verlassen. Testen Sie in einem solchen Fall alle möglichen Roboterkonfigurationen und wählen Sie diejenige aus, die am weitesten von Singularitäten entfernt ist. Beispielsweise ist in der Abbildung unten die linke Konfiguration zu nah an einer Singularität (Achsen 4 und 6 sind fast ausgerichtet), aber die rechte ist weit genug von einer Singularität entfernt.
Richtlinie 7: Berücksichtigen Sie mehr als nur Erreichbarkeit
Wie bereits erwähnt, ist der Arbeitsbereich eines sechsachsigen Roboterarms für die Mikroautomatisierung eine Menge mehrerer Teilmengen des Arbeitsbereichs, die durch Singularitäten getrennt sind. Hinzu kommt, dass nicht alle erreichbaren Posen gleich „gut“ sind. Tatsächlich ist der Arbeitsbereich eines sechsachsigen Roboterarms hinsichtlich Leistungskriterien wie Geschwindigkeit und Präzision sehr heterogen. Wir haben bereits erwähnt, dass Sie so weit wie möglich von Singularitäten entfernt sein müssen, wenn Sie sich im kartesischen Modus bewegen. Je gestreckter der Roboterarm ist, desto geringer ist seine Präzision (desto flexibler ist er) und desto länger dauert es, Vibrationen an der Werkzeugspitze zu unterdrücken.
Richtlinie 8: Nutzen Sie die Redundanz des Roboters, wenn Sie keine sechs Freiheitsgrade benötigen
In vielen Fällen benötigen Sie nur fünf Freiheitsgrade. Wenn Ihr Endeffektor beispielsweise ein Klebstoffspender oder eine Spindel ist, ist es Ihnen wahrscheinlich egal, ihn um die Achse der Nadel bzw. des Schafts zu orientieren. Wenn Sie außerdem ein Werkstück mit einem axialsymmetrischen Sensor wie einer Kamera prüfen, können Sie das Werkstück in vielen Fällen möglicherweise in einer beliebigen Rotation um die Achse des Sensors präsentieren. Richten Sie in diesen Fällen die Achse des Gelenks 6 nicht auf die Symmetrieachse Ihres Werkzeugs oder Sensors aus und wählen Sie für jede zu erreichende Pose aus den unendlich vielen Roboterpositionen die beste aus. Am besten bedeutet weit entfernt von Singularitäten, aber auch am nächsten an den vorangehenden und nachfolgenden Posen, die erreicht werden sollen.
Richtlinie 9: Befestigen Sie Ihren Roboter in aufrechter Position, sofern nicht unbedingt erforderlich.
Wie die meisten Industrieroboter kann der Meca500 in jeder Ausrichtung (z. B. auf dem Kopf oder an einer Wand) befestigt werden. Das einzige Problem bei einer nicht aufrechten Befestigung ist, dass Sie eine sehr solide Befestigung benötigen, was Ihre Zelle unhandlicher und teurer machen könnte. Entscheiden Sie sich daher für nicht-aufrechte Anbauteile erst, nachdem Sie versucht haben, den Roboter aufrecht zu befestigen.
Richtlinie 10: Siebenmal messen, einmal schneiden
Das englische Sprichwort lautet „Zweimal messen, einmal schneiden“, aber wenn es um das Design von Roboterzellen geht, entscheiden Sie sich für die russische Version „Siebenmal messen, einmal schneiden“. Wenn Ihre Zelle relativ komplex ist oder der Arbeitsbereich Ihres Roboters eingeschränkt erscheint, müssen Sie ein Robotersimulationspaket verwenden und viele Entwurfsiterationen durchlaufen, bis Sie eine zufriedenstellende Lösung finden. Verlassen Sie sich jedoch nicht ausschließlich auf die Simulation. Ein generisches Simulationspaket wie RoboDK simuliert nicht das exakte Verhalten eines Roboters. Beispielsweise kann eine bestimmte lineare Bewegung in RoboDK machbar sein, aber aufgrund von Singularitäten auf einem echten Roboter unmöglich. Daher müssen Sie Ihr Programm auch an einem echten Roboter ausprobieren.
Abschließend gilt:Wenn Ihre Anwendung nicht nur aus wenigen sich wiederholenden Bewegungen besteht, müssen Sie den Arbeitsbereich Ihres Roboters vollständig verstehen und viel Zeit für die Gestaltung Ihrer Roboterzelle aufwenden. Beim Roboterzellendesign geht es nicht nur darum, alle Roboterbewegungen ausführen zu können, sondern auch um die Optimierung der Zykluszeit und anderer Leistungskriterien (Präzision, Energieverbrauch).
Automatisierungssteuerung System