DE102015116086A1 - Robotersteuerung - Google Patents

Robotersteuerung Download PDF

Info

Publication number
DE102015116086A1
DE102015116086A1 DE102015116086.2A DE102015116086A DE102015116086A1 DE 102015116086 A1 DE102015116086 A1 DE 102015116086A1 DE 102015116086 A DE102015116086 A DE 102015116086A DE 102015116086 A1 DE102015116086 A1 DE 102015116086A1
Authority
DE
Germany
Prior art keywords
motion
movement
robot
trajectories
program
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.)
Ceased
Application number
DE102015116086.2A
Other languages
English (en)
Inventor
Michael Riedl
Dominik Henrich
Johannes Baumgartl
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.)
Universitaet Bayreuth
Original Assignee
Universitaet Bayreuth
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 Universitaet Bayreuth filed Critical Universitaet Bayreuth
Priority to DE102015116086.2A priority Critical patent/DE102015116086A1/de
Priority to PCT/EP2016/072543 priority patent/WO2017050895A1/de
Publication of DE102015116086A1 publication Critical patent/DE102015116086A1/de
Ceased 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/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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/34Director, elements to supervisory
    • G05B2219/34348Coordination of operations, different machines, robots execute different tasks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Zum Erzeugen eines Steuerprogramms S für eine Interaktion zwischen beweglichen Roboterkomponenten 5a, 5b wird zunächst mit jeder Roboterkomponente 5a, 5b zumindest eine Bewegungstrajektorie T im Sinne der Playback-Programmierung manuell durchfahren. Eine Programmiereinrichtung 1 zeichnet die Bewegungstrajektorien T auf und übersetzt diese in Programmabschnitte P des Steuerprogramms S derart, dass durch Ausführen eines Programmabschnitts P durch eine Robotersteuerung 2 die zumindest eine Bewegungstrajektorie T der betreffenden Roboterkomponente 5a, 5b reproduziert wird. Erfindungsgemäß setzt die Programmiereinrichtung 1 die aufgezeichneten Bewegungstrajektorien T in graphische Bewegungsrepräsentationen R; 20 entlang einer Zeitachse 21 um, so dass die Bewegungsrepräsentationen R; 20 jeweils zumindest eine Bewegungstrajektorie T einer Roboterkomponente 5a, 5b repräsentieren. Die Bewegungstrajektorien T können dann durch Manipulieren S3 der Bewegungsrepräsentationen R; 20 derart räumlich und zeitlich aufeinander abgestimmt werden, dass die Interaktion korrekt definiert wird. Schließlich werden die Bewegungstrajektorien T entsprechend der manipulierten Bewegungsrepräsentationen R; 20 transformiert und in die Programmabschnitte P des Steuerprogramms S derart übersetzt, dass die Roboterkomponenten 5a, 5b die Interaktion bei Ausführung des Steuerprogramms S durch die Robotersteuerung 2 synchronisiert durchführen.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren sowie eine Programmiereinrichtung zur Erzeugung eines Steuerprogramms für eine Interaktion zwischen beweglichen Roboterkomponenten.
  • Beim industriellen Einsatz von Robotern kommt es in der Regel auf eine exakte Koordination der unterschiedlichen, zusammenwirkenden Roboter oder Roboterkomponenten an, damit diese die gewünschte Interaktionen aufeinander abgestimmt und synchronisiert durchführen, beispielsweise sogenannte Pick-and-Place-Aufgaben, wie zum Beispiel das Aufnehmen und Absetzen von Gegenständen, die Bearbeitung von Gegenständen durch zusammenwirkende Roboterkomponenten eines oder mehrerer Roboter oder dergleichen. Unter einer Roboterkomponente ist in diesem Zusammenhang einerseits ein einfacher Roboter zu verstehen, der mit anderen Robotern interagiert, bei komplexeren Robotern mit mehreren Komponenten andererseits aber auch jede einzelne Komponente eines solchen Roboters, die getrennt von anderen Komponenten des betreffenden Roboters angesteuert werden kann, zum Beispiel Roboterarme, Greifer, Werkzeuge, Arbeitsmaschinen, Roboterfahrwerke oder dergleichen. Insofern betrifft die Erfindung insbesondere auch die Erzeugung eines Steuerprogramms für eine Interaktion zwischen mehreren beweglichen Roboterkomponenten eines einzigen Roboters. Unter den Begriff der Roboterkomponente fallen aber auch sonstige bewegliche oder ansteuerbare technische Einrichtungen, die an einer Interaktion beteiligt sein können, zum Beispiel Förderbänder, dreh- und/oder schwenkbare Tische und Halter, oder dergleichen.
  • Die automatisierte Interaktion derartiger Roboterkomponenten erfordert deren räumliche und zeitliche Synchronisation, damit zwei oder mehr Roboterkomponenten wie gewünscht interagieren, um beispielsweise einen Gegenstand gemeinsam erfolgreich zu bearbeiten. Im Zusammenhang mit der vorliegenden Erfindung bezeichnet der Begriff der „Interaktion” also den gemeinsamen Bewegungsablauf von mehreren, zusammenwirkenden Roboterkomponenten eines oder mehrerer Roboter innerhalb eines bestimmten Zeitfensters, wobei die für die Interaktion notwendige zeitliche und/oder örtliche Koordination der Roboterkomponenten durch Synchronisationsmechanismen sichergestellt wird.
  • Zur Programmierung derartiger Roboterinteraktionen wird häufig die sogenannte führungszentrierte Programmierung verwendet (auch Teach-in- oder Playback-Programmierung genannt), bei der die kräftefrei geschalteten Roboterkomponenten von einer Bedienperson jeweils einzeln entlang derjenigen Bewegungstrajektorien geführt werden, welche die betreffenden Roboterkomponenten bei der Interaktion abfahren sollen. Die manuell oder mit Hilfe eines Programmierhandgeräts durchfahrenen Bewegungstrajektorien werden aufgezeichnet und in ein Steuerprogramm umgesetzt, welches anschließend die Interaktion durch Reproduzieren der Bewegungstrajektorien durch die Roboterkomponenten steuert.
  • Während diese Art der Roboterprogrammierung zunächst schnell und intuitiv erscheint, sind die derart erzeugten Steuerprogramme in der Regel nicht ohne weiteres einsetzbar, da die einzeln und unabhängig von anderen Roboterkomponenten und deren Trajektorien aufgezeichneten Bewegungstrajektorien der Synchronisation bzw. zumindest noch einer Feinabstimmung bedürfen, damit die Interaktion erfolgreich durchgeführt wird. Die aus den entsprechenden Programmabschnitten zusammengesetzten Steuerprogramme können jedoch kaum editiert werden, um die Trajektorien im Hinblick auf die Interaktion zu synchronisieren, da die automatisierte Übersetzung der aufgezeichneten Trajektorien häufig unübersichtlichen und komplexen Programmcode erzeugt, dessen Editieren erhebliche Kenntnisse erfordert und für den Programmierer mit großem Aufwand verbunden ist.
  • In diesem Zusammenhang sind Lösungen bekannt, bei denen eine Interaktion durch alternierendes Aufzeichnen mehrerer ineinander verzahnter Bewegungstrajektorien unterschiedlicher Roboterkomponenten im Teach-in-Modus programmiert wird, indem während der Aufzeichnung zwischen den betreffenden Roboterkomponenten manuell umgeschaltet wird. Parallele, synchronisierte Bewegungsabläufe verschiedener Komponenten sind hiermit jedoch auch nicht mit der erforderlichen Feinabstimmung erzeugbar, ebensowenig wie die nachträgliche Synchronisation der aufgezeichneten Trajektorien im Hinblick auf die gewünschte Interaktion möglich ist.
  • Deshalb ist es die Aufgabe der vorliegenden Erfindung, eine auch für ungeübte Programmierer einfache Möglichkeit zu schaffen, ein Steuerprogramm zu erzeugen, das eine Interaktion zwischen Roboterkomponenten korrekt umsetzt.
  • Diese Aufgabe wird durch ein Verfahren sowie eine Programmiereinrichtung und ein Programmier- und Steuersystem mit den Merkmalen der unabhängigen Ansprüche gelöst. In den davon abhängigen Ansprüchen sind vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung angegeben.
  • Zum Erzeugen eines Steuerprogramms für eine synchronisierte Interaktion zwischen beweglichen Roboterkomponenten wird mit jeder Roboterkomponente, die an der Interaktion beteiligt ist, zunächst zumindest eine Bewegungstrajektorie manuell durchfahren. Hierbei können mit einer Roboterkomponente auch mehrere Bewegungstrajektorien durchfahren werden, sofern diese Roboterkomponente im Verlauf der Interaktion mehrere, möglicherweise zeitlich voneinander getrennte Bewegungen durchzuführen hat. Alle Bewegungstrajektorien, die Bestandteile der Interaktion bilden, werden von einer Programmiereinrichtung aufgezeichnet und in Programmabschnitte des zu erzeugenden Steuerprogramms übersetzt. Die Bewegungstrajektorien werden derart übersetzt, dass die entsprechenden Programmabschnitte von einer mit den Roboterkomponenten verbundenen Robotersteuerung ausgeführt bzw. interpretiert werden können, und dass die jeweilige Bewegungstrajektorie bei Ausführung eines Programmabschnitts durch die Roboterkomponenten reproduziert wird. Das heißt, bei Ausführung eines Programmabschnitts durchläuft die zugehörige Roboterkomponente selbständig diejenige Bewegungstrajektorie, die zuvor in den betreffenden Programmabschnitt übersetzt wurde. Vorzugsweise werden, sofern für eine Roboterkomponente mehrere Bewegungstrajektorien aufgezeichnet wurden, mehrere Bewegungstrajektorien in einen zusammenhängenden Programmabschnitt übersetzt, der den gesamten Bewegungsverlauf dieser Roboterkomponente im Rahmen der zu programmierenden Interaktion wiedergibt.
  • Zur einfachen Synchronisierung der einzeln und unabhängig voneinander aufgezeichneten und übersetzten Bewegungstrajektorien im Hinblick auf die gewünschte Interaktion werden diese erfindungsgemäß in äquivalente, graphische Bewegungsrepräsentationen entlang einer Zeitachse umgesetzt, die mit den Mitteln der graphischen Programmierung einfach und intuitiv zeitlich und räumlich aufeinander abgestimmt werden können, um sie im Hinblick auf die Interaktion mit ausreichender Feinabstimmung zu synchronisieren. Die Bewegungsrepräsentationen werden hierbei jeweils bestimmten Roboterkomponenten oder anderweitig an der Interaktion beteiligten beweglichen Komponenten zugeordnet, wie zum Beispiel Förderbändern oder dergleichen, so dass jede Bewegungsrepräsentation die Bewegungstrajektorie dieser Komponente graphisch repräsentiert. Eine Bewegungsrepräsentation kann hierbei auch mehrere Bewegungstrajektorien der gleichen Komponente repräsentieren, sofern für diese mehrere, zum Beispiel durch Ruhephasen unterbrochene, Bewegungstrajektorien aufgezeichnet wurden.
  • Auf diese Weise ist jeder Roboterkomponente eine Bewegungsrepräsentation zugeordnet, die jeweils die eine oder mehreren Bewegungstrajektorien der betreffenden Roboterkomponente sowie entsprechende, ein oder mehrere Programmabschnitte repräsentiert, die von der Robotersteuerung ausführbare Steuerbefehle umfassen, um die entsprechenden Bewegungstrajektorien zu reproduzieren. Eine Bewegungsrepräsentation sowie die zugeordneten Bewegungstrajektorien und Programmabschnitte beschreiben also jeweils äquivalente Bewegungsabläufe der betreffenden Roboterkomponente im Rahmen der zu programmierenden Interaktion auf verschiedenen Abstraktionsstufen ausgehend von der technisch konkreten Ebene der Steuerbefehle, wobei die Bewegungsrepräsentation den höchsten Abstraktionsgrad aufweist und deshalb am leichtesten durch einen Programmierer editiert bzw. manipuliert werden kann.
  • Da der Begriff der Roboterkomponente wie oben erläutert die beweglichen Komponenten und Unterkomponenten eines oder mehrerer Roboter sowie alle anderweitigen beweglichen Elemente und Objekte umfasst, die an der Interaktion beteiligt sind, erlaubt es die Erfindung über die Manipulation der entsprechenden Bewegungsrepräsentationen alle diese Komponenten zu synchronisieren und im Hinblick auf die gewünschte Interaktion aufeinander abzustimmen. So kann zum Beispiel die Geschwindigkeit eines Förderbands auf die Bewegung eines Roboterarms abgestimmt werden, damit ein auf dem Förderband befindlicher Gegenstand zuverlässig ergriffen werden kann. Ebenso kann das Öffnen eines Greifers eines Roboters synchronisiert werden mit einer Bewegung des Roboters im Raum, damit der Roboter beispielsweise wartet, bis der Greifer einen Gegenstand sicher ergriffen und angehoben hat.
  • Demgegenüber werden für solche Objekte keine Bewegungstrajektorien aufgezeichnet, die nicht direkt an der Interaktion beteiligt sind, die aber dennoch Einfluss auf die Bewegungstrajektorien der an der Interaktion direkt beteiligten Roboterkomponenten haben können, etwa unbewegliche Objekte wie zum Beispiel Tische oder dergleichen, oder anderweitige, sich unabhängig bewegende Komponenten, mit denen Kollisionen zu vermeiden sind. Für solche Objekte existieren insofern auch nicht notwendigerweise Bewegungsrepräsentationen im Sinne der Erfindung. Dennoch können solche Objekte modelliert und in Form von graphischen Repräsentation bei der Interaktion berücksichtigt werden und/oder in das Steuerprogramm eingehen, zum Beispiel als Nebenbedingungen oder Raumkonstanten, die Hindernisse, Ablage- oder Anschlagsflächen oder dergleichen modellieren. Derartige Objekte, deren Raumrepräsentationen zum Beispiel importiert oder gespeichert werden können, oder für die in einem Steuerprogramm Platzhalter vorgesehen sein können, die in weiteren Schritten der Roboterprogrammierung ausgefüllt werden, werden durch Techniken und Mechanismen berücksichtigt, die nicht Gegenstand der vorliegenden Erfindung sind.
  • Die erfindungsgemäßen Bewegungsrepräsentationen sind hierbei der Manipulation durch einen Programmierer durch graphische Anpassungen zugänglich, so dass die Bewegungsrepräsentationen im Hinblick auf die Interaktionen in intuitiver Weise räumlich und zeitlich derart fein aufeinander abgestimmt werden können, dass die Interaktion zwischen den Roboterkomponenten korrekt synchronisiert definiert werden kann.
  • Die graphisch manipulierten Bewegungsrepräsentationen werden wiederum in äquivalente Bewegungstrajektorien transformiert und in äquivalente Programmabschnitte des Steuerprogramms übersetzt, so dass die Roboterkomponenten bei Ausführen des Steuerprogramms die Manipulation der Bewegungsrepräsentation durch den Programmierer korrekt berücksichtigen.
  • Auf diese Weise erweitert die vorliegende Erfindung die herkömmliche führungszentrierte Roboterprogrammierung (Playback- oder Teach-In-Programmierung) mit den Bewegungsrepräsentationen um intuitive Methoden zur Darstellung, Analyse, Bearbeitung und Synchronisation, die es einem Programmierer ermöglichen, die Bewegungstrajektorien unmittelbar derart zu aufeinander abzustimmen und zu synchronisieren, dass eine korrekte Interaktion definiert wird. Der Programmierer braucht hierfür keine besonderen Programmierkenntnisse und nur geringe Robotikkenntnisse, sondern kann auf der abstrakten Ebene der Bewegungsrepräsentationen sämtliche notwendigen Änderungen, Manipulationen und Anpassungen unmittelbar vornehmen, um die Feinabstimmung der Bewegungstrajektorien zu erreichen. Die erfindungsgemäßen Bewegungsrepräsentationen ermöglichen es, dem Programmierer eine einfach und intuitiv zu bedienende graphische Manipulationsschnittstelle zur Verfügung zu stellen, mit der das herkömmliche aufwändige Editieren der Programmabschnitte oder des Steuerprogramms vermieden wird.
  • Das erfindungsgemäße Verfahren wird mittels einer Programmiereinrichtung verwirklicht, welche eine Aufzeichnungseinheit umfasst, die mit einer Roboterkomponente durchfahrene Bewegungstrajektorien aufzeichnet, sowie eine Übersetzungseinheit, die die aufgezeichneten Bewegungstrajektorien in äquivalente Programmabschnitte des Steuerprogramms übersetzt. Erfindungsgemäß umfasst die Programmiereinrichtung weiterhin eine Umsetzungseinheit, eine graphische Manipulationsschnittstelle und eine Transformationseinheit, wobei die Umsetzungseinheit eine oder mehrere aufgezeichnete Bewegungstrajektorien in graphische Bewegungsrepräsentationen entlang der Zeitachse umsetzt, während die Transformationseinheit die Bewegungstrajektorien gemäß einer Manipulation der zugeordneten Bewegungsrepräsentation derart transformiert, dass die manipulierte Bewegungsrepräsentation und die transformierten Bewegungstrajektorien den entsprechenden, geänderten Bewegungsablauf der betreffenden Roboterkomponenten äquivalent beschreiben.
  • Die Manipulationsschnittstelle wiederum stellt die von der Umsetzungseinheit bereitgestellten Bewegungsrepräsentationen auf einer Anzeigeeinheit der Programmiereinrichtung in geeigneter Weise graphische dar, zum Beispiel im Form von graphisch aufbereiteten Zeitverläufen, Balken- oder Säulendiagrammen oder ähnlichem, so dass ein Programmierer diese leicht manipulieren kann, um eine räumliche und zeitliche Feinabstimmung der betreffenden Bewegungstrajektorien vorzunehmen, zum Beispiel in zeitlicher Hinsicht durch Skalieren der graphisch dargestellten Zeitverläufe und in räumlicher Hinsicht durch Ändern von Prozessparametern, die die Position oder den Zustand einer Roboterkomponente im Raum betreffen.
  • Die Programmiereinrichtung kann Teil eines erfindungsgemäßen Programmier- und Steuersystems sein, das zusätzlich eine Robotersteuerung umfasst, die über eine Steuerverbindung mit den zu programmierenden Roboterkomponenten verbunden ist. Mittels des Programmier- und Steuersystems kann das Steuerprogramm auf der Programmiereinrichtung programmiert und dann über eine Datenverbindung an die Robotersteuerung übertragen und dort ausgeführt werden.
  • Die übersetzten Programmabschnitte bilden jeweils Bestandteile des Steuerprogramms. Das Steuerprogramm kann insofern lediglich im Wesentlichen aus den kombinierten Programmabschnitten bestehen oder im Rahmen eines Kompilationsprozesses aus den Programmabschnitten erzeugt werden. Diese Kompilation wird vorzugsweise auch von der Übersetzungseinheit durchgeführt, kann aber auch von einer separaten Kompilationseinheit der Programmiereinrichtung durchgeführt werden. Bei der Kompilation des Steuerprogramms werden Synchronisationsinformationen und Prozessparameter aus den Bewegungsrepräsentationen berücksichtigt, um die separaten Programmabschnitte in der erforderlichen Weise in das Steuerprogramm zu integrieren.
  • Vorzugsweise werden die Bewegungsrepräsentationen der an der Interaktion beteiligten Roboter- und sonstigen Komponenten durch die Manipulationsschnittstelle in Form eines editierbaren Gantt-Diagramms dargestellt, wobei jeder Zeitbalken einer Bewegungsrepräsentation entspricht. Der Programmierer erhält auf diese Weise für jede Roboterkomponente eine intuitive, zeilenweise Darstellung der zugehörigen Bewegungsrepräsentation, die auch die unterschiedlichen Bewegungstrajektorien für den Programmierer visualisieren, zum Beispiel dadurch, dass Ruheintervalle der betreffenden Roboterkomponente entsprechend gekennzeichnet sind.
  • Die Zeitbalken des Gantt-Diagramms sind hierbei vorzugsweise entlang einer globalen Zeitachse angeordnet, so dass die relative zeitliche Abfolge der Bewegungsverläufe der Roboterkomponenten unmittelbar ersichtlich und leicht zu manipulieren ist. jede einzelne Bewegungsrepräsentation kann zusätzlich oder alternativ auch mit einer eigenen Zeitachse ausgestattet sein, um deren zeitliche Auflösung individuell zu skalieren oder zu verändern, zum Beispiel bei besonders schnellen oder langsamen Bewegungsabläufen.
  • Die Gantt-Darstellung bietet dem Programmierer insbesondere eine zeitlich ausreichende Auflösung an, so dass dieser ähnliche Operationen wie beim Videoschnitt vornehmen kann, beispielsweise um aufgezeichnete Bewegungstrajektorien oder deren Abschnitte innerhalb bestimmter Zeitintervalle per cut-and-paste zu selektieren und dann auszuschneiden, verändert zusammenzustellen, umzugruppieren, abzuspeichern oder anderweitig zu manipulieren, ohne die betreffenden Programmabschnitte oder das Steuerprogramm aufwändig editieren zu müssen. Die Programmierung der Interaktion kann anhand des Gantt-Diagramms also auf graphisch-abstrakter Ebene stattfinden, weil Manipulationen des Gantt-Diagramms automatisiert in entsprechend transformierte Trajektorien und zugehörige Programmabschnitte übernommen werden. Die balkenförmigen Bewegungsrepräsentationen, die die Bewegungstrajektorien aller an der Interaktion beteiligten Roboter- und sonstigen Komponenten repräsentieren, können hierbei auch durch Anmerkungen, Prozess- oder Synchronisationsinformationen ergänzt werden, die beispielsweise durch Anklicken sichtbar und/oder editierbar werden.
  • Vorzugsweise stellt die Manipulationsschnittstelle Manipulationsfunktionen bereit, über die der Programmierer Synchronisationspunkte und/oder Synchronisationsintervalle in die Bewegungsrepräsentationen einfügen kann, um räumliche und/oder zeitliche Abhängigkeiten zwischen den Bewegungstrajektorien zumindest einiger Roboterkomponenten vorzugeben. Die Bewegungsrepräsentationen werden dann entsprechend der Synchronisationspunkte und/oder Synchronisationsintervalle gruppiert und angepasst, zum Beispiel indem sie derart entlang der Zeitachse verschoben oder gestreckt, gestaucht oder anderweitig skaliert – also in ihrer Ablaufgeschwindigkeit verändert – werden, dass die Synchronisationspunkte und/oder Synchronisationsintervalle an der gleichen Stelle und/oder im gleichen Zeitabschnitt der Zeitachse zu liegen kommen. Derartige Manipulationen der Bewegungsrepräsentationen werden anschließend automatisch in die betreffenden Trajektorien und Programmabschnitte übernommen, so dass die Bewegungsabläufe der Roboterkomponenten entsprechend der vorgegebenen Synchronisationspunkte und/oder Synchronisationsintervalle zeitlich synchron ablaufen.
  • Die Manipulationsschnittstelle stellt darüber hinaus Funktionen zum Einsetzen oder Ersetzen von Abschnitten der Bewegungsrepräsentationen bereit. Auch diese Manipulationen werden automatisch transformiert und übersetzt. Durch diese Erweiterungsfunktionen kann der Programmierer beispielsweise eine bereits vorliegende oder eine weitere, aufgezeichnete und umgesetzte Bewegungsrepräsentation an einem markierten Zeitpunkt in eine zu manipulierende Bewegungsrepräsentation einfügen, so dass an dem markierten Zeitpunkt auch in die repräsentierte Trajektorie eine weitere Trajektorie eingefügt wird. Hierbei bietet die Manipulationsschnittstelle vorzugsweise zwei verschiedene Varianten der Erweiterungsfunktion an, nämlich einerseits ein Einsetzen an der markierten Stelle, so dass die Bewegungsrepräsentation insgesamt einen verlängerte Laufzeit erhält, oder ein Ersetzen bzw. Überschreiben, bei dem die Laufzeit der Bewegungsrepräsentation insgesamt unverändert bleiben kann. Beim Ersetzen bzw. Überschreiben kann zusätzlich ein Zeitintervall angegeben werden, in das die weitere Bewegungsrepräsentation in überschreibender Weise eingesetzt und gleichzeitig auf die Länge des Zeitintervalls skaliert wird.
  • Die Erweiterungsfunktion der Manipulationsschnittstelle ist so ausgestaltet, dass sowohl eine Offline-Erweiterung als auch eine Online-Erweiterung möglich ist. Bei der Offline-Erweiterung wird eine Bewegungsrepräsentation eingefügt, die eine bereits aufgezeichnete Bewegungstrajektorie repräsentiert, welche entweder mit der vorliegenden Programmiereinrichtung oder anderweitig aufgezeichnet und mittels einer Import-Funktion in die Programmiereinrichtung eingelesen wurde. Entsprechend stellt die Programmiereinrichtung auch eine Export-Funktion bereit, um Bewegungstrajektorien anhand der entsprechenden Bewegungsrepräsentation zu selektieren und dann in einem geeigneten Austauschformat abzuspeichern oder zur Übertragung an andere Einrichtungen zu exportieren. Bei der Online-Erweiterung wird eine Bewegungstrajektorie also „live” eingefügt, das heißt während sie aufgezeichnet wird. Auf diese Weise kann eine Bewegungstrajektorie in einem Schritt durchfahren, aufgezeichnet und mittels einer Manipulation der betreffenden Bewegungsrepräsentation eingesetzt werden.
  • Die Manipulationsschnittstelle stellt dem Programmierer ferner Funktionen zum Ansteuern und Ausführen von Programmabschnitten mittels des erfindungsgemäßen Programmier- und Steuersystems zur Verfügung. Auf diese Weise kann das Steuerprogramm während des Programmierprozesses getestet werden, indem einzelne Bewegungsrepräsentationen vollständig oder abschnittsweise über die Manipulationsschnittstelle selektiert werden, so dass die betreffenden Trajektorien von den Roboterkomponenten durch Ausführen der entsprechenden Programmabschnitte oder des Steuerprogramms reproduziert werden, zum Beispiel um die Synchronisation der Bewegungstrajektorien zu prüfen.
  • Gemäß einer weiteren bevorzugten Ausgestaltung der Erfindung können Programmabschnitte und/oder Steuerprogramme von einem Programmierer auch manuell oder semi-manuell auf der Programmiereinrichtung programmiert werden (Offline-Programmierung) oder in diese importiert werden. Derartige programmierte oder importierte Programmabschnitte und/oder Steuerprogramme werden von der Programmiereinrichtung automatisiert im Bewegungsrepräsentationen umgesetzt, welche entsprechende Bewegungstrajektorien für die betreffenden Roboterkomponenten umfassen. Über die Manipulationsschnittstelle können diese Bewegungstrajektorien wiederum aufeinander abgestimmt und synchronisiert werden.
  • Auf diese Weise ist es möglich, manuell programmierte oder importierte Programmabschnitte und/oder Steuerprogramme nachträglich an die Roboterkomponenten und deren gewünschte Bewegungstrajektorien im Rahmen der Interaktion anzupassen bzw. eine Abweichung der Bewegungstrajektorien der manuell programmierten oder importierten Programmabschnitte und/oder Steuerprogramme gegenüber den gewünschten Bewegungstrajektorien der zu programmierenden Roboterkomponenten auszugleichen.
  • Vorzugsweise stellt die graphische Manipulationsschnittstelle auch eine Funktion zur 3D-Darstellung der Roboterkomponenten auf einer Anzeigeeinheit der Programmiereinrichtung bereit, so dass in einer oder mehreren Bewegungsrepräsentationen, zum Beispiel über einen markierten Zeitpunkt oder ein markiertes Zeitintervall, selektierte Abschnitte der Bewegungstrajektorien auf der Anzeigeeinheit abgespielt werden, um die betreffenden Bewegungsabläufe der Roboterkomponenten anhand ihrer 3D-Darstellungen zu simulieren bzw. in einer virtuellen Umgebung visuell zu prüfen, zum Beispiel auf Kollisionsstellen oder Unstetigkeitsstellen, die sich aus den aktuellen Trajektorien ergeben.
  • In diesem Zusammenhang stellt die Manipulationsschnittstelle vorzugsweise auch Funktionen zur Konsistenzprüfung bereit, die anhand der Trajektorien eine automatische Kollisionsprüfung oder Interpolation von Unstetigkeitsstellen vornimmt, entweder visualisiert durch die 3D-Darstellung der Roboterkomponenten oder in Form einer automatischen Transformation der aktuellen Bewegungstrajektorien. Bei der Kollisionsprüfung werden in den Bewegungstrajektorien Kollisionsstellen detektiert, das heißt, es werden Zeitpunkte in den Bewegungstrajektorien bzw. Bewegungsrepräsentationen ermittelt, an denen eine Roboterkomponente mit sich selbst kollidiert oder zwei oder mehr Roboterkomponenten mit einander kollidieren, zum Beispiel indem sie die gleiche räumliche Position einnehmen. Daneben können auch Kollisionen einzelner oder mehrerer Roboterkomponenten mit anderen, nicht beweglichen Objekten im Arbeitsraum ermittelt werden, sofern diese hinterlegt bzw. im Rahmen der Interaktion modelliert sind. Diese Kollisionsstellen werden vorzugsweise automatisiert korrigiert, indem die Bewegungstrajektorien derart transformiert werden, dass die Kollisionsstellen kollisionsfrei umgangen werden, beispielsweise durch zeitliche Entzerrung oder räumliche Anpassung der betreffenden Bewegungstrajektorien.
  • Bei der Interpolationsprüfung werden in den Bewegungstrajektorien Unstetigkeitsstellen detektiert, das heißt Zeitpunkte, an denen eine Roboterkomponente eine sprunghafte Bewegung machen soll, die von dieser technisch nicht umsetzbar ist, zum Beispiel infolge des Einsetzens eines neuen Abschnitts in eine Bewegungstrajektorie, der zu Beginn oder an Ende bezüglich der ursprünglichen Trajektorie unstetig ist. Zur Korrektur wird die betreffende Bewegungstrajektorie an der Unstetigkeitsstelle automatisch stetig ergänzt, zum Beispiel indem ein kurzes Zeitintervall eingefügt wird, in dem die betreffende Roboterkomponente zwischen den zueinander unstetigen Positionen wechseln kann. Alternativ kann die betreffende Bewegungstrajektorie in einem Zeitintervall unmittelbar vor oder unmittelbar nach der Unstetigkeitsstelle entsprechend stetig angepasst werden.
  • Die Funktionen zur Konsistenzprüfung transformieren vorzugsweise zunächst die Bewegungstrajektorien, um Kollisions- oder Unstetigkeitsstellen zu korrigieren, so dass die korrigierten Trajektorien anschließend in äquivalente Bewegungsrepräsentationen umgesetzt werden, damit dem Programmierer der aktuellen Stand der programmierten Interaktion vorliegt. Derartige Konsistenzprüfungen können zwar von dem Programmierer über die Manipulationsschnittstelle initiiert werden, sie werden aber vorzugsweise automatisch vorgenommen, sobald der Programmierer die Bewegungsrepräsentationen manipuliert.
  • Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung erfindungsgemäßer Ausführungsbeispiele, sowie weiteren Ausführungsalternativen im Zusammenhang mit den folgenden Zeichnungen, die zeigen:
  • 1 ein Ablaufdiagramm mit den wesentlichen Schritten des erfindungsgemäßen Verfahrens;
  • 2 eine schematische Darstellung der erfindungsgemäßen Programmiereinrichtung sowie einer Robotersteuerung mit verbundenen Roboterkomponenten; und
  • 3 ein Ausführungsbeispiel der erfindungsgemäßen graphischen Manipulationsschnittstelle in Form eines Gantt-Diagramms.
  • 1 zeigt schematisch die von der Programmiereinrichtung 1 gemäß 2 realisierten Schritte zum Erzeugen bzw. ineinander Überführen verschiedener äquivalenter Beschreibungen einer Interaktion zwischen Roboterkomponenten 5a, 5b. Diese äquivalenten Beschreibungen sind die Bewegungsrepräsentationen R, die Bewegungstrajektorien T, die Programmabschnitte P sowie das Steuerprogramm S. Diese Beschreibungsformen einer Interaktion von Roboterkomponenten 5a, 5b abstrahieren schrittweise die konkreten Steuerbefehle, die die Robotersteuerung 2 über die Steuerverbindungen 3 an die Roboterkomponenten 5a, 5b überträgt, um deren Bewegungen zu steuern.
  • Hierbei stellt das Steuerprogramm S ein Softwareprogramm in einer Computersprache dar, die von der Robotersteuerung 2 ausgeführt oder interpretiert werden kann, um die Roboterkomponenten 5a, 5b derart anzusteuern, dass die gewünschte Interaktion ausgeführt wird. Die Programmabschnitte P wiederum stellen Teile des Steuerprogramms S dar, die jeweils eine oder mehrere Bewegungsabläufe einer bestimmten Roboterkomponente 5a, 5b im Rahmen der Interaktion beschreiben. Diese liegen ebenfalls in einer geeigneten Computersprache vor, die jedoch nicht notwendigerweise die gleiche sein muss, in der auch das Steuerprogramm S vorliegt. Die Bewegungstrajektorien T wiederum beschreiben jeweils eine oder mehrere Bewegungen einer bestimmten Roboterkomponente 5a, 5b im Rahmen der Interaktion.
  • Die Bewegungstrajektorien T liegen in einer geeigneten Beschreibungssprache vor, die in der Regel nicht von der Robotersteuerung 2 ausführbar oder interpretierbar ist, sondern die optimiert und abgestimmt darauf ist, die Bewegungsverläufe von Roboterkomponente 5a, 5b möglichst exakt räumlich und zeitlich aufgelöst zu beschreiben. Die strichlinierten Pfeile in 2 deuten die Bewegungstrajektorien an.
  • Ein Programmierer, der das Steuerprogramm S auf herkömmliche Weise programmiert, benötigt umfassende Kenntnisse in wenigstens einer der Computer- bzw. Beschreibungssprachen, in denen die Bewegungstrajektorien T. die Programmabschnitte P oder das Steuerprogramm S technisch vorliegen. Darüber hinaus kann es für einen Programmierer zeitaufwendig und auch softwaretechnisch äußerst anspruchsvoll sein, die gewünschte Interaktion anhand üblicher Programmiertechniken basierend auf den Bewegungstrajektorien T oder den Programmabschnitten P zu programmieren.
  • Deshalb wird erfindungsgemäß eine weitere Abstraktionsstufe für die Programmierung der Interaktion bereitgestellt, nämlich in Form der Bewegungsrepräsentationen R, die die Bewegungstrajektorien T graphisch darstellen und dadurch erlauben, die Interaktion in einer intuitiven und effizienten Weise, vorzugsweise visuell zu programmieren, beispielsweise anhand von Balkendarstellungen 20 eines Gantt-Diagramms 18 (vgl. 3), das auf einer Anzeigeeinheit 16 der Programmiereinrichtung 1 angezeigt wird. Hierbei repräsentiert jeder der Balken 20 eine Bewegungsrepräsentation R.
  • Auf der Ebene der Bewegungsrepräsentation R kann der Programmierer die Bewegungstrajektorien T der Roboterkomponenten 5a, 5b intuitiv und anhand graphischer Manipulationsfunktionen derart fein aufeinander abstimmen, dass sie die Interaktion korrekt synchronisiert und vollständig beschreiben. Kenntnisse bestimmter Beschreibungs- oder Programmiersprachen sind hierfür nicht notwendig, denn jede Bewegungsrepräsentation R bildet alle Bewegungstrajektorien T vollständig graphisch ab, die eine bestimmte Roboterkomponente 5a, 5b im Rahmen der Interaktion reproduzieren soll. Somit erübrigt sich auch das aufwändige und komplexe, manuelle Editieren der Bewegungstrajektorien T, der Programmabschnitte P oder des Steuerprogramms S.
  • Die in 1 gezeigten Schritte S1 bis S7 stellen jeweils Funktionen der Programmiereinrichtung 1 dar, die die Beschreibungen R, T, P, S erzeugen, manipulieren oder äquivalent ineinander überführen. Die in 1 in Quadraten angegebenen Bezugszeichen geben hierbei diejenigen Module und Einheiten der Programmiereinrichtung 1 an, die den entsprechenden Schritt auf technischer Ebene umsetzen. Diese Einheiten der Programmiereinrichtung 1 sind vorzugsweise als Softwaremodule oder Softwareprogramme realisiert, die von einem Prozessor (nicht dargestellt) der Programmiereinrichtung 1 ausgeführt oder von einem Interpreter interpretiert werden können. Insofern umfasst die Programmiereinrichtung 1 eine in Software ausgeführte Aufzeichnungseinheit 11, eine Umsetzungseinheit 12, eine Manipulationsschnittstelle 13, eine Transformationseinheit 14 sowie eine Übersetzungseinheit 15. Die Manipulationsschnittstelle 13 wiederum unterteilt sich in eine Manipulationseinheit 13a sowie die über die Anzeigeneinheit 16 für den Programmierer zugänglichen Manipulationsschalter 13b, über die vielfältige Funktionen zum Manipulieren der Bewegungsrepräsentationen R ausgeführt werden können, welche von der Manipulationseinheit 13a technisch realisiert werden.
  • Die Koordination der verschiedenen Einheiten 11, 12, 13, 14, 15, 16 der Programmiereinrichtung 1 sowie die Datenkommunikation mit der Robotersteuerung 2 über Datenverbindung 4 wird von einer Zentraleinheit 10 sichergestellt, die ebenfalls vorzugsweise als auf einem Prozessor ausführbares Softwareprogramm vorliegt. Daneben hat die Zentraleinheit 10 auch Zugriff auf einen Speicher 19, in dem verschiedene Daten in Zusammenhang mit der vorliegenden Erfindung abgelegt werden, insbesondere die Bewegungsrepräsentationen R, die Bewegungstrajektorien T, die Programmabschnitte P sowie das Steuerprogramm S.
  • Bei dem durch die Schritte der 1 realisierten Programmierverfahren handelt es sich um eine sogenannte führungszentrierte Programmierung einer Roboterinteraktion, bei der zunächst die von jeder einzelnen Roboterkomponente 5a, 5b im Rahmen der Interaktion abzufahrenden Trajektorien von dem Programmierer manuell oder mittels geeigneter technischer Hilfsmittel durchfahren und dabei in Schritt S1 von der Aufzeichnungseinheit 11 als Bewegungstrajektorien T aufgezeichnet werden. Auf diese Weise werden mehrere Bewegungstrajektorien T erzeugt, die gemeinsam jeweils den, gegebenenfalls durch Ruhephasen unterbrochenen Bewegungsverlauf einer einzelnen Roboterkomponente 5a, 5b wiedergeben.
  • Der Begriff der Roboterkomponente beschreibt hierbei nicht nur einzelne Roboter als ganzes, sondern insbesondere alle beweglichen Bestandteile eines Roboters, sofern sich diese autonom voneinander ansteuern lassen. In 2 sind die Bewegungstrajektorien T durch strichlinierte Pfeile angedeutet, die den räumlich und zeitlich aufgelösten Bewegungsablauf der beiden Greifarme beschreiben, der von dem zeitlichen Zustand von drei Gelenken abhängig ist. Weitere Bewegungstrajektorien T können zum Beispiel die Schließbewegungen der beiden Greifer selbst beschreiben, oder die Bewegung des angedeuteten Förderbandes bzw. eines darauf befindlichen und als Box angedeuteten Gegenstandes. Für die vollständige Beschreibung des gemeinsamen Ergreifens des Gegenstandes durch die beidem Roboter bedarf es also mindestens fünf Bewegungstrajektorien T, die räumlich und zeitlich genau aufeinander abgestimmt sind, damit die gewünschte Interaktion erfolgreich durchgeführt wird. Falls zum Beispiel die Positionierung der Greifarme in mehreren separaten Abschnitten erfolgt, zum Beispiel durch eine Grobpositionierung in der Nähe des Zielpunktes und einer anschließenden Feinpositionierung genau auf dem Zielpunkt, werden entsprechend mehr Trajektorien T aufgezeichnet.
  • In Schritt S2 setzt die Umsetzungseinheit 12 die aufgezeichneten Bewegungstrajektorien T in äquivalente Bewegungsrepräsentationen R um, wobei eine Bewegungsrepräsentation R auch mehrere Trajektorien T der gleichen Roboterkomponente 5a, 5b repräsentieren kann, zum Beispiel Trajektorien T zur Grob- und Feinpositionierung eines Greifarms. Die Bewegungsrepräsentationen R liegen vorzugsweise in einem Datenformat vor, das auf deren graphische Darstellung abgestimmt ist und sich von dem Datenformat der Trajektorien T unterscheidet. Der Schritt S2 betrifft nur die Umsetzung des Trajektorienformats in das Repräsentationsformat. In einem weiteren, nicht in 1 dargestellten Schritt werden die umgesetzten Bewegungsrepräsentationen R auf der Anzeigeneinheit 16 als Gantt-Diagrammen 18 dargestellt, wie in 3 veranschaulicht.
  • Im unteren Bereich der 3 ist das Gantt-Diagramm 18 mit vier Balkendarstellungen 20 entlang der Zeitachse 21 gezeigt, die jeweils eine Bewegungsrepräsentation R wiedergeben. Jeder Balken 20 kann mehre Abschnitte 20a umfassen, die jeweils eine Bewegungstrajektorie T der betreffenden Roboterkomponente K1, K2, K3, K4 bilden, beispielsweise die Trajektorien der im oberen Bereich der 3 dargestellten Greifarme 23a (K1) und 23d (K3) sowie der zugehörigen Greifer 23b (K2) und 23c (K4).
  • Anhand der Balken 20 der Komponenten 23a (K1) und 23b (K2) des Gantt-Diagramms 18 ist für den Programmierer unmittelbar ersichtlich, dass sich der Bewegungsablauf des entsprechenden Roboters 23a, 23b in zwei Bewegungsrepräsentationen K1 und K2 unterteilt und diese wiederum sechs Trajektorien T repräsentieren, nämlich zunächst eine Positionierung des Greifarms 23a (K1), dann eine Greifbewegung des Greifers 23b (K2) zum Erfassen des Gegenstandes 24, dann eine Positionsveränderung des Greifarms 23a (K1) zu dem Zweck, dass der Greifer 23c (K4) des weiteren Roboters 23c, 23d den Gegenstand 24 in einer synchronen Aktion übernimmt, dann eine gemeinsame Positionsänderung beider Roboterarme 23a (K1), 23d (K3) und schließlich ein Öffnen des Greifers 23b (K2) und Zurückfahren des Greifarms 23a (K1) in die Ausgangsposition.
  • Für den Manipulationsschritt S3 stehen dem Programmierer über die Manipulationsschnittstelle 13 und insbesondere über die Manipulationsschalter 13b und das graphisch editierbare Gantt-Diagramm 18 verschiedene von der Manipulationseinheit 13a implementierte Manipulationsfunktionen zur Verfügung, mit denen die Bewegungsrepräsentationen R derart manipuliert, editiert, oder aufeinander abgestimmt werden können, dass die Interaktion bei Ausführen des entsprechenden Steuerprogramms S von den Roboterkomponenten 5a, 5b synchronisiert durchgeführt wird. Hierzu wählt der Programmierer die gewünschte Manipulationsfunktion durch Betätigen eines der Manipulationsschalter 13b aus und/oder bearbeitet das Gantt-Diagramm 18 entsprechend, beispielsweise indem einzelne Abschnitte 20a der Balken 20 gestreckt, gestaucht, verschoben oder ergänzt werden.
  • In Schritt S4 transformiert die Transformationseinheit 13 die betreffenden Bewegungstrajektorien T entsprechend den in Schritt S3 an den Bewegungsrepräsentationen R vorgenommenen Manipulationen, um die Äquivalenz zwischen der manipulierten Bewegungsrepräsentation R und den zugehörigen Bewegungstrajektorien T herzustellen. Entsprechend übersetzt die Übersetzungseinheit in Schritt S6 die transformierten Trajektorien T in Programmabschnitte P, die ebenfalls die in Schritt S3 an den Bewegungsrepräsentationen R vorgenommenen Manipulationen berücksichtigen. Hierbei entspricht jeder Bewegungstrajektorie T vorzugsweise genau ein Programmabschnitt P. Falls es aus softwaretechnischen Gründen vorteilhaft ist, kann ein Programmabschnitt P aber auch mehreren Bewegungstrajektorien T entsprechen, beispielsweise diejenigen Bewegungstrajektorien T, die von einer Bewegungsrepräsentation R, das heißt von einem Balken 20 des Gantt-Diagramms 18, repräsentiert werden. In Schritt S7 integriert bzw. kompiliert die Übersetzungseinheit 15 schließlich die Programmabschnitte P zu einem vollständigen Steuerprogramm S.
  • Neben dem Transformationsschritt S4, der durch den Programmierer mittels einer graphische Manipulation des Gantt-Diagramms 18 in Schritt S3 ausgelöst wird, ist auch ein Manipulationsschritt S5 möglich, der direkt auf eine Transformation der Bewegungstrajektorien T abzielt, ohne eine vorherige Manipulation des Gantt-Diagramms 18. Ein solcher Transformationsschritt S5 ist beispielsweise die Konsistenzprüfung der Trajektorien T, zum Beispiel hinsichtlich von räumlichen Kollisionen der Roboterkomponenten 5a, 5b oder Unstetigkeitsstellen innerhalb einer Bewegungstrajektorie T. Eine Transformation S5 kann entweder durch Betätigen eines Manipulationsschalters 13b ausgelöst werden, wenn darüber hinaus keine weitere Manipulation des Gantt-Diagramms 18 durch den Programmierer erforderlich ist, oder durch die Zentraleinheit 10 veranlasst werden, zum Beispiel im Rahmen von regelmäßigen, automatisierten Prüf- und Korrekturdurchläufen. Die derart transformierten Trajektorien T werden in geänderte Bewegungsrepräsentationen R (Schritt S2) und Programmabschnitte P (Schritt S6) umgesetzt bzw. übersetzt.
  • Um die verschiedenen Bewegungstrajektorien T im Sinne der Interaktion zu synchronisieren bzw. aufeinander abzustimmen, stellt die Manipulationsschnittstelle 13 über die Manipulationsschalter 13b und das Gantt-Diagramm 18 vielfältige Manipulationsfunktionen zum Hinzufügen, Entfernen, Synchronisieren, Speichern, Laden, Importieren, Exportieren, Neuanordnen, Testen und Ausführen der Bewegungstrajektorien T zur Verfügung, die automatisch die Transformation (Schritt S4) der betreffenden Trajektorien T und Übersetzung (Schritt S6) der transformierten Trajektorie T in äquivalente Programmabschnitte P zur Folge haben.
  • So können zu Synchronisationszwecken Synchronisationspunkte 25 oder Synchronisationsintervalle 26 in dem Gantt-Diagramm 18 markiert werden, so dass die Manipulationseinheit 13a die entsprechenden Balken 20 der Bewegungsrepräsentationen R automatisch derart relativ zueinander ausrichtet und/oder skaliert, dass die spezifizierten Zeitpunkte 25 oder Zeitintervalle 26 in dem Gantt-Diagramm 18 übereinander zu liegen kommen, das heißt im Hinblick auf die Zeitachse 21 synchronisiert sind. Beim Synchronisieren definiert der Programmierer also zeitliche und/oder räumliche Abhängigkeiten zwischen den Trajektorien T, die von der Manipulationseinheit 13a automatisch berücksichtigt werden, indem die Synchronisationspunkte 25 und -intervalle 26 in Bezug auf die Zeitachse derart gestaucht, gestreckt, verschoben oder anderweitig angepasst werden, dass sie in dem Gantt-Diagramm 18 übereinander liegen.
  • Beispielhaft zeigt 3 ein von dem Programmierer spezifiziertes Synchronisationsintervall 26 und einen Synchronisationspunkt 25. Während die Abschnitte 20a der Komponenten K1, K3 und K4 zu Beginn des Synchronisationsintervalls 26 bereits ausreichend synchron verlaufen, muss die Manipulationseinheit 13a die entsprechenden Abschnitte 20a der Komponenten K2 und K3 oder K4 derart aufeinander abstimmen, dass sie mit dem Ende des Synchronisationsintervalls 26 gemeinsam beginnen und/oder gemeinsam enden. Entsprechend wird die Manipulationseinheit 13a die Abschnitte 20a so auf den Synchronisationspunkt 25 abstimmen, dass etwa der unmittelbar auf den Synchronisationspunkt 25 folgende kurze Abschnitt 20a der Komponente K4 genau an den Synchronisationspunkt 26 und insofern mit dem Ende des letzten Abschnitts 20a der Komponente K1 beginnt.
  • Zusätzlich oder alternativ zu der globalen Zeitachse 21 können alle oder einzelne der Balken 20 entlang eigener Zeitachsen mit individueller Zeitauflösung ausgerichtet sein, um die Bewegungsrepräsentationen R zweckmäßiger darzustellen und einfacher manipulieren zu können. Ebenso kann auch jeder der Abschnitte 20a der Balken 20 über eine eigene, individuelle Zeitachse verfügen, so dass diese unabhängig von anderen Abschnitten 20a gestreckt, gestaucht oder anderweitig zeitlich manipuliert werden können.
  • Über die Zeitachsen können wiederum Abschnitte der Bewegungsrepräsentationen R ausgewählt und über eine Manipulation der Art und Länge der jeweiligen Zeitachse geeignet an die Interaktion angepasst werden.
  • Die bestehenden Bewegungstrajektorien T können um eine weitere Bewegungstrajektorie T oder weitere Abschnitte von Bewegungstrajektorien T ergänzt werden, während die entsprechenden Roboterkomponenten 5a, 5b durch die weitere Bewegungstrajektorie T geführt und diese von der Aufzeichnungseinheit 11 aufgezeichnet werden. Bei dieser „Live”-Aufzeichnung einer weiteren Bewegungstrajektorie T im Rahmen der Playback- oder Teach-in-Programmierung kann in einem Balken 20 des Gantt-Diagramms 18 ein Zeitpunkt 22 markiert werden, an dem diese weitere Bewegungstrajektorie T im Insert-Modus in die von der betreffenden Bewegungsrepräsentation R repräsentierte Bewegungstrajektorie T eingefügt wird. Wahlweise kann über die Manipulationsschalter 13b auch ein Overwrite-Modus ausgewählt werden, bei dem eine „live” aufgezeichnete, weitere Bewegungstrajektorie T die zu erweiternde Bewegungstrajektorie T ab einem definierten Zeitpunkt 22 oder innerhalb eines ausgewählten Zeitintervalls überschreibt.
  • Ebenso können in dem Gantt-Diagramm 18 in einigen oder allen Balken 20 Zeitintervalle ähnlich den Synchronisationsintervallen 26 selektiert werden, so dass sämtliche Manipulationen im Rahmen des Schrittes S3 innerhalb des selektierten Zeitintervalls von der Manipulationseinheit 13a in allen Bewegungsrepräsentationen R einheitlich durchgeführt werden. Auf diese Weise können die Trajektorien T einer oder mehrerer Roboterkomponenten 5a, 5b unabhängig von anderen Roboterkomponenten 5a, 5b angepasst, ausgerichtet oder programmiert werden, oder durch Drag-and-Drop- oder Copy/Paste-Operationen manipuliert werden. Ebenso stellt die Manipulationsschnittstelle 13 Manipulationsfunktionen zum Verschieben oder zum Skalieren, Strecken oder Stauchen bereit, um dadurch die die zeitliche Auflösung der Balken 20 und/oder die Ausführungsgeschwindigkeit der Trajektorien T zu verändern. Abschnitte der Balken 20 können auch beliebig selektiert und dann kopiert oder ausgeschnitten werden, um sie an anderen Positionen wieder einzufügen, mit der entsprechenden Folge für die repräsentierten Bewegungstrajektorien T.
  • Bei den oben beschriebenen Synchronisationsfunktionen legt der Programmierer lediglich den Synchronisationspunkt 25 oder die Start- und Endpunkte des Synchronisationsintervalls 26 manuell fest, während die eigentliche Manipulation der Bewegungsrepräsentationen R selbständig durch die Manipulationseinheit 13a derart vorgenommen wird, dass die betreffenden Trajektorien T gemäß den Vorgaben des Programmierers synchronisiert werden. Im Unterscheid dazu werden die diversen Editierfunktionen, wie zum Beispiel das Kopieren, Verschieben, Ausschneiden und Einfügen, vom Programmierer manuell und im Wesentlichen vollständig an der betreffenden Bewegungsrepräsentation R vorgenommen, so dass die Manipulationseinheit 13a hierbei in der Regel nicht oder nur sehr eingeschränkt zum Einsatz kommt.
  • Zu Simulationszwecken können Bewegungstrajektorien T auch innerhalb von in den Bewegungsrepräsentationen R selektierten Zeitintervallen in dem Fenster 17 abgespielt werden, in dem eine virtuelle 3D-Darstellung der Roboterkomponenten 23a, 23b, 23c, 23d angezeigt wird. Mit dieser 3D-Darstellung der realen Roboterkomponenten 5a, 5b in Form von virtuellen Roboterkomponenten 23a, 23b, 23c, 23d kann die Interaktion, gesteuert über das Gantt-Diagramm 18, simuliert oder getestet werden, indem bestimmte Zustände der Roboterkomponenten 23a, 23b, 23c, 23d zu einem bestimmten Zeitpunkt 22 oder innerhalb eines bestimmten Zeitintervalls der Bewegungstrajektorien T visualisiert werden können.
  • Ferner stellt die Manipulationsschnittelle 13 Funktionen bereit, so dass das Steuerprogramm S, gegebenenfalls nach einer erfolgreichen Simulation, von der Zentraleinheit 10 über die Datenverbindung 4 an die Robotersteuerung 2 übertragen werden kann. In dem Gantt-Diagramm 18 selektierte Zeitintervalle oder Bewegungsrepräsentationen R werden dann, vermittelt durch die Zentraleinheit 10 und die Robotersteuerung 2, von den (realen) Roboterkomponenten 5a, 5b ausgeführt. Der Zeitpunkt 22 gibt hierbei die momentane Position innerhalb der Bewegungsrepräsentationen R an. Diese Wiedergabefunktion kann aber auch nur einzelne über das Gantt-Diagramm 18 adressierbare Bewegungstrajektorien T betreffen und beliebig unterbrochen und wieder fortgesetzt werden.
  • Ferner stellen die Manipulationsschalter 13b auch Funktionen zum Importieren und Exportieren sowie Abspeichern und Einlesen von Bewegungstrajektorien T bzw. Programmabschnitten P bereit. Auf diese Weise können Bewegungstrajektorien T anderer Interaktionen über eine geeignete Schnittstelle der Programmiereinrichtung 1 importiert werden, die gegebenenfalls nicht durch Playback- oder Teach-in-Programmierung aufgezeichnet sondern vollständig innerhalb einer virtuellen Umgebung modelliert wurden. Über das Gantt-Diagramm 18 können diese importierten Trajektorien T weiter bearbeitet oder mit anderen Interaktionen kombiniert werden. Importierte Bewegungstrajektorien T werden von der Umsetzungseinheit 12 automatisch in Bewegungsrepräsentationen R umgesetzt und von der Manipulationseinheit 13 als Gantt-Diagramm 18 dargestellt. Zum Zwecke des Imports/Exports beherrscht die Programmiereinrichtung 1 die gängigen Austauschdatenformate, zum Beispiel solche aus dem CAD- oder CNC-Bereich, wie zum Beispiel STEP oder STEP-NC. Eine beispielhafte Anwendung eines solchen Imports/Exports ist die Nachbearbeitung von Bewegungstrajektorien T, die nicht durch ein Teach-in-Verfahren erzeugt wurden, sondern ausschließlich in einer virtuellen Umgebung durch Simulation einer gewünschten Interaktion.
  • Ferner bietet die Manipulationsschnittstelle 13 über die Manipulationsschalter 13b Funktionen zur Konsistenzprüfung der Interaktion an, die eine Interpolation von unstetigen Bewegungstrajektorien T und/oder eine Kollisionsprüfung der Trajektorien T betreffen. Im Rahme eines Transformationsschritts S5 werden also einerseits Unstetigkeitsstellen in den Bewegungstrajektorien T detektiert und stetig ergänzt und andererseits Kollisionen der Roboterkomponenten 5a, 5b im Rahmen der Interaktion erkannt und automatisch umgangen. Bei einer Interpolation von Unstetigkeitsstellen wird an der entsprechende Stelle der betroffenen Bewegungstrajektorie T dann beispielweise ein Abschnitt eingefügt, der genügend Zeit bereitstellt, damit die betreffende Roboterkomponente 5a, 5b von der einen in die andere Position technisch sinnvoll überführt wird. Bei der Korrektur von Kollisionsstellen werden die Bewegungstrajektorien T derart geändert, beispielsweise durch zeitliche oder räumliche Verschiebungen der Roboterkomponenten 5a, 5b, dass die Kollision umgangen wird. Derartige Konsistenzprüfungen können in dem Fenster 17 anhand der virtuellen 3D-Darstellung der Roboterkomponenten 23a, 23b, 23c, 23d 17 visualisiert und überwacht werden. In Folge einer solchen automatisierten Transformation der Bewegungstrajektorien T im Rahmen des Schrittes S5 werden die Bewegungsrepräsentationen R äquivalent angepasst (Schritt S2) und das Gantt-Diagramm 18 entsprechend aktualisiert.
  • Schließlich bietet die Manipulationsschnittstelle 13 auch Funktionen an, um Metadaten oder Prozessparameter in die Bewegungsrepräsentationen R einzufügen oder zu editieren, die beispielsweise Raumkoordinaten der Roboterkomponenten 5a, 5b oder Parameter zur Bearbeitung von Werkstücken betreffen. Diese Parameter werden in den Transformations- und Übersetzungsschritten S4, S6, S7 automatisch in die Trajektorien T, Programmabschnitte P und das Steuerprogramm S übernommen.

Claims (16)

  1. Verfahren zum Erzeugen eines Steuerprogramms (S) für eine Interaktion zwischen beweglichen Roboterkomponenten (5a, 5b), wobei mit jeder Roboterkomponente (5a, 5b) zumindest eine Bewegungstrajektorie (T) manuell durchfahren wird, umfassend die folgenden Schritte einer Programmiereinrichtung (1): – Aufzeichnen (S1) der Bewegungstrajektorien (T); und – Übersetzen (S5) der aufgezeichneten Bewegungstrajektorien (T) in Programmabschnitte (P) des Steuerprogramms (S) derart, dass durch Ausführen eines Programmabschnitts (P) durch eine Robotersteuerung (2) die zumindest eine Bewegungstrajektorie (T) der betreffenden Roboterkomponente (5a, 5b) reproduziert wird; gekennzeichnet durch die weiteren Schritte der Programmiereinrichtung (1): – Umsetzen (S2) der aufgezeichneten Bewegungstrajektorien (T) in graphische Bewegungsrepräsentationen (R; 20) entlang einer Zeitachse (21), wobei die Bewegungsrepräsentationen (R; 20) jeweils zumindest eine Bewegungstrajektorie (T) einer Roboterkomponente (5a, 5b) repräsentieren, derart, dass die Bewegungstrajektorien (T) durch Manipulieren (S3) der Bewegungsrepräsentationen (R; 20) räumlich und zeitlich aufeinander abgestimmt werden können, um die Interaktion zu definieren; – Transformieren (S3) der Bewegungstrajektorien (T) entsprechend der manipulierten Bewegungsrepräsentationen (R; 20); – Übersetzen (S5) der transformierten Bewegungstrajektorien (T) in Programmabschnitte (P) des Steuerprogramms (S) derart, dass die Roboterkomponenten (5a, 5b) durch Ausführen des Steuerprogramms (S) die Interaktion durchführen.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Steuerprogramm (S) derart aus den Programmabschnitten (P) kompiliert wird (S6), dass die Bewegungstrajektorien (T) entsprechend den manipulierten Bewegungsrepräsentationen (R; 20) aufeinander abgestimmt sind.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die aufgezeichneten Bewegungstrajektorien (T) in ein Gantt-Diagramm mit Zeitbalken entlang der Zeitachse (21) umgesetzt werden (S2), wobei jeder Zeitbalken einer Bewegungsrepräsentation (R) entspricht.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass eine Bewegungsrepräsentation (R; 20) entsprechend von durch Synchronisationspunkte (25) und/oder Synchronisationsintervalle (26) in den Bewegungsrepräsentationen (R; 20) vorgegebene räumliche und/oder zeitliche Abhängigkeiten zwischen den Bewegungstrajektorien (T) manipuliert wird (S3), insbesondere durch Strecken, Stauchen, Skalieren, Verschieben, Einfügen, Entfernen oder Duplizieren von Bewegungsrepräsentationsabschnitten (20a) in den Bewegungsrepräsentationen (R; 20), wobei die Bewegungstrajektorien (T) entsprechend den räumlichen und/oder zeitlichen Abhängigkeiten transformiert werden (S4) und die derart transformierten Bewegungstrajektorien (T) in entsprechend synchronisierte Programmabschnitte (P) übersetzt werden (S5).
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass eine Bewegungsrepräsentation (R; 20) einer Bewegungstrajektorie (T) an einem markierten Zeitpunkt (22) um einen Bewegungsrepräsentationsabschnitt (20a) erweitert wird (S3), der eine weitere Bewegungstrajektorie (T) der betreffenden Roboterkomponente (5a, 5b) repräsentiert, indem der Bewegungsrepräsentationsabschnitt (20a) an dem markierten Zeitpunkt (22) in die Bewegungsrepräsentation (R; 20) eingesetzt wird oder die Bewegungsrepräsentation (R; 20) ab dem markierten Zeitpunkt (22) durch den Bewegungsrepräsentationsabschnitt (20a) überschrieben wird, wobei die Bewegungstrajektorie (T) entsprechend der erweiterten Bewegungsrepräsentation (R) transformiert wird (S3).
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Bewegungsrepräsentation (R; 20) um den Bewegungsrepräsentationsabschnitt (20a) erweitert wird (S3), während die weitere Bewegungstrajektorie (T) aufgezeichnet wird (S1), oder um einen Bewegungsrepräsentationsabschnitt (20a), der eine bereits aufgezeichnete, weitere Bewegungstrajektorie (T) repräsentiert, wobei die weitere Bewegungstrajektorie (T) in die Programmiereinrichtung (1) importiert sowie in den Bewegungsrepräsentationsabschnitt (20a) umgesetzt (S2) und in einen Programmabschnitt (P) übersetzt wird (S5).
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass wenn ein oder mehrere Bewegungsrepräsentationen (R; 20) ab einem markierten Zeitpunkt (22) oder in einem markierten Zeitintervall abgespielt werden, die Robotersteuerung (2) den einen oder die mehreren betreffenden Programmabschnitte (P) derart ausführt, dass die eine oder mehreren Roboterkomponenten (5a, 5b) die betreffenden Bewegungstrajektorien (T) ab dem markierten Zeitpunkt (22) oder in dem markierten Zeitintervall reproduzieren.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass auf der Programmiereinrichtung (1) manuell erstellte oder in die Programmiereinrichtung (1) importierte Programmabschnitte (P) und/oder Steuerprogramme (S) in Bewegungsrepräsentationen (R; 20), die jeweils zumindest eine Bewegungstrajektorie (T) einer Roboterkomponente (5a, 5b) repräsentieren, derart umgesetzt werden, dass die Bewegungstrajektorien (T) durch Manipulieren (S3) der Bewegungsrepräsentationen (R; 20) räumlich und zeitlich aufeinander abgestimmt werden können.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Programmiereinrichtung (1) eine virtuelle 3D-Darstellung der Roboterkomponenten (23a, 23b, 23c, 23d) erzeugt, wobei, wenn ein oder mehrere Bewegungsrepräsentationen (R; 20) ab einem markierten Zeitpunkt (22) oder in einem markierten Zeitintervall abgespielt werden, die eine oder mehreren virtuell dargestellten Roboterkomponenten (23a, 23b, 23c, 23d) die betreffenden Bewegungstrajektorien (T) ab dem markierten Zeitpunkt (22) oder in dem markierten Zeitintervall reproduzieren.
  10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die Bewegungsrepräsentationen (R; 20) auf Konsistenz geprüft werden, indem Kollisionsstellen in den Bewegungstrajektorien (T) detektiert werden und kollidierende Bewegungstrajektorien (T) derart transformiert werden (S4), dass die Kollisionsstellen kollisionsfrei umgangen werden, wobei die transformierten Bewegungstrajektorien (T) in kollisionsfreie Bewegungsrepräsentationen (R, 20) umgesetzt (S2) und in kollisionsfreie Programmabschnitte (P) übersetzt werden (S5) und/oder indem Unstetigkeitsstellen in einer Bewegungstrajektorie (T) detektiert werden und eine unstetige Bewegungstrajektorie (T) derart transformiert wird (S4), dass die Unstetigkeitsstelle durch einen Interpolationstrajektorie stetig ergänzt wird, wobei die transformierte Bewegungstrajektorie (T) in eine stetige Bewegungsrepräsentation (R, 20) umgesetzt (s2) und in einen Programmabschnitt (P) übersetzt wird (S5).
  11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass eine manipulierte Bewegungsrepräsentation (R, 20) entsprechend der Manipulation (S2) derart transformiert (S3) und die transformierte Bewegungstrajektorie (T) entsprechend der Manipulation (S2) derart in einen Programmabschnitt (P) übersetzt wird (S5), oder eine transformierte Bewegungstrajektorie (T) entsprechend der Transformation (S4) derart in eine Bewegungsrepräsentation (R; 20) umgesetzt (S2) und derart in einen Programmabschnitt (P) übersetzt wird (S5), dass die Bewegungsrepräsentationen (R; 20), die Bewegungstrajektorien (T) und die Programmabschnitte (P) die Interaktion zwischen den Roboterkomponenten (5a, 5b) jeweils äquivalent beschreiben.
  12. Programmiereinrichtung (1) zur Erzeugung eines Steuerprogramms (S), das eine Interaktion zwischen beweglichen Roboterkomponenten (5a, 5b) realisiert, wenn es von einer Robotersteuerung (2) ausgeführt wird, umfassend – eine Aufzeichnungseinheit (11), die eingerichtet ist, eine mit einer Roboterkomponente (5a, 5b) manuell durchfahrene Bewegungstrajektorie (T) aufzuzeichnen; und – eine Übersetzungseinheit (15), die eingerichtet ist, eine aufgezeichnete Bewegungstrajektorie (T) in einen Programmabschnitt (P) des Steuerprogramms (S) derart zu übersetzen, dass durch Ausführung des Programmabschnitts (P) durch die Robotersteuerung (2) die Bewegungstrajektorie (T) der betreffenden Roboterkomponente (5a, 5b) reproduziert wird, dadurch gekennzeichnet, dass die Programmiereinrichtung (1) weiterhin umfasst: – eine Umsetzungseinheit (12), die eingerichtet ist, eine aufgezeichnete Bewegungstrajektorie (T) in eine graphische Bewegungsrepräsentation (R; 20) entlang einer Zeitachse (21) umzusetzen, wobei die Bewegungsrepräsentation (R; 20) eine Bewegungstrajektorie (T) einer Roboterkomponente (5a, 5b) repräsentiert; – eine graphische Manipulationsschnittstelle (13), die eingerichtet ist, von der Umsetzungseinheit (12) umgesetzte Bewegungsrepräsentationen (R; 20) auf einer Anzeigeeinheit (16) der Programmiereinrichtung (1) darzustellen, sowie eingerichtet ist, Manipulationsfunktionen (13b) bereitzustellen, durch die die Bewegungsrepräsentationen (R) derart manipuliert werden können, dass die Bewegungstrajektorien (T) räumlich und zeitlich aufeinander abgestimmt werden, um die Interaktion zu definiert; und – eine Transformationseinheit (14), die eingerichtet ist, Bewegungstrajektorien (T) entsprechend von manipulierten Bewegungsrepräsentationen (R; 20) zu transformieren; wobei die Übersetzungseinheit (15) weiter eingerichtet ist, transformierte Bewegungstrajektorien (T) in Programmabschnitte (P) des Steuerprogramms (S) derart zu übersetzen, dass die Roboterkomponenten (5a, 5b) die Interaktion durchführen, wenn das Steuerprogramm (S) von der Robotersteuerung (2) ausgeführt wird.
  13. Programmiereinrichtung (1) nach Anspruch 12, gekennzeichnet durch eine Datenverbindung (4) zwischen der Programmiereinrichtung (1) und der Robotersteuerung (2) die derart eingerichtet ist, dass, wenn ein oder mehrere Bewegungsrepräsentationen (R; 20) mittels der Manipulationsschnittstelle (13) ab einem markierten Zeitpunkt (22) oder in einem markierten Zeitintervall abgespielt werden, die betreffenden Programmabschnitte (P) über die Datenverbindung (4) an die Robotersteuerung (2) übertragen werden.
  14. Programmiereinrichtung (1) nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass die graphische Manipulationsschnittstelle (13), die Umsetzungseinheit (12) und die Übersetzungseinheit (15) derart eingerichtet sind, dass bei einer Manipulation einer Bewegungsrepräsentation (R; 20) mittels der Manipulationsschnittstelle (13), die Transformationseinheit (14) die manipulierte Bewegungsrepräsentation (R; 20) entsprechend der Manipulation transformiert und die Übersetzungseinheit (15) die transformierte Bewegungstrajektorie (T) entsprechend der Manipulation in einen Programmabschnitt (P) übersetzt, und bei einer Transformation einer Bewegungstrajektorie (T) durch die Transformationseinheit (14), die Umsetzungseinheit (12) die transformierte Bewegungstrajektorie (T) entsprechend der Transformation in eine Bewegungsrepräsentation (R; 20) umsetzt und die Übersetzungseinheit (15) die transformierte Bewegungstrajektorie (T) einsprechend der Transformation in einen Programmabschnitt (P) übersetzt, derart, dass die Bewegungsrepräsentationen (R; 20), die Bewegungstrajektorien (T) und die Programmabschnitte (P) die Interaktion zwischen den Roboterkomponenten (5a, 5b) jeweils äquivalent beschreiben.
  15. Programmiereinrichtung (1) nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, dass die Programmiereinrichtung (1) ausgestaltet und eingerichtet ist, ein Steuerprogramm (S) für eine Interaktion zwischen beweglichen Roboterkomponenten (5a, 5b) gemäß einem Verfahren nach einem der Ansprüche 1 bis 11 zu erzeugen.
  16. Programmier- und Steuersystem, umfassend eine Programmiereinrichtung (1) nach einem der Ansprüche 12 bis 15 sowie eine mit der Programmiereinrichtung (1) über eine Datenverbindung (4) verbundene Robotersteuerung (2), wobei die Robotersteuerung (2) derart eingerichtet ist, dass von der Programmiereinrichtung (1) über die Datenverbindung (4) übertragene Programmabschnitte (P) von der Robotersteuerung (2) derart ausgeführt werden, dass die Roboterkomponenten (5a, 5b) die betreffenden Bewegungstrajektorien (T) reproduzieren.
DE102015116086.2A 2015-09-23 2015-09-23 Robotersteuerung Ceased DE102015116086A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102015116086.2A DE102015116086A1 (de) 2015-09-23 2015-09-23 Robotersteuerung
PCT/EP2016/072543 WO2017050895A1 (de) 2015-09-23 2016-09-22 Robotersteuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015116086.2A DE102015116086A1 (de) 2015-09-23 2015-09-23 Robotersteuerung

Publications (1)

Publication Number Publication Date
DE102015116086A1 true DE102015116086A1 (de) 2017-03-23

Family

ID=56985619

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015116086.2A Ceased DE102015116086A1 (de) 2015-09-23 2015-09-23 Robotersteuerung

Country Status (2)

Country Link
DE (1) DE102015116086A1 (de)
WO (1) WO2017050895A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018004947B3 (de) 2018-06-22 2019-07-18 Sew-Eurodrive Gmbh & Co Kg Verfahren zur Steuerung von Antrieben eines Roboters und Robotersystem
DE102019102427A1 (de) * 2019-01-31 2020-08-06 Franka Emika Gmbh Koordination von Bahnen zweier Robotermanipulatoren
DE102022203406A1 (de) 2022-04-06 2023-10-12 Kuka Deutschland Gmbh Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür
CN117021118A (zh) * 2023-10-08 2023-11-10 中北大学 一种并联机器人数字孪生轨迹误差动态补偿方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6836558B2 (ja) * 2018-08-31 2021-03-03 ファナック株式会社 レーザ加工のための教示装置
CN111283677B (zh) * 2018-12-10 2021-07-06 北京猎户星空科技有限公司 一种机器人控制方法、装置、机器人及机器人主控器
CA3123456A1 (en) * 2019-02-11 2020-08-20 Hypertherm, Inc. Motion distribution in robotic systems
DE102021214567A1 (de) 2021-12-17 2023-06-22 Carl Zeiss Industrielle Messtechnik Gmbh Verfahren und System zur Bewegungssteuerung einer Mehrzahl von Positioniereinrichtungen
CN114393578A (zh) * 2021-12-31 2022-04-26 广州明珞装备股份有限公司 一种工艺动作判断方法、系统、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009004285A1 (de) * 2008-06-27 2009-12-31 Robert Bosch Gmbh Verfahren und Vorrichtung zur Optimierung, Überwachung oder Analyse eines Prozesses
WO2015117641A1 (en) * 2014-02-05 2015-08-13 Abb Technology Ltd A system and method for defining motions of a plurality of robots cooperatively performing a show

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5942248A (ja) * 1982-09-03 1984-03-08 Mitsubishi Electric Corp 数値制御加工方式
JP4765155B2 (ja) * 2000-09-28 2011-09-07 ソニー株式会社 オーサリング・システム及びオーサリング方法、並びに記憶媒体
DE102010004472A1 (de) * 2010-01-13 2011-07-14 KUKA Laboratories GmbH, 86165 Werkzeug und Verfahren zur Planung und/oder Steuerung eines Mehrrobotersystems
WO2015006199A1 (en) * 2013-07-08 2015-01-15 Abb Technology Ag Multi-viewer for interacting or depending objects

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009004285A1 (de) * 2008-06-27 2009-12-31 Robert Bosch Gmbh Verfahren und Vorrichtung zur Optimierung, Überwachung oder Analyse eines Prozesses
WO2015117641A1 (en) * 2014-02-05 2015-08-13 Abb Technology Ltd A system and method for defining motions of a plurality of robots cooperatively performing a show

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MEYER, Ch..: Aufnahme und Nachbearbeitung von Bahnen bei der Programmierung durch Vormachen von Industrierobotern. Dissertation, Universität Stuttgart. Heimsheim: Jost Jetter Verlag, , 2011. S. 52-55, 97-103 - ISBN 978-3-939890-75-1 [Online: http://dx.doi.org/10.18419/opus-4442]
MEYER, Ch..: Aufnahme und Nachbearbeitung von Bahnen bei der Programmierung durch Vormachen von Industrierobotern. Dissertation, Universität Stuttgart. Heimsheim: Jost Jetter Verlag, , 2011. S. 52-55, 97-103 - ISBN 978-3-939890-75-1 [Online: http://dx.doi.org/10.18419/opus-4442] *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018004947B3 (de) 2018-06-22 2019-07-18 Sew-Eurodrive Gmbh & Co Kg Verfahren zur Steuerung von Antrieben eines Roboters und Robotersystem
DE102019003971A1 (de) 2018-06-22 2019-12-24 Sew-Eurodrive Gmbh & Co Kg Verfahren zur Steuerung von Antrieben eines Roboters und Robotersystem
WO2019242885A1 (de) 2018-06-22 2019-12-26 Sew-Eurodrive Gmbh & Co. Kg Verfahren zur steuerung von antrieben eines roboters und robotersystem
US11904479B2 (en) 2018-06-22 2024-02-20 Sew-Eurodrive Gmbh & Co. Kg Method for controlling drives of a robot, and robot system
DE102019102427A1 (de) * 2019-01-31 2020-08-06 Franka Emika Gmbh Koordination von Bahnen zweier Robotermanipulatoren
DE102019102427B4 (de) 2019-01-31 2022-02-10 Franka Emika Gmbh Koordination von Bahnen zweier Robotermanipulatoren
DE102022203406A1 (de) 2022-04-06 2023-10-12 Kuka Deutschland Gmbh Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür
CN117021118A (zh) * 2023-10-08 2023-11-10 中北大学 一种并联机器人数字孪生轨迹误差动态补偿方法
CN117021118B (zh) * 2023-10-08 2023-12-15 中北大学 一种并联机器人数字孪生轨迹误差动态补偿方法

Also Published As

Publication number Publication date
WO2017050895A1 (de) 2017-03-30

Similar Documents

Publication Publication Date Title
DE102015116086A1 (de) Robotersteuerung
EP1901149B1 (de) Vorrichtung und Verfahren zur Simulation eines Ablaufs zur Bearbeitung eines Werkstücks an einer Werkzeugmaschine
DE60035651T2 (de) Steuerungssystem zum synchronen kooperativen Betreiben einer Mehrzahl von Robotern
EP2138914B1 (de) Verfahren und Vorrichtung zur Optimierung, Überwachung oder Analyse eines Prozesses
DE2712169C2 (de) Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter
DE102009017795A1 (de) Arbeitsvorgangssimulationsverfahren und Arbeitsvorgangssimulationsvorrichtung
EP1933214A2 (de) Automatisierte Erstellung und Adaption eines Maschinen- oder Anlagenmodells
EP1131686A1 (de) Verfahren zur steuerung technischer prozesse
DE19739559A1 (de) Verfahren und System zum Erstellen oder Visualisieren von Steuerdatensätzen
DE2557464A1 (de) Steuersystem fuer eine automatische maschine, insbesondere fuer den arm eines roboters
DE20321699U1 (de) Rechner zum Durchführen eines Simulationsverfahrens für eine Bearbeitung eines Werkstücks durch eine Werkzeugmaschine
WO2019020818A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
DE102006022483A1 (de) Verfahren und Vorrichtung zum Anzeigen einer Roboterbahn zur Unterstützung einer Ortsänderung eines Stützpunktes
DE102007006422A1 (de) Verfahren zum Betreiben von Maschinen mit anpassbaren Bewegungsprofilen
DE60219570T2 (de) Simulationsvorrichtung
EP0553621B1 (de) Programmierbare Computersteuerung für eine Werkzeugmaschine
EP3786745A1 (de) Identifikation von abweichungen zwischen realer anlage und ihrem digitalen zwilling
DE10231675A1 (de) Simulationssystem für die Maschinensimulation und Datenausgabe von Steuerdaten für ein Automatisierungssystem
DE102008018962A1 (de) Verfahren zur Steuerung eines Roboters
DE10144788A1 (de) Verfahren und Vorrichtung zur sicheren hochperformanten Aufzeichnung von Prozessdaten bei numerisch gesteuerten industriellen Bearbeitungsmaschinen
DE112016007339T5 (de) Simulationsvorrichtung
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
EP3438773B1 (de) Bearbeitung von werkstücken mit modellgestützter fehlerkompensation
EP1217476A2 (de) Vorrichtung und Verfahren zur Inbetriebnahme und Diagnose von Steuerungssystemen
DE4330218A1 (de) Synchronisationsverfahren und Vorrichtung zum Abgleich von Bearbeitungsabläufen auf einem dialogorientierten Programmiergerät zur Erstellung von Funktions- und Steuerdaten für eine CNC-Maschine mit n-Teilsystemen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: KLUNKER IP PATENTANWAELTE PARTG MBB, DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final