DE102021107495A1 - Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern - Google Patents

Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern Download PDF

Info

Publication number
DE102021107495A1
DE102021107495A1 DE102021107495.9A DE102021107495A DE102021107495A1 DE 102021107495 A1 DE102021107495 A1 DE 102021107495A1 DE 102021107495 A DE102021107495 A DE 102021107495A DE 102021107495 A1 DE102021107495 A1 DE 102021107495A1
Authority
DE
Germany
Prior art keywords
route
robot
starting
initial reference
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021107495.9A
Other languages
English (en)
Inventor
Hsien-Chung Lin
Tetsuaki Kato
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102021107495A1 publication Critical patent/DE102021107495A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40501Using sub goal method of options for semi optimal path planning

Abstract

Ein Optimierungsverfahren zur Bewegungsplanung von Robotern unter Verwendung einer verfeinerten Anfangsbezugsstrecke. Wenn eine neue Strecke durch Bewegungsoptimierung berechnet werden soll, wird eine angehende Bezugsstrecke aus einer Abspeicherung ausgewählt, die zuvor berechnet wurde, und ähnliche Start- und Zielpunkte sowie Umgebungsbeschränkungen der Kollisionsvermeidung zu der neuen Strecke aufweist. Die angehende Bezugsstrecke wird an allen Zustandspunkten entlang ihrer Länge angeglichen, um den Unterschied zwischen den Start- und Zielpunkten der neuen Strecke im Vergleich zu denen der zuvor berechneten Strecke zu berücksichtigen und die Anfangsbezugsstrecke zu erzeugen. Die Anfangsbezugsstrecke, zum Angleichen der Start- und Zielpunkte angepasst, wird dann als ein Startzustand zur Optimierungsberechnung der Bewegung genutzt. Unter Verwendung einer Anfangsbezugsstrecke, die der endgültigen angenäherten, neuen Strecke ähnlich ist, nähert sich die Optimierungsberechnung schneller an, als wenn eine unkritische Anfangsbezugsstrecke genutzt wird.

Description

  • HINTERGRUND
  • Gebiet
  • Die vorliegende Offenlegung betrifft das Gebiet der Bewegungssteuerung von Industrierobotern und spezieller ein Optimierungsverfahren der Bewegungsplanung von Robotern, welches eine Anfangsbezugsstrecke für die iterative Optimierungsberechnung einer neuen Strecke durch Auswahl einer zuvor berechneten Strecke erzeugt, die ähnliche Start- und Zielpunkte und Beschränkungen der Kollisionsvermeidung wie die neue Strecke aufweist, und Modifizierung der Punktpositionen entlang der zuvor berechneten Strecke basierend auf Unterschieden zwischen den Start- und Zielpunkten der neuen Strecke relativ zu der zuvor berechneten Strecke.
  • Erörterung des Stands der Technik
  • Der Einsatz von Industrierobotern zur Durchführung eines breiten Bereichs von Vorgängen der Herstellung, Montage und Materialbewegung ist bekannt. Bei einigen Roboteranwendungen ändert sich die Position von Start- und/oder Zielpunkten für jede Roboteraufgabe. Dies ist zum Beispiel der Fall, wenn es die Aufgabe des Roboters ist, ein Teil von einem hineinführenden Förderband aufzuheben und das Teil an eine freie Stelle in einem Versandbehälter zu legen. Bei diesen Anwendungen muss die neue Bewegungsstrecke des Roboters für jede Aufgabe in Echtzeit berechnet werden. Darüber hinaus sind Hindernisse in vielen Arbeitsraumumgebungen des Roboters vorhanden und können sich auf der Strecke der Roboterbewegung befinden. Die Hindernisse können dauerhafte Strukturen wie etwa Maschinen und Verankerungen sein, oder die Hindernisse können zeitweilig oder nicht ortsgebunden sein. Kollisionen zwischen dem Roboter und einem beliebigen Hindernis müssen unbedingt vermieden werden.
  • Ein Verfahren zur Bewegungsplanung von Robotern ist verbunden mit dem Modellieren eines Optimierungsproblems auf der Basis der Start-/Zielpunkte, von Beschränkungen der Kollisionsvermeidung und anderen Beschränkungen, dem Festlegen einer Anfangsbezugsstrecke als einer ersten Iteration zur Optimierungsberechnung und dem Abarbeiten der Optimierungsberechnung, bis sie sich vorher festgelegten Kriterien annähert. Das häufigste Verfahren im Stand der Technik zur Festlegung der Anfangsbezugsstrecke ist einfach das Festlegen einer geradlinigen Strecke vom Startpunkt zum Zielpunkt der neuen Strecke. Jedoch ist wegen der Beschränkungen der Kollisionsvermeidung und eventuell anderer, auf Grenzen der Roboterbewegung bezogene Beschränkungen die angenäherte endgültige Lösung für die neue Strecke häufig ganz anders als die geradlinige Anfangsstrecke.
  • Ein Problem bei den Verfahren im Stand der Technik zur Modellierung der Optimierung einer Bewegungsplanung von Robotern ist, dass viele Iterationen nötig sind, um die angenäherte endgültige Lösung für die neue Strecke wegen der signifikanten Abweichung von der geradlinigen Anfangsstrecke zu berechnen. Wenn viele Iterationen benötigt werden, um eine angenäherte Lösung zu erreichen, braucht die Berechnung der Bewegungsplanung zu lange, um in einer Umgebung zweckmäßig zu sein, in der die Berechnungen in Echtzeit durchgeführt werden müssen, wenn der Roboter arbeitet.
  • Angesichts der oben beschriebenen Umstände besteht Bedarf an einem Optimierungsverfahren zur Bewegungsplanung von Robotern, das eine verfeinerte Anfangsbezugsstrecke nutzt, um sich schnell einer Lösung anzunähern.
  • ZUSAMMENFASSUNG
  • Entsprechend der technischen Lehre der vorliegenden Offenlegung wird ein Optimierungsverfahren zur Bewegungsplanung von Robotern durch eine verfeinerte Anfangsbezugsstrecke offengelegt. Wenn durch Bewegungsoptimierung eine neue Strecke berechnet werden soll, wird eine angehende Bezugsstrecke aus der Abspeicherung ausgewählt, die zuvor berechnet wurde und die Start- und Zielpunkte und Beschränkungen der Kollisionsvermeidung aufweist, die der neuen Strecke ähnlich sind. Die angehende Bezugsstrecke wird an allen Zustandspunkten entlang ihrer Länge eingestellt, um den Unterschied zwischen den Start- und Zielpunkten der neuen Strecke im Vergleich mit denjenigen der zuvor berechneten Strecke zu berücksichtigen, um die Anfangsbezugsstrecke zu erzeugen. Die Anfangsbezugsstrecke, die eingestellt ist, um den Start- und Zielpunkten zu entsprechen, wird anschließend als ein Startzustand für die Berechnung der Bewegungsoptimierung verwendet. Durch Verwendung einer Anfangsbezugsstrecke, die der angenäherten neuen endgültigen Strecke ähnlich ist, nähert sich die Optimierungsberechnung schneller an, als wenn eine unkritische Anfangsbezugsstrecke verwendet wird.
  • Zusätzliche Merkmale der derzeit offengelegten Vorrichtungen und Verfahren erschließen sich aus der folgenden Beschreibung und angehängten Ansprüchen, wenn sie in Verbindung mit den begleitenden Zeichnungen betrachtet werden.
  • Figurenliste
    • 1 ist die Darstellung eines Industrieroboters, der einen Arbeitsablauf zum Aufheben, Bewegen und Legen durchführt, wobei eine neue Strecke für jedes, zu bewegende Werkstück berechnet werden muss, und die Arbeitsbereichsumgebung ein oder mehrere, zu umgehende Hindernisse einschließt.
    • 2 ist ein Ablaufdiagramm eines Verfahrens zur Optimierung der Bewegungsplanung von Robotern im Szenario von 1 unter Verwendung einer verfeinerten Anfangsbezugsstrecke nach einer Ausführungsform der vorliegenden Offenlegung;
    • 3A, 3B und 3C sind Darstellungen eines Verfahrens zur Modifizierung einer zuvor berechneten Strecke basierend auf Start- und Zielpunkten einer neuen Strecke zur Bereitstellung einer verfeinerten Anfangsbezugsstrecke gemäß einer Ausführungsform der vorliegenden Offenlegung;
    • 4 ist ein Kurvenbild, das bildlich das Näherungsverhalten einer Optimierung der Bewegungsplanung der Verfahren der vorliegenden Offenlegung im Vergleich zu Verfahren im Stand der Technik darstellt;
    • 5 ist ein Kurvenbild, das bildlich die Berechnungszeit einer Optimierung der Bewegungsplanung für die Verfahren der vorliegenden Offenlegung im Vergleich zu den Verfahren im Stand der Technik darstellt;
    • 6A ist die Abbildung eines Roboters mit Bildspuren der vielen Streckeniterationen, die bei Optimierung einer Bewegungsplanung mittels einer unkritischen Anfangsbezugs gemäß den an sich bekannten Verfahren berechnet werden; und
    • 6B ist eine Abbildung eines Roboters mit Bildspuren der bei Optimierung der Bewegungsplanung berechneten wenigen Streckeniterationen mittels eines verfeinerten Anfangsbezugs gemäß Ausführungsformen der vorliegenden Offenlegung.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die folgende Erörterung der auf ein Verfahren zur Optimierung der Bewegungsplanung von Robotern gerichteten Ausführungsformen der Offenlegung unter Verwendung eines verfeinerten Anfangsbezugs ist nur beispielhafter Natur und in keiner Weise beabsichtigt, die offengelegten Vorrichtungen und Verfahren oder ihre Anwendungen oder Einsätze zu begrenzen.
  • Es ist bekannt, Industrieroboter für verschiedene Vorgänge der Herstellung, Montage und Materialbewegung zu nutzen. Bei einigen Arten dieser Arbeitsgänge muss der Roboter programmiert werden, um sich entlang einer Strecke mit einem Startpunkt und einem Bestimmungsort (Zielpunkt), die von einem Arbeitsgang zum nächsten unterschiedlich sind, zu bewegen. Zum Beispiel können bei einem Arbeitsgang zum Bewegen, Aufheben und Legen die eingehenden Teile auf einem Förderband durch den Roboter jederzeit an einer anderen Position aufgehoben werden, und Teile, die durch den Roboter in einen Versandbehälter gelegt werden, werden an einer anderen zugewiesenen Position innerhalb des Behälters abgelegt. Es gibt viele andere beispielhafte Anwendungen, bei denen für jede einzelne Aufgabe oder Arbeitsgang des Roboters eine neue Strecke berechnet werden muss.
  • Darüber hinaus sind Hindernisse in vielen Arbeitsbereichsumgebungen des Roboters vorhanden und können sich in der Strecke der Roboterbewegung befinden - das heißt, es können zwischen den Start- und Zielpunkten, oder allgemeiner dargelegt, zwischen einer aktuellen Position des Roboters und dem Bestimmungsort des Roboters, ein oder mehrere Hindernisse angeordnet sein. Die Hindernisse können dauerhafte Strukturen wie etwa Maschinen und Verankerungen sein, oder die Hindernisse können zeitweilig oder nicht ortsgebunden sein.
  • 1 ist eine Darstellung eines Industrieroboters, der in einem Szenario des oben beschriebenen Typs einen Arbeitsgang zum Aufheben, Bewegen und Legen durchführt, wobei eine neue Strecke für jedes, zu bewegende Werkstück berechnet werden muss, und die Arbeitsbereichsumgebung eine oder mehrere, zu umgehende Hindernisse enthält. Ein Roboter 100 mit einem Greifer 102 arbeitet innerhalb eines Arbeitsraums 104. Die Bewegung des Roboters 100 wird durch eine Steuereinheit 110 gesteuert, die typischerweise über ein Kabel 112 mit dem Roboter 100 in Verbindung steht. Die Steuereinheit 110 liefert Gelenkbewegungsbefehle an den Roboter 100 und empfängt Gelenkpositionsdaten von Kodierern in den Gelenken des Roboters 100, wie es an sich bekannt ist. Die Steuereinheit 110 liefert außerdem Befehle zur Steuerung des Greifers 102. Das Szenario zum Aufheben, Bewegen und Legen von 1 ist nur erläuternd und beispielhaft. Die Verfahren zur Optimierung der Bewegungsplanung der vorliegenden Offenlegung sind auf jede Art von Roboterarbeitsgängen anwendbar, und der Greifer 102 kann durch jede Art von Roboterwerkzeug ersetzt werden.
  • Eine Kamera 120 steht mit der Steuereinheit 110 in Verbindung und liefert Bilder des Arbeitsraums 104. Bilder von der Kamera 102 können genutzt werden, um die Position und Ausrichtung von auf dem Roboter zu bearbeitenden Werkstücken oder von Örtlichkeiten zu ermitteln, in denen ein Werkstück durch den Roboter 100 anzuordnen ist, oder auch bewegliche oder vorübergehende Hindernisse in dem Arbeitsraum 104 zu erkennen. In einigen Ausführungsformen wird die Kamera 120 überhaupt nicht benötigt, weil eine Bewegung von Hindernissen nicht möglich ist, und es werden andere Einrichtungen zur Erkennung von Start- und Zielpositionen der Werkstücke, die durch den Roboter 100 zu bewegen sind, verwendet.
  • Im Arbeitsraum 104 kommt auf einem Förderband 140 ein Werkstück 130 an. Die Aufgabe des Roboters 100 ist es, das Werkstück 130 von dem Förderband 140 aufzugreifen, das Werkstück 130 zu bewegen und es in einen Behälter 150 (wie ein Versandbehälter) zu legen. Wiederum ist dies nur ein Beispiel veränderlicher Start- und Zielpositionen; wobei viele andere Beispiele ins Auge gefasst werden können. Position und Orientierung eines Startpunkts 160 werden basierend auf Informationen über die Position des Werkstücks 130 auf dem Förderband 140 und der Geschwindigkeit des Förderbands 140 festgelegt. Eine Ausrichtung des Werkstücks 130 an dem Startpunkt 160 wird benötigt, um eine Orientierung für den Greifer 102 zu bestimmen. Ähnlich werden Position und Ausrichtung eines Zielpunkts 162 basierend auf Informationen über das nächste verfügbare Fach oder eine Position innerhalb des Behälters 150 festgelegt. Ein dazwischen liegender Punkt 164 ist in 1 auf halbem Weg zwischen dem Startpunkt 160 und dem Zielpunkt 162 dargestellt. Bei aktuellen Berechnungen der Bewegungsplanung von Robotern werden mehrere dazwischen liegende Bahnpunkte berechnet, um alle Streckenbeschränkungen zu erfüllen, wobei eine ruckfreie Werkzeugbahn berechnet wird, die durch die Vielzahl von Bahnpunkten verläuft.
  • Ein als Wand dargestelltes Hindernis 170 ist zwischen dem Startpunkt 160 und dem Zielpunkt 162 vorhanden. Es kann auch eingeschätzt werden, dass die Seiten des Behälters 150 Hindernisse darstellen, die von dem Roboter 100 umgangen und bei der Wegplanung berücksichtigt werden müssen. Es können auch andere Hindernisse vorhanden sein.
  • Für jedes auf dem Förderband 140 ankommende Werkstück 130 muss durch die Steuereinheit 110 eine neue Strecke berechnet werden, was den Roboter 100 veranlasst, den Greifer 102 von einer Ausgangs- oder Annäherungsposition entlang eines Streckenabschnitts 180 zum Greifen des Werkstücks 130 am Startpunkt 160 zu bewegen und das Werkstück 130 entlang eines Streckenabschnitts 182 zum Zielpunkt 162 zu bewegen, während das Hindernis 170 umgangen wird, und dann den Greifer 102 in die Ausgangs- oder Annäherungsposition in Vorbereitung auf das nächste Werkstück 130 zurückzuführen. Die neue Strecke muss sehr schnell durch die Steuereinheit 110 berechnet werden, weil die Streckenberechnung in Echtzeit so schnell durchgeführt werden muss, wie der Roboter 110 ein Werkstück 130 bewegen und zurückkehren kann, um das nächste zu greifen.
  • Es wurden Optimierungsverfahren entwickelt, die an sich zur Berechnung von Roboterbewegungen bekannt sind, sodass das Werkzeug einer Strecke von einem speziellen Startpunkt zu einem speziellen Zielpunkt folgt, während eine Kollision des Roboters mit beliebigen Hindernissen vermieden wird und andere Arten von Beschränkungen erfüllt werden. Diese bekannten Verfahren sind jedoch entweder mit Rechenleistung befasst gewesen oder haben andere Optimierungsalgorithmen bei dem Versuch, Berechnungszeit zu reduzieren untersucht. Gemäß den Verfahren der vorliegenden Offenlegung kann Rechenleistung im Wesentlichen eher verbessert werden durch Bereitstellung einer verfeinerten Anfangsbezugsstrecke für die Optimierungsroutine als durch die in früheren Verfahren genutzte unkritische Bezugsstrecke.
  • 2 ist ein Ablaufdiagramm 200 eines Verfahrens zur Optimierung der Bewegungsplanung von Robotern im Szenario von 1, bei dem eine verfeinerte Anfangsbezugsstrecke genutzt wird, nach einer Ausführungsform der vorliegenden Offenlegung. Beim Kästchen 202 sind Position und Form beliebiger Hindernisse (das Hindernis 170 und alle anderen) in dem Roboterarbeitsraum 104 festgelegt. Die Hindernisse können durch CAD-Daten im Koordinatenrahmen des Arbeitsraums oder durch Daten von einem Sensor wie etwa der Kamera 120, wie zuvor beschrieben, festgelegt werden. Die Hindernisdaten sind typischerweise Festkörper, Flächen oder Anhäufungen von Flächenpunkten und müssen ausreichend sein, um eine Beschränkung der Kollisionsvermeidung im Optimierungsproblem modellieren zu können. Die Beschränkung der Kollisionsvermeidung wird modelliert, sodass der Mindestabstand zwischen jedem Teil des Roboters 100 und einem beliebigen Hindernis einen vorbestimmten Schwellenwert für jeden Streckenpunkt in der berechneten Bewegung überschreitet, wobei der Mindestabstand in jeder geeignet effizienten Weise berechnet wird wie etwa, indem geometrische Stammfunktionen um die Roboterteile und die Hindernisse herum festgelegt werden, oder durch Modellieren der Hindernisse als eine Abstandsfeldmatrix.
  • Im Kästchen 204 sind Start- und Zielpunkte (qstart, qziel) festgelegt für eine Roboterstrecke, basierend auf einer Aufgabe, die der Roboter durchführen soll. Gemäß 1 kann der Startpunkt 160 basierend auf der Position eines ankommenden Werkstücks 130 auf dem Förderband 140 festgelegt sein, und der Zielpunkt 162 kann basierend auf einer zugeordneten Position für das im Behälter 150 anzuordnende Werkstück 130 festgelegt sein. Der dazwischen liegende Punkt 164 ist nicht als Eingabe in die Bewegungsoptimierung festgelegt; der dazwischen liegende Punkt 164 ist eine Ausgabe der Optimierungsberechnung zusammen mit anderen Punkten der Strecke. Beim Kästchen 206 wird eine Anfangsbezugsstrecke erzeugt. Die Anfangsbezugsstrecke stellt einen Startpunkt (eine Anfangslösung) zur iterativen Berechnung der Bewegungsoptimierung bereit. Bei früheren Verfahren der Bewegungsoptimierung ist die Anfangsbezugsstrecke typischerweise unkritisch als eine gerade Linie vom Startpunkt zum Zielpunkt festgelegt. Mittels Verfahren der vorliegenden Offenlegung wird eine verfeinerte Anfangsbezugsstrecke basierend auf einer zuvor berechneten Strecke erzeugt, die ähnliche Start- und Zielpunkte aufweist. Dieses Verfahren wird nachstehend ausführlich erörtert, was zurück zur Erörterung der Berechnungen im Kästchen 206 führt.
  • Im Kästchen 208 wird das Problem der Bewegungsoptimierung in der Robotersteuereinheit modelliert. Modellierung des Bewegungsoptimierungsproblems umfasst das Festlegen einer Zielfunktion und verschiedener Beschränkungsfunktionen. Das Bewegungsoptimierungsproblem kann an sich festgelegt werden, um eine optimale Strecke q wie folgt zu finden: q = min    f ( q ) { q 1,..., q T }
    Figure DE102021107495A1_0001
    sodass: g ( q ) 0
    Figure DE102021107495A1_0002
    h ( q ) = 0
    Figure DE102021107495A1_0003
    wobei f (q) die Zielfunktion der Optimierung ist (wie etwa eine Streckenlänge des Werkzeugmittelpunkts), die über die gesamte Roboterbewegung einschließlich Posen q = {q1, ..., qT} zu minimieren ist, g(q) Ungleichheitsbeschränkungen sind, die erfüllt sein müssen (wie etwa: innerhalb von Grenzen bleibende Gelenkpositionen, Gelenkgeschwindigkeiten, Beschleunigungen und Erschütterung und Geschwindigkeit des Werkzeugmittelpunkts, Beschleunigung und Erschütterung, die unterhalb von Grenzen bleiben; und eine typisch festgelegte Kollisionsvermeidungsbeschränkung, wobei der Mindestabstand von Roboter zu Hindernis größer als ein Schwellenwert dsafe für alle Posen des Roboters in der Bewegungslösung) sein muss, h(q) Gleichheitsbeschränkungen sind, die erfüllt sein müssen (wie etwa: die Positionen der Start- und Zielpunkte eingehalten werden müssen; und Gleichungen der Systemdynamik oder Bewegungslehre erfüllt sein müssen).
  • Beim Kästchen 210 wird das Optimierungsproblem gelöst. Die Optimierungslösung ist eine iterative Berechnung, die mit einer Bewertung der Beschränkungen und einer Zielfunktion für die Anfangsbezugsstrecke q beginnt, wobei zusätzliche Strecken bis zur Näherung an eine Lösung, in der die Beschränkungen erfüllt sind und sich die Zielfunktion auf einem Minimum befindet, bewertet werden. Um das Näherungsverhalten der Berechnungen zu verbessern, kann das Problem der Optimierung vor einer Lösung konvexifiziert werden. Das Optimierungsproblem zu konvexifizieren, umfasst das Approximieren einer oder mehrerer der Beschränkungen als Polynomzeitfunktionen, wobei die daraus resultierende Berechnung leichter lösbar ist und nur eine optimale Lösung ergibt. In einer Ausführungsform wird die Ungleichheitsbeschränkung der Kollisionsvermeidung linearisiert, indem sie als eine Taylorentwicklung 1. Ordnung approximiert wird.
  • Nach der optionalen Konvexifizierung wird das Optimierungsproblem beim Kästchen 210 mit einer Prüfung an der Entscheidungsraute 212 gelöst, um zu bestimmen, ob sich die Lösung innerhalb einer vorgegebenen Toleranz angenähert hat. Beim Kästchen 214 wird die angenäherte Optimierungslösung interpoliert, um eine gesamte Bewegungsbahn des Roboters einschließlich aller Gelenkbewegungen und der Werkzeugbewegung festzulegen, welche die Beschränkungsfunktionen erfüllt - einschließlich einer Beschränkung der Kollisionsvermeidung, Beschränkungen einer Gelenkbewegung und dem Werkzeug, das die präzisierten Start- und Zielpunkte (qstart, qziel) aufweist.
  • Wenn an der Entscheidungsraute 212 eine angenäherte Lösung erreicht ist, wird die geplante Strecke beim Kästchen 216 außerdem in einer Datenbank oder einem Datenbehälter als eine Strecke p gespeichert. Entsprechend den Verfahren der vorliegenden Offenlegung kann die gespeicherte Strecke p, die eine Vielzahl von Streckenpunkten (p0, ..., p1) enthält, als Basis für eine neue Anfangsbezugsstrecke in einer späteren Optimierungsfolge der Bewegungsplanung genutzt werden. Im Laufe der Zeit wird im Datenbehälter eine große Anzahl von geplanten Strecken für eine gegebene Aufstellung eines Roboterarbeitsraums gespeichert.
  • Es wird ein Fall betrachtet, bei dem eine neue Optimierungsberechnung der Bewegungsplanung gemäß dem Ablaufdiagramm 200 von 2 durchzuführen ist. Beim Kästchen 206 kann eher eine verfeinerte Anfangsbezugsstrecke unter Nutzung der offengelegten Verfahren berechnet werden als eine unkritische Anfangsbezugsstrecke, wie etwa eine geradlinige Strecke von qstart zu qziel, zu verwenden. Wenn man beim Kästchen 206 darauf stößt, eine Anfangsbezugsstrecke zu erzeugen, bewegt sich der Vorgang zum Kästchen 218, wo eine angehende Strecke von den vielen im Datenbehälter gespeicherten, geplanten Strecken ausgewählt wird. Die angehende Strecke wird in erster Linie auf der Basis von Ähnlichkeit oder Nähe der Start- und Zielpunkte (qstart, qziel) der neuen Strecke zu dem Anfang und zu den Endpunkten (p0, p1) der gespeicherten, geplanten Strecke ausgewählt. Bei Auswahl der angehenden Strecke können auch andere Faktoren berücksichtigt werden - wie etwa die Qualität der Lösung (Konvergenzniveau), die Gleichheit von zu umgehenden Hindernissen entlang der Strecke, usw. Nachdem die angehende Strecke aus dem Speicher zuvor geplanter Strecken beim Kästchen 218 ausgewählt ist, kehrt der Vorgang zum Kästchen 206 zurück, um eine verfeinerte Anfangsbezugsstrecke zu berechnen.
  • 3A, 3B und 3C sind Abbildungen eines Verfahrens zur Modifizierung einer zuvor berechneten Strecke basierend auf Start- und Zielpunkten einer neuen Strecke, um eine verfeinerte Anfangsbezugsstrecke nach einer Ausführungsform der vorliegenden Offenlegung bereitzustellen. Das gegenwärtig offenbarte Verfahren umfasst die im Bereich 220 enthaltenen Schritte, die in 2 mit einer gestrichelten Umrisslinie dargestellt sind. Die Berechnung einer in 3A, 3B und 3C dargestellten, verfeinerten Anfangsbezugsstrecke erscheint im Kästchen 206 innerhalb des Bereichs 220.
  • In 3A ist eine Strecke 310 dargestellt. Die Strecke 310 ist die angehende Strecke, die beim Kästchen 218 aus der Ablage von im Kästchen 216 gespeicherten, zuvor geplanten Strecken ausgewählt ist. Die Strecke 310 umfasst eine Vielzahl von Punkten pα, einschließlich eines ersten Punktes 312 (p0) und eines letzten Punktes 314 (p1). Wie früher erwähnt, sollten der erste Punkt 312 (p0) und der letzte Punkt 314 (p1) der angehenden Strecke 310 in ziemlich enger Nachbarschaft jeweils zu den Start- und Zielpunkten (qstart, qziel) der zu planenden neuen Strecke liegen.
  • In 3B ist der erste Punkt 312 (p0) der angehenden Strecke 310 nahe einem ersten Punkt 322 (q0) der festzulegenden Anfangsbezugsstrecke dargestellt. Der erste Punkt 322 (q0) der festzulegenden Anfangsbezugsstrecke ist mit dem Startpunkt (qstart) der zu planenden Strecke gleichbedeutend. Eine Abweichung 3320) ist als Vektordifferenz zwischen dem ersten Punkt 322 (q0) der festzulegenden Anfangsbezugsstrecke und dem ersten Punkt 312 (p0) der angehenden Strecke 310 festgelegt. Das heißt: δ 0 = q 0 p 0
    Figure DE102021107495A1_0004
  • In gleicher Weise ist der letzte Punkt 314 (p1) der angehenden Strecke 310 nahe einem letzten Punkt 324 (q1) der festzulegenden Anfangsbezugsstrecke dargestellt. Der letzte Punkt 324 (q1) der festzulegenden Anfangsbezugsstrecke ist gleichbedeutend mit dem Zielpunkt (qziel) der zu planenden Strecke. Eine Abweichung 3341) ist als Vektordifferenz zwischen dem letzten Punkt 324 (q1) der festzulegenden Anfangsbezugsstrecke und dem letzten Punkt 324 (p1) der angehenden Strecke 310 festgelegt. Das heißt, die Abweichung 334 wird berechnet als: δ 1 = q 1 p 1
    Figure DE102021107495A1_0005
  • In 3C schließt eine neue Anfangsbezugsstrecke 340 eine Vielzahl von aus den Punkten qα der angehenden Strecke 310 berechneten Punkten pα , die Abweichungen (δ0, δ1) an beiden Enden und den proportionalen Abstand α entlang der Strecke ein. Das heißt, jeder Punkt in der neuen Anfangsbezugsstrecke 340 wird berechnet als: q α = p α + ( 1 α ) δ 0 + α δ 1
    Figure DE102021107495A1_0006
    wobei jedes α im Bereich von Null bis Eins (α ∈ [0,1] liegt.
  • In 3C ist ersichtlich, dass die neue Anfangsbezugsstrecke 340 eine Form besitzt, die der der angehenden Strecke 310 sehr ähnlich ist. Durch Vertauschen und Skalieren der angehenden Strecke 310 wie oben festgelegt, weist die neue Anfangsbezugsstrecke 340 Endpunkte auf, die mit den Start- und Zielpunkten (qstart, qziel) der zu planenden, neuen Strecke zusammenpassen. Außerdem wird die neue Anfangsbezugsstrecke 340, wenn die angehende Strecke 310 aus einem Bestand von zuvor geplanten Strecken ausgewählt ist, welche die gleiche oder ähnliche Umgebung wie die zu planende neue Strecke aufweisen, eine Form besitzen, die eine gute Näherung für eine optionale Strecke ist. Die neue Anfangsbezugsstrecke 340 ist vielleicht nicht ganz optimal - das heißt, sie kann ein wenig zu weit weg von den Hindernissen verlaufen (und somit die Zielfunktion nicht minimieren), oder sie kann ein wenig zu nahe an den Hindernissen verlaufen (und somit keine Ungleichheitsbeschränkung der Kollisionsvermeidung erfüllen) - jedoch dient die neue Anfangsbezugsstrecke 340 als sehr guter Anfangspunkt (Anfangsiteration) für die Optimierungsberechnung. Die neue Anfangsbezugsstrecke 340 ist für das Kästchen 208 des Ablaufdiagramms 200 zum Modellieren und Lösen des Optimierungsproblems vorgesehen.
  • 4 ist ein Diagramm 400, das im Vergleich zu früheren Verfahren das Näherungsverhalten der Bewegungsplanungsoptimierung der vorliegenden Offenlegung bildlich darstellt. Das Diagramm 400 stellt grafisch Werte der Zielfunktion f auf einer vertikalen Achse 410 im Vergleich zu Werten einer Zustandsvariablen x auf einer horizontalen Achse 420 dar. Die zu berechnende optimierte Strecke wird durch einen Zustand x dargestellt. Das Diagramm 400 schließt eine Kurve 430 ein, die Iteration und Näherungsverhalten einer Optimierungsberechnung der Bewegungsplanung darstellt, welche mit einer unkritischen Anfangsbezugsstrecke beginnt. Die Kurve 430 umfasst eine ziemlich große Anzahl von Iterationen, wobei ersichtlich ist, dass sie um Iterationen wandert und einschließt, die nicht gleichmäßig und direkt zum Zustand x des optimierten Lösungspfades führen. Dies ist die Eigenschaft des Näherungsverhaltens bei komplexen Optimierungsproblemen, wenn die Anfangsbezugslösung von der optimalen Lösung weit weg ist.
  • Das Diagramm 400 enthält auch eine Kurve 400, die eine Iteration und das Näherungsverhalten einer Optimierungsberechnung der Bewegungsplanung zeigt, die mit einer verfeinerten Anfangsbezugsstrecke gemäß Ausführungsformen der vorliegenden Offenlegung beginnt. Die verfeinerte Anfangsbezugsstrecke wird 3A, 3B und 3C entsprechend, und wie oben erörtert, berechnet. Die Kurve 440 umfasst eine kleine Anzahl von Iterationen, wobei ersichtlich ist, dass sie direkt zum Zustand x des optimierten Lösungspfades führt. Dieses schnelle Näherungsverhalten stellt aufgrund der Ähnlichkeit der verfeinerten Anfangsbezugsstrecke mit der optimalen Strecke einen bedeutenden Nutzen der gegenwärtig offengelegten Verfahren dar. Bei allen Berechnungsanwendungen einer Bewegungsplanung ist die sich aus der verfeinerten Anfangsbezugsstrecke ergebende schnelle Näherung wünschenswert und ist besonders wünschenswert, wenn Berechnungen der Bewegungsplanung für robotergesteuerte Anwendungen mit eindeutigen Start- und/oder Zielpunkten für jede Aufgabe in Echtzeit durchgeführt werden müssen.
  • 5 ist ein Diagramm 500, das die Berechnungszeit einer Bewegungsplanungsoptimierung für die Verfahren der vorliegenden Offenlegung im Vergleich zu früheren Verfahren bildlich darstellt. Das Diagramm 500 stellt grafisch auf einer vertikalen Achse 510 eine Optimierung (Berechnung) der Bewegungsplanung dar im Vergleich zu einer Anzahl von Interpolationspunkten (die Anzahl von Punkten α) in der zu berechnenden Strecke auf einer horizontalen Achse 520. Das Diagramm 500 enthält eine die Berechnungszeiten darstellende Kurve 530 auf einer typischen Robotersteuereinheit für eine Optimierungsberechnung der Bewegungsplanung, die mit einer unkritischen Anfangsbezugsstrecke beginnt. Die Kurve 530 steigt drastisch für größere Zahlen von Interpolationspunkten an, wobei sich Berechnungszeiten einer Sekunde annähern. Dies ist wiederum die Eigenschaft des Näherungsverhaltens bei komplexen Optimierungsproblemen, wenn die Anfangsbezugslösung weit weg von der optimalen Lösung ist, und die zu Berechnungszeiten führt, die zu lange sind, um in Echtzeit ausgeführt zu werden.
  • Das Diagramm 500 enthält außerdem eine die Berechnungszeiten darstellende Kurve 540 auf der gleichen typischen Robotersteuereinheit für eine Optimierungsberechnung der Bewegungsplanung, die mit einer verfeinerten Anfangsbezugsstrecke beginnt, gemäß Ausführungsformen der vorliegenden Offenlegung. Die Kurve 540 steigt für größere Zahlen von Interpolationspunkten nur leicht an, bei Berechnungszeiten nahe oder unter 0,2 Sekunden - um einen Faktor von 3 bis 4 weniger als die entsprechenden Berechnungszeiten, die sich aus einer unkritischen Anfangsbezugsstrecke ergeben.
  • Wenn Berechnungen der Bewegungsplanung für robotergesteuerte Anwendungen mit eindeutigen Start- und/oder Zielpunkten für jede Aufgabe in Echtzeit durchgeführt werden müssen, ist die Differenz zwischen den in 5 dargestellten Berechnungszeiten der Bewegungsplanung besonders signifikant. Die gegenwärtig offengelegten Verfahren ermöglichen es, schnell genug Berechnungen der Bewegungsplanung auszuführen, um einen Arbeitsgang des Roboters mit voller Geschwindigkeit aufrechtzuerhalten, wobei Verfahren der Bewegungsplanung im Stand der Technik mit einer unkritischen Anfangsbezugsstrecke es erfordern können, die Robotergeschwindigkeit zu reduzieren, um darauf zu warten, dass Berechnungen der Bewegungsplanung abgeschlossen sind.
  • 6A ist eine Darstellung eines Roboters 600 mit Bildspuren der vielen Streckeniterationen, die bei Optimierung der Bewegungsplanung unter Verwendung eines unkritischen Anfangsbezuges entsprechend an sich bekannter Verfahren berechnet werden. In 6A (und unten erörterte 6B) ist das Szenario, dass der Roboter 600 ein Werkstück von einem Gestell 610 aufgreift und das Werkstück in einen Behälter 620 legt. Das Gestell 610 könnte durch ein hereinführendes Förderband ersetzt werden, und der Behälter 620 könnte abgegrenzte Fächer darin aufweisen, wodurch es erforderlich ist, für jedes Werkstück eine neue Bewegungsstrecke zu berechnen.
  • In 6A erfordert die Optimierungsberechnung viele Iterationen, um eine Näherung an eine endgültige Strecke 640 nach Beginn mit einer unkritischen Anfangsbezugsstrecke 630 zu erreichen. Die zu jeder Iteration zugehörige Strecke ist in 6A gezeichnet. Die vielen Iterationen (Strecken 630, 632, 634, usw.) stellen die Punkte auf der Kurve 430 von 4 dar. Von der unkritischen (geradlinigen) Anfangsbezugsstrecke 630 ergeben die nächsten wenigen Iterationen Strecken, die sich aufzuwölben beginnen, jedoch nicht ausreichend, um Kollision zwischen dem durch die Seitenwand des Behälters 620 dargestellten Hindernis zu vermeiden. Schließlich wird die Strecke 640 gefunden, die sich hoch genug wölbt, sodass sie über der Seitenwand des Behälters 620 verläuft; wobei jedoch viele Iterationen nötig sind, um wegen fehlender Ähnlichkeit zur unkritischen Anfangsbezugsstrecke 630 die Strecke 640 zu finden.
  • 6B ist eine Darstellung des Roboters 600 mit Bildspuren der wenigen Streckeniterationen, die bei Optimierung der Bewegungsplanung unter Verwendung eines verfeinerten Anfangsbezugs gemäß Ausführungsformen der vorliegenden Offenlegung berechnet werden. In 6B erfordert die Optimierungsberechnung wenige Iterationen, um eine Näherung an eine endgültige Strecke 660 nach Beginn mit einer verfeinerten Anfangsbezugsstrecke 650 zu erreichen. Die wenigen Iterationen (die Strecken 650 und 660 und nur eine dazwischen liegende) stellen die Punkte auf der Kurve 440 von 4 dar. Die verfeinerte Anfangsbezugsstrecke 650 ist der endgültigen Strecke 660 so ähnlich, dass die Optimierungsberechnung sich in gerade zwei Iterationen nach dem Anfangsbezug annähert. 6B stellt optisch die mit dem Optimierungsverfahren der Bewegungsplanung unter Verwendung einer verfeinerten Anfangsbezugsstrecke gemäß der vorliegenden Offenlegung verbundene Leistungsfähigkeit dar. Die Leistungsfähigkeit führt zu viel kürzeren Berechnungszeiten als Verfahren im Stand der Technik, was eine Bewegungsplanung für Anwendungen in Echtzeit ermöglicht, bei denen für jedes Werkstück eine neue Strecke berechnet werden muss.
  • In der vorhergehenden Erörterung sind durchweg verschiedene Computer und Steuereinheiten beschrieben und eingeschlossen. Es soll verständlich werden, dass die Softwareanwendungen und Module dieser Computer und Steuereinheiten auf einem oder mehreren Rechengeräten mit einem Prozessor und einem Speichermodul abgearbeitet werden. Insbesondere schließt dies einen Prozessor in der oben erörterten Robotersteuereinheit 110 von 1 ein. Speziell ist der Prozessor in der Steuereinheit 110 gestaltet, eine verfeinerte Anfangsbezugsstrecke für Optimierungsberechnungen der Streckenplanung in der Weise bereitzustellen, die in der vorhergehenden Offenlegung und insbesondere im Ablaufdiagramm 200 durchweg beschrieben ist. Es ist auch möglich, dass ein anderer Computer die Optimierung der Bewegungsplanung durchführt und die berechnete Strecke der Steuereinheit 110 zur Verfügung stellt, wobei in diesem Fall die Steuereinheit 110 einfach den Roboter 100 steuert, und der andere Computer gestaltet ist, die verfeinerte Anfangsbezugsstrecke für Optimierungsberechnung in der Streckenplanung bereitzustellen und zu nutzen.
  • Wie oben behandelt, verbessern die offengelegten Verfahren für ein Optimierungsverfahren zur Bewegungsplanung von Robotern unter Verwendung einer verfeinerten Anfangsbezugsstrecke die Geschwindigkeit und Zuverlässigkeit einer Roboterstreckenplanung. Die offengelegten Verfahren bewirken eine viel schnellere Näherung an eine optimale Strecke als wahrgenommen wird, wenn eine unkritische Anfangsbezugsstrecke verwendet wird, wobei die schnelle Näherung es ermöglicht, eine Streckenplanung für Anwendungen, bei denen für jedes Werkstück eine neue Strecke berechnet werden muss, in Echtzeit durchzuführen.
  • Während oben eine Anzahl beispielhafter Aspekte und Ausführungsformen des Optimierungsverfahrens zur Bewegungsplanung von Robotern unter Verwendung einer verfeinerten Anfangsbezugsstrecke erörtert wurden, wird der Fachmann Modifizierungen, Vertauschungen, Ergänzungen und Unterkombinationen davon erkennen. Es ist deshalb beabsichtigt, dass die folgenden angefügten Ansprüche und danach eingeführte Ansprüche alle diese Modifizierungen, Vertauschungen, Ergänzungen und Unterkombinationen, wie sie innerhalb ihres wahren Geistes und Geltungsbereichs bestehen, einschließen.

Claims (20)

  1. Verfahren zur Bewegungsplanung eines Industrieroboters, wobei das Verfahren umfasst: Bereitstellen von Eingabeinformationen zur Planung eines Weges eines Werkzeugs an dem Roboter einschließlich eines Startpunktes und eines Zielpunktes für den Weg des Werkzeugs; Erzeugen eine Anfangsbezugsstrecke, das das Auswählen einer angehenden Strecke aus dem Speicher von zuvor berechneten Strecken und das Vertauschen und Skalieren der angehenden Strecke einschließt, um die Anfangsbezugsstrecke mit ersten und letzten Punkten zu erzeugen, die mit dem Startpunkt bzw. dem Zielpunkt übereinstimmen; Modellieren eines Optimierungsproblems der Roboterbewegung durch einen Computer mit einem Prozessor und Speicher, das das Festlegen einer Zielfunktion und das Festlegen der Start- und Zielpunkte der Strecke als Gleichheitsbeschränkungen einschließt; Lösen des Optimierungsproblems der Roboterbewegung durch den Computer, um den Weg des Werkzeugs zu erbringen, wobei die Anfangsbezugsstrecke als eine erste Iteration beim Lösen des Optimierungsproblems verwendet wird; und Speichern der Strecke in dem Datenbehälter.
  2. Verfahren nach Anspruch 1, wobei Bereitstellen von Eingabeinformationen des Weiteren das Bereitstellen von Hindernisdaten umfasst, die Hindernisse in einem Arbeitsraum des Roboters festlegen, und Modellieren eines Optimierungsproblems der Roboterbewegung das Festlegen einer die Hindernisdaten nutzenden Ungleichheitsbeschränkung der Kollisionsvermeidung umfasst.
  3. Verfahren nach Anspruch 2, wobei die Ungleichheitsbeschränkung der Kollisionsvermeidung ist, dass ein Mindestabstand von Roboter zu Hindernis für jede berechnete Pose des Roboters einen vorher festgelegten Schwellenwert überschreiten muss.
  4. Verfahren nach Anspruch 1, wobei Auswählen einer angehenden Strecke das Auswählen der angehenden Strecke basierend auf der Nähe eines ersten und letzten Punktes der angehenden Strecke jeweils zu dem Startpunkt und dem Zielpunkt umfasst.
  5. Verfahren nach Anspruch 4, wobei Auswählen einer angehenden Strecke des Weiteren das Auswählen der angehenden Strecke basierend auf einer Qualität der Lösung der angehenden Strecke und/oder einer beim Berechnen der angehenden Strecke verwendeten Hindernisumgebung umfasst.
  6. Verfahren nach Anspruch 1, wobei Vertauschen und Skalieren der angehenden Strecke zum Festlegen der Anfangsbezugsstrecke das Berechnen einer ersten Abweichung eines ersten Punktes der angehenden Strecke vom Startpunkt und einer zweiten Abweichung eines letzten Punktes der angehenden Strecke vom Zielpunkt und das Berechnen von Punkten auf der Anfangsbezugsstrecke durch proportionales Anwenden der ersten Abweichung und der zweiten Abweichung entlang einer Länge der angehenden Strecke umfasst.
  7. Verfahren nach Anspruch 6, wobei Punkte auf der Anfangsbezugsstrecke durch eine Gleichung: q α = p α + ( 1 α ) δ 0 + α δ 1
    Figure DE102021107495A1_0007
    berechnet werden, wobei qα ein Punkt auf der Anfangsbezugsstrecke ist, pα ein Punkt auf der angehenden Strecke ist, δ0 die erste Abweichung ist, δ1 die zweite Abweichung ist und α ein proportionaler Abstand entlang der angehenden Strecke in einem Bereich von Null bis Eins ist.
  8. Verfahren nach Anspruch 1, wobei Modellieren eines Optimierungsproblems der Roboterbewegung ferner das Festlegen einer Gleichheitsbeschränkung basierend auf Gleichungen der Systemdynamik oder Bewegungslehre für jedes Gelenk des Roboters und das Festlegen von Ungleichheitsbeschränkungen, einschließlich Rotationsgeschwindigkeit, Beschleunigung und Erschütterung von Robotergelenken, die vorher festgelegte Schwellenwerte nicht überschreiten, Geschwindigkeit, Beschleunigung und Erschütterung des Werkzeugmittelpunkts von Roboterwerkzeugen, die vorher festgelegte Schwellenwerte nicht überschreiten, und Gelenkpositionen, die vorher festgelegte Grenzen nicht überschreiten, umfasst.
  9. Verfahren nach Anspruch 1, wobei Lösen des Problems einer Bewegungsoptimierung das iterative Lösen des Bewegungsoptimierungsproblems umfasst, bis eine Lösung sich vorher festgelegten Näherungskriterien annähert.
  10. Verfahren nach Anspruch 1, des Weiteren umfassend Berechnen von Bewegungen aller Gelenke des Roboters, die bewirken, dass das Werkzeug dem Weg folgt, und Bereitstellen von Gelenkbewegungsbefehlen an den Roboter.
  11. Verfahren zur Planung einer Strecke eines Industrieroboters, wobei das Verfahren das Bereitstellen eines Startpunktes und eines Zielpunktes für einen Weg eines Werkzeugs am Roboter, das Erzeugen einer Anfangsbezugsstrecke durch Auswahl einer angehenden Strecke aus einem Datenbehälter von zuvor berechneten Strecken und das Vertauschen und Skalieren der angehenden Strecke umfasst, um die Anfangsbezugsstrecke mit ersten und letzten Punkten zu erzeugen, die jeweils mit dem Startpunkt und Zielpunkt übereinstimmen, Modellieren und Lösen eines Optimierungsproblems der Roboterbewegung unter Verwendung der Anfangsbezugsstrecke als eine erste Iteration, um den Weg des Werkzeugs zu erbringen, und Speichern der Strecke in dem Datenbehälter .
  12. Verfahren nach Anspruch 11, wobei Modellieren eines Optimierungsproblems der Roboterbewegung ferner das Festlegen einer Gleichheitsbeschränkung basierend auf Gleichungen der Systemdynamik oder Kinematik für jedes Gelenk des Roboters, das Festlegen von Ungleichheitsbeschränkungen basierend auf Position, Geschwindigkeit, Beschleunigung und Grenzen der Erschütterung von Gelenken und Festlegen einer Ungleichheitsbeschränkung der Kollisionsvermeidung basierend auf Hindernisdaten des Roboterarbeitsraums umfasst.
  13. Streckenplanungssystem für einen Industrieroboter, wobei das System umfasst: Einrichtungen zur Bereitstellung von Eingabeinformationen zur Planung eines Weges eines Werkzeugs am Roboter einschließlich eines Startpunktes und eines Zielpunktes für den Weg des Werkzeugs; und einen Computer in Verbindung mit dem Roboter, wobei der Computer einen Prozessor und Speicher aufweist, die ausgelegt sind zum: Erzeugen einer Anfangsbezugsstrecke einschließlich des Auswählens einer angehenden Strecke aus einem Datenbehälter von zuvor berechneten Strecken und des Vertauschens und Skalierens der angehenden Strecke, um die Anfangsbezugsstrecke mit ersten und letzten Punkten zu erzeugen, die jeweils mit dem Startpunkt und dem Zielpunkt übereinstimmen; Modellieren eines Optimierungsproblems der Roboterbewegung einschließlich des Festlegens einer Zielfunktion und des Festlegens der Start- und Zielpunkte der Strecke als Gleichheitsbeschränkungen; Lösen des Optimierungsproblems der Roboterbewegung, um den Weg des Werkzeugs zu erbringen, wobei die Anfangsbezugsstrecke als eine erste Iteration beim Lösen des Optimierungsproblems verwendet wird; und Speichern der Strecke in dem Datenbehälter.
  14. System nach Anspruch 13, wobei Bereitstellen von Eingabeinformationen des Weiteren das Bereitstellen von Hindernisdaten umfasst, die Hindernisse in einem Arbeitsraum des Roboters festlegen, und Modellieren eines Optimierungsproblems der Roboterbewegung das Festlegen einer Ungleichheitsbeschränkung der Kollisionsvermeidung unter Verwendung der Hindernisdaten umfasst, wobei die Ungleichheitsbeschränkung der Kollisionsvermeidung ist, dass ein Mindestabstand von Roboter zu Hindernis für jede berechnete Pose des Roboters einen vorher festgelegten Schwellenwert überschreiten muss.
  15. System nach Anspruch 13, wobei Auswählen einer angehenden Strecke das Auswählen der angehenden Strecke basierend auf der Nähe eines ersten und letzten Punktes der angehenden Strecke zu jeweils dem Startpunkt und dem Zielpunkt umfasst.
  16. System nach Anspruch 15, wobei Auswählen einer angehenden Strecke ferner das Auswählen der angehenden Strecke basierend auf einer Qualität der Lösung der angehenden Strecke und/oder einer Hindernisumgebung basiert, die beim Berechnen der angehenden Strecke verwendet werden.
  17. System nach Anspruch 13, wobei Vertauschen und Skalieren der angehenden Strecke zum Festlegen der Anfangsbezugsstrecke das Berechnen einer ersten Abweichung eines ersten Punktes der angehenden Strecke vom Startpunkt und einer zweiten Abweichung eines letzten Punktes der angehenden Strecke vom Zielpunkt, und das Berechnen von Punkten auf der Anfangsbezugsstrecke durch proportionales Anwenden der ersten Abweichung und der zweiten Abweichung entlang einer Länge der angehenden Strecke umfasst.
  18. System nach Anspruch 13, wobei Modellieren eines Optimierungsproblems der Roboterbewegung außerdem das Festlegen einer Gleichheitsbeschränkung basierend auf Gleichungen der Systemdynamik oder Kinematik für jedes Gelenk des Roboters und das Festlegen von Ungleichheitsbeschränkungen umfasst, einschließlich Rotationsgeschwindigkeit, Beschleunigung und Erschütterung von Robotergelenken, die vorher festgelegte Schwellenwerte nicht überschreiten, Geschwindigkeit, Beschleunigung und Erschütterung des Werkzeugarbeitspunktes von Robotern, die vorher festgelegte Schwellenwerte nicht überschreiten, und Gelenkpositionen, die vorher festgelegte Grenzen nicht überschreiten.
  19. System nach Anspruch 13, wobei Lösen des Bewegungsoptimierungsproblems das iterative Lösen des Bewegungsoptimierungsproblems umfasst, bis eine Lösung sich vorher festgelegten Näherungskriterien annähert.
  20. System nach Anspruch 13, wobei der Computer außerdem ausgelegt ist zum Berechnen von Bewegungen aller Gelenke des Roboters, die bewirken, dass das Werkzeug dem Weg folgt, und Bereitstellen von Befehlen der Gelenkbewegung an den Roboter.
DE102021107495.9A 2020-04-03 2021-03-25 Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern Pending DE102021107495A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/839,720 2020-04-03
US16/839,720 US11707843B2 (en) 2020-04-03 2020-04-03 Initial reference generation for robot optimization motion planning

Publications (1)

Publication Number Publication Date
DE102021107495A1 true DE102021107495A1 (de) 2021-10-07

Family

ID=77749842

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021107495.9A Pending DE102021107495A1 (de) 2020-04-03 2021-03-25 Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern

Country Status (4)

Country Link
US (1) US11707843B2 (de)
JP (1) JP2021175590A (de)
CN (1) CN113552877A (de)
DE (1) DE102021107495A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113894795A (zh) * 2021-11-17 2022-01-07 青岛九维华盾科技研究院有限公司 一种工业机器人外部轴位置优化方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022077229A (ja) * 2020-11-11 2022-05-23 富士通株式会社 動作制御プログラム、動作制御方法、および動作制御装置
US20220152816A1 (en) * 2020-11-13 2022-05-19 Intrinsic Innovation Llc Decentralized robotic operating environment optimization
US11945117B2 (en) 2021-03-10 2024-04-02 Samsung Electronics Co., Ltd. Anticipating user and object poses through task-based extrapolation for robot-human collision avoidance
US20220288777A1 (en) * 2021-03-10 2022-09-15 Samsung Electronics Company, Ltd. Parameterized Waypoint Generation on Dynamically Parented Non-Static Objects for Robotic Autonomous Tasks
US11833691B2 (en) 2021-03-30 2023-12-05 Samsung Electronics Co., Ltd. Hybrid robotic motion planning system using machine learning and parametric trajectories
CN114035590B (zh) * 2021-12-20 2023-12-29 安徽省配天机器人集团有限公司 一种机器人的轨迹规划方法、装置、设备及介质
DK202200652A1 (en) * 2022-07-06 2024-02-16 Onrobot As Method and System for Generating a Path for a Robot Arm and a Tool Attached to the Robot Arm

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4403281A (en) * 1981-04-03 1983-09-06 Cincinnati Milacron Industries, Inc. Apparatus for dynamically controlling the tool centerpoint of a robot arm off a predetermined path
US6216058B1 (en) * 1999-05-28 2001-04-10 Brooks Automation, Inc. System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes
WO2004067232A2 (en) * 2003-01-31 2004-08-12 Thermo Crs Ltd. Syntactic inferential motion planning method for robotic systems
JP4087841B2 (ja) * 2004-12-21 2008-05-21 ファナック株式会社 ロボット制御装置
WO2008154932A1 (en) * 2007-06-18 2008-12-24 Syddansk Universitet Determining a robot path
US20100114338A1 (en) 2008-10-31 2010-05-06 Gm Global Technology Operations, Inc. Multi-goal path planning of welding robots with automatic sequencing
KR20110015765A (ko) 2009-08-10 2011-02-17 삼성전자주식회사 로봇의 경로계획장치 및 그 방법
KR101667029B1 (ko) 2009-08-10 2016-10-17 삼성전자 주식회사 로봇의 경로 계획방법 및 장치
KR101732902B1 (ko) 2010-12-27 2017-05-24 삼성전자주식회사 로봇의 경로 계획 장치 및 그 방법
CN104010774B (zh) 2011-09-15 2017-10-13 康富真信息技术股份有限公司 用于自动生成机器人程序的系统和方法
JP5724919B2 (ja) 2012-03-22 2015-05-27 トヨタ自動車株式会社 軌道生成装置、移動体、軌道生成方法及びプログラム
JP5426722B2 (ja) 2012-05-24 2014-02-26 ファナック株式会社 ロボットプログラム変更装置
WO2014056533A1 (en) 2012-10-11 2014-04-17 Abb Technology Ltd A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position
US9764469B1 (en) 2013-12-13 2017-09-19 University Of South Florida Generating robotic trajectories with motion harmonics
DE102015204641B4 (de) 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Verfahren und System zur Programmierung eines Roboters
US9381643B2 (en) * 2014-07-03 2016-07-05 GM Global Technology Operations LLC Dynamical system-based robot velocity control
US10105849B1 (en) * 2015-07-14 2018-10-23 Glen C Wernersbach Manufacturing system having robotic apparatus
JP2017077609A (ja) 2015-10-21 2017-04-27 ファナック株式会社 ロボットの手首部の機構パラメータを校正する校正装置および校正方法
WO2017223061A1 (en) * 2016-06-20 2017-12-28 Hypertherm, Inc. Systems and methods for planning paths to guide robots
US9981383B1 (en) * 2016-08-02 2018-05-29 X Development Llc Real-time trajectory generation for actuators of a robot to reduce chance of collision with obstacle(s)
DE102016120763B4 (de) 2016-10-31 2019-03-14 Pilz Gmbh & Co. Kg Verfahren zur kollisionsfreien Bewegungsplanung
JP6998660B2 (ja) * 2017-02-21 2022-01-18 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
US10766140B2 (en) 2017-04-13 2020-09-08 Battelle Memorial Institute Teach mode collision avoidance system and method for industrial robotic manipulators
WO2019011416A1 (en) * 2017-07-11 2019-01-17 Telefonaktiebolaget Lm Ericsson (Publ) METHODS AND ARRANGEMENTS FOR CONTROLLING A ROBOT DEVICE IN A CLOUD
US20190184561A1 (en) * 2017-12-15 2019-06-20 The Regents Of The University Of California Machine Learning based Fixed-Time Optimal Path Generation
CN109976148B (zh) 2017-12-28 2022-02-22 深圳市优必选科技有限公司 机器人运动路径规划方法、装置、存储介质及终端设备
JP6823015B2 (ja) * 2018-07-17 2021-01-27 ファナック株式会社 ロボットシステム
US10946519B1 (en) * 2018-11-30 2021-03-16 X Development Llc Offline computation and caching of precalculated joint trajectories
US20200278686A1 (en) * 2019-02-28 2020-09-03 University Of South Carolina Iterative Feedback Motion Planning
CN114466730B (zh) * 2019-08-23 2023-05-23 实时机器人有限公司 用于使机器人优化速度同时保持对加速度和加加速度的限制的运动规划
US20210197378A1 (en) * 2019-12-27 2021-07-01 X Development Llc Offline robot planning with online adaptation
US20220063099A1 (en) * 2020-09-03 2022-03-03 Fanuc Corporation Framework of robotic online motion planning

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113894795A (zh) * 2021-11-17 2022-01-07 青岛九维华盾科技研究院有限公司 一种工业机器人外部轴位置优化方法
CN113894795B (zh) * 2021-11-17 2023-11-28 青岛九维华盾科技研究院有限公司 一种工业机器人外部轴位置优化方法

Also Published As

Publication number Publication date
JP2021175590A (ja) 2021-11-04
US20210308865A1 (en) 2021-10-07
US11707843B2 (en) 2023-07-25
CN113552877A (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
DE102021107495A1 (de) Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern
DE112021001104T5 (de) Bewegungsplanungsverfahren mit kollisionsvermeidung für industrieroboter
DE102018122376B3 (de) Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
EP3013537B2 (de) Verfahren und system zur programmierung eines roboters
EP2563553B1 (de) Verfahren und steuermittel zum steuern eines roboters
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102016120763B4 (de) Verfahren zur kollisionsfreien Bewegungsplanung
DE112010005978B4 (de) Verfahren und Vorrichtung zum Erschaffen eines numerisch gesteuerten Bearbeitungsprogramms und Programm zum Veranlassen eines Computers zum Realisieren desselben Verfahrens
DE102011082800B4 (de) System und Verfahren zur automatisierten Erstellung von Roboterprogrammen
DE102006007623B4 (de) Roboter mit einer Steuereinheit zum Steuern einer Bewegung zwischen einer Anfangspose und einer Endpose
DE102017222057B4 (de) Robotersystem
DE102021107453A1 (de) Schnelle roboterbewegungsoptimierung mit distanzfeld
DE102014018973B4 (de) Numerische Steuerung zum Glätten des Werkzeugwegs im Betrieb basierend auf Daten in Tabellenform
DE112016005365T5 (de) Direktes Lehrverfahren eines Roboters
DE102013008755B4 (de) Offline-Programmiersystem
DE102021120633A1 (de) Verfahren und system zur industrieroboter-bewegungssteuerung
DE102021107568A1 (de) Adaptive planung von zugriffen zum aufheben von behältern
DE19625637A1 (de) Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
DE102020128261A1 (de) Zustandsmaschine für dynamische Streckenplanung
EP3115857A1 (de) Trajektorienbestimmungsverfahren für nebenzeitbewegungen
EP3225366B1 (de) Positionsüberwachung einer kinematik
DE102022107249A1 (de) Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben
DE102012206952A1 (de) Verfahren und Vorrichtung zur Steuerung der Bewegung einer beweglichen Einheit im Raum
DE102012022190B4 (de) Inverse Kinematik
DE102016009436B4 (de) Robotersteuerung, die ein Rütteln einer Werkzeugspitze bei einem Roboter verhindert, der mit einer Verfahrachse ausgestattet ist