-
Stand der Technik
-
Die vorliegende Offenbarung bezieht sich auf Vorrichtungen und Verfahren zum Steuern eines Roboters.
-
Roboterfähigkeiten können mithilfe von Lernen-durch-Domonstration- (Learning from Demonstration, LfD) Ansätzen programmiert werden, bei denen ein Roboter einen vorgegebenen Plan einer Fähigkeit anhand von Demonstrationen erlernt. Der Grundgedanke von LfD ist die Parametrisierung von Gauß-Funktionen durch die Pose einer Kamera, die den Arbeitsraum des Roboters überwacht, und ein Zielobjekt, das durch den Roboter gehandhabt werden soll. Hierfür und auch für die Verwendung des resultierenden Robotersteuerungsmodells muss eine Schätzung der Pose des Objekts in einer gegebenen Szene durchgeführt werden. Eine Möglichkeit sind auf RGB-Bildern basierende Verfahren zur Posenschätzung. Diese könnten jedoch unzuverlässig sein.
-
Eine Aufgabe der Erfindung ist eine zuverlässige Posenschätzung in einem LfD-Kontext zu ermöglichen. Diese Aufgabe wird gemäß dem Anspruchsatz gelöst.
-
Aus der
DE 10 2020 128 653 A1 sind Apparate, Systeme und Techniken zum Bestimmen eines Satzes von Greifposen, die es einem Roboter ermöglichen würden, ein Objekt erfolgreich zu greifen, bekannt.
-
Aus der
DE 10 2020 127 508 A1 sind Geräte, Systeme und Techniken bekannt, die die Pose eines Objekts abschätzen, während das Objekt von einem Roboterglied manipuliert wird.
-
Aus der
DE 10 2020 110 650 A1 sind Vorrichtungen, Systeme, Verfahren und Herstellungsartikel für automatische Roboterwahrnehmungsprogrammierung durch Imitationslernen bekannt.
-
-
-
Aus der
US 2020 / 0 276 703 A1 sind Systeme, Verfahren und Vorrichtungen zur Optimierung einer Steuerung eines Roboteragenten, der mit einer Umgebung interagiert, bekannt.
-
Offenbarung der Erfindung
-
Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern eines Roboters bereitgestellt, umfassend das Durchführen von Demonstrationen, wobei jede Demonstration eine Handhabung eines Objekts vorführt, für jede Demonstration das Bereitstellen mindestens eines Deskriptorbildes aus Sicht des Roboters des Objekts, wobei das Deskriptorbild Merkmalspunkte für Orte auf dem Objekt spezifiziert, Auswählen eines Satzes von Merkmalspunkten aus den spezifizierten Merkmalspunkten, wobei die Merkmalspunkte durch Suchen eines Optimums einer Zielfunktion ausgewählt werden, die ausgewählte Merkmalspunkte belohnt, die in den Deskriptorbildern sichtbar sind, Trainieren eines Robotersteuerungsmodell anhand der Demonstrationen, wobei das Robotersteuerungsmodell dazu ausgelegt ist, Steuerinformationen in Abhängigkeit von einer eingegebenen Objektpose auszugeben, und Steuern des Roboters für eine Steuerszene mit dem Objekt durch Bestimmen eines Deskriptorbildes des Objekts aus der Sicht des Roboters, Lokalisieren des ausgewählten Satzes von Merkmalspunkten in dem Deskriptorbild des Objekts, Bestimmen von Koordinaten der lokalisierten Merkmalspunkte für die Steuerszene, Schätzen einer Pose aus den bestimmten Koordinaten und Steuern des Roboters zur Handhabung des Objekts mittels des Robotersteuerungsmodells, wobei die geschätzte Pose dem Robotersteuerungsmodell als Eingabe zugeführt wird.
-
Eine automatische Auswahl von Merkmalspunkten, die für die Posenschätzung eines Objekts verwendet werden, wird damit so vorgenommen, dass die ausgewählten Merkmalspunkte gut sichtbar sind (z. B. in den meisten Deskriptorbildern). Die Auswahl der Merkmalspunkte basiert also auf der Annahme, dass die Merkmale, die in den Demonstrationen (z. B. in den Bildern, die für die Aufnahme der Demonstrationen aufgenommen wurden) zu sehen sind, in dem Sinne gut sind, dass sie meistens in Szenen zu sehen sind, in denen der Roboter die entsprechende Manipulationsfähigkeit ausführen soll.
-
Der Sichtwinkel des Roboters ist zum Beispiel der Sichtwinkel einer am Roboter angebrachten Kamera, z. B. der Sichtwinkel eines Endeffektors des Roboters.
-
Somit ermöglicht das oben beschriebene Verfahren eine genaue und zuverlässige Schätzung der Pose (z. B. 6D-Pose) eines Objekts.
-
Im Folgenden werden verschiedene Beispiele angeführt.
-
Beispiel 1 ist ein Verfahren zum Steuern eines Roboters wie oben beschrieben.
-
Beispiel 2 ist das Verfahren von Beispiel 1, wobei die Zielfunktion ferner eines oder mehr belohnt von: ausgewählten Merkmalspunkten, die im Deskriptorraum beabstandet sind, Orten auf dem Objekt, die den ausgewählten Merkmalspunkten entsprechen, die im Raum beabstandet sind, und einem niedrigen Erkennungsfehler für ausgewählte Merkmalspunkte für das Objekt.
-
Diese Bedingungen gewährleisten, dass die Merkmalspunkte für das Objekt zuverlässig erkannt werden können und dass nach ihrer Erkennung eine Pose des Objekts zuverlässig bestimmt werden kann.
-
Beispiel 3 ist das Verfahren von Beispiel 1 oder 2, das ferner das Anpassen einer Ebene an das Objekt und das Auswählen der Merkmalspunkte, sodass sie einen Koordinatenrahmen auf der Ebene definieren, und das Schätzen der Pose aus den bestimmten Koordinaten der lokalisierten Merkmalspunkte und Informationen über die Pose der angepassten Ebene umfasst.
-
Dies gewährleistet eine zuverlässige Posenschätzung, selbst wenn das Objekt flach ist und/oder wenig Variation in einer räumlichen Richtung aufweist (d. h. kein „echtes“ 3D-Objekt ist).
-
Beispiel 4 ist das Verfahren von Beispiel 3, wobei das Schätzen der Pose aus den bestimmten Koordinaten das Projizieren der Koordinaten der lokalisierten Merkmalspunkte auf die angepasste Hyperebene umfasst.
-
So kann ein planarer Koordinatenrahmen (in der Ebene) abgeleitet werden, auch wenn erkannt wird, dass die Koordinaten der Merkmalspunkte nicht in der Ebene liegen.
-
Beispiel 5 ist das Verfahren von Beispiel 3 oder 4, wobei die Ebene an das Objekt angepasst wird, die Merkmalspunkte so ausgewählt werden, dass sie einen Koordinatenrahmen auf der Ebene definieren, und die Pose aus den ermittelten Koordinaten der lokalisierten Merkmalspunkte und Informationen über die Pose der Ebene geschätzt wird, falls eine Veränderung des Objekts in einer räumlichen Richtung unterhalb eines vorbestimmten Schwellenwerts liegt.
-
Auf diese Weise kann ein zuverlässiges Verfahren zur Posenbestimmung sowohl für echte als auch für nicht-echte 3D-Objekte trainiert werden. Insbesondere die Posenerkennung für echte 3D-Objekte ist immer noch effizient, da die (Hyper-) Ebenenanpassung nur bei Bedarf angewendet wird.
-
Beispiel 6 ist das Verfahren von einem der Beispiele 1 bis 5, das das Bestimmen einer Ableitungsregel eines Koordinatenrahmens aus den Koordinaten der ausgewählten Merkmalspunkte umfasst, wobei das Schätzen der Pose aus den bestimmten Koordinaten die Anwendung der Ableitungsregel auf die ausgewählten Merkmalspunkte umfasst, wobei die Ableitungsregel durch Suchen eines Minimums der Abhängigkeit des Koordinatenrahmens vom Rauschen in den Koordinaten bestimmt wird.
-
Dies gewährleistet eine zuverlässige Posenerkennung auch bei Erkennungsfehlern der Merkmalspunkte.
-
Beispiel 7 ist das Verfahren von einem der Beispiele 1 bis 6, wobei das Trainieren des Robotersteuerungsmodells unter Verwendung der Demonstrationen für jede Demonstration das Lokalisieren des ausgewählten Satzes von Merkmalspunkten im Deskriptorbild des Objekts in der Demonstration, das Bestimmen von Koordinaten der lokalisierten Merkmalspunkte für die Demonstration und das Schätzen einer Pose aus den bestimmten Koordinaten für die Demonstration umfasst.
-
Das bedeutet, dass die ausgewählten Merkmalspunkte zur Posenschätzung für das Training des Robotersteuerungsmodells selbst verwendet werden können.
-
Beispiel 8 ist das Verfahren von einem der Beispiele 1 bis 7, umfassend das Bestimmen des Deskriptorbildes des Objekts aus einem Kamerabild des Objekts durch ein dichtes Objektnetz.
-
Ein dichtes Objektnetz (Dense Object Net, DON) kann trainiert werden, um Punkte auf einem Objekt eindeutig zu identifizieren. Solche Punkte können bei unterschiedlichen Konfigurationen des Objekts zuverlässig verfolgt werden.
-
Beispiel 9 ist eine Robotersteuervorrichtung, die dazu ausgelegt ist, ein Verfahren gemäß einem der Beispiele 1 bis 8 durchzuführen.
-
Beispiel 10 ist ein Computerprogramm, das Anweisungen umfasst, die beim Ausführen durch einen Computer den Computer veranlassen, ein Verfahren gemäß einem der Beispiele 1 bis 8 durchzuführen.
-
Beispiel 11 ist ein computerlesbaren Medium das Anweisungen umfasst, die beim Ausführen durch einen Computer den Computer veranlassen, ein Verfahren gemäß einem der Beispiele 1 bis 8 durchzuführen.
-
In den Zeichnungen beziehen sich ähnliche Bezugszeichen allgemein auf dieselben Teile in den verschiedenen Ansichten. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu; der Schwerpunkt liegt stattdessen allgemein auf der Veranschaulichung der Prinzipien der Erfindung. In der folgenden Beschreibung werden verschiedene Aspekte der Offenbarung unter Bezugnahme auf die folgenden Zeichnungen beschrieben. Dabei gilt:
- 1 zeigt einen Roboter.
- 2 veranschaulicht ein Verfahren zur Auswahl von Merkmalspunkten und zum Erlernen eines Koordinatenrahmens für ein Objekt in der Trainingsdatenmenge, das in einer Richtung wenig Variation aufweist, sowie die Anwendung des Koordinatenrahmens beim Einsatz.
- 3 zeigt ein Flussdiagramm, das ein Verfahren zum Steuern eines Roboters veranschaulicht.
-
Die folgende detaillierte Beschreibung bezieht sich auf die beigefügten Zeichnungen, die zur Veranschaulichung bestimmte Details und Aspekte dieser Offenbarung zeigen, in denen die Erfindung umgesetzt werden kann. Es können auch andere Aspekte genutzt und strukturelle, logische und elektrische Änderungen vorgenommen werden, ohne den Schutzumfang der Erfindung zu verlassen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht unbedingt gegenseitig aus, da einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
-
Im Folgenden werden verschiedene Beispiele näher beschrieben.
-
1 zeigt einen Roboter 100.
-
Der Roboter 100 weist einen Roboterarm 101, zum Beispiel einen Industrieroboterarm zum Handhaben oder Montieren eines Werkstücks (oder eines oder mehrerer anderer Objekte), auf. Der Roboterarm 101 weist Manipulatoren 102, 103, 104 und eine Basis (oder Stütze) 105 auf, an der die Manipulatoren 102, 103, 104 befestigt sind. Der Begriff „Manipulator“ bezieht sich auf die bewegbaren Elemente des Roboterarms 101, deren Betätigung eine physische Interaktion mit der Umgebung ermöglicht, z. B. um eine Aufgabe auszuführen. Zur Steuerung weist der Roboter 100 eine (Roboter-) Steuervorrichtung 106 auf, die dazu ausgelegt ist, die Interaktion mit der Umgebung gemäß einem Steuerprogramm durchzuführen. Das letzte Element 104 (das am weitesten von der Halterung 105 entfernt ist) der Manipulatoren 102, 103, 104 wird auch als Endeffektor 104 bezeichnet und könnte ein oder mehrere Werkzeuge, wie z. B. ein Schweißbrenner, ein Greifinstrument, eine Lackierausrüstung oder dergleichen, sein.
-
Die anderen Manipulatoren 102, 103 (näher an der Halterung 105) könnten eine Positioniervorrichtung bilden, sodass zusammen mit dem Endeffektor 104 der Roboterarm 101 mit dem Endeffektor 104 an seinem Ende bereitsteht. Der Roboterarm 101 ist ein mechanischer Arm, der ähnliche Funktionen wie ein menschlicher Arm (möglicherweise mit einem Werkzeug an seinem Ende) erfüllen kann.
-
Der Roboterarm 101 könnte Gelenkelemente 107, 108, 109 enthalten, die die Manipulatoren 102, 103, 104 miteinander und mit der Halterung 105 verbinden. Ein Gelenkelement 107, 108, 109 könnte ein oder mehrere Gelenke aufweisen, von denen jedes den zugehörigen Manipulatoren eine Drehbewegung (d. h. eine Rotationsbewegung) und/oder eine Translationsbewegung (d. h. eine Verschiebung) relativ zueinander ermöglichen kann. Die Bewegung der Manipulatoren 102, 103, 104 könnte mithilfe von Aktuatoren eingeleitet werden, die durch die Steuervorrichtung 106 gesteuert werden.
-
Der Begriff „Aktuator“ kann als Komponente verstanden werden, die dazu angepasst ist, als Reaktion auf einen Antrieb einen Mechanismus oder einen Prozess zu beeinflussen. Der Aktuator kann die durch die Steuervorrichtung 106 erteilten Anweisungen (die sogenannte Ansteuerung) in mechanische Bewegungen umsetzen. Der Aktuator, z. B. ein elektromechanischer Wandler, könnte dazu ausgelegt sein, bei Ansteuerung elektrische Energie in mechanische Energie umzuwandeln.
-
Der Begriff „Steuervorrichtung“ kann als jede Art von Logik implementierender Einrichtung verstanden werden, die beispielsweise eine Schaltung und/oder einen Prozessor aufweisen kann, der in der Lage ist, in einem Speichermedium gespeicherte Software, Firmware oder eine Kombination davon auszuführen, und der Anweisungen, z. B. an einen Aktuator wie im vorliegenden Beispiel, erteilen kann. Die Steuervorrichtung könnte um Beispiel durch Programmcode (z. B. Software) dazu konfiguriert sein, den Betrieb eines Systems, im vorliegenden Beispiel eines Roboters, zu steuern.
-
Im vorliegenden Beispiel weist die Steuervorrichtung 106 einen oder mehrere Prozessoren 110 und einen Speicher 111 auf, der Code und Daten speichert, basierend auf dem der Prozessor 110 den Roboterarm 101 steuert. Gemäß verschiedenen Ausführungsformen steuert die Steuervorrichtung 106 den Roboterarm 101 basierend auf einem im Speicher 111 gespeicherten statistischen Modell 112.
-
Ein Roboter 100 kann die Vorteile von Lernen-durch-Domonstration- (Learning from Demonstration, LfD) Ansätzen nutzen, um zu lernen, eine Aufgabe auszuführen oder mit einem menschlichen Partner zusammenzuarbeiten. Menschliche Demonstrationen können durch ein probabilistisches Modell (auch als statistisches Modell bezeichnet) kodiert werden, das den vorgegebenen Plan der Aufgabe für den Roboter darstellt. Die Steuervorrichtung 106 kann anschließend das statistische Modell, das auch als Robotertrajektorienmodell bezeichnet wird, dazu verwenden, die gewünschten Roboterbewegungen zu erzeugen, möglicherweise in Abhängigkeit vom Zustand des menschlichen Partners und der Umgebung.
-
Die Grundidee von LfD besteht darin, ein vorgegebenes Fähigkeitsmodell wie GMMs an eine Handvoll von Demonstrationen anzupassen. Es seien M Demonstrationen vorhanden, von denen jede T
m Datenpunkte für eine Datenmenge von insgesamt N = Σ
mT
m Beobachtungen
enthält, wobei ξ
t ∈ ℝ
d. Ferner wird angenommen, dass dieselben Demonstrationen aus der Perspektive von P verschiedenen Koordinatensystemen aufgezeichnet werden (die durch die Aufgabenparameter wie lokale Koordinatensysteme oder Rahmen von Objekten von Interesse vorgegeben sind). Ein gängiges Verfahren, solche Daten zu erhalten, besteht darin, die Demonstrationen von einem statischen globalen Rahmen in einen Rahmen p durch
zu transformieren. Hier ist
die Translation und Rotation des (lokalen) Rahmens p gegenüber dem Weltrahmen (d. h. dem globalen Rahmen). Anschließend wird ein TP-GMM durch die Modellparameter
beschrieben, wobei K die Anzahl der Gauß-Komponenten im Mischungsmodell darstellt, π
k die vorherige Wahrscheinlichkeit jeder Komponente ist und
die Parameter der k-ten Gauß-Komponente innerhalb des Rahmens p sind.
-
Im Gegensatz zum Standard-GMM kann das obige Mischungsmodell nicht unabhängig für jedes Bild erlernt werden. Tatsächlich werden die Mischkoeffizienten πk durch alle Rahmen gemeinsam genutzt und die k-te Komponente im Rahmen p muss auf die entsprechende k-te Komponente im globalen Rahmen abgebildet werden. Die Erwartungsmaximierung (EM) ist ein bewährtes Verfahren zum Erlernen solcher Modelle.
-
Einmal erlernt, kann das TP-GMM während der Ausführung dazu verwendet werden, eine Bewegungsbahn für die erlernte Fähigkeit zu reproduzieren.
-
Verborgene Semi-Markov-Modelle (Hidden semi-Markov Models, HSMMs) erweitern die standardmäßigen verborgenen Markov-Modelle (Hidden Markov Models, HMMs) durch Einbetten zeitlicher Informationen des zugrunde liegenden stochastischen Prozesses. Das heißt, während bei HMM der zugrunde liegende verborgene Prozess als Markov-Prozess angenommen wird, d. h. die Wahrscheinlichkeit des Übergangs zum nächsten Zustand hängt nur vom aktuellen Zustand ab, wird bei HSMM der Zustandsprozess als Semi-Markov-Prozess angenommen. Das bedeutet, dass der Übergang zum nächsten Zustand sowohl vom aktuellen Zustand als auch von der seit dem Eintritt in den Zustand verstrichenen Zeit abhängt. Diese können in Kombination mit TP-GMMs für die Kodierung von Roboterfähigkeiten eingesetzt werden, um raumzeitliche Merkmale der Demonstrationen zu erlernen, was zu einem aufgabenparametrisierten HSMM (TP-HSMM) Modell führt.
-
Die Anwendung eines solchen Robotersteuerungsmodells erfordert eine Schätzung der Pose eines zu handhabenden Objekts 113. Dies könnte sich dergestalt auf eine anfängliche Pose des zu handhabenden Objekts 113 beziehen, dass die Parameter des TP-GMM korrekt eingestellt werden können. Möglicherweise müssen die Posen aber auch für die Beobachtungen geschätzt werden. Die Demonstrationen werden beispielsweise durch Aufnehmen von Bildsequenzen aufgezeichnet, und die Beobachtungen entsprechen (oder beinhalten) Posen eines gehandhabten Objekts (oder Teilen des Roboters), die aus den Bildern extrahiert werden. Gemäß verschiedenen Ausführungsformen werden Ansätze zum Schätzen von Posen anhand ausgewählter Merkmalspunkte bereitgestellt, die es ermöglichen, während des Einsatzes zunächst die Pose (z. B. 6D-Pose) eines Objekts in einem Steuerungsszenario (Szene) zu schätzen, wenn beispielsweise ein RGBD-Bild (RGB+Tiefe) vorliegt. Anschließend wird diese Pose in TP-HSMM eingegeben, um die gewünschte Bewegungsbahn für dieses Steuerungsszenario zu berechnen. Vor dem Trainieren von TP-HSMM wird eine Auswahl dieser Schlüsselmerkmale vorgenommen. Für jede Demonstration könnte dann auch die 6D-Objektpose anhand dieser Auswahl abgeleitet werden. Beim Trainieren des TP-HSMM werden diese 6D-Posen dazu verwendet, die Aufgabenparameter im Objektrahmen zu berechnen.
-
So wird gemäß verschiedenen Ausführungsformen das Lernen aus Demonstrationen mit einem Ansatz zur Posenschätzung kombiniert, der auf der Zuordnung eines Bildes zu einem Deskriptorbild beruht. Ein Beispiel für ein Modell, das für eine solche Zuordnung trainiert werden könnte, ist ein dichtes Objektnetz.
-
Ein dichtes Objektnetz bietet eine Möglichkeit, objektspezifische Merkmale zu verfolgen. Es kann so trainiert werden, dass es entweder objektspezifisch oder objektklassenspezifisch ist. Daher bietet es eine Möglichkeit, objektklassenspezifische Merkmale über eine breite Klasse von Objekten mit einem einzigen neuronalen Netz zu erkennen.
-
Ein dichtes Objektnetz (DON) stellt ein h×w×3 RGB-Bild in einem h×w×D, D ∈ ℕ+ Deskriptorraum dar.
-
Zum Trainieren eines DON kann eine Verlustfunktion, die auf pixelweisem Kontrastverlust basiert, auf einem vollständig verbundenen Netzwerk minimiert werden. Der pixelweise Kontrastverlust ist eine Technik, die aus zwei gegebenen Bildern einen Verlust erzeugt. Diesem Verlust zufolge sollte jedes Paar semantisch ähnlicher Pixel in den beiden Bildern auf ein Paar ähnlicher Punkte im Deskriptorraum abgebildet sein. Außerdem sollte jedes Paar semantisch unähnlicher Pixel in unterschiedlichen Regionen des Deskriptorraums abgebildet sein. Die Anwendung des pixelweisen Kontrastverlustes führt zu einem Netz, das objekt-(klassen-)spezifische Merkmale erkennen kann. Verschiedenen Ausführungsformen zufolge wird diese Fähigkeit ausgenutzt. Insbesondere wird ein objektspezifischer Merkmalspunkt (als Element des Deskriptorraums gegeben (dieses Element wird als Merkmalspunkt bezeichnet) in einem (in den Trainingsdaten) ungesehenen Bild (das eine bestimmte Konfiguration, z. B. eine Ausgangskonfiguration, zeigt, von der aus der Roboterarm 101 gesteuert werden soll) erkannt. Die Koordinaten eines gegebenen Deskriptors (und damit eines bestimmten Merkmals, z. B. des Objekts 113) werden durch Aufsuchen des Pixels des Bildes ermittelt, das im Deskriptorraum durch einen Deskriptor repräsentiert wird, der dem gegebenen (Ziel-)Deskriptor möglichst nahe ist. Um dieses „beste“ Pixel, das mit (u*, v*) bezeichnet wird, zu finden, können verschiedene Ansätze verwendet werden. Ein Ansatz besteht darin, das Pixel zu wählen, das einem Deskriptor entspricht, der den Abstand zum Zieldeskriptor minimiert:
wobei d* den Merkmalsdeskriptor und I das Deskriptorbild bezeichnet.
-
Wie bereits erwähnt, ist dies nur ein Beispiel, und es könnten auch andere Ansätze verwendet werden, um eine Übereinstimmung in einem (neuen) Bild mit einem bestimmten Deskriptor zu finden. Um die Robustheit zu erhöhen, wird gemäß einer Ausführungsform beispielsweise eine modifizierte Version, die sogenannte räumliche Erwartung, verwendet, bei der die Erwartung eines mit einem Exponentialwert gewichteten quadratischen Fehlers zugrunde gelegt wird.
-
Die Transformation von Bildkoordinaten (Pixelkoordinaten) in Weltkoordinaten (z. B. Koordinaten des Roboterbezugsrahmens) ist eine Standardtechnik in der Robotik und der Computer-Vision. Die Anwendung dieser Transformation auf das gefundene „beste“ Pixel führt zu einer Routine zum Ermitteln der Weltkoordinaten für einen objektspezifischen Merkmalspunkt, der im Deskriptorraum gegeben ist. Diese Weltkoordinaten (z. B. euklidische Koordinaten) werden als die Koordinaten des Merkmalspunktes bezeichnet. Sie hängen von der Szene (d. h. der Konfiguration) ab.
-
Es wird nun angenommen, dass die Ausgabe eines dichten Objektnetzes zur Verfügung steht und für jeden Deskriptor im Deskriptorbild eines aktuellen Bildes (das z. B. eine Ausgangskonfiguration zeigt, für die der Roboterarm 101 gesteuert werden soll) bekannt ist, ob er einem Punkt auf dem Zielobjekt (z. B. Objekt 113) entspricht, und wenn dies der Fall ist, auch die Koordinaten des Punktes auf dem Objekt bekannt sind, zu dem er gehört. Im Folgenden werden Ansätze beschrieben, die es ermöglichen, eine Posenschätzung zu finden, die für das Lernen durch Demonstrationen geeignet ist. Die Posenschätzung sollte invariant gegenüber Bewegungen des Objekts sein, d. h., falls das Objekt bewegt wird, wird auch die Pose auf die gleiche Weise transformiert. Es ist zu beachten, dass hierfür kein RBG-Bild verwendet wird. Insbesondere könnte jeder Datenpunkt in der Trainings- (oder Lern-) Datenmenge {Ii, maski, transformationi}, i = 1 ... N, aus einem D-dimensionalen Deskriptorbild I, einer Bildmaske (sie enthält die Informationen, ob ein Punkt zum Objekt gehört oder nicht) und einem Verfahren („Transformation“ bezeichnet) zum Berechnen der Koordinaten für jeden Deskriptor bestehen, der einen Punkt darstellt, der auf dem Objekt liegt. Es ist zu beachten, dass diese Trainingsdatenmenge die Trainingsdatenmenge für die Auswahl der Merkmalspunkte ist. Es wird angenommen, dass das DON bereits trainiert ist oder zuvor für das Objekt mit einer anderen geeigneten Trainingsdatenmenge (überwacht oder nicht überwacht) trainiert wurde.
-
Gemäß verschiedenen Ausführungsformen enthält ein Ansatz, der es ermöglicht, eine Posenschätzung zu finden, die für das Lernen durch Demonstrationen geeignet ist, ein optimierungsbasiertes Verfahren zum Auffinden von K Deskriptoren (genannt Merkmalspunkte), eine (optional) optimierungsbasierte Parametrisierung eines Koordinatenrahmens für Teilmengen X ⊆ ℝ3 und (optional) eine orthogonale Projektion auf eine geeignete Hyperebene.
-
Auswahl der Deskriptoren
-
Dazu gehört das Auffinden von Merkmalspunkten, die dann für die Parametrisierung eines Koordinatenrahmens verwendet werden könnten.
-
Gemäß verschiedenen Ausführungsformen wird eine Menge von Merkmalspunkten ausgewählt, die verschiedene Bedingungen erfüllen. Im Folgenden werden vier Bedingungen genannt, jedoch ist zu beachten, dass nicht alle berücksichtigt werden müssen und dass sie eventuell gewichtet werden können, um eine gegenüber anderen hervorzuheben.
-
Eine erste Bedingung ist, dass die ausgewählten Merkmalspunkte mit einem kleinen Erkennungsfehler erkannt werden sollten (dies schließt die Sichtbarkeit der Objektmerkmale ein, die sie kodieren). Zur Quantifizierung dieses Kriteriums wird für jeden möglichen Deskriptor der Abgleichfehler über alle Datenpunkte in der Lerndatenmenge berechnet und der Fehler als Erwartung für den Abgleichfehler für einen unbekannten Datenpunkt berechnet (da der Erkennungsfehler normalisiert ist, kann der kumulative Fehler anstelle des mittleren Fehlers verwendet werden).
-
Es gibt zwei Bereiche, in denen der Abgleichfehler berechnet werden kann: im Deskriptorbereich (Abstand zwischen dem Deskriptor und dem Deskriptorbild) und im Weltbereich (Variation in den Weltkoordinaten des Merkmalspunktes). Der Vorteil der Berechnung des Abgleichfehlers im Deskriptorbereich besteht darin, dass keine grundlegenden Informationen darüber erforderlich sind, welche Pixel (semantisch) zu welchem Pixel in einem anderen Bild gehören. Trotz der Verfügbarkeit einer solchen Datenmenge (Trainingsdatenmenge des dichten Objektnetzes) bringt ihre Verwendung einen Verlust an Allgemeinheit mit sich. Es kann jedoch beobachtet werden, dass es Objekte gibt, bei denen Merkmalspunkte vorhanden sind, die im Deskriptorraum sehr gut, im (physischen) Raum jedoch nur unzureichend verfolgt werden können, sodass auch der Weltbereich verwendet werden kann.
-
Eine zweite Bedingung für die Auswahl der Menge von Merkmalspunkten, die die Menge von Merkmalspunkten erfüllen sollte, ist die räumliche Vielfalt im Deskriptorraum. Diese Bedingung stellt sicher, dass die ausgewählten Merkmalspunkte angesichts des dichten Objektnetzes unterschiedliche Merkmale des Objekts im physischen (d. h. euklidischen) Raum beschreiben. Ähnlich wie die Bedingung der räumlichen Trennung im Deskriptorraum kann eine dritte Bedingung die räumliche Trennung im Raum sein. Liegen die Merkmalspunkte räumlich zu nahe beieinander (d. h. ihre Koordinaten sind für ein Objekt zu ähnlich), erhöht sich die Auswirkung von Abgleichfehlern. Im Gegensatz zur Bedingung des Abgleichfehlers im Raum verursacht die Bedingung der räumlichen Trennung keinen Verlust an Allgemeinheit, da sie keine Kenntnis über die Beziehung der verschiedenen Bilder zueinander erfordert.
-
Eine vierte Bedingung ist, dass Merkmale genommen werden sollten, die in allen (oder möglichst vielen) Datenpunkten der Lerndatenmenge enthalten sind. Unter der Annahme, dass jedes Deskriptorbild in der Trainingsdatenmenge durch das trainierte DON aus einem Kamerabild erzeugt wird, bedeutet dies, dass alle Deskriptoren in allen (oder möglichst vielen) Bildern der Trainingsdatenmenge sichtbar sein sollten. Da angenommen werden kann, dass die Demonstrationen Konfigurationen darstellen, die auch im Einsatz vorhanden sein werden, ist zu erwarten, dass Objektteile, die diese Merkmalspunkte aufweisen, auch in den im Einsatz aufgenommenen Bildern sichtbar sind.
-
Gleichung (2) liefert ein Optimierungsproblem für die Auswahl der Merkmalspunkte, das die vier oben beschriebenen Bedingungen berücksichtigt.
wobei
-
Dabei ist K die Anzahl der ausgewählten Deskriptoren, α1, α2, α3, α4 sind positive reelle Zahlen, die als Kopplungsparameter der Bedingungen dienen. Der Normalisierungsoperator NOI ist ein Operator, der die Funktionen f : I ⊆ X → ℝ+ auf die Funktionen f̃ : I ⊆ X → [0, 1] abbildet, sodass verschiedene f̃, die auf I beschränkt sind, zur Definition einer Kostenfunktion (alle f̃ haben dieselbe Auswirkung auf sie) addiert werden können.
-
Die erkannte Funktion I(pk) ist eine Indikatorfunktion, die gleich 0 ist, falls der Merkmalspunkt pk im Bild I erkannt wird, und andernfalls ∞ ist.
-
Für jede endliche Menge I kann der Normalisierungsoperator definiert werden durch
-
In Gleichung (3) bildet die Funktion e(.) einen Deskriptor auf den entsprechenden Abgleichfehler im Raum ab. Ist die Trainingsdatenmenge für das dichte Objektnetz (oder eine andere Datenmenge, die aus Szenen mit statischer Objektposition und -pose besteht) verfügbar, kann das folgende Schätzverfahren für e(x) verwendet werden:
- Wähle für jede Szene i (zufällig) k Bilder aus und leite die Koordinaten pij für x in jedem Bild ab. Berechne innerhalb einer Szene den Mittelwert Dann ist e(x) ≈ ∑i,j pij - p̅i. Wie bereits erwähnt, ist der kumulative Abgleichfehler ausreichend.
-
Parametrisierung eines Koordinatenrahmens
-
Aus einer Menge von Merkmalspunkten (die z. B. wie oben beschrieben gelernt wurden) wird ein Koordinatensystem (oder Rahmen) für einen Raum X abgeleitet (gelernt), der von den gelernten Merkmalspunkten abhängt. Wir bezeichnen mit D die Matrix, deren Spalten die Koordinaten der gelernten Merkmalspunkte sind, und mit B(D) die gewünschte Basismatrix (d. h. deren Spalten eine Basis von X sind). Im Folgenden wird (ohne Verlust der Allgemeinheit) angenommen, dass X = ℝ
3. Andernfalls werden die gelernten Deskriptoren auf X projiziert und die folgenden Operationen werden in allen Schritten sinngemäß auf X durchgeführt (für ein geeignetes n als ℝ
n bezeichnet). Ferner wird angenommen, dass B(D) = DB für eine Matrix B mit geeigneter Dimension steht. Das gelernte Koordinatensystem sollte in dem Sinne zuverlässig sein, dass Rauschen in den Koordinaten der Merkmalspunkte keinen signifikanten Einfluss auf die Basisvektoren haben sollte. Mathematisch ausgedrückt kann dies als Minimierung von
formuliert werden, wobei D̃ die gemessene Deskriptormatrix bezeichnet. Dies bedeutet D̃ = D + E mit einem Rauschterm E. Dieser Rauschterm kann geschrieben werden als
für einige w
i ∈ ℝ i = 1,2, ..., K, e
i ∈ ℝ
3 i = 1,2, ..., K mit ||(e
1 e
2 ... e
K)||
≤1.
-
Also
-
Es ist zu beachten, dass ||WB|| der maximale Singulärwert von WB ist.
-
Die Gewichtungen wi, i = 1, 2, ..., K können anhand des oben beschriebenen kumulativen Abgleichfehlers geschätzt werden.
-
Der Einfachheit halber könnte die Optimierung von (4) über alle B's durchgeführt werden, die ein Koordinatensystem definieren, dessen Achsen entweder die Vektoren zwischen zwei Punkten oder die Vektoren sind, die von einem zentralen Punkt zu den anderen Punkten zeigen. Ein Orthogonalisierungsprozess kann auf B(D) angewendet werden, um eine orthogonale Basis zu erhalten.
-
Der Mittelwert der Koordinaten der Merkmalspunkte kann als Ursprung verwendet werden.
-
Unterstützende Hyperebene
-
Handelt es sich bei dem zu trainierenden Objekt um ein „echtes“ 3D-Objekt, ist der oben beschriebene Ansatz für die Auswahl von Merkmalspunkten und das Lernen eines Koordinatenrahmens auf das Objekt anwendbar. In vielen industriellen Anwendungen sind die betrachteten Objekte jedoch nicht echte 3D-Objekte in dem Sinne, dass es Richtungen gibt, in denen das Objekt weniger Vielfalt bietet. In einem solchen Fall führt der oben beschriebene Ansatz zu mindestens einer unzuverlässigen Koordinatenachse. Daher wird bei einem solchen Objekt (z. B. einem flachen Objekt) diese Richtung mittels einer orthogonalen Projektion auf eine geeignete ausgewählte Hyperebene entfernt.
-
2 veranschaulicht ein Verfahren zur Auswahl von Merkmalspunkten und zum Erlernen eines Koordinatenrahmens 204 für ein Objekt 201 in der Trainingsdatenmenge 202, die in einer Richtung wenig variieren, und zur Anwendung des Koordinatenrahmens beim Einsatz.
-
Das Verfahren beinhaltet die Auswahl (das Lernen) einer Hyperebene 203. Die Hyperebene sollte die Fläche approximieren, auf der die Punkte liegen, die den (passenden) Deskriptoren des Objekts entsprechen (als Punktwolke des Objekts bezeichnet). Falls die Fläche nahezu eben ist, kann ein Ansatz mit dem Standardverfahren der kleinsten Quadrate oder der Singulärwertzerlegung verwendet werden. Dies ist jedoch nicht immer der Fall. Ein klassisches LP-(Leiterplatten-) Objekt hat beispielsweise eine Richtung, in der es eine geringe Vielfalt aufweist (die Richtung rechtwinklig zur Leiterplatte), und Ansätze wie das Verfahren der kleinsten Quadrate oder der Singulärwertzerlegung können aufgrund der Größe der elektronischen Komponenten und des Abgleichfehlers des dichten Objektnetzes fehlschlagen.
-
Zur Lösung dieses Problems wird gemäß verschiedenen Ausführungsformen ein modifizierter (oder angepasster) Theil-Sen-Schätzer zur Berechnung der Stützebene 203 verwendet.
-
Jede Ebene ist eindeutig durch zwei Richtungsvektoren und einen Stützpunkt definiert. Außerdem kann eine Hyperebene als Graph einer Funktion f : ℝ2 → ℝ interpretiert werden. Die Steigung von f kann auf den beiden euklidischen Standardachsen von ℝ2 geschätzt werden.
-
Ein Punkt y, der im Bild von f gegeben ist, kann geschrieben werden als
mit den Standardeinheitsvektoren der euklidischen Achsen e1; e2, den Steigungen m1; m2 von f in Richtung e1/e2 und einigen Skalaren a1, a2, sodass
-
Das Verhältnis m1/m2 kann aus y und c2/c1 berechnet werden. Zum Lernen (d. h. Anpassen) einer Hyperebene müssen beide Steigungen gleichzeitig bestimmt werden. Daher wird gemäß einer Ausführungsform ein iterativer Algorithmus verwendet, der zwischen dem Bestimmen von m1/m2 und dem Schätzen von c1, c2 abwechselt. Der nachstehende Algorithmus 1 gibt ein Beispiel für eine Punktwolke P (wobei jeder Punkt drei Raumkoordinaten aufweist).
-
Die Hyperebene 203 kann aus einem beliebigen Datenpunkt (d. h. einem beliebigen Deskriptorbild mit zugehöriger Transformation zum Erzeugen der entsprechenden Punktwolke) der Trainingsdatenmenge geschätzt werden.
-
Bei gegebener Hyperebene 203 können die Koordinaten der Merkmalspunkte auf diese Ebene projiziert werden. Für die Anwendung des oben beschriebenen Verfahrens zur Parametrisierung eines Koordinatenrahmens wird die Hyperebene 203 (die mit identifiziert werden kann), die mit ℝ2 identifiziert werden kann, mit einem Koordinatensystem ausgestattet. Eine Möglichkeit besteht darin, das Weltkoordinatensystem so zu verschieben, dass der Ursprung im Mittelwert aller Koordinaten der Deskriptoren liegt und die transformierte z-Achse auf den Normalenvektor der Hyperebene ausgerichtet ist). Dieses transformierte Weltkoordinatensystem induziert ein ebenes Koordinatensystem auf der Hyperebene (Projektion der x- und y-Achse auf die Hyperebene), in dem die Parametrisierung durchgeführt werden kann. Ferner ermöglicht die berechnete Transformation, die parametrisierte planare Basis (sie kann als verallgemeinerte Rotation um die z-Achse/Normalenvektor interpretiert werden) auf eine Basis von ℝ3 erweitern. Dieser Ansatz funktioniert auch bei anderen Verfahren zur Ermittlung einer planaren Basis. Insbesondere kann jedes Verfahren verwendet werden, das auf dem Vergleich von Punktwolken beruht.
-
Beim Trainieren wird also aus dem Objekt 201 eine Punktwolke von Punkten (im euklidischen Raum) erzeugt, die Deskriptoren entsprechen, die mit Orten auf den Objekten 201 übereinstimmen. Für jedes Deskriptorbild werden die Koordinaten der Deskriptoren durch die entsprechende Transformation für das Deskriptorbild bestimmt.
-
Handelt es sich bei dem Objekt nicht um ein echtes 3D-Objekt, wird eine unterstützende Hyperebene 203 des Objekts wie oben beschrieben bestimmt. Eine Möglichkeit zu bestimmen, ob eine Hyperebene (und eine Projektion auf die Hyperebene) benötigt wird, bieten die Singulärwerte der als Matrix interpretierten Punktwolke. Diese Entscheidung kann automatisch getroffen werden.
-
Berechne für jeden Punkt der Punktwolke den euklidischen Abstand zwischen seinen Koordinaten und der Hyperebene. Wähle die Punkte aus, die den kleinsten euklidischen Abstand zur Hyperebene aufweisen, und entferne die anderen, um Ausreißer aus der Punktwolke zu beseitigen.
-
Anschließend wird der oben beschriebene Ansatz dazu verwendet, einen planaren Koordinatenrahmen 204 (d. h. einen Koordinatenrahmen für die Hyperebene) zu bestimmen, der von den Koordinaten einer ausgewählten Menge von Merkmalspunkten abhängt. Ist das Objekt kein echtes 3D-Objekt, sind die Koordinaten der ausgewählten Menge von Merkmalspunkten die auf die Hyperebene projizierten Koordinaten. Falls die Merkmalspunkte unter Berücksichtigung einer Bedingung in Bezug auf die Koordinaten der Merkmalspunkte ausgewählt werden und das Objekt kein echtes 3D-Objekt ist, wird diese Bedingung auf die auf die Hyperebene projizierten Koordinaten angewendet.
-
Falls das Objekt kein echtes 3D-Objekt ist, wird beim Einsatz (d. h. bei der Online-Ableitung) mit einer Punktwolke aus Beobachtungen 209 (z. B. ein aktuelles Bild eines Objekts 113 in einem Steuerungsszenario, das beim Trainieren nicht gesehen wird), eine Hyperebene 205 für die Punktwolke und die Positionen 206 der 3D-Punkte, die den ausgewählten Merkmalspunkten entsprechen, (durch Abgleichen der ausgewählten Merkmalspunkte mit den Deskriptoren des aktuellen Bildes) bestimmt. Das bedeutet, dass bei Vorliegen eines Deskriptorbildes (das durch das DON für das Bild des Objekts 113 erzeugt wurde) und der inneren und äußeren Parameter der Kamera die Koordinaten der Punktwolke und insbesondere der ausgewählten Merkmalspunkte (bis zu einem möglichen Abgleichfehler) bestimmt werden können. Die Hyperebene 204 kann wie beim Trainieren mit dem oben beschriebenen Ansatz (d. h. an die Punktwolke angepasst) bestimmt werden.
-
Die Koordinaten der ausgewählten Merkmalspunkte (d. h. der Punkte, die den planaren Rahmen 204 definieren) werden auf die Hyperebene 207 projiziert, um den durch diese Projektionen gegebenen planaren Koordinatenrahmen zu erhalten.
-
Der gesamte (3D-) Koordinatenrahmen 208 ist die Kombination aus dem Mittelwert der Koordinaten der Punktwolke, dem planaren Koordinatenrahmen und dem transformierten Weltkoordinatensystem wie oben beschrieben. Falls keine Projektion erforderlich ist (d. h. im Falle eines echten 3D-Objekts), ist der Gesamtkoordinatenrahmen 208 gerade derjenige, der durch die Positionen der ausgewählten Merkmalspunkte gegeben ist (die durch Merkmalsabgleich zwischen den Merkmalspunkten und den Deskriptorbildern des aktuellen Bildes ermittelt werden).
-
Die optimierungsbasierte Auswahl von Merkmalspunkten gemäß Gleichung (2) kann zum Beispiel durch den folgenden heuristischen Ansatz gelöst werden. Wähle aus einer Datenmenge einen Datenpunkt aus und leite eine Menge von Deskriptoren ab, die auf dem Objekt liegen. Ersetze/approximiere alle Deskriptoren in dieser Menge, die näher als ein bestimmter Schwellenwert beieinander liegen, durch das koordinatenmäßige Mittel der ursprünglichen Deskriptoren. Berechne in einem zweiten Schritt den Abgleichfehler aller Deskriptoren in der komprimierten Menge über alle Datenpunkte in der Trainingsdatenmenge. Entferne Deskriptoren, deren Abgleichfehler größer als ein bestimmter Schwellenwert für einen Datenpunkt ist. Wähle eine Teilmenge von Deskriptoren aus, die den niedrigsten kumulativen Abgleichfehler (für jeden Deskriptor einzeln) in der Menge aufweisen. Bewerte für jede mögliche Kombination von K Deskriptoren in der Teilmenge die im Optimierungsproblem der Gleichung (2) verwendeten Kosten. Man beachte, dass Gleichung (3) deshalb anwendbar ist, weil die Kosten an endlich vielen Punkten bewertet werden. Verwerfe alle Merkmalspunktepaare, bei denen ein Paar von Merkmalspunkten existiert, dessen euklidischer Abstand kleiner als ein bestimmter Schwellenwert (im Deskriptorraum oder im physischen Raum) ist. Verwende das Deskriptorpaar mit den geringsten Gesamtkosten.
-
Zusammenfassend lässt sich sagen, dass gemäß verschiedenen Ausführungsformen ein Verfahren wie in 3 dargestellt bereitgestellt wird.
-
3 zeigt ein Flussdiagramm 300, das ein Verfahren zum Steuern eines Roboters veranschaulicht.
-
In 301 werden Demonstrationen durchgeführt (z. B. durch einen menschlichen Benutzer), wobei jede Demonstration die Handhabung eines Objekts vorführt.
-
In 302 wird für jede Demonstration mindestens ein Deskriptorbild aus dem Blickwinkel des Roboters auf das Objekt bereitgestellt (oder erhalten), wobei das Deskriptorbild Merkmalspunkte für Orte auf dem Objekt angibt. Die Deskriptorbilder könnten zum Beispiel durch ein DON aus Bildern erzeugt werden, die durch eine am Roboter montierte Kamera während der Demonstrationen aufgenommen wurden.
-
In 303 wird eine Menge von Merkmalspunkten (automatisch) aus den angegebenen Merkmalspunkten ausgewählt, wobei die Merkmalspunkte durch Suchen eines Optimums einer Zielfunktion ausgewählt werden, die ausgewählte Merkmalspunkte belohnt, die in den Deskriptorbildern sichtbar sind.
-
In 304, ein Robotersteuerungsmodell (d. h. ein TP-HSMM), das die Demonstrationen verwendet, wobei das Robotersteuerungsmodell dazu ausgelegt ist, Steuerinformationen in Abhängigkeit von einer eingegebenen Objektpose auszugeben.
-
In 305, ein Roboter für eine Steuerszene mit dem Objekt durch Bestimmen eines Deskriptorbildes des Objekts aus der Sicht des Roboters in 306,
Lokalisieren der ausgewählten Menge von Merkmalspunkten im Deskriptorbild des Objekts in 307,
Bestimmen der (z. B. euklidischen) Koordinaten der lokalisierten Merkmalspunkte für die Steuerszene in 308,
Schätzen einer Pose aus den ermittelten Koordinaten in 309 und
Steuern des Roboters, um das Objekt mittels des Robotersteuerungsmodells zu handhaben, wobei die geschätzte Pose dem Robotersteuerungsmodell als Eingabe in 310 zugeführt wird.
-
Der Ansatz von 3 kann dazu verwendet werden, ein Steuersignal zum Steuern eines physischen Systems, wie z. B. einer computergesteuerten Maschine, z. B. eines Roboters, eines Fahrzeugs, eines Haushaltsgeräts, eines Elektrowerkzeugs, einer Fertigungsmaschine, eines persönlichen Assistenten oder eines Zugangskontrollsystems, zu berechnen. Gemäß verschiedenen Ausführungsformen kann eine Strategie zum Steuern des physischen Systems gelernt und das physische System entsprechend betrieben werden.
-
Verschiedene Ausführungsformen können Bilddaten (d. h. digitale Bilder) aus verschiedenen visuellen Sensoren (Kameras) wie z. B. Video, Radar, LiDAR, Ultraschall, Wärmebildgebung, Bewegung, Sonar usw. empfangen und als Grundlage für die Deskriptorbilder verwenden.
-
Gemäß einer Ausführungsform ist das Verfahren computerimplementiert.