[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE102014103738B3 - Visuelle fehlersuche bei roboteraufgaben - Google Patents

Visuelle fehlersuche bei roboteraufgaben Download PDF

Info

Publication number
DE102014103738B3
DE102014103738B3 DE102014103738.3A DE102014103738A DE102014103738B3 DE 102014103738 B3 DE102014103738 B3 DE 102014103738B3 DE 102014103738 A DE102014103738 A DE 102014103738A DE 102014103738 B3 DE102014103738 B3 DE 102014103738B3
Authority
DE
Germany
Prior art keywords
robot
action
module
visual
trajectory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102014103738.3A
Other languages
English (en)
Inventor
Leandro G. Barajas
David W. Payton
Li Yang Ku
Ryan M. Uhlenbrock
Darren Earl
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Application granted granted Critical
Publication of DE102014103738B3 publication Critical patent/DE102014103738B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0205Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
    • G05B13/026Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system using a predictor
    • 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/40311Real time simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Ein Robotersystem enthält einen Roboter, Sensoren, die Statusinformationen erfassen, welche eine Position und Orientierung des Roboters und eines Objekts innerhalb des Arbeitsraums enthalten, und einen Controller. Der Controller, der eine Arbeitsweise des Roboters visuell auf Fehler untersucht, enthält ein Simulatormodul, ein Aktionsplanermodul und eine graphische Benutzerschnittstelle (GUI). Das Simulatormodul empfängt die Statusinformationen und erzeugt in Ansprechen auf Markierungsbefehle visuelle Markierungen als graphische Darstellungen des Objekts und des Roboters. Ein Aktionsplanermodul wählt eine nächste Aktion des Roboters. Das Markierungsgeneratormodul erzeugt die Markierungsbefehle und gibt diese in Ansprechen auf die gewählte nächste Aktion an das Simulatormodul aus. Die GUI empfängt die visuellen Markierungen, die gewählte zukünftige Aktion und die Eingabebefehle und zeigt diese an. Mit Hilfe des Aktionsplanermoduls werden die Position und/oder die Orientierung der visuellen Markierungen in Echtzeit modifiziert, um die Arbeitsweise des Roboters zu verändern.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft die visuelle Fehlersuche bei Roboteraufgaben.
  • HINTERGRUND
  • Roboter sind elektromechanische Vorrichtungen, die zum Manipulieren von Objekten unter Verwendung einer Reihe von Gliedern, Aktoren und Greiforganen in der Lage sind. Die Glieder eines Roboters sind typischerweise mit Hilfe von Gelenken miteinander verbunden, wobei jedes von diesen durch einen oder mehrere Gelenkaktoren voneinander unabhängig oder abhängig angetrieben werden kann. Jedes Gelenk stellt eine unabhängige Steuerungsvariable oder einen Freiheitsgrad dar. Greiforgane sind die speziellen Vorrichtungen, die verwendet werden, um eine befohlene Arbeitsaufgabenabfolge auszuführen, etwa das Ergreifen eines Arbeitswerkzeugs oder das Stapeln von einer Komponente auf eine andere.
  • Alle Modifikationen an einem Objekt, das von einem Roboter beim Ausführen einer gegebenen Arbeitsaufgabenabfolge gehandhabt wird, erfordert typischerweise ein umfassendes Neutrainieren des Roboters. Dies kann auch dann zutreffen, wenn sich die Oberflächen des ergriffenen Objekts in einer anschließenden Arbeitsaufgabenabfolge nicht verändern. Auf ähnliche Weise können Veränderungen bei der Positionierung oder Orientierung eines Objekts in der Arbeitsumgebung eines Roboters als Folge eines Fehlers und/oder lockererer Betriebsbedingungen ein umfassendes Neutrainieren des Roboters erfordern, sei es über eine Programmierung oder über ein manuelles Neutrainieren des Roboters durch ein Rückwärtsbewegen der Gelenke und eine Aufgabendemonstration. Jedoch lässt sich eine existierende Steuerungssoftware nicht einfach umrüsten, um Anforderungen aufgrund sich verändernder Flexibilität zu erfüllen.
  • Die Druckschrift DE 697 35 269 T2 offenbart ein Steuerungsverfahren für einen schrittweisen Betrieb eines Roboters, bei dem ein Roboter an einer Graphikanzeigevorrichtung, die mit einer Robotersteuerung verbunden ist, angezeigt wird und über eine mit der Graphikanzeigevorrichtung verbundene Zeigevorrichtung im Tippbetrieb gesteuert werden kann.
  • In der Druckschrift DE 696 03 009 T2 ist ein Bediengerät zum Einlernen eines Roboters offenbart, das eine Anzeigeeinrichtung umfasst, auf der durch Roboterprogrammierschritte verursachte Bewegungen des Roboters grafisch dargestellt werden und eine Bewegung des Roboters über Eingaben an die Anzeigeeinrichtung gesteuert werden kann.
  • Die Druckschrift US 6 330 495 B1 offenbart ein Offline-Lernverfahren zum Einlernen mehrerer Roboter, die einander teilweise überschneidende Aktionsräume aufweisen, wobei Modelle aller betroffenen Roboter angezeigt werden, jeder Roboter graphisch gewählt und eingelernt werden kann und mögliche Kollisionen/Störungen in den einander teilweise überschneidenden Aktionsräumen automatisch berücksichtigt werden.
  • In der Druckschrift JP 2011-189 431 A ist ein Robotersystem offenbart, bei dem ein Bediengerät zum Einlernen eines Roboters über eine eingebaute Kamera Bilder des Roboters aufnimmt und diese mit einem 3D-Modell des Roboters abgeglichen werden, sodass der Roboter mithilfe eines berührungsempfindlichen Bildschirms des Bediengeräts manuell gesteuert werden kann.
  • Die Druckschrift JP 2006-350 602 A offenbart ein Bediengerät mit einem berührungsempfindlichen Bildschirm für eine Vorrichtung zur Entnahme von Objekten aus einer Gußform, bei dem die Vorrichtung auf dem Bediengerät graphisch angezeigt wird und über Fingerbewegungen auf dem berührungsempfindlichen Bildschirm bewegt werden kann.
  • Die Aufgabe der Erfindung besteht darin, ein Robotersystem bereitzustellen, das einem Bediener die Möglichkeit gibt, anhand einer Visualisierung aktuell geplanter Aktionen in den geplanten Ablauf des Roboterprogramms in Echtzeit einzugreifen, um Korrekturen vorzunehmen.
  • Diese Aufgabe wird durch die Robotersysteme der Ansprüche 1 und 9 gelöst.
  • ZUSAMMENFASSUNG
  • Es wird hier ein Robotersystem offenbart. Das Robotersystem enthält einen Roboter und einen Controller mit einer graphischen Benutzerschnittstelle (GUI). Der Controller ist so ausgestaltet, d. h. ausreichend mit Hardware ausgestattet und in Software programmiert, dass er ermöglicht, dass ein Bediener/Benutzer des Robotersystems gegenwärtige und künftige Aktionen des Roboters auf visuelle Weise ”debugged” bzw. nach Fehlern darin sucht, speziell mit Hilfe der Manipulation eines Satzes von angezeigten visuellen Markierungen. Die vorliegende Herangehensweise soll eine Benutzerinteraktion mit geplanten Aktionen des Roboters in einer simulierten Umgebung ermöglichen.
  • In der modernen Produktion besteht eine fortlaufende Bestrebung, flexible Montagelinien zu erreichen, die in der Lage sind, neue oder stärker veränderte Produkte mit einem minimalen Betrag an Stillstandszeit zu erzeugen. Das Robotersystem der vorliegenden Erfindung spricht dieses Bedürfnis teilweise mit Hilfe einer Funktionalität zur intuitiven graphischen Planung von Aktionen an. Die visuellen Markierungen, die in dem Robotersystem in allen seinen offenbarten Ausführungsformen verwendet werden, ermöglichen, dass Benutzer auf visuelle Weise die Genauigkeit geplanter zukünftiger Aufgaben oder Aktionen des Roboters untersuchen, um widerstreitende Aktionen zu vermeiden, indem geplante Greiforgantrajektorien für diese Aktionen zeitlich vor den Aktionen beobachtet werden, und um die geplanten Aktionen zu justieren, indem die visuellen Markierungen mit Hilfe der GUI in Echtzeit verändert werden.
  • Der beschriebene Controller kombiniert ein Aktionsplanermodul mit einem Simulatormodul, um verschiedene Wettbewerbsvorteile bereitzustellen. Beispielsweise können alle möglichen Aktionstrajektorien und zukünftigen Roboter- und Objektpositionen und -Orientierungen mit Hilfe der visuellen Markierungen in einer simulierten Umgebung dargestellt werden, die mit Hilfe eines Anzeigebildschirms der GUI betrachtet werden kann. Indem die Aktionsplaner- und Simulatormodule zusammengefasst werden, ermöglicht der Controller eine Visualisierung aller aktuell geplanten Aktionen und er ermöglicht außerdem notwendige Steuerungsjustierungen mit Hilfe der GUI. Dies wiederum ermöglicht, dass ein Benutzer das Verhalten des Roboters in Echtzeit verändert. Das heißt, dass ein Benutzer alle möglichen zukünftigen Aktionen des Roboters schnell erkennen kann und schnell feststellen kann, ob das Aktionsplanermodul eine wünschenswerte Lösung gewählt hat. Eine derartige Herangehensweise kann die Ausführung von Arbeitsaufgabenabfolgen mit mehreren Schritten, etwa das Stapeln von Objekten, sowie komplexere Arbeitsaufgaben in einer sich konstant verändernden Arbeitsumgebung ermöglichen.
  • Bei einer beispielhaften Ausführungsform kann das Robotersystem einen Roboter, der auf Eingabebefehle anspricht, Sensoren, die einen Satz von Statusinformationen messen, und einen Controller enthalten. Die Statusinformationen können eine Position und eine Orientierung des Roboters und eines Objekts, das sich innerhalb eines Arbeitsraums des Roboters befindet, enthalten. Der Controller enthält einen Prozessor und einen Speicher, in dem Anweisungen zur visuellen Fehlersuche in bzw. zum visuellen Debuggen einer Operation des Roboters aufgezeichnet sind. Der Controller enthält ein Simulatormodul, ein Aktionsplanermodul, ein Markierungsgeneratormodul und eine GUI.
  • Das Simulatormodul empfängt die Statusinformationen von den Sensoren und gibt visuelle Markierungen als eine graphische Darstellung des Objekts und des Roboters im Arbeitsraum aus. Das Aktionsplanermodul wählt zukünftige Aktionen des Roboters. Das Markierungsgeneratormodul gibt Markierungsbefehle an das Simulatormodul aus. Die GUI, die einen Anzeigebildschirm enthält, empfängt die visuellen Markierungen und die gewählte zukünftige Aktion und zeigt diese an, und sie empfängt außerdem die Eingabebefehle. Mit Hilfe der GUI und des Aktionsplanermoduls können die Position und/oder Orientierung der visuellen Markierungen von einem Benutzer in Echtzeit modifiziert werden, um die Arbeitsweise des Roboters zu verändern.
  • Es wird auch ein Verfahren zur visuellen Fehlersuche im Roboter offenbart. Das Verfahren umfasst, dass mit Hilfe eines Simulatormoduls der Satz von Statusinformationen von den Sensoren empfangen wird, dass mit Hilfe eines Markierungsgeneratormoduls mehrere Markierungsbefehle an das Simulatormodul übertragen werden, und dass visuelle Markierungen in Ansprechen auf die Markierungsbefehle mit Hilfe des Simulatormoduls als graphische Darstellungen des Objekts und des Roboters im Arbeitsraum erzeugt werden. Das Verfahren umfasst außerdem, dass die visuellen Markierungen und die gewählte zukünftige Aktion auf einem Anzeigebildschirm einer GUI angezeigt werden, dass eine zukünftige Aktion des Roboters mit Hilfe eines Aktionsplanermoduls gewählt wird, und dass mit Hilfe des Aktionsplanermoduls die Position und/oder die Orientierung der visuellen Markierungen in Echtzeit in Ansprechen auf Eingabesignale modifiziert werden, um dadurch die Arbeitsweise des Roboters zu verändern.
  • Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich leicht aus der folgenden genauen Beschreibung der besten Arten, um die Erfindung auszuführen, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Darstellung eines Robotersystems und eines Controllers, welche eine Funktionalität zur visuellen Fehlersuche, die hier beschrieben wird, bereitstellen.
  • 1A ist eine schematische Darstellung von beispielhaften Logikelementen, die innerhalb der Struktur des Controllers des in 1 gezeigten Robotersystems verwendbar sind.
  • 2 ist eine schematische Veranschaulichung in perspektivischer Ansicht eines beispielhaften ersten Zustands der visuellen Fehlersuche für den Controller von 1, welche sich nähernde und sich weg bewegende Trajektorienmarkierungen zeigt.
  • 3 ist eine schematische Veranschaulichung in perspektivischer Ansicht eines beispielhaften zweiten Zustands der visuellen Fehlersuche, der Objektmarkierungen nach dem Ergreifen eines Objekts zeigt.
  • 4 ist eine schematische Veranschaulichung in perspektivischer Ansicht eines beispielhaften dritten Zustands der visuellen Fehlersuche, die Kollisionsmarkierungen zeigt.
  • 5 ist ein Flussdiagramm, das eine beispielhafte Ausführungsform eines Verfahrens zur visuellen Fehlersuche in einer Roboteraufgabe mit Hilfe des in 1 gezeigten Robotersystems beschreibt.
  • GENAUE BESCHREIBUNG
  • Mit Bezug auf die Zeichnungen, bei denen gleiche Bezugszeichen in den mehreren Ansichten gleiche oder ähnliche Komponenten bezeichnen, ist in 1 auf schematische Weise ein beispielhaftes Robotersystem 10 mit einem Roboter 12 gezeigt. Bei einer beispielhaften Ausführungsform kann der Roboter 12 ein Produktionsroboter sein, der betrieben werden kann, um Materialhandhabungs- oder Montageaufgaben auszuführen, beispielsweise ein Sechsachsenroboter der Art, die in der Technik bekannt ist, oder ein autonomer geschickter Roboter mit mindestens sechs Freiheitsgraden. Aktionen des Roboters 12 können mit Hilfe eines Controllers 50 (CTRL) wie nachstehend beschrieben visuell auf Fehler untersucht werden. Der Controller 50 führt Anweisungen aus, die ein Verfahren 100 verkörpern, wobei ein Beispiel dafür in 5 gezeigt ist. Beispielhafte Bildschirme einer graphischen Benutzerschnittstelle (GUI) 52 zur graphischen oder visuellen Fehlersuche in einer ”virtuellen Welt” sind in 24 dargestellt, wobei diese Figuren alle nacheinander nachstehend erörtert werden.
  • Wie in der Technik bekannt ist, sind herkömmliche Greiforgane so konstruiert, dass sie in einer hochgradig strukturierten Arbeitsumgebung mit einem minimalen Betrag an Abweichung arbeiten. Greiforgane sind oft auf eine Bewegung mit Hilfe starr definierter Trajektorien beschränkt. Beispielsweise können Annäherungstrajektorien und Wegbewegungstrajektorien für jede neue Roboteraufgabe programmiert werden. Auf ähnliche Weise sind Industrieroboter oft mit einem festgelegten Satz von gewünschten Bewegungen programmiert. Folglich wird bei derartigen Systemen eine Planung von zukünftigen Aktionen nicht verwendet. Zudem verlassen sich herkömmliche Roboter tendenziell darauf, dass Objekte in ihrer Arbeitsumgebung in einer konsistenten und in hohem Maß vorhersagbaren Weise platziert werden. Diese Einschränkungen führen daher dazu, dass herkömmliche Herangehensweisen zur Robotersteuerung relativ unflexibel und in Echtzeit schwer zu modifizieren sind.
  • Auch Robotersysteme, die eine sensorische Rückmeldung zur autonomen Trajektorienplanung beinhalten, benötigen eine erhebliche Interaktion mit Programmierern, um die Roboteraufgabe korrekt zu identifizieren, die benötigten Bewegungsparameter zu justieren, die benötigten Greifpositionen des Manipulators festzulegen und Aufgabentrajektorien an kritischen Stellen zu justieren. Die vorliegende Herangehensweise soll die Zeit zur Fehlersuche und Entwicklung für Robotersysteme reduzieren, die ein komplexes Aktionsplanungssystem erfordert, beispielsweise durch Vereinfachen von Benutzerinteraktionen.
  • Der in 1 gezeigte Roboter 12 kann eine Basis 14 enthalten, die an einer Oberfläche 11 positioniert ist, etwa einer Oberfläche des Fußbodens einer Produktionsanlage. Der Roboter 12 kann einen beweglichen Arm 16 mit einem oder mehreren Segmenten 18 enthalten. Ein Greiforgan 20 ist an einem Ende des Segments 18 des Arms 16 positioniert, das mit Bezug auf die Basis 14 das distalste bzw. das am weitesten entfernte ist. Das Greiforgan 20 kann bei einer beispielhaften Ausführungsform ein Robotergreifer sein, der mehrere Finger 27 aufweist, die zum Ergreifen eines Objekts 23 geeignet sind.
  • Robotergelenke 17 verbinden die verschiedenen Armsegmente 18. Jedes Robotergelenk 17 kann durch einen Gelenkaktor 19, etwa einen Motor angetrieben werden, um das Greiforgan 20 während der Ausführung einer befohlenen Arbeitsaufgabenabfolge (Pfeil 88) zu bewegen. Rohsensordaten (Pfeil 15), die aktuelle Roboterverhaltenswerte beschreiben, werden an den Controller 50 weitergeleitet und von dem Controller 50 verwendet, um aktuelle und zukünftige Aktionen des Roboters 12 in Echtzeit aktiv zu überwachen und visuell zu debuggen. Die Rohsensordaten (Pfeil 15) können Verhaltens- und Zustandswerte des Roboters 12 beschreiben. Beispielhafte Elemente für die Rohsensordaten (Pfeil 15) können ein gemessenes oder befohlenes Drehmoment der Gelenkaktoren 19, eine von dem Greiforgan 20 auf das Objekt 23 aufgebrachte Klemmkraft, eine Geschwindigkeit und/oder eine Beschleunigung des Greiforgans 20 und/oder von beliebigen seiner Gelenkaktoren 19 usw. umfassen.
  • Zur Erfassung derartiger Daten kann ein Sensorfeld 33 aus einem oder mehreren Sensoren mit dem Roboter 12 verbunden oder daran positioniert sein, etwa an der Basis 14. Das Sensorfeld 33 kann Kraft-, Druck- und/oder Temperatursensoren, Drehmomentsensoren, Beschleunigungsmesser, Positionssensoren und dergleichen enthalten. Das Sensorfeld 33 kann außerdem sogenannte ”weiche” Sensoren enthalten, z. B. eine Software, die Werte aus direkt gemessenen Werten auf indirekte Weise berechnet, wie in der Technik gut verstanden wird. Zudem kann ein Umgebungssensor 25 wie etwa ein Sichtsystem mit Bezug auf den Roboter 12 positioniert und ausgestaltet sein, um alles in seinem Gesichtsfeld (Pfeil V), z. B. das Verhalten des Roboters 12 in seiner Arbeitsumgebung oder seinem Arbeitsraum, als Umgebungsinformationen (Pfeil 26) zu filmen, auf Video aufzunehmen, bildlich zu erfassen und/oder auf andere Weise aufzuzeichnen, welche an den Controller 50 übertragen werden.
  • Auf die Funktionalität des Controllers 50 von 1 kann mit Hilfe der GUI 52 zugegriffen werden. Daher kann die GUI 52 als Mensch-Maschine-Schnittstelle mit einem Anzeigebildschirm 55, etwa einem berührungsempfindlichen Bildschirm, einem Monitor oder einer anderen visuellen Anzeigevorrichtung ausgeführt sein, die betrieben werden kann, um Steuerungseingaben (Pfeil 53) von einem Benutzer zu empfangen. Die GUI 52 kann außerdem betrieben werden, um Steuerungseingabebefehle (Pfeil CC) zu übertragen und um Rückmeldungsinformationen (Pfeil FB) zu empfangen, wie nachstehend erläutert wird. Der Controller 50 kann Logikelemente 54 zur visuellen Fehlersuche in bzw. zum Debuggen von Operationen des Roboters 12, wie in 1A gezeigt ist, sowie beliebige notwendige Prozessanweisungen, die zum Ausführen des vorliegenden Verfahrens 100 geeignet sind, enthalten.
  • Der Controller 50 von 1 kann als ein oder mehrere digitale Computer ausgeführt sein, der einen oder mehrere Prozessoren (P) und konkreten, nicht vorübergehenden Speicher (M), beispielsweise Festwertspeicher (ROM), optischen Speicher, magnetische Massenspeichermedien usw. sowie genügend Speicher mit wahlfreiem Zugriff (RAM), elektrisch programmierbaren Festwertspeicher (EPROM) und dergleichen aufweist. Der Controller 50 kann außerdem einen Hochgeschwindigkeits-Taktgeber, Analog/Digital-Schaltungen (A/D-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) und beliebige benötigte Eingabe/Ausgabe-Schaltungen (I/O-Schaltungen), I/O-Vorrichtungen und Kommunikationsschnittstellen sowie Signalaufbereitungs- und Pufferelektronik enthalten. Eine Eingabevorrichtung 13 kann von der GUI 52 getrennt oder darin integriert sein. Die Eingabevorrichtung 13 kann beispielsweise eine 3D-Maus, ein Joystick oder eine andere Steuerungsvorrichtung sein, die geeignet ist, um den Roboter 12 mit Hilfe von Eingabevorrichtungssignalen (Pfeil 22) vor oder während der Verwendung des vorliegenden Verfahrens 100 zu bewegen oder rückwärts zu verfahren.
  • Das heißt, dass der Roboter 12 von 1 ”geteacht” werden kann, um eine spezielle Arbeitsaufgabenabfolge auszuführen, mit Hilfe einer von Menschen unterstützten Demonstration und eines von Menschen unterstützten Lernens. Es können visuelle Markierungen programmiert und aufgezeichnet werden, die Merkmale der Arbeitsumgebung repräsentieren, in welcher der Roboter 12 arbeitet, beispielsweise die physikalische Umgebung des Roboters 12. Derartige visuelle Markierungen können reale Objekte repräsentieren, die in der Arbeitsumgebung vorhanden sind, etwa wie gezeigt ein beispielhaftes Objekt 23 oder ein anderes Objekt 21. Außerdem speichert der Controller 50 ein Motorschema 28 im Speicher (M), wobei das Motorschema 28 die erforderlichen Aktionen oder Fähigkeiten des Roboters 12 beschreibt. Das Motorschema 28 kann bei der automatischen Ausführung einer Arbeitsaufgabenabfolge durch die visuellen Markierungen geführt werden, um die tatsächliche Umgebung des Roboters 12 zu berücksichtigen, wie sie beispielsweise von den Umgebungssensoren 25 wahrgenommen wird, wie nachstehend beschrieben ist.
  • Daher können dem Roboter 12 als eine Voraussetzung für das Ausführen des vorliegenden Verfahrens 100 alle erforderlichen Greifpositionen und Annäherungs/Wegbewegungsrichtungen geteacht werden, während er lernt, wie ein Objekt, beispielsweise das Objekt 23, ergriffen werden soll. Diese Trainingsinformationen werden zur Laufzeit mit allen Markierungen verknüpft, die von dem Controller 50 beliebigen wahrgenommenen Merkmalen zugewiesen wurden, welche mit Hilfe der Umgebungssensoren 25 oder von anderen Sensoren in der Umgebung, in welcher der Roboter 12 arbeitet, detektiert wurden. Daher kann der Roboter 12 zunächst alle notwendigen Markierungen mit Hilfe einer menschlichen Demonstration lernen und der Controller 50 kann diese zunächst aufzeichnen, und danach verknüpft der Controller 50 auf dynamische Weise gelernte Markierungen mit beliebigen detektierten Wahrnehmungsmerkmalen in der Arbeitsumgebung des Roboters 12. Diese Funktionalität ermöglicht eine schnelle Anpassung auf eine sich verändernde Umgebung, während dennoch ermöglicht wird, dass der Roboter 12 einen mehrschrittigen Montageprozess abschließt.
  • Ein Beispiel für das Erlernen einer Aufgabe unabhängig davon, ob sie mit Hilfe eines ”Handprogrammiergeräts” in einer von Menschen demonstrierten Aufgabe oder anderweitig befohlen wird, ist eine einfache Ergreifen- und Aufnehmen-Aufgabe, bei der der Roboter 12 von 1 das Greiforgan 20 verwendet, um das Objekt 23 zu ergreifen und anzuheben. Ein Benutzer des Roboters 12 kann das Greiforgan 20 in eine mit Bezug auf das Objekt 23 gewünschte Position rückwärts verfahren oder den Roboter 12 mit Hilfe der Benutzereingabevorrichtung 13 und der Eingabevorrichtungssignale (Pfeil 22) bewegen und dann das Objekt 23 unter Verwendung des Greiforgans 20 korrekt ergreifen, beispielsweise indem die Finger 27 manuell oder automatisch mit ausreichender Kraft betätigt werden, um eine geeignete Griffpose herzustellen. Dann bewegt der Benutzer den Arm 16 und das Greiforgan 20, um das Objekt 23 aufzunehmen und zu bewegen.
  • Obwohl der Roboter 12 von 1 potentiell Aufgabenabfolgen und einige relevante Wahrnehmungsdaten einfach dadurch identifizieren kann, dass er einen menschlichen Bediener beobachtet, der die Aufgabe ausführt, besteht einer der herausfordernderen Teile des Handhabens von neuen Objekten und des Erzeugens neuer Anordnungen darin, zu bestimmen, wo das Greiforgan 20 platziert werden soll und wie ein Werkzeugmittelpunkt in eine korrekte Platzierung gebracht werden kann. Indem man einen menschlichen Bediener den Arm 16 und das Greiforgan 20 auf manuelle Weise durch jede Aufgabe hindurch bewegen lässt, während der Roboter 12 seine eigenen Rohsensordaten (Pfeil 15) mit Hilfe des Controllers 50 aufzeichnet, kann jede Demonstration einen wertvollen Datenstrom mit Erfahrungen bereitstellen, aus dem der Roboter 12 diese schwierigen Probleme bei einer Nachverarbeitung lösen kann, d. h. bei dem Schritt im unmittelbaren Anschluss an das von Menschen unterstützte Erlernen.
  • Mit Bezug auf Roboterfähigkeiten beruht die Verhaltensnachahmung einer demonstrierten Arbeitsaufgabe auf dem Erkennen und Wiederholen bekannter Roboterfähigkeiten wie etwa dem Ergreifen des Objekts 23, dem Absetzen des Objekts 23 usw. Jede Fähigkeit im Repertoire des Roboters 12 von 1, das als das Motorschema 28 ausgeführt und im Speicher (M) gespeichert sein kann, kann teilweise durch eine Kostenschätzungsfunktion und das Motorschema 28 definiert werden. Für Nachahmungszwecke ist der Ursprung jeder Fähigkeiten nicht von Bedeutung. Die Fähigkeit kann entweder erlernt oder vorprogrammiert sein.
  • Hinsichtlich der Kostenschätzung gibt eine beispielhafte Kostenschätzungsfunktion, beispielsweise (Ma, E, Wt), die Kosten für das Verknüpfen einer gegebenen Markierung Ma mit einem gegebenen Objekt Wt und den Satz von allen erkannten Endzuständen E zurück, wobei Wt der aktuelle Zustand der Umgebung des Roboters ist, der definiert ist durch: Wt = {P(t), J(t), sensors(t)} wobei P(t) der Satz von allen Objekten ist, die bei Zeitschritt t visuell identifiziert und lokalisiert werden, J(t) die aktuellste Gelenkwinkelkonfiguration des Roboters 10 ist und sensors(t) der Satz von Daten ist, der von allen anderen verfügbaren Sensoren zurückgegeben wird, die in Verbindung mit dem Roboter 12 verwendet werden. Das Motorschema 28 von 1 verwendet die Markierung Ma, ein damit verknüpftes Objekt Pb und den aktuellen Zustand des Roboters 12, um die nächsten Gelenkwinkel zu bestimmen, die an den Roboter 12 gesendet werden sollen, z. B. als die Arbeitsaufgabenabfolge (Pfeil 88). Die tatsächliche Konfiguration des Controllers 50 ist nicht wichtig, sofern ein Weg existiert, um die aktuellen Gelenkwinkel des Roboters 12 zu schätzen, um eine Roboterbewegung immer dann zu verändern, wenn visuelle Markierungen (Ma) zur Laufzeit neu verknüpft werden. Mit dem Hintergrund des Robotertrainings und der Verwendung von Markierungen, die vorstehend allgemein beschrieben wurden, wird die vorliegende Herangehensweise zur visuellen Fehlersuche in einem Robotersystem 10, die ausgestaltet ist, um derartige Markierungen zu verwenden, nun mit Bezug auf 1A5 beschrieben.
  • Mit Bezug auf 1A verwendet der Controller 50 die Logikelemente 54, um Operationen des Roboters 12 von 1 in Echtzeit, beispielsweise zur Laufzeit, visuell zu debuggen. Die Logikelemente 54 enthalten mehrere Logikmodule 60, 70 und 80, wobei die graphische Benutzerschnittstelle (GUI) 52 mit den Logikmodulen 60, 70 und 80 in Verbindung steht. Da alle drei Logikmodule 60, 70 und 80 integrale Bestandteile des Controllers 50 von 1 sind, ob als eine Einheit oder in verteiltem Sinn, umfasst der Begriff ”Logikmodul”, so wie er hier verwendet wird, sämtliche Hardware, z. B. Prozessoren, Speicher, I/O-Vorrichtungen usw. und Software, die zum Ausführen erforderlicher Aufgaben der speziellen Module 60, 70 oder 80 notwendig sind, wie nachstehend offengelegt wird.
  • Das Logikmodul 60 wird hier nachstehend als das Markierungsgeneratormodul (MGEN) 60 bezeichnet. Das Logikmodul 70 ist ein Simulatormodul, das hier nachstehend als das Simulatormodul (SIM) 70 bezeichnet wird. Das Logikmodul 80 ist ein Aktionsplanermodul, das hier nachstehend als das Aktionsplanermodul (AP) 80 bezeichnet wird. Das vorliegende Steuerungsschema kann beispielsweise in der MICROSOFT Robotics Developer Software (MRDS) oder einer anderen geeigneten Software implementiert werden. Die in 1A schematisch gezeigten Logikelemente 54 sind diejenigen, die speziell auf eine visuelle Fehlersuche gerichtet sind, und daher sind andere nicht darauf bezogene Hardware- und Softwareelemente des Controllers 50 der Einfachheit und verbesserten Klarheit halber in 1A weggelassen.
  • Die visuelle Wahrnehmung im Controller 50 von 1 ist selbst eine Mischung aus Fähigkeiten, die jeweils eine Echtzeitrückmeldung von verschiedenen Robotersensoren für eine aktive Steuerung, Bilder oder andere Umgebungsdaten (Pfeil 26) von simulierten oder realen Kameras, etwa den Umgebungssensoren 25, und Objektpositionen, die direkt von dem Prozessor (P) und dem Speicher (M) des Controllers 50 geholt werden, verwenden. Die folgende Beschreibung betrifft eine einzige Roboterfähigkeit, beispielsweise einen einfachen Griff. Im Allgemeinen stellt die Greiffähigkeit eine gute Vorlage für das Implementieren vieler Roboterfähigkeiten bereit, wobei das Lösen aus einem Griff eine ähnliche Arbeitsaufgabe ist. Andere Fähigkeiten, etwa Verbundaktionen, können als eine Erweiterung des Ergreifens und Loslassens aufgebaut sein und werden vom Fachmann auf diesem Gebiet leicht verstanden.
  • Das Markierungsgeneratormodul 60 von 1A kann betrieben werden, um Markierungsmodelle oder visuelle Markierungen (Pfeil 62), die mit den Aktionen des in 1 gezeigten Roboters 12 verknüpft sind, zu erzeugen und auszugeben. Wenn die visuellen Markierungen (Pfeil 62) in das Simulatormodul (SIM) 70 eingefügt werden, stellen sie eine graphische Anzeige, z. B. ein Symbol, ein Bild oder eine Cartoon-Darstellung von aktuellen und zukünftigen Aktionen des Roboters 12 bereit. Die visuellen Markierungen (Pfeil 62) können speziellen Objekten zugeordnet sein, die der Roboter 12 besucht oder besuchen wird, und zeigen Attribute des Objekts mit Bezug auf eine geplante Aktion des Roboters 12 an. Markierungsattribute können beispielsweise die Position des Roboters 12 oder eine Position, Orientierung oder Trajektorie eines Objekts wie etwa des Objekts 21 oder 23 von 1 in einem aktuellen oder zukünftigen Zustand anzeigen. Das Visualisierungsattribut einer Markierung (Pfeil 62) kann jede 3D-Form sein, etwa eine Kiste, ein Kegel, oder ein Pfeil, wobei verschiedene Farben optional verschiedene Aspekte der Markierungen (Pfeil 62) repräsentieren.
  • Kurz mit Bezug auf 2 kann eine halbtransparente Schattierung von Markierungsformen für die Markierungen (Pfeil 62) von 1A verwendet werden, um zu ermöglichen, dass ein Objekt 123 mit Bezug auf die Form einer gegebenen Markierung innerhalb der Markierungsform selbst sichtbar bleibt. Innerhalb des Umfangs der vorliegenden Erfindung sind vier Arten von Markierungen und deren Attribute möglich: eine Zielmarkierung (G), Trajektorienmarkierungen (A, D), eine Zielvorgabemarkierung (O1, O2 in 3) und eine Kollisionsmarkierung (C1, C2 in 4). Alle visuellen Markierungen werden nacheinander beschrieben.
  • Die grundlegendste Verwendung der visuellen Markierungen (Pfeil 62 von 1A) besteht darin, Objekte, die innerhalb des Arbeitsraums des Roboters 12 von 1 vorhanden sind und die für aktuelle oder zukünftige Aktionen des Roboters 12 relevant sind, hervorzuheben. Die Zielmarkierung (G) soll ein Objekt hervorheben, z. B. das Objekt 123 von 2, welches das Ziel einer beabsichtigten Aktion ist. Ein Ziel, das durch eine Zielmarkierung (G) repräsentiert wird, kann beispielsweise ein Becher bei einer beispielhaften Einfüllaktion sein, ein unteres Objekt bei einer Stapelaktion wie in 24 gezeigt, oder ein Befestigungselement bei einer Befestigungsaktion. Die Zielmarkierungen (G) ermöglichen es Benutzern, in Situationen, bei denen der Roboter 12 von 1 mit einem speziellen Ziel arbeiten soll, oder in Situationen, bei denen der Roboter 12 mit allen möglichen Zielen in seiner Arbeitsumgebung arbeiten soll, zu prüfen, ob das Ziel tatsächlich korrekt ist.
  • In 2 stellt die Region, die das zu ergreifende Objekt 123 umgibt, eine Visualisierung der Zielmarkierung (G) für die nächste Aufnahmeaktion des Roboters 12 bereit. Die Pfeile A und D sind Trajektorienmarkierungen, welche eine Annäherungstrajektorie (A) und eine Wegbewegungstrajektorie (D) für eine Greifaktion bezüglich einer Aktion des Roboters 12 mit Bezug auf die Zielmarkierung (G) anzeigen. Die Trajektorienmarkierungen (A, D) ermöglichen daher, dass ein Benutzer visuell erkennen kann, ob entlang der Pfade der angezeigten Trajektorien (A, D) Hindernisse vorhanden sind. Andere Objekte 223, 323 auf der Oberfläche 11 können in der Arbeitsumgebung dargestellt sein, welche in Abhängigkeit von der Aufgabe Hindernisse sein können oder auch nicht, beispielsweise ein Hindernis für das Greiforgan 20, wenn es sich dem Objekt 123 annähert.
  • Wie in 3 gezeigt ist, zeigen die Zielvorgabenmarkierungen (O1, O2) an, wo sich ein Objekt in zukünftigen Schritten befinden wird. Wenn Aktionen durch das Aktionsplanermodul 80 von 1A geplant werden, kann eine oder können mehrere Zielvorgabenmarkierungen (O1, O2) verwendet werden, um alle Objekte in der Endposition zu zeigen, in der sie sich befinden sollen, nachdem sie durch den Roboter 12 manipuliert wurden. Dies kann immer dann nützlich sein, wenn von dem Roboter 12 eine komplexe Montageaufgabe gehandhabt werden muss, da ein Benutzer zukünftige erwartete Positionen von Objekten leicht bewerten kann und er den Roboter 12 stoppen kann, wenn die Zielvorgabenmarkierungen (O1, O2) ein gewünschtes Endergebnis nicht zeigen. in 3 zeigen die Zielvorgabenmarkierungen (O1, O2) endgültige Objektpositionen nach einer Manipulation durch den Roboter 12 bei einer beispielhaften Stapelaktion.
  • Mit Bezug auf 4 repräsentieren Kollisionsmarkierungen (C1, C2) ein beispielhaftes Greiforgan 20 in der Form eines Greifers des Roboters 12. Die Kollisionsmarkierung C2 zeigt, wie ein derartiger Greifer bei zukünftigen Aktionen mit dem Objekt 23 kollidieren könnte. Der Aktionsplaner (AP) von 1A kann dazu beitragen, dass der Roboter 12 ungültige Aktionen vermeidet, die durch Hindernisse in seinem Arbeitsraum blockiert werden, wenn der Roboter 12 das Hindernis korrekt wahrnimmt. Jedoch kann Signalrauschen, z. B. von dem Umgebungssensor 25 von 1 bewirken, dass eine gültige Aktion als ungültig erkannt wird. Daher können die Kollisionsmarkierungen (C1, C2) zeigen, wo und wie der Roboter 12 mit Objekten kollidieren wird, indem sie ein Modell des Roboters 12 und der Objekte, z. B. 23, 123, 223, 323 an Positionen zeigen, bei denen eine Kollision bei beliebigen zukünftigen Aktionen auftreten wird. Diese visuelle Darstellung kann für eine visuelle Fehlersuche nützlich sein, wenn der Roboter 12 eine gültige Aktion aufgrund möglicher Kollisionen stoppt.
  • Wieder mit Bezug auf 1A kann das Simulatormodul (SIM) 70 als 3D-Simulator ausgeführt sein, der Informationen von drei verschiedenen Modellen enthält, d. h. einem Umgebungsmodell (EM) 72, welches Informationen über die umgebende Umwelt von den Umgebungssensoren 25 oder anderen Sensoren verarbeitet, einem Robotermodell (RM) 74, das Informationen über den Zustand und die Bewegung des Roboters 12 beispielsweise mit Hilfe des in 1 gezeigten Sensorfelds 33 verarbeitet, und einem Markierungsmodell (MM) 76, welches die Markierungen (Pfeil 62) empfängt und verarbeitet und eine visuelle Darstellung derselben mit Hilfe der GUI 52 liefert. Folglich präsentiert das Simulatormodul 70 den Roboter 12, Objekte in der Umgebung des Roboters 12 und Markierungen in einer simulierten Welt auf der Grundlage der drei Modelle 72, 74 und 76.
  • Das Simulatormodul 70 von 1A kann Rotorpositionen und Gelenkwinkel/eine Gelenkrotation des Roboters 12, die gemeinsam als Pfeil X12 dargestellt sind, von dem Sichtsystem 25 und dem Sensorfeld 33 des Robotersystems 10 von 1 und außerdem die Position und Orientierung von allen Objekten in der Umgebung durch die Sensoren 25 oder andere interne oder externe Sensoren empfangen. Das Simulatormodul 70 von 1A aktualisiert seine Modelle jedes Mal, wenn es neue Daten von dem Robotersystem 10, von den Umgebungssensoren 25 oder von dem Sensorfeld 33 empfängt. Das Simulatormodul 70 von 1A aktualisiert außerdem das Markierungsmodell 76 immer dann, wenn das Simulatormodul 70 neue Daten vom Markierungsgeneratormodul 60 mit Hilfe der Markierungen (Pfeil 62) empfängt.
  • Die GUI 52 kann betrieben werden, um eine simulierte 3D-Welt des Roboters 12 von einem beliebigen benutzergewählten Blickpunkt aus darzustellen und sie ermöglicht außerdem, dass der Benutzer Aktionen des Roboters 12 justiert, indem er die visuellen Markierungen durch eine Interaktion mit der GUI 52 verändert. Vier mögliche Arten der Verwendung sind die Modifikation von Trajektorien, die Modifikation von Zielen, die Modifikation von zukünftigen Positionen und die Fehlersuche in Markierungen.
  • Bei der Modifikation von Trajektorien ermöglicht die GUI von 1A, dass ein Benutzer die Trajektorie einer Aktion verändert, indem er die Trajektorienmarkierung verändert, d. h. die Pfeile A und D in 2. Dies gibt dem Benutzer die Fähigkeit, den Roboter 12 beim Vermeiden von Hindernissen zu unterstützen, die durch seine Sensoren nicht wahrgenommen werden, die Annäherungsrichtung manuell zu modifizieren, wenn sich die Umgebung verändert, ohne den Roboter 12 neu zu trainieren, und die Länge einer Annäherungstrajektorie (Pfeil A von 2) zu verändern, um entweder die Aktionszeit zu reduzieren oder einen stabileren Annäherungspfad bereitzustellen.
  • Zur Modifikation von Zielen ermöglicht die GUI 52 von 1A außerdem, dass der Benutzer das Ziel einer gegebenen Roboteraktion verändert, indem er eine Zielmarkierung (G von 2) verändert, wieder mit Hilfe von Steuerungseingabebefehlen (Pfeil 53) an die GUI 52. Dies gibt dem Benutzer die Möglichkeit, zwischen verschiedenen Zielen in Echtzeit umzuschalten.
  • Außerdem ist eine Modifikation von zukünftigen Positionen mit Hilfe der GUI 52 möglich, um zu ermöglichen, dass der Benutzer die künftige Position verändert, in der sich das Objekt nach einer Manipulation durch den Roboter 12 befinden würde. Dies kann erreicht werden, indem entweder der Ort oder die Orientierung von einer oder mehreren Zielvorgabenmarkierungen (O1, O2 von 3) verändert wird. Diese Aktion gibt dem Benutzer die Fähigkeit, die endgültigen Orte der Objekte zu justieren, wenn das Aktionsplanermodul 80 von 1A einen nicht geeigneten Plan ausführt.
  • Zur Fehlersuche in Markierungen zeigt die GUI 52 von 1A außerdem Informationen über die Aktionen des Roboters immer dann an, wenn eine Markierung von einem Benutzer angewählt wird, wobei eine derartige Anwählaktion ein möglicher Steuerungseingabebefehl (Pfeil 53) an die GUI 52 ist. Dies ermöglicht, dass der Benutzer Fehler leichter und schneller suchen kann, wenn eine spezielle Aktion nicht korrekt ist.
  • Das Aktionsplanermodul 80, das in 1A gezeigt ist, ist ausgestaltet, um die beste Aktion für den Roboter 12 unter Verwendung von Informationen in der simulierten Welt, die von dem Simulatormodul 70 erzeugt wird, zu wählen. Das Aktionsplanermodul 80 kann zwei Teile enthalten: eine optionale Zustandsvorhersage (SP) 82 und eine Aktionsauswahl (AS) 84. Die Zustandsvorhersage 82 ist programmiert, um auf der Grundlage von Konsequenzen von Aktionen ”Zustände der zukünftigen Welt” zu erzeugen. Eine derartige Vorrichtung kann nützlich sein, wenn von dem Controller 50 eine Aktionsplanung auf der Grundlage einer Vorhersage der Zukunft verwendet wird. Die Aktionsauswahl 84 wählt dann auf der Grundlage von Aufgabeninformationen (Pfeil 78) vom Simulatormodul 70 und den erzeugten Weltzuständen (Pfeil 83) von der Zustandsvorhersage 82 eine nächste Aktion aus, die der Roboter 12 ausführen soll.
  • Wie vorstehend erwähnt, ist die Verwendung der Zustandsvorhersage 82 optional. Ohne die Zustandsvorhersage 82 kann das Aktionsplanermodul 80 immer noch funktionieren, beispielsweise, indem ein gieriger Algorithmus verwendet wird, der eine nächste verfügbare Aktion mit den geringsten gegenwärtigen Kosten auswählt. Eine beispielhafte Kostenfunktion ist vorstehend beschrieben. Das Markierungsgeneratormodul 60 wäre in diesem Fall immer noch in der Lage, alle Markierungen (Pfeil 62) mit der Ausnahme von allen Objektmarkierungen, die zukünftige Objektpositionen in einem zukünftigen Zustand repräsentieren, zu erzeugen. Wenn die Zustandsvorhersage 82 jedoch implementiert ist, wird das Aktionsplanermodul 80 in der Lage sein, die Aktion zu wählen, die nach mehreren Aktionsschritten zu den niedrigsten Kosten führt.
  • Die Zustandsvorhersage 82 kann alle möglichen Zustände der zukünftigen Welt mit Hilfe eines Zustandsbaums bis zu einer bestimmten Tiefe erzeugen, wie auf dem Gebiet bekannt ist. Beispielhafte Zustandserzeugungsschritte der optionalen Zustandsvorhersage 82 können wie folgt vorgehen. In einem ersten Schritt kann der aktuelle Zustand des Simulatormoduls 70 aus den Informationen (Pfeil 78) als die Wurzel eines Zustandsbaums verwendet werden, wobei dieser Begriff in der Technik bekannt ist. Dann können alle gültigen Aktionen für jeden Zweig des Zustandsbaums mit Hilfe des Controllers 50 aufgefunden werden, was alle neuen Zustände der Welt erzeugt, die durch jede Aktion des Roboters 12 verändert werden, und er fügt sie als Blätter zu dem entsprechenden Zweig des Zustandsbaums hinzu. Dies wird wiederholt, bis der Zustandsbaum eine kalibrierte Tiefe erreicht hat. Wenn ein neuer Zustand der Welt erzeugt wird, werden alle Informationen in der simulierten Welt geklont und dann in Übereinstimmung damit, wie die Aktion definiert ist, nach Bedarf verändert.
  • Die Aktionsauswahl 84 des Aktionsplanermoduls 80 sucht die nächste auszuführende Aktion, welche die niedrigsten Kosten aufweist, beruhend auf der aktuellen simulierten Welt vom Simulatormodul 70 und den zukünftigen Zuständen der Welt (Pfeil 83), die von der Zustandsvorhersage 82 erzeugt werden, wenn sie verwendet wird. Wenn die Zustandsvorhersage 82 nicht verwendet wird, wählt das Aktionsplanermodul 80 die nächste Aktion (Pfeil 86) für den Roboter 12, welche die niedrigsten Übergangskosten plus Aktionskosten aufweist. So, wie sie hier verwendet werden, sind die Übergangskosten die Kosten dafür, dass sich der Roboter 12 von 1 von seiner aktuellen Position zu einer ”Bereit”-Position bewegt, bei der der Roboter 12 in der Lage ist, die Aktion auszuführen. Sie sind für gewöhnlich so konstruiert, dass sie proportional zu der Länge der Trajektorie des Roboters 12 sind, die benötigt wird, um sich in die Bereit-Position zu bewegen. Die Aktionskosten können von dem Benutzer in Übereinstimmung mit unterschiedlichen Aktionsklassen angegeben werden. Beispielsweise können bei einer Montageaufgabe einer nächsten Aktion (Pfeil 86), die zwei Teile kombiniert, negative Kosten gegeben werden, was äquivalent für eine Belohnung des Roboters 12 für das Ausführen dieser Arten von Aktionen ist. Wenn die Zustandsvorhersage 82 verwendet wird, wählt das Aktionsplanermodul 80 die spezielle Aktion, die nach einer vorbestimmten Anzahl von Aktionen zu den niedrigsten Kosten führen wird.
  • Die Aktionsauswahl 84 kann eine Suche auf dem Zustandsbaum starten, der durch die Zustandsvorhersage 82 erzeugt wurde. Wenn ein Knoten im Zustandsbaum erreicht wird, werden die Ausführungskosten jedes Kinderknotens berechnet. Die Ausführungskosten sind als die Summe der Übergangskosten, der Aktionskosten und der Knotenkosten des Kindknotens definiert. Die Übergangskosten und die Aktionskosten sind Kosten, die mit jeder Aktion verbunden sind, die zu dem Kind knoten führt. Die Knotenkosten eines Knotens sind die minimalen Ausführungskosten aus allen Kinderknoten des Knotens. Der Controller 50 kann die Ausführungskosten dieses Knotens gleich den minimalen Ausführungskosten aus allen Kinderknoten für diesen speziellen Knoten setzen. Die Aktion, die zu dem Kind mit den minimalen Ausführungskosten führt, wird als die Aktion mit den niedrigsten Kosten dieses Knotens gesetzt. Die vorstehenden Schritte werden rekursiv wiederholt, bis sie für alle Knoten im Zustandsbaum ausgeführt wurden. Die Aktion mit den niedrigsten Kosten des Wurzelknotens des Zustandsbaums wird dann die gewählte Aktion sein.
  • Nachdem die Aktion mit den niedrigsten Kosten von dem Controller 50 gewählt ist, sendet die Aktionsauswahl 84 des Aktionsplanermoduls 80 einen Aktionsbefehl an den Roboter 12, z. B. als die Arbeitsaufgabenabfolge (Pfeil 88). Die Aktionsauswahl 84 kann eine gewählte Aktion außerdem auf der Grundlage der Veränderungen modifizieren oder justieren, die an dem Markierungsmodell in dem Simulatormodul 70 durch die GUI 52 vorgenommen wurden. Da Objekte in der Umgebung zu einem beliebigen Zeitpunkt verändert werden können, kann es sein, dass die vorhergehenden Schritte zu einem beliebigen Zeitpunkt während der Ausführung wiederholt werden müssen, so dass eine korrigierte Aktion gewählt werden kann, die dem neuen Zustand entspricht.
  • Mit Bezug auf 5 beginnt das Verfahren 100 gemäß einer beispielhaften Ausführungsform bei Schritt 102, bei dem der Controller 50 von 1 Eingabebefehle (REC CC) für eine gegebene Arbeitsaufgabenabfolge empfängt. Schritt 102 kann umfassen, dass angefordert wird, dass der Roboter 12 eine einfache Stapelaktion ausführt, wie in 24 dargestellt ist. Nachdem die Anforderung gestellt wurde, geht das Verfahren 100 zu Schritt 104 weiter.
  • Bei Schritt 104 verarbeitet der Controller 50 (PROC) die empfangene Anforderung mit Hilfe des Prozessors (P). Als Teil dieses Schritts kann das in 1 gezeigte Motorschema 28 verwendet werden, um die Anforderung zu bewerten. Bei Schritt 104 empfängt der Controller 50 von 1 die Rohsensordaten (Pfeil 15) von dem Sensorfeld 33 und die Umgebungsdaten (Pfeil 26) von den Umgebungssensoren 25 und verarbeitet diese. In 1A sind diese Informationen gemeinsam als Pfeile XE und X12 gezeigt. Dann geht das Verfahren 100 zu Schritt 106 weiter.
  • Schritt 106 umfasst, dass die Markierung (Pfeil 62) mit Hilfe des Markierungsgeneratormoduls 60 von 1A erzeugt wird. Die Umgebungs- und Roboterinformationen, die an den Controller 50 geliefert werden, d. h. die Pfeile XE und X12, werden mit Hilfe des Umgebungsmodells 72 bzw. des Robotermodells 74 empfangen und verarbeitet. Die erzeugten Markierungen (Pfeil 62) werden auf dem Anzeigebildschirm 55 der GUI 52 dargestellt, wobei diese Übertragung an den Anzeigebildschirm 55 in 5 mit Hilfe eines Pfeils angezeigt ist. Die Arbeitsweise der Logikelemente 54, die zum Erzielen dieses Ergebnisses benötigt werden, ist vorstehend mit Bezug auf 1A im Detail beschrieben. Sobald die Umgebung, der Roboter 12 und alle Markierungen (Pfeil 62 von 1A) an dem Anzeigebildschirm 55 dargestellt sind, geht das Verfahren 100 zu Schritt 108 weiter.
  • Bei Schritt 108 stellt ein Benutzer des Robotersystems 10 von 1 mit Hilfe der Informationen, die an dem Anzeigebildschirm 55 als Rückmeldungsinformationen (Pfeil FB) angezeigt werden, fest, ob die geplanten zukünftigen Aktionen korrekt sind, wie in 5 mit Hilfe der Notation ”OK?” angezeigt ist. Wenn dies zutrifft, geht das Verfahren 100 zu Schritt 110 weiter. Anderenfalls geht das Verfahren zu Schritt 112 weiter.
  • Schritt 110 umfasst das Ausführen der befohlenen Arbeitsaufgabe (PT) mit Hilfe der Übertragung der Arbeitsaufgabenabfolge (Pfeil 88 von 1 und 1A). Dann kehrt das Verfahren 100 zu Schritt 102 zurück.
  • Schritt 112 umfasst, dass die Eingabebefehle (Pfeil 53) in die GUI 52 eingegeben werden, um eine Korrekturaktion (CA) anzufordern. Schritt 112 kann umfassen, dass beliebige oder alle visuellen Markierungen (Pfeil 62) verändert werden, um eine zukünftige Aktionsabfolge zu verändern. Eine Modifikation der Markierungen (Pfeil 62) kann eine Überprüfung jedes Programmiercodes auslösen, der benötigt wird, um ein derartiges verändertes Ergebnis zu erreichen. Das heißt, dass Schritt 112 das Verändern der Markierungen umfassen kann, ähnlich wie das Trainieren des Roboters 12, wie er sich durch eine spezielle Abfolge bewegen soll, mit Hilfe eines Rückwärtsfahrens oder anderer manueller Trainingstechniken, um ein virtuelles Rückwärtsfahren des Roboters 12 zu befehlen. Beispielsweise kann ein Verändern der Zielvorgabenmarkierungen (O1, O2 von 3) oder einfach ein Modifizieren der Trajektorienmarkierungen (A, D von 2) den Roboter 12 anweisen, wie er sich in einer zukünftigen Arbeitsaufgabenabfolge bewegen soll.
  • Die hier vorstehend mit Bezug auf 14 beschriebene Verwendung des Robotersystems 10 soll eine Herangehensweise zur visuellen Fehlersuche in Roboteraufgaben mit Hilfe einer Darstellung von Details darüber, wie ein Roboter auf ein Objekt in seinem Arbeitsraum einwirkt, bereitstellen. Die Darstellung der Zielvorgaben in einem virtuellen Raum in Verbindung mit Markierungen, die geplante Trajektorien des Roboters 12 zeigen, ermöglicht einem Benutzer, wahrzunehmen, ob fehlerhafte Ziele geplant sind. Ein Benutzer ist daher in der Lage, die Intention des Roboters 12 von 1 zu sehen, bevor der Roboter 12 eine Aktion tatsächlich durchführt. Eine derartige Herangehensweise kann in einem Robotersystem wie etwa dem Robotersystem 10 von 1 besonders nützlich sein, bei welchem der Roboter 12 nicht mit speziellen Koordinaten und Steuerungspunkten programmiert ist, sondern sich stattdessen zu Objekten als Referenzpunkten bewegt und autonome Aktionen ergreift.
  • Obwohl die besten Arten zum Ausführen der Erfindung im Detail beschrieben wurden, wird der Fachmann auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Konstruktionen und Ausführungsformen erkennen, um die Erfindung im Umfang der beigefügten Ansprüche in die Praxis umzusetzen.

Claims (9)

  1. Robotersystem (10), umfassend: einen Roboter (12), der auf Eingabebefehle (53) anspricht; Sensoren (25, 33), die einen Satz von Statusinformationen erfassen, der eine Position und eine Orientierung des Roboters (12) und eines Objekts (23) innerhalb des Arbeitsraums enthält; und einen Controller (50) mit einem Prozessor (P) und einem Speicher (M), in dem Anweisungen zur visuellen Fehlersuche in einem Betrieb des Roboters (12) aufgezeichnet sind, wobei der Controller (50) enthält: ein Simulatormodul (70) in Verbindung mit den Sensoren (25, 33), wobei das Simulatormodul (70) den Satz von Statusinformationen von den Sensoren (25, 33) empfängt und in Ansprechen auf Markierungsbefehle visuelle Markierungen (62) als graphische Darstellungen des Objekts (23) und des Roboters (12) im Arbeitsraum erzeugt; ein Aktionsplanermodul (80), das ausgestaltet ist, um eine nächste Aktion des Roboters (12) zu wählen; ein Markierungsgeneratormodul (60) in Verbindung mit dem Aktionsplanermodul (80), das ausgestaltet ist, um die Markierungsbefehle für das Simulatormodul (70) in Ansprechen auf die gewählte nächste Aktion des Roboters (12) zu erzeugen und auszugeben; und eine graphische Benutzerschnittstelle (GUI) (52) mit einem Anzeigebildschirm (55), wobei die GUI (52) mit dem Simulatormodul (70) in Verbindung steht und betrieben werden kann, um die visuellen Markierungen (62) zu empfangen und anzuzeigen, und um die Eingabebefehle (53) zu empfangen und mit Hilfe des Aktionsplanermoduls (80) die Position und/oder die Orientierung der visuellen Markierungen (62) in Echtzeit zu modifizieren, um die Arbeitsweise des Roboters (12) zu verändern, wodurch die Arbeitsweise visuell auf Fehler untersucht wird; wobei die visuellen Markierungen (62) mindestens eines enthalten von: eine Zielmarkierung (G), die ein gewünschtes Ziel eines Greiforgans (20) des Roboters (12) anzeigt, mindestens eine Trajektorienmarkierung (A, D), die eine Annäherungstrajektorie (A) oder eine Wegbewegungstrajektorie (D) des Greiforgans (20) anzeigt, eine Zielvorgabenmarkierung (O1, O2), die anzeigt, wo sich das Objekt (23) in der Zukunft befinden wird, und eine Kollisionsmarkierung (C1, C2), die anzeigt, wo das Greiforgan (20) mit dem Objekt (23) kollidieren wird.
  2. Robotersystem (10) nach Anspruch 1, wobei die visuellen Markierungen (62) ein Paar der Trajektorienmarkierungen (A, D) enthalten, und wobei das Paar der Trajektorienmarkierungen (A, D) einen ersten Pfeil (A), der die Annäherungstrajektorie des Greiforgans (20) anzeigt, und einen zweiten Pfeil (D), der die Wegbewegungstrajektorie des Greiforgans (20) anzeigt, enthält.
  3. Robotersystem (10) nach Anspruch 1, wobei die visuelle Markierung (62) eine halbtransparente Form enthält, welche das Objekt (23) umgibt, die ermöglicht, dass das Objekt (23) innerhalb der halbtransparenten Form sichtbar bleibt.
  4. Robotersystem (10) nach Anspruch 1, wobei die Sensoren (25, 33) einen Umgebungssensor (25) enthalten, der betrieben werden kann, um Bilder des Objekts (23) und des Roboters (12) zu erfassen und um die erfassten Bilder an das Simulatormodul (70) als Teil des Satzes von Statusinformationen auszugeben.
  5. Robotersystem (10) nach Anspruch 1, wobei das Aktionsplanermodul (80) ein Aktionsauswahlmodul (84) und ein Zustandsvorhersagemodul (82) enthält, wobei das Aktionsplanermodul (80) die nächste Aktion des Roboters (12) unter Verwendung von Aufgabeninformationen (78) vom Simulatormodul (70) wählt und das Zustandsvorhersagemodul (82) ausgestaltet ist, um zukünftige Zustände des Roboters (12) unter Verwendung der Aufgabeninformationen (78) vorherzusagen.
  6. Robotersystem (10) nach Anspruch 5, wobei das Zustandsvorhersagemodul (82) einen Zustandsbaum verwendet, um die zukünftigen Zustände vorherzusagen.
  7. Robotersystem (10) nach Anspruch 5, wobei das Aktionsplanermodul (80) ausgestaltet ist, um die nächste Aktion unter Verwendung eines Kostenmodells als eine Aktion mit den niedrigsten Kosten zu bestimmen.
  8. Robotersystem (10) nach Anspruch 1, wobei das Simulatormodul (70) ein Markierungsmodell (76) enthält, das betrieben werden kann, um die Markierungsbefehle in zweidimensionale und dreidimensionale visuelle Markierungen (62) umzuwandeln.
  9. Robotersystem (10), umfassend: einen Roboter (12), der auf Eingabebefehle (53) anspricht und ein Greiforgan (20) aufweist; Sensoren (25, 33), die einen Satz von Statusinformationen erfassen, der eine Position und eine Orientierung des Roboters (12) und eines Objekts (23) innerhalb des Arbeitsraums enthält; und einen Controller (50) mit einem Prozessor (P) und einem Speicher (M), in dem Anweisungen für eine visuelle Fehlersuche in einer Operation des Roboters (12) aufgezeichnet sind, umfassend: ein Simulatormodul (70) in Verbindung mit den Sensoren (25, 33), wobei das Simulatormodul (70) den Satz von Statusinformationen von den Sensoren (25, 33) empfängt und in Ansprechen auf Markierungsbefehle einen Satz von visuellen Markierungen (62) als graphische Darstellungen des Objekts (23) und des Roboters (12) im Arbeitsraum erzeugt; ein Aktionsplanermodul (80), das ausgestaltet ist, um zukünftige Aktionen des Roboters (12) unter Verwendung eines Kostenmodells als eine Aktion mit niedrigsten Kosten zu wählen, wobei das Aktionsplanermodul (80) ein Aktionsauswahlmodul (84) enthält, das eine nächste Aktion des Roboters (12) unter Verwendung von Aufgabeninformationen (78) von dem Simulatormodul (70) wählt; ein Markierungsgeneratormodul (60) in Verbindung mit dem Aktionsplanermodul (80), das ausgestaltet ist, um die Markierungsbefehle an das Simulatormodul (70) in Ansprechen auf die gewählte nächste Aktion auszugeben; und eine graphische Benutzerschnittstelle (GUI) (52) mit einem Anzeigebildschirm (55), wobei die GUI (52) mit dem Simulatormodul (70) in Verbindung steht und betrieben werden kann, um die visuellen Markierungen (62) und die gewählte zukünftige Aktion zu empfangen und anzuzeigen, und um außerdem die Eingabebefehle (53) zu empfangen und um mit Hilfe des Aktionsplanermoduls (80) die Position und/oder die Orientierung der visuellen Markierungen (62) in Echtzeit zu modifizieren, um die Arbeitsweise des Roboters (12) zu verändern, wodurch die Arbeitsweise visuell auf Fehler untersucht wird; wobei die visuellen Markierungen (62) eine Zielmarkierung (G), die ein gewünschtes Ziel des Greiforgans (20) anzeigt, eine Trajektorienmarkierung (A, D), die einen Annäherungstrajektorienpfeil (A) und einen Wegbewegungstrajektorienpfeil (D) als Trajektorien des Greiforgans (20) anzeigt, eine Zielvorgabenmarkierung (O1, O2), die anzeigt, wo sich das Objekt (23) in der Zukunft befinden wird, und eine Kollisionsmarkierung (C1, C2), die anzeigt, wo das Greiforgan (20) mit dem Objekt (23) kollidieren wird, enthalten, und wobei die Zielmarkierung (G) und/oder die Zielvorgabenmarkierung (O1, O2) und/oder die Kollisionsmarkierung (C1, C2) eine halbtransparente Form enthält bzw. enthalten, die das Objekt (23) umgibt, die ermöglicht, dass das Objekt (23) innerhalb der halbtransparenten Form sichtbar bleibt.
DE102014103738.3A 2014-02-25 2014-03-19 Visuelle fehlersuche bei roboteraufgaben Active DE102014103738B3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/189,452 2014-02-25
US14/189,452 US9387589B2 (en) 2014-02-25 2014-02-25 Visual debugging of robotic tasks

Publications (1)

Publication Number Publication Date
DE102014103738B3 true DE102014103738B3 (de) 2015-07-16

Family

ID=53485175

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014103738.3A Active DE102014103738B3 (de) 2014-02-25 2014-03-19 Visuelle fehlersuche bei roboteraufgaben

Country Status (3)

Country Link
US (1) US9387589B2 (de)
CN (1) CN104858876B (de)
DE (1) DE102014103738B3 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019002310B4 (de) 2018-07-19 2022-02-03 International Business Machines Corporation Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105960623B (zh) * 2014-04-04 2019-02-05 Abb瑞士股份有限公司 用于控制机器人的便携式装置及其方法
US9283678B2 (en) * 2014-07-16 2016-03-15 Google Inc. Virtual safety cages for robotic devices
JP6545472B2 (ja) * 2015-01-27 2019-07-17 蛇の目ミシン工業株式会社 ロボット
US10048851B2 (en) * 2015-03-19 2018-08-14 Denso Wave Incorporated Apparatus for operating robots
JP6631279B2 (ja) * 2015-03-19 2020-01-15 株式会社デンソーウェーブ ロボット操作装置、ロボット操作プログラム
US9880553B1 (en) * 2015-04-28 2018-01-30 Hrl Laboratories, Llc System and method for robot supervisory control with an augmented reality user interface
US9969082B1 (en) 2016-01-05 2018-05-15 Boston Dynamics, Inc. Robotic systems and methods for task scoring and selection
US20170259433A1 (en) * 2016-03-11 2017-09-14 Seiko Epson Corporation Robot control device, information processing device, and robot system
EP3485427B1 (de) * 2016-07-15 2024-09-11 Magna International Inc. System und verfahren für adaptive behälteraufnahme zur herstellung
WO2018050307A1 (en) * 2016-09-13 2018-03-22 Abb Schweiz Ag Method of programming an industrial robot
EP3298874B1 (de) * 2016-09-22 2020-07-01 Honda Research Institute Europe GmbH Robotergartenarbeitsvorrichtung und verfahren zur steuerung davon
US10769525B2 (en) 2016-09-23 2020-09-08 Apple Inc. Decision making for autonomous vehicle motion control
JP6889574B2 (ja) * 2017-03-03 2021-06-18 株式会社キーエンス ロボット設定装置、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
WO2018176025A1 (en) * 2017-03-24 2018-09-27 Siemens Aktiengesellschaft System and method for engineering autonomous systems
CN110573308B (zh) * 2017-04-17 2022-11-22 西门子股份公司 用于机器人设备的空间编程的基于计算机的方法及系统
JP7244087B2 (ja) * 2017-05-29 2023-03-22 フランカ エーミカ ゲーエムベーハー 多関節ロボットのアクチュエータを制御するシステムおよび方法
US20180348742A1 (en) * 2017-06-01 2018-12-06 X Development Llc Planning and Adapting Projects Based on a Buildability Analysis
JP6950347B2 (ja) * 2017-08-10 2021-10-13 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
JP7087316B2 (ja) * 2017-09-27 2022-06-21 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
EP3673334B1 (de) * 2017-09-30 2023-05-24 Siemens Aktiengesellschaft Verfahren zur entwicklung eines autonomen systems mit wiederverwendbaren fähigkeiten
DE102017009641A1 (de) * 2017-10-17 2019-04-18 Kuka Deutschland Gmbh Verfahren und System zum Betreiben eines Roboterarms
EP3476545A1 (de) * 2017-10-27 2019-05-01 Creaholic SA Verfahren zum betrieb eines computergestützten inventars von hardwaremodulen eines robotersystems
CN108068112A (zh) * 2017-11-02 2018-05-25 中车工业研究院有限公司 一种同一工位加工工件的装置、实现方法及加工方法
US10676022B2 (en) 2017-12-27 2020-06-09 X Development Llc Visually indicating vehicle caution regions
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
PL3769174T3 (pl) 2018-03-21 2022-10-24 Realtime Robotics, Inc. Planowanie przemieszczania robota do różnych środowisk i zadań oraz jego ulepszone działanie
JP7210890B2 (ja) * 2018-03-29 2023-01-24 株式会社リコー 行動認識装置、行動認識方法、そのプログラム及びそのプログラムを記録したコンピュータ読取り可能な記録媒体
JP7205752B2 (ja) * 2018-11-09 2023-01-17 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
US11951631B2 (en) * 2018-11-19 2024-04-09 Siemens Aktiengesellschaft Object marking to support tasks by autonomous machines
WO2020167739A1 (en) 2019-02-11 2020-08-20 Hypertherm, Inc. Motion distribution in robotic systems
US11358282B2 (en) * 2019-04-08 2022-06-14 Teradyne, Inc. System and method for constraint management of one or more robots
CN113905855B (zh) * 2019-04-17 2023-08-25 实时机器人有限公司 运动规划图生成用户界面、系统、方法和规则
CN113993668B (zh) * 2019-06-24 2024-06-28 瑞典爱立信有限公司 用于选择传输模式以用于无线地发送包括用于机器人设备控制的控制信息的消息的技术
CN110464468B (zh) * 2019-09-10 2020-08-11 深圳市精锋医疗科技有限公司 手术机器人及其末端器械的控制方法、控制装置
MX2022005751A (es) 2019-11-12 2022-08-22 Bright Machines Inc Un sistema de fabricación/ensamblaje definido por software.
CN113352313A (zh) * 2020-03-06 2021-09-07 思特威(上海)电子科技股份有限公司 机器人的多级传感器决策控制系统
US20240083037A1 (en) * 2020-05-21 2024-03-14 Blue Hill Tech, Inc. System and Method for Robotic Food and Beverage Preparation Using Computer Vision
JP7479205B2 (ja) * 2020-06-09 2024-05-08 株式会社日立オートメーション ロボットシステム、制御装置、及び制御方法
US11654566B2 (en) * 2020-08-12 2023-05-23 General Electric Company Robotic activity decomposition

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69603009T2 (de) * 1995-09-18 1999-10-21 Fanuc Ltd., Oshino Lernpendant
US6330495B1 (en) * 1997-10-27 2001-12-11 Honda Giken Kogyo Kabushiki Kaisha Off-line teaching method and apparatus for the same
DE69735269T2 (de) * 1996-07-24 2006-07-27 Fanuc Ltd., Oshino Steuerverfahren zum schrittbetrieb eines roboters
JP2006350602A (ja) * 2005-06-15 2006-12-28 Yushin Precision Equipment Co Ltd 操作端末装置
JP2011189431A (ja) * 2010-03-12 2011-09-29 Denso Wave Inc ロボットシステム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4517652A (en) * 1982-03-05 1985-05-14 Texas Instruments Incorporated Hand-held manipulator application module
JPH05127718A (ja) * 1991-11-08 1993-05-25 Fujitsu Ltd マニピユレータの手先軌道自動生成装置
JPH06344279A (ja) * 1993-06-07 1994-12-20 Hitachi Ltd 遠隔作業装置及び方法
US5798627A (en) * 1995-01-04 1998-08-25 Gilliland; Malcolm T. Method for simultaneous operation of robot welders
US6847336B1 (en) * 1996-10-02 2005-01-25 Jerome H. Lemelson Selectively controllable heads-up display system
US6353814B1 (en) * 1997-10-08 2002-03-05 Michigan State University Developmental learning machine and method
US6292715B1 (en) * 1998-10-27 2001-09-18 Perry Investments, Inc. Robotic process planning method and apparatus using templates
US6587752B1 (en) * 2001-12-25 2003-07-01 National Institute Of Advanced Industrial Science And Technology Robot operation teaching method and apparatus
US9104197B2 (en) * 2004-06-15 2015-08-11 Abb Ab Method and system for off-line programming of multiple interacting robots
US7626571B2 (en) * 2005-12-22 2009-12-01 The Board Of Trustees Of The Leland Stanford Junior University Workspace expansion controller for human interface systems
EP1842631B1 (de) * 2006-04-03 2008-11-19 ABB Research Ltd Vorrichtung und Verfahren zur Bahnerzeugung für einen Industrieroboter
US8786613B2 (en) * 2006-04-08 2014-07-22 Alan Millman Method and system for interactive simulation of materials and models
JP4271232B2 (ja) * 2006-12-20 2009-06-03 ファナック株式会社 ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
WO2009149740A1 (en) * 2008-06-09 2009-12-17 Abb Technology Ab A method and a system for facilitating calibration of an off-line programmed robot cell
JP5465137B2 (ja) * 2010-04-22 2014-04-09 本田技研工業株式会社 ロボットおよび制御システム
JP2012135821A (ja) * 2010-12-24 2012-07-19 Seiko Epson Corp ロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラム
US8856335B1 (en) * 2011-01-28 2014-10-07 Netapp, Inc. Managing service level objectives for storage workloads
US20120290130A1 (en) * 2011-05-10 2012-11-15 Agile Planet, Inc. Method to Model and Program a Robotic Workcell
WO2013083730A1 (en) * 2011-12-06 2013-06-13 Hexagon Technology Center Gmbh Coordinate measuring machine having a camera
US9505130B2 (en) * 2012-07-13 2016-11-29 General Electric Company System and method for performing remote welding operations on an apparatus
JP6015282B2 (ja) * 2012-09-21 2016-10-26 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69603009T2 (de) * 1995-09-18 1999-10-21 Fanuc Ltd., Oshino Lernpendant
DE69735269T2 (de) * 1996-07-24 2006-07-27 Fanuc Ltd., Oshino Steuerverfahren zum schrittbetrieb eines roboters
US6330495B1 (en) * 1997-10-27 2001-12-11 Honda Giken Kogyo Kabushiki Kaisha Off-line teaching method and apparatus for the same
JP2006350602A (ja) * 2005-06-15 2006-12-28 Yushin Precision Equipment Co Ltd 操作端末装置
JP2011189431A (ja) * 2010-03-12 2011-09-29 Denso Wave Inc ロボットシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019002310B4 (de) 2018-07-19 2022-02-03 International Business Machines Corporation Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung

Also Published As

Publication number Publication date
US20150239127A1 (en) 2015-08-27
CN104858876A (zh) 2015-08-26
US9387589B2 (en) 2016-07-12
CN104858876B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102013203381B4 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102010045529B4 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
DE102019002898B4 (de) Robotersimulationsvorrichtung
DE102019009313B4 (de) Robotersteuerung, Verfahren und Computerprogramm unter Verwendung von erweiterter Realität und gemischter Realität
DE102015204641B4 (de) Verfahren und System zur Programmierung eines Roboters
EP1447770B1 (de) Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
DE102019109624B4 (de) Roboterbewegungseinlernvorrichtung, Robotersystem und Robotersteuerung
DE112010000775B4 (de) Industrierobotersystem
DE102013113370B4 (de) Roboteraufgabensteuerungskomponente mit erweiterbarer programmierumgebung
DE102011079117B4 (de) Verfahren zum Programmieren eines Roboters
DE112018002565B4 (de) System und Verfahren zum direkten Anlernen eines Roboters
DE202008014481U1 (de) Tragbares Roboterkontrollgerät zum Kontrollieren einer Bewegung eines Roboters
DE102015209899B4 (de) Auswahl eines Gerätes oder eines Objektes mit Hilfe einer Kamera
DE102019118637B4 (de) Automatische pfadgenerierungsvorrichtung
WO2009149805A1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
WO2021001312A1 (de) Durchführen einer applikation mithilfe wenigstens eines roboters
EP3760390A1 (de) Durchführen einer vorgegebenen aufgabe mithilfe wenigstens eines roboters
DE102020200165A1 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102018004326B4 (de) Robotereinlernvorrichtung zum Einstellen von Einlernpunkten basierend auf einem Bewegtbild eines Werkstücks
DE102020103852B4 (de) Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
DE102021201880A1 (de) Vorrichtung und Verfahren zum Ermitteln der Pose eines Objekts
DE102021212494B4 (de) Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MANITZ, FINSTERWALD & PARTNER GBR, DE

Representative=s name: MANITZ FINSTERWALD PATENTANWAELTE PARTMBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final