DE102019205311A1 - Kommunikation zwischen Bediengerät und Robotersteuerung - Google Patents

Kommunikation zwischen Bediengerät und Robotersteuerung Download PDF

Info

Publication number
DE102019205311A1
DE102019205311A1 DE102019205311.4A DE102019205311A DE102019205311A1 DE 102019205311 A1 DE102019205311 A1 DE 102019205311A1 DE 102019205311 A DE102019205311 A DE 102019205311A DE 102019205311 A1 DE102019205311 A1 DE 102019205311A1
Authority
DE
Germany
Prior art keywords
robot
data
robot controller
operating device
http
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.)
Ceased
Application number
DE102019205311.4A
Other languages
English (en)
Inventor
Karsten Schulz
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 DE102019205311.4A priority Critical patent/DE102019205311A1/de
Publication of DE102019205311A1 publication Critical patent/DE102019205311A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/40Remote control systems using repeaters, converters, gateways
    • G08C2201/42Transmitting or receiving remote control signals via a network

Abstract

Nach einem erfindungsgemäßen Verfahren zur, insbesondere webbasierten, Kommunikation zwischen wenigstens einem Bediengerät (20) und wenigstens einer Robotersteuerung (10), insbesondere zur Visualisierung wenigstens einer Roboterapplikation, werden Daten von dem Bediengerät an die Robotersteuerung und/oder von der Robotersteuerung an das Bediengerät mittels eines HTTP-Protokolls übertragen.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und System zur, insbesondere webbasierten, Kommunikation zwischen wenigstens einem Bediengerät und wenigstens einer Robotersteuerung, insbesondere zur Visualisierung einer Roboterapplikation sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.
  • Aufgabe der vorliegenden Erfindung ist es, die Kommunikation zwischen Bediengeräten und Robotersteuerungen zu verbessern.
  • Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 9, 10 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
  • Nach einer Ausführung der vorliegenden Erfindung werden zur, in einer Ausführung webbasierten, Kommunikation zwischen einem oder mehreren Bediengerät(en) und einer oder mehreren Steuerung(en), die (jeweils) einen oder mehrere Roboter steuert bzw. hierzu vorgesehen, insbesondere eingerichtet ist/sind bzw. verwendet wird/werden („Robotersteuerung“), in einer Ausführung zur Visualisierung, insbesondere 3D-Visualisierung, einer oder mehrerer Applikation(en) dieses bzw. dieser Roboter („Roboterapplikation“), Daten von dem (jeweiligen) Bediengerät an die (jeweilige) Robotersteuerung und/oder von der (jeweiligen) Robotersteuerung an das (jeweilige) Bediengerät mittels eines HTTP-Protokolls übertragen.
  • Das bzw. eines oder mehrere der Bediengerät(e) ist/sind in einer Ausführung (jeweils) ein externes, tragbares und/oder universelles Bediengerät, insbesondere ein Tablet, Laptop oder Smartphone. Der bzw. einer oder mehrere der Roboter ist/sind in einer Ausführung (jeweils) ein mehr-, insbesondere wenigstens sechs-, in einer Ausführung wenigstens siebenachsiger Roboter.
  • In einer Ausführung werden Daten von dem Bediengerät an die Robotersteuerung und/oder von der Robotersteuerung an das Bediengerät mittels eines HTTP/1.1 Protokolls, insbesondere mittels REST („Representational State Transfer“) übertragen.
  • Hiermit geht in einer Ausführung eine vorhergehende und/oder dokumentierbare Schnittstelle einher. In einer Ausführung basiert ein REST-Aufruf auf einer HTTP-Anfrage, welche in einer Ausführung einen HTTP-Header und einen optionalen HTTP-Body aufweist. Im Header sind in einer Ausführung diverse Meta-Informationen enthalten, insbesondere welche HTTP-Methode verwendet werden soll, welcher Art von Client den Aufruf tätigt oder dergleichen. Im HTTP-Body stehen in einer Ausführung die eigentlichen bzw. inhaltlichen Daten. Als Antwort auf diese Anfrage kommt in einer Ausführung ein HTTP-Response, in einer Ausführung ebenfalls mit einem HTTP-Header und/oder HTTP-Body.
  • Ein Nachteil von REST und somit auch von HTTP 1.1 in diesem Kontext ist, dass REST immer einen Request benötigt, um dem Client eine Antwort - in Form einer Response - zuzuschicken. Um aber das Bediengerät zu befähigen, Updates zu erhalten, ohne dass der Client aktiv in einem bestimmten Intervall nachfragen muss („long term polling“), wird REST in einer Ausführung in Verbindung mit WebSockets verwendet.
  • Entsprechend werden in einer Ausführung Daten von der bzw. einer oder mehrerer der Robotersteuerung(en jeweils) mittels eines WebSocket-Protokolls an das (jeweilige) Bediengerät übertragen.
  • Hierzu wird in einer Ausführung eine TCP-Verbindung genutzt und/oder, anders als bei HTTP/1.1, keine zusätzlichen Meta-Informationen (Header) versendet. Die Verbindungsart kann als direkt tituliert werden und verfolgt vorzugsweise kein bestimmtes Schema.
  • Werden beide Technologien bzw. Protokolle HTTP/1.1 und WebSocket in einer Ausführung in Kombination verwendet, eliminieren sich die jeweiligen Nachteile. In einer Ausführung werden client-seitige Anfragen mit REST und/oder server-seitige Aktualisierungen („Push Notifications“) mittels WebSockets realisiert.
  • Nachteilig müssen dabei jedoch für eine webbasierte Roboter-Interaktions-Möglichkeit zwei Technologien benutzt, gepflegt und implementiert werden.
  • Daher werden in einer Ausführung die Daten von dem (jeweiligen) Bediengerät an die (jeweilige) Robotersteuerung und/oder von der (jeweiligen) Robotersteuerung an das (jeweilige) Bediengerät mittels eines HTTP/2-Protokolls oder eines höheren bzw. jüngeren HTTP-Protokolls übertragen, insbesondere HTTP/2 gemäß RFC 7540 und/oder RFC 7541 oder höher bzw. jünger.
  • In einer Ausführung muss, insbesondere gegenüber HTTP/1.1, vorteilhaft eine geringere Datenmenge übertragen werden. In einer Ausführung werden die Inhalte binär und/oder nicht im Text-Format übertragen, was eine Datenkompression ermöglichen kann. In einer Ausführung können, insbesondere durch eine TCP-Verbindung, mehrere Anfragen („Multiplexing“) übertragen werden, was in einer Ausführung einen Geschwindigkeitsvorteil bringt. In einer Ausführung werden die Daten in Echtzeit übertragen.
  • gRPC, von Google entwickelt, eignet sich hervorragend als Ersatz für die REST Kommunikation. Durch den Einsatz von gRPC erhält der Entwickler in einer Ausführung eine direkte Datenstruktur-Sicherheit („protobuf“) und/oder die Möglichkeit programmiersprachenunabhängig Client- sowie Server-Code zu schreiben.
  • Entsprechend werden in einer Ausführung die Daten mittels eines gRPC-Protokolls übertragen.
  • Insbesondere, um auch bei einer fehlenden bzw. nicht dem gRPC-Protokoll entsprechenden Fetch-API gRPC-basierte Aufrufe von einem Webbrowser zu einer Robotersteuerung direkt zu vollziehen, wird in einer Ausführung die Verbindung zwischen Webbrowser und gRPC-Service durch wenigstens einen Proxy geschleust, der das Protokoll in einer Ausführung wiederum für den Browser kompatibel macht.
  • Allgemein werden die Daten in einer Ausführung über wenigstens einen Proxy übertragen, wodurch in einer Ausführung das vorstehend genannte Problem gelöst werden kann.
  • In einer Ausführung holt der (jeweilige) Client, auf dem wenigstens eine Anwendung läuft, aktiv Informationen von der (jeweiligen) Robotersteuerung, insbesondere welcher Roboter verfügbar ist, welche(r) Frame(s) in der Applikation verwendet wird/werden oder dergleichen. Zusätzlich oder alternativ benachrichtigt in einer Ausführung die (jeweilige) Robotersteuerung den (jeweiligen) Clienten über Statusänderungen, insbesondere Sicherheitsverletzungen, Roboter-Positionen und/oder dynamische Frame-Bewegungen.
  • Allgemein können die Daten, die von dem (jeweiligen) Bediengerät an die (jeweilige) Robotersteuerung und/oder von der (jeweiligen) Robotersteuerung an das (jeweilige) Bediengerät übertragen werden, roboter- und/oder applikationsspezifische Daten sein und/oder von Roboterpositionen, (Roboter)Applikationen, Sicherheitsverletzungen und/oder verwendeten Frames abhängen, diese, in einer Ausführung deren, insbesondere zeitliche bzw. dynamische, Änderungen, insbesondere angeben.
  • Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist Mittel zum Übertragen von Daten von dem Bediengerät an die Robotersteuerung und/oder von der Robotersteuerung an das Bediengerät mittels eines HTTP Protokolls auf.
  • Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere 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 eine Kommunikation zwischen dem bzw. den Bediengerät(en) und der bzw. den Robotersteuerung(en) durchführen kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.
  • 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. sein(e) Mittel. In einer Ausführung weist das System den Roboter, das bzw. eines oder mehrere der Bediengerät(e) und/oder die bzw. eine oder mehrere der Robotersteuerung(en) auf.
  • Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
    • 1: ein System bzw. Verfahren nach einer Ausführung der vorliegenden Erfindung; und
    • 2: eine 3D-Visualisierung des Roboters 1.
  • 1 zeigt ein System bzw. Verfahren nach einer Ausführung der vorliegenden Erfindung.
  • Eine Robotersteuerung 10 zum Steuern eines Roboters 1 weist mehrere Services 11...13 auf, insbesondere einen Applikations-Framework-Service („Application Framework Service“), einen Applikations-Kontroll-Service („Application Control Service“), einen Roboter-Service („Robot Service“), einen Szenengraphen-Service („Scenegraph Service“), einen Jogging-Service, einen Positions-Service und/oder einen Hardware-Service, die alle mit einem gRPC-Server 14 kommunizieren.
  • In einer Ausführung kommunizieren eine oder mehrere Nicht-Webbrowser-Anwendungen 3, insbesondere mittels HTTP/2-Protokoll, mit dem gRPC-Server 14.
  • Der gRPC-Server 14 kommuniziert mittels HTTP/2-Protokoll mit einem gRPC-Browser-Proxy 15, der seinerseits mittels HTTP/2-Protokoll mit einem gRPC-Web-Clienten 21 eines Bediengeräts 20 kommuniziert. Der gRPC-Web-Clienten 21 kommuniziert mit einer Benutzerschnittstelle („User Interface“ Ul) 22 des Bediengeräts 20.
  • 2 zeigt eine 3D-Visualisierung des Roboters 1 mit Frames 100, TCPs 200 und einem Roboter-Interaktionspanel 300.
  • Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. 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.

Claims (10)

  1. Verfahren zur, insbesondere webbasierten, Kommunikation zwischen wenigstens einem Bediengerät (20) und wenigstens einer Robotersteuerung (10), insbesondere zur Visualisierung wenigstens einer Roboterapplikation, wobei Daten von dem Bediengerät an die Robotersteuerung und/oder von der Robotersteuerung an das Bediengerät mittels eines HTTP-Protokolls übertragen werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Daten mittels eines HTTP/2-Protokolls oder eines höheren HTTP-Protokolls übertragen werden.
  3. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die Daten mittels eines gRPC-Protokolls übertragen werden.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass Daten von der Robotersteuerung an das Bediengerät mittels eines WebSocket-Protokolls übertragen werden.
  5. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass Daten von dem Bediengerät an die Robotersteuerung und/oder von der Robotersteuerung an das Bediengerät mittels eines HTTP/1.1-Protokolls, insbesondere mittels REST, übertragen werden.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Daten über wenigstens einen Proxy (15) übertragen werden.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Daten zwischen mehreren Bediengeräten und einer oder mehreren Robotersteuerungen und/oder zwischen mehreren Robotersteuerungen und einem oder mehreren Bediengeräten übertragen werden.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Daten roboter- und/oder applikationsspezifische Daten sind und/oder von Roboterpositionen, Applikationen, Sicherheitsverletzungen und/oder verwendeten Frames abhängen.
  9. System zur, insbesondere webbasierten, Kommunikation zwischen wenigstens einem Bediengerät (20) und wenigstens einer Robotersteuerung (10), insbesondere zur Visualisierung wenigstens einer Roboterapplikation, das zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist und/oder Mittel zum Übertragen von Daten von dem Bediengerät an die Robotersteuerung und/oder von der Robotersteuerung an das Bediengerät mittels eines HTTP-Protokolls aufweist.
  10. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.
DE102019205311.4A 2019-04-12 2019-04-12 Kommunikation zwischen Bediengerät und Robotersteuerung Ceased DE102019205311A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019205311.4A DE102019205311A1 (de) 2019-04-12 2019-04-12 Kommunikation zwischen Bediengerät und Robotersteuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019205311.4A DE102019205311A1 (de) 2019-04-12 2019-04-12 Kommunikation zwischen Bediengerät und Robotersteuerung

Publications (1)

Publication Number Publication Date
DE102019205311A1 true DE102019205311A1 (de) 2020-10-15

Family

ID=72613660

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019205311.4A Ceased DE102019205311A1 (de) 2019-04-12 2019-04-12 Kommunikation zwischen Bediengerät und Robotersteuerung

Country Status (1)

Country Link
DE (1) DE102019205311A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3239792A1 (de) * 2016-04-29 2017-11-01 Robotics Club Limited Serverbasiertes robotersystem und verfahren zum betrieb des robotersystems
EP3388854A1 (de) * 2017-04-11 2018-10-17 Siemens Healthcare GmbH Standardisierte funkkopplung zwischen einer magnetresonanzanlage und einer externen vorrichtung

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3239792A1 (de) * 2016-04-29 2017-11-01 Robotics Club Limited Serverbasiertes robotersystem und verfahren zum betrieb des robotersystems
EP3388854A1 (de) * 2017-04-11 2018-10-17 Siemens Healthcare GmbH Standardisierte funkkopplung zwischen einer magnetresonanzanlage und einer externen vorrichtung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
The gRPC Blog – gRPC with REST and Open APIs, Blog vom 9. Mai 2016, ausgedruckt am 9. April 2020, https://grpc.io/blog/coreos/ *

Similar Documents

Publication Publication Date Title
DE60125913T2 (de) Datenübertragungsverfahren und vorrichtung
DE102012213795A1 (de) Durch einen Computer implementiertes Verfahren, das es einer Web-Anwendung ermöglicht, mindestens eine native Funktion einer mobilen Einheit aufzurufen
WO2008125336A2 (de) Verfahren und steuergerät zur steuerung eines automatisierungssystems
DE112016001140T5 (de) Interaktives Mehrbenutzer-Anzeigesystem und Verfahren
EP1416400A2 (de) System und Verfahren zur Bereitstellung von Daten und Diensten für Geräte über öffentliche Netze, sowie Gerät, welches die bereitgestellten Daten und Dienste verwendet
DE60316649T2 (de) Konferenzanwendung die keinen bestimmten Verbindungsport verwendet
DE19717167A1 (de) Webbrowser-basiertes Konferenzsystem
DE102014114585A1 (de) Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem
DE112013000812T5 (de) Variable Bestätigungsrate zum Verringern von Buskonflikt in Gegenwart von Datenübertragungsfehlern
DE60130478T2 (de) Gerätesteuerungsverfahren und vorrichtung
DE10253174A9 (de) Vorrichtung zur Entwicklung und/oder Konfiguration eines Automatisierungssystems
DE112012007196T5 (de) Parametereinstellungssystem, Programmverwaltungsvorrichtung, und Informationsverarbeitungsvorrichtung
DE102019205311A1 (de) Kommunikation zwischen Bediengerät und Robotersteuerung
EP2620868A1 (de) Arbeitsfluss-Management-System für Computernetze
EP3151217A1 (de) Operator-training-system
EP3528473A1 (de) Verfahren, client-computer und computerprogramm zur ausführung von quellcode an einem client-computer
DE102010014829A1 (de) Verfahren und System zur Übertragung von Daten
DE102016008158A1 (de) System und steuerverfahren
DE102014114586B4 (de) Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem
EP2862075B1 (de) Simulieren eines komplexen systems
DE102014114584A1 (de) Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem
WO2012143480A1 (de) System und verfahren zur sicheren dateiübertragung
DE102017204789A1 (de) Computergestützte Erweiterung der Realitätswahrnehmung für industrielle Anwendungen
DE602004001793T2 (de) Verfahren zum Durchtesten des Zustandes der Anbindung zwischen einem Klient und einem Server über ein digitales Netzwerk
DE102006050978B3 (de) Verfahren und Serversystem zum Ausliefern von Hypermedia-Seiten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final