DE102013112516A1 - Lehrpunktprogramm-auswahlverfahren für robotersimulator - Google Patents

Lehrpunktprogramm-auswahlverfahren für robotersimulator Download PDF

Info

Publication number
DE102013112516A1
DE102013112516A1 DE102013112516.6A DE102013112516A DE102013112516A1 DE 102013112516 A1 DE102013112516 A1 DE 102013112516A1 DE 102013112516 A DE102013112516 A DE 102013112516A DE 102013112516 A1 DE102013112516 A1 DE 102013112516A1
Authority
DE
Germany
Prior art keywords
dimensional
area
user
selection area
bounding
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.)
Granted
Application number
DE102013112516.6A
Other languages
English (en)
Other versions
DE102013112516B4 (de
Inventor
Takeyoshi Kanehara
David O'Toole
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc America Corp
Original Assignee
Fanuc Robotics America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Robotics America Corp filed Critical Fanuc Robotics America Corp
Publication of DE102013112516A1 publication Critical patent/DE102013112516A1/de
Application granted granted Critical
Publication of DE102013112516B4 publication Critical patent/DE102013112516B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/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
    • 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/45Nc applications
    • G05B2219/45065Sealing, painting robot

Abstract

Ein Verfahren zur Auswahl eines Lehrpunktprogramms in einer dreidimensionalen, grafischen Darstellung einer Bearbeitungsstation umfasst die Schritte Erzeugen der dreidimensionalen, grafischen Darstellung der Bearbeitungsstation, Berechnen eines dreidimensionalen Begrenzungsrahmens für jedes der Bearbeitungsstation zugeordnete Lehrpunktprogramm, Umwandeln jedes Begrenzungsrahmens in einen zweidimensionalen Begrenzungsbereich und Erkennen, welche Begrenzungsbereiche sich mit einem ausgewählten Bereich überlappen, der über einen zweidimensionalen Bildschirm gezeichnet ist. Jeder Begrenzungsbereich, der als den ausgewählten Bereich überlappend erkannt wurde, wird für einen Benutzer identifiziert und in einer Liste gezeigt, wenn mehrere Kandidatenbegrenzungsflächen erkannt und identifiziert sind. Anschließend kann der Benutzer solche Lehrpunktprogramme editieren, die als dem ausgewählten Bereich zugeordnet identifiziert sind.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht Priorität auf die am 14. November 2012 eingereichte Vorläufige US-Patentanmeldung, Serien-Nr. 61/726 263, deren vollständige Offenlegung hiermit durch Verweis an dieser Stelle enthalten ist.
  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft ein Verfahren zur Auswahl eines Lehrpunktprogramms, das einer Position ihres Roboterweges zugrunde gelegt ist, in einer durch einen Robotersimulator erzeugten, dreidimensionalen (3-D), grafischen Darstellung einer Bearbeitungsstation.
  • HINTERGRUND DER ERFINDUNG
  • Bei einer Roboterlackieranwendung können Hunderte unterschiedlicher Lehrpunktprogramme (TP) auf mehrfachen Robotersteuereinheiten vorhanden sein, die mit dem Lackieren eines einzelnen Fahrzeugs beschäftigt sind. Zum Beispiel kann jedes TP Programm bewirken, dass eine an einem Roboterarm angeordnete Lackauftragsvorrichtung einem vorgegebenen Weg folgt und eine vorgegebene Ausrichtung annimmt, um den Anstrich genau auf dem Fahrzeug aufzubringen. Wenn es auf einem Fahrzeug einen Bereich gibt, der sich nicht genau lackieren lässt, kann das Auffinden des richtigen TP Programms, der dem TP Programm zugeordneten, richtigen, beigebrachten Punkte und der exakten Einsatzanweisungen zum genauen Lackieren des strittigen Bereiches speziell für Benutzer des Robotersystems, die keine Experten sind und die Lackieranwendung durchführen, sehr schwierig und zeitaufwändig sein. Dies ist in einer Produktionsumgebung sehr unwirtschaftlich.
  • Es sind rechnerunabhängig arbeitende, grafische Programmierlösungen entwickelt worden, um den Prozess zum Erlernen eines Roboterwegs zur Ausführung einer festgelegten Roboteranwendung, wie etwa die oben erörterte Lackieranwendung, zu vereinfachen. Solche Softwareprodukte erzeugen und zeigen einen dreidimensionalen Raum an, um einen darin durchzuführenden Prozess zu simulieren. Die Simulierung des Roboterprozesses kann das Erzeugen jedes dem Roboterprozess zugeordneten TP Programms innerhalb des dreidimensionalen Raums in Form eines dreidimensionalen Weges oder einer Linie, dem durch eine Roboterkomponente zu folgen ist, umfassen. Der erzeugte, dreidimensionale Weg kann einem Benutzer des Softwareprodukts optisch angezeigt werden, oder der dreidimensionale Weg kann ausgeblendet werden. Bei optischer Darstellung kann jedes TP Programm außerdem in Form aller der beigebrachten Punkte oder Knoten, die den dreidimensionalen Weg beinhalten, dargestellt werden. Weil der dreidimensionale Raum einem Benutzer des Softwareprodukts auf einem zweidimensionalen (2-D) Bildschirm gezeigt wird, sind solche Softwareprodukte oft mit einer Benutzerschnittstelle (UI) ausgestattet, die es einem Benutzer erlaubt, Position und Stellung zu verändern, von der aus der dreidimensionale Raum betrachtet wird, indem eine auf dem zweidimensionalen Bildschirm angezeigte „Kamerasicht” effektiv verändert wird. Die auf dem zweidimensionalen Bildschirm dargestellte Kamerasicht ist im Wesentlichen eine zweidimensionale Projektion des dreidimensionalen Raums in der Form eines Bildes.
  • Eine einzelne Lackieranwendung kann den Einsatz mehrfacher Roboter umfassen, wobei jeder Roboter zur Durchführung von hunderten TP Programmen verantwortlich sein kann. Jedes TP Programm kann wiederum aus Hunderten von beigebrachten Punkte (Knoten) bestehen. Die hohe Anzahl von TP Programmen und zugeordneter, beigebrachter Punkte macht eine Anzeige grafischer Darstellungen jedes TP Programms unerwünscht. Das Erzeugen einer grafischen Darstellung jedes TP Programms und zugeordneter, beigebrachter Punkte ist zeitaufwändig und vom Standpunkt der Computerisierung her beschwerlich. Außerdem führt die hohe Anzahl von zum Programmieren einer einzelnen Roboteranwendung genutzten TP Programmen zu vielen TP Programmen und zugeordneten, beigebrachten Punkten, die als Überlappung oder in engem Abstand angeordnet dargestellt sind, was die Erkennung eines vorgegebenen TP Programms in einer Anzeige zunehmend erschwert. Aus diesen Gründen zeigen viele Softwareprodukte die grafische Darstellung jedes einzelnen TP Programms nicht an, wenn der Benutzer in dem die Bearbeitungsstation darstellenden, dreidimensionalen Raum navigiert. Stattdessen erfordern diese Softwareprodukte, dass der Benutzer erkennt, welche TP Programme grafisch darzustellen sind, bevor ein vorgegebenes TP Programm zur Editierung ausgewählt wird.
  • Um ein vorgegebenes TP Programm zu erkennen und auszuwählen, kann der Benutzer des Softwareprodukts die UI nutzen, um einen gewünschten Bereich des dreidimensionalen Raums mit dem darin dargestellten, vorgegebenen TP Programm innerhalb der Ansicht des zweidimensionalen Anzeigebildschirms einzuordnen. Der Benutzer verwendet dann einen Cursor zum Auswählen eines Bereiches des dreidimensionalen Raumes, der auf den zweidimensionalen Anzeigebildschirm projiziert wird, wo der vorgegebene TP Programmweg liegt oder angenommen wird, dass er sich dort befindet. Wenn zum Beispiel die Tür eines Fahrzeugs nicht richtig lackiert ist, würde der Benutzer im dreidimensionalen Raum navigieren, um die Fahrzeugtür innerhalb der Ansicht des zweidimensionalen Anzeigebildschirms anzuordnen. Der Benutzer „passt” anschließend den Problembereich auf der Fahrzeugtür ein, wie es auf dem zweidimensionalen Anzeigebildschirm projiziert und dargestellt ist. Das „Einpassen” des ausgewählten Bereiches wird normalerweise durchgeführt, indem ein rechteckiges Kästchen über den zweidimensionalen Anzeigebildschirm gezeichnet wird. Sobald auf dem zweidimensionalen Anzeigebildschirm ein Bereich ausgewählt ist, kann das Softwareprodukt dann jeden beigebrachten Punkt, der jedem in dem ausgewählten Bereich befindlichen TP Programmweg zugeordnet ist, erkennen und anzeigen. Die beigebrachten Punkte befinden sich im dreidimensionalen Raum und müssen auf den zweidimensionalen Anzeigebildschirm projiziert werden. Eine Berechnung wird vorgenommen, um die Punkte zu filtern und solche Punkte auszuwählen, die sich innerhalb des von dem Benutzer ausgewählten Bildschirmbereichs befinden.
  • Wie oben erläutert ist, kann die Anzahl beigebrachter Punkte, die die TP Programme innerhalb des ausgewählten Bereiches einschließen, bei Hunderten oder mehr liegen. Folglich kann die zum Erkennen und Anzeigen jedes beigebrachten Punktes innerhalb des ausgewählten Bereiches benötigte Zeit aufgrund der bloßen Anzahl benötigter Berechnungen unangemessen hoch sein. Darüber hinaus erzeugt das Anzeigen jedes beigebrachten Punkts, der sich innerhalb des ausgewählten Bereichs befindet, oftmals eine „Wolke” von überlappenden oder eng beanstandeten, beigebrachten Punkten, was eine Erkennung eines spezifischen TP Programms oder beigebrachten Punktes sehr schwierig macht. Die übermäßige Anzahl Berechnungen, die zur Anzeige der beigebrachten Punkte auf diese Weise benötigt wird, hat dazu geführt, dass vorhandene Softwareprodukte auf das Erkennen eines einzelnen TP Programms gleichzeitig oder nur solcher TP Programme begrenzt ist, die einer ausgewählten Robotersteuereinheit zugeordnet sind. Andererseits würde der Benutzer unerwartete Verzögerungen kennen lernen, die zu einer übermäßigen Verteuerung, verloren gegangener Zeit und potenzieller Enttäuschung des Benutzers führen.
  • Es wäre daher wünschenswert, ein Verfahren zum Auswählen eines TP Programms innerhalb eines von einem Robotersimulator erzeugten dreidimensionalen Raums bereitzustellen, das eine Benutzerschnittstelle vorsieht, die die Auswahl eines auf einen zweidimensionalen Anzeigebildschirm projizierten, spezifischen Bereiches in Betracht zieht, die in zügiger Weise solche TP Programme automatisch erkennt und auswählt, die dem auf dem zweidimensionalen Anzeigebildschirm gewählten Bereich zugeordnet sind, und die die Identifizierung und Auswahl mehrfacher TP Programme berücksichtigt, die für mehrfache, der Roboteranwendung zugeordnete Robotersteuereinheiten bestimmt sind.
  • ABRISS DER ERFINDUNG
  • In Übereinstimmung mit der vorliegenden Offenlegung wurde überraschend ein effizientes und kostengünstiges Verfahren zur Auswahl eines vorgegebenen TP Programms innerhalb eines durch einen Robotersimulator erzeugten dreidimensionalen Raums entdeckt.
  • In einer Ausführungsform wird ein Verfahren zur Lokalisierung von mindestens einem TP Programm zum Editieren gemäß der Erfindung gezeigt. Das Verfahren umfasst die Schritte: Erzeugen einer dreidimensionalen, grafischen Darstellung eines in einer Bearbeitungsstation durchzuführenden Roboterprozesses entsprechend zumindest eines der Bearbeitungsstation zugeordneten TP Programms; Auswählen eines zweidimensionalen Auswahlbereichs, der über die dreidimensionale, grafische Darstellung gelegt wird; Erkennen des zumindest einen, dem zweidimensionalen Auswahlbereich zugeordneten TP Programms für einen Benutzer; und Erlauben, dass der Benutzer wenigstens einen Teil des mindestens einen, dem zwei-dimensionalen Auswahlbereich zugeordneten, erkannten TP Programms editiert.
  • In einer weiteren Ausführungsform ist ein erfindungsgemäßes Verfahren zur Auswahl von mindestens einem TP Programm in einer dreidimensionalen, grafischen Darstellung einer Bearbeitungsstation offenbart. Das Verfahren umfasst die folgenden Schritte: Vorausberechnen eines dreidimensionalen Begrenzungsrahmens für jedes der TP Programme, die der Bearbeitungsstation zugeordnet sind, Umwandeln jedes der dreidimensionalen Begrenzungsrahmen in einen entsprechenden zweidimensionalen Begrenzungsbereich, der über die dreidimensionale, grafische Darstellung der Bearbeitungsstation gelegt wird; Auswählen eines zweidimensionalen Auswahlbereiches, der über die dreidimensionale, grafische Darstellung der Bearbeitungsstation gelegt wird; Erkennen jedes zweidimensionalen Begrenzungsbereiches, der sich mit dem zweidimensionalen Auswahlbereich überlappt und/oder innerhalb einer Entfernungstoleranz des zweidimensionalen Auswahlbereiches liegt; und Nachweisen für einen Benutzer, dass jedes TP Programm einen entsprechenden zweidimensionalen Begrenzungsbereich aufweist, der als mit dem zweidimensionalen Auswahlbereich überlappend und/oder innerhalb der Abstandstoleranz des zweidimensionalen Auswahlbereiches liegend erkannt wird.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Die oben erwähnten sowie andere Vorteile der vorliegenden Erfindung erschließen sich dem Fachmann ohne weiteres aus der folgenden ausführlichen Beschreibung einer bevorzugten Ausführungsform bei Betrachtung angesichts der begleitenden Zeichnungen, in denen zeigen:
  • 1 die perspektivische Ansicht einer dreidimensionalen, grafischen Darstellung einer Bearbeitungsstation einschließlich einer Fahrzeugkarosserie und einer Vielzahl von Robotern nach einer Ausführungsform der Erfindung;
  • 2 ein Ablaufdiagramm, das einen Gesamtprozess nach der Ausführungsform der Erfindung zeigt;
  • 3 eine perspektivische Darstellung der Arbeitsstation von 1, die ferner eine Darstellung eines Begrenzungsrahmens umfasst, der für ein zugeordnetes TP Programm berechnet ist;
  • 4 eine perspektivische Darstellung der Bearbeitungsstation von 3, die das Umwandeln des Begrenzungsrahmens in einen Begrenzungsbereich für ein zugeordnetes TP Programm sowie den Prozess zum Auswählen eines Auswahlbereiches auf einem zweidimensionalen Anzeigebildschirm zeigt; und
  • 5 die perspektivische Darstellung einer Bearbeitungsstation, die eine Erkennung und Auflistung einer Vielzahl von der Bearbeitungsstation zugeordneten TP Programmen zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die folgende ausführliche Beschreibung und angefügte Zeichnungen beschreiben und veranschaulichen verschiedene beispielhafte Ausführungsformen der Erfindung. Beschreibung und Zeichnungen dienen dazu, es dem Fachmann zu ermöglichen, die Erfindung herzustellen und zu verwenden und sind nicht dazu beabsichtigt, den Umfang der Erfindung in irgendeiner Weise einzuschränken. Bezüglich der offenbarten Verfahren sind die dargestellten Schritte beispielhafter Natur, und somit ist die Reihenfolge der Schritte nicht notwendig oder entscheidend.
  • 1 zeigt eine dreidimensionale Darstellung einer Bearbeitungsstation 5 einschließlich einer Fahrzeugkarosserie 10 und einer Vielzahl von Robotern 20. Die Bearbeitungsstation 5 befindet sich innerhalb eines dreidimensionalen Raums, der zur Simulierung eines Roboterprozesses genutzt wird. Der dreidimensionale Raum bezieht sich auf einen Raum, in dem die Position eines Punktes bezüglich eines herkömmlichen kartesischen Koordinatensystems mit drei senkrechten Achsen definiert werden kann, was bedeutet, das jeder Punkt in dem dreidimensionalen Raum durch drei Koordinatenwerte relativ zu einem Bezugspunkt (Ursprung), der sich innerhalb des dreidimensionalen Raumes befindet, definiert werden kann.
  • Die in 1 dargestellten Roboter 20 werden konfiguriert, um an der Fahrzeugkarosserie 10 einen Lackierprozess durchzuführen; die Bearbeitungsstation 5 kann jedoch Roboter 20 umfassen, die zur Durchführung eines beliebigen Roboterprozesses, der zum Beispiel Lackieren, Schweißen, Aufnehmen und Ablegen (Pick-and-place), Montieren und Entgraten einschließt, jedoch nicht darauf beschränkt ist, konfiguriert werden. Die Bearbeitungsstation 5 ist nicht auf die Roboterprozesse beschränkt, die an der Fahrzeugkarosserie 10 durchzuführen sind, sondern kann stattdessen, in Abhängigkeit von der Anwendung, Werkstücke verschiedener Abmessungen, Formen und Ausrichtungen einschließen. Darüber hinaus kann die grafische Darstellung der Bearbeitungsstation 5 auch grafische Darstellungen von beliebigen peripheren Objekten (nicht gezeigt) enthalten, die auf den Arbeitsgang der Roboter 20 oder die Anordnung beliebiger Werkstücke störend einwirken können.
  • Die dreidimensionale, grafische Darstellung der Bearbeitungsstation 5 wird durch eine Softwareanwendung erzeugt, die zur Simulierung eines am Arbeitsplatz durchzuführenden Roboterprozesses konfiguriert wird. Jeder im Folgenden auf die Bearbeitungsstation 5 vorgenommene Verweis bezieht sich speziell auf die dreidimensionale, grafische Darstellung der Arbeitsstation 5 und nicht auf den aktuellen physikalischen Arbeitsplatz, der durch die Softwareanwendung simuliert wird. Die Softwareanwendung simuliert die Größe, Position und Ausrichtung aller Werkstücke, peripherer Objekte und Roboter, die in der Bearbeitungsstation 5 aufgenommen sind. Die dreidimensionalen, grafischen Darstellungen der Werkstücke, peripheren Objekte und Roboter können zum Beispiel in die Softwareanwendung von einem externen CAD-System importiert werden.
  • Die Softwareanwendung wird außerdem konfiguriert zum Simulieren der Roboterprozesse, die durch die Vielzahl von innerhalb der Bearbeitungsstation 5 enthaltenen Roboter 20 durchgeführt werden. Die Roboterprozesse betreffenden Daten können in die Softwareanwendung von mindestens einem externen System importiert werden. Zum Beispiel kann die Softwareanwendung Daten aus einem Speicher einer Vielzahl von Robotersteuereinheiten (nicht gezeigt), die sich an dem Arbeitsplatz befinden, importieren, oder alternativ dazu kann die Softwareanwendung die Daten aus einer anderen externen Speicherquelle importieren, die die Daten zur dreidimensionalen, grafischen Darstellung zusammengetragen und konfiguriert hat. Weil ein Arbeitsplatz oft mehrere Roboter umfasst, die durch mehrfache Robotersteuereinheiten zu steuern sind, wird die Softwareanwendung zur Kombination von Daten mehrfacher Robotersteuereinheiten konfiguriert, um alle durch die Vielzahl von Robotern 20 innerhalb der Bearbeitungsstation 5 durchzuführenden Prozesse zu simulieren.
  • Die Softwareanwendung ist eine rechnerunabhängig arbeitende Softwareanwendung, was bedeutet, dass die Softwareanwendung nicht zu verwenden ist, um Einstellungen in Echtzeit an aktuellen Robotersteuereinheiten und Robotern vorzunehmen, während sie an dem aktuellen Arbeitsplatz einen Roboterprozess durchführen. Wie es oben beschrieben ist, kann die Softwareanwendung konfiguriert werden, um anfangs alle für eine Simulierung der Bearbeitungsstation 5 relevanten Daten aus externen Datenspeichergeräten einschließlich des Speichers der Robotersteuereinheiten und jeder Form von Datenspeicherung, die durch andere Software genutzt wird, die in Verbindung mit der Softwareanwendung arbeiten kann, zu importieren. Das Importieren relevanter Daten kann die Operation der Softwareanwendung unterstützen, indem ein Datenvolumen reduziert wird, das von einem der Softwareanwendung zugeordneten Prozessor zu berechnen ist. Dieses Merkmal ermöglicht es, viele Aspekte der Simulierung vorher zu berechnen, was die Zeit, die zur Durchführung von bestimmten der Softwareanwendung zugeordneten Berechnungen benötigt wird, erheblich reduzieren kann.
  • Die in 1 gezeigte dreidimensionale, grafische Darstellung der Bearbeitungsstation 5 wird einem Benutzer angezeigt, der einen der Softwareanwendung zugeordneten, zweidimensionalen Bildschirm nutzt. Folglich zeigt der zweidimensionale Bildschirm eine zweidimensionale Projektion oder ein Bild beliebiger Objekte, die in der Bearbeitungsstation 5 aufgenommen sind, wenn die Bearbeitungsstation 5 von unterschiedlichen Positionen und Ausrichtungen innerhalb des dreidimensionalen Raums betrachtet wird. Eine Position von einem auf dem zweidimensionalen Bildschirm abgebildeten Punkt kann bezüglich eines herkömmlichen kartesischen Koordinatensystems mit zwei senkrechten Achsen definiert werden, was bedeutet, dass eine Position jedes auf dem zweidimensionalen Bildschirm abgebildeten Punktes definiert werden kann, indem zwei Koordinatenwerte relativ zu einem auf dem zweidimensionalen Bildschirm befindlichen Bezugspunkt (Ursprung) genutzt werden.
  • Die Softwareanwendung kann eine Benutzerschnittstelle (UI) enthalten, die konfiguriert wird, damit ein Benutzer die Position und den Winkel, von der aus die Bearbeitungsstation 5 betrachtet wird, einstellen kann, indem bewirkt wird, dass der zweidimensionale Bildschirm unterschiedliche entsprechende Bilder der Bearbeitungsstation 5 anzeigt. Die UI kann die Fähigkeit zum Scrollen der Ansicht in zwei Dimensionen, zum Drehen der Ansicht oder zum Heranholen oder Verkleinern der Ansicht einschließen. Die auf dem zweidimensionalen Bildschirm dargestellte Ansicht kann als „Kameraansicht” der Bearbeitungsstation 5 bezeichnet werden.
  • Jede der zur Steuerung von zumindest einem der Roboter 20 genutzten Robotersteuereinheiten kann viele verschiedene Lehrpunkt-Programme (TP) besitzen, die in deren Speicher gespeichert oder anderweitig damit verbunden sind. Jedes TP Programm ist ein Operationsprogramm, das einen Roboter zur Ausführung einer vorgegebenen Aufgabe anweist. Zum Beispiel kann ein TP Programm ein auf einem Roboterarm angeordnetes Fertigstellwerkzeug (nicht gezeigt) anweisen, einem speziellen Bewegungsweg zu folgen, während es das Fertigstellwerkzeug außerdem anweist, wann zusätzliche Funktionen wie zum Beispiel Lackieren, Schweißen oder Erfassen eines Werkstücks auszuführen sind. Folglich kann die Softwareanwendung jedes TP Programm im dreidimensionalen Raum als einen dreidimensionalen Weg 25 darstellen, der Positionen und/oder Ausrichtungen eines vorgegebenen Teils eines entsprechenden Roboters 20 zeigt, wenn dieser einen Roboterprozess durchführt. Der dreidimensionale Weg 25 kann eine Vielzahl von Knoten 26 enthalten, die im Allgemeinen als Lehrpunkte bezeichnet werden, die an verschiedenen Punkten entlang des dreidimensionalen Weges 25 angeordnet sind. Jeder Knoten 26 kann einen kritischen Punkt entlang des dreidimensionalen Weges 25 darstellen wie etwa ein Punkt, an dem bewirkt wird, dass der Roboter 20 einen Bewegungsverlauf ändert. Folglich kann jeder Knoten 26 Daten beinhalten, die sich auf seine Position im dreidimensionalen Raum relativ zu dem Bezugspunkt beziehen, indem drei Koordinatenwerte verwendet werden. Im Folgenden bezeichnet Bezug auf ein innerhalb des dreidimensionalen Raums der Bearbeitungsstation 5 erzeugtes TP Programm den dreidimensionalen Weg 25 und Knoten 26, die das TP Programm innerhalb der Bearbeitungsstation 5 darstellen.
  • Bei vielen Roboterprozessen, wie etwa dem in 1 gezeigten Lackierprozess, kann der Roboterprozess die Ausführung mehrfacher TP Programme, die auf mehrfachen Robotersteuereinheiten laufen, beinhalten. Darüber hinaus kann jedes TP Programm mehrfache Knoten 26 einschließen, die den dreidimensionalen Weg 25 definieren, der jedem TP Programm zugeordnet sind. An sich können die dreidimensionalen, grafischen Darstellungen der mehrfachen TP Programme, die durch die Softwareanwendung erzeugt werden, viele dreidimensionale Wege 25 und Knoten 26 einschließen, die im engen Abstand angeordnet sind oder sich überlappen, was dem Benutzer der Softwareanwendung die Auswahl eines einzelnen dreidimensionalen Weges 25 oder Knotens 26 von der Anzeige her erschwert. Es ist daher eine Aufgabe der augenblicklichen Erfindung, ein Verfahren zur leichten Auswahl eines gewünschten TP Programms bereitzustellen, um aus einer Vielzahl der der Bearbeitungsstation zugeordneten TP Programme heraus zu editieren.
  • 2 ist ein Ablaufdiagramm, das eine Vielzahl von Schritten zur Auswahl eines gewünschten TP Programms aus dem Innern der dreidimensionalen, grafischen Darstellung der Bearbeitungsstation 5 zeigt. Das erfindungsgemäße Verfahren umfasst einen ersten Schritt 100 zum Erzeugen der dreidimensionalen, grafischen Darstellung des in der Bearbeitungsstation 5 durchzuführenden Roboterprozesses. Der Erzeugungsschritt 100 umfasst sowohl das Erzeugen aller dreidimensionalen Objekte innerhalb der Bearbeitungsstation 5 als auch das Erzeugen des Weges jedes TP Programms, der den in der Bearbeitungsstation 5 durchzuführenden Roboterprozessen zugeordnet ist. Der Erzeugungsschritt 100 kann Anwendung auf alle der Bearbeitungsstation 5 zugeordneten TP Programme finden, ohne Rücksicht darauf, welche Robotersteuereinheit jedem TP Programm zugeordnet ist. Der Erzeugungsschritt 100 kann außerdem das Erzeugen des zweidimensionalen Bildes umfassen, welches die Projektion des für einen Benutzer der Softwareanwendung auf dem zweidimensionalen Bildschirm sichtbaren, dreidimensionalen Raums darstellt. Der Erzeugungsschritt 100 kann ferner einen Schritt zum Importieren aller Daten einschließen, die benötigt werden, um die dreidimensionale, grafische Anzeige aus allen notwendigen externen Speicherquellen zu erzeugen.
  • Das erfindungsgemäße Verfahren umfasst außerdem einen Schritt 110 zum Berechnen eines Begrenzungsrahmens 30 für jedes TP Programm, das der Bearbeitungsstation 5 zugeordnet ist, wie es in 3 dargestellt wird. Jeder Begrenzungsrahmen 30 stellt ein dreidimensionales Volumen innerhalb des dreidimensionalen Raums dar, das jeden dem TP Programm zugeordneten Knoten 26, für das der Begrenzungsrahmen 30 berechnet wird, völlig umgibt. Der Begrenzungsrahmen 30 wird berechnet, indem zuerst die dreidimensionalen Koordinaten jedes Knotens 26, der dem TP Programm zugeordnet ist, relativ zu einem Bezugspunkt identifiziert werden. Die Koordinatenwerte für jeden Knoten 26 können mit einem ”x”-Wert, einem „y”-Wert und einem „z”-Wert dargestellt werden, was in der Form von (x, y, z) dargestellt werden kann. Als Nächstes werden die Minimal- und Maximalwerte für jeden der ”x”-Werte, der ”y”-Werte und der „z”-Werte für alle der identifizierten Knoten 26 bestimmt, die dem TP Programm zugeordnet sind. Unter Verwendung dieser Festlegungen können zwei Punkte Pmin und Pmax identifiziert werden, die die Koordinaten (xmin, ymin, zmin) bzw. (xmax, ymax, zmax) besitzen. Die Punkte Pmin und Pmax stellen zwei gegenüber liegende Ecken des Begrenzungsrahmens 30 dar, wie es in 3 dargestellt wird. Die Koordinaten der anderen sechs Ecken des Begrenzungsrahmens können aus den Koordinaten der Punkte Pmin und Pmax bestimmt und als (xmax, ymin, zmin), (xmax, ymax, zmin), (xmin, ymax, zmin), (xmin, ymax, zmax), (xmin, ymin, zmax) und (xmax, ymin, zmax) dargestellt werden. Folglich sind die acht Ecken des Begrenzungsrahmens 30 definiert, und jeder dem TP Programm zugeordnete Knoten 26, für das der Begrenzungsrahmen 30 berechnet wurde, befindet sich innerhalb des Begrenzungsrahmens 30 oder auf einer Außenfläche des Begrenzungsrahmens 30.
  • Das Verfahren umfasst ferner einen Schritt 120 zum Speichern jedes berechneten Begrenzungsrahmens 30 in einen Speicher oder eine Speichervorrichtung (nicht gezeigt), die mit der Softwareanwendung verbunden ist. Der Speicherschritt 120 vermeidet die Notwendigkeit, dass die Softwareanwendung während ihrer Anwendung den Begrenzungsrahmen 30 für jedes zugeordnete TP Programm immer wieder neu berechnet. Die vorausberechneten und gespeicherten Begrenzungsrahmen 30 müssen zum Beispiel nicht jedes Mal, wenn ein Benutzer die Position ändert, aus der der dreidimensionale Raum betrachtet wird, im dreidimensionalen Raum gemäß der neuen Betrachtungsposition neu berechnet werden.
  • Das Verfahren schließt ferner einen Schritt 130 zum Umwandeln jedes dreidimensionalen Begrenzungsrahmens 30 in einen zweidimensionalen Begrenzungsbereich 40 ein. Jeder Begrenzungsrahmen 30 in dem dreidimensionalen Raum kann auf dem zweidimensionalen Bildschirm als eine zweidimensionale Projektion eines dreidimensionalen Objekts dargestellt werden. Während die dreidimensionale Darstellung des Begrenzungsrahmens 30 ein rechtwinkliger Parallelepiped oder Würfel mit sechs charakteristischen ebenen Flächen ist, erscheint die zweidimensionale Projektion auf dem zweidimensionalen Bildschirm als ein Sechseck mit sechs charakteristischen Seiten, wie es in 4 dargestellt wird. Die Fläche, die durch die sechs charakteristischen Seiten begrenzt wird, stellt den umgewandelten Begrenzungsbereich 40 dar. Der Begrenzungsbereich 40 kann auch in Abhängigkeit des Winkels, von dem aus der dreidimensionale Begrenzungsrahmen 30 betrachtet wird, als ein vierseitiges Rechteck erscheinen. Weil der Begrenzungsbereich 40 auf dem zweidimensionalen Bildschirm in zwei Dimensionen dargestellt ist, besteht er aus einer Vielzahl von Punkten mit zweidimensionalen Koordinaten relativ zu einem Bezugspunkt (Ursprung). Folglich können die Koordinatenwerte für jeden den Begrenzungsbereich 40 einschließenden Punkt mit einem „x” Wert und einem „y” Wert dargestellt werden, die in Form von (x, y) dargestellt werden können. Obwohl in 4 der Begrenzungsbereich 40 optisch dargestellt ist, werden bei normaler Operation der Softwareanwendung die Begrenzungsbereiche 40 dem Benutzer auf dem zweidimensionalen Bildschirm nicht gezeigt, weil der Benutzer unter Verwendung der Benutzerschnittstelle in der Bearbeitungsstation 5 navigiert.
  • Der Umwandlungsschritt 130 kann jedes Mal, wenn ein Benutzer die Position ändert, von der aus die dreidimensionale Bearbeitungsstation 5 betrachtet wird, stattfinden. Mit anderen Worten wird sich die zweidimensionale Projektion der äußeren Kanten des dreidimensionalen Begrenzungsrahmens 30 immer wieder verändern, da ein Benutzer die dreidimensionale Bearbeitungsstation 5 aus unterschiedlichen Positionen betrachtet (Änderung des Ansichtspunktes).
  • Um ein TP Programm aus dem dreidimensionalen Raum der Bearbeitungsstation 5 auszuwählen, umfasst das erfindungsgemäße Verfahren einen Schritt 140 zum Auswählen eines zweidimensionalen Auswahlbereiches 50 von dem zweidimensionalen Bildschirm. Der Auswahlbereich 50 ist ein zweidimensionaler Bereich, der über die dreidimensionale, grafische Darstellung der Bearbeitungsstation 5 in ähnlicher Weise zum Begrenzungsbereich 40 gelegt wird, wie es oben erläutert ist. Gemäß 4 kann der Auswahlschritt 140 vom Benutzer durchgeführt werden, der eine Auswahlbegrenzung 60 um einen durch den Benutzer ausgewählten Bereich zeichnet. Weil die Auswahlbegrenzung 60 in zwei Dimensionen gezeichnet ist, wie es auf dem zweidimensionalen Bildschirm dargestellt ist, wird die Auswahlbegrenzung 60 aus einer Vielzahl von Punkten mit zweidimensionalen Koordinaten relativ zu einem Bezugspunkt (Ursprung), vorzugsweise der gleiche Bezugspunkt wie beim Bestimmen der Koordinaten der den Begrenzungsbereich 40 einschließenden Punkte verwendet, gebildet. Die Koordinatenwerte für jeden die Auswahlbegrenzung 60 einschließenden Punkt können mit einem „x” Wert und einem „y” Wert dargestellt werden, was in der Form von (x, y) dargestellt werden kann.
  • Die Auswahlbegrenzung 60 wird anschließend in den Auswahlbereich 50 umgewandelt. Das Umwandeln der Auswahlbegrenzung 60 in den Auswahlbereich 50 wird durchgeführt, indem zuerst die zweidimensionalen Koordinaten für jeden die Auswahlbegrenzung 60 einschließenden Punkt identifiziert werden. Als Nächstes werden die Minimal- und Maximalwerte für jeden der „x” Werte und jeden der „y” Werte für alle die Auswahlbegrenzung 60 einschließenden, identifizierten Punkte festgelegt. Unter Verwendung dieser Festlegungen können zwei Punkte Amin und Amax identifiziert werden, die die Koordinaten (xmin, ymin) bzw. (xmax, ymax) besitzen. Die Punkte Amin und Amax stellen diagonal gegenüberliegende Ecken eines Rechtecks dar, wie es in 5 gezeigt ist. Unter Verwendung der Koordinaten dieser beiden Punkte können die anderen, die Ecken des Rechtecks bildenden, zwei Punkte so festgelegt werden, dass sie die Punkte mit den Koordinaten (xmin, ymax) und (xmax, ymin) sind. So ist der Auswahlbereich 50 der Bereich, der durch das von diesen vier Eckpunkten gebildete Rechteck umgeben wird.
  • Die Zeichnung der Auswahlbegrenzung 60 kann durchgeführt werden, indem ein Cursor verwendet wird, der einem Benutzer der Softwareanwendung auf dem zweidimensionalen Bildschirm gezeigt wird, der dieser zugeordnet ist. Es können jedoch andere bekannte Verfahren zum Zeichnen der Auswahlbegrenzung 60 genutzt werden, einschließlich das Zeichnen der Auswahlbegrenzung 60 durch Berührung des Benutzers, wenn zum Beispiel ein Berührungsbildschirm verwendet wird.
  • Sobald der Auswahlbereich 50 ausgewählt ist, umfasst das Verfahren nach der Erfindung ferner einen Schritt 150 zur Erkennung jedes Begrenzungsbereichs 40, der jedem TP Programm zugeordnet ist und sich mit dem Auswahlbereich 50 überlappt oder der sich innerhalb einer vorgegebenen Abstandstoleranz des Auswahlbereiches 50 befindet. Der Erkennungsschritt 150 wird durchgeführt, indem die zweidimensionalen Koordinaten jedes dem Auswahlbereich 50 zugeordneten Punktes mit den zweidimensionalen Koordinaten jedes dem Begrenzungsbereich 40 zugeordneten Punktes unter der Annahme verglichen werden, dass die zweidimensionalen Koordinaten jedes Punktes sich relativ auf den gleichen Bezugspunkt (Ursprung) beziehen. Wenn der Auswahlbereich 50 und der Begrenzungsbereich 40 mindestens einen gemeinsamen Punkt teilen, können der Auswahlbereich 50 und der Begrenzungsbereich 40 als überlappend betrachtet werden.
  • Der Erkennungsschritt 150 kann konfiguriert werden, um einen Begrenzungsbereich 40 zu erkennen, der mindestens einen Teil des Begrenzungsbereichs 40 innerhalb des Auswahlbereichs 50 enthält, was bedeutet, dass mindestens ein Punkt des Auswahlbereichs 50 sich mindestens mit einem Punkt des Begrenzungsbereichs 40 überlappt. 4 zeigt eine solche Situation, bei der sich nur ein Teil des Begrenzungsbereichs 40 mit dem Auswahlbereich 50 überlappt. Alternativ dazu kann der Erkennungsschritt 150 konfiguriert werden, um nur einen Begrenzungsbereich 40 zu erkennen, der in seiner Gesamtheit in den Auswahlbereich 50 einbezogen ist, was bedeutet, das alle Punkte des Begrenzungsbereiches 40 an dem Auswahlbereich 50 beteiligt sind. Der Erkennungsschritt 150 kann außerdem einen Begrenzungsbereich 40 innerhalb einer bestimmten Abstandstoleranz relativ zu einer äußeren Grenze des Auswahlbereiches 50 erkennen. Wird kein Begrenzungsbereich 40 als überlappend mit dem Auswahlbereich 50 oder innerhalb der Abstandstoleranz des Auswahlbereichs 50 erkannt, kann das erfindungsgemäße Verfahren den Begrenzungsbereich 40 erkennen, der sich am nächsten zum Auswahlbereich 50 befindet, wie es auf dem zweidimensionalen Bildschirm dargestellt wird, auf den der Begrenzungsbereich 40 und der Auswahlbereich 50 jeweils projiziert wird. Darüber hinaus können, wie oben beschrieben, einer oder mehrere der zu erkennenden Begrenzungsbereiche 40 einer unterschiedlichen Robotersteuereinheit als einer oder mehrere zu erkennende andere Begrenzungsbereiche 40 zugeordnet werden. An sich ziehen der Auswahlschritt 140 und der Erkennungsschritt 151 die Auswahl mehrfacher vorgegebener TP Programme in Betracht, die unterschiedlichen Robotersteuereinheiten zugeordnet werden.
  • Das erfindungsgemäße Verfahren umfasst außerdem einen Schritt zum Identifizieren 160 jedes einem Begrenzungsbereich 40 zugeordneten TP Programms, der als mit dem Auswahlbereich 50 überlappend oder innerhalb der vorbestimmten Abstandstoleranz des Auswahlbereichs 50 befindlich erkannt wurde. Wie im Folgenden verwendet, bezieht sich der Begriff „Identifizieren” auf die Softwareanwendung, die einem Benutzer der Softwareanwendung jedes identifizierte TP Programm optisch anzeigt. Jedes einem Begrenzungsbereich 40 zugeordnete TP Programm, der als mit dem Auswahlbereich 50 überlappend (oder innerhalb der vorbestimmten Abstandstoleranz befindlich) erkannt wurde, kann dem Benutzer angezeigt werden, indem ein jedem identifizierten Programm zugeordneter, einzelner Knoten 26 angezeigt wird, der sich einem Mittelpunkt des Auswahlbereiches 50 am nächsten befindet. Alternativ dazu kann der Identifizierungsschritt 160 das Anzeigen des dreidimensionalen Weges 25 umfassen, der jedem identifizierten Programm in seiner Gesamtheit einschließlich aller dem dreidimensionalen Weg 25 zugeordneten Knoten 26 zugeordnet ist.
  • Falls mehrfache TP Kandidatenprogramme (die auf vielfachen Robotersteuereinheiten laufen können) erkannt und identifiziert sind, schließt das Verfahren nach der Erfindung einen weiteren Schritt 170 zum Darstellen eines Dialograhmens 70 für den Benutzer ein, wie es in 5 gezeigt wird. Der Dialograhmen 70 listet vorzugsweise alle der TP Programme auf, die als mit dem Auswahlbereich 50 überlappend erkannt und identifiziert werden, ohne Rücksicht auf eine Robotersteuereinheit, der das TP Programm zugeordnet ist. Der Dialograhmen 70 kann vorzugsweise ein Merkmal enthalten, mit dem ein Benutzer eines der aufgelisteten TP Programme von der Liste auswählen kann, um weitere Operationen bezüglich des gewählten TP Programms durchzuführen. Der Darstellungsschritt 170 kann konfiguriert werden, um nur eine grafische Darstellung des TP Programms, das durch den Benutzer aus der im Dialograhmen 70 dargestellten Liste ausgewählt ist, anzuzeigen. Gemäß 5 ist gegenwärtig ein als „TP Programm 2” angegebenes TP Programm ausgewählt, und angezeigt wird nur „TP Programm 2” in Form des dreidimensionalen Weges 25 und der Knoten 26. Wenn eine grafische Darstellung des ausgewählten TP Programms angezeigt wird, kann dem Benutzer auch der Begrenzungsrahmen 30, der das ausgewählte TP Programm umgibt, gleichzeitig mit dem TP Programm angezeigt werden. Darüber hinaus können die Begrenzungsrahmen 30, die für die in dem Dialograhmen 70 dargestellten, nicht ausgewählten TP Programme erzeugt wurden, dem Benutzer in Form von leeren Begrenzungsrahmen 30 angezeigt werden, was bedeutet, dass die jedem Begrenzungsrahmen 30 entsprechenden TP Programme nicht optisch angezeigt werden, wie es zum Beispiel in 5 mit Bezug auf „TP Programm 1” und „TP Programm 3” dargestellt ist.
  • Wenn mehrfache TP Programme erkannt und identifiziert sind und der Dialograhmen 70 dem Benutzer gezeigt wird, kann das erfindungsgemäße Verfahren des Weiteren einen Schritt 180 zum Speichern der Liste von TP Programmen, die dem Dialograhmen 70 zugeordnet sind, in einer Speicherquelle oder Gerät (nicht dargestellt) umfassen. Das Speichern 180 der Liste von TP Programmen kann den Benutzer dabei unterstützen, sich auf TP Programme innerhalb des Auswahlbereichs 50 zurück zu beziehen, wenn der Benutzer es wünscht, ein anderes TP Programm zum Editieren aus der durch den Dialograhmen 70 vorgesehenen Liste zu wählen.
  • Sobald alle der TP Programme innerhalb oder in der Nähe des Auswahlbereichs 50 für den Benutzer identifiziert sind, kann er eines der TP Programme auswählen. Sobald es ausgewählt ist, kann das erfindungsgemäße Verfahren außerdem einen Schritt 190 umfassen, der einem Benutzer das Editieren von mindestens einem Teil des ausgewählten TP Programms erlaubt, was einschließt, dass einem Benutzer das Editieren von beliebigen, dem ausgewählten TP Programm zugeordneten Knoten 26 erlaubt wird. Das Editieren vom Benutzer kann zum Beispiel das Verschieben einer Position eines TP Programms oder eines zugeordneten Knotens 26 innerhalb des dreidimensionalen Raums der Bearbeitungsstation 5 umfassen. Folglich kann das Editieren vom Benutzer das Zuweisen eines Knotens 26 umfassen, der an einer neuen Stelle im dreidimensionalen kartesischen Raum basierend auf einem in der Bearbeitungsstation 5 enthaltenen Bezugspunkt (Ursprung) neu zu positionieren ist.
  • Wenn der Benutzer das Verschieben oder anderweitige Verändern einer Position eines TP Programms oder eines dem TP Programm zugeordneten Knotens 26 wirklich wählt, kann das erfindungsgemäße Verfahren ferner einen Schritt 200 zum Berechnen eines Einstellvektors für jeden Knoten 26, der neu positioniert wird, umfassen. Der Einstellvektor gibt eine Größe und eine Richtung der Änderung in der Position des zu verschiebenden Knotens 26 im dreidimensionalen kartesischen Raum an. Weil jedes TP Programm aus einer Vielzahl von Knoten 26 besteht, wird das Neupositionieren eines gesamten TP Programms das Neupositionieren jedes dem TP Programm zugeordneten Knotens 26 umfassen, damit ein Einstellvektor für jeden dem TP Programm zugeordneten Knoten 26 berechnet wird. Die Berechnung des Einstellvektors verringert die Zeit, die zur Ausführung des Rechenschritts 110, des Speicherschritts 120 und des Umwandlungsschritts 130 benötigt wird. Dies tritt auf, weil vor dem Neupositionieren eines Knotens 26 die Softwareanwendung bereits vorzugsweise den Begrenzungsrahmen 30 und den Begrenzungsbereich 40 für jedes TP Programm vorausberechnet hat, von denen beide in dem der Softwareanwendung zugeordneten Speicher gespeichert werden. Wenn ein Knoten 26 neu positioniert ist, wird die Softwareanwendung vorzugsweise konfiguriert, um nur den Begrenzungsrahmen 30 und damit den Begrenzungsbereich 40 für das diesem Knoten 26 zugeordnete TP Programm erneut zu berechnen, anders als erneutes Berechnen von Begrenzungsrahmen 30 und Begrenzungsbereich 40 für jedes TP Programm, das der Bearbeitungsstation 5 zugeordnet ist.
  • Sobald jeder Einstellvektor berechnet wurde, umfasst das erfindungsgemäße Verfahren außerdem einen Schritt 210 zum Anwenden jedes berechneten Einstellvektors auf jeden entsprechenden, neu zu positionierenden Knoten 26. Weil jeder einem TP Programm innerhalb der Bearbeitungsstation 5 zugeordnete Knoten 26 einem Satz dreidimensionaler Koordinaten (x, y, z) zugewiesen ist, umfasst der Anwendungsschritt 210 des Einstellvektors das erneute Zuweisen von Koordinatenwerten für jeden neu positionierten Knoten 26 basierend auf dem für jeden neu positionierten Knoten 26 berechneten Einstellvektor. Der Anwendungsschritt 210 kann das erneute Berechnen jedes dem TP Programm zugeordneten Begrenzungsrahmens 30 enthalten, dem der neu zu positionierende Knoten 26 zugeordnet wird. Das Berechnen jedes Begrenzungsrahmens 30 wird durchgeführt, indem die wieder zugewiesenen Koordinaten für jeden neu positionierten Knoten 26 genutzt werden. Folglich kann der Anwendungsschritt 210 außerdem das erneute Berechnen jedes Begrenzungsbereichs 40 beinhalten, der jedem neu berechneten Begrenzungsrahmen 30 zugeordnet ist. Der Anwendungsschritt 210 kann ferner das erneute Erzeugen der dreidimensionalen, grafischen Darstellung des innerhalb der Bearbeitungsstation 5 durchzuführenden Roboterprozesses umfassen. Sobald der Anwendungsschritt 210 beendet wurde, kann der Benutzer einen weiteren Auswahlbereich 50 basierend auf den erneut berechneten Begrenzungsrahmen 30 und Begrenzungsbereichen 40 auswählen, dem sich das Neupositionieren des mindestens einen Knotens 26, der einem TP Programm zugeordnet ist, anschließt.
  • Gemäß den Bestimmungen der Patentsatzungen wurde die vorliegende Erfindung dahingehend beschrieben, was als Darstellung ihrer bevorzugten Ausführungsform betrachtet wird. Es soll jedoch angemerkt werden, dass die Erfindung, anders als speziell veranschaulicht und beschrieben, in die Praxis umgesetzt werden kann, ohne von ihrem Geist oder Umfang abzuweichen.

Claims (20)

  1. Verfahren zur Lokalisierung von Roboter-Lehrpunktprogrammen zum Editieren, umfassend die Schritte: Erzeugen einer dreidimensionalen, grafischen Darstellung eines Weges eines in einer Bearbeitungsstation durchzuführenden Roboterprozesses; Auswählen eines zweidimensionalen Auswahlbereichs des Weges, der über die dreidimensionale, grafische Darstellung gelegt ist; Identifizieren mindestens eines dem zweidimensionalen Auswahlbereich zugeordneten Lehrpunktprogramms für einen Benutzer; und Erlauben dem Benutzer, mindestens einen Teil des mindestens einen, dem zweidimensionalen Auswahlbereich zugeordneten Lehrpunktprogramms zu editieren.
  2. Verfahren nach Anspruch 1, des Weiteren umfassend einen Schritt zum Berechnen eines dreidimensionalen Begrenzungsrahmens für jedes der Bearbeitungsstation zugeordnete Lehrpunktprogramm.
  3. Verfahren nach Anspruch 2, bei dem jeder Begrenzungsrahmen als ein rechtwinkliger Parallelepiped ausgebildet ist, der sich innerhalb der Bearbeitungsstation befindet, wobei der Begrenzungsrahmen jeweils jeden, dem Lehrpunktprogramm zugeordneten Knoten, für den der Begrenzungsrahmen berechnet ist, umgibt.
  4. Verfahren nach Anspruch 2, des Weiteren mit dem Schritt des Speicherns jedes dreidimensionalen Begrenzungsrahmens in eine Speicherquelle.
  5. Verfahren nach Anspruch 2, des Weiteren umfassend einen Schritt des Umwandelns jedes der dreidimensionalen Begrenzungsrahmen in einen entsprechenden zweidimensionalen Begrenzungsbereich, wobei jeder zweidimensionale Begrenzungsbereich eine zweidimensionale Projektion des entsprechenden dreidimensionalen Begrenzungsbereichs ist, der über die dreidimensionale, grafische Darstellung gelegt ist.
  6. Verfahren nach Anspruch 5, bei dem der Umwandlungsschritt durchgeführt wird, wenn eine Ansicht der dem Benutzer gezeigten, dreidimensionalen, grafischen Darstellung der Arbeitsstation geändert wird.
  7. Verfahren nach Anspruch 5, ferner umfassend einen Schritt zum Erkennen jedes zweidimensionalen Begrenzungsbereiches, der sich mit dem zweidimensionalen Auswahlbereich überlappt, wobei jedes jedem zweidimensionalen Begrenzungsbereich zugeordnete Lehrpunktprogramm, das als mit dem zweidimensionalen Auswahlbereich überlappend erkannt wird, für den Benutzer identifiziert wird, als wäre es dem zweidimensionalen Auswahlbereich zugeordnet.
  8. Verfahren nach Anspruch 5, außerdem umfassend einen Schritt zum Erkennen jedes zweidimensionalen Begrenzungsbereiches, der sich innerhalb einer Abstandstoleranz des zweidimensionalen Auswahlbereichs befindet, wobei jedes jedem zweidimensionalen Begrenzungsbereich zugeordnete Lehrpunktprogramm, das erkannt wird als innerhalb der Abstandstoleranz des zweidimensionalen Auswahlbereiches befindlich, für den Benutzer identifiziert wird, als wäre es dem zweidimensionalen Auswahlbereich zugeordnet.
  9. Verfahren nach Anspruch 1, bei dem der Schritt des Auswählens eines zweidimensionalen Auswahlbereiches das Zeichnen einer äußeren Begrenzung um eine Fläche der dreidimensionalen, grafischen Darstellung herum umfasst, um den zweidimensionalen Auswahlbereich zu bilden.
  10. Verfahren nach Anspruch 1, ferner umfassend einen Schritt des Anzeigens einer Liste aller identifizierten Lehrpunktprogramme zur Betrachtung durch den Benutzer.
  11. Verfahren nach Anspruch 10, bei dem die Liste dem Benutzer als ein Dialograhmen angezeigt wird.
  12. Verfahren nach Anspruch 1, bei dem der Schritt des Identifizierens des zumindest einen Lehrpunktprogramms, das dem zweidimensionalen Auswahlbereich zugeordnet ist, durchgeführt wird, indem alle Lehrpunktprogramme, die auf allen der Bearbeitungsstation zugeordneten Robotersteuereinheiten gespeichert sind, gesucht werden.
  13. Verfahren nach Anspruch 1, umfassend einen Schritt des Bereitstellens einer Benutzerschnittstelle, die es ermöglicht, dass ein Benutzer mit dem zumindest einen Lehrpunktprogramm, das dem zweidimensionalen Auswahlbereich zugeordnet ist, interaktiv wird.
  14. Verfahren nach Anspruch 1, bei dem das Editieren des mindestens einen Teils des zumindest einen Lehrpunktprogramms das Neupositionieren mindestens eines Knotens umfasst, der dem mindestens einen Lehrpunkt zugeordnet ist.
  15. Verfahren nach Anspruch 14, ferner umfassend einen Schritt zum Berechnen eines Einstellvektors für den mindestens einen Knoten, wobei der Einstellvektor einen Abstand in einer Richtung einschließt, in der der mindestens eine Knoten neu zu positionieren ist, und bei dem der Einstellvektor angewandt wird, um den mindestens einen Knoten neu zu positionieren.
  16. Verfahren nach Anspruch 15, ferner umfassend einen Schritt zum Berechnen eines dreidimensionalen Begrenzungsrahmens für das mindestens eine Lehrpunktprogramm, nachdem der Einstellvektor angewandt wurde.
  17. Verfahren zur Auswahl von Roboter-Lehrpunktprogrammen innerhalb einer dreidimensionalen, grafischen Darstellung einer Bearbeitungsstation, das die Schritte umfasst: Berechnen eines dreidimensionalen Begrenzungsrahmens für jedes der Bearbeitungsstation zugeordnete Lehrpunktprogramm; Umwandeln jedes der dreidimensionalen Begrenzungsrahmen zu einem über die dreidimensionale, grafische Darstellung der Bearbeitungsstation gelegten, entsprechenden zweidimensionalen Begrenzungsbereich; Auswählen eines über die dreidimensionale, grafische Darstellung gelegten, zweidimensionalen Auswahlbereichs; Erkennen jedes der zweidimensionalen Begrenzungsbereiche, der sich mit dem zweidimensionalen Auswahlbereich überlappt; und Identifizieren für den Benutzer jedes der Lehrpunktprogramme, das einen entsprechenden, zweidimensionalen Begrenzungsbereich, der als überlappend mit dem zweidimensionalen Auswahlbereich erkannt wird, besitzt.
  18. Verfahren nach Anspruch 17, bei dem der Umwandlungsschritt durchgeführt wird, wenn eine Ansicht der dreidimensionalen, grafischen Darstellung der Bearbeitungsstation geändert wird.
  19. Verfahren nach Anspruch 17, des Weiteren mit einem Schritt des Anzeigens einer Liste aller der identifizierten Lehrpunktprogramme zur Betrachtung durch den Benutzer.
  20. Verfahren nach Anspruch 17, bei dem der Schritt des Identifizierens der Lehrpunktprogramme mit einem entsprechenden zweidimensionalen Begrenzungsbereich, der als den zweidimensionalen Auswahlbereich überlappend erkannt wird, durchgeführt wird, indem alle Lehrpunktprogramme gesucht werden, die auf allen der Bearbeitungsstation zugeordneten Robotersteuerungselemente gespeichert sind.
DE102013112516.6A 2012-11-14 2013-11-14 Lehrpunktprogramm-Auswahlverfahren für Robotersimulator Active DE102013112516B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261726263P 2012-11-14 2012-11-14
US61/726,263 2012-11-14

Publications (2)

Publication Number Publication Date
DE102013112516A1 true DE102013112516A1 (de) 2014-05-15
DE102013112516B4 DE102013112516B4 (de) 2022-07-07

Family

ID=50555985

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013112516.6A Active DE102013112516B4 (de) 2012-11-14 2013-11-14 Lehrpunktprogramm-Auswahlverfahren für Robotersimulator

Country Status (4)

Country Link
US (1) US9339932B2 (de)
JP (1) JP6449534B2 (de)
CN (1) CN103809463B (de)
DE (1) DE102013112516B4 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5975010B2 (ja) 2013-10-17 2016-08-23 株式会社安川電機 ティーチングシステムおよびティーチング方法
WO2015153109A1 (en) * 2014-03-31 2015-10-08 Irobot Corporation Autonomous mobile robot
JP6081981B2 (ja) * 2014-12-19 2017-02-15 ファナック株式会社 教示プログラムの自動表示手段を備える数値制御装置
WO2017029711A1 (ja) * 2015-08-18 2017-02-23 株式会社安川電機 塗装システムおよび塗装方法
JP6348141B2 (ja) * 2016-04-28 2018-06-27 ファナック株式会社 付加軸の状態が含まれる動作プログラムを表示するロボットの制御装置
FR3050672B1 (fr) * 2016-04-29 2018-11-23 Les Companions Automate pour le traitement d'une surface
JP2018012188A (ja) * 2016-06-03 2018-01-25 ファナック アメリカ コーポレイション 複数のロボットによる動的レーザタッチセンシング及び動的ユーザ座標系
DE102016210419A1 (de) * 2016-06-13 2017-12-14 Kuka Roboter Gmbh Verfahren zum steuern eines manipulatorsystems
WO2018120208A1 (zh) * 2016-12-30 2018-07-05 深圳配天智能技术研究院有限公司 一种码垛路径模式的确定方法、装置及机器人
US11462121B2 (en) 2017-02-15 2022-10-04 Cae Inc. Visualizing sub-systems of a virtual simulated element in an interactive computer simulation system
CN106881717B (zh) * 2017-03-13 2019-07-02 浙江优迈德智能装备有限公司 一种机器人定距的表面跟随喷漆方法
CN107368247B (zh) * 2017-06-09 2020-12-29 上海嘉实(集团)有限公司 现场项目的管理方法/系统、计算机可读存储介质及终端
US10275689B1 (en) * 2017-12-21 2019-04-30 Luminar Technologies, Inc. Object identification and labeling tool for training autonomous vehicle controllers
CN116587327A (zh) * 2023-06-20 2023-08-15 广东电网有限责任公司广州供电局 运动控制系统、带电作业机器人检测方法及相关设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61105614A (ja) * 1984-10-29 1986-05-23 Okuma Mach Works Ltd Ncデ−タ作成装置における加工領域指定方式
JPH0699378A (ja) * 1992-09-22 1994-04-12 Nippon Telegr & Teleph Corp <Ntt> ロボット軌道を教示するための方法
JP3053501B2 (ja) * 1992-10-20 2000-06-19 ファナック株式会社 ロボットの位置教示方法
JPH06210543A (ja) * 1993-01-18 1994-08-02 Canon Inc 工具経路データ自動検査装置
US5574835A (en) * 1993-04-06 1996-11-12 Silicon Engines, Inc. Bounding box and projections detection of hidden polygons in three-dimensional spatial databases
US5675229A (en) * 1994-09-21 1997-10-07 Abb Robotics Inc. Apparatus and method for adjusting robot positioning
JP4014662B2 (ja) * 1995-09-18 2007-11-28 ファナック株式会社 ロボット教示操作盤
DE69618606T2 (de) * 1995-09-19 2002-09-12 Yaskawa Denki Kitakyushu Kk Prozessor für robotersprache
JPH09146621A (ja) * 1995-11-01 1997-06-06 Mitsubishi Electric Corp ロボットのシミュレーション装置
US5977978A (en) * 1996-11-13 1999-11-02 Platinum Technology Ip, Inc. Interactive authoring of 3D scenes and movies
JPH11296571A (ja) * 1998-04-13 1999-10-29 Fujitsu Ltd 干渉チェック装置およびそのプログラム記録媒体
JP2000259846A (ja) * 1999-03-05 2000-09-22 Dainippon Printing Co Ltd 位置揃え装置及び記録媒体
JP3641391B2 (ja) * 1999-06-17 2005-04-20 日本電気株式会社 情報視覚化システム、空間映像生成装置、空間映像再生装置、情報視覚化方法
JP2001338306A (ja) * 2000-05-29 2001-12-07 Sony Corp 編集ツール属性変更処理装置、編集ツール属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法、並びにプログラム提供媒体
US6597967B2 (en) * 2001-02-28 2003-07-22 Board Of Trustees Operating Michigan State University System and method for planning a tool path along a contoured surface
US6836700B2 (en) * 2002-07-29 2004-12-28 Advanced Robotic Technologies, Inc. System and method generating a trajectory for an end effector
WO2007039785A1 (en) * 2005-10-06 2007-04-12 Abb As Control system and teach pendant for an industrial robot
DE102006022483A1 (de) 2006-05-13 2007-11-29 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Anzeigen einer Roboterbahn zur Unterstützung einer Ortsänderung eines Stützpunktes
CN101224576B (zh) * 2008-01-25 2010-09-29 北京邮电大学 磁控溅射喷涂机器人示教轨迹优化控制方法
DE102010032917A1 (de) 2010-07-30 2012-04-19 Brötje-Automation GmbH Verfahren zur Offline-Programmierung eines NC-gesteuerten Manipulators
CN102728508A (zh) * 2012-07-17 2012-10-17 昆山华恒焊接股份有限公司 机器人涂装系统

Also Published As

Publication number Publication date
US9339932B2 (en) 2016-05-17
CN103809463B (zh) 2018-01-26
CN103809463A (zh) 2014-05-21
US20140135986A1 (en) 2014-05-15
JP2014097569A (ja) 2014-05-29
JP6449534B2 (ja) 2019-01-09
DE102013112516B4 (de) 2022-07-07

Similar Documents

Publication Publication Date Title
DE102013112516B4 (de) Lehrpunktprogramm-Auswahlverfahren für Robotersimulator
DE102016120763B4 (de) Verfahren zur kollisionsfreien Bewegungsplanung
EP1447770B1 (de) Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
EP0144585B1 (de) Verfahren zur perspektivischen Darstellung von veränderbaren Gebilden
EP3013537B2 (de) Verfahren und system zur programmierung eines roboters
DE602006000648T2 (de) Offline-Lehrgerät für einen Roboter
DE102012110508B4 (de) Roboter Einstellvorrichtung mit 3-D Display
DE69636693T2 (de) Verfahren zur Interferenz-Überwachung
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
EP2879842B1 (de) Verfahren und programmiermittel zur modifikation einer roboterbahn
DE102017001131B4 (de) Verfahren und System zum Betreiben eines Roboters
DE102013113165A1 (de) Kalibrierungsverfahren für Robotersystem
DE10144932A1 (de) Visualisierung von Werkstücken bei der Simulation von Fräsprozessen
DE102013008755B4 (de) Offline-Programmiersystem
DE102011001956A1 (de) Simulationsvorrichtung für Betriebsvorgänge
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
EP2122424A2 (de) Industrieroboter und verfahren zum bestimmen der lage eines industrieroboters relativ zu einem objekt
EP3418839A1 (de) Verfahren zur steuerung einer automatisierungsanlage
DE102022202563B3 (de) Planen einer Bahn eines Roboters
DE102022130341A1 (de) Punktmengen-störungsprüfung
DE102017216093B4 (de) Verfahren zur Parametrierung eines robotischen Manipulators
DE102018212944A1 (de) Verfahren zur Unterstützung der Kollaboration zwischen Mensch und Roboter mittels einer Datenbrille
EP3616140A1 (de) System zur unterstützung von teamarbeit mittels augmented reality
DE102004032996A1 (de) Einfache Roboterprogrammierung
DE102021207086A1 (de) Verfahren und System zum Durchführen einer Industrie-, insbesondere Roboterapplikation

Legal Events

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