Produkte:

Montage und Kartierung der Marker-Targets

Auf dieser Unter-Seite ist zusammengestellt, was bezüglich der Beschaffenheit, Montage und Kartierung der Marker-Targets zu berücksichtigen ist, um auf Basis dieser eine präzise Lokalisierung mittels des angebotenen ROS-Nodes durchführen zu können.

Beschaffenheit der Marker-Targets

Die zur Lokalisierung verwendeten Marker-Targets können aus beliebigem Material sein. Sie müssen allerdings eben sein, also muss das Marker-Pattern entweder auf eine ebene Platte aufgedruckt werden oder auf eine Folie, welche dann auf einen eben Untergrund aufgeklebt wird.
Sind die Marker an den vorgesehenen Montageorten von einer direkten Lichtquelle (Sonnenlicht, Beleuchtung) stärker beschienen, sollte ihre Oberfläche eine matte Textur haben um nicht zu spiegeln, was die Erkennung stören könnte.
Die Form der Targets hängt vom verwendeten Marker-Dictionary ab. Bei ARUCO-Markern gibt es hierbei nur quadratische Marker-Formen, bei anderen Marker-Dictionaries, wie dem ebenfalls unterstütze APRIL-Dictionary,  sind auch andere Marker-Formen, wie beispielsweise nicht gleichseitige Rechtecke oder Kreise möglich.
Unabhängig von deren Form, sollten die Marker zumindest groß genug sein um die Daten-Bits (die gedruckten Pixel) des Datacodes im Kamerabild als Mensch gut identifizieren zu können. In diesem Fall sollte es auch für die automatische Detektion hinreichend sein.
Dies ist bei einem Weitwinkel-Objektiv (f = 4 mm bei 1/2.5" Sensordiagonale), mit einem 10 auf 10 cm großen Target, meist für Entfernungen von 10 bis 12 Metern gegeben.
Mit größerer Brennweite des Objektivs oder größerer Kantenlänge des Marker-Targets nimmt auch die mögliche Detektions-Reichweite je proportional zu. Im Falle von ersterem allerdings auf Kosten des Bild-Öffnungswinkels.
Ist nur eine Single-Marker-Lokalisierung möglich, so hat die Größe der Targets allerdings auch einen Einfluss auf die Genauigkeit der bestimmten Pose, da die Kantenlänge der Marker proportional zur Genauigkeit der aus ihr berechneten Winkeln (also invers proportional zu deren Fehler) ist.
Bei der Multi-Marker-Lokalisierung hat die Größe der Targets keinen Einfluss auf die Genauigkeit der bestimmten Pose, da diese bei diesem Verfahren nur aus den Winkeln der Ursprungs-Koordinaten der Marker bestimmt wird. Hier hängt die Genauigkeit von der Disparität, also dem Abstand der Marker ab.
Daher ist aus Sicht der Positions-/Orientierungsgenauigkeit eine ausreichende Abdeckung des relevanten Arbeitsbereichs mit Markern, um eine durchgängige Multi-Marker-Lokalisierung zu gewährleisten, gegenüber der Verwendung größerer Marker vorteilhafter. Da damit zum Einen eine höhere Genauigkeit erreicht werden, kann und dennoch kleinere Targets verwendet werden können, was ästhetisch weniger stört.

Anbringungs-Orte der Marker-Targets

An die Anbringung der für die Lokalisierung verwendeten Marker-Targets bestehen keine besonderen Anforderungen, außer dass diese fest sein muss und die Targets am Anbringungs-Ort ausreichend beleuchtet sein müssen, um die Marker-Pattern im Kamerabild deutlich erkennen zu können.
Für Anwendungen wie die Lokalisierung in Boden-Lagern ist eine Montage an der Hallen-Decke und die Verwendung einer nach oben gerichteten Kamera sinnvoll, damit bei der Navigation immer ausreichend Marker für eine Multi-Marker-Lokalisierung im Bild vorhanden sind.
Bei der Navigation im Außenbereich ist hingegen eine Montage der Marker an den Hallen-Toren oder an  Laternen-Masten und ein Kamera-Setup mit mehreren horizontal ausgerichteten Kameras am AGV sinnvoll.
Für spezielle Anwendungen, wie beispielsweise die hochgenaue Lokalisierung bezüglich eines bestimmten Regals, ist es sinnvoll die Marker direkt an diesem anzubringen, um möglichst wenig fehlerbehaftete Transformationen einfließen zu lassen, und dabei durch Platzierung von Markern in der Mitte und an den Ecken des Regals eine hohe Abdeckung des Bildbereichs der Kamera zu erreichen, was eine hohe Genauigkeit der Triangulation ermöglicht.

Kartierung der Marker-Targets

Der angebotene ROS-Node benötigt zur Bestimmung der eigenen Position, auf Basis von in der Umgebung vorhandenen und erfassten Markern, ein Liste mit deren exakten Koordinaten.

Um diese zu erstellen gibt es drei Möglichkeiten:

•    Mittels Kreuzlinien-Laser und Maßband (für kleine Arbeitsbereiche oder wenn allen Targets in einer Ebene liegen)

•    Mittels einer Totalstation bzw. eines Tachymeters  

•    Mittels eines statischen Laserscanners


Wenn aufgrund der Größe oder Komplexität des Arbeitsbereichs des AGVs die Kartierung mittels Kreuzlinienlaser und Maßband sehr aufwendig würde, ist eines der nach diesem aufgezählten Vermessungsverfahren zu bevorzugen. In diesem Fall muss daher zwischen der Verwendung dieser beiden Vermessungsverfahren/-ansätze abgewogen werden.

Beide dieser Ansätze haben jeweils spezifische Vor- und Nachteile:
Ein Tachymeter bzw. eine Totalstation ist mit Preisen von um die 15k€ (für ein qualitativ gutes Gerät) günstiger als ein statischer Laserscanner. Bei diesem Messpinzip kostet ein (qualitativ gutes) Gerät um die 30-40k€.

Was die Genauigkeit anbelangt, so ist, sollten bereits Vermessungspunkte in der Werkshalle vorhanden sein, bezüglich deren Koordinatensystem die Marker-Positionen kartiert werden sollen, der Ansatz des Aufmaß mittels eines Tachymeters/einer Totalstation genauer.
Soll das Aufmaß bezüglich dem Koordinatensystem einer verwendeten Lidar-Karte erfolgen, so wird durch die Verwendung eines statischen Laserscanners, Pointcloud-Matching der mit diesem erstellten Punktwolke mit der Lidar-Karte und anschließende Transformation dieser Punktwolke, welche die Marker enthält, in das Lidar-Koordinatensystem und Bestimmung der Marker-Positionen in diesem, eine höhere Genauigkeit erreicht.
Dies liegt darin begründet das beim Pointcloud-Matching, gegenüber dem Aufmaß auf Basis einzelner Punkte der Lidar-Karte, hierbei alle Punkte in beiden jeweiligen Punktwolken für das Matching verwendet werden und sich das Positionsrauschen einzelner Punkte herausmittelt.

Hauptunterschied bezüglich der vorliegenden Anwendung ist jedoch, dass bei der Verwendung eines Laserscanners, gegenüber der Messung mittels einer Totalstation/eines Tachymeters, die Ursprungspunkte der Targets nicht während der Messung manuell angepeilt werden müssen, sondern die Bestimmung der Target-Positionen in den aufgenommenen Punktwolken im Post-Processing am PC erfolgt.

Bei der Durchführung der Messung mittels eines statischen Laserscanners, vor Ort, muss nur der Scanner an den jeweiligen Orten aufgestellt und dort je eine Aufnahme gestartet werden. Dadurch ist für das Erstellen von Aufnahmen mittels eines statischen Laserscanners eine deutlich weniger intensive Schulung für die dies durchführende Person notwendig, als für die Durchführung von Messungen mittels eines Tachymeters/einer Totalstation.

Die Erkennung der Marker-Targets in der Punktwolke, im Post-Processing, lässt sich dabei prinzipiell auch über ein Tool automatisieren, so dass die gesamte Prozesskette zur Kartierung der Targets mittels Laserscanner sehr einfach, schnell und dennoch weiterhin präzise durchgeführt werden kann.

Vorteil der Verwendung einer Totalstation/eines Tachymeters ist das bei der Verwendung von dieser/diesem alle Arbeitsschritte durch einen Vermessungstechniker direkt vor Ort ausgeführt werden können.

Kartierung mittels  Totalstation/Tachymeter

Sowohl die Totalstation, als das Tachymeter sind Messinstrumente zur Vermessung von Punktkoordinaten.
Beide Messinstrument-Typen unterscheiden sich dabei darin, dass eine Totalstation in der Lage ist die Entfernung und den Winkel eines Punktes aus Sicht des Messinstruments direkt zu bestimmen, während ein Tachymeter nur in der Lage ist Winkeln zu messen, und Abstände bei bei diesem Messprinzip trianguliert werden müssen.
Eine Vermessung mittels eines Tachymeters ist daher aufwendiger/komplizierter durchzuführen als mit einer Totalstation.

In den am Ende des Vermessungsprozesses allerdings angestrebten Ergebnis-Daten, einer Liste der Koordinaten der vermessenen Punkten im verwendeten Bezugs-Koordinatensystem, unterscheiden sich diese beiden Messprinzipien allerdings nicht.
Da beide Mess-Prinzipien die selbe Form der Ergebnis-Daten liefern, wird im folgenden nur auf die Vermessung mittels Totalstation eingegangen, da diese dabei, aufgrund der einfacheren Durchführung der Messung und da die Preise von Totalstationen mittlerweile nicht mehr stark über denen von reinen Tachymetern liegen, mittlerweile der üblichere Ansatz ist.

Bei der Kartierung von Punkt-Zielen mittels einer Totalstation muss diese selbst zunächst im globalen Koordinatensystem der AGV-Lidar-Karte lokalisiert werden.
Dies kann über bereits bestimmte und markierte Vermessungspunkte in der Werkshalle oder über sonstige Referenzpunkte erfolgen, welche in der Lidar-Karte, als auch in der realen Welt eindeutig einander zugeordnet werden können.
Durch mindestens drei Referenzpunkte im bekannten Koordinatensystem lässt sich dabei die Pose der Totalstation in diesem lokalisieren.
In der Praxis erfolgt dies allerdings immer über eine Überbestimmte Menge an Referenzpunkten um durch Ausgleichsverfahren Fehler in der bestimmten Pose minimieren zu können.

Anschließend können die Positionen der Ursprungspunkte der Marker im Ziel-Koordinatensystem vermessen werden.
Durch die Bestimmung der Koordinaten weiterer Hilfspunkte, welche Aufschluss über die Orientierung der Marker liefern, lässt sich auch die Orientierung der Marker erfassen.
Als Hilfspunkte können dabei insbesondere die weiteren Eckpunkte der Marker verwendet werden. Zur Steigerung der Genauigkeit lassen sich die Richtungsvektoren dieser auch über einen nach ihnen ausgerichteten Kreuzlinienlaser extrapolieren, um durch die Vermessung von weiter auseinander liegenden punkten den Richtungsvektor genauer bestimmen zu können.

Abhängig davon ob bereits manche der Marker-Achsen bezüglich der Gravitationsachse nivelliert und dadurch bereits festgelegt sind, ist ein oder sind zwei Hilfspunkte für die Bestimmung der Orientierung der Marker erforderlich.

Auf Basis dieser Hilfspunkte kann mit dem im übernächsten Abschnitt beschriebenen Tool die Pose der Marker im Quaternionen-Format bestimmt werden.

Eine Nivellierung von Target-Achsen bezüglich der Gravitationsachse, im Zuge von deren Montage, ist dabei, sofern nicht der Ansatz der Extrapolation der Richtungsvektoren verwendet wird, fast immer genauer, als die Erfassung der Orientierung der Marker Achsen über deren Eckpunkte.

Wird ausschließlich eine Multi-Marker-Lokalisierung durchgeführt so muss die Orientierung der Marker nicht bestimmt werden da bei dieser nur die Ursprungspunkte der Marker verwendet werden.

Die beschriebenen Arbeitsschritte können von einem Vermessungstechniker, oder aber auch, nach einer ausreichenden Schulung, von einer sonstigen prinzipiell geeigneten Person durchgeführt werden.

Kartierung mittels statischem Laserscanner

Für die Kartierung der Marker mittels eines statischen Laserscanners wird dieser so platziert, dass alle Marker in dessen Sichtbereich liegen und ein 360x360°-Laserscann aufgenommen.
Ist die Erfassung aller Marker-Targets mit einem einzelnen Scan nicht möglich, so können mehrere Scans aufgenommen werden, welche sich überschneiden und anschließend, im Post-Processing, zu einer Gesamt-Punktwolke gematched werden.
Ein spezieller Handlungsschritt zu Lokalisierung des Scanners in der globalen Lidar-Karte ist dabei beim erstellen der Aufnahmen nicht notwendig, da dies ebenfalls im Post-Processing erfolgen kann.
Außer der Erstellung der Aufnahmen muss keine weitere Tätigkeit vor Ort durchgeführt werden.
Dies macht die Erfassung der Marker-Posen vor Ort sehr einfach, wodurch keine intensive Schulung für die dies durchführende Person notwendig ist.
Das Matching der Punktwolke mit der Karte des statischen Lidars mit der AGV-Lidar Karte, wie auch die Bestimmung der Positionen der Marker-Targets bzw der Hilfspunkte in der Lidar-Punktwolke, erfolgt anschließend im Post-Processing.

Diese Aufgaben können manuell über Standard-Software durchgeführt werden.
Auf längere Sicht ist auch die Automatisierung dieser Aufgaben durch vollautomatisierte Tools geplant.

Ergänzendes ROS-Tool zur Marker List Conversion

Erfolgt die Kartierung der der Marker-Targets mittels einer Totalstation, so muss die, durch vermessene Hilfspunkte erfasste, Orientierung der Marker in Form der vom ROS-Node verwendeten Quaternionen-Repräsentation bestimmt werden.
Diese Berechnung kann von einem Vermessungstechniker händisch durchgeführt werden. Um allerdings den Aufwand zu verringern, stellt die IPSS den Nutzern ihres Localization-ROS-Nodes ein Tool zur Bestimmung der Marker-Orientierungen in Quaternionen-Form bereit, welches diese aus verschiedenen anderen Repräsentationen von dieser, insbesondere auf Basis von Hilfspunkten, berechnet.
Bei diesem Tool handelt es sich ebenfalls um einen ROS-Node,  welcher im Launch-Script eine CSV-Tabelle mit den Marker-Posen, in einer der unterstützten Repräsentationen übergeben bekommt und im selben Verzeichnis eine CSV-Tabelle mit den Marker-Posen im vom ROS-Node unterstützten Quaternionen-Format ablegt.
Dieser ROS-Node hat den Node-Namen "marker_list_conversion". Als Abhängigkeiten benötigt er ausschließlich einen Teil der Dependancies, welche für den Localization-Node ohnehin vorhanden sein müssen.
in der diesem Tool übergebenen CSV-Liste werden in jeder Spalte jeweils die erfassten Daten zu einem Marker wiedergegeben.
Jede Spalte beginnt dabei, unabhängig von der gewählten Repräsentation der Orientierung eines Markers, mit einem Feld mit dessen Marker-Id, gefolgt von drei Feldern mit dessen Ursprungs-Koordinaten. Anschließend folgt ein Feld mit einer Declarations-Variable, welche den Typ der nach ihr folgenden Orientierungs-Repräsentation angibt.
Bei dieser kann es sich einerseits um eine Darstellung durch Euler-Winkel (Yaw-Pitch-Roll) handeln.
Alternativ wird, für den Sonderfall dass eine Achse bezüglich der globalen Z-Achse nivelliert ist, die Repräsentation der Orientierung durch einen alleinigen Yaw-Winkel, einen einzelnen Hilfspunkt (Marker-Eckpunkt) oder zwei Hilfspunkte, welche auf einer der verbleibenden Marker-Achsen liegen, unterstützt.
In diesem Fall folgt auf das Feld der Declarations-Variable ein Feld, welches die der globalen Z-Achse entsprechende Achse angibt, und anschließend das Feld des Yaw-Winkels beziehungsweise die Felder der Koordinaten der entsprechenden Hilfspunkte.

Mehr erfahren

Sie haben eine weitere Frage oder wollen eine Einschätzung darüber erhalten, ob eine Marker-basierte Positionsbestimmung für Ihre Anwendung Sinn macht? 

Kostenlose: