Das Smart Motion-Add-in ist ein Bewegungsplaner, der Ihnen dabei hilft, automatisch sichere Bahnen für Ihren Roboter zu erstellen, damit dieser sich kollisionsfrei von einem Punkt zum anderen bewegen kann. Es nutzt einen Algorithmus zur Kollisionsvermeidung, um sicherzustellen, dass schnell eine kollisionsfreie Lösung gefunden werden kann.

Hinweis: Stellen Sie sicher, dass das Smart-Motion-Add-in installiert und aktiviert ist.
Sie können das Smart-Motion-Menü öffnen, indem Sie unter „Utilities“➔ „Smart Motion“ den Eintrag „Generate collision free path“ anklicken.

Eine weitere Möglichkeit, das Menü zu öffnen, besteht darin, auf das erste (ganz links befindliche) „Smart Motion“-Symbol in der Symbolleiste zu klicken.


Sie können es auch über das Dropdown-Menü „Kollisionsprüfung“ in der Symbolleiste aufrufen.

Bitte stellen Sie sicher, dass Ihr RoboDK-Projekt ordnungsgemäß konfiguriert ist, um den Smart-Motion-Planer effektiv nutzen zu können.
Ihr Projekt sollte Folgendes enthalten:
1.Roboter: Ein Roboterarm. In unserem Beispiel verwenden wir den Roboter Comau Smart5 NJ 130-2.6.

2.Werkzeug: Ein oder mehrere Werkzeuge (TCP). Im Beispiel zum Punktschweißen wird die OBARA-Punktschweißpistole verwendet.
Hinweis: Das Werkzeug „OBARA-Punktschweißpistole“ hat die Dateiendung .robot (anstelle von .tool), da wir damit seinen Öffnungs-/Schließ-Mechanismus demonstrieren können.

3.Objekte: Im Arbeitsbereich muss mindestens ein Objekt (Hindernis) vorhanden sein, um die Kollisionsvermeidung nutzen zu können. In diesem Fall haben wir einen benutzerdefinierten Fahrzeugrahmen zusammen mit einem Fahrzeugrahmen-Gestell und einer Fahrzeugrahmen-Schiene verwendet.

4.Zielpunkte: Start- und Endpositionen für die generierte Bahn sollten mithilfe von Zielpunkten definiert werden. Daher sollten mindestens zwei Zielpunkte in der Station vorhanden sein. Das Beispiel enthält Annäherungs- und Rückzugszielpunkte an der Vorder- und Rückseite sowie einige Zielpunkte innerhalb des Fahrzeugrahmens, an denen das Schweißen erfolgen soll.

Um mit Smart Motion eine sichere Bahn zu erstellen, wählen Sie die Zielpunkte aus, zu denen der Roboter fahren soll, und klicken Sie auf „Bahn generieren“. Das Add-in übernimmt die Berechnung für Sie.
Zur Veranschaulichung des Smart-Motion-Add-ins verwenden wir das folgende Punktschweißbeispiel: Punktschweißen mit Comau. Dieses Beispiel umfasst die vier zuvor beschriebenen Komponenten.
Dieses Projekt enthält zudem kollisionsfreie Bahnen in Form von Skripten, die mit dem PRM-Plug-in erstellt wurden. Zur Veranschaulichung des Smart-Motion-Add-ins entfernen wir diese Programme, die automatisch mit dem PRM-Plug-in erstellt wurden:
●AppFrontPg
●AppRearPg
●HomePg
●HomeToAppFront
●AppRearToHome
●AppFrontToAppRear
●AppRearToAppFront
●Main

Um das Add-in zu verwenden, gehen Sie wie folgt vor:
1.Öffnen Sie die Zielauswahl: Klicken Sie im Menü „Smart Motion“ auf die Schaltfläche „Ziele auswählen“, um das Auswahlfenster zu öffnen. Diese Ziele definieren die Bahn, die Sie generieren möchten.


2.Punkte auswählen und anordnen: Wählen Sie die gewünschten Punkte im Bereich „Verfügbare Ziele“ auf der linken Seite aus und klicken Sie auf die Schaltfläche „>>“, um sie in den Bereich „Ausgewählte Ziele“ auf der rechten Seite zu verschieben. Sie können ihre Reihenfolge auf der rechten Seite (per Drag-and-Drop) ändern, um festzulegen, wohin der Roboter zuerst fährt. Sobald die Ziele ausgewählt sind, können Sie die Auswahl mit der Schaltfläche „OK“ bestätigen.

3.Wählen Sie die Bahnqualität aus: Verschieben Sie den Schieberegler „Bahnqualität“. Verwenden Sie „Grob“ für schnelle Überprüfungen oder verschieben Sie ihn in Richtung „Fein“, um sicherzustellen, dass der Roboter enge Zwischenräume sicher überprüft.
Hinweis: Die Erstellung einer feineren Bahn dauert länger, gewährleistet jedoch, dass die Bahn kollisionsfrei ist. Dies wird empfohlen, wenn Ihre Station dünnere Objekte enthält, die bei der Erstellung einer gröberen Bahn möglicherweise nicht berücksichtigt werden.

4.Erstellen Sie die Bahn: Klicken Sie auf die Schaltfläche „Bahn generieren“. Das Werkzeug erstellt eine sichere Bewegung zwischen jedem Punktpaar in Ihrer Liste.



Sie können Elemente auch „verknüpfen“, indem Sie mehrere Ziele im Stationsbaum (in der erforderlichen Reihenfolge) auswählen und auf das Symbol „Ausgewählte Elemente verknüpfen“ in der Symbolleiste klicken (das zweite oder das ganz rechte Symbol von „Smart Motion“).
Beim Einrichten einer Bahn über das Zielauswahlmenü wird eine Liste der verfügbaren Punkte in die Liste „Ausgewählte Ziele“ übernommen. Neben einigen dieser ausgewählten Elemente befindet sich ein Kontrollkästchen mit der Bezeichnung „Annäherung“, das aktiviert oder deaktiviert werden kann.
Diese Kontrollkästchen dienen als intelligente Hinweise für den Bahn-Planungs-Solver.
●Wenn nicht markiert (Standard-Stopp): Der Roboter behandelt das Ziel als striktes Endziel. Er plant eine vollständige Bahn von Punkt A nach Punkt B und anschließend eine völlig neue Bahn von Punkt B nach Punkt C. Der Roboter konzentriert sich voll und ganz darauf, Punkt B exakt zu erreichen, bevor er über den nächsten Schritt nachdenkt.
●Wenn aktiviert (Vorbeifahrt oder Annäherungspunkt): Durch Aktivieren des Kontrollkästchens wird dem Solver mitgeteilt, dass dieser Punkt lediglich ein vorübergehendes „Sprungbrett“ oder ein Eingangstor auf dem Weg zum eigentlichen Ziel ist. Anstatt die Bewegung in separate, starre Abschnitte (A nach B, dann B nach C) aufzuteilen, bewertet der Solver die gesamte Kette (A➔ B➔ C) als eine einzige fließende Abfolge.
Das Markieren eines Annäherungsziels verändert die Art und Weise, wie das Werkzeug „Simplify Program“ die Bahn optimiert, grundlegend:
●Flüssige Kurvenfahrt: Da der Solver weiß, dass der Roboter am Annäherungspunkt nicht vollständig anhalten muss, glättet er die Bewegung sanft. Der Roboter bewegt sich auf den Annäherungspunkt zu und schwenkt elegant in die Endposition ein, ohne zu „stottern“ oder ruckartig zum Stillstand zu kommen.
●Aggressive Reinigung: Wenn das Vereinfachungswerkzeug eine Mehrpunktbahn durchläuft, kann es unnötige, sperrige Bewegungen wesentlich besser besäumen, wenn es über die gesamte Sequenz hinweg vorausschauen kann, anstatt seine Berechnungen an jedem einzelnen Ziel anzuhalten. Dies führt zu weniger Codezeilen, einer konstanten Robotergeschwindigkeit und insgesamt schnelleren Produktionszeiten.
Das Smart-Motion-Add-in bietet zudem zusätzliche Optionen, um die Lösung genau an unsere Anforderungen anzupassen. Mit diesen Optionen können wir einige Parameter anpassen, die sich auf die Endergebnisse oder die generierte Bahn auswirken.
Die TCP-Rotation kann mithilfe der Option „Z-Rotation des Werkzeugs zulassen: +/-“ im Menü begrenzt werden. Ist die Option aktiviert, werden die X- und Y-Rotationen gesperrt, während die Z-Rotation auf den ausgewählten Wert (z. B. +/- 45°) begrenzt wird.
Diese Funktion wirkt als Gegenstück zum „Constrained Space“ und zwingt den Solver, im kartesischen Raum zu arbeiten, um die Ausrichtung des Werkzeugs einzuschränken. Dabei werden die X- und Y-Rotationen gesperrt, während die Rotation um die Z-Achse auf einen bestimmten Gradbereich (plus oder minus eines festgelegten Werts) begrenzt werden kann. Wenn der Wert dieses Feldes auf „0“ gesetzt ist, wird die Z-Rotation ebenso wie die X- und Y-Rotationen gesperrt. Um die Rotationen aller drei Achsen (X, Y und Z) freizugeben, geben Sie in dieser Option den Wert „-1“ ein.
Wenn „Constrained Space“ aktiviert ist, versucht der Roboter, durch eine enge Öffnung zu greifen oder in einer überfüllten Umgebung zu arbeiten. Diese Einstellung erzwingt die Verwendung des Algorithmus im Gelenkraum (anstelle des kartesischen Raums), wodurch sichergestellt wird, dass die getestete Konfiguration auch die tatsächlich verwendete ist. Dies ist entscheidend für Roboter-Morphologien, bei denen kartesische Posen zu mehreren möglichen Gelenkkonfigurationen führen können, was Probleme bei der Bahngenerierung verursacht. Durch die Erzwingung des Gelenkraums stellt das System sicher, dass die ermittelte Bahn eindeutig und kollisionsfrei ist.
Hinweis: Dies kann die anfängliche Berechnungszeit geringfügig verlängern, falls die Bahn sehr eng ist.
Sie können die Einstellungen für die Kollisionskarte von RoboDK auch öffnen, indem Sie im Menü von Smart Motion auf die Schaltfläche „Kollisionskarte“ klicken. Eine ordnungsgemäß konfigurierte Kollisionskarte stellt sicher, dass das Add-in unter Bezugnahme auf die Kollisionsmatrix eine Trajektorie berechnet, die eine kollisionsfreie Bahn gewährleistet.

Hinweis: Verwenden Sie diese Option vor der Erzeugung einer Bahn, um festzulegen, welchen Objekten der Roboter ausweichen muss.
Die Option „Ausgewähltes Programm vereinfachen“ ermöglicht es dem Benutzer, die Anzahl der Befehle in einem Programm zu reduzieren und dabei Kollisionen zu vermeiden. Mit anderen Worten: Sie vereinfacht ein bereits erstelltes Programm, um die Anzahl der Ziele auf der Bahn zu verringern und gleichzeitig sicherzustellen, dass die Bahn kollisionsfrei bleibt.
Dies ist in folgenden Punkten hilfreich:
1.Reduziert die Programmgröße: Das Programm analysiert die Bahn und entfernt unnötige Ziele. Dies ist für ältere Robotersteuerungen von entscheidender Bedeutung, die über begrenzten Speicher verfügen und nur eine bestimmte Anzahl von Codezeilen speichern können.
2.Flüssigere Bewegung: Durch das Entfernen redundanter Punkte verhindern Sie, dass der Roboter „stottert“. Steuerungen können manchmal ruckeln oder langsamer werden, wenn sie zu viele Befehle für denselben kleinen Bereich erhalten; die Vereinfachung der Bahn hilft dem Roboter, eine konstantere, flüssigere Geschwindigkeit beizubehalten.
3.Schnellere Ausführung: Ein vereinfachtes Programm führt oft zu kürzeren Zykluszeiten, da die Robotersteuerung nicht so viele Punkte verarbeiten muss und sich somit auf die Einhaltung der programmierten Geschwindigkeit konzentrieren kann.
4.„Unübersichtliche“ Bahnen bereinigen: Wenn das Programm durch die Aufzeichnung von Bewegungen oder den Import eines dichten CAD-Pfads erstellt wurde, kann es Hunderte unnötiger Punkte enthalten. Dieses Werkzeug „bereinigt“ diese Daten und stellt gleichzeitig sicher, dass die neue, kürzere Bahn weiterhin alle Kollisionen vermeidet.
5.Wahrt die Konfigurationssicherheit: Wie auch die übrigen Funktionen von Smart Motion berücksichtigt der Vereinfachungsprozess die Konfiguration des Roboters. Er stellt sicher, dass der Roboter beim Entfernen von Punkten nicht versehentlich versucht, seine Konfiguration (z. B. durch eine Ellenbogenumstellung) in einer Weise zu ändern, die zu einer Kollision führen würde.
„Smart Motion“ beschränkt sich nicht auf die Verknüpfung von Zielpunkten, sondern kann auch einzelne, eigenständige Programme miteinander verbinden. Diese Funktion ist äußerst nützlich, um komplexe Abläufe wie den Übergang von einer Aufnahmesequenz zu einer Bahn der Zerspanung ohne manuellen Eingriff zu verknüpfen.
Um diese Funktion zu nutzen, wählen Sie einzelne Programmelemente in der „Target Selector“-Oberfläche aus, um sichere Übergangspfade vom Endzustand des ersten Programms zum Einstiegszustand des zweiten Programms zu berechnen.

Das Add-in verknüpft zwei Programme, indem es die letzte Bewegung des ersten Programms und die erste Bewegung des nachfolgenden Programms identifiziert und so effektiv eine Bahn zwischen ihnen generiert.
In RoboDK sind sowohl „Smart Motion“ als auch der „Collision-Free Motion Planner“ (PRM) darauf ausgelegt, einem Roboter zu helfen, sich zu bewegen, ohne gegen Hindernisse zu stoßen. Sie nutzen jedoch unterschiedliche mathematische Ansätze und Arbeitsabläufe, um diese Aufgabe zu bewältigen.
Die Bewegungsplanungsfunktion im „Collision-Free Motion Planner“ erstellt automatisch kollisionsfreie Bahnen innerhalb des Arbeitsbereichs des Roboters, indem sie einen Bewegungsplanungsalgorithmus namens „Probabilistic Roadmaps“ (PRM) verwendet.
Der größte Unterschied zwischen den beiden Bewegungsplanern besteht darin, wie viel Vorbereitungsarbeit geleistet werden muss, bevor sich der Roboter bewegt.
Der PRM-Planer ist ein Werkzeug, das ähnlich wie der Aufbau eines permanenten Straßennetzes funktioniert. Es durchläuft zunächst eine „Baufase“, in der mehrere Minuten damit verbracht werden, Punkte zufällig zu platzieren und zu versuchen, diese zu einer riesigen Roadmap zu verbinden. Sobald diese Karte fertiggestellt ist, erfolgt die Suche nach einer Bahn sofort, da die „Straßen“ bereits angelegt sind. Wenn Sie jedoch auch nur einen Tisch, eine Box oder ein anderes Objekt in der Station verschieben, ist die gesamte Karte unbrauchbar und Sie müssen sie von Grund auf neu erstellen.
Smart Motion ist wesentlich flexibler konzipiert. Es gibt keinen langwierigen Schritt zur Kartenerstellung. Das Programm ermittelt genau, wo sich der Roboter befindet und wohin er gelangen muss, und findet dann einen sicheren „Tunnel“ durch die Hindernisse. Es handelt sich um einen einstufigen Vorgang: Wählen Sie die Punkte (Ziele) aus, klicken Sie auf „Generieren“, und der Roboter bewegt sich. Wenn Sie ein Objekt in Ihrer Zelle verschieben, klicken Sie einfach erneut auf „Bahn generieren“, ohne auf eine neue Karte warten zu müssen.
Hinweis: Smart Motion funktioniert in dieser Hinsicht besser, da es den Arbeitsablauf am Laufen hält. Sie müssen nicht jedes Mal 15 Minuten lang unterbrechen, um das Layout der Station neu zuzuordnen, wenn eine kleine Änderung am Stationslayout vorgenommen wird.
Bei der Geschwindigkeit der Bewegungsplanung geht es nicht nur darum, wie schnell sich der Roboter bewegt, sondern auch darum, wie lange der Planer für die Berechnung benötigt.
Die „Abfragephase“ im PRM-Planer (das Ermitteln der Bahn auf der Karte) ist sehr schnell, geht jedoch mit einer sehr langen „Konstruktionsphase“ einher. Das ist ideal, wenn die Station stets statisch ist, nimmt jedoch Zeit in Anspruch, wenn häufige Änderungen vorgenommen werden.
Smart Motion verwendet einen Algorithmus, der ein einzelnes „A-nach-B“-Problem unglaublich schnell löst. Er beginnt gleichzeitig an beiden Enden der Bahn mit der Suche und trifft sich in der Mitte. Dadurch ist die „Denkzeit“ bei den meisten gängigen Aufgaben kaum wahrnehmbar.
Im Mittelpunkt jedes Bewegungsplaners stehen die Kollisionserkennung und -vermeidung. Daher ist die Präzision der generierten sicheren Bahnen ein sehr wichtiger Faktor.
Der PRM-Planer stützt sich auf die Zufallspunkte, die er während der Kartierungsphase platziert hat. Wenn die Zufallspunkte nicht innerhalb eines engen Raums liegen, geht der Roboter davon aus, dass er blockiert ist, selbst wenn reichlich Platz vorhanden ist. Eine größere Anzahl von Stichproben und mehr Kanten pro Stichprobe ergeben eine feinkörnigere Roadmap, deren Erstellung zwar länger dauert, die jedoch zu einer präziseren Lösung führt.
Smart Motion enthält für solche kniffligen Stellen eine Option namens „Constrained Space“. Wenn diese aktiviert ist, wird der Solver gezwungen, im Gelenkraum statt im kartesischen Raum zu arbeiten. Dadurch wird sichergestellt, dass das System beim Testen einer Pose eine eindeutige Gelenkkonfiguration identifiziert, was Probleme im Zusammenhang mit mehreren möglichen Lösungen für eine einzelne kartesische Pose verhindert. Kurz gesagt hilft dies dem Planer, sich die Position und Konfiguration des Roboters zu merken, um sicherzustellen, dass die gefundene Bahn beibehalten wird.
Mit beiden Bewegungsplanern können wir steuern, inwieweit der Roboter seine Umgebung „berücksichtigt“.
Um mit dem PRM-Planer eine gleichmäßigere oder sicherere Bahn zu erhalten, müssen die Anzahl der Samples und die Anzahl der Kanten pro Sample entsprechend erhöht werden. Dies verbessert die Karte, verlängert jedoch die Wartezeit.
Smart Motion verwendet einen einfachen Schieberegler für die Qualität der Bahnen mit den folgenden Grenzwerten:
1.Grob: Diese Einstellung wird für weitläufige, offene Räume verwendet, um sofort ein Ergebnis zu erhalten.
2.„Fein“: Diese Einstellung wird für komplexe Aufgaben verwendet. Sie zwingt den Roboter dazu, „winzige Schritte“ auszuführen, um Kollisionen zu vermeiden und eine insgesamt gleichmäßige Bahn zu erzeugen.