5 einfache Möglichkeiten, Roboterkollisionen zu vermeiden (und ein letzter Ausweg)
Wie verhindern Sie, dass Ihr Roboter mit Objekten in seinem Arbeitsbereich kollidiert? So vermeiden Sie Roboterkollisionen, ohne sich selbst das Leben schwer zu machen.
Eine kürzlich im RoboDK-Forum gestellte Frage hat ein häufiges Problem mit Robotern hervorgehoben. User Micronexx fragte, wie man Kollisionen vermeidet. Sie fragten, ob RoboDK automatisch kollisionsfreie Pfade generiert oder ob der Benutzer manuelle Anpassungen vornehmen muss.
Dies ist ein komplizierteres Problem, als es zunächst den Anschein hat. RoboDK enthält sicherlich Funktionen, die Ihnen helfen, Kollisionen zu vermeiden, einschließlich einiger automatischer Routen. Die „Kollisionsvermeidung“ in der Robotik ist jedoch ein tiefgreifendes und komplexes Thema. Ganze Forschungsprojekte widmen sich der Trajektorienplanung und Kollisionsvermeidung. Es wurden sogar fortschrittliche Algorithmen der künstlichen Intelligenz dafür entwickelt.
Die gute Nachricht ist, dass die Dinge für die meisten von uns nicht so kompliziert sein müssen. Es gibt einfachere Methoden, um zu verhindern, dass Ihr Roboter mit Objekten kollidiert.
5 einfache Möglichkeiten, Roboterkollisionen zu vermeiden
Es ist normalerweise am besten, einfach anzufangen.
Dies ist eine gute Faustregel, wenn Sie versuchen, ein Problem in Ihrer Roboterprogrammierung zu lösen. Obwohl Roboter zu erweiterten Funktionen fähig sind, sind die einfachen technischen Lösungen oft die besten.
Hier sind 5 einfache Möglichkeiten, um zu verhindern, dass Ihr Roboter mit Objekten kollidiert.
1. Planen Sie Ihren Arbeitsbereich von Anfang an richtig
Kollisionen treten am häufigsten auf, wenn der Arbeitsbereich nicht gut geplant wurde. Beginnen Sie jede Roboterintegration mit der Raumplanung, z. indem Sie es auf Papier skizzieren.
Planen Sie, in welchen Bereichen sich der Roboter bewegen wird und welche Bereiche außerhalb seiner Reichweite liegen. Versuchen Sie, die Bewegungsabläufe des Roboters mit Ihrem eigenen Arm nachzuspielen, bevor Sie beginnen, sie in den Roboter zu programmieren – dies ist eine sehr effektive Methode, um potenzielle Probleme zu reduzieren, bevor sie auftreten, und es geht sehr schnell.
2. Potenzielle Hindernisse physisch entfernen
Der beste Weg, Kollisionen zu vermeiden, besteht darin, sicherzustellen, dass der Roboter mit nichts kollidieren kann. Das bedeutet, alles aus dem Arbeitsbereich zu entfernen, was den Weg des Roboters behindern könnte.
Stellen Sie sicher, dass es einen klaren Weg zwischen den verschiedenen Bereichen des Arbeitsbereichs gibt. Wenn der Roboter Objekte von einem Ort aufnimmt und an einem anderen zusammenbaut, entfernen Sie alles aus dem Arbeitsbereich zwischen diesen beiden Orten.
Dies mag offensichtlich erscheinen, aber es ist leicht zu vergessen, dies zu tun, wenn Sie die Offline-Programmierung verwenden. Sie könnten zum Beispiel eine Säule im Arbeitsbereich des Roboters sehen und sagen:„Es ist in Ordnung. Ich vermeide es einfach im Roboterprogramm.“ Aber dann, weil Sie in einer simulierten Umgebung programmieren, in der die Säule nicht existiert, vergessen Sie sie und programmieren den Roboter so, dass er sich direkt hindurch bewegt.
3. Passen Sie die reale Welt an die Simulation an
Die reale Welt und die Simulation innerhalb von RoboDK sollten so gut wie möglich aufeinander abgestimmt sein. Sie können dies auf zwei Arten erreichen:
- Erstellen Sie ein genaues Modell des physischen Arbeitsbereichs innerhalb der Simulation – Dabei wird die genaue Position jedes Objekts vermessen und in der Software modelliert. Es kann extrem zeitaufwändig sein und je mehr Sie sich auf die Genauigkeit der Simulation verlassen, desto weniger Spielraum bleibt für Fehler.
- Objekte aus der realen Welt entfernen, die sich nicht in der Simulation befinden – Dabei wird der reale Arbeitsbereich vereinfacht, indem Objekte entfernt werden.
In der Praxis ist die beste Option eine Kombination aus diesen. Sie entfernen alle unnötigen Objekte aus dem physischen Arbeitsbereich und fügen alle notwendigen Objekte in die Simulation ein.
4. Programmierziele manuell anpassen
Bevor Sie komplexe Kollisionsvermeidungsalgorithmen verwenden, versuchen Sie, die Bewegungen des Roboters selbst zu optimieren. Für die meisten Anwendungen ist das manuelle Verschieben der Ziele innerhalb von RoboDK eine schnelle, effektive und robuste Lösung.
Wenn der Roboter beispielsweise während eines Joint Move-Befehls mit einem Objekt kollidiert, fügen Sie einfach ein paar zusätzliche Wegpunkte hinzu, um dem Objekt auszuweichen. Oder – noch besser – fragen Sie, ob das Objekt überhaupt im Arbeitsbereich sein muss.
Eine Praxis, die Kollisionen erheblich reduzieren kann, besteht darin, zu entscheiden, ob jede Bewegung eine „Fahrt“-Bewegung oder eine „Betriebs“-Bewegung ist. Führen Sie Fahrbewegungen nur im freien Raum durch, wo keine Hindernisse vorhanden sind. Halten Sie dann in einem kleinen Abstand von der Operation an (auch als „Annäherungsabstand“ bezeichnet) und bewegen Sie sich vorsichtig in die Aufgabe, bevor Sie die Operation ausführen.
5. Verwenden Sie die neue Funktion des Bearbeitungsassistenten
Die Roboterbearbeitung ist eine Aufgabe, bei der Sie wahrscheinlich eine automatisierte Bahnplanung benötigen. RoboDK macht es einfach, Bearbeitungspfade mit seinem integrierten Bearbeitungsassistenten zu generieren.
In den meisten Fällen werden Sie keine Kollisionen haben, wenn Sie die obigen Ratschläge befolgt haben. Es gibt jedoch eine Option, um Kollisionen während des Bearbeitungsvorgangs automatisch zu vermeiden, die wir in der neuesten Version von RoboDK hinzugefügt haben. Lesen Sie Alberts Antwort im Forum, die erklärt, wie Sie diese neue Funktion verwenden.
Diese Funktion vermeidet Kollisionen, indem der Roboter automatisch um die Z-Achse des Werkzeugs gedreht wird. Dadurch werden nicht alle Kollisionen vermieden, aber die Robustheit des Bearbeitungsassistenten verbessert.
Letzter Ausweg:Verwenden Sie einen erweiterten Bewegungsplaner
Wenn Sie alle oben genannten Schritte durchgeführt haben und entschieden haben, dass Sie immer noch eine autonome Kollisionsvermeidung benötigen, ist es an der Zeit, die „großen Geschütze“ auszufahren. Dies bedeutet, dass Sie einen Bewegungsplanungsalgorithmus eines Drittanbieters verwenden, um Ihre Roboterbahn zu generieren.
Es gibt Unmengen von Trajektorienplanern, die Kollisionen automatisch erkennen und vermeiden. Die meisten sind jedoch Forschungsprogramme in einem sehr frühen Stadium und daher nicht sehr zuverlässig. Außerdem sind die meisten für mobile Roboter konzipiert, die sich nur in zwei Dimensionen bewegen.
Es gibt jedoch einige anständige Bahnplaner, die für industrielle Robotermanipulatoren arbeiten. Seien Sie gewarnt, um sie zu verwenden, müssen Sie ernsthaft programmieren.
- MoveIt! — Bewege es! ist einer der am weitesten entwickelten grafischen Bewegungsplaner für die Robotermanipulation. Es verwendet das OMPL-Framework und bietet eine einfache (ish) grafische Oberfläche. Es ist in ROS integriert. Wenn Sie bereits mit ROS vertraut sind, könnte dies eine gute Option sein. Wenn nicht, haben Sie möglicherweise eine ziemliche Lernkurve.
- Bewegungsplanungsbibliothek öffnen (OMPL) – Es ist möglich, OMPL allein ohne MoveIt! Es bietet Bibliotheken in C++ und hat auch Python-Anbindungen. Es gibt eine angemessene Menge an Dokumentation, aber es wird immer noch eine Lernkurve beinhalten, da die Bibliothek viele Funktionen hat.
- Blasen — Dies ist eine kleine Bibliothek, die Albert Nubiola, CEO von RoboDK, empfiehlt. Es ist ein eigenständiger Bewegungsplaner für Manipulatoren, der den probabilistischen Roadmap-Algorithmus (PRM) verwendet. Es ist in C++ geschrieben und hat sehr wenig Dokumentation. Aber wenn Sie ein Programmier-Experte sind und Lust auf eine Herausforderung haben, könnte es eine viel weniger aufgeblähte Lösung für die Verwendung von MoveIt sein.
Im Allgemeinen ist es besser, Kollisionen mit einer der einfacheren Methoden zu vermeiden. Aber wenn Sie die fortschrittlichen Algorithmen verwenden müssen, ist Kollisionsvermeidung ein faszinierendes Thema.
Welche Kollisionen haben Probleme für Ihre Roboteranwendungen verursacht? Erzählen Sie es uns in den Kommentaren unten oder beteiligen Sie sich an der Diskussion auf LinkedIn, Twitter, Facebook, Instagram oder im RoboDK-Forum.
Industrieroboter
- Fünf Wege zu einer umweltfreundlicheren letzten Meile
- Otto DIY+ Arduino Bluetooth-Roboter einfach zum 3D-Drucken
- 6 einfache Wege zur Optimierung des CNC-Programms
- 4 einfache Möglichkeiten zur Verbesserung der Kraftstoffeffizienz von Baggern
- 10 Möglichkeiten, über Roboterautomatisierung anders zu denken
- Schrittmotorkühlung. 4 einfache Möglichkeiten, es zu tun!
- Wie recycelt man fehlerhafte 3D-Drucke? 4 Möglichkeiten, dies einfach zu tun!
- Praktische Möglichkeiten zur Lösung von Arbeitskräftemangel mit Robotern
- Neue Wege zur Automatisierung mit Robotik im Jahr 2022
- PACKEX Toronto:Die Zeit für einfache Automatisierung ist jetzt