-
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Steuern mindestens einer Aktorik.
-
Es ist aus dem Bereich der Computervision bekannt, eine Kamerapose relativ zu einem Objekt auf Grundlage von erfassten Kamerabildern mit Hilfe von Objektverfolgungsfunktionen („Object Tracking“) zu bestimmen und bereitzustellen. Ausgehend von der bestimmten Kamerapose kann eine Zusatzinformation in den Kamerabildern mit dem abgebildeten Objekt überlagert werden.
-
Es sind ferner Aktoriken bekannt, mit denen Objekte manipuliert werden können. Diese Aktoriken kommen beispielsweise in der Fertigungstechnik zum Einsatz. Hierbei sind die Aktoriken auf fest vorgegebene Bewegungsabläufe programmiert.
-
Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren und eine Vorrichtung zum Steuern mindestens einer Aktorik zu verbessern.
-
Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 und eine Vorrichtung mit den Merkmalen des Patentanspruchs 8 gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
-
Insbesondere wird ein Verfahren zum Steuern mindestens einer Aktorik zur Verfügung gestellt, wobei die mindestens eine Aktorik auf Grundlage einer Objektpose eines Objektes mittels bereitgestellter Steuerdaten gesteuert wird, wobei die Objektpose von einer Objektverfolgungsfunktion bereitgestellt wird, und wobei der Objektverfolgungsfunktion als Eingangsdaten digitale Geometriedaten eines zu verfolgenden Objekts und erfasste Sensordaten mindestens eines das Objekt erfassenden Sensors zugeführt werden.
-
Ferner wird insbesondere eine Vorrichtung zum Steuern mindestens einer Aktorik geschaffen, umfassend eine Steuereinrichtung und eine Objektverfolgungseinrichtung. Die Steuereinrichtung ist derart ausgebildet, die mindestens eine Aktorik auf Grundlage einer Objektpose eines Objektes mittels Steuerdaten zu steuern. Die Objektverfolgungseinrichtung ist derart ausgebildet, die Objektpose mittels einer Objektverfolgungsfunktion bereitzustellen, wobei der Objektverfolgungsfunktion als Eingangsdaten digitale Geometriedaten eines zu verfolgenden Objekts und erfasste Sensordaten mindestens eines das Objekt erfassenden Sensors zugeführt werden.
-
Das Verfahren und die Vorrichtung ermöglichen es, die mindestens eine Aktorik verbessert zu steuern. Durch das Verfahren und die Vorrichtung werden beispielsweise Steuerdaten zum Steuern der mindestens einen Aktorik erzeugt und der Aktorik zugeführt. Dies erfolgt, indem in einem ersten Schritt eine Objektpose bereitgestellt wird, das heißt eine Position und eine Orientierung des zu verfolgenden bzw. zu manipulierenden Objektes. Das Erzeugen der Steuerdaten erfolgt anschließend, indem Positionen festgelegt werden, an denen die mindestens eine Aktorik auf das zu verfolgende bzw. zu manipulierende Objekt wirken soll. Die Positionen können bei Kenntnis der Objektpose relativ zu der mindestens einen Aktorik auf Grundlage eines dreidimensionalen Objektmodells, das aus den digitalen Geometriedaten erstellt werden kann, bestimmt werden. Die mindestens eine Aktorik kann das Objekt an den festgelegten Position beispielsweise greifen und/oder dort gezielt manipulieren, indem Greifwerkzeuge und/oder Bearbeitungswerkzeuge, z.B. für ein Fügeverfahren oder dergleichen, dorthin geführt werden.
-
Die Objektpose bezeichnet sowohl eine Position als auch eine Orientierung des zu verfolgenden bzw. zu manipulierenden Objekts in einem Koordinatensystem. Die Position kann beispielsweise in dreidimensionalen kartesischen Koordinaten bereitgestellt werden. Die Orientierung kann beispielsweise als Nick-, Gier- und Rollwinkel bereitgestellt werden. Die Aktorik arbeitet insbesondere in demselben Koordinatensystem und kann daher Manipulationen an dem Objekt direkt auf Grundlage der bereitgestellten Objektpose durchführen. Die Sensorpose des Sensors ist ebenfalls in demselben Koordinatensystem definiert. Alternativ kann die Objektpose als eine Objektpose (Position und Orientierung) relativ zur Aktorik definiert sein.
-
Die Objektpose wird von einer Objektverfolgungsfunktion, welche auch als Trackingfunktion („Object Tracking“) bezeichnet werden kann, bereitgestellt. Eine Objektverfolgungsfunktion ist insbesondere eine an sich aus Anwendungen der Computervision bekannte Objektverfolgungsfunktion, welche auf Grundlage von digitalen Geometriedaten bzw. einem Objektmodell des zu verfolgenden Objekts und von dem zu verfolgenden Objekt erfassten Sensordaten eine Objektpose bereitstellt. Der Objektverfolgungsfunktion ist hierbei zumindest auch eine anfängliche Sensorpose bekannt, das heißt eine Sensorposition und eine Sensororientierung des Sensors. Die Objektverfolgungsfunktion wird mit Hilfe von Parametern parametriert. Auf dem Markt erhältliche Objektverfolgungsfunktionen werden beispielsweise als Softwarebibliothek in Form der VisionLib vom Fraunhofer IGD bereitgestellt. Weiter werden Objektverfolgungsfunktionen in Form von Softwarepaketen auch von den Firmen Diota und PTC Vuforia angeboten.
-
Digitale Geometriedaten des zu verfolgenden bzw. zu manipulierenden Objektes können beispielsweise in Form von Computer Aided Design-(CAD)-Daten vorliegen.
-
Ein Sensor kann beispielsweise eine Kamera sein, insbesondere eine im sichtbaren Wellenlängenbereich arbeitende Kamera, welche Kamerabilder des zu verfolgenden bzw. zu manipulierenden Objektes erfasst und als Sensordaten bereitstellt. Die Kamera kann hierbei auch eine Tiefenkamera (RGB-D) sein. Der Sensor kann auch eine sonstige optische bildgebende Messtechnik umfassen, z.B. Neuromorphic Cameras.
-
Sensordaten können prinzipiell eindimensional oder mehrdimensional ausgebildet sein. Insbesondere sind Sensordaten zweidimensionale Kamerabilder, welche von einer Kamera erfasst und bereitgestellt werden. Insbesondere kann auch vorgesehen sein, dass die Sensordaten von mehreren Sensoren bereitgestellt werden, z.B. von Kameras, die in unterschiedlichen Wellenlängenbereichen sensitiv sind (z.B. RGB, Infrarot) oder von einer sonstigen Sensorik (z.B. einer Inertialen Messeinheit, IMU).
-
Der Vorteil der Erfindung ist, dass die mindestens eine Aktorik verbessert, insbesondere unabhängig von einer konkret vorliegenden Objektpose, angesteuert werden kann. Da die Objektpose auf Grundlage der erfassten Sensordaten bereitgestellt bzw. geschätzt wird, ist es unabhängig von der konkreten Objektpose, in der sich das Objekt befindet, möglich, mittels der mindestens einen Aktorik gezielt auf das Objekt einzuwirken. Dies ermöglicht eine große Bandbreite an flexiblen Anwendungsszenarien, beispielsweise in der Fertigungstechnik oder beim Manipulieren bzw. Transportieren von Objekten in der Lagerlogistik.
-
Teile der Vorrichtung, insbesondere die Steuereinrichtung und/oder die Objektverfolgungseinrichtung, können einzeln oder zusammengefasst als eine Kombination von Hardware und Software ausgebildet sein, beispielsweise als Programmcode, der auf einem Mikrocontroller oder Mikroprozessor ausgeführt wird. Es kann jedoch auch vorgesehen sein, dass Teile einzeln oder zusammengefasst als anwendungsspezifische integrierte Schaltung (ASIC) ausgebildet sind.
-
In einer Ausführungsform ist vorgesehen, dass Parameter der Objektverfolgungsfunktion mit Hilfe von auf Grundlage der digitalen Geometriedaten des zu verfolgenden Objekts simulierten Sensordaten festgelegt werden oder festgelegt sind. Hierdurch kann auf ein zeitraubendes und aufwändiges, vor allem manuelles, Erfassen und Zusammenstellen von Sensordaten zum Festlegen der Parameter der Objektverfolgungsfunktion verzichtet werden. Simuliert bedeutet in diesem Fall insbesondere nicht zwingend, dass eine Simulation erfolgt sein muss. Die simulierten Sensordaten bezeichnen lediglich zur Definition einer Grundwahrheit (engl. ground truth) bereitgestellte Sensordaten. Beispielsweise können simulierte Sensordaten auch von einem bereits optimierten System bereitgestellt werden, um ein weiteres System zu optimieren. In der Regel erfolgt das Festlegen jedoch insbesondere, indem eine Vielzahl von Sensordaten, im Falle einer als Sensor verwendeten Kamera beispielsweise eine Vielzahl von Kamerabildern, simuliert wird. Die Sensordaten werden hierbei auf Grundlage der digitalen Geometriedaten des zu verfolgenden Objekts simuliert. Beispielsweise kann hierzu auf Grundlage der digitalen Geometriedaten ein dreidimensionales Objektmodell erstellt werden. Für eine Objektpose werden aus dem dreidimensionalen Objektmodell dann die Sensordaten simuliert, beispielsweise ein Kamerabild einer als Sensor verwendeten Kamera. Die simulierten Sensordaten werden hierbei insbesondere über eine Schnittstelle an die Objektverfolgungsfunktion übergeben, wie diese auch für die erfassten, das heißt realen Sensordaten verwendet wird. Da für die simulierten Sensordaten Objektposen jeweils aus den digitalen Geometriedaten bzw. aus dem dreidimensionalen Objektmodell des zu verfolgenden Objektes als wahre Objektpose bzw. Grundwahrheit bekannt sind und mit von der Objektverfolgungsfunktion bereitgestellten, insbesondere geschätzten, Objektposen verglichen werden können, können diejenigen Parameter der Objektverfolgungsfunktion bestimmt werden, mit denen eine Qualität bei der Objektverfolgung bzw. beim Bereitstellen der Objektpose verbessert werden kann. Das Festlegen und Optimieren kann vollständig automatisiert erfolgen, sodass Aufwand und Kosten eingespart werden können.
-
In einer Ausführungsform der Vorrichtung ist entsprechend vorgesehen, dass die Vorrichtung eine Optimierungseinrichtung umfasst, wobei die Optimierungseinrichtung derart ausgebildet ist, Parameter der Objektverfolgungsfunktion mit Hilfe von auf Grundlage der digitalen Geometriedaten des zu verfolgenden Objekts simulierten Sensordaten festzulegen. Die Optimierungseinrichtung kann als eine Kombination von Hardware und Software ausgebildet sein, beispielsweise als Programmcode, der auf einem Mikrocontroller oder Mikroprozessor ausgeführt wird. Es kann jedoch auch vorgesehen sein, dass die Optimierungseinrichtung oder Teile davon als anwendungsspezifische integrierte Schaltung (ASIC) ausgebildet sind.
-
Es kann darüber hinaus vorgesehen sein, dass hierbei zusätzlich auch Aktorikparameter der mindestens einen Aktorik festgelegt, insbesondere optimiert, werden. Hierzu wird entsprechend eine Zielfunktion unter Berücksichtigung einer Wirksamkeit der Aktorik bzw. des Gesamtsystems definiert und berücksichtigt. Zum Bewerten der Wirksamkeit kann beispielsweise eine Anzahl erfolgreicher Greifvorgänge und/oder Fügungen bzw. Manipulationen beim Festlegen bzw. Optimieren der Aktorikparameter berücksichtigt werden.
-
In einer Ausführungsform ist vorgesehen, dass beim Erzeugen der simulierten Sensordaten mindestens eine Sensoreigenschaft des mindestens einen Sensors berücksichtigt wird. Dies können insbesondere Eigenschaften in Form von Sensorartefakten (z.B. ein Rauschen oder eine Empfindlichkeit) sein. Handelt es sich bei dem Sensor um eine Kamera, so können diese Eigenschaften beispielsweise ein Rauschen, eine Unschärfe, ein Weißabgleich, Blendflecke, eine chromatische Aberration sowie Verzeichnungen optischer Linsen der Kamera und/oder eine wellenlängenabhängige Empfindlichkeit der Kamera sein.
-
In einer Ausführungsform ist vorgesehen, dass beim Erzeugen der simulierten Sensordaten mindestens eine Umfeldeigenschaft berücksichtigt wird. Eine solche Umfeldeigenschaft können beispielsweise Beleuchtungsverhältnisse oder eine Hintergrundszenerie sein, vor der das zu verfolgende Objekt sich befindet. Um die Objektverfolgungsfunktion beispielsweise unabhängig von der konkreten Hintergrundszenerie zu machen, wird in den simulierten Sensordaten eine Vielzahl unterschiedlicher Hintergrundszenerien simuliert. Im Fall von simulierten Kamerabildern kann beispielsweise ein Hintergrundbild zufällig gewählt werden, ohne dass das in einer Objektpose abgebildete zu verfolgende Objekt hierbei selbst verändert wird. Es kann jedoch vorgesehen sein, zusätzlich auch das abgebildete Objekt bzw. eine simulierte Kameraabbildung des zu verfolgenden Objekts im Bereich des Objekts in Abhängigkeit einer gewählten Hintergrundszenerie zu verändern, beispielsweise indem eine Oberflächenreflexion eines Teils der Hintergrundszenerie auf das Objekt abgebildet bzw. auf diesem simuliert wird.
-
Es kann ferner vorgesehen sein, beim Erzeugen der simulierten Sensordaten auch sich ändernde Objekteigenschaften zu berücksichtigen. Sich ändernde Objekteigenschaften können beispielsweise in Form einer sich mit der Zeit ändernden Objektgeometrie (z.B. weist das Objekt mehrere geometrische Zustände auf) und/oder von sich ändernden Oberflächeneigenschaften des Objekts (z.B. in Form einer Lichtemission) auftreten. Dies wird beim Erzeugen entsprechend berücksichtigt.
-
In einer weiteren Ausführungsform ist vorgesehen, dass die Parameter der Objektverfolgungsfunktion durch iterative Optimierung festgelegt werden, wobei hierzu eine Qualitätsbewertung für jede bei einer Iteration mittels der Objektverfolgungsfunktion bereitgestellte Objektpose durchgeführt wird. Der Gedanke dahinter ist, dass je besser die Objektverfolgungsfunktion die Objektpose schätzen kann, desto genauer kann auch das Steuern der mindestens einen Aktorik erfolgen. Bei der Qualitätsbewertung können im Rahmen eines Vergleichs zwischen einer bei der Simulation verwendeten und als Grundwahrheit angenommenen wahren Objektpose mit einer auf Grundlage der simulierten Sensordaten von der Objektverfolgungsfunktion bereitgestellten bzw. geschätzten Objektpose verschiedene Kriterien bewertet werden, beispielsweise eine Genauigkeit (engl. trueness), eine Präzision (engl. precision), ein Verbund aus Genauigkeit und Präzision (engl. accuracy), eine Robustheit, ein Jitter und/oder eine Latenzzeit beim Erkennen der Objektpose.
-
In einer Ausführungsform der Vorrichtung ist entsprechend vorgesehen, dass die Optimierungseinrichtung ferner derart ausgebildet ist, die Parameter der Objektverfolgungsfunktion durch iterative Optimierung festzulegen, und hierzu eine Qualitätsbewertung für jede bei einer Iteration mittels der Objektverfolgungsfunktion bereitgestellte Objektpose durchzuführen.
-
Zum Optimieren der Parameter der Objektverfolgungsfunktion wird die Objektverfolgungsfunktion insbesondere als „black box“ mit einer zugrundeliegenden, jedoch unbekannten Funktion mit einem mehrdimensionalen Parameterraum betrachtet. Hierbei kann vorgesehen sein, dass der Parameterraum auf solche Parameter reduziert wird, die den größten Einfluss auf die Qualität der Objektverfolgung haben. Um dies zu erreichen, kann eine statistische Analyse in Form einer gezielten Versuchsplanung („Design of Experiments“) und/oder einer Sensitivitätsanalyse erfolgen. Im Rahmen der gezielten Versuchsplanung kann beispielsweise eine gezielte Abtastung des Parameterraumes (zufällig oder quasizufällig) erfolgen. Im Rahmen der Sensitivitätsanalyse kann beispielsweise eine Dimensionsreduktion des Parameterraumes erfolgen. Weiter kann die zugrundeliegende unbekannte Funktion durch Erstellen eines Metamodells der „black box“ der Objektverfolgungsfunktion aufgefunden werden. Hierzu wird die zugrundeliegende unbekannte Funktion approximiert. Hierdurch lässt sich das Optimieren der Parameter der Objektverfolgungsfunktion beschleunigen. Insbesondere kann abgeschätzt werden, wo die zugrundeliegende unbekannte Funktion ein Optimum aufweisen könnte. Parameter der Objektverfolgungsfunktion können hierdurch gezielter gesucht werden. Ferner kann ein Metamodell mit einem geringeren Rechenaufwand und daher schneller berechnet werden.
-
Zum Optimieren selbst können beispielsweise an sich bekannte Optimierungsverfahren verwendet werden, beispielsweise evolutionär arbeitende Verfahren, Gradienten-Abstiegsverfahren und/oder Simulated Annealing.
-
Es kann insbesondere vorgesehen sein, dass zum Optimieren der Parameter der Objektverfolgungsfunktion eines der folgenden Verfahren verwendet wird: Bayesian Optimization with Gaussian Process oder Tree of Parzen Estimators.
-
In einer Ausführungsform ist vorgesehen, dass die digitalen Geometriedaten des zu verfolgenden Objekts vor dem Zuführen zur Objektverfolgungsfunktion verändert werden. Hierdurch kann erreicht werden, dass die Objektverfolgungsfunktion das Objekt verbessert verfolgen kann, da beispielsweise besondere Merkmale des Objektes, welche eine Objektverfolgung erleichtern, in den veränderten digitalen Geometriedaten hervorgehoben werden können. Dies können beispielsweise besonders markante Ecken und/oder Kanten des Objektes sein, die eine Objektverfolgung erleichtern.
-
In einer weiterbildenden Ausführungsform ist vorgesehen, dass den digitalen Geometriedaten beim Verändern Merkmale hinzugefügt werden und/oder dass Merkmale aus den digitalen Geometriedaten beim Verändern entfernt werden. Hierdurch können besonders gut zu verfolgende Merkmale des zu verfolgenden Objekts hervorgehoben und andere Merkmale, die eine Objektverfolgung gegebenenfalls behindern, entfernt werden.
-
Es kann hierbei auch vorgesehen sein, dass digitale Geometriedaten auf Grundlage von von dem mindestens einen Sensor erfassten Sensordaten erzeugt und/oder verändert werden. Hierdurch können an dem realen Objekt erfasste Sensordaten zum Erzeugen bzw. Verändern der digitalen Geometriedaten verwendet werden.
-
Merkmale zur Ausgestaltung der Vorrichtung ergeben sich aus der Beschreibung von Ausgestaltungen des Verfahrens. Die Vorteile der Vorrichtung sind hierbei jeweils die gleichen wie bei den Ausgestaltungen des Verfahrens.
-
Nachfolgend wird die Erfindung anhand bevorzugter Ausführungsbeispiele unter Bezugnahme auf die Figuren näher erläutert. Hierbei zeigen:
- 1 eine schematische Darstellung einer Ausführungsform der Vorrichtung zum Steuern mindestens einer Aktorik;
- 2 eine schematische Darstellung von Verfahrensabschnitten einer Ausführungsform des Verfahrens zur Verdeutlichung des Festlegens und des Optimierens der Parameter der Objektverfolgungsfunktion.
-
In 1 ist eine schematische Darstellung einer Ausführungsform der Vorrichtung 1 zum Steuern einer Aktorik 50 gezeigt. Die Vorrichtung 1 umfasst eine Steuereinrichtung 2 und eine Objektverfolgungseinrichtung 3.
-
Die Aktorik 50 kann beispielsweise ein Roboterarm oder ein mehrere hydraulische oder elektromechanische Aktoren umfassender Manipulator sein, der zum Manipulieren, beispielsweise zum Greifen und Bearbeiten eines Objektes, beispielsweise eines Werkstückes oder eines Bauteils, eingesetzt wird.
-
Die Steuereinrichtung 2 ist derart ausgebildet, die Aktorik 50 auf Grundlage einer Objektpose 4 eines Objektes zu steuern. Hierzu erzeugt die Steuereinrichtung 2 Steuerdaten 10 und führt die Steuerdaten 10 der Aktorik 50 zu. Die Objektpose 4 wird der Steuereinrichtung 2 von der Objektverfolgungseinrichtung 3 zugeführt. Die Objektpose 4 umfasst sowohl eine Position des Objektes (z.B. in Form von dreidimensionalen kartesischen Koordinaten) als auch eine Orientierung des Objektes (z.B. als Nick-, Gier- und Rollwinkel). Die Objektpose 4 ist hierbei insbesondere als Objektpose relativ zur Aktorik 50 definiert.
-
Die Objektverfolgungseinrichtung 3 ist derart ausgebildet, die Objektpose 4 mittels einer Objektverfolgungsfunktion bereitzustellen, wobei der Objektverfolgungsfunktion als Eingangsdaten digitale Geometriedaten 5 eines zu verfolgenden Objekts und erfasste Sensordaten 6 eines das Objekt erfassenden Sensors 51 zugeführt werden.
-
Der Sensor 51 kann beispielsweise eine Kamera sein, mit der Kamerabilder des Objektes erfasst werden und als Sensordaten bereitgestellt werden. Eine Sensorpose (Position und Orientierung) des Sensors 51 relativ zur Aktorik 50 ist bekannt, diese wird beispielsweise im Rahmen einer Registrierung der Posen bestimmt.
-
Es kann vorgesehen sein, dass die Vorrichtung 1 eine Optimierungseinrichtung 7 umfasst. Die Optimierungseinrichtung 7 ist derart ausgebildet, Parameter 20 der Objektverfolgungsfunktion der Objektverfolgungseinrichtung 3 mit Hilfe von auf Grundlage der digitalen Geometriedaten 5 des zu verfolgenden Objekts simulierten Sensordaten festzulegen (vgl. 2).
-
Dies kann insbesondere erfolgen, indem die Parameter 20 der Objektverfolgungsfunktion durch iterative Optimierung festgelegt werden, wobei hierzu eine Qualitätsbewertung für jede bei einer Iteration mittels der Objektverfolgungsfunktion bereitgestellte Objektpose 4 durchgeführt wird.
-
Es kann vorgesehen sein, dass beim Erzeugen der simulierten Sensordaten mindestens eine Sensoreigenschaft des Sensors 51 berücksichtigt wird.
-
Ferner kann vorgesehen sein, dass beim Erzeugen der simulierten Sensordaten mindestens eine Umfeldeigenschaft berücksichtigt wird.
-
Es kann vorgesehen sein, dass die digitalen Geometriedaten 5 des zu verfolgenden Objekts vor dem Zuführen zur Objektverfolgungsfunktion bzw. der Objektverfolgungseinrichtung 3 verändert werden.
-
Weiterbildend kann vorgesehen sein, dass den digitalen Geometriedaten 5 beim Verändern Merkmale hinzugefügt werden und/oder dass Merkmale aus den digitalen Geometriedaten 5 beim Verändern entfernt werden.
-
Es kann hierbei auch vorgesehen sein, dass digitale Geometriedaten 5 auf Grundlage von von dem Sensor 51 erfassten Sensordaten erzeugt und/oder verändert werden.
-
In 2 ist eine schematische Darstellung von Verfahrensabschnitten 100, 200 einer Ausführungsform des Verfahrens zur Verdeutlichung des Festlegens und des Optimierens der Parameter 20 der Objektverfolgungsfunktion 30 gezeigt. Die Verfahrensabschnitte 100, 200 werden insbesondere mittels einer Objektverfolgungseinrichtung 3 und einer Optimierungseinrichtung 7 der Vorrichtung 1 ausgeführt (1).
-
In dem Verfahrensabschnitt 100 werden simulierte Sensordaten 8 erzeugt und bereitgestellt. In dem Verfahrensabschnitt 200 werden die Parameter 20 der Objektverfolgungsfunktion 30 festgelegt und insbesondere optimiert. Der Verfahrensabschnitt 100 umfasst die Verfahrensschritte 101 und 102. Der Verfahrensabschnitt 200 umfasst die Verfahrensschritte 201 bis 203.
-
Im nachfolgenden Beispiel ist der betrachtete Sensor eine Kamera und die Sensordaten sind Kamerabilder. In einem Verfahrensschritt 101 wird ausgehend von eine realen Szene 11, in der das zu verfolgende bzw. zu manipulierende Objekt unter bestimmten Bedingungen, wie beispielsweise einer Beleuchtung, einer Hintergrundszenerie und einer Objektpose, anzutreffen ist, eine simulierte Szene 12 simuliert. Dies erfolgt auf Grundlage von digitalen Geometriedaten 5 des zu verfolgenden bzw. zu manipulierenden Objekts 40, welche beispielsweise in Form von CAD-Daten vorliegen oder auf Grundlage eines realen Objektes aus erfassten Sensordaten abgeleitet wurden. Aus den digitalen Geometriedaten 5 wird ein realitätsgetreues dreidimensionales Objektmodell erzeugt und entsprechend einer gewählten Szenerie und einer Objektpose, die insbesondere zufällig gewählt sein kann, angeordnet und anschließend z.B. fotorealistisch gerendert.
-
Beim Simulieren ist vorgesehen, dass mindestens eine Umfeldeigenschaft 13 berücksichtigt wird. Ferner ist vorgesehen, dass Sensoreigenschaften 14, wie beispielsweise eine Empfindlichkeit und/oder ein Sensorrauschen etc., berücksichtigt werden. Insbesondere werden sämtliche Einflüsse 15 und Eigenschaften einer Signalverarbeitung eines beim späteren Erfassen des zu verfolgenden bzw. zu manipulierenden Objektes 40 verwendeten Sensors, wie z.B. ein Signalrauschen, eine Signalfilterung, ein Frequenzgang und/oder eine Dämpfung etc., berücksichtigt.
-
Die Umfeldeigenschaften 13 werden bereits beim Erstellen der simulierten Szene 12 berücksichtigt. Aus der simulierten Szene 12 werden Sensordaten erzeugt; im Beispiel werden aus einer bestimmten Kamerapose Kamerabilder der simulierten Szene 12 durch Projektion der simulierten Szene 12 auf eine zweidimensionale Fläche an der Position der Kamera erzeugt.
-
Die Einflüsse 15 der Signalverarbeitung, insbesondere die Sensoreigenschaften 14, werden in einem Verfahrensschritt 102 den jeweils erzeugten Kamerabildern hinzugefügt. Beispielsweise wird den erzeugten Kamerabildern ein Rauschen, wie es bei einer realen Kamera auftritt, hinzugefügt oder die erzeugten Kamerabilder werden mittels einer Farbempfindlichkeitskurve, wie diese bei einer realen Kamera vorhanden ist, gefiltert.
-
Die beschriebenen Verfahrensabschnitte 101, 102 werden für Vielzahl von simulierten Szenen 12 mit einer Vielzahl von Objektposen 16 bzw. Kameraposen durchgeführt. Die simulierten Sensordaten 8, insbesondere die simulierten Kamerabilder, werden jeweils verknüpft mit einer beim Simulieren verwendeten wahren Objektpose 16, welche beim Festlegen bzw. Optimieren der Parameter 20 als Grundwahrheit dient, bereitgestellt.
-
Im Verfahrensabschnitt 200 werden die Parameter 20 der Objektverfolgungsfunktion 30 optimiert. Dies erfolgt in einem Verfahrensschritt 201, in dem die simulierten Sensordaten 8 der Objektverfolgungsfunktion 30 zugeführt werden. Die Objektverfolgungsfunktion 30 schätzt auf Grundlage der bereitgestellten simulierten Sensordaten 8 und den ebenfalls bereitgestellten digitalen Geometriedaten 5 des zu verfolgenden bzw. zu manipulierenden Objekts 40 eine Objektpose 4.
-
In einem Verfahrensschritt 202 wird die geschätzte Objektpose 4 mit der jeweils zu den bereitgestellten Sensordaten 8 zugehörigen wahren Objektpose 16 verglichen und mindestens ein Qualitätskriterium 17 der Objektverfolgung bestimmt. Bei der Qualitätsbewertung können im Rahmen eines Vergleichs zwischen einer als Grundwahrheit angenommenen wahren Objektpose 16 der Simulation mit einer von der Objektverfolgungsfunktion bereitgestellten bzw. geschätzten Objektpose 4 verschiedene Qualitätskriterien 17 bewertet werden, beispielsweise eine Genauigkeit (engl. trueness), eine Präzision (engl. precision), ein Verbund aus Genauigkeit und Präzision (engl. accuracy), eine Robustheit, ein Jitter und/oder eine Latenzzeit beim Erkennen der Objektpose 4.
-
Ausgehend von den bestimmten Qualitätskriterien 17 erfolgt in einem Verfahrensschritt 203 ein Anpassen bzw. eine Optimierung der Parameter 20 der Objektverfolgungsfunktion 30.
-
Zum Optimieren der Parameter 20 der Objektverfolgungsfunktion 30 wird die Objektverfolgungsfunktion 30 insbesondere als „black box“ mit einer zugrundeliegenden, jedoch unbekannten Funktion mit einem mehrdimensionalen Parameterraum betrachtet. Hierbei kann vorgesehen sein, dass der Parameterraum auf solche Parameter reduziert wird, die den größten Einfluss auf die Qualität der Objektverfolgung haben. Um dies zu erreichen, kann im Rahmen des Verfahrensschritt 203 eine statistische Analyse in Form einer gezielten Versuchsplanung („Design of Experiments“) und/oder einer Sensitivitätsanalyse erfolgen. Weiter kann die zugrundeliegende unbekannte Funktion im Verfahrensschritt 203 durch Erstellen eines Metamodells der „black box“ der Objektverfolgungsfunktion 30 aufgefunden werden. Hierdurch lässt sich das Optimieren der Parameter 20 der Objektverfolgungsfunktion 30 beschleunigen.
-
Zum Optimieren selbst können beispielsweise an sich bekannte Optimierungsverfahren verwendet werden, beispielsweise evolutionär arbeitende Verfahren.
-
Es kann vorgesehen sein, dass zum Optimieren der Parameter 20 der Objektverfolgungsfunktion 30 eines der folgenden Verfahren verwendet wird: Bayesian Optimization with Gaussian Process oder Tree of Parzen Estimators.
-
Die Verfahrensschritte 202 und 203 werden insbesondere für sämtliche simulierten Sensordaten 8 durchgeführt, solange bis die Parameter 20 iterativ optimiert sind. Anschließend werden die optimierten Parameter 20 bereitgestellt bzw. beim Verfolgen des Objektes 40 mittels der Objektverfolgungsfunktion 30 bzw. der Objektverfolgungseinrichtung 3 verwendet (vgl. 1).
-
Bezugszeichenliste
-
- 1
- Vorrichtung
- 2
- Steuereinrichtung
- 3
- Objektverfolgungseinrichtung
- 4
- Objektpose
- 5
- digitale Geometriedaten
- 6
- erfasste Sensordaten
- 7
- Optimierungseinrichtung
- 8
- simulierte Sensordaten
- 10
- Steuerdaten
- 11
- reale Szene
- 12
- simulierte Szene
- 13
- Umfeldeigenschaft
- 14
- Sensoreigenschaft
- 15
- Einflüsse der Signalverarbeitung
- 16
- wahre Objektpose (Grundwahrheit)
- 17
- Qualitätskriterium
- 20
- Parameter
- 30
- Objektverfolgungsfunktion
- 40
- Objekt
- 50
- Aktorik
- 51
- Sensor
- 100
- Verfahrensabschnitt
- 101-102
- Verfahrensschritte
- 200
- Verfahrensabschnitt
- 201-203
- Verfahrensschritte