DE112010005509T5 - Robotersystemsteuerverfahren und eine Vorrichtung davon - Google Patents

Robotersystemsteuerverfahren und eine Vorrichtung davon Download PDF

Info

Publication number
DE112010005509T5
DE112010005509T5 DE112010005509T DE112010005509T DE112010005509T5 DE 112010005509 T5 DE112010005509 T5 DE 112010005509T5 DE 112010005509 T DE112010005509 T DE 112010005509T DE 112010005509 T DE112010005509 T DE 112010005509T DE 112010005509 T5 DE112010005509 T5 DE 112010005509T5
Authority
DE
Germany
Prior art keywords
runtime
robot system
application program
master controller
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112010005509T
Other languages
English (en)
Other versions
DE112010005509T8 (de
Inventor
Jae Hoon Kim
Young-youl Ha
Sung Min Yoon
Sang Dong Park
Tae Jin Park
Min Su Kim
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.)
Samsung Heavy Industries Co Ltd
Original Assignee
Samsung Heavy Industries Co Ltd
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 Samsung Heavy Industries Co Ltd filed Critical Samsung Heavy Industries Co Ltd
Publication of DE112010005509T5 publication Critical patent/DE112010005509T5/de
Application granted granted Critical
Publication of DE112010005509T8 publication Critical patent/DE112010005509T8/de
Ceased 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/1602Programme controls characterised by the control system, structure, architecture
    • 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/33Director till display
    • G05B2219/33342Master slave, supervisor, front end and slave processor, hierarchical structure

Abstract

Die vorliegende Erfindung offenbart ein Verfahren eines Steuerns eines Robotersystems und eine Vorrichtung davon. Das Verfahren eines Steuerns eines Robotersystems gemäß einer Ausführungsform der vorliegenden Erfindung kann enthalten: Initialisieren der Mastersteuerung durch Verwendung eines Bootloaders, eingerichtet in dem Robotersystem; Ausführen einer Laufzeit durch Laden eines Laufzeitausführungscodes, gespeichert in einem Speicherplatz der Mastersteuerung; und Laden und Ausführen eines Anwendungsprogramms, gespeichert in einem Speicherplatz der Mastersteuerung. Mit einer Ausführungsform der vorliegenden Erfindung wird es möglich, das Anwendungsprogramm effizienter zu Verwalten zum Realisieren der Funktionen des Robotersystems.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft ein Verfahren eines Steuerns eines Robotersystems.
  • Hintergrund
  • Industrieroboter verwenden oft eingebettete Steuerungen zum Steuern ihrer Bewegung und Bewegung. Die konventionellen eingebetteten Robotersteuerungen adaptieren allgemein ein einfaches Bootloaderverfahren.
  • Wenn ein Problem auftritt in einigen der Anwendungsprogramme zum Steuern des Roboters in dem einfachen Bootloaderverfahren, ist es nicht einfach, dieses Problem zu lösen durch Neustarten nur des Anwendungsprogramms, das das Problem hat. Daher ist ein solches Problem gelöst worden durch Neustarten des Bootloaders (deutsch: Urlader) durch Neustarten der gesamten eingebetteten Steuerung, egal wie klein der auftretende Fehler ist.
  • Ferner ist es in dem konventionellen Bootloadersystem schwierig gewesen, den Prozess jedes Anwendungsprogramms effizient zu Verwalten in einer Umgebung, wo gerade mehrere Anwendungsprogramme laufen.
  • Erforderlich ist daher eine Entwicklung eines Verfahrens und einer Vorrichtung zum Steuern eines Robotersystems, das mehrere Anwendungsprogramme effizient verwalten und schnell auf einen Fehler antworten kann.
  • Offenbarung
  • Technisches Problem
  • Die vorliegende Erfindung stellt ein Verfahren eines effizienten Verwaltens eines eingebetteten Robotersystems unter Verwendung eines Laufzeitsystems und eine Vorrichtung davon bereit.
  • Technische Lösung
  • Ein Aspekt der vorliegenden Erfindung bietet eine Vorrichtung zum Steuern eines Robotersystems, eingerichtet zum Steuern des Robotersystems durch Verwenden einer Mastersteuerung, eingebettet in das Robotersystem. Gemäß einer Ausführungsform der vorliegenden Erfindung kann die Mastersteuerung enthalten: eine Laufzeiteinheit; eine Speichereinheit, eingerichtet zum Speichern eines Laufzeitcodes zum Ausführen einer Laufzeit (englisch: runtime), einer Laufzeitsymboltabelle und eines Anwendungscodes zum Durchführen von designierten Funktionen des Robotersystems; eine Operationseinheit, eingerichtet zum Durchführen einer Operation zum Ausführen der Laufzeit und Steuern eines Flusses von Signalen zur Steuerung des Robotersystems; und eine Kommunikationseinheit, eingerichtet zum Kommunizieren mit einem Hostcomputer des Robotersystems. Die Laufzeiteinheit kann enthalten: ein Anwendungsladermodul, eingerichtet zum Laden das Anwendungscodes; und ein Anwendungsprogrammschnittstellemodul, eingerichtet zum Ausführen des geladenen Anwendungscodes.
  • Die Laufzeiteinrichtung kann auch enthalten ein Steuerungsformverwaltungsmodul, eingerichtet zum Erkennen einer Slavesteuerung, eingebettet in das Robotersystem, und dynamisch Verwalten einer Konfiguration von Systeminformation des Robotersystems.
  • Die Laufzeiteinheit kann auch enthalten ein Datenloggermodul, eingerichtet zum Erzeugen von Logdaten aus Operation der Laufzeit.
  • Das Anwendungsprogramschnittstellemodul kann den Anwendungscode ausführen durch Verwendung eines Systemaufrufs eines Betriebssystems des Robotersystems, und ein Parameter, referenziert für Ausführung des Anwendungscodes, kann transferiert werden unter Verwendung einer Registrierung (englisch: registry) der Vorrichtung zum Steuern eines Robotersystems.
  • Ein weiterer Aspekt der vorliegenden Erfindung bietet ein Verfahren eines Steuerns eines Robotersystems durch Verwendung einer Mastersteuerung, eingebettet in das Robotersystem. Das Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung kann enthalten: Initialisieren der Mastersteuerung durch Verwendung eines Bootloaders, eingerichtet in dem Robotersystem; Ausführen einer Laufzeit durch Laden eines Laufzeitausführungscodes, gespeichert in einem Speicherplatz der Mastersteuerung; und Laden und Ausführen eines Anwendungsprogramms, gespeichert in einem Speicherplatz der Mastersteuerung.
  • Das Verfahren kann auch enthalten, nach Ausführen der Laufzeit, Erzeugen von Logdaten aus Operation der Mastersteuerung.
  • Das Robotersystem kann auch enthalten eine Slavesteuerung, und das Verfahren kann auch enthalten, nach Ausführen der Laufzeit, dynamisch Verwalten der Slavesteuerung und einer Konfiguration von Systeminformation.
  • In dem Schritt von Laden und Ausführen des Anwendungsprogramms, kann ein Systemaufruf eines Betriebssystems des Robotersystems verwendet werden, und ein Parameter für Ausführen des Anwendungsprogramms kann transferiert werden unter Verwendung einer Registrierung der Mastersteuerung.
  • Andere Aspekte, Merkmale und Vorteile der vorliegenden Erfindung werden besser verstanden werden durch die beigefügten Figuren, die Ansprüche und die detaillierte Beschreibung.
  • Vorteilhafte Effekte
  • Gemäß einiger Ausführungsformen der vorliegenden Erfindung wird es möglich, die Effizienz eines Verwaltens von Anwendungsprogrammen zum Realisieren der Funktionen eines Robotersystems zu verbessern durch Implementieren der Laufzeit in der Steuerung des Robotersystems.
  • Beschreibung der Figuren
  • 1 illustriert eine Umgebung, in welcher ein Robotersteuerungssystem unter Verwendung einer Laufzeit realisiert ist gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2 zeigt eine Konfiguration einer Robotersteuerungsvorrichtung unter Verwendung einer Laufzeit gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 3 zeigt eine Konfiguration einer Steuerungslaufzeit gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 ist ein Flussdiagramm, das ein Verfahren eines Steuerns eines Robotersteuerungssystem unter Verwendung einer Laufzeit gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • 5 illustriert eine Laufzeitladeoperation einer Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 6 illustriert Schritte eines Ladens eines Anwendungsprogramms der Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 7 illustriert Schritte eines Ablaufens eines Anwendungsprogramms der Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 8 zeigt eine Steuerungs-Anwendungs-Host-Schnittstelle gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 9 zeigt eine Operation eines Anwendungsladers, enthalten in der Steuerungslaufzeit, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 10 zeigt eine Anwendungsprogrammschnittstelle der Steuerungslaufzeit gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Modus der Erfindung
  • Nachstehend wird ein Verfahren eines Steuerns eines Robotersystems unter Verwendung einer Laufzeit und eine Vorrichtung davon gemäß einigen Ausführungsformen der vorliegenden Erfindung detailliert beschrieben werden mit Referenz auf die beigefügten Zeichnungen.
  • Dies jedoch ist in keinerlei Hinsicht, um die vorliegende Erfindung einzuschränken auf bestimmte Ausführungsformen, und es soll verstanden werden, dass alle Permutationen, Äquivalente und Substitute, die durch die technischen Ideen und Bereiche der vorliegenden Erfindung abgedeckt sind, in dieser Beschreibung enthalten sind. Beim Beschreiben der vorliegenden Erfindung, wenn gewisse detaillierte Beschreibung von relevanter bekannter Technik betrachtet wird als das Wesentliche der vorliegenden Erfindung zu umgehen, wird solch detaillierte Beschreibung weggelassen werden. Ferner wird jeglichen identischen oder korrespondierenden Elementen ein gleiches Bezugszeichen zugeordnet, und keine redundante Beschreibung davon wird bereitgestellt werden.
  • 1 illustriert eine Umgebung, in welcher ein Robotersteuerungssystem unter Verwendung einer Laufzeit realisiert ist gemäß einer Ausführungsform der vorliegenden Erfindung. Bezugnehmend auf 1 kann das Robotersystem 100 eine Mastersteuerung 110, eine Laufzeiteinheit 120, eine erste Slavesteuerung 130 und eine zweite Slavesteuerung 140 enthalten. Die Mastersteuerung 110 kann mit einem Hostcomputer 150 kommunizieren, um ein Benutzerkommando zu erhalten.
  • Das Robotersystem 100 kann enthalten eine Mehrzahl von Manipulatoren, welche gesteuert werden können durch die Mastersteuerung 110 und/oder die Slavesteuerungen 130, 140.
  • Die Mastersteuerung 110, welche eine Hauptsteuerung des Robotersystems 100 ist, kann das Benutzerkommando von dem Hostcomputer 150 empfangen und die Slavesteuerungen 130, 140 und/oder die Manipulatoren verwalten/steuern. Die Mastersteuerung gemäß einer Ausführungsform der vorliegenden Erfindung benutzt nicht ein einfaches Bootloaderverfahren, sondern wendet die Laufzeiteinheit 120 an, um die Verwaltungseffizienz des Robotersystems 100 zu verbessern.
  • Die Slavesteuerungen 130, 140 können ein Firmwaremodul enthalten, in welchem Funktionen, benötigt für Steueroperationen jedes Slavetreibers, realisiert sind in der Form von Firmware. Die Slavesteuerungen 130, 140 können verbunden mit der Mastersteuerung 110 durch eine Kommunikationseinheit und verwaltet durch die Mastersteuerung 110 sein.
  • Der Hostcomputer 150 ist ein Endgerät, verwendet von einem Nutzer des Robotersystems 100, um das Robotersystem 100 zu steuern und kann irgendwas von einer Vielfalt von bekannten Endgeräten zusätzlich zu einem Computer sein. Der Nutzer kann auf die Laufzeiteinheit 120 der Mastersteuerung 110 durch den Hostcomputer 150 zugreifen, um das Robotersystem 100 zu verwalten.
  • 2 zeigt eine Konfiguration einer Robotersteuerungsvorrichtung unter Verwendung einer Laufzeit gemäß einer Ausführungsform der vorliegenden Erfindung. Bezugnehmend auf 2 kann die Mastersteuerung 110 gemäß einer Ausführungsform der vorliegenden Erfindung eine Operationseinheit 112, eine Speichereinheit 114, eine Kommunikationseinheit 118 und eine Laufzeiteinheit 120 enthalten.
  • Die Operationseinheit 112, welche einer zentralen Verarbeitungseinheit (CPU) der Mastersteuerung 110 entspricht, kann den Fluss von Signalen innerhalb der Mastersteuerung 110 steuern und physikalische Operationen für Funktionen ausgeführt durch die Mastersteuerung 110 durchführen. Beispielsweise kann die Operationseinheit 112 gemäß einer Ausführungsform der vorliegenden Erfindung eine Operation zum Ausführen einer Laufzeit durch Steuern der Laufzeiteinheit 120 durchführen und den Fluss von Signalen in der Robotersystemsteuervorrichtung steuern.
  • Die Speichereinheit 114, die ein Platz zum Speichern von Daten, benötigt zum Durchführen der Funktionen der Mastersteuerung 110, ist, kann einem Speicherchip in einer Mastersteuerung entsprechen. Speziell kann die Speichereinheit 114 einen Laufzeitcode zum Ausführen einer Laufzeit, eine Laufzeitsymboltabelle, einen Anwendungscode zum Realisieren der Funktionen des Robotersystems, Daten benötigt wenn eine Anwendung ausgeführt wird, und Ergebnisdaten eines Ausführens der Anwendung speichern. Beispielsweise kann die Speichereinheit 114 der Mastersteuerung 110 gemäß einer Ausführungsform der vorliegenden Erfindung unterschieden werden in ein RAM 115 und einen nicht-flüchtigen Speicher 116.
  • Der RAM 115 kann die Funktion eines Speicherns von Information zum Betreiben der Mastersteuerung 110 ausführen. Das RAM 115 hat allgemein eine schnellere Antwortgeschwindigkeit als der nicht-flüchtige Speicher 116 und initialisiert seine Inhalte wenn Energie abgeschnitten ist. Der RAM 115 kann eine Vielfalt von Daten gemäß dem Zustand, in dem das Robotersystem 100 manövriert wird, speichern.
  • Der nicht-flüchtige Speicher 116, welche seine Inhalte behält selbst wenn Energie abgeschnitten ist, kann realisiert werden in einem Flash-Speicher und dergleichen. Der nicht-flüchtige Speicher 116 kann einen Laufzeitcode, eine Laufzeitsymboltabelle, einen Anwendungscode zum Realisieren der Funktionen des Robotersystem, und Anwendungsdaten, resultierend von Ausführen einer Anwendung, speichern. Daten; gespeichert in der Speichereinheit 114 gemäß Operationsschritten des Robotersystems 110, werden später detailliert beschrieben werden unter Bezugnahme auf 4 bis 7.
  • Die Kommunikationseinheit 118 kann mit dem Hostcomputer des Robotersystems 100 kommunizieren. Das heißt, die Kommunikationseinheit 118 kann Transfer von Signalen zwischen der Mastersteuerung 110 und dem Hostcomputer 150 handhaben. Zusätzlich kann die Kommunikationseinheit 118 Kommunikation zwischen der Mastersteuerung 110 und einer anderen Komponente des Robotersystems 100, beispielsweise der Slavesteuerung, dem Manipulator und dergleichen, handhaben. Der Transfer von Signalen für die Steuerung des Robotersystems 100 kann realisiert werden mit verschiedenen Mitteln, wie beispielsweise TCP-Sockel-Kommunikation (englisch: TCP socket communication), UDP-Kommunikation, TFTP-Kommunikation usw., und die Kommunikationseinheit 118 kann Nerzwerkhardware, die solche Kommunikationsmittel handhabt, entsprechen.
  • Konfigurationen von anderer benötigter Hardware, die die Mastersteuerung 110 konstituiert, sind gut bekannt denjenigen, die von normaler Fähigkeit in der Technik sind, zu der die vorliegende Erfindung gehört, und daher wird detaillierte Beschreibung davon weggelassen werden. Operationen der Mastersteuerung 110 für die Steuerung des Robotersystems 100 und die Konfiguration der Laufzeiteinheit 120 werden detailliert beschrieben werden unter Bezugnahme auf die anderen Zeichnungen.
  • 3 zeigt eine Konfiguration einer Laufzeiteinheit 120 der Mastersteuerung 110 gemäß einer Ausführungsform der vorliegenden Erfindung. Bezugnehmend auf 3 sind Funktionen, die durch die Laufzeiteinheit 120 gemäß einer Ausführungsform der vorliegenden Erfindung durchgeführt werden können in Blöcken illustriert. Jedoch ist, was illustriert ist, nur für die Bequemlichkeit von Beschreibung und Verständnis, und es soll verstanden werden, dass die Funktionen verschieden unterteilt oder kombiniert mit 2 oder mehr anderen Funktionen werden können in der Konfiguration der Laufzeiteinheit 120.
  • Die Laufzeiteinheit 120 gemäß einer Ausführungsform der vorliegenden Erfindung kann enthalten eines oder mehreres von einem Hardwarevorrichtungstreibermodul 310, einem Hardwareverwaltungsmodul, einem Speicherverwaltungsmodul, einem Kommunikationsprotokollmodul, einem Nutzerkommandoschnittstellemodul, einem Simulatorschnittstellemodul, einem Datenloggermodul 320, einem Steuerungsformverwaltungsmodul 330, einem Anwendungsladermodul 340, einem Anwendungsprogrammschnittstellemodul 350 und einem Betriebssystemkern 360.
  • Das Steuerungsformverwaltungsmodul 330 kann die Slavesteuerung, eingebettet in das Robotersystem, erkennen und die Konfiguration von Systeminformation dynamisch verwalten.
  • Der Betriebssystemkern 350 kann die Komponenten gemäß ihrer Funktionen verwalten, wie ein Kern (englisch: kernel) eines gewöhnlichen Betriebssystems.
  • Das Hardwarevorrichtungstreibermodul 310 kann einen Treiber zum Treiben von Hardwarekomponenten der Mastersteuerung 110 unterstützten. Entsprechend verwenden die Komponenten der Laufzeiteinheit 120 Hardwareressourcen durch das Hardwarevorrichtungstreibermodul 310, und Information über die Verwendung von Hardware kann verwaltet werden durch eine Hardwareverwaltungsfunktion und eine Speicherverwaltungsfunktion.
  • Das Datenloggermodul 320 kann Logdaten für Operationen der Mastersteuerung 110, das Robotersystem 100 steuernd, und der Slavesteuerungen 130, 140 sammeln und aufzeichnen. Solche Steuerlogdaten können zu dem Hostcomputer 150 gesendet werden. Das Datenloggermodul 320 kann Information mit dem Hostcomputer austauschen durch, beispielsweise, TCP-IP-Sockel-Kommunikation.
  • Das Anwendungsladermodul 340 kann eine Symboltabelleladefunktion und eine Anwendungsprogrammladefunktion zum Realisieren der Funktionen des Robotersystems 100 bereitstellen.
  • Hier kann das Anwendungsladermodul 340 eine Funktion eines Ladens eines Datenwerts einer Symboltabelle, welche spezifisch vorbereitet ist für den Nutzer, in einem Anwendungsprogramm, ausgeführt durch das Anwendungsprogrammschnittstellemodul 350, bereitstellen. Ferner kann das durch einen Anwendungsprogrammlader ausgeführte Anwendungsprogramm die Funktionen einer Laufzeit durch eine Anwendungsprogrammschnittstelle der Laufzeit aufrufen und verwenden. Detaillierte Operationen des Anwendungsladermoduls 340 werden beschrieben werden unter Bezugnahme auf 9.
  • Das Anwendungsprogrammschnittstellemodul 350 kann einen Anwendungscode ausführen durch Verwendung eines Systemaufrufs eines Betriebssystems des Robotersystems 100. Ferner kann ein Parameter, auf den Bezug genommen wird durch die Ausführung des Anwendungscodes, transferiert werden unter Verwendung einer Registrierung einer Vorrichtung, die das Robotersystem steuert. In anderen Worten ist das Anwendungsprogrammschnittstellemodul 350 ein Modul, das API unterstützt, die Ausführung eines Anwendungsprogramms durch Verwendung eines Systemaufrufs bereitgestellt durch das Betriebssystem des Robotersystems unterstützend. Aufrufen und Ausführen einer Anwendungsprogrammschnittstelle werden unter Bezugnahme auf 10 beschrieben werden.
  • Das Nutzerkommandoschnittstellemodul kann eine Funktion eines Empfangens eines Nutzerkommandos von dem Hostcomputer 150 und Antwortens auf den Hostcomputer 150 mit einem Ergebniss eines Durchführens des Nutzerkommandos bereitstellen. Das Simulatorschnittstellemodul kann eine Schnittstelle mit Robotersimulationssoftware, installiert auf dem Hostcomputer, bereitstellen.
  • In der Laufzeiteinheit 120 der Mastersteuerung 110 gemäß einer Ausführungsform der vorliegenden Erfindung, kann ein universeller asynchroner Empfänger/Sender (UART), Ethernet, IP (Internet-Protokoll), ARP (Adress-Auflösungs-Protokoll), TCP (Übertragungs-Steuer-Protokoll), UDP (Nutzer-Datagram-Protokoll), TFTP (Trivial-Datei-Übertragungs-Protokoll) und dergleichen ein Kommunikationsprotokoll unterstützen.
  • 4 ist ein Flussdiagramm, das ein Verfahren eines Steuerns eines Robotersteuerungssystem gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. 5 illustriert eine Laufzeitladeoperation einer Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung. 6 illustriert Schritte eines Ladens eines Anwendungsprogramms der Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung. 7 illustriert Schritte eines Ablaufens eines Anwendungsprogramms der Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • In dem Schritt eines Hochfahrens einer eingebetteten Steuerung durch Verwendung eines Bootloaders (S410) wird die Mastersteuerung 110 initialisiert unter Verwendung des Bootloaders. Das heißt, in diesem Schritt werden die Mastersteuerung 110 und/oder die Slavesteuerungen 130, 140 initialisiert für eine Steuerung des Robotersystems 100. Durch diese Initialisierungsprozedur kann eine Laufzeit bereit sein für ein Laden in der Mastersteuerung 110. Initialisieren des Robotersystems durch den Bootloader ist gut bekannt denjenigen von gewöhnlicher Fähigkeit in der Technik und wird daher im Folgenden nicht beschrieben werden.
  • In dem Schritt eines Ladens einer Laufzeit (S420), nachdem die Initialisierung des Robotersystems 100 durch den Bootloader fertig ist, wird ein Starten der Laufzeiteinheit 120 vorbereitet. Bezugnehmend auf 5 kann der Laufzeitladeschritt ausgeführt werden durch ein Laden eines Laufzeitcodes in den RAM 115 aus dem nicht-flüchtigen Speicher 116 der Mastersteuerung 110. Wenn die Mastersteuerung 110 initialisiert und durch den Bootloader hochgefahren ist, kann der Bootloader einen Laufzeitausführungscode, welcher in dem nicht-flüchtigen Speicher gespeichert ist, in den RAM 115 laden. Wenn der Laufzeitausführungscode aus dem Flash-Speicher durch den Bootloader geladen ist, übergibt der Bootloader ein Steuerrecht der Steuerung und führt die Laufzeit aus. In anderen Worten wird in diesem Schritt die Laufzeiteinheit 120 ausgeführt durch Laden des Laufzeitausführungscodes in dem Speicher der Mastersteuerung 110. Wenn die Laufzeit ausgeführt wird, können Laufzeitdaten erzeugt werden gemäß einer Initialisierungsinformation, die in den Laufzeitausführungscode programmiert ist.
  • In dem Schritt eines Ladens eines Anwendungsprogramms (S430) wird ein Anwendungsprogramm des Robotersystems geladen unter Verwendung des Anwendungsladermoduls 340 der Laufzeiteinheit 120. Das heißt, das Anwendungsprogamm zum Realisieren der Funktionen des Robotersystems wird geladen während die Laufzeiteinheit 120 der Mastersteuerung 110 ausgeführt wird. Bezugnehmend auf 6 kann Laden des Anwendungsprogramms ausgeführt werden durch Laden der Laufzeitsymboltabelle und des Anwendungsprogramms (Anwendungscode 1, Anwendungscode N) in den RAM 115. Der Nutzer des Hostcomputers 150 kann die Laufzeitsymboltabelle durch die Laufzeiteinheit 120 korrigieren.
  • In dem Schritt eines Ausführens des Anwendungsprogramms (S440) wird das Anwendungsprogramm ausgeführt unter Verwendung des Anwendungsprogrammschnittstellemoduls 350 der Laufzeiteinheit 120. Das heißt, die Funktionen des Robotersystems 100 werden realisiert durch Ausführen des geladenen Anwendungsprogramms. Hier verwendet das Anwendungsprogrammschnittstellemodul 350 den Systemaufruf des Betriebssystems des Robotersystems 100, und ein Parameter zum Ausführen des Anwendungsprogramms kann transferiert werden unter Verwendung einer Registrierung der Mastersteuerung 110. Wenn ein Laden des Anwendungscodes vollständig ist, erzeugt die Laufzeiteinheit 120 dynamisch einen Prozess und führt den Anwendungscode aus. Hier kann der Anwendungscode Anwendungsdaten erzeugen gemäß der Initialisierungsinformation und, falls notwendig, auf die Laufzeitsymboltabelle Bezug nehmen zum Korrigieren der Anwendungsdaten. Jedes Anwendungsprogramm kann erzeugt und verwaltet werden als ein separater Prozess durch das Betriebssystem. Als solche kann die Laufzeiteinheit 120 der Mastersteuerung 110 eine Anzahl von Anwendungsprogrammen simultan laden und ausführen.
  • 8 zeigt eine Steuerungs-Anwendungs-Host-Schnittstelle gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Wie oben beschrieben kann die Laufzeiteinheit 120 der Mastersteuerung 110 Information mit dem Hostcomputer 150 austauschen durch eine Anwendungs-Host-Schnittstelle. Wie in 8 illustriert, kann die Anwendungs-Host-Schnittstelle enthalten ein Nutzerkommandoschnittstellemodul, ein Simulatorschnittstellemodul, das Steuerungsformverwaltungsmodul 330, ein Speicherdateisystemmodul und das Anwendungsladermodul 340.
  • Das Nutzerkommandoschnittstellemodul kann Daten mit dem Hostcomputer durch TCP-Sockel-Kommunikation austauschen. Wenn der Nutzer ein Robotersteuerkommando durch ein Nutzerkommandofenster des Hostcomputers 150 eingibt, kann das Nutzerkommandoschnittstellemodul der Anwendungs-Host-Schnittstelle der Mastersteuerung 110 das Robotersteuerkommando empfangen und ausführen und mit dem Ergebnis einer Ausführung in dem Nutzerkommandofenster antworten.
  • Das Simulatorschnittstellemodul kann Daten mit einem Robotersimulator des Hostcomputers durch TCP-Sockel-Kommunikation austauschen.
  • Das Speicherdateisystemmodul kann mit einem TFTP-Konsole-Fenster des Hostcomputers durch TFTP-Kommunikation verbunden sein. Der Nutzer kann eine Datei von und zu der Mastersteuerung 110 herunterladen oder hinauf laden und einen Dateinamen ändern und/oder löschen durch ein TFTP-Kommando.
  • Operationen des oben genannten Nutzerkommandoschnittstellenmoduls, Simulatorschnittstellenmoduls, Steuerungsformverwaltungsmoduls 330, Speicherdateisystemmoduls, Anwendungsladermoduls 340 und Anwendungsprogrammschnittstellenmoduls 350 können überwacht werden durch einen Datenloggerclient. Die überwachte Information kann gesendet werden an einen Datenloggerserver des Hostcomputers 150 durch UDP-Sockel-Kommunikation.
  • 9 zeigt eine Operation eines Anwendungsladers, enthalten in der Steuerungslaufzeit, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Wie oben beschrieben kann das Anwendungsladermodul 340 die Anwendungsprogrammladefunktion und die Symboltabelleladefunktion bereitstellen. Hier kann die Laufzeitsymboltabelle konfiguriert werden durch ein Nutzerkommando oder in einer Dateiform zum Speichern in dem Flash-Speicher. Ferner kann das Anwendungsprogramm gespeichert werden in dem Flash-Speicher in einer ELF(ausführbares und linkbares Format)-Datei-Form durch einen Anwendungsprogrammentwickler. Die ELF-Datei-Form des Anwendungsprogramms kann ein Codesegment, ein Datensegment und ein zusätzliches Segment des Programms enthalten.
  • Wenn das Anwendungsladermodul 340 ausgeführt wird kann die Laufzeitsymboltabelle geladen werden. Wenn das Laufzeitsymbol geladen ist, kann jedes Programmsegment extrahiert werden durch Analysieren eines Programmkopfes (englisch: program header) von der ELF-Datei, und das extrahierte Programmsegment kann geladen werden in den RAM 115. Wenn das Laden des Anwendungsprogramms fertig ist, kann das Anwendungsladermodul 340 die schon geladene Laufzeitsymboltabelle durchsuchen, um Symboldaten, übereinstimmend mit den Symboldaten des Anwendungsprogramms, zu finden, und die übereinstimmenden Symboldaten in einen Datenbereich des Anwendungsprogramms laden.
  • Wenn das Anwendungsprogramm und die Symboltabelle geladen sind, kann die Laufzeiteinheit 120 einen Systemaufruf des Betriebssystems aufrufen, um einen neuen Anwendungsprogramm zu erzeugen und das Anwendungsprogramm auszuführen. Nachdem das Anwendungsprogramm einem neuen Prozess von dem Betriebssystem zugeordnet und ausgeführt ist, kann das Anwendungsprogramm einen separaten Thread in dem Programm erzeugen und ausführen.
  • 10 zeigt eine Anwendungsprogrammschnittstelle der Steuerungslaufzeit gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Das Anwendungsprogrammschnittstellemodul 350, bereitgestellt durch die Laufzeiteinheit 120 der Mastersteuerung 110, kann enthalten eine Bewegungs-API, POSIX-APO, eine Kommunikations-API, eine Steuerungs-API und eine Eingabe-/Ausgabe-API. Verschiedene Anwendungsprogramme zum Realisieren des Robotersystems 100 können ausgeführt werden durch Aufrufen der Anwendungs-Programm-Schnittstelle (API) der Laufzeiteinheit 120 durch einen Systemaufruf, bereitgestellt durch das Betriebssystem.
  • Ein Parameter, transferiert mit einer Anforderung für API, und eine Systemaufrufnummer entsprechend der aufgerufenen API kann kopiert werden in die Systemregistrierung der Mastersteuerung 110. Wenn ein Systemaufruf gemacht ist durch Aufrufen der API in dem Anwendungsprogramm, kann eine Softwareunterbrechung (englisch: software interrupt) auftreten, so dass das Betriebssystem den Systemaufruf empfangen und verarbeiten kann.
  • Wenn die Softwareunterbrechung aufgetreten ist durch das Anwendungsprogramm, ruft ein Systemaufrufhandhaber (englisch: system call hander) des Betriebssystems die angeforderte API auf und führt sie aus durch Bezugnehmen auf eine Handhaberadresse (englisch: handler address; API-Adresse) des passenden Systemaufrufs, registriert in der Systemaufruftabelle des Betriebssystems. Hier kann die angeforderte API verarbeitet werden durch Empfangen eines API-Anforderungs-Parameters, gespeichert in der Systemregistrierung der Mastersteuerung 110. Wenn die API aufgerufen und ausgeführt ist durch die Softwareunterbrechung und den Systemaufruf, kann ein Ausführungsergebnis zurückgegeben werden zu dem Anwendungsprogramm durch den Softwareunterbrechungsbehandler.
  • Bisher ist für die Bequemlichkeit von Beschreibung und Verständnis eine bestimmte Ausführungsform der vorliegenden Erfindung beschrieben worden. Es soll es jedoch verstanden werden, dass Permutationen der vorliegenden Erfindung möglich sind ohne von den wesentlichen Merkmalen der vorliegenden Erfindung abzuweichen durch diejenigen, die von normaler Fähigkeit in der Technik, zu der die vorliegende Erfindung gehört, sind. Daher soll die offenbarte Ausführungsform verstanden werden in beschreibenden Perspektiven, nicht einschränkenden Perspektiven. Der Umfang der vorliegenden Erfindung soll definiert werden durch die angehängten Ansprüche, anstatt der obigen Beschreibung, und alle Differenzen innerhalb des äquivalenten Umfangs sollen verstanden werden als in der vorliegenden Erfindung enthalten.

Claims (8)

  1. Eine Vorrichtung zum Steuern eines Robotersystems eingerichtet zum Steuern des Robotersystems durch Verwenden einer Mastersteuerung, eingebettet in das Robotersystem, wobei die Mastersteuerung aufweist: eine Laufzeiteinheit; eine Speichereinheit eingerichtet zum Speichern eines Laufzeitcodes zum Ausführen einer Laufzeit, einer Laufzeitsymboltabelle und eines Anwendungscodes zum Durchführen von designierten Funktionen des Robotersystems; eine Operationseinheit eingerichtet zum Durchführen einer Operation zum Ausführen der Laufzeit und Steuern eines Flusses von Signalen zur Steuerung des Robotersystems; und eine Kommunikationseinheit eingerichtet zum Kommunizieren mit einem Hostcomputer des Robotersystems, und wobei die Laufzeiteinheit aufweist: ein Anwendungsladermodul eingerichtet zum Laden das Anwendungscodes; und ein Anwendungsprogrammschnittstellemodul eingerichtet zum Ausführen des geladenen Anwendungscodes.
  2. Die Vorrichtung von Anspruch 1, wobei die Laufzeiteinrichtung ferner aufweist ein Steuerungsformverwaltungsmodul eingerichtet zum Erkennen einer Slavesteuerung, eingebettet in das Robotersystem, und dynamisch Verwalten einer Konfiguration von Systeminformation des Robotersystems.
  3. Die Vorrichtung von Anspruch 1, wobei die Laufzeiteinheit ferner aufweist ein Datenloggermodul eingerichtet zum Erzeugen von Logdaten aus Operation der Laufzeit.
  4. Die Vorrichtung von Anspruch 1, wobei das Anwendungsprogramschnittstellemodul eingerichtet ist zum Ausführen des Anwendungscodes durch Verwendung eines Systemaufrufs eines Betriebssystems des Robotersystems, und ein Parameter, referenziert für Ausführung des Anwendungscodes, transferiert wird unter Verwendung einer Registrierung der Vorrichtung zum Steuern eines Robotersystems.
  5. Ein Verfahren eines Steuerns eines Robotersystems durch Verwendung einer Mastersteuerung, eingebettet in das Robotersystem, das Verfahren aufweisend: Initialisieren der Mastersteuerung durch Verwendung eines Bootloaders, eingerichtet in dem Robotersystem; Ausführen einer Laufzeit durch Laden eines Laufzeitausführungscodes, gespeichert in einem Speicherplatz der Mastersteuerung; und Laden und Ausführen eines Anwendungsprogramms, gespeichert in einem Speicherplatz der Mastersteuerung.
  6. Das Verfahren von Anspruch 5, ferner aufweisend, nach Ausführen der Laufzeit, Erzeugen von Logdaten aus Operation der Mastersteuerung.
  7. Das Verfahren von Anspruch 5, wobei das Robotersystem ferner aufweist eine Slavesteuerung, und ferner aufweisend, nach Ausführen der Laufzeit, dynamisch Verwalten der Slavesteuerung und einer Konfiguration von Systeminformation.
  8. Das Verfahren von Anspruch 5, wobei in dem Schritt von Laden und Ausführen des Anwendungsprogramms, ein Systemaufruf eines Betriebssystems des Robotersystems verwendet wird, und ein Parameter für Ausführen des Anwendungsprogramms transferiert wird unter Verwendung einer Registrierung der Mastersteuerung.
DE112010005509T 2010-04-23 2010-04-23 Robotersystemsteuerverfahren und eine Vorrichtung davon Ceased DE112010005509T8 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2010/002587 WO2011132807A1 (ko) 2010-04-23 2010-04-23 로봇 시스템 제어 방법 및 그 장치

Publications (2)

Publication Number Publication Date
DE112010005509T5 true DE112010005509T5 (de) 2013-03-14
DE112010005509T8 DE112010005509T8 (de) 2013-05-16

Family

ID=44834320

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010005509T Ceased DE112010005509T8 (de) 2010-04-23 2010-04-23 Robotersystemsteuerverfahren und eine Vorrichtung davon

Country Status (5)

Country Link
US (1) US20130030568A1 (de)
JP (1) JP2013518733A (de)
CN (1) CN103003033A (de)
DE (1) DE112010005509T8 (de)
WO (1) WO2011132807A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017159562A1 (ja) * 2016-03-14 2017-09-21 オムロン株式会社 動作情報生成装置
EP3376441B1 (de) * 2017-03-15 2021-07-14 Siemens Aktiengesellschaft Verfahren zur ausführung eines maschinenlernmodells auf einer speicherbeschränkten industriellen vorrichtung
CN107336236A (zh) * 2017-06-20 2017-11-10 天津市青创空间科技企业孵化器有限公司 一种机器人多功能中央控制系统
DE102017216093B4 (de) * 2017-09-12 2019-05-02 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Parametrierung eines robotischen Manipulators
CN110253569B (zh) * 2019-05-22 2021-07-20 深圳镁伽科技有限公司 用于控制机器人运动的运动控制部件、系统以及方法
CN111026120B (zh) * 2019-12-20 2024-02-06 深圳市优必选科技股份有限公司 一种机器人及其数据加载方法和装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0281203A (ja) * 1988-09-19 1990-03-22 Tokico Ltd ロボット制御システム
US5309351A (en) * 1988-10-27 1994-05-03 Texas Instruments Incorporated Communications, information, maintenance diagnostic and training system
JP3310990B2 (ja) * 1991-04-15 2002-08-05 キヤノン株式会社 電子機器
JPH07100780A (ja) * 1993-10-04 1995-04-18 Tsubakimoto Chain Co 産業用ロボットの制御装置
DE59812696D1 (de) * 1997-12-06 2005-05-04 Elan Schaltelemente Gmbh & Co Verfahren zur Überwachung einer Bremseinrichtung, insbesondere eines Handhabungsgerätes, sowie Überwachungs- und Steuergerät
US6243857B1 (en) * 1998-02-17 2001-06-05 Nemasoft, Inc. Windows-based flowcharting and code generation system
US6571389B1 (en) * 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment
US7505817B2 (en) * 2000-03-06 2009-03-17 Siemens Technology-To-Business Center, Llc Programming automation by demonstration
US6856985B1 (en) * 2000-04-10 2005-02-15 Storage Technology Corporation Server based control of robotic libraries
US20030005407A1 (en) * 2000-06-23 2003-01-02 Hines Kenneth J. System and method for coordination-centric design of software systems
US7302676B2 (en) * 2000-08-07 2007-11-27 Siemens Aktiengesselschaft Method for debugging flowchart programs for industrial controllers
JP4480249B2 (ja) * 2000-09-25 2010-06-16 株式会社ジェイテクト 操作盤
US6931351B2 (en) * 2001-04-20 2005-08-16 International Business Machines Corporation Decision making in classification problems
JP2003044277A (ja) * 2001-07-31 2003-02-14 Digital Electronics Corp プログラム開発支援装置、プログラム開発支援プログラムおよびそれを記録した記録媒体
JP3926119B2 (ja) * 2001-08-10 2007-06-06 株式会社東芝 医療用マニピュレータ
US7209971B1 (en) * 2001-12-11 2007-04-24 Microsoft Corporation Architecture and run-time environment for network filter drivers
CA2420479A1 (en) * 2003-02-13 2004-08-13 Ibm Canada Limited - Ibm Canada Limitee Flow debugging software and method
US8281242B2 (en) * 2003-07-30 2012-10-02 National Instruments Corporation Editable data tooltips
JP2005246543A (ja) * 2004-03-04 2005-09-15 Yaskawa Electric Corp ロボットシステム
JP2006106823A (ja) * 2004-09-30 2006-04-20 Toshiba Corp 電子機器、該電子機器にて実行されるオペレーティングシステム起動方法および該電子機器にて実行されるオペレーティングシステムの初期化方法
DE102004062852A1 (de) * 2004-12-27 2006-07-06 Siemens Ag Steuerung einer Maschine mit Debuggfunktionalität
US20060225107A1 (en) * 2005-04-01 2006-10-05 Microsoft Corporation System for running applications in a resource-constrained set-top box environment
AU2006236838B2 (en) * 2005-04-15 2011-07-07 Esprida Corporation Apparatus and method for managing a network of intelligent devices
JP4661505B2 (ja) * 2005-09-30 2011-03-30 ソニー株式会社 情報処理装置、情報処理方法及びそのプログラム
US7765825B2 (en) * 2005-12-16 2010-08-03 Intel Corporation Apparatus and method for thermal management of a memory device
KR100762366B1 (ko) * 2005-12-30 2007-10-01 삼성중공업 주식회사 Fpga 소자를 이용한 로봇 제어 시스템
EP1870787B1 (de) * 2006-06-20 2010-04-14 Siemens Aktiengesellschaft Verfahren zur Überwachung eines zyklischen Steuerungsprogramms
US7701869B2 (en) * 2006-07-21 2010-04-20 National Instruments Corporation Generating a data flow diagram
US20080046121A1 (en) * 2006-08-17 2008-02-21 Innovati, Inc. Developing system of re-configurable modularized robot
EP2069923A4 (de) * 2006-09-25 2012-02-29 Typemock Ltd Verfahren und system zum isolieren von softwarekomponenten
KR20080113685A (ko) * 2007-06-25 2008-12-31 성균관대학교산학협력단 모듈화된 모바일 로봇 시스템
KR100945884B1 (ko) * 2007-11-14 2010-03-05 삼성중공업 주식회사 내장형 로봇 제어 시스템
US8458667B2 (en) * 2008-01-30 2013-06-04 National Instruments Corporation Debugging a statechart for a real time target
JP4870790B2 (ja) * 2009-02-20 2012-02-08 株式会社野村総合研究所 クラスタリングシステム
JP5059048B2 (ja) * 2009-04-13 2012-10-24 彼方株式会社 情報処理装置、システム、方法及びプログラム
AU2010242542B2 (en) * 2009-05-01 2015-07-16 Technological Resources Pty. Limited Control system for autonomous operation

Also Published As

Publication number Publication date
WO2011132807A1 (ko) 2011-10-27
CN103003033A (zh) 2013-03-27
JP2013518733A (ja) 2013-05-23
DE112010005509T8 (de) 2013-05-16
US20130030568A1 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE102015102678B4 (de) Systeme und verfahren zur abbild-recovery
DE112016003949T5 (de) Webbasierte programmierumgebung für eingebettete geräte
DE102008019040B4 (de) Verfahren und Steuergerät zur Steuerung eines Automatisierungssystems
DE102012009482B4 (de) Funktional erweiterbares Fahrzeugsteuergerät und Verfahren zum Ergänzen der Funktionalität eines Fahrzeugsteuergeräts
DE112010005509T5 (de) Robotersystemsteuerverfahren und eine Vorrichtung davon
DE102017104077A1 (de) Bereitstellung der hyperkonvergierten Bare-Metal-Infrastruktursysteme durch den Top-of-Rack-Switch
DE102010001985A1 (de) Vorrichtung zum Schalten des Betriebs einer virtuellen Maschine zwischen mehreren Computern, die der gleichen Computerplattform zugeordnet sind, und entsprechende Schaltverfahren
DE112011100323T5 (de) Architekturübergreifende Migration virtueller Maschinen
DE102013103293A1 (de) Serverschrank und Verfahren für gleichzeitiges Aktualisieren der Basisdatenaustauschsysteme
DE102009031126A1 (de) Aktivieren der funktionalen Abhängigkeit in einem Multifunktionsgerät
DE112010003144T5 (de) Erweiterbare Grundstruktur zur Unterstützung verschiedener Einsatzarchitekturen
EP3128383B1 (de) Feldgerät
DE102010011658A1 (de) Applikationsplattform und Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit einer solchen
DE112018004247T5 (de) Datenverarbeitungsauslagerung unter verwendung einer speicherinternen codeausführung
EP3230856A1 (de) Verfahren zum update von firmware von geräten
DE112012004247T5 (de) Passives Überwachen virtueller Systeme unter Verwendung einer erweiterbaren Indexierung
EP2506098A1 (de) Anordnung und Verfahren für den Betrieb einer industriellen Automatisierungsanordnung mit einer Mehrzahl programmierbarer Automatisierungskomponenten und einer Mehrzahl Automatisierungsprogramme
DE202015101904U1 (de) Computersystem und Speichervorrichtung zum Aktualisieren von Firmwarekomponenten
DE112012004793T5 (de) Verfahren und System zum Erzeugen einer virtuellen Anwendung
DE102018110020A1 (de) Verfahren zum Erzeugen eines auf einem Testgerät ausführbaren Modells eines technischen Systems und Testgerät
DE102018202446A1 (de) Verfahren zum Modularisieren einer Softwarearchitektur
DE102012102883A1 (de) Verfahren und System zum Erzeugen eines Quellcodes für ein Computerprogramm zur Ausführung und Simulation eines Prozesses
EP3771148A1 (de) Verfahren zum automatischen konfigurieren, cluster-arbeitsknoten, cluster, netzwerk, computerprogramm und computerlesbares medium
DE102012217328A1 (de) Verfahren zum Simulieren eines Steuergeräts

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: B25J0013060000

Ipc: B25J0009180000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: B25J0013060000

Ipc: B25J0009180000

Effective date: 20140513

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final