DE102019202249A1 - Verfahren zum Bestimmen von einer Messposition für einen beweglichen optischen Messsensor, sowie Computerprogrammprodukt und Programmiersystem - Google Patents

Verfahren zum Bestimmen von einer Messposition für einen beweglichen optischen Messsensor, sowie Computerprogrammprodukt und Programmiersystem Download PDF

Info

Publication number
DE102019202249A1
DE102019202249A1 DE102019202249.9A DE102019202249A DE102019202249A1 DE 102019202249 A1 DE102019202249 A1 DE 102019202249A1 DE 102019202249 A DE102019202249 A DE 102019202249A DE 102019202249 A1 DE102019202249 A1 DE 102019202249A1
Authority
DE
Germany
Prior art keywords
measurement
measuring
neural network
sensor
positions
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.)
Ceased
Application number
DE102019202249.9A
Other languages
English (en)
Inventor
Andreas Gallasch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Audi AG
Original Assignee
Audi AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Audi AG filed Critical Audi AG
Priority to DE102019202249.9A priority Critical patent/DE102019202249A1/de
Publication of DE102019202249A1 publication Critical patent/DE102019202249A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • G01B21/047Accessories, e.g. for positioning, for tool-setting, for measuring probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • G01B11/005Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates coordinate measuring machines
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2545Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with one projection direction and several detection directions, e.g. stereo
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40529Neural network based on distance between patterns
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40542Object dimension

Abstract

Die Erfindung betrifft Verfahren zum Bestimmen von zumindest einer Messposition (5) für einen beweglichen optischen Messsensor (2), mit welchem ein Messobjekt (4) berührungslos vermessen werden kann, wobei mit der Messposition (5) ein Raumpunkt (13) innerhalb eines virtuellen Hüllkörpers (14), welcher potentielle Messpositionen (5) auf das Messobjekts (4) umgibt, charakterisiert wird, und wobei zumindest einem künstlichen neuronale Netz (6) Lerndaten übergeben werden und das künstliche neuronale Netz (6) zum Bestimmen von zumindest einer Messposition (5) anhand der Lerndaten trainiert wird, wobei für eine aktuelle Bereitstellung einer Messposition (5) zum Vermessen eines aktuellen Messobjekts (4) die Messposition (5) mit dem trainierten künstlich neuronalen Netz (6) automatisch bestimmt wird. Des Weiteren betrifft die Erfindung ein Computerprogrammprodukt und ein Programmiersystem.

Description

  • Die Erfindung betrifft ein Verfahren zum Bestimmen von zumindest einer Messposition für einen beweglichen optischen Messsensor, mit welchem ein Messobjekt berührungslos vermessen werden kann, wobei mit der Messposition ein Raumpunkt innerhalb eines virtuellen Hüllkörpers, welcher potentielle Messpositionen auf das Messobjekt umgibt, charakterisiert wird. Des Weiteren betrifft die Erfindung ein Computerprogrammprodukt und ein Programm iersystem.
  • Herkömmlich kann eine Programmierung eines Messroboters zu Erzeugung von Messpositionen heutzutage grundsätzlich „online“ oder „offline“ erfolgen. Die Online-Programmierung kann direkt am Messroboter beziehungsweise mit dem Roboter durchgeführt werden, indem der Messroboter zum Beispiel über ein Handbediengerät des Messroboters real an die gewünschten Raumpunkte bewegt und diese Position dann in das Messprogramm übernommen werden kann („Teach-in“-Programmierung). Diese Art der Programmierung ist sehr zeitaufwendig und es können nur wenige Messpositionen pro Zeiteinheit erzeugt werden.
  • Offline-Programmierung bedeutet, dass der reale Roboter oder die reale Robotermesszelle für die Messprogrammerstellung nicht benötigt werden. Das Messprogramm wird über ein separates und von der Messzelle unabhängiges Programmiersystem erzeugt und erst nach dessen Fertigstellung zur Robotersteuerung übertragen. Ein Vorteil liegt darin, dass der Roboter durch die Programmiertätigkeit nicht belegt wird und weiterhin produktiv tätig sein kann.
  • Die Offline-Programmierung wiederum kann auf mehrere Arten erfolgen, beispielsweise werden nachfolgend zwei geschildert, welche einen zunehmenden Automatisierungsgrad aufweisen.
  • Beispielsweise ist die Robotermesszelle mit Messobjekt, Bauteilaufnahme, Handlingsgerät (Roboter) und Messsensor innerhalb der Messsoftware virtuell abgebildet. Ein Messtechniker kann nun zum Beispiel mit einer Computermaus auf einen Punkt der Oberfläche des Messobjekts virtuell klicken oder auf ein zu messendes Element wie ein Kreisloch, auf der der virtuelle Roboter fährt, klicken. Diese eine Messposition kann nun von der Messsoftware in das Programm übernommen werden. Für ein vollständiges Messprogramm werden diese Schritte in der entsprechenden Anzahl wiederholt.
  • In einem weiteren Beispiel kann die Robotermesszelle nach wie vor innerhalb der Messsoftware komplett virtuell abgebildet werden. Klickt hier zum Beispiel der Messtechniker ein Element wie zum Beispiel ein Kreisloch an, so erzeugt die Messsoftware eine oder mehrere Messpositionen beziehungsweise Befehlszeilen derart, dass das betrachtete Element bestmöglich gemessen wird hinsichtlich der Vollständigkeit der Erfassung. Die Messpositionen sind nicht mehr bedienabhängig. Dadurch kann beispielsweise der Messsoftware auch ein größerer Flächenbereich oder auch die gesamte sichtbare Oberflächenseite zur Messprogrammerzeugung übergeben werden. So ist auch die Erzeugung eines Messprogramms denkbar, welches die gesamte definierte Fläche mit Aufnahmen abdeckt und damit erfasst.
  • Die Problematik bei der letztgenannten Offline-Programmierung (vollautomatische Messprogramme) ist das Auffinden der bestmöglich geeigneten Aufnahmepositionen aus einer Vielzahl möglicher Positionen.
  • Beispielsweise können mit Algorithmen eine automatische Bestimmung von Messpositionen (= Ansichten auf das Messobjekt) durchgeführt werden. Dies ist jedoch sehr rechenzeitaufwendig. Dabei ist der Zeitaufwand linear mit der Größe des STL(Standard Triangulation Language)-Datensatzes ansteigend. Dabei müssen die folgenden dargestellten Vorgehensweisen durchgeführt werden:
    1. 1. Ermittlung aller möglichen Messpositionen aus dem Dreiecksnetz der Messobjekt-Oberfläche (STL-Daten), wobei für jede Dreiecksfacette eine Messposition erzeugt wird.
    2. 2. Hinzufügen weiterer potentieller Messpositionen durch Verschieben und Drehen des Messsensors an jeder in 1.) berechneter Messposition.
    3. 3. Herausfiltern unmöglicher Messpositionen zum Beispiel Messung von unten.
    4. 4. Simulation der Messung zur Ermittlung der Messqualität einer jeden Messposition (Sichtbarkeitsanalyse oder Verdeckungen).
    5. 5. Auswahl geeigneter Messposition aus der Vielzahl der möglichen Messpositionen durch geometrische Algorithmen.
  • Durch diese sehr aufwendigen Vorgehensweisen zur Bestimmung der Messposition kann insbesondere keine effiziente und kostengeringere Bestimmung von Messpositionen erreicht werden.
  • Die DE 10 2017 007 765 A1 beschreibt ein Verfahren zur Kalibrierung von Sensoren eines Fahrzeugs. Zur Kalibrierung von Sensoren des Fahrzeugs müssen die jeweiligen Positionen und Orientierungen der Sensoren relativ zueinander ermittelt werden. Die Sensoren werden unter Verwendung eines neuronalen Netzes zueinander kalibriert.
  • Die WO 2016/095882 A1 beschreibt einen berührungslosen Positions- und/oder Abstandssensor zur Bestimmung einer räumlichen Orientierung, einer Materialeigenschaft eines Zielobjekts. Bei einem Verfahren, ist insbesondere vorgesehen, dass wenigstens zwei Sensorelemente vorgesehen sind und von den wenigstens zwei Sensorelementen gelieferte Signale mittels wenigstens eines künstlichen neuronalen Netzwerkes gemeinsam ausgewertet werden.
  • Die DE 10 2012 024 934 A1 beschreibt ein Verfahren zur erstmaligen Erstellung eines Messprogramms für die Messung eines neuen Messobjekts mit einem Messroboter, wobei der Messroboter wenigstens einen berührungslosen Messsensor aufweist und dieser Messsensor mit dem vom Messprogramm gesteuerten Messroboter in verschiedene Positionen relativ zu dem Messobjekt bewegt werden soll. Es ist vorgesehen, dass für das zu erstellende Messprogramm auf ein bereits vorhandenes Messprogramm zurückgegriffen wird, welches für ein bekanntes Messobjekt existiert, das dem neuen Messobjekt möglichst ähnlich ist.
  • Zur Vermeidung von einer erhöhten Rechenzeit für die Messpositionserzeugung werden insbesondere in der DE 10 2012 024 934 A1 Vergleichsmerkmale anhand der Geometrie des neuen Messobjekts bestimmt. Mit den Vergleichsmerkmalen können alte, bereits vorliegende Messungen beziehungsweise Messobjekte verglichen werden. Es wird hierzu aus den neuen und den alten Vergleichsmerkmalen anhand einer beschriebenen Vorgehensweise ein Kennwert berechnet für die Ähnlichkeit beziehungsweise Übereinstimmung für jedes bereits vorhandene beziehungsweise bekannte Messobjekt mit dem neuen Messobjekt. Je näher der Kennwert an einer vorgegebenen Zahl liegt, desto höher ist der Rahmen und desto größer ist die Ähnlichkeit beziehungsweise die Übereinstimmung mit dem neuen Messobjekt. Dabei ergibt sich ein Nachteil, dass alle alten Messobjekte erhalten (gespeichert und archiviert) bleiben müssen, da aus diesen alten Messobjekten gegebenenfalls die Messpositionen für die neuen Messungen herausgelesen werden können. Eine möglicherweise Speicherung der Vergleichsmerkmale sowie Metadaten auf einer Datenbank enthält nicht die gewünschten Messpositionen und/oder Messorientierungen. Eine zusätzliche Datenbank für die Speicherung der Vergleichsmerkmale und anderer Metadaten ist erforderlich oder aber alle alten Messprojekte müssen durchlaufend betrachtet werden, was jedes Mal das zeitaufwendige Öffnen, das Berechnen der Vergleichsmerkmale sowie das Schließen eines alten Messobjekts bedeuten würde.
  • Die Auswahl erfolgt nur anhand von Kennwerten der Messobjektgeometrie, nicht aber auch nach messtechnischen Gesichtspunkten (Messprinzip, Typ des Sensors, Messvolumen des Sensors, Arbeitsbereich oder ein Drehtisch beziehungsweise eine Montageplatte). Die Vorgehensweise kann ein für die Messpositionserzeugung wichtige Unterscheidung beispielsweise nach der Anbausituation nicht vornehmen.
  • Aufgabe der vorliegenden Erfindung ist es, ein Verfahren, ein Computerprogrammprodukt und ein Programmiersystem bereitzustellen, mit welchem eine effizientere und schnellere Erzeugung der Messpositionen erreicht wird.
  • Diese Aufgabe wird durch ein Verfahren, ein Computerprogrammprodukt und ein Programmiersystem gemäß den unabhängigen Patentansprüchen gelöst. Sinnvolle Weiterbildungen ergeben sich aus den Unteransprüchen.
  • Ein Aspekt der Erfindung betrifft ein Verfahren zum Bestimmen von zumindest einer Messposition für einen beweglichen optischen Messsensor, mit welchem ein Messobjekt berührungslos vermessen werden kann, wobei mit der Messposition ein Raumpunkt innerhalb eines virtuellen Hüllkörpers, welcher potentielle Messpositionen auf das Messobjekt umgibt, charakterisiert wird. Zumindest einem künstlichen neuronalen Netz werden Lerndaten übergeben und das künstliche neuronale Netz wird zum Bestimmen von zumindest einer Messposition anhand der Lerndaten trainiert, wobei für eine aktuelle Bereitstellung einer Messposition zum Vermessen eines aktuellen Messobjekts die Messposition mit dem trainierten künstlichen neuronalen Netz automatisch bestimmt wird. Durch die automatische Bestimmung der Messposition des aktuellen Messobjekts anhand des trainierten künstlichen neuronalen Netzes kann die Messpositionsbestimmung effizienter und verbessert durchgeführt werden. Dies bedeutet auch, dass die Messpositionsbestimmung mit dem trainierten neuronalen Netzwerk schneller und auch intelligenter, da bedarfsgerechter, erfolgen kann. Insbesondere können dadurch alte Messprojekte nach einer Trainingsphase des künstlichen neuronalen Netzes gelöscht werden und ein Aufbau und eine Pflege einer Datenbank, insbesondere einer externen Datenbank, für die alten Messpositionen beziehungsweise den alten Messprojekten ist nicht mehr erforderlich. Aufgrund der Berücksichtigung messtechnischer Merkmale entweder durch einen entsprechenden Eingangsvektor des künstlichen neuronalen Netzes oder aber durch die Erzeugung verschiedener künstlicher neuronaler Netze sind bessere Ergebnisse für die Messpositionsgenerierung erreichbar. Insbesondere kann aus wenigen Merkmalen des Eingangsvektors des künstlichen neuronalen Netzes eine Vielzahl von Messpositionen erzeugt werden, mit denen das Messobjekt vermessen werden kann.
  • Insbesondere kann der virtuelle Hüllkörper alle potentiellen Messpositionen auf das Messobjekt umgeben.
  • Insbesondere werden aus bestimmten Merkmalen einer dreidimensionalen Geometrie beziehungsweise aus bestimmten Metadaten zu einer dreidimensionalen Geometrie parallel eine Vielzahl von dreidimensionalen Messpositionen und dreidimensionalen Messorientierungen bestimmt.
  • In einem Beispiel werden durch das künstliche neuronale Netz Messpositionen erzeugt, ohne dass das künstliche neuronale Netz die tatsächliche, konkrete Geometrie des aktuellen Messobjekts kennt und diese auch nicht berücksichtigt werden. Bekannt sind im künstlichen neuronalen Netz nur die sogenannten „Metadaten“ der Messobjektgeometrie, also die bestimmten, aus der tatsächlichen Geometrie abgeleiteten Merkmale. Dadurch kann das künstliche neuronale Netz aus den bestimmten Merkmalen einer dreidimensionalen Geometrie beziehungsweise eben aus bestimmten Metadaten zu einer dreidimensionalen Geometrie parallel eine Vielzahl von dreidimensionalen Messpositionen beziehungsweise Messpositionen und beispielsweise dreidimensionale Messorientierungen bestimmen. Dadurch können das aktuelle Messobjekt und eine Vielzahl bevorstehender zu vermessende Messobjekte mit dem beweglichen optischen Messsensor effizient und schnellstmöglich vermessen werden, ohne dass eine Qualität des Messergebnisses verloren geht. Dadurch können insbesondere Kosten und Rechenzeit bei der Vermessung des aktuellen Messobjekts reduziert werden.
  • Beispielsweise kann der bewegliche optische Messsensor Teil eines Roboters beziehungsweise eines Messroboters sein. Beispielsweise dient der Roboter beziehungsweise der Messroboter als Handlingsgerät für den beweglich optischen Messsensor. Mit dem Messroboter können die einzelnen Messaufnahmen automatisiert angefahren und ausgeführt werden. Sobald sich beispielsweise der Messsensor in einer vom Messprogramm vorgegebenen Messposition und in einer vorgegebenen Messorientierung befindet, verharrt der Messroboter in dieser Position, bis die Messaufnahmen des Messobjekts durch den optischen Messsensor erfolgreich durchgeführt werden konnten.
  • Beispielsweise verfügt der Messsensor über einen Projektor sowie mindestens eine digitale Kamera. Beispielsweise kann der Messsensor zwei digitale Kameras aufweisen, wobei eine Kamera links und eine rechts vom Projektor angeordnet werden kann. Befindet sich der Messsensor in einer vorgegebenen Messposition auf das Messobjekt, so startet der Messsensor über den Projektor die Projektion einer bestimmten Sequenz von verschiedenen Streifenmustern auf das Messobjekt. Beispielsweise wird jeder Teilschritt dieser Sequenz von der mindestens einen digitalen Kamera aufgenommen, sodass das Bild des Messobjekts später verarbeitet werden kann. Daher kann insbesondere eine sehr präzise dreidimensionale Aufnahme des Messobjekts erreicht beziehungsweise dargestellt werden.
  • Das Messprogramm besteht in der Regel aus einer Vielzahl von vorgegebenen Messpositionen. Nach Ablauf des Messprogramms wird das Messobjekt mit entsprechend vielen Messaufnahmen aus verschiedenen Richtungen aufgenommen, sodass sich das Messobjekt mit dem Messprogramm dreidimensional widerspiegeln lässt. Die einzelnen Messaufnahmen des Messobjekts werden über sogenannte Zielmarken rechnerisch zu einem Verbund zusammengesetzt und daraus wiederum wird eine dreidimensionale Punktewolke mithilfe eines speziellen Verarbeitungsalgorithmus einer Auswerteeinheit berechnet. Die dreidimensionale Punktewolke repräsentiert beispielsweise rechenintern das zuvor aufgenommene Messobjekt mittels des Messsensors. Die Zielmarken sind beispielsweise kleine kreisrunde Marken zum Aufkleben oder auch in magnetischer Ausführung und werden während der Zeitdauer der Messaufnahme des Messobjekts auf dem Messobjekt selbst oder um das Messobjekt herum zum Beispiel auf einer Kulisse aufgebracht und dürfen während dieser Zeitphase räumlich nicht verändert werden.
  • Die Vermessung des Messobjekts erfolgt beispielsweise in der Regel zu deren maßlichen Überprüfung im Vergleich zu den CAD-Daten, welche damit die Solldaten bilden und die Punktewolke beziehungsweise das aus der Punktewolke berechnete Ist-Netz die Ist-Daten. Beispielsweise wird aus der Punktewolke im Rahmen der sogenannten Polygonisierung ein Dreiecksnetz beziehungsweise ein STL-Netz berechnet.
  • Insbesondere führt der Messroboter keine eigentlichen Messungen aus, sondern dient nur ausschließlich als Unterstützungseinheit für den Messsensor. Beispielsweise kann es sich jedoch bei dem Roboter um einen Industrieroboter handeln, welcher auch für weitere Tätigkeiten, beispielswiese Schweiß- oder Lackiertätigkeiten, eingesetzt werden kann.
  • Insbesondere wird mit dem neuronalen Netz anhand von vorliegenden alten Messobjekten und alten Messprogrammen das neuronale Netz dahingehend trainiert, dass die Messpositionen eines aktuellen Messobjekts automatisch bestimmt werden können. Insbesondere erfolgt die Bestimmung der aktuellen Messpositionen auf das Messobjekts mit dem neuronalen Netz wesentlich effizienter als eine umfangreiche Suche in alten Datenbeständen einer Datenbank.
  • Das künstliche neuronale Netz wird insbesondere zur Erzeugung eines Messprogramms eingesetzt und kommt dementsprechend im Vorfeld der eigentlichen Messung des Messobjekts zum Einsatz. Insbesondere beschreibt das Messprogramm ein Programm mit Startposition, Anfahrtsposition und Endposition des Messsensors des Messroboters. Diese Positionen werden insbesondere Punkt zu Punkt angefahren und nicht auf einer bestimmten Bahnkurve.
  • Das Messprogramm kann prinzipiell dann erstellt werden, wenn das Messobjekt bereits in einer Messzelle aufgebaut ist. Aber besser ist es, wenn die Messprogrammerstellung weiter im Vorfeld der eigentlichen Messung als vorbereitende Tätigkeit erfolgt, sodass die Messzelle beziehungsweise die Robotermesszelle möglichst wenig Stillstandzeit erfährt. Dadurch kann insbesondere eine effizientere, und somit schnellere und genaue, Vermessung des aktuellen Messobjekts erreicht werden.
  • Das künstliche neuronale Netz besteht beispielsweise aus einer beliebigen Anzahl miteinander verbundener Neuronen. Eine Eigenschaft des künstlichen neuronalen Netzes ist, dass das künstliche neuronale Netz komplexe Muster erlernen kann, ohne dass eine Abstraktion über die diesem Muster eventuell zugrundeliegenden Regeln stattfindet. Das heißt, dass das neuronalen Netz nicht einem Logiksystem, sondern einer intuitiven Musterverarbeitung folgt. Das bedeutet weiterhin, dass vor dem Lernen nicht erst die Regeln entwickelt werden müssen. Andererseits kann aus dem neuronalen Netz auch nicht nachträglich eine eventuelle Logik ermittelt werden, die dessen Lernerfolg ausmacht. Das bedeutet wiederum nicht, dass das logische Verhalten und präzise Regeln nicht von dem künstlichen neuronalen Netz erlernt angewendet werden kann, sondern dies wird durch Trainieren dem künstlichen neuronalen Netz beigebracht. Insbesondere muss die Topologie eines künstlichen neuronalen Netzes (die Zuordnung von Verbindungen zum Knoten) abhängig von dessen Aufgabe durchdacht werden. Nach der Konstruktion des künstlichen neuronalen Netzes erfolgt die Trainingsphase, in der das künstliche neuronale Netz „lernt“. Beispielsweise kann das künstliche neuronale Netz durch folgende Methoden trainiert werden:
    • - Entwicklung neuer Verbindungen
    • - Löschen existierender Verbindungen
    • - Ändern der Gewichtung (die Gewichtung von Neuronen zu Neuronen)
    • - Anpassen der Schwellenwerte der Neuronen
    • - Hinzufügen oder Löschen von Neuronen
    • - Modifikation von Aktivierungs-, Propagierungs- oder Ausgabefunktionen.
  • Beispielsweise verändert sich das Lernverhalten bei Veränderung der Aktivierungsfunktion der Neuronen oder der Lernrate des neuronalen Netzes. Praktisch gesehen „lernt“ das künstliche neuronale Netz hauptsächlich durch Modifikation der Gewichtungen der Neuronen. Eine Anpassung des Schwellwerts kann hierbei durch ein Neuron erledigt werden. Dadurch ist das künstliche neuronale Netz in der Lage, komplizierte nicht-lineare Funktionen über einen Lern-Algorithmus, der durch iterative und rekursive Vorgehensweise aus vorhandenen Ein- und Ausgangswerten aller Parameter der Funktion zu bestimmen versucht, zu erlernen. Beispielsweise ist das neuronale Netz äquivalenten zum Modell zur Touringmaschine. Beispielsweise gibt es eine Vielzahl von unterschiedlichen Netztopologien des neuronalen Netzes. Beispielsweise kann das neuronale Netz als Cascade-Correlation-Netz, Counter-Propagation-Netz, probabilistisches neuronales Netz, pulscodiertes neuronales Netz, Time-Delay-Neuronal-Network, Jordan-Netz, Ellmann-Netz, Bolzmann-Maschine, Lernmatrix, bidirektionaler Assoziativspeicher oder radiale Basisfunktion-Netze dargestellt werden. Diese Beispiele sollen nicht abschließend zu verstehen sein, sondern sollen nur die Vielzahl von unterschiedlichen Netztopologien eines neuronalen Netzes darstellen.
  • Beispielsweise ist der Hüllkörper, welcher das Messobjekt virtuell umgibt, ein in der algorithmischen Geometrie einfacherer geometrischer Körper, der einen komplexeren dreidimensionalen komplexen Körper umgibt. Beispielsweise kann der Hüllkörper einen Quader oder einen Würfel darstellen. Dabei kann der Quader beispielsweise an den Achsen des Koordinatensystems des Messobjekts ausgerichtet werden. Insbesondere bezeichnet man einen an Achsen ausgerichteten Quader als „Axis-Aligned-Bounding-Box (AABB). Diese AABB-Box wird üblicherweise durch zwei Punkte definiert, die die Position der Ecken auf beiden Seiten einer Quaderdiagonale des Hüllkörpers angeben.
  • Beispielsweise werden von dem Messobjekt mithilfe eines Messsystems die dreidimensionalen Koordinaten einer Vielzahl von Oberflächenpunkten des Messobjekts gemessen. Insbesondere werden dabei die x-, y- und z-Koordinaten vermessen. Die Vielzahl von Oberflächenpunkten ergibt als Zwischenschritt die dreidimensionale Punktewolke und anschließend wird daraus das Ist-Netz bestimmt. Dies wird insbesondere als Koordinatenmessung bezeichnet. Neben der Koordinatenmessung an dem Messobjekt gibt es beispielsweise noch eine reine Längenmessung oder auch eine Vormessung, mit welcher Abweichungen von der geometrischen Idealgeometrie des Messobjekts bestimmt werden können.
  • Insbesondere ist der Raumpunkt ein dreidimensionaler Punkt im Raum der Robotermesszelle, an welchen der Messsensor mithilfe des Roboters verfahren werden kann. Dadurch kann der Messsensor das Messobjekt ideal vermessen. Die Messposition ist insbesondere ein programmierter dreidimensionaler Punkt im Messprogramm, an welchen der Roboter den Messsensor verfährt. An dem Messpunkt wird insbesondere das aktuelle Messobjekt mithilfe des Messsensors vermessen.
  • Vorzugsweise ist vorgesehen, dass als Lerndaten in der Vergangenheit erzeugte Messinformationen von zumindest einem Messobjekt bereitgestellt werden. Dadurch kann anhand vergangener Messinformationen das Trainieren des künstlichen neuronalen Netzes für das Vermessen des aktuellen Messobjekts ideal durchgeführt werden. Dabei können insbesondere mehrere Messobjekte in der Vergangenheit vermessen und analysiert worden sein. Die Lerndaten können beispielsweise in dem Messprogramm beziehungsweise in einem Messsystem gespeichert werden und bei der Bestimmung der Messpositionen zum Vermessen des aktuellen Messobjekts herangezogen werden. Dadurch kann das künstliche neuronale Netz effizient trainiert werden, sodass die Messpositionen automatisch durch das neuronale Netz bestimmt werden können.
  • In einer vorteilhaften Ausgestaltung ist vorgesehen, dass die Messinformation zumindest teilweise mittels folgender Schritte erzeugt wird:
    • - Ermittlung möglicher Messpositionen aus einem Dreiecksnetz einer Oberfläche eines Messobjekts, wobei vorzugsweise für jede Dreiecksfacette eine Messposition erzeugt wird, und/oder
    • - Hinzufügen weiterer potentieller Messpositionen durch Verschieben und Drehen des Messsensors an wenigstens einer der zuvor berechneten Messpositionen, und/oder
    • - insbesondere Herausfiltern ungeeigneter Messpositionen, und/oder
    • - insbesondere Simulation der Messungen zur Ermittlung der Qualität einer jeden Messposition.
  • Dadurch kann anhand dieser Vielzahl an Lerndaten das Trainieren des künstlichen neuronalen Netzes vielfältig durchgeführt werden, sodass das künstliche neuronale Netz auf verschiedene Aspekte bei der Bestimmung der Messposition Rücksicht nehmen kann. Durch eine Vielzahl an Messinformationen als Lerndaten kann das künstliche neuronale Netz effizienter trainiert werden, sodass das aktuelle Objekt und bevorstehende Messobjekte effizient vermessen werden können.
  • Insbesondere kann mithilfe des Dreiecksnetzes beziehungsweise eines Polygonnetzes das Messobjekt so bereitgestellt werden, dass beispielsweise eine Triangulation oder eine Gittererzeugung (engl. „Mashing“) durchgeführt werden kann. Beispielsweise kann bei einer berechneten Messposition der Messsensor mithilfe des Messroboters so verschoben beziehungsweise gedreht werden, dass weitere potentielle beziehungsweise ideale Messpositionen bereitgestellt werden können, um diese als Trainingsdaten beziehungsweise Lerndaten dem künstlichen neuronalen Netz zur Verfügung zu stellen.
  • Insbesondere kann das Messprogramm ungeeignete beziehungsweise fehlerhafte Messpositionen herauslöschen, sodass diese bei der Verarbeitung beziehungsweise bei der Rechenzeit des künstlichen neuronalen Netzes nicht unnötige Verarbeitungszeit beanspruchen. Insbesondere können die Messpositionen anhand eines Simulationsprogramms untersucht werden, ob die Messposition eine ideale Messposition zum Vermessen des Messobjekts darstellt.
  • In einer vorteilhaften Ausgestaltung der Erfindung ist vorgesehen, dass beim Trainieren anhand der Lerndaten für Eingangsinformationen, die nach dem Trainieren von dem neuronalen Netz für die Bestimmung von Messpositionen empfangen werden, spezifische Gewichtungsfaktoren und/oder spezifische Verarbeitungsrückkopplungen in dem neuronalen Netz und/oder spezifische Verarbeitungsverknüpfungen zwischen Schichten des neuronalen Netzes und/oder Bestimmungsverknüpfungen zwischen Eingangsinformationen und daraus zu erzeugende Ausgangsinformationen erzeugt werden. Im Nachfolgenden können bei einer Bestimmung von Messpositionen derartige als Ausgangsinformation auf Basis der Eingangsinformation und Gewichtungsfaktoren und/oder Verarbeitungsrückkopplungen und/oder Verarbeitungsverknüpfungen und/oder Bestimmungsverknüpfungen erzeugt werden. Beispielsweise kann das neuronale Netz als rekurrentes neuronales Netz ausgebildet sein beziehungsweise als rückgekoppeltes neuronales Netz ausgebildet sein. Dabei werden die Neuronen einer Schicht zu Neuronen derselben oder einer vergangenen Schicht zugeordnet. Dabei werden rekurrente Verschaltungen von Modellneuronen benutzt, um zeitlich codierte Informationen in möglichen Daten zu entdecken. Beispielsweise wird bei einer direkten Rückkopplung der eigene Ausgang eines Neurons als weiterer Eingang genutzt. Bei einer indirekten Rückkopplung kann der Ausgang eines Neurons mit dem Neuron der vorhergehenden Schicht verbunden werden. Bei der zeitlichen Rückkopplung wird der Ausgang eines Neurons mit einem anderen Neuron derselben Schicht verbunden. Beispielsweise bei einer vollständigen Verbindung hat jeder Neuronenausgang eine Verbindung zu jedem anderen Neuron.
  • Insbesondere kann das neuronale Netz anhand Daten trainiert werden, von welchen der Eingangsvektor und der Ausgangsvektor bekannt ist, also anhand bereits durchgeführter Messungen des Messsensors und damit bekannten Messobjekten und bekannten Messpositionen. Beispielsweise kann ein Überprüfen der Funktionsfähigkeit des neuronalen Netzes dadurch vorgenommen werden, indem das neuronale Netz nicht anhand aller bereits durchgeführten und vergangenen Messungen trainiert wird, sondern nur anhand eines bestimmten Anteils der alten Messungen. Ein Teil dieser alten Messungen wird also zunächst zurückgehalten und nach einer ersten Trainingsphase zur Kontrolle des Lernfortschrittes des neuronalen Netzes verwendet, gegebenenfalls wird die Kontrolle in mehreren Stufen beziehungsweise Schleifen durchgeführt.
  • Das insbesondere bereits trainierte neuronale Netz kann dann ein Eingangsvektor beziehungsweise mehrere Eingangsvektoren einer alten Messung zugeführt werden, worauf das künstliche neuronale Netz auf der Ausgangsseite einen bestimmten Ausgangsvektor beziehungsweise mehrere bestimmte Ausgangsvektoren dazu bereitstellt. Da zu dem zugeführten Eingangsvektor aber auch die bereits konventionell berechneten Messpositionen der alten Messungen bekannt sind, also sozusagen der konventionell berechnete Ausgangsvektor, kann der vom neuronalen Netz berechnete Ausgangsvektor anhand des alten Ausgangsvektors überprüft werden. Ist das Ergebnis des neuronalen Netzes noch nicht zufriedenstellend, die Übereinstimmung also noch nicht exakt genug, dann können sich ein oder mehrere Trainingsphasen beziehungsweise Überprüfungsphasen der ersten Prüfungsphase beziehungsweise der ersten Trainingsphase anschließen.
  • Insbesondere ist der Eingangsvektor so konzipiert, dass er für jedes beliebige Messobjekt erzeugt werden kann für das neuronale Netz. Beispielsweise wird der Ausgangsvektor vom neuronalen Netz erzeugt und der Eingangsvektor kann dagegen dem neuronalen Netz bereitgestellt werden. Das Trainieren des neuronalen Netzes kann also für unterschiedliche Messobjekte erfolgen, da dem neuronalen Netz nur so später auch Eingangsvektoren unterschiedlicher Messobjekte zur Berechnung vorgegeben werden können. Das künstliche neuronale Netz, welches anhand der Trainingsdaten beziehungsweise der Lerndaten des Messobjekts trainiert werden kann, kann später keine sinnvollen Ausgangsvektoren beziehungsweise Messpositionen liefern, wenn es sich bei den Messobjekten um geometrisch anderweitige Messobjekte wie das aktuelle Messobjekt handelt.
  • Beispielsweise können die Messobjekte zu Messobjektklassen zugeordnet werden. Das neuronale Netz kann anhand von Messobjekten aus den Messobjektklassen trainiert werden.
  • Beispielsweise kann es sich bei den Messobjektklassen um Fahrzeug-Bleichteile wie Getriebegehäuse, Motorblöcke, Fahrzeugtüren oder Fahrzeugkofferraumklappen handeln. Die Messpositionen zu jedem Messobjekt können in einer beliebigen Reihenfolge bestimmt werden. Insbesondere kann die Bestimmung der Messposition zum Messobjekt parallel durchgeführt werden. Der Ausgangsvektor wird stets als gesamte Einheit angezeigt und beinhaltet alle Messpositionen, welche insbesondere auf einmal angezeigt werden. Das Messprogramm kann insbesondere die Messpositionen sequentiell bearbeiten.
  • Insbesondere wird nach der Trainingsphase dem künstlichen neuronalen Netz ein Eingangsvektor zur Verarbeitung übergeben, welcher bestimmte Merkmale umfasst. Daraus berechnet das neuronale Netz den Ausgangsvektor und zwar mithilfe der im Training festgelegten Gewichtungsfaktoren. Die Berechnung des Ausgangsvektors erfolgt durch das neuronale Netz beziehungsweise in den verdeckten Schichten beziehungsweise in den Verbindungen untereinander oder in Verbindung zum Ausgangsvektor oder in Abhängigkeit der Gewichtungsfaktoren oder auch der eingefügten Rückkopplung in dem neuronalen Netz. Insbesondere können im neuronalen Netz gleichzeitig mehrere Informationen beziehungsweise Eingangsvektoren nacheinander übergeben werden und diese werden in kürzester Zeit gleichzeitig als auch wieder parallel zu Ausgangsvektoren verarbeitet. Dadurch kann insbesondere das neuronale Netz anhand vorhergehender Messungen trainiert werden und anschließend kann das neuronale Netz die Messposition für das neue Messobjekt bestimmen, ohne dass die vorhergehenden Messungen durchsucht oder abgespeichert werden müssen. Dabei ergibt sich der Vorteil, dass die vorhergehenden Messungen nach dem Training nicht mehr gespeichert werden müssen. Dadurch kann insbesondere ein geringerer Zeitaufwand für das Netzwerk berücksichtigt werden und insbesondere wird die Verarbeitungszeit während der Vermessung des Messobjekts deutlich reduziert.
  • Vorzugsweise ist vorgesehen, dass zur aktuellen Bestimmung einer Messposition zumindest eine Kenngröße als Eingangsinformation im künstlichen neuronalen Netz bereitgestellt wird. Durch die Kenngröße wird zumindest indirekt das zu vermessende Messobjekt charakterisiert und das künstliche neuronale Netz wird diese Eingangsinformation der Kenngröße bei der Bestimmung der zumindest einen Messposition berücksichtigen: Insbesondere wird mit der zumindest einen Kenngröße ein Abmaß eines das Messobjekt virtuell umgebenden Hüllkörpers und/oder ein Seitenfeld des virtuellen Hüllkörpers und/oder ein Abstand eines Messobjektsschwerpunkts von einem Mittelpunkt des virtuellen Hüllkörpers und/oder einer Fläche einer Nullseite des Messobjekts und/oder ein Arbeitsbereich des Messsensors und/oder ein Messvolumen des Messsensors charakterisiert. Mithilfe der zumindest einen Kenngröße kann das Trainieren des künstlichen neuronalen Netzes bedarfsgerecht gestaltet werden, sodass im Nachgang eine besonders geeignete Messposition für die Vermessung des Messobjekts durch das neuronale Netz bestimmt werden kann.
  • Beispielsweise kann das Abmaß des das Messobjekt virtuell umgebenden Hüllkörpers die Abmaße der AABB-Begrenzungs Box, nachfolgend auch als AABB-Bounding Box bezeichnet, darstellen. Insbesondere besitzt die AABB-Bounding Box eine quaderförmige Struktur, welche durch drei unterschiedliche Seitenlängen A, B und C definiert werden kann. Die Seitenverhältnisse der AABB-Bounding Box oder des Hüllkörpers sind die Seitenverhältnisse A zu B oder B zu C oder die Seitenverhältnisse von A zu C.
  • Insbesondere besitzt die Bounding Box einen einfachen geometrischen Mittelpunkt. Das heißt, der Mittelpunkt ist der Schnittpunkt aus mindestens zwei Raumdiagonalen des Quaders der Bounding Box. Der Mittelpunkt kann beispielsweise aus mindestens vier gegenüberliegenden Eckpunkten der Bounding Box als Hüllkörper berechnet werden. Die Koordinaten und die Eckpunkte der Bounding Box wiederum können in einer Messsoftware des Messprogramms vorliegen und werden von einer Messsoftware des Messprogramms aus den CAD-Solldaten berechnet.
  • Ein Schwerpunkt des Messobjekts ist beispielsweise ein geometrischer Schwerpunkt, beispielsweise der Flächenschwerpunkt, des Messobjekts und dieser wird aus allen Punkten der CAD-Daten beziehungsweise der CAD-Solldaten des Messobjekts berechnet. Der Schwerpunkt und der Mittelpunkt der Bounding Box können bei einfachen geometrischen Körpern identisch sein, wie in einfachsten Fällen ein Würfel, Quader oder Kugel, können aber bei komplexeren Körpern verschieden sein. Beispielsweise können bei Blechteilen als Messobjekt die Blechteile größere Löcher aufweisen, was einen großen Einfluss auf die Position des Schwerpunktes des Messobjekts ausübt, jedoch gibt es keinen Einfluss auf den Mittelpunkt der Bounding Box.
  • Beispielsweise wird die Fläche der Nullseite des Messobjekts wie folgt definiert: Beispielsweise kann bei dem Blechteil als Messobjekt das Blechteil zwei großflächige Seiten und zu diesen relativ großflächigen Seiten einen kleine Blechstärke aufweisen. Dabei kann eine dieser großflächigen Seiten des Blechteils als Messobjekt als Nullseite bezeichnet werden. Insbesondere kann die zur Nullseite gegenüberliegende Seite als Gegenseite oder Materialseite bezeichnet werden. Insbesondere ist es heutzutage üblich, die CAD-Daten von diesem Blechteil als Messobjekt nur in Form von dessen Nullseite zu konstruieren (beispielsweise Flächenmodell), also ohne Ausdehnung in Richtung der Blechstärken. Die Fläche der Nullseite ist also der Flächeninhalt der einen Seite des Messobjekts, eben nur der Flächeninhalt einer der großflächigen Seiten beispielsweise und nicht der Flächeninhalt der gesamten Oberfläche des Messobjekts. Dahingehend ist beispielsweise ein Messobjekt, welches eine flächige Geometrie ohne wirkliche Wandstärke besitzt so zu betrachten, dass der Flächeninhalt der Oberfläche anzusetzen ist.
  • Beispielsweise können mit dem Arbeitsbereich unterschiedliche Bereiche innerhalb der Robotermesszelle, in welchen der Messsensor durch den Roboter bewegbar ist, bezeichnet werden. In einer solchen Robotermesszelle können sich prinzipiell mehrere Montageplatten befinden, womöglich mit unterschiedlichen Abmessungen, oder auch Drehtische, auf welchen sich das Messobjekt befindet. Je nach Arbeitsbereich, in welchem das zu betrachtende Messobjekt aufgebaut und später vermessen werden soll, kann ein unterschiedliches beziehungsweise speziell angepasstes Messprogramm bereitgestellt werden. Damit dieses insbesondere vom neuronalen Netz berücksichtigt werden kann, wird diesem eine Information über den zu betrachtenden beziehungsweise aktiven Arbeitsraum in der Messzelle dem neuronalen Netz übergeben.
  • Beispielsweise besitzt jeder Messsensor ein Messvolumen. Jeder Messsensor besitzt an der mindestens einen digitalen Kamera ein Objektiv, welches wiederum denjenigen Bereich definiert, in welchem der Messsensor scharfe Aufnahmen anfertigen kann. Das Messvolumen ist in der Regel ein würfel- oder quaderförmiger Bereich vor dem Messsensor und nur die in diesem Bereich liegenden Teile des Messobjekts werden vom Messsensor aufgenommen beziehungsweise nur diejenigen Oberflächenpunkte werden bei der späteren Verarbeitung berücksichtigt. Beispielsweise kann durch einen Wechsel der Objektive am Projektor und an den digitalen Kameras das Messvolumen verändert werden, also vergrößert oder verkleinert werden. Es ändert sich insbesondere damit aber auch der zu erzielende Messpunktabstand, da die Auflösung eines CCD-Kamerachips der digitalen Kamera die für die Aufnahme des Messobjekts benötigt werden konstant bleibt. Beispielsweise folgt aus einem großen Messvolumen ein größerer Messpunktabstand zwischen Messsensor und Messobjekt. Tabelle 1
    Nr. Merkmal Beschreibung Merkmal Zahlentyp Wertebereich Erfordert. Anzahl Bits / Neuronen
    1 Abmaße der AABB-Bounding Box X-AABB vorzeichenlose ganze Zahl 0..4095 [mm] 12
    Y-AABB vorzeichenlose ganze Zahl 0..4095 [mm] 12
    Z-AABB vorzeichenlose ganze Zahl 0..4095 [mm] 12
    2 Seitenverhältnisse X-Y vorzeichenlose Gleitkommazahl 0,0..15,5 [-] 15
    Y-Z vorzeichenlose Gleitkommazahl 0,0..15,5 [-] 15
    X-Z vorzeichenlose Gleitkommazahl 0,0..15,5 [-] 15
    3 Position des Schwerpunkts zum Mittelpunkt X-SW vorzeichenlose ganze Zahl 0..1023 [mm] 10
    Y-SW vorzeichenlose ganze Zahl 0..1023 [mm] 10
    Z-SW vorzeichenlose ganze Zahl 0..1023 [mm] 10
    4 Fläche des Messobjekts (Nullseite) F vorzeichenlose ganze Zahl 0,0..15,5 [m2] 15
    5 Arbeitsbereich (Nummer 0, 1, 2 oder 3 für einzelne Bereiche) A vorzeichenlose ganze Zahl 0..3 [-] 2
    6 Messvolumen (z.B. 0 = Messvolumen 1, 1 = Messvolumen 2) M vorzeichenlose ganze Zahl 0..1 [-] 1
  • Die vorhergehende Tabelle 1 dient zur Veranschaulichung eines Beispiels, wie viele Eingänge - entspricht den Eingangsneuronen - benötigt werden, um die erforderlichen Informationen in das künstliche neuronale Netz hinein zu transportieren. Das neuronale Netz hat eine Schicht an Neuronen auf der Eingangsseite und eine Schicht an Neuronen auf der Ausgangsseite. Jeder Neuron beziehungsweise jeder Eingang oder jeder Ausgang kann immer nur einen Zustand haben, nämlich 0 oder 1 beziehungsweise inaktiv oder aktiv. Insgesamt können beispielsweise im neuronalen Netz die Informationen über verschiedene Merkmale übergeben werden (siehe Spalte „Merkmale Beschreibung“). Die Merkmale werden durch einen oder mehrere Zahlenwerte repräsentiert, je nachdem, ob das Merkmal auch noch pro Koordinatenrichtung anzugeben ist. Die Spalte „Wertebereich“ der Tabelle 1 gibt insbesondere die Abmaße beziehungsweise Längenmaße der beschriebenen Merkmale in Millimeter beziehungsweise Quadratmeter an. Die erforderliche Anzahl an Bits beziehungsweise Neuronen (siehe die letzte Spalte der Tabelle 1) wird quasi als binäre Darstellung widergespiegelt und je nach Größe des Wertebereichs muss die Anzahl der dafür benötigten Bits dargestellt werden. Beispielsweise wird bei einem Abmaß der AABB Bounding-Box von 4.095 Millimeter 12 Bits benötigt. Dabei sollen die Zahlenwerte insbesondere als vorzeichenlose ganze Zahlen oder als vorzeichenlose Gleitkommazahlen dargestellt werden.
  • Die Abmaße der Bounding-Box bilden ein Merkmal, wobei dieses Merkmal aus drei Zahlenwerten besteht, nämlich jeweils eine Zahl pro Achsenrichtung (x, y und z). Unter Berücksichtigung der üblichen bekannten Abmaße der Messobjekte kann nun beispielsweise pro Achsrichtung ein Wert - entspricht einem Abmaß - von 0 bis 4.095 Millimeter angegeben werden. Diese Zahl kann dem neuronalen Netz aber nicht als Ganzes übergeben werden, sondern muss als Binärzahl auf mehrere Eingänge mit je einer Information verteilt werden. Die Zahlen von 0 bis 4.095 Millimeter können nur mithilfe einer zwölfstelligen Primärzahl dargestellt werden. Eine Vorzeicheninformation ist nicht erforderlich, da es keine negativen Abmaße gibt. Insgesamt befinden sich auf der Eingangsseite des neuronalen Netzwerkes sechs beschreibende Merkmale (siehe die sechs Zeilen der Tabelle 1). Beispielsweise kann das neuronale Netz die Informationen über die in der ersten Tabelle 1 aufgeführten Merkmale enthalten. Dabei sind insbesondere 129 Bits oder 129 Neuronen erforderlich. Dabei besitzt das neuronale Netz hier beispielhaft 129 Eingänge, mit welchen die Messpositionen berechnet werden können.
  • Vorzugsweise ist vorgesehen, dass zumindest zwei verschiedene neuronale Netze für individuelle Arbeitsbereiche und/oder Messvolumen trainiert werden. Durch Trainieren von zwei verschiedenen neuronalen Netzen kann der Eingangsvektor des neuronalen Netzes verkleinert werden und dadurch kann insbesondere die Trainingsphase des neuronalen Netzes bezüglich der Messpositionsbestimmung verkürzt und die spätere Rechenzeit bis zur Ergebnisausgabe aus dem neuronalen Netz verkürzt werden. Dabei berechnet insbesondere jedes neuronale Netz alle Messpositionen für das aktuelle Messobjekt. Beispielsweise kann für einen ersten Arbeitsbereich und ein erstes Messvolumen ein eigenes neuronales Netz und für einen zweiten Arbeitsbereich und ein zweites Messvolumen ein weiteres neuronales Netz bereitgestellt werden. Dadurch werden diese Arbeitsbereiche und Messvolumen separat berechnet. Dadurch werden diese Informationen nicht mehr an der Eingangsseite des neuronalen Netzes übergeben und die dafür benötigten Neuronen beziehungsweise Bits entfallen. Damit wird insbesondere die Größe der Eingangsseite verkleinert und es werden nur noch 126 Bits anstelle von den 129 Bits der Tabelle 1 benötigt. Tabelle 2
    Nr. Merkmal Beschreibung Merkmal Zahlentyp Wertebereich Erfordert. Anzahl Bits / Neuronen
    1 Abmaße der AABB-Bounding Box X-AABB vorzeichenlose ganze Zahl 0..4095 [mm] 12
    Y-AABB vorzeichenlose ganze Zahl 0..4095 [mm] 12
    Z-AABB vorzeichenlose ganze Zahl 0..4095 [mm] 12
    2 Seitenverhältnisse X-Y vorzeichenlose Gleitkommazahl 0,0..15,5 [-] 15
    Y-Z vorzeichenlose Gleitkommazahl 0,0..15,5 [-] 15
    X-Z vorzeichenlose Gleitkommazahl 0,0..15,5 [-] 15
    3 Position des Schwerpunkts zum Mittelpunkt X-SW vorzeichenlose ganze Zahl 0..1023 [mm] 10
    Y-SW vorzeichenlose ganze Zahl 0..1023 [mm] 10
    Z-SW vorzeichenlose ganze Zahl 0..1023 [mm] 10
    4 Fläche des Messobjekts (Nullseite) F vorzeichenlose ganze Zahl 0,0..15,5 [m2] 15
  • In der vorstehenden Tabelle 2 ist im Gegensatz zur Tabelle 1 das Merkmal Nummer 5 und 6 (siehe Tabelle 1) weggefallen. Dadurch ergeben sich weniger Bits beziehungsweise Neuronen des Eingangsvektors der Eingangsseite des neuronalen Netzes. Durch die vereinfachten Eingangsvektoren kann die Berechnung der Messpositionen des Messobjekts effizienter gestaltet werden. Insbesondere können die Informationen über Arbeitsbereich und das Messvolumen in einem neuronalen Netz enthalten sein. Beispielsweise wird durch eine Software entschieden, welches neuronale Netz den benötigten Arbeitsbereich und/oder das benötigte Messvolumen bereitstellt. Dadurch kann diese Rechenleistungen bereits im Vorfeld der eigentlichen Messpositionsbestimmung durchgeführt werden kann.
  • In einer weiteren vorteilhaften Ausgestaltung der Erfindung ist vorgesehen, dass das neuronale Netz als Ausgangsinformationen Neuronen ausgibt, welche die bestimmte Messposition auf das Messobjekt im Raum und die Orientierung des Messsensors an der Messposition im Raum und/oder relativ zum Messobjekt definieren. Das neuronale Netz bekommt an der Eingangsseite des neuronalen Netzes die Eingangsvektoren beziehungsweise Eingangsgrößen (siehe Tabelle 1 „Merkmal Beschreibung“). Anhand dieser Eingangsvektoren beziehungsweise des Beschreibungsmerkmals generiert das neuronale Netz Ausgangsvektoren, welche insbesondere als Neuronen dargestellt werden. Mit diesen Ausgangsvektoren beziehungsweise Neuronen wird in einem dreidimensionalen Raum beziehungsweise in der Messzelle der Messsensor beziehungsweise der Messroboter so positioniert, dass die ideale Messposition für die Vermessung des Messobjekts erreicht werden kann. Ebenso wird mithilfe der Ausgangsvektoren beziehungsweise Neuronen die Orientierung des Messsensors an der Messposition dargestellt, sodass das Messobjekt ideal vermessen werden kann.
  • Vorzugsweise ist vorgesehen, dass die Neuronen mit einem Voxel, mit welchem derjenige Raumbereich beschrieben wird, in welchem der Messsensor im Bezug zum Messobjekt positioniert werden kann, charakterisiert werden. Insbesondere wird jedem der Neuronen ein Positionsvoxel des Voxel-Bits zugeordnet, wobei mit der Voxelposition eine Messposition des Messsensors durch das neuronale Netzwerk bereitgestellt wird. Zur Bestimmung einer Orientierung des Messsensors an der Messposition wird ein zu dem Messpositionsvoxel benachbartes Orientierungsvoxel durch das neuronale Netzwerk bereitgestellt.
  • Ein Voxel bezeichnet in der Computergrafik einen Gitterpunkt in einem dreidimensionalen Gitter. Bei Voxeln wird die Position jedes Voxels nicht explizit gespeichert, sondern implizit aus der Position zu anderen Voxeln hergeleitet.
  • Beispielsweise werden die Neuronen dadurch definiert, indem derjenige dreidimensionale Raumbereich, in welchem der Messsensor für die Messaufnahmen in Bezug zum Messobjekt überhaupt sinnvollerweise positioniert werden kann, in ein Voxelgitter mit einer geeigneten Auflösung überführt. Dies wird insbesondere mit dem neuronalen Netzwerk durchgeführt. Ist insbesondere jedem Neuron der Ausgangsschicht des neuronalen Netzes ein Voxel dieses Voxelgitters zugeordnet, so kann das künstliche neuronale Netz die Messposition durch Setzen eines entsprechenden Voxels anzeigen. Beispielsweise kann für die Anzeige der Orientierung des Messsensors ein zu diesem ersten Voxel beziehungsweise Positionsvoxel benachbartes zweites Voxel beziehungsweise Orientierungsvoxel herangezogen werden, so entsteht eine Aussage über die erforderliche Orientierung des Messsensors an dieser Messposition. Insbesondere werden die berechneten Messpositionen durch das neuronale Netz jeweils einem bestimmten Voxel zugeordnet, wobei jedes Voxel mit einer bestimmten Nummer gekennzeichnet wird, wobei in diesem Fall die Voxelnummer gleich der Stelle des Ausgangsbites im gesamten Ausgangsvektor darstellt. Durch Kombination zweier Voxel, insbesondere die Kombination des Positionsvoxels und des Orientierungsvoxels, kann die Orientierung des Messsensors an der Messposition bestimmt beziehungsweise definiert werden. Insbesondere kann nach der Zuordnung jedes bestimmten Voxels zu jeder Messposition des Messprogramms alle Daten für das Trainieren des neuronalen Netzes vorgelegt werden.
  • Beispielsweise werden mit einem Quader alle möglichen Messpositionen dargestellt. Dabei hat der Quader die Abmaße x = 3.200 Millimeter, y = 1.200 Millimeter und z = 2.200 Millimeter. Bei einer ausreichenden Messsensorpositionierung alle 100 Millimeter in den verschiedenen Raumachsen ergibt sich also eine Voxelkantenlänge von 100 Millimeter und damit die Anzahl von 8.448 Voxel für diesen Quader beziehungsweise ein Ausgangsvektor von 8.448 Bit beziehungsweise Neuronen. Beispielsweise können alle Voxel durchnummeriert werden. So ergibt sich für den Voxel n dessen Verwendung als Messposition durch die Betrachtung des Bits n-1 des Ausgangsvektors. Ist das Bit n-1 gesetzt, also gleich 1, so wird das Voxel n als Messposition verwendet. Ist das Voxel n gleich 0, so ist dies keine Messposition. Durch die Umrechnung der beiden Voxelnummern des Positionsvoxels und des Orientierungsvoxels ergibt sich die (x, y, z)-Koordinate sowie der (i, j, k)-Richtungsvektor des Messsensors im Koordinatensystem des betrachteten Messobjekts und kann damit als Messposition im Messprogramm verwendet werden. Beispielsweise kann bei Verwendung der zwei verschiedenen neuronalen Netze für den Arbeitsbereich und das Messvolumen ebenso die Anzahl an Voxel reduziert werden. Insbesondere kann bei größerem Messvolumen der Auflösung des Voxelgitters für die Ausgangsvektoren reduziert werden. Ein großes Messvolumen des Messsensors erfordert innerhalb des Quaders, in welchem der Messsensor die verbaute Messposition einnehmen kann, nur eine geringe Anzahl von möglichen Messpositionen und Messorientierungen. Betrachtet man wieder den vorher beschriebenen Quader aller möglichen Messpositionen, so ergeben sich aus einer ausreichenden Messsensorpositionierung alle 250 Millimeter in den verschiedenen Raumachsen aufgrund eines größeren Messvolumens eine Voxelkantenlänge von 250 Millimeter und die Anzahl von nur 540 Voxeln für diesen Quader beziehungsweise Ausgangsvektor von lediglich 540 Bits beziehungsweise Neuronen.
  • Ein weiterer Aspekt der Erfindung betrifft ein Computerprogrammprodukt aufweisend Befehle, die bei Ausführen des Computerprogrammprodukts durch einen Computer diesen veranlassen, das Verfahren nach einem der vorher ausgeführten und geschilderten Aspekte auszuführen. Beispielsweise kann das Computerprogrammprodukt Teil des Messprogramms zur Vermessung des Messobjekts sein. Insbesondere kann das Computerprogrammprodukt in einer Einheit des Messroboters integriert beziehungsweise implementiert sein. Insbesondere kann das Computerprogrammprodukt dazu verwendet werden, eine Messposition für einen beweglichen optischen Messsensor, welcher ein Messobjekt berührungslos vermessen kann, zu bestimmen.
  • Ein weiterer Aspekt der Erfindung betrifft ein Programmiersystem aufweisend wenigstens einen Computer und wenigstens ein auf diesem Computer ausführbares Computerprogrammprodukt zur Bestimmung einer Messposition gemäß einem Verfahren nach einem der vorher geschildeten Aspekte. Mithilfe des Programmiersystems, welches beispielsweise Teil des Messprogramms beziehungsweise des Messroboters sein kann, kann eine Messposition für einen Messsensor zur Vermessung eines Messobjekts bestimmt werden. Beispielsweise kann mit dem Programmiersystem ein Messprogramm für die Vermessung eines Messobjekts erstellt werden. Bevorzugt ist vorgesehen, dass dieses Progammiersystem eine weitgehend automatisierte Erstellung eines Messprogramms ermöglicht, wobei insbesondere auch die vorausgehenden und nachfolgenden erläuterten Weiterbildungen und Ausgestaltungen des erfindungsgemäßen Verfahrens weitgehend automatisch ausführbar sind, sofern nicht anders angegeben.
  • Ein weiterer Aspekt der Erfindung betrifft ein Messsystem zum Vermessen eines Messobjekts mit zumindest einem Messsensor und einem zum Messsensor zugehörigen Messroboter sowie aufweisend ein Programmiersystem nach einem der vorher geschilderten Aspekte. Mithilfe des Messsystems kann insbesondere durch ein vom Programmiersystem erzeugtes Messprogramm ein Messobjekt vermessen werden. Die Vermessung erfolgt dabei mittels eines Messsensors, welcher mit einem Messroboter in einer Robotermesszelle beweglich gesteuert werden kann. Insbesondere wird mit dem Programmiersystem eine Messposition für den Messsensor zur Vermessung des Messobjekts bestimmt.
  • Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen.
  • Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt:
    • 1 zeigt eine perspektivische Ansicht einer Robotermesszelle;
    • 2 zeigt eine weitere perspektivische Ansicht einer Robotermesszelle; und
    • 3 eine schematische Darstellung eines Voxel-Gitters.
  • Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.
  • In den Figuren bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.
  • 1 zeigt einen Messroboter 1, an dessen Hand zumindest ein berührungslos messender Messsensor 2 befestigt ist, der mit dem Messroboter 1 innerhalb einer Robotermesszelle 3 bewegt werden kann. Bei dem Messroboter 1 handelt es sich um einen Mehrachs-Industrieroboter. Bei dem Messsensor 2 handelt es sich beispielsweise um einen optischen Messsensor. Beispielsweise ist ein Messobjekt 4, welches sich innerhalb der Robotermesszelle 3 befindet, als pyramidenstumpfförmiges Messobjekt dargestellt. Beispielsweise kann mit dem optischen Messsensor 2 das Messobjekt 4 vermessen werden. Bei dem Messobjekt 4 kann es sich beispielsweise um ein Karosserie-Blechteil mit räumlicher Gestaltung handeln. Zur Messung des Messobjekts 4 wird der optische Messsensor 2 mittels des Messroboters 1 nach einem vorgegeben Ablauf- und Bewegungsschema in verschiedene Messpositionen 5 bewegt. Beispielsweise weist der Messsensor 2 einen Projektor sowie mindestens eine digitale Kamera auf. Insbesondere kann eine digitale Kamera an der linken Seite und eine zweite digitale Kamera an der rechten Seite des Projektors des Messsensors 2 angebracht werden. Beispielsweise kann der Messsensor 2 mithilfe des Messroboters 1 an eine vorgegebene Messposition 5 auf das Messobjekt 4 verfahren werden. Insbesondere startet der Messsensor 2 über den Projektor die Projektion einer bestimmten Sequenz von verschiedenen Streifenmustern auf das Messobjekt 4. Beispielsweise kann dies mit einem Streifenprojektionssystem durchgeführt werden. Beispielsweise kann mit einem Messprogramm der Messsensor 2 beziehungsweise der Messroboter 1 so angesteuert werden, dass das Messobjekt 4 ideal vermessen werden kann.
  • Insbesondere wird zumindest eine Messposition 5 für den beweglichen optischen Messsensor 2, mit welchem das Messobjekt 4 berührungslos vermessen werden kann bestimmt. Die Messposition 5 kann als Raumpunkt 13 innerhalb eines virtuellen Hüllkörpers 14, welcher insbesondere alle potentiellen Messpositionen 5 auf das Messobjekt 4 umgibt, charakterisiert werden.
  • Insbesondere werden einem künstlichen neuronalen Netz 6 Lerndaten übergeben und das künstliche neuronale Netz 6 wird zum Bestimmen von zumindest der einen Messposition 5 anhand der Lerndaten trainiert. Insbesondere kann für eine aktuelle Bereitstellung der Messposition 5 zum Vermessen des aktuellen Messobjekts 4 die Messposition 5 mit dem trainierten künstlichen neuronalen Netz 6 automatisch bestimmt werden.
  • Beispielsweise können als Lerndaten in der Vergangenheit erzeugte Messinformationen von zumindest einem Messobjekt 4 bereitgestellt werden. Beispielsweise kann mit der Messinformation mittels Ermittlung möglicher Messpositionen 5 aus einem Dreiecksnetz eine Oberfläche eines Messobjekts 4 erzeugt werden. Ebenfalls kann durch Hinzufügen weiterer potentieller Messpositionen 5 durch Verschieben und Drehen des Messsensors 2 an wenigstens einer der zuvor berechneten Messposition 5 die Messinformation erzeugt werden. Ebenso kann durch Herausfiltern ungeeigneter Messpositionen 5 und/oder durch Simulation der Messung zur Ermittlung der Qualität einer jeden Messposition 5 die Messinformation erzeugt werden. Beispielsweise kann die Messinformation mit dem neuronalen Netz 6 erzeugt werden.
  • Das neuronale Netz 6 kann anhand der Lerndaten trainiert werden. Ebenso werden beim Trainieren spezifische Gewichtungsfaktoren und/oder spezifische Verarbeitungsrückkopplungen in dem neuronalen Netz 6 und/oder die spezifischen Verarbeitungsverknüpfungen zwischen Schichten des neuronalen Netzes 6 und/oder Bestimmungsverknüpfungen zwischen Eingangsinformationen und daraus zu erzeugende Ausgangsinformationen erzeugt. Diese Informationen bilden die spezifische Basis, um abhängig davon dann im Nachfolgenden Messpositionen automatisch mit dem neuronalen Netz bedarfsgerecht zu erzeugen. Bei einer Bestimmung von Messpositionen 5 können diese als Ausgangsinformationen auf Basis der Eingangsinformationen und Gewichtungsfaktoren und/oder Verarbeitungsrückkopplungen und/oder Verarbeitungsverknüpfungen und/oder Bestimmungsverknüpfungen erzeugt werden.
  • Beispielsweise kann zur Bestimmung der Messpositionen 5 zumindest eine Kenngröße als Eingangsinformation dem künstlichen neuronalen Netz 6 bereitgestellt werden. Insbesondere kann durch die Kenngröße zumindest indirekt das zu vermessende Messobjekt 4 charakterisiert werden und das künstliche neuronale Netz 6 diese Eingangsinformation der Kenngröße bei der Bestimmung der zumindest einen Messposition 5 berücksichtigen. Insbesondere kann mit der zumindest einen Kenngröße ein Abmaß eines des Messobjekts 4 virtuell umgebenden Hüllkörpers 14 und/oder ein Seitenfeld des virtuellen Hüllkörpers 14 und/oder ein Abstand eines Messobjektschwerpunkts von einem Mittelpunkt des virtuellen Hüllkörpers 14 und/oder eine Fläche einer Nullseite des Messobjekts 4 und/oder ein Arbeitsbereich des Messsensors 2 und/oder ein Messvolumen des Messsensors 2 charakterisiert werden. Beispielsweise können zwei verschiedene neuronale Netze 6 für individuelle Arbeitsbereiche und/oder Messvolumen trainiert werden.
    Beispielsweise können der Messsensor 2 und der Messroboter 1 und ein Programmiersystem Teil eines Messsystems 7 sein. Mit dem Messsystem 7 kann insbesondere das Messobjekt 4 vermessen werden.
  • Die 2 zeigt eine seitliche Ansicht der Robotermesszelle 3 mit dem Messsystem 7, welches den Messroboter 1 und den Messsensor 2 umfasst. Insbesondere wird das Messobjekt 4 an einer Montageplatte 8 befestigt. Die Montageplatte 8 befindet sich innerhalb der Robotermesszelle 3. Insbesondere kann der Messsensor 2 einen bestimmten Abstand von der Oberfläche des Messobjekts 4 aufweisen.
  • Insbesondere wird derjenige Raumbereich, welcher dem Messsensor 2 in Bezug zum Messobjekt 4 für mögliche Positionierungen von Messpositionen 5 zur Verfügung gestellt wird, mit einem Voxelgitter 9 abgedeckt. Dabei wird das Voxelgitter 9 in mehrere Voxel 10 unterteilt.
  • In der 3 ist eine schematische Darstellung des Voxelgitters 9 dargestellt. Insbesondere kann neben der Neuronen, welche das neuronale Netz 6 als Ausgangsinformation ausgibt, ein Positionsvoxel 11 des Voxelgitters 9 zugeordnet werden. Mit dem Positionsvoxel 11 kann eine Messposition 5 des Messsensors 2 des Messroboters 1 durch das neuronale Netz 6 bereitgestellt werden. Insbesondere kann zur Bestimmung einer Orientierung des Messsensors 2 an der Messposition 5 ein zu dem Positionsvoxel 11 benachbartes Orientierungsvoxel 12 durch das neuronale Netz 6 bereitgestellt werden. Mit dem Positionsvoxel 11 und dem Orientierungsvoxel 12 kann insbesondere die Lage und Ausrichtung des Messsensors 2 in der Robotermesszelle 3 definiert werden. Diese Informationen werden insbesondere durch das neuronale Netz 6 bereitgestellt. Die Voxel 10 werden insbesondere über den Ausgangsvektoren des neuronalen Netzes 6 als Neuronen ausgegeben. Dabei verwendet das neuronale Netz 6 die zuvor beschriebenen Kenngrößen zur Berechnung der Neuronen. Insbesondere erfolgt die Bestimmung der Voxel durch das neuronale Netz 6 eigenständig und automatisch. Insbesondere wird das neuronale Netz 6 anhand der Lerndaten trainiert. Daher können insbesondere das Messobjekt 4 durch den Messsensor 6 und den automatisch erzeugten Messpositionen 5 für den Messsensor 2 vermessen werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102017007765 A1 [0010]
    • WO 2016/095882 A1 [0011]
    • DE 102012024934 A1 [0012, 0013]

Claims (10)

  1. Verfahren zum Bestimmen von zumindest einer Messposition (5) für einen beweglichen optischen Messsensor (2), mit welchem ein Messobjekt (4) berührungslos vermessen werden kann, wobei mit der Messposition (5) ein Raumpunkt (13) innerhalb eines virtuellen Hüllkörpers (14), welcher potentielle Messpositionen (5) auf das Messobjekt (4) umgibt, charakterisiert wird, dadurch gekennzeichnet, dass zumindest einem künstlichen neuronale Netz (6) Lerndaten übergeben werden und das künstliche neuronale Netz (6) zum Bestimmen von zumindest einer Messposition (5) anhand der Lerndaten trainiert wird, wobei für eine aktuelle Bereitstellung einer Messposition (5) zum Vermessen eines aktuellen Messobjekts (4) die Messposition (5) mit dem trainierten künstlich neuronalen Netz (6) automatisch bestimmt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass als Lerndaten in der Vergangenheit erzeugte Messinformationen von zumindest einem Messobjekt (4) bereitgestellt werden.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Messinformationen zumindest teilweise mittels folgender Schritte erzeugt werden: - Ermittlung möglicher Messpositionen (5) aus einem Dreiecksnetz einer Oberfläche eines Messobjekts (4), wobei vorzugsweise für jede Dreiecksfacette eine Messposition (5) erzeugt wird, - Hinzufügen weiterer potentieller Messpositionen (5) durch Verschieben und Drehen des Messsensors (2) an wenigstens einer der zuvor berechneten Messpositionen (5), - insbesondere Herausfiltern ungeeigneter Messpositionen (5), - insbesondere Simulation der Messung zur Ermittlung der Qualität einer jeden Messposition (5).
  4. Verfahren nach einem der vorhergehende Ansprüche, dadurch gekennzeichnet, dass beim Trainieren anhand der Lerndaten für Eingangsinformationen, die nach dem Trainieren von dem neuronalen Netz (6) für der Bestimmung von Messpositionen (5) empfangen werden, spezifische Gewichtungsfaktoren und/ oder spezifische Verarbeitungsrückkopplungen in dem neuronalen Netz (6) und/oder spezifische Verarbeitungsverknüpfungen zwischen Schichten des neuronalen Netzes (6) und/oder Bestimmungsverknüpfungen zwischen Eingangsinformationen und daraus zu erzeugenden Ausgangsinformationen erzeugt werden, wobei im Nachfolgenden bei einer Bestimmung von Messpositionen (5) derartige als Ausgangsinformationen auf Basis der Eingangsinformationen und der beim Trainieren erzeugten Gewichtungsfaktoren und/oder Verarbeitungsrückkopplungen und/oder Verarbeitungsverknüpfungen und/oder Bestimmungsverknüpfungen erzeugt werden.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zur aktuellen Bestimmung einer Messposition (5) zumindest eine Kenngröße als Eingangsinformation dem künstlichen neuronalen Netz (6) bereitgestellt wird, wobei durch die Kenngröße zumindest indirekt das zu vermessende Messobjekt (4) charakterisiert wird und das künstliche neuronale Netz (6) diese Eingangsinformation der Kenngröße bei der Bestimmung der zumindest einen Messposition (5) berücksichtigt, insbesondere wird mit der zumindest einen Kenngröße ein Abmaß eines das Messobjekt (4) virtuell umgebenden Hüllkörpers (14) und/oder ein Seitenverhältnis des virtuellen Hüllkörpers (14) und/oder ein Abstand eines Messobjektsschwerpunkts von einem Mittelpunkt des virtuellen Hüllkörpers (14) und/oder eine Fläche einer Nullseite des Messobjekts (4) und/oder ein Arbeitsbereich des Messsensors (2) und/oder ein Messvolumen des Messsensors (2) charakterisiert.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest zwei verschiedene neuronale Netzwerke (6) für individuelle Arbeitsbereiche und/oder Messvolumen trainiert werden.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das neuronale Netz (6) als Ausgangsinformationen Neuronen ausgibt, welche die bestimmte Messposition (5) auf das Messobjekt (4) im Raum und die Orientierung des Messsensors (2) an der Messposition im Raum und/oder relativ zum Messobjekt (4) definieren.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Neuronen mit einem Voxel-Gitter (9), mit welchem derjenige Raumbereich beschrieben wird, in welchem der Messsensor (2) im Bezug zum Messobjekt (4) positioniert werden kann, charakterisiert werden, insbesondere wird jedem der Neuronen ein Positionsvoxel (11) des Voxel-Gitters(9) zugeordnet, wobei mit dem Positionsvoxel (11) eine Messposition (5) des Messsensors (2) durch das neuronale Netz (6) bereitgestellt wird, insbesondere wird zur Bestimmung einer Orientierung des Messsensors (2) an der Messposition (5) ein zu dem Positionsvoxel (11) benachbartes Orientierungsvoxel (12) durch das neuronale Netz (6) bereitgestellt.
  9. Computerprogrammprodukt aufweisend Befehle, die bei der Ausführung des Computerprogrammprodukts durch einen Computer diesen veranlassen, das Verfahren nach einem der Ansprüche 1 bis 8 auszuführen.
  10. Programmiersystem aufweisend wenigstens einen Computer und wenigstens ein auf diesem Computer ausführbares Computerprogrammprodukt zur Bestimmung einer Messposition (5) gemäß einem Verfahren nach einem der vorhergehenden Ansprüche 1 bis 8.
DE102019202249.9A 2019-02-19 2019-02-19 Verfahren zum Bestimmen von einer Messposition für einen beweglichen optischen Messsensor, sowie Computerprogrammprodukt und Programmiersystem Ceased DE102019202249A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019202249.9A DE102019202249A1 (de) 2019-02-19 2019-02-19 Verfahren zum Bestimmen von einer Messposition für einen beweglichen optischen Messsensor, sowie Computerprogrammprodukt und Programmiersystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019202249.9A DE102019202249A1 (de) 2019-02-19 2019-02-19 Verfahren zum Bestimmen von einer Messposition für einen beweglichen optischen Messsensor, sowie Computerprogrammprodukt und Programmiersystem

Publications (1)

Publication Number Publication Date
DE102019202249A1 true DE102019202249A1 (de) 2020-08-20

Family

ID=71843828

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019202249.9A Ceased DE102019202249A1 (de) 2019-02-19 2019-02-19 Verfahren zum Bestimmen von einer Messposition für einen beweglichen optischen Messsensor, sowie Computerprogrammprodukt und Programmiersystem

Country Status (1)

Country Link
DE (1) DE102019202249A1 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19957366C1 (de) * 1999-11-29 2001-04-05 Daimler Chrysler Ag Verfahren zur Festlegung von Meßpositionen und Verfahren zur Planung von Meßbahnen für die Vermessung eines Objektes oder eines Teiles davon sowie Verfahren und Vorrichtung zur Vermessung eines Objektes oder eines Teiles davon
DE102005037837A1 (de) * 2005-08-08 2007-02-15 Daimlerchrysler Ag Verfahren und Vorrichtung zur Erstellung eines Messplans zur Vermessung eines 3D-Messobjekts
DE102012024934A1 (de) * 2012-12-19 2014-06-26 Audi Ag Verfahren und Programmiersystem zur erstmaligen Erstellung eines auf einem Messroboter ausführbaren Messprogramms für die Messung eines neuen Messobjekts
WO2016095882A1 (de) * 2014-12-16 2016-06-23 Balluff Gmbh Berührungsloser positions-/abstandssensor mit einem künstlichen neuronalen netzwerk und verfahren zu seinem betrieb
DE102017007765A1 (de) * 2017-08-16 2018-01-25 Daimler Ag Verfahren zur Kalibrierung von Sensoren eines Fahrzeugs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19957366C1 (de) * 1999-11-29 2001-04-05 Daimler Chrysler Ag Verfahren zur Festlegung von Meßpositionen und Verfahren zur Planung von Meßbahnen für die Vermessung eines Objektes oder eines Teiles davon sowie Verfahren und Vorrichtung zur Vermessung eines Objektes oder eines Teiles davon
DE102005037837A1 (de) * 2005-08-08 2007-02-15 Daimlerchrysler Ag Verfahren und Vorrichtung zur Erstellung eines Messplans zur Vermessung eines 3D-Messobjekts
DE102012024934A1 (de) * 2012-12-19 2014-06-26 Audi Ag Verfahren und Programmiersystem zur erstmaligen Erstellung eines auf einem Messroboter ausführbaren Messprogramms für die Messung eines neuen Messobjekts
WO2016095882A1 (de) * 2014-12-16 2016-06-23 Balluff Gmbh Berührungsloser positions-/abstandssensor mit einem künstlichen neuronalen netzwerk und verfahren zu seinem betrieb
DE102017007765A1 (de) * 2017-08-16 2018-01-25 Daimler Ag Verfahren zur Kalibrierung von Sensoren eines Fahrzeugs

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Evolutionärer Algorithmus. 27.10.2018, https://de.wikipedia.org/w/index.php?title=Evolution%C3%A4rer_Algorithmus&oldid=182208147 [online]. In: Wikipedia *
Künstliches neuronales Netz. 24.12.2018, https://de.wikipedia.org/w/index.php?title=K%C3%BCnstliches_neuronales_Netz&oldid=184002812 [online]. In: Wikipedia *

Similar Documents

Publication Publication Date Title
DE112012005657T5 (de) Computerprogrammprodukt und Verfahren zum Erzeugen und Simulieren eines Modells eines Objekts
DE3608438A1 (de) Verfahren zum berechnen von freien gekruemmten flaechen mittels computergestuetztem design cad und computergestuetzter herstellung cam und numerischer steuerung nc
DE112006003361T5 (de) Verfahren und Vorrichtung für das Aufzeichnen/Anzeigen von dreidimensionalen Formdaten und Verfahren und Vorrichtung für das Messen einer dreidimensionalen Form
DE10144932A1 (de) Visualisierung von Werkstücken bei der Simulation von Fräsprozessen
DE102011003653A1 (de) Verfahren zum Gewinnen eines 3D-Bilddatensatzes zu einem Bildobjekt
DE102005037837A1 (de) Verfahren und Vorrichtung zur Erstellung eines Messplans zur Vermessung eines 3D-Messobjekts
DE102018113336A1 (de) Verfahren zum Verwenden mit einer Maschine zum Einstellen einer Erweiterte-Realität-Anzeigeumgebung
DE102005032687A1 (de) Verfahren und Anordnung zum Auswerten eines Koordinaten-Datensatzes eines Messobjekts
DE102012024934B4 (de) Verfahren und Programmiersystem zur erstmaligen Erstellung eines auf einem Messroboter ausführbaren Messprogramms für die Messung eines neuen Messobjekts
EP3751261B1 (de) Verfahren und vorrichtung zum kalibrieren eines röntgensystems
DE102019102927A1 (de) Verfahren und Vorrichtung zum Bestimmen von dimensionalen und/oder geometrischen Eigenschaften eines Messobjekts
DE102015220031A1 (de) Verfahren zur Konfidenzabschätzung für optisch-visuelle Posenbestimmung
DE102014103137A1 (de) Verfahren zur Bestimmung und Korrektur von Oberflächendaten zur dimensionellen Messung mit einer Computertomografiesensorik
DE112014002120T5 (de) System und Verfahren zur Durchführung von Operationen zum Rückgängigmachen und Wiederherstellen während der Bearbeitungssimulation
DE102018218611B4 (de) Verfahren und Recheneinrichtung zum Erzeugen eines dreidimensionalen CAD-Modells
DE102019202249A1 (de) Verfahren zum Bestimmen von einer Messposition für einen beweglichen optischen Messsensor, sowie Computerprogrammprodukt und Programmiersystem
DE102022130341A1 (de) Punktmengen-störungsprüfung
EP3775773B1 (de) 3-d-objekt-erfassungssystem
WO2007090557A2 (de) Verfahren zum erzeugen eines umgebungsbildes
DE102012203117A1 (de) Verfahren und System zur Ermittlung eines Begrenzungsflächennetzes
WO2020164827A1 (de) Computerimplementiertes verfahren zur bestimmung von oberflächen in messdaten
DE102019122189A1 (de) Verfahren zum Erkennen von Objekten
DE112019007337T5 (de) Kalibrierungsverfahren sowie -vorrichtung, 3DUmgebungsmodellierungsverfahren sowie -vorrichtung, Computerspeichermedium und Bedienplattform für Industrieroboter
DE102018215983A1 (de) Berechnung von Belichtungsbahnen mit geringem Bauteilverzug
EP4130656B1 (de) Vorbereitung der auswertung von stichproben von messwerten einer messgrösse aus einer vermessung einer vielzahl von werkstücken durch ein oder mehrere koordinatenmessgeräte

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R016 Response to examination communication
R003 Refusal decision now final