DE102018209220A1 - Method and system for handling objects using a robot - Google Patents
Method and system for handling objects using a robot Download PDFInfo
- Publication number
- DE102018209220A1 DE102018209220A1 DE102018209220.6A DE102018209220A DE102018209220A1 DE 102018209220 A1 DE102018209220 A1 DE 102018209220A1 DE 102018209220 A DE102018209220 A DE 102018209220A DE 102018209220 A1 DE102018209220 A1 DE 102018209220A1
- Authority
- DE
- Germany
- Prior art keywords
- objects
- features
- target
- target objects
- robot
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
- G06V10/993—Evaluation of the quality of the acquired pattern
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Manipulator (AREA)
Abstract
Ein erfindungsgemäßes Verfahren zum Handhaben von Objekten (51, 52) mithilfe wenigstens eines Roboters (10), umfasst die Schritte:- Erfassen (S20) von als robotisch handzuhabend vorausgewählten (S10) Beispielobjekten (31-33);- Klassifizieren (S40) der Beispielobjekte auf Basis unterschiedlicher Kombinationen verschiedener Merkmale der erfassten Beispielobjekte;- Auswählen (S60) von Merkmalen auf Basis dieses Klassifizierens;- Erfassen (S70) von Zielobjekten (51, 52);- Clustern (S90) der Zielobjekte auf Basis der ausgewählten Merkmale; und- Handhaben (S100) der Zielobjekte mithilfe des Roboters auf Basis dieses Clusterns.A method according to the invention for handling objects (51, 52) with the aid of at least one robot (10) comprises the steps: - detecting (S20) pre-selected (S10) sample objects (31-33) to be handled robotically; - classifying (S40) the Sample objects based on different combinations of different features of the captured sample objects; - Selecting (S60) features based on this classification; - Capturing (S70) target objects (51, 52); - Clusters (S90) of the target objects based on the selected features; and - manipulating (S100) the target objects using the robot based on this clustering.
Description
Die vorliegende Erfindung betrifft ein Verfahren und System zum Handhaben von Objekten mithilfe wenigstens eines Roboters sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.The present invention relates to a method and system for handling objects using at least one robot and to a computer program product for carrying out the method.
Roboter sollen häufig Objekte handhaben, beispielsweise transportieren oder bearbeiten.Robots are often designed to handle objects, such as transport or edit.
Hierzu ist es aus betriebsinterner Praxis bekannt, Arbeitsräume optisch zu erfassen, darin Objekte zu identifizieren und diese mit Robotern handzuhaben. Nachteilig müssen hierzu die zu identifizierenden Objekte vorab bekannt sein.For this purpose, it is known from in-house practice to visually detect workspaces, to identify objects therein and to handle them with robots. The disadvantage of this, the objects to be identified must be known in advance.
Insbesondere für eine visuelle Objekterkennung ist aus der Literatur das sogenannte maschinelle Lernen grundsätzlich bekannt.In particular, for a visual object recognition the so-called machine learning is basically known from the literature.
Aufgabe der vorliegenden Erfindung ist es, das Handhaben von Objekten mithilfe von Robotern zu verbessern.The object of the present invention is to improve the handling of objects using robots.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 11, 12 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.This object is achieved by a method having the features of claim 1.
Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Handhaben von Objekten mithilfe eines oder mehrerer Roboter die Schritte:
- - Erfassen, insbesondere paralleles oder sequentielles Erfassen, von als robotisch handzuhabend vorausgewählten Beispielobjekten;
- - Klassifizieren der Beispielobjekte auf Basis unterschiedlicher Kombinationen verschiedener Merkmale der erfassten Beispielobjekte;
- - Auswählen von Merkmalen auf Basis dieses Klassifizierens;
- - Erfassen, insbesondere paralleles oder sequentielles Erfassen, von Zielobjekten;
- - Clustern der Zielobjekte auf Basis der ausgewählten Merkmale; und
- - Handhaben der Zielobjekte mithilfe des Roboters auf Basis dieses Clusterns. Somit wird in einer Ausführung ein zweiphasiges bzw. -stufiges maschinelles Lernen für das Handhaben von Objekten mithilfe von Robotern vorgeschlagen, bei dem
- - in einer ersten Phase bzw. Stufe anhand von als robotisch handzuhabend vorausgewählten Beispielobjekten spezifisch diejenige Kombination von Merkmalen ausgewählt wird, die zum Identifzieren robotisch handzuhabender Objekte (voraussichtlich) besonders geeignet sind; und
- - in einer zweiten Phase bzw. Stufe anhand dieser ausgewählten Merkmale dann Objekte, die mithilfe des bzw. der Roboter(s) handgehabt werden sollen, geclustert werden.
- Detecting, in particular parallel or sequential detection, of example objects preselected to be robatically operable;
- Classifying the example objects based on different combinations of different features of the captured example objects;
- - selecting features based on this classifying;
- Detecting, in particular parallel or sequential detection, of target objects;
- Clustering the target objects based on the selected features; and
- - Handling the target objects using the robot based on this clustering. Thus, in one embodiment, two-stage machine learning is proposed for handling objects using robots, in which
- in a first phase or stage, the combination of features which are (presumably) particularly suitable for identifying robotic objects is selected specifically on the basis of example objects preselected as being robatically operable; and
- in a second phase or stage, on the basis of these selected features, then objects which are to be handled by the robot (s) are clustered.
Durch die Auswahl geeigneter Merkmale in der ersten Phase kann das Cluster(i)n(g) in der zweiten Phase gegenüber unspezifischen oder allgemein vortrainierten Objekterkennungen verbessert werden. Die Zielobjekte sind in einer Ausführung vorab bzw. vor dem Clustern noch nicht (spezifisch) bekannt.By selecting suitable features in the first phase, the cluster (i) n (g) in the second phase can be improved over non-specific or generally pre-trained object identifications. The target objects are not yet known (specifically) in one execution before or before the clustering.
Das Konzept kann an einem einfachen Beispiel veranschaulicht werden: angenommen, neue Schaltschrankkomponenten, die noch nicht genau(er) bzw. spezifisch bekannt sind (Zielobjekte), sollen von einem Roboter von einem Förderband gegriffen und abtransportiert werden. Dann kann anhand von bekannten Schaltschrankkomponenten (Beispielobjekte) festgestellt werden, dass die Farbe kein geeignetes Merkmal zur Identifikation von Schaltschrankkomponenten bzw. zur Unterscheidung zwischen Schaltschrankkomponenten und anderen Produkten darstellt, ihre Form jedoch sehr spezifisch ist. Entsprechend kann die Außenkontur als ein Merkmal ausgewählt werden. Werden nun die neuen Schaltschrankkomponenten zusammen mit anderen Produkten gefördert, können sie anhand ihrer Außenkontur als derselben Gruppe bzw. Objektklasse angehörig erkannt und als solche in einheitlicher Weise von dem Roboter gehandhabt, beispielsweise mit demselben Greifer gegriffen und/oder zum selben Abgabeort transportiert werden.The concept can be illustrated with a simple example: assuming new control cabinet components that are not yet exactly known or specific (target objects) are to be gripped by a robot from a conveyor belt and transported away. Then it can be determined from known control cabinet components (example objects) that the color is not a suitable feature for the identification of control cabinet components or for distinguishing between control cabinet components and other products, but their shape is very specific. Accordingly, the outer contour can be selected as a feature. Now, if the new cabinet components are promoted together with other products, they can be recognized as belonging to the same group or object class belonging to their outer contour and handled as such in a uniform manner by the robot, for example, gripped with the same gripper and / or transported to the same delivery location.
Der bzw. einer oder mehrere der Roboter weist in einer Ausführung (jeweils) wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, Gelenke bzw. Achsen, insbesondere Drehgelenke bzw. -achsen, in einer Ausführung einen Roboterarm mit wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, Gelenken bzw. Achsen, insbesondere Drehgelenken bzw. -achsen, und/oder eine, insbesondere mobile, stationäre oder auf einer Linearachse verfahrbare, Basis auf. Für solche Roboter ist die vorliegende Erfindung aufgrund ihrer Variabilität besonders vorteilhaft verwendbar.The or one or more of the robots in one embodiment (at least) at least three, in particular at least six, in one embodiment at least seven, joints or axes, in particular hinges or axes, in one embodiment, a robot arm with at least three, in particular at least six, in one embodiment at least seven, joints or axes, in particular rotary joints or axes, and / or one, in particular mobile, stationary or movable on a linear axis, basis. For such robots, the present invention is particularly advantageous because of their variability.
Die Beispielobjekte sind bzw. werden in einer Ausführung auf Basis einer Prognose der Zielobjekte als robotisch handzuhabend vorausgewählt, insbesondere für die (voraussichtlichen) Zielobjekte typische Objekte. Hierdurch kann das Cluster(i)n(g) (weiter) verbessert werden.The example objects are or are preselected in one embodiment on the basis of a prediction of the target objects as robotic, in particular for the (prospective) target objects typical objects. As a result, the cluster (i) n (g) can be (further) improved.
Das Klassifizieren der Beispielobjekte kann in einer Ausführung ein überwachtes Lernen umfassen, insbesondere sein. Hierunter wird vorliegend insbesondere in fachüblicher Weise die Anpassung bzw. Adaption eines Modells, beispielsweise eines Neuronalen Netzwerkes, einer Support Vector Machine, Decision Trees, Random Forrests, Markov-Systems, insbesondere Markov Process, Hidden Markov Model oder Markov Random Fields, Naive Bayes, Belief Networks, oder dergleichen, verstanden, das (Eingabe)Merkmale auf (vorgegebene) Objektklassen abbildet bzw. unterschiedliche Werte von (Eingabe)Merkmalen verschiedenen (vorgegebenen) Objektklassen zuordnet.Classifying the example objects may in one embodiment comprise supervised learning, in particular. In the present case, adaptation or adaptation of a model, for example a neural network, a Support Vector Machine, Decision Trees, Random Forrests, Markov Systems, in particular Markov Process, Hidden Markov Model or Markov Random Fields, Naive Bayes, Belief networks, or the like understood, the (input) features on (predetermined) object classes maps or assigns different values of (input) features different (predetermined) object classes.
Entsprechend umfasst das Verfahren bzw. Klassifizieren in einer Ausführung die Schritte:
- - Klassifizieren einer Testmenge der Beispielobjekte auf Basis einer ersten Kombination von Merkmalen einer Trainingsmenge der erfassten Beispielobjekte;
- - Klassifizieren einer, insbesondere derselben, Testmenge der Beispielobjekte auf Basis einer oder mehrerer weiterer Kombinationen von Merkmalen einer, insbesondere derselben, Trainingsmenge der erfassten Beispielobjekte;
- - Bewerten dieser Klassifizierungen; und
- - Auswählen der Merkmale auf Basis dieser Bewertung, insbesondere derjenigen Merkmalskombination mit der besten Bewertung, insbesondere der besten Klassifizierung der Trainings(menge der erfassten Beispiel)objekte.
- Classifying a test set of the example objects based on a first combination of features of a training set of the captured example objects;
- Classifying one, in particular the same, test set of the example objects on the basis of one or more further combinations of features of, in particular the same, training set of the captured example objects;
- - evaluating these classifications; and
- Selecting the features on the basis of this evaluation, in particular that combination of features with the best rating, in particular the best classification of the training (amount of captured example) objects.
Die Anzahl der ausgewählten Merkmale kann vorgegeben sein, was in einer Ausführung die Konvergenz und/oder Vorhersagbarkeit verbessern kann. In einer anderen Ausführung wird die Anzahl der ausgewählten Merkmale dynamisch beim bzw. auf Basis des Klassifizierens ermittelt bzw. verändert, in einer Ausführung solange erhöht, bis eine vorgegebene Klassifikationsgenauigkeit bzw. Mindest-Bewertung erreicht worden ist bzw. solange reduziert, bis eine vorgegebene Klassifikationsgenauigkeit bzw. Mindest-Bewertung nicht mehr erreicht wird.The number of features selected may be predetermined, which in one embodiment may improve convergence and / or predictability. In another embodiment, the number of selected features is dynamically determined or changed on the basis of the classification, increased in one embodiment until a predetermined classification accuracy or minimum rating has been achieved or reduced until a predetermined classification accuracy or minimum rating is no longer achieved.
Das Clustern der Zielobjekte kann in einer Ausführung ein unüberwachtes Lernen umfassen, insbesondere sein. Hierunter wird vorliegend insbesondere in fachüblicher Weise die Zuordnung von (unterschiedlichen Werten) von (Eingabe)Merkmalen zu bzw. in (verschiedene, in einer Ausführung vorab unbekannte) Objektklassen bzw. Gruppen verstanden, in einer Ausführung ohne Belohnung (durch die Umwelt).The clustering of the target objects may in one embodiment comprise unsupervised learning, in particular. In the present case, this is understood to mean the assignment of (different values) of (input) features to or in (different, in one embodiment, previously unknown) object classes or groups, in a manner without reward (by the environment).
Entsprechend umfasst das Verfahren bzw. Clustern in einer Ausführung die Schritte:
- - Ermitteln eines ein- oder mehrdimensionalen Identifikationsparameters eines ersten Zielobjekts auf Basis bzw. in Abhängigkeit von ausgewählten Merkmalen dieses Zielobjekts;
- - Ermitteln (je) eines ein- oder mehrdimensionalen Identifikationsparameters eines oder mehrerer weiterer Zielobjekte auf Basis bzw. in Abhängigkeit von deren ausgewählten Merkmalen; und
- - Zuordnen des ersten Zielobjekts und des (jeweiligen) weiteren Zielobjekts zu derselben Gruppe bzw. Objektklasse, falls eine Abweichung ihrer Identifikationsparameter, insbesondere voneinander und/oder einem Identifikationsparameter der Gruppe bzw. Objektklasse, beispielsweise einem Mittelwert oder dergleichen, einen vorgegebenen Schwellwert unterschreitet.
- Determining a one-dimensional or multi-dimensional identification parameter of a first target object on the basis of or depending on selected features of this target object;
- Determining (each) a one-dimensional or multi-dimensional identification parameter of one or more further target objects based on or depending on their selected features; and
- - Assign the first target object and the (respective) further target object to the same group or object class, if a deviation of their identification parameters, in particular from each other and / or an identification parameter of the group or object class, such as an average value or the like, below a predetermined threshold.
In einer Ausführung werden die Gruppen bzw. Objektklassen dynamisch, insbesondere erst beim Clustem, generiert. So kann beispielsweise für jedes neue Zielobjekt, dessen Identifikationsparameter von den Identifikationsparametern der bereits vorhandenen Gruppen bzw. Objektklassen bzw. diesen bereits zugeordneten Zielobjekten um mehr als den Schwellwert abweicht, eine neue Gruppe bzw. Objektklasse generiert werden.In one embodiment, the groups or object classes are generated dynamically, in particular only during clustering. Thus, for example, a new group or object class can be generated for each new target object whose identification parameter deviates from the identification parameters of the already existing groups or object classes or those already assigned to target objects by more than the threshold value.
In einer Ausführung werden die Beispielobjekte und/oder Zielobjekte optisch bzw. visuell, insbesondere mittels einer oder mehreren RGB-Kameras, insbesondere einer oder mehreren RGBD-Kameras, erfasst.In one embodiment, the example objects and / or target objects are detected optically or visually, in particular by means of one or more RGB cameras, in particular one or more RGBD cameras.
Durch die optische bzw. visuelle Erfassung kann die Objektklassifizierung bzw. das (Objekt)Cluster(i)n(g) („Objekterkennung“) vorteilhaft, insbesondere interaktionsfrei, rasch und/oder präzise erfolgen. Durch RGB(D)-Kameras können dabei vorteilhaft zusätzliche Merkmale verwendet werden.By means of the optical or visual detection, the object classification or the (object) cluster (i) n (g) ("object recognition") can take place advantageously, in particular without interaction, quickly and / or precisely. By RGB (D) cameras can be used advantageously additional features.
In einer Ausführung werden die Beispielobjekte und/oder Zielobjekte aus verschiedenen Perspektiven erfasst. Hierdurch können in einer Ausführung vorteilhaft auch aus einer Perspektive nicht bestimmbare Merkmale zur Objekterkennung genutzt und/oder deren Zuverlässigkeit erhöht werden.In one embodiment, the example objects and / or target objects are captured from different perspectives. As a result, in one embodiment, features that are not determinable from a perspective can advantageously also be used for object recognition and / or their reliability can be increased.
Zusätzlich oder alternativ ist bzw. wird die bzw. wenigstens eine der Kameras durch den bzw. einen der Roboter geführt. Hierdurch können in einer Ausführung vorteilhaft Objekte aus verschiedenen Perspektiven und/oder aus der Nähe und/oder unmittelbar vor Handhabung durch den kameraführenden Roboter erfasst werden.Additionally or alternatively, or at least one of the cameras is guided by the robot or one of the robots. In this way, in one embodiment, objects from different perspectives and / or from close proximity and / or immediately before handling by the camera-guiding robot can advantageously be detected.
In einer Ausführung kann das Handhaben von Zielobjekten ein Aufnehmen, insbesondere magnetisches, pneumatisches und/oder mechanisches, insbesondere form- und/oder reibschlüssiges, Greifen, ein Transportieren, ein Abgeben, insbesondere Absetzen bzw. -legen, und/oder ein Bearbeiten, insbesondere ein Beschichten, insbesondere Lackieren, ein Schweißen, Löten und/oder Kleben, und/oder ein spanendes Bearbeiten der Zielobjekte umfassen, insbesondere sein, welches in einer Ausführung auf Basis bzw. in Abhängigkeit von dem Cluster(i)n(g) erfolgt bzw. durchgeführt wird.In one embodiment, the handling of target objects may include picking up, in particular magnetic, pneumatic and / or mechanical, in particular positive and / or frictional, gripping, transporting, dispensing, in particular settling or laying, and / or processing, in particular coating, in particular painting, welding, soldering and / or gluing, and / or a machining Processing of the target objects include, in particular be, which is carried out or carried out in an embodiment based on or in dependence on the cluster (i) n (g).
Entsprechend umfasst das Verfahren in einer Ausführung die Schritte:
- - Clustern eines ersten Zielobjekts sowie eines oder mehrerer weiterer Zielobjekte auf Basis bzw. in Abhängigkeit von deren ausgewählten Merkmalen;
- - gleichartiges Handhaben von Zielobjekten, falls diese derselben Gruppe bzw. Objektklasse zugeordnet worden sind; und
- - unterschiedliches Handhaben von Zielobjekten, falls diese verschiedenen Gruppen bzw. Objektklassen zugeordnet worden sind.
- Clustering a first target object and one or more further target objects based on or depending on their selected features;
- - similar handling of target objects, if they have been assigned to the same group or object class; and
- - Different handling of target objects, if they have been assigned to different groups or object classes.
Somit werden in einer Ausführung Zielobjekte, die beim bzw. durch das Clustern derselben Gruppe bzw. Objektklasse zugeordnet worden sind, gleichartig gehandhabt, beispielsweise gleichartig gegriffen und/oder an der gleichen Stelle abgegeben, und Zielobjekte, die beim bzw. durch das Clustern verschiedenen Gruppen bzw. Objektklassen zugeordnet worden sind, unterschiedlich gehandhabt, beispielsweise unterschiedlich gegriffen und/oder an verschiedenen Stellen abgegeben.Thus, in one embodiment, target objects that have been assigned to clustering the same group or class of objects are similarly handled, for example, similarly gripped and / or delivered at the same location, and target objects that are different in clusters or object classes have been assigned, handled differently, for example, different gripped and / or delivered at different locations.
In einer Ausführung umfasst das Verfahren die Schritte:
- - Extrahieren verschiedener Merkmale der erfassten Beispielobjekte; und
- - Klassifizieren der Beispielobjekte auf Basis unterschiedlicher Kombinationen dieser extrahierten Merkmale.
- Extracting various features of the captured example objects; and
- Classify the example objects based on different combinations of these extracted features.
Zusätzlich oder alternativ umfasst das Verfahren in einer Ausführung die Schritte:
- - Extrahieren der ausgewählten Merkmale der erfassten Zielobjekte; und
- - Clustern der Zielobjekte auf Basis dieser extrahierten Merkmale.
- - extracting the selected features of the detected target objects; and
- Clusters the target objects based on these extracted features.
Das Extrahieren von Merkmalen erfasster (Beispiel- bzw. Ziel)Objekte kann insbesondere ein Segmentieren, in einer Ausführung ein Farbsegmentieren („color segmentation“), ein Ebenensegmentieren („plane segmentation“), ein Hüllensegmentieren („hull segmentation“), ein Objektsegmentieren („object segmentation“) und/oder ein Maskieren („masking“) umfassen, insbesondere sein.In particular, extracting features of captured (example or target) objects may segment, in one embodiment a color segmentation, a plane segmentation, a hull segmentation, an object segmentation ("Object segmentation") and / or masking, in particular.
Merkmale, auf deren Basis (Beispiel- bzw. Ziel)Objekte klassifiziert bzw. geclustert werden, können in einer Ausführung Farb- und/oder Helligkeitswerte, insbesondere Rot-, Grün- und/oder Blau-Werte des RGB-Farbraums, Farbwert („hue“), Farbsättigung („saturation“), Hellwert („brightness“) des HSV-Farbraums, oder dergleichen, Abmessungswerte, insbesondere Höhe, Breite, Länge, Volumen, Kantenlänge, und/oder Abstandswerte, insbesondere einen Abstand zu einem Zentrum oder dergleichen, sowie Mittelwerte und/oder Standardabweichungen hiervon umfassen, insbesondere sein. Hierdurch kann das Cluster(i)n(g) (weiter) verbessert werden.Features on the basis of which (example or target) objects are classified or clustered can in one embodiment have color and / or brightness values, in particular red, green and / or blue values of the RGB color space, color value (" hue "), saturation, brightness of the HSV color space, or the like, dimensional values, in particular height, width, length, volume, edge length, and / or distance values, in particular a distance to a center or and the like, as well as mean values and / or standard deviations thereof, in particular. As a result, the cluster (i) n (g) can be (further) improved.
Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- - Mittel zum Erfassen von als robotisch handzuhabend vorausgewählten Beispielobjekten;
- - Mittel zum Klassifizieren der Beispielobjekte auf Basis unterschiedlicher Kombinationen verschiedener Merkmale der erfassten Beispielobjekte;
- - Mittel zum Auswählen von Merkmalen auf Basis dieses Klassifizierens;
- - Mittel zum Erfassen von Zielobjekten;
- - Mittel zum Clustern der Zielobjekte auf Basis der ausgewählten Merkmale; und
- - Mittel zum Handhaben der Zielobjekte mithilfe des Roboters auf Basis dieses Clusterns.
- Means for detecting example objects preselected to be robotically manipulable;
- Means for classifying the example objects based on different combinations of different features of the captured example objects;
- - means for selecting features based on this classifying;
- - means for detecting target objects;
- Means for clustering the target objects based on the selected features; and
- - Means for handling the target objects using the robot based on this clustering.
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- Mittel zum optischen Erfassen der Beispielobjekte und/oder Zielobjekte, insbesondere mittels wenigstens einer, in einer Ausführung robotergeführten, RGB-Kamera; und/oder
- Mittel zum Erfassen der Beispielobjekte und/oder Zielobjekte aus verschiedenen Perspektiven; und/oder
- Mittel zum Aufnehmen, Transportieren, Abgeben und/oder Bearbeiten der Zielobjekte; und/oder
- Mittel zum Vorauswählen der Beispielobjekte auf Basis einer Prognose der Zielobjekte; und/oder
- Mittel zum überwachten Lernen zum Klassifizieren der Beispielobjekte und/oder Mittel zum unüberwachten Lernen zum Clustern der Zielobjekte; und/oder Mittel zum Extrahieren verschiedener Merkmale der erfassten Beispielobjekte und Klassifizieren der Beispielobjekte auf Basis unterschiedlicher Kombinationen dieser extrahierten Merkmale; und/oder
- Mittel zum Extrahieren der ausgewählten Merkmale der erfassten Zielobjekte und Clustern der Zielobjekte auf Basis dieser extrahierten Merkmale; und/oder
- Mittel zum Klassifizieren einer Testmenge der Beispielobjekte auf Basis einer ersten Kombination von Merkmalen einer Trainingsmenge der erfassten Beispielobjekte, Klassifizieren einer, insbesondere derselben, Testmenge der Beispielobjekte auf Basis wenigstens einer weiteren Kombination von Merkmalen einer, insbesondere derselben, Trainingsmenge der erfassten Beispielobjekte, Bewerten dieser Klassifizierungen und Auswählen der Merkmale auf Basis dieser Bewertung; und/oder Mittel zum Ermitteln eines Identifikationsparameters eines ersten Zielobjekts auf Basis seiner ausgewählten Merkmale, Ermitteln eines Identifikationsparameters wenigstens eines weiteren Zielobjekts auf Basis seiner ausgewählten Merkmale und Zuordnen dieses weiteren Zielobjekts und des ersten Zielobjekts zu derselben Gruppe, falls eine Abweichung ihrer Identifikationsparameter einen vorgegebenen Schwellwert unterschreitet; und/oder
- Mittel zum Clustern eines ersten Zielobjekts sowie wenigstens eines weiteren Zielobjekts auf Basis von deren ausgewählten Merkmalen, gleichartigen Handhaben dieser Zielobjekte, falls diese derselben Gruppe zugeordnet worden sind, und unterschiedlichen Handhaben dieser Zielobjekte, falls diese verschiedenen Gruppen zugeordnet worden sind.
- Means for optically detecting the example objects and / or target objects, in particular by means of at least one robot-guided RGB camera in one embodiment; and or
- Means for collecting the example objects and / or target objects from different perspectives; and or
- Means for capturing, transporting, delivering and / or editing the target objects; and or
- Means for preselecting the example objects based on a prediction of the target objects; and or
- Supervised learning means for classifying the example objects and / or unsupervised learning means for clustering the target objects; and / or means for extracting various features of the captured example objects and classifying the example objects Base different combinations of these extracted features; and or
- Means for extracting the selected features of the detected target objects and clusters the target objects based on those extracted features; and or
- Means for classifying a test set of the example objects based on a first combination of features of a training set of the acquired example objects, classifying one, in particular the same, test set of the example objects on the basis of at least one further combination of features of, in particular, training set of the acquired example objects, evaluating these classifications and selecting the features based on that score; and / or means for determining an identification parameter of a first target object based on its selected features, determining an identification parameter of at least one further target object based on its selected features, and assigning that further target object and the first target object to the same group if a deviation of their identification parameters exceeds a predetermined threshold below; and or
- Means for clustering a first target object and at least one further target object based on their selected features, similar handling of those target objects if they have been assigned to the same group, and different handling of those target objects if they have been assigned to different groups.
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU, GPU oder dergleichen) und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die CPU bzw. GPU kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die CPU bzw. GPU die Schritte solcher Verfahren ausführen kann und damit insbesondere den bzw. die Roboter steuern bzw. regeln kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen. GPUs können in einer Ausführung zur, insbesondere hochgradig, parallelen, Berechnung verwendet werden.A means in the sense of the present invention may be formed by hardware and / or software technology, in particular a data or signal-connected, preferably digital, processing, in particular microprocessor unit (CPU, GPU or the like), preferably with a memory and / or bus system. and / or one or more programs or program modules. The CPU or GPU may be configured to execute instructions implemented as a program stored in a memory system, to capture input signals from a data bus, and / or to output output signals to a data bus. A storage system may comprise one or more, in particular different, storage media, in particular optical, magnetic, solid state and / or other non-volatile media. The program may be such that it is capable of embodying or executing the methods described herein so that the CPU or GPU may perform the steps of such methods and thus, in particular, control the robot (s). In one embodiment, a computer program product may include, in particular, a non-volatile storage medium for storing a program or a program stored thereon, wherein execution of this program causes a system or a controller, in particular a computer, to do so method described herein or one or more of its steps. GPUs can be used in one embodiment for, in particular, high-level, parallel computation.
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel. In einer Ausführung weist das System den bzw. die Roboter auf.In one embodiment, one or more, in particular all, steps of the method are completely or partially automated, in particular by the system or its (e) means. In one embodiment, the system has the robot (s).
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
-
1 : ein System zum Handhaben von Objekten mithilfe eines Roboters nach einer Ausführung der vorliegenden Erfindung; und -
2 : ein Verfahren zum Handhaben von Objekten mithilfe des Roboters nach einer Ausführung der vorliegenden Erfindung.
-
1 : a system for handling objects using a robot according to an embodiment of the present invention; and -
2 : A method of manipulating objects using the robot according to an embodiment of the present invention.
Der Roboter(arm)
In einem ersten Schritt
Soll der Roboter beispielsweise später verschiedene elektronische Bauteile sortieren, so werden in Schritt
In einem Schritt
In einem Schritt
In einem Schritt
Die jeweilige Klassifikation wird in Schritt
Sind wiederum rein exemplarisch die Beispielobjekte
In einem Schritt
In einem Schritt
Dann nimmt der Roboter
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.Although exemplary embodiments have been explained in the foregoing description, it should be understood that a variety of modifications are possible. It should also be noted that the exemplary embodiments are merely examples that are not intended to limit the scope, applications and construction in any way. Rather, the expert is given by the preceding description, a guide for the implementation of at least one exemplary embodiment, with various changes, in particular with regard to the function and arrangement of the components described, can be made without departing from the scope, as it turns out according to the claims and these equivalent combinations of features.
BezugszeichenlisteLIST OF REFERENCE NUMBERS
- 1010
- Roboterrobot
- 1111
- Greifergrab
- 1212
- RGBD-KameraRGBB camera
- 22
- Steuerungcontrol
- 31-3331-33
- Beispielobjekteexample objects
- 44
- Förderbandconveyor belt
- 51, 5251, 52
- Zielobjektetargets
- 61-6361-63
- Ablageplätzestorage spaces
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018209220.6A DE102018209220A1 (en) | 2018-06-11 | 2018-06-11 | Method and system for handling objects using a robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018209220.6A DE102018209220A1 (en) | 2018-06-11 | 2018-06-11 | Method and system for handling objects using a robot |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102018209220A1 true DE102018209220A1 (en) | 2019-12-12 |
Family
ID=68651664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102018209220.6A Pending DE102018209220A1 (en) | 2018-06-11 | 2018-06-11 | Method and system for handling objects using a robot |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102018209220A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021250227A1 (en) * | 2020-06-12 | 2021-12-16 | Schunk Gmbh & Co. Kg Spann- Und Greiftechnik | Sensor device for a gripping system, method for generating optimal gripping poses for controlling a gripping device, and associated gripping system |
AT526401A1 (en) * | 2022-08-11 | 2024-02-15 | Brantner Env Group Gmbh | Method for sorting material to be sorted |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080037877A1 (en) * | 2006-08-14 | 2008-02-14 | Microsoft Corporation | Automatic classification of objects within images |
US20130034295A1 (en) * | 2011-08-02 | 2013-02-07 | Toyota Motor Engineering & Manufacturing North America, Inc. | Object category recognition methods and robots utilizing the same |
US20130322740A1 (en) * | 2012-05-31 | 2013-12-05 | Lihui Chen | Method of Automatically Training a Classifier Hierarchy by Dynamic Grouping the Training Samples |
-
2018
- 2018-06-11 DE DE102018209220.6A patent/DE102018209220A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080037877A1 (en) * | 2006-08-14 | 2008-02-14 | Microsoft Corporation | Automatic classification of objects within images |
US20130034295A1 (en) * | 2011-08-02 | 2013-02-07 | Toyota Motor Engineering & Manufacturing North America, Inc. | Object category recognition methods and robots utilizing the same |
US20130322740A1 (en) * | 2012-05-31 | 2013-12-05 | Lihui Chen | Method of Automatically Training a Classifier Hierarchy by Dynamic Grouping the Training Samples |
Non-Patent Citations (1)
Title |
---|
SÜßE, H.; RODNER, E.: Bildverarbeitung und Objekterkennung. Springer, 2014. Seiten 449-513, 589-613 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021250227A1 (en) * | 2020-06-12 | 2021-12-16 | Schunk Gmbh & Co. Kg Spann- Und Greiftechnik | Sensor device for a gripping system, method for generating optimal gripping poses for controlling a gripping device, and associated gripping system |
AT526401A1 (en) * | 2022-08-11 | 2024-02-15 | Brantner Env Group Gmbh | Method for sorting material to be sorted |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102017105082B4 (en) | Apparatus for calculating a stowage pattern and stowage apparatus for stowing a variety of object types | |
DE102007001263B4 (en) | Robot system for loading load carriers with piece goods units | |
DE102018006465B4 (en) | Article stacking device and machine learning device | |
DE102016001174B4 (en) | Robot system for removing workpieces with position and orientation conversion function and process for removing workpieces | |
DE102016122678B4 (en) | Workpiece position / posture calculation system and handling system | |
DE102014102943A1 (en) | Robot system with functionality for determining the location of a 3D box | |
DE112018007727B4 (en) | robotic system | |
DE102016000995A1 (en) | Conveyor robot system with three-dimensional sensor | |
DE102015208584A1 (en) | Gripping device and gripping method | |
DE102014011012A1 (en) | Method and means for designing and / or operating a robot | |
WO2019224004A1 (en) | Method for handling a workpiece with the aid of a removal tool and machine for carrying out the method | |
DE102011053547A1 (en) | Method and system for storing and picking articles, in particular pharmacy articles | |
DE102018209220A1 (en) | Method and system for handling objects using a robot | |
DE102021205324A1 (en) | Industrial robot gripping method and device, computer storage medium and industrial robot | |
DE102022130652A1 (en) | TRAINING A ROBOT BY DEMONSTRATING USING VISUALSERVOING | |
EP3702108A1 (en) | Method for determining a gripping position for gripping a workpiece | |
DE60316005T2 (en) | AUTOMATED PRODUCTION SYSTEM FOR OBJECT IDENTIFICATION, SELECTION AND TRANSPORT | |
DE19612465C2 (en) | Automatic optimization of object detection systems | |
AT521997A1 (en) | Optimization process to improve the reliability of goods picking with a robot | |
WO2019057679A1 (en) | Method and robotic system for matching a robot use to a work process | |
DE102018126310B3 (en) | Method for creating an object model for gripping an object, computer-readable storage medium and robotic system | |
EP3710207B1 (en) | Quality assurance of a process | |
DE112020006594B4 (en) | Machine learning methods and robotic system | |
EP3582140B1 (en) | System for the automatic recognition of laboratory work objects and method for operating a system for automatic recognition of laboratory work objects | |
EP2808843B1 (en) | Method of parameterisation of an image processing system for the monitoring of a machine tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06K0009000000 Ipc: G06V0010000000 |