DE102015111080A1 - Robotervorrichtung mit maschinellem Sehen - Google Patents

Robotervorrichtung mit maschinellem Sehen Download PDF

Info

Publication number
DE102015111080A1
DE102015111080A1 DE102015111080.6A DE102015111080A DE102015111080A1 DE 102015111080 A1 DE102015111080 A1 DE 102015111080A1 DE 102015111080 A DE102015111080 A DE 102015111080A DE 102015111080 A1 DE102015111080 A1 DE 102015111080A1
Authority
DE
Germany
Prior art keywords
view
loop
background
agent
focus
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
DE102015111080.6A
Other languages
English (en)
Other versions
DE102015111080B4 (de
Inventor
David W. Payton
Kyungnam Kim
Zhichao Chen
Ryan M. Uhlenbrock
Li Yang Ku
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
Publication of DE102015111080A1 publication Critical patent/DE102015111080A1/de
Application granted granted Critical
Publication of DE102015111080B4 publication Critical patent/DE102015111080B4/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Ein System für maschinelles Sehen für eine steuerbare Robotervorrichtung in der Nähe eines Arbeitsraums umfasst einen Bildaufnahmesensor, der angeordnet ist, um periodisch Signaleingaben zum Sehen zu erfassen, die jeweils ein Bild eines Blickfelds umfassen, das den Arbeitsraum umfasst. Ein Controller ist mit der Robotervorrichtung wirksam gekoppelt und enthält eine nicht vorübergehende Speicherkomponente, die eine ausführbare Sichtwahrnehmungsroutine enthält. Die Sichtwahrnehmungsroutine enthält eine Routine zur Fokussierungssteuerung in einer Schleife, die betrieben werden kann, um ein Fokussierungsobjekt in dem Arbeitsraum dynamisch zu verfolgen, und eine Routine zur Hintergrundsteuerung in einer Schleife, die betrieben werden kann, um einen Hintergrund des Arbeitsraums zu überwachen. Die Routine zur Fokussierungssteuerung in einer Schleife wird gleichzeitig asynchron und parallel mit der Routine zur Hintergrundsteuerung in einer Schleife ausgeführt, um ein kombiniertes Ergebnis, welches das Fokussierungsobjekt und den Hintergrund enthält, auf der Grundlage der periodisch erfassten Signaleingaben zum Sehen zu bestimmen. Der Controller kann betrieben werden, um die Robotervorrichtung zu steuern, um das Fokussierungsobjekt auf der Grundlage der Routine zur Fokussierungssteuerung in einer Schleife zu manipulieren.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft Robotervorrichtungen mit flexiblen Greiforganen und damit in Beziehung stehenden Systemen mit maschinellem Sehen.
  • HINTERGRUND
  • Die hier bereitgestellte Hintergrundbeschreibung dient dem Zweck der allgemeinen Darstellung des Kontexts der Offenbarung. Die Arbeit der gegenwärtig genannten Erfinder, sofern sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt des Einreichens nicht anderweitig als Stand der Technik ausgewiesen sind, werden weder explizit noch implizit als Stand der Technik gegen die vorliegende Offenbarung anerkannt.
  • Die Fähigkeit, Objekte zu erkennen und zu verfolgen, die von Menschen oder anderen Robotervorrichtungen mit sechs Freiheitsgraden bewegt werden können, ist essentiell, wenn Roboter in einer flexibleren Fertigungsumgebung nützlich werden sollen. Bekannte Industrierobotervorrichtungen weisen Systeme zum Sehen auf, die Objekte unter Verwendung eines Satzes von statischen Bildern lokalisieren oder Objekte in 2D statt in 3D verfolgen. Zudem stützen sich diese Systeme zum Sehen für gewöhnlich auf festgelegte Verarbeitungsschritte, die sich beruhend auf der Umgebung nicht verändern. Diese Arten von Entwürfen von Systemen zum Sehen sind nicht geeignet, um Ressourcen an rechenintensive Aufgaben zu verteilen, etwa eine 3D-Verfolgung in Echtzeit, und sie lassen sich nicht leicht erweitern, wenn ein neuer Algorithmus zum Sehen verfügbar ist.
  • Bekannte Robotersysteme zum Sehen enthalten Systeme zum Sehen, die eine Objektpose in einem statischen Bild erkennen, und diese sind geeignet für Industrieroboter in einer statischen Umgebung. Bekannte Systeme zum aktiven Sehen, die eine Szene erforschen, wurden vorgeschlagen, und diese fokussieren auf das Erkennen und Plausibilisieren einer einzigen statischen Szene. Systeme zum Sehen, um eine Objektpose zu verfolgen, wurden vorgeschlagen, und diese enthalten zwei Algorithmen, die in verschiedenen Threads ausgeführt werden, um eine Nachverfolgung in Echtzeit zu erreichen. Es hat sich jedoch herausgestellt, dass diese Systeme nicht in der Lage sind, andere Objekte als dasjenige, das gegenwärtig verfolgt wird, zu erkennen.
  • Bekannte Systeme zum Sehen sind meistens Systeme mit einem einzigen Thread, die eine Abfolge von Algorithmen ausführen. Diese Systeme zum Sehen können mehrere Threads verwenden, um den Prozess zu beschleunigen, aber sie können mehrere Algorithmen nicht parallel ausführen. Für ein System, das über mehr als einen Algorithmus verfügt, die möglicherweise ausgeführt werden, sind das Verteilen von Rechenressourcen auf der Grundlage einer Priorität und das Wählen des auszuführenden Algorithmus essentiell. Bekannte Systeme zum Sehen arbeiten einfach wie ein Sensor und verfügen über eine Kommunikation mit dem Roboter nur in eine Richtung, so dass sie die Genauigkeit des Sehens ohne Rückmeldung von dem Roboter zu erreichen versuchen.
  • ZUSAMMENFASSUNG
  • Ein System für maschinelles Sehen für eine steuerbare Robotervorrichtung nahe bei einem Arbeitsraum wird beschrieben und es enthält einen Bildaufnahmesensor in Kommunikation mit einem Controller. Der Bildaufnahmesensor ist angeordnet, um periodisch Signaleingaben zum Sehen zu erfassen, die jeweils ein Bild eines Blickfelds enthalten, welches den Arbeitsraum enthält. Der Controller ist mit der Robotervorrichtung wirksam gekoppelt und enthält eine nicht vorübergehende Speicherkomponente, die eine ausführbare Sichtwahrnehmungsroutine enthält. Die Sichtwahrnehmungsroutine enthält eine Routine zur Fokussierungssteuerung in einer Schleife, die betrieben werden kann, um ein Fokussierungsobjekt im Arbeitsraum dynamisch zu verfolgen, und eine Routine zur Hintergrundsteuerung in einer Schleife, die betrieben werden kann, um einen Hintergrund des Arbeitsraums zu überwachen. Die Routine zur Fokussierungssteuerung in einer Schleife wird gleichzeitig asynchron parallel mit der Routine zur Hintergrundsteuerung in einer Schleife ausgeführt, um auf der Grundlage der periodisch erfassten Signaleingaben zum Sehen ein kombiniertes Resultat zu bestimmen, welches das Fokussierungsobjekt und den Hintergrund enthält. Der Controller kann betrieben werden, um die Robotervorrichtung zu steuern, um das Fokussierungsobjekt auf der Grundlage der Routine zur Fokussierungssteuerung in einer Schleife zu manipulieren.
  • Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Lehren ergeben sich leicht aus der folgenden genauen Beschreibung einiger der besten Arten und anderer Ausführungsformen zum Ausführen der vorliegenden Lehren, die in den beigefügten Ansprüchen definiert sind, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Es werden nun eine oder mehrere Ausführungsformen anhand von Beispielen mit Bezug auf die beiliegenden Zeichnungen beschrieben, in denen:
  • 1 eine Robotervorrichtung in Übereinstimmung mit der Offenbarung schematisch veranschaulicht, die eine Robotervorrichtung umfasst, die ein gelenkiges Greiforgan und ein System zum maschinellen Sehen aufweist, das einen Detektor für entfernte Bilder und eine zugehörige Vielzahl von Controllern umfasst;
  • 2 auf schematische Weise eine Ausführungsform der Sichtwahrnehmungsroutine zeigt, die einen Roboteraktionsplaner, ein Eingabesignal zum Sehen, eine Routine zur Fokussierungssteuerung in einer Schleife, eine Routine zur Hintergrundsteuerung in einer Schleife und ein Zusammenführungselement in Übereinstimmung mit der Offenbarung enthält; und
  • 3 den Betrieb einer Hintergrundschleife für die mit Bezug auf 2 beschriebene Sichtwahrnehmungsroutine in Übereinstimmung mit der Offenbarung zeigt, welche einen iterativen Prozess zum sequentiellen Ausführen von Aufgabenagenten zum Sehen enthält, um den Hintergrund zu bewerten und um Umgebungsinformationen zu erzeugen.
  • GENAUE BESCHREIBUNG
  • Mit Bezug nun auf die Zeichnungen, bei denen die Darstellungen nur zum Zweck der Veranschaulichung bestimmter beispielhafter Ausführungsformen und nicht zum Zweck des Einschränkens derselben gedacht sind, veranschaulicht 1 auf schematische Weise ein Robotersystem 100 mit visueller Wahrnehmung, das eine Robotervorrichtung 40 enthält, die einen steuerbaren Arm 42 mit mehreren Gliedern enthält, der ein gelenkiges Greiforgan 44 und ein System für maschinelles Sehen enthält, welches einen Detektor (eine Kamera) 10 für entfernte Bilder, einen Kameracontroller 30, einen Robotercontroller 50 und einen Systemcontroller 60 zum Überwachen und Steuern derselben enthält. Als Definition ist ein Roboter eine beliebige steuerbare mechanische Vorrichtung, die in der Lage ist, in Ansprechen auf Befehle von einem Controller Aufgaben autonom auszuführen, die eine Selbstüberwachung und eine Überwachung einer Umgebung umfassen, in welcher der Roboter arbeitet. Das Überwachen kann eine beliebige Form einer sensorischen Überwachung ohne Einschränkung umfassen, beispielsweise räumlich, elektrisch, magnetisch und dergleichen.
  • Die Kamera 10 ist vorzugsweise eine Stereovorrichtung, die in der Lage ist, ein dreidimensionales Bild (3D-Bild) 15 zu erfassen, und sie kommuniziert mit einem Codierer 20, der mit dem Kameracontroller 30 kommuniziert. Die Kamera 10 ist in der Lage, ein Bild eines Blickfelds (FOV) 12, welches einen Arbeitsraum 80 enthält, in dem das gelenkige Greiforgan 44 arbeitet, zu erfassen, zu verarbeiten und zu speichern. Die Kamera 10 ist an einem Gestell starr montiert, das auf einer ersten Bodenfläche 11 steht, welche im Kontext eines ersten Referenzrahmens 16 in der Form eines ersten xyz-Koordinatensystems beschrieben wird, welches einen ersten Ursprung 17 aufweist, der der Kamera 10 zugeordnet ist, wobei die x- und y-Koordinate durch die erste Bodenfläche 11 definiert werden und die z-Koordinate orthogonal zu der ersten Bodenfläche 11 verläuft. Die Kamera 10 kann sich an einer beliebigen Position und Orientierung relativ zu dem Arbeitsraum 80 und dem FOV 12 befinden. Die Kamera 10 ist vorzugsweise insofern von der Robotervorrichtung 40 entfernt, als eine Bewegung der Robotervorrichtung 40 keine entsprechende Bewegung der Kamera 10 bewirkt.
  • Der Codierer 20 erzeugt eine Bitmap-Bilddatei 25, die eine digitale Darstellung des 3D-Bilds 15 ist, das ein Originalbild des FOV 12 enthält, welches mit der Originalauflösung der Kamera 10 erfasst wurde. Das von der Kamera 10 erfasste 3D-Bild 15 des FOV 12 enthält genügend Informationen, damit der Kameracontroller 30 den FOV 12 analysieren kann. Bei einer Ausführungsform ist das von der Kamera 10 erfasste 3D-Bild 15 eine Bitmap-Bilddatei in der Form eines 24-Bit-Stereobilds, das RGB-Werte (Rot-, Grün-, Blau-Werte) im Spektrum des sichtbaren Lichts und Tiefenwerte, welche den FOV 12 repräsentieren, enthält. Andere Ausführungsformen des 3D-Bilds 15 können ein 3D-Bild umfassen, das eine Schwarz/Weiß- oder eine Graustufen-Repräsentation im Spektrum des sichtbaren Lichts des FOV 12 darstellt, eine Darstellung des FOV 12 im Infrarotspektrum, oder andere Bilddarstellungen ohne Einschränkung. Die Kamera 10 enthält einen Bildaufnahmesensor, der mit dem Codierer 20 kommuniziert, welcher eine digitale Signalverarbeitung (DSP) an dem 3D-Bild 15 ausführt. Der Bildaufnahmesensor der Kamera 10 erfasst vorzugsweise das 3D-Bild 15 mit einer Nennauflösung einer Standarddefinition, z. B. 640×480 Pixel. Alternativ kann der Bildaufnahmesensor der Kamera 10 das 3D-Bild 15 mit einer Nennauflösung mit hoher Definition, beispielsweise 1440×1024 Pixel, oder mit einer anderen geeigneten Auflösung erfassen. Der Bildaufnahmesensor der Kamera 10 kann das 3D-Bild 15 in der Form eines oder mehrerer Standbilder oder alternativ in der Form eines digitalen Videos erfassen. In jedem Fall konvertiert der Codierer 20 das 3D-Bild 15 zur Speicherung und Analyse in die Bitmap-Bilddatei 25. Die Bitmap-Bilddatei 25 wird an den Kameracontroller 30 als eine codierte Datendatei übermittelt, welche in einer Ausführungsform in einem nicht vorübergehenden digitalen Datenspeichermedium gespeichert wird.
  • Der Kameracontroller 30 kann in die Kamera 10 integriert sein oder von dieser entfernt angeordnet sein. Der Kameracontroller 30 erfasst und übermittelt die Bitmap-Bilddatei 25 des FOV 12 periodisch an den Systemcontroller 60. Der in dem FOV 12 erfasste Arbeitsraum 80, der durch die Bitmap-Bilddatei 25 repräsentiert wird, kann ein Fokussierungsobjekt 82 und einen Hintergrund 84 enthalten, der andere Objekte enthalten kann, die ähnlich sind, aber dem Fokussierungsobjekt 82 gegenwärtig nicht zugeordnet sind. Der Begriff ”Objekt” und verwandte Begriffe, wie etwa ”Fokussierungsobjekt” bezeichnen, so wie sie hier verwendet werden, physikalisch unterscheidbare diskrete Entitäten, welche diejenigen umfassen, die durch das Greiforgan 44 manipuliert werden können. Bei einer Ausführungsform kann eines oder können mehrere der Objekte auf der Grundlage eines Vergleichs mit vorab erfassten Bitmap-Bilddateien des Objekts, das hier auch als ”bekanntes Objekt” bezeichnet wird, für den Systemcontroller 60 erkennbar sein. Das Fokussierungsobjekt 82 ist vorzugsweise ein bekanntes Objekt. Der Kameracontroller 30 erzeugt eine Punktwolken-Datendatei 35, die Punktwolkendaten enthält, welche aus der Bitmap-Bilddatei 25 des FOV 12, die nur den Arbeitsraum 80 enthält, d. h. das Fokussierungsobjekt 82 und den Hintergrund 84, extrahiert wurden.
  • Die Robotervorrichtung 40 ruht vorzugsweise auf einer zweiten Bodenfläche 41, die im Kontext eines zweiten Referenzrahmens 46 in der Form eines zweiten xyz-Koordinatensystems, das einen zweiten Ursprungspunkt 47 aufweist, welcher der Robotervorrichtung 40 zugeordnet ist, beschrieben ist, wobei die x- und y-Koordinate durch die zweite Bodenfläche 41 definiert werden und die z-Koordinate orthogonal zu der zweiten Bodenfläche 41 verläuft. Das Greiforgan 44 ist an dem Ende der mehreren Glieder 42 als deren Hand, Werkzeug, Manipulator usw. angebracht. Es ist gelenkig, d. h. es ist in der Lage, seine Gelenke zu bewegen und seine Form zu verändern. Der Arm 42 aus mehreren Gliedern und das Greiforgan 44 sind ausgestaltet, um in Ansprechen auf Armbefehle 51 bzw. Greiforganbefehle 53, die von einem Robotercontroller 50 erzeugt werden, gesteuert selektiv zu verschwenken, sich auszudehnen und sich zu drehen. Die Armbefehle 51 steuern die Bewegung des Arms 42 mit mehreren Gliedern und die Greiforganbefehle 53 steuern die Bewegung des gelenkigen Greiforgans 44. Bewegungen des Arms 42 mit mehreren Gliedern und des gelenkigen Greiforgans 44 werden im Kontext des zweiten xyz-Koordinatensystems 46 beschrieben, wobei die x- und y-Koordinate durch die zweite Bodenfläche 41 definiert werden und die z-Koordinate orthogonal zu der zweiten Bodenfläche 41 verläuft. Vorzugsweise sind der Arm 42 mit mehreren Gliedern und das gelenkige Greiforgan 44 mit Positionserfassungsvorrichtungen in der Form von Winkelmessvorrichtungen an jeder Gelenkverbindung oder mit anderen geeigneten Positionserfassungsvorrichtungen und mit Verfahren, um Drehungen dort zu bestimmen, ausgestattet. Gemessene Armpositionen 55 repräsentieren gemessene Positionen des Arms 42 mit mehreren Gliedern, welche die Winkel umfassen, die mit den Gelenkverbindungen des Arms 42 mit mehreren Gliedern verbunden sind, und gemessene Posen 57 repräsentieren gemessene Winkel, die mit dem gelenkigen Greiforgan 44 verbunden sind. Die gemessenen Armpositionen 55 werden vorzugsweise im Kontext des zweiten Referenzrahmens 46 beschrieben. Andere Details mit Bezug auf Arme 42 mit mehreren Gliedern und gelenkige Greiforgane 44 und Befehle, um diese zu steuern, sind bekannt und werden hier nicht im Detail beschrieben.
  • Der Systemcontroller 60 ist mit der Robotervorrichtung 40 wirksam gekoppelt und er kommuniziert mit der Kamera 10. Der Systemcontroller 60 enthält oder kommuniziert mit einer nicht vorübergehenden Speicherkomponente 62, die maschinenlesbare Anweisungen in der Form einer Sichtwahrnehmungsroutine 105 enthält, welche eine Fokussierungsschleife 120, die das Fokussierungsobjekt 82 im Arbeitsraum 80 dynamisch verfolgt, und eine Hintergrundschleife 140, die den Hintergrund 84 des Arbeitsraums 80 überwacht, enthält. Der Systemcontroller 60 führt vorzugsweise sowohl die Sichtwahrnehmungsroutine 105, die die Fokussierungsschleife 120 enthält, als auch die Hintergrundschleife 140 aus.
  • Der Kameracontroller 30, der Robotercontroller 50 und der Systemcontroller 60 können separate und konkrete Vorrichtungen sein, oder sie können stattdessen eine beliebige andere geeignete Kombination von Controllersystemen sein. Controller, Steuerungsmodul, Modul, Steuerung, Steuerungseinheit, Prozessor und ähnliche Begriffe bezeichnen eine beliebige oder verschiedene Kombinationen aus einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASIC), elektronischen Schaltungen, zentralen Verarbeitungseinheiten (vorzugsweise Mikroprozessoren) mit zugehörigem Arbeitsspeicher und Massenspeicher (Festwertspeicher, programmierbarer Festwertspeicher, Speicher mit wahlfreiem Zugriff, Festplattenlaufwerk usw.), die ein oder mehrere Software- oder Firmwareprogramme oder Routinen ausführen, kombinatorischen Logikschaltungen, Eingabe/Ausgabe-Schaltungen und -Vorrichtungen, geeigneten Signalaufbereitungs- und Pufferschaltungen und anderen Komponenten, um die beschriebene Funktionalität bereitzustellen, welche eine Datenspeicherung und eine Datenanalyse umfasst. Software, Firmware, Programme, Anweisungen, Steuerungsroutinen, Code, Algorithmen und ähnliche Begriffe bezeichnen beliebige von einem Controller ausführbare Anweisungssätze, die Kalibrierungen und Nachschlagetabellen enthalten. Kommunikationen zwischen Controllern und Kommunikationen zwischen Controllern, Aktoren und/oder Sensoren können unter Verwendung einer direkt verdrahteten Verbindung, einer Netzwerkkommunikationsbusverbindung, einer drahtlosen Verbindung oder einer beliebigen anderen geeigneten Kommunikationsverbindung bewerkstelligt werden. Kommunikationen umfassen das Austauschen von Datensignalen in einer beliebigen geeigneten Form, die beispielsweise elektrische Signale mit Hilfe eines leitfähigen Mediums, elektromagnetische Signale durch die Luft, optische Signale über optische Wellenleiter und dergleichen umfassen.
  • 2 zeigt auf schematische Weise eine Ausführungsform der Sichtwahrnehmungsroutine 105, die von einem Controller eines Robotersystems 100 mit visueller Wahrnehmung verwendet wird, um ein kombiniertes Resultat 170 auf der Grundlage eines FOV, das einen Arbeitsraum enthält, zu erzeugen, welche von einem Robotercontroller verwendet wird, um in Ansprechen darauf eine Aktion durch die Robotervorrichtung zu bewirken. Eine Ausführungsform des Robotersystems 100 mit visueller Wahrnehmung, des FOV 12 und des Arbeitsraums 80 ist mit Bezug auf 1 gezeigt. Die Sichtwahrnehmungsroutine 105 enthält einen Roboteraktionsplaner 110, eine Signaleingabe zum Sehen 115, eine Routine 120 zur Fokussierungssteuerung in einer Schleife (Fokussierungsschleife), eine Routine zur Hintergrundsteuerung in einer Schleife (Hintergrundschleife) 140 und ein Zusammenführungselement 165. Die Fokussierungsschleife 120 erzeugt eine Pose 121 des Fokussierungsobjekts, welche das Fokussierungsobjekt 82 des FOV 12 betrifft, und die Hintergrundschleife 140 erzeugt Umgebungsinformationen 151, die periodisch aktualisiert werden, um eine Pose 161 aller Objekte bereitzustellen, die den Hintergrund 84 in dem FOV 12 betrifft. Die Pose 121 des Fokussierungsobjekts und die Pose 161 aller Objekte werden an das Zusammenführungselement 165 geliefert, um eine kombinierte Pose 170 zu erzeugen, welche den gesamten Arbeitsraum 80 in dem FOV 12 betrifft. Die Sichtwahrnehmungsroutine 105 wird als geplante Aufgabe periodisch ausgeführt, wobei die Fokussierungsschleife 120 gleichzeitig asynchron parallel mit der Hintergrundschleife 140 ausgeführt wird. Die Fokussierungsschleife 120 kann gleichzeitig asynchron parallel mit der Hintergrundschleife 140 ausgeführt werden, indem mehrere Controller eingesetzt werden, um die Fokussierungsschleife 120 und die Hintergrundschleife 140 zum gleichen Zeitpunkt auszuführen oder indem ein einziger Controller eingesetzt wird und eine Aufgabenumschaltung oder ein Multitasking verwendet wird, wobei die Fokussierungsschleife 120 bis zu einem bestimmten Punkt ausgeführt wird, an dem der Controller das Ausführen der Fokussierungsschleife 120 stoppt und einen Teil der Hintergrundschleife 140 bis zu einem bestimmten Punkt ausführt, wobei dieser Prozess iterativ wiederholt wird. Wenn die Zykluszeiten, die den ausgeführten Abschnitten zugeordnet sind, klein sind, kann es so scheinen, dass sowohl die Fokussierungsschleife 120 als auch die Hintergrundschleife 140 parallel ablaufen. Dies umfasst vorzugsweise, dass die Fokussierungsschleife 120 mit einer schnelleren Verarbeitungsrate ausgeführt wird als die Hintergrundschleife 140. Als Beispiel kann die Fokussierungsschleife 120 mit einem Schleifenzyklus von 100 Mikrosekunden ausgeführt werden, wohingegen die Hintergrundschleife 140 mit einem Schleifenzyklus von 1,0 Millisekunden ausgeführt werden kann. Die Sichtwahrnehmungsroutine 105 ermöglicht, dass Rechenressourcen auf zwei parallel ausgeführte asynchrone gleichzeitig verarbeitete Schleifen, d. h. die Fokussierungsschleife 120 und die Hintergrundschleife 140, beruhend auf einem befohlenen oder wahrgenommenen Augenmerk der Robotervorrichtung 40 verteilt werden. Die Fokussierungsschleife 120 wird in Echtzeit ausgeführt, um ein Fokussierungsobjekt 82 zu verfolgen, während die Hintergrundschleife 140 die Umgebungsinformationen 151 unter Verwendung verbleibender Rechenressourcen aktualisiert. Als Definition umfassen die Umgebungsinformationen 151 alle Informationen in dem FOV 12, die nicht das Fokussierungsobjekt 82 betreffen.
  • Der Roboteraktionsplaner 110 enthält eine Steuerungsroutine, welche die Signaleingabe zum Sehen 115 auswertet und auf der Grundlage eines Aufenthaltsorts von Objekten, die gegenwärtig in dem FOV 12 vorhanden sind, und dem Aufenthaltsort der Robotervorrichtung 40 über einen Maßnahmenverlauf entscheidet, der von der Robotervorrichtung 40 ausgeführt werden soll. Die Signaleingabe zum Sehen 115 enthält vorzugsweise die Punktwolken-Datendatei 35, die das FOV 12 repräsentiert, und den Arbeitsraum 80, die mit Bezug auf 1 beschrieben sind. Die Sichtwahrnehmungsroutine 105 führt anfänglich die Hintergrundschleife 140 aus, um die Pose 161 aller Objekte zu erzeugen, ohne die Fokussierungsschleife 120 auszuführen, um den Aufenthaltsort und die Objekte in der FOV 12 grob zu identifizieren, indem die Signaleingabe zum Sehen 115 überwacht wird. Der Roboteraktionsplaner 110 wählt eines der Objekte, die in der Signaleingabe zum Sehen 115 identifiziert werden, als das Fokussierungsobjekt 82 für die Robotervorrichtung 40, wobei das Fokussierungsobjekt 82 mit Bezug auf 1 beschrieben ist. In einer Ausführungsform ist das Fokussierungsobjekt 82 ein bekanntes Objekt, das sich nahe bei dem Greiforgan 44 der Robotervorrichtung 40 in dem FOV 12 befindet und das die Robotervorrichtung 40 aufheben kann. Alternativ ist das Fokussierungsobjekt 82 ein sich bewegendes Ziel, das mit dem Greiforgan 44 interagiert. Darüber hinaus kann sich das Fokussierungsobjekt 82 auf der Grundlage einer Eingabe von dem Roboteraktionsplaner 110 dynamisch verändern.
  • Die Sichtwahrnehmungsroutine 105 leitet das Ausführen der Fokussierungsschleife 120 ein und verfolgt das Fokussierungsobjekt 82 in sukzessive empfangenen Signaleingaben zum Sehen 115, wenn das Fokussierungsobjekt 82 in dem FOV 12 gewählt worden ist, wodurch eine Echtzeitwahrnehmung des Fokussierungsobjekts 82 zur Manipulation durch die Robotervorrichtung 40 bereitgestellt wird. Die Fokussierungsschleife 120 wird in einem anderen Berechnungsthread ausgeführt und weist eine höhere Ausführungspriorität als die Hintergrundschleife 140 auf.
  • Die Fokussierungsschleife 120 umfasst das Prüfen oder anderweitige Verifizieren der Priorität des Fokussierungsobjekts 82, was umfasst, dass verifiziert wird, dass die Robotervorrichtung 40 auf der Grundlage der Nähe und anderer Faktoren auf das Fokussierungsobjekt 82 fokussiert bleibt (Schritt 122). Nach dem Verifizieren der Priorität des Fokussierungsobjekts 82 wird die Signaleingabe zum Sehen 115 einer Prozedur mit fokussiertem Sehen (Schritt 124) und einer Posenbestimmungsprozedur (Schritt 126) unterzogen, um einen Aufenthaltsort des Fokussierungsobjekts 82 in dem FOV 12 zu extrahieren und anderweitig zu bestimmen. Dieser Prozess wird iterativ ausgeführt und aktualisiert, bis es eine ausreichende und/oder statistisch signifikante Erkennung und Lokalisierung des Fokussierungsobjekts 82 in dem FOV gibt, welche als Fokussierungsobjektpose 121 bezeichnet wird. Die Fokussierungsobjektpose 121 stellt eine Erkennung und Lokalisierung des Fokussierungsobjekts 82 bereit, die an das Zusammenführungselement 165 übermittelt wird.
  • Die Hintergrundschleife 140 wertet die Signaleingabe zum Sehen 115 aus, um andere Objekte in dem FOV 12 als das Fokussierungsobjekt 82 zu erkennen, und sie erzeugt durch sukzessive Iterationen allmählich die Hintergrundinformationen 151. Die Hintergrundschleife 140 wird in einem anderen Thread ausgeführt und weist eine niedrigere Priorität als die Fokussierungsschleife 120 auf, ist aber in der Lage, Veränderungen in dem Arbeitsraum 80 zu detektieren, etwa das Hinzufügen von neuen Objekten, das Entfernen eines Objekts oder die Veränderung der Position eines Objekts. Die Hintergrundschleife 140 verwendet daher nur verbleibende Ressourcen in der Form einer verbleibenden Prozessorausführungszeit, Bandbreite und niedrigerer Ausführungs- und Aktualisierungsraten, wenn die Fokussierungsobjektschleife 120 gerade ausgeführt wird. Die Prozesse zum Erkennen des Objekttyps und der Objektpose werden von selbstverwalteten Sichtaufgabeagenten ausgeführt, die als primäre Sichtaufgabeagenten 142, 144, 146, 148 gezeigt sind, welche zyklisch und sequentiell ausgeführt werden, wie mit Bezug auf 3 beschrieben ist. Die primären Sichtaufgabeagenten 142, 144, 146, 148 werden auf der Grundlage von verschiedenen Situationen dynamisch ausgeführt, wie hier beschrieben ist. Die primären Sichtaufgabeagenten 142, 144, 146, 148 werden verwendet, um die Umgebungsinformationen 151 bereitzustellen, die von dem Posengenerator 160 verwendet werden, um die Pose 161 aller Objekte zu erzeugen und zu aktualisieren. Die Pose 161 aller Objekte enthält alle in dem FOV und in den Hintergrundinformationen grob identifizierten Objekte. Objekte, die eine ähnliche Pose und den gleichen Typ aufweisen, können zu einem Objekt kombiniert werden.
  • Das Zusammenführungselement 165 ist ein Controller oder eine andere geeignete Vorrichtung, welche die Pose 121 des Fokussierungsobjekts mit der Pose 161 aller Objekte kombiniert und das kombinierte Ergebnis 170 veröffentlicht, um in Ansprechen darauf eine Aktion durch die Robotervorrichtung 40 zu bewirken. Die Pose 121 des Fokussierungsobjekts beschreibt das Fokussierungsobjekt 82, und die Pose 161 aller Objekte beschreibt den Hintergrund 84, und das kombinierte Ergebnis 170 beschreibt den gesamten Arbeitsraum 80.
  • 3 zeigt auf schematische Weise den Betrieb der Hintergrundschleife 140 in Ansprechen auf die Signaleingabe zum Sehen 115 und auf das identifizierte Fokussierungsobjekt 82, falls vorhanden. Die Hintergrundschleife 140 ist ein iterativer Prozess zum sequentiellen Ausführen von Sichtaufgabeagenten, um den Hintergrund 84 auszuwerten, um die Umgebungsinformationen 151 zu erzeugen, die von dem Posengenerator 160 verwendet werden, um die Pose 161 aller Objekte zu erzeugen und zu aktualisieren. Die Hintergrundschleife 140 enthält einen Schritt 141 zum Ausführen von Sichtaufgabeagenten und einen Schritt 143 zum Aktualisieren einer dynamischen Warteschlange. Der Schritt 141 zum Ausführen von Sichtaufgabeagenten führt sequentiell aufeinanderfolgende Sichtaufgabeagenten aus, die von der dynamischen Warteschlange 150 bereitgestellt werden, und der Schritt 143 des Aktualisierens der dynamischen Warteschlange identifiziert und wählt Sichtaufgabeagenten aus einem Sichtaufgabeagenten-Sammelbecken 155 auf der Grundlage von Ergebnissen von dem zuletzt ausgeführten Sichtaufgabeagenten und gibt diese zur Ausführung in die dynamische Warteschlange 150 ein.
  • Das Sichtaufgabeagenten-Sammelbecken 155 enthält die primären Sichtaufgabeagenten, welche als Beispiel in einer Ausführungsform einen Vorverarbeitungs-Sichtaufgabeagenten 142, einen Segmentierungs-Sichtaufgabeagenten 144, einen Erkennungs-Sichtaufgabeagenten 146 und einen Posenregistrierungs-Sichtaufgabeagenten 148 umfassen, und einen oder mehrere sekundäre Sichtaufgabeagenten, beispielsweise einen Farberkennungsagenten 147 usw. Jeder der Sichtaufgabeagenten ist eine von einem Controller ausgeführte Routine, die ihre eigene Sichtbibliothek oder ihren eigenen Sichtalgorithmus enthält, der Daten in der Signaleingabe zum Sehen 115 auswertet und analysiert, um ein Ergebnis zu erzielen, wie hier beschrieben ist. Die primären Sichtaufgabeagenten 142, 144, 146, 148 weisen eine bevorzugte Ausführungsreihenfolge auf, die in Ansprechen auf dynamisch auftretende Situationen durch den Prozess 143 des Aktualisierens der dynamischen Warteschlange dynamisch verändert werden kann. Die primären Sichtaufgabeagenten 142, 144, 146, 148 benutzen eine gemeinsame Zuordnung 145 gemeinsam, die Informationen über die aktuelle Szene enthält, die auf Informationen über das FOV 12 von den regelmäßig beschafften Signaleingaben zum Sehen 115 beruhen.
  • Wenn einer der Sichtaufgabeagenten zur Ausführung gewählt wird, untersucht er zunächst die gemeinsame Zuordnung 145 und entscheidet, wie er ausgeführt werden soll. Wenn die Szene im Wesentlichen unverändert ist, können vorherige Informationen wiederverwendet werden. Nachdem der gewählte Sichtaufgabeagent seine Verarbeitung abgeschlossen hat, aktualisiert er die gemeinsame Zuordnung auf das neue Ergebnis. Auf der Grundlage des aktuellen und des vorherigen Ergebnisses entscheidet der Sichtaufgabeagent, welcher andere der Sichtaufgabeagenten als nächstes ausgeführt wird. Folglich kann der gegenwärtig ausgeführte Sichtaufgabeagent den nächsten primären Sichtaufgabeagenten in der dynamischen Warteschlange 150 zur Ausführung wählen. Alternativ kann der Sichtaufgabeagent einen anderen Sichtaufgabeagenten, z. B. einen sekundären Sichtaufgabeagenten, zum Ausführen wählen, um mehr Klarheit für das Signal zum Sehen zu erreichen, um eine weitere Verarbeitung zu ermöglichen.
  • Vorzugsweise werden die primären Sichtaufgabeagenten anfänglich in die dynamische Warteschlange 150 eingereiht, um in der folgenden Reihenfolge ausgeführt zu werden: der Vorverarbeitungs-Sichtaufgabeagent 142, gefolgt von dem Segmentierungs-Sichtaufgabeagenten 144, gefolgt von dem Erkennungs-Sichtaufgabeagenten 146, gefolgt von dem Posenregistrierungs-Sichtaufgabeagenten 148. Dies ist durch die Schritte 131, 133 bzw. 135 schematisch gezeigt. Außerdem kann jeder der primären Sichtaufgabeagenten andere primäre oder sekundäre Sichtaufgabeagenten dynamisch hinzufügen. Als Beispiel kann der Posenregistrierungs-Sichtaufgabeagent 148 dynamisch einen Farberkennungsagenten 147 hinzufügen, der von einem erneuten Durchlauf des Posenregistrierungs-Sichtaufgabeagenten 148 während der nächsten Ausführung gefolgt sein kann. Dies ist durch die Schritte 137 bzw. 139 schematisch gezeigt.
  • Die Sichtaufgabeagenten 142, 144, 146, 148 weisen sich selbst der dynamischen Warteschlange 150 zu. Die dynamische Warteschlange 150 bestimmt, welcher der Sichtaufgabeagenten 142, 144, 146, 148 als nächster ausgeführt werden soll und liefert diese Informationen über eine Kommunikationsleitung 119 an den Schritt 141 zum Ausführen eines Sichtaufgabeagenten. Inzwischen kann der aktuell ausgeführte Agent der Sichtaufgabeagenten 142, 144, 146, 148 einen oder mehrere neue Sichtaufgabeagenten zu der dynamischen Warteschlange 150 hinzufügen, wenn sie den Bedarf für mehr Informationen feststellen. Die dynamische Warteschlange 150 wählt die Ausführungsreihenfolge der Sichtaufgabeagenten auf der Grundlage des Kontexts und vorheriger Ergebnisse, um die Genauigkeit der Erkennung und der Pose zu erhöhen.
  • Der Vorverarbeitungs-Sichtaufgabeagent 142 führt eine Vorverarbeitung auf entweder der Signaleingabe zum Sehen 115 oder einer Teilmenge derselben aus. Als Beispiel kann ein Vorverarbeitungs-Sichtaufgabeagent das Ausführen eines Medianfilters oder eines Mittelwertfilters auf entweder einer 3D-Punktwolke oder auf einem 2D-Bild der Signaleingabe zum Sehen 115 umfassen. Dieser Typ von Sichtaufgabeagent wählt den nächsten Sichtaufgabeagenten zur Ausführung auf der Grundlage des Ergebnisses nach der Vorverarbeitung. Wenn beispielsweise die 3D-Punktwolke der gesamten Szene vollständig ist und nach dem Verarbeiten des Medianfilters dicht genug ist, kann der Sichtaufgabeagent entscheiden, zu dem nächsten Schritt weiterzugehen und eine Segmentierung der Punktwolke der Gesamtszene ausführen. Wenn das Ergebnis nicht befriedigend ist, kann der Sichtaufgabeagent entscheiden, dass andere Vorverarbeitungs-Agenten ausgeführt werden, bis das Ergebnis eine ausreichende Klarheit aufweist, um eine weitere Verarbeitung zu erlauben.
  • Der Segmentierungs-Sichtaufgabeagent 144 führt eine Segmentierung auf der Signaleingabe zum Sehen 115 aus, welche eine 3D-Punktwolke oder ein 2D-Bild der Gesamtszene enthält. Die Segmentierung umfasst das Gruppieren von Punkten in einer 3D-Punktwolke in verschiedene separate Objekte oder das Segmentieren von Teilen in einem Bild unter Verwendung von 2D-Rändern. Dieser Typ von Sichtaufgabeagent wählt den nächsten auszuführenden Agenten auf der Grundlage des Segmentierungsergebnisses und von Bestanden-Ergebnissen. Wenn beispielsweise eines der segmentierten Objekte in der aktuellen Szene in dem letzten Ergebnis tatsächlich zwei Objekte war, kann der Sichtaufgabeagent entscheiden, einen weiteren Segmentierungs-Sichtaufgabeagenten auszuführen, um das Ergebnis zu überprüfen oder einen anderen Vorverarbeitungs-Sichtaufgabeagenten auszuführen.
  • Der Erkennungs-Sichtaufgabeagent 146 erkennt einzelne Objekttypen. Er kann 3D- oder Farbinformationen verwenden, um Objekte zu klassifizieren, welche als Beispiel ein Blickpunkt-Merkmalshistogramm (VFH), eine Sammlung von Gestaltfunktionen (ESF), eine skalierungsinvariante Merkmalstransformation (SIFT) und Farbhistogrammagenten umfassen, die alle Beispiele für einen Erkennungs-Sichtaufgabeagenten sind. Ein Erkennungs-Sichtaufgabeagent erzeugt sämtliche Wahrscheinlichkeiten dafür, dass ein Objekt ein bekannter Typ ist. Dann entscheidet der Erkennungsagent, ob er genug Konfidenz gewonnen hat, um eines der bekannten Objekte zu erkennen. Wenn die höchste Wahrscheinlichkeit dafür, dass ein Objekt von einem Typ ist, gering ist, kann der Erkennungs-Sichtaufgabeagent entscheiden, weitere Erkennungs-Sichtaufgabeagenten auszuführen, um mehr Konfidenz über das Klassifizierungsergebnis zu gewinnen, oder er kann entscheiden, den Segmentierungs-Sichtaufgabeagenten für eine bessere Segmentierung erneut auszuführen. Die erkannten Objekttypen werden über den Objekten als Beschriftungen gezeigt. Es kann mehrere Erkennungsagenten geben, zum Beispiel einen, der ein Farbhistogramm verwendet, und einen, der das SIFT-Merkmal verwendet. Wenn der Sichtaufgabeagent, der das Farbhistogramm verwendet, eine hohe Konfidenz dafür aufweist, was das Objekt ist, kann er direkt zu dem Schritt der Posenschätzung gehen. Andernfalls kann er entscheiden, dass weitere Erkennungsagenten ausgeführt werden müssen, um die Konfidenz zu erhöhen.
  • Der Posenregistrierungs-Sichtaufgabeagent 148 identifiziert die Pose eines bekannten Objekts. Beispielsweise verwendet ein Agent, der einen iterativen Algorithmus des nächstgelegenen Punkts (ICP-Algorithmus) implementiert, die 3D-Punktwolke der Eingabe und ein bekanntes Modell, um die wahrscheinlichste Pose zu finden. Er kann auch Informationen von vorherigen Ergebnissen verwenden, um den Prozess zu beschleunigen, indem er etwa eine zuvor erkannte Pose zu einer Anfangsschätzung macht. Der Posenregistrierungs-Sichtaufgabeagent entscheidet auf der Grundlage des Ergebnisses, welcher Sichtaufgabeagent als nächster ausgeführt werden soll. Beispielsweise erzeugt der ICP-Agent eine Übereinstimmungs-Bewertung; wenn die Übereinstimmungs-Bewertung niedrig ist, kann das Objekt als ein falscher Typ erkannt werden und daher kann er einen Erkennungsagenten ausführen.
  • Wenn man über selbstverwaltete Sichtaufgabeagenten verfügt, kann das System leicht erweitert werden. Ein neuer Algorithmus kann zu dem Sammelbecken aus selbstverwalteten Sichtaufgabeagenten hinzugefügt werden und mit anderen alten Algorithmen koordiniert werden, ohne die Verarbeitungsstruktur aufzubrechen. Die Art, in der das System aufgebaut ist, macht den Prozess außerdem robuster, da das System in der Lage ist, Ergebnisse auch dann zu erzeugen, wenn bestimmte Umgebungsbedingungen einen der Sichtaufgabeagenten deaktivieren.
  • Die Sichtwahrnehmungsroutine 105 enthält ein System zum Sehen, das die Ausführung mehrerer verschiedener Routinen zum Sehen koordiniert, die sich auf der Grundlage einer Veränderung des Augenmerks des Roboterarms verändern, um Objekte in einem Arbeitsraum zu erkennen und zu verfolgen. Dies verbessert die Art und Weise, auf welche ein Anwender mit der Robotervorrichtung 40 interagieren kann und erhöht signifikant die Vielfalt von Aufgaben, die eine Robotervorrichtung 40 ausführen kann. Indem Ressourcen verteilt werden und verschiedene Sichtaufgabeagenten geplant werden, um vielfältige Objekte zu erkennen und Posen in Echtzeit zu verfolgen, werden Rechenressourcen effizient verteilt. Dies stellt ein System zum Sehen bereit, das verschiedene Algorithmen zum Sehen koordiniert und Rechenressourcen auf der Grundlage des Augenmerks eines Roboterarms verteilt, welche eine Fokussierungsschleife, die Zugriff auf Sensoren hat und ein Objekt in Echtzeit verfolgt, und eine Hintergrundschleife, die Zugriff auf Sensoren und die Fähigkeit zum Erkennen von Objekten in dem gesamten Arbeitsraum eines Roboterarms aufweist, einen Mechanismus zur Verwendung des Roboteraugenwerks, um Rechenressourcen zwischen einer Fokussierungsschleife und einer Hintergrundschleife zu verteilen, und einen Mechanismus zum Steuern der Fokussierung des Systems zum Sehen auf der Grundlage des Roboteraugenmerks umfassen.
  • Das System für maschinelles Sehen für die Robotervorrichtung enthält daher das dynamische Einreihen von Sichtaufgabeagenten in eine Warteschlange auf der Grundlage des Kontexts und von vorherigen Ergebnissen, um die Genauigkeit und die Effizienz der Erkennung und der Pose zu erhöhen, mit einer schnelleren Fokussierungsschleife mit höherer Priorität für eine Wahrnehmung in Echtzeit eines Fokussierungsobjekts, das gerade manipuliert wird. Die Hintergrundschleife detektiert Veränderungen im Arbeitsraum, z. B. die Anwesenheit von neuen Objekten, entfernte Objekte, bewegte Objekte usw. mit dem Bewusstsein für verfügbare Rechenressourcen. Dieses System für maschinelles Sehen verfolgt nicht vorhersagbare Veränderungen, die in einer Fertigungsumgebung verwendet werden, und es kann in die Ausführung einer Vielfalt von Fertigungsaufgaben integriert werden, um mehrere Objekte zu erkennen und eine Pose eines Fokussierungsobjekts in Echtzeit zu verfolgen. Das System verteilt Ressourcen auf effiziente Weise und verändert Algorithmen zum Sehen auf der Grundlage von verschiedenen Situationen. Dieses System kann Robotern ermöglichen, auf nicht erwartete Veränderungen schnell zu reagieren und flexiblere Aufgaben auszuführen.
  • Die genaue Beschreibung und die Zeichnungen oder Figuren unterstützen und beschreiben die vorliegenden Lehren, aber der Umfang der vorliegenden Lehren wird nur durch die Ansprüche definiert. Obwohl einige der besten Arten und andere Ausführungsformen zum Ausführen der vorliegenden Lehren im Detail beschrieben wurden, existieren verschiedene alternative Entwürfe und Ausführungsformen, um die vorliegenden Lehren, die in den beigefügten Ansprüchen definiert sind, in die Praxis umzusetzen.

Claims (10)

  1. System für maschinelles Sehen für eine steuerbare Robotervorrichtung nahe bei einem Arbeitsraum, umfassend: einen Bildaufnahmesensor in Kommunikation mit einem Controller; wobei der Bildaufnahmesensor angeordnet ist, um periodisch Signaleingaben zum Sehen zu erfassen, die jeweils ein Bild eines Blickfelds, das den Arbeitsraum enthält, enthalten; wobei der Controller mit der Robotervorrichtung wirksam gekoppelt ist und eine nicht vorübergehende Speicherkomponente enthält, die eine ausführbare Sichtwahrnehmungsroutine enthält; wobei die Sichtwahrnehmungsroutine eine Routine zur Fokussierungssteuerung in einer Schleife, die betrieben werden kann, um ein Fokussierungsobjekt in dem Arbeitsraum dynamisch zu verfolgen, und eine Routine zur Hintergrundsteuerung in einer Schleife enthält, die betrieben werden kann, um einen Hintergrund des Arbeitsraums zu überwachen, wobei die Routine zur Fokussierungssteuerung in einer Schleife gleichzeitig asynchron parallel mit der Routine zur Hintergrundsteuerung in einer Schleife ausgeführt wird, um ein kombiniertes Resultat, das das Fokussierungsobjekt und den Hintergrund enthält, auf der Grundlage der periodisch erfassten Signaleingaben zum Sehen zu bestimmen; und wobei der Controller betrieben werden kann, um die Robotervorrichtung zu steuern, um das Fokussierungsobjekt auf der Grundlage der Routine zur Fokussierungssteuerung mit einer Schleife zu manipulieren.
  2. System für maschinelles Sehen nach Anspruch 1, wobei das Betreiben der Routine zur Fokussierungssteuerung in einer Schleife, um ein Fokussierungsobjekt in dem Arbeitsraum dynamisch zu verfolgen, umfasst, dass: eine Priorität des Fokussierungsobjekts verifiziert wird; und eine Prozedur zum fokussierten Sehen und eine Posenbestimmungsprozedur iterativ ausgeführt werden, um einen Aufenthaltsort des Fokussierungsobjekts im Blickfeld zu bestimmen.
  3. System für maschinelles Sehen nach Anspruch 1, wobei das Betreiben der Hintergrundsteuerung[sroutine] in einer Schleife, um einen Hintergrund des Arbeitsraums zu überwachen, umfasst, dass: Sichtaufgabeagenten sequentiell ausgeführt werden, die von einer dynamischen Warteschlange bereitgestellt werden, um den Hintergrund zu bewerten, um Umgebungsinformationen zu erzeugen; und die dynamische Warteschlange aktualisiert wird, um einen Sichtaufgabeagenten aus einem Sichtaufgabeagenten-Sammelbecken auf der Grundlage von Ergebnissen von einer gegenwärtigen Ausführung eines der Sichtaufgabeagenten zu identifizieren und zu wählen.
  4. System für maschinelles Sehen nach Anspruch 3, wobei das Sichtaufgabeagenten-Sammelbecken eine Vielzahl primärer Sichtaufgabeagenten und sekundärer Sichtaufgabeagenten enthält.
  5. System für maschinelles Sehen nach Anspruch 4, wobei die primären Sichtaufgabeagenten und die sekundären Sichtagenten eine gemeinsame Zuordnung gemeinsam nutzen, die Informationen über das Blickfeld von den periodisch erfassten Signaleingaben zum Sehen enthält.
  6. System für maschinelles Sehen nach Anspruch 4, wobei die primären Sichtaufgabeagenten einen Vorverarbeitungs-Sichtaufgabeagenten, einen Segmentierungs-Sichtaufgabeagenten, einen Erkennungs-Sichtaufgabeagenten und einen Posenregistrierungs-Sichtaufgabeagenten umfassen.
  7. System für maschinelles Sehen nach Anspruch 6, wobei die primären Sichtaufgabeagenten, die den Vorverarbeitungs-Sichtaufgabeagenten, den Segmentierungs-Sichtaufgabeagenten, den Erkennungs-Sichtaufgabeagenten und den Posenregistrierungs-Sichtaufgabeagenten umfassen, eine bevorzugte Ausführungsreihenfolge aufweisen.
  8. System für maschinelles Sehen nach Anspruch 7, wobei sich die bevorzugte Ausführungsreihenfolge der primären Sichtaufgabeagenten in Ansprechen auf dynamisch auftretende Situationen im Blickfeld dynamisch verändert.
  9. System für maschinelles Sehen nach Anspruch 6, wobei der Segmentierungs-Sichtaufgabeagent eine Segmentierung ausführt, die das Gruppieren von Punkten in den periodisch erfassten Signaleingaben zum Sehen in verschiedene separate Objekte umfasst.
  10. System für maschinelles Sehen nach Anspruch 6, wobei der Posenregistrierungs-Sichtaufgabeagent eine Pose des Fokussierungsobjekts identifiziert, das in den periodisch erfassten Signaleingaben zum Sehen identifiziert wurde.
DE102015111080.6A 2015-06-22 2015-07-09 Robotervorrichtung mit maschinellem Sehen Active DE102015111080B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/746,072 US9844881B2 (en) 2015-06-22 2015-06-22 Robotic device including machine vision
US14/746,072 2015-06-22

Publications (2)

Publication Number Publication Date
DE102015111080A1 true DE102015111080A1 (de) 2016-12-22
DE102015111080B4 DE102015111080B4 (de) 2018-11-08

Family

ID=57467244

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015111080.6A Active DE102015111080B4 (de) 2015-06-22 2015-07-09 Robotervorrichtung mit maschinellem Sehen

Country Status (3)

Country Link
US (1) US9844881B2 (de)
CN (1) CN106256512B (de)
DE (1) DE102015111080B4 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
US11366450B2 (en) 2017-03-23 2022-06-21 Abb Schweiz Ag Robot localization in a workspace via detection of a datum
DE102017213658A1 (de) 2017-08-07 2019-02-07 Robert Bosch Gmbh Handhabungsanordnung mit einer Handhabungseinrichtung zur Durchführung mindestens eines Arbeitsschritts sowie Verfahren und Computerprogramm
JP6911777B2 (ja) * 2018-01-23 2021-07-28 トヨタ自動車株式会社 動作軌道生成装置
EP3746270A4 (de) 2018-02-01 2021-10-13 ABB Schweiz AG Sichtbasierte operation für roboter
GB2576235B (en) 2018-06-19 2021-06-09 Bae Systems Plc Workbench system
FR3096150B1 (fr) * 2019-05-13 2021-05-28 Louis Dumas Contrôle d’opérations manuelles par l’intermédiaire d’un outil à main portatif lors d’une fabrication d’un assemblage de pièces
DE102019126903B3 (de) * 2019-10-07 2020-09-24 Fachhochschule Bielefeld Verfahren und Robotersystem zur Eingabe eines Arbeitsbereichs
DE102021202759A1 (de) 2021-03-22 2022-09-22 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters
CN114800530B (zh) * 2022-06-09 2023-11-28 中国科学技术大学 基于视觉的机器人的控制方法、设备及存储介质
CN115816441B (zh) * 2022-10-31 2023-08-08 实时侠智能控制技术有限公司 基于任务描述的机器人控制方法、装置及可读介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130243331A1 (en) * 2012-03-15 2013-09-19 Sony Corporation Information processing device, information processing method, and program

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5040159A (en) * 1989-03-20 1991-08-13 Hewlett-Packard Company Mechanical sense of touch in a control system
EP1587162B1 (de) * 2004-04-16 2008-05-14 Honda Research Institute Europe GmbH Selbstkalibrierendes Sensororientierungssystem
EP1766581A4 (de) * 2004-06-14 2010-11-03 Agency Science Tech & Res Verfahren zur erkennung von gewünschten gegenstände in einer sehr dynamischen umgebung mittels eines monitorsystem
EP1850270B1 (de) 2006-04-28 2010-06-09 Toyota Motor Europe NV Robuster Detektor und Deskriptor für einen Interessenspunkt
US7813528B2 (en) * 2007-04-05 2010-10-12 Mitsubishi Electric Research Laboratories, Inc. Method for detecting objects left-behind in a scene
US8253792B2 (en) * 2009-08-28 2012-08-28 GM Global Technology Operations LLC Vision system for monitoring humans in dynamic environments
FI20106090A0 (fi) * 2010-10-21 2010-10-21 Zenrobotics Oy Menetelmä kohdeobjektin kuvien suodattamiseksi robottijärjestelmässä
EP2748765B1 (de) * 2011-08-25 2022-12-14 Cornell University Retinaler kodierer für maschinelles sehen
US10572774B2 (en) 2012-12-06 2020-02-25 Toyota Motor Engineering & Manufacturing North America. Inc. Methods and robots for adjusting object detection parameters, object recognition parameters, or both object detection parameters and object recognition parameters
US9095978B2 (en) 2012-12-07 2015-08-04 GM Global Technology Operations LLC Planning a grasp approach, position, and pre-grasp pose for a robotic grasper based on object, grasper, and environmental constraint data
CN103895023B (zh) * 2014-04-04 2015-08-19 中国民航大学 一种基于编码方位装置的机械臂末端跟踪测量***的跟踪测量方法
US9486921B1 (en) * 2015-03-26 2016-11-08 Google Inc. Methods and systems for distributing remote assistance to facilitate robotic object manipulation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130243331A1 (en) * 2012-03-15 2013-09-19 Sony Corporation Information processing device, information processing method, and program

Also Published As

Publication number Publication date
CN106256512A (zh) 2016-12-28
US9844881B2 (en) 2017-12-19
DE102015111080B4 (de) 2018-11-08
CN106256512B (zh) 2019-01-04
US20160368148A1 (en) 2016-12-22

Similar Documents

Publication Publication Date Title
DE102015111080B4 (de) Robotervorrichtung mit maschinellem Sehen
DE102018215057B4 (de) Maschinelles-Lernen-Vorrichtung, Robotersystem und maschinelles-Lernen-Verfahren
DE102015002760B4 (de) Robotersimulationssystem, das den Prozess des Entnehmens von Werkstücken simuliert
DE202017106506U1 (de) Einrichtung für tiefes Maschinenlernen zum Robotergreifen
DE102015101710A1 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE102010045752A1 (de) Visuelles Wahrnehmungssystem und -verfahren für einen humanoiden Roboter
EP3578321B1 (de) Verfahren zum verwenden mit einer maschine zum erstellen einer erweiterte-realität-anzeigeumgebung
DE102014102943A1 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102013203381A1 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102021107333A1 (de) 3d-stellungsabschätzung mit einer 2d-kamera
DE102021109036A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte
EP4177013A1 (de) Ansteuerung eines industrieroboters für eine greifaufgabe
DE102022201719A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten
DE112021004779T5 (de) Vorrichtung zum Einstellen eines Parameters, Robotersystem, Verfahren und Computerprogramm
DE102021202570A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte
DE102021212859A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten
DE102021201880A1 (de) Vorrichtung und Verfahren zum Ermitteln der Pose eines Objekts
DE102021212860B4 (de) Verfahren zum Aufnehmen eines Objekts mittels eines Roboters
DE102020211053A1 (de) Annotationsvorrichtung
DE102021209646B4 (de) Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102022206274A1 (de) Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
EP4063081A1 (de) Verfahren zum ermitteln von steuerungsdaten für eine greifeinrichtung zum greifen eines gegenstands
EP4063080A1 (de) Verfahren zum ermitteln von steuerungsdaten für eine grei-feinrichtung zum greifen eines gegenstands
EP4064106A1 (de) Verfahren zum erzeugen von trainingsdaten für ein ml-modell
DE102022207847A1 (de) Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final