DE102021204148B3 - Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen - Google Patents

Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen Download PDF

Info

Publication number
DE102021204148B3
DE102021204148B3 DE102021204148.5A DE102021204148A DE102021204148B3 DE 102021204148 B3 DE102021204148 B3 DE 102021204148B3 DE 102021204148 A DE102021204148 A DE 102021204148A DE 102021204148 B3 DE102021204148 B3 DE 102021204148B3
Authority
DE
Germany
Prior art keywords
coordinate axis
robot
path
collision
free
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.)
Active
Application number
DE102021204148.5A
Other languages
English (en)
Inventor
Marinus Danzer
Katja Pretnar
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.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
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 KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Priority to DE102021204148.5A priority Critical patent/DE102021204148B3/de
Priority to EP22718182.3A priority patent/EP4329992A1/de
Priority to PCT/EP2022/057931 priority patent/WO2022228792A1/de
Application granted granted Critical
Publication of DE102021204148B3 publication Critical patent/DE102021204148B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39135For multiple manipulators operating at same time, avoid collision

Abstract

Ein erfindungsgemäßes Verfahren zum koordinierten Abfahren einer ersten vorgegebenen Bahn (PTP1,1, PTP1,2, PTP1,3) mit einem ersten Roboter (10) und wenigstens einer zweiten vorgegebenen Bahn (PTP2,1, PTP2,2, PTP2,3) mit einem zweiten Roboter (20), wobei diese wenigstens zwei Roboter einander wenigstens teilweise überschneidende maximale Arbeitsräume aufweisen, mithilfe eines in Zellen diskretisierten Koordinationsraums umfasst die Schritte:Diskretisieren (S10) der ersten Koordinatenachse in erste Koordinatenachsabschnitte auf Basis eines vorgegebenen maximal zulässigen kartesischen Versatzes des ersten Roboters für die vorgegebenen Bahnsegmente der ersten Bahn derart, dass der maximale kartesische Versatz des ersten Roboters beim Abfahren jedes der ersten Koordinatenachsabschnitte jeweils kleiner als der vorgegebene maximal zulässige kartesische Versatz ist;Diskretisieren (S20) der zweiten Koordinatenachse auf Basis dieses vorgegebenen maximal zulässigen kartesischen Versatzes des ersten Roboters in kollisionsfreie zweite Koordinatenachsabschnitte und ausgeschlossene zweite Koordinatenachsabschnitte potentieller Kollisionen für die ersten Koordinatenachsabschnitte und vorgegebenen Bahnsegmente der zweiten Bahn; undErmitteln (S30) einer kollisionsfreien koordinierten Bewegung der wenigstens zwei Roboter entlang der vorgegebenen Bahnen mittels Vermeiden eines Durchfahrens von durch Kollisions-Abschnitte begrenzten Zellen des Koordinationsraums.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Abfahren einer ersten vorgegebenen Bahn mit einem ersten Roboter und einem damit koordinierten Abfahren wenigstens einer zweiten vorgegebenen Bahn mit einem zweiten Roboter, wobei diese wenigstens zwei Roboter einander wenigstens teilweise überschneidende maximale Arbeitsräume aufweisen, sowie ein System und Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens.
  • Roboter weisen häufig einander wenigstens teilweise überschneidende maximale Arbeitsräume auf, beispielsweise an Fließbändern oder dergleichen. Sollen solche Roboter vorgegebene Bahnen abfahren, können Kollisionen insbesondere durch entsprechend koordiniertes Abfahren der Bahnen vermieden werden.
  • Aus dem Aufsatz P.A. O'Donnell, T. Lorenzo-Perez, „Deadlock-free and collision-free coordination of two robot manipulators“, Proc. 1989 Int. Conf. On Robotics and Automation, Scottsdale, AZ, pp. 484-489, 1989, auf den ergänzend Bezug genommen und dessen Inhalt in die vorliegende Offenbarung aufgenommen wird, sind in Zellen diskretisierte Koordinationsräume bzw. -karten bekannt, deren Koordinatenachswerte Posen von zwei Robotern längs vorgegebener Bahnen zugeordnet sind. Indem Zellen, in denen Swept-Volumens der beiden Roboter einander wenigstens teilweise überschneiden, beim Abfahren der Bahnen bzw. Bewegungen längs der Koordinatenachsen der Koordinationskarte vermieden werden, können Kollisionen vermieden werden.
  • Aus dem Aufsatz F. Schwarzer, M, Saha, J.-C. Latombe, „Exact Collision Checking of Robot Paths“, Springer Tracts in Advanced Robotics 7.10.1007/978-3-540-45058-0_3, 2002, auf den ergänzend Bezug genommen und dessen Inhalt in die vorliegende Offenbarung aufgenommen wird, ist ein Verfahren bekannt, für eine PTP-Bewegung eines Roboters zwischen zwei Posen anhand seines Abstands zu einem Hindernis in beiden Posen sowie einem maximalen kartesischen Versatz des Roboters zwischen beiden Posen Kollisionsfreiheit zu prüfen bzw. zu gewährleisten.
  • Die DE 10 2019 102 803 A1 betrifft ein Simulationsverfahren zum Vorgeben einer relativen Position zwischen einer ersten Basis eines ersten Robotermanipulators und einer zweiten Basis eines zweiten Robotermanipulators, wobei ein erster Arbeitsraum des ersten Robotermanipulators ermittelt wird, wobei der erste Arbeitsraum eine endliche Vielzahl von Tupeln aus möglichen Positionen des ersten Endeffektors und möglichen Orientierungen des ersten Endeffektors an den jeweiligen Positionen des ersten Endeffektors angibt, wobei für jede aus einer vorgegebenen Vielzahl von möglichen relativen Positionen zwischen der ersten Basis und der zweiten Basis eine Anzahl von denjenigen Tupeln aus dem ersten Arbeitsraum als Bewertungsgröße ermittelt wird, für die ein zweiter Endeffektor des zweiten Robotermanipulators in einer vordefinierten Orientierung und/oder in einem vordefinierten Abstand jeweils relativ zum ersten Endeffektor positionierbar ist, und wobei diejenige relative Position zwischen der ersten Basis und der zweiten Basis mit der höchsten Bewertungsgröße ermittelt und ausgegeben wird.
  • Die DE 10 2017 129 959 A1 betrifft ein Verfahren zum Betrieb eines Systems mit mehreren Maschinen, wobei das System eine erste Maschine, eine zweite Maschine und eine Datenbankeinrichtung umfasst, wobei die erste und die zweite Maschine in einem gemeinsamen Arbeitsbereich angeordnet sind, wobei die erste Maschine mindestens eine Lageranordnung und mindestens ein starres Maschinenteil, insbesondere ein Glied eines Roboterarms, aufweist, das mittels der Lageranordnung bewegbar gelagert ist, mit folgenden Verfahrensschritten: in einem Erfassungsschritt wird eine relative Positionsinformation des Maschinenteils bezüglich eines lokalen Koordinatensystems, insbesondere eine Drehstellung, mittels eines Sensors der Lageranordnung erfasst, in einem dem Erfassungsschritt nachfolgenden ersten Übermittlungsschritt wird die erfasste relative Positionsinformation, insbesondere drahtlos, von der Lageranordnung an die Datenbankeinrichtung übermittelt, und in einem dem ersten Übermittlungsschritt nachfolgenden Berechnungsschritt wird die Position des Maschinenteils bezüglich eines Arbeitsbereich-Koordinatensystems in Abhängigkeit von der übermittelten Positionsinformation ermittelt und in der Datenbankeinrichtung gespeichert, und in einem dem Berechnungsschritt nachfolgenden zweiten Übermittlungsschritt wird die in der Datenbankeinrichtung gespeicherte Position des Maschinenteils an die zweite Maschine, insbesondere eine Steuereinrichtung der zweiten Maschine, bevorzugt drahtlos, übermittelt.
  • In der DE 10 2015 116 522 B3 wird ein Verfahren zum Synchronisieren der Bewegungsabläufe von mindestens zwei Robotern beschrieben, das gemäß einem Beispiel folgendes aufweist: Während des Betriebs einer Roboterzelle mit mindestens zwei Robotern wird für jeden der mindestens zwei Roboter regelmäßig ein Bahnparameter berechnet basierend auf einer aktuellen Position des jeweiligen Roboters und einer vorab festgelegten Roboterbahn des jeweiligen Roboters, wobei der Bahnparameter dabei die aktuelle Position des jeweiligen Roboters repräsentiert, anschließend wird für jeden Roboter ein Vorauseillimit berechnet basierend auf den für die jeweils anderen Roboter ermittelten Bahnparametern, basierend auf dem jeweils berechneten Vorauseillimit kann für jeden Roboter dessen Bahngeschwindigkeit angepasst werden.
  • Nach der DE 10 2012 103 830 A1 bestimmen ein System und Verfahren zur Steuerung der Vermeidung von Zusammenstößen und gegenseitigen Blockierungen in einer mehrere Roboter enthaltenden Bearbeitungskammer automatisch die Bedingungen von potenzieller gegenseitiger Blockierung und kennzeichnen eine Möglichkeit zur Vermeidung dieser Bedingungen.
  • Die DE 10 2008 013 400 B4 betrifft ein Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objektes mit einem oder mehreren anderen stationären oder im Raum bewegbaren zweiten Objekten, wobei rechnerunterstützt bahndatenrelevante Bereiche Koordinaten wenigstens eines ersten Objektes und eines zweiten Objektes in ein zweidimensionales Raster/eine Tabelle übertragen werden und in diesem Raster/dieser Tabelle nicht kollisionsgefährdete erste Bereiche und kollisionsgefährdete Bereiche dargestellt und daraus Verriegelungsbereiche mindestens eines Objektes festgelegt bestimmt werden.
  • Gegenstand der DE 196 25 637 A1 ist die Entwicklung eines leistungsfähigen und effizienten Konzeptes zur Erkennung von Kollisionen zwischen koordinierten Robotern bzw. in der Entwicklung eines Verfahrens zur Generierung kollisionsfreier Trajektorien für einen koordinierten Betrieb zweier Roboter in einem gemeinsamen Arbeitsraum.
  • Aufgabe der vorliegenden Erfindung ist es, das Abfahren vorgegebener Bahnen mit Robotern, die einander wenigstens teilweise überschneidende maximale Arbeitsräume aufweisen, zu verbessern.
  • Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 8, 9 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
  • Nach einer Ausführung der vorliegenden Erfindung sind ein Roboter, der ohne Beschränkung der Allgemeinheit als erster Roboter bezeichnet wird, und ein oder mehrere weitere Roboter, die entsprechend als zweite(r) Roboter bezeichnet wird/werden, vorgesehen, insbesondere geplant oder vorhanden bzw. installiert.
  • In einer Ausführung weisen die Roboter jeweils einen Roboterarm mit wenigstens drei, insbesondere wenigstens sechs, Gelenken, in einer Ausführung Drehgelenken, auf, können insbesondere hieraus bestehen. Hierfür ist die vorliegende Erfindung aufgrund der Kinematik und/oder Einsatzbedingungen und/oder -zwecke solcher Roboter(arme) besonders vorteilhaft, ohne hierauf beschränkt zu sein.
  • Nach einer Ausführung der vorliegenden Erfindung weisen der erste und der bzw. die zweite(n) Roboter einander wenigstens teilweise überschneidende maximale Arbeitsräume auf, d.h. können potentiell miteinander kollidieren.
  • Nach einer Ausführung der vorliegenden Erfindung sind für die Roboter jeweils, insbesondere geometrisch, Bahnen vorgegeben, in einer Ausführung Bahnen roboterfester Referenzen, beispielsweise eines TCPs bzw. Endflansches, und/oder im kartesischen Raum. Diese Bahnen werden entsprechend ohne Beschränkung der Allgemeinheit als erste Bahn (des ersten Roboters) bzw. zweite Bahn (des (jeweiligen) zweiten Roboters) bezeichnet.
  • Zum koordinierten Abfahren der ersten und zweiten vorgegebenen Bahn(en) wird bzw. ist ein in Zellen diskretisierter Koordinationsraum verwendet bzw. vorgesehen, wobei Koordinatenachswerte einer ersten Koordinatenachse dieses Koordinationsraums Posen des ersten Roboters längs vorgegebener Bahnsegmente der ersten Bahn und Koordinatenachswerte einer zweiten Koordinatenachse oder mehrerer zweiter Koordinatenachsen des Koordinationsraums (jeweils) Posen des (jeweiligen) zweiten Roboters längs vorgegebener Bahnsegmente der (jeweiligen) zweiten Bahn zugeordnet sind. Sollen also beispielsweise drei Roboter koordiniert vorgegebene Bahnen abfahren, weist der Koordinationsraum drei Koordinatenachsen auf, wobei Koordinatenachswerte einer ersten Koordinatenachse des Koordinationsraums Posen eines ersten der Roboter längs vorgegebener Bahnsegmente seiner vorgegebenen ersten Bahn, Koordinatenachswerte einer zweiten Koordinatenachse des Koordinationsraums Posen eines zweiten der Roboter längs vorgegebener Bahnsegmente seiner vorgegebenen zweiten Bahn und Koordinatenachswerte einer dritten bzw. weiteren zweiten Koordinatenachse des Koordinationsraums Posen eines dritten bzw. weiteren zweiten der Roboter längs vorgegebener Bahnsegmente seiner vorgegebenen (weiteren) zweiten Bahn zugeordnet sind.
  • Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum koordinierten Abfahren der vorgegebenen Bahnen die Schritte auf:
    • - Diskretisieren der ersten Koordinatenachse für die vorgegebenen Bahnsegmente der ersten Bahn jeweils in erste Koordinatenachsabschnitte auf Basis eines vorgegebenen maximal zulässigen kartesischen Versatzes des ersten Roboters derart, dass der maximale kartesische Versatz des ersten Roboters beim Abfahren jedes der ersten Koordinatenachsabschnitte jeweils kleiner als der vorgegebene maximal zulässige kartesische Versatz ist;
    • - Diskretisieren der zweiten Koordinatenachse auf Basis dieses vorgegebenen maximal zulässigen kartesischen Versatzes des ersten Roboters in kollisionsfreie zweite Koordinatenachsabschnitte und ausgeschlossene zweite Koordinatenachsabschnitte potentieller Kollisionen für die, insbesondere jeden der, ersten Koordinatenachsabschnitte und die, insbesondere jedes der, vorgegebenen Bahnsegmente der zweiten Bahn; und
    • - Ermitteln einer kollisionsfreien koordinierten Bewegung der wenigstens zwei Roboter entlang der vorgegebenen Bahnen mittels Vermeiden eines Durchfahrens von durch Kollisions-Abschnitte begrenzten Zellen des Koordinationsraums.
  • In einer Ausführung grenzen die ersten Koordinatenachsabschnitte überlappungsfrei aneinander an und decken die gesamte erste Bahn ab und/oder grenzen die vorgegebenen Bahnsegmente der ersten Bahn überlappungsfrei aneinander an und bilden die gesamte erste Bahn. Zusätzlich oder alternativ grenzen in einer Ausführung die zweiten Koordinatenachsabschnitte überlappungsfrei aneinander an und decken die gesamte zweite Bahn ab und/oder grenzen die vorgegebenen Bahnsegmente der zweiten Bahn überlappungsfrei aneinander an und bilden die gesamte zweite Bahn.
  • Das Ermitteln einer kollisionsfreien koordinierten Bewegung der wenigstens zwei Roboter entlang der vorgegebenen Bahnen mittels Vermeiden von durch Kollisions-Abschnitte begrenzten Zellen des Koordinationsraums kann insbesondere beinhalten, dass ein Pfad von einem (Anfangs)Punkt des Koordinationsraums, der dem Anfang der ersten und zweiten Bahn(en) zugeordnet ist, zu einem (End)Punkt des Koordinationsraums, der dem Ende der ersten und zweiten Bahn(en) zugeordnet ist, gesucht bzw. konstruiert wird, der ein Durchfahren von durch Kollisions-Abschnitte begrenzten Zellen des Koordinationsraums vermeidet bzw. nicht durch solche Zellen, sondern höchstens entlang ihrer Ränder verläuft, wobei in einer Ausführung nur Bewegungen längs der Koordinatenachsen in Richtung von dem Anfangs- zu dem Endpunkt hin zugelassen sind und/oder der kürzeste mögliche Pfad ermittelt wird. Die koordinierte Bewegung der wenigstens zwei Roboter kann in einer Ausführung die Bestimmung eines gemeinsamen Laufparameters, in einer Ausführung der Zeit, sowie einer Zuordnung bzw. Abbildung dieses Laufparameters auf Koordinatenachswerte und diesen bijektiv zugeordneten Bahnpunkten umfassen.
  • Hierdurch kann in einer Ausführung das Abfahren vorgegebener Bahnen mit Robotern, die einander wenigstens teilweise überschneidende maximale Arbeitsräume aufweisen, verbessert, insbesondere Kollisionen einfach, zuverlässig, intuitiv handhabbar und/oder, insbesondere numerisch, günstig, vermieden werden, insbesondere durch eine besonders vorteilhafte, insbesondere numerisch vorteilhafte und/oder für den Anwender intuitive, Diskretisierung des Koordinationsraums, die insbesondere dem Umstand Rechnung trägt, dass kleine Bewegungen großer Robotersegmente ähnliche Auswirkungen implizieren können wie große Bewegungen kleiner Robotersegmente. Zusätzlich oder alternativ kann hierdurch in einer Ausführung eine potentielle Kollision vorteilhaft, insbesondere einfach, zuverlässig und/oder numerisch günstig, erkannt bzw. überprüft werden, insbesondere indem davon ausgegangen bzw. genutzt wird, dass der erste Roboter innerhalb des jeweiligen ersten Koordinatenachsabschnitts höchstens den vorgegebenen maximal zulässigen kartesischen Versatz erreichen kann.
  • Unter einem maximal (zulässig) en kartesischen Versatz eines Roboters wird vorliegend insbesondere das (zugelassene bzw. vorgegebene) Maximum aller Wege aller Oberflächenpunkte des Roboters bzw. eine Abschätzung, insbesondere ein Supremum bzw. eine Abschätzung nach oben bzw. obere Grenze, hierfür verstanden. Bei einem Roboter mit nur einem Drehgelenk und Gliedlänge I ist der maximale Versatz bei einer Drehung von qb nach qa beispielsweise l·|qa-qb|, für mehrgliedrige Drehgelenk- bzw. Knickarmroboter gibt der einleitend genannte Aufsatz von Schwarzer et al. als Abschätzung beispielsweise λ(qa, qb) = ∑j = 1 i(i - j + 1) · |qj a - qj b| für den Endpunkt des Glieds i an.
  • In einer Ausführung werden für einen oder mehrere der ersten Koordinatenachsabschnitte jeweils ein oder mehrere kollisionsfreie zweite Koordinatenachsabschnitte auf Basis eines minimalen kartesischen Abstands des zweiten Roboters am Anfang dieses zweiten Koordinatenachsabschnitts zum ersten Roboter am Anfang dieses ersten Koordinatenachsabschnitts ermittelt.
  • Unter einem minimalen kartesischen Abstand eines Roboters zu einem anderen Roboter wird vorliegend insbesondere das Minimum aller Abstände zwischen je einem Oberflächenpunkt des einen Roboters und je einem Oberflächenpunkt des anderen Roboters bzw. eine Abschätzung, insbesondere ein Supremum bzw. eine Abschätzung nach oben bzw. obere Grenze, hierfür verstanden.
  • Hierdurch kann in einer Ausführung eine potentielle Kollision besonders vorteilhaft, insbesondere besonders einfach, zuverlässig und/oder numerisch günstig, erkannt bzw. überprüft werden, insbesondere indem davon ausgegangen bzw. genutzt wird, dass der Abstand zum ersten Roboter sich innerhalb des jeweiligen ersten Koordinatenachsabschnitts, ausgehend von seiner Pose am Anfang dieses ersten Koordinatenachsabschnitts, höchstens um den vorgegebenen maximal zulässigen kartesischen Versatz ändern kann. Dadurch können in einer Ausführung aufwändig feine Diskretisierungen und/oder Diskretisierungsfehler vermieden bzw. reduziert werden.
  • In einer Ausführung wird für den bzw. einen oder mehrere dieser ersten Koordinatenachsabschnitt(e jeweils) wenigstens ein kollisionsfreier zweiter Koordinatenachsabschnitt auf Basis eines minimalen kartesischen Abstands des zweiten Roboters am Ende dieses zweiten Koordinatenachsabschnitts zum ersten Roboter am Anfang dieses ersten Koordinatenachsabschnitts und eines maximalen kartesischen Versatzes des zweiten Roboters zwischen dem Anfang und Ende dieses zweiten Koordinatenachsabschnitts ermittelt. Dies beruht auf der Erkenntnis, dass der zweite Roboter zum Verringern seines Abstands zum Hindernis am Anfang und Ende des zweiten Koordinatenachsabschnitts nur seinen maximalen kartesischen Versatz zur Verfügung hat, so dass ein zweiter Koordinatenachsabschnitt als kollisionsfrei ermittelt bzw. eingestuft werden kann, wenn der minimale kartesische Abstand des zweiten Roboters am Anfang bzw. Ende des zweiten Koordinatenachsabschnitts zum ersten Roboter ausreichend groß ist.
  • Entsprechend wird in einer Ausführung wenigstens ein zweiter Koordinatenachsabschnitt als kollisionsfrei(er zweiter Koordinatenachsabschnitt) ermittelt, falls der maximale kartesische Versatz des zweiten Roboters zwischen dem Anfang und Ende des zweiten Koordinatenachsabschnitts kleiner als ein Schwellwert ist, der in einer Ausführung von dem minimalen kartesischen Abstands des zweiten Roboters am Anfang dieses zweiten Koordinatenachsabschnitts zum ersten Roboter am Anfang des entsprechenden ersten Koordinatenachsabschnitts und/oder dem minimalen kartesischen Abstands des zweiten Roboters am Ende dieses zweiten Koordinatenachsabschnitts zum ersten Roboter am Anfang des entsprechenden ersten Koordinatenachsabschnitts abhängt.
  • Zusätzlich oder alternativ wird in einer Ausführung wenigstens ein zweiter Koordinatenachsabschnitt als kollisionsfrei(er zweiter Koordinatenachsabschnitt) ermittelt, falls der minimale kartesische Abstand des zweiten Roboters am Anfang dieses zweiten Koordinatenachsabschnitts zum ersten Roboter am Anfang des entsprechenden ersten Koordinatenachsabschnitts größer als ein Schwellwert ist, der von dem vorgegebenen maximal zulässigen kartesischen Versatz des ersten Roboters abhängt. Dies basiert auf der Erkenntnis, dass der erste Roboter, ausgehend vom Anfang eines ersten Koordinatenachsabschnitts, sich maximal um den vorgegebenen maximal zulässigen kartesischen Versatz nähern kann, so dass eine Kollision bei ausreichend großem Abstand am Anfang ausgeschlossen werden kann.
  • Hierdurch kann in einer Ausführung eine potentielle Kollision besonders vorteilhaft, insbesondere besonders einfach, zuverlässig und/oder numerisch günstig, erkannt bzw. überprüft werden, insbesondere indem davon ausgegangen bzw. genutzt wird, dass eine Änderung des Abstands zwischen dem ersten und zweiten Roboter durch den maximalen kartesischen Versatz des zweiten Roboters begrenzt ist. Dadurch können in einer Ausführung aufwändig feine Diskretisierungen und/oder Diskretisierungsfehler vermieden bzw. reduziert werden.
  • In einer Ausführung werden für einen oder mehrere der ersten Koordinatenachsabschnitte und eines oder mehrere der vorgegebenen Bahnsegmente der zweiten Bahn jeweils wenigstens ein ausgeschlossener zweiter Koordinatenachsabschnitt als Koordinatenachsabschnitt vom Anfang des Bahnsegments bis zu einem Anfang eines kollisionsfreien zweiten Koordinatenachsabschnitts und/oder wenigstens ein ausgeschlossener zweiter Koordinatenachsabschnitt als Koordinatenachsabschnitt von einem Ende eines kollisionsfreien zweiten Koordinatenachsabschnitts bis zum Ende des Bahnsegments und/oder wenigstens ein ausgeschlossener zweiter Koordinatenachsabschnitt als Koordinatenachsabschnitt von einem Ende eines kollisionsfreien zweiten Koordinatenachsabschnitts bis zu einem Anfang eines weiteren kollisionsfreien zweiten Koordinatenachsabschnitts ermittelt.
  • Dadurch können in einer Ausführung vorteilhaft Verfahren ausgenutzt werden, die für bestimmte Koordinatenachsabschnitte Kollisionsfreiheit garantieren, in einer Ausführung indem ein Abschnitt, für den Kollisionsfreiheit nicht garantiert werden kann, zunächst als ausgeschlossener zweiter Koordinatenachsabschnitt betrachtet bzw. identifiziert wird, und dann ein Teil, insbesondere Anfangs- oder Endabschnitt, dieses Abschnitts sukzessive, insbesondere iterativ, verkleinert wird, bis für diesen Teil Kollisionsfreiheit garantiert werden kann. Der verbleibende Rest wird dann als ausgeschlossener Koordinatenachsabschnitt ermittelt, der Teil, für den Kollisionsfreiheit garantiert werden kann, als kollisionsfreier Koordinatenachsabschnitt.
  • In einer Ausführung werden die erste Koordinatenachse iterativ in erste Koordinatenachsabschnitte und/oder die zweite Koordinatenachse iterativ in kollisionsfreie und ausgeschlossene zweite Koordinatenachsabschnitte diskretisiert, insbesondere kollisionsfreie und/oder ausgeschlossene zweite Koordinatenachsabschnitte iterativ ermittelt. In einer Ausführung wird eine Iteration zum bzw. beim Diskretisieren der ersten Koordinatenachse in erste Koordinatenachsabschnitte auf Basis eines vorgegebenen minimal durchzuführenden kartesischen Versatzes des ersten Roboters terminiert und/oder eine Iteration zum bzw. beim Diskretisieren der zweiten Koordinatenachse auf Basis eines vorgegebenen minimal durchzuführenden kartesischen Versatzes des zweiten Roboters terminiert.
  • Hierdurch, insbesondere durch ein solches Abbruchkriterium, kann in einer Ausführung eine besonders vorteilhafte, insbesondere numerisch vorteilhafte und/oder für den Anwender intuitive, Diskretisierung des Koordinationsraums realisiert bzw. genutzt werden.
  • In einer Ausführung sind bzw. werden die Bahnsegmente der ersten und/oder zweiten Bahn (jeweils) als sogenannte Point-To-Point-(„PTP“)-Bahnen vorgegeben, bei denen alle Gelenke des jeweiligen Roboters synchron derart verstellt werden, dass sie gleichzeitig ihre Endstellung erreichen bzw. zwischen den Gelenkstellungen am Anfang und Ende eines Bahnsegments linear interpolieren. Dies ist für das vorliegende Verfahren, insbesondere die Verwendung von Ansätzen von Schwarzer et al, besonders vorteilhaft.
  • In einer Ausführung umfasst das Verfahren den Schritt: Durchführen der ermittelten kollisionsfreien koordinierten Bewegung der wenigstens zwei Roboter zum koordinierten Abfahren der ersten und zweiten vorgegebenen Bahn, insbesondere durch entsprechende Programmierung und/oder (An)Steuerung der Roboter.
  • Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
    • Mittel zum Handhaben, insbesondere Erstellen, Modifizieren, Speichern, Zur-Verfügung-Stellen und/oder Verwenden, eines in Zellen diskretisierten Koordinationsraums, wobei Koordinatenachswerte einer ersten Koordinatenachse des Koordinationsraums Posen des ersten Roboters längs vorgegebener Bahnsegmente der ersten Bahn und Koordinatenachswerte einer zweiten Koordinatenachse des Koordinationsraums Posen des zweiten Roboters längs vorgegebener Bahnsegmente der zweiten Bahn zugeordnet sind;
    • Mittel zum, insbesondere iterativen, Diskretisieren der ersten Koordinatenachse in erste Koordinatenachsabschnitte auf Basis eines vorgegebenen maximal zulässigen kartesischen Versatzes des ersten Roboters für die vorgegebenen Bahnsegmente der ersten Bahn derart, dass der maximale kartesische Versatz des ersten Roboters beim Abfahren jedes der ersten Koordinatenachsabschnitte jeweils kleiner als der vorgegebene maximal zulässige kartesische Versatz ist;
    • Mittel zum, insbesondere iterativen, Diskretisieren der zweiten Koordinatenachse auf Basis dieses vorgegebenen maximal zulässigen kartesischen Versatzes des ersten Roboters in kollisionsfreie zweite Koordinatenachsabschnitte und ausgeschlossene zweite Koordinatenachsabschnitte potentieller Kollisionen für die ersten Koordinatenachsabschnitte und vorgegebenen Bahnsegmente der zweiten Bahn; und Mittel zum Ermitteln einer kollisionsfreien koordinierten Bewegung der wenigstens zwei Roboter entlang der vorgegebenen Bahnen mittels Vermeiden eines Durchfahrens von durch Kollisions-Abschnitte begrenzten Zellen des Koordinationsraums.
  • In einer Ausführung weist das System bzw. sein(e) Mittel auf:
    • Mittel zum Ermitteln wenigstens eines kollisionsfreien zweiten Koordinatenachsabschnitts für wenigstens einen ersten Koordinatenachsabschnitt auf Basis eines minimalen kartesischen Abstands des zweiten Roboters am Anfang dieses zweiten Koordinatenachsabschnitts zum ersten Roboter am Anfang dieses ersten Koordinatenachsabschnitts; und/oder
    • Mittel zum Ermitteln wenigstens eines kollisionsfreien zweiten Koordinatenachsabschnitts für diesen ersten Koordinatenachsabschnitt auf Basis eines minimalen kartesischen Abstands des zweiten Roboters am Ende dieses zweiten Koordinatenachsabschnitts zum ersten Roboter am Anfang dieses ersten Koordinatenachsabschnitts und eines maximalen kartesischen Versatzes des zweiten Roboters zwischen dem Anfang und Ende dieses zweiten Koordinatenachsabschnitts; und/oder
    • Mittel zum Ermitteln wenigstens eines ausgeschlossenen zweiten Koordinatenachsabschnitts für wenigstens einen ersten Koordinatenachsabschnitt und vorgegebenes Bahnsegment der zweiten Bahn als Koordinatenachsabschnitt vom Anfang des Bahnsegments bis zu einem Anfang eines kollisionsfreien zweiten Koordinatenachsabschnitts oder von einem Ende eines kollisionsfreien zweiten Koordinatenachsabschnitts bis zum Ende des Bahnsegments oder von einem Ende eines kollisionsfreien zweiten Koordinatenachsabschnitts bis zu einem Anfang eines weiteren kollisionsfreien zweiten Koordinatenachsabschnitts; und/oder Mittel zum Terminieren einer Iteration beim iterativen Diskretisieren der ersten und/oder zweiten Koordinatenachse auf Basis eines vorgegebenen minimal durchzuführenden kartesischen Versatzes des ersten und/oder zweiten Roboters; und/oder
    • Mittel zum Durchführen der ermittelten kollisionsfreien koordinierten Bewegung der wenigstens zwei Roboter zum koordinierten Abfahren der ersten und zweiten vorgegebenen Bahn, insbesondere entsprechenden Programmieren und/oder Steuern der Roboter.
  • In einer Ausführung wird, insbesondere am Anfang und/oder Ende eines Koordinatenachsabschnitts und/oder an einer oder mehreren Stellen dazwischen, ein insbesondere minimaler, kartesischer Abstand des zweiten Roboters zum ersten Roboter ermittelt bzw. weist das System bzw. sein(e) Mittel Mittel zum Ermitteln eines insbesondere minimalen, kartesischer Abstand des zweiten Roboters zum ersten Roboter, insbesondere am Anfang und/oder Ende eines Koordinatenachsabschnitts und/oder an einer oder mehreren Stellen dazwischen, auf.
  • In einer Ausführung werden ein oder mehrere der kollisionsfreien zweiten Koordinatenachsabschnitte und/oder ausgeschlossenen zweiten Koordinatenachsabschnitte jeweils unter Berücksichtigung bzw. Beachtung eines vorgegebenen Sicherheitsabstands ermittelt bzw. weist das System bzw. sein(e) Mittel Mittel zum Ermitteln eines oder mehrerer der kollisionsfreien zweiten Koordinatenachsabschnitte und/oder ausgeschlossenen zweiten Koordinatenachsabschnitte unter Berücksichtigung bzw. Beachtung eines vorgegebenen Sicherheitsabstands auf. Der Sicherheitsabstand ist in einer Ausführung größer Null und/oder wird einem maximal zulässigen kartesischen Versatz hinzuaddiert.
  • Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere die Roboter programmieren und/oder steuern kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.
  • In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.
  • In einer Ausführung weist das System die Roboter auf.
  • Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
    • 1: ein System nach einer Ausführung der vorliegenden Erfindung mit einem ersten und einem zweiten Roboter;
    • 2: ein Verfahren zum koordinierten Abfahren einer ersten vorgegebenen Bahn mit dem ersten Roboter und einer zweiten vorgegebenen Bahn mit dem zweiten Roboter nach einer Ausführung der vorliegenden Erfindung; und
    • 3: einen dabei verwendeten Koordinationsraum.
  • 1 zeigt einen ersten Roboter 10 und einen zweiten Roboter 20, deren maximale Arbeitsräume sich wenigstens teilweise überschneiden, eine durch zwei PTP-Bahnen [PTP1,1, PTP1,2] und [PTP1,2, PTP1,3] segmentweise vorgegebene erste Bahn des ersten Roboters 10 und eine durch zwei PTP-Bahnen [PTP2,1, PTP2,2] und [PTP2,2, PTP2,3] segmentweise vorgegebene zweite Bahn des zweiten Roboters 20 sowie eine Steuerung 30 zum Durchführen eines hier beschriebenen Verfahrens, das 2 zeigt.
  • 3 zeigt einen dabei verwendeten Koordinationsraum, im Ausführungsbeispiel in Form einer zweidimensionalen Koordinationskarte mit einer horizontalen ersten Koordinatenachse und einer vertikalen zweiten Koordinatenachse.
  • In einem ersten Schritt S10 (vgl. 2) wird für jedes Bahnsegment i der beiden vorgegebenen Bahnsegmente i=1: [PTP1,1, PTP1,2], i = 2: [PTP1,2, PTP1,3] der ersten Bahn der entsprechende Abschnitt der ersten Koordinatenachse des Koordinationsraums jeweils auf Basis eines vorgegebenen maximal zulässigen kartesischen Versatzes maxDisp1 des ersten Roboters 10 in erste Koordinatenachsabschnitte [q1,i,s, q1,i,1], [q1,i,1, q1,i,2],..., [q1,i,n, q1,i,e] derart diskretisiert, dass der maximale kartesische Versatz des ersten Roboters beim Abfahren jedes der ersten Koordinatenachsabschnitte jeweils kleiner oder gleich dem vorgegebenen maximal zulässigen kartesischen Versatz maxDisp1 ist, wobei gegebenenfalls auch der gesamte, einem der vorgegebenen Bahnsegmente entsprechende Abschnitt der ersten Koordinatenachse der (einzige) erste Koordinatenachsabschnitt [q1,i,s, q1,i,e] sein kann.
  • Dabei ist dem Anfang des jeweiligen Bahnsegments i = 1, 2 jeweils ein Koordinatenachswert q1,i,s und dem Ende dieses Bahnsegments ein Koordinatenachswert q1,i,e zugeordnet, beispielsweise PTP1,1 der Koordinatenachswert q1,1,s. Der maximale kartesische Versatz λ(q1,i,a, q1,i,b) des ersten Roboters zwischen zwei Koordinatenachswerten q1,i,a, q1,i,b kann dabei insbesondere mit einem der bei Schwarzer et al., „Exact Collision Checking of Robot Paths“, beschriebenen Ansätze abgeschätzt oder auch auf andere Weise ermittelt werden.
  • In einer Ausführung wird für potentielle erste Koordinatenachsabschnitte [q1,i,a, q1,i,b] jeweils λ(q1,i,a, q1,i,b) ≤ maxDisp1 geprüft, beginnend mit [q1,i,s, q1,i,e]. Sofern λ(q1,i,a, q1,i,b) > maxDisp1, wird iterativ mittels Intervallschachtelung ein Koordinatenachswert q1,i,b‛ gesucht, für den gilt λ(q1,i,a, q1,i,b') ≤ maxDisp1, in einer Ausführung bei möglichst großem kartesischem Versatz λ(q1,i,a, q1,i,b') und/oder einem Abbruch der Iteration bzw. Intervallschachtelung bei Unterschreiten eines vorgegebenen minimal durchzuführenden kartesischen Versatzes minDisp bei einem Intervallschachtel- bzw. Iterations(fort)schritt, sodann [q1,i,a, q1,i,b'] als ein erster ermittelter bzw. gefundener Koordinatenachsabschnitt festgelegt, und mit dem restlichen Abschnitt [q1,i,b‛, q1,i,e] als neuem [q1,i,a, q1,i,b] analog verfahren. Auf diese Weise wird die gesamte erste Koordinatenachse von dem dem Startpunkt der ersten Bahn zugeordneten Koordinatenachswert bis zu dem dem Endpunkt der ersten Bahn zugeordneten Koordinatenachswert mit nicht überlappenden, aneinander angrenzenden ersten Koordinatenachsabschnitten vollständig abgedeckt, innerhalb derer der maximale kartesische Versatz des ersten Roboters jeweils kleiner oder gleich dem vorgegebenen maximal zulässigen kartesischen Versatz maxDisp1 ist.
  • In einem zweiten Schritt S20 (vgl. 2) wird für jedes der vorgegebenen Bahnsegmente [PTP2,1, PTP2,2], [PTP2,2, PTP2,3] der zweiten Bahn und jeden der in Schritt S10 ermittelten ersten Koordinatenachsabschnitte [q1,1,s, q1,1,1],..., [q1,2,n, q1,2,e] jeweils der entsprechende Abschnitt der zweiten Koordinatenachse des Koordinationsraums in kollisionsfreie zweite Koordinatenachsabschnitte und ausgeschlossene zweite Koordinatenachsabschnitte potentieller Kollisionen diskretisiert und dadurch für das Ermitteln einer kollisionsfreien koordinierten Bewegung zulässige bzw. durchfahrbare und unzulässige bzw. nicht durchfahrbare Zellen gebildet.
  • In einer Ausführung wird hierbei jeweils der erste Roboter am Anfang des jeweiligen ersten Koordinatenachsabschnitts betrachtet bzw. angenommen und sozusagen als statisches Hindernis für den zweiten Roboter betrachtet, wobei Bewegungen des ersten Roboters während des Durchfahrens des jeweiligen Abschnitts der zweiten Koordinatenachse mit dem zweiten Roboter durch den vorgegebenen maximal zulässigen kartesischen Versatz maxDisp1 berücksichtigt werden, der bei der Diskretisierung in die ersten Koordinatenachsabschnitte zugrundegelegt wurde.
  • Dem Anfang des jeweiligen Bahnsegments i der zweiten Bahn ist jeweils ein Koordinatenachswert q2,i,s und dem Ende dieses Bahnsegments ein Koordinatenachswert q2,i,e zugeordnet, beispielsweise PTP2,3 der Koordinatenachswert q2,2,e.
  • Nun wird in einer Ausführung zunächst für den Abschnitt [q2,i,s, q2,i,e] des jeweiligen Bahnsegments i der zweiten Bahn geprüft, ob dieser Koordinatenachsabschnitt (komplett) kollisionsfrei ist.
  • Hierzu wird in einer Ausführung geprüft, ob λ(q2,i,s, q2,i,e) < [dist(q2,i,s) + dist(q2,i,e) - 2·(minDist + maxDisp1)], wobei dist(q2,x) den minimalen kartesischen Abstand des zweiten Roboters beim Koordinatenachswert q2,x zum ersten Roboter am Anfang des jeweiligen ersten Koordinatenachsabschnitts und minDist einen vorgegebenen Sicherheitsabstand bezeichnet.
  • Ist dies der Fall, bildet der gesamte Abschnitt [q2,i,s, q2,i,e] den (einzigen) kollisionsfreien zweiten Koordinatenachsabschnitt für den entsprechenden ersten Koordinatenachsabschnitt und das entsprechende Bahnsegment i der zweiten Bahn.
  • Andernfalls wird iterativ bzw. mittels Intervallschachtelung ein Koordinatenachswert q2,i,f gesucht, für den im Abschnitt [q2,i,s, q2,1,f] Kollisionsfreiheit gewährleistet ist, beispielsweise λ(q2,i,s, q2,i,f) < [dist(q2,i,s) + dist(q2,i,f) - 2·(minDist + maxDisp1)] erfüllt ist, in einer Ausführung bei möglichst großem kartesischem Versatz λ(q2,i,s, q2,i,f) und/oder einem Abbruch der Iteration bzw. Intervallschachtelung bei Unterschreiten eines vorgegebenen minimal durchzuführenden kartesischen Versatzes minDisp bei einem Intervallschachtel- bzw. Iterations(fort)schritt.
  • Der restliche Abschnitt [q2,i,f, q2,i,e] wird zunächst als ausgeschlossener zweiter Koordinatenachsabschnitt angenommen.
  • In einer Ausführung wird q2,1,f sukzessive mittels Intervallschachtelung auf q2,i,f‛ vergrößert und jeweils geprüft, ob [q2,i,f, q2,i,e] kollisionsfrei ist, in einer Ausführung, indem geprüft wird, ob dist(q2,1,f') > [minDist + maxDisp1], wobei wieder minDisp als Abbruchkriterium dieser Intervallschachtelung bzw. Iteration verwendet werden kann. Falls ein solches q2,i,f' < q2,i,e gefunden wird, so wird der Abschnitt [q2,1,f, q2,i,f'] als ausgeschlossener zweiter Koordinatenachsabschnitt und der daran anschließende Abschnitt [q2,i,f, q2,i,e] als weiterer kollisionsfreier zweiter Koordinatenachsabschnitt ermittelt bzw. festgelegt, jeweils für den entsprechenden ersten Koordinatenachsabschnitt und das entsprechende Bahnsegment der zweiten Bahn, andernfalls bleibt der restliche Abschnitt [q2,i,f, q2,i,e] insgesamt ein ausgeschlossener zweiter Koordinatenachsabschnitt. Falls die Intervallschachtelung für q2,1,f ergebnislos bleibt bzw. vorab terminiert wird, bildet der gesamte Abschnitt [q2,i,s, q2,i,e] den (einzigen) ausgeschlossenen zweiten Koordinatenachsabschnitt für den entsprechenden ersten Koordinatenachsabschnitt und das entsprechende Bahnsegment i der zweiten Bahn.
  • Nachdem auf diese Weise die gesamte Koordinationskarte in Zellen ([q1,a, q1,b], [q2,a, q2,b]) diskretisiert worden ist, wird in einem Schritt S30 eine kollisionsfreie koordinierte Bewegung (q1(s), (q2(s)) der zwei Roboter 10, 20 entlang der vorgegebenen Bahnen ermittelt, indem die Endpunkte (im Ausführungsbeispiel q1,2,e (entspricht PTP1,3), q2,2,e (entspricht PTP2,3)) auf kürzestem Weg unter Vermeiden eines Durchfahrens bzw. Auslassen von solchen Zellen angefahren werden, die auf Seiten der zweiten Koordinatenachse durch einen Kollisions-Abschnitt [q2,i,f, q2,i,f] bzw. [q2,i,f, q2,i,e] bzw. [q2,i,a, q2,1,f] begrenzt sind, in einer Ausführung in in O'Donnell, „Deadlock-free and collision-free coordination of two robot manipulators“ beschriebener Weise.
  • 3 illustriert dies, indem die Zellen, die durch einen Kollisions-Abschnitt begrenzt sind, schraffiert angedeutet sind, die ermittelte Bewegung der zwei Roboter durch eine fett ausgezogene Linie. Man erkennt an der freien, linken Spalte, dass der zweite Roboter beliebig entlang seiner zweiten Bahn verfahren darf, solange der erste Roboter sich im ersten Abschnitt seiner ersten Bahn befindet, und entsprechend an der freien, rechten Spalte, dass der zweite Roboter beliebig entlang seiner zweiten Bahn verfahren darf, sobald der erste Roboter sich im letzten Abschnitt seiner ersten Bahn befindet. Dazwischen besteht nach einem ersten Abschnitt und einem letzten Abschnitt der zweiten Bahn (vgl. freie obere und untere Zeile in 3) Kollisionsgefahr (schraffierte Zellen in 3), so dass der zweite Roboter warten muss (waagrechter Abschnitt der koordinierten Bewegung in 3), bis der erste Roboter sich weit genug bewegt hat. Alternativ könnte auch der erste Roboter warten, bis der zweite Roboter sich weit genug bewegt hat.
  • Anschließend wird in einem Schritt S40 die ermittelte kollisionsfreie koordinierte Bewegung der zwei Roboter 10, 20 zum koordinierten Abfahren der ersten und zweiten vorgegebenen Bahn durchgeführt.
  • Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
  • So kann das Verfahren insbesondere analog auch mit mehr als einem zweiten Roboter verwendet werden, wobei dann in einer Ausführung für einen ersten zweiten Roboter wie vorstehend beschrieben Zellen ermittelt, für einen weiteren zweiten Roboter in vorstehend beschriebener Weise für diese Zellen jeweils seine weitere zweite Koordinatenachse des Koordinationsraums entsprechend in mit dem ersten und dem ersten zweiten Roboter kollisionsfreie und ausgeschlossene zweite Koordinatenachsabschnitte diskretisiert wird, und für weitere zweite Roboter in analoger Weise für die für die bereits berücksichtigten Roboter ermittelten Zellen jeweils seine weitere zweite Koordinatenachse des Koordinationsraums entsprechend in mit diesen bereits berücksichtigten Robotern kollisionsfreie und ausgeschlossene zweite Koordinatenachsabschnitte diskretisiert wird.
  • Bezugszeichenliste
  • 10
    erster Roboter
    20
    zweiter Roboter
    30
    Steuerung
    PTPi,j
    j. Bahnpunkt der i. Bahn
    q1,i,j
    Koordinatenachswerte der ersten Koordinatenachse
    q2,i,j
    Koordinatenachswerte der zweiten Koordinatenachse

Claims (9)

  1. Verfahren zum koordinierten Abfahren einer ersten vorgegebenen Bahn (PTP1,1, PTP1,2, PTP1,3) mit einem ersten Roboter (10) und wenigstens einer zweiten vorgegebenen Bahn (PTP2,1, PTP2,2, PTP2,3) mit einem zweiten Roboter (20), wobei diese wenigstens zwei Roboter einander wenigstens teilweise überschneidende maximale Arbeitsräume aufweisen, mithilfe eines in Zellen diskretisierten Koordinationsraums, wobei Koordinatenachswerte (q1,1,s,..., q1,2,e) einer ersten Koordinatenachse des Koordinationsraums Posen des ersten Roboters längs vorgegebener Bahnsegmente der ersten Bahn und Koordinatenachswerte (q2,1,s,..., q2,2,e) einer zweiten Koordinatenachse des Koordinationsraums Posen des zweiten Roboters längs vorgegebener Bahnsegmente der zweiten Bahn zugeordnet sind, gekennzeichnet durch die Schritte: Diskretisieren (S10) der ersten Koordinatenachse in erste Koordinatenachsabschnitte auf Basis eines vorgegebenen maximal zulässigen kartesischen Versatzes des ersten Roboters für die vorgegebenen Bahnsegmente der ersten Bahn derart, dass der maximale kartesische Versatz des ersten Roboters beim Abfahren jedes der ersten Koordinatenachsabschnitte jeweils kleiner als der vorgegebene maximal zulässige kartesische Versatz ist; Diskretisieren (S20) der zweiten Koordinatenachse auf Basis dieses vorgegebenen maximal zulässigen kartesischen Versatzes des ersten Roboters in kollisionsfreie zweite Koordinatenachsabschnitte und ausgeschlossene zweite Koordinatenachsabschnitte potentieller Kollisionen für die ersten Koordinatenachsabschnitte und vorgegebenen Bahnsegmente der zweiten Bahn; und Ermitteln (S30) einer kollisionsfreien koordinierten Bewegung der wenigstens zwei Roboter entlang der vorgegebenen Bahnen mittels Vermeiden eines Durchfahrens von durch Kollisions-Abschnitte begrenzten Zellen des Koordinationsraums, wobei für wenigstens einen ersten Koordinatenachsabschnitt wenigstens ein kollisionsfreier zweiter Koordinatenachsabschnitt auf Basis eines minimalen kartesischen Abstands des zweiten Roboters am Anfang dieses zweiten Koordinatenachsabschnitts zum ersten Roboter am Anfang dieses ersten Koordinatenachsabschnitts ermittelt wird.
  2. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass für diesen ersten Koordinatenachsabschnitt wenigstens ein kollisionsfreier zweiter Koordinatenachsabschnitt auf Basis eines minimalen kartesischen Abstands des zweiten Roboters am Ende dieses zweiten Koordinatenachsabschnitts zum ersten Roboter am Anfang dieses ersten Koordinatenachsabschnitts und eines maximalen kartesischen Versatzes des zweiten Roboters zwischen dem Anfang und Ende dieses zweiten Koordinatenachsabschnitts ermittelt wird.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für wenigstens einen ersten Koordinatenachsabschnitt und vorgegebenes Bahnsegment der zweiten Bahn wenigstens ein ausgeschlossener zweiter Koordinatenachsabschnitt als Koordinatenachsabschnitt vom Anfang des Bahnsegments bis zu einem Anfang eines kollisionsfreien zweiten Koordinatenachsabschnitts oder von einem Ende eines kollisionsfreien zweiten Koordinatenachsabschnitts bis zum Ende des Bahnsegments oder von einem Ende eines kollisionsfreien zweiten Koordinatenachsabschnitts bis zu einem Anfang eines weiteren kollisionsfreien zweiten Koordinatenachsabschnitts ermittelt wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die erste Koordinatenachse iterativ in erste Koordinatenachsabschnitte diskretisiert wird, insbesondere eine Iteration dabei auf Basis eines vorgegebenen minimal durchzuführenden kartesischen Versatzes des ersten Roboters terminiert wird, und/oder dass die zweite Koordinatenachse iterativ in kollisionsfreie und ausgeschlossene zweite Koordinatenachsabschnitte diskretisiert wird, insbesondere eine Iteration dabei auf Basis eines vorgegebenen minimal durchzuführenden kartesischen Versatzes des zweiten Roboters terminiert wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Bahnsegmente der ersten und/oder zweiten Bahn als PTP-Bahnen vorgegeben sind.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens ein kollisionsfreier zweiter Koordinatenachsabschnitt und/oder wenigstens ein ausgeschlossener zweiter Koordinatenachsabschnitt unter Berücksichtigung eines vorgegebenen Sicherheitsabstands ermittelt wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch den Schritt: Durchführen (S40) der ermittelten kollisionsfreien koordinierten Bewegung der wenigstens zwei Roboter zum koordinierten Abfahren der ersten und zweiten vorgegebenen Bahn.
  8. System zum koordinierten Abfahren einer ersten vorgegebenen Bahn (PTP1,1, PTP1,2, PTP1,3) mit einem ersten Roboter (10) und wenigstens einer zweiten vorgegebenen Bahn (PTP2,1, PTP2,2, PTP2,3) mit einem zweiten Roboter (20), wobei diese wenigstens zwei Robotern einander wenigstens teilweise überschneidende maximale Arbeitsräume aufweisen, wobei das System zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.
  9. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche 1-7.
DE102021204148.5A 2021-04-27 2021-04-27 Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen Active DE102021204148B3 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021204148.5A DE102021204148B3 (de) 2021-04-27 2021-04-27 Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen
EP22718182.3A EP4329992A1 (de) 2021-04-27 2022-03-25 Verfahren und system zum koordinierten abfahren vorgegebener roboterbahnen
PCT/EP2022/057931 WO2022228792A1 (de) 2021-04-27 2022-03-25 Verfahren und system zum koordinierten abfahren vorgegebener roboterbahnen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021204148.5A DE102021204148B3 (de) 2021-04-27 2021-04-27 Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen

Publications (1)

Publication Number Publication Date
DE102021204148B3 true DE102021204148B3 (de) 2022-06-23

Family

ID=81385052

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021204148.5A Active DE102021204148B3 (de) 2021-04-27 2021-04-27 Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen

Country Status (3)

Country Link
EP (1) EP4329992A1 (de)
DE (1) DE102021204148B3 (de)
WO (1) WO2022228792A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115157264A (zh) * 2022-08-03 2022-10-11 法奥意威(苏州)机器人系统有限公司 机器人控制方法、装置、协作机器人及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625637A1 (de) 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
DE102012103830A1 (de) 2011-05-05 2012-11-08 Fanuc Robotics America Corp. Verfahren und system zur automatischen verhinderung von gegenseitiger blockierung in mehrfachrobotersystemen
DE102008013400B4 (de) 2008-03-06 2016-03-10 Voith Engineering Services Gmbh Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts
DE102015116522B3 (de) 2015-10-13 2016-10-27 ATENSOR Engineering and Technology Systems GmbH Synchronisierung mehrerer Roboter
DE102017129959A1 (de) 2017-12-14 2019-04-25 Schaeffler Technologies AG & Co. KG Verfahren zum Betrieb eines Systems mit mehreren Maschinen
DE102019102803A1 (de) 2019-02-05 2020-08-06 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9144904B2 (en) * 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
EP3266570A1 (de) * 2016-07-08 2018-01-10 Siemens Industry Software Ltd. Verfahren zur kollisionsschutzverwaltung von überlappenden robotischen bewegungen

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625637A1 (de) 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
DE102008013400B4 (de) 2008-03-06 2016-03-10 Voith Engineering Services Gmbh Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts
DE102012103830A1 (de) 2011-05-05 2012-11-08 Fanuc Robotics America Corp. Verfahren und system zur automatischen verhinderung von gegenseitiger blockierung in mehrfachrobotersystemen
DE102015116522B3 (de) 2015-10-13 2016-10-27 ATENSOR Engineering and Technology Systems GmbH Synchronisierung mehrerer Roboter
DE102017129959A1 (de) 2017-12-14 2019-04-25 Schaeffler Technologies AG & Co. KG Verfahren zum Betrieb eines Systems mit mehreren Maschinen
DE102019102803A1 (de) 2019-02-05 2020-08-06 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
O'DONNELL, Patrick A. ; LOZANO-PEREZ, Tomas: Deadlock-free and collision-free coordination of two robot manipulators. In: Proceedings, 1989 International Conference on Robotics and Automation, 14-19 May 1989, Scottsdale, AZ, USA, 1989, S. 484-489. - ISBN 0-8186-1938-4 (P). DOI: 10.1109/ROBOT.1989.100033. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=100033 [abgerufen am 2021-06-08]
SCHWARZER, Fabian ; SAHA, Mitul ; LATOMBE, Jean-Claude: Exact collision checking of robot paths. In: Algorithmic foundations of robotics V / ed. by Boissonnat, Jean-Daniel. Berlin : Springer, 2004 (Springer Tracts in Advanced Robotics ; 7). S. 25-42. - ISBN 3-540-04476-7. DOI: 10.1007/978-3-540-45058-0_3

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115157264A (zh) * 2022-08-03 2022-10-11 法奥意威(苏州)机器人系统有限公司 机器人控制方法、装置、协作机器人及可读存储介质
CN115157264B (zh) * 2022-08-03 2023-09-29 法奥意威(苏州)机器人系统有限公司 机器人控制方法、装置、协作机器人及可读存储介质

Also Published As

Publication number Publication date
EP4329992A1 (de) 2024-03-06
WO2022228792A1 (de) 2022-11-03

Similar Documents

Publication Publication Date Title
DE102006007623B4 (de) Roboter mit einer Steuereinheit zum Steuern einer Bewegung zwischen einer Anfangspose und einer Endpose
DE102004027944B4 (de) Verfahren zum Schützen eines Roboters gegen Kollisionen
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
EP2353802A2 (de) Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters
DE102019118637B4 (de) Automatische pfadgenerierungsvorrichtung
DE102017001131C5 (de) Verfahren und System zum Betreiben eines Roboters
DE102018107864B4 (de) Offline-Programmiervorrichtung und -verfahren mit der Funktion zur Erzeugung eines Programms zur Detektion einer Werkstückposition mittels eines Kontaktsensors
DE102019102803B4 (de) Ausrichten zweier Roboterarme zueinander
EP3408061A1 (de) Verfahren und system zur bahnplanung eines redundanten roboters
WO2017016648A1 (de) Verfahren zum steuern eines mobilen redundanten roboters
EP3812106B1 (de) Roboteranordnung, verfahren zum betreiben der roboteranordnung, computerprogramm sowie maschinenlesbares speichermedium
DE102004019653B4 (de) Simulationsvorrichtung
DE102021204148B3 (de) Verfahren und System zum koordinierten Abfahren vorgegebener Roboterbahnen
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE102012022190B4 (de) Inverse Kinematik
EP3569367A1 (de) Rechnergestütztes ermitteln einer bewegung einer vorrichtung
WO2018091141A1 (de) Vermessen einer bewegungsachse eines roboters
DE102022130341A1 (de) Punktmengen-störungsprüfung
EP2353800B1 (de) Verfahren und Vorrichtung zur Überwachung eines Manipulatorraumes
DE102017008917A1 (de) Verfahren zum Lokalisieren eines mobilen Roboters
DE102012010856A1 (de) Verfahren und Mittel zur Überwachung einer Roboteranordnung
DE102018205669B4 (de) Aufnehmen von Nutzlasten mittels eines robotergeführten Werkzeugs
DE102018209870B3 (de) Verfahren und System zum Überführen eines Endeffektors eines Roboters zwischen einer Endeffektorpose und einer weiteren Endeffektorpose
DE102017010244A1 (de) Verfahren und Steuermittel zum Steuern einer Roboteranordnung
DE102022104586B3 (de) Vorrichtung für das Steuern einer Rückführung eines Roboters zu seinem Ursprung und Verfahren zum Suchen eines Rückführungspfads des Roboters zu seinem Ursprung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final