-
TECHNISCHES GEBIET
-
Die vorliegende Beschreibung betrifft das Gebiet der 3D-Sensorsystem zur räumlichen Erfassung von Gegenständen (3D-Scanner).
-
HINTERGRUND
-
3D-Sensoren werden in einer Vielzahl von Applikationen eingesetzt. Derartige Sensoren können unterschiedliche Messprinzipien verwenden, wie z.B. Lasertriangulation, Deflektometrie, Laufzeitverfahren (z.B. sogenannte Time-of-Flight-Kameras), etc. Der Begriff 3D-Sensor umfasst im Allgemeinen alle Vorrichtungen, die für einen oder mehrere Punkte im Raum eine oder mehrere Größen liefern, aus denen ein Abstand und/oder die Richtung des Punkts relativ zu einem Referenzpunkt mit bekannter Position ermittelt werden kann.
-
Ein einzelner 3D-Sensor ist in der Regel nicht in der Lage ein Objekt vollständig räumlich zu erfassen, ohne dass entweder der Sensor oder das Objekt sich bewegt. Der Grund hierfür liegt in der Tatsache, dass ein einzelner Sensor das Objekt nur von einer Seite sieht und die gegenüber liegende Seite (Rückseite) des Objekts nicht im „Sichtfeld“ des Sensors liegt. Aus diesem Grund werden derartige Sensoren häufig auch als 2,5D-Sensoren bezeichnet. Um eine echte 3D-Abbildung eines Objekts zu erhalten müssen entweder das Objekt oder der Sensor bewegt oder der optische Pfad zwischen Sensor und Objekt verändert werden (z.B. mittels Spiegel). Beispielsweise kann ein Objekt für eine Messung auf einen Drehteller platziert werden
-
Bei einer Bewegung von Objekt oder 3D-Sensor muss zu jedem Messzeitpunkt die Position des Objekts bzw. des 3D-Sensors bekannt sein, um die Oberfläche des Objekts korrekt rekonstruieren zu können. In vielen Fällen erfolgt lediglich eine relative Positionsbestimmung durch ein sogenanntes Tracking. Hierbei wird die Positionsänderung (von Sensor und/oder Objekt) aus den aufeinanderfolgenden Aufnahmen des 3D Sensors abgeleitet, wobei der Ursprung des Koordinatensystems im Allgemeinen beliebig angenommen werden kann. Unsicherheiten aus den einzelnen Iterationsschritten führen üblicherweise zu einer Drift.
-
Alternativ oder in Ergänzung zur Bewegung von Sensor oder Objekt bzw. zur Veränderung des optischen Pfades können mehrere Sensoren zum Einsatz kommen. Beim Einsatz mehrerer aktiver (d.h. Licht emittierender) 3D-Sensoren, kann ein Übersprechen zwischen den Sensoren zu fehlerhaften Abbildungen führen. Zusätzlich benötigen die 3D-Sensoren in vielen Fällen ein gemeinsames Koordinatensystem. Die Erfinder haben sich die Aufgabe gestellt, ein im Hinblick auf das erwähnte Übersprechen verbessertes 3D-Messsystem mit mehreren 2,5D-Sensoren zu schaffen.
-
ZUSAMMENFASSUNG
-
Die genannte Aufgabe wird durch das System gemäß den Ansprüchen 1 und 13 sowie das Verfahren gemäß Anspruch 8 gelöst. Unterschiedliche Ausführungsbeispiele und Weiterentwicklungen sind Gegenstand der abhängigen Ansprüche.
-
Es wird ein System zum dreidimensionalen Vermessen eines Objekts beschrieben. Gemäß einem Ausführungsbeispiel umfasst das System zwei oder mehr 3D-Sensoren (bzw. 2,5D-Sensoren) . Die Sensoren weisen jeweils Emitter auf, der dazu ausgebildet ist, zur Beleuchtung des Objekts während eines Messzyklus Licht zu emittieren. Die Sensoren weisen dabei überlappende Messbereiche auf und sind so angeordnet, dass sie das Objekt aus unterschiedlichen Richtungen erfassen. Jeder Sensor weist eine Zeitsteuerung auf, die dazu ausgebildet ist, einen Messzyklus auszulösen, wobei die Zeitsteuerungen der Sensoren so synchronisiert sind, dass die Messzyklen sich nicht überlappen.
-
In einem Ausführungsbeispiel sind weisen die Zeitsteuerungen der Sensoren jeweils eine (z.B. Echtzeit-) Uhr auf, wobei die Uhren der Sensoren synchronisiert werden. Zu diesem Zweck kann das System eine Kommunikationsverbindung aufweisen, welche die Sensoren miteinander verbindet und welche die Synchronisierung der Uhren ermöglicht. In einem Ausführungsbeispiel ist die Kommunikationsverbindung ein Computernetzwerk, an das die Sensoren angeschlossen sind. Die die Synchronisierung der Uhren kann dabei mittels eines Netzwerkprotokolls zur Uhrensynchronisation erfolgen, insbesondere mittels des Precision Time Protocol (PTP). Das System kann weiter einen ein Host-Computer aufweisen, der an das Computernetzwerk angeschlossen ist und der eine Uhr aufweist, die als Referenzuhr für die Synchronisation der Uhren der Zeitsteuerungen der Sensoren dient.
-
Gemäß einem weiteren Ausführungsbeispiel umfasst ein System zum dreidimensionalen Vermessen eines Objekts einen 3D- (oder 2,5D-) Sensor, der relativ zu dem Objekt bewegbar ist und der dazu ausgebildet ist, über eine Kommunikationsverbindung (Positions-) Informationen zu empfangen, aus denen die Position des 3D-Sensor in Bezug auf das Objekt ableitbar ist.
-
Das System kann auch mehrere gleichartige Sensoren aufweisen. Die Relativbewegung zwischen Sensor und Objekt kann z.B. mittels eines Aktors bewirkt werden, der entweder den Sensor oder das Objekt bewegt. Alternativ kann je ein Aktor den Sensor und das Werkstück bewegen. Die Aktoren können von einer eine Bewegungssteuerung gesteuert werden. In einem Ausführungsbeispiel ist die Bewegungssteuerung dazu ausgebildet die erwähnten Information betreffend die Position des Sensors in Bezug auf das Objekt (z.B. die Position von Sensor und/oder Objekt in einem Referenzkoordinatensystem) zu ermitteln und über die Kommunikationsverbindung an den Sensor zu übertragen.
-
In einem Ausführungsbeispiel ist der Sensor dazu ausgebildet, basierend auf den über die Kommunikationsverbindung empfangenen Information Messinformationen zu berechnen, welche die Oberfläche des Objekts (z.B. in Form einer Punktwolke) repräsentieren. Diese Messinformationen kann über die Kommunikationsverbindung übertragen werden (z.B. an einen Host-Computer). Die Berechnung der Messinformationen kann eine Koordinatentransformation beinhalten, die eine vom Sensor erfasste Punktwolke in ein Referenzkoordinatensystem überführt.
-
Es werden auch verschiedene Verfahren zum dreidimensionalen Vermessen eines Objekts beschrieben. Gemäß einem Ausführungsbeispiel umfasst das Verfahren das Aufnehmen von Messdaten mittels zwei oder mehr 3D- (oder 2,5D-) Sensoren in mehreren aufeinander folgenden, sich nicht überlappenden Messzyklen, wobei in jedem Messzyklus jeweils nur einer der Sensoren aktiv ist und Messdaten liefert, die einen Teil der Oberfläche des Objekts repräsentieren. Ein dem aktiven Sensor zugeordneter Emitter beleuchtet diesen Teil der Oberfläche. Das Verfahren umfasst weiter die Berechnung von Messinformationen, die die Oberfläche des Objekts repräsentieren, basierend auf den von den Sensoren gelieferten Messdaten (z.B. Punktwolken) und den Positionen der Sensoren und des Objekts (insbesondere relativ zueinander).
-
Figurenliste
-
Die Erfindung wird nachfolgend anhand von den in den Abbildungen dargestellten Beispielen näher erläutert. Die Darstellungen sind nicht zwangsläufig maßstabsgetreu und die Erfindung beschränkt sich nicht nur auf die dargestellten Aspekte. Vielmehr wird Wert darauf gelegt, die der Erfindung zugrunde liegenden Prinzipien darzustellen. In den Abbildungen zeigt:
- 1 illustriert ein Beispiel einer Messanordnung mit mehreren zeitlich synchronisierten lichtemittierenden 3D-Sensoren.
- 2 illustriert ein Beispiel eines Messsystems mit mehreren 3D-Senoren und Aktoren zur Positionierung bzw. Bewegung des Werkstücks und/oder der Sensoren.
- 3 illustriert ein Beispiel einer Messanordnung mit mehreren 3D-Sensoren und bewegtem Objekt, dessen Bewegung mit dem Betrieb der Sensoren synchronisiert ist.
- 4 illustriert ein Beispiel einer Messanordnung mit mehreren mittels eines Manipulators bewegter 3D-Sensoren und bewegtem Objekt.
- 5 illustriert die Kalibrierung einer Messanordnung mittels eines Referenzobjekts mit bekannten Abmessungen.
- 6 illustriert exemplarisch eine mögliche Implementierung eines 3 D-Sensors mit einem eingebetteten System.
-
DETAILLIERTE BESCHREIBUNG
-
1 illustriert ein Beispiel einer Vorrichtung zur dreidimensionalen Vermessung von Objekten mittels zweier oder mehrerer Licht emittierender 3D-Sensoren. Im vorliegenden Beispiel sind vier Sensoren 21, 22, 23, und 24 um das zu vermessende Objekt herum angeordnet, das im Folgenden als Werkstück 10 bezeichnet wird. Jeder der Sensoren „sieht“ das Werkstück aus einem anderen Blickwinkel. Die von den Sensoren verwendete Messmethode ist für die folgenden Erläuterungen nicht relevant. Bei Werkstücken mit spiegelnden Oberflächen sind z.B. deflektometrische Sensoren einsetzbar. Bei diffus reflektierenden Oberflächen können z.B. Laserlinien-Triangulationssensoren, Stereo-Kameras oder Sensoren mit strukturierter Beleuchtung verwendet werden.
-
Jedem Sensor ist ein Emitter zugeordnet (dieser ist z.B. im Sensor integriert), der dazu ausgebildet ist, das Werkstück 10 zu beleuchten. In dem in 1 dargestellten Beispiel ist die Lichtquelle 210 der Emitter des Sensors 21. Die Sensoren 22-24 können eine gleichartige Lichtquelle aufweisen. Der Typ des Emitters hängt von der verwendeten Messmethode ab und kann z.B. eine Laserdiode mit einer Optik zur Erzeugung einer Laserlinie oder eines Musters sein. Bei der Deflektrometrie können als Emitter Lichtquellen (z.B. LED-Panels) zum Einsatzkommen, bei denen die Intensität der Beleuchtung mittels eines räumlichen Lichtmodulators (SLM, spatial light modulator) oder eines Flüssigkristall-Displays (LCD, liquid crystal display) räumlich moduliert werden kann. Neben dem Emitter weisen die Sensoren 21-24 einen optischen Empfänger auf, der in vielen Fällen eine Kamera ist (was jedoch nicht notwendigerweise der Fall sein muss).
-
Jeder der Sensoren 21, 22, 23, und 24 weist eine Zeitsteuerung (timing controller) auf. In 1 ist die Zeitsteuerung des Sensors 21 exemplarisch mit 210 bezeichnet. Gemäß den hier beschriebenen Ausführungsbeispielen sind die Zeitsteuerungen der Sensoren 21, 22, 23, und 24 synchronisiert, beispielsweise mit der Echtzeituhr eines Host-Computers 40, der mit den Sensoren 21-24 über eine Kommunikationsverbindung 41 verbunden sein kann. Die Kommunikationsverbindung 41 kann z.B. durch ein Computernetzwerk (z.B. Ethernet oder ein drahtloses lokales Netzwerk, WLAN) realisiert werden. Die Synchronisation und die Kommunikation zwischen den einzelnen Komponenten (Sensoren, Host-Computer, etc.) wird im Folgenden genauer erläutert.
-
In 2 illustriert in einem Blockschaltbild ein Beispiel eines Messsystems mit mehreren bei der Messung Licht emittierenden 3D-Sensoren. In dem dargestellten Beispiel sind vier Sensoren 21-24, ein Hosts-Computer 40 und eine Bewegungssteuerung 35 (motion controller) über die Kommunikationsverbindung 41 miteinander verbunden, die z.B. mittels Ethernet realisiert ist. Die Bewegungssteuerung 35 ist optional und wird nur benötigt, falls das Werkstück 10 und/oder einer (oder mehrere) der Sensoren 21-24 mittels Aktoren bewegt werden können. Beispielsweise kann das Werkstück 10 mittels eines Förderbandes 30 oder eines Manipulators 31 bewegt werden. Zusätzlich oder alternativ können ein oder mehrere Sensoren mittels eines Manipulators 31 bewegt/positioniert werden. Als Manipulator kommt z.B. ein Industrieroboter in Betracht.
-
Die Zeitsteuerung der Sensoren kann z.B. mittels Uhren realisiert werden. Das heißt, jeder der Sensoren 21-24 kann eine eigene Uhr aufweisen, beispielsweise eine integrierte Echtzeituhr (real-time clock, RTC), die mit der Uhr des Host-Computers 40 synchronisiert ist. Diese Synchronisation kann über spezielle, an sich bekannte Kommunikationsprotokolle erreicht werden, beispielsweise das Precision Time Protocol (PTP, standardisiert in den Standards IEEE 1588 und IEC 61588). Bei einer Uhrensynchronisierung mittels PTP könnte beispielsweise die Echtzeituhr des Host-Computers 40 als Referenzuhr (die sogenannte Grandmaster Clock) dienen auf die die Uhren der Sensoren 21-24 synchronisiert werden. In diesem Fall wäre der Host-Computer 40 der Zeitserver (Master) und die Sensoren 21-24 die Clients (Slaves). Alternativ kann auch einer der Sensoren 21-24 als Zeitserver fungieren. In diesem Fall wäre der Host-Computer für die Synchronisation der Uhren nicht notwendig. In dem in 2 dargestellten Beispiel sendet der Host-Computer über ein lokales Computer-Netzwerk Zeitinformation TI an die Sensoren 21-24.
-
Mit dem PTP ist eine Uhrensynchronisation mit einer Genauigkeit im Bereich von Nanosekunden möglich, sofern Hardware-Uhren verwendet werden. Auch bei Verwendung von Software-Uhren ist eine Genauigkeit von einigen wenigen Mikrosekunden möglich. Da die Uhren der Sensoren 21-24 hinreichend genau synchron laufen, kann jedem der Sensoren 21-24 eine absolute Zeit für den Beginn eines Messzyklusses zugewiesen werden, wobei die Zeiten so gewählt sind, dass sich die Messzyklen der einzelnen Sensoren nicht überlappen und folglich ein Übersprechen zwischen den Sensoren vermieden wird.
-
Im Ergebnis arbeiten die Sensoren 21-24 gemäß einem Zeit-Multiplex-Schema, in dem jedem Sensor ein Zeitschlitz zugeordnet ist, in dem ausschließlich er aktiv ist und von den anderen Sensoren nicht gestört wird. Auf diese Weise kann sichergestellt werden, dass das von dem Emitter eines Sensors ausgestrahlte Licht nicht auf den Empfänger eines anderen Sensors trifft, während dieser aktiv ist. Die aktiven Zyklen der Sensoren folgen also in sich wechselseitig ausschließender (mutually exclusive) Weise aufeinander, wodurch ein Übersprechen verhindert wird. Da die zeitliche Position der Zeitschlitze, die den einzelnen Sensoren für die Messung zur Verfügung stehen, über die Uhrzeit festgelegt werden, ist allerdings kein Mechanismus zur Triggerung der einzelnen Messzyklen durch eine zentrale Steuerung nötig. Somit kann das System auch mit jitter- und latenzbehafteten Kommunikationskanälen verwendet werden. Jeder Sensor hat seine eigene Uhr, und somit können die Sensoren autonom und unabhängig voneinander Messungen durchführen. Lediglich die Uhren müssen über einen Synchronisationsmechanismus, wie er beispielsweise durch das PTP zur Verfügung gestellt wird, synchron gehalten werden. Die Uhrensynchronisation erfolgt jedoch unabhängig vom Messbetrieb.
-
Optische 3D-Sensoren messen in der Regel die Relativposition von Punkten auf der Oberfläche des Werkstücks 10 (relativ zu einer Referenzposition, z.B. die Position des jeweiligen Sensors). Als Messergebnis erhält man z.B. eine Punktwolke (point cloud), also eine Menge von Punkten in einem (Referenz-) Koordinatensystem. Aus der Punktwolke lässt sich mittels bekannter Methoden die Oberfläche des Werkstücks rekonstruieren (Oberflächenrekonstruktion). Dies ist problemlos möglich, solange sich das Werkstück 10 nicht relativ zu der Referenzposition bewegt. Wenn sich das Werkstück allerdings bewegt, muss die Bewegung bei der Ermittlung der Punktewolke berücksichtigt werden.
-
Das Referenzkoordinatensystem kann ein Koordinatensystem sein, in dem das Werkstück ruht. Bei ruhendem Werkstück und bei ruhenden Sensoren ist die Wahl des Referenzkoordinatensystem in der Regel kein Problem, weil sich weder die Position des Werkstücks, noch die Position der Sensoren ändert. Die von einem Sensor unmittelbar berechnete Punktwolke (d.h. die Koordinaten der Punkte der Punktwolke) kann mittels einer einfachen unveränderlichen Koordinatentransformation in das Referenzkoordinatensystem transformiert werden. Wenn das Werkstück und/oder die Sensoren sich bewegen, verändert sich die relative Lage zwischen Werkstück und Sensoren, und die Koordinatentransformation für die Transformation einer von einem Sensor ermittelten Punktwolke in das Referenzkoordinatensystem ist in diesen Fällen ebenfalls variabel. Für die Berechnung der Koordinaten der Punkte einer Punktwolke wird die Position des betreffenden Sensors, der die Punktwolke gemessen hat, sowie die Position des Werkstücks in dem Referenzkoordinatensystem nötig. In dem in 2 dargestelltem Beispiel ist eine Bewegungssteuerung 35 über die Kommunikationsverbindung 41 (z.B. lokales Netzwerk) mit den Sensoren 21-24 verbunden. Die Bewegungssteuerung kann z.B. eine Robotersteuerung sein, beispielsweise in Anwendungen, bei denen die Sensoren und/oder das Werkstück von einem oder von mehreren Manipulatoren 31 bewegt werden. In diesem Fall verfügt die Bewegungssteuerung über die Information über die Position der bewegten Komponenten (Sensoren und/oder Werkstück) und kann diese Positionsinformationen PI über die Kommunikationsverbindung 41 an die Sensoren 21-24 und/oder den Host-Computer 40 übertragen. In Anwendungen, in denen das Werkstück mittels eines Förderbandes 30 (conveyor) bewegt wird kann die Bewegungssteuerung 35 auch die Steuerung des Förderbandes 30 beinhalten. Üblicherweise sind einem Förderband 30 ein oder mehrere Sensoren zugeordnet, welche Informationen über die Position des Werkstücks am Förderband relativ zu einer Ausgangsposition erhalten.
-
Wie erwähnt überträgt die Bewegungssteuerung 35 Positionsinformation PI an die Sensoren 21-24, sodass diese jeweils ihre eigene Lage relativ zu dem Werkstück „kennen“ und basierend darauf die erwähnte Koordinatentransformation der gemessenen Koordinaten der Punkte einer Punktwolke in das Referenzkoordinatensystem durchführen können. In dem dargestellten Ausführungsbeispiel können die Sensoren 21-24 die ins Referenzkoordinatensystem transformierten Punktwolken als Messinformation MI1, MI2, MI3 und MI4 an den Host-Computer übertragen. Alternativ können die Sensoren auch die gemessenen Rohdaten an den Host-Computer 40 übertragen, und der Host-Computer 40 führt die Koordinatentransformation durch (basierend auf den von der Bewegungssteuerung 35 empfangenen Positionsinformationen PI). Wenn allerdings wie beschrieben die Koordinatentransformationen in den Sensoren 21-24 durchgeführt wird, kann das Messsystem sehr einfach skaliert werden. Es können praktisch beliebig viele Sensoren 21-24 mit dem lokalen Netzwerk verbunden werden; alle angeschlossenen Sensoren übertragen gemessenen Punktkoordinaten im Referenzkoordinatensystem an den Host-Computer 40 und dieser muss sich nicht darum kümmern, von welchen Sensor die einzelnen Koordinaten oder Punktwolken gemessen wurden. Es können auch (je nach Implementierung auch während des Betriebes) Sensoren zu dem System hinzugefügt werden.
-
Das Beispiel 3 betrifft jene Anwendung, in der das Werkstück mittels eines Förderbandes 30 oder einer anderen beweglichen Auflage bewegt wird. In dem dargestellten Beispiel wird das Werkstück von einem Förderband 30 entlang der durch den Pfeil angedeuteten Richtung (z.B. linear) bewegt. Die Beförderung von Werkstücken auf einem Förderband kommt z.B. in der automatisierten Fertigung häufig zum Einsatz. Die 3D-Sensoren 21-24 sind in dem Beispiel aus 3 stationär. In dem in 4 dargestellten Beispiel weist das Messsystem zwei Sensoren 21 und 22 auf, wobei der Sensor 21 mittels eines Manipulators 31 bewegt wird. Das heißt, die (variable) Position des Sensors ist durch die Position (inkludiert die Orientierung) des TCPs (Tool-Center-Point) des Manipulators 31 festgelegt. Der Sensor 22 ist stationär, wohingegen das Werkstück 10 wie in dem Beispiel aus 3 mittels eines Förderbandes 31 bewegt wird.
-
Ob nun ein oder mehrere Sensoren oder das Werkstück bewegt wird, ist unwichtig; relevant ist die Relativposition des Werkstücks relativ zu einem Sensor zum während der Messung. „Während der Messung“ bedeutet im Falle von kamerabasieren Empfängern in den Sensoren „während der Belichtungszeit“ der Kamera. Die Position des TCPs (und damit des Sensors 21 in dem Beispiel aus 4) ist in der Regel der Robotersteuerung bekannt, die z.B. in der Bewegungssteuerung 35 (vgl. 2) enthalten sein kann. Die Position des Werkstücks oder deren Veränderung kann z.B. mittels eines Sensors (z.B. Drehgeber, rotary encoder) am Antrieb des Förderbandes ermittelt werden. Wie erwähnt können die Sensoren selbst oder der Host-Computer 40 unter Berücksichtigung der Information PI betreffend die Positionen der Sensoren 21-24 und die Position des Werkstücks 10 (in dem Referenzkoordinatensystem) die von den Sensoren 21-24 ermittelnden Punktwolken in das Referenzkoordinatensystem transformieren, in dem die gemessenen Punkte aller Sensoren zu einer Punktwolke zusammengeführt werden.
-
Mittels eines Referenzkörpers (Referenzwerkstück) mit bekannten Abmessungen und definierter Position kann die hier beschriebene Messanordnung kalibriert werden (vgl. 5). Dazu wird ein Referenzwerkstück 10 mit einer noch nicht kalibrierten Messanordnung vermessen und die von den Sensoren ermittelten Abstände werden dazu verwendet, die Position der 3D-Sensoren in dem Referenzkoordinatensystem zu ermitteln. Diese Sensorpositionen werden dann bei späteren Messungen dazu verwendet, die von den jeweiligen Sensoren ermittelten Messwerte in Punktkoordinaten im Referenzkoordinatensystem umzurechnen. Diese Punktkoordinaten bilden die erwähnte Punktwolke. Zur Ermittlung der Förderrichtung kann die Differenz der Positionen in Bezug auf den Referenzkörper von mindestens zwei unterschiedlichen Förderpositionen ermittelt werden. Kann der Referenzkörper in welcher Art auch immer in bekannten Bezug zur Förderrichtung gebracht werden, so kann die Förderrichtung bei einer entsprechenden Ausprägung des Referenzkörpers auch aus einer einzelnen Messung ermittelt werden. Des Weiteren kann der Referenzkörper mit Hilfe bestimmter Manipulatoren wie z.B. Industrierobotern eingemessen werden, um so einen Bezug zum Referenzköper herzustellen.
-
Fig., 6 zeigt ein Blockschaltbild einer exemplarischen Implementierung eines 3D-Sensors wie er z.B. in den Systemen gemäß 1 bis 5 verwendet werden kann (siehe z.B. 1, 3D-Sensoren 21-24). Gemäß 6 weist der 3D-Sensor einen Sensorkopf 201 mit Lichtquelle 210 (siehe auch 1) und Empfänger 220 (z.B. ein CMOS-Sensorchip) auf. Die Steuerung des Sensorkopfes 201 wird mittels eines Embedded System 200 (Eingebettetes System) bewerkstelligt.
-
Das Embedded System ist ein in den 3D-Sensor eingebettetes Computersystem (Hardware und Software), das einerseits verschiedene Steuerfunktionen für den Sensorkopf 200 übernimmt und andererseits die Kommunikation mit dem Host-Computer 40. Zu diesem Zweck kann das Embedded System 200 eine Kommunikationsschnittstelle 42 zur Kommunikationsverbindung 41 (siehe 2) aufweisen. Im dargestellten Bespiel ist die Kommunikationsschnittstelle 42 eine Ethernet-Schnittstelle zum Anschluss an ein lokales Netzwerk.
-
Die in 6 dargestellten Funktionsblöcke 202, 204, 211 und 205 können mit Hilfe von Software implementiert werden, die auf einem Prozessor ausgeführt werden, sie können jedoch auch teilweise in Hardware realisiert sein. Insbesondere kann die EchtzeitUhr 204 als separate Hardware-Uhr (z.B. ein Taktgeber mit einem Quartz-Oszillator) ausgebildet sein. Der Funktionsblock 202 ist dazu ausgebildet die Echtzeituhr 204 über die Kommunikationsverbindung 41 (siehe 2) mit einer Referenzuhr zu synchronisieren. Der Synchronisationsmechanismus (z.B. das Precision Time Protocol, PTP) wurde bereits weiter oben unter Bezugnahme auf 2 besprochen und es wird auf die obigen Erläuterungen verwiesen.
-
Die Zeitsteuerung 211 triggert die Lichtquelle 210 und die Bilderfassung mittels des optischen Empfängers 220 (z.B. CMOS-Chip) allein basierend auf der aktuellen Uhrzeit der lokalen Echtzeituhr 204. Es erfolgt keine direkte Synchronisation der Zeitsteuerungen und der 3D-Sensorköpfe der verschiedenen 3D-Sensoren. Synchronisiert werden lediglich die Echtzeituhren.
-
Der Funktionsblock 205 erledigt die Koordinatentransformation der vom Sensorkopf 201 gemessenen Koordinaten der Punkte einer Punktwolke in ein Referenzkoordinatensystem. Dazu werden über die Kommunikationsverbindung 41 und die Kommunikationsschnittstelle 42 wie weiter oben bereits erläutert Positionsinformationen PI empfangen, welche die Position des 3D-Sensors relativ zum Werkstück repräsentiert. Basierend auf diesen Positionsinformationen kann die erwähnte Koordinatentransformation mittels an sich bekannten Methoden durchgeführt werden. Als Messergebnis erhält man eine transformierte Punktewolke im Referenzkoordinatensystem (Messinformation MI1-MI4). Diese Messinformation kann dann über die Kommunikationsverbindung 41 an den Host-Computer 40 (siehe 2) übertragen werden. Dieser erhält die Messpunkte bereits im vordefinierten Referenzkoordinatensystem und die Software am Host-Computer 40 muss sich weder um die Lage der 3D-Sensoren relativ zum Werkstück kümmern noch spielt es eine Rolle, von welchem Sensor eine bestimmte Punktewolke ermittelt wurde. Das Gesamtsystem kann beliebig um einen oder mehrere 3D-Sensoren erweitert werden, ohne dass eine Anpassungen bei der Software des Host-Computers 40 vornehmen zu müssen, welche die gemessenen Punkte aller 3D-Sensoren zu einer „großen“ Punktwolke zusammenführt.