-
Die Erfindung betrifft ein Verfahren mit den Merkmalen des Oberbegriffs des Anspruches 1.
-
In der
DE 10 2009 015 922 A1 ist ein Verfahren dieser Art beschrieben, bei welchem eine Szene mit mehreren Scans erfasst wird. Hierzu wird der Laserscanner nach einem Scan an einen neuen Standort gebracht, um einen weiteren Scan zu erzeugen. Die erzeugten Scans werden mit ihren Messpunkten in einem gemeinsamen Koordinatensystem registriert, wobei die Gesamtheit der Messpunkte eine dreidimensionale Punktwolke bildet.
-
Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren der eingangs genannten Art zu verbessern. Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Anspruches 1 gelöst. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche.
-
Mittels des bekannten Verfahrens zur Registrierung mehrerer Scans einer Szene sollte die Registrierung, die auf der paarweisen Prüfung zweier Scans basiert, theoretisch eindeutig sein und daher vollständig automatisch erfolgen. In der Praxis werden aber aus Gründen der Performance nicht alle Scans paarweise geprüft, sondern nur innerhalb einer Nachbarschaft, welche sich beispielsweise aus der Historie der Erfassung der Szene ergibt. Daher können Unterbrechungen bei der Registrierung auftreten.
-
Erfindungsgemäß wird zunächst wenigstens ein Cluster aus wenigstens einem Scan erzeugt, dem weitere Scans hinzugefügt werden solange bestimmte Qualitätskriterien erfüllt werden. Andernfalls wird ein neuer Cluster erzeugt. Ist nach der automatischen Bildung der Cluster (auto clustering) mehr als ein Cluster vorhanden, sind die Cluster zusammenzufügen. Hierfür sind Cluster und/oder Scans paarweise auszuwählen und testweise zu registrieren. Zur Unterstützung können Daten einer Standortverfolgungs-Vorrichtung verwendet werden, welche die Bewegung des Laserscanners zwischen den Standorten innerhalb der Szene verfolgt.
-
Bei einer nachträglichen Registrierung (post registration) können diese Daten der Standortverfolgungs-Vorrichtung bei der Auswahl der Paare von Scans helfen, bei einer Vorort-Registrierung (onsite registration) kann sich aus der Auswertung der Daten die Anforderung des nächsten (oder eines zusätzlichen) Scans auslösen. In allen Fällen können Bestätigungen des Benutzers nach dem (vorgeschlagenen) Zusammenfügen von Clustern eingeholt werden.
-
Im Folgenden ist die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels mit Abwandlungen näher erläutert. Es zeigen
-
1 ein schematisiertes Flussdiagramm der automatischen Erzeugung der Cluster,
-
2 eine schematisierte Darstellung von Clustern,
-
3 ein schematisiertes Flussdiagramm des Zusammenfügens der Cluster unter Verwendung von Daten einer Standortverfolgungs-Vorrichtung,
-
4 ein schematisiertes Flussdiagramm des Zusammenfügens der Cluster mit Erzeugung weiteren Scans in Abhängigkeit von Daten einer Standortverfolgungs-Vorrichtung,
-
5 eine schematische, teilweise geschnittene Darstellung eines Laserscanners im Betrieb, und
-
6 eine perspektivische Ansicht eines Laserscanners.
-
Die vorliegende Erfindung betrifft eine 3D-Koordinaten-Mess-Vorrichtung, die einen Lichtstrahl auf ein Objekt O lenkt, welches entweder ein (kooperatives) Target, beispielsweise ein Rückstrahler, oder ein nicht-kooperatives Target, beispielsweise eine diffus streuende Oberfläche des Objekts O, sein kann. Ein Entfernungsmesser im Gerät misst eine Entfernung zum Objekt O, und Drehwinkelgeber messen die Drehwinkel zweier Achsen im Gerät. Die gemessene Entfernung und die zwei Winkel ermöglichen einem Prozessor im Gerät, die 3D-Koordinaten des Objekts O zu bestimmen. Vorliegend wird derartige Vorrichtung der Fall eines Laserscanners 10 behandelt, aber die Erweiterung zu einem Lasertracker oder zu einer Gesamtstation liegt für den Fachmann auf der Hand.
-
Laserscanner werden typischerweise dazu verwendet, geschlossene oder offene Räume, wie zum Beispiel Gebäudeinnenflächen, Industrieanlagen und Tunnels zu erfassen. Laserscanner werden für viele Zwecke, einschließlich Building Information Modeling (BIM), Industrieanalysen, Unfallrekonstruktionsanwendungen, archäologische Studien und forensische Untersuchungen eingesetzt. Ein Laserscanner kann eingesetzt werden, um Objekte in der Umgebung des Laserscanners durch die Erfassung von Datenpunkten, die Objekte innerhalb der Umgebung darstellen, optisch zu erfassen und zu vermessen. Solche Datenpunkte erhält man, indem ein Lichtstrahl auf die Objekte gelenkt und das reflektierte oder gestreute Licht gesammelt wird, um die Entfernung, zwei Winkel (d.h. einen Azimutwinkel und einen Zenitwinkel), und optional einen Grautonwert zu ermitteln. Diese Roh-Scandaten werden gesammelt, gespeichert und an einen oder mehrere Rechner gesendet, um ein dreidimensionales Bild zu erzeugen, das den erfassten Bereich oder das erfasste Objekt darstellt. Zur Erzeugung des Bildes werden mindestens drei Werte für jeden Datenpunkt gesammelt. Diese drei Werte können die Entfernung und zwei Winkel umfassen, oder können umgewandelte Werte wie zum Beispiel x, y, z-Koordinaten sein.
-
Die Zeichnung zeigt einen Laserscanner 10 zum optischen Abtasten und Vermessen der Umgebung des Laserscanners 10. Der Laserscanner 10 weist einen Messkopf 12 und einen Fuß 14 auf. Der Messkopf 12 ist so auf dem Fuß 14 montiert, dass der Messkopf 12 um eine erste Achse 12a relativ zum Fuß 14 drehbar ist, angetrieben von einem ersten Drehantrieb. Die Drehung um die erste Achse 12a kann um die Mitte des Fußes 14 erfolgen. Der Messkopf 12 weist einen Spiegel 16 auf, welcher sich um eine zweite Achse 16a drehen kann, angetrieben von einem zweiten Drehantrieb. Bezogen auf eine normale, aufrechte Position des Laserscanners 10, kann die erste Achse 12a als Vertikalachse oder Azimutachse bezeichnet werden, und die zweite Achse 16a kann als Horizontalachse oder Zenitachse bezeichnet werden. Der Laserscanner 10 kann einen Kardan-Punkt oder Zentrum C10 aufweist, welcher der Schnittpunkt der ersten Achse 12a und der zweiten Achse 16a ist.
-
Der Messkopf 12 weist ferner einen Sender für elektromagnetische Strahlung, beispielsweise einen Lichtsender 17 auf, der einen Sendelichtstrahl 18 aussendet. In der bevorzugten Ausführungsform ist der Sendelichtstrahl 18 ein kohärentes Licht wie zum Beispiel ein Laserstrahl. Der Laserstrahl kann eine Wellenlänge im Bereich von ca. 300 bis 1600 nm, beispielsweise 790 nm, 905 nm, 1550 nm, oder weniger als 400 nm aufweisen. Prinzipiell sind aber auch andere elektromagnetische Wellen mit größerer oder kleinerer Wellenlänge verwendbar. Der Sendelichtstrahl 18 kann amplitudenmoduliert oder intensitätsmoduliert sein, beispielweise mit einer sinusförmigen oder rechteckförmigen Wellenform. Alternativ hierzu kann der Sendelichtstrahl 18 auch anderweitig moduliert sein, beispielsweise durch ein Chirpsignal, oder es können kohärente Empfangsmethoden verwendet werden. Der Sendelichtstrahl 18 wird vom Lichtsender 17 auf den Spiegel 16 gegeben, dort umgelenkt und in die Umgebung des Laserscanners 10 ausgesandt.
-
Ein reflektierter Lichtstrahl, nachfolgend als Empfangslichtstrahl 20 bezeichnet, wird von einem Objekt O in der Umgebung reflektiert. Das reflektierte oder gestreute Licht wird vom Spiegel 16 eingefangen und auf einen Lichtempfänger 24 mit einer Empfangsoptik umgelenkt. Die Richtungen des Sendelichtstrahls 18 und des Empfangslichtstrahls 20 ergeben sich aus den Winkelstellungen des Messkopfes 12 und des Spiegels 16 um die Achse 12a bzw. 16a. Diese Winkelstellungen hängen wiederum von ihren jeweiligen Drehantrieben ab. Der Drehwinkel um die erste Achse 12a wird durch einen ersten Drehwinkelgeber erfasst. Der Drehwinkel um die zweite Achse 16a wird durch einen zweiten Drehwinkelgeber erfasst.
-
Eine Steuer- und Auswertevorrichtung 22 steht mit dem Lichtsender 17 und dem Lichtempfänger 21 im Messkopf 12 in Datenverbindung, wobei Teile der Steuer- und Auswertevorrichtung 22 auch außerhalb des Messkopfes 12 angeordnet sein können, beispielsweise als ein am Fuß 14 angeschlossener Computer. Die Steuer- und Auswertevorrichtung 22 ist dazu ausgebildet, für eine Vielzahl von Messpunkten X eine entsprechende Anzahl von Abständen d zwischen dem Laserscanner 10 und den Messpunkten X auf dem Objekt O zu bestimmen. Der Abstand zu einem bestimmten Messpunkt X wird zumindest teilweise bestimmt durch die Laufgeschwindigkeit des Lichts in der Luft, durch die sich die elektromagnetische Strahlung vom Gerät zum Messpunkt X verbreitet. In der bevorzugten Ausführungsform wird die Phasenverschiebung im modulierten Lichtstrahl 18, 20, der an den Messpunkt X gesendet und von dort empfangen wird, bestimmt und ausgewertet, um eine gemessene Entfernung d zu erhalten.
-
Die Lichtgeschwindigkeit in Luft hängt von den Lufteigenschaften wie zum Beispiel Lufttemperatur, Luftdruck, relative Luftfeuchtigkeit und der Kohlendioxidkonzentration ab. Diese Lufteigenschaften beeinflussen den Brechungsindex der Luft. Die Lichtgeschwindigkeit in Luft entspricht der Lichtgeschwindigkeit im Vakuum geteilt durch den Brechungsindex. Ein Laserscanner der vorliegend beschriebenen Art beruht auf der Lichtlaufzeit in der Luft (der Laufzeit, die das Licht benötigt, um von der Vorrichtung bis zum Objekt und wieder zurück zur Vorrichtung zu gelangen). Eine Methode der Entfernungsmessung auf Grundlage der Lichtlaufzeit (oder der Laufzeit einer anderen elektromagnetischen Strahlungsart) hängt von der Lichtgeschwindigkeit in Luft ab und ist daher leicht von Methoden der Entfernungsmessung mittels Triangulation zu unterscheiden. Bei Methoden auf Grundlage von Triangulation wird Licht von seiner Lichtquelle in eine bestimmte Richtung ausgestrahlt und dann auf einem Kamerapixel in einer bestimmten Richtung aufgefangen. Dadurch, dass die Entfernung zwischen der Kamera und dem Projektor bekannt ist, und dass ein projizierter Winkel mit einem Empfangswinkel abgeglichen wird, ermöglicht die Triangulationsmethode die Bestimmung der Entfernung zum Objekt auf der Grundlage einer bekannten Länge und zweier bekannter Winkel eines Dreiecks. Die Triangulationsmethode hängt daher nicht direkt von der Lichtgeschwindigkeit in Luft ab.
-
Der Messkopf 12 kann eine Anzeigevorrichtung 24 umfassen, die im Laserscanner 10 integriert ist. Zur Anzeigevorrichtung 24 gehört eine Benutzerschnittstelle, die ein grafischer Touchscreen sein kann, wie in der Zeichnung dargestellt. Beispielsweise kann die Anzeigevorrichtung 24 über eine Benutzerschnittstelle verfügen, die es dem Bediener ermöglicht, dem Laserscanner 10 Messinstruktionen zu erteilen, insbesondere die Parameter festzulegen oder den Betrieb des Laserscanners 10 zu starten, und die Anzeigevorrichtung 24 kann auch Messergebnisse anzeigen.
-
In einer Ausführungsform findet das Erfassen der Umgebung um den Laserscanner 10 mittels einer schnellen Drehung des Spiegels 16 um die zweite Achse 16a statt, während sich der Messkopf 12 langsam um die erste Achse 12a dreht, wobei sich die Baugruppe spiralförmig bewegt. In einer beispielhaften Ausführung dreht sich der Rotorspiegel mit einer Höchstgeschwindigkeit von 5820 Umdrehungen pro Minute. Ein Scan ist definiert als die Gesamtheit der Messpunkte X einer solchen Messung. Für einen derartigen Scan definiert das Zentrum C10 den Ursprung des lokalen stationären Bezugssystems. In diesem lokalen stationären Bezugssystem ruht der Fuß 14.
-
Zusätzlich zur Distanz d vom Zentrum C10 zu einem Messpunkte X kann der Laserscanner 10 noch einen Graustufenwert in Bezug auf die empfangene optische Leistung erfassen. Der Graustufenwert kann beispielsweise durch Integration des bandpass-gefilterten und verstärkten Signals im Lichtempfänger 21 über eine dem Messpunkte X zugeordnete Messperiode bestimmt werden. Optional können mittels einer Farbkamera 25 Farbbilder erzeugt werden. Mittels dieser Farbbilder können den Messpunkten X noch Farben (R, G, B) als zusätzliche Werte zugeordnet werden.
-
Um eine Szene aus verschiedenen Richtungen oder einen ausgedehnten Raum erfassen zu können, werden mehrere Scans von unterschiedlichen Standorten (entsprechend einer Menge unterschiedlicher Zentren) aus erzeugt und danach registriert in einem gemeinsamen Koordinatensystem XYZ der Szene. Der Laserscanner 10 hat dafür seinen Standort zu wechseln, womit dann jeweils das Zentrum C10 des Laserscanners 10 innerhalb des gemeinsamen Koordinatensystems XYZ bewegt wird zu einem neuem Zentrum aus besagter Menge.
-
Um die Scans zu registrieren, können punktbasierte Verfahren oder Verfahren mit Targets verwendet werden. Beide Verfahren verwenden Daten in überlappenden Bereichen der Scans. Beispielhaft soll im vorliegenden Ausführungsbeispiel mittels Targets registriert werden. Die Targets werden in den überlappenden Bereichen der Scans lokalisiert und identifiziert. Als Targets eignen sich sowohl "natürliche" Targets, d.h. bestimmte Formationen des Objekts O, als auch "künstliche" Targets, d.h. speziell für den Scanvorgang am Objekt O oder in der Umgebung angebrachte Targets, beispielsweise Schachbrettmuster. Vorzugsweise wird, wie es in der
DE 10 2009 015 922 A1 beschrieben ist, für jedes Target die Geometrie ermittelt, in welche es eingebettet ist und welche mittels der benachbarten Targets definiert ist. Die einbettenden Geometrien können dann miteinander verglichen werden, um zunächst Korrespondenzpaare der Targets und dann automatisch die bestmögliche Zuordnung der beiden Scans zu finden. Wenn alle Scans im gemeinsamen Koordinatensystem XYZ der Szene registriert sind, bildet die Gesamtheit aller Messpunkte X aller Scans eine dreidimensionale Punktwolke 3DP.
-
Normalerweise ist es möglich, mittels der Targets (oder der Daten für die punktbasierten Verfahren) alle Scans zu registrieren, sogar ohne zusätzliche Informationen über die Relativpositionen der Zentren der Scans. Zur Verbesserung der Performance kann der Zeitstempel der Scans benutzt werden, um benachbarte Scans schneller zu finden und zu registrieren. Das Ergebnis der Registrierung kann mittels der Anzeigevorrichtung 24 dargestellt werden. Eine Bestätigung des Benutzers ist optional.
-
Es kann aber auch sein, dass Probleme bei der Registrierung auftreten, beispielsweise zu wenige Targets in überlappenden Bereichen der Scans, mehrdeutige einbettende Geometrien oder eine schwierige Topologie. Es kann auch sein, dass die Probleme vorhanden sind, aber nicht sofort erkannt werden, sondern erst vom Benutzer. Vorzugsweise werden daher automatisch Cluster erzeugt, die jeweils aus eindeutig zusammengehörenden Scans bestehen. Für die Definition dieser eindeutigen Zusammengehörigkeit können bestimmte Qualitätskriterien vorgegeben werden, die zu erfüllen sind. Ein solches Qualitätskriterium kann beispielsweise ein Schwellwert für die verbleibenden Abstandsquadrate der Targets nach erfolgter Zuordnung der einbettenden Geometrien sein, wobei das Qualitätskriterium mit steigender Übereinstimmung steigen soll.
-
Erfindungsgemäß weist der Laserscanner 10 eine Standortverfolgungs-Vorrichtung 80 auf, die an die Steuer- und Auswertevorrichtung 22 angeschlossen ist. Die Standortverfolgungs-Vorrichtung 80 ist wenisgtens während des Wechsels zwischen unterschiedlichen Standorten, beispielsweise C(i) und C(j), des Laserscanners 10 aktiv und erkennt diesen Standortwechsel. Insbesondere misst sie die vektorielle Relativposition ΔC eines neuen Standortes C(j) relativ zum vorhergehenden Standort C(i). Es sind verschiedene Hardware-Implempentierungen für die Standortverfolgungs-Vorrichtung 80 möglich.
-
Die Standortverfolgungs-Vorrichtung
80 kann beispielsweise zur Gruppe der Hodometer gehören. Bevorzugt ist dabei, dass der Laserscanner
10 auf einem Trolley montiert ist, wie er beispielsweise in der
DE 10 2010 033 561 B3 beschrieben ist. Der Trolley weist an wenigstens zwei Rädern, vorzugsweise an der gleichen Achse, jeweils einen Encoder auf, welcher den Drehwinkel des zugeordneten Rades misst. Aus den beiden Messdatenreihen kann die zweidimensionale(Relativ-)Bewegung des Laserscanners
10 ermittelt werden. Die Standortverfolgungs-Vorrichtung
80 kann auch einen Altimeter (Höhenmesser) und/oder Inklinometer (Neigungsmesser) aufweisen. In Kombination mit den Messdatenreihen der Encoder oder den sonstigen Hodometer-Daten kann so die dreidimensionale(Relativ-)Bewegung des Laserscanners
10 ermittelt werden. Ferner kann die Standortverfolgungs-Vorrichtung
80 einen Kompass aufweisen, welcher Vergleichsdaten zur Korrektur der Hodometer-Daten liefert oder alternativ den Hodometer ersetzt. Die Standortverfolgungs-Vorrichtung
80 kann beispielsweise ihre Bewegung relativ einer Referenzfläche mittels Ermittlung des optischen Flusses erfassen, so wie es in der
DE 10 2009 035 336 B3 beschrieben ist.
-
Die Standortverfolgungs-Vorrichtung 80 kann beispielsweise als Inertialmesseinheit (Inertial Measurement Unit) ausgebildet sein. Diese misst ihre etwaigen Winkelgeschwindigkeiten und Beschleunigungen in die drei verschiedenen Raumrichtungen, wofür sie drei zueinander orthogonale Gyroskope (Drehratensensoren) und drei zueinander orthogonale Accelerometer (Beschleunigungssensoren) aufweist. Aus den Messdatenreihen kann (durch Integration) die dreidimensionale(Relativ-)Bewegung des Laserscanners 10 ermittelt werden.
-
Die Standortverfolgungs-Vorrichtung 80 kann beispielsweise als GPS-Einheit ausgebildet sein. Soweit ein freier Satellitenempfang besteht, kann die absolute Bewegung des Laserscanners 10 ermittelt werden. In Abwandlungen ist die GPS-Einheit mit einem "Indoor positioning system" und/oder mit Hodometer und/oder Altimeter und/oder Inklinometer kombiniert.
-
Der Laserscanner
10 kann auch auf einem autonom fahrenden Robotor montiert sein, wie es in der
DE 10 2012 109 481 A1 beschrieben ist. Die Standortverfolgungs-Vorrichtung
80, beispielsweise die oben genannte Inertialmesseinheit, kann dann im Laserscanner
10 oder alternativ im Roboter angeordnet sein.
-
In der Regel ist der mögliche Fehler bei der Ermittlung der dreidimensionalen Bewegung des Laserscanners 10 groß, beispielsweise beim Altimeter in der Größenordnung eines Stockwerks. Auch bei einer Inertialmesseinheit kann der Fehler sich in beachtlicher Weise aufsummieren. Daher wird zunächst versucht, die Scans mittels der punktbasierten Verfahren oder der Verfahren mit Targets zu registrieren.
-
In 1 zeigt eine schematisierte Darstellung der Vorgehensweise beim "Auto-Clustering", wie sie beispielsweise mittels einer geeigneten Filtervorrichtung durchgeführt werden kann. Nach einem Startschritt 101 wird in einem Verarbeitungsschritt 102 ein erster Cluster G1 definiert und diesem der erste Scan {X(1)} – als zunächst einziger Scan – zugeordnet (angedeutet mit einem Pfeil). Dieser erste Scan {X(1)} definiert auch das Koordinatensystem des ersten Clusters G1. Für eine nachfolgende Schleife, welche bei jedem Durchlauf einen Cluster Gm bearbeitet, ist daher beim ersten Durchlauf m = 1. Die weiteren Scans {X(i)} beginnen mit i = 2.
-
Es beginnt die besagte Schleife, die eine Verarbeitungsschritt 103 enthält, in welchem ein weiterer Scan {X(i)} im Koordinatensystem des (aktuell bearbeiteten) Cluster Gm testweise registriert wird. Aus Gründen der Performance, insbesondere weil der Cluster Gm sehr viele Targets enthalten kann, wird vorzugsweise aus dem zuletzt erfolgreich registrierten Scan und dem weiteren Scan {X(i)} ein Paar gebildet, das testweise registriert wird. In einem Entscheidungsschritt 104 wird geprüft, ob die testweise Registrierung erfolgreich war, d.h. die Qualitätskriterien für eine Registrierung erfüllt sind. Ist dies der Fall (Y), so wird in einem Verarbeitungsschritt 105 die Registrierung bestätigt, andernfalls (N) wird die testweise Registrierung verworfen.
-
In einem nachfolgenden Entscheidungsschritt 106 wird geprüft, ob noch weitere Scans {X(i)} vorhanden sind, die in dieser Schleife noch nicht testweise registriert wurden ("freie Scans"). Diese Prüfung wird normalerweise anhand eines hochzählenden Schleifenzählers (vorzugsweise die Nummer "i" des Scans) und geeigneter Flags erfolgen. Sind noch solche freien Scans {X(i)} vorhanden (Y), springt die Schleife zurück zum Verarbeitungsschritt 103 mit der testweisen Registrierung. Der Entscheidungsschritt 106 könnte auch am Anfang der Schleife erfolgen. Sind keine freien Scans {X(i)} mehr vorhanden (N), endet das "Auto-Clustering" mit einem Endschritt 107.
-
Wird die testweise Registrierung nach dem Entscheidungsschritt 104 verworfen, so wird in einem Verarbeitungsschritt 108 ein neuer Cluster Gm (mit m = m + 1) definiert und der zuletzt vergeblich testweise registrierte Scan {X(i)} diesem neuen Cluster Gm zugeordnet. Dieser letztgenannte Scan {X(i)} definiert das Koordinatensystem des neuen Clusters Gm. Das Verfahren wird dann mit dem Verarbeitungsschritt 103 der testweisen Registrierung fortgesetzt.
-
In einer Abwandlung hierzu wird bei einer erfolglosen testweisen Registrierung nicht sofort ein neuer Cluster begonnen, sondern für den aktuell bearbeiteten Cluster Gm noch eine bestimmte Anzahl der nächsten freien Scans{X(i)} getestet. Es ist in Hinblick auf die Performance sinnvoll, die Anzahl dieser noch zu testenden Scans zu beschränken, indem eine Schranke definiert wird, beispielsweise anhand des Zeitstempels oder der fortlaufenden Nummer der Scans, also eine räumliche und/oder zeitliche Schranke, so dass nur versucht wird, zeitlich (und damit in der Regel auch räumlich) benachbarte Scans testweise zu registrieren. Dies reduziert die Komplexität der Registrierung.
-
Alternativ zu dem beschriebenen, seriellen Verfahren können in einem eher parallelen Verfahren (entsprechend dem Kristallwachstum) die Scans {X(i)} paarweise auf eine testweise Registrierung geprüft werden. Aus den zusammengehörenden Paaren wird jeweils ein Cluster Gm gebildet (als Kristallisationskeim). Aus den Clustern Gm oder vorzugsweise aus einzelnen Scans aus den Clustern Gm einerseits und den freien Scans {X(i)} andererseits entstehen neue Paare, die wieder auf eine testweise Registrierung geprüft werden, bis schließlich keine weitere Registrierung erfolgreich ist.
-
Im Falle eines Gebäudes bestehen die Clusters Gm oft aus benachbarten Scans {X(i)} des gleichen Raumes, des gleichen Stockwerks, des gleichen Gebäudes oder von Innenbereich und Außenbereich.
-
Es bleibt das Problem, die Cluster Gm zusammenzufügen, beispielsweise mittels einer geeigneten Registrierungsvorrichtung. Hierzu werden die Daten der Standortverfolgungs-Vorrichtung 80 genutzt. Das Zusammenfügen der Cluster Gm kann visualisiert werden, beispielsweise um den Fortschritt anzuzeigen. Es gibt verschiedene mögliche Verfahren, die Cluster Gm unter Verwendung der Daten der Standortverfolgungs-Vorrichtung 80 zusammenzufügen. Derartige von der Standortverfolgungs-Vorrichtung 80 gelieferte Daten sind vorzugsweise die Relativpositionen ΔC (oder absoluten Positionen) der Standorte C(i) des Laserscanners 10, welche zugleich die Zentren von bereits erzeugten oder von gedachten (oder angedachten) Scans {X(i)} sind.
-
Um eine solche Relativposition ΔC mit der Größe eines Scans {X(i)} zu vergleichen, wird vorzugsweise der Scan {X(i)} näherungsweise mittels einer charakteristischen Form beschreiben, beispielsweise einem Kreis, einer Kugel, einem Quadrat oder einem Würfel. Ferner wird der charakteristischen Form eine charakteristische Länge L(c) zugeordnet, welche die Größe der charakteristischen Form beschreibt und damit auch die Größe eines Scans {X(i)} beschreiben soll, beispielsweise der Durchmesser des Kreises/der Kugel oder die Kantenlänge des Quadrates/Würfels oder eine Abmessung. Die charakteristische Länge L(c) kann von der Reichweite des Laserscanners 10 und von Eigenschaften der Szene abhängen und sich beispielsweise aus der Standardabweichung der Messpunkte X(i) eines Scans {X(i)} von dessen Zentrum C(i) oder aus einem anderen statistischen Wert ergeben. Die charakteristische Form ist jeweils um einen Standort oder ein Zentrum C(i) des Scans {X(i)} herum angeordnet, und die charakteristische Länge L(c) ist vorzugsweise für alle Scans {X(i)} gleich. Gegebenenfalls wird die charakteristische Länge L(c) während des Verfahrens geändert, beispielsweise wenn sich nicht alle Cluster Gm zusammenfügen lassen. Es steigt die Performance, wenn für Vergleiche mit der Relativposition ΔC anstelle der Scans {X(i)} mit all ihren Messpunkten X(i) zunächst nur die charakteristische Form mit der ihr zugeordneten charakteristischen Länge L(c) verwendet wird.
-
Aus der Idee der charakteristischen Länge L(c) folgt die Schnittmenge Q(ij) zweier bereits erzeugter Scans {X(i)}, {X(j)} oder eines erzeugten Scans {X(i)} mit einem gedachten Scan an einem Standort C(j). Hierzu wird zunächst die Schnittmenge Q(ij) als Überlapp der beiden charakteristischen Formen um die jeweiligen Zentren C(i), C(j) herum definiert. Die Größe der Schnittmenge Q(ij) bezieht sich vorzugsweise auf die Anzahl der in der Schnittmenge Q(ij) enthaltenen Messpunkte X(i), X(j) und/oder Targets, die entsprechend abgezählt werden (in der Variante mit dem gedachten Scan kann nur im erzeugten Scan gezählt werden). Wahlweise bezieht sich die Größe der Schnittmenge Q(ij) aber rein auf den Flächeninhalt der Schnittmenge Q(ij), der sich letztendlich aus der Relativposition ΔC und der charakteristischen Länge L(c) bestimmt. In einer vereinfachten dritten Definition der Größe der Schnittmenge Q(ij) wird die Schnittmenge Q(ij) eindimensional bestimmt, insbesondere als Differenz zwischen der charakteristischen Länge L(c) und dem Betrag der Relativposition ΔC. Es sind weitere Definitionen möglich.
-
Die Schnittmenge Q(ij) kann mit einem vorbestimmten Schwellwert Q(c) verglichen werden, der von der charakteristischen Länge L(c) und gegebenenfalls weiteren statistischen Werten der Scans {X(i)} abhängt. Bei der zweiten Definition mit dem Flächeninhalt kann beispielsweise der Schwellwert Q(c) = L(c)·L(c)/10 sein, bei der dritten Definition mit der eindimensionalen Schnittmenge beispielsweise Q(c) = L(c)/5 sein. Auch heir sind weitere Definitionen uund zusätzliche Abwandlungen möglich.
-
Ein erstes Verfahren ("post registration"), welches zeitlich nach Erzeugung aller Scans {X(i)} erfolgt, ist als Flussdiagramm in 3 dargestellt. Nach einem Startschritt 121 werden in einem Verarbeitungsschritt 122 zwei Cluster und vorzugsweise jeweils ein Scan aus jedem der beiden Cluster ausgewählt, die zusammen ein Paar für eine testweise Registrierung bilden. Genauer gesagt, wird beispielsweise aus einem ersten Cluster Gk ein Scan {X(i)} ausgewählt, in dessen Koordinatensystem ein zweiter Cluster Gl testweise registriert werden soll, wofür wiederum repräsentativ aus diesem zweiten Cluster Gl ein Scan {X(j)} ausgewählt wird, und die beiden Scans {X(i)}, {X(j)} das besagte Paar bilden. Aus den Daten der Standortverfolgungs-Vorrichtung 80 ergibt sich für die beiden Scans {X(i)}, {X(j)} wenigstens die ungefähre Relativposition ΔC, in welcher ihre jeweiligen Zentren C(i), C(j) relativ zueinander stehen.
-
In einem Verarbeitungsschritt 123 wird – wenigstens näherungsweise – das überlappende Gebiet der beiden Scans {X(i)}, {X(j)} ermittelt, also die Schnittmenge Q(ij) der beiden Scans {X(i)}, {X(j)} gebildet und deren Größe nach einer der oben Definitionen bestimmt. In einem Entscheidungsschritt 124 wird geprüft, ob die besagte Schnittmenge Q(ij) ausreichend groß ist gegenüber dem vorbestimmten Schwellwert Q(c). Ist die Schnittmenge Q(ij) nicht ausreichend groß (N), d.h. insbesondere wenn sie den Schwellwert Q(c) unterschreitet, wird die Auswahl des Paares von Scans {X(i)}, {X(j)} verworfen, und das Verfahren springt zurück zum Verarbeitungsschritt 122. Ist jedoch die Schnittmenge Q(ij) ausreichend groß (Y), so wird in einem Verarbeitungsschritt 125 versucht, das Paar – ähnlich wie im Verarbeitungsschritt 103 – testweise zu registrieren und damit die Cluster zusammenzufügen. In einem Entscheidungsschritt 126 wird geprüft, ob ob dieses Zusammenfügen erfolgreich war. Ist dies der Fall (Y), so erfolgt im Verarbeitungsschritt 127 eine Bestätigung der Registrierung (entsprechend dem Verarbeitungsschritt 105). Andernfalls (N) bleiben die zwei Cluster getrennt. In einem weiteren Entscheidungsschritt 128 (der auch an anderer Stelle der Schleife angeordnet sein kann) wird geprüft, ob noch Cluster Gm vorhanden sind, die noch nicht zusammengefügt sind, also noch "frei" sind. Ist dies der Fall (Y), wird die Schleife mit dem Verarbeitungsschritt 122 fortgesetzt. Andernfalls (N) sind alle Cluster Gm zusammengefügt, so dass mit einem Endschritt 129 abgeschlossenen werden kann.
-
Weitere mögliche Verfahren bestehen im Falle einer Vorort-Registrierung ("onsite registration"), also zeitlich zwischen der Erzeugung der Scans {X(i)}.
-
Gemäß einem zweiten Verfahren wird während des Wechsels des Standortes des Laserscanners 10, beginnend mit einem Startschritt 121, wird in einem Verarbeitungsschritt 122 aus den Daten der Standortverfolgungs-Vorrichtung 80, genauer gesagt der ungefähren Relativposition ΔC des aktuellen Standorts C(i+1) zum Zentrum C(i) des zuletzt erzeugten Scans {X(i)}, die Erzeugung eines Scans {X(i)} mit dem Zentrum am aktuellen Standort C(i+1) angedacht. Ausgehend von der besagten Relativposition ΔC und der charakteristischen Länge L(c) wird im Verarbeitungsschritt 123 das überlappende Gebiet zwischen dem zuletzt erzeugten Scan {X(i)} und dem angedachten Scan {X(i+1)} geschätzt, also eine gedachte Schnittmenge Q(i,i+1) zwischen dem zuletzt erzeugten Scan {X(i)} und dem angedachten Scan {X(i+1)} gebildet.
-
In einem Entscheidungsschritt 124 wird geprüft, ob die besagte Schnittmenge Q(i,i+1) ausreichend groß ist gegenüber dem vorbestimmten Schwellwert Q(c). Ist die Schnittmenge Q(i,i+1) ausreichend groß (Y), wird die angedachte Erzeugung verworfen, und das Verfahren springt zurück zum Verarbeitungsschritt 122. Andernfalls (N), d.h. wenn die Schnittmenge Q(i,i+1) nicht so groß erscheint, insbesondere den Schwellwert Q(c) unterschreitet, wird in einem Ausgabeschritt 131 der nächste Scan {X(i+1)} angefordert, worauf der Endschritt 129 folgt. Die Anforderung kann sich an den Benutzer richten. Insbesondere im Falle einer Montage des Laserscanners 10 auf einem autonom fahrenden Roboter kann die Anforderung auch ein Anhalten des Roboters und eine automatische Auslösung des Scanvorgangs bewirken.
-
Das beschriebene Verfahren wird erst wieder nach der Erzeugung dieses nächsten Scan {X(i+1)}, seiner testweiser Registrierung im aktuellen Cluster Gm (Verfahrensschritt 103) und der Bestätigung der Registrierung (Verfahrensschritt 105) erneut durchlaufen. Im Idealfall ist gar kein "Auto-Clustering" notwendig, da alle Scans {X(i)} im gleichen Cluster Gm registriert werden. Sollte die Szene doch in Cluster Gk, Gl zerfallen, so werden diese gemäß dem ersten Verfahren nach der Erzeugung aller Scans {X(i)} zusammengefügt.
-
Gemäß einem dritten Verfahren wird nach der Erzeugung jedes Scans {X(i)} versucht, diesen (testweise) zu registrieren, d.h. dem bisherigen Cluster Gl hinzuzufügen. Vorzugsweise erfolgt die (testweise) Registrierung zwischen zwei Scans, wenn die Farbkamera 25 eingesetzt wird. Optional erlaubt der Laserscanner 10 den nächsten (ordentlichen) Scan {X(i)} erst, wenn eine Registrierung der bisherigen Scans erfolgreich war.
-
Sollte der bisherige Cluster Gl beendet und ein neuer Cluster Gk angefangen werden (müssen), d.h. wenn die testweise Registrierung erfolglos war, wird beim Benutzer wenigstens ein zusätzlicher (außerordentlicher) Scan {X(j)} angefordert, sinnvollerweise in dem zuletzt aufgenommenen Bereich, aus welchem der soeben beendete Cluster Gl und der neu angefangene Cluster Gk (also die erfolglos zusammengefügte Cluster) stammen, und welcher dem Benutzer auch zeitnah angezeigt werden kann. Je später die Anforderung des zusätzlichen Scans {X(j)} erfolgt, desto schwieriger ist es für den Benutzer, den richtigen Bereich mit den erfolglos zusammengefügten Clustern Gl, Gk zu finden.
-
Aus dem zusätzlichen Scan {X(j)} und ausgewählten, vorhandenen Scans {X(i)} des soeben beendeten Clusters Gl werden die Paare gebildet. Wenn der beendete Cluster Gl um den zusätzlichen Scan erfolgreich ergänzt wurde, wird versucht, den beendeten Cluster Gl und den neu angefangenen Cluster Gk zusammenzufügen. Gegebenenfalls erfolgt eine weitere Anforderung eines zusätzlichen Scans.
-
Das zweite Verfahren und das dritte Verfahren können miteinander kombiniert werden, d.h. wenn im zweiten Verfahren die Schnittmenge Q(i,i+1) – wider Erwarten – deutlich zu klein war, kann ein zusätzlicher Scan angefordert werden.
-
Bezugszeichenliste
-
- 10
- Laserscanner
- 12
- Messkopf
- 14
- Fuß
- 16
- Spiegel
- 17
- Lichtsender
- 18
- Sendelichtstrahl
- 20
- Empfangslichtstrahl
- 21
- Lichtempfänger
- 22
- Steuer- und Auswertevorrichtung
- 24
- Anzeigevorrichtung
- 25
- Farbkamera
- 80
- Standortverfolgungs-Vorrichtung
- 101
- Startschritt (Cluster-Bildung)
- 102
- Verarbeitungsschritt (erster Scan erstem Cluster zuordnen)
- 103
- Verarbeitungsschritt (Versuch testweiser Registrierung)
- 104
- Entscheidungsschritt (testweise Registrierung erfolgreich)
- 105
- Verarbeitungsschritt (Bestätigung der Registrierung)
- 106
- Entscheidungsschritt (ungetestete Scans)
- 107
- Endschritt (Cluster-Bildung)
- 107
- Entscheidungsschritt (freie Scans)
- 108
- Verarbeitungsschritt (neuer Cluster)
- 121
- Startschritt (Cluster-Zusammenfügen)
- 122
- Verarbeitungsschritt (Auswahl Cluster, Scans)
- 123
- Verarbeitungsschritt (Ermittlung Schnittmenge)
- 124
- Entscheidungsschritt (Schnittmenge ausreichend)
- 125
- Verarbeitungsschritt (Versuch testweiser Registrierung)
- 126
- Entscheidungsschritt (erfolgreich)
- 127
- Verarbeitungsschritt (Bestätigung der Registrierung)
- 128
- Entscheidungsschritt (freie Cluster)
- 129
- Endschritt (Cluster-Zusammenfügen)
- 3DP
- Punktwolke
- C10
- Zentrum des Laserscanners
- C(i), C(i+1), C(j)
- Standorte des Laserscanners, Zentren der Scans
- ΔC
- Relativposition
- d
- Distanz
- Gl, Gk, Gm
- Cluster
- L(c)
- charakteristische Länge
- O
- Objekt
- Q(ij)
- Schnittmenge (der Scans {X(i)}, {X(j)})
- Q(c)
- Schwellwert (für die Schnittmenge)
- {X(i)}, {X(j)}
- Scan
- X
- Messpunkt
- XYZ
- Koordinatensystem
-
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 102009015922 A1 [0002, 0025]
- DE 102010033561 B3 [0029]
- DE 102009035336 B3 [0029]
- DE 102012109481 A1 [0032]