DE102022203406A1 - Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür - Google Patents

Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür Download PDF

Info

Publication number
DE102022203406A1
DE102022203406A1 DE102022203406.6A DE102022203406A DE102022203406A1 DE 102022203406 A1 DE102022203406 A1 DE 102022203406A1 DE 102022203406 A DE102022203406 A DE 102022203406A DE 102022203406 A1 DE102022203406 A1 DE 102022203406A1
Authority
DE
Germany
Prior art keywords
robot
indication
selection
program
programming
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.)
Pending
Application number
DE102022203406.6A
Other languages
English (en)
Inventor
Shashank Sharma
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.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
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 KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Priority to DE102022203406.6A priority Critical patent/DE102022203406A1/de
Priority to PCT/EP2023/055387 priority patent/WO2023194007A1/de
Publication of DE102022203406A1 publication Critical patent/DE102022203406A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40397Programming language for robots, universal, user oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

Ein Verfahren zum Erstellen eines Programms zur Durchführung einer Roboterapplikation, die mehrere Aktionen eines ersten Roboters (1) umfasst, umfasst die Schritte: Erfassen (S10) von Programmiereingaben zum Programmieren dieser Aktionen des ersten Roboters; und Erstellen (S20) des Programms auf Basis dieser erfassten Programmiereingaben; wobei zum Erstellen des Programms für unterschiedliche Roboter, insbesondere durch einen Kontext, Eingabenamen einheitlich vorgegeben sind und die Programmiereingaben auf Basis von dem durch die jeweilige Programmiereingabe verwendeten dieser Eingabenamen und dem für diesen verwendeten Eingabenamen durch die jeweilige Programmiereingabe bestimmten Inhalt interpretiert werden, insbesondere mittels JSON-LD; und/oder wenigstens eine der Programmiereingaben wenigstens eine Angabe eines Koordinatenraums, eine Angabe eines Regelverfahrens des ersten Roboters, eine Angabe einer Bahn des ersten Roboters, eine Angabe einer Pose des ersten Roboters, eine Angabe einer Werkzeugaktion des ersten Roboters, und/oder eine Angabe einer Sensorart und/oder -aktion des ersten Roboters umfasst.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und System zum Erstellen eines Programms zur Durchführung einer Roboterapplikation, die mehrere Aktionen, insbesondere Bewegungen, eines ersten Roboters umfasst, insbesondere ein Verfahren und System zur Durchführung der Roboterapplikation, sowie ein Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens.
  • In vielen Roboterapplikationen werden Roboter unterschiedlicher Hersteller eingesetzt, insbesondere Roboter unterschiedlicher Hersteller gemeinsam, alternativ Roboter unterschiedlicher Hersteller oder dergleichen. Dabei müssen diese Roboter jeweils individuell bzw. herstellerspezifisch programmiert werden.
  • Auf der anderen Seite ist beispielsweise für das Internet mit JSON-LD ein(e) kontextbasierte(s) Datenformat bzw. -struktur bekannt, das bzw. die insbesondere als Schnittstelle zwischen Maschinen untereinander geeignet ist.
  • Aufgabe der vorliegenden Erfindung ist es, das Durchführen von Roboterapplikationen bzw. das Erstellen von Programmen hierfür zu verbessern.
  • Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 5 gelöst. Ansprüche 6, 7 stellen ein System bzw. Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
  • Nach einer Ausführung der vorliegenden Erfindung umfasst eine Roboterapplikation mehrere Aktionen eines ersten Roboters.
  • In einer Ausführung umfassen eine oder mehrere dieser Aktionen jeweils eine oder mehrere Bewegungen des ersten Roboters, können insbesondere solche Bewegungen sein. Der erste Roboter und/oder der nachfolgend genannte weitere Roboter weisen in einer Ausführung (jeweils) einen Roboterarm mit wenigstens drei, insbesondere wenigstens sechs Gelenken, in einer Ausführung Drehgelenken, auf.
  • Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Erstellen eines Programms zur Durchführung der Roboterapplikation die Schritte:
    • - Erfassen von Programmiereingaben zum Programmieren der Aktionen des ersten Roboters; und
    • - Erstellen des Programms auf Basis dieser erfassten Programmiereingaben. Nach einer Ausführung der vorliegenden Erfindung sind, insbesondere werden, für unterschiedliche Roboter, insbesondere unterschiedliche Robotertypen und/oder Roboter unterschiedlicher Hersteller, Eingabenamen bzw. Schlüssel bzw. ein Lexikon bzw. Vokabular mit Eingabenamen bzw. Schlüsseln einheitlich vorgegeben, in einer Ausführung durch einen, in einer Ausführung vorgegebenen, Kontext, in einer Weiterbildung mittels JSON-LD oder einem/r ähnlichen Standard bzw. Datenformat bzw. -struktur. Zum bzw. beim Erstellen des Programms werden die Programmiereingaben dann (jeweils) auf Basis von
    • - demjenigen) Eingabenamen von diesen, in einer Ausführung durch den Kontext, einheitlich vorgegebenen Eingabenamen bzw. dieses Lexikons, der durch die jeweilige Programmiereingabe verwendet wird bzw. ist, und
    • - dem für diesen verwendeten Eingabenamen durch die jeweilige Programmiereingabe bestimmten Inhalt, insbesondere ein- oder mehrdimensionalen Wert,
    interpretiert, insbesondere in maschinenlesbare Anweisungen des Programms bzw. für den ersten Roboter umgesetzt, in einer Ausführung mittels JSON-LD oder einem/r ähnlichen Standard bzw. Datenformat bzw. -struktur.
  • Dadurch kann in einer Ausführung die Roboterapplikation vorteilhaft für bzw. mit unterschiedliche(n) Roboter(n) programmiert bzw. durchgeführt werden.
  • Zusätzlich oder alternativ umfassen nach einer Ausführung der vorliegenden Erfindung eine oder mehrere der Programmiereingaben (jeweils)
    • - eine oder mehrere Angaben (je) eines Koordinatenraums (für den ersten Roboter), in einer Weiterbildung eine oder mehrere Auswahlen (jeweils) zwischen einem von mehreren vorgegebenen Koordinatenräumen, in einer Ausführung eines Koordinatenraums für eine Bewegungseingabe und/oder eines Koordinatenraums für eine Pose des ersten Roboters. In einer Ausführung umfassen die vorgegebenen Koordinatenräume, insbesondere für eine Bewegungseingabe und/oder für eine Pose, einen Gelenkkoordinatenraum und/oder einen oder mehrere Arbeitsräume, in einer Weiterbildung einen umgebungsfesten und/oder einen endeffektorfesten und/oder einen werkstückfesten Koordinatenraum; und/oder
    • - eine Angabe eines Regelverfahrens des ersten Roboters, insbesondere eine Auswahl zwischen einem von mehreren vorgegebenen Regelverfahren, die in einer Weiterbildung eine Positionsregelung, Geschwindigkeitsregelung und/oder Kraftregelung, insbesondere Impedanzregelung und/oder Admittanzregelung, umfassen, und/oder eine Parametrierung des, gegebenenfalls ausgewählten, Regelverfahrens; und/oder
    • - eine Angabe einer Bahn des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Bahnarten, die in einer Weiterbildung eine Punkt-zu-Punkt- bzw. PTP-Bahn, eine Kreissegment- bzw. CIRC-Bahn, eine Geraden- bzw. LIN-Bahn, eine Spline- bzw. SPL-Bahn und/oder eine oder mehrere andere Bahnarten umfassen, und/oder eine Parametrierung der, gegebenenfalls ausgewählten, Bahn(art); und/oder
    • - eine Angabe, insbesondere Parametrierung, einer Pose, insbesondere Zielpose, des ersten Roboters, insbesondere unter Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen für die Pose, die in einer Weiterbildung einen Gelenkkoordinatenraum und/oder einen oder mehrere Arbeitsräume, in einer Weiterbildung einen umgebungsfesten und/oder einen endeffektorfesten und/oder einen werkstückfesten Koordinatenraum, umfassen; und/oder
    • - eine Angabe einer Werkzeugaktion des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Werkzeugaktionen und/oder eine Parametrierung der, gegebenenfalls ausgewählten, Werkzeugaktion; und/oder
    • - eine Angabe einer Sensorart und/oder -aktion des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Sensorarten und/oder -aktionen, wobei der Sensor in einer Ausführung ein durch den ersten Roboter geführter Sensor ist.
  • Durch diese Programmiereingaben, insbesondere ein entsprechendes Lexikon bzw. einen entsprechenden Kontext, das bzw. der diese vorsieht bzw. zur Verfügung stellt, können Roboterapplikationen besonders einfach, variabel und/oder zuverlässig programmiert bzw. durchgeführt werden.
  • In einer Ausführung umfasst die Roboterapplikation mehrere Aktionen wenigstens eines weiteren, von dem ersten Roboter verschiedenen, Roboters. In einer Weiterbildung umfassen eine oder mehrere dieser Aktionen jeweils eine oder mehrere Bewegungen des weiteren Roboters, können insbesondere solche Bewegungen sein.
  • In einer Ausführung umfasst das Verfahren die Schritte:
    • - Erfassen von Programmiereingaben zum Programmieren dieser Aktionen des weiteren Roboters; und
    • - Erstellen des Programms auf Basis dieser erfassten Programmiereingaben.
  • In einer Ausführung werden zum bzw. beim Erstellen des Programms diese Programmiereingaben zum Programmieren der Aktionen des weiteren Roboters (jeweils) auf Basis von
    • - demjenigen) Eingabenamen von den, in einer Ausführung durch den Kontext, einheitlich vorgegebenen Eingabenamen bzw. des Lexikons, der durch die jeweilige Programmiereingabe verwendet wird bzw. ist, und
    • - dem für diesen verwendeten Eingabenamen durch die jeweilige Programmiereingabe bestimmten Inhalt, insbesondere ein- oder mehrdimensionalen Wert,
    interpretiert, insbesondere in maschinenlesbare Anweisungen des Programms bzw. für den weiteren Roboter umgesetzt, in einer Ausführung mittels JSON-LD oder einem/r ähnlichen Standard bzw. Datenformat bzw. -struktur.
  • Dadurch kann in einer Ausführung die Roboterapplikation vorteilhaft für mehrere unterschiedliche Roboter programmiert bzw. durchgeführt werden.
  • Zusätzlich oder alternativ umfassen in einer Ausführung eine oder mehrere der Programmiereingaben zum Programmieren der Aktionen des weiteren Roboters (jeweils)
    • - eine oder mehrere Angaben (je) eines Koordinatenraums (für den weiteren Roboter), in einer Weiterbildung eine oder mehrere Auswahlen (jeweils) zwischen einem von mehreren vorgegebenen Koordinatenräumen, in einer Ausführung eines Koordinatenraums für eine Bewegungseingabe und/oder eines Koordinatenraums für eine Pose des weiteren Roboters. In einer Ausführung umfassen die vorgegebenen Koordinatenräume, insbesondere für eine Bewegungseingabe und/oder für eine Pose, einen Gelenkkoordinatenraum und/oder einen oder mehrere Arbeitsräume, in einer Weiterbildung einen umgebungsfesten und/oder einen endeffektorfesten und/oder einen werkstückfesten Koordinatenraum; und/oder
    • - eine Angabe eines Regelverfahrens des weiteren Roboters, insbesondere eine Auswahl zwischen einem von mehreren vorgegebenen Regelverfahren, die in einer Weiterbildung eine Positionsregelung, Geschwindigkeitsregelung und/oder Kraftregelung, insbesondere Impedanzregelung und/oder Admittanzregelung, umfassen, und/oder eine Parametrierung des, gegebenenfalls ausgewählten, Regelverfahrens; und/oder
    • - eine Angabe einer Bahn des weiteren Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Bahnarten, die in einer Weiterbildung eine Punkt-zu-Punkt- bzw. PTP-Bahn, eine Kreissegment- bzw. CIRC-Bahn, eine Geraden- bzw. LIN-Bahn, eine Spline- bzw. SPL-Bahn und/oder eine oder mehrere andere Bahnarten umfassen, und/oder eine Parametrierung der, gegebenenfalls ausgewählten, Bahn(art); und/oder
    • - eine Angabe, insbesondere Parametrierung, einer Pose, insbesondere Zielpose, des weiteren Roboters, insbesondere unter Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen für die Pose, die in einer Weiterbildung einen Gelenkkoordinatenraum und/oder einen oder mehrere Arbeitsräume, in einer Weiterbildung einen umgebungsfesten und/oder einen endeffektorfesten und/oder einen werkstückfesten Koordinatenraum, umfassen; und/oder
    • - eine Angabe einer Werkzeugaktion des weiteren Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Werkzeugaktionen und/oder eine Parametrierung der, gegebenenfalls ausgewählten, Werkzeugaktion; und/oder
    • - eine Angabe einer Sensorart und/oder -aktion des weiteren Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Sensorarten und/oder -aktionen, wobei der Sensor in einer Ausführung ein durch den ersten Roboter geführter Sensor ist.
  • Durch diese Programmiereingaben, insbesondere ein entsprechendes Lexikon bzw. einen entsprechenden Kontext, das bzw. der diese vorsieht bzw. zur Verfügung stellt, können Roboterapplikationen für mehrere unterschiedliche Roboter besonders einfach, variabel und/oder zuverlässig programmiert bzw. durchgeführt werden.
  • In einer Ausführung sind, in einer Weiterbildung werden, die Eingabenamen durch Angabe eines Kontexts, in einer Ausführung durch Angabe eines Typs innerhalb eines angegebenen Kontextes und/oder mittels JSON-LD, einheitlich vorgegeben.
  • Dadurch kann in einer Ausführung vorteilhaft wahlweise bzw. alternativ auf unterschiedliche Kontexte bzw. unterschiedliche Typen innerhalb eines angegebenen Kontextes zugegriffen bzw. mit JSON-LD ein global verfügbarer/s und wohlstrukturierter/s Standard bzw. Datenformat genutzt werden. Damit können in einer Ausführung Roboterapplikationen besonders variabel und/oder zuverlässig programmiert bzw. durchgeführt werden.
  • In einer Ausführung werden beim Erstellen des Programms eine oder mehrere der programmierten Aktionen mithilfe einer Zustandsmaschine implementiert.
  • Dadurch können in einer Ausführung vorteilhaft Verzweigungen („IF...THEN...“, „IF... ELSE...“ etc.) implementiert werden.
  • Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zur Durchführung der Roboterapplikation die Schritte:
    • - Erstellen eines Programms nach einem hier beschriebenen Verfahren; und
    • - Ausführen dieses erstellten Programms mithilfe des ersten Roboters und gegebenenfalls des weiteren Roboters.
  • Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Erstellen des Programms zur Durchführung der Roboterapplikation, insbesondere ein System zur Durchführung der Roboterapplikation, hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
    • - Mittel zum Erfassen von Programmiereingaben zum Programmieren dieser Aktionen des ersten Roboters; und
    • - Mittel zum Erstellen des Programms auf Basis dieser erfassten Programmiereingaben.
  • Nach einer Ausführung der vorliegenden Erfindung sind zum Erstellen des Programms für unterschiedliche Roboter, in einer Ausführung durch einen Kontext, Eingabenamen einheitlich vorgegeben und das Mittel zum Erstellen des Programms weist Mittel zum Interpretieren der Programmiereingaben auf Basis von dem durch die jeweilige Programmiereingabe verwendeten Eingabenamen und dem für diesen verwendeten Eingabenamen durch die jeweilige Programmiereingabe bestimmten Inhalt, insbesondere mittels JSON-LD, auf.
  • Zusätzlich oder alternativ umfasst nach einer Ausführung der vorliegenden Erfindung wenigstens eine der Programmiereingaben wenigstens eine Angabe eines Koordinatenraums (für den ersten Roboter), insbesondere wenigstens eine Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen, eine Angabe eines Regelverfahrens des ersten Roboters, insbesondere eine Auswahl zwischen einem von mehreren vorgegebenen Regelverfahren, eine Angabe einer Bahn des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Bahnarten, eine Angabe einer Pose des ersten Roboters, insbesondere unter Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen für die Pose, eine Angabe einer Werkzeugaktion des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Werkzeugaktionen, und/oder eine Angabe einer Sensorart und/oder -aktion des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Sensorarten und/oder -aktionen.
  • In einer Ausführung umfasst die Roboterapplikation mehrere Aktionen, insbesondere Bewegungen, wenigstens eines weiteren, von dem ersten Roboter verschiedenen, Roboters und das System bzw. seine Mittel umfassen:
    • - Mittel zum Erfassen von Programmiereingaben zum Programmieren dieser Aktionen des weiteren Roboters; und
    • - Mittel zum Erstellen des Programms auf Basis dieser erfassten Programmiereingaben.
  • In einer Ausführung weist das Mittel zum Erstellen des Programms Mittel zum Interpretieren dieser Programmiereingaben zum Programmieren der Aktionen des weiteren Roboters auf Basis von dem durch die jeweilige Programmiereingabe verwendeten der, in einer Ausführung durch den Kontext, einheitlich vorgegebenen Eingabenamen und dem für diese verwendeten Eingabenamen durch die jeweilige Programmiereingabe bestimmten Inhalt, insbesondere mittels JSON-LD, auf.
  • Zusätzlich oder alternativ umfasst nach einer Ausführung der vorliegenden Erfindung wenigstens eine der Programmiereingaben zum Programmieren der Aktionen des weiteren Roboters wenigstens eine Angabe eines Koordinatenraums (für den weiteren Roboter), insbesondere wenigstens eine Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen, eine Angabe eines Regelverfahrens des weiteren Roboters, insbesondere eine Auswahl zwischen einem von mehreren vorgegebenen Regelverfahren, eine Angabe einer Bahn des weiteren Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Bahnarten, eine Angabe einer Pose des weiteren Roboters, insbesondere unter Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen für die Pose, eine Angabe einer Werkzeugaktion des weiteren Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Werkzeugaktionen, und/oder eine Angabe einer Sensorart und/oder -aktion des weiteren Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Sensorarten und/oder -aktionen.
  • In einer Ausführung umfasst das System bzw. seine Mittel
    • - Mittel zum einheitlichen Vorgeben der Eingabenamen durch Angabe eines Kontexts, insbesondere durch Angabe eines Typs innerhalb eines angegebenen Kontextes und/oder mittels JSON-LD; und/oder
    • - Mittel zum Implementieren wenigstens einer der programmierten Aktionen beim Erstellen des Programms mithilfe einer Zustandsmaschine; und/oder
    • - Mittel zum Ausführen des erstellten Programms mithilfe des ersten Roboters und gegebenenfalls des weiteren Roboters.
  • Ein System und/oder ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere das Programm erstellen bzw. ausführen kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm bzw. mit darauf gespeicherten Anweisungen aufweisen, insbesondere sein. In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System bzw. einen Computer oder eine Anordnung von mehreren Computern, das System bzw. den bzw. die Computer, dazu, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet.
  • In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. seine Mittel.
  • In einer Ausführung weist das System den ersten Roboter und gegebenenfalls auch den weiteren Roboter auf.
  • Die vorliegende Erfindung ist mit Bezug auf JSON-LD erläutert, da dies ein(e) bekannte(r/s) und vorteilhafte(r/s) Standard bzw. Datenformat bzw. -struktur ist, sie ist jedoch in keiner Weise hierauf beschränkt.
  • Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
    • 1: ein System zur Durchführung einer Roboterapplikation nach einer Ausführung der vorliegenden Erfindung;
    • 2: ein Verfahren zur Durchführung der Roboterapplikation nach einer Ausführung der vorliegenden Erfindung; und
    • 3, 4: Programmiereingaben-Strukturen.
  • 1 zeigt ein System zur Durchführung einer Roboterapplikation mithilfe eines ersten Roboters 1 und in einer Weiterbildung eines optionalen weiteren Roboters 2, die durch eine zentrale oder dezentrale bzw. verteilte Steuerung 3 gesteuert werden, welche ein erstelltes Programm durchführt und hierzu ein Mittel 3.1 zum Erstellen des Programms aufweist, das wie erwähnt auch dezentral, insbesondere durch einen eigenen Computer mit darauf ablaufender Software, eine Cloud oder dergleichen implementiert sein kann, 2 ein Verfahren zur Durchführung der Roboterapplikation.
  • In einem ersten Schritt S10 werden Programmiereingaben zum Programmieren von Aktionen des ersten und gegebenenfalls auch des weiteren Roboters erfasst.
  • In einem zweiten Schritt S20 wird auf Basis dieser erfassten Programmiereingaben ein Programm zur Durchführung einer Roboterapplikation erstellt.
  • In einem dritten Schritt S30 wird das erstellte Programm mithilfe des ersten Roboters und gegebenenfalls auch des weiteren Roboters ausgeführt.
  • 3, 4 illustrieren hierzu Programmiereingaben-Strukturen.
  • Die Programmeingaben können exemplarisch folgendes umfassen:
    Figure DE102022203406A1_0001
    Figure DE102022203406A1_0002
    bzw.
    Figure DE102022203406A1_0003
    bzw.
    Figure DE102022203406A1_0004
    oder dergleichen.
  • Durch „@context“: „https://schema.org“ wird ein Kontext angegeben, wobei schema.org exemplarisch eine einheitliche Ontologie für die Strukturierung von Daten auf Websites auf der Basis von bereits bestehenden Auszeichnungssprachen zur Verfügung stellt, durch „@type“: „Robot Application“ bzw. „@type“: „Roboterapplikation“ ein Typ innerhalb des Kontextes, der gegebenenfalls generiert bzw. modifiziert, insbesondere erweitert werden kann, insbesondere so, dass er hier genannte Programmiereingaben zur Verfügung stellt.
  • Wie aus 3, 4 erkennbar, können Programmeingaben Bewegungsbefehle bzw. - kommandos („Motion Command“) mit einer Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen („K.raum“ bzw. „Domain“: „Gelenk“ bzw. „Joint“, „kartesisch“ bzw. „Cartesian“), einer Auswahl zwischen einem von mehreren vorgegebenen Regelverfahren („Algorithmus“ bzw. „Range/Algorithm“: „Position“, „Geschwindigkeit“ bzw. „Velocity“, „Kraft-Impedanz“ bzw. „Force-Impedance“, „Kraft-Admittanz“ bzw. „Force-Admittance“), einer Parametrierung des (ausgewählten) Regelverfahren („Steifigkeit“ bzw. „Stifness“, „Dämpfung“ bzw. „Damping“, „Kraft“ bzw. „Force“), einer Auswahl zwischen einer von mehreren vorgegebenen Bahnarten („Trajektorie“ bzw. „Trajectory“: „PTP“, „CIRC“, „LIN“, SPL", „gesampeltes Bahnprofil“ bzw. „Sampled Path Profile“, „MISC“) bzw. deren Parametrierung, Roboterposen („Roboterpose“ bzw. „Robot Pose“), insbesondere unter Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen („Gelenk“ bzw. „Joint“, „kartesisch“ bzw. „Cartesian“) für die Pose und deren Parametrierung („Gelenkpose“ bzw. „Joint pose“, „EE Frame“, „Redundanz“ bzw. „Redundancy“), Werkzeugaktionen („Greifer“ bzw. „Gripper“: „Aktionen“ bzw. „Actions“) bzw. deren Parametrierung („Offen“ bzw. „Open“, „Geschlossen“ bzw. „Close“), Sensorarten und/oder -aktion („Sensoren“ bzw. „Sensors“: „Kamera“ bzw. „Camera“, „Beschleunigungsmesser“ bzw. „Accelerometer“, „...") und weiteren Elementen („Weitere“ bzw. „Other“) umfassen. Durch die jeweilige Programmiereingabe werden entsprechende Inhalte („Steifigkeit“ bzw. „Stiffness“, „Dämpfung“ bzw. „Damping“, „Kraft“ bzw. „Force“, „EE Frame“, „Redundanz“ bzw. „Redundancy“, „Gelenkpose“ bzw. „Joint Pose“, „Offen“ bzw. „Open“, „Geschlossen“ bzw. „Close“) bestimmt.
  • Wie 4 illustriert, kann beispielsweise als Schritt 3 des Programms ein Bewegungsbefehl erfasst bzw. umgesetzt werden, der eine positionsgeregelte PTP-Bahn im Gelenkwinkelraum zu einer Zielpose umfasst, die im Gelenkwinkelraum durch die Werte „Gelenkpose“ (bzw. „Joint pose“) vorgegeben ist. Dies ist in 4 durch eine Linie mit dem Bezugszeichen 300 angedeutet, welches als „ist vom Typ“ bzw. „is of type“ zu verstehen ist bzw. dies darstellt. Analog sind in 3 das Bezugszeichen 100 als „hat Namen“ bzw. „has Name“ und das Bezugszeichen 200 als „hat nicht“ bzw. „does not have“ zu verstehen bzw. stellen dies dar.
  • Das Datenmodell von JSON-LD stellt eine Erweiterung bzw. Serialisierung des RDF-Modells dar. Somit kann in einer Ausführung die Roboterapplikation in einem RDF-Graphen representiert und dann zu JSON-LD serialisiert werden. Eine RDF-Serialisierung in N-QUADS Serialisierung wäre zum Beispiel:
 _:b0 < http://schema.org/name> "Robot Application 1".
 bzw.
 _:b0 < http://schema.org/name> "Roboterapplikation 1".
  • Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. So wurden vorstehend insbesondere zusätzlich englischsprachige Begriffe angegeben, da diese bei robotischen Anwendungen gebräuchlich(er) sind. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
  • Bezugszeichenliste
  • 1
    erster Roboter
    2
    weiterer Roboter
    3
    Steuerung
    3.1
    Mittel zum Erstellen eines Programms
    100
    „hat Namen“ („has Name“)
    200
    „hat nicht“ („does not have“)
    300
    „ist vom Typ“ („is of type“)

    Claims (7)

    1. Verfahren zum Erstellen eines Programms zur Durchführung einer Roboterapplikation, die mehrere Aktionen, insbesondere Bewegungen, eines ersten Roboters (1) umfasst, mit den Schritten: - Erfassen (S10) von Programmiereingaben zum Programmieren dieser Aktionen des ersten Roboters; und - Erstellen (S20) des Programms auf Basis dieser erfassten Programmiereingaben; wobei zum Erstellen des Programms für unterschiedliche Roboter, insbesondere durch einen Kontext, Eingabenamen einheitlich vorgegeben sind und die Programmiereingaben auf Basis von dem durch die jeweilige Programmiereingabe verwendeten dieser Eingabenamen und dem für diesen verwendeten Eingabenamen durch die jeweilige Programmiereingabe bestimmten Inhalt interpretiert werden, insbesondere mittels JSON-LD; und/oder wenigstens eine der Programmiereingaben wenigstens eine Angabe eines Koordinatenraums, insbesondere wenigstens eine Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen, eine Angabe eines Regelverfahrens des ersten Roboters, insbesondere eine Auswahl zwischen einem von mehreren vorgegebenen Regelverfahren, eine Angabe einer Bahn des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Bahnarten, eine Angabe einer Pose des ersten Roboters, insbesondere unter Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen für die Pose, eine Angabe einer Werkzeugaktion des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Werkzeugaktionen, und/oder eine Angabe einer Sensorart und/oder -aktion des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Sensorarten und/oder -aktionen, umfasst.
    2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Roboterapplikation mehrere Aktionen, insbesondere Bewegungen, wenigstens eines weiteren, von dem ersten Roboter verschiedenen, Roboters (2) umfasst und das Verfahren die Schritte umfasst: - Erfassen von Programmiereingaben zum Programmieren dieser Aktionen des weiteren Roboters; und - Erstellen des Programms auf Basis dieser erfassten Programmiereingaben; wobei diese Programmiereingaben auf Basis von dem durch die jeweilige Programmiereingabe verwendeten der, insbesondere durch den Kontext, einheitlich vorgegebenen Eingabenamen und dem für diesen verwendeten Eingabenamen durch die jeweilige weitere Programmiereingabe bestimmten Inhalt interpretiert werden, insbesondere mittels JSON-LD; und/oder wenigstens eine der Programmiereingaben wenigstens eine Angabe eines Koordinatenraums, insbesondere wenigstens eine Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen, eine Angabe eines Regelverfahrens des weiteren Roboters, insbesondere eine Auswahl zwischen einem von mehreren vorgegebenen Regelverfahren, eine Angabe einer Bahn des weiteren Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Bahnarten, eine Angabe einer Pose des weiteren Roboters, insbesondere unter Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen für die Pose, eine Angabe einer Werkzeugaktion des weiteren Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Werkzeugaktionen, und/oder eine Angabe einer Sensorart und/oder -aktion des weiteren Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Sensorarten und/oder -aktionen, umfasst.
    3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Eingabenamen durch Angabe eines Kontexts, insbesondere durch Angabe eines Typs innerhalb eines angegebenen Kontextes und/oder mittels JSON-LD, einheitlich vorgegeben sind, insbesondere werden.
    4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim Erstellen des Programms wenigstens eine der programmierten Aktionen mithilfe einer Zustandsmaschine implementiert wird.
    5. Verfahren zur Durchführung einer Roboterapplikation, die mehrere Aktionen, insbesondere Bewegungen, eines ersten Roboters umfasst, mit den Schritten: - Erstellen eines Programms nach einem der vorhergehenden Ansprüche; und - Ausführen dieses erstellten Programms mithilfe des ersten Roboters, insbesondere auch mithilfe des weiteren Roboters.
    6. System zum Erstellen eines Programms zur Durchführung einer Roboterapplikation, die mehrere Aktionen, insbesondere Bewegungen, eines ersten Roboters umfasst, insbesondere System zur Durchführung der Roboterapplikation, wobei das System zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder aufweist: - Mittel zum Erfassen von Programmiereingaben zum Programmieren dieser Aktionen des ersten Roboters; und - Mittel zum Erstellen des Programms auf Basis dieser erfassten Programmiereingaben; wobei zum Erstellen des Programms für unterschiedliche Roboter, insbesondere durch einen Kontext, Eingabenamen einheitlich vorgegeben sind und das Mittel zum Erstellen des Programms Mittel zum Interpretieren der Programmiereingaben auf Basis von dem durch die jeweilige Programmiereingabe verwendeten Eingabenamen und dem für diesen verwendeten Eingabenamen durch die jeweilige Programmiereingabe bestimmten Inhalt, insbesondere mittels JSON-LD, aufweist; und/oder wenigstens eine der Programmiereingaben wenigstens eine Angabe eines Koordinatenraums, insbesondere wenigstens eine Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen, eine Angabe eines Regelverfahrens des ersten Roboters, insbesondere eine Auswahl zwischen einem von mehreren vorgegebenen Regelverfahren, eine Angabe einer Bahn des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Bahnarten, eine Angabe einer Pose des ersten Roboters, insbesondere unter Auswahl zwischen einem von mehreren vorgegebenen Koordinatenräumen für die Pose, eine Angabe einer Werkzeugaktion des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Werkzeugaktionen, und/oder eine Angabe einer Sensorart und/oder -aktion des ersten Roboters, insbesondere eine Auswahl zwischen einer von mehreren vorgegebenen Sensorarten und/oder -aktionen, umfassen.
    7. Computerprogramm oder Computerprogrammprodukt, wobei das Computerprogramm oder Computerprogrammprodukt, insbesondere auf einem computerlesbaren und/oder nicht-flüchtigen Speichermedium gespeicherte, Anweisungen enthält, die bei der Ausführung durch einen oder mehrere Computer oder ein System nach Anspruch 6 den oder die Computer oder das System dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 5 durchzuführen.
    DE102022203406.6A 2022-04-06 2022-04-06 Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür Pending DE102022203406A1 (de)

    Priority Applications (2)

    Application Number Priority Date Filing Date Title
    DE102022203406.6A DE102022203406A1 (de) 2022-04-06 2022-04-06 Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür
    PCT/EP2023/055387 WO2023194007A1 (de) 2022-04-06 2023-03-03 Durchführung einer roboterapplikation und erstellen eines programms hierfür

    Applications Claiming Priority (1)

    Application Number Priority Date Filing Date Title
    DE102022203406.6A DE102022203406A1 (de) 2022-04-06 2022-04-06 Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür

    Publications (1)

    Publication Number Publication Date
    DE102022203406A1 true DE102022203406A1 (de) 2023-10-12

    Family

    ID=85556679

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102022203406.6A Pending DE102022203406A1 (de) 2022-04-06 2022-04-06 Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür

    Country Status (2)

    Country Link
    DE (1) DE102022203406A1 (de)
    WO (1) WO2023194007A1 (de)

    Citations (7)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE29605700U1 (de) 1996-03-27 1996-06-05 Siemens AG, 80333 München Vorrichtung zum Übersetzen von eine Werkzeugmaschine, einen Roboter o.dgl. steuernden Programmanweisungen
    DE102015116086A1 (de) 2015-09-23 2017-03-23 Universität Bayreuth Robotersteuerung
    DE102017216093B4 (de) 2017-09-12 2019-05-02 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Parametrierung eines robotischen Manipulators
    US20210129325A1 (en) 2019-10-31 2021-05-06 Automation Anywhere, Inc. Productivity plugin for integration with robotic process automation
    US20210191367A1 (en) 2019-12-20 2021-06-24 UiPath, Inc. System and computer-implemented method for analyzing a robotic process automation (rpa) workflow
    US20220067272A1 (en) 2020-09-01 2022-03-03 UiPath Inc. Robotic Process Automation Systems and Methods Using A Helper Spreadsheet
    DE102017202439B4 (de) 2017-02-15 2022-03-31 Festo Se & Co. Kg Eingabeeinrichtung, Verfahren zur Bereitstellung von Bewegungsbefehlen an einen Aktor und Aktorsystem

    Family Cites Families (2)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    JP2003108220A (ja) * 2001-09-28 2003-04-11 Omron Corp 制御プログラム開発支援方法及び装置
    JP6958884B1 (ja) * 2021-06-15 2021-11-02 ソプラ株式会社 プログラムコード自動生成システム

    Patent Citations (7)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE29605700U1 (de) 1996-03-27 1996-06-05 Siemens AG, 80333 München Vorrichtung zum Übersetzen von eine Werkzeugmaschine, einen Roboter o.dgl. steuernden Programmanweisungen
    DE102015116086A1 (de) 2015-09-23 2017-03-23 Universität Bayreuth Robotersteuerung
    DE102017202439B4 (de) 2017-02-15 2022-03-31 Festo Se & Co. Kg Eingabeeinrichtung, Verfahren zur Bereitstellung von Bewegungsbefehlen an einen Aktor und Aktorsystem
    DE102017216093B4 (de) 2017-09-12 2019-05-02 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Parametrierung eines robotischen Manipulators
    US20210129325A1 (en) 2019-10-31 2021-05-06 Automation Anywhere, Inc. Productivity plugin for integration with robotic process automation
    US20210191367A1 (en) 2019-12-20 2021-06-24 UiPath, Inc. System and computer-implemented method for analyzing a robotic process automation (rpa) workflow
    US20220067272A1 (en) 2020-09-01 2022-03-03 UiPath Inc. Robotic Process Automation Systems and Methods Using A Helper Spreadsheet

    Also Published As

    Publication number Publication date
    WO2023194007A1 (de) 2023-10-12

    Similar Documents

    Publication Publication Date Title
    EP2977149A2 (de) Verfahren und mittel zum auslegen und/oder betreiben eines roboters
    DE112008003963B4 (de) System und Verfahren zur Off-line-Programmierung eines Industrieroboters
    DE102017001131C5 (de) Verfahren und System zum Betreiben eines Roboters
    DE102019206444A1 (de) Maschinelles Lernen einer Objekterkennung mithilfe einer robotergeführten Kamera
    EP3408061A1 (de) Verfahren und system zur bahnplanung eines redundanten roboters
    EP2977148B1 (de) Verfahren und vorrichtung zum steuern eines roboters
    DE102015109646B4 (de) Planen des Greifens eines Roboters in Echtzeit
    EP3471928B1 (de) Konfigurieren und/oder steuern einer roboteranordnung
    DE102019209616A1 (de) Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens eines Roboters
    EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
    DE102022203406A1 (de) Durchführung einer Roboterapplikation und Erstellen eines Programms hierfür
    DE102017216093B4 (de) Verfahren zur Parametrierung eines robotischen Manipulators
    WO2023072630A2 (de) Verfahren und system zum steuern eines lasttragenden roboters sowie zum ermitteln eines parameters der last des roboters
    DE112008003870T5 (de) Verfahren und System zum Steuern eines Industrieroboters in Übereinstimmung mit einem Bewegungssteuerungs-Parametersatz
    DE102019219930B3 (de) Verfahren und System zum Steuern eines Roboters
    DE102019128583B4 (de) Optimierungsmodi für Steuerprogramme eines Robotermanipulators
    DE102017010244A1 (de) Verfahren und Steuermittel zum Steuern einer Roboteranordnung
    DE102017121249A1 (de) Verfahren und System zum Bearbeiten eines Werkstücks
    WO2019224224A1 (de) Verfahren und steuerung zum steuern eines roboters
    EP3810377A1 (de) Verfahren und system zum überführen eines endeffektors eines roboters zwischen einer endeffektorpose und einer weiteren endeffektorpose
    WO2020169302A1 (de) Verfahren und system zum durchführen einer vorgegebenen aufgabe durch einen roboter
    EP3803522B1 (de) Verfahren zum herstellen oder bearbeiten eines produkts sowie steuereinrichtung zum steuern eines produktionssystems
    DE102019002573A1 (de) Informationsverarbeitungsvorrichtung und informationsverarbeitungsverfahren
    DE102021212134B3 (de) Verfahren und System zum Betreiben eines Roboters
    DE102019213676B3 (de) Robotersteuerung

    Legal Events

    Date Code Title Description
    R012 Request for examination validly filed