-
Die vorliegende Erfindung betrifft eine Entwicklungsumgebung und ein Verfahren zur Planung einer Roboterapplikation auf Basis eines Modells der Roboterapplikation.
-
Beispielsweise aus der
WO 00/25185 A1 ,
US 2006/0025890 A1 und
US 2004/0213915 A1 sowie der nicht vorveröffentlichten eigenen internationalen Anmeldung
PCT/EP 2009/003443 sind Entwicklungsumgebungen zur Planung von Roboterapplikationen auf Basis von Modellen der Applikation, insbesondere eines Roboters und eines von ihm zu bearbeitenden Werkstücks, bekannt.
-
Auf der anderen Seite werden Kontrollschnittstellen, beispielsweise Oberflächen von Bedienhandgeräten, mit denen die Applikation bedient wird, bisher separat durch Programmieren in einer entsprechenden, spezialisierten Programmiersprache generiert. Zum Beispiel schlägt die
EP 1 136 192 A2 die Verwendung von Microsoft Visual Basic vor, um eine applikationsspezifische graphische Benutzerschnittstelle („Graphical User Interface” GUI) zu erstellen.
-
Diese Separation erschwert die Planung der Roboterapplikation einschließlich der Kontrollschnittstelle.
-
Aufgabe der vorliegenden Erfindung ist es daher, eine bessere Planung einer Roboterapplikation zu ermöglichen.
-
Diese Aufgabe wird durch eine Entwicklungsumgebung mit den Merkmalen des Anspruchs 1 gelöst. Anspruch 9 stellt ein Verfahren, Anspruch 11 ein Computerprogrammprodukt zur Durchführung eines solchen Verfahrens in einer erfindungsgemäßen Entwicklungsumgebung unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Erfindungsgemäß wird vorgeschlagen, ein Modell einer Kontrollschnittstelle einer Roboterapplikation in eine Entwicklungsumgebung zur Planung der Roboterapplikation auf Basis eines Modells der Roboterapplikation zu integrieren.
-
Vorteilhaft ermöglicht dies beispielsweise eine Visualisierung und/oder Simulation der Kontrollschnittstelle beim Planen der Roboterapplikation.
-
Eine Entwicklungsumgebung im Sinne der vorliegenden Erfindung kann Hardware, insbesondere Ein- und/oder Ausgabeeinrichtungen wie Tastatur, Maus, Joystick, Touchscreen, Bildschirm, Virtual Reality(VR)-Umgebung, Rechen- und/oder Speichereinrichtungen, und/oder Software, insbesondere ein oder mehrerer Programme bzw. Programmmodule, insbesondere Editoren, vorzugsweise zwei- oder dreidimensionale Editoren, umfassen.
-
Insbesondere ein oder mehrere Roboter, Robotersteuerungen, Werkzeuge, Werkstücke und/oder Anlagenkomponenten einer Automatisierungsanlage bzw. -zelle, beispielsweise Transporteinrichtungen wie Förderer, Portale und dergleichen, und/oder ein oder mehrere Prozesse, beispielsweise automatisierte Schweiß-, Klebe-, Lackier-, spanende, umformende, Montage- oder andere Prozesse können eine Roboterapplikation im Sinne der vorliegenden Erfindung bilden.
-
Entsprechend kann ein Modell einer Roboterapplikation zum Beispiel ein oder mehrere Robotermodelle, beispielsweise kinematische oder dynamische Mehrkörpermodelle, Steuerungsmodelle, beispielsweise Reglerstrukturen wie etwa im de facto Industriestandard MatLab-SimuLink, Werkzeugmodelle, beispielweise Abmessungen und Prozessgrößen wie Arbeitsmittelabgabe, Werkstückmodell, zum Beispiel geometrische Dimensionen, Werkstoff- und Trägheitsparameter, Anlagenmodelle, insbesondere die räumliche Anordnung von Anlagekomponenten zueinander und/oder zu einem Werkstück, und/oder Prozessmodelle, insbesondere Zeitverläufe, Zustände, Zustandsübergänge, Aktionen, Bearbeitungspunkte und dergleichen umfassen.
-
Eine Planung einer Roboterapplikation auf Basis eines Modells mittels der Entwicklungsumgebung kann insbesondere die Auswahl und Anordnung von Anlagekomponenten wie Robotern und Werkzeugen relativ zueinander, zu einer Umgebung und/oder einem Werkstück, die Vorgabe von Aktionen der Anlage, insbesondere die Generierung und/oder Modifikation von Prozessabläufen, Werkzeug- und/oder Roboterbahnen, die Optimierung solcher Bahnen und/oder die Generierung von Arbeitsanweisungen, insbesondere Programmen, für Steuerungen der Anlage umfassen.
-
Ein Kontrollieren einer Roboterapplikation kann beispielsweise deren Bedienung, insbesondere ein Starten und/oder Stoppen, ihre Überwachung und/oder ihre Modifikation, beispielsweise das Ändern von Applikationsparametern wie etwa das Hinzufügen, Entfernen oder Verändern von von einem Roboter anzufahrenden Soll-Posen umfassen.
-
Eine Kontrollschnittstelle kann ein, vorzugsweise mobiles, insbesondere portables, Bediengerät wie beispielsweise ein Bedienhandgerät bzw. ein Kontroll-Panel, ein Notebook oder ein PDA („Personal Digital Assistent”), mit Ein- und/oder Ausgabemöglichkeiten wie Tasten, Schaltern, Joystick, Touchscreen, Bildschirm oder Warnlampen umfassen. Insbesondere können eine oder mehrere Bedienoberflächen, etwa die Anzeigen bzw. Ansichten eines Bildschirms, insbesondere Touchscreens, eine bzw. mehrere Kontrollschnittstellen im Sinne der vorliegenden Erfindung bilden.
-
Dementsprechend kann insbesondere eine Abbildung oder mathematische, physikalisch oder informationstechnologische Beschreibung einer Kontrollschnittstelle, die eine Visualisierung und/oder Simulation der Kontrollschnittstelle ermöglicht, ein Modell der Kontrollschnittstelle bilden.
-
Dieses ist erfindungsgemäß mit dem Modell der Roboterapplikation verknüpft, so dass parallel die Kontrollschnittstelle auf Basis des Schnittstellenmodells und die Roboterapplikation auf Basis des Applikationsmodells beispielsweise generiert, modifiziert, visualisiert und/oder simuliert werden können. Vorzugsweise kann das Schnittstellenmodell dabei automatisch auf Basis des Applikationsmodells generiert, modifiziert, visualisiert bzw. simuliert werden. Wird beispielsweise dem Applikationsmodell ein Modell eines weiteren Roboters oder Prozesses, beispielsweise Bahnabschnittes, hinzugefügt, können automatisch entsprechende Ein- und/oder Ausgabemöglichkeiten für diesen Roboter bzw. Prozess dem Modell der Kontrollschnittstelle hinzugefügt werden.
-
Der Entwickler hat somit in einer bevorzugten Ausführung parallel, beispielsweise in Form neben- und/oder übereinander angeordneter oder wahlweise angezeigter Bildschirmfenster, eine Visualisierung der Roboterapplikation, zum Beispiel der Roboter einer Anlage, und der Kontrollschnittstelle, beispielsweise einer Bedienoberfläche eines Bedienhandgerätes, und kann so Auswirkungen von Eingaben durch das Bedienhandgerät auf die Applikation, beispielsweise die Reaktion eines Roboters auf die Betätigung einer Taste, oder Auswirkungen von Aktionen der Applikation, beispielsweise dem Abfahren eines Bahnabschnittes durch einen Roboter, auf die Anzeige des Bedienhandgerätes, beispielsweise die Anzeige der aktuellen Position, von Prozessparametern oder dergleichen simulieren und so zum Beispiel erlernen oder prüfen und gegebenenfalls modifizieren.
-
In einer bevorzugten Ausführung sind Daten des Applikationsmodells und des Schnittstellenmodells miteinander verknüpft. Hierzu können die Daten beispielsweise in einer gemeinsamen Datenbasis abgespeichert sein oder gegenseitig gespiegelt werden. Vorzugsweise werden Daten von dem Applikationsmodell auf Daten des Schnittstellenmodells abgebildet und/oder Daten von dem Schnittstellenmodell auf Daten des Applikationsmodells abgebildet. Beispielsweise können in der Entwicklungsumgebung auf Basis des Applikationsmodells von einem Roboter anzufahrende Posen, einzunehmende Zustände und/oder Aktionen, beispielsweise Werkzeug- oder Schaltaktionen, die in einer Ablaufsteuerung vorgegeben sind, auf entsprechende Symbole auf einer Bedienoberfläche abgebildet oder umgekehrt Eingabemöglichkeiten der Kontrollschnittstelle, etwa ein Nothalt-Schalter, auf entsprechende, gegebenenfalls zu erstellende, Aktionen der Applikation, etwa einen gesteuerten Stop oder sicheren Rückzug, abgebildet werden. In einer bevorzugten Ausführung werden eine einheitliche Datenstruktur für Applikations- und Schnittstellenmodell verwendet und/oder es sind entsprechende Schnittstellen zwischen Applikations- und Schnittstellenmodell vorgesehen.
-
Vorzugsweise sind das Applikationsmodell und/oder das Schnittstellenmodell veränderbar. Insbesondere kann die Entwicklungsumgebung hierzu einen oder mehrere entsprechende Editoren, insbesondere 2D- oder 3D-Editoren aufweisen, mit denen der Bediener, vorzugsweise graphikbasiert wie beispielsweise über eine GUI, „drag&drop”-, Anklick- und ähnliche Funktionalitäten ein Modell verändern, beispielsweise dem Applikationsmodell eine Applikationskomponente wie ein Robotermodell oder dem Schnittstellenmodell eine weitere Ein- oder Ausgabemöglichkeit wie zum Beispiel die Anzeige von Zusatzinformationen oder Dialogseiten hinzufügen kann.
-
In einer bevorzugten Ausführung weist eine Entwicklungsumgebung eine, insbesondere echtzeitfähige, Schnittstelle zur Kommunikation mit der realen Roboterapplikation und/oder Kontrollschnittstelle auf. Dies ermöglicht einerseits Hardware in the Loop-Simulationen und andererseits die Synchronisation des Applikations- und/oder Schnittstellenmodells, insbesondere deren Anzeige, mit der realen Roboterapplikation bzw. deren Kontrollschnittstelle. Vorzugsweise kann auf diese Weise auch eine reale Kontrollschnittstelle auf Basis des Schnittstellenmodells, bevorzugt automatisch, konfiguriert, beispielsweise ihre Anzeige entsprechend dem Schnittstellenmodell ausgebildet werden.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert, die einzige:
-
1: ausschnittsweise eine Anzeige einer Entwicklungsumgebung nach einer Ausführung der vorliegenden Erfindung.
-
1 zeigt einen Ausschnitt einer graphischen Anzeige einer Entwicklungsumgebung nach einer Ausführung der vorliegenden Erfindung.
-
Man erkennt in der oberen Bildhälfte eine Visualisierung eines Modells 10 einer Roboterapplikation, die ein auf einem Werkzeugtisch 12 aufgespanntes Werkstück 13 und einen Kleberoboter 11 umfasst, der, ausgehend von einer Home-Position, mit seinem Klebepistolen-TCP nacheinander die in der Visualisierung durch Kugeln 14-1 bis 14-16 angedeuteten Klebepunkte auf dem Werkstück 13 anfahren soll, um anschließend wieder in die Home-Position zurückzukehren.
-
Das Modell der Applikation wurde zuvor mittels einer graphischen Benutzerschnittstelle generiert (nicht dargestellt), indem zunächst das Modell 13 des Werkstückes aus dessen CAD-Daten generiert, anschließend mittels Maus auf dem Modell 12 des Werkstücktisches positioniert und auf ihm die Klebepunkte 14-1 bis 14-16 vorgegeben wurden. Anschließend wurde aus einer Bibliothek ein Modell 10 eines geeigneten Roboters ausgewählt, dessen Basis im dargestellten Modell der Klebezelle positioniert und dessen TCP mit dem Modell der Klebepistole verbunden wurde, für die aus den Klebepunkten 14-1 bis 14-16 eine Werkzeugbahn generiert wurde. Hieraus kann eine Ablaufsteuerung für die Roboterapplikation generiert, beispielsweise in Befehle für eine Robotersteuerung compiliert werden.
-
Zur Kontrolle, insbesondere zur Bedienung und/oder Überwachung der Roboterapplikation weist diese ein tragbares Kontroll-Panel mit Touchscreen auf.
-
Erfindungsgemäß wird ein Modell 20 des Kontroll-Panels in die Entwicklungsumgebung integriert. Hierzu wird das Modell 20 der Kontrollschnittstelle parallel zum Modell 10 der Applikation in einer zwei- bzw. dreidimensionalen Ansicht auf einem Bildschirm der Entwicklungsumgebung visualisiert, der in 1 ausschnittsweise dargestellt ist.
-
Daten des Schnittstellenmodells 20 sind mit Daten des Applikationsmodells 10 verknüpft. Beispielsweise werden zu einzelnen Prozessabschnitten des Applikationsmodells 10, nämlich der ursprünglichen Home-Position, der generierten Klebebahn, und der abschließend anzufahrenden Home-Position für das Schnittstellenmodell 20 automatisch entsprechende Graphiksymbole 21 bis 23 generiert und auf der Anzeige des Handgerätes angeordnet. Auf der anderen Seite weist das Schnittstellenmodell 20 standardmäßig Graphiksymbole 24, 25 zur Konfigurierung eines Werkzeugs bzw. Einleitung eines Nothalts auf. Diese Aktionen werden umgekehrt automatisch auf entsprechende Prozessabläufe im Modell 10 der Applikation abgebildet.
-
Der Bediener kann die Modelle 10, 20 mittels einer GUI modifizieren, zum Beispiel aus einem Katalog per „drag&drop” dem Applikationsmodell weitere Roboter oder dem Schnittstellenmodell weitere Anzeigen, etwa Dialogseiten oder Ausgaben von Prozesswerten, hinzufügen (nicht dargestellt).
-
Neben der Visualisierung kann in der Entwicklungsumgebung die Roboterapplikation und die Kontrollschnittstelle auf Basis des jeweiligen Modells 10 bzw. 20 simuliert werden. Betätigt der Bediener beispielsweise eine Starttaste auf dem Modell 20 des Bedienhandgerätes (nicht dargestellt), fährt der Roboter 11 im Modell 10 die einzelnen Bahnabschnitte simuliert ab. Synchron werden dabei durch die Datenverknüpfung beider Modell auch die entsprechenden Veränderungen der Kontrollschnittstelle simuliert. So wandelt beispielsweise ein abgearbeiteter Klebepunkt 14-1 bis 14-16 im Modell 10 der Applikation seine Farbe. Entsprechend wird dies auch im Graphiksymbol 22 des Modells 20 der Anzeige des Kontroll-Panels simuliert, wobei ein gerade bearbeiteter Klebepunkt zusätzlich aufleuchtet.
-
Simuliert der Bediener, beispielsweise mittels Maus (nicht dargestellt) in dem in 1 dargestellten Zustand zum Beispiel eine Betätigung des Nothalteschalters 25 oder des Icons 23 zum abschließenden Anfahren der Home-Position, wird auf Basis der Modelle 10, 20 eine entsprechende Reaktion der Roboterapplikation simuliert.
-
Anschließend oder auch parallel kann die reale Schnittstelle automatisch auf Basis des Schnittstellenmodells konfiguriert werden, indem beispielsweise entsprechender Programmcode für ein Bedienhandgerät erstellt, compiliert und auf das Bedienhandgerät übertragen wird, so dass das reale Bedienhandgerät entsprechend dem Schnittstellenmodell 20 agiert, insbesondere die in 1 dargestellte, in der Entwicklungsumgebung visualisierte Bedienoberfläche mit den Graphiksymbolen 21 bis 25 aufweist und bei deren Betätigung die im Modell 20 vorgegebenen Reaktionen, beispielsweise einen Nothalt oder dergleichen, ausführt.
-
Auf diese Weise kann einerseits ein Bediener eine applikationsspezifische Kontrollschnittstelle einfach generieren und modifizieren sowie die Applikation und die Kontrollschnittstelle vorab simulieren und so prüfen. Auf der anderen Seite erlaubt die erfindungsgemäße Entwicklungsumgebung auch ein Training des Bedieners, der die Handhabung der Kontrollschnittstelle auf Basis ihres Modells 20 üben und dabei die Reaktion der Applikation aus der Simulation auf Basis ihres Modells 10 kennen lernen kann.
-
Bezugszeichenliste
-
- 10
- Applikationsmodell
- 11
- Robotermodell (Applikationskomponentenmodell)
- 12
- Werkzeugtischmodell (Applikationskomponentenmodell)
- 13
- Werkstückmodell (Applikationskomponentenmodell)
- 14-1, 14-16
- Klebepunkt
- 20
- Schnittstellenmodell
- 21, 23
- Anzeige-Element „Home-Position”
- 22
- Anzeige-Element „Klebebahn”
- 24
- Anzeige-Element „Werkzeugkonfiguration”
- 25
- Anzeige-Element „Nothalt”
-
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
-
- WO 00/25185 A1 [0002]
- US 2006/0025890 A1 [0002]
- US 2004/0213915 A1 [0002]
- EP 2009/003443 [0002]
- EP 1136192 A2 [0003]