DE602005006126T2 - Verfahren und system zur off-line-programmierung von mehreren interagierenden robotern - Google Patents

Verfahren und system zur off-line-programmierung von mehreren interagierenden robotern Download PDF

Info

Publication number
DE602005006126T2
DE602005006126T2 DE602005006126T DE602005006126T DE602005006126T2 DE 602005006126 T2 DE602005006126 T2 DE 602005006126T2 DE 602005006126 T DE602005006126 T DE 602005006126T DE 602005006126 T DE602005006126 T DE 602005006126T DE 602005006126 T2 DE602005006126 T2 DE 602005006126T2
Authority
DE
Germany
Prior art keywords
robot
robots
computer
path
defining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602005006126T
Other languages
English (en)
Other versions
DE602005006126D1 (de
Inventor
Jonas Anselmby
Volker Miegel
Jochen Bargfrede
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.)
ABB AB
Original Assignee
ABB AB
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 ABB AB filed Critical ABB AB
Publication of DE602005006126D1 publication Critical patent/DE602005006126D1/de
Application granted granted Critical
Publication of DE602005006126T2 publication Critical patent/DE602005006126T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39135For multiple manipulators operating at same time, avoid collision
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40317For collision avoidance and detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Selective Calling Equipment (AREA)

Description

  • Hintergrund
  • Ein System zum Offline-Programmieren mehrerer interagierender Roboter wird offenbart. Der Offline-Programmcode kann in einer Computersimulation verifiziert werden und zum Steuern mehrerer interagierender Roboter heruntergeladen werden.
  • Roboter sind flexibel, präzise, kosteneffektiv und sind gut geeignet, komplexe Aufgabensequenzen in einer Herstellungsumgebung auszuführen. Aber es gibt viele Tätigkeiten, die für einen einzelnen Roboter zu komplex sind. Zusätzliche Roboter können zum Verringern einiger dieser Herstellungsprobleme verwendet werden.
  • Die Druckschrift US 6 330 495 B1 offenbart ein System zum Offline-Programmieren einer Mehrzahl von Robotern und zum Verifizieren durch Simulation, dass die Koordination der Roboter derart ist, dass sie nicht zusammenstoßen.
  • Der Stand der Technik beim Herstellen spricht nicht das Verifizieren durch Simulation an, dass gleichzeitige Roboterbewegungen geeignet koordiniert werden, um beispielsweise sicherzustellen, dass Pfade mehrerer Roboter, die miteinander interagieren, nicht zusammenstoßen, während sie komplexe Interaktionen durchführen, wie beispielsweise wenn sie eine Arbeit an einem Teil durchführen, das von einem anderen Roboter gehalten wird. Das Programmieren und gleichzeitige und effiziente Koordinieren mehrerer Roboterbewegungen kann eine signifikante Herausforderung sein.
  • Zusammenfassung
  • Ein Verfahren und eine Vorrichtung zum Offline-Programmieren mehrerer interagierender Roboter werden offenbart. Beispielsweise weist ein System zum Offline-Programmieren mehrerer interagierender Roboter einen Computer zum Offline-Programmieren und zum Verifizieren von Programmcodes für mehrere interagierende Roboter und eine Robotersteuerung auf, die mit dem Computer zum Empfangen eines Downloads von wenigstens einem der Programmcodes zum Ausführen verbunden ist, wobei wenigstens einer der mehreren interagierenden Roboter durch die Robotersteuerung gesteuert wird.
  • Ein beispielhaftes Verfahren zum Offline-Programmieren mehrerer interagierender Roboter weist auf: Definieren einer virtuellen Roboterzelle in einem Roboterprogramm, Erzeugen eines Pfads in Bezug auf geometrische Merkmale eines Teils, das in der virtuellen Roboterzelle des Roboterprogramms definiert ist, und Definieren von Parametern. Wenigstens ein Roboterpfad wird automatisch erzeugt und in einer Simulation verifiziert. Das Roboterprogramm wird auf eine Robotersteuerung zum Steuern wenigstens eines der mehreren interagierenden Roboter heruntergeladen.
  • Kurze Beschreibung der Zeichnungsfiguren
  • Zusätzliche Merkmale und Vorteile werden Fachleute beim Lesen der folgenden detaillierten Beschreibung von bevorzugten Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen erkennen, bei denen gleiche Elemente durch gleiche Bezugszahlen bezeichnet wurden, und von denen
  • 1 ein beispielhaftes System zum Offline-Programmieren mehrerer interagierender Roboter zeigt,
  • 2 eine beispielhafte Roboterzellenkonfiguration mehrerer interagierender Roboter zeigt, die in der Lage sind, ein Teil flexibel zu positionieren,
  • 3 eine beispielhafte Arbeitsablaufübersicht zum Offline-Progammieren mehrerer interagierender Roboter zeigt,
  • 4 ein beispielhaftes Ablaufdiagramm von High-Level-Routinen zum Offline-Programmieren mehrerer interagierender Roboter zeigt, und
  • 5 ein beispielhaftes funktionales Blockdiagramm zum Offline-Programmieren mehrerer interagierender Roboter zeigt.
  • Detaillierte Beschreibung
  • 1 zeigt ein beispielhaftes System 100 zum Offline-Programmieren mehrerer interagierender Roboter 131133. Das System 100 weist einen Computer 110 zum Offline-Programmieren und zum Verifizieren von Programmcodes 111 für mehrere interagierende Roboter 131133 und eine Steuerung 120, wie beispielsweise eine separate Off-Board- und/oder eine On-Board- Robotersteuerung, die mit dem Computer 110 zum Empfangen eines Downloads von wenigstens einem der Programmcodes zum Ausführen verbunden ist, auf. Die Robotersteuerung 120 kann mehrere interagierende Roboter 131133 in einer realen Produktionszelle, in der die Roboter interagieren und als eine Produktionseinheit operieren, steuern.
  • Der Computer 110 kann zum Offline-Programmieren und zum Verifizieren irgendeines der oder mehrerer der Programmcodes verwendet werden. Die Programmcodes können, wenn sie verifiziert sind, zum Steuern mehrerer interagierender Roboter, wie beispielsweise einer Mehrzahl von Robotern 131, 132 in Kombination mit einem unterschiedlich gestalteten Handling-Roboter 133 für mehrere Bearbeitungen, heruntergeladen werden. Jeder der mehreren interagierenden Roboter ist durch eine Roboterkonfiguration definiert und jedem ist eine Aufgabenart zugewiesen, beispielsweise durch Identifizieren des entsprechenden Roboters als einen Bearbeitungs-Roboter oder als einen Handling-Roboter. Beispielsweise kann ein Anwender mit dem Computer 110 zum Definieren einer virtuellen Roboterzelle 130 in einem Roboterprogramm 111 interagieren. Der Anwender kann mit dem Computer 110 zum Definieren von Parametern, automatischem Erzeugen wenigstens eines Roboterpfads in Bezug auf ein Teil und zum Verifizieren des wenigstens einen Roboterpfads in einer Computersimulation, die das Roboterprogramm ausführt, interagieren. Wie in den Blöcken 101 und 102 gezeigt ist, können die Programmieraktivitäten, insgesamt oder zu einem Teil, offline ausgeführt werden und in einer Computersimulationsumgebung verifiziert werden.
  • In Block 103 kann einer der oder mehrere des ausführbaren Code (der Codes) des Roboterprogramms von dem Computer 110 auf eine Robotersteuerung 120 zum Steuern mehrerer interagierender Roboter 131133 heruntergeladen werden. Einer oder mehrere der mehreren interagierenden Roboter 131133 kann/können durch wenigstens eine Steuerung 121, 122 gesteuert werden, die den Programmcode (die Codes) 111 zum Bearbeiten wenigstens eines Teils 140 durch die mehreren interagierenden Roboter 131133 ausführt. Beispielsweise kann eine Robotersteuerung 121 zum gleichzeitigen Steuern von bis zu vier oder mehr mehrere interagierende Roboter konfiguriert sein. Alternativ können individuelle Robotersteuerungen 121, 122 in einem Robotersteuerungsgehäuse 120 jeweils einen entsprechenden Roboter steuern.
  • Das Roboterprogramm ist in der Lage, eine Vielzahl von Roboterarten zu steuern, beispielsweise Bearbeitungs- und Handling-Roboter in einer Vielzahl von Bewegungsmodi, die unab hängige Bewegung, synchronisierte koordinierte Bewegung und koordinierte Bewegung aufweisen. Die mehreren interagierenden Roboter 231233 können eine Vielzahl von Roboterarten und Konfigurationen sein. Beispielsweise ist ein Bearbeitungs-Roboter typischerweise ein Mehrachsen-(beispielsweise sechs Achsen)Roboter, der in der Lage ist, Translation- und/oder Rotationsbewegungen durchzuführen. Ein Bearbeitungs-Roboter kann eine Vielzahl von Werkzeugen zum Bearbeiten halten und ein Handling-Roboter handhabt ein zu bearbeitendes Teil. Die Roboter-Bearbeitung kann auf ein Teil gerichtet sein, um beispielsweise Schweißen, Lichtbogenschweißen, Kleben, Malen, Schneiden bzw. Spanabheben usw. in Bezug auf das Teil durchzuführen.
  • 2 zeigt eine beispielhafte Roboterzellenkonfiguration mehrerer interagierender Roboter, die in der Lage sind, ein Teil flexibel zu positionieren. Eine Mehrzahl von Bearbeitungs-Robotern 231, 232 ist in Kombination mit einem ähnlich bewegbaren Handling-Roboter 133 zum flexiblen Positionieren eines Teils 240 gezeigt, während die Bearbeitungsroboter 231, 232 individuell ein Werkzeug 250, 260 zum Bearbeiten des Teils manipulieren, wie beispielsweise Schweißen, Lichtbogenschweißen, Kleben, Malen, Schneiden bzw. Spanabheben, Fräsen und/oder Bohren. Das Offline-Programmieren kann einen Pfad 251 eines Werkzeugs 250 in Bezug auf geometrische Merkmale eines Teils 240 erzeugen, das in einer virtuellen Roboterzelle 230 des Roboterprogramms definiert ist. Der virtuelle Roboterraum ist ein Bereich, in dem mehrere Roboter miteinander durch Verwendung der Roboterprogrammcodes interagieren. Das Offline-Programmieren, das zum Erzeugen der Roboterprogrammcodes verwendet wird, kann Attribute eines Werkzeugs 250, 260 definieren, wie beispielsweise Werkzeuggeschwindigkeit und eine Werkzeugorientierung in Bezug auf ein Teil, und kann einem Anwender ein Optimieren des Programmcodes (der Codes) erleichtern.
  • 3 zeigt eine beispielhafte Arbeitsablaufübersicht zum Offline-Programmieren mehrerer interagierender Roboter. Wie durch die Arbeitsablaufübersicht 300 gezeigt ist, kann das Verfahren zum Offline-Programmieren mehrerer interagierender Roboter zum Erzeugen eines herunterladbaren Roboterprogramms ein Anwenderdefinieren einer virtuellen Roboterzelle in einem Roboterprogramm aufweisen, wie in Block 301 gezeigt ist.
  • Das Anwenderdefinieren einer virtuellen Roboterzelle in Block 301 kann Importieren von Robotern in eine virtuelle Roboterzelle in einer Simulationsumgebung und Importieren von Gestaltsdaten, die die geometrischen Merkmale eines Teils erfassen, aufweisen. Eine virtuelle Roboterzelle weist den virtuellen Roboterraum auf, in dem mehrere Roboter, die als eine Produktionseinheit interagieren, modelliert sind. Beispielsweise können die Abmessungen eines realen Produktionsbereichs, in dem die Roboter operieren, in dem Roboterprogramm in Bezug auf virtuelle Roboter, die in eine virtuelle Roboterzelle importiert oder modelliert sind, definiert werden. Zusätzliche Gegenstände (virtuelle Gegenstände) können in die individuelle Roboterzelle modelliert werden, wie beispielsweise Förderanlagen, Führungen und zu bearbeitende Teile.
  • Ein virtueller Roboter kann basierend auf beispielsweise seinen geometrischen Merkmalen und seiner Bewegungslogik definiert werden. Beispielsweise kann beginnend mit einer Basis eines Roboters ein Basisrahmen basierend auf beispielsweise einer Koordinatenposition und der Basisorientierung in der virtuellen Roboterzelle definiert werden. Ein Mehrachsenroboter kann einen oder mehrere gelenkige Arme, wie beispielsweise drei oder mehr gelenkige Arme, aufweisen, wobei jeder eine Armlänge aufweist. Eine Roboterverbindung kann aktiv (bewegbar) oder deaktiviert (blockiert) sein und kann eine besondere Verbindungsart sein, wie beispielsweise Rotation oder Translation. Das Traversenende eines Mehrachsenroboters kann bezüglich eines Toolcenterpoints bezogen werden.
  • Gestaltsdaten, die die erfassten geometrischen Merkmale eines Teils darstellen, können in eine Offline-Programmierungsumgebung importiert werden. Durch das Importieren von Gestaltsdaten, die die geometrischen Merkmale eines Teils erfassen, kann ein Anwender beispielsweise bekannte Computerunterstützte Konstruktions(CAD)-Techniken zum Erzeugen und zum Importieren einer separat modellierten Geometrie eines realen Teils in eine Offline-Programmierungsumgebung zum Definieren der geometrischen Merkmale in Bezug auf einen Roboter in einer virtuellen Zelle verwenden. Beispielsweise kann, nachdem die geometrischen Merkmale in Bezug auf einen Roboter in eine virtuelle Zelle importiert wurden, ein Pfad entlang der Geometrie eines modellierten Teils zum Bearbeiten erzeugt werden.
  • Um die Offline-Simulation so realistisch wie möglich zu machen, können so viele virtuelle Gegenstände wie erforderlich zusammen in einer virtuellen Roboterzelle modelliert werden. Ein Anwender kann dadurch verschiedene Positionen der virtuellen Objekte evaluieren und mögliche Zusammenstöße und andere modellierte Anomalien zwischen sich bewegenden Ge genständen erfassen. Der Anwender kann auch evaluieren, ob ein Roboter, wenn er modelliert ist, in der Lage ist, alle Ziele (Teilpositionen), die für die Teilbearbeitungsaufgabe erforderlich sind, zu erreichen.
  • In Block 302 kann ein Pfad in Bezug auf geometrische Merkmale eines Teils, das in der virtuellen Roboterzelle definiert ist, erzeugt werden. In Block 302 kann die Erzeugung eines Pfads in Bezug auf ein Teil Erzeugen wenigstens eines Pfads entlang eines geometrischen Merkmals des Teils, das in der virtuellen Roboterzelle definiert ist, und Definieren einer Bearbeitung, die an dem Teil entlang des Pfads durchzuführen ist, aufweisen. Beispielsweise kann mit Hilfe einer Grafiksichtanzeige einer Orientierung eines Teils ein Anwender visuell eine Trajektorie erzeugen, die zu einem Roboterpfads entlang, durch oder in Bezug auf ein modelliertes geometrisches Oberflächenmerkmal eines Gegenstands (Teils), das zu bearbeiten ist, übersetzt werden soll. Das tatsächliche Mittel der Anwendereingabe kann ein breiter Bereich von bestehenden Verfahren sein, die die Verwendung von verschlüsselten Eingaben von Daten, Cursorpositionieren unter Verwendung einer Maus oder ähnliche Peripherieeinrichtungen, eine Stiftmanipulation auf dem Display selbst oder irgendeine Kombination einer solchen Benutzerschnittstelleneinrichtung und Techniken aufweisen. Die Bearbeitung an einem Teil kann eine Bearbeitung aus Schweißen, Lichtbogenschweißen, Kleben, Malen, Schneiden bzw. Spanabheben, Fräsen und/oder Bohren aufweisen, ist aber nicht darauf beschränkt.
  • In Block 303 kann ein Anwender Parameter definieren. Das Anwenderdefinieren von Parametern in Block 303 kann beispielsweise Definieren einer Roboteraufgabenart, Identifizieren wenigstens eines Bearbeitungs-Roboters und eines Handling-Roboters aufweisen. Falls ein Werkzeug zu einem Roboter gehört, kann ein Anwender die Betriebsparameter definieren, wie beispielsweise eine Werkzeuggeschwindigkeit entlang des Pfads und eine Werkzeugorientierung in Bezug auf das Teil. Die Roboterkonfiguration kann in Abhängigkeit von dem Roboter definiert werden, der zum Steuern modelliert wird. Die Parameter können für die Bearbeitung, die modelliert wird, optimiert werden. Beispielsweise können anwenderdefinierte Parameter bezüglich wenigstens eines Faktors aus Zykluszeit, Lebensdauer und Energieverbrauch optimiert werden.
  • In Block 304 wird wenigstens ein Roboterpfad automatisch offline in der Computersimulationsumgebung erzeugt. Das automatische Erzeugen in Block 304, das inverse Kinematik ver wendet, kann automatisches Erzeugen wenigstens eines Pfads für wenigstens einen importierten Roboter basierend auf den definierten Parametern aufweisen und der Computer erzeugt automatisch ein Roboterprogramm für die Roboter, die in die virtuelle Roboterzelle importiert sind. In Block 305 kann der wenigstens eine Roboterpfad in der Simulation verifiziert werden. In Block 306 kann das Roboterprogramm (beispielsweise wenigstens ein Robotersteuerungscode) auf beispielsweise eine Robotersteuerung zum Steuern mehrerer interagierender Roboter in einer realen Produktionsumgebung heruntergeladen werden.
  • Nachdem die Parameter für den Pfad definiert sind, kann ein beispielhaftes Verfahren den Roboterpfad in Block 304 automatisch unter Verwendung von beispielsweise mathematischen Lösungen erzeugen, die beim Lösen inverser Kinematikprobleme verwendet werden. Beispielsweise sind geeignete mathematische Lösungen in „Effizienter industrieller Einsatz bahnsynchron kooperierender Roboter (übersetzt A More Efficient Industrial Application of Path-Synchronously Cooperating Robots)" durch Heribert Münch et al., 13. August 2001 (10 Seiten) beschrieben, das hierin durch Verweis in seiner Gesamtheit eingeschlossen ist.
  • Inverse Kinematik, wie sie in dem Münch et al.-Artikel bezeichnet wird, bezieht sich allgemein auf den Prozess des Bewegungssteuerns basierend auf berechneten Positionen im Raum eines Punkts auf einer Struktur mit Gelenken, wie beispielsweise einem Roboter oder Robotern, der die Position und Winkel aller Verbindungen an dem Roboter oder der Roboter angeben ist. Inverse Kinematik gilt für das Bewegungsplanen zum Kooperieren von Kinematik, was eine Transformation zwischen Aufgabe und Roboterkoordinaten, Bewegungssynthesen für willkürliche redundante Kinematik und Bewegungssynthese für kontinuierlich kooperierende Kinematik einschließt, während die Systemredundanz für die Bewegungsoptimierung verwendet wird.
  • Zum Lösen eines inversen Kinematikproblems wird eine Bestimmungsgleichung linearisiert: x = f(q) (1)
  • x ε Rm stellt Aufgabenkoordinaten und q ε Rn stellt Roboterkoordinaten dar. Das sich ergebende lineare Substitutionsproblem Δx = J·Δq (2) kann durch Beschreiben der Kinematik gemäß der Denavit-Hartenberg Konvention gelöst werden. Denavit und Hartenberg verwendeten die Schraubentheorie zum Zeigen, dass die meist kompakte Darstellung einer allgemeinen Transformation zwischen zwei Roboterverbindungen vier Parameter erfordert. Lokale Lösungen werden für nicht redundante Systeme (m = n) gemäß dem Gaußschen Eleminierungsverfahren bestimmt. Die erforderliche globale Lösung des inversen Kinematikproblems kann durch Verwenden eines modifizierten Newton-Raphson-Verfahrens erzeugt werden.
  • Durch das Anwenden von inverser Kinematik auf das vorliegend offenbarte Offline-Programmieren mehrerer interagierender Roboter kann die Kinematiklösung in einer Vorwärtsrichtung berechnet werden. Eine Vorwärtskinematikberechnung ist eine Sequenz von Berechnungen, da sie sich auf eine Roboterbewegung bezieht. Beispielsweise kann eine Vorwärtskinematikberechnung von einem Basisrahmen ausgehen, der auf die Basis eines Roboters bezogen ist, durch die Mehrachsenroboterarme mit Gelenken und die finale Bewegungssynthese für die Bearbeitungsaufgaben ableiten. Die Bewegungssynthese kann basierend auf einem Werkzeugmittebezugsrahmen sein. Solch eine Vorwärtskinematiklösung für den Roboterprogrammcode fügt einen oder mehrere der folgenden Parameter ein:
    eine Anzahl von Robotern,
    eine Anzahl von aktiven Verbindungen in einem Mehrachsenroboter, die einen Penaltywert, der durch eine identifizierte aktive Verbindung zugewiesen ist, aufweisen,
    eine Verbindungsart (Translation oder Rotation),
    Koordinatenwerte für einen Roboterbasisbezugsrahmen und einen Werkzeugmittebezugsrahmen,
    eine Kinematikart oder eine Kinematikregel,
    Identifizieren von blockierten oder deaktivierten Verbindungen für eine schnelle Vorwärtskinematikberechnung, und
    eine Auswahl von alternativen abgestuften Achsenbewegungen.
  • Die Werkzeugbewegung kann beispielsweise Translation oder Rotation oder eine Kombinationsbewegung sein. Roboterarmverbindungen können jeweils als aktiv (bewegbar) oder deaktiviert (blockiert) zum Erreichen einer schnellen Vorwärtskinematiklösung bestimmt werden. Im Fall des Evaluierens einer Auswahl von Bewegungen können verschiedene alternative Achsen bewegungen, beispielsweise Achsenbewegungen durch verschiedene Achsen, für den Anwender zum Evaluieren und Auswählen durch abgestufte (Delta) Bewegung geprüft werden.
  • Einzelne Penaltyfaktoren können auf eine Vorwärtskinematiklösung angewendet werden, um die gewünschte Bewegungsynthese besser zu erreichen. Beispielsweise kann der Achsenbewegung einer aktiven Achse mit einem zugewiesenen Penaltywert ein größeres Gewicht in Richtung zu einer Bewegungssteuerung verglichen mit der Achsenbewegung mit einem anderen zugewiesenen Penaltywert gegeben werden. Diese zugewiesenen Penaltywerte helfen, die realen Betriebs- und/oder Umgebungsfaktoren, die die Roboterbewegungen beeinflussen, zu berücksichtigen. Beispielsweise kann der Effekt der Schwerkraft und das Trägheitsmoment an dem Roboterarmgelenk den Fahrpfad eines Arms in einer gegebenen Richtung ablenken. Eine Lösung ist, einfach eine bestimmte Anzahl von Achsen oder Armen bei einer Orientierung zu deaktivieren oder zu blockieren, um die gewünschte Stabilität und die Geschwindigkeit der Lösung zu erhöhen. Bei einem anderen Beispiel kann jedoch eine größere Verwendung eines bewegbaren (aktiven) Arms, der dem Bearbeitungswerkzeug oder des Teils, das bearbeitet wird, am nächsten ist, zum Erreichen einer verfeinerten Bewegungssynthese eine erhöhte Präzision und Stabilität bei der Bewegungssynthese verglichen mit dem Versuch, die gleiche Bewegung unter Verwendung von nur Aktivierung/Deaktivierung ausgewählter Gelenke bei einem Mehrachsenroboter zu erreichen, zeigen. Entsprechend kann das Verwenden von Penaltywerten bei aktiven Achsenberechnungen, wie beispielsweise durch individuelle (aktiver) Achsenbewegung, zum Verbessern der Auswahl und der Qualität der Bearbeitungsausgabe verwendet werden.
  • Das Roboterprogramm umfasst verschiedene Bewegungsmodi mehrerer interagierender Roboter, die unabhängige Bewegung, synchronisierte koordinierte Bewegung und koordinierte Bewegung aufweisen. Roboterpfade können in einer Simulation des Roboterprogramms unter Verwendung eines Computers verifiziert werden 305. Durch Computersimulation kann das erwartete Verhalten der mehreren interaktiven Roboter verifiziert werden. Das Roboterprogramm kann verwendet werden zum Steuern von Robotern in einer Zelle zum Ausführen einer Bearbeitung, wie beispielsweise einer Lichtbogenschweißbearbeitung, das Roboterprogramm kann die Aufgaben jedes Roboters, die auszuführen sind, definieren und die Beziehung zwischen den unabhängig steuerbaren Robotern definieren.
  • Das Roboterprogramm kann reprogrammiert und zum Herunterladen zum Ausführen der programmierten Roboterinteraktion reevaluiert werden. Sollte das computersimulierte Verhalten der mehreren interaktiven Roboter nicht die Erwartungen des Anwenders erfüllen, können beispielsweise die Systemparameter redefiniert werden, wie es erforderlich ist, um das simulierte Verhalten zu ändern, und resimuliert werden, um das gewünschte erwartete Verhalten der mehreren interaktiven Roboter vor einem Download 306, wie beispielsweise von einem Computer auf einer Robotersteuerung, zu erhalten. Der ausführbare Code (die Codes) des Roboterprogramms können in der Robotersteuerung zum Steuern mehrerer interagierender Roboter in einer realen Produktionszelle ausgeführt werden.
  • Wie in 4 gezeigt ist, kann/können ein computerlesbarer Programmcode (oder Codes) ausführbare Funktionen zum interaktiven Offline-Programmieren und Simulieren implementieren, wie beispielsweise Definieren einer virtuellen Roboterzellenkonfiguation in einem Roboterprogrammcode (Codes), Definieren einer Trajektorie eines Roboterpfads in Bezug auf die virtuelle Roboterzellenkonfiguration des Roboterprogrammcodes (der Codes), Definieren von Systemparametern, automatisches Erzeugen wenigstens eines Roboterpfads, Simulieren des wenigstens einen Roboterpfads zum Verifizieren des Roboterprogrammcodes (der Codes). Der Roboterprogrammcode (die Codes) kann/können reprogrammiert und reevaluiert werden, falls es erforderlich ist. Wenigstens ein Robotersteuerungscode wird für eine Robotersteuerung erzeugt.
  • Ein computerlesbares Medium mit einem computerlesbarem Programmcode, der darauf gespeichert ist, wird zum Offline-Programmieren mehrerer interagierender Roboter offenbart. Der computerlesbare Programmcode implementiert: eine Routine zum Definieren einer virtuellen Roboterzelle als ein Raum, in dem mehrere Roboter miteinander unter Verwendung eines Roboterprogrammcodes interagieren; eine Routine zum Definieren einer Trajektorie eines Roboterpfads in Bezug auf die virtuelle Roboterzelle, eine Routine zum Definieren von Systemparametern; und eine Routine zum automatischen Erzeugen wenigstens eines Roboterpfads. Eine Routine simuliert den wenigstens einen Roboterpfad zum Verifizieren des Roboterprgrammcodes.
  • Eine Routine in dem computerlesbaren Programmcode (den Codes) zum Definieren einer virtuellen Roboterzelle 401 kann eine Routine zum Importieren von Robotern in eine virtuelle Roboterzelle in einer Simulationsumgebung und eine Routine zum Importieren von CAD-Daten, die die geometrischen Merkmale eines Teils in Bezug auf die Roboter in der Simulationsumgebung erfassen, aufweisen. Andere modellierte Gegenstände, wie beispielsweise Transportanlagen und Führungen, können in die virtuelle Roboterzelle importiert werden.
  • Eine Routine in dem computerlesbaren Programmcode (den Codes) zum Definieren eines Roboterpfads 402 in Bezug auf die virtuelle Roboterzellenkonfiguration des Roboterprogrammcodes (der Codes) kann eine Routine zum Erzeugen wenigstens eines Pfads entlang eines geometrischen Merkmals eines Teils, das in einer virtuellen Roboterzelle definiert ist, und eine Routine zum Definieren einer Bearbeitung, die an dem Teil entlang des Pfads durchzuführen ist, aufweisen. Die durchzuführende Bearbeitung kann wenigstens eine Bearbeitung aus Schweißen, Lichtbogenschweißen, Kleben, Malen, Schneiden bzw. Spanabheben, Fräsen und Bohren aufweisen, ist aber nicht darauf beschränkt.
  • Eine Routine in dem computerlesbaren Programmcode (den Codes) zum Definieren von Systemparametern 403 kann eine Routine zum Definieren einer Roboteraufgabenart, Identifizieren wenigstens eines Bearbeitungs-Roboters und eines Handling-Roboters, eine Routine zum Definieren einer Werkzeuggeschwindigkeit entlang des Pfads, eine Routine zum Definieren einer Werkzeugorientierung in Berg auf das Teil, eine Routine zum Definieren einer Roboterkonfiguration und eine Routine zum Festlegen einer Bearbeitungsoptimierung aufweisen, ist aber nicht darauf beschränkt.
  • Eine Routine in dem computerlesbaren Programmcode (den Codes) zum automatischen Erzeugen wenigstens eines Roboterpfads 404 kann eine Routine zum automatischen Erzeugen der Pfade wenigstens eines Pfads für wenigstens einen importierten Roboter basierend auf den definierten Systemparametern und eine Routine zum Erzeugen eines Roboterprogramms für die Roboter, die in die virtuelle Robterzelle importiert sind, aufweisen, ist aber nicht darauf beschränkt. Eine inverse Kinematikberechnung kann zum Erzeugen wenigstens eines Roboterpfads angewendet werden. In einer Ausführungsform wird eine Vorwärtskinematikberechnung, wie zuvor genannt, implementiert.
  • Eine Routine in dem computerlesbaren Programmcode (den Codes) zum Simulieren 405 des wenigstens einen Roboterpfads kann eine Routine zum Computersimulieren eines Verhaltens der mehreren interaktiven Roboter und eine Routine zum Anwenderredefinieren der Systemparameter zum Ändern des computersimulierten Verhaltens aufweisen, ist aber nicht darauf beschränkt. Das Laufenlassen der Simulation 405 erleichtert eine visuelle Evaluierung der Ergebnisse, eine Verifizierung des Roboterprogrammcodes (der Codes) in einer Computersimulationsumgebung und ein Redefinieren der Systemparameter zum Reprogrammieren. In Abhängigkeit von den Ergebnissen der Evaluierung kann in Block 406 ein Anwender die Systemparameter zum Iterieren des Offline-Programmierungsprozesses und zum Hervorbringen modifizierter Evaluierungsergebnisse vor einem Erzeugen der Robotersteuerungscodes (der Codes) in Block 407 redefinieren.
  • Der computerlesbare Programmcode (die Codes) kann/können fortgeschrittene Steuerungsmerkmale einfügen, die aufweisen, aber nicht darauf beschränkt sind:
    • – dynamisches Mehrachsenrobotersteuerungsmodellieren, was fortgeschrittene Steuerungsmerkmale, wie beispielsweise Penaltywerteinstellungen für reale betriebskörperliche Parameter, fortgeschrittene Servosteuerung, genaues Pfadhalten, geschwindigkeitsunabhängiger Pfad, elektronisch stabilisierter Pfad, selbstoptimierende Beschleunigungssteuerung und Schutz gegen Überlastung, einfüngen,
    • – simultanes Optimieren des Pfadhaltens und des Zykluses,
    • – akkurates Offline-Programmieren und Verifizieren, und
    • – andere automatische Optimierungsmerkmale zum Steigern der gesamten interagierenden Roboterleistung, wie beispielsweise Zykluszeit, Lebensdauer und Energieverbrauch.
  • Andere fortgeschrittene Steuerungsmerkmale, die in dem computerlesbaren Programmcode (den Codes) enthalten sind, weisen unabhängige Bewegung, synchronisierte koordinierte Bewegung und koordinierte Bewegung auf, sind aber nicht darauf beschränkt.
  • 5 zeigt ein beispielhaftes funktionales Blockdiagramm eines Computersoftwaresystems, das zum Offline-Programmieren mehrerer interagierender Roboter implementiert ist. Die Steuerungssoftware 510 der mehreren interagierenden Roboter ist als ein Software-Plugin gezeigt, das an eine Computerprogrammierungs- und Simulationssoftware 520 aus Darstellungsgründen gekoppelt ist 511. Zusammen ermöglicht das Offline-Programmieren mehrerer interagierender Roboter 500 ein integriertes computerbasierendes Werkzeug zum Offline-Planen, Pro grammieren und Simulieren mehrerer interagierender Roboter. Die Steuerungssoftware 510 der mehreren interagierenden Roboter und die Computerprogrammierungs- und Simulationssoftware 520 bewirken, dass eine Steuerung der mehreren interagierenden Roboter leicht zu planen ist, leicht zu programmieren ist und leicht zu verwenden ist. Beispielhafte Vorzüge des Computersoftwaresystems weisen eine vereinfachte Programmierung der Steuerung der mehreren interagierenden Roboter und Integrieren von technischen Produktionsrandbedingungen in das Programmieren auf.
  • Das Offline-Programmieren mehrerer interagierender Roboter 500 kann zum Definieren einer virtuellen Roboterzelle verwendet werden. Wie zuvor angegeben, wird ein Pfad entlang der Geometrie eines Teils erzeugt. Dieser Pfad kann beispielsweise zu der Geometrie des Werkstücks, das mittels Lichtbogen zu schweißen ist, gehören. Die Systemparameter können dann als Randbedingungen definiert werden, die bei der Steuerung der Roboter in der Zelle zu berücksichtigen sind. Vorbestimmte Randbedingungen können unter anderem eine Randbedingung aus Werkzeugorientierung, Zykluszeit und Roboterorientierung aufweisen. Eine Optimierung kann basierend auf Qualitätskriterien sein, wie beispielsweise: Verwendung einer maximalen Geschwindigkeit durch Reduzieren der Last an der limitierenden Achse, Minimieren von Zykluszeiten, Reduzieren von mechanischen Belastungen an dem gesamten System oder individuellen Achsen. Nachdem Randbedingungen definiert wurden, erzeugt das Offline-Programmieren mehrerer interagierender Roboter 500 automatisch die Roboterpfade.
  • Unter Verwendung von 2 zu Darstellungszwecken kann ein beispielhaftes Programm für mehrere interagierende Roboter eine Lichtbogenschweißzelle mit zwei Robotern umfassen. Bei einer solchen Aufgabe definiert der Prozess des automatischen Erzeugens von Roboterpfaden, welche Aufgaben jeder der zwei Roboter 231, 233 ausführen soll, und definiert die Beziehung zwischen den zwei unabhängig steuerbaren Robotern. Einer der Roboter 233 kann einen Gegenstand 240 in einer gewünschten Orientierung halten, während der zweite Roboter 231 das Lichtbogenschweißen entlang des spezifizierten Pfads durchführt.
  • Zurückkehrend zu 5 kann das Mathematik- und Algorithmusmodul 512 Systemparameter einfügen, die als zu berücksichtigende Parameter bei der Steuerung der mehreren Roboter, die in einer Zelle zum Bearbeiten des Teils enthalten sind, definiert sind. Beispielsweise können die vorbestimmten Randbedingungen Werkzeugorientierung, Arbeitsgeschwindigkeit, Robo terorientierung oder irgendeine andere gewünschte Randbedingung enthalten. Eine Vorwärtskinematiklösung für den Roboterprogrammcode fügt einen oder mehrere der folgenden Parameter ein:
    eine Anzahl von Robotern,
    eine Anzahl von aktiven Verbindungen in einem Mehrachsenroboter, die einen Penaltywert, der durch eine identifizierte aktive Verbindung zugewiesen ist, aufweisen,
    eine Verbindungsart (Translation oder Rotation),
    Koordinatenwerte für einen Roboterbasisbezugsrahmen und einen Werkzeugmittebezugsrahmen,
    eine Kinematikart oder eine Kinematikregel,
    Identifizieren von blockierten oder deaktivierten Verbindungen für eine Vorwärtskinematikberechnung, und
    eine Auswahl von alternativen abgestuften Achsenbewegungen.
  • Andere Ereignisse, die die mehreren interagierenden Roboter beeinflussen, können berücksichtigt werden, die aufweisen:
    • – Ändern, Löschen oder Einfügen eines Roboters aus der Roboterzelle,
    • – Schließen oder Laden einer Roboterzelle, und
    • – Ändern eines Pfads.
  • Die resultierenden programmierten Pfade können mit Hilfe einer grafischen Benutzerschnittstelle 513 gelesen werden, erzeugt werden, modifiziert werden. Der programmierte Pfad kann weiter mit beispielsweise der gewünschten Geschwindigkeit, der Bewegungsart und der Anschlussart spezifiziert werden. Die Parameter werden gespeichert.
  • Die Randbedingungen, die für den Pfad definiert werden, das Mathematik- und Algorithmusmodul 512 können automatisch den Roboterpfad unter Verwendung von beispielsweise mathematischen Lösungen erzeugen, die zur Verwendung beim Lösen von inversen Kinematikproblemen bekannt sind, wie beispielsweise die, die in „Effizienter industrieller Einsatz bahnsynchron kooperierender Roboter" durch Heribert Münch et al., 13. August 2001 (10 Seiten) beschrieben sind, was hierin durch Verweis in seiner Gesamtheit eingeschlossen ist.
  • Nach dem automatischen Erzeugen eines Roboterpfads, können die Pfade des Roboters in einer Simulation verifiziert werden. Roboterprogramme, die auf der Basis der Simulation erzeugt wurden, können heruntergeladen werden und beispielsweise in einer Robotersteuerung gespeichert werden, die zum Steuern der Roboter, die in der Zelle enthalten sind, verwendet wird.
  • Obwohl die vorstehend genannte beispielhafte Ausführungsform die Steuerungssoftware 510 der mehreren interagierenden Roboter als ein Software-Plugin bei einem Computerprogrammieren und die Simulationssoftware 520 implementiert, sollen die beschriebenen funktionalen Abgrenzungen und das Verfahren der Implementierung beispielhaft, aber nicht einschränkend sein. Alle äquivalenten Implementierungen, die Software-, Firmware- und Hardware-Realisierungen von einigen oder allen der gleichen Funktion aufweisen, sind innerhalb des Schutzumfangs der vorliegenden Erfindung.
  • Die vorstehend genannten computerlesbaren Programmcodes, die die Robotersteuerungscodes aufweisen, können in jedem computerlesbarem Medium zur Verwendung durch oder in Verbindung mit einem Anweisungsausführungssystem, einer -vorrichtung, oder einer -einrichtung, wie beispielsweise einem computerbasierendem System, einem Prozessor enthaltenen System, oder anderem System, das die Anweisung aus dem anweisungsausführenden System, der -vorrichtung oder der -einrichtung abfragen kann und die Anweisung ausführen kann, ausgeführt werden.
  • Wie es hier verwendet wird, kann ein „computerlesbares Medium" jedes Mittel sein, das das Programm zur Verwendung durch oder in Verbindung mit dem anweisungsausführenden System, der -vorrichtung oder der -einrichtung enthalten, speichern, kommunizieren, verbreiten oder transportieren kann. Das computerlesbare Medium kann beispielsweise ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine -vorrichtung, eine -einrichtung oder Verbreitungsmedium sein, ist aber nicht darauf eingeschränkt. Weitere spezifische Beispiele (einer nicht abschließenden Liste) des computerlesbaren Mediums können das Folgende aufweisen: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, ein Random-Access-Memory (RAM), ein Read-Only-Memory (ROM), ein Erasalbe-Programmable-Read-Only-Memory (EPROM oder Flash-Speicher), eine optische Faser, ein tragbares Kompaktdisk-Read-Only-Memory (CDROM), ein Massespeicher, ein Serverspeicher, eine selbständige Speichereinrichtung, eine Harddisk, eine Disk-Array, und eine virtuelle Speichereinrichtung.
  • Es wird bei den durchschnittlichen Fachleuten erkannt werden, dass die Konzepte und Techniken, die hier beschrieben sind, in verschiedenen spezifischen Formen ausgeführt werden können, ohne vom wesentlichen Gedanken derselben abzuweichen. Die vorliegend offenbarten Ausführungsformen sind in jeder Hinsicht als beispielhaft und nicht einschränkend anzusehen. Der Schutzumfang der Erfindung ist durch die beigefügten Ansprüche angegeben anstelle durch die vorstehend genannte Beschreibung, und alle Änderungen, die in die Bedeutung und die Bandbreite der Äquivalenz derselben fallen, sollen eingeschlossen werden.

Claims (32)

  1. System zum Offline-Programmieren mehrerer interagierender Roboter (100), mit wenigstens einem Handling-Roboter, der ein Teil (240) hält, und wenigstens einem Bearbeitungs-Roboter mit einem Werkzeug zum Bearbeiten des Teils, einem Computer (110) zum Offline-Programmieren und zum Verifizieren von Programmcodes (111) für mehrere interagierende Roboter, bei dem der Computer angepasst ist zum Definieren einer virtuellen Roboterzelle, die den Handling-Roboter, den Bearbeitungs-Roboter und das Teil enthält, Einbeziehen von Parametern, die als Randbedingungen definiert sind, die bei der Steuerung der mehreren Roboter zu berücksichtigen sind, Erzeugen wenigstens eines Roboterpfads (302) in Bezug auf geometrische Merkmale des Teils, das in der virtuellen Roboterzelle definiert ist, basierend auf einer Trajektorie, die in Bezug auf das Teil definiert ist, und auf dem Parameter, automatischen Erzeugen von Programmcode basierend auf dem erzeugten Pfad, Verifizieren des Roboterpfads in einer Simulation (305), die den Programmcode ausführt, und einer Robotersteuerung (120) zum Steuern der Roboter, welche Steuerung mit dem Computer zum Empfangen eines Downloads des Programmcodes zum Ausführen verbunden ist.
  2. System nach Anspruch 1, dadurch gekennzeichnet, dass die Randbedingung wenigstens eine Randbedingung aus Werkzeugorientierung, Zykluszeit und Roboterorientierung aufweist.
  3. System nach Anspruch 1, dadurch gekennzeichnet, dass das Bearbeiten wenigstens eine Bearbeitung aus Schweißen, Lichtbogenschweißen, Kleben, Malen, Schneiden bzw. Spanabheben, Fräsen und Bohren aufweist.
  4. System nach Anspruch 1, dadurch gekennzeichnet, dass eine Robotersteuerung (120) in der Lage ist, bis zu vier interagierende Roboter (131133) zu steuern.
  5. System nach Anspruch 1, dadurch gekennzeichnet, dass die mehreren interagierenden Roboter (131133) in einem Bewegungsmodus arbeiten, der wenigstens eine Bewegung aus un abhängiger Bewegung, synchronisierter koordinierter Bewegung und koordinierter Bewegung aufweist.
  6. System nach Anspruch 1, dadurch gekennzeichnet, dass jeder der mehreren interagierenden Roboter (231233) durch eine Roboterkonfiguration definiert ist und jedem eine Aufgabenart zugewiesen ist, die einen Roboter als einen Bearbeitungs-Roboter (231, 232) oder einen Handling-Roboter (233) identifiziert, wenigstens einer der mehreren interagierenden Roboter ein Werkzeug (250, 260) mit mindestens einer Bedingung aus einer Werkzeuggeschwindigkeit und einer Werkzeugorientierung in Bezug auf ein Teil betätigt, und das Offline-Programmieren dem Anwender ein Optimieren des Programmcodes erleichtert.
  7. System nach Anspruch 1, dadurch gekennzeichnet, dass eine Mehrzahl von interagierenden Robotern Bearbeitungs-Roboter (231, 232) für mehrere Bearbeitungen sind.
  8. System nach Anspruch 1, dadurch gekennzeichnet, dass wenigstens einer der mehreren interagierenden Roboter ein Handling-Roboter (233) zum flexiblen Positionieren von Teilen ist.
  9. Verfahren zum Offline-Programmieren mehrere interagierender Roboter, die wenigstens einen Handling-Roboter, der ein Teil (240) hält, und wenigstens einen Bearbeitungs-Roboter mit einem Werkzeug zum Bearbeiten des Teils aufweisen, zum Erzeugen eines herunterladbaren Roboterprogramms, mit: Definieren einer virtuellen Roboterzelle (301) in einem Roboterprogramm (300), wobei die virtuelle Roboterzelle den Handling-Roboter, den Bearbeitungs-Roboter und das Teil enthält, Definieren wenigstens eines Parameters (303) als eine Randbedingung, die bei der Steuerung der mehreren Roboter zu berücksichtigen ist, Erzeugen wenigstens eines Roboterpfads (304) in Bezug auf geometrische Merkmale des Teils, das in der virtuellen Roboterzelle definiert ist, basierend auf einer Trajektorie (251), die in Bezug auf das Teil definiert ist, und auf dem Parameter, automatischem Erzeugen von Programmcode basierend auf dem erzeugten Pfad, Verifizieren des Roboterpfads in einer Simulation (305), die den Programmcode ausführt, und Herunterladen des Programmcodes (306) auf eine Robotersteuerung (120) zum Steuern der Roboter.
  10. Verfahren nach Anspruch 9, bei dem die Randbedingung wenigstens eine Randbedingung aus Werkzeugorientierung, Zykluszeit und Roboterorientierung aufweist.
  11. Verfahren nach Anspruch 10, bei dem das Definieren der virtuellen Roboterzelle aufweist: Importieren von Robotern (231233) in eine virtuelle Roboterzelle (230) in einer Simulationsumgebung, und Importieren von CAD-Daten, die die geometrischen Merkmale eines Teils (240) in Bezug auf die Roboter in der Simulationsumgebung erfassen.
  12. Verfahren nach Anspruch 10, bei dem das Erzeugen eines Pfads in Bezug auf ein Teil aufweist: Definieren wenigstens einer Trajektorie (251) entlang eines geometrischen Merkmals (241), das in der virtuellen Roboterzelle (230) definiert ist, und Definieren einer Bearbeitung, die an dem Teil entlang der Trajektorie ausgeführt wird.
  13. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die Bearbeitung, die auszuführen ist, wenigstens eine Bearbeitung aus Schweißen, Lichtbogenschweißen, Kleben, Malen, Schneiden bzw. Spanabheben, Fräsen und Bohren aufweist.
  14. Verfahren nach Anspruch 9, bei dem das Definieren der Parameter aufweist: Definieren einer Roboteraufgabenart, die einen Roboter als einen Bearbeitungs-Roboter (231, 232) oder einen Handling-Roboter (233) identifiziert, Definieren einer Werkzeuggeschwindigkeit entlang des Pfads, Definieren einer Werkzeugorientierung in Berg auf das Teil, Definieren einer Roboterkonfiguration, und Festlegen einer Prozessoptimierung.
  15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass das Festlegen einer Prozessoptimierung ein Optimieren bezüglich wenigstens einem Faktor aus Zykluszeit, Lebensdauer und Energieverbrauch aufweist, dadurch gekennzeichnet, dass Penalty-Faktoren und/oder aktive/deaktive Verbindungen als Parameter definiert werden können.
  16. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass das Roboterprogramm einen Bewegungsmodus der mehreren interagierenden Roboter (231233) definiert, der wenigstens eine Bewegung aus unabhängiger Bewegung, synchronisierter koordinierter Bewegung und koordinierter Bewegung aufweist.
  17. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass das Roboterprogramm (111) reprogrammiert (407) und zum Herunterladen evaluiert werden kann.
  18. Verfahren nach Anspruch 11, bei dem das automatische Erzeugen wenigstens eines Roboterpfads (304) aufweist: automatisches Erzeugen wenigstens eines Pfads für wenigstens einen importierten Roboter basierend auf den definierten Parametern, und Erzeugen eines Roboterprogramms für die Roboter, die in die virtuelle Roboterzelle importiert sind.
  19. Verfahren nach Anspruch 9, bei dem das Verifizieren des wenigstens einen Roboterpfads in einer Simulation (305) aufweist: Ausführen des Roboterprogramms unter Verwendung eines Computers, Verifizieren eines simulierten Verhaltens der mehreren interaktiven Roboter, Redefinieren der Parameter, falls erforderlich, zum Ändern des simulierten Verhaltens.
  20. Verfahren nach Anspruch 9, bei dem das Herunterladen des Roboterprogramms (306) aufweist: Herunterladen des Roboterprogramms von einem Computer (110) auf eine Robotersteuerung (120), und Ausführen des Roboterprogramms in der Robotersteuerung (120) zum Steuern mehrerer interagierender Roboter in einer realen Produktionszelle.
  21. Computerlesbares Medium mit einem computerlesbaren Programmcode, der darauf zum Offline-Programmieren mehrerer interagierender Roboter gespeichert ist, die wenigstens einen Handling-Roboter, der ein Teil (240) hält, und wenigstens einen Bearbeitungs-Roboter mit ei nem Werkzeug zum Bearbeiten des Teils aufweisen, bei dem der computerlesbare Programmcode, der ausführbare Funktionen implementiert, aufweist: eine Routine zum Definieren einer virtuellen Roboterzelle (401) als ein Raum, in dem mehrere Roboter unter Verwendung eines Roboterprogrammcodes miteinander interagieren, eine Routine zum Definieren einer Trajektorie (402) eines Roboterpfads in Bezug auf die virtuelle Roboterzelle, eine Routine zum Definieren von Parametern (403) als Randbedingungen, die bei der Steuerung der mehreren Roboter zu berücksichtigen sind, eine Routine zum automatischen Erzeugen wenigstens eines Roboterpfads (404) basierend auf der Trajektorie und auf den Parametern, und eine Routine zum Simulieren des wenigstens einen Roboterpfads (405) zum Verifizieren des Roboterprogrammcodes.
  22. Computerlesbares Medium nach Anspruch 21, bei dem die Randbedingungen wenigstens eine Randbedingung aus Werkzeugorientierung, Zykluszeit und Roboterorientierung aufweist.
  23. Computerlesbares Medium nach Anspruch 21, bei dem die Routine zum Definieren einer Trajektorie (402) als ein Roboterpfad in Bezug auf die virtuelle Roboterzellenkonfiguration des Roboterprogrammcodes aufweist: eine Routine zum Erzeugen von wenigstens einem Pfad entlang eines geometrischen Merkmals eines Teils, das in einer virtuellen Roboterzelle definiert ist, und eine Routine zum Definieren einer Bearbeitung, die an dem Teil entlang des Pfads auszuführen ist.
  24. Computerlesbares Medium nach Anspruch 23, dadurch gekennzeichnet, dass die Bearbeitung, die auszuführen ist, wenigstens eine Bearbeitung aus Schweißen, Lichtbogenschweißen, Kleben, Malen, Schneiden bzw. Spanabheben, Fräsen und Bohren aufweist.
  25. Computerlesbares Medium nach Anspruch 21, dadurch gekennzeichnet, dass eine Vorwärtskinematiklösung für den Roboterprogrammcode einen oder mehrere der folgenden Parameter einfügt: eine Anzahl von Robotern, eine Anzahl von aktiven Verbindungen in einem Mehrachsenroboter, die einen Penalty-Wert, der durch eine identifizierte aktive Verbindung zugewiesen ist, aufweisen, eine Verbindungsart (Translation oder Rotation), Koordinatenwerte für einen Roboterbasisbezugsrahmen und einen Werkzeugmittebezugsrahmen, eine Kinematikart oder eine Kinematikregel, Identifizieren von blockierten oder deaktivierten Verbindungen für eine Vorwärtskinematikberechnung, und eine Auswahl von alternativen abgestuften Achsenbewegungen.
  26. Computerlesbares Medium nach Anspruch 21, dadurch gekennzeichnet, dass die Parameter bezüglich wenigstens einem Faktor aus Zykluszeit, Lebensdauer und Energieverbrauch optimiert sind.
  27. Computerlesbares Medium nach Anspruch 21, dadurch gekennzeichnet, dass die Bewegungsmodi der mehreren interagierenden Roboter wenigstens eine Bewegung aus unabhängiger Bewegung, synchronisierter koordinierter Bewegung und koordinierter Bewegung aufweisen.
  28. Computerlesbares Medium nach Anspruch 21, dadurch gekennzeichnet, dass der Roboterprogrammcode redefiniert (407) und zum Herunterladen evaluiert werden kann.
  29. Computerlesbares Medium nach Anspruch 22, bei dem die Routine zum automatischen Erzeugen (404) wenigstens eines Roboterpfads aufweist: eine Routine zum automatischen Erzeugen wenigstens eines Pfads für wenigstens einen importierten Roboter basierend auf den definierten Parametern, und eine Routine zum Erzeugen eines Roboterprogramms für die Roboter, die in die virtuelle Roboterzelle importiert sind.
  30. Computerlesbares Medium nach Anspruch 20, bei dem die Routine zum Simulieren (405) des wenigstens einen Roboterpfads aufweist: eine Routine für eine Computersimulation eines Verhaltens der mehreren interagierenden Roboter, und eine Routine für eine Anwenderredefinition der Parameter zum Ändern des computersimulierten Verhaltens.
  31. Computerlesbares Medium nach Anspruch 21, dadurch gekennzeichnet, dass die Routine zum Evaluieren der Simulation (406) ein Verifizieren des Roboterprogrammcodes in einer Computersimulationsumgebung und ein Redefinieren der Parameter (407) zum Reprogrammieren erleichtert.
  32. Computerlesbares Medium nach Anspruch 21, das Erzeugen wenigstens eines Robotersteuerungscodes aufweist.
DE602005006126T 2004-06-15 2005-06-15 Verfahren und system zur off-line-programmierung von mehreren interagierenden robotern Active DE602005006126T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US57926304P 2004-06-15 2004-06-15
US579263P 2004-06-15
PCT/EP2005/006436 WO2005124486A2 (en) 2004-06-15 2005-06-15 Method and system for off-line programming of multiple interacting robots

Publications (2)

Publication Number Publication Date
DE602005006126D1 DE602005006126D1 (de) 2008-05-29
DE602005006126T2 true DE602005006126T2 (de) 2009-07-02

Family

ID=34970248

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005006126T Active DE602005006126T2 (de) 2004-06-15 2005-06-15 Verfahren und system zur off-line-programmierung von mehreren interagierenden robotern

Country Status (7)

Country Link
US (1) US9104197B2 (de)
EP (1) EP1756684B1 (de)
JP (1) JP2008502488A (de)
AT (1) ATE392656T1 (de)
DE (1) DE602005006126T2 (de)
ES (1) ES2306161T3 (de)
WO (1) WO2005124486A2 (de)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112008003963B4 (de) * 2008-08-12 2016-11-24 Abb Technology Ltd. System und Verfahren zur Off-line-Programmierung eines Industrieroboters
DE102017102260B4 (de) 2016-02-12 2020-07-09 Fanuc Corporation Roboterprogrammiervorrichtung zum Lehren eines Roboterprogramms
DE102018215057B4 (de) * 2017-09-12 2020-12-10 Fanuc Corporation Maschinelles-Lernen-Vorrichtung, Robotersystem und maschinelles-Lernen-Verfahren
DE102019134664A1 (de) * 2019-12-17 2021-06-17 Franka Emika Gmbh Konfigurieren eines Robotermanipulators beim Aufstellen
DE102020127508B4 (de) 2019-10-24 2022-09-08 Nvidia Corporation Posenverfolgung von Objekten in der Hand
DE102021125628B3 (de) 2021-10-04 2022-10-13 Physik Instrumente (PI) GmbH & Co KG Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken
DE102019118202B4 (de) 2018-07-17 2022-11-03 Fanuc Corporation Robotersystem

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4159577B2 (ja) * 2005-12-13 2008-10-01 ファナック株式会社 複数のロボット間のインターロック自動設定装置及び自動設定方法
FR2896716B1 (fr) * 2006-01-31 2009-06-26 Abb Mc Soc Par Actions Simplif Procede de pilotage d'une station de travail robotisee et station de travail robotisee correspondante
JP2009119589A (ja) * 2007-11-19 2009-06-04 Yaskawa Electric Corp ロボットシミュレータ
CN102216037B (zh) * 2008-11-19 2014-06-18 Abb技术有限公司 用于优化工业机器人的编程移动路径的方法和装置
US8386080B2 (en) * 2009-09-15 2013-02-26 Harris Corporation Robotic apparatus implementing collision avoidance scheme and associated methods
DE102009050646A1 (de) * 2009-10-26 2011-04-28 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern einer Mehrmaschinenanordnung
TWI402641B (zh) * 2009-12-04 2013-07-21 Ind Tech Res Inst 聯結多系統達成多軸同步插值裝置與方法
DE102010013923A1 (de) * 2010-04-01 2011-10-06 Wittenstein Ag Autarkes Manipulatorelement
DE102010052253B4 (de) * 2010-11-23 2019-03-21 Kuka Deutschland Gmbh Verfahren und Steuermittel zur Steuerung einer Roboteranordnung
EP2479630A1 (de) * 2011-01-25 2012-07-25 Siemens Aktiengesellschaft Verfahren zur kollisionsfreien Überführung einer Anlage aus einem Scheinausmodus in einen Betriebsmodus
US9956042B2 (en) 2012-01-13 2018-05-01 Vanderbilt University Systems and methods for robot-assisted transurethral exploration and intervention
US9539726B2 (en) 2012-04-20 2017-01-10 Vanderbilt University Systems and methods for safe compliant insertion and hybrid force/motion telemanipulation of continuum robots
US9687303B2 (en) 2012-04-20 2017-06-27 Vanderbilt University Dexterous wrists for surgical intervention
US9549720B2 (en) 2012-04-20 2017-01-24 Vanderbilt University Robotic device for establishing access channel
US9333650B2 (en) 2012-05-11 2016-05-10 Vanderbilt University Method and system for contact detection and contact localization along continuum robots
US20130338974A1 (en) * 2012-06-15 2013-12-19 Kevin Kochman System and method for efficiently importing objects into a computer-aided design program
FR2992443B1 (fr) * 2012-06-20 2014-08-08 Univ Blaise Pascal Clermont Ii Platerforme de simulation pour la validation d'une architecture logicielle et materielle d'un robot
EP2875914A1 (de) * 2012-07-20 2015-05-27 Kabushiki Kaisha Yaskawa Denki Robotersimulator roboterlehrvorrichtung und roboterlehrverfahren
JP6015282B2 (ja) * 2012-09-21 2016-10-26 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
US10360316B2 (en) * 2012-12-21 2019-07-23 Rockwell Automation Technologies, Inc. Integration of simulation of a machine for industrial automation
US9649765B2 (en) 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
JP5850004B2 (ja) * 2013-08-09 2016-02-03 株式会社安川電機 ロボット制御装置及びロボット制御方法
JP5892132B2 (ja) * 2013-09-13 2016-03-23 株式会社安川電機 制御装置及びロボットシステム
US9387589B2 (en) * 2014-02-25 2016-07-12 GM Global Technology Operations LLC Visual debugging of robotic tasks
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US9555545B2 (en) * 2014-05-21 2017-01-31 Bot & Dolly, Llc Systems and methods for time-based parallel robotic operation
US10279470B2 (en) * 2014-06-12 2019-05-07 Play-i, Inc. System and method for facilitating program sharing
US9283678B2 (en) * 2014-07-16 2016-03-15 Google Inc. Virtual safety cages for robotic devices
US9815201B2 (en) 2014-07-31 2017-11-14 Siemens Industry Software Limited Method and apparatus for industrial robotic energy saving optimization using fly-by
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US9457469B2 (en) 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
GB201509341D0 (en) * 2015-05-29 2015-07-15 Cambridge Medical Robotics Ltd Characterising robot environments
DE102015008188B3 (de) * 2015-06-25 2016-06-16 Kuka Roboter Gmbh Abfahren einer vorgegebenen Bahn mit einem Roboter
JP6576255B2 (ja) * 2016-01-25 2019-09-18 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
CN106141472A (zh) * 2016-07-05 2016-11-23 纳博特南京科技有限公司 一种双机器人双边对称焊接控制方法
JP6721785B2 (ja) * 2016-09-15 2020-07-15 グーグル エルエルシー ロボット操作のための深層強化学習
WO2018102718A1 (en) 2016-12-02 2018-06-07 Vanderbilt University Steerable endoscope with continuum manipulator
JP6998660B2 (ja) 2017-02-21 2022-01-18 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
WO2019055701A1 (en) 2017-09-13 2019-03-21 Vanderbilt University MULTI-SCALE CONTINUUM MOVEMENT ROBOTS BY BALANCING MODULATION
US10676022B2 (en) 2017-12-27 2020-06-09 X Development Llc Visually indicating vehicle caution regions
WO2019130543A1 (ja) * 2017-12-28 2019-07-04 株式会社Fuji 情報提供装置、情報提供方法及びプログラム
JP7065886B2 (ja) 2017-12-28 2022-05-12 株式会社Fuji 情報提供装置、情報提供方法及びプログラム
JP6773712B2 (ja) * 2018-03-27 2020-10-21 ファナック株式会社 ロボット加工システム
CN108544495B (zh) * 2018-06-19 2021-05-11 广东工业大学 一种多焊接机器人的焊接路径规划方法、系统及设备
EP3831544A4 (de) * 2018-08-21 2022-03-30 Siemens Aktiengesellschaft Verfahren, vorrichtung und system zur korrektur von offline-programmierprogrammen, medium und endgerät
EP3613545A1 (de) * 2018-08-24 2020-02-26 Siemens Aktiengesellschaft Simulationsunterstützte planung von bewegungen zum anheben schwerer objekte
WO2020141372A1 (en) * 2018-12-31 2020-07-09 Abb Schweiz Ag Method and system for detecting anomalies in a robotic system
US11110606B2 (en) * 2019-01-02 2021-09-07 The Boeing Company Coordinating work within a multi-robot cell
US11413751B2 (en) 2019-02-11 2022-08-16 Hypertherm, Inc. Motion distribution in robotic systems
CN109968358B (zh) * 2019-03-28 2021-04-09 北京工业大学 一种考虑运动平稳性的冗余机器人全关节避障轨迹优化方法
CN109849019B (zh) * 2019-04-04 2021-02-05 北京卫星制造厂有限公司 一种回转类结构件的多机器人加工方法
GB2584608B (en) * 2019-05-01 2021-09-15 Arrival Ltd Robot motion optimization system and method
CN110124941B (zh) * 2019-05-14 2023-11-03 郑州大学 用于电池模组涂胶的智能快速编程平台及其编程方法
US11745345B2 (en) 2019-08-30 2023-09-05 Intrinsic Innovation Llc Planning by work volumes to avoid conflicts
US11787048B2 (en) 2019-08-30 2023-10-17 Intrinsic Innovation Llc Robot planning from process definition graph
WO2021041938A1 (en) 2019-08-30 2021-03-04 X Development Multi-objective robot path planning
US11890758B2 (en) 2019-08-30 2024-02-06 Intrinsic Innovation Llc Robot planning from process definition graph
US11747787B2 (en) 2019-08-30 2023-09-05 Intrinsic Innovation Llc Combining transformers for robotics planning
WO2021041960A1 (en) 2019-08-30 2021-03-04 X Development Llc Splitting transformers for robotics planning
JP6819766B1 (ja) * 2019-11-27 2021-01-27 株式会社安川電機 シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
TW202146189A (zh) 2020-01-22 2021-12-16 美商即時機器人股份有限公司 於多機器人操作環境中之機器人之建置
CN111300417B (zh) * 2020-03-12 2021-12-10 福建永越智能科技股份有限公司 焊接机器人的焊接路径控制方法及装置
WO2021228382A1 (en) * 2020-05-13 2021-11-18 Abb Schweiz Ag Policy-restricted execution of a robot program with movement instructions
CN113021348B (zh) * 2021-03-23 2021-10-15 深圳群宾精密工业有限公司 一种应用于不同机器人之间点位高精度转换的方法
WO2023037550A1 (ja) * 2021-09-13 2023-03-16 東京ロボティクス株式会社 ロボット、ロボットシステム、制御方法及びプログラム
CN113741352B (zh) * 2021-09-22 2023-01-06 陕西法士特齿轮有限责任公司 一种数控自适应控制加工方法、系统、设备及其存储介质
CN115268370A (zh) * 2022-07-19 2022-11-01 中航沈飞民用飞机有限责任公司 一种自动钻铆以数控代码还原仿真过程的方法

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590578A (en) * 1983-07-11 1986-05-20 United Technologies Corporation Off-line programmable robot
JPH0789287B2 (ja) * 1985-11-07 1995-09-27 三菱電機株式会社 ロボットのプログラミング方法
US4998050A (en) * 1988-06-13 1991-03-05 Nissan Motor Co., Ltd. System and method for teaching robots
JP2514490B2 (ja) * 1991-07-05 1996-07-10 株式会社ダイヘン 産業用ロボットの連動手動操作による教示制御方法
DE69216167T2 (de) * 1991-07-06 1997-07-10 Daihen Corp Gerät zur Steuerung eines Industrieroboters zur Durchführung koordinierter Arbeitsvorgänge unter Verwendung eines Playbackteachingverfahrens und dies-bezügliches Verfahren
JPH0615589A (ja) * 1992-07-03 1994-01-25 Daihen Corp 産業用ロボット制御装置
JP3306781B2 (ja) * 1992-12-31 2002-07-24 株式会社ダイヘン 産業用ロボットの手動操作による教示制御装置および教示方法
JPH07168617A (ja) * 1993-06-25 1995-07-04 Matsushita Electric Works Ltd ロボットのオフライン教示方法
JP3823324B2 (ja) * 1994-03-23 2006-09-20 株式会社安川電機 作業機械の制御装置
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
JP3406080B2 (ja) * 1994-08-24 2003-05-12 ファナック株式会社 溶接ロボットシステムにおける溶接装置の割当使用方法
US5798627A (en) * 1995-01-04 1998-08-25 Gilliland; Malcolm T. Method for simultaneous operation of robot welders
JP2812894B2 (ja) * 1995-04-25 1998-10-22 本田技研工業株式会社 溶接ラインシステム
JPH1044074A (ja) * 1996-07-30 1998-02-17 Nippon Telegr & Teleph Corp <Ntt> マルチ作業方法及び装置
JPH1083208A (ja) * 1996-09-05 1998-03-31 Matsushita Electric Ind Co Ltd ロボット間相対位置演算機構
US6181983B1 (en) 1997-06-20 2001-01-30 Deutsches Zentrum f{umlaut over (u)}r Luft-und Raumfahrt e.v. Method of command control for a robot manipulator
US6445964B1 (en) * 1997-08-04 2002-09-03 Harris Corporation Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
JPH1177569A (ja) * 1997-09-10 1999-03-23 Honda Motor Co Ltd オフラインティーチング装置
JPH11134017A (ja) * 1997-10-27 1999-05-21 Honda Motor Co Ltd オフラインティーチング方法
US6157873A (en) * 1998-04-09 2000-12-05 Motoman, Inc. Robot programming system and method
US6470301B1 (en) * 1999-10-08 2002-10-22 Dassault Systemes Optimization tool for assembly workcell layout
CA2323114C (en) * 1999-11-18 2007-12-11 Honda Giken Kogyo Kabushiki Kaisha Apparatus for assembling floor of vehicle
DE10032096A1 (de) * 2000-07-01 2002-01-24 Kuka Roboter Gmbh Geräteverbund und Steuerschrank für einen solchen
KR100345150B1 (ko) * 2000-09-29 2002-07-24 현대자동차주식회사 레이저 측정기를 이용한 로봇 위치 보정 방법
US7702491B2 (en) * 2000-09-29 2010-04-20 Ford Global Technologies, Llc Method of part flow model for programmable logic controller logical verification system
DE10050481B4 (de) * 2000-10-12 2015-08-06 Motoman Robotec Gmbh System aus kooperierenden Robotern und Verfahren zu deren Steuerung
JP2002172575A (ja) * 2000-12-07 2002-06-18 Fanuc Ltd 教示装置
JP2001353676A (ja) * 2001-04-27 2001-12-25 Matsushita Electric Ind Co Ltd ロボット装置
JP2003103491A (ja) * 2001-09-28 2003-04-08 Honda Motor Co Ltd ロボットの相互干渉検証方法および相互干渉表示パターン
JP2003117863A (ja) * 2001-10-16 2003-04-23 Fanuc Ltd ロボットシミュレーション装置
JP3577028B2 (ja) * 2001-11-07 2004-10-13 川崎重工業株式会社 ロボットの協調制御システム
JP3673749B2 (ja) * 2001-11-12 2005-07-20 ファナック株式会社 シミュレーション装置
US7114157B2 (en) * 2001-11-27 2006-09-26 Kuka Roboter Gmbh System controlling exclusive access by control programs to system resources
US6812665B2 (en) * 2002-04-19 2004-11-02 Abb Ab In-process relative robot workcell calibration
US6678582B2 (en) * 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
JP2004160588A (ja) * 2002-11-12 2004-06-10 Nissan Motor Co Ltd 複数ロボットの干渉領域検出方法およびそのプログラム
US20060081175A1 (en) * 2003-02-21 2006-04-20 Bansei Nagase Coating system for protective layer forming material
SE0303145D0 (sv) * 2003-11-23 2003-11-23 Abb Research Ltd Method for optimising the performance of a robot
JP2005334945A (ja) * 2004-05-27 2005-12-08 Fanuc Ltd スポット溶接装置
DE102004026814A1 (de) * 2004-06-02 2005-12-29 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
JP2006099474A (ja) * 2004-09-29 2006-04-13 Fanuc Ltd ロボットの軌跡制御方法
JP2006187826A (ja) * 2005-01-05 2006-07-20 Kawasaki Heavy Ind Ltd ロボットコントローラ
GB0513899D0 (en) * 2005-07-06 2005-08-10 Airbus Uk Ltd Program-controlled process

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112008003963B4 (de) * 2008-08-12 2016-11-24 Abb Technology Ltd. System und Verfahren zur Off-line-Programmierung eines Industrieroboters
DE102017102260B4 (de) 2016-02-12 2020-07-09 Fanuc Corporation Roboterprogrammiervorrichtung zum Lehren eines Roboterprogramms
DE102018215057B4 (de) * 2017-09-12 2020-12-10 Fanuc Corporation Maschinelles-Lernen-Vorrichtung, Robotersystem und maschinelles-Lernen-Verfahren
DE102019118202B4 (de) 2018-07-17 2022-11-03 Fanuc Corporation Robotersystem
DE102020127508B4 (de) 2019-10-24 2022-09-08 Nvidia Corporation Posenverfolgung von Objekten in der Hand
DE102019134664A1 (de) * 2019-12-17 2021-06-17 Franka Emika Gmbh Konfigurieren eines Robotermanipulators beim Aufstellen
DE102019134664B4 (de) 2019-12-17 2021-07-29 Franka Emika Gmbh Konfigurieren eines Robotermanipulators beim Aufstellen
DE102021125628B3 (de) 2021-10-04 2022-10-13 Physik Instrumente (PI) GmbH & Co KG Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken

Also Published As

Publication number Publication date
EP1756684A2 (de) 2007-02-28
ES2306161T3 (es) 2008-11-01
US20080114492A1 (en) 2008-05-15
WO2005124486A2 (en) 2005-12-29
JP2008502488A (ja) 2008-01-31
EP1756684B1 (de) 2008-04-16
US9104197B2 (en) 2015-08-11
ATE392656T1 (de) 2008-05-15
DE602005006126D1 (de) 2008-05-29
WO2005124486A3 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
DE602005006126T2 (de) Verfahren und system zur off-line-programmierung von mehreren interagierenden robotern
US9390203B2 (en) Method and system for off-line programming of multiple interacting robots
EP1447770B1 (de) Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102017102260B4 (de) Roboterprogrammiervorrichtung zum Lehren eines Roboterprogramms
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
DE102018107864B4 (de) Offline-Programmiervorrichtung und -verfahren mit der Funktion zur Erzeugung eines Programms zur Detektion einer Werkstückposition mittels eines Kontaktsensors
DE102017124502B4 (de) Simulationsvorrichung und Simulationsverfahren, die eine Betriebssimulation eines Robotersystems ausführen, und Aufzeichnungsmedium, das ein Computerprogramm aufzeichnet
DE10352815B4 (de) Simulationsverfahren für eine Bearbeitung eines Werkstücks durch eine Werkzeugmaschine und korrespondierender Rechner
DE102017001131B4 (de) Verfahren und System zum Betreiben eines Roboters
WO2018041476A1 (de) Verfahren und system zum rechnergestützten optimieren eines numerisch gesteuerten bearbeitungsprozesses eines werkstücks
DE112014000700T5 (de) Interferenzprüfgerät
US20210096534A1 (en) Simulation apparatus
DE102019118637A1 (de) Automatische pfadgenerierungsvorrichtung
EP3272468B1 (de) Verfahren und vorrichtung zum steuern einer roboterbewegung eines roboters anhand einer zweiten trajektorie
DE102004019653B4 (de) Simulationsvorrichtung
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
WO2005005082A2 (de) Verfahren und vorrichtung zum fräsen von freiformflächen
Chryssolouris et al. A novel virtual experimentation approach to planning and training for manufacturing processes--the virtual machine shop
DE102019105820A1 (de) Verfahren, System sowie nichtflüchtiges Speichermedium
DE112022000439T5 (de) Robotersteuerungsvorrichtung, Robotersteuerungssystem und Computerprogramm
DE102007007601A1 (de) Vorrichtung zur Herstellung eines Steuerprogramms aus Funktionsmodulen, mehrachsige Maschine, Verfahren und graphische Benutzerschnittstelle
DE112021007790T5 (de) Simulationsgerät
DE112021000506T5 (de) Bewegungsbahnaufzeichnungsvorrichtung
DE102020103885A1 (de) Verfahren zur Steuerung mindestens einer Bearbeitungsvorrichtung durch einen Nutzer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition