-
Die vorliegende Erfindung betrifft ein Werkzeug und ein Verfahren zur Planung und/oder Steuerung eines Mehrmaschinensystems mit zwei oder mehr Maschinen, insbesondere Robotern.
-
Bei sogenannten Mehrrobotersystemen, bei denen mehrere Roboter teilweise in demselben Arbeitsraum agieren, müssen deren Bewegungen miteinander synchronisiert, i. e. zeitlich aufeinander abgestimmt werden, um Kollisionen zu vermeiden. Insbesondere, wenn Roboter miteinander kooperieren, um beispielsweise gemeinsam ein Bauteil handzuhaben oder zu bearbeiten, erfordert dies eine präzise Synchronisation. Es kann auch erforderlich sein, Roboter mit anderen Maschinen zu synchronisieren, beispielsweise, wenn ein Roboter ein Werkstück in eine Werkzeugmaschine einlegen oder einer Spritzgussmaschine entnehmen soll.
-
Rein exemplarisch zeigt die Figurenfolge 1A bis 1F die Kooperation dreier Roboter bei der Handhabung von Werkstücken 420, 430, die auf einer Palette 410 an- und abtransportiert werden. Hierzu greift zunächst ein erster Roboter 100 mit seinem Greifer 110 die Palette 410 mit den Werkstücken 420, 430 (1A). Nach Drehung um seine Grundachse greifen ein zweiter und ein dritter, identischer Roboter, von denen zur besseren Übersicht nur ihre Greifer 210 bzw. 310 dargestellt sind, die Werkstücke 420, 430 (1B). Während der erste Roboter die Palette 410 nach unten wegführt und dabei umdreht, fügen der zweite und dritte Roboter, wie in der Figurenfolge 1C bis 1E angedeutet, die Werkstücke 420, 430 ineinander, um sie dann auf der Auflage der umgedrehten Palette 410 abzulegen (1F). Man erkennt, dass in den in 1B, 1F dargestellten Stellungen alle drei Roboter miteinander derart synchronisiert werden müssen, dass sie Werkstücke 420, 430 und Palette 410 relativ zueinander korrekt positionieren, in den in der Figurenfolge 1C bis 1E angedeuteten Stellungen insbesondere der zweite und dritte Roboter miteinander kooperieren, um die Werkstücke ineinander zu fügen, und in allen Stellungen zudem eine Kollision zwischen den Robotern, beispielsweise dem zuführenden ersten und dem wartenden zweiten und dritten Roboter bzw. den fügenden zweiten und dritten Robotern und dem die Palette drehenden ersten Roboter verhindert wird.
-
Die Komplexität solcher Synchronisationen zwischen verschiedenen Maschinen steigt mit der Maschinenzahl. Auf der anderen Seite sind in der Praxis verschiedenste Prozesse zu planen und zu steuern, die unterschiedliche Maschinen nutzen. Vorzugsweise soll neben der inertialen Planung auch ein geplanter Prozess einfach modifiziert werden können.
-
Aus der
DE 42 19 902 C2 ist ein Verfahren zur Erstellung von Steuerungsdaten für eine automatisierte Fertigungsstraße, insbesondere zur Durchführung einer Prozessplanung mit einem Prozessplanungssystem anhand von Daten über Fertigungsmaschinen wie beispielsweise Robotern bekannt, wobei Konfigurations- und Toleranzdaten automatisch in Fertigungsmerkmale herzustellender Teile für NC-Maschinen gewandelt werden. Auf eine Synchronisation mehrerer Maschinen wird nicht eingegangen.
-
Aufgabe der vorliegenden Erfindung ist es, die Planung und/oder Steuerung eines Mehrmaschinensystems mit zwei oder mehr Maschinen zu verbessern.
-
Diese Aufgabe wird durch ein Werkzeug mit den Merkmalen des Anspruchs 1 gelöst. Anspruch 5 stellt ein entsprechendes Verfahren unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Ein erfindungsgemäßes Werkzeug kann Hard- und/oder Softwarekomponenten aufweisen. Insbesondere können Einrichtungen eines solchen Werkzeugs Ein- und/oder Ausgabeeinrichtungen wie Tastatur, Joystick, Maus, Touchscreen, Bildschirme oder Bildschirmsegmente und/oder Rechnerkomponenten wie eine CPU, einen Prozessor, einen Datenspeicher, eine Bus-Verbindungen, einen Computer, einen PC, ein Notebook und dergleichen aufweisen. Zusätzlich oder alternativ können Programme oder Programmteile bzw. -module Einrichtungen eines solchen Werkzeugs bilden.
-
Es dient zur Planung und/oder Steuerung eines Mehrmaschinensystems mit zwei oder mehr Maschinen. Eine solche Maschine kann insbesondere ein Roboter, aber auch ein, vorzugsweise robotergeführtes, Werkzeug wie ein Greifer, eine Schweißzange oder dergleichen, eine Ur- oder Umformmaschine wie beispielsweise eine Spritzguß- oder Werkzeugmaschine, ein Förderer wie beispielsweise ein Förderband oder Transportwagen oder dergleichen sein.
-
Erfindungsgemäß wird eine gemeinsame Bezugsachse genutzt. Dabei kann es sich insbesondere um eine Zeitachse zur Abbildung realer oder skalierter Prozesszeiten handeln.
-
Bezüglich dieser Bezugsachse kann ein Anwender mit dem Werkzeug bzw. das Werkzeug automatisch einen oder mehrere Prozesse einer oder mehrerer Maschinen anordnen. Dabei wird unter einem Prozess insbesondere ein Zustand oder die Abfolge verschiedener Zustände der beteiligten Maschine(n) verstanden, wobei ein Zustand einer Maschine insbesondere ihre Stellung umfassen kann. So kann beispielsweise die Abfolge der in 1A, 1B und 1F dargestellten Posen des ersten Roboters 100 einen Prozess im Sinne der vorliegenden Erfindung bilden.
-
Die Anordnung kann beispielsweise softwaretechnisch dadurch umgesetzt sein, dass ein Prozess oder ein Zustand einer Maschine jeweils mit einem Punkt der Bezugsachse verknüpft wird. In einer bevorzugten Ausführung können hierzu Prozess bzw. Zustand per drag&drop relativ zur Bezugsachse angeordnet werden.
-
Erfindungsgemäß erfolgt eine Zuordnung eines ersten Prozesses oder eines Zustands einer ersten Maschine und eines zweiten Prozesses, eines Zustands einer zweiten Maschine und/oder eines Kooperationsbezugsachsenpunktes zueinander, um sie miteinander zu synchronisieren.
-
Beispielsweise können Zustände, insbesondere Stellungen, von zwei oder mehr Robotern einander zugeordnet und so miteinander synchronisiert werden. Im einleitend erläuterten Beispiel können beispielsweise die Stellungen der drei Roboter gemäß 1B bzw. 1F einander zugeordnet werden.
-
Gleichermaßen können auch zwei komplette Prozesse synchronisiert werden. Beispielsweise können der Prozess „Fügen der Bauteile 420, 430” (1C bis 1E) und der Prozess „Transfer und Drehen der Palette 410” (1B, 1F”) im einleitend erläuterten Beispiel einander zugeordnet werden.
-
Entsprechend können auch ein Zustand einer Maschine und ein Prozess wenigstens einer anderen Maschine synchronisiert werden. Hierzu kann insbesondere ein Zustand der einen Maschine mit einem Zustand der anderen Maschinen verknüpft werden.
-
Zusätzlich oder alternativ zur Synchronisierung von Zuständen bzw. Prozessen miteinander können Zustände und/oder Prozesse auch mit Kooperationsbezugsachsenpunkten verknüpft werden. Muss beispielsweise der erste Roboter im einleitend erläuterten Beispiel auf die Zufuhr einer Palette warten, kann hierzu der Prozess „Abholen der Palette” bzw. dessen erste Zustand, der einer inertialen Aufnahmestellung des ersten Roboters entspricht, einem entsprechenden Kooperationsbezugsachsenpunkt „Palette angeliefert” zugeordnet werden. Wie insbesondere anhand dieses Beispiels deutlich wird, kann ein Kooperationsbezugsachsenpunkt vorzugsweise eine logische Bedingung, etwa das Vorhandensein eines Werkstückes, eine temporale Bedingung, etwa ein Takt eines Förderers, oder dergleichen abbilden. Gleichermaßen könnte im oben erläuterten Beispiel auch die Palettenzuführung als weitere Maschine berücksichtigt und deren Stellung mit dem Abholprozess des ersten Roboters synchronisiert werden.
-
In einer bevorzugten Ausführung zeigt eine Anzeigeeinrichtung automatisch die gemeinsame Bezugsachse, bezüglich dieser angeordnete Prozesse und/oder Maschinenzustände, Kooperationsbezugsachsenpunkte und/oder Zuordnungen zwischen Bezugsachse, Prozessen, Maschinenzuständen, und/oder Kooperationsbezugsachsenpunkten an. Diese Visualisierung erleichtert die intuitive Übersicht und Planung von Mehrmaschinensystemen.
-
Beispielsweise können nutzbare und/oder genutzte Maschinen, etwa symbolisch, angezeigt werden. In einer bevorzugten Ausführung werden, vorzugsweise sämtliche, Maschinen, also insbesondere zur Verfügung stehende Roboter, Werkzeuge, Förderer und/oder andere Maschinen, vertikal untereinander oder horizontal nebeneinander angezeigt.
-
Dementsprechend können dann die Bezugsachse und bezüglich dieser angeordnete Prozesse, beispielsweise als, vorzugsweise farblich markierter, Nutzungsgraph, vertikal untereinander bzw. horizontal nebeneinander angezeigt werden.
-
Insbesondere kann ein solcher Nutzungsgraph anzeigen, ob bzw. in welchen Abschnitten der Bezugsachse eine Maschine von einem Prozess genutzt wird, bzw. umgekehrt, in welchen Abschnitten diese Maschine für andere Prozesse zur Verfügung steht. Gleichermaßen kann auch dargestellt werden, dass eine Maschine momentan nicht genutzt wird, jedoch auf eine Synchronisation wartet.
-
Zuordnungen und/Kooperationsbezugsachsenpunkte können beispielsweise durch, insbesondere vertikale bzw. horizontale, Linien, dargestellt werden. Insbesondere können hierzu Symbole, etwa Kreise, die Zustände von Maschinen symbolisieren, durch Linien miteinander verbunden werden, wenn die entsprechenden Zustände miteinander verknüpft bzw. synchronisiert sind. Sind Zustände oder Prozesse mit einem Kooperationsbezugsachsenpunkt verknüpft, da die zugehörige Maschine beispielsweise auf eine logische oder temporale Synchronisation wartet, kann dies vorzugsweise durch einen Pfeil oder ein ähnliches Symbol zwischen dem Zustand bzw. Prozess und dem Kooperationsbezugsachsenpunkt dargestellt werden.
-
In einer bevorzugten Ausführung können Zuordnungen zwischen Zuständen, Prozessen und/oder Kooperationsbezugsachsenpunkten wahlweise angezeigt bzw. ausgeblendet werden. Dies erhöht die Übersichtlichkeit.
-
Vorzugsweise kann der Anwender Maschinen, Prozesse, Maschinenzustände und/oder Kooperationsbezugsachsenpunkte hinzufügen, entfernen und/oder verändern, beispielsweise einen Zustand statt mit einem weiteren Zustand mit einem anderen Zustand verknüpfen. In einer bevorzugten Ausführung werden vorhandene Zuordnungen zwischen Bezugsachse, Prozessen, Maschinenzuständen, und/oder Kooperationsbezugsachsenpunkten auf Basis solcher neuen, i. e. hinzugefügten, entfernten oder veränderten Zuordnungen automatischen angepasst.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
-
1A bis 1F: ein Mehrrobotersystem mit drei kooperierenden Robotern in unterschiedlichen Zuständen; und
-
2A bis 2D: eine Anzeige eines Werkzeugs bei der Planung eines Mehrrobotersystems nach einer Ausführung der vorliegenden Erfindung in unterschiedlichen Planungsstadien.
-
2A zeigt eine Anzeige eines Werkzeugs bei der Planung eines Mehrrobotersystems nach einer Ausführung der vorliegenden Erfindung in einem ersten Planungsstadium.
-
Auf der Benutzeroberfläche, beispielsweise einem Bildschirm eines PCs oder Notebooks oder einem Touchscreen, werden am linken Rand untereinander alle zur Verfügung stehenden Maschinen angezeigt, wobei in 2A davon ein erster Roboter R3, ein zweiter Roboter R2 und ein dritter Roboter R3 sowie ein Greifer W1 exemplarisch dargestellt sind.
-
Für jede dieser Maschinen wird rechts davon ein Nutzungsgraph 10, 20, 30 bzw. 40 in Balkenform über einer gemeinsamen Zeitachse 1 angezeigt. In diesem werden Prozesse 11, 12, 21, 31 der jeweiligen Maschinen farblich unterschiedlich und/oder, wie in den Figuren 2A bis 2D, durch unterschiedliche Schraffierungen angezeigt. Somit wird für jeden Zeitpunkt angezeigt, ob die jeweilige Maschine genutzt wird, i. e. ein sie nutzender Prozess geplant ist.
-
Innerhalb eines Prozesses werden sowohl der Name des Prozesses, beispielsweise „PROZESS 3A”, der die Maschine nutzt, als auch zu diesem Prozess gehörende Zustände der Maschine, beispielsweise Stellungen bzw. Posen 33 („P3-4”, „P3-5”) angezeigt. Mit Bezug auf das einleitend anhand der Figurenfolge 1A bis 1F erläuterte Drei-Roboter-System kann beispielsweise der in 2A angezeigte Prozess 31 („PROZESS 3A”) den Transfer der Palette 410 durch den ersten Roboter 100 bzw. „R3” anzeigen, wobei der Zustand „P3-4” der Stellung gemäß 1B und der Zustand „P3-5” der Stellung gemäß 1F entspricht. In gleicher Weise kann beispielsweise der in 2A angezeigte Prozess 11 („PROZESS 1A”) die Handhabung des Werkstücks 430 durch den dritten Roboter bzw. „R1” anzeigen, wobei die Zustände „P1-1”... ”P1-4” den Stellungen gemäß 1B, 1C, 1E bzw. 1F entsprechen.
-
Mittels der vertikalen Linien 50 zwischen den Zuständen „P1-1” und „P3-4” bzw. „P1-4” und „P3-5” wird die eingangs erläuterte Synchronisation zwischen dem ersten und dritten Roboter bezüglich der Stellungen gemäß 1B bzw. 1F angezeigt. Diese Anzeige kann der Anwender ausschalten.
-
Zusätzlich werden durch vertikale Linien 60, 61, 62 logische Kooperationsbezugsachsen- bzw. -zeitpunkte angezeigt, auf die alle ihnen zugeordneten Prozesse warten müssen. Beispielsweise kann der Kooperationsbezugsachsenpunkt 61 durch den Arbeitstakt eines Förderers definiert sein, auf den der erste Roboter 100 wartet, was in 2A durch die Verknüpfung des Prozesses 31 („PROZESS 3A”) mit der vertikalen Linie 61 angezeigt wird.
-
Im Ausführungsbeispiel soll, ausgehend von 2A, auch der Prozess 21 („PROZESS 2A”) des zweiten Roboters „R2” mit dem Prozess 11 synchronisiert werden. Beispielsweise sollen die Posen „P1-1”, ..., ”P1-4” und die Posen „P2-6”, ..., ”P-2-9” miteinander synchronisiert werden, um den Greif-, Füge- und Ablageprozess der kooperierenden zweiten und dritten Roboter R2, R1 gemäß der Figuren 1B, 1C, 1E und 1F zu synchronisieren.
-
Hierzu wird, wie in 2A strichliert angedeutet, der den Zustand „P1-4” symbolisierende Kreis per drag&drop auf den Zustand „P2-9” gezogen. In gleicher Weise werden die Stellungen „P1-1”, ..., ”P1-3” auf die Posen „P2-6”, ..., ”P-2-8” gezogen und so miteinander verknüpft (nicht dargestellt).
-
Das Werkzeug aktualisiert automatisch die Anzeige und den Prozessplan, wie in 2B dargestellt. Man erkennt, dass nun die Posen „P1-1”, ..., ”P1-4” und die Posen „P2-6”, ..., ”P-2-9” miteinander synchronisiert sind, was durch die vertikalen Linien 51, 52 angezeigt wird. Dementsprechend wurde der Prozess 21 („PROZESS 2A”) zeitlich nach vorne verlagert und so mit dem Prozess 11 („PROZESS 1A”) und dementsprechend auch mit dem mit diesem verknüpften Prozess 31 („PROZESS 3A”) synchronisiert. Im eingangs erläuterten Beispiel fährt entsprechend auch der zweite Roboter die in 1B, 1C, 1E bzw. 1F dargestellten Posen synchron mit dem ersten bzw. dritten Roboter an.
-
In gleicher Weise können natürlich auch Synchronisationen bzw. Zuordnungen entfernt werden, indem diese, beispielsweise mittels Maus, selektiert und durch eine entsprechende Eingabe gelöscht werden (nicht dargestellt). Auch hier können daraus resultierende Veränderungen sofort automatisch berechnet und angezeigt werden.
-
Will der Anwender beispielsweise einen logische Kooperationsbezugsachsenpunkt einfügen, kann er hierzu in einer bevorzugten Ausführung einen solchen aus einem Werkzeugkasten auswählen und an die gewünschte Stelle auf der Bezugsachse 1 ziehen. Zusätzlich kann er vorgeben, welche Maschinen mit diesem Kooperationsbezugsachsenpunkt verknüpft bzw. synchronisiert werden sollen, i. e. welche Prozesse auf diesen Kooperationsbezugsachsenpunkt warten müssen. Auch hier können daraus resultierende Veränderungen sofort automatisch berechnet und angezeigt werden.
-
Exemplarisch ist hierzu in 2C ein weiterer Kooperationsbezugsachsenpunkt 63 eingefügt, auf den die Prozesse 11, 21, i. e. die Prozesse „PROZESS 1A” des Roboters R1 bzw. „PROZESS 2A” des Roboters R2 warten müssen.
-
Wie man in 2C erkennt, wird mittels eines horizontalen Pfeils 70 angezeigt, dass der Prozess 21 („PROZESS 2A”) nach Beendigung auf den Kooperationsbezugsachsenpunkt 63 wartet, zu dem beispielsweise zusätzliche (nicht dargestellte) Zustände im Prozess 11 („PROZESS 1A”) abgearbeitet sind. In gleicher Weise können natürlich auch Kooperationsbezugsachsenpunkte oder Synchronisationen mit diesen entfernt werden, indem diese, beispielsweise mittels Maus, selektiert und durch eine entsprechende Eingabe gelöscht werden (nicht dargestellt).
-
2D zeugt schließlich die Möglichkeit, die zeitliche Abfolge gesamter Prozesse relativ zueinander zu verändern. Im Ausgangsstadium (2A bis 2C) werden zunächst die miteinander synchronisierten Prozesse 11, 21 und 31 („PROZESS 1A”, „PROZESS 2A” bzw. „PROZESS 3A”) abgearbeitet. Anschließend werden die miteinander synchronisierten, zur besseren Übersichtlichkeit nicht weiter detailliert dargestellten, Prozesse 12, 22 („PROZESS 1B” bzw. „PROZESS 2B”) abgearbeitet.
-
Der Anwender kann Prozess 12, beispielsweise mittels Maus, selektieren und per drag&drop zeitlich vorziehen. Der gekoppelte Prozess 22 („PROZESS 2B”) bewegt sich automatisch mit. Auch hier werden daraus resultierende Veränderungen sofort automatisch berechnet und angezeigt, i. e. die zeitliche Verlagerung der Prozesse 11, 21 und 31 („PROZESS 1A”, „PROZESS 2A” bzw. „PROZESS 3A”).
-
Bezugszeichenliste
-
- 1
- Zeitachse
- 10, ... 40
- Nutzgraph
- 11, 12,
-
- 21, 22, 31
- Prozess
- 14
- Anzeige der Prozessbezeichnung
- 50, ... 52
- Bewegungssynchronisation zwischen Zuständen „P1-1”, ..., „P3-5”
- 60, ... 63
- Kooperationsbezugsachsenpunkt
- 70
- Anzeige „Warten auf Kooperationsbezugsachsenpunkt”
- 100
- Roboter
- 110, 210,
-
- 310
- Greifer
- 410
- Palette
- 420, 430
- Werkstück
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-